jtojnar / nixpkgs-hammering

Beat your package expressions into a shape
MIT License
245 stars 14 forks source link

Python checks no longer work #138

Open jtojnar opened 1 year ago

jtojnar commented 1 year ago

The overlay produced by checkBuildPythonPackageFor no longer appears to override buildPythonPackage:

https://github.com/jtojnar/nixpkgs-hammering/blob/54411aabc9be0d78c813b57eff1bd1dc480ce843/lib/default.nix#L83-L111

And the one from checkFor does not seem to apply to mkDerivation used by buildPythonPackage internally (even though it works for packages using stdenv.mkDerivation directly:

https://github.com/jtojnar/nixpkgs-hammering/blob/54411aabc9be0d78c813b57eff1bd1dc480ce843/lib/default.nix#L69-L76

I bisected the breakage to https://github.com/NixOS/nixpkgs/commit/33d12e5f0bcc61d8e12d07fd73ad981f0d42ab59

AkechiShiro commented 1 year ago

Hi @jtojnar is this still relevant today?

jtojnar commented 1 year ago

@AkechiShiro Yes, I have not found the time to fix this yet.

AkechiShiro commented 1 year ago

How can I help investigate/fix this, it looks a bit complicated due to the nature of the change that was made upstream ? What do you recommend me to do so I can dig into this and help you maybe get closer to fix it, I don't know if I'll be able to as this is my first contribution to this nix community project.

jtojnar commented 1 year ago

You can clone nixpkgs-hammering and revert https://github.com/jtojnar/nixpkgs-hammering/commit/bc495eeab7a254b5c99444ae1f913f5a2ad4a140, and try to make the tests pass by tweaking the overlays. You can also try to look at https://github.com/NixOS/nixpkgs/commit/33d12e5f0bcc61d8e12d07fd73ad981f0d42ab59 and tweak it and try to run tests with the updated Nixpkgs usingnix shell --override-input nixpkgs . ~/Projects/nixpkgs-hammering -c ./run-tests.py

It does not matter if it is your contribution but it will be pretty hard so it depends on how you are proficient with Nix or comfortable reading the overlay and fix-point heavy Nix code for stdenv and Python packaging.

AkechiShiro commented 1 year ago

Fine, thanks for the detailed instructions @jtojnar, let me take up this challenge, if I fail, I'll only have learned more, no one can fix everything on their first tries.