diff options
Diffstat (limited to 'pkgs/development/ocaml-modules')
-rw-r--r-- | pkgs/development/ocaml-modules/angstrom/default.nix | 10 | ||||
-rw-r--r-- | pkgs/development/ocaml-modules/bigstringaf/default.nix | 32 | ||||
-rw-r--r-- | pkgs/development/ocaml-modules/estring/default.nix | 6 | ||||
-rw-r--r-- | pkgs/development/ocaml-modules/httpaf/default.nix | 33 | ||||
-rw-r--r-- | pkgs/development/ocaml-modules/janestreet/default.nix | 3 | ||||
-rw-r--r-- | pkgs/development/ocaml-modules/labltk/default.nix | 57 | ||||
-rw-r--r-- | pkgs/development/ocaml-modules/sqlexpr/default.nix | 33 | ||||
-rw-r--r-- | pkgs/development/ocaml-modules/sqlexpr/ppx.nix | 15 |
8 files changed, 173 insertions, 16 deletions
diff --git a/pkgs/development/ocaml-modules/angstrom/default.nix b/pkgs/development/ocaml-modules/angstrom/default.nix index 154b4890e4fc..97baca62e724 100644 --- a/pkgs/development/ocaml-modules/angstrom/default.nix +++ b/pkgs/development/ocaml-modules/angstrom/default.nix @@ -1,22 +1,24 @@ -{ stdenv, fetchFromGitHub, ocaml, findlib, jbuilder, alcotest, result }: +{ stdenv, fetchFromGitHub, ocaml, findlib, jbuilder, alcotest, result +, bigstringaf +}: if !stdenv.lib.versionAtLeast ocaml.version "4.03" then throw "angstrom is not available for OCaml ${ocaml.version}" else stdenv.mkDerivation rec { - version = "0.8.1"; + version = "0.10.0"; name = "ocaml${ocaml.version}-angstrom-${version}"; src = fetchFromGitHub { owner = "inhabitedtype"; repo = "angstrom"; rev = "${version}"; - sha256 = "067r3vy5lac1bfx947gy722amna3dbcak54nlh24vx87pmcq31qc"; + sha256 = "0lh6024yf9ds0nh9i93r9m6p5psi8nvrqxl5x7jwl13zb0r9xfpw"; }; buildInputs = [ ocaml findlib jbuilder alcotest ]; - propagatedBuildInputs = [ result ]; + propagatedBuildInputs = [ bigstringaf result ]; buildPhase = "jbuilder build -p angstrom"; diff --git a/pkgs/development/ocaml-modules/bigstringaf/default.nix b/pkgs/development/ocaml-modules/bigstringaf/default.nix new file mode 100644 index 000000000000..21a0e3943923 --- /dev/null +++ b/pkgs/development/ocaml-modules/bigstringaf/default.nix @@ -0,0 +1,32 @@ +{ stdenv, fetchFromGitHub, ocaml, findlib, jbuilder, alcotest }: + +if !stdenv.lib.versionAtLeast ocaml.version "4.03" +then throw "bigstringaf is not available for OCaml ${ocaml.version}" +else + +stdenv.mkDerivation rec { + version = "0.3.0"; + name = "ocaml${ocaml.version}-bigstringaf-${version}"; + + src = fetchFromGitHub { + owner = "inhabitedtype"; + repo = "bigstringaf"; + rev = version; + sha256 = "1yx6hv8rk0ldz1h6kk00rwg8abpfc376z00aifl9f5rn7xavpscs"; + }; + + buildInputs = [ ocaml findlib jbuilder alcotest ]; + + doCheck = true; + checkPhase = "dune runtest"; + + inherit (jbuilder) installPhase; + + meta = { + description = "Bigstring intrinsics and fast blits based on memcpy/memmove"; + license = stdenv.lib.licenses.bsd3; + maintainers = [ stdenv.lib.maintainers.vbgl ]; + inherit (src.meta) homepage; + inherit (ocaml.meta) platforms; + }; +} diff --git a/pkgs/development/ocaml-modules/estring/default.nix b/pkgs/development/ocaml-modules/estring/default.nix index c0c8eb51f71f..9f04dac343c4 100644 --- a/pkgs/development/ocaml-modules/estring/default.nix +++ b/pkgs/development/ocaml-modules/estring/default.nix @@ -1,4 +1,8 @@ -{ stdenv, buildOcaml, fetchurl }: +{ stdenv, buildOcaml, ocaml, fetchurl }: + +if stdenv.lib.versionAtLeast ocaml.version "4.06" +then throw "estring is not available for OCaml ${ocaml.version}" +else buildOcaml rec { name = "estring"; diff --git a/pkgs/development/ocaml-modules/httpaf/default.nix b/pkgs/development/ocaml-modules/httpaf/default.nix new file mode 100644 index 000000000000..bb712d40827e --- /dev/null +++ b/pkgs/development/ocaml-modules/httpaf/default.nix @@ -0,0 +1,33 @@ +{ stdenv, fetchFromGitHub, ocaml, findlib, jbuilder +, angstrom, faraday, alcotest +}: + +stdenv.mkDerivation rec { + version = "0.4.1"; + name = "ocaml${ocaml.version}-httpaf-${version}"; + + src = fetchFromGitHub { + owner = "inhabitedtype"; + repo = "httpaf"; + rev = version; + sha256 = "0i2r004ihj00hd97475y8nhjqjln58xx087zcjl0dfp0n7q80517"; + }; + + buildInputs = [ ocaml findlib jbuilder alcotest ]; + propagatedBuildInputs = [ angstrom faraday ]; + + buildPhase = "dune build -p httpaf"; + + doCheck = true; + checkPhase = "dune runtest -p httpaf"; + + inherit (jbuilder) installPhase; + + meta = { + description = "A high-performance, memory-efficient, and scalable web server for OCaml"; + license = stdenv.lib.licenses.bsd3; + maintainers = [ stdenv.lib.maintainers.vbgl ]; + inherit (src.meta) homepage; + inherit (ocaml.meta) platforms; + }; +} diff --git a/pkgs/development/ocaml-modules/janestreet/default.nix b/pkgs/development/ocaml-modules/janestreet/default.nix index a05d49245b25..7db07e77d84e 100644 --- a/pkgs/development/ocaml-modules/janestreet/default.nix +++ b/pkgs/development/ocaml-modules/janestreet/default.nix @@ -33,8 +33,9 @@ rec { }; base = janePackage { + version = "0.11.1"; name = "base"; - hash = "0ad5xcyds2lwy9dk7gqwygxk5y769ckrgrjcykdalwdh8qfbi6nf"; + hash = "0j6xb4265jr41vw4fjzak6yr8s30qrnzapnc6rl1dxy8bjai0nir"; propagatedBuildInputs = [ sexplib0 ]; meta.description = "Full standard library replacement for OCaml"; }; diff --git a/pkgs/development/ocaml-modules/labltk/default.nix b/pkgs/development/ocaml-modules/labltk/default.nix new file mode 100644 index 000000000000..10555771feef --- /dev/null +++ b/pkgs/development/ocaml-modules/labltk/default.nix @@ -0,0 +1,57 @@ +{ stdenv, fetchurl, ocaml, findlib, tcl, tk }: + +let param = { + "4.04" = { + version = "8.06.2"; + key = "1628"; + sha256 = "1p97j9s33axkb4yyl0byhmhlyczqarb886ajpyggizy2br3a0bmk"; + }; + "4.05" = { + version = "8.06.3"; + key = "1701"; + sha256 = "1rka9jpg3kxqn7dmgfsa7pmsdwm16x7cn4sh15ijyyrad9phgdxn"; + }; + "4.06" = { + version = "8.06.4"; + key = "1727"; + sha256 = "0j3rz0zz4r993wa3ssnk5s416b1jhj58l6z2jk8238a86y7xqcii"; + }; + "4.07" = { + version = "8.06.5"; + key = "1764"; + sha256 = "0wgx65y1wkgf22ihpqmspqfp95fqbj3pldhp1p3b1mi8rmc37zwj"; + }; +}."${builtins.substring 0 4 ocaml.version}"; +in + +stdenv.mkDerivation rec { + inherit (param) version; + name = "ocaml${ocaml.version}-labltk-${version}"; + + src = fetchurl { + url = "https://forge.ocamlcore.org/frs/download.php/${param.key}/labltk-${param.version}.tar.gz"; + inherit (param) sha256; + }; + + buildInputs = [ ocaml findlib tcl tk ]; + + configureFlags = [ "--use-findlib" "--installbindir" "$(out)/bin" ]; + dontAddPrefix = true; + + buildFlags = [ "all" "opt" ]; + + createFindlibDestdir = true; + + postInstall = '' + mkdir -p $OCAMLFIND_DESTDIR/stublibs + mv $OCAMLFIND_DESTDIR/labltk/dlllabltk.so $OCAMLFIND_DESTDIR/stublibs/ + ''; + + meta = { + description = "OCaml interface to Tcl/Tk, including OCaml library explorer OCamlBrowser"; + homepage = "http://labltk.forge.ocamlcore.org/"; + license = stdenv.lib.licenses.lgpl21; + inherit (ocaml.meta) platforms; + maintainers = [ stdenv.lib.maintainers.vbgl ]; + }; +} diff --git a/pkgs/development/ocaml-modules/sqlexpr/default.nix b/pkgs/development/ocaml-modules/sqlexpr/default.nix index 363d5850ec60..c7ed72dc523c 100644 --- a/pkgs/development/ocaml-modules/sqlexpr/default.nix +++ b/pkgs/development/ocaml-modules/sqlexpr/default.nix @@ -1,19 +1,32 @@ -{ stdenv, buildOcaml, fetchurl, batteries, csv, ocaml_lwt, ocaml_sqlite3, estring }: +{ stdenv, fetchurl, ocaml, findlib, jbuilder, ocaml_lwt +, lwt_ppx, ocaml-migrate-parsetree, ppx_tools_versioned, csv, ocaml_sqlite3 +}: -buildOcaml rec { - name = "sqlexpr"; - version = "0.5.5"; +stdenv.mkDerivation rec { + version = "0.9.0"; + name = "ocaml${ocaml.version}-sqlexpr-${version}"; src = fetchurl { - url = "https://forge.ocamlcore.org/frs/download.php/1203/ocaml-sqlexpr-${version}.tar.gz"; - sha256 = "02pi0xxr3xzalwpvcaq96k57wz2vxj20l2mga1a4d2ddvhran8kr"; + url = "https://github.com/mfp/ocaml-sqlexpr/releases/download/${version}/ocaml-sqlexpr-${version}.tar.gz"; + sha256 = "0z0bkzi1mh0m39alzr2ds7hjpfxffx6azpfsj2wpaxrg64ks8ypd"; }; - propagatedBuildInputs = [ batteries csv ocaml_lwt ocaml_sqlite3 estring ]; + buildInputs = [ ocaml findlib jbuilder lwt_ppx ocaml-migrate-parsetree ppx_tools_versioned ]; - meta = with stdenv.lib; { - homepage = https://github.com/mfp/ocaml-sqlexpr; + propagatedBuildInputs = [ ocaml_lwt csv ocaml_sqlite3 ]; + + buildPhase = "dune build -p sqlexpr"; + + doCheck = true; + checkPhase = "dune runtest -p sqlexpr"; + + inherit (jbuilder) installPhase; + + meta = { description = "Type-safe, convenient SQLite database access"; - license = licenses.lgpl21; + homepage = "https://github.com/mfp/ocaml-sqlexpr"; + license = stdenv.lib.licenses.lgpl21; + maintainers = [ stdenv.lib.maintainers.vbgl ]; + inherit (ocaml.meta) platforms; }; } diff --git a/pkgs/development/ocaml-modules/sqlexpr/ppx.nix b/pkgs/development/ocaml-modules/sqlexpr/ppx.nix new file mode 100644 index 000000000000..c15378e8240a --- /dev/null +++ b/pkgs/development/ocaml-modules/sqlexpr/ppx.nix @@ -0,0 +1,15 @@ +{ stdenv, ocaml, findlib, jbuilder, sqlexpr, ounit +, ppx_core, ppx_tools_versioned, re, lwt_ppx +}: + +stdenv.mkDerivation rec { + name = "ocaml${ocaml.version}-ppx_sqlexpr-${version}"; + inherit (sqlexpr) version src installPhase meta; + + buildInputs = [ ocaml findlib jbuilder sqlexpr ounit ppx_core ppx_tools_versioned re lwt_ppx ]; + + buildPhase = "dune build -p ppx_sqlexpr"; + + doCheck = true; + checkPhase = "dune runtest -p ppx_sqlexpr"; +} |