parent
e2c98528e9
commit
ef98b96356
@ -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 ]; |
||||
}; |
||||
} |
||||
|
@ -1,25 +0,0 @@ |
||||
{stdenv, atd, yojson, biniou, buildOcaml, fetchurl, which}: |
||||
|
||||
buildOcaml rec { |
||||
name = "atdgen"; |
||||
version = "1.6.0"; |
||||
|
||||
src = fetchurl { |
||||
url = "https://github.com/mjambon/atdgen/archive/v${version}.tar.gz"; |
||||
sha256 = "1icdxgb7qqq1pcbfqi0ikryiwaljd594z3acyci8g3bnlq0yc7zn"; |
||||
}; |
||||
|
||||
installPhase = '' |
||||
mkdir -p $out/bin |
||||
make PREFIX=$out install |
||||
''; |
||||
|
||||
buildInputs = [ which atd biniou yojson ]; |
||||
|
||||
meta = with stdenv.lib; { |
||||
homepage = https://github.com/mjambon/atdgen; |
||||
description = "Generates optimized boilerplate OCaml code for JSON and Biniou IO from type definitions"; |
||||
license = licenses.bsd3; |
||||
maintainers = [ maintainers.jwilberding ]; |
||||
}; |
||||
} |
Loading…
Reference in new issue