Skip to content
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

Merged
merged 1 commit into from Jun 23, 2020

Conversation

@maralorn
Copy link
Contributor

maralorn commented Jun 21, 2020

The optparse-applicative completion generation does not work for hnix
0.9.0.

Things done
  • Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
  • Built on platform(s)
    • NixOS
    • macOS
    • other Linux distributions
  • Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
  • Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
  • Tested execution of all binary files (usually in ./result/bin/)
  • Determined the impact on package closure size (by running nix path-info -S before and after)
  • Ensured that relevant documentation is up to date
  • Fits CONTRIBUTING.md.
@maralorn maralorn requested a review from cdepillabout as a code owner Jun 21, 2020
@maralorn maralorn changed the title hackagePackages.hnix: Disable completion to fix build [haskell-updates] hackagePackages.hnix: Disable completion to fix build Jun 21, 2020
hnix = generateOptparseApplicativeCompletion "hnix" (
dontCheck super.hnix
);
Comment on lines -223 to -225

This comment has been minimized.

Copy link
@cdepillabout

cdepillabout Jun 22, 2020

Member

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.

This comment has been minimized.

Copy link
@maralorn

maralorn Jun 22, 2020

Author Contributor

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...

This comment has been minimized.

Copy link
@cdepillabout

cdepillabout Jun 22, 2020

Member

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.

This comment has been minimized.

Copy link
@maralorn

maralorn Jun 22, 2020

Author Contributor

I will dig deeper maybe this is indicative of a larger issue. So let's not just fix the symptom.

This comment has been minimized.

Copy link
@maralorn

maralorn Jun 22, 2020

Author Contributor

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.

This comment has been minimized.

Copy link
@cdepillabout

cdepillabout Jun 22, 2020

Member

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.

This comment has been minimized.

Copy link
@maralorn

maralorn Jun 22, 2020

Author Contributor

That does not sound very future proof. likely we will forget to transfer it to 8.12.

This comment has been minimized.

Copy link
@maralorn

maralorn Jun 22, 2020

Author Contributor

I have done it this way anyway, because I couldn‘t think of anything better.

This comment has been minimized.

Copy link
@Anton-Latukha

Anton-Latukha Jun 22, 2020

Contributor

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.
@cdepillabout
Copy link
Member

cdepillabout commented Jun 23, 2020

@GrahamcOfBorg build haskellPackages.hnix

@cdepillabout
Copy link
Member

cdepillabout commented Jun 23, 2020

Looks like it is successfully building on Linux at least, thanks for fixing this!

@cdepillabout cdepillabout merged commit a0fe522 into NixOS:haskell-updates Jun 23, 2020
15 of 17 checks passed
15 of 17 checks passed
haskellPackages.hnix on aarch64-linux
Details
haskellPackages.hnix on x86_64-darwin
Details
Evaluation Performance Report Evaluator Performance Report
Details
grahamcofborg-eval ^.^!
Details
grahamcofborg-eval-check-maintainers matching changed paths to changed attrs...
Details
grahamcofborg-eval-check-meta config.nix: checkMeta = true
Details
grahamcofborg-eval-darwin nix-instantiate --arg nixpkgs { outPath=./.; revCount=999999; shortRev="bc8b615"; rev="bc8b615344c6ca7746a527058ffc1f0726aff897"; } ./pkgs/t
Details
grahamcofborg-eval-lib-tests nix-build --arg pkgs import ./. {} ./lib/tests/release.nix
Details
grahamcofborg-eval-nixos nix-instantiate --arg nixpkgs { outPath=./.; revCount=999999; shortRev="bc8b615"; rev="bc8b615344c6ca7746a527058ffc1f0726aff897"; } ./nixos/
Details
grahamcofborg-eval-nixos-manual nix-instantiate --arg nixpkgs { outPath=./.; revCount=999999; shortRev="bc8b615"; rev="bc8b615344c6ca7746a527058ffc1f0726aff897"; } ./nixos/
Details
grahamcofborg-eval-nixos-options nix-instantiate --arg nixpkgs { outPath=./.; revCount=999999; shortRev="bc8b615"; rev="bc8b615344c6ca7746a527058ffc1f0726aff897"; } ./nixos/
Details
grahamcofborg-eval-nixpkgs-manual nix-instantiate --arg nixpkgs { outPath=./.; revCount=999999; shortRev="bc8b615"; rev="bc8b615344c6ca7746a527058ffc1f0726aff897"; } ./pkgs/t
Details
grahamcofborg-eval-nixpkgs-tarball nix-instantiate --arg nixpkgs { outPath=./.; revCount=999999; shortRev="bc8b615"; rev="bc8b615344c6ca7746a527058ffc1f0726aff897"; } ./pkgs/t
Details
grahamcofborg-eval-nixpkgs-unstable-jobset nix-instantiate --arg nixpkgs { outPath=./.; revCount=999999; shortRev="bc8b615"; rev="bc8b615344c6ca7746a527058ffc1f0726aff897"; } ./pkgs/t
Details
grahamcofborg-eval-package-list nix-env -qa --json --file .
Details
grahamcofborg-eval-package-list-no-aliases nix-env -qa --json --file . --arg config { allowAliases = false; }
Details
haskellPackages.hnix on x86_64-linux Success
Details
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Linked issues

Successfully merging this pull request may close these issues.

None yet

3 participants
You can’t perform that action at this time.