diff options
Diffstat (limited to 'pkgs/development/compilers/ocaml/4.01.0.nix')
-rw-r--r-- | pkgs/development/compilers/ocaml/4.01.0.nix | 23 |
1 files changed, 18 insertions, 5 deletions
diff --git a/pkgs/development/compilers/ocaml/4.01.0.nix b/pkgs/development/compilers/ocaml/4.01.0.nix index c11bb7536be..0f68014fad6 100644 --- a/pkgs/development/compilers/ocaml/4.01.0.nix +++ b/pkgs/development/compilers/ocaml/4.01.0.nix @@ -1,13 +1,24 @@ -{ stdenv, fetchurl, ncurses, x11 }: +let + safeX11 = stdenv: !(stdenv.isArm || stdenv.isMips); +in + +{ stdenv, fetchurl, ncurses, buildEnv, libX11, xproto, useX11 ? safeX11 stdenv }: + +if useX11 && !(safeX11 stdenv) + then throw "x11 not available in ocaml with arm or mips arch" + else # let the indentation flow let - useX11 = !stdenv.isArm && !stdenv.isMips; useNativeCompilers = !stdenv.isMips; inherit (stdenv.lib) optionals optionalString; in stdenv.mkDerivation rec { + x11env = buildEnv { name = "x11env"; paths = [libX11 xproto]; }; + x11lib = x11env + "/lib"; + x11inc = x11env + "/include"; + name = "ocaml-4.01.0"; src = fetchurl { @@ -16,9 +27,11 @@ stdenv.mkDerivation rec { }; prefixKey = "-prefix "; - configureFlags = ["-no-tk"] ++ optionals useX11 [ "-x11lib" x11 ]; + configureFlags = ["-no-tk"] ++ optionals useX11 [ "-x11lib" x11lib + "-x11include" x11inc ]; + buildFlags = "world" + optionalString useNativeCompilers " bootstrap world.opt"; - buildInputs = [ncurses] ++ optionals useX11 [ x11 ]; + buildInputs = [ncurses] ++ optionals useX11 [ libX11 xproto ]; installTargets = "install" + optionalString useNativeCompilers " installopt"; preConfigure = '' CAT=$(type -tp cat) @@ -35,7 +48,7 @@ stdenv.mkDerivation rec { meta = { homepage = http://caml.inria.fr/ocaml; - licenses = [ "QPL" /* compiler */ "LGPLv2" /* library */ ]; + license = [ "QPL" /* compiler */ "LGPLv2" /* library */ ]; description = "OCaml, the most popular variant of the Caml language"; longDescription = |