Merge remote-tracking branch 'origin/staging'

Darwin and haskell fixes.
This commit is contained in:
Shea Levy 2015-02-17 13:52:37 -05:00
commit 2f061ff16b
42 changed files with 130 additions and 137 deletions

View File

@ -1,5 +1,5 @@
{ stdenv, fetchurl, boost, mpd_clientlib, ncurses, pkgconfig, readline { stdenv, fetchurl, boost, mpd_clientlib, ncurses, pkgconfig, readline
, libiconvOrEmpty , libiconv
, outputsSupport ? false # outputs screen , outputsSupport ? false # outputs screen
, visualizerSupport ? false, fftw ? null # visualizer screen , visualizerSupport ? false, fftw ? null # visualizer screen
, clockSupport ? false # clock screen , clockSupport ? false # clock screen
@ -30,11 +30,10 @@ stdenv.mkDerivation rec {
++ optional curlSupport "--with-curl" ++ optional curlSupport "--with-curl"
++ optional taglibSupport "--with-taglib"; ++ optional taglibSupport "--with-taglib";
buildInputs = [ boost mpd_clientlib ncurses pkgconfig readline ] buildInputs = [ boost mpd_clientlib ncurses pkgconfig readline libiconv ]
++ optional curlSupport curl ++ optional curlSupport curl
++ optional visualizerSupport fftw ++ optional visualizerSupport fftw
++ optional taglibSupport taglib ++ optional taglibSupport taglib;
++ libiconvOrEmpty;
meta = { meta = {
description = "A featureful ncurses based MPD client inspired by ncmpc"; description = "A featureful ncurses based MPD client inspired by ncmpc";

View File

@ -1,5 +1,5 @@
{ stdenv, fetchurl, python, pkgconfig, cmake, bluez, libusb1, curl { stdenv, fetchurl, python, pkgconfig, cmake, bluez, libusb1, curl
, libiconvOrEmpty, gettext, sqlite }: , libiconv, gettext, sqlite }:
with stdenv.lib; with stdenv.lib;
@ -14,8 +14,7 @@ stdenv.mkDerivation rec {
patches = [ ./bashcomp-dir.patch ]; patches = [ ./bashcomp-dir.patch ];
buildInputs = [ python pkgconfig cmake bluez libusb1 curl gettext sqlite ] buildInputs = [ python pkgconfig cmake bluez libusb1 curl gettext sqlite libiconv ];
++ libiconvOrEmpty;
enableParallelBuilding = true; enableParallelBuilding = true;

View File

@ -1,5 +1,5 @@
{ stdenv, fetchurl, sqlite, curl, pkgconfig, libxml2, stfl, json-c-0-11, ncurses { stdenv, fetchurl, sqlite, curl, pkgconfig, libxml2, stfl, json-c-0-11, ncurses
, gettext, libiconvOrEmpty, makeWrapper, perl }: , gettext, libiconv, makeWrapper, perl }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "newsbeuter-2.8"; name = "newsbeuter-2.8";
@ -13,8 +13,7 @@ stdenv.mkDerivation rec {
buildInputs buildInputs
# use gettext instead of libintlOrEmpty so we have access to the msgfmt # use gettext instead of libintlOrEmpty so we have access to the msgfmt
# command # command
= [ pkgconfig sqlite curl libxml2 stfl json-c-0-11 ncurses gettext perl ] = [ pkgconfig sqlite curl libxml2 stfl json-c-0-11 ncurses gettext perl libiconv ]
++ libiconvOrEmpty
++ stdenv.lib.optional stdenv.isDarwin makeWrapper; ++ stdenv.lib.optional stdenv.isDarwin makeWrapper;
preBuild = '' preBuild = ''

View File

@ -1,5 +1,5 @@
{ stdenv, fetchgit, sqlite, curl, pkgconfig, libxml2, stfl, json-c-0-11, ncurses { stdenv, fetchgit, sqlite, curl, pkgconfig, libxml2, stfl, json-c-0-11, ncurses
, gettext, libiconvOrEmpty, makeWrapper, perl }: , gettext, libiconv, makeWrapper, perl }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "newsbeuter-dev-20140309"; name = "newsbeuter-dev-20140309";
@ -13,8 +13,7 @@ stdenv.mkDerivation rec {
buildInputs buildInputs
# use gettext instead of libintlOrEmpty so we have access to the msgfmt # use gettext instead of libintlOrEmpty so we have access to the msgfmt
# command # command
= [ pkgconfig sqlite curl libxml2 stfl json-c-0-11 ncurses gettext perl ] = [ pkgconfig sqlite curl libxml2 stfl json-c-0-11 ncurses gettext perl libiconv ]
++ libiconvOrEmpty
++ stdenv.lib.optional stdenv.isDarwin makeWrapper; ++ stdenv.lib.optional stdenv.isDarwin makeWrapper;
preBuild = '' preBuild = ''

View File

@ -1,5 +1,5 @@
{ stdenv, fetchurl, autoconf, automake, libtool, pkgconfig, python { stdenv, fetchurl, autoconf, automake, libtool, pkgconfig, python
, boost, db, openssl, geoip, libiconvOrEmpty, miniupnpc , boost, db, openssl, geoip, libiconv, miniupnpc
, srcOnly, fetchgit , srcOnly, fetchgit
}: }:
@ -33,8 +33,8 @@ in stdenv.mkDerivation rec {
buildInputs = [ buildInputs = [
autoconf automake libtool pkgconfig python autoconf automake libtool pkgconfig python
boost db openssl geoip miniupnpc boost db openssl geoip miniupnpc libiconv
] ++ libiconvOrEmpty; ];
postPatch = '' postPatch = ''
sed -i -e '/-htmldir/s|(default: [^)]*)|(default: ${twisterHTML})|' \ sed -i -e '/-htmldir/s|(default: [^)]*)|(default: ${twisterHTML})|' \

View File

@ -1,5 +1,5 @@
{ stdenv, fetchurl, cmake, freetype, libpng, mesa, gettext, openssl, qt5, perl { stdenv, fetchurl, cmake, freetype, libpng, mesa, gettext, openssl, qt5, perl
, libiconvOrEmpty }: , libiconv }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "stellarium-0.13.2"; name = "stellarium-0.13.2";
@ -9,8 +9,7 @@ stdenv.mkDerivation rec {
sha256 = "1asrq1v6vjzxd2zz92brdfs5f5b1qf8zwd7k2dpg3dl4shl8wwg5"; sha256 = "1asrq1v6vjzxd2zz92brdfs5f5b1qf8zwd7k2dpg3dl4shl8wwg5";
}; };
buildInputs = [ cmake freetype libpng mesa gettext openssl qt5 perl ] buildInputs = [ cmake freetype libpng mesa gettext openssl qt5 perl libiconv ];
++ libiconvOrEmpty;
enableParallelBuilding = true; enableParallelBuilding = true;

View File

@ -1,7 +1,7 @@
{ stdenv, fetchurl { stdenv, fetchurl
, qt4, xapian, file, python , qt4, xapian, file, python
, djvulibre, groff, libxslt, unzip, xpdf, antiword, catdoc, lyx , djvulibre, groff, libxslt, unzip, xpdf, antiword, catdoc, lyx
, ghostscript, gawk, gnugrep, gnused, gnutar, gzip, libiconvOrLibc }: , ghostscript, gawk, gnugrep, gnused, gnutar, gzip, libiconv }:
assert stdenv.system != "powerpc-linux"; assert stdenv.system != "powerpc-linux";
@ -31,7 +31,7 @@ stdenv.mkDerivation rec {
substituteInPlace $f --replace grep ${gnugrep}/bin/grep substituteInPlace $f --replace grep ${gnugrep}/bin/grep
substituteInPlace $f --replace groff ${groff}/bin/groff substituteInPlace $f --replace groff ${groff}/bin/groff
substituteInPlace $f --replace gunzip ${gzip}/bin/gunzip substituteInPlace $f --replace gunzip ${gzip}/bin/gunzip
substituteInPlace $f --replace iconv ${libiconvOrLibc}/bin/iconv substituteInPlace $f --replace iconv ${libiconv}/bin/iconv
substituteInPlace $f --replace lyx ${lyx}/bin/lyx substituteInPlace $f --replace lyx ${lyx}/bin/lyx
substituteInPlace $f --replace pdftotext ${xpdf}/bin/pdftotext substituteInPlace $f --replace pdftotext ${xpdf}/bin/pdftotext
substituteInPlace $f --replace pstotext ${ghostscript}/bin/ps2ascii substituteInPlace $f --replace pstotext ${ghostscript}/bin/ps2ascii

View File

@ -1,4 +1,4 @@
{ stdenv, fetchurl, ruby, bundler, libiconv, libiconvOrNull, libiconvOrLibc, libxslt, libxml2, pkgconfig, libffi, glibc, imagemagickBig, postgresql }: { stdenv, fetchurl, ruby, bundler, libiconv, libxslt, libxml2, pkgconfig, libffi, glibc, imagemagickBig, postgresql }:
let let
gemspec = map (gem: fetchurl { url=gem.url; sha256=gem.hash; }) (import ./Gemfile.nix); gemspec = map (gem: fetchurl { url=gem.url; sha256=gem.hash; }) (import ./Gemfile.nix);
@ -25,8 +25,7 @@ in stdenv.mkDerivation rec {
''; '';
buildInputs = [ buildInputs = [
ruby bundler ruby bundler libiconv
] ++ (if (libiconvOrNull != null) then [libiconv] else []) ++ [
libxslt libxml2 pkgconfig libffi libxslt libxml2 pkgconfig libffi
imagemagickBig postgresql imagemagickBig postgresql
]; ];
@ -48,7 +47,7 @@ in stdenv.mkDerivation rec {
bundle config build.nokogiri \ bundle config build.nokogiri \
--use-system-libraries \ --use-system-libraries \
--with-iconv-dir=${libiconvOrLibc} \ --with-iconv-dir=${libiconv} \
--with-xslt-dir=${libxslt} \ --with-xslt-dir=${libxslt} \
--with-xml2-dir=${libxml2} \ --with-xml2-dir=${libxml2} \
--with-pkg-config \ --with-pkg-config \

View File

@ -1,6 +1,6 @@
{ stdenv, fetchurl { stdenv, fetchurl
, libX11, wxGTK , libX11, wxGTK
, libiconvOrEmpty, fontconfig, freetype , libiconv, fontconfig, freetype
, mesa , mesa
, libass, fftw, ffms , libass, fftw, ffms
, ffmpeg, pkgconfig, zlib # Undocumented (?) dependencies , ffmpeg, pkgconfig, zlib # Undocumented (?) dependencies
@ -30,9 +30,8 @@ stdenv.mkDerivation rec {
buildInputs = with stdenv.lib; buildInputs = with stdenv.lib;
[ pkgconfig intltool libX11 wxGTK fontconfig freetype mesa [ pkgconfig intltool libX11 wxGTK fontconfig freetype mesa
libass fftw ffms ffmpeg zlib icu boost boost.lib libass fftw ffms ffmpeg zlib icu boost boost.lib libiconv
] ]
++ libiconvOrEmpty
++ optional spellChecking hunspell ++ optional spellChecking hunspell
++ optional automationSupport lua ++ optional automationSupport lua
++ optional openalSupport openal ++ optional openalSupport openal

View File

@ -79,6 +79,13 @@ if [ "$NIX_ENFORCE_PURITY" = 1 -a -n "$NIX_STORE" ]; then
params=("${rest[@]}") params=("${rest[@]}")
fi fi
if [[ "@prog@" = *++ ]]; then
if echo "$@" | grep -qvw -- -nostdlib; then
NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE $NIX_CXXSTDLIB_COMPILE"
NIX_CFLAGS_LINK="$NIX_CFLAGS_LINK $NIX_CXXSTDLIB_LINK"
fi
fi
# Add the flags for the C compiler proper. # Add the flags for the C compiler proper.
extraAfter=($NIX_CFLAGS_COMPILE) extraAfter=($NIX_CFLAGS_COMPILE)
extraBefore=() extraBefore=()

View File

@ -8,6 +8,7 @@
{ name ? "", stdenv, nativeTools, nativeLibc, nativePrefix ? "" { name ? "", stdenv, nativeTools, nativeLibc, nativePrefix ? ""
, cc ? null, libc ? null, binutils ? null, coreutils ? null, shell ? stdenv.shell , cc ? null, libc ? null, binutils ? null, coreutils ? null, shell ? stdenv.shell
, zlib ? null, extraPackages ? [] , zlib ? null, extraPackages ? []
, dyld ? null # TODO: should this be a setup-hook on dyld?
, setupHook ? ./setup-hook.sh , setupHook ? ./setup-hook.sh
}: }:
@ -55,7 +56,7 @@ stdenv.mkDerivation {
} }
'' ''
+ optionalString (!nativeLibc) '' + optionalString (!nativeLibc) (if (!stdenv.isDarwin) then ''
dynamicLinker="$libc/lib/$dynamicLinker" dynamicLinker="$libc/lib/$dynamicLinker"
echo $dynamicLinker > $out/nix-support/dynamic-linker echo $dynamicLinker > $out/nix-support/dynamic-linker
@ -63,6 +64,17 @@ stdenv.mkDerivation {
echo $libc/lib/32/ld-linux.so.2 > $out/nix-support/dynamic-linker-m32 echo $libc/lib/32/ld-linux.so.2 > $out/nix-support/dynamic-linker-m32
fi fi
# The dynamic linker is passed in `ldflagsBefore' to allow
# explicit overrides of the dynamic linker by callers to gcc/ld
# (the *last* value counts, so ours should come first).
echo "-dynamic-linker" $dynamicLinker > $out/nix-support/libc-ldflags-before
'' else ''
echo $dynamicLinker > $out/nix-support/dynamic-linker
echo "export LD_DYLD_PATH=\"$dynamicLinker\"" >> $out/nix-support/setup-hook
'')
+ optionalString (!nativeLibc) ''
# The "-B$libc/lib/" flag is a quick hack to force gcc to link # The "-B$libc/lib/" flag is a quick hack to force gcc to link
# against the crt1.o from our own glibc, rather than the one in # against the crt1.o from our own glibc, rather than the one in
# /usr/lib. (This is only an issue when using an `impure' # /usr/lib. (This is only an issue when using an `impure'
@ -78,11 +90,6 @@ stdenv.mkDerivation {
echo "-L$libc/lib" > $out/nix-support/libc-ldflags echo "-L$libc/lib" > $out/nix-support/libc-ldflags
# The dynamic linker is passed in `ldflagsBefore' to allow
# explicit overrides of the dynamic linker by callers to gcc/ld
# (the *last* value counts, so ours should come first).
echo "-dynamic-linker" $dynamicLinker > $out/nix-support/libc-ldflags-before
echo $libc > $out/nix-support/orig-libc echo $libc > $out/nix-support/orig-libc
'' ''
@ -213,7 +220,10 @@ stdenv.mkDerivation {
'' ''
+ '' + ''
substituteAll ${setupHook} $out/nix-support/setup-hook substituteAll ${setupHook} $out/nix-support/setup-hook.tmp
cat $out/nix-support/setup-hook.tmp >> $out/nix-support/setup-hook
rm $out/nix-support/setup-hook.tmp
substituteAll ${./add-flags} $out/nix-support/add-flags.sh substituteAll ${./add-flags} $out/nix-support/add-flags.sh
cp -p ${./utils.sh} $out/nix-support/utils.sh cp -p ${./utils.sh} $out/nix-support/utils.sh
''; '';
@ -227,6 +237,7 @@ stdenv.mkDerivation {
if stdenv.isArm then "ld-linux*.so.3" else if stdenv.isArm then "ld-linux*.so.3" else
if stdenv.system == "powerpc-linux" then "ld.so.1" else if stdenv.system == "powerpc-linux" then "ld.so.1" else
if stdenv.system == "mips64el-linux" then "ld.so.1" else if stdenv.system == "mips64el-linux" then "ld.so.1" else
if stdenv.system == "x86_64-darwin" then "${dyld}/lib/dyld" else
abort "Don't know the name of the dynamic linker for this platform.") abort "Don't know the name of the dynamic linker for this platform.")
else ""; else "";

View File

@ -12,6 +12,10 @@ addCVars () {
if [ -d $1/lib ]; then if [ -d $1/lib ]; then
export NIX_LDFLAGS+=" -L$1/lib" export NIX_LDFLAGS+=" -L$1/lib"
fi fi
if test -d $1/Library/Frameworks; then
export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -F$1/Library/Frameworks"
fi
} }
envHooks+=(addCVars) envHooks+=(addCVars)

View File

@ -1,5 +1,5 @@
{ stdenv, fetchurl, pkgconfig, flex, bison, libxslt { stdenv, fetchurl, pkgconfig, flex, bison, libxslt
, glib, libiconvOrEmpty, libintlOrEmpty , glib, libiconv, libintlOrEmpty
}: }:
let let
@ -25,7 +25,6 @@ stdenv.mkDerivation rec {
nativeBuildInputs = [ pkgconfig flex bison libxslt ]; nativeBuildInputs = [ pkgconfig flex bison libxslt ];
buildInputs = [ glib ] buildInputs = [ glib libiconv ]
++ libiconvOrEmpty
++ libintlOrEmpty; ++ libintlOrEmpty;
} }

View File

@ -1,5 +1,5 @@
{ stdenv, fetchurl, pkgconfig, flex, bison, libxslt { stdenv, fetchurl, pkgconfig, flex, bison, libxslt
, glib, libiconvOrEmpty, libintlOrEmpty , glib, libiconv, libintlOrEmpty
}: }:
let let
@ -25,7 +25,6 @@ stdenv.mkDerivation rec {
nativeBuildInputs = [ pkgconfig flex bison libxslt ]; nativeBuildInputs = [ pkgconfig flex bison libxslt ];
buildInputs = [ glib ] buildInputs = [ glib libiconv ]
++ libiconvOrEmpty
++ libintlOrEmpty; ++ libintlOrEmpty;
} }

View File

@ -1,5 +1,5 @@
{ fetchurl, writeScript, ruby, ncurses, sqlite, libxml2, libxslt, libffi { fetchurl, writeScript, ruby, ncurses, sqlite, libxml2, libxslt, libffi
, zlib, libuuid, gems, jdk, python, stdenv, libiconvOrEmpty, imagemagick , zlib, libuuid, gems, jdk, python, stdenv, libiconv, imagemagick
, pkgconfig }: , pkgconfig }:
let let
@ -33,7 +33,7 @@ in
NIX_POST_EXTRACT_FILES_HOOK = patchUsrBinEnv; NIX_POST_EXTRACT_FILES_HOOK = patchUsrBinEnv;
}; };
iconv = { buildInputs = [ libiconvOrEmpty ]; }; iconv = { buildInputs = [ libiconv ]; };
libv8 = { libv8 = {
# This fix is needed to fool scons, which clears the environment by default. # This fix is needed to fool scons, which clears the environment by default.

View File

@ -2,7 +2,7 @@
, sslSupport ? true, openssl , sslSupport ? true, openssl
, bdbSupport ? false, db , bdbSupport ? false, db
, ldapSupport ? true, openldap , ldapSupport ? true, openldap
, libiconvOrNull , libiconv
}: }:
assert sslSupport -> openssl != null; assert sslSupport -> openssl != null;
@ -29,7 +29,7 @@ stdenv.mkDerivation rec {
${stdenv.lib.optionalString ldapSupport "--with-ldap"} ${stdenv.lib.optionalString ldapSupport "--with-ldap"}
''; '';
propagatedBuildInputs = [ makeWrapper apr expat libiconvOrNull ] propagatedBuildInputs = [ makeWrapper apr expat libiconv ]
++ optional sslSupport openssl ++ optional sslSupport openssl
++ optional bdbSupport db ++ optional bdbSupport db
++ optional ldapSupport openldap; ++ optional ldapSupport openldap;

View File

@ -1,5 +1,5 @@
{ fetchurl, stdenv, pkgconfig, libdaemon, dbus, perl, perlXMLParser { fetchurl, stdenv, pkgconfig, libdaemon, dbus, perl, perlXMLParser
, expat, gettext, intltool, glib, libiconvOrEmpty , expat, gettext, intltool, glib, libiconv
, qt4 ? null , qt4 ? null
, qt4Support ? false , qt4Support ? false
, withLibdnssdCompat ? false }: , withLibdnssdCompat ? false }:
@ -16,9 +16,8 @@ stdenv.mkDerivation rec {
patches = [ ./no-mkdir-localstatedir.patch ]; patches = [ ./no-mkdir-localstatedir.patch ];
buildInputs = [ libdaemon dbus perl perlXMLParser glib expat ] buildInputs = [ libdaemon dbus perl perlXMLParser glib expat libiconv ]
++ (stdenv.lib.optional qt4Support qt4) ++ (stdenv.lib.optional qt4Support qt4);
++ libiconvOrEmpty;
nativeBuildInputs = [ pkgconfig gettext intltool ]; nativeBuildInputs = [ pkgconfig gettext intltool ];

View File

@ -1,4 +1,4 @@
{ stdenv, fetchurl, fetchpatch, pkgconfig, libiconvOrEmpty, libintlOrEmpty { stdenv, fetchurl, fetchpatch, pkgconfig, libiconv, libintlOrEmpty
, expat, zlib, libpng, pixman, fontconfig, freetype, xlibs , expat, zlib, libpng, pixman, fontconfig, freetype, xlibs
, gobjectSupport ? true, glib , gobjectSupport ? true, glib
, xcbSupport ? true # no longer experimental since 1.12 , xcbSupport ? true # no longer experimental since 1.12
@ -24,7 +24,7 @@ stdenv.mkDerivation rec {
sha256 = "0mk2fd9fwxqzravlmnbbrzwak15wqspn7609y0yn6qh87va5i0x4"; sha256 = "0mk2fd9fwxqzravlmnbbrzwak15wqspn7609y0yn6qh87va5i0x4";
})]; })];
nativeBuildInputs = [ pkgconfig ] ++ libintlOrEmpty ++ libiconvOrEmpty; nativeBuildInputs = [ pkgconfig libiconv ] ++ libintlOrEmpty;
propagatedBuildInputs = propagatedBuildInputs =
with xlibs; [ xlibs.xlibs fontconfig expat freetype pixman zlib libpng ] with xlibs; [ xlibs.xlibs fontconfig expat freetype pixman zlib libpng ]

View File

@ -1,4 +1,4 @@
{ stdenv, fetchurl, pkgconfig, expat, gettext, libiconvOrEmpty, dbus, glib }: { stdenv, fetchurl, pkgconfig, expat, gettext, libiconv, dbus, glib }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "dbus-glib-0.102"; name = "dbus-glib-0.102";
@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
nativeBuildInputs = [ pkgconfig gettext ]; nativeBuildInputs = [ pkgconfig gettext ];
buildInputs = [ expat ] ++ libiconvOrEmpty; buildInputs = [ expat libiconv ];
propagatedBuildInputs = [ dbus.libs glib ]; propagatedBuildInputs = [ dbus.libs glib ];

View File

@ -1,5 +1,5 @@
{ stdenv, fetchurl, pkgconfig, gettext, perl, python { stdenv, fetchurl, pkgconfig, gettext, perl, python
, libiconvOrEmpty, libintlOrEmpty, zlib, libffi, pcre, libelf , libiconv, libintlOrEmpty, zlib, libffi, pcre, libelf
# this is just for tests (not in closure of any regular package) # this is just for tests (not in closure of any regular package)
, coreutils, dbus_daemon, libxml2, tzdata, desktop_file_utils, shared_mime_info, doCheck ? false , coreutils, dbus_daemon, libxml2, tzdata, desktop_file_utils, shared_mime_info, doCheck ? false
@ -60,8 +60,7 @@ stdenv.mkDerivation rec {
nativeBuildInputs = [ pkgconfig gettext perl python ]; nativeBuildInputs = [ pkgconfig gettext perl python ];
propagatedBuildInputs = [ pcre zlib libffi ] propagatedBuildInputs = [ pcre zlib libffi libiconv ]
++ optional (!stdenv.isDarwin) libiconvOrEmpty
++ libintlOrEmpty; ++ libintlOrEmpty;
configureFlags = configureFlags =

View File

@ -1,8 +1,8 @@
{ stdenv, fetchurl, m4, cxx ? true, withStatic ? false }: { stdenv, fetchurl, m4, cxx ? true, withStatic ? true }:
with { inherit (stdenv.lib) optional; }; with { inherit (stdenv.lib) optional; };
stdenv.mkDerivation (rec { stdenv.mkDerivation rec {
name = "gmp-5.1.3"; name = "gmp-5.1.3";
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
@ -30,6 +30,8 @@ stdenv.mkDerivation (rec {
doCheck = true; doCheck = true;
dontDisableStatic = withStatic;
enableParallelBuilding = true; enableParallelBuilding = true;
meta = with stdenv.lib; { meta = with stdenv.lib; {
@ -63,6 +65,3 @@ stdenv.mkDerivation (rec {
maintainers = [ maintainers.simons ]; maintainers = [ maintainers.simons ];
}; };
} }
// stdenv.lib.optionalAttrs withStatic { dontDisableStatic = true; }
)

View File

@ -1,5 +1,5 @@
{ fetchurl, stdenv, pkgconfig, intltool, gettext, glib, libxml2, zlib, bzip2 { fetchurl, stdenv, pkgconfig, intltool, gettext, glib, libxml2, zlib, bzip2
, python, gdk_pixbuf, libiconvOrEmpty, libintlOrEmpty }: , python, gdk_pixbuf, libiconv, libintlOrEmpty }:
with { inherit (stdenv.lib) optionals; }; with { inherit (stdenv.lib) optionals; };
@ -15,8 +15,7 @@ stdenv.mkDerivation rec {
buildInputs = [ gettext bzip2 zlib python ]; buildInputs = [ gettext bzip2 zlib python ];
propagatedBuildInputs = [ libxml2 glib gdk_pixbuf ] propagatedBuildInputs = [ libxml2 glib gdk_pixbuf libiconv ]
++ libiconvOrEmpty
++ libintlOrEmpty; ++ libintlOrEmpty;
doCheck = true; doCheck = true;

View File

@ -1,4 +1,4 @@
{ stdenv, fetchurl, boost, openssl, pkgconfig, zlib, python, libiconvOrNull, geoip { stdenv, fetchurl, boost, openssl, pkgconfig, zlib, python, libiconv, geoip
# Version specific options # Version specific options
, version, sha256 , version, sha256
, ... }: , ... }:
@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
inherit sha256; inherit sha256;
}; };
buildInputs = [ boost pkgconfig openssl zlib python libiconvOrNull geoip ]; buildInputs = [ boost pkgconfig openssl zlib python libiconv geoip ];
configureFlags = [ configureFlags = [
"--enable-python-binding" "--enable-python-binding"
@ -19,7 +19,8 @@ stdenv.mkDerivation rec {
"--with-libiconv=yes" "--with-libiconv=yes"
"--with-boost=${boost.dev}" "--with-boost=${boost.dev}"
"--with-boost-libdir=${boost.lib}/lib" "--with-boost-libdir=${boost.lib}/lib"
] ++ stdenv.lib.optional (libiconvOrNull != null) "--with-libiconv=yes"; "--with-libiconv=yes"
];
meta = with stdenv.lib; { meta = with stdenv.lib; {
homepage = http://www.rasterbar.com/products/libtorrent/; homepage = http://www.rasterbar.com/products/libtorrent/;

View File

@ -1,4 +1,4 @@
{ stdenv, fetchurl, libiconvOrEmpty, pkgconfig, libffi, libtasn1 }: { stdenv, fetchurl, libiconv, pkgconfig, libffi, libtasn1 }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "p11-kit-0.20.2"; name = "p11-kit-0.20.2";
@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
configureFlags = "--without-libtasn1"; configureFlags = "--without-libtasn1";
buildInputs = [ pkgconfig libffi libtasn1 ] ++ libiconvOrEmpty; buildInputs = [ pkgconfig libffi libtasn1 libiconv ];
meta = { meta = {
homepage = http://p11-glue.freedesktop.org/; homepage = http://p11-glue.freedesktop.org/;

View File

@ -1,4 +1,4 @@
{ stdenv, fetchurl, fetchpatch, pkgconfig, cmake, libiconvOrEmpty, libintlOrEmpty { stdenv, fetchurl, fetchpatch, pkgconfig, cmake, libiconv, libintlOrEmpty
, zlib, curl, cairo, freetype, fontconfig, lcms, libjpeg, openjpeg , zlib, curl, cairo, freetype, fontconfig, lcms, libjpeg, openjpeg
, qt4Support ? false, qt4 ? null, qt5 , qt4Support ? false, qt4 ? null, qt5
}: }:
@ -26,7 +26,7 @@ let
propagatedBuildInputs = [ zlib cairo freetype fontconfig libjpeg lcms curl openjpeg ]; propagatedBuildInputs = [ zlib cairo freetype fontconfig libjpeg lcms curl openjpeg ];
nativeBuildInputs = [ pkgconfig cmake ] ++ libiconvOrEmpty ++ libintlOrEmpty; nativeBuildInputs = [ pkgconfig cmake libiconv ] ++ libintlOrEmpty;
cmakeFlags = "-DENABLE_XPDF_HEADERS=ON -DENABLE_LIBCURL=ON -DENABLE_ZLIB=ON"; cmakeFlags = "-DENABLE_XPDF_HEADERS=ON -DENABLE_LIBCURL=ON -DENABLE_ZLIB=ON";

View File

@ -1,4 +1,4 @@
{ stdenv, fetchurl, ncurses, libiconvOrEmpty }: { stdenv, fetchurl, ncurses, libiconv }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "stfl-0.22"; name = "stfl-0.22";
@ -8,7 +8,7 @@ stdenv.mkDerivation rec {
sha256 = "062lqlf3qhp8bcapbpc0k3wym7x6ngncql8jmx5x06p6679szp9d"; sha256 = "062lqlf3qhp8bcapbpc0k3wym7x6ngncql8jmx5x06p6679szp9d";
}; };
buildInputs = [ ncurses ] ++ libiconvOrEmpty; buildInputs = [ ncurses libiconv ];
buildPhase = '' buildPhase = ''
sed -i s%ncursesw/ncurses.h%ncurses.h% stfl_internals.h sed -i s%ncursesw/ncurses.h%ncurses.h% stfl_internals.h

View File

@ -1,4 +1,4 @@
{stdenv, fetchurl, libiconvOrNull, ocaml, findlib, ncurses}: {stdenv, fetchurl, libiconv, ocaml, findlib, ncurses}:
stdenv.mkDerivation { stdenv.mkDerivation {
name = "ocaml-text-0.6"; name = "ocaml-text-0.6";
@ -8,12 +8,9 @@ stdenv.mkDerivation {
sha256 = "0j8gaak0ajnlmn8knvfygqwwzs7awjv5rfn5cbj6qxqbxhjd5m6g"; sha256 = "0j8gaak0ajnlmn8knvfygqwwzs7awjv5rfn5cbj6qxqbxhjd5m6g";
}; };
buildInputs = [ocaml findlib ncurses] buildInputs = [ocaml findlib ncurses libiconv];
++ stdenv.lib.optional (libiconvOrNull != null) libiconvOrNull;
configurePhase = configurePhase = "iconv_prefix=${libiconv} ocaml setup.ml -configure";
(stdenv.lib.optionalString (libiconvOrNull != null) "iconv_prefix=${libiconvOrNull} ")
+ "ocaml setup.ml -configure";
createFindlibDestdir = true; createFindlibDestdir = true;

View File

@ -1,4 +1,4 @@
{ stdenv, fetchurl, dpkg, curl, libarchive, openssl, ruby, buildRubyGem, libiconvOrLibc { stdenv, fetchurl, dpkg, curl, libarchive, openssl, ruby, buildRubyGem, libiconv
, libxml2, libxslt }: , libxml2, libxslt }:
assert stdenv.system == "x86_64-linux" || stdenv.system == "i686-linux"; assert stdenv.system == "x86_64-linux" || stdenv.system == "i686-linux";
@ -73,7 +73,7 @@ stdenv.mkDerivation rec {
# libiconv: iconv # libiconv: iconv
rm opt/vagrant/embedded/bin/iconv rm opt/vagrant/embedded/bin/iconv
ln -s ${libiconvOrLibc}/bin/iconv opt/vagrant/embedded/bin ln -s ${libiconv}/bin/iconv opt/vagrant/embedded/bin
# libxml: xml2-config, xmlcatalog, xmllint # libxml: xml2-config, xmlcatalog, xmllint
rm opt/vagrant/embedded/bin/{xml2-config,xmlcatalog,xmllint} rm opt/vagrant/embedded/bin/{xml2-config,xmlcatalog,xmllint}

View File

@ -1,6 +1,6 @@
{ stdenv, fetchurl, pkgconfig, zlib, expat, openssl { stdenv, fetchurl, pkgconfig, zlib, expat, openssl
, libjpeg, libpng, libtiff, freetype, fontconfig, lcms2, libpaper, jbig2dec , libjpeg, libpng, libtiff, freetype, fontconfig, lcms2, libpaper, jbig2dec
, libiconvOrEmpty , libiconv
, x11Support ? false, x11 ? null , x11Support ? false, x11 ? null
, cupsSupport ? false, cups ? null , cupsSupport ? false, cups ? null
}: }:
@ -33,10 +33,10 @@ stdenv.mkDerivation rec {
buildInputs = buildInputs =
[ pkgconfig zlib expat openssl [ pkgconfig zlib expat openssl
libjpeg libpng libtiff freetype fontconfig lcms2 libpaper jbig2dec libjpeg libpng libtiff freetype fontconfig lcms2 libpaper jbig2dec
libiconv
] ]
++ stdenv.lib.optional x11Support x11 ++ stdenv.lib.optional x11Support x11
++ stdenv.lib.optional cupsSupport cups ++ stdenv.lib.optional cupsSupport cups
++ libiconvOrEmpty
# [] # maybe sometimes jpeg2000 support # [] # maybe sometimes jpeg2000 support
; ;

View File

@ -1,4 +1,4 @@
{ stdenv, fetchurl, zlib, openssl, pam, libiconvOrNull }: { stdenv, fetchurl, zlib, openssl, pam, libiconv }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "ngircd-21"; name = "ngircd-21";
@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
"--with-iconv" "--with-iconv"
]; ];
buildInputs = [ zlib pam openssl libiconvOrNull ]; buildInputs = [ zlib pam openssl libiconv ];
meta = { meta = {
description = "Next Generation IRC Daemon"; description = "Next Generation IRC Daemon";

View File

@ -1,4 +1,4 @@
{ fetchurl, stdenv, pkgconfig, db, libgcrypt, avahi, libiconvOrEmpty, pam, openssl }: { fetchurl, stdenv, pkgconfig, db, libgcrypt, avahi, libiconv, pam, openssl }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "netatalk-3.1.0"; name = "netatalk-3.1.0";
@ -8,7 +8,7 @@ stdenv.mkDerivation rec {
sha256 = "1d8dc8ysslkis4yl1xab1w9p0pz7a1kg0i6fds4wxsp4fhb6wqhq"; sha256 = "1d8dc8ysslkis4yl1xab1w9p0pz7a1kg0i6fds4wxsp4fhb6wqhq";
}; };
buildInputs = [ pkgconfig db libgcrypt avahi pam openssl ] ++ libiconvOrEmpty; buildInputs = [ pkgconfig db libgcrypt avahi pam openssl libiconv ];
configureFlags = [ configureFlags = [
"--with-bdb=${db}" "--with-bdb=${db}"

View File

@ -1,4 +1,4 @@
{ stdenv, fetchurl, libiconvOrEmpty }: { stdenv, fetchurl, libiconv }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
version = "3.0.9"; version = "3.0.9";
@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
cp aescrypt_keygen $out/bin cp aescrypt_keygen $out/bin
''; '';
buildInputs = [ libiconvOrEmpty ]; buildInputs = [ libiconv ];
NIX_LDFLAGS = stdenv.lib.optionalString stdenv.isDarwin "-liconv"; NIX_LDFLAGS = stdenv.lib.optionalString stdenv.isDarwin "-liconv";

View File

@ -1,5 +1,5 @@
{ stdenv, fetchurl, fetchgit, glib, readline, bison, flex, pkgconfig, { stdenv, fetchurl, fetchgit, glib, readline, bison, flex, pkgconfig,
libiconvOrEmpty, autoconf, automake, libtool, which, txt2man, gnome_doc_utils, libiconv, autoconf, automake, libtool, which, txt2man, gnome_doc_utils,
scrollkeeper}: scrollkeeper}:
stdenv.mkDerivation { stdenv.mkDerivation {
@ -13,8 +13,8 @@ stdenv.mkDerivation {
buildInputs = [ buildInputs = [
glib readline bison flex pkgconfig autoconf automake glib readline bison flex pkgconfig autoconf automake
libtool which txt2man gnome_doc_utils scrollkeeper libtool which txt2man gnome_doc_utils scrollkeeper libiconv
] ++ libiconvOrEmpty; ];
preConfigure = '' preConfigure = ''
sed -e 's@static \(GHashTable [*]mdb_backends;\)@\1@' -i src/libmdb/backend.c sed -e 's@static \(GHashTable [*]mdb_backends;\)@\1@' -i src/libmdb/backend.c

View File

@ -1,4 +1,4 @@
{ stdenv, fetchurl, pkgconfig, dbus_glib, libxml2, libxslt, getopt, nixUnstable, dysnomia, libintlOrEmpty, libiconvOrEmpty }: { stdenv, fetchurl, pkgconfig, dbus_glib, libxml2, libxslt, getopt, nixUnstable, dysnomia, libintlOrEmpty, libiconv }:
stdenv.mkDerivation { stdenv.mkDerivation {
name = "disnix-0.3prea0484a2c19d1947c21f11b4fc7c3f6049bd11efa"; name = "disnix-0.3prea0484a2c19d1947c21f11b4fc7c3f6049bd11efa";
@ -8,7 +8,7 @@ stdenv.mkDerivation {
sha256 = "06qjaxysnkm31rgjlqy9n7p59q5v3jl57jm9jya7zf2g90syhdn7"; sha256 = "06qjaxysnkm31rgjlqy9n7p59q5v3jl57jm9jya7zf2g90syhdn7";
}; };
buildInputs = [ pkgconfig dbus_glib libxml2 libxslt getopt nixUnstable libintlOrEmpty libiconvOrEmpty dysnomia ]; buildInputs = [ pkgconfig dbus_glib libxml2 libxslt getopt nixUnstable libintlOrEmpty libiconv dysnomia ];
dontStrip = true; dontStrip = true;

View File

@ -1,4 +1,4 @@
{ stdenv, fetchurl, zlib, bzip2, libiconvOrNull, libxml2, openssl, ncurses, curl }: { stdenv, fetchurl, zlib, bzip2, libiconv, libxml2, openssl, ncurses, curl }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "clamav-${version}"; name = "clamav-${version}";
version = "0.98.6"; version = "0.98.6";
@ -8,20 +8,18 @@ stdenv.mkDerivation rec {
sha256 = "0l99a0shgzpl8rvrrgbm1ki2zxlb7g1n82bhq7f2snj4amfj94b5"; sha256 = "0l99a0shgzpl8rvrrgbm1ki2zxlb7g1n82bhq7f2snj4amfj94b5";
}; };
buildInputs = [ zlib bzip2 libxml2 openssl ncurses curl ] buildInputs = [ zlib bzip2 libxml2 openssl ncurses curl libiconv ];
++ stdenv.lib.optional (libiconvOrNull != null) libiconvOrNull;
configureFlags = [ configureFlags = [
"--with-zlib=${zlib}" "--with-zlib=${zlib}"
"--with-libbz2-prefix=${bzip2}" "--with-libbz2-prefix=${bzip2}"
] ++ (stdenv.lib.optional (libiconvOrNull != null) "--with-iconv-dir=${libiconv}"
"--with-iconv-dir=${libiconvOrNull}")
++ [
"--with-xml=${libxml2}" "--with-xml=${libxml2}"
"--with-openssl=${openssl}" "--with-openssl=${openssl}"
"--with-libncurses-prefix=${ncurses}" "--with-libncurses-prefix=${ncurses}"
"--with-libcurl=${curl}" "--with-libcurl=${curl}"
"--disable-clamav" ]; "--disable-clamav"
];
meta = with stdenv.lib; { meta = with stdenv.lib; {
homepage = http://www.clamav.net; homepage = http://www.clamav.net;

View File

@ -1,5 +1,5 @@
{ fetchurl, stdenv, readline, zlib, libgpgerror, pth, libgcrypt, libassuan { fetchurl, stdenv, readline, zlib, libgpgerror, pth, libgcrypt, libassuan
, libksba, coreutils, libiconvOrEmpty , libksba, coreutils, libiconv
# Each of the dependencies below are optional. # Each of the dependencies below are optional.
# Gnupg can be built without them at the cost of reduced functionality. # Gnupg can be built without them at the cost of reduced functionality.
, pinentry ? null, openldap ? null, bzip2 ? null, libusb ? null, curl ? null , pinentry ? null, openldap ? null, bzip2 ? null, libusb ? null, curl ? null
@ -15,8 +15,7 @@ stdenv.mkDerivation rec {
buildInputs buildInputs
= [ readline zlib libgpgerror libgcrypt libassuan libksba pth = [ readline zlib libgpgerror libgcrypt libassuan libksba pth
openldap bzip2 libusb curl ] openldap bzip2 libusb curl libiconv ];
++ libiconvOrEmpty;
patchPhase = '' patchPhase = ''
find tests -type f | xargs sed -e 's@/bin/pwd@${coreutils}&@g' -i find tests -type f | xargs sed -e 's@/bin/pwd@${coreutils}&@g' -i

View File

@ -1,4 +1,4 @@
{ stdenv, fetchurl, libtool, readline, zlib, openssl, libiconvOrNull, pcsclite { stdenv, fetchurl, libtool, readline, zlib, openssl, libiconv, pcsclite
, libassuan1, pkgconfig, libXt, docbook_xsl, libxslt, docbook_xml_dtd_412 , libassuan1, pkgconfig, libXt, docbook_xsl, libxslt, docbook_xml_dtd_412
}: }:
@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
}; };
buildInputs = [ libtool readline zlib openssl pcsclite libassuan1 pkgconfig buildInputs = [ libtool readline zlib openssl pcsclite libassuan1 pkgconfig
libXt libxslt libiconvOrNull docbook_xml_dtd_412 libXt libxslt libiconv docbook_xml_dtd_412
]; ];
configureFlags = [ configureFlags = [

View File

@ -1,4 +1,4 @@
{ stdenv, fetchurl, libiconvOrNull, recode }: { stdenv, fetchurl, libiconv, recode }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "enca-1.16"; name = "enca-1.16";
@ -8,7 +8,7 @@ stdenv.mkDerivation rec {
sha256 = "0hg7ggldam66l9j53nlrvi2lv1k99r2qfk6dh23vg6mi05cph7bw"; sha256 = "0hg7ggldam66l9j53nlrvi2lv1k99r2qfk6dh23vg6mi05cph7bw";
}; };
buildInputs = [ recode libiconvOrNull ]; buildInputs = [ recode libiconv ];
meta = { meta = {
homepage = http://freecode.com/projects/enca; homepage = http://freecode.com/projects/enca;

View File

@ -1,4 +1,4 @@
{ stdenv, fetchurl, pcre, libiconvOrNull }: { stdenv, fetchurl, pcre, libiconv }:
let version = "2.20"; in let version = "2.20"; in
@ -10,9 +10,7 @@ stdenv.mkDerivation {
sha256 = "0rcs0spsxdmh6yz8y4frkqp6f5iw19mdbdl9s2v6956hq0mlbbzh"; sha256 = "0rcs0spsxdmh6yz8y4frkqp6f5iw19mdbdl9s2v6956hq0mlbbzh";
}; };
buildInputs = [ pcre libiconvOrNull ]; buildInputs = [ pcre libiconv ];
NIX_LDFLAGS = stdenv.lib.optionalString (libiconvOrNull != null) "-L${libiconvOrNull}/lib -liconv";
doCheck = !stdenv.isDarwin; doCheck = !stdenv.isDarwin;

View File

@ -1,6 +1,6 @@
{ fetchurl, stdenv, texinfo, perl { fetchurl, stdenv, texinfo, perl
, XMLSAX, XMLParser, XMLNamespaceSupport , XMLSAX, XMLParser, XMLNamespaceSupport
, groff, libxml2, libxslt, gnused, libiconvOrEmpty, opensp , groff, libxml2, libxslt, gnused, libiconv, opensp
, docbook_xml_dtd_43 , docbook_xml_dtd_43
, makeWrapper }: , makeWrapper }:
@ -17,8 +17,8 @@ stdenv.mkDerivation rec {
patches = [ ./db2x_texixml-to-stdout.patch ]; patches = [ ./db2x_texixml-to-stdout.patch ];
buildInputs = [ perl texinfo groff libxml2 libxslt makeWrapper buildInputs = [ perl texinfo groff libxml2 libxslt makeWrapper
XMLSAX XMLParser XMLNamespaceSupport opensp XMLSAX XMLParser XMLNamespaceSupport opensp libiconv
] ++ libiconvOrEmpty; ];
postConfigure = '' postConfigure = ''
# Broken substitution is used for `perl/config.pl', which leaves literal # Broken substitution is used for `perl/config.pl', which leaves literal

View File

@ -3494,7 +3494,7 @@ let
# Import Haskell infrastructure. # Import Haskell infrastructure.
haskell = let pkgs_ = pkgs // { gmp = gmp.override { withStatic = true; }; }; haskell = let pkgs_ = pkgs // { /* add necessary overrides here */ };
callPackage = newScope pkgs_; callPackage = newScope pkgs_;
newScope = extra: lib.callPackageWith (pkgs_ // pkgs_.xorg // extra); newScope = extra: lib.callPackageWith (pkgs_ // pkgs_.xorg // extra);
in callPackage ./haskell-defaults.nix { pkgs = pkgs_; inherit callPackage newScope; }; in callPackage ./haskell-defaults.nix { pkgs = pkgs_; inherit callPackage newScope; };
@ -6285,19 +6285,10 @@ let
libgsf = callPackage ../development/libraries/libgsf { }; libgsf = callPackage ../development/libraries/libgsf { };
libiconv = callPackage ../development/libraries/libiconv { }; libiconv =
if stdenv.isGlibc
libiconvOrEmpty = if libiconvOrNull == null then [] else [libiconv]; then stdenv.cc.libc
else callPackage ../development/libraries/libiconv { };
libiconvOrNull =
if stdenv.cc.libc or null != null || stdenv.isGlibc
then null
else libiconv;
# The logic behind this attribute is broken: libiconvOrNull==null does
# NOT imply libiconv=glibc! On Darwin, for example, we have a native
# libiconv library which is not glibc.
libiconvOrLibc = if libiconvOrNull == null then stdenv.cc.libc else libiconv;
# On non-GNU systems we need GNU Gettext for libintl. # On non-GNU systems we need GNU Gettext for libintl.
libintlOrEmpty = stdenv.lib.optional (!stdenv.isLinux) gettext; libintlOrEmpty = stdenv.lib.optional (!stdenv.isLinux) gettext;

View File

@ -14,24 +14,24 @@ rec {
libiconv = pkgs.darwin.libiconv; libiconv = pkgs.darwin.libiconv;
}); });
ghc6104 = callPackage ../development/compilers/ghc/6.10.4.nix { ghc = compiler.ghc6102Binary; gmp = pkgs.gmp.override { withStatic = true; }; }; ghc6104 = callPackage ../development/compilers/ghc/6.10.4.nix { ghc = compiler.ghc6102Binary; };
ghc6123 = callPackage ../development/compilers/ghc/6.12.3.nix { ghc = compiler.ghc6102Binary; gmp = pkgs.gmp.override { withStatic = true; }; }; ghc6123 = callPackage ../development/compilers/ghc/6.12.3.nix { ghc = compiler.ghc6102Binary; };
ghc704 = callPackage ../development/compilers/ghc/7.0.4.nix ({ ghc = compiler.ghc704Binary; gmp = pkgs.gmp.override { withStatic = true; }; } // stdenv.lib.optionalAttrs stdenv.isDarwin { ghc704 = callPackage ../development/compilers/ghc/7.0.4.nix ({ ghc = compiler.ghc704Binary; } // stdenv.lib.optionalAttrs stdenv.isDarwin {
libiconv = pkgs.darwin.libiconv; libiconv = pkgs.darwin.libiconv;
}); });
ghc722 = callPackage ../development/compilers/ghc/7.2.2.nix ({ ghc = compiler.ghc704Binary; gmp = pkgs.gmp.override { withStatic = true; }; } // stdenv.lib.optionalAttrs stdenv.isDarwin { ghc722 = callPackage ../development/compilers/ghc/7.2.2.nix ({ ghc = compiler.ghc704Binary; } // stdenv.lib.optionalAttrs stdenv.isDarwin {
libiconv = pkgs.darwin.libiconv; libiconv = pkgs.darwin.libiconv;
}); });
ghc742 = callPackage ../development/compilers/ghc/7.4.2.nix ({ ghc = compiler.ghc704Binary; gmp = pkgs.gmp.override { withStatic = true; }; } // stdenv.lib.optionalAttrs stdenv.isDarwin { ghc742 = callPackage ../development/compilers/ghc/7.4.2.nix ({ ghc = compiler.ghc704Binary; } // stdenv.lib.optionalAttrs stdenv.isDarwin {
libiconv = pkgs.darwin.libiconv; libiconv = pkgs.darwin.libiconv;
}); });
ghc763 = callPackage ../development/compilers/ghc/7.6.3.nix ({ ghc = compiler.ghc704Binary; gmp = pkgs.gmp.override { withStatic = true; }; } // stdenv.lib.optionalAttrs stdenv.isDarwin { ghc763 = callPackage ../development/compilers/ghc/7.6.3.nix ({ ghc = compiler.ghc704Binary; } // stdenv.lib.optionalAttrs stdenv.isDarwin {
libiconv = pkgs.darwin.libiconv; libiconv = pkgs.darwin.libiconv;
}); });
ghc784 = callPackage ../development/compilers/ghc/7.8.4.nix ({ ghc = compiler.ghc742Binary; gmp = pkgs.gmp.override { withStatic = true; }; } // stdenv.lib.optionalAttrs stdenv.isDarwin { ghc784 = callPackage ../development/compilers/ghc/7.8.4.nix ({ ghc = compiler.ghc742Binary; } // stdenv.lib.optionalAttrs stdenv.isDarwin {
libiconv = pkgs.darwin.libiconv; libiconv = pkgs.darwin.libiconv;
}); });
ghc7101 = callPackage ../development/compilers/ghc/7.10.1.nix ({ ghc = compiler.ghc784; gmp = pkgs.gmp.override { withStatic = true; }; } // stdenv.lib.optionalAttrs stdenv.isDarwin { ghc7101 = callPackage ../development/compilers/ghc/7.10.1.nix ({ ghc = compiler.ghc784; } // stdenv.lib.optionalAttrs stdenv.isDarwin {
libiconv = pkgs.darwin.libiconv; libiconv = pkgs.darwin.libiconv;
}); });
ghcHEAD = callPackage ../development/compilers/ghc/head.nix ({ inherit (packages.ghc784) ghc alex happy; } // stdenv.lib.optionalAttrs stdenv.isDarwin { ghcHEAD = callPackage ../development/compilers/ghc/head.nix ({ inherit (packages.ghc784) ghc alex happy; } // stdenv.lib.optionalAttrs stdenv.isDarwin {