From eec3973004a231a1c5b3861914e3d6c1b8aec617 Mon Sep 17 00:00:00 2001 From: Florent Becker Date: Thu, 16 Feb 2017 11:22:53 +0100 Subject: [PATCH 01/17] leo2: force ocaml-4.01 --- pkgs/top-level/all-packages.nix | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 622201ac10d..f3dc7fbafe4 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -17223,7 +17223,8 @@ with pkgs; lean2 = callPackage ../applications/science/logic/lean2 {}; lean3 = lean; - leo2 = callPackage ../applications/science/logic/leo2 {}; + leo2 = callPackage ../applications/science/logic/leo2 { + ocaml = ocamlPackages_4_01_0.ocaml;}; logisim = callPackage ../applications/science/logic/logisim {}; From 11e4fcf9413aff12dd4638bc098bfebeb936b2fb Mon Sep 17 00:00:00 2001 From: Florent Becker Date: Thu, 16 Feb 2017 11:27:10 +0100 Subject: [PATCH 02/17] ocamlPackages.llpp: only allow with ocaml-4.04 --- pkgs/top-level/ocaml-packages.nix | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/pkgs/top-level/ocaml-packages.nix b/pkgs/top-level/ocaml-packages.nix index 615268e3778..750fb7324a4 100644 --- a/pkgs/top-level/ocaml-packages.nix +++ b/pkgs/top-level/ocaml-packages.nix @@ -695,7 +695,11 @@ let google-drive-ocamlfuse = callPackage ../applications/networking/google-drive-ocamlfuse { }; - llpp = callPackage ../applications/misc/llpp { }; + llpp = + if lib.versionOlder "4.04" ocaml.version + then callPackage ../applications/misc/llpp { } + else null; + monotoneViz = callPackage ../applications/version-management/monotone-viz { inherit (pkgs.gnome2) libgnomecanvas glib; From 47cb2a9f3e43f004719245563742358fecd07fd4 Mon Sep 17 00:00:00 2001 From: Florent Becker Date: Thu, 16 Feb 2017 11:41:09 +0100 Subject: [PATCH 03/17] monotone-viz: fix build with ocaml 4.02+ --- pkgs/applications/version-management/monotone-viz/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/applications/version-management/monotone-viz/default.nix b/pkgs/applications/version-management/monotone-viz/default.nix index 255192a9128..7b8b0598925 100644 --- a/pkgs/applications/version-management/monotone-viz/default.nix +++ b/pkgs/applications/version-management/monotone-viz/default.nix @@ -11,7 +11,7 @@ stdenv.mkDerivation rec { version = "1.0.2"; name = "monotone-viz-${version}"; - buildInputs = [ocaml lablgtk libgnomecanvas glib pkgconfig graphviz_2_0 makeWrapper]; + buildInputs = [ocaml lablgtk libgnomecanvas glib pkgconfig graphviz_2_0 makeWrapper camlp4]; src = fetchurl { url = "http://oandrieu.nerim.net/monotone-viz/${name}-nolablgtk.tar.gz"; sha256 = "1l5x4xqz5g1aaqbc1x80mg0yzkiah9ma9k9mivmn08alkjlakkdk"; From ad671eaba9a2031ceb0b752fa8bd78e7721008ad Mon Sep 17 00:00:00 2001 From: Florent Becker Date: Thu, 16 Feb 2017 11:41:33 +0100 Subject: [PATCH 04/17] mldonkey: force ocaml 4.01 --- pkgs/top-level/all-packages.nix | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index f3dc7fbafe4..fc85cf0f835 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -14214,7 +14214,9 @@ with pkgs; mjpg-streamer = callPackage ../applications/video/mjpg-streamer { }; - mldonkey = callPackage ../applications/networking/p2p/mldonkey { }; + mldonkey = callPackage ../applications/networking/p2p/mldonkey { + ocaml = ocamlPackages_4_01_0.ocaml; + }; MMA = callPackage ../applications/audio/MMA { }; From e7953d20d25be0125e9bf981097ac6b2490fb08d Mon Sep 17 00:00:00 2001 From: Florent Becker Date: Thu, 16 Feb 2017 11:55:15 +0100 Subject: [PATCH 05/17] orpie: fix build with ocaml 4.02+ --- pkgs/applications/misc/orpie/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/applications/misc/orpie/default.nix b/pkgs/applications/misc/orpie/default.nix index b04f0f26500..b1df6378f1e 100644 --- a/pkgs/applications/misc/orpie/default.nix +++ b/pkgs/applications/misc/orpie/default.nix @@ -9,7 +9,7 @@ stdenv.mkDerivation rec { sha256 = "0v9xgpcf186ni55rkmx008msyszw0ypd6rd98hgwpih8yv3pymfy"; }; - buildInputs = [ ncurses gsl ] ++ (with ocamlPackages; [ ocaml ]); + buildInputs = [ ncurses gsl ] ++ (with ocamlPackages; [ ocaml camlp4 ]); meta = { homepage = http://pessimization.com/software/orpie/; From ea68576b7a1cfb48b0a37f88f115746ebe23316b Mon Sep 17 00:00:00 2001 From: Florent Becker Date: Thu, 16 Feb 2017 11:55:33 +0100 Subject: [PATCH 06/17] satallax: force ocaml 4.01 --- pkgs/top-level/all-packages.nix | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index fc85cf0f835..e0c3edad5f1 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -17256,7 +17256,9 @@ with pkgs; proverif = callPackage ../applications/science/logic/proverif { }; - satallax = callPackage ../applications/science/logic/satallax {}; + satallax = callPackage ../applications/science/logic/satallax { + ocaml = ocamlPackages_4_01_0.ocaml; + }; saw-tools = callPackage ../applications/science/logic/saw-tools {}; From b0d7d60fd4afb938fa92294c012f8ae2e5c80294 Mon Sep 17 00:00:00 2001 From: Florent Becker Date: Thu, 16 Feb 2017 11:55:47 +0100 Subject: [PATCH 07/17] prooftree: force ocaml 4.01 --- pkgs/top-level/ocaml-packages.nix | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/pkgs/top-level/ocaml-packages.nix b/pkgs/top-level/ocaml-packages.nix index 750fb7324a4..aab1f31d68c 100644 --- a/pkgs/top-level/ocaml-packages.nix +++ b/pkgs/top-level/ocaml-packages.nix @@ -723,7 +723,10 @@ let camlp5 = camlp5_transitional; }; - prooftree = callPackage ../applications/science/logic/prooftree { + prooftree = + if lib.versionOlder "4.01" ocaml.version + then null + else callPackage ../applications/science/logic/prooftree { camlp5 = camlp5_transitional; }; }; From 2f46fb2cba87f299c74e45bdd31b9a21d1a0a1fc Mon Sep 17 00:00:00 2001 From: Florent Becker Date: Thu, 16 Feb 2017 12:00:24 +0100 Subject: [PATCH 08/17] sks: fix build with ocaml 4.02+ --- pkgs/servers/sks/default.nix | 4 ++-- pkgs/top-level/all-packages.nix | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/servers/sks/default.nix b/pkgs/servers/sks/default.nix index 9149f050655..1d3b04565c8 100644 --- a/pkgs/servers/sks/default.nix +++ b/pkgs/servers/sks/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchFromBitbucket, ocaml, zlib, db48, perl }: +{ stdenv, fetchFromBitbucket, ocaml, zlib, db48, perl, camlp4 }: stdenv.mkDerivation rec { name = "sks-${version}"; @@ -11,7 +11,7 @@ stdenv.mkDerivation rec { sha256 = "00q5ma5rvl10rkc6cdw8d69bddgrmvy0ckqj3hbisy65l4idj2zm"; }; - buildInputs = [ ocaml zlib db48 perl ]; + buildInputs = [ ocaml zlib db48 perl camlp4 ]; makeFlags = [ "PREFIX=$(out)" "MANDIR=$(out)/share/man" ]; preConfigure = '' diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index e0c3edad5f1..84d8931c02e 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -3830,7 +3830,7 @@ with pkgs; skippy-xd = callPackage ../tools/X11/skippy-xd {}; - sks = callPackage ../servers/sks { }; + sks = callPackage ../servers/sks { inherit (ocamlPackages) ocaml camlp4; }; skydns = callPackage ../servers/skydns { }; From ba993ad506d50cd4826b5b4e5c8d070d405d3233 Mon Sep 17 00:00:00 2001 From: Florent Becker Date: Thu, 16 Feb 2017 12:16:09 +0100 Subject: [PATCH 09/17] coccinelle: build with caml 4.01 --- pkgs/top-level/all-packages.nix | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 84d8931c02e..ce4db54bbc2 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -6256,7 +6256,9 @@ with pkgs; # Does not actually depend on Qt 5 extra-cmake-modules = qt5.ecmNoHooks; - coccinelle = callPackage ../development/tools/misc/coccinelle { }; + coccinelle = callPackage ../development/tools/misc/coccinelle { + ocamlPackages = ocamlPackages_4_01_0; + }; cpptest = callPackage ../development/libraries/cpptest { }; From 2a17b75fb1f41f58901746121214c3eb43e56e63 Mon Sep 17 00:00:00 2001 From: Florent Becker Date: Thu, 16 Feb 2017 12:16:49 +0100 Subject: [PATCH 10/17] ocamlPackages.bitsring: associate ocaml versions with bitstring versions univocally --- pkgs/top-level/ocaml-packages.nix | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/pkgs/top-level/ocaml-packages.nix b/pkgs/top-level/ocaml-packages.nix index aab1f31d68c..340ad8ff6cf 100644 --- a/pkgs/top-level/ocaml-packages.nix +++ b/pkgs/top-level/ocaml-packages.nix @@ -53,13 +53,10 @@ let bolt = callPackage ../development/ocaml-modules/bolt { }; - bitstring_2_0_4 = callPackage ../development/ocaml-modules/bitstring/2.0.4.nix { }; - bitstring_git = callPackage ../development/ocaml-modules/bitstring { }; - bitstring = if lib.versionOlder "4.02" ocaml.version - then bitstring_git - else bitstring_2_0_4; + then callPackage ../development/ocaml-modules/bitstring { } + else callPackage ../development/ocaml-modules/bitstring/2.0.4.nix { }; camlidl = callPackage ../development/tools/ocaml/camlidl { }; From 9d57f1ae9a392f7050b5acfa4decc4875caeb07d Mon Sep 17 00:00:00 2001 From: Florent Becker Date: Thu, 16 Feb 2017 15:01:44 +0100 Subject: [PATCH 11/17] frama-c: fix compilation with ocaml 4.02+ --- pkgs/development/tools/analysis/frama-c/default.nix | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/pkgs/development/tools/analysis/frama-c/default.nix b/pkgs/development/tools/analysis/frama-c/default.nix index a1239c6a121..14efe29442b 100644 --- a/pkgs/development/tools/analysis/frama-c/default.nix +++ b/pkgs/development/tools/analysis/frama-c/default.nix @@ -25,7 +25,7 @@ stdenv.mkDerivation rec { buildInputs = with ocamlPackages; [ ncurses ocaml findlib alt-ergo ltl2ba ocamlgraph - lablgtk coq graphviz zarith why3 apron + lablgtk coq graphviz zarith why3 apron camlp4 ]; @@ -56,13 +56,15 @@ stdenv.mkDerivation rec { patches = [ ./dynamic.diff ]; postPatch = '' # strip absolute paths to /usr/bin - for file in ./configure ./share/Makefile.common ./src/*/configure; do + for file in ./configure ./share/Makefile.common ./src/*/configure; do #*/ substituteInPlace $file --replace '/usr/bin/' "" done substituteInPlace ./src/plugins/aorai/aorai_register.ml --replace '"ltl2ba' '"${ltl2ba}/bin/ltl2ba' cd ../why* + + substituteInPlace ./Makefile.in --replace '-warn-error A' '-warn-error A-3' substituteInPlace ./frama-c-plugin/Makefile --replace 'shell frama-c' "shell $out/bin/frama-c" substituteInPlace ./jc/jc_make.ml --replace ' why-dp ' " $out/bin/why-dp " substituteInPlace ./jc/jc_make.ml --replace "?= why@\n" "?= $out/bin/why@\n" From bf13a2cfc6923f6b7ca7d47b604bf2d152619f3a Mon Sep 17 00:00:00 2001 From: Florent Becker Date: Thu, 16 Feb 2017 15:03:20 +0100 Subject: [PATCH 12/17] ocamlPackages.camlimages_4_0: only build with ocaml 4.01 --- pkgs/top-level/ocaml-packages.nix | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/pkgs/top-level/ocaml-packages.nix b/pkgs/top-level/ocaml-packages.nix index 340ad8ff6cf..659b9243b6e 100644 --- a/pkgs/top-level/ocaml-packages.nix +++ b/pkgs/top-level/ocaml-packages.nix @@ -96,7 +96,10 @@ let camomile_0_8_2 = callPackage ../development/ocaml-modules/camomile/0.8.2.nix { }; camomile = callPackage ../development/ocaml-modules/camomile { }; - camlimages_4_0 = callPackage ../development/ocaml-modules/camlimages/4.0.nix { + camlimages_4_0 = + if lib.versionOlder "4.02" ocaml.version + then null + else callPackage ../development/ocaml-modules/camlimages/4.0.nix { libpng = pkgs.libpng12; giflib = pkgs.giflib_4_1; }; From cc9a50ec03e9eef8c6de9d70ab6b2e9e5f742229 Mon Sep 17 00:00:00 2001 From: Florent Becker Date: Thu, 16 Feb 2017 16:01:30 +0100 Subject: [PATCH 13/17] virt-top: compile with ocaml 4.01 --- pkgs/top-level/all-packages.nix | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index ce4db54bbc2..11ea168cd91 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -15478,7 +15478,9 @@ with pkgs; spice_gtk = spice_gtk; }; - virt-top = callPackage ../applications/virtualization/virt-top { }; + virt-top = callPackage ../applications/virtualization/virt-top { + ocamlPackages = ocamlPackages_4_01_0; + }; virtmanager = callPackage ../applications/virtualization/virt-manager { vte = gnome3.vte; From f18ac15dcad7d07f6c9c31b049a45bba9cd77b2a Mon Sep 17 00:00:00 2001 From: Florent Becker Date: Thu, 16 Feb 2017 16:57:40 +0100 Subject: [PATCH 14/17] ocamlPackages.spacetime: only build with ocaml-4.04 --- pkgs/top-level/ocaml-packages.nix | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/pkgs/top-level/ocaml-packages.nix b/pkgs/top-level/ocaml-packages.nix index 659b9243b6e..146405c7bad 100644 --- a/pkgs/top-level/ocaml-packages.nix +++ b/pkgs/top-level/ocaml-packages.nix @@ -390,7 +390,10 @@ let sequence = callPackage ../development/ocaml-modules/sequence { }; - spacetime_lib = callPackage ../development/ocaml-modules/spacetime_lib { }; + spacetime_lib = if lib.versionOlder "4.04" ocaml.version then + callPackage ../development/tools/ocaml/ocamlbuild { } + else + null; sqlexpr = callPackage ../development/ocaml-modules/sqlexpr { }; From 88dac94e3bc7be400dd6e22a27b4a5a300768f77 Mon Sep 17 00:00:00 2001 From: Florent Becker Date: Thu, 16 Feb 2017 16:58:05 +0100 Subject: [PATCH 15/17] switch ocamlPackages to 4.02 --- pkgs/top-level/ocaml-packages.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/top-level/ocaml-packages.nix b/pkgs/top-level/ocaml-packages.nix index 146405c7bad..08c8d64a15e 100644 --- a/pkgs/top-level/ocaml-packages.nix +++ b/pkgs/top-level/ocaml-packages.nix @@ -759,5 +759,5 @@ in rec ocamlPackages_latest = ocamlPackages_4_04; - ocamlPackages = ocamlPackages_4_01_0; + ocamlPackages = ocamlPackages_4_02; } From 6893d8a2fdc5dc609c6a4be97b87ba95ee6a0bcf Mon Sep 17 00:00:00 2001 From: Florent Becker Date: Sat, 18 Feb 2017 14:57:51 +0100 Subject: [PATCH 16/17] llpp: move out of ocamlPackages --- pkgs/top-level/all-packages.nix | 2 +- pkgs/top-level/ocaml-packages.nix | 5 ----- 2 files changed, 1 insertion(+), 6 deletions(-) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 11ea168cd91..22b63a492ee 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -14098,7 +14098,7 @@ with pkgs; bison = bison2; }; - inherit (ocaml-ng.ocamlPackages_4_04) llpp; + llpp = ocaml-ng.ocamlPackages_4_04.callPackage ../applications/misc/llpp { }; lmms = callPackage ../applications/audio/lmms { }; diff --git a/pkgs/top-level/ocaml-packages.nix b/pkgs/top-level/ocaml-packages.nix index 08c8d64a15e..5f000099e14 100644 --- a/pkgs/top-level/ocaml-packages.nix +++ b/pkgs/top-level/ocaml-packages.nix @@ -698,11 +698,6 @@ let google-drive-ocamlfuse = callPackage ../applications/networking/google-drive-ocamlfuse { }; - llpp = - if lib.versionOlder "4.04" ocaml.version - then callPackage ../applications/misc/llpp { } - else null; - monotoneViz = callPackage ../applications/version-management/monotone-viz { inherit (pkgs.gnome2) libgnomecanvas glib; From 4c5f083d7016c737d321bbe8ac65adf73cc125ee Mon Sep 17 00:00:00 2001 From: Florent Becker Date: Sat, 18 Feb 2017 18:10:00 +0100 Subject: [PATCH 17/17] prooftree: move out of ocamlPackages --- pkgs/top-level/all-packages.nix | 5 ++++- pkgs/top-level/ocaml-packages.nix | 6 ------ 2 files changed, 4 insertions(+), 7 deletions(-) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 22b63a492ee..7e29ff17185 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -17254,7 +17254,10 @@ with pkgs; picosat = callPackage ../applications/science/logic/picosat {}; - inherit (ocaml-ng.ocamlPackages_4_01_0) prooftree; + prooftree = (with ocamlPackages_4_01_0; + callPackage ../applications/science/logic/prooftree { + camlp5 = camlp5_transitional; + }); prover9 = callPackage ../applications/science/logic/prover9 { }; diff --git a/pkgs/top-level/ocaml-packages.nix b/pkgs/top-level/ocaml-packages.nix index 5f000099e14..e580ac41660 100644 --- a/pkgs/top-level/ocaml-packages.nix +++ b/pkgs/top-level/ocaml-packages.nix @@ -721,12 +721,6 @@ let camlp5 = camlp5_transitional; }; - prooftree = - if lib.versionOlder "4.01" ocaml.version - then null - else callPackage ../applications/science/logic/prooftree { - camlp5 = camlp5_transitional; - }; }; in lib.fix' (lib.extends overrides packageSet); in rec