about summary refs log tree commit diff
path: root/pkgs/development/ocaml-modules/atd/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/development/ocaml-modules/atd/default.nix')
-rw-r--r--pkgs/development/ocaml-modules/atd/default.nix38
1 files changed, 13 insertions, 25 deletions
diff --git a/pkgs/development/ocaml-modules/atd/default.nix b/pkgs/development/ocaml-modules/atd/default.nix
index af52bd9aaafa..52a1fc36921c 100644
--- a/pkgs/development/ocaml-modules/atd/default.nix
+++ b/pkgs/development/ocaml-modules/atd/default.nix
@@ -1,41 +1,29 @@
-{ stdenv, menhir, easy-format, ocaml, findlib, fetchurl, jbuilder, which }:
-
-let param =
-  if stdenv.lib.versionAtLeast ocaml.version "4.02"
-  then {
-    version = "1.12.0";
-    sha256 = "1pcd4fqbilv8zm2mc1nj2s26vc5y8vnisg1q1y6bjx23wxidb09y";
-    buildPhase = "jbuilder build -p atd";
-    inherit (jbuilder) installPhase;
-  } else {
-    version = "1.1.2";
-    sha256 = "0ef10c63192aed75e9a4274e89c5f9ca27efb1ef230d9949eda53ad4a9a37291";
-    buildPhase = "";
-    installPhase = ''
-      mkdir -p $out/bin
-      make PREFIX=$out install
-    '';
-  };
-in
+{ stdenv, menhir, easy-format, ocaml, findlib, fetchFromGitHub, jbuilder, which, biniou, yojson }:
 
 stdenv.mkDerivation rec {
-  inherit (param) version buildPhase installPhase;
+  version = "2.0.0";
+
   name = "ocaml${ocaml.version}-atd-${version}";
 
-  src = fetchurl {
-    url = "https://github.com/mjambon/atd/archive/v${version}.tar.gz";
-    inherit (param) sha256;
+  src = fetchFromGitHub {
+    owner = "mjambon";
+    repo = "atd";
+    rev = version;
+    sha256 = "0alzmk97rxg7s6irs9lvf89dy9n3r769my5n4j9p9qyigcdgjaia";
   };
 
   createFindlibDestdir = true;
 
   buildInputs = [ which jbuilder ocaml findlib menhir ];
-  propagatedBuildInputs = [ easy-format ];
+  propagatedBuildInputs = [ easy-format biniou yojson ];
+
+  buildPhase = "jbuilder build";
+  inherit (jbuilder) installPhase;
 
   meta = with stdenv.lib; {
     homepage = https://github.com/mjambon/atd;
     description = "Syntax for cross-language type definitions";
     license = licenses.bsd3;
-    maintainers = [ maintainers.jwilberding ];
+    maintainers = with maintainers; [ aij jwilberding ];
   };
 }