New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
idris: Recurse into attrs, fix build and remove unneeded overrides #43444
Conversation
- The gmp issue has long been fixed and closed - The preBuild thing was never used afaik, it works no problem without it, especially since checks don't run (To get checks to work we'd have to compile the libraries into idris, which are currently nicely separated) - The dependencies overrides aren't needed anymore
No attempt on aarch64-linux (full log) The following builds were skipped because they don't evaluate on aarch64-linux: idris Partial log (click to expand)
|
Success on x86_64-linux (full log) Attempted: idris Partial log (click to expand)
|
Is there a way to add packages to Hydra without making them show up in I think if we do recurseIntoAttrs for idris, we should make sure all of the names are prefixed properly with something like |
@matthewbauer Good point, I didn't think of that, will fix that |
@matthewbauer Fixed that @GrahamcOfBorg build idrisPackages.recursion_schemes |
No attempt on aarch64-linux (full log) The following builds were skipped because they don't evaluate on aarch64-linux: idrisPackages.recursion_schemes Partial log (click to expand)
|
No attempt on aarch64-linux (full log) The following builds were skipped because they don't evaluate on aarch64-linux: idris Partial log (click to expand)
|
Success on x86_64-linux (full log) Attempted: idrisPackages.recursion_schemes Partial log (click to expand)
|
Success on x86_64-linux (full log) Attempted: idris Partial log (click to expand)
|
Is there a way to add packages to Hydra without making them show up in nix-env?
You can add the name of the attribute set at the bottom of pkgs/top-level/release.nix, like "haskellPackages" does it.
|
Is this good to merge? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The clean up is very desirable to have, obviously. I'm not sure whether Idris packages should show up with nix-env -qa
. Are these packages useful to users, i.e. can you install nix-env -i idris-foo
and do something useful with it? If you can, then showing them on the index seems fine. If Idris packages need to be installed using a wrapper, like Haskell packages do, then showing them on the index make little sense IMHO.
The Idris packages need to be installed using a wrapper like the Haskell packages do. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please don't use recurseIntoAttrs
. It seems like a bad idea to show packages to users in nix-env
that they actually can't use in nix-env
.
Hydra builds can be enabled by adding an appropriate entry to release.nix
, similar to this one: https://github.com/NixOS/nixpkgs/blob/master/pkgs/top-level/release.nix#L168
Peti, thanks for the review and the above great points. |
@brainrape Are there any idris packages with binaries though? And are the binaries even built and installed into $out/bin? |
@peti I removed recurseIntoAttrs and added it to the mentioned release.nix |
No attempt on aarch64-linux (full log) The following builds were skipped because they don't evaluate on aarch64-linux: idris Partial log (click to expand)
|
Success on x86_64-linux (full log) Attempted: idris Partial log (click to expand)
|
There are use cases for idris packages with binaries, however, |
it, especially since checks don't run (To get checks to work we'd have
to compile the libraries into idris, which are currently nicely
separated)
Motivation for this change
Originally just removing the hacks, but after rebasing on master I discovered that since 69cd09f it wouldn't build at all. This cleanup surprisingly (or not) just happens to fix it :).
In the second commit I also made idris packages to be included in the packages hydra builds and nix-env finds. I hope that's okay, the ~80 idris packages don't change very often and it would be very nice to have them cached because Idris can take a while to build them (and you currently don't even have any progress reporting! Will be fixed with my idris-lang/Idris-dev#4498 in the next Idris version though).
Ping @brainrape @mpickering @peti
Things done
sandbox
innix.conf
on non-NixOS)./result/bin/
)nix path-info -S
before and after)