From cedcbe01b570f007db5d9ea21d11f2848f3057ae Mon Sep 17 00:00:00 2001 From: Andrew Marshall Date: Sat, 28 Dec 2024 15:40:48 -0500 Subject: [PATCH 01/62] xar: fix build on GCC14 --- pkgs/by-name/xa/xar/package.nix | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/pkgs/by-name/xa/xar/package.nix b/pkgs/by-name/xa/xar/package.nix index 46eb43c0099b..801dcd2cc3da 100644 --- a/pkgs/by-name/xa/xar/package.nix +++ b/pkgs/by-name/xa/xar/package.nix @@ -68,11 +68,20 @@ stdenv.mkDerivation (finalAttrs: { nativeBuildInputs = [ autoreconfHook ]; - # For some reason libxml2 package headers are in subdirectory and thus aren’t - # picked up by stdenv’s C compiler wrapper (see ccWrapper_addCVars). This - # doesn’t really belong here and either should be part of libxml2 package or - # libxml2 in Nixpkgs can just fix their header paths. - env.NIX_CFLAGS_COMPILE = "-isystem ${libxml2.dev}/include/libxml2"; + env.NIX_CFLAGS_COMPILE = toString ( + [ + # For some reason libxml2 package headers are in subdirectory and thus aren’t + # picked up by stdenv’s C compiler wrapper (see ccWrapper_addCVars). This + # doesn’t really belong here and either should be part of libxml2 package or + # libxml2 in Nixpkgs can just fix their header paths. + "-isystem ${libxml2.dev}/include/libxml2" + ] + ++ lib.optionals stdenv.cc.isGNU [ + # fix build on GCC 14 + "-Wno-error=implicit-function-declaration" + "-Wno-error=incompatible-pointer-types" + ] + ); buildInputs = [ From 3244da6d13200f7a9bfbf744f9139dcfdc41994e Mon Sep 17 00:00:00 2001 From: Zane van Iperen Date: Tue, 7 Jan 2025 19:09:18 +0900 Subject: [PATCH 02/62] nixos/tabby: fix invalid mkRemovedOptionModule import --- nixos/modules/services/misc/tabby.nix | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/nixos/modules/services/misc/tabby.nix b/nixos/modules/services/misc/tabby.nix index 169d058d59b7..653bc9879288 100644 --- a/nixos/modules/services/misc/tabby.nix +++ b/nixos/modules/services/misc/tabby.nix @@ -16,7 +16,8 @@ in { imports = [ (mkRemovedOptionModule [ - "settings" + "services" + "tabby" "indexInterval" ] "These options are now managed within the tabby WebGUI") ]; From 9683835f04a0c1784ab2e7667ff8bedd5b084da6 Mon Sep 17 00:00:00 2001 From: provokateurin Date: Wed, 8 Jan 2025 18:14:13 +0100 Subject: [PATCH 03/62] nixos/nextcloud: Update logreader warning description The error is only logged as an info since https://github.com/nextcloud/logreader/pull/1449. This was a bug in the app, since the error is not fixable by the admin due to the logging configuration. --- nixos/modules/services/web-apps/nextcloud.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/nixos/modules/services/web-apps/nextcloud.md b/nixos/modules/services/web-apps/nextcloud.md index 8d9aa878c287..9d49af27f55c 100644 --- a/nixos/modules/services/web-apps/nextcloud.md +++ b/nixos/modules/services/web-apps/nextcloud.md @@ -245,7 +245,7 @@ that are managed by Nix. If you want automatic updates it is recommended that yo ## Known warnings {#module-services-nextcloud-known-warnings} -### Failed to get an iterator for log entries: Logreader application only supports "file" log_type {#module-services-nextcloud-warning-logreader} +### Logreader application only supports "file" log_type {#module-services-nextcloud-warning-logreader} This is because @@ -253,10 +253,10 @@ This is because * the Logreader application that allows reading logs in the admin panel is enabled by default and requires logs written to a file. -The logreader application doesn't work, as it was the case before. The only change is that -it complains loudly now. So nothing actionable here by default. Alternatively you can +The logreader application doesn't work, as it was the case before. +So nothing actionable here by default. Alternatively you can -* disable the logreader application to shut up the "error". +* disable the logreader application to shut up the "info". We can't really do that by default since whether apps are enabled/disabled is part of the application's state and tracked inside the database. From 9aefcbba8900e376fa2dab2951d83a2790ea02df Mon Sep 17 00:00:00 2001 From: Petr Zahradnik Date: Sun, 9 Feb 2025 20:22:20 +0100 Subject: [PATCH 04/62] truecrack: fix build on gcc-14 --- .../tr/truecrack/fix-empty-return.patch | 11 ++++ pkgs/by-name/tr/truecrack/package.nix | 63 ++++++++++++++----- 2 files changed, 60 insertions(+), 14 deletions(-) create mode 100644 pkgs/by-name/tr/truecrack/fix-empty-return.patch diff --git a/pkgs/by-name/tr/truecrack/fix-empty-return.patch b/pkgs/by-name/tr/truecrack/fix-empty-return.patch new file mode 100644 index 000000000000..691d708ee53e --- /dev/null +++ b/pkgs/by-name/tr/truecrack/fix-empty-return.patch @@ -0,0 +1,11 @@ +--- a/src/Common/CpuCore.c ++++ b/src/Common/CpuCore.c +@@ -96,7 +96,7 @@ + derive_key_whirlpool ( word, wordlength+1, salt, PKCS5_SALT_SIZE, 1000, headerKey, cpu_GetMaxPkcs5OutSize ()); + else{ + perror("Key derivation function not supported"); +- return; ++ return 0; + } + + value=cpu_Xts(encryptionAlgorithm,encryptedHeader,headerKey,cpu_GetMaxPkcs5OutSize(), masterKey, &length); diff --git a/pkgs/by-name/tr/truecrack/package.nix b/pkgs/by-name/tr/truecrack/package.nix index c8fee97c8e1b..5c952f5ed409 100644 --- a/pkgs/by-name/tr/truecrack/package.nix +++ b/pkgs/by-name/tr/truecrack/package.nix @@ -6,6 +6,7 @@ config, cudaSupport ? config.cudaSupport, pkg-config, + versionCheckHook, }: gccStdenv.mkDerivation rec { @@ -15,10 +16,14 @@ gccStdenv.mkDerivation rec { src = fetchFromGitLab { owner = "kalilinux"; repo = "packages/truecrack"; - rev = "debian/${version}+git20150326-0kali1"; - sha256 = "+Rw9SfaQtO1AJO6UVVDMCo8DT0dYEbv7zX8SI+pHCRQ="; + tag = "kali/${version}+git20150326-0kali4"; + hash = "sha256-d6ld6KHSqYM4RymHf5qcm2AWK6FHWC0rFaLRfIQ2m5Q="; }; + patches = [ + ./fix-empty-return.patch + ]; + configureFlags = ( if cudaSupport then [ @@ -38,24 +43,54 @@ gccStdenv.mkDerivation rec { cudatoolkit ]; - # Workaround build failure on -fno-common toolchains like upstream - # gcc-10. Otherwise build fails as: - # ld: CpuAes.o:/build/source/src/Crypto/CpuAes.h:1233: multiple definition of - # `t_rc'; CpuCore.o:/build/source/src/Crypto/CpuAes.h:1237: first defined here - # TODO: remove on upstream fixes it: - # https://gitlab.com/kalilinux/packages/truecrack/-/issues/1 - env.NIX_CFLAGS_COMPILE = "-fcommon"; + env.NIX_CFLAGS_COMPILE = toString ([ + # Workaround build failure on -fno-common toolchains like upstream + # gcc-10. Otherwise build fails as: + # ld: CpuAes.o:/build/source/src/Crypto/CpuAes.h:1233: multiple definition of + # `t_rc'; CpuCore.o:/build/source/src/Crypto/CpuAes.h:1237: first defined here + # TODO: remove on upstream fixes it: + # https://gitlab.com/kalilinux/packages/truecrack/-/issues/1 + "-fcommon" + # Function are declared after they are used in the file, this is error since gcc-14. + # Common/Crypto.c:42:13: error: implicit declaration of function 'cpu_CipherInit'; did you mean 'CipherInit'? [] + # https://gitlab.com/kalilinux/packages/truecrack/-/commit/5b0e3a96b747013bded7b33f65bb42be2dbafc86 + "-Wno-error=implicit-function-declaration" + ]); - installFlags = [ "prefix=$(out)" ]; enableParallelBuilding = true; - meta = with lib; { + installFlags = [ "prefix=$(out)" ]; + + doInstallCheck = true; + + installCheckPhase = '' + runHook preInstallCheck + + echo "Cracking test volumes" + $out/bin/${meta.mainProgram} -t test/ripemd160_aes.test.tc -w test/passwords.txt | grep -aF "Found password" + $out/bin/${meta.mainProgram} -t test/ripemd160_aes.test.tc -c test/tes -m 4 | grep -aF "Found password" + $out/bin/${meta.mainProgram} -t test/ripemd160_aes.test.tc -w test/passwords.txt | grep -aF "Found password" + $out/bin/${meta.mainProgram} -t test/whirlpool_aes.test.tc -w test/passwords.txt -k whirlpool | grep -aF "Found password" + $out/bin/${meta.mainProgram} -t test/sha512_aes.test.tc -w test/passwords.txt -k sha512 | grep -aF "Found password" + $out/bin/${meta.mainProgram} -t test/ripemd160_aes.test.tc -w test/passwords.txt | grep -aF "Found password" + $out/bin/${meta.mainProgram} -t test/ripemd160_serpent.test.tc -w test/passwords.txt -e serpent | grep -aF "Found password" + $out/bin/${meta.mainProgram} -t test/ripemd160_twofish.test.tc -w test/passwords.txt -e twofish | grep -aF "Found password" + echo "Finished cracking test volumes" + + runHook postInstallCheck + ''; + + nativeInstallCheckInputs = [ + versionCheckHook + ]; + + meta = { description = "Brute-force password cracker for TrueCrypt volumes, optimized for Nvidia Cuda technology"; mainProgram = "truecrack"; homepage = "https://gitlab.com/kalilinux/packages/truecrack"; broken = cudaSupport; - license = licenses.gpl3Plus; - platforms = platforms.unix; - maintainers = with maintainers; [ ethancedwards8 ]; + license = lib.licenses.gpl3Plus; + platforms = lib.platforms.unix; + maintainers = with lib.maintainers; [ ethancedwards8 ]; }; } From 157c574c95b230284afc5d79eca0084218b05ef5 Mon Sep 17 00:00:00 2001 From: Sumner Evans Date: Tue, 11 Feb 2025 10:18:57 -0700 Subject: [PATCH 05/62] maintainers/team-list: remove sumnerevans from matrix Signed-off-by: Sumner Evans --- maintainers/team-list.nix | 1 - 1 file changed, 1 deletion(-) diff --git a/maintainers/team-list.nix b/maintainers/team-list.nix index bced164f9518..aa77c3245932 100644 --- a/maintainers/team-list.nix +++ b/maintainers/team-list.nix @@ -770,7 +770,6 @@ with lib.maintainers; mguentner ralith dandellion - sumnerevans nickcao teutat3s ]; From a87068b870558d840d6e98be8beeb1badba25df2 Mon Sep 17 00:00:00 2001 From: Sumner Evans Date: Tue, 11 Feb 2025 10:19:10 -0700 Subject: [PATCH 06/62] matrix-synapse: update maintainers and make tests inherit maintainers from package Signed-off-by: Sumner Evans --- nixos/modules/services/matrix/synapse.nix | 2 +- nixos/tests/matrix/mjolnir.nix | 4 ++-- nixos/tests/matrix/synapse-workers.nix | 4 ++-- nixos/tests/matrix/synapse.nix | 4 ++-- pkgs/servers/matrix-synapse/default.nix | 2 +- 5 files changed, 8 insertions(+), 8 deletions(-) diff --git a/nixos/modules/services/matrix/synapse.nix b/nixos/modules/services/matrix/synapse.nix index 48372d9c4874..1adc02852a4d 100644 --- a/nixos/modules/services/matrix/synapse.nix +++ b/nixos/modules/services/matrix/synapse.nix @@ -1597,9 +1597,9 @@ in }; meta = { + inherit (pkgs.matrix-synapse.meta) maintainers; buildDocsInSandbox = false; doc = ./synapse.md; - maintainers = teams.matrix.members; }; } diff --git a/nixos/tests/matrix/mjolnir.nix b/nixos/tests/matrix/mjolnir.nix index 67a53d045c2e..a4a4426758d3 100644 --- a/nixos/tests/matrix/mjolnir.nix +++ b/nixos/tests/matrix/mjolnir.nix @@ -30,8 +30,8 @@ import ../make-test-python.nix ( in { name = "mjolnir"; - meta = with pkgs.lib; { - maintainers = teams.matrix.members; + meta = { + inherit (pkgs.mjolnir.meta) maintainers; }; nodes = { diff --git a/nixos/tests/matrix/synapse-workers.nix b/nixos/tests/matrix/synapse-workers.nix index 10b72da70d43..f75a0528769a 100644 --- a/nixos/tests/matrix/synapse-workers.nix +++ b/nixos/tests/matrix/synapse-workers.nix @@ -2,8 +2,8 @@ import ../make-test-python.nix ( { pkgs, ... }: { name = "matrix-synapse-workers"; - meta = with pkgs.lib; { - maintainers = teams.matrix.members; + meta = { + inherit (pkgs.matrix-synapse.meta) maintainers; }; nodes = { diff --git a/nixos/tests/matrix/synapse.nix b/nixos/tests/matrix/synapse.nix index 96454491a7a4..c16182a46cd2 100644 --- a/nixos/tests/matrix/synapse.nix +++ b/nixos/tests/matrix/synapse.nix @@ -54,8 +54,8 @@ import ../make-test-python.nix ( { name = "matrix-synapse"; - meta = with pkgs.lib; { - maintainers = teams.matrix.members; + meta = { + inherit (pkgs.matrix-synapse.meta) maintainers; }; nodes = { diff --git a/pkgs/servers/matrix-synapse/default.nix b/pkgs/servers/matrix-synapse/default.nix index b2cab540a8e5..d3a1a8f9449f 100644 --- a/pkgs/servers/matrix-synapse/default.nix +++ b/pkgs/servers/matrix-synapse/default.nix @@ -186,6 +186,6 @@ python3.pkgs.buildPythonApplication rec { changelog = "https://github.com/element-hq/synapse/releases/tag/v${version}"; description = "Matrix reference homeserver"; license = licenses.agpl3Plus; - maintainers = teams.matrix.members; + maintainers = with lib.maintainers; teams.matrix.members ++ [ sumnerevans ]; }; } From 1708b35228fed3458805fb5cf879d55a1b7d8a9d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ga=C3=ABl=20Reyrol?= Date: Wed, 12 Feb 2025 09:36:53 +0100 Subject: [PATCH 07/62] kickstart: add missing cli feature --- pkgs/by-name/ki/kickstart/package.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pkgs/by-name/ki/kickstart/package.nix b/pkgs/by-name/ki/kickstart/package.nix index aa91fbfe5288..464de7d1ec80 100644 --- a/pkgs/by-name/ki/kickstart/package.nix +++ b/pkgs/by-name/ki/kickstart/package.nix @@ -21,6 +21,8 @@ rustPlatform.buildRustPackage rec { useFetchCargoVendor = true; cargoHash = "sha256-J9sGXJbGbO9UgZfgqxqzbiJz9j6WMpq3qC2ys7OJnII="; + buildFeatures = [ "cli" ]; + checkFlags = [ # remote access "--skip=generation::tests::can_generate_from_remote_repo_with_subdir" From 5660e174315a5aa10a2de6fb958d227dd541866c Mon Sep 17 00:00:00 2001 From: misilelab Date: Wed, 12 Feb 2025 23:03:44 +0900 Subject: [PATCH 08/62] podman: 5.3.1 -> 5.4.0 Signed-off-by: misilelab --- pkgs/by-name/po/podman/package.nix | 13 ++----------- 1 file changed, 2 insertions(+), 11 deletions(-) diff --git a/pkgs/by-name/po/podman/package.nix b/pkgs/by-name/po/podman/package.nix index 428c57edbd5a..f21b7ff4b861 100644 --- a/pkgs/by-name/po/podman/package.nix +++ b/pkgs/by-name/po/podman/package.nix @@ -75,13 +75,13 @@ let in buildGoModule rec { pname = "podman"; - version = "5.3.1"; + version = "5.4.0"; src = fetchFromGitHub { owner = "containers"; repo = "podman"; rev = "v${version}"; - hash = "sha256-kABP10QX4r11UDUcd6Sukb+9+LRm/ba3iATz6DTOJYw="; + hash = "sha256-iEO4njjNByLkhXFLgZ8tO8M8RkwT+Lb0zyfedQDHcNc="; }; patches = [ @@ -91,15 +91,6 @@ buildGoModule rec { # we intentionally don't build and install the helper so we shouldn't display messages to users about it ./rm-podman-mac-helper-msg.patch - - # backport of fix for https://github.com/containers/storage/issues/2184 - # https://github.com/containers/storage/pull/2185 - (fetchpatch2 { - url = "https://github.com/containers/storage/commit/99b0d2d423c8093807d8a1464437152cd04d7d95.diff?full_index=1"; - hash = "sha256-aahYXnDf3qCOlb6MfVDqFKCcQG257r5sbh5qnL0T40I="; - stripLen = 1; - extraPrefix = "vendor/github.com/containers/storage/"; - }) ]; vendorHash = null; From d0af2e5fe402b1632899fe587cb9fa7aa4b655ba Mon Sep 17 00:00:00 2001 From: Defelo Date: Thu, 13 Feb 2025 00:10:11 +0100 Subject: [PATCH 09/62] samply: remove readme patch The problem has been fixed upstream in linux-perf-data 0.9.0 and linux-perf-event-reader 0.10.0 --- pkgs/by-name/sa/samply/package.nix | 25 ------------------------- 1 file changed, 25 deletions(-) diff --git a/pkgs/by-name/sa/samply/package.nix b/pkgs/by-name/sa/samply/package.nix index c8e4c86e66f8..0a85af8003b5 100644 --- a/pkgs/by-name/sa/samply/package.nix +++ b/pkgs/by-name/sa/samply/package.nix @@ -2,8 +2,6 @@ lib, rustPlatform, fetchCrate, - jq, - moreutils, stdenv, darwin, }: @@ -21,29 +19,6 @@ rustPlatform.buildRustPackage rec { # https://github.com/NixOS/nixpkgs/issues/377986 cargoLock.lockFile = ./Cargo.lock; - # the dependencies linux-perf-data and linux-perf-event-reader contains both README.md and Readme.md, - # which causes a hash mismatch on systems with a case-insensitive filesystem - # this removes the readme files and updates cargo's checksum file accordingly - depsExtraArgs = { - nativeBuildInputs = [ - jq - moreutils - ]; - - postBuild = '' - for crate in linux-perf-data linux-perf-event-reader; do - pushd $name/$crate - - rm -f README.md Readme.md - jq 'del(.files."README.md") | del(.files."Readme.md")' \ - .cargo-checksum.json -c \ - | sponge .cargo-checksum.json - - popd - done - ''; - }; - buildInputs = lib.optionals stdenv.hostPlatform.isDarwin [ darwin.apple_sdk.frameworks.CoreServices ]; From 60bde6ae54f1cdc57a44863759f13092e5f6cf22 Mon Sep 17 00:00:00 2001 From: Defelo Date: Thu, 13 Feb 2025 00:19:24 +0100 Subject: [PATCH 10/62] samply: useFetchCargoVendor --- pkgs/by-name/sa/samply/Cargo.lock | 2497 ---------------------------- pkgs/by-name/sa/samply/package.nix | 5 +- 2 files changed, 2 insertions(+), 2500 deletions(-) delete mode 100644 pkgs/by-name/sa/samply/Cargo.lock diff --git a/pkgs/by-name/sa/samply/Cargo.lock b/pkgs/by-name/sa/samply/Cargo.lock deleted file mode 100644 index c8a43ddb2fdb..000000000000 --- a/pkgs/by-name/sa/samply/Cargo.lock +++ /dev/null @@ -1,2497 +0,0 @@ -# This file is automatically @generated by Cargo. -# It is not intended for manual editing. -version = 3 - -[[package]] -name = "addr2line" -version = "0.21.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a30b2e23b9e17a9f90641c7ab1549cd9b44f296d3ccbf309d2863cfe398a0cb" -dependencies = [ - "gimli 0.28.1", -] - -[[package]] -name = "addr2line" -version = "0.22.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6e4503c46a5c0c7844e948c9a4d6acd9f50cccb4de1c48eb9e291ea17470c678" -dependencies = [ - "fallible-iterator 0.3.0", - "gimli 0.29.0", -] - -[[package]] -name = "adler" -version = "1.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe" - -[[package]] -name = "ahash" -version = "0.8.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e89da841a80418a9b391ebaea17f5c112ffaaa96f621d2c285b5174da76b9011" -dependencies = [ - "cfg-if", - "once_cell", - "version_check", - "zerocopy", -] - -[[package]] -name = "alloc-no-stdlib" -version = "2.0.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cc7bb162ec39d46ab1ca8c77bf72e890535becd1751bb45f64c597edb4c8c6b3" - -[[package]] -name = "alloc-stdlib" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "94fb8275041c72129eb51b7d0322c29b8387a0386127718b096429201a5d6ece" -dependencies = [ - "alloc-no-stdlib", -] - -[[package]] -name = "anstream" -version = "0.6.13" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d96bd03f33fe50a863e394ee9718a706f988b9079b20c3784fb726e7678b62fb" -dependencies = [ - "anstyle", - "anstyle-parse", - "anstyle-query", - "anstyle-wincon", - "colorchoice", - "utf8parse", -] - -[[package]] -name = "anstyle" -version = "1.0.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8901269c6307e8d93993578286ac0edf7f195079ffff5ebdeea6a59ffb7e36bc" - -[[package]] -name = "anstyle-parse" -version = "0.2.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c75ac65da39e5fe5ab759307499ddad880d724eed2f6ce5b5e8a26f4f387928c" -dependencies = [ - "utf8parse", -] - -[[package]] -name = "anstyle-query" -version = "1.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e28923312444cdd728e4738b3f9c9cac739500909bb3d3c94b43551b16517648" -dependencies = [ - "windows-sys 0.52.0", -] - -[[package]] -name = "anstyle-wincon" -version = "3.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1cd54b81ec8d6180e24654d0b371ad22fc3dd083b6ff8ba325b72e00c87660a7" -dependencies = [ - "anstyle", - "windows-sys 0.52.0", -] - -[[package]] -name = "arrayvec" -version = "0.7.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96d30a06541fbafbc7f82ed10c06164cfbd2c401138f6addd8404629c4b16711" - -[[package]] -name = "async-compression" -version = "0.4.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "07dbbf24db18d609b1462965249abdf49129ccad073ec257da372adc83259c60" -dependencies = [ - "brotli", - "flate2", - "futures-core", - "futures-io", - "memchr", - "pin-project-lite", - "tokio", -] - -[[package]] -name = "autocfg" -version = "1.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f1fdabc7756949593fe60f30ec81974b613357de856987752631dea1e3394c80" - -[[package]] -name = "backtrace" -version = "0.3.71" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "26b05800d2e817c8b3b4b54abd461726265fa9789ae34330622f2db9ee696f9d" -dependencies = [ - "addr2line 0.21.0", - "cc", - "cfg-if", - "libc", - "miniz_oxide", - "object 0.32.2", - "rustc-demangle", -] - -[[package]] -name = "base64" -version = "0.22.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9475866fec1451be56a3c2400fd081ff546538961565ccb5b7142cbd22bc7a51" - -[[package]] -name = "binary-merge" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "597bb81c80a54b6a4381b23faba8d7774b144c94cbd1d6fe3f1329bd776554ab" - -[[package]] -name = "bitflags" -version = "1.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" - -[[package]] -name = "bitflags" -version = "2.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cf4b9d6a944f767f8e5e0db018570623c85f3d925ac718db4e06d0187adb21c1" - -[[package]] -name = "bitvec" -version = "0.19.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "55f93d0ef3363c364d5976646a38f04cf67cfe1d4c8d160cdea02cab2c116b33" -dependencies = [ - "funty", - "radium", - "tap", - "wyz", -] - -[[package]] -name = "brotli" -version = "4.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "125740193d7fee5cc63ab9e16c2fdc4e07c74ba755cc53b327d6ea029e9fc569" -dependencies = [ - "alloc-no-stdlib", - "alloc-stdlib", - "brotli-decompressor", -] - -[[package]] -name = "brotli-decompressor" -version = "3.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "65622a320492e09b5e0ac436b14c54ff68199bac392d0e89a6832c4518eea525" -dependencies = [ - "alloc-no-stdlib", - "alloc-stdlib", -] - -[[package]] -name = "bstr" -version = "1.9.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "05efc5cfd9110c8416e471df0e96702d58690178e206e61b7173706673c93706" -dependencies = [ - "memchr", - "regex-automata", - "serde", -] - -[[package]] -name = "bumpalo" -version = "3.16.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "79296716171880943b8470b5f8d03aa55eb2e645a4874bdbb28adb49162e012c" - -[[package]] -name = "byteorder" -version = "1.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" - -[[package]] -name = "bytes" -version = "1.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "514de17de45fdb8dc022b1a7975556c53c86f9f0aa5f534b98977b171857c2c9" - -[[package]] -name = "cab" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "171228650e6721d5acc0868a462cd864f49ac5f64e4a42cde270406e64e404d2" -dependencies = [ - "byteorder", - "flate2", - "lzxd", - "time", -] - -[[package]] -name = "cc" -version = "1.0.92" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2678b2e3449475e95b0aa6f9b506a28e61b3dc8996592b983695e8ebb58a8b41" - -[[package]] -name = "cfg-if" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" - -[[package]] -name = "cfg_aliases" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fd16c4719339c4530435d38e511904438d07cce7950afa3718a84ac36c10e89e" - -[[package]] -name = "clap" -version = "4.5.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "90bc066a67923782aa8515dbaea16946c5bcc5addbd668bb80af688e53e548a0" -dependencies = [ - "clap_builder", - "clap_derive", -] - -[[package]] -name = "clap_builder" -version = "4.5.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ae129e2e766ae0ec03484e609954119f123cc1fe650337e155d03b022f24f7b4" -dependencies = [ - "anstream", - "anstyle", - "clap_lex", - "strsim", -] - -[[package]] -name = "clap_derive" -version = "4.5.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "528131438037fd55894f62d6e9f068b8f45ac57ffa77517819645d10aed04f64" -dependencies = [ - "heck 0.5.0", - "proc-macro2", - "quote", - "syn 2.0.58", -] - -[[package]] -name = "clap_lex" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "98cc8fbded0c607b7ba9dd60cd98df59af97e84d24e49c8557331cfc26d301ce" - -[[package]] -name = "colorchoice" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "acbf1af155f9b9ef647e42cdc158db4b64a1b61f743629225fde6f3e0be2a7c7" - -[[package]] -name = "core-foundation" -version = "0.9.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "91e195e091a93c46f7102ec7818a2aa394e1e1771c3ab4825963fa03e45afb8f" -dependencies = [ - "core-foundation-sys", - "libc", -] - -[[package]] -name = "core-foundation-sys" -version = "0.8.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "06ea2b9bc92be3c2baa9334a323ebca2d6f074ff852cd1d7b11064035cd3868f" - -[[package]] -name = "cpp_demangle" -version = "0.4.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7e8227005286ec39567949b33df9896bcadfa6051bccca2488129f108ca23119" -dependencies = [ - "cfg-if", -] - -[[package]] -name = "crc" -version = "3.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "69e6e4d7b33a94f0991c26729976b10ebde1d34c3ee82408fb536164fa10d636" -dependencies = [ - "crc-catalog", -] - -[[package]] -name = "crc-catalog" -version = "2.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "19d374276b40fb8bbdee95aef7c7fa6b5316ec764510eb64b8dd0e2ed0d7e7f5" - -[[package]] -name = "crc32fast" -version = "1.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b3855a8a784b474f333699ef2bbca9db2c4a1f6d9088a90a2d25b1eb53111eaa" -dependencies = [ - "cfg-if", -] - -[[package]] -name = "crossbeam-channel" -version = "0.5.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ab3db02a9c5b5121e1e42fbdb1aeb65f5e02624cc58c43f2884c6ccac0b82f95" -dependencies = [ - "crossbeam-utils", -] - -[[package]] -name = "crossbeam-utils" -version = "0.8.19" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "248e3bacc7dc6baa3b21e405ee045c3047101a49145e7e9eca583ab4c2ca5345" - -[[package]] -name = "debugid" -version = "0.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bef552e6f588e446098f6ba40d89ac146c8c7b64aade83c051ee00bb5d2bc18d" -dependencies = [ - "uuid", -] - -[[package]] -name = "deranged" -version = "0.3.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b42b6fa04a440b495c8b04d0e71b707c585f83cb9cb28cf8cd0d976c315e31b4" -dependencies = [ - "powerfmt", -] - -[[package]] -name = "derive_more" -version = "0.99.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4fb810d30a7c1953f91334de7244731fc3f3c10d7fe163338a35b9f640960321" -dependencies = [ - "proc-macro2", - "quote", - "syn 1.0.109", -] - -[[package]] -name = "dirs" -version = "5.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "44c45a9d03d6676652bcb5e724c7e988de1acad23a711b5217ab9cbecbec2225" -dependencies = [ - "dirs-sys", -] - -[[package]] -name = "dirs-sys" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "520f05a5cbd335fae5a99ff7a6ab8627577660ee5cfd6a94a6a929b52ff0321c" -dependencies = [ - "libc", - "option-ext", - "redox_users", - "windows-sys 0.48.0", -] - -[[package]] -name = "elsa" -version = "1.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d98e71ae4df57d214182a2e5cb90230c0192c6ddfcaa05c36453d46a54713e10" -dependencies = [ - "stable_deref_trait", -] - -[[package]] -name = "enum-as-inner" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5ffccbb6966c05b32ef8fbac435df276c4ae4d3dc55a8cd0eb9745e6c12f546a" -dependencies = [ - "heck 0.4.1", - "proc-macro2", - "quote", - "syn 2.0.58", -] - -[[package]] -name = "equivalent" -version = "1.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5" - -[[package]] -name = "errno" -version = "0.3.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a258e46cdc063eb8519c00b9fc845fc47bcfca4130e2f08e88665ceda8474245" -dependencies = [ - "libc", - "windows-sys 0.52.0", -] - -[[package]] -name = "fallible-iterator" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4443176a9f2c162692bd3d352d745ef9413eec5782a80d8fd6f8a1ac692a07f7" - -[[package]] -name = "fallible-iterator" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2acce4a10f12dc2fb14a218589d4f1f62ef011b2d0cc4b3cb1bba8e94da14649" - -[[package]] -name = "fastrand" -version = "2.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "658bd65b1cf4c852a3cc96f18a8ce7b5640f6b703f905c7d74532294c2a63984" - -[[package]] -name = "flate2" -version = "1.0.28" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "46303f565772937ffe1d394a4fac6f411c6013172fadde9dcdb1e147a086940e" -dependencies = [ - "crc32fast", - "miniz_oxide", -] - -[[package]] -name = "fnv" -version = "1.0.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" - -[[package]] -name = "form_urlencoded" -version = "1.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e13624c2627564efccf4934284bdd98cbaa14e79b0b5a141218e507b3a823456" -dependencies = [ - "percent-encoding", -] - -[[package]] -name = "framehop" -version = "0.11.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "775adc24f975a49a55a31d53664838836e70d8bafac569ee19f5fd9b6403eb88" -dependencies = [ - "arrayvec", - "cfg-if", - "fallible-iterator 0.3.0", - "gimli 0.29.0", - "macho-unwind-info", - "pe-unwind-info", - "thiserror", - "thiserror-no-std", -] - -[[package]] -name = "fs4" -version = "0.8.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "21dabded2e32cd57ded879041205c60a4a4c4bab47bd0fd2fa8b01f30849f02b" -dependencies = [ - "rustix", - "windows-sys 0.52.0", -] - -[[package]] -name = "funty" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fed34cd105917e91daa4da6b3728c47b068749d6a62c59811f06ed2ac71d9da7" - -[[package]] -name = "futures-channel" -version = "0.3.30" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eac8f7d7865dcb88bd4373ab671c8cf4508703796caa2b1985a9ca867b3fcb78" -dependencies = [ - "futures-core", -] - -[[package]] -name = "futures-core" -version = "0.3.30" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dfc6580bb841c5a68e9ef15c77ccc837b40a7504914d52e47b8b0e9bbda25a1d" - -[[package]] -name = "futures-io" -version = "0.3.30" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a44623e20b9681a318efdd71c299b6b222ed6f231972bfe2f224ebad6311f0c1" - -[[package]] -name = "futures-macro" -version = "0.3.30" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87750cf4b7a4c0625b1529e4c543c2182106e4dedc60a2a6455e00d212c489ac" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.58", -] - -[[package]] -name = "futures-sink" -version = "0.3.30" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9fb8e00e87438d937621c1c6269e53f536c14d3fbd6a042bb24879e57d474fb5" - -[[package]] -name = "futures-task" -version = "0.3.30" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38d84fa142264698cdce1a9f9172cf383a0c82de1bddcf3092901442c4097004" - -[[package]] -name = "futures-util" -version = "0.3.30" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d6401deb83407ab3da39eba7e33987a73c3df0c82b4bb5813ee871c19c41d48" -dependencies = [ - "futures-core", - "futures-io", - "futures-macro", - "futures-sink", - "futures-task", - "memchr", - "pin-project-lite", - "pin-utils", - "slab", -] - -[[package]] -name = "fxhash" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c31b6d751ae2c7f11320402d34e41349dd1016f8d5d45e48c4312bc8625af50c" -dependencies = [ - "byteorder", -] - -[[package]] -name = "fxprof-processed-profile" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ce20bbb48248608ba4908b45fe36e17e40f56f8c6bb385ecf5d3c4a1e8b05a22" -dependencies = [ - "bitflags 2.5.0", - "debugid", - "fxhash", - "serde", - "serde_derive", - "serde_json", -] - -[[package]] -name = "getrandom" -version = "0.2.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "94b22e06ecb0110981051723910cbf0b5f5e09a2062dd7663334ee79a9d1286c" -dependencies = [ - "cfg-if", - "libc", - "wasi", -] - -[[package]] -name = "gimli" -version = "0.28.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4271d37baee1b8c7e4b708028c57d816cf9d2434acb33a549475f78c181f6253" - -[[package]] -name = "gimli" -version = "0.29.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "40ecd4077b5ae9fd2e9e169b102c6c330d0605168eb0e8bf79952b256dbefffd" -dependencies = [ - "fallible-iterator 0.3.0", - "stable_deref_trait", -] - -[[package]] -name = "h2" -version = "0.4.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "816ec7294445779408f36fe57bc5b7fc1cf59664059096c65f905c1c61f58069" -dependencies = [ - "bytes", - "fnv", - "futures-core", - "futures-sink", - "futures-util", - "http", - "indexmap", - "slab", - "tokio", - "tokio-util", - "tracing", -] - -[[package]] -name = "hashbrown" -version = "0.14.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "290f1a1d9242c78d09ce40a5e87e7554ee637af1351968159f4952f028f75604" -dependencies = [ - "ahash", -] - -[[package]] -name = "heck" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8" - -[[package]] -name = "heck" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea" - -[[package]] -name = "hermit-abi" -version = "0.3.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d231dfb89cfffdbc30e7fc41579ed6066ad03abda9e567ccafae602b97ec5024" - -[[package]] -name = "http" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "21b9ddb458710bc376481b842f5da65cdf31522de232c1ca8146abce2a358258" -dependencies = [ - "bytes", - "fnv", - "itoa", -] - -[[package]] -name = "http-body" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1cac85db508abc24a2e48553ba12a996e87244a0395ce011e62b37158745d643" -dependencies = [ - "bytes", - "http", -] - -[[package]] -name = "http-body-util" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0475f8b2ac86659c21b64320d5d653f9efe42acd2a4e560073ec61a155a34f1d" -dependencies = [ - "bytes", - "futures-core", - "http", - "http-body", - "pin-project-lite", -] - -[[package]] -name = "httparse" -version = "1.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d897f394bad6a705d5f4104762e116a75639e470d80901eed05a860a95cb1904" - -[[package]] -name = "httpdate" -version = "1.0.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9" - -[[package]] -name = "hyper" -version = "1.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9f24ce812868d86d19daa79bf3bf9175bc44ea323391147a5e3abde2a283871b" -dependencies = [ - "bytes", - "futures-channel", - "futures-util", - "h2", - "http", - "http-body", - "httparse", - "httpdate", - "itoa", - "pin-project-lite", - "smallvec", - "tokio", - "want", -] - -[[package]] -name = "hyper-rustls" -version = "0.26.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a0bea761b46ae2b24eb4aef630d8d1c398157b6fc29e6350ecf090a0b70c952c" -dependencies = [ - "futures-util", - "http", - "hyper", - "hyper-util", - "rustls", - "rustls-pki-types", - "tokio", - "tokio-rustls", - "tower-service", -] - -[[package]] -name = "hyper-util" -version = "0.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ca38ef113da30126bbff9cd1705f9273e15d45498615d138b0c20279ac7a76aa" -dependencies = [ - "bytes", - "futures-channel", - "futures-util", - "http", - "http-body", - "hyper", - "pin-project-lite", - "socket2", - "tokio", - "tower", - "tower-service", - "tracing", -] - -[[package]] -name = "idna" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "634d9b1461af396cad843f47fdba5597a4f9e6ddd4bfb6ff5d85028c25cb12f6" -dependencies = [ - "unicode-bidi", - "unicode-normalization", -] - -[[package]] -name = "indexmap" -version = "2.2.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "168fb715dda47215e360912c096649d23d58bf392ac62f73919e831745e40f26" -dependencies = [ - "equivalent", - "hashbrown", -] - -[[package]] -name = "inplace-vec-builder" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cf64c2edc8226891a71f127587a2861b132d2b942310843814d5001d99a1d307" -dependencies = [ - "smallvec", -] - -[[package]] -name = "ipnet" -version = "2.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f518f335dce6725a761382244631d86cf0ccb2863413590b31338feb467f9c3" - -[[package]] -name = "itoa" -version = "1.0.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49f1f14873335454500d59611f1cf4a4b0f786f9ac11f4312a78e4cf2566695b" - -[[package]] -name = "js-sys" -version = "0.3.69" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "29c15563dc2726973df627357ce0c9ddddbea194836909d655df6a75d2cf296d" -dependencies = [ - "wasm-bindgen", -] - -[[package]] -name = "lazy_static" -version = "1.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" - -[[package]] -name = "libc" -version = "0.2.153" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c198f91728a82281a64e1f4f9eeb25d82cb32a5de251c6bd1b5154d63a8e7bd" - -[[package]] -name = "libredox" -version = "0.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c0ff37bd590ca25063e35af745c343cb7a0271906fb7b37e4813e8f79f00268d" -dependencies = [ - "bitflags 2.5.0", - "libc", -] - -[[package]] -name = "linear-map" -version = "1.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bfae20f6b19ad527b550c223fddc3077a547fc70cda94b9b566575423fd303ee" - -[[package]] -name = "linux-perf-data" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4533101fd9e7cdabbdb80e09b45cf200ee3c2252a5d4aadaae5325ab46769747" -dependencies = [ - "byteorder", - "linear-map", - "linux-perf-event-reader", - "memchr", - "thiserror", -] - -[[package]] -name = "linux-perf-event-reader" -version = "0.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "41064623ecf100db029bd29e4a1cdec25fc513d45c15619ecd03504e2ffb1687" -dependencies = [ - "bitflags 2.5.0", - "byteorder", - "memchr", - "thiserror", -] - -[[package]] -name = "linux-raw-sys" -version = "0.4.13" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "01cda141df6706de531b6c46c3a33ecca755538219bd484262fa09410c13539c" - -[[package]] -name = "lock_api" -version = "0.4.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c168f8615b12bc01f9c17e2eb0cc07dcae1940121185446edc3744920e8ef45" -dependencies = [ - "autocfg", - "scopeguard", -] - -[[package]] -name = "log" -version = "0.4.21" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "90ed8c1e510134f979dbc4f070f87d4313098b704861a105fe34231c70a3901c" - -[[package]] -name = "lzma-rs" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "297e814c836ae64db86b36cf2a557ba54368d03f6afcd7d947c266692f71115e" -dependencies = [ - "byteorder", - "crc", -] - -[[package]] -name = "lzxd" -version = "0.2.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5de7336a183103429ad66d11d56d8bdc9c4a2916f6b85a8f11e5b127bde12001" - -[[package]] -name = "mach" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b823e83b2affd8f40a9ee8c29dbc56404c1e34cd2710921f2801e2cf29527afa" -dependencies = [ - "libc", -] - -[[package]] -name = "macho-unwind-info" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6b6086acc74bc23f56b60e88bb082d505e23849d68d6c0f12bb6a7ad5c60e03e" -dependencies = [ - "thiserror", - "zerocopy", - "zerocopy-derive", -] - -[[package]] -name = "maybe-owned" -version = "0.3.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4facc753ae494aeb6e3c22f839b158aebd4f9270f55cd3c79906c45476c47ab4" - -[[package]] -name = "memchr" -version = "2.7.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6c8640c5d730cb13ebd907d8d04b52f55ac9a2eec55b440c8892f40d56c76c1d" - -[[package]] -name = "memmap2" -version = "0.9.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fe751422e4a8caa417e13c3ea66452215d7d63e19e604f4980461212f3ae1322" -dependencies = [ - "libc", -] - -[[package]] -name = "mime" -version = "0.3.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a" - -[[package]] -name = "minimal-lexical" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a" - -[[package]] -name = "miniz_oxide" -version = "0.7.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9d811f3e15f28568be3407c8e7fdb6514c1cda3cb30683f15b6a1a1dc4ea14a7" -dependencies = [ - "adler", -] - -[[package]] -name = "mio" -version = "0.8.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a4a650543ca06a924e8b371db273b2756685faae30f8487da1b56505a8f78b0c" -dependencies = [ - "libc", - "log", - "wasi", - "windows-sys 0.48.0", -] - -[[package]] -name = "msvc-demangler" -version = "0.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2588c982e3a7fbfbd73b21f824cacc43fc6392a1103c709ffd6001c0bf33fdb3" -dependencies = [ - "bitflags 2.5.0", -] - -[[package]] -name = "nix" -version = "0.28.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ab2156c4fce2f8df6c499cc1c763e4394b7482525bf2a9701c9d79d215f519e4" -dependencies = [ - "bitflags 2.5.0", - "cfg-if", - "cfg_aliases", - "libc", -] - -[[package]] -name = "nix-base32" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8548db8274cf1b2b4c093557783f99e9ad64ffdaaa29a6c1af0abc9895c15612" - -[[package]] -name = "nom" -version = "7.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a" -dependencies = [ - "memchr", - "minimal-lexical", -] - -[[package]] -name = "normpath" -version = "1.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5831952a9476f2fed74b77d74182fa5ddc4d21c72ec45a333b250e3ed0272804" -dependencies = [ - "windows-sys 0.52.0", -] - -[[package]] -name = "num-conv" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "51d515d32fb182ee37cda2ccdcb92950d6a3c2893aa280e540671c2cd0f3b1d9" - -[[package]] -name = "num-traits" -version = "0.2.18" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "da0df0e5185db44f69b44f26786fe401b6c293d1907744beaa7fa62b2e5a517a" -dependencies = [ - "autocfg", -] - -[[package]] -name = "num_cpus" -version = "1.16.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4161fcb6d602d4d2081af7c3a45852d875a03dd337a6bfdd6e06407b61342a43" -dependencies = [ - "hermit-abi", - "libc", -] - -[[package]] -name = "object" -version = "0.32.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a6a622008b6e321afc04970976f62ee297fdbaa6f95318ca343e3eebb9648441" -dependencies = [ - "memchr", -] - -[[package]] -name = "object" -version = "0.35.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b8ec7ab813848ba4522158d5517a6093db1ded27575b070f4177b8d12b41db5e" -dependencies = [ - "crc32fast", - "flate2", - "hashbrown", - "indexmap", - "memchr", - "ruzstd", -] - -[[package]] -name = "once_cell" -version = "1.19.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92" - -[[package]] -name = "opener" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f9901cb49d7fc923b256db329ee26ffed69130bf05d74b9efdd1875c92d6af01" -dependencies = [ - "bstr", - "normpath", - "windows-sys 0.52.0", -] - -[[package]] -name = "option-ext" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "04744f49eae99ab78e0d5c0b603ab218f515ea8cfe5a456d7629ad883a3b6e7d" - -[[package]] -name = "parking_lot" -version = "0.12.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f" -dependencies = [ - "lock_api", - "parking_lot_core", -] - -[[package]] -name = "parking_lot_core" -version = "0.9.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c42a9226546d68acdd9c0a280d17ce19bfe27a46bf68784e4066115788d008e" -dependencies = [ - "cfg-if", - "libc", - "redox_syscall", - "smallvec", - "windows-targets 0.48.5", -] - -[[package]] -name = "pdb-addr2line" -version = "0.11.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fb51ef7ed9998e108891711812822831daac0b17d67768c3bdc69aa909366123" -dependencies = [ - "bitflags 2.5.0", - "elsa", - "maybe-owned", - "pdb2", - "range-collections", - "thiserror", -] - -[[package]] -name = "pdb2" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "00e30e131bcab0d41a2e471cf777ea9b1402f2a0764bcf1780251eab1b0d175d" -dependencies = [ - "fallible-iterator 0.2.0", - "scroll", - "uuid", -] - -[[package]] -name = "pe-unwind-info" -version = "0.2.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6ec3b43050c38ffb9de87e17d874e9956e3a9131b343c9b7b7002597727c3891" -dependencies = [ - "arrayvec", - "bitflags 2.5.0", - "thiserror", - "zerocopy", - "zerocopy-derive", -] - -[[package]] -name = "percent-encoding" -version = "2.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e" - -[[package]] -name = "pin-project" -version = "1.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b6bf43b791c5b9e34c3d182969b4abb522f9343702850a2e57f460d00d09b4b3" -dependencies = [ - "pin-project-internal", -] - -[[package]] -name = "pin-project-internal" -version = "1.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2f38a4412a78282e09a2cf38d195ea5420d15ba0602cb375210efbc877243965" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.58", -] - -[[package]] -name = "pin-project-lite" -version = "0.2.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bda66fc9667c18cb2758a2ac84d1167245054bcf85d5d1aaa6923f45801bdd02" - -[[package]] -name = "pin-utils" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" - -[[package]] -name = "powerfmt" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391" - -[[package]] -name = "ppv-lite86" -version = "0.2.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de" - -[[package]] -name = "proc-macro2" -version = "1.0.79" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e835ff2298f5721608eb1a980ecaee1aef2c132bf95ecc026a11b7bf3c01c02e" -dependencies = [ - "unicode-ident", -] - -[[package]] -name = "quote" -version = "1.0.36" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0fa76aaf39101c457836aec0ce2316dbdc3ab723cdda1c6bd4e6ad4208acaca7" -dependencies = [ - "proc-macro2", -] - -[[package]] -name = "radium" -version = "0.5.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "941ba9d78d8e2f7ce474c015eea4d9c6d25b6a3327f9832ee29a4de27f91bbb8" - -[[package]] -name = "rand" -version = "0.8.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" -dependencies = [ - "libc", - "rand_chacha", - "rand_core", -] - -[[package]] -name = "rand_chacha" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" -dependencies = [ - "ppv-lite86", - "rand_core", -] - -[[package]] -name = "rand_core" -version = "0.6.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" -dependencies = [ - "getrandom", -] - -[[package]] -name = "range-collections" -version = "0.4.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ca9edd21e2db51000ac63eccddabba622f826e631a60be7bade9bd6a76b69537" -dependencies = [ - "binary-merge", - "inplace-vec-builder", - "ref-cast", - "smallvec", -] - -[[package]] -name = "rangemap" -version = "1.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f60fcc7d6849342eff22c4350c8b9a989ee8ceabc4b481253e8946b9fe83d684" - -[[package]] -name = "redox_syscall" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4722d768eff46b75989dd134e5c353f0d6296e5aaa3132e776cbdb56be7731aa" -dependencies = [ - "bitflags 1.3.2", -] - -[[package]] -name = "redox_users" -version = "0.4.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bd283d9651eeda4b2a83a43c1c91b266c40fd76ecd39a50a8c630ae69dc72891" -dependencies = [ - "getrandom", - "libredox", - "thiserror", -] - -[[package]] -name = "ref-cast" -version = "1.0.22" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c4846d4c50d1721b1a3bef8af76924eef20d5e723647333798c1b519b3a9473f" -dependencies = [ - "ref-cast-impl", -] - -[[package]] -name = "ref-cast-impl" -version = "1.0.22" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5fddb4f8d99b0a2ebafc65a87a69a7b9875e4b1ae1f00db265d300ef7f28bccc" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.58", -] - -[[package]] -name = "regex-automata" -version = "0.4.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "86b83b8b9847f9bf95ef68afb0b8e6cdb80f498442f5179a29fad448fcc1eaea" - -[[package]] -name = "reqwest" -version = "0.12.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3e6cc1e89e689536eb5aeede61520e874df5a4707df811cd5da4aa5fbb2aae19" -dependencies = [ - "async-compression", - "base64", - "bytes", - "futures-core", - "futures-util", - "http", - "http-body", - "http-body-util", - "hyper", - "hyper-rustls", - "hyper-util", - "ipnet", - "js-sys", - "log", - "mime", - "once_cell", - "percent-encoding", - "pin-project-lite", - "rustls", - "rustls-pemfile", - "rustls-pki-types", - "serde", - "serde_json", - "serde_urlencoded", - "sync_wrapper", - "tokio", - "tokio-rustls", - "tokio-util", - "tower-service", - "url", - "wasm-bindgen", - "wasm-bindgen-futures", - "wasm-streams", - "web-sys", - "webpki-roots", - "winreg", -] - -[[package]] -name = "ring" -version = "0.17.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c17fa4cb658e3583423e915b9f3acc01cceaee1860e33d59ebae66adc3a2dc0d" -dependencies = [ - "cc", - "cfg-if", - "getrandom", - "libc", - "spin", - "untrusted", - "windows-sys 0.52.0", -] - -[[package]] -name = "rustc-demangle" -version = "0.1.23" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d626bb9dae77e28219937af045c257c28bfd3f69333c512553507f5f9798cb76" - -[[package]] -name = "rustix" -version = "0.38.32" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "65e04861e65f21776e67888bfbea442b3642beaa0138fdb1dd7a84a52dffdb89" -dependencies = [ - "bitflags 2.5.0", - "errno", - "libc", - "linux-raw-sys", - "windows-sys 0.52.0", -] - -[[package]] -name = "rustls" -version = "0.22.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "99008d7ad0bbbea527ec27bddbc0e432c5b87d8175178cee68d2eec9c4a1813c" -dependencies = [ - "log", - "ring", - "rustls-pki-types", - "rustls-webpki", - "subtle", - "zeroize", -] - -[[package]] -name = "rustls-pemfile" -version = "2.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "29993a25686778eb88d4189742cd713c9bce943bc54251a33509dc63cbacf73d" -dependencies = [ - "base64", - "rustls-pki-types", -] - -[[package]] -name = "rustls-pki-types" -version = "1.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ecd36cc4259e3e4514335c4a138c6b43171a8d61d8f5c9348f9fc7529416f247" - -[[package]] -name = "rustls-webpki" -version = "0.102.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "faaa0a62740bedb9b2ef5afa303da42764c012f743917351dc9a237ea1663610" -dependencies = [ - "ring", - "rustls-pki-types", - "untrusted", -] - -[[package]] -name = "ruzstd" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5174a470eeb535a721ae9fdd6e291c2411a906b96592182d05217591d5c5cf7b" -dependencies = [ - "byteorder", - "derive_more", - "twox-hash", -] - -[[package]] -name = "ryu" -version = "1.0.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e86697c916019a8588c99b5fac3cead74ec0b4b819707a682fd4d23fa0ce1ba1" - -[[package]] -name = "same-file" -version = "1.0.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502" -dependencies = [ - "winapi-util", -] - -[[package]] -name = "samply" -version = "0.12.0" -dependencies = [ - "byteorder", - "clap", - "crossbeam-channel", - "debugid", - "dirs", - "flate2", - "framehop", - "futures-util", - "fxhash", - "fxprof-processed-profile", - "http-body-util", - "hyper", - "hyper-util", - "lazy_static", - "libc", - "linux-perf-data", - "mach", - "memchr", - "memmap2", - "mio", - "nix", - "nix-base32", - "num_cpus", - "object 0.35.0", - "once_cell", - "opener", - "parking_lot", - "percent-encoding", - "rand", - "serde", - "serde_derive", - "serde_json", - "signal-hook", - "sysctl", - "tempfile", - "thiserror", - "tokio", - "tokio-util", - "uname", - "uuid", - "wholesym", -] - -[[package]] -name = "samply-api" -version = "0.23.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0ba2d4cd2e2684f911e234613f0659e2df56db773609ab940b1b02e984bda886" -dependencies = [ - "samply-symbols", - "serde", - "serde_derive", - "serde_json", - "thiserror", - "yaxpeax-arch", - "yaxpeax-arm", - "yaxpeax-x86", -] - -[[package]] -name = "samply-symbols" -version = "0.22.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "992d7259f93744ea3f094eea6f0f2be59facc45245fd8e0f693fad1e69ea5d16" -dependencies = [ - "addr2line 0.22.0", - "bitflags 2.5.0", - "cpp_demangle", - "debugid", - "elsa", - "flate2", - "gimli 0.29.0", - "linux-perf-data", - "lzma-rs", - "macho-unwind-info", - "memchr", - "msvc-demangler", - "nom", - "object 0.35.0", - "pdb-addr2line", - "rangemap", - "rustc-demangle", - "scala-native-demangle", - "srcsrv", - "thiserror", - "uuid", - "yoke", - "yoke-derive", - "zerocopy", - "zerocopy-derive", -] - -[[package]] -name = "scala-native-demangle" -version = "0.0.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0a4416eddc0eaf31e04aa4039bd3db4288ea1ba613955d86cf9c310049c5d1e2" - -[[package]] -name = "scopeguard" -version = "1.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" - -[[package]] -name = "scroll" -version = "0.11.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "04c565b551bafbef4157586fa379538366e4385d42082f255bfd96e4fe8519da" - -[[package]] -name = "serde" -version = "1.0.197" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3fb1c873e1b9b056a4dc4c0c198b24c3ffa059243875552b2bd0933b1aee4ce2" -dependencies = [ - "serde_derive", -] - -[[package]] -name = "serde_derive" -version = "1.0.197" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7eb0b34b42edc17f6b7cac84a52a1c5f0e1bb2227e997ca9011ea3dd34e8610b" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.58", -] - -[[package]] -name = "serde_json" -version = "1.0.115" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "12dc5c46daa8e9fdf4f5e71b6cf9a53f2487da0e86e55808e2d35539666497dd" -dependencies = [ - "itoa", - "ryu", - "serde", -] - -[[package]] -name = "serde_urlencoded" -version = "0.7.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d3491c14715ca2294c4d6a88f15e84739788c1d030eed8c110436aafdaa2f3fd" -dependencies = [ - "form_urlencoded", - "itoa", - "ryu", - "serde", -] - -[[package]] -name = "signal-hook" -version = "0.3.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8621587d4798caf8eb44879d42e56b9a93ea5dcd315a6487c357130095b62801" -dependencies = [ - "libc", - "signal-hook-registry", -] - -[[package]] -name = "signal-hook-registry" -version = "1.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d8229b473baa5980ac72ef434c4415e70c4b5e71b423043adb4ba059f89c99a1" -dependencies = [ - "libc", -] - -[[package]] -name = "slab" -version = "0.4.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f92a496fb766b417c996b9c5e57daf2f7ad3b0bebe1ccfca4856390e3d3bb67" -dependencies = [ - "autocfg", -] - -[[package]] -name = "smallvec" -version = "1.13.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67" - -[[package]] -name = "socket2" -version = "0.5.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "05ffd9c0a93b7543e062e759284fcf5f5e3b098501104bfbdde4d404db792871" -dependencies = [ - "libc", - "windows-sys 0.52.0", -] - -[[package]] -name = "spin" -version = "0.9.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67" - -[[package]] -name = "srcsrv" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "022437a70e522e49b1952cb1d923589d629cb4aee97eb56d65ce938c04e8ac70" -dependencies = [ - "memchr", - "thiserror", -] - -[[package]] -name = "stable_deref_trait" -version = "1.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3" - -[[package]] -name = "static_assertions" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f" - -[[package]] -name = "strsim" -version = "0.11.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f" - -[[package]] -name = "subtle" -version = "2.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "81cdd64d312baedb58e21336b31bc043b77e01cc99033ce76ef539f78e965ebc" - -[[package]] -name = "symsrv" -version = "0.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "098492916b4954d05c9f195d073714401a48ad9d0c1d4690a4074146c9924804" -dependencies = [ - "async-compression", - "cab", - "dirs", - "fs4", - "futures-util", - "http", - "reqwest", - "scopeguard", - "thiserror", - "tokio", -] - -[[package]] -name = "syn" -version = "1.0.109" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237" -dependencies = [ - "proc-macro2", - "quote", - "unicode-ident", -] - -[[package]] -name = "syn" -version = "2.0.58" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "44cfb93f38070beee36b3fef7d4f5a16f27751d94b187b666a5cc5e9b0d30687" -dependencies = [ - "proc-macro2", - "quote", - "unicode-ident", -] - -[[package]] -name = "sync_wrapper" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2047c6ded9c721764247e62cd3b03c09ffc529b2ba5b10ec482ae507a4a70160" - -[[package]] -name = "synstructure" -version = "0.13.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c8af7666ab7b6390ab78131fb5b0fce11d6b7a6951602017c35fa82800708971" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.58", -] - -[[package]] -name = "sysctl" -version = "0.5.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec7dddc5f0fee506baf8b9fdb989e242f17e4b11c61dfbb0635b705217199eea" -dependencies = [ - "bitflags 2.5.0", - "byteorder", - "enum-as-inner", - "libc", - "thiserror", - "walkdir", -] - -[[package]] -name = "tap" -version = "1.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369" - -[[package]] -name = "tempfile" -version = "3.10.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "85b77fafb263dd9d05cbeac119526425676db3784113aa9295c88498cbf8bff1" -dependencies = [ - "cfg-if", - "fastrand", - "rustix", - "windows-sys 0.52.0", -] - -[[package]] -name = "thiserror" -version = "1.0.58" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "03468839009160513471e86a034bb2c5c0e4baae3b43f79ffc55c4a5427b3297" -dependencies = [ - "thiserror-impl", -] - -[[package]] -name = "thiserror-impl" -version = "1.0.58" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c61f3ba182994efc43764a46c018c347bc492c79f024e705f46567b418f6d4f7" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.58", -] - -[[package]] -name = "thiserror-impl-no-std" -version = "2.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "58e6318948b519ba6dc2b442a6d0b904ebfb8d411a3ad3e07843615a72249758" -dependencies = [ - "proc-macro2", - "quote", - "syn 1.0.109", -] - -[[package]] -name = "thiserror-no-std" -version = "2.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a3ad459d94dd517257cc96add8a43190ee620011bb6e6cdc82dafd97dfafafea" -dependencies = [ - "thiserror-impl-no-std", -] - -[[package]] -name = "time" -version = "0.3.36" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5dfd88e563464686c916c7e46e623e520ddc6d79fa6641390f2e3fa86e83e885" -dependencies = [ - "deranged", - "num-conv", - "powerfmt", - "serde", - "time-core", -] - -[[package]] -name = "time-core" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ef927ca75afb808a4d64dd374f00a2adf8d0fcff8e7b184af886c3c87ec4a3f3" - -[[package]] -name = "tinyvec" -version = "1.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87cc5ceb3875bb20c2890005a4e226a4651264a5c75edb2421b52861a0a0cb50" -dependencies = [ - "tinyvec_macros", -] - -[[package]] -name = "tinyvec_macros" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" - -[[package]] -name = "tokio" -version = "1.37.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1adbebffeca75fcfd058afa480fb6c0b81e165a0323f9c9d39c9697e37c46787" -dependencies = [ - "backtrace", - "bytes", - "libc", - "mio", - "num_cpus", - "pin-project-lite", - "socket2", - "tokio-macros", - "windows-sys 0.48.0", -] - -[[package]] -name = "tokio-macros" -version = "2.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5b8a1e28f2deaa14e508979454cb3a223b10b938b45af148bc0986de36f1923b" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.58", -] - -[[package]] -name = "tokio-rustls" -version = "0.25.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "775e0c0f0adb3a2f22a00c4745d728b479985fc15ee7ca6a2608388c5569860f" -dependencies = [ - "rustls", - "rustls-pki-types", - "tokio", -] - -[[package]] -name = "tokio-util" -version = "0.7.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5419f34732d9eb6ee4c3578b7989078579b7f039cbbb9ca2c4da015749371e15" -dependencies = [ - "bytes", - "futures-core", - "futures-sink", - "pin-project-lite", - "tokio", - "tracing", -] - -[[package]] -name = "tower" -version = "0.4.13" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b8fa9be0de6cf49e536ce1851f987bd21a43b771b09473c3549a6c853db37c1c" -dependencies = [ - "futures-core", - "futures-util", - "pin-project", - "pin-project-lite", - "tokio", - "tower-layer", - "tower-service", - "tracing", -] - -[[package]] -name = "tower-layer" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c20c8dbed6283a09604c3e69b4b7eeb54e298b8a600d4d5ecb5ad39de609f1d0" - -[[package]] -name = "tower-service" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b6bc1c9ce2b5135ac7f93c72918fc37feb872bdc6a5533a8b85eb4b86bfdae52" - -[[package]] -name = "tracing" -version = "0.1.40" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c3523ab5a71916ccf420eebdf5521fcef02141234bbc0b8a49f2fdc4544364ef" -dependencies = [ - "log", - "pin-project-lite", - "tracing-core", -] - -[[package]] -name = "tracing-core" -version = "0.1.32" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c06d3da6113f116aaee68e4d601191614c9053067f9ab7f6edbcb161237daa54" -dependencies = [ - "once_cell", -] - -[[package]] -name = "try-lock" -version = "0.2.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e421abadd41a4225275504ea4d6566923418b7f05506fbc9c0fe86ba7396114b" - -[[package]] -name = "twox-hash" -version = "1.6.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97fee6b57c6a41524a810daee9286c02d7752c4253064d0b05472833a438f675" -dependencies = [ - "cfg-if", - "static_assertions", -] - -[[package]] -name = "uname" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b72f89f0ca32e4db1c04e2a72f5345d59796d4866a1ee0609084569f73683dc8" -dependencies = [ - "libc", -] - -[[package]] -name = "unicode-bidi" -version = "0.3.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "08f95100a766bf4f8f28f90d77e0a5461bbdb219042e7679bebe79004fed8d75" - -[[package]] -name = "unicode-ident" -version = "1.0.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" - -[[package]] -name = "unicode-normalization" -version = "0.1.23" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a56d1686db2308d901306f92a263857ef59ea39678a5458e7cb17f01415101f5" -dependencies = [ - "tinyvec", -] - -[[package]] -name = "untrusted" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1" - -[[package]] -name = "url" -version = "2.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "31e6302e3bb753d46e83516cae55ae196fc0c309407cf11ab35cc51a4c2a4633" -dependencies = [ - "form_urlencoded", - "idna", - "percent-encoding", -] - -[[package]] -name = "utf8parse" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "711b9620af191e0cdc7468a8d14e709c3dcdb115b36f838e601583af800a370a" - -[[package]] -name = "uuid" -version = "1.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a183cf7feeba97b4dd1c0d46788634f6221d87fa961b305bed08c851829efcc0" - -[[package]] -name = "version_check" -version = "0.9.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f" - -[[package]] -name = "walkdir" -version = "2.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "29790946404f91d9c5d06f9874efddea1dc06c5efe94541a7d6863108e3a5e4b" -dependencies = [ - "same-file", - "winapi-util", -] - -[[package]] -name = "want" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bfa7760aed19e106de2c7c0b581b509f2f25d3dacaf737cb82ac61bc6d760b0e" -dependencies = [ - "try-lock", -] - -[[package]] -name = "wasi" -version = "0.11.0+wasi-snapshot-preview1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" - -[[package]] -name = "wasm-bindgen" -version = "0.2.92" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4be2531df63900aeb2bca0daaaddec08491ee64ceecbee5076636a3b026795a8" -dependencies = [ - "cfg-if", - "wasm-bindgen-macro", -] - -[[package]] -name = "wasm-bindgen-backend" -version = "0.2.92" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "614d787b966d3989fa7bb98a654e369c762374fd3213d212cfc0251257e747da" -dependencies = [ - "bumpalo", - "log", - "once_cell", - "proc-macro2", - "quote", - "syn 2.0.58", - "wasm-bindgen-shared", -] - -[[package]] -name = "wasm-bindgen-futures" -version = "0.4.42" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "76bc14366121efc8dbb487ab05bcc9d346b3b5ec0eaa76e46594cabbe51762c0" -dependencies = [ - "cfg-if", - "js-sys", - "wasm-bindgen", - "web-sys", -] - -[[package]] -name = "wasm-bindgen-macro" -version = "0.2.92" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a1f8823de937b71b9460c0c34e25f3da88250760bec0ebac694b49997550d726" -dependencies = [ - "quote", - "wasm-bindgen-macro-support", -] - -[[package]] -name = "wasm-bindgen-macro-support" -version = "0.2.92" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e94f17b526d0a461a191c78ea52bbce64071ed5c04c9ffe424dcb38f74171bb7" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.58", - "wasm-bindgen-backend", - "wasm-bindgen-shared", -] - -[[package]] -name = "wasm-bindgen-shared" -version = "0.2.92" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "af190c94f2773fdb3729c55b007a722abb5384da03bc0986df4c289bf5567e96" - -[[package]] -name = "wasm-streams" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b65dc4c90b63b118468cf747d8bf3566c1913ef60be765b5730ead9e0a3ba129" -dependencies = [ - "futures-util", - "js-sys", - "wasm-bindgen", - "wasm-bindgen-futures", - "web-sys", -] - -[[package]] -name = "web-sys" -version = "0.3.69" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "77afa9a11836342370f4817622a2f0f418b134426d91a82dfb48f532d2ec13ef" -dependencies = [ - "js-sys", - "wasm-bindgen", -] - -[[package]] -name = "webpki-roots" -version = "0.26.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b3de34ae270483955a94f4b21bdaaeb83d508bb84a01435f393818edb0012009" -dependencies = [ - "rustls-pki-types", -] - -[[package]] -name = "wholesym" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3dd2331e4836f219a2da809a672abbd7f1d3ee33e0db30a28357a5a0fd6f4157" -dependencies = [ - "bytes", - "core-foundation", - "core-foundation-sys", - "debugid", - "futures-util", - "libc", - "memmap2", - "reqwest", - "samply-api", - "samply-symbols", - "symsrv", - "tokio", - "uuid", - "yoke", - "yoke-derive", -] - -[[package]] -name = "winapi" -version = "0.3.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" -dependencies = [ - "winapi-i686-pc-windows-gnu", - "winapi-x86_64-pc-windows-gnu", -] - -[[package]] -name = "winapi-i686-pc-windows-gnu" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" - -[[package]] -name = "winapi-util" -version = "0.1.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f29e6f9198ba0d26b4c9f07dbe6f9ed633e1f3d5b8b414090084349e46a52596" -dependencies = [ - "winapi", -] - -[[package]] -name = "winapi-x86_64-pc-windows-gnu" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" - -[[package]] -name = "windows-sys" -version = "0.48.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9" -dependencies = [ - "windows-targets 0.48.5", -] - -[[package]] -name = "windows-sys" -version = "0.52.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d" -dependencies = [ - "windows-targets 0.52.4", -] - -[[package]] -name = "windows-targets" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c" -dependencies = [ - "windows_aarch64_gnullvm 0.48.5", - "windows_aarch64_msvc 0.48.5", - "windows_i686_gnu 0.48.5", - "windows_i686_msvc 0.48.5", - "windows_x86_64_gnu 0.48.5", - "windows_x86_64_gnullvm 0.48.5", - "windows_x86_64_msvc 0.48.5", -] - -[[package]] -name = "windows-targets" -version = "0.52.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7dd37b7e5ab9018759f893a1952c9420d060016fc19a472b4bb20d1bdd694d1b" -dependencies = [ - "windows_aarch64_gnullvm 0.52.4", - "windows_aarch64_msvc 0.52.4", - "windows_i686_gnu 0.52.4", - "windows_i686_msvc 0.52.4", - "windows_x86_64_gnu 0.52.4", - "windows_x86_64_gnullvm 0.52.4", - "windows_x86_64_msvc 0.52.4", -] - -[[package]] -name = "windows_aarch64_gnullvm" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8" - -[[package]] -name = "windows_aarch64_gnullvm" -version = "0.52.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bcf46cf4c365c6f2d1cc93ce535f2c8b244591df96ceee75d8e83deb70a9cac9" - -[[package]] -name = "windows_aarch64_msvc" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc" - -[[package]] -name = "windows_aarch64_msvc" -version = "0.52.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "da9f259dd3bcf6990b55bffd094c4f7235817ba4ceebde8e6d11cd0c5633b675" - -[[package]] -name = "windows_i686_gnu" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e" - -[[package]] -name = "windows_i686_gnu" -version = "0.52.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b474d8268f99e0995f25b9f095bc7434632601028cf86590aea5c8a5cb7801d3" - -[[package]] -name = "windows_i686_msvc" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406" - -[[package]] -name = "windows_i686_msvc" -version = "0.52.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1515e9a29e5bed743cb4415a9ecf5dfca648ce85ee42e15873c3cd8610ff8e02" - -[[package]] -name = "windows_x86_64_gnu" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e" - -[[package]] -name = "windows_x86_64_gnu" -version = "0.52.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5eee091590e89cc02ad514ffe3ead9eb6b660aedca2183455434b93546371a03" - -[[package]] -name = "windows_x86_64_gnullvm" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc" - -[[package]] -name = "windows_x86_64_gnullvm" -version = "0.52.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "77ca79f2451b49fa9e2af39f0747fe999fcda4f5e241b2898624dca97a1f2177" - -[[package]] -name = "windows_x86_64_msvc" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538" - -[[package]] -name = "windows_x86_64_msvc" -version = "0.52.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "32b752e52a2da0ddfbdbcc6fceadfeede4c939ed16d13e648833a61dfb611ed8" - -[[package]] -name = "winreg" -version = "0.52.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a277a57398d4bfa075df44f501a17cfdf8542d224f0d36095a2adc7aee4ef0a5" -dependencies = [ - "cfg-if", - "windows-sys 0.48.0", -] - -[[package]] -name = "wyz" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "85e60b0d1b5f99db2556934e21937020776a5d31520bf169e851ac44e6420214" - -[[package]] -name = "yaxpeax-arch" -version = "0.2.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f1ba5c2f163fa2f866c36750c6c931566c6d93231ae9410083b0738953b609d5" -dependencies = [ - "num-traits", -] - -[[package]] -name = "yaxpeax-arm" -version = "0.2.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a0430c0047803b6aabfa3cb62f84a78d05b933e62bfcee97c7491bf634df9123" -dependencies = [ - "bitvec", - "yaxpeax-arch", -] - -[[package]] -name = "yaxpeax-x86" -version = "1.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9107477944697db42c41326f82d4c65b769b32512cdad1e086f36f0e0f25ff45" -dependencies = [ - "cfg-if", - "num-traits", - "yaxpeax-arch", -] - -[[package]] -name = "yoke" -version = "0.7.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "65e71b2e4f287f467794c671e2b8f8a5f3716b3c829079a1c44740148eff07e4" -dependencies = [ - "serde", - "stable_deref_trait", - "zerofrom", -] - -[[package]] -name = "yoke-derive" -version = "0.7.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e6936f0cce458098a201c245a11bef556c6a0181129c7034d10d76d1ec3a2b8" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.58", - "synstructure", -] - -[[package]] -name = "zerocopy" -version = "0.7.32" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "74d4d3961e53fa4c9a25a8637fc2bfaf2595b3d3ae34875568a5cf64787716be" -dependencies = [ - "byteorder", - "zerocopy-derive", -] - -[[package]] -name = "zerocopy-derive" -version = "0.7.32" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9ce1b18ccd8e73a9321186f97e46f9f04b778851177567b1975109d26a08d2a6" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.58", -] - -[[package]] -name = "zerofrom" -version = "0.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "655b0814c5c0b19ade497851070c640773304939a6c0fd5f5fb43da0696d05b7" - -[[package]] -name = "zeroize" -version = "1.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "525b4ec142c6b68a2d10f01f7bbf6755599ca3f81ea53b8431b7dd348f5fdb2d" diff --git a/pkgs/by-name/sa/samply/package.nix b/pkgs/by-name/sa/samply/package.nix index 0a85af8003b5..790c83058fbe 100644 --- a/pkgs/by-name/sa/samply/package.nix +++ b/pkgs/by-name/sa/samply/package.nix @@ -15,9 +15,8 @@ rustPlatform.buildRustPackage rec { hash = "sha256-7bf1lDIZGhRpvnn8rHNwzH2GBY8CwtYCjuRAUTQgbsA="; }; - # Can't use fetchCargoVendor: - # https://github.com/NixOS/nixpkgs/issues/377986 - cargoLock.lockFile = ./Cargo.lock; + useFetchCargoVendor = true; + cargoHash = "sha256-o9YGKHxcC7msF7OPiUiFMLw1XX2WJ0/KVvkSwKNhU/E="; buildInputs = lib.optionals stdenv.hostPlatform.isDarwin [ darwin.apple_sdk.frameworks.CoreServices From a1f11928e7df9099c306cec7cff5415e759ff48d Mon Sep 17 00:00:00 2001 From: Defelo Date: Thu, 13 Feb 2025 00:21:22 +0100 Subject: [PATCH 11/62] samply: refactor --- pkgs/by-name/sa/samply/package.nix | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/pkgs/by-name/sa/samply/package.nix b/pkgs/by-name/sa/samply/package.nix index 790c83058fbe..b442478cf278 100644 --- a/pkgs/by-name/sa/samply/package.nix +++ b/pkgs/by-name/sa/samply/package.nix @@ -4,6 +4,8 @@ fetchCrate, stdenv, darwin, + versionCheckHook, + nix-update-script, }: rustPlatform.buildRustPackage rec { @@ -22,15 +24,21 @@ rustPlatform.buildRustPackage rec { darwin.apple_sdk.frameworks.CoreServices ]; - meta = with lib; { + nativeInstallCheckInputs = [ versionCheckHook ]; + versionCheckProgramArg = "--version"; + doInstallCheck = true; + + passthru.updateScript = nix-update-script { }; + + meta = { description = "Command line profiler for macOS and Linux"; - mainProgram = "samply"; homepage = "https://github.com/mstange/samply"; changelog = "https://github.com/mstange/samply/releases/tag/samply-v${version}"; - license = with licenses; [ + license = with lib.licenses; [ asl20 mit ]; - maintainers = with maintainers; [ figsoda ]; + maintainers = with lib.maintainers; [ figsoda ]; + mainProgram = "samply"; }; } From 8b9bbf8b6dd25f82cfbf925aca2d0e9e52cd00d5 Mon Sep 17 00:00:00 2001 From: Defelo Date: Thu, 13 Feb 2025 00:29:12 +0100 Subject: [PATCH 12/62] samply: 0.12.0 -> 0.13.1 --- pkgs/by-name/sa/samply/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/sa/samply/package.nix b/pkgs/by-name/sa/samply/package.nix index b442478cf278..b0fba4887cd4 100644 --- a/pkgs/by-name/sa/samply/package.nix +++ b/pkgs/by-name/sa/samply/package.nix @@ -10,15 +10,15 @@ rustPlatform.buildRustPackage rec { pname = "samply"; - version = "0.12.0"; + version = "0.13.1"; src = fetchCrate { inherit pname version; - hash = "sha256-7bf1lDIZGhRpvnn8rHNwzH2GBY8CwtYCjuRAUTQgbsA="; + hash = "sha256-zTwAsE6zXY3esO7x6UTCO2DbzdUSKZ6qc5Rr9qcI+Z8="; }; useFetchCargoVendor = true; - cargoHash = "sha256-o9YGKHxcC7msF7OPiUiFMLw1XX2WJ0/KVvkSwKNhU/E="; + cargoHash = "sha256-mQykzO9Ldokd3PZ1fY4pK/GtLmYMVas2iHj1Pqi9WqQ="; buildInputs = lib.optionals stdenv.hostPlatform.isDarwin [ darwin.apple_sdk.frameworks.CoreServices From 60174a6bfe05fba27493e6509d10ebb29d751352 Mon Sep 17 00:00:00 2001 From: Pratham Patel Date: Thu, 13 Feb 2025 13:43:01 +0530 Subject: [PATCH 13/62] uboot: 2024.10 -> 2025.01 --- pkgs/misc/uboot/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/misc/uboot/default.nix b/pkgs/misc/uboot/default.nix index 7de987053784..c3fc877c7479 100644 --- a/pkgs/misc/uboot/default.nix +++ b/pkgs/misc/uboot/default.nix @@ -29,10 +29,10 @@ }: let - defaultVersion = "2024.10"; + defaultVersion = "2025.01"; defaultSrc = fetchurl { url = "https://ftp.denx.de/pub/u-boot/u-boot-${defaultVersion}.tar.bz2"; - hash = "sha256-so2vSsF+QxVjYweL9RApdYQTf231D87ZsS3zT2GpL7A="; + hash = "sha256-ze99UHyT8bvZ8BXqm8IfoHQmhIFAVQGUWrxvhU1baG8="; }; # Dependencies for the tools need to be included as either native or cross, From d016fedb1924a0888f1a346a8ee381b7fa5f06bc Mon Sep 17 00:00:00 2001 From: Sergei Trofimovich Date: Thu, 13 Feb 2025 09:13:04 +0000 Subject: [PATCH 14/62] wlr-randr: 0.4.1 -> 0.5.0 Changes: https://gitlab.freedesktop.org/emersion/wlr-randr/-/tags --- pkgs/by-name/wl/wlr-randr/package.nix | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/pkgs/by-name/wl/wlr-randr/package.nix b/pkgs/by-name/wl/wlr-randr/package.nix index 4064d5538bbf..95d57a5e3d83 100644 --- a/pkgs/by-name/wl/wlr-randr/package.nix +++ b/pkgs/by-name/wl/wlr-randr/package.nix @@ -1,7 +1,7 @@ { lib, stdenv, - fetchFromSourcehut, + fetchFromGitLab, meson, ninja, pkg-config, @@ -11,13 +11,14 @@ stdenv.mkDerivation rec { pname = "wlr-randr"; - version = "0.4.1"; + version = "0.5.0"; - src = fetchFromSourcehut { - owner = "~emersion"; - repo = pname; + src = fetchFromGitLab { + domain = "gitlab.freedesktop.org"; + owner = "emersion"; + repo = "wlr-randr"; rev = "v${version}"; - hash = "sha256-2kWTVAi4hq2d9jQ6yBLVzm3x7n/oSvBdZ45WyjhXhc4="; + hash = "sha256-lHOGpY0IVnR8QdSqJbtIA4FkhmQ/zDiFNqqXyj8iw/s="; }; strictDeps = true; @@ -34,7 +35,7 @@ stdenv.mkDerivation rec { meta = with lib; { description = "Xrandr clone for wlroots compositors"; - homepage = "https://git.sr.ht/~emersion/wlr-randr"; + homepage = "https://gitlab.freedesktop.org/emersion/wlr-randr"; license = licenses.mit; maintainers = with maintainers; [ ma27 ]; platforms = platforms.linux; From 5d094105cd741e732f635d366c72b7f5253e0fd9 Mon Sep 17 00:00:00 2001 From: Matthias Beyer Date: Thu, 13 Feb 2025 10:05:02 +0100 Subject: [PATCH 15/62] hawkeye: init at 6.0.0 Signed-off-by: Matthias Beyer --- pkgs/by-name/ha/hawkeye/package.nix | 32 +++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 pkgs/by-name/ha/hawkeye/package.nix diff --git a/pkgs/by-name/ha/hawkeye/package.nix b/pkgs/by-name/ha/hawkeye/package.nix new file mode 100644 index 000000000000..36d883ccdc56 --- /dev/null +++ b/pkgs/by-name/ha/hawkeye/package.nix @@ -0,0 +1,32 @@ +{ + lib, + rustPackages, + fetchFromGitHub, + pkg-config, +}: + +rustPackages.rustPlatform.buildRustPackage rec { + pname = "hawkeye"; + version = "6.0.0"; + + src = fetchFromGitHub { + owner = "korandoru"; + repo = "hawkeye"; + tag = "v${version}"; + hash = "sha256-VfJWj9BwNVR7RVUW+CjFuaniyiEath1U0F/7QJcA3r4="; + }; + + cargoHash = "sha256-tTXoxWjcTtEcRcuSs0ewCN1VJYmTIKRgL3s7QSYt7sk="; + + nativeBuildInputs = [ + pkg-config + ]; + + meta = { + homepage = "https://github.com/korandoro/hawkeye"; + description = "Simple license header checker and formatter, in multiple distribution forms"; + license = lib.licenses.asl20; + mainProgram = "hawkeye"; + maintainers = with lib.maintainers; [ matthiasbeyer ]; + }; +} From d1ec5a1c203d64efa42d4448ba193bb8d3a65436 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 13 Feb 2025 12:05:09 +0000 Subject: [PATCH 16/62] python312Packages.pywikibot: 9.6.1 -> 9.6.2 --- pkgs/development/python-modules/pywikibot/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/pywikibot/default.nix b/pkgs/development/python-modules/pywikibot/default.nix index c55ad44ff921..a16fd50f0972 100644 --- a/pkgs/development/python-modules/pywikibot/default.nix +++ b/pkgs/development/python-modules/pywikibot/default.nix @@ -10,14 +10,14 @@ buildPythonPackage rec { pname = "pywikibot"; - version = "9.6.1"; + version = "9.6.2"; format = "setuptools"; disabled = pythonOlder "3.7"; src = fetchPypi { inherit pname version; - hash = "sha256-736LEUwW1LofS1105TxVWHMGFaEpQGwa+WGIk2OQxmA="; + hash = "sha256-iPmQxOJmc9Ms8UhK43HrYgyyvu0g4/hO8bmO39AXOTo="; }; propagatedBuildInputs = [ From 372fa7fc987a438e65675c03f51f5b365389a214 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 13 Feb 2025 14:57:23 +0000 Subject: [PATCH 17/62] lzbench: 1.8.1 -> 2.0.1 --- pkgs/by-name/lz/lzbench/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/lz/lzbench/package.nix b/pkgs/by-name/lz/lzbench/package.nix index a024d4eae070..2af7bd2a3cbb 100644 --- a/pkgs/by-name/lz/lzbench/package.nix +++ b/pkgs/by-name/lz/lzbench/package.nix @@ -6,13 +6,13 @@ stdenv.mkDerivation rec { pname = "lzbench"; - version = "1.8.1"; + version = "2.0.1"; src = fetchFromGitHub { owner = "inikep"; repo = pname; rev = "v${version}"; - sha256 = "19zlvcjb1qg4fx30rrp6m650660y35736j8szvdxmqh9ipkisyia"; + sha256 = "sha256-946AcnD9z60Oihm2pseS8D5j6pGdYeCxmhTLNcW9Mmc="; }; enableParallelBuilding = true; From 8e3d4b3e7a2538b6d3d9a777b2182167461737b2 Mon Sep 17 00:00:00 2001 From: Maximilian Bosch Date: Thu, 13 Feb 2025 16:29:22 +0100 Subject: [PATCH 18/62] nextcloud29: 29.0.11 -> 29.0.12 https://github.com/nextcloud/server/releases/tag/v29.0.12 --- pkgs/servers/nextcloud/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/servers/nextcloud/default.nix b/pkgs/servers/nextcloud/default.nix index a06f49658769..6815dc591274 100644 --- a/pkgs/servers/nextcloud/default.nix +++ b/pkgs/servers/nextcloud/default.nix @@ -59,8 +59,8 @@ let in { nextcloud29 = generic { - version = "29.0.11"; - hash = "sha256-UGf8F91zICzC39m5ccp7uUy5UEghRgJ9rGILEjweztE="; + version = "29.0.12"; + hash = "sha256-wCA1T/Ph0ghzcPcOBY/hcXE2NroPBzpRlK29/zwcr8Y="; packages = nextcloud29Packages; }; From 183e6a6dfc863b3fb275b8308b357d596ea84c6b Mon Sep 17 00:00:00 2001 From: Maximilian Bosch Date: Thu, 13 Feb 2025 16:30:32 +0100 Subject: [PATCH 19/62] nextcloud30: 30.0.5 -> 30.0.6 https://github.com/nextcloud/server/releases/tag/v30.0.6 --- pkgs/servers/nextcloud/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/servers/nextcloud/default.nix b/pkgs/servers/nextcloud/default.nix index 6815dc591274..038b07fb4ae6 100644 --- a/pkgs/servers/nextcloud/default.nix +++ b/pkgs/servers/nextcloud/default.nix @@ -65,8 +65,8 @@ in }; nextcloud30 = generic { - version = "30.0.5"; - hash = "sha256-JIxubmEs7usXDE0luFebCvDmYTq9+gfy/mmTQmt4G+o="; + version = "30.0.6"; + hash = "sha256-rA4JG+aSCWXcDILxSbYy1rWt563uhKezyM/YR0UKjdw="; packages = nextcloud30Packages; }; From 2d522ae1414fd3c1a5ade474aea1e57b4cf8cfc0 Mon Sep 17 00:00:00 2001 From: Maximilian Bosch Date: Thu, 13 Feb 2025 16:31:03 +0100 Subject: [PATCH 20/62] nextcloud29Packages.apps: update --- pkgs/servers/nextcloud/packages/29.json | 52 ++++++++++++------------- 1 file changed, 26 insertions(+), 26 deletions(-) diff --git a/pkgs/servers/nextcloud/packages/29.json b/pkgs/servers/nextcloud/packages/29.json index 3897465a9e3e..5ebdc3dbcf15 100644 --- a/pkgs/servers/nextcloud/packages/29.json +++ b/pkgs/servers/nextcloud/packages/29.json @@ -30,9 +30,9 @@ ] }, "collectives": { - "hash": "sha256-IAnJZuaj6KW6kF4daIKxvCEDCViWu30gogm8q2/ooQs=", - "url": "https://github.com/nextcloud/collectives/releases/download/v2.16.0/collectives-2.16.0.tar.gz", - "version": "2.16.0", + "hash": "sha256-1BEK5T+6w8yLSXyj/Me8QMls/LSWaor5TpvC2HK3/4U=", + "url": "https://github.com/nextcloud/collectives/releases/download/v2.16.1/collectives-2.16.1.tar.gz", + "version": "2.16.1", "description": "Collectives is a Nextcloud App for activist and community projects to organize together.\nCome and gather in collectives to build shared knowledge.\n\n* 👥 **Collective and non-hierarchical workflow by heart**: Collectives are\n tied to a [Nextcloud Team](https://github.com/nextcloud/circles) and\n owned by the collective.\n* 📝 **Collaborative page editing** like known from Etherpad thanks to the\n [Text app](https://github.com/nextcloud/text).\n* 🔤 **Well-known [Markdown](https://en.wikipedia.org/wiki/Markdown) syntax**\n for page formatting.\n\n## Installation\n\nIn your Nextcloud instance, simply navigate to **»Apps«**, find the\n**»Teams«** and **»Collectives«** apps and enable them.", "homepage": "https://github.com/nextcloud/collectives", "licenses": [ @@ -40,9 +40,9 @@ ] }, "contacts": { - "hash": "sha256-hqCDr7qEqsi8tZ9Woz9hsUm1HENK16FNz4pcQCto8S4=", - "url": "https://github.com/nextcloud-releases/contacts/releases/download/v6.0.2/contacts-v6.0.2.tar.gz", - "version": "6.0.2", + "hash": "sha256-o7RoBhg0UFzZoxXj1Qovbheq1i7wBHnn4hSnEbc/D/c=", + "url": "https://github.com/nextcloud-releases/contacts/releases/download/v6.0.3/contacts-v6.0.3.tar.gz", + "version": "6.0.3", "description": "The Nextcloud contacts app is a user interface for Nextcloud's CardDAV server. Easily sync contacts from various devices with your Nextcloud and edit them online.\n\n* 🚀 **Integration with other Nextcloud apps!** Currently Mail and Calendar – more to come.\n* 🎉 **Never forget a birthday!** You can sync birthdays and other recurring events with your Nextcloud Calendar.\n* 👥 **Sharing of Adressbooks!** You want to share your contacts with your friends or coworkers? No problem!\n* 🙈 **We’re not reinventing the wheel!** Based on the great and open SabreDAV library.", "homepage": "https://github.com/nextcloud/contacts#readme", "licenses": [ @@ -140,10 +140,10 @@ ] }, "groupfolders": { - "hash": "sha256-7g18TdAQKLNKrKPZO+TNiUoHtncy6aLBy4KHq7j7VHo=", - "url": "https://github.com/nextcloud-releases/groupfolders/releases/download/v17.0.9/groupfolders-v17.0.9.tar.gz", - "version": "17.0.9", - "description": "Admin configured folders shared with everyone in a group.\n\nFolders can be configured from *Group folders* in the admin settings.\n\nAfter a folder is created, the admin can give access to the folder to one or more groups, control their write/sharing permissions and assign a quota for the folder.\n\nNote: Encrypting the contents of group folders is currently not supported.", + "hash": "sha256-yfTZjAsmv2wdMNNP1Tm0fmzSIlUwRfMraNPgFEHW238=", + "url": "https://github.com/nextcloud-releases/groupfolders/releases/download/v17.0.10/groupfolders-v17.0.10.tar.gz", + "version": "17.0.10", + "description": "Admin configured folders shared with everyone in a team.\n\nFolders can be configured from *Team folders* in the admin settings.\n\nAfter a folder is created, the admin can give access to the folder to one or more teams, control their write/sharing permissions and assign a quota for the folder.", "homepage": "https://github.com/nextcloud/groupfolders", "licenses": [ "agpl" @@ -190,9 +190,9 @@ ] }, "mail": { - "hash": "sha256-i2gBkqRPvHyZL8raWTIordGVhY1NWi4KN1JLbsQd/8k=", - "url": "https://github.com/nextcloud-releases/mail/releases/download/v3.7.19/mail-v3.7.19.tar.gz", - "version": "3.7.19", + "hash": "sha256-YGgJgWZYnJuhhHxabx/tUmcnmfDgjWiZUBnhGThihrU=", + "url": "https://github.com/nextcloud-releases/mail/releases/download/v3.7.20/mail-v3.7.20.tar.gz", + "version": "3.7.20", "description": "**💌 A mail app for Nextcloud**\n\n- **🚀 Integration with other Nextcloud apps!** Currently Contacts, Calendar & Files – more to come.\n- **📥 Multiple mail accounts!** Personal and company account? No problem, and a nice unified inbox. Connect any IMAP account.\n- **🔒 Send & receive encrypted mails!** Using the great [Mailvelope](https://mailvelope.com) browser extension.\n- **🙈 We’re not reinventing the wheel!** Based on the great [Horde](https://horde.org) libraries.\n- **📬 Want to host your own mail server?** We do not have to reimplement this as you could set up [Mail-in-a-Box](https://mailinabox.email)!\n\n## Ethical AI Rating\n\n### Priority Inbox\n\nPositive:\n* The software for training and inferencing of this model is open source.\n* The model is created and trained on-premises based on the user's own data.\n* The training data is accessible to the user, making it possible to check or correct for bias or optimise the performance and CO2 usage.\n\n### Thread Summaries (opt-in)\n\n**Rating:** 🟢/🟡/🟠/🔴\n\nThe rating depends on the installed text processing backend. See [the rating overview](https://docs.nextcloud.com/server/latest/admin_manual/ai/index.html) for details.\n\nLearn more about the Nextcloud Ethical AI Rating [in our blog](https://nextcloud.com/blog/nextcloud-ethical-ai-rating/).", "homepage": "https://github.com/nextcloud/mail#readme", "licenses": [ @@ -250,10 +250,10 @@ ] }, "onlyoffice": { - "hash": "sha256-YXj0tHU++S7YDMYj/Eg5KsSX3qBSYtyuPZfiOBQ8cjk=", - "url": "https://github.com/ONLYOFFICE/onlyoffice-nextcloud/releases/download/v9.5.0/onlyoffice.tar.gz", - "version": "9.5.0", - "description": "ONLYOFFICE connector allows you to view, edit and collaborate on text documents, spreadsheets and presentations within Nextcloud using ONLYOFFICE Docs. This will create a new Edit in ONLYOFFICE action within the document library for Office documents. This allows multiple users to co-author documents in real time from the familiar web interface and save the changes back to your file storage.", + "hash": "sha256-zAhrnZ/rzzo6+ycozd8ihxIHVRHmQ+haudts2PcxnoM=", + "url": "https://github.com/ONLYOFFICE/onlyoffice-nextcloud/releases/download/v9.6.0/onlyoffice.tar.gz", + "version": "9.6.0", + "description": "ONLYOFFICE app allows you to view, edit and collaborate on text documents, spreadsheets and presentations within Nextcloud using ONLYOFFICE Docs. This will create a new Edit in ONLYOFFICE action within the document library for Office documents. This allows multiple users to co-author documents in real time from the familiar web interface and save the changes back to your file storage.", "homepage": "https://www.onlyoffice.com", "licenses": [ "agpl" @@ -280,9 +280,9 @@ ] }, "previewgenerator": { - "hash": "sha256-kTYmN/tAJwjj2KwnrKVIZa5DhyXHjuNWNskqJZxs4sY=", - "url": "https://github.com/nextcloud-releases/previewgenerator/releases/download/v5.7.0/previewgenerator-v5.7.0.tar.gz", - "version": "5.7.0", + "hash": "sha256-dPUvtVFtSqlG9M1RXZ8u7nL3wgK5yFU2/pL9pFLjisc=", + "url": "https://github.com/nextcloud-releases/previewgenerator/releases/download/v5.8.0/previewgenerator-v5.8.0.tar.gz", + "version": "5.8.0", "description": "The Preview Generator app allows admins to pre-generate previews. The app listens to edit events and stores this information. Once a cron job is triggered it will generate start preview generation. This means that you can better utilize your system by pre-generating previews when your system is normally idle and thus putting less load on your machine when the requests are actually served.\n\nThe app does not replace on demand preview generation so if a preview is requested before it is pre-generated it will still be shown.\nThe first time you install this app, before using a cron job, you properly want to generate all previews via:\n**./occ preview:generate-all -vvv**\n\n**Important**: To enable pre-generation of previews you must add **php /var/www/nextcloud/occ preview:pre-generate** to a system cron job that runs at times of your choosing.", "homepage": "https://github.com/nextcloud/previewgenerator", "licenses": [ @@ -330,9 +330,9 @@ ] }, "sociallogin": { - "hash": "sha256-P9OBXDW3+iOtC9/dQ/M89YxY3OQ0u5I8Z1XQLvYznEo=", - "url": "https://github.com/zorn-v/nextcloud-social-login/releases/download/v5.8.4/release.tar.gz", - "version": "5.8.4", + "hash": "sha256-XJbeVUYr3NZvynZyRlRtc0NNEJxcIHjwNst/J2+IBUM=", + "url": "https://github.com/zorn-v/nextcloud-social-login/releases/download/v5.9.1/release.tar.gz", + "version": "5.9.1", "description": "# Social login\n\nMake possible create users and login via Telegram, OAuth or OpenID\n\nFor OAuth you must create app for certain providers. Login button appear at login page if app id specified. Settings are in \"Social login\" section of settings page.\n\n## Installation\n\nLogin to your NextCloud installation as an administrator and under \"Apps\" click \"Download and enable\" next to the \"Social Login\" app.\n\nSee below for setup and configuration instructions.\n\n\n\n## Custom OAuth2/OIDC groups\n\nYou can use groups from your custom provider. For that you should specify \"Groups claim\" in custom OAuth2/OIDC provider settings. That claim should be returned from provider in `id_token` or at user info endpoint. Format should be `array` or comma separated string. Eg (with claim named `roles`)\n\n```json\n{\"roles\": [\"admin\", \"user\"]}\n```\nor\n```json\n{\"roles\": \"admin,user\"}\n```\n\nAlso nested claims is supported. For example `resource_access.client-id.roles` for\n\n```json\n\"resource_access\": {\n \"client-id\": {\n \"roles\": [\n \"client-role-1\",\n \"client-role-2\"\n ]\n }\n}\n```\n\nThere is also support for setting the displayName:\n```\n{\"roles\": [{gid: 1, displayName: \"admin\"}, {gid: 2, displayName: \"user\"}]}\n```\n\n\nYou can use provider groups in two ways:\n\n1. Map provider groups to existing nextcloud groups\n2. Create provider groups in nextcloud and associate it to user (if appropriate option specified)\n\nIf you want sync groups on every login do not forget to check \"Update user profile every login\" setting\n\n## Examples for groups\n\n* You can find example how to configure WSO2IS for return roles claim with OIDC [here](https://medium.com/@dewni.matheesha/claim-mapping-and-retrieving-end-user-information-in-wso2is-cffd5f3937ff)\n* [GitLab OIDC allowing specific GitLab groups](https://github.com/zorn-v/nextcloud-social-login/blob/master/docs/sso/gitlab.md)\n\n## Built-in OAuth providers\n\nYou can copy link of certain login button to get proper \"redirect url\" for OAuth app setting.\n\n* [Google](https://github.com/zorn-v/nextcloud-social-login/blob/master/docs/sso/google.md)\n* [Amazon](https://developer.amazon.com/loginwithamazon/console/site/lwa/overview.html)\n* [Facebook](https://github.com/zorn-v/nextcloud-social-login/blob/master/docs/sso/facebook.md)\n* [Twitter](https://github.com/zorn-v/nextcloud-social-login/blob/master/docs/sso/twitter.md)\n* [GitHub](https://github.com/settings/developers)\n* [Discord](#configure-discord)\n* [Telegram](https://github.com/zorn-v/nextcloud-social-login/blob/master/docs/sso/telegram.md)\n* PlexTv - you can use any title as app id\n* [Codeberg](https://github.com/zorn-v/nextcloud-social-login/blob/master/docs/sso/codeberg.md)\n\nDetails about \"Allow login only from specified domain\" google setting you can find here [#44](https://github.com/zorn-v/nextcloud-social-login/issues/44)\nYou can use comma separated list for multiple domains\n\n## Config\n\nYou can use `'social_login_auto_redirect' => true` setting in `config.php` for auto redirect unauthorized users to social login if only one provider is configured.\nIf you want to temporary disable this function (e.g. for login as local admin), you can add `noredir=1` query parameter in url for login page. Something like `https://cloud.domain.com/login?noredir=1`\n\nTo set options for http client, you can use\n```php\n 'social_login_http_client' => [\n 'timeout' => 45,\n 'proxy' => 'socks4://127.0.0.1:9050', // Check https://curl.se/libcurl/c/CURLOPT_PROXY.html for allowed variants\n ],\n```\nin `config.php`\n\n### Configurate a provider via CLI\n\nYou can configure everything from commandline by using the occ utility. To setup a oidc-provider replace the variables and URLs with values that match your deployment.\n```bash\nphp occ config:app:set sociallogin custom_providers --value='{\"custom_oidc\": [{\"name\": \"gitlab_oidc\", \"title\": \"Gitlab\", \"authorizeUrl\": \"https://gitlab.my-domain.org/oauth/authorize\", \"tokenUrl\": \"https://gitlab.my-domain.org/oauth/token\", \"userInfoUrl\": \"https://gitlab.my-domain.org/oauth/userinfo\", \"logoutUrl\": \"\", \"clientId\": \"$my_application_id\", \"clientSecret\": \"$my_super_secret_secret\", \"scope\": \"openid\", \"groupsClaim\": \"groups\", \"style\": \"gitlab\", \"defaultGroup\": \"\"}]}'\n```\nto do this with docker you just need to add `docker exec -t -uwww-data CONTAINER_NAME` in front of the command, or run it interactively from `docker exec -it -uwww-data CONTAINER_NAME sh`\n\nTo find out how to configure other providers, just configure them in the GUI and take a look at the database afterwards:\n```\nmysql -u nextcloud -p nextcloud\nPassword: \n\n> SELECT * FROM oc_appconfig WHERE appid='sociallogin';\n```\n\nOr just run\n\n`docker exec -t -uwww-data CONTAINER_NAME php occ config:app:get sociallogin custom_providers`\n\n### Configure Discord\n\nTo properly configure discord you have to:\n\n1. Create new discord application on [DiscordApp developers](https://discordapp.com/developers/applications/me#top)\n2. Open tab `Settings -> OAuth2 -> General`. In `Redirects` add new redirection link looking like this: `https://nextcloud.mydomain.com/apps/sociallogin/oauth/discord`.\n3. Copy `CLIENT ID` and generate and copy `CLIENT SECRET`\n4. Open in Nextcloud `Settings -> Social Login` and paste `CLIENT ID` into field `App id` and `CLIENT SECRET` into `Secret`.\n5. Select default group for users created this way.\n6. For group mapping check [#395](https://github.com/zorn-v/nextcloud-social-login/pull/395)\n\n## Hint\n\n### About Callback(Reply) Url\nYou can copy link from specific login button on login page and paste it on provider's website as callback url. To make proper button visible, just fill certain provider settings with random data and change it later.\n\nSome users may get strange reply(Callback) url error from provider even if you pasted the right url, that's because your nextcloud server may generate http urls when you are actually using https.\nPlease set 'overwriteprotocol' => 'https', in your config.php file.", "homepage": "https://github.com/zorn-v/nextcloud-social-login", "licenses": [ @@ -340,9 +340,9 @@ ] }, "spreed": { - "hash": "sha256-8C2TopybeFczpaNQF3IWeVh3uPXmNjQ1mdcWTyYOsZw=", - "url": "https://github.com/nextcloud-releases/spreed/releases/download/v19.0.12/spreed-v19.0.12.tar.gz", - "version": "19.0.12", + "hash": "sha256-JJp0dzFKJttDBuPOavraF7odo/0tVoDAeMPHVkmB78s=", + "url": "https://github.com/nextcloud-releases/spreed/releases/download/v19.0.13/spreed-v19.0.13.tar.gz", + "version": "19.0.13", "description": "Chat, video & audio-conferencing using WebRTC\n\n* 💬 **Chat** Nextcloud Talk comes with a simple text chat, allowing you to share or upload files from your Nextcloud Files app or local device and mention other participants.\n* 👥 **Private, group, public and password protected calls!** Invite someone, a whole group or send a public link to invite to a call.\n* 🌐 **Federated chats** Chat with other Nextcloud users on their servers\n* 💻 **Screen sharing!** Share your screen with the participants of your call.\n* 🚀 **Integration with other Nextcloud apps** like Files, Calendar, User status, Dashboard, Flow, Maps, Smart picker, Contacts, Deck, and many more.\n* 🌉 **Sync with other chat solutions** With [Matterbridge](https://github.com/42wim/matterbridge/) being integrated in Talk, you can easily sync a lot of other chat solutions to Nextcloud Talk and vice-versa.", "homepage": "https://github.com/nextcloud/spreed", "licenses": [ From fa16f61c2aabb9304c8d73fc38a25e20368457a3 Mon Sep 17 00:00:00 2001 From: Maximilian Bosch Date: Thu, 13 Feb 2025 16:31:25 +0100 Subject: [PATCH 21/62] nextcloud30Packages.apps: update --- pkgs/servers/nextcloud/packages/30.json | 46 ++++++++++++------------- 1 file changed, 23 insertions(+), 23 deletions(-) diff --git a/pkgs/servers/nextcloud/packages/30.json b/pkgs/servers/nextcloud/packages/30.json index 43b275a222f5..c8b141c9b863 100644 --- a/pkgs/servers/nextcloud/packages/30.json +++ b/pkgs/servers/nextcloud/packages/30.json @@ -20,9 +20,9 @@ ] }, "calendar": { - "hash": "sha256-nroc7URZtN5LhGg4wYgr3wD0k8k3vYj9k/V4H0JF2C0=", - "url": "https://github.com/nextcloud-releases/calendar/releases/download/v5.0.9/calendar-v5.0.9.tar.gz", - "version": "5.0.9", + "hash": "sha256-QWJJOj4Iy/BLXWzHihoQaAhFkU05plZ/AV55QrW0Pag=", + "url": "https://github.com/nextcloud-releases/calendar/releases/download/v5.0.10/calendar-v5.0.10.tar.gz", + "version": "5.0.10", "description": "The Calendar app is a user interface for Nextcloud's CalDAV server. Easily sync events from various devices with your Nextcloud and edit them online.\n\n* 🚀 **Integration with other Nextcloud apps!** Currently Contacts - more to come.\n* 🌐 **WebCal Support!** Want to see your favorite team’s matchdays in your calendar? No problem!\n* 🙋 **Attendees!** Invite people to your events\n* ⌚️ **Free/Busy!** See when your attendees are available to meet\n* ⏰ **Reminders!** Get alarms for events inside your browser and via email\n* 🔍 Search! Find your events at ease\n* ☑️ Tasks! See tasks with a due date directly in the calendar\n* 🙈 **We’re not reinventing the wheel!** Based on the great [c-dav library](https://github.com/nextcloud/cdav-library), [ical.js](https://github.com/mozilla-comm/ical.js) and [fullcalendar](https://github.com/fullcalendar/fullcalendar) libraries.", "homepage": "https://github.com/nextcloud/calendar/", "licenses": [ @@ -30,9 +30,9 @@ ] }, "collectives": { - "hash": "sha256-IAnJZuaj6KW6kF4daIKxvCEDCViWu30gogm8q2/ooQs=", - "url": "https://github.com/nextcloud/collectives/releases/download/v2.16.0/collectives-2.16.0.tar.gz", - "version": "2.16.0", + "hash": "sha256-1BEK5T+6w8yLSXyj/Me8QMls/LSWaor5TpvC2HK3/4U=", + "url": "https://github.com/nextcloud/collectives/releases/download/v2.16.1/collectives-2.16.1.tar.gz", + "version": "2.16.1", "description": "Collectives is a Nextcloud App for activist and community projects to organize together.\nCome and gather in collectives to build shared knowledge.\n\n* 👥 **Collective and non-hierarchical workflow by heart**: Collectives are\n tied to a [Nextcloud Team](https://github.com/nextcloud/circles) and\n owned by the collective.\n* 📝 **Collaborative page editing** like known from Etherpad thanks to the\n [Text app](https://github.com/nextcloud/text).\n* 🔤 **Well-known [Markdown](https://en.wikipedia.org/wiki/Markdown) syntax**\n for page formatting.\n\n## Installation\n\nIn your Nextcloud instance, simply navigate to **»Apps«**, find the\n**»Teams«** and **»Collectives«** apps and enable them.", "homepage": "https://github.com/nextcloud/collectives", "licenses": [ @@ -140,10 +140,10 @@ ] }, "groupfolders": { - "hash": "sha256-MPNSmqVzYSwEXM9ZyV7xEvUrmH8WYdpKHPcVWWQpt8M=", - "url": "https://github.com/nextcloud-releases/groupfolders/releases/download/v18.0.9/groupfolders-v18.0.9.tar.gz", - "version": "18.0.9", - "description": "Admin configured folders shared with everyone in a group.\n\nFolders can be configured from *Group folders* in the admin settings.\n\nAfter a folder is created, the admin can give access to the folder to one or more groups, control their write/sharing permissions and assign a quota for the folder.\n\nNote: Encrypting the contents of group folders is currently not supported.", + "hash": "sha256-LR+b5weiFGsk/uozT39rwCeo98PjLcJOMyn5B/OgkvU=", + "url": "https://github.com/nextcloud-releases/groupfolders/releases/download/v18.0.10/groupfolders-v18.0.10.tar.gz", + "version": "18.0.10", + "description": "Admin configured folders shared with everyone in a team.\n\nFolders can be configured from *Team folders* in the admin settings.\n\nAfter a folder is created, the admin can give access to the folder to one or more teams, control their write/sharing permissions and assign a quota for the folder.", "homepage": "https://github.com/nextcloud/groupfolders", "licenses": [ "agpl" @@ -250,10 +250,10 @@ ] }, "onlyoffice": { - "hash": "sha256-YXj0tHU++S7YDMYj/Eg5KsSX3qBSYtyuPZfiOBQ8cjk=", - "url": "https://github.com/ONLYOFFICE/onlyoffice-nextcloud/releases/download/v9.5.0/onlyoffice.tar.gz", - "version": "9.5.0", - "description": "ONLYOFFICE connector allows you to view, edit and collaborate on text documents, spreadsheets and presentations within Nextcloud using ONLYOFFICE Docs. This will create a new Edit in ONLYOFFICE action within the document library for Office documents. This allows multiple users to co-author documents in real time from the familiar web interface and save the changes back to your file storage.", + "hash": "sha256-zAhrnZ/rzzo6+ycozd8ihxIHVRHmQ+haudts2PcxnoM=", + "url": "https://github.com/ONLYOFFICE/onlyoffice-nextcloud/releases/download/v9.6.0/onlyoffice.tar.gz", + "version": "9.6.0", + "description": "ONLYOFFICE app allows you to view, edit and collaborate on text documents, spreadsheets and presentations within Nextcloud using ONLYOFFICE Docs. This will create a new Edit in ONLYOFFICE action within the document library for Office documents. This allows multiple users to co-author documents in real time from the familiar web interface and save the changes back to your file storage.", "homepage": "https://www.onlyoffice.com", "licenses": [ "agpl" @@ -280,9 +280,9 @@ ] }, "previewgenerator": { - "hash": "sha256-kTYmN/tAJwjj2KwnrKVIZa5DhyXHjuNWNskqJZxs4sY=", - "url": "https://github.com/nextcloud-releases/previewgenerator/releases/download/v5.7.0/previewgenerator-v5.7.0.tar.gz", - "version": "5.7.0", + "hash": "sha256-dPUvtVFtSqlG9M1RXZ8u7nL3wgK5yFU2/pL9pFLjisc=", + "url": "https://github.com/nextcloud-releases/previewgenerator/releases/download/v5.8.0/previewgenerator-v5.8.0.tar.gz", + "version": "5.8.0", "description": "The Preview Generator app allows admins to pre-generate previews. The app listens to edit events and stores this information. Once a cron job is triggered it will generate start preview generation. This means that you can better utilize your system by pre-generating previews when your system is normally idle and thus putting less load on your machine when the requests are actually served.\n\nThe app does not replace on demand preview generation so if a preview is requested before it is pre-generated it will still be shown.\nThe first time you install this app, before using a cron job, you properly want to generate all previews via:\n**./occ preview:generate-all -vvv**\n\n**Important**: To enable pre-generation of previews you must add **php /var/www/nextcloud/occ preview:pre-generate** to a system cron job that runs at times of your choosing.", "homepage": "https://github.com/nextcloud/previewgenerator", "licenses": [ @@ -330,9 +330,9 @@ ] }, "sociallogin": { - "hash": "sha256-P9OBXDW3+iOtC9/dQ/M89YxY3OQ0u5I8Z1XQLvYznEo=", - "url": "https://github.com/zorn-v/nextcloud-social-login/releases/download/v5.8.4/release.tar.gz", - "version": "5.8.4", + "hash": "sha256-XJbeVUYr3NZvynZyRlRtc0NNEJxcIHjwNst/J2+IBUM=", + "url": "https://github.com/zorn-v/nextcloud-social-login/releases/download/v5.9.1/release.tar.gz", + "version": "5.9.1", "description": "# Social login\n\nMake possible create users and login via Telegram, OAuth or OpenID\n\nFor OAuth you must create app for certain providers. Login button appear at login page if app id specified. Settings are in \"Social login\" section of settings page.\n\n## Installation\n\nLogin to your NextCloud installation as an administrator and under \"Apps\" click \"Download and enable\" next to the \"Social Login\" app.\n\nSee below for setup and configuration instructions.\n\n\n\n## Custom OAuth2/OIDC groups\n\nYou can use groups from your custom provider. For that you should specify \"Groups claim\" in custom OAuth2/OIDC provider settings. That claim should be returned from provider in `id_token` or at user info endpoint. Format should be `array` or comma separated string. Eg (with claim named `roles`)\n\n```json\n{\"roles\": [\"admin\", \"user\"]}\n```\nor\n```json\n{\"roles\": \"admin,user\"}\n```\n\nAlso nested claims is supported. For example `resource_access.client-id.roles` for\n\n```json\n\"resource_access\": {\n \"client-id\": {\n \"roles\": [\n \"client-role-1\",\n \"client-role-2\"\n ]\n }\n}\n```\n\nThere is also support for setting the displayName:\n```\n{\"roles\": [{gid: 1, displayName: \"admin\"}, {gid: 2, displayName: \"user\"}]}\n```\n\n\nYou can use provider groups in two ways:\n\n1. Map provider groups to existing nextcloud groups\n2. Create provider groups in nextcloud and associate it to user (if appropriate option specified)\n\nIf you want sync groups on every login do not forget to check \"Update user profile every login\" setting\n\n## Examples for groups\n\n* You can find example how to configure WSO2IS for return roles claim with OIDC [here](https://medium.com/@dewni.matheesha/claim-mapping-and-retrieving-end-user-information-in-wso2is-cffd5f3937ff)\n* [GitLab OIDC allowing specific GitLab groups](https://github.com/zorn-v/nextcloud-social-login/blob/master/docs/sso/gitlab.md)\n\n## Built-in OAuth providers\n\nYou can copy link of certain login button to get proper \"redirect url\" for OAuth app setting.\n\n* [Google](https://github.com/zorn-v/nextcloud-social-login/blob/master/docs/sso/google.md)\n* [Amazon](https://developer.amazon.com/loginwithamazon/console/site/lwa/overview.html)\n* [Facebook](https://github.com/zorn-v/nextcloud-social-login/blob/master/docs/sso/facebook.md)\n* [Twitter](https://github.com/zorn-v/nextcloud-social-login/blob/master/docs/sso/twitter.md)\n* [GitHub](https://github.com/settings/developers)\n* [Discord](#configure-discord)\n* [Telegram](https://github.com/zorn-v/nextcloud-social-login/blob/master/docs/sso/telegram.md)\n* PlexTv - you can use any title as app id\n* [Codeberg](https://github.com/zorn-v/nextcloud-social-login/blob/master/docs/sso/codeberg.md)\n\nDetails about \"Allow login only from specified domain\" google setting you can find here [#44](https://github.com/zorn-v/nextcloud-social-login/issues/44)\nYou can use comma separated list for multiple domains\n\n## Config\n\nYou can use `'social_login_auto_redirect' => true` setting in `config.php` for auto redirect unauthorized users to social login if only one provider is configured.\nIf you want to temporary disable this function (e.g. for login as local admin), you can add `noredir=1` query parameter in url for login page. Something like `https://cloud.domain.com/login?noredir=1`\n\nTo set options for http client, you can use\n```php\n 'social_login_http_client' => [\n 'timeout' => 45,\n 'proxy' => 'socks4://127.0.0.1:9050', // Check https://curl.se/libcurl/c/CURLOPT_PROXY.html for allowed variants\n ],\n```\nin `config.php`\n\n### Configurate a provider via CLI\n\nYou can configure everything from commandline by using the occ utility. To setup a oidc-provider replace the variables and URLs with values that match your deployment.\n```bash\nphp occ config:app:set sociallogin custom_providers --value='{\"custom_oidc\": [{\"name\": \"gitlab_oidc\", \"title\": \"Gitlab\", \"authorizeUrl\": \"https://gitlab.my-domain.org/oauth/authorize\", \"tokenUrl\": \"https://gitlab.my-domain.org/oauth/token\", \"userInfoUrl\": \"https://gitlab.my-domain.org/oauth/userinfo\", \"logoutUrl\": \"\", \"clientId\": \"$my_application_id\", \"clientSecret\": \"$my_super_secret_secret\", \"scope\": \"openid\", \"groupsClaim\": \"groups\", \"style\": \"gitlab\", \"defaultGroup\": \"\"}]}'\n```\nto do this with docker you just need to add `docker exec -t -uwww-data CONTAINER_NAME` in front of the command, or run it interactively from `docker exec -it -uwww-data CONTAINER_NAME sh`\n\nTo find out how to configure other providers, just configure them in the GUI and take a look at the database afterwards:\n```\nmysql -u nextcloud -p nextcloud\nPassword: \n\n> SELECT * FROM oc_appconfig WHERE appid='sociallogin';\n```\n\nOr just run\n\n`docker exec -t -uwww-data CONTAINER_NAME php occ config:app:get sociallogin custom_providers`\n\n### Configure Discord\n\nTo properly configure discord you have to:\n\n1. Create new discord application on [DiscordApp developers](https://discordapp.com/developers/applications/me#top)\n2. Open tab `Settings -> OAuth2 -> General`. In `Redirects` add new redirection link looking like this: `https://nextcloud.mydomain.com/apps/sociallogin/oauth/discord`.\n3. Copy `CLIENT ID` and generate and copy `CLIENT SECRET`\n4. Open in Nextcloud `Settings -> Social Login` and paste `CLIENT ID` into field `App id` and `CLIENT SECRET` into `Secret`.\n5. Select default group for users created this way.\n6. For group mapping check [#395](https://github.com/zorn-v/nextcloud-social-login/pull/395)\n\n## Hint\n\n### About Callback(Reply) Url\nYou can copy link from specific login button on login page and paste it on provider's website as callback url. To make proper button visible, just fill certain provider settings with random data and change it later.\n\nSome users may get strange reply(Callback) url error from provider even if you pasted the right url, that's because your nextcloud server may generate http urls when you are actually using https.\nPlease set 'overwriteprotocol' => 'https', in your config.php file.", "homepage": "https://github.com/zorn-v/nextcloud-social-login", "licenses": [ @@ -340,9 +340,9 @@ ] }, "spreed": { - "hash": "sha256-j2r0dJ5QYrGHFbCfuuyOmXR7oEN78Nagn5Qb8kzmknA=", - "url": "https://github.com/nextcloud-releases/spreed/releases/download/v20.1.3/spreed-v20.1.3.tar.gz", - "version": "20.1.3", + "hash": "sha256-+MYplCq6Kx1UiEz+Isbit7kQNhe4dncy6W+y7eMzuiA=", + "url": "https://github.com/nextcloud-releases/spreed/releases/download/v20.1.4/spreed-v20.1.4.tar.gz", + "version": "20.1.4", "description": "Chat, video & audio-conferencing using WebRTC\n\n* 💬 **Chat** Nextcloud Talk comes with a simple text chat, allowing you to share or upload files from your Nextcloud Files app or local device and mention other participants.\n* 👥 **Private, group, public and password protected calls!** Invite someone, a whole group or send a public link to invite to a call.\n* 🌐 **Federated chats** Chat with other Nextcloud users on their servers\n* 💻 **Screen sharing!** Share your screen with the participants of your call.\n* 🚀 **Integration with other Nextcloud apps** like Files, Calendar, User status, Dashboard, Flow, Maps, Smart picker, Contacts, Deck, and many more.\n* 🌉 **Sync with other chat solutions** With [Matterbridge](https://github.com/42wim/matterbridge/) being integrated in Talk, you can easily sync a lot of other chat solutions to Nextcloud Talk and vice-versa.", "homepage": "https://github.com/nextcloud/spreed", "licenses": [ From 8562dce80e7082b95758556b203ddf883e912dc1 Mon Sep 17 00:00:00 2001 From: Weijia Wang <9713184+wegank@users.noreply.github.com> Date: Thu, 13 Feb 2025 16:44:30 +0100 Subject: [PATCH 22/62] akkuPackages.akku: fix aarch64 build --- pkgs/tools/package-management/akku/overrides.nix | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/pkgs/tools/package-management/akku/overrides.nix b/pkgs/tools/package-management/akku/overrides.nix index 1de84dcae643..d885e686c9db 100644 --- a/pkgs/tools/package-management/akku/overrides.nix +++ b/pkgs/tools/package-management/akku/overrides.nix @@ -25,6 +25,7 @@ in tables-test.ikarus.sps lazy.sps pipeline-operators.sps + os-environment-variables.sps ' ''; }) @@ -45,7 +46,9 @@ in src = akku.src; }) # not a tar archive - (pkg: old: removeAttrs old [ "unpackPhase" ]) + (pkg: old: { + unpackPhase = null; + }) ]; machine-code = pkg: old: { From 761e1f5aa13201e5677e115ecd2c1f4aef31a3b6 Mon Sep 17 00:00:00 2001 From: Thiago Kenji Okada Date: Thu, 13 Feb 2025 19:28:53 +0000 Subject: [PATCH 23/62] nixos-rebuild-ng: add test_reexec and test_reexec_flake --- .../nixos-rebuild-ng/src/tests/test_main.py | 91 +++++++++++++++++++ 1 file changed, 91 insertions(+) diff --git a/pkgs/by-name/ni/nixos-rebuild-ng/src/tests/test_main.py b/pkgs/by-name/ni/nixos-rebuild-ng/src/tests/test_main.py index 823bc9bff536..347dbc228650 100644 --- a/pkgs/by-name/ni/nixos-rebuild-ng/src/tests/test_main.py +++ b/pkgs/by-name/ni/nixos-rebuild-ng/src/tests/test_main.py @@ -7,6 +7,7 @@ from typing import Any from unittest.mock import ANY, Mock, call, patch import pytest +from pytest import MonkeyPatch import nixos_rebuild as nr @@ -125,6 +126,96 @@ def test_parse_args() -> None: ] +@patch.dict(nr.os.environ, {}, clear=True) +@patch(get_qualified_name(nr.os.execve, nr.os), autospec=True) +@patch(get_qualified_name(nr.nix.build), autospec=True) +def test_reexec(mock_build: Mock, mock_execve: Mock, monkeypatch: MonkeyPatch) -> None: + monkeypatch.setattr(nr, "EXECUTABLE", "nixos-rebuild-ng") + argv = ["/path/bin/nixos-rebuild-ng", "switch", "--no-flake"] + args, _ = nr.parse_args(argv) + mock_build.return_value = Path("/path") + + nr.reexec(argv, args, {"build": True}, {"flake": True}) + assert mock_build.call_args_list == [ + call( + "config.system.build.nixos-rebuild", + nr.models.BuildAttr(ANY, ANY), + {"build": True, "no_out_link": True}, + ) + ] + # do not exec if there is no new version + assert mock_execve.call_args_list == [] + + mock_build.return_value = Path("/path/new") + + nr.reexec(argv, args, {}, {}) + # exec in the new version successfully + assert mock_execve.call_args_list == [ + call( + Path("/path/new/bin/nixos-rebuild-ng"), + ["/path/bin/nixos-rebuild-ng", "switch", "--no-flake"], + {"_NIXOS_REBUILD_REEXEC": "1"}, + ) + ] + + mock_execve.reset_mock() + mock_execve.side_effect = [OSError("BOOM"), None] + + nr.reexec(argv, args, {}, {}) + # exec in the previous version if the new version fails + assert mock_execve.call_args == call( + Path("/path/bin/nixos-rebuild-ng"), + ["/path/bin/nixos-rebuild-ng", "switch", "--no-flake"], + {"_NIXOS_REBUILD_REEXEC": "1"}, + ) + + +@patch.dict(nr.os.environ, {}, clear=True) +@patch(get_qualified_name(nr.os.execve, nr.os), autospec=True) +@patch(get_qualified_name(nr.nix.build_flake), autospec=True) +def test_reexec_flake( + mock_build: Mock, mock_execve: Mock, monkeypatch: MonkeyPatch +) -> None: + monkeypatch.setattr(nr, "EXECUTABLE", "nixos-rebuild-ng") + argv = ["/path/bin/nixos-rebuild-ng", "switch", "--flake"] + args, _ = nr.parse_args(argv) + mock_build.return_value = Path("/path") + + nr.reexec(argv, args, {"build": True}, {"flake": True}) + assert mock_build.call_args_list == [ + call( + "config.system.build.nixos-rebuild", + nr.models.Flake(ANY, ANY), + {"flake": True, "no_link": True}, + ) + ] + # do not exec if there is no new version + assert mock_execve.call_args_list == [] + + mock_build.return_value = Path("/path/new") + + nr.reexec(argv, args, {}, {}) + # exec in the new version successfully + assert mock_execve.call_args_list == [ + call( + Path("/path/new/bin/nixos-rebuild-ng"), + ["/path/bin/nixos-rebuild-ng", "switch", "--flake"], + {"_NIXOS_REBUILD_REEXEC": "1"}, + ) + ] + + mock_execve.reset_mock() + mock_execve.side_effect = [OSError("BOOM"), None] + + nr.reexec(argv, args, {}, {}) + # exec in the previous version if the new version fails + assert mock_execve.call_args == call( + Path("/path/bin/nixos-rebuild-ng"), + ["/path/bin/nixos-rebuild-ng", "switch", "--flake"], + {"_NIXOS_REBUILD_REEXEC": "1"}, + ) + + @patch.dict(nr.process.os.environ, {}, clear=True) @patch(get_qualified_name(nr.process.subprocess.run), autospec=True) def test_execute_nix_boot(mock_run: Mock, tmp_path: Path) -> None: From acf8b759cdfdd71fc29239ec8a410eba96bab1b1 Mon Sep 17 00:00:00 2001 From: June Stepp Date: Thu, 13 Feb 2025 14:44:41 -0600 Subject: [PATCH 24/62] audacity: use xwayland on wayland by default Audacity doesn't support Wayland due to a memory leak. --- pkgs/by-name/au/audacity/package.nix | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/au/audacity/package.nix b/pkgs/by-name/au/audacity/package.nix index 061aea770cda..8c99fb7705bf 100644 --- a/pkgs/by-name/au/audacity/package.nix +++ b/pkgs/by-name/au/audacity/package.nix @@ -176,15 +176,17 @@ stdenv.mkDerivation (finalAttrs: { dontWrapGApps = true; # Replace audacity's wrapper, to: - # - put it in the right place, it shouldn't be in "$out/audacity" + # - Put it in the right place; it shouldn't be in "$out/audacity" # - Add the ffmpeg dynamic dependency + # - Use Xwayland by default on Wayland. See https://github.com/audacity/audacity/pull/5977 postFixup = lib.optionalString stdenv.hostPlatform.isLinux '' wrapProgram "$out/bin/audacity" \ "''${gappsWrapperArgs[@]}" \ --prefix LD_LIBRARY_PATH : "$out/lib/audacity":${lib.makeLibraryPath [ ffmpeg ]} \ --suffix AUDACITY_MODULES_PATH : "$out/lib/audacity/modules" \ - --suffix AUDACITY_PATH : "$out/share/audacity" + --suffix AUDACITY_PATH : "$out/share/audacity" \ + --set-default GDK_BACKEND x11 '' + lib.optionalString stdenv.hostPlatform.isDarwin '' mkdir -p $out/{Applications,bin} From 2f323d5a906086f3b5dd263685bbecbdeda59c44 Mon Sep 17 00:00:00 2001 From: Christoph Honal Date: Fri, 7 Feb 2025 13:05:44 +0100 Subject: [PATCH 25/62] nrfconnect: 4.4.1 -> 5.1.0 --- pkgs/by-name/nr/nrfconnect/package.nix | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/pkgs/by-name/nr/nrfconnect/package.nix b/pkgs/by-name/nr/nrfconnect/package.nix index c7f7c529f74d..8130d4f2a90a 100644 --- a/pkgs/by-name/nr/nrfconnect/package.nix +++ b/pkgs/by-name/nr/nrfconnect/package.nix @@ -6,11 +6,11 @@ let pname = "nrfconnect"; - version = "4.4.1"; + version = "5.1.0"; src = fetchurl { url = "https://nsscprodmedia.blob.core.windows.net/prod/software-and-other-downloads/desktop-software/nrf-connect-for-desktop/${lib.versions.major version}-${lib.versions.minor version}-${lib.versions.patch version}/nrfconnect-${version}-x86_64.appimage"; - hash = "sha256-x/vVSOEajuQtLATRXk8DVLlXHegCqP+acecaOFNeBb8="; + hash = "sha256-QEoKIdi8tlZ86langbCYJXSO+dGONBEQPdwmREIhZBA="; name = "${pname}-${version}.AppImage"; }; @@ -22,7 +22,9 @@ in appimageTools.wrapType2 { inherit pname version src; - extraPkgs = pkgs: [ pkgs.segger-jlink ]; + extraPkgs = pkgs: [ + pkgs.segger-jlink-headless + ]; extraInstallCommands = '' install -Dm444 ${appimageContents}/nrfconnect.desktop -t $out/share/applications @@ -32,12 +34,12 @@ appimageTools.wrapType2 { --replace 'Exec=AppRun' 'Exec=nrfconnect' ''; - meta = with lib; { + meta = { description = "Nordic Semiconductor nRF Connect for Desktop"; homepage = "https://www.nordicsemi.com/Products/Development-tools/nRF-Connect-for-desktop"; - license = licenses.unfree; - platforms = platforms.linux; - maintainers = with maintainers; [ stargate01 ]; + license = lib.licenses.unfree; + platforms = lib.platforms.linux; + maintainers = with lib.maintainers; [ stargate01 ]; mainProgram = "nrfconnect"; }; } From 52c671bafbc176f4583c5474b7f10e63b6980900 Mon Sep 17 00:00:00 2001 From: Thiago Kenji Okada Date: Thu, 13 Feb 2025 21:23:37 +0000 Subject: [PATCH 26/62] Revert "nixos-rebuild-ng: {assert_called_with,assert_has_calls} -> {call_args,call_args_list}" This reverts commit d6e849ee03d1849bd5151c651e66a8731a0c4891. It was a bad idea, the diffs are even worse than before for anything that has more 2 calls. --- .../nixos-rebuild-ng/src/tests/test_main.py | 1031 +++++++++-------- .../nixos-rebuild-ng/src/tests/test_models.py | 10 +- .../ni/nixos-rebuild-ng/src/tests/test_nix.py | 327 +++--- .../src/tests/test_process.py | 13 +- 4 files changed, 704 insertions(+), 677 deletions(-) diff --git a/pkgs/by-name/ni/nixos-rebuild-ng/src/tests/test_main.py b/pkgs/by-name/ni/nixos-rebuild-ng/src/tests/test_main.py index 347dbc228650..e6d40bc8bd19 100644 --- a/pkgs/by-name/ni/nixos-rebuild-ng/src/tests/test_main.py +++ b/pkgs/by-name/ni/nixos-rebuild-ng/src/tests/test_main.py @@ -4,7 +4,7 @@ import uuid from pathlib import Path from subprocess import PIPE, CompletedProcess from typing import Any -from unittest.mock import ANY, Mock, call, patch +from unittest.mock import ANY, call, patch import pytest from pytest import MonkeyPatch @@ -218,7 +218,7 @@ def test_reexec_flake( @patch.dict(nr.process.os.environ, {}, clear=True) @patch(get_qualified_name(nr.process.subprocess.run), autospec=True) -def test_execute_nix_boot(mock_run: Mock, tmp_path: Path) -> None: +def test_execute_nix_boot(mock_run: Any, tmp_path: Path) -> None: nixpkgs_path = tmp_path / "nixpkgs" nixpkgs_path.mkdir() config_path = tmp_path / "test" @@ -238,59 +238,62 @@ def test_execute_nix_boot(mock_run: Mock, tmp_path: Path) -> None: nr.execute(["nixos-rebuild", "boot", "--no-flake", "-vvv", "--no-reexec"]) - assert mock_run.call_args_list == [ - call( - ["nix-instantiate", "--find-file", "nixpkgs", "-vvv"], - stdout=PIPE, - check=False, - **DEFAULT_RUN_KWARGS, - ), - call( - ["git", "-C", nixpkgs_path, "rev-parse", "--short", "HEAD"], - check=False, - capture_output=True, - **DEFAULT_RUN_KWARGS, - ), - call( - ["git", "-C", nixpkgs_path, "diff", "--quiet"], - check=False, - **DEFAULT_RUN_KWARGS, - ), - call( - [ - "nix-build", - "", - "--attr", - "config.system.build.toplevel", - "-vvv", - "--no-out-link", - ], - check=True, - stdout=PIPE, - **DEFAULT_RUN_KWARGS, - ), - call( - [ - "nix-env", - "-p", - Path("/nix/var/nix/profiles/system"), - "--set", - config_path, - ], - check=True, - **DEFAULT_RUN_KWARGS, - ), - call( - [config_path / "bin/switch-to-configuration", "boot"], - check=True, - **(DEFAULT_RUN_KWARGS | {"env": {"NIXOS_INSTALL_BOOTLOADER": "0"}}), - ), - ] + assert mock_run.call_count == 6 + mock_run.assert_has_calls( + [ + call( + ["nix-instantiate", "--find-file", "nixpkgs", "-vvv"], + stdout=PIPE, + check=False, + **DEFAULT_RUN_KWARGS, + ), + call( + ["git", "-C", nixpkgs_path, "rev-parse", "--short", "HEAD"], + check=False, + capture_output=True, + **DEFAULT_RUN_KWARGS, + ), + call( + ["git", "-C", nixpkgs_path, "diff", "--quiet"], + check=False, + **DEFAULT_RUN_KWARGS, + ), + call( + [ + "nix-build", + "", + "--attr", + "config.system.build.toplevel", + "-vvv", + "--no-out-link", + ], + check=True, + stdout=PIPE, + **DEFAULT_RUN_KWARGS, + ), + call( + [ + "nix-env", + "-p", + Path("/nix/var/nix/profiles/system"), + "--set", + config_path, + ], + check=True, + **DEFAULT_RUN_KWARGS, + ), + call( + [config_path / "bin/switch-to-configuration", "boot"], + check=True, + **(DEFAULT_RUN_KWARGS | {"env": {"NIXOS_INSTALL_BOOTLOADER": "0"}}), + ), + ] + ) @patch.dict(nr.process.os.environ, {}, clear=True) @patch(get_qualified_name(nr.process.subprocess.run), autospec=True) -def test_execute_nix_build_vm(mock_run: Mock, tmp_path: Path) -> None: +def test_execute_nix_build_vm(mock_run: Any, tmp_path: Path) -> None: config_path = tmp_path / "test" config_path.touch() @@ -315,28 +318,31 @@ def test_execute_nix_build_vm(mock_run: Mock, tmp_path: Path) -> None: ] ) - assert mock_run.call_args_list == [ - call( - [ - "nix-build", - "", - "--attr", - "config.system.build.vm", - "--include", - "nixos-config=./configuration.nix", - "--include", - "nixpkgs=$HOME/.nix-defexpr/channels/pinned_nixpkgs", - ], - check=True, - stdout=PIPE, - **DEFAULT_RUN_KWARGS, - ) - ] + assert mock_run.call_count == 1 + mock_run.assert_has_calls( + [ + call( + [ + "nix-build", + "", + "--attr", + "config.system.build.vm", + "--include", + "nixos-config=./configuration.nix", + "--include", + "nixpkgs=$HOME/.nix-defexpr/channels/pinned_nixpkgs", + ], + check=True, + stdout=PIPE, + **DEFAULT_RUN_KWARGS, + ) + ] + ) @patch.dict(nr.process.os.environ, {}, clear=True) @patch(get_qualified_name(nr.process.subprocess.run), autospec=True) -def test_execute_nix_build_image_flake(mock_run: Mock, tmp_path: Path) -> None: +def test_execute_nix_build_image_flake(mock_run: Any, tmp_path: Path) -> None: config_path = tmp_path / "test" config_path.touch() @@ -370,39 +376,42 @@ def test_execute_nix_build_image_flake(mock_run: Mock, tmp_path: Path) -> None: ] ) - assert mock_run.call_args_list == [ - call( - [ - "nix", - "eval", - "--json", - "/path/to/config#nixosConfigurations.hostname.config.system.build.images", - "--apply", - "builtins.mapAttrs (n: v: v.passthru.filePath)", - ], - check=True, - stdout=PIPE, - **DEFAULT_RUN_KWARGS, - ), - call( - [ - "nix", - "--extra-experimental-features", - "nix-command flakes", - "build", - "--print-out-paths", - "/path/to/config#nixosConfigurations.hostname.config.system.build.images.azure", - ], - check=True, - stdout=PIPE, - **DEFAULT_RUN_KWARGS, - ), - ] + assert mock_run.call_count == 2 + mock_run.assert_has_calls( + [ + call( + [ + "nix", + "eval", + "--json", + "/path/to/config#nixosConfigurations.hostname.config.system.build.images", + "--apply", + "builtins.mapAttrs (n: v: v.passthru.filePath)", + ], + check=True, + stdout=PIPE, + **DEFAULT_RUN_KWARGS, + ), + call( + [ + "nix", + "--extra-experimental-features", + "nix-command flakes", + "build", + "--print-out-paths", + "/path/to/config#nixosConfigurations.hostname.config.system.build.images.azure", + ], + check=True, + stdout=PIPE, + **DEFAULT_RUN_KWARGS, + ), + ] + ) @patch.dict(nr.process.os.environ, {}, clear=True) @patch(get_qualified_name(nr.process.subprocess.run), autospec=True) -def test_execute_nix_switch_flake(mock_run: Mock, tmp_path: Path) -> None: +def test_execute_nix_switch_flake(mock_run: Any, tmp_path: Path) -> None: config_path = tmp_path / "test" config_path.touch() @@ -431,43 +440,46 @@ def test_execute_nix_switch_flake(mock_run: Mock, tmp_path: Path) -> None: ] ) - assert mock_run.call_args_list == [ - call( - [ - "nix", - "--extra-experimental-features", - "nix-command flakes", - "build", - "--print-out-paths", - "/path/to/config#nixosConfigurations.hostname.config.system.build.toplevel", - "-v", - "--option", - "narinfo-cache-negative-ttl", - "1200", - "--no-link", - ], - check=True, - stdout=PIPE, - **DEFAULT_RUN_KWARGS, - ), - call( - [ - "sudo", - "nix-env", - "-p", - Path("/nix/var/nix/profiles/system"), - "--set", - config_path, - ], - check=True, - **DEFAULT_RUN_KWARGS, - ), - call( - ["sudo", config_path / "bin/switch-to-configuration", "switch"], - check=True, - **(DEFAULT_RUN_KWARGS | {"env": {"NIXOS_INSTALL_BOOTLOADER": "1"}}), - ), - ] + assert mock_run.call_count == 3 + mock_run.assert_has_calls( + [ + call( + [ + "nix", + "--extra-experimental-features", + "nix-command flakes", + "build", + "--print-out-paths", + "/path/to/config#nixosConfigurations.hostname.config.system.build.toplevel", + "-v", + "--option", + "narinfo-cache-negative-ttl", + "1200", + "--no-link", + ], + check=True, + stdout=PIPE, + **DEFAULT_RUN_KWARGS, + ), + call( + [ + "sudo", + "nix-env", + "-p", + Path("/nix/var/nix/profiles/system"), + "--set", + config_path, + ], + check=True, + **DEFAULT_RUN_KWARGS, + ), + call( + ["sudo", config_path / "bin/switch-to-configuration", "switch"], + check=True, + **(DEFAULT_RUN_KWARGS | {"env": {"NIXOS_INSTALL_BOOTLOADER": "1"}}), + ), + ] + ) @patch.dict(nr.process.os.environ, {}, clear=True) @@ -475,9 +487,9 @@ def test_execute_nix_switch_flake(mock_run: Mock, tmp_path: Path) -> None: @patch(get_qualified_name(nr.cleanup_ssh, nr), autospec=True) @patch(get_qualified_name(nr.nix.uuid4, nr.nix), autospec=True) def test_execute_nix_switch_build_target_host( - mock_uuid4: Mock, - mock_cleanup_ssh: Mock, - mock_run: Mock, + mock_uuid4: Any, + mock_cleanup_ssh: Any, + mock_run: Any, tmp_path: Path, ) -> None: config_path = tmp_path / "test" @@ -521,154 +533,157 @@ def test_execute_nix_switch_build_target_host( ] ) - assert mock_run.call_args_list == [ - call( - [ - "nix-instantiate", - "--find-file", - "nixpkgs", - "--include", - "nixos-config=./configuration.nix", - "--include", - "nixpkgs=$HOME/.nix-defexpr/channels/pinned_nixpkgs", - ], - check=False, - stdout=PIPE, - **DEFAULT_RUN_KWARGS, - ), - call( - [ - "nix-instantiate", - "", - "--attr", - "config.system.build.toplevel", - "--add-root", - nr.tmpdir.TMPDIR_PATH / "00000000000000000000000000000000", - "--include", - "nixos-config=./configuration.nix", - "--include", - "nixpkgs=$HOME/.nix-defexpr/channels/pinned_nixpkgs", - ], - check=True, - stdout=PIPE, - **DEFAULT_RUN_KWARGS, - ), - call( - ["nix-copy-closure", "--to", "user@build-host", config_path], - check=True, - **DEFAULT_RUN_KWARGS, - ), - call( - [ - "ssh", - *nr.process.SSH_DEFAULT_OPTS, - "user@build-host", - "--", - "mktemp", - "-d", - "-t", - "nixos-rebuild.XXXXX", - ], - check=True, - stdout=PIPE, - **DEFAULT_RUN_KWARGS, - ), - call( - [ - "ssh", - *nr.process.SSH_DEFAULT_OPTS, - "user@build-host", - "--", - "nix-store", - "--realise", - str(config_path), - "--add-root", - "/tmp/tmpdir/00000000000000000000000000000000", - ], - check=True, - stdout=PIPE, - **DEFAULT_RUN_KWARGS, - ), - call( - [ - "ssh", - *nr.process.SSH_DEFAULT_OPTS, - "user@build-host", - "--", - "readlink", - "-f", - "/tmp/tmpdir/config", - ], - check=True, - stdout=PIPE, - **DEFAULT_RUN_KWARGS, - ), - call( - [ - "ssh", - *nr.process.SSH_DEFAULT_OPTS, - "user@build-host", - "--", - "rm", - "-rf", - "/tmp/tmpdir", - ], - check=False, - **DEFAULT_RUN_KWARGS, - ), - call( - [ - "nix", - "copy", - "--from", - "ssh://user@build-host", - "--to", - "ssh://user@target-host", - config_path, - ], - check=True, - **DEFAULT_RUN_KWARGS, - ), - call( - [ - "ssh", - *nr.process.SSH_DEFAULT_OPTS, - "user@target-host", - "--", - "sudo", - "nix-env", - "-p", - "/nix/var/nix/profiles/system", - "--set", - str(config_path), - ], - check=True, - **DEFAULT_RUN_KWARGS, - ), - call( - [ - "ssh", - *nr.process.SSH_DEFAULT_OPTS, - "user@target-host", - "--", - "sudo", - "env", - "NIXOS_INSTALL_BOOTLOADER=0", - str(config_path / "bin/switch-to-configuration"), - "switch", - ], - check=True, - **DEFAULT_RUN_KWARGS, - ), - ] + assert mock_run.call_count == 10 + mock_run.assert_has_calls( + [ + call( + [ + "nix-instantiate", + "--find-file", + "nixpkgs", + "--include", + "nixos-config=./configuration.nix", + "--include", + "nixpkgs=$HOME/.nix-defexpr/channels/pinned_nixpkgs", + ], + check=False, + stdout=PIPE, + **DEFAULT_RUN_KWARGS, + ), + call( + [ + "nix-instantiate", + "", + "--attr", + "config.system.build.toplevel", + "--add-root", + nr.tmpdir.TMPDIR_PATH / "00000000000000000000000000000000", + "--include", + "nixos-config=./configuration.nix", + "--include", + "nixpkgs=$HOME/.nix-defexpr/channels/pinned_nixpkgs", + ], + check=True, + stdout=PIPE, + **DEFAULT_RUN_KWARGS, + ), + call( + ["nix-copy-closure", "--to", "user@build-host", config_path], + check=True, + **DEFAULT_RUN_KWARGS, + ), + call( + [ + "ssh", + *nr.process.SSH_DEFAULT_OPTS, + "user@build-host", + "--", + "mktemp", + "-d", + "-t", + "nixos-rebuild.XXXXX", + ], + check=True, + stdout=PIPE, + **DEFAULT_RUN_KWARGS, + ), + call( + [ + "ssh", + *nr.process.SSH_DEFAULT_OPTS, + "user@build-host", + "--", + "nix-store", + "--realise", + str(config_path), + "--add-root", + "/tmp/tmpdir/00000000000000000000000000000000", + ], + check=True, + stdout=PIPE, + **DEFAULT_RUN_KWARGS, + ), + call( + [ + "ssh", + *nr.process.SSH_DEFAULT_OPTS, + "user@build-host", + "--", + "readlink", + "-f", + "/tmp/tmpdir/config", + ], + check=True, + stdout=PIPE, + **DEFAULT_RUN_KWARGS, + ), + call( + [ + "ssh", + *nr.process.SSH_DEFAULT_OPTS, + "user@build-host", + "--", + "rm", + "-rf", + "/tmp/tmpdir", + ], + check=False, + **DEFAULT_RUN_KWARGS, + ), + call( + [ + "nix", + "copy", + "--from", + "ssh://user@build-host", + "--to", + "ssh://user@target-host", + config_path, + ], + check=True, + **DEFAULT_RUN_KWARGS, + ), + call( + [ + "ssh", + *nr.process.SSH_DEFAULT_OPTS, + "user@target-host", + "--", + "sudo", + "nix-env", + "-p", + "/nix/var/nix/profiles/system", + "--set", + str(config_path), + ], + check=True, + **DEFAULT_RUN_KWARGS, + ), + call( + [ + "ssh", + *nr.process.SSH_DEFAULT_OPTS, + "user@target-host", + "--", + "sudo", + "env", + "NIXOS_INSTALL_BOOTLOADER=0", + str(config_path / "bin/switch-to-configuration"), + "switch", + ], + check=True, + **DEFAULT_RUN_KWARGS, + ), + ] + ) @patch.dict(nr.process.os.environ, {}, clear=True) @patch(get_qualified_name(nr.process.subprocess.run), autospec=True) @patch(get_qualified_name(nr.cleanup_ssh, nr), autospec=True) def test_execute_nix_switch_flake_target_host( - mock_cleanup_ssh: Mock, - mock_run: Mock, + mock_cleanup_ssh: Any, + mock_run: Any, tmp_path: Path, ) -> None: config_path = tmp_path / "test" @@ -695,66 +710,69 @@ def test_execute_nix_switch_flake_target_host( ] ) - assert mock_run.call_args_list == [ - call( - [ - "nix", - "--extra-experimental-features", - "nix-command flakes", - "build", - "--print-out-paths", - "/path/to/config#nixosConfigurations.hostname.config.system.build.toplevel", - "--no-link", - ], - check=True, - stdout=PIPE, - **DEFAULT_RUN_KWARGS, - ), - call( - ["nix-copy-closure", "--to", "user@localhost", config_path], - check=True, - **DEFAULT_RUN_KWARGS, - ), - call( - [ - "ssh", - *nr.process.SSH_DEFAULT_OPTS, - "user@localhost", - "--", - "sudo", - "nix-env", - "-p", - "/nix/var/nix/profiles/system", - "--set", - str(config_path), - ], - check=True, - **DEFAULT_RUN_KWARGS, - ), - call( - [ - "ssh", - *nr.process.SSH_DEFAULT_OPTS, - "user@localhost", - "--", - "sudo", - "env", - "NIXOS_INSTALL_BOOTLOADER=0", - str(config_path / "bin/switch-to-configuration"), - "switch", - ], - check=True, - **DEFAULT_RUN_KWARGS, - ), - ] + assert mock_run.call_count == 4 + mock_run.assert_has_calls( + [ + call( + [ + "nix", + "--extra-experimental-features", + "nix-command flakes", + "build", + "--print-out-paths", + "/path/to/config#nixosConfigurations.hostname.config.system.build.toplevel", + "--no-link", + ], + check=True, + stdout=PIPE, + **DEFAULT_RUN_KWARGS, + ), + call( + ["nix-copy-closure", "--to", "user@localhost", config_path], + check=True, + **DEFAULT_RUN_KWARGS, + ), + call( + [ + "ssh", + *nr.process.SSH_DEFAULT_OPTS, + "user@localhost", + "--", + "sudo", + "nix-env", + "-p", + "/nix/var/nix/profiles/system", + "--set", + str(config_path), + ], + check=True, + **DEFAULT_RUN_KWARGS, + ), + call( + [ + "ssh", + *nr.process.SSH_DEFAULT_OPTS, + "user@localhost", + "--", + "sudo", + "env", + "NIXOS_INSTALL_BOOTLOADER=0", + str(config_path / "bin/switch-to-configuration"), + "switch", + ], + check=True, + **DEFAULT_RUN_KWARGS, + ), + ] + ) @patch.dict(nr.process.os.environ, {}, clear=True) @patch(get_qualified_name(nr.process.subprocess.run), autospec=True) @patch(get_qualified_name(nr.cleanup_ssh, nr), autospec=True) def test_execute_nix_switch_flake_build_host( - mock_cleanup_ssh: Mock, - mock_run: Mock, + mock_cleanup_ssh: Any, + mock_run: Any, tmp_path: Path, ) -> None: config_path = tmp_path / "test" @@ -782,74 +800,77 @@ def test_execute_nix_switch_flake_build_host( ] ) - assert mock_run.call_args_list == [ - call( - [ - "nix", - "--extra-experimental-features", - "nix-command flakes", - "eval", - "--raw", - "/path/to/config#nixosConfigurations.hostname.config.system.build.toplevel.drvPath", - ], - check=True, - stdout=PIPE, - **DEFAULT_RUN_KWARGS, - ), - call( - ["nix-copy-closure", "--to", "user@localhost", config_path], - check=True, - **DEFAULT_RUN_KWARGS, - ), - call( - [ - "ssh", - *nr.process.SSH_DEFAULT_OPTS, - "user@localhost", - "--", - "nix", - "--extra-experimental-features", - "'nix-command flakes'", - "build", - f"'{config_path}^*'", - "--print-out-paths", - "--no-link", - ], - check=True, - stdout=PIPE, - **DEFAULT_RUN_KWARGS, - ), - call( - [ - "nix-copy-closure", - "--from", - "user@localhost", - config_path, - ], - check=True, - **DEFAULT_RUN_KWARGS, - ), - call( - [ - "nix-env", - "-p", - Path("/nix/var/nix/profiles/system"), - "--set", - config_path, - ], - check=True, - **DEFAULT_RUN_KWARGS, - ), - call( - [config_path / "bin/switch-to-configuration", "switch"], - check=True, - **DEFAULT_RUN_KWARGS, - ), - ] + assert mock_run.call_count == 6 + mock_run.assert_has_calls( + [ + call( + [ + "nix", + "--extra-experimental-features", + "nix-command flakes", + "eval", + "--raw", + "/path/to/config#nixosConfigurations.hostname.config.system.build.toplevel.drvPath", + ], + check=True, + stdout=PIPE, + **DEFAULT_RUN_KWARGS, + ), + call( + ["nix-copy-closure", "--to", "user@localhost", config_path], + check=True, + **DEFAULT_RUN_KWARGS, + ), + call( + [ + "ssh", + *nr.process.SSH_DEFAULT_OPTS, + "user@localhost", + "--", + "nix", + "--extra-experimental-features", + "'nix-command flakes'", + "build", + f"'{config_path}^*'", + "--print-out-paths", + "--no-link", + ], + check=True, + stdout=PIPE, + **DEFAULT_RUN_KWARGS, + ), + call( + [ + "nix-copy-closure", + "--from", + "user@localhost", + config_path, + ], + check=True, + **DEFAULT_RUN_KWARGS, + ), + call( + [ + "nix-env", + "-p", + Path("/nix/var/nix/profiles/system"), + "--set", + config_path, + ], + check=True, + **DEFAULT_RUN_KWARGS, + ), + call( + [config_path / "bin/switch-to-configuration", "switch"], + check=True, + **DEFAULT_RUN_KWARGS, + ), + ] + ) @patch(get_qualified_name(nr.process.subprocess.run), autospec=True) -def test_execute_switch_rollback(mock_run: Mock, tmp_path: Path) -> None: +def test_execute_switch_rollback(mock_run: Any, tmp_path: Path) -> None: nixpkgs_path = tmp_path / "nixpkgs" nixpkgs_path.touch() @@ -874,49 +895,52 @@ def test_execute_switch_rollback(mock_run: Mock, tmp_path: Path) -> None: ] ) - assert mock_run.call_args_list == [ - call( - ["nix-instantiate", "--find-file", "nixpkgs"], - check=False, - stdout=PIPE, - **DEFAULT_RUN_KWARGS, - ), - call( - [ - "git", - "-C", - nixpkgs_path, - "rev-parse", - "--short", - "HEAD", - ], - check=False, - capture_output=True, - **DEFAULT_RUN_KWARGS, - ), - call( - [ - "nix-env", - "--rollback", - "-p", - Path("/nix/var/nix/profiles/system"), - ], - check=True, - **DEFAULT_RUN_KWARGS, - ), - call( - [ - Path("/nix/var/nix/profiles/system/bin/switch-to-configuration"), - "switch", - ], - check=True, - **DEFAULT_RUN_KWARGS, - ), - ] + assert mock_run.call_count == 4 + mock_run.assert_has_calls( + [ + call( + ["nix-instantiate", "--find-file", "nixpkgs"], + check=False, + stdout=PIPE, + **DEFAULT_RUN_KWARGS, + ), + call( + [ + "git", + "-C", + nixpkgs_path, + "rev-parse", + "--short", + "HEAD", + ], + check=False, + capture_output=True, + **DEFAULT_RUN_KWARGS, + ), + call( + [ + "nix-env", + "--rollback", + "-p", + Path("/nix/var/nix/profiles/system"), + ], + check=True, + **DEFAULT_RUN_KWARGS, + ), + call( + [ + Path("/nix/var/nix/profiles/system/bin/switch-to-configuration"), + "switch", + ], + check=True, + **DEFAULT_RUN_KWARGS, + ), + ] + ) @patch(get_qualified_name(nr.process.subprocess.run), autospec=True) -def test_execute_build(mock_run: Mock, tmp_path: Path) -> None: +def test_execute_build(mock_run: Any, tmp_path: Path) -> None: config_path = tmp_path / "test" config_path.touch() mock_run.side_effect = [ @@ -926,23 +950,26 @@ def test_execute_build(mock_run: Mock, tmp_path: Path) -> None: nr.execute(["nixos-rebuild", "build", "--no-flake", "--no-reexec"]) - assert mock_run.call_args_list == [ - call( - [ - "nix-build", - "", - "--attr", - "config.system.build.toplevel", - ], - check=True, - stdout=PIPE, - **DEFAULT_RUN_KWARGS, - ) - ] + assert mock_run.call_count == 1 + mock_run.assert_has_calls( + [ + call( + [ + "nix-build", + "", + "--attr", + "config.system.build.toplevel", + ], + check=True, + stdout=PIPE, + **DEFAULT_RUN_KWARGS, + ) + ] + ) @patch(get_qualified_name(nr.process.subprocess.run), autospec=True) -def test_execute_test_flake(mock_run: Mock, tmp_path: Path) -> None: +def test_execute_test_flake(mock_run: Any, tmp_path: Path) -> None: config_path = tmp_path / "test" config_path.touch() @@ -958,35 +985,38 @@ def test_execute_test_flake(mock_run: Mock, tmp_path: Path) -> None: ["nixos-rebuild", "test", "--flake", "github:user/repo#hostname", "--no-reexec"] ) - assert mock_run.call_args_list == [ - call( - [ - "nix", - "--extra-experimental-features", - "nix-command flakes", - "build", - "--print-out-paths", - "github:user/repo#nixosConfigurations.hostname.config.system.build.toplevel", - ], - check=True, - stdout=PIPE, - **DEFAULT_RUN_KWARGS, - ), - call( - [config_path / "bin/switch-to-configuration", "test"], - check=True, - **DEFAULT_RUN_KWARGS, - ), - ] + assert mock_run.call_count == 2 + mock_run.assert_has_calls( + [ + call( + [ + "nix", + "--extra-experimental-features", + "nix-command flakes", + "build", + "--print-out-paths", + "github:user/repo#nixosConfigurations.hostname.config.system.build.toplevel", + ], + check=True, + stdout=PIPE, + **DEFAULT_RUN_KWARGS, + ), + call( + [config_path / "bin/switch-to-configuration", "test"], + check=True, + **DEFAULT_RUN_KWARGS, + ), + ] + ) @patch(get_qualified_name(nr.process.subprocess.run), autospec=True) @patch(get_qualified_name(nr.nix.Path.exists, nr.nix), autospec=True, return_value=True) @patch(get_qualified_name(nr.nix.Path.mkdir, nr.nix), autospec=True) def test_execute_test_rollback( - mock_path_mkdir: Mock, - mock_path_exists: Mock, - mock_run: Mock, + mock_path_mkdir: Any, + mock_path_exists: Any, + mock_run: Any, ) -> None: def run_side_effect(args: list[str], **kwargs: Any) -> CompletedProcess[str]: if args[0] == "nix-env": @@ -1008,26 +1038,29 @@ def test_execute_test_rollback( ["nixos-rebuild", "test", "--rollback", "--profile-name", "foo", "--no-reexec"] ) - assert mock_run.call_args_list == [ - call( - [ - "nix-env", - "-p", - Path("/nix/var/nix/profiles/system-profiles/foo"), - "--list-generations", - ], - check=True, - stdout=PIPE, - **DEFAULT_RUN_KWARGS, - ), - call( - [ - Path( - "/nix/var/nix/profiles/system-profiles/foo-2083-link/bin/switch-to-configuration" - ), - "test", - ], - check=True, - **DEFAULT_RUN_KWARGS, - ), - ] + assert mock_run.call_count == 2 + mock_run.assert_has_calls( + [ + call( + [ + "nix-env", + "-p", + Path("/nix/var/nix/profiles/system-profiles/foo"), + "--list-generations", + ], + check=True, + stdout=PIPE, + **DEFAULT_RUN_KWARGS, + ), + call( + [ + Path( + "/nix/var/nix/profiles/system-profiles/foo-2083-link/bin/switch-to-configuration" + ), + "test", + ], + check=True, + **DEFAULT_RUN_KWARGS, + ), + ] + ) diff --git a/pkgs/by-name/ni/nixos-rebuild-ng/src/tests/test_models.py b/pkgs/by-name/ni/nixos-rebuild-ng/src/tests/test_models.py index cb318192fc2e..e02fc69848fb 100644 --- a/pkgs/by-name/ni/nixos-rebuild-ng/src/tests/test_models.py +++ b/pkgs/by-name/ni/nixos-rebuild-ng/src/tests/test_models.py @@ -1,7 +1,8 @@ import platform import subprocess from pathlib import Path -from unittest.mock import Mock, patch +from typing import Any +from unittest.mock import patch from pytest import MonkeyPatch @@ -78,9 +79,7 @@ def test_flake_to_attr() -> None: @patch(get_qualified_name(platform.node), autospec=True) -def test_flake_from_arg( - mock_node: Mock, monkeypatch: MonkeyPatch, tmpdir: Path -) -> None: +def test_flake_from_arg(mock_node: Any, monkeypatch: MonkeyPatch, tmpdir: Path) -> None: mock_node.return_value = "hostname" # Flake string @@ -162,12 +161,11 @@ def test_flake_from_arg( @patch(get_qualified_name(m.Path.mkdir, m), autospec=True) -def test_profile_from_arg(mock_mkdir: Mock) -> None: +def test_profile_from_arg(mock_mkdir: Any) -> None: assert m.Profile.from_arg("system") == m.Profile( "system", Path("/nix/var/nix/profiles/system"), ) - mock_mkdir.assert_not_called() assert m.Profile.from_arg("something") == m.Profile( "something", diff --git a/pkgs/by-name/ni/nixos-rebuild-ng/src/tests/test_nix.py b/pkgs/by-name/ni/nixos-rebuild-ng/src/tests/test_nix.py index 861ba7ae0617..35fea00cbeef 100644 --- a/pkgs/by-name/ni/nixos-rebuild-ng/src/tests/test_nix.py +++ b/pkgs/by-name/ni/nixos-rebuild-ng/src/tests/test_nix.py @@ -3,7 +3,7 @@ import uuid from pathlib import Path from subprocess import PIPE, CompletedProcess from typing import Any -from unittest.mock import ANY, Mock, call, patch +from unittest.mock import ANY, call, patch import pytest from pytest import MonkeyPatch @@ -20,13 +20,13 @@ from .helpers import get_qualified_name autospec=True, return_value=CompletedProcess([], 0, stdout=" \n/path/to/file\n "), ) -def test_build(mock_run: Mock) -> None: +def test_build(mock_run: Any) -> None: assert n.build( "config.system.build.attr", m.BuildAttr("", None), {"nix_flag": "foo"}, ) == Path("/path/to/file") - assert mock_run.call_args == call( + mock_run.assert_called_with( [ "nix-build", "", @@ -38,17 +38,13 @@ def test_build(mock_run: Mock) -> None: stdout=PIPE, ) - mock_run.reset_mock() - assert n.build( "config.system.build.attr", m.BuildAttr(Path("file"), "preAttr") ) == Path("/path/to/file") - assert mock_run.call_args_list == [ - call( - ["nix-build", Path("file"), "--attr", "preAttr.config.system.build.attr"], - stdout=PIPE, - ) - ] + mock_run.assert_called_with( + ["nix-build", Path("file"), "--attr", "preAttr.config.system.build.attr"], + stdout=PIPE, + ) @patch( @@ -56,7 +52,7 @@ def test_build(mock_run: Mock) -> None: autospec=True, return_value=CompletedProcess([], 0, stdout=" \n/path/to/file\n "), ) -def test_build_flake(mock_run: Mock, monkeypatch: MonkeyPatch, tmpdir: Path) -> None: +def test_build_flake(mock_run: Any, monkeypatch: MonkeyPatch, tmpdir: Path) -> None: monkeypatch.chdir(tmpdir) flake = m.Flake.parse(".#hostname") @@ -65,7 +61,7 @@ def test_build_flake(mock_run: Mock, monkeypatch: MonkeyPatch, tmpdir: Path) -> flake, {"no_link": True, "nix_flag": "foo"}, ) == Path("/path/to/file") - assert mock_run.call_args == call( + mock_run.assert_called_with( [ "nix", "--extra-experimental-features", @@ -83,9 +79,7 @@ def test_build_flake(mock_run: Mock, monkeypatch: MonkeyPatch, tmpdir: Path) -> @patch(get_qualified_name(n.run_wrapper, n), autospec=True) @patch(get_qualified_name(n.uuid4, n), autospec=True) -def test_build_remote( - mock_uuid4: Mock, mock_run: Mock, monkeypatch: MonkeyPatch -) -> None: +def test_build_remote(mock_uuid4: Any, mock_run: Any, monkeypatch: MonkeyPatch) -> None: build_host = m.Remote("user@host", [], None) monkeypatch.setenv("NIX_SSHOPTS", "--ssh opts") @@ -114,53 +108,58 @@ def test_build_remote( instantiate_flags={"inst": True}, copy_flags={"copy": True}, ) == Path("/path/to/config") - assert mock_run.call_args_list == [ - call( - [ - "nix-instantiate", - "", - "--attr", - "preAttr.config.system.build.toplevel", - "--add-root", - n.tmpdir.TMPDIR_PATH / "00000000000000000000000000000001", - "--inst", - ], - stdout=PIPE, - ), - call( - [ - "nix-copy-closure", - "--copy", - "--to", - "user@host", - Path("/path/to/file"), - ], - extra_env={"NIX_SSHOPTS": " ".join([*p.SSH_DEFAULT_OPTS, "--ssh opts"])}, - ), - call( - ["mktemp", "-d", "-t", "nixos-rebuild.XXXXX"], - remote=build_host, - stdout=PIPE, - ), - call( - [ - "nix-store", - "--realise", - Path("/path/to/file"), - "--add-root", - Path("/tmp/tmpdir/00000000000000000000000000000002"), - "--realise", - ], - remote=build_host, - stdout=PIPE, - ), - call( - ["readlink", "-f", "/tmp/tmpdir/config"], - remote=build_host, - stdout=PIPE, - ), - call(["rm", "-rf", Path("/tmp/tmpdir")], remote=build_host, check=False), - ] + + mock_run.assert_has_calls( + [ + call( + [ + "nix-instantiate", + "", + "--attr", + "preAttr.config.system.build.toplevel", + "--add-root", + n.tmpdir.TMPDIR_PATH / "00000000000000000000000000000001", + "--inst", + ], + stdout=PIPE, + ), + call( + [ + "nix-copy-closure", + "--copy", + "--to", + "user@host", + Path("/path/to/file"), + ], + extra_env={ + "NIX_SSHOPTS": " ".join([*p.SSH_DEFAULT_OPTS, "--ssh opts"]) + }, + ), + call( + ["mktemp", "-d", "-t", "nixos-rebuild.XXXXX"], + remote=build_host, + stdout=PIPE, + ), + call( + [ + "nix-store", + "--realise", + Path("/path/to/file"), + "--add-root", + Path("/tmp/tmpdir/00000000000000000000000000000002"), + "--realise", + ], + remote=build_host, + stdout=PIPE, + ), + call( + ["readlink", "-f", "/tmp/tmpdir/config"], + remote=build_host, + stdout=PIPE, + ), + call(["rm", "-rf", Path("/tmp/tmpdir")], remote=build_host, check=False), + ] + ) @patch( @@ -169,7 +168,7 @@ def test_build_remote( return_value=CompletedProcess([], 0, stdout=" \n/path/to/file\n "), ) def test_build_remote_flake( - mock_run: Mock, monkeypatch: MonkeyPatch, tmpdir: Path + mock_run: Any, monkeypatch: MonkeyPatch, tmpdir: Path ) -> None: monkeypatch.chdir(tmpdir) flake = m.Flake.parse(".#hostname") @@ -184,43 +183,47 @@ def test_build_remote_flake( copy_flags={"copy": True}, flake_build_flags={"build": True}, ) == Path("/path/to/file") - assert mock_run.call_args_list == [ - call( - [ - "nix", - "--extra-experimental-features", - "nix-command flakes", - "eval", - "--raw", - ".#nixosConfigurations.hostname.config.system.build.toplevel.drvPath", - "--flake", - ], - stdout=PIPE, - ), - call( - [ - "nix-copy-closure", - "--copy", - "--to", - "user@host", - Path("/path/to/file"), - ], - extra_env={"NIX_SSHOPTS": " ".join([*p.SSH_DEFAULT_OPTS, "--ssh opts"])}, - ), - call( - [ - "nix", - "--extra-experimental-features", - "nix-command flakes", - "build", - "/path/to/file^*", - "--print-out-paths", - "--build", - ], - remote=build_host, - stdout=PIPE, - ), - ] + mock_run.assert_has_calls( + [ + call( + [ + "nix", + "--extra-experimental-features", + "nix-command flakes", + "eval", + "--raw", + ".#nixosConfigurations.hostname.config.system.build.toplevel.drvPath", + "--flake", + ], + stdout=PIPE, + ), + call( + [ + "nix-copy-closure", + "--copy", + "--to", + "user@host", + Path("/path/to/file"), + ], + extra_env={ + "NIX_SSHOPTS": " ".join([*p.SSH_DEFAULT_OPTS, "--ssh opts"]) + }, + ), + call( + [ + "nix", + "--extra-experimental-features", + "nix-command flakes", + "build", + "/path/to/file^*", + "--print-out-paths", + "--build", + ], + remote=build_host, + stdout=PIPE, + ), + ] + ) def test_copy_closure(monkeypatch: MonkeyPatch) -> None: @@ -233,7 +236,7 @@ def test_copy_closure(monkeypatch: MonkeyPatch) -> None: build_host = m.Remote("user@build.host", [], None) with patch(get_qualified_name(n.run_wrapper, n), autospec=True) as mock_run: n.copy_closure(closure, target_host) - assert mock_run.call_args == call( + mock_run.assert_called_with( ["nix-copy-closure", "--to", "user@target.host", closure], extra_env={"NIX_SSHOPTS": " ".join(p.SSH_DEFAULT_OPTS)}, ) @@ -241,7 +244,7 @@ def test_copy_closure(monkeypatch: MonkeyPatch) -> None: monkeypatch.setenv("NIX_SSHOPTS", "--ssh build-opt") with patch(get_qualified_name(n.run_wrapper, n), autospec=True) as mock_run: n.copy_closure(closure, None, build_host, {"copy_flag": True}) - assert mock_run.call_args == call( + mock_run.assert_called_with( ["nix-copy-closure", "--copy-flag", "--from", "user@build.host", closure], extra_env={ "NIX_SSHOPTS": " ".join([*p.SSH_DEFAULT_OPTS, "--ssh build-opt"]) @@ -255,7 +258,7 @@ def test_copy_closure(monkeypatch: MonkeyPatch) -> None: } with patch(get_qualified_name(n.run_wrapper, n), autospec=True) as mock_run: n.copy_closure(closure, target_host, build_host, {"copy_flag": True}) - assert mock_run.call_args == call( + mock_run.assert_called_with( [ "nix", "copy", @@ -272,24 +275,26 @@ def test_copy_closure(monkeypatch: MonkeyPatch) -> None: monkeypatch.setattr(n, "WITH_NIX_2_18", False) with patch(get_qualified_name(n.run_wrapper, n), autospec=True) as mock_run: n.copy_closure(closure, target_host, build_host) - assert mock_run.call_args_list == [ - call( - ["nix-copy-closure", "--from", "user@build.host", closure], - extra_env=extra_env, - ), - call( - ["nix-copy-closure", "--to", "user@target.host", closure], - extra_env=extra_env, - ), - ] + mock_run.assert_has_calls( + [ + call( + ["nix-copy-closure", "--from", "user@build.host", closure], + extra_env=extra_env, + ), + call( + ["nix-copy-closure", "--to", "user@target.host", closure], + extra_env=extra_env, + ), + ] + ) @patch(get_qualified_name(n.run_wrapper, n), autospec=True) -def test_edit(mock_run: Mock, monkeypatch: MonkeyPatch, tmpdir: Path) -> None: +def test_edit(mock_run: Any, monkeypatch: MonkeyPatch, tmpdir: Path) -> None: # Flake flake = m.Flake.parse(f"{tmpdir}#attr") n.edit(flake, {"commit_lock_file": True}) - assert mock_run.call_args == call( + mock_run.assert_called_with( [ "nix", "--extra-experimental-features", @@ -311,7 +316,7 @@ def test_edit(mock_run: Mock, monkeypatch: MonkeyPatch, tmpdir: Path) -> None: mp.setenv("EDITOR", "editor") n.edit(None) - assert mock_run.call_args == call(["editor", default_nix], check=False) + mock_run.assert_called_with(["editor", default_nix], check=False) @patch( @@ -328,13 +333,13 @@ def test_edit(mock_run: Mock, monkeypatch: MonkeyPatch, tmpdir: Path) -> None: """, ), ) -def test_get_build_image_variants(mock_run: Mock, tmp_path: Path) -> None: +def test_get_build_image_variants(mock_run: Any, tmp_path: Path) -> None: build_attr = m.BuildAttr("", None) assert n.get_build_image_variants(build_attr) == { "azure": "nixos-image-azure-25.05.20250102.6df2492-x86_64-linux.vhd", "vmware": "nixos-image-vmware-25.05.20250102.6df2492-x86_64-linux.vmdk", } - assert mock_run.call_args == call( + mock_run.assert_called_with( [ "nix-instantiate", "--eval", @@ -352,14 +357,12 @@ def test_get_build_image_variants(mock_run: Mock, tmp_path: Path) -> None: stdout=PIPE, ) - mock_run.reset_mock() - build_attr = m.BuildAttr(Path(tmp_path), "preAttr") assert n.get_build_image_variants(build_attr, {"inst_flag": True}) == { "azure": "nixos-image-azure-25.05.20250102.6df2492-x86_64-linux.vhd", "vmware": "nixos-image-vmware-25.05.20250102.6df2492-x86_64-linux.vmdk", } - assert mock_run.call_args == call( + mock_run.assert_called_with( [ "nix-instantiate", "--eval", @@ -393,13 +396,13 @@ def test_get_build_image_variants(mock_run: Mock, tmp_path: Path) -> None: """, ), ) -def test_get_build_image_variants_flake(mock_run: Mock) -> None: +def test_get_build_image_variants_flake(mock_run: Any) -> None: flake = m.Flake(Path("flake.nix"), "myAttr") assert n.get_build_image_variants_flake(flake, {"eval_flag": True}) == { "azure": "nixos-image-azure-25.05.20250102.6df2492-x86_64-linux.vhd", "vmware": "nixos-image-vmware-25.05.20250102.6df2492-x86_64-linux.vmdk", } - assert mock_run.call_args == call( + mock_run.assert_called_with( [ "nix", "eval", @@ -424,7 +427,7 @@ def test_get_nixpkgs_rev() -> None: side_effect=[CompletedProcess([], 0, "")], ) as mock_run: assert n.get_nixpkgs_rev(path) is None - assert mock_run.call_args == call( + mock_run.assert_called_with( ["git", "-C", path, "rev-parse", "--short", "HEAD"], check=False, capture_output=True, @@ -451,7 +454,7 @@ def test_get_nixpkgs_rev() -> None: ], ) as mock_run: assert n.get_nixpkgs_rev(path) == ".git.0f7c82403fd6" - assert mock_run.call_args_list == expected_calls + mock_run.assert_has_calls(expected_calls) with patch( get_qualified_name(n.run_wrapper, n), @@ -462,7 +465,7 @@ def test_get_nixpkgs_rev() -> None: ], ) as mock_run: assert n.get_nixpkgs_rev(path) == ".git.0f7c82403fd6M" - assert mock_run.call_args_list == expected_calls + mock_run.assert_has_calls(expected_calls) def test_get_generations(tmp_path: Path) -> None: @@ -503,7 +506,7 @@ def test_get_generations_from_nix_env(tmp_path: Path) -> None: m.Generation(id=2083, current=False, timestamp="2024-11-07 22:59:41"), m.Generation(id=2084, current=True, timestamp="2024-11-07 23:54:17"), ] - assert mock_run.call_args == call( + mock_run.assert_called_with( ["nix-env", "-p", path, "--list-generations"], stdout=PIPE, remote=None, @@ -521,7 +524,7 @@ def test_get_generations_from_nix_env(tmp_path: Path) -> None: m.Generation(id=2083, current=False, timestamp="2024-11-07 22:59:41"), m.Generation(id=2084, current=True, timestamp="2024-11-07 23:54:17"), ] - assert mock_run.call_args == call( + mock_run.assert_called_with( ["nix-env", "-p", path, "--list-generations"], stdout=PIPE, remote=remote, @@ -545,7 +548,7 @@ def test_get_generations_from_nix_env(tmp_path: Path) -> None: ), ], ) -def test_list_generations(mock_get_generations: Mock, tmp_path: Path) -> None: +def test_list_generations(mock_get_generations: Any, tmp_path: Path) -> None: # Probably better to test this function in a real system, this test is # mostly to make sure it doesn't break horribly assert n.list_generations(m.Profile("system", tmp_path)) == [ @@ -571,20 +574,18 @@ def test_list_generations(mock_get_generations: Mock, tmp_path: Path) -> None: @patch(get_qualified_name(n.run_wrapper, n), autospec=True) -def test_repl(mock_run: Mock) -> None: +def test_repl(mock_run: Any) -> None: n.repl("attr", m.BuildAttr("", None), {"nix_flag": True}) - assert mock_run.call_args == call( + mock_run.assert_called_with( ["nix", "repl", "--file", "", "--nix-flag"] ) n.repl("attr", m.BuildAttr(Path("file.nix"), "myAttr")) - assert mock_run.call_args == call( - ["nix", "repl", "--file", Path("file.nix"), "myAttr"] - ) + mock_run.assert_called_with(["nix", "repl", "--file", Path("file.nix"), "myAttr"]) @patch(get_qualified_name(n.run_wrapper, n), autospec=True) -def test_repl_flake(mock_run: Mock) -> None: +def test_repl_flake(mock_run: Any) -> None: n.repl_flake("attr", m.Flake(Path("flake.nix"), "myAttr"), {"nix_flag": True}) # See nixos-rebuild-ng.tests.repl for a better test, # this is mostly for sanity check @@ -592,14 +593,14 @@ def test_repl_flake(mock_run: Mock) -> None: @patch(get_qualified_name(n.run_wrapper, n), autospec=True) -def test_rollback(mock_run: Mock, tmp_path: Path) -> None: +def test_rollback(mock_run: Any, tmp_path: Path) -> None: path = tmp_path / "test" path.touch() profile = m.Profile("system", path) assert n.rollback(profile, None, False) == profile.path - assert mock_run.call_args == call( + mock_run.assert_called_with( ["nix-env", "--rollback", "-p", path], remote=None, sudo=False, @@ -607,7 +608,7 @@ def test_rollback(mock_run: Mock, tmp_path: Path) -> None: target_host = m.Remote("user@localhost", [], None) assert n.rollback(profile, target_host, True) == profile.path - assert mock_run.call_args == call( + mock_run.assert_called_with( ["nix-env", "--rollback", "-p", path], remote=target_host, sudo=True, @@ -619,10 +620,8 @@ def test_rollback_temporary_profile(tmp_path: Path) -> None: path.touch() profile = m.Profile("system", path) - with patch( - get_qualified_name(n.run_wrapper, n), - autospec=True, - return_value=CompletedProcess( + with patch(get_qualified_name(n.run_wrapper, n), autospec=True) as mock_run: + mock_run.return_value = CompletedProcess( [], 0, stdout=textwrap.dedent("""\ @@ -630,13 +629,12 @@ def test_rollback_temporary_profile(tmp_path: Path) -> None: 2083 2024-11-07 22:59:41 2084 2024-11-07 23:54:17 (current) """), - ), - ) as mock_run: + ) assert ( n.rollback_temporary_profile(m.Profile("system", path), None, False) == path.parent / "system-2083-link" ) - assert mock_run.call_args == call( + mock_run.assert_called_with( [ "nix-env", "-p", @@ -653,7 +651,7 @@ def test_rollback_temporary_profile(tmp_path: Path) -> None: n.rollback_temporary_profile(m.Profile("foo", path), target_host, True) == path.parent / "foo-2083-link" ) - assert mock_run.call_args == call( + mock_run.assert_called_with( [ "nix-env", "-p", @@ -665,16 +663,13 @@ def test_rollback_temporary_profile(tmp_path: Path) -> None: sudo=True, ) - with patch( - get_qualified_name(n.run_wrapper, n), - autospec=True, - return_value=CompletedProcess([], 0, stdout=""), - ) as mock_run: + with patch(get_qualified_name(n.run_wrapper, n), autospec=True) as mock_run: + mock_run.return_value = CompletedProcess([], 0, stdout="") assert n.rollback_temporary_profile(profile, None, False) is None @patch(get_qualified_name(n.run_wrapper, n), autospec=True) -def test_set_profile(mock_run: Mock) -> None: +def test_set_profile(mock_run: Any) -> None: profile_path = Path("/path/to/profile") config_path = Path("/path/to/config") n.set_profile( @@ -684,7 +679,7 @@ def test_set_profile(mock_run: Mock) -> None: sudo=False, ) - assert mock_run.call_args == call( + mock_run.assert_called_with( ["nix-env", "-p", profile_path, "--set", config_path], remote=None, sudo=False, @@ -692,7 +687,7 @@ def test_set_profile(mock_run: Mock) -> None: @patch(get_qualified_name(n.run_wrapper, n), autospec=True) -def test_switch_to_configuration(mock_run: Mock, monkeypatch: MonkeyPatch) -> None: +def test_switch_to_configuration(mock_run: Any, monkeypatch: MonkeyPatch) -> None: profile_path = Path("/path/to/profile") config_path = Path("/path/to/config") @@ -707,7 +702,7 @@ def test_switch_to_configuration(mock_run: Mock, monkeypatch: MonkeyPatch) -> No specialisation=None, install_bootloader=False, ) - assert mock_run.call_args == call( + mock_run.assert_called_with( [profile_path / "bin/switch-to-configuration", "switch"], extra_env={"NIXOS_INSTALL_BOOTLOADER": "0"}, sudo=False, @@ -741,7 +736,7 @@ def test_switch_to_configuration(mock_run: Mock, monkeypatch: MonkeyPatch) -> No install_bootloader=True, specialisation="special", ) - assert mock_run.call_args == call( + mock_run.assert_called_with( [ config_path / "specialisation/special/bin/switch-to-configuration", "test", @@ -762,17 +757,17 @@ def test_switch_to_configuration(mock_run: Mock, monkeypatch: MonkeyPatch) -> No ], ) @patch(get_qualified_name(n.Path.is_dir, n), autospec=True, return_value=True) -def test_upgrade_channels(mock_is_dir: Mock, mock_glob: Mock) -> None: +def test_upgrade_channels(mock_is_dir: Any, mock_glob: Any) -> None: with patch(get_qualified_name(n.run_wrapper, n), autospec=True) as mock_run: n.upgrade_channels(False) - assert mock_run.call_args == call(["nix-channel", "--update", "nixos"], check=False) - - mock_run.reset_mock() + mock_run.assert_called_with(["nix-channel", "--update", "nixos"], check=False) with patch(get_qualified_name(n.run_wrapper, n), autospec=True) as mock_run: n.upgrade_channels(True) - assert mock_run.call_args_list == [ - call(["nix-channel", "--update", "nixos"], check=False), - call(["nix-channel", "--update", "nixos-hardware"], check=False), - call(["nix-channel", "--update", "home-manager"], check=False), - ] + mock_run.assert_has_calls( + [ + call(["nix-channel", "--update", "nixos"], check=False), + call(["nix-channel", "--update", "nixos-hardware"], check=False), + call(["nix-channel", "--update", "home-manager"], check=False), + ] + ) diff --git a/pkgs/by-name/ni/nixos-rebuild-ng/src/tests/test_process.py b/pkgs/by-name/ni/nixos-rebuild-ng/src/tests/test_process.py index a62ee2355153..6458f54c06ef 100644 --- a/pkgs/by-name/ni/nixos-rebuild-ng/src/tests/test_process.py +++ b/pkgs/by-name/ni/nixos-rebuild-ng/src/tests/test_process.py @@ -1,4 +1,5 @@ -from unittest.mock import Mock, call, patch +from typing import Any +from unittest.mock import patch from pytest import MonkeyPatch @@ -9,9 +10,9 @@ from .helpers import get_qualified_name @patch(get_qualified_name(p.subprocess.run), autospec=True) -def test_run(mock_run: Mock) -> None: +def test_run(mock_run: Any) -> None: p.run_wrapper(["test", "--with", "flags"], check=True) - assert mock_run.call_args == call( + mock_run.assert_called_with( ["test", "--with", "flags"], check=True, text=True, @@ -27,7 +28,7 @@ def test_run(mock_run: Mock) -> None: sudo=True, extra_env={"FOO": "bar"}, ) - assert mock_run.call_args == call( + mock_run.assert_called_with( ["sudo", "test", "--with", "flags"], check=False, text=True, @@ -44,7 +45,7 @@ def test_run(mock_run: Mock) -> None: check=True, remote=m.Remote("user@localhost", ["--ssh", "opt"], "password"), ) - assert mock_run.call_args == call( + mock_run.assert_called_with( [ "ssh", "--ssh", @@ -70,7 +71,7 @@ def test_run(mock_run: Mock) -> None: extra_env={"FOO": "bar"}, remote=m.Remote("user@localhost", ["--ssh", "opt"], "password"), ) - assert mock_run.call_args == call( + mock_run.assert_called_with( [ "ssh", "--ssh", From 8efe14c0245a86777a48bf64d27dba3606015237 Mon Sep 17 00:00:00 2001 From: Thiago Kenji Okada Date: Thu, 13 Feb 2025 21:27:19 +0000 Subject: [PATCH 27/62] nixos-rebuild-ng: add pytest-mock --- pkgs/by-name/ni/nixos-rebuild-ng/package.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/by-name/ni/nixos-rebuild-ng/package.nix b/pkgs/by-name/ni/nixos-rebuild-ng/package.nix index df33313193fe..02e140fcc0a6 100644 --- a/pkgs/by-name/ni/nixos-rebuild-ng/package.nix +++ b/pkgs/by-name/ni/nixos-rebuild-ng/package.nix @@ -89,6 +89,7 @@ python3Packages.buildPythonApplication rec { ps: with ps; [ mypy pytest + pytest-mock ruff ] ); From b0ba32b3e73fec51f00d4bb17fe690d235e8e36b Mon Sep 17 00:00:00 2001 From: Thiago Kenji Okada Date: Thu, 13 Feb 2025 21:30:17 +0000 Subject: [PATCH 28/62] nixos-rebuild-ng: add pytest-mock in devShell It is included to help debugging only, so its helpers shouldn't be used in tests. --- pkgs/by-name/ni/nixos-rebuild-ng/package.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pkgs/by-name/ni/nixos-rebuild-ng/package.nix b/pkgs/by-name/ni/nixos-rebuild-ng/package.nix index 02e140fcc0a6..5f75a21e2402 100644 --- a/pkgs/by-name/ni/nixos-rebuild-ng/package.nix +++ b/pkgs/by-name/ni/nixos-rebuild-ng/package.nix @@ -89,6 +89,8 @@ python3Packages.buildPythonApplication rec { ps: with ps; [ mypy pytest + # this is to help development (e.g.: better diffs) inside devShell + # only, do not use its helpers like `mocker` pytest-mock ruff ] From 83fc1380c37474fe987aadce26dd998bf71347a1 Mon Sep 17 00:00:00 2001 From: Thiago Kenji Okada Date: Thu, 13 Feb 2025 21:30:52 +0000 Subject: [PATCH 29/62] nixos-rebuild-ng: use Mock as type in test mocks --- .../nixos-rebuild-ng/src/tests/test_main.py | 36 +++++++++---------- .../nixos-rebuild-ng/src/tests/test_models.py | 9 ++--- .../ni/nixos-rebuild-ng/src/tests/test_nix.py | 32 +++++++++-------- 3 files changed, 40 insertions(+), 37 deletions(-) diff --git a/pkgs/by-name/ni/nixos-rebuild-ng/src/tests/test_main.py b/pkgs/by-name/ni/nixos-rebuild-ng/src/tests/test_main.py index e6d40bc8bd19..249d7b059774 100644 --- a/pkgs/by-name/ni/nixos-rebuild-ng/src/tests/test_main.py +++ b/pkgs/by-name/ni/nixos-rebuild-ng/src/tests/test_main.py @@ -4,7 +4,7 @@ import uuid from pathlib import Path from subprocess import PIPE, CompletedProcess from typing import Any -from unittest.mock import ANY, call, patch +from unittest.mock import ANY, Mock, call, patch import pytest from pytest import MonkeyPatch @@ -218,7 +218,7 @@ def test_reexec_flake( @patch.dict(nr.process.os.environ, {}, clear=True) @patch(get_qualified_name(nr.process.subprocess.run), autospec=True) -def test_execute_nix_boot(mock_run: Any, tmp_path: Path) -> None: +def test_execute_nix_boot(mock_run: Mock, tmp_path: Path) -> None: nixpkgs_path = tmp_path / "nixpkgs" nixpkgs_path.mkdir() config_path = tmp_path / "test" @@ -293,7 +293,7 @@ def test_execute_nix_boot(mock_run: Any, tmp_path: Path) -> None: @patch.dict(nr.process.os.environ, {}, clear=True) @patch(get_qualified_name(nr.process.subprocess.run), autospec=True) -def test_execute_nix_build_vm(mock_run: Any, tmp_path: Path) -> None: +def test_execute_nix_build_vm(mock_run: Mock, tmp_path: Path) -> None: config_path = tmp_path / "test" config_path.touch() @@ -342,7 +342,7 @@ def test_execute_nix_build_vm(mock_run: Any, tmp_path: Path) -> None: @patch.dict(nr.process.os.environ, {}, clear=True) @patch(get_qualified_name(nr.process.subprocess.run), autospec=True) -def test_execute_nix_build_image_flake(mock_run: Any, tmp_path: Path) -> None: +def test_execute_nix_build_image_flake(mock_run: Mock, tmp_path: Path) -> None: config_path = tmp_path / "test" config_path.touch() @@ -411,7 +411,7 @@ def test_execute_nix_build_image_flake(mock_run: Any, tmp_path: Path) -> None: @patch.dict(nr.process.os.environ, {}, clear=True) @patch(get_qualified_name(nr.process.subprocess.run), autospec=True) -def test_execute_nix_switch_flake(mock_run: Any, tmp_path: Path) -> None: +def test_execute_nix_switch_flake(mock_run: Mock, tmp_path: Path) -> None: config_path = tmp_path / "test" config_path.touch() @@ -487,9 +487,9 @@ def test_execute_nix_switch_flake(mock_run: Any, tmp_path: Path) -> None: @patch(get_qualified_name(nr.cleanup_ssh, nr), autospec=True) @patch(get_qualified_name(nr.nix.uuid4, nr.nix), autospec=True) def test_execute_nix_switch_build_target_host( - mock_uuid4: Any, - mock_cleanup_ssh: Any, - mock_run: Any, + mock_uuid4: Mock, + mock_cleanup_ssh: Mock, + mock_run: Mock, tmp_path: Path, ) -> None: config_path = tmp_path / "test" @@ -682,8 +682,8 @@ def test_execute_nix_switch_build_target_host( @patch(get_qualified_name(nr.process.subprocess.run), autospec=True) @patch(get_qualified_name(nr.cleanup_ssh, nr), autospec=True) def test_execute_nix_switch_flake_target_host( - mock_cleanup_ssh: Any, - mock_run: Any, + mock_cleanup_ssh: Mock, + mock_run: Mock, tmp_path: Path, ) -> None: config_path = tmp_path / "test" @@ -771,8 +771,8 @@ def test_execute_nix_switch_flake_target_host( @patch(get_qualified_name(nr.process.subprocess.run), autospec=True) @patch(get_qualified_name(nr.cleanup_ssh, nr), autospec=True) def test_execute_nix_switch_flake_build_host( - mock_cleanup_ssh: Any, - mock_run: Any, + mock_cleanup_ssh: Mock, + mock_run: Mock, tmp_path: Path, ) -> None: config_path = tmp_path / "test" @@ -870,7 +870,7 @@ def test_execute_nix_switch_flake_build_host( @patch(get_qualified_name(nr.process.subprocess.run), autospec=True) -def test_execute_switch_rollback(mock_run: Any, tmp_path: Path) -> None: +def test_execute_switch_rollback(mock_run: Mock, tmp_path: Path) -> None: nixpkgs_path = tmp_path / "nixpkgs" nixpkgs_path.touch() @@ -940,7 +940,7 @@ def test_execute_switch_rollback(mock_run: Any, tmp_path: Path) -> None: @patch(get_qualified_name(nr.process.subprocess.run), autospec=True) -def test_execute_build(mock_run: Any, tmp_path: Path) -> None: +def test_execute_build(mock_run: Mock, tmp_path: Path) -> None: config_path = tmp_path / "test" config_path.touch() mock_run.side_effect = [ @@ -969,7 +969,7 @@ def test_execute_build(mock_run: Any, tmp_path: Path) -> None: @patch(get_qualified_name(nr.process.subprocess.run), autospec=True) -def test_execute_test_flake(mock_run: Any, tmp_path: Path) -> None: +def test_execute_test_flake(mock_run: Mock, tmp_path: Path) -> None: config_path = tmp_path / "test" config_path.touch() @@ -1014,9 +1014,9 @@ def test_execute_test_flake(mock_run: Any, tmp_path: Path) -> None: @patch(get_qualified_name(nr.nix.Path.exists, nr.nix), autospec=True, return_value=True) @patch(get_qualified_name(nr.nix.Path.mkdir, nr.nix), autospec=True) def test_execute_test_rollback( - mock_path_mkdir: Any, - mock_path_exists: Any, - mock_run: Any, + mock_path_mkdir: Mock, + mock_path_exists: Mock, + mock_run: Mock, ) -> None: def run_side_effect(args: list[str], **kwargs: Any) -> CompletedProcess[str]: if args[0] == "nix-env": diff --git a/pkgs/by-name/ni/nixos-rebuild-ng/src/tests/test_models.py b/pkgs/by-name/ni/nixos-rebuild-ng/src/tests/test_models.py index e02fc69848fb..3c6859015489 100644 --- a/pkgs/by-name/ni/nixos-rebuild-ng/src/tests/test_models.py +++ b/pkgs/by-name/ni/nixos-rebuild-ng/src/tests/test_models.py @@ -1,8 +1,7 @@ import platform import subprocess from pathlib import Path -from typing import Any -from unittest.mock import patch +from unittest.mock import Mock, patch from pytest import MonkeyPatch @@ -79,7 +78,9 @@ def test_flake_to_attr() -> None: @patch(get_qualified_name(platform.node), autospec=True) -def test_flake_from_arg(mock_node: Any, monkeypatch: MonkeyPatch, tmpdir: Path) -> None: +def test_flake_from_arg( + mock_node: Mock, monkeypatch: MonkeyPatch, tmpdir: Path +) -> None: mock_node.return_value = "hostname" # Flake string @@ -161,7 +162,7 @@ def test_flake_from_arg(mock_node: Any, monkeypatch: MonkeyPatch, tmpdir: Path) @patch(get_qualified_name(m.Path.mkdir, m), autospec=True) -def test_profile_from_arg(mock_mkdir: Any) -> None: +def test_profile_from_arg(mock_mkdir: Mock) -> None: assert m.Profile.from_arg("system") == m.Profile( "system", Path("/nix/var/nix/profiles/system"), diff --git a/pkgs/by-name/ni/nixos-rebuild-ng/src/tests/test_nix.py b/pkgs/by-name/ni/nixos-rebuild-ng/src/tests/test_nix.py index 35fea00cbeef..ea937c06fcd3 100644 --- a/pkgs/by-name/ni/nixos-rebuild-ng/src/tests/test_nix.py +++ b/pkgs/by-name/ni/nixos-rebuild-ng/src/tests/test_nix.py @@ -3,7 +3,7 @@ import uuid from pathlib import Path from subprocess import PIPE, CompletedProcess from typing import Any -from unittest.mock import ANY, call, patch +from unittest.mock import ANY, Mock, call, patch import pytest from pytest import MonkeyPatch @@ -20,7 +20,7 @@ from .helpers import get_qualified_name autospec=True, return_value=CompletedProcess([], 0, stdout=" \n/path/to/file\n "), ) -def test_build(mock_run: Any) -> None: +def test_build(mock_run: Mock) -> None: assert n.build( "config.system.build.attr", m.BuildAttr("", None), @@ -52,7 +52,7 @@ def test_build(mock_run: Any) -> None: autospec=True, return_value=CompletedProcess([], 0, stdout=" \n/path/to/file\n "), ) -def test_build_flake(mock_run: Any, monkeypatch: MonkeyPatch, tmpdir: Path) -> None: +def test_build_flake(mock_run: Mock, monkeypatch: MonkeyPatch, tmpdir: Path) -> None: monkeypatch.chdir(tmpdir) flake = m.Flake.parse(".#hostname") @@ -79,7 +79,9 @@ def test_build_flake(mock_run: Any, monkeypatch: MonkeyPatch, tmpdir: Path) -> N @patch(get_qualified_name(n.run_wrapper, n), autospec=True) @patch(get_qualified_name(n.uuid4, n), autospec=True) -def test_build_remote(mock_uuid4: Any, mock_run: Any, monkeypatch: MonkeyPatch) -> None: +def test_build_remote( + mock_uuid4: Mock, mock_run: Mock, monkeypatch: MonkeyPatch +) -> None: build_host = m.Remote("user@host", [], None) monkeypatch.setenv("NIX_SSHOPTS", "--ssh opts") @@ -168,7 +170,7 @@ def test_build_remote(mock_uuid4: Any, mock_run: Any, monkeypatch: MonkeyPatch) return_value=CompletedProcess([], 0, stdout=" \n/path/to/file\n "), ) def test_build_remote_flake( - mock_run: Any, monkeypatch: MonkeyPatch, tmpdir: Path + mock_run: Mock, monkeypatch: MonkeyPatch, tmpdir: Path ) -> None: monkeypatch.chdir(tmpdir) flake = m.Flake.parse(".#hostname") @@ -290,7 +292,7 @@ def test_copy_closure(monkeypatch: MonkeyPatch) -> None: @patch(get_qualified_name(n.run_wrapper, n), autospec=True) -def test_edit(mock_run: Any, monkeypatch: MonkeyPatch, tmpdir: Path) -> None: +def test_edit(mock_run: Mock, monkeypatch: MonkeyPatch, tmpdir: Path) -> None: # Flake flake = m.Flake.parse(f"{tmpdir}#attr") n.edit(flake, {"commit_lock_file": True}) @@ -333,7 +335,7 @@ def test_edit(mock_run: Any, monkeypatch: MonkeyPatch, tmpdir: Path) -> None: """, ), ) -def test_get_build_image_variants(mock_run: Any, tmp_path: Path) -> None: +def test_get_build_image_variants(mock_run: Mock, tmp_path: Path) -> None: build_attr = m.BuildAttr("", None) assert n.get_build_image_variants(build_attr) == { "azure": "nixos-image-azure-25.05.20250102.6df2492-x86_64-linux.vhd", @@ -396,7 +398,7 @@ def test_get_build_image_variants(mock_run: Any, tmp_path: Path) -> None: """, ), ) -def test_get_build_image_variants_flake(mock_run: Any) -> None: +def test_get_build_image_variants_flake(mock_run: Mock) -> None: flake = m.Flake(Path("flake.nix"), "myAttr") assert n.get_build_image_variants_flake(flake, {"eval_flag": True}) == { "azure": "nixos-image-azure-25.05.20250102.6df2492-x86_64-linux.vhd", @@ -548,7 +550,7 @@ def test_get_generations_from_nix_env(tmp_path: Path) -> None: ), ], ) -def test_list_generations(mock_get_generations: Any, tmp_path: Path) -> None: +def test_list_generations(mock_get_generations: Mock, tmp_path: Path) -> None: # Probably better to test this function in a real system, this test is # mostly to make sure it doesn't break horribly assert n.list_generations(m.Profile("system", tmp_path)) == [ @@ -574,7 +576,7 @@ def test_list_generations(mock_get_generations: Any, tmp_path: Path) -> None: @patch(get_qualified_name(n.run_wrapper, n), autospec=True) -def test_repl(mock_run: Any) -> None: +def test_repl(mock_run: Mock) -> None: n.repl("attr", m.BuildAttr("", None), {"nix_flag": True}) mock_run.assert_called_with( ["nix", "repl", "--file", "", "--nix-flag"] @@ -585,7 +587,7 @@ def test_repl(mock_run: Any) -> None: @patch(get_qualified_name(n.run_wrapper, n), autospec=True) -def test_repl_flake(mock_run: Any) -> None: +def test_repl_flake(mock_run: Mock) -> None: n.repl_flake("attr", m.Flake(Path("flake.nix"), "myAttr"), {"nix_flag": True}) # See nixos-rebuild-ng.tests.repl for a better test, # this is mostly for sanity check @@ -593,7 +595,7 @@ def test_repl_flake(mock_run: Any) -> None: @patch(get_qualified_name(n.run_wrapper, n), autospec=True) -def test_rollback(mock_run: Any, tmp_path: Path) -> None: +def test_rollback(mock_run: Mock, tmp_path: Path) -> None: path = tmp_path / "test" path.touch() @@ -669,7 +671,7 @@ def test_rollback_temporary_profile(tmp_path: Path) -> None: @patch(get_qualified_name(n.run_wrapper, n), autospec=True) -def test_set_profile(mock_run: Any) -> None: +def test_set_profile(mock_run: Mock) -> None: profile_path = Path("/path/to/profile") config_path = Path("/path/to/config") n.set_profile( @@ -687,7 +689,7 @@ def test_set_profile(mock_run: Any) -> None: @patch(get_qualified_name(n.run_wrapper, n), autospec=True) -def test_switch_to_configuration(mock_run: Any, monkeypatch: MonkeyPatch) -> None: +def test_switch_to_configuration(mock_run: Mock, monkeypatch: MonkeyPatch) -> None: profile_path = Path("/path/to/profile") config_path = Path("/path/to/config") @@ -757,7 +759,7 @@ def test_switch_to_configuration(mock_run: Any, monkeypatch: MonkeyPatch) -> Non ], ) @patch(get_qualified_name(n.Path.is_dir, n), autospec=True, return_value=True) -def test_upgrade_channels(mock_is_dir: Any, mock_glob: Any) -> None: +def test_upgrade_channels(mock_is_dir: Mock, mock_glob: Mock) -> None: with patch(get_qualified_name(n.run_wrapper, n), autospec=True) as mock_run: n.upgrade_channels(False) mock_run.assert_called_with(["nix-channel", "--update", "nixos"], check=False) From f2df828138846ba168ce0ba2e7eecc9fcc0d6cba Mon Sep 17 00:00:00 2001 From: Thiago Kenji Okada Date: Thu, 13 Feb 2025 21:39:04 +0000 Subject: [PATCH 30/62] nixos-rebuild-ng: improve some tests --- .../nixos-rebuild-ng/src/tests/test_main.py | 60 +++++++++---------- .../nixos-rebuild-ng/src/tests/test_models.py | 1 + .../ni/nixos-rebuild-ng/src/tests/test_nix.py | 2 +- 3 files changed, 30 insertions(+), 33 deletions(-) diff --git a/pkgs/by-name/ni/nixos-rebuild-ng/src/tests/test_main.py b/pkgs/by-name/ni/nixos-rebuild-ng/src/tests/test_main.py index 249d7b059774..2e9363e2869a 100644 --- a/pkgs/by-name/ni/nixos-rebuild-ng/src/tests/test_main.py +++ b/pkgs/by-name/ni/nixos-rebuild-ng/src/tests/test_main.py @@ -136,34 +136,34 @@ def test_reexec(mock_build: Mock, mock_execve: Mock, monkeypatch: MonkeyPatch) - mock_build.return_value = Path("/path") nr.reexec(argv, args, {"build": True}, {"flake": True}) - assert mock_build.call_args_list == [ - call( - "config.system.build.nixos-rebuild", - nr.models.BuildAttr(ANY, ANY), - {"build": True, "no_out_link": True}, - ) - ] + mock_build.assert_has_calls( + [ + call( + "config.system.build.nixos-rebuild", + nr.models.BuildAttr(ANY, ANY), + {"build": True, "no_out_link": True}, + ) + ] + ) # do not exec if there is no new version - assert mock_execve.call_args_list == [] + mock_execve.assert_not_called() mock_build.return_value = Path("/path/new") nr.reexec(argv, args, {}, {}) # exec in the new version successfully - assert mock_execve.call_args_list == [ - call( - Path("/path/new/bin/nixos-rebuild-ng"), - ["/path/bin/nixos-rebuild-ng", "switch", "--no-flake"], - {"_NIXOS_REBUILD_REEXEC": "1"}, - ) - ] + mock_execve.assert_called_once_with( + Path("/path/new/bin/nixos-rebuild-ng"), + ["/path/bin/nixos-rebuild-ng", "switch", "--no-flake"], + {"_NIXOS_REBUILD_REEXEC": "1"}, + ) mock_execve.reset_mock() mock_execve.side_effect = [OSError("BOOM"), None] nr.reexec(argv, args, {}, {}) # exec in the previous version if the new version fails - assert mock_execve.call_args == call( + mock_execve.assert_any_call( Path("/path/bin/nixos-rebuild-ng"), ["/path/bin/nixos-rebuild-ng", "switch", "--no-flake"], {"_NIXOS_REBUILD_REEXEC": "1"}, @@ -182,34 +182,30 @@ def test_reexec_flake( mock_build.return_value = Path("/path") nr.reexec(argv, args, {"build": True}, {"flake": True}) - assert mock_build.call_args_list == [ - call( - "config.system.build.nixos-rebuild", - nr.models.Flake(ANY, ANY), - {"flake": True, "no_link": True}, - ) - ] + mock_build.assert_called_once_with( + "config.system.build.nixos-rebuild", + nr.models.Flake(ANY, ANY), + {"flake": True, "no_link": True}, + ) # do not exec if there is no new version - assert mock_execve.call_args_list == [] + mock_execve.assert_not_called() mock_build.return_value = Path("/path/new") nr.reexec(argv, args, {}, {}) # exec in the new version successfully - assert mock_execve.call_args_list == [ - call( - Path("/path/new/bin/nixos-rebuild-ng"), - ["/path/bin/nixos-rebuild-ng", "switch", "--flake"], - {"_NIXOS_REBUILD_REEXEC": "1"}, - ) - ] + mock_execve.assert_called_once_with( + Path("/path/new/bin/nixos-rebuild-ng"), + ["/path/bin/nixos-rebuild-ng", "switch", "--flake"], + {"_NIXOS_REBUILD_REEXEC": "1"}, + ) mock_execve.reset_mock() mock_execve.side_effect = [OSError("BOOM"), None] nr.reexec(argv, args, {}, {}) # exec in the previous version if the new version fails - assert mock_execve.call_args == call( + mock_execve.assert_any_call( Path("/path/bin/nixos-rebuild-ng"), ["/path/bin/nixos-rebuild-ng", "switch", "--flake"], {"_NIXOS_REBUILD_REEXEC": "1"}, diff --git a/pkgs/by-name/ni/nixos-rebuild-ng/src/tests/test_models.py b/pkgs/by-name/ni/nixos-rebuild-ng/src/tests/test_models.py index 3c6859015489..cb318192fc2e 100644 --- a/pkgs/by-name/ni/nixos-rebuild-ng/src/tests/test_models.py +++ b/pkgs/by-name/ni/nixos-rebuild-ng/src/tests/test_models.py @@ -167,6 +167,7 @@ def test_profile_from_arg(mock_mkdir: Mock) -> None: "system", Path("/nix/var/nix/profiles/system"), ) + mock_mkdir.assert_not_called() assert m.Profile.from_arg("something") == m.Profile( "something", diff --git a/pkgs/by-name/ni/nixos-rebuild-ng/src/tests/test_nix.py b/pkgs/by-name/ni/nixos-rebuild-ng/src/tests/test_nix.py index ea937c06fcd3..af8c0bdfd6a7 100644 --- a/pkgs/by-name/ni/nixos-rebuild-ng/src/tests/test_nix.py +++ b/pkgs/by-name/ni/nixos-rebuild-ng/src/tests/test_nix.py @@ -762,7 +762,7 @@ def test_switch_to_configuration(mock_run: Mock, monkeypatch: MonkeyPatch) -> No def test_upgrade_channels(mock_is_dir: Mock, mock_glob: Mock) -> None: with patch(get_qualified_name(n.run_wrapper, n), autospec=True) as mock_run: n.upgrade_channels(False) - mock_run.assert_called_with(["nix-channel", "--update", "nixos"], check=False) + mock_run.assert_called_once_with(["nix-channel", "--update", "nixos"], check=False) with patch(get_qualified_name(n.run_wrapper, n), autospec=True) as mock_run: n.upgrade_channels(True) From 8053a7f3c9ee8b0259bd0e35c1a86f3983a9173d Mon Sep 17 00:00:00 2001 From: Sumner Evans Date: Thu, 13 Feb 2025 15:05:34 -0700 Subject: [PATCH 31/62] harper: 0.20.0 -> 0.21.1 https://github.com/Automattic/harper/releases/tag/v0.21.1 Signed-off-by: Sumner Evans --- pkgs/by-name/ha/harper/package.nix | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/ha/harper/package.nix b/pkgs/by-name/ha/harper/package.nix index ba03ff532ae3..4671e4a0d58a 100644 --- a/pkgs/by-name/ha/harper/package.nix +++ b/pkgs/by-name/ha/harper/package.nix @@ -2,22 +2,25 @@ lib, rustPlatform, fetchFromGitHub, + nix-update-script, }: rustPlatform.buildRustPackage rec { pname = "harper"; - version = "0.20.0"; + version = "0.21.1"; src = fetchFromGitHub { owner = "Automattic"; repo = "harper"; rev = "v${version}"; - hash = "sha256-8JeF1HxsP+Y+C1g3YJ0B0+JHoRFkBjz4/T8rVr2KgGw="; + hash = "sha256-UTohTnIUMpyQGvkuOD2L7bViF3b5QnbDjRD4VSmf4lE="; }; buildAndTestSubdir = "harper-ls"; useFetchCargoVendor = true; - cargoHash = "sha256-uVjDFo5mJi4Xbq0Z+XOjy5VqXqkm0a+4xu+dVnjWXCU="; + cargoHash = "sha256-wHXo4yfFc77osCamK0NidbrIYyIFMEpfBr0B6aniBmQ="; + + passthru.updateScript = nix-update-script { }; meta = { description = "Grammar Checker for Developers"; From 0256f1180cc4100c2cdbb85456f80d4080004436 Mon Sep 17 00:00:00 2001 From: 6543 <6543@obermui.de> Date: Fri, 14 Feb 2025 01:06:22 +0100 Subject: [PATCH 32/62] nixos/services.mysql: format with nixfmt-rfc-style --- nixos/modules/services/databases/mysql.nix | 323 ++++++++++++--------- 1 file changed, 185 insertions(+), 138 deletions(-) diff --git a/nixos/modules/services/databases/mysql.nix b/nixos/modules/services/databases/mysql.nix index 412fe4836cd3..efca1e933329 100644 --- a/nixos/modules/services/databases/mysql.nix +++ b/nixos/modules/services/databases/mysql.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.mysql; @@ -8,8 +13,7 @@ let # Oracle MySQL has supported "notify" service type since 8.0 hasNotify = isMariaDB || (isOracle && lib.versionAtLeast cfg.package.version "8.0"); - mysqldOptions = - "--user=${cfg.user} --datadir=${cfg.dataDir} --basedir=${cfg.package}"; + mysqldOptions = "--user=${cfg.user} --datadir=${cfg.dataDir} --basedir=${cfg.package}"; format = pkgs.formats.ini { listsAsDuplicateKeys = true; }; configFile = format.generate "my.cnf" cfg.settings; @@ -18,11 +22,31 @@ in { imports = [ - (lib.mkRemovedOptionModule [ "services" "mysql" "pidDir" ] "Don't wait for pidfiles, describe dependencies through systemd.") - (lib.mkRemovedOptionModule [ "services" "mysql" "rootPassword" ] "Use socket authentication or set the password outside of the nix store.") - (lib.mkRemovedOptionModule [ "services" "mysql" "extraOptions" ] "Use services.mysql.settings.mysqld instead.") - (lib.mkRemovedOptionModule [ "services" "mysql" "bind" ] "Use services.mysql.settings.mysqld.bind-address instead.") - (lib.mkRemovedOptionModule [ "services" "mysql" "port" ] "Use services.mysql.settings.mysqld.port instead.") + (lib.mkRemovedOptionModule [ + "services" + "mysql" + "pidDir" + ] "Don't wait for pidfiles, describe dependencies through systemd.") + (lib.mkRemovedOptionModule [ + "services" + "mysql" + "rootPassword" + ] "Use socket authentication or set the password outside of the nix store.") + (lib.mkRemovedOptionModule [ + "services" + "mysql" + "extraOptions" + ] "Use services.mysql.settings.mysqld instead.") + (lib.mkRemovedOptionModule [ + "services" + "mysql" + "bind" + ] "Use services.mysql.settings.mysqld.bind-address instead.") + (lib.mkRemovedOptionModule [ + "services" + "mysql" + "port" + ] "Use services.mysql.settings.mysqld.port instead.") ]; ###### interface @@ -106,7 +130,7 @@ in settings = lib.mkOption { type = format.type; - default = {}; + default = { }; description = '' MySQL configuration. Refer to , @@ -137,25 +161,27 @@ in }; initialDatabases = lib.mkOption { - type = lib.types.listOf (lib.types.submodule { - options = { - name = lib.mkOption { - type = lib.types.str; - description = '' - The name of the database to create. - ''; + type = lib.types.listOf ( + lib.types.submodule { + options = { + name = lib.mkOption { + type = lib.types.str; + description = '' + The name of the database to create. + ''; + }; + schema = lib.mkOption { + type = lib.types.nullOr lib.types.path; + default = null; + description = '' + The initial schema of the database; if null (the default), + an empty database is created. + ''; + }; }; - schema = lib.mkOption { - type = lib.types.nullOr lib.types.path; - default = null; - description = '' - The initial schema of the database; if null (the default), - an empty database is created. - ''; - }; - }; - }); - default = []; + } + ); + default = [ ]; description = '' List of database names and their initial schemas that should be used to create databases on the first startup of MySQL. The schema attribute is optional: If not specified, an empty database is created. @@ -176,7 +202,7 @@ in ensureDatabases = lib.mkOption { type = lib.types.listOf lib.types.str; - default = []; + default = [ ]; description = '' Ensures that the specified databases exist. This option will never delete existing databases, especially not when the value of this @@ -190,39 +216,41 @@ in }; ensureUsers = lib.mkOption { - type = lib.types.listOf (lib.types.submodule { - options = { - name = lib.mkOption { - type = lib.types.str; - description = '' - Name of the user to ensure. - ''; - }; - ensurePermissions = lib.mkOption { - type = lib.types.attrsOf lib.types.str; - default = {}; - description = '' - Permissions to ensure for the user, specified as attribute set. - The attribute names specify the database and tables to grant the permissions for, - separated by a dot. You may use wildcards here. - The attribute values specfiy the permissions to grant. - You may specify one or multiple comma-separated SQL privileges here. + type = lib.types.listOf ( + lib.types.submodule { + options = { + name = lib.mkOption { + type = lib.types.str; + description = '' + Name of the user to ensure. + ''; + }; + ensurePermissions = lib.mkOption { + type = lib.types.attrsOf lib.types.str; + default = { }; + description = '' + Permissions to ensure for the user, specified as attribute set. + The attribute names specify the database and tables to grant the permissions for, + separated by a dot. You may use wildcards here. + The attribute values specfiy the permissions to grant. + You may specify one or multiple comma-separated SQL privileges here. - For more information on how to specify the target - and on which privileges exist, see the - [GRANT syntax](https://mariadb.com/kb/en/library/grant/). - The attributes are used as `GRANT ''${attrName} ON ''${attrValue}`. - ''; - example = lib.literalExpression '' - { - "database.*" = "ALL PRIVILEGES"; - "*.*" = "SELECT, LOCK TABLES"; - } - ''; + For more information on how to specify the target + and on which privileges exist, see the + [GRANT syntax](https://mariadb.com/kb/en/library/grant/). + The attributes are used as `GRANT ''${attrName} ON ''${attrValue}`. + ''; + example = lib.literalExpression '' + { + "database.*" = "ALL PRIVILEGES"; + "*.*" = "SELECT, LOCK TABLES"; + } + ''; + }; }; - }; - }); - default = []; + } + ); + default = [ ]; description = '' Ensures that the specified users exist and have at least the ensured permissions. The MySQL users will be identified using Unix socket authentication. This authenticates the Unix user with the @@ -251,7 +279,11 @@ in replication = { role = lib.mkOption { - type = lib.types.enum [ "master" "slave" "none" ]; + type = lib.types.enum [ + "master" + "slave" + "none" + ]; default = "none"; description = "Role of the MySQL server instance."; }; @@ -292,14 +324,13 @@ in }; - ###### implementation config = lib.mkIf cfg.enable { - services.mysql.dataDir = - lib.mkDefault (if lib.versionAtLeast config.system.stateVersion "17.09" then "/var/lib/mysql" - else "/var/mysql"); + services.mysql.dataDir = lib.mkDefault ( + if lib.versionAtLeast config.system.stateVersion "17.09" then "/var/lib/mysql" else "/var/mysql" + ); services.mysql.settings.mysqld = lib.mkMerge [ { @@ -311,7 +342,11 @@ in log-bin-index = "mysql-bin-${toString cfg.replication.serverId}.index"; relay-log = "mysql-relay-bin"; server-id = cfg.replication.serverId; - binlog-ignore-db = [ "information_schema" "performance_schema" "mysql" ]; + binlog-ignore-db = [ + "information_schema" + "performance_schema" + "mysql" + ]; }) (lib.mkIf (!isMariaDB) { plugin-load-add = [ "auth_socket.so" ]; @@ -355,17 +390,21 @@ in pkgs.nettools ]; - preStart = if isMariaDB then '' - if ! test -e ${cfg.dataDir}/mysql; then - ${cfg.package}/bin/mysql_install_db --defaults-file=/etc/my.cnf ${mysqldOptions} - touch ${cfg.dataDir}/mysql_init - fi - '' else '' - if ! test -e ${cfg.dataDir}/mysql; then - ${cfg.package}/bin/mysqld --defaults-file=/etc/my.cnf ${mysqldOptions} --initialize-insecure - touch ${cfg.dataDir}/mysql_init - fi - ''; + preStart = + if isMariaDB then + '' + if ! test -e ${cfg.dataDir}/mysql; then + ${cfg.package}/bin/mysql_install_db --defaults-file=/etc/my.cnf ${mysqldOptions} + touch ${cfg.dataDir}/mysql_init + fi + '' + else + '' + if ! test -e ${cfg.dataDir}/mysql; then + ${cfg.package}/bin/mysqld --defaults-file=/etc/my.cnf ${mysqldOptions} --initialize-insecure + touch ${cfg.dataDir}/mysql_init + fi + ''; script = '' # https://mariadb.com/kb/en/getting-started-with-mariadb-galera-cluster/#systemd-and-galera-recovery @@ -379,52 +418,55 @@ in exec ${cfg.package}/bin/mysqld --defaults-file=/etc/my.cnf ${mysqldOptions} $_WSREP_NEW_CLUSTER $_WSREP_START_POSITION ''; - postStart = let - # The super user account to use on *first* run of MySQL server - superUser = if isMariaDB then cfg.user else "root"; - in '' - ${lib.optionalString (!hasNotify) '' - # Wait until the MySQL server is available for use - while [ ! -e /run/mysqld/mysqld.sock ] - do - echo "MySQL daemon not yet started. Waiting for 1 second..." - sleep 1 - done - ''} + postStart = + let + # The super user account to use on *first* run of MySQL server + superUser = if isMariaDB then cfg.user else "root"; + in + '' + ${lib.optionalString (!hasNotify) '' + # Wait until the MySQL server is available for use + while [ ! -e /run/mysqld/mysqld.sock ] + do + echo "MySQL daemon not yet started. Waiting for 1 second..." + sleep 1 + done + ''} - if [ -f ${cfg.dataDir}/mysql_init ] - then - # While MariaDB comes with a 'mysql' super user account since 10.4.x, MySQL does not - # Since we don't want to run this service as 'root' we need to ensure the account exists on first run - ( echo "CREATE USER IF NOT EXISTS '${cfg.user}'@'localhost' IDENTIFIED WITH ${if isMariaDB then "unix_socket" else "auth_socket"};" - echo "GRANT ALL PRIVILEGES ON *.* TO '${cfg.user}'@'localhost' WITH GRANT OPTION;" - ) | ${cfg.package}/bin/mysql -u ${superUser} -N + if [ -f ${cfg.dataDir}/mysql_init ] + then + # While MariaDB comes with a 'mysql' super user account since 10.4.x, MySQL does not + # Since we don't want to run this service as 'root' we need to ensure the account exists on first run + ( echo "CREATE USER IF NOT EXISTS '${cfg.user}'@'localhost' IDENTIFIED WITH ${ + if isMariaDB then "unix_socket" else "auth_socket" + };" + echo "GRANT ALL PRIVILEGES ON *.* TO '${cfg.user}'@'localhost' WITH GRANT OPTION;" + ) | ${cfg.package}/bin/mysql -u ${superUser} -N - ${lib.concatMapStrings (database: '' - # Create initial databases - if ! test -e "${cfg.dataDir}/${database.name}"; then - echo "Creating initial database: ${database.name}" - ( echo 'create database `${database.name}`;' + ${lib.concatMapStrings (database: '' + # Create initial databases + if ! test -e "${cfg.dataDir}/${database.name}"; then + echo "Creating initial database: ${database.name}" + ( echo 'create database `${database.name}`;' - ${lib.optionalString (database.schema != null) '' - echo 'use `${database.name}`;' + ${lib.optionalString (database.schema != null) '' + echo 'use `${database.name}`;' - # TODO: this silently falls through if database.schema does not exist, - # we should catch this somehow and exit, but can't do it here because we're in a subshell. - if [ -f "${database.schema}" ] - then - cat ${database.schema} - elif [ -d "${database.schema}" ] - then - cat ${database.schema}/mysql-databases/*.sql - fi - ''} - ) | ${cfg.package}/bin/mysql -u ${superUser} -N - fi - '') cfg.initialDatabases} + # TODO: this silently falls through if database.schema does not exist, + # we should catch this somehow and exit, but can't do it here because we're in a subshell. + if [ -f "${database.schema}" ] + then + cat ${database.schema} + elif [ -d "${database.schema}" ] + then + cat ${database.schema}/mysql-databases/*.sql + fi + ''} + ) | ${cfg.package}/bin/mysql -u ${superUser} -N + fi + '') cfg.initialDatabases} - ${lib.optionalString (cfg.replication.role == "master") - '' + ${lib.optionalString (cfg.replication.role == "master") '' # Set up the replication master ( echo "use mysql;" @@ -434,8 +476,7 @@ in ) | ${cfg.package}/bin/mysql -u ${superUser} -N ''} - ${lib.optionalString (cfg.replication.role == "slave") - '' + ${lib.optionalString (cfg.replication.role == "slave") '' # Set up the replication slave ( echo "stop slave;" @@ -444,34 +485,36 @@ in ) | ${cfg.package}/bin/mysql -u ${superUser} -N ''} - ${lib.optionalString (cfg.initialScript != null) - '' + ${lib.optionalString (cfg.initialScript != null) '' # Execute initial script # using toString to avoid copying the file to nix store if given as path instead of string, # as it might contain credentials cat ${toString cfg.initialScript} | ${cfg.package}/bin/mysql -u ${superUser} -N ''} - rm ${cfg.dataDir}/mysql_init - fi + rm ${cfg.dataDir}/mysql_init + fi - ${lib.optionalString (cfg.ensureDatabases != []) '' - ( - ${lib.concatMapStrings (database: '' - echo "CREATE DATABASE IF NOT EXISTS \`${database}\`;" - '') cfg.ensureDatabases} - ) | ${cfg.package}/bin/mysql -N - ''} + ${lib.optionalString (cfg.ensureDatabases != [ ]) '' + ( + ${lib.concatMapStrings (database: '' + echo "CREATE DATABASE IF NOT EXISTS \`${database}\`;" + '') cfg.ensureDatabases} + ) | ${cfg.package}/bin/mysql -N + ''} - ${lib.concatMapStrings (user: - '' - ( echo "CREATE USER IF NOT EXISTS '${user.name}'@'localhost' IDENTIFIED WITH ${if isMariaDB then "unix_socket" else "auth_socket"};" - ${lib.concatStringsSep "\n" (lib.mapAttrsToList (database: permission: '' - echo "GRANT ${permission} ON ${database} TO '${user.name}'@'localhost';" - '') user.ensurePermissions)} + ${lib.concatMapStrings (user: '' + ( echo "CREATE USER IF NOT EXISTS '${user.name}'@'localhost' IDENTIFIED WITH ${ + if isMariaDB then "unix_socket" else "auth_socket" + };" + ${lib.concatStringsSep "\n" ( + lib.mapAttrsToList (database: permission: '' + echo "GRANT ${permission} ON ${database} TO '${user.name}'@'localhost';" + '') user.ensurePermissions + )} ) | ${cfg.package}/bin/mysql -N '') cfg.ensureUsers} - ''; + ''; serviceConfig = lib.mkMerge [ { @@ -500,7 +543,11 @@ in ProtectKernelTunables = true; ProtectKernelModules = true; ProtectControlGroups = true; - RestrictAddressFamilies = [ "AF_UNIX" "AF_INET" "AF_INET6" ]; + RestrictAddressFamilies = [ + "AF_UNIX" + "AF_INET" + "AF_INET6" + ]; LockPersonality = true; MemoryDenyWriteExecute = true; RestrictRealtime = true; From 6449da32b224cad459b15e4c0850bd2aea1155e8 Mon Sep 17 00:00:00 2001 From: 6543 <6543@obermui.de> Date: Fri, 14 Feb 2025 01:06:52 +0100 Subject: [PATCH 33/62] nixos/services.mysql: add myselfe as maintainer --- ci/OWNERS | 1 + nixos/modules/services/databases/mysql.nix | 2 ++ 2 files changed, 3 insertions(+) diff --git a/ci/OWNERS b/ci/OWNERS index 8b58e7e812ce..c64ef4208e30 100644 --- a/ci/OWNERS +++ b/ci/OWNERS @@ -253,6 +253,7 @@ pkgs/development/python-modules/buildcatrust/ @ajs124 @lukegb @mweinelt /nixos/tests/postgresql @NixOS/postgres # MySQL/MariaDB and related stuff +/nixos/modules/services/databases/mysql.nix @6543 /nixos/modules/services/backup/mysql-backup.nix @6543 # Hardened profile & related modules diff --git a/nixos/modules/services/databases/mysql.nix b/nixos/modules/services/databases/mysql.nix index efca1e933329..68ef50651f43 100644 --- a/nixos/modules/services/databases/mysql.nix +++ b/nixos/modules/services/databases/mysql.nix @@ -563,4 +563,6 @@ in ]; }; }; + + meta.maintainers = [ lib.maintainers._6543 ]; } From 91fd664d85d47c66821798f6ed2f01150a0fcf3c Mon Sep 17 00:00:00 2001 From: Thiago Kenji Okada Date: Fri, 14 Feb 2025 00:48:48 +0000 Subject: [PATCH 34/62] nixos-rebuild-ng: increase timeout for REPL tests --- pkgs/by-name/ni/nixos-rebuild-ng/tests/repl.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/by-name/ni/nixos-rebuild-ng/tests/repl.nix b/pkgs/by-name/ni/nixos-rebuild-ng/tests/repl.nix index 1853a65bab86..1a614e8d8655 100644 --- a/pkgs/by-name/ni/nixos-rebuild-ng/tests/repl.nix +++ b/pkgs/by-name/ni/nixos-rebuild-ng/tests/repl.nix @@ -13,7 +13,7 @@ let escapeExpect = lib.strings.escapeNixString; expectSetup = '' - set timeout 180 + set timeout 300 proc expect_simple { pattern } { puts "Expecting: $pattern" expect { @@ -76,7 +76,7 @@ runCommand "test-nixos-rebuild-repl" expect ${writeText "test-nixos-rebuild-repl-expect" '' ${expectSetup} - spawn nixos-rebuild repl --fast + spawn nixos-rebuild repl --no-reexec expect "nix-repl> " @@ -116,7 +116,7 @@ runCommand "test-nixos-rebuild-repl" expect ${writeText "test-nixos-rebuild-repl-absolute-path-expect" '' ${expectSetup} - spawn sh -c "nixos-rebuild repl --fast --flake path:\$HOME#testconf" + spawn sh -c "nixos-rebuild repl --no-reexec --flake path:\$HOME#testconf" expect_simple "nix-repl>" @@ -146,7 +146,7 @@ runCommand "test-nixos-rebuild-repl" pushd "$HOME" expect ${writeText "test-nixos-rebuild-repl-relative-path-expect" '' ${expectSetup} - spawn sh -c "nixos-rebuild repl --fast --flake .#testconf" + spawn sh -c "nixos-rebuild repl --no-reexec --flake .#testconf" expect_simple "nix-repl>" From 58b0a792df715f67f743b647d691061e1f242eb3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gutyina=20Gerg=C5=91?= Date: Tue, 11 Feb 2025 01:27:48 +0100 Subject: [PATCH 35/62] pnpm_10: 10.2.1 -> 10.4.0 --- pkgs/development/tools/pnpm/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/tools/pnpm/default.nix b/pkgs/development/tools/pnpm/default.nix index 86d73f8db0b4..390d71445af4 100644 --- a/pkgs/development/tools/pnpm/default.nix +++ b/pkgs/development/tools/pnpm/default.nix @@ -16,8 +16,8 @@ let hash = "sha256-hHIWjD4f0L/yh+aUsFP8y78gV5o/+VJrYzO+q432Wo0="; }; "10" = { - version = "10.2.1"; - hash = "sha256-+Yjw2TuH4dotjN9qx/RaAcb4Q642BrTKDy/9cTuF+XU="; + version = "10.4.0"; + hash = "sha256-5X6KVE96hCR8+nfdbZI+rlGZo3NHTlPqsfVAx5Yok4Y="; }; }; From a791a7ba5637fd9cc551e427669914a984ee233c Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 14 Feb 2025 01:46:44 +0000 Subject: [PATCH 36/62] mpd-discord-rpc: 1.7.3 -> 1.8.0 --- pkgs/by-name/mp/mpd-discord-rpc/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/mp/mpd-discord-rpc/package.nix b/pkgs/by-name/mp/mpd-discord-rpc/package.nix index 83890dd7458b..589e27d4f32b 100644 --- a/pkgs/by-name/mp/mpd-discord-rpc/package.nix +++ b/pkgs/by-name/mp/mpd-discord-rpc/package.nix @@ -10,17 +10,17 @@ rustPlatform.buildRustPackage rec { pname = "mpd-discord-rpc"; - version = "1.7.3"; + version = "1.8.0"; src = fetchFromGitHub { owner = "JakeStanger"; repo = "mpd-discord-rpc"; rev = "v${version}"; - hash = "sha256-WiHMXazNKyt5N7WmkftZYEHeQi+l9qoU2yr6jRHfjdE="; + hash = "sha256-RuXH0RaR0VVN7tja0pcc8QH826/JzH4tyVVCbrK7ldI="; }; useFetchCargoVendor = true; - cargoHash = "sha256-v6YQS+Te0bIzSr3q4QaEcXbUjiTCKELxCdqBlbjLI3E="; + cargoHash = "sha256-ewmg5t0JljnvxjrGDJzokRwndv7UNw9NMQ7Cx6oDWjg="; nativeBuildInputs = [ pkg-config From 46e5ba73588e8bb7e2b440db3e29b06b5856a145 Mon Sep 17 00:00:00 2001 From: Jean-Francois Labonte Date: Thu, 13 Feb 2025 21:20:25 -0500 Subject: [PATCH 37/62] vscode: 1.97.1 -> 1.97.2 --- pkgs/applications/editors/vscode/vscode.nix | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/pkgs/applications/editors/vscode/vscode.nix b/pkgs/applications/editors/vscode/vscode.nix index d002b3a0c34d..20608414517b 100644 --- a/pkgs/applications/editors/vscode/vscode.nix +++ b/pkgs/applications/editors/vscode/vscode.nix @@ -36,22 +36,22 @@ let sha256 = { - x86_64-linux = "0gr2z4vzms6fv4kcc8dzc7l3inpb5hasnzdfr1zc2n4i3nl8z8vw"; - x86_64-darwin = "1qplpjazjds5kns0kmp5qa6zfix30cqa93bl4bcpvblb2x9fh1v8"; - aarch64-linux = "1jhrmwrnxzwvhqgfrs35kyd5hhg2b7dyq3p5k88jhm8607nkds79"; - aarch64-darwin = "072lg4nvq3cdjzrwngaxnz9p952zkxsknsb39zjh55vzrij55g9x"; - armv7l-linux = "06bvh72bq4ippr2k8ifcfqhkhhh6na4vxsz1k50swr1k2kzwwr5d"; + x86_64-linux = "11a0y0zdz3mmc2xvpnlq06a7q06y6529xpp4hlhpjylj0bk06xn1"; + x86_64-darwin = "12fxhwqcz36f5pv4kvs7bblmymxyixg7pvi0gb5k0j73pkvqrr6g"; + aarch64-linux = "0g5qz7gq7k65p2f8iwz1jiy03nwsmy3v3gb18qwg9mbhm0dk59la"; + aarch64-darwin = "1g4fz8nw5m7krjlsjs43937kz1sr7lkflbphpyh8cmalwpxa8ysn"; + armv7l-linux = "09r12y9xbpqnnw9mab3k4kx0ngpfng1l6rk09n9l2q36ji20ijmy"; } .${system} or throwSystem; in callPackage ./generic.nix rec { # Please backport all compatible updates to the stable release. # This is important for the extension ecosystem. - version = "1.97.1"; + version = "1.97.2"; pname = "vscode" + lib.optionalString isInsiders "-insiders"; # This is used for VS Code - Remote SSH test - rev = "e249dada235c2083c83813bd65b7f4707fb97b76"; + rev = "e54c774e0add60467559eb0d1e229c6452cf8447"; executableName = "code" + lib.optionalString isInsiders "-insiders"; longName = "Visual Studio Code" + lib.optionalString isInsiders " - Insiders"; @@ -75,7 +75,7 @@ callPackage ./generic.nix rec { src = fetchurl { name = "vscode-server-${rev}.tar.gz"; url = "https://update.code.visualstudio.com/commit:${rev}/server-linux-x64/stable"; - sha256 = "01snzahh794ygpgwh4r57c8mnisp6a4fc3v5x76cdhxw2hd9s26n"; + sha256 = "15fd401sqmlkpw48pysqpyi5rlsqx4cm55bbwakhkal4qa1qnq4m"; }; stdenv = stdenvNoCC; }; From 51792bbb1995e0ed3dfc05412245569946e2c22d Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 14 Feb 2025 03:17:16 +0000 Subject: [PATCH 38/62] nuclei: 3.3.8 -> 3.3.9 --- pkgs/by-name/nu/nuclei/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/nu/nuclei/package.nix b/pkgs/by-name/nu/nuclei/package.nix index d85ed923a2c7..788dc8ade7f7 100644 --- a/pkgs/by-name/nu/nuclei/package.nix +++ b/pkgs/by-name/nu/nuclei/package.nix @@ -7,16 +7,16 @@ buildGoModule rec { pname = "nuclei"; - version = "3.3.8"; + version = "3.3.9"; src = fetchFromGitHub { owner = "projectdiscovery"; repo = "nuclei"; tag = "v${version}"; - hash = "sha256-RL6/H1X6+rt9n1rpeRpKv+u3SloOnRX6YzMKDDQw+78="; + hash = "sha256-9P8KSuhTI/m0m51PUTZGU+qRbnT3izPbHTzsqZNbMJE="; }; - vendorHash = "sha256-k4seYTUO7BmU2HhTWweDRfNnXp+HshWM1riSc9BbYYg="; + vendorHash = "sha256-CTdB/+aVaXKqtiwHn8pgmhXjZ0mIDrmLvnKmisExi74="; proxyVendor = true; # hash mismatch between Linux and Darwin From 350a9e2d46d45b71cc6194716cfcc0a321251caa Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 14 Feb 2025 03:44:02 +0000 Subject: [PATCH 39/62] photoqt: 4.8 -> 4.8.1 --- pkgs/by-name/ph/photoqt/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/ph/photoqt/package.nix b/pkgs/by-name/ph/photoqt/package.nix index 6c335cf07344..776914930af4 100644 --- a/pkgs/by-name/ph/photoqt/package.nix +++ b/pkgs/by-name/ph/photoqt/package.nix @@ -17,11 +17,11 @@ stdenv.mkDerivation rec { pname = "photoqt"; - version = "4.8"; + version = "4.8.1"; src = fetchurl { url = "https://photoqt.org/pkgs/photoqt-${version}.tar.gz"; - hash = "sha256-ccSbG5MTIyVJFqNHstaW53BfsGmN/I4ObCZfY0h22QE="; + hash = "sha256-Iq5Fc0v+EYFe1YG3ZhZKl8leXD+TpGGhaQjr800vz7Y="; }; nativeBuildInputs = [ From 1de88d0796202a27005c5a74474fd3cfb3069b82 Mon Sep 17 00:00:00 2001 From: Vincent Laporte Date: Fri, 14 Feb 2025 05:48:42 +0100 Subject: [PATCH 40/62] =?UTF-8?q?ocamlPackages.seqes:=200.2=20=E2=86=92=20?= =?UTF-8?q?0.4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pkgs/development/ocaml-modules/seqes/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/development/ocaml-modules/seqes/default.nix b/pkgs/development/ocaml-modules/seqes/default.nix index 00d68ffdbb16..77779c127e14 100644 --- a/pkgs/development/ocaml-modules/seqes/default.nix +++ b/pkgs/development/ocaml-modules/seqes/default.nix @@ -9,10 +9,10 @@ buildDunePackage rec { pname = "seqes"; - version = "0.2"; + version = "0.4"; src = fetchurl { - url = "https://gitlab.com/nomadic-labs/seqes/-/archive/${version}/seqes-${version}.tar.gz"; - sha256 = "sha256-IxLA0jaIPdX9Zn/GL8UHDJYjA1UBW6leGbZmp64YMjI="; + url = "https://gitlab.com/raphael-proust/seqes/-/archive/${version}/seqes-${version}.tar.gz"; + hash = "sha256-E4BalN68CJP7u6NSC0XBooWvUeSNqV+3KEOtoJ4g/dM="; }; minimalOCamlVersion = "4.14"; From 846779bc8ede0f0f21cac1b4be0b064876bc4c99 Mon Sep 17 00:00:00 2001 From: Jared Baur Date: Sun, 26 Jan 2025 11:15:23 -0800 Subject: [PATCH 41/62] nixos/yggdrasil: use exec to replace bash instance --- nixos/modules/services/networking/yggdrasil.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nixos/modules/services/networking/yggdrasil.nix b/nixos/modules/services/networking/yggdrasil.nix index 0fb51400d666..ba77eb4d6d37 100644 --- a/nixos/modules/services/networking/yggdrasil.nix +++ b/nixos/modules/services/networking/yggdrasil.nix @@ -193,7 +193,7 @@ in "${binYggdrasil} -genconf") + " > /run/yggdrasil/yggdrasil.conf"} # start yggdrasil - ${binYggdrasil} -useconffile /run/yggdrasil/yggdrasil.conf ${lib.strings.escapeShellArgs cfg.extraArgs} + exec ${binYggdrasil} -useconffile /run/yggdrasil/yggdrasil.conf ${lib.strings.escapeShellArgs cfg.extraArgs} ''; serviceConfig = { From abd2bd2b7b014626e6013f9e889fb9248b8ae6ca Mon Sep 17 00:00:00 2001 From: K900 Date: Fri, 14 Feb 2025 09:29:32 +0300 Subject: [PATCH 42/62] path-of-building.data: 2.50.0 -> 2.51.0 Diff: https://github.com/PathOfBuildingCommunity/PathOfBuilding/compare/v2.50.0...v2.51.0 --- pkgs/games/path-of-building/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/games/path-of-building/default.nix b/pkgs/games/path-of-building/default.nix index 1e30bcc831fe..7030784312d6 100644 --- a/pkgs/games/path-of-building/default.nix +++ b/pkgs/games/path-of-building/default.nix @@ -17,13 +17,13 @@ let data = stdenv.mkDerivation (finalAttrs: { pname = "path-of-building-data"; - version = "2.50.0"; + version = "2.51.0"; src = fetchFromGitHub { owner = "PathOfBuildingCommunity"; repo = "PathOfBuilding"; rev = "v${finalAttrs.version}"; - hash = "sha256-mclbLRYFNWgn/f4CyaINJlLq06uWh0+ks82Lger4w9w="; + hash = "sha256-Rau3UaWPyaI7QBXCNVtIQSenyNsx5hh2dsd3q8jFjc4="; }; nativeBuildInputs = [ unzip ]; From 737050544f65c02fd6c8f019492b00d222969d4e Mon Sep 17 00:00:00 2001 From: FliegendeWurst Date: Fri, 14 Feb 2025 08:12:01 +0100 Subject: [PATCH 43/62] android-studio: use binary to launch IDE --- pkgs/applications/editors/android-studio/common.nix | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/editors/android-studio/common.nix b/pkgs/applications/editors/android-studio/common.nix index 768e572b11c9..5ac252ff941b 100644 --- a/pkgs/applications/editors/android-studio/common.nix +++ b/pkgs/applications/editors/android-studio/common.nix @@ -100,7 +100,7 @@ let installPhase = '' cp -r . $out - wrapProgram $out/bin/studio.sh \ + wrapProgram $out/bin/studio \ --set-default JAVA_HOME "$out/jbr" \ --set ANDROID_EMULATOR_USE_SYSTEM_LIBS 1 \ --set QT_XKB_CONFIG_ROOT "${xkeyboard_config}/share/X11/xkb" \ @@ -204,6 +204,7 @@ let ] }" ''; + meta.mainProgram = "studio"; }; desktopItem = makeDesktopItem { @@ -279,7 +280,7 @@ let unset ANDROID_HOME fi ''} - exec ${fhsEnv}/bin/${drvName}-fhs-env ${androidStudio}/bin/studio.sh "$@" + exec ${fhsEnv}/bin/${drvName}-fhs-env ${lib.getExe androidStudio} "$@" ''; preferLocalBuild = true; allowSubstitutes = false; From 0d9c72fd95990d51c9e63a2a6ac0c44381447444 Mon Sep 17 00:00:00 2001 From: Pol Dellaiera Date: Fri, 14 Feb 2025 08:36:31 +0100 Subject: [PATCH 44/62] open-webui: 0.5.11 -> 0.5.12 Diff: https://github.com/open-webui/open-webui/compare/refs/tags/v0.5.11...0.5.12 Changelog: https://github.com/open-webui/open-webui/blob/v0.5.12/CHANGELOG.md --- pkgs/by-name/op/open-webui/package.nix | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/pkgs/by-name/op/open-webui/package.nix b/pkgs/by-name/op/open-webui/package.nix index a67b263f07fc..adcb569d4f04 100644 --- a/pkgs/by-name/op/open-webui/package.nix +++ b/pkgs/by-name/op/open-webui/package.nix @@ -7,19 +7,19 @@ }: let pname = "open-webui"; - version = "0.5.11"; + version = "0.5.12"; src = fetchFromGitHub { owner = "open-webui"; repo = "open-webui"; tag = "v${version}"; - hash = "sha256-U+zY/Jgzo52x/H4xcW2/LjM52r+hdJvZ/xsIeAeJniE="; + hash = "sha256-+Hg4tyfmgfh3k/pUKMjs7IRahPV2/LRUDj1kt2g45Dw="; }; frontend = buildNpmPackage { inherit pname version src; - npmDepsHash = "sha256-bAzcNLMB8OqzYRfw9Cr0xuFFl4FIKvBQT/4M2nZP0C8="; + npmDepsHash = "sha256-pM8Ie3kkjVq9OJHKpGLQ1E/omd84B0N8lXAHKxUa8/4="; # Disabling `pyodide:fetch` as it downloads packages during `buildPhase` # Until this is solved, running python packages from the browser will not work. @@ -89,8 +89,6 @@ python312.pkgs.buildPythonApplication rec { fake-useragent fastapi faster-whisper - flask - flask-cors fpdf2 ftfy gcp-storage-emulator From e0a1e676b5c82dc4356e9017ec93e9eee78b3825 Mon Sep 17 00:00:00 2001 From: Seth Flynn Date: Fri, 14 Feb 2025 02:48:52 -0500 Subject: [PATCH 45/62] tailscale: 1.80.0 -> 1.80.2 Diff: https://github.com/tailscale/tailscale/compare/v1.80.0...v1.80.2 Changelog: https://github.com/tailscale/tailscale/releases/tag/v1.80.2 --- pkgs/by-name/ta/tailscale/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/ta/tailscale/package.nix b/pkgs/by-name/ta/tailscale/package.nix index 0379e494f924..25358df2daad 100644 --- a/pkgs/by-name/ta/tailscale/package.nix +++ b/pkgs/by-name/ta/tailscale/package.nix @@ -16,7 +16,7 @@ }: let - version = "1.80.0"; + version = "1.80.2"; in buildGo123Module { pname = "tailscale"; @@ -31,7 +31,7 @@ buildGo123Module { owner = "tailscale"; repo = "tailscale"; rev = "v${version}"; - hash = "sha256-wb52Ffoh56EEVToGGK1Rzfb5DHiR2dLxDJRLcUgYhFg="; + hash = "sha256-5HGY9hVSnzqmAdXNJdQ+ZvsK/PmyZ94201UHlHclQE8="; }; patches = [ @@ -43,7 +43,7 @@ buildGo123Module { }) ]; - vendorHash = "sha256-a+d02h0AXqr2FuWRAOUACiYVSpm276onkwKxGSJTL5s="; + vendorHash = "sha256-81UOjoC5GJqhNs4vWcQ2/B9FMaDWtl0rbuFXmxbu5dI="; nativeBuildInputs = lib.optionals stdenv.hostPlatform.isLinux [ makeWrapper ] ++ [ installShellFiles From 95f49597d76febdae4c77280565616cc4e38b23c Mon Sep 17 00:00:00 2001 From: K900 Date: Fri, 14 Feb 2025 11:04:50 +0300 Subject: [PATCH 46/62] Revert "playwright-test: Add PLAYWRIGHT_BROWSERS_PATH to build environment" --- .../python-modules/playwright/default.nix | 16 ---------------- .../python-modules/playwright/test.py | 10 ---------- pkgs/development/web/playwright/driver.nix | 19 ------------------- pkgs/development/web/playwright/test.js | 8 -------- 4 files changed, 53 deletions(-) delete mode 100644 pkgs/development/python-modules/playwright/test.py delete mode 100644 pkgs/development/web/playwright/test.js diff --git a/pkgs/development/python-modules/playwright/default.nix b/pkgs/development/python-modules/playwright/default.nix index aea64bd48a2e..610e9c58b5ce 100644 --- a/pkgs/development/python-modules/playwright/default.nix +++ b/pkgs/development/python-modules/playwright/default.nix @@ -13,9 +13,6 @@ setuptools-scm, playwright-driver, nixosTests, - writeText, - runCommand, - pythonPackages, nodejs, }: @@ -84,16 +81,6 @@ buildPythonPackage rec { pyee ]; - setupHook = writeText "setupHook.sh" '' - addBrowsersPath () { - if [[ ! -v PLAYWRIGHT_BROWSERS_PATH ]] ; then - export PLAYWRIGHT_BROWSERS_PATH="${playwright-driver.browsers}" - fi - } - - addEnvHooks "$targetOffset" addBrowsersPath - ''; - postInstall = '' ln -s ${driver} $out/${python.sitePackages}/playwright/driver ''; @@ -109,9 +96,6 @@ buildPythonPackage rec { { driver = playwright-driver; browsers = playwright-driver.browsers; - env = runCommand "playwright-env-test" { - buildInputs = [ pythonPackages.playwright ]; - } "python ${./test.py}"; } // lib.optionalAttrs stdenv.hostPlatform.isLinux { inherit (nixosTests) playwright-python; diff --git a/pkgs/development/python-modules/playwright/test.py b/pkgs/development/python-modules/playwright/test.py deleted file mode 100644 index 3ef73acfdd41..000000000000 --- a/pkgs/development/python-modules/playwright/test.py +++ /dev/null @@ -1,10 +0,0 @@ -import os -import sys - -from playwright.sync_api import sync_playwright - -with sync_playwright() as p: - browser = p.chromium.launch() - context = browser.new_context() -with open(os.environ["out"], "w") as f: - f.write("OK") diff --git a/pkgs/development/web/playwright/driver.nix b/pkgs/development/web/playwright/driver.nix index 3cbb71599b01..ab0638768a08 100644 --- a/pkgs/development/web/playwright/driver.nix +++ b/pkgs/development/web/playwright/driver.nix @@ -12,7 +12,6 @@ makeFontsConf, makeWrapper, runCommand, - writeText, cacert, }: let @@ -189,27 +188,9 @@ let runHook postInstall ''; - setupHook = writeText "setupHook.sh" '' - addBrowsersPath () { - if [[ ! -v PLAYWRIGHT_BROWSERS_PATH ]] ; then - export PLAYWRIGHT_BROWSERS_PATH="${playwright-core.passthru.browsers}" - fi - } - - addEnvHooks "$targetOffset" addBrowsersPath - ''; - meta = playwright.meta // { mainProgram = "playwright"; }; - - passthru.tests.env = runCommand "playwright-core-env-test" { - buildInputs = [ - nodejs - playwright-core - playwright-test - ]; - } "node ${./test.js}"; }); browsers = lib.makeOverridable ( diff --git a/pkgs/development/web/playwright/test.js b/pkgs/development/web/playwright/test.js deleted file mode 100644 index 2390bfe513b1..000000000000 --- a/pkgs/development/web/playwright/test.js +++ /dev/null @@ -1,8 +0,0 @@ -const playwright = require('playwright'); -const fs = require('fs'); -playwright.chromium.launch() - .then((browser) => { - console.log('OK'); - fs.writeFileSync(process.env.out, ''); - process.exit(0); - }); From 94307683c174357137ec99c2ea82b6ebe02c29a3 Mon Sep 17 00:00:00 2001 From: Maximilian Bosch Date: Fri, 14 Feb 2025 09:28:39 +0100 Subject: [PATCH 47/62] nixos/nextcloud: reword docs about logs a bit Originally, I only wanted to remove "The logreader application doesn't work, as it was the case before.". But then, the rest sounded a little weird, so I reworded the paragraph a bit more ;-) --- nixos/modules/services/web-apps/nextcloud.md | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) diff --git a/nixos/modules/services/web-apps/nextcloud.md b/nixos/modules/services/web-apps/nextcloud.md index 9d49af27f55c..c9773f779ce7 100644 --- a/nixos/modules/services/web-apps/nextcloud.md +++ b/nixos/modules/services/web-apps/nextcloud.md @@ -253,16 +253,12 @@ This is because * the Logreader application that allows reading logs in the admin panel is enabled by default and requires logs written to a file. -The logreader application doesn't work, as it was the case before. -So nothing actionable here by default. Alternatively you can +If you want to view logs in the admin panel, +set [](#opt-services.nextcloud.settings.log_type) to "file". -* disable the logreader application to shut up the "info". - - We can't really do that by default since whether apps are enabled/disabled is part - of the application's state and tracked inside the database. - -* set [](#opt-services.nextcloud.settings.log_type) to "file" to be able to view logs - from the admin panel. +If you prefer logs in the journal, disable the logreader application to shut up the +"info". We can't really do that by default since whether apps are enabled/disabled +is part of the application's state and tracked inside the database. ## Maintainer information {#module-services-nextcloud-maintainer-info} From caade90015f0b8ddabe2eb9cfcd75077875c5074 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Domen=20Ko=C5=BEar?= Date: Fri, 14 Feb 2025 08:35:14 +0000 Subject: [PATCH 48/62] Revert "devenv: disable telemetry by default" This reverts commit 1aca3c42132e5231776c7199a78d6aec184be729. Since I'm the maintainer and author of this package, I was never asked if I agree with this change and I don't. It's going to make it really hard to improve the generation without telemetry, otherwise we wouldn't have done it. --- pkgs/by-name/de/devenv/package.nix | 1 - 1 file changed, 1 deletion(-) diff --git a/pkgs/by-name/de/devenv/package.nix b/pkgs/by-name/de/devenv/package.nix index 0153deb0433c..6e64ccf592e2 100644 --- a/pkgs/by-name/de/devenv/package.nix +++ b/pkgs/by-name/de/devenv/package.nix @@ -74,7 +74,6 @@ rustPlatform.buildRustPackage { wrapProgram $out/bin/devenv \ --prefix PATH ":" "$out/bin:${cachix}/bin" \ --set DEVENV_NIX ${devenv_nix} \ - --set-default DO_NOT_TRACK 1 \ ${setDefaultLocaleArchive} # Generate manpages From 51c0eeb414a49bf5ad5c70afb22b29787ee7994d Mon Sep 17 00:00:00 2001 From: Tristan Ross Date: Wed, 12 Feb 2025 22:42:30 -0800 Subject: [PATCH 49/62] llvmPackages_20: 20.1.0-rc1 -> 20.1.0-rc2 --- .../compilers/llvm/20/llvm/orcjit.patch | 53 ------------------- .../compilers/llvm/common/default.nix | 14 +++-- .../compilers/llvm/common/libc/default.nix | 17 +----- pkgs/development/compilers/llvm/default.nix | 2 +- 4 files changed, 12 insertions(+), 74 deletions(-) delete mode 100644 pkgs/development/compilers/llvm/20/llvm/orcjit.patch diff --git a/pkgs/development/compilers/llvm/20/llvm/orcjit.patch b/pkgs/development/compilers/llvm/20/llvm/orcjit.patch deleted file mode 100644 index c08e3f80d73b..000000000000 --- a/pkgs/development/compilers/llvm/20/llvm/orcjit.patch +++ /dev/null @@ -1,53 +0,0 @@ -From 03d6f704d07aa3650a2f59be6f7802a8735460c3 Mon Sep 17 00:00:00 2001 -From: Lang Hames -Date: Wed, 29 Jan 2025 03:58:29 +0000 -Subject: [PATCH] [ORC][LLI] Remove redundant eh-frame registration plugin - construction from lli. - -As of d0052ebbe2e the setUpGenericLLVMIRPlatform function will automatically -add an instance of the EHFrameRegistrationPlugin (for LLJIT instances whose -object linking layers are ObjectLinkingLayers, not RTDyldObjectLinkingLayers). - -This commit removes the redundant plugin creation in the object linking -layer constructor function in lli.cpp to prevent duplicate registration of -eh-frames, which is likely the cause of recent bot failures, e.g. -https://lab.llvm.org/buildbot/#/builders/108/builds/8685. - -(cherry picked from commit 9052b37ab1aa67a039b34356f37236fecc42bac2) ---- - llvm/tools/lli/lli.cpp | 14 ++++---------- - 1 file changed, 4 insertions(+), 10 deletions(-) - -diff --git a/llvm/tools/lli/lli.cpp b/tools/lli/lli.cpp -index 448660a539a0b0..19246f03941673 100644 ---- a/llvm/tools/lli/lli.cpp -+++ b/tools/lli/lli.cpp -@@ -27,9 +27,7 @@ - #include "llvm/ExecutionEngine/Orc/AbsoluteSymbols.h" - #include "llvm/ExecutionEngine/Orc/DebugUtils.h" - #include "llvm/ExecutionEngine/Orc/Debugging/DebuggerSupport.h" --#include "llvm/ExecutionEngine/Orc/EHFrameRegistrationPlugin.h" - #include "llvm/ExecutionEngine/Orc/EPCDynamicLibrarySearchGenerator.h" --#include "llvm/ExecutionEngine/Orc/EPCEHFrameRegistrar.h" - #include "llvm/ExecutionEngine/Orc/EPCGenericRTDyldMemoryManager.h" - #include "llvm/ExecutionEngine/Orc/ExecutionUtils.h" - #include "llvm/ExecutionEngine/Orc/IRPartitionLayer.h" -@@ -1033,14 +1031,10 @@ int runOrcJIT(const char *ProgName) { - Builder.getJITTargetMachineBuilder() - ->setRelocationModel(Reloc::PIC_) - .setCodeModel(CodeModel::Small); -- Builder.setObjectLinkingLayerCreator([&P](orc::ExecutionSession &ES, -- const Triple &TT) { -- auto L = std::make_unique(ES); -- if (P != LLJITPlatform::ExecutorNative) -- L->addPlugin(std::make_unique( -- ES, ExitOnErr(orc::EPCEHFrameRegistrar::Create(ES)))); -- return L; -- }); -+ Builder.setObjectLinkingLayerCreator( -+ [&](orc::ExecutionSession &ES, const Triple &TT) { -+ return std::make_unique(ES); -+ }); - } - - auto J = ExitOnErr(Builder.create()); diff --git a/pkgs/development/compilers/llvm/common/default.nix b/pkgs/development/compilers/llvm/common/default.nix index 3b657ce5bb3f..116d7c6406e4 100644 --- a/pkgs/development/compilers/llvm/common/default.nix +++ b/pkgs/development/compilers/llvm/common/default.nix @@ -501,10 +501,16 @@ let }) ] ++ - lib.optional (lib.versions.major metadata.release_version == "20") - # Fix OrcJIT - # PR: https://github.com/llvm/llvm-project/pull/125431 - (metadata.getVersionFile "llvm/orcjit.patch"); + lib.optional (lib.versionAtLeast metadata.release_version "20") + # Fix OrcJIT tests with page sizes > 16k + # PR: https://github.com/llvm/llvm-project/pull/127115 + ( + fetchpatch { + url = "https://github.com/llvm/llvm-project/commit/415607e10b56d0e6c4661ff1ec5b9b46bf433cba.patch"; + stripLen = 1; + hash = "sha256-vBbuduJB+NnNE9qtR93k64XKrwvc7w3vowjL/aT+iEA="; + } + ); pollyPatches = [ (metadata.getVersionFile "llvm/gnu-install-dirs-polly.patch") ] ++ lib.optional (lib.versionAtLeast metadata.release_version "15") diff --git a/pkgs/development/compilers/llvm/common/libc/default.nix b/pkgs/development/compilers/llvm/common/libc/default.nix index 900c884c72b4..f57239b7a978 100644 --- a/pkgs/development/compilers/llvm/common/libc/default.nix +++ b/pkgs/development/compilers/llvm/common/libc/default.nix @@ -14,7 +14,6 @@ ninja, isFullBuild ? true, linuxHeaders, - fetchpatch, }: let pname = "libc"; @@ -28,26 +27,12 @@ let ''); in stdenv.mkDerivation (finalAttrs: { - inherit pname version; + inherit pname version patches; src = src'; sourceRoot = "${finalAttrs.src.name}/runtimes"; - patches = - lib.optional (lib.versions.major version == "20") - # Removes invalid token from the LLVM version being placed in the namespace. - # Can be removed when LLVM 20 bumps to rc2. - # PR: https://github.com/llvm/llvm-project/pull/126284 - ( - fetchpatch { - url = "https://github.com/llvm/llvm-project/commit/3a3a3230d171e11842a9940b6da0f72022b1c5b3.patch"; - stripLen = 1; - hash = "sha256-QiU1cWp+027ZZNVdvfGVwbIoRd9jqtSbftGsmaW1gig="; - } - ) - ++ patches; - nativeBuildInputs = [ cmake diff --git a/pkgs/development/compilers/llvm/default.nix b/pkgs/development/compilers/llvm/default.nix index f2ac815b4b2c..68730c5c96d9 100644 --- a/pkgs/development/compilers/llvm/default.nix +++ b/pkgs/development/compilers/llvm/default.nix @@ -30,7 +30,7 @@ let "17.0.6".officialRelease.sha256 = "sha256-8MEDLLhocshmxoEBRSKlJ/GzJ8nfuzQ8qn0X/vLA+ag="; "18.1.8".officialRelease.sha256 = "sha256-iiZKMRo/WxJaBXct9GdAcAT3cz9d9pnAcO1mmR6oPNE="; "19.1.7".officialRelease.sha256 = "sha256-cZAB5vZjeTsXt9QHbP5xluWNQnAHByHtHnAhVDV0E6I="; - "20.1.0-rc1".officialRelease.sha256 = "sha256-yOczbperlR20+iLoao9g0CR+Ml2mjTCx1cqP/9WOhME="; + "20.1.0-rc2".officialRelease.sha256 = "sha256-lBx+MWfYBM6XSJozacALMGlo0DUUWqnsBQyO8lDljSo="; "21.0.0-git".gitRelease = { rev = "c9f1d2cbf18990311ea1287cc154e3784a10a3b0"; rev-version = "21.0.0-unstable-2025-02-10"; From 4eccb53550e827dbfabcaf48ee3c1d215105189b Mon Sep 17 00:00:00 2001 From: Maximilian Bosch Date: Fri, 14 Feb 2025 09:42:43 +0100 Subject: [PATCH 50/62] nixos/tmpfiles: fix docs MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Closes #381822 Apparently, I swapped `path` and `tmpfiles-type` in 2be50b1efee6a94bbc7397f1818468fd29f72ced. Sorry about that 🫠 Also giving `systemd.tmpfiles.settings....type` a better default in the manual than `‹name›`, i.e. `‹tmpfiles-type›` so that it corresponds to the placeholders in the attribute path. --- nixos/modules/system/boot/systemd/tmpfiles.nix | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/nixos/modules/system/boot/systemd/tmpfiles.nix b/nixos/modules/system/boot/systemd/tmpfiles.nix index 5e35e63e96c1..8e2166785e9f 100644 --- a/nixos/modules/system/boot/systemd/tmpfiles.nix +++ b/nixos/modules/system/boot/systemd/tmpfiles.nix @@ -29,10 +29,11 @@ let }; }; default = {}; - type = attrsWith' "config-name" (attrsWith' "tmpfiles-type" (attrsWith' "path" (types.submodule ({ name, config, ... }: { + type = attrsWith' "config-name" (attrsWith' "path" (attrsWith' "tmpfiles-type" (types.submodule ({ name, config, ... }: { options.type = mkOption { type = types.str; default = name; + defaultText = "‹tmpfiles-type›"; example = "d"; description = '' The type of operation to perform on the file. From 47b0fc2bbe4f551bcf588f232736a93c337a8b12 Mon Sep 17 00:00:00 2001 From: K900 Date: Fri, 14 Feb 2025 11:45:50 +0300 Subject: [PATCH 51/62] mangohud: fix crash --- pkgs/tools/graphics/mangohud/default.nix | 5 +++ pkgs/tools/graphics/mangohud/fix-crash.patch | 40 ++++++++++++++++++++ 2 files changed, 45 insertions(+) create mode 100644 pkgs/tools/graphics/mangohud/fix-crash.patch diff --git a/pkgs/tools/graphics/mangohud/default.nix b/pkgs/tools/graphics/mangohud/default.nix index 15ebc4ea4fe6..8844acdb11c9 100644 --- a/pkgs/tools/graphics/mangohud/default.nix +++ b/pkgs/tools/graphics/mangohud/default.nix @@ -128,6 +128,11 @@ stdenv.mkDerivation (finalAttrs: { libdbus = dbus.lib; inherit hwdata; }) + + # Fix crash when starting hidden + # Upstream PR: https://github.com/flightlessmango/MangoHud/pull/1570 + # FIXME: remove when merged + ./fix-crash.patch ]; postPatch = '' diff --git a/pkgs/tools/graphics/mangohud/fix-crash.patch b/pkgs/tools/graphics/mangohud/fix-crash.patch new file mode 100644 index 000000000000..e25d953f300d --- /dev/null +++ b/pkgs/tools/graphics/mangohud/fix-crash.patch @@ -0,0 +1,40 @@ +From f0d7e4f4b2d362d90bb81d0b10ef5c505b9661ea Mon Sep 17 00:00:00 2001 +From: K900 +Date: Fri, 14 Feb 2025 11:41:09 +0300 +Subject: [PATCH] mangoapp: don't crash if gpus is not initialized yet + +This seems to happen on startup on Steam Deck style gamescope-session setups. +Just check for gpus = null before trying to access it. +--- + src/app/main.cpp | 10 ++++++---- + 1 file changed, 6 insertions(+), 4 deletions(-) + +diff --git a/src/app/main.cpp b/src/app/main.cpp +index 0c7c13e07e..4d1d3b1277 100644 +--- a/src/app/main.cpp ++++ b/src/app/main.cpp +@@ -369,8 +369,9 @@ int main(int, char**) + XSync(x11_display, 0); + mangoapp_paused = false; + // resume all GPU threads +- for (auto gpu : gpus->available_gpus) +- gpu->resume(); ++ if (gpus) ++ for (auto gpu : gpus->available_gpus) ++ gpu->resume(); + } + { + std::unique_lock lk(mangoapp_m); +@@ -409,8 +410,9 @@ int main(int, char**) + XSync(x11_display, 0); + mangoapp_paused = true; + // pause all GPUs threads +- for (auto gpu : gpus->available_gpus) +- gpu->pause(); ++ if (gpus) ++ for (auto gpu : gpus->available_gpus) ++ gpu->pause(); + + // If mangoapp is hidden, using mangoapp_cv.wait() causes a hang. + // Because of this hang, we can't detect if the user presses R_SHIFT + F12, + From 4012dc66c0812a87d53aa2c4962c16977fd15f9c Mon Sep 17 00:00:00 2001 From: Brian McGillion Date: Fri, 14 Feb 2025 07:06:08 +0400 Subject: [PATCH 52/62] volta: 1.0.1 -> 2.0.2 Fixes: #381910 Signed-off-by: Brian McGillion --- pkgs/by-name/vo/volta/Cargo.lock | 1918 ----------------------------- pkgs/by-name/vo/volta/package.nix | 16 +- 2 files changed, 5 insertions(+), 1929 deletions(-) delete mode 100644 pkgs/by-name/vo/volta/Cargo.lock diff --git a/pkgs/by-name/vo/volta/Cargo.lock b/pkgs/by-name/vo/volta/Cargo.lock deleted file mode 100644 index 0925a8cc91fd..000000000000 --- a/pkgs/by-name/vo/volta/Cargo.lock +++ /dev/null @@ -1,1918 +0,0 @@ -# This file is automatically @generated by Cargo. -# It is not intended for manual editing. -version = 3 - -[[package]] -name = "adler" -version = "1.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe" - -[[package]] -name = "ahash" -version = "0.7.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fcb51a0695d8f838b1ee009b3fbf66bda078cd64590202a864a8f3e8c4315c47" -dependencies = [ - "getrandom", - "once_cell", - "version_check", -] - -[[package]] -name = "aho-corasick" -version = "0.7.18" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e37cfd5e7657ada45f742d6e99ca5788580b5c529dc78faf11ece6dc702656f" -dependencies = [ - "memchr", -] - -[[package]] -name = "android_system_properties" -version = "0.1.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d7ed72e1635e121ca3e79420540282af22da58be50de153d36f81ddc6b83aa9e" -dependencies = [ - "libc", -] - -[[package]] -name = "ansi_term" -version = "0.12.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d52a9bb7ec0cf484c551830a7ce27bd20d67eac647e1befb56b0be4ee39a55d2" -dependencies = [ - "winapi", -] - -[[package]] -name = "archive" -version = "0.1.0" -dependencies = [ - "attohttpc", - "cfg-if 1.0.0", - "flate2", - "fs-utils", - "hyperx", - "progress-read", - "tar", - "tee", - "thiserror", - "verbatim", - "zip", -] - -[[package]] -name = "assert-json-diff" -version = "2.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "50f1c3703dd33532d7f0ca049168930e9099ecac238e23cf932f3a69c42f06da" -dependencies = [ - "serde", - "serde_json", -] - -[[package]] -name = "attohttpc" -version = "0.24.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b85f766c20e6ae766956f7a2fcc4e0931e79a7e1f48b29132b5d647021114914" -dependencies = [ - "flate2", - "http", - "log", - "rustls", - "rustls-native-certs", - "serde", - "serde_json", - "url", - "webpki", -] - -[[package]] -name = "atty" -version = "0.2.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8" -dependencies = [ - "hermit-abi", - "libc", - "winapi", -] - -[[package]] -name = "autocfg" -version = "0.1.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0e49efa51329a5fd37e7c79db4621af617cd4e3e5bc224939808d076077077bf" - -[[package]] -name = "autocfg" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f8aac770f1885fd7e387acedd76065302551364496e46b3dd00860b2f8359b9d" - -[[package]] -name = "base64" -version = "0.13.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8" - -[[package]] -name = "bitflags" -version = "1.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" - -[[package]] -name = "block-buffer" -version = "0.7.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c0940dc441f31689269e10ac70eb1002a3a1d3ad1390e030043662eb7fe4688b" -dependencies = [ - "block-padding", - "byte-tools", - "byteorder", - "generic-array", -] - -[[package]] -name = "block-padding" -version = "0.1.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6d4dc3af3ee2e12f3e5d224e5e1e3d73668abbeb69e566d361f7d5563a4fdf09" -dependencies = [ - "byte-tools", -] - -[[package]] -name = "bumpalo" -version = "3.12.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0d261e256854913907f67ed06efbc3338dfe6179796deefc1ff763fc1aee5535" - -[[package]] -name = "byte-tools" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e3b5ca7a04898ad4bcd41c90c5285445ff5b791899bb1b0abdd2a2aa791211d7" - -[[package]] -name = "byteorder" -version = "1.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a7c3dd8985a7111efc5c80b44e23ecdd8c007de8ade3b96595387e812b957cf5" - -[[package]] -name = "bytes" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c4872d67bab6358e59559027aa3b9157c53d9358c51423c17554809a8858e0f8" - -[[package]] -name = "bzip2" -version = "0.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "42b7c3cbf0fa9c1b82308d57191728ca0256cb821220f4e2fd410a72ade26e3b" -dependencies = [ - "bzip2-sys", - "libc", -] - -[[package]] -name = "bzip2-sys" -version = "0.1.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6584aa36f5ad4c9247f5323b0a42f37802b37a836f0ad87084d7a33961abe25f" -dependencies = [ - "cc", - "libc", -] - -[[package]] -name = "cc" -version = "1.0.73" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2fff2a6927b3bb87f9595d67196a70493f627687a71d87a0d692242c33f58c11" - -[[package]] -name = "cfg-if" -version = "0.1.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4785bdd1c96b2a846b2bd7cc02e86b6b3dbf14e7e53446c4f54c92a361040822" - -[[package]] -name = "cfg-if" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" - -[[package]] -name = "chain-map" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bc076b92c3d763b90697600bf9833c204b517ff911f64dcfb58221b0663d3ee9" - -[[package]] -name = "chrono" -version = "0.4.23" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "16b0a3d9ed01224b22057780a37bb8c5dbfe1be8ba48678e7bf57ec4b385411f" -dependencies = [ - "iana-time-zone", - "js-sys", - "num-integer", - "num-traits", - "time", - "wasm-bindgen", - "winapi", -] - -[[package]] -name = "ci_info" -version = "0.14.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62a62f39080c8c83e899dff6abd46c4fac05c1cf8dafece96ad8238e79addbf8" -dependencies = [ - "envmnt", -] - -[[package]] -name = "clap" -version = "2.34.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a0610544180c38b88101fecf2dd634b174a62eef6946f84dfc6a7127512b381c" -dependencies = [ - "ansi_term", - "atty", - "bitflags", - "strsim", - "textwrap 0.11.0", - "unicode-width", - "vec_map", -] - -[[package]] -name = "cmdline_words_parser" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "75d8078f03daf673d8bd34a1ef48c680ea4a895204882ce5f0ccfb2487b2bd29" - -[[package]] -name = "colored" -version = "2.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b3616f750b84d8f0de8a58bda93e08e2a81ad3f523089b05f1dffecab48c6cbd" -dependencies = [ - "atty", - "lazy_static", - "winapi", -] - -[[package]] -name = "console" -version = "0.15.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c3d79fbe8970a77e3e34151cc13d3b3e248aa0faaecb9f6091fa07ebefe5ad60" -dependencies = [ - "encode_unicode", - "lazy_static", - "libc", - "unicode-width", - "windows-sys 0.42.0", -] - -[[package]] -name = "core-foundation" -version = "0.9.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "194a7a9e6de53fa55116934067c844d9d749312f75c6f6d0980e8c252f8c2146" -dependencies = [ - "core-foundation-sys", - "libc", -] - -[[package]] -name = "core-foundation-sys" -version = "0.8.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5827cebf4670468b8772dd191856768aedcb1b0278a04f989f7766351917b9dc" - -[[package]] -name = "crc32fast" -version = "1.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ba125de2af0df55319f41944744ad91c71113bf74a4646efff39afe1f6842db1" -dependencies = [ - "cfg-if 0.1.10", -] - -[[package]] -name = "ctrlc" -version = "3.2.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1631ca6e3c59112501a9d87fd86f21591ff77acd31331e8a73f8d80a65bbdd71" -dependencies = [ - "nix", - "windows-sys 0.42.0", -] - -[[package]] -name = "detect-indent" -version = "0.1.0" -source = "git+https://github.com/stefanpenner/detect-indent-rs?branch=master#f645bcc81bfb1f9745c4a4dec7c7f6faf3f84ec5" -dependencies = [ - "lazy_static", - "regex", -] - -[[package]] -name = "digest" -version = "0.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "05f47366984d3ad862010e22c7ce81a7dbcaebbdfb37241a620f8b6596ee135c" -dependencies = [ - "generic-array", -] - -[[package]] -name = "dirs" -version = "4.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ca3aa72a6f96ea37bbc5aa912f6788242832f75369bdfdadcb0e38423f100059" -dependencies = [ - "dirs-sys", -] - -[[package]] -name = "dirs-sys" -version = "0.3.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "03d86534ed367a67548dc68113a0f5db55432fdfbb6e6f9d77704397d95d5780" -dependencies = [ - "libc", - "redox_users", - "winapi", -] - -[[package]] -name = "dunce" -version = "1.0.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0bd4b30a6560bbd9b4620f4de34c3f14f60848e58a9b7216801afcb4c7b31c3c" - -[[package]] -name = "either" -version = "1.6.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e78d4f1cc4ae33bbfc157ed5d5a5ef3bc29227303d595861deb238fcec4e9457" - -[[package]] -name = "encode_unicode" -version = "0.3.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "90b2c9496c001e8cb61827acdefad780795c42264c137744cae6f7d9e3450abd" - -[[package]] -name = "envmnt" -version = "0.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9fbb2fcaad9e6c9e3388dfcc1b44ae5508ae864b7af36f163a8a7c1a48796eee" -dependencies = [ - "fsio", - "indexmap", -] - -[[package]] -name = "envoy" -version = "0.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bb34b6240ca977e7ab7dff6f060f9cb9a8f92c7745fe9e292b9443944d1aa768" - -[[package]] -name = "fake-simd" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e88a8acf291dafb59c2d96e8f59828f3838bb1a70398823ade51a84de6a6deed" - -[[package]] -name = "fastrand" -version = "1.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "779d043b6a0b90cc4c0ed7ee380a6504394cee7efd7db050e3774eee387324b2" -dependencies = [ - "instant", -] - -[[package]] -name = "filetime" -version = "0.2.16" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c0408e2626025178a6a7f7ffc05a25bc47103229f19c113755de7bf63816290c" -dependencies = [ - "cfg-if 1.0.0", - "libc", - "redox_syscall", - "winapi", -] - -[[package]] -name = "flate2" -version = "1.0.24" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f82b0f4c27ad9f8bfd1f3208d882da2b09c301bc1c828fd3a00d0216d2fbbff6" -dependencies = [ - "crc32fast", - "miniz_oxide", -] - -[[package]] -name = "fnv" -version = "1.0.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2fad85553e09a6f881f739c29f0b00b0f01357c743266d478b68951ce23285f3" - -[[package]] -name = "form_urlencoded" -version = "1.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5fc25a87fa4fd2094bffb06925852034d90a17f0d1e05197d4956d3555752191" -dependencies = [ - "matches", - "percent-encoding", -] - -[[package]] -name = "fs-utils" -version = "0.1.0" - -[[package]] -name = "fs2" -version = "0.4.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9564fc758e15025b46aa6643b1b77d047d1a56a1aea6e01002ac0c7026876213" -dependencies = [ - "libc", - "winapi", -] - -[[package]] -name = "fsio" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "09e87827efaf94c7a44b562ff57de06930712fe21b530c3797cdede26e6377eb" -dependencies = [ - "dunce", -] - -[[package]] -name = "generic-array" -version = "0.12.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ffdf9f34f1447443d37393cc6c2b8313aebddcd96906caf34e54c68d8e57d7bd" -dependencies = [ - "typenum", -] - -[[package]] -name = "getrandom" -version = "0.2.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7fcd999463524c52659517fe2cea98493cfe485d10565e7b0fb07dbba7ad2753" -dependencies = [ - "cfg-if 1.0.0", - "libc", - "wasi", -] - -[[package]] -name = "hamcrest2" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49f837c62de05dc9cc71ff6486cd85de8856a330395ae338a04bfcefe5e91075" -dependencies = [ - "num", - "regex", -] - -[[package]] -name = "hashbrown" -version = "0.12.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" -dependencies = [ - "ahash", -] - -[[package]] -name = "heck" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "20564e78d53d2bb135c343b3f47714a56af2061f1c928fdb541dc7b9fdd94205" -dependencies = [ - "unicode-segmentation", -] - -[[package]] -name = "hermit-abi" -version = "0.1.19" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33" -dependencies = [ - "libc", -] - -[[package]] -name = "http" -version = "0.2.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "75f43d41e26995c17e71ee126451dd3941010b0514a81a9d11f3b341debc2399" -dependencies = [ - "bytes", - "fnv", - "itoa 1.0.1", -] - -[[package]] -name = "httparse" -version = "1.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e8734b0cfd3bc3e101ec59100e101c2eecd19282202e87808b3037b442777a83" - -[[package]] -name = "httpdate" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "494b4d60369511e7dea41cf646832512a94e542f68bb9c49e54518e0f468eb47" - -[[package]] -name = "hyperx" -version = "1.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5617e92fc2f2501c3e2bc6ce547cad841adba2bae5b921c7e52510beca6d084c" -dependencies = [ - "base64", - "bytes", - "http", - "httpdate", - "language-tags", - "mime", - "percent-encoding", - "unicase", -] - -[[package]] -name = "iana-time-zone" -version = "0.1.45" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ef5528d9c2817db4e10cc78f8d4c8228906e5854f389ff6b076cee3572a09d35" -dependencies = [ - "android_system_properties", - "core-foundation-sys", - "js-sys", - "wasm-bindgen", - "winapi", -] - -[[package]] -name = "idna" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "02e2673c30ee86b5b96a9cb52ad15718aa1f966f5ab9ad54a8b95d5ca33120a9" -dependencies = [ - "matches", - "unicode-bidi", - "unicode-normalization", -] - -[[package]] -name = "indexmap" -version = "1.9.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1885e79c1fc4b10f0e172c475f458b7f7b93061064d98c3293e98c5ba0c8b399" -dependencies = [ - "autocfg 1.0.0", - "hashbrown", -] - -[[package]] -name = "indicatif" -version = "0.17.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cef509aa9bc73864d6756f0d34d35504af3cf0844373afe9b8669a5b8005a729" -dependencies = [ - "console", - "number_prefix", - "portable-atomic", - "unicode-width", -] - -[[package]] -name = "instant" -version = "0.1.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c" -dependencies = [ - "cfg-if 1.0.0", -] - -[[package]] -name = "itoa" -version = "0.4.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "501266b7edd0174f8530248f87f99c88fbe60ca4ef3dd486835b8d8d53136f7f" - -[[package]] -name = "itoa" -version = "1.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1aab8fc367588b89dcee83ab0fd66b72b50b72fa1904d7095045ace2b0c81c35" - -[[package]] -name = "js-sys" -version = "0.3.59" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "258451ab10b34f8af53416d1fdab72c22e805f0c92a1136d59470ec0b11138b2" -dependencies = [ - "wasm-bindgen", -] - -[[package]] -name = "language-tags" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d4345964bb142484797b161f473a503a434de77149dd8c7427788c6e13379388" - -[[package]] -name = "lazy_static" -version = "1.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" - -[[package]] -name = "lazycell" -version = "1.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55" - -[[package]] -name = "libc" -version = "0.2.138" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "db6d7e329c562c5dfab7a46a2afabc8b987ab9a4834c9d1ca04dc54c1546cef8" - -[[package]] -name = "log" -version = "0.4.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "abb12e687cfb44aa40f41fc3978ef76448f9b6038cad6aef4259d3c095a2382e" -dependencies = [ - "cfg-if 1.0.0", -] - -[[package]] -name = "maplit" -version = "1.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "08cbb6b4fef96b6d77bfc40ec491b1690c779e77b05cd9f07f787ed376fd4c43" - -[[package]] -name = "matches" -version = "0.1.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ffc5c5338469d4d3ea17d269fa8ea3512ad247247c30bd2df69e68309ed0a08" - -[[package]] -name = "maybe-uninit" -version = "2.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "60302e4db3a61da70c0cb7991976248362f30319e88850c487b9b95bbf059e00" - -[[package]] -name = "memchr" -version = "2.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "308cc39be01b73d0d18f82a0e7b2a3df85245f84af96fdddc5d202d27e47b86a" - -[[package]] -name = "mime" -version = "0.3.13" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3e27ca21f40a310bd06d9031785f4801710d566c184a6e15bad4f1d9b65f9425" -dependencies = [ - "unicase", -] - -[[package]] -name = "miniz_oxide" -version = "0.5.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96590ba8f175222643a85693f33d26e9c8a015f599c216509b1a6894af675d34" -dependencies = [ - "adler", -] - -[[package]] -name = "mockito" -version = "0.31.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "80f9fece9bd97ab74339fe19f4bcaf52b76dcc18e5364c7977c1838f76b38de9" -dependencies = [ - "assert-json-diff", - "colored", - "httparse", - "lazy_static", - "log", - "rand", - "regex", - "serde_json", - "serde_urlencoded", - "similar", -] - -[[package]] -name = "msdos_time" -version = "0.1.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aad9dfe950c057b1bfe9c1f2aa51583a8468ef2a5baba2ebbe06d775efeb7729" -dependencies = [ - "time", - "winapi", -] - -[[package]] -name = "nix" -version = "0.26.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "46a58d1d356c6597d08cde02c2f09d785b09e28711837b1ed667dc652c08a694" -dependencies = [ - "bitflags", - "cfg-if 1.0.0", - "libc", - "static_assertions", -] - -[[package]] -name = "num" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cf4825417e1e1406b3782a8ce92f4d53f26ec055e3622e1881ca8e9f5f9e08db" -dependencies = [ - "num-bigint", - "num-complex", - "num-integer", - "num-iter", - "num-rational", - "num-traits", -] - -[[package]] -name = "num-bigint" -version = "0.2.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f9c3f34cdd24f334cb265d9bf8bfa8a241920d026916785747a92f0e55541a1a" -dependencies = [ - "autocfg 0.1.4", - "num-integer", - "num-traits", -] - -[[package]] -name = "num-complex" -version = "0.2.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fcb0cf31fb3ff77e6d2a6ebd6800df7fdcd106f2ad89113c9130bcd07f93dffc" -dependencies = [ - "autocfg 0.1.4", - "num-traits", -] - -[[package]] -name = "num-integer" -version = "0.1.41" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b85e541ef8255f6cf42bbfe4ef361305c6c135d10919ecc26126c4e5ae94bc09" -dependencies = [ - "autocfg 0.1.4", - "num-traits", -] - -[[package]] -name = "num-iter" -version = "0.1.39" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "76bd5272412d173d6bf9afdf98db8612bbabc9a7a830b7bfc9c188911716132e" -dependencies = [ - "autocfg 0.1.4", - "num-integer", - "num-traits", -] - -[[package]] -name = "num-rational" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f2885278d5fe2adc2f75ced642d52d879bffaceb5a2e0b1d4309ffdfb239b454" -dependencies = [ - "autocfg 0.1.4", - "num-bigint", - "num-integer", - "num-traits", -] - -[[package]] -name = "num-traits" -version = "0.2.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6ba9a427cfca2be13aa6f6403b0b7e7368fe982bfa16fccc450ce74c46cd9b32" -dependencies = [ - "autocfg 0.1.4", -] - -[[package]] -name = "number_prefix" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "830b246a0e5f20af87141b25c173cd1b609bd7779a4617d6ec582abaf90870f3" - -[[package]] -name = "once_cell" -version = "1.17.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6f61fba1741ea2b3d6a1e3178721804bb716a68a6aeba1149b5d52e3d464ea66" - -[[package]] -name = "opaque-debug" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "93f5bb2e8e8dec81642920ccff6b61f1eb94fa3020c5a325c9851ff604152409" - -[[package]] -name = "openssl-probe" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf" - -[[package]] -name = "os_info" -version = "3.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c4750134fb6a5d49afc80777394ad5d95b04bc12068c6abb92fae8f43817270f" -dependencies = [ - "log", - "serde", - "winapi", -] - -[[package]] -name = "percent-encoding" -version = "2.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d4fd5641d01c8f18a23da7b6fe29298ff4b55afcccdf78973b24cf3175fee32e" - -[[package]] -name = "pest" -version = "2.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "933085deae3f32071f135d799d75667b63c8dc1f4537159756e3d4ceab41868c" -dependencies = [ - "ucd-trie", -] - -[[package]] -name = "pest_derive" -version = "2.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "833d1ae558dc601e9a60366421196a8d94bc0ac980476d0b67e1d0988d72b2d0" -dependencies = [ - "pest", - "pest_generator", -] - -[[package]] -name = "pest_generator" -version = "2.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "63120576c4efd69615b5537d3d052257328a4ca82876771d6944424ccfd9f646" -dependencies = [ - "pest", - "pest_meta", - "proc-macro2 0.4.30", - "quote 0.6.12", - "syn 0.15.36", -] - -[[package]] -name = "pest_meta" -version = "2.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f249ea6de7c7b7aba92b4ff4376a994c6dbd98fd2166c89d5c4947397ecb574d" -dependencies = [ - "maplit", - "pest", - "sha-1", -] - -[[package]] -name = "podio" -version = "0.1.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "780fb4b6698bbf9cf2444ea5d22411cef2953f0824b98f33cf454ec5615645bd" - -[[package]] -name = "portable-atomic" -version = "0.3.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "15eb2c6e362923af47e13c23ca5afb859e83d54452c55b0b9ac763b8f7c1ac16" - -[[package]] -name = "ppv-lite86" -version = "0.2.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "237a5ed80e274dbc66f86bd59c1e25edc039660be53194b5fe0a482e0f2612ea" - -[[package]] -name = "proc-macro2" -version = "0.4.30" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cf3d2011ab5c909338f7887f4fc896d35932e29146c12c8d01da6b22a80ba759" -dependencies = [ - "unicode-xid", -] - -[[package]] -name = "proc-macro2" -version = "1.0.47" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5ea3d908b0e36316caf9e9e2c4625cdde190a7e6f440d794667ed17a1855e725" -dependencies = [ - "unicode-ident", -] - -[[package]] -name = "progress-read" -version = "0.1.0" - -[[package]] -name = "quote" -version = "0.6.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "faf4799c5d274f3868a4aae320a0a182cbd2baee377b378f080e16a23e9d80db" -dependencies = [ - "proc-macro2 0.4.30", -] - -[[package]] -name = "quote" -version = "1.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "053a8c8bcc71fcce321828dc897a98ab9760bef03a4fc36693c231e5b3216cfe" -dependencies = [ - "proc-macro2 1.0.47", -] - -[[package]] -name = "rand" -version = "0.8.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2e7573632e6454cf6b99d7aac4ccca54be06da05aca2ef7423d22d27d4d4bcd8" -dependencies = [ - "libc", - "rand_chacha", - "rand_core", - "rand_hc", -] - -[[package]] -name = "rand_chacha" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" -dependencies = [ - "ppv-lite86", - "rand_core", -] - -[[package]] -name = "rand_core" -version = "0.6.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d34f1408f55294453790c48b2f1ebbb1c5b4b7563eb1f418bcfcfdbb06ebb4e7" -dependencies = [ - "getrandom", -] - -[[package]] -name = "rand_hc" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d51e9f596de227fda2ea6c84607f5558e196eeaf43c986b724ba4fb8fdf497e7" -dependencies = [ - "rand_core", -] - -[[package]] -name = "readext" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "abdc58f5f18bcf347b55cebb34ed4618b0feff9a9223160f5902adbc1f6a72a6" - -[[package]] -name = "redox_syscall" -version = "0.2.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8383f39639269cde97d255a32bdb68c047337295414940c68bdd30c2e13203ff" -dependencies = [ - "bitflags", -] - -[[package]] -name = "redox_users" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "528532f3d801c87aec9def2add9ca802fe569e44a544afe633765267840abe64" -dependencies = [ - "getrandom", - "redox_syscall", -] - -[[package]] -name = "regex" -version = "1.7.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "48aaa5748ba571fb95cd2c85c09f629215d3a6ece942baa100950af03a34f733" -dependencies = [ - "aho-corasick", - "memchr", - "regex-syntax", -] - -[[package]] -name = "regex-syntax" -version = "0.6.27" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a3f87b73ce11b1619a3c6332f45341e0047173771e8b8b73f87bfeefb7b56244" - -[[package]] -name = "remove_dir_all" -version = "0.5.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4a83fa3702a688b9359eccba92d153ac33fd2e8462f9e0e3fdf155239ea7792e" -dependencies = [ - "winapi", -] - -[[package]] -name = "retry" -version = "2.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9166d72162de3575f950507683fac47e30f6f2c3836b71b7fbc61aa517c9c5f4" -dependencies = [ - "rand", -] - -[[package]] -name = "ring" -version = "0.16.20" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3053cf52e236a3ed746dfc745aa9cacf1b791d846bdaf412f60a8d7d6e17c8fc" -dependencies = [ - "cc", - "libc", - "once_cell", - "spin", - "untrusted", - "web-sys", - "winapi", -] - -[[package]] -name = "rustls" -version = "0.20.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5aab8ee6c7097ed6057f43c187a62418d0c05a4bd5f18b3571db50ee0f9ce033" -dependencies = [ - "log", - "ring", - "sct", - "webpki", -] - -[[package]] -name = "rustls-native-certs" -version = "0.6.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0167bac7a9f490495f3c33013e7722b53cb087ecbe082fb0c6387c96f634ea50" -dependencies = [ - "openssl-probe", - "rustls-pemfile", - "schannel", - "security-framework", -] - -[[package]] -name = "rustls-pemfile" -version = "1.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0864aeff53f8c05aa08d86e5ef839d3dfcf07aeba2db32f12db0ef716e87bd55" -dependencies = [ - "base64", -] - -[[package]] -name = "ryu" -version = "1.0.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c9613b5a66ab9ba26415184cfc41156594925a9cf3a2057e57f31ff145f6568" - -[[package]] -name = "same-file" -version = "1.0.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "585e8ddcedc187886a30fa705c47985c3fa88d06624095856b36ca0b82ff4421" -dependencies = [ - "winapi-util", -] - -[[package]] -name = "schannel" -version = "0.1.20" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "88d6731146462ea25d9244b2ed5fd1d716d25c52e4d54aa4fb0f3c4e9854dbe2" -dependencies = [ - "lazy_static", - "windows-sys 0.36.1", -] - -[[package]] -name = "sct" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d53dcdb7c9f8158937a7981b48accfd39a43af418591a5d008c7b22b5e1b7ca4" -dependencies = [ - "ring", - "untrusted", -] - -[[package]] -name = "security-framework" -version = "2.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2bc1bb97804af6631813c55739f771071e0f2ed33ee20b68c86ec505d906356c" -dependencies = [ - "bitflags", - "core-foundation", - "core-foundation-sys", - "libc", - "security-framework-sys", -] - -[[package]] -name = "security-framework-sys" -version = "2.6.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0160a13a177a45bfb43ce71c01580998474f556ad854dcbca936dd2841a5c556" -dependencies = [ - "core-foundation-sys", - "libc", -] - -[[package]] -name = "semver" -version = "0.9.0" -source = "git+https://github.com/mikrostew/semver?branch=new-parser#7583eb352dc181ccd09978fd2b16461c1b1669c1" -dependencies = [ - "semver-parser", -] - -[[package]] -name = "semver-parser" -version = "0.10.0" -source = "git+https://github.com/mikrostew/semver-parser?branch=rewrite#f5c74268a09eef16a289a667ca7b4925e690fe13" -dependencies = [ - "pest", - "pest_derive", -] - -[[package]] -name = "serde" -version = "1.0.152" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bb7d1f0d3021d347a83e556fc4683dea2ea09d87bccdf88ff5c12545d89d5efb" -dependencies = [ - "serde_derive", -] - -[[package]] -name = "serde_derive" -version = "1.0.152" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "af487d118eecd09402d70a5d72551860e788df87b464af30e5ea6a38c75c541e" -dependencies = [ - "proc-macro2 1.0.47", - "quote 1.0.2", - "syn 1.0.105", -] - -[[package]] -name = "serde_json" -version = "1.0.91" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "877c235533714907a8c2464236f5c4b2a17262ef1bd71f38f35ea592c8da6883" -dependencies = [ - "indexmap", - "itoa 1.0.1", - "ryu", - "serde", -] - -[[package]] -name = "serde_urlencoded" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "edfa57a7f8d9c1d260a549e7224100f6c43d43f9103e06dd8b4095a9b2b43ce9" -dependencies = [ - "form_urlencoded", - "itoa 0.4.4", - "ryu", - "serde", -] - -[[package]] -name = "sha-1" -version = "0.8.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "23962131a91661d643c98940b20fcaffe62d776a823247be80a48fcb8b6fce68" -dependencies = [ - "block-buffer", - "digest", - "fake-simd", - "opaque-debug", -] - -[[package]] -name = "similar" -version = "2.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2e24979f63a11545f5f2c60141afe249d4f19f84581ea2138065e400941d83d3" - -[[package]] -name = "smallvec" -version = "0.6.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b97fcaeba89edba30f044a10c6a3cc39df9c3f17d7cd829dd1446cab35f890e0" -dependencies = [ - "maybe-uninit", -] - -[[package]] -name = "smawk" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f67ad224767faa3c7d8b6d91985b78e70a1324408abcb1cfcc2be4c06bc06043" - -[[package]] -name = "spin" -version = "0.5.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6e63cff320ae2c57904679ba7cb63280a3dc4613885beafb148ee7bf9aa9042d" - -[[package]] -name = "static_assertions" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f" - -[[package]] -name = "strsim" -version = "0.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ea5119cdb4c55b55d432abb513a0429384878c15dde60cc77b1c99de1a95a6a" - -[[package]] -name = "structopt" -version = "0.2.18" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "16c2cdbf9cc375f15d1b4141bc48aeef444806655cd0e904207edc8d68d86ed7" -dependencies = [ - "clap", - "structopt-derive", -] - -[[package]] -name = "structopt-derive" -version = "0.2.18" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "53010261a84b37689f9ed7d395165029f9cc7abb9f56bbfe86bee2597ed25107" -dependencies = [ - "heck", - "proc-macro2 0.4.30", - "quote 0.6.12", - "syn 0.15.36", -] - -[[package]] -name = "syn" -version = "0.15.36" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b4f551a91e2e3848aeef8751d0d4eec9489b6474c720fd4c55958d8d31a430c" -dependencies = [ - "proc-macro2 0.4.30", - "quote 0.6.12", - "unicode-xid", -] - -[[package]] -name = "syn" -version = "1.0.105" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "60b9b43d45702de4c839cb9b51d9f529c5dd26a4aff255b42b1ebc03e88ee908" -dependencies = [ - "proc-macro2 1.0.47", - "quote 1.0.2", - "unicode-ident", -] - -[[package]] -name = "tar" -version = "0.4.38" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4b55807c0344e1e6c04d7c965f5289c39a8d94ae23ed5c0b57aabac549f871c6" -dependencies = [ - "filetime", - "libc", - "xattr", -] - -[[package]] -name = "tee" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "37c12559dba7383625faaff75be24becf35bfc885044375bcab931111799a3da" - -[[package]] -name = "tempfile" -version = "3.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5cdb1ef4eaeeaddc8fbd371e5017057064af0911902ef36b39801f67cc6d79e4" -dependencies = [ - "cfg-if 1.0.0", - "fastrand", - "libc", - "redox_syscall", - "remove_dir_all", - "winapi", -] - -[[package]] -name = "term_size" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e4129646ca0ed8f45d09b929036bafad5377103edd06e50bf574b353d2b08d9" -dependencies = [ - "libc", - "winapi", -] - -[[package]] -name = "test-support" -version = "0.1.0" -dependencies = [ - "archive", - "hamcrest2", - "serde_json", - "thiserror", -] - -[[package]] -name = "textwrap" -version = "0.11.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d326610f408c7a4eb6f51c37c330e496b08506c9457c9d34287ecc38809fb060" -dependencies = [ - "unicode-width", -] - -[[package]] -name = "textwrap" -version = "0.16.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "222a222a5bfe1bba4a77b45ec488a741b3cb8872e5e499451fd7d0129c9c7c3d" -dependencies = [ - "smawk", - "unicode-linebreak", - "unicode-width", -] - -[[package]] -name = "thiserror" -version = "1.0.38" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6a9cd18aa97d5c45c6603caea1da6628790b37f7a34b6ca89522331c5180fed0" -dependencies = [ - "thiserror-impl", -] - -[[package]] -name = "thiserror-impl" -version = "1.0.38" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1fb327af4685e4d03fa8cbcf1716380da910eeb2bb8be417e7f9fd3fb164f36f" -dependencies = [ - "proc-macro2 1.0.47", - "quote 1.0.2", - "syn 1.0.105", -] - -[[package]] -name = "time" -version = "0.1.44" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6db9e6914ab8b1ae1c260a4ae7a49b6c5611b40328a735b21862567685e73255" -dependencies = [ - "libc", - "wasi", - "winapi", -] - -[[package]] -name = "typenum" -version = "1.14.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b63708a265f51345575b27fe43f9500ad611579e764c79edbc2037b1121959ec" - -[[package]] -name = "ucd-trie" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "71a9c5b1fe77426cf144cc30e49e955270f5086e31a6441dfa8b32efc09b9d77" - -[[package]] -name = "unicase" -version = "2.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "50f37be617794602aabbeee0be4f259dc1778fabe05e2d67ee8f79326d5cb4f6" -dependencies = [ - "version_check", -] - -[[package]] -name = "unicode-bidi" -version = "0.3.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49f2bd0c6468a8230e1db229cff8029217cf623c767ea5d60bfbd42729ea54d5" -dependencies = [ - "matches", -] - -[[package]] -name = "unicode-ident" -version = "1.0.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6ceab39d59e4c9499d4e5a8ee0e2735b891bb7308ac83dfb4e80cad195c9f6f3" - -[[package]] -name = "unicode-linebreak" -version = "0.1.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c5faade31a542b8b35855fff6e8def199853b2da8da256da52f52f1316ee3137" -dependencies = [ - "hashbrown", - "regex", -] - -[[package]] -name = "unicode-normalization" -version = "0.1.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "141339a08b982d942be2ca06ff8b076563cbe223d1befd5450716790d44e2426" -dependencies = [ - "smallvec", -] - -[[package]] -name = "unicode-segmentation" -version = "1.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1967f4cdfc355b37fd76d2a954fb2ed3871034eb4f26d60537d88795cfc332a9" - -[[package]] -name = "unicode-width" -version = "0.1.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c0edd1e5b14653f783770bce4a4dabb4a5108a5370a5f5d8cfe8710c361f6c8b" - -[[package]] -name = "unicode-xid" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fc72304796d0818e357ead4e000d19c9c174ab23dc11093ac919054d20a6a7fc" - -[[package]] -name = "untrusted" -version = "0.7.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a156c684c91ea7d62626509bce3cb4e1d9ed5c4d978f7b4352658f96a4c26b4a" - -[[package]] -name = "url" -version = "2.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "22fe195a4f217c25b25cb5058ced57059824a678474874038dc88d211bf508d3" -dependencies = [ - "form_urlencoded", - "idna", - "percent-encoding", -] - -[[package]] -name = "validate-npm-package-name" -version = "0.1.0" -dependencies = [ - "lazy_static", - "percent-encoding", - "regex", -] - -[[package]] -name = "vec_map" -version = "0.8.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "05c78687fb1a80548ae3250346c3db86a80a7cdd77bda190189f2d0a0987c81a" - -[[package]] -name = "verbatim" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bbad0679079b451226e954019b2efac46bafa8f7b1418b953861e864072a97c6" - -[[package]] -name = "version_check" -version = "0.9.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "078775d0255232fb988e6fccf26ddc9d1ac274299aaedcedce21c6f72cc533ce" - -[[package]] -name = "volta" -version = "1.1.1" -dependencies = [ - "atty", - "cfg-if 1.0.0", - "ci_info", - "dirs", - "envoy", - "hamcrest2", - "hyperx", - "lazy_static", - "log", - "mockito", - "semver", - "serde", - "serde_json", - "structopt", - "test-support", - "textwrap 0.16.0", - "volta-core", - "volta-migrate", - "which", - "winreg", -] - -[[package]] -name = "volta-core" -version = "0.1.0" -dependencies = [ - "archive", - "attohttpc", - "atty", - "cfg-if 1.0.0", - "chain-map", - "chrono", - "ci_info", - "cmdline_words_parser", - "console", - "ctrlc", - "detect-indent", - "dirs", - "dunce", - "envoy", - "fs-utils", - "fs2", - "hyperx", - "indexmap", - "indicatif", - "lazy_static", - "lazycell", - "log", - "mockito", - "once_cell", - "os_info", - "readext", - "regex", - "retry", - "semver", - "serde", - "serde_json", - "tempfile", - "term_size", - "textwrap 0.16.0", - "validate-npm-package-name", - "volta-layout", - "walkdir", - "winreg", -] - -[[package]] -name = "volta-layout" -version = "0.1.1" -dependencies = [ - "volta-layout-macro", -] - -[[package]] -name = "volta-layout-macro" -version = "0.1.0" -dependencies = [ - "proc-macro2 1.0.47", - "quote 1.0.2", - "syn 1.0.105", -] - -[[package]] -name = "volta-migrate" -version = "0.1.0" -dependencies = [ - "log", - "semver", - "serde", - "serde_json", - "tempfile", - "volta-core", - "volta-layout", - "walkdir", -] - -[[package]] -name = "walkdir" -version = "2.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "808cf2735cd4b6866113f648b791c6adc5714537bc222d9347bb203386ffda56" -dependencies = [ - "same-file", - "winapi", - "winapi-util", -] - -[[package]] -name = "wasi" -version = "0.10.0+wasi-snapshot-preview1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1a143597ca7c7793eff794def352d41792a93c481eb1042423ff7ff72ba2c31f" - -[[package]] -name = "wasm-bindgen" -version = "0.2.82" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fc7652e3f6c4706c8d9cd54832c4a4ccb9b5336e2c3bd154d5cccfbf1c1f5f7d" -dependencies = [ - "cfg-if 1.0.0", - "wasm-bindgen-macro", -] - -[[package]] -name = "wasm-bindgen-backend" -version = "0.2.82" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "662cd44805586bd52971b9586b1df85cdbbd9112e4ef4d8f41559c334dc6ac3f" -dependencies = [ - "bumpalo", - "log", - "once_cell", - "proc-macro2 1.0.47", - "quote 1.0.2", - "syn 1.0.105", - "wasm-bindgen-shared", -] - -[[package]] -name = "wasm-bindgen-macro" -version = "0.2.82" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b260f13d3012071dfb1512849c033b1925038373aea48ced3012c09df952c602" -dependencies = [ - "quote 1.0.2", - "wasm-bindgen-macro-support", -] - -[[package]] -name = "wasm-bindgen-macro-support" -version = "0.2.82" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5be8e654bdd9b79216c2929ab90721aa82faf65c48cdf08bdc4e7f51357b80da" -dependencies = [ - "proc-macro2 1.0.47", - "quote 1.0.2", - "syn 1.0.105", - "wasm-bindgen-backend", - "wasm-bindgen-shared", -] - -[[package]] -name = "wasm-bindgen-shared" -version = "0.2.82" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6598dd0bd3c7d51095ff6531a5b23e02acdc81804e30d8f07afb77b7215a140a" - -[[package]] -name = "web-sys" -version = "0.3.59" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ed055ab27f941423197eb86b2035720b1a3ce40504df082cac2ecc6ed73335a1" -dependencies = [ - "js-sys", - "wasm-bindgen", -] - -[[package]] -name = "webpki" -version = "0.22.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f095d78192e208183081cc07bc5515ef55216397af48b873e5edcd72637fa1bd" -dependencies = [ - "ring", - "untrusted", -] - -[[package]] -name = "which" -version = "4.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2441c784c52b289a054b7201fc93253e288f094e2f4be9058343127c4226a269" -dependencies = [ - "either", - "libc", - "once_cell", -] - -[[package]] -name = "winapi" -version = "0.3.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" -dependencies = [ - "winapi-i686-pc-windows-gnu", - "winapi-x86_64-pc-windows-gnu", -] - -[[package]] -name = "winapi-i686-pc-windows-gnu" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" - -[[package]] -name = "winapi-util" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "70ec6ce85bb158151cae5e5c87f95a8e97d2c0c4b001223f33a334e3ce5de178" -dependencies = [ - "winapi", -] - -[[package]] -name = "winapi-x86_64-pc-windows-gnu" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" - -[[package]] -name = "windows-sys" -version = "0.36.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ea04155a16a59f9eab786fe12a4a450e75cdb175f9e0d80da1e17db09f55b8d2" -dependencies = [ - "windows_aarch64_msvc 0.36.1", - "windows_i686_gnu 0.36.1", - "windows_i686_msvc 0.36.1", - "windows_x86_64_gnu 0.36.1", - "windows_x86_64_msvc 0.36.1", -] - -[[package]] -name = "windows-sys" -version = "0.42.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a3e1820f08b8513f676f7ab6c1f99ff312fb97b553d30ff4dd86f9f15728aa7" -dependencies = [ - "windows_aarch64_gnullvm", - "windows_aarch64_msvc 0.42.0", - "windows_i686_gnu 0.42.0", - "windows_i686_msvc 0.42.0", - "windows_x86_64_gnu 0.42.0", - "windows_x86_64_gnullvm", - "windows_x86_64_msvc 0.42.0", -] - -[[package]] -name = "windows_aarch64_gnullvm" -version = "0.42.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "41d2aa71f6f0cbe00ae5167d90ef3cfe66527d6f613ca78ac8024c3ccab9a19e" - -[[package]] -name = "windows_aarch64_msvc" -version = "0.36.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9bb8c3fd39ade2d67e9874ac4f3db21f0d710bee00fe7cab16949ec184eeaa47" - -[[package]] -name = "windows_aarch64_msvc" -version = "0.42.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dd0f252f5a35cac83d6311b2e795981f5ee6e67eb1f9a7f64eb4500fbc4dcdb4" - -[[package]] -name = "windows_i686_gnu" -version = "0.36.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "180e6ccf01daf4c426b846dfc66db1fc518f074baa793aa7d9b9aaeffad6a3b6" - -[[package]] -name = "windows_i686_gnu" -version = "0.42.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fbeae19f6716841636c28d695375df17562ca208b2b7d0dc47635a50ae6c5de7" - -[[package]] -name = "windows_i686_msvc" -version = "0.36.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e2e7917148b2812d1eeafaeb22a97e4813dfa60a3f8f78ebe204bcc88f12f024" - -[[package]] -name = "windows_i686_msvc" -version = "0.42.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "84c12f65daa39dd2babe6e442988fc329d6243fdce47d7d2d155b8d874862246" - -[[package]] -name = "windows_x86_64_gnu" -version = "0.36.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4dcd171b8776c41b97521e5da127a2d86ad280114807d0b2ab1e462bc764d9e1" - -[[package]] -name = "windows_x86_64_gnu" -version = "0.42.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bf7b1b21b5362cbc318f686150e5bcea75ecedc74dd157d874d754a2ca44b0ed" - -[[package]] -name = "windows_x86_64_gnullvm" -version = "0.42.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "09d525d2ba30eeb3297665bd434a54297e4170c7f1a44cad4ef58095b4cd2028" - -[[package]] -name = "windows_x86_64_msvc" -version = "0.36.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c811ca4a8c853ef420abd8592ba53ddbbac90410fab6903b3e79972a631f7680" - -[[package]] -name = "windows_x86_64_msvc" -version = "0.42.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f40009d85759725a34da6d89a94e63d7bdc50a862acf0dbc7c8e488f1edcb6f5" - -[[package]] -name = "winreg" -version = "0.10.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "80d0f4e272c85def139476380b12f9ac60926689dd2e01d4923222f40580869d" -dependencies = [ - "winapi", -] - -[[package]] -name = "xattr" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "244c3741f4240ef46274860397c7c74e50eb23624996930e484c16679633a54c" -dependencies = [ - "libc", -] - -[[package]] -name = "zip" -version = "0.2.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e7341988e4535c60882d5e5f0b7ad0a9a56b080ade8bdb5527cb512f7b2180e0" -dependencies = [ - "bzip2", - "flate2", - "msdos_time", - "podio", - "time", -] diff --git a/pkgs/by-name/vo/volta/package.nix b/pkgs/by-name/vo/volta/package.nix index fd9b22836f55..84ca9c358e21 100644 --- a/pkgs/by-name/vo/volta/package.nix +++ b/pkgs/by-name/vo/volta/package.nix @@ -9,23 +9,17 @@ }: rustPlatform.buildRustPackage rec { pname = "volta"; - version = "1.1.1"; + version = "2.0.2"; src = fetchFromGitHub { owner = "volta-cli"; repo = "volta"; - rev = "v${version}"; - hash = "sha256-+j3WRpunV+3YfZnyuKA/CsiKr+gOaP2NbmnyoGMN+Mg="; + tag = "v${version}"; + hash = "sha256-ZI+3/Xbkg/JaZMLhrJEjaSwjs44fOaiRReM2DUTnkkc="; }; - cargoLock = { - lockFile = ./Cargo.lock; - outputHashes = { - "detect-indent-0.1.0" = "sha256-qtPkPaBiyuT8GhpEFdU7IkAgKnCbTES0FB2CvNKWqic="; - "semver-0.9.0" = "sha256-nw1somkZe9Qi36vjfWlTcDqHAIbaJj72KBTfmucVxXs="; - "semver-parser-0.10.0" = "sha256-iTGnKSddsriF6JS6lvJNjp9aDzGtfjrHEiCijeie3uE="; - }; - }; + useFetchCargoVendor = true; + cargoHash = "sha256-xlqsubkaX2A6d5MIcGf9E0b11Gzneksgku0jvW+UdbE="; buildInputs = [ installShellFiles ] From de1b2782c95760818dcefc461f73264eb98300c7 Mon Sep 17 00:00:00 2001 From: Vincent Laporte Date: Fri, 14 Feb 2025 08:48:06 +0100 Subject: [PATCH 53/62] ocamlPackages.arg-complete: init at 0.2.1 --- .../ocaml-modules/arg-complete/default.nix | 31 +++++++++++++++++++ pkgs/top-level/ocaml-packages.nix | 2 ++ 2 files changed, 33 insertions(+) create mode 100644 pkgs/development/ocaml-modules/arg-complete/default.nix diff --git a/pkgs/development/ocaml-modules/arg-complete/default.nix b/pkgs/development/ocaml-modules/arg-complete/default.nix new file mode 100644 index 000000000000..341971b35e88 --- /dev/null +++ b/pkgs/development/ocaml-modules/arg-complete/default.nix @@ -0,0 +1,31 @@ +{ + lib, + fetchurl, + ocaml, + buildDunePackage, + cppo, + ounit2, +}: + +buildDunePackage rec { + pname = "arg-complete"; + version = "0.2.1"; + + src = fetchurl { + url = "https://github.com/sim642/ocaml-arg-complete/releases/download/${version}/arg-complete-${version}.tbz"; + hash = "sha256-SZvLaeeqY3j2LUvqxGs0Vw57JnnpdvAk1jnE3pk27QU="; + }; + + nativeBuildInputs = [ cppo ]; + + doCheck = lib.versionAtLeast ocaml.version "4.08"; + checkInputs = [ ounit2 ]; + + meta = { + description = "Bash completion support for OCaml Stdlib.Arg"; + homepage = "https://sim642.github.io/ocaml-arg-complete/"; + changelog = "https://raw.githubusercontent.com/sim642/ocaml-arg-complete/refs/tags/${version}/CHANGELOG.md"; + license = lib.licenses.mit; + maintainers = [ lib.maintainers.vbgl ]; + }; +} diff --git a/pkgs/top-level/ocaml-packages.nix b/pkgs/top-level/ocaml-packages.nix index 09bda1d9cebe..10651337cb3e 100644 --- a/pkgs/top-level/ocaml-packages.nix +++ b/pkgs/top-level/ocaml-packages.nix @@ -38,6 +38,8 @@ let apron = callPackage ../development/ocaml-modules/apron { }; + arg-complete = callPackage ../development/ocaml-modules/arg-complete { }; + arp = callPackage ../development/ocaml-modules/arp { }; asai = callPackage ../development/ocaml-modules/asai { }; From 9c1f15d84574fbf20cfc4e766523c5a2a9a060a2 Mon Sep 17 00:00:00 2001 From: Vincent Laporte Date: Fri, 14 Feb 2025 08:48:26 +0100 Subject: [PATCH 54/62] =?UTF-8?q?ocamlPackages.mopsa:=201.0=20=E2=86=92=20?= =?UTF-8?q?1.1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pkgs/development/ocaml-modules/mopsa/default.nix | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/pkgs/development/ocaml-modules/mopsa/default.nix b/pkgs/development/ocaml-modules/mopsa/default.nix index 8f084ef9618d..456a7e85a663 100644 --- a/pkgs/development/ocaml-modules/mopsa/default.nix +++ b/pkgs/development/ocaml-modules/mopsa/default.nix @@ -11,6 +11,7 @@ ocaml, menhir, apron, + arg-complete, camlidl, yojson, zarith, @@ -18,15 +19,15 @@ buildDunePackage rec { pname = "mopsa"; - version = "1.0"; + version = "1.1"; - minimalOCamlVersion = "4.12"; + minimalOCamlVersion = "4.13"; src = fetchFromGitLab { owner = "mopsa"; repo = "mopsa-analyzer"; - rev = "v${version}"; - hash = "sha256-nGnWwV7g3SYgShbXGUMooyOdFwXFrQHnQvlc8x9TAS4="; + tag = "v${version}"; + hash = "sha256-lO5dtGAl1dq8oJco/hPXrAbN05rKc62Zrci/8CLrQ0c="; }; nativeBuildInputs = [ @@ -36,6 +37,7 @@ buildDunePackage rec { ]; buildInputs = [ + arg-complete camlidl flint libclang From 6d15f89453891d4b8d02cce521b35a8b09c834b5 Mon Sep 17 00:00:00 2001 From: K900 Date: Fri, 14 Feb 2025 12:00:53 +0300 Subject: [PATCH 55/62] hawkeye: switch to fetchCargoVendor --- pkgs/by-name/ha/hawkeye/package.nix | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/pkgs/by-name/ha/hawkeye/package.nix b/pkgs/by-name/ha/hawkeye/package.nix index 36d883ccdc56..6ffc0cc3f428 100644 --- a/pkgs/by-name/ha/hawkeye/package.nix +++ b/pkgs/by-name/ha/hawkeye/package.nix @@ -16,7 +16,8 @@ rustPackages.rustPlatform.buildRustPackage rec { hash = "sha256-VfJWj9BwNVR7RVUW+CjFuaniyiEath1U0F/7QJcA3r4="; }; - cargoHash = "sha256-tTXoxWjcTtEcRcuSs0ewCN1VJYmTIKRgL3s7QSYt7sk="; + useFetchCargoVendor = true; + cargoHash = "sha256-SJEl5QsO4KYRv+5xDPHy1Q53qcL89IJ9JTXtzubO5fk="; nativeBuildInputs = [ pkg-config From 8c76cbea6a534bae8a5c9ebfa830c714ef319725 Mon Sep 17 00:00:00 2001 From: K900 Date: Fri, 14 Feb 2025 12:01:41 +0300 Subject: [PATCH 56/62] llvmPackages.libc: rename shim .so to .tpl This makes it not get deleted with cleanSource. --- pkgs/development/compilers/llvm/common/libc/default.nix | 2 +- .../compilers/llvm/common/libc/{libc-shim.so => libc-shim.tpl} | 0 2 files changed, 1 insertion(+), 1 deletion(-) rename pkgs/development/compilers/llvm/common/libc/{libc-shim.so => libc-shim.tpl} (100%) diff --git a/pkgs/development/compilers/llvm/common/libc/default.nix b/pkgs/development/compilers/llvm/common/libc/default.nix index f57239b7a978..2ba098da2814 100644 --- a/pkgs/development/compilers/llvm/common/libc/default.nix +++ b/pkgs/development/compilers/llvm/common/libc/default.nix @@ -60,7 +60,7 @@ stdenv.mkDerivation (finalAttrs: { ''; postInstall = lib.optionalString (!isFullBuild) '' - substituteAll ${./libc-shim.so} $out/lib/libc.so + substituteAll ${./libc-shim.tpl} $out/lib/libc.so ''; libc = if (!isFullBuild) then stdenv.cc.libc else null; diff --git a/pkgs/development/compilers/llvm/common/libc/libc-shim.so b/pkgs/development/compilers/llvm/common/libc/libc-shim.tpl similarity index 100% rename from pkgs/development/compilers/llvm/common/libc/libc-shim.so rename to pkgs/development/compilers/llvm/common/libc/libc-shim.tpl From a98bc598fbd9accdad41aff1d7a2adf716014452 Mon Sep 17 00:00:00 2001 From: Alyssa Ross Date: Fri, 14 Feb 2025 10:43:59 +0100 Subject: [PATCH 57/62] npth.meta.mainProgram: remove non-existent npth hasn't come with any executables since 1.7. Fixes: f44a9f89a9eb ("npth: 1.6 -> 1.7") --- pkgs/by-name/np/npth/package.nix | 1 - 1 file changed, 1 deletion(-) diff --git a/pkgs/by-name/np/npth/package.nix b/pkgs/by-name/np/npth/package.nix index 16e386e72143..646102b031a0 100644 --- a/pkgs/by-name/np/npth/package.nix +++ b/pkgs/by-name/np/npth/package.nix @@ -34,7 +34,6 @@ stdenv.mkDerivation rec { meta = with lib; { description = "New GNU Portable Threads Library"; - mainProgram = "npth-config"; longDescription = '' This is a library to provide the GNU Pth API and thus a non-preemptive threads implementation. From 6a8151a2aa578595f1ffd6969e7b3b9af6beef53 Mon Sep 17 00:00:00 2001 From: Gaetan Lepage Date: Fri, 14 Feb 2025 11:02:58 +0100 Subject: [PATCH 58/62] volta: cleanup --- pkgs/by-name/vo/volta/package.nix | 56 ++++++++++++++++++++----------- 1 file changed, 36 insertions(+), 20 deletions(-) diff --git a/pkgs/by-name/vo/volta/package.nix b/pkgs/by-name/vo/volta/package.nix index 84ca9c358e21..baf2030aa164 100644 --- a/pkgs/by-name/vo/volta/package.nix +++ b/pkgs/by-name/vo/volta/package.nix @@ -1,11 +1,13 @@ { lib, - rustPlatform, - libiconv, stdenv, - installShellFiles, - darwin, + rustPlatform, fetchFromGitHub, + installShellFiles, + buildPackages, + writableTmpDirAsHomeHook, + versionCheckHook, + nix-update-script, }: rustPlatform.buildRustPackage rec { pname = "volta"; @@ -21,22 +23,35 @@ rustPlatform.buildRustPackage rec { useFetchCargoVendor = true; cargoHash = "sha256-xlqsubkaX2A6d5MIcGf9E0b11Gzneksgku0jvW+UdbE="; - buildInputs = - [ installShellFiles ] - ++ lib.optionals stdenv.hostPlatform.isDarwin [ - darwin.apple_sdk.frameworks.Security - libiconv - ]; + buildInputs = [ installShellFiles ]; - HOME = "$TMPDIR"; + postInstall = + let + emulator = stdenv.hostPlatform.emulator buildPackages; + in + '' + installShellCompletion --cmd volta \ + --bash <(${emulator} $out/bin/volta completions bash) \ + --fish <(${emulator} $out/bin/volta completions fish) \ + --zsh <(${emulator} $out/bin/volta completions zsh) + ''; - postInstall = lib.optionalString (stdenv.buildPlatform.canExecute stdenv.hostPlatform) '' - installShellCompletion --cmd volta \ - --bash <($out/bin/volta completions bash) \ - --fish <($out/bin/volta completions fish) \ - --zsh <($out/bin/volta completions zsh) - ''; - meta = with lib; { + nativeCheckInputs = [ + writableTmpDirAsHomeHook + ]; + + nativeInstallCheckInputs = [ + versionCheckHook + ]; + versionCheckProgramArg = [ "--version" ]; + # Tries to create /var/empty/.volta as $HOME is not writable + doInstallCheck = !stdenv.hostPlatform.isDarwin; + + passthru = { + updateScript = nix-update-script { }; + }; + + meta = { description = "Hassle-Free JavaScript Tool Manager"; longDescription = '' With Volta, you can select a Node engine once and then stop worrying @@ -50,7 +65,8 @@ rustPlatform.buildRustPackage rec { ''; homepage = "https://volta.sh/"; changelog = "https://github.com/volta-cli/volta/blob/main/RELEASES.md"; - license = with licenses; [ bsd2 ]; - maintainers = with maintainers; [ fbrs ]; + license = with lib.licenses; [ bsd2 ]; + maintainers = with lib.maintainers; [ fbrs ]; + mainProgram = "volta"; }; } From 705197828d78a5973940cb6d30d0ea27ad893068 Mon Sep 17 00:00:00 2001 From: ZHAO Jin-Xiang Date: Fri, 14 Feb 2025 18:23:27 +0800 Subject: [PATCH 59/62] affine: cleaning --- pkgs/by-name/af/affine/package.nix | 390 ++++++++++++++--------------- 1 file changed, 194 insertions(+), 196 deletions(-) diff --git a/pkgs/by-name/af/affine/package.nix b/pkgs/by-name/af/affine/package.nix index 5b6e9caa9e79..0c8211f10b52 100644 --- a/pkgs/by-name/af/affine/package.nix +++ b/pkgs/by-name/af/affine/package.nix @@ -1,23 +1,24 @@ { - cacert, - cargo, - copyDesktopItems, - fetchFromGitHub, - fetchurl, - findutils, - jq, lib, - makeDesktopItem, - makeWrapper, - rsync, - rustPlatform, - rustc, stdenv, stdenvNoCC, - yarn-berry, - zip, + fetchFromGitHub, + rustPlatform, electron_33, nodejs_20, + yarn-berry, + cacert, + writableTmpDirAsHomeHook, + cargo, + rustc, + findutils, + zip, + rsync, + jq, + copyDesktopItems, + makeWrapper, + makeDesktopItem, + nix-update-script, buildType ? "stable", commandLineArgs ? "", }: @@ -34,213 +35,210 @@ let electron = electron_33; nodejs = nodejs_20; yarn = yarn-berry.override { inherit nodejs; }; + productName = if buildType != "stable" then "AFFiNE-${buildType}" else "AFFiNE"; + binName = lib.toLower productName; in -stdenv.mkDerivation ( - finalAttrs: - ( - { - productName = if buildType == "stable" then "AFFiNE" else "AFFiNE-" + buildType; - binName = lib.toLower finalAttrs.productName; - pname = finalAttrs.binName; +stdenv.mkDerivation (finalAttrs: { + pname = binName; - # https://github.com/toeverything/AFFiNE/releases/tag/v0.18.1 - version = "0.18.1"; - GITHUB_SHA = "8b066a4b398aace25a20508a8e3c1a381721971f"; - src = fetchFromGitHub { - owner = "toeverything"; - repo = "AFFiNE"; - rev = finalAttrs.GITHUB_SHA; - hash = "sha256-TWwojG3lqQlQFX3BKoFjJ27a3T/SawXgNDO6fP6gW4k="; - }; + version = "0.18.1"; + src = fetchFromGitHub { + owner = "toeverything"; + repo = "AFFiNE"; + tag = "v${finalAttrs.version}"; + hash = "sha256-TWwojG3lqQlQFX3BKoFjJ27a3T/SawXgNDO6fP6gW4k="; + }; - meta = - { - description = "Workspace with fully merged docs, whiteboards and databases"; - longDescription = '' - AFFiNE is an open-source, all-in-one workspace and an operating - system for all the building blocks that assemble your knowledge - base and much more -- wiki, knowledge management, presentation - and digital assets - ''; - homepage = "https://affine.pro/"; - license = lib.licenses.mit; - maintainers = with lib.maintainers; [ xiaoxiangmoe ]; - platforms = [ - "aarch64-darwin" - "aarch64-linux" - "x86_64-darwin" - "x86_64-linux" - ]; - sourceProvenance = [ lib.sourceTypes.fromSource ]; - } - // lib.optionalAttrs hostPlatform.isLinux { - mainProgram = finalAttrs.binName; - }; - - env = { - BUILD_TYPE = buildType; - }; - cargoDeps = rustPlatform.fetchCargoVendor { - src = finalAttrs.src; - hash = "sha256-5s/X9CD/H9rSn7SqMHioLg1KRP7y9fsozdFRY3hNiP8="; - }; - yarnOfflineCache = stdenvNoCC.mkDerivation { - name = "yarn-offline-cache"; - src = finalAttrs.src; - nativeBuildInputs = [ - yarn - cacert - ]; + cargoDeps = rustPlatform.fetchCargoVendor { + inherit (finalAttrs) pname version src; + hash = "sha256-5s/X9CD/H9rSn7SqMHioLg1KRP7y9fsozdFRY3hNiP8="; + }; + yarnOfflineCache = stdenvNoCC.mkDerivation { + name = "yarn-offline-cache"; + inherit (finalAttrs) src; + nativeBuildInputs = [ + yarn + cacert + writableTmpDirAsHomeHook + ]; + # force yarn install run in CI mode + env.CI = "1"; + buildPhase = + let supportedArchitectures = builtins.toJSON { os = [ "darwin" "linux" ]; cpu = [ - "arm64" "x64" + "ia32" + "arm64" ]; libc = [ "glibc" "musl" ]; }; - buildPhase = '' - export HOME="$NIX_BUILD_TOP" - export CI=1 - - mkdir -p $out - yarn config set enableTelemetry false - yarn config set cacheFolder $out - yarn config set enableGlobalCache false - yarn config set supportedArchitectures --json "$supportedArchitectures" - - yarn install --immutable --mode=skip-build - ''; - dontInstall = true; - outputHashMode = "recursive"; - outputHash = "sha256-HueTia+1ApfvbBK/b+iE84TB1DCWIDLoQ9XhjYlGCUs="; - }; - nativeBuildInputs = - [ - nodejs - yarn - cargo - rustc - findutils - zip - jq - rsync - ] - ++ lib.optionals hostPlatform.isLinux [ - copyDesktopItems - makeWrapper - ]; - - patchPhase = '' - runHook prePatchPhase - - sed -i '/packagerConfig/a \ electronZipDir: process.env.ELECTRON_FORGE_ELECTRON_ZIP_DIR,' packages/frontend/apps/electron/forge.config.mjs - - runHook postPatchPhase - ''; - - configurePhase = - let - electronContentPath = - electron + (if hostPlatform.isLinux then "/libexec/electron/" else "/Applications/"); - in - '' - runHook preConfigurePhase - - export HOME="$NIX_BUILD_TOP" - export CI=1 - - # cargo config - mkdir -p .cargo - cat $cargoDeps/.cargo/config.toml >> .cargo/config.toml - ln -s $cargoDeps @vendor@ - - # yarn config - yarn config set enableTelemetry false - yarn config set enableGlobalCache false - yarn config set cacheFolder $yarnOfflineCache - - # electron config - ELECTRON_VERSION_IN_LOCKFILE=$(yarn why electron --json | tail --lines 1 | jq --raw-output '.children | to_entries | first | .key ' | cut -d : -f 2) - rsync --archive --chmod=u+w ${electronContentPath} $HOME/.electron-prebuilt-zip-tmp - export ELECTRON_FORGE_ELECTRON_ZIP_DIR=$PWD/.electron_zip_dir - mkdir -p $ELECTRON_FORGE_ELECTRON_ZIP_DIR - (cd $HOME/.electron-prebuilt-zip-tmp && zip --recurse-paths - .) > $ELECTRON_FORGE_ELECTRON_ZIP_DIR/electron-v$ELECTRON_VERSION_IN_LOCKFILE-${nodePlatform}-${nodeArch}.zip - export ELECTRON_SKIP_BINARY_DOWNLOAD=1 - - runHook postConfigurePhase - ''; - buildPhase = '' + in + '' runHook preBuild - # first build - yarn workspaces focus @affine/electron @affine/monorepo - CARGO_NET_OFFLINE=true yarn workspace @affine/native build - BUILD_TYPE=${buildType} SKIP_NX_CACHE=1 yarn workspace @affine/electron generate-assets + mkdir -p $out + yarn config set enableTelemetry false + yarn config set cacheFolder $out + yarn config set enableGlobalCache false + yarn config set supportedArchitectures --json '${supportedArchitectures}' - # second build - yarn config set nmMode classic - yarn config set nmHoistingLimits workspaces - find . -name 'node_modules' -type d -prune -exec rm -rf '{}' + - yarn workspaces focus @affine/electron @affine/monorepo - BUILD_TYPE=${buildType} SKIP_WEB_BUILD=1 SKIP_BUNDLE=1 HOIST_NODE_MODULES=1 yarn workspace @affine/electron make + yarn install --immutable --mode=skip-build runHook postBuild ''; - installPhase = - let - inherit (finalAttrs) binName productName; - in - if hostPlatform.isDarwin then - '' - runHook preInstall + dontInstall = true; + outputHashMode = "recursive"; + outputHash = "sha256-HueTia+1ApfvbBK/b+iE84TB1DCWIDLoQ9XhjYlGCUs="; + }; + nativeBuildInputs = + [ + nodejs + yarn + cargo + rustc + findutils + zip + jq + rsync + writableTmpDirAsHomeHook + ] + ++ lib.optionals hostPlatform.isLinux [ + copyDesktopItems + makeWrapper + ]; - mkdir -p $out/Applications - mv packages/frontend/apps/electron/out/${buildType}/${productName}-darwin-${nodeArch}/${productName}.app $out/Applications + # force yarn install run in CI mode + env.CI = "1"; - runHook postInstall - '' - else - '' - runHook preInstall + # Remove code under The AFFiNE Enterprise Edition (EE) license. + # Keep file package.json for `yarn install --immutable` lockfile check. + postPatch = '' + BACKEND_SERVER_PACKAGE_JSON="$(jq 'del(.scripts.postinstall)' packages/backend/server/package.json)" + rm -rf packages/backend/server/{.*,*} + echo "$BACKEND_SERVER_PACKAGE_JSON" > packages/backend/server/package.json + ''; + patchPhase = '' + runHook prePatchPhase - mkdir --parents $out/lib/${binName}/ - mv packages/frontend/apps/electron/out/${buildType}/${productName}-linux-${nodeArch}/{resources,LICENSE*} $out/lib/${binName}/ - install -Dm644 packages/frontend/apps/electron/resources/icons/icon_${buildType}_64x64.png $out/share/icons/hicolor/64x64/apps/${binName}.png + sed -i '/packagerConfig/a \ electronZipDir: process.env.ELECTRON_FORGE_ELECTRON_ZIP_DIR,' packages/frontend/apps/electron/forge.config.mjs - makeWrapper "${electron}/bin/electron" $out/bin/${binName} \ - --inherit-argv0 \ - --add-flags $out/lib/${binName}/resources/app.asar \ - --add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform-hint=auto --enable-features=WaylandWindowDecorations --enable-wayland-ime=true}}" \ - --add-flags ${lib.escapeShellArg commandLineArgs} + runHook postPatchPhase + ''; - runHook postInstall - ''; - } - // (lib.optionalAttrs hostPlatform.isLinux { - desktopItems = - let - inherit (finalAttrs) binName productName; - in - [ - (makeDesktopItem { - name = binName; - desktopName = productName; - comment = "AFFiNE Desktop App"; - exec = "${binName} %U"; - terminal = false; - icon = binName; - startupWMClass = binName; - categories = [ "Utility" ]; - mimeTypes = [ "x-scheme-handler/${binName}" ]; - }) - ]; + configurePhase = '' + runHook preConfigurePhase + + # cargo config + mkdir -p .cargo + cat $cargoDeps/.cargo/config.toml >> .cargo/config.toml + ln -s $cargoDeps @vendor@ + + # yarn config + yarn config set enableTelemetry false + yarn config set enableGlobalCache false + yarn config set cacheFolder $yarnOfflineCache + + # electron config + ELECTRON_VERSION_IN_LOCKFILE=$(yarn why electron --json | tail --lines 1 | jq --raw-output '.children | to_entries | first | .key ' | cut -d : -f 2) + rsync --archive --chmod=u+w "${electron.dist}/" $HOME/.electron-prebuilt-zip-tmp + export ELECTRON_FORGE_ELECTRON_ZIP_DIR=$PWD/.electron_zip_dir + mkdir -p $ELECTRON_FORGE_ELECTRON_ZIP_DIR + (cd $HOME/.electron-prebuilt-zip-tmp && zip --recurse-paths - .) > $ELECTRON_FORGE_ELECTRON_ZIP_DIR/electron-v$ELECTRON_VERSION_IN_LOCKFILE-${nodePlatform}-${nodeArch}.zip + export ELECTRON_SKIP_BINARY_DOWNLOAD=1 + + runHook postConfigurePhase + ''; + + buildPhase = '' + runHook preBuild + + # first build + yarn workspaces focus @affine/electron @affine/monorepo + CARGO_NET_OFFLINE=true yarn workspace @affine/native build + GITHUB_SHA=ffffffffffffffffffffffffffffffffffffffff BUILD_TYPE=${buildType} SKIP_NX_CACHE=1 yarn workspace @affine/electron generate-assets + + # second build + yarn config set nmMode classic + yarn config set nmHoistingLimits workspaces + find . -name 'node_modules' -type d -prune -exec rm -rf '{}' + + yarn workspaces focus @affine/electron @affine/monorepo + BUILD_TYPE=${buildType} SKIP_WEB_BUILD=1 SKIP_BUNDLE=1 HOIST_NODE_MODULES=1 yarn workspace @affine/electron make + + runHook postBuild + ''; + + installPhase = + if hostPlatform.isDarwin then + '' + runHook preInstall + + mkdir -p $out/Applications + mv packages/frontend/apps/electron/out/${buildType}/${productName}-darwin-${nodeArch}/${productName}.app $out/Applications + + runHook postInstall + '' + else + '' + runHook preInstall + + mkdir --parents $out/lib/${binName}/ + mv packages/frontend/apps/electron/out/${buildType}/${productName}-linux-${nodeArch}/{resources,LICENSE*} $out/lib/${binName}/ + install -Dm644 packages/frontend/apps/electron/resources/icons/icon_${buildType}_64x64.png $out/share/icons/hicolor/64x64/apps/${binName}.png + + makeWrapper "${lib.getExe electron}" $out/bin/${binName} \ + --inherit-argv0 \ + --add-flags $out/lib/${binName}/resources/app.asar \ + --add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform-hint=auto --enable-features=WaylandWindowDecorations --enable-wayland-ime=true}}" \ + --add-flags ${lib.escapeShellArg commandLineArgs} + + runHook postInstall + ''; + + desktopItems = [ + (makeDesktopItem { + name = binName; + desktopName = productName; + comment = "AFFiNE Desktop App"; + exec = "${binName} %U"; + terminal = false; + icon = binName; + startupWMClass = binName; + categories = [ "Utility" ]; + mimeTypes = [ "x-scheme-handler/${binName}" ]; }) - ) -) + ]; + + passthru.updateScript = nix-update-script { + extraArgs = [ + "--version-regex=^v(\\d+\\.\\d+\\.\\d+)$" + ]; + }; + + meta = { + description = "Workspace with fully merged docs, whiteboards and databases"; + longDescription = '' + AFFiNE is an open-source, all-in-one workspace and an operating + system for all the building blocks that assemble your knowledge + base and much more -- wiki, knowledge management, presentation + and digital assets + ''; + homepage = "https://affine.pro/"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ xiaoxiangmoe ]; + platforms = [ + "aarch64-darwin" + "aarch64-linux" + "x86_64-darwin" + "x86_64-linux" + ]; + sourceProvenance = [ lib.sourceTypes.fromSource ]; + }; +}) From a40c55f88f8ec53b308e5e84a297ce185e4468fd Mon Sep 17 00:00:00 2001 From: ZHAO Jin-Xiang Date: Tue, 4 Feb 2025 01:44:23 +0800 Subject: [PATCH 60/62] affine: 0.18.1 -> 0.19.6 --- pkgs/by-name/af/affine/package.nix | 25 +++++++++---------------- 1 file changed, 9 insertions(+), 16 deletions(-) diff --git a/pkgs/by-name/af/affine/package.nix b/pkgs/by-name/af/affine/package.nix index 0c8211f10b52..2d4b018bc060 100644 --- a/pkgs/by-name/af/affine/package.nix +++ b/pkgs/by-name/af/affine/package.nix @@ -41,17 +41,17 @@ in stdenv.mkDerivation (finalAttrs: { pname = binName; - version = "0.18.1"; + version = "0.19.6"; src = fetchFromGitHub { owner = "toeverything"; repo = "AFFiNE"; tag = "v${finalAttrs.version}"; - hash = "sha256-TWwojG3lqQlQFX3BKoFjJ27a3T/SawXgNDO6fP6gW4k="; + hash = "sha256-BydTNE36oRIxr2lTnc2+EY0lvMXn4NTLB4EjqzhdjGk="; }; cargoDeps = rustPlatform.fetchCargoVendor { inherit (finalAttrs) pname version src; - hash = "sha256-5s/X9CD/H9rSn7SqMHioLg1KRP7y9fsozdFRY3hNiP8="; + hash = "sha256-racjpf0VgNod6OxWKSaCbKS9fEkInpDyhVbAHfYWIDo="; }; yarnOfflineCache = stdenvNoCC.mkDerivation { name = "yarn-offline-cache"; @@ -96,7 +96,7 @@ stdenv.mkDerivation (finalAttrs: { ''; dontInstall = true; outputHashMode = "recursive"; - outputHash = "sha256-HueTia+1ApfvbBK/b+iE84TB1DCWIDLoQ9XhjYlGCUs="; + outputHash = "sha256-E9l5zjOOfyDBzYJOU94VrRvt7Hi4XkRTDav9bVlXvlQ="; }; nativeBuildInputs = [ @@ -125,13 +125,6 @@ stdenv.mkDerivation (finalAttrs: { rm -rf packages/backend/server/{.*,*} echo "$BACKEND_SERVER_PACKAGE_JSON" > packages/backend/server/package.json ''; - patchPhase = '' - runHook prePatchPhase - - sed -i '/packagerConfig/a \ electronZipDir: process.env.ELECTRON_FORGE_ELECTRON_ZIP_DIR,' packages/frontend/apps/electron/forge.config.mjs - - runHook postPatchPhase - ''; configurePhase = '' runHook preConfigurePhase @@ -161,16 +154,16 @@ stdenv.mkDerivation (finalAttrs: { runHook preBuild # first build - yarn workspaces focus @affine/electron @affine/monorepo - CARGO_NET_OFFLINE=true yarn workspace @affine/native build - GITHUB_SHA=ffffffffffffffffffffffffffffffffffffffff BUILD_TYPE=${buildType} SKIP_NX_CACHE=1 yarn workspace @affine/electron generate-assets + yarn install + CARGO_NET_OFFLINE=true yarn affine @affine/native build + GITHUB_SHA=ffffffffffffffffffffffffffffffffffffffff BUILD_TYPE=${buildType} SKIP_NX_CACHE=1 yarn affine @affine/electron generate-assets # second build yarn config set nmMode classic yarn config set nmHoistingLimits workspaces find . -name 'node_modules' -type d -prune -exec rm -rf '{}' + - yarn workspaces focus @affine/electron @affine/monorepo - BUILD_TYPE=${buildType} SKIP_WEB_BUILD=1 SKIP_BUNDLE=1 HOIST_NODE_MODULES=1 yarn workspace @affine/electron make + yarn install + BUILD_TYPE=${buildType} SKIP_WEB_BUILD=1 SKIP_BUNDLE=1 HOIST_NODE_MODULES=1 yarn affine @affine/electron make runHook postBuild ''; From 4d714e967db191e1d947bce4c53f1082595872c5 Mon Sep 17 00:00:00 2001 From: natsukium Date: Fri, 14 Feb 2025 20:50:07 +0900 Subject: [PATCH 61/62] terraform-providers.sakuracloud: init at 2.26.1 --- .../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 870de8c0b5ba..da2363af3bda 100644 --- a/pkgs/applications/networking/cluster/terraform-providers/providers.json +++ b/pkgs/applications/networking/cluster/terraform-providers/providers.json @@ -1092,6 +1092,15 @@ "spdx": "MPL-2.0", "vendorHash": null }, + "sakuracloud": { + "hash": "sha256-KrzqIAK6ImUW22Iik97R4HARoXN4lG6AquitLjCqS/A=", + "homepage": "https://registry.terraform.io/providers/sacloud/sakuracloud", + "owner": "sacloud", + "repo": "terraform-provider-sakuracloud", + "rev": "v2.26.1", + "spdx": "Apache-2.0", + "vendorHash": "sha256-Ry791h5AuYP03nex9nM8X5Mk6PeL7hNDbFyVRvVPJNE=" + }, "scaleway": { "hash": "sha256-8aESalFQaA6Qwod4rDeUzrKe80rbHfVJZIKtLliKUME=", "homepage": "https://registry.terraform.io/providers/scaleway/scaleway", From 62172c1d3a55eb82a277908f045ebac7db272e9a Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Sat, 14 Dec 2024 00:42:38 +0000 Subject: [PATCH 62/62] ocamlPackages.qcheck-core: 0.22 -> 0.23 --- pkgs/development/ocaml-modules/qcheck/core.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/ocaml-modules/qcheck/core.nix b/pkgs/development/ocaml-modules/qcheck/core.nix index a2e5d8910dc1..1e90ac725bee 100644 --- a/pkgs/development/ocaml-modules/qcheck/core.nix +++ b/pkgs/development/ocaml-modules/qcheck/core.nix @@ -6,7 +6,7 @@ buildDunePackage rec { pname = "qcheck-core"; - version = "0.22"; + version = "0.23"; minimalOCamlVersion = "4.08"; @@ -14,7 +14,7 @@ buildDunePackage rec { owner = "c-cube"; repo = "qcheck"; rev = "v${version}"; - hash = "sha256-JXnrfce/V7Bdu8uH98ZJCLjIHZoONiQ02ltFx6Fbvhg="; + hash = "sha256-tH7NFpAFKOb0jXxLK+zNOIZS9TSORKXe8FuwY13iEUY="; }; meta = {