Open kjeremy opened 1 month ago
I thought the following would work too but it fails to take my modifications into account.
python3 = super.python3 // {
pkgs = super.python3.pkgs.overrideScope(pyFinal: pyPrev: {
mypkg = pyPrev.mypkg.overrideAttrs ....
});
};
EDIT: In this case my modifications are available under python3.pkgs
but not python3Packages
.
Okay I can work around the package issue by using pythonPackagesExtensions
like the following in an overlay:
pythonPackagesExtensions = super.pythonPackagesExtensions ++ [
(pyFinal: pyPrev: {
pykdl = pyPrev.pykdl.overrideAttrs({ cmakeFlags ? [], ... }: {
cmakeFlags = cmakeFlags ++ [ "-DPYTHON_EXECUTABLE=${lib.getExe self.python3.pythonOnBuildForHost}" "-DWHATEVER=1" ];
});
})
];
This allows my version of pykdl
to be present in both python3.pkgs
and python3Packages
. However I still cannot override python3
in the overlay without getting the error about empy_3
missing.
@lopsided98 do you have any suggestions? This is a blocker for me.
I can't seem to override
python3
anymore. Previously I had an overlay that did the following:to override some packages for cross compilation. This pattern now fails. I have a reproducer here: https://github.com/kjeremy/nix-ros-overlay-python-fail.
As an aside (hint?) in my actual project it complains about
empy_3
missing.