icu: split into multiple outputs
This commit is contained in:
parent
ba9b80c7e0
commit
17a3f6a6fa
@ -148,7 +148,7 @@ stdenv.mkDerivation {
|
|||||||
|
|
||||||
configureScript = "./bootstrap.sh";
|
configureScript = "./bootstrap.sh";
|
||||||
configureFlags = commonConfigureFlags ++ [
|
configureFlags = commonConfigureFlags ++ [
|
||||||
"--with-icu=${icu}"
|
"--with-icu=${icu.dev}"
|
||||||
"--with-python=${python.interpreter}"
|
"--with-python=${python.interpreter}"
|
||||||
] ++ optional (toolset != null) "--with-toolset=${toolset}";
|
] ++ optional (toolset != null) "--with-toolset=${toolset}";
|
||||||
|
|
||||||
|
@ -13,6 +13,9 @@ stdenv.mkDerivation {
|
|||||||
sha256 = "0ys5f5spizg45qlaa31j2lhgry0jka2gfha527n4ndfxxz5j4sz1";
|
sha256 = "0ys5f5spizg45qlaa31j2lhgry0jka2gfha527n4ndfxxz5j4sz1";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
outputs = [ "dev" "out" ];
|
||||||
|
outputBin = "dev";
|
||||||
|
|
||||||
makeFlags = stdenv.lib.optionalString stdenv.isDarwin
|
makeFlags = stdenv.lib.optionalString stdenv.isDarwin
|
||||||
"CXXFLAGS=-headerpad_max_install_names";
|
"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
|
sed -i 's/INSTALL_CMD=.*install/INSTALL_CMD=install/' $out/lib/icu/${version}/pkgdata.inc
|
||||||
'';
|
'';
|
||||||
|
|
||||||
|
postFixup = ''_moveToOutput lib/icu "$dev" '';
|
||||||
|
|
||||||
enableParallelBuilding = true;
|
enableParallelBuilding = true;
|
||||||
|
|
||||||
meta = with stdenv.lib; {
|
meta = with stdenv.lib; {
|
||||||
|
@ -23,8 +23,8 @@ stdenv.mkDerivation rec {
|
|||||||
|
|
||||||
buildPhase = ''
|
buildPhase = ''
|
||||||
ln -s ${v8}/lib/libv8.so src/libs/libv8.so
|
ln -s ${v8}/lib/libv8.so src/libs/libv8.so
|
||||||
ln -s ${icu}/lib/libicui18n.so src/libs/libicui18n.so
|
ln -s ${icu.out}/lib/libicui18n.so src/libs/libicui18n.so
|
||||||
ln -s ${icu}/lib/libicuuc.so src/libs/libicuuc.so
|
ln -s ${icu.out}/lib/libicuuc.so src/libs/libicuuc.so
|
||||||
|
|
||||||
patchShebangs build.sh
|
patchShebangs build.sh
|
||||||
./build.sh js1
|
./build.sh js1
|
||||||
|
@ -30,9 +30,9 @@ rec {
|
|||||||
|
|
||||||
cp -rL ${darwin.Libsystem}/include $out
|
cp -rL ${darwin.Libsystem}/include $out
|
||||||
chmod -R u+w $out/include
|
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 ${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
|
mv $out/include $out/include-Libsystem
|
||||||
|
|
||||||
# Copy coreutils, bash, etc.
|
# Copy coreutils, bash, etc.
|
||||||
@ -49,20 +49,20 @@ rec {
|
|||||||
cp -d ${gawk}/bin/awk $out/bin
|
cp -d ${gawk}/bin/awk $out/bin
|
||||||
cp ${gnutar}/bin/tar $out/bin
|
cp ${gnutar}/bin/tar $out/bin
|
||||||
cp ${gzip}/bin/gzip $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 ${gnumake}/bin/* $out/bin
|
||||||
cp -d ${patch}/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
|
# This used to be in-nixpkgs, but now is in the bundle
|
||||||
# because I can't be bothered to make it partially static
|
# because I can't be bothered to make it partially static
|
||||||
cp ${curl}/bin/curl $out/bin
|
cp ${curl}/bin/curl $out/bin
|
||||||
cp -d ${curl}/lib/libcurl*.dylib $out/lib
|
cp -d ${curl}/lib/libcurl*.dylib $out/lib
|
||||||
cp -d ${libssh2}/lib/libssh*.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 ${gnugrep.pcre.out}/lib/libpcre*.dylib $out/lib
|
||||||
cp -d ${libiconv}/lib/libiconv*.dylib $out/lib
|
cp -d ${libiconv.lib}/lib/libiconv*.dylib $out/lib
|
||||||
|
|
||||||
# Copy what we need of clang
|
# Copy what we need of clang
|
||||||
cp -d ${llvmPackages.clang}/bin/clang $out/bin
|
cp -d ${llvmPackages.clang}/bin/clang $out/bin
|
||||||
@ -77,10 +77,10 @@ rec {
|
|||||||
mkdir $out/include
|
mkdir $out/include
|
||||||
cp -rd ${libcxx}/include/c++ $out/include
|
cp -rd ${libcxx}/include/c++ $out/include
|
||||||
|
|
||||||
cp -d ${icu}/lib/libicu*.dylib $out/lib
|
cp -d ${icu.out}/lib/libicu*.dylib $out/lib
|
||||||
cp -d ${zlib}/lib/libz.* $out/lib
|
cp -d ${zlib.out}/lib/libz.* $out/lib
|
||||||
cp -d ${gmpxx}/lib/libgmp*.* $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.
|
# Copy binutils.
|
||||||
for i in as ld ar ranlib nm strip otool install_name_tool dsymutil; do
|
for i in as ld ar ranlib nm strip otool install_name_tool dsymutil; do
|
||||||
|
@ -30,9 +30,9 @@ rec {
|
|||||||
|
|
||||||
cp -rL ${darwin.Libsystem}/include $out
|
cp -rL ${darwin.Libsystem}/include $out
|
||||||
chmod -R u+w $out/include
|
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 ${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
|
mv $out/include $out/include-Libsystem
|
||||||
|
|
||||||
# Copy coreutils, bash, etc.
|
# Copy coreutils, bash, etc.
|
||||||
@ -49,20 +49,20 @@ rec {
|
|||||||
cp -d ${gawk}/bin/awk $out/bin
|
cp -d ${gawk}/bin/awk $out/bin
|
||||||
cp ${gnutar}/bin/tar $out/bin
|
cp ${gnutar}/bin/tar $out/bin
|
||||||
cp ${gzip}/bin/gzip $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 ${gnumake}/bin/* $out/bin
|
||||||
cp -d ${patch}/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
|
# This used to be in-nixpkgs, but now is in the bundle
|
||||||
# because I can't be bothered to make it partially static
|
# because I can't be bothered to make it partially static
|
||||||
cp ${curl}/bin/curl $out/bin
|
cp ${curl}/bin/curl $out/bin
|
||||||
cp -d ${curl}/lib/libcurl*.dylib $out/lib
|
cp -d ${curl}/lib/libcurl*.dylib $out/lib
|
||||||
cp -d ${libssh2}/lib/libssh*.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 ${gnugrep.pcre.out}/lib/libpcre*.dylib $out/lib
|
||||||
cp -d ${libiconv}/lib/libiconv*.dylib $out/lib
|
cp -d ${libiconv.lib}/lib/libiconv*.dylib $out/lib
|
||||||
cp -d ${gettext}/lib/libintl*.dylib $out/lib
|
cp -d ${gettext}/lib/libintl*.dylib $out/lib
|
||||||
chmod +x $out/lib/libintl*.dylib
|
chmod +x $out/lib/libintl*.dylib
|
||||||
|
|
||||||
@ -79,10 +79,10 @@ rec {
|
|||||||
mkdir $out/include
|
mkdir $out/include
|
||||||
cp -rd ${libcxx}/include/c++ $out/include
|
cp -rd ${libcxx}/include/c++ $out/include
|
||||||
|
|
||||||
cp -d ${icu}/lib/libicu*.dylib $out/lib
|
cp -d ${icu.out}/lib/libicu*.dylib $out/lib
|
||||||
cp -d ${zlib}/lib/libz.* $out/lib
|
cp -d ${zlib.out}/lib/libz.* $out/lib
|
||||||
cp -d ${gmpxx}/lib/libgmp*.* $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.
|
# Copy binutils.
|
||||||
for i in as ld ar ranlib nm strip otool install_name_tool dsymutil; do
|
for i in as ld ar ranlib nm strip otool install_name_tool dsymutil; do
|
||||||
|
@ -54,7 +54,7 @@ rec {
|
|||||||
# sed -e s@ncurses/curses.h@curses.h@g -i $(grep ncurses/curses.h -rl . )
|
# 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' )
|
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" \
|
./Build --prefix="$out" --datadir="$out/share" --mandir="$out/share/man" --infodir="$out/share/info" \
|
||||||
${args.lib.concatStringsSep " " configureFlags}
|
${args.lib.concatStringsSep " " configureFlags}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user