Merge master into staging-next

This commit is contained in:
Frederik Rietdijk
2019-08-31 09:50:38 +02:00
364 changed files with 8989 additions and 6877 deletions
@@ -1,19 +1,19 @@
{ stdenv, fetchzip, ocaml, findlib, ocamlbuild, qtest, num }:
{ stdenv, fetchurl, ocaml, findlib, ocamlbuild, qtest, num }:
let version = "2.9.0"; in
let version = "2.10.0"; in
stdenv.mkDerivation {
name = "ocaml${ocaml.version}-batteries-${version}";
src = fetchzip {
url = "https://github.com/ocaml-batteries-team/batteries-included/archive/v${version}.tar.gz";
sha256 = "1wianim29kkkf4c31k7injjp3ji69ki5krrp6csq8ycswg791dby";
src = fetchurl {
url = "https://github.com/ocaml-batteries-team/batteries-included/releases/download/v${version}/batteries-${version}.tar.gz";
sha256 = "08ghw87d56h1a6y1nnh3x2wy9xj25jqfk5sp6ma9nsyd37babb0h";
};
buildInputs = [ ocaml findlib ocamlbuild qtest ];
propagatedBuildInputs = [ num ];
doCheck = !stdenv.lib.versionAtLeast ocaml.version "4.07" && !stdenv.isAarch64;
doCheck = stdenv.lib.versions.majorMinor ocaml.version != "4.07" && !stdenv.isAarch64;
checkTarget = "test test";
createFindlibDestdir = true;
@@ -0,0 +1,20 @@
{ lib, buildDunePackage, fetchFromGitHub }:
buildDunePackage rec {
pname = "bigarray-compat";
version = "1.0.0";
src = fetchFromGitHub {
owner = "mirage";
repo = pname;
rev = "v${version}";
sha256 = "06j1dwlpisxshdd0nab4n4x266gg1s1n8na16lpgw3fvcznwnimz";
};
meta = {
description = "Compatibility library to use Stdlib.Bigarray when possible";
inherit (src.meta) homepage;
license = lib.licenses.isc;
maintainers = [ lib.maintainers.vbgl ];
};
}
@@ -1,20 +1,18 @@
{ stdenv, fetchurl, buildDunePackage, sexplib, ocplib-endian }:
{ lib, fetchurl, buildDunePackage }:
buildDunePackage rec {
pname = "cstruct";
version = "3.1.1";
version = "4.0.0";
src = fetchurl {
url = "https://github.com/mirage/ocaml-cstruct/releases/download/v${version}/cstruct-${version}.tbz";
sha256 = "1x4jxsvd1lrfibnjdjrkfl7hqsc48rljnwbap6faanj9qhwwa6v2";
url = "https://github.com/mirage/ocaml-cstruct/releases/download/v${version}/cstruct-v${version}.tbz";
sha256 = "1q4fsc2m6d96yf42g3wb3gcnhpnxw800df5mh3yr25pprj8y4m1a";
};
propagatedBuildInputs = [ sexplib ocplib-endian ];
meta = {
description = "Access C-like structures directly from OCaml";
license = stdenv.lib.licenses.isc;
license = lib.licenses.isc;
homepage = "https://github.com/mirage/ocaml-cstruct";
maintainers = [ stdenv.lib.maintainers.vbgl ];
maintainers = [ lib.maintainers.vbgl ];
};
}
@@ -1,4 +1,4 @@
{ lib, buildDunePackage, cstruct, ppx_tools_versioned }:
{ lib, buildDunePackage, cstruct, sexplib, ppx_tools_versioned }:
if !lib.versionAtLeast (cstruct.version or "1") "3"
then cstruct
@@ -8,8 +8,8 @@ buildDunePackage {
pname = "ppx_cstruct";
inherit (cstruct) version src meta;
minimumOCamlVersion = "4.02";
minimumOCamlVersion = "4.03";
buildInputs = [ ppx_tools_versioned ];
buildInputs = [ sexplib ppx_tools_versioned ];
propagatedBuildInputs = [ cstruct ];
}
@@ -0,0 +1,16 @@
{ lib, buildDunePackage, alcotest, cstruct, sexplib }:
if !lib.versionAtLeast (cstruct.version or "1") "3"
then cstruct
else
buildDunePackage {
pname = "cstruct-sexp";
inherit (cstruct) version src meta;
doCheck = true;
buildInputs = [ alcotest ];
propagatedBuildInputs = [ cstruct sexplib ];
}
@@ -8,7 +8,7 @@ buildDunePackage {
pname = "cstruct-unix";
inherit (cstruct) version src meta;
minimumOCamlVersion = "4.02";
minimumOCamlVersion = "4.06";
propagatedBuildInputs = [ cstruct ];
}
@@ -0,0 +1,29 @@
{ lib, buildDunePackage, fetchurl
, alcotest
, astring, fmt
}:
buildDunePackage rec {
pname = "domain-name";
version = "0.3.0";
src = fetchurl {
url = "https://github.com/hannesm/domain-name/releases/download/v${version}/domain-name-v${version}.tbz";
sha256 = "12kc9p2a2fi1ipc2hyhbzivxpph3npglxwdgvhd6v20rqqdyvnad";
};
minimumOCamlVersion = "4.03";
buildInputs = [ alcotest ];
propagatedBuildInputs = [ astring fmt ];
doCheck = true;
meta = {
homepage = "https://github.com/hannesm/domain-name";
description = "RFC 1035 Internet domain names";
license = lib.licenses.isc;
maintainers = [ lib.maintainers.vbgl ];
};
}
@@ -1,5 +1,5 @@
{ stdenv, fetchFromGitHub, buildDunePackage
, astring, decompress, fmt, hex, logs, mstruct, ocaml_lwt, ocamlgraph, uri
, astring, decompress, fmt, hex, logs, mstruct, ocaml_lwt, ocamlgraph, ocplib-endian, uri
, alcotest, mtime, nocrypto
}:
@@ -15,7 +15,7 @@ buildDunePackage rec {
};
buildInputs = [ alcotest mtime nocrypto ];
propagatedBuildInputs = [ astring decompress fmt hex logs mstruct ocaml_lwt ocamlgraph uri ];
propagatedBuildInputs = [ astring decompress fmt hex logs mstruct ocaml_lwt ocamlgraph ocplib-endian uri ];
doCheck = true;
meta = {
@@ -0,0 +1,24 @@
{ lib, buildDunePackage, fetchurl, alcotest }:
buildDunePackage rec {
pname = "gmap";
version = "0.3.0";
src = fetchurl {
url = "https://github.com/hannesm/gmap/releases/download/${version}/gmap-${version}.tbz";
sha256 = "073wa0lrb0jj706j87cwzf1a8d1ff14100mnrjs8z3xc4ri9xp84";
};
minimumOCamlVersion = "4.03";
buildInputs = [ alcotest ];
doCheck = true;
meta = {
description = "Heterogenous maps over a GADT";
homepage = "https://github.com/hannesm/gmap";
license = lib.licenses.isc;
maintainers = [ lib.maintainers.vbgl ];
};
}
@@ -1,42 +0,0 @@
{ stdenv, fetchurl, libev, ocaml, findlib, ocamlbuild, lwt, react, zed, camlp4 }:
stdenv.mkDerivation rec {
version = "1.6";
pname = "lambda-term";
src = fetchurl {
url = https://github.com/diml/lambda-term/archive/1.6.tar.gz;
sha256 = "1rhfixdgpylxznf6sa9wr31wb4pjzpfn5mxhxqpbchmpl2afwa09";
};
buildInputs = [ libev ocaml findlib ocamlbuild lwt react ];
propagatedBuildInputs = [ camlp4 zed ];
createFindlibDestdir = true;
meta = { description = "Terminal manipulation library for OCaml";
longDescription = ''
Lambda-term is a cross-platform library for
manipulating the terminal. It provides an abstraction for keys,
mouse events, colors, as well as a set of widgets to write
curses-like applications.
The main objective of lambda-term is to provide a higher level
functional interface to terminal manipulation than, for example,
ncurses, by providing a native OCaml interface instead of bindings to
a C library.
Lambda-term integrates with zed to provide text edition facilities in
console applications.
'';
homepage = https://github.com/diml/lambda-term;
license = stdenv.lib.licenses.bsd3;
platforms = ocaml.meta.platforms or [];
branch = "1.6";
maintainers = [
stdenv.lib.maintainers.gal_bolle
];
};
}
@@ -2,20 +2,16 @@
buildDunePackage rec {
pname = "lambda-term";
version = "1.13";
minimumOCamlVersion = "4.02";
version = "2.0.2";
src = fetchurl {
url = "https://github.com/diml/${pname}/archive/${version}.tar.gz";
sha256 = "1hy5ryagqclgdm9lzh1qil5mrynlypv7mn6qm858hdcnmz9zzn0l";
url = "https://github.com/ocaml-community/lambda-term/releases/download/${version}/lambda-term-${version}.tbz";
sha256 = "1p9yczrx78pf5hvhcg1qiqb2vdlmw6bmhhjsm4wiqjq2cc6piaqw";
};
buildInputs = [ libev ];
propagatedBuildInputs = [ zed lwt_log lwt_react ];
hasSharedObjects = true;
meta = { description = "Terminal manipulation library for OCaml";
longDescription = ''
Lambda-term is a cross-platform library for
@@ -1,5 +1,5 @@
{ stdenv, fetchurl, fetchpatch, ocaml, findlib, ocamlbuild, topkg
, cpuid, ocb-stubblr
, cpuid, ocb-stubblr, sexplib
, cstruct, zarith, ppx_sexp_conv
, cstruct-lwt ? null
}:
@@ -33,10 +33,18 @@ stdenv.mkDerivation rec {
url = "https://raw.githubusercontent.com/ocaml/opam-repository/master/packages/nocrypto/nocrypto.0.5.4-1/files/0004-pack-package-workaround-ocamlbuild-272.patch";
sha256 = "16k0w78plvqhl17qiqq1mckxhhcdysqgs94l54a1bn0l6fx3rvb9";
})
(fetchpatch {
url = "https://raw.githubusercontent.com/ocaml/opam-repository/master/packages/nocrypto/nocrypto.0.5.4-1/files/0005-use-modern-cstruct-findlib.patch";
sha256 = "021k38zbdidw6g7j4vjxlnbsrnzq07bnavxzdjq23nbwlifs2nq9";
})
(fetchpatch {
url = "https://raw.githubusercontent.com/ocaml/opam-repository/master/packages/nocrypto/nocrypto.0.5.4-1/files/0006-explicit-dependency-on-sexplib.patch";
sha256 = "15kd0qgi96yxr3qkmaqny591l0s6qmwpprxd5xdx9qwv72hq813z";
})
];
buildInputs = [ ocaml findlib ocamlbuild topkg cpuid ocb-stubblr ];
propagatedBuildInputs = [ cstruct ppx_sexp_conv zarith ] ++ optional withLwt cstruct-lwt;
propagatedBuildInputs = [ cstruct ppx_sexp_conv sexplib zarith ] ++ optional withLwt cstruct-lwt;
buildPhase = "${topkg.buildPhase} --with-lwt ${boolToString withLwt}";
inherit (topkg) installPhase;
@@ -1,5 +1,5 @@
{ stdenv, fetchFromGitHub, ocaml, findlib, ocamlbuild, topkg
, ppx_sexp_conv, result, x509, nocrypto, cstruct, ppx_cstruct, cstruct-unix, ounit
, ppx_sexp_conv, result, x509, nocrypto, cstruct-sexp, ppx_cstruct, cstruct-unix, ounit
, lwt ? null}:
with stdenv.lib;
@@ -11,23 +11,24 @@ then throw "tls is not available for OCaml ${ocaml.version}"
else
stdenv.mkDerivation rec {
version = "0.9.0";
version = "0.10.4";
name = "ocaml${ocaml.version}-tls-${version}";
src = fetchFromGitHub {
owner = "mirleft";
repo = "ocaml-tls";
rev = "${version}";
sha256 = "0qgw8lq8pk9hss7b5i6fr08pi711i0zqx7yyjgcil47ipjig6c31";
sha256 = "02wv4lia583imn3sfci4nqv6ac5nzig5j3yfdnlqa0q8bp9rfc6g";
};
buildInputs = [ ocaml ocamlbuild findlib topkg ppx_sexp_conv ounit ppx_cstruct cstruct-unix ];
propagatedBuildInputs = [ cstruct nocrypto result x509 ] ++
buildInputs = [ ocaml ocamlbuild findlib topkg ppx_sexp_conv ppx_cstruct ]
++ optionals doCheck [ ounit cstruct-unix ];
propagatedBuildInputs = [ cstruct-sexp nocrypto result x509 ] ++
optional withLwt lwt;
buildPhase = "${topkg.run} build --tests true --with-mirage false --with-lwt ${if withLwt then "true" else "false"}";
buildPhase = "${topkg.run} build --tests ${boolToString doCheck} --with-mirage false --with-lwt ${boolToString withLwt}";
doCheck = true;
doCheck = versionAtLeast ocaml.version "4.06";
checkPhase = "${topkg.run} test";
inherit (topkg) installPhase;
+12 -17
View File
@@ -1,28 +1,23 @@
{ stdenv, fetchurl, ocaml, findlib, ocamlbuild, topkg
, asn1-combinators, astring, nocrypto, ppx_sexp_conv
, ounit, cstruct-unix
{ lib, fetchurl, buildDunePackage, ocaml
, alcotest, cstruct-unix
, asn1-combinators, domain-name, fmt, gmap, nocrypto, rresult
}:
stdenv.mkDerivation rec {
name = "ocaml${ocaml.version}-x509-${version}";
version = "0.6.1";
buildDunePackage rec {
pname = "x509";
version = "0.7.1";
src = fetchurl {
url = "https://github.com/mirleft/ocaml-x509/releases/download/${version}/x509-${version}.tbz";
sha256 = "1c62mw9rnzq0rs3ihbhfs18nv4mdzwag7893hlqgji3wmaai70pk";
url = "https://github.com/mirleft/ocaml-x509/releases/download/v${version}/x509-v${version}.tbz";
sha256 = "0hnklgdm1fwwqi0nfvpdbp7ddqvrh9h8697mr99bxqdfhg6sxh1w";
};
buildInputs = [ ocaml findlib ocamlbuild topkg ppx_sexp_conv ounit cstruct-unix ];
propagatedBuildInputs = [ asn1-combinators astring nocrypto ];
buildInputs = lib.optionals doCheck [ alcotest cstruct-unix ];
propagatedBuildInputs = [ asn1-combinators domain-name fmt gmap nocrypto rresult ];
buildPhase = "${topkg.run} build --tests true";
doCheck = lib.versionAtLeast ocaml.version "4.06";
doCheck = true;
checkPhase = "${topkg.run} test";
inherit (topkg) installPhase;
meta = with stdenv.lib; {
meta = with lib; {
homepage = https://github.com/mirleft/ocaml-x509;
description = "X509 (RFC5280) handling in OCaml";
license = licenses.bsd2;
@@ -1,18 +1,20 @@
{ stdenv, fetchzip, ocaml, findlib, ocamlbuild, camomile, react, dune }:
{ stdenv, fetchzip, ocaml, findlib, ocamlbuild, camomile, react, dune, charInfo_width }:
let param =
if stdenv.lib.versionAtLeast ocaml.version "4.02" then
{
version = "1.6";
sha256 = "00hhxcjf3bj3w2qm8nzs9x6vrqkadf4i0277s5whzy2rmiknj63v";
version = "2.0.3";
sha256 = "0pa9awinqr0plp4b2az78dwpvh01pwaljnn5ydg8mc6hi7rmir55";
buildInputs = [ dune ];
propagatedBuildInputs = [ charInfo_width ];
extra = {
buildPhase = "dune build -p zed";
inherit (dune) installPhase; };
} else {
version = "1.4";
sha256 = "0d8qfy0qiydrrqi8qc9rcwgjigql6vx9gl4zp62jfz1lmjgb2a3w";
buildInputs = [];
buildInputs = [ ocamlbuild ];
propagatedBuildInputs = [ camomile ];
extra = { createFindlibDestdir = true; };
}
; in
@@ -26,9 +28,9 @@ stdenv.mkDerivation (rec {
inherit (param) sha256;
};
buildInputs = [ ocaml findlib ocamlbuild ] ++ param.buildInputs;
buildInputs = [ ocaml findlib ] ++ param.buildInputs;
propagatedBuildInputs = [ react camomile ];
propagatedBuildInputs = [ react ] ++ param.propagatedBuildInputs;
meta = {
description = "Abstract engine for text edition in OCaml";