diff options
Diffstat (limited to 'pkgs/development/ocaml-modules')
6 files changed, 45 insertions, 26 deletions
diff --git a/pkgs/development/ocaml-modules/astring/default.nix b/pkgs/development/ocaml-modules/astring/default.nix index 97c59d8581fb1..827487be69bf5 100644 --- a/pkgs/development/ocaml-modules/astring/default.nix +++ b/pkgs/development/ocaml-modules/astring/default.nix @@ -1,8 +1,8 @@ -{ stdenv, fetchurl, buildOcaml, ocaml, findlib, ocamlbuild, topkg }: +{ stdenv, fetchurl, ocaml, findlib, ocamlbuild, topkg }: -buildOcaml rec { +stdenv.mkDerivation rec { version = "0.8.3"; - name = "astring"; + name = "ocaml${ocaml.version}-astring-${version}"; src = fetchurl { url = "http://erratique.ch/software/astring/releases/astring-${version}.tbz"; diff --git a/pkgs/development/ocaml-modules/ipaddr/default.nix b/pkgs/development/ocaml-modules/ipaddr/default.nix index 20d558e37c1a5..2f0aa34299509 100644 --- a/pkgs/development/ocaml-modules/ipaddr/default.nix +++ b/pkgs/development/ocaml-modules/ipaddr/default.nix @@ -1,9 +1,9 @@ -{ stdenv, buildOcaml, fetchurl, ocamlbuild, findlib +{ stdenv, fetchurl, ocaml, ocamlbuild, findlib , jbuilder, sexplib, ppx_sexp_conv }: -buildOcaml rec { - name = "ipaddr"; +stdenv.mkDerivation rec { + name = "ocaml${ocaml.version}-ipaddr-${version}"; version = "2.8.0"; src = fetchurl { @@ -11,7 +11,7 @@ buildOcaml rec { sha256 = "1amb1pbm9ybpxy6190qygpj6nmbzzs2r6vx4xh5r6v89szx9rfxw"; }; - buildInputs = [ findlib ocamlbuild jbuilder ]; + buildInputs = [ ocaml findlib ocamlbuild jbuilder ]; propagatedBuildInputs = [ ppx_sexp_conv sexplib ]; inherit (jbuilder) installPhase; diff --git a/pkgs/development/ocaml-modules/ppx_blob/default.nix b/pkgs/development/ocaml-modules/ppx_blob/default.nix index 9d5f4f4e669df..45dd73d4a3211 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; diff --git a/pkgs/development/ocaml-modules/ppx_deriving/default.nix b/pkgs/development/ocaml-modules/ppx_deriving/default.nix index 3afe4149fa343..24cfbcf5b7af0 100644 --- a/pkgs/development/ocaml-modules/ppx_deriving/default.nix +++ b/pkgs/development/ocaml-modules/ppx_deriving/default.nix @@ -1,7 +1,11 @@ -{ stdenv, buildOcaml, ocaml, fetchzip +{ stdenv, ocaml, findlib, ocamlbuild, fetchzip , cppo, ppx_tools, ppx_derivers, result, ounit, ocaml-migrate-parsetree }: +if !stdenv.lib.versionAtLeast ocaml.version "4.02" +then throw "ppx_deriving is not available for OCaml ${ocaml.version}" +else + let param = if ocaml.version == "4.03.0" then { @@ -14,23 +18,21 @@ let param = extraPropagatedBuildInputs = [ ocaml-migrate-parsetree ppx_derivers ]; }; in -buildOcaml rec { - name = "ppx_deriving"; +stdenv.mkDerivation rec { + name = "ocaml${ocaml.version}-ppx_deriving-${version}"; inherit (param) version; - minimumSupportedOcamlVersion = "4.02"; - src = fetchzip { - url = "https://github.com/whitequark/${name}/archive/v${version}.tar.gz"; + url = "https://github.com/ocaml-ppx/ppx_deriving/archive/v${version}.tar.gz"; inherit (param) sha256; }; - hasSharedObjects = true; - - buildInputs = [ cppo ounit ]; + buildInputs = [ ocaml findlib ocamlbuild cppo ounit ]; propagatedBuildInputs = param.extraPropagatedBuildInputs ++ [ ppx_tools result ]; + createFindlibDestdir = true; + installPhase = "OCAMLPATH=$OCAMLPATH:`ocamlfind printconf destdir` make install"; meta = with stdenv.lib; { diff --git a/pkgs/development/ocaml-modules/ppx_tools/default.nix b/pkgs/development/ocaml-modules/ppx_tools/default.nix index 53d7847acee6f..2aa74d751dbfe 100644 --- a/pkgs/development/ocaml-modules/ppx_tools/default.nix +++ b/pkgs/development/ocaml-modules/ppx_tools/default.nix @@ -17,6 +17,9 @@ let param = { "4.06" = { version = "5.1+4.06.0"; sha256 = "1ww4cspdpgjjsgiv71s0im5yjkr3544x96wsq1vpdacq7dr7zwiw"; }; + "4.07" = { + version = "5.1+4.06.0"; + sha256 = "1ww4cspdpgjjsgiv71s0im5yjkr3544x96wsq1vpdacq7dr7zwiw"; }; }."${ocaml.meta.branch}"; in stdenv.mkDerivation { diff --git a/pkgs/development/ocaml-modules/tyxml/default.nix b/pkgs/development/ocaml-modules/tyxml/default.nix index a965d6ed11630..b34c9279c3070 100644 --- a/pkgs/development/ocaml-modules/tyxml/default.nix +++ b/pkgs/development/ocaml-modules/tyxml/default.nix @@ -1,4 +1,6 @@ -{ stdenv, fetchzip, ocaml, findlib, ocamlbuild, camlp4, uutf, markup, ppx_tools_versioned, re +{ stdenv, fetchzip, ocaml, findlib, ocamlbuild, uutf, markup, ppx_tools_versioned, re +, withP4 ? !stdenv.lib.versionAtLeast ocaml.version "4.07" +, camlp4 ? null }: assert stdenv.lib.versionAtLeast ocaml.version "4.02"; @@ -13,13 +15,14 @@ stdenv.mkDerivation rec { sha256 = "1zrkrmxyj5a2cdh4b9zr9anwfk320wv3x0ynxnyxl5za2ix8sld8"; }; - buildInputs = [ ocaml findlib ocamlbuild camlp4 ppx_tools_versioned markup ]; + buildInputs = [ ocaml findlib ocamlbuild ppx_tools_versioned markup ] + ++ stdenv.lib.optional withP4 camlp4; propagatedBuildInputs = [ uutf re ]; createFindlibDestdir = true; - configureFlags = "--enable-syntax"; + configureFlags = stdenv.lib.optional withP4 "--enable-syntax"; meta = with stdenv.lib; { homepage = http://ocsigen.org/tyxml/; |