mirror of
https://github.com/ilyakooo0/nixpkgs.git
synced 2024-11-20 08:59:32 +03:00
python3Packages.pip: allow setting reproducible temporary directory via NIX_PIP_INSTALL_TMPDIR
This commit is contained in:
parent
ae1584dc98
commit
aedbade43e
@ -11,7 +11,9 @@ pipInstallPhase() {
|
|||||||
export PYTHONPATH="$out/@pythonSitePackages@:$PYTHONPATH"
|
export PYTHONPATH="$out/@pythonSitePackages@:$PYTHONPATH"
|
||||||
|
|
||||||
pushd dist || return 1
|
pushd dist || return 1
|
||||||
@pythonInterpreter@ -m pip install ./*.whl --no-index --prefix="$out" --no-cache $pipInstallFlags --build tmpbuild
|
mkdir tmpbuild
|
||||||
|
NIX_PIP_INSTALL_TMPDIR=tmpbuild @pythonInterpreter@ -m pip install ./*.whl --no-index --prefix="$out" --no-cache $pipInstallFlags
|
||||||
|
rm -rf tmpbuild
|
||||||
popd || return 1
|
popd || return 1
|
||||||
|
|
||||||
runHook postInstall
|
runHook postInstall
|
||||||
|
@ -25,6 +25,10 @@ buildPythonPackage rec {
|
|||||||
name = "${pname}-${version}-source";
|
name = "${pname}-${version}-source";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
# Remove when solved https://github.com/NixOS/nixpkgs/issues/81441
|
||||||
|
# Also update pkgs/development/interpreters/python/hooks/pip-install-hook.sh accordingly
|
||||||
|
patches = [ ./reproducible.patch ];
|
||||||
|
|
||||||
nativeBuildInputs = [ bootstrapped-pip ];
|
nativeBuildInputs = [ bootstrapped-pip ];
|
||||||
|
|
||||||
# pip detects that we already have bootstrapped_pip "installed", so we need
|
# pip detects that we already have bootstrapped_pip "installed", so we need
|
||||||
|
13
pkgs/development/python-modules/pip/reproducible.patch
Normal file
13
pkgs/development/python-modules/pip/reproducible.patch
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
diff --git a/src/pip/_internal/operations/install/wheel.py b/src/pip/_internal/operations/install/wheel.py
|
||||||
|
index e7315ee4..4e36b03d 100644
|
||||||
|
--- a/src/pip/_internal/operations/install/wheel.py
|
||||||
|
+++ b/src/pip/_internal/operations/install/wheel.py
|
||||||
|
@@ -615,6 +615,8 @@ def install_wheel(
|
||||||
|
direct_url=None, # type: Optional[DirectUrl]
|
||||||
|
):
|
||||||
|
# type: (...) -> None
|
||||||
|
+ _temp_dir_for_testing = (
|
||||||
|
+ _temp_dir_for_testing or os.environ.get("NIX_PIP_INSTALL_TMPDIR"))
|
||||||
|
with TempDirectory(
|
||||||
|
path=_temp_dir_for_testing, kind="unpacked-wheel"
|
||||||
|
) as unpacked_dir, ZipFile(wheel_path, allowZip64=True) as z:
|
Loading…
Reference in New Issue
Block a user