about summary refs log tree commit diff
diff options
context:
space:
mode:
authorVincent Laporte <Vincent.Laporte@gmail.com>2016-10-08 08:45:59 +0200
committerVincent Laporte <Vincent.Laporte@gmail.com>2016-10-09 11:55:19 +0200
commit731b616fdbb7b3b0d753f5ac05926de33d17c177 (patch)
tree58709716de0f2d760ce622e0cdb082ab0c8425cd
parent03c2b449f8bdd9cf67dfa1a49353054df7cabf97 (diff)
downloadnixlib-731b616fdbb7b3b0d753f5ac05926de33d17c177.tar
nixlib-731b616fdbb7b3b0d753f5ac05926de33d17c177.tar.gz
nixlib-731b616fdbb7b3b0d753f5ac05926de33d17c177.tar.bz2
nixlib-731b616fdbb7b3b0d753f5ac05926de33d17c177.tar.lz
nixlib-731b616fdbb7b3b0d753f5ac05926de33d17c177.tar.xz
nixlib-731b616fdbb7b3b0d753f5ac05926de33d17c177.tar.zst
nixlib-731b616fdbb7b3b0d753f5ac05926de33d17c177.zip
camlp4: fix for OCaml-4.03
-rw-r--r--pkgs/development/tools/ocaml/camlp4/4_03.nix42
-rw-r--r--pkgs/development/tools/ocaml/camlp4/default.nix21
-rw-r--r--pkgs/top-level/ocaml-packages.nix6
3 files changed, 16 insertions, 53 deletions
diff --git a/pkgs/development/tools/ocaml/camlp4/4_03.nix b/pkgs/development/tools/ocaml/camlp4/4_03.nix
deleted file mode 100644
index a92f2491e468..000000000000
--- a/pkgs/development/tools/ocaml/camlp4/4_03.nix
+++ /dev/null
@@ -1,42 +0,0 @@
-{stdenv, fetchzip, which, ocaml, ocamlbuild}:
-
-assert stdenv.lib.versionAtLeast ocaml.version "4.02";
-
-stdenv.mkDerivation {
-  name = "camlp4-${version}";
-  version = "4.03+1";
-
-  src = fetchzip {
-    url = "https://github.com/ocaml/camlp4/archive/${version}.tar.gz";
-    sha256 = "1f2ndch6f1m4fgnxsjb94qbpwjnjgdlya6pard44y6n0dqxi1wsq";
-  };
-
-  buildInputs = [ which ocaml ocamlbuild ];
-
-  dontAddPrefix = true;
-
-  preConfigure = ''
-    configureFlagsArray=(
-      --bindir=$out/bin
-      --libdir=$out/lib/ocaml/${ocaml.version}/site-lib
-      --pkgdir=$out/lib/ocaml/${ocaml.version}/site-lib
-    )
-  '';
-
-  postConfigure = ''
-    substituteInPlace camlp4/META.in \
-    --replace +camlp4 $out/lib/ocaml/${ocaml.version}/site-lib/camlp4
-  '';
-
-
-  makeFlags = "all";
-
-  installTargets = "install install-META";
-
-  meta = with stdenv.lib; {
-    description = "A software system for writing extensible parsers for programming languages";
-    homepage = https://github.com/ocaml/camlp4;
-    platforms = ocaml.meta.platforms or [];
-  };
-}
-
diff --git a/pkgs/development/tools/ocaml/camlp4/default.nix b/pkgs/development/tools/ocaml/camlp4/default.nix
index 145a3a2b54a9..1e1d2eb68eab 100644
--- a/pkgs/development/tools/ocaml/camlp4/default.nix
+++ b/pkgs/development/tools/ocaml/camlp4/default.nix
@@ -1,17 +1,25 @@
-{stdenv, fetchzip, which, ocaml}:
-
-assert stdenv.lib.versionAtLeast ocaml.version "4.02";
+{ stdenv, fetchzip, which, ocaml, ocamlbuild }:
+
+let param = {
+  "4.02.3" = {
+     version = "4.02+6";
+     sha256 = "06yl4q0qazl7g25b0axd1gdkfd4qpqzs1gr5fkvmkrcbz113h1hj"; };
+  "4.03.0" = {
+     version = "4.03+1";
+     sha256 = "1f2ndch6f1m4fgnxsjb94qbpwjnjgdlya6pard44y6n0dqxi1wsq"; };
+  }."${ocaml.version}";
+in
 
 stdenv.mkDerivation rec {
   name = "camlp4-${version}";
-  version = "4.02+6";
+  inherit (param) version;
 
   src = fetchzip {
     url = "https://github.com/ocaml/camlp4/archive/${version}.tar.gz";
-    sha256 = "06yl4q0qazl7g25b0axd1gdkfd4qpqzs1gr5fkvmkrcbz113h1hj";
+    inherit (param) sha256;
   };
 
-  buildInputs = [ which ocaml ];
+  buildInputs = [ which ocaml ocamlbuild ];
 
   dontAddPrefix = true;
 
@@ -28,7 +36,6 @@ stdenv.mkDerivation rec {
     --replace +camlp4 $out/lib/ocaml/${ocaml.version}/site-lib/camlp4
   '';
 
-
   makeFlags = "all";
 
   installTargets = "install install-META";
diff --git a/pkgs/top-level/ocaml-packages.nix b/pkgs/top-level/ocaml-packages.nix
index 9a3167f4cdd8..bda35e9383f0 100644
--- a/pkgs/top-level/ocaml-packages.nix
+++ b/pkgs/top-level/ocaml-packages.nix
@@ -58,9 +58,7 @@ let
     camlidl = callPackage ../development/tools/ocaml/camlidl { };
 
     camlp4 =
-      if lib.versionOlder "4.03" ocaml.version
-      then callPackage ../development/tools/ocaml/camlp4/4_03.nix { }
-      else if lib.versionOlder "4.02" ocaml.version
+      if lib.versionOlder "4.02" ocaml.version
       then callPackage ../development/tools/ocaml/camlp4 { }
       else null;
 
@@ -707,7 +705,7 @@ in rec
 
   ocamlPackages_4_02 = mkOcamlPackages (callPackage ../development/compilers/ocaml/4.02.nix { }) (self: super: { });
 
-  ocamlPackages_4_03 = mkOcamlPackages (callPackage ../development/compilers/ocaml/4.02.nix { }) (self: super: { });
+  ocamlPackages_4_03 = mkOcamlPackages (callPackage ../development/compilers/ocaml/4.03.nix { }) (self: super: { });
 
   ocamlPackages_latest = ocamlPackages_4_03;