summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--pkgs/development/ocaml-modules/elpi/default.nix32
1 files changed, 10 insertions, 22 deletions
diff --git a/pkgs/development/ocaml-modules/elpi/default.nix b/pkgs/development/ocaml-modules/elpi/default.nix
index c3e5a272f74e0..c00af00b859fb 100644
--- a/pkgs/development/ocaml-modules/elpi/default.nix
+++ b/pkgs/development/ocaml-modules/elpi/default.nix
@@ -1,40 +1,28 @@
-{ stdenv, fetchFromGitHub, ocaml, findlib, camlp5
+{ lib, fetchFromGitHub, buildDunePackage, camlp5
 , ppx_tools_versioned, ppx_deriving, re
 }:
 
-if !stdenv.lib.versionAtLeast ocaml.version "4.03"
-then throw "elpi is not available for OCaml ${ocaml.version}"
-else
+buildDunePackage rec {
+  pname = "elpi";
+  version = "1.4.1";
 
-stdenv.mkDerivation rec {
-  name = "ocaml${ocaml.version}-elpi-${version}";
-  version = "1.2.0";
   src = fetchFromGitHub {
     owner = "LPCIC";
     repo = "elpi";
     rev = "v${version}";
-    sha256 = "1n4jpidx0vk4y66bhd704ajn8n6f1fd5wsi1shj6wijfmjl14h7s";
+    sha256 = "0sj2jbimg3jqwz4bsfcdqbrh45bb1dbgxj5g234pg1xjy9kxzl2w";
   };
 
-  buildInputs = [ ocaml findlib ppx_tools_versioned ];
+  minimumOCamlVersion = "4.04";
 
-  propagatedBuildInputs = [ camlp5 ppx_deriving re ];
-
-  createFindlibDestdir = true;
+  buildInputs = [ ppx_tools_versioned ];
 
-  preInstall = "make byte";
-
-  postInstall = ''
-    mkdir -p $out/bin
-    make install-bin BIN=$out/bin
-    make install-bin BYTE=1 BIN=$out/bin
-  '';
+  propagatedBuildInputs = [ camlp5 ppx_deriving re ];
 
   meta = {
     description = "Embeddable λProlog Interpreter";
-    license = stdenv.lib.licenses.lgpl21Plus;
-    maintainers = [ stdenv.lib.maintainers.vbgl ];
+    license = lib.licenses.lgpl21Plus;
+    maintainers = [ lib.maintainers.vbgl ];
     inherit (src.meta) homepage;
-    inherit (ocaml.meta) platforms;
   };
 }