From 5d9bf3bf5d2edbc6e49018aac51569018d0420d7 Mon Sep 17 00:00:00 2001 From: Zhong Jianxin Date: Thu, 26 Jun 2025 19:05:23 +0800 Subject: [PATCH 01/62] chameleon-cli: init at 2.0.0-unstable-2025-08-01 --- pkgs/by-name/ch/chameleon-cli/package.nix | 91 +++++++++++++++++++++++ pkgs/by-name/ch/chameleon-cli/update.sh | 18 +++++ 2 files changed, 109 insertions(+) create mode 100644 pkgs/by-name/ch/chameleon-cli/package.nix create mode 100755 pkgs/by-name/ch/chameleon-cli/update.sh diff --git a/pkgs/by-name/ch/chameleon-cli/package.nix b/pkgs/by-name/ch/chameleon-cli/package.nix new file mode 100644 index 000000000000..fec07c514110 --- /dev/null +++ b/pkgs/by-name/ch/chameleon-cli/package.nix @@ -0,0 +1,91 @@ +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch, + cmake, + makeWrapper, + xz, + python3, +}: + +let + # https://github.com/RfidResearchGroup/ChameleonUltra/blob/main/software/script/requirements.txt + pythonPath = + with python3.pkgs; + makePythonPath [ + colorama + prompt-toolkit + pyserial + ]; +in + +stdenv.mkDerivation (finalAttrs: { + pname = "chameleon-cli"; + version = "2.0.0-unstable-2025-08-04"; + + src = fetchFromGitHub { + owner = "RfidResearchGroup"; + repo = "ChameleonUltra"; + rev = "098e0a914b206900f7ea7ae7265486c4349ab644"; + sparseCheckout = [ "software" ]; + hash = "sha256-WKxP4jLHkTqBO+nwxhr8DRb3TzDIMlwjA4v+6txQbDo="; + }; + + sourceRoot = "${finalAttrs.src.name}/software"; + + patches = [ + # Use execute_tool to simplify running hardnested tool, + # also fix when the dir conatains hardnested is read only + # https://github.com/RfidResearchGroup/ChameleonUltra/pull/266 + (fetchpatch { + url = "https://github.com/RfidResearchGroup/ChameleonUltra/commit/39270fd09ee61ef0659bf3b79ffa4d2b27f3ba63.patch"; + hash = "sha256-OlHQ2cL+NFdTsSPFI9geg3dabATRjyKxGp5gGG+eDl8="; + stripLen = 1; + }) + ]; + + postPatch = '' + substituteInPlace src/CMakeLists.txt \ + --replace-fail "liblzma" "lzma" \ + --replace-fail "FetchContent_MakeAvailable(xz)" "" + ''; + + nativeBuildInputs = [ + cmake + makeWrapper + ]; + + buildInputs = [ + xz + ]; + + cmakeFlags = [ + "-S" + "../src" + ]; + + installPhase = '' + runHook preInstall + + mkdir -p $out/libexec + cp -r ../script/* $out/libexec + rm -r $out/libexec/tests + rm $out/libexec/requirements.txt + makeWrapper ${lib.getExe python3} $out/bin/chameleon-cli \ + --add-flags "$out/libexec/chameleon_cli_main.py" \ + --prefix PYTHONPATH : ${pythonPath} + + runHook postInstall + ''; + + passthru.updateScript = ./update.sh; + + meta = { + description = "Command line interface for Chameleon Ultra"; + homepage = "https://github.com/RfidResearchGroup/ChameleonUltra"; + license = lib.licenses.gpl3Only; + mainProgram = "chameleon-cli"; + maintainers = with lib.maintainers; [ azuwis ]; + }; +}) diff --git a/pkgs/by-name/ch/chameleon-cli/update.sh b/pkgs/by-name/ch/chameleon-cli/update.sh new file mode 100755 index 000000000000..2875b72ffacd --- /dev/null +++ b/pkgs/by-name/ch/chameleon-cli/update.sh @@ -0,0 +1,18 @@ +#!/usr/bin/env nix-shell +#!nix-shell -i bash -p coreutils nix-update + +# This update script exists, because nix-update is unable to ignore `dev` +# tags that exist on the upstream repo. +# +# Once https://github.com/Mic92/nix-update/issues/322 is resolved it can be +# removed. + +set -exuo pipefail + +cd "$(git rev-parse --show-toplevel)" + +nix-update --version=branch chameleon-cli + +tag=$(git ls-remote --tags --refs --sort='-version:refname' https://github.com/RfidResearchGroup/ChameleonUltra.git 'v*' | head -n 1 | cut --delimiter=/ --field=3-) +tag="${tag#v}" +sed -i -e 's|version = "[^-]*-unstable-|version = "'"${tag}"'-unstable-|' pkgs/by-name/ch/chameleon-cli/package.nix From 9652ffd5c118b89a7ca7d9982f57d414718e1606 Mon Sep 17 00:00:00 2001 From: Guillaume Girol Date: Mon, 11 Aug 2025 12:00:00 +0000 Subject: [PATCH 02/62] kdiskmark: 3.1.4 -> 3.2.0 changelog: https://github.com/JonMagon/KDiskMark/releases/tag/3.2.0 --- pkgs/tools/filesystems/kdiskmark/default.nix | 10 +++++----- pkgs/top-level/all-packages.nix | 2 +- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/pkgs/tools/filesystems/kdiskmark/default.nix b/pkgs/tools/filesystems/kdiskmark/default.nix index 2f9f09fdc9d3..c401567ed9b4 100644 --- a/pkgs/tools/filesystems/kdiskmark/default.nix +++ b/pkgs/tools/filesystems/kdiskmark/default.nix @@ -6,19 +6,19 @@ qttools, fio, cmake, - polkit-qt, + polkit-qt-1, extra-cmake-modules, fetchFromGitHub, }: stdenv.mkDerivation rec { pname = "kdiskmark"; - version = "3.1.4"; + version = "3.2.0"; src = fetchFromGitHub { owner = "jonmagon"; repo = "kdiskmark"; rev = version; - hash = "sha256-JueY7zw9PIo9ETi7pQLpw8FGRhNXYXeXEvTzZGz9lbw="; + hash = "sha256-b42PNUrG10RyGct6dPtdT89oO222tEovkSPoRcROfaQ="; fetchSubmodules = true; }; @@ -31,12 +31,12 @@ stdenv.mkDerivation rec { buildInputs = [ qtbase qttools - polkit-qt + polkit-qt-1 ]; preConfigure = '' substituteInPlace CMakeLists.txt \ - --replace \$\{POLKITQT-1_POLICY_FILES_INSTALL_DIR\} $out/share/polkit-1/actions + --replace-fail \$\{POLKITQT-1_POLICY_FILES_INSTALL_DIR\} $out/share/polkit-1/actions ''; qtWrapperArgs = [ diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 19ea2ce1706d..80b987fb55db 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -3400,7 +3400,7 @@ with pkgs; kaffeine = libsForQt5.callPackage ../applications/video/kaffeine { }; - kdiskmark = libsForQt5.callPackage ../tools/filesystems/kdiskmark { }; + kdiskmark = kdePackages.callPackage ../tools/filesystems/kdiskmark { }; keepkey-agent = with python3Packages; toPythonApplication keepkey-agent; From 7f43376cee4cd694fdcca893d518dd14f80f0783 Mon Sep 17 00:00:00 2001 From: Leona Maroni Date: Wed, 13 Aug 2025 14:00:38 +0200 Subject: [PATCH 03/62] gitlab: 18.2.1 -> 18.2.2 https://about.gitlab.com/releases/2025/08/13/patch-release-gitlab-18-2-2-released/ Also includes yet another bug fix for a gitlab-container-registry test. --- pkgs/by-name/gi/gitaly/package.nix | 4 ++-- .../fix-broken-urlcache-tests.diff | 22 +++++++++++++++++++ .../gi/gitlab-container-registry/package.nix | 12 +++++++--- pkgs/by-name/gi/gitlab-pages/package.nix | 4 ++-- pkgs/by-name/gi/gitlab/data.json | 14 ++++++------ .../gi/gitlab/gitlab-workhorse/default.nix | 2 +- 6 files changed, 43 insertions(+), 15 deletions(-) create mode 100644 pkgs/by-name/gi/gitlab-container-registry/fix-broken-urlcache-tests.diff diff --git a/pkgs/by-name/gi/gitaly/package.nix b/pkgs/by-name/gi/gitaly/package.nix index 664edf9b73df..884cb31f11cb 100644 --- a/pkgs/by-name/gi/gitaly/package.nix +++ b/pkgs/by-name/gi/gitaly/package.nix @@ -7,7 +7,7 @@ }: let - version = "18.2.1"; + version = "18.2.2"; package_version = "v${lib.versions.major version}"; gitaly_package = "gitlab.com/gitlab-org/gitaly/${package_version}"; @@ -21,7 +21,7 @@ let owner = "gitlab-org"; repo = "gitaly"; rev = "v${version}"; - hash = "sha256-h4JklXImKwudJT3pb/UhHwQHKd87c5aSH1xYC0lRWKo="; + hash = "sha256-+OmduG9neb15m3i57qPfE42HI4w/zgmA5T6bhlwzrT0="; }; vendorHash = "sha256-RjDV4NGmmdT9STQBHiYf3UUYwPmuSg6970/W/ekxin0="; diff --git a/pkgs/by-name/gi/gitlab-container-registry/fix-broken-urlcache-tests.diff b/pkgs/by-name/gi/gitlab-container-registry/fix-broken-urlcache-tests.diff new file mode 100644 index 000000000000..2da75604d95f --- /dev/null +++ b/pkgs/by-name/gi/gitlab-container-registry/fix-broken-urlcache-tests.diff @@ -0,0 +1,22 @@ +diff --git a/registry/storage/driver/middleware/urlcache/urlcache_test.go b/registry/storage/driver/middleware/urlcache/urlcache_test.go +index 67ef4abc0e..6644c80837 100644 +--- a/registry/storage/driver/middleware/urlcache/urlcache_test.go ++++ b/registry/storage/driver/middleware/urlcache/urlcache_test.go +@@ -37,7 +37,7 @@ + name: "missing redis cache", + options: make(map[string]any), + wantErr: true, +- errContains: "urlcache middleware requires `cache` Redis configured", ++ errContains: "`_redisCache` key has not been passed to urlcache middleware", + }, + { + name: "default configuration with redis", +@@ -231,7 +231,7 @@ + "_redisCache": "not a redis cache", + }, + wantErr: true, +- errContains: "unusable redis cache object", ++ errContains: "redis cache passed to the middleware cannot be used as the type is wrong", + }, + } + diff --git a/pkgs/by-name/gi/gitlab-container-registry/package.nix b/pkgs/by-name/gi/gitlab-container-registry/package.nix index 217966c4b1eb..cbf8c0f80ede 100644 --- a/pkgs/by-name/gi/gitlab-container-registry/package.nix +++ b/pkgs/by-name/gi/gitlab-container-registry/package.nix @@ -6,7 +6,7 @@ buildGoModule rec { pname = "gitlab-container-registry"; - version = "4.25.0"; + version = "4.26.0"; rev = "v${version}-gitlab"; # nixpkgs-update: no auto update @@ -14,10 +14,16 @@ buildGoModule rec { owner = "gitlab-org"; repo = "container-registry"; inherit rev; - hash = "sha256-7jzKFC29NAHi5iag6aA/5LzH6IyqMa3yAxtzV9OsBnQ="; + hash = "sha256-XACKJW5sRXNM4Q24DXEVtjzhVfxoBd+JWHJr1s01ocA="; }; - vendorHash = "sha256-z9IlfyJ48FQzhbY38GbZaeQjg3cMDU8tLCXKhazP64A="; + patches = [ + # https://gitlab.com/gitlab-org/container-registry/-/merge_requests/2447 + # Can be removed with next released when merged + ./fix-broken-urlcache-tests.diff + ]; + + vendorHash = "sha256-J4p3vXLmDFYl/z6crqanlmG1FB4Dq04HLx9IhC3usQ4="; checkFlags = let diff --git a/pkgs/by-name/gi/gitlab-pages/package.nix b/pkgs/by-name/gi/gitlab-pages/package.nix index 452d624d23e2..e5d5874ba7bb 100644 --- a/pkgs/by-name/gi/gitlab-pages/package.nix +++ b/pkgs/by-name/gi/gitlab-pages/package.nix @@ -6,14 +6,14 @@ buildGoModule rec { pname = "gitlab-pages"; - version = "18.2.1"; + version = "18.2.2"; # nixpkgs-update: no auto update src = fetchFromGitLab { owner = "gitlab-org"; repo = "gitlab-pages"; rev = "v${version}"; - hash = "sha256-z1Pl3xeaoqeF/9qOVcuCpuciu1r6NQ4UhlLe9gy9+nE="; + hash = "sha256-PPa9SYyE3G+peP2xSpNw7WDDO7WiWKSRpd5tBODkA0g="; }; vendorHash = "sha256-OubXCpvGtGqegQmdb6R1zw/0DfQ4FdbJGt7qYYRnWnA="; diff --git a/pkgs/by-name/gi/gitlab/data.json b/pkgs/by-name/gi/gitlab/data.json index c170a0a5d80b..e14fe7e4fd69 100644 --- a/pkgs/by-name/gi/gitlab/data.json +++ b/pkgs/by-name/gi/gitlab/data.json @@ -1,15 +1,15 @@ { - "version": "18.2.1", - "repo_hash": "1i0y46w18476gn98fmkixdjiyrwajz2347p57dg2ijch4ivzpmlv", - "yarn_hash": "04mqinnbhr6zgab2p1bq6y6b20bf4c4cynkgfc67mzm9xhybr3fk", + "version": "18.2.2", + "repo_hash": "0fqpfprxmgxaz5g0d5z4gsir1zj9fkhli7iq1ahx413ymsiqrxd0", + "yarn_hash": "0c6njrciqcjaswh784yxly4qza6k2ghq1ljbdkcn65cna4f4hwgk", "owner": "gitlab-org", "repo": "gitlab", - "rev": "v18.2.1-ee", + "rev": "v18.2.2-ee", "passthru": { - "GITALY_SERVER_VERSION": "18.2.1", - "GITLAB_PAGES_VERSION": "18.2.1", + "GITALY_SERVER_VERSION": "18.2.2", + "GITLAB_PAGES_VERSION": "18.2.2", "GITLAB_SHELL_VERSION": "14.43.0", "GITLAB_ELASTICSEARCH_INDEXER_VERSION": "5.7.0", - "GITLAB_WORKHORSE_VERSION": "18.2.1" + "GITLAB_WORKHORSE_VERSION": "18.2.2" } } diff --git a/pkgs/by-name/gi/gitlab/gitlab-workhorse/default.nix b/pkgs/by-name/gi/gitlab/gitlab-workhorse/default.nix index 739a24476dec..2bec55c36570 100644 --- a/pkgs/by-name/gi/gitlab/gitlab-workhorse/default.nix +++ b/pkgs/by-name/gi/gitlab/gitlab-workhorse/default.nix @@ -10,7 +10,7 @@ in buildGoModule rec { pname = "gitlab-workhorse"; - version = "18.2.1"; + version = "18.2.2"; # nixpkgs-update: no auto update src = fetchFromGitLab { From a93581ee44ee4236a5b3c52f7a22682af7652447 Mon Sep 17 00:00:00 2001 From: Thomas Gerbet Date: Thu, 14 Aug 2025 10:48:12 +0200 Subject: [PATCH 04/62] nginxMainline: 1.27.5 -> 1.29.1 Fixes CVE-2025-53859 Changes: ``` Changes with nginx 1.29.1 13 Aug 2025 *) Security: processing of a specially crafted login/password when using the "none" authentication method in the ngx_mail_smtp_module might cause worker process memory disclosure to the authentication server (CVE-2025-53859). *) Change: now TLSv1.3 certificate compression is disabled by default. *) Feature: the "ssl_certificate_compression" directive. *) Feature: support for 0-RTT in QUIC when using OpenSSL 3.5.1 or newer. *) Bugfix: the 103 response might be buffered when using HTTP/2 and the "early_hints" directive. *) Bugfix: in handling "Host" and ":authority" header lines with equal values when using HTTP/2; the bug had appeared in 1.17.9. *) Bugfix: in handling "Host" header lines with a port when using HTTP/3. *) Bugfix: nginx could not be built on NetBSD 10.0. *) Bugfix: in the "none" parameter of the "smtp_auth" directive. Changes with nginx 1.29.0 24 Jun 2025 *) Feature: support for response code 103 from proxy and gRPC backends; the "early_hints" directive. *) Feature: loading of secret keys from hardware tokens with OpenSSL provider. *) Feature: support for the "so_keepalive" parameter of the "listen" directive on macOS. *) Change: the logging level of SSL errors in a QUIC handshake has been changed from "error" to "crit" for critical errors, and to "info" for the rest; the logging level of unsupported QUIC transport parameters has been lowered from "info" to "debug". *) Change: the native nginx/Windows binary release is now built using Windows SDK 10. *) Bugfix: nginx could not be built by gcc 15 if ngx_http_v2_module or ngx_http_v3_module modules were used. *) Bugfix: nginx might not be built by gcc 14 or newer with -O3 -flto optimization if ngx_http_v3_module was used. *) Bugfixes and improvements in HTTP/3. ``` --- pkgs/servers/http/nginx/mainline.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/servers/http/nginx/mainline.nix b/pkgs/servers/http/nginx/mainline.nix index e4ece30ec374..dece0210839e 100644 --- a/pkgs/servers/http/nginx/mainline.nix +++ b/pkgs/servers/http/nginx/mainline.nix @@ -1,6 +1,6 @@ { callPackage, ... }@args: callPackage ./generic.nix args { - version = "1.27.5"; - hash = "sha256-6WrOu5wqbbigAMPdGzLsuhuBDwzVhiMtTZIeN2Z03Q4="; + version = "1.29.1"; + hash = "sha256-xYn35+2AHdvZBK+/PeJq4k6wzOJ8dxei6U33+xLWrSc="; } From 1e104d9c99fdc8ae0376e17c33eaf8f18285e56c Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 14 Aug 2025 09:27:54 +0000 Subject: [PATCH 05/62] chatbox: 1.15.2 -> 1.15.4 --- pkgs/by-name/ch/chatbox/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/ch/chatbox/package.nix b/pkgs/by-name/ch/chatbox/package.nix index 87cabe193265..75d9a8577dea 100644 --- a/pkgs/by-name/ch/chatbox/package.nix +++ b/pkgs/by-name/ch/chatbox/package.nix @@ -6,11 +6,11 @@ }: let pname = "chatbox"; - version = "1.15.2"; + version = "1.15.4"; src = fetchurl { url = "https://download.chatboxai.app/releases/Chatbox-${version}-x86_64.AppImage"; - hash = "sha256-KxL073BIfZfjFndwtkDNXwlt1xny76BMV9CQF3x7ATQ="; + hash = "sha256-plKibAg1tv0Togt+Jlwm8qrTp7UbBmuEM20xKLi7bb4="; }; appimageContents = appimageTools.extract { inherit pname version src; }; From de548f7dae1fe3b1e818fdf410c95d4efe3934d4 Mon Sep 17 00:00:00 2001 From: Emmanuel Rosa Date: Sat, 12 Jul 2025 17:25:05 -0400 Subject: [PATCH 06/62] bitcoin: add gpg verification --- .../blockchains/bitcoin/default.nix | 57 +++++++++++++++++++ 1 file changed, 57 insertions(+) diff --git a/pkgs/applications/blockchains/bitcoin/default.nix b/pkgs/applications/blockchains/bitcoin/default.nix index 809f8665050f..1c63e4293929 100644 --- a/pkgs/applications/blockchains/bitcoin/default.nix +++ b/pkgs/applications/blockchains/bitcoin/default.nix @@ -2,6 +2,7 @@ lib, stdenv, fetchurl, + fetchFromGitHub, cmake, pkg-config, installShellFiles, @@ -23,6 +24,16 @@ withGui, withWallet ? true, enableTracing ? stdenv.hostPlatform.isLinux && !stdenv.hostPlatform.isStatic, + gnupg, + # Signatures from the following GPG public keys checked during verification of the source code. + # The list can be found at https://github.com/bitcoin-core/guix.sigs/tree/main/builder-keys + builderKeys ? [ + "152812300785C96444D3334D17565732E08E5E41" # achow101.gpg + "9EDAFF80E080659604F4A76B2EBB056FD847F8A7" # Emzy.gpg + "71A3B16735405025D447E8F274810B012346C9A6" # laanwj.gpg + "6B002C6EA3F91B1B0DF0C9BC8F617F1200A6D25C" # glozow.gpg + "D1DBF2C4B96F2DEBF4C16654410108112E7EA81F" # hebasto.gpg + ], }: let @@ -48,6 +59,7 @@ stdenv.mkDerivation (finalAttrs: { cmake pkg-config installShellFiles + gnupg ] ++ lib.optionals (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64) [ autoSignDarwinBinariesHook @@ -70,6 +82,51 @@ stdenv.mkDerivation (finalAttrs: { qttools ]; + preUnpack = + let + publicKeys = fetchFromGitHub { + owner = "bitcoin-core"; + repo = "guix.sigs"; + rev = "a788388207bd244d5ab07b31ecd6c126f213a6c6"; + sha256 = "sha256-gbenuEWP6pqY9ywPd/yZy6QfWI7jvSObwto27DRXjGI="; + }; + + checksums = fetchurl { + url = "https://bitcoincore.org/bin/bitcoin-core-${finalAttrs.version}/SHA256SUMS"; + hash = "sha256-lOwVH0UqIhOT0I9rAvswuqy+tZ8ZRhH0kGnn9VCbRv4="; + }; + + signatures = fetchurl { + url = "https://bitcoincore.org/bin/bitcoin-core-${finalAttrs.version}/SHA256SUMS.asc"; + hash = "sha256-s05cRmZ9aoPdSZTaz6D6qmVwX6OprqxynPn5vZQ7bbw="; + }; + + verifyBuilderKeys = + let + script = publicKey: '' + echo "Checking if public key ${publicKey} signed the checksum file..." + grep "^\[GNUPG:\] VALIDSIG .* ${publicKey}$" verify.log > /dev/null + echo "OK" + ''; + in + builtins.concatStringsSep "\n" (builtins.map script builderKeys); + in + '' + pushd $(mktemp -d) + export GNUPGHOME=$PWD/gnupg + mkdir -m 700 -p $GNUPGHOME + gpg --no-autostart --batch --import ${publicKeys}/builder-keys/* + ln -s ${checksums} ./SHA256SUMS + ln -s ${signatures} ./SHA256SUMS.asc + ln -s $src ./bitcoin-${finalAttrs.version}.tar.gz + gpg --no-autostart --batch --verify --status-fd 1 SHA256SUMS.asc SHA256SUMS > verify.log + ${verifyBuilderKeys} + grep bitcoin-${finalAttrs.version}.tar.gz SHA256SUMS > SHA256SUMS.filtered + echo "Verifying the checksum of bitcoin-${finalAttrs.version}.tar.gz..." + sha256sum -c SHA256SUMS.filtered + popd + ''; + postInstall = '' cd .. installShellCompletion --bash contrib/completions/bash/bitcoin-cli.bash From 9669d565852385a9f492a95d78e3cbd54dfe83a4 Mon Sep 17 00:00:00 2001 From: Emmanuel Rosa Date: Tue, 15 Jul 2025 15:40:40 -0400 Subject: [PATCH 07/62] bitcoin-knots: add gpg verification --- .../blockchains/bitcoin-knots/default.nix | 57 +++++++++++++++++++ 1 file changed, 57 insertions(+) diff --git a/pkgs/applications/blockchains/bitcoin-knots/default.nix b/pkgs/applications/blockchains/bitcoin-knots/default.nix index 53f57d737d2e..ef8f77e9709d 100644 --- a/pkgs/applications/blockchains/bitcoin-knots/default.nix +++ b/pkgs/applications/blockchains/bitcoin-knots/default.nix @@ -2,6 +2,7 @@ lib, stdenv, fetchurl, + fetchFromGitHub, autoreconfHook, pkg-config, util-linux, @@ -21,6 +22,14 @@ python3, withGui, withWallet ? true, + gnupg, + # Signatures from the following GPG public keys checked during verification of the source code. + # The list can be found at https://github.com/bitcoinknots/guix.sigs/tree/knots/builder-keys + builderKeys ? [ + "1A3E761F19D2CC7785C5502EA291A2C45D0C504A" # luke-jr.gpg + "32FE1E61B1C711186CA378DEFD8981F1BC41ABB9" # oomahq.gpg + "CACC7CBB26B3D2EE8FC2F2BC0E37EBAB8574F005" # leo-haf.gpg + ], }: stdenv.mkDerivation rec { @@ -35,6 +44,7 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ autoreconfHook pkg-config + gnupg ] ++ lib.optionals stdenv.hostPlatform.isLinux [ util-linux ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ hexdump ] @@ -58,6 +68,53 @@ stdenv.mkDerivation rec { qttools ]; + preUnpack = + let + majorVersion = lib.versions.major version; + + publicKeys = fetchFromGitHub { + owner = "bitcoinknots"; + repo = "guix.sigs"; + rev = "b998306d462f39b6077518521700d7156fec76b8"; + sha256 = "sha256-q4tumAfTr828AZNOa9ia7Y0PYoe6W47V/7SEApTzl3w="; + }; + + checksums = fetchurl { + url = "https://bitcoinknots.org/files/${majorVersion}.x/${version}/SHA256SUMS"; + hash = "sha256-xWJKaZBLm9H6AuMBSC21FLy/5TRUI0AQVIUF/2PvDhs="; + }; + + signatures = fetchurl { + url = "https://bitcoinknots.org/files/${majorVersion}.x/${version}/SHA256SUMS.asc"; + hash = "sha256-SywdBEzZqsf2aDeOs7J9n513RTCm+TJA/QYP5+h7Ifo="; + }; + + verifyBuilderKeys = + let + script = publicKey: '' + echo "Checking if public key ${publicKey} signed the checksum file..." + grep "^\[GNUPG:\] VALIDSIG .* ${publicKey}$" verify.log > /dev/null + echo "OK" + ''; + in + builtins.concatStringsSep "\n" (builtins.map script builderKeys); + in + '' + pushd $(mktemp -d) + export GNUPGHOME=$PWD/gnupg + mkdir -m 700 -p $GNUPGHOME + gpg --no-autostart --batch --import ${publicKeys}/builder-keys/* + ln -s ${checksums} ./SHA256SUMS + ln -s ${signatures} ./SHA256SUMS.asc + ln -s $src ./bitcoin-${version}.tar.gz + gpg --no-autostart --batch --verify --status-fd 1 SHA256SUMS.asc SHA256SUMS > verify.log + ${verifyBuilderKeys} + grep bitcoin-${version}.tar.gz SHA256SUMS > SHA256SUMS.filtered + echo "Verifying the checksum of bitcoin-${version}.tar.gz..." + sha256sum -c SHA256SUMS.filtered + popd + ''; + configureFlags = [ "--with-boost-libdir=${boost.out}/lib" "--disable-bench" From 24a5c97c3deeca31aaa26046283a76ae8608bc3b Mon Sep 17 00:00:00 2001 From: Pavol Rusnak Date: Wed, 13 Aug 2025 21:53:23 +0200 Subject: [PATCH 08/62] bitcoin-knots: use finalAttrs --- .../blockchains/bitcoin-knots/default.nix | 23 ++++++++++--------- 1 file changed, 12 insertions(+), 11 deletions(-) diff --git a/pkgs/applications/blockchains/bitcoin-knots/default.nix b/pkgs/applications/blockchains/bitcoin-knots/default.nix index ef8f77e9709d..49e97d731593 100644 --- a/pkgs/applications/blockchains/bitcoin-knots/default.nix +++ b/pkgs/applications/blockchains/bitcoin-knots/default.nix @@ -32,12 +32,13 @@ ], }: -stdenv.mkDerivation rec { +stdenv.mkDerivation (finalAttrs: { pname = if withGui then "bitcoin-knots" else "bitcoind-knots"; version = "28.1.knots20250305"; src = fetchurl { - url = "https://bitcoinknots.org/files/28.x/${version}/bitcoin-${version}.tar.gz"; + url = "https://bitcoinknots.org/files/28.x/${finalAttrs.version}/bitcoin-${finalAttrs.version}.tar.gz"; + # hash retrieved from signed SHA256SUMS hash = "sha256-DKO3+43Tn/BTKQVrLrCkeMtzm8SfbaJD8rPlb6lDA8A="; }; @@ -70,7 +71,7 @@ stdenv.mkDerivation rec { preUnpack = let - majorVersion = lib.versions.major version; + majorVersion = lib.versions.major finalAttrs.version; publicKeys = fetchFromGitHub { owner = "bitcoinknots"; @@ -80,12 +81,12 @@ stdenv.mkDerivation rec { }; checksums = fetchurl { - url = "https://bitcoinknots.org/files/${majorVersion}.x/${version}/SHA256SUMS"; + url = "https://bitcoinknots.org/files/${majorVersion}.x/${finalAttrs.version}/SHA256SUMS"; hash = "sha256-xWJKaZBLm9H6AuMBSC21FLy/5TRUI0AQVIUF/2PvDhs="; }; signatures = fetchurl { - url = "https://bitcoinknots.org/files/${majorVersion}.x/${version}/SHA256SUMS.asc"; + url = "https://bitcoinknots.org/files/${majorVersion}.x/${finalAttrs.version}/SHA256SUMS.asc"; hash = "sha256-SywdBEzZqsf2aDeOs7J9n513RTCm+TJA/QYP5+h7Ifo="; }; @@ -106,11 +107,11 @@ stdenv.mkDerivation rec { gpg --no-autostart --batch --import ${publicKeys}/builder-keys/* ln -s ${checksums} ./SHA256SUMS ln -s ${signatures} ./SHA256SUMS.asc - ln -s $src ./bitcoin-${version}.tar.gz + ln -s $src ./bitcoin-${finalAttrs.version}.tar.gz gpg --no-autostart --batch --verify --status-fd 1 SHA256SUMS.asc SHA256SUMS > verify.log ${verifyBuilderKeys} - grep bitcoin-${version}.tar.gz SHA256SUMS > SHA256SUMS.filtered - echo "Verifying the checksum of bitcoin-${version}.tar.gz..." + grep bitcoin-${finalAttrs.version}.tar.gz SHA256SUMS > SHA256SUMS.filtered + echo "Verifying the checksum of bitcoin-${finalAttrs.version}.tar.gz..." sha256sum -c SHA256SUMS.filtered popd ''; @@ -119,7 +120,7 @@ stdenv.mkDerivation rec { "--with-boost-libdir=${boost.out}/lib" "--disable-bench" ] - ++ lib.optionals (!doCheck) [ + ++ lib.optionals (!finalAttrs.doCheck) [ "--disable-tests" "--disable-gui-tests" ] @@ -147,7 +148,7 @@ stdenv.mkDerivation rec { meta = { description = "Derivative of Bitcoin Core with a collection of improvements"; homepage = "https://bitcoinknots.org/"; - changelog = "https://github.com/bitcoinknots/bitcoin/blob/v${version}/doc/release-notes.md"; + changelog = "https://github.com/bitcoinknots/bitcoin/blob/v${finalAttrs.version}/doc/release-notes.md"; maintainers = with lib.maintainers; [ prusnak mmahut @@ -155,4 +156,4 @@ stdenv.mkDerivation rec { license = lib.licenses.mit; platforms = lib.platforms.unix; }; -} +}) From 464279a9a07efba2934bcad3ddda8c21b2813561 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 14 Aug 2025 15:16:13 +0000 Subject: [PATCH 09/62] clouddrive2: 0.9.4 -> 0.9.5 --- pkgs/by-name/cl/clouddrive2/package.nix | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/pkgs/by-name/cl/clouddrive2/package.nix b/pkgs/by-name/cl/clouddrive2/package.nix index 8d5649807fc4..5c8bcfd3fa2b 100644 --- a/pkgs/by-name/cl/clouddrive2/package.nix +++ b/pkgs/by-name/cl/clouddrive2/package.nix @@ -11,16 +11,16 @@ let in stdenv.mkDerivation (finalAttrs: { pname = "clouddrive2"; - version = "0.9.4"; + version = "0.9.5"; src = fetchurl { url = "https://github.com/cloud-fs/cloud-fs.github.io/releases/download/v${finalAttrs.version}/clouddrive-2-${os}-${arch}-${finalAttrs.version}.tgz"; hash = { - x86_64-linux = "sha256-i6+YoZfCFaVcF7XO7wPo8AEpU0LrD4bcsIqLNz/V3aM="; - aarch64-linux = "sha256-BV+47uJnvH/Gapz7dACnXIM49x7u/MTdbXiFRGq2DVc="; - x86_64-darwin = "sha256-Jjsdx203akCmlveGZD1x8fO6V0N5d3AzGAFIAzgOkHs="; - aarch64-darwin = "sha256-DuSZoXTQyfC3CIwNGTsGuQNP410rK9qMBei5T7TZN7A="; + x86_64-linux = "sha256-Gsq5rvr0SeGxCRwAeeFRZBPOe32EIa7uO6SAIuinezA="; + aarch64-linux = "sha256-M+lCUzoiy/sImBZrOjjeP4eqG3F4wbkMQg9Ho3ELGFo="; + x86_64-darwin = "sha256-Uyz1wuHICSq5C+n3ZjPinZznhajd6QR36CZgQBm+QRE="; + aarch64-darwin = "sha256-ZQxRHTzLUAhnL1rRLR9l8Ix5XzxeTAds7XAmEgZ9Xmo="; } .${stdenv.hostPlatform.system} or (throw "unsupported system ${stdenv.hostPlatform.system}"); }; From 8fc3596f8c489baca3f4d7fd74a8232c6e7dcbc0 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 14 Aug 2025 20:22:13 +0000 Subject: [PATCH 10/62] tageditor: 3.9.5 -> 3.9.6 --- pkgs/by-name/ta/tageditor/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/ta/tageditor/package.nix b/pkgs/by-name/ta/tageditor/package.nix index f0babd818ed2..de03722f3c4e 100644 --- a/pkgs/by-name/ta/tageditor/package.nix +++ b/pkgs/by-name/ta/tageditor/package.nix @@ -14,13 +14,13 @@ stdenv.mkDerivation rec { pname = "tageditor"; - version = "3.9.5"; + version = "3.9.6"; src = fetchFromGitHub { owner = "martchus"; repo = "tageditor"; tag = "v${version}"; - hash = "sha256-Sia6Y/V81WQj4oWjZAAR4o3TngfWq7sWxxiKEuFjQ2M="; + hash = "sha256-weGLC8TPSA9XQ/TuLj4DBswmlEbpxPplsxI4sqygHfU="; }; nativeBuildInputs = [ From a37d1a1382a760bd5ef6c5aa6db612cd4f86e308 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 14 Aug 2025 20:33:22 +0000 Subject: [PATCH 11/62] draupnir: 2.6.0 -> 2.6.1 --- pkgs/by-name/dr/draupnir/hashes.json | 2 +- pkgs/by-name/dr/draupnir/package.json | 6 +++--- pkgs/by-name/dr/draupnir/package.nix | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/pkgs/by-name/dr/draupnir/hashes.json b/pkgs/by-name/dr/draupnir/hashes.json index 25bf893bf38c..a509437a3988 100644 --- a/pkgs/by-name/dr/draupnir/hashes.json +++ b/pkgs/by-name/dr/draupnir/hashes.json @@ -1,3 +1,3 @@ { - "yarn_offline_cache_hash": "sha256-xB9SKCM9m2LotwxIzGgT72mLgrDW2spqvR5VoyexIAA=" + "yarn_offline_cache_hash": "sha256-SoCuCzrKUWWsD/oEh2W3/T1/hhd7ghfpeBojo84sEI8=" } diff --git a/pkgs/by-name/dr/draupnir/package.json b/pkgs/by-name/dr/draupnir/package.json index 5cbbdbf553c8..bbd5e30084f3 100644 --- a/pkgs/by-name/dr/draupnir/package.json +++ b/pkgs/by-name/dr/draupnir/package.json @@ -1,6 +1,6 @@ { "name": "draupnir", - "version": "2.6.0", + "version": "2.6.1", "description": "A moderation tool for Matrix", "main": "lib/index.js", "repository": "https://github.com/the-draupnir-project/Draupnir.git", @@ -63,8 +63,8 @@ "jsdom": "^24.0.0", "matrix-appservice-bridge": "^10.3.1", "matrix-bot-sdk": "npm:@vector-im/matrix-bot-sdk@^0.7.1-element.6", - "matrix-protection-suite": "npm:@gnuxie/matrix-protection-suite@3.10.0", - "matrix-protection-suite-for-matrix-bot-sdk": "npm:@gnuxie/matrix-protection-suite-for-matrix-bot-sdk@3.8.0", + "matrix-protection-suite": "npm:@gnuxie/matrix-protection-suite@3.11.0", + "matrix-protection-suite-for-matrix-bot-sdk": "npm:@gnuxie/matrix-protection-suite-for-matrix-bot-sdk@3.11.0", "pg": "^8.8.0", "yaml": "^2.3.2" }, diff --git a/pkgs/by-name/dr/draupnir/package.nix b/pkgs/by-name/dr/draupnir/package.nix index ef61dcf66e02..c36d4823a41b 100644 --- a/pkgs/by-name/dr/draupnir/package.nix +++ b/pkgs/by-name/dr/draupnir/package.nix @@ -22,13 +22,13 @@ let in mkYarnPackage rec { pname = "draupnir"; - version = "2.6.0"; + version = "2.6.1"; src = fetchFromGitHub { owner = "the-draupnir-project"; repo = "Draupnir"; tag = "v${version}"; - hash = "sha256-v6dHexu9x60onBoHbdI+15p6r5m6mi7bRLgZ9jqF19s="; + hash = "sha256-KO2jm9yD/LnJSY1dAbPQ2fJZhmrxWJHU+TIaZzK97bg="; }; nativeBuildInputs = [ From 02dc83eb3931735f0f9020b08b7dc354fc1d484b Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 14 Aug 2025 20:40:01 +0000 Subject: [PATCH 12/62] spicedb: 1.45.1 -> 1.45.2 --- pkgs/servers/spicedb/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/servers/spicedb/default.nix b/pkgs/servers/spicedb/default.nix index 5cbd2033445e..57584d390e71 100644 --- a/pkgs/servers/spicedb/default.nix +++ b/pkgs/servers/spicedb/default.nix @@ -7,16 +7,16 @@ buildGoModule rec { pname = "spicedb"; - version = "1.45.1"; + version = "1.45.2"; src = fetchFromGitHub { owner = "authzed"; repo = "spicedb"; rev = "v${version}"; - hash = "sha256-cKCAA9C0vsCa0BszspvPfrKbdWyaccrMtiO6UWhLIh4="; + hash = "sha256-LDAZdcUfrCWtld6V4GDpAbK+BeT/aeVOQ7G++sMoXU4="; }; - vendorHash = "sha256-R4lOmHIBgnlvOukMjXdVx5e9Oneo1EizhsrDXiTbwTc="; + vendorHash = "sha256-hr+xIfPjlrH9igRsYeqNOPgx/jWhDfu73gA+/NoWWxI="; ldflags = [ "-X 'github.com/jzelinskie/cobrautil/v2.Version=${src.rev}'" From 612f74581ecb87cc276a429959fe904ebfd9e76a Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Fri, 15 Aug 2025 00:06:28 +0200 Subject: [PATCH 13/62] python313Packages.publicsuffixlist: 1.0.2.20250812 -> 1.0.2.20250814 Changelog: https://github.com/ko-zu/psl/blob/v1.0.2.20250814-gha/CHANGES.md --- pkgs/development/python-modules/publicsuffixlist/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/publicsuffixlist/default.nix b/pkgs/development/python-modules/publicsuffixlist/default.nix index a80b67cc4848..49edd6d8161a 100644 --- a/pkgs/development/python-modules/publicsuffixlist/default.nix +++ b/pkgs/development/python-modules/publicsuffixlist/default.nix @@ -11,14 +11,14 @@ buildPythonPackage rec { pname = "publicsuffixlist"; - version = "1.0.2.20250812"; + version = "1.0.2.20250814"; pyproject = true; disabled = pythonOlder "3.7"; src = fetchPypi { inherit pname version; - hash = "sha256-y8C5Lg50epkcGR3wnSHhircKwGeY53fcommtEuLfUUM="; + hash = "sha256-pYOjopZlGfe28FzZmGP485l/AzqNzoW8ecft94p7q+c="; }; build-system = [ setuptools ]; From c104b67691278a9c8509b3190c37371215e62417 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Fri, 15 Aug 2025 00:07:35 +0200 Subject: [PATCH 14/62] python313Packages.tencentcloud-sdk-python: 3.0.1443 -> 3.0.1444 Diff: https://github.com/TencentCloud/tencentcloud-sdk-python/compare/refs/tags/3.0.1443...refs/tags/3.0.1444 Changelog: https://github.com/TencentCloud/tencentcloud-sdk-python/blob/3.0.1444/CHANGELOG.md --- .../python-modules/tencentcloud-sdk-python/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/tencentcloud-sdk-python/default.nix b/pkgs/development/python-modules/tencentcloud-sdk-python/default.nix index c093af2656fe..c41b632b38db 100644 --- a/pkgs/development/python-modules/tencentcloud-sdk-python/default.nix +++ b/pkgs/development/python-modules/tencentcloud-sdk-python/default.nix @@ -10,7 +10,7 @@ buildPythonPackage rec { pname = "tencentcloud-sdk-python"; - version = "3.0.1443"; + version = "3.0.1444"; pyproject = true; disabled = pythonOlder "3.9"; @@ -19,7 +19,7 @@ buildPythonPackage rec { owner = "TencentCloud"; repo = "tencentcloud-sdk-python"; tag = version; - hash = "sha256-2M5lLjKd60xiSoxoJ9W34DkwCDKrSTbuif7ZP3NxjRI="; + hash = "sha256-nuB6OYFDHfqhKFti96YAt6BYrdIqm357YPHm0mT90uY="; }; build-system = [ setuptools ]; From e52a7203590a623f133642df947731724bbb1dbb Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Fri, 15 Aug 2025 00:08:16 +0200 Subject: [PATCH 15/62] python312Packages.mypy-boto3-directconnect: 1.40.0 -> 1.40.10 --- pkgs/development/python-modules/mypy-boto3/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/mypy-boto3/default.nix b/pkgs/development/python-modules/mypy-boto3/default.nix index 15192b85519a..396485911b6d 100644 --- a/pkgs/development/python-modules/mypy-boto3/default.nix +++ b/pkgs/development/python-modules/mypy-boto3/default.nix @@ -402,8 +402,8 @@ rec { "sha256-aQR1CrCbisf0vApIjFXa5/oKC4Q1eT0AsLTg0EBojAs="; mypy-boto3-directconnect = - buildMypyBoto3Package "directconnect" "1.40.0" - "sha256-UmrcCxy3zK/cEkM/KCGnr4JEMOOjhNwBNRC6IiMm+NM="; + buildMypyBoto3Package "directconnect" "1.40.10" + "sha256-ZM9nCSSzMmRjyxnypQcaORwYXiXMXz25Gw2dJlOVcc0="; mypy-boto3-discovery = buildMypyBoto3Package "discovery" "1.40.0" From 8091c6b718bd50714256f50dbbf4830375735807 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Fri, 15 Aug 2025 00:08:19 +0200 Subject: [PATCH 16/62] python312Packages.mypy-boto3-dynamodb: 1.40.0 -> 1.40.10 --- pkgs/development/python-modules/mypy-boto3/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/mypy-boto3/default.nix b/pkgs/development/python-modules/mypy-boto3/default.nix index 396485911b6d..d36116baa644 100644 --- a/pkgs/development/python-modules/mypy-boto3/default.nix +++ b/pkgs/development/python-modules/mypy-boto3/default.nix @@ -434,8 +434,8 @@ rec { "sha256-MjtEiMiKguv1RAeY4Cjk/apJlgi5jH/6avgMtdcp+2Q="; mypy-boto3-dynamodb = - buildMypyBoto3Package "dynamodb" "1.40.0" - "sha256-l/ZQBqFwb3y99TrRw6mRThC1N1QZTbStEgBOynw3a04="; + buildMypyBoto3Package "dynamodb" "1.40.10" + "sha256-6mAMWQ5aEyi+TeJ9noEG4Sx5KKNmIuiBGK9QYv/xI8s="; mypy-boto3-dynamodbstreams = buildMypyBoto3Package "dynamodbstreams" "1.40.0" From 7de84ed7879bc562b57f20aaf1f01ef9b80bde1d Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Fri, 15 Aug 2025 00:08:21 +0200 Subject: [PATCH 17/62] python312Packages.mypy-boto3-ec2: 1.40.8 -> 1.40.10 --- pkgs/development/python-modules/mypy-boto3/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/mypy-boto3/default.nix b/pkgs/development/python-modules/mypy-boto3/default.nix index d36116baa644..c606a2072c58 100644 --- a/pkgs/development/python-modules/mypy-boto3/default.nix +++ b/pkgs/development/python-modules/mypy-boto3/default.nix @@ -446,8 +446,8 @@ rec { "sha256-p+NFAi4x4J6S4v0f2u0awDG+lb2V7r3XwgYwl5CvhHo="; mypy-boto3-ec2 = - buildMypyBoto3Package "ec2" "1.40.8" - "sha256-4qoBA1iajEhB0ove45iUUEdllcGds6Y08NhgPUS9TmQ="; + buildMypyBoto3Package "ec2" "1.40.10" + "sha256-mBpXSkz3eVzYlMqhzjVcCz+rVT21TvipBFaFAX4juHs="; mypy-boto3-ec2-instance-connect = buildMypyBoto3Package "ec2-instance-connect" "1.40.0" From 06aaad2c97a39aae36402d65b5b1108c35e68c3a Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Fri, 15 Aug 2025 00:08:29 +0200 Subject: [PATCH 18/62] python312Packages.mypy-boto3-fsx: 1.40.9 -> 1.40.10 --- pkgs/development/python-modules/mypy-boto3/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/mypy-boto3/default.nix b/pkgs/development/python-modules/mypy-boto3/default.nix index c606a2072c58..4c7d083e1624 100644 --- a/pkgs/development/python-modules/mypy-boto3/default.nix +++ b/pkgs/development/python-modules/mypy-boto3/default.nix @@ -558,8 +558,8 @@ rec { "sha256-i76hozLLcN4Y5Jpg/92+6FSgStpw2SfF0HeRhQiRPqE="; mypy-boto3-fsx = - buildMypyBoto3Package "fsx" "1.40.9" - "sha256-mNs8PA3GpvonrX6vwErh1muD4K2+zdr0ZWvOJP8PRjY="; + buildMypyBoto3Package "fsx" "1.40.10" + "sha256-E9s3Mh66bXUsy/BUPorYaOp58hkY0HpkyX3dX0OsXz4="; mypy-boto3-gamelift = buildMypyBoto3Package "gamelift" "1.40.0" From 245bcf9963de4f1ef9856496b140929ffeaccf6c Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Fri, 15 Aug 2025 00:08:30 +0200 Subject: [PATCH 19/62] python312Packages.mypy-boto3-glue: 1.40.5 -> 1.40.10 --- pkgs/development/python-modules/mypy-boto3/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/mypy-boto3/default.nix b/pkgs/development/python-modules/mypy-boto3/default.nix index 4c7d083e1624..fd865e2144e3 100644 --- a/pkgs/development/python-modules/mypy-boto3/default.nix +++ b/pkgs/development/python-modules/mypy-boto3/default.nix @@ -574,8 +574,8 @@ rec { "sha256-So/NDL0KF5iypLYitnJ/38C5RovqBGXcUhHtlEMnjMM="; mypy-boto3-glue = - buildMypyBoto3Package "glue" "1.40.5" - "sha256-ux3mdI2uZoWqEN7p8yvmWM8F3x8WzQUJaJK1j4fYvXE="; + buildMypyBoto3Package "glue" "1.40.10" + "sha256-fSPTI/S04QFRgZIK5a7gBMaewT7AqaEwuIDf2tGdGHA="; mypy-boto3-grafana = buildMypyBoto3Package "grafana" "1.40.0" From d140c8d6b36f054733f9788d7b89b6d4a5018e87 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Fri, 15 Aug 2025 00:08:32 +0200 Subject: [PATCH 20/62] python312Packages.mypy-boto3-guardduty: 1.40.5 -> 1.40.10 --- pkgs/development/python-modules/mypy-boto3/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/mypy-boto3/default.nix b/pkgs/development/python-modules/mypy-boto3/default.nix index fd865e2144e3..0d85b7191112 100644 --- a/pkgs/development/python-modules/mypy-boto3/default.nix +++ b/pkgs/development/python-modules/mypy-boto3/default.nix @@ -594,8 +594,8 @@ rec { "sha256-/LlMFYC7cJWb9C5JIt0dTEPtl2sPsalSq7mYaFSf3c4="; mypy-boto3-guardduty = - buildMypyBoto3Package "guardduty" "1.40.5" - "sha256-yIFysk4ru4Us4azUpGVYim1j8FTQfxw/s0xmZWwSneQ="; + buildMypyBoto3Package "guardduty" "1.40.10" + "sha256-N1zgIPqI1eeE7ET0VDvMlqj7CQzq/gg2q2uCChZ6Q3c="; mypy-boto3-health = buildMypyBoto3Package "health" "1.40.0" From 22b8363f91e1667f43c23ebd7eec299a6a46d6fb Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Fri, 15 Aug 2025 00:08:53 +0200 Subject: [PATCH 21/62] python312Packages.mypy-boto3-medialive: 1.40.0 -> 1.40.10 --- pkgs/development/python-modules/mypy-boto3/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/mypy-boto3/default.nix b/pkgs/development/python-modules/mypy-boto3/default.nix index 0d85b7191112..620ff21ac79b 100644 --- a/pkgs/development/python-modules/mypy-boto3/default.nix +++ b/pkgs/development/python-modules/mypy-boto3/default.nix @@ -866,8 +866,8 @@ rec { "sha256-DJEU4Ha8jpV/J8UP6emYMjcv9RfZt1njsBPD11q0BUI="; mypy-boto3-medialive = - buildMypyBoto3Package "medialive" "1.40.0" - "sha256-+2qM6+qeDJnvkvVI+z1EzMfGps7ejjVq4FOxOfEzJdg="; + buildMypyBoto3Package "medialive" "1.40.10" + "sha256-hGbdgOvsb+gd7640D1WeXj4tOkzuGwi8Ib/RmmQd4tY="; mypy-boto3-mediapackage = buildMypyBoto3Package "mediapackage" "1.40.0" From 8a6de9b7149674f197c56f08ab0619a8a46e3568 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Fri, 15 Aug 2025 00:09:17 +0200 Subject: [PATCH 22/62] python312Packages.mypy-boto3-servicediscovery: 1.40.0 -> 1.40.10 --- pkgs/development/python-modules/mypy-boto3/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/mypy-boto3/default.nix b/pkgs/development/python-modules/mypy-boto3/default.nix index 620ff21ac79b..12cdc130909a 100644 --- a/pkgs/development/python-modules/mypy-boto3/default.nix +++ b/pkgs/development/python-modules/mypy-boto3/default.nix @@ -1246,8 +1246,8 @@ rec { "sha256-ET2prHzHi0EBkWB9MlmdudaaJhay5in5+rdUF0T6veE="; mypy-boto3-servicediscovery = - buildMypyBoto3Package "servicediscovery" "1.40.0" - "sha256-hg/KQ7V0ej2jmLLYLmBChuxZ4IvKypMWAOs6j5zRoYY="; + buildMypyBoto3Package "servicediscovery" "1.40.10" + "sha256-/Gyq9dgCjeIrNTxUqE/mvfPr+4c+Ann5+ep3/NJhrW8="; mypy-boto3-ses = buildMypyBoto3Package "ses" "1.40.0" From 0b0d79f998bc7bf1ff87a3105f83ed4254bf4598 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Fri, 15 Aug 2025 00:09:29 +0200 Subject: [PATCH 23/62] python312Packages.mypy-boto3-workspaces: 1.40.0 -> 1.40.10 --- pkgs/development/python-modules/mypy-boto3/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/mypy-boto3/default.nix b/pkgs/development/python-modules/mypy-boto3/default.nix index 12cdc130909a..b008de3c1a9b 100644 --- a/pkgs/development/python-modules/mypy-boto3/default.nix +++ b/pkgs/development/python-modules/mypy-boto3/default.nix @@ -1426,8 +1426,8 @@ rec { "sha256-zApXRQ+MpzmwpQcghnoC34FaKlLQ/g8kZZUwbU0G8p8="; mypy-boto3-workspaces = - buildMypyBoto3Package "workspaces" "1.40.0" - "sha256-LRf2JH9+Z+a1yX1TodO6ASUFY7+Ct9RLu2BS0CF3X0U="; + buildMypyBoto3Package "workspaces" "1.40.10" + "sha256-6PTGF3akduOS0VRS43ykcKzK25iyQb+bqvpCe+BM9Qw="; mypy-boto3-workspaces-web = buildMypyBoto3Package "workspaces-web" "1.40.0" From df105076de5a70cee307cc3b1bc2f82b32b4b3f5 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Fri, 15 Aug 2025 00:09:34 +0200 Subject: [PATCH 24/62] python313Packages.boto3-stubs: 1.40.9 -> 1.40.10 --- pkgs/development/python-modules/boto3-stubs/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/boto3-stubs/default.nix b/pkgs/development/python-modules/boto3-stubs/default.nix index 5980155417d0..debd4dd0e90a 100644 --- a/pkgs/development/python-modules/boto3-stubs/default.nix +++ b/pkgs/development/python-modules/boto3-stubs/default.nix @@ -359,7 +359,7 @@ buildPythonPackage rec { pname = "boto3-stubs"; - version = "1.40.9"; + version = "1.40.10"; pyproject = true; disabled = pythonOlder "3.7"; @@ -367,7 +367,7 @@ buildPythonPackage rec { src = fetchPypi { pname = "boto3_stubs"; inherit version; - hash = "sha256-nRaC/EpTUgtB3zc5iP3n7xYR8rPoTzPuxUKjzCOaemw="; + hash = "sha256-XBWJ7fk+0DN8jfO6f52akkdwvGwJ6axrDfDALs82csM="; }; build-system = [ setuptools ]; From c8f4bb8170d4a0064c2178d341fc537746ec843a Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Fri, 15 Aug 2025 00:12:27 +0200 Subject: [PATCH 25/62] python313Packages.click-shell: refactor --- .../python-modules/click-shell/default.nix | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/pkgs/development/python-modules/click-shell/default.nix b/pkgs/development/python-modules/click-shell/default.nix index fa95216a3267..5f4536439d3e 100644 --- a/pkgs/development/python-modules/click-shell/default.nix +++ b/pkgs/development/python-modules/click-shell/default.nix @@ -5,14 +5,15 @@ click, pytestCheckHook, pytest-click, + setuptools, + writableTmpDirAsHomeHook, }: buildPythonPackage rec { pname = "click-shell"; version = "2.1"; - format = "setuptools"; + pyproject = true; - # PyPi release is missing tests src = fetchFromGitHub { owner = "clarkperkins"; repo = "click-shell"; @@ -20,17 +21,18 @@ buildPythonPackage rec { hash = "sha256-4QpQzg0yFuOFymGiTI+A8o6LyX78iTJMqr0ernYbilI="; }; - propagatedBuildInputs = [ click ]; + build-system = [ setuptools ]; + + dependencies = [ click ]; nativeCheckInputs = [ pytest-click pytestCheckHook + writableTmpDirAsHomeHook ]; pythonImportsCheck = [ "click_shell" ]; - preCheck = "export HOME=$(mktemp -d)"; - meta = with lib; { description = "Extension to click that easily turns your click app into a shell utility"; longDescription = '' @@ -40,6 +42,7 @@ buildPythonPackage rec { with command completion to any click app. ''; homepage = "https://github.com/clarkperkins/click-shell"; + changelog = "https://github.com/clarkperkins/click-shell/releases/tag/${src.tag}"; license = licenses.bsd3; maintainers = with maintainers; [ binsky ]; }; From 40cacec0006ee50f3e1b10fb7f148cfa15825e4a Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Fri, 15 Aug 2025 00:17:30 +0200 Subject: [PATCH 26/62] python313Packages.sqlfmt: refactor --- pkgs/development/python-modules/sqlfmt/default.nix | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) diff --git a/pkgs/development/python-modules/sqlfmt/default.nix b/pkgs/development/python-modules/sqlfmt/default.nix index 709a4746c8c9..2f1dff47901a 100644 --- a/pkgs/development/python-modules/sqlfmt/default.nix +++ b/pkgs/development/python-modules/sqlfmt/default.nix @@ -5,15 +5,14 @@ click, fetchFromGitHub, gitpython, - importlib-metadata, jinja2, platformdirs, poetry-core, pytest-asyncio, pytestCheckHook, pythonOlder, - tomli, tqdm, + writableTmpDirAsHomeHook, }: buildPythonPackage rec { @@ -21,7 +20,7 @@ buildPythonPackage rec { version = "0.27.0"; pyproject = true; - disabled = pythonOlder "3.9"; + disabled = pythonOlder "3.12"; src = fetchFromGitHub { owner = "tconbeer"; @@ -30,16 +29,12 @@ buildPythonPackage rec { hash = "sha256-Yel9SB7KrDqtuZxNx4omz6u4AID8Fk5kFYKBEZD1fuU="; }; - pythonRelaxDeps = [ "platformdirs" ]; - build-system = [ poetry-core ]; dependencies = [ click - importlib-metadata jinja2 platformdirs - tomli tqdm ]; @@ -51,11 +46,11 @@ buildPythonPackage rec { nativeCheckInputs = [ pytest-asyncio pytestCheckHook + writableTmpDirAsHomeHook ] ++ lib.flatten (builtins.attrValues optional-dependencies); preCheck = '' - export HOME=$(mktemp -d) export PATH="$PATH:$out/bin"; ''; From ac7917005d63d32011f8723f1adfa386623aea6a Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Fri, 15 Aug 2025 00:28:16 +0200 Subject: [PATCH 27/62] python313Packages.dependency-groups: init at 1.3.1 Standalone implementation of PEP 735 Dependency Groups https://github.com/pypa/dependency-groups --- .../dependency-groups/default.nix | 44 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 2 + 2 files changed, 46 insertions(+) create mode 100644 pkgs/development/python-modules/dependency-groups/default.nix diff --git a/pkgs/development/python-modules/dependency-groups/default.nix b/pkgs/development/python-modules/dependency-groups/default.nix new file mode 100644 index 000000000000..bf0f83d276d9 --- /dev/null +++ b/pkgs/development/python-modules/dependency-groups/default.nix @@ -0,0 +1,44 @@ +{ + lib, + buildPythonPackage, + fetchFromGitHub, + flit-core, + packaging, + pythonOlder, + pytestCheckHook, +}: + +buildPythonPackage rec { + pname = "dependency-groups"; + version = "1.3.1"; + pyproject = true; + + disabled = pythonOlder "3.12"; + + src = fetchFromGitHub { + owner = "pypa"; + repo = "dependency-groups"; + rev = version; + hash = "sha256-suuSx3zf0Y45FJdH8Cb6N7hcvPnzleREpHhtdiG2CLg="; + }; + + build-system = [ flit-core ]; + + dependencies = [ packaging ]; + + optional-dependencies = { + cli = [ ]; + }; + + nativeCheckInputs = [ pytestCheckHook ]; + + pythonImportsCheck = [ "dependency_groups" ]; + + meta = { + description = "Standalone implementation of PEP 735 Dependency Groups"; + homepage = "https://github.com/pypa/dependency-groups"; + changelog = "https://github.com/pypa/dependency-groups/blob/${src.rev}/CHANGELOG.rst"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ fab ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index b5d87215e029..e77fcb0970c2 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -3553,6 +3553,8 @@ self: super: with self; { dep-logic = callPackage ../development/python-modules/dep-logic { }; + dependency-groups = callPackage ../development/python-modules/dependency-groups { }; + dependency-injector = callPackage ../development/python-modules/dependency-injector { }; deploykit = callPackage ../development/python-modules/deploykit { }; From 2c101e7a2f80dcf469dcf92da6ffb49406990768 Mon Sep 17 00:00:00 2001 From: qzylinra Date: Fri, 15 Aug 2025 06:30:06 +0800 Subject: [PATCH 28/62] imaginer: drop --- pkgs/by-name/im/imaginer/package.nix | 69 ---------------------------- pkgs/top-level/aliases.nix | 1 + 2 files changed, 1 insertion(+), 69 deletions(-) delete mode 100644 pkgs/by-name/im/imaginer/package.nix diff --git a/pkgs/by-name/im/imaginer/package.nix b/pkgs/by-name/im/imaginer/package.nix deleted file mode 100644 index a73faf7fad89..000000000000 --- a/pkgs/by-name/im/imaginer/package.nix +++ /dev/null @@ -1,69 +0,0 @@ -{ - lib, - appstream-glib, - blueprint-compiler, - desktop-file-utils, - fetchFromGitHub, - gettext, - glib, - gobject-introspection, - libadwaita, - libsoup_3, - meson, - ninja, - pkg-config, - python3Packages, - wrapGAppsHook4, -}: - -python3Packages.buildPythonApplication rec { - pname = "imaginer"; - version = "0.1.3"; - - src = fetchFromGitHub { - owner = "ImaginerApp"; - repo = "Imaginer"; - rev = "v${version}"; - hash = "sha256-x1ZnmfaMfxnITiuFDlMPfTU8KZbd1ME9jDevnlsrbJs="; - }; - - format = "other"; - dontWrapGApps = true; - - nativeBuildInputs = [ - appstream-glib - blueprint-compiler - desktop-file-utils - gettext - glib - gobject-introspection - meson - ninja - pkg-config - wrapGAppsHook4 - ]; - - buildInputs = [ - libadwaita - libsoup_3 - ]; - - propagatedBuildInputs = with python3Packages; [ - openai - pillow - pygobject3 - requests - ]; - - preFixup = '' - makeWrapperArgs+=("''${gappsWrapperArgs[@]}") - ''; - - meta = with lib; { - homepage = "https://github.com/ImaginerApp/Imaginer"; - description = "AI image generator for GNOME"; - mainProgram = "imaginer"; - license = licenses.gpl3Plus; - maintainers = with maintainers; [ _0xMRTT ]; - }; -} diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix index eb62ecb326a6..a4497a63dc3b 100644 --- a/pkgs/top-level/aliases.nix +++ b/pkgs/top-level/aliases.nix @@ -944,6 +944,7 @@ mapAliases { imagemagick7Big = throw "'imagemagick7Big' has been renamed to/replaced by 'imagemagickBig'"; # Converted to throw 2024-10-17 imagemagick7 = throw "'imagemagick7' has been renamed to/replaced by 'imagemagick'"; # Converted to throw 2024-10-17 imagemagick7_light = throw "'imagemagick7_light' has been renamed to/replaced by 'imagemagick_light'"; # Converted to throw 2024-10-17 + imaginer = throw "'imaginer' has been removed due to lack of upstream maintenance"; # Added 2025-08-15 immersed-vr = lib.warnOnInstantiate "'immersed-vr' has been renamed to 'immersed'" immersed; # Added 2024-08-11 inconsolata-nerdfont = lib.warnOnInstantiate "inconsolata-nerdfont is redundant. Use nerd-fonts.inconsolata instead." nerd-fonts.inconsolata; # Added 2024-11-10 incrtcl = tclPackages.incrtcl; # Added 2024-10-02 From b0136fbe26d927b8c82219438a7bfeb774fca611 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Fri, 15 Aug 2025 00:47:48 +0200 Subject: [PATCH 29/62] python313Packages.pynamecheap: refactor --- .../python-modules/pynamecheap/default.nix | 23 ++++++++++++------- 1 file changed, 15 insertions(+), 8 deletions(-) diff --git a/pkgs/development/python-modules/pynamecheap/default.nix b/pkgs/development/python-modules/pynamecheap/default.nix index 658ff62a5d26..4ab6da4a25a9 100644 --- a/pkgs/development/python-modules/pynamecheap/default.nix +++ b/pkgs/development/python-modules/pynamecheap/default.nix @@ -3,28 +3,35 @@ buildPythonPackage, fetchFromGitHub, requests, + setuptools, }: buildPythonPackage rec { pname = "pynamecheap"; version = "0.0.3"; - format = "setuptools"; - - propagatedBuildInputs = [ requests ]; - - # Tests require access to api.sandbox.namecheap.com - doCheck = false; + pyproject = true; src = fetchFromGitHub { owner = "Bemmu"; repo = "PyNamecheap"; - rev = "v${version}"; - sha256 = "1g1cd2yc6rpdsc5ax7s93y5nfkf91gcvbgcaqyl9ida6srd9hr97"; + tag = "v${version}"; + hash = "sha256-J2WYWtZGtZiox4q9tdkLyU1nix9Jn64K0+1mw7xoLLw="; }; + build-system = [ setuptools ]; + + dependencies = [ requests ]; + + # Tests require access to api.sandbox.namecheap.com + doCheck = false; + + pythonImportsCheck = [ "namecheap" ]; + meta = with lib; { description = "Namecheap API client in Python"; homepage = "https://github.com/Bemmu/PyNamecheap"; + changelog = "https://github.com/Bemmu/PyNamecheap/releases/tag/${src.tag}"; license = licenses.mit; + maintainers = [ ]; }; } From 7d8685b5a151c45b8658596d1dfee40e8b230bc0 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Fri, 15 Aug 2025 00:58:10 +0200 Subject: [PATCH 30/62] python313Packages.ecpy: refactor --- pkgs/development/python-modules/ecpy/default.nix | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-) diff --git a/pkgs/development/python-modules/ecpy/default.nix b/pkgs/development/python-modules/ecpy/default.nix index da36c1c3c865..4303f4806d44 100644 --- a/pkgs/development/python-modules/ecpy/default.nix +++ b/pkgs/development/python-modules/ecpy/default.nix @@ -2,26 +2,21 @@ lib, fetchPypi, buildPythonPackage, - isPy3k, - future, + setuptools, }: buildPythonPackage rec { pname = "ecpy"; version = "1.2.5"; - format = "setuptools"; + pyproject = true; src = fetchPypi { pname = "ECPy"; inherit version; - sha256 = "9635cffb9b6ecf7fd7f72aea1665829ac74a1d272006d0057d45a621aae20228"; + hash = "sha256-ljXP+5tuz3/X9yrqFmWCmsdKHScgBtAFfUWmIariAig="; }; - prePatch = '' - sed -i "s|reqs.append('future')|pass|" setup.py - ''; - - propagatedBuildInputs = lib.optional (!isPy3k) future; + build-system = [ setuptools ]; # No tests implemented doCheck = false; @@ -31,6 +26,8 @@ buildPythonPackage rec { meta = with lib; { description = "Pure Pyhton Elliptic Curve Library"; homepage = "https://github.com/ubinity/ECPy"; + changelog = "https://github.com/cslashm/ECPy/releases/tag/${version}"; license = licenses.asl20; + maintainers = [ ]; }; } From 886bdc4543438773a6fb50ea3f6ac48e72517a54 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Fri, 15 Aug 2025 00:59:51 +0200 Subject: [PATCH 31/62] python313Packages.pynanoleaf: refactor --- .../python-modules/pynanoleaf/default.nix | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/pkgs/development/python-modules/pynanoleaf/default.nix b/pkgs/development/python-modules/pynanoleaf/default.nix index 892900c118ba..113818784680 100644 --- a/pkgs/development/python-modules/pynanoleaf/default.nix +++ b/pkgs/development/python-modules/pynanoleaf/default.nix @@ -2,23 +2,23 @@ lib, buildPythonPackage, fetchPypi, - isPy3k, requests, + setuptools, }: buildPythonPackage rec { pname = "pynanoleaf"; version = "0.1.1"; - format = "setuptools"; + pyproject = true; src = fetchPypi { inherit pname version; - sha256 = "32a083759c4f99e019e0013670487841f8edf807c7a07742a971fa18707072a7"; + hash = "sha256-MqCDdZxPmeAZ4AE2cEh4Qfjt+AfHoHdCqXH6GHBwcqc="; }; - disabled = !isPy3k; + build-system = [ setuptools ]; - propagatedBuildInputs = [ requests ]; + dependencies = [ requests ]; # pynanoleaf does not contain tests doCheck = false; @@ -26,8 +26,9 @@ buildPythonPackage rec { pythonImportsCheck = [ "pynanoleaf" ]; meta = with lib; { - homepage = "https://github.com/Oro/pynanoleaf"; description = "Python3 wrapper for the Nanoleaf API, capable of controlling both Nanoleaf Aurora and Nanoleaf Canvas"; + homepage = "https://github.com/Oro/pynanoleaf"; + changelog = "https://github.com/Oro/pynanoleaf/releases/tag/${version}"; license = licenses.mit; maintainers = with maintainers; [ oro ]; }; From 16928899d509de3201d489cc93c8f9df91e490c5 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 14 Aug 2025 23:03:30 +0000 Subject: [PATCH 32/62] kubectl-ai: 0.0.20 -> 0.0.22 --- pkgs/by-name/ku/kubectl-ai/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/ku/kubectl-ai/package.nix b/pkgs/by-name/ku/kubectl-ai/package.nix index ac29224c97a7..6a35ec8699e9 100644 --- a/pkgs/by-name/ku/kubectl-ai/package.nix +++ b/pkgs/by-name/ku/kubectl-ai/package.nix @@ -6,16 +6,16 @@ buildGoModule (finalAttrs: { pname = "kubectl-ai"; - version = "0.0.20"; + version = "0.0.22"; src = fetchFromGitHub { owner = "GoogleCloudPlatform"; repo = "kubectl-ai"; tag = "v${finalAttrs.version}"; - hash = "sha256-iyyaQBulncPNJXm7ir/aOjJxJvd0Q178weneiwQbGcU="; + hash = "sha256-sU8CATzhp0seUJNYjvxFkRoA/Xqb57kZqGpEOCxypUA="; }; - vendorHash = "sha256-a84HesnInU7JZZTx0Rm1Qgsmo7SJC0kMnckgmUk0Vow="; + vendorHash = "sha256-OJnpd8z4e6ytoUi5ydFHYPMA77ryU7Tp8wriuab7yuk="; # Build the main command subPackages = [ "cmd" ]; From b06f26c50cdcf43a867f7584dbddc49c9c87c6d2 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Fri, 15 Aug 2025 01:05:09 +0200 Subject: [PATCH 33/62] python313Packages.model-checker: 0.9.36 -> 0.9.40 --- pkgs/development/python-modules/model-checker/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/model-checker/default.nix b/pkgs/development/python-modules/model-checker/default.nix index 0ae4dad44401..2b31a647eba8 100644 --- a/pkgs/development/python-modules/model-checker/default.nix +++ b/pkgs/development/python-modules/model-checker/default.nix @@ -11,7 +11,7 @@ buildPythonPackage rec { pname = "model-checker"; - version = "0.9.36"; + version = "0.9.40"; pyproject = true; disabled = pythonOlder "3.8"; @@ -19,7 +19,7 @@ buildPythonPackage rec { src = fetchPypi { pname = "model_checker"; inherit version; - hash = "sha256-FYn8sncKHZqZvI71RUmYOChC/fXzGdaN7GsomZl7AA8="; + hash = "sha256-8DdH9/lMPmYDQ1jLDbA0jAaAbNyUOU1q7AfCWz6LYAI="; }; # z3 does not provide a dist-info, so python-runtime-deps-check will fail From 5c77aad1d004b0340ae0149f415ee7387b454dba Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Fri, 15 Aug 2025 01:05:58 +0200 Subject: [PATCH 34/62] python313Packages.pyftdi: 0.56.0 -> 0.57.1 Diff: https://github.com/eblot/pyftdi/compare/refs/tags/v0.56.0...refs/tags/v0.57.1 Changelog: https://github.com/eblot/pyftdi/releases/tag/v0.57.1 --- pkgs/development/python-modules/pyftdi/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/pyftdi/default.nix b/pkgs/development/python-modules/pyftdi/default.nix index b775d1b21ead..c95c9fea7ffb 100644 --- a/pkgs/development/python-modules/pyftdi/default.nix +++ b/pkgs/development/python-modules/pyftdi/default.nix @@ -10,7 +10,7 @@ buildPythonPackage rec { pname = "pyftdi"; - version = "0.56.0"; + version = "0.57.1"; pyproject = true; disabled = pythonOlder "3.9"; @@ -19,7 +19,7 @@ buildPythonPackage rec { owner = "eblot"; repo = "pyftdi"; tag = "v${version}"; - hash = "sha256-/MwgBqwN7xmZepdJzyRhZflbCUpGdWEbEGGKkBnKTFI="; + hash = "sha256-RkZXcGvCZXmFrLvj7YqHc6FeZskEqMSQcYgizBSuwIk="; }; build-system = [ setuptools ]; From f9b3101fa3d257ef9a02bb2583e2f8627a014735 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Fri, 15 Aug 2025 01:06:36 +0200 Subject: [PATCH 35/62] python313Packages.jsonargparse: 4.40.1 -> 4.40.2 Diff: https://github.com/omni-us/jsonargparse/compare/refs/tags/v4.40.1...refs/tags/v4.40.2 Changelog: https://github.com/omni-us/jsonargparse/blob/v4.40.2/CHANGELOG.rst --- pkgs/development/python-modules/jsonargparse/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/jsonargparse/default.nix b/pkgs/development/python-modules/jsonargparse/default.nix index 90588f7b6864..f1c6e76b41a3 100644 --- a/pkgs/development/python-modules/jsonargparse/default.nix +++ b/pkgs/development/python-modules/jsonargparse/default.nix @@ -24,7 +24,7 @@ buildPythonPackage rec { pname = "jsonargparse"; - version = "4.40.1"; + version = "4.40.2"; pyproject = true; disabled = pythonOlder "3.11"; @@ -33,7 +33,7 @@ buildPythonPackage rec { owner = "omni-us"; repo = "jsonargparse"; tag = "v${version}"; - hash = "sha256-GxltSN1o7vAZQXrejpBp5YMqOQaln8pqKxmGNa0vA/Q="; + hash = "sha256-3Zs2F46tGcvIF9UOGI/P079BZLJJyEyP9LDPRfvSk4E="; }; build-system = [ setuptools ]; From a6f62caabc3931c2fbb867d89d3c6e3aad1b6cb7 Mon Sep 17 00:00:00 2001 From: Doron Behar Date: Fri, 15 Aug 2025 02:08:17 +0300 Subject: [PATCH 36/62] python3.pkgs.nox: small new lines addition --- pkgs/development/python-modules/nox/default.nix | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/pkgs/development/python-modules/nox/default.nix b/pkgs/development/python-modules/nox/default.nix index 91e23202c525..9b223ee4e523 100644 --- a/pkgs/development/python-modules/nox/default.nix +++ b/pkgs/development/python-modules/nox/default.nix @@ -54,7 +54,9 @@ buildPythonPackage rec { uv = [ uv ]; }; - nativeCheckInputs = [ pytestCheckHook ]; + nativeCheckInputs = [ + pytestCheckHook + ]; preCheck = '' export HOME=$(mktemp -d) From 27fde96e92bc457db191437ad7ff62f00eaa6499 Mon Sep 17 00:00:00 2001 From: Doron Behar Date: Fri, 15 Aug 2025 02:09:38 +0300 Subject: [PATCH 37/62] python312.pkgs.nox: argument list reprdering --- pkgs/development/python-modules/nox/default.nix | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/pkgs/development/python-modules/nox/default.nix b/pkgs/development/python-modules/nox/default.nix index 9b223ee4e523..b12a6952df26 100644 --- a/pkgs/development/python-modules/nox/default.nix +++ b/pkgs/development/python-modules/nox/default.nix @@ -1,15 +1,23 @@ { lib, - argcomplete, buildPythonPackage, - colorlog, fetchFromGitHub, + pythonOlder, + + # build-system hatchling, + + # dependencies + argcomplete, + colorlog, jinja2, packaging, - pytestCheckHook, - pythonOlder, tomli, + + # tests + pytestCheckHook, + + # passthru tox, uv, virtualenv, From 016ae63d5a32dcf1334eebbb56a2c0ae46f5a466 Mon Sep 17 00:00:00 2001 From: Doron Behar Date: Fri, 15 Aug 2025 02:10:01 +0300 Subject: [PATCH 38/62] python312.pkgs.nox: no with lib; in meta --- pkgs/development/python-modules/nox/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/development/python-modules/nox/default.nix b/pkgs/development/python-modules/nox/default.nix index b12a6952df26..b22a79fe7383 100644 --- a/pkgs/development/python-modules/nox/default.nix +++ b/pkgs/development/python-modules/nox/default.nix @@ -84,12 +84,12 @@ buildPythonPackage rec { "tests/test_tox_to_nox.py" ]; - meta = with lib; { + meta = { description = "Flexible test automation for Python"; homepage = "https://nox.thea.codes/"; changelog = "https://github.com/wntrblm/nox/blob/${version}/CHANGELOG.md"; - license = licenses.asl20; - maintainers = with maintainers; [ + license = lib.licenses.asl20; + maintainers = with lib.maintainers; [ doronbehar fab ]; From 1ca9ac0b6215959786874aaabdfe7f585dca7c1b Mon Sep 17 00:00:00 2001 From: Doron Behar Date: Fri, 15 Aug 2025 02:10:57 +0300 Subject: [PATCH 39/62] python3.pkgs.nox: use writableTmpDirAsHomeHook --- pkgs/development/python-modules/nox/default.nix | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/pkgs/development/python-modules/nox/default.nix b/pkgs/development/python-modules/nox/default.nix index b22a79fe7383..6bb39ea3985e 100644 --- a/pkgs/development/python-modules/nox/default.nix +++ b/pkgs/development/python-modules/nox/default.nix @@ -16,6 +16,7 @@ # tests pytestCheckHook, + writableTmpDirAsHomeHook, # passthru tox, @@ -64,12 +65,9 @@ buildPythonPackage rec { nativeCheckInputs = [ pytestCheckHook + writableTmpDirAsHomeHook ]; - preCheck = '' - export HOME=$(mktemp -d) - ''; - pythonImportsCheck = [ "nox" ]; disabledTests = [ From cc080e4e579102182b9c9e18221d2abe94472b3c Mon Sep 17 00:00:00 2001 From: Doron Behar Date: Fri, 15 Aug 2025 02:13:05 +0300 Subject: [PATCH 40/62] python3.pkgs.nox: use src.tag in meta --- pkgs/development/python-modules/nox/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/development/python-modules/nox/default.nix b/pkgs/development/python-modules/nox/default.nix index 6bb39ea3985e..481cd7287483 100644 --- a/pkgs/development/python-modules/nox/default.nix +++ b/pkgs/development/python-modules/nox/default.nix @@ -85,7 +85,7 @@ buildPythonPackage rec { meta = { description = "Flexible test automation for Python"; homepage = "https://nox.thea.codes/"; - changelog = "https://github.com/wntrblm/nox/blob/${version}/CHANGELOG.md"; + changelog = "https://github.com/wntrblm/nox/blob/${src.tag}/CHANGELOG.md"; license = lib.licenses.asl20; maintainers = with lib.maintainers; [ doronbehar From 01ccbbc18f3dc4d3eb84e998e57dd66973251362 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Fri, 15 Aug 2025 00:32:10 +0200 Subject: [PATCH 41/62] python313Packages.nox: 2024.10.09 -> 2025.05.01 Changelog: https://github.com/wntrblm/nox/blob/2025.05.01/CHANGELOG.md --- .../python-modules/nox/default.nix | 27 ++++++-------- .../fix-broken-mock-on-cpython-3.12.8.patch | 35 ------------------- 2 files changed, 11 insertions(+), 51 deletions(-) delete mode 100644 pkgs/development/python-modules/nox/fix-broken-mock-on-cpython-3.12.8.patch diff --git a/pkgs/development/python-modules/nox/default.nix b/pkgs/development/python-modules/nox/default.nix index 481cd7287483..78777f18b4d8 100644 --- a/pkgs/development/python-modules/nox/default.nix +++ b/pkgs/development/python-modules/nox/default.nix @@ -8,11 +8,11 @@ hatchling, # dependencies + attrs, argcomplete, colorlog, + dependency-groups, jinja2, - packaging, - tomli, # tests pytestCheckHook, @@ -26,33 +26,26 @@ buildPythonPackage rec { pname = "nox"; - version = "2024.10.09"; + version = "2025.05.01"; pyproject = true; - disabled = pythonOlder "3.8"; + disabled = pythonOlder "3.12"; src = fetchFromGitHub { owner = "wntrblm"; repo = "nox"; tag = version; - hash = "sha256-GdNz34A8IKwPG/270sY5t3SoggGCZMWfDq/Wyhk0ez8="; + hash = "sha256-qH8oh7tmiJkXOobyDZMRZ62w2sRHJF8sh4PX+6s7M70="; }; - patches = [ - # Backport of https://github.com/wntrblm/nox/pull/903, which can be removed on next release - ./fix-broken-mock-on-cpython-3.12.8.patch - ]; - build-system = [ hatchling ]; dependencies = [ + attrs argcomplete colorlog - packaging + dependency-groups virtualenv - ] - ++ lib.optionals (pythonOlder "3.11") [ - tomli ]; optional-dependencies = { @@ -71,10 +64,12 @@ buildPythonPackage rec { pythonImportsCheck = [ "nox" ]; disabledTests = [ - # our conda is not available on 3.11 - "test__create_venv_options" # Assertion errors "test_uv" + # Test requires network access + "test_noxfile_script_mode_url_req" + # Don't test CLi mode + "test_noxfile_script_mode" ]; disabledTestPaths = [ diff --git a/pkgs/development/python-modules/nox/fix-broken-mock-on-cpython-3.12.8.patch b/pkgs/development/python-modules/nox/fix-broken-mock-on-cpython-3.12.8.patch deleted file mode 100644 index f634c3534b93..000000000000 --- a/pkgs/development/python-modules/nox/fix-broken-mock-on-cpython-3.12.8.patch +++ /dev/null @@ -1,35 +0,0 @@ -diff --git a/nox/command.py b/nox/command.py -index 671875c..4984168 100644 ---- a/nox/command.py -+++ b/nox/command.py -@@ -30,6 +30,8 @@ TYPE_CHECKING = False - if TYPE_CHECKING: - from typing import IO - -+_PLATFORM = sys.platform -+ - ExternalType = Literal["error", True, False] - - -@@ -63,7 +65,7 @@ def _clean_env(env: Mapping[str, str | None] | None = None) -> dict[str, str] | - clean_env = {k: v for k, v in env.items() if v is not None} - - # Ensure systemroot is passed down, otherwise Windows will explode. -- if sys.platform == "win32": -+ if _PLATFORM.startswith("win"): - clean_env.setdefault("SYSTEMROOT", os.environ.get("SYSTEMROOT", "")) - - return clean_env -diff --git a/tests/test_command.py b/tests/test_command.py -index ae398e9..904cf34 100644 ---- a/tests/test_command.py -+++ b/tests/test_command.py -@@ -157,7 +157,7 @@ def test_run_env_remove(monkeypatch): - ) - - --@mock.patch("sys.platform", "win32") -+@mock.patch("nox.command._PLATFORM", "win32") - def test_run_env_systemroot(): - systemroot = os.environ.setdefault("SYSTEMROOT", "sigil") - From fb20bd54d213955ba5f3ec44c3fa08ebfa22692d Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Fri, 15 Aug 2025 01:18:52 +0200 Subject: [PATCH 42/62] urlwatch: add addtional modules --- pkgs/by-name/ur/urlwatch/package.nix | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/ur/urlwatch/package.nix b/pkgs/by-name/ur/urlwatch/package.nix index 972cd24c1cfd..73429bad880c 100644 --- a/pkgs/by-name/ur/urlwatch/package.nix +++ b/pkgs/by-name/ur/urlwatch/package.nix @@ -12,22 +12,26 @@ python3Packages.buildPythonApplication rec { src = fetchFromGitHub { owner = "thp"; repo = "urlwatch"; - rev = version; + tag = version; hash = "sha256-X1UR9JrQuujOIUg87W0YqfXsM3A5nttWjjJMIe3hgk8="; }; build-system = with python3Packages; [ setuptools ]; dependencies = with python3Packages; [ + aioxmpp + beautifulsoup4 + cssbeautifier cssselect jq + jsbeautifier keyring lxml markdown2 matrix-client minidb - playwright platformdirs + playwright pushbullet-py pycodestyle pyyaml @@ -41,12 +45,13 @@ python3Packages.buildPythonApplication rec { meta = with lib; { description = "Tool for monitoring webpages for updates"; - mainProgram = "urlwatch"; homepage = "https://thp.io/2008/urlwatch/"; + changelog = "https://github.com/thp/urlwatch/blob/${src.tag}/CHANGELOG.md"; license = licenses.bsd3; maintainers = with maintainers; [ kmein tv ]; + mainProgram = "urlwatch"; }; } From 04c558495a0e5c2bf1c2573b025c8406c1a9fa92 Mon Sep 17 00:00:00 2001 From: GKHWB Date: Thu, 14 Aug 2025 10:39:45 -0400 Subject: [PATCH 43/62] jellyfin-tui: install desktop entry in postInstall --- pkgs/by-name/je/jellyfin-tui/package.nix | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/pkgs/by-name/je/jellyfin-tui/package.nix b/pkgs/by-name/je/jellyfin-tui/package.nix index 0c6b659a011e..5b7840e4b4a6 100644 --- a/pkgs/by-name/je/jellyfin-tui/package.nix +++ b/pkgs/by-name/je/jellyfin-tui/package.nix @@ -43,6 +43,10 @@ rustPlatform.buildRustPackage rec { ''; doInstallCheck = true; + postInstall = lib.optionalString stdenv.hostPlatform.isLinux '' + install -Dm644 src/extra/jellyfin-tui.desktop $out/share/applications/jellyfin-tui.desktop + ''; + passthru.updateScript = nix-update-script { }; meta = { From d51e231f5fc63ca95655b4d97f51d4f5bbf54673 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Fri, 15 Aug 2025 01:35:37 +0200 Subject: [PATCH 44/62] python313Packages.pyhomematic: refactor --- .../python-modules/pyhomematic/default.nix | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/pkgs/development/python-modules/pyhomematic/default.nix b/pkgs/development/python-modules/pyhomematic/default.nix index 8b6b6e68627c..a6cd5f14e724 100644 --- a/pkgs/development/python-modules/pyhomematic/default.nix +++ b/pkgs/development/python-modules/pyhomematic/default.nix @@ -1,32 +1,31 @@ { lib, buildPythonPackage, - isPy3k, + setuptools, fetchPypi, - python, + unittestCheckHook, }: buildPythonPackage rec { pname = "pyhomematic"; version = "0.1.78"; - format = "setuptools"; - - disabled = !isPy3k; + pyproject = true; src = fetchPypi { inherit pname version; hash = "sha256-uB9aDa1urIwL2DBdBwPi0sHWPW7SUZ3EaAjuMLSOudc="; }; - checkPhase = '' - ${python.interpreter} -m unittest - ''; + build-system = [ setuptools ]; + + nativeCheckInputs = [ unittestCheckHook ]; pythonImportsCheck = [ "pyhomematic" ]; meta = with lib; { description = "Python 3 Interface to interact with Homematic devices"; homepage = "https://github.com/danielperna84/pyhomematic"; + changelog = "https://github.com/danielperna84/pyhomematic/releases/tag/${version}"; license = licenses.mit; maintainers = with maintainers; [ dotlambda ]; }; From d5f9382fe782e4d17f466ca142dcbdc0c1eaf06f Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Fri, 15 Aug 2025 01:39:50 +0200 Subject: [PATCH 45/62] python313Packages.netdisco: refactor --- .../python-modules/netdisco/default.nix | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/pkgs/development/python-modules/netdisco/default.nix b/pkgs/development/python-modules/netdisco/default.nix index db1d17de07ca..3b90aaed74b4 100644 --- a/pkgs/development/python-modules/netdisco/default.nix +++ b/pkgs/development/python-modules/netdisco/default.nix @@ -1,26 +1,26 @@ { lib, buildPythonPackage, - isPy3k, fetchPypi, - requests, - zeroconf, pytestCheckHook, + requests, + setuptools, + zeroconf, }: buildPythonPackage rec { pname = "netdisco"; version = "3.0.0"; - format = "setuptools"; - - disabled = !isPy3k; + pyproject = true; src = fetchPypi { inherit pname version; hash = "sha256-TbtZBILzd8zEYeAXQnB8y+jx0tGyhXivkdybf+vNy9I="; }; - propagatedBuildInputs = [ + build-system = [ setuptools ]; + + dependencies = [ requests zeroconf ]; From 2b048f87101b03a45b792482e1e996f149018176 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Fri, 15 Aug 2025 01:45:09 +0200 Subject: [PATCH 46/62] python313Packages.vultr: refactor --- pkgs/development/python-modules/vultr/default.nix | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/pkgs/development/python-modules/vultr/default.nix b/pkgs/development/python-modules/vultr/default.nix index 4e10e0144243..79c4f1060722 100644 --- a/pkgs/development/python-modules/vultr/default.nix +++ b/pkgs/development/python-modules/vultr/default.nix @@ -3,21 +3,24 @@ buildPythonPackage, fetchFromGitHub, requests, + setuptools, }: buildPythonPackage rec { - version = "1.0.1"; - format = "setuptools"; pname = "vultr"; + version = "1.0.1"; + pyproject = true; src = fetchFromGitHub { owner = "spry-group"; repo = "python-vultr"; - rev = "v${version}"; - sha256 = "00lc5hdhchvm0472p03019bp9541d8y2773xkjy8vblq9qhys8q7"; + tag = "v${version}"; + hash = "sha256-ByPtIU6Yro28nH2cIzxqgZR0VwpggCsOAXVDBhssjAI="; }; - propagatedBuildInputs = [ requests ]; + build-system = [ setuptools ]; + + dependencies = [ requests ]; # Tests disabled. They fail because they try to access the network doCheck = false; @@ -27,6 +30,7 @@ buildPythonPackage rec { meta = with lib; { description = "Vultr.com API Client"; homepage = "https://github.com/spry-group/python-vultr"; + changelog = "https://github.com/spry-group/python-vultr/releases/tag/${src.tag}"; license = licenses.mit; maintainers = with maintainers; [ lihop ]; }; From 95abb61f1de17ba86e5e379c20d30d70b07bf91a Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Fri, 15 Aug 2025 01:52:53 +0200 Subject: [PATCH 47/62] python313Packages.sunwatcher: refactor --- .../python-modules/sunwatcher/default.nix | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/pkgs/development/python-modules/sunwatcher/default.nix b/pkgs/development/python-modules/sunwatcher/default.nix index 0fcac2bfb205..9729093eec66 100644 --- a/pkgs/development/python-modules/sunwatcher/default.nix +++ b/pkgs/development/python-modules/sunwatcher/default.nix @@ -4,21 +4,22 @@ fetchPypi, pythonOlder, requests, + setuptools, }: buildPythonPackage rec { pname = "sunwatcher"; version = "0.2.1"; - format = "setuptools"; - - disabled = pythonOlder "3.6"; + pyproject = true; src = fetchPypi { inherit pname version; - sha256 = "0swmvmmbfb914k473yv3fc4zizy2abq2qhd7h6lixli11l5wfjxv"; + hash = "sha256-u0vHCw0h0h6pgadBLPBSwv/4CXNj+3HIJCEtt2rdlWs="; }; - propagatedBuildInputs = [ requests ]; + build-system = [ setuptools ]; + + dependencies = [ requests ]; # Project has no tests doCheck = false; @@ -28,7 +29,7 @@ buildPythonPackage rec { meta = with lib; { description = "Python module for the SolarLog HTTP API"; homepage = "https://bitbucket.org/Lavode/sunwatcher/src/master/"; - license = with licenses; [ asl20 ]; + license = licenses.asl20; maintainers = with maintainers; [ fab ]; }; } From 8daf42ddf854f5e668f543299c6c619890c05cb4 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 15 Aug 2025 01:09:35 +0000 Subject: [PATCH 48/62] release-plz: 0.3.139 -> 0.3.140 --- pkgs/by-name/re/release-plz/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/re/release-plz/package.nix b/pkgs/by-name/re/release-plz/package.nix index 84ffbab32ec6..535fdaea13a8 100644 --- a/pkgs/by-name/re/release-plz/package.nix +++ b/pkgs/by-name/re/release-plz/package.nix @@ -11,16 +11,16 @@ rustPlatform.buildRustPackage rec { pname = "release-plz"; - version = "0.3.139"; + version = "0.3.140"; src = fetchFromGitHub { owner = "MarcoIeni"; repo = "release-plz"; rev = "release-plz-v${version}"; - hash = "sha256-s2PvMJu0RLO2AOMMonq4xdZlQXHrvKoqh4v9tp72Ud0="; + hash = "sha256-pJHyf1aSn4YqzFYW6otuRY+gJ6TBCKFGQuH2Py5uWlE="; }; - cargoHash = "sha256-S5YhAcEhTbiM0VCAy3IiObc1uCPbsIi0QqeFxocVqw4="; + cargoHash = "sha256-LfadgdrGD9g/PNeFs/XNUk2x0h1i3znzMhIV+w1DjMk="; nativeBuildInputs = [ installShellFiles From 4eb50086c13f1bb5088183330f14027194aa75e3 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 15 Aug 2025 03:46:42 +0000 Subject: [PATCH 49/62] libretro.flycast: 0-unstable-2025-08-01 -> 0-unstable-2025-08-12 --- pkgs/applications/emulators/libretro/cores/flycast.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/applications/emulators/libretro/cores/flycast.nix b/pkgs/applications/emulators/libretro/cores/flycast.nix index 2fbae3a49af2..3899f4f32820 100644 --- a/pkgs/applications/emulators/libretro/cores/flycast.nix +++ b/pkgs/applications/emulators/libretro/cores/flycast.nix @@ -8,13 +8,13 @@ }: mkLibretroCore { core = "flycast"; - version = "0-unstable-2025-08-01"; + version = "0-unstable-2025-08-12"; src = fetchFromGitHub { owner = "flyinghead"; repo = "flycast"; - rev = "40e400ab084175d3bd0f9e10cf8d6ac78c8b9544"; - hash = "sha256-k/w1tmuGuRD98bR/kmc/9pLFGeobHMhKQapJOv8qVJo="; + rev = "33833cfd1ed2d94d907223442fdb8cdafd8d5d80"; + hash = "sha256-6YXWJi3xbImfBMWILzsnwJGvj2XDoHcrWgLDPwaHfJs="; fetchSubmodules = true; }; From 4175b9b9520a77d7a17efa2da592f8281d1f3cd3 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 15 Aug 2025 04:13:15 +0000 Subject: [PATCH 50/62] tfmigrate: 0.4.2 -> 0.4.3 --- pkgs/by-name/tf/tfmigrate/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/tf/tfmigrate/package.nix b/pkgs/by-name/tf/tfmigrate/package.nix index 0b8ba744f031..54460e85527c 100644 --- a/pkgs/by-name/tf/tfmigrate/package.nix +++ b/pkgs/by-name/tf/tfmigrate/package.nix @@ -8,16 +8,16 @@ buildGoModule (finalAttrs: { pname = "tfmigrate"; - version = "0.4.2"; + version = "0.4.3"; src = fetchFromGitHub { owner = "minamijoyo"; repo = "tfmigrate"; tag = "v${finalAttrs.version}"; - hash = "sha256-+5nw+EgFTor8XL4cibxkpJL4fdEQ6UuEj5wyOjpaANA="; + hash = "sha256-tuLbcxJj8TsG3I/o3cHO2DtQm9ql3wlhYBtYiMbRW7o="; }; - vendorHash = "sha256-mm34U4nLow4lCz/AgfqYZJRb71GpQjR14+tm0hfmdDc="; + vendorHash = "sha256-TqZi5NZ+4eSzq98/ZM4Gab7Sud7bz1DNHrp5nGaGHDE="; checkFlags = [ "-skip TestExecutorDir" # assumes /usr/bin to be present From b3d8eabc35ca0ae7394d353286cb5a69a03160ca Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 15 Aug 2025 05:50:45 +0000 Subject: [PATCH 51/62] zizmor: 1.11.0 -> 1.12.1 --- pkgs/by-name/zi/zizmor/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/zi/zizmor/package.nix b/pkgs/by-name/zi/zizmor/package.nix index cde6a3164478..0ce9a1fd6dad 100644 --- a/pkgs/by-name/zi/zizmor/package.nix +++ b/pkgs/by-name/zi/zizmor/package.nix @@ -10,16 +10,16 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "zizmor"; - version = "1.11.0"; + version = "1.12.1"; src = fetchFromGitHub { owner = "zizmorcore"; repo = "zizmor"; tag = "v${finalAttrs.version}"; - hash = "sha256-zxEF76zpqwLroC5GjSkwIC3+XdXmErvabIEqhVe0zCA="; + hash = "sha256-GnKSbcsVYzbhsrwIUAEArltzQe0IE2tiIr2CqsMQyzk="; }; - cargoHash = "sha256-vxDyao9pX/CfS08vFmq3vXtgDIg5NXlEwpzroGW48dA="; + cargoHash = "sha256-wLJlaV59sAo97KI6Ekw42aaG6hVkul1wFvcC+71+Zp4="; nativeBuildInputs = lib.optionals (stdenv.buildPlatform.canExecute stdenv.hostPlatform) [ installShellFiles From 07ea5e782618f09397ef7dda3f7ddc549b84aff7 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 15 Aug 2025 07:11:47 +0000 Subject: [PATCH 52/62] vimPlugins.avante-nvim: 0.0.27-unstable-2025-08-06 -> 0.0.27-unstable-2025-08-14 --- .../vim/plugins/non-generated/avante-nvim/default.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/applications/editors/vim/plugins/non-generated/avante-nvim/default.nix b/pkgs/applications/editors/vim/plugins/non-generated/avante-nvim/default.nix index ba0190c093d1..3afecf4ffc90 100644 --- a/pkgs/applications/editors/vim/plugins/non-generated/avante-nvim/default.nix +++ b/pkgs/applications/editors/vim/plugins/non-generated/avante-nvim/default.nix @@ -12,18 +12,18 @@ pkgs, }: let - version = "0.0.27-unstable-2025-08-06"; + version = "0.0.27-unstable-2025-08-14"; src = fetchFromGitHub { owner = "yetone"; repo = "avante.nvim"; - rev = "2fc63d4128d2dc2fef0913c7480b4586959ebe4e"; - hash = "sha256-hHa300Ldszsnp6AuYVJwOFc5FfuRTd3phyM6/qBUIQo="; + rev = "be0937a459624ce1170f158f9d8660d0ade47eb4"; + hash = "sha256-1NzzyWW2Tp91wa+Ujv2cDTv/Cb/HgA6LiDuwxVWdJwU="; }; avante-nvim-lib = rustPlatform.buildRustPackage { pname = "avante-nvim-lib"; inherit version src; - cargoHash = "sha256-8mBpzndz34RrmhJYezd4hLrJyhVL4S4IHK3plaue1k8="; + cargoHash = "sha256-pTWCT2s820mjnfTscFnoSKC37RE7DAPKxP71QuM+JXQ="; nativeBuildInputs = [ pkg-config From aaed380fca00212c0d9958d6b5d7ac6fb8d9c803 Mon Sep 17 00:00:00 2001 From: Defelo Date: Fri, 15 Aug 2025 07:30:02 +0000 Subject: [PATCH 53/62] chhoto-url: 6.2.12 -> 6.2.13 Changelog: https://github.com/SinTan1729/chhoto-url/releases/tag/6.2.13 Diff: https://github.com/SinTan1729/chhoto-url/compare/6.2.12...6.2.13 --- pkgs/by-name/ch/chhoto-url/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/ch/chhoto-url/package.nix b/pkgs/by-name/ch/chhoto-url/package.nix index 2f73b19d3f68..2a9abd251ea6 100644 --- a/pkgs/by-name/ch/chhoto-url/package.nix +++ b/pkgs/by-name/ch/chhoto-url/package.nix @@ -8,13 +8,13 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "chhoto-url"; - version = "6.2.12"; + version = "6.2.13"; src = fetchFromGitHub { owner = "SinTan1729"; repo = "chhoto-url"; tag = finalAttrs.version; - hash = "sha256-hV/YWxOPRTojVTFIXwzqImBKyQ1dCDq5+bgCdS7T1p0="; + hash = "sha256-onGmDAVhT2lzq2pQ5runGuHgPdh1MjgFLU7DUvN7nt0="; }; sourceRoot = "${finalAttrs.src.name}/actix"; @@ -24,7 +24,7 @@ rustPlatform.buildRustPackage (finalAttrs: { --replace-fail "./resources/" "${placeholder "out"}/share/chhoto-url/resources/" ''; - cargoHash = "sha256-9wXbd56KOQ7suZqtg2cSFf2FGQJADFMHJbwAAxJ2V4g="; + cargoHash = "sha256-GbjbVr82Aj/CRdBl9gPGwHiyrc7l2F918DNnlEoPI58="; postInstall = '' mkdir -p $out/share/chhoto-url From 00793d7613f9f2008afb922cb406f63975d79b48 Mon Sep 17 00:00:00 2001 From: rina Date: Wed, 13 Aug 2025 00:38:34 +1000 Subject: [PATCH 54/62] llvmPackages: export `versions` from llvm/default.nix this will allow users of `/pkgs/development/compilers/llvm/default.nix` to introspect the current version of each llvm version. note that this is only exported from this default.nix, and will only be accessible to users who callPackage this directly. this new field will not be reachable from any llvmPackages in nixpkgs's exported packages. --- pkgs/development/compilers/llvm/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/development/compilers/llvm/default.nix b/pkgs/development/compilers/llvm/default.nix index 5bd54197fa05..c45eca79a9fe 100644 --- a/pkgs/development/compilers/llvm/default.nix +++ b/pkgs/development/compilers/llvm/default.nix @@ -94,4 +94,4 @@ let llvmPackages = lib.mapAttrs' (version: args: mkPackage (args // { inherit version; })) versions; in -llvmPackages // { inherit mkPackage; } +llvmPackages // { inherit mkPackage versions; } From 605429fb2c4f8ea98ce87c46131c643e292526d8 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Fri, 15 Aug 2025 09:37:54 +0200 Subject: [PATCH 55/62] python313Packages.timetagger: migrate to writableTmpDirAsHomeHook --- pkgs/development/python-modules/timetagger/default.nix | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/pkgs/development/python-modules/timetagger/default.nix b/pkgs/development/python-modules/timetagger/default.nix index ae02585f8ba0..2b82044811ec 100644 --- a/pkgs/development/python-modules/timetagger/default.nix +++ b/pkgs/development/python-modules/timetagger/default.nix @@ -15,6 +15,7 @@ pythonOlder, requests, uvicorn, + writableTmpDirAsHomeHook, }: buildPythonPackage rec { @@ -43,14 +44,11 @@ buildPythonPackage rec { uvicorn ]; - preCheck = '' - export HOME=$(mktemp -d) - ''; - nativeCheckInputs = [ nodejs pytestCheckHook requests + writableTmpDirAsHomeHook ]; meta = with lib; { From 06110ff25069bdf5a392be762529884cd547d5f9 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Fri, 15 Aug 2025 09:38:37 +0200 Subject: [PATCH 56/62] python313Packages.timetagger: remove with lib; --- pkgs/development/python-modules/timetagger/default.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/development/python-modules/timetagger/default.nix b/pkgs/development/python-modules/timetagger/default.nix index 2b82044811ec..3c59130bc3ee 100644 --- a/pkgs/development/python-modules/timetagger/default.nix +++ b/pkgs/development/python-modules/timetagger/default.nix @@ -51,12 +51,12 @@ buildPythonPackage rec { writableTmpDirAsHomeHook ]; - meta = with lib; { + meta = { description = "Library to interact with TimeTagger"; - mainProgram = "timetagger"; homepage = "https://github.com/almarklein/timetagger"; changelog = "https://github.com/almarklein/timetagger/releases/tag/${src.tag}"; - license = licenses.gpl3Only; - maintainers = with maintainers; [ matthiasbeyer ]; + license = lib.licenses.gpl3Only; + maintainers = with lib.maintainers; [ matthiasbeyer ]; + mainProgram = "timetagger"; }; } From 29364e1c301aa5199bb12104234ddd5e8321227e Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Fri, 15 Aug 2025 09:41:18 +0200 Subject: [PATCH 57/62] python313Packages.timetagger: modernize --- .../python-modules/timetagger/default.nix | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/pkgs/development/python-modules/timetagger/default.nix b/pkgs/development/python-modules/timetagger/default.nix index 3c59130bc3ee..af3444f39a1d 100644 --- a/pkgs/development/python-modules/timetagger/default.nix +++ b/pkgs/development/python-modules/timetagger/default.nix @@ -12,8 +12,8 @@ pscript, pyjwt, pytestCheckHook, - pythonOlder, requests, + setuptools, uvicorn, writableTmpDirAsHomeHook, }: @@ -21,9 +21,7 @@ buildPythonPackage rec { pname = "timetagger"; version = "25.06.1"; - format = "setuptools"; - - disabled = pythonOlder "3.6"; + pyproject = true; src = fetchFromGitHub { owner = "almarklein"; @@ -32,7 +30,9 @@ buildPythonPackage rec { hash = "sha256-fuZj4DoqtgIcRd/u7l0GsWqmuLEgF3BW5gN5wY8FdK0="; }; - propagatedBuildInputs = [ + build-system = [ setuptools ]; + + dependencies = [ asgineer bcrypt iptools @@ -51,6 +51,8 @@ buildPythonPackage rec { writableTmpDirAsHomeHook ]; + pythonImportsCheck = [ "timetagger" ]; + meta = { description = "Library to interact with TimeTagger"; homepage = "https://github.com/almarklein/timetagger"; From 7b5046a88d7218ccb2ef837806aa0b996c922a3c Mon Sep 17 00:00:00 2001 From: Ryan Yin Date: Thu, 14 Aug 2025 14:24:13 +0800 Subject: [PATCH 58/62] Revert "tiled: 1.11.2 -> 1.11.90", disable auto update 1.11.90 is an alpha pre-release, and is actually older than 1.11.2 This revert commit c7320fe37790168250d413bddfd0ad6b16b22719 --- pkgs/applications/editors/tiled/default.nix | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/editors/tiled/default.nix b/pkgs/applications/editors/tiled/default.nix index 773b149a0b6f..e5e031b2b1f4 100644 --- a/pkgs/applications/editors/tiled/default.nix +++ b/pkgs/applications/editors/tiled/default.nix @@ -28,13 +28,14 @@ in stdenv.mkDerivation rec { pname = "tiled"; - version = "1.11.90"; + # nixpkgs-update: no auto update + version = "1.11.2"; src = fetchFromGitHub { owner = "mapeditor"; repo = pname; rev = "v${version}"; - sha256 = "sha256-gGsozdFEE5c315DF+EsIY9wGv50wwrOBycejTkVwEHA="; + sha256 = "sha256-9oUKn51MQcsStgIJrp9XW5YAIpAUcO0kzfGnYA3gz/E="; }; nativeBuildInputs = [ From eb00513a4dd4e9f05cd9fddf20f443a31f227867 Mon Sep 17 00:00:00 2001 From: genga Date: Fri, 15 Aug 2025 10:51:22 +0300 Subject: [PATCH 59/62] waytrogen: migrate to finalAttrs --- pkgs/by-name/wa/waytrogen/package.nix | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/pkgs/by-name/wa/waytrogen/package.nix b/pkgs/by-name/wa/waytrogen/package.nix index 27aec72ba5b3..922b7e0e19e4 100644 --- a/pkgs/by-name/wa/waytrogen/package.nix +++ b/pkgs/by-name/wa/waytrogen/package.nix @@ -16,19 +16,19 @@ desktop-file-utils, }: -stdenv.mkDerivation rec { +stdenv.mkDerivation (finalAttrs: { pname = "waytrogen"; version = "0.7.3"; src = fetchFromGitHub { owner = "nikolaizombie1"; repo = "waytrogen"; - tag = version; + tag = finalAttrs.version; hash = "sha256-vFzOGadWR5xwhIKrKPHoAHstoeyFw4GrS5aYlpvEF5E="; }; cargoDeps = rustPlatform.fetchCargoVendor { - inherit pname version src; + inherit (finalAttrs) pname version src; hash = "sha256-k6n6aWEJ/8Dkbd68CJfJ7kbRTltCuQ4AtZ5dALFD3lU="; }; @@ -67,7 +67,7 @@ stdenv.mkDerivation rec { in the Rust 🦀 programming language. Supports hyprpaper, swaybg, mpvpaper and swww wallpaper changers. ''; homepage = "https://github.com/nikolaizombie1/waytrogen"; - changelog = "https://github.com/nikolaizombie1/waytrogen/releases/tag/${version}"; + changelog = "https://github.com/nikolaizombie1/waytrogen/releases/tag/${finalAttrs.version}"; license = lib.licenses.unlicense; maintainers = with lib.maintainers; [ genga898 @@ -76,4 +76,4 @@ stdenv.mkDerivation rec { mainProgram = "waytrogen"; platforms = lib.platforms.linux; }; -} +}) From b4a57f32ac3c040555508feae4a29f5eeaed26e6 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 15 Aug 2025 08:15:04 +0000 Subject: [PATCH 60/62] simplotask: 1.17.2 -> 1.18.0 --- pkgs/by-name/si/simplotask/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/si/simplotask/package.nix b/pkgs/by-name/si/simplotask/package.nix index 66c0d21ebe0d..d98b732ee128 100644 --- a/pkgs/by-name/si/simplotask/package.nix +++ b/pkgs/by-name/si/simplotask/package.nix @@ -7,13 +7,13 @@ buildGoModule (finalAttrs: { pname = "simplotask"; - version = "1.17.2"; + version = "1.18.0"; src = fetchFromGitHub { owner = "umputun"; repo = "spot"; tag = "v${finalAttrs.version}"; - hash = "sha256-7EavT4IHEAe3nq6tkhX7qHpDzy7UTdBMZ7x/bquv4Z8="; + hash = "sha256-0XAxjh9TWMqMkeSEhdgXX9DflHnT40f7VkHgp1QjQUg="; }; vendorHash = null; From def592b4106c1fa4f9198be1ea5cb72a94241643 Mon Sep 17 00:00:00 2001 From: Pavol Rusnak Date: Fri, 15 Aug 2025 10:34:50 +0200 Subject: [PATCH 61/62] crush: 0.5.0 -> 0.6.1 --- pkgs/by-name/cr/crush/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/cr/crush/package.nix b/pkgs/by-name/cr/crush/package.nix index d7578f1aaffc..8ccf5e0f0454 100644 --- a/pkgs/by-name/cr/crush/package.nix +++ b/pkgs/by-name/cr/crush/package.nix @@ -9,16 +9,16 @@ buildGoModule (finalAttrs: { pname = "crush"; - version = "0.5.0"; + version = "0.6.1"; src = fetchFromGitHub { owner = "charmbracelet"; repo = "crush"; tag = "v${finalAttrs.version}"; - hash = "sha256-u2w19Xmcm3cx/B8QRNGaP2qeg+Cif/L92RNlJav6H3w="; + hash = "sha256-QUYNJ2Ifny9Zj9YVQHcH80E2qa4clWVg2T075IEWujM="; }; - vendorHash = "sha256-H92TgZoWdYQ863AAb2116zJtmgkKXh2hRoEBRcn5zeA="; + vendorHash = "sha256-vdzAVVGr7uTW/A/I8TcYW189E3960SCIqatu7Kb60hg="; # rename TestMain to prevent it from running, as it panics in the sandbox. postPatch = '' From 78ac637056ad0f56c147ab1bd3a563756b29e565 Mon Sep 17 00:00:00 2001 From: Johannes Kirschbauer Date: Thu, 3 Jul 2025 13:42:45 +0200 Subject: [PATCH 62/62] lib: init lists.uniqueStrings --- lib/default.nix | 1 + lib/lists.nix | 43 ++++++++++++++++++++++++++++++- lib/tests/misc.nix | 64 ++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 107 insertions(+), 1 deletion(-) diff --git a/lib/default.nix b/lib/default.nix index d45e6de0c33f..875a1b9bb3ef 100644 --- a/lib/default.nix +++ b/lib/default.nix @@ -287,6 +287,7 @@ let init crossLists unique + uniqueStrings allUnique intersectLists subtractLists diff --git a/lib/lists.nix b/lib/lists.nix index ec0fe22d2afa..226e264176a0 100644 --- a/lib/lists.nix +++ b/lib/lists.nix @@ -11,7 +11,7 @@ let warn pipe ; - inherit (lib.attrsets) mapAttrs; + inherit (lib.attrsets) mapAttrs attrNames; inherit (lib) max; in rec { @@ -1839,6 +1839,10 @@ rec { /** Remove duplicate elements from the `list`. O(n^2) complexity. + :::{.note} + If the list only contains strings and order is not important, the complexity can be reduced to O(n log n) by using [`lib.lists.uniqueStrings`](#function-library-lib.lists.uniqueStrings) instead. + ::: + # Inputs `list` @@ -1864,6 +1868,43 @@ rec { */ unique = foldl' (acc: e: if elem e acc then acc else acc ++ [ e ]) [ ]; + /** + Removes duplicate strings from the `list`. O(n log n) complexity. + + :::{.note} + Order is not preserved. + + All elements of the list must be strings without context. + + This function fails when the list contains a non-string element or a [string with context](https://nix.dev/manual/nix/latest/language/string-context.html). + In that case use [`lib.lists.unique`](#function-library-lib.lists.unique) instead. + ::: + + # Inputs + + `list` + + : List of strings + + # Type + + ``` + uniqueStrings :: [ String ] -> [ String ] + ``` + + # Examples + :::{.example} + ## `lib.lists.uniqueStrings` usage example + + ```nix + uniqueStrings [ "foo" "bar" "foo" ] + => [ "bar" "foo" ] # order is not preserved + ``` + + ::: + */ + uniqueStrings = list: attrNames (groupBy id list); + /** Check if list contains only unique elements. O(n^2) complexity. diff --git a/lib/tests/misc.nix b/lib/tests/misc.nix index a723d198cb88..2662118a36e4 100644 --- a/lib/tests/misc.nix +++ b/lib/tests/misc.nix @@ -113,6 +113,7 @@ let toIntBase10 toShellVars types + uniqueStrings updateManyAttrsByPath versions xor @@ -1934,6 +1935,69 @@ runTests { expected = false; }; + testUniqueStrings_empty = { + expr = uniqueStrings [ ]; + expected = [ ]; + }; + testUniqueStrings_singles = { + expr = uniqueStrings [ + "all" + "unique" + "already" + ]; + expected = [ + "all" + "already" + "unique" + ]; + }; + testUniqueStrings_allDuplicates = { + expr = uniqueStrings [ + "dup" + "dup" + "dup" + ]; + expected = [ "dup" ]; + }; + testUniqueStrings_some_duplicates = { + expr = uniqueStrings [ + "foo" + "foo" + "bar" + "bar" + "baz" + ]; + expected = [ + "bar" + "baz" + "foo" + ]; + }; + testUniqueStrings_unicode = { + expr = uniqueStrings [ + "café" + "@" + "#" + "@" + "#" + "$" + "😎" + "😎" + "🙃" + "" + "" + ]; + expected = [ + "" + "#" + "$" + "@" + "café" + "😎" + "🙃" + ]; + }; + # ATTRSETS testConcatMapAttrs = {