mirror of
https://github.com/NixOS/nixpkgs.git
synced 2024-11-16 14:54:29 +01:00
Merge pull request #93347 from symphorien/spacetime
Ocaml spacetime support
This commit is contained in:
commit
1fe7fee592
2 changed files with 11 additions and 2 deletions
|
@ -10,20 +10,22 @@ let
|
|||
safeX11 = stdenv: !(stdenv.isAarch32 || stdenv.isMips);
|
||||
in
|
||||
|
||||
{ stdenv, fetchurl, ncurses, buildEnv
|
||||
{ stdenv, fetchurl, ncurses, buildEnv, libunwind
|
||||
, libX11, xorgproto, useX11 ? safeX11 stdenv && !stdenv.lib.versionAtLeast version "4.09"
|
||||
, aflSupport ? false
|
||||
, flambdaSupport ? false
|
||||
, spaceTimeSupport ? false
|
||||
}:
|
||||
|
||||
assert useX11 -> !stdenv.isAarch32 && !stdenv.isMips;
|
||||
assert aflSupport -> stdenv.lib.versionAtLeast version "4.05";
|
||||
assert flambdaSupport -> stdenv.lib.versionAtLeast version "4.03";
|
||||
assert spaceTimeSupport -> stdenv.lib.versionAtLeast version "4.04";
|
||||
|
||||
let
|
||||
useNativeCompilers = !stdenv.isMips;
|
||||
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
|
||||
|
||||
let
|
||||
|
@ -53,11 +55,13 @@ stdenv.mkDerivation (args // {
|
|||
[ "-x11lib" x11lib "-x11include" x11inc ])
|
||||
++ optional aflSupport (flags "--with-afl" "-afl-instrument")
|
||||
++ optional flambdaSupport (flags "--enable-flambda" "-flambda")
|
||||
++ optional spaceTimeSupport (flags "--enable-spacetime" "-spacetime")
|
||||
;
|
||||
|
||||
buildFlags = [ "world" ] ++ optionals useNativeCompilers [ "bootstrap" "world.opt" ];
|
||||
buildInputs = optional (!stdenv.lib.versionAtLeast version "4.07") ncurses
|
||||
++ optionals useX11 [ libX11 xorgproto ];
|
||||
propagatedBuildInputs = optional spaceTimeSupport libunwind;
|
||||
installTargets = [ "install" ] ++ optional useNativeCompilers "installopt";
|
||||
preConfigure = optionalString (!stdenv.lib.versionAtLeast version "4.04") ''
|
||||
CAT=$(type -tp cat)
|
||||
|
|
|
@ -43,6 +43,11 @@ stdenv.mkDerivation rec {
|
|||
dontAddPrefix = true;
|
||||
|
||||
preConfigure = ''
|
||||
# increase stack space for spacetime variant of the compiler
|
||||
# https://github.com/ocaml/ocaml/issues/7435
|
||||
# but disallowed by darwin sandbox
|
||||
ulimit -s unlimited || true
|
||||
|
||||
configureFlagsArray=(
|
||||
--bindir=$out/bin
|
||||
--libdir=$out/lib/ocaml/${ocaml.version}/site-lib
|
||||
|
|
Loading…
Reference in a new issue