Merge staging-next into staging

authored by

github-actions[bot] and committed by
GitHub
eba34ded 2ed13ef0

+520 -71
+1
nixos/modules/module-list.nix
··· 682 ./services/networking/i2p.nix 683 ./services/networking/icecream/scheduler.nix 684 ./services/networking/icecream/daemon.nix 685 ./services/networking/iodine.nix 686 ./services/networking/iperf3.nix 687 ./services/networking/ircd-hybrid/default.nix
··· 682 ./services/networking/i2p.nix 683 ./services/networking/icecream/scheduler.nix 684 ./services/networking/icecream/daemon.nix 685 + ./services/networking/inspircd.nix 686 ./services/networking/iodine.nix 687 ./services/networking/iperf3.nix 688 ./services/networking/ircd-hybrid/default.nix
+62
nixos/modules/services/networking/inspircd.nix
···
··· 1 + { config, lib, pkgs, ... }: 2 + 3 + let 4 + cfg = config.services.inspircd; 5 + 6 + configFile = pkgs.writeText "inspircd.conf" cfg.config; 7 + 8 + in { 9 + meta = { 10 + maintainers = [ lib.maintainers.sternenseemann ]; 11 + }; 12 + 13 + options = { 14 + services.inspircd = { 15 + enable = lib.mkEnableOption "InspIRCd"; 16 + 17 + package = lib.mkOption { 18 + type = lib.types.package; 19 + default = pkgs.inspircd; 20 + defaultText = lib.literalExample "pkgs.inspircd"; 21 + example = lib.literalExample "pkgs.inspircdMinimal"; 22 + description = '' 23 + The InspIRCd package to use. This is mainly useful 24 + to specify an overridden version of the 25 + <literal>pkgs.inspircd</literal> dervivation, for 26 + example if you want to use a more minimal InspIRCd 27 + distribution with less modules enabled or with 28 + modules enabled which can't be distributed in binary 29 + form due to licensing issues. 30 + ''; 31 + }; 32 + 33 + config = lib.mkOption { 34 + type = lib.types.lines; 35 + description = '' 36 + Verbatim <literal>inspircd.conf</literal> file. 37 + For a list of options, consult the 38 + <link xlink:href="https://docs.inspircd.org/3/configuration/">InspIRCd documentation</link>, the 39 + <link xlink:href="https://docs.inspircd.org/3/modules/">Module documentation</link> 40 + and the example configuration files distributed 41 + with <literal>pkgs.inspircd.doc</literal> 42 + ''; 43 + }; 44 + }; 45 + }; 46 + 47 + config = lib.mkIf cfg.enable { 48 + systemd.services.inspircd = { 49 + description = "InspIRCd - the stable, high-performance and modular Internet Relay Chat Daemon"; 50 + wantedBy = [ "multi-user.target" ]; 51 + requires = [ "network.target" ]; 52 + 53 + serviceConfig = { 54 + Type = "simple"; 55 + ExecStart = '' 56 + ${lib.getBin cfg.package}/bin/inspircd start --config ${configFile} --nofork --nopid 57 + ''; 58 + DynamicUser = true; 59 + }; 60 + }; 61 + }; 62 + }
+1
nixos/tests/all-tests.nix
··· 176 initrd-network-ssh = handleTest ./initrd-network-ssh {}; 177 initrdNetwork = handleTest ./initrd-network.nix {}; 178 initrd-secrets = handleTest ./initrd-secrets.nix {}; 179 installer = handleTest ./installer.nix {}; 180 iodine = handleTest ./iodine.nix {}; 181 ipfs = handleTest ./ipfs.nix {};
··· 176 initrd-network-ssh = handleTest ./initrd-network-ssh {}; 177 initrdNetwork = handleTest ./initrd-network.nix {}; 178 initrd-secrets = handleTest ./initrd-secrets.nix {}; 179 + inspircd = handleTest ./inspircd.nix {}; 180 installer = handleTest ./installer.nix {}; 181 iodine = handleTest ./iodine.nix {}; 182 ipfs = handleTest ./ipfs.nix {};
+93
nixos/tests/inspircd.nix
···
··· 1 + let 2 + clients = [ 3 + "ircclient1" 4 + "ircclient2" 5 + ]; 6 + server = "inspircd"; 7 + ircPort = 6667; 8 + channel = "nixos-cat"; 9 + iiDir = "/tmp/irc"; 10 + in 11 + 12 + import ./make-test-python.nix ({ pkgs, lib, ... }: { 13 + name = "inspircd"; 14 + nodes = { 15 + "${server}" = { 16 + networking.firewall.allowedTCPPorts = [ ircPort ]; 17 + services.inspircd = { 18 + enable = true; 19 + package = pkgs.inspircdMinimal; 20 + config = '' 21 + <bind address="" port="${toString ircPort}" type="clients"> 22 + <connect name="main" allow="*" pingfreq="15"> 23 + ''; 24 + }; 25 + }; 26 + } // lib.listToAttrs (builtins.map (client: lib.nameValuePair client { 27 + imports = [ 28 + ./common/user-account.nix 29 + ]; 30 + 31 + systemd.services.ii = { 32 + requires = [ "network.target" ]; 33 + wantedBy = [ "default.target" ]; 34 + 35 + serviceConfig = { 36 + Type = "simple"; 37 + ExecPreStartPre = "mkdir -p ${iiDir}"; 38 + ExecStart = '' 39 + ${lib.getBin pkgs.ii}/bin/ii -n ${client} -s ${server} -i ${iiDir} 40 + ''; 41 + User = "alice"; 42 + }; 43 + }; 44 + }) clients); 45 + 46 + testScript = 47 + let 48 + msg = client: "Hello, my name is ${client}"; 49 + clientScript = client: [ 50 + '' 51 + ${client}.wait_for_unit("network.target") 52 + ${client}.systemctl("start ii") 53 + ${client}.wait_for_unit("ii") 54 + ${client}.wait_for_file("${iiDir}/${server}/out") 55 + '' 56 + # wait until first PING from server arrives before joining, 57 + # so we don't try it too early 58 + '' 59 + ${client}.wait_until_succeeds("grep 'PING' ${iiDir}/${server}/out") 60 + '' 61 + # join ${channel} 62 + '' 63 + ${client}.succeed("echo '/j #${channel}' > ${iiDir}/${server}/in") 64 + ${client}.wait_for_file("${iiDir}/${server}/#${channel}/in") 65 + '' 66 + # send a greeting 67 + '' 68 + ${client}.succeed( 69 + "echo '${msg client}' > ${iiDir}/${server}/#${channel}/in" 70 + ) 71 + '' 72 + # check that all greetings arrived on all clients 73 + ] ++ builtins.map (other: '' 74 + ${client}.succeed( 75 + "grep '${msg other}$' ${iiDir}/${server}/#${channel}/out" 76 + ) 77 + '') clients; 78 + 79 + # foldl', but requires a non-empty list instead of a start value 80 + reduce = f: list: 81 + builtins.foldl' f (builtins.head list) (builtins.tail list); 82 + in '' 83 + start_all() 84 + ${server}.wait_for_open_port(${toString ircPort}) 85 + 86 + # run clientScript for all clients so that every list 87 + # entry is executed by every client before advancing 88 + # to the next one. 89 + '' + lib.concatStrings 90 + (reduce 91 + (lib.zipListsWith (cs: c: cs + c)) 92 + (builtins.map clientScript clients)); 93 + })
+1 -1
pkgs/applications/blockchains/monero/default.nix
··· 63 homepage = "https://getmonero.org/"; 64 license = licenses.bsd3; 65 platforms = platforms.all; 66 - maintainers = with maintainers; [ ehmry rnhmjoj ]; 67 }; 68 }
··· 63 homepage = "https://getmonero.org/"; 64 license = licenses.bsd3; 65 platforms = platforms.all; 66 + maintainers = with maintainers; [ rnhmjoj ]; 67 }; 68 }
+1 -1
pkgs/applications/misc/electrum/default.nix
··· 150 homepage = "https://electrum.org/"; 151 license = licenses.mit; 152 platforms = platforms.all; 153 - maintainers = with maintainers; [ ehmry joachifm np prusnak ]; 154 }; 155 }
··· 150 homepage = "https://electrum.org/"; 151 license = licenses.mit; 152 platforms = platforms.all; 153 + maintainers = with maintainers; [ joachifm np prusnak ]; 154 }; 155 }
-1
pkgs/applications/misc/qtbitcointrader/default.nix
··· 31 homepage = "https://centrabit.com/"; 32 license = licenses.gpl3; 33 platforms = qt5.qtbase.meta.platforms; 34 - maintainers = [ maintainers.ehmry ]; 35 }; 36 }
··· 31 homepage = "https://centrabit.com/"; 32 license = licenses.gpl3; 33 platforms = qt5.qtbase.meta.platforms; 34 }; 35 }
+6 -6
pkgs/applications/networking/browsers/firefox/packages.nix
··· 7 rec { 8 firefox = common rec { 9 pname = "firefox"; 10 - ffversion = "86.0.1"; 11 src = fetchurl { 12 url = "mirror://mozilla/firefox/releases/${ffversion}/source/firefox-${ffversion}.source.tar.xz"; 13 - sha512 = "e613cdcadfd71a01800a72c08c590032605ca8a8a0ba93326ffba93c2819f629fd620c23d00ca1274b203adc20acfe5d7913fee240ff14819fb1377ed08b1214"; 14 }; 15 16 meta = { 17 description = "A web browser built from Firefox source tree"; 18 homepage = "http://www.mozilla.com/en-US/firefox/"; 19 - maintainers = with lib.maintainers; [ eelco lovesegfault ]; 20 platforms = lib.platforms.unix; 21 badPlatforms = lib.platforms.darwin; 22 broken = stdenv.buildPlatform.is32bit; # since Firefox 60, build on 32-bit platforms fails with "out of memory". ··· 32 33 firefox-esr-78 = common rec { 34 pname = "firefox-esr"; 35 - ffversion = "78.8.0esr"; 36 src = fetchurl { 37 url = "mirror://mozilla/firefox/releases/${ffversion}/source/firefox-${ffversion}.source.tar.xz"; 38 - sha512 = "0160aa6c408c2af66d24b74cf98e1a07ab1604e7b93ffcde79201f9d68e41e896ef965f1904de52d5dd82ffedae33ac96e93b871727bf5dd5983c5af2f1f439f"; 39 }; 40 41 meta = { 42 description = "A web browser built from Firefox Extended Support Release source tree"; 43 homepage = "http://www.mozilla.com/en-US/firefox/"; 44 - maintainers = with lib.maintainers; [ eelco ]; 45 platforms = lib.platforms.unix; 46 badPlatforms = lib.platforms.darwin; 47 broken = stdenv.buildPlatform.is32bit; # since Firefox 60, build on 32-bit platforms fails with "out of memory".
··· 7 rec { 8 firefox = common rec { 9 pname = "firefox"; 10 + ffversion = "87.0"; 11 src = fetchurl { 12 url = "mirror://mozilla/firefox/releases/${ffversion}/source/firefox-${ffversion}.source.tar.xz"; 13 + sha512 = "c1c08be2283e7a162c8be2f2647ec2bb85cab592738dc45e4b4ffb72969229cc0019a30782a4cb27f09a13b088c63841071dd202b3543dfba295140a7d6246a4"; 14 }; 15 16 meta = { 17 description = "A web browser built from Firefox source tree"; 18 homepage = "http://www.mozilla.com/en-US/firefox/"; 19 + maintainers = with lib.maintainers; [ eelco lovesegfault hexa ]; 20 platforms = lib.platforms.unix; 21 badPlatforms = lib.platforms.darwin; 22 broken = stdenv.buildPlatform.is32bit; # since Firefox 60, build on 32-bit platforms fails with "out of memory". ··· 32 33 firefox-esr-78 = common rec { 34 pname = "firefox-esr"; 35 + ffversion = "78.9.0esr"; 36 src = fetchurl { 37 url = "mirror://mozilla/firefox/releases/${ffversion}/source/firefox-${ffversion}.source.tar.xz"; 38 + sha512 = "28582fc0a03fb50c0a817deb1083817bb7f2f5d38e98439bf655ed4ee18c83568b3002a59ef76edf357bfb11f55832a221d14130f116aac19d850768fba3ac8b"; 39 }; 40 41 meta = { 42 description = "A web browser built from Firefox Extended Support Release source tree"; 43 homepage = "http://www.mozilla.com/en-US/firefox/"; 44 + maintainers = with lib.maintainers; [ eelco hexa ]; 45 platforms = lib.platforms.unix; 46 badPlatforms = lib.platforms.darwin; 47 broken = stdenv.buildPlatform.is32bit; # since Firefox 60, build on 32-bit platforms fails with "out of memory".
+5 -3
pkgs/applications/networking/cluster/terraform-providers/providers.json
··· 511 }, 512 "kubernetes-alpha": { 513 "owner": "hashicorp", 514 "repo": "terraform-provider-kubernetes-alpha", 515 - "rev": "nightly20200608", 516 - "sha256": "1g171sppf3kq5qlp6g0qqdm0x8lnpizgw8bxjlhp9b6cl4kym70m", 517 - "version": "nightly20200608" 518 }, 519 "launchdarkly": { 520 "owner": "terraform-providers",
··· 511 }, 512 "kubernetes-alpha": { 513 "owner": "hashicorp", 514 + "provider-source-address": "registry.terraform.io/hashicorp/kubernetes-alpha", 515 "repo": "terraform-provider-kubernetes-alpha", 516 + "rev": "v0.3.2", 517 + "sha256": "0lgh42fvfwvj6cw8i7800k016ay4babqiz38q0y7apq4s7vs62sb", 518 + "vendorSha256": null, 519 + "version": "0.3.2" 520 }, 521 "launchdarkly": { 522 "owner": "terraform-providers",
+2 -2
pkgs/applications/networking/ftp/filezilla/default.nix
··· 17 18 stdenv.mkDerivation rec { 19 pname = "filezilla"; 20 - version = "3.52.2"; 21 22 src = fetchurl { 23 url = "https://download.filezilla-project.org/client/FileZilla_${version}_src.tar.bz2"; 24 - sha256 = "sha256-wHiIFpKKJuiGPH3CaxWGROcb7ylAbffS7aN9xIENbN8="; 25 }; 26 27 # https://www.linuxquestions.org/questions/slackware-14/trouble-building-filezilla-3-47-2-1-current-4175671182/#post6099769
··· 17 18 stdenv.mkDerivation rec { 19 pname = "filezilla"; 20 + version = "3.53.0"; 21 22 src = fetchurl { 23 url = "https://download.filezilla-project.org/client/FileZilla_${version}_src.tar.bz2"; 24 + sha256 = "sha256-MJXnYN9PVADttNqj3hshLElHk2Dy9FzE67clMMh85CA="; 25 }; 26 27 # https://www.linuxquestions.org/questions/slackware-14/trouble-building-filezilla-3-47-2-1-current-4175671182/#post6099769
+13 -11
pkgs/applications/networking/p2p/eiskaltdcpp/default.nix
··· 1 - { lib, stdenv, fetchFromGitHub, cmake, pkg-config, boost, bzip2, libX11 2 , mkDerivation, qtbase, qttools, qtmultimedia, qtscript 3 , libiconv, pcre-cpp, libidn, lua5, miniupnpc, aspell, gettext, perl }: 4 ··· 14 }; 15 16 nativeBuildInputs = [ cmake pkg-config ]; 17 - buildInputs = [ qtbase qttools qtmultimedia qtscript boost bzip2 libX11 pcre-cpp libidn lua5 miniupnpc aspell gettext 18 (perl.withPackages (p: with p; [ 19 GetoptLong 20 - RpcXML 21 TermShellUI 22 ])) ] 23 ++ lib.optional stdenv.isDarwin libiconv; 24 25 cmakeFlags = [ 26 - "-DUSE_ASPELL=ON" 27 "-DFREE_SPACE_BAR_C=ON" 28 "-DUSE_MINIUPNP=ON" 29 - "-DLOCAL_MINIUPNP=ON" 30 - "-DDBUS_NOTIFY=ON" 31 "-DUSE_JS=ON" 32 - "-DPERL_REGEX=ON" 33 - "-DUSE_CLI_XMLRPC=ON" 34 "-DWITH_SOUNDS=ON" 35 - "-DLUA_SCRIPT=ON" 36 - "-DWITH_LUASCRIPTS=ON" 37 ]; 38 39 preFixup = '' 40 - substituteInPlace $out/bin/eiskaltdcpp-cli-xmlrpc \ 41 --replace "/usr/local" "$out" 42 ''; 43
··· 1 + { lib, stdenv, fetchFromGitHub, cmake, pkg-config, bzip2, libX11 2 , mkDerivation, qtbase, qttools, qtmultimedia, qtscript 3 , libiconv, pcre-cpp, libidn, lua5, miniupnpc, aspell, gettext, perl }: 4 ··· 14 }; 15 16 nativeBuildInputs = [ cmake pkg-config ]; 17 + buildInputs = [ qtbase qttools qtmultimedia qtscript bzip2 libX11 pcre-cpp libidn lua5 miniupnpc aspell gettext 18 (perl.withPackages (p: with p; [ 19 GetoptLong 20 TermShellUI 21 ])) ] 22 ++ lib.optional stdenv.isDarwin libiconv; 23 24 cmakeFlags = [ 25 + "-DDBUS_NOTIFY=ON" 26 "-DFREE_SPACE_BAR_C=ON" 27 + "-DLUA_SCRIPT=ON" 28 + "-DPERL_REGEX=ON" 29 + "-DUSE_ASPELL=ON" 30 + "-DUSE_CLI_JSONRPC=ON" 31 "-DUSE_MINIUPNP=ON" 32 "-DUSE_JS=ON" 33 + "-DWITH_LUASCRIPTS=ON" 34 "-DWITH_SOUNDS=ON" 35 ]; 36 37 + postInstall = '' 38 + ln -s $out/bin/$pname-qt $out/bin/$pname 39 + ''; 40 + 41 preFixup = '' 42 + substituteInPlace $out/bin/eiskaltdcpp-cli-jsonrpc \ 43 --replace "/usr/local" "$out" 44 ''; 45
+1 -1
pkgs/applications/science/logic/coq/default.nix
··· 8 { lib, stdenv, fetchzip, writeText, pkg-config, gnumake42 9 , customOCamlPackages ? null 10 , ocamlPackages_4_05, ocamlPackages_4_09, ocamlPackages_4_10, ncurses 11 - , buildIde ? !(stdenv.isDarwin && lib.versionAtLeast version "8.10") 12 , glib, gnome3, wrapGAppsHook 13 , csdp ? null 14 , version, coq-version ? null,
··· 8 { lib, stdenv, fetchzip, writeText, pkg-config, gnumake42 9 , customOCamlPackages ? null 10 , ocamlPackages_4_05, ocamlPackages_4_09, ocamlPackages_4_10, ncurses 11 + , buildIde ? true 12 , glib, gnome3, wrapGAppsHook 13 , csdp ? null 14 , version, coq-version ? null,
+2 -2
pkgs/applications/version-management/gitea/default.nix
··· 9 10 buildGoPackage rec { 11 pname = "gitea"; 12 - version = "1.13.4"; 13 14 src = fetchurl { 15 url = "https://github.com/go-gitea/gitea/releases/download/v${version}/gitea-src-${version}.tar.gz"; 16 - sha256 = "sha256-Q9wM+TGgE9oFFzg6516bG7iFNjhxOxPMLKtTHghA/OU="; 17 }; 18 19 unpackPhase = ''
··· 9 10 buildGoPackage rec { 11 pname = "gitea"; 12 + version = "1.13.5"; 13 14 src = fetchurl { 15 url = "https://github.com/go-gitea/gitea/releases/download/v${version}/gitea-src-${version}.tar.gz"; 16 + sha256 = "08c5gp4qp65mnq4ggzfmyc7n3zcp0js86fz4nj5p249zs9vn1ypd"; 17 }; 18 19 unpackPhase = ''
+13 -19
pkgs/development/ocaml-modules/extlib/default.nix
··· 1 - { stdenv, lib, fetchurl, fetchpatch, ocaml, findlib, cppo, minimal ? true }: 2 - 3 - assert lib.versionAtLeast (lib.getVersion ocaml) "3.11"; 4 5 - stdenv.mkDerivation { 6 - name = "ocaml${ocaml.version}-extlib-1.7.7"; 7 8 src = fetchurl { 9 - url = "http://ygrek.org.ua/p/release/ocaml-extlib/extlib-1.7.7.tar.gz"; 10 - sha256 = "1sxmzc1mx3kg62j8kbk0dxkx8mkf1rn70h542cjzrziflznap0s1"; 11 }; 12 13 - patches = [ 14 - (fetchpatch { 15 - url = "https://github.com/ygrek/ocaml-extlib/pull/55.patch"; 16 - sha256 = "0mj3xii56rh8j8brdyv5d06rbs6jjjcy4ib9chafkq3f3sbq795p"; 17 - }) 18 - ]; 19 - 20 buildInputs = [ ocaml findlib cppo ]; 21 22 createFindlibDestdir = true; 23 24 - dontConfigure = true; # Skip configure 25 - # De facto, option minimal=1 seems to be the default. See the README. 26 - buildPhase = "make ${if minimal then "minimal=1" else ""} build"; 27 - installPhase = "make ${if minimal then "minimal=1" else ""} install"; 28 29 meta = { 30 homepage = "https://github.com/ygrek/ocaml-extlib"; 31 description = "Enhancements to the OCaml Standard Library modules"; 32 - license = lib.licenses.lgpl21; 33 platforms = ocaml.meta.platforms or []; 34 }; 35 }
··· 1 + { stdenv, lib, fetchurl, ocaml, findlib, cppo 2 + # De facto, option minimal seems to be the default. See the README. 3 + , minimal ? true 4 + }: 5 6 + stdenv.mkDerivation rec { 7 + pname = "ocaml${ocaml.version}-extlib"; 8 + version = "1.7.8"; 9 10 src = fetchurl { 11 + url = "https://ygrek.org/p/release/ocaml-extlib/extlib-${version}.tar.gz"; 12 + sha256 = "0npq4hq3zym8nmlyji7l5cqk6drx2rkcx73d60rxqh5g8dla8p4k"; 13 }; 14 15 buildInputs = [ ocaml findlib cppo ]; 16 17 createFindlibDestdir = true; 18 + dontConfigure = true; 19 20 + makeFlags = lib.optional minimal "minimal=1"; 21 22 meta = { 23 homepage = "https://github.com/ygrek/ocaml-extlib"; 24 description = "Enhancements to the OCaml Standard Library modules"; 25 + license = lib.licenses.lgpl21Only; 26 platforms = ocaml.meta.platforms or []; 27 + maintainers = [ lib.maintainers.sternenseemann ]; 28 }; 29 }
+2 -2
pkgs/development/python-modules/tatsu/default.nix
··· 5 6 buildPythonPackage rec { 7 pname = "tatsu"; 8 - version = "5.6.0"; 9 10 src = fetchFromGitHub { 11 owner = "neogeny"; 12 repo = "TatSu"; 13 rev = "v${version}"; 14 - sha256 = "sha256-kC2MxMebS4TQEZBgTmYRBWaWSF36rVS3bXIsQgRrF0Y="; 15 }; 16 17 disabled = pythonOlder "3.8";
··· 5 6 buildPythonPackage rec { 7 pname = "tatsu"; 8 + version = "5.6.1"; 9 10 src = fetchFromGitHub { 11 owner = "neogeny"; 12 repo = "TatSu"; 13 rev = "v${version}"; 14 + sha256 = "149ra1lwax5m1svlv4dwjfqw00lc5vwyfj6zw2v0ammmfm1b94x9"; 15 }; 16 17 disabled = pythonOlder "3.8";
+6 -6
pkgs/development/tools/analysis/radare2/default.nix
··· 105 #<generated> 106 # DO NOT EDIT! Automatically generated by ./update.py 107 radare2 = generic { 108 - version_commit = "25480"; 109 - gittap = "5.0.0"; 110 - gittip = "a476454c00f64acbb7425c178c98714ef76e26d7"; 111 - rev = "5.0.0"; 112 - version = "5.0.0"; 113 - sha256 = "0aa7c27kd0l55fy5qfvxqmakp4pz6240v3hn84095qmqkzcbs420"; 114 cs_ver = "4.0.2"; 115 cs_sha256 = "0y5g74yjyliciawpn16zhdwya7bd3d7b1cccpcccc2wg8vni1k2w"; 116 };
··· 105 #<generated> 106 # DO NOT EDIT! Automatically generated by ./update.py 107 radare2 = generic { 108 + version_commit = "25741"; 109 + gittap = "5.1.1"; 110 + gittip = "a86f8077fc148abd6443384362a3717cd4310e64"; 111 + rev = "5.1.1"; 112 + version = "5.1.1"; 113 + sha256 = "0hv9x31iabasj12g8f04incr1rbcdkxi3xnqn3ggp8gl4h6pf2f3"; 114 cs_ver = "4.0.2"; 115 cs_sha256 = "0y5g74yjyliciawpn16zhdwya7bd3d7b1cccpcccc2wg8vni1k2w"; 116 };
+1
pkgs/development/tools/analysis/radare2/update.py
··· 124 125 radare2_info = get_repo_info(dirname, radare2_rev) 126 127 git(dirname, "checkout", r2_cutter_rev) 128 129 timestamp = git(dirname, "log", "-n1", "--format=%at")
··· 124 125 radare2_info = get_repo_info(dirname, radare2_rev) 126 127 + git(dirname, "fetch", r2_cutter_rev) 128 git(dirname, "checkout", r2_cutter_rev) 129 130 timestamp = git(dirname, "log", "-n1", "--format=%at")
+1 -1
pkgs/misc/vscode-extensions/default.nix
··· 604 buildInputs = [ jdk ]; 605 meta = { 606 license = lib.licenses.epl20; 607 - broken = lib.versionAtLeast jdk.version "11"; 608 }; 609 }; 610
··· 604 buildInputs = [ jdk ]; 605 meta = { 606 license = lib.licenses.epl20; 607 + broken = lib.versionOlder jdk.version "11"; 608 }; 609 }; 610
+6 -4
pkgs/os-specific/linux/acpi-call/default.nix
··· 2 3 stdenv.mkDerivation rec { 4 pname = "acpi-call"; 5 - version = "2020-04-07-${kernel.version}"; 6 7 src = fetchFromGitHub { 8 owner = "nix-community"; 9 repo = "acpi_call"; 10 - rev = "fe4cd0124099b88b61f83006023bc0d95e742e75"; 11 - sha256 = "1rksbg78i7y2wzam9p6kbhx8rmkaiq0kqg8nj7k0j6d25m79289s"; 12 }; 13 14 hardeningDisable = [ "pic" ]; ··· 26 27 meta = with lib; { 28 maintainers = with maintainers; [ raskin mic92 ]; 29 - inherit (src.meta) homepage; 30 platforms = platforms.linux; 31 description = "A module allowing arbitrary ACPI calls; use case: hybrid video"; 32 }; 33 }
··· 2 3 stdenv.mkDerivation rec { 4 pname = "acpi-call"; 5 + version = "1.2.1"; 6 + name = "${pname}-${version}-${kernel.version}"; 7 8 src = fetchFromGitHub { 9 owner = "nix-community"; 10 repo = "acpi_call"; 11 + rev = "v${version}"; 12 + sha256 = "0mr4rjbv6fj4phf038addrgv32940bphghw2v9n1z4awvw7wzkbg"; 13 }; 14 15 hardeningDisable = [ "pic" ]; ··· 27 28 meta = with lib; { 29 maintainers = with maintainers; [ raskin mic92 ]; 30 + homepage = "https://github.com/nix-community/acpi_call"; 31 platforms = platforms.linux; 32 description = "A module allowing arbitrary ACPI calls; use case: hybrid video"; 33 + license = licenses.gpl3Plus; 34 }; 35 }
+221
pkgs/servers/irc/inspircd/default.nix
···
··· 1 + let 2 + # inspircd ships a few extra modules that users can load 3 + # via configuration. Upstream thus recommends to ship as 4 + # many of them as possible. There is however a problem: 5 + # inspircd is licensed under the GPL version 2 only and 6 + # some modules link libraries that are incompatible with 7 + # the GPL 2. Therefore we can't provide them as binaries 8 + # via our binary-caches, but users should still be able 9 + # to override this package and build the incompatible 10 + # modules themselves. 11 + # 12 + # This means for us we need to a) prevent hydra from 13 + # building a module set with a GPL incompatibility 14 + # and b) dynamically figure out the largest possible 15 + # set of modules to use depending on stdenv, because 16 + # the used libc needs to be compatible as well. 17 + # 18 + # For an overview of all modules and their licensing 19 + # situation, see https://docs.inspircd.org/packaging/ 20 + 21 + # Predicate for checking license compatibility with 22 + # GPLv2. Since this is _only_ used for libc compatibility 23 + # checking, only whitelist licenses used by notable 24 + # libcs in nixpkgs (musl and glibc). 25 + compatible = lib: drv: 26 + lib.any (lic: lic == drv.meta.license) [ 27 + lib.licenses.mit # musl 28 + lib.licenses.lgpl2Plus # glibc 29 + ]; 30 + 31 + # compatible if libc is compatible 32 + libcModules = [ 33 + "regex_posix" 34 + "sslrehashsignal" 35 + ]; 36 + 37 + # compatible if libc++ is compatible 38 + # TODO(sternenseemann): 39 + # we could enable "regex_stdlib" automatically, but only if 40 + # we are using libcxxStdenv which is compatible with GPLv2, 41 + # since the gcc libstdc++ license is GPLv2-incompatible 42 + libcxxModules = [ 43 + "regex_stdlib" 44 + ]; 45 + 46 + compatibleModules = lib: stdenv: [ 47 + # GPLv2 compatible dependencies 48 + "argon2" 49 + "ldap" 50 + "mysql" 51 + "pgsql" 52 + "regex_pcre" 53 + "regex_re2" 54 + "regex_tre" 55 + "sqlite3" 56 + "ssl_gnutls" 57 + ] ++ lib.optionals (compatible lib stdenv.cc.libc) libcModules; 58 + 59 + in 60 + 61 + { lib 62 + , stdenv 63 + , fetchFromGitHub 64 + , nixosTests 65 + , perl 66 + , pkg-config 67 + , libargon2 68 + , openldap 69 + , postgresql 70 + , libmysqlclient 71 + , pcre 72 + , tre 73 + , re2 74 + , sqlite 75 + , gnutls 76 + , libmaxminddb 77 + , openssl 78 + , mbedtls 79 + # For a full list of module names, see https://docs.inspircd.org/packaging/ 80 + , extraModules ? compatibleModules lib stdenv 81 + }: 82 + 83 + let 84 + extras = { 85 + # GPLv2 compatible 86 + argon2 = [ 87 + (libargon2 // { 88 + meta = libargon2.meta // { 89 + # use libargon2 as CC0 since ASL20 is GPLv2-incompatible 90 + # updating this here is important that meta.license is accurate 91 + # libargon2 is licensed under either ASL20 or CC0. 92 + license = lib.licenses.cc0; 93 + }; 94 + }) 95 + ]; 96 + ldap = [ openldap ]; 97 + mysql = [ libmysqlclient ]; 98 + pgsql = [ postgresql ]; 99 + regex_pcre = [ pcre ]; 100 + regex_re2 = [ re2 ]; 101 + regex_tre = [ tre ]; 102 + sqlite3 = [ sqlite ]; 103 + ssl_gnutls = [ gnutls ]; 104 + # depends on stdenv.cc.libc 105 + regex_posix = []; 106 + sslrehashsignal = []; 107 + # depends on used libc++ 108 + regex_stdlib = []; 109 + # GPLv2 incompatible 110 + geo_maxmind = [ libmaxminddb ]; 111 + ssl_mbedtls = [ mbedtls ]; 112 + ssl_openssl = [ openssl ]; 113 + }; 114 + 115 + # buildInputs necessary for the enabled extraModules 116 + extraInputs = lib.concatMap 117 + (m: extras."${m}" or (builtins.throw "Unknown extra module ${m}")) 118 + extraModules; 119 + 120 + # if true, we can't provide a binary version of this 121 + # package without violating the GPL 2 122 + gpl2Conflict = 123 + let 124 + allowed = compatibleModules lib stdenv; 125 + in 126 + !lib.all (lib.flip lib.elem allowed) extraModules; 127 + 128 + # return list of the license(s) of the given derivation 129 + getLicenses = drv: 130 + let 131 + lics = drv.meta.license or []; 132 + in 133 + if lib.isAttrs lics || lib.isString lics 134 + then [ lics ] 135 + else lics; 136 + 137 + # Whether any member of list1 is also member of list2, i. e. set intersection. 138 + anyMembers = list1: list2: 139 + lib.any (m1: lib.elem m1 list2) list1; 140 + 141 + in 142 + 143 + stdenv.mkDerivation rec { 144 + pname = "inspircd"; 145 + version = "3.9.0"; 146 + 147 + src = fetchFromGitHub { 148 + owner = pname; 149 + repo = pname; 150 + rev = "v${version}"; 151 + sha256 = "0x3paasf4ynx4ddky2nq613vyirbhfnxzkjq148k7154pz3q426s"; 152 + }; 153 + 154 + outputs = [ "bin" "lib" "man" "doc" "out" ]; 155 + 156 + nativeBuildInputs = [ 157 + perl 158 + pkg-config 159 + ]; 160 + buildInputs = extraInputs; 161 + 162 + configurePhase = '' 163 + patchShebangs configure make/*.pl 164 + 165 + # configure is executed twice, once to set the extras 166 + # to use and once to do the Makefile setup 167 + ./configure \ 168 + --enable-extras \ 169 + ${lib.escapeShellArg (lib.concatStringsSep " " extraModules)} 170 + 171 + # this manually sets the flags instead of using configureFlags, because otherwise stdenv passes flags like --bindir, which make configure fail 172 + ./configure \ 173 + --disable-auto-extras \ 174 + --distribution-label nixpkgs${version} \ 175 + --uid 0 \ 176 + --gid 0 \ 177 + --binary-dir ${placeholder "bin"}/bin \ 178 + --config-dir /etc/inspircd \ 179 + --data-dir ${placeholder "lib"}/lib/inspircd \ 180 + --example-dir ${placeholder "doc"}/share/doc/inspircd \ 181 + --log-dir /var/log/inspircd \ 182 + --manual-dir ${placeholder "man"}/share/man/man1 \ 183 + --module-dir ${placeholder "lib"}/lib/inspircd \ 184 + --runtime-dir /var/run \ 185 + --script-dir ${placeholder "bin"}/share/inspircd \ 186 + ''; 187 + 188 + postInstall = '' 189 + # for some reasons the executables are not executable 190 + chmod +x $bin/bin/* 191 + ''; 192 + 193 + enableParallelBuilding = true; 194 + 195 + passthru.tests = { 196 + nixos-test = nixosTests.inspircd; 197 + }; 198 + 199 + meta = { 200 + description = "A modular C++ IRC server"; 201 + license = [ lib.licenses.gpl2Only ] 202 + ++ lib.concatMap getLicenses extraInputs 203 + ++ lib.optionals (anyMembers extraModules libcModules) (getLicenses stdenv.cc.libc) 204 + # FIXME(sternenseemann): get license of used lib(std)c++ somehow 205 + ++ lib.optional (anyMembers extraModules libcxxModules) "Unknown" 206 + # Hack: Definitely prevent a hydra from building this package on 207 + # a GPL 2 incompatibility even if it is not in a top-level attribute, 208 + # but pulled in indirectly somehow. 209 + ++ lib.optional gpl2Conflict lib.licenses.unfree; 210 + maintainers = [ lib.maintainers.sternenseemann ]; 211 + # windows is theoretically possible, but requires extra work 212 + # which I am not willing to do and can't test. 213 + # https://github.com/inspircd/inspircd/blob/master/win/README.txt 214 + platforms = lib.platforms.unix; 215 + homepage = "https://www.inspircd.org/"; 216 + } // lib.optionalAttrs gpl2Conflict { 217 + # make sure we never distribute a GPLv2-violating module 218 + # in binary form. They can be built locally of course. 219 + hydraPlatforms = []; 220 + }; 221 + }
+2 -2
pkgs/servers/matrix-synapse/default.nix
··· 12 in 13 buildPythonApplication rec { 14 pname = "matrix-synapse"; 15 - version = "1.29.0"; 16 17 src = fetchPypi { 18 inherit pname version; 19 - sha256 = "sha256-BySztUwVqyaL0AvmJMWEbjVqf981ABKMAU9f9C/0wkU="; 20 }; 21 22 patches = [
··· 12 in 13 buildPythonApplication rec { 14 pname = "matrix-synapse"; 15 + version = "1.30.0"; 16 17 src = fetchPypi { 18 inherit pname version; 19 + sha256 = "1ca69v479537bbj2hjliwk9zzy9fqqsf7fm188k6xxj0a37q9y41"; 20 }; 21 22 patches = [
+1 -1
pkgs/servers/rippled/default.nix
··· 160 meta = with lib; { 161 description = "Ripple P2P payment network reference server"; 162 homepage = "https://github.com/ripple/rippled"; 163 - maintainers = with maintainers; [ ehmry offline RaghavSood ]; 164 license = licenses.isc; 165 platforms = [ "x86_64-linux" ]; 166 };
··· 160 meta = with lib; { 161 description = "Ripple P2P payment network reference server"; 162 homepage = "https://github.com/ripple/rippled"; 163 + maintainers = with maintainers; [ offline RaghavSood ]; 164 license = licenses.isc; 165 platforms = [ "x86_64-linux" ]; 166 };
-1
pkgs/tools/misc/cpuminer-multi/default.nix
··· 27 description = "Multi-algo CPUMiner"; 28 homepage = "https://github.com/wolf9466/cpuminer-multi"; 29 license = licenses.gpl2; 30 - maintainers = [ maintainers.ehmry ]; 31 # does not build on i686 https://github.com/lucasjones/cpuminer-multi/issues/27 32 platforms = [ "x86_64-linux" ]; 33 };
··· 27 description = "Multi-algo CPUMiner"; 28 homepage = "https://github.com/wolf9466/cpuminer-multi"; 29 license = licenses.gpl2; 30 # does not build on i686 https://github.com/lucasjones/cpuminer-multi/issues/27 31 platforms = [ "x86_64-linux" ]; 32 };
+53
pkgs/tools/misc/digitemp/default.nix
···
··· 1 + { fetchFromGitHub, lib, stdenv }: 2 + 3 + stdenv.mkDerivation rec { 4 + pname = "digitemp"; 5 + version = "3.7.2"; 6 + 7 + src = fetchFromGitHub { 8 + owner = "bcl"; 9 + repo = "digitemp"; 10 + rev = "v${version}"; 11 + sha256 = "19zka5fcdxhhginaspak76l984iqq9v2j6qrwvi5mvca7bcj8f72"; 12 + }; 13 + 14 + enableParallelBuilding = true; 15 + 16 + makeFlags = [ 17 + "LOCK=no" 18 + "ds9097" 19 + "ds9097u" 20 + ]; 21 + 22 + installPhase = '' 23 + runHook preInstall 24 + install -D -m555 -t $out/bin digitemp_* 25 + install -D -m444 -t $out/share/doc/${pname} FAQ README 26 + runHook postInstall 27 + ''; 28 + 29 + meta = with lib; { 30 + description = "Temperature logging and reporting using Maxim's iButtons and 1-Wire protocol"; 31 + longDescription = '' 32 + DigiTemp is a command line application used for reading 1-wire sensors like 33 + the DS18S20 temperature sensor, or DS2438 battery monitor. DigiTemp supports 34 + the following devices: 35 + 36 + DS18S20 (and older DS1820) Temperature Sensor 37 + DS18B20 Temperature Sensor 38 + DS1822 Temperature Sensor 39 + DS2438 Battery monitor 40 + DS2409 1-wire coupler (used in 1-wire hubs) 41 + DS2422 Counter 42 + DS2423 Counter 43 + 44 + The output format can be customized and all settings are stored in a 45 + configuration file (.digitemprc) in the current directory. DigiTemp can 46 + repeatedly read the sensors and output to stdout and/or to a logfile. 47 + ''; 48 + homepage = "https://www.digitemp.com"; 49 + license = licenses.gpl2Plus; 50 + maintainers = with maintainers; [ zseri ]; 51 + platforms = platforms.unix; 52 + }; 53 + }
+2 -2
pkgs/tools/misc/libcpuid/default.nix
··· 2 3 stdenv.mkDerivation rec { 4 pname = "libcpuid"; 5 - version = "0.5.0"; 6 7 src = fetchFromGitHub { 8 owner = "anrieff"; 9 repo = "libcpuid"; 10 rev = "v${version}"; 11 - sha256 = "13v5x8gyka2v4kx52khwalb6ai328z7kk9jlipbbbys63p6nyddr"; 12 }; 13 14 patches = [
··· 2 3 stdenv.mkDerivation rec { 4 pname = "libcpuid"; 5 + version = "0.5.1"; 6 7 src = fetchFromGitHub { 8 owner = "anrieff"; 9 repo = "libcpuid"; 10 rev = "v${version}"; 11 + sha256 = "sha256-m10LdtwBk1Lx31AJ4HixEYaCkT7EHpF9+tOV1rSA6VU="; 12 }; 13 14 patches = [
+3 -3
pkgs/tools/package-management/home-manager/default.nix
··· 6 stdenv.mkDerivation rec { 7 8 pname = "home-manager"; 9 - version = "2021-01-16"; 10 11 src = fetchFromGitHub { 12 owner = "nix-community"; 13 repo = "home-manager"; 14 - rev = "8127799f79ee96129b295d78294f40a54078131f"; 15 - sha256 = "0iji8nxa66s409pvjwi370ycsw4m74w6b3ywnjpfkl2filpapjns"; 16 }; 17 18 nativeBuildInputs = [ makeWrapper ];
··· 6 stdenv.mkDerivation rec { 7 8 pname = "home-manager"; 9 + version = "2021-03-21"; 10 11 src = fetchFromGitHub { 12 owner = "nix-community"; 13 repo = "home-manager"; 14 + rev = "ddcd476603dfd3388b1dc8234fa9d550156a51f5"; 15 + sha256 = "sha256-E6ABXtzw6bHmrIirB1sJL6S2MEa3sfcvRLzRa92frCo="; 16 }; 17 18 nativeBuildInputs = [ makeWrapper ];
+3
pkgs/tools/typesetting/tex/texlive/combine.nix
··· 52 53 buildInputs = [ makeWrapper ] ++ pkgList.extraInputs; 54 55 postBuild = '' 56 cd "$out" 57 mkdir -p ./bin
··· 52 53 buildInputs = [ makeWrapper ] ++ pkgList.extraInputs; 54 55 + # This is set primarily to help find-tarballs.nix to do its job 56 + passthru.packages = pkgList.all; 57 + 58 postBuild = '' 59 cd "$out" 60 mkdir -p ./bin
+6
pkgs/top-level/all-packages.nix
··· 2189 inherit (darwin.apple_sdk.frameworks) Security; 2190 }; 2191 2192 dijo = callPackage ../tools/misc/dijo { 2193 inherit (darwin.apple_sdk.frameworks) CoreServices; 2194 }; ··· 18252 theme-snow = callPackage ../servers/icingaweb2/theme-snow { }; 18253 theme-spring = callPackage ../servers/icingaweb2/theme-spring { }; 18254 }; 18255 18256 imgproxy = callPackage ../servers/imgproxy { }; 18257
··· 2189 inherit (darwin.apple_sdk.frameworks) Security; 2190 }; 2191 2192 + digitemp = callPackage ../tools/misc/digitemp { }; 2193 + 2194 dijo = callPackage ../tools/misc/dijo { 2195 inherit (darwin.apple_sdk.frameworks) CoreServices; 2196 }; ··· 18254 theme-snow = callPackage ../servers/icingaweb2/theme-snow { }; 18255 theme-spring = callPackage ../servers/icingaweb2/theme-spring { }; 18256 }; 18257 + 18258 + inspircd = callPackage ../servers/irc/inspircd { }; 18259 + 18260 + inspircdMinimal = inspircd.override { extraModules = []; }; 18261 18262 imgproxy = callPackage ../servers/imgproxy { }; 18263
+4 -1
pkgs/top-level/ocaml-packages.nix
··· 1408 1409 omake_rc1 = callPackage ../development/tools/ocaml/omake/0.9.8.6-rc1.nix { }; 1410 1411 - google-drive-ocamlfuse = callPackage ../applications/networking/google-drive-ocamlfuse { }; 1412 1413 hol_light = callPackage ../applications/science/logic/hol_light { }; 1414
··· 1408 1409 omake_rc1 = callPackage ../development/tools/ocaml/omake/0.9.8.6-rc1.nix { }; 1410 1411 + google-drive-ocamlfuse = callPackage ../applications/networking/google-drive-ocamlfuse { 1412 + # needs Base64 module 1413 + ocaml_extlib = ocaml_extlib.override { minimal = false; }; 1414 + }; 1415 1416 hol_light = callPackage ../applications/science/logic/hol_light { }; 1417
+8 -1
pkgs/top-level/perl-packages.nix
··· 10955 url = "mirror://cpan/authors/id/B/BR/BRMILLER/${pname}-${version}.tar.gz"; 10956 sha256 = "0dr69rgl4si9i9ww1r4dc7apgb7y6f7ih808w4g0924cvz823s0x"; 10957 }; 10958 - propagatedBuildInputs = [ ArchiveZip DBFile FileWhich IOString ImageSize JSONXS LWP ParseRecDescent PodParser TextUnidecode XMLLibXSLT ]; 10959 preCheck = '' 10960 rm t/931_epub.t # epub test fails 10961 ''; 10962 nativeBuildInputs = lib.optional stdenv.isDarwin shortenPerlShebang; 10963 # shebangs need to be patched before executables are copied to $out 10964 preBuild = '' 10965 patchShebangs bin/ 10966 '' + lib.optionalString stdenv.isDarwin '' 10967 for file in bin/*; do 10968 shortenPerlShebang "$file" 10969 done 10970 ''; 10971 meta = {
··· 10955 url = "mirror://cpan/authors/id/B/BR/BRMILLER/${pname}-${version}.tar.gz"; 10956 sha256 = "0dr69rgl4si9i9ww1r4dc7apgb7y6f7ih808w4g0924cvz823s0x"; 10957 }; 10958 + propagatedBuildInputs = [ ArchiveZip DBFile FileWhich IOString ImageSize JSONXS LWP ParseRecDescent PerlMagick PodParser TextUnidecode XMLLibXSLT ]; 10959 preCheck = '' 10960 rm t/931_epub.t # epub test fails 10961 ''; 10962 nativeBuildInputs = lib.optional stdenv.isDarwin shortenPerlShebang; 10963 + buildInputs = [ pkgs.makeWrapper ]; 10964 # shebangs need to be patched before executables are copied to $out 10965 preBuild = '' 10966 patchShebangs bin/ 10967 '' + lib.optionalString stdenv.isDarwin '' 10968 for file in bin/*; do 10969 shortenPerlShebang "$file" 10970 + done 10971 + ''; 10972 + postInstall = '' 10973 + for file in latexmlc latexmlmath latexmlpost ; do 10974 + # add runtime dependencies that cause silent failures when missing 10975 + wrapProgram $out/bin/$file --prefix PATH : ${lib.makeBinPath [ pkgs.ghostscript pkgs.potrace ]} 10976 done 10977 ''; 10978 meta = {