From 5d10c746e4f9dc859ec422dc0f47ef3ca2ecf3d2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Robert=20Sch=C3=BCtz?= Date: Mon, 15 Mar 2021 14:07:22 +0100 Subject: [PATCH 01/28] linuxPackages.acpi_call: 2020-04-07 -> 1.2.1 --- pkgs/os-specific/linux/acpi-call/default.nix | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/pkgs/os-specific/linux/acpi-call/default.nix b/pkgs/os-specific/linux/acpi-call/default.nix index b79f0bd84f2..b90ed82dbdb 100644 --- a/pkgs/os-specific/linux/acpi-call/default.nix +++ b/pkgs/os-specific/linux/acpi-call/default.nix @@ -2,13 +2,14 @@ stdenv.mkDerivation rec { pname = "acpi-call"; - version = "2020-04-07-${kernel.version}"; + version = "1.2.1"; + name = "${pname}-${version}-${kernel.version}"; src = fetchFromGitHub { owner = "nix-community"; repo = "acpi_call"; - rev = "fe4cd0124099b88b61f83006023bc0d95e742e75"; - sha256 = "1rksbg78i7y2wzam9p6kbhx8rmkaiq0kqg8nj7k0j6d25m79289s"; + rev = "v${version}"; + sha256 = "0mr4rjbv6fj4phf038addrgv32940bphghw2v9n1z4awvw7wzkbg"; }; hardeningDisable = [ "pic" ]; From 9adbfba80fe1c035ff02715908ab059cdb3ec848 Mon Sep 17 00:00:00 2001 From: Dmitry Kalinkin Date: Thu, 18 Mar 2021 17:23:52 -0400 Subject: [PATCH 02/28] texlive.combine: export `packages` attribute to help find-tarballs.nix Can be verified using: nix-instantiate --eval --json --strict ./maintainers/scripts/find-tarballs.nix --arg expr '(import ./. {}).texlive.combined.scheme-small' 2>/dev/null | jq '.[].name' | grep -E "r[0-9]+\.tar\.xz" --- pkgs/tools/typesetting/tex/texlive/combine.nix | 3 +++ 1 file changed, 3 insertions(+) diff --git a/pkgs/tools/typesetting/tex/texlive/combine.nix b/pkgs/tools/typesetting/tex/texlive/combine.nix index 9993263c1f6..f553908d9cc 100644 --- a/pkgs/tools/typesetting/tex/texlive/combine.nix +++ b/pkgs/tools/typesetting/tex/texlive/combine.nix @@ -52,6 +52,9 @@ in (buildEnv { buildInputs = [ makeWrapper ] ++ pkgList.extraInputs; + # This is set primarily to help find-tarballs.nix to do its job + passthru.packages = pkgList.all; + postBuild = '' cd "$out" mkdir -p ./bin From b77f1bc48a51a5019dc16c146665f98b38ff8857 Mon Sep 17 00:00:00 2001 From: sternenseemann <0rpkxez4ksa01gb3typccl0i@systemli.org> Date: Sat, 20 Mar 2021 23:45:47 +0100 Subject: [PATCH 03/28] inspircd: init at 3.9.0 Packaging inspircd is relatively straightforward, once we adapt to the slightly strange Perl configure script and it's firm opinion that $prefix/usr should exist. Most complexity in this derivation stems from the following: * inspircd has modules which users can load dynamically in the form of shared objects that link against other libraries for various tasks * inspircd is licensed exclusively under the GPL version 2. * Some of the libraries inspircd modules link against are GPL 2 incompatible (GPL 3, ASL 2.0) and we therefore must not distribute these in binary form. * Some modules combine GPL 2 code of inspircd and libc into a shared object and may not be redistributed in binary form depending on the license of the libc. Similarly for libc++. Open Question: Does the fact that we may build the inspircd binary, i. e. link against libc and libc++ imply that we can do this? https://docs.inspircd.org/packaging/ seems to imply this is not the case. Thus we have some additional code which a) determines the set of modules we should enable by default (the largest possible set as upstream recommends it) and b) collects all applying licenses into meta.license. --- pkgs/servers/irc/inspircd/default.nix | 218 ++++++++++++++++++++++++++ pkgs/top-level/all-packages.nix | 4 + 2 files changed, 222 insertions(+) create mode 100644 pkgs/servers/irc/inspircd/default.nix diff --git a/pkgs/servers/irc/inspircd/default.nix b/pkgs/servers/irc/inspircd/default.nix new file mode 100644 index 00000000000..f1df10514e6 --- /dev/null +++ b/pkgs/servers/irc/inspircd/default.nix @@ -0,0 +1,218 @@ +let + # inspircd ships a few extra modules that users can load + # via configuration. Upstream thus recommends to ship as + # many of them as possible. There is however a problem: + # inspircd is licensed under the GPL version 2 only and + # some modules link libraries that are incompatible with + # the GPL 2. Therefore we can't provide them as binaries + # via our binary-caches, but users should still be able + # to override this package and build the incompatible + # modules themselves. + # + # This means for us we need to a) prevent hydra from + # building a module set with a GPL incompatibility + # and b) dynamically figure out the largest possible + # set of modules to use depending on stdenv, because + # the used libc needs to be compatible as well. + # + # For an overview of all modules and their licensing + # situation, see https://docs.inspircd.org/packaging/ + + # Predicate for checking license compatibility with + # GPLv2. Since this is _only_ used for libc compatibility + # checking, only whitelist licenses used by notable + # libcs in nixpkgs (musl and glibc). + compatible = lib: drv: + lib.any (lic: lic == drv.meta.license) [ + lib.licenses.mit # musl + lib.licenses.lgpl2Plus # glibc + ]; + + # compatible if libc is compatible + libcModules = [ + "regex_posix" + "sslrehashsignal" + ]; + + # compatible if libc++ is compatible + # TODO(sternenseemann): + # we could enable "regex_stdlib" automatically, but only if + # we are using libcxxStdenv which is compatible with GPLv2, + # since the gcc libstdc++ license is GPLv2-incompatible + libcxxModules = [ + "regex_stdlib" + ]; + + compatibleModules = lib: stdenv: [ + # GPLv2 compatible dependencies + "argon2" + "ldap" + "mysql" + "pgsql" + "regex_pcre" + "regex_re2" + "regex_tre" + "sqlite3" + "ssl_gnutls" + ] ++ lib.optionals (compatible lib stdenv.cc.libc) libcModules; + +in + +{ lib +, stdenv +, fetchFromGitHub +, fetchpatch +, perl +, pkg-config +, libargon2 +, openldap +, postgresql +, libmysqlclient +, pcre +, tre +, re2 +, sqlite +, gnutls +, libmaxminddb +, openssl +, mbedtls +# For a full list of module names, see https://docs.inspircd.org/packaging/ +, extraModules ? compatibleModules lib stdenv +}: + +let + extras = { + # GPLv2 compatible + argon2 = [ + (libargon2 // { + meta = libargon2.meta // { + # use libargon2 as CC0 since ASL20 is GPLv2-incompatible + # updating this here is important that meta.license is accurate + license = lib.licenses.cc0; + }; + }) + ]; + ldap = [ openldap ]; + mysql = [ libmysqlclient ]; + pgsql = [ postgresql ]; + regex_pcre = [ pcre ]; + regex_re2 = [ re2 ]; + regex_tre = [ tre ]; + sqlite3 = [ sqlite ]; + ssl_gnutls = [ gnutls ]; + # depends on stdenv.cc.libc + regex_posix = []; + sslrehashsignal = []; + # depends on used libc++ + regex_stdlib = []; + # GPLv2 incompatible + geo_maxmind = [ libmaxminddb ]; + ssl_mbedtls = [ mbedtls ]; + ssl_openssl = [ openssl ]; + }; + + # buildInputs necessary for the enabled extraModules + extraInputs = lib.concatMap + (m: extras."${m}" or (builtins.throw "Unknown extra module ${m}")) + extraModules; + + # if true, we can't provide a binary version of this + # package without violating the GPL 2 + gpl2Conflict = + let + allowed = compatibleModules lib stdenv; + in + !lib.all (lib.flip lib.elem allowed) extraModules; + + # return list of the license(s) of the given derivation + getLicenses = drv: + let + lics = drv.meta.license or []; + in + if lib.isAttrs lics || lib.isString lics + then [ lics ] + else lics; + + # Whether any member of list1 is also member of list2, i. e. set intersection. + anyMembers = list1: list2: + lib.any (m1: lib.elem m1 list2) list1; + +in + +stdenv.mkDerivation rec { + pname = "inspircd"; + version = "3.9.0"; + + src = fetchFromGitHub { + owner = pname; + repo = pname; + rev = "v${version}"; + sha256 = "0x3paasf4ynx4ddky2nq613vyirbhfnxzkjq148k7154pz3q426s"; + }; + + patches = [ + # Remove at next release, makes --prefix and --system work together + (fetchpatch { + url = "https://github.com/inspircd/inspircd/commit/b378b5087b41f72a1624ebb58990180e0b0140aa.patch"; + sha256 = "0c0fmhjbkfh2r1cmjrm5d4whcignwsyi6kwkhmcvqy9mv99pj2ir"; + }) + ]; + + nativeBuildInputs = [ + perl + pkg-config + ]; + buildInputs = extraInputs; + + preConfigure = '' + patchShebangs configure make/*.pl + # configure is executed twice, once to set the extras + # to use and once to do the Makefile setup + ./configure --enable-extras \ + ${lib.escapeShellArg (lib.concatStringsSep " " extraModules)} + ''; + + configureFlags = [ + "--disable-auto-extras" + "--distribution-label" "nixpkgs${version}" + "--system" + "--uid" "0" + "--gid" "0" + "--prefix" (placeholder "out") + ]; + + postInstall = '' + # installs to $out/usr by default unfortunately + mv "$out/usr/lib" "$out/lib" + mv "$out/usr/sbin" "$out/bin" + mv "$out/usr/share" "$out/share" + rm -r "$out/usr" + rm -r "$out/var" # only empty directories + rm -r "$out/etc" # only contains documentation + ''; + + enableParallelBuilding = true; + + meta = { + description = "A modular C++ IRC server"; + license = [ lib.licenses.gpl2Only ] + ++ lib.concatMap getLicenses extraInputs + ++ lib.optionals (anyMembers extraModules libcModules) (getLicenses stdenv.cc.libc) + # FIXME(sternenseemann): get license of used lib(std)c++ somehow + ++ lib.optional (anyMembers extraModules libcxxModules) "Unknown" + # Hack: Definitely prevent a hydra from building this package on + # a GPL 2 incompatibility even if it is not in a top-level attribute, + # but pulled in indirectly somehow. + ++ lib.optional gpl2Conflict lib.licenses.unfree; + maintainers = [ lib.maintainers.sternenseemann ]; + # windows is theoretically possible, but requires extra work + # which I am not willing to do and can't test. + # https://github.com/inspircd/inspircd/blob/master/win/README.txt + platforms = lib.platforms.unix; + homepage = "https://www.inspircd.org/"; + } // lib.optionalAttrs gpl2Conflict { + # make sure we never distribute a GPLv2-violating module + # in binary form. They can be built locally of course. + hydraPlatforms = []; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index ccde125fc37..edae119c244 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -18229,6 +18229,10 @@ in theme-spring = callPackage ../servers/icingaweb2/theme-spring { }; }; + inspircd = callPackage ../servers/irc/inspircd { }; + + inspircdMinimal = inspircd.override { extraModules = []; }; + imgproxy = callPackage ../servers/imgproxy { }; ircdog = callPackage ../applications/networking/irc/ircdog { }; From 0fd939c6ea34b2b600e42469e764f53356694887 Mon Sep 17 00:00:00 2001 From: Profpatsch Date: Sun, 21 Mar 2021 14:08:01 +0100 Subject: [PATCH 04/28] fixup! inspircd: init at 3.9.0 --- pkgs/servers/irc/inspircd/default.nix | 49 +++++++++++++-------------- 1 file changed, 24 insertions(+), 25 deletions(-) diff --git a/pkgs/servers/irc/inspircd/default.nix b/pkgs/servers/irc/inspircd/default.nix index f1df10514e6..6339ca67b93 100644 --- a/pkgs/servers/irc/inspircd/default.nix +++ b/pkgs/servers/irc/inspircd/default.nix @@ -88,6 +88,7 @@ let meta = libargon2.meta // { # use libargon2 as CC0 since ASL20 is GPLv2-incompatible # updating this here is important that meta.license is accurate + # libargon2 is licensed under either ASL20 or CC0. license = lib.licenses.cc0; }; }) @@ -150,13 +151,7 @@ stdenv.mkDerivation rec { sha256 = "0x3paasf4ynx4ddky2nq613vyirbhfnxzkjq148k7154pz3q426s"; }; - patches = [ - # Remove at next release, makes --prefix and --system work together - (fetchpatch { - url = "https://github.com/inspircd/inspircd/commit/b378b5087b41f72a1624ebb58990180e0b0140aa.patch"; - sha256 = "0c0fmhjbkfh2r1cmjrm5d4whcignwsyi6kwkhmcvqy9mv99pj2ir"; - }) - ]; + outputs = [ "bin" "lib" "man" "doc" "out" ]; nativeBuildInputs = [ perl @@ -164,31 +159,35 @@ stdenv.mkDerivation rec { ]; buildInputs = extraInputs; - preConfigure = '' + configurePhase = '' patchShebangs configure make/*.pl + # configure is executed twice, once to set the extras # to use and once to do the Makefile setup - ./configure --enable-extras \ + ./configure \ + --enable-extras \ ${lib.escapeShellArg (lib.concatStringsSep " " extraModules)} + + # this manually sets the flags instead of using configureFlags, because otherwise stdenv passes flags like --bindir, which make configure fail + ./configure \ + --disable-auto-extras \ + --distribution-label nixpkgs${version} \ + --uid 0 \ + --gid 0 \ + --binary-dir ${placeholder "bin"}/bin \ + --config-dir /etc/inspircd \ + --data-dir ${placeholder "lib"}/lib/inspircd \ + --example-dir ${placeholder "doc"}/share/doc/inspircd \ + --log-dir /var/log/inspircd \ + --manual-dir ${placeholder "man"}/share/man/man1 \ + --module-dir ${placeholder "lib"}/lib/inspircd \ + --runtime-dir /var/run \ + --script-dir ${placeholder "bin"}/share/inspircd \ ''; - configureFlags = [ - "--disable-auto-extras" - "--distribution-label" "nixpkgs${version}" - "--system" - "--uid" "0" - "--gid" "0" - "--prefix" (placeholder "out") - ]; - postInstall = '' - # installs to $out/usr by default unfortunately - mv "$out/usr/lib" "$out/lib" - mv "$out/usr/sbin" "$out/bin" - mv "$out/usr/share" "$out/share" - rm -r "$out/usr" - rm -r "$out/var" # only empty directories - rm -r "$out/etc" # only contains documentation + # for some reasons the executables are not executable + chmod +x $bin/bin/* ''; enableParallelBuilding = true; From 2351157382c8dbb20a5f99b3b8b97655a4cd8652 Mon Sep 17 00:00:00 2001 From: Aaron Andersen Date: Sun, 21 Mar 2021 18:39:02 -0400 Subject: [PATCH 05/28] gitea: 1.13.4 -> 1.13.5 --- pkgs/applications/version-management/gitea/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/version-management/gitea/default.nix b/pkgs/applications/version-management/gitea/default.nix index c9570bb134d..cc36dc9ff52 100644 --- a/pkgs/applications/version-management/gitea/default.nix +++ b/pkgs/applications/version-management/gitea/default.nix @@ -9,11 +9,11 @@ with lib; buildGoPackage rec { pname = "gitea"; - version = "1.13.4"; + version = "1.13.5"; src = fetchurl { url = "https://github.com/go-gitea/gitea/releases/download/v${version}/gitea-src-${version}.tar.gz"; - sha256 = "sha256-Q9wM+TGgE9oFFzg6516bG7iFNjhxOxPMLKtTHghA/OU="; + sha256 = "08c5gp4qp65mnq4ggzfmyc7n3zcp0js86fz4nj5p249zs9vn1ypd"; }; unpackPhase = '' From 613b85bb1d5c2bfc0c45fc5087ba638627a430f1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Robert=20Sch=C3=BCtz?= Date: Mon, 15 Mar 2021 14:14:49 +0100 Subject: [PATCH 06/28] linuxPackages.acpi_call: set meta.license and meta.homepage --- pkgs/os-specific/linux/acpi-call/default.nix | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/pkgs/os-specific/linux/acpi-call/default.nix b/pkgs/os-specific/linux/acpi-call/default.nix index b90ed82dbdb..f986ed790a1 100644 --- a/pkgs/os-specific/linux/acpi-call/default.nix +++ b/pkgs/os-specific/linux/acpi-call/default.nix @@ -27,8 +27,9 @@ stdenv.mkDerivation rec { meta = with lib; { maintainers = with maintainers; [ raskin mic92 ]; - inherit (src.meta) homepage; + homepage = "https://github.com/nix-community/acpi_call"; platforms = platforms.linux; description = "A module allowing arbitrary ACPI calls; use case: hybrid video"; + license = licenses.gpl3Plus; }; } From 4048b39fc1a5c17b4c5052a74a84f3c75c5425e6 Mon Sep 17 00:00:00 2001 From: sternenseemann <0rpkxez4ksa01gb3typccl0i@systemli.org> Date: Mon, 22 Mar 2021 14:32:46 +0100 Subject: [PATCH 07/28] nixos/modules/inspircd: add simplistic module and nixos test --- nixos/modules/module-list.nix | 1 + .../modules/services/networking/inspircd.nix | 58 +++++++++++ nixos/tests/all-tests.nix | 1 + nixos/tests/inspircd.nix | 96 +++++++++++++++++++ 4 files changed, 156 insertions(+) create mode 100644 nixos/modules/services/networking/inspircd.nix create mode 100644 nixos/tests/inspircd.nix diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix index 07774dd1d29..4a63a09ab84 100644 --- a/nixos/modules/module-list.nix +++ b/nixos/modules/module-list.nix @@ -682,6 +682,7 @@ ./services/networking/i2p.nix ./services/networking/icecream/scheduler.nix ./services/networking/icecream/daemon.nix + ./services/networking/inspircd.nix ./services/networking/iodine.nix ./services/networking/iperf3.nix ./services/networking/ircd-hybrid/default.nix diff --git a/nixos/modules/services/networking/inspircd.nix b/nixos/modules/services/networking/inspircd.nix new file mode 100644 index 00000000000..fcac8d34cce --- /dev/null +++ b/nixos/modules/services/networking/inspircd.nix @@ -0,0 +1,58 @@ +{ config, lib, pkgs, ... }: + +let + cfg = config.services.inspircd; + + configFile = pkgs.writeText "inspircd.conf" cfg.config; + +in { + options = { + services.inspircd = { + enable = lib.mkEnableOption "InspIRCd"; + + package = lib.mkOption { + type = lib.types.package; + default = pkgs.inspircd; + defaultText = lib.literalExample "pkgs.inspircd"; + example = lib.literalExample "pkgs.inspircdMinimal"; + description = '' + The InspIRCd package to use. This is mainly useful + to specify an overridden version of the + pkgs.inspircd dervivation, for + example if you want to use a more minimal InspIRCd + distribution with less modules enabled or with + modules enabled which can't be distributed in binary + form due to licensing issues. + ''; + }; + + config = lib.mkOption { + type = lib.types.lines; + description = '' + Verbatim inspircd.conf file. + For a list of options, consult the + InspIRCd documentation, the + Module documentation + and the example configuration files distributed + with pkgs.inspircd.doc + ''; + }; + }; + }; + + config = lib.mkIf cfg.enable { + systemd.services.inspircd = { + description = "InspIRCd - the stable, high-performance and modular Internet Relay Chat Daemon"; + wantedBy = [ "multi-user.target" ]; + requires = [ "network.target" ]; + + serviceConfig = { + Type = "simple"; + ExecStart = '' + ${lib.getBin cfg.package}/bin/inspircd start --config ${configFile} --nofork --nopid + ''; + DynamicUser = true; + }; + }; + }; +} diff --git a/nixos/tests/all-tests.nix b/nixos/tests/all-tests.nix index 3ce71b0abe6..7d19e7309bc 100644 --- a/nixos/tests/all-tests.nix +++ b/nixos/tests/all-tests.nix @@ -176,6 +176,7 @@ in initrd-network-ssh = handleTest ./initrd-network-ssh {}; initrdNetwork = handleTest ./initrd-network.nix {}; initrd-secrets = handleTest ./initrd-secrets.nix {}; + inspircd = handleTest ./inspircd.nix {}; installer = handleTest ./installer.nix {}; iodine = handleTest ./iodine.nix {}; ipfs = handleTest ./ipfs.nix {}; diff --git a/nixos/tests/inspircd.nix b/nixos/tests/inspircd.nix new file mode 100644 index 00000000000..b2975091d36 --- /dev/null +++ b/nixos/tests/inspircd.nix @@ -0,0 +1,96 @@ +let + clients = [ + "ircclient1" + "ircclient2" + ]; + server = "inspircd"; + ircPort = 6667; + channel = "nixos-cat"; + iiDir = "/tmp/irc"; +in + +import ./make-test-python.nix ({ pkgs, lib, ... }: { + name = "inspircd"; + nodes = { + "${server}" = { + networking.firewall.allowedTCPPorts = [ ircPort ]; + services.inspircd = { + enable = true; + package = pkgs.inspircdMinimal; + config = '' + + + ''; + }; + }; + } // lib.listToAttrs (builtins.map (client: lib.nameValuePair client { + imports = [ + ./common/user-account.nix + ]; + + systemd.services.ii = { + requires = [ "network.target" ]; + wantedBy = [ "default.target" ]; + + serviceConfig = { + Type = "simple"; + ExecPreStartPre = "mkdir -p ${iiDir}"; + ExecStart = '' + ${lib.getBin pkgs.ii}/bin/ii -n ${client} -s ${server} -i ${iiDir} + ''; + User = "alice"; + }; + }; + }) clients); + + testScript = + let + msg = client: "Hello, my name is ${client}"; + clientScript = client: [ + '' + ${client}.wait_for_unit("network.target") + ${client}.systemctl("start ii") + ${client}.wait_for_unit("ii") + ${client}.wait_for_file("${iiDir}/${server}/out") + '' + # wait until first PING from server arrives before joining, + # so we don't try it too early + '' + ${client}.wait_until_succeeds("grep 'PING' ${iiDir}/${server}/out") + '' + # join ${channel} + '' + ${client}.succeed("echo '/j #${channel}' > ${iiDir}/${server}/in") + ${client}.wait_for_file("${iiDir}/${server}/#${channel}/in") + '' + # send a greeting + '' + ${client}.succeed( + "echo '${msg client}' > ${iiDir}/${server}/#${channel}/in" + ) + '' + # check that all greetings arrived on all clients + ] ++ builtins.map (other: '' + ${client}.succeed( + "grep '${msg other}$' ${iiDir}/${server}/#${channel}/out" + ) + '') clients ++ [ + "# trailing comment to please reformatter :)" + ]; + + # foldl', but requires a non-empty list instead of a start value + reduce = f: list: + builtins.foldl' f (builtins.head list) (builtins.tail list); + in '' + start_all() + ${server}.wait_for_open_port(${toString ircPort}) + + # run clientScript for all clients so that every list + # entry is executed by every client before advancing + # to the next one. + ${lib.concatStringsSep "\n" + (reduce + (a: b: lib.zipListsWith (cs: c: cs + "\n" + c) a b) + (builtins.map clientScript clients))} + ''; +}) From 66454f0e5a1720b8ac9886ef79ce863b8f6ee0a0 Mon Sep 17 00:00:00 2001 From: sternenseemann <0rpkxez4ksa01gb3typccl0i@systemli.org> Date: Mon, 22 Mar 2021 14:44:45 +0100 Subject: [PATCH 08/28] !fixup get rid of trailing comment hack --- nixos/tests/inspircd.nix | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/nixos/tests/inspircd.nix b/nixos/tests/inspircd.nix index b2975091d36..ceeca970f5f 100644 --- a/nixos/tests/inspircd.nix +++ b/nixos/tests/inspircd.nix @@ -74,9 +74,7 @@ import ./make-test-python.nix ({ pkgs, lib, ... }: { ${client}.succeed( "grep '${msg other}$' ${iiDir}/${server}/#${channel}/out" ) - '') clients ++ [ - "# trailing comment to please reformatter :)" - ]; + '') clients; # foldl', but requires a non-empty list instead of a start value reduce = f: list: @@ -88,9 +86,8 @@ import ./make-test-python.nix ({ pkgs, lib, ... }: { # run clientScript for all clients so that every list # entry is executed by every client before advancing # to the next one. - ${lib.concatStringsSep "\n" - (reduce - (a: b: lib.zipListsWith (cs: c: cs + "\n" + c) a b) - (builtins.map clientScript clients))} - ''; + '' + lib.concatStrings + (reduce + (a: b: lib.zipListsWith (cs: c: cs + "\n" + c) a b) + (builtins.map clientScript clients)); }) From 726db56d68cc5c017b9fe58600543825655f362e Mon Sep 17 00:00:00 2001 From: sternenseemann <0rpkxez4ksa01gb3typccl0i@systemli.org> Date: Mon, 22 Mar 2021 14:52:13 +0100 Subject: [PATCH 09/28] !fixup simplify zipListsWith call --- nixos/tests/inspircd.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nixos/tests/inspircd.nix b/nixos/tests/inspircd.nix index ceeca970f5f..f4d82054011 100644 --- a/nixos/tests/inspircd.nix +++ b/nixos/tests/inspircd.nix @@ -88,6 +88,6 @@ import ./make-test-python.nix ({ pkgs, lib, ... }: { # to the next one. '' + lib.concatStrings (reduce - (a: b: lib.zipListsWith (cs: c: cs + "\n" + c) a b) + (lib.zipListsWith (cs: c: cs + c)) (builtins.map clientScript clients)); }) From e9dbf1a586311b1dc8c601e5e86ff0c0da0c0639 Mon Sep 17 00:00:00 2001 From: Martin Weinelt Date: Mon, 22 Mar 2021 15:05:37 +0100 Subject: [PATCH 10/28] firefox: 86.0.1 -> 87.0 --- pkgs/applications/networking/browsers/firefox/packages.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/networking/browsers/firefox/packages.nix b/pkgs/applications/networking/browsers/firefox/packages.nix index 925374d38e8..a9b631f749c 100644 --- a/pkgs/applications/networking/browsers/firefox/packages.nix +++ b/pkgs/applications/networking/browsers/firefox/packages.nix @@ -7,10 +7,10 @@ in rec { firefox = common rec { pname = "firefox"; - ffversion = "86.0.1"; + ffversion = "87.0"; src = fetchurl { url = "mirror://mozilla/firefox/releases/${ffversion}/source/firefox-${ffversion}.source.tar.xz"; - sha512 = "e613cdcadfd71a01800a72c08c590032605ca8a8a0ba93326ffba93c2819f629fd620c23d00ca1274b203adc20acfe5d7913fee240ff14819fb1377ed08b1214"; + sha512 = "c1c08be2283e7a162c8be2f2647ec2bb85cab592738dc45e4b4ffb72969229cc0019a30782a4cb27f09a13b088c63841071dd202b3543dfba295140a7d6246a4"; }; meta = { From 9a0519f0805c9134c58c622fc1792eee8a051cbc Mon Sep 17 00:00:00 2001 From: Martin Weinelt Date: Mon, 22 Mar 2021 15:05:56 +0100 Subject: [PATCH 11/28] firefox-esr: 78.8.0esr -> 78.9.0esr --- pkgs/applications/networking/browsers/firefox/packages.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/networking/browsers/firefox/packages.nix b/pkgs/applications/networking/browsers/firefox/packages.nix index a9b631f749c..e3001d0a08b 100644 --- a/pkgs/applications/networking/browsers/firefox/packages.nix +++ b/pkgs/applications/networking/browsers/firefox/packages.nix @@ -32,10 +32,10 @@ rec { firefox-esr-78 = common rec { pname = "firefox-esr"; - ffversion = "78.8.0esr"; + ffversion = "78.9.0esr"; src = fetchurl { url = "mirror://mozilla/firefox/releases/${ffversion}/source/firefox-${ffversion}.source.tar.xz"; - sha512 = "0160aa6c408c2af66d24b74cf98e1a07ab1604e7b93ffcde79201f9d68e41e896ef965f1904de52d5dd82ffedae33ac96e93b871727bf5dd5983c5af2f1f439f"; + sha512 = "28582fc0a03fb50c0a817deb1083817bb7f2f5d38e98439bf655ed4ee18c83568b3002a59ef76edf357bfb11f55832a221d14130f116aac19d850768fba3ac8b"; }; meta = { From 19225b869015d37a14d7c6604a7ef89808d270eb Mon Sep 17 00:00:00 2001 From: sternenseemann <0rpkxez4ksa01gb3typccl0i@systemli.org> Date: Mon, 22 Mar 2021 15:12:27 +0100 Subject: [PATCH 12/28] !fixup add nixos tests to passthru.tests --- pkgs/servers/irc/inspircd/default.nix | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/pkgs/servers/irc/inspircd/default.nix b/pkgs/servers/irc/inspircd/default.nix index 6339ca67b93..f907e337ce6 100644 --- a/pkgs/servers/irc/inspircd/default.nix +++ b/pkgs/servers/irc/inspircd/default.nix @@ -61,7 +61,7 @@ in { lib , stdenv , fetchFromGitHub -, fetchpatch +, nixosTests , perl , pkg-config , libargon2 @@ -192,6 +192,10 @@ stdenv.mkDerivation rec { enableParallelBuilding = true; + passthru.tests = { + nixos-test = nixosTests.inspircd; + }; + meta = { description = "A modular C++ IRC server"; license = [ lib.licenses.gpl2Only ] From 76d9fe7629036a065b80d795ec7a3405ea7bd232 Mon Sep 17 00:00:00 2001 From: sternenseemann <0rpkxez4ksa01gb3typccl0i@systemli.org> Date: Mon, 22 Mar 2021 15:19:49 +0100 Subject: [PATCH 13/28] !fixup add myself as maintainer for the module --- nixos/modules/services/networking/inspircd.nix | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/nixos/modules/services/networking/inspircd.nix b/nixos/modules/services/networking/inspircd.nix index fcac8d34cce..8cb2b406ee2 100644 --- a/nixos/modules/services/networking/inspircd.nix +++ b/nixos/modules/services/networking/inspircd.nix @@ -6,6 +6,10 @@ let configFile = pkgs.writeText "inspircd.conf" cfg.config; in { + meta = { + maintainers = [ lib.maintainers.sternenseemann ]; + }; + options = { services.inspircd = { enable = lib.mkEnableOption "InspIRCd"; From 4a8aaa58adf7d918f9b6c9d9293d261e24ea2dc7 Mon Sep 17 00:00:00 2001 From: Martin Weinelt Date: Mon, 22 Mar 2021 16:09:57 +0100 Subject: [PATCH 14/28] firefox, firefox-esr: add myself to maintainers --- pkgs/applications/networking/browsers/firefox/packages.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/networking/browsers/firefox/packages.nix b/pkgs/applications/networking/browsers/firefox/packages.nix index e3001d0a08b..7a3fc9b9a07 100644 --- a/pkgs/applications/networking/browsers/firefox/packages.nix +++ b/pkgs/applications/networking/browsers/firefox/packages.nix @@ -16,7 +16,7 @@ rec { meta = { description = "A web browser built from Firefox source tree"; homepage = "http://www.mozilla.com/en-US/firefox/"; - maintainers = with lib.maintainers; [ eelco lovesegfault ]; + maintainers = with lib.maintainers; [ eelco lovesegfault hexa ]; platforms = lib.platforms.unix; badPlatforms = lib.platforms.darwin; broken = stdenv.buildPlatform.is32bit; # since Firefox 60, build on 32-bit platforms fails with "out of memory". @@ -41,7 +41,7 @@ rec { meta = { description = "A web browser built from Firefox Extended Support Release source tree"; homepage = "http://www.mozilla.com/en-US/firefox/"; - maintainers = with lib.maintainers; [ eelco ]; + maintainers = with lib.maintainers; [ eelco hexa ]; platforms = lib.platforms.unix; badPlatforms = lib.platforms.darwin; broken = stdenv.buildPlatform.is32bit; # since Firefox 60, build on 32-bit platforms fails with "out of memory". From dd616b9705267a6ae26ecb2370d97dcc49b6862e Mon Sep 17 00:00:00 2001 From: Robin Townsend Date: Mon, 22 Mar 2021 12:22:40 -0400 Subject: [PATCH 15/28] matrix-synapse: 1.29.0 -> 1.30.0 https://github.com/matrix-org/synapse/releases/tag/v1.30.0 --- pkgs/servers/matrix-synapse/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/servers/matrix-synapse/default.nix b/pkgs/servers/matrix-synapse/default.nix index a9954b4a147..468c46b1269 100644 --- a/pkgs/servers/matrix-synapse/default.nix +++ b/pkgs/servers/matrix-synapse/default.nix @@ -12,11 +12,11 @@ let in buildPythonApplication rec { pname = "matrix-synapse"; - version = "1.29.0"; + version = "1.30.0"; src = fetchPypi { inherit pname version; - sha256 = "sha256-BySztUwVqyaL0AvmJMWEbjVqf981ABKMAU9f9C/0wkU="; + sha256 = "1ca69v479537bbj2hjliwk9zzy9fqqsf7fm188k6xxj0a37q9y41"; }; patches = [ From dd9f191289e01116b50e49c04b9e201779a0dad5 Mon Sep 17 00:00:00 2001 From: "R. RyanTM" Date: Tue, 23 Mar 2021 03:59:22 +0000 Subject: [PATCH 16/28] filezilla: 3.52.2 -> 3.53.0 --- pkgs/applications/networking/ftp/filezilla/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/networking/ftp/filezilla/default.nix b/pkgs/applications/networking/ftp/filezilla/default.nix index b4c1e95087e..f8e9fcc87b0 100644 --- a/pkgs/applications/networking/ftp/filezilla/default.nix +++ b/pkgs/applications/networking/ftp/filezilla/default.nix @@ -17,11 +17,11 @@ stdenv.mkDerivation rec { pname = "filezilla"; - version = "3.52.2"; + version = "3.53.0"; src = fetchurl { url = "https://download.filezilla-project.org/client/FileZilla_${version}_src.tar.bz2"; - sha256 = "sha256-wHiIFpKKJuiGPH3CaxWGROcb7ylAbffS7aN9xIENbN8="; + sha256 = "sha256-MJXnYN9PVADttNqj3hshLElHk2Dy9FzE67clMMh85CA="; }; # https://www.linuxquestions.org/questions/slackware-14/trouble-building-filezilla-3-47-2-1-current-4175671182/#post6099769 From 6f8eb1e65a091ff48c836e81e4c43f6217bad71f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Paul=20Lie=CC=81tar?= Date: Fri, 12 Mar 2021 12:04:27 +0000 Subject: [PATCH 17/28] coq: enable coqide on darwin This was disabled a while ago, when itstool was broken on darwin. Now that itstool works again, it can be re-enabled. --- pkgs/applications/science/logic/coq/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/applications/science/logic/coq/default.nix b/pkgs/applications/science/logic/coq/default.nix index 2ac5a7dd671..560e8dd733a 100644 --- a/pkgs/applications/science/logic/coq/default.nix +++ b/pkgs/applications/science/logic/coq/default.nix @@ -8,7 +8,7 @@ { lib, stdenv, fetchzip, writeText, pkg-config, gnumake42 , customOCamlPackages ? null , ocamlPackages_4_05, ocamlPackages_4_09, ocamlPackages_4_10, ncurses -, buildIde ? !(stdenv.isDarwin && lib.versionAtLeast version "8.10") +, buildIde ? true , glib, gnome3, wrapGAppsHook , csdp ? null , version, coq-version ? null, From 70c22f694b78925facd5874153f9db50df171e08 Mon Sep 17 00:00:00 2001 From: Antonio Nuno Monteiro Date: Thu, 21 Jan 2021 10:13:25 -0800 Subject: [PATCH 18/28] ocamlPackages.ocaml_extlib: 1.7.7 -> 1.7.8 1.7.8 changed the behavior of the minimal build type (which we are keeping as the default because opam-repository does it as well): It now excludes the Base64 module which is prone to namespacing problems. Since google-drive-ocamlfuse still uses the Base64 module, we need to override it to use extlib without the minimal build type. 1.7.9 (?) should make this obsolete as it is planned to split the Base64 module into a separate package. Co-authored-by: sternenseemann --- .../ocaml-modules/extlib/default.nix | 32 ++++++++----------- pkgs/top-level/ocaml-packages.nix | 5 ++- 2 files changed, 17 insertions(+), 20 deletions(-) diff --git a/pkgs/development/ocaml-modules/extlib/default.nix b/pkgs/development/ocaml-modules/extlib/default.nix index 2a437cd29d3..5c7d36fcc08 100644 --- a/pkgs/development/ocaml-modules/extlib/default.nix +++ b/pkgs/development/ocaml-modules/extlib/default.nix @@ -1,35 +1,29 @@ -{ stdenv, lib, fetchurl, fetchpatch, ocaml, findlib, cppo, minimal ? true }: +{ stdenv, lib, fetchurl, ocaml, findlib, cppo +# De facto, option minimal seems to be the default. See the README. +, minimal ? true +}: -assert lib.versionAtLeast (lib.getVersion ocaml) "3.11"; - -stdenv.mkDerivation { - name = "ocaml${ocaml.version}-extlib-1.7.7"; +stdenv.mkDerivation rec { + pname = "ocaml${ocaml.version}-extlib"; + version = "1.7.8"; src = fetchurl { - url = "http://ygrek.org.ua/p/release/ocaml-extlib/extlib-1.7.7.tar.gz"; - sha256 = "1sxmzc1mx3kg62j8kbk0dxkx8mkf1rn70h542cjzrziflznap0s1"; + url = "https://ygrek.org/p/release/ocaml-extlib/extlib-${version}.tar.gz"; + sha256 = "0npq4hq3zym8nmlyji7l5cqk6drx2rkcx73d60rxqh5g8dla8p4k"; }; - patches = [ - (fetchpatch { - url = "https://github.com/ygrek/ocaml-extlib/pull/55.patch"; - sha256 = "0mj3xii56rh8j8brdyv5d06rbs6jjjcy4ib9chafkq3f3sbq795p"; - }) - ]; - buildInputs = [ ocaml findlib cppo ]; createFindlibDestdir = true; + dontConfigure = true; - dontConfigure = true; # Skip configure - # De facto, option minimal=1 seems to be the default. See the README. - buildPhase = "make ${if minimal then "minimal=1" else ""} build"; - installPhase = "make ${if minimal then "minimal=1" else ""} install"; + makeFlags = lib.optional minimal "minimal=1"; meta = { homepage = "https://github.com/ygrek/ocaml-extlib"; description = "Enhancements to the OCaml Standard Library modules"; - license = lib.licenses.lgpl21; + license = lib.licenses.lgpl21Only; platforms = ocaml.meta.platforms or []; + maintainers = [ lib.maintainers.sternenseemann ]; }; } diff --git a/pkgs/top-level/ocaml-packages.nix b/pkgs/top-level/ocaml-packages.nix index 9606cd48720..30f6dca5f16 100644 --- a/pkgs/top-level/ocaml-packages.nix +++ b/pkgs/top-level/ocaml-packages.nix @@ -1408,7 +1408,10 @@ let omake_rc1 = callPackage ../development/tools/ocaml/omake/0.9.8.6-rc1.nix { }; - google-drive-ocamlfuse = callPackage ../applications/networking/google-drive-ocamlfuse { }; + google-drive-ocamlfuse = callPackage ../applications/networking/google-drive-ocamlfuse { + # needs Base64 module + ocaml_extlib = ocaml_extlib.override { minimal = false; }; + }; hol_light = callPackage ../applications/science/logic/hol_light { }; From 3ae466ad564b536eb87103171c393d61720e7eff Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Thalheim?= Date: Mon, 8 Mar 2021 09:15:36 +0100 Subject: [PATCH 19/28] radare2: 5.0.0 -> 5.1.1 --- pkgs/development/tools/analysis/radare2/default.nix | 12 ++++++------ pkgs/development/tools/analysis/radare2/update.py | 1 + 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/pkgs/development/tools/analysis/radare2/default.nix b/pkgs/development/tools/analysis/radare2/default.nix index 3623893ea63..287321804e2 100644 --- a/pkgs/development/tools/analysis/radare2/default.nix +++ b/pkgs/development/tools/analysis/radare2/default.nix @@ -105,12 +105,12 @@ in { # # DO NOT EDIT! Automatically generated by ./update.py radare2 = generic { - version_commit = "25480"; - gittap = "5.0.0"; - gittip = "a476454c00f64acbb7425c178c98714ef76e26d7"; - rev = "5.0.0"; - version = "5.0.0"; - sha256 = "0aa7c27kd0l55fy5qfvxqmakp4pz6240v3hn84095qmqkzcbs420"; + version_commit = "25741"; + gittap = "5.1.1"; + gittip = "a86f8077fc148abd6443384362a3717cd4310e64"; + rev = "5.1.1"; + version = "5.1.1"; + sha256 = "0hv9x31iabasj12g8f04incr1rbcdkxi3xnqn3ggp8gl4h6pf2f3"; cs_ver = "4.0.2"; cs_sha256 = "0y5g74yjyliciawpn16zhdwya7bd3d7b1cccpcccc2wg8vni1k2w"; }; diff --git a/pkgs/development/tools/analysis/radare2/update.py b/pkgs/development/tools/analysis/radare2/update.py index ebd6e073fe5..a9a0a234317 100755 --- a/pkgs/development/tools/analysis/radare2/update.py +++ b/pkgs/development/tools/analysis/radare2/update.py @@ -124,6 +124,7 @@ def main() -> None: radare2_info = get_repo_info(dirname, radare2_rev) + git(dirname, "fetch", r2_cutter_rev) git(dirname, "checkout", r2_cutter_rev) timestamp = git(dirname, "log", "-n1", "--format=%at") From 90a9906637c834ef5d8ed31889b03c94e5653a54 Mon Sep 17 00:00:00 2001 From: "R. RyanTM" Date: Mon, 22 Mar 2021 10:50:19 +0000 Subject: [PATCH 20/28] libcpuid: 0.5.0 -> 0.5.1 --- pkgs/tools/misc/libcpuid/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/tools/misc/libcpuid/default.nix b/pkgs/tools/misc/libcpuid/default.nix index cb02d87e22a..8c4cb5c1a75 100644 --- a/pkgs/tools/misc/libcpuid/default.nix +++ b/pkgs/tools/misc/libcpuid/default.nix @@ -2,13 +2,13 @@ stdenv.mkDerivation rec { pname = "libcpuid"; - version = "0.5.0"; + version = "0.5.1"; src = fetchFromGitHub { owner = "anrieff"; repo = "libcpuid"; rev = "v${version}"; - sha256 = "13v5x8gyka2v4kx52khwalb6ai328z7kk9jlipbbbys63p6nyddr"; + sha256 = "sha256-m10LdtwBk1Lx31AJ4HixEYaCkT7EHpF9+tOV1rSA6VU="; }; patches = [ From ee8070715992073a81a2d6fdf9e0c2c3f88488f6 Mon Sep 17 00:00:00 2001 From: Emery Hemingway Date: Tue, 23 Mar 2021 10:20:20 +0100 Subject: [PATCH 21/28] Trim ehmry from some package maintainers I prefer not to be associated with anything blockchain related. --- pkgs/applications/blockchains/monero/default.nix | 2 +- pkgs/applications/misc/electrum/default.nix | 2 +- pkgs/applications/misc/qtbitcointrader/default.nix | 1 - pkgs/servers/rippled/default.nix | 2 +- pkgs/tools/misc/cpuminer-multi/default.nix | 1 - 5 files changed, 3 insertions(+), 5 deletions(-) diff --git a/pkgs/applications/blockchains/monero/default.nix b/pkgs/applications/blockchains/monero/default.nix index 41931bc9ec3..3be8b908c7a 100644 --- a/pkgs/applications/blockchains/monero/default.nix +++ b/pkgs/applications/blockchains/monero/default.nix @@ -63,6 +63,6 @@ stdenv.mkDerivation rec { homepage = "https://getmonero.org/"; license = licenses.bsd3; platforms = platforms.all; - maintainers = with maintainers; [ ehmry rnhmjoj ]; + maintainers = with maintainers; [ rnhmjoj ]; }; } diff --git a/pkgs/applications/misc/electrum/default.nix b/pkgs/applications/misc/electrum/default.nix index 273077b3bda..edce14d0573 100644 --- a/pkgs/applications/misc/electrum/default.nix +++ b/pkgs/applications/misc/electrum/default.nix @@ -150,6 +150,6 @@ python3.pkgs.buildPythonApplication { homepage = "https://electrum.org/"; license = licenses.mit; platforms = platforms.all; - maintainers = with maintainers; [ ehmry joachifm np prusnak ]; + maintainers = with maintainers; [ joachifm np prusnak ]; }; } diff --git a/pkgs/applications/misc/qtbitcointrader/default.nix b/pkgs/applications/misc/qtbitcointrader/default.nix index fafd91f7811..1bdcd6ea8a6 100644 --- a/pkgs/applications/misc/qtbitcointrader/default.nix +++ b/pkgs/applications/misc/qtbitcointrader/default.nix @@ -31,6 +31,5 @@ mkDerivation { homepage = "https://centrabit.com/"; license = licenses.gpl3; platforms = qt5.qtbase.meta.platforms; - maintainers = [ maintainers.ehmry ]; }; } diff --git a/pkgs/servers/rippled/default.nix b/pkgs/servers/rippled/default.nix index cd19c77cab3..0b2a0e38f01 100644 --- a/pkgs/servers/rippled/default.nix +++ b/pkgs/servers/rippled/default.nix @@ -160,7 +160,7 @@ in stdenv.mkDerivation rec { meta = with lib; { description = "Ripple P2P payment network reference server"; homepage = "https://github.com/ripple/rippled"; - maintainers = with maintainers; [ ehmry offline RaghavSood ]; + maintainers = with maintainers; [ offline RaghavSood ]; license = licenses.isc; platforms = [ "x86_64-linux" ]; }; diff --git a/pkgs/tools/misc/cpuminer-multi/default.nix b/pkgs/tools/misc/cpuminer-multi/default.nix index a23675fe911..fac8fbcfee9 100644 --- a/pkgs/tools/misc/cpuminer-multi/default.nix +++ b/pkgs/tools/misc/cpuminer-multi/default.nix @@ -27,7 +27,6 @@ stdenv.mkDerivation { description = "Multi-algo CPUMiner"; homepage = "https://github.com/wolf9466/cpuminer-multi"; license = licenses.gpl2; - maintainers = [ maintainers.ehmry ]; # does not build on i686 https://github.com/lucasjones/cpuminer-multi/issues/27 platforms = [ "x86_64-linux" ]; }; From 012b3a659eaec450b5372a09aea6d32e1805c1a9 Mon Sep 17 00:00:00 2001 From: zimbatm Date: Tue, 23 Mar 2021 10:40:10 +0100 Subject: [PATCH 22/28] terraform-providers.kubernetes-alpha: nightly20200608 -> 0.3.2 --- .../networking/cluster/terraform-providers/providers.json | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/pkgs/applications/networking/cluster/terraform-providers/providers.json b/pkgs/applications/networking/cluster/terraform-providers/providers.json index 4ec886a34fc..8e15238f10c 100644 --- a/pkgs/applications/networking/cluster/terraform-providers/providers.json +++ b/pkgs/applications/networking/cluster/terraform-providers/providers.json @@ -511,10 +511,12 @@ }, "kubernetes-alpha": { "owner": "hashicorp", + "provider-source-address": "registry.terraform.io/hashicorp/kubernetes-alpha", "repo": "terraform-provider-kubernetes-alpha", - "rev": "nightly20200608", - "sha256": "1g171sppf3kq5qlp6g0qqdm0x8lnpizgw8bxjlhp9b6cl4kym70m", - "version": "nightly20200608" + "rev": "v0.3.2", + "sha256": "0lgh42fvfwvj6cw8i7800k016ay4babqiz38q0y7apq4s7vs62sb", + "vendorSha256": null, + "version": "0.3.2" }, "launchdarkly": { "owner": "terraform-providers", From 003af12c96f3b8bb943bc8e257c419833f408912 Mon Sep 17 00:00:00 2001 From: Vincenzo Mantova Date: Sun, 21 Mar 2021 21:28:41 +0000 Subject: [PATCH 23/28] perlPackages.LaTeXML: enable ImageMagick --- pkgs/top-level/perl-packages.nix | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index 557484e96ff..948a70adad9 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -10955,11 +10955,12 @@ let url = "mirror://cpan/authors/id/B/BR/BRMILLER/${pname}-${version}.tar.gz"; sha256 = "0dr69rgl4si9i9ww1r4dc7apgb7y6f7ih808w4g0924cvz823s0x"; }; - propagatedBuildInputs = [ ArchiveZip DBFile FileWhich IOString ImageSize JSONXS LWP ParseRecDescent PodParser TextUnidecode XMLLibXSLT ]; + propagatedBuildInputs = [ ArchiveZip DBFile FileWhich IOString ImageSize JSONXS LWP ParseRecDescent PerlMagick PodParser TextUnidecode XMLLibXSLT ]; preCheck = '' rm t/931_epub.t # epub test fails ''; nativeBuildInputs = lib.optional stdenv.isDarwin shortenPerlShebang; + buildInputs = [ pkgs.makeWrapper ]; # shebangs need to be patched before executables are copied to $out preBuild = '' patchShebangs bin/ @@ -10968,6 +10969,12 @@ let shortenPerlShebang "$file" done ''; + postInstall = '' + for file in latexmlc latexmlmath latexmlpost ; do + # add runtime dependencies that cause silent failures when missing + wrapProgram $out/bin/$file --prefix PATH : ${lib.makeBinPath [ pkgs.ghostscript pkgs.potrace ]} + done + ''; meta = { description = "Transforms TeX and LaTeX into XML/HTML/MathML"; license = lib.licenses.free; From eb225f5d9d278da9c8223e5930e215a38137bbe3 Mon Sep 17 00:00:00 2001 From: Boris Pek Date: Tue, 23 Mar 2021 13:14:45 +0300 Subject: [PATCH 24/28] eiskaltdcpp: remove build dependency from boost (#116998) eiskaltdcpp: remove build dependency from boost + Remove eiskaltdcpp-cli-xmlrpc: it is absolutely useless because XML-RPC support in eiskaltdcpp-daemon is currently in a broken state + Update cmake options + eiskaltdcpp: install eiskaltdcpp-cli-jsonrpc + eiskaltdcpp: symlink $pname-qt to $pname --- .../networking/p2p/eiskaltdcpp/default.nix | 26 ++++++++++--------- 1 file changed, 14 insertions(+), 12 deletions(-) diff --git a/pkgs/applications/networking/p2p/eiskaltdcpp/default.nix b/pkgs/applications/networking/p2p/eiskaltdcpp/default.nix index 0174d133011..f86eefe668f 100644 --- a/pkgs/applications/networking/p2p/eiskaltdcpp/default.nix +++ b/pkgs/applications/networking/p2p/eiskaltdcpp/default.nix @@ -1,4 +1,4 @@ -{ lib, stdenv, fetchFromGitHub, cmake, pkg-config, boost, bzip2, libX11 +{ lib, stdenv, fetchFromGitHub, cmake, pkg-config, bzip2, libX11 , mkDerivation, qtbase, qttools, qtmultimedia, qtscript , libiconv, pcre-cpp, libidn, lua5, miniupnpc, aspell, gettext, perl }: @@ -14,30 +14,32 @@ mkDerivation rec { }; nativeBuildInputs = [ cmake pkg-config ]; - buildInputs = [ qtbase qttools qtmultimedia qtscript boost bzip2 libX11 pcre-cpp libidn lua5 miniupnpc aspell gettext + buildInputs = [ qtbase qttools qtmultimedia qtscript bzip2 libX11 pcre-cpp libidn lua5 miniupnpc aspell gettext (perl.withPackages (p: with p; [ GetoptLong - RpcXML TermShellUI ])) ] ++ lib.optional stdenv.isDarwin libiconv; cmakeFlags = [ - "-DUSE_ASPELL=ON" - "-DFREE_SPACE_BAR_C=ON" - "-DUSE_MINIUPNP=ON" - "-DLOCAL_MINIUPNP=ON" "-DDBUS_NOTIFY=ON" - "-DUSE_JS=ON" - "-DPERL_REGEX=ON" - "-DUSE_CLI_XMLRPC=ON" - "-DWITH_SOUNDS=ON" + "-DFREE_SPACE_BAR_C=ON" "-DLUA_SCRIPT=ON" + "-DPERL_REGEX=ON" + "-DUSE_ASPELL=ON" + "-DUSE_CLI_JSONRPC=ON" + "-DUSE_MINIUPNP=ON" + "-DUSE_JS=ON" "-DWITH_LUASCRIPTS=ON" + "-DWITH_SOUNDS=ON" ]; + postInstall = '' + ln -s $out/bin/$pname-qt $out/bin/$pname + ''; + preFixup = '' - substituteInPlace $out/bin/eiskaltdcpp-cli-xmlrpc \ + substituteInPlace $out/bin/eiskaltdcpp-cli-jsonrpc \ --replace "/usr/local" "$out" ''; From a9ec3f7b66862a84e17b637f047c56d0b10dcb99 Mon Sep 17 00:00:00 2001 From: zseri Date: Sun, 21 Mar 2021 23:11:17 +0100 Subject: [PATCH 25/28] digitemp: init at 3.7.2 This does not include digitemp_DS2490, as that seems to require libusb0.1, which isn't in nixpkgs. --- pkgs/tools/misc/digitemp/default.nix | 53 ++++++++++++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 ++ 2 files changed, 55 insertions(+) create mode 100644 pkgs/tools/misc/digitemp/default.nix diff --git a/pkgs/tools/misc/digitemp/default.nix b/pkgs/tools/misc/digitemp/default.nix new file mode 100644 index 00000000000..adf23e4bdf5 --- /dev/null +++ b/pkgs/tools/misc/digitemp/default.nix @@ -0,0 +1,53 @@ +{ fetchFromGitHub, lib, stdenv }: + +stdenv.mkDerivation rec { + pname = "digitemp"; + version = "3.7.2"; + + src = fetchFromGitHub { + owner = "bcl"; + repo = "digitemp"; + rev = "v${version}"; + sha256 = "19zka5fcdxhhginaspak76l984iqq9v2j6qrwvi5mvca7bcj8f72"; + }; + + enableParallelBuilding = true; + + makeFlags = [ + "LOCK=no" + "ds9097" + "ds9097u" + ]; + + installPhase = '' + runHook preInstall + install -D -m555 -t $out/bin digitemp_* + install -D -m444 -t $out/share/doc/${pname} FAQ README + runHook postInstall + ''; + + meta = with lib; { + description = "Temperature logging and reporting using Maxim's iButtons and 1-Wire protocol"; + longDescription = '' + DigiTemp is a command line application used for reading 1-wire sensors like + the DS18S20 temperature sensor, or DS2438 battery monitor. DigiTemp supports + the following devices: + + DS18S20 (and older DS1820) Temperature Sensor + DS18B20 Temperature Sensor + DS1822 Temperature Sensor + DS2438 Battery monitor + DS2409 1-wire coupler (used in 1-wire hubs) + DS2422 Counter + DS2423 Counter + + The output format can be customized and all settings are stored in a + configuration file (.digitemprc) in the current directory. DigiTemp can + repeatedly read the sensors and output to stdout and/or to a logfile. + ''; + homepage = "https://www.digitemp.com"; + license = licenses.gpl2Plus; + maintainers = with maintainers; [ zseri ]; + platforms = platforms.unix; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 6984b5d6539..fd86483198f 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -2189,6 +2189,8 @@ in inherit (darwin.apple_sdk.frameworks) Security; }; + digitemp = callPackage ../tools/misc/digitemp { }; + dijo = callPackage ../tools/misc/dijo { inherit (darwin.apple_sdk.frameworks) CoreServices; }; From d527d1d528c8d614368e624eadbc1c379df31cdf Mon Sep 17 00:00:00 2001 From: Peter Hoeg Date: Tue, 23 Mar 2021 16:58:34 +0800 Subject: [PATCH 26/28] home-manager: 2021-01-16 -> 2021-03-21 --- pkgs/tools/package-management/home-manager/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/tools/package-management/home-manager/default.nix b/pkgs/tools/package-management/home-manager/default.nix index 8897a313e8d..db60d5e8429 100644 --- a/pkgs/tools/package-management/home-manager/default.nix +++ b/pkgs/tools/package-management/home-manager/default.nix @@ -6,13 +6,13 @@ stdenv.mkDerivation rec { pname = "home-manager"; - version = "2021-01-16"; + version = "2021-03-21"; src = fetchFromGitHub { owner = "nix-community"; repo = "home-manager"; - rev = "8127799f79ee96129b295d78294f40a54078131f"; - sha256 = "0iji8nxa66s409pvjwi370ycsw4m74w6b3ywnjpfkl2filpapjns"; + rev = "ddcd476603dfd3388b1dc8234fa9d550156a51f5"; + sha256 = "sha256-E6ABXtzw6bHmrIirB1sJL6S2MEa3sfcvRLzRa92frCo="; }; nativeBuildInputs = [ makeWrapper ]; From 2a2a06cc096f2fb318802badb934ab0587f7a85f Mon Sep 17 00:00:00 2001 From: Michael Weiss Date: Tue, 23 Mar 2021 13:18:23 +0100 Subject: [PATCH 27/28] python3Packages.tatsu: 5.6.0 -> 5.6.1 --- pkgs/development/python-modules/tatsu/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/tatsu/default.nix b/pkgs/development/python-modules/tatsu/default.nix index a663b6e21dd..d5dfda53c08 100644 --- a/pkgs/development/python-modules/tatsu/default.nix +++ b/pkgs/development/python-modules/tatsu/default.nix @@ -5,13 +5,13 @@ buildPythonPackage rec { pname = "tatsu"; - version = "5.6.0"; + version = "5.6.1"; src = fetchFromGitHub { owner = "neogeny"; repo = "TatSu"; rev = "v${version}"; - sha256 = "sha256-kC2MxMebS4TQEZBgTmYRBWaWSF36rVS3bXIsQgRrF0Y="; + sha256 = "149ra1lwax5m1svlv4dwjfqw00lc5vwyfj6zw2v0ammmfm1b94x9"; }; disabled = pythonOlder "3.8"; From 80cef4476a6d3c2a7cb5ad46c4490eed7ac39a28 Mon Sep 17 00:00:00 2001 From: sternenseemann <0rpkxez4ksa01gb3typccl0i@systemli.org> Date: Tue, 23 Mar 2021 10:36:48 +0100 Subject: [PATCH 28/28] vscode-extensions.redhat.java: mark as broken, not available Is available for jdk >= 11 and broken for jdk < 11. --- pkgs/misc/vscode-extensions/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/misc/vscode-extensions/default.nix b/pkgs/misc/vscode-extensions/default.nix index 095db2d31cc..533c2e3f4a0 100644 --- a/pkgs/misc/vscode-extensions/default.nix +++ b/pkgs/misc/vscode-extensions/default.nix @@ -604,7 +604,7 @@ let buildInputs = [ jdk ]; meta = { license = lib.licenses.epl20; - broken = lib.versionAtLeast jdk.version "11"; + broken = lib.versionOlder jdk.version "11"; }; };