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

cryptol: fix, rework cryptol 2.6.0 builds #58943

Merged
merged 1 commit into from Apr 7, 2019

Conversation

thoughtpolice
Copy link
Member

@thoughtpolice thoughtpolice commented Apr 3, 2019

  • The previous build of Cryptol was broken on GHC 8.6.x, which is now the
    new default. That's been fixed with a few upstream patches that will come
    up whenever the next release happens.

  • There was also a build failure on base-compat, fixed by jailbreaking.

  • The previous setup had all-packages.nix creating a new derivation
    solely for the purpose of wrapping the Z3 binary. This has been removed:
    the wrapper is still added but during the Haskell build itself, so that
    all Haskell dependent packages can use the cryptol interpreters too.

  • In its place, we use justStaticExecutables, so people using nix-env
    and Cryptol users who don't need haskell dependencies can get much
    smaller closures. Obviously this still implies a second build, but
    this build is much more useful than one that merely adds a shell
    script to a package that's relatively expensive to compile...

Things done
  • Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS)
  • Built on platform(s)
    • NixOS
    • macOS
    • other Linux distributions
  • 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)
  • Assured whether relevant documentation is up to date
  • Fits CONTRIBUTING.md.

  - The previous build of Cryptol was broken on GHC 8.6.x, which is now the
  new default. That's been fixed with a few upstream patches that will come
  up whenever the next release happens.

  - There was also a build failure on base-compat, fixed by jailbreaking.

  - The previous setup had all-packages.nix creating a new derivation
  solely for the purpose of wrapping the Z3 binary. This has been removed:
  the wrapper is still added but during the Haskell build itself, so that
  all Haskell dependent packages can use the cryptol interpreters too.

  - In its place, we use justStaticExecutables, so people using nix-env
  and Cryptol users who *don't* need haskell dependencies can get much
  smaller closures. Obviously this still implies a second build, but
  this build is much more useful than one that merely adds a shell
  script to a package that's relatively expensive to compile...

Signed-off-by: Austin Seipp <aseipp@pobox.com>
@thoughtpolice
Copy link
Member Author

@GrahamcOfBorg build cryptol

1 similar comment
@thoughtpolice
Copy link
Member Author

@GrahamcOfBorg build cryptol

@thoughtpolice thoughtpolice merged commit 12db6c1 into NixOS:master Apr 7, 2019
@thoughtpolice thoughtpolice deleted the cryptol-2.6 branch April 7, 2019 05:46
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

2 participants