ocaml: add spacetime support
This commit is contained in:
parent
12d265b081
commit
bddabe58fe
|
@ -10,20 +10,22 @@ let
|
||||||
safeX11 = stdenv: !(stdenv.isAarch32 || stdenv.isMips);
|
safeX11 = stdenv: !(stdenv.isAarch32 || stdenv.isMips);
|
||||||
in
|
in
|
||||||
|
|
||||||
{ stdenv, fetchurl, ncurses, buildEnv
|
{ stdenv, fetchurl, ncurses, buildEnv, libunwind
|
||||||
, libX11, xorgproto, useX11 ? safeX11 stdenv && !stdenv.lib.versionAtLeast version "4.09"
|
, libX11, xorgproto, useX11 ? safeX11 stdenv && !stdenv.lib.versionAtLeast version "4.09"
|
||||||
, aflSupport ? false
|
, aflSupport ? false
|
||||||
, flambdaSupport ? false
|
, flambdaSupport ? false
|
||||||
|
, spaceTimeSupport ? false
|
||||||
}:
|
}:
|
||||||
|
|
||||||
assert useX11 -> !stdenv.isAarch32 && !stdenv.isMips;
|
assert useX11 -> !stdenv.isAarch32 && !stdenv.isMips;
|
||||||
assert aflSupport -> stdenv.lib.versionAtLeast version "4.05";
|
assert aflSupport -> stdenv.lib.versionAtLeast version "4.05";
|
||||||
assert flambdaSupport -> stdenv.lib.versionAtLeast version "4.03";
|
assert flambdaSupport -> stdenv.lib.versionAtLeast version "4.03";
|
||||||
|
assert spaceTimeSupport -> stdenv.lib.versionAtLeast version "4.04";
|
||||||
|
|
||||||
let
|
let
|
||||||
useNativeCompilers = !stdenv.isMips;
|
useNativeCompilers = !stdenv.isMips;
|
||||||
inherit (stdenv.lib) optional optionals optionalString;
|
inherit (stdenv.lib) optional optionals optionalString;
|
||||||
name = "ocaml${optionalString aflSupport "+afl"}${optionalString flambdaSupport "+flambda"}-${version}";
|
name = "ocaml${optionalString aflSupport "+afl"}${optionalString spaceTimeSupport "+spacetime"}${optionalString flambdaSupport "+flambda"}-${version}";
|
||||||
in
|
in
|
||||||
|
|
||||||
let
|
let
|
||||||
|
@ -53,11 +55,13 @@ stdenv.mkDerivation (args // {
|
||||||
[ "-x11lib" x11lib "-x11include" x11inc ])
|
[ "-x11lib" x11lib "-x11include" x11inc ])
|
||||||
++ optional aflSupport (flags "--with-afl" "-afl-instrument")
|
++ optional aflSupport (flags "--with-afl" "-afl-instrument")
|
||||||
++ optional flambdaSupport (flags "--enable-flambda" "-flambda")
|
++ optional flambdaSupport (flags "--enable-flambda" "-flambda")
|
||||||
|
++ optional spaceTimeSupport (flags "--enable-spacetime" "-spacetime")
|
||||||
;
|
;
|
||||||
|
|
||||||
buildFlags = [ "world" ] ++ optionals useNativeCompilers [ "bootstrap" "world.opt" ];
|
buildFlags = [ "world" ] ++ optionals useNativeCompilers [ "bootstrap" "world.opt" ];
|
||||||
buildInputs = optional (!stdenv.lib.versionAtLeast version "4.07") ncurses
|
buildInputs = optional (!stdenv.lib.versionAtLeast version "4.07") ncurses
|
||||||
++ optionals useX11 [ libX11 xorgproto ];
|
++ optionals useX11 [ libX11 xorgproto ];
|
||||||
|
propagatedBuildInputs = optional spaceTimeSupport libunwind;
|
||||||
installTargets = [ "install" ] ++ optional useNativeCompilers "installopt";
|
installTargets = [ "install" ] ++ optional useNativeCompilers "installopt";
|
||||||
preConfigure = optionalString (!stdenv.lib.versionAtLeast version "4.04") ''
|
preConfigure = optionalString (!stdenv.lib.versionAtLeast version "4.04") ''
|
||||||
CAT=$(type -tp cat)
|
CAT=$(type -tp cat)
|
||||||
|
|
Loading…
Reference in a new issue