Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
1{ stdenv
2, fetchFromGitHub
3, lib
4, ncurses
5, makeWrapper
6, ocamlbuild
7, findlib
8, ocaml
9, num
10, zarith
11}:
12
13lib.throwIfNot (lib.versionAtLeast ocaml.version "4.07")
14 "lem is not available for OCaml ${ocaml.version}"
15
16stdenv.mkDerivation rec {
17 pname = "ocaml${ocaml.version}-lem";
18 version = "2022-12-10";
19
20 src = fetchFromGitHub {
21 owner = "rems-project";
22 repo = "lem";
23 rev = version;
24 hash = "sha256-ZQgcuIVRkJS0KtpzjbO4OPHGg6B0TadWA6XpRir30y8=";
25 };
26
27 nativeBuildInputs = [ makeWrapper ocamlbuild findlib ocaml ];
28 propagatedBuildInputs = [ zarith num ];
29
30 installFlags = [ "INSTALL_DIR=$(out)" ];
31
32 createFindlibDestdir = true;
33
34 postInstall = ''
35 wrapProgram $out/bin/lem --set LEMLIB $out/share/lem/library
36 '';
37
38 meta = with lib; {
39 homepage = "https://github.com/rems-project/lem";
40 description = "A tool for lightweight executable mathematics";
41 maintainers = with maintainers; [ genericnerdyusername ];
42 license = with licenses; [ bsd3 gpl2 ];
43 platforms = ocaml.meta.platforms;
44 };
45}