mirror of
https://github.com/NixOS/nixpkgs.git
synced 2025-01-18 10:53:52 +00:00
python3: splice python within python3Packages.callPackage
`lib.extends hooks pythonPackagesFun` includes python which we want to splice what this fixes: ``` nix-repl> lib.elemAt pkgsCross.aarch64-multiplatform.python3Packages.xpybutil.nativeBuildInputs 0 «derivation /nix/store/39dkb51rciw6zwg0c2c44gpmpjapddxc-python3-aarch64-unknown-linux-gnu-3.10.12.drv» ``` to ``` nix-repl> lib.elemAt pkgsCross.aarch64-multiplatform.python3Packages.xpybutil.nativeBuildInputs 0 «derivation /nix/store/21ldw2dp26xvv9iyxn9x77a8yh4waqz5-python3-3.10.12.drv» ``` Before https://github.com/NixOS/nixpkgs/pull/194205 The keep python used to work by accident because self was passed from __splicedPackages https://github.com/NixOS/nixpkgs/pull/196052/files#diff-44ce3495c4f983ce64dd47c86a9d3e77bad210b2709c098a3806998dcd9b000bR213 But now it does not work because overrideAttrs is used on python in python-packages-base.nix Preferably we would [ splice the hooks too ](https://github.com/NixOS/nixpkgs/pull/228139) but we cannot do that until [Package sets within derivations (i.e. python3.pkgs) are not spliced](https://github.com/NixOS/nixpkgs/issues/211340) is fixed, because people often use `python3.pkgs.wrapPython` in `nativeBuildInputs` (it's correct but python3.pkgs should be python3Packages to get splicing.
This commit is contained in:
parent
f412593af0
commit
793cc9d982
@ -1,9 +1,9 @@
|
||||
self: super: with self;
|
||||
self: dontUse: with self;
|
||||
|
||||
let
|
||||
pythonInterpreter = super.python.pythonForBuild.interpreter;
|
||||
pythonSitePackages = super.python.sitePackages;
|
||||
pythonCheckInterpreter = super.python.interpreter;
|
||||
pythonInterpreter = python.pythonForBuild.interpreter;
|
||||
pythonSitePackages = python.sitePackages;
|
||||
pythonCheckInterpreter = python.interpreter;
|
||||
setuppy = ../run_setup.py;
|
||||
in {
|
||||
makePythonHook = args: pkgs.makeSetupHook ({passthru.provides.setupHook = true; } // args);
|
||||
|
@ -47,12 +47,13 @@
|
||||
selfTargetTarget = pythonOnTargetForTarget.pkgs or {}; # There is no Python TargetTarget.
|
||||
};
|
||||
hooks = import ./hooks/default.nix;
|
||||
keep = lib.extends hooks pythonPackagesFun;
|
||||
keep = self: hooks self {};
|
||||
extra = _: {};
|
||||
optionalExtensions = cond: as: lib.optionals cond as;
|
||||
pythonExtension = import ../../../top-level/python-packages.nix;
|
||||
python2Extension = import ../../../top-level/python2-packages.nix;
|
||||
extensions = lib.composeManyExtensions ([
|
||||
hooks
|
||||
pythonExtension
|
||||
] ++ (optionalExtensions (!self.isPy3k) [
|
||||
python2Extension
|
||||
@ -64,7 +65,7 @@
|
||||
otherSplices
|
||||
keep
|
||||
extra
|
||||
(lib.extends (lib.composeExtensions aliases extensions) keep))
|
||||
(lib.extends (lib.composeExtensions aliases extensions) pythonPackagesFun))
|
||||
{
|
||||
overrides = packageOverrides;
|
||||
python = self;
|
||||
|
Loading…
Reference in New Issue
Block a user