treewide: use overlays to pass a custom stdenv to buildPythonPackage / bulidPythonApplication (#476401)

This commit is contained in:
Matt Sturgeon
2026-01-05 19:33:00 +00:00
committed by GitHub
15 changed files with 20 additions and 54 deletions
@@ -7,9 +7,7 @@
herbstluftwm,
}:
mkDerivationWith python3Packages.buildPythonApplication rec {
inherit stdenv;
mkDerivationWith (python3Packages.buildPythonApplication.override { inherit stdenv; }) rec {
pname = "webmacs";
version = "0.8";
format = "setuptools";
+5 -4
View File
@@ -48,7 +48,7 @@
withHtml ? true,
xpra-html5,
udevCheckHook,
}@args:
}:
let
inherit (python3.pkgs) cython buildPythonApplication;
@@ -86,14 +86,15 @@ let
mkdir -p $out/include $out/lib/pkgconfig
substituteAll ${cudaPackages.libnvjpeg.dev}/share/pkgconfig/nvjpeg.pc $out/lib/pkgconfig/nvjpeg.pc
'';
effectiveBuildPythonApplication = buildPythonApplication.override {
stdenv = if withNvenc then cudaPackages.backendStdenv else stdenv;
};
in
buildPythonApplication rec {
effectiveBuildPythonApplication rec {
pname = "xpra";
version = "6.3.6";
format = "setuptools";
stdenv = if withNvenc then cudaPackages.backendStdenv else args.stdenv;
src = fetchFromGitHub {
owner = "Xpra-org";
repo = "xpra";
@@ -49,13 +49,11 @@ let
outpaths ++ lib.concatMap (outpath: lib.map (output: outpath.${output}) outpath.outputs) outpaths;
};
in
buildPythonPackage rec {
buildPythonPackage.override { stdenv = cudaPackages.backendStdenv; } rec {
pname = "cupy";
version = "13.6.0";
pyproject = true;
stdenv = cudaPackages.backendStdenv;
src = fetchFromGitHub {
owner = "cupy";
repo = "cupy";
@@ -5,9 +5,8 @@
more-itertools,
}:
buildPythonPackage {
buildPythonPackage.override { inherit (dlib) stdenv; } {
inherit (dlib)
stdenv
pname
version
src
@@ -39,7 +39,7 @@
let
stdenvTarget = if cudaSupport then gcc13Stdenv else stdenv;
in
buildPythonPackage rec {
buildPythonPackage.override { stdenv = stdenvTarget; } rec {
pname = "llama-cpp-python";
version = "0.3.16";
pyproject = true;
@@ -108,8 +108,6 @@ buildPythonPackage rec {
]
);
stdenv = stdenvTarget;
dependencies = [
diskcache
jinja2
@@ -33,6 +33,7 @@
python,
qt6,
setuptools,
stdenv,
onetbb,
withDocs ? false,
withOsl ? true,
@@ -61,8 +62,6 @@ buildPythonPackage rec {
hash = "sha256-gxikEC4MqTkhgYaRsCVYtS/VmXClSaCMdzpQ0LmiR7Q=";
};
stdenv = python.stdenv;
outputs = [ "out" ] ++ lib.optional withDocs "doc";
patches = [
@@ -14,8 +14,6 @@ buildPythonPackage rec {
version = "7.1.3";
pyproject = true;
inherit stdenv;
src = fetchFromGitHub {
owner = "giampaolo";
repo = "psutil";
@@ -5,6 +5,7 @@
replaceVars,
isPyPy,
python,
stdenv,
setuptools,
pillow,
pycairo,
@@ -27,7 +28,7 @@
pybind11,
}:
buildPythonPackage rec {
buildPythonPackage {
pname = "python-mapnik";
version = "4.1.3.unstable-2025-09-25";
pyproject = true;
@@ -49,8 +50,6 @@ buildPythonPackage rec {
})
];
stdenv = python.stdenv;
build-system = [ setuptools ];
nativeBuildInputs = [
@@ -74,14 +74,13 @@ let
else
throw "No GPU targets specified"
);
stdenv = torch.stdenv;
in
buildPythonPackage rec {
buildPythonPackage.override { inherit stdenv; } rec {
pname = "torchaudio";
version = "2.9.1";
pyproject = true;
stdenv = torch.stdenv;
src = fetchFromGitHub {
owner = "pytorch";
repo = "audio";
@@ -30,12 +30,10 @@ let
pname = "torchvision";
version = "0.24.1";
in
buildPythonPackage {
buildPythonPackage.override { stdenv = torch.stdenv; } {
format = "setuptools";
inherit pname version;
stdenv = torch.stdenv;
src = fetchFromGitHub {
owner = "pytorch";
repo = "vision";
@@ -14,13 +14,11 @@
zlib,
}:
buildPythonPackage rec {
buildPythonPackage.override { stdenv = llvmPackages.stdenv; } rec {
pname = "verilogae";
version = "24.0.0mob-unstable-2025-07-21";
pyproject = true;
stdenv = llvmPackages.stdenv;
src = fetchFromGitHub {
owner = "OpenVAF";
repo = "OpenVAF-Reloaded";
@@ -313,13 +313,11 @@ let
in
buildPythonPackage rec {
buildPythonPackage.override { stdenv = torch.stdenv; } rec {
pname = "vllm";
version = "0.13.0";
pyproject = true;
stdenv = torch.stdenv;
src = fetchFromGitHub {
owner = "vllm-project";
repo = "vllm";
@@ -43,7 +43,7 @@ let
libmathdx = callPackage ./libmathdx.nix { };
in
buildPythonPackage {
buildPythonPackage.override { stdenv = effectiveStdenv; } {
pname = "warp-lang";
inherit version;
pyproject = true;
@@ -53,8 +53,6 @@ buildPythonPackage {
# provided by NVCC.
__structuredAttrs = true;
stdenv = effectiveStdenv;
src = fetchFromGitHub {
owner = "NVIDIA";
repo = "warp";
@@ -35,8 +35,9 @@ let
# version 0.0.32.post2 was confirmed to break CUDA.
# Remove this note once the latest published revision "just works".
version = "0.0.30";
effectiveStdenv = if cudaSupport then cudaPackages.backendStdenv else stdenv;
in
buildPythonPackage {
buildPythonPackage.override { stdenv = effectiveStdenv; } {
pname = "xformers";
inherit version;
pyproject = true;
@@ -66,8 +67,6 @@ buildPythonPackage {
TORCH_CUDA_ARCH_LIST = "${lib.concatStringsSep ";" torch.cudaCapabilities}";
};
stdenv = if cudaSupport then cudaPackages.backendStdenv else stdenv;
buildInputs =
lib.optional stdenv.hostPlatform.isDarwin openmp
++ lib.optionals cudaSupport (
-14
View File
@@ -446,20 +446,6 @@ let
expr = package-stub-libcxx.stdenv;
expected = pkgs.libcxxStdenv;
};
overridePythonAttrs-stdenv-deprecated = {
expr =
(package-stub.overridePythonAttrs (_: {
stdenv = pkgs.clangStdenv;
})).stdenv;
expected = pkgs.clangStdenv;
};
overridePythonAttrs-override-clangStdenv-deprecated-nested = {
expr =
(package-stub-gcc.overridePythonAttrs {
stdenv = pkgs.clangStdenv;
}).stdenv;
expected = pkgs.clangStdenv;
};
overridePythonAttrs = {
expr = (applyOverridePythonAttrs package-stub).overridePythonAttrsFlag;