biglybt: 3.5.0.0 -> 3.6.0.0
[NixPkgs.git] / pkgs / development / ocaml-modules / sail / default.nix
blob0e2dbda80d49d12df06717149dec71693f52b3f9
1 { lib
2 , fetchFromGitHub
3 , buildDunePackage
4 , base64
5 , omd
6 , menhir
7 , ott
8 , linenoise
9 , dune-site
10 , pprint
11 , makeWrapper
12 , lem
13 , z3
14 , linksem
15 , num
16 , yojson
19 buildDunePackage rec {
20   pname = "sail";
21   version = "0.16";
23   src = fetchFromGitHub {
24     owner = "rems-project";
25     repo = "sail";
26     rev = version;
27     hash = "sha256-HY/rgWi0S7ZiAWZF0fVIRK6fpoJ7Xp5EQcxoPRCPJ5Y=";
28   };
30   minimalOCamlVersion = "4.08";
32   nativeBuildInputs = [
33     makeWrapper
34     ott
35     menhir
36     lem
37   ];
39   propagatedBuildInputs = [
40     base64
41     omd
42     dune-site
43     linenoise
44     pprint
45     linksem
46     yojson
47   ];
49   preBuild = ''
50     rm -r aarch*  # Remove code derived from non-bsd2 arm spec
51     rm -r snapshots  # Some of this might be derived from stuff in the aarch dir, it builds fine without it
52   '';
53   # `buildDunePackage` only builds the [pname] package
54   # This doesnt work in this case, as sail includes multiple packages in the same source tree
55   buildPhase = ''
56     runHook preBuild
57     dune build --release ''${enableParallelBuild:+-j $NIX_BUILD_CORES}
58     runHook postBuild
59   '';
60   checkPhase = ''
61     runHook preCheck
62     dune runtest ''${enableParallelBuild:+-j $NIX_BUILD_CORES}
63     runHook postCheck
64   '';
65   installPhase = ''
66     runHook preInstall
67     dune install --prefix $out --libdir $OCAMLFIND_DESTDIR
68     runHook postInstall
69   '';
70   postInstall = ''
71     wrapProgram $out/bin/sail --set SAIL_DIR $out/share/sail
72   '';
74   meta = with lib; {
75     homepage = "https://github.com/rems-project/sail";
76     description = "A language for describing the instruction-set architecture (ISA) semantics of processors";
77     maintainers = with maintainers; [ genericnerdyusername ];
78     license = licenses.bsd2;
79   };