gmp: split into multiple outputs

This commit is contained in:
Vladimír Čunát 2015-10-15 17:43:23 +02:00
parent dd915f82e7
commit 148e03b2f1
24 changed files with 65 additions and 58 deletions

View File

@ -10,8 +10,8 @@ stdenv.mkDerivation rec {
sha256 = "1da70n0cah0dh3pk7fcrvjkszx9qmhc0csgl15jqa7bdh707k2zs"; sha256 = "1da70n0cah0dh3pk7fcrvjkszx9qmhc0csgl15jqa7bdh707k2zs";
}; };
configureFlags = [ "--with-static-gmp=${gmp}/lib/libgmp.a" configureFlags = [ "--with-static-gmp=${gmp.static}/lib/libgmp.a"
"--with-static-gmp-include-dir=${gmp}/include" "--with-static-gmp-include-dir=${gmp.dev}/include"
]; ];
buildInputs = [ gmp gperf autoreconfHook ]; buildInputs = [ gmp gperf autoreconfHook ];

View File

@ -126,9 +126,9 @@ let
buildInputs = args.buildInputs ++ [ pkgs.gmp ]; buildInputs = args.buildInputs ++ [ pkgs.gmp ];
preConfigure = '' preConfigure = ''
${args.preConfigure or ""} ${args.preConfigure or ""}
sed -i 's|-I|-I${pkgs.gmp}/include -I|' scripts/gcc-plugin.sh sed -i 's|-I|-I${pkgs.gmp.dev}/include -I|' scripts/gcc-plugin.sh
sed -i 's|HOST_EXTRACFLAGS +=|HOST_EXTRACFLAGS += -I${pkgs.gmp}/include|' tools/gcc/Makefile sed -i 's|HOST_EXTRACFLAGS +=|HOST_EXTRACFLAGS += -I${pkgs.gmp.dev}/include|' tools/gcc/Makefile
sed -i 's|HOST_EXTRACXXFLAGS +=|HOST_EXTRACXXFLAGS += -I${pkgs.gmp}/include|' tools/gcc/Makefile sed -i 's|HOST_EXTRACXXFLAGS +=|HOST_EXTRACXXFLAGS += -I${pkgs.gmp.dev}/include|' tools/gcc/Makefile
rm localversion-grsec rm localversion-grsec
echo ${localver grkern} > localversion-grsec echo ${localver grkern} > localversion-grsec
''; '';

View File

@ -40,14 +40,14 @@ stdenv.mkDerivation rec {
(if stdenv.isLinux then '' (if stdenv.isLinux then ''
find . -type f -perm -0100 \ find . -type f -perm -0100 \
-exec patchelf --interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \ -exec patchelf --interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
--set-rpath "${libedit}/lib:${ncurses.lib}/lib:${gmp}/lib" {} \; --set-rpath "${libedit}/lib:${ncurses.lib}/lib:${gmp.out}/lib" {} \;
for prog in ld ar gcc strip ranlib; do for prog in ld ar gcc strip ranlib; do
find . -name "setup-config" -exec sed -i "s@/usr/bin/$prog@$(type -p $prog)@g" {} \; find . -name "setup-config" -exec sed -i "s@/usr/bin/$prog@$(type -p $prog)@g" {} \;
done done
'' else ""); '' else "");
configurePhase = '' configurePhase = ''
./configure --prefix=$out --with-gmp-libraries=${gmp}/lib --with-gmp-includes=${gmp}/include ./configure --prefix=$out --with-gmp-libraries=${gmp.out}/lib --with-gmp-includes=${gmp.dev}/include
''; '';
# Stripping combined with patchelf breaks the executables (they die # Stripping combined with patchelf breaks the executables (they die
@ -65,8 +65,8 @@ stdenv.mkDerivation rec {
(if stdenv.isDarwin then (if stdenv.isDarwin then
'' ''
mkdir -p $out/frameworks/GMP.framework/Versions/A mkdir -p $out/frameworks/GMP.framework/Versions/A
ln -s ${gmp}/lib/libgmp.dylib $out/frameworks/GMP.framework/GMP ln -s ${gmp.out}/lib/libgmp.dylib $out/frameworks/GMP.framework/GMP
ln -s ${gmp}/lib/libgmp.dylib $out/frameworks/GMP.framework/Versions/A/GMP ln -s ${gmp.out}/lib/libgmp.dylib $out/frameworks/GMP.framework/Versions/A/GMP
# !!! fix this # !!! fix this
mkdir -p $out/frameworks/GNUeditline.framework/Versions/A mkdir -p $out/frameworks/GNUeditline.framework/Versions/A
ln -s ${libedit}/lib/libeditline.dylib $out/frameworks/GNUeditline.framework/GNUeditline ln -s ${libedit}/lib/libeditline.dylib $out/frameworks/GNUeditline.framework/GNUeditline
@ -83,7 +83,7 @@ stdenv.mkDerivation rec {
+ +
'' ''
# bah, the passing gmp doesn't work, so let's add it to the final package.conf in a quick but dirty way # bah, the passing gmp doesn't work, so let's add it to the final package.conf in a quick but dirty way
sed -i "s@^\(.*pkgName = PackageName \"rts\".*\libraryDirs = \\[\)\(.*\)@\\1\"${gmp}/lib\",\2@" $out/lib/ghc-${version}/package.conf sed -i "s@^\(.*pkgName = PackageName \"rts\".*\libraryDirs = \\[\)\(.*\)@\\1\"${gmp.out}/lib\",\2@" $out/lib/ghc-${version}/package.conf
# Sanity check, can ghc create executables? # Sanity check, can ghc create executables?
cd $TMP cd $TMP

View File

@ -13,8 +13,8 @@ stdenv.mkDerivation rec {
buildInputs = [ghc libedit perl gmp]; buildInputs = [ghc libedit perl gmp];
configureFlags = [ configureFlags = [
"--with-gmp-libraries=${gmp}/lib" "--with-gmp-libraries=${gmp.out}/lib"
"--with-gmp-includes=${gmp}/include" "--with-gmp-includes=${gmp.dev}/include"
"--with-gcc=${stdenv.cc}/bin/gcc" "--with-gcc=${stdenv.cc}/bin/gcc"
]; ];

View File

@ -13,8 +13,8 @@ stdenv.mkDerivation rec {
buildInputs = [ghc perl gmp ncurses]; buildInputs = [ghc perl gmp ncurses];
buildMK = '' buildMK = ''
libraries/integer-gmp_CONFIGURE_OPTS += --configure-option=--with-gmp-libraries="${gmp}/lib" libraries/integer-gmp_CONFIGURE_OPTS += --configure-option=--with-gmp-libraries="${gmp.out}/lib"
libraries/integer-gmp_CONFIGURE_OPTS += --configure-option=--with-gmp-includes="${gmp}/include" libraries/integer-gmp_CONFIGURE_OPTS += --configure-option=--with-gmp-includes="${gmp.dev}/include"
libraries/terminfo_CONFIGURE_OPTS += --configure-option=--with-curses-includes="${ncurses.dev}/include" libraries/terminfo_CONFIGURE_OPTS += --configure-option=--with-curses-includes="${ncurses.dev}/include"
libraries/terminfo_CONFIGURE_OPTS += --configure-option=--with-curses-libraries="${ncurses.lib}/lib" libraries/terminfo_CONFIGURE_OPTS += --configure-option=--with-curses-libraries="${ncurses.lib}/lib"
''; '';

View File

@ -52,7 +52,7 @@ stdenv.mkDerivation rec {
# We have to patch the GMP paths for the integer-gmp package. # We have to patch the GMP paths for the integer-gmp package.
'' ''
find . -name integer-gmp.buildinfo \ find . -name integer-gmp.buildinfo \
-exec sed -i "s@extra-lib-dirs: @extra-lib-dirs: ${gmp}/lib@" {} \; -exec sed -i "s@extra-lib-dirs: @extra-lib-dirs: ${gmp.out}/lib@" {} \;
'' + stdenv.lib.optionalString stdenv.isDarwin '' '' + stdenv.lib.optionalString stdenv.isDarwin ''
find . -name base.buildinfo \ find . -name base.buildinfo \
-exec sed -i "s@extra-lib-dirs: @extra-lib-dirs: ${libiconv}/lib@" {} \; -exec sed -i "s@extra-lib-dirs: @extra-lib-dirs: ${libiconv}/lib@" {} \;
@ -62,7 +62,7 @@ stdenv.mkDerivation rec {
stdenv.lib.optionalString stdenv.isLinux '' stdenv.lib.optionalString stdenv.isLinux ''
find . -type f -perm -0100 \ find . -type f -perm -0100 \
-exec patchelf --interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \ -exec patchelf --interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
--set-rpath "${ncurses.lib}/lib:${gmp}/lib" {} \; --set-rpath "${ncurses.lib}/lib:${gmp.out}/lib" {} \;
sed -i "s|/usr/bin/perl|perl\x00 |" ghc-${version}/ghc/stage2/build/tmp/ghc-stage2 sed -i "s|/usr/bin/perl|perl\x00 |" ghc-${version}/ghc/stage2/build/tmp/ghc-stage2
sed -i "s|/usr/bin/gcc|gcc\x00 |" ghc-${version}/ghc/stage2/build/tmp/ghc-stage2 sed -i "s|/usr/bin/gcc|gcc\x00 |" ghc-${version}/ghc/stage2/build/tmp/ghc-stage2
for prog in ld ar gcc strip ranlib; do for prog in ld ar gcc strip ranlib; do
@ -89,7 +89,7 @@ stdenv.mkDerivation rec {
configurePhase = '' configurePhase = ''
./configure --prefix=$out \ ./configure --prefix=$out \
--with-gmp-libraries=${gmp}/lib --with-gmp-includes=${gmp}/include \ --with-gmp-libraries=${gmp.out}/lib --with-gmp-includes=${gmp}/include \
${stdenv.lib.optionalString stdenv.isDarwin "--with-gcc=${./gcc-clang-wrapper.sh}"} ${stdenv.lib.optionalString stdenv.isDarwin "--with-gcc=${./gcc-clang-wrapper.sh}"}
''; '';

View File

@ -14,8 +14,8 @@ stdenv.mkDerivation rec {
buildInputs = [ ghc perl gmp ncurses ]; buildInputs = [ ghc perl gmp ncurses ];
buildMK = '' buildMK = ''
libraries/integer-gmp_CONFIGURE_OPTS += --configure-option=--with-gmp-libraries="${gmp}/lib" libraries/integer-gmp_CONFIGURE_OPTS += --configure-option=--with-gmp-libraries="${gmp.out}/lib"
libraries/integer-gmp_CONFIGURE_OPTS += --configure-option=--with-gmp-includes="${gmp}/include" libraries/integer-gmp_CONFIGURE_OPTS += --configure-option=--with-gmp-includes="${gmp.dev}/include"
libraries/terminfo_CONFIGURE_OPTS += --configure-option=--with-curses-includes="${ncurses.dev}/include" libraries/terminfo_CONFIGURE_OPTS += --configure-option=--with-curses-includes="${ncurses.dev}/include"
libraries/terminfo_CONFIGURE_OPTS += --configure-option=--with-curses-libraries="${ncurses.lib}/lib" libraries/terminfo_CONFIGURE_OPTS += --configure-option=--with-curses-libraries="${ncurses.lib}/lib"
${stdenv.lib.optionalString stdenv.isDarwin '' ${stdenv.lib.optionalString stdenv.isDarwin ''

View File

@ -5,8 +5,8 @@
let let
buildMK = '' buildMK = ''
libraries/integer-gmp_CONFIGURE_OPTS += --configure-option=--with-gmp-libraries="${gmp}/lib" libraries/integer-gmp_CONFIGURE_OPTS += --configure-option=--with-gmp-libraries="${gmp.out}/lib"
libraries/integer-gmp_CONFIGURE_OPTS += --configure-option=--with-gmp-includes="${gmp}/include" libraries/integer-gmp_CONFIGURE_OPTS += --configure-option=--with-gmp-includes="${gmp.dev}/include"
libraries/terminfo_CONFIGURE_OPTS += --configure-option=--with-curses-includes="${ncurses.dev}/include" libraries/terminfo_CONFIGURE_OPTS += --configure-option=--with-curses-includes="${ncurses.dev}/include"
libraries/terminfo_CONFIGURE_OPTS += --configure-option=--with-curses-libraries="${ncurses.lib}/lib" libraries/terminfo_CONFIGURE_OPTS += --configure-option=--with-curses-libraries="${ncurses.lib}/lib"
${stdenv.lib.optionalString stdenv.isDarwin '' ${stdenv.lib.optionalString stdenv.isDarwin ''
@ -41,7 +41,7 @@ stdenv.mkDerivation rec {
configureFlags = [ configureFlags = [
"--with-gcc=${stdenv.cc}/bin/cc" "--with-gcc=${stdenv.cc}/bin/cc"
"--with-gmp-includes=${gmp}/include" "--with-gmp-libraries=${gmp}/lib" "--with-gmp-includes=${gmp.dev}/include" "--with-gmp-libraries=${gmp.out}/lib"
]; ];
# required, because otherwise all symbols from HSffi.o are stripped, and # required, because otherwise all symbols from HSffi.o are stripped, and

View File

@ -14,8 +14,8 @@ stdenv.mkDerivation rec {
buildInputs = [ ghc perl gmp ncurses ]; buildInputs = [ ghc perl gmp ncurses ];
buildMK = '' buildMK = ''
libraries/integer-gmp_CONFIGURE_OPTS += --configure-option=--with-gmp-libraries="${gmp}/lib" libraries/integer-gmp_CONFIGURE_OPTS += --configure-option=--with-gmp-libraries="${gmp.out}/lib"
libraries/integer-gmp_CONFIGURE_OPTS += --configure-option=--with-gmp-includes="${gmp}/include" libraries/integer-gmp_CONFIGURE_OPTS += --configure-option=--with-gmp-includes="${gmp.dev}/include"
libraries/terminfo_CONFIGURE_OPTS += --configure-option=--with-curses-includes="${ncurses.dev}/include" libraries/terminfo_CONFIGURE_OPTS += --configure-option=--with-curses-includes="${ncurses.dev}/include"
libraries/terminfo_CONFIGURE_OPTS += --configure-option=--with-curses-libraries="${ncurses.lib}/lib" libraries/terminfo_CONFIGURE_OPTS += --configure-option=--with-curses-libraries="${ncurses.lib}/lib"
${stdenv.lib.optionalString stdenv.isDarwin '' ${stdenv.lib.optionalString stdenv.isDarwin ''

View File

@ -15,8 +15,8 @@ stdenv.mkDerivation rec {
buildInputs = [ ghc perl gmp ncurses ]; buildInputs = [ ghc perl gmp ncurses ];
buildMK = '' buildMK = ''
libraries/integer-gmp_CONFIGURE_OPTS += --configure-option=--with-gmp-libraries="${gmp}/lib" libraries/integer-gmp_CONFIGURE_OPTS += --configure-option=--with-gmp-libraries="${gmp.out}/lib"
libraries/integer-gmp_CONFIGURE_OPTS += --configure-option=--with-gmp-includes="${gmp}/include" libraries/integer-gmp_CONFIGURE_OPTS += --configure-option=--with-gmp-includes="${gmp.dev}/include"
libraries/terminfo_CONFIGURE_OPTS += --configure-option=--with-curses-includes="${ncurses.dev}/include" libraries/terminfo_CONFIGURE_OPTS += --configure-option=--with-curses-includes="${ncurses.dev}/include"
libraries/terminfo_CONFIGURE_OPTS += --configure-option=--with-curses-libraries="${ncurses.lib}/lib" libraries/terminfo_CONFIGURE_OPTS += --configure-option=--with-curses-libraries="${ncurses.lib}/lib"
${stdenv.lib.optionalString stdenv.isDarwin '' ${stdenv.lib.optionalString stdenv.isDarwin ''

View File

@ -22,8 +22,8 @@ in stdenv.mkDerivation rec {
buildInputs = [ ghc perl gmp ncurses ]; buildInputs = [ ghc perl gmp ncurses ];
buildMK = '' buildMK = ''
libraries/integer-gmp_CONFIGURE_OPTS += --configure-option=--with-gmp-libraries="${gmp}/lib" libraries/integer-gmp_CONFIGURE_OPTS += --configure-option=--with-gmp-libraries="${gmp.out}/lib"
libraries/integer-gmp_CONFIGURE_OPTS += --configure-option=--with-gmp-includes="${gmp}/include" libraries/integer-gmp_CONFIGURE_OPTS += --configure-option=--with-gmp-includes="${gmp.dev}/include"
libraries/terminfo_CONFIGURE_OPTS += --configure-option=--with-curses-includes="${ncurses.dev}/include" libraries/terminfo_CONFIGURE_OPTS += --configure-option=--with-curses-includes="${ncurses.dev}/include"
libraries/terminfo_CONFIGURE_OPTS += --configure-option=--with-curses-libraries="${ncurses.lib}/lib" libraries/terminfo_CONFIGURE_OPTS += --configure-option=--with-curses-libraries="${ncurses.lib}/lib"
${stdenv.lib.optionalString stdenv.isDarwin '' ${stdenv.lib.optionalString stdenv.isDarwin ''

View File

@ -14,8 +14,8 @@ stdenv.mkDerivation rec {
enableParallelBuilding = true; enableParallelBuilding = true;
buildMK = '' buildMK = ''
libraries/integer-gmp_CONFIGURE_OPTS += --configure-option=--with-gmp-libraries="${gmp}/lib" libraries/integer-gmp_CONFIGURE_OPTS += --configure-option=--with-gmp-libraries="${gmp.out}/lib"
libraries/integer-gmp_CONFIGURE_OPTS += --configure-option=--with-gmp-includes="${gmp}/include" libraries/integer-gmp_CONFIGURE_OPTS += --configure-option=--with-gmp-includes="${gmp.dev}/include"
libraries/terminfo_CONFIGURE_OPTS += --configure-option=--with-curses-includes="${ncurses.dev}/include" libraries/terminfo_CONFIGURE_OPTS += --configure-option=--with-curses-includes="${ncurses.dev}/include"
libraries/terminfo_CONFIGURE_OPTS += --configure-option=--with-curses-libraries="${ncurses.lib}/lib" libraries/terminfo_CONFIGURE_OPTS += --configure-option=--with-curses-libraries="${ncurses.lib}/lib"
DYNAMIC_BY_DEFAULT = NO DYNAMIC_BY_DEFAULT = NO

View File

@ -14,8 +14,8 @@ stdenv.mkDerivation (rec {
enableParallelBuilding = true; enableParallelBuilding = true;
buildMK = '' buildMK = ''
libraries/integer-gmp_CONFIGURE_OPTS += --configure-option=--with-gmp-libraries="${gmp}/lib" libraries/integer-gmp_CONFIGURE_OPTS += --configure-option=--with-gmp-libraries="${gmp.out}/lib"
libraries/integer-gmp_CONFIGURE_OPTS += --configure-option=--with-gmp-includes="${gmp}/include" libraries/integer-gmp_CONFIGURE_OPTS += --configure-option=--with-gmp-includes="${gmp.dev}/include"
libraries/terminfo_CONFIGURE_OPTS += --configure-option=--with-curses-includes="${ncurses.dev}/include" libraries/terminfo_CONFIGURE_OPTS += --configure-option=--with-curses-includes="${ncurses.dev}/include"
libraries/terminfo_CONFIGURE_OPTS += --configure-option=--with-curses-libraries="${ncurses.lib}/lib" libraries/terminfo_CONFIGURE_OPTS += --configure-option=--with-curses-libraries="${ncurses.lib}/lib"
DYNAMIC_BY_DEFAULT = NO DYNAMIC_BY_DEFAULT = NO

View File

@ -3,8 +3,8 @@
let let
buildMK = '' buildMK = ''
libraries/integer-gmp_CONFIGURE_OPTS += --configure-option=--with-gmp-libraries="${gmp}/lib" libraries/integer-gmp_CONFIGURE_OPTS += --configure-option=--with-gmp-libraries="${gmp.out}/lib"
libraries/integer-gmp_CONFIGURE_OPTS += --configure-option=--with-gmp-includes="${gmp}/include" libraries/integer-gmp_CONFIGURE_OPTS += --configure-option=--with-gmp-includes="${gmp.dev}/include"
libraries/terminfo_CONFIGURE_OPTS += --configure-option=--with-curses-includes="${ncurses.dev}/include" libraries/terminfo_CONFIGURE_OPTS += --configure-option=--with-curses-includes="${ncurses.dev}/include"
libraries/terminfo_CONFIGURE_OPTS += --configure-option=--with-curses-libraries="${ncurses.lib}/lib" libraries/terminfo_CONFIGURE_OPTS += --configure-option=--with-curses-libraries="${ncurses.lib}/lib"
DYNAMIC_BY_DEFAULT = NO DYNAMIC_BY_DEFAULT = NO
@ -47,7 +47,7 @@ stdenv.mkDerivation rec {
configureFlags = [ configureFlags = [
"--with-gcc=${stdenv.cc}/bin/cc" "--with-gcc=${stdenv.cc}/bin/cc"
"--with-gmp-includes=${gmp}/include" "--with-gmp-libraries=${gmp}/lib" "--with-gmp-includes=${gmp.dev}/include" "--with-gmp-libraries=${gmp.out}/lib"
]; ];
enableParallelBuilding = true; enableParallelBuilding = true;

View File

@ -3,8 +3,8 @@
let let
buildMK = '' buildMK = ''
libraries/integer-gmp_CONFIGURE_OPTS += --configure-option=--with-gmp-libraries="${gmp}/lib" libraries/integer-gmp_CONFIGURE_OPTS += --configure-option=--with-gmp-libraries="${gmp.out}/lib"
libraries/integer-gmp_CONFIGURE_OPTS += --configure-option=--with-gmp-includes="${gmp}/include" libraries/integer-gmp_CONFIGURE_OPTS += --configure-option=--with-gmp-includes="${gmp.dev}/include"
libraries/terminfo_CONFIGURE_OPTS += --configure-option=--with-curses-includes="${ncurses.dev}/include" libraries/terminfo_CONFIGURE_OPTS += --configure-option=--with-curses-includes="${ncurses.dev}/include"
libraries/terminfo_CONFIGURE_OPTS += --configure-option=--with-curses-libraries="${ncurses.lib}/lib" libraries/terminfo_CONFIGURE_OPTS += --configure-option=--with-curses-libraries="${ncurses.lib}/lib"
DYNAMIC_BY_DEFAULT = NO DYNAMIC_BY_DEFAULT = NO
@ -57,7 +57,7 @@ stdenv.mkDerivation rec {
configureFlags = [ configureFlags = [
"--with-gcc=${stdenv.cc}/bin/cc" "--with-gcc=${stdenv.cc}/bin/cc"
"--with-gmp-includes=${gmp}/include" "--with-gmp-libraries=${gmp}/lib" "--with-gmp-includes=${gmp.dev}/include" "--with-gmp-libraries=${gmp.out}/lib"
]; ];
enableParallelBuilding = true; enableParallelBuilding = true;

View File

@ -113,12 +113,12 @@ in mkDerivation (rec {
done done
''; '';
postInstall = '' postInstall = ''
PATH=$out/bin:$PATH LD_LIBRARY_PATH=${gmp}/lib:${stdenv.cc}/lib64:$LD_LIBRARY_PATH \ PATH=$out/bin:$PATH LD_LIBRARY_PATH=${gmp.out}/lib:${stdenv.cc}/lib64:$LD_LIBRARY_PATH \
env -u GHC_PACKAGE_PATH $out/bin/ghcjs-boot \ env -u GHC_PACKAGE_PATH $out/bin/ghcjs-boot \
--dev \ --dev \
--with-cabal ${cabal-install}/bin/cabal \ --with-cabal ${cabal-install}/bin/cabal \
--with-gmp-includes ${gmp}/include \ --with-gmp-includes ${gmp.dev}/include \
--with-gmp-libraries ${gmp}/lib --with-gmp-libraries ${gmp.out}/lib
''; '';
passthru = { passthru = {
isGhcjs = true; isGhcjs = true;

View File

@ -13,8 +13,8 @@ stdenv.mkDerivation rec {
propagatedBuildInputs = [ gmp ]; propagatedBuildInputs = [ gmp ];
configureFlags = [ configureFlags = [
"GMP_CFLAGS=-I${gmp}/include" "GMP_CFLAGS=-I${gmp.dev}/include"
"GMP_LDFLAGS=-L${gmp}/lib" "GMP_LDFLAGS=-L${gmp.out}/lib"
]; ];
meta = { meta = {

View File

@ -73,7 +73,7 @@ stdenv.mkDerivation rec {
chmod u+x $(pwd)/../${usr_prefix}/bin/mlton chmod u+x $(pwd)/../${usr_prefix}/bin/mlton
# So the builder runs the binary compiler with gmp. # So the builder runs the binary compiler with gmp.
export LD_LIBRARY_PATH=${gmp}/lib:$LD_LIBRARY_PATH export LD_LIBRARY_PATH=${gmp.out}/lib:$LD_LIBRARY_PATH
'' + stdenv.lib.optionalString stdenv.isLinux '' '' + stdenv.lib.optionalString stdenv.isLinux ''
# Patch ELF interpreter. # Patch ELF interpreter.
@ -92,10 +92,10 @@ stdenv.mkDerivation rec {
substituteInPlace $(pwd)/install/${usr_prefix}/bin/mlton --replace '/${usr_prefix}/lib/mlton' $out/lib/mlton substituteInPlace $(pwd)/install/${usr_prefix}/bin/mlton --replace '/${usr_prefix}/lib/mlton' $out/lib/mlton
# Path to libgmp. # Path to libgmp.
substituteInPlace $(pwd)/install/${usr_prefix}/bin/mlton --replace "-link-opt '-lm -lgmp'" "-link-opt '-lm -lgmp -L${gmp}/lib'" substituteInPlace $(pwd)/install/${usr_prefix}/bin/mlton --replace "-link-opt '-lm -lgmp'" "-link-opt '-lm -lgmp -L${gmp.out}/lib'"
# Path to gmp.h. # Path to gmp.h.
substituteInPlace $(pwd)/install/${usr_prefix}/bin/mlton --replace "-cc-opt '-O1 -fno-common'" "-cc-opt '-O1 -fno-common -I${gmp}/include'" substituteInPlace $(pwd)/install/${usr_prefix}/bin/mlton --replace "-cc-opt '-O1 -fno-common'" "-cc-opt '-O1 -fno-common -I${gmp.dev}/include'"
# Path to the same cc used in the build; needed at runtime. # Path to the same cc used in the build; needed at runtime.
substituteInPlace $(pwd)/install/${usr_prefix}/bin/mlton --replace "gcc='gcc'" "gcc='"$(type -p cc)"'" substituteInPlace $(pwd)/install/${usr_prefix}/bin/mlton --replace "gcc='gcc'" "gcc='"$(type -p cc)"'"

View File

@ -2,7 +2,7 @@
with { inherit (stdenv.lib) optional optionalString; }; with { inherit (stdenv.lib) optional optionalString; };
stdenv.mkDerivation rec { let self = stdenv.mkDerivation rec {
name = "gmp-6.0.0a"; name = "gmp-6.0.0a";
src = fetchurl { # we need to use bz2, others aren't in bootstrapping stdenv src = fetchurl { # we need to use bz2, others aren't in bootstrapping stdenv
@ -10,6 +10,7 @@ stdenv.mkDerivation rec {
sha256 = "1bwsfmf0vrx3rwl4xmi5jhhy3v1qx1xj0m7p9hb0fvcw9f09m3kz"; sha256 = "1bwsfmf0vrx3rwl4xmi5jhhy3v1qx1xj0m7p9hb0fvcw9f09m3kz";
}; };
passthru.static = self.out;
nativeBuildInputs = [ m4 ]; nativeBuildInputs = [ m4 ];
configureFlags = configureFlags =
@ -69,4 +70,5 @@ stdenv.mkDerivation rec {
platforms = platforms.all; platforms = platforms.all;
maintainers = [ maintainers.simons ]; maintainers = [ maintainers.simons ];
}; };
} };
in self

View File

@ -13,7 +13,8 @@ stdenv.mkDerivation {
inherit src patches postPatch; inherit src patches postPatch;
outputs = [ "dev" "out" "bin" "man" ]; outputs = [ "dev" "out" "bin" "man" "docdev" ];
outputInfo = "docdev";
configureFlags = configureFlags =
# FIXME: perhaps use $SSL_CERT_FILE instead # FIXME: perhaps use $SSL_CERT_FILE instead
@ -44,7 +45,7 @@ stdenv.mkDerivation {
preFixup = lib.optionalString (!stdenv.isDarwin) '' preFixup = lib.optionalString (!stdenv.isDarwin) ''
sed ${lib.optionalString tpmSupport "-e 's,-ltspi,-L${trousers}/lib -ltspi,'"} \ sed ${lib.optionalString tpmSupport "-e 's,-ltspi,-L${trousers}/lib -ltspi,'"} \
-e 's,-lz,-L${zlib.out}/lib -lz,' \ -e 's,-lz,-L${zlib.out}/lib -lz,' \
-e 's,-lgmp,-L${gmp}/lib -lgmp,' \ -e 's,-L${gmp.dev}/lib,-L${gmp.out}/lib,' \
-i "$out/lib/libgnutls.la" "$dev/lib/pkgconfig/gnutls.pc" -i "$out/lib/libgnutls.la" "$dev/lib/pkgconfig/gnutls.pc"
''; '';

View File

@ -1,6 +1,6 @@
{ stdenv, fetchurl, pkgconfig, gettext, perl { stdenv, fetchurl, pkgconfig, gettext, perl
, expat, glib, cairo, pango, gdk_pixbuf, atk, at_spi2_atk, gobjectIntrospection , expat, glib, cairo, pango, gdk_pixbuf, atk, at_spi2_atk, gobjectIntrospection
, xlibs, x11, wayland, libxkbcommon, epoxy , xorg, wayland, epoxy, json_glib, libxkbcommon, gmp
, xineramaSupport ? stdenv.isLinux , xineramaSupport ? stdenv.isLinux
, cupsSupport ? stdenv.isLinux, cups ? null , cupsSupport ? stdenv.isLinux, cups ? null
}: }:
@ -40,7 +40,11 @@ stdenv.mkDerivation rec {
enableParallelBuilding = true; enableParallelBuilding = true;
postInstall = "rm -rf $out/share/gtk-doc"; postInstall = ''
rm -rf $out/share/gtk-doc
substituteInPlace "$out/lib/gtk-3.0/3.0.0/printbackends/libprintbackend-cups.la" \
--replace '-L${gmp.dev}/lib' '-L${gmp.out}/lib'
'';
passthru = { passthru = {
gtkExeEnvPostBuild = '' gtkExeEnvPostBuild = ''

View File

@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
buildInputs = [ gmp mpfr ]; buildInputs = [ gmp mpfr ];
CFLAGS = "-I${gmp}/include"; CFLAGS = "-I${gmp.dev}/include";
doCheck = true; doCheck = true;

View File

@ -64,5 +64,5 @@ stdenv.lib.optionalAttrs stdenv.isSunOS {
# /usr/include/mp.h from OpenSolaris. See # /usr/include/mp.h from OpenSolaris. See
# <https://lists.gnu.org/archive/html/hydra-users/2012-08/msg00000.html> # <https://lists.gnu.org/archive/html/hydra-users/2012-08/msg00000.html>
# for details. # for details.
configureFlags = [ "--with-include-path=${gmp}/include" ]; configureFlags = [ "--with-include-path=${gmp.dev}/include" ];
}) })

View File

@ -2193,8 +2193,8 @@ let self = _self // overrides; _self = with self; {
sha256 = "0f5gdprcql4kwzgxl2s6ngcfg1jl45lzcqh7dkv5bkwlwmxa9rsi"; sha256 = "0f5gdprcql4kwzgxl2s6ngcfg1jl45lzcqh7dkv5bkwlwmxa9rsi";
}; };
buildInputs = [ DevelChecklib TestRequires pkgs.gmp ]; buildInputs = [ DevelChecklib TestRequires pkgs.gmp ];
NIX_CFLAGS_COMPILE = "-I${pkgs.gmp}/include"; NIX_CFLAGS_COMPILE = "-I${pkgs.gmp.dev}/include";
NIX_CFLAGS_LINK = "-L${pkgs.gmp}/lib -lgmp"; NIX_CFLAGS_LINK = "-L${pkgs.gmp.out}/lib -lgmp";
}; };
CryptEksblowfish = buildPerlPackage rec { CryptEksblowfish = buildPerlPackage rec {
@ -6546,8 +6546,8 @@ let self = _self // overrides; _self = with self; {
}; };
buildInputs = [ pkgs.gmp ]; buildInputs = [ pkgs.gmp ];
doCheck = false; doCheck = false;
NIX_CFLAGS_COMPILE = "-I${pkgs.gmp}/include"; NIX_CFLAGS_COMPILE = "-I${pkgs.gmp.dev}/include";
NIX_CFLAGS_LINK = "-L${pkgs.gmp}/lib -lgmp"; NIX_CFLAGS_LINK = "-L${pkgs.gmp.out}/lib -lgmp";
}; };
MathBigRat = buildPerlPackage rec { MathBigRat = buildPerlPackage rec {