diff options
40 files changed, 801 insertions, 381 deletions
diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index 7e2fe48a6f4f..8d047db0e00c 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -1822,6 +1822,12 @@ githubId = 18535642; name = "Emily"; }; + endocrimes = { + email = "dani@builds.terrible.systems"; + github = "endocrimes"; + githubId = 1330683; + name = "Danielle Lancashire"; + }; ederoyd46 = { email = "matt@ederoyd.co.uk"; github = "ederoyd46"; diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix index 22fd5d7609df..b6c946b99e00 100644 --- a/nixos/modules/module-list.nix +++ b/nixos/modules/module-list.nix @@ -152,12 +152,14 @@ ./programs/tmux.nix ./programs/tsm-client.nix ./programs/udevil.nix + ./programs/usbtop.nix ./programs/venus.nix ./programs/vim.nix ./programs/wavemon.nix ./programs/way-cooler.nix ./programs/waybar.nix ./programs/wireshark.nix + ./programs/x2goserver.nix ./programs/xfs_quota.nix ./programs/xonsh.nix ./programs/xss-lock.nix diff --git a/nixos/modules/programs/usbtop.nix b/nixos/modules/programs/usbtop.nix new file mode 100644 index 000000000000..c1b6ee38caa1 --- /dev/null +++ b/nixos/modules/programs/usbtop.nix @@ -0,0 +1,21 @@ +{ config, pkgs, lib, ... }: + +with lib; + +let + cfg = config.programs.usbtop; +in { + options = { + programs.usbtop.enable = mkEnableOption "usbtop and required kernel module"; + }; + + config = mkIf cfg.enable { + environment.systemPackages = with pkgs; [ + usbtop + ]; + + boot.kernelModules = [ + "usbmon" + ]; + }; +} diff --git a/nixos/modules/programs/x2goserver.nix b/nixos/modules/programs/x2goserver.nix new file mode 100644 index 000000000000..d9e7b6e4a5c0 --- /dev/null +++ b/nixos/modules/programs/x2goserver.nix @@ -0,0 +1,148 @@ +{ config, lib, pkgs, ... }: + +with lib; + +let + cfg = config.programs.x2goserver; + + defaults = { + superenicer = { "enable" = cfg.superenicer.enable; }; + }; + confText = generators.toINI {} (recursiveUpdate defaults cfg.settings); + x2goServerConf = pkgs.writeText "x2goserver.conf" confText; + + x2goAgentOptions = pkgs.writeText "x2goagent.options" '' + X2GO_NXOPTIONS="" + X2GO_NXAGENT_DEFAULT_OPTIONS="${concatStringsSep " " cfg.nxagentDefaultOptions}" + ''; + +in { + options.programs.x2goserver = { + enable = mkEnableOption "x2goserver" // { + description = '' + Enables the x2goserver module. + NOTE: This will create a good amount of symlinks in `/usr/local/bin` + ''; + }; + + superenicer = { + enable = mkEnableOption "superenicer" // { + description = '' + Enables the SupeReNicer code in x2gocleansessions, this will renice + suspended sessions to nice level 19 and renice them to level 0 if the + session becomes marked as running again + ''; + }; + }; + + nxagentDefaultOptions = mkOption { + type = types.listOf types.str; + default = [ "-extension GLX" "-nolisten tcp" ]; + example = [ "-extension GLX" "-nolisten tcp" ]; + description = '' + List of default nx agent options. + ''; + }; + + settings = mkOption { + type = types.attrsOf types.attrs; + default = {}; + description = '' + x2goserver.conf ini configuration as nix attributes. See + `x2goserver.conf(5)` for details + ''; + example = literalExample '' + superenicer = { + "enable" = "yes"; + "idle-nice-level" = 19; + }; + telekinesis = { "enable" = "no"; }; + ''; + }; + }; + + config = mkIf cfg.enable { + + environment.systemPackages = [ pkgs.x2goserver ]; + + users.groups.x2go = {}; + users.users.x2go = { + home = "/var/lib/x2go/db"; + group = "x2go"; + }; + + security.wrappers.x2gosqliteWrapper = { + source = "${pkgs.x2goserver}/lib/x2go/libx2go-server-db-sqlite3-wrapper.pl"; + owner = "x2go"; + group = "x2go"; + setgid = true; + }; + security.wrappers.x2goprintWrapper = { + source = "${pkgs.x2goserver}/bin/x2goprint"; + owner = "x2go"; + group = "x2go"; + setgid = true; + }; + + systemd.tmpfiles.rules = with pkgs; [ + "d /var/lib/x2go/ - x2go x2go - -" + "d /var/lib/x2go/db - x2go x2go - -" + "d /var/lib/x2go/conf - x2go x2go - -" + "d /run/x2go 0755 x2go x2go - -" + ] ++ + # x2goclient sends SSH commands with preset PATH set to + # "/usr/local/bin;/usr/bin;/bin". Since we cannot filter arbitrary ssh + # commands, we have to make the following executables available. + map (f: "L+ /usr/local/bin/${f} - - - - ${x2goserver}/bin/${f}") [ + "x2goagent" "x2gobasepath" "x2gocleansessions" "x2gocmdexitmessage" + "x2godbadmin" "x2gofeature" "x2gofeaturelist" "x2gofm" "x2gogetapps" + "x2gogetservers" "x2golistdesktops" "x2golistmounts" "x2golistsessions" + "x2golistsessions_root" "x2golistshadowsessions" "x2gomountdirs" + "x2gopath" "x2goprint" "x2goresume-desktopsharing" "x2goresume-session" + "x2goruncommand" "x2goserver-run-extensions" "x2gosessionlimit" + "x2gosetkeyboard" "x2goshowblocks" "x2gostartagent" + "x2gosuspend-desktopsharing" "x2gosuspend-session" + "x2goterminate-desktopsharing" "x2goterminate-session" + "x2goumount-session" "x2goversion" + ] ++ [ + "L+ /usr/local/bin/awk - - - - ${gawk}/bin/awk" + "L+ /usr/local/bin/chmod - - - - ${coreutils}/bin/chmod" + "L+ /usr/local/bin/cp - - - - ${coreutils}/bin/cp" + "L+ /usr/local/bin/sed - - - - ${gnused}/bin/sed" + "L+ /usr/local/bin/setsid - - - - ${utillinux}/bin/setsid" + "L+ /usr/local/bin/xrandr - - - - ${xorg.xrandr}/bin/xrandr" + "L+ /usr/local/bin/xmodmap - - - - ${xorg.xmodmap}/bin/xmodmap" + ]; + + systemd.services.x2goserver = { + description = "X2Go Server Daemon"; + wantedBy = [ "multi-user.target" ]; + unitConfig.Documentation = "man:x2goserver.conf(5)"; + serviceConfig = { + Type = "forking"; + ExecStart = "${pkgs.x2goserver}/bin/x2gocleansessions"; + PIDFile = "/run/x2go/x2goserver.pid"; + User = "x2go"; + Group = "x2go"; + RuntimeDirectory = "x2go"; + StateDirectory = "x2go"; + }; + preStart = '' + if [ ! -e /var/lib/x2go/setup_ran ] + then + mkdir -p /var/lib/x2go/conf + cp -r ${pkgs.x2goserver}/etc/x2go/* /var/lib/x2go/conf/ + ln -sf ${x2goServerConf} /var/lib/x2go/conf/x2goserver.conf + ln -sf ${x2goAgentOptions} /var/lib/x2go/conf/x2goagent.options + ${pkgs.x2goserver}/bin/x2godbadmin --createdb + touch /var/lib/x2go/setup_ran + fi + ''; + }; + + # https://bugs.x2go.org/cgi-bin/bugreport.cgi?bug=276 + security.sudo.extraConfig = '' + Defaults env_keep+=QT_GRAPHICSSYSTEM + ''; + }; +} diff --git a/nixos/modules/services/networking/bitcoind.nix b/nixos/modules/services/networking/bitcoind.nix index d3501636b41d..1439d739da9d 100644 --- a/nixos/modules/services/networking/bitcoind.nix +++ b/nixos/modules/services/networking/bitcoind.nix @@ -59,8 +59,8 @@ in { package = mkOption { type = types.package; - default = pkgs.altcoins.bitcoind; - defaultText = "pkgs.altcoins.bitcoind"; + default = pkgs.bitcoind; + defaultText = "pkgs.bitcoind"; description = "The package providing bitcoin binaries."; }; configFile = mkOption { diff --git a/nixos/modules/services/networking/namecoind.nix b/nixos/modules/services/networking/namecoind.nix index a569ca87e262..c8ee0a2f5647 100644 --- a/nixos/modules/services/networking/namecoind.nix +++ b/nixos/modules/services/networking/namecoind.nix @@ -175,7 +175,7 @@ in serviceConfig = { User = "namecoin"; Group = "namecoin"; - ExecStart = "${pkgs.altcoins.namecoind}/bin/namecoind -conf=${configFile} -datadir=${dataDir} -printtoconsole"; + ExecStart = "${pkgs.namecoind}/bin/namecoind -conf=${configFile} -datadir=${dataDir} -printtoconsole"; ExecStop = "${pkgs.coreutils}/bin/kill -KILL $MAINPID"; ExecReload = "${pkgs.coreutils}/bin/kill -HUP $MAINPID"; Nice = "10"; diff --git a/pkgs/applications/misc/yubioath-desktop/default.nix b/pkgs/applications/misc/yubioath-desktop/default.nix index 843bc0c1c234..d7a019c1c416 100644 --- a/pkgs/applications/misc/yubioath-desktop/default.nix +++ b/pkgs/applications/misc/yubioath-desktop/default.nix @@ -44,6 +44,7 @@ mkDerivation rec { cp resources/icons/*.{icns,ico,png,xpm} $out/share/yubioath/icons substituteInPlace $out/share/applications/yubioath-desktop.desktop \ --replace 'Exec=yubioath-desktop' "Exec=$out/bin/yubioath-desktop" \ + --replace 'Icon=yubioath' "Icon=$out/share/yubioath/icons/yubioath.png" ''; meta = with stdenv.lib; { diff --git a/pkgs/applications/networking/flent/default.nix b/pkgs/applications/networking/flent/default.nix index bc0a519a0eee..bbd9a7601acd 100644 --- a/pkgs/applications/networking/flent/default.nix +++ b/pkgs/applications/networking/flent/default.nix @@ -1,30 +1,39 @@ -{ stdenv, buildPythonApplication, fetchFromGitHub, matplotlib, procps, pyqt5 -, sphinx -}: +{ stdenv, buildPythonApplication, fetchPypi, matplotlib, procps, pyqt5, python +, pythonPackages, qt5, sphinx, xvfb_run }: buildPythonApplication rec { pname = "flent"; - version = "1.2.2"; - src = fetchFromGitHub { - owner = "tohojo"; - repo = "flent"; - rev = "v${version}"; - sha256 = "1llcdakk0nk9xlpjjz7mv4a80yq4sjnbqhaqvyj9m6lbcxgssh2r"; + version = "1.3.0"; + src = fetchPypi { + inherit pname version; + sha256 = "099779i0ghjd9ikq77z6m6scnlmk946lw9issrgz8zm7babiw4d7"; }; buildInputs = [ sphinx ]; + nativeBuildInputs = [ qt5.wrapQtAppsHook ]; + propagatedBuildInputs = [ matplotlib procps pyqt5 ]; + checkInputs = [ procps pythonPackages.mock pyqt5 xvfb_run ]; - checkInputs = [ procps ]; + checkPhase = '' + cat >test-runner <<EOF + #!/bin/sh - propagatedBuildInputs = [ - matplotlib - procps - pyqt5 - ]; + ${python.pythonForBuild.interpreter} nix_run_setup test + EOF + chmod +x test-runner + wrapQtApp test-runner --prefix PYTHONPATH : $PYTHONPATH + xvfb-run -s '-screen 0 800x600x24' ./test-runner + ''; + + postInstall = '' + for program in $out/bin/*; do + wrapQtApp $program --prefix PYTHONPATH : $PYTHONPATH + done + ''; meta = with stdenv.lib; { description = "The FLExible Network Tester"; - homepage = https://flent.org; + homepage = "https://flent.org"; license = licenses.gpl3; maintainers = [ maintainers.mmlb ]; diff --git a/pkgs/applications/networking/instant-messengers/discord/default.nix b/pkgs/applications/networking/instant-messengers/discord/default.nix index 189092a6d5e0..1d9d645b0ed5 100644 --- a/pkgs/applications/networking/instant-messengers/discord/default.nix +++ b/pkgs/applications/networking/instant-messengers/discord/default.nix @@ -27,10 +27,10 @@ in { pname = "discord-canary"; binaryName = "DiscordCanary"; desktopName = "Discord Canary"; - version = "0.0.93"; + version = "0.0.95"; src = fetchurl { - url = "https://dl-canary.discordapp.net/apps/linux/0.0.93/discord-canary-0.0.93.tar.gz"; - sha256 = "1jzm5fm7a1p68ims7bv5am0bpbvrhbynzblpj9qrzzrwakdaywbi"; + url = "https://dl-canary.discordapp.net/apps/linux/0.0.95/discord-canary-0.0.95.tar.gz"; + sha256 = "06qhm73kc88pq0lgbi7qjy4gx9ighkmx128fdm1dpzfv62fjdasw"; }; }; }.${branch} diff --git a/pkgs/applications/networking/instant-messengers/mattermost-desktop/default.nix b/pkgs/applications/networking/instant-messengers/mattermost-desktop/default.nix index 6f4e7e5b677b..f5f8414c870c 100644 --- a/pkgs/applications/networking/instant-messengers/mattermost-desktop/default.nix +++ b/pkgs/applications/networking/instant-messengers/mattermost-desktop/default.nix @@ -38,18 +38,18 @@ let in stdenv.mkDerivation rec { pname = "mattermost-desktop"; - version = "4.2.0"; + version = "4.2.3"; src = if stdenv.hostPlatform.system == "x86_64-linux" then fetchurl { url = "https://releases.mattermost.com/desktop/${version}/${pname}-${version}-linux-x64.tar.gz"; - sha256 = "0hka94gwpscjn61032c0grpjv5gjb0j8rkx6pgwci617n29xkyf6"; + sha256 = "14xyn8dp0xxl4j9xdsjik9p6srqdxbirgcgym2sv64p01w3kc9wf"; } else if stdenv.hostPlatform.system == "i686-linux" then fetchurl { url = "https://releases.mattermost.com/desktop/${version}/${pname}-${version}-linux-ia32.tar.gz"; - sha256 = "1nx2sgbnr60h6kn56wv54m7cvyx27d64bfprpb94hqd5c2z21x80"; + sha256 = "063rrxw76mjz71wp9xd3ppkq3s017vrzms879r2cilypmay7fhgs"; } else throw "Mattermost-Desktop is not currently supported on ${stdenv.hostPlatform.system}"; diff --git a/pkgs/applications/networking/remote/x2goserver/default.nix b/pkgs/applications/networking/remote/x2goserver/default.nix new file mode 100644 index 000000000000..f69d2326217d --- /dev/null +++ b/pkgs/applications/networking/remote/x2goserver/default.nix @@ -0,0 +1,93 @@ +{ stdenv, lib, fetchurl, perlPackages, makeWrapper, perl, which, nx-libs +, utillinux, coreutils, glibc, gawk, gnused, gnugrep, findutils, xorg +, nettools, iproute, bc, procps, psmisc, lsof, pwgen, openssh, sshfs, bash +}: + +let + pname = "x2goserver"; + version = "4.1.0.3"; + + src = fetchurl { + url = "http://code.x2go.org/releases/source/x2goserver/${pname}-${version}.tar.gz"; + sha256 = "1l6wd708kbipib4ldprfiihqmj4895nifg0bkws4x97majislxk7"; + }; + + x2go-perl = perlPackages.buildPerlPackage rec { + pname = "X2Go"; + inherit version src; + makeFlags = [ "-f" "Makefile.perl" ]; + patchPhase = '' + substituteInPlace X2Go/Config.pm --replace '/etc/x2go' '/var/lib/x2go/conf' + substituteInPlace X2Go/Server/DB.pm \ + --replace '$x2go_lib_path/libx2go-server-db-sqlite3-wrapper' \ + '/run/wrappers/bin/x2gosqliteWrapper' + substituteInPlace X2Go/Server/DB/SQLite3.pm --replace "user='x2gouser'" "user='x2go'" + ''; + }; + + perlEnv = perl.withPackages (p: with p; [ + x2go-perl DBI DBDSQLite FileBaseDir TryTiny CaptureTiny ConfigSimple Switch + ]); + + binaryDeps = [ + perlEnv which nx-libs utillinux coreutils glibc.bin gawk gnused gnugrep + findutils nettools iproute bc procps psmisc lsof pwgen openssh sshfs + xorg.xauth xorg.xinit xorg.xrandr xorg.xmodmap xorg.xwininfo xorg.fontutil + xorg.xkbcomp xorg.setxkbmap + ]; +in +stdenv.mkDerivation rec { + inherit pname version src; + + buildInputs = [ perlEnv bash ]; + + nativeBuildInputs = [ makeWrapper ]; + + prePatch = '' + patchShebangs . + sed -i '/Makefile.PL\|Makefile.perl/d' Makefile + for i in */Makefile; do + substituteInPlace "$i" --replace "-o root -g root " "" + done + substituteInPlace libx2go-server-db-perl/Makefile --replace "chmod 2755" "chmod 755" + for i in x2goserver/sbin/x2godbadmin x2goserver/bin/x2go* + do + substituteInPlace $i --replace '/etc/x2go' '/var/lib/x2go/conf' + done + substituteInPlace x2goserver/sbin/x2gocleansessions \ + --replace '/var/run/x2goserver.pid' '/var/run/x2go/x2goserver.pid' + substituteInPlace x2goserver/sbin/x2godbadmin --replace 'user="x2gouser"' 'user="x2go"' + substituteInPlace x2goserver-xsession/etc/Xsession \ + --replace "SSH_AGENT /bin/bash -c" "SSH_AGENT ${bash}/bin/bash -c" \ + --replace "[ -f /etc/redhat-release ]" "[ -d /etc/nix ] || [ -f /etc/redhat-release ]" + ''; + + makeFlags = [ "PREFIX=/" "NXLIBDIR=${nx-libs}/lib/nx" ]; + + installFlags = [ "DESTDIR=$(out)" ]; + + postInstall = '' + mv $out/etc/x2go/x2goserver.conf{,.example} + mv $out/etc/x2go/x2goagent.options{,.example} + ln -sf ${nx-libs}/bin/nxagent $out/bin/x2goagent + for i in $out/sbin/x2go* $(find $out/bin -type f) \ + $(ls $out/lib/x2go/x2go* | grep -v x2gocheckport) + do + wrapProgram $i --prefix PATH : ${lib.makeBinPath binaryDeps}:$out + done + # We're patching @INC of the setgid wrapper, because we can't mix + # the perl wrapper (for PERL5LIB) with security.wrappers (for setgid) + sed -ie "s,.\+bin/perl,#!${perl}/bin/perl -I ${perlEnv}/lib/perl5/site_perl," \ + $out/lib/x2go/libx2go-server-db-sqlite3-wrapper.pl + ''; + + enableParallelBuilding = true; + + meta = with stdenv.lib; { + description = "Remote desktop application, server component"; + homepage = "http://x2go.org/"; + platforms = stdenv.lib.platforms.linux; + license = licenses.gpl2; + maintainers = [ maintainers.averelld ]; + }; +} diff --git a/pkgs/applications/science/biology/trimal/default.nix b/pkgs/applications/science/biology/trimal/default.nix new file mode 100755 index 000000000000..d4e8fee7bc36 --- /dev/null +++ b/pkgs/applications/science/biology/trimal/default.nix @@ -0,0 +1,31 @@ +{ stdenv, fetchFromGitHub }: + +stdenv.mkDerivation rec { + pname = "trimal"; + version = "1.4.1"; + + src = fetchFromGitHub { + repo = pname; + owner = "scapella"; + rev = "v${version}"; + sha256 = "0isc7s3514di4z953xq53ncjkbi650sh4q9yyw5aag1n9hqnh7k0"; + }; + + postUnpack = '' + sourceRoot=''${sourceRoot}/source + echo Source root reset to ''${sourceRoot} + ''; + + installPhase = '' + mkdir -p $out/bin + cp -a trimal readal statal $out/bin + ''; + + meta = with stdenv.lib; { + description = "A tool for the automated removal of spurious sequences or poorly aligned regions from a multiple sequence alignment"; + license = licenses.gpl3; + platforms = platforms.linux; + homepage = http://trimal.cgenomics.org; + maintainers = [ maintainers.bzizou ]; + }; +} diff --git a/pkgs/applications/science/math/pari/default.nix b/pkgs/applications/science/math/pari/default.nix index 72827112c50c..89ae354e7c76 100644 --- a/pkgs/applications/science/math/pari/default.nix +++ b/pkgs/applications/science/math/pari/default.nix @@ -1,6 +1,5 @@ { stdenv , fetchurl -, fetchpatch , gmp , readline , libX11 @@ -13,25 +12,13 @@ assert withThread -> libpthreadstubs != null; stdenv.mkDerivation rec { pname = "pari"; - version = "2.11.1"; + version = "2.11.2"; src = fetchurl { url = "https://pari.math.u-bordeaux.fr/pub/pari/unix/${pname}-${version}.tar.gz"; - sha256 = "1jfax92jpydjd02fwl30r6b8kfzqqd6sm4yx94gidyz9lqjb7a94"; + sha256 = "0fck8ssmirl8fy7s4mspgrxjs5sag76xbshqlqzkcl3kqyrk4raa"; }; - patches = [ - # Fix a off-by-one bug that can potentially lead to segfaults (accepted upstream) - # https://pari.math.u-bordeaux.fr/cgi-bin/bugreport.cgi?bug=2117 - # https://trac.sagemath.org/ticket/27335 - (fetchpatch { - name = "fix-off-by-one-error.patch"; - # only relevant parts of https://pari.math.u-bordeaux.fr/cgi-bin/gitweb.cgi?p=pari.git;a=patch;h=aa1ee6e0898d177e6bcf49237d82c804bc410985 - url = "https://git.sagemath.org/sage.git/plain/build/pkgs/pari/patches/red_montgomery.patch?id=bbea55c96e1f05302b3c7f593cf64492497047c5"; - sha256 = "0vqkmhgv9splsdswp6zjnkj50z76rc1m6k9iy3cf9dxwqw3h3nr6"; - }) - ]; - buildInputs = [ gmp readline diff --git a/pkgs/applications/science/misc/colmap/default.nix b/pkgs/applications/science/misc/colmap/default.nix new file mode 100644 index 000000000000..672569ed1002 --- /dev/null +++ b/pkgs/applications/science/misc/colmap/default.nix @@ -0,0 +1,37 @@ +{ mkDerivation, lib, fetchFromGitHub, cmake, boost, ceres-solver, eigen, + freeimage, glog, libGLU, glew, qtbase, + cudaSupport ? false, cudatoolkit ? null }: + +assert !cudaSupport || cudatoolkit != null; + +let boost_static = boost.override { enableStatic = true; }; +in +mkDerivation rec { + version = "3.5"; + pname = "colmap"; + src = fetchFromGitHub { + owner = "colmap"; + repo = "colmap"; + rev = version; + sha256 = "1vnb62p0y2bnga173wmjs0lnyqdjikv0fkcxjzxm8187khk2lly8"; + }; + + buildInputs = [ + boost_static ceres-solver eigen + freeimage glog libGLU glew qtbase + ] ++ lib.optional cudaSupport cudatoolkit; + + nativeBuildInputs = [ cmake ]; + + meta = with lib; { + description = "COLMAP - Structure-From-Motion and Multi-View Stereo pipeline"; + longDescription = '' + COLMAP is a general-purpose Structure-from-Motion (SfM) and Multi-View Stereo (MVS) pipeline + with a graphical and command-line interface. + ''; + homepage = https://colmap.github.io/index.html; + license = licenses.bsd2; + platforms = platforms.linux; + maintainers = with maintainers; [ lebastr ]; + }; +} diff --git a/pkgs/development/compilers/glslang/default.nix b/pkgs/development/compilers/glslang/default.nix index 79ad90e77a6e..161e57b54792 100644 --- a/pkgs/development/compilers/glslang/default.nix +++ b/pkgs/development/compilers/glslang/default.nix @@ -1,16 +1,29 @@ -{ stdenv, fetchFromGitHub, cmake, bison, jq, python, spirv-tools, spirv-headers }: +{ stdenv, fetchFromGitHub +, bison +, cmake +, jq +, python3 +, spirv-headers +, spirv-tools +}: + stdenv.mkDerivation rec { pname = "glslang"; - version = "7.11.3113"; + version = "7.11.3214"; src = fetchFromGitHub { owner = "KhronosGroup"; repo = "glslang"; - rev = "${version}"; - sha256 = "1kzv2b4q1fddxd7c0hc754nd6rw6y9vijb9fsi13xzzq9dficgb6"; + rev = version; + sha256 = "0dqjga0lcza006fhac26zp2plbq4gx8a6nsmrwkqlzji6lw1jins"; + }; + + # These get set at all-packages, keep onto them for child drvs + passthru = { + inherit spirv-tools spirv-headers; }; - nativeBuildInputs = [ cmake python bison jq ]; + nativeBuildInputs = [ cmake python3 bison jq ]; enableParallelBuilding = true; postPatch = '' @@ -18,6 +31,7 @@ stdenv.mkDerivation rec { ln -s "${spirv-headers.src}" External/spirv-tools/external/spirv-headers ''; + # Ensure spirv-headers and spirv-tools match exactly to what is expected preConfigure = '' HEADERS_COMMIT=$(jq -r < known_good.json '.commits|map(select(.name=="spirv-tools/external/spirv-headers"))[0].commit') TOOLS_COMMIT=$(jq -r < known_good.json '.commits|map(select(.name=="spirv-tools"))[0].commit') diff --git a/pkgs/development/libraries/opencv/3.x.nix b/pkgs/development/libraries/opencv/3.x.nix index d7f897ebcf83..d8946dae095b 100644 --- a/pkgs/development/libraries/opencv/3.x.nix +++ b/pkgs/development/libraries/opencv/3.x.nix @@ -14,7 +14,8 @@ , enableOpenblas ? true, openblas , enableContrib ? true -, enableCuda ? config.cudaSupport or false, cudatoolkit +, enableCuda ? (config.cudaSupport or false) && + stdenv.hostPlatform.isx86_64, cudatoolkit , enableUnfree ? false , enableIpp ? false diff --git a/pkgs/development/libraries/opencv/4.x.nix b/pkgs/development/libraries/opencv/4.x.nix index 153737e2761e..aa4c7afa4dbe 100644 --- a/pkgs/development/libraries/opencv/4.x.nix +++ b/pkgs/development/libraries/opencv/4.x.nix @@ -14,7 +14,8 @@ , enableOpenblas ? true, openblas , enableContrib ? true -, enableCuda ? config.cudaSupport or false, cudatoolkit +, enableCuda ? (config.cudaSupport or false) && + stdenv.hostPlatform.isx86_64, cudatoolkit , enableUnfree ? false , enableIpp ? false diff --git a/pkgs/development/libraries/spirv-headers/default.nix b/pkgs/development/libraries/spirv-headers/default.nix index 98c8ced5b47a..9b2c0 |