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

Update static Nix build #2001

Merged
merged 3 commits into from
Aug 22, 2020
Merged

Update static Nix build #2001

merged 3 commits into from
Aug 22, 2020

Conversation

Gabriella439
Copy link
Collaborator

This is a revamp of our use of
fully static Haskell executables.
The main changes are:

  • We can now use a newer revision of Nixpkgs

    The current revision we're using corresponds to Nixpkgs 20.03

  • We can now more easily update Nixpkgs

    The logic in this repository more closely tracks how static-haskell-nix
    works, so whenever that repository updates Nixpkgs we can pick up the change
    here, too.

    Note that we cannot currently use Nixpkgs master due to
    this issue, but once that is
    fixed when we can track Nixpkgs master more freely.

  • We no longer need to keep track of separate Nixpkgs revisions for
    static vs. non-static builds

    The two builds can also share dependencies, too. Only the top-level
    derivations differ now.

The reason that this doesn't use static-haskell-nix directly is because of
cabal2nix evaluation failures,
so this change works by lifting just the minimum logic that we need from
the static-haskell-nix repository until we can finally use that
repository (or Nixpkgs directly when it's upstreamed).

This is a revamp of our use of
[fully static Haskell executables](NixOS/nixpkgs#43795).
The main changes are:

* We can now use a newer revision of Nixpkgs

  The current revision we're using corresponds to Nixpkgs 20.03

* We can now more easily update Nixpkgs

  The logic in this repository more closely tracks how `static-haskell-nix`
  works, so whenever that repository updates Nixpkgs we can pick up the change
  here, too.

  Note that we cannot currently use Nixpkgs `master` due to
  [this issue](NixOS/nixpkgs#85924), but once that is
  fixed when we can track Nixpkgs `master` more freely.

* We no longer need to keep track of separate Nixpkgs revisions for
  static vs. non-static builds

  The two builds can also share dependencies, too.  Only the top-level
  derivations differ now.

The reason that this doesn't use `static-haskell-nix` directly is because of
[`cabal2nix` evaluation failures](nh2/static-haskell-nix#73),
so this change works by lifting just the minimum logic that we need from
the `static-haskell-nix` repository until we can finally use that
repository (or Nixpkgs directly when it's upstreamed).
release.nix Outdated Show resolved Hide resolved
@Gabriella439
Copy link
Collaborator Author

I'm going to merge this as is (since kubernetes-dhall-docs doesn't block CI) and create a separate pull request to fix the kubernetes-dhall-docs build

@Gabriella439 Gabriella439 merged commit 4fcc8cb into master Aug 22, 2020
@Gabriella439 Gabriella439 deleted the gabriel/update_static_build_2 branch August 22, 2020 16:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants