aboutsummaryrefslogtreecommitdiffstats
path: root/flake.nix
blob: 7982b35e000b7ae9d4ede1139b60540ca7c711af (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
{
  description = "CompCertGSA dependencies";

  inputs = { nixpkgs.url = "github:nixos/nixpkgs"; };

  outputs = { self, nixpkgs }:
    let
      pkgs = nixpkgs.legacyPackages.x86_64-linux;
      ncoq = pkgs.coq_8_13;
      ncoqPackages = pkgs.coqPackages_8_13;
      veriT' = pkgs.veriT.overrideAttrs (oA: {
        src = pkgs.fetchurl {
          url = "https://www.lri.fr/~keller/Documents-recherche/Smtcoq/veriT9f48a98.tar.gz";
          sha256 = "sha256-Pe46PxQVHWwWwx5Ei4Bl95A0otCiXZuUZ2nXuZPYnhY=";
        };
        meta.broken = false;
      });
      dpkgs = nixpkgs.legacyPackages.x86_64-darwin;
      dncoq = dpkgs.coq_8_13;
      dncoqPackages = dpkgs.coqPackages_8_13;
    in {
      devShell.x86_64-linux = pkgs.mkShell {
        buildInputs = with pkgs;
          [ ncoq
            dune_2
            gcc
            ncoq.ocaml
            creduce
#            ncoqPackages.smtcoq
            zchaff
            veriT'

            ncoqPackages.serapi
            python3
            python3Packages.alectryon
            python3Packages.sphinx_rtd_theme
          ] ++
          (with ncoq.ocamlPackages;
            [findlib menhir menhirLib ocamlgraph ocp-indent utop num zarith merlin]);
      };
      devShell.x86_64-darwin = dpkgs.mkShell {
        buildInputs = with dpkgs;
          [ dncoq
            dune_2
            gcc
            dncoq.ocaml
            dncoq.ocamlPackages.findlib
            dncoq.ocamlPackages.menhir
            dncoq.ocamlPackages.menhirLib
            dncoq.ocamlPackages.ocamlgraph

            dncoq.ocamlPackages.ocp-indent
            dncoq.ocamlPackages.utop

            ncoq.ocamlPackages.z3
            z3

            dncoqPackages.serapi
            python3
            python3Packages.alectryon
            python3Packages.sphinx_rtd_theme
          ];
      };
    };
}