biglybt: 3.5.0.0 -> 3.6.0.0
[NixPkgs.git] / pkgs / development / ocaml-modules / hacl-star / raw.nix
blobb4b8c1741535980dbb4e381377f9dfe34b25b016
1 { lib
2 , which
3 , stdenv
4 , fetchzip
5 , opaline
6 , cmake
7 , ocaml
8 , findlib
9 , hacl-star
10 , ctypes
11 , cppo
13 stdenv.mkDerivation rec {
14   pname = "ocaml${ocaml.version}-hacl-star-raw";
15   version = "0.7.1";
17   src = fetchzip {
18     url = "https://github.com/cryspen/hacl-packages/releases/download/ocaml-v${version}/hacl-star.${version}.tar.gz";
19     hash = "sha256-TcAEaJou4BOVXSz5DYewzKfvIpjXmhLAlgF0hlq3ToQ=";
20     stripRoot = false;
21   };
23   patches = [
24     ./aligned-alloc.patch
25   ];
27   # strictoverflow is disabled because it breaks aarch64-darwin
28   hardeningDisable = [ "strictoverflow" ];
30   # Compatibility with ctypes ≥ 0.21
31   # see: https://github.com/cryspen/hacl-packages/commit/81303b83a54a92d3b5f54f1b8ddbea60438cc2bf
32   postPatch = ''
33     substituteInPlace hacl-star-raw/META --replace-warn 'requires="ctypes"' 'requires="ctypes ctypes.stubs"'
34     patchShebangs ./
35   '';
37   buildPhase = ''
38     runHook preBuild
40     make -C hacl-star-raw build-c
41     make -C hacl-star-raw build-bindings
43     runHook postBuild
44   '';
46   preInstall = ''
47     mkdir $out
48     mkdir -p $OCAMLFIND_DESTDIR/stublibs
49   '';
51   installPhase = ''
52     runHook preInstall
54     make -C hacl-star-raw install
56     runHook postInstall
57   '';
59   dontUseCmakeConfigure = true;
60   dontAddPrefix = true;
61   dontAddStaticConfigureFlags = true;
62   createFindlibDestdir = true;
64   nativeBuildInputs = [
65     which
66     cmake
67     ocaml
68     findlib
69   ];
71   propagatedBuildInputs = [
72     ctypes
73   ];
75   checkInputs = [
76     cppo
77   ];
79   strictDeps = true;
81   doCheck = true;
83   meta = {
84     inherit (ocaml.meta) platforms;
85     description = "Auto-generated low-level OCaml bindings for EverCrypt/HACL*";
86     license = lib.licenses.asl20;
87     maintainers = [ lib.maintainers.ulrikstrid ];
88   };