diff options
author | Vladimír Čunát <v@cunat.cz> | 2021-11-05 10:47:38 +0100 |
---|---|---|
committer | Vladimír Čunát <v@cunat.cz> | 2021-11-05 10:48:58 +0100 |
commit | 555a4016a2c052270489b8307f8ae650349ffc23 (patch) | |
tree | 42e67e5ddd24d0b2e392530afeb2b55d96a57c52 | |
parent | 9a96e0ec8c93e0040906a8044d213933cebc32ee (diff) | |
parent | e53afee6daf71f89beac7c3d2b618abadd37ab71 (diff) | |
download | nixpkgs-555a4016a2c052270489b8307f8ae650349ffc23.tar nixpkgs-555a4016a2c052270489b8307f8ae650349ffc23.tar.gz nixpkgs-555a4016a2c052270489b8307f8ae650349ffc23.tar.bz2 nixpkgs-555a4016a2c052270489b8307f8ae650349ffc23.tar.lz nixpkgs-555a4016a2c052270489b8307f8ae650349ffc23.tar.xz nixpkgs-555a4016a2c052270489b8307f8ae650349ffc23.tar.zst nixpkgs-555a4016a2c052270489b8307f8ae650349ffc23.zip |
Merge branch 'staging-next' into staging
60 files changed, 165 insertions, 103 deletions
diff --git a/README.md b/README.md index c8aef851574..a09b7d92e3e 100644 --- a/README.md +++ b/README.md @@ -53,7 +53,7 @@ system, [Hydra](https://hydra.nixos.org/). Artifacts successfully built with Hydra are published to cache at https://cache.nixos.org/. When successful build and test criteria are met, the Nixpkgs expressions are distributed via [Nix -channels](https://nixos.org/nix/manual/#sec-channels). +channels](https://nixos.org/manual/nix/stable/package-management/channels.html). # Contributing diff --git a/doc/using/overlays.chapter.md b/doc/using/overlays.chapter.md index d2e3b49a6aa..df152bc14e7 100644 --- a/doc/using/overlays.chapter.md +++ b/doc/using/overlays.chapter.md @@ -112,7 +112,7 @@ self: super: This overlay uses Intel's MKL library for both BLAS and LAPACK interfaces. Note that the same can be accomplished at runtime using `LD_LIBRARY_PATH` of `libblas.so.3` and `liblapack.so.3`. For instance: ```ShellSession -$ LD_LIBRARY_PATH=$(nix-build -A mkl)/lib:$LD_LIBRARY_PATH nix-shell -p octave --run octave +$ LD_LIBRARY_PATH=$(nix-build -A mkl)/lib${LD_LIBRARY_PATH:+:}$LD_LIBRARY_PATH nix-shell -p octave --run octave ``` Intel MKL requires an `openmp` implementation when running with multiple processors. By default, `mkl` will use Intel's `iomp` implementation if no other is specified, but this is a runtime-only dependency and binary compatible with the LLVM implementation. To use that one instead, Intel recommends users set it with `LD_PRELOAD`. Note that `mkl` is only available on `x86_64-linux` and `x86_64-darwin`. Moreover, Hydra is not building and distributing pre-compiled binaries using it. diff --git a/nixos/doc/manual/development/writing-nixos-tests.section.md b/nixos/doc/manual/development/writing-nixos-tests.section.md index bf80099f1a2..a8c54aa6676 100644 --- a/nixos/doc/manual/development/writing-nixos-tests.section.md +++ b/nixos/doc/manual/development/writing-nixos-tests.section.md @@ -159,6 +159,10 @@ The following methods are available on machine objects: `execute` : Execute a shell command, returning a list `(status, stdout)`. + If the command detaches, it must close stdout, as `execute` will wait + for this to consume all output reliably. This can be achieved by + redirecting stdout to stderr `>&2`, to `/dev/console`, `/dev/null` or + a file. Takes an optional parameter `check_return` that defaults to `True`. Setting this parameter to `False` will not check for the return code and return -1 instead. This can be used for commands that shut down @@ -179,6 +183,8 @@ The following methods are available on machine objects: - Dereferencing unset variables fail the command. + - It will wait for stdout to be closed. See `execute`. + `fail` : Like `succeed`, but raising an exception if the command returns a zero 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 a3b63422433..e0fd90f2bac 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 @@ -266,7 +266,12 @@ start_all() <listitem> <para> Execute a shell command, returning a list - <literal>(status, stdout)</literal>. Takes an optional + <literal>(status, stdout)</literal>. If the command detaches, + it must close stdout, as <literal>execute</literal> will wait + for this to consume all output reliably. This can be achieved + by redirecting stdout to stderr <literal>>&2</literal>, + to <literal>/dev/console</literal>, + <literal>/dev/null</literal> or a file. Takes an optional parameter <literal>check_return</literal> that defaults to <literal>True</literal>. Setting this parameter to <literal>False</literal> will not check for the return code @@ -306,6 +311,12 @@ start_all() Dereferencing unset variables fail the command. </para> </listitem> + <listitem> + <para> + It will wait for stdout to be closed. See + <literal>execute</literal>. + </para> + </listitem> </itemizedlist> </listitem> </varlistentry> diff --git a/nixos/doc/manual/from_md/release-notes/rl-2111.section.xml b/nixos/doc/manual/from_md/release-notes/rl-2111.section.xml index 743384f2ffc..741d238f6bf 100644 --- a/nixos/doc/manual/from_md/release-notes/rl-2111.section.xml +++ b/nixos/doc/manual/from_md/release-notes/rl-2111.section.xml @@ -425,6 +425,23 @@ <itemizedlist> <listitem> <para> + The NixOS VM test framework, + <literal>pkgs.nixosTest</literal>/<literal>make-test-python.nix</literal>, + now requires non-terminating commands such as + <literal>succeed("foo &")</literal> to close + stdout. This can be done with a redirect such as + <literal>succeed("foo >&2 &")</literal>. + This breaking change was necessitated by a race condition + causing tests to fail or hang. It applies to all methods that + invoke commands on the nodes, including + <literal>execute</literal>, <literal>succeed</literal>, + <literal>fail</literal>, + <literal>wait_until_succeeds</literal>, + <literal>wait_until_fails</literal>. + </para> + </listitem> + <listitem> + <para> The <literal>services.wakeonlan</literal> option was removed, and replaced with <literal>networking.interfaces.<name>.wakeOnLan</literal>. diff --git a/nixos/doc/manual/release-notes/rl-2111.section.md b/nixos/doc/manual/release-notes/rl-2111.section.md index 18e61c230c9..5bb72e16ed2 100644 --- a/nixos/doc/manual/release-notes/rl-2111.section.md +++ b/nixos/doc/manual/release-notes/rl-2111.section.md @@ -128,6 +128,10 @@ In addition to numerous new and upgraded packages, this release has the followin ## Backward Incompatibilities {#sec-release-21.11-incompatibilities} +- The NixOS VM test framework, `pkgs.nixosTest`/`make-test-python.nix`, now requires non-terminating commands such as `succeed("foo &")` to close stdout. + This can be done with a redirect such as `succeed("foo >&2 &")`. This breaking change was necessitated by a race condition causing tests to fail or hang. + It applies to all methods that invoke commands on the nodes, including `execute`, `succeed`, `fail`, `wait_until_succeeds`, `wait_until_fails`. + - The `services.wakeonlan` option was removed, and replaced with `networking.interfaces.<name>.wakeOnLan`. - The `security.wrappers` option now requires to always specify an owner, group and whether the setuid/setgid bit should be set. diff --git a/nixos/tests/containers-imperative.nix b/nixos/tests/containers-imperative.nix index 361160b1fdc..34103ef7586 100644 --- a/nixos/tests/containers-imperative.nix +++ b/nixos/tests/containers-imperative.nix @@ -119,7 +119,7 @@ import ./make-test-python.nix ({ pkgs, lib, ... }: { with subtest("Stop a container early"): machine.succeed(f"nixos-container stop {id1}") - machine.succeed(f"nixos-container start {id1} &") + machine.succeed(f"nixos-container start {id1} >&2 &") machine.wait_for_console_text("Stage 2") machine.succeed(f"nixos-container stop {id1}") machine.wait_for_console_text(f"Container {id1} exited successfully") diff --git a/nixos/tests/croc.nix b/nixos/tests/croc.nix index 75a8fc991d4..5d709eb3d1c 100644 --- a/nixos/tests/croc.nix +++ b/nixos/tests/croc.nix @@ -38,7 +38,7 @@ in { sender.execute("echo Hello World > testfile01.txt") sender.execute("echo Hello Earth > testfile02.txt") sender.execute( - "croc --pass ${pass} --relay relay send --code topSecret testfile01.txt testfile02.txt &" + "croc --pass ${pass} --relay relay send --code topSecret testfile01.txt testfile02.txt >&2 &" ) # receive the testfiles and check them diff --git a/nixos/tests/emacs-daemon.nix b/nixos/tests/emacs-daemon.nix index 58bcd095990..e12da56021d 100644 --- a/nixos/tests/emacs-daemon.nix +++ b/nixos/tests/emacs-daemon.nix @@ -33,7 +33,7 @@ import ./make-test-python.nix ({ pkgs, ...} : { ) # connects to the daemon - machine.succeed("emacsclient --create-frame $EDITOR &") + machine.succeed("emacsclient --create-frame $EDITOR >&2 &") # checks that Emacs shows the edited filename machine.wait_for_text("emacseditor") diff --git a/nixos/tests/enlightenment.nix b/nixos/tests/enlightenment.nix index 4623574ce92..c5f0e208906 100644 --- a/nixos/tests/enlightenment.nix +++ b/nixos/tests/enlightenment.nix @@ -88,7 +88,7 @@ import ./make-test-python.nix ({ pkgs, ...} : machine.screenshot("wizard12") with subtest("Run Terminology"): - machine.succeed("terminology &") + machine.succeed("terminology >&2 &") machine.sleep(5) machine.send_chars("ls --color -alF\n") machine.sleep(2) diff --git a/nixos/tests/etesync-dav.nix b/nixos/tests/etesync-dav.nix index da5c056f534..6a747e23f76 100644 --- a/nixos/tests/etesync-dav.nix +++ b/nixos/tests/etesync-dav.nix @@ -13,7 +13,7 @@ import ./make-test-python.nix ({ pkgs, ... }: { '' machine.wait_for_unit("multi-user.target") machine.succeed("etesync-dav --version") - machine.execute("etesync-dav &") + machine.execute("etesync-dav >&2 &") machine.wait_for_open_port(37358) with subtest("Check that the web interface is accessible"): assert "Add User" in machine.succeed("curl -s http://localhost:37358/.web/add/") diff --git a/nixos/tests/firefox.nix b/nixos/tests/firefox.nix index dcaf369b62b..7216ad43b8e 100644 --- a/nixos/tests/firefox.nix +++ b/nixos/tests/firefox.nix @@ -91,7 +91,7 @@ import ./make-test-python.nix ({ pkgs, firefoxPackage, ... }: { with subtest("Wait until Firefox has finished loading the Valgrind docs page"): machine.execute( - "xterm -e 'firefox file://${pkgs.valgrind.doc}/share/doc/valgrind/html/index.html' &" + "xterm -e 'firefox file://${pkgs.valgrind.doc}/share/doc/valgrind/html/index.html' >&2 &" ) machine.wait_for_window("Valgrind") machine.sleep(40) @@ -99,7 +99,7 @@ import ./make-test-python.nix ({ pkgs, firefoxPackage, ... }: { with subtest("Check whether Firefox can play sound"): with audio_recording(machine): machine.succeed( - "firefox file://${pkgs.sound-theme-freedesktop}/share/sounds/freedesktop/stereo/phone-incoming-call.oga &" + "firefox file://${pkgs.sound-theme-freedesktop}/share/sounds/freedesktop/stereo/phone-incoming-call.oga >&2 &" ) wait_for_sound(machine) machine.copy_from_vm("/tmp/record.wav") diff --git a/nixos/tests/ft2-clone.nix b/nixos/tests/ft2-clone.nix index c877054234e..71eda43e2b2 100644 --- a/nixos/tests/ft2-clone.nix +++ b/nixos/tests/ft2-clone.nix @@ -22,7 +22,7 @@ import ./make-test-python.nix ({ pkgs, ... }: { # Add a dummy sound card, or the program won't start machine.execute("modprobe snd-dummy") - machine.execute("ft2-clone &") + machine.execute("ft2-clone >&2 &") machine.wait_for_window(r"Fasttracker") machine.sleep(5) diff --git a/nixos/tests/hibernate.nix b/nixos/tests/hibernate.nix index 508e7aa64c0..4f05b99a5a1 100644 --- a/nixos/tests/hibernate.nix +++ b/nixos/tests/hibernate.nix @@ -110,7 +110,7 @@ in makeTest { ) # Hibernate machine - hibernate.execute("systemctl hibernate &", check_return=False) + hibernate.execute("systemctl hibernate >&2 &", check_return=False) hibernate.wait_for_shutdown() # Restore machine from hibernation, validate our ramfs file is there. diff --git a/nixos/tests/keepassxc.nix b/nixos/tests/keepassxc.nix index 98902187f6a..685a200b318 100644 --- a/nixos/tests/keepassxc.nix +++ b/nixos/tests/keepassxc.nix @@ -26,7 +26,7 @@ import ./make-test-python.nix ({ pkgs, ...} : machine.wait_for_x() # start KeePassXC window - machine.execute("su - alice -c keepassxc &") + machine.execute("su - alice -c keepassxc >&2 &") machine.wait_for_text("KeePassXC ${pkgs.keepassxc.version}") machine.screenshot("KeePassXC") diff --git a/nixos/tests/kexec.nix b/nixos/tests/kexec.nix index 9768d6d2108..010f3da4984 100644 --- a/nixos/tests/kexec.nix +++ b/nixos/tests/kexec.nix @@ -13,7 +13,7 @@ import ./make-test-python.nix ({ pkgs, lib, ...} : { '' machine.wait_for_unit("multi-user.target") machine.succeed('kexec --load /run/current-system/kernel --initrd /run/current-system/initrd --command-line "$(</proc/cmdline)"') - machine.execute("systemctl kexec &", check_return=False) + machine.execute("systemctl kexec >&2 &", check_return=False) machine.connected = False machine.connect() machine.wait_for_unit("multi-user.target") diff --git a/nixos/tests/keymap.nix b/nixos/tests/keymap.nix index a18a05f90c6..4306a9ae2cf 100644 --- a/nixos/tests/keymap.nix +++ b/nixos/tests/keymap.nix @@ -46,7 +46,7 @@ let # set up process that expects all the keys to be entered machine.succeed( - "{} {} {} {} &".format( + "{} {} {} {} >&2 &".format( cmd, "${testReader}", len(inputs), diff --git a/nixos/tests/libreswan.nix b/nixos/tests/libreswan.nix index 17ae60af8ee..56ab908aed9 100644 --- a/nixos/tests/libreswan.nix +++ b/nixos/tests/libreswan.nix @@ -89,7 +89,7 @@ in """ Sends a message as Alice to Bob """ - bob.execute("nc -lu ::0 1234 >/tmp/msg &") + bob.execute("nc -lu ::0 1234 >/tmp/msg >&2 &") alice.sleep(1) alice.succeed(f"echo '{msg}' | nc -uw 0 bob 1234") bob.succeed(f"grep '{msg}' /tmp/msg") @@ -100,7 +100,7 @@ in Starts eavesdropping on Alice and Bob """ match = "src host alice and dst host bob" - eve.execute(f"tcpdump -i br0 -c 1 -Avv {match} >/tmp/log &") + eve.execute(f"tcpdump -i br0 -c 1 -Avv {match} >/tmp/log >&2 &") start_all() @@ -120,7 +120,7 @@ in alice.succeed("ipsec verify 1>&2") with subtest("Alice and Bob can start the tunnel"): - alice.execute("ipsec auto --start tunnel &") + alice.execute("ipsec auto --start tunnel >&2 &") bob.succeed("ipsec auto --start tunnel") # apparently this is needed to "wake" the tunnel bob.execute("ping -c1 alice") diff --git a/nixos/tests/lorri/default.nix b/nixos/tests/lorri/default.nix index c33c7503993..147ae999fdb 100644 --- a/nixos/tests/lorri/default.nix +++ b/nixos/tests/lorri/default.nix @@ -14,7 +14,7 @@ import ../make-test-python.nix { ) # Start the daemon and wait until it is ready - machine.execute("lorri daemon > lorri.stdout 2> lorri.stderr &") + machine.execute("lorri daemon > lorri.stdout 2> lorri.stderr >&2 &") machine.wait_until_succeeds("grep --fixed-strings 'ready' lorri.stdout") # Ping the daemon diff --git a/nixos/tests/magic-wormhole-mailbox-server.nix b/nixos/tests/magic-wormhole-mailbox-server.nix index afdf7124fdc..54088ac60f2 100644 --- a/nixos/tests/magic-wormhole-mailbox-server.nix +++ b/nixos/tests/magic-wormhole-mailbox-server.nix @@ -29,7 +29,7 @@ import ./make-test-python.nix ({ pkgs, ... }: { # Create a secret file and send it to Bob client_alice.succeed("echo mysecret > secretfile") - client_alice.succeed("wormhole --relay-url=ws://server:4000/v1 send -0 secretfile &") + client_alice.succeed("wormhole --relay-url=ws://server:4000/v1 send -0 secretfile >&2 &") # Retrieve a secret file from Alice and check its content client_bob.succeed("wormhole --relay-url=ws://server:4000/v1 receive -0 --accept-file") diff --git a/nixos/tests/minecraft.nix b/nixos/tests/minecraft.nix index 3225ebac392..1c34f04b4df 100644 --- a/nixos/tests/minecraft.nix +++ b/nixos/tests/minecraft.nix @@ -20,7 +20,7 @@ import ./make-test-python.nix ({ pkgs, lib, ... }: { let user = nodes.client.config.users.users.alice; in '' client.wait_for_x() - client.execute("su - alice -c minecraft-launcher &") + client.execute("su - alice -c minecraft-launcher >&2 &") client.wait_for_text("Create a new Microsoft account") client.sleep(10) client.screenshot("launcher") diff --git a/nixos/tests/mpv.nix b/nixos/tests/mpv.nix index 9e44862cb1b..a4803f3cb5b 100644 --- a/nixos/tests/mpv.nix +++ b/nixos/tests/mpv.nix @@ -21,7 +21,7 @@ in }; testScript = '' - machine.execute("set -m; mpv --script-opts=webui-port=${port} --idle=yes &") + machine.execute("set -m; mpv --script-opts=webui-port=${port} --idle=yes >&2 &") machine.wait_for_open_port(${port}) assert "<title>simple-mpv-webui" in machine.succeed("curl -s localhost:${port}") ''; diff --git a/nixos/tests/mumble.nix b/nixos/tests/mumble.nix index 717f3c78928..2b5cc20163b 100644 --- a/nixos/tests/mumble.nix +++ b/nixos/tests/mumble.nix @@ -38,8 +38,8 @@ in client1.wait_for_x() client2.wait_for_x() - client1.execute("mumble mumble://client1:testpassword\@server/test &") - client2.execute("mumble mumble://client2:testpassword\@server/test &") + client1.execute("mumble mumble://client1:testpassword\@server/test >&2 &") + client2.execute("mumble mumble://client2:testpassword\@server/test >&2 &") # cancel client audio configuration client1.wait_for_window(r"Audio Tuning Wizard") diff --git a/nixos/tests/musescore.nix b/nixos/tests/musescore.nix index 96481a9a8bf..7fd80d70df1 100644 --- a/nixos/tests/musescore.nix +++ b/nixos/tests/musescore.nix @@ -44,7 +44,7 @@ in ) # Start MuseScore window - machine.execute("DISPLAY=:0.0 mscore &") + machine.execute("DISPLAY=:0.0 mscore >&2 &") # Wait until MuseScore has launched machine.wait_for_window("MuseScore") diff --git a/nixos/tests/nfs/simple.nix b/nixos/tests/nfs/simple.nix index 6a01089c082..1e319a8eec8 100644 --- a/nixos/tests/nfs/simple.nix +++ b/nixos/tests/nfs/simple.nix @@ -66,7 +66,7 @@ in client2.succeed("time flock -n -s /data/lock true") with subtest("client 2 fails to acquire lock held by client 1"): - client1.succeed("flock -x /data/lock -c 'touch locked; sleep 100000' &") + client1.succeed("flock -x /data/lock -c 'touch locked; sleep 100000' >&2 &") client1.wait_for_file("locked") client2.fail("flock -n -s /data/lock true") diff --git a/nixos/tests/nginx-etag.nix b/nixos/tests/nginx-etag.nix index 63ab2e0c6c2..a7bfc0d2695 100644 --- a/nixos/tests/nginx-etag.nix +++ b/nixos/tests/nginx-etag.nix @@ -76,7 +76,7 @@ import ./make-test-python.nix { server.wait_for_unit("nginx.service") client.wait_for_unit("multi-user.target") - client.execute("test-runner &") + client.execute("test-runner >&2 &") client.wait_for_file("/tmp/passed_stage1") server.succeed( diff --git a/nixos/tests/nixops/default.nix b/nixos/tests/nixops/default.nix index a5c4a82be91..3fb81906a52 100644 --- a/nixos/tests/nixops/default.nix +++ b/nixos/tests/nixops/default.nix @@ -78,7 +78,7 @@ let # Put newlines on console, to flush the console reader's line buffer # in case nixops' last output did not end in a newline, as is the case # with a status line (if implemented?) - deployer.succeed("while sleep 60s; do echo [60s passed] >/dev/console; done &") + deployer.succeed("while sleep 60s; do echo [60s passed]; done >&2 &") deployer_do("cd ~/unicorn; ssh -oStrictHostKeyChecking=accept-new root@server echo hi") diff --git a/nixos/tests/openarena.nix b/nixos/tests/openarena.nix index 461a35e89fe..63dc1b9a685 100644 --- a/nixos/tests/openarena.nix +++ b/nixos/tests/openarena.nix @@ -38,8 +38,8 @@ in { client1.wait_for_x() client2.wait_for_x() - client1.execute("openarena +set r_fullscreen 0 +set name Foo +connect server &") - client2.execute("openarena +set r_fullscreen 0 +set name Bar +connect server &") + client1.execute("openarena +set r_fullscreen 0 +set name Foo +connect server >&2 &") + client2.execute("openarena +set r_fullscreen 0 +set name Bar +connect server >&2 &") server.wait_until_succeeds( "journalctl -u openarena -e | grep -q 'Foo.*entered the game'" diff --git a/nixos/tests/plotinus.nix b/nixos/tests/plotinus.nix index ddd6a4c1194..af38b41813b 100644 --- a/nixos/tests/plotinus.nix +++ b/nixos/tests/plotinus.nix @@ -14,7 +14,7 @@ import ./make-test-python.nix ({ pkgs, ... }: { testScript = '' machine.wait_for_x() - machine.succeed("gnome-calculator &") + machine.succeed("gnome-calculator >&2 &") machine.wait_for_window("gnome-calculator") machine.succeed( "xdotool search --sync --onlyvisible --class gnome-calculator " diff --git a/nixos/tests/pt2-clone.nix b/nixos/tests/pt2-clone.nix index 3c090b7de42..364920c3987 100644 --- a/nixos/tests/pt2-clone.nix +++ b/nixos/tests/pt2-clone.nix @@ -22,7 +22,7 @@ import ./make-test-python.nix ({ pkgs, ... }: { # Add a dummy sound card, or the program won't start machine.execute("modprobe snd-dummy") - machine.execute("pt2-clone &") + machine.execute("pt2-clone >&2 &") machine.wait_for_window(r"ProTracker") machine.sleep(5) diff --git a/nixos/tests/shattered-pixel-dungeon.nix b/nixos/tests/shattered-pixel-dungeon.nix index d8c4b44819e..d4e5de22ab9 100644 --- a/nixos/tests/shattered-pixel-dungeon.nix +++ b/nixos/tests/shattered-pixel-dungeon.nix @@ -19,7 +19,7 @@ import ./make-test-python.nix ({ pkgs, ... }: { testScript = '' machine.wait_for_x() - machine.execute("shattered-pixel-dungeon &") + machine.execute("shattered-pixel-dungeon >&2 &") machine.wait_for_window(r"Shattered Pixel Dungeon") machine.sleep(5) if "Enter" not in machine.get_screen_text(): diff --git a/nixos/tests/signal-desktop.nix b/nixos/tests/signal-desktop.nix index 379af4d3912..7bc7cfe18cf 100644 --- a/nixos/tests/signal-desktop.nix +++ b/nixos/tests/signal-desktop.nix @@ -41,7 +41,7 @@ in { machine.wait_for_x() # start signal desktop - machine.execute("su - alice -c signal-desktop &") + machine.execute("su - alice -c signal-desktop >&2 &") # Wait for the Signal window to appear. Since usually the tests # are run sandboxed and therfore with no internet, we can not wait diff --git a/nixos/tests/soapui.nix b/nixos/tests/soapui.nix index 205128df91f..76a87ed5efa 100644 --- a/nixos/tests/soapui.nix +++ b/nixos/tests/soapui.nix @@ -16,7 +16,7 @@ import ./make-test-python.nix ({ pkgs, ... }: { testScript = '' machine.wait_for_x() - machine.succeed("soapui &") + machine.succeed("soapui >&2 &") machine.wait_for_window(r"SoapUI \d+\.\d+\.\d+") machine.sleep(1) machine.screenshot("soapui") diff --git a/nixos/tests/tigervnc.nix b/nixos/tests/tigervnc.nix index 092eaf238d8..ed575682d93 100644 --- a/nixos/tests/tigervnc.nix +++ b/nixos/tests/tigervnc.nix @@ -35,13 +35,13 @@ makeTest { for host in [server, client]: host.succeed("echo foobar | vncpasswd -f > vncpasswd") - server.succeed("Xvnc -geometry 720x576 :1 -PasswordFile vncpasswd &") + server.succeed("Xvnc -geometry 720x576 :1 -PasswordFile vncpasswd >&2 &") server.wait_until_succeeds("nc -z localhost 5901", timeout=10) server.succeed("DISPLAY=:1 xwininfo -root | grep 720x576") - server.execute("DISPLAY=:1 display -size 360x200 -font sans -gravity south label:'HELLO VNC WORLD' &") + server.execute("DISPLAY=:1 display -size 360x200 -font sans -gravity south label:'HELLO VNC WORLD' >&2 &") client.wait_for_x() - client.execute("vncviewer server:1 -PasswordFile vncpasswd &") + client.execute("vncviewer server:1 -PasswordFile vncpasswd >&2 &") client.wait_for_window(r"VNC") client.screenshot("screenshot") text = client.get_screen_text() diff --git a/nixos/tests/turbovnc-headless-server.nix b/nixos/tests/turbovnc-headless-server.nix index dfa17d65f85..7d705c56ecf 100644 --- a/nixos/tests/turbovnc-headless-server.nix +++ b/nixos/tests/turbovnc-headless-server.nix @@ -97,7 +97,7 @@ import ./make-test-python.nix ({ pkgs, lib, ... }: { ) machine.execute( # Note trailing & for backgrounding. - f"({xvnc_command} | tee /tmp/Xvnc.stdout) 3>&1 1>&2 2>&3 | tee /tmp/Xvnc.stderr &", + f"({xvnc_command} | tee /tmp/Xvnc.stdout) 3>&1 1>&2 2>&3 | tee /tmp/Xvnc.stderr >&2 &", ) @@ -119,7 +119,7 @@ import ./make-test-python.nix ({ pkgs, lib, ... }: { def test_glxgears_failing_with_bad_driver_path(): machine.execute( # Note trailing & for backgrounding. - "(env DISPLAY=:0 LIBGL_DRIVERS_PATH=/nonexistent glxgears -info | tee /tmp/glxgears-should-fail.stdout) 3>&1 1>&2 2>&3 | tee /tmp/glxgears-should-fail.stderr &" + "(env DISPLAY=:0 LIBGL_DRIVERS_PATH=/nonexistent glxgears -info | tee /tmp/glxgears-should-fail.stdout) 3>&1 1>&2 2>&3 | tee /tmp/glxgears-should-fail.stderr >&2 &" ) machine.wait_until_succeeds("test -f /tmp/glxgears-should-fail.stderr") wait_until_terminated_or_succeeds( @@ -136,7 +136,7 @@ import ./make-test-python.nix ({ pkgs, lib, ... }: { def test_glxgears_prints_renderer(): machine.execute( # Note trailing & for backgrounding. - "(env DISPLAY=:0 glxgears -info | tee /tmp/glxgears.stdout) 3>&1 1>&2 2>&3 | tee /tmp/glxgears.stderr &" + "(env DISPLAY=:0 glxgears -info | tee /tmp/glxgears.stdout) 3>&1 1>&2 2>&3 | tee /tmp/glxgears.stderr >&2 &" ) machine.wait_until_succeeds("test -f /tmp/glxgears.stderr") wait_until_terminated_or_succeeds( diff --git a/nixos/tests/tuxguitar.nix b/nixos/tests/tuxguitar.nix index 6586132d3cd..63a7b6c7dec 100644 --- a/nixos/tests/tuxguitar.nix +++ b/nixos/tests/tuxguitar.nix @@ -16,7 +16,7 @@ import ./make-test-python.nix ({ pkgs, ... }: { testScript = '' machine.wait_for_x() - machine.succeed("tuxguitar &") + machine.succeed("tuxguitar >&2 &") machine.wait_for_window("TuxGuitar - Untitled.tg") machine.sleep(1) machine.screenshot("tuxguitar") diff --git a/nixos/tests/virtualbox.nix b/nixos/tests/virtualbox.nix index 09314d93b7d..f15412d365f 100644 --- a/nixos/tests/virtualbox.nix +++ b/nixos/tests/virtualbox.nix @@ -430,7 +430,7 @@ in mapAttrs (mkVBoxTest false vboxVMs) { create_vm_simple() - machine.succeed(ru("VirtualBox &")) + machine.succeed(ru("VirtualBox >&2 &")) machine.wait_until_succeeds(ru("xprop -name 'Oracle VM VirtualBox Manager'")) machine.sleep(5) machine.screenshot("gui_manager_started") diff --git a/nixos/tests/vscodium.nix b/nixos/tests/vscodium.nix index ca75da35b1e..033090aa0e3 100644 --- a/nixos/tests/vscodium.nix +++ b/nixos/tests/vscodium.nix @@ -31,7 +31,7 @@ import ./make-test-python.nix ({ pkgs, ...} : # Start VSCodium with a file that doesn't exist yet machine.fail("ls /home/alice/foo.txt") - machine.succeed("su - alice -c 'codium foo.txt' &") + machine.succeed("su - alice -c 'codium foo.txt' >&2 &") # Wait for the window to appear machine.wait_for_text("VSCodium") diff --git a/nixos/tests/xrdp.nix b/nixos/tests/xrdp.nix index 92eb7d4772e..0e1d521c5ac 100644 --- a/nixos/tests/xrdp.nix +++ b/nixos/tests/xrdp.nix @@ -32,13 +32,13 @@ import ./make-test-python.nix ({ pkgs, ...} : { client.sleep(5) - client.execute("xterm &") + client.execute("xterm >&2 &") client.sleep(1) client.send_chars("xfreerdp /cert-tofu /w:640 /h:480 /v:127.0.0.1 /u:${user.name} /p:${user.password}\n") client.sleep(5) client.screenshot("localrdp") - client.execute("xterm &") + client.execute("xterm >&2 &") client.sleep(1) client.send_chars("xfreerdp /cert-tofu /w:640 /h:480 /v:server /u:${user.name} /p:${user.password}\n") client.sleep(5) diff --git a/nixos/tests/xterm.nix b/nixos/tests/xterm.nix index 078d1dca964..4ee31139ab5 100644 --- a/nixos/tests/xterm.nix +++ b/nixos/tests/xterm.nix @@ -13,7 +13,7 @@ import ./make-test-python.nix ({ pkgs, ...} : { testScript = '' machine.wait_for_x() - machine.succeed("DISPLAY=:0 xterm -title testterm -class testterm -fullscreen &") + machine.succeed("DISPLAY=:0 xterm -title testterm -class testterm -fullscreen >&2 &") machine.sleep(2) machine.send_chars("echo $XTERM_VERSION >> /tmp/xterm_version\n") machine.wait_for_file("/tmp/xterm_version") diff --git a/pkgs/applications/audio/bitwig-studio/bitwig-studio4.nix b/pkgs/applications/audio/bitwig-studio/bitwig-studio4.nix index 447bc7d6635..aa9290d9477 100644 --- a/pkgs/applications/audio/bitwig-studio/bitwig-studio4.nix +++ b/pkgs/applications/audio/bitwig-studio/bitwig-studio4.nix @@ -6,11 +6,11 @@ stdenv.mkDerivation rec { pname = "bitwig-studio"; - version = "4.0.1"; + version = "4.0.7"; src = fetchurl { url = "https://downloads.bitwig.com/stable/${version}/${pname}-${version}.deb"; - sha256 = "sha256-yhCAKlbLjyBywkSYY1aqbUGFlAHBLR8g8xPDIqoUIZk="; + sha256 = "sha256-NAiwHLYhTAQH6xZw5u8bM7MOILcMclQMKtJc7MGJb+Q="; }; nativeBuildInputs = [ dpkg makeWrapper wrapGAppsHook ]; diff --git a/pkgs/applications/misc/haxor-news/default.nix b/pkgs/applications/misc/haxor-news/default.nix index f5a723f5901..43c2eb24224 100644 --- a/pkgs/applications/misc/haxor-news/default.nix +++ b/pkgs/applications/misc/haxor-news/default.nix @@ -15,6 +15,7 @@ let sha256 = "09h1153wgr5x2ny7ds0w2m81n3bb9j8hjb8sjfnrg506r01clkyx"; }; }); + click = self.callPackage ../../../development/python-modules/click/7.nix { }; }; }; in diff --git a/pkgs/applications/office/jabref/default.nix b/pkgs/applications/office/jabref/default.nix index b87e74c256f..0b4ce74cdfa 100644 --- a/pkgs/applications/office/jabref/default.nix +++ b/pkgs/applications/office/jabref/default.nix @@ -52,7 +52,7 @@ stdenv.mkDerivation rec { makeWrapper $out/lib/runtime/bin/java $out/bin/jabref \ --add-flags '-Djava.library.path=${systemLibPaths}' --add-flags "-p $out/lib/app -m org.jabref/org.jabref.JabRefLauncher" \ - --run 'export LD_LIBRARY_PATH=${systemLibPaths}:$LD_LIBRARY_PATH' + --prefix LD_LIBRARY_PATH : '${systemLibPaths}' cp -r ${desktopItem}/share/applications $out/share/ diff --git a/pkgs/applications/window-managers/eww/default.nix b/pkgs/applications/window-managers/eww/default.nix index 08160690dcb..c2cc2f23cdb 100644 --- a/pkgs/applications/window-managers/eww/default.nix +++ b/pkgs/applications/window-managers/eww/default.nix @@ -5,6 +5,7 @@ , gtk3 , withWayland ? false , gtk-layer-shell +, stdenv }: rustPlatform.buildRustPackage rec { @@ -39,5 +40,6 @@ rustPlatform.buildRustPackage rec { homepage = "https://github.com/elkowar/eww"; license = licenses.mit; maintainers = with maintainers; [ figsoda legendofmiracles ]; + broken = stdenv.isDarwin; }; } diff --git a/pkgs/development/compilers/llvm/rocm/llvm/default.nix b/pkgs/development/compilers/llvm/rocm/llvm/default.nix index 129cc69bf6d..06dfd1870b0 100644 --- a/pkgs/development/compilers/llvm/rocm/llvm/default.nix +++ b/pkgs/development/compilers/llvm/rocm/llvm/default.nix @@ -74,7 +74,7 @@ in stdenv.mkDerivation rec { ''; preCheck = '' - export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$PWD/lib + export LD_LIBRARY_PATH=$LD_LIBRARY_PATH''${LD_LIBRARY_PATH:+:}$PWD/lib ''; postInstall = '' diff --git a/pkgs/development/libraries/crc32c/default.nix b/pkgs/development/libraries/crc32c/default.nix index 521ae7f216d..4a8afcfc2b3 100644 --- a/pkgs/development/libraries/crc32c/default.nix +++ b/pkgs/development/libraries/crc32c/default.nix @@ -29,6 +29,8 @@ stdenv.mkDerivation rec { "-DCRC32C_BUILD_BENCHMARKS=0" "-DCRC32C_USE_GLOG=0" "-DBUILD_SHARED_LIBS=${if staticOnly then "0" else "1"}" + ] ++ lib.optionals stdenv.isDarwin [ + "-DCMAKE_SKIP_BUILD_RPATH=OFF" # for tests ]; doCheck = false; diff --git a/pkgs/development/libraries/libplctag/default.nix b/pkgs/development/libraries/libplctag/default.nix index f16e6eba0d9..e17f8d6e239 100644 --- a/pkgs/development/libraries/libplctag/default.nix +++ b/pkgs/development/libraries/libplctag/default.nix @@ -6,13 +6,13 @@ stdenv.mkDerivation rec { pname = "libplctag"; - version = "2.4.0"; + version = "2.4.2"; src = fetchFromGitHub { owner = "libplctag"; repo = "libplctag"; rev = "v${version}"; - sha256 = "sha256-ClNLU1BPNemUOu+nMHujFYQSE+wnYuUPhHytjD8snb4="; + sha256 = "sha256-LyFCKWOjqSHWGBm2p52R/eYuPjtf5IfqqMtrLCNWIV8="; }; nativeBuildInputs = [ cmake ]; diff --git a/pkgs/development/libraries/spdlog/default.nix b/pkgs/development/libraries/spdlog/default.nix index 0c75bdb9dd8..d21477d806e 100644 --- a/pkgs/development/libraries/spdlog/default.nix +++ b/pkgs/development/libraries/spdlog/default.nix @@ -36,7 +36,7 @@ let ''; doCheck = true; - preCheck = "export LD_LIBRARY_PATH=$(pwd):$LD_LIBRARY_PATH"; + preCheck = "export LD_LIBRARY_PATH=$(pwd)\${LD_LIBRARY_PATH:+:}$LD_LIBRARY_PATH"; meta = with lib; { description = "Very fast, header only, C++ logging library"; diff --git a/pkgs/development/python-modules/mathlibtools/default.nix b/pkgs/development/python-modules/mathlibtools/default.nix index a788a9c60b7..517d74563ae 100644 --- a/pkgs/development/python-modules/mathlibtools/default.nix +++ b/pkgs/development/python-modules/mathlibtools/default.nix @@ -1,5 +1,5 @@ { lib, buildPythonPackage, fetchPypi, PyGithub, GitPython, toml, click, tqdm, - paramiko, networkx, pydot, pyyaml }: + networkx, pydot, pyyaml, atomicwrites }: buildPythonPackage rec { pname = "mathlibtools"; @@ -11,7 +11,7 @@ buildPythonPackage rec { }; propagatedBuildInputs = [ - PyGithub GitPython toml click tqdm paramiko networkx pydot pyyaml + PyGithub GitPython toml click tqdm networkx pydot pyyaml atomicwrites ]; # requires internet access diff --git a/pkgs/development/python-modules/openbabel-bindings/default.nix b/pkgs/development/python-modules/openbabel-bindings/default.nix index 6488b8fad2f..fad677987bf 100644 --- a/pkgs/development/python-modules/openbabel-bindings/default.nix +++ b/pkgs/development/python-modules/openbabel-bindings/default.nix @@ -13,7 +13,7 @@ buildPythonPackage rec { # some functionality to work (inparticular, pybel). # see https://openbabel.org/docs/dev/Installation/install.html BABEL_LIBDIR = "${openbabel}/lib/openbabel/3.1.0"; - LD_LIBRARY_PATH = "$LD_LIBRARY_PATH:${openbabel}/lib"; + LD_LIBRARY_PATH = "${openbabel}/lib"; doCheck = false; pythonImportsCheck = [ "openbabel" ]; diff --git a/pkgs/development/python-modules/pytest-sanic/default.nix b/pkgs/development/python-modules/pytest-sanic/default.nix index edcc430c1d8..2bce8eaecb7 100644 --- a/pkgs/development/python-modules/pytest-sanic/default.nix +++ b/pkgs/development/python-modules/pytest-sanic/default.nix @@ -47,5 +47,6 @@ buildPythonPackage rec { homepage = "https://github.com/yunstanford/pytest-sanic/"; license = licenses.asl20; maintainers = with maintainers; [ costrouc ]; + broken = true; # 2021-11-04 }; } diff --git a/pkgs/development/python-modules/sanic-routing/default.nix b/pkgs/development/python-modules/sanic-routing/default.nix index 76eb72dc708..b0ecc5ed122 100644 --- a/pkgs/development/python-modules/sanic-routing/default.nix +++ b/pkgs/development/python-modules/sanic-routing/default.nix @@ -7,13 +7,13 @@ buildPythonPackage rec { pname = "sanic-routing"; - version = "0.6.2"; + version = "0.7.2"; src = fetchFromGitHub { owner = "sanic-org"; repo = "sanic-routing"; rev = "v${version}"; - hash = "sha256-ZMl8PB9E401pUfUJ4tW7nBx1TgPQQtx9erVni3zP+lo="; + hash = "sha256-MN6A8CtDVxj34eehr3UIwCT09VOfcruVX+/iImr1MgY="; }; checkInputs = [ pytestCheckHook pytest-asyncio ]; diff --git a/pkgs/development/python-modules/sanic/default.nix b/pkgs/development/python-modules/sanic/default.nix index cc7be4c93dc..ae15567a29c 100644 --- a/pkgs/development/python-modules/sanic/default.nix +++ b/pkgs/development/python-modules/sanic/default.nix @@ -1,4 +1,5 @@ { lib +, stdenv , aiofiles , beautifulsoup4 , buildPythonPackage @@ -10,7 +11,6 @@ , multidict , pytest-asyncio , pytest-benchmark -, pytest-sanic , pytest-sugar , pytestCheckHook , sanic-routing @@ -23,28 +23,19 @@ buildPythonPackage rec { pname = "sanic"; - version = "21.3.4"; + version = "21.9.1"; src = fetchFromGitHub { owner = "sanic-org"; repo = pname; rev = "v${version}"; - sha256 = "0vldlic8gqcf56fqb31igycqf11syd9csk66v34w6dim54lcny2b"; + sha256 = "sha256-TRrJr/L8AXLAARPjhBi2FxNh+jvxxdeMN24cT1njmqY="; }; - patches = [ - # Allow later websockets release, https://github.com/sanic-org/sanic/pull/2154 - (fetchpatch { - name = "later-websockets.patch"; - url = "https://github.com/sanic-org/sanic/commit/5fb820b5c1ce395e86a1ee11996790c65ec7bc65.patch"; - sha256 = "1glvq23pf1sxqjnrz0w8rr7nsnyz82k1479b3rm8szfkjg9q5d1w"; - }) - ]; - postPatch = '' # Loosen dependency requirements. substituteInPlace setup.py \ - --replace '"pytest==5.2.1"' '"pytest"' \ + --replace '"pytest==6.2.5"' '"pytest"' \ --replace '"gunicorn==20.0.4"' '"gunicorn"' \ --replace '"pytest-sanic",' "" \ # Patch a request headers test to allow brotli encoding @@ -68,7 +59,6 @@ buildPythonPackage rec { gunicorn pytest-asyncio pytest-benchmark - pytest-sanic pytest-sugar pytestCheckHook sanic-testing @@ -77,6 +67,11 @@ buildPythonPackage rec { inherit doCheck; + preCheck = '' + # Some tests depends on executables on PATH + PATH="$out/bin:${gunicorn}/bin:$PATH" + ''; + disabledTests = [ # Tests are flaky "test_keep_alive_client_timeout" @@ -84,8 +79,18 @@ buildPythonPackage rec { "test_check_timeouts_response_timeout" "test_reloader_live" "test_zero_downtime" + # Not working from 21.9.1 + "test_create_server_main" + "test_create_server_main_convenience" + "test_debug" + "test_auto_reload" + ] ++ lib.optionals stdenv.isDarwin [ + # https://github.com/sanic-org/sanic/issues/2298 + "test_no_exceptions_when_cancel_pending_request" ]; + # avoid usage of nixpkgs-review in darwin since tests will compete usage + # for the same local port __darwinAllowLocalNetworking = true; pythonImportsCheck = [ "sanic" ]; diff --git a/pkgs/development/tools/poetry2nix/poetry2nix/overrides.nix b/pkgs/development/tools/poetry2nix/poetry2nix/overrides.nix index ab1a5324c98..e464a08c849 100644 --- a/pkgs/development/tools/poetry2nix/poetry2nix/overrides.nix +++ b/pkgs/development/tools/poetry2nix/poetry2nix/overrides.nix @@ -1700,7 +1700,7 @@ self: super: if (!enableCuda) then '' export USE_CUDA=0 '' else '' - export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:${cudatoolkit}/targets/x86_64-linux/lib" + export LD_LIBRARY_PATH="$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 @@ -1739,9 +1739,9 @@ self: super: ]; preConfigure = if (enableCuda) then '' - export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:${self.torch}/${self.python.sitePackages}/torch/lib:${lib.makeLibraryPath [ cudatoolkit "${cudatoolkit}" ]}" + export LD_LIBRARY_PATH="$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" + export LD_LIBRARY_PATH="$LD_LIBRARY_PATH''${LD_LIBRARY_PATH:+:}${self.torch}/${self.python.sitePackages}/torch/lib" ''; })) { }; diff --git a/pkgs/development/tools/profiling/EZTrace/default.nix b/pkgs/development/tools/profiling/EZTrace/default.nix index e057fc8ebe1..41b343cdf1c 100644 --- a/pkgs/development/tools/profiling/EZTrace/default.nix +++ b/pkgs/development/tools/profiling/EZTrace/default.nix @@ -1,31 +1,33 @@ -{ lib, stdenv -, fetchurl, autoconf, gfortran -, libelf, libiberty, zlib, libbfd, libopcodes -, buildPackages +{ lib, + stdenv, + fetchFromGitLab, + gfortran, + libelf, + libiberty, + zlib, + libbfd, + libopcodes, + buildPackages, + autoreconfHook }: stdenv.mkDerivation rec { - version = "1.1-7"; pname = "EZTrace"; + version = "1.1-11"; - src = fetchurl { - url = "https://gforge.inria.fr/frs/download.php/file/37155/eztrace-${version}.tar.gz"; - sha256 = "0cr2d4fdv4ljvag55dsz3rpha1jan2gc3jhr06ycyk43450pl58p"; + src = fetchFromGitLab { + owner = "eztrace"; + repo = "eztrace"; + rev = "eztrace-${version}"; + sha256 = "sha256-A6HMr4ib5Ka1lTbbTQOdq3kIdCoN/CwAKRdXdv9wpfU="; }; - # Goes past the rpl_malloc linking failure; fixes silent file breakage - preConfigure = '' - export ac_cv_func_malloc_0_nonnull=yes - substituteInPlace ./configure \ - --replace "/usr/bin/file" "${buildPackages.file}/bin/file" - ''; - - nativeBuildInputs = [ autoconf gfortran ]; + nativeBuildInputs = [ gfortran autoreconfHook ]; buildInputs = [ libelf libiberty zlib libbfd libopcodes ]; - meta = { + meta = with lib; { description = "Tool that aims at generating automatically execution trace from HPC programs"; - license = lib.licenses.cecill-b; - maintainers = with lib.maintainers; [ ]; + license = licenses.cecill-b; + maintainers = with maintainers; [ ]; }; } diff --git a/pkgs/development/tools/rust/cargo-deadlinks/default.nix b/pkgs/development/tools/rust/cargo-deadlinks/default.nix index a7c1b885a6e..446f3cec37d 100644 --- a/pkgs/development/tools/rust/cargo-deadlinks/default.nix +++ b/pkgs/development/tools/rust/cargo-deadlinks/default.nix @@ -16,7 +16,9 @@ rustPlatform.buildRustPackage rec { checkFlags = [ # uses internet "--skip non_existent_http_link --skip working_http_check" - ]; + ] ++ lib.optional (stdenv.hostPlatform.system != "x86_64-linux") + # assumes the target is x86_64-unknown-linux-gnu + "--skip simple_project::it_checks_okay_project_correctly"; buildInputs = lib.optional stdenv.isDarwin Security; diff --git a/pkgs/servers/dns/knot-dns/default.nix b/pkgs/servers/dns/knot-dns/default.nix index 6f0c7c9ab8f..2c731b4f1ff 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.3"; + version = "3.1.4"; src = fetchurl { url = "https://secure.nic.cz/files/knot-dns/knot-${version}.tar.xz"; - sha256 = "a3fc448cbce3209575f93a3cf1224fa37802fc6606f7c7d4bb3aa6dbeaed2c64"; + sha256 = "05ebca053b4ce62205a095b6885ed1a1167c629ccac2b3c8dcc431bd2deedf70"; }; outputs = [ "bin" "out" "dev" ]; diff --git a/pkgs/tools/games/gamemode/preload-nix-workaround.patch b/pkgs/tools/games/gamemode/preload-nix-workaround.patch index 06989ff984a..9c8db37f5d9 100644 --- a/pkgs/tools/games/gamemode/preload-nix-workaround.patch +++ b/pkgs/tools/games/gamemode/preload-nix-workaround.patch @@ -6,7 +6,7 @@ index 573b3e4..6f2799e 100755 # ld will find the right path to load the library, including for 32-bit apps. LD_PRELOAD="${GAMEMODEAUTO_NAME}${LD_PRELOAD:+:$LD_PRELOAD}" -+LD_LIBRARY_PATH="@libraryPath@${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH}" ++LD_LIBRARY_PATH="@libraryPath@${LD_LIBRARY_PATH:+:}$LD_LIBRARY_PATH" -exec env LD_PRELOAD="${LD_PRELOAD}" $GAMEMODERUNEXEC "$@" +exec env LD_PRELOAD="${LD_PRELOAD}" LD_LIBRARY_PATH="${LD_LIBRARY_PATH}" $GAMEMODERUNEXEC "$@" diff --git a/pkgs/tools/networking/mcrcon/default.nix b/pkgs/tools/networking/mcrcon/default.nix index ed2596bc88b..713a3dbfd91 100644 --- a/pkgs/tools/networking/mcrcon/default.nix +++ b/pkgs/tools/networking/mcrcon/default.nix @@ -2,13 +2,13 @@ stdenv.mkDerivation rec { pname = "mcrcon"; - version = "0.7.1"; + version = "0.7.2"; src = fetchFromGitHub { owner = "Tiiffi"; repo = "mcrcon"; rev = "v${version}"; - sha256 = "004h1glagyw1mic1k461bky0w2fxdfhrhcqjzr9wp6gvyy9s8bix"; + sha256 = "sha256-cedeKsZgEyu0jqN4kBSgMJzFNUfCVXCEwH3M54miSG4="; }; buildPhase = '' diff --git a/pkgs/tools/networking/tox-node/default.nix b/pkgs/tools/networking/tox-node/default.nix index 5ed6aa632d3..80d20a7ce7f 100644 --- a/pkgs/tools/networking/tox-node/default.nix +++ b/pkgs/tools/networking/tox-node/default.nix @@ -1,6 +1,7 @@ { lib, rustPlatform, fetchFromGitHub , libsodium, openssl , pkg-config +, fetchpatch }: with rustPlatform; @@ -16,6 +17,14 @@ buildRustPackage rec { sha256 = "sha256-tB6v2NEBdTNHf89USdQOr/pV0mbxxb8ftOYPPJMvz5Y="; }; + cargoPatches = [ + # update cargo lock + (fetchpatch { + url = "https://github.com/tox-rs/tox-node/commit/63712d49d84e55df7bba9710e129780bbc636de3.patch"; + sha256 = "sha256-jI6b5IHsAuGuM+7sPCdFnOOuV6K9rBmc5QqU5x72Fl0="; + }) + ]; + buildInputs = [ libsodium openssl ]; nativeBuildInputs = [ pkg-config ]; @@ -23,13 +32,13 @@ buildRustPackage rec { doCheck = false; - cargoSha256 = "sha256-J/0KO33vZmOvm6V7qCXInuAJTbRqyy5/qj6p6dEmoas="; + cargoSha256 = "sha256-yHsYjKJJNjepvcNszj4XQ0DbOY3AEJMZOnz0cAiwO1A="; meta = with lib; { description = "A server application to run tox node written in pure Rust"; homepage = "https://github.com/tox-rs/tox-node"; license = [ licenses.gpl3Plus ]; platforms = platforms.linux; - maintainers = with maintainers; [ suhr ]; + maintainers = with maintainers; [ suhr kurnevsky ]; }; } |