@@ -0,0 +1,51 @@
1+{ lib, which, stdenv, fetchzip, ocaml, findlib, hacl-star, ctypes, cppo }:
2+
3+stdenv.mkDerivation rec {
4+ pname = "ocaml${ocaml.version}-hacl-star-raw";
5+ version = "0.3.2";
6+
7+ src = fetchzip {
8+ url = "https://github.com/project-everest/hacl-star/releases/download/ocaml-v${version}/hacl-star.${version}.tar.gz";
9+ sha256 = "1wp27vf0g43ggs7cv85hpa62jjvzkwzzg5rfznbwac6j6yr17zc7";
10+ stripRoot = false;
11+ };
12+
13+ sourceRoot = "./source/raw";
14+
15+ minimalOCamlVersion = "4.05";
16+
17+ postPatch = ''
18+ patchShebangs ./
19+ '';
20+
21+ preInstall = ''
22+ mkdir -p $OCAMLFIND_DESTDIR/stublibs
23+ '';
24+
25+ installTargets = "install-hacl-star-raw";
26+
27+ dontAddPrefix = true;
28+
29+ buildInputs = [
30+ which
31+ ocaml
32+ findlib
33+ ];
34+
35+ propagatedBuildInputs = [
36+ ctypes
37+ ];
38+
39+ checkInputs = [
40+ cppo
41+ ];
42+
43+ doCheck = true;
44+
45+ meta = {
46+ description = "Auto-generated low-level OCaml bindings for EverCrypt/HACL*";
47+ license = lib.licenses.asl20;
48+ maintainers = [ lib.maintainers.ulrikstrid ];
49+ platforms = ocaml.meta.platforms;
50+ };
51+}