summary refs log tree commit diff
path: root/pkgs/development/ocaml-modules/ppx_blob/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/development/ocaml-modules/ppx_blob/default.nix')
-rw-r--r--pkgs/development/ocaml-modules/ppx_blob/default.nix25
1 files changed, 18 insertions, 7 deletions
diff --git a/pkgs/development/ocaml-modules/ppx_blob/default.nix b/pkgs/development/ocaml-modules/ppx_blob/default.nix
index 9d5f4f4e669..45dd73d4a32 100644
--- a/pkgs/development/ocaml-modules/ppx_blob/default.nix
+++ b/pkgs/development/ocaml-modules/ppx_blob/default.nix
@@ -1,15 +1,26 @@
-{ stdenv, buildOcaml, fetchurl, ppx_tools }:
+{ stdenv, fetchurl, ocaml, findlib, jbuilder, alcotest
+, ocaml-migrate-parsetree
+}:
 
-buildOcaml rec {
-  name = "ppx_blob";
-  version = "0.2";
+stdenv.mkDerivation rec {
+  name = "ocaml${ocaml.version}-ppx_blob-${version}";
+  version = "0.4.0";
 
   src = fetchurl {
-    url = "https://github.com/johnwhitington/ppx_blob/archive/v${version}.tar.gz";
-    sha256 = "0kvqfm47f4xbgz0cl7ayz29myyb24xskm35svqrgakjq12nkpsss";
+    url = "https://github.com/johnwhitington/ppx_blob/releases/download/${version}/ppx_blob-${version}.tbz";
+    sha256 = "1xmslk1mwdzhy1bydgsjlcb7h544c39hvxa8lywp8w72gaggjl16";
   };
 
-  buildInputs = [ ppx_tools ];
+  unpackCmd = "tar xjf $curSrc";
+
+  buildInputs = [ ocaml findlib jbuilder alcotest ocaml-migrate-parsetree ];
+
+  buildPhase = "dune build -p ppx_blob";
+
+  doCheck = true;
+  checkPhase = "dune runtest -p ppx_blob";
+
+  inherit (jbuilder) installPhase;
 
   meta = with stdenv.lib; {
     homepage = https://github.com/johnwhitington/ppx_blob;