python3Packages.*: move env variables into env for structuredAttrs (#492257)

This commit is contained in:
Martin Weinelt
2026-02-28 13:12:45 +00:00
committed by GitHub
50 changed files with 92 additions and 81 deletions
@@ -60,7 +60,7 @@ buildPythonPackage rec {
libiconv
];
PSL_PATH = "${publicsuffix-list}/share/publicsuffix/public_suffix_list.dat";
env.PSL_PATH = "${publicsuffix-list}/share/publicsuffix/public_suffix_list.dat";
nativeCheckInputs = [
pytestCheckHook
@@ -36,7 +36,7 @@ buildPythonPackage rec {
hash = "sha256-0NogKxYO+lCtNhK2ZWwRLQTV7rHU5Oz+lnE4awsoPsM=";
};
POETRY_DYNAMIC_VERSIONING_BYPASS = version;
env.POETRY_DYNAMIC_VERSIONING_BYPASS = version;
build-system = [
poetry-core
@@ -29,7 +29,7 @@ buildPythonPackage (finalAttrs: {
hash = "sha256-wa3refEIYQIPmtl8NGtoyg2PTY3zQt6R4EgXUbcUgrk=";
};
SSL_CERT_FILE = "${cacert}/etc/ssl/certs/ca-bundle.crt";
env.SSL_CERT_FILE = "${cacert}/etc/ssl/certs/ca-bundle.crt";
build-system = [ hatchling ];
@@ -33,7 +33,7 @@ buildPythonPackage rec {
setuptools
];
PBR_VERSION = version;
env.PBR_VERSION = version;
dependencies = [
httpx
@@ -29,7 +29,7 @@ buildPythonPackage rec {
# Carbon-s default installation is /opt/graphite. This env variable ensures
# carbon is installed as a regular Python module.
GRAPHITE_NO_PREFIX = "True";
env.GRAPHITE_NO_PREFIX = "True";
postPatch = ''
substituteInPlace setup.py \
@@ -66,7 +66,7 @@ buildPythonPackage rec {
++ lib.concatAttrValues optional-dependencies;
# This is used to determine the version of cython that can be used
CASS_DRIVER_ALLOWED_CYTHON_VERSION = cython.version;
env.CASS_DRIVER_ALLOWED_CYTHON_VERSION = cython.version;
preBuild = ''
export CASS_DRIVER_BUILD_CONCURRENCY=$NIX_BUILD_CORES
@@ -42,7 +42,9 @@ buildPythonPackage {
buildInputs = [ pybind11 ] ++ lib.optional stdenv.cc.isClang llvmPackages.openmp;
NIX_CFLAGS_LINK = lib.optional stdenv.cc.isClang "-lomp";
env = lib.optionalAttrs stdenv.cc.isClang {
NIX_CFLAGS_LINK = "-lomp";
};
hardeningDisable = lib.optional stdenv.cc.isClang "strictoverflow";
@@ -28,7 +28,7 @@ buildPythonPackage (finalAttrs: {
six
];
DJANGO_SETTINGS_MODULE = "tests.settings";
env.DJANGO_SETTINGS_MODULE = "tests.settings";
nativeCheckInputs = [
pytest-django
@@ -54,7 +54,7 @@ buildPythonPackage rec {
redisTestHook
];
DJANGO_SETTINGS_MODULE = "tests.settings";
env.DJANGO_SETTINGS_MODULE = "tests.settings";
meta = {
description = "Slick ORM cache with automatic granular event-driven invalidation for Django";
@@ -28,7 +28,7 @@ buildPythonPackage rec {
celery
];
DJANGO_SETTINGS_MODULE = "tests.settings";
env.DJANGO_SETTINGS_MODULE = "tests.settings";
nativeCheckInputs = [
pytest-django
@@ -31,7 +31,7 @@ buildPythonPackage rec {
pillow
];
DJANGO_SETTINGS_MODULE = "ckeditor_demo.settings";
env.DJANGO_SETTINGS_MODULE = "ckeditor_demo.settings";
checkInputs = [
django-extensions
@@ -39,7 +39,7 @@ buildPythonPackage rec {
pytestCheckHook
];
DJANGO_SETTINGS_MODULE = "tests.settings";
env.DJANGO_SETTINGS_MODULE = "tests.settings";
enabledTestPaths = [ "tests" ];
@@ -26,7 +26,7 @@ buildPythonPackage rec {
pythonImportsCheck = [ "sekizai" ];
DJANGO_SETTINGS_MODULE = "tests.settings";
env.DJANGO_SETTINGS_MODULE = "tests.settings";
meta = {
description = "Define placeholders where your blocks get rendered and append to those blocks";
@@ -23,7 +23,7 @@ buildPythonPackage rec {
dependencies = [ django ];
DJANGO_SETTINGS_MODULE = "tests.settings";
env.DJANGO_SETTINGS_MODULE = "tests.settings";
checkInputs = [
pytest-django
@@ -30,8 +30,10 @@ buildPythonPackage rec {
substituteInPlace pyproject.toml --replace-fail '"pybind11>=2.13.6", ' ""
'';
DUCC0_USE_NANOBIND = "";
DUCC0_OPTIMIZATION = "portable";
env = {
DUCC0_USE_NANOBIND = "";
DUCC0_OPTIMIZATION = "portable";
};
build-system = [
cmake
@@ -22,7 +22,7 @@ buildPythonPackage rec {
nativeCheckInputs = [ unittestCheckHook ];
PKGVER = version;
env.PKGVER = version;
meta = {
homepage = "https://github.com/emersion/python-emailthreads";
@@ -87,7 +87,7 @@ buildPythonPackage rec {
export MAX_JOBS="$NIX_BUILD_CORES"
'';
FLASHINFER_CUDA_ARCH_LIST = lib.concatStringsSep ";" torch.cudaCapabilities;
env.FLASHINFER_CUDA_ARCH_LIST = lib.concatStringsSep ";" torch.cudaCapabilities;
pythonRemoveDeps = [
"nvidia-cudnn-frontend"
@@ -13,7 +13,7 @@ buildPythonPackage rec {
# flatbuffers needs VERSION environment variable for setting the correct
# version, otherwise it uses the current date.
VERSION = version;
env.VERSION = version;
pythonImportsCheck = [ "flatbuffers" ];
@@ -64,10 +64,12 @@ buildPythonPackage rec {
unset AR
'';
GRPC_BUILD_WITH_BORING_SSL_ASM = "";
GRPC_PYTHON_BUILD_SYSTEM_OPENSSL = 1;
GRPC_PYTHON_BUILD_SYSTEM_ZLIB = 1;
GRPC_PYTHON_BUILD_SYSTEM_CARES = 1;
env = {
GRPC_BUILD_WITH_BORING_SSL_ASM = "";
GRPC_PYTHON_BUILD_SYSTEM_OPENSSL = 1;
GRPC_PYTHON_BUILD_SYSTEM_ZLIB = 1;
GRPC_PYTHON_BUILD_SYSTEM_CARES = 1;
};
# does not contain any tests
doCheck = false;
@@ -130,7 +130,7 @@ buildPythonPackage rec {
pythonImportsCheck = [ "ifcopenshell" ];
PYTHONUSERBASE = ".";
env.PYTHONUSERBASE = ".";
# We still build with python to generate ifcopenshell_wrapper.py and ifcopenshell_wrapper.so
cmakeFlags = [
@@ -64,7 +64,7 @@ buildPythonPackage rec {
# The version is automatically set to ".dev" if this variable is not set.
# https://github.com/google/jax/commit/e01f2617b85c5bdffc5ffb60b3d8d8ca9519a1f3
JAX_RELEASE = "1";
env.JAX_RELEASE = "1";
dependencies = [
jaxlib
@@ -34,8 +34,10 @@ buildPythonPackage rec {
sha256 = "sha256-VyVshIEVp/ep4Ih7Kj66GF02JEZ4nwgJOtgR2DarzdY=";
};
KALDI_BRANCH = "foo";
KALDIAG_SETUP_RAW = "1";
env = {
KALDI_BRANCH = "foo";
KALDIAG_SETUP_RAW = "1";
};
patches = [
# Makes sure scikit-build doesn't try to build the dependencies for us
@@ -30,7 +30,7 @@ buildPythonPackage {
"numpy"
];
LD_LIBRARY_PATH = lib.makeLibraryPath [ pkgs.mxnet ];
env.LD_LIBRARY_PATH = toString (lib.makeLibraryPath [ pkgs.mxnet ]);
postPatch = ''
# Required to support numpy >=1.24 where np.bool is removed in favor of just bool
@@ -47,7 +47,7 @@ buildPythonPackage rec {
rm versioneer.py
'';
JUPYTER_PATH = "${nbconvert}/share/jupyter";
env.JUPYTER_PATH = "${nbconvert}/share/jupyter";
disabledTests = [
"test_post_to_confluence"
"test_optional_components"
@@ -42,7 +42,7 @@ buildPythonPackage rec {
# The package has not tests
doCheck = false;
JUPYTER_PATH = "${nbconvert}/share/jupyter";
env.JUPYTER_PATH = "${nbconvert}/share/jupyter";
pythonImportsCheck = [ "nbsphinx" ];
@@ -37,7 +37,7 @@ buildPythonPackage rec {
# Manually set version because prb wants to get it from the git upstream repository (and we are
# installing from tarball instead)
PBR_VERSION = version;
env.PBR_VERSION = version;
build-system = [ setuptools ];
@@ -134,12 +134,6 @@ buildPythonPackage rec {
sphinxRoot = "../docs";
# Introduce this file necessary for the docs build via environment var
LIBPQ_DOCS_FILE = fetchurl {
url = "https://raw.githubusercontent.com/postgres/postgres/496a1dc44bf1261053da9b3f7e430769754298b4/doc/src/sgml/libpq.sgml";
hash = "sha256-JwtCngkoi9pb0pqIdNgukY8GbG5pUDZvrGAHZqjFOw4";
};
inherit patches;
# only move to sourceRoot after patching, makes patching easier
@@ -185,6 +179,11 @@ buildPythonPackage rec {
++ optional-dependencies.pool;
env = {
# Introduce this file necessary for the docs build via environment var
LIBPQ_DOCS_FILE = fetchurl {
url = "https://raw.githubusercontent.com/postgres/postgres/496a1dc44bf1261053da9b3f7e430769754298b4/doc/src/sgml/libpq.sgml";
hash = "sha256-JwtCngkoi9pb0pqIdNgukY8GbG5pUDZvrGAHZqjFOw4";
};
postgresqlEnableTCP = 1;
PGUSER = "psycopg";
PGDATABASE = "psycopg";
@@ -9,7 +9,7 @@ buildPythonPackage rec {
format = "setuptools";
# Cannot build wheel otherwise (zip 1980 issue)
SOURCE_DATE_EPOCH = 315532800;
env.SOURCE_DATE_EPOCH = 315532800;
# We need to have a dist-info folder, so let's create one with setuptools
unpackPhase = ''
@@ -38,7 +38,7 @@ buildPythonPackage rec {
'';
# See https://github.com/liberfa/pyerfa/issues/112#issuecomment-1721197483
NIX_CFLAGS_COMPILE = "-O2";
env.NIX_CFLAGS_COMPILE = "-O2";
nativeCheckInputs = [
pytestCheckHook
pytest-doctestplus
@@ -50,7 +50,7 @@ buildPythonPackage rec {
# Tests require certificates
# https://github.com/NixOS/nixpkgs/pull/72544#issuecomment-582674047
SSL_CERT_FILE = "${cacert}/etc/ssl/certs/ca-bundle.crt";
env.SSL_CERT_FILE = "${cacert}/etc/ssl/certs/ca-bundle.crt";
pythonImportsCheck = [ "pygit2" ];
@@ -38,7 +38,7 @@ buildPythonPackage rec {
dontUseCmakeConfigure = true;
CMAKE_ARGS = [ "-DEXTERNAL_PYBIND11=ON" ];
env.CMAKE_ARGS = toString [ "-DEXTERNAL_PYBIND11=ON" ];
nativeCheckInputs = [
graphviz
@@ -31,7 +31,7 @@ buildPythonPackage rec {
pythonImportsCheck = [ "pylint_odoo" ];
BUILD_README = true; # Enables more tests
env.BUILD_README = true; # Enables more tests
nativeCheckInputs = [ pytestCheckHook ];
@@ -35,7 +35,7 @@ buildPythonPackage rec {
strictDeps = true;
CLIPPER_PATH = "${clipper.out}";
env.CLIPPER_PATH = clipper.out;
postPatch = ''
sed -i 's#''${Python3_SITEARCH}#${placeholder "out"}/${python.sitePackages}#' cmake/SIPMacros.cmake
@@ -20,7 +20,7 @@ buildPythonPackage rec {
hash = "sha256-eLHJM4v3laQc3D/wP81GmcQBwyP1RjC7caGXEAeNCz8=";
};
PYSPTK_BUILD_VERSION = 0;
env.PYSPTK_BUILD_VERSION = 0;
nativeBuildInputs = [ cython ];
@@ -17,7 +17,7 @@ buildPythonPackage rec {
buildInputs = [ udev ];
NIX_CFLAGS_LINK = "-ludev";
env.NIX_CFLAGS_LINK = "-ludev";
doCheck = false; # no tests
@@ -32,7 +32,7 @@ buildPythonPackage rec {
"doc"
];
PDM_PEP517_SCM_VERSION = version;
env.PDM_PEP517_SCM_VERSION = version;
nativeBuildInputs = [
pdm-backend
@@ -28,7 +28,7 @@ buildPythonPackage rec {
hash = "sha256-Is/kYkSX9fOX+pLv5g1ns2OxeLpSkaCfO2jPIbiuIxA=";
};
PBR_VERSION = version;
env.PBR_VERSION = version;
build-system = [
pbr
@@ -30,7 +30,7 @@ buildPythonPackage rec {
requests
];
SKHEP_DATA = 1; # install the actual root files
env.SKHEP_DATA = 1; # install the actual root files
doCheck = false; # tests require networking
@@ -243,7 +243,7 @@ buildPythonPackage (finalAttrs: {
};
};
SCIPY_USE_G77_ABI_WRAPPER = 1;
env.SCIPY_USE_G77_ABI_WRAPPER = 1;
meta = {
changelog = "https://github.com/scipy/scipy/releases/tag/v${finalAttrs.version}";
@@ -11,7 +11,7 @@ buildPythonPackage rec {
format = "setuptools";
src = libseccomp.pythonsrc;
VERSION_RELEASE = version; # used by build system
env.VERSION_RELEASE = version; # used by build system
nativeBuildInputs = [ cython ];
buildInputs = [ libseccomp ];
@@ -29,7 +29,7 @@ stdenv.mkDerivation {
head CMakeLists.txt
'';
CLANG_INSTALL_DIR = llvmPackages.libclang.out;
env.CLANG_INSTALL_DIR = llvmPackages.libclang.out;
nativeBuildInputs = [
cmake
@@ -59,7 +59,7 @@ buildPythonPackage rec {
svgwrite
];
# https://github.com/echemdb/svgdigitizer/issues/252
MPLBACKEND = "Agg";
env.MPLBACKEND = "Agg";
nativeCheckInputs = [
pytestCheckHook
@@ -59,7 +59,7 @@ buildPythonPackage rec {
pyarrow
];
TILEDB_PATH = tiledb;
env.TILEDB_PATH = tiledb;
disabled = !isPy3k; # Not bothering with python2 anymore
@@ -36,7 +36,7 @@ buildPythonPackage rec {
'';
# Disable Cython tests
TINYCSS_SKIP_SPEEDUPS_TESTS = true;
env.TINYCSS_SKIP_SPEEDUPS_TESTS = true;
pythonImportsCheck = [ "tinycss" ];
@@ -17,7 +17,7 @@ buildPythonPackage rec {
hash = "sha256-XuRhRmeTXAplb14UwISyzaqEIrFeg8/aCdMxUccMUos=";
};
VERSION = version;
env.VERSION = version;
propagatedBuildInputs = [ requests ];
@@ -99,16 +99,19 @@ buildPythonPackage.override { inherit stdenv; } (finalAttrs: {
env = {
TORCH_CUDA_ARCH_LIST = "${lib.concatStringsSep ";" torch.cudaCapabilities}";
};
# https://github.com/pytorch/audio/blob/v2.1.0/docs/source/build.linux.rst#optional-build-torchaudio-with-a-custom-built-ffmpeg
FFMPEG_ROOT = symlinkJoin {
name = "ffmpeg";
paths = [
ffmpeg_6-full.bin
ffmpeg_6-full.dev
ffmpeg_6-full.lib
];
# https://github.com/pytorch/audio/blob/v2.1.0/docs/source/build.linux.rst#optional-build-torchaudio-with-a-custom-built-ffmpeg
FFMPEG_ROOT = symlinkJoin {
name = "ffmpeg";
paths = [
ffmpeg_6-full.bin
ffmpeg_6-full.dev
ffmpeg_6-full.lib
];
};
BUILD_SOX = 0;
BUILD_KALDI = 0;
BUILD_RNNT = 0;
BUILD_CTC_DECODER = 0;
};
nativeBuildInputs = [
@@ -136,11 +139,6 @@ buildPythonPackage.override { inherit stdenv; } (finalAttrs: {
dependencies = [ torch ];
BUILD_SOX = 0;
BUILD_KALDI = 0;
BUILD_RNNT = 0;
BUILD_CTC_DECODER = 0;
preConfigure = lib.optionalString rocmSupport ''
export ROCM_PATH=${rocmtoolkit_joined}
export PYTORCH_ROCM_ARCH="${gpuTargetString}"
@@ -18,7 +18,9 @@ buildPythonPackage rec {
buildInputs = [ unrar ];
NIX_CFLAGS_LINK = lib.optionalString stdenv.hostPlatform.isDarwin "-headerpad_max_install_names";
env = lib.optionalAttrs stdenv.hostPlatform.isDarwin {
NIX_CFLAGS_LINK = "-headerpad_max_install_names";
};
postInstall = lib.optionalString stdenv.hostPlatform.isDarwin ''
install_name_tool -change libunrar.so ${unrar}/lib/libunrar.so $out/lib/python*/site-packages/unrardll/unrar.*-darwin.so
@@ -103,10 +103,10 @@ buildPythonPackage (finalAttrs: {
"test_text_stroke"
];
FONTCONFIG_FILE = "${fontconfig.out}/etc/fonts/fonts.conf";
env.FONTCONFIG_FILE = "${fontconfig.out}/etc/fonts/fonts.conf";
# Set env variable explicitly for Darwin, but allow overriding when invoking directly
makeWrapperArgs = [ "--set-default FONTCONFIG_FILE ${finalAttrs.FONTCONFIG_FILE}" ];
makeWrapperArgs = [ "--set-default FONTCONFIG_FILE ${finalAttrs.env.FONTCONFIG_FILE}" ];
pythonImportsCheck = [ "weasyprint" ];
@@ -70,10 +70,12 @@ buildPythonPackage rec {
writableTmpDirAsHomeHook
];
NIX_CFLAGS_COMPILE = lib.optionalString stdenv.hostPlatform.isLinux (toString [
# xgrammar hardcodes -flto=auto while using static linking, which can cause linker errors without this additional flag.
"-ffat-lto-objects"
]);
env = lib.optionalAttrs stdenv.hostPlatform.isLinux {
NIX_CFLAGS_COMPILE = toString [
# xgrammar hardcodes -flto=auto while using static linking, which can cause linker errors without this additional flag.
"-ffat-lto-objects"
];
};
disabledTests = [
# You are trying to access a gated repo.
@@ -33,10 +33,12 @@ buildPythonPackage rec {
"--library-dirs=${zstd}/lib"
];
# Running tests via setup.py triggers an attempt to recompile with the vendored zstd
ZSTD_EXTERNAL = 1;
VERSION = zstd.version;
PKG_VERSION = version;
env = {
# Running tests via setup.py triggers an attempt to recompile with the vendored zstd
ZSTD_EXTERNAL = 1;
VERSION = zstd.version;
PKG_VERSION = version;
};
nativeCheckInputs = [ pytest ];
checkPhase = ''