1{
2 lib,
3 stdenv,
4 fetchFromGitHub,
5 ocaml,
6 findlib,
7}:
8
9lib.throwIfNot (lib.versionAtLeast ocaml.version "4.08")
10 "ocamlscript is not available for OCaml ${ocaml.version}"
11
12 stdenv.mkDerivation
13 rec {
14 pname = "ocaml${ocaml.version}-ocamlscript";
15 version = "3.0.0";
16 src = fetchFromGitHub {
17 owner = "mjambon";
18 repo = "ocamlscript";
19 rev = "v${version}";
20 sha256 = "sha256:10xz8jknlmcgnf233nahd04q98ijnxpijhpvb8hl7sv94dgkvpql";
21 };
22
23 nativeBuildInputs = [
24 ocaml
25 findlib
26 ];
27
28 patches = [ ./Makefile.patch ];
29
30 buildFlags = [ "PREFIX=$(out)" ];
31 installFlags = [ "PREFIX=$(out)" ];
32
33 preInstall = "mkdir -p $out/bin";
34 createFindlibDestdir = true;
35
36 meta = with lib; {
37 inherit (src.meta) homepage;
38 license = licenses.boost;
39 inherit (ocaml.meta) platforms;
40 description = "Natively-compiled OCaml scripts";
41 maintainers = [ maintainers.vbgl ];
42 mainProgram = "ocamlscript";
43 };
44 }