diff options
Diffstat (limited to 'pkgs/development/ocaml-modules')
-rw-r--r-- | pkgs/development/ocaml-modules/batteries/default.nix | 12 | ||||
-rw-r--r-- | pkgs/development/ocaml-modules/bigarray-compat/default.nix | 20 | ||||
-rw-r--r-- | pkgs/development/ocaml-modules/cstruct/default.nix | 14 | ||||
-rw-r--r-- | pkgs/development/ocaml-modules/cstruct/ppx.nix | 6 | ||||
-rw-r--r-- | pkgs/development/ocaml-modules/cstruct/sexp.nix | 16 | ||||
-rw-r--r-- | pkgs/development/ocaml-modules/cstruct/unix.nix | 2 | ||||
-rw-r--r-- | pkgs/development/ocaml-modules/domain-name/default.nix | 29 | ||||
-rw-r--r-- | pkgs/development/ocaml-modules/git/default.nix | 4 | ||||
-rw-r--r-- | pkgs/development/ocaml-modules/gmap/default.nix | 24 | ||||
-rw-r--r-- | pkgs/development/ocaml-modules/lambda-term/1.6.nix | 42 | ||||
-rw-r--r-- | pkgs/development/ocaml-modules/lambda-term/default.nix | 10 | ||||
-rw-r--r-- | pkgs/development/ocaml-modules/nocrypto/default.nix | 12 | ||||
-rw-r--r-- | pkgs/development/ocaml-modules/tls/default.nix | 15 | ||||
-rw-r--r-- | pkgs/development/ocaml-modules/x509/default.nix | 29 | ||||
-rw-r--r-- | pkgs/development/ocaml-modules/zed/default.nix | 14 |
15 files changed, 148 insertions, 101 deletions
diff --git a/pkgs/development/ocaml-modules/batteries/default.nix b/pkgs/development/ocaml-modules/batteries/default.nix index 473c30b434598..3b511c7f1cc87 100644 --- a/pkgs/development/ocaml-modules/batteries/default.nix +++ b/pkgs/development/ocaml-modules/batteries/default.nix @@ -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; diff --git a/pkgs/development/ocaml-modules/bigarray-compat/default.nix b/pkgs/development/ocaml-modules/bigarray-compat/default.nix new file mode 100644 index 0000000000000..6d833b48f2696 --- /dev/null +++ b/pkgs/development/ocaml-modules/bigarray-compat/default.nix @@ -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 ]; + }; +} diff --git a/pkgs/development/ocaml-modules/cstruct/default.nix b/pkgs/development/ocaml-modules/cstruct/default.nix index 37c7f660ca6ba..01a32fc09a209 100644 --- a/pkgs/development/ocaml-modules/cstruct/default.nix +++ b/pkgs/development/ocaml-modules/cstruct/default.nix @@ -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 ]; }; } diff --git a/pkgs/development/ocaml-modules/cstruct/ppx.nix b/pkgs/development/ocaml-modules/cstruct/ppx.nix index 78600b7830687..b5c39533e733d 100644 --- a/pkgs/development/ocaml-modules/cstruct/ppx.nix +++ b/pkgs/development/ocaml-modules/cstruct/ppx.nix @@ -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 ]; } diff --git a/pkgs/development/ocaml-modules/cstruct/sexp.nix b/pkgs/development/ocaml-modules/cstruct/sexp.nix new file mode 100644 index 0000000000000..9a1ef0dd301f9 --- /dev/null +++ b/pkgs/development/ocaml-modules/cstruct/sexp.nix @@ -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 ]; +} + diff --git a/pkgs/development/ocaml-modules/cstruct/unix.nix b/pkgs/development/ocaml-modules/cstruct/unix.nix index 604ad4fb083b9..7cb5d66586965 100644 --- a/pkgs/development/ocaml-modules/cstruct/unix.nix +++ b/pkgs/development/ocaml-modules/cstruct/unix.nix @@ -8,7 +8,7 @@ buildDunePackage { pname = "cstruct-unix"; inherit (cstruct) version src meta; - minimumOCamlVersion = "4.02"; + minimumOCamlVersion = "4.06"; propagatedBuildInputs = [ cstruct ]; } diff --git a/pkgs/development/ocaml-modules/domain-name/default.nix b/pkgs/development/ocaml-modules/domain-name/default.nix new file mode 100644 index 0000000000000..cb0105ff46fa6 --- /dev/null +++ b/pkgs/development/ocaml-modules/domain-name/default.nix @@ -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 ]; + }; +} diff --git a/pkgs/development/ocaml-modules/git/default.nix b/pkgs/development/ocaml-modules/git/default.nix index 944195fd0a3e3..35f8f5d52e949 100644 --- a/pkgs/development/ocaml-modules/git/default.nix +++ b/pkgs/development/ocaml-modules/git/default.nix @@ -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 = { diff --git a/pkgs/development/ocaml-modules/gmap/default.nix b/pkgs/development/ocaml-modules/gmap/default.nix new file mode 100644 index 0000000000000..2585dfcaa9683 --- /dev/null +++ b/pkgs/development/ocaml-modules/gmap/default.nix @@ -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 ]; + }; +} diff --git a/pkgs/development/ocaml-modules/lambda-term/1.6.nix b/pkgs/development/ocaml-modules/lambda-term/1.6.nix deleted file mode 100644 index 5a494fa5cb51a..0000000000000 --- a/pkgs/development/ocaml-modules/lambda-term/1.6.nix +++ /dev/null @@ -1,42 +0,0 @@ -{ stdenv, fetchurl, libev, ocaml, findlib, ocamlbuild, lwt, react, zed, camlp4 }: - -stdenv.mkDerivation { - 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 - ]; - }; -} diff --git a/pkgs/development/ocaml-modules/lambda-term/default.nix b/pkgs/development/ocaml-modules/lambda-term/default.nix index 18fe235710f8f..1b5594d55651b 100644 --- a/pkgs/development/ocaml-modules/lambda-term/default.nix +++ b/pkgs/development/ocaml-modules/lambda-term/default.nix @@ -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 diff --git a/pkgs/development/ocaml-modules/nocrypto/default.nix b/pkgs/development/ocaml-modules/nocrypto/default.nix index 813b4d7f7a4a8..9108fd248c011 100644 --- a/pkgs/development/ocaml-modules/nocrypto/default.nix +++ b/pkgs/development/ocaml-modules/nocrypto/default.nix @@ -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; diff --git a/pkgs/development/ocaml-modules/tls/default.nix b/pkgs/development/ocaml-modules/tls/default.nix index 181946802d708..2a29179f4cd47 100644 --- a/pkgs/development/ocaml-modules/tls/default.nix +++ b/pkgs/development/ocaml-modules/tls/default.nix @@ -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; diff --git a/pkgs/development/ocaml-modules/x509/default.nix b/pkgs/development/ocaml-modules/x509/default.nix index 8d4bd4c82b390..63ddc6e67bdcf 100644 --- a/pkgs/development/ocaml-modules/x509/default.nix +++ b/pkgs/development/ocaml-modules/x509/default.nix @@ -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; diff --git a/pkgs/development/ocaml-modules/zed/default.nix b/pkgs/development/ocaml-modules/zed/default.nix index d9dcf1a538514..9fa42e68c56d3 100644 --- a/pkgs/development/ocaml-modules/zed/default.nix +++ b/pkgs/development/ocaml-modules/zed/default.nix @@ -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"; |