ocamlPackages.camlp5: 7.14 → 8.00.05
This commit is contained in:
parent
7e5ada58a9
commit
032f6c6f93
@ -1,31 +1,57 @@
|
||||
{ lib, stdenv, fetchFromGitHub, ocaml, perl }:
|
||||
{ lib, stdenv, fetchFromGitHub, ocaml, findlib, perl, makeWrapper
|
||||
, rresult, bos, ocaml_pcre, re, camlp-streams
|
||||
}:
|
||||
|
||||
if lib.versionOlder ocaml.version "4.02"
|
||||
|| lib.versionOlder "4.13" ocaml.version
|
||||
then throw "camlp5 is not available for OCaml ${ocaml.version}"
|
||||
else
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
let params =
|
||||
if lib.versionAtLeast ocaml.version "4.12"
|
||||
then rec {
|
||||
version = "8.00.05";
|
||||
|
||||
pname = "camlp5";
|
||||
version = "7.14";
|
||||
src = fetchFromGitHub {
|
||||
owner = "camlp5";
|
||||
repo = "camlp5";
|
||||
rev = version;
|
||||
hash = "sha256-Havr3RB6iUP7QzV+LUGwMHtGzmRdS5RqYsqJ0N5w6gE=";
|
||||
};
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "camlp5";
|
||||
repo = "camlp5";
|
||||
rev = "rel${builtins.replaceStrings [ "." ] [ "" ] version}";
|
||||
sha256 = "1dd68bisbpqn5lq2pslm582hxglcxnbkgfkwhdz67z4w9d5nvr7w";
|
||||
};
|
||||
nativeBuildInputs = [ makeWrapper ocaml findlib perl ];
|
||||
buildInputs = [ bos ocaml_pcre re rresult ];
|
||||
propagatedBuildInputs = [ camlp-streams ];
|
||||
|
||||
postFixup = ''
|
||||
for p in camlp5 camlp5o camlp5r camlp5sch mkcamlp5 ocpp5
|
||||
do
|
||||
wrapProgram $out/bin/$p \
|
||||
--suffix CAML_LD_LIBRARY_PATH : ${ocaml_pcre}/lib/ocaml/${ocaml.version}/site-lib/stublibs
|
||||
done
|
||||
'';
|
||||
} else rec {
|
||||
version = "7.14";
|
||||
src = fetchFromGitHub {
|
||||
owner = "camlp5";
|
||||
repo = "camlp5";
|
||||
rev = "rel${builtins.replaceStrings [ "." ] [ "" ] version}";
|
||||
sha256 = "1dd68bisbpqn5lq2pslm582hxglcxnbkgfkwhdz67z4w9d5nvr7w";
|
||||
};
|
||||
nativeBuildInputs = [ ocaml perl ];
|
||||
}
|
||||
; in
|
||||
|
||||
stdenv.mkDerivation (params // {
|
||||
|
||||
pname = "ocaml${ocaml.version}-camlp5";
|
||||
|
||||
strictDeps = true;
|
||||
|
||||
nativeBuildInputs = [ ocaml perl ];
|
||||
|
||||
prefixKey = "-prefix ";
|
||||
|
||||
preConfigure = ''
|
||||
configureFlagsArray=(--strict --libdir $out/lib/ocaml/${ocaml.version}/site-lib)
|
||||
patchShebangs ./config/find_stuffversion.pl
|
||||
patchShebangs ./config/find_stuffversion.pl etc/META.pl
|
||||
'';
|
||||
|
||||
buildFlags = [ "world.opt" ];
|
||||
@ -45,4 +71,4 @@ stdenv.mkDerivation rec {
|
||||
maggesi vbgl
|
||||
];
|
||||
};
|
||||
}
|
||||
})
|
||||
|
Loading…
Reference in New Issue
Block a user