Created
July 28, 2019 23:42
-
-
Save matthewess/50e3c96a1cf56ef97eac5e14ae26fd56 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix | |
index ee279d0429a..e31b43c9dc1 100644 | |
--- a/maintainers/maintainer-list.nix | |
+++ b/maintainers/maintainer-list.nix | |
@@ -3229,6 +3229,11 @@ | |
github = "matthewbauer"; | |
name = "Matthew Bauer"; | |
}; | |
+ matthewess = { | |
+ email = "daringseal@gmail.com"; | |
+ github = "matthewess"; | |
+ name = "Matthew Ess"; | |
+ }; | |
matthiasbeyer = { | |
email = "mail@beyermatthias.de"; | |
github = "matthiasbeyer"; | |
diff --git a/pkgs/build-support/ocaml/default.nix b/pkgs/build-support/ocaml/default.nix | |
index cc2001c66e2..4ebceced20c 100644 | |
--- a/pkgs/build-support/ocaml/default.nix | |
+++ b/pkgs/build-support/ocaml/default.nix | |
@@ -1,4 +1,4 @@ | |
-{ stdenv, writeText, ocaml, findlib, ocamlbuild, camlp4 }: | |
+{ stdenv, writeText, ocaml, findlib, ocamlbuild, supportsCamlp4, camlp4 }: | |
{ name, version, buildInputs ? [], | |
createFindlibDestdir ? true, | |
@@ -12,6 +12,9 @@ let | |
defaultMeta = { | |
platforms = ocaml.meta.platforms or []; | |
}; | |
+ defaultInputs = [ ocaml findlib ocamlbuild ] ++ (if supportsCamlp4 | |
+ then [ camlp4 ] | |
+ else []); | |
in | |
assert minimumSupportedOcamlVersion != null -> | |
stdenv.lib.versionOlder minimumSupportedOcamlVersion ocaml.version; | |
@@ -19,7 +22,7 @@ in | |
stdenv.mkDerivation (args // { | |
name = "ocaml-${name}-${version}"; | |
- buildInputs = [ ocaml findlib ocamlbuild camlp4 ] ++ buildInputs; | |
+ buildInputs = defaultInputs ++ buildInputs; | |
setupHook = if setupHook == null && hasSharedObjects | |
then writeText "setupHook.sh" '' | |
diff --git a/pkgs/development/compilers/reason/default.nix b/pkgs/development/compilers/reason/default.nix | |
index 1b84b934852..256b4359301 100644 | |
--- a/pkgs/development/compilers/reason/default.nix | |
+++ b/pkgs/development/compilers/reason/default.nix | |
@@ -1,23 +1,23 @@ | |
{ stdenv, makeWrapper, fetchFromGitHub, ocaml, findlib, dune | |
-, menhir, merlin_extend, ppx_tools_versioned, utop | |
+, cppo, menhir, merlin_extend, ppx_tools_versioned, utop | |
}: | |
stdenv.mkDerivation rec { | |
name = "ocaml${ocaml.version}-reason-${version}"; | |
- version = "3.3.7"; | |
+ version = "3.5.0"; | |
src = fetchFromGitHub { | |
owner = "facebook"; | |
repo = "reason"; | |
- rev = "4d20e5b535c29c5ef1283e65958b32996e449e5a"; | |
- sha256 = "0f3pb61wg58g8f3wcnp1h4gpmnwmp7bq0cnqdfwldmh9cs0dqyfk"; | |
+ rev = "5b2904620189e06d4577ff80ce42c5cbaa0675c8"; | |
+ sha256 = "15k5l7yz2kzvj1y1w1zsd902iif648hhg5xpw221gsh8c8hg811g"; | |
}; | |
nativeBuildInputs = [ makeWrapper ]; | |
propagatedBuildInputs = [ menhir merlin_extend ppx_tools_versioned ]; | |
- buildInputs = [ ocaml findlib dune utop menhir ]; | |
+ buildInputs = [ ocaml findlib dune utop cppo menhir ]; | |
buildFlags = [ "build" ]; # do not "make tests" before reason lib is installed | |
diff --git a/pkgs/development/ocaml-modules/lambda-term/default.nix b/pkgs/development/ocaml-modules/lambda-term/default.nix | |
index 18fe235710f..0630f0e9d1a 100644 | |
--- a/pkgs/development/ocaml-modules/lambda-term/default.nix | |
+++ b/pkgs/development/ocaml-modules/lambda-term/default.nix | |
@@ -1,17 +1,19 @@ | |
-{ stdenv, fetchurl, libev, buildDunePackage, zed, lwt_log, lwt_react }: | |
+{ stdenv, fetchFromGitHub, libev, buildDunePackage, zed, lwt, lwt_log, lwt_react }: | |
buildDunePackage rec { | |
pname = "lambda-term"; | |
- version = "1.13"; | |
+ version = "2.0.1"; | |
minimumOCamlVersion = "4.02"; | |
- src = fetchurl { | |
- url = "https://github.com/diml/${pname}/archive/${version}.tar.gz"; | |
- sha256 = "1hy5ryagqclgdm9lzh1qil5mrynlypv7mn6qm858hdcnmz9zzn0l"; | |
+ src = fetchFromGitHub { | |
+ owner = "ocaml-community"; | |
+ repo = pname; | |
+ rev = version; | |
+ sha256 = "19s4kkvqw9fds7icnqjfk76ydf9rdbjb75kid1xrm6n0vkj5n5jk"; | |
}; | |
- buildInputs = [ libev ]; | |
+ buildInputs = [ lwt libev ]; | |
propagatedBuildInputs = [ zed lwt_log lwt_react ]; | |
hasSharedObjects = true; | |
diff --git a/pkgs/development/ocaml-modules/lwt/4.x.nix b/pkgs/development/ocaml-modules/lwt/4.x.nix | |
index 105104bc308..ffdbfdad1df 100644 | |
--- a/pkgs/development/ocaml-modules/lwt/4.x.nix | |
+++ b/pkgs/development/ocaml-modules/lwt/4.x.nix | |
@@ -1,24 +1,24 @@ | |
-{ stdenv, fetchzip, pkgconfig, ncurses, libev, buildDunePackage, ocaml | |
-, cppo, ocaml-migrate-parsetree, ppx_tools_versioned, result | |
+{ stdenv, fetchFromGitHub, pkgconfig, ncurses, libev, buildDunePackage, ocaml | |
+, cppo, ocaml-migrate-parsetree, ppx_tools_versioned, result, seq, mmap | |
}: | |
let inherit (stdenv.lib) optional versionAtLeast; in | |
buildDunePackage rec { | |
pname = "lwt"; | |
- version = "4.1.0"; | |
+ version = "4.2.1"; | |
- src = fetchzip { | |
- url = "https://github.com/ocsigen/${pname}/archive/${version}.tar.gz"; | |
- sha256 = "16wnc61kfj54z4q8sn9f5iik37pswz328hcz3z6rkza3kh3s6wmm"; | |
+ src = fetchFromGitHub { | |
+ owner = "ocsigen"; | |
+ repo = pname; | |
+ rev = version; | |
+ sha256 = "1hz24fyhpm7d6603v399pgxvdl236srwagqja41ljvjx83y10ysr"; | |
}; | |
nativeBuildInputs = [ pkgconfig ]; | |
- buildInputs = [ cppo ocaml-migrate-parsetree ppx_tools_versioned ] | |
+ buildInputs = [ cppo ocaml-migrate-parsetree ppx_tools_versioned seq ] | |
++ optional (!versionAtLeast ocaml.version "4.07") ncurses; | |
- propagatedBuildInputs = [ libev result ]; | |
- | |
- configurePhase = "ocaml src/util/configure.ml -use-libev true"; | |
+ propagatedBuildInputs = [ libev result mmap ]; | |
meta = { | |
homepage = "https://ocsigen.org/lwt/"; | |
diff --git a/pkgs/development/ocaml-modules/lwt_log/default.nix b/pkgs/development/ocaml-modules/lwt_log/default.nix | |
index 7eea297e3ee..5f18d0c6547 100644 | |
--- a/pkgs/development/ocaml-modules/lwt_log/default.nix | |
+++ b/pkgs/development/ocaml-modules/lwt_log/default.nix | |
@@ -1,4 +1,4 @@ | |
-{ stdenv, fetchFromGitHub, buildDunePackage, lwt }: | |
+{ stdenv, fetchFromGitHub, buildDunePackage, lwt, seq }: | |
buildDunePackage rec { | |
pname = "lwt_log"; | |
@@ -13,7 +13,7 @@ buildDunePackage rec { | |
sha256 = "1c58gkqfvyf2j11jwj2nh4iq999wj9xpnmr80hz9d0nk9fv333pi"; | |
}; | |
- propagatedBuildInputs = [ lwt ]; | |
+ propagatedBuildInputs = [ lwt seq ]; | |
meta = { | |
description = "Lwt logging library (deprecated)"; | |
diff --git a/pkgs/development/ocaml-modules/lwt_react/default.nix b/pkgs/development/ocaml-modules/lwt_react/default.nix | |
index 41276668ecc..fb9346f9e29 100644 | |
--- a/pkgs/development/ocaml-modules/lwt_react/default.nix | |
+++ b/pkgs/development/ocaml-modules/lwt_react/default.nix | |
@@ -1,14 +1,11 @@ | |
-{ stdenv, fetchzip, ocaml, findlib, ocamlbuild, lwt, react }: | |
+{ buildDunePackage, fetchFromGitHub, ocaml, cppo, lwt, react, seq }: | |
-stdenv.mkDerivation rec { | |
- version = "1.0.1"; | |
- name = "ocaml${ocaml.version}-lwt_react-${version}"; | |
- src = fetchzip { | |
- url = https://github.com/ocsigen/lwt/releases/download/3.0.0/lwt_react-1.0.1.tar.gz; | |
- sha256 = "1bbz7brvdskf4angzn3q2s2s6qdnx7x8m8syayysh23gwv4c7v31"; | |
- }; | |
+buildDunePackage { | |
+ version = "1.1.2"; | |
+ pname = "lwt_react"; | |
+ inherit (lwt) src; | |
- buildInputs = [ ocaml findlib ocamlbuild ]; | |
+ buildInputs = [ cppo seq ]; | |
propagatedBuildInputs = [ lwt react ]; | |
diff --git a/pkgs/development/ocaml-modules/merlin_extend/default.nix b/pkgs/development/ocaml-modules/merlin_extend/default.nix | |
index 79b8b69bbb5..5bba1fc54ee 100644 | |
--- a/pkgs/development/ocaml-modules/merlin_extend/default.nix | |
+++ b/pkgs/development/ocaml-modules/merlin_extend/default.nix | |
@@ -1,15 +1,15 @@ | |
-{ stdenv, buildOcaml, fetchFromGitHub, cppo }: | |
+{ stdenv, buildDunePackage, fetchFromGitHub, cppo }: | |
-buildOcaml rec { | |
- name = "merlin_extend"; | |
- version = "0.3"; | |
+buildDunePackage rec { | |
+ pname = "merlin-extend"; | |
+ version = "0.4"; | |
minimumSupportedOcamlVersion = "4.02"; | |
src = fetchFromGitHub { | |
owner = "let-def"; | |
repo = "merlin-extend"; | |
- sha256 = "1z6hybcb7ry0bkzjd0r2dlcgjnhhxdsr06x3h03sj7h5fihsc7vd"; | |
+ sha256 = "1dxiqmm7ry24gvw6p9n4mrz37mnq4s6m8blrccsv3rb8yq82acx9"; | |
rev = "v${version}"; | |
}; | |
diff --git a/pkgs/development/ocaml-modules/ocaml-migrate-parsetree/default.nix b/pkgs/development/ocaml-modules/ocaml-migrate-parsetree/default.nix | |
index 38050bc09a1..23940ef1499 100644 | |
--- a/pkgs/development/ocaml-modules/ocaml-migrate-parsetree/default.nix | |
+++ b/pkgs/development/ocaml-modules/ocaml-migrate-parsetree/default.nix | |
@@ -2,13 +2,13 @@ | |
buildDunePackage rec { | |
pname = "ocaml-migrate-parsetree"; | |
- version = "1.2.0"; | |
+ version = "1.4.0"; | |
src = fetchFromGitHub { | |
owner = "ocaml-ppx"; | |
repo = pname; | |
rev = "v${version}"; | |
- sha256 = "16kas19iwm4afijv3yxd250s08absabmdcb4yj57wc8r4fmzv5dm"; | |
+ sha256 = "0sv1p4615l8gpbah4ya2c40yr6fbvahvv3ks7zhrsgcwcq2ljyr2"; | |
}; | |
propagatedBuildInputs = [ ppx_derivers result ]; | |
diff --git a/pkgs/development/ocaml-modules/ppx_tools_versioned/default.nix b/pkgs/development/ocaml-modules/ppx_tools_versioned/default.nix | |
index 363b774aaeb..2f7fc14b8a7 100644 | |
--- a/pkgs/development/ocaml-modules/ppx_tools_versioned/default.nix | |
+++ b/pkgs/development/ocaml-modules/ppx_tools_versioned/default.nix | |
@@ -1,14 +1,14 @@ | |
-{ stdenv, fetchFromGitHub, ocaml, findlib, ocaml-migrate-parsetree }: | |
+{ stdenv, fetchFromGitHub, ocaml, buildDunePackage, findlib, ocaml-migrate-parsetree }: | |
-stdenv.mkDerivation rec { | |
- name = "ocaml${ocaml.version}-ppx_tools_versioned-${version}"; | |
- version = "5.1"; | |
+buildDunePackage rec { | |
+ pname = "ppx_tools_versioned"; | |
+ version = "5.2.3"; | |
src = fetchFromGitHub { | |
owner = "let-def"; | |
repo = "ppx_tools_versioned"; | |
rev = version; | |
- sha256 = "1c7kvca67qpyr4hiy492yik5x31lmkhyhy5wpl0l0fbx7fr7l624"; | |
+ sha256 = "1hcmpnw26zf70a71r3d2c2c0mn8q084gdn1r36ynng6fv9hq6j0y"; | |
}; | |
buildInputs = [ ocaml findlib ]; | |
diff --git a/pkgs/development/ocaml-modules/zed/default.nix b/pkgs/development/ocaml-modules/zed/default.nix | |
index d9dcf1a5385..2d6eeb8925b 100644 | |
--- a/pkgs/development/ocaml-modules/zed/default.nix | |
+++ b/pkgs/development/ocaml-modules/zed/default.nix | |
@@ -1,11 +1,12 @@ | |
-{ stdenv, fetchzip, ocaml, findlib, ocamlbuild, camomile, react, dune }: | |
+{ stdenv, fetchFromGitHub, 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.2"; | |
+ sha256 = "11gwd744xppi4na09kqira66bjgv5hnavjdfdkjjq5h1g3ds9820"; | |
buildInputs = [ dune ]; | |
+ propagatedBuildInputs = [ charInfo_width ]; | |
extra = { | |
buildPhase = "dune build -p zed"; | |
inherit (dune) installPhase; }; | |
@@ -19,16 +20,19 @@ let param = | |
stdenv.mkDerivation (rec { | |
inherit (param) version; | |
- name = "ocaml-zed-${version}"; | |
+ pname = "zed"; | |
+ name = "ocaml-${pname}-${version}"; | |
- src = fetchzip { | |
- url = "https://github.com/diml/zed/archive/${version}.tar.gz"; | |
+ src = fetchFromGitHub { | |
+ owner = "ocaml-community"; | |
+ repo = pname; | |
+ rev = version; | |
inherit (param) sha256; | |
}; | |
buildInputs = [ ocaml findlib ocamlbuild ] ++ param.buildInputs; | |
- propagatedBuildInputs = [ react camomile ]; | |
+ propagatedBuildInputs = [ react camomile ] ++ param.propagatedBuildInputs; | |
meta = { | |
description = "Abstract engine for text edition in OCaml"; | |
diff --git a/pkgs/development/tools/ocaml/utop/default.nix b/pkgs/development/tools/ocaml/utop/default.nix | |
index d9e563952ea..71baf469369 100644 | |
--- a/pkgs/development/tools/ocaml/utop/default.nix | |
+++ b/pkgs/development/tools/ocaml/utop/default.nix | |
@@ -1,4 +1,4 @@ | |
-{ stdenv, fetchurl, ocaml, findlib, ocamlbuild, dune | |
+{ stdenv, fetchFromGitHub, ocaml, findlib, ocamlbuild, dune | |
, lambdaTerm, cppo, makeWrapper | |
}: | |
@@ -7,12 +7,14 @@ then throw "utop is not available for OCaml ${ocaml.version}" | |
else | |
stdenv.mkDerivation rec { | |
- version = "2.3.0"; | |
+ version = "2.4.0"; | |
name = "utop-${version}"; | |
- src = fetchurl { | |
- url = "https://github.com/diml/utop/archive/${version}.tar.gz"; | |
- sha256 = "1g1xf19fhzwsikp33pv1wf6wb2qdc5y7dzqi46h8c4l850cwscjh"; | |
+ src = fetchFromGitHub { | |
+ owner = "ocaml-community"; | |
+ repo = "utop"; | |
+ rev = version; | |
+ sha256 = "0sklms0crkmknlgjw2lrqbyslvfjg5mrc8cnz2ar98css4509qph"; | |
}; | |
nativeBuildInputs = [ makeWrapper ]; | |
diff --git a/pkgs/top-level/ocaml-packages.nix b/pkgs/top-level/ocaml-packages.nix | |
index 3b807c932f0..af6f8af29c8 100644 | |
--- a/pkgs/top-level/ocaml-packages.nix | |
+++ b/pkgs/top-level/ocaml-packages.nix | |
@@ -7,6 +7,8 @@ let | |
(lib.makeScope newScope (self: with self; | |
{ | |
inherit ocaml; | |
+ # camlp4 has not been updated for the 4.08 compiler yet | |
+ supportsCamlp4 = lib.versionOlder ocaml.version "4.08"; | |
# Libs | |
@@ -126,6 +128,8 @@ let | |
cairo2 = callPackage ../development/ocaml-modules/cairo2 { }; | |
+ charInfo_width = callPackage ../development/ocaml-modules/charInfo_width { }; | |
+ | |
checkseum = callPackage ../development/ocaml-modules/checkseum { }; | |
cil = callPackage ../development/ocaml-modules/cil { }; | |
@@ -377,10 +381,10 @@ let | |
lacaml = callPackage ../development/ocaml-modules/lacaml { }; | |
lambdaTerm-1_6 = callPackage ../development/ocaml-modules/lambda-term/1.6.nix { lwt = lwt2; }; | |
- lambdaTerm = | |
- if lib.versionOlder "4.02" ocaml.version | |
- then callPackage ../development/ocaml-modules/lambda-term { } | |
- else lambdaTerm-1_6; | |
+ lambdaTerm-2 = callPackage ../development/ocaml-modules/lambda-term { lwt = ocaml_lwt; }; | |
+ lambdaTerm = if lib.versionOlder "4.02" ocaml.version | |
+ then lambdaTerm-2 | |
+ else lambdaTerm-1_6; | |
linenoise = callPackage ../development/ocaml-modules/linenoise { }; | |
@@ -444,6 +448,8 @@ let | |
mlgmpidl = callPackage ../development/ocaml-modules/mlgmpidl { }; | |
+ mmap = callPackage ../development/ocaml-modules/mmap { }; | |
+ | |
mparser = callPackage ../development/ocaml-modules/mparser { }; | |
mstruct = callPackage ../development/ocaml-modules/mstruct { }; |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment