Skip to content

Comments

Backport 24.05: support Haskell disallowGhcReference without enabling#319295

Merged
sternenseemann merged 3 commits intoNixOS:release-24.05from
hercules-ci:backport-9999years-just-static-executables-disallow-ghc
Jun 12, 2024
Merged

Backport 24.05: support Haskell disallowGhcReference without enabling#319295
sternenseemann merged 3 commits intoNixOS:release-24.05from
hercules-ci:backport-9999years-just-static-executables-disallow-ghc

Conversation

@roberth
Copy link
Member

@roberth roberth commented Jun 12, 2024

Description of changes

Keep overrideCabal API compatible with Nixpkgs unstable.

This backports the mechanism from #304352 but does not enable it.

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.11 Release Notes (or backporting 23.11 and 24.05 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.

9999years and others added 3 commits June 12, 2024 12:10
This makes `justStaticExecutables` error if the produced store path
contains references to GHC. This is almost always erroneous and due to
the generated `Paths_*` module being imported. This helps prevent
`justStaticExecutables` from producing binaries with closure sizes in
the gigabytes.

See: NixOS#164630

Co-authored-by: sternenseemann <sternenseemann@systemli.org>

(cherry picked from commit d261882)
(minus release note)
This change ensures that packages won't be rebuild compared to before
the introduction of disallowedRequisites/disallowGhcReference unless
they use one of those arguments.

It may be nice to revert this in the future (via staging) for greater
simplicity, but will help with initial regression testing.

(cherry picked from commit 0454f7b)
@github-actions github-actions bot added 6.topic: haskell General-purpose, statically typed, purely functional programming language 8.has: documentation This PR adds or changes documentation labels Jun 12, 2024
@roberth roberth requested a review from 9999years June 12, 2024 10:30
@ofborg ofborg bot added 10.rebuild-darwin: 0 This PR does not cause any packages to rebuild on Darwin. 10.rebuild-linux: 0 This PR does not cause any packages to rebuild on Linux. labels Jun 12, 2024
@sternenseemann sternenseemann merged commit d416be5 into NixOS:release-24.05 Jun 12, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

6.topic: haskell General-purpose, statically typed, purely functional programming language 8.has: documentation This PR adds or changes documentation 10.rebuild-darwin: 0 This PR does not cause any packages to rebuild on Darwin. 10.rebuild-linux: 0 This PR does not cause any packages to rebuild on Linux.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants