From cfb06016e80ee46b642008d1a6b353127124c022 Mon Sep 17 00:00:00 2001 From: Luflosi Date: Mon, 1 Feb 2021 18:19:40 +0100 Subject: [PATCH 001/203] nixos/availableKernelModules: add cherry hid This adds support for Cherry USB keyboards at boot. --- nixos/modules/system/boot/kernel.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nixos/modules/system/boot/kernel.nix b/nixos/modules/system/boot/kernel.nix index 9287852bacfd..f98f8914e934 100644 --- a/nixos/modules/system/boot/kernel.nix +++ b/nixos/modules/system/boot/kernel.nix @@ -225,7 +225,7 @@ in "xhci_pci" "usbhid" "hid_generic" "hid_lenovo" "hid_apple" "hid_roccat" - "hid_logitech_hidpp" "hid_logitech_dj" "hid_microsoft" + "hid_logitech_hidpp" "hid_logitech_dj" "hid_microsoft" "hid_cherry" ] ++ optionals (pkgs.stdenv.isi686 || pkgs.stdenv.isx86_64) [ # Misc. x86 keyboard stuff. From b2c2a9252dcc5cb052905794f8e5793113bc080c Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 3 Mar 2022 22:21:09 +0000 Subject: [PATCH 002/203] intel-media-sdk: 22.2.0 -> 22.2.1 --- pkgs/development/libraries/intel-media-sdk/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/intel-media-sdk/default.nix b/pkgs/development/libraries/intel-media-sdk/default.nix index 71a4437397a5..034d5b74b563 100644 --- a/pkgs/development/libraries/intel-media-sdk/default.nix +++ b/pkgs/development/libraries/intel-media-sdk/default.nix @@ -3,13 +3,13 @@ stdenv.mkDerivation rec { pname = "intel-media-sdk"; - version = "22.2.0"; + version = "22.2.1"; src = fetchFromGitHub { owner = "Intel-Media-SDK"; repo = "MediaSDK"; rev = "intel-mediasdk-${version}"; - sha256 = "sha256-Hcm48KTuBQbnVHd/T5XqQKbVS/XgJ4TYNbSCc8O53XQ="; + sha256 = "sha256-S8RShdpXz1WQoyuLxUDT94ftnep2WCy8oYKzeYBgftw="; }; nativeBuildInputs = [ cmake pkg-config ]; From 3a60fe39c58546498670db3fadad9c4f4d4ed4de Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Mon, 7 Mar 2022 02:08:54 +0000 Subject: [PATCH 003/203] calibre-web: 0.6.16 -> 0.6.17 --- pkgs/servers/calibre-web/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/servers/calibre-web/default.nix b/pkgs/servers/calibre-web/default.nix index f6cb86e409c7..308654039983 100644 --- a/pkgs/servers/calibre-web/default.nix +++ b/pkgs/servers/calibre-web/default.nix @@ -7,13 +7,13 @@ python3.pkgs.buildPythonApplication rec { pname = "calibre-web"; - version = "0.6.16"; + version = "0.6.17"; src = fetchFromGitHub { owner = "janeczku"; repo = "calibre-web"; rev = version; - sha256 = "sha256-vRnzsV9pubAmyVSxZpBK+mD9Bkbt6BQYo5S0Jsl26Ns="; + sha256 = "sha256-K2va9as+z00txpg/0fR89+kpMzpQSiSSIV489NDs8Bs="; }; propagatedBuildInputs = with python3Packages; [ From 238d2dfafc23d78e09b99e908e3b5f496d4163c2 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Sat, 12 Mar 2022 00:39:12 +0000 Subject: [PATCH 004/203] autosuspend: 4.1.0 -> 4.1.1 --- pkgs/os-specific/linux/autosuspend/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/os-specific/linux/autosuspend/default.nix b/pkgs/os-specific/linux/autosuspend/default.nix index 4283230f7ad7..fd4164be34a7 100644 --- a/pkgs/os-specific/linux/autosuspend/default.nix +++ b/pkgs/os-specific/linux/autosuspend/default.nix @@ -5,13 +5,13 @@ python3.pkgs.buildPythonApplication rec { pname = "autosuspend"; - version = "4.1.0"; + version = "4.1.1"; src = fetchFromGitHub { owner = "languitar"; repo = pname; rev = "v${version}"; - sha256 = "0vn1qhsmjlgd7gn11w938kraz55xyixpzrgq06dar066hcsn1x8w"; + sha256 = "sha256-UdHaz1JIofUrw9G/K40AVhBWdvMdTK4Wa7FWb6ntwr0="; }; postPatch = '' From 0340236668a81a70f63089f1d6ca2893e980f70a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Maciej=20Kr=C3=BCger?= Date: Thu, 17 Mar 2022 19:49:34 +0100 Subject: [PATCH 005/203] nixos/matrix-synapse: Fix configFile type This is now a derivation as pkg.formats is used, therefore this should be of type path --- nixos/modules/services/matrix/matrix-synapse.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nixos/modules/services/matrix/matrix-synapse.nix b/nixos/modules/services/matrix/matrix-synapse.nix index c4d14dbd547e..4abcc8b69bc5 100644 --- a/nixos/modules/services/matrix/matrix-synapse.nix +++ b/nixos/modules/services/matrix/matrix-synapse.nix @@ -141,7 +141,7 @@ in { enable = mkEnableOption "matrix.org synapse"; configFile = mkOption { - type = types.str; + type = types.path; readOnly = true; description = '' Path to the configuration file on the target system. Useful to configure e.g. workers From 3c394e7e356278aa9be4713ab550feb3628d9028 Mon Sep 17 00:00:00 2001 From: Craig Younkins Date: Sun, 20 Mar 2022 13:31:35 -0400 Subject: [PATCH 006/203] fclones: 0.17.1 -> 0.18.1 --- pkgs/tools/misc/fclones/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/tools/misc/fclones/default.nix b/pkgs/tools/misc/fclones/default.nix index 1b35fe0f67b7..61f7eb09d9a0 100644 --- a/pkgs/tools/misc/fclones/default.nix +++ b/pkgs/tools/misc/fclones/default.nix @@ -8,16 +8,16 @@ rustPlatform.buildRustPackage rec { pname = "fclones"; - version = "0.17.1"; + version = "0.18.1"; src = fetchFromGitHub { owner = "pkolaczk"; repo = pname; rev = "v${version}"; - sha256 = "0d5an35fnz9rdr2ssm952zpzn4jynpvbfyidnqcmp0lclr60c2ir"; + sha256 = "0dj82dds788q0qlsrbal3n3lajmi9931svy8wk482jfqq0f8nna5"; }; - cargoSha256 = "sha256-CtQ4grQqgMUYzPDw2Qankl8jmqwwCrawNCmaY97JPkQ="; + cargoSha256 = "131pbjf9s6l6g4dl6fnjh1p0ydd4nry0cvg1qrjba8qk7qwpc7jb"; buildInputs = lib.optionals stdenv.isDarwin [ AppKit From bc4631d8f0f3f388be3fffb959a893ead997d50a Mon Sep 17 00:00:00 2001 From: Silvan Mosberger Date: Thu, 24 Mar 2022 00:25:35 +0100 Subject: [PATCH 007/203] nixos/syncplay: Add server password support --- nixos/modules/services/networking/syncplay.nix | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/nixos/modules/services/networking/syncplay.nix b/nixos/modules/services/networking/syncplay.nix index b6faf2d3f772..c17426ecced7 100644 --- a/nixos/modules/services/networking/syncplay.nix +++ b/nixos/modules/services/networking/syncplay.nix @@ -61,6 +61,15 @@ in Group to use when running Syncplay. ''; }; + + passwordFile = mkOption { + type = types.nullOr types.path; + default = null; + description = '' + Path to the file that contains the server password. If + null, the server doesn't require a password. + ''; + }; }; }; @@ -71,10 +80,17 @@ in after = [ "network-online.target" ]; serviceConfig = { - ExecStart = "${pkgs.syncplay}/bin/syncplay-server ${escapeShellArgs cmdArgs}"; User = cfg.user; Group = cfg.group; + LoadCredential = lib.mkIf (cfg.passwordFile != null) "password:${cfg.passwordFile}"; }; + + script = '' + ${lib.optionalString (cfg.passwordFile != null) '' + export SYNCPLAY_PASSWORD=$(cat "''${CREDENTIALS_DIRECTORY}/password") + ''} + exec ${pkgs.syncplay}/bin/syncplay-server ${escapeShellArgs cmdArgs} + ''; }; }; } From 2ec30e4b14e7a32147c62eeb2bf410ab3acb6446 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 25 Mar 2022 07:38:20 +0000 Subject: [PATCH 008/203] matrix-synapse: 1.55.0 -> 1.55.2 --- 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 cd762c7dc8be..ffe76b25b191 100644 --- a/pkgs/servers/matrix-synapse/default.nix +++ b/pkgs/servers/matrix-synapse/default.nix @@ -11,11 +11,11 @@ in with python3.pkgs; buildPythonApplication rec { pname = "matrix-synapse"; - version = "1.55.0"; + version = "1.55.2"; src = fetchPypi { inherit pname version; - sha256 = "sha256-IfLyp6IexNTMrq795qUMAPQ62mrMPwFyLE1yL8cu0T0="; + sha256 = "sha256-MCdwatNo4cDAaq9a3UFwSLJzT1ZxhoYqPOu/a957D2Y="; }; buildInputs = [ openssl ]; From 863773970cdf5de8ec2bd569d453df43365ae5bb Mon Sep 17 00:00:00 2001 From: notgne2 Date: Fri, 25 Mar 2022 08:32:49 -0700 Subject: [PATCH 009/203] nixos/oauth2_proxy: add user group --- nixos/modules/services/security/oauth2_proxy.nix | 3 +++ 1 file changed, 3 insertions(+) diff --git a/nixos/modules/services/security/oauth2_proxy.nix b/nixos/modules/services/security/oauth2_proxy.nix index ce295bd4ba3b..5c89d5872376 100644 --- a/nixos/modules/services/security/oauth2_proxy.nix +++ b/nixos/modules/services/security/oauth2_proxy.nix @@ -571,8 +571,11 @@ in users.users.oauth2_proxy = { description = "OAuth2 Proxy"; isSystemUser = true; + group = "oauth2_proxy"; }; + users.groups.oauth2_proxy = {}; + systemd.services.oauth2_proxy = { description = "OAuth2 Proxy"; path = [ cfg.package ]; From 16f80139f08397a41e6981dccf9f8ae5ff13d1a2 Mon Sep 17 00:00:00 2001 From: Antoine Martin Date: Fri, 25 Mar 2022 18:26:38 +0100 Subject: [PATCH 010/203] nixos/paperless-ng: fix mail importer The private network setting was placed on the wrong service --- nixos/modules/services/misc/paperless-ng.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/nixos/modules/services/misc/paperless-ng.nix b/nixos/modules/services/misc/paperless-ng.nix index 11e44f5ece57..881fa93c04ee 100644 --- a/nixos/modules/services/misc/paperless-ng.nix +++ b/nixos/modules/services/misc/paperless-ng.nix @@ -216,6 +216,8 @@ in Restart = "on-failure"; # The `mbind` syscall is needed for running the classifier. SystemCallFilter = defaultServiceConfig.SystemCallFilter ++ [ "mbind" ]; + # Needs to talk to mail server for automated import rules + PrivateNetwork = false; }; environment = env; wantedBy = [ "multi-user.target" ]; @@ -258,8 +260,6 @@ in '${cfg.passwordFile}' '${cfg.dataDir}/superuser-password' ''; Type = "oneshot"; - # Needs to talk to mail server for automated import rules - PrivateNetwork = false; }; }; From 2cc55d8c776ba6881c3bf71a7f4d0b0ba1bcd8f2 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Mon, 28 Mar 2022 05:48:08 +0000 Subject: [PATCH 011/203] tautulli: 2.9.4 -> 2.9.5 --- pkgs/servers/tautulli/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/servers/tautulli/default.nix b/pkgs/servers/tautulli/default.nix index 9e5fb8e44827..df327f0e8f32 100644 --- a/pkgs/servers/tautulli/default.nix +++ b/pkgs/servers/tautulli/default.nix @@ -2,7 +2,7 @@ buildPythonApplication rec { pname = "Tautulli"; - version = "2.9.4"; + version = "2.9.5"; format = "other"; pythonPath = [ setuptools ]; @@ -12,7 +12,7 @@ buildPythonApplication rec { owner = "Tautulli"; repo = pname; rev = "v${version}"; - sha256 = "sha256-Hgu1peKv00+FZtszewqofwRueC5ZfUFMM/5ax2Gnf44="; + sha256 = "sha256-agkYfLWmeQOD+dtoYvTcNPXjfU3kv56c15AFeB7eVTw="; }; installPhase = '' From ecbf5ae27a9ee6e877a20e3abce85c21e4bda9c2 Mon Sep 17 00:00:00 2001 From: Robert Hensing Date: Mon, 21 Mar 2022 00:14:06 +0100 Subject: [PATCH 012/203] nixosTest: Simplify doc by deprecating syntax sugar --- .../writing-nixos-tests.section.md | 36 ++++++---------- .../writing-nixos-tests.section.xml | 43 ++++++++----------- nixos/lib/testing-python.nix | 1 + 3 files changed, 33 insertions(+), 47 deletions(-) diff --git a/nixos/doc/manual/development/writing-nixos-tests.section.md b/nixos/doc/manual/development/writing-nixos-tests.section.md index 433e1906f775..a9ffffe2277c 100644 --- a/nixos/doc/manual/development/writing-nixos-tests.section.md +++ b/nixos/doc/manual/development/writing-nixos-tests.section.md @@ -5,15 +5,9 @@ A NixOS test is a Nix expression that has the following structure: ```nix import ./make-test-python.nix { - # Either the configuration of a single machine: - machine = - { config, pkgs, ... }: - { configuration… - }; - - # Or a set of machines: + # One or more machines: nodes = - { machine1 = + { machine = { config, pkgs, ... }: { … }; machine2 = { config, pkgs, ... }: { … }; @@ -29,17 +23,16 @@ import ./make-test-python.nix { The attribute `testScript` is a bit of Python code that executes the test (described below). During the test, it will start one or more -virtual machines, the configuration of which is described by the -attribute `machine` (if you need only one machine in your test) or by -the attribute `nodes` (if you need multiple machines). For instance, -[`login.nix`](https://github.com/NixOS/nixpkgs/blob/master/nixos/tests/login.nix) -only needs a single machine to test whether users can log in +virtual machines, the configuration of which is described by +the attribute `nodes`. + +An example of a single-node test is +[`login.nix`](https://github.com/NixOS/nixpkgs/blob/master/nixos/tests/login.nix). +It only needs a single machine to test whether users can log in on the virtual console, whether device ownership is correctly maintained -when switching between consoles, and so on. On the other hand, -[`nfs/simple.nix`](https://github.com/NixOS/nixpkgs/blob/master/nixos/tests/nfs/simple.nix), -which tests NFS client and server functionality in the -Linux kernel (including whether locks are maintained across server -crashes), requires three machines: a server and two clients. +when switching between consoles, and so on. An interesting multi-node test is +[`nfs/simple.nix`](https://github.com/NixOS/nixpkgs/blob/master/nixos/tests/nfs/simple.nix). +It uses two client nodes to test correct locking across server crashes. There are a few special NixOS configuration options for test VMs: @@ -67,8 +60,7 @@ The test script is a sequence of Python statements that perform various actions, such as starting VMs, executing commands in the VMs, and so on. Each virtual machine is represented as an object stored in the variable `name` if this is also the identifier of the machine in the declarative -config. If you didn\'t specify multiple machines using the `nodes` -attribute, it is just `machine`. The following example starts the +config. If you specified a node `nodes.machine`, the following example starts the machine, waits until it has finished booting, then executes a command and checks that the output is more-or-less correct: @@ -79,7 +71,7 @@ if not "Linux" in machine.succeed("uname"): raise Exception("Wrong OS") ``` -The first line is actually unnecessary; machines are implicitly started +The first line is technically unnecessary; machines are implicitly started when you first execute an action on them (such as `wait_for_unit` or `succeed`). If you have multiple machines, you can speed up the test by starting them in parallel: @@ -303,7 +295,7 @@ For faster dev cycles it\'s also possible to disable the code-linters ```nix import ./make-test-python.nix { skipLint = true; - machine = + nodes.machine = { config, pkgs, ... }: { configuration… }; diff --git a/nixos/doc/manual/from_md/development/writing-nixos-tests.section.xml b/nixos/doc/manual/from_md/development/writing-nixos-tests.section.xml index 4f856f98f2a2..b194d58e5beb 100644 --- a/nixos/doc/manual/from_md/development/writing-nixos-tests.section.xml +++ b/nixos/doc/manual/from_md/development/writing-nixos-tests.section.xml @@ -6,15 +6,9 @@ import ./make-test-python.nix { - # Either the configuration of a single machine: - machine = - { config, pkgs, ... }: - { configuration… - }; - - # Or a set of machines: + # One or more machines: nodes = - { machine1 = + { machine = { config, pkgs, ... }: { … }; machine2 = { config, pkgs, ... }: { … }; @@ -31,18 +25,18 @@ import ./make-test-python.nix { The attribute testScript is a bit of Python code that executes the test (described below). During the test, it will start one or more virtual machines, the configuration of which is - described by the attribute machine (if you need - only one machine in your test) or by the attribute - nodes (if you need multiple machines). For - instance, - login.nix - only needs a single machine to test whether users can log in on the - virtual console, whether device ownership is correctly maintained - when switching between consoles, and so on. On the other hand, - nfs/simple.nix, - which tests NFS client and server functionality in the Linux kernel - (including whether locks are maintained across server crashes), - requires three machines: a server and two clients. + described by the attribute nodes. + + + An example of a single-node test is + login.nix. + It only needs a single machine to test whether users can log in on + the virtual console, whether device ownership is correctly + maintained when switching between consoles, and so on. An + interesting multi-node test is + nfs/simple.nix. + It uses two client nodes to test correct locking across server + crashes. There are a few special NixOS configuration options for test VMs: @@ -94,9 +88,8 @@ import ./make-test-python.nix { various actions, such as starting VMs, executing commands in the VMs, and so on. Each virtual machine is represented as an object stored in the variable name if this is also the - identifier of the machine in the declarative config. If you didn't - specify multiple machines using the nodes - attribute, it is just machine. The following + identifier of the machine in the declarative config. If you + specified a node nodes.machine, the following example starts the machine, waits until it has finished booting, then executes a command and checks that the output is more-or-less correct: @@ -108,7 +101,7 @@ if not "Linux" in machine.succeed("uname"): raise Exception("Wrong OS") - The first line is actually unnecessary; machines are implicitly + The first line is technically unnecessary; machines are implicitly started when you first execute an action on them (such as wait_for_unit or succeed). If you have multiple machines, you can speed up the test by starting @@ -554,7 +547,7 @@ machine.wait_for_unit("xautolock.service", "x-session-user") import ./make-test-python.nix { skipLint = true; - machine = + nodes.machine = { config, pkgs, ... }: { configuration… }; diff --git a/nixos/lib/testing-python.nix b/nixos/lib/testing-python.nix index facc7a253a75..cd2bb2f9d4d4 100644 --- a/nixos/lib/testing-python.nix +++ b/nixos/lib/testing-python.nix @@ -206,6 +206,7 @@ rec { )]; }; in + lib.warnIf (t?machine) "In test `${name}': The `machine' attribute in NixOS tests (pkgs.nixosTest / make-test-pyton.nix / testing-python.nix / makeTest) is deprecated. Please use the equivalent `nodes.machine'." build-vms.buildVirtualNetwork ( nodes // lib.optionalAttrs (machine != null) { inherit machine; } ); From aa0f27abb06ca66a1dc99493ada65e2bbd6000c9 Mon Sep 17 00:00:00 2001 From: Robert Hensing Date: Mon, 21 Mar 2022 00:15:30 +0100 Subject: [PATCH 013/203] treewide: machine -> nodes.machine --- nixos/tests/aesmd.nix | 2 +- nixos/tests/agda.nix | 2 +- nixos/tests/airsonic.nix | 2 +- nixos/tests/amazon-init-shell.nix | 2 +- nixos/tests/apfs.nix | 2 +- nixos/tests/apparmor.nix | 2 +- nixos/tests/atd.nix | 2 +- nixos/tests/atop.nix | 12 ++++++------ nixos/tests/bcachefs.nix | 2 +- nixos/tests/beanstalkd.nix | 2 +- nixos/tests/bees.nix | 2 +- nixos/tests/bind.nix | 2 +- nixos/tests/bitcoind.nix | 2 +- nixos/tests/blockbook-frontend.nix | 2 +- nixos/tests/boot-stage1.nix | 2 +- nixos/tests/boot.nix | 6 +++--- nixos/tests/bpf.nix | 2 +- nixos/tests/breitbandmessung.nix | 2 +- nixos/tests/brscan5.nix | 2 +- nixos/tests/buildkite-agents.nix | 2 +- nixos/tests/cage.nix | 2 +- nixos/tests/cagebreak.nix | 2 +- nixos/tests/cfssl.nix | 2 +- nixos/tests/clickhouse.nix | 2 +- nixos/tests/cloud-init.nix | 2 +- nixos/tests/cntr.nix | 2 +- nixos/tests/collectd.nix | 2 +- nixos/tests/containers-bridge.nix | 2 +- nixos/tests/containers-custom-pkgs.nix | 2 +- nixos/tests/containers-ephemeral.nix | 2 +- nixos/tests/containers-extra_veth.nix | 2 +- nixos/tests/containers-hosts.nix | 2 +- nixos/tests/containers-imperative.nix | 2 +- nixos/tests/containers-ip.nix | 2 +- nixos/tests/containers-names.nix | 2 +- nixos/tests/containers-nested.nix | 2 +- nixos/tests/containers-portforward.nix | 2 +- nixos/tests/containers-tmpfs.nix | 2 +- nixos/tests/custom-ca.nix | 2 +- nixos/tests/disable-installer-tools.nix | 2 +- nixos/tests/dnsdist.nix | 2 +- nixos/tests/doas.nix | 2 +- nixos/tests/documize.nix | 2 +- nixos/tests/domination.nix | 2 +- nixos/tests/dovecot.nix | 2 +- nixos/tests/ecryptfs.nix | 2 +- nixos/tests/emacs-daemon.nix | 2 +- nixos/tests/enlightenment.nix | 2 +- nixos/tests/env.nix | 2 +- nixos/tests/etebase-server.nix | 2 +- nixos/tests/etesync-dav.nix | 2 +- nixos/tests/fancontrol.nix | 2 +- nixos/tests/fcitx/default.nix | 2 +- nixos/tests/firefox.nix | 2 +- nixos/tests/fish.nix | 2 +- nixos/tests/fluentd.nix | 2 +- nixos/tests/fontconfig-default-fonts.nix | 2 +- nixos/tests/fsck.nix | 2 +- nixos/tests/ft2-clone.nix | 2 +- nixos/tests/geth.nix | 2 +- nixos/tests/gnome-xorg.nix | 2 +- nixos/tests/gnome.nix | 2 +- nixos/tests/gotify-server.nix | 2 +- nixos/tests/graylog.nix | 2 +- nixos/tests/grocy.nix | 2 +- nixos/tests/grub.nix | 2 +- nixos/tests/hardened.nix | 2 +- nixos/tests/herbstluftwm.nix | 2 +- nixos/tests/hibernate.nix | 2 +- nixos/tests/hitch/default.nix | 2 +- nixos/tests/hocker-fetchdocker/default.nix | 2 +- nixos/tests/hockeypuck.nix | 2 +- nixos/tests/hostname.nix | 2 +- nixos/tests/hound.nix | 2 +- nixos/tests/hydra/default.nix | 2 +- nixos/tests/i3wm.nix | 2 +- nixos/tests/ihatemoney/default.nix | 2 +- nixos/tests/incron.nix | 2 +- nixos/tests/initrd-network.nix | 2 +- nixos/tests/initrd-secrets.nix | 2 +- nixos/tests/input-remapper.nix | 2 +- nixos/tests/installed-tests/default.nix | 2 +- nixos/tests/invidious.nix | 2 +- nixos/tests/isso.nix | 2 +- nixos/tests/jellyfin.nix | 2 +- nixos/tests/jibri.nix | 2 +- nixos/tests/k3s-single-node-docker.nix | 2 +- nixos/tests/k3s-single-node.nix | 2 +- nixos/tests/kbd-setfont-decompress.nix | 2 +- nixos/tests/kbd-update-search-paths-patch.nix | 2 +- nixos/tests/keepassxc.nix | 2 +- nixos/tests/kerberos/heimdal.nix | 2 +- nixos/tests/kerberos/mit.nix | 2 +- nixos/tests/kernel-generic.nix | 2 +- nixos/tests/kernel-latest-ath-user-regd.nix | 2 +- nixos/tests/kexec.nix | 2 +- nixos/tests/krb5/deprecated-config.nix | 2 +- nixos/tests/krb5/example-config.nix | 2 +- nixos/tests/ksm.nix | 2 +- nixos/tests/libinput.nix | 2 +- nixos/tests/libresprite.nix | 2 +- nixos/tests/lightdm.nix | 2 +- nixos/tests/limesurvey.nix | 2 +- nixos/tests/litestream.nix | 2 +- nixos/tests/login.nix | 2 +- nixos/tests/logrotate.nix | 2 +- nixos/tests/loki.nix | 2 +- nixos/tests/lorri/default.nix | 2 +- nixos/tests/lxd-image-server.nix | 2 +- nixos/tests/lxd-image.nix | 2 +- nixos/tests/lxd-nftables.nix | 2 +- nixos/tests/lxd.nix | 2 +- nixos/tests/magnetico.nix | 2 +- nixos/tests/mailcatcher.nix | 2 +- nixos/tests/mailhog.nix | 2 +- nixos/tests/matomo.nix | 2 +- nixos/tests/matrix/pantalaimon.nix | 2 +- nixos/tests/mediawiki.nix | 2 +- nixos/tests/meilisearch.nix | 2 +- nixos/tests/memcached.nix | 2 +- nixos/tests/misc.nix | 2 +- nixos/tests/mod_perl.nix | 2 +- nixos/tests/moodle.nix | 2 +- nixos/tests/musescore.nix | 2 +- nixos/tests/mysql/mysql-autobackup.nix | 2 +- nixos/tests/nagios.nix | 2 +- nixos/tests/navidrome.nix | 2 +- nixos/tests/networking.nix | 8 ++++---- nixos/tests/nginx-modsecurity.nix | 2 +- nixos/tests/nginx-pubhtml.nix | 2 +- nixos/tests/nginx-sandbox.nix | 2 +- nixos/tests/nginx-sso.nix | 2 +- nixos/tests/nginx-variants.nix | 2 +- nixos/tests/nix-serve.nix | 2 +- nixos/tests/nixos-generate-config.nix | 2 +- nixos/tests/noto-fonts.nix | 2 +- nixos/tests/novacomd.nix | 2 +- nixos/tests/oh-my-zsh.nix | 2 +- nixos/tests/openldap.nix | 6 +++--- nixos/tests/opentabletdriver.nix | 2 +- nixos/tests/os-prober.nix | 2 +- nixos/tests/osrm-backend.nix | 2 +- nixos/tests/overlayfs.nix | 2 +- nixos/tests/packagekit.nix | 2 +- nixos/tests/pam/pam-oath-login.nix | 2 +- nixos/tests/pam/pam-u2f.nix | 2 +- nixos/tests/pantheon.nix | 2 +- nixos/tests/php/fpm.nix | 2 +- nixos/tests/php/httpd.nix | 2 +- nixos/tests/php/pcre.nix | 2 +- nixos/tests/pict-rs.nix | 2 +- nixos/tests/plasma5-systemd-start.nix | 2 +- nixos/tests/plasma5.nix | 2 +- nixos/tests/plausible.nix | 2 +- nixos/tests/plikd.nix | 2 +- nixos/tests/plotinus.nix | 2 +- .../postfix-raise-smtpd-tls-security-level.nix | 2 +- nixos/tests/postfix.nix | 2 +- nixos/tests/postgresql-wal-receiver.nix | 2 +- nixos/tests/postgresql.nix | 2 +- nixos/tests/power-profiles-daemon.nix | 2 +- nixos/tests/predictable-interface-names.nix | 2 +- nixos/tests/privacyidea.nix | 2 +- nixos/tests/privoxy.nix | 2 +- nixos/tests/pt2-clone.nix | 2 +- nixos/tests/pulseaudio.nix | 2 +- nixos/tests/qboot.nix | 2 +- nixos/tests/rabbitmq.nix | 2 +- nixos/tests/radicale.nix | 2 +- nixos/tests/rasdaemon.nix | 2 +- nixos/tests/redmine.nix | 2 +- nixos/tests/restart-by-activation-script.nix | 2 +- nixos/tests/retroarch.nix | 2 +- nixos/tests/riak.nix | 2 +- nixos/tests/rspamd.nix | 10 +++++----- nixos/tests/rsyslogd.nix | 4 ++-- nixos/tests/sabnzbd.nix | 2 +- nixos/tests/sddm.nix | 4 ++-- nixos/tests/shattered-pixel-dungeon.nix | 2 +- nixos/tests/shiori.nix | 2 +- nixos/tests/signal-desktop.nix | 2 +- nixos/tests/simple.nix | 2 +- nixos/tests/snapper.nix | 2 +- nixos/tests/soapui.nix | 2 +- nixos/tests/solr.nix | 2 +- nixos/tests/sourcehut.nix | 2 +- nixos/tests/sssd-ldap.nix | 2 +- nixos/tests/sssd.nix | 2 +- nixos/tests/starship.nix | 2 +- nixos/tests/sway.nix | 2 +- nixos/tests/sympa.nix | 2 +- nixos/tests/syncthing-init.nix | 2 +- nixos/tests/syncthing-relay.nix | 2 +- nixos/tests/systemd-analyze.nix | 2 +- nixos/tests/systemd-binfmt.nix | 6 +++--- nixos/tests/systemd-boot.nix | 18 +++++++++--------- nixos/tests/systemd-confinement.nix | 2 +- nixos/tests/systemd-cryptenroll.nix | 2 +- nixos/tests/systemd-escaping.nix | 2 +- nixos/tests/systemd-journal.nix | 2 +- nixos/tests/systemd-machinectl.nix | 2 +- nixos/tests/systemd-misc.nix | 2 +- nixos/tests/systemd.nix | 2 +- nixos/tests/telegraf.nix | 2 +- nixos/tests/tinywl.nix | 2 +- nixos/tests/tomcat.nix | 2 +- nixos/tests/transmission.nix | 2 +- nixos/tests/tsm-client-gui.nix | 2 +- nixos/tests/tuptime.nix | 2 +- nixos/tests/turbovnc-headless-server.nix | 2 +- nixos/tests/tuxguitar.nix | 2 +- nixos/tests/udisks2.nix | 2 +- nixos/tests/usbguard.nix | 2 +- nixos/tests/user-activation-scripts.nix | 2 +- nixos/tests/uwsgi.nix | 2 +- nixos/tests/v2ray.nix | 2 +- nixos/tests/vault-postgresql.nix | 2 +- nixos/tests/vault.nix | 2 +- nixos/tests/vector.nix | 2 +- nixos/tests/vengi-tools.nix | 2 +- nixos/tests/virtualbox.nix | 2 +- nixos/tests/web-servers/unit-php.nix | 2 +- nixos/tests/wiki-js.nix | 2 +- nixos/tests/wine.nix | 2 +- nixos/tests/wmderland.nix | 2 +- nixos/tests/wpa_supplicant.nix | 2 +- nixos/tests/xfce.nix | 2 +- nixos/tests/xmonad.nix | 2 +- nixos/tests/xterm.nix | 2 +- nixos/tests/yabar.nix | 2 +- nixos/tests/zfs.nix | 2 +- nixos/tests/zigbee2mqtt.nix | 2 +- nixos/tests/zoneminder.nix | 2 +- 233 files changed, 261 insertions(+), 261 deletions(-) diff --git a/nixos/tests/aesmd.nix b/nixos/tests/aesmd.nix index 59c04fe7e96a..9f07426be8d8 100644 --- a/nixos/tests/aesmd.nix +++ b/nixos/tests/aesmd.nix @@ -4,7 +4,7 @@ import ./make-test-python.nix ({ pkgs, lib, ... }: { maintainers = with lib.maintainers; [ veehaitch ]; }; - machine = { lib, ... }: { + nodes.machine = { lib, ... }: { services.aesmd = { enable = true; settings = { diff --git a/nixos/tests/agda.nix b/nixos/tests/agda.nix index ec61af2afe75..6f51300111ac 100644 --- a/nixos/tests/agda.nix +++ b/nixos/tests/agda.nix @@ -15,7 +15,7 @@ in maintainers = [ alexarice turion ]; }; - machine = { pkgs, ... }: { + nodes.machine = { pkgs, ... }: { environment.systemPackages = [ (pkgs.agda.withPackages { pkgs = p: [ p.standard-library ]; diff --git a/nixos/tests/airsonic.nix b/nixos/tests/airsonic.nix index d8df092c2ecf..2f60c56f643b 100644 --- a/nixos/tests/airsonic.nix +++ b/nixos/tests/airsonic.nix @@ -4,7 +4,7 @@ import ./make-test-python.nix ({ pkgs, ... }: { maintainers = [ sumnerevans ]; }; - machine = + nodes.machine = { pkgs, ... }: { services.airsonic = { diff --git a/nixos/tests/amazon-init-shell.nix b/nixos/tests/amazon-init-shell.nix index f9268b2f3a00..3c040841b6d2 100644 --- a/nixos/tests/amazon-init-shell.nix +++ b/nixos/tests/amazon-init-shell.nix @@ -18,7 +18,7 @@ makeTest { meta = with maintainers; { maintainers = [ urbas ]; }; - machine = { ... }: + nodes.machine = { ... }: { imports = [ ../modules/profiles/headless.nix ../modules/virtualisation/amazon-init.nix ]; services.openssh.enable = true; diff --git a/nixos/tests/apfs.nix b/nixos/tests/apfs.nix index a82886cbe731..a8841fe93046 100644 --- a/nixos/tests/apfs.nix +++ b/nixos/tests/apfs.nix @@ -2,7 +2,7 @@ import ./make-test-python.nix ({ pkgs, ... }: { name = "apfs"; meta.maintainers = with pkgs.lib.maintainers; [ Luflosi ]; - machine = { pkgs, ... }: { + nodes.machine = { pkgs, ... }: { virtualisation.emptyDiskImages = [ 1024 ]; boot.supportedFilesystems = [ "apfs" ]; diff --git a/nixos/tests/apparmor.nix b/nixos/tests/apparmor.nix index c6daa8e67de3..f85bff0295e7 100644 --- a/nixos/tests/apparmor.nix +++ b/nixos/tests/apparmor.nix @@ -4,7 +4,7 @@ import ./make-test-python.nix ({ pkgs, ... } : { maintainers = [ julm ]; }; - machine = + nodes.machine = { lib, pkgs, config, ... }: with lib; { diff --git a/nixos/tests/atd.nix b/nixos/tests/atd.nix index ad4d60067cf1..4342e9d7dc18 100644 --- a/nixos/tests/atd.nix +++ b/nixos/tests/atd.nix @@ -6,7 +6,7 @@ import ./make-test-python.nix ({ pkgs, ... }: maintainers = [ bjornfor ]; }; - machine = + nodes.machine = { ... }: { services.atd.enable = true; users.users.alice = { isNormalUser = true; }; diff --git a/nixos/tests/atop.nix b/nixos/tests/atop.nix index f7a90346f3d7..d9304834692c 100644 --- a/nixos/tests/atop.nix +++ b/nixos/tests/atop.nix @@ -107,7 +107,7 @@ in { justThePackage = makeTest { name = "atop-justThePackage"; - machine = { + nodes.machine = { environment.systemPackages = [ pkgs.atop ]; }; testScript = with assertions; builtins.concatStringsSep "\n" [ @@ -123,7 +123,7 @@ in }; defaults = makeTest { name = "atop-defaults"; - machine = { + nodes.machine = { programs.atop = { enable = true; }; @@ -141,7 +141,7 @@ in }; minimal = makeTest { name = "atop-minimal"; - machine = { + nodes.machine = { programs.atop = { enable = true; atopService.enable = false; @@ -162,7 +162,7 @@ in }; netatop = makeTest { name = "atop-netatop"; - machine = { + nodes.machine = { programs.atop = { enable = true; netatop.enable = true; @@ -181,7 +181,7 @@ in }; atopgpu = makeTest { name = "atop-atopgpu"; - machine = { + nodes.machine = { nixpkgs.config.allowUnfreePredicate = pkg: builtins.elem (getName pkg) [ "cudatoolkit" ]; @@ -204,7 +204,7 @@ in }; everything = makeTest { name = "atop-everthing"; - machine = { + nodes.machine = { nixpkgs.config.allowUnfreePredicate = pkg: builtins.elem (getName pkg) [ "cudatoolkit" ]; diff --git a/nixos/tests/bcachefs.nix b/nixos/tests/bcachefs.nix index 44997a746879..832cc9c38f01 100644 --- a/nixos/tests/bcachefs.nix +++ b/nixos/tests/bcachefs.nix @@ -2,7 +2,7 @@ import ./make-test-python.nix ({ pkgs, ... }: { name = "bcachefs"; meta.maintainers = with pkgs.lib.maintainers; [ chiiruno ]; - machine = { pkgs, ... }: { + nodes.machine = { pkgs, ... }: { virtualisation.emptyDiskImages = [ 4096 ]; networking.hostId = "deadbeef"; boot.supportedFilesystems = [ "bcachefs" ]; diff --git a/nixos/tests/beanstalkd.nix b/nixos/tests/beanstalkd.nix index 4f4a454fb47f..518f018408ad 100644 --- a/nixos/tests/beanstalkd.nix +++ b/nixos/tests/beanstalkd.nix @@ -28,7 +28,7 @@ in name = "beanstalkd"; meta.maintainers = [ lib.maintainers.aanderse ]; - machine = + nodes.machine = { ... }: { services.beanstalkd.enable = true; }; diff --git a/nixos/tests/bees.nix b/nixos/tests/bees.nix index 58a9c2951356..3ab9f38ada8f 100644 --- a/nixos/tests/bees.nix +++ b/nixos/tests/bees.nix @@ -2,7 +2,7 @@ import ./make-test-python.nix ({ lib, pkgs, ... }: { name = "bees"; - machine = { config, pkgs, ... }: { + nodes.machine = { config, pkgs, ... }: { boot.initrd.postDeviceCommands = '' ${pkgs.btrfs-progs}/bin/mkfs.btrfs -f -L aux1 /dev/vdb ${pkgs.btrfs-progs}/bin/mkfs.btrfs -f -L aux2 /dev/vdc diff --git a/nixos/tests/bind.nix b/nixos/tests/bind.nix index 7234f56a1c3a..15accbd49db4 100644 --- a/nixos/tests/bind.nix +++ b/nixos/tests/bind.nix @@ -1,7 +1,7 @@ import ./make-test-python.nix { name = "bind"; - machine = { pkgs, lib, ... }: { + nodes.machine = { pkgs, lib, ... }: { services.bind.enable = true; services.bind.extraOptions = "empty-zones-enable no;"; services.bind.zones = lib.singleton { diff --git a/nixos/tests/bitcoind.nix b/nixos/tests/bitcoind.nix index 3e9e085287ac..04655b7f6a51 100644 --- a/nixos/tests/bitcoind.nix +++ b/nixos/tests/bitcoind.nix @@ -4,7 +4,7 @@ import ./make-test-python.nix ({ pkgs, ... }: { maintainers = with maintainers; [ _1000101 ]; }; - machine = { ... }: { + nodes.machine = { ... }: { services.bitcoind."mainnet" = { enable = true; rpc = { diff --git a/nixos/tests/blockbook-frontend.nix b/nixos/tests/blockbook-frontend.nix index e17a2d057797..dca4f2f53cc1 100644 --- a/nixos/tests/blockbook-frontend.nix +++ b/nixos/tests/blockbook-frontend.nix @@ -4,7 +4,7 @@ import ./make-test-python.nix ({ pkgs, ... }: { maintainers = with maintainers; [ _1000101 ]; }; - machine = { ... }: { + nodes.machine = { ... }: { services.blockbook-frontend."test" = { enable = true; }; diff --git a/nixos/tests/boot-stage1.nix b/nixos/tests/boot-stage1.nix index 756decd2039d..fbe82d61afae 100644 --- a/nixos/tests/boot-stage1.nix +++ b/nixos/tests/boot-stage1.nix @@ -1,7 +1,7 @@ import ./make-test-python.nix ({ pkgs, ... }: { name = "boot-stage1"; - machine = { config, pkgs, lib, ... }: { + nodes.machine = { config, pkgs, lib, ... }: { boot.extraModulePackages = let compileKernelModule = name: source: pkgs.runCommandCC name rec { inherit source; diff --git a/nixos/tests/boot.nix b/nixos/tests/boot.nix index ec2a9f6527c9..8e469a654972 100644 --- a/nixos/tests/boot.nix +++ b/nixos/tests/boot.nix @@ -42,7 +42,7 @@ let nodes = { }; testScript = '' - machine = create_machine(${machineConfig}) + nodes.machine = create_machine(${machineConfig}) machine.start() machine.wait_for_unit("multi-user.target") machine.succeed("nix store verify --no-trust -r --option experimental-features nix-command /run/current-system") @@ -83,7 +83,7 @@ let name = "boot-netboot-" + name; nodes = { }; testScript = '' - machine = create_machine(${machineConfig}) + nodes.machine = create_machine(${machineConfig}) machine.start() machine.wait_for_unit("multi-user.target") machine.shutdown() @@ -138,7 +138,7 @@ in { if os.system("qemu-img create -f qcow2 -F raw -b ${sdImage} ${mutableImage}") != 0: raise RuntimeError("Could not create mutable linked image") - machine = create_machine(${machineConfig}) + nodes.machine = create_machine(${machineConfig}) machine.start() machine.wait_for_unit("multi-user.target") machine.succeed("nix store verify -r --no-trust --option experimental-features nix-command /run/current-system") diff --git a/nixos/tests/bpf.nix b/nixos/tests/bpf.nix index e479cd057921..5868e3bfcb4c 100644 --- a/nixos/tests/bpf.nix +++ b/nixos/tests/bpf.nix @@ -2,7 +2,7 @@ import ./make-test-python.nix ({ pkgs, ... }: { name = "bpf"; meta.maintainers = with pkgs.lib.maintainers; [ martinetd ]; - machine = { pkgs, ... }: { + nodes.machine = { pkgs, ... }: { programs.bcc.enable = true; environment.systemPackages = with pkgs; [ bpftrace ]; }; diff --git a/nixos/tests/breitbandmessung.nix b/nixos/tests/breitbandmessung.nix index 12b1a094839b..78df0d5017eb 100644 --- a/nixos/tests/breitbandmessung.nix +++ b/nixos/tests/breitbandmessung.nix @@ -2,7 +2,7 @@ import ./make-test-python.nix ({ lib, ... }: { name = "breitbandmessung"; meta.maintainers = with lib.maintainers; [ b4dm4n ]; - machine = { pkgs, ... }: { + nodes.machine = { pkgs, ... }: { imports = [ ./common/user-account.nix ./common/x11.nix diff --git a/nixos/tests/brscan5.nix b/nixos/tests/brscan5.nix index 9aed742f6de7..9156a4cccfcf 100644 --- a/nixos/tests/brscan5.nix +++ b/nixos/tests/brscan5.nix @@ -7,7 +7,7 @@ import ./make-test-python.nix ({ pkgs, ...} : { maintainers = [ mattchrist ]; }; - machine = { pkgs, ... }: + nodes.machine = { pkgs, ... }: { nixpkgs.config.allowUnfree = true; hardware.sane = { diff --git a/nixos/tests/buildkite-agents.nix b/nixos/tests/buildkite-agents.nix index 6674a0e884ed..2c5593323e87 100644 --- a/nixos/tests/buildkite-agents.nix +++ b/nixos/tests/buildkite-agents.nix @@ -6,7 +6,7 @@ import ./make-test-python.nix ({ pkgs, ... }: maintainers = [ flokli ]; }; - machine = { pkgs, ... }: { + nodes.machine = { pkgs, ... }: { services.buildkite-agents = { one = { privateSshKeyPath = (import ./ssh-keys.nix pkgs).snakeOilPrivateKey; diff --git a/nixos/tests/cage.nix b/nixos/tests/cage.nix index 83bae3deeeab..39c8d0441b6d 100644 --- a/nixos/tests/cage.nix +++ b/nixos/tests/cage.nix @@ -6,7 +6,7 @@ import ./make-test-python.nix ({ pkgs, ...} : maintainers = [ matthewbauer ]; }; - machine = { ... }: + nodes.machine = { ... }: { imports = [ ./common/user-account.nix ]; diff --git a/nixos/tests/cagebreak.nix b/nixos/tests/cagebreak.nix index c6c2c632b61a..1dcc910f9744 100644 --- a/nixos/tests/cagebreak.nix +++ b/nixos/tests/cagebreak.nix @@ -13,7 +13,7 @@ in maintainers = [ berbiche ]; }; - machine = { config, ... }: + nodes.machine = { config, ... }: let alice = config.users.users.alice; in { diff --git a/nixos/tests/cfssl.nix b/nixos/tests/cfssl.nix index 170f09d9b76c..e673df3131f8 100644 --- a/nixos/tests/cfssl.nix +++ b/nixos/tests/cfssl.nix @@ -1,7 +1,7 @@ import ./make-test-python.nix ({ pkgs, ...} : { name = "cfssl"; - machine = { config, lib, pkgs, ... }: + nodes.machine = { config, lib, pkgs, ... }: { networking.firewall.allowedTCPPorts = [ config.services.cfssl.port ]; diff --git a/nixos/tests/clickhouse.nix b/nixos/tests/clickhouse.nix index 017f2ee35dab..043263ec05dd 100644 --- a/nixos/tests/clickhouse.nix +++ b/nixos/tests/clickhouse.nix @@ -2,7 +2,7 @@ import ./make-test-python.nix ({ pkgs, ... }: { name = "clickhouse"; meta.maintainers = with pkgs.lib.maintainers; [ ma27 ]; - machine = { + nodes.machine = { services.clickhouse.enable = true; virtualisation.memorySize = 4096; }; diff --git a/nixos/tests/cloud-init.nix b/nixos/tests/cloud-init.nix index 3f191ff5616e..9feb8d5c1526 100644 --- a/nixos/tests/cloud-init.nix +++ b/nixos/tests/cloud-init.nix @@ -61,7 +61,7 @@ in makeTest { meta = with pkgs.lib.maintainers; { maintainers = [ lewo ]; }; - machine = { ... }: + nodes.machine = { ... }: { virtualisation.qemu.options = [ "-cdrom" "${metadataDrive}/metadata.iso" ]; services.cloud-init = { diff --git a/nixos/tests/cntr.nix b/nixos/tests/cntr.nix index e4e13545b876..598143beb6c0 100644 --- a/nixos/tests/cntr.nix +++ b/nixos/tests/cntr.nix @@ -46,7 +46,7 @@ let meta = with pkgs.lib.maintainers; { maintainers = [ sorki mic92 ]; }; - machine = { lib, ... }: { + nodes.machine = { lib, ... }: { environment.systemPackages = [ pkgs.cntr ]; containers.test = { autoStart = true; diff --git a/nixos/tests/collectd.nix b/nixos/tests/collectd.nix index cb196224a231..8c9361087661 100644 --- a/nixos/tests/collectd.nix +++ b/nixos/tests/collectd.nix @@ -2,7 +2,7 @@ import ./make-test-python.nix ({ pkgs, ... }: { name = "collectd"; meta = { }; - machine = + nodes.machine = { pkgs, ... }: { diff --git a/nixos/tests/containers-bridge.nix b/nixos/tests/containers-bridge.nix index b8661fd7997c..d2e16299edaa 100644 --- a/nixos/tests/containers-bridge.nix +++ b/nixos/tests/containers-bridge.nix @@ -11,7 +11,7 @@ import ./make-test-python.nix ({ pkgs, lib, ... }: { maintainers = with lib.maintainers; [ aristid aszlig eelco kampfschlaefer ]; }; - machine = + nodes.machine = { pkgs, ... }: { imports = [ ../modules/installer/cd-dvd/channel.nix ]; virtualisation.writableStore = true; diff --git a/nixos/tests/containers-custom-pkgs.nix b/nixos/tests/containers-custom-pkgs.nix index 1627a2c70c3c..9894e6643762 100644 --- a/nixos/tests/containers-custom-pkgs.nix +++ b/nixos/tests/containers-custom-pkgs.nix @@ -12,7 +12,7 @@ in { maintainers = with lib.maintainers; [ adisbladis earvstedt ]; }; - machine = { config, ... }: { + nodes.machine = { config, ... }: { assertions = let helloName = (builtins.head config.containers.test.config.system.extraDependencies).name; in [ { diff --git a/nixos/tests/containers-ephemeral.nix b/nixos/tests/containers-ephemeral.nix index db1631cf5b5d..c9fe2778cacd 100644 --- a/nixos/tests/containers-ephemeral.nix +++ b/nixos/tests/containers-ephemeral.nix @@ -4,7 +4,7 @@ import ./make-test-python.nix ({ pkgs, lib, ... }: { maintainers = with lib.maintainers; [ patryk27 ]; }; - machine = { pkgs, ... }: { + nodes.machine = { pkgs, ... }: { virtualisation.writableStore = true; containers.webserver = { diff --git a/nixos/tests/containers-extra_veth.nix b/nixos/tests/containers-extra_veth.nix index b8f3d9844064..f3e62265f6c4 100644 --- a/nixos/tests/containers-extra_veth.nix +++ b/nixos/tests/containers-extra_veth.nix @@ -4,7 +4,7 @@ import ./make-test-python.nix ({ pkgs, lib, ... }: { maintainers = with lib.maintainers; [ kampfschlaefer ]; }; - machine = + nodes.machine = { pkgs, ... }: { imports = [ ../modules/installer/cd-dvd/channel.nix ]; virtualisation.writableStore = true; diff --git a/nixos/tests/containers-hosts.nix b/nixos/tests/containers-hosts.nix index 3c6a15710027..7bce7c997efe 100644 --- a/nixos/tests/containers-hosts.nix +++ b/nixos/tests/containers-hosts.nix @@ -4,7 +4,7 @@ import ./make-test-python.nix ({ pkgs, lib, ... }: { maintainers = with lib.maintainers; [ montag451 ]; }; - machine = + nodes.machine = { lib, ... }: { virtualisation.vlans = []; diff --git a/nixos/tests/containers-imperative.nix b/nixos/tests/containers-imperative.nix index 14001657bee0..44d2e50288b4 100644 --- a/nixos/tests/containers-imperative.nix +++ b/nixos/tests/containers-imperative.nix @@ -4,7 +4,7 @@ import ./make-test-python.nix ({ pkgs, lib, ... }: { maintainers = with lib.maintainers; [ aristid aszlig eelco kampfschlaefer ]; }; - machine = + nodes.machine = { config, pkgs, lib, ... }: { imports = [ ../modules/installer/cd-dvd/channel.nix ]; diff --git a/nixos/tests/containers-ip.nix b/nixos/tests/containers-ip.nix index 91fdda0392a9..ecead5c22f75 100644 --- a/nixos/tests/containers-ip.nix +++ b/nixos/tests/containers-ip.nix @@ -17,7 +17,7 @@ in import ./make-test-python.nix ({ pkgs, lib, ... }: { maintainers = with lib.maintainers; [ aristid aszlig eelco kampfschlaefer ]; }; - machine = + nodes.machine = { pkgs, ... }: { imports = [ ../modules/installer/cd-dvd/channel.nix ]; virtualisation = { diff --git a/nixos/tests/containers-names.nix b/nixos/tests/containers-names.nix index 9ad2bfb748a8..721f64990724 100644 --- a/nixos/tests/containers-names.nix +++ b/nixos/tests/containers-names.nix @@ -4,7 +4,7 @@ import ./make-test-python.nix ({ pkgs, lib, ... }: { maintainers = with lib.maintainers; [ patryk27 ]; }; - machine = { ... }: { + nodes.machine = { ... }: { # We're using the newest kernel, so that we can test containers with long names. # Please see https://github.com/NixOS/nixpkgs/issues/38509 for details. boot.kernelPackages = pkgs.linuxPackages_latest; diff --git a/nixos/tests/containers-nested.nix b/nixos/tests/containers-nested.nix index a653361494f9..4a9fb8f01e24 100644 --- a/nixos/tests/containers-nested.nix +++ b/nixos/tests/containers-nested.nix @@ -5,7 +5,7 @@ import ./make-test-python.nix ({ pkgs, ... }: { meta = with pkgs.lib.maintainers; { maintainers = [ sorki ]; }; - machine = { lib, ... }: + nodes.machine = { lib, ... }: let makeNested = subConf: { containers.nested = { diff --git a/nixos/tests/containers-portforward.nix b/nixos/tests/containers-portforward.nix index 6cecd72f1bda..b8c7aabc5a50 100644 --- a/nixos/tests/containers-portforward.nix +++ b/nixos/tests/containers-portforward.nix @@ -11,7 +11,7 @@ import ./make-test-python.nix ({ pkgs, lib, ... }: { maintainers = with lib.maintainers; [ aristid aszlig eelco kampfschlaefer ianwookim ]; }; - machine = + nodes.machine = { pkgs, ... }: { imports = [ ../modules/installer/cd-dvd/channel.nix ]; virtualisation.writableStore = true; diff --git a/nixos/tests/containers-tmpfs.nix b/nixos/tests/containers-tmpfs.nix index d95178d1ff58..7a2c835b120a 100644 --- a/nixos/tests/containers-tmpfs.nix +++ b/nixos/tests/containers-tmpfs.nix @@ -4,7 +4,7 @@ import ./make-test-python.nix ({ pkgs, lib, ... }: { maintainers = with lib.maintainers; [ patryk27 ]; }; - machine = + nodes.machine = { pkgs, ... }: { imports = [ ../modules/installer/cd-dvd/channel.nix ]; virtualisation.writableStore = true; diff --git a/nixos/tests/custom-ca.nix b/nixos/tests/custom-ca.nix index a55449a397a7..60c6c82223a9 100644 --- a/nixos/tests/custom-ca.nix +++ b/nixos/tests/custom-ca.nix @@ -76,7 +76,7 @@ in enableOCR = true; - machine = { pkgs, ... }: + nodes.machine = { pkgs, ... }: { imports = [ ./common/user-account.nix ./common/x11.nix ]; # chromium-based browsers refuse to run as root diff --git a/nixos/tests/disable-installer-tools.nix b/nixos/tests/disable-installer-tools.nix index 23c15faa8d33..69f99122753a 100644 --- a/nixos/tests/disable-installer-tools.nix +++ b/nixos/tests/disable-installer-tools.nix @@ -3,7 +3,7 @@ import ./make-test-python.nix ({ pkgs, latestKernel ? false, ... }: { name = "disable-installer-tools"; - machine = + nodes.machine = { pkgs, lib, ... }: { system.disableInstallerTools = true; diff --git a/nixos/tests/dnsdist.nix b/nixos/tests/dnsdist.nix index cfc41c13864e..e72fa05ff282 100644 --- a/nixos/tests/dnsdist.nix +++ b/nixos/tests/dnsdist.nix @@ -5,7 +5,7 @@ import ./make-test-python.nix ( maintainers = with maintainers; [ jojosch ]; }; - machine = { pkgs, lib, ... }: { + nodes.machine = { pkgs, lib, ... }: { services.bind = { enable = true; extraOptions = "empty-zones-enable no;"; diff --git a/nixos/tests/doas.nix b/nixos/tests/doas.nix index 7f038b2bee29..3713c728195c 100644 --- a/nixos/tests/doas.nix +++ b/nixos/tests/doas.nix @@ -6,7 +6,7 @@ import ./make-test-python.nix ( maintainers = [ cole-h ]; }; - machine = + nodes.machine = { ... }: { users.groups = { foobar = {}; barfoo = {}; baz = { gid = 1337; }; }; diff --git a/nixos/tests/documize.nix b/nixos/tests/documize.nix index d5a77ffcd4f2..528bf5338ce0 100644 --- a/nixos/tests/documize.nix +++ b/nixos/tests/documize.nix @@ -4,7 +4,7 @@ import ./make-test-python.nix ({ pkgs, lib, ...} : { maintainers = [ ma27 ]; }; - machine = { pkgs, ... }: { + nodes.machine = { pkgs, ... }: { environment.systemPackages = [ pkgs.jq ]; services.documize = { diff --git a/nixos/tests/domination.nix b/nixos/tests/domination.nix index c76d4ed8c61b..09027740ab8d 100644 --- a/nixos/tests/domination.nix +++ b/nixos/tests/domination.nix @@ -4,7 +4,7 @@ import ./make-test-python.nix ({ pkgs, ... }: { maintainers = [ fgaz ]; }; - machine = { config, pkgs, ... }: { + nodes.machine = { config, pkgs, ... }: { imports = [ ./common/x11.nix ]; diff --git a/nixos/tests/dovecot.nix b/nixos/tests/dovecot.nix index 8913c2a6a7e8..5439387807fd 100644 --- a/nixos/tests/dovecot.nix +++ b/nixos/tests/dovecot.nix @@ -1,7 +1,7 @@ import ./make-test-python.nix { name = "dovecot"; - machine = { pkgs, ... }: { + nodes.machine = { pkgs, ... }: { imports = [ common/user-account.nix ]; services.postfix.enable = true; services.dovecot2 = { diff --git a/nixos/tests/ecryptfs.nix b/nixos/tests/ecryptfs.nix index ef7bd13eb92c..e3cfb2ed998c 100644 --- a/nixos/tests/ecryptfs.nix +++ b/nixos/tests/ecryptfs.nix @@ -2,7 +2,7 @@ import ./make-test-python.nix ({ ... }: { name = "ecryptfs"; - machine = { pkgs, ... }: { + nodes.machine = { pkgs, ... }: { imports = [ ./common/user-account.nix ]; boot.kernelModules = [ "ecryptfs" ]; security.pam.enableEcryptfs = true; diff --git a/nixos/tests/emacs-daemon.nix b/nixos/tests/emacs-daemon.nix index e12da56021da..d53031a67f62 100644 --- a/nixos/tests/emacs-daemon.nix +++ b/nixos/tests/emacs-daemon.nix @@ -6,7 +6,7 @@ import ./make-test-python.nix ({ pkgs, ...} : { enableOCR = true; - machine = + nodes.machine = { ... }: { imports = [ ./common/x11.nix ]; diff --git a/nixos/tests/enlightenment.nix b/nixos/tests/enlightenment.nix index 8506c348246d..2e06eedd9915 100644 --- a/nixos/tests/enlightenment.nix +++ b/nixos/tests/enlightenment.nix @@ -6,7 +6,7 @@ import ./make-test-python.nix ({ pkgs, ...} : maintainers = [ romildo ]; }; - machine = { ... }: + nodes.machine = { ... }: { imports = [ ./common/user-account.nix ]; services.xserver.enable = true; diff --git a/nixos/tests/env.nix b/nixos/tests/env.nix index fc96ace6b2d2..dec17b6b565a 100644 --- a/nixos/tests/env.nix +++ b/nixos/tests/env.nix @@ -4,7 +4,7 @@ import ./make-test-python.nix ({ pkgs, ...} : { maintainers = [ nequissimus ]; }; - machine = { pkgs, ... }: + nodes.machine = { pkgs, ... }: { boot.kernelPackages = pkgs.linuxPackages; environment.etc.plainFile.text = '' diff --git a/nixos/tests/etebase-server.nix b/nixos/tests/etebase-server.nix index 4fc3c1f6392f..49bfccf359e2 100644 --- a/nixos/tests/etebase-server.nix +++ b/nixos/tests/etebase-server.nix @@ -9,7 +9,7 @@ in { maintainers = [ felschr ]; }; - machine = { pkgs, ... }: + nodes.machine = { pkgs, ... }: { services.etebase-server = { inherit dataDir; diff --git a/nixos/tests/etesync-dav.nix b/nixos/tests/etesync-dav.nix index 6a747e23f76f..f49152c60991 100644 --- a/nixos/tests/etesync-dav.nix +++ b/nixos/tests/etesync-dav.nix @@ -5,7 +5,7 @@ import ./make-test-python.nix ({ pkgs, ... }: { maintainers = [ _3699n ]; }; - machine = { config, pkgs, ... }: { + nodes.machine = { config, pkgs, ... }: { environment.systemPackages = [ pkgs.curl pkgs.etesync-dav ]; }; diff --git a/nixos/tests/fancontrol.nix b/nixos/tests/fancontrol.nix index 296c68026415..ecb936097446 100644 --- a/nixos/tests/fancontrol.nix +++ b/nixos/tests/fancontrol.nix @@ -4,7 +4,7 @@ import ./make-test-python.nix ({ pkgs, ... } : { maintainers = [ evils ]; }; - machine = { ... }: { + nodes.machine = { ... }: { imports = [ ../modules/profiles/minimal.nix ]; hardware.fancontrol.enable = true; hardware.fancontrol.config = '' diff --git a/nixos/tests/fcitx/default.nix b/nixos/tests/fcitx/default.nix index a243be8dc19b..78b322d351d3 100644 --- a/nixos/tests/fcitx/default.nix +++ b/nixos/tests/fcitx/default.nix @@ -5,7 +5,7 @@ import ../make-test-python.nix ( # copy_from_host works only for store paths rec { name = "fcitx"; - machine = + nodes.machine = { pkgs, ... diff --git a/nixos/tests/firefox.nix b/nixos/tests/firefox.nix index 6101fc973564..c773368a3e60 100644 --- a/nixos/tests/firefox.nix +++ b/nixos/tests/firefox.nix @@ -4,7 +4,7 @@ import ./make-test-python.nix ({ pkgs, firefoxPackage, ... }: { maintainers = [ eelco shlevy ]; }; - machine = + nodes.machine = { pkgs, ... }: { imports = [ ./common/x11.nix ]; diff --git a/nixos/tests/fish.nix b/nixos/tests/fish.nix index 68fba428439b..3d9b13c6af70 100644 --- a/nixos/tests/fish.nix +++ b/nixos/tests/fish.nix @@ -1,7 +1,7 @@ import ./make-test-python.nix ({ pkgs, ... }: { name = "fish"; - machine = + nodes.machine = { pkgs, ... }: { diff --git a/nixos/tests/fluentd.nix b/nixos/tests/fluentd.nix index 918f2f87db17..150638f246f2 100644 --- a/nixos/tests/fluentd.nix +++ b/nixos/tests/fluentd.nix @@ -1,7 +1,7 @@ import ./make-test-python.nix ({ pkgs, lib, ... }: { name = "fluentd"; - machine = { pkgs, ... }: { + nodes.machine = { pkgs, ... }: { services.fluentd = { enable = true; config = '' diff --git a/nixos/tests/fontconfig-default-fonts.nix b/nixos/tests/fontconfig-default-fonts.nix index 58d0f6227cc7..664afc9bf44c 100644 --- a/nixos/tests/fontconfig-default-fonts.nix +++ b/nixos/tests/fontconfig-default-fonts.nix @@ -6,7 +6,7 @@ import ./make-test-python.nix ({ lib, ... }: jtojnar ]; - machine = { config, pkgs, ... }: { + nodes.machine = { config, pkgs, ... }: { fonts.enableDefaultFonts = true; # Background fonts fonts.fonts = with pkgs; [ noto-fonts-emoji diff --git a/nixos/tests/fsck.nix b/nixos/tests/fsck.nix index 5453f3bc48b5..5b8b09f433a2 100644 --- a/nixos/tests/fsck.nix +++ b/nixos/tests/fsck.nix @@ -1,7 +1,7 @@ import ./make-test-python.nix { name = "fsck"; - machine = { lib, ... }: { + nodes.machine = { lib, ... }: { virtualisation.emptyDiskImages = [ 1 ]; virtualisation.fileSystems = { diff --git a/nixos/tests/ft2-clone.nix b/nixos/tests/ft2-clone.nix index 71eda43e2b24..3c90b3d3fa20 100644 --- a/nixos/tests/ft2-clone.nix +++ b/nixos/tests/ft2-clone.nix @@ -4,7 +4,7 @@ import ./make-test-python.nix ({ pkgs, ... }: { maintainers = [ fgaz ]; }; - machine = { config, pkgs, ... }: { + nodes.machine = { config, pkgs, ... }: { imports = [ ./common/x11.nix ]; diff --git a/nixos/tests/geth.nix b/nixos/tests/geth.nix index af8230553bbb..11ad1ed2ea66 100644 --- a/nixos/tests/geth.nix +++ b/nixos/tests/geth.nix @@ -4,7 +4,7 @@ import ./make-test-python.nix ({ pkgs, ... }: { maintainers = with maintainers; [bachp ]; }; - machine = { ... }: { + nodes.machine = { ... }: { services.geth."mainnet" = { enable = true; http = { diff --git a/nixos/tests/gnome-xorg.nix b/nixos/tests/gnome-xorg.nix index d7be531e364e..618458b1f6b5 100644 --- a/nixos/tests/gnome-xorg.nix +++ b/nixos/tests/gnome-xorg.nix @@ -4,7 +4,7 @@ import ./make-test-python.nix ({ pkgs, lib, ...} : { maintainers = teams.gnome.members; }; - machine = { nodes, ... }: let + nodes.machine = { nodes, ... }: let user = nodes.machine.config.users.users.alice; in diff --git a/nixos/tests/gnome.nix b/nixos/tests/gnome.nix index ca49183fe442..05619cbd7d82 100644 --- a/nixos/tests/gnome.nix +++ b/nixos/tests/gnome.nix @@ -4,7 +4,7 @@ import ./make-test-python.nix ({ pkgs, lib, ...} : { maintainers = teams.gnome.members; }; - machine = + nodes.machine = { ... }: { imports = [ ./common/user-account.nix ]; diff --git a/nixos/tests/gotify-server.nix b/nixos/tests/gotify-server.nix index 051666fbe72e..e7942b76d8e5 100644 --- a/nixos/tests/gotify-server.nix +++ b/nixos/tests/gotify-server.nix @@ -4,7 +4,7 @@ import ./make-test-python.nix ({ pkgs, lib, ...} : { maintainers = [ ma27 ]; }; - machine = { pkgs, ... }: { + nodes.machine = { pkgs, ... }: { environment.systemPackages = [ pkgs.jq ]; services.gotify = { diff --git a/nixos/tests/graylog.nix b/nixos/tests/graylog.nix index 572904f60d57..23f426fc7af9 100644 --- a/nixos/tests/graylog.nix +++ b/nixos/tests/graylog.nix @@ -2,7 +2,7 @@ import ./make-test-python.nix ({ pkgs, lib, ... }: { name = "graylog"; meta.maintainers = with lib.maintainers; [ ]; - machine = { pkgs, ... }: { + nodes.machine = { pkgs, ... }: { virtualisation.memorySize = 4096; virtualisation.diskSize = 4096; diff --git a/nixos/tests/grocy.nix b/nixos/tests/grocy.nix index 2be5c24ecb55..fe0ddd341486 100644 --- a/nixos/tests/grocy.nix +++ b/nixos/tests/grocy.nix @@ -4,7 +4,7 @@ import ./make-test-python.nix ({ pkgs, ... }: { maintainers = [ ma27 ]; }; - machine = { pkgs, ... }: { + nodes.machine = { pkgs, ... }: { services.grocy = { enable = true; hostName = "localhost"; diff --git a/nixos/tests/grub.nix b/nixos/tests/grub.nix index 84bfc90955b5..e0875e70f6a5 100644 --- a/nixos/tests/grub.nix +++ b/nixos/tests/grub.nix @@ -5,7 +5,7 @@ import ./make-test-python.nix ({ lib, ... }: { maintainers = [ rnhmjoj ]; }; - machine = { ... }: { + nodes.machine = { ... }: { virtualisation.useBootLoader = true; boot.loader.timeout = null; diff --git a/nixos/tests/hardened.nix b/nixos/tests/hardened.nix index dc455f971f5c..3afa8ebf2b5f 100644 --- a/nixos/tests/hardened.nix +++ b/nixos/tests/hardened.nix @@ -4,7 +4,7 @@ import ./make-test-python.nix ({ pkgs, ... } : { maintainers = [ joachifm ]; }; - machine = + nodes.machine = { lib, pkgs, config, ... }: with lib; { users.users.alice = { isNormalUser = true; extraGroups = [ "proc" ]; }; diff --git a/nixos/tests/herbstluftwm.nix b/nixos/tests/herbstluftwm.nix index 7d079f4bfb69..b6965914360e 100644 --- a/nixos/tests/herbstluftwm.nix +++ b/nixos/tests/herbstluftwm.nix @@ -5,7 +5,7 @@ import ./make-test-python.nix ({ lib, ...} : { maintainers = with lib.maintainers; [ thibautmarty ]; }; - machine = { pkgs, lib, ... }: { + nodes.machine = { pkgs, lib, ... }: { imports = [ ./common/x11.nix ./common/user-account.nix ]; test-support.displayManager.auto.user = "alice"; services.xserver.displayManager.defaultSession = lib.mkForce "none+herbstluftwm"; diff --git a/nixos/tests/hibernate.nix b/nixos/tests/hibernate.nix index 3880f1649bd3..ae3f9a80eb33 100644 --- a/nixos/tests/hibernate.nix +++ b/nixos/tests/hibernate.nix @@ -39,7 +39,7 @@ in makeTest { nodes = { # System configuration used for installing the installedConfig from above. - machine = { config, lib, pkgs, ... }: with lib; { + nodes.machine = { config, lib, pkgs, ... }: with lib; { imports = [ ../modules/profiles/installation-device.nix ../modules/profiles/base.nix diff --git a/nixos/tests/hitch/default.nix b/nixos/tests/hitch/default.nix index a1d8e6162606..4283b9f7dffb 100644 --- a/nixos/tests/hitch/default.nix +++ b/nixos/tests/hitch/default.nix @@ -4,7 +4,7 @@ import ../make-test-python.nix ({ pkgs, ... }: meta = with pkgs.lib.maintainers; { maintainers = [ jflanglois ]; }; - machine = { pkgs, ... }: { + nodes.machine = { pkgs, ... }: { environment.systemPackages = [ pkgs.curl ]; services.hitch = { enable = true; diff --git a/nixos/tests/hocker-fetchdocker/default.nix b/nixos/tests/hocker-fetchdocker/default.nix index e3979db3c60b..b5c06126c2e8 100644 --- a/nixos/tests/hocker-fetchdocker/default.nix +++ b/nixos/tests/hocker-fetchdocker/default.nix @@ -5,7 +5,7 @@ import ../make-test-python.nix ({ pkgs, ...} : { broken = true; # tries to download from registry-1.docker.io - how did this ever work? }; - machine = import ./machine.nix; + nodes.machine = import ./machine.nix; testScript = '' start_all() diff --git a/nixos/tests/hockeypuck.nix b/nixos/tests/hockeypuck.nix index 19df9dee3d31..d1ef4cbf588a 100644 --- a/nixos/tests/hockeypuck.nix +++ b/nixos/tests/hockeypuck.nix @@ -24,7 +24,7 @@ in { name = "hockeypuck"; meta.maintainers = with lib.maintainers; [ etu ]; - machine = { ... }: { + nodes.machine = { ... }: { # Used for test environment.systemPackages = [ pkgs.gnupg ]; diff --git a/nixos/tests/hostname.nix b/nixos/tests/hostname.nix index 2e92b4259a6a..1de8f19267af 100644 --- a/nixos/tests/hostname.nix +++ b/nixos/tests/hostname.nix @@ -20,7 +20,7 @@ let maintainers = [ primeos blitz ]; }; - machine = { lib, ... }: { + nodes.machine = { lib, ... }: { networking.hostName = hostName; networking.domain = domain; diff --git a/nixos/tests/hound.nix b/nixos/tests/hound.nix index 4f51db1de9de..a9b036deb0dd 100644 --- a/nixos/tests/hound.nix +++ b/nixos/tests/hound.nix @@ -4,7 +4,7 @@ import ./make-test-python.nix ({ pkgs, ... } : { meta = with pkgs.lib.maintainers; { maintainers = [ grahamc ]; }; - machine = { pkgs, ... }: { + nodes.machine = { pkgs, ... }: { services.hound = { enable = true; config = '' diff --git a/nixos/tests/hydra/default.nix b/nixos/tests/hydra/default.nix index ef5e677953dc..9fc787842d85 100644 --- a/nixos/tests/hydra/default.nix +++ b/nixos/tests/hydra/default.nix @@ -20,7 +20,7 @@ let maintainers = [ lewo ma27 ]; }; - machine = { pkgs, lib, ... }: { + nodes.machine = { pkgs, lib, ... }: { imports = [ baseConfig ]; services.hydra = { inherit package; }; }; diff --git a/nixos/tests/i3wm.nix b/nixos/tests/i3wm.nix index 59b4ffe3986e..b216650d8192 100644 --- a/nixos/tests/i3wm.nix +++ b/nixos/tests/i3wm.nix @@ -4,7 +4,7 @@ import ./make-test-python.nix ({ pkgs, ...} : { maintainers = [ aszlig ]; }; - machine = { lib, ... }: { + nodes.machine = { lib, ... }: { imports = [ ./common/x11.nix ./common/user-account.nix ]; test-support.displayManager.auto.user = "alice"; services.xserver.displayManager.defaultSession = lib.mkForce "none+i3"; diff --git a/nixos/tests/ihatemoney/default.nix b/nixos/tests/ihatemoney/default.nix index 78278d2e8699..cd5f073343da 100644 --- a/nixos/tests/ihatemoney/default.nix +++ b/nixos/tests/ihatemoney/default.nix @@ -7,7 +7,7 @@ let inherit (import ../../lib/testing-python.nix { inherit system pkgs; }) makeTest; f = backend: makeTest { name = "ihatemoney-${backend}"; - machine = { nodes, lib, ... }: { + nodes.machine = { nodes, lib, ... }: { services.ihatemoney = { enable = true; enablePublicProjectCreation = true; diff --git a/nixos/tests/incron.nix b/nixos/tests/incron.nix index b22ee4c9a037..c978ff27dfad 100644 --- a/nixos/tests/incron.nix +++ b/nixos/tests/incron.nix @@ -4,7 +4,7 @@ import ./make-test-python.nix ({ pkgs, lib, ... }: name = "incron"; meta.maintainers = [ lib.maintainers.aanderse ]; - machine = + nodes.machine = { ... }: { services.incron.enable = true; services.incron.extraPackages = [ pkgs.coreutils ]; diff --git a/nixos/tests/initrd-network.nix b/nixos/tests/initrd-network.nix index 14e7e7d40bc5..f2483b7393de 100644 --- a/nixos/tests/initrd-network.nix +++ b/nixos/tests/initrd-network.nix @@ -3,7 +3,7 @@ import ./make-test-python.nix ({ pkgs, lib, ...} : { meta.maintainers = [ pkgs.lib.maintainers.eelco ]; - machine = { ... }: { + nodes.machine = { ... }: { imports = [ ../modules/profiles/minimal.nix ]; boot.initrd.network.enable = true; boot.initrd.network.postCommands = diff --git a/nixos/tests/initrd-secrets.nix b/nixos/tests/initrd-secrets.nix index 113a9cebf788..0f3f83b0904e 100644 --- a/nixos/tests/initrd-secrets.nix +++ b/nixos/tests/initrd-secrets.nix @@ -11,7 +11,7 @@ let meta.maintainers = [ lib.maintainers.lheckemann ]; - machine = { ... }: { + nodes.machine = { ... }: { virtualisation.useBootLoader = true; boot.initrd.secrets = { "/test" = secretInStore; diff --git a/nixos/tests/input-remapper.nix b/nixos/tests/input-remapper.nix index f692564caa57..1b0350063f7f 100644 --- a/nixos/tests/input-remapper.nix +++ b/nixos/tests/input-remapper.nix @@ -6,7 +6,7 @@ import ./make-test-python.nix ({ pkgs, ... }: maintainers = with pkgs.lib.maintainers; [ LunNova ]; }; - machine = { config, ... }: + nodes.machine = { config, ... }: let user = config.users.users.sybil; in { imports = [ diff --git a/nixos/tests/installed-tests/default.nix b/nixos/tests/installed-tests/default.nix index 079fd54e71e5..fd16b481168f 100644 --- a/nixos/tests/installed-tests/default.nix +++ b/nixos/tests/installed-tests/default.nix @@ -43,7 +43,7 @@ let maintainers = tested.meta.maintainers; }; - machine = { ... }: { + nodes.machine = { ... }: { imports = [ testConfig ] ++ optional withX11 ../common/x11.nix; diff --git a/nixos/tests/invidious.nix b/nixos/tests/invidious.nix index 8b831715a441..582d1550fff1 100644 --- a/nixos/tests/invidious.nix +++ b/nixos/tests/invidious.nix @@ -5,7 +5,7 @@ import ./make-test-python.nix ({ pkgs, ... }: { maintainers = [ sbruder ]; }; - machine = { config, lib, pkgs, ... }: { + nodes.machine = { config, lib, pkgs, ... }: { services.invidious = { enable = true; }; diff --git a/nixos/tests/isso.nix b/nixos/tests/isso.nix index 99dc8009ae06..65bae5f5dced 100644 --- a/nixos/tests/isso.nix +++ b/nixos/tests/isso.nix @@ -4,7 +4,7 @@ import ./make-test-python.nix ({ pkgs, ... }: { maintainers = [ asbachb ]; }; - machine = { config, pkgs, ... }: { + nodes.machine = { config, pkgs, ... }: { services.isso = { enable = true; settings = { diff --git a/nixos/tests/jellyfin.nix b/nixos/tests/jellyfin.nix index cae31a719258..4ac378699637 100644 --- a/nixos/tests/jellyfin.nix +++ b/nixos/tests/jellyfin.nix @@ -4,7 +4,7 @@ import ./make-test-python.nix ({ lib, pkgs, ... }: name = "jellyfin"; meta.maintainers = with lib.maintainers; [ minijackson ]; - machine = + nodes.machine = { ... }: { services.jellyfin.enable = true; diff --git a/nixos/tests/jibri.nix b/nixos/tests/jibri.nix index af20e639d30e..223120cdb229 100644 --- a/nixos/tests/jibri.nix +++ b/nixos/tests/jibri.nix @@ -4,7 +4,7 @@ import ./make-test-python.nix ({ pkgs, ... }: { maintainers = teams.jitsi.members; }; - machine = { config, pkgs, ... }: { + nodes.machine = { config, pkgs, ... }: { virtualisation.memorySize = 5120; services.jitsi-meet = { diff --git a/nixos/tests/k3s-single-node-docker.nix b/nixos/tests/k3s-single-node-docker.nix index 7f3d15788b04..735aa5ac2975 100644 --- a/nixos/tests/k3s-single-node-docker.nix +++ b/nixos/tests/k3s-single-node-docker.nix @@ -38,7 +38,7 @@ import ./make-test-python.nix ({ pkgs, ... }: maintainers = [ euank ]; }; - machine = { pkgs, ... }: { + nodes.machine = { pkgs, ... }: { environment.systemPackages = with pkgs; [ k3s gzip ]; # k3s uses enough resources the default vm fails. diff --git a/nixos/tests/k3s-single-node.nix b/nixos/tests/k3s-single-node.nix index d98f20d468cb..fb6510ee087b 100644 --- a/nixos/tests/k3s-single-node.nix +++ b/nixos/tests/k3s-single-node.nix @@ -38,7 +38,7 @@ import ./make-test-python.nix ({ pkgs, ... }: maintainers = [ euank ]; }; - machine = { pkgs, ... }: { + nodes.machine = { pkgs, ... }: { environment.systemPackages = with pkgs; [ k3s gzip ]; # k3s uses enough resources the default vm fails. diff --git a/nixos/tests/kbd-setfont-decompress.nix b/nixos/tests/kbd-setfont-decompress.nix index c3a495afac84..810ef39cc11a 100644 --- a/nixos/tests/kbd-setfont-decompress.nix +++ b/nixos/tests/kbd-setfont-decompress.nix @@ -4,7 +4,7 @@ import ./make-test-python.nix ({ lib, pkgs, ... }: meta.maintainers = with lib.maintainers; [ oxalica ]; - machine = { ... }: {}; + nodes.machine = { ... }: {}; testScript = '' machine.succeed("gzip -cd ${pkgs.terminus_font}/share/consolefonts/ter-v16b.psf.gz >font.psf") diff --git a/nixos/tests/kbd-update-search-paths-patch.nix b/nixos/tests/kbd-update-search-paths-patch.nix index 2cdb12340b1b..746a809c4cdf 100644 --- a/nixos/tests/kbd-update-search-paths-patch.nix +++ b/nixos/tests/kbd-update-search-paths-patch.nix @@ -1,7 +1,7 @@ import ./make-test-python.nix ({ pkgs, ... }: { name = "kbd-update-search-paths-patch"; - machine = { pkgs, options, ... }: { + nodes.machine = { pkgs, options, ... }: { console = { packages = options.console.packages.default ++ [ pkgs.terminus_font ]; }; diff --git a/nixos/tests/keepassxc.nix b/nixos/tests/keepassxc.nix index 924c137a9032..d0f353c71e0b 100644 --- a/nixos/tests/keepassxc.nix +++ b/nixos/tests/keepassxc.nix @@ -6,7 +6,7 @@ import ./make-test-python.nix ({ pkgs, ...} : maintainers = [ turion ]; }; - machine = { ... }: + nodes.machine = { ... }: { imports = [ diff --git a/nixos/tests/kerberos/heimdal.nix b/nixos/tests/kerberos/heimdal.nix index 391a61cc9a90..47f9d0285aef 100644 --- a/nixos/tests/kerberos/heimdal.nix +++ b/nixos/tests/kerberos/heimdal.nix @@ -1,6 +1,6 @@ import ../make-test-python.nix ({pkgs, ...}: { name = "kerberos_server-heimdal"; - machine = { config, libs, pkgs, ...}: + nodes.machine = { config, libs, pkgs, ...}: { services.kerberos_server = { enable = true; realms = { diff --git a/nixos/tests/kerberos/mit.nix b/nixos/tests/kerberos/mit.nix index 93b4020d4994..b475b7e4c92b 100644 --- a/nixos/tests/kerberos/mit.nix +++ b/nixos/tests/kerberos/mit.nix @@ -1,6 +1,6 @@ import ../make-test-python.nix ({pkgs, ...}: { name = "kerberos_server-mit"; - machine = { config, libs, pkgs, ...}: + nodes.machine = { config, libs, pkgs, ...}: { services.kerberos_server = { enable = true; realms = { diff --git a/nixos/tests/kernel-generic.nix b/nixos/tests/kernel-generic.nix index 45c5c1963a0d..f34d5d607940 100644 --- a/nixos/tests/kernel-generic.nix +++ b/nixos/tests/kernel-generic.nix @@ -12,7 +12,7 @@ let maintainers = [ nequissimus atemu ]; }; - machine = { ... }: + nodes.machine = { ... }: { boot.kernelPackages = linuxPackages; }; diff --git a/nixos/tests/kernel-latest-ath-user-regd.nix b/nixos/tests/kernel-latest-ath-user-regd.nix index 11a3959e692e..09e1da9d2aff 100644 --- a/nixos/tests/kernel-latest-ath-user-regd.nix +++ b/nixos/tests/kernel-latest-ath-user-regd.nix @@ -4,7 +4,7 @@ import ./make-test-python.nix ({ pkgs, ...} : { maintainers = [ veehaitch ]; }; - machine = { pkgs, ... }: + nodes.machine = { pkgs, ... }: { boot.kernelPackages = pkgs.linuxPackages_latest; networking.wireless.athUserRegulatoryDomain = true; diff --git a/nixos/tests/kexec.nix b/nixos/tests/kexec.nix index 010f3da49846..55b71e0999f6 100644 --- a/nixos/tests/kexec.nix +++ b/nixos/tests/kexec.nix @@ -6,7 +6,7 @@ import ./make-test-python.nix ({ pkgs, lib, ...} : { maintainers = [ eelco ]; }; - machine = { ... }: + nodes.machine = { ... }: { virtualisation.vlans = [ ]; }; testScript = diff --git a/nixos/tests/krb5/deprecated-config.nix b/nixos/tests/krb5/deprecated-config.nix index 9a9cafd4b13e..aca29ae6ca2b 100644 --- a/nixos/tests/krb5/deprecated-config.nix +++ b/nixos/tests/krb5/deprecated-config.nix @@ -7,7 +7,7 @@ import ../make-test-python.nix ({ pkgs, ...} : { maintainers = [ eqyiel ]; }; - machine = + nodes.machine = { ... }: { krb5 = { enable = true; diff --git a/nixos/tests/krb5/example-config.nix b/nixos/tests/krb5/example-config.nix index 0932c71dd970..1125b02f01ca 100644 --- a/nixos/tests/krb5/example-config.nix +++ b/nixos/tests/krb5/example-config.nix @@ -7,7 +7,7 @@ import ../make-test-python.nix ({ pkgs, ...} : { maintainers = [ eqyiel ]; }; - machine = + nodes.machine = { pkgs, ... }: { krb5 = { enable = true; diff --git a/nixos/tests/ksm.nix b/nixos/tests/ksm.nix index 8f84b32020ab..026d2ee85a24 100644 --- a/nixos/tests/ksm.nix +++ b/nixos/tests/ksm.nix @@ -6,7 +6,7 @@ import ./make-test-python.nix ({ lib, ...} : maintainers = [ rnhmjoj ]; }; - machine = { ... }: { + nodes.machine = { ... }: { imports = [ ../modules/profiles/minimal.nix ]; hardware.ksm.enable = true; diff --git a/nixos/tests/libinput.nix b/nixos/tests/libinput.nix index 2f84aaadcd0b..9b6fa159b999 100644 --- a/nixos/tests/libinput.nix +++ b/nixos/tests/libinput.nix @@ -3,7 +3,7 @@ import ./make-test-python.nix ({ ... }: { name = "libinput"; - machine = { ... }: + nodes.machine = { ... }: { imports = [ ./common/x11.nix diff --git a/nixos/tests/libresprite.nix b/nixos/tests/libresprite.nix index 1a6210e3671a..16d272acfa0f 100644 --- a/nixos/tests/libresprite.nix +++ b/nixos/tests/libresprite.nix @@ -4,7 +4,7 @@ import ./make-test-python.nix ({ pkgs, ... }: { maintainers = [ fgaz ]; }; - machine = { config, pkgs, ... }: { + nodes.machine = { config, pkgs, ... }: { imports = [ ./common/x11.nix ]; diff --git a/nixos/tests/lightdm.nix b/nixos/tests/lightdm.nix index e98230ecb179..94cebd4a630a 100644 --- a/nixos/tests/lightdm.nix +++ b/nixos/tests/lightdm.nix @@ -4,7 +4,7 @@ import ./make-test-python.nix ({ pkgs, ...} : { maintainers = [ aszlig ]; }; - machine = { ... }: { + nodes.machine = { ... }: { imports = [ ./common/user-account.nix ]; services.xserver.enable = true; services.xserver.displayManager.lightdm.enable = true; diff --git a/nixos/tests/limesurvey.nix b/nixos/tests/limesurvey.nix index b60e80be2444..9a3193991f35 100644 --- a/nixos/tests/limesurvey.nix +++ b/nixos/tests/limesurvey.nix @@ -2,7 +2,7 @@ import ./make-test-python.nix ({ pkgs, ... }: { name = "limesurvey"; meta.maintainers = [ pkgs.lib.maintainers.aanderse ]; - machine = { ... }: { + nodes.machine = { ... }: { services.limesurvey = { enable = true; virtualHost = { diff --git a/nixos/tests/litestream.nix b/nixos/tests/litestream.nix index 886fbfef9cf5..f9d71c526e9e 100644 --- a/nixos/tests/litestream.nix +++ b/nixos/tests/litestream.nix @@ -4,7 +4,7 @@ import ./make-test-python.nix ({ pkgs, ...} : { maintainers = [ jwygoda ]; }; - machine = + nodes.machine = { pkgs, ... }: { services.litestream = { enable = true; diff --git a/nixos/tests/login.nix b/nixos/tests/login.nix index 4d1dcc8cc32d..0d6f81b17219 100644 --- a/nixos/tests/login.nix +++ b/nixos/tests/login.nix @@ -6,7 +6,7 @@ import ./make-test-python.nix ({ pkgs, latestKernel ? false, ... }: maintainers = [ eelco ]; }; - machine = + nodes.machine = { pkgs, lib, ... }: { boot.kernelPackages = lib.mkIf latestKernel pkgs.linuxPackages_latest; sound.enable = true; # needed for the factl test, /dev/snd/* exists without them but udev doesn't care then diff --git a/nixos/tests/logrotate.nix b/nixos/tests/logrotate.nix index 38da8d535275..7e3046c94272 100644 --- a/nixos/tests/logrotate.nix +++ b/nixos/tests/logrotate.nix @@ -7,7 +7,7 @@ import ./make-test-python.nix ({ pkgs, ...} : rec { }; # default machine - machine = { ... }: { + nodes.machine = { ... }: { }; testScript = diff --git a/nixos/tests/loki.nix b/nixos/tests/loki.nix index 0c6dff3fdf13..470f80e9db63 100644 --- a/nixos/tests/loki.nix +++ b/nixos/tests/loki.nix @@ -7,7 +7,7 @@ import ./make-test-python.nix ({ lib, pkgs, ... }: maintainers = [ willibutz ]; }; - machine = { ... }: { + nodes.machine = { ... }: { services.loki = { enable = true; configFile = "${pkgs.grafana-loki.src}/cmd/loki/loki-local-config.yaml"; diff --git a/nixos/tests/lorri/default.nix b/nixos/tests/lorri/default.nix index c33c7503993d..209b87f9f26a 100644 --- a/nixos/tests/lorri/default.nix +++ b/nixos/tests/lorri/default.nix @@ -1,5 +1,5 @@ import ../make-test-python.nix { - machine = { pkgs, ... }: { + nodes.machine = { pkgs, ... }: { imports = [ ../../modules/profiles/minimal.nix ]; environment.systemPackages = [ pkgs.lorri ]; }; diff --git a/nixos/tests/lxd-image-server.nix b/nixos/tests/lxd-image-server.nix index 9f060fed38d8..fa40e33e74dd 100644 --- a/nixos/tests/lxd-image-server.nix +++ b/nixos/tests/lxd-image-server.nix @@ -51,7 +51,7 @@ in { maintainers = [ mkg20001 ]; }; - machine = { lib, ... }: { + nodes.machine = { lib, ... }: { virtualisation = { cores = 2; diff --git a/nixos/tests/lxd-image.nix b/nixos/tests/lxd-image.nix index 096b9d9aba90..4930b55f1909 100644 --- a/nixos/tests/lxd-image.nix +++ b/nixos/tests/lxd-image.nix @@ -44,7 +44,7 @@ in { maintainers = [ mkg20001 ]; }; - machine = { lib, ... }: { + nodes.machine = { lib, ... }: { virtualisation = { # disk full otherwise diskSize = 2048; diff --git a/nixos/tests/lxd-nftables.nix b/nixos/tests/lxd-nftables.nix index a62d5a3064df..293065001567 100644 --- a/nixos/tests/lxd-nftables.nix +++ b/nixos/tests/lxd-nftables.nix @@ -12,7 +12,7 @@ import ./make-test-python.nix ({ pkgs, ...} : { maintainers = [ patryk27 ]; }; - machine = { lib, ... }: { + nodes.machine = { lib, ... }: { virtualisation = { lxd.enable = true; }; diff --git a/nixos/tests/lxd.nix b/nixos/tests/lxd.nix index 1a3b84a85cf6..81b36124cc6b 100644 --- a/nixos/tests/lxd.nix +++ b/nixos/tests/lxd.nix @@ -51,7 +51,7 @@ in { maintainers = [ patryk27 ]; }; - machine = { lib, ... }: { + nodes.machine = { lib, ... }: { virtualisation = { # Since we're testing `limits.cpu`, we've gotta have a known number of # cores to lean on diff --git a/nixos/tests/magnetico.nix b/nixos/tests/magnetico.nix index 8433a974f453..ee84aacaf7a7 100644 --- a/nixos/tests/magnetico.nix +++ b/nixos/tests/magnetico.nix @@ -9,7 +9,7 @@ in maintainers = [ rnhmjoj ]; }; - machine = { ... }: { + nodes.machine = { ... }: { imports = [ ../modules/profiles/minimal.nix ]; networking.firewall.allowedTCPPorts = [ 9000 ]; diff --git a/nixos/tests/mailcatcher.nix b/nixos/tests/mailcatcher.nix index a55fba8a9950..d7858ab354bd 100644 --- a/nixos/tests/mailcatcher.nix +++ b/nixos/tests/mailcatcher.nix @@ -4,7 +4,7 @@ import ./make-test-python.nix ({ lib, ... }: name = "mailcatcher"; meta.maintainers = [ lib.maintainers.aanderse ]; - machine = + nodes.machine = { pkgs, ... }: { services.mailcatcher.enable = true; diff --git a/nixos/tests/mailhog.nix b/nixos/tests/mailhog.nix index aece57178dd1..3508c2c0a5ea 100644 --- a/nixos/tests/mailhog.nix +++ b/nixos/tests/mailhog.nix @@ -2,7 +2,7 @@ import ./make-test-python.nix ({ lib, ... }: { name = "mailhog"; meta.maintainers = with lib.maintainers; [ jojosch ]; - machine = { pkgs, ... }: { + nodes.machine = { pkgs, ... }: { services.mailhog.enable = true; environment.systemPackages = with pkgs; [ swaks ]; diff --git a/nixos/tests/matomo.nix b/nixos/tests/matomo.nix index f6b0845749cd..526a24fc4db7 100644 --- a/nixos/tests/matomo.nix +++ b/nixos/tests/matomo.nix @@ -7,7 +7,7 @@ with pkgs.lib; let matomoTest = package: makeTest { - machine = { config, pkgs, ... }: { + nodes.machine = { config, pkgs, ... }: { services.matomo = { package = package; enable = true; diff --git a/nixos/tests/matrix/pantalaimon.nix b/nixos/tests/matrix/pantalaimon.nix index 1a9894dd2159..b5d649e6517a 100644 --- a/nixos/tests/matrix/pantalaimon.nix +++ b/nixos/tests/matrix/pantalaimon.nix @@ -36,7 +36,7 @@ import ../make-test-python.nix ( maintainers = teams.matrix.members; }; - machine = { pkgs, ... }: { + nodes.machine = { pkgs, ... }: { services.pantalaimon-headless.instances.${pantalaimonInstanceName} = { homeserver = "https://localhost:8448"; listenAddress = "0.0.0.0"; diff --git a/nixos/tests/mediawiki.nix b/nixos/tests/mediawiki.nix index 702fefefa161..7f31d6aadfa2 100644 --- a/nixos/tests/mediawiki.nix +++ b/nixos/tests/mediawiki.nix @@ -2,7 +2,7 @@ import ./make-test-python.nix ({ pkgs, lib, ... }: { name = "mediawiki"; meta.maintainers = [ lib.maintainers.aanderse ]; - machine = + nodes.machine = { ... }: { services.mediawiki.enable = true; services.mediawiki.virtualHost.hostName = "localhost"; diff --git a/nixos/tests/meilisearch.nix b/nixos/tests/meilisearch.nix index c379bda74c59..9f54aa97d6ad 100644 --- a/nixos/tests/meilisearch.nix +++ b/nixos/tests/meilisearch.nix @@ -12,7 +12,7 @@ import ./make-test-python.nix ({ pkgs, lib, ... }: name = "meilisearch"; meta.maintainers = with lib.maintainers; [ Br1ght0ne ]; - machine = { ... }: { + nodes.machine = { ... }: { environment.systemPackages = with pkgs; [ curl jq ]; services.meilisearch = { enable = true; diff --git a/nixos/tests/memcached.nix b/nixos/tests/memcached.nix index 31f5627d25ce..6549995110d7 100644 --- a/nixos/tests/memcached.nix +++ b/nixos/tests/memcached.nix @@ -1,7 +1,7 @@ import ./make-test-python.nix ({ pkgs, ... }: { name = "memcached"; - machine = { + nodes.machine = { imports = [ ../modules/profiles/minimal.nix ]; services.memcached.enable = true; }; diff --git a/nixos/tests/misc.nix b/nixos/tests/misc.nix index 02513c4726c1..0d5f0fe2f044 100644 --- a/nixos/tests/misc.nix +++ b/nixos/tests/misc.nix @@ -8,7 +8,7 @@ in { maintainers = [ eelco ]; }; - machine = + nodes.machine = { lib, ... }: with lib; { swapDevices = mkOverride 0 diff --git a/nixos/tests/mod_perl.nix b/nixos/tests/mod_perl.nix index 29a1eb6503fd..f29d79ea6206 100644 --- a/nixos/tests/mod_perl.nix +++ b/nixos/tests/mod_perl.nix @@ -5,7 +5,7 @@ import ./make-test-python.nix ({ pkgs, lib, ... }: { maintainers = [ sgo ]; }; - machine = { config, lib, pkgs, ... }: { + nodes.machine = { config, lib, pkgs, ... }: { services.httpd = { enable = true; adminAddr = "admin@localhost"; diff --git a/nixos/tests/moodle.nix b/nixos/tests/moodle.nix index 56aa62596c07..4570e8963882 100644 --- a/nixos/tests/moodle.nix +++ b/nixos/tests/moodle.nix @@ -2,7 +2,7 @@ import ./make-test-python.nix ({ pkgs, lib, ... }: { name = "moodle"; meta.maintainers = [ lib.maintainers.aanderse ]; - machine = + nodes.machine = { ... }: { services.moodle.enable = true; services.moodle.virtualHost.hostName = "localhost"; diff --git a/nixos/tests/musescore.nix b/nixos/tests/musescore.nix index 7fd80d70df12..18de0a550239 100644 --- a/nixos/tests/musescore.nix +++ b/nixos/tests/musescore.nix @@ -17,7 +17,7 @@ in maintainers = [ turion ]; }; - machine = { ... }: + nodes.machine = { ... }: { imports = [ diff --git a/nixos/tests/mysql/mysql-autobackup.nix b/nixos/tests/mysql/mysql-autobackup.nix index 101122f7bdef..b49466db0a9c 100644 --- a/nixos/tests/mysql/mysql-autobackup.nix +++ b/nixos/tests/mysql/mysql-autobackup.nix @@ -17,7 +17,7 @@ let name = "${name}-automysqlbackup"; meta.maintainers = [ lib.maintainers.aanderse ]; - machine = { + nodes.machine = { services.mysql = { inherit package; enable = true; diff --git a/nixos/tests/nagios.nix b/nixos/tests/nagios.nix index e4d8dabedf72..b6e45fc103af 100644 --- a/nixos/tests/nagios.nix +++ b/nixos/tests/nagios.nix @@ -5,7 +5,7 @@ import ./make-test-python.nix ( maintainers = [ symphorien ]; }; - machine = { lib, ... }: let + nodes.machine = { lib, ... }: let writer = pkgs.writeShellScript "write" '' set -x echo "$@" >> /tmp/notifications diff --git a/nixos/tests/navidrome.nix b/nixos/tests/navidrome.nix index 42e14720b2ed..62290d50fc7e 100644 --- a/nixos/tests/navidrome.nix +++ b/nixos/tests/navidrome.nix @@ -1,7 +1,7 @@ import ./make-test-python.nix ({ pkgs, ... }: { name = "navidrome"; - machine = { ... }: { + nodes.machine = { ... }: { services.navidrome.enable = true; }; diff --git a/nixos/tests/networking.nix b/nixos/tests/networking.nix index dc7938a436aa..bd517093eb3d 100644 --- a/nixos/tests/networking.nix +++ b/nixos/tests/networking.nix @@ -640,7 +640,7 @@ let }; virtual = { name = "Virtual"; - machine = { + nodes.machine = { networking.useNetworkd = networkd; networking.useDHCP = false; networking.interfaces.tap0 = { @@ -784,7 +784,7 @@ let }; routes = { name = "routes"; - machine = { + nodes.machine = { networking.useNetworkd = networkd; networking.useDHCP = false; networking.interfaces.eth0 = { @@ -865,7 +865,7 @@ let }; rename = { name = "RenameInterface"; - machine = { pkgs, ... }: { + nodes.machine = { pkgs, ... }: { virtualisation.vlans = [ 1 ]; networking = { useNetworkd = networkd; @@ -916,7 +916,7 @@ let testMac = "06:00:00:00:02:00"; in { name = "WlanInterface"; - machine = { pkgs, ... }: { + nodes.machine = { pkgs, ... }: { boot.kernelModules = [ "mac80211_hwsim" ]; networking.wlanInterfaces = { wlan0 = { device = "wlan0"; }; diff --git a/nixos/tests/nginx-modsecurity.nix b/nixos/tests/nginx-modsecurity.nix index 8c53c0196d4c..5ceee3787297 100644 --- a/nixos/tests/nginx-modsecurity.nix +++ b/nixos/tests/nginx-modsecurity.nix @@ -1,7 +1,7 @@ import ./make-test-python.nix ({ pkgs, lib, ... }: { name = "nginx-modsecurity"; - machine = { config, lib, pkgs, ... }: { + nodes.machine = { config, lib, pkgs, ... }: { services.nginx = { enable = true; additionalModules = [ pkgs.nginxModules.modsecurity-nginx ]; diff --git a/nixos/tests/nginx-pubhtml.nix b/nixos/tests/nginx-pubhtml.nix index 6e1e605628e9..bff24c99d41a 100644 --- a/nixos/tests/nginx-pubhtml.nix +++ b/nixos/tests/nginx-pubhtml.nix @@ -1,7 +1,7 @@ import ./make-test-python.nix { name = "nginx-pubhtml"; - machine = { pkgs, ... }: { + nodes.machine = { pkgs, ... }: { systemd.services.nginx.serviceConfig.ProtectHome = "read-only"; services.nginx.enable = true; services.nginx.virtualHosts.localhost = { diff --git a/nixos/tests/nginx-sandbox.nix b/nixos/tests/nginx-sandbox.nix index 2d512725f265..92ba30a09cf9 100644 --- a/nixos/tests/nginx-sandbox.nix +++ b/nixos/tests/nginx-sandbox.nix @@ -6,7 +6,7 @@ import ./make-test-python.nix ({ pkgs, ... }: { # This test checks the creation and reading of a file in sandbox mode. Used simple lua script. - machine = { pkgs, ... }: { + nodes.machine = { pkgs, ... }: { nixpkgs.overlays = [ (self: super: { nginx-lua = super.nginx.override { diff --git a/nixos/tests/nginx-sso.nix b/nixos/tests/nginx-sso.nix index aeb89859c73f..221c5f4ed905 100644 --- a/nixos/tests/nginx-sso.nix +++ b/nixos/tests/nginx-sso.nix @@ -4,7 +4,7 @@ import ./make-test-python.nix ({ pkgs, ... }: { maintainers = with pkgs.lib.maintainers; [ delroth ]; }; - machine = { + nodes.machine = { services.nginx.sso = { enable = true; configuration = { diff --git a/nixos/tests/nginx-variants.nix b/nixos/tests/nginx-variants.nix index 96a9a2c3b8c1..0faa0127669d 100644 --- a/nixos/tests/nginx-variants.nix +++ b/nixos/tests/nginx-variants.nix @@ -13,7 +13,7 @@ builtins.listToAttrs ( value = makeTest { name = "nginx-variant-${nginxName}"; - machine = { pkgs, ... }: { + nodes.machine = { pkgs, ... }: { services.nginx = { enable = true; virtualHosts.localhost.locations."/".return = "200 'foo'"; diff --git a/nixos/tests/nix-serve.nix b/nixos/tests/nix-serve.nix index ab82f4be43e6..3aa913f81107 100644 --- a/nixos/tests/nix-serve.nix +++ b/nixos/tests/nix-serve.nix @@ -1,7 +1,7 @@ import ./make-test-python.nix ({ pkgs, ... }: { name = "nix-serve"; - machine = { pkgs, ... }: { + nodes.machine = { pkgs, ... }: { services.nix-serve.enable = true; environment.systemPackages = [ pkgs.hello diff --git a/nixos/tests/nixos-generate-config.nix b/nixos/tests/nixos-generate-config.nix index 1dadf4992ed0..e1c2f29e0673 100644 --- a/nixos/tests/nixos-generate-config.nix +++ b/nixos/tests/nixos-generate-config.nix @@ -1,7 +1,7 @@ import ./make-test-python.nix ({ lib, ... } : { name = "nixos-generate-config"; meta.maintainers = with lib.maintainers; [ basvandijk ]; - machine = { + nodes.machine = { system.nixos-generate-config.configuration = '' # OVERRIDDEN { config, pkgs, ... }: { diff --git a/nixos/tests/noto-fonts.nix b/nixos/tests/noto-fonts.nix index 049dc766bd3b..e4c33fe26a9e 100644 --- a/nixos/tests/noto-fonts.nix +++ b/nixos/tests/noto-fonts.nix @@ -4,7 +4,7 @@ import ./make-test-python.nix ({ pkgs, lib, ... }: { maintainers = with lib.maintainers; [ nickcao midchildan ]; }; - machine = { + nodes.machine = { imports = [ ./common/x11.nix ]; environment.systemPackages = [ pkgs.gnome.gedit ]; fonts = { diff --git a/nixos/tests/novacomd.nix b/nixos/tests/novacomd.nix index b470c117e1e1..d47d212fb2ec 100644 --- a/nixos/tests/novacomd.nix +++ b/nixos/tests/novacomd.nix @@ -4,7 +4,7 @@ import ./make-test-python.nix ({ pkgs, ...} : { maintainers = [ dtzWill ]; }; - machine = { ... }: { + nodes.machine = { ... }: { services.novacomd.enable = true; }; diff --git a/nixos/tests/oh-my-zsh.nix b/nixos/tests/oh-my-zsh.nix index 57a073b086e8..1d5227e36236 100644 --- a/nixos/tests/oh-my-zsh.nix +++ b/nixos/tests/oh-my-zsh.nix @@ -1,7 +1,7 @@ import ./make-test-python.nix ({ pkgs, ... }: { name = "oh-my-zsh"; - machine = { pkgs, ... }: + nodes.machine = { pkgs, ... }: { programs.zsh = { diff --git a/nixos/tests/openldap.nix b/nixos/tests/openldap.nix index f1a39ad7dde2..3c388119d5d2 100644 --- a/nixos/tests/openldap.nix +++ b/nixos/tests/openldap.nix @@ -25,7 +25,7 @@ in { inherit testScript; name = "openldap"; - machine = { pkgs, ... }: { + nodes.machine = { pkgs, ... }: { environment.etc."openldap/root_password".text = "notapassword"; services.openldap = { enable = true; @@ -65,7 +65,7 @@ in { inherit testScript; name = "openldap"; - machine = { pkgs, ... }: { + nodes.machine = { pkgs, ... }: { services.openldap = { enable = true; logLevel = "stats acl"; @@ -83,7 +83,7 @@ in { manualConfigDir = import ./make-test-python.nix ({ pkgs, ... }: { name = "openldap"; - machine = { pkgs, ... }: { + nodes.machine = { pkgs, ... }: { services.openldap = { enable = true; configDir = "/var/db/slapd.d"; diff --git a/nixos/tests/opentabletdriver.nix b/nixos/tests/opentabletdriver.nix index fe345a7bec73..b7583f6dd264 100644 --- a/nixos/tests/opentabletdriver.nix +++ b/nixos/tests/opentabletdriver.nix @@ -6,7 +6,7 @@ in { maintainers = with pkgs.lib.maintainers; [ thiagokokada ]; }; - machine = { pkgs, ... }: + nodes.machine = { pkgs, ... }: { imports = [ ./common/user-account.nix diff --git a/nixos/tests/os-prober.nix b/nixos/tests/os-prober.nix index 90375450fe1b..ac05bd80c601 100644 --- a/nixos/tests/os-prober.nix +++ b/nixos/tests/os-prober.nix @@ -65,7 +65,7 @@ let in { name = "os-prober"; - machine = { config, pkgs, ... }: (simpleConfig // { + nodes.machine = { config, pkgs, ... }: (simpleConfig // { imports = [ ../modules/profiles/installation-device.nix ../modules/profiles/base.nix ]; virtualisation.memorySize = 1300; diff --git a/nixos/tests/osrm-backend.nix b/nixos/tests/osrm-backend.nix index 4067d5b1a239..b0e65a2ae1c1 100644 --- a/nixos/tests/osrm-backend.nix +++ b/nixos/tests/osrm-backend.nix @@ -5,7 +5,7 @@ in { name = "osrm-backend"; meta.maintainers = [ lib.maintainers.erictapen ]; - machine = { config, pkgs, ... }:{ + nodes.machine = { config, pkgs, ... }:{ services.osrm = { enable = true; diff --git a/nixos/tests/overlayfs.nix b/nixos/tests/overlayfs.nix index 1768f1fea1ed..6dab6760c5b9 100644 --- a/nixos/tests/overlayfs.nix +++ b/nixos/tests/overlayfs.nix @@ -2,7 +2,7 @@ import ./make-test-python.nix ({ pkgs, ... }: { name = "overlayfs"; meta.maintainers = with pkgs.lib.maintainers; [ bachp ]; - machine = { pkgs, ... }: { + nodes.machine = { pkgs, ... }: { virtualisation.emptyDiskImages = [ 512 ]; networking.hostId = "deadbeef"; environment.systemPackages = with pkgs; [ parted ]; diff --git a/nixos/tests/packagekit.nix b/nixos/tests/packagekit.nix index 020a4e65e6d8..5769c6c9a8d4 100644 --- a/nixos/tests/packagekit.nix +++ b/nixos/tests/packagekit.nix @@ -4,7 +4,7 @@ import ./make-test-python.nix ({ pkgs, ... }: { maintainers = [ peterhoeg ]; }; - machine = { ... }: { + nodes.machine = { ... }: { environment.systemPackages = with pkgs; [ dbus ]; services.packagekit = { enable = true; diff --git a/nixos/tests/pam/pam-oath-login.nix b/nixos/tests/pam/pam-oath-login.nix index 597596b211b1..8fb7553de907 100644 --- a/nixos/tests/pam/pam-oath-login.nix +++ b/nixos/tests/pam/pam-oath-login.nix @@ -21,7 +21,7 @@ in { name = "pam-oath-login"; - machine = + nodes.machine = { ... }: { security.pam.oath = { diff --git a/nixos/tests/pam/pam-u2f.nix b/nixos/tests/pam/pam-u2f.nix index 0ac6ac17be82..d7c540982cfa 100644 --- a/nixos/tests/pam/pam-u2f.nix +++ b/nixos/tests/pam/pam-u2f.nix @@ -3,7 +3,7 @@ import ../make-test-python.nix ({ ... }: { name = "pam-u2f"; - machine = + nodes.machine = { ... }: { security.pam.u2f = { diff --git a/nixos/tests/pantheon.nix b/nixos/tests/pantheon.nix index 989d29a966df..52f85f5c07da 100644 --- a/nixos/tests/pantheon.nix +++ b/nixos/tests/pantheon.nix @@ -7,7 +7,7 @@ import ./make-test-python.nix ({ pkgs, lib, ...} : maintainers = teams.pantheon.members; }; - machine = { ... }: + nodes.machine = { ... }: { imports = [ ./common/user-account.nix ]; diff --git a/nixos/tests/php/fpm.nix b/nixos/tests/php/fpm.nix index 718a635a6c7c..64b61a377e28 100644 --- a/nixos/tests/php/fpm.nix +++ b/nixos/tests/php/fpm.nix @@ -2,7 +2,7 @@ import ../make-test-python.nix ({ pkgs, lib, php, ... }: { name = "php-${php.version}-fpm-nginx-test"; meta.maintainers = lib.teams.php.members; - machine = { config, lib, pkgs, ... }: { + nodes.machine = { config, lib, pkgs, ... }: { environment.systemPackages = [ php ]; services.nginx = { diff --git a/nixos/tests/php/httpd.nix b/nixos/tests/php/httpd.nix index 36d90e72d7d1..b6dfbeeaed52 100644 --- a/nixos/tests/php/httpd.nix +++ b/nixos/tests/php/httpd.nix @@ -2,7 +2,7 @@ import ../make-test-python.nix ({ pkgs, lib, php, ... }: { name = "php-${php.version}-httpd-test"; meta.maintainers = lib.teams.php.members; - machine = { config, lib, pkgs, ... }: { + nodes.machine = { config, lib, pkgs, ... }: { services.httpd = { enable = true; adminAddr = "admin@phpfpm"; diff --git a/nixos/tests/php/pcre.nix b/nixos/tests/php/pcre.nix index 917184b975ec..57407477f4b8 100644 --- a/nixos/tests/php/pcre.nix +++ b/nixos/tests/php/pcre.nix @@ -5,7 +5,7 @@ import ../make-test-python.nix ({ lib, php, ... }: { name = "php-${php.version}-httpd-pcre-jit-test"; meta.maintainers = lib.teams.php.members; - machine = { lib, pkgs, ... }: { + nodes.machine = { lib, pkgs, ... }: { time.timeZone = "UTC"; services.httpd = { enable = true; diff --git a/nixos/tests/pict-rs.nix b/nixos/tests/pict-rs.nix index 432fd6a50ccd..90f01d6d5d02 100644 --- a/nixos/tests/pict-rs.nix +++ b/nixos/tests/pict-rs.nix @@ -3,7 +3,7 @@ import ./make-test-python.nix ({ pkgs, lib, ... }: name = "pict-rs"; meta.maintainers = with lib.maintainers; [ happysalada ]; - machine = { ... }: { + nodes.machine = { ... }: { environment.systemPackages = with pkgs; [ curl jq ]; services.pict-rs.enable = true; }; diff --git a/nixos/tests/plasma5-systemd-start.nix b/nixos/tests/plasma5-systemd-start.nix index 72de19af70ce..f584c1ec137a 100644 --- a/nixos/tests/plasma5-systemd-start.nix +++ b/nixos/tests/plasma5-systemd-start.nix @@ -6,7 +6,7 @@ import ./make-test-python.nix ({ pkgs, ...} : maintainers = [ oxalica ]; }; - machine = { ... }: + nodes.machine = { ... }: { imports = [ ./common/user-account.nix ]; diff --git a/nixos/tests/plasma5.nix b/nixos/tests/plasma5.nix index 5c7ea602f79e..3358a72570e8 100644 --- a/nixos/tests/plasma5.nix +++ b/nixos/tests/plasma5.nix @@ -6,7 +6,7 @@ import ./make-test-python.nix ({ pkgs, ...} : maintainers = [ ttuegel ]; }; - machine = { ... }: + nodes.machine = { ... }: { imports = [ ./common/user-account.nix ]; diff --git a/nixos/tests/plausible.nix b/nixos/tests/plausible.nix index 58c1dd5cf4a8..ab91e08beb34 100644 --- a/nixos/tests/plausible.nix +++ b/nixos/tests/plausible.nix @@ -4,7 +4,7 @@ import ./make-test-python.nix ({ pkgs, lib, ... }: { maintainers = [ ma27 ]; }; - machine = { pkgs, ... }: { + nodes.machine = { pkgs, ... }: { virtualisation.memorySize = 4096; services.plausible = { enable = true; diff --git a/nixos/tests/plikd.nix b/nixos/tests/plikd.nix index 8fec93c01f6b..643fd5bfcd37 100644 --- a/nixos/tests/plikd.nix +++ b/nixos/tests/plikd.nix @@ -4,7 +4,7 @@ import ./make-test-python.nix ({ lib, ... }: { maintainers = [ freezeboy ]; }; - machine = { pkgs, ... }: let + nodes.machine = { pkgs, ... }: let in { services.plikd.enable = true; environment.systemPackages = [ pkgs.plik ]; diff --git a/nixos/tests/plotinus.nix b/nixos/tests/plotinus.nix index af38b41813b7..b6ebab9b0198 100644 --- a/nixos/tests/plotinus.nix +++ b/nixos/tests/plotinus.nix @@ -4,7 +4,7 @@ import ./make-test-python.nix ({ pkgs, ... }: { maintainers = pkgs.plotinus.meta.maintainers; }; - machine = + nodes.machine = { pkgs, ... }: { imports = [ ./common/x11.nix ]; diff --git a/nixos/tests/postfix-raise-smtpd-tls-security-level.nix b/nixos/tests/postfix-raise-smtpd-tls-security-level.nix index 5fad1fed75b2..2a6c85a3a920 100644 --- a/nixos/tests/postfix-raise-smtpd-tls-security-level.nix +++ b/nixos/tests/postfix-raise-smtpd-tls-security-level.nix @@ -1,7 +1,7 @@ import ./make-test-python.nix { name = "postfix"; - machine = { pkgs, ... }: { + nodes.machine = { pkgs, ... }: { imports = [ common/user-account.nix ]; services.postfix = { enable = true; diff --git a/nixos/tests/postfix.nix b/nixos/tests/postfix.nix index 6d22b4edba0a..1dbe6a4c5193 100644 --- a/nixos/tests/postfix.nix +++ b/nixos/tests/postfix.nix @@ -5,7 +5,7 @@ in import ./make-test-python.nix { name = "postfix"; - machine = { pkgs, ... }: { + nodes.machine = { pkgs, ... }: { imports = [ common/user-account.nix ]; services.postfix = { enable = true; diff --git a/nixos/tests/postgresql-wal-receiver.nix b/nixos/tests/postgresql-wal-receiver.nix index 0e8b3bfd6c34..ae2708546f5d 100644 --- a/nixos/tests/postgresql-wal-receiver.nix +++ b/nixos/tests/postgresql-wal-receiver.nix @@ -31,7 +31,7 @@ let name = "postgresql-wal-receiver-${postgresqlPackage}"; meta.maintainers = with lib.maintainers; [ pacien ]; - machine = { ... }: { + nodes.machine = { ... }: { services.postgresql = { package = pkg; enable = true; diff --git a/nixos/tests/postgresql.nix b/nixos/tests/postgresql.nix index 2b487c20a625..7864f5d6ff32 100644 --- a/nixos/tests/postgresql.nix +++ b/nixos/tests/postgresql.nix @@ -27,7 +27,7 @@ let maintainers = [ zagy ]; }; - machine = {...}: + nodes.machine = {...}: { services.postgresql = { enable = true; diff --git a/nixos/tests/power-profiles-daemon.nix b/nixos/tests/power-profiles-daemon.nix index e073677bee9d..278e94711830 100644 --- a/nixos/tests/power-profiles-daemon.nix +++ b/nixos/tests/power-profiles-daemon.nix @@ -5,7 +5,7 @@ import ./make-test-python.nix ({ pkgs, ... }: meta = with pkgs.lib.maintainers; { maintainers = [ mvnetbiz ]; }; - machine = { pkgs, ... }: { + nodes.machine = { pkgs, ... }: { services.power-profiles-daemon.enable = true; environment.systemPackages = [ pkgs.glib ]; }; diff --git a/nixos/tests/predictable-interface-names.nix b/nixos/tests/predictable-interface-names.nix index c0b472638a14..08773120bc12 100644 --- a/nixos/tests/predictable-interface-names.nix +++ b/nixos/tests/predictable-interface-names.nix @@ -16,7 +16,7 @@ in pkgs.lib.listToAttrs (builtins.map ({ predictable, withNetworkd }: { name = "${if predictable then "" else "un"}predictableInterfaceNames${if withNetworkd then "-with-networkd" else ""}"; meta = {}; - machine = { lib, ... }: { + nodes.machine = { lib, ... }: { networking.usePredictableInterfaceNames = lib.mkForce predictable; networking.useNetworkd = withNetworkd; networking.dhcpcd.enable = !withNetworkd; diff --git a/nixos/tests/privacyidea.nix b/nixos/tests/privacyidea.nix index c1141465ec24..fb072514dd90 100644 --- a/nixos/tests/privacyidea.nix +++ b/nixos/tests/privacyidea.nix @@ -6,7 +6,7 @@ import ./make-test-python.nix ({ pkgs, ...} : rec { maintainers = [ fpletz ]; }; - machine = { ... }: { + nodes.machine = { ... }: { virtualisation.cores = 2; services.privacyidea = { diff --git a/nixos/tests/privoxy.nix b/nixos/tests/privoxy.nix index d16cc498691f..47072ce4b0af 100644 --- a/nixos/tests/privoxy.nix +++ b/nixos/tests/privoxy.nix @@ -33,7 +33,7 @@ in maintainers = [ rnhmjoj ]; }; - machine = { ... }: { + nodes.machine = { ... }: { services.nginx.enable = true; services.nginx.virtualHosts."example.com" = { addSSL = true; diff --git a/nixos/tests/pt2-clone.nix b/nixos/tests/pt2-clone.nix index 364920c39871..ea4329c4a980 100644 --- a/nixos/tests/pt2-clone.nix +++ b/nixos/tests/pt2-clone.nix @@ -4,7 +4,7 @@ import ./make-test-python.nix ({ pkgs, ... }: { maintainers = [ fgaz ]; }; - machine = { config, pkgs, ... }: { + nodes.machine = { config, pkgs, ... }: { imports = [ ./common/x11.nix ]; diff --git a/nixos/tests/pulseaudio.nix b/nixos/tests/pulseaudio.nix index 4e2ce679acd7..cfdc61bc6c2b 100644 --- a/nixos/tests/pulseaudio.nix +++ b/nixos/tests/pulseaudio.nix @@ -27,7 +27,7 @@ let maintainers = [ synthetica ] ++ pkgs.pulseaudio.meta.maintainers; }; - machine = { ... }: + nodes.machine = { ... }: { imports = [ ./common/wayland-cage.nix ]; diff --git a/nixos/tests/qboot.nix b/nixos/tests/qboot.nix index 12aef6decfae..29d999be58e5 100644 --- a/nixos/tests/qboot.nix +++ b/nixos/tests/qboot.nix @@ -1,7 +1,7 @@ import ./make-test-python.nix ({ pkgs, ...} : { name = "qboot"; - machine = { ... }: { + nodes.machine = { ... }: { virtualisation.bios = pkgs.qboot; }; diff --git a/nixos/tests/rabbitmq.nix b/nixos/tests/rabbitmq.nix index 03f1fa46d29e..831335d8c518 100644 --- a/nixos/tests/rabbitmq.nix +++ b/nixos/tests/rabbitmq.nix @@ -6,7 +6,7 @@ import ./make-test-python.nix ({ pkgs, ... }: { maintainers = [ eelco offline ]; }; - machine = { + nodes.machine = { services.rabbitmq = { enable = true; managementPlugin.enable = true; diff --git a/nixos/tests/radicale.nix b/nixos/tests/radicale.nix index 5101628a682c..66650dce4a00 100644 --- a/nixos/tests/radicale.nix +++ b/nixos/tests/radicale.nix @@ -11,7 +11,7 @@ in { name = "radicale3"; meta.maintainers = with lib.maintainers; [ dotlambda ]; - machine = { pkgs, ... }: { + nodes.machine = { pkgs, ... }: { services.radicale = { enable = true; settings = { diff --git a/nixos/tests/rasdaemon.nix b/nixos/tests/rasdaemon.nix index e4bd8d96a8d5..7f30a3b81ab5 100644 --- a/nixos/tests/rasdaemon.nix +++ b/nixos/tests/rasdaemon.nix @@ -4,7 +4,7 @@ import ./make-test-python.nix ({ pkgs, ... } : { maintainers = [ evils ]; }; - machine = { pkgs, ... }: { + nodes.machine = { pkgs, ... }: { imports = [ ../modules/profiles/minimal.nix ]; hardware.rasdaemon = { enable = true; diff --git a/nixos/tests/redmine.nix b/nixos/tests/redmine.nix index 3866a1f528c0..621b3e6a36ee 100644 --- a/nixos/tests/redmine.nix +++ b/nixos/tests/redmine.nix @@ -9,7 +9,7 @@ with pkgs.lib; let redmineTest = { name, type }: makeTest { name = "redmine-${name}"; - machine = { config, pkgs, ... }: { + nodes.machine = { config, pkgs, ... }: { services.redmine = { enable = true; package = pkgs.redmine; diff --git a/nixos/tests/restart-by-activation-script.nix b/nixos/tests/restart-by-activation-script.nix index 0eec292ea9e2..0ac079e0101e 100644 --- a/nixos/tests/restart-by-activation-script.nix +++ b/nixos/tests/restart-by-activation-script.nix @@ -4,7 +4,7 @@ import ./make-test-python.nix ({ pkgs, ...} : { maintainers = [ das_j ]; }; - machine = { pkgs, ... }: { + nodes.machine = { pkgs, ... }: { imports = [ ../modules/profiles/minimal.nix ]; systemd.services.restart-me = { diff --git a/nixos/tests/retroarch.nix b/nixos/tests/retroarch.nix index 4c96f9eabc82..c506ed02da89 100644 --- a/nixos/tests/retroarch.nix +++ b/nixos/tests/retroarch.nix @@ -4,7 +4,7 @@ import ./make-test-python.nix ({ pkgs, ... }: name = "retroarch"; meta = with pkgs.lib.maintainers; { maintainers = [ j0hax ]; }; - machine = { ... }: + nodes.machine = { ... }: { imports = [ ./common/user-account.nix ]; diff --git a/nixos/tests/riak.nix b/nixos/tests/riak.nix index 3dd4e333d669..e75d40fa2569 100644 --- a/nixos/tests/riak.nix +++ b/nixos/tests/riak.nix @@ -4,7 +4,7 @@ import ./make-test-python.nix ({ lib, pkgs, ... }: { maintainers = [ Br1ght0ne ]; }; - machine = { + nodes.machine = { services.riak.enable = true; services.riak.package = pkgs.riak; }; diff --git a/nixos/tests/rspamd.nix b/nixos/tests/rspamd.nix index f0ccfe7ea0e6..26895fbad3f3 100644 --- a/nixos/tests/rspamd.nix +++ b/nixos/tests/rspamd.nix @@ -22,7 +22,7 @@ let ''; simple = name: enableIPv6: makeTest { name = "rspamd-${name}"; - machine = { + nodes.machine = { services.rspamd.enable = true; networking.enableIPv6 = enableIPv6; }; @@ -52,7 +52,7 @@ in ipv4only = simple "ipv4only" false; deprecated = makeTest { name = "rspamd-deprecated"; - machine = { + nodes.machine = { services.rspamd = { enable = true; workers.normal.bindSockets = [{ @@ -91,7 +91,7 @@ in bindports = makeTest { name = "rspamd-bindports"; - machine = { + nodes.machine = { services.rspamd = { enable = true; workers.normal.bindSockets = [{ @@ -152,7 +152,7 @@ in }; customLuaRules = makeTest { name = "rspamd-custom-lua-rules"; - machine = { + nodes.machine = { environment.etc."tests/no-muh.eml".text = '' From: Sheep1 To: Sheep2 @@ -256,7 +256,7 @@ in }; postfixIntegration = makeTest { name = "rspamd-postfix-integration"; - machine = { + nodes.machine = { environment.systemPackages = with pkgs; [ msmtp ]; environment.etc."tests/gtube.eml".text = '' From: Sheep1 diff --git a/nixos/tests/rsyslogd.nix b/nixos/tests/rsyslogd.nix index f35db3bd44b8..049acdcd4393 100644 --- a/nixos/tests/rsyslogd.nix +++ b/nixos/tests/rsyslogd.nix @@ -11,7 +11,7 @@ with pkgs.lib; name = "rsyslogd-test1"; meta.maintainers = [ pkgs.lib.maintainers.aanderse ]; - machine = { config, pkgs, ... }: { + nodes.machine = { config, pkgs, ... }: { services.rsyslogd.enable = true; services.journald.forwardToSyslog = false; }; @@ -27,7 +27,7 @@ with pkgs.lib; name = "rsyslogd-test2"; meta.maintainers = [ pkgs.lib.maintainers.aanderse ]; - machine = { config, pkgs, ... }: { + nodes.machine = { config, pkgs, ... }: { services.rsyslogd.enable = true; }; diff --git a/nixos/tests/sabnzbd.nix b/nixos/tests/sabnzbd.nix index fb35b212b493..075bd0b1fe09 100644 --- a/nixos/tests/sabnzbd.nix +++ b/nixos/tests/sabnzbd.nix @@ -4,7 +4,7 @@ import ./make-test-python.nix ({ pkgs, lib, ... }: { maintainers = with maintainers; [ jojosch ]; }; - machine = { pkgs, ... }: { + nodes.machine = { pkgs, ... }: { services.sabnzbd = { enable = true; }; diff --git a/nixos/tests/sddm.nix b/nixos/tests/sddm.nix index d7c65fa33d67..c76a9683e66d 100644 --- a/nixos/tests/sddm.nix +++ b/nixos/tests/sddm.nix @@ -12,7 +12,7 @@ let default = { name = "sddm"; - machine = { ... }: { + nodes.machine = { ... }: { imports = [ ./common/user-account.nix ]; services.xserver.enable = true; services.xserver.displayManager.sddm.enable = true; @@ -41,7 +41,7 @@ let maintainers = [ ttuegel ]; }; - machine = { ... }: { + nodes.machine = { ... }: { imports = [ ./common/user-account.nix ]; services.xserver.enable = true; services.xserver.displayManager = { diff --git a/nixos/tests/shattered-pixel-dungeon.nix b/nixos/tests/shattered-pixel-dungeon.nix index d4e5de22ab9d..a256bbdfd735 100644 --- a/nixos/tests/shattered-pixel-dungeon.nix +++ b/nixos/tests/shattered-pixel-dungeon.nix @@ -4,7 +4,7 @@ import ./make-test-python.nix ({ pkgs, ... }: { maintainers = [ fgaz ]; }; - machine = { config, pkgs, ... }: { + nodes.machine = { config, pkgs, ... }: { imports = [ ./common/x11.nix ]; diff --git a/nixos/tests/shiori.nix b/nixos/tests/shiori.nix index 6c59c394009e..d0f68b903f8c 100644 --- a/nixos/tests/shiori.nix +++ b/nixos/tests/shiori.nix @@ -4,7 +4,7 @@ import ./make-test-python.nix ({ pkgs, lib, ...}: name = "shiori"; meta.maintainers = with lib.maintainers; [ minijackson ]; - machine = + nodes.machine = { ... }: { services.shiori.enable = true; }; diff --git a/nixos/tests/signal-desktop.nix b/nixos/tests/signal-desktop.nix index 8c7230629923..fbe9cdf84d05 100644 --- a/nixos/tests/signal-desktop.nix +++ b/nixos/tests/signal-desktop.nix @@ -16,7 +16,7 @@ in { maintainers = [ flokli primeos ]; }; - machine = { ... }: + nodes.machine = { ... }: { imports = [ diff --git a/nixos/tests/simple.nix b/nixos/tests/simple.nix index b4d90f750ecf..c36287b4e843 100644 --- a/nixos/tests/simple.nix +++ b/nixos/tests/simple.nix @@ -4,7 +4,7 @@ import ./make-test-python.nix ({ pkgs, ...} : { maintainers = [ eelco ]; }; - machine = { ... }: { + nodes.machine = { ... }: { imports = [ ../modules/profiles/minimal.nix ]; }; diff --git a/nixos/tests/snapper.nix b/nixos/tests/snapper.nix index 098d8d9d72f5..651adc8934d3 100644 --- a/nixos/tests/snapper.nix +++ b/nixos/tests/snapper.nix @@ -2,7 +2,7 @@ import ./make-test-python.nix ({ ... }: { name = "snapper"; - machine = { pkgs, lib, ... }: { + nodes.machine = { pkgs, lib, ... }: { boot.initrd.postDeviceCommands = '' ${pkgs.btrfs-progs}/bin/mkfs.btrfs -f -L aux /dev/vdb ''; diff --git a/nixos/tests/soapui.nix b/nixos/tests/soapui.nix index 76a87ed5efa1..e4ce3888fd43 100644 --- a/nixos/tests/soapui.nix +++ b/nixos/tests/soapui.nix @@ -4,7 +4,7 @@ import ./make-test-python.nix ({ pkgs, ... }: { maintainers = [ asbachb ]; }; - machine = { config, pkgs, ... }: { + nodes.machine = { config, pkgs, ... }: { imports = [ ./common/x11.nix ]; diff --git a/nixos/tests/solr.nix b/nixos/tests/solr.nix index 86efe87c7078..33afe9d788f7 100644 --- a/nixos/tests/solr.nix +++ b/nixos/tests/solr.nix @@ -4,7 +4,7 @@ import ./make-test-python.nix ({ pkgs, ... }: name = "solr"; meta.maintainers = [ pkgs.lib.maintainers.aanderse ]; - machine = + nodes.machine = { config, pkgs, ... }: { # Ensure the virtual machine has enough memory for Solr to avoid the following error: diff --git a/nixos/tests/sourcehut.nix b/nixos/tests/sourcehut.nix index 55757e35f9b4..34a60247e00e 100644 --- a/nixos/tests/sourcehut.nix +++ b/nixos/tests/sourcehut.nix @@ -119,7 +119,7 @@ in meta.maintainers = [ pkgs.lib.maintainers.tomberek ]; - machine = { config, pkgs, nodes, ... }: { + nodes.machine = { config, pkgs, nodes, ... }: { # buildsrht needs space virtualisation.diskSize = 4 * 1024; virtualisation.memorySize = 2 * 1024; diff --git a/nixos/tests/sssd-ldap.nix b/nixos/tests/sssd-ldap.nix index 5c58eaef7146..f816c0652cc5 100644 --- a/nixos/tests/sssd-ldap.nix +++ b/nixos/tests/sssd-ldap.nix @@ -13,7 +13,7 @@ in import ./make-test-python.nix ({pkgs, ...}: { maintainers = [ bbigras ]; }; - machine = { pkgs, ... }: { + nodes.machine = { pkgs, ... }: { services.openldap = { enable = true; settings = { diff --git a/nixos/tests/sssd.nix b/nixos/tests/sssd.nix index 5c1abdca6aef..25527cb59a59 100644 --- a/nixos/tests/sssd.nix +++ b/nixos/tests/sssd.nix @@ -5,7 +5,7 @@ import ./make-test-python.nix ({ pkgs, ... }: meta = with pkgs.lib.maintainers; { maintainers = [ bbigras ]; }; - machine = { pkgs, ... }: { + nodes.machine = { pkgs, ... }: { services.sssd.enable = true; }; diff --git a/nixos/tests/starship.nix b/nixos/tests/starship.nix index 33e9a72f7000..48a4be6caf17 100644 --- a/nixos/tests/starship.nix +++ b/nixos/tests/starship.nix @@ -2,7 +2,7 @@ import ./make-test-python.nix ({ pkgs, ... }: { name = "starship"; meta.maintainers = pkgs.starship.meta.maintainers; - machine = { + nodes.machine = { programs = { fish.enable = true; zsh.enable = true; diff --git a/nixos/tests/sway.nix b/nixos/tests/sway.nix index 1e9e146c4b6c..8f95f2a030d1 100644 --- a/nixos/tests/sway.nix +++ b/nixos/tests/sway.nix @@ -4,7 +4,7 @@ import ./make-test-python.nix ({ pkgs, lib, ... }: { maintainers = with lib.maintainers; [ primeos synthetica ]; }; - machine = { config, ... }: { + nodes.machine = { config, ... }: { # Automatically login on tty1 as a normal user: imports = [ ./common/user-account.nix ]; services.getty.autologinUser = "alice"; diff --git a/nixos/tests/sympa.nix b/nixos/tests/sympa.nix index aad7c95b6c99..76ca17d0a189 100644 --- a/nixos/tests/sympa.nix +++ b/nixos/tests/sympa.nix @@ -2,7 +2,7 @@ import ./make-test-python.nix ({ pkgs, lib, ... }: { name = "sympa"; meta.maintainers = with lib.maintainers; [ mmilata ]; - machine = + nodes.machine = { ... }: { diff --git a/nixos/tests/syncthing-init.nix b/nixos/tests/syncthing-init.nix index 8b60ad7faf09..fcd90739e6a5 100644 --- a/nixos/tests/syncthing-init.nix +++ b/nixos/tests/syncthing-init.nix @@ -6,7 +6,7 @@ in { name = "syncthing-init"; meta.maintainers = with pkgs.lib.maintainers; [ lassulus ]; - machine = { + nodes.machine = { services.syncthing = { enable = true; devices.testDevice = { diff --git a/nixos/tests/syncthing-relay.nix b/nixos/tests/syncthing-relay.nix index a0233c969ec0..3d70b1eda7b2 100644 --- a/nixos/tests/syncthing-relay.nix +++ b/nixos/tests/syncthing-relay.nix @@ -2,7 +2,7 @@ import ./make-test-python.nix ({ lib, pkgs, ... }: { name = "syncthing-relay"; meta.maintainers = with pkgs.lib.maintainers; [ delroth ]; - machine = { + nodes.machine = { environment.systemPackages = [ pkgs.jq ]; services.syncthing.relay = { enable = true; diff --git a/nixos/tests/systemd-analyze.nix b/nixos/tests/systemd-analyze.nix index 186f5aee7b85..31588e2b41aa 100644 --- a/nixos/tests/systemd-analyze.nix +++ b/nixos/tests/systemd-analyze.nix @@ -6,7 +6,7 @@ import ./make-test-python.nix ({ pkgs, latestKernel ? false, ... }: maintainers = [ raskin ]; }; - machine = + nodes.machine = { pkgs, lib, ... }: { boot.kernelPackages = lib.mkIf latestKernel pkgs.linuxPackages_latest; sound.enable = true; # needed for the factl test, /dev/snd/* exists without them but udev doesn't care then diff --git a/nixos/tests/systemd-binfmt.nix b/nixos/tests/systemd-binfmt.nix index a3a6efac3e4d..b16fda0ddb1a 100644 --- a/nixos/tests/systemd-binfmt.nix +++ b/nixos/tests/systemd-binfmt.nix @@ -31,7 +31,7 @@ let in { basic = makeTest { name = "systemd-binfmt"; - machine = { + nodes.machine = { boot.binfmt.emulatedSystems = [ "armv7l-linux" "aarch64-linux" @@ -56,7 +56,7 @@ in { preserveArgvZero = makeTest { name = "systemd-binfmt-preserve-argv0"; - machine = { + nodes.machine = { boot.binfmt.emulatedSystems = [ "aarch64-linux" ]; @@ -71,7 +71,7 @@ in { ldPreload = makeTest { name = "systemd-binfmt-ld-preload"; - machine = { + nodes.machine = { boot.binfmt.emulatedSystems = [ "aarch64-linux" ]; diff --git a/nixos/tests/systemd-boot.nix b/nixos/tests/systemd-boot.nix index 51cfd82e6c4b..039e6bdd9d5a 100644 --- a/nixos/tests/systemd-boot.nix +++ b/nixos/tests/systemd-boot.nix @@ -20,7 +20,7 @@ in name = "systemd-boot"; meta.maintainers = with pkgs.lib.maintainers; [ danielfullmer ]; - machine = common; + nodes.machine = common; testScript = '' machine.start() @@ -44,7 +44,7 @@ in name = "systemd-boot-specialisation"; meta.maintainers = with pkgs.lib.maintainers; [ lukegb ]; - machine = { pkgs, lib, ... }: { + nodes.machine = { pkgs, lib, ... }: { imports = [ common ]; specialisation.something.configuration = {}; }; @@ -67,7 +67,7 @@ in name = "systemd-boot-fallback"; meta.maintainers = with pkgs.lib.maintainers; [ danielfullmer ]; - machine = { pkgs, lib, ... }: { + nodes.machine = { pkgs, lib, ... }: { imports = [ common ]; boot.loader.efi.canTouchEfiVariables = mkForce false; }; @@ -93,7 +93,7 @@ in name = "systemd-boot-update"; meta.maintainers = with pkgs.lib.maintainers; [ danielfullmer ]; - machine = common; + nodes.machine = common; testScript = '' machine.succeed("mount -o remount,rw /boot") @@ -115,7 +115,7 @@ in name = "systemd-boot-memtest86"; meta.maintainers = with pkgs.lib.maintainers; [ Enzime ]; - machine = { pkgs, lib, ... }: { + nodes.machine = { pkgs, lib, ... }: { imports = [ common ]; boot.loader.systemd-boot.memtest86.enable = true; nixpkgs.config.allowUnfreePredicate = pkg: builtins.elem (lib.getName pkg) [ @@ -133,7 +133,7 @@ in name = "systemd-boot-netbootxyz"; meta.maintainers = with pkgs.lib.maintainers; [ Enzime ]; - machine = { pkgs, lib, ... }: { + nodes.machine = { pkgs, lib, ... }: { imports = [ common ]; boot.loader.systemd-boot.netbootxyz.enable = true; }; @@ -148,7 +148,7 @@ in name = "systemd-boot-entry-filename"; meta.maintainers = with pkgs.lib.maintainers; [ Enzime ]; - machine = { pkgs, lib, ... }: { + nodes.machine = { pkgs, lib, ... }: { imports = [ common ]; boot.loader.systemd-boot.memtest86.enable = true; boot.loader.systemd-boot.memtest86.entryFilename = "apple.conf"; @@ -168,7 +168,7 @@ in name = "systemd-boot-extra-entries"; meta.maintainers = with pkgs.lib.maintainers; [ Enzime ]; - machine = { pkgs, lib, ... }: { + nodes.machine = { pkgs, lib, ... }: { imports = [ common ]; boot.loader.systemd-boot.extraEntries = { "banana.conf" = '' @@ -187,7 +187,7 @@ in name = "systemd-boot-extra-files"; meta.maintainers = with pkgs.lib.maintainers; [ Enzime ]; - machine = { pkgs, lib, ... }: { + nodes.machine = { pkgs, lib, ... }: { imports = [ common ]; boot.loader.systemd-boot.extraFiles = { "efi/fruits/tomato.efi" = pkgs.netbootxyz-efi; diff --git a/nixos/tests/systemd-confinement.nix b/nixos/tests/systemd-confinement.nix index 3181af309a6e..bde5b770ea50 100644 --- a/nixos/tests/systemd-confinement.nix +++ b/nixos/tests/systemd-confinement.nix @@ -1,7 +1,7 @@ import ./make-test-python.nix { name = "systemd-confinement"; - machine = { pkgs, lib, ... }: let + nodes.machine = { pkgs, lib, ... }: let testServer = pkgs.writeScript "testserver.sh" '' #!${pkgs.runtimeShell} export PATH=${lib.escapeShellArg "${pkgs.coreutils}/bin"} diff --git a/nixos/tests/systemd-cryptenroll.nix b/nixos/tests/systemd-cryptenroll.nix index 49634ef65672..055ae7d1681f 100644 --- a/nixos/tests/systemd-cryptenroll.nix +++ b/nixos/tests/systemd-cryptenroll.nix @@ -4,7 +4,7 @@ import ./make-test-python.nix ({ pkgs, ... }: { maintainers = [ ymatsiuk ]; }; - machine = { pkgs, lib, ... }: { + nodes.machine = { pkgs, lib, ... }: { environment.systemPackages = [ pkgs.cryptsetup ]; virtualisation = { emptyDiskImages = [ 512 ]; diff --git a/nixos/tests/systemd-escaping.nix b/nixos/tests/systemd-escaping.nix index 7f93eb5e4f70..29d2ed1aa352 100644 --- a/nixos/tests/systemd-escaping.nix +++ b/nixos/tests/systemd-escaping.nix @@ -14,7 +14,7 @@ in { name = "systemd-escaping"; - machine = { pkgs, lib, utils, ... }: { + nodes.machine = { pkgs, lib, utils, ... }: { systemd.services.echo = assert !(builtins.tryEval (utils.escapeSystemdExecArgs [ [] ])).success; assert !(builtins.tryEval (utils.escapeSystemdExecArgs [ {} ])).success; diff --git a/nixos/tests/systemd-journal.nix b/nixos/tests/systemd-journal.nix index 6ab7c7246318..d2063a3b9a44 100644 --- a/nixos/tests/systemd-journal.nix +++ b/nixos/tests/systemd-journal.nix @@ -6,7 +6,7 @@ import ./make-test-python.nix ({ pkgs, ... }: maintainers = [ lewo ]; }; - machine = { pkgs, lib, ... }: { + nodes.machine = { pkgs, lib, ... }: { services.journald.enableHttpGateway = true; }; diff --git a/nixos/tests/systemd-machinectl.nix b/nixos/tests/systemd-machinectl.nix index 4fc5864357c0..ce0c56a360e9 100644 --- a/nixos/tests/systemd-machinectl.nix +++ b/nixos/tests/systemd-machinectl.nix @@ -28,7 +28,7 @@ import ./make-test-python.nix ( { name = "systemd-machinectl"; - machine = { lib, ... }: { + nodes.machine = { lib, ... }: { # use networkd to obtain systemd network setup networking.useNetworkd = true; networking.useDHCP = false; diff --git a/nixos/tests/systemd-misc.nix b/nixos/tests/systemd-misc.nix index e416baa8b5f5..0ddd51100463 100644 --- a/nixos/tests/systemd-misc.nix +++ b/nixos/tests/systemd-misc.nix @@ -31,7 +31,7 @@ in { name = "systemd-misc"; - machine = { pkgs, lib, ... }: { + nodes.machine = { pkgs, lib, ... }: { boot.extraSystemdUnitPaths = [ "/etc/systemd-rw/system" ]; users.users.limited = { diff --git a/nixos/tests/systemd.nix b/nixos/tests/systemd.nix index f86daa5eea97..2759278e6e13 100644 --- a/nixos/tests/systemd.nix +++ b/nixos/tests/systemd.nix @@ -1,7 +1,7 @@ import ./make-test-python.nix ({ pkgs, ... }: { name = "systemd"; - machine = { lib, ... }: { + nodes.machine = { lib, ... }: { imports = [ common/user-account.nix common/x11.nix ]; virtualisation.emptyDiskImages = [ 512 512 ]; diff --git a/nixos/tests/telegraf.nix b/nixos/tests/telegraf.nix index d99680ce2c3c..c3cdb1645213 100644 --- a/nixos/tests/telegraf.nix +++ b/nixos/tests/telegraf.nix @@ -4,7 +4,7 @@ import ./make-test-python.nix ({ pkgs, ...} : { maintainers = [ mic92 ]; }; - machine = { ... }: { + nodes.machine = { ... }: { services.telegraf.enable = true; services.telegraf.environmentFiles = [(pkgs.writeText "secrets" '' SECRET=example diff --git a/nixos/tests/tinywl.nix b/nixos/tests/tinywl.nix index 8fb87b533306..411cdb1f6419 100644 --- a/nixos/tests/tinywl.nix +++ b/nixos/tests/tinywl.nix @@ -6,7 +6,7 @@ import ./make-test-python.nix ({ pkgs, lib, ... }: maintainers = with lib.maintainers; [ primeos ]; }; - machine = { config, ... }: { + nodes.machine = { config, ... }: { # Automatically login on tty1 as a normal user: imports = [ ./common/user-account.nix ]; services.getty.autologinUser = "alice"; diff --git a/nixos/tests/tomcat.nix b/nixos/tests/tomcat.nix index e383f224e3d1..4cfb3cc5a7d8 100644 --- a/nixos/tests/tomcat.nix +++ b/nixos/tests/tomcat.nix @@ -3,7 +3,7 @@ import ./make-test-python.nix ({ pkgs, ... }: { name = "tomcat"; - machine = { pkgs, ... }: { + nodes.machine = { pkgs, ... }: { services.tomcat.enable = true; }; diff --git a/nixos/tests/transmission.nix b/nixos/tests/transmission.nix index 7e2648804de2..b69ddd84d009 100644 --- a/nixos/tests/transmission.nix +++ b/nixos/tests/transmission.nix @@ -4,7 +4,7 @@ import ./make-test-python.nix ({ pkgs, ...} : { maintainers = [ coconnor ]; }; - machine = { ... }: { + nodes.machine = { ... }: { imports = [ ../modules/profiles/minimal.nix ]; networking.firewall.allowedTCPPorts = [ 9091 ]; diff --git a/nixos/tests/tsm-client-gui.nix b/nixos/tests/tsm-client-gui.nix index e4bcd344a895..e11501da53d0 100644 --- a/nixos/tests/tsm-client-gui.nix +++ b/nixos/tests/tsm-client-gui.nix @@ -10,7 +10,7 @@ import ./make-test-python.nix ({ lib, pkgs, ... }: { enableOCR = true; - machine = { pkgs, ... }: { + nodes.machine = { pkgs, ... }: { imports = [ ./common/x11.nix ]; programs.tsmClient = { enable = true; diff --git a/nixos/tests/tuptime.nix b/nixos/tests/tuptime.nix index 6d37e3069839..93410de7bdf5 100644 --- a/nixos/tests/tuptime.nix +++ b/nixos/tests/tuptime.nix @@ -4,7 +4,7 @@ import ./make-test-python.nix ({ pkgs, ...} : { maintainers = [ evils ]; }; - machine = { pkgs, ... }: { + nodes.machine = { pkgs, ... }: { imports = [ ../modules/profiles/minimal.nix ]; services.tuptime.enable = true; }; diff --git a/nixos/tests/turbovnc-headless-server.nix b/nixos/tests/turbovnc-headless-server.nix index 7d705c56ecf3..1dbf9297c813 100644 --- a/nixos/tests/turbovnc-headless-server.nix +++ b/nixos/tests/turbovnc-headless-server.nix @@ -4,7 +4,7 @@ import ./make-test-python.nix ({ pkgs, lib, ... }: { maintainers = with lib.maintainers; [ nh2 ]; }; - machine = { pkgs, ... }: { + nodes.machine = { pkgs, ... }: { environment.systemPackages = with pkgs; [ glxinfo diff --git a/nixos/tests/tuxguitar.nix b/nixos/tests/tuxguitar.nix index 63a7b6c7dec9..037f489e5448 100644 --- a/nixos/tests/tuxguitar.nix +++ b/nixos/tests/tuxguitar.nix @@ -4,7 +4,7 @@ import ./make-test-python.nix ({ pkgs, ... }: { maintainers = [ asbachb ]; }; - machine = { config, pkgs, ... }: { + nodes.machine = { config, pkgs, ... }: { imports = [ ./common/x11.nix ]; diff --git a/nixos/tests/udisks2.nix b/nixos/tests/udisks2.nix index 6c4b71aaa2ed..6afb200f8566 100644 --- a/nixos/tests/udisks2.nix +++ b/nixos/tests/udisks2.nix @@ -15,7 +15,7 @@ in maintainers = [ eelco ]; }; - machine = + nodes.machine = { ... }: { services.udisks2.enable = true; imports = [ ./common/user-account.nix ]; diff --git a/nixos/tests/usbguard.nix b/nixos/tests/usbguard.nix index bb707bdbf702..d6d3a80c5d23 100644 --- a/nixos/tests/usbguard.nix +++ b/nixos/tests/usbguard.nix @@ -4,7 +4,7 @@ import ./make-test-python.nix ({ pkgs, ... }: { maintainers = [ tnias ]; }; - machine = + nodes.machine = { ... }: { services.usbguard = { diff --git a/nixos/tests/user-activation-scripts.nix b/nixos/tests/user-activation-scripts.nix index 0de8664c5ef0..934573578187 100644 --- a/nixos/tests/user-activation-scripts.nix +++ b/nixos/tests/user-activation-scripts.nix @@ -2,7 +2,7 @@ import ./make-test-python.nix ({ lib, ... }: { name = "user-activation-scripts"; meta = with lib.maintainers; { maintainers = [ chkno ]; }; - machine = { + nodes.machine = { system.userActivationScripts.foo = "mktemp ~/user-activation-ran.XXXXXX"; users.users.alice = { initialPassword = "pass1"; diff --git a/nixos/tests/uwsgi.nix b/nixos/tests/uwsgi.nix index 80dcde324aad..62da9e0a7168 100644 --- a/nixos/tests/uwsgi.nix +++ b/nixos/tests/uwsgi.nix @@ -5,7 +5,7 @@ import ./make-test-python.nix ({ pkgs, ... }: maintainers = [ lnl7 ]; }; - machine = { pkgs, ... }: { + nodes.machine = { pkgs, ... }: { users.users.hello = { isSystemUser = true; group = "hello"; diff --git a/nixos/tests/v2ray.nix b/nixos/tests/v2ray.nix index 4808e149d31e..fb36ea8557d5 100644 --- a/nixos/tests/v2ray.nix +++ b/nixos/tests/v2ray.nix @@ -57,7 +57,7 @@ in { meta = with lib.maintainers; { maintainers = [ servalcatty ]; }; - machine = { pkgs, ... }: { + nodes.machine = { pkgs, ... }: { environment.systemPackages = [ pkgs.curl ]; services.v2ray = { enable = true; diff --git a/nixos/tests/vault-postgresql.nix b/nixos/tests/vault-postgresql.nix index 2847af13cbf0..e0e5881c6da7 100644 --- a/nixos/tests/vault-postgresql.nix +++ b/nixos/tests/vault-postgresql.nix @@ -11,7 +11,7 @@ import ./make-test-python.nix ({ pkgs, ... }: meta = with pkgs.lib.maintainers; { maintainers = [ lnl7 roberth ]; }; - machine = { lib, pkgs, ... }: { + nodes.machine = { lib, pkgs, ... }: { environment.systemPackages = [ pkgs.vault ]; environment.variables.VAULT_ADDR = "http://127.0.0.1:8200"; services.vault.enable = true; diff --git a/nixos/tests/vault.nix b/nixos/tests/vault.nix index e86acd5b593f..1b0a26a4487f 100644 --- a/nixos/tests/vault.nix +++ b/nixos/tests/vault.nix @@ -4,7 +4,7 @@ import ./make-test-python.nix ({ pkgs, ... }: meta = with pkgs.lib.maintainers; { maintainers = [ lnl7 ]; }; - machine = { pkgs, ... }: { + nodes.machine = { pkgs, ... }: { environment.systemPackages = [ pkgs.vault ]; environment.variables.VAULT_ADDR = "http://127.0.0.1:8200"; services.vault.enable = true; diff --git a/nixos/tests/vector.nix b/nixos/tests/vector.nix index 583e60ddc568..ecf94e33ff17 100644 --- a/nixos/tests/vector.nix +++ b/nixos/tests/vector.nix @@ -9,7 +9,7 @@ with pkgs.lib; name = "vector-test1"; meta.maintainers = [ pkgs.lib.maintainers.happysalada ]; - machine = { config, pkgs, ... }: { + nodes.machine = { config, pkgs, ... }: { services.vector = { enable = true; journaldAccess = true; diff --git a/nixos/tests/vengi-tools.nix b/nixos/tests/vengi-tools.nix index 6b90542887d5..8b80a13384e5 100644 --- a/nixos/tests/vengi-tools.nix +++ b/nixos/tests/vengi-tools.nix @@ -4,7 +4,7 @@ import ./make-test-python.nix ({ pkgs, ... }: { maintainers = [ fgaz ]; }; - machine = { config, pkgs, ... }: { + nodes.machine = { config, pkgs, ... }: { imports = [ ./common/x11.nix ]; diff --git a/nixos/tests/virtualbox.nix b/nixos/tests/virtualbox.nix index f15412d365fa..27093aab96ee 100644 --- a/nixos/tests/virtualbox.nix +++ b/nixos/tests/virtualbox.nix @@ -353,7 +353,7 @@ let mkVBoxTest = useExtensionPack: vms: name: testScript: makeTest { name = "virtualbox-${name}"; - machine = { lib, config, ... }: { + nodes.machine = { lib, config, ... }: { imports = let mkVMConf = name: val: val.machine // { key = "${name}-config"; }; vmConfigs = mapAttrsToList mkVMConf vms; diff --git a/nixos/tests/web-servers/unit-php.nix b/nixos/tests/web-servers/unit-php.nix index 00512b506cc2..5bef7fab3eff 100644 --- a/nixos/tests/web-servers/unit-php.nix +++ b/nixos/tests/web-servers/unit-php.nix @@ -6,7 +6,7 @@ in { name = "unit-php-test"; meta.maintainers = with pkgs.lib.maintainers; [ izorkin ]; - machine = { config, lib, pkgs, ... }: { + nodes.machine = { config, lib, pkgs, ... }: { services.unit = { enable = true; config = pkgs.lib.strings.toJSON { diff --git a/nixos/tests/wiki-js.nix b/nixos/tests/wiki-js.nix index 783887d2dcaa..c3541be5d8b5 100644 --- a/nixos/tests/wiki-js.nix +++ b/nixos/tests/wiki-js.nix @@ -4,7 +4,7 @@ import ./make-test-python.nix ({ pkgs, lib, ...} : { maintainers = [ ma27 ]; }; - machine = { pkgs, ... }: { + nodes.machine = { pkgs, ... }: { virtualisation.memorySize = 2048; services.wiki-js = { enable = true; diff --git a/nixos/tests/wine.nix b/nixos/tests/wine.nix index 8135cb90a591..8a64c3179c51 100644 --- a/nixos/tests/wine.nix +++ b/nixos/tests/wine.nix @@ -15,7 +15,7 @@ let inherit name; meta = with pkgs.lib.maintainers; { maintainers = [ chkno ]; }; - machine = { pkgs, ... }: { + nodes.machine = { pkgs, ... }: { environment.systemPackages = [ pkgs."${packageSet}"."${variant}" ]; virtualisation.diskSize = 800; }; diff --git a/nixos/tests/wmderland.nix b/nixos/tests/wmderland.nix index 6de0cd9212ee..ebfd443763e1 100644 --- a/nixos/tests/wmderland.nix +++ b/nixos/tests/wmderland.nix @@ -4,7 +4,7 @@ import ./make-test-python.nix ({ pkgs, ...} : { maintainers = [ takagiy ]; }; - machine = { lib, ... }: { + nodes.machine = { lib, ... }: { imports = [ ./common/x11.nix ./common/user-account.nix ]; test-support.displayManager.auto.user = "alice"; services.xserver.displayManager.defaultSession = lib.mkForce "none+wmderland"; diff --git a/nixos/tests/wpa_supplicant.nix b/nixos/tests/wpa_supplicant.nix index 40d934b8e1db..a05a79e8367d 100644 --- a/nixos/tests/wpa_supplicant.nix +++ b/nixos/tests/wpa_supplicant.nix @@ -5,7 +5,7 @@ import ./make-test-python.nix ({ pkgs, lib, ...}: maintainers = [ rnhmjoj ]; }; - machine = { ... }: { + nodes.machine = { ... }: { imports = [ ../modules/profiles/minimal.nix ]; # add a virtual wlan interface diff --git a/nixos/tests/xfce.nix b/nixos/tests/xfce.nix index 9051deebae76..31f00f77c40d 100644 --- a/nixos/tests/xfce.nix +++ b/nixos/tests/xfce.nix @@ -1,7 +1,7 @@ import ./make-test-python.nix ({ pkgs, ...} : { name = "xfce"; - machine = + nodes.machine = { pkgs, ... }: { diff --git a/nixos/tests/xmonad.nix b/nixos/tests/xmonad.nix index a2fb38e53bd1..aa55f0e3ca6f 100644 --- a/nixos/tests/xmonad.nix +++ b/nixos/tests/xmonad.nix @@ -55,7 +55,7 @@ in { maintainers = [ nequissimus ivanbrennan ]; }; - machine = { pkgs, ... }: { + nodes.machine = { pkgs, ... }: { imports = [ ./common/x11.nix ./common/user-account.nix ]; test-support.displayManager.auto.user = "alice"; services.xserver.displayManager.defaultSession = "none+xmonad"; diff --git a/nixos/tests/xterm.nix b/nixos/tests/xterm.nix index 4ee31139ab52..745d33e8a0d5 100644 --- a/nixos/tests/xterm.nix +++ b/nixos/tests/xterm.nix @@ -4,7 +4,7 @@ import ./make-test-python.nix ({ pkgs, ...} : { maintainers = [ nequissimus ]; }; - machine = { pkgs, ... }: + nodes.machine = { pkgs, ... }: { imports = [ ./common/x11.nix ]; services.xserver.desktopManager.xterm.enable = false; diff --git a/nixos/tests/yabar.nix b/nixos/tests/yabar.nix index c2431e556c37..ff7a47ae6370 100644 --- a/nixos/tests/yabar.nix +++ b/nixos/tests/yabar.nix @@ -8,7 +8,7 @@ with lib; maintainers = [ ]; }; - machine = { + nodes.machine = { imports = [ ./common/x11.nix ./common/user-account.nix ]; test-support.displayManager.auto.user = "bob"; diff --git a/nixos/tests/zfs.nix b/nixos/tests/zfs.nix index d25090403e5f..bf0165b88162 100644 --- a/nixos/tests/zfs.nix +++ b/nixos/tests/zfs.nix @@ -18,7 +18,7 @@ let maintainers = [ adisbladis ]; }; - machine = { pkgs, lib, ... }: + nodes.machine = { pkgs, lib, ... }: let usersharePath = "/var/lib/samba/usershares"; in { diff --git a/nixos/tests/zigbee2mqtt.nix b/nixos/tests/zigbee2mqtt.nix index 98aadbb699bd..1592202fb3a7 100644 --- a/nixos/tests/zigbee2mqtt.nix +++ b/nixos/tests/zigbee2mqtt.nix @@ -1,7 +1,7 @@ import ./make-test-python.nix ({ pkgs, lib, ... }: { - machine = { pkgs, ... }: + nodes.machine = { pkgs, ... }: { services.zigbee2mqtt = { enable = true; diff --git a/nixos/tests/zoneminder.nix b/nixos/tests/zoneminder.nix index a4e1a05ec0ee..3c97bc8282d2 100644 --- a/nixos/tests/zoneminder.nix +++ b/nixos/tests/zoneminder.nix @@ -4,7 +4,7 @@ import ./make-test-python.nix ({ lib, ...}: name = "zoneminder"; meta.maintainers = with lib.maintainers; [ danielfullmer ]; - machine = { ... }: + nodes.machine = { ... }: { services.zoneminder = { enable = true; From e2461d62b6c1936b8ab3adcb792ef11693639661 Mon Sep 17 00:00:00 2001 From: Robert Hensing Date: Mon, 21 Mar 2022 16:11:19 +0100 Subject: [PATCH 014/203] pkgs.tests.nixos-functions: machine -> nodes.machine --- pkgs/test/nixos-functions/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/test/nixos-functions/default.nix b/pkgs/test/nixos-functions/default.nix index a59160511b91..f2914455246c 100644 --- a/pkgs/test/nixos-functions/default.nix +++ b/pkgs/test/nixos-functions/default.nix @@ -28,7 +28,7 @@ in lib.optionalAttrs stdenv.hostPlatform.isLinux ( nixosTest-test = pkgs.nixosTest ({ lib, pkgs, figlet, ... }: { name = "nixosTest-test"; - machine = { pkgs, ... }: { + nodes.machine = { pkgs, ... }: { system.nixos = dummyVersioning; environment.systemPackages = [ pkgs.hello figlet ]; }; From 2c338f512291ceade41bf042c61e0a009f7f89d5 Mon Sep 17 00:00:00 2001 From: Matthieu Coudron Date: Tue, 29 Mar 2022 03:18:46 +0200 Subject: [PATCH 015/203] luarocks-nix: bump --- pkgs/development/tools/misc/luarocks/luarocks-nix.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/tools/misc/luarocks/luarocks-nix.nix b/pkgs/development/tools/misc/luarocks/luarocks-nix.nix index 05770464de7d..fe34bfd20a6f 100644 --- a/pkgs/development/tools/misc/luarocks/luarocks-nix.nix +++ b/pkgs/development/tools/misc/luarocks/luarocks-nix.nix @@ -5,8 +5,8 @@ luarocks.overrideAttrs(old: { src = fetchFromGitHub { owner = "nix-community"; repo = "luarocks-nix"; - rev = "standalone"; - sha256 = "sha256-53Zi+GTayO9EQTCIVrzPeRRHeIkHLqy0mHyBDzbcQQk="; + rev = "6aa1d59e88eaef72d699477c3e7aa98b274ca405"; + sha256 = "sha256-nQLl01RFYZYhpShz0gHxnhwFPvTgALpAbjFPIuTD2D0="; }; patches = []; From 8bb4179147ba81713f12085b1a7395547b812294 Mon Sep 17 00:00:00 2001 From: Matthieu Coudron Date: Tue, 29 Mar 2022 03:19:54 +0200 Subject: [PATCH 016/203] luarocks: 3.2 -> 3.8 --- pkgs/development/tools/misc/luarocks/3.7.nix | 81 ------------------- .../tools/misc/luarocks/darwin-3.1.3.patch | 24 ------ .../tools/misc/luarocks/default.nix | 6 +- pkgs/top-level/lua-packages.nix | 6 +- 4 files changed, 4 insertions(+), 113 deletions(-) delete mode 100644 pkgs/development/tools/misc/luarocks/3.7.nix delete mode 100644 pkgs/development/tools/misc/luarocks/darwin-3.1.3.patch diff --git a/pkgs/development/tools/misc/luarocks/3.7.nix b/pkgs/development/tools/misc/luarocks/3.7.nix deleted file mode 100644 index 95fa79c6d125..000000000000 --- a/pkgs/development/tools/misc/luarocks/3.7.nix +++ /dev/null @@ -1,81 +0,0 @@ -{lib, stdenv, fetchFromGitHub -, curl, makeWrapper, which, unzip -, lua -# for 'luarocks pack' -, zip -# some packages need to be compiled with cmake -, cmake -, installShellFiles -}: - -stdenv.mkDerivation rec { - pname = "luarocks"; - version = "3.7.0"; - - src = fetchFromGitHub { - owner = "luarocks"; - repo = "luarocks"; - rev = "v${version}"; - sha256 = "1sn2j7hv8nbdjqj1747glk9770zw8q5v8ivaxhvwbk3vl038ck9d"; - }; - - patches = [ ./darwin-3.7.0.patch ]; - - postPatch = lib.optionalString stdenv.targetPlatform.isDarwin '' - substituteInPlace src/luarocks/core/cfg.lua --subst-var-by 'darwinMinVersion' '${stdenv.targetPlatform.darwinMinVersion}' - ''; - - preConfigure = '' - lua -e "" || { - luajit -e "" && { - export LUA_SUFFIX=jit - configureFlags="$configureFlags --lua-suffix=$LUA_SUFFIX" - } - } - lua_inc="$(echo "${lua}/include"/*/)" - if test -n "$lua_inc"; then - configureFlags="$configureFlags --with-lua-include=$lua_inc" - fi - ''; - - nativeBuildInputs = [ makeWrapper installShellFiles ]; - - buildInputs = [ lua curl which ]; - - postInstall = '' - sed -e "1s@.*@#! ${lua}/bin/lua$LUA_SUFFIX@" -i "$out"/bin/* - for i in "$out"/bin/*; do - test -L "$i" || { - wrapProgram "$i" \ - --suffix LUA_PATH ";" "$(echo "$out"/share/lua/*/)?.lua" \ - --suffix LUA_PATH ";" "$(echo "$out"/share/lua/*/)?/init.lua" \ - --suffix LUA_CPATH ";" "$(echo "$out"/lib/lua/*/)?.so" \ - --suffix LUA_CPATH ";" "$(echo "$out"/share/lua/*/)?/init.lua" - } - done - - installShellCompletion --cmd luarocks --bash <($out/bin/luarocks completion bash) - installShellCompletion --cmd luarocks --zsh <($out/bin/luarocks completion zsh) - ''; - - propagatedBuildInputs = [ zip unzip cmake ]; - - # unpack hook for src.rock and rockspec files - setupHook = ./setup-hook.sh; - - # cmake is just to compile packages with "cmake" buildType, not luarocks itself - dontUseCmakeConfigure = true; - - shellHook = '' - export PATH="src/bin:''${PATH:-}" - export LUA_PATH="src/?.lua;''${LUA_PATH:-}" - ''; - - meta = with lib; { - description = "A package manager for Lua"; - license = licenses.mit ; - maintainers = with maintainers; [raskin teto]; - platforms = platforms.linux ++ platforms.darwin; - downloadPage = "http://luarocks.org/releases/"; - }; -} diff --git a/pkgs/development/tools/misc/luarocks/darwin-3.1.3.patch b/pkgs/development/tools/misc/luarocks/darwin-3.1.3.patch deleted file mode 100644 index 8070af173aaf..000000000000 --- a/pkgs/development/tools/misc/luarocks/darwin-3.1.3.patch +++ /dev/null @@ -1,24 +0,0 @@ -diff --git a/src/luarocks/core/cfg.lua b/src/luarocks/core/cfg.lua -index c5af5a2..1949fdc 100644 ---- a/src/luarocks/core/cfg.lua -+++ b/src/luarocks/core/cfg.lua -@@ -425,7 +425,7 @@ local function make_defaults(lua_version, target_cpu, platforms, home) - defaults.external_lib_extension = "dylib" - defaults.arch = "macosx-"..target_cpu - defaults.variables.LIBFLAG = "-bundle -undefined dynamic_lookup -all_load" -- local version = util.popen_read("sw_vers -productVersion") -+ local version = os.getenv("MACOSX_DEPLOYMENT_TARGET") or "@darwinMinVersion@" - version = tonumber(version and version:match("^[^.]+%.([^.]+)")) or 3 - if version >= 10 then - version = 8 -@@ -434,8 +434,8 @@ local function make_defaults(lua_version, target_cpu, platforms, home) - else - defaults.gcc_rpath = false - end -- defaults.variables.CC = "env MACOSX_DEPLOYMENT_TARGET=10."..version.." gcc" -- defaults.variables.LD = "env MACOSX_DEPLOYMENT_TARGET=10."..version.." gcc" -+ defaults.variables.CC = "env MACOSX_DEPLOYMENT_TARGET=10."..version.." clang" -+ defaults.variables.LD = "env MACOSX_DEPLOYMENT_TARGET=10."..version.." clang" - defaults.web_browser = "open" - end - diff --git a/pkgs/development/tools/misc/luarocks/default.nix b/pkgs/development/tools/misc/luarocks/default.nix index 58f5996992af..b34c88979211 100644 --- a/pkgs/development/tools/misc/luarocks/default.nix +++ b/pkgs/development/tools/misc/luarocks/default.nix @@ -10,16 +10,16 @@ stdenv.mkDerivation rec { pname = "luarocks"; - version = "3.2.1"; + version = "3.8.0"; src = fetchFromGitHub { owner = "luarocks"; repo = "luarocks"; rev = "v${version}"; - sha256 = "0viiafmb8binksda79ah828q1dfnb6jsqlk7vyndl2xvx9yfn4y2"; + sha256 = "sha256-tPSAtveOodF2w54d82hEyaTj91imtySJUTsk/gje2dQ="; }; - patches = [ ./darwin-3.1.3.patch ]; + patches = [ ./darwin-3.7.0.patch ]; postPatch = lib.optionalString stdenv.targetPlatform.isDarwin '' substituteInPlace src/luarocks/core/cfg.lua --subst-var-by 'darwinMinVersion' '${stdenv.targetPlatform.darwinMinVersion}' diff --git a/pkgs/top-level/lua-packages.nix b/pkgs/top-level/lua-packages.nix index efaf06d30a22..e8ac6445d0eb 100644 --- a/pkgs/top-level/lua-packages.nix +++ b/pkgs/top-level/lua-packages.nix @@ -63,11 +63,7 @@ in inherit (pkgs) makeSetupHook makeWrapper; }; - luarocks = callPackage ../development/tools/misc/luarocks { - inherit lua lib; - }; - - luarocks-3_7 = callPackage ../development/tools/misc/luarocks/3.7.nix { + luarocks = callPackage ../development/tools/misc/luarocks/default.nix { inherit lua lib; }; From 2e5732b320d91938ebbb924fd5e7ea71df946ff1 Mon Sep 17 00:00:00 2001 From: Matthieu Coudron Date: Tue, 29 Mar 2022 03:46:00 +0200 Subject: [PATCH 017/203] luaPackages.libuv: bump to v1.43.0 as required by neovim master --- .../lua-modules/generated-packages.nix | 24 +++++--- pkgs/development/lua-modules/overrides.nix | 59 +++++++++++-------- 2 files changed, 53 insertions(+), 30 deletions(-) diff --git a/pkgs/development/lua-modules/generated-packages.nix b/pkgs/development/lua-modules/generated-packages.nix index 71d85a776bb2..4269d7eb0d7e 100644 --- a/pkgs/development/lua-modules/generated-packages.nix +++ b/pkgs/development/lua-modules/generated-packages.nix @@ -2028,22 +2028,32 @@ buildLuarocksPackage { }; }) {}; -luv = callPackage({ buildLuarocksPackage, luaOlder, luaAtLeast -, fetchurl, lua +luv = callPackage ({ buildLuarocksPackage, luaOlder, luaAtLeast +, cmake, fetchurl, lua }: buildLuarocksPackage { pname = "luv"; version = "1.43.0-0"; knownRockspec = (fetchurl { - url = "https://raw.githubusercontent.com/rocks-moonscript-org/moonrocks-mirror/master/luv-1.43.0-0.rockspec"; + url = "https://luarocks.org/luv-1.43.0-0.rockspec"; sha256 = "0z5a7yp20xbb3f9w73skm9fj89gxxqv72nrxjq3kycsc6c2v3m8f"; }).outPath; - src = fetchurl { - url = "https://github.com/luvit/luv/releases/download/1.43.0-0/luv-1.43.0-0.tar.gz"; - sha256 = "1qlx1r79sfn8r20yx19bhdr0v58ykpwgwzy5vma9p2ngrlynyyjn"; - }; + + src = fetchgit ( removeAttrs (builtins.fromJSON ''{ + "url": "https://github.com/luvit/luv.git", + "rev": "1.43.0-0", + "date": "2022-03-12T16:05:50+08:00", + "path": "/nix/store/d7f3sdw5l0cm8xkjdm4m6jkmx794w48j-luv", + "sha256": "sha256-CcUX69XzgWlJEwHUhhtqs9sDA5TNIusKek5yV2Nt3Wc=", + "fetchLFS": false, + "fetchSubmodules": true, + "deepClone": false, + "leaveDotGit": false +} + '') ["date" "path"]) ; disabled = with lua; (luaOlder "5.1"); + nativeBuildInputs = [ cmake ]; propagatedBuildInputs = [ lua ]; meta = { diff --git a/pkgs/development/lua-modules/overrides.nix b/pkgs/development/lua-modules/overrides.nix index 9190f1fff864..163dad3fe333 100644 --- a/pkgs/development/lua-modules/overrides.nix +++ b/pkgs/development/lua-modules/overrides.nix @@ -280,34 +280,47 @@ with prev; ''; }); + + # as advised in https://github.com/luarocks/luarocks/issues/1402 + # we shouldn't use luarocks machinery to build complex cmake components + libluv = pkgs.stdenv.mkDerivation { + + inherit (prev.luv) pname version meta src; + + cmakeFlags = [ + "-DBUILD_SHARED_LIBS=ON" + "-DBUILD_MODULE=OFF" + "-DWITH_SHARED_LIBUV=ON" + ]; + + buildInputs = [ pkgs.libuv ]; + + nativeBuildInputs = [ pkgs.pkg-config pkgs.fixDarwinDylibNames pkgs.cmake ]; + # Fixup linking libluv.dylib, for some reason it's not linked against lua correctly. + NIX_LDFLAGS = pkgs.lib.optionalString pkgs.stdenv.isDarwin + (if isLuaJIT then "-lluajit-${lua.luaversion}" else "-llua"); + }; + luv = prev.lib.overrideLuarocks prev.luv (drv: { + + buildInputs = [ pkgs.pkg-config pkgs.libuv ]; + + doInstallCheck = true; + # Use system libuv instead of building local and statically linking - # This is a hacky way to specify -DWITH_SHARED_LIBUV=ON which - # is not possible with luarocks and the current luv rockspec - # While at it, remove bundled libuv source entirely to be sure. - # We may wish to drop bundled lua submodules too... - preBuild = '' - sed -i 's,\(option(WITH_SHARED_LIBUV.*\)OFF,\1ON,' CMakeLists.txt - rm -rf deps/libuv + extraVariables = { + "WITH_SHARED_LIBUV" = "ON"; + }; + + # we unset the LUA_PATH since the hook erases the interpreter defaults (To fix) + installCheckPhase = '' + unset LUA_PATH + rm tests/test-{dns,thread}.lua + lua tests/run.lua ''; - buildInputs = [ pkgs.libuv ]; + passthru.libluv = final.libluv; - passthru = { - libluv = final.luv.overrideAttrs (oa: { - preBuild = final.luv.preBuild + '' - sed -i 's,\(option(BUILD_MODULE.*\)ON,\1OFF,' CMakeLists.txt - sed -i 's,\(option(BUILD_SHARED_LIBS.*\)OFF,\1ON,' CMakeLists.txt - sed -i 's,${"\${.*INSTALL_INC_DIR}"},${placeholder "out"}/include/luv,' CMakeLists.txt - ''; - - nativeBuildInputs = [ pkgs.fixDarwinDylibNames ]; - - # Fixup linking libluv.dylib, for some reason it's not linked against lua correctly. - NIX_LDFLAGS = pkgs.lib.optionalString pkgs.stdenv.isDarwin - (if isLuaJIT then "-lluajit-${lua.luaversion}" else "-llua"); - }); - }; }); lyaml = prev.lib.overrideLuarocks prev.lyaml (oa: { From 0986a70be6219a1986f3665ec1a3afd870ab8e14 Mon Sep 17 00:00:00 2001 From: Matthieu Coudron Date: Tue, 29 Mar 2022 03:48:20 +0200 Subject: [PATCH 018/203] lua.lib: small fix to avoid the error 'cfg.root_dir is null' see https://github.com/luarocks/luarocks/issues/1161 for details --- pkgs/development/lua-modules/lib.nix | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/pkgs/development/lua-modules/lib.nix b/pkgs/development/lua-modules/lib.nix index bd952e7b8ce7..5079a4b25405 100644 --- a/pkgs/development/lua-modules/lib.nix +++ b/pkgs/development/lua-modules/lib.nix @@ -82,6 +82,8 @@ rec { */ generateLuarocksConfig = { externalDeps + + # a list of lua derivations , requiredLuaRocks , extraVariables ? {} , rocksSubdir @@ -113,9 +115,10 @@ rec { -- To prevent collisions when creating environments, we install the rock -- files into per-package subdirectories rocks_subdir = '${rocksSubdir}' - -- Then we need to tell luarocks where to find the rock files per - -- dependency + -- first tree is the default target where new rocks are installed, + -- any other trees in the list are treated as additional sources of installed rocks for matching dependencies. rocks_trees = { + {name = "current", root = '${placeholder "out"}', rocks_dir = "current" }, ${lib.concatStringsSep "\n, " rocksTrees} } '' + lib.optionalString lua.pkgs.isLuaJIT '' From d3dcc106c82e43268e5e8f6db652e910c46d07ca Mon Sep 17 00:00:00 2001 From: Matthieu Coudron Date: Tue, 29 Mar 2022 03:52:02 +0200 Subject: [PATCH 019/203] neovim: revert the linker changes that cause issues on nix some linker flags have been added to support declarative treesitter grammars but the justification is fuzzy and it breaks several stuff on nix see https://github.com/NixOS/nixpkgs/pull/147658 --- pkgs/applications/editors/neovim/default.nix | 6 ------ 1 file changed, 6 deletions(-) diff --git a/pkgs/applications/editors/neovim/default.nix b/pkgs/applications/editors/neovim/default.nix index 03cc0b35b8d3..86d70acfff3c 100644 --- a/pkgs/applications/editors/neovim/default.nix +++ b/pkgs/applications/editors/neovim/default.nix @@ -113,12 +113,6 @@ in substituteInPlace src/nvim/CMakeLists.txt --replace " util" "" ''; - # For treesitter plugins, libstdc++.so.6, or equivalent will be needed - NIX_LDFLAGS = - lib.optionals stdenv.cc.isGNU [ "-lstdc++"] - ++ lib.optionals stdenv.cc.isClang [ "-lc++" ]; - - # export PATH=$PWD/build/bin:${PATH} shellHook='' export VIMRUNTIME=$PWD/runtime ''; From d113e4e06e487ea693e6af68f2431b9da14636be Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Na=C3=AFm=20Favier?= Date: Mon, 28 Mar 2022 22:56:49 +0200 Subject: [PATCH 020/203] nixos/networkd: add `wait-online` options --- .../from_md/release-notes/rl-2205.section.xml | 29 ++++++++++ .../manual/release-notes/rl-2205.section.md | 5 ++ nixos/modules/system/boot/networkd.nix | 53 ++++++++++++++++++- 3 files changed, 86 insertions(+), 1 deletion(-) diff --git a/nixos/doc/manual/from_md/release-notes/rl-2205.section.xml b/nixos/doc/manual/from_md/release-notes/rl-2205.section.xml index 830b0c2efcd3..ed6c49f02bbd 100644 --- a/nixos/doc/manual/from_md/release-notes/rl-2205.section.xml +++ b/nixos/doc/manual/from_md/release-notes/rl-2205.section.xml @@ -1316,6 +1316,35 @@ versions. + + + A new option group + systemd.network.wait-online was added, with + options to configure + systemd-networkd-wait-online.service: + + + + + anyInterface allows specifying that the + network should be considered online when at + least one interface is online (useful on + laptops) + + + + + timeout defines how long to wait for + the network to come online + + + + + extraArgs for everything else + + + + The influxdb2 package was split into diff --git a/nixos/doc/manual/release-notes/rl-2205.section.md b/nixos/doc/manual/release-notes/rl-2205.section.md index 91ca2882ef12..60995731d3d5 100644 --- a/nixos/doc/manual/release-notes/rl-2205.section.md +++ b/nixos/doc/manual/release-notes/rl-2205.section.md @@ -478,6 +478,11 @@ In addition to numerous new and upgraded packages, this release has the followin still under heavy development and behavior is not always flawless. Furthermore, not all Electron apps use the latest Electron versions. +- A new option group `systemd.network.wait-online` was added, with options to configure `systemd-networkd-wait-online.service`: + - `anyInterface` allows specifying that the network should be considered online when *at least one* interface is online (useful on laptops) + - `timeout` defines how long to wait for the network to come online + - `extraArgs` for everything else + - The `influxdb2` package was split into `influxdb2-server` and `influxdb2-cli`, matching the split that took place upstream. A combined `influxdb2` package is still provided in this release for diff --git a/nixos/modules/system/boot/networkd.nix b/nixos/modules/system/boot/networkd.nix index ac1e4ef34b46..092b7b8863ae 100644 --- a/nixos/modules/system/boot/networkd.nix +++ b/nixos/modules/system/boot/networkd.nix @@ -1741,6 +1741,48 @@ in })); }; + systemd.network.wait-online = { + anyInterface = mkOption { + description = '' + Whether to consider the network online when any interface is online, as opposed to all of them. + This is useful on portable machines with a wired and a wireless interface, for example. + ''; + type = types.bool; + default = false; + }; + + ignoredInterfaces = mkOption { + description = '' + Network interfaces to be ignored when deciding if the system is online. + ''; + type = with types; listOf str; + default = []; + example = [ "wg0" ]; + }; + + timeout = mkOption { + description = '' + Time to wait for the network to come online, in seconds. Set to 0 to disable. + ''; + type = types.ints.unsigned; + default = 120; + example = 0; + }; + + extraArgs = mkOption { + description = '' + Extra command-line arguments to pass to systemd-networkd-wait-online. + These also affect per-interface systemd-network-wait-online@ services. + + See + systemd-networkd-wait-online.service8 + for all available options. + ''; + type = with types; listOf str; + default = []; + }; + }; + }; config = mkMerge [ @@ -1749,6 +1791,11 @@ in { systemd.network.units = mapAttrs' (n: v: nameValuePair "${n}.link" (linkToUnit n v)) cfg.links; environment.etc = unitFiles; + + systemd.network.wait-online.extraArgs = + [ "--timeout=${toString cfg.wait-online.timeout}" ] + ++ optional cfg.wait-online.anyInterface "--any" + ++ map (i: "--ignore=${i}") cfg.wait-online.ignoredInterfaces; } (mkIf config.systemd.network.enable { @@ -1777,6 +1824,10 @@ in systemd.services.systemd-networkd-wait-online = { wantedBy = [ "network-online.target" ]; + serviceConfig.ExecStart = [ + "" + "${config.systemd.package}/lib/systemd/systemd-networkd-wait-online ${utils.escapeSystemdExecArgs cfg.wait-online.extraArgs}" + ]; }; systemd.services."systemd-network-wait-online@" = { @@ -1787,7 +1838,7 @@ in serviceConfig = { Type = "oneshot"; RemainAfterExit = true; - ExecStart = "${config.systemd.package}/lib/systemd/systemd-networkd-wait-online -i %I"; + ExecStart = "${config.systemd.package}/lib/systemd/systemd-networkd-wait-online -i %I ${utils.escapeSystemdExecArgs cfg.wait-online.extraArgs}"; }; }; From d9c5cdb5b87faeaa2ce14606a868fe44bcf441f9 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Tue, 29 Mar 2022 16:11:35 +0000 Subject: [PATCH 021/203] rpcs3: 0.0.21-13352-e58906cb4 -> 0.0.21-13388-4a86638ce --- pkgs/applications/emulators/rpcs3/default.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/applications/emulators/rpcs3/default.nix b/pkgs/applications/emulators/rpcs3/default.nix index 74c5b8ee6b35..ee85b71cf8a4 100644 --- a/pkgs/applications/emulators/rpcs3/default.nix +++ b/pkgs/applications/emulators/rpcs3/default.nix @@ -9,10 +9,10 @@ let # Keep these separate so the update script can regex them - rpcs3GitVersion = "13352-e58906cb4"; - rpcs3Version = "0.0.21-13352-e58906cb4"; - rpcs3Revision = "e58906cb4df26c14fcade07d7c15ab432dae6882"; - rpcs3Sha256 = "1bzx6af77z5l6jdgazw8x59pi2xhwkz0knynmf5kzww39m6npx0a"; + rpcs3GitVersion = "13388-4a86638ce"; + rpcs3Version = "0.0.21-13388-4a86638ce"; + rpcs3Revision = "4a86638ce898e3bd68ade8e7ba794253782ea411"; + rpcs3Sha256 = "0bc1n0jy4a869mn1g5i008vb5m2a6qfhyf7lw0d0jiljgsppiys1"; ittapi = fetchFromGitHub { owner = "intel"; From f80b906b3a4236320f92245a596204a3bfbe8543 Mon Sep 17 00:00:00 2001 From: Doron Behar Date: Tue, 29 Mar 2022 05:48:19 +0300 Subject: [PATCH 022/203] neovim: cleanup a bit libluv related hacks Remove unneeded cmakeFlags and explain more what is the difference between lua.pkgs.libluv and lua.pkgs.luv. --- pkgs/applications/editors/neovim/default.nix | 22 ++++++++------------ pkgs/development/lua-modules/overrides.nix | 2 +- 2 files changed, 10 insertions(+), 14 deletions(-) diff --git a/pkgs/applications/editors/neovim/default.nix b/pkgs/applications/editors/neovim/default.nix index 86d70acfff3c..ef0b075c4d16 100644 --- a/pkgs/applications/editors/neovim/default.nix +++ b/pkgs/applications/editors/neovim/default.nix @@ -21,14 +21,6 @@ let )); pyEnv = python3.withPackages(ps: with ps; [ pynvim msgpack ]); - - # FIXME: this is verry messy and strange. - # see https://github.com/NixOS/nixpkgs/pull/80528 - luv = lua.pkgs.luv; - luvpath = with builtins ; if stdenv.isDarwin - then "${luv.libluv}/lib/lua/${lua.luaversion}/libluv.${head (match "([0-9.]+).*" luv.version)}.dylib" - else "${luv}/lib/lua/${lua.luaversion}/luv.so"; - in stdenv.mkDerivation rec { pname = "neovim-unwrapped"; @@ -57,7 +49,11 @@ in libtermkey libuv libvterm-neovim - luv.libluv + # This is actually a c library, hence it's not included in neovimLuaEnv, + # see: + # https://github.com/luarocks/luarocks/issues/1402#issuecomment-1080616570 + # and it's definition at: pkgs/development/lua-modules/overrides.nix + lua.pkgs.libluv msgpack ncurses neovimLuaEnv @@ -97,12 +93,12 @@ in disallowedReferences = [ stdenv.cc ]; cmakeFlags = [ - "-DGPERF_PRG=${gperf}/bin/gperf" - "-DLUA_PRG=${neovimLuaEnv.interpreter}" - "-DLIBLUV_LIBRARY=${luvpath}" + # Don't use downloaded dependencies. At the end of the configurePhase one + # can spot that cmake says this option was "not used by the project". + # That's because all dependencies were found and + # third-party/CMakeLists.txt is not read at all. "-DUSE_BUNDLED=OFF" ] - ++ optional doCheck "-DBUSTED_PRG=${neovimLuaEnv}/bin/busted" ++ optional (!lua.pkgs.isLuaJIT) "-DPREFER_LUA=ON" ; diff --git a/pkgs/development/lua-modules/overrides.nix b/pkgs/development/lua-modules/overrides.nix index 163dad3fe333..7f85ddb783a5 100644 --- a/pkgs/development/lua-modules/overrides.nix +++ b/pkgs/development/lua-modules/overrides.nix @@ -281,7 +281,7 @@ with prev; }); - # as advised in https://github.com/luarocks/luarocks/issues/1402 + # as advised in https://github.com/luarocks/luarocks/issues/1402#issuecomment-1080616570 # we shouldn't use luarocks machinery to build complex cmake components libluv = pkgs.stdenv.mkDerivation { From 55ea018afa663f0257979fdfb2f57fe7836633cd Mon Sep 17 00:00:00 2001 From: Doron Behar Date: Sun, 27 Mar 2022 13:43:01 +0300 Subject: [PATCH 023/203] python3.pkgs.hepunits: init at 2.2.0 --- .../python-modules/hepunits/default.nix | 31 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 2 ++ 2 files changed, 33 insertions(+) create mode 100644 pkgs/development/python-modules/hepunits/default.nix diff --git a/pkgs/development/python-modules/hepunits/default.nix b/pkgs/development/python-modules/hepunits/default.nix new file mode 100644 index 000000000000..9bfd4de36f78 --- /dev/null +++ b/pkgs/development/python-modules/hepunits/default.nix @@ -0,0 +1,31 @@ +{ lib +, buildPythonPackage +, fetchPypi +, setuptools-scm +, pytestCheckHook +}: + +buildPythonPackage rec { + pname = "hepunits"; + version = "2.2.0"; + + src = fetchPypi { + inherit pname version; + sha256 = "sha256-6A5hb+8oF/PGbHXcDkHtJjYkiMzgX5Stz977jgXry1g="; + }; + nativeBuildInputs = [ + setuptools-scm + ]; + + checkInputs = [ + pytestCheckHook + ]; + + meta = { + description = "Units and constants in the HEP system of units"; + homepage = "https://github.com/scikit-hep/hepunits"; + license = lib.licenses.bsd3; + maintainers = with lib.maintainers; [ doronbehar ]; + }; +} + diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 783f1866b8f5..525d50b56b3b 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -3736,6 +3736,8 @@ in { inherit python; }); + hepunits = callPackage ../development/python-modules/hepunits { }; + herepy = callPackage ../development/python-modules/herepy { }; hetzner = callPackage ../development/python-modules/hetzner { }; From 6b3b66185d3bab126f71b5c98c796f680c56e933 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 30 Mar 2022 06:56:12 +0000 Subject: [PATCH 024/203] poke: 2.1 -> 2.2 --- pkgs/applications/editors/poke/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/editors/poke/default.nix b/pkgs/applications/editors/poke/default.nix index e05008613910..c2ade207d609 100644 --- a/pkgs/applications/editors/poke/default.nix +++ b/pkgs/applications/editors/poke/default.nix @@ -22,11 +22,11 @@ let isCross = stdenv.hostPlatform != stdenv.buildPlatform; in stdenv.mkDerivation rec { pname = "poke"; - version = "2.1"; + version = "2.2"; src = fetchurl { url = "mirror://gnu/${pname}/${pname}-${version}.tar.gz"; - sha256 = "sha256-zVKObBu8VAw7YpwrTza3hLMKAmsAWji5koNCJZlEJnA="; + sha256 = "sha256-xF6k5xpRohhTZzhcAc65dZbsW3EDOGm+xKYLHLciWQM="; }; outputs = [ "out" "dev" "info" "lib" "man" ]; From 2a5a99c5863d73155040c1492874268375aff658 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20=C4=8Cun=C3=A1t?= Date: Wed, 30 Mar 2022 10:19:30 +0200 Subject: [PATCH 025/203] knot-dns: 3.1.6 -> 3.1.7 This version primarily fixes incomplete implementation of the Offline KSK signing mode in the IXFR and DDNS processing. https://gitlab.nic.cz/knot/knot-dns/-/tags/v3.1.7 --- pkgs/servers/dns/knot-dns/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/servers/dns/knot-dns/default.nix b/pkgs/servers/dns/knot-dns/default.nix index 80939b8df45d..7367c269ab8d 100644 --- a/pkgs/servers/dns/knot-dns/default.nix +++ b/pkgs/servers/dns/knot-dns/default.nix @@ -5,11 +5,11 @@ stdenv.mkDerivation rec { pname = "knot-dns"; - version = "3.1.6"; + version = "3.1.7"; src = fetchurl { url = "https://secure.nic.cz/files/knot-dns/knot-${version}.tar.xz"; - sha256 = "e9ba1305d750dc08fb08687aec7ac55737ca073deaa0b867c884e0c0f2fdb753"; + sha256 = "ffb6887e238ce4c7df0cc76bb55a5093465275201ac12156a3390782dc49857b"; }; outputs = [ "bin" "out" "dev" ]; From ed47d92c53deeabd4e55b5099e753ee731b8251e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Janne=20He=C3=9F?= Date: Sun, 27 Mar 2022 19:45:01 +0200 Subject: [PATCH 026/203] Add a list of subsystem maintainers for release --- maintainers/scripts/feature-freeze-teams.pl | 98 ++++++ maintainers/team-list.nix | 323 ++++++++++++++++++++ 2 files changed, 421 insertions(+) create mode 100755 maintainers/scripts/feature-freeze-teams.pl diff --git a/maintainers/scripts/feature-freeze-teams.pl b/maintainers/scripts/feature-freeze-teams.pl new file mode 100755 index 000000000000..eb37150befe3 --- /dev/null +++ b/maintainers/scripts/feature-freeze-teams.pl @@ -0,0 +1,98 @@ +#!/usr/bin/env nix-shell +#!nix-shell -i perl -p perl -p perlPackages.JSON perlPackages.LWPUserAgent perlPackages.LWPProtocolHttps perlPackages.TermReadKey + +# This script generates a list of teams to ping for the Feature Freeze announcement on Discourse. +# It's intended to be used by Release Managers before creating such posts. +# +# The script interactively reads a GitHub username and a corresponding GitHub Personal Access token. +# This is required to access the GitHub Teams API so the token needs at least the read:org privilege. + +## no critic (InputOutput::RequireCheckedSyscalls, InputOutput::ProhibitBacktickOperators) +use strict; +use warnings; +use Carp; +use Cwd 'abs_path'; +use File::Basename; +use JSON qw(decode_json); +use LWP::UserAgent; +use Term::ReadKey qw(ReadLine ReadMode); + +sub github_team_members { + my ($team_name, $username, $token) = @_; + my @ret; + + my $req = HTTP::Request->new('GET', "https://api.github.com/orgs/NixOS/teams/$team_name/members", [ 'Accept' => 'application/vnd.github.v3+json' ]); + $req->authorization_basic($username, $token); + my $response = LWP::UserAgent->new->request($req); + + if ($response->is_success) { + my $content = decode_json($response->decoded_content); + foreach (@{$content}) { + push @ret, $_->{'login'}; + } + } else { + print {*STDERR} "!! Requesting members of GitHub Team '$team_name' failed: $response->status_line"; + } + + return \@ret; +} + +# Read GitHub credentials +print {*STDERR} 'GitHub username: '; +my $github_user = ReadLine(0); +ReadMode('noecho'); +print {*STDERR} 'GitHub personal access token (no echo): '; +my $github_token = ReadLine(0); +ReadMode('restore'); +print {*STDERR} "\n"; +chomp $github_user; +chomp $github_token; + +# Read nix output +my $nix_version = `nix --version`; +my $out; +my $lib_path = abs_path(dirname(__FILE__)) . '../../../lib'; +if ($nix_version =~ m/2[.]3[.]/msx) { + $out = `nix eval --json '(import $lib_path).teams'` || croak 'nix eval failed'; +} else { + $out = `nix --extra-experimental-features nix-command eval --json --impure --expr '(import $lib_path).teams'` || croak('nix eval failed'); +} +my $data = decode_json($out); + +# Process teams +print {*STDERR} "\n"; +while (my ($team_nix_key, $team_config) = each %{$data}) { + # Ignore teams that don't want to be or can't be pinged + if (not defined $team_config->{enableFeatureFreezePing} or not $team_config->{enableFeatureFreezePing}) { + next; + } + if (not defined $team_config->{shortName}) { + print {*STDERR} "!! The team with the nix key '$team_nix_key' has no shortName set - ignoring"; + next; + } + # Team name + print {*STDERR} "$team_config->{shortName}:"; + # GitHub Teams + my @github_members; + if (defined $team_config->{githubTeams}) { + foreach (@{$team_config->{githubTeams}}) { + print {*STDERR} " \@NixOS/${_}"; + push @github_members, @{github_team_members($_, $github_user, $github_token)}; + } + } + my %github_members = map { $_ => 1 } @github_members; + # Members + if (defined $team_config->{members}) { + foreach (@{$team_config->{members}}) { + my %user = %{$_}; + my $github_handle = $user{'github'}; + # Ensure we don't ping team members twice (as team member and directly) + if (defined $github_members{$github_handle}) { + next; + } + print {*STDERR} " \@$github_handle"; + } + } + + print {*STDERR} "\n"; +} diff --git a/maintainers/team-list.nix b/maintainers/team-list.nix index bf4fcc6a4a7d..ec24b44aec07 100644 --- a/maintainers/team-list.nix +++ b/maintainers/team-list.nix @@ -3,12 +3,19 @@ # Required members = [ maintainer1 maintainer2 ]; scope = "Maintain foo packages."; + shortName = "foo"; + # Optional + enableFeatureFreezePing = true; + githubTeams = [ "my-subsystem" ]; }; where - `members` is the list of maintainers belonging to the group, - `scope` describes the scope of the group. + - `shortName` short human-readable name + - `enableFeatureFreezePing` will ping this team during the Feature Freeze announcements on releases + - `githubTeams` will ping specified GitHub teams as well More fields may be added in the future. @@ -27,6 +34,7 @@ with lib.maintainers; { m1cr0man ]; scope = "Maintain ACME-related packages and modules."; + shortName = "ACME"; }; bazel = { @@ -41,6 +49,8 @@ with lib.maintainers; { ylecornec ]; scope = "Bazel build tool & related tools https://bazel.build/"; + shortName = "Bazel"; + enableFeatureFreezePing = true; }; beam = { @@ -53,7 +63,32 @@ with lib.maintainers; { minijackson yurrriq ]; + githubTeams = [ + "beam" + ]; scope = "Maintain BEAM-related packages and modules."; + shortName = "BEAM"; + enableFeatureFreezePing = true; + }; + + blockchains = { + members = [ + mmahut + RaghavSood + ]; + scope = "Maintain Blockchain packages and modules."; + shortName = "Blockchains"; + enableFeatureFreezePing = true; + }; + + c = { + members = [ + matthewbauer + mic92 + ]; + scope = "Maintain C libraries and tooling."; + shortName = "C"; + enableFeatureFreezePing = true; }; cinnamon = { @@ -61,6 +96,8 @@ with lib.maintainers; { mkg20001 ]; scope = "Maintain Cinnamon desktop environment and applications made by the LinuxMint team."; + shortName = "Cinnamon"; + enableFeatureFreezePing = true; }; chia = { @@ -68,6 +105,41 @@ with lib.maintainers; { lourkeur ]; scope = "Maintain the Chia blockchain and its dependencies"; + shortName = "Chia Blockchain"; + }; + + cleanup = { + members = [ + ajs124 + ]; + scope = "Cleaning of the nixpkgs source tree."; + shortName = "Cleanup"; + enableFeatureFreezePing = true; + }; + + coq = { + members = [ + cohencyril + Zimmi48 + # gares has no entry in the maintainers list + siraben + vbgl + ]; + scope = "Maintain the Coq theorem prover and related packages."; + shortName = "Coq"; + enableFeatureFreezePing = true; + }; + + darwin = { + members = [ + toonn + ]; + githubTeams = [ + "darwin-maintainers" + ]; + scope = "Maintain Darwin compatibility of packages and Darwin-only packages."; + shortName = "Darwin"; + enableFeatureFreezePing = true; }; deshaw = { @@ -76,6 +148,7 @@ with lib.maintainers; { limeytexan ]; scope = "Group registration for D. E. Shaw employees who collectively maintain packages."; + shortName = "Shaw employees"; }; determinatesystems = { @@ -85,11 +158,63 @@ with lib.maintainers; { grahamc ]; scope = "Group registration for packages maintained by Determinate Systems."; + shortName = "Determinate Systems employees"; + }; + + dhall = { + members = [ + Gabriel439 + ehmry + ]; + scope = "Maintain Dhall and related packages."; + shortName = "Dhall"; + enableFeatureFreezePing = true; + }; + + docker = { + members = [ + roberth + utdemir + ]; + scope = "Maintain Docker and related tools."; + shortName = "DockerTools"; + enableFeatureFreezePing = true; + }; + + docs = { + members = [ + ryantm + ]; + scope = "Maintain nixpkgs/NixOS documentation and tools for building it."; + shortName = "Docs"; + enableFeatureFreezePing = true; + }; + + emacs = { + members = [ + adisbladis + ]; + scope = "Maintain the Emacs editor and packages."; + shortName = "Emacs"; + enableFeatureFreezePing = true; + }; + + # Dummy group for the "everyone else" section + feature-freeze-everyone-else = { + members = [ ]; + githubTeams = [ + "nixpkgs-committers" + "release-engineers" + ]; + scope = "Dummy team for the #everyone else' section during feture freezes, not to be used as package maintainers!"; + shortName = "Everyone else"; + enableFeatureFreezePing = true; }; freedesktop = { members = [ jtojnar ]; scope = "Maintain Freedesktop.org packages for graphical desktop."; + shortName = "freedesktop.org packaging"; }; gcc = { @@ -99,6 +224,7 @@ with lib.maintainers; { ericson2314 ]; scope = "Maintain GCC (GNU Compiler Collection) compilers"; + shortName = "GCC"; }; golang = { @@ -113,6 +239,8 @@ with lib.maintainers; { zowoq ]; scope = "Maintain Golang compilers."; + shortName = "Go"; + enableFeatureFreezePing = true; }; gnome = { @@ -122,7 +250,12 @@ with lib.maintainers; { dasj19 maxeaubrey ]; + githubTeams = [ + "gnome" + ]; scope = "Maintain GNOME desktop environment and platform."; + shortName = "GNOME"; + enableFeatureFreezePing = true; }; haskell = { @@ -132,7 +265,12 @@ with lib.maintainers; { maralorn sternenseemann ]; + githubTeams = [ + "haskell" + ]; scope = "Maintain Haskell packages and infrastructure."; + shortName = "Haskell"; + enableFeatureFreezePing = true; }; home-assistant = { @@ -143,6 +281,7 @@ with lib.maintainers; { mic92 ]; scope = "Maintain the Home Assistant ecosystem"; + shortName = "Home Assistant"; }; iog = { @@ -154,6 +293,7 @@ with lib.maintainers; { nrdxp ]; scope = "Input-Output Global employees, which maintain critical software"; + shortName = "Input-Output Global employees"; }; jitsi = { @@ -164,6 +304,7 @@ with lib.maintainers; { yuka ]; scope = "Maintain Jitsi."; + shortName = "Jitsi"; }; kubernetes = { @@ -175,6 +316,7 @@ with lib.maintainers; { zowoq ]; scope = "Maintain the Kubernetes package and module"; + shortName = "Kubernetes"; }; kodi = { @@ -187,6 +329,7 @@ with lib.maintainers; { sephalon ]; scope = "Maintain Kodi and related packages."; + shortName = "Kodi"; }; linux-kernel = { @@ -197,6 +340,17 @@ with lib.maintainers; { qyliss ]; scope = "Maintain the Linux kernel."; + shortName = "Linux Kernel"; + }; + + marketing = { + members = [ + garbas + tomberek + ]; + scope = "Marketing of Nix/NixOS/nixpkgs."; + shortName = "Marketing"; + enableFeatureFreezePing = true; }; mate = { @@ -205,6 +359,7 @@ with lib.maintainers; { romildo ]; scope = "Maintain Mate desktop environment and related packages."; + shortName = "MATE"; }; matrix = { @@ -218,6 +373,40 @@ with lib.maintainers; { sumnerevans ]; scope = "Maintain the ecosystem around Matrix, a decentralized messenger."; + shortName = "Matrix"; + }; + + mobile = { + members = [ + samueldr + ]; + scope = "Maintain Mobile NixOS."; + shortName = "Mobile"; + enableFeatureFreezePing = true; + }; + + nix = { + members = [ + Profpatsch + eelco + grahamc + pierron + ]; + scope = "Maintain the Nix package manager."; + shortName = "Nix/nix-cli ecosystem"; + enableFeatureFreezePing = true; + }; + + nixos-modules = { + members = [ + ericson2314 + infinisil + qyliss + roberth + ]; + scope = "Maintain nixpkgs module system internals."; + shortName = "NixOS Modules / internals"; + enableFeatureFreezePing = true; }; openstack = { @@ -226,6 +415,7 @@ with lib.maintainers; { SuperSandro2000 ]; scope = "Maintain the ecosystem around OpenStack"; + shortName = "OpenStack"; }; pantheon = { @@ -233,7 +423,21 @@ with lib.maintainers; { davidak bobby285271 ]; + githubTeams = [ + "pantheon" + ]; scope = "Maintain Pantheon desktop environment and platform."; + shortName = "Pantheon"; + enableFeatureFreezePing = true; + }; + + perl = { + members = [ + sgo + ]; + scope = "Maintain the Perl interpreter and Perl packages."; + shortName = "Perl"; + enableFeatureFreezePing = true; }; php = { @@ -245,7 +449,12 @@ with lib.maintainers; { ma27 talyz ]; + githubTeams = [ + "php" + ]; scope = "Maintain PHP related packages and extensions."; + shortName = "PHP"; + enableFeatureFreezePing = true; }; podman = { @@ -255,7 +464,54 @@ with lib.maintainers; { vdemeester zowoq ]; + githubTeams = [ + "podman" + ]; scope = "Maintain Podman and CRI-O related packages and modules."; + shortName = "Podman"; + enableFeatureFreezePing = true; + }; + + postgres = { + members = [ + thoughtpolice + ]; + scope = "Maintain the PostgreSQL package and plugins along with the NixOS module."; + shortName = "PostgreSQL"; + enableFeatureFreezePing = true; + }; + + python = { + members = [ + fridh + hexa + jonringer + ]; + scope = "Maintain the Python interpreter and related packages."; + shortName = "Python"; + enableFeatureFreezePing = true; + }; + + qt-kde = { + members = [ + ttuegel + ]; + githubTeams = [ + "qt-kde" + ]; + scope = "Maintain the KDE desktop environment and Qt."; + shortName = "Qt / KDE"; + enableFeatureFreezePing = true; + }; + + r = { + members = [ + bcdarwin + jbedo + ]; + scope = "Maintain the R programming language and related packages."; + shortName = "R"; + enableFeatureFreezePing = true; }; redcodelabs = { @@ -265,6 +521,38 @@ with lib.maintainers; { wintrmvte ]; scope = "Maintain Red Code Labs related packages and modules."; + shortName = "Red Code Labs"; + }; + + release = { + members = [ ]; + githubTeams = [ + "nixos-release-managers" + ]; + scope = "Manage the current nixpkgs/NixOS release."; + shortName = "Release"; + enableFeatureFreezePing = true; + }; + + ruby = { + members = [ + marsam + ]; + scope = "Maintain the Ruby interpreter and related packages."; + shortName = "Ruby"; + enableFeatureFreezePing = true; + }; + + rust = { + members = [ + andir + lnl7 + mic92 + zowoq + ]; + scope = "Maintain the Rust compiler toolchain and nixpkgs integration."; + shortName = "Rust"; + enableFeatureFreezePing = true; }; sage = { @@ -275,6 +563,7 @@ with lib.maintainers; { collares ]; scope = "Maintain SageMath and the dependencies that are likely to break it."; + shortName = "SageMath"; }; sphinx = { @@ -282,6 +571,7 @@ with lib.maintainers; { SuperSandro2000 ]; scope = "Maintain Sphinx related packages."; + shortName = "Sphinx"; }; serokell = { @@ -291,6 +581,26 @@ with lib.maintainers; { mkaito ]; scope = "Group registration for Serokell employees who collectively maintain packages."; + shortName = "Serokell employees"; + }; + + systemd = { + members = [ ]; + githubTeams = [ + "systemd" + ]; + scope = "Maintain systemd for NixOS."; + shortName = "systemd"; + enableFeatureFreezePing = true; + }; + + tests = { + members = [ + tfc + ]; + scope = "Maintain the NixOS VM test runner."; + shortName = "NixOS tests"; + enableFeatureFreezePing = true; }; tts = { @@ -299,6 +609,18 @@ with lib.maintainers; { mic92 ]; scope = "coqui-ai TTS (formerly Mozilla TTS) and leaf packages"; + shortName = "coqui-ai TTS"; + }; + + vim = { + members = [ + jonringer + softinio + teto + ]; + scope = "Maintain the vim and neovim text editors and related packages."; + shortName = "Vim/Neovim"; + enableFeatureFreezePing = true; }; xfce = { @@ -306,5 +628,6 @@ with lib.maintainers; { romildo ]; scope = "Maintain Xfce desktop environment and related packages."; + shortName = "Xfce"; }; } From a7cf1dfd8b41e5331102d906bf498e86d9110ff6 Mon Sep 17 00:00:00 2001 From: Terje Larsen Date: Wed, 30 Mar 2022 10:51:50 +0200 Subject: [PATCH 027/203] python310Packages.jsonconversion: init at 0.2.13 --- .../python-modules/jsonconversion/default.nix | 26 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 2 ++ 2 files changed, 28 insertions(+) create mode 100644 pkgs/development/python-modules/jsonconversion/default.nix diff --git a/pkgs/development/python-modules/jsonconversion/default.nix b/pkgs/development/python-modules/jsonconversion/default.nix new file mode 100644 index 000000000000..22f7fe4625d1 --- /dev/null +++ b/pkgs/development/python-modules/jsonconversion/default.nix @@ -0,0 +1,26 @@ +{ lib, buildPythonPackage, fetchPypi, pytestCheckHook, numpy }: + +buildPythonPackage rec { + pname = "jsonconversion"; + version = "0.2.13"; + + src = fetchPypi { + inherit pname version; + sha256 = "sha256-4hMY0N/Px+g5zn3YzNfDWPyi8Pglvd/c2N9SeC4JoZ0="; + }; + + postPatch = '' + substituteInPlace setup.py --replace "'pytest-runner'" "" + ''; + + checkInputs = [ pytestCheckHook numpy ]; + + pythonImportsCheck = [ "jsonconversion" ]; + + meta = with lib; { + description = "This python module helps converting arbitrary Python objects into JSON strings and back"; + homepage = "https://pypi.org/project/jsonconversion/"; + license = licenses.bsd2; + maintainers = [ maintainers.terlar ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index b3bb64ad8f29..379d9938e865 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -4296,6 +4296,8 @@ in { json5 = callPackage ../development/python-modules/json5 { }; + jsonconversion = callPackage ../development/python-modules/jsonconversion { }; + jsondate = callPackage ../development/python-modules/jsondate { }; jsondiff = callPackage ../development/python-modules/jsondiff { }; From 98a276576885a920310d877305901eaba1a79b00 Mon Sep 17 00:00:00 2001 From: Terje Larsen Date: Wed, 30 Mar 2022 10:53:45 +0200 Subject: [PATCH 028/203] python310Packages.amazon-ion: init at 0.8.0 --- .../python-modules/amazon-ion/default.nix | 29 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 2 ++ 2 files changed, 31 insertions(+) create mode 100644 pkgs/development/python-modules/amazon-ion/default.nix diff --git a/pkgs/development/python-modules/amazon-ion/default.nix b/pkgs/development/python-modules/amazon-ion/default.nix new file mode 100644 index 000000000000..016fa989a8ab --- /dev/null +++ b/pkgs/development/python-modules/amazon-ion/default.nix @@ -0,0 +1,29 @@ +{ lib, buildPythonPackage, fetchPypi, jsonconversion, six, pytestCheckHook }: + +buildPythonPackage rec { + pname = "amazon-ion"; + version = "0.8.0"; + + src = fetchPypi { + pname = "amazon.ion"; + inherit version; + sha256 = "sha256-vtztUHSnGoPYozhwvigxEdieVtbKNfV4B5yZ4MHaWGw="; + }; + + postPatch = '' + substituteInPlace setup.py --replace "'pytest-runner'," "" + ''; + + propagatedBuildInputs = [ jsonconversion six ]; + + checkInputs = [ pytestCheckHook ]; + + pythonImportsCheck = [ "amazon.ion" ]; + + meta = with lib; { + description = "A Python implementation of Amazon Ion"; + homepage = "https://github.com/amzn/ion-python"; + license = licenses.asl20; + maintainers = [ maintainers.terlar ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 379d9938e865..70d177fbe8d0 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -470,6 +470,8 @@ in { altair = callPackage ../development/python-modules/altair { }; + amazon-ion = callPackage ../development/python-modules/amazon-ion { }; + amazon_kclpy = callPackage ../development/python-modules/amazon_kclpy { }; ambee = callPackage ../development/python-modules/ambee { }; From eb5409461a41f5e3d78997d870f38a6329bb8044 Mon Sep 17 00:00:00 2001 From: Doron Behar Date: Wed, 30 Mar 2022 12:08:06 +0300 Subject: [PATCH 029/203] neovim: Explain more why tests are disabled --- pkgs/applications/editors/neovim/default.nix | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/pkgs/applications/editors/neovim/default.nix b/pkgs/applications/editors/neovim/default.nix index ef0b075c4d16..e06096933c97 100644 --- a/pkgs/applications/editors/neovim/default.nix +++ b/pkgs/applications/editors/neovim/default.nix @@ -5,7 +5,8 @@ , tree-sitter , glibcLocales ? null, procps ? null -# now defaults to false because some tests can be flaky (clipboard etc) +# now defaults to false because some tests can be flaky (clipboard etc), see +# also: https://github.com/neovim/neovim/issues/16233 , doCheck ? false , nodejs ? null, fish ? null, python3 ? null }: From 7e7624c0dbda982194650a1d55c3d8dde6ef1b59 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 30 Mar 2022 09:43:19 +0000 Subject: [PATCH 030/203] python310Packages.azure-mgmt-media: 8.0.0 -> 9.0.0 --- pkgs/development/python-modules/azure-mgmt-media/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/azure-mgmt-media/default.nix b/pkgs/development/python-modules/azure-mgmt-media/default.nix index e0dd1af1ad0f..435f88e130aa 100644 --- a/pkgs/development/python-modules/azure-mgmt-media/default.nix +++ b/pkgs/development/python-modules/azure-mgmt-media/default.nix @@ -11,12 +11,12 @@ buildPythonPackage rec { pname = "azure-mgmt-media"; - version = "8.0.0"; + version = "9.0.0"; src = fetchPypi { inherit pname version; extension = "zip"; - sha256 = "c08e687c0afa061a3e05acaf29ce81e737480d592b07e0de5f77e9a7f9f00c00"; + sha256 = "sha256-TI7l8sSQ2QUgPqiE3Cu/F67Wna+KHbQS3fuIjOb95ZM="; }; propagatedBuildInputs = [ From ba1184b1153b0cadac5f03a679b746a61b479b9c Mon Sep 17 00:00:00 2001 From: Bobby Rong Date: Wed, 30 Mar 2022 17:50:14 +0800 Subject: [PATCH 031/203] chatty: fix build with meson 0.61 --- .../networking/instant-messengers/chatty/default.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pkgs/applications/networking/instant-messengers/chatty/default.nix b/pkgs/applications/networking/instant-messengers/chatty/default.nix index 97282c76d04c..34b525a98a61 100644 --- a/pkgs/applications/networking/instant-messengers/chatty/default.nix +++ b/pkgs/applications/networking/instant-messengers/chatty/default.nix @@ -3,6 +3,7 @@ , fetchFromGitLab , appstream-glib , desktop-file-utils +, itstool , meson , ninja , pkg-config @@ -46,6 +47,7 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ appstream-glib desktop-file-utils + itstool meson ninja pkg-config From 739e7ceeff37bcd5a4b548e4e944a8b95a8c0d0c Mon Sep 17 00:00:00 2001 From: Bobby Rong Date: Wed, 30 Mar 2022 19:17:17 +0800 Subject: [PATCH 032/203] icon-library: fix build with meson 0.61 --- pkgs/applications/graphics/icon-library/default.nix | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/pkgs/applications/graphics/icon-library/default.nix b/pkgs/applications/graphics/icon-library/default.nix index 4dd97d92217d..791a7469a025 100644 --- a/pkgs/applications/graphics/icon-library/default.nix +++ b/pkgs/applications/graphics/icon-library/default.nix @@ -1,4 +1,4 @@ -{ lib, stdenv, fetchurl, wrapGAppsHook +{ lib, stdenv, fetchurl, fetchpatch, wrapGAppsHook , cargo, desktop-file-utils, meson, ninja, pkg-config, rustc , gdk-pixbuf, glib, gtk4, gtksourceview5, libadwaita }: @@ -12,6 +12,16 @@ stdenv.mkDerivation rec { sha256 = "1zrcnc5dn5fgcl3vklfpbp3m0qzi2n2viw59vw5fhwkysvp670y7"; }; + patches = [ + # Fix build with meson 0.61 + # data/meson.build:85:0: ERROR: gnome.compile_resources takes exactly 2 arguments, but got 3. + # https://gitlab.gnome.org/World/design/icon-library/-/merge_requests/54 + (fetchpatch { + url = "https://gitlab.gnome.org/World/design/icon-library/-/commit/c629dbf6670f9bb0b98ff21c17110489b58f5c85.patch"; + sha256 = "UKC1CPaM58/z0zINN794luWZdoFx1zGxETPb8VtbO3E="; + }) + ]; + nativeBuildInputs = [ cargo desktop-file-utils meson ninja pkg-config rustc wrapGAppsHook ]; From 16608a048ec426205becb4e3e087cb8f2f21cbae Mon Sep 17 00:00:00 2001 From: Bobby Rong Date: Wed, 30 Mar 2022 19:18:32 +0800 Subject: [PATCH 033/203] icon-library: use wrapGAppsHook4 This is a GTK4 application. --- pkgs/applications/graphics/icon-library/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/graphics/icon-library/default.nix b/pkgs/applications/graphics/icon-library/default.nix index 791a7469a025..4f16a0d6e2d8 100644 --- a/pkgs/applications/graphics/icon-library/default.nix +++ b/pkgs/applications/graphics/icon-library/default.nix @@ -1,4 +1,4 @@ -{ lib, stdenv, fetchurl, fetchpatch, wrapGAppsHook +{ lib, stdenv, fetchurl, fetchpatch, wrapGAppsHook4 , cargo, desktop-file-utils, meson, ninja, pkg-config, rustc , gdk-pixbuf, glib, gtk4, gtksourceview5, libadwaita }: @@ -23,7 +23,7 @@ stdenv.mkDerivation rec { ]; nativeBuildInputs = [ - cargo desktop-file-utils meson ninja pkg-config rustc wrapGAppsHook + cargo desktop-file-utils meson ninja pkg-config rustc wrapGAppsHook4 ]; buildInputs = [ gdk-pixbuf glib gtk4 gtksourceview5 libadwaita ]; From 6e6558711ffe0f41b58e68518e4deb3c39d464eb Mon Sep 17 00:00:00 2001 From: Cole Helbling Date: Tue, 29 Mar 2022 16:08:17 -0700 Subject: [PATCH 034/203] nixos/_1password-gui: cleanup * Change groupId to gid to align with the rest of NixOS modules * Add a check to the gid option to ensure it is greater than or equal to 1000 * Use the overridden package for the wrappers --- nixos/modules/programs/_1password-gui.nix | 63 +++++++++++------------ 1 file changed, 31 insertions(+), 32 deletions(-) diff --git a/nixos/modules/programs/_1password-gui.nix b/nixos/modules/programs/_1password-gui.nix index f57de44bb9e2..42f6a0b52252 100644 --- a/nixos/modules/programs/_1password-gui.nix +++ b/nixos/modules/programs/_1password-gui.nix @@ -3,67 +3,66 @@ with lib; let + cfg = config.programs._1password-gui; -in { +in +{ options = { programs._1password-gui = { - enable = mkEnableOption "The 1Password Desktop application with browser integration"; + enable = mkEnableOption "the 1Password GUI application"; - groupId = mkOption { - type = types.int; + gid = mkOption { + type = types.addCheck types.int (x: x >= 1000); example = literalExpression "5000"; description = '' - The GroupID to assign to the onepassword group, which is needed for browser integration. The group ID must be 1000 or greater. - ''; + The gid to assign to the onepassword group, which is needed for browser integration. + It must be 1000 or greater. + ''; }; polkitPolicyOwners = mkOption { type = types.listOf types.str; - default = []; - example = literalExpression "[\"user1\" \"user2\" \"user3\"]"; + default = [ ]; + example = literalExpression ''["user1" "user2" "user3"]''; description = '' - A list of users who should be able to integrate 1Password with polkit-based authentication mechanisms. By default, no users will have such access. - ''; + A list of users who should be able to integrate 1Password with polkit-based authentication mechanisms. + ''; }; - package = mkOption { - type = types.package; - default = pkgs._1password-gui; - defaultText = literalExpression "pkgs._1password-gui"; - example = literalExpression "pkgs._1password-gui"; - description = '' - The 1Password derivation to use. This can be used to upgrade from the stable release that we keep in nixpkgs to the betas. - ''; + package = mkPackageOption pkgs "1Password GUI" { + default = [ "_1password-gui" ]; }; }; }; - config = let - package = cfg.package.override { - polkitPolicyOwners = cfg.polkitPolicyOwners; - }; - in mkIf cfg.enable { - environment.systemPackages = [ package ]; - users.groups.onepassword.gid = cfg.groupId; + config = + let + package = cfg.package.override { + polkitPolicyOwners = cfg.polkitPolicyOwners; + }; + in + mkIf cfg.enable { + environment.systemPackages = [ package ]; + users.groups.onepassword.gid = cfg.gid; - security.wrappers = { - "1Password-BrowserSupport" = - { source = "${cfg.package}/share/1password/1Password-BrowserSupport"; + security.wrappers = { + "1Password-BrowserSupport" = { + source = "${package}/share/1password/1Password-BrowserSupport"; owner = "root"; group = "onepassword"; setuid = false; setgid = true; }; - "1Password-KeyringHelper" = - { source = "${cfg.package}/share/1password/1Password-KeyringHelper"; + "1Password-KeyringHelper" = { + source = "${package}/share/1password/1Password-KeyringHelper"; owner = "root"; group = "onepassword"; setuid = true; setgid = true; }; - }; + }; - }; + }; } From cdd202757d01afc5a03283d60f56294ce394b967 Mon Sep 17 00:00:00 2001 From: Cole Helbling Date: Tue, 29 Mar 2022 16:11:13 -0700 Subject: [PATCH 035/203] nixos/_1password: cleanup * Change groupId to gid to align with the rest of NixOS modules * Add a check to the gid option to ensure it is greater than or equal to 1000 --- nixos/modules/programs/_1password.nix | 26 ++++++++++++-------------- 1 file changed, 12 insertions(+), 14 deletions(-) diff --git a/nixos/modules/programs/_1password.nix b/nixos/modules/programs/_1password.nix index eae518e61ca7..547c12867a91 100644 --- a/nixos/modules/programs/_1password.nix +++ b/nixos/modules/programs/_1password.nix @@ -3,35 +3,33 @@ with lib; let + cfg = config.programs._1password; -in { + +in +{ options = { programs._1password = { - enable = mkEnableOption "The 1Password CLI tool with biometric unlock and integration with the 1Password GUI."; + enable = mkEnableOption "the 1Password CLI tool"; - groupId = mkOption { - type = types.int; + gid = mkOption { + type = types.addCheck types.int (x: x >= 1000); example = literalExpression "5001"; description = '' - The GroupID to assign to the onepassword-cli group, which is needed for integration with the 1Password GUI. The group ID must be 1000 or greater. + The gid to assign to the onepassword-cli group, which is needed for integration with the 1Password GUI. + It must be 1000 or greater. ''; }; - package = mkOption { - type = types.package; - default = pkgs._1password; - defaultText = literalExpression "pkgs._1password"; - example = literalExpression "pkgs._1password"; - description = '' - The 1Password CLI derivation to use. - ''; + package = mkPackageOption pkgs "1Password CLI" { + default = [ "_1password" ]; }; }; }; config = mkIf cfg.enable { environment.systemPackages = [ cfg.package ]; - users.groups.onepassword-cli.gid = cfg.groupId; + users.groups.onepassword-cli.gid = cfg.gid; security.wrappers = { "op" = { From 04283b5b08fdbbe92a086010bf279931256eb59d Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 30 Mar 2022 20:28:33 +0000 Subject: [PATCH 036/203] pluto: 5.6.0 -> 5.7.0 --- pkgs/applications/networking/cluster/pluto/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/applications/networking/cluster/pluto/default.nix b/pkgs/applications/networking/cluster/pluto/default.nix index 1fa4dc161952..4297ec62376d 100644 --- a/pkgs/applications/networking/cluster/pluto/default.nix +++ b/pkgs/applications/networking/cluster/pluto/default.nix @@ -2,16 +2,16 @@ buildGoModule rec { pname = "pluto"; - version = "5.6.0"; + version = "5.7.0"; src = fetchFromGitHub { owner = "FairwindsOps"; repo = "pluto"; rev = "v${version}"; - sha256 = "0nr8h8vg8ifgibgw80rs4mk63bj3qhmd37lfjc89iyml4g6p9mwr"; + sha256 = "sha256-/H8/wpDqlo96qb6QBIxpIGMv6VtK/nn/GwozIJjZyNY="; }; - vendorSha256 = "08x5mzypg66s54apkd7hhj6bi5pgbch9if2dbr58ksd3arkji2pv"; + vendorSha256 = "sha256-jPVlHyKZ1ygF08OypXOMzHBfb2z5mhg5B8zJmAcQbLk="; ldflags = [ "-w" "-s" From 2db8ed632e635591a1ba4d1c7f908adacd8c925a Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Wed, 30 Mar 2022 22:53:40 +0200 Subject: [PATCH 037/203] python3Packages.voluptuous: 0.12.2 -> 0.13.0 --- pkgs/development/python-modules/voluptuous/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/voluptuous/default.nix b/pkgs/development/python-modules/voluptuous/default.nix index cc9d772eda17..d2e221d6e390 100644 --- a/pkgs/development/python-modules/voluptuous/default.nix +++ b/pkgs/development/python-modules/voluptuous/default.nix @@ -6,11 +6,11 @@ buildPythonPackage rec { pname = "voluptuous"; - version = "0.12.2"; + version = "0.13.0"; src = fetchPypi { inherit pname version; - sha256 = "sha256-TbGsUHnbkkmCDUnIkctGYKb4yuNQSRIQq850H6v1ZRM="; + sha256 = "sha256-yuakUmtDS2QoFrNKAOEYbVpfXgyUirlNKpGOAeWHQGY="; }; checkInputs = [ From e178e2c3c6ef21a48397c62866e643eed7116660 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Wed, 30 Mar 2022 23:11:50 +0200 Subject: [PATCH 038/203] python3Packages.simplisafe-python: 2022.03.0 -> 2022.03.1 --- pkgs/development/python-modules/simplisafe-python/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/simplisafe-python/default.nix b/pkgs/development/python-modules/simplisafe-python/default.nix index 1c2c206f87f0..6864c23d9c4f 100644 --- a/pkgs/development/python-modules/simplisafe-python/default.nix +++ b/pkgs/development/python-modules/simplisafe-python/default.nix @@ -19,7 +19,7 @@ buildPythonPackage rec { pname = "simplisafe-python"; - version = "2022.03.0"; + version = "2022.03.1"; format = "pyproject"; disabled = pythonOlder "3.8"; @@ -28,7 +28,7 @@ buildPythonPackage rec { owner = "bachya"; repo = pname; rev = version; - sha256 = "sha256-B4Tg122S2lJaBXBKUSN2ndt5EOiC5HyORTQXofZKUpw="; + sha256 = "sha256-VrCVZeE4CDPt6RfckTUC9UJnoxHVeoNAxD67OefSa2o="; }; nativeBuildInputs = [ From b77e451b4afea2d6850bc533b2ff55ebf476230c Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Wed, 30 Mar 2022 23:12:12 +0200 Subject: [PATCH 039/203] python3Packages.aioguardian: 2021.11.0 -> 2022.03.0 --- pkgs/development/python-modules/aioguardian/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/aioguardian/default.nix b/pkgs/development/python-modules/aioguardian/default.nix index 439035229a76..8abf19e2713a 100644 --- a/pkgs/development/python-modules/aioguardian/default.nix +++ b/pkgs/development/python-modules/aioguardian/default.nix @@ -15,13 +15,13 @@ buildPythonPackage rec { pname = "aioguardian"; - version = "2021.11.0"; + version = "2022.03.0"; src = fetchFromGitHub { owner = "bachya"; repo = pname; rev = version; - sha256 = "sha256-jQIRACm0d0a5mQqlwxSTgLZfJFvGLWuJTb/MacppmS4="; + sha256 = "sha256-Dgmef+4KteMMIBqoM+KCosh0yTgaqGHHyO1LguwoDfQ="; }; format = "pyproject"; From a2a65327ab08dc3ef81d493359265aad28f09689 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Wed, 30 Mar 2022 23:12:40 +0200 Subject: [PATCH 040/203] python3Packages.python-awair: 0.2.2 -> 0.2.3 --- pkgs/development/python-modules/python-awair/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/python-awair/default.nix b/pkgs/development/python-modules/python-awair/default.nix index b676a7a3de98..913d91c0901c 100644 --- a/pkgs/development/python-modules/python-awair/default.nix +++ b/pkgs/development/python-modules/python-awair/default.nix @@ -12,7 +12,7 @@ buildPythonPackage rec { pname = "python-awair"; - version = "0.2.2"; + version = "0.2.3"; format = "pyproject"; disabled = pythonOlder "3.6"; @@ -20,7 +20,7 @@ buildPythonPackage rec { owner = "ahayworth"; repo = "python_awair"; rev = version; - sha256 = "sha256-5+s1aSvt+rXyumvf/qZ58Uvmq0p45mu23Djbwgih3qI="; + sha256 = "sha256-Roqmwamv/2/O87jfyymCGgRlw/woUhCNIuM9MLT3+Cw="; }; nativeBuildInputs = [ poetry-core ]; From 9781be53a236519622962d2c5c5f9dcb08ebee6c Mon Sep 17 00:00:00 2001 From: genofire Date: Wed, 30 Mar 2022 23:41:14 +0200 Subject: [PATCH 041/203] gnomeExtensions.pop-shell: unstable-2022-01-14 -> unstable-2022-03-25 --- pkgs/desktops/gnome/extensions/pop-shell/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/desktops/gnome/extensions/pop-shell/default.nix b/pkgs/desktops/gnome/extensions/pop-shell/default.nix index e4f8dfa03cd6..0c3829b02382 100644 --- a/pkgs/desktops/gnome/extensions/pop-shell/default.nix +++ b/pkgs/desktops/gnome/extensions/pop-shell/default.nix @@ -2,13 +2,13 @@ stdenv.mkDerivation rec { pname = "gnome-shell-extension-pop-shell"; - version = "unstable-2022-01-14"; + version = "unstable-2022-03-25"; src = fetchFromGitHub { owner = "pop-os"; repo = "shell"; - rev = "21745c4a8076ad52c9ccc77ca5726f5c7b83de6c"; - sha256 = "sha256-d6NRNbTimwtGVLhcpdFD1AuignVii/xi3YtMWzkS/v0="; + rev = "a317816d02dd2cb20d31aeca81bf09eccc63e370"; + hash = "sha256-uxoeCv25ew5+NkTpsKjQqDFrqw6ZA/+iYhyCHoCb6jM="; }; nativeBuildInputs = [ glib nodePackages.typescript gjs ]; From 4e2a9675660d3093c0f69658b97f9dd1966eb03b Mon Sep 17 00:00:00 2001 From: Terje Larsen Date: Wed, 30 Mar 2022 10:54:59 +0200 Subject: [PATCH 042/203] python310Packages.ionhash: init at 1.2.1 --- .../python-modules/ionhash/default.nix | 38 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 2 + 2 files changed, 40 insertions(+) create mode 100644 pkgs/development/python-modules/ionhash/default.nix diff --git a/pkgs/development/python-modules/ionhash/default.nix b/pkgs/development/python-modules/ionhash/default.nix new file mode 100644 index 000000000000..4d90d572876c --- /dev/null +++ b/pkgs/development/python-modules/ionhash/default.nix @@ -0,0 +1,38 @@ +{ lib, buildPythonPackage, fetchFromGitHub, fetchpatch, amazon-ion, six, pytestCheckHook }: + +buildPythonPackage rec { + pname = "ionhash"; + version = "1.2.1"; + + src = fetchFromGitHub { + owner = "amzn"; + repo = "ion-hash-python"; + rev = "v${version}"; + sha256 = "sha256-mXOLKXauWwwIA/LnF4qyZsBiF/QM+rF9MmE2ewmozYo="; + fetchSubmodules = true; + }; + + patches = [ + (fetchpatch { + url = "https://github.com/amzn/ion-hash-python/commit/5cab56d694ecc176e394bb455c2d726ba1514ce0.patch"; + sha256 = "sha256-P5QByNafgxI//e3m+b0oG00+rVymCsT/J4dOZSk3354="; + }) + ]; + + postPatch = '' + substituteInPlace setup.py --replace "'pytest-runner'," "" + ''; + + propagatedBuildInputs = [ amazon-ion six ]; + + checkInputs = [ pytestCheckHook ]; + + pythonImportsCheck = [ "ionhash" ]; + + meta = with lib; { + description = "Python implementation of Amazon Ion Hash"; + homepage = "https://github.com/amzn/ion-hash-python"; + license = licenses.asl20; + maintainers = [ maintainers.terlar ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 70d177fbe8d0..4c66f942609a 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -4090,6 +4090,8 @@ in { iocapture = callPackage ../development/python-modules/iocapture { }; + ionhash = callPackage ../development/python-modules/ionhash { }; + iotawattpy = callPackage ../development/python-modules/iotawattpy { }; iowait = callPackage ../development/python-modules/iowait { }; From 441eaf829267d1512835c27c36f4d7f2ef3510ac Mon Sep 17 00:00:00 2001 From: Terje Larsen Date: Wed, 30 Mar 2022 12:18:25 +0200 Subject: [PATCH 043/203] python310Packages.pyqldb: init at 3.2.2 --- .../python-modules/pyqldb/default.nix | 32 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 2 ++ 2 files changed, 34 insertions(+) create mode 100644 pkgs/development/python-modules/pyqldb/default.nix diff --git a/pkgs/development/python-modules/pyqldb/default.nix b/pkgs/development/python-modules/pyqldb/default.nix new file mode 100644 index 000000000000..a6fd8665fd14 --- /dev/null +++ b/pkgs/development/python-modules/pyqldb/default.nix @@ -0,0 +1,32 @@ +{ lib, buildPythonPackage, fetchFromGitHub, boto3, amazon-ion, ionhash, pytestCheckHook }: + +buildPythonPackage rec { + pname = "pyqldb"; + version = "3.2.2"; + + src = fetchFromGitHub { + owner = "awslabs"; + repo = "amazon-qldb-driver-python"; + rev = "v${version}"; + sha256 = "sha256-TKf43+k428h8T6ye6mJrnK9D4J1xpIu0QacM7lWJF7w="; + }; + + propagatedBuildInputs = [ boto3 amazon-ion ionhash ]; + + checkInputs = [ pytestCheckHook ]; + + preCheck = '' + export AWS_DEFAULT_REGION=us-east-1 + ''; + + pytestFlagsArray = [ "tests/unit" ]; + + pythonImportsCheck = [ "pyqldb" ]; + + meta = with lib; { + description = "Python driver for Amazon QLDB"; + homepage = "https://github.com/awslabs/amazon-qldb-driver-python"; + license = licenses.asl20; + maintainers = [ maintainers.terlar ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 4c66f942609a..751704f72787 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -7480,6 +7480,8 @@ in { pypytools = callPackage ../development/python-modules/pypytools { }; + pyqldb = callPackage ../development/python-modules/pyqldb { }; + pyqrcode = callPackage ../development/python-modules/pyqrcode { }; pyqt-builder = callPackage ../development/python-modules/pyqt-builder { }; From 4f95cb004fca72d528cea5f58f84cde78291f238 Mon Sep 17 00:00:00 2001 From: superherointj <5861043+superherointj@users.noreply.github.com> Date: Wed, 30 Mar 2022 20:02:07 -0300 Subject: [PATCH 044/203] fluxcd: 0.28.4 -> 0.28.5 --- pkgs/applications/networking/cluster/fluxcd/default.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/applications/networking/cluster/fluxcd/default.nix b/pkgs/applications/networking/cluster/fluxcd/default.nix index ff686314f0c4..0e9630a23d53 100644 --- a/pkgs/applications/networking/cluster/fluxcd/default.nix +++ b/pkgs/applications/networking/cluster/fluxcd/default.nix @@ -1,9 +1,9 @@ { lib, buildGoModule, fetchFromGitHub, fetchzip, installShellFiles }: let - version = "0.28.4"; - sha256 = "1b98hna3qhg7gzs5rqpkrxdvas7zjzavzmi9rzn9936rw88lpgx6"; - manifestsSha256 = "0k8hpkcnxw2w1pvdkvvmmqzrmsrrbij5f734iwh4n9fd326bqgwc"; + version = "0.28.5"; + sha256 = "11k8sb8pjhrg8ar256rfdw736cg32m6n8xcfhyqc3r4pkj3ksli8"; + manifestsSha256 = "1gjya8xcmx065ywx7bc2xdsp3qj2y47b7l1dlr4y0hzp19pclmcw"; manifests = fetchzip { url = @@ -23,7 +23,7 @@ in buildGoModule rec { inherit sha256; }; - vendorSha256 = "sha256-IL9RjmMQahFZ04FXKxH6L2PHsOM1MJnqCJorRdr49FY="; + vendorSha256 = "sha256-kxI2sOaY66XLIRMT1l3VLQh1XR4nvvsYvsdZbVLxbHM="; postUnpack = '' cp -r ${manifests} source/cmd/flux/manifests From a7bcc9a8718f5ffe8786e16f7f96523a34d4984c Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 30 Mar 2022 23:19:48 +0000 Subject: [PATCH 045/203] podman-tui: 0.2.0 -> 0.3.0 --- pkgs/applications/virtualization/podman-tui/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/virtualization/podman-tui/default.nix b/pkgs/applications/virtualization/podman-tui/default.nix index 7a8ed6fed284..17272acd86eb 100644 --- a/pkgs/applications/virtualization/podman-tui/default.nix +++ b/pkgs/applications/virtualization/podman-tui/default.nix @@ -11,13 +11,13 @@ }: buildGoModule rec { pname = "podman-tui"; - version = "0.2.0"; + version = "0.3.0"; src = fetchFromGitHub { owner = "containers"; repo = "podman-tui"; rev = "v${version}"; - sha256 = "sha256-y5bFr31CQ4JES6tjvThyy7qmoKFC59uwtDMG5r+r8K4="; + sha256 = "sha256-1WbDmnKyFosp4Kz9QINr3lOR/wD0UW2QZf7nAAaoClM="; }; vendorSha256 = null; From 78a6f5079e971812492c18b13283e421f4aa9e6e Mon Sep 17 00:00:00 2001 From: nixpkgs-upkeep-bot Date: Thu, 31 Mar 2022 00:09:46 +0000 Subject: [PATCH 046/203] vscode: 1.65.2 -> 1.66.0 --- pkgs/applications/editors/vscode/vscode.nix | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/pkgs/applications/editors/vscode/vscode.nix b/pkgs/applications/editors/vscode/vscode.nix index 370647de1fcf..a9ab7e8e55de 100644 --- a/pkgs/applications/editors/vscode/vscode.nix +++ b/pkgs/applications/editors/vscode/vscode.nix @@ -14,17 +14,17 @@ let archive_fmt = if stdenv.isDarwin then "zip" else "tar.gz"; sha256 = { - x86_64-linux = "0x8vc6gj83mn767wi285k0hxhlh5gh1lcvq63na89vglja4ipna4"; - x86_64-darwin = "1x47xfq0fgd10wq6aa8gq55aqrl1ir1f6v1mm6324yny16pf20k2"; - aarch64-linux = "1ibg2qvpnwfwwzgby2xva9xz138b13x9q8vf1xf6plazv0arla1l"; - aarch64-darwin = "100834mqix7b46frlqf0jz4qs673lavxm8sizfjm7c9y0xxy4ld3"; - armv7l-linux = "100yfkzvnjccp1g3p353jr2vicvkjc0skiwmmzgad6i8j1m9js62"; + x86_64-linux = "077a847p8l2yk3dpn8qqwjdch5nqm8a7fxlnwg5xzx892lr6l4ax"; + x86_64-darwin = "03gbrnkzks4if3mkpwn4yjajj3z9cax0jskhw8pz5n1mibv4kg4p"; + aarch64-linux = "0xqpc69m5jmm6dyvhlc20bpbr2czmi0pn00jxpf5md8fqxmbvj90"; + aarch64-darwin = "1zd2s841xpq5fk6bkrbqbzbcyladpp8sp7wx2spkzj1gmbjfzw4a"; + armv7l-linux = "1swbg3zklixyk3cf0nh0xcwszm9rrvw1caqzmb80lc3c7qx9qx1s"; }.${system}; in callPackage ./generic.nix rec { # Please backport all compatible updates to the stable release. # This is important for the extension ecosystem. - version = "1.65.2"; + version = "1.66.0"; pname = "vscode"; executableName = "code" + lib.optionalString isInsiders "-insiders"; From 0ca49888890cd1aec6f0d1888d6b7c46b6078436 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 31 Mar 2022 02:57:38 +0000 Subject: [PATCH 047/203] python310Packages.dropbox: 11.28.0 -> 11.29.0 --- pkgs/development/python-modules/dropbox/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/dropbox/default.nix b/pkgs/development/python-modules/dropbox/default.nix index 2e2490568e9d..f18f6203d1e0 100644 --- a/pkgs/development/python-modules/dropbox/default.nix +++ b/pkgs/development/python-modules/dropbox/default.nix @@ -11,7 +11,7 @@ buildPythonPackage rec { pname = "dropbox"; - version = "11.28.0"; + version = "11.29.0"; format = "setuptools"; disabled = pythonOlder "3.7"; @@ -20,7 +20,7 @@ buildPythonPackage rec { owner = "dropbox"; repo = "dropbox-sdk-python"; rev = "v${version}"; - sha256 = "sha256-xNenBmeCRIYxQqAkV8IDpPpIHyVAYJs1jAFr8w1tz2Y="; + sha256 = "sha256-TKJb34hJYzZtQcqgopLpN8c1utWCNjmev9epY+hYU7M="; }; propagatedBuildInputs = [ From 5b099769b07fc1a8552036a9ebfceeb1945b55c0 Mon Sep 17 00:00:00 2001 From: Bobby Rong Date: Thu, 31 Mar 2022 04:03:17 +0000 Subject: [PATCH 048/203] =?UTF-8?q?gnome-online-accounts:=203.43.1=20?= =?UTF-8?q?=E2=86=92=203.44.0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit https://gitlab.gnome.org/GNOME/gnome-online-accounts/-/compare/3.43.1...3.44.0 --- pkgs/development/libraries/gnome-online-accounts/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/gnome-online-accounts/default.nix b/pkgs/development/libraries/gnome-online-accounts/default.nix index f58e87b2f7e6..1fed0b470691 100644 --- a/pkgs/development/libraries/gnome-online-accounts/default.nix +++ b/pkgs/development/libraries/gnome-online-accounts/default.nix @@ -30,7 +30,7 @@ stdenv.mkDerivation rec { pname = "gnome-online-accounts"; - version = "3.43.1"; + version = "3.44.0"; # https://gitlab.gnome.org/GNOME/gnome-online-accounts/issues/87 src = fetchFromGitLab { @@ -38,7 +38,7 @@ stdenv.mkDerivation rec { owner = "GNOME"; repo = "gnome-online-accounts"; rev = version; - sha256 = "sha256-Dpq5bQwU0ZAxmEllpbLnS1Jz3F0rxtFMKZcIvAteObU="; + sha256 = "sha256-8dp3cizyQVHegDxX9G6iGLW5g44audn431hCPMS/KlA="; }; outputs = [ "out" "man" "dev" "devdoc" ]; From e50bc2f36d51cee83f4b4fde708d854e9ba40254 Mon Sep 17 00:00:00 2001 From: Jade Date: Thu, 31 Mar 2022 00:21:21 -0400 Subject: [PATCH 049/203] nixos/nix-gc, nixos/auto-upgrade: Minor documentation fixes. The gc documentation had some artifacts (presumably being copied from autoupgrade) and the autoupgrade docs had a typo --- nixos/modules/services/misc/nix-gc.nix | 2 +- nixos/modules/tasks/auto-upgrade.nix | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/nixos/modules/services/misc/nix-gc.nix b/nixos/modules/services/misc/nix-gc.nix index b4b4b55a6c82..0fcb01601017 100644 --- a/nixos/modules/services/misc/nix-gc.nix +++ b/nixos/modules/services/misc/nix-gc.nix @@ -39,7 +39,7 @@ in type = types.str; example = "45min"; description = '' - Add a randomized delay before each automatic upgrade. + Add a randomized delay before each garbage collection. The delay will be chosen between zero and this value. This value must be a time span in the format specified by systemd.time diff --git a/nixos/modules/tasks/auto-upgrade.nix b/nixos/modules/tasks/auto-upgrade.nix index 1404dcbaf7c0..a5755d08d7de 100644 --- a/nixos/modules/tasks/auto-upgrade.nix +++ b/nixos/modules/tasks/auto-upgrade.nix @@ -90,7 +90,7 @@ in { example = "45min"; description = '' Add a randomized delay before each automatic upgrade. - The delay will be chozen between zero and this value. + The delay will be chosen between zero and this value. This value must be a time span in the format specified by systemd.time 7 From 1ce6c6025ff11c203d8923e95d5135d76d5cde5e Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 31 Mar 2022 04:46:47 +0000 Subject: [PATCH 050/203] python310Packages.qiskit-optimization: 0.3.1 -> 0.3.2 --- .../python-modules/qiskit-optimization/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/qiskit-optimization/default.nix b/pkgs/development/python-modules/qiskit-optimization/default.nix index d2b87d9cfeaf..edebad4db6f4 100644 --- a/pkgs/development/python-modules/qiskit-optimization/default.nix +++ b/pkgs/development/python-modules/qiskit-optimization/default.nix @@ -18,7 +18,7 @@ buildPythonPackage rec { pname = "qiskit-optimization"; - version = "0.3.1"; + version = "0.3.2"; disabled = pythonOlder "3.6"; @@ -26,7 +26,7 @@ buildPythonPackage rec { owner = "qiskit"; repo = pname; rev = version; - sha256 = "sha256-6oqhM5sEu0id0qYrhdVyx0xXUvwxBgZSPvrlAnmtY5A="; + sha256 = "sha256-SWrHNHZjynpWcwwrWzRPpbNWz8EhVujMoY8uIJQeT6U="; }; postPatch = '' From 007e031f53d9a9d8150deec61da433046aee5df4 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 31 Mar 2022 04:47:36 +0000 Subject: [PATCH 051/203] python310Packages.youtube-transcript-api: 0.4.3 -> 0.4.4 --- .../python-modules/youtube-transcript-api/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/youtube-transcript-api/default.nix b/pkgs/development/python-modules/youtube-transcript-api/default.nix index 088ee476e3f0..d30da92cf0f6 100644 --- a/pkgs/development/python-modules/youtube-transcript-api/default.nix +++ b/pkgs/development/python-modules/youtube-transcript-api/default.nix @@ -2,14 +2,14 @@ buildPythonPackage rec { pname = "youtube-transcript-api"; - version = "0.4.3"; + version = "0.4.4"; # PyPI tarball is missing some test files src = fetchFromGitHub { owner = "jdepoix"; repo = "youtube-transcript-api"; rev = "v${version}"; - sha256 = "1krak5j2faj6951cl13h7hg9i3kyp6nslcbi608k8hxlbd80hc5h"; + sha256 = "sha256-RNPWTgAOwS+tXGLQYyIyka36xS1E1499OAP84aT6m3A="; }; propagatedBuildInputs = [ requests ]; From f1cc8d7cf4cec200f466e518cf00edb934f0ce5b Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Thu, 31 Mar 2022 09:27:25 +0200 Subject: [PATCH 052/203] home-assistant: add override for voluptuous --- pkgs/servers/home-assistant/default.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/servers/home-assistant/default.nix b/pkgs/servers/home-assistant/default.nix index 0d9664a700e0..ce72bb0f8ed9 100644 --- a/pkgs/servers/home-assistant/default.nix +++ b/pkgs/servers/home-assistant/default.nix @@ -30,6 +30,7 @@ let defaultOverrides = [ # Override the version of some packages pinned in Home Assistant's setup.py and requirements_all.txt (mkOverride "python-slugify" "4.0.1" "sha256-aaUXdm4AwSaOW7/A0BCgqFCN4LGNMK1aH/NX+K5yQnA=") + (mkOverride "voluptuous" "0.12.2" "sha256-TbGsUHnbkkmCDUnIkctGYKb4yuNQSRIQq850H6v1ZRM=") # pytest-aiohttp>0.3.0 breaks home-assistant tests (self: super: { From 8586e4dd948777638876b732fc55a61c5b3669b7 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Thu, 31 Mar 2022 09:29:11 +0200 Subject: [PATCH 053/203] python3Packages.simplisafe-python: 2022.03.1 -> 2022.03.2 --- pkgs/development/python-modules/simplisafe-python/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/simplisafe-python/default.nix b/pkgs/development/python-modules/simplisafe-python/default.nix index 6864c23d9c4f..710a24f0ac04 100644 --- a/pkgs/development/python-modules/simplisafe-python/default.nix +++ b/pkgs/development/python-modules/simplisafe-python/default.nix @@ -19,7 +19,7 @@ buildPythonPackage rec { pname = "simplisafe-python"; - version = "2022.03.1"; + version = "2022.03.2"; format = "pyproject"; disabled = pythonOlder "3.8"; @@ -28,7 +28,7 @@ buildPythonPackage rec { owner = "bachya"; repo = pname; rev = version; - sha256 = "sha256-VrCVZeE4CDPt6RfckTUC9UJnoxHVeoNAxD67OefSa2o="; + sha256 = "sha256-WWpGRgmjOBCdsxESEpfZEigK7mfutromx6EEr/C/cO0="; }; nativeBuildInputs = [ From 0ae9d39d53fd5f97cd3cd2a887a55977f0f5faba Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Thu, 31 Mar 2022 09:36:17 +0200 Subject: [PATCH 054/203] python3Packages.aioguardian: 2022.03.0 -> 2022.03.1 --- pkgs/development/python-modules/aioguardian/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/aioguardian/default.nix b/pkgs/development/python-modules/aioguardian/default.nix index 8abf19e2713a..baf84ad89f42 100644 --- a/pkgs/development/python-modules/aioguardian/default.nix +++ b/pkgs/development/python-modules/aioguardian/default.nix @@ -15,13 +15,13 @@ buildPythonPackage rec { pname = "aioguardian"; - version = "2022.03.0"; + version = "2022.03.1"; src = fetchFromGitHub { owner = "bachya"; repo = pname; rev = version; - sha256 = "sha256-Dgmef+4KteMMIBqoM+KCosh0yTgaqGHHyO1LguwoDfQ="; + sha256 = "sha256-UiRTyUAoTcohRkTBF5Jvd/uY2zAbHV5z4HC8Oc0QNTs="; }; format = "pyproject"; From 1b2e23209f6dac776eae2164e59b51cc750dd310 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Thu, 31 Mar 2022 09:39:24 +0200 Subject: [PATCH 055/203] python3Packages.idasen: relax voluptuous constraint --- pkgs/development/python-modules/idasen/default.nix | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/idasen/default.nix b/pkgs/development/python-modules/idasen/default.nix index b0e9b7d57065..231f9e367698 100644 --- a/pkgs/development/python-modules/idasen/default.nix +++ b/pkgs/development/python-modules/idasen/default.nix @@ -21,7 +21,7 @@ buildPythonPackage rec { owner = "newAM"; repo = "idasen"; rev = "v${version}"; - sha256 = "sha256-s8CnYMUVl2VbGbVxICSaKH5DxTA+NP/zPX1z7vfMqi4="; + hash = "sha256-s8CnYMUVl2VbGbVxICSaKH5DxTA+NP/zPX1z7vfMqi4="; }; nativeBuildInputs = [ @@ -39,7 +39,14 @@ buildPythonPackage rec { pytest-asyncio ]; - pythonImportsCheck = [ "idasen" ]; + postPatch = '' + substituteInPlace pyproject.toml \ + --replace 'voluptuous = "^0.12"' 'voluptuous = "*"' + ''; + + pythonImportsCheck = [ + "idasen" + ]; meta = with lib; { description = "Python API and CLI for the ikea IDÅSEN desk"; From c97498aeee5c544986d382a1168b451a85026901 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Thu, 31 Mar 2022 09:46:15 +0200 Subject: [PATCH 056/203] python3Packages.youtube-transcript-api: disable on older Python releases --- .../youtube-transcript-api/default.nix | 32 +++++++++++++++---- 1 file changed, 25 insertions(+), 7 deletions(-) diff --git a/pkgs/development/python-modules/youtube-transcript-api/default.nix b/pkgs/development/python-modules/youtube-transcript-api/default.nix index d30da92cf0f6..a3c7e93031c7 100644 --- a/pkgs/development/python-modules/youtube-transcript-api/default.nix +++ b/pkgs/development/python-modules/youtube-transcript-api/default.nix @@ -1,22 +1,40 @@ -{ lib, buildPythonPackage, fetchFromGitHub, requests, mock, httpretty, pytestCheckHook }: +{ lib +, buildPythonPackage +, fetchFromGitHub +, requests +, mock +, httpretty +, pytestCheckHook +, pythonOlder +}: buildPythonPackage rec { pname = "youtube-transcript-api"; version = "0.4.4"; + format = "setuptools"; + + disabled = pythonOlder "3.7"; - # PyPI tarball is missing some test files src = fetchFromGitHub { owner = "jdepoix"; - repo = "youtube-transcript-api"; + repo = pname; rev = "v${version}"; - sha256 = "sha256-RNPWTgAOwS+tXGLQYyIyka36xS1E1499OAP84aT6m3A="; + hash = "sha256-RNPWTgAOwS+tXGLQYyIyka36xS1E1499OAP84aT6m3A="; }; - propagatedBuildInputs = [ requests ]; + propagatedBuildInputs = [ + requests + ]; - checkInputs = [ mock httpretty pytestCheckHook ]; + checkInputs = [ + mock + httpretty + pytestCheckHook + ]; - pythonImportsCheck = [ "youtube_transcript_api" ]; + pythonImportsCheck = [ + "youtube_transcript_api" + ]; meta = with lib; { description = "Python API which allows you to get the transcripts/subtitles for a given YouTube video"; From dd39ce1e43f8fc2d0740f4cf1f96ed3d906232ea Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Thu, 31 Mar 2022 10:29:56 +0200 Subject: [PATCH 057/203] python3Packages.azure-mgmt-media: disable on older Python releases --- .../python-modules/azure-mgmt-media/default.nix | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/pkgs/development/python-modules/azure-mgmt-media/default.nix b/pkgs/development/python-modules/azure-mgmt-media/default.nix index 435f88e130aa..07bd692407f9 100644 --- a/pkgs/development/python-modules/azure-mgmt-media/default.nix +++ b/pkgs/development/python-modules/azure-mgmt-media/default.nix @@ -6,17 +6,20 @@ , azure-common , azure-mgmt-core , azure-mgmt-nspkg -, isPy3k +, pythonOlder }: buildPythonPackage rec { pname = "azure-mgmt-media"; version = "9.0.0"; + format = "setuptools"; + + disabled = pythonOlder "3.6"; src = fetchPypi { inherit pname version; extension = "zip"; - sha256 = "sha256-TI7l8sSQ2QUgPqiE3Cu/F67Wna+KHbQS3fuIjOb95ZM="; + hash = "sha256-TI7l8sSQ2QUgPqiE3Cu/F67Wna+KHbQS3fuIjOb95ZM="; }; propagatedBuildInputs = [ @@ -24,14 +27,14 @@ buildPythonPackage rec { msrestazure azure-common azure-mgmt-core - ] ++ lib.optionals (!isPy3k) [ - azure-mgmt-nspkg ]; # has no tests doCheck = false; - pythonImportsCheck = [ "azure.mgmt.media" ]; + pythonImportsCheck = [ + "azure.mgmt.media" + ]; meta = with lib; { description = "This is the Microsoft Azure Media Services Client Library"; From e26f694dd3a65303da4665f5c9138041f1f110fc Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Thu, 31 Mar 2022 10:31:01 +0200 Subject: [PATCH 058/203] python3Packages.azure-mgmt-media: remove unused input --- pkgs/development/python-modules/azure-mgmt-media/default.nix | 1 - 1 file changed, 1 deletion(-) diff --git a/pkgs/development/python-modules/azure-mgmt-media/default.nix b/pkgs/development/python-modules/azure-mgmt-media/default.nix index 07bd692407f9..eb1bed0b547d 100644 --- a/pkgs/development/python-modules/azure-mgmt-media/default.nix +++ b/pkgs/development/python-modules/azure-mgmt-media/default.nix @@ -5,7 +5,6 @@ , msrestazure , azure-common , azure-mgmt-core -, azure-mgmt-nspkg , pythonOlder }: From abff5d05f3ce408126b31c9eaaa81bdcd0f12310 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 31 Mar 2022 08:31:57 +0000 Subject: [PATCH 059/203] python310Packages.sabyenc3: 5.1.5 -> 5.1.6 --- pkgs/development/python-modules/sabyenc3/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/sabyenc3/default.nix b/pkgs/development/python-modules/sabyenc3/default.nix index 2dec98d5ca1a..831680670d1f 100644 --- a/pkgs/development/python-modules/sabyenc3/default.nix +++ b/pkgs/development/python-modules/sabyenc3/default.nix @@ -6,14 +6,14 @@ buildPythonPackage rec { pname = "sabyenc3"; - version = "5.1.5"; + version = "5.1.6"; format = "setuptools"; disabled = pythonOlder "3.7"; src = fetchPypi { inherit pname version; - hash = "sha256-JwCzy3QRCzxT8B0VM5SXIIWlYi08tT8eLj/QKtMYLRE="; + hash = "sha256-DHHil9ZQsrKLgw5dje0Yo1J5FZAFrY1tn5y3mdBJHWg="; }; # Tests are not included in pypi distribution From bfdbd43fa19ae14a7d551c00736b1668dbb67298 Mon Sep 17 00:00:00 2001 From: Bobby Rong Date: Thu, 31 Mar 2022 18:41:19 +0800 Subject: [PATCH 060/203] =?UTF-8?q?vala=5F0=5F48:=200.48.23=20=E2=86=92=20?= =?UTF-8?q?0.48.24?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit https://gitlab.gnome.org/GNOME/vala/-/blob/0.48.24/NEWS --- pkgs/development/compilers/vala/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/compilers/vala/default.nix b/pkgs/development/compilers/vala/default.nix index 230f6ee19a20..8013f283c708 100644 --- a/pkgs/development/compilers/vala/default.nix +++ b/pkgs/development/compilers/vala/default.nix @@ -90,8 +90,8 @@ let in rec { vala_0_48 = generic { - version = "0.48.23"; - sha256 = "sha256-3jzIWNmV4HR0IZ4lo+Hw7ZmAcNLiBtOjE9Q3ml93oGo="; + version = "0.48.24"; + sha256 = "NknvhFc7aGX8NHBkDuYDcgCZ65FbOfqtGbdJjeGn3yQ="; }; vala_0_54 = generic { From 7c10b247dfcdfa7c83f2d8ef6c296deb062feb5c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B8rn=20Forsman?= Date: Thu, 31 Mar 2022 13:15:22 +0200 Subject: [PATCH 061/203] arcanist: add missing dependency 'which' 'arc' uses 'which' to find external programs at runtime. --- pkgs/development/tools/misc/arcanist/default.nix | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/pkgs/development/tools/misc/arcanist/default.nix b/pkgs/development/tools/misc/arcanist/default.nix index a2af61fb6a16..9540f1e0a6c8 100644 --- a/pkgs/development/tools/misc/arcanist/default.nix +++ b/pkgs/development/tools/misc/arcanist/default.nix @@ -5,6 +5,7 @@ , php , lib, stdenv , installShellFiles +, which }: # Make a custom wrapper. If `wrapProgram` is used, arcanist thinks .arc-wrapped is being @@ -14,7 +15,7 @@ let makeArcWrapper = toolset: '' cat << WRAPPER > $out/bin/${toolset} #!$shell -e - export PATH='${php}/bin/'\''${PATH:+':'}\$PATH + export PATH='${php}/bin:${which}/bin'\''${PATH:+':'}\$PATH exec ${php}/bin/php $out/libexec/arcanist/bin/${toolset} "\$@" WRAPPER chmod +x $out/bin/${toolset} From 9febd97f983c6f73b15bc7d6b5ad7850f6710f57 Mon Sep 17 00:00:00 2001 From: K900 Date: Thu, 31 Mar 2022 15:11:15 +0300 Subject: [PATCH 062/203] nixos/wireplumber: fix Lua syntax --- nixos/modules/services/desktops/pipewire/wireplumber.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nixos/modules/services/desktops/pipewire/wireplumber.nix b/nixos/modules/services/desktops/pipewire/wireplumber.nix index 32206ccb4e60..1dbdd842c4a1 100644 --- a/nixos/modules/services/desktops/pipewire/wireplumber.nix +++ b/nixos/modules/services/desktops/pipewire/wireplumber.nix @@ -38,7 +38,7 @@ in environment.etc."wireplumber/main.lua.d/80-nixos.lua" = lib.mkIf (!pwUsedForAudio) { text = '' - # Pipewire is not used for audio, so prevent it from grabbing audio devices + -- Pipewire is not used for audio, so prevent it from grabbing audio devices alsa_monitor.enable = function() end ''; }; From cc6775822f797c751ba846406aba94939f19433f Mon Sep 17 00:00:00 2001 From: nixpkgs-upkeep-bot Date: Thu, 31 Mar 2022 12:13:44 +0000 Subject: [PATCH 063/203] vscodium: 1.65.2 -> 1.66.0 --- pkgs/applications/editors/vscode/vscodium.nix | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/pkgs/applications/editors/vscode/vscodium.nix b/pkgs/applications/editors/vscode/vscodium.nix index a91227d9db40..0101b896e8cf 100644 --- a/pkgs/applications/editors/vscode/vscodium.nix +++ b/pkgs/applications/editors/vscode/vscodium.nix @@ -13,10 +13,10 @@ let archive_fmt = if system == "x86_64-darwin" then "zip" else "tar.gz"; sha256 = { - x86_64-linux = "1sh2f7hwhilwmlgy11kl0s2n3phpcir15wyl2fkyhsr2kdj4jz9r"; - x86_64-darwin = "1s04d91f08982wi8hb4dw0j57d6zqrdgns16ihrgsvahrzksgq4b"; - aarch64-linux = "1a97lk1qz2lz0lk5lpja32zy07iwdbskp6baf429iz7fz232rshm"; - armv7l-linux = "0vjqxqcr7fq3ncx1nl6ny7qcqm4vlsn33c074hhcg5292blg2a0p"; + x86_64-linux = "0dv28i8mxf45n7xj4gzgh4gsx76875nxs4yfqswxij8kzz72vqfn"; + x86_64-darwin = "0xs4f1ffqcbvzw1v64f9l8i7rflz7h1j5xgjxdz6l0hw0j4aalb2"; + aarch64-linux = "1fa7g531apigp8k7fxkp2ijmhz5axx7ixzdhlwgbsb80rb2mqhi0"; + armv7l-linux = "1ry9qm6rk46s0jn7hl30jbjdhi3fshzcs0x9krd9qin7by18hhz3"; }.${system}; sourceRoot = { @@ -31,7 +31,7 @@ in # Please backport all compatible updates to the stable release. # This is important for the extension ecosystem. - version = "1.65.2"; + version = "1.66.0"; pname = "vscodium"; executableName = "codium"; From 91d09c746580b7cd87a12cf32ad7af3801c0b26f Mon Sep 17 00:00:00 2001 From: 06kellyjac Date: Thu, 31 Mar 2022 14:18:14 +0100 Subject: [PATCH 064/203] trivy: 0.24.4 -> 0.25.0 --- pkgs/tools/admin/trivy/default.nix | 6 +++--- pkgs/top-level/all-packages.nix | 4 +++- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/pkgs/tools/admin/trivy/default.nix b/pkgs/tools/admin/trivy/default.nix index b37bdef882a0..0d88df6185a6 100644 --- a/pkgs/tools/admin/trivy/default.nix +++ b/pkgs/tools/admin/trivy/default.nix @@ -5,16 +5,16 @@ buildGoModule rec { pname = "trivy"; - version = "0.24.4"; + version = "0.25.0"; src = fetchFromGitHub { owner = "aquasecurity"; repo = pname; rev = "v${version}"; - sha256 = "sha256-IroWxLfDVkS6mFweQioOxjSBA1yXrcdtqFG0W+Sb8Sc="; + sha256 = "sha256-jlLE8io7/Yhu0rF7brV9YhDIsZBANZtatnWbgoHMReg="; }; - vendorSha256 = "sha256-OGwqRrhj/+oCCaXnb2s4N6a+vhTZHwe2HidAn0UaFXM="; + vendorSha256 = "sha256-hOurOL7xowgBs9gXa++X7+iOKJJ6WjekGGFiR9Q0OEU="; excludedPackages = "misc"; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 9084c175703d..3a88b23b73b5 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -5156,7 +5156,9 @@ with pkgs; tridactyl-native = callPackage ../tools/networking/tridactyl-native { }; - trivy = callPackage ../tools/admin/trivy { }; + trivy = callPackage ../tools/admin/trivy { + buildGoModule = buildGo118Module; + }; trompeloeil = callPackage ../development/libraries/trompeloeil { }; From b9d338c8e5b4ff06f3443bd54a20f9b01e6de501 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 31 Mar 2022 13:23:36 +0000 Subject: [PATCH 065/203] v2ray-geoip: 202203240042 -> 202203310042 --- pkgs/data/misc/v2ray-geoip/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/data/misc/v2ray-geoip/default.nix b/pkgs/data/misc/v2ray-geoip/default.nix index 1e0d35d52000..49f8fc746d67 100644 --- a/pkgs/data/misc/v2ray-geoip/default.nix +++ b/pkgs/data/misc/v2ray-geoip/default.nix @@ -2,13 +2,13 @@ stdenv.mkDerivation rec { pname = "v2ray-geoip"; - version = "202203240042"; + version = "202203310042"; src = fetchFromGitHub { owner = "v2fly"; repo = "geoip"; - rev = "d7ff77f883216595a4b6674e9507f305195dcda3"; - sha256 = "sha256-wSm24nXz4QIM8e7Z8d08NjluLaBWEdl09FNAL3GR9so="; + rev = "eb0fc69f57bdceef077e38d4f4f57c114411bd76"; + sha256 = "sha256-CSABX+329/WgaXy144JgYsr3OesI69vCfew5qxz5jMY="; }; installPhase = '' From dd2c5421967a598f4b1b7fd81c99b421bd1374c0 Mon Sep 17 00:00:00 2001 From: Bobby Rong Date: Thu, 31 Mar 2022 21:28:03 +0800 Subject: [PATCH 066/203] gnome.gnome-panel: add missing geocode-glib dependency --- pkgs/desktops/gnome/misc/gnome-panel/default.nix | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/pkgs/desktops/gnome/misc/gnome-panel/default.nix b/pkgs/desktops/gnome/misc/gnome-panel/default.nix index 139e161352a1..0b107f23d78d 100644 --- a/pkgs/desktops/gnome/misc/gnome-panel/default.nix +++ b/pkgs/desktops/gnome/misc/gnome-panel/default.nix @@ -1,9 +1,12 @@ -{ lib, stdenv +{ stdenv +, lib , fetchurl +, fetchpatch , autoreconfHook , dconf , evolution-data-server , gdm +, geocode-glib , gettext , glib , gnome-desktop @@ -37,6 +40,13 @@ stdenv.mkDerivation rec { # instead of gnome-panel’s libdir so that the NixOS module can make gnome-panel # load modules from other packages as well. ./modulesdir-env-var.patch + + # Add missing geocode-glib-1.0 dependency + # https://gitlab.gnome.org/GNOME/gnome-panel/-/merge_requests/49 + (fetchpatch { + url = "https://gitlab.gnome.org/GNOME/gnome-panel/-/commit/f58a43ec4649a25f1a762b36e1401b81cd2b214b.patch"; + sha256 = "sha256-DFqaNUjkLh4xd81qgQpl+568eUZeWyF8LxdZoTgMfCQ="; + }) ]; # make .desktop Exec absolute @@ -69,6 +79,7 @@ stdenv.mkDerivation rec { dconf evolution-data-server gdm + geocode-glib glib gnome-desktop gnome-menus From 4fce50f37e205b7dbb9f504fbf9f9b4fb68f412e Mon Sep 17 00:00:00 2001 From: xrelkd <46590321+xrelkd@users.noreply.github.com> Date: Thu, 31 Mar 2022 22:28:14 +0800 Subject: [PATCH 067/203] just: 1.1.1 -> 1.1.2 --- pkgs/development/tools/just/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/development/tools/just/default.nix b/pkgs/development/tools/just/default.nix index c11d386d7464..e5ad74d64c73 100644 --- a/pkgs/development/tools/just/default.nix +++ b/pkgs/development/tools/just/default.nix @@ -10,16 +10,16 @@ rustPlatform.buildRustPackage rec { pname = "just"; - version = "1.1.1"; + version = "1.1.2"; src = fetchFromGitHub { owner = "casey"; repo = pname; rev = version; - sha256 = "sha256-hgXMWQ7UlGyeb/j7V/Uw4gZjk/r1hA7lMjVL8i8st7o="; + sha256 = "sha256-vUtJ9QVMmDGfkYTBoK8mVaJTEfNBQD5sTEp7kC0LNZw="; }; - cargoSha256 = "sha256-QJruh4voCB/q7xh5I6XnVtKA4Jbn9U84Mt2pHte7Kog="; + cargoSha256 = "sha256-rJjLXktWnT6kRx1/18AFr6KciaFF8PaTpz27wz+vGug="; nativeBuildInputs = [ installShellFiles ]; buildInputs = lib.optionals stdenv.isDarwin [ libiconv ]; From 578ba59bbf7cf0e16dd8281b98270dfbb69f5886 Mon Sep 17 00:00:00 2001 From: xrelkd <46590321+xrelkd@users.noreply.github.com> Date: Thu, 31 Mar 2022 22:32:25 +0800 Subject: [PATCH 068/203] sn0int: 0.24.1 -> 0.24.2 --- pkgs/tools/security/sn0int/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/tools/security/sn0int/default.nix b/pkgs/tools/security/sn0int/default.nix index b2d812d521af..8e3a806d871c 100644 --- a/pkgs/tools/security/sn0int/default.nix +++ b/pkgs/tools/security/sn0int/default.nix @@ -9,16 +9,16 @@ rustPlatform.buildRustPackage rec { pname = "sn0int"; - version = "0.24.1"; + version = "0.24.2"; src = fetchFromGitHub { owner = "kpcyrd"; repo = pname; rev = "v${version}"; - sha256 = "sha256-AP/3QCol2qOvRqNW9F/m9JpiZrqtfXvr//Ku2XE3vqY="; + sha256 = "sha256-WcCNNLNvOtYiSWVvXA8mnlXOV2T/yIXFzZky5y3tYJ4="; }; - cargoSha256 = "sha256-gdDQjYU8hJdkQCh1Iswn5KlPW2BT/J5vCSOS/KHvbH4="; + cargoSha256 = "sha256-5pVxOkm9OLSX5Lxe3DSM0mVSMhlHfFBCiMMR37WrZbI="; nativeBuildInputs = [ pkg-config From 2c102d19c0283b3a95214bd17440ee94e2c75154 Mon Sep 17 00:00:00 2001 From: Michael Hoang Date: Fri, 1 Apr 2022 01:34:26 +1100 Subject: [PATCH 069/203] nixos/qemu-vm: Set `mainProgram` for `nix run` --- nixos/modules/virtualisation/qemu-vm.nix | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/nixos/modules/virtualisation/qemu-vm.nix b/nixos/modules/virtualisation/qemu-vm.nix index dacbb64a2dac..760f69121612 100644 --- a/nixos/modules/virtualisation/qemu-vm.nix +++ b/nixos/modules/virtualisation/qemu-vm.nix @@ -961,7 +961,10 @@ in services.qemuGuest.enable = cfg.qemu.guestAgent.enable; - system.build.vm = pkgs.runCommand "nixos-vm" { preferLocalBuild = true; } + system.build.vm = pkgs.runCommand "nixos-vm" { + preferLocalBuild = true; + meta.mainProgram = "run-${config.system.name}-vm"; + } '' mkdir -p $out/bin ln -s ${config.system.build.toplevel} $out/system From 55d676321a4cc00631d2db1251ca4cf43cc476be Mon Sep 17 00:00:00 2001 From: Bobby Rong Date: Thu, 31 Mar 2022 23:22:37 +0800 Subject: [PATCH 070/203] gnome.gnome-bluetooth_1_0: init at 3.34.5 --- .../core/gnome-bluetooth/1.0/default.nix | 97 +++++++++++++++++++ pkgs/desktops/gnome/default.nix | 2 + 2 files changed, 99 insertions(+) create mode 100644 pkgs/desktops/gnome/core/gnome-bluetooth/1.0/default.nix diff --git a/pkgs/desktops/gnome/core/gnome-bluetooth/1.0/default.nix b/pkgs/desktops/gnome/core/gnome-bluetooth/1.0/default.nix new file mode 100644 index 000000000000..38bb96980dca --- /dev/null +++ b/pkgs/desktops/gnome/core/gnome-bluetooth/1.0/default.nix @@ -0,0 +1,97 @@ +{ stdenv +, lib +, fetchurl +, fetchpatch +, gnome +, meson +, ninja +, pkg-config +, gtk3 +, gettext +, glib +, udev +, itstool +, libxml2 +, wrapGAppsHook +, libnotify +, libcanberra-gtk3 +, gobject-introspection +, gtk-doc +, docbook-xsl-nons +, docbook_xml_dtd_43 +, python3 +, gsettings-desktop-schemas +}: + +stdenv.mkDerivation rec { + pname = "gnome-bluetooth"; + version = "3.34.5"; + + # TODO: split out "lib" + outputs = [ "out" "dev" "devdoc" "man" ]; + + src = fetchurl { + url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; + sha256 = "bJSeUsi+zCBU2qzWBJAfZs5c9wml+pHEu3ysyTm1Pqk="; + }; + + patches = [ + # Fix build with meson 0.61. + # sendto/meson.build:24:5: ERROR: Function does not take positional arguments. + (fetchpatch { + url = "https://gitlab.gnome.org/GNOME/gnome-bluetooth/-/commit/755fd758f866d3a3f7ca482942beee749f13a91e.patch"; + sha256 = "sha256-N0MJ0pYO411o2CTNZHWmEoG2m5TGUjR6YW6HSXHTR/A="; + }) + ]; + + nativeBuildInputs = [ + meson + ninja + gettext + itstool + pkg-config + libxml2 + wrapGAppsHook + gobject-introspection + gtk-doc + docbook-xsl-nons + docbook_xml_dtd_43 + python3 + ]; + + buildInputs = [ + glib + gtk3 + udev + libnotify + libcanberra-gtk3 + gnome.adwaita-icon-theme + gsettings-desktop-schemas + ]; + + mesonFlags = [ + "-Dicon_update=false" + "-Dgtk_doc=true" + ]; + + postPatch = '' + chmod +x meson_post_install.py # patchShebangs requires executable file + patchShebangs meson_post_install.py + ''; + + passthru = { + updateScript = gnome.updateScript { + packageName = pname; + attrPath = "gnome.gnome-bluetooth_1_0"; + freeze = true; + }; + }; + + meta = with lib; { + homepage = "https://help.gnome.org/users/gnome-bluetooth/stable/index.html.en"; + description = "Application that let you manage Bluetooth in the GNOME destkop"; + maintainers = teams.gnome.members; + license = licenses.gpl2Plus; + platforms = platforms.linux; + }; +} diff --git a/pkgs/desktops/gnome/default.nix b/pkgs/desktops/gnome/default.nix index 729a6bd16ca8..1fc15fc6406f 100644 --- a/pkgs/desktops/gnome/default.nix +++ b/pkgs/desktops/gnome/default.nix @@ -48,6 +48,8 @@ lib.makeScope pkgs.newScope (self: with self; { gnome-bluetooth = callPackage ./core/gnome-bluetooth { }; + gnome-bluetooth_1_0 = callPackage ./core/gnome-bluetooth/1.0 { }; + gnome-color-manager = callPackage ./core/gnome-color-manager { }; gnome-contacts = callPackage ./core/gnome-contacts { }; From 85dff10d0644419a7c31b4faab6142bd34be3b65 Mon Sep 17 00:00:00 2001 From: Bobby Rong Date: Thu, 31 Mar 2022 23:25:54 +0800 Subject: [PATCH 071/203] gnome.gnome-flashback: use gnome-bluetooth_1_0 --- pkgs/desktops/gnome/misc/gnome-flashback/default.nix | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/pkgs/desktops/gnome/misc/gnome-flashback/default.nix b/pkgs/desktops/gnome/misc/gnome-flashback/default.nix index 34d2b6eea3c2..4401915d40ba 100644 --- a/pkgs/desktops/gnome/misc/gnome-flashback/default.nix +++ b/pkgs/desktops/gnome/misc/gnome-flashback/default.nix @@ -1,9 +1,10 @@ -{ lib, stdenv +{ stdenv +, lib , autoreconfHook , fetchurl , gettext , glib -, gnome-bluetooth +, gnome-bluetooth_1_0 , gnome-desktop , gnome-panel , gnome-session @@ -94,7 +95,7 @@ let buildInputs = [ glib - gnome-bluetooth + gnome-bluetooth_1_0 gnome-desktop gsettings-desktop-schemas gtk3 From baa0a8b9efac331802127efd57fa0be27b2cc074 Mon Sep 17 00:00:00 2001 From: Bobby Rong Date: Thu, 31 Mar 2022 23:29:42 +0800 Subject: [PATCH 072/203] blueberry: use gnome-bluetooth_1_0 --- pkgs/tools/bluetooth/blueberry/default.nix | 7 +- .../bluetooth/blueberry/gnome-bluetooth.nix | 96 ------------------- 2 files changed, 2 insertions(+), 101 deletions(-) delete mode 100644 pkgs/tools/bluetooth/blueberry/gnome-bluetooth.nix diff --git a/pkgs/tools/bluetooth/blueberry/default.nix b/pkgs/tools/bluetooth/blueberry/default.nix index bbc3babbd132..6a0f1d2d00bc 100644 --- a/pkgs/tools/bluetooth/blueberry/default.nix +++ b/pkgs/tools/bluetooth/blueberry/default.nix @@ -3,18 +3,15 @@ , fetchFromGitHub , bluez-tools , cinnamon +, gnome , gobject-introspection , intltool , pavucontrol , python3Packages , util-linux , wrapGAppsHook -, callPackage }: -let - gnome-bluetooth = callPackage ./gnome-bluetooth.nix {}; -in stdenv.mkDerivation rec { pname = "blueberry"; version = "1.4.7"; @@ -35,7 +32,7 @@ stdenv.mkDerivation rec { buildInputs = [ bluez-tools cinnamon.xapps - gnome-bluetooth + gnome.gnome-bluetooth_1_0 python3Packages.python util-linux ]; diff --git a/pkgs/tools/bluetooth/blueberry/gnome-bluetooth.nix b/pkgs/tools/bluetooth/blueberry/gnome-bluetooth.nix deleted file mode 100644 index cf0028cf833d..000000000000 --- a/pkgs/tools/bluetooth/blueberry/gnome-bluetooth.nix +++ /dev/null @@ -1,96 +0,0 @@ -{ lib -, stdenv -, fetchurl -, fetchpatch -, gnome -, meson -, ninja -, pkg-config -, gtk3 -, gettext -, glib -, udev -, itstool -, libxml2 -, wrapGAppsHook -, libnotify -, libcanberra-gtk3 -, gobject-introspection -, gtk-doc -, docbook-xsl-nons -, docbook_xml_dtd_43 -, python3 -, gsettings-desktop-schemas -}: - -stdenv.mkDerivation rec { - pname = "gnome-bluetooth"; - version = "3.34.5"; - - # TODO: split out "lib" - outputs = [ "out" "dev" "devdoc" "man" ]; - - src = fetchurl { - url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; - sha256 = "1a9ynlwwkb3wpg293ym517vmrkk63y809mmcv9a21k5yr199x53c"; - }; - - patches = [ - # Fix build with meson 0.61. - # sendto/meson.build:24:5: ERROR: Function does not take positional arguments. - (fetchpatch { - url = "https://gitlab.gnome.org/GNOME/gnome-bluetooth/-/commit/755fd758f866d3a3f7ca482942beee749f13a91e.patch"; - sha256 = "sha256-N0MJ0pYO411o2CTNZHWmEoG2m5TGUjR6YW6HSXHTR/A="; - }) - ]; - - nativeBuildInputs = [ - meson - ninja - gettext - itstool - pkg-config - libxml2 - wrapGAppsHook - gobject-introspection - gtk-doc - docbook-xsl-nons - docbook_xml_dtd_43 - python3 - ]; - - buildInputs = [ - glib - gtk3 - udev - libnotify - libcanberra-gtk3 - gnome.adwaita-icon-theme - gsettings-desktop-schemas - ]; - - mesonFlags = [ - "-Dicon_update=false" - "-Dgtk_doc=true" - ]; - - postPatch = '' - chmod +x meson_post_install.py # patchShebangs requires executable file - patchShebangs meson_post_install.py - ''; - - passthru = { - updateScript = gnome.updateScript { - packageName = pname; - attrPath = "gnome.${pname}"; - }; - }; - - meta = with lib; { - homepage = "https://help.gnome.org/users/gnome-bluetooth/stable/index.html.en"; - description = "Application that let you manage Bluetooth in the GNOME destkop"; - maintainers = teams.gnome.members; - license = licenses.gpl2Plus; - platforms = platforms.linux; - }; -} From fe488cab7fc27148edcfc027cba4fc81e1c6fc97 Mon Sep 17 00:00:00 2001 From: Robert Hensing Date: Thu, 31 Mar 2022 17:29:49 +0200 Subject: [PATCH 073/203] haskellPackages.{cachix,hercules-ci-*}: nix_2_4 -> nix_2_7 --- pkgs/development/haskell-modules/configuration-nix.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/development/haskell-modules/configuration-nix.nix b/pkgs/development/haskell-modules/configuration-nix.nix index 32108a0b7182..b1d73cf8019f 100644 --- a/pkgs/development/haskell-modules/configuration-nix.nix +++ b/pkgs/development/haskell-modules/configuration-nix.nix @@ -866,11 +866,11 @@ self: super: builtins.intersectAttrs super { rel8 = addTestToolDepend pkgs.postgresql super.rel8; - cachix = generateOptparseApplicativeCompletion "cachix" (super.cachix.override { nix = pkgs.nixVersions.nix_2_4; }); + cachix = generateOptparseApplicativeCompletion "cachix" (super.cachix.override { nix = pkgs.nixVersions.nix_2_7; }); - hercules-ci-agent = appendConfigureFlag "-fnix-2_4" (super.hercules-ci-agent.override { nix = pkgs.nixVersions.nix_2_4; }); - hercules-ci-cnix-expr = appendConfigureFlag "-fnix-2_4" (super.hercules-ci-cnix-expr.override { nix = pkgs.nixVersions.nix_2_4; }); - hercules-ci-cnix-store = appendConfigureFlag "-fnix-2_4" (super.hercules-ci-cnix-store.override { nix = pkgs.nixVersions.nix_2_4; }); + hercules-ci-agent = appendConfigureFlag "-fnix-2_4" (super.hercules-ci-agent.override { nix = pkgs.nixVersions.nix_2_7; }); + hercules-ci-cnix-expr = appendConfigureFlag "-fnix-2_4" (super.hercules-ci-cnix-expr.override { nix = pkgs.nixVersions.nix_2_7; }); + hercules-ci-cnix-store = appendConfigureFlag "-fnix-2_4" (super.hercules-ci-cnix-store.override { nix = pkgs.nixVersions.nix_2_7; }); # Enable extra optimisations which increase build time, but also # later compiler performance, so we should do this for user's benefit. From 0a21bcdb86a862ff1d353c9127776dbc108fbfd7 Mon Sep 17 00:00:00 2001 From: Robert Hensing Date: Thu, 31 Mar 2022 17:30:52 +0200 Subject: [PATCH 074/203] haskellPackages.hercules-ci-*: Rely on cabal-pkg-config-version-hook --- pkgs/development/haskell-modules/configuration-nix.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/development/haskell-modules/configuration-nix.nix b/pkgs/development/haskell-modules/configuration-nix.nix index b1d73cf8019f..7100aeeb7fde 100644 --- a/pkgs/development/haskell-modules/configuration-nix.nix +++ b/pkgs/development/haskell-modules/configuration-nix.nix @@ -868,9 +868,9 @@ self: super: builtins.intersectAttrs super { cachix = generateOptparseApplicativeCompletion "cachix" (super.cachix.override { nix = pkgs.nixVersions.nix_2_7; }); - hercules-ci-agent = appendConfigureFlag "-fnix-2_4" (super.hercules-ci-agent.override { nix = pkgs.nixVersions.nix_2_7; }); - hercules-ci-cnix-expr = appendConfigureFlag "-fnix-2_4" (super.hercules-ci-cnix-expr.override { nix = pkgs.nixVersions.nix_2_7; }); - hercules-ci-cnix-store = appendConfigureFlag "-fnix-2_4" (super.hercules-ci-cnix-store.override { nix = pkgs.nixVersions.nix_2_7; }); + hercules-ci-agent = super.hercules-ci-agent.override { nix = pkgs.nixVersions.nix_2_7; }; + hercules-ci-cnix-expr = super.hercules-ci-cnix-expr.override { nix = pkgs.nixVersions.nix_2_7; }; + hercules-ci-cnix-store = super.hercules-ci-cnix-store.override { nix = pkgs.nixVersions.nix_2_7; }; # Enable extra optimisations which increase build time, but also # later compiler performance, so we should do this for user's benefit. From 7ce8bc5d48b68b0e7a700b197fe9582bc2007cd9 Mon Sep 17 00:00:00 2001 From: Bobby Rong Date: Thu, 31 Mar 2022 23:32:29 +0800 Subject: [PATCH 075/203] pantheon.gnome-bluetooth-contract: use gnome-bluetooth_1_0 --- nixos/modules/services/x11/desktop-managers/pantheon.nix | 1 + pkgs/desktops/pantheon/default.nix | 2 +- .../desktop/gnome-bluetooth-contract/default.nix | 9 ++++----- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/nixos/modules/services/x11/desktop-managers/pantheon.nix b/nixos/modules/services/x11/desktop-managers/pantheon.nix index 48e119a86187..3528b0f40e7b 100644 --- a/nixos/modules/services/x11/desktop-managers/pantheon.nix +++ b/nixos/modules/services/x11/desktop-managers/pantheon.nix @@ -302,6 +302,7 @@ in environment.systemPackages = with pkgs.pantheon; [ contractor file-roller-contract + gnome-bluetooth-contract ]; environment.pathsToLink = [ diff --git a/pkgs/desktops/pantheon/default.nix b/pkgs/desktops/pantheon/default.nix index a3d5f873cbcb..7f28109ad101 100644 --- a/pkgs/desktops/pantheon/default.nix +++ b/pkgs/desktops/pantheon/default.nix @@ -108,7 +108,7 @@ lib.makeScope pkgs.newScope (self: with self; { gala = callPackage ./desktop/gala { }; gnome-bluetooth-contract = callPackage ./desktop/gnome-bluetooth-contract { - inherit (gnome) gnome-bluetooth; + inherit (gnome) gnome-bluetooth_1_0; }; wingpanel = callPackage ./desktop/wingpanel { }; diff --git a/pkgs/desktops/pantheon/desktop/gnome-bluetooth-contract/default.nix b/pkgs/desktops/pantheon/desktop/gnome-bluetooth-contract/default.nix index 190514392098..6df583c2ce6a 100644 --- a/pkgs/desktops/pantheon/desktop/gnome-bluetooth-contract/default.nix +++ b/pkgs/desktops/pantheon/desktop/gnome-bluetooth-contract/default.nix @@ -3,7 +3,7 @@ , fetchFromGitHub , unstableGitUpdater , substituteAll -, gnome-bluetooth +, gnome-bluetooth_1_0 }: stdenv.mkDerivation rec { @@ -20,7 +20,9 @@ stdenv.mkDerivation rec { patches = [ (substituteAll { src = ./exec-path.patch; - gnome_bluetooth = gnome-bluetooth; + # sendto device selection is removed in gnome-bluetooth 42 + # https://github.com/elementary/gnome-bluetooth-contract/issues/1 + gnome_bluetooth = gnome-bluetooth_1_0; }) ]; @@ -49,8 +51,5 @@ stdenv.mkDerivation rec { license = licenses.gpl3Plus; maintainers = teams.pantheon.members; platforms = platforms.linux; - # sendto device selection is removed in gnome-bluetooth 42 - # https://github.com/elementary/gnome-bluetooth-contract/issues/1 - broken = true; }; } From 254aec478e31e4a68bc45cfe62a593b81a4d59ff Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 31 Mar 2022 15:36:56 +0000 Subject: [PATCH 076/203] dsq: 0.9.0 -> 0.11.0 --- pkgs/tools/misc/dsq/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/tools/misc/dsq/default.nix b/pkgs/tools/misc/dsq/default.nix index 2451800b41f9..32c5ec6566da 100644 --- a/pkgs/tools/misc/dsq/default.nix +++ b/pkgs/tools/misc/dsq/default.nix @@ -10,16 +10,16 @@ buildGoModule rec { pname = "dsq"; - version = "0.9.0"; + version = "0.11.0"; src = fetchFromGitHub { owner = "multiprocessio"; repo = "dsq"; rev = version; - hash = "sha256-JzS94kfvgZDz4tIXa4veY3XSFeMDBN61sU8/+5V5y9Y="; + hash = "sha256-4g9fu5taFtb7VzVa0X8s6SbEO9qTFD0ff+CVJpr376c="; }; - vendorSha256 = "sha256-9Exy2VLxOd4lgwbIOZ6NJ45NABO9a0rLjmZ+Cd7jjLM="; + vendorSha256 = "sha256-YPH/uPPNT1byXOtCrNyU68H4mHO8arl6l5hs9WMcxVk="; nativeBuildInputs = [ diffutils ]; From 6e80b4bbdc5e27f27d516ed6d86ccdd687eb6ab9 Mon Sep 17 00:00:00 2001 From: 06kellyjac Date: Thu, 31 Mar 2022 16:42:42 +0100 Subject: [PATCH 077/203] driftctl: 0.25.0 -> 0.26.0 --- pkgs/applications/networking/cluster/driftctl/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/networking/cluster/driftctl/default.nix b/pkgs/applications/networking/cluster/driftctl/default.nix index 28dd421c72c5..fc8d8da18af8 100644 --- a/pkgs/applications/networking/cluster/driftctl/default.nix +++ b/pkgs/applications/networking/cluster/driftctl/default.nix @@ -2,13 +2,13 @@ buildGoModule rec { pname = "driftctl"; - version = "0.25.0"; + version = "0.26.0"; src = fetchFromGitHub { owner = "snyk"; repo = "driftctl"; rev = "v${version}"; - sha256 = "sha256-opR1NkMGptZilSPVZ7yNjYBBjnOXxrqAFCYzQ1tNS78="; + sha256 = "sha256-cwI27hAfnSKT7P2rfM86tRtSKRR9bruRV9w440uGLIU="; }; vendorSha256 = "sha256-I0OCRhUvuaF4k5qqPaV6R24mrd9AG5GgQCCF6yodK0E="; From 732e3c70f1309bcb15e8f71251ac1bb6fd82354f Mon Sep 17 00:00:00 2001 From: teutat3s <10206665+teutat3s@users.noreply.github.com> Date: Thu, 31 Mar 2022 17:53:57 +0200 Subject: [PATCH 078/203] electron_17: 17.1.2 -> 17.3.1 https://github.com/electron/electron/compare/v17.1.2...v17.3.1 --- pkgs/development/tools/electron/default.nix | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/pkgs/development/tools/electron/default.nix b/pkgs/development/tools/electron/default.nix index 24dc8614b29a..dbb7a54a05b1 100644 --- a/pkgs/development/tools/electron/default.nix +++ b/pkgs/development/tools/electron/default.nix @@ -103,13 +103,13 @@ rec { headers = "0yv9rssrfi0hdzrjf1n735dsz9sgy78jzxdcf9is2387yrr1qiyz"; }; - electron_17 = mkElectron "17.1.2" { - armv7l-linux = "b561c04c9fa8c512f418ea5c32f5526732e1ccd150ee4830a0091d0fa1b7e31c"; - aarch64-linux = "cda7e66c6672def9edd881107c28e2eec09b7802a38227ac89bb233191ce4840"; - x86_64-linux = "7e7c35e8c1a0fc451e7af19fa73264881ae2c4672c52a2ae1cdd61604650ca94"; - i686-linux = "de87a7952c93c1d8e8c533a700bbfc76d3893e9ad438413507d11450b80a9c97"; - x86_64-darwin = "d4382d3f01b750676a1f3c9e2273ad69cac16dc64a4145469c663bcda8d2471b"; - aarch64-darwin = "135dec87211fcefdb53ab1fef13344c7b71a321f7c4f6846f260c1e0848e73bf"; - headers = "15k234d044lgmc3psyxz9syy9wvzgn54znklak9sv6gcajjzll10"; + electron_17 = mkElectron "17.3.1" { + armv7l-linux = "ad7864f9a580b3fd8865480caa6cccbaefa5d7e5fdbe455700ab711b0adf2228"; + aarch64-linux = "e0f03aff5339e4dab85cbc970568ca31599ee0f032d1e766c23deea7d96654b0"; + x86_64-linux = "59d13b1d060523d1098e6e1e5bf7c6f2494b713321541f863dc459a42d2c40a8"; + i686-linux = "6d31d5117f4508bc7e0f9ecb6423d266b47fb5f074b0dfa8ddcfc2298c764151"; + x86_64-darwin = "c70a6e906ae7ce02552f1722022147f2416f27de0f98b88a0b7b1a09e341426f"; + aarch64-darwin = "76a9c8cbfa578c7e6678e6ccab2417374d1b3d3d81c6cac5ceea0aa058c12a8f"; + headers = "11k5sw7wk0fjjdlhcvbkwpffslngm9ns8l4c7rxa4qx8n1six9sf"; }; } From 8e9aad9883201a223deb893ba640bb4e25f3a4c9 Mon Sep 17 00:00:00 2001 From: teutat3s <10206665+teutat3s@users.noreply.github.com> Date: Thu, 31 Mar 2022 17:55:12 +0200 Subject: [PATCH 079/203] electron_16: 16.1.0 -> 16.2.1 https://github.com/electron/electron/compare/v16.1.0...v16.2.1 --- pkgs/development/tools/electron/default.nix | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/pkgs/development/tools/electron/default.nix b/pkgs/development/tools/electron/default.nix index dbb7a54a05b1..b293576b29ef 100644 --- a/pkgs/development/tools/electron/default.nix +++ b/pkgs/development/tools/electron/default.nix @@ -93,14 +93,14 @@ rec { headers = "073697wjq60cnz42xmnjsr0xqcmcsl4m48mmzrz1rxrc8mvi86gr"; }; - electron_16 = mkElectron "16.1.0" { - armv7l-linux = "f3ab34c73b4100ffc5041ed9aa0608d1dc6b98fe3c2caa14be3d5c3ffbebda76"; - aarch64-linux = "e80a7e4a59b94c7cd02b16ca37a2b0f26ddb58ddac23135c6180b238589f1c62"; - x86_64-linux = "36c79af4d05e89ef9c9616a156f63adc5b453ee6bee5d8f4331e75ee77198e85"; - i686-linux = "7129a96fc33de70cfe5d6d0e17ecff1b4dcf52d825a6ad05b10ca67da7b43665"; - x86_64-darwin = "723859249e959948cdd339acf708022fb0195b433809af25b4a9f4d69b9da52f"; - aarch64-darwin = "e76558028979f70107e5b1897275a9789be20b13991bfbcebeab7fc220f15764"; - headers = "0yv9rssrfi0hdzrjf1n735dsz9sgy78jzxdcf9is2387yrr1qiyz"; + electron_16 = mkElectron "16.2.1" { + armv7l-linux = "d55daeffed60cfd0c2de4ea8cab102ec5957dbd0cd863add881080e891b02334"; + aarch64-linux = "6446c665a1c6d7648dbeae94a669423b4c6768bafa96f0d3f8072b8c5d5a949e"; + x86_64-linux = "7b27a8531a8ef60fa27dd119422a81a710e09f7d8cb01777f1fe7b7ab67e3ac4"; + i686-linux = "eb7e0c8113af80f0e4edbae35d2cca718c1e98966da87041304fa6afb2d3e4c0"; + x86_64-darwin = "0386e3318d4b5cfabccc226ca88bd9946669901f381e3817d1d414b1356e472c"; + aarch64-darwin = "280660c0333702de9d95bcf9a21d3db8d148bef2a5946bb57d20b9e5f2aadb96"; + headers = "121wrzy81h9m12y83mb0xs9jbm5l4w31f831lmb4wmkkg54bvcwj"; }; electron_17 = mkElectron "17.3.1" { From 2caf14f6cc9d1f6c46e77fcdf71f5a0a8b51dd85 Mon Sep 17 00:00:00 2001 From: teutat3s <10206665+teutat3s@users.noreply.github.com> Date: Thu, 31 Mar 2022 17:56:16 +0200 Subject: [PATCH 080/203] electron_15: 15.4.1 -> 15.5.1 https://github.com/electron/electron/compare/v15.4.1...v15.5.1 --- pkgs/development/tools/electron/default.nix | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/pkgs/development/tools/electron/default.nix b/pkgs/development/tools/electron/default.nix index b293576b29ef..8d78c2ea36cc 100644 --- a/pkgs/development/tools/electron/default.nix +++ b/pkgs/development/tools/electron/default.nix @@ -83,14 +83,14 @@ rec { headers = "0339fs3iyp869xi1xmn9z2b1n32wf408cc0z9bz6shns44ymkyhd"; }; - electron_15 = mkElectron "15.4.1" { - armv7l-linux = "e0fe5daed46a5d718b3209fa301aea743df694daf6605f9313f4ca6c70fe5167"; - aarch64-linux = "fa108edd4c146811bdee842fcd278b046ae0ff157de5e072c3ff3ac0bcb310c2"; - x86_64-linux = "867095924d434b3918df8576e7af94fecea4d29461fcfb69c40161f02158ff15"; - i686-linux = "8e79fa9f4125f254abb437445fed8f3f8ec10dd2462e1ced3e7df49c622e087d"; - x86_64-darwin = "899d16a0e0157809c297ceb3710c53441ec4396333d9ad5b65297446874e14dc"; - aarch64-darwin = "8295bf45dab1131dfdfd15654a0b1d85bfae221052ba64353368a2c0faaaa3ff"; - headers = "073697wjq60cnz42xmnjsr0xqcmcsl4m48mmzrz1rxrc8mvi86gr"; + electron_15 = mkElectron "15.5.1" { + armv7l-linux = "222e9ad3210cf538c45f938b5b1a5d901b36fb6ec09461446e4ab4ea6ee9bc1b"; + aarch64-linux = "16a0053036a9f6ba947445c85bacda720975a23a910e78cab8dce1bf8ad2acf7"; + x86_64-linux = "99867ef0eef53f214ef4c8a4ec0223890d9c38b73fd6bf4fb49a9e400dff5726"; + i686-linux = "6d65c900c77b9e259932b20978d78a56bb04fad590f29a5935d8a31f5e0891db"; + x86_64-darwin = "54e6312d5e06e16eab78d86ddb01553864b66f608d017c7a1c4a0a318be32081"; + aarch64-darwin = "6472bea7f38f38c20a8c87e6daf70ca0d00b7c29b1641eeda6c8d45f9e60784b"; + headers = "0dgxyndsyhk5m9m8iiy2h3vg1gz1xg5nj75537apsh9mdiizsfhk"; }; electron_16 = mkElectron "16.2.1" { From 5875fd68d6f4d11463fde595ff44527381651cfc Mon Sep 17 00:00:00 2001 From: teutat3s <10206665+teutat3s@users.noreply.github.com> Date: Thu, 31 Mar 2022 17:58:58 +0200 Subject: [PATCH 081/203] electron_14: 14.2.7 -> 14.2.9 https://github.com/electron/electron/compare/v14.2.7...v14.2.9 With the release of electron v18, v14 is now officially EOL. Look for "End of Support for 14.x.y" in: https://github.com/electron/electron/releases/tag/v18.0.0 --- pkgs/development/tools/electron/default.nix | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/pkgs/development/tools/electron/default.nix b/pkgs/development/tools/electron/default.nix index 8d78c2ea36cc..0ed800eb7c63 100644 --- a/pkgs/development/tools/electron/default.nix +++ b/pkgs/development/tools/electron/default.nix @@ -73,14 +73,14 @@ rec { headers = "0vvizddmhprprbdf6bklasz6amwc254bpc9j0zlx23d1pgyxpnhc"; }; - electron_14 = mkElectron "14.2.7" { - armv7l-linux = "bb0c25671daa0dc235e212831d62f18b9a7f2692279bcd8e4a15f2d84ee7124d"; - aarch64-linux = "149c5df2cf98ee0a2ce5445b3fb00752f42c3f7ab9677b7a54ba01fba2e2f4ec"; - x86_64-linux = "ad80f424e8d8d79f0be078d8a1ddef8fd659fa3dd8aaf6704ab97f2a13489558"; - i686-linux = "82b29272cb52dbe969c0bd6cf9b69896c86abe1d9ef473a3844c0ab3dc92b353"; - x86_64-darwin = "2a5d8336dcd140158964801d482344756377d924a06e6605959034a41f7e026b"; - aarch64-darwin = "b45869ff61bdf392bca498529b6445d47a784079f6a33af6b19d517953f03fd8"; - headers = "0339fs3iyp869xi1xmn9z2b1n32wf408cc0z9bz6shns44ymkyhd"; + electron_14 = mkElectron "14.2.9" { + armv7l-linux = "02ae6cd9ec9c2dcb2f550923576a0c851fff3e796a5048dd3806947c541fd564"; + aarch64-linux = "631ba0f716d0272931418de42468114360bd21ec72875605fc32d67620743d2c"; + x86_64-linux = "0a62a41e8ac4592aba347c82f9c40f3fb4c84c7d00b6bb9501d02375cd49cb7d"; + i686-linux = "55e395a209d4a90e2dcd20a78af4724355feaba86411a39e66b977ed39de4d05"; + x86_64-darwin = "1df5b4c4414ade75c6cbfe13d3024702b8ae7c77f3f07b8955b2459fde6a5842"; + aarch64-darwin = "17089e54830976c4216d26e7e2e15ad2224e3b288d94973fed7e67e9b1c213b3"; + headers = "181b2agnf4b5s81p2rdnd6wkw9c2ri4cv1x0wwf7rj60axvzvydm"; }; electron_15 = mkElectron "15.5.1" { From f6a4228db4a3c434fef63d2dd817eb8c23dd2bb6 Mon Sep 17 00:00:00 2001 From: Maxine Aubrey Date: Thu, 31 Mar 2022 18:07:27 +0200 Subject: [PATCH 082/203] yaru-theme: 22.04.2 -> 22.04.3.1 --- pkgs/data/themes/yaru/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/data/themes/yaru/default.nix b/pkgs/data/themes/yaru/default.nix index 67762e747f4a..a27370b96368 100644 --- a/pkgs/data/themes/yaru/default.nix +++ b/pkgs/data/themes/yaru/default.nix @@ -16,13 +16,13 @@ stdenv.mkDerivation rec { pname = "yaru"; - version = "22.04.2"; + version = "22.04.3.1"; src = fetchFromGitHub { owner = "ubuntu"; repo = "yaru"; rev = version; - sha256 = "sha256-oW5OOJPhC3OB3GIQWTQxPgqE7p4bAO1TyVbyKUHnyD0="; + sha256 = "sha256-nNI6Nm3ZpIJRTbIbe/P9cKofcthb6qWKjn81/ZpPo2g="; }; nativeBuildInputs = [ meson sassc pkg-config glib ninja python3 ]; From 61776f460f4c2cce1fc2a3b5a8c927a4afdcfae4 Mon Sep 17 00:00:00 2001 From: Ben Siraphob Date: Wed, 30 Mar 2022 19:52:35 -0500 Subject: [PATCH 083/203] treewide: remove stdenv from buildInputs --- pkgs/applications/editors/vim/plugins/overrides.nix | 1 - pkgs/applications/graphics/exrtools/default.nix | 2 +- pkgs/applications/misc/gtk2fontsel/default.nix | 2 +- pkgs/applications/misc/stag/default.nix | 2 +- pkgs/applications/misc/yubioath-desktop/default.nix | 2 +- pkgs/development/compilers/aliceml/default.nix | 2 +- pkgs/development/lisp-modules/shell.nix | 2 +- pkgs/tools/filesystems/grive2/default.nix | 2 +- pkgs/tools/misc/statserial/default.nix | 2 +- pkgs/tools/virtualization/xe-guest-utilities/default.nix | 2 +- 10 files changed, 9 insertions(+), 10 deletions(-) diff --git a/pkgs/applications/editors/vim/plugins/overrides.nix b/pkgs/applications/editors/vim/plugins/overrides.nix index f3e1a5f12c33..3738e1c3aa15 100644 --- a/pkgs/applications/editors/vim/plugins/overrides.nix +++ b/pkgs/applications/editors/vim/plugins/overrides.nix @@ -175,7 +175,6 @@ self: super: { cpsm = super.cpsm.overrideAttrs (old: { buildInputs = [ python3 - stdenv cmake boost icu diff --git a/pkgs/applications/graphics/exrtools/default.nix b/pkgs/applications/graphics/exrtools/default.nix index 1985176765f0..b29d1d586900 100644 --- a/pkgs/applications/graphics/exrtools/default.nix +++ b/pkgs/applications/graphics/exrtools/default.nix @@ -10,7 +10,7 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ pkg-config ]; - buildInputs = [ stdenv openexr libpng12 libjpeg ]; + buildInputs = [ openexr libpng12 libjpeg ]; meta = with lib; { description = "Collection of utilities for manipulating OpenEXR images"; diff --git a/pkgs/applications/misc/gtk2fontsel/default.nix b/pkgs/applications/misc/gtk2fontsel/default.nix index d635fa8d8657..b622d9f19cca 100644 --- a/pkgs/applications/misc/gtk2fontsel/default.nix +++ b/pkgs/applications/misc/gtk2fontsel/default.nix @@ -10,7 +10,7 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ pkg-config ]; - buildInputs = [ stdenv gtk2 ]; + buildInputs = [ gtk2 ]; preferLocalBuild = true; diff --git a/pkgs/applications/misc/stag/default.nix b/pkgs/applications/misc/stag/default.nix index f9c91d28f14a..974ebb78c2f1 100644 --- a/pkgs/applications/misc/stag/default.nix +++ b/pkgs/applications/misc/stag/default.nix @@ -11,7 +11,7 @@ stdenv.mkDerivation { sha256 = "1yrzjhcwrxrxq5jj695wvpgb0pz047m88yq5n5ymkcw5qr78fy1v"; }; - buildInputs = [ stdenv curses ]; + buildInputs = [ curses ]; installPhase = '' make install PREFIX=$out diff --git a/pkgs/applications/misc/yubioath-desktop/default.nix b/pkgs/applications/misc/yubioath-desktop/default.nix index 9cfd7650c49f..3d35e3658e56 100644 --- a/pkgs/applications/misc/yubioath-desktop/default.nix +++ b/pkgs/applications/misc/yubioath-desktop/default.nix @@ -15,7 +15,7 @@ mkDerivation rec { doCheck = false; - buildInputs = [ stdenv qtbase qtquickcontrols2 qtgraphicaleffects python3 ]; + buildInputs = [ qtbase qtquickcontrols2 qtgraphicaleffects python3 ]; nativeBuildInputs = [ qmake makeWrapper python3.pkgs.wrapPython ]; diff --git a/pkgs/development/compilers/aliceml/default.nix b/pkgs/development/compilers/aliceml/default.nix index c7dc561e7b6c..fe223cacec89 100644 --- a/pkgs/development/compilers/aliceml/default.nix +++ b/pkgs/development/compilers/aliceml/default.nix @@ -18,7 +18,7 @@ stdenv.mkDerivation { nativeBuildInputs = [ autoconf automake ]; buildInputs = [ - stdenv gcc glibc + gcc glibc libtool gnumake file which zsh m4 gtk2 zlib gmp gnome2.libgnomecanvas pango sqlite diff --git a/pkgs/development/lisp-modules/shell.nix b/pkgs/development/lisp-modules/shell.nix index dcec6db8edd3..0d1fadf2552c 100644 --- a/pkgs/development/lisp-modules/shell.nix +++ b/pkgs/development/lisp-modules/shell.nix @@ -5,7 +5,7 @@ self = rec { name = "ql-to-nix"; env = buildEnv { name = name; paths = buildInputs; }; buildInputs = [ - gcc stdenv + gcc openssl fuse libuv libmysqlclient libfixposix libev sqlite freetds lispPackages.quicklisp-to-nix lispPackages.quicklisp-to-nix-system-info diff --git a/pkgs/tools/filesystems/grive2/default.nix b/pkgs/tools/filesystems/grive2/default.nix index 68475b9e2908..9d1d021641a9 100644 --- a/pkgs/tools/filesystems/grive2/default.nix +++ b/pkgs/tools/filesystems/grive2/default.nix @@ -13,7 +13,7 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ cmake pkg-config ]; - buildInputs = [ libgcrypt yajl curl expat stdenv boost libiberty ]; + buildInputs = [ libgcrypt yajl curl expat boost libiberty ]; meta = with lib; { description = "A console Google Drive client"; diff --git a/pkgs/tools/misc/statserial/default.nix b/pkgs/tools/misc/statserial/default.nix index 1ca0771914b2..8b5ae4cdc86e 100644 --- a/pkgs/tools/misc/statserial/default.nix +++ b/pkgs/tools/misc/statserial/default.nix @@ -17,7 +17,7 @@ stdenv.mkDerivation rec { --replace 'LDFLAGS = -s -N' '#LDFLAGS = -s -N' ''; - buildInputs = [ ncurses glibc stdenv ]; + buildInputs = [ ncurses glibc ]; installPhase = '' mkdir -p $out/bin diff --git a/pkgs/tools/virtualization/xe-guest-utilities/default.nix b/pkgs/tools/virtualization/xe-guest-utilities/default.nix index 2497cc6a9df0..69b9f540e458 100644 --- a/pkgs/tools/virtualization/xe-guest-utilities/default.nix +++ b/pkgs/tools/virtualization/xe-guest-utilities/default.nix @@ -14,7 +14,7 @@ stdenv.mkDerivation (rec { url = "https://sources.archlinux.org/other/community/xe-guest-utilities/xe-guest-utilities_${version}-1120.tar.gz"; sha256 = "f9593cd9588188f80253e736f48d8dd94c5b517abb18316085f86acffab48794"; }; - buildInputs = [ bzip2 gnutar gnused python2 lzo zlib xz stdenv gnugrep which ]; + buildInputs = [ bzip2 gnutar gnused python2 lzo zlib xz gnugrep which ]; patches = [ ./ip-address.patch ]; postPatch = '' tar xf "$NIX_BUILD_TOP/$name/xenstore-sources.tar.bz2" From d6e96b979e38f3532f938ceaf086c651efd6da3e Mon Sep 17 00:00:00 2001 From: 06kellyjac Date: Thu, 31 Mar 2022 17:53:17 +0100 Subject: [PATCH 084/203] kubescape: 2.0.149 -> 2.0.150 --- pkgs/tools/security/kubescape/default.nix | 25 ++++++++++++++++------- 1 file changed, 18 insertions(+), 7 deletions(-) diff --git a/pkgs/tools/security/kubescape/default.nix b/pkgs/tools/security/kubescape/default.nix index e881fad4a929..377327e6571c 100644 --- a/pkgs/tools/security/kubescape/default.nix +++ b/pkgs/tools/security/kubescape/default.nix @@ -6,37 +6,48 @@ buildGoModule rec { pname = "kubescape"; - version = "2.0.149"; + version = "2.0.150"; src = fetchFromGitHub { owner = "armosec"; repo = pname; rev = "v${version}"; - hash = "sha256-m6tJjC5BXxFC+bSOHbKXXGZQlJIM0+fIA+JYWBntgk8="; + hash = "sha256-1D/ixtZI7/H05MD6zRtZCF8yhW1FhvRpdPWieAPwxHs="; }; nativeBuildInputs = [ installShellFiles ]; - vendorSha256 = "sha256-vplHaaT7x0ZSpvityJF5aGKDARvGPBT9DMltOpUkOMo="; + modRoot = "cmd"; + vendorSha256 = "sha256-Nznf793OMQ7ZCWb5voVcLyMiBa1Z8Dswp7Tdn1AzlJA="; ldflags = [ "-s" "-w" - "-X github.com/armosec/kubescape/clihandler/cmd.BuildNumber=v${version}" + "-X github.com/armosec/kubescape/core/cautils.BuildNumber=v${version}" ]; + postBuild = '' + # kubescape/cmd should be called kubescape + mv $GOPATH/bin/{cmd,kubescape} + ''; + postInstall = '' - # Running kubescape to generate completions outputs error warnings - # but does not crash and completes successfully - # https://github.com/armosec/kubescape/issues/200 installShellCompletion --cmd kubescape \ --bash <($out/bin/kubescape completion bash) \ --fish <($out/bin/kubescape completion fish) \ --zsh <($out/bin/kubescape completion zsh) ''; + doInstallCheck = true; + installCheckPhase = '' + runHook preInstallCheck + $out/bin/kubescape --help + $out/bin/kubescape --version | grep "v${version}" + runHook postInstallCheck + ''; + meta = with lib; { description = "Tool for testing if Kubernetes is deployed securely"; homepage = "https://github.com/armosec/kubescape"; From 237047f1e7a98f709616379173892d5657e7b463 Mon Sep 17 00:00:00 2001 From: Lein Matsumaru Date: Thu, 31 Mar 2022 16:55:54 +0000 Subject: [PATCH 085/203] exploitdb: 2022-03-24 -> 2022-03-31 --- pkgs/tools/security/exploitdb/default.nix | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/pkgs/tools/security/exploitdb/default.nix b/pkgs/tools/security/exploitdb/default.nix index e589ca529c61..cfb1490e3c7f 100644 --- a/pkgs/tools/security/exploitdb/default.nix +++ b/pkgs/tools/security/exploitdb/default.nix @@ -2,14 +2,13 @@ stdenv.mkDerivation rec { pname = "exploitdb"; - version = "2022-03-24"; + version = "2022-03-31"; src = fetchFromGitHub { owner = "offensive-security"; repo = pname; rev = version; - sha256 = "sha256-G2KFDNNM4NJ7DgQu1+uNjgixzyLFnF0G0YQ29PgYZ/0="; - + sha256 = "sha256-T7vPDbB330Uv276+oGnEYK1xGpJCMzzZiQXx4uW1kc4="; }; nativeBuildInputs = [ makeWrapper ]; From 32c0743a2016cbb30133949cd4ca384a28dee721 Mon Sep 17 00:00:00 2001 From: midchildan Date: Fri, 1 Apr 2022 02:02:39 +0900 Subject: [PATCH 086/203] noto-fonts-cjk: switch back to variable font Fixes #156131. This reverts commit 88ef0666443aea0f9088a18056f923240fd1424f. --- pkgs/data/fonts/noto-fonts/default.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/data/fonts/noto-fonts/default.nix b/pkgs/data/fonts/noto-fonts/default.nix index 248d076b997a..4d91bf8905d5 100644 --- a/pkgs/data/fonts/noto-fonts/default.nix +++ b/pkgs/data/fonts/noto-fonts/default.nix @@ -71,11 +71,11 @@ let owner = "googlefonts"; repo = "noto-cjk"; inherit rev sha256; - sparseCheckout = "${typeface}/OTC"; + sparseCheckout = "${typeface}/Variable/OTC"; }; installPhase = '' - install -m444 -Dt $out/share/fonts/opentype/noto-cjk ${typeface}/OTC/*.ttc + install -m444 -Dt $out/share/fonts/opentype/noto-cjk ${typeface}/Variable/OTC/*.otf.ttc ''; passthru.tests.noto-fonts = nixosTests.noto-fonts; @@ -117,14 +117,14 @@ in typeface = "Sans"; version = "2.004"; rev = "9f7f3c38eab63e1d1fddd8d50937fe4f1eacdb1d"; - sha256 = "sha256-pNC/WJCYHSlU28E/CSFsrEMbyCe/6tjevDlOvDK9RwU="; + sha256 = "sha256-11d/78i21yuzxrfB5t2VQN9OBz/qZKeozuS6BrLFjzw="; }; noto-fonts-cjk-serif = mkNotoCJK { typeface = "Serif"; version = "2.000"; rev = "9f7f3c38eab63e1d1fddd8d50937fe4f1eacdb1d"; - sha256 = "sha256-Iy4lmWj5l+/Us/dJJ/Jl4MEojE9mrFnhNQxX2zhVngY="; + sha256 = "sha256-G+yl3LZvSFpbEUuuvattPDctKTzBCshOi970DcbPliE="; }; noto-fonts-emoji = let From 4c38fcb192a471611ff205af35992451a73a7a33 Mon Sep 17 00:00:00 2001 From: Ben Siraphob Date: Wed, 30 Mar 2022 16:35:38 -0500 Subject: [PATCH 087/203] treewide: move cmake into nativeBuildInputs --- pkgs/applications/audio/sonic-pi/default.nix | 2 +- pkgs/applications/editors/jucipp/default.nix | 3 +-- pkgs/applications/editors/vim/plugins/overrides.nix | 2 +- pkgs/applications/networking/sync/lsyncd/default.nix | 3 ++- pkgs/development/libraries/allegro/5.nix | 3 ++- pkgs/development/libraries/allegro/default.nix | 3 ++- pkgs/development/libraries/xalanc/default.nix | 3 ++- pkgs/development/tools/rocminfo/default.nix | 3 ++- pkgs/games/nanosaur/default.nix | 2 +- pkgs/games/space-cadet-pinball/default.nix | 2 +- pkgs/games/the-butterfly-effect/default.nix | 3 ++- 11 files changed, 17 insertions(+), 12 deletions(-) diff --git a/pkgs/applications/audio/sonic-pi/default.nix b/pkgs/applications/audio/sonic-pi/default.nix index e9d8f979e4ad..b41bea58453c 100644 --- a/pkgs/applications/audio/sonic-pi/default.nix +++ b/pkgs/applications/audio/sonic-pi/default.nix @@ -54,9 +54,9 @@ in mkDerivation rec { inherit pname version src; + nativeBuildInputs = [ cmake ]; buildInputs = [ bash - cmake pkg-config qtbase qwt diff --git a/pkgs/applications/editors/jucipp/default.nix b/pkgs/applications/editors/jucipp/default.nix index 7a57e2171095..b06c93c10340 100644 --- a/pkgs/applications/editors/jucipp/default.nix +++ b/pkgs/applications/editors/jucipp/default.nix @@ -27,7 +27,7 @@ stdenv.mkDerivation rec { sha256 = "0xp6ijnrggskjrvscp204bmdpz48l5a8nxr9abp17wni6akb5wiq"; }; - nativeBuildInputs = [ pkg-config wrapGAppsHook ]; + nativeBuildInputs = [ pkg-config wrapGAppsHook cmake ]; buildInputs = [ dbus openssl @@ -38,7 +38,6 @@ stdenv.mkDerivation rec { libepoxy boost libXdmcp - cmake aspell libgit2 libxkbcommon diff --git a/pkgs/applications/editors/vim/plugins/overrides.nix b/pkgs/applications/editors/vim/plugins/overrides.nix index 3738e1c3aa15..8b55c1706939 100644 --- a/pkgs/applications/editors/vim/plugins/overrides.nix +++ b/pkgs/applications/editors/vim/plugins/overrides.nix @@ -173,9 +173,9 @@ self: super: { }); cpsm = super.cpsm.overrideAttrs (old: { + nativeBuildInputs = [ cmake ]; buildInputs = [ python3 - cmake boost icu ncurses diff --git a/pkgs/applications/networking/sync/lsyncd/default.nix b/pkgs/applications/networking/sync/lsyncd/default.nix index 4c95a35ab85a..7690bf6ee540 100644 --- a/pkgs/applications/networking/sync/lsyncd/default.nix +++ b/pkgs/applications/networking/sync/lsyncd/default.nix @@ -31,9 +31,10 @@ stdenv.mkDerivation rec { dontUseCmakeBuildDir = true; + nativeBuildInputs = [ cmake ]; buildInputs = [ rsync - cmake lua pkg-config + lua pkg-config asciidoc libxml2 docbook_xml_dtd_45 docbook_xsl libxslt ]; diff --git a/pkgs/development/libraries/allegro/5.nix b/pkgs/development/libraries/allegro/5.nix index 380cc1f7198e..859d46459cb8 100644 --- a/pkgs/development/libraries/allegro/5.nix +++ b/pkgs/development/libraries/allegro/5.nix @@ -18,9 +18,10 @@ stdenv.mkDerivation rec { sha256 = "sha256-JdnzEW+qAhAljR+WfmgE3P9xeR2HvjS64tFgCC0tNA0="; }; + nativeBuildInputs = [ cmake ]; buildInputs = [ texinfo libXext xorgproto libX11 libXpm libXt libXcursor - alsa-lib cmake zlib libpng libvorbis libXxf86dga libXxf86misc + alsa-lib zlib libpng libvorbis libXxf86dga libXxf86misc libXxf86vm openal libGLU libGL libjpeg flac libXi libXfixes diff --git a/pkgs/development/libraries/allegro/default.nix b/pkgs/development/libraries/allegro/default.nix index 6abf632806a4..d9c862443653 100644 --- a/pkgs/development/libraries/allegro/default.nix +++ b/pkgs/development/libraries/allegro/default.nix @@ -17,9 +17,10 @@ stdenv.mkDerivation rec { ./encoding.patch ]; + nativeBuildInputs = [ cmake ]; buildInputs = [ texinfo6_5 libXext xorgproto libX11 libXpm libXt libXcursor - alsa-lib cmake zlib libpng libvorbis libXxf86dga libXxf86misc + alsa-lib zlib libpng libvorbis libXxf86dga libXxf86misc libXxf86vm openal libGLU libGL ]; diff --git a/pkgs/development/libraries/xalanc/default.nix b/pkgs/development/libraries/xalanc/default.nix index b750b26996d5..2b5f2379fde7 100644 --- a/pkgs/development/libraries/xalanc/default.nix +++ b/pkgs/development/libraries/xalanc/default.nix @@ -11,7 +11,8 @@ stdenv.mkDerivation rec { sha256 = "sha256:0q1204qk97i9h14vxxq7phcfpyiin0i1zzk74ixvg4wqy87b62s8"; }; - buildInputs = [ xercesc getopt cmake ]; + nativeBuildInputs = [ cmake ]; + buildInputs = [ xercesc getopt ]; meta = { homepage = "https://xalan.apache.org/"; diff --git a/pkgs/development/tools/rocminfo/default.nix b/pkgs/development/tools/rocminfo/default.nix index 60ca0a51d265..d399a912b5ff 100644 --- a/pkgs/development/tools/rocminfo/default.nix +++ b/pkgs/development/tools/rocminfo/default.nix @@ -17,7 +17,8 @@ stdenv.mkDerivation rec { }; enableParallelBuilding = true; - buildInputs = [ cmake rocm-cmake rocm-runtime ]; + nativeBuildInputs = [ cmake ]; + buildInputs = [ rocm-cmake rocm-runtime ]; cmakeFlags = [ "-DROCM_DIR=${rocm-runtime}" "-DROCRTST_BLD_TYPE=Release" diff --git a/pkgs/games/nanosaur/default.nix b/pkgs/games/nanosaur/default.nix index d5ebee755da6..75e47fa179b9 100644 --- a/pkgs/games/nanosaur/default.nix +++ b/pkgs/games/nanosaur/default.nix @@ -12,9 +12,9 @@ stdenv.mkDerivation rec { fetchSubmodules = true; }; + nativeBuildInputs = [ cmake ]; buildInputs = [ SDL2 - cmake makeWrapper ]; diff --git a/pkgs/games/space-cadet-pinball/default.nix b/pkgs/games/space-cadet-pinball/default.nix index 31df5377f1d3..3aed29adfd74 100644 --- a/pkgs/games/space-cadet-pinball/default.nix +++ b/pkgs/games/space-cadet-pinball/default.nix @@ -33,10 +33,10 @@ stdenv.mkDerivation rec { }) ]; + nativeBuildInputs = [ cmake ]; buildInputs = [ SDL2 SDL2_mixer - cmake makeWrapper Cocoa ]; diff --git a/pkgs/games/the-butterfly-effect/default.nix b/pkgs/games/the-butterfly-effect/default.nix index f5330485eddc..cc753783f035 100644 --- a/pkgs/games/the-butterfly-effect/default.nix +++ b/pkgs/games/the-butterfly-effect/default.nix @@ -13,8 +13,9 @@ mkDerivation rec { postPatch = "sed '1i#include ' -i src/model/World.h"; + nativeBuildInputs = [ cmake ]; buildInputs = [ - qt5.qtbase qt5.qtsvg qt5.qttranslations box2d which cmake + qt5.qtbase qt5.qtsvg qt5.qttranslations box2d which gettext ]; From 1832678aeeb7f6aafc156cd653a3615737624776 Mon Sep 17 00:00:00 2001 From: Tom Wieczorek Date: Sat, 26 Mar 2022 10:13:03 +0100 Subject: [PATCH 088/203] zlib: add patches to fix CVE-2018-25032 https://nvd.nist.gov/vuln/detail/CVE-2018-25032 https://www.openwall.com/lists/oss-security/2022/03/24/1 A similar change landed in Alpine: https://git.alpinelinux.org/aports/commit/?id=361df5902aa1e81594b17f06a13e10527dfb8aed --- .../libraries/zlib/CVE-2018-25032-1.patch | 346 ++++++++++++++++++ .../libraries/zlib/CVE-2018-25032-2.patch | 27 ++ pkgs/development/libraries/zlib/default.nix | 10 +- 3 files changed, 382 insertions(+), 1 deletion(-) create mode 100644 pkgs/development/libraries/zlib/CVE-2018-25032-1.patch create mode 100644 pkgs/development/libraries/zlib/CVE-2018-25032-2.patch diff --git a/pkgs/development/libraries/zlib/CVE-2018-25032-1.patch b/pkgs/development/libraries/zlib/CVE-2018-25032-1.patch new file mode 100644 index 000000000000..1ade02654e58 --- /dev/null +++ b/pkgs/development/libraries/zlib/CVE-2018-25032-1.patch @@ -0,0 +1,346 @@ +From 5c44459c3b28a9bd3283aaceab7c615f8020c531 Mon Sep 17 00:00:00 2001 +From: Mark Adler +Date: Tue, 17 Apr 2018 22:09:22 -0700 +Subject: [PATCH 1/2] Fix a bug that can crash deflate on some input when using + Z_FIXED. + +This bug was reported by Danilo Ramos of Eideticom, Inc. It has +lain in wait 13 years before being found! The bug was introduced +in zlib 1.2.2.2, with the addition of the Z_FIXED option. That +option forces the use of fixed Huffman codes. For rare inputs with +a large number of distant matches, the pending buffer into which +the compressed data is written can overwrite the distance symbol +table which it overlays. That results in corrupted output due to +invalid distances, and can result in out-of-bound accesses, +crashing the application. + +The fix here combines the distance buffer and literal/length +buffers into a single symbol buffer. Now three bytes of pending +buffer space are opened up for each literal or length/distance +pair consumed, instead of the previous two bytes. This assures +that the pending buffer cannot overwrite the symbol table, since +the maximum fixed code compressed length/distance is 31 bits, and +since there are four bytes of pending space for every three bytes +of symbol space. +--- + deflate.c | 74 ++++++++++++++++++++++++++++++++++++++++--------------- + deflate.h | 25 +++++++++---------- + trees.c | 50 +++++++++++-------------------------- + 3 files changed, 79 insertions(+), 70 deletions(-) + +diff --git a/deflate.c b/deflate.c +index 425babc..19cba87 100644 +--- a/deflate.c ++++ b/deflate.c +@@ -255,11 +255,6 @@ int ZEXPORT deflateInit2_(strm, level, method, windowBits, memLevel, strategy, + int wrap = 1; + static const char my_version[] = ZLIB_VERSION; + +- ushf *overlay; +- /* We overlay pending_buf and d_buf+l_buf. This works since the average +- * output size for (length,distance) codes is <= 24 bits. +- */ +- + if (version == Z_NULL || version[0] != my_version[0] || + stream_size != sizeof(z_stream)) { + return Z_VERSION_ERROR; +@@ -329,9 +324,47 @@ int ZEXPORT deflateInit2_(strm, level, method, windowBits, memLevel, strategy, + + s->lit_bufsize = 1 << (memLevel + 6); /* 16K elements by default */ + +- overlay = (ushf *) ZALLOC(strm, s->lit_bufsize, sizeof(ush)+2); +- s->pending_buf = (uchf *) overlay; +- s->pending_buf_size = (ulg)s->lit_bufsize * (sizeof(ush)+2L); ++ /* We overlay pending_buf and sym_buf. This works since the average size ++ * for length/distance pairs over any compressed block is assured to be 31 ++ * bits or less. ++ * ++ * Analysis: The longest fixed codes are a length code of 8 bits plus 5 ++ * extra bits, for lengths 131 to 257. The longest fixed distance codes are ++ * 5 bits plus 13 extra bits, for distances 16385 to 32768. The longest ++ * possible fixed-codes length/distance pair is then 31 bits total. ++ * ++ * sym_buf starts one-fourth of the way into pending_buf. So there are ++ * three bytes in sym_buf for every four bytes in pending_buf. Each symbol ++ * in sym_buf is three bytes -- two for the distance and one for the ++ * literal/length. As each symbol is consumed, the pointer to the next ++ * sym_buf value to read moves forward three bytes. From that symbol, up to ++ * 31 bits are written to pending_buf. The closest the written pending_buf ++ * bits gets to the next sym_buf symbol to read is just before the last ++ * code is written. At that time, 31*(n-2) bits have been written, just ++ * after 24*(n-2) bits have been consumed from sym_buf. sym_buf starts at ++ * 8*n bits into pending_buf. (Note that the symbol buffer fills when n-1 ++ * symbols are written.) The closest the writing gets to what is unread is ++ * then n+14 bits. Here n is lit_bufsize, which is 16384 by default, and ++ * can range from 128 to 32768. ++ * ++ * Therefore, at a minimum, there are 142 bits of space between what is ++ * written and what is read in the overlain buffers, so the symbols cannot ++ * be overwritten by the compressed data. That space is actually 139 bits, ++ * due to the three-bit fixed-code block header. ++ * ++ * That covers the case where either Z_FIXED is specified, forcing fixed ++ * codes, or when the use of fixed codes is chosen, because that choice ++ * results in a smaller compressed block than dynamic codes. That latter ++ * condition then assures that the above analysis also covers all dynamic ++ * blocks. A dynamic-code block will only be chosen to be emitted if it has ++ * fewer bits than a fixed-code block would for the same set of symbols. ++ * Therefore its average symbol length is assured to be less than 31. So ++ * the compressed data for a dynamic block also cannot overwrite the ++ * symbols from which it is being constructed. ++ */ ++ ++ s->pending_buf = (uchf *) ZALLOC(strm, s->lit_bufsize, 4); ++ s->pending_buf_size = (ulg)s->lit_bufsize * 4; + + if (s->window == Z_NULL || s->prev == Z_NULL || s->head == Z_NULL || + s->pending_buf == Z_NULL) { +@@ -340,8 +373,12 @@ int ZEXPORT deflateInit2_(strm, level, method, windowBits, memLevel, strategy, + deflateEnd (strm); + return Z_MEM_ERROR; + } +- s->d_buf = overlay + s->lit_bufsize/sizeof(ush); +- s->l_buf = s->pending_buf + (1+sizeof(ush))*s->lit_bufsize; ++ s->sym_buf = s->pending_buf + s->lit_bufsize; ++ s->sym_end = (s->lit_bufsize - 1) * 3; ++ /* We avoid equality with lit_bufsize*3 because of wraparound at 64K ++ * on 16 bit machines and because stored blocks are restricted to ++ * 64K-1 bytes. ++ */ + + s->level = level; + s->strategy = strategy; +@@ -552,7 +589,7 @@ int ZEXPORT deflatePrime (strm, bits, value) + + if (deflateStateCheck(strm)) return Z_STREAM_ERROR; + s = strm->state; +- if ((Bytef *)(s->d_buf) < s->pending_out + ((Buf_size + 7) >> 3)) ++ if (s->sym_buf < s->pending_out + ((Buf_size + 7) >> 3)) + return Z_BUF_ERROR; + do { + put = Buf_size - s->bi_valid; +@@ -1113,7 +1150,6 @@ int ZEXPORT deflateCopy (dest, source) + #else + deflate_state *ds; + deflate_state *ss; +- ushf *overlay; + + + if (deflateStateCheck(source) || dest == Z_NULL) { +@@ -1133,8 +1169,7 @@ int ZEXPORT deflateCopy (dest, source) + ds->window = (Bytef *) ZALLOC(dest, ds->w_size, 2*sizeof(Byte)); + ds->prev = (Posf *) ZALLOC(dest, ds->w_size, sizeof(Pos)); + ds->head = (Posf *) ZALLOC(dest, ds->hash_size, sizeof(Pos)); +- overlay = (ushf *) ZALLOC(dest, ds->lit_bufsize, sizeof(ush)+2); +- ds->pending_buf = (uchf *) overlay; ++ ds->pending_buf = (uchf *) ZALLOC(dest, ds->lit_bufsize, 4); + + if (ds->window == Z_NULL || ds->prev == Z_NULL || ds->head == Z_NULL || + ds->pending_buf == Z_NULL) { +@@ -1148,8 +1183,7 @@ int ZEXPORT deflateCopy (dest, source) + zmemcpy(ds->pending_buf, ss->pending_buf, (uInt)ds->pending_buf_size); + + ds->pending_out = ds->pending_buf + (ss->pending_out - ss->pending_buf); +- ds->d_buf = overlay + ds->lit_bufsize/sizeof(ush); +- ds->l_buf = ds->pending_buf + (1+sizeof(ush))*ds->lit_bufsize; ++ ds->sym_buf = ds->pending_buf + ds->lit_bufsize; + + ds->l_desc.dyn_tree = ds->dyn_ltree; + ds->d_desc.dyn_tree = ds->dyn_dtree; +@@ -1925,7 +1959,7 @@ local block_state deflate_fast(s, flush) + FLUSH_BLOCK(s, 1); + return finish_done; + } +- if (s->last_lit) ++ if (s->sym_next) + FLUSH_BLOCK(s, 0); + return block_done; + } +@@ -2056,7 +2090,7 @@ local block_state deflate_slow(s, flush) + FLUSH_BLOCK(s, 1); + return finish_done; + } +- if (s->last_lit) ++ if (s->sym_next) + FLUSH_BLOCK(s, 0); + return block_done; + } +@@ -2131,7 +2165,7 @@ local block_state deflate_rle(s, flush) + FLUSH_BLOCK(s, 1); + return finish_done; + } +- if (s->last_lit) ++ if (s->sym_next) + FLUSH_BLOCK(s, 0); + return block_done; + } +@@ -2170,7 +2204,7 @@ local block_state deflate_huff(s, flush) + FLUSH_BLOCK(s, 1); + return finish_done; + } +- if (s->last_lit) ++ if (s->sym_next) + FLUSH_BLOCK(s, 0); + return block_done; + } +diff --git a/deflate.h b/deflate.h +index 23ecdd3..d4cf1a9 100644 +--- a/deflate.h ++++ b/deflate.h +@@ -217,7 +217,7 @@ typedef struct internal_state { + /* Depth of each subtree used as tie breaker for trees of equal frequency + */ + +- uchf *l_buf; /* buffer for literals or lengths */ ++ uchf *sym_buf; /* buffer for distances and literals/lengths */ + + uInt lit_bufsize; + /* Size of match buffer for literals/lengths. There are 4 reasons for +@@ -239,13 +239,8 @@ typedef struct internal_state { + * - I can't count above 4 + */ + +- uInt last_lit; /* running index in l_buf */ +- +- ushf *d_buf; +- /* Buffer for distances. To simplify the code, d_buf and l_buf have +- * the same number of elements. To use different lengths, an extra flag +- * array would be necessary. +- */ ++ uInt sym_next; /* running index in sym_buf */ ++ uInt sym_end; /* symbol table full when sym_next reaches this */ + + ulg opt_len; /* bit length of current block with optimal trees */ + ulg static_len; /* bit length of current block with static trees */ +@@ -325,20 +320,22 @@ void ZLIB_INTERNAL _tr_stored_block OF((deflate_state *s, charf *buf, + + # define _tr_tally_lit(s, c, flush) \ + { uch cc = (c); \ +- s->d_buf[s->last_lit] = 0; \ +- s->l_buf[s->last_lit++] = cc; \ ++ s->sym_buf[s->sym_next++] = 0; \ ++ s->sym_buf[s->sym_next++] = 0; \ ++ s->sym_buf[s->sym_next++] = cc; \ + s->dyn_ltree[cc].Freq++; \ +- flush = (s->last_lit == s->lit_bufsize-1); \ ++ flush = (s->sym_next == s->sym_end); \ + } + # define _tr_tally_dist(s, distance, length, flush) \ + { uch len = (uch)(length); \ + ush dist = (ush)(distance); \ +- s->d_buf[s->last_lit] = dist; \ +- s->l_buf[s->last_lit++] = len; \ ++ s->sym_buf[s->sym_next++] = dist; \ ++ s->sym_buf[s->sym_next++] = dist >> 8; \ ++ s->sym_buf[s->sym_next++] = len; \ + dist--; \ + s->dyn_ltree[_length_code[len]+LITERALS+1].Freq++; \ + s->dyn_dtree[d_code(dist)].Freq++; \ +- flush = (s->last_lit == s->lit_bufsize-1); \ ++ flush = (s->sym_next == s->sym_end); \ + } + #else + # define _tr_tally_lit(s, c, flush) flush = _tr_tally(s, 0, c) +diff --git a/trees.c b/trees.c +index 4f4a650..decaeb7 100644 +--- a/trees.c ++++ b/trees.c +@@ -416,7 +416,7 @@ local void init_block(s) + + s->dyn_ltree[END_BLOCK].Freq = 1; + s->opt_len = s->static_len = 0L; +- s->last_lit = s->matches = 0; ++ s->sym_next = s->matches = 0; + } + + #define SMALLEST 1 +@@ -948,7 +948,7 @@ void ZLIB_INTERNAL _tr_flush_block(s, buf, stored_len, last) + + Tracev((stderr, "\nopt %lu(%lu) stat %lu(%lu) stored %lu lit %u ", + opt_lenb, s->opt_len, static_lenb, s->static_len, stored_len, +- s->last_lit)); ++ s->sym_next / 3)); + + if (static_lenb <= opt_lenb) opt_lenb = static_lenb; + +@@ -1017,8 +1017,9 @@ int ZLIB_INTERNAL _tr_tally (s, dist, lc) + unsigned dist; /* distance of matched string */ + unsigned lc; /* match length-MIN_MATCH or unmatched char (if dist==0) */ + { +- s->d_buf[s->last_lit] = (ush)dist; +- s->l_buf[s->last_lit++] = (uch)lc; ++ s->sym_buf[s->sym_next++] = dist; ++ s->sym_buf[s->sym_next++] = dist >> 8; ++ s->sym_buf[s->sym_next++] = lc; + if (dist == 0) { + /* lc is the unmatched char */ + s->dyn_ltree[lc].Freq++; +@@ -1033,30 +1034,7 @@ int ZLIB_INTERNAL _tr_tally (s, dist, lc) + s->dyn_ltree[_length_code[lc]+LITERALS+1].Freq++; + s->dyn_dtree[d_code(dist)].Freq++; + } +- +-#ifdef TRUNCATE_BLOCK +- /* Try to guess if it is profitable to stop the current block here */ +- if ((s->last_lit & 0x1fff) == 0 && s->level > 2) { +- /* Compute an upper bound for the compressed length */ +- ulg out_length = (ulg)s->last_lit*8L; +- ulg in_length = (ulg)((long)s->strstart - s->block_start); +- int dcode; +- for (dcode = 0; dcode < D_CODES; dcode++) { +- out_length += (ulg)s->dyn_dtree[dcode].Freq * +- (5L+extra_dbits[dcode]); +- } +- out_length >>= 3; +- Tracev((stderr,"\nlast_lit %u, in %ld, out ~%ld(%ld%%) ", +- s->last_lit, in_length, out_length, +- 100L - out_length*100L/in_length)); +- if (s->matches < s->last_lit/2 && out_length < in_length/2) return 1; +- } +-#endif +- return (s->last_lit == s->lit_bufsize-1); +- /* We avoid equality with lit_bufsize because of wraparound at 64K +- * on 16 bit machines and because stored blocks are restricted to +- * 64K-1 bytes. +- */ ++ return (s->sym_next == s->sym_end); + } + + /* =========================================================================== +@@ -1069,13 +1047,14 @@ local void compress_block(s, ltree, dtree) + { + unsigned dist; /* distance of matched string */ + int lc; /* match length or unmatched char (if dist == 0) */ +- unsigned lx = 0; /* running index in l_buf */ ++ unsigned sx = 0; /* running index in sym_buf */ + unsigned code; /* the code to send */ + int extra; /* number of extra bits to send */ + +- if (s->last_lit != 0) do { +- dist = s->d_buf[lx]; +- lc = s->l_buf[lx++]; ++ if (s->sym_next != 0) do { ++ dist = s->sym_buf[sx++] & 0xff; ++ dist += (unsigned)(s->sym_buf[sx++] & 0xff) << 8; ++ lc = s->sym_buf[sx++]; + if (dist == 0) { + send_code(s, lc, ltree); /* send a literal byte */ + Tracecv(isgraph(lc), (stderr," '%c' ", lc)); +@@ -1100,11 +1079,10 @@ local void compress_block(s, ltree, dtree) + } + } /* literal or match pair ? */ + +- /* Check that the overlay between pending_buf and d_buf+l_buf is ok: */ +- Assert((uInt)(s->pending) < s->lit_bufsize + 2*lx, +- "pendingBuf overflow"); ++ /* Check that the overlay between pending_buf and sym_buf is ok: */ ++ Assert(s->pending < s->lit_bufsize + sx, "pendingBuf overflow"); + +- } while (lx < s->last_lit); ++ } while (sx < s->sym_next); + + send_code(s, END_BLOCK, ltree); + } +-- +2.33.1 + diff --git a/pkgs/development/libraries/zlib/CVE-2018-25032-2.patch b/pkgs/development/libraries/zlib/CVE-2018-25032-2.patch new file mode 100644 index 000000000000..dadc904a07fb --- /dev/null +++ b/pkgs/development/libraries/zlib/CVE-2018-25032-2.patch @@ -0,0 +1,27 @@ +From 4346a16853e19b45787ce933666026903fb8f3f8 Mon Sep 17 00:00:00 2001 +From: Mark Adler +Date: Tue, 17 Apr 2018 22:44:41 -0700 +Subject: [PATCH 2/2] Assure that the number of bits for deflatePrime() is + valid. + +--- + deflate.c | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/deflate.c b/deflate.c +index 19cba87..23aef18 100644 +--- a/deflate.c ++++ b/deflate.c +@@ -589,7 +589,8 @@ int ZEXPORT deflatePrime (strm, bits, value) + + if (deflateStateCheck(strm)) return Z_STREAM_ERROR; + s = strm->state; +- if (s->sym_buf < s->pending_out + ((Buf_size + 7) >> 3)) ++ if (bits < 0 || bits > 16 || ++ s->sym_buf < s->pending_out + ((Buf_size + 7) >> 3)) + return Z_BUF_ERROR; + do { + put = Buf_size - s->bi_valid; +-- +2.33.1 + diff --git a/pkgs/development/libraries/zlib/default.nix b/pkgs/development/libraries/zlib/default.nix index 48603000c903..144a4a64d1da 100644 --- a/pkgs/development/libraries/zlib/default.nix +++ b/pkgs/development/libraries/zlib/default.nix @@ -33,7 +33,15 @@ stdenv.mkDerivation (rec { sha256 = "c3e5e9fdd5004dcb542feda5ee4f0ff0744628baf8ed2dd5d66f8ca1197cb1a1"; }; - patches = lib.optional stdenv.hostPlatform.isCygwin ./disable-cygwin-widechar.patch; + patches = [ + # https://nvd.nist.gov/vuln/detail/CVE-2018-25032 + # https://github.com/madler/zlib/commit/5c44459c3b28a9bd3283aaceab7c615f8020c531 + ./CVE-2018-25032-1.patch + # https://github.com/madler/zlib/commit/4346a16853e19b45787ce933666026903fb8f3f8 + ./CVE-2018-25032-2.patch + ] ++ lib.optionals stdenv.hostPlatform.isCygwin [ + ./disable-cygwin-widechar.patch + ]; postPatch = lib.optionalString stdenv.hostPlatform.isDarwin '' substituteInPlace configure \ From 366a59cdc312601b1d711a066e858bbf49bb9885 Mon Sep 17 00:00:00 2001 From: Vincent Laporte Date: Fri, 25 Mar 2022 18:44:01 +0100 Subject: [PATCH 089/203] ocamlPackages.unionFind: init at 20220122 --- .../ocaml-modules/unionFind/default.nix | 24 +++++++++++++++++++ pkgs/top-level/ocaml-packages.nix | 2 ++ 2 files changed, 26 insertions(+) create mode 100644 pkgs/development/ocaml-modules/unionFind/default.nix diff --git a/pkgs/development/ocaml-modules/unionFind/default.nix b/pkgs/development/ocaml-modules/unionFind/default.nix new file mode 100644 index 000000000000..aa1d5e82362b --- /dev/null +++ b/pkgs/development/ocaml-modules/unionFind/default.nix @@ -0,0 +1,24 @@ +{ lib, fetchFromGitLab, buildDunePackage }: + +buildDunePackage rec { + pname = "unionFind"; + version = "20220122"; + + useDune2 = true; + minimalOCamlVersion = "4.05"; + + src = fetchFromGitLab { + domain = "gitlab.inria.fr"; + owner = "fpottier"; + repo = pname; + rev = version; + sha256 = "sha256:0hdh56rbg8vfjd61q09cbmh8l5wmry5ykivg7gsm0v5ckkb3531r"; + }; + + meta = { + description = "Implementations of the union-find data structure"; + license = lib.licenses.lgpl2Only; + inherit (src.meta) homepage; + maintainers = [ lib.maintainers.vbgl ]; + }; +} diff --git a/pkgs/top-level/ocaml-packages.nix b/pkgs/top-level/ocaml-packages.nix index 5a4a03fda066..9b2183f63581 100644 --- a/pkgs/top-level/ocaml-packages.nix +++ b/pkgs/top-level/ocaml-packages.nix @@ -1406,6 +1406,8 @@ let stdint = callPackage ../development/ocaml-modules/stdint { }; + unionFind = callPackage ../development/ocaml-modules/unionFind { }; + unstrctrd = callPackage ../development/ocaml-modules/unstrctrd { }; uucd = callPackage ../development/ocaml-modules/uucd { }; From 8cd9c041b405f9ad89092ca9a90a430e168b271c Mon Sep 17 00:00:00 2001 From: "Markus S. Wamser" Date: Wed, 30 Mar 2022 20:41:17 +0200 Subject: [PATCH 090/203] zlib: 1.2.11 -> 1.2.12 (security, CVE-2018-25032) This version bump is the official fix for CVE-2018-25032. Release Notes: https://zlib.net/ --- pkgs/development/libraries/zlib/default.nix | 14 ++------------ .../libraries/zlib/disable-cygwin-widechar.patch | 13 ------------- 2 files changed, 2 insertions(+), 25 deletions(-) delete mode 100644 pkgs/development/libraries/zlib/disable-cygwin-widechar.patch diff --git a/pkgs/development/libraries/zlib/default.nix b/pkgs/development/libraries/zlib/default.nix index 144a4a64d1da..91cd037e0e33 100644 --- a/pkgs/development/libraries/zlib/default.nix +++ b/pkgs/development/libraries/zlib/default.nix @@ -23,26 +23,16 @@ assert splitStaticOutput -> static; stdenv.mkDerivation (rec { pname = "zlib"; - version = "1.2.11"; + version = "1.2.12"; src = fetchurl { urls = [ "https://www.zlib.net/fossils/zlib-${version}.tar.gz" # stable archive path "mirror://sourceforge/libpng/zlib/${version}/zlib-${version}.tar.gz" ]; - sha256 = "c3e5e9fdd5004dcb542feda5ee4f0ff0744628baf8ed2dd5d66f8ca1197cb1a1"; + sha256 = "91844808532e5ce316b3c010929493c0244f3d37593afd6de04f71821d5136d9"; }; - patches = [ - # https://nvd.nist.gov/vuln/detail/CVE-2018-25032 - # https://github.com/madler/zlib/commit/5c44459c3b28a9bd3283aaceab7c615f8020c531 - ./CVE-2018-25032-1.patch - # https://github.com/madler/zlib/commit/4346a16853e19b45787ce933666026903fb8f3f8 - ./CVE-2018-25032-2.patch - ] ++ lib.optionals stdenv.hostPlatform.isCygwin [ - ./disable-cygwin-widechar.patch - ]; - postPatch = lib.optionalString stdenv.hostPlatform.isDarwin '' substituteInPlace configure \ --replace '/usr/bin/libtool' '${stdenv.cc.targetPrefix}ar' \ diff --git a/pkgs/development/libraries/zlib/disable-cygwin-widechar.patch b/pkgs/development/libraries/zlib/disable-cygwin-widechar.patch deleted file mode 100644 index 3de4978c3066..000000000000 --- a/pkgs/development/libraries/zlib/disable-cygwin-widechar.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/gzguts.h b/gzguts.h -index 990a4d2..6378d46 100644 ---- a/gzguts.h -+++ b/gzguts.h -@@ -39,7 +39,7 @@ - # include - #endif - --#if defined(_WIN32) || defined(__CYGWIN__) -+#if defined(_WIN32) - # define WIDECHAR - #endif - From bab7f65636ecf6a35b8432f98cd0a1ab9776d407 Mon Sep 17 00:00:00 2001 From: Maximilian Bosch Date: Thu, 31 Mar 2022 20:45:55 +0200 Subject: [PATCH 091/203] grafana: 8.4.4 -> 8.4.5 ChangeLog: https://github.com/grafana/grafana/releases/tag/v8.4.5 --- pkgs/servers/monitoring/grafana/default.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/servers/monitoring/grafana/default.nix b/pkgs/servers/monitoring/grafana/default.nix index 2b3ae9f64de8..e3877265ca35 100644 --- a/pkgs/servers/monitoring/grafana/default.nix +++ b/pkgs/servers/monitoring/grafana/default.nix @@ -2,7 +2,7 @@ buildGoModule rec { pname = "grafana"; - version = "8.4.4"; + version = "8.4.5"; excludedPackages = "\\(alert_webhook_listener\\|clean-swagger\\|release_publisher\\|slow_proxy\\|slow_proxy_mac\\|macaron\\)"; @@ -10,15 +10,15 @@ buildGoModule rec { rev = "v${version}"; owner = "grafana"; repo = "grafana"; - sha256 = "sha256-WLmmf2GlP7axuYj0TLJlDwe1k/9xNQbLvAggG+AshKg="; + sha256 = "sha256-CdGg979c7XD5V3jZbVeHUGylAarGc+cR+bFi5FngKtU="; }; srcStatic = fetchurl { url = "https://dl.grafana.com/oss/release/grafana-${version}.linux-amd64.tar.gz"; - sha256 = "sha256-eH6L7X1WvvL+9+R9FrpvVMxVJYcrHicaLkH2LUJs3AQ="; + sha256 = "sha256-PjDTEmzjDmT1WQGqF3GwojJ6mG2whBoPK0KWfXI8AB4="; }; - vendorSha256 = "sha256-RugV5cHlpR739CA1C/7FkXasvkv18m7pPsK6mxfSkC0="; + vendorSha256 = "sha256-iOJEy7dCZGRTaOuL/09wcMlNDHjRi9SIr9bialdcKi4="; nativeBuildInputs = [ wire ]; From a7c49d7463948ef635f97babf96d914418a50de3 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 31 Mar 2022 18:50:24 +0000 Subject: [PATCH 092/203] python310Packages.jsbeautifier: 1.14.1 -> 1.14.2 --- pkgs/development/python-modules/jsbeautifier/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/jsbeautifier/default.nix b/pkgs/development/python-modules/jsbeautifier/default.nix index 746619a61445..bdd0897acbe6 100644 --- a/pkgs/development/python-modules/jsbeautifier/default.nix +++ b/pkgs/development/python-modules/jsbeautifier/default.nix @@ -9,14 +9,14 @@ buildPythonApplication rec { pname = "jsbeautifier"; - version = "1.14.1"; + version = "1.14.2"; format = "setuptools"; disabled = pythonOlder "3.7"; src = fetchPypi { inherit pname version; - hash = "sha256-ZfT3dLDkywIutJmbRc1ndi92Qnxe80CCq6VLwdjvI+s="; + hash = "sha256-PskybkfTilQ5W97/h2lWakcnWOcLnhG6fMVs/spqm/Y="; }; propagatedBuildInputs = [ From ebaefe3b6b92d3c75b2214ff7f6760e599448295 Mon Sep 17 00:00:00 2001 From: Martin Weinelt Date: Thu, 31 Mar 2022 20:54:17 +0200 Subject: [PATCH 093/203] zlib: remove leftover patches Sorry, mishap from my rebase I assume, since they were original part of the version bump to 1.2.12. --- .../libraries/zlib/CVE-2018-25032-1.patch | 346 ------------------ .../libraries/zlib/CVE-2018-25032-2.patch | 27 -- 2 files changed, 373 deletions(-) delete mode 100644 pkgs/development/libraries/zlib/CVE-2018-25032-1.patch delete mode 100644 pkgs/development/libraries/zlib/CVE-2018-25032-2.patch diff --git a/pkgs/development/libraries/zlib/CVE-2018-25032-1.patch b/pkgs/development/libraries/zlib/CVE-2018-25032-1.patch deleted file mode 100644 index 1ade02654e58..000000000000 --- a/pkgs/development/libraries/zlib/CVE-2018-25032-1.patch +++ /dev/null @@ -1,346 +0,0 @@ -From 5c44459c3b28a9bd3283aaceab7c615f8020c531 Mon Sep 17 00:00:00 2001 -From: Mark Adler -Date: Tue, 17 Apr 2018 22:09:22 -0700 -Subject: [PATCH 1/2] Fix a bug that can crash deflate on some input when using - Z_FIXED. - -This bug was reported by Danilo Ramos of Eideticom, Inc. It has -lain in wait 13 years before being found! The bug was introduced -in zlib 1.2.2.2, with the addition of the Z_FIXED option. That -option forces the use of fixed Huffman codes. For rare inputs with -a large number of distant matches, the pending buffer into which -the compressed data is written can overwrite the distance symbol -table which it overlays. That results in corrupted output due to -invalid distances, and can result in out-of-bound accesses, -crashing the application. - -The fix here combines the distance buffer and literal/length -buffers into a single symbol buffer. Now three bytes of pending -buffer space are opened up for each literal or length/distance -pair consumed, instead of the previous two bytes. This assures -that the pending buffer cannot overwrite the symbol table, since -the maximum fixed code compressed length/distance is 31 bits, and -since there are four bytes of pending space for every three bytes -of symbol space. ---- - deflate.c | 74 ++++++++++++++++++++++++++++++++++++++++--------------- - deflate.h | 25 +++++++++---------- - trees.c | 50 +++++++++++-------------------------- - 3 files changed, 79 insertions(+), 70 deletions(-) - -diff --git a/deflate.c b/deflate.c -index 425babc..19cba87 100644 ---- a/deflate.c -+++ b/deflate.c -@@ -255,11 +255,6 @@ int ZEXPORT deflateInit2_(strm, level, method, windowBits, memLevel, strategy, - int wrap = 1; - static const char my_version[] = ZLIB_VERSION; - -- ushf *overlay; -- /* We overlay pending_buf and d_buf+l_buf. This works since the average -- * output size for (length,distance) codes is <= 24 bits. -- */ -- - if (version == Z_NULL || version[0] != my_version[0] || - stream_size != sizeof(z_stream)) { - return Z_VERSION_ERROR; -@@ -329,9 +324,47 @@ int ZEXPORT deflateInit2_(strm, level, method, windowBits, memLevel, strategy, - - s->lit_bufsize = 1 << (memLevel + 6); /* 16K elements by default */ - -- overlay = (ushf *) ZALLOC(strm, s->lit_bufsize, sizeof(ush)+2); -- s->pending_buf = (uchf *) overlay; -- s->pending_buf_size = (ulg)s->lit_bufsize * (sizeof(ush)+2L); -+ /* We overlay pending_buf and sym_buf. This works since the average size -+ * for length/distance pairs over any compressed block is assured to be 31 -+ * bits or less. -+ * -+ * Analysis: The longest fixed codes are a length code of 8 bits plus 5 -+ * extra bits, for lengths 131 to 257. The longest fixed distance codes are -+ * 5 bits plus 13 extra bits, for distances 16385 to 32768. The longest -+ * possible fixed-codes length/distance pair is then 31 bits total. -+ * -+ * sym_buf starts one-fourth of the way into pending_buf. So there are -+ * three bytes in sym_buf for every four bytes in pending_buf. Each symbol -+ * in sym_buf is three bytes -- two for the distance and one for the -+ * literal/length. As each symbol is consumed, the pointer to the next -+ * sym_buf value to read moves forward three bytes. From that symbol, up to -+ * 31 bits are written to pending_buf. The closest the written pending_buf -+ * bits gets to the next sym_buf symbol to read is just before the last -+ * code is written. At that time, 31*(n-2) bits have been written, just -+ * after 24*(n-2) bits have been consumed from sym_buf. sym_buf starts at -+ * 8*n bits into pending_buf. (Note that the symbol buffer fills when n-1 -+ * symbols are written.) The closest the writing gets to what is unread is -+ * then n+14 bits. Here n is lit_bufsize, which is 16384 by default, and -+ * can range from 128 to 32768. -+ * -+ * Therefore, at a minimum, there are 142 bits of space between what is -+ * written and what is read in the overlain buffers, so the symbols cannot -+ * be overwritten by the compressed data. That space is actually 139 bits, -+ * due to the three-bit fixed-code block header. -+ * -+ * That covers the case where either Z_FIXED is specified, forcing fixed -+ * codes, or when the use of fixed codes is chosen, because that choice -+ * results in a smaller compressed block than dynamic codes. That latter -+ * condition then assures that the above analysis also covers all dynamic -+ * blocks. A dynamic-code block will only be chosen to be emitted if it has -+ * fewer bits than a fixed-code block would for the same set of symbols. -+ * Therefore its average symbol length is assured to be less than 31. So -+ * the compressed data for a dynamic block also cannot overwrite the -+ * symbols from which it is being constructed. -+ */ -+ -+ s->pending_buf = (uchf *) ZALLOC(strm, s->lit_bufsize, 4); -+ s->pending_buf_size = (ulg)s->lit_bufsize * 4; - - if (s->window == Z_NULL || s->prev == Z_NULL || s->head == Z_NULL || - s->pending_buf == Z_NULL) { -@@ -340,8 +373,12 @@ int ZEXPORT deflateInit2_(strm, level, method, windowBits, memLevel, strategy, - deflateEnd (strm); - return Z_MEM_ERROR; - } -- s->d_buf = overlay + s->lit_bufsize/sizeof(ush); -- s->l_buf = s->pending_buf + (1+sizeof(ush))*s->lit_bufsize; -+ s->sym_buf = s->pending_buf + s->lit_bufsize; -+ s->sym_end = (s->lit_bufsize - 1) * 3; -+ /* We avoid equality with lit_bufsize*3 because of wraparound at 64K -+ * on 16 bit machines and because stored blocks are restricted to -+ * 64K-1 bytes. -+ */ - - s->level = level; - s->strategy = strategy; -@@ -552,7 +589,7 @@ int ZEXPORT deflatePrime (strm, bits, value) - - if (deflateStateCheck(strm)) return Z_STREAM_ERROR; - s = strm->state; -- if ((Bytef *)(s->d_buf) < s->pending_out + ((Buf_size + 7) >> 3)) -+ if (s->sym_buf < s->pending_out + ((Buf_size + 7) >> 3)) - return Z_BUF_ERROR; - do { - put = Buf_size - s->bi_valid; -@@ -1113,7 +1150,6 @@ int ZEXPORT deflateCopy (dest, source) - #else - deflate_state *ds; - deflate_state *ss; -- ushf *overlay; - - - if (deflateStateCheck(source) || dest == Z_NULL) { -@@ -1133,8 +1169,7 @@ int ZEXPORT deflateCopy (dest, source) - ds->window = (Bytef *) ZALLOC(dest, ds->w_size, 2*sizeof(Byte)); - ds->prev = (Posf *) ZALLOC(dest, ds->w_size, sizeof(Pos)); - ds->head = (Posf *) ZALLOC(dest, ds->hash_size, sizeof(Pos)); -- overlay = (ushf *) ZALLOC(dest, ds->lit_bufsize, sizeof(ush)+2); -- ds->pending_buf = (uchf *) overlay; -+ ds->pending_buf = (uchf *) ZALLOC(dest, ds->lit_bufsize, 4); - - if (ds->window == Z_NULL || ds->prev == Z_NULL || ds->head == Z_NULL || - ds->pending_buf == Z_NULL) { -@@ -1148,8 +1183,7 @@ int ZEXPORT deflateCopy (dest, source) - zmemcpy(ds->pending_buf, ss->pending_buf, (uInt)ds->pending_buf_size); - - ds->pending_out = ds->pending_buf + (ss->pending_out - ss->pending_buf); -- ds->d_buf = overlay + ds->lit_bufsize/sizeof(ush); -- ds->l_buf = ds->pending_buf + (1+sizeof(ush))*ds->lit_bufsize; -+ ds->sym_buf = ds->pending_buf + ds->lit_bufsize; - - ds->l_desc.dyn_tree = ds->dyn_ltree; - ds->d_desc.dyn_tree = ds->dyn_dtree; -@@ -1925,7 +1959,7 @@ local block_state deflate_fast(s, flush) - FLUSH_BLOCK(s, 1); - return finish_done; - } -- if (s->last_lit) -+ if (s->sym_next) - FLUSH_BLOCK(s, 0); - return block_done; - } -@@ -2056,7 +2090,7 @@ local block_state deflate_slow(s, flush) - FLUSH_BLOCK(s, 1); - return finish_done; - } -- if (s->last_lit) -+ if (s->sym_next) - FLUSH_BLOCK(s, 0); - return block_done; - } -@@ -2131,7 +2165,7 @@ local block_state deflate_rle(s, flush) - FLUSH_BLOCK(s, 1); - return finish_done; - } -- if (s->last_lit) -+ if (s->sym_next) - FLUSH_BLOCK(s, 0); - return block_done; - } -@@ -2170,7 +2204,7 @@ local block_state deflate_huff(s, flush) - FLUSH_BLOCK(s, 1); - return finish_done; - } -- if (s->last_lit) -+ if (s->sym_next) - FLUSH_BLOCK(s, 0); - return block_done; - } -diff --git a/deflate.h b/deflate.h -index 23ecdd3..d4cf1a9 100644 ---- a/deflate.h -+++ b/deflate.h -@@ -217,7 +217,7 @@ typedef struct internal_state { - /* Depth of each subtree used as tie breaker for trees of equal frequency - */ - -- uchf *l_buf; /* buffer for literals or lengths */ -+ uchf *sym_buf; /* buffer for distances and literals/lengths */ - - uInt lit_bufsize; - /* Size of match buffer for literals/lengths. There are 4 reasons for -@@ -239,13 +239,8 @@ typedef struct internal_state { - * - I can't count above 4 - */ - -- uInt last_lit; /* running index in l_buf */ -- -- ushf *d_buf; -- /* Buffer for distances. To simplify the code, d_buf and l_buf have -- * the same number of elements. To use different lengths, an extra flag -- * array would be necessary. -- */ -+ uInt sym_next; /* running index in sym_buf */ -+ uInt sym_end; /* symbol table full when sym_next reaches this */ - - ulg opt_len; /* bit length of current block with optimal trees */ - ulg static_len; /* bit length of current block with static trees */ -@@ -325,20 +320,22 @@ void ZLIB_INTERNAL _tr_stored_block OF((deflate_state *s, charf *buf, - - # define _tr_tally_lit(s, c, flush) \ - { uch cc = (c); \ -- s->d_buf[s->last_lit] = 0; \ -- s->l_buf[s->last_lit++] = cc; \ -+ s->sym_buf[s->sym_next++] = 0; \ -+ s->sym_buf[s->sym_next++] = 0; \ -+ s->sym_buf[s->sym_next++] = cc; \ - s->dyn_ltree[cc].Freq++; \ -- flush = (s->last_lit == s->lit_bufsize-1); \ -+ flush = (s->sym_next == s->sym_end); \ - } - # define _tr_tally_dist(s, distance, length, flush) \ - { uch len = (uch)(length); \ - ush dist = (ush)(distance); \ -- s->d_buf[s->last_lit] = dist; \ -- s->l_buf[s->last_lit++] = len; \ -+ s->sym_buf[s->sym_next++] = dist; \ -+ s->sym_buf[s->sym_next++] = dist >> 8; \ -+ s->sym_buf[s->sym_next++] = len; \ - dist--; \ - s->dyn_ltree[_length_code[len]+LITERALS+1].Freq++; \ - s->dyn_dtree[d_code(dist)].Freq++; \ -- flush = (s->last_lit == s->lit_bufsize-1); \ -+ flush = (s->sym_next == s->sym_end); \ - } - #else - # define _tr_tally_lit(s, c, flush) flush = _tr_tally(s, 0, c) -diff --git a/trees.c b/trees.c -index 4f4a650..decaeb7 100644 ---- a/trees.c -+++ b/trees.c -@@ -416,7 +416,7 @@ local void init_block(s) - - s->dyn_ltree[END_BLOCK].Freq = 1; - s->opt_len = s->static_len = 0L; -- s->last_lit = s->matches = 0; -+ s->sym_next = s->matches = 0; - } - - #define SMALLEST 1 -@@ -948,7 +948,7 @@ void ZLIB_INTERNAL _tr_flush_block(s, buf, stored_len, last) - - Tracev((stderr, "\nopt %lu(%lu) stat %lu(%lu) stored %lu lit %u ", - opt_lenb, s->opt_len, static_lenb, s->static_len, stored_len, -- s->last_lit)); -+ s->sym_next / 3)); - - if (static_lenb <= opt_lenb) opt_lenb = static_lenb; - -@@ -1017,8 +1017,9 @@ int ZLIB_INTERNAL _tr_tally (s, dist, lc) - unsigned dist; /* distance of matched string */ - unsigned lc; /* match length-MIN_MATCH or unmatched char (if dist==0) */ - { -- s->d_buf[s->last_lit] = (ush)dist; -- s->l_buf[s->last_lit++] = (uch)lc; -+ s->sym_buf[s->sym_next++] = dist; -+ s->sym_buf[s->sym_next++] = dist >> 8; -+ s->sym_buf[s->sym_next++] = lc; - if (dist == 0) { - /* lc is the unmatched char */ - s->dyn_ltree[lc].Freq++; -@@ -1033,30 +1034,7 @@ int ZLIB_INTERNAL _tr_tally (s, dist, lc) - s->dyn_ltree[_length_code[lc]+LITERALS+1].Freq++; - s->dyn_dtree[d_code(dist)].Freq++; - } -- --#ifdef TRUNCATE_BLOCK -- /* Try to guess if it is profitable to stop the current block here */ -- if ((s->last_lit & 0x1fff) == 0 && s->level > 2) { -- /* Compute an upper bound for the compressed length */ -- ulg out_length = (ulg)s->last_lit*8L; -- ulg in_length = (ulg)((long)s->strstart - s->block_start); -- int dcode; -- for (dcode = 0; dcode < D_CODES; dcode++) { -- out_length += (ulg)s->dyn_dtree[dcode].Freq * -- (5L+extra_dbits[dcode]); -- } -- out_length >>= 3; -- Tracev((stderr,"\nlast_lit %u, in %ld, out ~%ld(%ld%%) ", -- s->last_lit, in_length, out_length, -- 100L - out_length*100L/in_length)); -- if (s->matches < s->last_lit/2 && out_length < in_length/2) return 1; -- } --#endif -- return (s->last_lit == s->lit_bufsize-1); -- /* We avoid equality with lit_bufsize because of wraparound at 64K -- * on 16 bit machines and because stored blocks are restricted to -- * 64K-1 bytes. -- */ -+ return (s->sym_next == s->sym_end); - } - - /* =========================================================================== -@@ -1069,13 +1047,14 @@ local void compress_block(s, ltree, dtree) - { - unsigned dist; /* distance of matched string */ - int lc; /* match length or unmatched char (if dist == 0) */ -- unsigned lx = 0; /* running index in l_buf */ -+ unsigned sx = 0; /* running index in sym_buf */ - unsigned code; /* the code to send */ - int extra; /* number of extra bits to send */ - -- if (s->last_lit != 0) do { -- dist = s->d_buf[lx]; -- lc = s->l_buf[lx++]; -+ if (s->sym_next != 0) do { -+ dist = s->sym_buf[sx++] & 0xff; -+ dist += (unsigned)(s->sym_buf[sx++] & 0xff) << 8; -+ lc = s->sym_buf[sx++]; - if (dist == 0) { - send_code(s, lc, ltree); /* send a literal byte */ - Tracecv(isgraph(lc), (stderr," '%c' ", lc)); -@@ -1100,11 +1079,10 @@ local void compress_block(s, ltree, dtree) - } - } /* literal or match pair ? */ - -- /* Check that the overlay between pending_buf and d_buf+l_buf is ok: */ -- Assert((uInt)(s->pending) < s->lit_bufsize + 2*lx, -- "pendingBuf overflow"); -+ /* Check that the overlay between pending_buf and sym_buf is ok: */ -+ Assert(s->pending < s->lit_bufsize + sx, "pendingBuf overflow"); - -- } while (lx < s->last_lit); -+ } while (sx < s->sym_next); - - send_code(s, END_BLOCK, ltree); - } --- -2.33.1 - diff --git a/pkgs/development/libraries/zlib/CVE-2018-25032-2.patch b/pkgs/development/libraries/zlib/CVE-2018-25032-2.patch deleted file mode 100644 index dadc904a07fb..000000000000 --- a/pkgs/development/libraries/zlib/CVE-2018-25032-2.patch +++ /dev/null @@ -1,27 +0,0 @@ -From 4346a16853e19b45787ce933666026903fb8f3f8 Mon Sep 17 00:00:00 2001 -From: Mark Adler -Date: Tue, 17 Apr 2018 22:44:41 -0700 -Subject: [PATCH 2/2] Assure that the number of bits for deflatePrime() is - valid. - ---- - deflate.c | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -diff --git a/deflate.c b/deflate.c -index 19cba87..23aef18 100644 ---- a/deflate.c -+++ b/deflate.c -@@ -589,7 +589,8 @@ int ZEXPORT deflatePrime (strm, bits, value) - - if (deflateStateCheck(strm)) return Z_STREAM_ERROR; - s = strm->state; -- if (s->sym_buf < s->pending_out + ((Buf_size + 7) >> 3)) -+ if (bits < 0 || bits > 16 || -+ s->sym_buf < s->pending_out + ((Buf_size + 7) >> 3)) - return Z_BUF_ERROR; - do { - put = Buf_size - s->bi_valid; --- -2.33.1 - From 845ca1e858cb7536cc5e0b9255002e4c6a020cc2 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 31 Mar 2022 19:05:21 +0000 Subject: [PATCH 094/203] python310Packages.aioairzone: 0.2.1 -> 0.3.1 --- pkgs/development/python-modules/aioairzone/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/aioairzone/default.nix b/pkgs/development/python-modules/aioairzone/default.nix index cda625d49533..5983c46b3ab8 100644 --- a/pkgs/development/python-modules/aioairzone/default.nix +++ b/pkgs/development/python-modules/aioairzone/default.nix @@ -7,7 +7,7 @@ buildPythonPackage rec { pname = "aioairzone"; - version = "0.2.1"; + version = "0.3.1"; format = "setuptools"; disabled = pythonOlder "3.8"; @@ -16,7 +16,7 @@ buildPythonPackage rec { owner = "Noltari"; repo = pname; rev = version; - hash = "sha256-R5OK/B7fq15lpt8nKECiHMmfK9xmiLPtoKC65C7H/7c="; + hash = "sha256-iu0pX12GmP5u6G8uY+6FODj732dD6JPxkrpWXw41/6Q="; }; propagatedBuildInputs = [ From 7cbe3d69a76458f38e61db14aa7849f67e7e24ff Mon Sep 17 00:00:00 2001 From: Michael Weiss Date: Thu, 31 Mar 2022 21:18:47 +0200 Subject: [PATCH 095/203] chromiumDev: 101.0.4951.7 -> 101.0.4951.15 --- .../networking/browsers/chromium/upstream-info.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/applications/networking/browsers/chromium/upstream-info.json b/pkgs/applications/networking/browsers/chromium/upstream-info.json index 78377193eb35..beeb65aaa5e3 100644 --- a/pkgs/applications/networking/browsers/chromium/upstream-info.json +++ b/pkgs/applications/networking/browsers/chromium/upstream-info.json @@ -32,9 +32,9 @@ } }, "dev": { - "version": "101.0.4951.7", - "sha256": "0xnvbiqi50hgky35qaivcyzfp05nnwfwqrd50dksqkzycl8avb4z", - "sha256bin64": "19my3zr9d3w2ypl9cm1xa15vhyv9add1f283alb9fmh2qwhl4scg", + "version": "101.0.4951.15", + "sha256": "1gm70mz6gzildh1g082q4dg5q9namm9kvxfj5qrdcj67gvz5m66y", + "sha256bin64": "0m1q85ai9pyam9anh8aiv7hyadam0hjkkhnsa6s05d82k8kz5rvc", "deps": { "gn": { "version": "2022-03-14", From 773cfb08598b87eb08d7874ae58ab1c8923d0c2b Mon Sep 17 00:00:00 2001 From: Michael Weiss Date: Thu, 31 Mar 2022 21:18:47 +0200 Subject: [PATCH 096/203] chromiumBeta: 100.0.4896.60 -> 101.0.4951.15 --- .../networking/browsers/chromium/upstream-info.json | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/pkgs/applications/networking/browsers/chromium/upstream-info.json b/pkgs/applications/networking/browsers/chromium/upstream-info.json index 78377193eb35..83a1727985bd 100644 --- a/pkgs/applications/networking/browsers/chromium/upstream-info.json +++ b/pkgs/applications/networking/browsers/chromium/upstream-info.json @@ -19,15 +19,15 @@ } }, "beta": { - "version": "100.0.4896.60", - "sha256": "1p7zggnhsz9gj3zil0nyas4ym5bd94vs0z6mdg7r1l0s0vrsaphf", - "sha256bin64": "059zrf3mm04iyzmgp594m3m7pw4458vym3wpawmdn94h5zi705i7", + "version": "101.0.4951.15", + "sha256": "1gm70mz6gzildh1g082q4dg5q9namm9kvxfj5qrdcj67gvz5m66y", + "sha256bin64": "0z2rx7mw9wg5ly8wmxkflk8f9gifq4cxqvi224v9dr11qqj8gwm2", "deps": { "gn": { - "version": "2022-01-21", + "version": "2022-03-14", "url": "https://gn.googlesource.com/gn", - "rev": "0725d7827575b239594fbc8fd5192873a1d62f44", - "sha256": "1dzdvcn2r5c9giknvasf3y5y4901kav7igivjvrpww66ywsj8fzr" + "rev": "bd99dbf98cbdefe18a4128189665c5761263bcfb", + "sha256": "0nql15ckjqkm001xajq3qyn4h4q80i7x6dm9zinxxr1a8q5lppx3" } } }, From ab4d1fb4b0f8b11afe615e6f712bc9970c629b79 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 31 Mar 2022 19:45:46 +0000 Subject: [PATCH 097/203] oh-my-zsh: 2022-03-29 -> 2022-03-31 --- pkgs/shells/zsh/oh-my-zsh/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/shells/zsh/oh-my-zsh/default.nix b/pkgs/shells/zsh/oh-my-zsh/default.nix index 851d5b08ff36..082472b9cd39 100644 --- a/pkgs/shells/zsh/oh-my-zsh/default.nix +++ b/pkgs/shells/zsh/oh-my-zsh/default.nix @@ -5,15 +5,15 @@ , git, nix, nixfmt, jq, coreutils, gnused, curl, cacert }: stdenv.mkDerivation rec { - version = "2022-03-29"; + version = "2022-03-31"; pname = "oh-my-zsh"; - rev = "93435bff4947ca0855d4d8ecc4786877578f0dd3"; + rev = "53863e7b3ff0c2e2816e90dab3d870adebdf49c7"; src = fetchFromGitHub { inherit rev; owner = "ohmyzsh"; repo = "ohmyzsh"; - sha256 = "w9DU2eTf8fID/xDhkJYVPuvYbVIXE9GKW8pycKZ9jVA="; + sha256 = "TQOGSAzcJfcUNTzUcCI5tTlAKD1JYtH9CiPnfHZaA9E="; }; installPhase = '' From 28068cebc9871de0f24ff6ae4e4abd7754d616d2 Mon Sep 17 00:00:00 2001 From: Yaya Date: Thu, 31 Mar 2022 19:33:27 +0000 Subject: [PATCH 098/203] nixos/tests/gitlab: Fix Authorization Bearer field Due to an incorrect shell escape the Authorization Bearer Token was not present in the cURL request headers. --- nixos/tests/gitlab.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nixos/tests/gitlab.nix b/nixos/tests/gitlab.nix index dc3b889c8e8e..d8b8cfddd2d9 100644 --- a/nixos/tests/gitlab.nix +++ b/nixos/tests/gitlab.nix @@ -112,7 +112,7 @@ import ./make-test-python.nix ({ pkgs, lib, ...} : with lib; { "${pkgs.sudo}/bin/sudo -u gitlab -H gitlab-rake gitlab:check 1>&2" ) gitlab.succeed( - "echo \"Authorization: Bearer \$(curl -X POST -H 'Content-Type: application/json' -d @${auth} http://gitlab/oauth/token | ${pkgs.jq}/bin/jq -r '.access_token')\" >/tmp/headers" + "echo \"Authorization: Bearer $(curl -X POST -H 'Content-Type: application/json' -d @${auth} http://gitlab/oauth/token | ${pkgs.jq}/bin/jq -r '.access_token')\" >/tmp/headers" ) '' + optionalString doSetup '' gitlab.succeed( From 86ec4e306e445d6b43356fc2665f6fa1d7ca6f10 Mon Sep 17 00:00:00 2001 From: Yaya Date: Thu, 31 Mar 2022 19:36:16 +0000 Subject: [PATCH 099/203] nixos/tests/gitlab: Fix project id Gitlab automatically creates a repository, taking away the project id=1. --- nixos/tests/gitlab.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/nixos/tests/gitlab.nix b/nixos/tests/gitlab.nix index d8b8cfddd2d9..f4fac2478fab 100644 --- a/nixos/tests/gitlab.nix +++ b/nixos/tests/gitlab.nix @@ -119,14 +119,14 @@ import ./make-test-python.nix ({ pkgs, lib, ...} : with lib; { "curl -X POST -H 'Content-Type: application/json' -H @/tmp/headers -d @${createProject} http://gitlab/api/v4/projects" ) gitlab.succeed( - "curl -X POST -H 'Content-Type: application/json' -H @/tmp/headers -d @${putFile} http://gitlab/api/v4/projects/1/repository/files/some-file.txt" + "curl -X POST -H 'Content-Type: application/json' -H @/tmp/headers -d @${putFile} http://gitlab/api/v4/projects/2/repository/files/some-file.txt" ) '' + '' gitlab.succeed( - "curl -H @/tmp/headers http://gitlab/api/v4/projects/1/repository/archive.tar.gz > /tmp/archive.tar.gz" + "curl -H @/tmp/headers http://gitlab/api/v4/projects/2/repository/archive.tar.gz > /tmp/archive.tar.gz" ) gitlab.succeed( - "curl -H @/tmp/headers http://gitlab/api/v4/projects/1/repository/archive.tar.bz2 > /tmp/archive.tar.bz2" + "curl -H @/tmp/headers http://gitlab/api/v4/projects/2/repository/archive.tar.bz2 > /tmp/archive.tar.bz2" ) gitlab.succeed("test -s /tmp/archive.tar.gz") gitlab.succeed("test -s /tmp/archive.tar.bz2") From 35251c637ba222c193e7dd5247606964d534c1d8 Mon Sep 17 00:00:00 2001 From: Yaya Date: Thu, 31 Mar 2022 19:39:12 +0000 Subject: [PATCH 100/203] nixos/tests/gitlab: Check HTTP response codes cURL always exits with `0` even when the HTTP response codes are above 400, leading to false-positive test results. --- nixos/tests/gitlab.nix | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/nixos/tests/gitlab.nix b/nixos/tests/gitlab.nix index f4fac2478fab..c5d925749211 100644 --- a/nixos/tests/gitlab.nix +++ b/nixos/tests/gitlab.nix @@ -116,17 +116,23 @@ import ./make-test-python.nix ({ pkgs, lib, ...} : with lib; { ) '' + optionalString doSetup '' gitlab.succeed( - "curl -X POST -H 'Content-Type: application/json' -H @/tmp/headers -d @${createProject} http://gitlab/api/v4/projects" + """[ "$(curl -o /dev/null -w '%{http_code}' -X POST -H 'Content-Type: application/json' -H @/tmp/headers -d @${createProject} http://gitlab/api/v4/projects)" = "201" ]""" ) gitlab.succeed( - "curl -X POST -H 'Content-Type: application/json' -H @/tmp/headers -d @${putFile} http://gitlab/api/v4/projects/2/repository/files/some-file.txt" + """[ "$(curl -o /dev/null -w '%{http_code}' -X POST -H 'Content-Type: application/json' -H @/tmp/headers -d @${putFile} http://gitlab/api/v4/projects/2/repository/files/some-file.txt)" = "201" ]""" ) '' + '' gitlab.succeed( - "curl -H @/tmp/headers http://gitlab/api/v4/projects/2/repository/archive.tar.gz > /tmp/archive.tar.gz" + """[ "$(curl -o /dev/null -w '%{http_code}' -H @/tmp/headers http://gitlab/api/v4/projects/2/repository/archive.tar.gz)" = "200" ]""" ) gitlab.succeed( - "curl -H @/tmp/headers http://gitlab/api/v4/projects/2/repository/archive.tar.bz2 > /tmp/archive.tar.bz2" + """curl -H @/tmp/headers http://gitlab/api/v4/projects/2/repository/archive.tar.gz > /tmp/archive.tar.gz""" + ) + gitlab.succeed( + """[ "$(curl -o /dev/null -w '%{http_code}' -H @/tmp/headers http://gitlab/api/v4/projects/2/repository/archive.tar.bz2)" = "200" ]""" + ) + gitlab.succeed( + """curl -o /dev/null -w '%{http_code}' -H @/tmp/headers http://gitlab/api/v4/projects/2/repository/archive.tar.bz2 > /tmp/archive.tar.bz2""" ) gitlab.succeed("test -s /tmp/archive.tar.gz") gitlab.succeed("test -s /tmp/archive.tar.bz2") From 8465654f6ab72bb765e584cbb45674d4fd6d8da1 Mon Sep 17 00:00:00 2001 From: Yaya Date: Thu, 31 Mar 2022 19:49:39 +0000 Subject: [PATCH 101/203] nixos/tests/gitlab: Add yayayayaka to maintainers --- nixos/tests/gitlab.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nixos/tests/gitlab.nix b/nixos/tests/gitlab.nix index c5d925749211..e1916ed36f31 100644 --- a/nixos/tests/gitlab.nix +++ b/nixos/tests/gitlab.nix @@ -6,7 +6,7 @@ in import ./make-test-python.nix ({ pkgs, lib, ...} : with lib; { name = "gitlab"; meta = with pkgs.lib.maintainers; { - maintainers = [ globin ]; + maintainers = [ globin yayayayaka ]; }; nodes = { From 82230fc6ea9d56192346d3d9be1f2c7d951de52f Mon Sep 17 00:00:00 2001 From: TredwellGit Date: Thu, 31 Mar 2022 20:10:23 +0000 Subject: [PATCH 102/203] brave: 1.36.122 -> 1.37.109 https://github.com/brave/brave-browser/blob/master/CHANGELOG_DESKTOP.md#137109 --- pkgs/applications/networking/browsers/brave/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/networking/browsers/brave/default.nix b/pkgs/applications/networking/browsers/brave/default.nix index 65627a490d10..7c0006f745c6 100644 --- a/pkgs/applications/networking/browsers/brave/default.nix +++ b/pkgs/applications/networking/browsers/brave/default.nix @@ -91,11 +91,11 @@ in stdenv.mkDerivation rec { pname = "brave"; - version = "1.36.122"; + version = "1.37.109"; src = fetchurl { url = "https://github.com/brave/brave-browser/releases/download/v${version}/brave-browser_${version}_amd64.deb"; - sha256 = "aBHoEu1egRPMpeUBgRl2V5J3op1Ju+CvprG14dIWc8M="; + sha256 = "fL3vuCqUnzq38JD0bzM/DxLVb5P31iChbMVY2eax9RE="; }; dontConfigure = true; From bdfff535f0ce7ea8712c789240347f03fc215d43 Mon Sep 17 00:00:00 2001 From: Thiago Kenji Okada Date: Thu, 31 Mar 2022 22:35:44 +0100 Subject: [PATCH 103/203] buildGraalvmNativeImage: allow usage of arbitrary graalvm derivation This will allow for easier overrides for specific systems (e.g. `aarch64-linux` that is only supported in `graalvm17-ce`). --- .../build-graalvm-native-image/default.nix | 10 +++++----- pkgs/top-level/all-packages.nix | 4 +++- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/pkgs/build-support/build-graalvm-native-image/default.nix b/pkgs/build-support/build-graalvm-native-image/default.nix index 3aedd61ea6ce..d34f562bc537 100644 --- a/pkgs/build-support/build-graalvm-native-image/default.nix +++ b/pkgs/build-support/build-graalvm-native-image/default.nix @@ -1,4 +1,4 @@ -{ lib, stdenv, graalvmCEPackages, glibcLocales }: +{ lib, stdenv, graalvm, glibcLocales }: { name ? "${args.pname}-${args.version}" # Final executable name @@ -19,8 +19,8 @@ , extraNativeImageBuildArgs ? [ ] # XMX size of GraalVM during build , graalvmXmx ? "-J-Xmx6g" - # The GraalVM to use -, graalvm ? graalvmCEPackages.graalvm11-ce + # The GraalVM derivation to use +, graalvmDrv ? graalvm , meta ? { } , ... } @ args: @@ -28,7 +28,7 @@ stdenv.mkDerivation (args // { inherit dontUnpack; - nativeBuildInputs = (args.nativeBuildInputs or [ ]) ++ [ graalvm glibcLocales ]; + nativeBuildInputs = (args.nativeBuildInputs or [ ]) ++ [ graalvmDrv glibcLocales ]; nativeImageBuildArgs = nativeImageBuildArgs ++ extraNativeImageBuildArgs ++ [ graalvmXmx ]; @@ -52,7 +52,7 @@ stdenv.mkDerivation (args // { meta = { # default to graalvm's platforms - platforms = graalvm.meta.platforms; + platforms = graalvmDrv.meta.platforms; # default to executable name mainProgram = executable; } // meta; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 3a88b23b73b5..d6064543e4bc 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -12866,7 +12866,9 @@ with pkgs; }); graalvm11-ce = graalvmCEPackages.graalvm11-ce; graalvm17-ce = graalvmCEPackages.graalvm17-ce; - buildGraalvmNativeImage = callPackage ../build-support/build-graalvm-native-image { }; + buildGraalvmNativeImage = callPackage ../build-support/build-graalvm-native-image { + graalvm = graalvm11-ce; + }; inherit (callPackages ../development/compilers/graalvm/enterprise-edition.nix { }) graalvm8-ee From 5e7759bd9da7e0590fceedae35d1c3ae06a86d38 Mon Sep 17 00:00:00 2001 From: Thiago Kenji Okada Date: Thu, 31 Mar 2022 22:37:58 +0100 Subject: [PATCH 104/203] HentaiAtHome: rename graalvm -> graalvmDrv --- pkgs/applications/misc/HentaiAtHome/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/applications/misc/HentaiAtHome/default.nix b/pkgs/applications/misc/HentaiAtHome/default.nix index dc2b7ab804ab..d185096aa797 100644 --- a/pkgs/applications/misc/HentaiAtHome/default.nix +++ b/pkgs/applications/misc/HentaiAtHome/default.nix @@ -13,7 +13,7 @@ buildGraalvmNativeImage rec { jar = "${src}/HentaiAtHome.jar"; dontUnpack = true; - graalvm = graalvm17-ce; + graalvmDrv = graalvm17-ce; extraNativeImageBuildArgs = [ "--enable-url-protocols=http,https" "--install-exit-handlers" From 1e2c1b83728c51a23f183e518c3a312f15dd0aaf Mon Sep 17 00:00:00 2001 From: Martin Weinelt Date: Fri, 1 Apr 2022 00:02:34 +0200 Subject: [PATCH 105/203] mediawiki: 1.37.1 -> 1.37.2 https://lists.wikimedia.org/hyperkitty/list/mediawiki-announce@lists.wikimedia.org/message/YJNXKPV5Z56NSUQ4G3SXPDUIZG5EQ7UR/ Fixes: CVE-2022-28202, CVE-2022-22801, CVE-2022-28203, CVE-2022-28204 --- pkgs/servers/web-apps/mediawiki/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/servers/web-apps/mediawiki/default.nix b/pkgs/servers/web-apps/mediawiki/default.nix index 650b27a7f554..2339c170f166 100644 --- a/pkgs/servers/web-apps/mediawiki/default.nix +++ b/pkgs/servers/web-apps/mediawiki/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { pname = "mediawiki"; - version = "1.37.1"; + version = "1.37.2"; src = with lib; fetchurl { url = "https://releases.wikimedia.org/mediawiki/${versions.majorMinor version}/${pname}-${version}.tar.gz"; - sha256 = "sha256-U0NuktwwrbFLZ5fYE50gaWpUYVJfOKN1yD5DXPBC4uc="; + sha256 = "sha256-WD8HS8r87BfaUBQqVvW7/eXDNml31h2RLX5W/Mo72hs="; }; prePatch = '' From b457d917dcfa6d73fdb7b9317440ff5fb5ee4b8b Mon Sep 17 00:00:00 2001 From: Dominique Martinet Date: Sun, 27 Feb 2022 19:06:44 +0900 Subject: [PATCH 106/203] logrotate: move mail dependency from package to service having pkgs.logrotate depend on mailutils brings in quite a bit of dependencies through mailutil itself and recursive dependency to guile when most people do not need it. Remove mailutils dependency from the package, and conditionally add it to the service if the user specify the mail option either at top level or in a path Fixes #162001 --- nixos/modules/services/logging/logrotate.nix | 16 ++++++---- nixos/tests/logrotate.nix | 31 +++++++++++++------- pkgs/tools/system/logrotate/default.nix | 3 -- 3 files changed, 32 insertions(+), 18 deletions(-) diff --git a/nixos/modules/services/logging/logrotate.nix b/nixos/modules/services/logging/logrotate.nix index 082cf92ff4ef..8dfece8109d3 100644 --- a/nixos/modules/services/logging/logrotate.nix +++ b/nixos/modules/services/logging/logrotate.nix @@ -97,12 +97,18 @@ let ''; paths = sortProperties (attrValues (filterAttrs (_: pathOpts: pathOpts.enable) cfg.paths)); - configFile = pkgs.writeText "logrotate.conf" ( - concatStringsSep "\n" ( + configText = concatStringsSep "\n" ( [ "missingok" "notifempty" cfg.extraConfig ] ++ (map mkConf paths) - ) - ); + ); + configFile = pkgs.writeText "logrotate.conf" configText; + mailOption = + # add mail option to service if a mail is requested in config + # this ugly match will be replaced by cleaner attribute check in + # the near future + if builtins.match "(.*[[:space:]])?mail[[:space:]].*" configText != null + then "--mail=${pkgs.mailutils}/bin/mail" + else ""; in { imports = [ @@ -172,7 +178,7 @@ in serviceConfig = { Restart = "no"; User = "root"; - ExecStart = "${pkgs.logrotate}/sbin/logrotate ${configFile}"; + ExecStart = "${pkgs.logrotate}/sbin/logrotate ${mailOption} ${configFile}"; }; }; }; diff --git a/nixos/tests/logrotate.nix b/nixos/tests/logrotate.nix index 7e3046c94272..85923465593a 100644 --- a/nixos/tests/logrotate.nix +++ b/nixos/tests/logrotate.nix @@ -1,26 +1,33 @@ # Test logrotate service works and is enabled by default -import ./make-test-python.nix ({ pkgs, ...} : rec { +import ./make-test-python.nix ({ pkgs, ... }: rec { name = "logrotate"; meta = with pkgs.lib.maintainers; { maintainers = [ martinetd ]; }; - # default machine - nodes.machine = { ... }: { + nodes = { + defaultMachine = { ... }: { }; + machine = { config, ... }: { + services.logrotate.paths = { + # using mail somewhere should add --mail to logrotate invokation + sendmail = { + extraConfig = "mail user@domain.tld"; + }; + }; + }; }; testScript = '' with subtest("whether logrotate works"): - machine.succeed( - # we must rotate once first to create logrotate stamp - "systemctl start logrotate.service") + # we must rotate once first to create logrotate stamp + defaultMachine.succeed("systemctl start logrotate.service") # we need to wait for console text once here to # clear console buffer up to this point for next wait - machine.wait_for_console_text('logrotate.service: Deactivated successfully') + defaultMachine.wait_for_console_text('logrotate.service: Deactivated successfully') - machine.succeed( + defaultMachine.succeed( # wtmp is present in default config. "rm -f /var/log/wtmp*", # we need to give it at least 1MB @@ -28,10 +35,14 @@ import ./make-test-python.nix ({ pkgs, ...} : rec { # move into the future and check rotation. "date -s 'now + 1 month + 1 day'") - machine.wait_for_console_text('logrotate.service: Deactivated successfully') - machine.succeed( + defaultMachine.wait_for_console_text('logrotate.service: Deactivated successfully') + defaultMachine.succeed( # check rotate worked "[ -e /var/log/wtmp.1 ]", ) + with subtest("default config does not have mail"): + defaultMachine.fail("systemctl cat logrotate.service | grep -- --mail") + with subtest("using mails adds mail option"): + machine.succeed("systemctl cat logrotate.service | grep -- --mail") ''; }) diff --git a/pkgs/tools/system/logrotate/default.nix b/pkgs/tools/system/logrotate/default.nix index f0ce08383359..4c9536cd7cf4 100644 --- a/pkgs/tools/system/logrotate/default.nix +++ b/pkgs/tools/system/logrotate/default.nix @@ -1,5 +1,4 @@ { lib, stdenv, fetchFromGitHub, gzip, popt, autoreconfHook -, mailutils ? null , aclSupport ? true, acl , nixosTests }: @@ -19,8 +18,6 @@ stdenv.mkDerivation rec { configureFlags = [ "--with-compress-command=${gzip}/bin/gzip" "--with-uncompress-command=${gzip}/bin/gunzip" - ] ++ lib.optionals (mailutils != null) [ - "--with-default-mail-command=${mailutils}/bin/mail" ]; nativeBuildInputs = [ autoreconfHook ]; From 3a2fa0d04928e67d20f10df75a60fa2ea0002a15 Mon Sep 17 00:00:00 2001 From: Dominique Martinet Date: Tue, 1 Mar 2022 06:53:15 +0900 Subject: [PATCH 107/203] logrotate: run through nixpkgs-fmt Running once now will make further patches formatting easier --- nixos/modules/services/logging/logrotate.nix | 25 +++++++++++--------- 1 file changed, 14 insertions(+), 11 deletions(-) diff --git a/nixos/modules/services/logging/logrotate.nix b/nixos/modules/services/logging/logrotate.nix index 8dfece8109d3..7e32296c7909 100644 --- a/nixos/modules/services/logging/logrotate.nix +++ b/nixos/modules/services/logging/logrotate.nix @@ -5,7 +5,7 @@ with lib; let cfg = config.services.logrotate; - pathOpts = { name, ... }: { + pathOpts = { name, ... }: { options = { enable = mkOption { type = types.bool; @@ -98,8 +98,8 @@ let paths = sortProperties (attrValues (filterAttrs (_: pathOpts: pathOpts.enable) cfg.paths)); configText = concatStringsSep "\n" ( - [ "missingok" "notifempty" cfg.extraConfig ] ++ (map mkConf paths) - ); + [ "missingok" "notifempty" cfg.extraConfig ] ++ (map mkConf paths) + ); configFile = pkgs.writeText "logrotate.conf" configText; mailOption = @@ -124,7 +124,7 @@ in paths = mkOption { type = with types; attrsOf (submodule pathOpts); - default = {}; + default = { }; description = '' Attribute set of paths to rotate. The order each block appears in the generated configuration file can be controlled by the priority option @@ -163,13 +163,16 @@ in }; config = mkIf cfg.enable { - assertions = mapAttrsToList (name: pathOpts: - { assertion = (pathOpts.user != null) == (pathOpts.group != null); - message = '' - If either of `services.logrotate.paths.${name}.user` or `services.logrotate.paths.${name}.group` are specified then *both* must be specified. - ''; - } - ) cfg.paths; + assertions = mapAttrsToList + (name: pathOpts: + { + assertion = (pathOpts.user != null) == (pathOpts.group != null); + message = '' + If either of `services.logrotate.paths.${name}.user` or `services.logrotate.paths.${name}.group` are specified then *both* must be specified. + ''; + } + ) + cfg.paths; systemd.services.logrotate = { description = "Logrotate Service"; From 3cc8ea28d1c20320b674d3d4131d02e4df8df5fa Mon Sep 17 00:00:00 2001 From: Dominique Martinet Date: Tue, 1 Mar 2022 22:02:32 +0900 Subject: [PATCH 108/203] logrotate: add services.logrotate.configFile escape hatch --- nixos/modules/services/logging/logrotate.nix | 23 +++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) diff --git a/nixos/modules/services/logging/logrotate.nix b/nixos/modules/services/logging/logrotate.nix index 7e32296c7909..d16a5a571ba3 100644 --- a/nixos/modules/services/logging/logrotate.nix +++ b/nixos/modules/services/logging/logrotate.nix @@ -122,6 +122,27 @@ in defaultText = literalExpression "cfg.paths != {}"; }; + configFile = mkOption { + type = types.path; + default = configFile; + defaultText = '' + A configuration file automatically generated by NixOS. + ''; + description = '' + Override the configuration file used by MySQL. By default, + NixOS generates one automatically from . + ''; + example = literalExpression '' + pkgs.writeText "logrotate.conf" ''' + missingok + "/var/log/*.log" { + rotate 4 + weekly + } + '''; + ''; + }; + paths = mkOption { type = with types; attrsOf (submodule pathOpts); default = { }; @@ -181,7 +202,7 @@ in serviceConfig = { Restart = "no"; User = "root"; - ExecStart = "${pkgs.logrotate}/sbin/logrotate ${mailOption} ${configFile}"; + ExecStart = "${pkgs.logrotate}/sbin/logrotate ${mailOption} ${cfg.configFile}"; }; }; }; From e92c05349c6053df22cf21eb9f424251ba2b114f Mon Sep 17 00:00:00 2001 From: Dominique Martinet Date: Tue, 1 Mar 2022 06:54:12 +0900 Subject: [PATCH 109/203] nixos/logrotate: convert to freeform using freeform is the new standard way of using modules and should replace extraConfig. In particular, this will allow us to place a condition on mails --- .../from_md/release-notes/rl-2205.section.xml | 17 +- .../manual/release-notes/rl-2205.section.md | 5 +- nixos/modules/services/logging/logrotate.nix | 192 +++++++++++++++--- nixos/modules/services/misc/gitlab.nix | 16 +- .../services/networking/lxd-image-server.nix | 18 +- .../web-servers/apache-httpd/default.nix | 21 +- .../services/web-servers/nginx/default.nix | 16 +- nixos/modules/system/boot/systemd.nix | 18 +- nixos/modules/virtualisation/azure-agent.nix | 14 +- nixos/tests/logrotate.nix | 80 +++++++- 10 files changed, 297 insertions(+), 100 deletions(-) diff --git a/nixos/doc/manual/from_md/release-notes/rl-2205.section.xml b/nixos/doc/manual/from_md/release-notes/rl-2205.section.xml index 99af050d7baf..9535d441740b 100644 --- a/nixos/doc/manual/from_md/release-notes/rl-2205.section.xml +++ b/nixos/doc/manual/from_md/release-notes/rl-2205.section.xml @@ -1655,9 +1655,20 @@ - services.logrotate.enable now defaults to - true if any rotate path has been defined, and some paths have - been added by default. + services.logrotate.enable + now defaults to true if any rotate path has been defined, and + some paths have been added by default. + + + + + The logrotate module also has been updated to freeform syntax: + services.logrotate.paths + and + services.logrotate.extraConfig + will work, but issue deprecation warnings and + services.logrotate.settings + should now be used instead. diff --git a/nixos/doc/manual/release-notes/rl-2205.section.md b/nixos/doc/manual/release-notes/rl-2205.section.md index 3e883625664e..377dd1b5cae1 100644 --- a/nixos/doc/manual/release-notes/rl-2205.section.md +++ b/nixos/doc/manual/release-notes/rl-2205.section.md @@ -578,8 +578,11 @@ In addition to numerous new and upgraded packages, this release has the followin - `services.mattermost.plugins` has been added to allow the declarative installation of Mattermost plugins. Plugins are automatically repackaged using autoPatchelf. -- `services.logrotate.enable` now defaults to true if any rotate path has +- [services.logrotate.enable](#opt-services.logrotate.enable) now defaults to true if any rotate path has been defined, and some paths have been added by default. +- The logrotate module also has been updated to freeform syntax: [services.logrotate.paths](#opt-services.logrotate.paths) + and [services.logrotate.extraConfig](#opt-services.logrotate.extraConfig) will work, but issue deprecation + warnings and [services.logrotate.settings](#opt-services.logrotate.settings) should now be used instead. - The `zrepl` package has been updated from 0.4.0 to 0.5: diff --git a/nixos/modules/services/logging/logrotate.nix b/nixos/modules/services/logging/logrotate.nix index d16a5a571ba3..6a9ed469fd38 100644 --- a/nixos/modules/services/logging/logrotate.nix +++ b/nixos/modules/services/logging/logrotate.nix @@ -5,6 +5,9 @@ with lib; let cfg = config.services.logrotate; + # deprecated legacy compat settings + # these options will be removed before 22.11 in the following PR: + # https://github.com/NixOS/nixpkgs/pull/164169 pathOpts = { name, ... }: { options = { enable = mkOption { @@ -86,27 +89,77 @@ let config.name = name; }; - mkConf = pathOpts: '' - # generated by NixOS using the `services.logrotate.paths.${pathOpts.name}` attribute set - ${concatMapStringsSep " " (path: ''"${path}"'') (toList pathOpts.path)} { - ${optionalString (pathOpts.user != null || pathOpts.group != null) "su ${pathOpts.user} ${pathOpts.group}"} - ${pathOpts.frequency} - rotate ${toString pathOpts.keep} - ${pathOpts.extraConfig} - } - ''; - - paths = sortProperties (attrValues (filterAttrs (_: pathOpts: pathOpts.enable) cfg.paths)); - configText = concatStringsSep "\n" ( - [ "missingok" "notifempty" cfg.extraConfig ] ++ (map mkConf paths) + generateLine = n: v: + if builtins.elem n [ "files" "priority" "enable" "global" ] || v == null then null + else if builtins.elem n [ "extraConfig" "frequency" ] then "${v}\n" + else if builtins.elem n [ "firstaction" "lastaction" "prerotate" "postrotate" "preremove" ] + then "${n}\n ${v}\n endscript\n" + else if isInt v then "${n} ${toString v}\n" + else if v == true then "${n}\n" + else if v == false then "no${n}\n" + else "${n} ${v}\n"; + generateSection = indent: settings: concatStringsSep (fixedWidthString indent " " "") ( + filter (x: x != null) (mapAttrsToList generateLine settings) + ); + + # generateSection includes a final newline hence weird closing brace + mkConf = settings: + if settings.global or false then generateSection 0 settings + else '' + ${concatMapStringsSep "\n" (files: ''"${files}"'') (toList settings.files)} { + ${generateSection 2 settings}} + ''; + + # below two mapPaths are compat functions + mapPathOptToSetting = n: v: + if n == "keep" then nameValuePair "rotate" v + else if n == "path" then nameValuePair "files" v + else nameValuePair n v; + + mapPathsToSettings = path: pathOpts: + nameValuePair path ( + filterAttrs (n: v: ! builtins.elem n [ "user" "group" "name" ] && v != "") ( + (mapAttrs' mapPathOptToSetting pathOpts) // + { + su = + if pathOpts.user != null + then "${pathOpts.user} ${pathOpts.group}" + else null; + } + ) + ); + + settings = sortProperties (attrValues (filterAttrs (_: settings: settings.enable) ( + foldAttrs recursiveUpdate { } [ + { + header = { + enable = true; + missingok = true; + notifempty = true; + frequency = "weekly"; + rotate = 4; + }; + # compat section + extraConfig = { + enable = (cfg.extraConfig != ""); + global = true; + extraConfig = cfg.extraConfig; + priority = 101; + }; + } + (mapAttrs' mapPathsToSettings cfg.paths) + cfg.settings + { header = { global = true; priority = 100; }; } + ] + ))); + configFile = pkgs.writeText "logrotate.conf" ( + concatStringsSep "\n" ( + map mkConf settings + ) ); - configFile = pkgs.writeText "logrotate.conf" configText; mailOption = - # add mail option to service if a mail is requested in config - # this ugly match will be replaced by cleaner attribute check in - # the near future - if builtins.match "(.*[[:space:]])?mail[[:space:]].*" configText != null + if foldr (n: a: a || n ? mail) false (attrValues cfg.settings) then "--mail=${pkgs.mailutils}/bin/mail" else ""; in @@ -118,8 +171,68 @@ in options = { services.logrotate = { enable = mkEnableOption "the logrotate systemd service" // { - default = foldr (n: a: a || n.enable) false (attrValues cfg.paths); - defaultText = literalExpression "cfg.paths != {}"; + default = foldr (n: a: a || n.enable) false (attrValues cfg.settings); + defaultText = literalExpression "cfg.settings != {}"; + }; + + settings = mkOption { + default = { }; + description = '' + logrotate freeform settings: each attribute here will define its own section, + ordered by priority, which can either define files to rotate with their settings + or settings common to all further files settings. + Refer to for details. + ''; + type = types.attrsOf (types.submodule ({ name, ... }: { + freeformType = with types; attrsOf (nullOr (oneOf [ int bool str ])); + + options = { + enable = mkEnableOption "setting individual kill switch" // { + default = true; + }; + + global = mkOption { + type = types.bool; + default = false; + description = '' + Whether this setting is a global option or not: set to have these + settings apply to all files settings with a higher priority. + ''; + }; + files = mkOption { + type = with types; either str (listOf str); + default = name; + defaultText = '' + The attrset name if not specified + ''; + description = '' + Single or list of files for which rules are defined. + The files are quoted with double-quotes in logrotate configuration, + so globs and spaces are supported. + Note this setting is ignored if globals is true. + ''; + }; + + frequency = mkOption { + type = types.nullOr types.str; + default = null; + description = '' + How often to rotate the logs. Defaults to previously set global setting, + which itself defauts to weekly. + ''; + }; + + priority = mkOption { + type = types.int; + default = 1000; + description = '' + Order of this logrotate block in relation to the others. The semantics are + the same as with `lib.mkOrder`. Smaller values are inserted first. + ''; + }; + }; + + })); }; configFile = mkOption { @@ -130,7 +243,7 @@ in ''; description = '' Override the configuration file used by MySQL. By default, - NixOS generates one automatically from . + NixOS generates one automatically from . ''; example = literalExpression '' pkgs.writeText "logrotate.conf" ''' @@ -143,6 +256,7 @@ in ''; }; + # deprecated legacy compat settings paths = mkOption { type = with types; attrsOf (submodule pathOpts); default = { }; @@ -150,6 +264,7 @@ in Attribute set of paths to rotate. The order each block appears in the generated configuration file can be controlled by the priority option using the same semantics as `lib.mkOrder`. Smaller values have a greater priority. + This setting has been deprecated in favor of logrotate settings. ''; example = literalExpression '' { @@ -178,22 +293,37 @@ in description = '' Extra contents to append to the logrotate configuration file. Refer to for details. + This setting has been deprecated in favor of + logrotate settings. ''; }; }; }; config = mkIf cfg.enable { - assertions = mapAttrsToList - (name: pathOpts: - { - assertion = (pathOpts.user != null) == (pathOpts.group != null); - message = '' - If either of `services.logrotate.paths.${name}.user` or `services.logrotate.paths.${name}.group` are specified then *both* must be specified. - ''; - } - ) - cfg.paths; + assertions = + mapAttrsToList + (name: pathOpts: + { + assertion = (pathOpts.user != null) == (pathOpts.group != null); + message = '' + If either of `services.logrotate.paths.${name}.user` or `services.logrotate.paths.${name}.group` are specified then *both* must be specified. + ''; + }) + cfg.paths; + + warnings = + (mapAttrsToList + (name: pathOpts: '' + Using config.services.logrotate.paths.${name} is deprecated and will become unsupported in a future release. + Please use services.logrotate.settings instead. + '') + cfg.paths + ) ++ + (optional (cfg.extraConfig != "") '' + Using config.services.logrotate.extraConfig is deprecated and will become unsupported in a future release. + Please use services.logrotate.settings with globals=true instead. + ''); systemd.services.logrotate = { description = "Logrotate Service"; diff --git a/nixos/modules/services/misc/gitlab.nix b/nixos/modules/services/misc/gitlab.nix index e48444f71612..488c3be7b653 100644 --- a/nixos/modules/services/misc/gitlab.nix +++ b/nixos/modules/services/misc/gitlab.nix @@ -848,10 +848,7 @@ in { extraConfig = mkOption { type = types.lines; - default = '' - copytruncate - compress - ''; + default = ""; description = '' Extra logrotate config options for this path. Refer to for details. @@ -977,13 +974,14 @@ in { # Enable rotation of log files services.logrotate = { enable = cfg.logrotate.enable; - paths = { + settings = { gitlab = { - path = "${cfg.statePath}/log/*.log"; - user = cfg.user; - group = cfg.group; + files = "${cfg.statePath}/log/*.log"; + su = "${cfg.user} ${cfg.group}"; frequency = cfg.logrotate.frequency; - keep = cfg.logrotate.keep; + rotate = cfg.logrotate.keep; + copytruncate = true; + compress = true; extraConfig = cfg.logrotate.extraConfig; }; }; diff --git a/nixos/modules/services/networking/lxd-image-server.nix b/nixos/modules/services/networking/lxd-image-server.nix index b119ba8acf63..d326626eed44 100644 --- a/nixos/modules/services/networking/lxd-image-server.nix +++ b/nixos/modules/services/networking/lxd-image-server.nix @@ -51,18 +51,14 @@ in environment.etc."lxd-image-server/config.toml".source = format.generate "config.toml" cfg.settings; - services.logrotate.paths.lxd-image-server = { - path = "/var/log/lxd-image-server/lxd-image-server.log"; + services.logrotate.settings.lxd-image-server = { + files = "/var/log/lxd-image-server/lxd-image-server.log"; frequency = "daily"; - keep = 21; - extraConfig = '' - create 755 lxd-image-server ${cfg.group} - missingok - compress - delaycompress - copytruncate - notifempty - ''; + rotate = 21; + create = "755 lxd-image-server ${cfg.group}"; + compress = true; + delaycompress = true; + copytruncate = true; }; systemd.tmpfiles.rules = [ diff --git a/nixos/modules/services/web-servers/apache-httpd/default.nix b/nixos/modules/services/web-servers/apache-httpd/default.nix index d817ff6019a3..3099705acbe2 100644 --- a/nixos/modules/services/web-servers/apache-httpd/default.nix +++ b/nixos/modules/services/web-servers/apache-httpd/default.nix @@ -710,20 +710,15 @@ in services.logrotate = optionalAttrs (cfg.logFormat != "none") { enable = mkDefault true; - paths.httpd = { - path = "${cfg.logDir}/*.log"; - user = cfg.user; - group = cfg.group; + settings.httpd = { + files = "${cfg.logDir}/*.log"; + su = "${cfg.user} ${cfg.group}"; frequency = "daily"; - keep = 28; - extraConfig = '' - sharedscripts - compress - delaycompress - postrotate - systemctl reload httpd.service > /dev/null 2>/dev/null || true - endscript - ''; + rotate = 28; + sharedscripts = true; + compress = true; + delaycompress = true; + postrotate = "systemctl reload httpd.service > /dev/null 2>/dev/null || true"; }; }; diff --git a/nixos/modules/services/web-servers/nginx/default.nix b/nixos/modules/services/web-servers/nginx/default.nix index e046c28dd6bb..1e18956c2dc4 100644 --- a/nixos/modules/services/web-servers/nginx/default.nix +++ b/nixos/modules/services/web-servers/nginx/default.nix @@ -989,17 +989,13 @@ in nginx.gid = config.ids.gids.nginx; }; - services.logrotate.paths.nginx = mapAttrs (_: mkDefault) { - path = "/var/log/nginx/*.log"; + services.logrotate.settings.nginx = mapAttrs (_: mkDefault) { + files = "/var/log/nginx/*.log"; frequency = "weekly"; - keep = 26; - extraConfig = '' - compress - delaycompress - postrotate - [ ! -f /var/run/nginx/nginx.pid ] || kill -USR1 `cat /var/run/nginx/nginx.pid` - endscript - ''; + rotate = 26; + compress = true; + delaycompress = true; + postrotate = "[ ! -f /var/run/nginx/nginx.pid ] || kill -USR1 `cat /var/run/nginx/nginx.pid`"; }; }; } diff --git a/nixos/modules/system/boot/systemd.nix b/nixos/modules/system/boot/systemd.nix index 297a80d4681b..f69c5d3d5a64 100644 --- a/nixos/modules/system/boot/systemd.nix +++ b/nixos/modules/system/boot/systemd.nix @@ -612,22 +612,18 @@ in boot.kernelParams = optional (!cfg.enableUnifiedCgroupHierarchy) "systemd.unified_cgroup_hierarchy=0"; - services.logrotate.paths = { + services.logrotate.settings = { "/var/log/btmp" = mapAttrs (_: mkDefault) { frequency = "monthly"; - keep = 1; - extraConfig = '' - create 0660 root ${config.users.groups.utmp.name} - minsize 1M - ''; + rotate = 1; + create = "0660 root ${config.users.groups.utmp.name}"; + minsize = "1M"; }; "/var/log/wtmp" = mapAttrs (_: mkDefault) { frequency = "monthly"; - keep = 1; - extraConfig = '' - create 0664 root ${config.users.groups.utmp.name} - minsize 1M - ''; + rotate = 1; + create = "0664 root ${config.users.groups.utmp.name}"; + minsize = "1M"; }; }; }; diff --git a/nixos/modules/virtualisation/azure-agent.nix b/nixos/modules/virtualisation/azure-agent.nix index bd8c7f8c1eea..e2425b44eac4 100644 --- a/nixos/modules/virtualisation/azure-agent.nix +++ b/nixos/modules/virtualisation/azure-agent.nix @@ -146,15 +146,11 @@ in services.logrotate = { enable = true; - extraConfig = '' - /var/log/waagent.log { - compress - monthly - rotate 6 - notifempty - missingok - } - ''; + settings."/var/log/waagent.log" = { + compress = true; + frequency = "monthly"; + rotate = 6; + }; }; systemd.targets.provisioned = { diff --git a/nixos/tests/logrotate.nix b/nixos/tests/logrotate.nix index 85923465593a..3087119c339f 100644 --- a/nixos/tests/logrotate.nix +++ b/nixos/tests/logrotate.nix @@ -1,5 +1,14 @@ # Test logrotate service works and is enabled by default +let + importTest = { ... }: { + services.logrotate.settings.import = { + olddir = false; + }; + }; + +in + import ./make-test-python.nix ({ pkgs, ... }: rec { name = "logrotate"; meta = with pkgs.lib.maintainers; { @@ -9,10 +18,59 @@ import ./make-test-python.nix ({ pkgs, ... }: rec { nodes = { defaultMachine = { ... }: { }; machine = { config, ... }: { - services.logrotate.paths = { + imports = [ importTest ]; + + services.logrotate.settings = { + # remove default frequency header and add another + header = { + frequency = null; + delaycompress = true; + }; + # extra global setting... affecting nothing + last_line = { + global = true; + priority = 2000; + shred = true; + }; # using mail somewhere should add --mail to logrotate invokation sendmail = { - extraConfig = "mail user@domain.tld"; + mail = "user@domain.tld"; + }; + # postrotate should be suffixed by 'endscript' + postrotate = { + postrotate = "touch /dev/null"; + }; + # multiple paths should be aggregated + multipath = { + files = [ "file1" "file2" ]; + }; + # overriding imported path should keep existing attributes + # (e.g. olddir is still set) + import = { + notifempty = true; + }; + }; + # extraConfig compatibility - should be added to top level, early. + services.logrotate.extraConfig = '' + nomail + ''; + # paths compatibility + services.logrotate.paths = { + compat_path = { + path = "compat_test_path"; + }; + # user/group should be grouped as 'su user group' + compat_user = { + user = config.users.users.root.name; + group = "root"; + }; + # extraConfig in path should be added to block + compat_extraConfig = { + extraConfig = "dateext"; + }; + # keep -> rotate + compat_keep = { + keep = 1; }; }; }; @@ -44,5 +102,23 @@ import ./make-test-python.nix ({ pkgs, ... }: rec { defaultMachine.fail("systemctl cat logrotate.service | grep -- --mail") with subtest("using mails adds mail option"): machine.succeed("systemctl cat logrotate.service | grep -- --mail") + with subtest("check generated config matches expectation"): + machine.succeed( + # copy conf to /tmp/logrotate.conf for easy grep + "conf=$(systemctl cat logrotate | grep -oE '/nix/store[^ ]*logrotate.conf'); cp $conf /tmp/logrotate.conf", + "! grep weekly /tmp/logrotate.conf", + "grep -E '^delaycompress' /tmp/logrotate.conf", + "tail -n 1 /tmp/logrotate.conf | grep shred", + "sed -ne '/\"sendmail\" {/,/}/p' /tmp/logrotate.conf | grep 'mail user@domain.tld'", + "sed -ne '/\"postrotate\" {/,/}/p' /tmp/logrotate.conf | grep endscript", + "grep '\"file1\"\n\"file2\" {' /tmp/logrotate.conf", + "sed -ne '/\"import\" {/,/}/p' /tmp/logrotate.conf | grep noolddir", + "sed -ne '1,/^\"/p' /tmp/logrotate.conf | grep nomail", + "grep '\"compat_test_path\" {' /tmp/logrotate.conf", + "sed -ne '/\"compat_user\" {/,/}/p' /tmp/logrotate.conf | grep 'su root root'", + "sed -ne '/\"compat_extraConfig\" {/,/}/p' /tmp/logrotate.conf | grep dateext", + "[[ $(sed -ne '/\"compat_keep\" {/,/}/p' /tmp/logrotate.conf | grep -w rotate) = \" rotate 1\" ]]", + "! sed -ne '/\"compat_keep\" {/,/}/p' /tmp/logrotate.conf | grep -w keep", + ) ''; }) From 45ef5c174113c9133250dab82d629d7ab5cdc01b Mon Sep 17 00:00:00 2001 From: Dominique Martinet Date: Wed, 2 Mar 2022 22:12:45 +0900 Subject: [PATCH 110/203] logrotate: add configuration check at build time MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Now the service no longer starts immediately, check if the config we generated makes sense as soon as possible. The check isn't perfect because logrotate --debug wants to check users required, there are two problems: - /etc/passwd and /etc/group are sandboxed and we don't have visibility of system users - the check phase runs as nixbld which cannot su to other users and logrotate fails on this Until these two problems can be addressed, users-related checks are filtered out, it's still much better than no check. The check can be disabled with services.logrotate.checkConfig if required (bird also has a preCheck param, to prepare the environment before check, but we can add it if it becomes necessary) Since this makes for very verbose builds, we only show errors: There is no way to control log level, but logrotate hardcodes 'error:' at common log level, so we can use grep, taking care to keep error codes Some manual tests: ───────┬────────────────────────────────────────── │ File: valid-config.conf ───────┼────────────────────────────────────────── 1 │ missingok ───────┴────────────────────────────────────────── logrotate --debug ok grep ok ───────┬────────────────────────────────────────── │ File: postrotate-no-end.conf ───────┼────────────────────────────────────────── 1 │ missingok 2 │ /file { 3 │ postrotate 4 │ test 5 │ } ───────┴────────────────────────────────────────── error: postrotate-no-end.conf:prerotate, postrotate or preremove without endscript ───────┬────────────────────────────────────────── │ File: missing-file.conf ───────┼────────────────────────────────────────── 1 │ "test" { daily } ───────┴────────────────────────────────────────── error: stat of test failed: No such file or directory ───────┬────────────────────────────────────────── │ File: unknown-option.conf ───────┼────────────────────────────────────────── 1 │ some syntax error ───────┴────────────────────────────────────────── logrotate --debug ok error: unknown-option.conf:1 unknown option 'some' -- ignoring line ───────┬────────────────────────────────────────── │ File: unknown-user.conf ───────┼────────────────────────────────────────── 1 │ su notauser notagroup ───────┴────────────────────────────────────────── error: unknown-user.conf:1 unknown user 'notauser' In particular note that logrotate would not error on unknown option (it just ignores the line) but this change makes the check fail. --- nixos/modules/services/logging/logrotate.nix | 60 ++++++++++++++++++-- nixos/tests/logrotate.nix | 8 +++ 2 files changed, 64 insertions(+), 4 deletions(-) diff --git a/nixos/modules/services/logging/logrotate.nix b/nixos/modules/services/logging/logrotate.nix index 6a9ed469fd38..c552d3b059c4 100644 --- a/nixos/modules/services/logging/logrotate.nix +++ b/nixos/modules/services/logging/logrotate.nix @@ -152,11 +152,45 @@ let { header = { global = true; priority = 100; }; } ] ))); - configFile = pkgs.writeText "logrotate.conf" ( - concatStringsSep "\n" ( + configFile = pkgs.writeTextFile { + name = "logrotate.conf"; + text = concatStringsSep "\n" ( map mkConf settings - ) - ); + ); + checkPhase = optionalString cfg.checkConfig '' + # logrotate --debug also checks that users specified in config + # file exist, but we only have sandboxed users here so brown these + # out. according to man page that means su, create and createolddir. + # files required to exist also won't be present, so missingok is forced. + user=$(${pkgs.coreutils}/bin/id -un) + group=$(${pkgs.coreutils}/bin/id -gn) + sed -e "s/\bsu\s.*/su $user $group/" \ + -e "s/\b\(create\s\+[0-9]*\s*\|createolddir\s\+[0-9]*\s\+\).*/\1$user $group/" \ + -e "1imissingok" -e "s/\bnomissingok\b//" \ + $out > /tmp/logrotate.conf + # Since this makes for very verbose builds only show real error. + # There is no way to control log level, but logrotate hardcodes + # 'error:' at common log level, so we can use grep, taking care + # to keep error codes + set -o pipefail + if ! ${pkgs.logrotate}/sbin/logrotate --debug /tmp/logrotate.conf 2>&1 \ + | ( ! grep "error:" ) > /tmp/logrotate-error; then + echo "Logrotate configuration check failed." + echo "The failing configuration (after adjustments to pass tests in sandbox) was:" + printf "%s\n" "-------" + cat /tmp/logrotate.conf + printf "%s\n" "-------" + echo "The error reported by logrotate was as follow:" + printf "%s\n" "-------" + cat /tmp/logrotate-error + printf "%s\n" "-------" + echo "You can disable this check with services.logrotate.checkConfig = false," + echo "but if you think it should work please report this failure along with" + echo "the config file being tested!" + false + fi + ''; + }; mailOption = if foldr (n: a: a || n ? mail) false (attrValues cfg.settings) @@ -256,6 +290,24 @@ in ''; }; + checkConfig = mkOption { + type = types.bool; + default = true; + description = '' + Whether the config should be checked at build time. + + Some options are not checkable at build time because of the build sandbox: + for example, the test does not know about existing files and system users are + not known. + These limitations mean we must adjust the file for tests (missingok is forced + and users are replaced by dummy users). + + Conversely there are still things that might make this check fail incorrectly + (e.g. a file path where we don't have access to intermediate directories): + in this case you can disable the failing check with this option. + ''; + }; + # deprecated legacy compat settings paths = mkOption { type = with types; attrsOf (submodule pathOpts); diff --git a/nixos/tests/logrotate.nix b/nixos/tests/logrotate.nix index 3087119c339f..31592f0a39c5 100644 --- a/nixos/tests/logrotate.nix +++ b/nixos/tests/logrotate.nix @@ -40,6 +40,14 @@ import ./make-test-python.nix ({ pkgs, ... }: rec { postrotate = { postrotate = "touch /dev/null"; }; + # check checkConfig works as expected: there is nothing to check here + # except that the file build passes + checkConf = { + su = "root utmp"; + createolddir = "0750 root utmp"; + create = "root utmp"; + "create " = "0750 root utmp"; + }; # multiple paths should be aggregated multipath = { files = [ "file1" "file2" ]; From b0a04e41052a7abf2c0538cd2f9c97bf9c86d911 Mon Sep 17 00:00:00 2001 From: Dominique Martinet Date: Sun, 27 Feb 2022 23:03:24 +0900 Subject: [PATCH 111/203] nginx/logrotate: run logrotate as nginx user --- nixos/modules/services/web-servers/nginx/default.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/nixos/modules/services/web-servers/nginx/default.nix b/nixos/modules/services/web-servers/nginx/default.nix index 1e18956c2dc4..7caaf5611cc0 100644 --- a/nixos/modules/services/web-servers/nginx/default.nix +++ b/nixos/modules/services/web-servers/nginx/default.nix @@ -992,6 +992,7 @@ in services.logrotate.settings.nginx = mapAttrs (_: mkDefault) { files = "/var/log/nginx/*.log"; frequency = "weekly"; + su = "${cfg.user} ${cfg.group}"; rotate = 26; compress = true; delaycompress = true; From 829c611b489f606c0b84fd315052681e8a03b083 Mon Sep 17 00:00:00 2001 From: Dominique Martinet Date: Sat, 5 Mar 2022 07:50:12 +0900 Subject: [PATCH 112/203] logrotate: add logrotate-checkconf.service the build-time check is not safe (e.g. doesn't protect from bad users or nomissingok paths missing), so add a new unit for configuration switch time check --- nixos/modules/services/logging/logrotate.nix | 14 +++++++++++++- nixos/tests/logrotate.nix | 20 ++++++++++++++++++++ 2 files changed, 33 insertions(+), 1 deletion(-) diff --git a/nixos/modules/services/logging/logrotate.nix b/nixos/modules/services/logging/logrotate.nix index c552d3b059c4..332a2a597edc 100644 --- a/nixos/modules/services/logging/logrotate.nix +++ b/nixos/modules/services/logging/logrotate.nix @@ -300,7 +300,10 @@ in for example, the test does not know about existing files and system users are not known. These limitations mean we must adjust the file for tests (missingok is forced - and users are replaced by dummy users). + and users are replaced by dummy users), so tests are complemented by a + logrotate-checkconf service that is enabled by default. + This extra check can be disabled by disabling it at the systemd level with the + option. Conversely there are still things that might make this check fail incorrectly (e.g. a file path where we don't have access to intermediate directories): @@ -387,5 +390,14 @@ in ExecStart = "${pkgs.logrotate}/sbin/logrotate ${mailOption} ${cfg.configFile}"; }; }; + systemd.services.logrotate-checkconf = { + description = "Logrotate configuration check"; + wantedBy = [ "multi-user.target" ]; + serviceConfig = { + Type = "oneshot"; + RemainAfterExit = true; + ExecStart = "${pkgs.logrotate}/sbin/logrotate --debug ${cfg.configFile}"; + }; + }; }; } diff --git a/nixos/tests/logrotate.nix b/nixos/tests/logrotate.nix index 31592f0a39c5..b0685f3af9ff 100644 --- a/nixos/tests/logrotate.nix +++ b/nixos/tests/logrotate.nix @@ -17,6 +17,12 @@ import ./make-test-python.nix ({ pkgs, ... }: rec { nodes = { defaultMachine = { ... }: { }; + failingMachine = { ... }: { + services.logrotate.configFile = pkgs.writeText "logrotate.conf" '' + # self-written config file + su notarealuser notagroupeither + ''; + }; machine = { config, ... }: { imports = [ importTest ]; @@ -128,5 +134,19 @@ import ./make-test-python.nix ({ pkgs, ... }: rec { "[[ $(sed -ne '/\"compat_keep\" {/,/}/p' /tmp/logrotate.conf | grep -w rotate) = \" rotate 1\" ]]", "! sed -ne '/\"compat_keep\" {/,/}/p' /tmp/logrotate.conf | grep -w keep", ) + # also check configFile option + failingMachine.succeed( + "conf=$(systemctl cat logrotate | grep -oE '/nix/store[^ ]*logrotate.conf'); cp $conf /tmp/logrotate.conf", + "grep 'self-written config' /tmp/logrotate.conf", + ) + with subtest("Check logrotate-checkconf service"): + machine.wait_for_unit("logrotate-checkconf.service") + # wait_for_unit also asserts for success, so wait for + # parent target instead and check manually. + failingMachine.wait_for_unit("multi-user.target") + info = failingMachine.get_unit_info("logrotate-checkconf.service") + if info["ActiveState"] != "failed": + raise Exception('logrotate-checkconf.service was not failed') + ''; }) From 6a751ecd3954faf9d7b52944fafbc572d2e100ff Mon Sep 17 00:00:00 2001 From: Pavel Borzenkov Date: Thu, 31 Mar 2022 18:28:12 +0200 Subject: [PATCH 113/203] terraform-providers.namecheap: init at 2.1.0 The provider allows to manage Namecheap DNS via terraform. --- .../cluster/terraform-providers/providers.json | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/pkgs/applications/networking/cluster/terraform-providers/providers.json b/pkgs/applications/networking/cluster/terraform-providers/providers.json index 56743624efaa..b70bf0de63e9 100644 --- a/pkgs/applications/networking/cluster/terraform-providers/providers.json +++ b/pkgs/applications/networking/cluster/terraform-providers/providers.json @@ -697,6 +697,15 @@ "vendorSha256": "0kkkrdbapyvfzmnbh5kmhlcz5l8g8gf0mfwbya66iy1bb6f6w4mz", "version": "1.3.0" }, + "namecheap": { + "owner": "namecheap", + "provider-source-address": "registry.terraform.io/namecheap/namecheap", + "repo": "terraform-provider-namecheap", + "rev": "v2.1.0", + "sha256": "sha256-cms8YUL+SjTeYyIOQibksi8ZHEBYq2JlgTEpOO1uMZE=", + "vendorSha256": null, + "version": "2.1.0" + }, "ncloud": { "owner": "NaverCloudPlatform", "provider-source-address": "registry.terraform.io/NaverCloudPlatform/ncloud", From b1d0be8bc7e9f51f8df1a7433bf071717a4ea8d6 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 31 Mar 2022 23:02:53 +0000 Subject: [PATCH 114/203] p2pool: 1.8 -> 1.9 --- pkgs/applications/misc/p2pool/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/misc/p2pool/default.nix b/pkgs/applications/misc/p2pool/default.nix index f888d162fc44..cb0b53e887b2 100644 --- a/pkgs/applications/misc/p2pool/default.nix +++ b/pkgs/applications/misc/p2pool/default.nix @@ -14,13 +14,13 @@ stdenv.mkDerivation rec { pname = "p2pool"; - version = "1.8"; + version = "1.9"; src = fetchFromGitHub { owner = "SChernykh"; repo = "p2pool"; rev = "v${version}"; - sha256 = "sha256-cQd3dtih7C+pEmkvlrsYTJtQWBVVMiFbtNQUM0Ck3tg="; + sha256 = "sha256-nqJ0F99QjrpwXHRPxZ7kLCYA9VJWGH2ahcr/MBQrhyY="; fetchSubmodules = true; }; From aeb47faee2a3592b2c75e1a10c21146cfcf61a76 Mon Sep 17 00:00:00 2001 From: Adam Joseph Date: Sun, 20 Feb 2022 23:16:10 -0800 Subject: [PATCH 115/203] dante: skip configure-time getaddrinfo-too-low check on mips64 This patch allows dante to be compiled (and cross-compiled) for mips64el. Co-authored-by: John Ericson --- pkgs/servers/dante/default.nix | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/pkgs/servers/dante/default.nix b/pkgs/servers/dante/default.nix index 1ed03f0e3d5a..12ba281d811c 100644 --- a/pkgs/servers/dante/default.nix +++ b/pkgs/servers/dante/default.nix @@ -1,4 +1,4 @@ -{ lib, stdenv, fetchurl, pam, libkrb5, cyrus_sasl, miniupnpc }: +{ lib, stdenv, fetchurl, fetchpatch, pam, libkrb5, cyrus_sasl, miniupnpc, autoreconfHook }: stdenv.mkDerivation rec { pname = "dante"; @@ -9,6 +9,7 @@ stdenv.mkDerivation rec { sha256 = "0pbahkj43rx7rmv2x40mf5p3g3x9d6i2sz7pzglarf54w5ghd2j1"; }; + nativeBuildInputs = lib.optional stdenv.hostPlatform.isMips64 autoreconfHook; buildInputs = [ pam libkrb5 cyrus_sasl miniupnpc ]; configureFlags = if !stdenv.isDarwin @@ -17,6 +18,13 @@ stdenv.mkDerivation rec { dontAddDisableDepTrack = stdenv.isDarwin; + patches = lib.optional stdenv.hostPlatform.isMips64 [ + (fetchpatch { + name = "0002-osdep-m4-Remove-getaddrinfo-too-low-checks.patch"; + url = "https://raw.githubusercontent.com/buildroot/buildroot/master/package/dante/0002-osdep-m4-Remove-getaddrinfo-too-low-checks.patch"; + sha256 = "sha256-e+qF8lB5tkiA7RlJ+tX5O6KxQrQp33RSPdP1TxU961Y="; + }) ]; + meta = with lib; { description = "A circuit-level SOCKS client/server that can be used to provide convenient and secure network connectivity"; homepage = "https://www.inet.no/dante/"; From 510b655a08f000263bfa74966bd25cb2cd3f554f Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 1 Apr 2022 00:50:56 +0000 Subject: [PATCH 116/203] python310Packages.mypy-boto3-builder: 7.5.4 -> 7.5.5 --- .../development/python-modules/mypy-boto3-builder/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/mypy-boto3-builder/default.nix b/pkgs/development/python-modules/mypy-boto3-builder/default.nix index a9e4a3eed5cd..e46d8eab2bce 100644 --- a/pkgs/development/python-modules/mypy-boto3-builder/default.nix +++ b/pkgs/development/python-modules/mypy-boto3-builder/default.nix @@ -16,7 +16,7 @@ buildPythonPackage rec { pname = "mypy-boto3-builder"; - version = "7.5.4"; + version = "7.5.5"; format = "pyproject"; disabled = pythonOlder "3.10"; @@ -25,7 +25,7 @@ buildPythonPackage rec { owner = "vemel"; repo = "mypy_boto3_builder"; rev = version; - hash = "sha256-NS8lFetL/8hcvCnIHw+GDtdEKFsN81MPybEA4PGaP/Q="; + hash = "sha256-rv0c0QoXOd7aSOLhGDGfq4v0bnGBOJhGhZVNhS5hgOs="; }; nativeBuildInputs = [ From ff1c57bcfd195310c060a80bf25651ca01f648e1 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 31 Mar 2022 23:44:40 +0000 Subject: [PATCH 117/203] spectre-meltdown-checker: 0.44 -> 0.45 --- pkgs/tools/security/spectre-meltdown-checker/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/tools/security/spectre-meltdown-checker/default.nix b/pkgs/tools/security/spectre-meltdown-checker/default.nix index 49aa4a2a4ca5..cf85ed9310a1 100644 --- a/pkgs/tools/security/spectre-meltdown-checker/default.nix +++ b/pkgs/tools/security/spectre-meltdown-checker/default.nix @@ -2,13 +2,13 @@ stdenv.mkDerivation rec { pname = "spectre-meltdown-checker"; - version = "0.44"; + version = "0.45"; src = fetchFromGitHub { owner = "speed47"; repo = "spectre-meltdown-checker"; rev = "v${version}"; - sha256 = "1b47wlc52jnp2d5c7kbqnxmlm4g3cfbv25q30llv5mlmzs6d7bam"; + sha256 = "sha256-yGrsiPBux4YeiQ3BL2fnne5P55R/sQZ4FwzSkE6BqPc="; }; prePatch = '' From f1dbf7d0ada848c10258eb548c0728d5901ee66c Mon Sep 17 00:00:00 2001 From: Craig Younkins Date: Thu, 31 Mar 2022 21:09:57 -0400 Subject: [PATCH 118/203] fclones: 0.18.1 -> 0.19.0 --- pkgs/tools/misc/fclones/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/tools/misc/fclones/default.nix b/pkgs/tools/misc/fclones/default.nix index 61f7eb09d9a0..4b5c5234bf94 100644 --- a/pkgs/tools/misc/fclones/default.nix +++ b/pkgs/tools/misc/fclones/default.nix @@ -8,16 +8,16 @@ rustPlatform.buildRustPackage rec { pname = "fclones"; - version = "0.18.1"; + version = "0.19.0"; src = fetchFromGitHub { owner = "pkolaczk"; repo = pname; rev = "v${version}"; - sha256 = "0dj82dds788q0qlsrbal3n3lajmi9931svy8wk482jfqq0f8nna5"; + sha256 = "0m6l6c71f40a6wc8w7cdikwx3blwqxw55p4frrww25qgd0xdcgls"; }; - cargoSha256 = "131pbjf9s6l6g4dl6fnjh1p0ydd4nry0cvg1qrjba8qk7qwpc7jb"; + cargoSha256 = "1pl4lrr1p3c7j9fb0mb4spjzgcn9zvr67nskzgmhrbr3kyzc2ssc"; buildInputs = lib.optionals stdenv.isDarwin [ AppKit From c2080cdc046db985353dcdde261a0e0f7fc63e93 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 1 Apr 2022 01:18:54 +0000 Subject: [PATCH 119/203] python310Packages.ansible-later: 2.0.8 -> 2.0.9 --- pkgs/development/python-modules/ansible-later/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/ansible-later/default.nix b/pkgs/development/python-modules/ansible-later/default.nix index 9ed54dee25e8..43f24bfbf0a4 100644 --- a/pkgs/development/python-modules/ansible-later/default.nix +++ b/pkgs/development/python-modules/ansible-later/default.nix @@ -21,7 +21,7 @@ buildPythonPackage rec { pname = "ansible-later"; - version = "2.0.8"; + version = "2.0.9"; format = "pyproject"; disabled = pythonOlder "3.8"; @@ -30,7 +30,7 @@ buildPythonPackage rec { owner = "thegeeklab"; repo = pname; rev = "v${version}"; - hash = "sha256-oPlm9uxyN3hyf4gFv37YWEn/HOkg0QQ1Ya3tjLd53rQ="; + hash = "sha256-g7/RClQB+6HsDbe/VjjKka97LcwRTKO0OD0RlCG9lWY="; }; nativeBuildInputs = [ From 4cb2ef1c92de29328e67e2447d2155f94f92ea80 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 1 Apr 2022 01:33:36 +0000 Subject: [PATCH 120/203] python310Packages.apycula: 0.2 -> 0.3 --- pkgs/development/python-modules/apycula/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/apycula/default.nix b/pkgs/development/python-modules/apycula/default.nix index e84e3eb301b5..d8bb92e0d3bc 100644 --- a/pkgs/development/python-modules/apycula/default.nix +++ b/pkgs/development/python-modules/apycula/default.nix @@ -12,7 +12,7 @@ buildPythonPackage rec { pname = "apycula"; - version = "0.2"; + version = "0.3"; format = "setuptools"; disabled = pythonOlder "3.8"; @@ -20,7 +20,7 @@ buildPythonPackage rec { src = fetchPypi { inherit version; pname = "Apycula"; - hash = "sha256-xvr/NDAjCjhpImzNlCOcI4x5dIAefJ1TnUgoBhgdhPA="; + hash = "sha256-Ncecrn5fQW0iAgrE3P7GZTx8E1TiFqiDMhZQSPrDvdk="; }; nativeBuildInputs = [ From 20d0500abd6306421f34ed431eec60c86329e0f7 Mon Sep 17 00:00:00 2001 From: Bobby Rong Date: Fri, 1 Apr 2022 03:05:13 +0000 Subject: [PATCH 121/203] =?UTF-8?q?gnome.aisleriot:=203.22.21=20=E2=86=92?= =?UTF-8?q?=203.22.22?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit https://gitlab.gnome.org/GNOME/aisleriot/-/compare/3.22.21...3.22.22 --- pkgs/desktops/gnome/games/aisleriot/default.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/desktops/gnome/games/aisleriot/default.nix b/pkgs/desktops/gnome/games/aisleriot/default.nix index 5a7446862bdc..953a40623c0d 100644 --- a/pkgs/desktops/gnome/games/aisleriot/default.nix +++ b/pkgs/desktops/gnome/games/aisleriot/default.nix @@ -10,7 +10,7 @@ , librsvg , libxml2 , desktop-file-utils -, guile_3_0 +, guile , libcanberra-gtk3 , ninja , appstream-glib @@ -19,14 +19,14 @@ stdenv.mkDerivation rec { pname = "aisleriot"; - version = "3.22.21"; + version = "3.22.22"; src = fetchFromGitLab { domain = "gitlab.gnome.org"; owner = "GNOME"; repo = pname; rev = version; - sha256 = "sha256-dpzuePxSoJcwUlj314r5G9A8aF1Yz49r+DxNTfA8/Ks="; + sha256 = "sha256-Jr4XEj6h+gI1gNqoJ/cJ3cDBB4mSbpzvOUQkwGxkLPs="; }; nativeBuildInputs = [ @@ -44,7 +44,7 @@ stdenv.mkDerivation rec { buildInputs = [ gtk3 librsvg - guile_3_0 + guile libcanberra-gtk3 ]; From 57d754ee3c5e9c44679d8ae868ffd9c34601aa5e Mon Sep 17 00:00:00 2001 From: Bobby Rong Date: Fri, 1 Apr 2022 11:17:53 +0800 Subject: [PATCH 122/203] gnome.five-or-more: format with nixpkgs-fmt --- .../gnome/games/five-or-more/default.nix | 34 ++++++++++++++++--- 1 file changed, 30 insertions(+), 4 deletions(-) diff --git a/pkgs/desktops/gnome/games/five-or-more/default.nix b/pkgs/desktops/gnome/games/five-or-more/default.nix index f01d137979ec..072c5e81712b 100644 --- a/pkgs/desktops/gnome/games/five-or-more/default.nix +++ b/pkgs/desktops/gnome/games/five-or-more/default.nix @@ -1,5 +1,20 @@ -{ lib, stdenv, fetchurl, meson, ninja, pkg-config, gnome, gtk3, wrapGAppsHook -, librsvg, libgnome-games-support, gettext, itstool, libxml2, python3, vala }: +{ stdenv +, lib +, fetchurl +, meson +, ninja +, pkg-config +, gnome +, gtk3 +, wrapGAppsHook +, librsvg +, libgnome-games-support +, gettext +, itstool +, libxml2 +, python3 +, vala +}: stdenv.mkDerivation rec { pname = "five-or-more"; @@ -11,11 +26,22 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ - meson ninja pkg-config gettext itstool libxml2 python3 wrapGAppsHook + meson + ninja + pkg-config + gettext + itstool + libxml2 + python3 + wrapGAppsHook vala ]; + buildInputs = [ - gtk3 librsvg libgnome-games-support gnome.adwaita-icon-theme + gtk3 + librsvg + libgnome-games-support + gnome.adwaita-icon-theme ]; postPatch = '' From 3815aff67080752fc2c86f4a5a71e27f71c40272 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 1 Apr 2022 04:02:42 +0000 Subject: [PATCH 123/203] python310Packages.pynetgear: 0.9.1 -> 0.9.2 --- pkgs/development/python-modules/pynetgear/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/pynetgear/default.nix b/pkgs/development/python-modules/pynetgear/default.nix index e1d87cdcae33..2030507e07f3 100644 --- a/pkgs/development/python-modules/pynetgear/default.nix +++ b/pkgs/development/python-modules/pynetgear/default.nix @@ -7,7 +7,7 @@ buildPythonPackage rec { pname = "pynetgear"; - version = "0.9.1"; + version = "0.9.2"; format = "setuptools"; disabled = pythonOlder "3.7"; @@ -16,7 +16,7 @@ buildPythonPackage rec { owner = "MatMaul"; repo = pname; rev = version; - sha256 = "sha256-sLGr8I0LcLPrmQZ6dI+hwRAiNCrnLtr2WU04rPoG4x4="; + sha256 = "sha256-/aPyx+jNOCW6bzeYAEBP1yfIJfQwJjo1i6WaRvAz0oU="; }; propagatedBuildInputs = [ From 3a5df670ef8553575b7648ecf91d758626a48267 Mon Sep 17 00:00:00 2001 From: Vincent Laporte Date: Tue, 29 Mar 2022 10:57:10 +0200 Subject: [PATCH 124/203] =?UTF-8?q?ocaml-ng.ocamlPackages=5F4=5F14.ocaml:?= =?UTF-8?q?=204.14.0-rc2=20=E2=86=92=204.14.0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pkgs/development/compilers/ocaml/4.14.nix | 7 ++----- pkgs/top-level/ocaml-packages.nix | 2 +- 2 files changed, 3 insertions(+), 6 deletions(-) diff --git a/pkgs/development/compilers/ocaml/4.14.nix b/pkgs/development/compilers/ocaml/4.14.nix index 558a1491ca7f..216620d67d60 100644 --- a/pkgs/development/compilers/ocaml/4.14.nix +++ b/pkgs/development/compilers/ocaml/4.14.nix @@ -1,9 +1,6 @@ import ./generic.nix { major_version = "4"; minor_version = "14"; - patch_version = "0-rc2"; - src = fetchTarball { - url = "https://caml.inria.fr/pub/distrib/ocaml-4.14/ocaml-4.14.0~rc2.tar.xz"; - sha256 = "sha256:0ch8nyfk2mzwhmlxb434cyamp7n14zxhwsq1h8033g629kw50kb0"; - }; + patch_version = "0"; + sha256 = "sha256:0axcc7c23pf4qinz4vxgkba6pwziwbp9i2ydwzar7x9zlp6diarn"; } diff --git a/pkgs/top-level/ocaml-packages.nix b/pkgs/top-level/ocaml-packages.nix index 9b2183f63581..6e38e07ff3b6 100644 --- a/pkgs/top-level/ocaml-packages.nix +++ b/pkgs/top-level/ocaml-packages.nix @@ -1578,7 +1578,7 @@ in let inherit (pkgs) callPackage; in rec ocamlPackages_4_14 = mkOcamlPackages (callPackage ../development/compilers/ocaml/4.14.nix { }); - ocamlPackages_latest = ocamlPackages_4_13; + ocamlPackages_latest = ocamlPackages_4_14; ocamlPackages = ocamlPackages_4_13; } From 71cf6e512ccebe92d12873a149a621e8be01c76c Mon Sep 17 00:00:00 2001 From: Alex Martens Date: Thu, 31 Mar 2022 22:42:28 -0700 Subject: [PATCH 125/203] cargo-spellcheck: 0.11.1 -> 0.11.2 --- pkgs/development/tools/rust/cargo-spellcheck/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/development/tools/rust/cargo-spellcheck/default.nix b/pkgs/development/tools/rust/cargo-spellcheck/default.nix index 4d99fe1f6309..2eda19afd838 100644 --- a/pkgs/development/tools/rust/cargo-spellcheck/default.nix +++ b/pkgs/development/tools/rust/cargo-spellcheck/default.nix @@ -8,16 +8,16 @@ rustPlatform.buildRustPackage rec { pname = "cargo-spellcheck"; - version = "0.11.1"; + version = "0.11.2"; src = fetchFromGitHub { owner = "drahnr"; repo = pname; rev = "v${version}"; - sha256 = "sha256-Iafhx0bK386grGadsJc/t1lLjd/C89fCVuHrq3FMaE0="; + sha256 = "sha256-ZiRa4XYnY4fwbMenRLnvFQms66tIyGbm5saK8gN39ag="; }; - cargoSha256 = "sha256-ZYZA4H1LvsFQR6mvKAie9Tha3MWocAVpNtG7LwdtcPg="; + cargoSha256 = "sha256-gWQbhFPdBDhPZY1LHxFlWO9xG4AXfyhZp0UnZ3Y86/Y="; buildInputs = lib.optional stdenv.isDarwin Security; From 3c2a06387a0a27505b61e1037f6aa915fb57e54e Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 1 Apr 2022 06:13:01 +0000 Subject: [PATCH 126/203] python310Packages.fastcore: 1.4.0 -> 1.4.1 --- pkgs/development/python-modules/fastcore/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/fastcore/default.nix b/pkgs/development/python-modules/fastcore/default.nix index 2e43ab9a15d2..b7fc364958dd 100644 --- a/pkgs/development/python-modules/fastcore/default.nix +++ b/pkgs/development/python-modules/fastcore/default.nix @@ -8,7 +8,7 @@ buildPythonPackage rec { pname = "fastcore"; - version = "1.4.0"; + version = "1.4.1"; format = "setuptools"; disabled = pythonOlder "3.8"; @@ -17,7 +17,7 @@ buildPythonPackage rec { owner = "fastai"; repo = pname; rev = version; - sha256 = "sha256-U7tZkqfBbl5IVZlC2/JBIx7Bm5iIiXTMSm0QHmzNiys="; + sha256 = "sha256-qZsCsMwZxJsnznQ/C1SUPexkquv0tIyCkNYL5f2k0FU="; }; propagatedBuildInputs = [ From ae79ae58058bc9e9d91d864860f609649db9f229 Mon Sep 17 00:00:00 2001 From: Bernardo Meurer Date: Thu, 31 Mar 2022 23:20:51 -0700 Subject: [PATCH 127/203] pulumi: update plugins --- pkgs/tools/admin/pulumi/data.nix | 144 +++++++++++++++---------------- 1 file changed, 72 insertions(+), 72 deletions(-) diff --git a/pkgs/tools/admin/pulumi/data.nix b/pkgs/tools/admin/pulumi/data.nix index 2ac357db5b2c..194cc1618520 100644 --- a/pkgs/tools/admin/pulumi/data.nix +++ b/pkgs/tools/admin/pulumi/data.nix @@ -21,8 +21,8 @@ sha256 = "16vg56vyxqid566nzdvcnx0fm70nif31wr71mrx1n6ibk767l00i"; } { - url = "https://api.pulumi.com/releases/plugins/pulumi-resource-artifactory-v0.8.1-linux-amd64.tar.gz"; - sha256 = "1phy4499vm87hf6bzwfcmn13nkzbwl9l7fj0ih8vd5gsng2bsjqd"; + url = "https://api.pulumi.com/releases/plugins/pulumi-resource-artifactory-v1.1.0-linux-amd64.tar.gz"; + sha256 = "1sh9kcjp6b2wh0bpagp60a8hyxaq6gh1fblcbifzdf6ps7g3y58x"; } { url = "https://api.pulumi.com/releases/plugins/pulumi-resource-auth0-v2.7.0-linux-amd64.tar.gz"; @@ -81,20 +81,20 @@ sha256 = "0bs0haa863a2qwwx140911mh2xprgyv316y98jcm8qbl03lmyzvs"; } { - url = "https://api.pulumi.com/releases/plugins/pulumi-resource-gitlab-v4.6.0-linux-amd64.tar.gz"; - sha256 = "0s1qyxdkdgy2br2kmpc0ypc6s95cryc0lbpdb9gslsl0q66gn7mk"; + url = "https://api.pulumi.com/releases/plugins/pulumi-resource-gitlab-v4.7.0-linux-amd64.tar.gz"; + sha256 = "17v460kbghvrvhxgckzg2bq556amy5hwmks4m1idkcz8akh6vlni"; } { - url = "https://api.pulumi.com/releases/plugins/pulumi-resource-google-native-v0.17.1-linux-amd64.tar.gz"; - sha256 = "10gvqkqyaxna1077rkvlzqq0mhx7zhz5k8x93bgcylv8slqcjx0k"; + url = "https://api.pulumi.com/releases/plugins/pulumi-resource-google-native-v0.18.0-linux-amd64.tar.gz"; + sha256 = "0br9faaqaksfqyngf3s9kmsjfqmhmpc09rpyqjxprxh1vmd4s31n"; } { url = "https://api.pulumi.com/releases/plugins/pulumi-resource-hcloud-v1.8.0-linux-amd64.tar.gz"; sha256 = "1gfiiwgb51ylwns3mqgnbgm2knrdzvy9r9v23yx0z03ba189d3m9"; } { - url = "https://api.pulumi.com/releases/plugins/pulumi-resource-kubernetes-v3.17.0-linux-amd64.tar.gz"; - sha256 = "0xqvjqykwjgsvp379g1hjzzk64zc34xqm5da8fjhykz0l4q0cv76"; + url = "https://api.pulumi.com/releases/plugins/pulumi-resource-kubernetes-v3.18.0-linux-amd64.tar.gz"; + sha256 = "0b4v07wc2xg0w1932dp14qfnvwbhr14x3ivj1vkcz2gy2gg4k2y4"; } { url = "https://api.pulumi.com/releases/plugins/pulumi-resource-linode-v3.7.1-linux-amd64.tar.gz"; @@ -121,12 +121,12 @@ sha256 = "0agf96ji7mzkf4k4axm1v3psm5wkml41714dz88rn0csq0b31ca9"; } { - url = "https://api.pulumi.com/releases/plugins/pulumi-resource-snowflake-v0.5.2-linux-amd64.tar.gz"; - sha256 = "0b3sj2waa3l6x4xrrsf1dq4ax3n7v5r8n0wzmk9cbgmdx97297df"; + url = "https://api.pulumi.com/releases/plugins/pulumi-resource-snowflake-v0.6.0-linux-amd64.tar.gz"; + sha256 = "10sk1hnn7sgnjgxxdjdshlgs1lf8j02y5almd3sp821gfaclfzq9"; } { - url = "https://api.pulumi.com/releases/plugins/pulumi-resource-spotinst-v3.15.0-linux-amd64.tar.gz"; - sha256 = "0k230wq144bs51d9w635jc572gix5jr6dhb5ai59pmzsqjiis607"; + url = "https://api.pulumi.com/releases/plugins/pulumi-resource-spotinst-v3.16.0-linux-amd64.tar.gz"; + sha256 = "01yaz2yh77fdcqcv94xh85b3km7q1gpjdys03gll6gz1vb0qlhis"; } { url = "https://api.pulumi.com/releases/plugins/pulumi-resource-sumologic-v0.5.0-linux-amd64.tar.gz"; @@ -141,20 +141,20 @@ sha256 = "0ayb1r9snjqgmczkvz4kjbswr0a98lmpapll4nws9q0rjj2w48y7"; } { - url = "https://api.pulumi.com/releases/plugins/pulumi-resource-vault-v5.3.0-linux-amd64.tar.gz"; - sha256 = "0b340xsxb05c2mrckilmrh8s3bxq7z02rgrdgr02xyfrvv0r8whz"; + url = "https://api.pulumi.com/releases/plugins/pulumi-resource-vault-v5.4.0-linux-amd64.tar.gz"; + sha256 = "0cj46m1jzfhx400qq4p40sqg0j6m2nggfpvyv4m1jxxzna11615n"; } { url = "https://api.pulumi.com/releases/plugins/pulumi-resource-venafi-v1.4.0-linux-amd64.tar.gz"; sha256 = "0hf7jrr91wpq28xsf8ajbdillblryh35k5w367d5fps7ph3fjk3f"; } { - url = "https://api.pulumi.com/releases/plugins/pulumi-resource-vsphere-v4.1.0-linux-amd64.tar.gz"; - sha256 = "0hl5liyga4iz7j3wy3qicx43d4mijnqayrnmpa5rws29lambgrql"; + url = "https://api.pulumi.com/releases/plugins/pulumi-resource-vsphere-v4.2.0-linux-amd64.tar.gz"; + sha256 = "1yg18l0dhljy841gi47k63wq7qxg51zds2w59hw0x3i8lgaz0m2f"; } { - url = "https://api.pulumi.com/releases/plugins/pulumi-resource-wavefront-v1.1.0-linux-amd64.tar.gz"; - sha256 = "12qdhdbighj76ab3wz965jhybxxq4f2rlwyk9m3w8w4f2aprp0cm"; + url = "https://api.pulumi.com/releases/plugins/pulumi-resource-wavefront-v1.1.1-linux-amd64.tar.gz"; + sha256 = "0vwlpczrzpgh274r300ilmm0z3vhg1fdlbx8p5j91p3cp86sj2s1"; } { url = "https://api.pulumi.com/releases/plugins/pulumi-resource-yandex-v0.13.0-linux-amd64.tar.gz"; @@ -179,8 +179,8 @@ sha256 = "14skymvy5mf0509v3b8wrmi7n390la9nr859l7afbhxk4cwvq3av"; } { - url = "https://api.pulumi.com/releases/plugins/pulumi-resource-artifactory-v0.8.1-darwin-amd64.tar.gz"; - sha256 = "149wbmpc51qcfsxsffif2ar9pzmg91h33jd3fy23hyfjbqp6yvdz"; + url = "https://api.pulumi.com/releases/plugins/pulumi-resource-artifactory-v1.1.0-darwin-amd64.tar.gz"; + sha256 = "0g68wfgrmdapf7nkiyxapqykq5svcsms5si5848x23nn4rwx0qkk"; } { url = "https://api.pulumi.com/releases/plugins/pulumi-resource-auth0-v2.7.0-darwin-amd64.tar.gz"; @@ -239,20 +239,20 @@ sha256 = "0a8lycsgk2xawhg9yd6lkbfg7j6v6l3m0llvdzs0drb2k954wbym"; } { - url = "https://api.pulumi.com/releases/plugins/pulumi-resource-gitlab-v4.6.0-darwin-amd64.tar.gz"; - sha256 = "026sh6x8jl8krq2vv0vwbrfi4yl4pbwbfliqqhidvv71xqv7igah"; + url = "https://api.pulumi.com/releases/plugins/pulumi-resource-gitlab-v4.7.0-darwin-amd64.tar.gz"; + sha256 = "08b6p6gliay66bd7687kjc9n3n7xdgbrrcnbjbqi7a3am14mf5p6"; } { - url = "https://api.pulumi.com/releases/plugins/pulumi-resource-google-native-v0.17.1-darwin-amd64.tar.gz"; - sha256 = "1v5dxqc9rl7m3yqxlbklg0bv20l4qvhs86g5lavc1bj46jysr8nk"; + url = "https://api.pulumi.com/releases/plugins/pulumi-resource-google-native-v0.18.0-darwin-amd64.tar.gz"; + sha256 = "0wn9jpvaj3hwlm3yakgm7y87dcv1ja606hkf3vllqjmjz99113c3"; } { url = "https://api.pulumi.com/releases/plugins/pulumi-resource-hcloud-v1.8.0-darwin-amd64.tar.gz"; sha256 = "11r73jfqkc0wgdf66zp6pmgq5packlm4dkjp12a00z6l2s4f0w4h"; } { - url = "https://api.pulumi.com/releases/plugins/pulumi-resource-kubernetes-v3.17.0-darwin-amd64.tar.gz"; - sha256 = "1x13w1j8vm3qvpn99npnsvx7kr5vac8vkrb31jii9difrgwis2wc"; + url = "https://api.pulumi.com/releases/plugins/pulumi-resource-kubernetes-v3.18.0-darwin-amd64.tar.gz"; + sha256 = "1v0bgd7dyc19wp95grxgq65i9sx60d487yqzjqqzscxqx62d7axh"; } { url = "https://api.pulumi.com/releases/plugins/pulumi-resource-linode-v3.7.1-darwin-amd64.tar.gz"; @@ -279,12 +279,12 @@ sha256 = "1wmvmhxnjp32kp43fhjp8w9nrb0biki63w23l4zjxsdk7njply7c"; } { - url = "https://api.pulumi.com/releases/plugins/pulumi-resource-snowflake-v0.5.2-darwin-amd64.tar.gz"; - sha256 = "0digqqr920g2ahmbiyird7kidnk0j04bbzb9nr2p6lgmdd659ayq"; + url = "https://api.pulumi.com/releases/plugins/pulumi-resource-snowflake-v0.6.0-darwin-amd64.tar.gz"; + sha256 = "0g3l2yslnwp72w7r00h5hdj3w00dbgbgbsw31m327rd6p143iasr"; } { - url = "https://api.pulumi.com/releases/plugins/pulumi-resource-spotinst-v3.15.0-darwin-amd64.tar.gz"; - sha256 = "0b0ynqd7drkycaf7xxx6s9xbm3xp8k18xsrys68hr8gh2nq8s0y9"; + url = "https://api.pulumi.com/releases/plugins/pulumi-resource-spotinst-v3.16.0-darwin-amd64.tar.gz"; + sha256 = "1viwk26qj9civh4plqm34j5iky69sxvskmqbga03x1v5rd7567aa"; } { url = "https://api.pulumi.com/releases/plugins/pulumi-resource-sumologic-v0.5.0-darwin-amd64.tar.gz"; @@ -299,20 +299,20 @@ sha256 = "1jzirnaxy6y862khqf29i25r8qyrpac2kmacs9ny118l77xp33il"; } { - url = "https://api.pulumi.com/releases/plugins/pulumi-resource-vault-v5.3.0-darwin-amd64.tar.gz"; - sha256 = "1dwv4aa5albn8yfyb430klc3w3fsy4pz07lmrppcbzg5mwf22mq1"; + url = "https://api.pulumi.com/releases/plugins/pulumi-resource-vault-v5.4.0-darwin-amd64.tar.gz"; + sha256 = "1ghghaq9svy7sv2s1j8b1qjah6aj7vwwdh9wd9agm4xdiillprhf"; } { url = "https://api.pulumi.com/releases/plugins/pulumi-resource-venafi-v1.4.0-darwin-amd64.tar.gz"; sha256 = "08b3lyyf8zjkn9jaw4l0yb741i6kqhfb7cbwshrwqh6l3yh7kc2y"; } { - url = "https://api.pulumi.com/releases/plugins/pulumi-resource-vsphere-v4.1.0-darwin-amd64.tar.gz"; - sha256 = "1wkyjxgrp3llvis3yjdnw65chscmxxcwigkr71i2crj28db8fhwx"; + url = "https://api.pulumi.com/releases/plugins/pulumi-resource-vsphere-v4.2.0-darwin-amd64.tar.gz"; + sha256 = "06sws30nxmhkcgg6ag01b32l4vi4c6sr9rdwdc3sy27abqhsmhgn"; } { - url = "https://api.pulumi.com/releases/plugins/pulumi-resource-wavefront-v1.1.0-darwin-amd64.tar.gz"; - sha256 = "154za5bvq1bgyzn5cfz3n0la1gy27lmjafgs42mgyy511jz4m60l"; + url = "https://api.pulumi.com/releases/plugins/pulumi-resource-wavefront-v1.1.1-darwin-amd64.tar.gz"; + sha256 = "1ldksyxgwbg6fswfakgy3gdm5y50kc0bk74pxcza7w7ncirr9cvg"; } { url = "https://api.pulumi.com/releases/plugins/pulumi-resource-yandex-v0.13.0-darwin-amd64.tar.gz"; @@ -337,8 +337,8 @@ sha256 = "1g6ymjsmxp149cv93sn5843pxlih1dbw16nvv4sn3prl360c4lxa"; } { - url = "https://api.pulumi.com/releases/plugins/pulumi-resource-artifactory-v0.8.1-linux-arm64.tar.gz"; - sha256 = "0ghgm1p79smlcx5cby34pxl8apwm33n1aqs2lxkgjz9m6895djkx"; + url = "https://api.pulumi.com/releases/plugins/pulumi-resource-artifactory-v1.1.0-linux-arm64.tar.gz"; + sha256 = "0lhgp5wmlza75v1b7nkkp4y2d4bzk1658frnqblxsdcz9z12cwmi"; } { url = "https://api.pulumi.com/releases/plugins/pulumi-resource-auth0-v2.7.0-linux-arm64.tar.gz"; @@ -397,20 +397,20 @@ sha256 = "1lrbl7x7hf1i7xx10cpxz17hihl8b6654wphz8s8g9lp0jryn6am"; } { - url = "https://api.pulumi.com/releases/plugins/pulumi-resource-gitlab-v4.6.0-linux-arm64.tar.gz"; - sha256 = "1d04bxq8vrxmsiix130lhqys5q1jbgwbdhyhn6rsskk0636hbf71"; + url = "https://api.pulumi.com/releases/plugins/pulumi-resource-gitlab-v4.7.0-linux-arm64.tar.gz"; + sha256 = "0i6qxrdijf653nj6yqhdikbj3spzzwr5rbgngkc0v7yxkphlzlnj"; } { - url = "https://api.pulumi.com/releases/plugins/pulumi-resource-google-native-v0.17.1-linux-arm64.tar.gz"; - sha256 = "0paypln2948dyj6cic3riybl2zpps6ia0pjsv3wjpklp57gfc9h4"; + url = "https://api.pulumi.com/releases/plugins/pulumi-resource-google-native-v0.18.0-linux-arm64.tar.gz"; + sha256 = "152qrcik44iz5lrfg649wmk67wcjdm4lnkwrc1gwhm34w0lrbarf"; } { url = "https://api.pulumi.com/releases/plugins/pulumi-resource-hcloud-v1.8.0-linux-arm64.tar.gz"; sha256 = "1vrz3pm14i5zdmk3yibny2sghxk8kzwb2qi77mjbiyfhbvciy97q"; } { - url = "https://api.pulumi.com/releases/plugins/pulumi-resource-kubernetes-v3.17.0-linux-arm64.tar.gz"; - sha256 = "0jvm3g1d3yhghcd14rz1ca7zps8cajw0cy38s1p6lh2c5f1yaqcj"; + url = "https://api.pulumi.com/releases/plugins/pulumi-resource-kubernetes-v3.18.0-linux-arm64.tar.gz"; + sha256 = "1w2j27sd5gsfz561wgr3lgcpxn9wghgvc5s4zpciiwyxpczmv8r3"; } { url = "https://api.pulumi.com/releases/plugins/pulumi-resource-linode-v3.7.1-linux-arm64.tar.gz"; @@ -437,12 +437,12 @@ sha256 = "1x8v39icapr8iakp9yd50md9dyvj63z7yj93cl3b07qlwr9lcvmv"; } { - url = "https://api.pulumi.com/releases/plugins/pulumi-resource-snowflake-v0.5.2-linux-arm64.tar.gz"; - sha256 = "0dbqyizvx8gxlidiqc390wjfix1hyikpan32q3hq8d4f8342vjks"; + url = "https://api.pulumi.com/releases/plugins/pulumi-resource-snowflake-v0.6.0-linux-arm64.tar.gz"; + sha256 = "1jh4qbdgcqbkznyq0ivf4wlrn1izgjqf811qncgkab890fp9v37w"; } { - url = "https://api.pulumi.com/releases/plugins/pulumi-resource-spotinst-v3.15.0-linux-arm64.tar.gz"; - sha256 = "0x1mjdaaaa40ks8glqq906dbq2x13z760agnfmd5hc3m9swvnczs"; + url = "https://api.pulumi.com/releases/plugins/pulumi-resource-spotinst-v3.16.0-linux-arm64.tar.gz"; + sha256 = "0ksya9nywimkm4jcd67ccaaxbvsxq747d21j8aywpwp3nwfl58wi"; } { url = "https://api.pulumi.com/releases/plugins/pulumi-resource-sumologic-v0.5.0-linux-arm64.tar.gz"; @@ -457,20 +457,20 @@ sha256 = "1275cikf75lnf3d4k4ld0by1r8hr6gq6mih09fsfg98b8f7n16kq"; } { - url = "https://api.pulumi.com/releases/plugins/pulumi-resource-vault-v5.3.0-linux-arm64.tar.gz"; - sha256 = "0sqgdxkqrh0d1y53qigzs4wywmvjws0j6av2z19lyc2qwz3gn0hn"; + url = "https://api.pulumi.com/releases/plugins/pulumi-resource-vault-v5.4.0-linux-arm64.tar.gz"; + sha256 = "09rvvps2kijjr4r9h75xijpsxw5ar2gy3ncmrvjfyqx17zch92v6"; } { url = "https://api.pulumi.com/releases/plugins/pulumi-resource-venafi-v1.4.0-linux-arm64.tar.gz"; sha256 = "1lh459lxa4gvxkbypmcm4hwcwcchkvs79ajlb9gvrm4ds68nm5xb"; } { - url = "https://api.pulumi.com/releases/plugins/pulumi-resource-vsphere-v4.1.0-linux-arm64.tar.gz"; - sha256 = "1f7h6xl3jk9y29ffjxv9r4a748fwip17x7pazs62zwc3h10a65ac"; + url = "https://api.pulumi.com/releases/plugins/pulumi-resource-vsphere-v4.2.0-linux-arm64.tar.gz"; + sha256 = "1wbx83fc5v4n57rjn5xn4y7iiv8z4fdx1inj9w1ibqlij5hf0xra"; } { - url = "https://api.pulumi.com/releases/plugins/pulumi-resource-wavefront-v1.1.0-linux-arm64.tar.gz"; - sha256 = "00902vymkc841lpdmgh80a1lipb5bjphiivy7d9xw9cldar35nz3"; + url = "https://api.pulumi.com/releases/plugins/pulumi-resource-wavefront-v1.1.1-linux-arm64.tar.gz"; + sha256 = "13ys3i7anpvbmikzxlj44kw8shp9x4cg6nlqijx80vwl3hwk5qpw"; } { url = "https://api.pulumi.com/releases/plugins/pulumi-resource-yandex-v0.13.0-linux-arm64.tar.gz"; @@ -495,8 +495,8 @@ sha256 = "1n061d8phk6cjvr24138vqzxs5midfadqgrpmaaknbpykcd3vym3"; } { - url = "https://api.pulumi.com/releases/plugins/pulumi-resource-artifactory-v0.8.1-darwin-arm64.tar.gz"; - sha256 = "0i8k2z1is7iw6hfgsqfwirby469f8nkczhzvxda48fhwlix6x55d"; + url = "https://api.pulumi.com/releases/plugins/pulumi-resource-artifactory-v1.1.0-darwin-arm64.tar.gz"; + sha256 = "1vldwyy7vhq9l6c51lqc30h0sal5liqza4s1yhk1pbc0wsgvcdv2"; } { url = "https://api.pulumi.com/releases/plugins/pulumi-resource-auth0-v2.7.0-darwin-arm64.tar.gz"; @@ -555,20 +555,20 @@ sha256 = "1hx8rsf9yysvjg6df8dxzz8kqci000jxzg8wwxjfhcfb9adzjmy8"; } { - url = "https://api.pulumi.com/releases/plugins/pulumi-resource-gitlab-v4.6.0-darwin-arm64.tar.gz"; - sha256 = "0r8bvrnyspmczn38lav7hfhjgkflsiciw8slbs5k3s6z8690dxc2"; + url = "https://api.pulumi.com/releases/plugins/pulumi-resource-gitlab-v4.7.0-darwin-arm64.tar.gz"; + sha256 = "1gvzjf5mp3iy43srvx3blxfwcg20gqbqvycysnl2p8g8sg3scx5f"; } { - url = "https://api.pulumi.com/releases/plugins/pulumi-resource-google-native-v0.17.1-darwin-arm64.tar.gz"; - sha256 = "0qva7r2pdbpxjd50ijjckwsbagj46h94s12z05czgj8sfslx8jpz"; + url = "https://api.pulumi.com/releases/plugins/pulumi-resource-google-native-v0.18.0-darwin-arm64.tar.gz"; + sha256 = "04qjg2rd71375ny817h1l4174bafrhkl0d9n5qrp546dhaqmv6vr"; } { url = "https://api.pulumi.com/releases/plugins/pulumi-resource-hcloud-v1.8.0-darwin-arm64.tar.gz"; sha256 = "058f1j40ar4xh860c3qrm0qaagm69fdmbw14avvrhsmw245cyyzc"; } { - url = "https://api.pulumi.com/releases/plugins/pulumi-resource-kubernetes-v3.17.0-darwin-arm64.tar.gz"; - sha256 = "1fz906l37kykbn725p81xpyvpg7ywvqav9r7rxrnc05d338c391d"; + url = "https://api.pulumi.com/releases/plugins/pulumi-resource-kubernetes-v3.18.0-darwin-arm64.tar.gz"; + sha256 = "1llvcnrghhwr0qzd1zmdrc1x384lrd06dqcx1ng9l4ixhz6nmkl1"; } { url = "https://api.pulumi.com/releases/plugins/pulumi-resource-linode-v3.7.1-darwin-arm64.tar.gz"; @@ -595,12 +595,12 @@ sha256 = "1rbig2n5x2lzxpscnja0ya9a68z3jk0qz2zwdnzi66xy7i3zd39l"; } { - url = "https://api.pulumi.com/releases/plugins/pulumi-resource-snowflake-v0.5.2-darwin-arm64.tar.gz"; - sha256 = "1r1ln833jfi7hpyfb0cbg8vgam1wghdgr03m75w4hbds5nllw3zm"; + url = "https://api.pulumi.com/releases/plugins/pulumi-resource-snowflake-v0.6.0-darwin-arm64.tar.gz"; + sha256 = "1mlwggyx7l23z9fiy9bnlsjbsiw3i8kwrag2zjszbqj6sflskrij"; } { - url = "https://api.pulumi.com/releases/plugins/pulumi-resource-spotinst-v3.15.0-darwin-arm64.tar.gz"; - sha256 = "14ag3gq6w4yzbrwpy0vqqbr091fs26xvhmwd0v1adjl3sxa0lcqc"; + url = "https://api.pulumi.com/releases/plugins/pulumi-resource-spotinst-v3.16.0-darwin-arm64.tar.gz"; + sha256 = "0wk8vdx3w5n60dbh2fjqmfxnc24cbrfxygsa211ckb2pcmmr93lm"; } { url = "https://api.pulumi.com/releases/plugins/pulumi-resource-sumologic-v0.5.0-darwin-arm64.tar.gz"; @@ -615,20 +615,20 @@ sha256 = "08dhxd39w7wjpqjfy59vxfipjl45psd6yh53h2g025y8hh80gcrs"; } { - url = "https://api.pulumi.com/releases/plugins/pulumi-resource-vault-v5.3.0-darwin-arm64.tar.gz"; - sha256 = "13q9r819wln46hiy2anri44wvxvjigcvfj7dpr3ya69kj17kyr4n"; + url = "https://api.pulumi.com/releases/plugins/pulumi-resource-vault-v5.4.0-darwin-arm64.tar.gz"; + sha256 = "1jfgphwcr3z31yyf36wh147spwdk82713m03kkahva11m6h4x6gm"; } { url = "https://api.pulumi.com/releases/plugins/pulumi-resource-venafi-v1.4.0-darwin-arm64.tar.gz"; sha256 = "0pgrlz8nx1gfgwlp5sk70w14z0hrxcwkv9xkzjc694nwlwk1ipm8"; } { - url = "https://api.pulumi.com/releases/plugins/pulumi-resource-vsphere-v4.1.0-darwin-arm64.tar.gz"; - sha256 = "1915f5d24vfrwgzvs5nkj5p05fjgqjyxpm54ym2wshl9s4fjb6sp"; + url = "https://api.pulumi.com/releases/plugins/pulumi-resource-vsphere-v4.2.0-darwin-arm64.tar.gz"; + sha256 = "0r399sqs15knbq1h1p9qixzm3836whskpk9i91ag5h7kg5xjvnin"; } { - url = "https://api.pulumi.com/releases/plugins/pulumi-resource-wavefront-v1.1.0-darwin-arm64.tar.gz"; - sha256 = "0xzh9n69prbaf0795dzmyp4jbzmgqvg4sl2sad3l3mkbgghx4cll"; + url = "https://api.pulumi.com/releases/plugins/pulumi-resource-wavefront-v1.1.1-darwin-arm64.tar.gz"; + sha256 = "02zj0d1cc9qmmql27licsm33ygvgcmj19blxkhn8zxwr666jf6kw"; } { url = "https://api.pulumi.com/releases/plugins/pulumi-resource-yandex-v0.13.0-darwin-arm64.tar.gz"; From 34f5c38b509b969d76553fd3dc5d6e76c04a5478 Mon Sep 17 00:00:00 2001 From: Doron Behar Date: Sun, 27 Mar 2022 13:43:21 +0300 Subject: [PATCH 128/203] python3.pkgs.particle: init at 0.20.1 --- .../python-modules/particle/default.nix | 56 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 2 + 2 files changed, 58 insertions(+) create mode 100644 pkgs/development/python-modules/particle/default.nix diff --git a/pkgs/development/python-modules/particle/default.nix b/pkgs/development/python-modules/particle/default.nix new file mode 100644 index 000000000000..d1207fe84983 --- /dev/null +++ b/pkgs/development/python-modules/particle/default.nix @@ -0,0 +1,56 @@ +{ lib +, buildPythonPackage +, fetchFromGitHub +, fetchPypi +, setuptools-scm +, attrs +, deprecated +, hepunits +, pytestCheckHook +, tabulate +, pandas +}: + +buildPythonPackage rec { + pname = "particle"; + version = "0.20.1"; + + src = fetchPypi { + inherit pname version; + sha256 = "sha256-HoWWwoGMrkRqlYzrF2apGsxsZAHwHbHSO5TCSCelxUc="; + }; + nativeBuildInputs = [ + setuptools-scm + ]; + + propagatedBuildInputs = [ + attrs + deprecated + hepunits + ]; + + pythonImportsCheck = [ + "particle" + ]; + + preCheck = '' + # Disable benchmark tests, so we won't need pytest-benchmark and pytest-cov + # as dependencies + substituteInPlace pyproject.toml \ + --replace '"--benchmark-disable", ' "" + rm tests/particle/test_performance.py + ''; + + checkInputs = [ + pytestCheckHook + tabulate + pandas + ]; + + meta = { + description = "Package to deal with particles, the PDG particle data table, PDGIDs, etc."; + homepage = "https://github.com/scikit-hep/particle"; + license = lib.licenses.bsd3; + maintainers = with lib.maintainers; [ doronbehar ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 525d50b56b3b..57183e6c439f 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -5957,6 +5957,8 @@ in { parts = callPackage ../development/python-modules/parts { }; + particle = callPackage ../development/python-modules/particle { }; + parver = callPackage ../development/python-modules/parver { }; arpeggio = callPackage ../development/python-modules/arpeggio { }; From c2b82609818cd09043e218537489366fbfeae5d7 Mon Sep 17 00:00:00 2001 From: Artturin Date: Fri, 1 Apr 2022 09:33:37 +0300 Subject: [PATCH 129/203] zotero: add x-scheme-handler/zotero to desktop file so `zotero://select/library/items/GICAH8PU` will work --- pkgs/applications/office/zotero/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/applications/office/zotero/default.nix b/pkgs/applications/office/zotero/default.nix index 53c61f0d993c..749b6959b740 100644 --- a/pkgs/applications/office/zotero/default.nix +++ b/pkgs/applications/office/zotero/default.nix @@ -105,7 +105,7 @@ stdenv.mkDerivation rec { genericName = "Reference Management"; categories = [ "Office" "Database" ]; startupNotify = true; - mimeTypes = [ "text/plain" ]; + mimeTypes = [ "x-scheme-handler/zotero" "text/plain" ]; }; installPhase = '' From 36c36411b8c20576faf95da50df3b7b7bcee8967 Mon Sep 17 00:00:00 2001 From: Artturin Date: Fri, 1 Apr 2022 09:43:48 +0300 Subject: [PATCH 130/203] .github/workflows/basic-eval.yml: only run if manually triggered ofborg should have obsoleted this with https://github.com/NixOS/ofborg/pull/588#issuecomment-1078451552 https://github.com/NixOS/nixpkgs/pull/166599#issuecomment-1085069938 this is still useful to have around for act usage --- .github/workflows/basic-eval.yml | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/.github/workflows/basic-eval.yml b/.github/workflows/basic-eval.yml index 51429ae40bee..41f751fd061f 100644 --- a/.github/workflows/basic-eval.yml +++ b/.github/workflows/basic-eval.yml @@ -1,14 +1,15 @@ name: Basic evaluation checks on: - pull_request: - branches: - - master - - release-** - push: - branches: - - master - - release-** + workflow_dispatch + # pull_request: + # branches: + # - master + # - release-** + # push: + # branches: + # - master + # - release-** jobs: tests: runs-on: ubuntu-latest From 34fd00a5b82b5e573a863c75fd5486faea497fdd Mon Sep 17 00:00:00 2001 From: Artturin Date: Fri, 1 Apr 2022 10:33:51 +0300 Subject: [PATCH 131/203] pkgs: remove dead dir --- pkgs/servers/web-apps/frab/Gemfile | 88 --- pkgs/servers/web-apps/frab/Gemfile.lock | 329 -------- pkgs/servers/web-apps/frab/gemset.nix | 998 ------------------------ 3 files changed, 1415 deletions(-) delete mode 100644 pkgs/servers/web-apps/frab/Gemfile delete mode 100644 pkgs/servers/web-apps/frab/Gemfile.lock delete mode 100644 pkgs/servers/web-apps/frab/gemset.nix diff --git a/pkgs/servers/web-apps/frab/Gemfile b/pkgs/servers/web-apps/frab/Gemfile deleted file mode 100644 index 098b8f3d7d7a..000000000000 --- a/pkgs/servers/web-apps/frab/Gemfile +++ /dev/null @@ -1,88 +0,0 @@ -source 'https://rubygems.org' - -if ENV['CUSTOM_RUBY_VERSION'] - ruby ENV['CUSTOM_RUBY_VERSION'] # i.e.: '2.3' -end - -gem 'rails', '~> 4.2' - -# Use SCSS for stylesheets -gem 'sass-rails', '~> 5.0' -# Use Uglifier as compressor for JavaScript assets -gem 'uglifier', '>= 1.3.0' -# Use CoffeeScript for .coffee assets and views -gem 'coffee-rails', '~> 4.1.0' - -gem 'mysql2', group: :mysql -gem 'pg', group: :postgresql -gem 'sqlite3', group: :sqlite3 - -# Use Puma as the app server -gem 'puma' - -# Capistrano for deployment -group :capistrano do - gem 'airbrussh' - gem 'capistrano', '~> 3.4.0', require: false - gem 'capistrano-rails', require: false - gem 'capistrano-bundler', require: false - gem 'capistrano-rvm', require: false - gem 'capistrano3-puma', require: false -end - -# Use jquery as the JavaScript library -gem 'jquery-rails' -gem 'jquery-migrate-rails' -gem 'jquery-ui-rails' - -# Build JSON APIs with ease. Read more: https://github.com/rails/jbuilder -gem 'jbuilder', '~> 2.0' - -gem 'activeresource' -gem 'acts_as_commentable' -gem 'bcrypt' -gem 'cancancan' -gem 'cocoon' -gem 'dotenv-rails' -gem 'haml' -gem 'localized_language_select', github: 'frab/localized_language_select', branch: 'master' -gem 'nokogiri' -gem 'paperclip', '~> 4.1' -gem 'paper_trail' -gem 'prawn', '< 1.0' -gem 'prawn_rails' -gem 'ransack' -gem 'ri_cal' -gem 'roust' -gem 'rqrcode' -#gem 'roust', :git => 'git@github.com:bulletproofnetworks/roust.git' -gem 'simple_form' -gem 'sucker_punch' -gem 'transitions', require: ['transitions', 'active_record/transitions'] -gem 'will_paginate' - -group :production do - gem 'exception_notification' -end - -group :development, :test do - gem 'bullet' - gem 'pry-rails' - gem 'pry-byebug' - gem 'letter_opener' - gem 'faker' -end - -group :test do - gem 'database_cleaner' - gem 'factory_girl_rails', '~> 4.0' - gem 'shoulda' -end - -group :doc do - gem 'redcarpet' # documentation - gem 'github-markdown' # documentation - gem 'yard' # documentation - # gem 'rails-erd' # graph - # gem 'ruby-graphviz', require: 'graphviz' # Optional: only required for graphing -end diff --git a/pkgs/servers/web-apps/frab/Gemfile.lock b/pkgs/servers/web-apps/frab/Gemfile.lock deleted file mode 100644 index dc18be7a33db..000000000000 --- a/pkgs/servers/web-apps/frab/Gemfile.lock +++ /dev/null @@ -1,329 +0,0 @@ -GIT - remote: git://github.com/frab/localized_language_select.git - revision: 85df6b97789de6e29c630808b630e56a1b76f80c - branch: master - specs: - localized_language_select (0.3.0) - rails (>= 4.1.0) - -GEM - remote: https://rubygems.org/ - specs: - actionmailer (4.2.7.1) - actionpack (= 4.2.7.1) - actionview (= 4.2.7.1) - activejob (= 4.2.7.1) - mail (~> 2.5, >= 2.5.4) - rails-dom-testing (~> 1.0, >= 1.0.5) - actionpack (4.2.7.1) - actionview (= 4.2.7.1) - activesupport (= 4.2.7.1) - rack (~> 1.6) - rack-test (~> 0.6.2) - rails-dom-testing (~> 1.0, >= 1.0.5) - rails-html-sanitizer (~> 1.0, >= 1.0.2) - actionview (4.2.7.1) - activesupport (= 4.2.7.1) - builder (~> 3.1) - erubis (~> 2.7.0) - rails-dom-testing (~> 1.0, >= 1.0.5) - rails-html-sanitizer (~> 1.0, >= 1.0.2) - activejob (4.2.7.1) - activesupport (= 4.2.7.1) - globalid (>= 0.3.0) - activemodel (4.2.7.1) - activesupport (= 4.2.7.1) - builder (~> 3.1) - activerecord (4.2.7.1) - activemodel (= 4.2.7.1) - activesupport (= 4.2.7.1) - arel (~> 6.0) - activeresource (4.1.0) - activemodel (~> 4.0) - activesupport (~> 4.0) - rails-observers (~> 0.1.2) - activesupport (4.2.7.1) - i18n (~> 0.7) - json (~> 1.7, >= 1.7.7) - minitest (~> 5.1) - thread_safe (~> 0.3, >= 0.3.4) - tzinfo (~> 1.1) - acts_as_commentable (4.0.2) - addressable (2.4.0) - airbrussh (1.1.1) - sshkit (>= 1.6.1, != 1.7.0) - arel (6.0.3) - bcrypt (3.1.11) - builder (3.2.2) - bullet (5.4.0) - activesupport (>= 3.0.0) - uniform_notifier (~> 1.10.0) - byebug (9.0.5) - cancancan (1.15.0) - capistrano (3.4.1) - i18n - rake (>= 10.0.0) - sshkit (~> 1.3) - capistrano-bundler (1.1.4) - capistrano (~> 3.1) - sshkit (~> 1.2) - capistrano-rails (1.1.8) - capistrano (~> 3.1) - capistrano-bundler (~> 1.1) - capistrano-rvm (0.1.2) - capistrano (~> 3.0) - sshkit (~> 1.2) - capistrano3-puma (1.2.1) - capistrano (~> 3.0) - puma (>= 2.6) - chunky_png (1.3.7) - climate_control (0.0.3) - activesupport (>= 3.0) - cocaine (0.5.8) - climate_control (>= 0.0.3, < 1.0) - cocoon (1.2.9) - coderay (1.1.1) - coffee-rails (4.1.1) - coffee-script (>= 2.2.0) - railties (>= 4.0.0, < 5.1.x) - coffee-script (2.4.1) - coffee-script-source - execjs - coffee-script-source (1.10.0) - concurrent-ruby (1.0.2) - database_cleaner (1.5.3) - dotenv (2.1.1) - dotenv-rails (2.1.1) - dotenv (= 2.1.1) - railties (>= 4.0, < 5.1) - erubis (2.7.0) - exception_notification (4.2.1) - actionmailer (>= 4.0, < 6) - activesupport (>= 4.0, < 6) - execjs (2.7.0) - factory_girl (4.7.0) - activesupport (>= 3.0.0) - factory_girl_rails (4.7.0) - factory_girl (~> 4.7.0) - railties (>= 3.0.0) - faker (1.6.6) - i18n (~> 0.5) - github-markdown (0.6.9) - globalid (0.3.7) - activesupport (>= 4.1.0) - haml (4.0.7) - tilt - httparty (0.14.0) - multi_xml (>= 0.5.2) - i18n (0.7.0) - jbuilder (2.6.0) - activesupport (>= 3.0.0, < 5.1) - multi_json (~> 1.2) - jquery-migrate-rails (1.2.1) - jquery-rails (4.2.1) - rails-dom-testing (>= 1, < 3) - railties (>= 4.2.0) - thor (>= 0.14, < 2.0) - jquery-ui-rails (5.0.5) - railties (>= 3.2.16) - json (1.8.3) - launchy (2.4.3) - addressable (~> 2.3) - letter_opener (1.4.1) - launchy (~> 2.2) - loofah (2.0.3) - nokogiri (>= 1.5.9) - mail (2.6.4) - mime-types (>= 1.16, < 4) - method_source (0.8.2) - mime-types (3.1) - mime-types-data (~> 3.2015) - mime-types-data (3.2016.0521) - mimemagic (0.3.0) - mini_portile2 (2.1.0) - minitest (5.9.1) - multi_json (1.12.1) - multi_xml (0.5.5) - mysql2 (0.4.4) - net-scp (1.2.1) - net-ssh (>= 2.6.5) - net-ssh (3.2.0) - nokogiri (1.6.7.2) - mini_portile2 (~> 2.0.0.rc2) - pkg-config (~> 1.1.7) - paper_trail (5.2.2) - activerecord (>= 3.0, < 6.0) - request_store (~> 1.1) - paperclip (4.3.7) - activemodel (>= 3.2.0) - activesupport (>= 3.2.0) - cocaine (~> 0.5.5) - mime-types - mimemagic (= 0.3.0) - pdf-core (0.1.6) - pg (0.19.0) - pkg-config (1.1.7) - polyamorous (1.3.1) - activerecord (>= 3.0) - prawn (0.15.0) - pdf-core (~> 0.1.3) - ttfunk (~> 1.1.0) - prawn_rails (0.0.11) - prawn (>= 0.11.1) - railties (>= 3.0.0) - pry (0.10.4) - coderay (~> 1.1.0) - method_source (~> 0.8.1) - slop (~> 3.4) - pry-byebug (3.4.0) - byebug (~> 9.0) - pry (~> 0.10) - pry-rails (0.3.4) - pry (>= 0.9.10) - puma (3.9.1) - rack (1.6.11) - rack-test (0.6.3) - rack (>= 1.0) - rails (4.2.7.1) - actionmailer (= 4.2.7.1) - actionpack (= 4.2.7.1) - actionview (= 4.2.7.1) - activejob (= 4.2.7.1) - activemodel (= 4.2.7.1) - activerecord (= 4.2.7.1) - activesupport (= 4.2.7.1) - bundler (>= 1.3.0, < 2.0) - railties (= 4.2.7.1) - sprockets-rails - rails-deprecated_sanitizer (1.0.3) - activesupport (>= 4.2.0.alpha) - rails-dom-testing (1.0.7) - activesupport (>= 4.2.0.beta, < 5.0) - nokogiri (~> 1.6.0) - rails-deprecated_sanitizer (>= 1.0.1) - rails-html-sanitizer (1.0.3) - loofah (~> 2.0) - rails-observers (0.1.2) - activemodel (~> 4.0) - railties (4.2.7.1) - actionpack (= 4.2.7.1) - activesupport (= 4.2.7.1) - rake (>= 0.8.7) - thor (>= 0.18.1, < 2.0) - rake (11.3.0) - ransack (1.8.2) - actionpack (>= 3.0) - activerecord (>= 3.0) - activesupport (>= 3.0) - i18n - polyamorous (~> 1.3) - redcarpet (3.3.4) - request_store (1.3.1) - ri_cal (0.8.8) - roust (1.8.9) - activesupport (>= 4.0.10) - httparty (>= 0.13.1) - mail (>= 2.5.4) - rqrcode (0.10.1) - chunky_png (~> 1.0) - sass (3.4.22) - sass-rails (5.0.6) - railties (>= 4.0.0, < 6) - sass (~> 3.1) - sprockets (>= 2.8, < 4.0) - sprockets-rails (>= 2.0, < 4.0) - tilt (>= 1.1, < 3) - shoulda (3.5.0) - shoulda-context (~> 1.0, >= 1.0.1) - shoulda-matchers (>= 1.4.1, < 3.0) - shoulda-context (1.2.1) - shoulda-matchers (2.8.0) - activesupport (>= 3.0.0) - simple_form (3.3.1) - actionpack (> 4, < 5.1) - activemodel (> 4, < 5.1) - slop (3.6.0) - sprockets (3.7.0) - concurrent-ruby (~> 1.0) - rack (> 1, < 3) - sprockets-rails (3.2.0) - actionpack (>= 4.0) - activesupport (>= 4.0) - sprockets (>= 3.0.0) - sqlite3 (1.3.11) - sshkit (1.11.3) - net-scp (>= 1.1.2) - net-ssh (>= 2.8.0) - sucker_punch (2.0.2) - concurrent-ruby (~> 1.0.0) - thor (0.19.1) - thread_safe (0.3.5) - tilt (2.0.5) - transitions (1.2.0) - ttfunk (1.1.1) - tzinfo (1.2.2) - thread_safe (~> 0.1) - uglifier (3.0.2) - execjs (>= 0.3.0, < 3) - uniform_notifier (1.10.0) - will_paginate (3.1.3) - yard (0.9.5) - -PLATFORMS - ruby - -DEPENDENCIES - activeresource - acts_as_commentable - airbrussh - bcrypt - bullet - cancancan - capistrano (~> 3.4.0) - capistrano-bundler - capistrano-rails - capistrano-rvm - capistrano3-puma - cocoon - coffee-rails (~> 4.1.0) - database_cleaner - dotenv-rails - exception_notification - factory_girl_rails (~> 4.0) - faker - github-markdown - haml - jbuilder (~> 2.0) - jquery-migrate-rails - jquery-rails - jquery-ui-rails - letter_opener - localized_language_select! - mysql2 - nokogiri - paper_trail - paperclip (~> 4.1) - pg - prawn (< 1.0) - prawn_rails - pry-byebug - pry-rails - puma - rails (~> 4.2) - ransack - redcarpet - ri_cal - roust - rqrcode - sass-rails (~> 5.0) - shoulda - simple_form - sqlite3 - sucker_punch - transitions - uglifier (>= 1.3.0) - will_paginate - yard - -BUNDLED WITH - 1.13.1 diff --git a/pkgs/servers/web-apps/frab/gemset.nix b/pkgs/servers/web-apps/frab/gemset.nix deleted file mode 100644 index cf39de25ea6a..000000000000 --- a/pkgs/servers/web-apps/frab/gemset.nix +++ /dev/null @@ -1,998 +0,0 @@ -{ - actionmailer = { - dependencies = ["actionpack" "actionview" "activejob" "mail" "rails-dom-testing"]; - source = { - remotes = ["https://rubygems.org"]; - sha256 = "0lw1pss1mrjm7x7qcg9pvxv55rz3d994yf3mwmlfg1y12fxq00n3"; - type = "gem"; - }; - version = "4.2.7.1"; - }; - actionpack = { - dependencies = ["actionview" "activesupport" "rack" "rack-test" "rails-dom-testing" "rails-html-sanitizer"]; - source = { - remotes = ["https://rubygems.org"]; - sha256 = "1ray5bvlmkimjax011zsw0mz9llfkqrfm7q1avjlp4i0kpcz8zlh"; - type = "gem"; - }; - version = "4.2.7.1"; - }; - actionview = { - dependencies = ["activesupport" "builder" "erubis" "rails-dom-testing" "rails-html-sanitizer"]; - source = { - remotes = ["https://rubygems.org"]; - sha256 = "11m2x5nlbqrw79fh6h7m444lrka7wwy32b0dvgqg7ilbzih43k0c"; - type = "gem"; - }; - version = "4.2.7.1"; - }; - activejob = { - dependencies = ["activesupport" "globalid"]; - source = { - remotes = ["https://rubygems.org"]; - sha256 = "0ish5wd8nvmj7f6x1i22aw5ycizy5n1z1c7f3kyxmqwhw7lb0gaz"; - type = "gem"; - }; - version = "4.2.7.1"; - }; - activemodel = { - dependencies = ["activesupport" "builder"]; - source = { - remotes = ["https://rubygems.org"]; - sha256 = "0acz0mbmahsc9mn41275fpfnrqwig5k09m3xhz3455kv90fn79v5"; - type = "gem"; - }; - version = "4.2.7.1"; - }; - activerecord = { - dependencies = ["activemodel" "activesupport" "arel"]; - source = { - remotes = ["https://rubygems.org"]; - sha256 = "1lk8l6i9p7qfl0pg261v5yph0w0sc0vysrdzc6bm5i5rxgi68flj"; - type = "gem"; - }; - version = "4.2.7.1"; - }; - activeresource = { - dependencies = ["activemodel" "activesupport" "rails-observers"]; - source = { - remotes = ["https://rubygems.org"]; - sha256 = "0nr5is20cx18s7vg8bdrdc996s2abl3h7fsi1q6mqsrzw7nrv2fa"; - type = "gem"; - }; - version = "4.1.0"; - }; - activesupport = { - dependencies = ["i18n" "json" "minitest" "thread_safe" "tzinfo"]; - source = { - remotes = ["https://rubygems.org"]; - sha256 = "1gds12k7nxrcc09b727a458ndidy1nfcllj9x22jcaj7pppvq6r4"; - type = "gem"; - }; - version = "4.2.7.1"; - }; - acts_as_commentable = { - source = { - remotes = ["https://rubygems.org"]; - sha256 = "1p4bwyqmm4ybcscn292aixschdzvns2dpl8a7w4zm0rqy2619cc9"; - type = "gem"; - }; - version = "4.0.2"; - }; - addressable = { - source = { - remotes = ["https://rubygems.org"]; - sha256 = "0mpn7sbjl477h56gmxsjqb89r5s3w7vx5af994ssgc3iamvgzgvs"; - type = "gem"; - }; - version = "2.4.0"; - }; - airbrussh = { - dependencies = ["sshkit"]; - source = { - remotes = ["https://rubygems.org"]; - sha256 = "0pv22d2kjdbsg9q45jca3f5gsylr2r1wfpn58g58xj4s4q4r95nx"; - type = "gem"; - }; - version = "1.1.1"; - }; - arel = { - source = { - remotes = ["https://rubygems.org"]; - sha256 = "1a270mlajhrmpqbhxcqjqypnvgrq4pgixpv3w9gwp1wrrapnwrzk"; - type = "gem"; - }; - version = "6.0.3"; - }; - bcrypt = { - source = { - remotes = ["https://rubygems.org"]; - sha256 = "1d254sdhdj6mzak3fb5x3jam8b94pvl1srladvs53j05a89j5z50"; - type = "gem"; - }; - version = "3.1.11"; - }; - builder = { - source = { - remotes = ["https://rubygems.org"]; - sha256 = "14fii7ab8qszrvsvhz6z2z3i4dw0h41a62fjr2h1j8m41vbrmyv2"; - type = "gem"; - }; - version = "3.2.2"; - }; - bullet = { - dependencies = ["activesupport" "uniform_notifier"]; - source = { - remotes = ["https://rubygems.org"]; - sha256 = "06pba7bdjnazbl0yhhvlina08nkawnm76zihkaam4k7fm0yrq1k0"; - type = "gem"; - }; - version = "5.4.0"; - }; - byebug = { - source = { - remotes = ["https://rubygems.org"]; - sha256 = "18sdnscwwm76i2kbcib2ckwfwpq8b1dbfr97gdcx3j1x547yqv9x"; - type = "gem"; - }; - version = "9.0.5"; - }; - cancancan = { - source = { - remotes = ["https://rubygems.org"]; - sha256 = "05kb459laaw339n7mas37v4k83nwz228bfpaghgybza347341x85"; - type = "gem"; - }; - version = "1.15.0"; - }; - capistrano = { - dependencies = ["i18n" "rake" "sshkit"]; - source = { - remotes = ["https://rubygems.org"]; - sha256 = "0f73w6gpml0ickmwky1cn6d8392q075zy10a323f3vmyvxyhr0jb"; - type = "gem"; - }; - version = "3.4.1"; - }; - capistrano-bundler = { - dependencies = ["capistrano" "sshkit"]; - source = { - remotes = ["https://rubygems.org"]; - sha256 = "1f4iikm7pn0li2lj6p53wl0d6y7svn0h76z9c6c582mmwxa9c72p"; - type = "gem"; - }; - version = "1.1.4"; - }; - capistrano-rails = { - dependencies = ["capistrano" "capistrano-bundler"]; - source = { - remotes = ["https://rubygems.org"]; - sha256 = "03lzihrq72rwcqq7jiqak79wy0xbdnymn5gxj0bfgfjlg5kpgssw"; - type = "gem"; - }; - version = "1.1.8"; - }; - capistrano-rvm = { - dependencies = ["capistrano" "sshkit"]; - source = { - remotes = ["https://rubygems.org"]; - sha256 = "15sy8zcal041yy5kb7fcdqnxvndgdhg3w1kvb5dk7hfjk3ypznsa"; - type = "gem"; - }; - version = "0.1.2"; - }; - capistrano3-puma = { - dependencies = ["capistrano" "puma"]; - source = { - remotes = ["https://rubygems.org"]; - sha256 = "0ynz1arnr07kcl0vsaa1znhp2ywhhs4fwndnkw8sasr9bydksln8"; - type = "gem"; - }; - version = "1.2.1"; - }; - chunky_png = { - source = { - remotes = ["https://rubygems.org"]; - sha256 = "1p1zy4gyfp7rapr2yxcljkw6qh0chkwf356i387b3fg85cwdj4xh"; - type = "gem"; - }; - version = "1.3.7"; - }; - climate_control = { - dependencies = ["activesupport"]; - source = { - remotes = ["https://rubygems.org"]; - sha256 = "0krknwk6b8lwv1j9kjbxib6kf5zh4pxkf3y2vcyycx5d6nci1s55"; - type = "gem"; - }; - version = "0.0.3"; - }; - cocaine = { - dependencies = ["climate_control"]; - source = { - remotes = ["https://rubygems.org"]; - sha256 = "01kk5xd7lspbkdvn6nyj0y51zhvia3z6r4nalbdcqw5fbsywwi7d"; - type = "gem"; - }; - version = "0.5.8"; - }; - cocoon = { - source = { - remotes = ["https://rubygems.org"]; - sha256 = "1gzznkrs6qy31v85cvdqyn5wd3vwlciwibf9clmd6gi4dns21pmv"; - type = "gem"; - }; - version = "1.2.9"; - }; - coderay = { - source = { - remotes = ["https://rubygems.org"]; - sha256 = "1x6z923iwr1hi04k6kz5a6llrixflz8h5sskl9mhaaxy9jx2x93r"; - type = "gem"; - }; - version = "1.1.1"; - }; - coffee-rails = { - dependencies = ["coffee-script" "railties"]; - source = { - remotes = ["https://rubygems.org"]; - sha256 = "1mv1kaw3z4ry6cm51w8pfrbby40gqwxanrqyqr0nvs8j1bscc1gw"; - type = "gem"; - }; - version = "4.1.1"; - }; - coffee-script = { - dependencies = ["coffee-script-source" "execjs"]; - source = { - remotes = ["https://rubygems.org"]; - sha256 = "0rc7scyk7mnpfxqv5yy4y5q1hx3i7q3ahplcp4bq2g5r24g2izl2"; - type = "gem"; - }; - version = "2.4.1"; - }; - coffee-script-source = { - source = { - remotes = ["https://rubygems.org"]; - sha256 = "1k4fg39rrkl3bpgchfj94fbl9s4ysaz16w8dkqncf2vyf79l3qz0"; - type = "gem"; - }; - version = "1.10.0"; - }; - concurrent-ruby = { - source = { - remotes = ["https://rubygems.org"]; - sha256 = "1kb4sav7yli12pjr8lscv8z49g52a5xzpfg3z9h8clzw6z74qjsw"; - type = "gem"; - }; - version = "1.0.2"; - }; - database_cleaner = { - source = { - remotes = ["https://rubygems.org"]; - sha256 = "0fx6zmqznklmkbjl6f713jyl11d4g9q220rcl86m2jp82r8kfwjj"; - type = "gem"; - }; - version = "1.5.3"; - }; - dotenv = { - source = { - remotes = ["https://rubygems.org"]; - sha256 = "1p6zz0xzb15vq8jphpw2fh6m4dianw7s76ci8vj9x3zxayrn4lfm"; - type = "gem"; - }; - version = "2.1.1"; - }; - dotenv-rails = { - dependencies = ["dotenv" "railties"]; - source = { - remotes = ["https://rubygems.org"]; - sha256 = "17s6c0yqaz01xd5wywjscbvv0pa3grak2lhwby91j84qm6h95vxz"; - type = "gem"; - }; - version = "2.1.1"; - }; - erubis = { - source = { - remotes = ["https://rubygems.org"]; - sha256 = "1fj827xqjs91yqsydf0zmfyw9p4l2jz5yikg3mppz6d7fi8kyrb3"; - type = "gem"; - }; - version = "2.7.0"; - }; - exception_notification = { - dependencies = ["actionmailer" "activesupport"]; - source = { - remotes = ["https://rubygems.org"]; - sha256 = "1vclsr0rjfy1khvqyj67lgpa0v14nb542vvjkyaswn367nnmijhw"; - type = "gem"; - }; - version = "4.2.1"; - }; - execjs = { - source = { - remotes = ["https://rubygems.org"]; - sha256 = "1yz55sf2nd3l666ms6xr18sm2aggcvmb8qr3v53lr4rir32y1yp1"; - type = "gem"; - }; - version = "2.7.0"; - }; - factory_girl = { - dependencies = ["activesupport"]; - source = { - remotes = ["https://rubygems.org"]; - sha256 = "1xzl4z9z390fsnyxp10c9if2n46zan3n6zwwpfnwc33crv4s410i"; - type = "gem"; - }; - version = "4.7.0"; - }; - factory_girl_rails = { - dependencies = ["factory_girl" "railties"]; - source = { - remotes = ["https://rubygems.org"]; - sha256 = "0hzpirb33xdqaz44i1mbcfv0icjrghhgaz747llcfsflljd4pa4r"; - type = "gem"; - }; - version = "4.7.0"; - }; - faker = { - dependencies = ["i18n"]; - source = { - remotes = ["https://rubygems.org"]; - sha256 = "09amnh5d0m3q2gpb0vr9spbfa8l2nc0kl3s79y6sx7a16hrl4vvc"; - type = "gem"; - }; - version = "1.6.6"; - }; - github-markdown = { - source = { - remotes = ["https://rubygems.org"]; - sha256 = "0nax4fyyhz9xmi7q6mmc6d1h8hc0cxda9d7q5z0pba88mj00s9fj"; - type = "gem"; - }; - version = "0.6.9"; - }; - globalid = { - dependencies = ["activesupport"]; - source = { - remotes = ["https://rubygems.org"]; - sha256 = "11plkgyl3w9k4y2scc1igvpgwyz4fnmsr63h2q4j8wkb48nlnhak"; - type = "gem"; - }; - version = "0.3.7"; - }; - haml = { - dependencies = ["tilt"]; - source = { - remotes = ["https://rubygems.org"]; - sha256 = "0mrzjgkygvfii66bbylj2j93na8i89998yi01fin3whwqbvx0m1p"; - type = "gem"; - }; - version = "4.0.7"; - }; - httparty = { - dependencies = ["multi_xml"]; - source = { - remotes = ["https://rubygems.org"]; - sha256 = "1msa213hclsv14ijh49i1wggf9avhnj2j4xr58m9jx6fixlbggw6"; - type = "gem"; - }; - version = "0.14.0"; - }; - i18n = { - source = { - remotes = ["https://rubygems.org"]; - sha256 = "1i5z1ykl8zhszsxcs8mzl8d0dxgs3ylz8qlzrw74jb0gplkx6758"; - type = "gem"; - }; - version = "0.7.0"; - }; - jbuilder = { - dependencies = ["activesupport" "multi_json"]; - source = { - remotes = ["https://rubygems.org"]; - sha256 = "1jbh1296imd0arc9nl1m71yfd7kg505p8srr1ijpsqv4hhbz5qci"; - type = "gem"; - }; - version = "2.6.0"; - }; - jquery-migrate-rails = { - source = { - remotes = ["https://rubygems.org"]; - sha256 = "0pcfs339wki4ax4imb4qi2xb04bbj6j4xvn8x3yn6yf95frrvch6"; - type = "gem"; - }; - version = "1.2.1"; - }; - jquery-rails = { - dependencies = ["rails-dom-testing" "railties" "thor"]; - source = { - remotes = ["https://rubygems.org"]; - sha256 = "0prqyixv7j2qlq67qdr3miwcyvi27b9a82j51gbpb6vcl0ig2rik"; - type = "gem"; - }; - version = "4.2.1"; - }; - jquery-ui-rails = { - dependencies = ["railties"]; - source = { - remotes = ["https://rubygems.org"]; - sha256 = "1gfygrv4bjpjd2c377lw7xzk1b77rxjyy3w6wl4bq1gkqvyrkx77"; - type = "gem"; - }; - version = "5.0.5"; - }; - json = { - source = { - remotes = ["https://rubygems.org"]; - sha256 = "1nsby6ry8l9xg3yw4adlhk2pnc7i0h0rznvcss4vk3v74qg0k8lc"; - type = "gem"; - }; - version = "1.8.3"; - }; - launchy = { - dependencies = ["addressable"]; - source = { - remotes = ["https://rubygems.org"]; - sha256 = "190lfbiy1vwxhbgn4nl4dcbzxvm049jwc158r2x7kq3g5khjrxa2"; - type = "gem"; - }; - version = "2.4.3"; - }; - letter_opener = { - dependencies = ["launchy"]; - source = { - remotes = ["https://rubygems.org"]; - sha256 = "1pcrdbxvp2x5six8fqn8gf09bn9rd3jga76ds205yph5m8fsda21"; - type = "gem"; - }; - version = "1.4.1"; - }; - localized_language_select = { - dependencies = ["rails"]; - source = { - fetchSubmodules = false; - rev = "85df6b97789de6e29c630808b630e56a1b76f80c"; - sha256 = "1b2pd8120nrl3s3idpgdzhrjkn9g5sxnkx4j671fjiyhadlr0q5j"; - type = "git"; - url = "git://github.com/frab/localized_language_select.git"; - }; - version = "0.3.0"; - }; - loofah = { - dependencies = ["nokogiri"]; - source = { - remotes = ["https://rubygems.org"]; - sha256 = "109ps521p0sr3kgc460d58b4pr1z4mqggan2jbsf0aajy9s6xis8"; - type = "gem"; - }; - version = "2.0.3"; - }; - mail = { - dependencies = ["mime-types"]; - source = { - remotes = ["https://rubygems.org"]; - sha256 = "0c9vqfy0na9b5096i5i4qvrvhwamjnmajhgqi3kdsdfl8l6agmkp"; - type = "gem"; - }; - version = "2.6.4"; - }; - method_source = { - source = { - remotes = ["https://rubygems.org"]; - sha256 = "1g5i4w0dmlhzd18dijlqw5gk27bv6dj2kziqzrzb7mpgxgsd1sf2"; - type = "gem"; - }; - version = "0.8.2"; - }; - mime-types = { - dependencies = ["mime-types-data"]; - source = { - remotes = ["https://rubygems.org"]; - sha256 = "0087z9kbnlqhci7fxh9f6il63hj1k02icq2rs0c6cppmqchr753m"; - type = "gem"; - }; - version = "3.1"; - }; - mime-types-data = { - source = { - remotes = ["https://rubygems.org"]; - sha256 = "04my3746hwa4yvbx1ranhfaqkgf6vavi1kyijjnw8w3dy37vqhkm"; - type = "gem"; - }; - version = "3.2016.0521"; - }; - mimemagic = { - source = { - remotes = ["https://rubygems.org"]; - sha256 = "101lq4bnjs7ywdcicpw3vbz9amg5gbb4va1626fybd2hawgdx8d9"; - type = "gem"; - }; - version = "0.3.0"; - }; - mini_portile2 = { - source = { - remotes = ["https://rubygems.org"]; - sha256 = "1y25adxb1hgg1wb2rn20g3vl07qziq6fz364jc5694611zz863hb"; - type = "gem"; - }; - version = "2.1.0"; - }; - minitest = { - source = { - remotes = ["https://rubygems.org"]; - sha256 = "0300naf4ilpd9sf0k8si9h9sclkizaschn8bpnri5fqmvm9ybdbq"; - type = "gem"; - }; - version = "5.9.1"; - }; - multi_json = { - source = { - remotes = ["https://rubygems.org"]; - sha256 = "1wpc23ls6v2xbk3l1qncsbz16npvmw8p0b38l8czdzri18mp51xk"; - type = "gem"; - }; - version = "1.12.1"; - }; - multi_xml = { - source = { - remotes = ["https://rubygems.org"]; - sha256 = "0i8r7dsz4z79z3j023l8swan7qpbgxbwwz11g38y2vjqjk16v4q8"; - type = "gem"; - }; - version = "0.5.5"; - }; - mysql2 = { - source = { - remotes = ["https://rubygems.org"]; - sha256 = "1v537b7865f4z610rljy8prwmq1yhk3zalp9mcbxn7aqb3g75pra"; - type = "gem"; - }; - version = "0.4.4"; - }; - net-scp = { - dependencies = ["net-ssh"]; - source = { - remotes = ["https://rubygems.org"]; - sha256 = "0b0jqrcsp4bbi4n4mzyf70cp2ysyp6x07j8k8cqgxnvb4i3a134j"; - type = "gem"; - }; - version = "1.2.1"; - }; - net-ssh = { - source = { - remotes = ["https://rubygems.org"]; - sha256 = "11djaq0h3bzzy61dca3l84rrs91702hha4vgg387gviipgz7f3yy"; - type = "gem"; - }; - version = "3.2.0"; - }; - nokogiri = { - dependencies = ["mini_portile2" "pkg-config"]; - source = { - remotes = ["https://rubygems.org"]; - sha256 = "11sbmpy60ynak6s3794q32lc99hs448msjy8rkp84ay7mq7zqspv"; - type = "gem"; - }; - version = "1.6.7.2"; - }; - paper_trail = { - dependencies = ["activerecord" "request_store"]; - source = { - remotes = ["https://rubygems.org"]; - sha256 = "1w3y2h1w0kml2fmzx4sdcrhnbj273npwrs0cx91xdgy2qfjj6hmr"; - type = "gem"; - }; - version = "5.2.2"; - }; - paperclip = { - dependencies = ["activemodel" "activesupport" "cocaine" "mime-types" "mimemagic"]; - source = { - remotes = ["https://rubygems.org"]; - sha256 = "0r8krh5xg790845wzlc2r7l0jwskw4c4wk9xh4bpprqykwaghg0r"; - type = "gem"; - }; - version = "4.3.7"; - }; - pdf-core = { - source = { - remotes = ["https://rubygems.org"]; - sha256 = "1x121sznmhfmjnk0rzpp6djxgi28afpc8avnhn3kzlmpc87r7fyi"; - type = "gem"; - }; - version = "0.1.6"; - }; - pg = { - source = { - remotes = ["https://rubygems.org"]; - sha256 = "0bplv27d0f8vwdj51967498pl1cjxq19hhcj4hdjr4h3s72l2z4j"; - type = "gem"; - }; - version = "0.19.0"; - }; - pkg-config = { - source = { - remotes = ["https://rubygems.org"]; - sha256 = "0lljiqnm0b4z6iy87lzapwrdfa6ps63x2z5zbs038iig8dqx2g0z"; - type = "gem"; - }; - version = "1.1.7"; - }; - polyamorous = { - dependencies = ["activerecord"]; - source = { - remotes = ["https://rubygems.org"]; - sha256 = "1501y9l81b2lwb93fkycq8dr1bi6qcdhia3qv4fddnmrdihkl3pv"; - type = "gem"; - }; - version = "1.3.1"; - }; - prawn = { - dependencies = ["pdf-core" "ttfunk"]; - source = { - remotes = ["https://rubygems.org"]; - sha256 = "04pxzfmmy8a6bv3zvh1mmyy5zi4bj994kq1v6qnlq2xlhvg4cxjc"; - type = "gem"; - }; - version = "0.15.0"; - }; - prawn_rails = { - dependencies = ["prawn" "railties"]; - source = { - remotes = ["https://rubygems.org"]; - sha256 = "19m1pv2rsl3rf9rni78l8137dy2sq1r2443biv19wi9nis2pvgdg"; - type = "gem"; - }; - version = "0.0.11"; - }; - pry = { - dependencies = ["coderay" "method_source" "slop"]; - source = { - remotes = ["https://rubygems.org"]; - sha256 = "05xbzyin63aj2prrv8fbq2d5df2mid93m81hz5bvf2v4hnzs42ar"; - type = "gem"; - }; - version = "0.10.4"; - }; - pry-byebug = { - dependencies = ["byebug" "pry"]; - source = { - remotes = ["https://rubygems.org"]; - sha256 = "0pvc94kgxd33p6iz41ghyadq8zfbjhkk07nvz2mbh3yhrc8w7gmw"; - type = "gem"; - }; - version = "3.4.0"; - }; - pry-rails = { - dependencies = ["pry"]; - source = { - remotes = ["https://rubygems.org"]; - sha256 = "0a2iinvabis2xmv0z7z7jmh7bbkkngxj2qixfdg5m6qj9x8k1kx6"; - type = "gem"; - }; - version = "0.3.4"; - }; - puma = { - source = { - remotes = ["https://rubygems.org"]; - sha256 = "1k13n500r7v480rcbxm7k09hip0zi7p8zvy3vajj8g9hb7gdcwnp"; - type = "gem"; - }; - version = "3.9.1"; - }; - rack = { - source = { - remotes = ["https://rubygems.org"]; - sha256 = "1g9926ln2lw12lfxm4ylq1h6nl0rafl10za3xvjzc87qvnqic87f"; - type = "gem"; - }; - version = "1.6.11"; - }; - rack-test = { - dependencies = ["rack"]; - source = { - remotes = ["https://rubygems.org"]; - sha256 = "0h6x5jq24makgv2fq5qqgjlrk74dxfy62jif9blk43llw8ib2q7z"; - type = "gem"; - }; - version = "0.6.3"; - }; - rails = { - dependencies = ["actionmailer" "actionpack" "actionview" "activejob" "activemodel" "activerecord" "activesupport" "railties" "sprockets-rails"]; - source = { - remotes = ["https://rubygems.org"]; - sha256 = "1avd16ir7qx23dcnz1b3cafq1lja6rq0w222bs658p9n33rbw54l"; - type = "gem"; - }; - version = "4.2.7.1"; - }; - rails-deprecated_sanitizer = { - dependencies = ["activesupport"]; - source = { - remotes = ["https://rubygems.org"]; - sha256 = "0qxymchzdxww8bjsxj05kbf86hsmrjx40r41ksj0xsixr2gmhbbj"; - type = "gem"; - }; - version = "1.0.3"; - }; - rails-dom-testing = { - dependencies = ["activesupport" "nokogiri" "rails-deprecated_sanitizer"]; - source = { - remotes = ["https://rubygems.org"]; - sha256 = "1v8jl6803mbqpxh4hn0szj081q1a3ap0nb8ni0qswi7z4la844v8"; - type = "gem"; - }; - version = "1.0.7"; - }; - rails-html-sanitizer = { - dependencies = ["loofah"]; - source = { - remotes = ["https://rubygems.org"]; - sha256 = "138fd86kv073zqfx0xifm646w6bgw2lr8snk16lknrrfrss8xnm7"; - type = "gem"; - }; - version = "1.0.3"; - }; - rails-observers = { - dependencies = ["activemodel"]; - source = { - remotes = ["https://rubygems.org"]; - sha256 = "1lsw19jzmvipvrfy2z04hi7r29dvkfc43h43vs67x6lsj9rxwwcy"; - type = "gem"; - }; - version = "0.1.2"; - }; - railties = { - dependencies = ["actionpack" "activesupport" "rake" "thor"]; - source = { - remotes = ["https://rubygems.org"]; - sha256 = "04rz7cn64zzvq7lnhc9zqmaqmqkq84q25v0ym9lcw75j1cj1mrq4"; - type = "gem"; - }; - version = "4.2.7.1"; - }; - rake = { - source = { - remotes = ["https://rubygems.org"]; - sha256 = "0cnjmbcyhm4hacpjn337mg1pnaw6hj09f74clwgh6znx8wam9xla"; - type = "gem"; - }; - version = "11.3.0"; - }; - ransack = { - dependencies = ["actionpack" "activerecord" "activesupport" "i18n" "polyamorous"]; - source = { - remotes = ["https://rubygems.org"]; - sha256 = "0cya3wygwjhj8rckckkl387bmva4nyfvqcl0qhp9hk3zv8y6wxjc"; - type = "gem"; - }; - version = "1.8.2"; - }; - redcarpet = { - source = { - remotes = ["https://rubygems.org"]; - sha256 = "04v85p0bnpf1c7w4n0yr03s35yimxh0idgdrrybl9y13zbw5kgvg"; - type = "gem"; - }; - version = "3.3.4"; - }; - request_store = { - source = { - remotes = ["https://rubygems.org"]; - sha256 = "1va9x0b3ww4chcfqlmi8b14db39di1mwa7qrjbh7ma0lhndvs2zv"; - type = "gem"; - }; - version = "1.3.1"; - }; - ri_cal = { - source = { - remotes = ["https://rubygems.org"]; - sha256 = "1flga63anfpfpdwz6lpm3icpdqmvjq757hihfaw63rlkwq4pf390"; - type = "gem"; - }; - version = "0.8.8"; - }; - roust = { - dependencies = ["activesupport" "httparty" "mail"]; - source = { - remotes = ["https://rubygems.org"]; - sha256 = "1zdnwxxh34psv0iybcdnk9w4dpgpr07j3w1fvigkpccgz5vs82qk"; - type = "gem"; - }; - version = "1.8.9"; - }; - rqrcode = { - dependencies = ["chunky_png"]; - source = { - remotes = ["https://rubygems.org"]; - sha256 = "0h1pnnydgs032psakvg3l779w3ghbn08ajhhhw19hpmnfhrs8k0a"; - type = "gem"; - }; - version = "0.10.1"; - }; - sass = { - source = { - remotes = ["https://rubygems.org"]; - sha256 = "0dkj6v26fkg1g0majqswwmhxva7cd6p3psrhdlx93qal72dssywy"; - type = "gem"; - }; - version = "3.4.22"; - }; - sass-rails = { - dependencies = ["railties" "sass" "sprockets" "sprockets-rails" "tilt"]; - source = { - remotes = ["https://rubygems.org"]; - sha256 = "0iji20hb8crncz14piss1b29bfb6l89sz3ai5fny3iw39vnxkdcb"; - type = "gem"; - }; - version = "5.0.6"; - }; - shoulda = { - dependencies = ["shoulda-context" "shoulda-matchers"]; - source = { - remotes = ["https://rubygems.org"]; - sha256 = "0csmf15a7mcinfq54lfa4arp0f4b2jmwva55m0p94hdf3pxnjymy"; - type = "gem"; - }; - version = "3.5.0"; - }; - shoulda-context = { - source = { - remotes = ["https://rubygems.org"]; - sha256 = "06wv2ika5zrbxn0m3qxwk0zkbspxids3zmlq3xxays5qmvl1qb55"; - type = "gem"; - }; - version = "1.2.1"; - }; - shoulda-matchers = { - dependencies = ["activesupport"]; - source = { - remotes = ["https://rubygems.org"]; - sha256 = "0d3ryqcsk1n9y35bx5wxnqbgw4m8b3c79isazdjnnbg8crdp72d0"; - type = "gem"; - }; - version = "2.8.0"; - }; - simple_form = { - dependencies = ["actionpack" "activemodel"]; - source = { - remotes = ["https://rubygems.org"]; - sha256 = "0ii3rkkbj5cc10f5rdiny18ncdh36kijr25cah0ybbr7kigh3v3b"; - type = "gem"; - }; - version = "3.3.1"; - }; - slop = { - source = { - remotes = ["https://rubygems.org"]; - sha256 = "00w8g3j7k7kl8ri2cf1m58ckxk8rn350gp4chfscmgv6pq1spk3n"; - type = "gem"; - }; - version = "3.6.0"; - }; - sprockets = { - dependencies = ["concurrent-ruby" "rack"]; - source = { - remotes = ["https://rubygems.org"]; - sha256 = "0jzsfiladswnzbrwqfiaj1xip68y58rwx0lpmj907vvq47k87gj1"; - type = "gem"; - }; - version = "3.7.0"; - }; - sprockets-rails = { - dependencies = ["actionpack" "activesupport" "sprockets"]; - source = { - remotes = ["https://rubygems.org"]; - sha256 = "1zr9vk2vn44wcn4265hhnnnsciwlmqzqc6bnx78if1xcssxj6x44"; - type = "gem"; - }; - version = "3.2.0"; - }; - sqlite3 = { - source = { - remotes = ["https://rubygems.org"]; - sha256 = "19r06wglnm6479ffj9dl0fa4p5j2wi6dj7k6k3d0rbx7036cv3ny"; - type = "gem"; - }; - version = "1.3.11"; - }; - sshkit = { - dependencies = ["net-scp" "net-ssh"]; - source = { - remotes = ["https://rubygems.org"]; - sha256 = "0wpqvr2dyxwp3shwh0221i1ahyg8vd2hyilmjvdi026l00gk2j4l"; - type = "gem"; - }; - version = "1.11.3"; - }; - sucker_punch = { - dependencies = ["concurrent-ruby"]; - source = { - remotes = ["https://rubygems.org"]; - sha256 = "0l8b53mlzl568kdl4la8kcjjcnawmbl0q6hq9c3kkyippa5c0x55"; - type = "gem"; - }; - version = "2.0.2"; - }; - thor = { - source = { - remotes = ["https://rubygems.org"]; - sha256 = "08p5gx18yrbnwc6xc0mxvsfaxzgy2y9i78xq7ds0qmdm67q39y4z"; - type = "gem"; - }; - version = "0.19.1"; - }; - thread_safe = { - source = { - remotes = ["https://rubygems.org"]; - sha256 = "1hq46wqsyylx5afkp6jmcihdpv4ynzzq9ygb6z2pb1cbz5js0gcr"; - type = "gem"; - }; - version = "0.3.5"; - }; - tilt = { - source = { - remotes = ["https://rubygems.org"]; - sha256 = "0lgk8bfx24959yq1cn55php3321wddw947mgj07bxfnwyipy9hqf"; - type = "gem"; - }; - version = "2.0.5"; - }; - transitions = { - source = { - remotes = ["https://rubygems.org"]; - sha256 = "11byymi45s4pxbhj195277r16dyhxkqc2jwf7snbhan23izzay2c"; - type = "gem"; - }; - version = "1.2.0"; - }; - ttfunk = { - source = { - remotes = ["https://rubygems.org"]; - sha256 = "1jvgqhp0i6v9d7davwdn20skgi508yd0xcf1h4p9f5dlslmpnkhj"; - type = "gem"; - }; - version = "1.1.1"; - }; - tzinfo = { - dependencies = ["thread_safe"]; - source = { - remotes = ["https://rubygems.org"]; - sha256 = "1c01p3kg6xvy1cgjnzdfq45fggbwish8krd0h864jvbpybyx7cgx"; - type = "gem"; - }; - version = "1.2.2"; - }; - uglifier = { - dependencies = ["execjs"]; - source = { - remotes = ["https://rubygems.org"]; - sha256 = "0f30s1631k03x4wm7xyc79g92pppzvyysa773zsaq2kcry1pmifc"; - type = "gem"; - }; - version = "3.0.2"; - }; - uniform_notifier = { - source = { - remotes = ["https://rubygems.org"]; - sha256 = "1jha0l7x602g5rvah960xl9r0f3q25gslj39i0x1vai8i5z6zr1l"; - type = "gem"; - }; - version = "1.10.0"; - }; - will_paginate = { - source = { - remotes = ["https://rubygems.org"]; - sha256 = "1xlls78hkkmk33q1rb84rgg2xr39g06a1z1239nq59c825g83k01"; - type = "gem"; - }; - version = "3.1.3"; - }; - yard = { - source = { - remotes = ["https://rubygems.org"]; - sha256 = "1gjl0sh7h0a9s67pllagw8192kscljg4y8nddfrqhji4g21yvcas"; - type = "gem"; - }; - version = "0.9.5"; - }; -} From 58b6768280c56df995bcddfbf776126c951a3778 Mon Sep 17 00:00:00 2001 From: Florian Brandes Date: Tue, 29 Mar 2022 17:50:14 +0200 Subject: [PATCH 132/203] pinegrow: bugfix for missing gsettings Signed-off-by: Florian Brandes --- pkgs/applications/editors/pinegrow/default.nix | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/pkgs/applications/editors/pinegrow/default.nix b/pkgs/applications/editors/pinegrow/default.nix index 1f069024eb9e..dfcf8e4f787c 100644 --- a/pkgs/applications/editors/pinegrow/default.nix +++ b/pkgs/applications/editors/pinegrow/default.nix @@ -8,6 +8,7 @@ , autoPatchelfHook , gsettings-desktop-schemas , gtk3 +, wrapGAppsHook , makeWrapper }: @@ -24,6 +25,7 @@ stdenv.mkDerivation rec { unzip autoPatchelfHook makeWrapper + wrapGAppsHook ]; buildInputs = [ @@ -34,7 +36,8 @@ stdenv.mkDerivation rec { gtk3 ]; - wrapProgramFlags = [ + dontWrapGApps = true; + makeWrapperArgs = [ "--prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath [ gcc-unwrapped.lib gtk3 udev ]}" "--prefix PATH : ${lib.makeBinPath [ stdenv.cc ]}" ]; @@ -51,7 +54,7 @@ stdenv.mkDerivation rec { # we can't unzip it in $out/lib, because nw.js will start with # an empty screen. Therefore it will be unzipped in a non-typical # folder and symlinked. - unzip $src -d $out/opt/pinegrow + unzip -q $src -d $out/opt/pinegrow substituteInPlace $out/opt/pinegrow/Pinegrow.desktop \ --replace 'Exec=sh -c "$(dirname %k)/PinegrowLibrary"' 'Exec=sh -c "$out/bin/Pinegrow"' mv $out/opt/pinegrow/Pinegrow.desktop $out/share/applications/Pinegrow.desktop @@ -60,9 +63,11 @@ stdenv.mkDerivation rec { runHook postInstall ''; + # GSETTINGS_SCHEMAS_PATH is not set in installPhase preFixup = '' - export XDG_DATA_DIRS=${gsettings-desktop-schemas}/share/gsettings-schemas/${gsettings-desktop-schemas.name}:${gtk3}/share/gsettings-schemas/${gtk3.name}:$XDG_DATA_DIRS - wrapProgram "$out/opt/pinegrow/PinegrowLibrary" ''${wrapProgramFlags[@]} + wrapProgram $out/bin/Pinegrow \ + ''${makeWrapperArgs[@]} \ + ''${gappsWrapperArgs[@]} ''; meta = with lib; { From 9a2a80df28ddbb7e887ad054582a130ab0a9c634 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 1 Apr 2022 08:10:31 +0000 Subject: [PATCH 133/203] python310Packages.glean-parser: 5.1.0 -> 5.1.1 --- pkgs/development/python-modules/glean-parser/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/glean-parser/default.nix b/pkgs/development/python-modules/glean-parser/default.nix index 953e3faa67bb..afcdd3d66b97 100644 --- a/pkgs/development/python-modules/glean-parser/default.nix +++ b/pkgs/development/python-modules/glean-parser/default.nix @@ -15,7 +15,7 @@ buildPythonPackage rec { pname = "glean-parser"; - version = "5.1.0"; + version = "5.1.1"; format = "setuptools"; disabled = pythonOlder "3.6"; @@ -23,7 +23,7 @@ buildPythonPackage rec { src = fetchPypi { pname = "glean_parser"; inherit version; - hash = "sha256-8oMbaGsW5Lkw9OluNsXXe2IBNbjeoIb9vDjVOt+uHR0="; + hash = "sha256-zUiF0buHBe0BaaeIRJcRoT/g+NhWv6XTuhCZ6WPrris="; }; nativeBuildInputs = [ From ec61fa185de397fe6c5ba4ccb07b4cb6e08bc80e Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 1 Apr 2022 09:19:01 +0000 Subject: [PATCH 134/203] python310Packages.hahomematic: 1.0.3 -> 1.0.4 --- pkgs/development/python-modules/hahomematic/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/hahomematic/default.nix b/pkgs/development/python-modules/hahomematic/default.nix index 7d1a3d8425fe..b70c80819754 100644 --- a/pkgs/development/python-modules/hahomematic/default.nix +++ b/pkgs/development/python-modules/hahomematic/default.nix @@ -14,7 +14,7 @@ buildPythonPackage rec { pname = "hahomematic"; - version = "1.0.3"; + version = "1.0.4"; format = "setuptools"; disabled = pythonOlder "3.9"; @@ -23,7 +23,7 @@ buildPythonPackage rec { owner = "danielperna84"; repo = pname; rev = version; - sha256 = "sha256-WteSLhO/Ei+467tXT7Y1S6bYNNFUILbP5Pm4ZhBYaeg="; + sha256 = "sha256-YpsZKhuK3IzUZFNmBToBOuUacaDgbMC/N7pZDjuSzbE="; }; propagatedBuildInputs = [ From da1544fbf745fc154d3b94fe2e98b710044225f9 Mon Sep 17 00:00:00 2001 From: B4rc1 <0b4rc1@mailbox.org> Date: Fri, 1 Apr 2022 10:03:26 +0000 Subject: [PATCH 135/203] mailspring: 1.9.2 -> 1.10.2 --- .../networking/mailreaders/mailspring/default.nix | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/networking/mailreaders/mailspring/default.nix b/pkgs/applications/networking/mailreaders/mailspring/default.nix index d2e5beb17180..b37274d1e1bb 100644 --- a/pkgs/applications/networking/mailreaders/mailspring/default.nix +++ b/pkgs/applications/networking/mailreaders/mailspring/default.nix @@ -15,15 +15,17 @@ , openssl , udev , xorg +, mesa +, libdrm }: stdenv.mkDerivation rec { pname = "mailspring"; - version = "1.9.2"; + version = "1.10.2"; src = fetchurl { url = "https://github.com/Foundry376/Mailspring/releases/download/${version}/mailspring-${version}-amd64.deb"; - sha256 = "sha256-o7w2XHd5FnPYt9j8IIGy6OgKtdeNb/qZ+EiXGEn0NUQ="; + sha256 = "sha256-6KHhkmHWhj/AgECYqNuJ0iSPEYyuBDac/3fW6J0fgTg="; }; nativeBuildInputs = [ @@ -44,6 +46,9 @@ stdenv.mkDerivation rec { xorg.libXdamage xorg.libXScrnSaver xorg.libXtst + xorg.libxshmfence + mesa + libdrm ]; runtimeDependencies = [ From 18262c79e1c247f813652afc2393bdc38bd4649e Mon Sep 17 00:00:00 2001 From: adisbladis Date: Fri, 1 Apr 2022 22:01:41 +1200 Subject: [PATCH 136/203] poetry2nix: 1.26.0 -> 1.27.1 --- .../tools/poetry2nix/poetry2nix/default.nix | 42 +- .../poetry2nix/poetry2nix/hooks/default.nix | 7 + .../poetry2nix/poetry2nix/hooks/fixup-hook.sh | 14 +- .../poetry2nix/hooks/pip-build-hook.sh | 8 - .../tools/poetry2nix/poetry2nix/lib.nix | 10 +- .../poetry2nix/poetry2nix/mk-poetry-dep.nix | 22 +- .../tools/poetry2nix/poetry2nix/overrides.nix | 2271 ---------------- .../poetry2nix/overrides/build-systems.json | 1557 +++++++++++ .../poetry2nix/overrides/default.nix | 2294 +++++++++++++++++ .../tools/poetry2nix/poetry2nix/pep425.nix | 34 +- .../tools/poetry2nix/poetry2nix/pep508.nix | 4 +- .../poetry2nix/pkgs/poetry/default.nix | 3 - .../poetry2nix/pkgs/poetry/poetry.lock | 159 +- .../poetry2nix/pkgs/poetry/pyproject.toml | 7 +- .../poetry2nix/pkgs/poetry/src.json | 10 +- .../poetry2nix/poetry2nix/pkgs/poetry/update | 11 - pkgs/development/tools/poetry2nix/update | 5 +- 17 files changed, 4034 insertions(+), 2424 deletions(-) delete mode 100644 pkgs/development/tools/poetry2nix/poetry2nix/overrides.nix create mode 100644 pkgs/development/tools/poetry2nix/poetry2nix/overrides/build-systems.json create mode 100644 pkgs/development/tools/poetry2nix/poetry2nix/overrides/default.nix delete mode 100755 pkgs/development/tools/poetry2nix/poetry2nix/pkgs/poetry/update diff --git a/pkgs/development/tools/poetry2nix/poetry2nix/default.nix b/pkgs/development/tools/poetry2nix/poetry2nix/default.nix index c9b70c83bfee..6489a23c37d8 100644 --- a/pkgs/development/tools/poetry2nix/poetry2nix/default.nix +++ b/pkgs/development/tools/poetry2nix/poetry2nix/default.nix @@ -5,17 +5,10 @@ }: let # Poetry2nix version - version = "1.26.0"; + version = "1.27.1"; inherit (poetryLib) isCompatible readTOML moduleName; - /* The default list of poetry2nix override overlays */ - mkEvalPep508 = import ./pep508.nix { - inherit lib poetryLib; - stdenv = pkgs.stdenv; - }; - getFunctorFn = fn: if builtins.typeOf fn == "set" then fn.__functor else fn; - # Map SPDX identifiers to license names spdxLicenses = lib.listToAttrs (lib.filter (pair: pair.name != null) (builtins.map (v: { name = if lib.hasAttr "spdxId" v then v.spdxId else null; value = v; }) (lib.attrValues lib.licenses))); # Get license by id falling back to input string @@ -121,10 +114,16 @@ lib.makeScope pkgs.newScope (self: { , preferWheels ? false # Example: { my-app = ./src; } , editablePackageSources ? { } - , __isBootstrap ? false # Hack: Always add Poetry as a build input unless bootstrapping , pyProject ? readTOML pyproject }@attrs: let + /* The default list of poetry2nix override overlays */ + mkEvalPep508 = import ./pep508.nix { + inherit lib poetryLib; + inherit (python) stdenv; + }; + getFunctorFn = fn: if builtins.typeOf fn == "set" then fn.__functor else fn; + poetryPkg = poetry.override { inherit python; }; scripts = pyProject.tool.poetry.scripts or { }; @@ -180,7 +179,6 @@ lib.makeScope pkgs.newScope (self: { value = self.mkPoetryDep ( pkgMeta // { inherit pwd preferWheels; - inherit __isBootstrap; source = pkgMeta.source or null; files = lockFiles.${name}; pythonPackages = self; @@ -207,12 +205,12 @@ lib.makeScope pkgs.newScope (self: { in { mkPoetryDep = self.callPackage ./mk-poetry-dep.nix { - inherit pkgs lib python poetryLib evalPep508; + inherit lib python poetryLib evalPep508; }; - # Use poetry-core from the poetry build (pep517/518 build-system) - poetry-core = if __isBootstrap then null else poetryPkg.passthru.python.pkgs.poetry-core; - poetry = if __isBootstrap then null else poetryPkg; + # # Use poetry-core from the poetry build (pep517/518 build-system) + poetry-core = poetryPkg.passthru.python.pkgs.poetry-core; + poetry = poetryPkg; __toPluginAble = toPluginAble self; @@ -222,10 +220,21 @@ lib.makeScope pkgs.newScope (self: { setuptools-scm = super.setuptools_scm; } ) + + # Fix infinite recursion in a lot of packages because of checkInputs + (self: super: lib.mapAttrs + (name: value: ( + if lib.isDerivation value && lib.hasAttr "overridePythonAttrs" value + then value.overridePythonAttrs (_: { doCheck = false; }) + else value + )) + super) + # Null out any filtered packages, we don't want python.pkgs from nixpkgs (self: super: builtins.listToAttrs (builtins.map (x: { name = moduleName x.name; value = null; }) incompatible)) # Create poetry2nix layer baseOverlay + ] ++ # User provided overrides (if builtins.typeOf overrides == "list" then overrides else [ overrides ]) ); @@ -318,12 +327,11 @@ lib.makeScope pkgs.newScope (self: { , python ? pkgs.python3 , pwd ? projectDir , preferWheels ? false - , __isBootstrap ? false # Hack: Always add Poetry as a build input unless bootstrapping , ... }@attrs: let poetryPython = self.mkPoetryPackages { - inherit pyproject poetrylock overrides python pwd preferWheels __isBootstrap; + inherit pyproject poetrylock overrides python pwd preferWheels; }; py = poetryPython.python; @@ -429,7 +437,7 @@ lib.makeScope pkgs.newScope (self: { Can be overriden by calling defaultPoetryOverrides.overrideOverlay which takes an overlay function */ - defaultPoetryOverrides = self.mkDefaultPoetryOverrides (import ./overrides.nix { inherit pkgs lib; }); + defaultPoetryOverrides = self.mkDefaultPoetryOverrides (import ./overrides { inherit pkgs lib; }); /* Convenience functions for specifying overlays with or without the poerty2nix default overrides diff --git a/pkgs/development/tools/poetry2nix/poetry2nix/hooks/default.nix b/pkgs/development/tools/poetry2nix/poetry2nix/hooks/default.nix index 0abbe2459927..5d562017b8fb 100644 --- a/pkgs/development/tools/poetry2nix/poetry2nix/hooks/default.nix +++ b/pkgs/development/tools/poetry2nix/poetry2nix/hooks/default.nix @@ -67,6 +67,13 @@ in { name = "fixup-hook.sh"; deps = [ ]; + substitutions = { + inherit pythonSitePackages; + filenames = builtins.concatStringsSep " " [ + "pyproject.toml" + "README.md" + ]; + }; } ./fixup-hook.sh ) { }; diff --git a/pkgs/development/tools/poetry2nix/poetry2nix/hooks/fixup-hook.sh b/pkgs/development/tools/poetry2nix/poetry2nix/hooks/fixup-hook.sh index fc539e4298c6..8cbe2b178c7a 100644 --- a/pkgs/development/tools/poetry2nix/poetry2nix/hooks/fixup-hook.sh +++ b/pkgs/development/tools/poetry2nix/poetry2nix/hooks/fixup-hook.sh @@ -1,8 +1,20 @@ poetry2nix-fixup-hook() { + # Including tests in the output is a common mistake if [ -z "${dontFixupTests-}" ]; then - rm -rf $out/lib/python3.7/site-packages/tests + rm -rf $out/@pythonSitePackages@/tests fi + + # Including files in site-packages is a common packaging mistake + # + # While we cannot remove all normal files dumped in site-packages + # we can clean up some common mistakes + if [ -z "${dontFixupSitePackages-}" ]; then + for f in @filenames@; do + rm -f $out/@pythonSitePackages@/$f + done + fi + } postFixupHooks+=(poetry2nix-fixup-hook) diff --git a/pkgs/development/tools/poetry2nix/poetry2nix/hooks/pip-build-hook.sh b/pkgs/development/tools/poetry2nix/poetry2nix/hooks/pip-build-hook.sh index a3ebe311d591..31e06909b3b6 100644 --- a/pkgs/development/tools/poetry2nix/poetry2nix/hooks/pip-build-hook.sh +++ b/pkgs/development/tools/poetry2nix/poetry2nix/hooks/pip-build-hook.sh @@ -5,14 +5,6 @@ pipBuildPhase() { echo "Executing pipBuildPhase" runHook preBuild - # Prefer using setup.py to avoid build-system dependencies if we have a setup.py - if [ -z "${dontPreferSetupPy-}" ]; then - if test -e setup.py && test -e pyproject.toml; then - echo "Removing pyproject.toml..." - rm -f pyproject.toml - fi - fi - mkdir -p dist echo "Creating a wheel..." @pythonInterpreter@ -m pip wheel --verbose --no-index --no-deps --no-clean --no-build-isolation --wheel-dir dist . diff --git a/pkgs/development/tools/poetry2nix/poetry2nix/lib.nix b/pkgs/development/tools/poetry2nix/poetry2nix/lib.nix index 8e9dee865a54..a905d302d2a9 100644 --- a/pkgs/development/tools/poetry2nix/poetry2nix/lib.nix +++ b/pkgs/development/tools/poetry2nix/poetry2nix/lib.nix @@ -79,6 +79,7 @@ let if lib.strings.hasInfix "manylinux1" f then { pkg = [ ml.manylinux1 ]; str = "1"; } else if lib.strings.hasInfix "manylinux2010" f then { pkg = [ ml.manylinux2010 ]; str = "2010"; } else if lib.strings.hasInfix "manylinux2014" f then { pkg = [ ml.manylinux2014 ]; str = "2014"; } + else if lib.strings.hasInfix "manylinux_" f then { pkg = [ ml.manylinux2014 ]; str = "pep600"; } else { pkg = [ ]; str = null; }; # Predict URL from the PyPI index. @@ -110,8 +111,8 @@ let (pkgs.stdenvNoCC.mkDerivation { name = file; nativeBuildInputs = [ - pkgs.curl - pkgs.jq + pkgs.buildPackages.curl + pkgs.buildPackages.jq ]; isWheel = lib.strings.hasSuffix "whl" file; system = "builtin"; @@ -219,7 +220,8 @@ let }; # Machine tag for our target platform (if available) - targetMachine = manyLinuxTargetMachines.${stdenv.targetPlatform.parsed.cpu.name} or null; + getTargetMachine = stdenv: manyLinuxTargetMachines.${stdenv.targetPlatform.parsed.cpu.name} or null; + in { inherit @@ -233,6 +235,6 @@ in cleanPythonSources moduleName getPythonVersion - targetMachine + getTargetMachine ; } diff --git a/pkgs/development/tools/poetry2nix/poetry2nix/mk-poetry-dep.nix b/pkgs/development/tools/poetry2nix/poetry2nix/mk-poetry-dep.nix index 5735e320c03f..a5c19f873616 100644 --- a/pkgs/development/tools/poetry2nix/poetry2nix/mk-poetry-dep.nix +++ b/pkgs/development/tools/poetry2nix/poetry2nix/mk-poetry-dep.nix @@ -1,5 +1,4 @@ { autoPatchelfHook -, pkgs , lib , python , buildPythonPackage @@ -17,7 +16,6 @@ , sourceSpec , supportedExtensions ? lib.importJSON ./extensions.json , preferWheels ? false -, __isBootstrap ? false # Hack: Always add Poetry as a build input unless bootstrapping , ... }: @@ -27,12 +25,11 @@ pythonPackages.callPackage , ... }@args: let - inherit (pkgs) stdenv; + inherit (python) stdenv; inherit (poetryLib) isCompatible getManyLinuxDeps fetchFromLegacy fetchFromPypi moduleName; inherit (import ./pep425.nix { - inherit lib poetryLib python; - inherit (pkgs) stdenv; + inherit lib poetryLib python stdenv; }) selectWheel ; fileCandidates = @@ -97,6 +94,7 @@ pythonPackages.callPackage "setuptools-scm" "toml" # Toml is an extra for setuptools-scm "tomli" # tomli is an extra for later versions of setuptools-scm + "flit-core" "packaging" "six" "pyparsing" @@ -129,7 +127,6 @@ pythonPackages.callPackage ++ lib.optional (stdenv.buildPlatform != stdenv.hostPlatform) pythonPackages.setuptools ++ lib.optional (!isSource) (getManyLinuxDeps fileInfo.name).pkg ++ lib.optional isDirectory buildSystemPkgs - ++ lib.optional (!__isBootstrap) pythonPackages.poetry ); propagatedBuildInputs = @@ -169,11 +166,18 @@ pythonPackages.callPackage src = if isGit then ( - builtins.fetchGit { + builtins.fetchGit ({ inherit (source) url; rev = source.resolved_reference or source.reference; - ref = sourceSpec.branch or sourceSpec.rev or (if sourceSpec?tag then "refs/tags/${sourceSpec.tag}" else "HEAD"); - } + ref = sourceSpec.branch or (if sourceSpec ? tag then "refs/tags/${sourceSpec.tag}" else "HEAD"); + } // ( + let + nixVersion = builtins.substring 0 3 builtins.nixVersion; + in + lib.optionalAttrs ((sourceSpec ? rev) && (lib.versionAtLeast nixVersion "2.4")) { + allRefs = true; + } + )) ) else if isUrl then builtins.fetchTarball diff --git a/pkgs/development/tools/poetry2nix/poetry2nix/overrides.nix b/pkgs/development/tools/poetry2nix/poetry2nix/overrides.nix deleted file mode 100644 index 6e35069a817c..000000000000 --- a/pkgs/development/tools/poetry2nix/poetry2nix/overrides.nix +++ /dev/null @@ -1,2271 +0,0 @@ -{ pkgs ? import { } -, lib ? pkgs.lib -, stdenv ? pkgs.stdenv -}: - -self: super: - -{ - automat = super.automat.overridePythonAttrs ( - old: rec { - propagatedBuildInputs = (old.propagatedBuildInputs or [ ]) ++ [ self.m2r ]; - } - ); - - aiohttp-swagger3 = super.aiohttp-swagger3.overridePythonAttrs ( - old: { - nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ self.pytest-runner ]; - } - ); - - ansible = super.ansible.overridePythonAttrs ( - old: { - # Inputs copied from nixpkgs as ansible doesn't specify it's dependencies - # in a correct manner. - propagatedBuildInputs = (old.propagatedBuildInputs or [ ]) ++ [ - self.pycrypto - self.paramiko - self.jinja2 - self.pyyaml - self.httplib2 - self.six - self.netaddr - self.dnspython - self.jmespath - self.dopy - self.ncclient - ]; - } // lib.optionalAttrs (lib.versionOlder old.version "5.0") { - prePatch = pkgs.python.pkgs.ansible.prePatch or ""; - postInstall = pkgs.python.pkgs.ansible.postInstall or ""; - } - ); - - ansible-lint = super.ansible-lint.overridePythonAttrs ( - old: { - buildInputs = (old.buildInputs or [ ]) ++ [ self.setuptools-scm-git-archive ]; - preBuild = '' - export HOME=$(mktemp -d) - ''; - } - ); - - anyio = super.anyio.overridePythonAttrs (old: { - postPatch = '' - substituteInPlace setup.py --replace 'setup()' 'setup(version="${old.version}")' - ''; - }); - - argcomplete = super.argcomplete.overridePythonAttrs ( - old: rec { - buildInputs = (old.buildInputs or [ ]) ++ [ self.importlib-metadata ]; - } - ); - - arpeggio = super.arpeggio.overridePythonAttrs ( - old: { - nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ self.pytest-runner ]; - } - ); - - astroid = super.astroid.overridePythonAttrs ( - old: rec { - buildInputs = (old.buildInputs or [ ]) ++ [ self.pytest-runner ]; - } - ); - - av = super.av.overridePythonAttrs ( - old: { - nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ - pkgs.pkg-config - ]; - buildInputs = (old.buildInputs or [ ]) ++ [ pkgs.ffmpeg_4 ]; - } - ); - - argon2-cffi = super.argon2-cffi.overridePythonAttrs ( - old: { - buildInputs = (old.buildInputs or [ ]) ++ - lib.optional (lib.versionAtLeast old.version "21.2.0") [ self.flit-core ]; - } - ); - - backports-entry-points-selectable = super.backports-entry-points-selectable.overridePythonAttrs (old: { - postPatch = '' - substituteInPlace setup.py --replace \ - 'setuptools.setup()' \ - 'setuptools.setup(version="${old.version}")' - ''; - }); - - backports-functools-lru-cache = super.backports-functools-lru-cache.overridePythonAttrs (old: { - postPatch = '' - substituteInPlace setup.py --replace \ - 'setuptools.setup()' \ - 'setuptools.setup(version="${old.version}")' - ''; - }); - - bcrypt = super.bcrypt.overridePythonAttrs ( - old: { - buildInputs = (old.buildInputs or [ ]) ++ [ pkgs.libffi ]; - } - ); - - bjoern = super.bjoern.overridePythonAttrs ( - old: { - buildInputs = (old.nativeBuildInputs or [ ]) ++ [ pkgs.libev ]; - } - ); - - black = super.black.overridePythonAttrs ( - old: { - dontPreferSetupPy = true; - } - ); - - borgbackup = super.borgbackup.overridePythonAttrs ( - old: { - BORG_OPENSSL_PREFIX = pkgs.openssl.dev; - nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ pkgs.pkg-config ]; - buildInputs = (old.buildInputs or [ ]) ++ [ pkgs.openssl pkgs.acl ]; - } - ); - - cairocffi = super.cairocffi.overridePythonAttrs ( - old: { - inherit (pkgs.python3.pkgs.cairocffi) patches; - buildInputs = (old.buildInputs or [ ]) ++ [ self.pytest-runner ]; - } - ); - - cairosvg = super.cairosvg.overridePythonAttrs ( - old: { - buildInputs = (old.buildInputs or [ ]) ++ [ self.pytest-runner ]; - } - ); - - celery = super.celery.overridePythonAttrs (old: { - propagatedBuildInputs = (old.propagatedBuildInputs or [ ]) ++ [ self.setuptools ]; - }); - - cssselect2 = super.cssselect2.overridePythonAttrs ( - old: { - buildInputs = (old.buildInputs or [ ]) ++ [ self.pytest-runner ]; - } - ); - - cffi = - # cffi is bundled with pypy - if self.python.implementation == "pypy" then null else - ( - super.cffi.overridePythonAttrs ( - old: { - buildInputs = (old.buildInputs or [ ]) ++ [ pkgs.libffi ]; - } - ) - ); - - cftime = super.cftime.overridePythonAttrs ( - old: { - buildInputs = (old.buildInputs or [ ]) ++ [ - self.cython - ]; - } - ); - - cheroot = super.cheroot.overridePythonAttrs ( - old: { - dontPreferSetupPy = true; - } - ); - - cloudflare = super.cloudflare.overridePythonAttrs ( - old: { - postPatch = '' - rm -rf examples/* - ''; - } - ); - - colour = super.colour.overridePythonAttrs ( - old: { - buildInputs = (old.buildInputs or [ ]) ++ [ self.d2to1 ]; - } - ); - - configparser = super.configparser.overridePythonAttrs ( - old: { - buildInputs = (old.buildInputs or [ ]) ++ [ - self.toml - ]; - - postPatch = '' - substituteInPlace setup.py --replace 'setuptools.setup()' 'setuptools.setup(version="${old.version}")' - ''; - } - ); - - cryptography = super.cryptography.overridePythonAttrs ( - old: { - nativeBuildInputs = (old.nativeBuildInputs or [ ]) - ++ lib.optional (lib.versionAtLeast old.version "3.4") [ self.setuptools-rust ] - ++ lib.optional (stdenv.buildPlatform != stdenv.hostPlatform) self.python.pythonForBuild.pkgs.cffi - ++ lib.optional (lib.versionAtLeast old.version "3.5") - (with pkgs.rustPlatform; [ cargoSetupHook rust.cargo rust.rustc ]); - buildInputs = (old.buildInputs or [ ]) ++ [ pkgs.openssl ]; - } // lib.optionalAttrs (lib.versionAtLeast old.version "3.4" && lib.versionOlder old.version "3.5") { - CRYPTOGRAPHY_DONT_BUILD_RUST = "1"; - } // lib.optionalAttrs (lib.versionAtLeast old.version "35") rec { - cargoDeps = - let - getCargoHash = version: - if lib.versionOlder version "36.0.0" then "sha256-tQoQfo+TAoqAea86YFxyj/LNQCiViu5ij/3wj7ZnYLI=" - else if lib.versionOlder version "36.0.1" then "sha256-Y6TuW7AryVgSvZ6G8WNoDIvi+0tvx8ZlEYF5qB0jfNk=" - # This hash could no longer be valid for cryptography versions - # different from 36.0.1 - else "sha256-kozYXkqt1Wpqyo9GYCwN08J+zV92ZWFJY/f+rulxmeQ="; - in - pkgs.rustPlatform.fetchCargoTarball { - src = old.src; - sourceRoot = "${old.pname}-${old.version}/${cargoRoot}"; - name = "${old.pname}-${old.version}"; - sha256 = getCargoHash old.version; - }; - cargoRoot = "src/rust"; - } - ); - - cwcwidth = super.cwcwidth.overridePythonAttrs (old: { - nativeBuildInputs = (old.nativeBuildInputs or [ ]) - ++ [ self.cython ]; - }); - - cyclonedx-python-lib = super.cyclonedx-python-lib.overridePythonAttrs (old: { - propagatedBuildInputs = (old.propagatedBuildInputs or [ ]) ++ [ self.setuptools ]; - postPatch = '' - substituteInPlace setup.py --replace 'setuptools>=50.3.2,<51.0.0' 'setuptools' - ''; - }); - - daphne = super.daphne.overridePythonAttrs (old: { - postPatch = '' - substituteInPlace setup.py --replace 'setup_requires=["pytest-runner"],' "" - ''; - }); - - datadog-lambda = super.datadog-lambda.overridePythonAttrs (old: { - postPatch = '' - substituteInPlace setup.py --replace "setuptools==" "setuptools>=" - ''; - buildInputs = (old.buildInputs or [ ]) ++ [ self.setuptools ]; - }); - - dbus-python = super.dbus-python.overridePythonAttrs (old: { - outputs = [ "out" "dev" ]; - - postPatch = old.postPatch or "" + '' - substituteInPlace ./configure --replace /usr/bin/file ${pkgs.file}/bin/file - substituteInPlace ./dbus-python.pc.in --replace 'Cflags: -I''${includedir}' 'Cflags: -I''${includedir}/dbus-1.0' - ''; - - configureFlags = (old.configureFlags or [ ]) ++ [ - "PYTHON_VERSION=${lib.versions.major self.python.version}" - ]; - - preConfigure = lib.concatStringsSep "\n" [ - (old.preConfigure or "") - (if (lib.versionAtLeast stdenv.hostPlatform.darwinMinVersion "11" && stdenv.isDarwin) then '' - MACOSX_DEPLOYMENT_TARGET=10.16 - '' else "") - ]; - - preBuild = old.preBuild or "" + '' - make distclean - ''; - - nativeBuildInputs = old.nativeBuildInputs or [ ] ++ [ pkgs.pkg-config ]; - buildInputs = old.buildInputs or [ ] ++ [ pkgs.dbus pkgs.dbus-glib ] - # My guess why it's sometimes trying to -lncurses. - # It seems not to retain the dependency anyway. - ++ lib.optional (! self.python ? modules) pkgs.ncurses; - }); - - dcli = super.dcli.overridePythonAttrs (old: { - propagatedBuildInputs = (old.propagatedBuildInputs or [ ]) ++ [ self.setuptools ]; - }); - - ddtrace = super.ddtrace.overridePythonAttrs (old: { - buildInputs = (old.buildInputs or [ ]) ++ - (pkgs.lib.optionals pkgs.stdenv.isDarwin [ pkgs.darwin.IOKit ]) ++ [ self.cython ]; - }); - - dictdiffer = super.dictdiffer.overridePythonAttrs ( - old: { - buildInputs = (old.buildInputs or [ ]) ++ [ self.pytest-runner ]; - propagatedBuildInputs = (old.propagatedBuildInputs or [ ]) ++ [ self.setuptools ]; - } - ); - - django = ( - super.django.overridePythonAttrs ( - old: { - propagatedNativeBuildInputs = (old.propagatedNativeBuildInputs or [ ]) - ++ [ pkgs.gettext self.pytest-runner ]; - } - ) - ); - - django-bakery = super.django-bakery.overridePythonAttrs ( - old: { - configurePhase = '' - if ! test -e LICENSE; then - touch LICENSE - fi - '' + (old.configurePhase or ""); - } - ); - - django-cors-headers = super.django-cors-headers.overridePythonAttrs ( - old: { - nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ self.pytest-runner ]; - } - ); - - django-hijack = super.django-hijack.overridePythonAttrs ( - old: { - nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ self.pytest-runner ]; - } - ); - - django-prometheus = super.django-prometheus.overridePythonAttrs ( - old: { - nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ self.pytest-runner ]; - } - ); - - django-rosetta = super.django-rosetta.overridePythonAttrs ( - old: { - nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ self.pytest-runner ]; - } - ); - - django-stubs-ext = super.django-stubs-ext.overridePythonAttrs ( - old: { - prePatch = (old.prePatch or "") + "touch ../LICENSE.txt"; - } - ); - - dlib = super.dlib.overridePythonAttrs ( - old: { - # Parallel building enabled - inherit (pkgs.python.pkgs.dlib) patches; - - enableParallelBuilding = true; - dontUseCmakeConfigure = true; - - nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ pkgs.dlib.nativeBuildInputs; - buildInputs = (old.buildInputs or [ ]) ++ pkgs.dlib.buildInputs; - } - ); - - # Environment markers are not always included (depending on how a dep was defined) - enum34 = if self.pythonAtLeast "3.4" then null else super.enum34; - - eth-hash = super.eth-hash.overridePythonAttrs { - preConfigure = '' - substituteInPlace setup.py --replace \'setuptools-markdown\' "" - ''; - }; - - eth-keyfile = super.eth-keyfile.overridePythonAttrs { - preConfigure = '' - substituteInPlace setup.py --replace \'setuptools-markdown\' "" - ''; - }; - - eth-keys = super.eth-keys.overridePythonAttrs { - preConfigure = '' - substituteInPlace setup.py --replace \'setuptools-markdown\' "" - ''; - }; - - # remove eth-hash dependency because eth-hash also depends on eth-utils causing a cycle. - eth-utils = super.eth-utils.overridePythonAttrs (old: { - propagatedBuildInputs = - builtins.filter (i: i.pname != "eth-hash") old.propagatedBuildInputs; - preConfigure = '' - ${old.preConfigure or ""} - sed -i '/eth-hash/d' setup.py - ''; - }); - - faker = super.faker.overridePythonAttrs ( - old: { - buildInputs = (old.buildInputs or [ ]) ++ [ self.pytest-runner ]; - doCheck = false; - } - ); - - fancycompleter = super.fancycompleter.overridePythonAttrs ( - old: { - postPatch = '' - substituteInPlace setup.py \ - --replace 'setup_requires="setupmeta"' 'setup_requires=[]' \ - --replace 'versioning="devcommit"' 'version="${old.version}"' - ''; - } - ); - - fastapi = super.fastapi.overridePythonAttrs ( - old: { - # Note: requires full flit, not just flit-core - nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ self.flit ]; - } - ); - - fastecdsa = super.fastecdsa.overridePythonAttrs (old: { - buildInputs = old.buildInputs ++ [ pkgs.gmp.dev ]; - }); - - fastparquet = super.fastparquet.overridePythonAttrs ( - old: { - buildInputs = (old.buildInputs or [ ]) ++ [ self.pytest-runner ]; - } - ); - - filelock = super.filelock.overridePythonAttrs (old: { - postPatch = '' - substituteInPlace setup.py --replace 'setup()' 'setup(version="${old.version}")' - ''; - }); - - fiona = super.fiona.overridePythonAttrs ( - old: { - buildInputs = (old.buildInputs or [ ]) ++ [ pkgs.gdal_2 ]; - nativeBuildInputs = [ - pkgs.gdal_2 # for gdal-config - ]; - } - ); - - gdal = super.gdal.overridePythonAttrs ( - old: { - preBuild = (old.preBuild or "") + '' - substituteInPlace setup.cfg \ - --replace "../../apps/gdal-config" '${pkgs.gdal}/bin/gdal-config' - ''; - } - ); - - grandalf = super.grandalf.overridePythonAttrs ( - old: { - buildInputs = (old.buildInputs or [ ]) ++ [ self.pytest-runner ]; - doCheck = false; - } - ); - - gitpython = super.gitpython.overridePythonAttrs ( - old: { - buildInputs = (old.buildInputs or [ ]) ++ [ self.typing-extensions ]; - } - ); - - grpcio = super.grpcio.overridePythonAttrs (old: { - nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ self.cython pkgs.pkg-config ]; - buildInputs = (old.buildInputs or [ ]) ++ [ pkgs.c-ares pkgs.openssl pkgs.zlib ]; - - outputs = [ "out" "dev" ]; - - GRPC_BUILD_WITH_BORING_SSL_ASM = ""; - GRPC_PYTHON_BUILD_SYSTEM_OPENSSL = 1; - GRPC_PYTHON_BUILD_SYSTEM_ZLIB = 1; - GRPC_PYTHON_BUILD_SYSTEM_CARES = 1; - DISABLE_LIBC_COMPATIBILITY = 1; - }); - - grpcio-tools = super.grpcio-tools.overridePythonAttrs (old: { - outputs = [ "out" "dev" ]; - }); - - h3 = super.h3.overridePythonAttrs ( - old: { - preBuild = (old.preBuild or "") + '' - substituteInPlace h3/h3.py \ - --replace "'{}/{}'.format(_dirname, libh3_path)" '"${pkgs.h3}/lib/libh3${pkgs.stdenv.hostPlatform.extensions.sharedLibrary}"' - ''; - } - ); - - h5py = super.h5py.overridePythonAttrs ( - old: - if old.format != "wheel" then - ( - let - mpi = pkgs.hdf5.mpi; - mpiSupport = pkgs.hdf5.mpiSupport; - in - { - nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ pkgs.pkg-config ]; - buildInputs = - (old.buildInputs or [ ]) - ++ [ pkgs.hdf5 self.pkgconfig self.cython ] - ++ lib.optional mpiSupport mpi - ; - propagatedBuildInputs = - (old.propagatedBuildInputs or [ ]) - ++ lib.optionals mpiSupport [ self.mpi4py self.openssh ] - ; - preBuild = if mpiSupport then "export CC=${mpi}/bin/mpicc" else ""; - HDF5_DIR = "${pkgs.hdf5}"; - HDF5_MPI = if mpiSupport then "ON" else "OFF"; - # avoid strict pinning of numpy - postPatch = '' - substituteInPlace setup.py \ - --replace "numpy ==" "numpy >=" - ''; - pythonImportsCheck = [ "h5py" ]; - } - ) else old - ); - - hid = super.hid.overridePythonAttrs ( - old: { - postPatch = '' - found= - for name in libhidapi-hidraw libhidapi-libusb libhidapi-iohidmanager libhidapi; do - full_path=${pkgs.hidapi.out}/lib/$name${pkgs.stdenv.hostPlatform.extensions.sharedLibrary} - if test -f $full_path; then - found=t - sed -i -e "s|'$name\..*'|'$full_path'|" hid/__init__.py - fi - done - test -n "$found" || { echo "ERROR: No known libraries found in ${pkgs.hidapi.out}/lib, please update/fix this build expression."; exit 1; } - ''; - } - ); - - horovod = super.horovod.overridePythonAttrs ( - old: { - propagatedBuildInputs = (old.propagatedBuildInputs or [ ]) ++ [ pkgs.mpi ]; - } - ); - - httplib2 = super.httplib2.overridePythonAttrs (old: { - propagatedBuildInputs = (old.propagatedBuildInputs or [ ]) ++ [ self.pyparsing ]; - }); - - icecream = super.icecream.overridePythonAttrs (old: { - # # ERROR: Could not find a version that satisfies the requirement executing>=0.3.1 (from icecream) (from versions: none) - postPatch = '' - substituteInPlace setup.py --replace 'executing>=0.3.1' 'executing' - ''; - }); - - imagecodecs = super.imagecodecs.overridePythonAttrs ( - old: { - patchPhase = '' - substituteInPlace setup.py \ - --replace "/usr/include/openjpeg-2.3" \ - "${pkgs.openjpeg.dev}/include/${pkgs.openjpeg.dev.incDir} - substituteInPlace setup.py \ - --replace "/usr/include/jxrlib" \ - "$out/include/libjxr" - substituteInPlace imagecodecs/_zopfli.c \ - --replace '"zopfli/zopfli.h"' \ - '' - substituteInPlace imagecodecs/_zopfli.c \ - --replace '"zopfli/zlib_container.h"' \ - '' - substituteInPlace imagecodecs/_zopfli.c \ - --replace '"zopfli/gzip_container.h"' \ - '' - ''; - - preBuild = '' - mkdir -p $out/include/libjxr - ln -s ${pkgs.jxrlib}/include/libjxr/**/* $out/include/libjxr - - ''; - - buildInputs = (old.buildInputs or [ ]) ++ [ - # Commented out packages are declared required, but not actually - # needed to build. They are not yet packaged for nixpkgs. - # bitshuffle - pkgs.brotli - # brunsli - pkgs.bzip2 - pkgs.c-blosc - # charls - pkgs.giflib - pkgs.jxrlib - pkgs.lcms - pkgs.libaec - pkgs.libaec - pkgs.libjpeg_turbo - # liblzf - # liblzma - pkgs.libpng - pkgs.libtiff - pkgs.libwebp - pkgs.lz4 - pkgs.openjpeg - pkgs.snappy - # zfp - pkgs.zopfli - pkgs.zstd - pkgs.zlib - ]; - } - ); - - # importlib-metadata has an incomplete dependency specification - importlib-metadata = super.importlib-metadata.overridePythonAttrs ( - old: { - propagatedBuildInputs = (old.propagatedBuildInputs or [ ]) ++ lib.optional self.python.isPy2 self.pathlib2; - - # disable the removal of pyproject.toml, required because of setuptools_scm - dontPreferSetupPy = true; - - postPatch = old.postPatch or "" + (lib.optionalString ((old.format or "") != "wheel") '' - substituteInPlace setup.py --replace 'setuptools.setup()' 'setuptools.setup(version="${old.version}")' - ''); - } - ); - - importlib-resources = super.importlib-resources.overridePythonAttrs ( - old: { - # disable the removal of pyproject.toml, required because of setuptools_scm - dontPreferSetupPy = true; - } - ); - - intreehooks = super.intreehooks.overridePythonAttrs ( - old: { - doCheck = false; - } - ); - - isort = super.isort.overridePythonAttrs ( - old: { - propagatedBuildInputs = (old.propagatedBuildInputs or [ ]) ++ [ self.setuptools ]; - } - ); - - jaraco-functools = super.jaraco-functools.overridePythonAttrs ( - old: { - # required for the extra "toml" dependency in setuptools_scm[toml] - buildInputs = (old.buildInputs or [ ]) ++ [ - self.toml - ]; - # disable the removal of pyproject.toml, required because of setuptools_scm - dontPreferSetupPy = true; - } - ); - - jira = super.jira.overridePythonAttrs ( - old: { - inherit (pkgs.python3Packages.jira) patches; - buildInputs = (old.buildInputs or [ ]) ++ [ - self.pytestrunner - self.cryptography - self.pyjwt - self.setuptools-scm-git-archive - ]; - } - ); - - jq = super.jq.overridePythonAttrs (attrs: { - buildInputs = [ pkgs.jq ]; - patches = [ - (pkgs.fetchpatch { - url = "https://raw.githubusercontent.com/NixOS/nixpkgs/088da8735f6620b60d724aa7db742607ea216087/pkgs/development/python-modules/jq/jq-py-setup.patch"; - sha256 = "sha256-MYvX3S1YGe0QsUtExtOtULvp++AdVrv+Fid4Jh1xewQ="; - }) - ]; - }); - - jsondiff = super.jsondiff.overridePythonAttrs ( - old: { - preBuild = (old.preBuild or "") + '' - substituteInPlace setup.py \ - --replace "'jsondiff=jsondiff.cli:main_deprecated'," "" - ''; - } - ); - - jsonpickle = super.jsonpickle.overridePythonAttrs ( - old: { - dontPreferSetupPy = true; - } - ); - - jsonslicer = super.jsonslicer.overridePythonAttrs (old: { - nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ pkgs.pkgconfig ]; - buildInputs = (old.buildInputs or [ ]) ++ [ pkgs.yajl ]; - }); - - jupyter = super.jupyter.overridePythonAttrs ( - old: rec { - # jupyter is a meta-package. Everything relevant comes from the - # dependencies. It does however have a jupyter.py file that conflicts - # with jupyter-core so this meta solves this conflict. - meta.priority = 100; - } - ); - - jupyterlab-widgets = super.jupyterlab-widgets.overridePythonAttrs ( - old: rec { - buildInputs = (old.buildInputs or [ ]) ++ [ self.jupyter-packaging ]; - } - ); - - kerberos = super.kerberos.overrideAttrs (old: { - nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ pkgs.libkrb5 ]; - }); - - keyring = super.keyring.overridePythonAttrs ( - old: { - buildInputs = (old.buildInputs or [ ]) ++ [ - self.toml - ]; - postPatch = '' - substituteInPlace setup.py --replace 'setuptools.setup()' 'setuptools.setup(version="${old.version}")' - ''; - } - ); - - kiwisolver = super.kiwisolver.overridePythonAttrs ( - old: { - buildInputs = (old.buildInputs or [ ]) ++ [ - self.cppy - ]; - } - ); - - lap = super.lap.overridePythonAttrs ( - old: { - propagatedBuildInputs = (old.propagatedBuildInputs or [ ]) ++ [ - self.numpy - ]; - } - ); - - libvirt-python = super.libvirt-python.overridePythonAttrs ({ nativeBuildInputs ? [ ], ... }: { - nativeBuildInputs = nativeBuildInputs ++ [ pkgs.pkg-config ]; - propagatedBuildInputs = [ pkgs.libvirt ]; - }); - - licensecheck = super.licensecheck.overridePythonAttrs (old: { - dontPreferSetupPy = true; - }); - - llvmlite = super.llvmlite.overridePythonAttrs ( - old: - let - llvm = - if lib.versionAtLeast old.version "0.37.0" then - pkgs.llvmPackages_11.llvm - else if (lib.versionOlder old.version "0.37.0" && lib.versionAtLeast old.version "0.34.0") then - pkgs.llvmPackages_10.llvm - else if (lib.versionOlder old.version "0.34.0" && lib.versionAtLeast old.version "0.33.0") then - pkgs.llvmPackages_9.llvm - else if (lib.versionOlder old.version "0.33.0" && lib.versionAtLeast old.version "0.29.0") then - pkgs.llvmPackages_8.llvm - else if (lib.versionOlder old.version "0.28.0" && lib.versionAtLeast old.version "0.27.0") then - pkgs.llvmPackages_7.llvm - else if (lib.versionOlder old.version "0.27.0" && lib.versionAtLeast old.version "0.23.0") then - pkgs.llvmPackages_6.llvm - else if (lib.versionOlder old.version "0.23.0" && lib.versionAtLeast old.version "0.21.0") then - pkgs.llvmPackages_5.llvm - else - pkgs.llvm; # Likely to fail. - in - { - nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ pkgs.llvm ]; - - # Disable static linking - # https://github.com/numba/llvmlite/issues/93 - postPatch = '' - substituteInPlace ffi/Makefile.linux --replace "-static-libstdc++" "" - - substituteInPlace llvmlite/tests/test_binding.py --replace "test_linux" "nope" - ''; - - # Set directory containing llvm-config binary - preConfigure = '' - export LLVM_CONFIG=${llvm.dev}/bin/llvm-config - ''; - - __impureHostDeps = lib.optionals pkgs.stdenv.isDarwin [ "/usr/lib/libm.dylib" ]; - - passthru = old.passthru // { llvm = llvm; }; - } - ); - - lockfile = super.lockfile.overridePythonAttrs ( - old: { - propagatedBuildInputs = (old.propagatedBuildInputs or [ ]) ++ [ self.pbr ]; - } - ); - - lxml = super.lxml.overridePythonAttrs ( - old: { - nativeBuildInputs = with pkgs; (old.nativeBuildInputs or [ ]) ++ [ pkg-config libxml2.dev libxslt.dev ] ++ lib.optionals stdenv.isDarwin [ xcodebuild ]; - buildInputs = with pkgs; (old.buildInputs or [ ]) ++ [ libxml2 libxslt ]; - } - ); - - markupsafe = super.markupsafe.overridePythonAttrs ( - old: { - src = old.src.override { pname = builtins.replaceStrings [ "markupsafe" ] [ "MarkupSafe" ] old.pname; }; - } - ); - - matplotlib = super.matplotlib.overridePythonAttrs ( - old: - let - enableGhostscript = old.passthru.enableGhostscript or false; - enableGtk3 = old.passthru.enableTk or false; - enableQt = old.passthru.enableQt or false; - enableTk = old.passthru.enableTk or false; - - inherit (pkgs.darwin.apple_sdk.frameworks) Cocoa; - in - { - NIX_CFLAGS_COMPILE = lib.optionalString stdenv.isDarwin "-I${pkgs.libcxx}/include/c++/v1"; - - XDG_RUNTIME_DIR = "/tmp"; - - buildInputs = (old.buildInputs or [ ]) - ++ lib.optional enableGhostscript pkgs.ghostscript - ++ lib.optional stdenv.isDarwin [ Cocoa ] - ++ [ self.certifi ]; - - nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ - pkgs.pkg-config - ] ++ lib.optional (lib.versionAtLeast super.matplotlib.version "3.5.0") [ - self.setuptools-scm - self.setuptools-scm-git-archive - ]; - - MPLSETUPCFG = pkgs.writeText "mplsetup.cfg" '' - [libs] - system_freetype = True - system_qhull = True - '' + lib.optionalString stdenv.isDarwin '' - # LTO not working in darwin stdenv, see NixOS/nixpkgs/pull/19312 - enable_lto = false - ''; - - propagatedBuildInputs = (old.propagatedBuildInputs or [ ]) ++ [ - pkgs.libpng - pkgs.freetype - pkgs.qhull - ] - ++ lib.optionals enableGtk3 [ pkgs.cairo self.pycairo pkgs.gtk3 pkgs.gobject-introspection self.pygobject3 ] - ++ lib.optionals enableTk [ pkgs.tcl pkgs.tk self.tkinter pkgs.libX11 ] - ++ lib.optionals enableQt [ self.pyqt5 ] - ; - - preBuild = '' - cp -r ${pkgs.qhull} . - ''; - - inherit (super.matplotlib) patches; - } - ); - - # Calls Cargo at build time for source builds and is really tricky to package - maturin = super.maturin.override { - preferWheel = true; - }; - - mccabe = super.mccabe.overridePythonAttrs ( - old: { - buildInputs = (old.buildInputs or [ ]) ++ [ self.pytest-runner ]; - doCheck = false; - } - ); - - mip = super.mip.overridePythonAttrs ( - old: { - nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ pkgs.autoPatchelfHook ]; - - buildInputs = (old.buildInputs or [ ]) ++ [ pkgs.zlib self.cppy ]; - } - ); - - mmdet = super.mmdet.overridePythonAttrs ( - old: { - buildInputs = (old.buildInputs or [ ]) ++ [ self.pytorch ]; - } - ); - - molecule = - if lib.versionOlder super.molecule.version "3.0.0" then - (super.molecule.overridePythonAttrs ( - old: { - patches = (old.patches or [ ]) ++ [ - # Fix build with more recent setuptools versions - (pkgs.fetchpatch { - url = "https://github.com/ansible-community/molecule/commit/c9fee498646a702c77b5aecf6497cff324acd056.patch"; - sha256 = "1g1n45izdz0a3c9akgxx14zhdw6c3dkb48j8pq64n82fa6ndl1b7"; - excludes = [ "pyproject.toml" ]; - }) - ]; - buildInputs = (old.buildInputs or [ ]) ++ [ self.setuptools-scm-git-archive ]; - } - )) else - super.molecule.overridePythonAttrs (old: { - buildInputs = (old.buildInputs or [ ]) ++ [ self.setuptools-scm-git-archive ]; - }); - - mongomock = super.mongomock.overridePythonAttrs (oa: { - buildInputs = oa.buildInputs ++ [ self.pbr ]; - }); - - mpi4py = super.mpi4py.overridePythonAttrs ( - old: - let - cfg = pkgs.writeTextFile { - name = "mpi.cfg"; - text = ( - lib.generators.toINI - { } - { - mpi = { - mpicc = "${pkgs.mpi.outPath}/bin/mpicc"; - }; - } - ); - }; - in - { - propagatedBuildInputs = (old.propagatedBuildInputs or [ ]) ++ [ pkgs.mpi ]; - enableParallelBuilding = true; - preBuild = '' - ln -sf ${cfg} mpi.cfg - ''; - } - ); - - multiaddr = super.multiaddr.overridePythonAttrs ( - old: { - buildInputs = (old.buildInputs or [ ]) ++ [ self.pytest-runner ]; - } - ); - - munch = super.munch.overridePythonAttrs ( - old: { - buildInputs = (old.buildInputs or [ ]) ++ [ self.pbr ]; - } - ); - - mypy = super.mypy.overridePythonAttrs ( - old: { - MYPY_USE_MYPYC = - # is64bit: unfortunately the build would exhaust all possible memory on i686-linux. - stdenv.buildPlatform.is64bit - # Derivation fails to build since v0.900 if mypyc is enabled. - && lib.strings.versionOlder old.version "0.900"; - } - ); - - mysqlclient = super.mysqlclient.overridePythonAttrs ( - old: { - nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ pkgs.libmysqlclient ]; - buildInputs = (old.buildInputs or [ ]) ++ [ pkgs.libmysqlclient ]; - } - ); - - netcdf4 = super.netcdf4.overridePythonAttrs ( - old: { - buildInputs = (old.buildInputs or [ ]) ++ [ - self.cython - ]; - - propagatedBuildInputs = (old.propagatedBuildInputs or [ ]) ++ [ - pkgs.zlib - pkgs.netcdf - pkgs.hdf5 - pkgs.curl - pkgs.libjpeg - ]; - - # Variables used to configure the build process - USE_NCCONFIG = "0"; - HDF5_DIR = lib.getDev pkgs.hdf5; - NETCDF4_DIR = pkgs.netcdf; - CURL_DIR = pkgs.curl.dev; - JPEG_DIR = pkgs.libjpeg.dev; - } - ); - - numpy = super.numpy.overridePythonAttrs ( - old: - let - blas = old.passthru.args.blas or pkgs.openblasCompat; - blasImplementation = lib.nameFromURL blas.name "-"; - cfg = pkgs.writeTextFile { - name = "site.cfg"; - text = ( - lib.generators.toINI - { } - { - ${blasImplementation} = { - include_dirs = "${blas}/include"; - library_dirs = "${blas}/lib"; - } // lib.optionalAttrs (blasImplementation == "mkl") { - mkl_libs = "mkl_rt"; - lapack_libs = ""; - }; - } - ); - }; - in - { - nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ pkgs.gfortran ]; - buildInputs = (old.buildInputs or [ ]) ++ [ blas self.cython ]; - enableParallelBuilding = true; - preBuild = '' - ln -s ${cfg} site.cfg - ''; - passthru = old.passthru // { - blas = blas; - inherit blasImplementation cfg; - }; - } - ); - - opencv-python = super.opencv-python.overridePythonAttrs ( - old: { - nativeBuildInputs = [ pkgs.cmake ] ++ old.nativeBuildInputs; - buildInputs = [ self.scikit-build ] ++ (old.buildInputs or [ ]); - dontUseCmakeConfigure = true; - } - ); - - opencv-contrib-python = super.opencv-contrib-python.overridePythonAttrs ( - old: { - nativeBuildInputs = [ pkgs.cmake ] ++ old.nativeBuildInputs; - buildInputs = [ self.scikit-build ] ++ (old.buildInputs or [ ]); - dontUseCmakeConfigure = true; - } - ); - - openexr = super.openexr.overridePythonAttrs ( - old: rec { - buildInputs = (old.buildInputs or [ ]) ++ [ pkgs.openexr pkgs.ilmbase ]; - NIX_CFLAGS_COMPILE = [ "-I${pkgs.openexr.dev}/include/OpenEXR" "-I${pkgs.ilmbase.dev}/include/OpenEXR" ]; - } - ); - - osqp = super.osqp.overridePythonAttrs ( - old: { - nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ pkgs.cmake ]; - dontUseCmakeConfigure = true; - } - ); - - pantalaimon = super.pantalaimon.overridePythonAttrs (old: { - nativeBuildInputs = old.nativeBuildInputs or [ ] ++ [ pkgs.installShellFiles ]; - postInstall = old.postInstall or "" + '' - installManPage docs/man/*.[1-9] - ''; - }); - - paramiko = super.paramiko.overridePythonAttrs (old: { - doCheck = false; # requires networking - }); - - parsel = super.parsel.overridePythonAttrs ( - old: rec { - nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ self.pytest-runner ]; - } - ); - - pdal = super.pdal.overridePythonAttrs ( - old: { - PDAL_CONFIG = "${pkgs.pdal}/bin/pdal-config"; - } - ); - - peewee = super.peewee.overridePythonAttrs ( - old: - let - withPostgres = old.passthru.withPostgres or false; - withMysql = old.passthru.withMysql or false; - in - { - buildInputs = (old.buildInputs or [ ]) ++ [ pkgs.sqlite ]; - propagatedBuildInputs = (old.propagatedBuildInputs or [ ]) - ++ lib.optional withPostgres self.psycopg2 - ++ lib.optional withMysql self.mysql-connector; - } - ); - - pillow = super.pillow.overridePythonAttrs ( - old: { - nativeBuildInputs = [ pkgs.pkg-config self.pytest-runner ] ++ (old.nativeBuildInputs or [ ]); - buildInputs = with pkgs; [ freetype libjpeg zlib libtiff libwebp tcl lcms2 ] ++ (old.buildInputs or [ ]); - } - ); - - platformdirs = super.platformdirs.overridePythonAttrs (old: { - postPatch = '' - substituteInPlace setup.py --replace 'setup()' 'setup(version="${old.version}")' - ''; - }); - - poetry-core = super.poetry-core.overridePythonAttrs (old: { - # "Vendor" dependencies (for build-system support) - postPatch = '' - echo "import sys" >> poetry/__init__.py - for path in $propagatedBuildInputs; do - echo "sys.path.insert(0, \"$path\")" >> poetry/__init__.py - done - ''; - - # Propagating dependencies leads to issues downstream - # We've already patched poetry to prefer "vendored" dependencies - postFixup = '' - rm $out/nix-support/propagated-build-inputs - ''; - }); - - portend = super.portend.overridePythonAttrs ( - old: { - # required for the extra "toml" dependency in setuptools_scm[toml] - buildInputs = (old.buildInputs or [ ]) ++ [ - self.toml - ]; - # disable the removal of pyproject.toml, required because of setuptools_scm - dontPreferSetupPy = true; - } - ); - - prettytable = super.prettytable.overridePythonAttrs (old: { - propagatedBuildInputs = (old.propagatedBuildInputs or [ ]) ++ [ self.setuptools ]; - }); - - psycopg2 = super.psycopg2.overridePythonAttrs ( - old: { - buildInputs = (old.buildInputs or [ ]) - ++ lib.optional stdenv.isDarwin pkgs.openssl; - nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ pkgs.postgresql ]; - } - ); - - psycopg2-binary = super.psycopg2-binary.overridePythonAttrs ( - old: { - buildInputs = (old.buildInputs or [ ]) - ++ lib.optional stdenv.isDarwin pkgs.openssl; - nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ pkgs.postgresql ]; - } - ); - - pyarrow = - if lib.versionAtLeast super.pyarrow.version "0.16.0" then - super.pyarrow.overridePythonAttrs - ( - old: - let - parseMinor = drv: lib.concatStringsSep "." (lib.take 2 (lib.splitVersion drv.version)); - - # Starting with nixpkgs revision f149c7030a7, pyarrow takes "python3" as an argument - # instead of "python". Below we inspect function arguments to maintain compatibilitiy. - _arrow-cpp = pkgs.arrow-cpp.override ( - builtins.intersectAttrs - (lib.functionArgs pkgs.arrow-cpp.override) - { python = self.python; python3 = self.python; } - ); - - ARROW_HOME = _arrow-cpp; - arrowCppVersion = parseMinor _arrow-cpp; - pyArrowVersion = parseMinor super.pyarrow; - errorMessage = "arrow-cpp version (${arrowCppVersion}) mismatches pyarrow version (${pyArrowVersion})"; - in - if arrowCppVersion != pyArrowVersion then throw errorMessage else { - - nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ - self.cython - pkgs.pkg-config - pkgs.cmake - ]; - - preBuild = '' - export PYARROW_PARALLEL=$NIX_BUILD_CORES - ''; - - PARQUET_HOME = _arrow-cpp; - inherit ARROW_HOME; - - PYARROW_BUILD_TYPE = "release"; - PYARROW_WITH_FLIGHT = if _arrow-cpp.enableFlight then 1 else 0; - PYARROW_WITH_DATASET = 1; - PYARROW_WITH_PARQUET = 1; - PYARROW_CMAKE_OPTIONS = [ - "-DCMAKE_INSTALL_RPATH=${ARROW_HOME}/lib" - - # This doesn't use setup hook to call cmake so we need to workaround #54606 - # ourselves - "-DCMAKE_POLICY_DEFAULT_CMP0025=NEW" - ]; - - dontUseCmakeConfigure = true; - } - ) else - super.pyarrow.overridePythonAttrs ( - old: { - nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ - self.cython - ]; - } - ); - - pycairo = ( - drv: ( - drv.overridePythonAttrs ( - _: { - format = "other"; - } - ) - ).overridePythonAttrs ( - old: { - - nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ - pkgs.meson - pkgs.ninja - pkgs.pkg-config - ]; - - propagatedBuildInputs = (old.propagatedBuildInputs or [ ]) ++ [ - pkgs.cairo - pkgs.xlibsWrapper - ]; - - mesonFlags = [ "-Dpython=${if self.isPy3k then "python3" else "python"}" ]; - } - ) - ) - super.pycairo; - - pycocotools = super.pycocotools.overridePythonAttrs ( - old: { - buildInputs = (old.buildInputs or [ ]) ++ [ - self.cython - self.numpy - ]; - } - ); - - pyfuse3 = super.pyfuse3.overridePythonAttrs (old: { - nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ pkgs.pkg-config ]; - buildInputs = (old.buildInputs or [ ]) ++ [ pkgs.fuse3 ]; - }); - - pygame = super.pygame.overridePythonAttrs ( - old: rec { - nativeBuildInputs = [ - pkgs.pkg-config - pkgs.SDL - ]; - - buildInputs = [ - pkgs.SDL - pkgs.SDL_image - pkgs.SDL_mixer - pkgs.SDL_ttf - pkgs.libpng - pkgs.libjpeg - pkgs.portmidi - pkgs.xorg.libX11 - pkgs.freetype - ]; - - # Tests fail because of no audio device and display. - doCheck = false; - preConfigure = '' - sed \ - -e "s/origincdirs = .*/origincdirs = []/" \ - -e "s/origlibdirs = .*/origlibdirs = []/" \ - -e "/'\/lib\/i386-linux-gnu', '\/lib\/x86_64-linux-gnu']/d" \ - -e "/\/include\/smpeg/d" \ - -i buildconfig/config_unix.py - ${lib.concatMapStrings - (dep: '' - sed \ - -e "/origincdirs =/a\ origincdirs += ['${lib.getDev dep}/include']" \ - -e "/origlibdirs =/a\ origlibdirs += ['${lib.getLib dep}/lib']" \ - -i buildconfig/config_unix.py - '') - buildInputs - } - LOCALBASE=/ ${self.python.interpreter} buildconfig/config.py - ''; - } - ); - - pygeos = super.pygeos.overridePythonAttrs ( - old: { - buildInputs = (old.buildInputs or [ ]) ++ [ pkgs.geos ]; - nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ pkgs.geos ]; - } - ); - - pygobject = super.pygobject.overridePythonAttrs ( - old: { - nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ pkgs.pkg-config ]; - buildInputs = (old.buildInputs or [ ]) ++ [ pkgs.glib pkgs.gobject-introspection ]; - } - ); - - pylint = super.pylint.overridePythonAttrs ( - old: { - buildInputs = (old.buildInputs or [ ]) ++ [ self.pytest-runner ]; - } - ); - - pyopenssl = super.pyopenssl.overridePythonAttrs ( - old: { - buildInputs = (old.buildInputs or [ ]) ++ [ pkgs.openssl ]; - } - ); - - pyproj = super.pyproj.overridePythonAttrs ( - old: { - buildInputs = (old.buildInputs or [ ]) ++ - [ self.cython ]; - PROJ_DIR = "${pkgs.proj}"; - PROJ_LIBDIR = "${pkgs.proj}/lib"; - PROJ_INCDIR = "${pkgs.proj.dev}/include"; - } - ); - - pyproject-flake8 = super.pyproject-flake8.overridePythonAttrs ( - old: { - buildInputs = (old.buildInputs or [ ]) ++ [ self.flit-core ]; - } - ); - - pytaglib = super.pytaglib.overridePythonAttrs (old: { - buildInputs = (old.buildInputs or [ ]) ++ [ pkgs.taglib ]; - }); - - pytezos = super.pytezos.overridePythonAttrs (old: { - buildInputs = (old.buildInputs or [ ]) ++ [ pkgs.libsodium ]; - }); - - python-bugzilla = super.python-bugzilla.overridePythonAttrs ( - old: { - nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ - self.docutils - ]; - } - ); - - python-ldap = super.python-ldap.overridePythonAttrs ( - old: { - buildInputs = (old.buildInputs or [ ]) ++ [ pkgs.openldap pkgs.cyrus_sasl ]; - } - ); - - pytoml = super.pytoml.overridePythonAttrs ( - old: { - doCheck = false; - } - ); - - pyqt5 = - let - drv = super.pyqt5; - withConnectivity = drv.passthru.args.withConnectivity or false; - withMultimedia = drv.passthru.args.withMultimedia or false; - withWebKit = drv.passthru.args.withWebKit or false; - withWebSockets = drv.passthru.args.withWebSockets or false; - in - super.pyqt5.overridePythonAttrs ( - old: { - format = "other"; - - dontWrapQtApps = true; - - nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ - pkgs.pkg-config - pkgs.qt5.qmake - pkgs.xorg.lndir - pkgs.qt5.qtbase - pkgs.qt5.qtsvg - pkgs.qt5.qtdeclarative - pkgs.qt5.qtwebchannel - pkgs.qt5.qt3d - # self.pyqt5-sip - self.sip - ] - ++ lib.optional withConnectivity pkgs.qt5.qtconnectivity - ++ lib.optional withMultimedia pkgs.qt5.qtmultimedia - ++ lib.optional withWebKit pkgs.qt5.qtwebkit - ++ lib.optional withWebSockets pkgs.qt5.qtwebsockets - ; - - buildInputs = (old.buildInputs or [ ]) ++ [ - pkgs.dbus - pkgs.qt5.qtbase - pkgs.qt5.qtsvg - pkgs.qt5.qtdeclarative - self.sip - ] - ++ lib.optional withConnectivity pkgs.qt5.qtconnectivity - ++ lib.optional withWebKit pkgs.qt5.qtwebkit - ++ lib.optional withWebSockets pkgs.qt5.qtwebsockets - ; - - # Fix dbus mainloop - patches = pkgs.python3.pkgs.pyqt5.patches or [ ]; - - configurePhase = '' - runHook preConfigure - - export PYTHONPATH=$PYTHONPATH:$out/${self.python.sitePackages} - - mkdir -p $out/${self.python.sitePackages}/dbus/mainloop - ${self.python.executable} configure.py -w \ - --confirm-license \ - --no-qml-plugin \ - --bindir=$out/bin \ - --destdir=$out/${self.python.sitePackages} \ - --stubsdir=$out/${self.python.sitePackages}/PyQt5 \ - --sipdir=$out/share/sip/PyQt5 \ - --designer-plugindir=$out/plugins/designer - - runHook postConfigure - ''; - - postInstall = '' - ln -s ${self.pyqt5-sip}/${self.python.sitePackages}/PyQt5/sip.* $out/${self.python.sitePackages}/PyQt5/ - for i in $out/bin/*; do - wrapProgram $i --prefix PYTHONPATH : "$PYTHONPATH" - done - - # Let's make it a namespace package - cat << EOF > $out/${self.python.sitePackages}/PyQt5/__init__.py - from pkgutil import extend_path - __path__ = extend_path(__path__, __name__) - EOF - ''; - - installCheckPhase = - let - modules = [ - "PyQt5" - "PyQt5.QtCore" - "PyQt5.QtQml" - "PyQt5.QtWidgets" - "PyQt5.QtGui" - ] - ++ lib.optional withWebSockets "PyQt5.QtWebSockets" - ++ lib.optional withWebKit "PyQt5.QtWebKit" - ++ lib.optional withMultimedia "PyQt5.QtMultimedia" - ++ lib.optional withConnectivity "PyQt5.QtConnectivity" - ; - imports = lib.concatMapStrings (module: "import ${module};") modules; - in - '' - echo "Checking whether modules can be imported..." - ${self.python.interpreter} -c "${imports}" - ''; - - doCheck = true; - - enableParallelBuilding = true; - } - ); - - pytest-datadir = super.pytest-datadir.overridePythonAttrs ( - old: { - postInstall = '' - rm -f $out/LICENSE - ''; - } - ); - - pytest = super.pytest.overridePythonAttrs ( - old: { - # Fixes https://github.com/pytest-dev/pytest/issues/7891 - postPatch = old.postPatch or "" + '' - sed -i '/\[metadata\]/aversion = ${old.version}' setup.cfg - ''; - } - ); - - pytest-django = super.pytest-django.overridePythonAttrs ( - old: { - postPatch = '' - substituteInPlace setup.py --replace "'pytest>=3.6'," "" - substituteInPlace setup.py --replace "'pytest>=3.6'" "" - ''; - } - ); - - pytest-randomly = super.pytest-randomly.overrideAttrs (old: { - propagatedBuildInputs = (old.propagatedBuildInputs or [ ]) ++ [ - self.importlib-metadata - ]; - }); - - pytest-runner = super.pytest-runner or super.pytestrunner; - - pytest-pylint = super.pytest-pylint.overridePythonAttrs ( - old: { - buildInputs = [ self.pytest-runner ]; - } - ); - - # pytest-splinter seems to put a .marker file in an empty directory - # presumably so it's tracked by and can be installed with MANIFEST.in, see - # https://github.com/pytest-dev/pytest-splinter/commit/a48eeef662f66ff9d3772af618748e73211a186b - # - # This directory then gets used as an empty initial profile directory and is - # zipped up. But if the .marker file is in the Nix store, it has the - # creation date of 1970, and Zip doesn't work with such old files, so it - # fails at runtime! - # - # We fix this here by just removing the file after the installation - # - # The error you get without this is: - # - # E ValueError: ZIP does not support timestamps before 1980 - # /nix/store/55b9ip7xkpimaccw9pa0vacy5q94f5xa-python3-3.7.6/lib/python3.7/zipfile.py:357: ValueError - pytest-splinter = super.pytest-splinter.overrideAttrs (old: { - postInstall = old.postInstall or "" + '' - rm $out/${super.python.sitePackages}/pytest_splinter/profiles/firefox/.marker - ''; - }); - - python-jose = super.python-jose.overridePythonAttrs ( - old: { - buildInputs = [ self.pytest-runner ]; - } - ); - - python-olm = super.python-olm.overridePythonAttrs ( - old: { - buildInputs = old.buildInputs or [ ] ++ [ pkgs.olm ]; - } - ); - - python-snappy = super.python-snappy.overridePythonAttrs ( - old: { - buildInputs = (old.buildInputs or [ ]) ++ [ pkgs.snappy ]; - } - ); - - pythran = super.pythran.overridePythonAttrs (old: { - buildInputs = (old.buildInputs or [ ]) ++ [ self.pytest-runner ]; - }); - - ffmpeg-python = super.ffmpeg-python.overridePythonAttrs ( - old: { - buildInputs = (old.buildInputs or [ ]) ++ [ self.pytest-runner ]; - } - ); - - python-prctl = super.python-prctl.overridePythonAttrs ( - old: { - buildInputs = (old.buildInputs or [ ]) ++ [ - pkgs.libcap - ]; - } - ); - - pyudev = super.pyudev.overridePythonAttrs (old: { - postPatch = '' - substituteInPlace src/pyudev/_ctypeslib/utils.py \ - --replace "find_library(name)" "'${pkgs.lib.getLib pkgs.systemd}/lib/libudev.so'" - ''; - }); - - pyusb = super.pyusb.overridePythonAttrs ( - old: { - postPatch = '' - libusb=${pkgs.libusb1.out}/lib/libusb-1.0${pkgs.stdenv.hostPlatform.extensions.sharedLibrary} - test -f $libusb || { echo "ERROR: $libusb doesn't exist, please update/fix this build expression."; exit 1; } - sed -i -e "s|find_library=None|find_library=lambda _:\"$libusb\"|" usb/backend/libusb1.py - ''; - } - ); - - pywavelets = super.pywavelets.overridePythonAttrs ( - old: { - HDF5_DIR = "${pkgs.hdf5}"; - propagatedBuildInputs = (old.propagatedBuildInputs or [ ]) ++ [ pkgs.hdf5 ]; - } - ); - - pyzmq = super.pyzmq.overridePythonAttrs ( - old: { - nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ pkgs.pkg-config ]; - propagatedBuildInputs = (old.propagatedBuildInputs or [ ]) ++ [ pkgs.zeromq ]; - } - ); - - rockset = super.rockset.overridePythonAttrs ( - old: rec { - postPatch = '' - cp ./setup_rockset.py ./setup.py - ''; - } - ); - - scaleapi = super.scaleapi.overridePythonAttrs ( - old: { - postPatch = '' - substituteInPlace setup.py --replace "install_requires = ['requests>=2.4.2', 'enum34']" "install_requires = ['requests>=2.4.2']" || true - ''; - } - ); - - pandas = super.pandas.overridePythonAttrs ( - old: { - nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ self.cython ]; - } - ); - - panel = super.panel.overridePythonAttrs ( - old: { - nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ pkgs.nodejs ]; - } - ); - - # Pybind11 is an undeclared dependency of scipy that we need to pick from nixpkgs - # Make it not fail with infinite recursion - pybind11 = super.pybind11.overridePythonAttrs ( - old: { - cmakeFlags = (old.cmakeFlags or [ ]) ++ [ - "-DPYBIND11_TEST=off" - ]; - doCheck = false; # Circular test dependency - } - ); - - requests-mock = super.requests-mock.overridePythonAttrs ( - old: { - propagatedBuildInputs = (old.propagatedBuildInputs or [ ]) ++ [ super.pbr ]; - } - ); - - requests-unixsocket = super.requests-unixsocket.overridePythonAttrs ( - old: { - nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ self.pbr ]; - } - ); - - requestsexceptions = super.requestsexceptions.overridePythonAttrs (old: { - nativeBuildInputs = old.nativeBuildInputs ++ [ self.pbr ]; - }); - - rlp = super.rlp.overridePythonAttrs { - preConfigure = '' - substituteInPlace setup.py --replace \'setuptools-markdown\' "" - ''; - }; - - - rmfuse = super.rmfuse.overridePythonAttrs (old: { - propagatedBuildInputs = (old.propagatedBuildInputs or [ ]) ++ [ self.setuptools ]; - }); - - rtree = super.rtree.overridePythonAttrs (old: { - propagatedNativeBuildInputs = (old.propagatedNativeBuildInputs or [ ]) ++ [ pkgs.libspatialindex ]; - postPatch = '' - substituteInPlace rtree/finder.py --replace \ - "find_library('spatialindex_c')" \ - "'${pkgs.libspatialindex}/lib/libspatialindex_c${pkgs.stdenv.hostPlatform.extensions.sharedLibrary}'" - ''; - }); - - ruamel-yaml = super.ruamel-yaml.overridePythonAttrs ( - old: { - propagatedBuildInputs = (old.propagatedBuildInputs or [ ]) - ++ [ self.ruamel-yaml-clib ]; - } - ); - - scipy = super.scipy.overridePythonAttrs ( - old: - if old.format != "wheel" then { - nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ - [ pkgs.gfortran ] ++ - lib.optional (lib.versionAtLeast super.scipy.version "1.7.0") [ self.cython self.pythran ]; - propagatedBuildInputs = (old.propagatedBuildInputs or [ ]) ++ [ self.pybind11 ]; - setupPyBuildFlags = [ "--fcompiler='gnu95'" ]; - enableParallelBuilding = true; - buildInputs = (old.buildInputs or [ ]) ++ [ self.numpy.blas ]; - preConfigure = '' - sed -i '0,/from numpy.distutils.core/s//import setuptools;from numpy.distutils.core/' setup.py - export NPY_NUM_BUILD_JOBS=$NIX_BUILD_CORES - ''; - preBuild = '' - ln -s ${self.numpy.cfg} site.cfg - ''; - } else old - ); - - scikit-image = super.scikit-image.overridePythonAttrs ( - old: { - nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ - self.cython - self.pythran - self.packaging - self.wheel - self.numpy - ]; - } - ); - - scikit-learn = super.scikit-learn.overridePythonAttrs ( - old: { - buildInputs = (old.buildInputs or [ ]) ++ [ - pkgs.gfortran - pkgs.glibcLocales - ] ++ lib.optionals stdenv.cc.isClang [ - pkgs.llvmPackages.openmp - ]; - - nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ - self.cython - ]; - - enableParallelBuilding = true; - } - ); - - secp256k1 = super.secp256k1.overridePythonAttrs (old: { - nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ pkgs.pkgconfig pkgs.autoconf pkgs.automake pkgs.libtool ]; - buildInputs = (old.buildInputs or [ ]) ++ [ self.pytest-runner ]; - doCheck = false; - # Local setuptools versions like "x.y.post0" confuse an internal check - postPatch = '' - substituteInPlace setup.py \ - --replace 'setuptools_version.' '"${self.setuptools.version}".' - ''; - }); - - shapely = super.shapely.overridePythonAttrs ( - old: { - buildInputs = (old.buildInputs or [ ]) ++ [ pkgs.geos self.cython ]; - inherit (pkgs.python3.pkgs.shapely) patches GEOS_LIBRARY_PATH; - } - ); - - shellcheck-py = super.shellcheck-py.overridePythonAttrs (old: { - - # Make fetching/installing external binaries no-ops - preConfigure = - let - fakeCommand = "type('FakeCommand', (Command,), {'initialize_options': lambda self: None, 'finalize_options': lambda self: None, 'run': lambda self: None})"; - in - '' - substituteInPlace setup.py \ - --replace "'fetch_binaries': fetch_binaries," "'fetch_binaries': ${fakeCommand}," \ - --replace "'install_shellcheck': install_shellcheck," "'install_shellcheck': ${fakeCommand}," - ''; - - propagatedUserEnvPkgs = (old.propagatedUserEnvPkgs or [ ]) ++ [ - pkgs.shellcheck - ]; - - }); - - tables = super.tables.overridePythonAttrs ( - old: { - buildInputs = (old.buildInputs or [ ]) ++ [ self.pywavelets ]; - HDF5_DIR = lib.getDev pkgs.hdf5; - nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ pkgs.pkg-config ]; - propagatedBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ pkgs.hdf5 self.numpy self.numexpr ]; - } - ); - - tempora = super.tempora.overridePythonAttrs ( - old: { - # required for the extra "toml" dependency in setuptools_scm[toml] - buildInputs = (old.buildInputs or [ ]) ++ [ - self.toml - ]; - # disable the removal of pyproject.toml, required because of setuptools_scm - dontPreferSetupPy = true; - } - ); - - tensorboard = super.tensorboard.overridePythonAttrs ( - old: { - buildInputs = (old.buildInputs or [ ]) ++ [ - self.wheel - self.absl-py - ]; - HDF5_DIR = "${pkgs.hdf5}"; - propagatedBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ - pkgs.hdf5 - self.google-auth-oauthlib - self.tensorboard-plugin-wit - self.numpy - self.markdown - self.tensorboard-data-server - self.grpcio - self.protobuf - self.werkzeug - self.absl-py - ]; - } - ); - - tensorflow = super.tensorflow.overridePythonAttrs ( - old: { - postInstall = '' - rm $out/bin/tensorboard - ''; - } - ); - - tensorpack = super.tensorpack.overridePythonAttrs ( - old: { - postPatch = '' - substituteInPlace setup.cfg --replace "# will call find_packages()" "" - ''; - } - ); - - tinycss2 = super.tinycss2.overridePythonAttrs ( - old: { - buildInputs = (old.buildInputs or [ ]) ++ [ self.pytest-runner ]; - } - ); - - # The tokenizers build requires a complex rust setup (cf. nixpkgs override) - # - # Instead of providing a full source build, we use a wheel to keep - # the complexity manageable for now. - tokenizers = super.tokenizers.override { - preferWheel = true; - }; - - torch = lib.makeOverridable - ({ enableCuda ? false - , cudatoolkit ? pkgs.cudatoolkit_10_1 - , pkg ? super.torch - }: pkg.overrideAttrs (old: - { - preConfigure = - if (!enableCuda) then '' - export USE_CUDA=0 - '' else '' - export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:${cudatoolkit}/targets/x86_64-linux/lib" - ''; - preFixup = lib.optionalString (!enableCuda) '' - # For some reason pytorch retains a reference to libcuda even if it - # is explicitly disabled with USE_CUDA=0. - find $out -name "*.so" -exec ${pkgs.patchelf}/bin/patchelf --remove-needed libcuda.so.1 {} \; - ''; - buildInputs = - (old.buildInputs or [ ]) - ++ [ self.typing-extensions ] - ++ lib.optionals enableCuda [ - pkgs.linuxPackages.nvidia_x11 - pkgs.nccl.dev - pkgs.nccl.out - ]; - propagatedBuildInputs = [ - self.numpy - self.future - self.typing-extensions - ]; - }) - ) - { }; - - torchvision = lib.makeOverridable - ({ enableCuda ? false - , cudatoolkit ? pkgs.cudatoolkit_10_1 - , pkg ? super.torchvision - }: pkg.overrideAttrs (old: { - - # without that autoPatchelfHook will fail because cudatoolkit is not in LD_LIBRARY_PATH - autoPatchelfIgnoreMissingDeps = true; - buildInputs = (old.buildInputs or [ ]) - ++ [ self.torch ] - ++ lib.optionals enableCuda [ - cudatoolkit - ]; - preConfigure = - if (enableCuda) then '' - export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:${self.torch}/${self.python.sitePackages}/torch/lib:${lib.makeLibraryPath [ cudatoolkit "${cudatoolkit}" ]}" - '' else '' - export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:${self.torch}/${self.python.sitePackages}/torch/lib" - ''; - })) - { }; - - typeguard = super.typeguard.overridePythonAttrs (old: { - postPatch = '' - substituteInPlace setup.py \ - --replace 'setup()' 'setup(version="${old.version}")' - ''; - }); - - typed_ast = super.typed-ast.overridePythonAttrs (old: { - nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ - self.pytest-runner - ]; - }); - - # nix uses a dash, poetry uses an underscore - typing-extensions = (super.typing_extensions or super.typing-extensions).overridePythonAttrs ( - old: { - buildInputs = (old.buildInputs or [ ]) ++ - lib.optional (lib.versionAtLeast old.version "4.0.0") [ self.flit-core ]; - } - ); - - urwidtrees = super.urwidtrees.overridePythonAttrs ( - old: { - propagatedBuildInputs = (old.propagatedBuildInputs or [ ]) ++ [ - self.urwid - ]; - } - ); - - vose-alias-method = super.vose-alias-method.overridePythonAttrs ( - old: { - postInstall = '' - rm -f $out/LICENSE - ''; - } - ); - - vispy = super.vispy.overrideAttrs ( - old: { - inherit (pkgs.python3.pkgs.vispy) patches; - nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ - self.cython - self.setuptools-scm-git-archive - ]; - } - ); - - uvloop = super.uvloop.overridePythonAttrs ( - old: { - buildInputs = (old.buildInputs or [ ]) ++ lib.optionals stdenv.isDarwin [ - pkgs.darwin.apple_sdk.frameworks.ApplicationServices - pkgs.darwin.apple_sdk.frameworks.CoreServices - ]; - } - ); - - - # Stop infinite recursion by using bootstrapped pkg from nixpkgs - bootstrapped-pip = super.bootstrapped-pip.override { - wheel = (pkgs.python3.pkgs.override { - python = self.python; - }).wheel; - }; - - weasyprint = super.weasyprint.overridePythonAttrs ( - old: { - inherit (pkgs.python3.pkgs.weasyprint) patches; - nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ self.pytest-runner ]; - buildInputs = (old.buildInputs or [ ]) ++ [ self.pytest-runner ]; - } - ); - - web3 = super.web3.overridePythonAttrs { - preConfigure = '' - substituteInPlace setup.py --replace \'setuptools-markdown\' "" - ''; - }; - - weblate-language-data = super.weblate-language-data.overridePythonAttrs ( - old: { - buildInputs = (old.buildInputs or [ ]) ++ [ - self.translate-toolkit - ]; - } - ); - - wheel = - let - isWheel = super.wheel.src.isWheel or false; - # If "wheel" is a pre-built binary wheel - wheelPackage = super.buildPythonPackage { - inherit (super.wheel) pname name version src; - inherit (pkgs.python3.pkgs.wheel) meta; - format = "wheel"; - }; - # If "wheel" is built from source - sourcePackage = (( - pkgs.python3.pkgs.override { - python = self.python; - } - ).wheel.override { - inherit (self) buildPythonPackage bootstrapped-pip setuptools; - }).overrideAttrs (old: { - inherit (super.wheel) pname name version src; - }); - in - if isWheel then wheelPackage else sourcePackage; - - zipp = if super.zipp == null then null else - ( - if lib.versionAtLeast super.zipp.version "2.0.0" then - ( - super.zipp.overridePythonAttrs ( - old: - if (old.format or "pyproject") != "wheel" then { - prePatch = '' - substituteInPlace setup.py --replace \ - 'setuptools.setup()' \ - 'setuptools.setup(version="${super.zipp.version}")' - ''; - } else old - ) - ) else super.zipp - ).overridePythonAttrs ( - old: { - propagatedBuildInputs = (old.propagatedBuildInputs or [ ]) ++ [ - self.toml - ]; - } - ); - - credis = super.credis.overridePythonAttrs ( - old: { - buildInputs = (old.buildInputs or [ ]) ++ [ self.cython ]; - } - ); - - hashids = super.hashids.overridePythonAttrs ( - old: { - buildInputs = (old.buildInputs or [ ]) ++ [ self.flit-core ]; - } - ); - - packaging = super.packaging.overridePythonAttrs ( - old: { - buildInputs = (old.buildInputs or [ ]) ++ - # From 20.5 until 20.7, packaging used flit for packaging (heh) - # See https://github.com/pypa/packaging/pull/352 and https://github.com/pypa/packaging/pull/367 - lib.optional (lib.versionAtLeast old.version "20.5" && lib.versionOlder old.version "20.8") [ self.flit-core ]; - } - ); - - psutil = super.psutil.overridePythonAttrs ( - old: { - buildInputs = (old.buildInputs or [ ]) ++ - lib.optional stdenv.isDarwin pkgs.darwin.apple_sdk.frameworks.IOKit; - } - ); - - sentencepiece = super.sentencepiece.overridePythonAttrs ( - old: { - dontUseCmakeConfigure = true; - nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ - pkgs.pkg-config - pkgs.cmake - pkgs.gperftools - ]; - buildInputs = (old.buildInputs or [ ]) ++ [ - pkgs.sentencepiece - ]; - } - ); - - sentence-transformers = super.sentence-transformers.overridePythonAttrs ( - old: { - buildInputs = - (old.buildInputs or [ ]) - ++ [ self.typing-extensions ]; - } - ); - - supervisor = super.supervisor.overridePythonAttrs ( - old: { - propagatedBuildInputs = (old.propagatedBuildInputs or [ ]) ++ [ - self.meld3 - self.setuptools - ]; - } - ); - - cytoolz = super.cytoolz.overridePythonAttrs ( - old: { - propagatedBuildInputs = (old.propagatedBuildInputs or [ ]) ++ [ self.toolz ]; - } - ); - - # For some reason the toml dependency of tqdm declared here: - # https://github.com/tqdm/tqdm/blob/67130a23646ae672836b971e1086b6ae4c77d930/pyproject.toml#L2 - # is not translated correctly to a nix dependency. - tqdm = super.tqdm.overrideAttrs ( - old: { - buildInputs = [ super.toml ] ++ (old.buildInputs or [ ]); - } - ); - - watchdog = super.watchdog.overrideAttrs ( - old: { - buildInputs = (old.buildInputs or [ ]) - ++ pkgs.lib.optional pkgs.stdenv.isDarwin pkgs.darwin.apple_sdk.frameworks.CoreServices; - } - ); - - # pyee cannot find `vcversioner` and other "setup requirements", so it tries to - # download them from the internet, which only works when nix sandboxing is disabled. - # Additionally, since pyee uses vcversioner to specify its version, we need to do this - # manually specify its version. - pyee = super.pyee.overrideAttrs ( - old: { - postPatch = old.postPatch or "" + '' - sed -i setup.py \ - -e '/setup_requires/,/],/d' \ - -e 's/vcversioner={},/version="${old.version}",/' - ''; - } - ); - - # nixpkgs has setuptools_scm 4.1.2 - # but newrelic has a seemingly unnecessary version constraint for <4 - # So we patch that out - newrelic = super.newrelic.overridePythonAttrs ( - old: { - postPatch = old.postPatch or "" + '' - substituteInPlace setup.py --replace '"setuptools_scm>=3.2,<4"' '"setuptools_scm"' - ''; - } - ); - - wxpython = super.wxpython.overridePythonAttrs (old: - let - localPython = self.python.withPackages (ps: with ps; [ - setuptools - numpy - six - ]); - in - { - DOXYGEN = "${pkgs.doxygen}/bin/doxygen"; - - nativeBuildInputs = with pkgs; [ - which - doxygen - gtk3 - pkg-config - autoPatchelfHook - ] ++ (old.nativeBuildInputs or [ ]); - - buildInputs = with pkgs; [ - gtk3 - webkitgtk - ncurses - SDL2 - xorg.libXinerama - xorg.libSM - xorg.libXxf86vm - xorg.libXtst - xorg.xorgproto - gst_all_1.gstreamer - gst_all_1.gst-plugins-base - libGLU - libGL - libglvnd - mesa - ] ++ old.buildInputs; - - buildPhase = '' - ${localPython.interpreter} build.py -v build_wx - ${localPython.interpreter} build.py -v dox etg --nodoc sip - ${localPython.interpreter} build.py -v build_py - ''; - - installPhase = '' - ${localPython.interpreter} setup.py install --skip-build --prefix=$out - ''; - }); - - marisa-trie = super.marisa-trie.overridePythonAttrs ( - old: { - buildInputs = (old.buildInputs or [ ]) ++ [ self.pytest-runner ]; - } - ); - - ua-parser = super.ua-parser.overridePythonAttrs ( - old: { - propagatedBuildInputs = (old.propagatedBuildInputs or [ ]) ++ [ self.pyyaml ]; - } - ); - - lazy-object-proxy = super.lazy-object-proxy.overridePythonAttrs ( - old: { - # disable the removal of pyproject.toml, required because of setuptools_scm - dontPreferSetupPy = true; - } - ); - - pendulum = super.pendulum.overridePythonAttrs (old: { - # Technically incorrect, but fixes the build error.. - preInstall = lib.optionalString stdenv.isLinux '' - mv --no-clobber ./dist/*.whl $(echo ./dist/*.whl | sed s/'manylinux_[0-9]*_[0-9]*'/'manylinux1'/) - ''; - }); - - pygraphviz = super.pygraphviz.overridePythonAttrs (old: { - nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ pkgs.pkg-config ]; - buildInputs = (old.buildInputs or [ ]) ++ [ pkgs.graphviz ]; - }); - - pyjsg = super.pyjsg.overridePythonAttrs (old: { - buildInputs = (old.buildInputs or [ ]) ++ [ self.pbr ]; - }); - - pyshex = super.pyshex.overridePythonAttrs (old: { - buildInputs = (old.buildInputs or [ ]) ++ [ self.pbr ]; - }); - - pyshexc = super.pyshexc.overridePythonAttrs (old: { - buildInputs = (old.buildInputs or [ ]) ++ [ self.pbr ]; - }); - - pysqlite = super.pysqlite.overridePythonAttrs (old: { - buildInputs = (old.buildInputs or [ ]) ++ [ pkgs.sqlite ]; - }); - - selinux = super.selinux.overridePythonAttrs (old: { - buildInputs = (old.buildInputs or [ ]) ++ [ self.setuptools-scm-git-archive ]; - }); - - shexjsg = super.shexjsg.overridePythonAttrs (old: { - buildInputs = (old.buildInputs or [ ]) ++ [ self.pbr ]; - }); - - sparqlslurper = super.sparqlslurper.overridePythonAttrs (old: { - buildInputs = (old.buildInputs or [ ]) ++ [ self.pbr ]; - }); - - tomli = super.tomli.overridePythonAttrs (old: { - nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ self.flit-core ]; - }); - - uwsgi = super.uwsgi.overridePythonAttrs (old: { - buildInputs = (old.buildInputs or [ ]) ++ [ pkgs.ncurses ]; - sourceRoot = "."; - }); - - wcwidth = super.wcwidth.overridePythonAttrs (old: { - propagatedBuildInputs = (old.propagatedBuildInputs or [ ]) ++ - lib.optional self.isPy27 (self.backports-functools-lru-cache or self.backports_functools_lru_cache) - ; - }); - - wtforms = super.wtforms.overridePythonAttrs (old: { - buildInputs = (old.buildInputs or [ ]) ++ [ self.Babel ]; - }); -} diff --git a/pkgs/development/tools/poetry2nix/poetry2nix/overrides/build-systems.json b/pkgs/development/tools/poetry2nix/poetry2nix/overrides/build-systems.json new file mode 100644 index 000000000000..e3c74473b8cc --- /dev/null +++ b/pkgs/development/tools/poetry2nix/poetry2nix/overrides/build-systems.json @@ -0,0 +1,1557 @@ +{ + "HTSeq": [ + "cython" + ], + "PyStemmer": [ + "cython" + ], + "adguardhome": [ + "poetry-core" + ], + "aesara": [ + "cython" + ], + "aioambient": [ + "poetry-core" + ], + "aioboto3": [ + "poetry" + ], + "aiocurrencylayer": [ + "poetry-core" + ], + "aioeafm": [ + "poetry" + ], + "aiofiles": [ + "poetry-core" + ], + "aioflo": [ + "poetry-core" + ], + "aioguardian": [ + "poetry-core" + ], + "aiohomekit": [ + "poetry-core" + ], + "aiohttp-remotes": [ + "flitBuildHook" + ], + "aioitertools": [ + "flit-core" + ], + "aiojobs": [ + "flitBuildHook" + ], + "aiokafka": [ + "cython" + ], + "aiomultiprocess": [ + "flit-core" + ], + "aiomusiccast": [ + "poetry-core" + ], + "aionotion": [ + "poetry-core" + ], + "aiopvpc": [ + "poetry-core" + ], + "aiorecollect": [ + "poetry-core" + ], + "aioresponses": [ + "pbr" + ], + "aioridwell": [ + "poetry-core" + ], + "aiorun": [ + "flitBuildHook" + ], + "aiosqlite": [ + "flit-core" + ], + "aiosteamist": [ + "poetry-core" + ], + "aioswitcher": [ + "poetry-core" + ], + "aiowatttime": [ + "poetry-core" + ], + "ambee": [ + "poetry-core" + ], + "amqtt": [ + "poetry-core" + ], + "apache-beam": [ + "cython" + ], + "argon2_cffi": [ + "flitBuildHook" + ], + "aria2p": [ + "poetry" + ], + "astropy": [ + "cython" + ], + "async-dns": [ + "poetry-core" + ], + "asyncmy": [ + "cython", + "poetry-core" + ], + "asyncstdlib": [ + "flitBuildHook" + ], + "atomman": [ + "cython" + ], + "autarco": [ + "poetry-core" + ], + "authcaptureproxy": [ + "poetry-core" + ], + "awesomeversion": [ + "poetry-core" + ], + "aws-error-utils": [ + "poetry" + ], + "backcall": [ + "flit-core" + ], + "backoff": [ + "poetry" + ], + "bandit": [ + "pbr" + ], + "bash_kernel": [ + "flitBuildHook" + ], + "bimmer-connected": [ + "pbr" + ], + "blis": [ + "cython" + ], + "boltztrap2": [ + "cython" + ], + "build": [ + "flit-core" + ], + "bx-python": [ + "cython" + ], + "cartopy": [ + "cython" + ], + "cassandra-driver": [ + "cython" + ], + "cattrs": [ + "poetry-core" + ], + "censys": [ + "poetry-core" + ], + "cftime": [ + "cython" + ], + "chispa": [ + "poetry-core" + ], + "ciscoconfparse": [ + "poetry-core" + ], + "cleo": [ + "poetry-core" + ], + "cliff": [ + "pbr" + ], + "clikit": [ + "poetry-core" + ], + "collections-extended": [ + "poetry-core" + ], + "colorclass": [ + "poetry" + ], + "colorhash": [ + "poetry" + ], + "commitizen": [ + "poetry-core" + ], + "confuse": [ + "flit-core", + "flitBuildHook" + ], + "cpyparsing": [ + "cython" + ], + "crashtest": [ + "poetry-core" + ], + "credis": [ + "cython", + "poetry-core" + ], + "cssselect2": [ + "flit" + ], + "cwcwidth": [ + "cython" + ], + "cyclonedx-python-lib": [ + "poetry-core" + ], + "cymem": [ + "cython" + ], + "cypari2": [ + "cython" + ], + "cysignals": [ + "cython" + ], + "datrie": [ + "cython" + ], + "ddtrace": [ + "cython" + ], + "debtcollector": [ + "pbr" + ], + "deezer-python": [ + "poetry-core" + ], + "diagrams": [ + "poetry-core" + ], + "dipy": [ + "cython" + ], + "discovery30303": [ + "poetry-core" + ], + "django-graphiql-debug-toolbar": [ + "poetry-core" + ], + "django-timezone-field": [ + "poetry-core" + ], + "dnspython": [ + "poetry-core" + ], + "doc8": [ + "pbr" + ], + "dtlssocket": [ + "cython" + ], + "duckdb": [ + "pybind11" + ], + "duckdb-engine": [ + "poetry-core" + ], + "dunamai": [ + "poetry-core" + ], + "dynd": [ + "cython" + ], + "ecs-logging": [ + "flit-core", + "flitBuildHook" + ], + "editdistance": [ + "cython" + ], + "eebrightbox": [ + "pbr" + ], + "eiswarnung": [ + "poetry-core" + ], + "elegy": [ + "poetry" + ], + "elgato": [ + "poetry-core" + ], + "elkm1-lib": [ + "poetry-core" + ], + "elmax": [ + "poetry-core" + ], + "entrypoints": [ + "flit" + ], + "enturclient": [ + "poetry-core" + ], + "enumatch": [ + "poetry" + ], + "fastapi": [ + "flitBuildHook" + ], + "fastapi-restful": [ + "poetry" + ], + "fastavro": [ + "cython" + ], + "fastdtw": [ + "cython" + ], + "fhconfparser": [ + "poetry-core" + ], + "finalfusion": [ + "cython" + ], + "fixtures": [ + "pbr" + ], + "flake8-debugger": [ + "poetry-core" + ], + "flake8-print": [ + "poetry-core" + ], + "flatten-dict": [ + "poetry-core" + ], + "flipr-api": [ + "poetry-core" + ], + "flit": [ + "flit-core" + ], + "formbox": [ + "flitBuildHook" + ], + "fpylll": [ + "cython" + ], + "freebox-api": [ + "poetry-core" + ], + "frozenlist": [ + "cython" + ], + "funcparserlib": [ + "poetry-core" + ], + "furo": [ + "flitBuildHook" + ], + "galario": [ + "cython" + ], + "gaphas": [ + "poetry-core" + ], + "garages-amsterdam": [ + "poetry-core" + ], + "gbinder-python": [ + "cython" + ], + "generic": [ + "poetry-core" + ], + "glances-api": [ + "poetry-core" + ], + "gpy": [ + "cython" + ], + "gpyopt": [ + "cython" + ], + "gradient-utils": [ + "poetry-core" + ], + "graphql-core": [ + "poetry-core" + ], + "graphql-relay": [ + "poetry-core" + ], + "gridnet": [ + "poetry-core" + ], + "grpcio": [ + "cython" + ], + "gsd": [ + "cython" + ], + "gssapi": [ + "cython" + ], + "gudhi": [ + "cython" + ], + "gvm-tools": [ + "poetry-core" + ], + "h3": [ + "cython" + ], + "h5py": [ + "cython" + ], + "h5py-mpi": [ + "cython" + ], + "hacking": [ + "pbr" + ], + "hashids": [ + "flit-core" + ], + "hdate": [ + "poetry-core" + ], + "hdbscan": [ + "cython" + ], + "hdmedians": [ + "cython" + ], + "hidapi": [ + "cython" + ], + "hmmlearn": [ + "cython" + ], + "homeassistant-pyozw": [ + "cython" + ], + "html5lib": [ + "flit-core" + ], + "hypercorn": [ + "poetry-core" + ], + "hyperion-py": [ + "poetry-core" + ], + "hypothesis-auto": [ + "poetry" + ], + "hypothesis-graphql": [ + "poetry" + ], + "ibis-framework": [ + "poetry-core" + ], + "icmplib": [ + "pbr" + ], + "idasen": [ + "poetry-core" + ], + "imagecodecs-lite": [ + "cython" + ], + "immutabledict": [ + "poetry-core" + ], + "inquirer": [ + "poetry-core" + ], + "installer": [ + "flit-core" + ], + "iodata": [ + "cython" + ], + "ipfshttpclient": [ + "flitBuildHook" + ], + "ipwhl": [ + "flitBuildHook" + ], + "isort": [ + "poetry-core" + ], + "jedi-language-server": [ + "poetry" + ], + "jeepney": [ + "flit-core" + ], + "jenkins-job-builder": [ + "pbr" + ], + "jinja2-git": [ + "poetry-core" + ], + "jschema-to-python": [ + "pbr" + ], + "json-schema-for-humans": [ + "poetry-core" + ], + "jupyter-server": [ + "jupyter-packaging" + ], + "jupyterlab": [ + "jupyter-packaging" + ], + "keystoneauth1": [ + "pbr" + ], + "kivy": [ + "cython" + ], + "langcodes": [ + "poetry-core" + ], + "language-data": [ + "poetry-core" + ], + "lc7001": [ + "poetry-core" + ], + "ldappool": [ + "pbr" + ], + "libgpuarray": [ + "cython" + ], + "libmr": [ + "cython" + ], + "libtmux": [ + "poetry-core" + ], + "licensecheck": [ + "poetry-core" + ], + "line_profiler": [ + "cython" + ], + "linecache2": [ + "pbr" + ], + "llfuse": [ + "cython" + ], + "loca": [ + "flitBuildHook" + ], + "lockfile": [ + "pbr" + ], + "luftdaten": [ + "poetry-core" + ], + "lupa": [ + "cython" + ], + "lxml": [ + "cython" + ], + "lz4": [ + "pkgconfig" + ], + "maestral": [ + "pbr" + ], + "manimpango": [ + "cython" + ], + "marisa-trie": [ + "cython" + ], + "mask-rcnn": [ + "cython" + ], + "matrix-nio": [ + "poetry-core" + ], + "mcstatus": [ + "poetry-core" + ], + "mdformat": [ + "poetry-core" + ], + "mdurl": [ + "flit-core" + ], + "mediafile": [ + "flit-core", + "flitBuildHook" + ], + "memory-allocator": [ + "cython" + ], + "metprint": [ + "poetry-core" + ], + "mkdocs-autorefs": [ + "pdm-pep517", + "poetry" + ], + "mkdocs-gen-files": [ + "poetry" + ], + "mkdocs-jupyter": [ + "poetry-core" + ], + "mkdocs-literate-nav": [ + "poetry" + ], + "mkdocstrings": [ + "pdm-pep517" + ], + "mock": [ + "pbr" + ], + "mongomock": [ + "pbr" + ], + "monosat": [ + "cython" + ], + "motioneye-client": [ + "poetry-core" + ], + "mox3": [ + "pbr" + ], + "msgpack-numpy": [ + "cython" + ], + "msoffcrypto-tool": [ + "poetry-core" + ], + "munch": [ + "pbr" + ], + "murmurhash": [ + "cython" + ], + "myhome": [ + "poetry-core" + ], + "mypy-boto3-builder": [ + "poetry-core" + ], + "nats-python": [ + "poetry-core" + ], + "nbclassic": [ + "jupyter-packaging" + ], + "net2grid": [ + "poetry-core" + ], + "netcdf4": [ + "cython" + ], + "netdata": [ + "poetry-core" + ], + "newversion": [ + "poetry-core" + ], + "nghttp2": [ + "cython" + ], + "nitime": [ + "cython" + ], + "nixpkgs": [ + "pbr" + ], + "nkdfu": [ + "flitBuildHook" + ], + "notus-scanner": [ + "poetry-core" + ], + "ntc-templates": [ + "poetry-core" + ], + "numcodecs": [ + "cython" + ], + "numpy": [ + "cython" + ], + "numpy-stl": [ + "cython" + ], + "omnikinverter": [ + "poetry-core" + ], + "open-meteo": [ + "poetry-core" + ], + "openapi-schema-validator": [ + "poetry-core" + ], + "openapi-spec-validator": [ + "poetry-core" + ], + "openevsewifi": [ + "poetry-core" + ], + "openstackdocstheme": [ + "pbr" + ], + "openstacksdk": [ + "pbr" + ], + "openvino": [ + "cython" + ], + "ormar": [ + "poetry-core" + ], + "os-service-types": [ + "pbr" + ], + "osc-lib": [ + "pbr" + ], + "oslo-concurrency": [ + "pbr" + ], + "oslo-config": [ + "pbr" + ], + "oslo-context": [ + "pbr" + ], + "oslo-db": [ + "pbr" + ], + "oslo-i18n": [ + "pbr" + ], + "oslo-log": [ + "pbr" + ], + "oslo-serialization": [ + "pbr" + ], + "oslo-utils": [ + "pbr" + ], + "oslotest": [ + "pbr" + ], + "p1monitor": [ + "poetry-core" + ], + "paddle-client": [ + "poetry" + ], + "palace": [ + "cython" + ], + "pandas": [ + "cython" + ], + "pastel": [ + "poetry-core" + ], + "pathable": [ + "poetry-core" + ], + "peewee": [ + "cython" + ], + "pendulum": [ + "poetry-core" + ], + "pep440-version-utils": [ + "poetry" + ], + "pep517": [ + "flit-core" + ], + "pex": [ + "flit-core", + "flitBuildHook" + ], + "pipenv-poetry-migrate": [ + "poetry" + ], + "pixelmatch": [ + "poetry-core" + ], + "poetry": [ + "poetry-core" + ], + "poetry2conda": [ + "poetry" + ], + "pomegranate": [ + "cython" + ], + "pontos": [ + "poetry-core" + ], + "pot": [ + "cython" + ], + "pplpy": [ + "cython" + ], + "preprocess-cancellation": [ + "poetry-core" + ], + "preshed": [ + "cython" + ], + "primecountpy": [ + "cython" + ], + "primer3": [ + "cython" + ], + "prometheus-fastapi-instrumentator": [ + "poetry" + ], + "ptyprocess": [ + "flit-core" + ], + "publication": [ + "flit" + ], + "purepng": [ + "cython" + ], + "pvo": [ + "poetry-core" + ], + "py-synologydsm-api": [ + "poetry-core" + ], + "py17track": [ + "poetry-core" + ], + "pyairnow": [ + "poetry" + ], + "pyairvisual": [ + "poetry-core" + ], + "pyarrow": [ + "cython" + ], + "pyaussiebb": [ + "poetry-core" + ], + "pycangjie": [ + "cython" + ], + "pycapnp": [ + "cython" + ], + "pycep-parser": [ + "poetry-core" + ], + "pyclipper": [ + "cython" + ], + "pycocotools": [ + "cython" + ], + "pydantic": [ + "cython" + ], + "pydy": [ + "cython" + ], + "pyebus": [ + "poetry-core" + ], + "pyemd": [ + "cython" + ], + "pyfftw": [ + "cython" + ], + "pyflunearyou": [ + "poetry-core" + ], + "pygame_sdl2": [ + "cython" + ], + "pygeos": [ + "cython" + ], + "pyhumps": [ + "poetry-core" + ], + "pyiqvia": [ + "poetry-core" + ], + "pyjet": [ + "cython" + ], + "pyjsg": [ + "pbr" + ], + "pykka": [ + "poetry-core" + ], + "pyliblo": [ + "cython" + ], + "pymatgen": [ + "cython" + ], + "pymaven-patch": [ + "pbr" + ], + "pymfy": [ + "poetry-core" + ], + "pymssql": [ + "cython" + ], + "pynixutil": [ + "poetry" + ], + "pynuki": [ + "poetry-core" + ], + "pyopencl": [ + "pybind11" + ], + "pyopenuv": [ + "poetry-core" + ], + "pyopnsense": [ + "pbr" + ], + "pyoverkiz": [ + "poetry-core" + ], + "pypass": [ + "pbr" + ], + "pyphen": [ + "flit" + ], + "pypika-tortoise": [ + "poetry-core" + ], + "pypoolstation": [ + "poetry-core" + ], + "pyppeteer": [ + "poetry-core" + ], + "pyprecice": [ + "cython" + ], + "pyproj": [ + "cython" + ], + "pyproject-flake8": [ + "flit-core" + ], + "pyquil": [ + "poetry-core" + ], + "pyregion": [ + "cython" + ], + "pyrmvtransport": [ + "flit" + ], + "pysam": [ + "cython" + ], + "pyshex": [ + "pbr" + ], + "pyshexc": [ + "pbr" + ], + "pysigma": [ + "poetry-core" + ], + "pysigma-backend-splunk": [ + "poetry-core" + ], + "pysigma-pipeline-crowdstrike": [ + "poetry-core" + ], + "pysigma-pipeline-sysmon": [ + "poetry-core" + ], + "pysmf": [ + "cython" + ], + "pysml": [ + "poetry-core" + ], + "pysnow": [ + "poetry" + ], + "pysptk": [ + "cython" + ], + "pytaglib": [ + "cython" + ], + "pytest-celery": [ + "flitBuildHook" + ], + "pytest-check": [ + "flitBuildHook" + ], + "pytest-cid": [ + "flitBuildHook" + ], + "pytest-httpserver": [ + "poetry-core" + ], + "pytest-mockservers": [ + "poetry-core" + ], + "pytest-profiling": [ + "setuptools-git" + ], + "pytest-raisin": [ + "flit-core", + "flitBuildHook" + ], + "pytest-socket": [ + "poetry-core" + ], + "python-awair": [ + "poetry-core" + ], + "python-cinderclient": [ + "pbr" + ], + "python-csxcad": [ + "cython" + ], + "python-fontconfig": [ + "cython" + ], + "python-glanceclient": [ + "pbr" + ], + "python-gvm": [ + "poetry-core" + ], + "python-heatclient": [ + "pbr" + ], + "python-ironicclient": [ + "pbr" + ], + "python-jenkins": [ + "pbr" + ], + "python-kasa": [ + "poetry-core" + ], + "python-keystoneclient": [ + "pbr" + ], + "python-manilaclient": [ + "pbr" + ], + "python-miio": [ + "poetry", + "poetry-core" + ], + "python-novaclient": [ + "pbr" + ], + "python-openems": [ + "cython" + ], + "python-openstackclient": [ + "pbr" + ], + "python-pkcs11": [ + "cython" + ], + "python-songpal": [ + "poetry-core" + ], + "python-swiftclient": [ + "pbr" + ], + "python_openzwave": [ + "cython" + ], + "pytile": [ + "poetry-core" + ], + "pytkdocs": [ + "pdm-pep517" + ], + "pytzdata": [ + "poetry" + ], + "pyvera": [ + "poetry-core" + ], + "pywavelets": [ + "cython" + ], + "pywbem": [ + "pbr" + ], + "pywemo": [ + "poetry-core" + ], + "pyworld": [ + "cython" + ], + "pyyaml": [ + "cython" + ], + "pyyaml-env-tag": [ + "flit-core" + ], + "qcs-api-client": [ + "poetry-core" + ], + "qiskit-aer": [ + "cython" + ], + "qiskit-terra": [ + "cython" + ], + "questionary": [ + "poetry-core" + ], + "qutip": [ + "cython" + ], + "radios": [ + "poetry-core" + ], + "rasterio": [ + "cython" + ], + "reedsolo": [ + "cython" + ], + "regenmaschine": [ + "poetry-core" + ], + "remarshal": [ + "poetry-core" + ], + "renault-api": [ + "poetry-core" + ], + "rencode": [ + "cython" + ], + "reproject": [ + "cython" + ], + "requests-cache": [ + "poetry-core" + ], + "requests-mock": [ + "pbr" + ], + "requests-unixsocket": [ + "pbr" + ], + "requestsexceptions": [ + "pbr" + ], + "requirements-parser": [ + "poetry-core" + ], + "resampy": [ + "cython" + ], + "retry": [ + "pbr" + ], + "rich": [ + "poetry-core" + ], + "ripser": [ + "cython" + ], + "rmcl": [ + "poetry-core" + ], + "rmfuse": [ + "poetry-core" + ], + "rmrl": [ + "poetry-core" + ], + "rokuecp": [ + "poetry" + ], + "roombapy": [ + "poetry-core" + ], + "roonapi": [ + "poetry-core" + ], + "rsa": [ + "poetry-core" + ], + "rtmidi-python": [ + "cython" + ], + "rtmixer": [ + "cython" + ], + "sanic": [ + "poetry-core" + ], + "sarif-om": [ + "pbr" + ], + "scikit-bio": [ + "cython" + ], + "scikit-build": [ + "cython" + ], + "scikit-image": [ + "cython" + ], + "scikit-learn": [ + "cython" + ], + "scikit-learn-extra": [ + "cython" + ], + "scikit-survival": [ + "cython" + ], + "scikit-tda": [ + "cython" + ], + "scikitimage": [ + "cython" + ], + "scikitlearn": [ + "cython" + ], + "scikits-odes": [ + "cython" + ], + "scipy": [ + "cython" + ], + "seabreeze": [ + "cython" + ], + "seccomp": [ + "cython" + ], + "sentinel": [ + "poetry-core" + ], + "sfepy": [ + "cython" + ], + "shapely": [ + "cython" + ], + "shexjsg": [ + "pbr" + ], + "simplisafe-python": [ + "poetry-core" + ], + "single-source": [ + "poetry-core" + ], + "single-version": [ + "poetry-core" + ], + "slowapi": [ + "poetry-core" + ], + "solo-python": [ + "flitBuildHook" + ], + "spacy-pkuseg": [ + "cython" + ], + "sparqlslurper": [ + "pbr" + ], + "sphinx-inline-tabs": [ + "flitBuildHook" + ], + "sphinx-jinja": [ + "pbr" + ], + "sphinxcontrib-apidoc": [ + "pbr" + ], + "sphinxcontrib-fulltoc": [ + "pbr" + ], + "sphinxcontrib-spelling": [ + "pbr" + ], + "spiderpy": [ + "poetry-core" + ], + "sqlalchemy-migrate": [ + "pbr" + ], + "sqlalchemy_migrate": [ + "pbr" + ], + "srsly": [ + "cython" + ], + "ssdp": [ + "pbr" + ], + "stack-data": [ + "cython" + ], + "staticjinja": [ + "poetry-core" + ], + "statmake": [ + "poetry-core" + ], + "statsmodels": [ + "cython" + ], + "stestr": [ + "pbr" + ], + "stevedore": [ + "pbr" + ], + "strawberry-graphql": [ + "poetry" + ], + "streaming-form-data": [ + "cython" + ], + "structlog": [ + "flitBuildHook" + ], + "structlog-sentry": [ + "poetry-core" + ], + "subunit2sql": [ + "pbr" + ], + "sumo": [ + "cython" + ], + "surepy": [ + "poetry-core" + ], + "swift": [ + "pbr" + ], + "swspotify": [ + "poetry-core" + ], + "symengine": [ + "cython" + ], + "synologydsm-api": [ + "poetry-core" + ], + "tables": [ + "cython" + ], + "tailscale": [ + "poetry-core" + ], + "tarsafe": [ + "poetry" + ], + "tempest": [ + "pbr" + ], + "tenacity": [ + "pbr" + ], + "terminaltables": [ + "poetry" + ], + "tern": [ + "pbr" + ], + "tesla-wall-connector": [ + "poetry-core" + ], + "teslajsonpy": [ + "poetry-core" + ], + "tess": [ + "cython" + ], + "tesserocr": [ + "cython" + ], + "testpath": [ + "flit" + ], + "testrepository": [ + "pbr" + ], + "testresources": [ + "pbr" + ], + "testtools": [ + "pbr" + ], + "textual": [ + "poetry-core" + ], + "thinc": [ + "cython" + ], + "threadpoolctl": [ + "flitBuildHook" + ], + "thriftpy2": [ + "cython" + ], + "tikzplotlib": [ + "flit-core" + ], + "tinycss": [ + "cython" + ], + "tinycss2": [ + "flitBuildHook" + ], + "tinydb": [ + "poetry-core" + ], + "toggl-cli": [ + "pbr" + ], + "toml-sort": [ + "poetry" + ], + "tomli": [ + "flit-core" + ], + "tomli-w": [ + "flit-core" + ], + "tomlkit": [ + "poetry-core" + ], + "tortoise-orm": [ + "poetry-core" + ], + "traceback2": [ + "pbr" + ], + "transmission-rpc": [ + "poetry-core" + ], + "treeo": [ + "poetry-core" + ], + "treex": [ + "poetry-core" + ], + "ttls": [ + "poetry-core" + ], + "twentemilieu": [ + "poetry-core" + ], + "typer": [ + "flit-core" + ], + "typical": [ + "poetry-core" + ], + "typing-extensions": [ + "flit-core" + ], + "unpaddedbase64": [ + "poetry-core" + ], + "url-normalize": [ + "poetry-core" + ], + "vehicle": [ + "poetry-core" + ], + "virtualenv": [ + "cython" + ], + "virtualenvwrapper": [ + "pbr" + ], + "vispy": [ + "cython" + ], + "wakeonlan": [ + "poetry-core" + ], + "weasyprint": [ + "flit-core" + ], + "wled": [ + "poetry-core" + ], + "word2vec": [ + "cython" + ], + "wordcloud": [ + "cython" + ], + "xdg": [ + "poetry-core" + ], + "xpath-expressions": [ + "poetry-core" + ], + "yaspin": [ + "poetry-core" + ], + "yoda": [ + "cython" + ], + "zeversolarlocal": [ + "flit-core", + "flitBuildHook" + ] +} diff --git a/pkgs/development/tools/poetry2nix/poetry2nix/overrides/default.nix b/pkgs/development/tools/poetry2nix/poetry2nix/overrides/default.nix new file mode 100644 index 000000000000..5439f1814dc5 --- /dev/null +++ b/pkgs/development/tools/poetry2nix/poetry2nix/overrides/default.nix @@ -0,0 +1,2294 @@ +{ pkgs ? import { } +, lib ? pkgs.lib +, stdenv ? pkgs.stdenv +}: + +let + addBuildSystem = + { self + , drv + , attr + }: + let + buildSystem = if attr == "cython" then self.python.pythonForBuild.pkgs.cython else self.${attr}; + in + ( + # Flit only works on Python3 + if (attr == "flit-core" || attr == "flit") && !self.isPy3k then drv + else + drv.overridePythonAttrs ( + old: + # We do not need the build system for wheels. + if old ? format && old.format == "wheel" then + { } + else + { + nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ self.${attr} ]; + } + ) + ); + + +in +lib.composeManyExtensions [ + + # NixOps + (self: super: + lib.mapAttrs (_: v: addBuildSystem { inherit self; drv = v; attr = "poetry"; }) (lib.filterAttrs (n: _: lib.strings.hasPrefix "nixops" n) super) + // { + # NixOps >=2 dependency + nixos-modules-contrib = addBuildSystem { inherit self; drv = super.nixos-modules-contrib; attr = "poetry"; }; + } + ) + + # Add build systems + (self: super: + let + buildSystems = lib.importJSON ./build-systems.json; + in + lib.mapAttrs + (attr: systems: builtins.foldl' + (drv: attr: addBuildSystem { + inherit drv self attr; + }) + super.${attr} + systems) + buildSystems) + + # Build fixes + (self: super: + let + inherit (self.python) stdenv; + inherit (pkgs.buildPackages) pkg-config; + inherit (pkgs) buildPackages; + pyBuildPackages = self.python.pythonForBuild.pkgs; + + in + + { + automat = super.automat.overridePythonAttrs ( + old: rec { + propagatedBuildInputs = (old.propagatedBuildInputs or [ ]) ++ [ self.m2r ]; + } + ); + + aiohttp-swagger3 = super.aiohttp-swagger3.overridePythonAttrs ( + old: { + nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ self.pytest-runner ]; + } + ); + + ansible = super.ansible.overridePythonAttrs ( + old: { + # Inputs copied from nixpkgs as ansible doesn't specify it's dependencies + # in a correct manner. + propagatedBuildInputs = (old.propagatedBuildInputs or [ ]) ++ [ + self.pycrypto + self.paramiko + self.jinja2 + self.pyyaml + self.httplib2 + self.six + self.netaddr + self.dnspython + self.jmespath + self.dopy + self.ncclient + ]; + } // lib.optionalAttrs (lib.versionOlder old.version "5.0") { + prePatch = pkgs.python.pkgs.ansible.prePatch or ""; + postInstall = pkgs.python.pkgs.ansible.postInstall or ""; + } + ); + + ansible-lint = super.ansible-lint.overridePythonAttrs ( + old: { + buildInputs = (old.buildInputs or [ ]) ++ [ self.setuptools-scm-git-archive ]; + preBuild = '' + export HOME=$(mktemp -d) + ''; + } + ); + + argcomplete = super.argcomplete.overridePythonAttrs ( + old: rec { + buildInputs = (old.buildInputs or [ ]) ++ [ self.importlib-metadata ]; + } + ); + + arpeggio = super.arpeggio.overridePythonAttrs ( + old: { + nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ self.pytest-runner ]; + } + ); + + astroid = super.astroid.overridePythonAttrs ( + old: rec { + buildInputs = (old.buildInputs or [ ]) ++ [ self.pytest-runner ]; + } + ); + + av = super.av.overridePythonAttrs ( + old: { + nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ + pkg-config + ]; + buildInputs = (old.buildInputs or [ ]) ++ [ pkgs.ffmpeg_4 ]; + } + ); + + argon2-cffi = + if (lib.versionAtLeast super.argon2-cffi.version "21.2.0") then + addBuildSystem + { + inherit self; + drv = super.argon2-cffi; + attr = "flit-core"; + } else super.argon2-cffi; + + bcrypt = super.bcrypt.overridePythonAttrs ( + old: { + buildInputs = (old.buildInputs or [ ]) ++ [ pkgs.libffi ]; + } + ); + + bjoern = super.bjoern.overridePythonAttrs ( + old: { + buildInputs = (old.nativeBuildInputs or [ ]) ++ [ pkgs.libev ]; + } + ); + + borgbackup = super.borgbackup.overridePythonAttrs ( + old: { + BORG_OPENSSL_PREFIX = pkgs.openssl.dev; + nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ pkg-config ]; + buildInputs = (old.buildInputs or [ ]) ++ [ pkgs.openssl pkgs.acl ]; + } + ); + + cairocffi = super.cairocffi.overridePythonAttrs ( + old: { + inherit (pkgs.python3.pkgs.cairocffi) patches; + buildInputs = (old.buildInputs or [ ]) ++ [ self.pytest-runner ]; + } + ); + + cairosvg = super.cairosvg.overridePythonAttrs ( + old: { + buildInputs = (old.buildInputs or [ ]) ++ [ self.pytest-runner ]; + } + ); + + cattrs = + let + drv = super.cattrs; + in + if drv.version == "1.10.0" then + drv.overridePythonAttrs + (old: { + # 1.10.0 contains a pyproject.toml that requires a pre-release Poetry + # We can avoid using Poetry and use the generated setup.py + preConfigure = old.preConfigure or "" + '' + rm pyproject.toml + ''; + }) else drv; + + ccxt = super.ccxt.overridePythonAttrs (old: { + preBuild = '' + ln -s README.{rst,md} + ''; + }); + + celery = super.celery.overridePythonAttrs (old: { + propagatedBuildInputs = (old.propagatedBuildInputs or [ ]) ++ [ self.setuptools ]; + }); + + cssselect2 = super.cssselect2.overridePythonAttrs ( + old: { + buildInputs = (old.buildInputs or [ ]) ++ [ self.pytest-runner ]; + } + ); + + cffi = + # cffi is bundled with pypy + if self.python.implementation == "pypy" then null else + ( + super.cffi.overridePythonAttrs ( + old: { + nativeBuildInputs = old.nativeBuildInputs or [ ] ++ [ pkg-config ]; + buildInputs = old.buildInputs or [ ] ++ [ pkgs.libffi ]; + prePatch = (old.prePatch or "") + lib.optionalString stdenv.isDarwin '' + # Remove setup.py impurities + substituteInPlace setup.py --replace "'-iwithsysroot/usr/include/ffi'" "" + substituteInPlace setup.py --replace "'/usr/include/ffi'," "" + substituteInPlace setup.py --replace '/usr/include/libffi' '${lib.getDev pkgs.libffi}/include' + ''; + + } + ) + ); + + cloudflare = super.cloudflare.overridePythonAttrs ( + old: { + postPatch = '' + rm -rf examples/* + ''; + } + ); + + colour = super.colour.overridePythonAttrs ( + old: { + buildInputs = (old.buildInputs or [ ]) ++ [ self.d2to1 ]; + } + ); + + coincurve = super.coincurve.overridePythonAttrs ( + old: { + # package setup logic + LIB_DIR = "${lib.getLib pkgs.secp256k1}/lib"; + + # for actual C toolchain build + NIX_CFLAGS_COMPILE = "-I ${lib.getDev pkgs.secp256k1}/include"; + NIX_LDFLAGS = "-L ${lib.getLib pkgs.secp256k1}/lib"; + } + ); + + configparser = super.configparser.overridePythonAttrs ( + old: { + buildInputs = (old.buildInputs or [ ]) ++ [ + self.toml + ]; + } + ); + + confluent-kafka = super.confluent-kafka.overridePythonAttrs ( + old: { + buildInputs = (old.buildInputs or [ ]) ++ [ + pkgs.rdkafka + ]; + } + ); + + cryptography = + let + getCargoHash = version: { + "35.0.0" = "sha256-tQoQfo+TAoqAea86YFxyj/LNQCiViu5ij/3wj7ZnYLI="; + "36.0.0" = "sha256-Y6TuW7AryVgSvZ6G8WNoDIvi+0tvx8ZlEYF5qB0jfNk="; + "36.0.1" = "sha256-kozYXkqt1Wpqyo9GYCwN08J+zV92ZWFJY/f+rulxmeQ="; + "36.0.2" = "1a0ni1a3dbv2dvh6gx2i54z8v5j9m6asqg97kkv7gqb1ivihsbp8"; + }.${version} or null; + sha256 = getCargoHash super.cryptography.version; + scrypto = + if lib.versionAtLeast super.cryptography.version "35" && sha256 == null then + ( + super.cryptography.override { preferWheel = true; } + ) else super.cryptography; + in + scrypto.overridePythonAttrs + ( + old: { + nativeBuildInputs = (old.nativeBuildInputs or [ ]) + ++ lib.optional (lib.versionAtLeast old.version "3.4") [ self.setuptools-rust ] + ++ lib.optional (!self.isPyPy) pyBuildPackages.cffi + ++ lib.optional (lib.versionAtLeast old.version "3.5") + (with pkgs.rustPlatform; [ cargoSetupHook rust.cargo rust.rustc ]); + buildInputs = (old.buildInputs or [ ]) ++ [ pkgs.openssl ] + ++ lib.optionals stdenv.isDarwin [ pkgs.darwin.apple_sdk.frameworks.Security pkgs.libiconv ]; + propagatedBuildInputs = old.propagatedBuildInputs or [ ] ++ [ self.cffi ]; + } // lib.optionalAttrs (lib.versionAtLeast old.version "3.4" && lib.versionOlder old.version "3.5") { + CRYPTOGRAPHY_DONT_BUILD_RUST = "1"; + } // lib.optionalAttrs (lib.versionAtLeast old.version "35" && sha256 != null) rec { + cargoDeps = + pkgs.rustPlatform.fetchCargoTarball { + src = old.src; + sourceRoot = "${old.pname}-${old.version}/${cargoRoot}"; + name = "${old.pname}-${old.version}"; + inherit sha256; + }; + cargoRoot = "src/rust"; + } + ); + + cyclonedx-python-lib = super.cyclonedx-python-lib.overridePythonAttrs (old: { + propagatedBuildInputs = (old.propagatedBuildInputs or [ ]) ++ [ self.setuptools ]; + postPatch = '' + substituteInPlace setup.py --replace 'setuptools>=50.3.2,<51.0.0' 'setuptools' + ''; + }); + + daphne = super.daphne.overridePythonAttrs (old: { + postPatch = '' + substituteInPlace setup.py --replace 'setup_requires=["pytest-runner"],' "" + ''; + }); + + datadog-lambda = super.datadog-lambda.overridePythonAttrs (old: { + postPatch = '' + substituteInPlace setup.py --replace "setuptools==" "setuptools>=" + ''; + buildInputs = (old.buildInputs or [ ]) ++ [ self.setuptools ]; + }); + + dbus-python = super.dbus-python.overridePythonAttrs (old: { + outputs = [ "out" "dev" ]; + + postPatch = old.postPatch or "" + '' + substituteInPlace ./configure --replace /usr/bin/file ${pkgs.file}/bin/file + substituteInPlace ./dbus-python.pc.in --replace 'Cflags: -I''${includedir}' 'Cflags: -I''${includedir}/dbus-1.0' + ''; + + configureFlags = (old.configureFlags or [ ]) ++ [ + "PYTHON_VERSION=${lib.versions.major self.python.version}" + ]; + + preConfigure = lib.concatStringsSep "\n" [ + (old.preConfigure or "") + (if (lib.versionAtLeast stdenv.hostPlatform.darwinMinVersion "11" && stdenv.isDarwin) then '' + MACOSX_DEPLOYMENT_TARGET=10.16 + '' else "") + ]; + + preBuild = old.preBuild or "" + '' + make distclean + ''; + + nativeBuildInputs = old.nativeBuildInputs or [ ] ++ [ pkg-config ]; + buildInputs = old.buildInputs or [ ] ++ [ pkgs.dbus pkgs.dbus-glib ] + # My guess why it's sometimes trying to -lncurses. + # It seems not to retain the dependency anyway. + ++ lib.optional (! self.python ? modules) pkgs.ncurses; + }); + + dcli = super.dcli.overridePythonAttrs (old: { + propagatedBuildInputs = (old.propagatedBuildInputs or [ ]) ++ [ self.setuptools ]; + }); + + ddtrace = super.ddtrace.overridePythonAttrs (old: { + buildInputs = (old.buildInputs or [ ]) ++ + (lib.optionals pkgs.stdenv.isDarwin [ pkgs.darwin.IOKit ]); + }); + + dictdiffer = super.dictdiffer.overridePythonAttrs ( + old: { + buildInputs = (old.buildInputs or [ ]) ++ [ self.pytest-runner ]; + propagatedBuildInputs = (old.propagatedBuildInputs or [ ]) ++ [ self.setuptools ]; + } + ); + + django = ( + super.django.overridePythonAttrs ( + old: { + propagatedNativeBuildInputs = (old.propagatedNativeBuildInputs or [ ]) + ++ [ pkgs.gettext self.pytest-runner ]; + } + ) + ); + + django-bakery = super.django-bakery.overridePythonAttrs ( + old: { + configurePhase = '' + if ! test -e LICENSE; then + touch LICENSE + fi + '' + (old.configurePhase or ""); + } + ); + + django-cors-headers = super.django-cors-headers.overridePythonAttrs ( + old: { + nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ self.pytest-runner ]; + } + ); + + django-hijack = super.django-hijack.overridePythonAttrs ( + old: { + nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ self.pytest-runner ]; + } + ); + + django-prometheus = super.django-prometheus.overridePythonAttrs ( + old: { + nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ self.pytest-runner ]; + } + ); + + django-rosetta = super.django-rosetta.overridePythonAttrs ( + old: { + nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ self.pytest-runner ]; + } + ); + + django-stubs-ext = super.django-stubs-ext.overridePythonAttrs ( + old: { + prePatch = (old.prePatch or "") + "touch ../LICENSE.txt"; + } + ); + + dlib = super.dlib.overridePythonAttrs ( + old: { + # Parallel building enabled + inherit (pkgs.python.pkgs.dlib) patches; + + enableParallelBuilding = true; + dontUseCmakeConfigure = true; + + nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ pkgs.dlib.nativeBuildInputs; + buildInputs = (old.buildInputs or [ ]) ++ pkgs.dlib.buildInputs; + } + ); + + # Environment markers are not always included (depending on how a dep was defined) + enum34 = if self.pythonAtLeast "3.4" then null else super.enum34; + + eth-hash = super.eth-hash.overridePythonAttrs { + preConfigure = '' + substituteInPlace setup.py --replace \'setuptools-markdown\' "" + ''; + }; + + eth-keyfile = super.eth-keyfile.overridePythonAttrs { + preConfigure = '' + substituteInPlace setup.py --replace \'setuptools-markdown\' "" + ''; + }; + + eth-keys = super.eth-keys.overridePythonAttrs { + preConfigure = '' + substituteInPlace setup.py --replace \'setuptools-markdown\' "" + ''; + }; + + # remove eth-hash dependency because eth-hash also depends on eth-utils causing a cycle. + eth-utils = super.eth-utils.overridePythonAttrs (old: { + propagatedBuildInputs = + builtins.filter (i: i.pname != "eth-hash") old.propagatedBuildInputs; + preConfigure = '' + ${old.preConfigure or ""} + sed -i '/eth-hash/d' setup.py + ''; + }); + + faker = super.faker.overridePythonAttrs ( + old: { + buildInputs = (old.buildInputs or [ ]) ++ [ self.pytest-runner ]; + doCheck = false; + } + ); + + fancycompleter = super.fancycompleter.overridePythonAttrs ( + old: { + postPatch = '' + substituteInPlace setup.py \ + --replace 'setup_requires="setupmeta"' 'setup_requires=[]' \ + --replace 'versioning="devcommit"' 'version="${old.version}"' + ''; + } + ); + + fastecdsa = super.fastecdsa.overridePythonAttrs (old: { + buildInputs = old.buildInputs ++ [ pkgs.gmp.dev ]; + }); + + fastparquet = super.fastparquet.overridePythonAttrs ( + old: { + buildInputs = (old.buildInputs or [ ]) ++ [ self.pytest-runner ]; + } + ); + + fiona = super.fiona.overridePythonAttrs ( + old: { + buildInputs = (old.buildInputs or [ ]) ++ [ pkgs.gdal_2 ]; + nativeBuildInputs = [ + pkgs.gdal_2 # for gdal-config + ]; + } + ); + + flatbuffers = super.flatbuffers.overrideAttrs (old: { + VERSION = old.version; + }); + + gdal = super.gdal.overridePythonAttrs ( + old: { + preBuild = (old.preBuild or "") + '' + substituteInPlace setup.cfg \ + --replace "../../apps/gdal-config" '${pkgs.gdal}/bin/gdal-config' + ''; + } + ); + + grandalf = super.grandalf.overridePythonAttrs ( + old: { + buildInputs = (old.buildInputs or [ ]) ++ [ self.pytest-runner ]; + doCheck = false; + } + ); + + gitpython = super.gitpython.overridePythonAttrs ( + old: { + buildInputs = (old.buildInputs or [ ]) ++ [ self.typing-extensions ]; + } + ); + + grpcio = super.grpcio.overridePythonAttrs (old: { + nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ pkg-config ]; + buildInputs = (old.buildInputs or [ ]) ++ [ pkgs.c-ares pkgs.openssl pkgs.zlib ]; + + outputs = [ "out" "dev" ]; + + GRPC_BUILD_WITH_BORING_SSL_ASM = ""; + GRPC_PYTHON_BUILD_SYSTEM_OPENSSL = 1; + GRPC_PYTHON_BUILD_SYSTEM_ZLIB = 1; + GRPC_PYTHON_BUILD_SYSTEM_CARES = 1; + DISABLE_LIBC_COMPATIBILITY = 1; + }); + + grpcio-tools = super.grpcio-tools.overridePythonAttrs (old: { + outputs = [ "out" "dev" ]; + }); + + h3 = super.h3.overridePythonAttrs ( + old: { + preBuild = (old.preBuild or "") + '' + substituteInPlace h3/h3.py \ + --replace "'{}/{}'.format(_dirname, libh3_path)" '"${pkgs.h3}/lib/libh3${pkgs.stdenv.hostPlatform.extensions.sharedLibrary}"' + ''; + } + ); + + h5py = super.h5py.overridePythonAttrs ( + old: + if old.format != "wheel" then + ( + let + mpi = pkgs.hdf5.mpi; + mpiSupport = pkgs.hdf5.mpiSupport; + in + { + nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ pkg-config ]; + buildInputs = + (old.buildInputs or [ ]) + ++ [ pkgs.hdf5 self.pkgconfig ] + ++ lib.optional mpiSupport mpi + ; + propagatedBuildInputs = + (old.propagatedBuildInputs or [ ]) + ++ lib.optionals mpiSupport [ self.mpi4py self.openssh ] + ; + preBuild = if mpiSupport then "export CC=${mpi}/bin/mpicc" else ""; + HDF5_DIR = "${pkgs.hdf5}"; + HDF5_MPI = if mpiSupport then "ON" else "OFF"; + # avoid strict pinning of numpy + postPatch = '' + substituteInPlace setup.py \ + --replace "numpy ==" "numpy >=" + ''; + pythonImportsCheck = [ "h5py" ]; + } + ) else old + ); + + hid = super.hid.overridePythonAttrs ( + old: { + postPatch = '' + found= + for name in libhidapi-hidraw libhidapi-libusb libhidapi-iohidmanager libhidapi; do + full_path=${pkgs.hidapi.out}/lib/$name${pkgs.stdenv.hostPlatform.extensions.sharedLibrary} + if test -f $full_path; then + found=t + sed -i -e "s|'$name\..*'|'$full_path'|" hid/__init__.py + fi + done + test -n "$found" || { echo "ERROR: No known libraries found in ${pkgs.hidapi.out}/lib, please update/fix this build expression."; exit 1; } + ''; + } + ); + + horovod = super.horovod.overridePythonAttrs ( + old: { + propagatedBuildInputs = (old.propagatedBuildInputs or [ ]) ++ [ pkgs.mpi ]; + } + ); + + httplib2 = super.httplib2.overridePythonAttrs (old: { + propagatedBuildInputs = (old.propagatedBuildInputs or [ ]) ++ [ self.pyparsing ]; + }); + + icecream = super.icecream.overridePythonAttrs (old: { + # # ERROR: Could not find a version that satisfies the requirement executing>=0.3.1 (from icecream) (from versions: none) + postPatch = '' + substituteInPlace setup.py --replace 'executing>=0.3.1' 'executing' + ''; + }); + + igraph = super.igraph.overridePythonAttrs ( + old: { + nativeBuildInputs = [ pkgs.cmake ] ++ old.nativeBuildInputs; + dontUseCmakeConfigure = true; + } + ); + + imagecodecs = super.imagecodecs.overridePythonAttrs ( + old: { + patchPhase = '' + substituteInPlace setup.py \ + --replace "/usr/include/openjpeg-2.3" \ + "${pkgs.openjpeg.dev}/include/${pkgs.openjpeg.dev.incDir} + substituteInPlace setup.py \ + --replace "/usr/include/jxrlib" \ + "$out/include/libjxr" + substituteInPlace imagecodecs/_zopfli.c \ + --replace '"zopfli/zopfli.h"' \ + '' + substituteInPlace imagecodecs/_zopfli.c \ + --replace '"zopfli/zlib_container.h"' \ + '' + substituteInPlace imagecodecs/_zopfli.c \ + --replace '"zopfli/gzip_container.h"' \ + '' + ''; + + preBuild = '' + mkdir -p $out/include/libjxr + ln -s ${pkgs.jxrlib}/include/libjxr/**/* $out/include/libjxr + + ''; + + buildInputs = (old.buildInputs or [ ]) ++ [ + # Commented out packages are declared required, but not actually + # needed to build. They are not yet packaged for nixpkgs. + # bitshuffle + pkgs.brotli + # brunsli + pkgs.bzip2 + pkgs.c-blosc + # charls + pkgs.giflib + pkgs.jxrlib + pkgs.lcms + pkgs.libaec + pkgs.libaec + pkgs.libjpeg_turbo + # liblzf + # liblzma + pkgs.libpng + pkgs.libtiff + pkgs.libwebp + pkgs.lz4 + pkgs.openjpeg + pkgs.snappy + # zfp + pkgs.zopfli + pkgs.zstd + pkgs.zlib + ]; + } + ); + + # importlib-metadata has an incomplete dependency specification + importlib-metadata = super.importlib-metadata.overridePythonAttrs ( + old: { + propagatedBuildInputs = (old.propagatedBuildInputs or [ ]) ++ lib.optional self.python.isPy2 self.pathlib2; + } + ); + + intreehooks = super.intreehooks.overridePythonAttrs ( + old: { + doCheck = false; + } + ); + + isort = super.isort.overridePythonAttrs ( + old: { + propagatedBuildInputs = (old.propagatedBuildInputs or [ ]) ++ [ self.setuptools ]; + } + ); + + jaraco-functools = super.jaraco-functools.overridePythonAttrs ( + old: { + # required for the extra "toml" dependency in setuptools_scm[toml] + buildInputs = (old.buildInputs or [ ]) ++ [ + self.toml + ]; + } + ); + + jira = super.jira.overridePythonAttrs ( + old: { + inherit (pkgs.python3Packages.jira) patches; + buildInputs = (old.buildInputs or [ ]) ++ [ + self.pytestrunner + self.cryptography + self.pyjwt + self.setuptools-scm-git-archive + ]; + } + ); + + jq = super.jq.overridePythonAttrs (attrs: { + buildInputs = [ pkgs.jq ]; + patches = [ + (pkgs.fetchpatch { + url = "https://raw.githubusercontent.com/NixOS/nixpkgs/088da8735f6620b60d724aa7db742607ea216087/pkgs/development/python-modules/jq/jq-py-setup.patch"; + sha256 = "sha256-MYvX3S1YGe0QsUtExtOtULvp++AdVrv+Fid4Jh1xewQ="; + }) + ]; + }); + + jsondiff = super.jsondiff.overridePythonAttrs ( + old: { + preBuild = (old.preBuild or "") + '' + substituteInPlace setup.py \ + --replace "'jsondiff=jsondiff.cli:main_deprecated'," "" + ''; + } + ); + + jsonslicer = super.jsonslicer.overridePythonAttrs (old: { + nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ pkgs.pkgconfig ]; + buildInputs = (old.buildInputs or [ ]) ++ [ pkgs.yajl ]; + }); + + jupyter = super.jupyter.overridePythonAttrs ( + old: rec { + # jupyter is a meta-package. Everything relevant comes from the + # dependencies. It does however have a jupyter.py file that conflicts + # with jupyter-core so this meta solves this conflict. + meta.priority = 100; + } + ); + + jupyter-packaging = super.jupyter-packaging.overridePythonAttrs (old: { + propagatedBuildInputs = (old.propagatedBuildInputs or [ ]) ++ [ self.wheel ]; + }); + + jupyterlab-widgets = super.jupyterlab-widgets.overridePythonAttrs ( + old: rec { + buildInputs = (old.buildInputs or [ ]) ++ [ self.jupyter-packaging ]; + } + ); + + kerberos = super.kerberos.overrideAttrs (old: { + nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ pkgs.libkrb5 ]; + }); + + keyring = super.keyring.overridePythonAttrs ( + old: { + buildInputs = (old.buildInputs or [ ]) ++ [ + self.toml + ]; + } + ); + + kiwisolver = super.kiwisolver.overridePythonAttrs ( + old: { + buildInputs = (old.buildInputs or [ ]) ++ [ + self.cppy + ]; + } + ); + + lap = super.lap.overridePythonAttrs ( + old: { + propagatedBuildInputs = (old.propagatedBuildInputs or [ ]) ++ [ + self.numpy + ]; + } + ); + + libvirt-python = super.libvirt-python.overridePythonAttrs ({ nativeBuildInputs ? [ ], ... }: { + nativeBuildInputs = nativeBuildInputs ++ [ pkg-config ]; + propagatedBuildInputs = [ pkgs.libvirt ]; + }); + + llvmlite = super.llvmlite.overridePythonAttrs ( + old: + let + llvm = + if lib.versionAtLeast old.version "0.37.0" then + pkgs.llvmPackages_11.llvm + else if (lib.versionOlder old.version "0.37.0" && lib.versionAtLeast old.version "0.34.0") then + pkgs.llvmPackages_10.llvm + else if (lib.versionOlder old.version "0.34.0" && lib.versionAtLeast old.version "0.33.0") then + pkgs.llvmPackages_9.llvm + else if (lib.versionOlder old.version "0.33.0" && lib.versionAtLeast old.version "0.29.0") then + pkgs.llvmPackages_8.llvm + else if (lib.versionOlder old.version "0.28.0" && lib.versionAtLeast old.version "0.27.0") then + pkgs.llvmPackages_7.llvm + else if (lib.versionOlder old.version "0.27.0" && lib.versionAtLeast old.version "0.23.0") then + pkgs.llvmPackages_6.llvm + else if (lib.versionOlder old.version "0.23.0" && lib.versionAtLeast old.version "0.21.0") then + pkgs.llvmPackages_5.llvm + else + pkgs.llvm; # Likely to fail. + in + { + nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ pkgs.llvm ]; + + # Disable static linking + # https://github.com/numba/llvmlite/issues/93 + postPatch = '' + substituteInPlace ffi/Makefile.linux --replace "-static-libstdc++" "" + + substituteInPlace llvmlite/tests/test_binding.py --replace "test_linux" "nope" + ''; + + # Set directory containing llvm-config binary + preConfigure = '' + export LLVM_CONFIG=${llvm.dev}/bin/llvm-config + ''; + + __impureHostDeps = lib.optionals pkgs.stdenv.isDarwin [ "/usr/lib/libm.dylib" ]; + + passthru = old.passthru // { llvm = llvm; }; + } + ); + + lxml = super.lxml.overridePythonAttrs ( + old: { + nativeBuildInputs = with pkgs.buildPackages; (old.nativeBuildInputs or [ ]) ++ [ pkg-config libxml2.dev libxslt.dev ] ++ lib.optionals stdenv.isDarwin [ xcodebuild ]; + buildInputs = with pkgs; (old.buildInputs or [ ]) ++ [ libxml2 libxslt ]; + } + ); + + markupsafe = super.markupsafe.overridePythonAttrs ( + old: { + src = old.src.override { pname = builtins.replaceStrings [ "markupsafe" ] [ "MarkupSafe" ] old.pname; }; + } + ); + + matplotlib = super.matplotlib.overridePythonAttrs ( + old: + let + enableGhostscript = old.passthru.args.enableGhostscript or false; + enableGtk3 = old.passthru.args.enableGtk3 or false; + enableQt = old.passthru.args.enableQt or false; + enableTk = old.passthru.args.enableTk or false; + + interactive = enableTk || enableGtk3 || enableQt; + + passthru = { + config = { + directories = { basedirlist = "."; }; + libs = { + system_freetype = true; + system_qhull = true; + } // lib.optionalAttrs stdenv.isDarwin { + # LTO not working in darwin stdenv, see Nixpkgs #19312 + enable_lto = false; + }; + }; + }; + + inherit (pkgs) tk tcl wayland qhull; + inherit (pkgs.xorg) libX11; + inherit (pkgs.darwin.apple_sdk.frameworks) Cocoa; + in + { + XDG_RUNTIME_DIR = "/tmp"; + + buildInputs = old.buildInputs or [ ] ++ [ + pkgs.which + ] ++ lib.optional enableGhostscript [ + pkgs.ghostscript + ] ++ lib.optional stdenv.isDarwin [ + Cocoa + ]; + + propagatedBuildInputs = (old.propagatedBuildInputs or [ ]) ++ [ + self.certifi + pkgs.libpng + pkgs.freetype + qhull + ] + ++ lib.optionals enableGtk3 [ pkgs.cairo self.pycairo pkgs.gtk3 pkgs.gobject-introspection self.pygobject3 ] + ++ lib.optionals enableTk [ pkgs.tcl pkgs.tk self.tkinter pkgs.libX11 ] + ++ lib.optionals enableQt [ self.pyqt5 ] + ; + + nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ + pkg-config + ] ++ lib.optional (lib.versionAtLeast super.matplotlib.version "3.5.0") [ + self.setuptools-scm + self.setuptools-scm-git-archive + ]; + + passthru = old.passthru or { } // passthru; + + MPLSETUPCFG = pkgs.writeText "mplsetup.cfg" (lib.generators.toINI { } passthru.config); + + # Matplotlib tries to find Tcl/Tk by opening a Tk window and asking the + # corresponding interpreter object for its library paths. This fails if + # `$DISPLAY` is not set. The fallback option assumes that Tcl/Tk are both + # installed under the same path which is not true in Nix. + # With the following patch we just hard-code these paths into the install + # script. + postPatch = + let + tcl_tk_cache = ''"${tk}/lib", "${tcl}/lib", "${lib.strings.substring 0 3 tk.version}"''; + in + lib.optionalString enableTk '' + sed -i '/self.tcl_tk_cache = None/s|None|${tcl_tk_cache}|' setupext.py + '' + lib.optionalString (stdenv.isLinux && interactive) '' + # fix paths to libraries in dlopen calls (headless detection) + substituteInPlace src/_c_internal_utils.c \ + --replace libX11.so.6 ${libX11}/lib/libX11.so.6 \ + --replace libwayland-client.so.0 ${wayland}/lib/libwayland-client.so.0 + '' + + # avoid matplotlib trying to download dependencies + '' + echo "[libs] + system_freetype=true + system_qhull=true" > mplsetup.cfg + ''; + + } + ); + + # Calls Cargo at build time for source builds and is really tricky to package + maturin = super.maturin.override { + preferWheel = true; + }; + + mccabe = super.mccabe.overridePythonAttrs ( + old: { + buildInputs = (old.buildInputs or [ ]) ++ [ self.pytest-runner ]; + doCheck = false; + } + ); + + mip = super.mip.overridePythonAttrs ( + old: { + nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ pkgs.autoPatchelfHook ]; + + buildInputs = (old.buildInputs or [ ]) ++ [ pkgs.zlib self.cppy ]; + } + ); + + mmdet = super.mmdet.overridePythonAttrs ( + old: { + buildInputs = (old.buildInputs or [ ]) ++ [ self.pytorch ]; + } + ); + + molecule = + if lib.versionOlder super.molecule.version "3.0.0" then + (super.molecule.overridePythonAttrs ( + old: { + patches = (old.patches or [ ]) ++ [ + # Fix build with more recent setuptools versions + (pkgs.fetchpatch { + url = "https://github.com/ansible-community/molecule/commit/c9fee498646a702c77b5aecf6497cff324acd056.patch"; + sha256 = "1g1n45izdz0a3c9akgxx14zhdw6c3dkb48j8pq64n82fa6ndl1b7"; + excludes = [ "pyproject.toml" ]; + }) + ]; + buildInputs = (old.buildInputs or [ ]) ++ [ self.setuptools-scm-git-archive ]; + } + )) else + super.molecule.overridePythonAttrs (old: { + buildInputs = (old.buildInputs or [ ]) ++ [ self.setuptools-scm-git-archive ]; + }); + + mpi4py = super.mpi4py.overridePythonAttrs ( + old: + let + cfg = pkgs.writeTextFile { + name = "mpi.cfg"; + text = ( + lib.generators.toINI + { } + { + mpi = { + mpicc = "${pkgs.mpi.outPath}/bin/mpicc"; + }; + } + ); + }; + in + { + propagatedBuildInputs = (old.propagatedBuildInputs or [ ]) ++ [ pkgs.mpi ]; + enableParallelBuilding = true; + preBuild = '' + ln -sf ${cfg} mpi.cfg + ''; + } + ); + + multiaddr = super.multiaddr.overridePythonAttrs ( + old: { + buildInputs = (old.buildInputs or [ ]) ++ [ self.pytest-runner ]; + } + ); + + mypy = super.mypy.overridePythonAttrs ( + old: { + # FIXME: Remove patch after upstream has decided the proper solution. + # https://github.com/python/mypy/pull/11143 + patches = (old.patches or [ ]) ++ lib.optionals ((lib.strings.versionAtLeast old.version "0.900") && lib.strings.versionOlder old.version "0.940") [ + (pkgs.fetchpatch { + url = "https://github.com/python/mypy/commit/f1755259d54330cd087cae763cd5bbbff26e3e8a.patch"; + sha256 = "sha256-5gPahX2X6+/qUaqDQIGJGvh9lQ2EDtks2cpQutgbOHk="; + }) + ] ++ lib.optionals (lib.strings.versionAtLeast old.version "0.940") [ + (pkgs.fetchpatch { + url = "https://github.com/python/mypy/commit/e7869f05751561958b946b562093397027f6d5fa.patch"; + sha256 = "sha256-waIZ+m3tfvYE4HJ8kL6rN/C4fMjvLEe9UoPbt9mHWIM="; + }) + ]; + buildInputs = (old.buildInputs or [ ]) ++ [ + self.types-typed-ast + ]; + # Compile mypy with mypyc, which makes mypy about 4 times faster. The compiled + # version is also the default in the wheels on Pypi that include binaries. + # is64bit: unfortunately the build would exhaust all possible memory on i686-linux. + MYPY_USE_MYPYC = stdenv.buildPlatform.is64bit; + + # when testing reduce optimisation level to drastically reduce build time + # (default is 3) + # MYPYC_OPT_LEVEL = 1; + } + ); + + mysqlclient = super.mysqlclient.overridePythonAttrs ( + old: { + nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ pkgs.libmysqlclient ]; + buildInputs = (old.buildInputs or [ ]) ++ [ pkgs.libmysqlclient ]; + } + ); + + netcdf4 = super.netcdf4.overridePythonAttrs ( + old: { + propagatedBuildInputs = (old.propagatedBuildInputs or [ ]) ++ [ + pkgs.zlib + pkgs.netcdf + pkgs.hdf5 + pkgs.curl + pkgs.libjpeg + ]; + + # Variables used to configure the build process + USE_NCCONFIG = "0"; + HDF5_DIR = lib.getDev pkgs.hdf5; + NETCDF4_DIR = pkgs.netcdf; + CURL_DIR = pkgs.curl.dev; + JPEG_DIR = pkgs.libjpeg.dev; + } + ); + + numpy = super.numpy.overridePythonAttrs ( + old: + let + blas = old.passthru.args.blas or pkgs.openblasCompat; + blasImplementation = lib.nameFromURL blas.name "-"; + cfg = pkgs.writeTextFile { + name = "site.cfg"; + text = ( + lib.generators.toINI + { } + { + ${blasImplementation} = { + include_dirs = "${blas}/include"; + library_dirs = "${blas}/lib"; + } // lib.optionalAttrs (blasImplementation == "mkl") { + mkl_libs = "mkl_rt"; + lapack_libs = ""; + }; + } + ); + }; + in + { + nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ pkgs.gfortran ]; + buildInputs = (old.buildInputs or [ ]) ++ [ blas ]; + enableParallelBuilding = true; + preBuild = '' + ln -s ${cfg} site.cfg + ''; + passthru = old.passthru // { + blas = blas; + inherit blasImplementation cfg; + }; + } + ); + + open3d = super.open3d.overridePythonAttrs (old: { + buildInputs = (old.buildInputs or [ ]) ++ (with pkgs; [ + udev + ]); + # TODO(Sem Mulder): Add overridable flags for CUDA/PyTorch/Tensorflow support. + autoPatchelfIgnoreMissingDeps = true; + }); + + opencv-python = super.opencv-python.overridePythonAttrs ( + old: { + nativeBuildInputs = [ pkgs.cmake ] ++ old.nativeBuildInputs; + buildInputs = [ self.scikit-build ] ++ (old.buildInputs or [ ]); + dontUseCmakeConfigure = true; + } + ); + + opencv-contrib-python = super.opencv-contrib-python.overridePythonAttrs ( + old: { + nativeBuildInputs = [ pkgs.cmake ] ++ old.nativeBuildInputs; + buildInputs = [ self.scikit-build ] ++ (old.buildInputs or [ ]); + dontUseCmakeConfigure = true; + } + ); + + openexr = super.openexr.overridePythonAttrs ( + old: rec { + buildInputs = (old.buildInputs or [ ]) ++ [ pkgs.openexr pkgs.ilmbase ]; + NIX_CFLAGS_COMPILE = [ "-I${pkgs.openexr.dev}/include/OpenEXR" "-I${pkgs.ilmbase.dev}/include/OpenEXR" ]; + } + ); + + osqp = super.osqp.overridePythonAttrs ( + old: { + nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ pkgs.cmake ]; + dontUseCmakeConfigure = true; + } + ); + + pantalaimon = super.pantalaimon.overridePythonAttrs (old: { + nativeBuildInputs = old.nativeBuildInputs or [ ] ++ [ pkgs.installShellFiles ]; + postInstall = old.postInstall or "" + '' + installManPage docs/man/*.[1-9] + ''; + }); + + paramiko = super.paramiko.overridePythonAttrs (old: { + doCheck = false; # requires networking + }); + + parsel = super.parsel.overridePythonAttrs ( + old: rec { + nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ self.pytest-runner ]; + } + ); + + pdal = super.pdal.overridePythonAttrs ( + old: { + PDAL_CONFIG = "${pkgs.pdal}/bin/pdal-config"; + } + ); + + peewee = super.peewee.overridePythonAttrs ( + old: + let + withPostgres = old.passthru.withPostgres or false; + withMysql = old.passthru.withMysql or false; + in + { + buildInputs = (old.buildInputs or [ ]) ++ [ pkgs.sqlite ]; + propagatedBuildInputs = (old.propagatedBuildInputs or [ ]) + ++ lib.optional withPostgres self.psycopg2 + ++ lib.optional withMysql self.mysql-connector; + } + ); + + pikepdf = super.pikepdf.overridePythonAttrs ( + old: { + buildInputs = old.buildInputs or [ ] ++ [ pkgs.qpdf self.pybind11 ]; + pythonImportsCheck = old.pythonImportsCheck or [ ] ++ [ "pikepdf" ]; + } + ); + + pillow = super.pillow.overridePythonAttrs ( + old: { + nativeBuildInputs = [ pkg-config self.pytest-runner ] ++ (old.nativeBuildInputs or [ ]); + buildInputs = with pkgs; [ freetype libjpeg zlib libtiff libwebp tcl lcms2 ] ++ (old.buildInputs or [ ]); + } + ); + + poetry-core = super.poetry-core.overridePythonAttrs (old: { + # "Vendor" dependencies (for build-system support) + postPatch = '' + echo "import sys" >> poetry/__init__.py + for path in $propagatedBuildInputs; do + echo "sys.path.insert(0, \"$path\")" >> poetry/__init__.py + done + ''; + + # Propagating dependencies leads to issues downstream + # We've already patched poetry to prefer "vendored" dependencies + postFixup = '' + rm $out/nix-support/propagated-build-inputs + ''; + }); + + portend = super.portend.overridePythonAttrs ( + old: { + # required for the extra "toml" dependency in setuptools_scm[toml] + buildInputs = (old.buildInputs or [ ]) ++ [ + self.toml + ]; + } + ); + + prettytable = super.prettytable.overridePythonAttrs (old: { + propagatedBuildInputs = (old.propagatedBuildInputs or [ ]) ++ [ self.setuptools ]; + }); + + psycopg2 = super.psycopg2.overridePythonAttrs ( + old: { + buildInputs = (old.buildInputs or [ ]) + ++ lib.optional stdenv.isDarwin pkgs.openssl; + nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ pkgs.postgresql ]; + } + ); + + psycopg2-binary = super.psycopg2-binary.overridePythonAttrs ( + old: { + buildInputs = (old.buildInputs or [ ]) + ++ lib.optional stdenv.isDarwin pkgs.openssl; + nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ pkgs.postgresql ]; + } + ); + + py-solc-x = super.py-solc-x.overridePythonAttrs ( + old: { + preConfigure = '' + substituteInPlace setup.py --replace \'setuptools-markdown\' "" + ''; + propagatedBuildInputs = (old.propagatedBuildInputs or [ ]) ++ [ self.requests self.semantic-version ]; + } + ); + + pyarrow = + if lib.versionAtLeast super.pyarrow.version "0.16.0" then + super.pyarrow.overridePythonAttrs + ( + old: + let + parseMinor = drv: lib.concatStringsSep "." (lib.take 2 (lib.splitVersion drv.version)); + + # Starting with nixpkgs revision f149c7030a7, pyarrow takes "python3" as an argument + # instead of "python". Below we inspect function arguments to maintain compatibilitiy. + _arrow-cpp = pkgs.arrow-cpp.override ( + builtins.intersectAttrs + (lib.functionArgs pkgs.arrow-cpp.override) + { python = self.python; python3 = self.python; } + ); + + ARROW_HOME = _arrow-cpp; + arrowCppVersion = parseMinor _arrow-cpp; + pyArrowVersion = parseMinor super.pyarrow; + errorMessage = "arrow-cpp version (${arrowCppVersion}) mismatches pyarrow version (${pyArrowVersion})"; + in + if arrowCppVersion != pyArrowVersion then throw errorMessage else { + + nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ + pkg-config + pkgs.cmake + ]; + + preBuild = '' + export PYARROW_PARALLEL=$NIX_BUILD_CORES + ''; + + PARQUET_HOME = _arrow-cpp; + inherit ARROW_HOME; + + PYARROW_BUILD_TYPE = "release"; + PYARROW_WITH_FLIGHT = if _arrow-cpp.enableFlight then 1 else 0; + PYARROW_WITH_DATASET = 1; + PYARROW_WITH_PARQUET = 1; + PYARROW_CMAKE_OPTIONS = [ + "-DCMAKE_INSTALL_RPATH=${ARROW_HOME}/lib" + + # This doesn't use setup hook to call cmake so we need to workaround #54606 + # ourselves + "-DCMAKE_POLICY_DEFAULT_CMP0025=NEW" + ]; + + dontUseCmakeConfigure = true; + } + ) else + super.pyarrow; + + pycairo = ( + drv: ( + drv.overridePythonAttrs ( + _: { + format = "other"; + } + ) + ).overridePythonAttrs ( + old: { + + nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ + pkgs.meson + pkgs.ninja + pkg-config + ]; + + propagatedBuildInputs = (old.propagatedBuildInputs or [ ]) ++ [ + pkgs.cairo + pkgs.xlibsWrapper + ]; + + mesonFlags = [ "-Dpython=${if self.isPy3k then "python3" else "python"}" ]; + } + ) + ) + super.pycairo; + + pycocotools = super.pycocotools.overridePythonAttrs ( + old: { + buildInputs = (old.buildInputs or [ ]) ++ [ + self.numpy + ]; + } + ); + + pyfuse3 = super.pyfuse3.overridePythonAttrs (old: { + nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ pkg-config ]; + buildInputs = (old.buildInputs or [ ]) ++ [ pkgs.fuse3 ]; + }); + + pygame = super.pygame.overridePythonAttrs ( + old: rec { + nativeBuildInputs = [ + pkg-config + pkgs.SDL + ]; + + buildInputs = [ + pkgs.SDL + pkgs.SDL_image + pkgs.SDL_mixer + pkgs.SDL_ttf + pkgs.libpng + pkgs.libjpeg + pkgs.portmidi + pkgs.xorg.libX11 + pkgs.freetype + ]; + + # Tests fail because of no audio device and display. + doCheck = false; + preConfigure = '' + sed \ + -e "s/origincdirs = .*/origincdirs = []/" \ + -e "s/origlibdirs = .*/origlibdirs = []/" \ + -e "/'\/lib\/i386-linux-gnu', '\/lib\/x86_64-linux-gnu']/d" \ + -e "/\/include\/smpeg/d" \ + -i buildconfig/config_unix.py + ${lib.concatMapStrings + (dep: '' + sed \ + -e "/origincdirs =/a\ origincdirs += ['${lib.getDev dep}/include']" \ + -e "/origlibdirs =/a\ origlibdirs += ['${lib.getLib dep}/lib']" \ + -i buildconfig/config_unix.py + '') + buildInputs + } + LOCALBASE=/ ${self.python.interpreter} buildconfig/config.py + ''; + } + ); + + pygeos = super.pygeos.overridePythonAttrs ( + old: { + buildInputs = (old.buildInputs or [ ]) ++ [ pkgs.geos ]; + nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ pkgs.geos ]; + } + ); + + pygobject = super.pygobject.overridePythonAttrs ( + old: { + nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ pkg-config ]; + buildInputs = (old.buildInputs or [ ]) ++ [ pkgs.glib pkgs.gobject-introspection ]; + } + ); + + pylint = super.pylint.overridePythonAttrs ( + old: { + buildInputs = (old.buildInputs or [ ]) ++ [ self.pytest-runner ]; + } + ); + + pymediainfo = super.pymediainfo.overridePythonAttrs ( + old: { + postPatch = (old.postPatch or "") + '' + substituteInPlace pymediainfo/__init__.py \ + --replace "libmediainfo.0.dylib" \ + "${pkgs.libmediainfo}/lib/libmediainfo.0${stdenv.hostPlatform.extensions.sharedLibrary}" \ + --replace "libmediainfo.dylib" \ + "${pkgs.libmediainfo}/lib/libmediainfo${stdenv.hostPlatform.extensions.sharedLibrary}" \ + --replace "libmediainfo.so.0" \ + "${pkgs.libmediainfo}/lib/libmediainfo${stdenv.hostPlatform.extensions.sharedLibrary}.0" + ''; + } + ); + + pymssql = super.pymssql.overridePythonAttrs (old: { + buildInputs = (old.buildInputs or [ ]) + ++ [ pkgs.openssl ]; + propagatedBuildInputs = (old.propagatedBuildInputs or [ ]) + ++ [ pkgs.freetds ]; + }); + + pyopenssl = super.pyopenssl.overridePythonAttrs ( + old: { + buildInputs = (old.buildInputs or [ ]) ++ [ pkgs.openssl ]; + } + ); + + pyproj = super.pyproj.overridePythonAttrs ( + old: { + PROJ_DIR = "${pkgs.proj}"; + PROJ_LIBDIR = "${pkgs.proj}/lib"; + PROJ_INCDIR = "${pkgs.proj.dev}/include"; + } + ); + + pyrfr = super.pyrfr.overridePythonAttrs (old: { + nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ pkgs.swig ]; + }); + + pytaglib = super.pytaglib.overridePythonAttrs (old: { + buildInputs = (old.buildInputs or [ ]) ++ [ pkgs.taglib ]; + }); + + pytezos = super.pytezos.overridePythonAttrs (old: { + buildInputs = (old.buildInputs or [ ]) ++ [ pkgs.libsodium ]; + }); + + python-bugzilla = super.python-bugzilla.overridePythonAttrs ( + old: { + nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ + self.docutils + ]; + } + ); + + python-ldap = super.python-ldap.overridePythonAttrs ( + old: { + buildInputs = (old.buildInputs or [ ]) ++ [ pkgs.openldap pkgs.cyrus_sasl ]; + } + ); + + pytoml = super.pytoml.overridePythonAttrs ( + old: { + doCheck = false; + } + ); + + pyqt5 = + let + drv = super.pyqt5; + withConnectivity = drv.passthru.args.withConnectivity or false; + withMultimedia = drv.passthru.args.withMultimedia or false; + withWebKit = drv.passthru.args.withWebKit or false; + withWebSockets = drv.passthru.args.withWebSockets or false; + in + super.pyqt5.overridePythonAttrs ( + old: { + format = "other"; + + dontWrapQtApps = true; + + nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ + pkg-config + pkgs.qt5.qmake + pkgs.xorg.lndir + pkgs.qt5.qtbase + pkgs.qt5.qtsvg + pkgs.qt5.qtdeclarative + pkgs.qt5.qtwebchannel + pkgs.qt5.qt3d + # self.pyqt5-sip + self.sip + ] + ++ lib.optional withConnectivity pkgs.qt5.qtconnectivity + ++ lib.optional withMultimedia pkgs.qt5.qtmultimedia + ++ lib.optional withWebKit pkgs.qt5.qtwebkit + ++ lib.optional withWebSockets pkgs.qt5.qtwebsockets + ; + + buildInputs = (old.buildInputs or [ ]) ++ [ + pkgs.dbus + pkgs.qt5.qtbase + pkgs.qt5.qtsvg + pkgs.qt5.qtdeclarative + self.sip + ] + ++ lib.optional withConnectivity pkgs.qt5.qtconnectivity + ++ lib.optional withWebKit pkgs.qt5.qtwebkit + ++ lib.optional withWebSockets pkgs.qt5.qtwebsockets + ; + + # Fix dbus mainloop + patches = pkgs.python3.pkgs.pyqt5.patches or [ ]; + + configurePhase = '' + runHook preConfigure + + export PYTHONPATH=$PYTHONPATH:$out/${self.python.sitePackages} + + mkdir -p $out/${self.python.sitePackages}/dbus/mainloop + ${self.python.executable} configure.py -w \ + --confirm-license \ + --no-qml-plugin \ + --bindir=$out/bin \ + --destdir=$out/${self.python.sitePackages} \ + --stubsdir=$out/${self.python.sitePackages}/PyQt5 \ + --sipdir=$out/share/sip/PyQt5 \ + --designer-plugindir=$out/plugins/designer + + runHook postConfigure + ''; + + postInstall = '' + ln -s ${self.pyqt5-sip}/${self.python.sitePackages}/PyQt5/sip.* $out/${self.python.sitePackages}/PyQt5/ + for i in $out/bin/*; do + wrapProgram $i --prefix PYTHONPATH : "$PYTHONPATH" + done + + # Let's make it a namespace package + cat << EOF > $out/${self.python.sitePackages}/PyQt5/__init__.py + from pkgutil import extend_path + __path__ = extend_path(__path__, __name__) + EOF + ''; + + installCheckPhase = + let + modules = [ + "PyQt5" + "PyQt5.QtCore" + "PyQt5.QtQml" + "PyQt5.QtWidgets" + "PyQt5.QtGui" + ] + ++ lib.optional withWebSockets "PyQt5.QtWebSockets" + ++ lib.optional withWebKit "PyQt5.QtWebKit" + ++ lib.optional withMultimedia "PyQt5.QtMultimedia" + ++ lib.optional withConnectivity "PyQt5.QtConnectivity" + ; + imports = lib.concatMapStrings (module: "import ${module};") modules; + in + '' + echo "Checking whether modules can be imported..." + ${self.python.interpreter} -c "${imports}" + ''; + + doCheck = true; + + enableParallelBuilding = true; + } + ); + + pytest-datadir = super.pytest-datadir.overridePythonAttrs ( + old: { + postInstall = '' + rm -f $out/LICENSE + ''; + } + ); + + pytest = super.pytest.overridePythonAttrs ( + old: { + # Fixes https://github.com/pytest-dev/pytest/issues/7891 + postPatch = old.postPatch or "" + '' + sed -i '/\[metadata\]/aversion = ${old.version}' setup.cfg + ''; + } + ); + + pytest-django = super.pytest-django.overridePythonAttrs ( + old: { + postPatch = '' + substituteInPlace setup.py --replace "'pytest>=3.6'," "" + substituteInPlace setup.py --replace "'pytest>=3.6'" "" + ''; + } + ); + + pytest-randomly = super.pytest-randomly.overrideAttrs (old: { + propagatedBuildInputs = (old.propagatedBuildInputs or [ ]) ++ [ + self.importlib-metadata + ]; + }); + + pytest-runner = super.pytest-runner or super.pytestrunner; + + pytest-pylint = super.pytest-pylint.overridePythonAttrs ( + old: { + buildInputs = [ self.pytest-runner ]; + } + ); + + # pytest-splinter seems to put a .marker file in an empty directory + # presumably so it's tracked by and can be installed with MANIFEST.in, see + # https://github.com/pytest-dev/pytest-splinter/commit/a48eeef662f66ff9d3772af618748e73211a186b + # + # This directory then gets used as an empty initial profile directory and is + # zipped up. But if the .marker file is in the Nix store, it has the + # creation date of 1970, and Zip doesn't work with such old files, so it + # fails at runtime! + # + # We fix this here by just removing the file after the installation + # + # The error you get without this is: + # + # E ValueError: ZIP does not support timestamps before 1980 + # /nix/store/55b9ip7xkpimaccw9pa0vacy5q94f5xa-python3-3.7.6/lib/python3.7/zipfile.py:357: ValueError + pytest-splinter = super.pytest-splinter.overrideAttrs (old: { + postInstall = old.postInstall or "" + '' + rm $out/${super.python.sitePackages}/pytest_splinter/profiles/firefox/.marker + ''; + }); + + python-jose = super.python-jose.overridePythonAttrs ( + old: { + buildInputs = [ self.pytest-runner ]; + } + ); + + python-magic = super.python-magic.overridePythonAttrs ( + old: { + postPatch = '' + substituteInPlace magic/loader.py \ + --replace "'libmagic.so.1'" "'${lib.getLib pkgs.file}/lib/libmagic.so.1'" + ''; + pythonImportsCheck = old.pythonImportsCheck or [ ] ++ [ "magic" ]; + } + ); + + python-olm = super.python-olm.overridePythonAttrs ( + old: { + buildInputs = old.buildInputs or [ ] ++ [ pkgs.olm ]; + } + ); + + python-snappy = super.python-snappy.overridePythonAttrs ( + old: { + buildInputs = (old.buildInputs or [ ]) ++ [ pkgs.snappy ]; + } + ); + + pythran = super.pythran.overridePythonAttrs (old: { + buildInputs = (old.buildInputs or [ ]) ++ [ self.pytest-runner ]; + }); + + ffmpeg-python = super.ffmpeg-python.overridePythonAttrs ( + old: { + buildInputs = (old.buildInputs or [ ]) ++ [ self.pytest-runner ]; + } + ); + + python-prctl = super.python-prctl.overridePythonAttrs ( + old: { + buildInputs = (old.buildInputs or [ ]) ++ [ + pkgs.libcap + ]; + } + ); + + pyudev = super.pyudev.overridePythonAttrs (old: { + postPatch = '' + substituteInPlace src/pyudev/_ctypeslib/utils.py \ + --replace "find_library(name)" "'${lib.getLib pkgs.systemd}/lib/libudev.so'" + ''; + }); + + pyusb = super.pyusb.overridePythonAttrs ( + old: { + postPatch = '' + libusb=${pkgs.libusb1.out}/lib/libusb-1.0${pkgs.stdenv.hostPlatform.extensions.sharedLibrary} + test -f $libusb || { echo "ERROR: $libusb doesn't exist, please update/fix this build expression."; exit 1; } + sed -i -e "s|find_library=None|find_library=lambda _:\"$libusb\"|" usb/backend/libusb1.py + ''; + } + ); + + pywavelets = super.pywavelets.overridePythonAttrs ( + old: { + HDF5_DIR = "${pkgs.hdf5}"; + propagatedBuildInputs = (old.propagatedBuildInputs or [ ]) ++ [ pkgs.hdf5 ]; + } + ); + + pyzmq = super.pyzmq.overridePythonAttrs ( + old: { + nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ pkg-config ]; + propagatedBuildInputs = (old.propagatedBuildInputs or [ ]) ++ [ pkgs.zeromq ]; + } + ); + + rockset = super.rockset.overridePythonAttrs ( + old: rec { + postPatch = '' + cp ./setup_rockset.py ./setup.py + ''; + } + ); + + scaleapi = super.scaleapi.overridePythonAttrs ( + old: { + postPatch = '' + substituteInPlace setup.py --replace "install_requires = ['requests>=2.4.2', 'enum34']" "install_requires = ['requests>=2.4.2']" || true + ''; + } + ); + + panel = super.panel.overridePythonAttrs ( + old: { + nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ pkgs.nodejs ]; + } + ); + + # Pybind11 is an undeclared dependency of scipy that we need to pick from nixpkgs + # Make it not fail with infinite recursion + pybind11 = super.pybind11.overridePythonAttrs ( + old: { + cmakeFlags = (old.cmakeFlags or [ ]) ++ [ + "-DPYBIND11_TEST=off" + ]; + doCheck = false; # Circular test dependency + } + ); + + rlp = super.rlp.overridePythonAttrs { + preConfigure = '' + substituteInPlace setup.py --replace \'setuptools-markdown\' "" + ''; + }; + + rmfuse = super.rmfuse.overridePythonAttrs (old: { + propagatedBuildInputs = (old.propagatedBuildInputs or [ ]) ++ [ self.setuptools ]; + }); + + rtree = super.rtree.overridePythonAttrs (old: { + propagatedNativeBuildInputs = (old.propagatedNativeBuildInputs or [ ]) ++ [ pkgs.libspatialindex ]; + postPatch = '' + substituteInPlace rtree/finder.py --replace \ + "find_library('spatialindex_c')" \ + "'${pkgs.libspatialindex}/lib/libspatialindex_c${pkgs.stdenv.hostPlatform.extensions.sharedLibrary}'" + ''; + }); + + ruamel-yaml = super.ruamel-yaml.overridePythonAttrs ( + old: { + propagatedBuildInputs = (old.propagatedBuildInputs or [ ]) + ++ [ self.ruamel-yaml-clib ]; + } + ); + + scipy = super.scipy.overridePythonAttrs ( + old: + if old.format != "wheel" then { + nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ + [ pkgs.gfortran ] ++ + lib.optional (lib.versionAtLeast super.scipy.version "1.7.0") [ self.pythran ]; + propagatedBuildInputs = (old.propagatedBuildInputs or [ ]) ++ [ self.pybind11 ]; + setupPyBuildFlags = [ "--fcompiler='gnu95'" ]; + enableParallelBuilding = true; + buildInputs = (old.buildInputs or [ ]) ++ [ self.numpy.blas ]; + preConfigure = '' + sed -i '0,/from numpy.distutils.core/s//import setuptools;from numpy.distutils.core/' setup.py + export NPY_NUM_BUILD_JOBS=$NIX_BUILD_CORES + ''; + preBuild = '' + ln -s ${self.numpy.cfg} site.cfg + ''; + } else old + ); + + scikit-image = super.scikit-image.overridePythonAttrs ( + old: { + nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ + self.pythran + self.packaging + self.wheel + self.numpy + ]; + } + ); + + scikit-learn = super.scikit-learn.overridePythonAttrs ( + old: { + buildInputs = (old.buildInputs or [ ]) ++ [ + pkgs.gfortran + ] ++ lib.optionals stdenv.cc.isClang [ + pkgs.llvmPackages.openmp + ] ++ lib.optionals stdenv.isLinux [ + pkgs.glibcLocales + ]; + + enableParallelBuilding = true; + } + ); + + secp256k1 = super.secp256k1.overridePythonAttrs (old: { + nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ pkgs.pkgconfig pkgs.autoconf pkgs.automake pkgs.libtool ]; + buildInputs = (old.buildInputs or [ ]) ++ [ self.pytest-runner ]; + doCheck = false; + # Local setuptools versions like "x.y.post0" confuse an internal check + postPatch = '' + substituteInPlace setup.py \ + --replace 'setuptools_version.' '"${self.setuptools.version}".' + ''; + }); + + shapely = super.shapely.overridePythonAttrs ( + old: { + buildInputs = (old.buildInputs or [ ]) ++ [ pkgs.geos ]; + inherit (pkgs.python3.pkgs.shapely) patches GEOS_LIBRARY_PATH; + } + ); + + shellcheck-py = super.shellcheck-py.overridePythonAttrs (old: { + + # Make fetching/installing external binaries no-ops + preConfigure = + let + fakeCommand = "type('FakeCommand', (Command,), {'initialize_options': lambda self: None, 'finalize_options': lambda self: None, 'run': lambda self: None})"; + in + '' + substituteInPlace setup.py \ + --replace "'fetch_binaries': fetch_binaries," "'fetch_binaries': ${fakeCommand}," \ + --replace "'install_shellcheck': install_shellcheck," "'install_shellcheck': ${fakeCommand}," + ''; + + propagatedUserEnvPkgs = (old.propagatedUserEnvPkgs or [ ]) ++ [ + pkgs.shellcheck + ]; + + }); + + systemd-python = super.systemd-python.overridePythonAttrs (old: { + buildInputs = old.buildInputs ++ [ pkgs.systemd ]; + nativeBuildInputs = old.nativeBuildInputs ++ [ pkgs.pkg-config ]; + }); + + tables = super.tables.overridePythonAttrs ( + old: { + buildInputs = (old.buildInputs or [ ]) ++ [ self.pywavelets ]; + HDF5_DIR = lib.getDev pkgs.hdf5; + nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ pkg-config ]; + propagatedBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ pkgs.hdf5 self.numpy self.numexpr ]; + } + ); + + tempora = super.tempora.overridePythonAttrs ( + old: { + # required for the extra "toml" dependency in setuptools_scm[toml] + buildInputs = (old.buildInputs or [ ]) ++ [ + self.toml + ]; + } + ); + + tensorboard = super.tensorboard.overridePythonAttrs ( + old: { + buildInputs = (old.buildInputs or [ ]) ++ [ + self.wheel + self.absl-py + ]; + HDF5_DIR = "${pkgs.hdf5}"; + propagatedBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ + pkgs.hdf5 + self.google-auth-oauthlib + self.tensorboard-plugin-wit + self.numpy + self.markdown + self.tensorboard-data-server + self.grpcio + self.protobuf + self.werkzeug + self.absl-py + ]; + } + ); + + tensorflow = super.tensorflow.overridePythonAttrs ( + old: { + postInstall = '' + rm $out/bin/tensorboard + ''; + } + ); + + tensorpack = super.tensorpack.overridePythonAttrs ( + old: { + postPatch = '' + substituteInPlace setup.cfg --replace "# will call find_packages()" "" + ''; + } + ); + + tinycss2 = super.tinycss2.overridePythonAttrs ( + old: { + buildInputs = (old.buildInputs or [ ]) ++ [ self.pytest-runner ]; + } + ); + + # The tokenizers build requires a complex rust setup (cf. nixpkgs override) + # + # Instead of providing a full source build, we use a wheel to keep + # the complexity manageable for now. + tokenizers = super.tokenizers.override { + preferWheel = true; + }; + + torch = lib.makeOverridable + ({ enableCuda ? false + , cudatoolkit ? pkgs.cudatoolkit_10_1 + , pkg ? super.torch + }: pkg.overrideAttrs (old: + { + preConfigure = + if (!enableCuda) then '' + export USE_CUDA=0 + '' else '' + export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:${cudatoolkit}/targets/x86_64-linux/lib" + ''; + preFixup = lib.optionalString (!enableCuda) '' + # For some reason pytorch retains a reference to libcuda even if it + # is explicitly disabled with USE_CUDA=0. + find $out -name "*.so" -exec ${pkgs.patchelf}/bin/patchelf --remove-needed libcuda.so.1 {} \; + ''; + buildInputs = + (old.buildInputs or [ ]) + ++ [ self.typing-extensions ] + ++ lib.optionals enableCuda [ + pkgs.linuxPackages.nvidia_x11 + pkgs.nccl.dev + pkgs.nccl.out + ]; + propagatedBuildInputs = [ + self.numpy + self.future + self.typing-extensions + ]; + }) + ) + { }; + + torchvision = lib.makeOverridable + ({ enableCuda ? false + , cudatoolkit ? pkgs.cudatoolkit_10_1 + , pkg ? super.torchvision + }: pkg.overrideAttrs (old: { + + # without that autoPatchelfHook will fail because cudatoolkit is not in LD_LIBRARY_PATH + autoPatchelfIgnoreMissingDeps = true; + buildInputs = (old.buildInputs or [ ]) + ++ [ self.torch ] + ++ lib.optionals enableCuda [ + cudatoolkit + ]; + preConfigure = + if (enableCuda) then '' + export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:${self.torch}/${self.python.sitePackages}/torch/lib:${lib.makeLibraryPath [ cudatoolkit "${cudatoolkit}" ]}" + '' else '' + export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:${self.torch}/${self.python.sitePackages}/torch/lib" + ''; + })) + { }; + + typed_ast = super.typed-ast.overridePythonAttrs (old: { + nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ + self.pytest-runner + ]; + }); + + urwidtrees = super.urwidtrees.overridePythonAttrs ( + old: { + propagatedBuildInputs = (old.propagatedBuildInputs or [ ]) ++ [ + self.urwid + ]; + } + ); + + vose-alias-method = super.vose-alias-method.overridePythonAttrs ( + old: { + postInstall = '' + rm -f $out/LICENSE + ''; + } + ); + + vispy = super.vispy.overrideAttrs ( + old: { + inherit (pkgs.python3.pkgs.vispy) patches; + nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ + self.setuptools-scm-git-archive + ]; + } + ); + + uvloop = super.uvloop.overridePythonAttrs ( + old: { + buildInputs = (old.buildInputs or [ ]) ++ lib.optionals stdenv.isDarwin [ + pkgs.darwin.apple_sdk.frameworks.ApplicationServices + pkgs.darwin.apple_sdk.frameworks.CoreServices + ]; + } + ); + + + # Stop infinite recursion by using bootstrapped pkg from nixpkgs + bootstrapped-pip = super.bootstrapped-pip.override { + wheel = (pkgs.python3.pkgs.override { + python = self.python; + }).wheel; + }; + + weasyprint = super.weasyprint.overridePythonAttrs ( + old: { + inherit (pkgs.python3.pkgs.weasyprint) patches; + nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ self.pytest-runner ]; + buildInputs = (old.buildInputs or [ ]) ++ [ self.pytest-runner ]; + } + ); + + web3 = super.web3.overridePythonAttrs { + preConfigure = '' + substituteInPlace setup.py --replace \'setuptools-markdown\' "" + ''; + }; + + weblate-language-data = super.weblate-language-data.overridePythonAttrs ( + old: { + buildInputs = (old.buildInputs or [ ]) ++ [ + self.translate-toolkit + ]; + } + ); + + wheel = + let + isWheel = super.wheel.src.isWheel or false; + # If "wheel" is a pre-built binary wheel + wheelPackage = super.buildPythonPackage { + inherit (super.wheel) pname name version src; + inherit (pkgs.python3.pkgs.wheel) meta; + format = "wheel"; + }; + # If "wheel" is built from source + sourcePackage = (( + pkgs.python3.pkgs.override { + python = self.python; + } + ).wheel.override { + inherit (self) buildPythonPackage bootstrapped-pip setuptools; + }).overrideAttrs (old: { + inherit (super.wheel) pname name version src; + }); + in + if isWheel then wheelPackage else sourcePackage; + + zipp = if super.zipp == null then null else + super.zipp.overridePythonAttrs ( + old: { + propagatedBuildInputs = (old.propagatedBuildInputs or [ ]) ++ [ + self.toml + ]; + } + ); + + packaging = + let + old = super.packaging; + in + # From 20.5 until 20.7, packaging used flit for packaging (heh) + # See https://github.com/pypa/packaging/pull/352 and https://github.com/pypa/packaging/pull/367 + if (lib.versionAtLeast old.version "20.5" && lib.versionOlder old.version "20.8") then + addBuildSystem + { + inherit self; + drv = old; + attr = "flit-core"; + } else old; + + psutil = super.psutil.overridePythonAttrs ( + old: { + buildInputs = (old.buildInputs or [ ]) ++ + lib.optional stdenv.isDarwin pkgs.darwin.apple_sdk.frameworks.IOKit; + } + ); + + sentencepiece = super.sentencepiece.overridePythonAttrs ( + old: { + dontUseCmakeConfigure = true; + nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ + pkg-config + pkgs.cmake + pkgs.gperftools + ]; + buildInputs = (old.buildInputs or [ ]) ++ [ + pkgs.sentencepiece + ]; + } + ); + + sentence-transformers = super.sentence-transformers.overridePythonAttrs ( + old: { + buildInputs = + (old.buildInputs or [ ]) + ++ [ self.typing-extensions ]; + } + ); + + supervisor = super.supervisor.overridePythonAttrs ( + old: { + propagatedBuildInputs = (old.propagatedBuildInputs or [ ]) ++ [ + self.meld3 + self.setuptools + ]; + } + ); + + cytoolz = super.cytoolz.overridePythonAttrs ( + old: { + propagatedBuildInputs = (old.propagatedBuildInputs or [ ]) ++ [ self.toolz ]; + } + ); + + # For some reason the toml dependency of tqdm declared here: + # https://github.com/tqdm/tqdm/blob/67130a23646ae672836b971e1086b6ae4c77d930/pyproject.toml#L2 + # is not translated correctly to a nix dependency. + tqdm = super.tqdm.overrideAttrs ( + old: { + buildInputs = [ super.toml ] ++ (old.buildInputs or [ ]); + } + ); + + watchdog = super.watchdog.overrideAttrs ( + old: { + buildInputs = (old.buildInputs or [ ]) + ++ lib.optional pkgs.stdenv.isDarwin pkgs.darwin.apple_sdk.frameworks.CoreServices; + } + ); + + # pyee cannot find `vcversioner` and other "setup requirements", so it tries to + # download them from the internet, which only works when nix sandboxing is disabled. + # Additionally, since pyee uses vcversioner to specify its version, we need to do this + # manually specify its version. + pyee = super.pyee.overrideAttrs ( + old: { + postPatch = old.postPatch or "" + '' + sed -i setup.py \ + -e '/setup_requires/,/],/d' \ + -e 's/vcversioner={},/version="${old.version}",/' + ''; + } + ); + + # nixpkgs has setuptools_scm 4.1.2 + # but newrelic has a seemingly unnecessary version constraint for <4 + # So we patch that out + newrelic = super.newrelic.overridePythonAttrs ( + old: { + postPatch = old.postPatch or "" + '' + substituteInPlace setup.py --replace '"setuptools_scm>=3.2,<4"' '"setuptools_scm"' + ''; + } + ); + + wxpython = super.wxpython.overridePythonAttrs (old: + let + localPython = self.python.withPackages (ps: with ps; [ + setuptools + numpy + six + ]); + in + { + DOXYGEN = "${pkgs.doxygen}/bin/doxygen"; + + nativeBuildInputs = with pkgs; [ + which + doxygen + gtk3 + pkg-config + autoPatchelfHook + ] ++ (old.nativeBuildInputs or [ ]); + + buildInputs = with pkgs; [ + gtk3 + webkitgtk + ncurses + SDL2 + xorg.libXinerama + xorg.libSM + xorg.libXxf86vm + xorg.libXtst + xorg.xorgproto + gst_all_1.gstreamer + gst_all_1.gst-plugins-base + libGLU + libGL + libglvnd + mesa + ] ++ old.buildInputs; + + buildPhase = '' + ${localPython.interpreter} build.py -v build_wx + ${localPython.interpreter} build.py -v dox etg --nodoc sip + ${localPython.interpreter} build.py -v build_py + ''; + + installPhase = '' + ${localPython.interpreter} setup.py install --skip-build --prefix=$out + ''; + }); + + marisa-trie = super.marisa-trie.overridePythonAttrs ( + old: { + buildInputs = (old.buildInputs or [ ]) ++ [ self.pytest-runner ]; + } + ); + + ua-parser = super.ua-parser.overridePythonAttrs ( + old: { + propagatedBuildInputs = (old.propagatedBuildInputs or [ ]) ++ [ self.pyyaml ]; + } + ); + + pygraphviz = super.pygraphviz.overridePythonAttrs (old: { + nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ pkg-config ]; + buildInputs = (old.buildInputs or [ ]) ++ [ pkgs.graphviz ]; + }); + + pysqlite = super.pysqlite.overridePythonAttrs (old: { + propagatedBuildInputs = (old.propagatedBuildInputs or [ ]) ++ [ pkgs.sqlite ]; + patchPhase = '' + substituteInPlace "setup.cfg" \ + --replace "/usr/local/include" "${pkgs.sqlite.dev}/include" \ + --replace "/usr/local/lib" "${pkgs.sqlite.out}/lib" + ${lib.optionalString (!stdenv.isDarwin) ''export LDSHARED="$CC -pthread -shared"''} + ''; + }); + + selinux = super.selinux.overridePythonAttrs (old: { + buildInputs = (old.buildInputs or [ ]) ++ [ self.setuptools-scm-git-archive ]; + }); + + uwsgi = super.uwsgi.overridePythonAttrs + (old: + { + buildInputs = (old.buildInputs or [ ]) ++ [ pkgs.ncurses ]; + } // lib.optionalAttrs (lib.versionAtLeast old.version "2.0.19" && lib.versionOlder old.version "2.0.20") { + sourceRoot = "."; + }); + + wcwidth = super.wcwidth.overridePythonAttrs (old: { + propagatedBuildInputs = (old.propagatedBuildInputs or [ ]) ++ + lib.optional self.isPy27 (self.backports-functools-lru-cache or self.backports_functools_lru_cache) + ; + }); + + wtforms = super.wtforms.overridePythonAttrs (old: { + buildInputs = (old.buildInputs or [ ]) ++ [ self.Babel ]; + }); + + } + ) + +] diff --git a/pkgs/development/tools/poetry2nix/poetry2nix/pep425.nix b/pkgs/development/tools/poetry2nix/poetry2nix/pep425.nix index 56f894c2e752..b16bd5f3cebc 100644 --- a/pkgs/development/tools/poetry2nix/poetry2nix/pep425.nix +++ b/pkgs/development/tools/poetry2nix/poetry2nix/pep425.nix @@ -1,7 +1,7 @@ { lib, stdenv, poetryLib, python, isLinux ? stdenv.isLinux }: let - inherit (lib.strings) hasSuffix hasInfix splitString removeSuffix; - inherit (poetryLib) targetMachine; + inherit (lib.strings) escapeRegex hasPrefix hasSuffix hasInfix splitString removePrefix removeSuffix; + targetMachine = poetryLib.getTargetMachine stdenv; # The 'cpxy" as determined by `python.version` # @@ -52,10 +52,10 @@ let # x = "cpXX" | "py2" | "py3" | "py2.py3" isPyVersionCompatible = pyver: x: let - normalize = y: ''cp${lib.strings.removePrefix "cp" (lib.strings.removePrefix "py" y)}''; - isCompat = p: x: lib.strings.hasPrefix (normalize x) p; + normalize = y: ''cp${removePrefix "cp" (removePrefix "py" y)}''; + isCompat = p: x: hasPrefix (normalize x) p; in - lib.lists.any (isCompat pyver) (lib.strings.splitString "." x); + lib.lists.any (isCompat pyver) (splitString "." x); # # Selects the best matching wheel file from a list of files @@ -63,7 +63,7 @@ let selectWheel = files: let filesWithoutSources = (builtins.filter (x: hasSuffix ".whl" x.file) files); - isPyAbiCompatible = pyabi: x: x == "none" || lib.hasPrefix pyabi x || lib.hasPrefix x pyabi || ( + isPyAbiCompatible = pyabi: x: x == "none" || hasPrefix pyabi x || hasPrefix x pyabi || ( # The CPython stable ABI is abi3 as in the shared library suffix. python.passthru.implementation == "cpython" && builtins.elemAt (lib.splitString "." python.version) 0 == "3" && @@ -75,32 +75,30 @@ let then if targetMachine != null then - ( - x: x.platform == "any" || lib.lists.any (e: hasInfix e x.platform) [ - "manylinux1_${targetMachine}" - "manylinux2010_${targetMachine}" - "manylinux2014_${targetMachine}" - ] + # See PEP 600 for details. + (p: + builtins.match "any|manylinux(1|2010|2014)_${escapeRegex targetMachine}|manylinux_[0-9]+_[0-9]+_${escapeRegex targetMachine}" p != null ) else - (x: x.platform == "any") + (p: p == "any") else if stdenv.isDarwin then if stdenv.targetPlatform.isAarch64 - then (x: x.platform == "any" || (hasInfix "macosx" x.platform && lib.lists.any (e: hasSuffix e x.platform) [ "arm64" "aarch64" ])) - else (x: x.platform == "any" || (hasInfix "macosx" x.platform && hasSuffix "x86_64" x.platform)) - else (x: x.platform == "any"); + then (p: p == "any" || (hasInfix "macosx" p && lib.lists.any (e: hasSuffix e p) [ "arm64" "aarch64" ])) + else (p: p == "any" || (hasInfix "macosx" p && hasSuffix "x86_64" p)) + else (p: p == "any"); + withPlatforms = x: lib.lists.any withPlatform (splitString "." x.platform); filterWheel = x: let f = toWheelAttrs x.file; in - (withPython pythonTag abiTag f) && (withPlatform f); + (withPython pythonTag abiTag f) && (withPlatforms f); filtered = builtins.filter filterWheel filesWithoutSources; choose = files: let osxMatches = [ "12_0" "11_0" "10_12" "10_11" "10_10" "10_9" "10_8" "10_7" "any" ]; - linuxMatches = [ "manylinux1_" "manylinux2010_" "manylinux2014_" "any" ]; + linuxMatches = [ "manylinux1_" "manylinux2010_" "manylinux2014_" "manylinux_" "any" ]; chooseLinux = x: lib.take 1 (findBestMatches linuxMatches x); chooseOSX = x: lib.take 1 (findBestMatches osxMatches x); in diff --git a/pkgs/development/tools/poetry2nix/poetry2nix/pep508.nix b/pkgs/development/tools/poetry2nix/poetry2nix/pep508.nix index 5098c5c3a90c..c9cef28fe85e 100644 --- a/pkgs/development/tools/poetry2nix/poetry2nix/pep508.nix +++ b/pkgs/development/tools/poetry2nix/poetry2nix/pep508.nix @@ -1,6 +1,8 @@ { lib, stdenv, poetryLib }: python: let - inherit (poetryLib) ireplace targetMachine; + inherit (poetryLib) ireplace; + + targetMachine = poetryLib.getTargetMachine stdenv; # Like builtins.substring but with stop being offset instead of length substr = start: stop: s: builtins.substring start (stop - start) s; diff --git a/pkgs/development/tools/poetry2nix/poetry2nix/pkgs/poetry/default.nix b/pkgs/development/tools/poetry2nix/poetry2nix/pkgs/poetry/default.nix index 8e52d7387c40..868599bde689 100644 --- a/pkgs/development/tools/poetry2nix/poetry2nix/pkgs/poetry/default.nix +++ b/pkgs/development/tools/poetry2nix/poetry2nix/pkgs/poetry/default.nix @@ -14,9 +14,6 @@ poetry2nix.mkPoetryApplication { inherit projectDir pyproject poetrylock; - # Don't include poetry in inputs - __isBootstrap = true; - src = fetchFromGitHub (lib.importJSON ./src.json); # "Vendor" dependencies (for build-system support) diff --git a/pkgs/development/tools/poetry2nix/poetry2nix/pkgs/poetry/poetry.lock b/pkgs/development/tools/poetry2nix/poetry2nix/pkgs/poetry/poetry.lock index 2da1370add73..5f179e2415d7 100644 --- a/pkgs/development/tools/poetry2nix/poetry2nix/pkgs/poetry/poetry.lock +++ b/pkgs/development/tools/poetry2nix/poetry2nix/pkgs/poetry/poetry.lock @@ -8,32 +8,17 @@ python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" [[package]] name = "attrs" -version = "21.2.0" +version = "21.4.0" description = "Classes Without Boilerplate" category = "dev" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" [package.extras] -dev = ["coverage[toml] (>=5.0.2)", "hypothesis", "pympler", "pytest (>=4.3.0)", "six", "mypy", "pytest-mypy-plugins", "zope.interface", "furo", "sphinx", "sphinx-notfound-page", "pre-commit"] +dev = ["coverage[toml] (>=5.0.2)", "hypothesis", "pympler", "pytest (>=4.3.0)", "six", "mypy", "pytest-mypy-plugins", "zope.interface", "furo", "sphinx", "sphinx-notfound-page", "pre-commit", "cloudpickle"] docs = ["furo", "sphinx", "zope.interface", "sphinx-notfound-page"] -tests = ["coverage[toml] (>=5.0.2)", "hypothesis", "pympler", "pytest (>=4.3.0)", "six", "mypy", "pytest-mypy-plugins", "zope.interface"] -tests_no_zope = ["coverage[toml] (>=5.0.2)", "hypothesis", "pympler", "pytest (>=4.3.0)", "six", "mypy", "pytest-mypy-plugins"] - -[[package]] -name = "backports.entry-points-selectable" -version = "1.1.1" -description = "Compatibility shim providing selectable entry points for older implementations" -category = "main" -optional = false -python-versions = ">=2.7" - -[package.dependencies] -importlib-metadata = {version = "*", markers = "python_version < \"3.8\""} - -[package.extras] -docs = ["sphinx", "jaraco.packaging (>=8.2)", "rst.linker (>=1.9)"] -testing = ["pytest", "pytest-flake8", "pytest-cov", "pytest-black (>=0.3.7)", "pytest-mypy", "pytest-checkdocs (>=2.4)", "pytest-enabler (>=1.0.1)"] +tests = ["coverage[toml] (>=5.0.2)", "hypothesis", "pympler", "pytest (>=4.3.0)", "six", "mypy", "pytest-mypy-plugins", "zope.interface", "cloudpickle"] +tests_no_zope = ["coverage[toml] (>=5.0.2)", "hypothesis", "pympler", "pytest (>=4.3.0)", "six", "mypy", "pytest-mypy-plugins", "cloudpickle"] [[package]] name = "backports.functools-lru-cache" @@ -245,7 +230,7 @@ test = ["pytest (>=3.6.0,!=3.9.0,!=3.9.1,!=3.9.2)", "pretend", "iso8601", "pytz" [[package]] name = "cryptography" -version = "36.0.1" +version = "36.0.2" description = "cryptography is a package which provides cryptographic recipes and primitives to Python developers." category = "main" optional = false @@ -364,7 +349,7 @@ six = "*" [[package]] name = "identify" -version = "2.4.0" +version = "2.4.4" description = "File identification library for Python" category = "dev" optional = false @@ -417,6 +402,14 @@ zipp = {version = ">=0.4", markers = "python_version < \"3.8\""} [package.extras] docs = ["sphinx", "rst.linker", "jaraco.packaging"] +[[package]] +name = "iniconfig" +version = "1.1.1" +description = "iniconfig: brain-dead simple config-ini parsing" +category = "dev" +optional = false +python-versions = "*" + [[package]] name = "ipaddress" version = "1.0.23" @@ -484,7 +477,7 @@ testing = ["pytest (>=3.5,!=3.7.3)", "pytest-checkdocs (>=1.2.3)", "pytest-flake [[package]] name = "keyring" -version = "21.8.0" +version = "22.3.0" description = "Store and access your passwords safely." category = "main" optional = false @@ -498,7 +491,7 @@ SecretStorage = {version = ">=3.2", markers = "sys_platform == \"linux\""} [package.extras] docs = ["sphinx", "jaraco.packaging (>=8.2)", "rst.linker (>=1.9)"] -testing = ["pytest (>=3.5,!=3.7.3)", "pytest-checkdocs (>=1.2.3)", "pytest-flake8", "pytest-cov", "jaraco.test (>=3.2.0)", "pytest-black (>=0.3.7)", "pytest-mypy"] +testing = ["pytest (>=4.6)", "pytest-checkdocs (>=1.2.3)", "pytest-flake8", "pytest-cov", "pytest-enabler", "pytest-black (>=0.3.7)", "pytest-mypy"] [[package]] name = "lockfile" @@ -589,7 +582,7 @@ python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" [[package]] name = "pathlib2" -version = "2.3.6" +version = "2.3.7.post1" description = "Object-oriented filesystem paths" category = "main" optional = false @@ -598,6 +591,7 @@ python-versions = "*" [package.dependencies] scandir = {version = "*", markers = "python_version < \"3.5\""} six = "*" +typing = {version = "*", markers = "python_version < \"3.5\""} [[package]] name = "pexpect" @@ -645,7 +639,7 @@ dev = ["pre-commit", "tox"] [[package]] name = "poetry-core" -version = "1.0.7" +version = "1.0.8" description = "Poetry PEP 517 Build Backend" category = "main" optional = false @@ -660,7 +654,7 @@ typing = {version = ">=3.7.4.1,<4.0.0.0", markers = "python_version >= \"2.7\" a [[package]] name = "pre-commit" -version = "2.16.0" +version = "2.17.0" description = "A framework for managing and maintaining multi-language pre-commit hooks." category = "dev" optional = false @@ -768,6 +762,28 @@ wcwidth = "*" checkqa-mypy = ["mypy (==v0.761)"] testing = ["argcomplete", "hypothesis (>=3.56)", "mock", "nose", "requests", "xmlschema"] +[[package]] +name = "pytest" +version = "6.2.5" +description = "pytest: simple powerful testing with Python" +category = "dev" +optional = false +python-versions = ">=3.6" + +[package.dependencies] +atomicwrites = {version = ">=1.0", markers = "sys_platform == \"win32\""} +attrs = ">=19.2.0" +colorama = {version = "*", markers = "sys_platform == \"win32\""} +importlib-metadata = {version = ">=0.12", markers = "python_version < \"3.8\""} +iniconfig = "*" +packaging = "*" +pluggy = ">=0.12,<2.0" +py = ">=1.8.2" +toml = "*" + +[package.extras] +testing = ["argcomplete", "hypothesis (>=3.56)", "mock", "nose", "requests", "xmlschema"] + [[package]] name = "pytest-cov" version = "2.12.1" @@ -973,7 +989,7 @@ typing = {version = ">=3.6,<4.0", markers = "python_version >= \"2.7\" and pytho [[package]] name = "tox" -version = "3.24.4" +version = "3.24.5" description = "tox is a generic virtualenv management and test command line tool" category = "dev" optional = false @@ -992,7 +1008,7 @@ virtualenv = ">=16.0.0,<20.0.0 || >20.0.0,<20.0.1 || >20.0.1,<20.0.2 || >20.0.2, [package.extras] docs = ["pygments-github-lexers (>=0.0.5)", "sphinx (>=2.0.0)", "sphinxcontrib-autoprogram (>=0.1.5)", "towncrier (>=18.5.0)"] -testing = ["flaky (>=3.4.0)", "freezegun (>=0.3.11)", "psutil (>=5.6.1)", "pytest (>=4.0.0)", "pytest-cov (>=2.5.1)", "pytest-mock (>=1.10.0)", "pytest-randomly (>=1.0.0)", "pytest-xdist (>=1.22.2)", "pathlib2 (>=2.3.3)"] +testing = ["flaky (>=3.4.0)", "freezegun (>=0.3.11)", "pytest (>=4.0.0)", "pytest-cov (>=2.5.1)", "pytest-mock (>=1.10.0)", "pytest-randomly (>=1.0.0)", "psutil (>=5.6.1)", "pathlib2 (>=2.3.3)"] [[package]] name = "typing" @@ -1025,14 +1041,13 @@ socks = ["PySocks (>=1.5.6,!=1.5.7,<2.0)"] [[package]] name = "virtualenv" -version = "20.10.0" +version = "20.14.0" description = "Virtual Python Environment builder" category = "main" optional = false python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,>=2.7" [package.dependencies] -"backports.entry-points-selectable" = ">=1.0.4" distlib = ">=0.3.1,<1" filelock = ">=3.2,<4" importlib-metadata = {version = ">=0.12", markers = "python_version < \"3.8\""} @@ -1082,7 +1097,7 @@ testing = ["pathlib2", "unittest2", "jaraco.itertools", "func-timeout"] [metadata] lock-version = "1.1" python-versions = "~2.7 || ^3.5" -content-hash = "290e530f0cdd81360dd6cb93f3182ac8e8b18a46238198d25de11c26f6b0c356" +content-hash = "3de9a28e5a2f53d26b75a9aa3eb333b360eb04470769675fb435183ab871798c" [metadata.files] atomicwrites = [ @@ -1090,12 +1105,8 @@ atomicwrites = [ {file = "atomicwrites-1.4.0.tar.gz", hash = "sha256:ae70396ad1a434f9c7046fd2dd196fc04b12f9e91ffb859164193be8b6168a7a"}, ] attrs = [ - {file = "attrs-21.2.0-py2.py3-none-any.whl", hash = "sha256:149e90d6d8ac20db7a955ad60cf0e6881a3f20d37096140088356da6c716b0b1"}, - {file = "attrs-21.2.0.tar.gz", hash = "sha256:ef6aaac3ca6cd92904cdd0d83f629a15f18053ec84e6432106f7a4d04ae4f5fb"}, -] -"backports.entry-points-selectable" = [ - {file = "backports.entry_points_selectable-1.1.1-py2.py3-none-any.whl", hash = "sha256:7fceed9532a7aa2bd888654a7314f864a3c16a4e710b34a58cfc0f08114c663b"}, - {file = "backports.entry_points_selectable-1.1.1.tar.gz", hash = "sha256:914b21a479fde881635f7af5adc7f6e38d6b274be32269070c53b698c60d5386"}, + {file = "attrs-21.4.0-py2.py3-none-any.whl", hash = "sha256:2d27e3784d7a565d36ab851fe94887c5eccd6a463168875832a1be79c82828b4"}, + {file = "attrs-21.4.0.tar.gz", hash = "sha256:626ba8234211db98e869df76230a137c4c40a12d72445c45d5f5b716f076e2fd"}, ] "backports.functools-lru-cache" = [ {file = "backports.functools_lru_cache-1.6.4-py2.py3-none-any.whl", hash = "sha256:dbead04b9daa817909ec64e8d2855fb78feafe0b901d4568758e3a60559d8978"}, @@ -1290,26 +1301,26 @@ cryptography = [ {file = "cryptography-3.3.2-cp36-abi3-win32.whl", hash = "sha256:3c284fc1e504e88e51c428db9c9274f2da9f73fdf5d7e13a36b8ecb039af6e6c"}, {file = "cryptography-3.3.2-cp36-abi3-win_amd64.whl", hash = "sha256:7951a966613c4211b6612b0352f5bf29989955ee592c4a885d8c7d0f830d0433"}, {file = "cryptography-3.3.2.tar.gz", hash = "sha256:5a60d3780149e13b7a6ff7ad6526b38846354d11a15e21068e57073e29e19bed"}, - {file = "cryptography-36.0.1-cp36-abi3-macosx_10_10_universal2.whl", hash = "sha256:73bc2d3f2444bcfeac67dd130ff2ea598ea5f20b40e36d19821b4df8c9c5037b"}, - {file = "cryptography-36.0.1-cp36-abi3-macosx_10_10_x86_64.whl", hash = "sha256:2d87cdcb378d3cfed944dac30596da1968f88fb96d7fc34fdae30a99054b2e31"}, - {file = "cryptography-36.0.1-cp36-abi3-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:74d6c7e80609c0f4c2434b97b80c7f8fdfaa072ca4baab7e239a15d6d70ed73a"}, - {file = "cryptography-36.0.1-cp36-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_24_aarch64.whl", hash = "sha256:6c0c021f35b421ebf5976abf2daacc47e235f8b6082d3396a2fe3ccd537ab173"}, - {file = "cryptography-36.0.1-cp36-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5d59a9d55027a8b88fd9fd2826c4392bd487d74bf628bb9d39beecc62a644c12"}, - {file = "cryptography-36.0.1-cp36-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0a817b961b46894c5ca8a66b599c745b9a3d9f822725221f0e0fe49dc043a3a3"}, - {file = "cryptography-36.0.1-cp36-abi3-manylinux_2_24_x86_64.whl", hash = "sha256:94ae132f0e40fe48f310bba63f477f14a43116f05ddb69d6fa31e93f05848ae2"}, - {file = "cryptography-36.0.1-cp36-abi3-musllinux_1_1_aarch64.whl", hash = "sha256:7be0eec337359c155df191d6ae00a5e8bbb63933883f4f5dffc439dac5348c3f"}, - {file = "cryptography-36.0.1-cp36-abi3-musllinux_1_1_x86_64.whl", hash = "sha256:e0344c14c9cb89e76eb6a060e67980c9e35b3f36691e15e1b7a9e58a0a6c6dc3"}, - {file = "cryptography-36.0.1-cp36-abi3-win32.whl", hash = "sha256:4caa4b893d8fad33cf1964d3e51842cd78ba87401ab1d2e44556826df849a8ca"}, - {file = "cryptography-36.0.1-cp36-abi3-win_amd64.whl", hash = "sha256:391432971a66cfaf94b21c24ab465a4cc3e8bf4a939c1ca5c3e3a6e0abebdbcf"}, - {file = "cryptography-36.0.1-pp37-pypy37_pp73-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:bb5829d027ff82aa872d76158919045a7c1e91fbf241aec32cb07956e9ebd3c9"}, - {file = "cryptography-36.0.1-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ebc15b1c22e55c4d5566e3ca4db8689470a0ca2babef8e3a9ee057a8b82ce4b1"}, - {file = "cryptography-36.0.1-pp37-pypy37_pp73-manylinux_2_24_x86_64.whl", hash = "sha256:596f3cd67e1b950bc372c33f1a28a0692080625592ea6392987dba7f09f17a94"}, - {file = "cryptography-36.0.1-pp38-pypy38_pp73-macosx_10_10_x86_64.whl", hash = "sha256:30ee1eb3ebe1644d1c3f183d115a8c04e4e603ed6ce8e394ed39eea4a98469ac"}, - {file = "cryptography-36.0.1-pp38-pypy38_pp73-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:ec63da4e7e4a5f924b90af42eddf20b698a70e58d86a72d943857c4c6045b3ee"}, - {file = "cryptography-36.0.1-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ca238ceb7ba0bdf6ce88c1b74a87bffcee5afbfa1e41e173b1ceb095b39add46"}, - {file = "cryptography-36.0.1-pp38-pypy38_pp73-manylinux_2_24_x86_64.whl", hash = "sha256:ca28641954f767f9822c24e927ad894d45d5a1e501767599647259cbf030b903"}, - {file = "cryptography-36.0.1-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:39bdf8e70eee6b1c7b289ec6e5d84d49a6bfa11f8b8646b5b3dfe41219153316"}, - {file = "cryptography-36.0.1.tar.gz", hash = "sha256:53e5c1dc3d7a953de055d77bef2ff607ceef7a2aac0353b5d630ab67f7423638"}, + {file = "cryptography-36.0.2-cp36-abi3-macosx_10_10_universal2.whl", hash = "sha256:4e2dddd38a5ba733be6a025a1475a9f45e4e41139d1321f412c6b360b19070b6"}, + {file = "cryptography-36.0.2-cp36-abi3-macosx_10_10_x86_64.whl", hash = "sha256:4881d09298cd0b669bb15b9cfe6166f16fc1277b4ed0d04a22f3d6430cb30f1d"}, + {file = "cryptography-36.0.2-cp36-abi3-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:ea634401ca02367c1567f012317502ef3437522e2fc44a3ea1844de028fa4b84"}, + {file = "cryptography-36.0.2-cp36-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_24_aarch64.whl", hash = "sha256:7be666cc4599b415f320839e36367b273db8501127b38316f3b9f22f17a0b815"}, + {file = "cryptography-36.0.2-cp36-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8241cac0aae90b82d6b5c443b853723bcc66963970c67e56e71a2609dc4b5eaf"}, + {file = "cryptography-36.0.2-cp36-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7b2d54e787a884ffc6e187262823b6feb06c338084bbe80d45166a1cb1c6c5bf"}, + {file = "cryptography-36.0.2-cp36-abi3-manylinux_2_24_x86_64.whl", hash = "sha256:c2c5250ff0d36fd58550252f54915776940e4e866f38f3a7866d92b32a654b86"}, + {file = "cryptography-36.0.2-cp36-abi3-musllinux_1_1_aarch64.whl", hash = "sha256:ec6597aa85ce03f3e507566b8bcdf9da2227ec86c4266bd5e6ab4d9e0cc8dab2"}, + {file = "cryptography-36.0.2-cp36-abi3-musllinux_1_1_x86_64.whl", hash = "sha256:ca9f686517ec2c4a4ce930207f75c00bf03d94e5063cbc00a1dc42531511b7eb"}, + {file = "cryptography-36.0.2-cp36-abi3-win32.whl", hash = "sha256:f64b232348ee82f13aac22856515ce0195837f6968aeaa94a3d0353ea2ec06a6"}, + {file = "cryptography-36.0.2-cp36-abi3-win_amd64.whl", hash = "sha256:53e0285b49fd0ab6e604f4c5d9c5ddd98de77018542e88366923f152dbeb3c29"}, + {file = "cryptography-36.0.2-pp37-pypy37_pp73-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:32db5cc49c73f39aac27574522cecd0a4bb7384e71198bc65a0d23f901e89bb7"}, + {file = "cryptography-36.0.2-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d2b3d199647468d410994dbeb8cec5816fb74feb9368aedf300af709ef507e3e"}, + {file = "cryptography-36.0.2-pp37-pypy37_pp73-manylinux_2_24_x86_64.whl", hash = "sha256:da73d095f8590ad437cd5e9faf6628a218aa7c387e1fdf67b888b47ba56a17f0"}, + {file = "cryptography-36.0.2-pp38-pypy38_pp73-macosx_10_10_x86_64.whl", hash = "sha256:0a3bf09bb0b7a2c93ce7b98cb107e9170a90c51a0162a20af1c61c765b90e60b"}, + {file = "cryptography-36.0.2-pp38-pypy38_pp73-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:8897b7b7ec077c819187a123174b645eb680c13df68354ed99f9b40a50898f77"}, + {file = "cryptography-36.0.2-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:82740818f2f240a5da8dfb8943b360e4f24022b093207160c77cadade47d7c85"}, + {file = "cryptography-36.0.2-pp38-pypy38_pp73-manylinux_2_24_x86_64.whl", hash = "sha256:1f64a62b3b75e4005df19d3b5235abd43fa6358d5516cfc43d87aeba8d08dd51"}, + {file = "cryptography-36.0.2-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:e167b6b710c7f7bc54e67ef593f8731e1f45aa35f8a8a7b72d6e42ec76afd4b3"}, + {file = "cryptography-36.0.2.tar.gz", hash = "sha256:70f8f4f7bb2ac9f340655cbac89d68c527af5bb4387522a8413e841e3e6628c9"}, ] distlib = [ {file = "distlib-0.3.4-py2.py3-none-any.whl", hash = "sha256:6564fe0a8f51e734df6333d08b8b94d4ea8ee6b99b5ed50613f731fd4089f34b"}, @@ -1351,8 +1362,8 @@ httpretty = [ {file = "httpretty-0.9.7.tar.gz", hash = "sha256:66216f26b9d2c52e81808f3e674a6fb65d4bf719721394a1a9be926177e55fbe"}, ] identify = [ - {file = "identify-2.4.0-py2.py3-none-any.whl", hash = "sha256:eba31ca80258de6bb51453084bff4a923187cd2193b9c13710f2516ab30732cc"}, - {file = "identify-2.4.0.tar.gz", hash = "sha256:a33ae873287e81651c7800ca309dc1f84679b763c9c8b30680e16fbfa82f0107"}, + {file = "identify-2.4.4-py2.py3-none-any.whl", hash = "sha256:aa68609c7454dbcaae60a01ff6b8df1de9b39fe6e50b1f6107ec81dcda624aa6"}, + {file = "identify-2.4.4.tar.gz", hash = "sha256:6b4b5031f69c48bf93a646b90de9b381c6b5f560df4cbe0ed3cf7650ae741e4d"}, ] idna = [ {file = "idna-2.10-py2.py3-none-any.whl", hash = "sha256:b97d804b1e9b523befed77c48dacec60e6dcb0b5391d57af6a65a312a90648c0"}, @@ -1366,6 +1377,10 @@ importlib-resources = [ {file = "importlib_resources-3.2.1-py2.py3-none-any.whl", hash = "sha256:e2860cf0c4bc999947228d18be154fa3779c5dde0b882bd2d7b3f4d25e698bd6"}, {file = "importlib_resources-3.2.1.tar.gz", hash = "sha256:a9fe213ab6452708ec1b3f4ec6f2881b8ab3645cb4e5efb7fea2bbf05a91db3b"}, ] +iniconfig = [ + {file = "iniconfig-1.1.1-py2.py3-none-any.whl", hash = "sha256:011e24c64b7f47f6ebd835bb12a743f2fbe9a26d4cecaa7f53bc4f35ee9da8b3"}, + {file = "iniconfig-1.1.1.tar.gz", hash = "sha256:bc3af051d7d14b2ee5ef9969666def0cd1a000e121eaea580d4a313df4b37f32"}, +] ipaddress = [ {file = "ipaddress-1.0.23-py2.py3-none-any.whl", hash = "sha256:6e0f4a39e66cb5bb9a137b00276a2eff74f93b71dcbdad6f10ff7df9d3557fcc"}, {file = "ipaddress-1.0.23.tar.gz", hash = "sha256:b7f8e0369580bb4a24d5ba1d7cc29660a4a6987763faf1d8a8046830e020e7e2"}, @@ -1381,8 +1396,8 @@ keyring = [ {file = "keyring-18.0.1.tar.gz", hash = "sha256:67d6cc0132bd77922725fae9f18366bb314fd8f95ff4d323a4df41890a96a838"}, {file = "keyring-20.0.1-py2.py3-none-any.whl", hash = "sha256:c674f032424b4bffc62abeac5523ec49cc84aed07a480c3233e0baf618efc15c"}, {file = "keyring-20.0.1.tar.gz", hash = "sha256:963bfa7f090269d30bdc5e25589e5fd9dad2cf2a7c6f176a7f2386910e5d0d8d"}, - {file = "keyring-21.8.0-py3-none-any.whl", hash = "sha256:4be9cbaaaf83e61d6399f733d113ede7d1c73bc75cb6aeb64eee0f6ac39b30ea"}, - {file = "keyring-21.8.0.tar.gz", hash = "sha256:1746d3ac913d449a090caf11e9e4af00e26c3f7f7e81027872192b2398b98675"}, + {file = "keyring-22.3.0-py3-none-any.whl", hash = "sha256:2bc8363ebdd63886126a012057a85c8cb6e143877afa02619ac7dbc9f38a207b"}, + {file = "keyring-22.3.0.tar.gz", hash = "sha256:16927a444b2c73f983520a48dec79ddab49fe76429ea05b8d528d778c8339522"}, ] lockfile = [ {file = "lockfile-0.12.2-py2.py3-none-any.whl", hash = "sha256:6c3cb24f344923d30b2785d5ad75182c8ea7ac1b6171b08657258ec7429d50fa"}, @@ -1450,8 +1465,8 @@ pastel = [ {file = "pastel-0.2.1.tar.gz", hash = "sha256:e6581ac04e973cac858828c6202c1e1e81fee1dc7de7683f3e1ffe0bfd8a573d"}, ] pathlib2 = [ - {file = "pathlib2-2.3.6-py2.py3-none-any.whl", hash = "sha256:3a130b266b3a36134dcc79c17b3c7ac9634f083825ca6ea9d8f557ee6195c9c8"}, - {file = "pathlib2-2.3.6.tar.gz", hash = "sha256:7d8bcb5555003cdf4a8d2872c538faa3a0f5d20630cb360e518ca3b981795e5f"}, + {file = "pathlib2-2.3.7.post1-py2.py3-none-any.whl", hash = "sha256:5266a0fd000452f1b3467d782f079a4343c63aaa119221fbdc4e39577489ca5b"}, + {file = "pathlib2-2.3.7.post1.tar.gz", hash = "sha256:9fe0edad898b83c0c3e199c842b27ed216645d2e177757b2dd67384d4113c641"}, ] pexpect = [ {file = "pexpect-4.8.0-py2.py3-none-any.whl", hash = "sha256:0b48a55dcb3c05f3329815901ea4fc1537514d6ba867a152b581d69ae3710937"}, @@ -1470,12 +1485,12 @@ pluggy = [ {file = "pluggy-0.13.1.tar.gz", hash = "sha256:15b2acde666561e1298d71b523007ed7364de07029219b604cf808bfa1c765b0"}, ] poetry-core = [ - {file = "poetry-core-1.0.7.tar.gz", hash = "sha256:98c11c755a16ef6c5673c22ca94a3802a7df4746a0853a70b6fae8b9f5cac206"}, - {file = "poetry_core-1.0.7-py2.py3-none-any.whl", hash = "sha256:4f8a7f5390d772f42c4c4c3f188e6424b802cb4b57466c6633a1b9ac36f18a43"}, + {file = "poetry-core-1.0.8.tar.gz", hash = "sha256:951fc7c1f8d710a94cb49019ee3742125039fc659675912ea614ac2aa405b118"}, + {file = "poetry_core-1.0.8-py2.py3-none-any.whl", hash = "sha256:54b0fab6f7b313886e547a52f8bf52b8cf43e65b2633c65117f8755289061924"}, ] pre-commit = [ - {file = "pre_commit-2.16.0-py2.py3-none-any.whl", hash = "sha256:758d1dc9b62c2ed8881585c254976d66eae0889919ab9b859064fc2fe3c7743e"}, - {file = "pre_commit-2.16.0.tar.gz", hash = "sha256:fe9897cac830aa7164dbd02a4e7b90cae49630451ce88464bca73db486ba9f65"}, + {file = "pre_commit-2.17.0-py2.py3-none-any.whl", hash = "sha256:725fa7459782d7bec5ead072810e47351de01709be838c2ce1726b9591dad616"}, + {file = "pre_commit-2.17.0.tar.gz", hash = "sha256:c1a8040ff15ad3d648c70cc3e55b93e4d2d5b687320955505587fd79bbaed06a"}, ] ptyprocess = [ {file = "ptyprocess-0.7.0-py2.py3-none-any.whl", hash = "sha256:4b41f3967fce3af57cc7e94b888626c18bf37a083e3651ca8feeb66d492fef35"}, @@ -1502,6 +1517,8 @@ pytest = [ {file = "pytest-4.6.11.tar.gz", hash = "sha256:50fa82392f2120cc3ec2ca0a75ee615be4c479e66669789771f1758332be4353"}, {file = "pytest-5.4.3-py3-none-any.whl", hash = "sha256:5c0db86b698e8f170ba4582a492248919255fcd4c79b1ee64ace34301fb589a1"}, {file = "pytest-5.4.3.tar.gz", hash = "sha256:7979331bfcba207414f5e1263b5a0f8f521d0f457318836a7355531ed1a4c7d8"}, + {file = "pytest-6.2.5-py3-none-any.whl", hash = "sha256:7310f8d27bc79ced999e760ca304d69f6ba6c6649c0b60fb0e04a4a77cacc134"}, + {file = "pytest-6.2.5.tar.gz", hash = "sha256:131b36680866a76e6781d13f101efb86cf674ebb9762eb70d3082b6f29889e89"}, ] pytest-cov = [ {file = "pytest-cov-2.12.1.tar.gz", hash = "sha256:261ceeb8c227b726249b376b8526b600f38667ee314f910353fa318caa01f4d7"}, @@ -1610,8 +1627,8 @@ tomlkit = [ {file = "tomlkit-0.7.2.tar.gz", hash = "sha256:d7a454f319a7e9bd2e249f239168729327e4dd2d27b17dc68be264ad1ce36754"}, ] tox = [ - {file = "tox-3.24.4-py2.py3-none-any.whl", hash = "sha256:5e274227a53dc9ef856767c21867377ba395992549f02ce55eb549f9fb9a8d10"}, - {file = "tox-3.24.4.tar.gz", hash = "sha256:c30b57fa2477f1fb7c36aa1d83292d5c2336cd0018119e1b1c17340e2c2708ca"}, + {file = "tox-3.24.5-py2.py3-none-any.whl", hash = "sha256:be3362472a33094bce26727f5f771ca0facf6dafa217f65875314e9a6600c95c"}, + {file = "tox-3.24.5.tar.gz", hash = "sha256:67e0e32c90e278251fea45b696d0fef3879089ccbe979b0c556d35d5a70e2993"}, ] typing = [ {file = "typing-3.10.0.0-py2-none-any.whl", hash = "sha256:c7219ef20c5fbf413b4567092adfc46fa6203cb8454eda33c3fc1afe1398a308"}, @@ -1628,8 +1645,8 @@ urllib3 = [ {file = "urllib3-1.25.11.tar.gz", hash = "sha256:8d7eaa5a82a1cac232164990f04874c594c9453ec55eef02eab885aa02fc17a2"}, ] virtualenv = [ - {file = "virtualenv-20.10.0-py2.py3-none-any.whl", hash = "sha256:4b02e52a624336eece99c96e3ab7111f469c24ba226a53ec474e8e787b365814"}, - {file = "virtualenv-20.10.0.tar.gz", hash = "sha256:576d05b46eace16a9c348085f7d0dc8ef28713a2cabaa1cf0aea41e8f12c9218"}, + {file = "virtualenv-20.14.0-py2.py3-none-any.whl", hash = "sha256:1e8588f35e8b42c6ec6841a13c5e88239de1e6e4e4cedfd3916b306dc826ec66"}, + {file = "virtualenv-20.14.0.tar.gz", hash = "sha256:8e5b402037287126e81ccde9432b95a8be5b19d36584f64957060a3488c11ca8"}, ] wcwidth = [ {file = "wcwidth-0.2.5-py2.py3-none-any.whl", hash = "sha256:beb4802a9cebb9144e99086eff703a642a13d6a0052920003a230f3294bbe784"}, diff --git a/pkgs/development/tools/poetry2nix/poetry2nix/pkgs/poetry/pyproject.toml b/pkgs/development/tools/poetry2nix/poetry2nix/pkgs/poetry/pyproject.toml index 5cf34372b050..4fff27d4e0eb 100644 --- a/pkgs/development/tools/poetry2nix/poetry2nix/pkgs/poetry/pyproject.toml +++ b/pkgs/development/tools/poetry2nix/poetry2nix/pkgs/poetry/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "poetry" -version = "1.1.12" +version = "1.1.13" description = "Python dependency management and packaging made easy." authors = [ "Sébastien Eustace " @@ -57,7 +57,7 @@ functools32 = { version = "^3.2.3", python = "~2.7" } keyring = [ { version = "^18.0.1", python = "~2.7" }, { version = "^20.0.1", python = "~3.5" }, - { version = "^21.2.0", python = "^3.6" } + { version = ">=21.2.0", python = "^3.6" } ] # Use subprocess32 for Python 2.7 subprocess32 = { version = "^3.5", python = "~2.7" } @@ -66,7 +66,8 @@ importlib-metadata = {version = "^1.6.0", python = "<3.8"} [tool.poetry.dev-dependencies] pytest = [ {version = "^4.1", python = "<3.5"}, - {version = "^5.4.3", python = ">=3.5"} + {version = "^5.4.3", python = "~3.5"}, + {version = "^6.2.5", python = ">=3.6"} ] pytest-cov = "^2.5" pytest-mock = "^1.9" diff --git a/pkgs/development/tools/poetry2nix/poetry2nix/pkgs/poetry/src.json b/pkgs/development/tools/poetry2nix/poetry2nix/pkgs/poetry/src.json index aeee3abb7d42..7b35dc31494e 100644 --- a/pkgs/development/tools/poetry2nix/poetry2nix/pkgs/poetry/src.json +++ b/pkgs/development/tools/poetry2nix/poetry2nix/pkgs/poetry/src.json @@ -1,7 +1,7 @@ { - "owner": "python-poetry", - "repo": "poetry", - "rev": "020fb336e6da11d3a9909f30bd908437a69f13b3", - "sha256": "1fm4yj6wxr24v7b77gmf63j7xsgszhbhzw2i9fvlfi0p9l0q34pm", - "fetchSubmodules": true + "owner": "python-poetry", + "repo": "poetry", + "rev": "1.1.13", + "sha256": "0zm73wcxjfad3841wl1xpx20drhynrqlxsjh1d1gsh618b7ldpib", + "fetchSubmodules": true } diff --git a/pkgs/development/tools/poetry2nix/poetry2nix/pkgs/poetry/update b/pkgs/development/tools/poetry2nix/poetry2nix/pkgs/poetry/update deleted file mode 100755 index 95b7f5bb3318..000000000000 --- a/pkgs/development/tools/poetry2nix/poetry2nix/pkgs/poetry/update +++ /dev/null @@ -1,11 +0,0 @@ -#!/usr/bin/env nix-shell -#! nix-shell -i bash -p curl nix-prefetch-github jq - -rev=$(curl -s https://api.github.com/repos/python-poetry/poetry/releases/latest | jq -r '.name') -nix-prefetch-github --rev "$rev" python-poetry poetry > src.json -echo >> src.json - -src=$(nix-build --no-out-link --expr 'with import {}; fetchFromGitHub (lib.importJSON ./src.json)') -cp $src/pyproject.toml $src/poetry.lock . -nix-shell -p poetry --run 'poetry lock' -nix-build --expr '(import { overlays = [ (import ../../overlay.nix) ]; }).poetry' diff --git a/pkgs/development/tools/poetry2nix/update b/pkgs/development/tools/poetry2nix/update index ac8c98a33d9c..047f7a8fea65 100755 --- a/pkgs/development/tools/poetry2nix/update +++ b/pkgs/development/tools/poetry2nix/update @@ -1,4 +1,5 @@ #!/usr/bin/env bash +set -euo pipefail pwd=$(pwd) workdir=$(mktemp -d) @@ -15,8 +16,8 @@ mv poetry2nix-master/* . mkdir build cp *.* build/ -cp -r pkgs hooks bin build/ -rm build/shell.nix build/generate.py build/overlay.nix build/flake.* build/check-fmt.nix +cp -r overrides pkgs hooks bin build/ +rm build/shell.nix build/generate.py build/overlay.nix build/flake.* build/check-fmt.nix build/pkgs/poetry/update* cat > build/README.md << EOF Dont change these files here, they are maintained at https://github.com/nix-community/poetry2nix From ce8e9df4d7f98c6f35d38f6a6995148e1fcbe54a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B8rn=20Forsman?= Date: Thu, 31 Mar 2022 13:16:20 +0200 Subject: [PATCH 137/203] arcanist: add python3 to fix 'arc anoid' Patch out the requirement from 'arc' that it needs 'python3' in $PATH at runtime, because once built the python script will have a fixed absolute path shebang to python3. (The check makes sense outside of Nix though.) Not injecting python3 in PATH prevents leaking python3 into the environment in which arc runs linters etc. --- .../tools/misc/arcanist/default.nix | 5 +++- .../dont-require-python3-in-path.patch | 26 +++++++++++++++++++ 2 files changed, 30 insertions(+), 1 deletion(-) create mode 100644 pkgs/development/tools/misc/arcanist/dont-require-python3-in-path.patch diff --git a/pkgs/development/tools/misc/arcanist/default.nix b/pkgs/development/tools/misc/arcanist/default.nix index 9540f1e0a6c8..0fa34c7eefe8 100644 --- a/pkgs/development/tools/misc/arcanist/default.nix +++ b/pkgs/development/tools/misc/arcanist/default.nix @@ -6,6 +6,7 @@ , lib, stdenv , installShellFiles , which +, python3 }: # Make a custom wrapper. If `wrapProgram` is used, arcanist thinks .arc-wrapped is being @@ -33,7 +34,9 @@ stdenv.mkDerivation { sha256 = "0jiv4aj4m5750dqw9r8hizjkwiyxk4cg4grkr63sllsa2dpiibxw"; }; - buildInputs = [ php ]; + patches = [ ./dont-require-python3-in-path.patch ]; + + buildInputs = [ php python3 ]; nativeBuildInputs = [ bison flex installShellFiles ]; diff --git a/pkgs/development/tools/misc/arcanist/dont-require-python3-in-path.patch b/pkgs/development/tools/misc/arcanist/dont-require-python3-in-path.patch new file mode 100644 index 000000000000..5c127491bb84 --- /dev/null +++ b/pkgs/development/tools/misc/arcanist/dont-require-python3-in-path.patch @@ -0,0 +1,26 @@ +Don't require python3 in PATH + +Once packaged, the arcanoid.py script has an absolute path shebang to +python3, so there is no need to also require python3 in PATH. + +This prevents leaking in a python3 in PATH in the environment which arc +runs linters etc. + +Author: bjorn.forsman@gmail.com +diff -uNr arcanist.orig/src/workflow/ArcanistAnoidWorkflow.php arcanist.new/src/workflow/ArcanistAnoidWorkflow.php +--- arcanist.orig/src/workflow/ArcanistAnoidWorkflow.php 2022-03-31 13:23:30.865095192 +0200 ++++ arcanist.new/src/workflow/ArcanistAnoidWorkflow.php 2022-04-01 12:19:15.644159639 +0200 +@@ -24,13 +24,6 @@ + } + + public function runWorkflow() { +- if (!Filesystem::binaryExists('python3')) { +- throw new PhutilArgumentUsageException( +- pht( +- 'The "arc anoid" workflow requires "python3" to be available '. +- 'in your $PATH.')); +- } +- + $support_dir = phutil_get_library_root('arcanist'); + $support_dir = dirname($support_dir); + $support_dir = $support_dir.'/support/'; From 3f6e36987b513b553f6d8bf5b49cd9742a2347c0 Mon Sep 17 00:00:00 2001 From: Bobby Rong Date: Fri, 1 Apr 2022 18:59:17 +0800 Subject: [PATCH 138/203] pantheon.elementary-dock: run glib-compile-schemas --- pkgs/desktops/pantheon/apps/elementary-dock/default.nix | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/pkgs/desktops/pantheon/apps/elementary-dock/default.nix b/pkgs/desktops/pantheon/apps/elementary-dock/default.nix index 5aa61062a8f6..d9cd7f184943 100644 --- a/pkgs/desktops/pantheon/apps/elementary-dock/default.nix +++ b/pkgs/desktops/pantheon/apps/elementary-dock/default.nix @@ -68,6 +68,14 @@ stdenv.mkDerivation rec { pango ]; + postInstall = '' + # elementary/dock/master is missing a Meson post + # install script that does this. This has been + # resolved after the dock rewrite (the `main` branch). + # https://github.com/elementary/default-settings/issues/267 + glib-compile-schemas $out/share/glib-2.0/schemas + ''; + meta = with lib; { description = "Elegant, simple, clean dock"; homepage = "https://github.com/elementary/dock"; From 9511feef722fd1cba5fbfcfb1fdce85698942bf0 Mon Sep 17 00:00:00 2001 From: adisbladis Date: Fri, 1 Apr 2022 23:34:29 +1200 Subject: [PATCH 139/203] prometheus-dmarc-exporter: Add missing build-system dependencies with overrides I will add these upstream in poetry2nix and remove them from here once released. --- .../monitoring/prometheus/dmarc-exporter/default.nix | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/pkgs/servers/monitoring/prometheus/dmarc-exporter/default.nix b/pkgs/servers/monitoring/prometheus/dmarc-exporter/default.nix index 98848ee67022..e083df90b413 100644 --- a/pkgs/servers/monitoring/prometheus/dmarc-exporter/default.nix +++ b/pkgs/servers/monitoring/prometheus/dmarc-exporter/default.nix @@ -7,7 +7,8 @@ let poetry2nix.defaultPoetryOverrides (import ./poetry-git-overlay.nix { inherit pkgs; }) (self: super: { - dmarc-metrics-exporter = super.dmarc-metrics-exporter.overridePythonAttrs ({ meta ? {}, ... }: { + dmarc-metrics-exporter = super.dmarc-metrics-exporter.overridePythonAttrs ({ nativeBuildInputs ? [ ], meta ? {}, ... }: { + nativeBuildInputs = nativeBuildInputs ++ [ self.poetry ]; meta = with lib; meta // { license = licenses.mit; homepage = "https://github.com/jgosmann/dmarc-metrics-exporter/"; @@ -44,6 +45,9 @@ let ''; }); dataclasses = null; + bite-parser = super.bite-parser.overridePythonAttrs (old: { + nativeBuildInputs = old.nativeBuildInputs ++ [ self.poetry ]; + }); }) ]; }) python; From ebd9acc18aa85d10ff147462c6bc59da51306494 Mon Sep 17 00:00:00 2001 From: Luflosi Date: Fri, 1 Apr 2022 12:55:31 +0200 Subject: [PATCH 140/203] include-what-you-use: 0.17 -> 0.18 https://github.com/include-what-you-use/include-what-you-use/releases/tag/0.18 --- .../tools/analysis/include-what-you-use/default.nix | 4 ++-- pkgs/top-level/all-packages.nix | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/development/tools/analysis/include-what-you-use/default.nix b/pkgs/development/tools/analysis/include-what-you-use/default.nix index bc1be4e5ba5e..ccda1b7baba5 100644 --- a/pkgs/development/tools/analysis/include-what-you-use/default.nix +++ b/pkgs/development/tools/analysis/include-what-you-use/default.nix @@ -3,10 +3,10 @@ stdenv.mkDerivation rec { pname = "include-what-you-use"; # Also bump llvmPackages in all-packages.nix to the supported version! - version = "0.17"; + version = "0.18"; src = fetchurl { - sha256 = "sha256-7KfAT4tBa2OF7QDjNmmn+kaTzSbLcrUizeVYgo6wxmU="; + sha256 = "sha256-kQL8hBkpR1ffhqic5uwwX42QqBjR8lmKE50V6xiUuPM="; url = "${meta.homepage}/downloads/${pname}-${version}.src.tar.gz"; }; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index d6064543e4bc..e19ca53c4e5b 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -15349,7 +15349,7 @@ with pkgs; img = callPackage ../development/tools/img { }; include-what-you-use = callPackage ../development/tools/analysis/include-what-you-use { - llvmPackages = llvmPackages_13; + llvmPackages = llvmPackages_14; }; indent = callPackage ../development/tools/misc/indent { }; From e41e5e30f3ee663e47122d3759fb939b277b125c Mon Sep 17 00:00:00 2001 From: Michael Adler Date: Fri, 1 Apr 2022 13:50:32 +0200 Subject: [PATCH 141/203] ungoogled-chromium: 99.0.4844.84 -> 100.0.4896.60 --- .../browsers/chromium/upstream-info.json | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/pkgs/applications/networking/browsers/chromium/upstream-info.json b/pkgs/applications/networking/browsers/chromium/upstream-info.json index 33d8040afdee..35610f1537a7 100644 --- a/pkgs/applications/networking/browsers/chromium/upstream-info.json +++ b/pkgs/applications/networking/browsers/chromium/upstream-info.json @@ -45,19 +45,19 @@ } }, "ungoogled-chromium": { - "version": "99.0.4844.84", - "sha256": "05bma8lsm5lad58mlfiv8bg0fw5k5mxh0v6g1ik7xp2bsd71iv10", - "sha256bin64": "0sdnsnp7hnpip91hwbz3hiw2727g0a3ydf55ldqv9bgik3vn1wln", + "version": "100.0.4896.60", + "sha256": "1p7zggnhsz9gj3zil0nyas4ym5bd94vs0z6mdg7r1l0s0vrsaphf", + "sha256bin64": "07wavs9r6ilwx5rzyqvydcjskg6sml5b8m6mw7qzykvhs8bnvfh5", "deps": { "gn": { - "version": "2022-01-10", + "version": "2022-01-21", "url": "https://gn.googlesource.com/gn", - "rev": "80a40b07305373617eba2d5878d353532af77da3", - "sha256": "1103lf38h7412949j6nrk48m2vv2rrxacn42sjg33lg88nyv7skv" + "rev": "0725d7827575b239594fbc8fd5192873a1d62f44", + "sha256": "1dzdvcn2r5c9giknvasf3y5y4901kav7igivjvrpww66ywsj8fzr" }, "ungoogled-patches": { - "rev": "99.0.4844.84-1", - "sha256": "1j02zcam09mdw7wg30r1mx27b8bw0s9dvk4qjl6vrhp24rbmscs7" + "rev": "100.0.4896.60-1", + "sha256": "02q7ghxynkgkbilcb8bx8q26s80fvd4hbc58zq74pnzpmn7qi342" } } } From a5a62bdae12bb4a0a8754eefe5c03d86ac29409a Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 1 Apr 2022 12:21:02 +0000 Subject: [PATCH 142/203] buildah-unwrapped: 1.24.2 -> 1.25.1 --- pkgs/development/tools/buildah/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/tools/buildah/default.nix b/pkgs/development/tools/buildah/default.nix index ea6f866a48b1..1855ed966d51 100644 --- a/pkgs/development/tools/buildah/default.nix +++ b/pkgs/development/tools/buildah/default.nix @@ -14,13 +14,13 @@ buildGoModule rec { pname = "buildah"; - version = "1.24.2"; + version = "1.25.1"; src = fetchFromGitHub { owner = "containers"; repo = "buildah"; rev = "v${version}"; - sha256 = "sha256-gBO+H26YGmOtP3CUHZjynAaOb0h+MJbJnWqxOZdif6w="; + sha256 = "sha256-NQ+Tv3KUrvX+MWM1ZFmsJ4JKoSIpSBjGNiruJkRd6rE="; }; outputs = [ "out" "man" ]; From 88ea7932d5ddf49753d7eb5e3b222bc449b08750 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 1 Apr 2022 12:30:08 +0000 Subject: [PATCH 143/203] python310Packages.meilisearch: 0.18.1 -> 0.18.2 --- pkgs/development/python-modules/meilisearch/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/meilisearch/default.nix b/pkgs/development/python-modules/meilisearch/default.nix index 9671c43df081..73f1c75a5192 100644 --- a/pkgs/development/python-modules/meilisearch/default.nix +++ b/pkgs/development/python-modules/meilisearch/default.nix @@ -7,7 +7,7 @@ buildPythonPackage rec { pname = "meilisearch"; - version = "0.18.1"; + version = "0.18.2"; format = "setuptools"; disabled = pythonOlder "3.7"; @@ -16,7 +16,7 @@ buildPythonPackage rec { owner = "meilisearch"; repo = "meilisearch-python"; rev = "v${version}"; - hash = "sha256-Rd2GmomNzW0+oI2QEGcPY4g8H+4FN7eLKY1ljcibsLw="; + hash = "sha256-U9fdMcxPdtLiUStgTez99SPRh93WLZNVn8uIj4lNWh4="; }; propagatedBuildInputs = [ From 9ad324aec58875ee4a61a0b9510990d60e1ea7b5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sandro=20J=C3=A4ckel?= Date: Fri, 1 Apr 2022 14:38:53 +0200 Subject: [PATCH 144/203] gofu: unstable-2021-09-11 -> unstable-2022-04-01 --- pkgs/applications/misc/gofu/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/applications/misc/gofu/default.nix b/pkgs/applications/misc/gofu/default.nix index 13cb7129a00b..ea3cbde3adb7 100644 --- a/pkgs/applications/misc/gofu/default.nix +++ b/pkgs/applications/misc/gofu/default.nix @@ -2,13 +2,13 @@ buildGoModule rec { pname = "gofu"; - version = "unstable-2021-09-11"; + version = "unstable-2022-04-01"; src = fetchFromGitHub { owner = "majewsky"; repo = pname; - rev = "cb398f58a5cb4f3e858fe60e84debde6ab58f7c8"; - sha256 = "sha256-R8Pr8SyLeoTaYKKV+PzHDPi1/RY4j7pkUbW8kE4ydBU="; + rev = "be0e424eecec3fec19ba3518f8fd1bb07b6908dc"; + sha256 = "sha256-jMOmvCsuRtL9EgPicdNEksVgFepL/JZA53o2wzr8uzQ="; }; vendorSha256 = null; From 6febb906a84b3deb8311a7144a5598aff1b43691 Mon Sep 17 00:00:00 2001 From: Robert Hensing Date: Mon, 28 Mar 2022 08:51:25 +0200 Subject: [PATCH 145/203] tests: Add pkgs-lib Makes the following work ofborg build tests.pkgs-lib --- pkgs/test/default.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pkgs/test/default.nix b/pkgs/test/default.nix index 4110327946d9..0e1b9c2ac7a0 100644 --- a/pkgs/test/default.nix +++ b/pkgs/test/default.nix @@ -69,4 +69,6 @@ with pkgs; dhall = callPackage ./dhall { }; makeWrapper = callPackage ./make-wrapper {}; + + pkgs-lib = recurseIntoAttrs (import ../pkgs-lib/tests { inherit pkgs; }); } From 4f8e44394cb5afdef302618d3b2a75ad4291c71f Mon Sep 17 00:00:00 2001 From: Robert Hensing Date: Mon, 28 Mar 2022 08:51:09 +0200 Subject: [PATCH 146/203] formats.javaProperties: init --- pkgs/pkgs-lib/formats.nix | 3 + .../formats/java-properties/default.nix | 85 +++++++++++++++++++ .../formats/java-properties/test/Main.java | 27 ++++++ .../formats/java-properties/test/default.nix | 85 +++++++++++++++++++ pkgs/pkgs-lib/tests/default.nix | 48 +++++++++-- pkgs/pkgs-lib/tests/formats.nix | 17 ++++ 6 files changed, 260 insertions(+), 5 deletions(-) create mode 100644 pkgs/pkgs-lib/formats/java-properties/default.nix create mode 100644 pkgs/pkgs-lib/formats/java-properties/test/Main.java create mode 100644 pkgs/pkgs-lib/formats/java-properties/test/default.nix diff --git a/pkgs/pkgs-lib/formats.nix b/pkgs/pkgs-lib/formats.nix index 495a7094f9b4..6495b024b008 100644 --- a/pkgs/pkgs-lib/formats.nix +++ b/pkgs/pkgs-lib/formats.nix @@ -31,6 +31,9 @@ rec { */ + inherit (import ./formats/java-properties/default.nix { inherit lib pkgs; }) + javaProperties; + json = {}: { type = with lib.types; let diff --git a/pkgs/pkgs-lib/formats/java-properties/default.nix b/pkgs/pkgs-lib/formats/java-properties/default.nix new file mode 100644 index 000000000000..e4f42a61f5c8 --- /dev/null +++ b/pkgs/pkgs-lib/formats/java-properties/default.nix @@ -0,0 +1,85 @@ +{ lib, pkgs }: +{ + javaProperties = {}: { + type = lib.types.attrsOf lib.types.str; + + generate = name: value: + pkgs.runCommandLocal name + { + # Requirements + # ============ + # + # 1. Strings in Nix carry over to the same + # strings in Java => need proper escapes + # 2. Generate files quickly + # - A JVM would have to match the app's + # JVM to avoid build closure bloat + # - Even then, JVM startup would slow + # down config generation. + # + # + # Implementation + # ============== + # + # Escaping has two steps + # + # 1. jq + # Escape known separators, in order not + # to break up the keys and values. + # This handles typical whitespace correctly, + # but may produce garbage for other control + # characters. + # + # 2. iconv + # Escape >ascii code points to java escapes, + # as .properties files are supposed to be + # encoded in ISO 8859-1. It's an old format. + # UTF-8 behavior may exist in some apps and + # libraries, but we can't rely on this in + # general. + + passAsFile = [ "value" ]; + value = builtins.toJSON value; + nativeBuildInputs = [ + pkgs.jq + pkgs.libiconvReal + ]; + + jqCode = + let + main = '' + to_entries + | .[] + | "\( + .key + | ${commonEscapes} + | gsub(" "; "\\ ") + | gsub("="; "\\=") + ) = \( + .value + | ${commonEscapes} + | gsub("^ "; "\\ ") + | gsub("\\n "; "\n\\ ") + )" + ''; + # Most escapes are equal for both keys and values. + commonEscapes = '' + gsub("\\\\"; "\\\\") + | gsub("\\n"; "\\n\\\n") + | gsub("#"; "\\#") + | gsub("!"; "\\!") + | gsub("\\t"; "\\t") + | gsub("\r"; "\\r") + ''; + in + main; + + inputEncoding = "UTF-8"; + + } '' + jq -r --arg hash '#' "$jqCode" "$valuePath" \ + | iconv --from-code "$inputEncoding" --to-code JAVA \ + > "$out" + ''; + }; +} diff --git a/pkgs/pkgs-lib/formats/java-properties/test/Main.java b/pkgs/pkgs-lib/formats/java-properties/test/Main.java new file mode 100644 index 000000000000..dc83944f24b0 --- /dev/null +++ b/pkgs/pkgs-lib/formats/java-properties/test/Main.java @@ -0,0 +1,27 @@ +import java.io.FileInputStream; +import java.io.InputStream; +import java.util.Properties; +import java.util.SortedSet; +import java.util.TreeSet; + +class Main { + public static void main (String args[]) { + try { + InputStream input = new FileInputStream(args[0]); + Properties prop = new Properties(); + prop.load(input); + SortedSet keySet = new TreeSet(prop.keySet()); + for (String key : keySet) { + System.out.println("KEY"); + System.out.println(key); + System.out.println("VALUE"); + System.out.println(prop.get(key)); + System.out.println(""); + } + } catch (Exception e) { + e.printStackTrace(); + System.err.println(e.toString()); + System.exit(1); + } + } +} diff --git a/pkgs/pkgs-lib/formats/java-properties/test/default.nix b/pkgs/pkgs-lib/formats/java-properties/test/default.nix new file mode 100644 index 000000000000..4b3845c10296 --- /dev/null +++ b/pkgs/pkgs-lib/formats/java-properties/test/default.nix @@ -0,0 +1,85 @@ +{ fetchurl +, formats +, glibcLocales +, jdk +, lib +, stdenv +}: +let + inherit (lib) concatStrings attrValues mapAttrs; + + javaProperties = formats.javaProperties { }; + + input = { + foo = "bar"; + "empty value" = ""; + "typical.dot.syntax" = "com.sun.awt"; + "" = "empty key's value"; + "1" = "2 3"; + "#" = "not a comment # still not"; + "!" = "not a comment!"; + "!a" = "still not! a comment"; + "!b" = "still not ! a comment"; + "dos paths" = "C:\\Program Files\\Nix For Windows\\nix.exe"; + "a \t\nb" = " c"; + "angry \t\nkey" = '' + multi + ${"\tline\r"} + space- + indented + trailing-space${" "} + trailing-space${" "} + value + ''; + "this=not" = "bad"; + "nor = this" = "bad"; + "all stuff" = "foo = bar"; + "unicode big brain" = "e = mc□"; + "ütf-8" = "dûh"; + # NB: Some editors (vscode) show this _whole_ line in right-to-left order + "الجبر" = "أكثر من مجرد أرقام"; + }; + +in +stdenv.mkDerivation { + name = "pkgs.formats.javaProperties-test-${jdk.name}"; + nativeBuildInputs = [ + jdk + glibcLocales + ]; + + # technically should go through the type.merge first, but that's tested + # in tests/formats.nix. + properties = javaProperties.generate "example.properties" input; + + # Expected output as printed by Main.java + passAsFile = [ "expected" ]; + expected = concatStrings (attrValues ( + mapAttrs + (key: value: + '' + KEY + ${key} + VALUE + ${value} + + '' + ) + input + )); + + src = lib.sourceByRegex ./. [ + ".*\.java" + ]; + LANG = "C.UTF-8"; + buildPhase = '' + javac Main.java + ''; + doCheck = true; + checkPhase = '' + cat -v $properties + java Main $properties >actual + diff -U3 $expectedPath actual + ''; + installPhase = "touch $out"; +} diff --git a/pkgs/pkgs-lib/tests/default.nix b/pkgs/pkgs-lib/tests/default.nix index f3549ea9b0f2..ae91e15aa9ef 100644 --- a/pkgs/pkgs-lib/tests/default.nix +++ b/pkgs/pkgs-lib/tests/default.nix @@ -1,7 +1,45 @@ # Call nix-build on this file to run all tests in this directory -{ pkgs ? import ../../.. {} }: + +# This produces a link farm derivation with the original attrs +# merged on top of it. +# You can run parts of the "hierarchy" with for example: +# nix-build -A java-properties +# See `structured` below. + +{ pkgs ? import ../../.. { } }: let - formats = import ./formats.nix { inherit pkgs; }; -in pkgs.linkFarm "nixpkgs-pkgs-lib-tests" [ - { name = "formats"; path = import ./formats.nix { inherit pkgs; }; } -] + inherit (pkgs.lib) mapAttrs mapAttrsToList isDerivation mergeAttrs foldl' attrValues recurseIntoAttrs; + + structured = { + formats = import ./formats.nix { inherit pkgs; }; + java-properties = recurseIntoAttrs { + jdk8 = pkgs.callPackage ../formats/java-properties/test { jdk = pkgs.jdk8; }; + jdk11 = pkgs.callPackage ../formats/java-properties/test { jdk = pkgs.jdk11_headless; }; + jdk17 = pkgs.callPackage ../formats/java-properties/test { jdk = pkgs.jdk17_headless; }; + }; + }; + + flatten = prefix: as: + foldl' + mergeAttrs + { } + (attrValues + (mapAttrs + (k: v: + if isDerivation v + then { "${prefix}${k}" = v; } + else if v?recurseForDerivations + then flatten "${prefix}${k}-" (removeAttrs v [ "recurseForDerivations" ]) + else builtins.trace v throw "expected derivation or recurseIntoAttrs") + as + ) + ); +in + +# It has to be a link farm for inclusion in the hydra unstable jobset. +pkgs.linkFarm "pkgs-lib-formats-tests" + (mapAttrsToList + (k: v: { name = k; path = v; }) + (flatten "" structured) + ) +// structured diff --git a/pkgs/pkgs-lib/tests/formats.nix b/pkgs/pkgs-lib/tests/formats.nix index 2bc4e407fe75..71b4a3946a34 100644 --- a/pkgs/pkgs-lib/tests/formats.nix +++ b/pkgs/pkgs-lib/tests/formats.nix @@ -168,4 +168,21 @@ in runBuildTests { level4 = "deep" ''; }; + + # See also java-properties/default.nix for more complete tests + testJavaProperties = { + drv = evalFormat formats.javaProperties {} { + foo = "bar"; + "1" = "2"; + "ütf 8" = "dûh"; + # NB: Some editors (vscode) show this _whole_ line in right-to-left order + "الجبر" = "أكثر من مجرد أرقام"; + }; + expected = '' + 1 = 2 + foo = bar + \u00fctf\ 8 = d\u00fbh + \u0627\u0644\u062c\u0628\u0631 = \u0623\u0643\u062b\u0631 \u0645\u0646 \u0645\u062c\u0631\u062f \u0623\u0631\u0642\u0627\u0645 + ''; + }; } From 9a0739cbe2b3b56dbc923a36f4e204afba917641 Mon Sep 17 00:00:00 2001 From: Robert Hensing Date: Mon, 28 Mar 2022 09:23:25 +0200 Subject: [PATCH 147/203] formats.javaProperties: Add comment --- pkgs/pkgs-lib/formats/java-properties/default.nix | 13 +++++++++---- pkgs/pkgs-lib/tests/formats.nix | 2 ++ 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/pkgs/pkgs-lib/formats/java-properties/default.nix b/pkgs/pkgs-lib/formats/java-properties/default.nix index e4f42a61f5c8..b63b96d32769 100644 --- a/pkgs/pkgs-lib/formats/java-properties/default.nix +++ b/pkgs/pkgs-lib/formats/java-properties/default.nix @@ -1,6 +1,6 @@ { lib, pkgs }: { - javaProperties = {}: { + javaProperties = { comment ? "Generated with Nix" }: { type = lib.types.attrsOf lib.types.str; generate = name: value: @@ -76,10 +76,15 @@ inputEncoding = "UTF-8"; + inherit comment; + } '' - jq -r --arg hash '#' "$jqCode" "$valuePath" \ - | iconv --from-code "$inputEncoding" --to-code JAVA \ - > "$out" + ( + echo "$comment" | while read -r ln; do echo "# $ln"; done + echo + jq -r --arg hash '#' "$jqCode" "$valuePath" \ + | iconv --from-code "$inputEncoding" --to-code JAVA \ + ) > "$out" ''; }; } diff --git a/pkgs/pkgs-lib/tests/formats.nix b/pkgs/pkgs-lib/tests/formats.nix index 71b4a3946a34..1efe9d8686b1 100644 --- a/pkgs/pkgs-lib/tests/formats.nix +++ b/pkgs/pkgs-lib/tests/formats.nix @@ -179,6 +179,8 @@ in runBuildTests { "الجبر" = "أكثر من مجرد أرقام"; }; expected = '' + # Generated with Nix + 1 = 2 foo = bar \u00fctf\ 8 = d\u00fbh From 28a227a89093d425d93d9b7d373af0634e77a534 Mon Sep 17 00:00:00 2001 From: Robert Hensing Date: Thu, 31 Mar 2022 11:52:12 +0200 Subject: [PATCH 148/203] formats.javaProperties: Add documentation --- .../development/settings-options.section.md | 14 ++++++++ .../development/settings-options.section.xml | 32 +++++++++++++++++++ 2 files changed, 46 insertions(+) diff --git a/nixos/doc/manual/development/settings-options.section.md b/nixos/doc/manual/development/settings-options.section.md index f9bb6ff9cc41..d569e23adbdc 100644 --- a/nixos/doc/manual/development/settings-options.section.md +++ b/nixos/doc/manual/development/settings-options.section.md @@ -32,6 +32,20 @@ type of this option should represent the format. The most common formats have a predefined type and string generator already declared under `pkgs.formats`: +`pkgs.formats.javaProperties` { *`comment`* ? `"Generated with Nix"` } + +: A function taking an attribute set with values + + `comment` + + : A string to put at the start of the + file in a comment. It can have multiple + lines. + + It returns the `type`: `attrsOf str` and a function + `generate` to build a Java `.properties` file, taking + care of the correct escaping, etc. + `pkgs.formats.json` { } : A function taking an empty attribute set (for future extensibility) diff --git a/nixos/doc/manual/from_md/development/settings-options.section.xml b/nixos/doc/manual/from_md/development/settings-options.section.xml index 746011a2d075..d26dd96243db 100644 --- a/nixos/doc/manual/from_md/development/settings-options.section.xml +++ b/nixos/doc/manual/from_md/development/settings-options.section.xml @@ -53,6 +53,38 @@ pkgs.formats: + + + pkgs.formats.javaProperties { + comment ? + "Generated with Nix" } + + + + A function taking an attribute set with values + + + + + comment + + + + A string to put at the start of the file in a comment. + It can have multiple lines. + + + + + + It returns the type: + attrsOf str and a function + generate to build a Java + .properties file, taking care of the + correct escaping, etc. + + + pkgs.formats.json { } From cf6af1933b898c30d820b10c753ac6488a939e55 Mon Sep 17 00:00:00 2001 From: "P. R. d. O" Date: Fri, 1 Apr 2022 07:23:45 -0600 Subject: [PATCH 149/203] nixos/sslmate-agent: add to module-list --- nixos/modules/module-list.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix index a9ed8f251283..c4958c36ea00 100644 --- a/nixos/modules/module-list.nix +++ b/nixos/modules/module-list.nix @@ -977,6 +977,7 @@ ./services/security/shibboleth-sp.nix ./services/security/sks.nix ./services/security/sshguard.nix + ./services/security/sslmate-agent.nix ./services/security/step-ca.nix ./services/security/tor.nix ./services/security/torify.nix From c565ea4bb01f11b69f531c42382ad8ecf0d049a8 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 1 Apr 2022 13:30:45 +0000 Subject: [PATCH 150/203] clojure-lsp: 2022.03.26-18.47.08 -> 2022.03.31-20.00.20 --- pkgs/development/tools/misc/clojure-lsp/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/development/tools/misc/clojure-lsp/default.nix b/pkgs/development/tools/misc/clojure-lsp/default.nix index 4d39387991b1..307bcd273a40 100644 --- a/pkgs/development/tools/misc/clojure-lsp/default.nix +++ b/pkgs/development/tools/misc/clojure-lsp/default.nix @@ -2,18 +2,18 @@ buildGraalvmNativeImage rec { pname = "clojure-lsp"; - version = "2022.03.26-18.47.08"; + version = "2022.03.31-20.00.20"; src = fetchFromGitHub { owner = pname; repo = pname; rev = version; - sha256 = "sha256-tlI4h9/DTc3JwqCM58YC5x4FDpuPm7Qeik3PJe64nVA="; + sha256 = "sha256-UQA/BXf6hTTxZ504e1faPdS8mKYS8WrY5L/zgaGCxpU="; }; jar = fetchurl { url = "https://github.com/clojure-lsp/clojure-lsp/releases/download/${version}/clojure-lsp-standalone.jar"; - sha256 = "4973f5cf45f0b8120206d057d88d6a7fca03e071c8ad1ecd7229db46a0604ed2"; + sha256 = "e66689326c39ae74f0e8d9f5a8229c7ebebe010849870a47faf88e81cbaa37e0"; }; extraNativeImageBuildArgs = [ From ae2990ca1b00bdaf2b1847ef286f6b3b9a4e6cd0 Mon Sep 17 00:00:00 2001 From: teutat3s <10206665+teutat3s@users.noreply.github.com> Date: Fri, 1 Apr 2022 16:03:21 +0200 Subject: [PATCH 151/203] electron: mark versions <= 14 as EOL --- pkgs/development/tools/electron/generic.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/development/tools/electron/generic.nix b/pkgs/development/tools/electron/generic.nix index 08edf8a30927..7fefe186c108 100644 --- a/pkgs/development/tools/electron/generic.nix +++ b/pkgs/development/tools/electron/generic.nix @@ -29,7 +29,7 @@ let maintainers = with maintainers; [ travisbhartwell manveru prusnak ]; platforms = [ "x86_64-darwin" "x86_64-linux" "i686-linux" "armv7l-linux" "aarch64-linux" ] ++ optionals (versionAtLeast version "11.0.0") [ "aarch64-darwin" ]; - knownVulnerabilities = optional (versionOlder version "14.0.0") "Electron version ${version} is EOL"; + knownVulnerabilities = optional (versionOlder version "15.0.0") "Electron version ${version} is EOL"; }; fetcher = vers: tag: hash: fetchurl { From 2fd61c2d0847928c3805dae11322c7426b56c6d6 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 1 Apr 2022 14:12:33 +0000 Subject: [PATCH 152/203] difftastic: 0.24.0 -> 0.25.0 --- pkgs/tools/text/difftastic/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/tools/text/difftastic/default.nix b/pkgs/tools/text/difftastic/default.nix index 18fd01165e83..17c1a33d8c89 100644 --- a/pkgs/tools/text/difftastic/default.nix +++ b/pkgs/tools/text/difftastic/default.nix @@ -2,16 +2,16 @@ rustPlatform.buildRustPackage rec { pname = "difftastic"; - version = "0.24.0"; + version = "0.25.0"; src = fetchFromGitHub { owner = "wilfred"; repo = pname; rev = version; - sha256 = "sha256-Yp0WwzGo8nuRZuiHdUPxPM1SYBeeVA3SMDfHnQmqUqY="; + sha256 = "sha256-TJMMy1fMwqUMVhztMOlN4yQhW5IF36yahOhDTJ9kadA="; }; - cargoSha256 = "sha256-m80PT2UQYhA5KEh7ax/fhh6vuse0DXhbFsh2x4pwkWY="; + cargoSha256 = "sha256-crH2SodT+Wy3auk3uli253rIrHyKsibQcYGtpxwbJJQ="; meta = with lib; { description = "A syntax-aware diff"; From d4b4878c212ac5e28c1e9f85950479d16c754e9a Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 1 Apr 2022 14:33:05 +0000 Subject: [PATCH 153/203] python310Packages.param: 1.12.0 -> 1.12.1 --- pkgs/development/python-modules/param/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/param/default.nix b/pkgs/development/python-modules/param/default.nix index 23c9bc9c3933..701c9db7962a 100644 --- a/pkgs/development/python-modules/param/default.nix +++ b/pkgs/development/python-modules/param/default.nix @@ -6,13 +6,13 @@ buildPythonPackage rec { pname = "param"; - version = "1.12.0"; + version = "1.12.1"; src = fetchFromGitHub { owner = "holoviz"; repo = pname; rev = "v${version}"; - sha256 = "02zmd4bwyn8b4q1l9jgddc70ii1i7bmynacanl1cvbr6la4v9b2c"; + sha256 = "sha256-MehTz0qCpWe/11PZ5jmFxHE54TA+QX2KfqvKB8L79V4="; }; checkInputs = [ From 2d53cad9d1457b02c71333ff0a3a364992c1404b Mon Sep 17 00:00:00 2001 From: Cole Helbling Date: Fri, 28 Jan 2022 08:44:01 -0800 Subject: [PATCH 154/203] mullvad: init at 2022.1 This package includes the CLI binaries for mullvad, but does not attempt to build the GUI. This allows it to be (more) cross-platform than the mullvad-vpn package, which depends on a tool that is unavailable for e.g. ARM platforms. --- .../networking/mullvad/default.nix | 7 ++ .../applications/networking/mullvad/libwg.nix | 35 +++++++ .../networking/mullvad/mullvad.nix | 97 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 3 + 4 files changed, 142 insertions(+) create mode 100644 pkgs/applications/networking/mullvad/default.nix create mode 100644 pkgs/applications/networking/mullvad/libwg.nix create mode 100644 pkgs/applications/networking/mullvad/mullvad.nix diff --git a/pkgs/applications/networking/mullvad/default.nix b/pkgs/applications/networking/mullvad/default.nix new file mode 100644 index 000000000000..81eedb0d597b --- /dev/null +++ b/pkgs/applications/networking/mullvad/default.nix @@ -0,0 +1,7 @@ +{ lib +, newScope +}: +lib.makeScope newScope (self: { + libwg = self.callPackage ./libwg.nix { }; + mullvad = self.callPackage ./mullvad.nix { }; +}) diff --git a/pkgs/applications/networking/mullvad/libwg.nix b/pkgs/applications/networking/mullvad/libwg.nix new file mode 100644 index 000000000000..d54a2cafe8c0 --- /dev/null +++ b/pkgs/applications/networking/mullvad/libwg.nix @@ -0,0 +1,35 @@ +{ lib +, buildGoModule +, fetchFromGitHub +, mullvad +}: +buildGoModule { + pname = "libwg"; + + inherit (mullvad) + version + src + ; + + sourceRoot = "source/wireguard/libwg"; + + vendorSha256 = "qvymWCdJ+GY90W/Fpdp+r1+mTq6O4LyN2Yw/PjKdFm0="; + + # XXX: hack to make the ar archive go to the correct place + # This is necessary because passing `-o ...` to `ldflags` does not work + # (this doesn't get communicated everywhere in the chain, apparently, so + # `go` complains that it can't find an `a.out` file). + GOBIN = "${placeholder "out"}/lib"; + ldflags = [ "-s" "-w" "-buildmode=c-archive" ]; + + postInstall = '' + mv $out/lib/libwg{,.a} + ''; + + meta = with lib; { + description = "A tiny wrapper around wireguard-go"; + homepage = "https://github.com/mullvad/mullvadvpn-app/tree/master/wireguard/libwg"; + license = licenses.gpl3Only; + maintainers = with maintainers; [ cole-h ]; + }; +} diff --git a/pkgs/applications/networking/mullvad/mullvad.nix b/pkgs/applications/networking/mullvad/mullvad.nix new file mode 100644 index 000000000000..526f39866457 --- /dev/null +++ b/pkgs/applications/networking/mullvad/mullvad.nix @@ -0,0 +1,97 @@ +{ lib +, stdenv +, writeText +, rustPlatform +, fetchFromGitHub +, pkg-config +, protobuf +, makeWrapper +, dbus +, libnftnl +, libmnl +, libwg +}: +let + # result of running address_cache as of 02 Mar 2022 + bootstrap-address-cache = writeText "api-ip-address.txt" '' + 193.138.218.78:443 + 193.138.218.71:444 + 185.65.134.66:444 + 185.65.135.117:444 + 217.138.254.130:444 + 91.90.44.10:444 + ''; +in +rustPlatform.buildRustPackage rec { + pname = "mullvad"; + version = "2022.1"; + + src = fetchFromGitHub { + owner = "mullvad"; + repo = "mullvadvpn-app"; + rev = version; + hash = "sha256-bLwuM3Qy2iStbXIvDEWp31vuiihSQThOej297XKo5Xc="; + }; + + cargoHash = "sha256-CBbm8cJHTjyvvzCFQfKmsE5d9N7azEm8nI6KeWLVaa8="; + + nativeBuildInputs = [ + pkg-config + protobuf + makeWrapper + ]; + + buildInputs = [ + dbus.dev + libnftnl + libmnl + ]; + + # talpid-core wants libwg.a in build/lib/{triple} + preBuild = '' + dest=build/lib/${stdenv.targetPlatform.config} + mkdir -p $dest + ln -s ${libwg}/lib/libwg.a $dest + ''; + + postFixup = + # Place all binaries in the 'mullvad-' namespace, even though these + # specific binaries aren't used in the lifetime of the program. + # `address_cache` is used to generate the `api-ip-address.txt` file, which + # contains list of Mullvad API servers -- though we provide a "backup" of + # the output of this command, it could change at any time, so we want + # users to be able to regenerate the list at any time. (The daemon will + # refuse to start without this file.) + '' + for bin in address_cache relay_list translations-converter; do + mv "$out/bin/$bin" "$out/bin/mullvad-$bin" + done + '' + + # Put distributed assets in-place -- specifically, the + # bootstrap-address-cache is necessary; otherwise, the user will have to run + # the `address_cache` binary and move the contents into place at + # `/var/cache/mullvad-vpn/api-ip-address.txt` manually. `ca.crt` is + # necessary for OpenVPN tunnels to work. + # XXX: Use of OpenVPN requires their fork of OpenVPN, which can be found at + # https://github.com/mullvad/openvpn/tree/mullvad-patches/ + '' + mkdir -p $out/share + ln -s ${bootstrap-address-cache} $out/share/api-ip-address.txt + cp dist-assets/ca.crt $out/share + '' + + # Set the directory where Mullvad will look for its resources by default to + # `$out/share`, so that we can avoid putting the files in `$out/bin` -- + # Mullvad defaults to looking inside the directory its binary is located in + # for its resources. + '' + wrapProgram $out/bin/mullvad-daemon \ + --set-default MULLVAD_RESOURCE_DIR "$out/share/mullvad" + ''; + + meta = with lib; { + description = "Mullvad VPN command-line client tools"; + homepage = "https://github.com/mullvad/mullvadvpn-app"; + license = licenses.gpl3Only; + maintainers = with maintainers; [ cole-h ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index d6064543e4bc..6e45c15b232d 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -21651,6 +21651,9 @@ with pkgs; morty = callPackage ../servers/web-apps/morty { }; + inherit (callPackage ../applications/networking/mullvad { }) + mullvad; + mullvad-vpn = callPackage ../applications/networking/mullvad-vpn { }; mycorrhiza = callPackage ../servers/mycorrhiza { From a9c901daadd2bccf5f5ede7e4106995ba2f2237c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sandro=20J=C3=A4ckel?= Date: Sat, 26 Mar 2022 13:55:54 +0100 Subject: [PATCH 155/203] mullvad.openvpn-wireguard: init at 2.5.3 --- .../networking/mullvad/default.nix | 1 + .../networking/mullvad/mullvad.nix | 3 + .../networking/mullvad/openvpn.nix | 87 +++++++++++++++++++ 3 files changed, 91 insertions(+) create mode 100644 pkgs/applications/networking/mullvad/openvpn.nix diff --git a/pkgs/applications/networking/mullvad/default.nix b/pkgs/applications/networking/mullvad/default.nix index 81eedb0d597b..7b4bcf9d61b2 100644 --- a/pkgs/applications/networking/mullvad/default.nix +++ b/pkgs/applications/networking/mullvad/default.nix @@ -4,4 +4,5 @@ lib.makeScope newScope (self: { libwg = self.callPackage ./libwg.nix { }; mullvad = self.callPackage ./mullvad.nix { }; + openvpn-mullvad = self.callPackage ./openvpn.nix { }; }) diff --git a/pkgs/applications/networking/mullvad/mullvad.nix b/pkgs/applications/networking/mullvad/mullvad.nix index 526f39866457..6fe37da270c7 100644 --- a/pkgs/applications/networking/mullvad/mullvad.nix +++ b/pkgs/applications/networking/mullvad/mullvad.nix @@ -10,6 +10,7 @@ , libnftnl , libmnl , libwg +, openvpn-mullvad }: let # result of running address_cache as of 02 Mar 2022 @@ -88,6 +89,8 @@ rustPlatform.buildRustPackage rec { --set-default MULLVAD_RESOURCE_DIR "$out/share/mullvad" ''; + passthru = { inherit openvpn-mullvad; }; + meta = with lib; { description = "Mullvad VPN command-line client tools"; homepage = "https://github.com/mullvad/mullvadvpn-app"; diff --git a/pkgs/applications/networking/mullvad/openvpn.nix b/pkgs/applications/networking/mullvad/openvpn.nix new file mode 100644 index 000000000000..b191c31d39ac --- /dev/null +++ b/pkgs/applications/networking/mullvad/openvpn.nix @@ -0,0 +1,87 @@ +{ lib +, openvpn +, fetchpatch +, fetchurl +, iproute2 +, autoconf +, automake +}: + +openvpn.overrideAttrs (oldAttrs: + let + fetchMullvadPatch = { commit, sha256 }: fetchpatch { + url = "https://github.com/mullvad/openvpn/commit/${commit}.patch"; + inherit sha256; + }; + in + rec { + pname = "openvpn-mullvad"; + version = "2.5.3"; + + src = fetchurl { + url = "https://swupdate.openvpn.net/community/releases/openvpn-${version}.tar.gz"; + sha256 = "sha256-dfAETfRJQwVVynuZWit3qyTylG/cNmgwG47cI5hqX34="; + }; + + buildInputs = oldAttrs.buildInputs or [ ] ++ [ + iproute2 + ]; + + configureFlags = oldAttrs.configureFlags or [ ] ++ [ + "--enable-iproute2" + "IPROUTE=${iproute2}/sbin/ip" + ]; + + nativeBuildInputs = oldAttrs.nativeBuildInputs or [ ] ++ [ + autoconf + automake + ]; + + patches = oldAttrs.patches or [ ] ++ [ + # look at compare to find the relevant commits + # https://github.com/OpenVPN/openvpn/compare/release/2.5...mullvad:mullvad-patches + # used openvpn version is the latest tag ending with -mullvad + # https://github.com/mullvad/openvpn/tags + (fetchMullvadPatch { + # "Reduce PUSH_REQUEST_INTERVAL to one second" + commit = "41e44158fc71bb6cc8cc6edb6ada3307765a12e8"; + sha256 = "sha256-UoH0V6gTPdEuybFkWxdaB4zomt7rZeEUyXs9hVPbLb4="; + }) + (fetchMullvadPatch { + # "Allow auth plugins to set a failure reason" + commit = "f51781c601e8c72ae107deaf25bf66f7c193e9cd"; + sha256 = "sha256-+kwG0YElL16T0e+avHlI8gNQdAxneRS6fylv7QXvC1s="; + }) + (fetchMullvadPatch { + # "Send an event to any plugins when authentication fails" + commit = "c2f810f966f2ffd68564d940b5b8946ea6007d5a"; + sha256 = "sha256-PsKIxYwpLD66YaIpntXJM8OGcObyWBSAJsQ60ojvj30="; + }) + (fetchMullvadPatch { + # "Shutdown when STDIN is closed" + commit = "879d6a3c0288b5443bbe1b94261655c329fc2e0e"; + sha256 = "sha256-pRFY4r+b91/xAKXx6u5GLzouQySXuO5gH0kMGm77a3c="; + }) + (fetchMullvadPatch { + # "Update TAP hardware ID" + commit = "7f71b37a3b25bec0b33a0e29780c222aef869e9d"; + sha256 = "sha256-RF/GvD/ZvhLdt34wDdUT/yxa+IVWx0eY6WRdNWXxXeQ="; + }) + (fetchMullvadPatch { + # "Undo dependency on Python docutils" + commit = "abd3c6214529d9f4143cc92dd874d8743abea17c"; + sha256 = "sha256-SC2RlpWHUDMAEKap1t60dC4hmalk3vok6xY+/xhC2U0="; + }) + (fetchMullvadPatch { + # "Prevent signal when stdin is closed from being cleared (#10)" + commit = "b45b090c81e7b4f2dc938642af7a1e12f699f5c5"; + sha256 = "sha256-KPTFmbuJhMI+AvaRuu30CPPLQAXiE/VApxlUCqbZFls="; + }) + ]; + + meta = oldAttrs.meta or { } // { + description = "OpenVPN with Mullvad-specific patches applied"; + homepage = "https://github.com/mullvad/openvpn"; + maintainers = with lib; [ maintainers.cole-h ]; + }; + }) From 1fc220f69cdcb252b4f0f39b123d59951dc823d4 Mon Sep 17 00:00:00 2001 From: Cole Helbling Date: Sat, 26 Mar 2022 12:05:21 -0700 Subject: [PATCH 156/203] mullvad: fix openvpn support Also expose `libwg` through `passthru` in the same way as `openvpn-wireguard`. --- .../networking/mullvad/mullvad.nix | 23 ++++++++++++------- 1 file changed, 15 insertions(+), 8 deletions(-) diff --git a/pkgs/applications/networking/mullvad/mullvad.nix b/pkgs/applications/networking/mullvad/mullvad.nix index 6fe37da270c7..801e8602cc95 100644 --- a/pkgs/applications/networking/mullvad/mullvad.nix +++ b/pkgs/applications/networking/mullvad/mullvad.nix @@ -11,6 +11,7 @@ , libmnl , libwg , openvpn-mullvad +, shadowsocks-rust }: let # result of running address_cache as of 02 Mar 2022 @@ -71,14 +72,17 @@ rustPlatform.buildRustPackage rec { # Put distributed assets in-place -- specifically, the # bootstrap-address-cache is necessary; otherwise, the user will have to run # the `address_cache` binary and move the contents into place at - # `/var/cache/mullvad-vpn/api-ip-address.txt` manually. `ca.crt` is - # necessary for OpenVPN tunnels to work. - # XXX: Use of OpenVPN requires their fork of OpenVPN, which can be found at - # https://github.com/mullvad/openvpn/tree/mullvad-patches/ + # `/var/cache/mullvad-vpn/api-ip-address.txt` manually. '' - mkdir -p $out/share - ln -s ${bootstrap-address-cache} $out/share/api-ip-address.txt - cp dist-assets/ca.crt $out/share + mkdir -p $out/share/mullvad + ln -s ${bootstrap-address-cache} $out/share/mullvad/api-ip-address.txt + '' + + # Files necessary for OpenVPN tunnels to work. + '' + cp dist-assets/ca.crt $out/share/mullvad + ln -s ${openvpn-mullvad}/bin/openvpn $out/share/mullvad + ln -s ${shadowsocks-rust}/bin/sslocal $out/share/mullvad + ln -s $out/lib/libtalpid_openvpn_plugin.so $out/share/mullvad '' + # Set the directory where Mullvad will look for its resources by default to # `$out/share`, so that we can avoid putting the files in `$out/bin` -- @@ -89,7 +93,10 @@ rustPlatform.buildRustPackage rec { --set-default MULLVAD_RESOURCE_DIR "$out/share/mullvad" ''; - passthru = { inherit openvpn-mullvad; }; + passthru = { + inherit libwg; + inherit openvpn-mullvad; + }; meta = with lib; { description = "Mullvad VPN command-line client tools"; From 8eaa45b887abf7b22d3be3c2dd0585322d2cdc43 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 1 Apr 2022 15:11:50 +0000 Subject: [PATCH 157/203] python310Packages.pontos: 22.2.4 -> 22.4.0 --- pkgs/development/python-modules/pontos/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/pontos/default.nix b/pkgs/development/python-modules/pontos/default.nix index d36c5d7e7ae3..0ea1be9c21f0 100644 --- a/pkgs/development/python-modules/pontos/default.nix +++ b/pkgs/development/python-modules/pontos/default.nix @@ -13,7 +13,7 @@ buildPythonPackage rec { pname = "pontos"; - version = "22.2.4"; + version = "22.4.0"; format = "pyproject"; disabled = pythonOlder "3.7"; @@ -22,7 +22,7 @@ buildPythonPackage rec { owner = "greenbone"; repo = pname; rev = "v${version}"; - hash = "sha256-RmMlwnAJlCTDnTyim0MdAeW3NA8r2IiqrE0YeWgxUk4="; + hash = "sha256-W+l5QIpum1uTsx/mxZGkRoJAZaC1viURVYg4Kvjv32Y="; }; nativeBuildInputs = [ From 0a18263a1883a11aeb279042f5603f0c5edd5d4c Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 1 Apr 2022 16:17:07 +0000 Subject: [PATCH 158/203] earthly: 0.6.12 -> 0.6.13 --- pkgs/development/tools/earthly/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/development/tools/earthly/default.nix b/pkgs/development/tools/earthly/default.nix index 377d287e531e..86805daf1c73 100644 --- a/pkgs/development/tools/earthly/default.nix +++ b/pkgs/development/tools/earthly/default.nix @@ -2,16 +2,16 @@ buildGoModule rec { pname = "earthly"; - version = "0.6.12"; + version = "0.6.13"; src = fetchFromGitHub { owner = "earthly"; repo = "earthly"; rev = "v${version}"; - sha256 = "sha256-M8DnSpQhW4i83cu9wp0ZKyP7137IQVjyBl0cgVvQmPI="; + sha256 = "sha256-xOsLFFa6OsfdXOjYZBV71gafaAAX9PfMokppMKJzlZg="; }; - vendorSha256 = "sha256-GvTWj0uEsCyC4/RL6woym8UwA3OCFx8NWkNQApnVMM8="; + vendorSha256 = "sha256-2bOaJdK12qGjjVtoBp3LeSyIiFwm4ZvxNI5yR0HriXI="; ldflags = [ "-s" "-w" From 49f75b1483bfc56a690c9a740a0879022c851ce3 Mon Sep 17 00:00:00 2001 From: Malo Bourgon Date: Thu, 31 Mar 2022 12:44:18 -0700 Subject: [PATCH 159/203] kitty: add patch to fix -stack_size flag issue on darwin --- pkgs/applications/terminal-emulators/kitty/default.nix | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/pkgs/applications/terminal-emulators/kitty/default.nix b/pkgs/applications/terminal-emulators/kitty/default.nix index d06c6d937c11..52e691f98504 100644 --- a/pkgs/applications/terminal-emulators/kitty/default.nix +++ b/pkgs/applications/terminal-emulators/kitty/default.nix @@ -90,6 +90,11 @@ buildPythonApplication rec { url = "https://github.com/kovidgoyal/kitty/commit/d8ed42ae8e014d9abf9550a65ae203468f8bfa43.patch"; sha256 = "sha256-Azgzqf5atW999FVn9rSGKMyZLsI692dYXhJPx07GBO0="; }) + (fetchpatch { + name = "fix-build-with-non-framework-python-on-darwin.patch"; + url = "https://github.com/kovidgoyal/kitty/commit/57cffc71b78244e6a9d49f4c9af24d1a88dbf537.patch"; + sha256 = "sha256-1IGONSVCVo5SmLKw90eqxaI5Mwc764O1ur+aMsc7h94="; + }) ]; # Causes build failure due to warning From 251db5974fde60391671a43ece661464a35feb1d Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 1 Apr 2022 17:43:40 +0000 Subject: [PATCH 160/203] python310Packages.pyoverkiz: 1.3.13 -> 1.3.14 --- pkgs/development/python-modules/pyoverkiz/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/pyoverkiz/default.nix b/pkgs/development/python-modules/pyoverkiz/default.nix index c60b69836c8c..f39b17a67541 100644 --- a/pkgs/development/python-modules/pyoverkiz/default.nix +++ b/pkgs/development/python-modules/pyoverkiz/default.nix @@ -15,7 +15,7 @@ buildPythonPackage rec { pname = "pyoverkiz"; - version = "1.3.13"; + version = "1.3.14"; format = "pyproject"; disabled = pythonOlder "3.7"; @@ -24,7 +24,7 @@ buildPythonPackage rec { owner = "iMicknl"; repo = "python-overkiz-api"; rev = "v${version}"; - hash = "sha256-CkEo8H5S2/nf7jWU51sVN+GCqaL5Kgx77m6669Pr4dU="; + hash = "sha256-dyT2hrTQwYoKEZAVIed2N4259YlR2JmvOEpAuPLCur4="; }; nativeBuildInputs = [ From 5d7dbf1dd8e1706cab5a8377b9b33512a4d0add4 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Fri, 1 Apr 2022 19:52:45 +0200 Subject: [PATCH 161/203] tfsec: 1.15.2 -> 1.15.4 --- pkgs/development/tools/analysis/tfsec/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/tools/analysis/tfsec/default.nix b/pkgs/development/tools/analysis/tfsec/default.nix index bd04f4a2060e..bea9e0985525 100644 --- a/pkgs/development/tools/analysis/tfsec/default.nix +++ b/pkgs/development/tools/analysis/tfsec/default.nix @@ -5,13 +5,13 @@ buildGoModule rec { pname = "tfsec"; - version = "1.15.2"; + version = "1.15.4"; src = fetchFromGitHub { owner = "aquasecurity"; repo = pname; rev = "v${version}"; - sha256 = "sha256-nXrWKKHb64HGHttppBveLp45qKLnGvkElqxn8f/cWok="; + sha256 = "sha256-IYmS3Q2WWkOYISx0jI8yggArk0fhl3WQWrsc+Zfg8gU="; }; ldflags = [ From dd1e0890ad4a08779f54293c088b3d6524a4651d Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 1 Apr 2022 17:58:26 +0000 Subject: [PATCH 162/203] python310Packages.pypugjs: 5.9.10 -> 5.9.11 --- pkgs/development/python-modules/pypugjs/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/pypugjs/default.nix b/pkgs/development/python-modules/pypugjs/default.nix index 9b19c4c8a261..cfc7fbf2ded3 100644 --- a/pkgs/development/python-modules/pypugjs/default.nix +++ b/pkgs/development/python-modules/pypugjs/default.nix @@ -3,11 +3,11 @@ buildPythonPackage rec { pname = "pypugjs"; - version = "5.9.10"; + version = "5.9.11"; src = fetchPypi { inherit pname version; - sha256 = "082dae87d44e184030b66da9ea9bd1a0209f86c089d8f2bd61064b97a7511a28"; + sha256 = "sha256-kStaT1S8cPJF+iDFk/jLGKi3JVOMmtf7PzeYDKCdD0E="; }; propagatedBuildInputs = [ six chardet ]; From d5574652cecd6c460206df1ec3506b1688760672 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Fri, 1 Apr 2022 20:04:52 +0200 Subject: [PATCH 163/203] python3Packages.cdcs: 0.1.6 -> 0.1.8 --- pkgs/development/python-modules/cdcs/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/cdcs/default.nix b/pkgs/development/python-modules/cdcs/default.nix index ec11019cc9a7..748d0ff623fd 100644 --- a/pkgs/development/python-modules/cdcs/default.nix +++ b/pkgs/development/python-modules/cdcs/default.nix @@ -9,7 +9,7 @@ }: buildPythonPackage rec { - version = "0.1.6"; + version = "0.1.8"; pname = "cdcs"; format = "setuptools"; @@ -19,7 +19,7 @@ buildPythonPackage rec { owner = "usnistgov"; repo = "pycdcs"; rev = "v${version}"; - sha256 = "sha256-w9CBNOK9oXTIUa+SsnepRN0wAz7WPZGfUNDSbtVn1L8="; + sha256 = "sha256-s+COE7hus1J5I8PTdagl7KEK5QFoidjQ3ee46kOWmkE="; }; propagatedBuildInputs = [ From ff40604f1334a2a2d6dc468642463b20dd04468a Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Fri, 1 Apr 2022 20:19:39 +0200 Subject: [PATCH 164/203] python3Packages.pycfmodel: 0.17.1 -> 0.18.0 --- pkgs/development/python-modules/pycfmodel/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/pycfmodel/default.nix b/pkgs/development/python-modules/pycfmodel/default.nix index a6a2446da07b..c47362e339e5 100644 --- a/pkgs/development/python-modules/pycfmodel/default.nix +++ b/pkgs/development/python-modules/pycfmodel/default.nix @@ -9,7 +9,7 @@ buildPythonPackage rec { pname = "pycfmodel"; - version = "0.17.1"; + version = "0.18.0"; format = "setuptools"; disabled = pythonOlder "3.7"; @@ -18,7 +18,7 @@ buildPythonPackage rec { owner = "Skyscanner"; repo = pname; rev = version; - hash = "sha256-Rw0sZ2k+tXo04mvlL83hUgdHIND5NIsVH/CzrfmbKlE="; + hash = "sha256-g249Nq4u4pPQLbW9Kw5vLwVKCaZoots5LD6yk1NPv6s="; }; propagatedBuildInputs = [ From 48bb359967c416ff5e4dab96844e2af04ce3c05f Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Fri, 1 Apr 2022 20:19:59 +0200 Subject: [PATCH 165/203] cfripper: 1.7.0 -> 1.7.1 --- pkgs/tools/security/cfripper/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/tools/security/cfripper/default.nix b/pkgs/tools/security/cfripper/default.nix index 96848acd7c04..9d7a30fdc345 100644 --- a/pkgs/tools/security/cfripper/default.nix +++ b/pkgs/tools/security/cfripper/default.nix @@ -5,13 +5,13 @@ python3.pkgs.buildPythonApplication rec { pname = "cfripper"; - version = "1.7.0"; + version = "1.7.1"; src = fetchFromGitHub { owner = "Skyscanner"; repo = pname; rev = version; - hash = "sha256-bYKusyEItnhj1mU6Tucsdi5pdMoWrUK4Y91SK8dNGE4="; + hash = "sha256-Q1J5M6RyYjVi2rkOCThFQdBCxVKkza+wytO67vLlVQg="; }; propagatedBuildInputs = with python3.pkgs; [ From 060c73abb96c2c23a907056aef2999e49b3fc545 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 1 Apr 2022 18:43:56 +0000 Subject: [PATCH 166/203] flyctl: 0.0.308 -> 0.0.310 --- pkgs/development/web/flyctl/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/web/flyctl/default.nix b/pkgs/development/web/flyctl/default.nix index 9fe93bac4420..f70faf37fac9 100644 --- a/pkgs/development/web/flyctl/default.nix +++ b/pkgs/development/web/flyctl/default.nix @@ -2,13 +2,13 @@ buildGoModule rec { pname = "flyctl"; - version = "0.0.308"; + version = "0.0.310"; src = fetchFromGitHub { owner = "superfly"; repo = "flyctl"; rev = "v${version}"; - sha256 = "sha256-Di0egdreY3c6kulcvAl4dFfYpIuMocQzHiFW48kJ6u4="; + sha256 = "sha256-69yyH4og7FGS3+M72YhlrwjatucfGliHYcMpPi1ddjA="; }; preBuild = '' From b9928950fedb96a57f1d1f58ac2b969e6d0eaf6a Mon Sep 17 00:00:00 2001 From: Alex Martens Date: Fri, 1 Apr 2022 12:18:50 -0700 Subject: [PATCH 167/203] github-runner: 2.289.1 -> 2.289.2 --- .../tools/continuous-integration/github-runner/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/tools/continuous-integration/github-runner/default.nix b/pkgs/development/tools/continuous-integration/github-runner/default.nix index c8513d004af5..f53ebd645d05 100644 --- a/pkgs/development/tools/continuous-integration/github-runner/default.nix +++ b/pkgs/development/tools/continuous-integration/github-runner/default.nix @@ -43,13 +43,13 @@ let in stdenv.mkDerivation rec { pname = "github-runner"; - version = "2.289.1"; + version = "2.289.2"; src = fetchFromGitHub { owner = "actions"; repo = "runner"; rev = "v${version}"; - hash = "sha256-5TS/tW1hnDvPZQdR659rw+spLq98niyUms3BrixaKRE="; + hash = "sha256-yISJ/qGJ+tGnJOqpTUe+rkG4UGzTZ5tIXix6wuDKXO0="; }; nativeBuildInputs = [ From 760289211540c20171ed704e3f7888870ace638f Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 1 Apr 2022 19:32:20 +0000 Subject: [PATCH 168/203] go-ethereum: 1.10.16 -> 1.10.17 --- pkgs/applications/blockchains/go-ethereum/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/applications/blockchains/go-ethereum/default.nix b/pkgs/applications/blockchains/go-ethereum/default.nix index 842ebcc69ec8..661a25c8314b 100644 --- a/pkgs/applications/blockchains/go-ethereum/default.nix +++ b/pkgs/applications/blockchains/go-ethereum/default.nix @@ -9,16 +9,16 @@ let in buildGoModule rec { pname = "go-ethereum"; - version = "1.10.16"; + version = "1.10.17"; src = fetchFromGitHub { owner = "ethereum"; repo = pname; rev = "v${version}"; - sha256 = "sha256-l+hxAUw55d9MYLIUdF6qSEIelJQYRCvHyw1yuossmyA="; + sha256 = "sha256-GBlrg4wOiqEQTZC3CtfAZbIvS16/pSjEedEDrPGNUtY="; }; - vendorSha256 = "sha256-keeox2d2WEzY9ynEcovPaU95YzVQlbTu1i7PLpjkjZU="; + vendorSha256 = "sha256-D4odWuGFipSvbKbNlA6PkTo3rWGTCptJcn/7V7ZA7qs="; doCheck = false; From ebfb266f31046b5725a626beced278e67a33a7c3 Mon Sep 17 00:00:00 2001 From: Andrew Marshall Date: Fri, 1 Apr 2022 15:38:49 -0400 Subject: [PATCH 169/203] linode-cli: Remove update check Upon every API call, this program will check the API version and make a request to PyPi to check the latest version and, if not latest, will show a warning like > The API responded with version 1.2.4, which is newer than the CLI's > version of 1.2.3. Please update the CLI to get access to the newest > features. You can update with a simple `pip install --upgrade > linode-cli` This is not really useful with Nix, as the update message is wrong. And connecting to a third-party on each usage is not desired, either. --- pkgs/tools/virtualization/linode-cli/default.nix | 4 ++++ .../linode-cli/remove-update-check.patch | 11 +++++++++++ 2 files changed, 15 insertions(+) create mode 100644 pkgs/tools/virtualization/linode-cli/remove-update-check.patch diff --git a/pkgs/tools/virtualization/linode-cli/default.nix b/pkgs/tools/virtualization/linode-cli/default.nix index 6ba947fb2f5b..8484762e3896 100644 --- a/pkgs/tools/virtualization/linode-cli/default.nix +++ b/pkgs/tools/virtualization/linode-cli/default.nix @@ -33,6 +33,10 @@ buildPythonApplication rec { inherit sha256; }; + patches = [ + ./remove-update-check.patch + ]; + # remove need for git history prePatch = '' substituteInPlace setup.py \ diff --git a/pkgs/tools/virtualization/linode-cli/remove-update-check.patch b/pkgs/tools/virtualization/linode-cli/remove-update-check.patch new file mode 100644 index 000000000000..316d2855b1f4 --- /dev/null +++ b/pkgs/tools/virtualization/linode-cli/remove-update-check.patch @@ -0,0 +1,11 @@ +--- a/linodecli/cli.py ++++ b/linodecli/cli.py +@@ -555,7 +555,7 @@ + if self.debug_request: + self.print_response_debug_info(result) + +- if not self.suppress_warnings: ++ if False: + # check the major/minor version API reported against what we were built + # with to see if an upgrade should be available + api_version_higher = False From 975a1ae33904a48b92d84de5b7f8a0441024e34d Mon Sep 17 00:00:00 2001 From: Silvan Mosberger Date: Sat, 25 Jul 2020 19:53:15 +0200 Subject: [PATCH 170/203] lib/strings: Add levenshtein distance functions Adds some functions related to string similarity: - lib.strings.commonPrefixLength - lib.strings.commonSuffixLength - lib.strings.levenshtein - lib.strings.levenshteinAtMost --- lib/strings.nix | 127 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 127 insertions(+) diff --git a/lib/strings.nix b/lib/strings.nix index b2fd495e4c84..d34263c99494 100644 --- a/lib/strings.nix +++ b/lib/strings.nix @@ -774,4 +774,131 @@ rec { (x: if stringLength x == 0 then "unknown" else x) ]; + /* Computes the Levenshtein distance between two strings. + Complexity O(n*m) where n and m are the lengths of the strings. + Algorithm adjusted from https://stackoverflow.com/a/9750974/6605742 + + Type: levenshtein :: string -> string -> int + + Example: + levenshtein "foo" "foo" + => 0 + levenshtein "book" "hook" + => 1 + levenshtein "hello" "Heyo" + => 3 + */ + levenshtein = a: b: let + # Two dimensional array with dimensions (stringLength a + 1, stringLength b + 1) + arr = lib.genList (i: + lib.genList (j: + dist i j + ) (stringLength b + 1) + ) (stringLength a + 1); + d = x: y: lib.elemAt (lib.elemAt arr x) y; + dist = i: j: + let c = if substring (i - 1) 1 a == substring (j - 1) 1 b + then 0 else 1; + in + if j == 0 then i + else if i == 0 then j + else lib.min + ( lib.min (d (i - 1) j + 1) (d i (j - 1) + 1)) + ( d (i - 1) (j - 1) + c ); + in d (stringLength a) (stringLength b); + + /* Returns the length of the prefix common to both strings. + */ + commonPrefixLength = a: b: + let + m = lib.min (stringLength a) (stringLength b); + go = i: if i >= m then m else if substring i 1 a == substring i 1 b then go (i + 1) else i; + in go 0; + + /* Returns the length of the suffix common to both strings. + */ + commonSuffixLength = a: b: + let + m = lib.min (stringLength a) (stringLength b); + go = i: if i >= m then m else if substring (stringLength a - i - 1) 1 a == substring (stringLength b - i - 1) 1 b then go (i + 1) else i; + in go 0; + + /* Returns whether the levenshtein distance between two strings is at most some value + Complexity is O(min(n,m)) for k <= 2 and O(n*m) otherwise + + Type: levenshteinAtMost :: int -> string -> string -> bool + + Example: + levenshteinAtMost 0 "foo" "foo" + => true + levenshteinAtMost 1 "foo" "boa" + => false + levenshteinAtMost 2 "foo" "boa" + => true + levenshteinAtMost 2 "This is a sentence" "this is a sentense." + => false + levenshteinAtMost 3 "This is a sentence" "this is a sentense." + => true + + */ + levenshteinAtMost = let + infixDifferAtMost1 = x: y: stringLength x <= 1 && stringLength y <= 1; + + # This function takes two strings stripped by their common pre and suffix, + # and returns whether they differ by at most two by Levenshtein distance. + # Because of this stripping, if they do indeed differ by at most two edits, + # we know that those edits were (if at all) done at the start or the end, + # while the middle has to have stayed the same. This fact is used in the + # implementation. + infixDifferAtMost2 = x: y: + let + xlen = stringLength x; + ylen = stringLength y; + # This function is only called with |x| >= |y| and |x| - |y| <= 2, so + # diff is one of 0, 1 or 2 + diff = xlen - ylen; + + # Infix of x and y, stripped by the left and right most character + xinfix = substring 1 (xlen - 2) x; + yinfix = substring 1 (ylen - 2) y; + + # x and y but a character deleted at the left or right + xdelr = substring 0 (xlen - 1) x; + xdell = substring 1 (xlen - 1) x; + ydelr = substring 0 (ylen - 1) y; + ydell = substring 1 (ylen - 1) y; + in + # A length difference of 2 can only be gotten with 2 delete edits, + # which have to have happened at the start and end of x + # Example: "abcdef" -> "bcde" + if diff == 2 then xinfix == y + # A length difference of 1 can only be gotten with a deletion on the + # right and a replacement on the left or vice versa. + # Example: "abcdef" -> "bcdez" or "zbcde" + else if diff == 1 then xinfix == ydelr || xinfix == ydell + # No length difference can either happen through replacements on both + # sides, or a deletion on the left and an insertion on the right or + # vice versa + # Example: "abcdef" -> "zbcdez" or "bcdefz" or "zabcde" + else xinfix == yinfix || xdelr == ydell || xdell == ydelr; + + in k: if k <= 0 then a: b: a == b else + let f = a: b: + let + alen = stringLength a; + blen = stringLength b; + prelen = commonPrefixLength a b; + suflen = commonSuffixLength a b; + presuflen = prelen + suflen; + ainfix = substring prelen (alen - presuflen) a; + binfix = substring prelen (blen - presuflen) b; + in + # Make a be the bigger string + if alen < blen then f b a + # If a has over k more characters than b, even with k deletes on a, b can't be reached + else if alen - blen > k then false + else if k == 1 then infixDifferAtMost1 ainfix binfix + else if k == 2 then infixDifferAtMost2 ainfix binfix + else levenshtein ainfix binfix <= k; + in f; } From f8c1aee5dac656dac5bab6de54b06ea2ccf3242a Mon Sep 17 00:00:00 2001 From: Silvan Mosberger Date: Sat, 25 Jul 2020 19:54:19 +0200 Subject: [PATCH 171/203] lib/tests: Add tests for levenshtein functions --- lib/tests/misc.nix | 152 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 152 insertions(+) diff --git a/lib/tests/misc.nix b/lib/tests/misc.nix index 271119031395..1eb2d953ebbe 100644 --- a/lib/tests/misc.nix +++ b/lib/tests/misc.nix @@ -913,4 +913,156 @@ runTests { }; }; + ## Levenshtein distance functions and co. + testCommonPrefixLengthEmpty = { + expr = strings.commonPrefixLength "" "hello"; + expected = 0; + }; + + testCommonPrefixLengthSame = { + expr = strings.commonPrefixLength "hello" "hello"; + expected = 5; + }; + + testCommonPrefixLengthDiffering = { + expr = strings.commonPrefixLength "hello" "hey"; + expected = 2; + }; + + testCommonSuffixLengthEmpty = { + expr = strings.commonSuffixLength "" "hello"; + expected = 0; + }; + + testCommonSuffixLengthSame = { + expr = strings.commonSuffixLength "hello" "hello"; + expected = 5; + }; + + testCommonSuffixLengthDiffering = { + expr = strings.commonSuffixLength "test" "rest"; + expected = 3; + }; + + testLevenshteinEmpty = { + expr = strings.levenshtein "" ""; + expected = 0; + }; + + testLevenshteinOnlyAdd = { + expr = strings.levenshtein "" "hello there"; + expected = 11; + }; + + testLevenshteinOnlyRemove = { + expr = strings.levenshtein "hello there" ""; + expected = 11; + }; + + testLevenshteinOnlyTransform = { + expr = strings.levenshtein "abcdef" "ghijkl"; + expected = 6; + }; + + testLevenshteinMixed = { + expr = strings.levenshtein "kitchen" "sitting"; + expected = 5; + }; + + testLevenshteinAtMostZeroFalse = { + expr = strings.levenshteinAtMost 0 "foo" "boo"; + expected = false; + }; + + testLevenshteinAtMostZeroTrue = { + expr = strings.levenshteinAtMost 0 "foo" "foo"; + expected = true; + }; + + testLevenshteinAtMostOneFalse = { + expr = strings.levenshteinAtMost 1 "car" "ct"; + expected = false; + }; + + testLevenshteinAtMostOneTrue = { + expr = strings.levenshteinAtMost 1 "car" "cr"; + expected = true; + }; + + # We test levenshteinAtMost 2 particularly well because it uses a complicated + # implementation + testLevenshteinAtMostTwoIsEmpty = { + expr = strings.levenshteinAtMost 2 "" ""; + expected = true; + }; + + testLevenshteinAtMostTwoIsZero = { + expr = strings.levenshteinAtMost 2 "abcdef" "abcdef"; + expected = true; + }; + + testLevenshteinAtMostTwoIsOne = { + expr = strings.levenshteinAtMost 2 "abcdef" "abddef"; + expected = true; + }; + + testLevenshteinAtMostTwoDiff0False = { + expr = strings.levenshteinAtMost 2 "abcdef" "aczyef"; + expected = false; + }; + + testLevenshteinAtMostTwoDiff0Outer = { + expr = strings.levenshteinAtMost 2 "abcdef" "zbcdez"; + expected = true; + }; + + testLevenshteinAtMostTwoDiff0DelLeft = { + expr = strings.levenshteinAtMost 2 "abcdef" "bcdefz"; + expected = true; + }; + + testLevenshteinAtMostTwoDiff0DelRight = { + expr = strings.levenshteinAtMost 2 "abcdef" "zabcde"; + expected = true; + }; + + testLevenshteinAtMostTwoDiff1False = { + expr = strings.levenshteinAtMost 2 "abcdef" "bddez"; + expected = false; + }; + + testLevenshteinAtMostTwoDiff1DelLeft = { + expr = strings.levenshteinAtMost 2 "abcdef" "bcdez"; + expected = true; + }; + + testLevenshteinAtMostTwoDiff1DelRight = { + expr = strings.levenshteinAtMost 2 "abcdef" "zbcde"; + expected = true; + }; + + testLevenshteinAtMostTwoDiff2False = { + expr = strings.levenshteinAtMost 2 "hello" "hxo"; + expected = false; + }; + + testLevenshteinAtMostTwoDiff2True = { + expr = strings.levenshteinAtMost 2 "hello" "heo"; + expected = true; + }; + + testLevenshteinAtMostTwoDiff3 = { + expr = strings.levenshteinAtMost 2 "hello" "ho"; + expected = false; + }; + + testLevenshteinAtMostThreeFalse = { + expr = strings.levenshteinAtMost 3 "hello" "Holla!"; + expected = false; + }; + + testLevenshteinAtMostThreeTrue = { + expr = strings.levenshteinAtMost 3 "hello" "Holla"; + expected = true; + }; } From 1c00bf394867b07ed7a908408d8bc1d0afd9fa49 Mon Sep 17 00:00:00 2001 From: Silvan Mosberger Date: Sat, 25 Jul 2020 19:54:37 +0200 Subject: [PATCH 172/203] lib/customization: Improve callPackage error message for missing args This uses the levenshtein distance to look through all possible arguments to find ones that are close to what was requested: error: Function in /home/infinisil/src/nixpkgs/pkgs/tools/text/ripgrep/default.nix called without required argument "fetchFromGithub", did you mean "fetchFromGitHub" or "fetchFromGitLab"? With https://github.com/NixOS/nix/pull/3468 (in current nixUnstable) the error message becomes even better, adding line location info --- lib/customisation.nix | 51 +++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 49 insertions(+), 2 deletions(-) diff --git a/lib/customisation.nix b/lib/customisation.nix index 234a528527d3..cc9a9b1c55d0 100644 --- a/lib/customisation.nix +++ b/lib/customisation.nix @@ -117,8 +117,55 @@ rec { callPackageWith = autoArgs: fn: args: let f = if lib.isFunction fn then fn else import fn; - auto = builtins.intersectAttrs (lib.functionArgs f) autoArgs; - in makeOverridable f (auto // args); + fargs = lib.functionArgs f; + + # All arguments that will be passed to the function + # This includes automatic ones and ones passed explicitly + allArgs = builtins.intersectAttrs fargs autoArgs // args; + + # A list of argument names that the function requires, but + # wouldn't be passed to it + missingArgs = lib.attrNames + # Filter out arguments that have a default value + (lib.filterAttrs (name: value: ! value) + # Filter out arguments that would be passed + (removeAttrs fargs (lib.attrNames allArgs))); + + # Get a list of suggested argument names for a given missing one + getSuggestions = arg: lib.pipe (autoArgs // args) [ + lib.attrNames + # Only use ones that are at most 2 edits away. While mork would work, + # levenshteinAtMost is only fast for 2 or less. + (lib.filter (lib.strings.levenshteinAtMost 2 arg)) + # Put strings with shorter distance first + (lib.sort (x: y: lib.strings.levenshtein x arg < lib.strings.levenshtein y arg)) + # Only take the first couple results + (lib.take 3) + # Quote all entries + (map (x: "\"" + x + "\"")) + ]; + + prettySuggestions = suggestions: + if suggestions == [] then "" + else if lib.length suggestions == 1 then ", did you mean ${lib.elemAt suggestions 0}?" + else ", did you mean ${lib.concatStringsSep ", " (lib.init suggestions)} or ${lib.last suggestions}?"; + + errorForArg = arg: + let + loc = builtins.unsafeGetAttrPos arg fargs; + # loc' can be removed once lib/minver.nix is >2.3.4, since that includes + # https://github.com/NixOS/nix/pull/3468 which makes loc be non-null + loc' = if loc != null then loc.file + ":" + toString loc.line + else if ! lib.isFunction fn then + toString fn + lib.optionalString (lib.sources.pathIsDirectory fn) "/default.nix" + else ""; + in "Function called without required argument \"${arg}\" at " + + "${loc'}${prettySuggestions (getSuggestions arg)}"; + + # Only show the error for the first missing argument + error = errorForArg (lib.head missingArgs); + + in if missingArgs == [] then makeOverridable f allArgs else throw error; /* Like callPackage, but for a function that returns an attribute From 63f0c334f0f3c6a584422454c90465101327d03e Mon Sep 17 00:00:00 2001 From: Maximilian Bosch Date: Fri, 1 Apr 2022 19:43:55 +0200 Subject: [PATCH 173/203] wireshark: 3.6.2 -> 3.6.3 ChangeLog: https://www.wireshark.org/docs/relnotes/wireshark-3.6.3.html --- pkgs/applications/networking/sniffers/wireshark/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/networking/sniffers/wireshark/default.nix b/pkgs/applications/networking/sniffers/wireshark/default.nix index b667c7671bdc..931606f32489 100644 --- a/pkgs/applications/networking/sniffers/wireshark/default.nix +++ b/pkgs/applications/networking/sniffers/wireshark/default.nix @@ -11,7 +11,7 @@ assert withQt -> qt5 != null; with lib; let - version = "3.6.2"; + version = "3.6.3"; variant = if withQt then "qt" else "cli"; in stdenv.mkDerivation { @@ -21,7 +21,7 @@ in stdenv.mkDerivation { src = fetchurl { url = "https://www.wireshark.org/download/src/all-versions/wireshark-${version}.tar.xz"; - sha256 = "sha256-XZAaVXKu+VPwStwlPtKgaZ1MYnedMkkCHh6FQaAkww4="; + sha256 = "sha256-tgNkpMAGihCBGrP9B1ymwesOddRGACcbiKIO2Tou9jE="; }; cmakeFlags = [ From eeb3206a29560a6b9ad141b27fa4eec51058e4d7 Mon Sep 17 00:00:00 2001 From: "P. R. d. O" Date: Fri, 1 Apr 2022 12:03:29 -0600 Subject: [PATCH 174/203] nixos/jenkinsSlave: install java Installs Java into the Jenkins agent and allows specifying the JDK/JRE package to use. This is necessary as Jenkins verifies if the agent contains Java installed through the java -fullversion command, which if not, the connection will fail. --- .../continuous-integration/jenkins/slave.nix | 16 +++++++++++++++- nixos/tests/jenkins.nix | 2 ++ 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/nixos/modules/services/continuous-integration/jenkins/slave.nix b/nixos/modules/services/continuous-integration/jenkins/slave.nix index 3c0e6f78e74c..871b9914fb27 100644 --- a/nixos/modules/services/continuous-integration/jenkins/slave.nix +++ b/nixos/modules/services/continuous-integration/jenkins/slave.nix @@ -1,4 +1,4 @@ -{ config, lib, ... }: +{ config, lib, pkgs, ... }: with lib; let cfg = config.services.jenkinsSlave; @@ -46,6 +46,15 @@ in { this is the home of the "jenkins" user. ''; }; + + javaPackage = mkOption { + default = pkgs.jdk; + defaultText = literalExpression "pkgs.jdk"; + description = '' + Java package to install. + ''; + type = types.package; + }; }; }; @@ -64,5 +73,10 @@ in { uid = config.ids.uids.jenkins; }; }; + + programs.java = { + enable = true; + package = cfg.javaPackage; + }; }; } diff --git a/nixos/tests/jenkins.nix b/nixos/tests/jenkins.nix index cb4207c6e773..265d1a330cd9 100644 --- a/nixos/tests/jenkins.nix +++ b/nixos/tests/jenkins.nix @@ -90,6 +90,8 @@ import ./make-test-python.nix ({ pkgs, ...} : { slave.fail("systemctl is-enabled jenkins.service") + slave.succeed("java -fullversion") + with subtest("jobs are declarative"): # Check that jobs are created on disk. master.wait_for_unit("jenkins-job-builder") From b5f36e84d14a8ac695e306611340435ac448b7ed Mon Sep 17 00:00:00 2001 From: Jeppe Fihl-Pearson Date: Wed, 30 Mar 2022 21:07:20 +0100 Subject: [PATCH 175/203] Add block size to dd command Without configuring the block size a default of 512 bytes is used, which can slow down the transfer speed massively. In a test I've done with a semi-decent USB stick, I only get a transfer speed of around 180 KB/sec when not specifying the block size but see 27 MB/sec when setting the block size to 1 MB. This makes the transfer of the minimal installation ISO take half a minute instead of an hour. --- .../doc/manual/from_md/installation/installing-usb.section.xml | 2 +- nixos/doc/manual/installation/installing-usb.section.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/nixos/doc/manual/from_md/installation/installing-usb.section.xml b/nixos/doc/manual/from_md/installation/installing-usb.section.xml index b46a1d565557..df266eb16800 100644 --- a/nixos/doc/manual/from_md/installation/installing-usb.section.xml +++ b/nixos/doc/manual/from_md/installation/installing-usb.section.xml @@ -17,7 +17,7 @@ $ diskutil list [..] $ diskutil unmountDisk diskN Unmount of all volumes on diskN was successful -$ sudo dd if=nix.iso of=/dev/rdiskN +$ sudo dd if=nix.iso of=/dev/rdiskN bs=1M Using the 'raw' rdiskN device instead of diff --git a/nixos/doc/manual/installation/installing-usb.section.md b/nixos/doc/manual/installation/installing-usb.section.md index ae58c08e5237..d893e22e6381 100644 --- a/nixos/doc/manual/installation/installing-usb.section.md +++ b/nixos/doc/manual/installation/installing-usb.section.md @@ -18,7 +18,7 @@ $ diskutil list [..] $ diskutil unmountDisk diskN Unmount of all volumes on diskN was successful -$ sudo dd if=nix.iso of=/dev/rdiskN +$ sudo dd if=nix.iso of=/dev/rdiskN bs=1M ``` Using the \'raw\' `rdiskN` device instead of `diskN` completes in From 5b6e4187adf84069612e2d6ade9edbdad6aa1df1 Mon Sep 17 00:00:00 2001 From: zowoq <59103226+zowoq@users.noreply.github.com> Date: Fri, 1 Apr 2022 07:35:45 +1000 Subject: [PATCH 176/203] stylua: 0.12.5 -> 0.13.0 https://github.com/JohnnyMorganz/StyLua/releases/tag/v0.13.0 --- pkgs/development/tools/stylua/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/development/tools/stylua/default.nix b/pkgs/development/tools/stylua/default.nix index e21f058b8a06..729c0c191885 100644 --- a/pkgs/development/tools/stylua/default.nix +++ b/pkgs/development/tools/stylua/default.nix @@ -7,16 +7,16 @@ rustPlatform.buildRustPackage rec { pname = "stylua"; - version = "0.12.5"; + version = "0.13.0"; src = fetchFromGitHub { owner = "johnnymorganz"; repo = pname; rev = "v${version}"; - sha256 = "sha256-4tQQTTAdIAhlkBJevwwwGXOKd6bJJOyG4nlbCv7909Y="; + sha256 = "sha256-Ecv6am4JT4cJKAApieOWQZG3XZkeCpmLrs6K7+4c8xA="; }; - cargoSha256 = "sha256-DGe2lB8xZgY9ikTsIHDOdHzTyHfDaSlmy8FU/S9FDCI="; + cargoSha256 = "sha256-r09fTZTmOZQCI3qIWcnQnhUXYLVK8pF5y0y/dQl88CI="; buildFeatures = lib.optional lua52Support "lua52" ++ lib.optional luauSupport "luau"; From 3b2051594bc60b1515f8c41e661a59fd80d1092e Mon Sep 17 00:00:00 2001 From: Martin Weinelt Date: Fri, 1 Apr 2022 22:37:07 +0200 Subject: [PATCH 177/203] gitlab: 14.9.1 -> 14.9.2 https://about.gitlab.com/releases/2022/03/31/critical-security-release-gitlab-14-9-2-released/ Fixes: CVE-2022-1162, CVE-2022-1175, CVE-2022-1190, CVE-2022-1185, CVE-2022-1148, CVE-2022-1121, CVE-2022-1120, CVE-2022-1100, CVE-2022-1193, CVE-2022-1105, CVE-2022-1099, CVE-2022-1174, CVE-2022-1188, CVE-2022-0740, CVE-2022-1189, CVE-2022-1157, CVE-2022-1111 --- .../version-management/gitlab/data.json | 14 +++++++------- .../version-management/gitlab/gitaly/default.nix | 4 ++-- .../gitlab/gitlab-workhorse/default.nix | 2 +- .../version-management/gitlab/rubyEnv/Gemfile | 2 +- .../version-management/gitlab/rubyEnv/Gemfile.lock | 8 ++++---- .../version-management/gitlab/rubyEnv/gemset.nix | 4 ++-- 6 files changed, 17 insertions(+), 17 deletions(-) diff --git a/pkgs/applications/version-management/gitlab/data.json b/pkgs/applications/version-management/gitlab/data.json index bd524c622d6f..dbae269aab8c 100644 --- a/pkgs/applications/version-management/gitlab/data.json +++ b/pkgs/applications/version-management/gitlab/data.json @@ -1,14 +1,14 @@ { - "version": "14.9.1", - "repo_hash": "0jkhvglisaj3h9ls8q8wrxnnp4xp3zggc8vmwg6jqqjsmbpi332h", - "yarn_hash": "1bq1ka0nlb2nkjx70qpwpm8x6crbkfj0c8m39pwwc42j8wn10r9g", + "version": "14.9.2", + "repo_hash": "sha256-+tZN6isOb7LtUVwGshx9TP+P42sftJmQGVk1L9UJqcY=", + "yarn_hash": "1mya6y0cb9x8491gpf7f1i7qi2rb0l7d9g5yzj44vvy3mb4rcqaj", "owner": "gitlab-org", "repo": "gitlab", - "rev": "v14.9.1-ee", + "rev": "v14.9.2-ee", "passthru": { - "GITALY_SERVER_VERSION": "14.9.1", - "GITLAB_PAGES_VERSION": "1.56.0", + "GITALY_SERVER_VERSION": "14.9.2", + "GITLAB_PAGES_VERSION": "1.56.1", "GITLAB_SHELL_VERSION": "13.24.0", - "GITLAB_WORKHORSE_VERSION": "14.9.1" + "GITLAB_WORKHORSE_VERSION": "14.9.2" } } diff --git a/pkgs/applications/version-management/gitlab/gitaly/default.nix b/pkgs/applications/version-management/gitlab/gitaly/default.nix index d8ab7f36b39c..cd76768aee49 100644 --- a/pkgs/applications/version-management/gitlab/gitaly/default.nix +++ b/pkgs/applications/version-management/gitlab/gitaly/default.nix @@ -11,7 +11,7 @@ let gemdir = ./.; }; - version = "14.9.1"; + version = "14.9.2"; gitaly_package = "gitlab.com/gitlab-org/gitaly/v${lib.versions.major version}"; in @@ -23,7 +23,7 @@ buildGoModule { owner = "gitlab-org"; repo = "gitaly"; rev = "v${version}"; - sha256 = "sha256-mk6JZuu6b2r/OqRI4ZUf8AV/ObRKhTIQT9bQE8sH894="; + sha256 = "sha256-eEo+WZ2N/5bLfvwJCNf9qt+h/V5dIVqCjVJeomzw/Ps="; }; vendorSha256 = "sha256-kEjgWA/Task23PScPYrqdDu3vdVR/FJl7OilUug/Bds="; diff --git a/pkgs/applications/version-management/gitlab/gitlab-workhorse/default.nix b/pkgs/applications/version-management/gitlab/gitlab-workhorse/default.nix index e16d7f75bf69..9fcecc53a070 100644 --- a/pkgs/applications/version-management/gitlab/gitlab-workhorse/default.nix +++ b/pkgs/applications/version-management/gitlab/gitlab-workhorse/default.nix @@ -5,7 +5,7 @@ in buildGoModule rec { pname = "gitlab-workhorse"; - version = "14.9.1"; + version = "14.9.2"; src = fetchFromGitLab { owner = data.owner; diff --git a/pkgs/applications/version-management/gitlab/rubyEnv/Gemfile b/pkgs/applications/version-management/gitlab/rubyEnv/Gemfile index fd469fd8bcc7..ae8a8e012414 100644 --- a/pkgs/applications/version-management/gitlab/rubyEnv/Gemfile +++ b/pkgs/applications/version-management/gitlab/rubyEnv/Gemfile @@ -67,7 +67,7 @@ gem 'akismet', '~> 3.0' gem 'invisible_captcha', '~> 1.1.0' # Two-factor authentication -gem 'devise-two-factor', '~> 4.0.0' +gem 'devise-two-factor', '~> 4.0.2' gem 'rqrcode-rails3', '~> 0.1.7' gem 'attr_encrypted', '~> 3.1.0' gem 'u2f', '~> 0.2.1' diff --git a/pkgs/applications/version-management/gitlab/rubyEnv/Gemfile.lock b/pkgs/applications/version-management/gitlab/rubyEnv/Gemfile.lock index da4987d35dcd..658d79dfcc66 100644 --- a/pkgs/applications/version-management/gitlab/rubyEnv/Gemfile.lock +++ b/pkgs/applications/version-management/gitlab/rubyEnv/Gemfile.lock @@ -263,11 +263,11 @@ GEM railties (>= 4.1.0) responders warden (~> 1.2.3) - devise-two-factor (4.0.0) - activesupport (< 6.2) + devise-two-factor (4.0.2) + activesupport (< 7.1) attr_encrypted (>= 1.3, < 4, != 2) devise (~> 4.0) - railties (< 6.2) + railties (< 7.1) rotp (~> 6.0) diff-lcs (1.4.4) diff_match_patch (0.1.0) @@ -1450,7 +1450,7 @@ DEPENDENCIES derailed_benchmarks device_detector devise (~> 4.7.2) - devise-two-factor (~> 4.0.0) + devise-two-factor (~> 4.0.2) diff_match_patch (~> 0.1.0) diffy (~> 3.3) discordrb-webhooks (~> 3.4) diff --git a/pkgs/applications/version-management/gitlab/rubyEnv/gemset.nix b/pkgs/applications/version-management/gitlab/rubyEnv/gemset.nix index 5fc9a183a8b9..cc88cbbbab5b 100644 --- a/pkgs/applications/version-management/gitlab/rubyEnv/gemset.nix +++ b/pkgs/applications/version-management/gitlab/rubyEnv/gemset.nix @@ -1088,10 +1088,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "148pfr6g8dwikdq3994gsid2a3n6p5h4z1a1dzh1898shr5f9znc"; + sha256 = "04f5rb8fg4cvzm32v413z3h53wc0fgxg927q8rqd546hdrlx4j35"; type = "gem"; }; - version = "4.0.0"; + version = "4.0.2"; }; diff-lcs = { groups = ["default" "development" "test"]; From e42f06f93fa5ffda66250d2a3a2d993ba78b32c2 Mon Sep 17 00:00:00 2001 From: Zhaofeng Li Date: Thu, 24 Mar 2022 20:09:36 -0700 Subject: [PATCH 178/203] nixos/podman: Add zfs to wrapper if enabled --- nixos/modules/virtualisation/podman/default.nix | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/nixos/modules/virtualisation/podman/default.nix b/nixos/modules/virtualisation/podman/default.nix index 94fd727a4b56..b7e7f78ded78 100644 --- a/nixos/modules/virtualisation/podman/default.nix +++ b/nixos/modules/virtualisation/podman/default.nix @@ -6,7 +6,10 @@ let inherit (lib) mkOption types; - podmanPackage = (pkgs.podman.override { inherit (cfg) extraPackages; }); + podmanPackage = (pkgs.podman.override { + extraPackages = cfg.extraPackages + ++ lib.optional (builtins.elem "zfs" config.boot.supportedFilesystems) config.boot.zfs.package; + }); # Provides a fake "docker" binary mapping to podman dockerCompat = pkgs.runCommand "${podmanPackage.pname}-docker-compat-${podmanPackage.version}" { From cd16da586740d63c897011e8b6f1ba1028f0d9fc Mon Sep 17 00:00:00 2001 From: Michael Adler Date: Fri, 1 Apr 2022 22:38:04 +0200 Subject: [PATCH 179/203] ungoogled-chromium: added myself as maintainer --- pkgs/applications/networking/browsers/chromium/browser.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/applications/networking/browsers/chromium/browser.nix b/pkgs/applications/networking/browsers/chromium/browser.nix index 40a0d7997528..ca52cf94d8c6 100644 --- a/pkgs/applications/networking/browsers/chromium/browser.nix +++ b/pkgs/applications/networking/browsers/chromium/browser.nix @@ -87,7 +87,7 @@ mkChromiumDerivation (base: rec { then "https://github.com/Eloston/ungoogled-chromium" else "https://www.chromium.org/"; maintainers = with maintainers; if ungoogled - then [ squalus primeos ] + then [ squalus primeos michaeladler ] else [ primeos thefloweringash ]; license = if enableWideVine then licenses.unfree else licenses.bsd3; platforms = platforms.linux; From 01fd7a284ebc2d0add25ef5932c4ed42621ae634 Mon Sep 17 00:00:00 2001 From: zowoq <59103226+zowoq@users.noreply.github.com> Date: Sat, 2 Apr 2022 06:42:52 +1000 Subject: [PATCH 180/203] podman: 4.0.2 -> 4.0.3 https://github.com/containers/podman/releases/tag/v4.0.3 --- pkgs/applications/virtualization/podman/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/virtualization/podman/default.nix b/pkgs/applications/virtualization/podman/default.nix index 7d783b211bbd..1f596c609062 100644 --- a/pkgs/applications/virtualization/podman/default.nix +++ b/pkgs/applications/virtualization/podman/default.nix @@ -17,13 +17,13 @@ buildGoModule rec { pname = "podman"; - version = "4.0.2"; + version = "4.0.3"; src = fetchFromGitHub { owner = "containers"; repo = "podman"; rev = "v${version}"; - sha256 = "sha256-uLpvTnn2EWEI8+5gC3ofMjsZ9O7nLOaaUGGuvSE1gdE="; + sha256 = "sha256-o/CIs+3LnbaUUpOQI1hijrxH7f1qBnrQw56TJ18jKQw="; }; vendorSha256 = null; From c57c5c42a48fd34d043c3d71f3ca4598cddeef9d Mon Sep 17 00:00:00 2001 From: Florian Klink Date: Fri, 1 Apr 2022 22:58:25 +0200 Subject: [PATCH 181/203] prometheus-bird-exporter: update birdSocket default path a5276e1fbdb1773554fb882ad4432116b9b4d918 updated bird to use /run/bird/bird.ctl, but didn't update the default used for prometheus-bird-exporter. Reported-In: https://github.com/NixOS/nixpkgs/pull/161193#issuecomment-1086228985 --- nixos/modules/services/monitoring/prometheus/exporters/bird.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nixos/modules/services/monitoring/prometheus/exporters/bird.nix b/nixos/modules/services/monitoring/prometheus/exporters/bird.nix index 1ef264fc86e5..5fda4c980ebb 100644 --- a/nixos/modules/services/monitoring/prometheus/exporters/bird.nix +++ b/nixos/modules/services/monitoring/prometheus/exporters/bird.nix @@ -17,7 +17,7 @@ in }; birdSocket = mkOption { type = types.path; - default = "/var/run/bird.ctl"; + default = "/run/bird/bird.ctl"; description = '' Path to BIRD2 (or BIRD1 v4) socket. ''; From 2ea0c4c2304c9032873cfa86d5e2241bfedcf10c Mon Sep 17 00:00:00 2001 From: Artturin Date: Sat, 2 Apr 2022 00:21:43 +0300 Subject: [PATCH 182/203] maintainer-list.nix: fix msfjarvis githubId --- maintainers/maintainer-list.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index af379f48cb2b..7cae29a1eefe 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -8549,7 +8549,7 @@ }; msfjarvis = { github = "msfjarvis"; - githubId = 3348378; + githubId = 13348378; name = "Harsh Shandilya"; email = "nixos@msfjarvis.dev"; keys = [{ From afa182e4e86b0313956221736876631be71ed59f Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 1 Apr 2022 21:32:23 +0000 Subject: [PATCH 183/203] gpxsee: 10.4 -> 10.5 --- pkgs/applications/misc/gpxsee/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/misc/gpxsee/default.nix b/pkgs/applications/misc/gpxsee/default.nix index ac9b56f48c11..b4e8e7151c15 100644 --- a/pkgs/applications/misc/gpxsee/default.nix +++ b/pkgs/applications/misc/gpxsee/default.nix @@ -2,13 +2,13 @@ stdenv.mkDerivation rec { pname = "gpxsee"; - version = "10.4"; + version = "10.5"; src = fetchFromGitHub { owner = "tumic0"; repo = "GPXSee"; rev = version; - sha256 = "sha256-3AwUfx8IIWJO4uVAhXJE5Oola+60VUpXUwmALqJo2vw="; + sha256 = "sha256-TvOdyzWvGSdl8aSA+pAOpPVpQzK9POmqtClqdXAMsws="; }; patches = (substituteAll { From 36e9995603c69e4517aa6a796da72c8c0159654b Mon Sep 17 00:00:00 2001 From: davidak Date: Sat, 25 Dec 2021 17:49:15 +0100 Subject: [PATCH 184/203] davinci-resolve: init at 17.4.3 Co-authored-by: Thiago Franco de Moraes --- .../video/davinci-resolve/default.nix | 178 ++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 + 2 files changed, 180 insertions(+) create mode 100644 pkgs/applications/video/davinci-resolve/default.nix diff --git a/pkgs/applications/video/davinci-resolve/default.nix b/pkgs/applications/video/davinci-resolve/default.nix new file mode 100644 index 000000000000..289fcdad5227 --- /dev/null +++ b/pkgs/applications/video/davinci-resolve/default.nix @@ -0,0 +1,178 @@ +{ stdenv +, lib +, cacert +, curl +, runCommandLocal +, targetPlatform +, unzip +, appimage-run +, addOpenGLRunpath +, libGLU +, xorg +, buildFHSUserEnv +, bash +, writeText +, ocl-icd +, xkeyboard_config +, glib +, libarchive +}: + +let + davinci = ( + stdenv.mkDerivation rec { + pname = "davinci-resolve"; + version = "17.4.3"; + + nativeBuildInputs = [ unzip appimage-run addOpenGLRunpath ]; + + # Pretty sure, there are missing dependencies ... + buildInputs = [ libGLU xorg.libXxf86vm ]; + + src = runCommandLocal "${pname}-src.zip" + rec { + outputHashMode = "recursive"; + outputHashAlgo = "sha256"; + outputHash = "0hq374n26mbcds8f1z644cvnh4h2rjdrbxxxbj4p34mx9b04ab28"; + + impureEnvVars = lib.fetchers.proxyImpureEnvVars; + + nativeBuildInputs = [ curl ]; + + # ENV VARS + SSL_CERT_FILE = "${cacert}/etc/ssl/certs/ca-bundle.crt"; + + DOWNLOADID = "5efad1a052e8471989f662338d5247f1"; + REFERID = "263d62f31cbb49e0868005059abcb0c9"; + SITEURL = "https://www.blackmagicdesign.com/api/register/us/download/${DOWNLOADID}"; + + USERAGENT = builtins.concatStringsSep " " [ + "User-Agent: Mozilla/5.0 (X11; Linux ${targetPlatform.linuxArch})" + "AppleWebKit/537.36 (KHTML, like Gecko)" + "Chrome/77.0.3865.75" + "Safari/537.36" + ]; + + REQJSON = builtins.toJSON { + "firstname" = "NixOS"; + "lastname" = "Linux"; + "email" = "someone@nixos.org"; + "phone" = "+31 71 452 5670"; + "country" = "nl"; + "state" = "Province of Utrecht"; + "city" = "Utrecht"; + "product" = "DaVinci Resolve"; + }; + + } '' + RESOLVEURL=$(curl \ + -s \ + -H 'Host: www.blackmagicdesign.com' \ + -H 'Accept: application/json, text/plain, */*' \ + -H 'Origin: https://www.blackmagicdesign.com' \ + -H "$USERAGENT" \ + -H 'Content-Type: application/json;charset=UTF-8' \ + -H "Referer: https://www.blackmagicdesign.com/support/download/$REFERID/Linux" \ + -H 'Accept-Encoding: gzip, deflate, br' \ + -H 'Accept-Language: en-US,en;q=0.9' \ + -H 'Authority: www.blackmagicdesign.com' \ + -H 'Cookie: _ga=GA1.2.1849503966.1518103294; _gid=GA1.2.953840595.1518103294' \ + --data-ascii "$REQJSON" \ + --compressed \ + "$SITEURL") + + curl \ + --retry 3 --retry-delay 3 \ + -H "Host: sw.blackmagicdesign.com" \ + -H "Upgrade-Insecure-Requests: 1" \ + -H "$USERAGENT" \ + -H "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8" \ + -H "Accept-Language: en-US,en;q=0.9" \ + --compressed \ + "$RESOLVEURL" \ + > $out + ''; + + # The unpack phase won't generate a directory + setSourceRoot = '' + sourceRoot=$PWD + ''; + + installPhase = '' + runHook preInstall + + export HOME=$PWD/home + mkdir -p $HOME + + mkdir -p $out + appimage-run ./DaVinci_Resolve_${version}_Linux.run -i -y -n -C $out + + mkdir -p $out/{configs,DolbyVision,easyDCP,Fairlight,GPUCache,logs,Media,"Resolve Disk Database",.crashreport,.license,.LUT} + runHook postInstall + ''; + + dontStrip = true; + + postFixup = '' + for program in $out/bin/*; do + isELF "$program" || continue + addOpenGLRunpath "$program" + done + + for program in $out/libs/*; do + isELF "$program" || continue + if [[ "$program" != *"libcudnn_cnn_infer"* ]];then + echo $program + addOpenGLRunpath "$program" + fi + done + ''; + } + ); +in +buildFHSUserEnv { + name = "davinci-resolve"; + targetPkgs = pkgs: with pkgs; [ + librsvg + libGLU + libGL + xorg.libICE + xorg.libSM + xorg.libXxf86vm + xorg.libxcb + udev + opencl-headers + alsa-lib + xorg.libX11 + xorg.libXext + expat + zlib + libuuid + bzip2 + libtool + ocl-icd + glib + libarchive + xdg-utils # xdg-open needed to open URLs + python + # currently they want python 3.6 which is EOL + #python3 + ]; + + runScript = "${bash}/bin/bash ${ + writeText "davinci-wrapper" + '' + export QT_XKB_CONFIG_ROOT="${xkeyboard_config}/share/X11/xkb" + export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:${davinci}/libs + ${davinci}/bin/resolve + '' + }"; + + meta = with lib; { + description = "Professional Video Editing, Color, Effects and Audio Post"; + homepage = "https://www.blackmagicdesign.com/products/davinciresolve/"; + license = licenses.unfree; + maintainers = with maintainers; [ jshcmpbll ]; + platforms = platforms.linux; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index a330618c6a14..dedabba0e5a8 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -1067,6 +1067,8 @@ with pkgs; ejson2env = callPackage ../tools/admin/ejson2env { }; + davinci-resolve = callPackage ../applications/video/davinci-resolve { }; + gamemode = callPackage ../tools/games/gamemode { libgamemode32 = pkgsi686Linux.gamemode.lib; }; From 666a90e29d6261fd17fab0481ac21c64cd857834 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Samuel=20Gr=C3=A4fenstein?= Date: Fri, 1 Apr 2022 14:05:22 +0200 Subject: [PATCH 185/203] gnupg{,1}: add meta.mainProgram --- pkgs/tools/security/gnupg/1.nix | 1 + pkgs/tools/security/gnupg/23.nix | 1 + 2 files changed, 2 insertions(+) diff --git a/pkgs/tools/security/gnupg/1.nix b/pkgs/tools/security/gnupg/1.nix index 8fc5dce7ba04..b7bc395cc0a7 100644 --- a/pkgs/tools/security/gnupg/1.nix +++ b/pkgs/tools/security/gnupg/1.nix @@ -29,5 +29,6 @@ stdenv.mkDerivation rec { available. ''; platforms = platforms.all; + mainProgram = "gpg"; }; } diff --git a/pkgs/tools/security/gnupg/23.nix b/pkgs/tools/security/gnupg/23.nix index e80804cd002f..d9ad2d0a276f 100644 --- a/pkgs/tools/security/gnupg/23.nix +++ b/pkgs/tools/security/gnupg/23.nix @@ -93,5 +93,6 @@ stdenv.mkDerivation rec { ''; maintainers = with maintainers; [ fpletz vrthra ]; platforms = platforms.all; + mainProgram = "gpg"; }; } From e5ae588b7d9ddc934ad93408f0d069d4ae8160db Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Sat, 2 Apr 2022 02:04:42 +0000 Subject: [PATCH 186/203] python310Packages.wled: 0.13.1 -> 0.13.2 --- pkgs/development/python-modules/wled/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/wled/default.nix b/pkgs/development/python-modules/wled/default.nix index 3bd0d5b55b90..362d4e4d2b29 100644 --- a/pkgs/development/python-modules/wled/default.nix +++ b/pkgs/development/python-modules/wled/default.nix @@ -15,7 +15,7 @@ buildPythonPackage rec { pname = "wled"; - version = "0.13.1"; + version = "0.13.2"; format = "pyproject"; disabled = pythonOlder "3.8"; @@ -24,7 +24,7 @@ buildPythonPackage rec { owner = "frenck"; repo = "python-wled"; rev = "v${version}"; - sha256 = "sha256-QQPrAfk+BX8mjqn9ISim9hLEZR2nbgxbkwCv+91yeRY="; + sha256 = "sha256-Rv0jaKkN6jQ7oiv1cBYx4HAr7IqPm57jZFykXayp0T0="; }; nativeBuildInputs = [ From 8f6574d9f3fc1859c7340f4927a27cbf7abaa2a1 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 1 Apr 2022 18:28:31 +0000 Subject: [PATCH 187/203] esbuild: 0.14.28 -> 0.14.29 --- pkgs/development/tools/esbuild/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/tools/esbuild/default.nix b/pkgs/development/tools/esbuild/default.nix index 33f3bfc19c12..8844af40f4d1 100644 --- a/pkgs/development/tools/esbuild/default.nix +++ b/pkgs/development/tools/esbuild/default.nix @@ -2,13 +2,13 @@ buildGoModule rec { pname = "esbuild"; - version = "0.14.28"; + version = "0.14.29"; src = fetchFromGitHub { owner = "evanw"; repo = "esbuild"; rev = "v${version}"; - sha256 = "sha256-Z4Na4Tp5zNbzrOH14t+3rUTL8Q9OfyE6mUAdnETzFrs="; + sha256 = "sha256-v16wKi+CphROS9s3PdzzuRoh3gLfSUgincyTp38WKxQ="; }; vendorSha256 = "sha256-QPkBR+FscUc3jOvH7olcGUhM6OW4vxawmNJuRQxPuGs="; From 5456323de04bf8071e69de96f3125dbc30aed889 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 1 Apr 2022 05:01:32 +0000 Subject: [PATCH 188/203] wrangler: 1.19.10 -> 1.19.11 --- pkgs/development/tools/wrangler/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/development/tools/wrangler/default.nix b/pkgs/development/tools/wrangler/default.nix index dca054db3fea..c34c3b0a0376 100644 --- a/pkgs/development/tools/wrangler/default.nix +++ b/pkgs/development/tools/wrangler/default.nix @@ -2,16 +2,16 @@ rustPlatform.buildRustPackage rec { pname = "wrangler"; - version = "1.19.10"; + version = "1.19.11"; src = fetchFromGitHub { owner = "cloudflare"; repo = pname; rev = "v${version}"; - sha256 = "sha256-RKOAs7MRHcGx6BNBml7WQ81bNvdB9ipd0R1ErLTwjTQ="; + sha256 = "sha256-8Vka8HTU0YkTS1DeQuqVLsnRGnig7Aiql5e/6NBk7qs="; }; - cargoSha256 = "sha256-9GvKDLuDIW5q1R5g20rtSScv2c0sLSo+hI9LSA4W3M8="; + cargoSha256 = "sha256-bw6Z4SW+NOFFpUJ5xGwdccv8KQnSri/TFxAJp+9fsWk="; nativeBuildInputs = [ pkg-config ]; From af3cac14be65dff876ea5c674b6cd9510fd83212 Mon Sep 17 00:00:00 2001 From: Sergei Trofimovich Date: Thu, 31 Mar 2022 07:56:21 +0100 Subject: [PATCH 189/203] mdbook: 0.4.12 -> 0.4.15 changelog: https://github.com/rust-lang/mdBook/blob/master/CHANGELOG.md#mdbook-0415 --- pkgs/tools/text/mdbook/default.nix | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/pkgs/tools/text/mdbook/default.nix b/pkgs/tools/text/mdbook/default.nix index d3a136d6bf75..3ca4d0d8a559 100644 --- a/pkgs/tools/text/mdbook/default.nix +++ b/pkgs/tools/text/mdbook/default.nix @@ -2,19 +2,25 @@ rustPlatform.buildRustPackage rec { pname = "mdbook"; - version = "0.4.12"; + version = "0.4.15"; src = fetchFromGitHub { owner = "rust-lang"; repo = "mdBook"; rev = "v${version}"; - sha256 = "sha256-2lxotwL3Dc9jRA12iKO5zotO80pa+RfUZucyDRgFOsI="; + sha256 = "sha256-FYuai7YeqrnL5XgOV/EvxIRAu3TkeKJvKiDxnx94PJ8="; }; - cargoSha256 = "sha256-TNd4pj4qSKgmmVtSCSKFCxNtv96xD7+24BPsLXPgiEI="; + cargoSha256 = "sha256-YWifpXrk+T8C3fGlURDKYWw7mD1TUjJbFHTlK84Tgpc="; buildInputs = lib.optionals stdenv.isDarwin [ CoreServices ]; + # Tests rely on unset 'RUST_LOG' value to emit INFO messages. + # 'RUST_LOG=' nixpkgs default enables warnings only and breaks tests. + # Can be removed when https://github.com/rust-lang/mdBook/pull/1777 + # is released. + logLevel = "info"; + meta = with lib; { description = "Create books from MarkDown"; homepage = "https://github.com/rust-lang/mdBook"; From 2c724274f88d364913e8c39e69f45690285c26a3 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Tue, 29 Mar 2022 04:28:23 +0000 Subject: [PATCH 190/203] verco: 6.7.0 -> 6.8.0 --- pkgs/applications/version-management/verco/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/applications/version-management/verco/default.nix b/pkgs/applications/version-management/verco/default.nix index 715ae0978cc1..407608cc22d5 100644 --- a/pkgs/applications/version-management/verco/default.nix +++ b/pkgs/applications/version-management/verco/default.nix @@ -2,16 +2,16 @@ rustPlatform.buildRustPackage rec { pname = "verco"; - version = "6.7.0"; + version = "6.8.0"; src = fetchFromGitHub { owner = "vamolessa"; repo = pname; rev = "v${version}"; - sha256 = "sha256-H8rDaRVU3G3iuBv0Tz/YOuYbL2k8wEoEIIEG7hjU6eM="; + sha256 = "sha256-E1kqJLnTLPu38zvDGaPHiKSW/yKormbx5N1CBSzQxgc="; }; - cargoSha256 = "sha256-4Ou/stedL3WCY4Awsl++lc5fZ9gxd4uorf4G2/0DiPc="; + cargoSha256 = "sha256-9342LAChCv61kxTJoeOy7EdafMfR10s8dtkc2pTgXT0="; meta = with lib; { description = "A simple Git/Mercurial/PlasticSCM tui client based on keyboard shortcuts"; From 5770223a74ee8cfab853f42a4bcfcfba5f066295 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Tue, 29 Mar 2022 00:44:25 +0000 Subject: [PATCH 191/203] swayr: 0.15.0 -> 0.16.0 --- pkgs/tools/wayland/swayr/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/tools/wayland/swayr/default.nix b/pkgs/tools/wayland/swayr/default.nix index 6237d1a88eeb..b35911832150 100644 --- a/pkgs/tools/wayland/swayr/default.nix +++ b/pkgs/tools/wayland/swayr/default.nix @@ -2,16 +2,16 @@ rustPlatform.buildRustPackage rec { pname = "swayr"; - version = "0.15.0"; + version = "0.16.0"; src = fetchFromSourcehut { owner = "~tsdh"; repo = "swayr"; rev = "v${version}"; - sha256 = "sha256-GLOJjGr29v4oVNCWgjPWluIiSeLoIYeOw2HwmSfxA8Y="; + sha256 = "sha256-b35jGbAEQ3w46Oea21xiUODRDD7cixiMuPlc40YxelE="; }; - cargoSha256 = "sha256-gg/IHrgfDZT+3FNM/se5X1YMcHX127jMNI/WDEpMzy4="; + cargoSha256 = "sha256-EwK4F+XQWYhZqE4NMrghmVfWJ0znPJdGZLNUq6weoqQ="; patches = [ ./icon-paths.patch From 286be1f7f3d7d13ee30839878cda148d9e2721a4 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 30 Mar 2022 03:42:59 +0000 Subject: [PATCH 192/203] kak-lsp: 12.0.1 -> 12.1.0 --- pkgs/tools/misc/kak-lsp/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/tools/misc/kak-lsp/default.nix b/pkgs/tools/misc/kak-lsp/default.nix index 772eb520869b..d2b79c4d011c 100644 --- a/pkgs/tools/misc/kak-lsp/default.nix +++ b/pkgs/tools/misc/kak-lsp/default.nix @@ -2,16 +2,16 @@ rustPlatform.buildRustPackage rec { pname = "kak-lsp"; - version = "12.0.1"; + version = "12.1.0"; src = fetchFromGitHub { owner = pname; repo = pname; rev = "v${version}"; - sha256 = "sha256-K2GMoLaH7D6UtPuL+GJMqsPFwriyyi7WMdfzBmOceSA="; + sha256 = "sha256-5sPw95lSbswIUbNIZ4mpA3WeZt7u+a5s4KxkTnN14Sw="; }; - cargoSha256 = "sha256-suBBEHGHUlZyxKy5hwhc2K/qTNis75GY33+7QhpmGos="; + cargoSha256 = "sha256-rPsiMeoc8cWUgmqAxdDGrAQdurIH3bzNq5tpocnnegA="; buildInputs = lib.optionals stdenv.isDarwin [ Security SystemConfiguration ]; From 65fadfb83849a273cb8ecc1895dafbb2d3329d72 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 1 Apr 2022 03:59:33 +0000 Subject: [PATCH 193/203] taskwarrior-tui: 0.21.1 -> 0.22.0 --- pkgs/applications/misc/taskwarrior-tui/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/applications/misc/taskwarrior-tui/default.nix b/pkgs/applications/misc/taskwarrior-tui/default.nix index 7d730421398c..1346cba9acd5 100644 --- a/pkgs/applications/misc/taskwarrior-tui/default.nix +++ b/pkgs/applications/misc/taskwarrior-tui/default.nix @@ -5,19 +5,19 @@ rustPlatform.buildRustPackage rec { pname = "taskwarrior-tui"; - version = "0.21.1"; + version = "0.22.0"; src = fetchFromGitHub { owner = "kdheepak"; repo = "taskwarrior-tui"; rev = "v${version}"; - sha256 = "sha256-fgoK7Y+3h2VFfP8yiR8JM8Xf7UJbkX9PO1RoJRoYLW4="; + sha256 = "sha256-121TfmaWrWppsOiuF+8gxy+3J5YzbliYj88nw4aLt9w="; }; # Because there's a test that requires terminal access doCheck = false; - cargoSha256 = "sha256-3rDvla1mCcQclALbomUTvE3aLzsMeIjcIbEv4KfCKZE="; + cargoSha256 = "sha256-oTb1pSA9g9cExCXKaQjNm+h5WB4bWuqODkU7MvvspGQ="; meta = with lib; { description = "A terminal user interface for taskwarrior "; From 12f94fda6b50584b067d2b711568845b37eee946 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 1 Apr 2022 22:34:41 +0000 Subject: [PATCH 194/203] jql: 3.1.3 -> 3.2.0 --- pkgs/development/tools/jql/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/development/tools/jql/default.nix b/pkgs/development/tools/jql/default.nix index d7f557edfb01..0154df2c7fc0 100644 --- a/pkgs/development/tools/jql/default.nix +++ b/pkgs/development/tools/jql/default.nix @@ -2,16 +2,16 @@ rustPlatform.buildRustPackage rec { pname = "jql"; - version = "3.1.3"; + version = "3.2.0"; src = fetchFromGitHub { owner = "yamafaktory"; repo = pname; rev = "v${version}"; - sha256 = "sha256-kYAVgQa5NAfZ7EVzO/3fW3A5Zl8uaFXguvxBco8DfRY="; + sha256 = "sha256-U++yypq9M1C6Sh9rv3rmn/qwTXWdPFDBpjFS6eoS2L4="; }; - cargoSha256 = "sha256-Mz+1A7Wg7sh0pxg7umRym3UkXsMkRE0AQDTkt+e7l+s="; + cargoSha256 = "sha256-uyD+QBDfnZa3nfZcUAqruYqJ9nVAa5+XOPONds0ysXU="; meta = with lib; { description = "A JSON Query Language CLI tool built with Rust"; From e0b8dc89044f2dae9a2a0fc3451e4872a03969c3 Mon Sep 17 00:00:00 2001 From: Artturin Date: Sat, 2 Apr 2022 05:56:33 +0300 Subject: [PATCH 195/203] intel-ocl: add http url to url list intel sometimes decides that they dont want to use http/s https://github.com/NixOS/nixpkgs/issues/166886 --- pkgs/os-specific/linux/intel-ocl/default.nix | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/pkgs/os-specific/linux/intel-ocl/default.nix b/pkgs/os-specific/linux/intel-ocl/default.nix index 06cb18b23774..026ce80c645a 100644 --- a/pkgs/os-specific/linux/intel-ocl/default.nix +++ b/pkgs/os-specific/linux/intel-ocl/default.nix @@ -5,7 +5,11 @@ stdenv.mkDerivation rec { version = "5.0-63503"; src = fetchzip { - url = "https://registrationcenter-download.intel.com/akdlm/irc_nas/11396/SRB5.0_linux64.zip"; + # https://github.com/NixOS/nixpkgs/issues/166886 + urls = [ + "https://registrationcenter-download.intel.com/akdlm/irc_nas/11396/SRB5.0_linux64.zip" + "http://registrationcenter-download.intel.com/akdlm/irc_nas/11396/SRB5.0_linux64.zip" + ]; sha256 = "0qbp63l74s0i80ysh9ya8x7r79xkddbbz4378nms9i7a0kprg9p2"; stripRoot = false; }; From 524c463486410271b1a6e0bde8a841fb1d4b7dbe Mon Sep 17 00:00:00 2001 From: Bobby Rong Date: Fri, 1 Apr 2022 03:18:41 +0000 Subject: [PATCH 196/203] =?UTF-8?q?gnome.five-or-more:=203.32.2=20?= =?UTF-8?q?=E2=86=92=203.32.3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit https://gitlab.gnome.org/GNOME/five-or-more/-/compare/3.32.2...3.32.3 --- pkgs/desktops/gnome/games/five-or-more/default.nix | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/pkgs/desktops/gnome/games/five-or-more/default.nix b/pkgs/desktops/gnome/games/five-or-more/default.nix index 072c5e81712b..ce532d1d5cd4 100644 --- a/pkgs/desktops/gnome/games/five-or-more/default.nix +++ b/pkgs/desktops/gnome/games/five-or-more/default.nix @@ -18,11 +18,11 @@ stdenv.mkDerivation rec { pname = "five-or-more"; - version = "3.32.2"; + version = "3.32.3"; src = fetchurl { url = "mirror://gnome/sources/five-or-more/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; - sha256 = "19pf8wzbf3ciqf2k4bj9sddvyhckfd62x86pnqr6s8h4vn9jc6ii"; + sha256 = "LRDXLu/esyS0R9YyrwwySW4l/BWjwB230vAMm1HQnvQ="; }; nativeBuildInputs = [ @@ -41,7 +41,6 @@ stdenv.mkDerivation rec { gtk3 librsvg libgnome-games-support - gnome.adwaita-icon-theme ]; postPatch = '' From 79cccf419b549df732b9c024c85d1ca421161754 Mon Sep 17 00:00:00 2001 From: Bobby Rong Date: Fri, 1 Apr 2022 03:25:54 +0000 Subject: [PATCH 197/203] =?UTF-8?q?gnome.gucharmap:=2014.0.2=20=E2=86=92?= =?UTF-8?q?=2014.0.3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit https://gitlab.gnome.org/GNOME/gucharmap/-/compare/14.0.2...14.0.3 --- pkgs/desktops/gnome/core/gucharmap/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/desktops/gnome/core/gucharmap/default.nix b/pkgs/desktops/gnome/core/gucharmap/default.nix index 3dc08e66357a..dbea63db4a35 100644 --- a/pkgs/desktops/gnome/core/gucharmap/default.nix +++ b/pkgs/desktops/gnome/core/gucharmap/default.nix @@ -45,7 +45,7 @@ let }; in stdenv.mkDerivation rec { pname = "gucharmap"; - version = "14.0.2"; + version = "14.0.3"; outputs = [ "out" "lib" "dev" "devdoc" ]; @@ -54,7 +54,7 @@ in stdenv.mkDerivation rec { owner = "GNOME"; repo = pname; rev = version; - sha256 = "sha256-gyOm/S0ae0kX4AFUiglqyGRGB8C/KUuaG/dr/Wf1ug0="; + sha256 = "sha256-xO34CR+SWxtHuP6G8m0jla0rivVp3ddrsODNo50MhHw="; }; nativeBuildInputs = [ From c167b827b5dabe47f8469603e13c74b693255212 Mon Sep 17 00:00:00 2001 From: Bobby Rong Date: Fri, 1 Apr 2022 14:22:50 +0000 Subject: [PATCH 198/203] =?UTF-8?q?gnome.sushi:=2041.0=20=E2=86=92=2041.1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit https://gitlab.gnome.org/GNOME/sushi/-/compare/41.0...41.1 --- pkgs/desktops/gnome/core/sushi/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/desktops/gnome/core/sushi/default.nix b/pkgs/desktops/gnome/core/sushi/default.nix index 00ac8e40aad0..4c6f960d8c84 100644 --- a/pkgs/desktops/gnome/core/sushi/default.nix +++ b/pkgs/desktops/gnome/core/sushi/default.nix @@ -23,11 +23,11 @@ stdenv.mkDerivation rec { pname = "sushi"; - version = "41.0"; + version = "41.1"; src = fetchurl { url = "mirror://gnome/sources/sushi/${lib.versions.major version}/${pname}-${version}.tar.xz"; - sha256 = "m3UlaQzkNmJO+gpgV3NJNDLNDva49GSYLouETtqYmO4="; + sha256 = "JifbYWLnV3hZDAfhZbLzbqJNEjGlE7FkAj/G3fx1xKM="; }; nativeBuildInputs = [ From 8b7daabf5bbc44d7f99db5a137983c954b47d326 Mon Sep 17 00:00:00 2001 From: taku0 Date: Sat, 2 Apr 2022 17:59:54 +0900 Subject: [PATCH 199/203] mozc: make mozc.el to find mozc_emacs_helper --- .../editors/emacs/elisp-packages/melpa-packages.nix | 7 +++++++ pkgs/tools/inputmethods/ibus-engines/ibus-mozc/default.nix | 1 + 2 files changed, 8 insertions(+) diff --git a/pkgs/applications/editors/emacs/elisp-packages/melpa-packages.nix b/pkgs/applications/editors/emacs/elisp-packages/melpa-packages.nix index 18c8549b9cca..7c481c6d977e 100644 --- a/pkgs/applications/editors/emacs/elisp-packages/melpa-packages.nix +++ b/pkgs/applications/editors/emacs/elisp-packages/melpa-packages.nix @@ -547,6 +547,13 @@ let ''; }); }); + + mozc = super.mozc.overrideAttrs (attrs: { + postPatch = attrs.postPatch or "" + '' + substituteInPlace src/unix/emacs/mozc.el \ + --replace '"mozc_emacs_helper"' '"${pkgs.ibus-engines.mozc}/lib/mozc/mozc_emacs_helper"' + ''; + }); }; in lib.mapAttrs (n: v: if lib.hasAttr n overrides then overrides.${n} else v) super); diff --git a/pkgs/tools/inputmethods/ibus-engines/ibus-mozc/default.nix b/pkgs/tools/inputmethods/ibus-engines/ibus-mozc/default.nix index 049e369e296e..8d4a93a375ec 100644 --- a/pkgs/tools/inputmethods/ibus-engines/ibus-mozc/default.nix +++ b/pkgs/tools/inputmethods/ibus-engines/ibus-mozc/default.nix @@ -73,6 +73,7 @@ stdenv.mkDerivation rec { install -m 644 data/images/unix/ui-alpha_half.png $out/share/ibus-mozc/alpha_half.png install -m 644 data/images/unix/ui-alpha_full.png $out/share/ibus-mozc/alpha_full.png install -D -m 755 out_linux/Release/mozc_renderer $out/lib/mozc/mozc_renderer + install -D -m 755 out_linux/Release/mozc_emacs_helper $out/lib/mozc/mozc_emacs_helper runHook postInstall ''; From f665340b6c09fb1ba4a644465e65ac20e3e9bbce Mon Sep 17 00:00:00 2001 From: Jan Solanti Date: Wed, 30 Mar 2022 02:21:06 +0300 Subject: [PATCH 200/203] pipewire: 0.3.48 -> 0.3.49 --- .../pipewire/daemon/pipewire-pulse.conf.json | 17 +++++++++-------- pkgs/development/libraries/pipewire/default.nix | 4 ++-- 2 files changed, 11 insertions(+), 10 deletions(-) diff --git a/nixos/modules/services/desktops/pipewire/daemon/pipewire-pulse.conf.json b/nixos/modules/services/desktops/pipewire/daemon/pipewire-pulse.conf.json index df0f62556dff..b19fb33ec178 100644 --- a/nixos/modules/services/desktops/pipewire/daemon/pipewire-pulse.conf.json +++ b/nixos/modules/services/desktops/pipewire/daemon/pipewire-pulse.conf.json @@ -29,14 +29,7 @@ }, { "name": "libpipewire-module-protocol-pulse", - "args": { - "server.address": [ - "unix:native" - ], - "vm.overrides": { - "pulse.min.quantum": "1024/48000" - } - } + "args": {} } ], "context.exec": [ @@ -46,6 +39,14 @@ } ], "stream.properties": {}, + "pulse.properties": { + "server.address": [ + "unix:native" + ], + "vm.overrides": { + "pulse.min.quantum": "1024/48000" + } + }, "pulse.rules": [ { "matches": [ diff --git a/pkgs/development/libraries/pipewire/default.nix b/pkgs/development/libraries/pipewire/default.nix index d37e0a050866..f6cdf0b1f7cb 100644 --- a/pkgs/development/libraries/pipewire/default.nix +++ b/pkgs/development/libraries/pipewire/default.nix @@ -68,7 +68,7 @@ let self = stdenv.mkDerivation rec { pname = "pipewire"; - version = "0.3.48"; + version = "0.3.49"; outputs = [ "out" @@ -86,7 +86,7 @@ let owner = "pipewire"; repo = "pipewire"; rev = version; - sha256 = "sha256-+gk/MJ9YimHBwN2I42DRP+I2OqBFFtZ81Fd/l89HcSk="; + sha256 = "sha256-8heX/9BsPguIOzHOuqEQdt6MS3eS4HxR4A+FUZKNpdo="; }; patches = [ From fd211d7aaa4210cc9dc9e8e75976dcb5daba5542 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 31 Mar 2022 15:29:35 +0000 Subject: [PATCH 201/203] drawing: 0.8.5 -> 1.0.0 --- pkgs/applications/graphics/drawing/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/graphics/drawing/default.nix b/pkgs/applications/graphics/drawing/default.nix index 862863bdddac..40c651ac2570 100644 --- a/pkgs/applications/graphics/drawing/default.nix +++ b/pkgs/applications/graphics/drawing/default.nix @@ -18,7 +18,7 @@ python3.pkgs.buildPythonApplication rec { pname = "drawing"; - version = "0.8.5"; + version = "1.0.0"; format = "other"; @@ -26,7 +26,7 @@ python3.pkgs.buildPythonApplication rec { owner = "maoschanz"; repo = pname; rev = version; - sha256 = "1q4a1gwmzz0rm10cnd4nzd51zfc2bjc6dsvf90qk1di9x7svis64"; + sha256 = "sha256-qNaljtuA5E/QaLJ9QILPRQCqOvKmX4ZGq/0z5unA8KA="; }; nativeBuildInputs = [ From 75e301c3577776d76bc9287ba3f57b2657c403f0 Mon Sep 17 00:00:00 2001 From: Kerstin Humm Date: Sat, 2 Apr 2022 12:43:34 +0200 Subject: [PATCH 202/203] imagemagick6: remove erictapen as maintainer I haven't looked at this package for a long time, so let's reflect that fact in the maintainer field. --- pkgs/applications/graphics/ImageMagick/6.x.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/applications/graphics/ImageMagick/6.x.nix b/pkgs/applications/graphics/ImageMagick/6.x.nix index 4c06eb7962bc..032af6cf6144 100644 --- a/pkgs/applications/graphics/ImageMagick/6.x.nix +++ b/pkgs/applications/graphics/ImageMagick/6.x.nix @@ -83,7 +83,7 @@ stdenv.mkDerivation rec { changelog = "https://legacy.imagemagick.org/script/changelog.php"; description = "A software suite to create, edit, compose, or convert bitmap images"; platforms = platforms.linux ++ platforms.darwin; - maintainers = with maintainers; [ erictapen ]; + maintainers = with maintainers; [ ]; license = licenses.asl20; }; } From d8d3deb8d91c01892f70e7e5ab7fdf182ab6d71d Mon Sep 17 00:00:00 2001 From: Gabriel Ebner Date: Sat, 2 Apr 2022 12:59:35 +0200 Subject: [PATCH 203/203] gcr: use wrapGAppsHook The manual wrapProgram invocation missed binaries in libexec. --- pkgs/development/libraries/gcr/default.nix | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/pkgs/development/libraries/gcr/default.nix b/pkgs/development/libraries/gcr/default.nix index b277a52a6583..6c1c3de08a2e 100644 --- a/pkgs/development/libraries/gcr/default.nix +++ b/pkgs/development/libraries/gcr/default.nix @@ -16,7 +16,7 @@ , openssh , systemd , gobject-introspection -, makeWrapper +, wrapGAppsHook , libxslt , vala , gnome @@ -53,7 +53,7 @@ stdenv.mkDerivation rec { gettext gobject-introspection libxslt - makeWrapper + wrapGAppsHook vala shared-mime-info ]; @@ -96,11 +96,6 @@ stdenv.mkDerivation rec { patchShebangs meson_post_install.py ''; - preFixup = '' - wrapProgram "$out/bin/gcr-viewer" \ - --prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH" - ''; - passthru = { updateScript = gnome.updateScript { packageName = pname;