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

This commit is contained in:
K900 2025-05-04 15:52:44 +03:00
commit da7a6ed813
37 changed files with 782 additions and 101 deletions

23
.github/labeler-protected-branches.yml vendored Normal file
View File

@ -0,0 +1,23 @@
# 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 vendored
View File

@ -3,6 +3,12 @@
# 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:

View File

@ -20,12 +20,23 @@ jobs:
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

View File

@ -13,6 +13,7 @@
libevent,
libsodium,
makeWrapper,
rustc,
rustPlatform,
pkg-config,
stdenv,
@ -24,7 +25,7 @@
zeromq,
}:
rustPlatform.buildRustPackage.override { inherit stdenv; } rec {
stdenv.mkDerivation rec {
pname = "zcash";
version = "5.4.2";
@ -35,14 +36,16 @@ rustPlatform.buildRustPackage.override { inherit stdenv; } rec {
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
@ -52,6 +55,8 @@ rustPlatform.buildRustPackage.override { inherit stdenv; } rec {
hexdump
makeWrapper
pkg-config
rustc
rustPlatform.cargoSetupHook
];
buildInputs = [
@ -64,19 +69,6 @@ rustPlatform.buildRustPackage.override { inherit stdenv; } rec {
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"
"-I${lib.getDev cxx-rs}/include"

View File

@ -0,0 +1,16 @@
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

View File

@ -14,13 +14,13 @@
}:
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;
};

View File

@ -59,7 +59,7 @@ stdenv.mkDerivation rec {
binaryNativeCode
];
license = licenses.agpl3Plus;
platforms = platforms.linux;
platforms = [ "x86_64-linux" ];
maintainers = with maintainers; [ _1000101 ];
};
}

View File

@ -6,13 +6,13 @@
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 = ''

View File

@ -7,17 +7,17 @@
}:
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 ];

View File

@ -1,13 +0,0 @@
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

View File

@ -7,7 +7,6 @@
cubeb,
curl,
fetchFromGitHub,
fetchpatch,
fmt_9,
gamemode,
glm,
@ -45,20 +44,20 @@ let
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 = [
@ -66,12 +65,6 @@ stdenv.mkDerivation (finalAttrs: {
# > 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
];

View File

@ -3,7 +3,7 @@
stdenv,
fetchFromGitHub,
cmake,
boost,
boost181,
openssl,
}:
@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
nativeBuildInputs = [ cmake ];
buildInputs = [
boost
boost181
openssl
];

View File

@ -18,6 +18,15 @@ rustPlatform.buildRustPackage rec {
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/";

View File

@ -0,0 +1,75 @@
{
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";
};
}

View File

@ -31,7 +31,7 @@ stdenv.mkDerivation (finalAttrs: {
--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 = [

View File

@ -9,13 +9,13 @@
}:
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=";

View File

@ -1,5 +1,5 @@
{
stdenv,
stdenvNoCC,
lib,
fetchurl,
makeWrapper,
@ -7,19 +7,20 @@
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
@ -28,12 +29,13 @@ stdenv.mkDerivation rec {
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}" \
@ -47,7 +49,10 @@ stdenv.mkDerivation rec {
--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
@ -56,22 +61,19 @@ stdenv.mkDerivation rec {
# /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;
};
}
})

View File

@ -6,18 +6,18 @@
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 = [
@ -29,19 +29,28 @@ stdenv.mkDerivation {
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 = ''
@ -49,9 +58,9 @@ stdenv.mkDerivation {
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 ];
};
}
})

View File

@ -0,0 +1,13 @@
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 );

View File

@ -14,13 +14,13 @@
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 = [

View File

@ -9,16 +9,16 @@
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 ];
@ -39,6 +39,7 @@ php.buildComposerProject2 (finalAttrs: {
};
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";

View File

@ -0,0 +1,42 @@
{
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 ];
};
}

View File

@ -8,15 +8,12 @@
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";
@ -25,14 +22,19 @@ buildPythonPackage rec {
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
@ -63,7 +65,7 @@ buildPythonPackage rec {
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 ];
};

View File

@ -0,0 +1,44 @@
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=[')

View File

@ -0,0 +1,75 @@
{
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
];
};
}

View File

@ -5,18 +5,22 @@ set -euo pipefail
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-)

View File

@ -0,0 +1,79 @@
{
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
];
};
}

View File

@ -0,0 +1,77 @@
{
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
];
};
}

View File

@ -0,0 +1,79 @@
{
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
];
};
}

View File

@ -38,5 +38,6 @@ buildPythonPackage rec {
np
mmahut
];
platforms = lib.platforms.linux;
};
}

View File

@ -0,0 +1,52 @@
{
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 ];
};
}

View File

@ -0,0 +1,40 @@
{
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 ];
};
}

View File

@ -1,4 +1,5 @@
{
lib,
buildPythonPackage,
fetchPypi,
sdbus,
@ -17,4 +18,12 @@ buildPythonPackage {
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;
};
}

View File

@ -1,5 +1,6 @@
{
pkgs,
lib,
buildPythonPackage,
fetchPypi,
pkg-config,
@ -19,4 +20,12 @@ buildPythonPackage {
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;
};
}

View File

@ -42,6 +42,11 @@ buildPythonPackage rec {
export HOME=$TMPDIR
'';
disabledTestPaths = lib.optionals stdenv.hostPlatform.isDarwin [
# sleep is not accurate on Darwin
"tests/test_async.py"
];
disabledTests =
[
"test_diagram"
@ -50,6 +55,16 @@ buildPythonPackage rec {
++ 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" ];

View File

@ -18,6 +18,7 @@
SDL2_image,
SDL2_ttf,
SDL2_gfx,
libX11,
freetype,
fluidsynth,
sdl2Client ? false,
@ -72,12 +73,13 @@ stdenv.mkDerivation rec {
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
]

View File

@ -2400,6 +2400,8 @@ self: super: with self; {
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 { };
@ -7510,6 +7512,8 @@ self: super: with self; {
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 =
@ -7522,6 +7526,8 @@ self: super: with self; {
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 { };
@ -7534,10 +7540,14 @@ self: super: with self; {
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 { };
langdetect = callPackage ../development/python-modules/langdetect { };
@ -11812,6 +11822,8 @@ self: super: with self; {
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 { };
@ -14860,6 +14872,8 @@ self: super: with self; {
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 { };
redbaron = callPackage ../development/python-modules/redbaron { };