diff options
Diffstat (limited to 'pkgs/development/interpreters')
18 files changed, 98 insertions, 64 deletions
diff --git a/pkgs/development/interpreters/elixir/default.nix b/pkgs/development/interpreters/elixir/default.nix index a9854c7c4934..f71b557bc25d 100644 --- a/pkgs/development/interpreters/elixir/default.nix +++ b/pkgs/development/interpreters/elixir/default.nix @@ -33,7 +33,7 @@ stdenv.mkDerivation rec { b=$(basename $f) if [ $b == "mix" ]; then continue; fi wrapProgram $f \ - --prefix PATH ":" "${erlang}/bin:${coreutils}/bin:${curl}/bin:${bash}/bin" \ + --prefix PATH ":" "${erlang}/bin:${coreutils}/bin:${curl.bin}/bin:${bash}/bin" \ --set CURL_CA_BUNDLE /etc/ssl/certs/ca-certificates.crt done diff --git a/pkgs/development/interpreters/guile/default.nix b/pkgs/development/interpreters/guile/default.nix index 5e2883f9fb3c..847ae2997b85 100644 --- a/pkgs/development/interpreters/guile/default.nix +++ b/pkgs/development/interpreters/guile/default.nix @@ -51,7 +51,7 @@ sed -i "$out/lib/pkgconfig/guile-2.0.pc" \ -e 's|-lunistring|-L${libunistring}/lib -lunistring|g ; s|^Cflags:\(.*\)$|Cflags: -I${libunistring}/include \1|g ; - s|-lltdl|-L${libtool}/lib -lltdl|g' + s|-lltdl|-L${libtool.lib}/lib -lltdl|g' ''; # make check doesn't work on darwin diff --git a/pkgs/development/interpreters/love/0.8.nix b/pkgs/development/interpreters/love/0.8.nix index fc1f01cb3730..b12c2c405780 100644 --- a/pkgs/development/interpreters/love/0.8.nix +++ b/pkgs/development/interpreters/love/0.8.nix @@ -36,7 +36,7 @@ stdenv.mkDerivation rec { ''; NIX_CFLAGS_COMPILE = '' - -I${SDL}/include/SDL + -I${SDL.dev}/include/SDL -I${freetype}include/freetype2 ''; diff --git a/pkgs/development/interpreters/lua-5/expat.nix b/pkgs/development/interpreters/lua-5/expat.nix index 0dbbaf8a1614..243abae331a6 100644 --- a/pkgs/development/interpreters/lua-5/expat.nix +++ b/pkgs/development/interpreters/lua-5/expat.nix @@ -15,7 +15,7 @@ stdenv.mkDerivation rec { makeFlagsArray=( LUA_LDIR="$out/share/lua/${lua5.luaversion}" LUA_INC="-I${lua5}/include" LUA_CDIR="$out/lib/lua/${lua5.luaversion}" - EXPAT_INC="-I${expat}/include"); + EXPAT_INC="-I${expat.dev}/include"); ''; meta = { diff --git a/pkgs/development/interpreters/luajit/default.nix b/pkgs/development/interpreters/luajit/default.nix index 8b5da0528523..23ea2fd65528 100644 --- a/pkgs/development/interpreters/luajit/default.nix +++ b/pkgs/development/interpreters/luajit/default.nix @@ -20,7 +20,7 @@ stdenv.mkDerivation rec { '' + stdenv.lib.optionalString (stdenv.cc.libc != null) '' substituteInPlace Makefile \ - --replace ldconfig ${stdenv.cc.libc}/sbin/ldconfig + --replace ldconfig ${stdenv.cc.libc.bin or stdenv.cc.libc}/bin/ldconfig ''; configurePhase = false; diff --git a/pkgs/development/interpreters/perl/default.nix b/pkgs/development/interpreters/perl/default.nix index 1a92f3aa0072..f8565b9637a5 100644 --- a/pkgs/development/interpreters/perl/default.nix +++ b/pkgs/development/interpreters/perl/default.nix @@ -17,7 +17,8 @@ assert enableThreading -> (stdenv ? glibc); let libc = if stdenv.cc.libc or null != null then stdenv.cc.libc else "/usr"; - + libcInc = libc.dev or libc; + libcLib = libc.out or libc; common = { version, sha256 }: stdenv.mkDerivation rec { name = "perl-${version}"; @@ -26,7 +27,9 @@ let inherit sha256; }; - outputs = [ "out" "man" ]; + # TODO: Add a "dev" output containing the header files. + outputs = [ "out" "man" "docdev" ]; + setOutputFlags = false; patches = [ # Do not look in /usr etc. for dependencies. @@ -35,17 +38,11 @@ let ++ optional stdenv.isSunOS ./ld-shared.patch ++ optional stdenv.isDarwin [ ./cpp-precomp.patch ]; - # There's an annoying bug on sandboxed Darwin in Perl's Cwd.pm where it looks for pwd - # in /bin/pwd and /usr/bin/pwd and then falls back on just "pwd" if it can't get them - # while at the same time erasing the PATH environment variable so it unconditionally - # fails. The code in question is guarded by a check for Mac OS, but the patch below - # doesn't have any runtime effect on other platforms. - postPatch = optional stdenv.isDarwin '' + postPatch = '' pwd="$(type -P pwd)" substituteInPlace dist/PathTools/Cwd.pm \ --replace "/bin/pwd" "$pwd" ''; - sandboxProfile = sandbox.allow "ipc-sysv-sem"; # Build a thread-safe Perl with a dynamic libperls.o. We need the @@ -59,8 +56,8 @@ let "-Uinstallusrbinperl" "-Dinstallstyle=lib/perl5" "-Duseshrplib" - "-Dlocincpth=${libc}/include" - "-Dloclibpth=${libc}/lib" + "-Dlocincpth=${libcInc}/include" + "-Dloclibpth=${libcLib}/lib" ] ++ optional stdenv.isSunOS "-Dcc=gcc" ++ optional enableThreading "-Dusethreads"; @@ -74,10 +71,8 @@ let preConfigure = '' configureFlags="$configureFlags -Dprefix=$out -Dman1dir=$out/share/man/man1 -Dman3dir=$out/share/man/man3" - - ${optionalString stdenv.isArm '' - configureFlagsArray=(-Dldflags="-lm -lrt") - ''} + '' + optionalString stdenv.isArm '' + configureFlagsArray=(-Dldflags="-lm -lrt") '' + optionalString stdenv.isDarwin '' substituteInPlace hints/darwin.sh --replace "env MACOSX_DEPLOYMENT_TARGET=10.3" "" '' + optionalString (!enableThreading) '' @@ -91,18 +86,26 @@ let substituteInPlace dist/PathTools/Cwd.pm --replace "'/bin/pwd'" "'$(type -tP pwd)'" ''; - # Inspired by nuke-references, which I can't depend on because it uses perl. Perhaps it should just use sed :) - postInstall = '' - self=$(echo $out | sed -n "s|^$NIX_STORE/\\([a-z0-9]\{32\}\\)-.*|\1|p") - - sed -i "/$self/b; s|$NIX_STORE/[a-z0-9]\{32\}-|$NIX_STORE/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee-|g" "$out"/lib/perl5/*/*/Config.pm - sed -i "/$self/b; s|$NIX_STORE/[a-z0-9]\{32\}-|$NIX_STORE/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee-|g" "$out"/lib/perl5/*/*/Config_heavy.pl - ''; - setupHook = ./setup-hook.sh; passthru.libPrefix = "lib/perl5/site_perl"; + # TODO: it seems like absolute paths to some coreutils is required. + postInstall = + '' + # Remove dependency between "out" and "man" outputs. + rm "$out"/lib/perl5/*/*/.packlist + + # Remove dependencies on glibc and gcc + sed "/ *libpth =>/c libpth => ' '," \ + -i "$out"/lib/perl5/*/*/Config.pm + # TODO: removing those paths would be cleaner than overwriting with nonsense. + substituteInPlace "$out"/lib/perl5/*/*/Config_heavy.pl \ + --replace "${libcInc}" /no-such-path \ + --replace "${stdenv.cc.cc or "/no-such-path"}" /no-such-path \ + --replace "$man" /no-such-path + ''; # */ + meta = { homepage = https://www.perl.org/; description = "The standard implementation of the Perl 5 programmming language"; diff --git a/pkgs/development/interpreters/php/default.nix b/pkgs/development/interpreters/php/default.nix index fc8041b597b4..038ad9bc3974 100644 --- a/pkgs/development/interpreters/php/default.nix +++ b/pkgs/development/interpreters/php/default.nix @@ -30,7 +30,7 @@ let # SAPI modules: apxs2 = { - configureFlags = ["--with-apxs2=${apacheHttpd}/bin/apxs"]; + configureFlags = ["--with-apxs2=${apacheHttpd.dev}/bin/apxs"]; buildInputs = [apacheHttpd]; }; @@ -44,7 +44,13 @@ let }; ldap = { - configureFlags = ["--with-ldap=${openldap}"]; + configureFlags = [ + "--with-ldap" + "LDAP_DIR=${openldap.dev}" + "LDAP_INCDIR=${openldap.dev}/include" + "LDAP_LIBDIR=${openldap.out}/lib" + "--with-ldap-sasl=${cyrus_sasl.dev}" + ]; buildInputs = [openldap cyrus_sasl openssl]; }; @@ -69,7 +75,7 @@ let libxml2 = { configureFlags = [ - "--with-libxml-dir=${libxml2}" + "--with-libxml-dir=${libxml2.dev}" ]; buildInputs = [ libxml2 ]; }; @@ -148,7 +154,7 @@ let }; openssl = { - configureFlags = ["--with-openssl=${openssl}"]; + configureFlags = ["--enable-openssl"]; buildInputs = [openssl]; }; diff --git a/pkgs/development/interpreters/pypy/default.nix b/pkgs/development/interpreters/pypy/default.nix index 8abc1ac489cd..095e0b7db08e 100644 --- a/pkgs/development/interpreters/pypy/default.nix +++ b/pkgs/development/interpreters/pypy/default.nix @@ -25,17 +25,17 @@ let ++ stdenv.lib.optional (stdenv ? cc && stdenv.cc.libc != null) stdenv.cc.libc ++ stdenv.lib.optional zlibSupport zlib; - C_INCLUDE_PATH = stdenv.lib.concatStringsSep ":" (map (p: "${p}/include") buildInputs); - LIBRARY_PATH = stdenv.lib.concatStringsSep ":" (map (p: "${p}/lib") buildInputs); - LD_LIBRARY_PATH = stdenv.lib.concatStringsSep ":" (map (p: "${p}/lib") + C_INCLUDE_PATH = stdenv.lib.concatStringsSep ":" (map (p: "${p.dev or p}/include") buildInputs); + LIBRARY_PATH = stdenv.lib.concatStringsSep ":" (map (p: "${p.lib or p.out or p}/lib") buildInputs); + LD_LIBRARY_PATH = stdenv.lib.concatStringsSep ":" (map (p: "${p.lib or p.out or p}/lib") (stdenv.lib.filter (x : x.outPath != stdenv.cc.libc.outPath or "") buildInputs)); preConfigure = '' # hint pypy to find nix ncurses substituteInPlace pypy/module/_minimal_curses/fficurses.py \ - --replace "/usr/include/ncurses/curses.h" "${ncurses}/include/curses.h" \ - --replace "ncurses/curses.h" "${ncurses}/include/curses.h" \ - --replace "ncurses/term.h" "${ncurses}/include/term.h" \ + --replace "/usr/include/ncurses/curses.h" "${ncurses.dev}/include/curses.h" \ + --replace "ncurses/curses.h" "${ncurses.dev}/include/curses.h" \ + --replace "ncurses/term.h" "${ncurses.dev}/include/term.h" \ --replace "libraries=['curses']" "libraries=['ncurses']" # tkinter hints @@ -44,7 +44,7 @@ let --replace "linklibs = ['tcl' + _ver, 'tk' + _ver]" "linklibs=['${tcl.libPrefix}', '${tk.libPrefix}']" \ --replace "libdirs = []" "libdirs = ['${tk}/lib', '${tcl}/lib']" - sed -i "s@libraries=\['sqlite3'\]\$@libraries=['sqlite3'], include_dirs=['${sqlite}/include'], library_dirs=['${sqlite}/lib']@" lib_pypy/_sqlite3_build.py + sed -i "s@libraries=\['sqlite3'\]\$@libraries=['sqlite3'], include_dirs=['${sqlite.dev}/include'], library_dirs=['${sqlite.out}/lib']@" lib_pypy/_sqlite3_build.py ''; buildPhase = '' @@ -66,7 +66,7 @@ let doCheck = true; checkPhase = '' - export TERMINFO="${ncurses}/share/terminfo/"; + export TERMINFO="${ncurses.out}/share/terminfo/"; export TERM="xterm"; export HOME="$TMPDIR"; # disable shutils because it assumes gid 0 exists diff --git a/pkgs/development/interpreters/python/2.6/default.nix b/pkgs/development/interpreters/python/2.6/default.nix index 32974778168b..96b44ddc17f3 100644 --- a/pkgs/development/interpreters/python/2.6/default.nix +++ b/pkgs/development/interpreters/python/2.6/default.nix @@ -52,6 +52,10 @@ let [ bzip2 openssl ]++ optionals includeModules [ db openssl ncurses gdbm readline xlibsWrapper tcl tk sqlite ] ++ optional zlibSupport zlib; + mkPaths = paths: { + C_INCLUDE_PATH = concatStringsSep ":" (map (p: "${p.dev or p}/include") paths); + LIBRARY_PATH = concatStringsSep ":" (map (p: "${p.lib or (p.out or p)}/lib") paths); + }; # Build the basic Python interpreter without modules that have # external dependencies. @@ -62,8 +66,7 @@ let inherit majorVersion version src patches buildInputs preConfigure configureFlags; - C_INCLUDE_PATH = concatStringsSep ":" (map (p: "${p}/include") buildInputs); - LIBRARY_PATH = concatStringsSep ":" (map (p: "${p}/lib") buildInputs); + inherit (mkPaths buildInputs) C_INCLUDE_PATH LIBRARY_PATH; NIX_CFLAGS_COMPILE = optionalString stdenv.isDarwin "-msse2"; @@ -83,9 +86,9 @@ let ln -s $out/lib/python${majorVersion}/pdb.py $out/bin/pdb${majorVersion} mv $out/share/man/man1/{python.1,python2.6.1} ln -s $out/share/man/man1/{python2.6.1,python.1} - + paxmark E $out/bin/python${majorVersion} - + ${ optionalString includeModules "$out/bin/python ./setup.py build_ext"} ''; @@ -139,8 +142,7 @@ let buildInputs = [ python ] ++ deps; - C_INCLUDE_PATH = concatStringsSep ":" (map (p: "${p}/include") buildInputs); - LIBRARY_PATH = concatStringsSep ":" (map (p: "${p}/lib") buildInputs); + inherit (mkPaths buildInputs) C_INCLUDE_PATH LIBRARY_PATH; buildPhase = '' diff --git a/pkgs/development/interpreters/python/2.7/default.nix b/pkgs/development/interpreters/python/2.7/default.nix index a2c059da0607..f1ae897ea4ac 100644 --- a/pkgs/development/interpreters/python/2.7/default.nix +++ b/pkgs/development/interpreters/python/2.7/default.nix @@ -101,6 +101,11 @@ let propagatedBuildInputs = optional stdenv.isDarwin configd; + mkPaths = paths: { + C_INCLUDE_PATH = concatStringsSep ":" (map (p: "${p.dev or p}/include") paths); + LIBRARY_PATH = concatStringsSep ":" (map (p: "${p.lib or (p.out or p)}/lib") paths); + }; + # Build the basic Python interpreter without modules that have # external dependencies. python = stdenv.mkDerivation { @@ -111,8 +116,7 @@ let preConfigure configureFlags; LDFLAGS = stdenv.lib.optionalString (!stdenv.isDarwin) "-lgcc_s"; - C_INCLUDE_PATH = concatStringsSep ":" (map (p: "${p}/include") buildInputs); - LIBRARY_PATH = concatStringsSep ":" (map (p: "${p}/lib") buildInputs); + inherit (mkPaths buildInputs) C_INCLUDE_PATH LIBRARY_PATH; NIX_CFLAGS_COMPILE = optionalString stdenv.isDarwin "-msse2"; DETERMINISTIC_BUILD = 1; @@ -137,7 +141,9 @@ let paxmark E $out/bin/python${majorVersion} - ${ optionalString includeModules "$out/bin/python ./setup.py build_ext"} + ${optionalString includeModules "$out/bin/python ./setup.py build_ext"} + + rm "$out"/lib/python*/plat-*/regen # refers to glibc.dev ''; passthru = rec { @@ -186,8 +192,7 @@ let buildInputs = [ python ] ++ deps; - C_INCLUDE_PATH = concatStringsSep ":" (map (p: "${p}/include") buildInputs); - LIBRARY_PATH = concatStringsSep ":" (map (p: "${p}/lib") buildInputs); + inherit (mkPaths buildInputs) C_INCLUDE_PATH LIBRARY_PATH; # non-python gdbm has a libintl dependency on i686-cygwin, not on x86_64-cygwin buildPhase = (if (stdenv.system == "i686-cygwin" && moduleName == "gdbm") then '' diff --git a/pkgs/development/interpreters/python/3.2/default.nix b/pkgs/development/interpreters/python/3.2/default.nix index f4103662316e..c0b5d3401ddd 100644 --- a/pkgs/development/interpreters/python/3.2/default.nix +++ b/pkgs/development/interpreters/python/3.2/default.nix @@ -44,8 +44,8 @@ stdenv.mkDerivation { ${optionalString stdenv.isDarwin ''export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -msse2"''} configureFlagsArray=( --enable-shared --with-threads --with-wide-unicode - CPPFLAGS="${concatStringsSep " " (map (p: "-I${p}/include") buildInputs)}" - LDFLAGS="${concatStringsSep " " (map (p: "-L${p}/lib") buildInputs)}" + CPPFLAGS="${concatStringsSep " " (map (p: "-I${p.dev or p}/include") buildInputs)}" + LDFLAGS="${concatStringsSep " " (map (p: "-L${p.lib or (p.out or p)}/lib") buildInputs)}" LIBS="${optionalString (!stdenv.isDarwin) "-lcrypt"} ${optionalString (ncurses != null) "-lncurses"}" ) ''; diff --git a/pkgs/development/interpreters/python/3.3/default.nix b/pkgs/development/interpreters/python/3.3/default.nix index a8953f38245a..a46ef7c056b2 100644 --- a/pkgs/development/interpreters/python/3.3/default.nix +++ b/pkgs/development/interpreters/python/3.3/default.nix @@ -46,8 +46,8 @@ stdenv.mkDerivation { ${optionalString stdenv.isDarwin ''export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -msse2"''} configureFlagsArray=( --enable-shared --with-threads - CPPFLAGS="${concatStringsSep " " (map (p: "-I${p}/include") buildInputs)}" - LDFLAGS="${concatStringsSep " " (map (p: "-L${p}/lib") buildInputs)}" + CPPFLAGS="${concatStringsSep " " (map (p: "-I${p.dev or p}/include") buildInputs)}" + LDFLAGS="${concatStringsSep " " (map (p: "-L${p.lib or (p.out or p)}/lib") buildInputs)}" LIBS="${optionalString (!stdenv.isDarwin) "-lcrypt"} ${optionalString (ncurses != null) "-lncurses"}" ) ''; diff --git a/pkgs/development/interpreters/python/3.4/default.nix b/pkgs/development/interpreters/python/3.4/default.nix index ecada35a26e8..8d87c6abfbb4 100644 --- a/pkgs/development/interpreters/python/3.4/default.nix +++ b/pkgs/development/interpreters/python/3.4/default.nix @@ -58,8 +58,8 @@ stdenv.mkDerivation { ''} configureFlagsArray=( --enable-shared --with-threads - CPPFLAGS="${concatStringsSep " " (map (p: "-I${p}/include") buildInputs)}" - LDFLAGS="${concatStringsSep " " (map (p: "-L${p}/lib") buildInputs)}" + CPPFLAGS="${concatStringsSep " " (map (p: "-I${p.dev or p}/include") buildInputs)}" + LDFLAGS="${concatStringsSep " " (map (p: "-L${p.lib or (p.out or p)}/lib") buildInputs)}" LIBS="${optionalString (!stdenv.isDarwin) "-lcrypt"} ${optionalString (ncurses != null) "-lncurses"}" ) ''; diff --git a/pkgs/development/interpreters/python/3.5/default.nix b/pkgs/development/interpreters/python/3.5/default.nix index 0f4b6e744aca..4bc39f4c2b3a 100644 --- a/pkgs/development/interpreters/python/3.5/default.nix +++ b/pkgs/development/interpreters/python/3.5/default.nix @@ -58,8 +58,8 @@ stdenv.mkDerivation { ''} configureFlagsArray=( --enable-shared --with-threads - CPPFLAGS="${concatStringsSep " " (map (p: "-I${p}/include") buildInputs)}" - LDFLAGS="${concatStringsSep " " (map (p: "-L${p}/lib") buildInputs)}" + CPPFLAGS="${concatStringsSep " " (map (p: "-I${p.dev or p}/include") buildInputs)}" + LDFLAGS="${concatStringsSep " " (map (p: "-L${p.lib or (p.out or p)}/lib") buildInputs)}" LIBS="${optionalString (!stdenv.isDarwin) "-lcrypt"} ${optionalString (ncurses != null) "-lncurses"}" ) ''; diff --git a/pkgs/development/interpreters/spidermonkey/1.8.0-rc1.nix b/pkgs/development/interpreters/spidermonkey/1.8.0-rc1.nix index ecaed5077121..99f66199d939 100644 --- a/pkgs/development/interpreters/spidermonkey/1.8.0-rc1.nix +++ b/pkgs/development/interpreters/spidermonkey/1.8.0-rc1.nix @@ -23,7 +23,7 @@ stdenv.mkDerivation rec { ''; preConfigure = '' - export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -I${nspr}/include/nspr" + export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -I${nspr.dev}/include/nspr" ''; makeFlags = "-f ${makefile} JS_DIST=\${out} BUILD_OPT=1 JS_READLINE=1 JS_THREADSAFE=1"; diff --git a/pkgs/development/interpreters/spidermonkey/17.0.nix b/pkgs/development/interpreters/spidermonkey/17.0.nix index 7573b546164b..5cc71b59d512 100644 --- a/pkgs/development/interpreters/spidermonkey/17.0.nix +++ b/pkgs/development/interpreters/spidermonkey/17.0.nix @@ -9,6 +9,8 @@ stdenv.mkDerivation rec { sha256 = "1fig2wf4f10v43mqx67y68z6h77sy900d1w0pz9qarrqx57rc7ij"; }; + outputs = [ "dev" "out" "lib" ]; + propagatedBuildInputs = [ nspr ]; buildInputs = [ pkgconfig perl python zip libffi readline ]; @@ -21,11 +23,14 @@ stdenv.mkDerivation rec { ''; preConfigure = '' - export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -I${nspr}/include/nspr" + export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -I${nspr.dev}/include/nspr" export LIBXUL_DIST=$out ''; + setOutputFlags = false; configureFlags = [ + "--libdir=$(lib)/lib" + "--includedir=$(dev)/include" "--enable-threadsafe" "--with-system-nspr" "--with-system-ffi" @@ -49,7 +54,10 @@ stdenv.mkDerivation rec { paxmark mr jsapi-tests/jsapi-tests ''; - postInstall = ''rm "$out"/lib/*.a''; # halve the output size + postInstall = '' + rm "$lib"/lib/*.a # halve the output size + moveToOutput "bin/js*-config" "$dev" # break the cycle + ''; meta = with stdenv.lib; { description = "Mozilla's JavaScript engine written in C/C++"; diff --git a/pkgs/development/interpreters/spidermonkey/185-1.0.0.nix b/pkgs/development/interpreters/spidermonkey/185-1.0.0.nix index a036388f15ee..94f070d1a91d 100644 --- a/pkgs/development/interpreters/spidermonkey/185-1.0.0.nix +++ b/pkgs/development/interpreters/spidermonkey/185-1.0.0.nix @@ -16,7 +16,7 @@ stdenv.mkDerivation rec { postUnpack = "sourceRoot=\${sourceRoot}/js/src"; preConfigure = '' - export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -I${nspr}/include/nspr" + export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -I${nspr.dev}/include/nspr" export LIBXUL_DIST=$out ''; diff --git a/pkgs/development/interpreters/spidermonkey/24.2.nix b/pkgs/development/interpreters/spidermonkey/24.2.nix index 3a9bd8ad7a46..5c4fc8508155 100644 --- a/pkgs/development/interpreters/spidermonkey/24.2.nix +++ b/pkgs/development/interpreters/spidermonkey/24.2.nix @@ -9,6 +9,8 @@ stdenv.mkDerivation rec { sha256 = "1n1phk8r3l8icqrrap4czplnylawa0ddc2cc4cgdz46x3lrkybz6"; }; + outputs = [ "dev" "out" "lib" ]; + propagatedBuildInputs = [ nspr ]; buildInputs = [ pkgconfig perl python zip libffi readline ]; @@ -21,11 +23,14 @@ stdenv.mkDerivation rec { postUnpack = "sourceRoot=\${sourceRoot}/js/src"; preConfigure = '' - export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -I${nspr}/include/nspr" + export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -I${nspr.dev}/include/nspr" export LIBXUL_DIST=$out ''; + setOutputFlags = false; configureFlags = [ + "--libdir=$(lib)/lib" + "--includedir=$(dev)/include" "--enable-threadsafe" "--with-system-nspr" "--with-system-ffi" @@ -40,6 +45,11 @@ stdenv.mkDerivation rec { doCheck = true; preCheck = "rm jit-test/tests/sunspider/check-date-format-tofte.js"; # https://bugzil.la/600522 + postInstall = '' + rm "$lib"/lib/*.a # halve the output size + moveToOutput "bin/js*-config" "$dev" # break the cycle + ''; + meta = with stdenv.lib; { description = "Mozilla's JavaScript engine written in C/C++"; homepage = https://developer.mozilla.org/en/SpiderMonkey; |