icu: split into multiple outputs

This commit is contained in:
Vladimír Čunát 2015-10-05 19:25:49 +02:00
parent ba9b80c7e0
commit 17a3f6a6fa
6 changed files with 29 additions and 24 deletions

View File

@ -148,7 +148,7 @@ stdenv.mkDerivation {
configureScript = "./bootstrap.sh";
configureFlags = commonConfigureFlags ++ [
"--with-icu=${icu}"
"--with-icu=${icu.dev}"
"--with-python=${python.interpreter}"
] ++ optional (toolset != null) "--with-toolset=${toolset}";

View File

@ -13,6 +13,9 @@ stdenv.mkDerivation {
sha256 = "0ys5f5spizg45qlaa31j2lhgry0jka2gfha527n4ndfxxz5j4sz1";
};
outputs = [ "dev" "out" ];
outputBin = "dev";
makeFlags = stdenv.lib.optionalString stdenv.isDarwin
"CXXFLAGS=-headerpad_max_install_names";
@ -37,6 +40,8 @@ stdenv.mkDerivation {
sed -i 's/INSTALL_CMD=.*install/INSTALL_CMD=install/' $out/lib/icu/${version}/pkgdata.inc
'';
postFixup = ''_moveToOutput lib/icu "$dev" '';
enableParallelBuilding = true;
meta = with stdenv.lib; {

View File

@ -23,8 +23,8 @@ stdenv.mkDerivation rec {
buildPhase = ''
ln -s ${v8}/lib/libv8.so src/libs/libv8.so
ln -s ${icu}/lib/libicui18n.so src/libs/libicui18n.so
ln -s ${icu}/lib/libicuuc.so src/libs/libicuuc.so
ln -s ${icu.out}/lib/libicui18n.so src/libs/libicui18n.so
ln -s ${icu.out}/lib/libicuuc.so src/libs/libicuuc.so
patchShebangs build.sh
./build.sh js1

View File

@ -30,9 +30,9 @@ rec {
cp -rL ${darwin.Libsystem}/include $out
chmod -R u+w $out/include
cp -rL ${icu}/include* $out/include
cp -rL ${icu.dev}/include* $out/include
cp -rL ${libiconv}/include/* $out/include
cp -rL ${gnugrep.pcre}/include/* $out/include
cp -rL ${gnugrep.pcre.dev}/include/* $out/include
mv $out/include $out/include-Libsystem
# Copy coreutils, bash, etc.
@ -49,20 +49,20 @@ rec {
cp -d ${gawk}/bin/awk $out/bin
cp ${gnutar}/bin/tar $out/bin
cp ${gzip}/bin/gzip $out/bin
cp ${bzip2}/bin/bzip2 $out/bin
cp ${bzip2.bin}/bin/bzip2 $out/bin
cp -d ${gnumake}/bin/* $out/bin
cp -d ${patch}/bin/* $out/bin
cp -d ${xz}/bin/xz $out/bin
cp -d ${xz.bin}/bin/xz $out/bin
# This used to be in-nixpkgs, but now is in the bundle
# because I can't be bothered to make it partially static
cp ${curl}/bin/curl $out/bin
cp -d ${curl}/lib/libcurl*.dylib $out/lib
cp -d ${libssh2}/lib/libssh*.dylib $out/lib
cp -d ${openssl}/lib/*.dylib $out/lib
cp -d ${openssl.out}/lib/*.dylib $out/lib
cp -d ${gnugrep.pcre}/lib/libpcre*.dylib $out/lib
cp -d ${libiconv}/lib/libiconv*.dylib $out/lib
cp -d ${gnugrep.pcre.out}/lib/libpcre*.dylib $out/lib
cp -d ${libiconv.lib}/lib/libiconv*.dylib $out/lib
# Copy what we need of clang
cp -d ${llvmPackages.clang}/bin/clang $out/bin
@ -77,10 +77,10 @@ rec {
mkdir $out/include
cp -rd ${libcxx}/include/c++ $out/include
cp -d ${icu}/lib/libicu*.dylib $out/lib
cp -d ${zlib}/lib/libz.* $out/lib
cp -d ${icu.out}/lib/libicu*.dylib $out/lib
cp -d ${zlib.out}/lib/libz.* $out/lib
cp -d ${gmpxx}/lib/libgmp*.* $out/lib
cp -d ${xz}/lib/liblzma*.* $out/lib
cp -d ${xz.out}/lib/liblzma*.* $out/lib
# Copy binutils.
for i in as ld ar ranlib nm strip otool install_name_tool dsymutil; do

View File

@ -30,9 +30,9 @@ rec {
cp -rL ${darwin.Libsystem}/include $out
chmod -R u+w $out/include
cp -rL ${icu}/include* $out/include
cp -rL ${icu.dev}/include* $out/include
cp -rL ${libiconv}/include/* $out/include
cp -rL ${gnugrep.pcre}/include/* $out/include
cp -rL ${gnugrep.pcre.dev}/include/* $out/include
mv $out/include $out/include-Libsystem
# Copy coreutils, bash, etc.
@ -49,20 +49,20 @@ rec {
cp -d ${gawk}/bin/awk $out/bin
cp ${gnutar}/bin/tar $out/bin
cp ${gzip}/bin/gzip $out/bin
cp ${bzip2}/bin/bzip2 $out/bin
cp ${bzip2.bin}/bin/bzip2 $out/bin
cp -d ${gnumake}/bin/* $out/bin
cp -d ${patch}/bin/* $out/bin
cp -d ${xz}/bin/xz $out/bin
cp -d ${xz.bin}/bin/xz $out/bin
# This used to be in-nixpkgs, but now is in the bundle
# because I can't be bothered to make it partially static
cp ${curl}/bin/curl $out/bin
cp -d ${curl}/lib/libcurl*.dylib $out/lib
cp -d ${libssh2}/lib/libssh*.dylib $out/lib
cp -d ${openssl}/lib/*.dylib $out/lib
cp -d ${openssl.out}/lib/*.dylib $out/lib
cp -d ${gnugrep.pcre}/lib/libpcre*.dylib $out/lib
cp -d ${libiconv}/lib/libiconv*.dylib $out/lib
cp -d ${gnugrep.pcre.out}/lib/libpcre*.dylib $out/lib
cp -d ${libiconv.lib}/lib/libiconv*.dylib $out/lib
cp -d ${gettext}/lib/libintl*.dylib $out/lib
chmod +x $out/lib/libintl*.dylib
@ -79,10 +79,10 @@ rec {
mkdir $out/include
cp -rd ${libcxx}/include/c++ $out/include
cp -d ${icu}/lib/libicu*.dylib $out/lib
cp -d ${zlib}/lib/libz.* $out/lib
cp -d ${icu.out}/lib/libicu*.dylib $out/lib
cp -d ${zlib.out}/lib/libz.* $out/lib
cp -d ${gmpxx}/lib/libgmp*.* $out/lib
cp -d ${xz}/lib/liblzma*.* $out/lib
cp -d ${xz.out}/lib/liblzma*.* $out/lib
# Copy binutils.
for i in as ld ar ranlib nm strip otool install_name_tool dsymutil; do

View File

@ -54,7 +54,7 @@ rec {
# sed -e s@ncurses/curses.h@curses.h@g -i $(grep ncurses/curses.h -rl . )
sed -e '1i\#include <string.h>\n\#include <stdlib.h>' -i $( find libs/teckit -name '*.cpp' -o -name '*.c' )
NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -I${icu}/include/layout";
NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -I${icu.dev}/include/layout";
./Build --prefix="$out" --datadir="$out/share" --mandir="$out/share/man" --infodir="$out/share/info" \
${args.lib.concatStringsSep " " configureFlags}