ocamlPackages.topkg: refactoring

This commit is contained in:
Vincent Laporte 2017-12-14 07:36:29 +00:00
parent 9b6ef35b2c
commit 5e4edcc4ec
No known key found for this signature in database
GPG Key ID: EBD582ADDDB1F81F
36 changed files with 93 additions and 161 deletions

View File

@ -1,4 +1,4 @@
{stdenv, fetchFromGitHub, ocamlPackages, opam}: { stdenv, fetchFromGitHub, ocamlPackages }:
assert stdenv.lib.versionAtLeast ocamlPackages.ocaml.version "4.02.2"; assert stdenv.lib.versionAtLeast ocamlPackages.ocaml.version "4.02.2";
@ -16,13 +16,12 @@ stdenv.mkDerivation rec {
buildInputs = with ocamlPackages; [ buildInputs = with ocamlPackages; [
ocaml ocamlbuild findlib topkg ppx_sexp_conv ocaml ocamlbuild findlib topkg ppx_sexp_conv
erm_xmpp_0_3 tls nocrypto x509 ocaml_lwt otr astring erm_xmpp_0_3 tls nocrypto x509 ocaml_lwt otr astring
ptime notty sexplib_p4 hex uutf opam ptime notty sexplib_p4 hex uutf
]; ];
buildPhase = with ocamlPackages; buildPhase = "${ocamlPackages.topkg.run} build --pinned true";
"ocaml -I ${findlib}/lib/ocaml/${ocaml.version}/site-lib pkg/pkg.ml build --pinned true";
installPhase = "opam-installer --prefix=$out --script | sh"; inherit (ocamlPackages.topkg) installPhase;
meta = with stdenv.lib; { meta = with stdenv.lib; {
homepage = https://github.com/hannesm/jackline; homepage = https://github.com/hannesm/jackline;

View File

@ -1,4 +1,4 @@
{ stdenv, fetchzip, ocaml, findlib, ocamlbuild, topkg, opam, jbuilder { stdenv, fetchzip, ocaml, findlib, ocamlbuild, topkg, jbuilder
, cmdliner, astring, fmt, result , cmdliner, astring, fmt, result
}: }:
@ -12,7 +12,7 @@ let param =
} else { } else {
version = "0.7.2"; version = "0.7.2";
sha256 = "1qgsz2zz5ky6s5pf3j3shc4fjc36rqnjflk8x0wl1fcpvvkr52md"; sha256 = "1qgsz2zz5ky6s5pf3j3shc4fjc36rqnjflk8x0wl1fcpvvkr52md";
buildInputs = [ ocamlbuild opam topkg ]; buildInputs = [ ocamlbuild topkg ];
inherit (topkg) buildPhase installPhase; inherit (topkg) buildPhase installPhase;
}; };
in in

View File

@ -1,6 +1,4 @@
{ stdenv, buildOcaml, fetchFromGitHub, ocaml, findlib, cstruct, zarith, ounit, result, topkg, opam }: { stdenv, buildOcaml, fetchFromGitHub, ocaml, findlib, cstruct, zarith, ounit, result, topkg }:
let ocamlFlags = "-I ${findlib}/lib/ocaml/${ocaml.version}/site-lib/"; in
buildOcaml rec { buildOcaml rec {
name = "asn1-combinators"; name = "asn1-combinators";
@ -15,20 +13,17 @@ buildOcaml rec {
sha256 = "0hpn049i46sdnv2i6m7r6m6ch0jz8argybh71wykbvcqdby08zxj"; sha256 = "0hpn049i46sdnv2i6m7r6m6ch0jz8argybh71wykbvcqdby08zxj";
}; };
buildInputs = [ ocaml findlib ounit topkg opam ]; buildInputs = [ ocaml findlib ounit topkg ];
propagatedBuildInputs = [ result cstruct zarith ]; propagatedBuildInputs = [ result cstruct zarith ];
createFindlibDestdir = true; createFindlibDestdir = true;
buildPhase = "ocaml ${ocamlFlags} pkg/pkg.ml build --tests true"; buildPhase = "${topkg.run} build --tests true";
installPhase = '' inherit (topkg) installPhase;
opam-installer --script --prefix=$out | sh
ln -s $out/lib/asn1-combinators $out/lib/ocaml/${ocaml.version}/site-lib
'';
doCheck = true; doCheck = true;
checkPhase = "ocaml ${ocamlFlags} pkg/pkg.ml test"; checkPhase = "${topkg.run} test";
meta = { meta = {
homepage = https://github.com/mirleft/ocaml-asn1-combinators; homepage = https://github.com/mirleft/ocaml-asn1-combinators;

View File

@ -1,4 +1,4 @@
{stdenv, fetchurl, buildOcaml, ocaml, findlib, ocamlbuild, topkg, opam}: { stdenv, fetchurl, buildOcaml, ocaml, findlib, ocamlbuild, topkg }:
buildOcaml rec { buildOcaml rec {
version = "0.8.3"; version = "0.8.3";
@ -11,16 +11,9 @@ buildOcaml rec {
unpackCmd = "tar -xf $curSrc"; unpackCmd = "tar -xf $curSrc";
buildInputs = [ ocaml findlib ocamlbuild topkg opam ]; buildInputs = [ ocaml findlib ocamlbuild topkg ];
buildPhase = '' inherit (topkg) buildPhase installPhase;
ocaml -I ${findlib}/lib/ocaml/${ocaml.version}/site-lib/ pkg/pkg.ml build
'';
installPhase = ''
opam-installer --script --prefix=$out astring.install | sh
ln -s $out/lib/astring $out/lib/ocaml/${ocaml.version}/site-lib/
'';
meta = { meta = {
homepage = http://erratique.ch/software/astring; homepage = http://erratique.ch/software/astring;

View File

@ -1,4 +1,4 @@
{ stdenv, fetchurl, ocaml, findlib, ocamlbuild, opam, topkg { stdenv, fetchurl, ocaml, findlib, ocamlbuild, topkg
, astring, fmt, fpath, logs, rresult , astring, fmt, fpath, logs, rresult
}: }:
@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
unpackCmd = "tar xjf $src"; unpackCmd = "tar xjf $src";
buildInputs = [ ocaml findlib ocamlbuild opam topkg ]; buildInputs = [ ocaml findlib ocamlbuild topkg ];
propagatedBuildInputs = [ astring fmt fpath logs rresult ]; propagatedBuildInputs = [ astring fmt fpath logs rresult ];
inherit (topkg) buildPhase installPhase; inherit (topkg) buildPhase installPhase;

View File

@ -1,4 +1,4 @@
{ stdenv, fetchurl, ocaml, findlib, ocamlbuild, opam, topkg, result }: { stdenv, fetchurl, ocaml, findlib, ocamlbuild, topkg, result }:
let let
pname = "cmdliner"; pname = "cmdliner";
@ -17,20 +17,11 @@ stdenv.mkDerivation rec {
unpackCmd = "tar xjf $src"; unpackCmd = "tar xjf $src";
nativeBuildInputs = [ ocamlbuild opam topkg ]; nativeBuildInputs = [ ocamlbuild topkg ];
buildInputs = [ ocaml findlib ]; buildInputs = [ ocaml findlib ];
propagatedBuildInputs = [ result ]; propagatedBuildInputs = [ result ];
createFindlibDestdir = true; inherit (topkg) buildPhase installPhase;
buildPhase = ''
ocaml -I ${findlib}/lib/ocaml/${ocaml.version}/site-lib pkg/pkg.ml build
'';
installPhase = ''
opam-installer --script --prefix=$out | sh
ln -s $out/lib/${pname} $out/lib/ocaml/${ocaml.version}/site-lib/
'';
meta = with stdenv.lib; { meta = with stdenv.lib; {
homepage = http://erratique.ch/software/cmdliner; homepage = http://erratique.ch/software/cmdliner;

View File

@ -1,5 +1,5 @@
{ stdenv, fetchFromGitHub, ocaml, findlib { stdenv, fetchFromGitHub, ocaml, findlib
, ocamlbuild, topkg, opam , ocamlbuild, topkg
, uri, xmlm, omd, ezjsonm }: , uri, xmlm, omd, ezjsonm }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
@ -13,9 +13,7 @@ stdenv.mkDerivation rec {
sha256 = "0snhabg7rfrrcq2ksr3qghiawd61cw3y4kp6rl7vs87j4cnk3kr2"; sha256 = "0snhabg7rfrrcq2ksr3qghiawd61cw3y4kp6rl7vs87j4cnk3kr2";
}; };
createFindlibDestdir = true; buildInputs = [ ocaml ocamlbuild findlib topkg ];
buildInputs = [ ocaml opam ocamlbuild findlib topkg ];
propagatedBuildInputs = [ xmlm uri ezjsonm omd ]; propagatedBuildInputs = [ xmlm uri ezjsonm omd ];
inherit (topkg) buildPhase installPhase; inherit (topkg) buildPhase installPhase;

View File

@ -1,4 +1,4 @@
{ stdenv, fetchurl, ocaml, findlib, ocamlbuild, opam, topkg, ocb-stubblr }: { stdenv, fetchurl, ocaml, findlib, ocamlbuild, topkg, ocb-stubblr }:
stdenv.mkDerivation { stdenv.mkDerivation {
name = "ocaml${ocaml.version}-cpuid-0.1.0"; name = "ocaml${ocaml.version}-cpuid-0.1.0";
@ -10,7 +10,7 @@ stdenv.mkDerivation {
unpackCmd = "tar xjf $src"; unpackCmd = "tar xjf $src";
buildInputs = [ ocaml findlib ocamlbuild opam topkg ocb-stubblr ]; buildInputs = [ ocaml findlib ocamlbuild topkg ocb-stubblr ];
inherit (topkg) buildPhase installPhase; inherit (topkg) buildPhase installPhase;

View File

@ -1,4 +1,4 @@
{ stdenv, fetchFromGitHub, ocaml, findlib, ocamlbuild, topkg, opam { stdenv, fetchFromGitHub, ocaml, findlib, ocamlbuild, topkg
}: }:
if !stdenv.lib.versionAtLeast ocaml.version "4.03" if !stdenv.lib.versionAtLeast ocaml.version "4.03"
@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
sha256 = "0hfs5zrvimzvjwdg57vrxx9bb7irvlm07dk2yv3s5qhj30zimd08"; sha256 = "0hfs5zrvimzvjwdg57vrxx9bb7irvlm07dk2yv3s5qhj30zimd08";
}; };
buildInputs = [ ocaml findlib ocamlbuild topkg opam ]; buildInputs = [ ocaml findlib ocamlbuild topkg ];
inherit (topkg) buildPhase installPhase; inherit (topkg) buildPhase installPhase;

View File

@ -1,4 +1,4 @@
{ stdenv, fetchurl, ocaml, findlib, ocamlbuild, opam, topkg, cmdliner, result, uchar }: { stdenv, fetchurl, ocaml, findlib, ocamlbuild, topkg, cmdliner, result, uchar }:
stdenv.mkDerivation { stdenv.mkDerivation {
name = "ocaml${ocaml.version}-fmt-0.8.4"; name = "ocaml${ocaml.version}-fmt-0.8.4";
@ -10,13 +10,11 @@ stdenv.mkDerivation {
unpackCmd = "tar xjf $src"; unpackCmd = "tar xjf $src";
buildInputs = [ ocaml findlib ocamlbuild opam topkg cmdliner ]; buildInputs = [ ocaml findlib ocamlbuild topkg cmdliner ];
propagatedBuildInputs = [ result uchar ]; propagatedBuildInputs = [ result uchar ];
inherit (topkg) buildPhase installPhase; inherit (topkg) buildPhase installPhase;
createFindlibDestdir = true;
meta = { meta = {
homepage = http://erratique.ch/software/fmt; homepage = http://erratique.ch/software/fmt;
license = stdenv.lib.licenses.isc; license = stdenv.lib.licenses.isc;

View File

@ -1,4 +1,4 @@
{ stdenv, fetchurl, ocaml, findlib, ocamlbuild, opam, topkg, astring }: { stdenv, fetchurl, ocaml, findlib, ocamlbuild, topkg, astring }:
stdenv.mkDerivation { stdenv.mkDerivation {
name = "ocaml${ocaml.version}-fpath-0.7.2"; name = "ocaml${ocaml.version}-fpath-0.7.2";
@ -9,7 +9,7 @@ stdenv.mkDerivation {
unpackCmd = "tar xjf $src"; unpackCmd = "tar xjf $src";
buildInputs = [ ocaml findlib ocamlbuild opam topkg ]; buildInputs = [ ocaml findlib ocamlbuild topkg ];
propagatedBuildInputs = [ astring ]; propagatedBuildInputs = [ astring ];

View File

@ -1,4 +1,4 @@
{ stdenv, fetchurl, ocaml, findlib, ocamlbuild, opam, topkg { stdenv, fetchurl, ocaml, findlib, ocamlbuild, topkg
, bos, cmdliner, ocamlgraph , bos, cmdliner, ocamlgraph
}: }:
@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
unpackCmd = "tar xjf $src"; unpackCmd = "tar xjf $src";
buildInputs = [ ocaml findlib ocamlbuild opam topkg ]; buildInputs = [ ocaml findlib ocamlbuild topkg ];
propagatedBuildInputs = [ bos cmdliner ocamlgraph ]; propagatedBuildInputs = [ bos cmdliner ocamlgraph ];
inherit (topkg) buildPhase installPhase; inherit (topkg) buildPhase installPhase;

View File

@ -1,4 +1,4 @@
{ stdenv, fetchurl, ocaml, findlib, ocamlbuild, topkg, opam }: { stdenv, fetchurl, ocaml, findlib, ocamlbuild, topkg }:
stdenv.mkDerivation { stdenv.mkDerivation {
name = "ocaml${ocaml.version}-integers-0.2.2"; name = "ocaml${ocaml.version}-integers-0.2.2";
@ -10,7 +10,7 @@ stdenv.mkDerivation {
unpackCmd = "tar xjf $src"; unpackCmd = "tar xjf $src";
buildInputs = [ ocaml findlib ocamlbuild topkg opam ]; buildInputs = [ ocaml findlib ocamlbuild topkg ];
inherit (topkg) buildPhase installPhase; inherit (topkg) buildPhase installPhase;

View File

@ -1,4 +1,4 @@
{ stdenv, fetchurl, ocaml, findlib, ocamlbuild, topkg, opam, uutf }: { stdenv, fetchurl, ocaml, findlib, ocamlbuild, topkg, uutf }:
let version = "1.0.1"; in let version = "1.0.1"; in
@ -10,13 +10,11 @@ stdenv.mkDerivation {
sha256 = "1176dcmxb11fnw49b7yysvkjh0kpzx4s48lmdn5psq9vshp5c29w"; sha256 = "1176dcmxb11fnw49b7yysvkjh0kpzx4s48lmdn5psq9vshp5c29w";
}; };
buildInputs = [ ocaml findlib ocamlbuild topkg opam ]; buildInputs = [ ocaml findlib ocamlbuild topkg ];
propagatedBuildInputs = [ uutf ]; propagatedBuildInputs = [ uutf ];
unpackCmd = "tar xjf $src"; unpackCmd = "tar xjf $src";
createFindlibDestdir = true;
inherit (topkg) buildPhase installPhase; inherit (topkg) buildPhase installPhase;
meta = { meta = {

View File

@ -1,4 +1,4 @@
{ stdenv, fetchurl, ocaml, findlib, ocamlbuild, opam { stdenv, fetchurl, ocaml, findlib, ocamlbuild
, topkg, result, lwt, cmdliner, fmt }: , topkg, result, lwt, cmdliner, fmt }:
let let
pname = "logs"; pname = "logs";
@ -18,18 +18,13 @@ stdenv.mkDerivation rec {
unpackCmd = "tar xjf $src"; unpackCmd = "tar xjf $src";
buildInputs = [ ocaml findlib ocamlbuild opam topkg fmt cmdliner lwt ]; buildInputs = [ ocaml findlib ocamlbuild topkg fmt cmdliner lwt ];
propagatedBuildInputs = [ result ]; propagatedBuildInputs = [ result ];
buildPhase = '' buildPhase = "${topkg.run} build --with-js_of_ocaml false";
ocaml -I ${findlib}/lib/ocaml/${ocaml.version}/site-lib/ pkg/pkg.ml build \
--with-js_of_ocaml false
'';
inherit (topkg) installPhase; inherit (topkg) installPhase;
createFindlibDestdir = true;
meta = with stdenv.lib; { meta = with stdenv.lib; {
description = "Logging infrastructure for OCaml"; description = "Logging infrastructure for OCaml";
homepage = "${webpage}"; homepage = "${webpage}";

View File

@ -1,4 +1,4 @@
{ stdenv, lib, fetchurl, ocaml, findlib, ocamlbuild, topkg, opam, js_of_ocaml { stdenv, lib, fetchurl, ocaml, findlib, ocamlbuild, topkg, js_of_ocaml
, jsooSupport ? true , jsooSupport ? true
}: }:
@ -25,7 +25,7 @@ stdenv.mkDerivation {
unpackCmd = "tar xjf $src"; unpackCmd = "tar xjf $src";
buildInputs = [ ocaml findlib ocamlbuild opam topkg ] buildInputs = [ ocaml findlib ocamlbuild topkg ]
++ stdenv.lib.optional jsooSupport js_of_ocaml; ++ stdenv.lib.optional jsooSupport js_of_ocaml;
buildPhase = "${topkg.buildPhase} --with-js_of_ocaml ${boolToString jsooSupport}"; buildPhase = "${topkg.buildPhase} --with-js_of_ocaml ${boolToString jsooSupport}";

View File

@ -1,4 +1,4 @@
{ stdenv, fetchFromGitHub, ocaml, findlib, ocamlbuild, opam, topkg { stdenv, fetchFromGitHub, ocaml, findlib, ocamlbuild, topkg
, cpuid, ocb-stubblr , cpuid, ocb-stubblr
, cstruct, zarith, ppx_sexp_conv, sexplib , cstruct, zarith, ppx_sexp_conv, sexplib
, cstruct-lwt ? null , cstruct-lwt ? null
@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
sha256 = "0nhnlpbqh3mf9y2cxivlvfb70yfbdpvg6jslzq64xblpgjyg443p"; sha256 = "0nhnlpbqh3mf9y2cxivlvfb70yfbdpvg6jslzq64xblpgjyg443p";
}; };
buildInputs = [ ocaml findlib ocamlbuild topkg opam cpuid ocb-stubblr buildInputs = [ ocaml findlib ocamlbuild topkg cpuid ocb-stubblr
ppx_sexp_conv ]; ppx_sexp_conv ];
propagatedBuildInputs = [ cstruct zarith sexplib ] ++ optional withLwt cstruct-lwt; propagatedBuildInputs = [ cstruct zarith sexplib ] ++ optional withLwt cstruct-lwt;
@ -28,8 +28,6 @@ stdenv.mkDerivation rec {
''; '';
inherit (topkg) installPhase; inherit (topkg) installPhase;
createFindlibDestdir = true;
meta = { meta = {
homepage = https://github.com/mirleft/ocaml-nocrypto; homepage = https://github.com/mirleft/ocaml-nocrypto;
description = "Simplest possible crypto to support TLS"; description = "Simplest possible crypto to support TLS";

View File

@ -1,4 +1,4 @@
{ stdenv, buildOcaml, fetchpatch, fetchFromGitHub, findlib, topkg, opam, ocb-stubblr { stdenv, buildOcaml, fetchpatch, fetchFromGitHub, findlib, topkg, ocb-stubblr
, result, uucp, uuseg, uutf , result, uucp, uuseg, uutf
, lwt ? null }: , lwt ? null }:
@ -24,7 +24,7 @@ buildOcaml rec {
sha256 = "0pklplbnjbsjriqj73pc8fsadg404px534w7zknz2617zb44m6x6"; sha256 = "0pklplbnjbsjriqj73pc8fsadg404px534w7zknz2617zb44m6x6";
})]; })];
buildInputs = [ findlib opam topkg ocb-stubblr ]; buildInputs = [ findlib topkg ocb-stubblr ];
propagatedBuildInputs = [ result uucp uuseg uutf ] ++ propagatedBuildInputs = [ result uucp uuseg uutf ] ++
optional withLwt lwt; optional withLwt lwt;

View File

@ -1,4 +1,4 @@
{ stdenv, fetchzip, ocaml, findlib, ocamlbuild, opam, topkg, astring }: { stdenv, fetchzip, ocaml, findlib, ocamlbuild, topkg, astring }:
stdenv.mkDerivation { stdenv.mkDerivation {
name = "ocaml${ocaml.version}-ocb-stubblr-0.1.0"; name = "ocaml${ocaml.version}-ocb-stubblr-0.1.0";
@ -10,7 +10,7 @@ stdenv.mkDerivation {
patches = [ ./pkg-config.patch ]; patches = [ ./pkg-config.patch ];
buildInputs = [ ocaml findlib ocamlbuild opam topkg ]; buildInputs = [ ocaml findlib ocamlbuild topkg ];
propagatedBuildInputs = [ astring ]; propagatedBuildInputs = [ astring ];

View File

@ -1,4 +1,4 @@
{ stdenv, fetchurl, ocaml, findlib, ocamlbuild, topkg, opam }: { stdenv, fetchurl, ocaml, findlib, ocamlbuild, topkg }:
if !stdenv.lib.versionAtLeast ocaml.version "4.03" if !stdenv.lib.versionAtLeast ocaml.version "4.03"
then throw "octavius is not available for OCaml ${ocaml.version}" else then throw "octavius is not available for OCaml ${ocaml.version}" else
@ -12,7 +12,7 @@ stdenv.mkDerivation {
unpackCmd = "tar xjf $src"; unpackCmd = "tar xjf $src";
buildInputs = [ ocaml findlib ocamlbuild topkg opam ]; buildInputs = [ ocaml findlib ocamlbuild topkg ];
inherit (topkg) buildPhase installPhase; inherit (topkg) buildPhase installPhase;

View File

@ -1,4 +1,4 @@
{ stdenv, fetchurl, ocaml, findlib, ocamlbuild, opam, topkg, uutf, result }: { stdenv, fetchurl, ocaml, findlib, ocamlbuild, topkg, uutf, result }:
let let
pname = "otfm"; pname = "otfm";
@ -17,12 +17,10 @@ stdenv.mkDerivation rec {
sha256 = "054s82539k3kc9na6s47g3scsl04icjahpas7pv5351jmsgqcq3k"; sha256 = "054s82539k3kc9na6s47g3scsl04icjahpas7pv5351jmsgqcq3k";
}; };
buildInputs = [ ocaml findlib ocamlbuild opam topkg ]; buildInputs = [ ocaml findlib ocamlbuild topkg ];
propagatedBuildInputs = [ uutf result ]; propagatedBuildInputs = [ uutf result ];
createFindlibDestdir = true;
unpackCmd = "tar xjf $src"; unpackCmd = "tar xjf $src";
inherit (topkg) buildPhase installPhase; inherit (topkg) buildPhase installPhase;

View File

@ -1,7 +1,6 @@
{stdenv, buildOcaml, fetchFromGitHub, ocamlbuild, findlib, topkg, ocaml, opam, { stdenv, buildOcaml, fetchFromGitHub, ocamlbuild, findlib, topkg, ocaml
ppx_tools, ppx_sexp_conv, cstruct, ppx_cstruct, sexplib, result, nocrypto, astring}: , ppx_tools, ppx_sexp_conv, cstruct, ppx_cstruct, sexplib, result, nocrypto, astring
}:
let ocamlFlags = "-I ${findlib}/lib/ocaml/${ocaml.version}/site-lib/"; in
buildOcaml rec { buildOcaml rec {
name = "otr"; name = "otr";
@ -16,23 +15,15 @@ buildOcaml rec {
sha256 = "07zzix5mfsasqpqdx811m0x04gp8mq1ayf4b64998k98027v01rr"; sha256 = "07zzix5mfsasqpqdx811m0x04gp8mq1ayf4b64998k98027v01rr";
}; };
buildInputs = [ ocamlbuild findlib topkg ppx_tools ppx_sexp_conv opam ppx_cstruct ]; buildInputs = [ ocamlbuild findlib topkg ppx_tools ppx_sexp_conv ppx_cstruct ];
propagatedBuildInputs = [ cstruct sexplib result nocrypto astring ]; propagatedBuildInputs = [ cstruct sexplib result nocrypto astring ];
buildPhase = '' buildPhase = "${topkg.run} build --tests true";
ocaml ${ocamlFlags} pkg/pkg.ml build \
--tests true
'';
installPhase = '' inherit (topkg) installPhase;
opam-installer --prefix=$out --script | sh
ln -s $out/lib/otr $out/lib/ocaml/${ocaml.version}/site-lib
'';
doCheck = true; doCheck = true;
checkPhase = "ocaml ${ocamlFlags} pkg/pkg.ml test"; checkPhase = "${topkg.run} test";
createFindlibDestdir = true;
meta = with stdenv.lib; { meta = with stdenv.lib; {
homepage = https://github.com/hannesm/ocaml-otr; homepage = https://github.com/hannesm/ocaml-otr;

View File

@ -1,4 +1,4 @@
{ stdenv, fetchFromGitHub, ocaml, findlib, ocamlbuild, opam, topkg, cppo { stdenv, fetchFromGitHub, ocaml, findlib, ocamlbuild, topkg, cppo
, ppx_import, ppx_deriving, yojson, ounit , ppx_import, ppx_deriving, yojson, ounit
}: }:
@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
sha256 = "1pwfnq7z60nchba4gnf58918ll11w3gj5i88qhz1p2jm45hxqgnw"; sha256 = "1pwfnq7z60nchba4gnf58918ll11w3gj5i88qhz1p2jm45hxqgnw";
}; };
buildInputs = [ ocaml findlib ocamlbuild opam cppo ounit ppx_import ]; buildInputs = [ ocaml findlib ocamlbuild cppo ounit ppx_import ];
propagatedBuildInputs = [ ppx_deriving yojson ]; propagatedBuildInputs = [ ppx_deriving yojson ];

View File

@ -1,4 +1,4 @@
{ stdenv, fetchurl, buildOcaml, ocaml, findlib, ocamlbuild, topkg, result, opam, js_of_ocaml }: { stdenv, fetchurl, buildOcaml, ocaml, findlib, ocamlbuild, topkg, result, js_of_ocaml }:
buildOcaml rec { buildOcaml rec {
version = "0.8.3"; version = "0.8.3";
@ -11,13 +11,11 @@ buildOcaml rec {
unpackCmd = "tar -xf $curSrc"; unpackCmd = "tar -xf $curSrc";
buildInputs = [ ocaml findlib ocamlbuild topkg opam js_of_ocaml ]; buildInputs = [ ocaml findlib ocamlbuild topkg js_of_ocaml ];
propagatedBuildInputs = [ result ]; propagatedBuildInputs = [ result ];
buildPhase = '' buildPhase = "${topkg.run} build --with-js_of_ocaml true";
ocaml -I ${findlib}/lib/ocaml/${ocaml.version}/site-lib/ pkg/pkg.ml build --with-js_of_ocaml true
'';
inherit (topkg) installPhase; inherit (topkg) installPhase;

View File

@ -1,4 +1,4 @@
{ stdenv, fetchurl, ocaml, findlib, topkg, ocamlbuild, opam }: { stdenv, fetchurl, ocaml, findlib, topkg, ocamlbuild }:
stdenv.mkDerivation { stdenv.mkDerivation {
name = "ocaml-react-1.2.1"; name = "ocaml-react-1.2.1";
@ -9,9 +9,7 @@ stdenv.mkDerivation {
}; };
unpackCmd = "tar xjf $src"; unpackCmd = "tar xjf $src";
buildInputs = [ ocaml findlib topkg ocamlbuild opam ]; buildInputs = [ ocaml findlib topkg ocamlbuild ];
createFindlibDestdir = true;
inherit (topkg) buildPhase installPhase; inherit (topkg) buildPhase installPhase;

View File

@ -1,4 +1,4 @@
{ stdenv, fetchurl, ocaml, findlib, ocamlbuild, opam, topkg }: { stdenv, fetchurl, ocaml, findlib, ocamlbuild, topkg }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "ocaml${ocaml.version}-rresult-${version}"; name = "ocaml${ocaml.version}-rresult-${version}";
@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
unpackCmd = "tar xjf $src"; unpackCmd = "tar xjf $src";
buildInputs = [ ocaml findlib ocamlbuild topkg opam ]; buildInputs = [ ocaml findlib ocamlbuild topkg ];
inherit (topkg) buildPhase installPhase; inherit (topkg) buildPhase installPhase;

View File

@ -4,6 +4,10 @@ if !stdenv.lib.versionAtLeast ocaml.version "4.01"
then throw "topkg is not available for OCaml ${ocaml.version}" then throw "topkg is not available for OCaml ${ocaml.version}"
else else
let
run = "ocaml -I ${findlib}/lib/ocaml/${ocaml.version}/site-lib/ pkg/pkg.ml";
in
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "ocaml${ocaml.version}-topkg-${version}"; name = "ocaml${ocaml.version}-topkg-${version}";
version = "0.9.1"; version = "0.9.1";
@ -13,14 +17,15 @@ stdenv.mkDerivation rec {
sha256 = "1slrzbmyp81xhgsfwwqs2d6gxzvqx0gcp34rq00h5iblhcq7myx6"; sha256 = "1slrzbmyp81xhgsfwwqs2d6gxzvqx0gcp34rq00h5iblhcq7myx6";
}; };
nativeBuildInputs = [ opam ];
buildInputs = [ ocaml findlib ocamlbuild ]; buildInputs = [ ocaml findlib ocamlbuild ];
propagatedBuildInputs = [ result ]; propagatedBuildInputs = [ result ];
unpackCmd = "tar xjf ${src}"; unpackCmd = "tar xjf ${src}";
buildPhase = "ocaml -I ${findlib}/lib/ocaml/${ocaml.version}/site-lib/ pkg/pkg.ml build"; buildPhase = "${run} build";
createFindlibDestdir = true; createFindlibDestdir = true;
installPhase = "opam-installer -i --prefix=$out --libdir=$OCAMLFIND_DESTDIR"; installPhase = "${opam}/bin/opam-installer -i --prefix=$out --libdir=$OCAMLFIND_DESTDIR";
passthru = { inherit run; };
meta = { meta = {
homepage = http://erratique.ch/software/topkg; homepage = http://erratique.ch/software/topkg;

View File

@ -1,4 +1,4 @@
{ stdenv, fetchurl, ocaml, findlib, ocamlbuild, topkg, ctypes, result, SDL2, pkgconfig, opam, ocb-stubblr }: { stdenv, fetchurl, ocaml, findlib, ocamlbuild, topkg, ctypes, result, SDL2, pkgconfig, ocb-stubblr }:
if !stdenv.lib.versionAtLeast ocaml.version "4.02" if !stdenv.lib.versionAtLeast ocaml.version "4.02"
then throw "tsdl is not available for OCaml ${ocaml.version}" then throw "tsdl is not available for OCaml ${ocaml.version}"
@ -19,11 +19,9 @@ stdenv.mkDerivation {
}; };
nativeBuildInputs = [ pkgconfig ]; nativeBuildInputs = [ pkgconfig ];
buildInputs = [ ocaml findlib ocamlbuild topkg result opam ocb-stubblr ]; buildInputs = [ ocaml findlib ocamlbuild topkg result ocb-stubblr ];
propagatedBuildInputs = [ SDL2 ctypes ]; propagatedBuildInputs = [ SDL2 ctypes ];
createFindlibDestdir = true;
unpackCmd = "tar xjf $src"; unpackCmd = "tar xjf $src";
preConfigure = '' preConfigure = ''

View File

@ -1,4 +1,4 @@
{ stdenv, fetchurl, ocaml, findlib, ocamlbuild, opam, xmlm, topkg }: { stdenv, fetchurl, ocaml, findlib, ocamlbuild, xmlm, topkg }:
let let
pname = "uucd"; pname = "uucd";
@ -13,9 +13,7 @@ stdenv.mkDerivation rec {
sha256 = "0cdyg6vaic4n58w80qriwvaq1c40ng3fh74ilxrwajbq163k055q"; sha256 = "0cdyg6vaic4n58w80qriwvaq1c40ng3fh74ilxrwajbq163k055q";
}; };
buildInputs = [ ocaml findlib ocamlbuild opam topkg ]; buildInputs = [ ocaml findlib ocamlbuild topkg ];
createFindlibDestdir = true;
unpackCmd = "tar xjf $src"; unpackCmd = "tar xjf $src";

View File

@ -1,4 +1,4 @@
{ stdenv, fetchurl, ocaml, findlib, ocamlbuild, opam, topkg, uchar, uutf, uunf }: { stdenv, fetchurl, ocaml, findlib, ocamlbuild, topkg, uchar, uutf, uunf }:
let let
pname = "uucp"; pname = "uucp";
@ -17,12 +17,10 @@ stdenv.mkDerivation {
sha256 = "0qgbrx3lnrzii8a9f0hv4kp73y57q6fr79hskxxxs70q68j2xpfm"; sha256 = "0qgbrx3lnrzii8a9f0hv4kp73y57q6fr79hskxxxs70q68j2xpfm";
}; };
buildInputs = [ ocaml findlib ocamlbuild opam topkg uutf uunf ]; buildInputs = [ ocaml findlib ocamlbuild topkg uutf uunf ];
propagatedBuildInputs = [ uchar ]; propagatedBuildInputs = [ uchar ];
createFindlibDestdir = true;
unpackCmd = "tar xjf $src"; unpackCmd = "tar xjf $src";
buildPhase = "${topkg.buildPhase} --with-cmdliner false"; buildPhase = "${topkg.buildPhase} --with-cmdliner false";

View File

@ -1,4 +1,4 @@
{ stdenv, fetchurl, ocaml, findlib, ocamlbuild, topkg, opam, cmdliner }: { stdenv, fetchurl, ocaml, findlib, ocamlbuild, topkg, cmdliner }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
version = "0.9.6"; version = "0.9.6";
@ -10,12 +10,10 @@ stdenv.mkDerivation rec {
unpackCmd = "tar -xf $curSrc"; unpackCmd = "tar -xf $curSrc";
buildInputs = [ ocaml findlib ocamlbuild topkg opam cmdliner ]; buildInputs = [ ocaml findlib ocamlbuild topkg cmdliner ];
inherit (topkg) buildPhase installPhase; inherit (topkg) buildPhase installPhase;
createFindlibDestdir = true;
meta = with stdenv.lib; { meta = with stdenv.lib; {
description = "An OCaml module implementing 128 bits universally unique identifiers version 3, 5 (name based with MD5, SHA-1 hashing) and 4 (random based) according to RFC 4122"; description = "An OCaml module implementing 128 bits universally unique identifiers version 3, 5 (name based with MD5, SHA-1 hashing) and 4 (random based) according to RFC 4122";
homepage = http://erratique.ch/software/uuidm; homepage = http://erratique.ch/software/uuidm;

View File

@ -1,4 +1,4 @@
{ stdenv, fetchurl, ocaml, findlib, ocamlbuild, opam, topkg, uchar, uutf, cmdliner }: { stdenv, fetchurl, ocaml, findlib, ocamlbuild, topkg, uchar, uutf, cmdliner }:
let let
pname = "uunf"; pname = "uunf";
webpage = "http://erratique.ch/software/${pname}"; webpage = "http://erratique.ch/software/${pname}";
@ -15,12 +15,10 @@ stdenv.mkDerivation rec {
sha256 = "0c5lwica5668ybsffllk6x4p921nw4pljimgqikhf17k5hvyjsbr"; sha256 = "0c5lwica5668ybsffllk6x4p921nw4pljimgqikhf17k5hvyjsbr";
}; };
buildInputs = [ ocaml findlib ocamlbuild opam topkg uutf cmdliner ]; buildInputs = [ ocaml findlib ocamlbuild topkg uutf cmdliner ];
propagatedBuildInputs = [ uchar ]; propagatedBuildInputs = [ uchar ];
createFindlibDestdir = true;
unpackCmd = "tar xjf $src"; unpackCmd = "tar xjf $src";
inherit (topkg) buildPhase installPhase; inherit (topkg) buildPhase installPhase;

View File

@ -1,4 +1,4 @@
{ stdenv, fetchurl, ocaml, findlib, ocamlbuild, opam, topkg, uchar, uucp, uutf, cmdliner }: { stdenv, fetchurl, ocaml, findlib, ocamlbuild, topkg, uchar, uucp, uutf, cmdliner }:
let let
pname = "uuseg"; pname = "uuseg";
@ -15,11 +15,9 @@ stdenv.mkDerivation rec {
sha256 = "01q8ljjgi7d73x7ms489b5my83xds4jax1vbjhwwjdai01friscc"; sha256 = "01q8ljjgi7d73x7ms489b5my83xds4jax1vbjhwwjdai01friscc";
}; };
buildInputs = [ ocaml findlib ocamlbuild opam cmdliner topkg uutf ]; buildInputs = [ ocaml findlib ocamlbuild cmdliner topkg uutf ];
propagatedBuildInputs = [ uucp uchar ]; propagatedBuildInputs = [ uucp uchar ];
createFindlibDestdir = true;
unpackCmd = "tar xjf $src"; unpackCmd = "tar xjf $src";
inherit (topkg) buildPhase installPhase; inherit (topkg) buildPhase installPhase;

View File

@ -1,4 +1,4 @@
{ stdenv, fetchurl, ocaml, findlib, ocamlbuild, opam, cmdliner , topkg, uchar }: { stdenv, fetchurl, ocaml, findlib, ocamlbuild, cmdliner , topkg, uchar }:
let let
pname = "uutf"; pname = "uutf";
webpage = "http://erratique.ch/software/${pname}"; webpage = "http://erratique.ch/software/${pname}";
@ -13,11 +13,9 @@ stdenv.mkDerivation rec {
sha256 = "1gp96dcggq7s84934vimxh89caaxa77lqiff1yywbwkilkkjcfqj"; sha256 = "1gp96dcggq7s84934vimxh89caaxa77lqiff1yywbwkilkkjcfqj";
}; };
buildInputs = [ ocaml findlib ocamlbuild topkg opam cmdliner ]; buildInputs = [ ocaml findlib ocamlbuild topkg cmdliner ];
propagatedBuildInputs = [ uchar ]; propagatedBuildInputs = [ uchar ];
createFindlibDestdir = true;
unpackCmd = "tar xjf $src"; unpackCmd = "tar xjf $src";
inherit (topkg) buildPhase installPhase; inherit (topkg) buildPhase installPhase;

View File

@ -1,4 +1,4 @@
{ stdenv, lib, fetchurl, ocaml, findlib, ocamlbuild, opam, topkg { stdenv, lib, fetchurl, ocaml, findlib, ocamlbuild, topkg
, uchar, result, gg, uutf, otfm , uchar, result, gg, uutf, otfm
, js_of_ocaml, js_of_ocaml-ocamlbuild, js_of_ocaml-ppx, , js_of_ocaml, js_of_ocaml-ocamlbuild, js_of_ocaml-ppx,
pdfBackend ? true, # depends on uutf and otfm pdfBackend ? true, # depends on uutf and otfm
@ -26,14 +26,12 @@ stdenv.mkDerivation rec {
sha256 = "1czd2fq85hy24w5pllarsq4pvbx9rda5zdikxfxdng8s9kff2h3f"; sha256 = "1czd2fq85hy24w5pllarsq4pvbx9rda5zdikxfxdng8s9kff2h3f";
}; };
buildInputs = [ ocaml findlib ocamlbuild opam topkg ]; buildInputs = [ ocaml findlib ocamlbuild topkg ];
propagatedBuildInputs = [ uchar result gg ] propagatedBuildInputs = [ uchar result gg ]
++ optionals pdfBackend [ uutf otfm ] ++ optionals pdfBackend [ uutf otfm ]
++ optionals htmlcBackend [ js_of_ocaml js_of_ocaml-ocamlbuild js_of_ocaml-ppx ]; ++ optionals htmlcBackend [ js_of_ocaml js_of_ocaml-ocamlbuild js_of_ocaml-ppx ];
createFindlibDestdir = true;
unpackCmd = "tar xjf $src"; unpackCmd = "tar xjf $src";
buildPhase = topkg.buildPhase buildPhase = topkg.buildPhase

View File

@ -1,4 +1,4 @@
{ stdenv, fetchurl, ocaml, findlib, ocamlbuild, opam, topkg }: { stdenv, fetchurl, ocaml, findlib, ocamlbuild, topkg }:
let let
pname = "xmlm"; pname = "xmlm";
webpage = "http://erratique.ch/software/${pname}"; webpage = "http://erratique.ch/software/${pname}";
@ -30,19 +30,12 @@ stdenv.mkDerivation rec {
inherit (param) sha256; inherit (param) sha256;
}; };
buildInputs = [ ocaml findlib ocamlbuild opam ] ++ param.buildInputs; buildInputs = [ ocaml findlib ocamlbuild ] ++ param.buildInputs;
createFindlibDestdir = true;
unpackCmd = "tar xjf $src"; unpackCmd = "tar xjf $src";
inherit (param) buildPhase; inherit (param) buildPhase;
inherit (topkg) installPhase;
installPhase = ''
opam-installer --script --prefix=$out ${pname}.install > install.sh
sh install.sh
ln -s $out/lib/${pname} $out/lib/ocaml/${ocaml.version}/site-lib/
'';
meta = with stdenv.lib; { meta = with stdenv.lib; {
description = "An OCaml streaming codec to decode and encode the XML data format"; description = "An OCaml streaming codec to decode and encode the XML data format";