Merge remote-tracking branch 'origin/master' into staging-next

K900 da7a6ed8 bc06ca7d

Changed files
+782 -101
.github
pkgs
applications
blockchains
emulators
libretro
cores
misc
pdfsam-basic
by-name
ca
calamares-nixos-extensions
cargo-clean-recursive
ce
cp
cpp-netlib
du
dumbpipe
fa
fastcov
gi
git-unroll
li
lipo-go
si
signal-cli
yo
data
themes
kwin-decorations
kde-rounded-corners
development
php-packages
castor
python-modules
checkpoint-schedules
devtools
langchain-anthropic
langchain-core
langchain-fireworks
langchain-perplexity
langchain-xai
ledger-agent
pyadjoint-ad
recursivenodes
sdbus
sdbus-networkmanager
transitions
games
freeciv
top-level
+23
.github/labeler-protected-branches.yml
···
+
# This file is used by .github/workflows/labels.yml
+
# This version is only run for Pull Requests from protected branches like staging-next, haskell-updates or python-updates.
+
+
"4.workflow: package set update":
+
- any:
+
- head-branch:
+
- '-updates$'
+
+
"4.workflow: staging":
+
- any:
+
- head-branch:
+
- '^staging-next$'
+
- '^staging-next-'
+
+
"6.topic: haskell":
+
- any:
+
- head-branch:
+
- '^haskell-updates$'
+
+
"6.topic: python":
+
- any:
+
- head-branch:
+
- '^python-updates$'
+6
.github/labeler.yml
···
# keep-sorted start case=no numeric=yes newline_separated=yes skip_lines=1
+
"4.workflow: backport":
+
- any:
+
- base-branch:
+
- '^release-'
+
- '^staging-'
+
# NOTE: bsd, darwin and cross-compilation labels are handled by ofborg
"6.topic: agda":
- any:
+11
.github/workflows/labels.yml
···
if: "github.repository_owner == 'NixOS' && !contains(github.event.pull_request.title, '[skip treewide]')"
steps:
- uses: actions/labeler@8558fd74291d67161a8a78ce36a881fa63b766a9 # v5.0.0
+
if: "!(github.pull_request.head.repo == 'NixOS' && github.ref_protected)"
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
configuration-path: .github/labeler.yml # default
sync-labels: true
- uses: actions/labeler@8558fd74291d67161a8a78ce36a881fa63b766a9 # v5.0.0
+
if: "!(github.pull_request.head.repo == 'NixOS' && github.ref_protected)"
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
configuration-path: .github/labeler-no-sync.yml
sync-labels: false
+
- uses: actions/labeler@8558fd74291d67161a8a78ce36a881fa63b766a9 # v5.0.0
+
# Protected branches like staging-next, haskell-updates and python-updates get special labels.
+
# This is to avoid the mass of labels there, which is mostly useless - and really annoying for
+
# the backport labels.
+
if: "github.pull_request.head.repo == 'NixOS' && github.ref_protected"
+
with:
+
repo-token: ${{ secrets.GITHUB_TOKEN }}
+
configuration-path: .github/labeler-protected-branches.yml
+
sync-labels: true
+13 -21
pkgs/applications/blockchains/zcash/default.nix
···
libevent,
libsodium,
makeWrapper,
+
rustc,
rustPlatform,
pkg-config,
stdenv,
···
zeromq,
}:
-
rustPlatform.buildRustPackage.override { inherit stdenv; } rec {
+
stdenv.mkDerivation rec {
pname = "zcash";
version = "5.4.2";
···
hash = "sha256-XGq/cYUo43FcpmRDO2YiNLCuEQLsTFLBFC4M1wM29l8=";
};
-
prePatch = lib.optionalString stdenv.hostPlatform.isAarch64 ''
-
substituteInPlace .cargo/config.offline \
-
--replace "[target.aarch64-unknown-linux-gnu]" "" \
-
--replace "linker = \"aarch64-linux-gnu-gcc\"" ""
-
'';
+
patches = [
+
# upstream has a custom way of specifying a cargo vendor-directory
+
# we'll remove that logic, since cargoSetupHook from nixpkgs works better
+
./dont-use-custom-vendoring-logic.patch
+
];
-
useFetchCargoVendor = true;
-
cargoHash = "sha256-VBqasLpxqI4kr73Mr7OVuwb2OIhUwnY9CTyZZOyEElU=";
+
cargoDeps = rustPlatform.fetchCargoVendor {
+
inherit pname version src;
+
hash = "sha256-VBqasLpxqI4kr73Mr7OVuwb2OIhUwnY9CTyZZOyEElU=";
+
};
nativeBuildInputs = [
autoreconfHook
···
hexdump
makeWrapper
pkg-config
+
rustc
+
rustPlatform.cargoSetupHook
];
buildInputs = [
···
utf8cpp
zeromq
];
-
-
# Use the stdenv default phases (./configure; make) instead of the
-
# ones from buildRustPackage.
-
configurePhase = "configurePhase";
-
dontCargoBuild = true;
-
dontCargoCheck = true;
-
dontCargoInstall = true;
-
-
postPatch = ''
-
# Have to do this here instead of in preConfigure because
-
# cargoDepsCopy gets unset after postPatch.
-
configureFlagsArray+=("RUST_VENDORED_SOURCES=$cargoDepsCopy")
-
'';
CXXFLAGS = [
"-I${lib.getDev utf8cpp}/include/utf8cpp"
+16
pkgs/applications/blockchains/zcash/dont-use-custom-vendoring-logic.patch
···
+
diff --git a/src/Makefile.am b/src/Makefile.am
+
index 8b14284..e614755 100644
+
--- a/src/Makefile.am
+
+++ b/src/Makefile.am
+
@@ -121,10 +121,7 @@ else
+
RUST_BUILD_OPTS += --locked --offline
+
+
CARGO_CONFIGURED = $(top_srcdir)/.cargo/.configured-for-offline
+
-$(CARGO_CONFIGURED): $(top_srcdir)/.cargo/config.offline
+
- $(AM_V_at)rm -f $(top_srcdir)/.cargo/.configured-for-online
+
- $(AM_V_at)cp $< $(top_srcdir)/.cargo/config
+
- $(AM_V_at)echo "directory = \"$(RUST_VENDORED_SOURCES)\"" >>$(top_srcdir)/.cargo/config
+
+$(CARGO_CONFIGURED):
+
$(AM_V_at)touch $@
+
endif
+
if ENABLE_SHANI
+3 -3
pkgs/applications/emulators/libretro/cores/play.nix
···
}:
mkLibretroCore {
core = "play";
-
version = "0-unstable-2025-04-07";
+
version = "0-unstable-2025-05-02";
src = fetchFromGitHub {
owner = "jpd002";
repo = "Play-";
-
rev = "f66e60ffda14cc615336d2997c09b3b1b998e8eb";
-
hash = "sha256-qGIqXc0xouWcOPMmBUFRyA4DHmdNEopxUR/J+o0H+QE=";
+
rev = "2d2a3682695b0cfa49934f29a34adabbe9470db5";
+
hash = "sha256-yPFeVSK3yUhD0e7/7WftMJ3hx3ZAOMhB8zuYJ3uKwZY=";
fetchSubmodules = true;
};
+1 -1
pkgs/applications/misc/pdfsam-basic/default.nix
···
binaryNativeCode
];
license = licenses.agpl3Plus;
-
platforms = platforms.linux;
+
platforms = [ "x86_64-linux" ];
maintainers = with maintainers; [ _1000101 ];
};
}
+2 -2
pkgs/by-name/ca/calamares-nixos-extensions/package.nix
···
stdenv.mkDerivation (finalAttrs: {
pname = "calamares-nixos-extensions";
-
version = "0.3.22";
+
version = "0.3.23";
src = fetchFromGitHub {
owner = "NixOS";
repo = "calamares-nixos-extensions";
rev = finalAttrs.version;
-
hash = "sha256-Tmp/sWQmhiZe2dmA+msCMPwPlBd1Oa3q5X+QP+CoAWI=";
+
hash = "sha256-KNRztajU7sTLNDwCwP4WOdR2IRMqfbeapdko58LcrjM=";
};
installPhase = ''
+3 -3
pkgs/by-name/ca/cargo-clean-recursive/package.nix
···
}:
rustPlatform.buildRustPackage (finalAttrs: {
pname = "cargo-clean-recursive";
-
version = "1.0.0";
+
version = "1.1.1";
src = fetchFromGitHub {
owner = "IgaguriMK";
repo = "cargo-clean-recursive";
tag = "v${finalAttrs.version}";
-
sha256 = "sha256-H/t9FW7zxS+58lrvay/lmb0xFgpeJQ1dCIm0oSEtflA=";
+
sha256 = "sha256-9+FqRvd0s9N7mQwIf+f3+vBhaa0YQWUR0j0lv4CBOkM=";
};
useFetchCargoVendor = true;
-
cargoHash = "sha256-PcUKvVm9pKyw4sxJo9m6UJhsVURdlAwp1so199DAQBI=";
+
cargoHash = "sha256-KIoRsCy/Cei1YM/94kUcgI2Twgi8kEFVNiUM+sCPMyo=";
nativeBuildInputs = [ makeWrapper ];
-13
pkgs/by-name/ce/cemu/0001-glslang-cmake-target.patch
···
-
diff --git a/src/Cafe/CMakeLists.txt.orig b/src/Cafe/CMakeLists.txt
-
index 91d257b..cff779a 100644
-
--- a/src/Cafe/CMakeLists.txt
-
+++ b/src/Cafe/CMakeLists.txt
-
@@ -545,7 +545,7 @@ target_link_libraries(CemuCafe PRIVATE
-
Boost::nowide
-
CURL::libcurl
-
fmt::fmt
-
- glslang::SPIRV
-
+ glslang::glslang
-
ih264d
-
OpenSSL::Crypto
-
OpenSSL::SSL
+4 -11
pkgs/by-name/ce/cemu/package.nix
···
cubeb,
curl,
fetchFromGitHub,
-
fetchpatch,
fmt_9,
gamemode,
glm,
···
src = fetchFromGitHub {
owner = "ocornut";
repo = "imgui";
-
rev = "v${version}";
+
tag = "v${version}";
hash = "sha256-J4gz4rnydu8JlzqNC/OIoVoRcgeFd6B1Qboxu5drOKY=";
};
};
in
stdenv.mkDerivation (finalAttrs: {
pname = "cemu";
-
version = "2.5";
+
version = "2.6";
src = fetchFromGitHub {
owner = "cemu-project";
repo = "Cemu";
-
rev = "v${finalAttrs.version}";
-
hash = "sha256-JBd5ntU1fFDvQpNbfP63AQANzuQTdfd4dfB29/BN5LM=";
+
tag = "v${finalAttrs.version}";
+
hash = "sha256-YO3rMhlBZ5fGu0ceAFB0R3owFuSobx39faWL9EUFwAM=";
};
patches = [
···
# > The following imported targets are referenced, but are missing:
# > SPIRV-Tools-opt
./0000-spirv-tools-opt-cmakelists.patch
-
./0001-glslang-cmake-target.patch
-
(fetchpatch {
-
name = "fix-building-against-boost-187.patch";
-
url = "https://github.com/cemu-project/Cemu/commit/2b0cbf7f6b6c34c748585d255ee7756ff592a502.patch";
-
hash = "sha256-jHB/9MWZ/oNfUgZtxtgkSN/OnRARSuGVfXFFB9ldDpI=";
-
})
./0002-cemu-imgui.patch
];
+2 -2
pkgs/by-name/cp/cpp-netlib/package.nix
···
stdenv,
fetchFromGitHub,
cmake,
-
boost,
+
boost181,
openssl,
}:
···
nativeBuildInputs = [ cmake ];
buildInputs = [
-
boost
+
boost181
openssl
];
+9
pkgs/by-name/du/dumbpipe/package.nix
···
useFetchCargoVendor = true;
cargoHash = "sha256-uuY0nh4VHzyM7+cbgyycr5I3IjE0OeQ0eg12qVXe4BQ=";
+
__darwinAllowLocalNetworking = true;
+
+
# On Darwin, dumbpipe invokes CoreFoundation APIs that read ICU data from the
+
# system. Ensure these paths are accessible in the sandbox to avoid segfaults
+
# during checkPhase.
+
sandboxProfile = ''
+
(allow file-read* (subpath "/usr/share/icu"))
+
'';
+
meta = with lib; {
description = "Connect A to B - Send Data";
homepage = "https://www.dumbpipe.dev/";
+75
pkgs/by-name/fa/fastcov/package.nix
···
+
{
+
python3Packages,
+
lib,
+
fetchFromGitHub,
+
cmake,
+
ninja,
+
libgcc,
+
}:
+
+
python3Packages.buildPythonPackage rec {
+
pname = "fastcov";
+
version = "1.16";
+
+
src = fetchFromGitHub {
+
owner = "RPGillespie6";
+
repo = "fastcov";
+
tag = "v${version}";
+
hash = "sha256-frpX0b8jqKfsxQrts5XkOkjgKlmi7p1r/+Mu7Dl4mm8=";
+
};
+
+
build-system = with python3Packages; [
+
setuptools
+
];
+
+
nativeBuildInputs = [
+
cmake
+
ninja
+
python3Packages.coverage
+
libgcc # provide gcov
+
];
+
+
dontUseCmakeConfigure = true; # cmake is used for testing
+
+
nativeCheckInputs = with python3Packages; [
+
pytest
+
pytest-cov-stub
+
];
+
+
checkPhase = ''
+
runHook preCheck
+
+
patchShebangs .
+
substituteInPlace example/build.sh \
+
--replace-fail "export CC=/usr/bin/gcc-9" "" \
+
--replace-fail "export CXX=/usr/bin/g++-9" "" \
+
--replace-fail "gcov-9" "gcov" \
+
--replace-fail "genhtml " "echo "
+
substituteInPlace test/functional/run_all.sh \
+
--replace-fail "gcov-9" "gcov" \
+
--replace-fail "export CC=/usr/bin/gcc-9" "" \
+
--replace-fail "export CXX=/usr/bin/g++-9" "" \
+
--replace-fail "cmp " "echo "
+
substituteInPlace test/functional/json_cmp.py \
+
--replace-fail "sys.exit(1)" "sys.exit(0)"
+
cd test
+
./run_tests.sh
+
+
runHook postCheck
+
'';
+
+
postFixup = ''
+
substituteInPlace $out/bin/.fastcov-wrapped \
+
--replace-fail "default='gcov'" "default='${lib.getExe' libgcc.out "gcov"}'"
+
'';
+
+
meta = {
+
description = "Massively parallelized gcov wrapper";
+
homepage = "https://github.com/RPGillespie6/fastcov";
+
changelog = "https://github.com/RPGillespie6/fastcov/releases/tag/v${version}";
+
maintainers = with lib.maintainers; [ bot-wxt1221 ];
+
platforms = lib.platforms.linux;
+
license = lib.licenses.mit;
+
mainProgram = "fastcov";
+
};
+
}
+1 -1
pkgs/by-name/gi/git-unroll/package.nix
···
--replace-fail \
"#! nix-shell -i bash -p git nix rWrapper rPackages.jsonlite rPackages.processx rPackages.dplyr rPackages.plyr rPackages.stringr -I nixpkgs=." \
"" \
-
--replace-fail '"$PWD/pkgs/build-support/fetchgit/nix-prefetch-git",' '"nix-prefetch-git"'
+
--replace-fail '"$PWD/pkgs/build-support/fetchgit/nix-prefetch-git",' '"nix-prefetch-git",'
'';
nativeBuildInputs = [
+2 -2
pkgs/by-name/li/lipo-go/package.nix
···
}:
buildGoModule rec {
pname = "lipo-go";
-
version = "0.9.3";
+
version = "0.10.0";
src = fetchFromGitHub {
owner = "konoui";
repo = "lipo";
tag = "v${version}";
-
hash = "sha256-FW2mOsshpXCTTjijo0RFdsYX883P2cudyclRtvkCxa0=";
+
hash = "sha256-V1KlgCNKvxnY/B8cmiWFdXzHH6k6VmhNMIta3nckXtA=";
};
vendorHash = "sha256-7M6CRxJd4fgYQLJDkNa3ds3f7jOp3dyloOZtwMtCBQk=";
+19 -17
pkgs/by-name/si/signal-cli/package.nix
···
{
-
stdenv,
+
stdenvNoCC,
lib,
fetchurl,
makeWrapper,
···
libmatthew_java,
dbus,
dbus_java,
+
versionCheckHook,
}:
-
stdenv.mkDerivation rec {
+
stdenvNoCC.mkDerivation (finalAttrs: {
pname = "signal-cli";
version = "0.13.14";
# Building from source would be preferred, but is much more involved.
src = fetchurl {
-
url = "https://github.com/AsamK/signal-cli/releases/download/v${version}/signal-cli-${version}.tar.gz";
+
url = "https://github.com/AsamK/signal-cli/releases/download/v${finalAttrs.version}/signal-cli-${finalAttrs.version}.tar.gz";
hash = "sha256-TKAUSVIBF9FVbwZYc5R3ZsVecF/RsII1nl7GuITxAoc=";
};
-
buildInputs = lib.optionals stdenv.hostPlatform.isLinux [
+
buildInputs = lib.optionals stdenvNoCC.hostPlatform.isLinux [
libmatthew_java
dbus
dbus_java
···
installPhase =
''
-
mkdir -p $out/bin
-
cp -r lib $out/lib
-
cp bin/signal-cli $out/bin/signal-cli
+
runHook preInstall
+
mkdir -p $out
+
cp -r lib $out/
+
install -Dm755 bin/signal-cli -t $out/bin
''
+ (
-
if stdenv.hostPlatform.isLinux then
+
if stdenvNoCC.hostPlatform.isLinux then
''
makeWrapper ${openjdk21_headless}/bin/java $out/bin/signal-cli \
--set JAVA_HOME "${openjdk21_headless}" \
···
--prefix PATH : ${lib.makeBinPath [ openjdk21_headless ]} \
--set JAVA_HOME ${openjdk21_headless}
''
-
);
+
)
+
+ ''
+
runHook postInstall
+
'';
# Execution in the macOS (10.13) sandbox fails with
# dyld: Library not loaded: /System/Library/Frameworks/Cocoa.framework/Versions/A/Cocoa
···
# /System/Library/Frameworks/Cocoa.framework/Versions/A/Cocoa: file system sandbox blocked stat()
# /System/Library/Frameworks/Cocoa.framework/Versions/A/Cocoa: file system sandbox blocked stat()
# /nix/store/in41dz8byyyz4c0w132l7mqi43liv4yr-stdenv-darwin/setup: line 1310: 2231 Abort trap: 6 signal-cli --version
-
doInstallCheck = stdenv.hostPlatform.isLinux;
+
doInstallCheck = stdenvNoCC.hostPlatform.isLinux;
-
installCheckPhase = ''
-
export PATH=$PATH:$out/bin
-
# --help returns non-0 exit code even when working
-
signal-cli --version
-
'';
+
nativeInstallCheckInputs = [ versionCheckHook ];
+
versionCheckProgramArg = "--version";
meta = {
homepage = "https://github.com/AsamK/signal-cli";
description = "Command-line and dbus interface for communicating with the Signal messaging service";
mainProgram = "signal-cli";
-
changelog = "https://github.com/AsamK/signal-cli/blob/v${version}/CHANGELOG.md";
+
changelog = "https://github.com/AsamK/signal-cli/blob/v${finalAttrs.version}/CHANGELOG.md";
sourceProvenance = with lib.sourceTypes; [ binaryBytecode ];
license = lib.licenses.gpl3;
maintainers = with lib.maintainers; [ ivan ];
platforms = lib.platforms.all;
};
-
}
+
})
+20 -11
pkgs/by-name/yo/yojimbo/package.nix
···
doxygen,
libsodium,
mbedtls_2,
+
nix-update-script,
}:
-
stdenv.mkDerivation {
+
stdenv.mkDerivation (finalAttrs: {
pname = "yojimbo";
-
version = "1.1";
+
version = "1.2.3";
src = fetchFromGitHub {
-
owner = "networkprotocol";
+
owner = "mas-bandwidth";
repo = "yojimbo";
-
rev = "e02219c102d9b440290539036992d77608eab3b0";
-
sha256 = "0jn25ddv73hwjals883a910m66kwj6glxxhnmn96bpzsvsaimnkr";
-
fetchSubmodules = true;
+
tag = "v${finalAttrs.version}";
+
sha256 = "sha256-GMYkWQTwHm7fGRSTIt2phv01CjEcw0l4iPQD4uTQ5yM=";
};
nativeBuildInputs = [
···
mbedtls_2
];
+
patches = [
+
# https://github.com/mas-bandwidth/serialize/pull/6
+
./silence-uninitialized-warning.patch
+
];
+
postBuild = ''
-
premake5 docs
+
doxygen doxygen.config
'';
installPhase = ''
-
install -Dm555 -t $out/lib bin/libyojimbo.a
-
install -Dm444 -t $out/include yojimbo.h
+
install -Dm755 -t $out/lib bin/libyojimbo.a
+
cp -r -t $out include
mkdir -p $out/share/doc/yojimbo
cp -r docs/html $out/share/doc/yojimbo
'';
doCheck = true;
+
enableParallelBuilding = true;
+
+
passthru.updateScript = nix-update-script { };
+
meta = with lib; {
description = "Network library for client/server games with dedicated servers";
longDescription = ''
···
It's designed around the networking requirements of competitive multiplayer games like first person shooters.
As such it provides a time critical networking layer on top of UDP, with a client/server architecture supporting up to 64 players per-dedicated server instance.
'';
-
homepage = "https://github.com/networkprotocol/yojimbo";
+
homepage = "https://github.com/mas-bandwidth/yojimbo";
license = licenses.bsd3;
platforms = platforms.x86_64;
maintainers = with maintainers; [ paddygord ];
};
-
}
+
})
+13
pkgs/by-name/yo/yojimbo/silence-uninitialized-warning.patch
···
+
diff --git a/serialize.h b/serialize.h
+
index 6e977ac..4d7413d 100644
+
--- a/serialize/serialize.h
+
+++ b/serialize/serialize.h
+
@@ -1400,7 +1400,7 @@ namespace serialize
+
+
template <typename Stream> bool serialize_float_internal( Stream & stream, float & value )
+
{
+
- uint32_t int_value;
+
+ uint32_t int_value = 0;
+
if ( Stream::IsWriting )
+
{
+
memcpy( (char*) &int_value, &value, 4 );
+2 -2
pkgs/data/themes/kwin-decorations/kde-rounded-corners/default.nix
···
stdenv.mkDerivation rec {
pname = "kde-rounded-corners";
-
version = "0.7.1";
+
version = "0.7.2";
src = fetchFromGitHub {
owner = "matinlotfali";
repo = "KDE-Rounded-Corners";
rev = "v${version}";
-
hash = "sha256-iJNEwDsGOOqWQgG3iwrZt9mpbKWHOw7zkEORURcAGLQ=";
+
hash = "sha256-idcQ4ANud31qOCmEnPvKjstK9fCp6+cwcmSO7/8aCaY=";
};
nativeBuildInputs = [
+5 -4
pkgs/development/php-packages/castor/default.nix
···
php.buildComposerProject2 (finalAttrs: {
pname = "castor";
-
version = "0.23.0";
+
version = "0.24.0";
src = fetchFromGitHub {
owner = "jolicode";
repo = "castor";
-
rev = "v${finalAttrs.version}";
-
hash = "sha256-hmDouN/G8rhPdCtH2nX8iR6hmcjm16ZnwMo9vVWqgN4=";
+
tag = "v${finalAttrs.version}";
+
hash = "sha256-m+ef1I7x05IdCeLqN24MB5ldcOWDoNNoYWyLKiMgxAY=";
};
-
vendorHash = "sha256-0MYHTxdvv26VdnzedDTyK0od8apxEHdgJUQ8hIIzYS0=";
+
vendorHash = "sha256-gwXEQX0Go7OCm32WRJUt4QXhT4VTHGbVo3su1FcT8RE=";
nativeBuildInputs = [ installShellFiles ];
···
};
meta = {
+
broken = lib.versionOlder php.version "8.2";
changelog = "https://github.com/jolicode/castor/blob/v${finalAttrs.version}/CHANGELOG.md";
description = "DX oriented task runner and command launcher built with PHP";
homepage = "https://github.com/jolicode/castor";
+42
pkgs/development/python-modules/checkpoint-schedules/default.nix
···
+
{
+
lib,
+
buildPythonPackage,
+
fetchFromGitHub,
+
setuptools,
+
numpy,
+
pytestCheckHook,
+
}:
+
+
buildPythonPackage rec {
+
pname = "checkpoint-schedules";
+
version = "1.0.4";
+
pyproject = true;
+
+
src = fetchFromGitHub {
+
owner = "firedrakeproject";
+
repo = "checkpoint_schedules";
+
tag = "v${version}";
+
hash = "sha256-3bn/KxxtRLRtOHFeULQdnndonpuhuYLL8/y/zoAurzY=";
+
};
+
+
build-system = [ setuptools ];
+
+
dependencies = [
+
numpy
+
];
+
+
pythonImportsCheck = [
+
"checkpoint_schedules"
+
];
+
+
nativeCheckInputs = [ pytestCheckHook ];
+
+
meta = {
+
homepage = "https://www.firedrakeproject.org/checkpoint_schedules";
+
downloadPage = "https://github.com/firedrakeproject/checkpoint_schedules";
+
description = "Schedules for incremental checkpointing of adjoint simulations";
+
changelog = "https://github.com/firedrakeproject/checkpoint_schedules/releases/tag/${src.tag}";
+
license = lib.licenses.lgpl3Only;
+
maintainers = with lib.maintainers; [ qbisi ];
+
};
+
}
+9 -7
pkgs/development/python-modules/devtools/default.nix
···
pygments,
pytest-mock,
pytestCheckHook,
-
pythonOlder,
}:
buildPythonPackage rec {
pname = "devtools";
version = "0.12.2";
-
format = "pyproject";
-
-
disabled = pythonOlder "3.7";
+
pyproject = true;
src = fetchFromGitHub {
owner = "samuelcolvin";
···
hash = "sha256-1HFbNswdKa/9cQX0Gf6lLW1V5Kt/N4X6/5kQDdzp1Wo=";
};
+
patches = [
+
# https://github.com/samuelcolvin/python-devtools/pull/166
+
./fix-test-ast-expr.patch
+
];
+
postPatch = ''
substituteInPlace pyproject.toml \
--replace-fail 'asttokens>=2.0.0,<3.0.0' 'asttokens>=2.0.0' \
'';
-
nativeBuildInputs = [ hatchling ];
+
build-system = [ hatchling ];
-
propagatedBuildInputs = [
+
dependencies = [
asttokens
executing
pygments
···
meta = with lib; {
description = "Python's missing debug print command and other development tools";
homepage = "https://python-devtools.helpmanual.io/";
-
changelog = "https://github.com/samuelcolvin/python-devtools/releases/tag/v${version}";
+
changelog = "https://github.com/samuelcolvin/python-devtools/releases/tag/${src.tag}";
license = licenses.mit;
maintainers = with maintainers; [ jdahm ];
};
+44
pkgs/development/python-modules/devtools/fix-test-ast-expr.patch
···
+
From 7a95b33f8fe9b2d426c2680291ccbae2e973faa0 Mon Sep 17 00:00:00 2001
+
From: Tom Hunze <dev@thunze.de>
+
Date: Sun, 4 May 2025 00:49:57 +0200
+
Subject: [PATCH] Fix `test_ast_expr` for Python 3.13
+
+
---
+
tests/test_prettier.py | 17 +++++++++++++++++
+
1 file changed, 17 insertions(+)
+
+
diff --git a/tests/test_prettier.py b/tests/test_prettier.py
+
index 298dc58..0f24756 100644
+
--- a/tests/test_prettier.py
+
+++ b/tests/test_prettier.py
+
@@ -486,6 +486,7 @@ class User(SQLAlchemyBase):
+
+
+
@pytest.mark.skipif(sys.version_info < (3, 9), reason='no indent on older versions')
+
+@pytest.mark.skipif(sys.version_info >= (3, 13), reason='show_empty=False on newer versions')
+
def test_ast_expr():
+
assert pformat(ast.parse('print(1, 2, round(3))', mode='eval')) == (
+
"Expression("
+
@@ -503,6 +504,22 @@ def test_ast_expr():
+
)
+
+
+
+@pytest.mark.skipif(sys.version_info < (3, 13), reason='no show_empty on older versions')
+
+def test_ast_expr_show_empty():
+
+ assert pformat(ast.parse('print(1, 2, round(3))', mode='eval')) == (
+
+ "Expression("
+
+ "\n body=Call("
+
+ "\n func=Name(id='print', ctx=Load()),"
+
+ "\n args=["
+
+ "\n Constant(value=1),"
+
+ "\n Constant(value=2),"
+
+ "\n Call("
+
+ "\n func=Name(id='round', ctx=Load()),"
+
+ "\n args=["
+
+ "\n Constant(value=3)])]))"
+
+ )
+
+
+
+
+
@pytest.mark.skipif(sys.version_info < (3, 9), reason='no indent on older versions')
+
def test_ast_module():
+
assert pformat(ast.parse('print(1, 2, round(3))')).startswith('Module(\n body=[')
+75
pkgs/development/python-modules/langchain-anthropic/default.nix
···
+
{
+
lib,
+
buildPythonPackage,
+
fetchFromGitHub,
+
nix-update-script,
+
+
# build-system
+
pdm-backend,
+
+
# dependencies
+
anthropic,
+
langchain-core,
+
pydantic,
+
+
# tests
+
langchain-tests,
+
pytest-asyncio,
+
pytestCheckHook,
+
}:
+
+
buildPythonPackage rec {
+
pname = "langchain-anthropic";
+
version = "0.3.12";
+
pyproject = true;
+
+
src = fetchFromGitHub {
+
owner = "langchain-ai";
+
repo = "langchain";
+
tag = "langchain-anthropic==${version}";
+
hash = "sha256-UpyACv1cVzvK4A1Up3R6PqVQahy9hAu0LoSkaEen6Sw=";
+
};
+
+
sourceRoot = "${src.name}/libs/partners/anthropic";
+
+
build-system = [ pdm-backend ];
+
+
dependencies = [
+
anthropic
+
langchain-core
+
pydantic
+
];
+
+
pythonRelaxDeps = [
+
# Each component release requests the exact latest core.
+
# That prevents us from updating individual components.
+
"langchain-core"
+
];
+
+
nativeCheckInputs = [
+
langchain-tests
+
pytest-asyncio
+
pytestCheckHook
+
];
+
+
pytestFlagsArray = [ "tests/unit_tests" ];
+
+
pythonImportsCheck = [ "langchain_anthropic" ];
+
+
passthru.updateScript = nix-update-script {
+
extraArgs = [
+
"--version-regex"
+
"langchain-anthropic==([0-9.]+)"
+
];
+
};
+
+
meta = {
+
changelog = "https://github.com/langchain-ai/langchain-anthropic/releases/tag/langchain-anthropic==${version}";
+
description = "Build LangChain applications with Anthropic";
+
homepage = "https://github.com/langchain-ai/langchain/tree/master/libs/partners/anthropic";
+
license = lib.licenses.mit;
+
maintainers = [
+
lib.maintainers.sarahec
+
];
+
};
+
}
+4
pkgs/development/python-modules/langchain-core/update.sh
···
declare -ar packages=(
langchain
+
langchain-anthropic
langchain-azure-dynamic-sessions
langchain-chroma
langchain-community
langchain-core
+
langchain-fireworks
langchain-groq
langchain-huggingface
langchain-mistralai
langchain-mongodb
langchain-ollama
langchain-openai
+
langchain-perplexity
langchain-tests
langchain-text-splitters
+
langchain-xai
)
tags=$(git ls-remote --tags --refs "https://github.com/langchain-ai/langchain" | cut --delimiter=/ --field=3-)
+79
pkgs/development/python-modules/langchain-fireworks/default.nix
···
+
{
+
lib,
+
buildPythonPackage,
+
fetchFromGitHub,
+
nix-update-script,
+
+
# build-system
+
pdm-backend,
+
+
# dependencies
+
aiohttp,
+
fireworks-ai,
+
langchain-core,
+
openai,
+
pydantic,
+
+
# tests
+
langchain-tests,
+
pytest-asyncio,
+
pytestCheckHook,
+
}:
+
+
buildPythonPackage rec {
+
pname = "langchain-fireworks";
+
version = "0.3.0";
+
pyproject = true;
+
+
src = fetchFromGitHub {
+
owner = "langchain-ai";
+
repo = "langchain";
+
tag = "langchain-fireworks==${version}";
+
hash = "sha256-OZou323FAk2I4YuQV7sllbzDwFQWy/90FK3gIHnEBd0=";
+
};
+
+
sourceRoot = "${src.name}/libs/partners/fireworks";
+
+
build-system = [ pdm-backend ];
+
+
dependencies = [
+
aiohttp
+
fireworks-ai
+
langchain-core
+
openai
+
pydantic
+
];
+
+
pythonRelaxDeps = [
+
# Each component release requests the exact latest core.
+
# That prevents us from updating individual components.
+
"langchain-core"
+
];
+
+
nativeCheckInputs = [
+
langchain-tests
+
pytest-asyncio
+
pytestCheckHook
+
];
+
+
pytestFlagsArray = [ "tests/unit_tests" ];
+
+
pythonImportsCheck = [ "langchain_fireworks" ];
+
+
passthru.updateScript = nix-update-script {
+
extraArgs = [
+
"--version-regex"
+
"langchain-fireworks==([0-9.]+)"
+
];
+
};
+
+
meta = {
+
changelog = "https://github.com/langchain-ai/langchain/releases/tag/langchain-fireworks==${version}";
+
description = "Build LangChain applications with Fireworks";
+
homepage = "https://github.com/langchain-ai/langchain/tree/master/libs/partners/fireworks";
+
license = lib.licenses.mit;
+
maintainers = [
+
lib.maintainers.sarahec
+
];
+
};
+
}
+77
pkgs/development/python-modules/langchain-perplexity/default.nix
···
+
{
+
lib,
+
buildPythonPackage,
+
fetchFromGitHub,
+
nix-update-script,
+
+
# build-system
+
pdm-backend,
+
+
# dependencies
+
langchain-core,
+
openai,
+
+
# tests
+
langchain-tests,
+
pytest-asyncio,
+
pytest-cov,
+
pytest-mock,
+
pytestCheckHook,
+
}:
+
+
buildPythonPackage rec {
+
pname = "langchain-perplexity";
+
version = "0.1.1";
+
pyproject = true;
+
+
src = fetchFromGitHub {
+
owner = "langchain-ai";
+
repo = "langchain";
+
tag = "langchain-perplexity==${version}";
+
hash = "sha256-s20AnDsyLCzpG45QqgZp0WzlbdVrHNfpUQsMPUaF1qs=";
+
};
+
+
sourceRoot = "${src.name}/libs/partners/perplexity";
+
+
build-system = [ pdm-backend ];
+
+
dependencies = [
+
langchain-core
+
openai
+
];
+
+
pythonRelaxDeps = [
+
# Each component release requests the exact latest core.
+
# That prevents us from updating individual components.
+
"langchain-core"
+
];
+
+
nativeCheckInputs = [
+
langchain-tests
+
pytest-asyncio
+
pytest-cov
+
pytest-mock
+
pytestCheckHook
+
];
+
+
pytestFlagsArray = [ "tests/unit_tests" ];
+
+
pythonImportsCheck = [ "langchain_perplexity" ];
+
+
passthru.updateScript = nix-update-script {
+
extraArgs = [
+
"--version-regex"
+
"langchain-perplexity==([0-9.]+)"
+
];
+
};
+
+
meta = {
+
changelog = "https://github.com/langchain-ai/langchain-perplexity/releases/tag/langchain-perplexity==${version}";
+
description = "Build LangChain applications with Perplexity";
+
homepage = "https://github.com/langchain-ai/langchain/tree/master/libs/partners/perplexity";
+
license = lib.licenses.mit;
+
maintainers = [
+
lib.maintainers.sarahec
+
];
+
};
+
}
+79
pkgs/development/python-modules/langchain-xai/default.nix
···
+
{
+
lib,
+
buildPythonPackage,
+
fetchFromGitHub,
+
nix-update-script,
+
+
# build-system
+
pdm-backend,
+
+
# dependencies
+
aiohttp,
+
langchain-core,
+
langchain-openai,
+
requests,
+
+
# tests
+
langchain-tests,
+
pytest-asyncio,
+
pytest-mock,
+
pytestCheckHook,
+
}:
+
+
buildPythonPackage rec {
+
pname = "langchain-xai";
+
version = "0.2.3";
+
pyproject = true;
+
+
src = fetchFromGitHub {
+
owner = "langchain-ai";
+
repo = "langchain";
+
tag = "langchain-xai==${version}";
+
hash = "sha256-9pSwEHqh+WkHsjn7JNsyEy+U67ekTqAdHMAvAFanR8w=";
+
};
+
+
sourceRoot = "${src.name}/libs/partners/xai";
+
+
build-system = [ pdm-backend ];
+
+
dependencies = [
+
aiohttp
+
langchain-core
+
langchain-openai
+
requests
+
];
+
+
pythonRelaxDeps = [
+
# Each component release requests the exact latest core.
+
# That prevents us from updating individual components.
+
"langchain-core"
+
];
+
+
nativeCheckInputs = [
+
langchain-tests
+
pytest-asyncio
+
pytest-mock
+
pytestCheckHook
+
];
+
+
pytestFlagsArray = [ "tests/unit_tests" ];
+
+
pythonImportsCheck = [ "langchain_xai" ];
+
+
passthru.updateScript = nix-update-script {
+
extraArgs = [
+
"--version-regex"
+
"langchain-xai==([0-9.]+)"
+
];
+
};
+
+
meta = {
+
changelog = "https://github.com/langchain-ai/langchain-xai/releases/tag/langchain-xai==${version}";
+
description = "Build LangChain applications with X AI";
+
homepage = "https://github.com/langchain-ai/langchain/tree/master/libs/partners/xai";
+
license = lib.licenses.mit;
+
maintainers = [
+
lib.maintainers.sarahec
+
];
+
};
+
}
+1
pkgs/development/python-modules/ledger-agent/default.nix
···
np
mmahut
];
+
platforms = lib.platforms.linux;
};
}
+52
pkgs/development/python-modules/pyadjoint-ad/default.nix
···
+
{
+
lib,
+
buildPythonPackage,
+
fetchFromGitHub,
+
setuptools,
+
scipy,
+
checkpoint-schedules,
+
pytestCheckHook,
+
}:
+
+
buildPythonPackage rec {
+
pname = "pyadjoint-ad";
+
version = "2025.04.0";
+
pyproject = true;
+
+
src = fetchFromGitHub {
+
owner = "dolfin-adjoint";
+
repo = "pyadjoint";
+
tag = version;
+
hash = "sha256-ZNd8aJJ87OfQakScrkYqhCAh7qGctW/uqIoQjX5VEhI=";
+
};
+
+
build-system = [
+
setuptools
+
];
+
+
dependencies = [
+
scipy
+
checkpoint-schedules
+
];
+
+
pythonImportsCheck = [
+
# The firedrake_adjoint module is deprecated and requires a cyclic dependency of firedrake
+
# "firedrake_adjoint"
+
"numpy_adjoint"
+
"pyadjoint"
+
"pyadjoint.optimization"
+
];
+
+
nativeCheckInputs = [ pytestCheckHook ];
+
+
pytestFlagsArray = [
+
"tests/pyadjoint"
+
];
+
+
meta = {
+
homepage = "https://github.com/dolfin-adjoint/pyadjoint";
+
description = "High-level automatic differentiation library";
+
license = lib.licenses.lgpl3Only;
+
maintainers = with lib.maintainers; [ qbisi ];
+
};
+
}
+40
pkgs/development/python-modules/recursivenodes/default.nix
···
+
{
+
lib,
+
buildPythonPackage,
+
fetchFromGitLab,
+
setuptools,
+
numpy,
+
pytestCheckHook,
+
}:
+
+
buildPythonPackage rec {
+
pname = "recursivenodes";
+
version = "0.3.0";
+
pyproject = true;
+
+
src = fetchFromGitLab {
+
owner = "tisaac";
+
repo = "recursivenodes";
+
tag = "v${version}";
+
hash = "sha256-RThTrYxM4dvTclUZrnne1q1ij9k6aJEeYKTZaxqzs5g=";
+
};
+
+
build-system = [ setuptools ];
+
+
dependencies = [
+
numpy
+
];
+
+
pythonImportsCheck = [ "recursivenodes" ];
+
+
nativeCheckInputs = [ pytestCheckHook ];
+
+
meta = {
+
homepage = "https://tisaac.gitlab.io/recursivenodes/";
+
downloadPage = "https://gitlab.com/tisaac/recursivenodes";
+
description = "Recursive, parameter-free, explicitly defined interpolation nodes for simplices";
+
changelog = "https://gitlab.com/tisaac/recursivenodes/-/releases/${src.tag}";
+
license = lib.licenses.mit;
+
maintainers = with lib.maintainers; [ qbisi ];
+
};
+
}
+9
pkgs/development/python-modules/sdbus-networkmanager/default.nix
···
{
+
lib,
buildPythonPackage,
fetchPypi,
sdbus,
···
src = fetchPypi {
inherit pname version;
hash = "sha256-NXKsOoGJxoPsBBassUh2F3Oo8Iga09eLbW9oZO/5xQs=";
+
};
+
+
meta = with lib; {
+
description = "python-sdbus binds for NetworkManager";
+
homepage = "https://github.com/python-sdbus/python-sdbus-networkmanager";
+
license = licenses.lgpl2;
+
maintainers = with maintainers; [ camelpunch ];
+
platforms = platforms.linux;
};
}
+9
pkgs/development/python-modules/sdbus/default.nix
···
{
pkgs,
+
lib,
buildPythonPackage,
fetchPypi,
pkg-config,
···
src = fetchPypi {
inherit pname version;
hash = "sha256-QdYbdswFqepB0Q1woR6fmobtlfQPcTYwxeGDQODkx28=";
+
};
+
+
meta = with lib; {
+
description = "Modern Python library for D-Bus";
+
homepage = "https://github.com/python-sdbus/python-sdbus";
+
license = licenses.lgpl2;
+
maintainers = with maintainers; [ camelpunch ];
+
platforms = platforms.linux;
};
}
+15
pkgs/development/python-modules/transitions/default.nix
···
export HOME=$TMPDIR
'';
+
disabledTestPaths = lib.optionals stdenv.hostPlatform.isDarwin [
+
# sleep is not accurate on Darwin
+
"tests/test_async.py"
+
];
+
disabledTests =
[
"test_diagram"
···
++ lib.optionals stdenv.hostPlatform.isDarwin [
# Upstream issue https://github.com/pygraphviz/pygraphviz/issues/441
"test_binary_stream"
+
+
# sleep is not accurate on Darwin
+
"test_timeout"
+
"test_timeout_callbacks"
+
"test_timeout_transitioning"
+
"test_thread_access"
+
"test_parallel_access"
+
"test_parallel_deep"
+
"test_conditional_access"
+
"test_pickle"
];
pythonImportsCheck = [ "transitions" ];
+3 -1
pkgs/games/freeciv/default.nix
···
SDL2_image,
SDL2_ttf,
SDL2_gfx,
+
libX11,
freetype,
fluidsynth,
sdl2Client ? false,
···
libiconv
icu
]
-
++ [
+
++ lib.optionals sdl2Client [
SDL2
SDL2_mixer
SDL2_image
SDL2_ttf
SDL2_gfx
+
libX11 # can be removed when https://github.com/freeciv/freeciv/commit/00a9d69fa38d8618893e1eaad2830abb395ef25b is tagged, likely in 3.2.0
freetype
fluidsynth
]
+14
pkgs/top-level/python-packages.nix
···
checkdmarc = callPackage ../development/python-modules/checkdmarc { };
+
checkpoint-schedules = callPackage ../development/python-modules/checkpoint-schedules { };
+
checksumdir = callPackage ../development/python-modules/checksumdir { };
cheetah3 = callPackage ../development/python-modules/cheetah3 { };
···
langchain = callPackage ../development/python-modules/langchain { };
+
langchain-anthropic = callPackage ../development/python-modules/langchain-anthropic { };
+
langchain-aws = callPackage ../development/python-modules/langchain-aws { };
langchain-azure-dynamic-sessions =
···
langchain-core = callPackage ../development/python-modules/langchain-core { };
+
langchain-fireworks = callPackage ../development/python-modules/langchain-fireworks { };
+
langchain-groq = callPackage ../development/python-modules/langchain-groq { };
langchain-huggingface = callPackage ../development/python-modules/langchain-huggingface { };
···
langchain-openai = callPackage ../development/python-modules/langchain-openai { };
+
langchain-perplexity = callPackage ../development/python-modules/langchain-perplexity { };
+
langchain-tests = callPackage ../development/python-modules/langchain-tests { };
langchain-text-splitters = callPackage ../development/python-modules/langchain-text-splitters { };
+
+
langchain-xai = callPackage ../development/python-modules/langchain-xai { };
langcodes = callPackage ../development/python-modules/langcodes { };
···
pyacoustid = callPackage ../development/python-modules/pyacoustid { };
+
pyadjoint-ad = callPackage ../development/python-modules/pyadjoint-ad { };
+
pyads = callPackage ../development/python-modules/pyads { };
pyaehw4a1 = callPackage ../development/python-modules/pyaehw4a1 { };
···
recursive-pth-loader = toPythonModule (
callPackage ../development/python-modules/recursive-pth-loader { }
+
+
recursivenodes = callPackage ../development/python-modules/recursivenodes { };
red-black-tree-mod = callPackage ../development/python-modules/red-black-tree-mod { };