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-modules: Add revision argument to callHackageDirect #284490

Merged

Conversation

wolfgangwalther
Copy link
Contributor

Previously, callHackageDirect was only able to fetch the first revision of a package.

Resolves #134747

Description of changes

Tested with a random package which needs a revision. Fails without revision argument:

nix-build -E - <<EOE
with import ./default.nix {};
haskellPackages.callHackageDirect {
  pkg = "hopfli";
  ver = "0.2.2.1";
  sha256 = "sha256-tW96rAmt0SyWXEfm6GdzCFQVS8JigA4ID2rkd9u9pMg=";
} {}
EOE

[...]
Error: Setup: Encountered missing or private dependencies:
QuickCheck >=2.6 && <2.11, hspec >=1.7.2.1 && <2.5

error: builder for '/nix/store/sm9p7bd4kdqpq4yyc2fb24fy8f5q6yrh-hopfli-0.2.2.1.drv' failed with exit code 1

Succeeds with revision argument:

nix-build -E - <<EOE
with import ./default.nix {};
haskellPackages.callHackageDirect {
  pkg = "hopfli";
  ver = "0.2.2.1";
  sha256 = "sha256-tW96rAmt0SyWXEfm6GdzCFQVS8JigA4ID2rkd9u9pMg=";
  rev = { revision = "1"; sha256 = "116jns5im51sb9xiwpx308wz3pr67335633anrf8f704pz8vwjka"; };
} {}
EOE

/nix/store/7hfbgajzlbxjpffc858glcq7j37ygl9g-hopfli-0.2.2.1

Things done

  • Built on platform(s)
    • x86_64-linux
    • aarch64-linux
    • x86_64-darwin
    • aarch64-darwin
  • For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)
    • sandbox = relaxed
    • sandbox = true
  • Tested, as applicable:
  • Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
  • Tested basic functionality of all binary files (usually in ./result/bin/)
  • 24.05 Release Notes (or backporting 23.05 and 23.11 Release notes)
    • (Package updates) Added a release notes entry if the change is major or breaking
    • (Module updates) Added a release notes entry if the change is significant
    • (Module addition) Added a release notes entry if adding a new NixOS module
  • Fits CONTRIBUTING.md.

Add a 👍 reaction to pull requests you find important.

Copy link
Member

@maralorn maralorn left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This change makes sense to me.

Luckily for you, those functions are still undocumented in the nixpkgs manual so we can’t force you to update that …

@wolfgangwalther
Copy link
Contributor Author

Luckily for you, those functions are still undocumented in the nixpkgs manual so we can’t force you to update that …

Tbh, I did grep the docs to update them, only to see that they are in fact not documented, yet, ... at which point I stopped ;)

Previously, callHackageDirect was only able to fetch the first revision
of a package.

Resolves NixOS#134747
@wolfgangwalther
Copy link
Contributor Author

@maralorn is there anything that this is still blocked on or can this be merged?

@maralorn
Copy link
Member

Nope, thank you!

And thank you for posting an easy test in the description. Very helpful.

@maralorn maralorn merged commit e533928 into NixOS:haskell-updates Feb 26, 2024
18 checks passed
@wolfgangwalther wolfgangwalther deleted the hackage-direct-revision branch February 26, 2024 11:30
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants