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
[haskell-updates] hackagePackages.hnix: Disable completion to fix build #91251
Conversation
hnix = generateOptparseApplicativeCompletion "hnix" ( | ||
dontCheck super.hnix | ||
); |
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.
Do you know why generateOptparseApplicativeCompletion
doesn't work for hnix
? Is this a problem with generateOptparseApplicativeCompletion
, or something that needs to be fixed upstream in hnix
?
If it is the former, can you file an issue about generateOptparseApplicativeCompletion
? If it is the later, can you file an issue with hnix
?
Other than that, this looks good to me.
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.
Now that you ask about it, I realize what the problem is.
hnix does not produce an executable anymore. I have no clue why. But that certainly explains why it can't have completion...
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.
Huh, that's somewhat strange. Maybe there was some change upstream?
I'm happy to merge this in then, if hnix
is no longer expected to contain an executable.
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.
I will dig deeper maybe this is indicative of a larger issue. So let's not just fix the symptom.
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.
Okay I found the culprit in the executable definition.:
if impl(ghc < 8.10)
-- GHC < 8.10 comes with haskeline < 0.8, which we don't support.
-- To simplify CI, we just disable the component.
buildable: False
So what we actually want is an exception for ghc < 8.10 to don‘t build the completion.
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.
Ah, in that case you can add an override in pkgs/development/haskell-modules/configuration-ghc-8.10.x.nix
that will only apply for ghc810.
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.
That does not sound very future proof. likely we will forget to transfer it to 8.12.
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.
I have done it this way anyway, because I couldn‘t think of anything better.
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.
Do not worry about it, team would always remember to keep hnix
properly in Nixpkgs, since it is directly related project.
hnix 0.9.0 does not provide an executable for ghc <8.10 anymore. So we need to disable optparse-applicative completion generation for all other versions.
@GrahamcOfBorg build haskellPackages.hnix |
Looks like it is successfully building on Linux at least, thanks for fixing this! |
The optparse-applicative completion generation does not work for hnix
0.9.0.
Things done
sandbox
innix.conf
on non-NixOS linux)nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
./result/bin/
)nix path-info -S
before and after)