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

tamarin-prover: mark as broken because upstream is broken #69356

Merged
merged 1 commit into from Sep 25, 2019

Conversation

kmein
Copy link
Member

@kmein kmein commented Sep 24, 2019

Motivation for this change

tamarin-prover is packaged twice in nixpkgs: the first one taken from hackage (haskellPackages.tamarin-prover), the second one taken from its github repository (tamarin-prover). So apparently, they broke their newest release (1.4.1). The corresponding haskellPackages package is already marked as broken whereas the package from github is not. This makes hydra try evaluating it and fail.

@NixOS/backports #68361

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 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 nix-review --run "nix-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.
Notify maintainers

cc @thoughtpolice

@Mic92
Copy link
Member

Mic92 commented Sep 24, 2019

Since we got the hackage version as well, would it make sense to just drop this version from nixpkgs?

@kmein
Copy link
Member Author

kmein commented Sep 24, 2019

As far as I can see, the tamarin-prover package adds a vim plugin and includes a tamarin plugin for something called SAPIC. So it's not exactly packaged twice.

@globin globin merged commit 74f63ca into NixOS:master Sep 25, 2019
@thoughtpolice
Copy link
Member

thoughtpolice commented Sep 25, 2019

@kmein @Mic92 No, I do not want to drop this package. The version of tamarin-prover that is exposed in all-packages.nix is the correct version for 99.99% of all users to use, because it actually exposes all the needed tooling (such as maude) in the wrappers, avoids spurious Haskell toolchain dependencies, and has multiple enhancements (like a sapic build that carefully avoids OCaml dependencies as well, for specifying alternative specs that get compiled to Tamarin.) The version on Hackage is useful for Haskell programmers and coincidentally Haskell programmers that want to install Tamarin easily. It is not a suitable replacement for the actual package for end users, who may want to run third party proofs (e.g. of the WireGuard protocol.)

Furthermore, it is not upstream that broke their package, it is the fact that the binary-orphans package which they previously depended on has changed fundamentally in its 1.0 release and no longer exposes instances. It built totally fine as of a few weeks ago until it was broken (by an automatic update, I assume). Please see #69292 for more details. In short, hackage2nix or whatever simply fixed all binary-orphans users into using 1.0+ builds. The fact that some packages were nuked by this perhaps isn't surprising; Tamarin does yearly-ish releases, so they haven't caught up with this.

The best the Tamarin authors could have done is to specify a proper upper bounds on binary-orphans, but even then the only thing that would have happened is that it would have automatically been excluded from haskellPackages anyway. The actual fix is just to write a patch that uses binary-instances instead.

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

4 participants