some libintl and libiconv cleanups + non-linux fixes

This commit is contained in:
Vladimír Čunát 2013-04-14 13:27:58 +02:00
parent 56afb97e87
commit d8a2ae8d01
5 changed files with 15 additions and 23 deletions

View File

@ -1,4 +1,4 @@
{ stdenv, fetchurl, yacc, flex, pkgconfig, glib, xz, libiconvOrEmpty }: { stdenv, fetchurl, yacc, flex, pkgconfig, glib, libintlOrEmpty }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
nativeBuildInputs = [ yacc flex pkgconfig ]; nativeBuildInputs = [ yacc flex pkgconfig ];
buildInputs = [ glib ] ++ libiconvOrEmpty; buildInputs = [ glib ] ++ libintlOrEmpty;
meta = { meta = {
description = "Compiler for the GObject type system"; description = "Compiler for the GObject type system";

View File

@ -5,7 +5,7 @@
, gobjectSupport ? true, glib , gobjectSupport ? true, glib
, stdenv, fetchurl, pkgconfig, x11, fontconfig, freetype, xlibs , stdenv, fetchurl, pkgconfig, x11, fontconfig, freetype, xlibs
, zlib, libpng, pixman, libxcb ? null, xcbutil ? null , zlib, libpng, pixman, libxcb ? null, xcbutil ? null
, gettext, libiconvOrEmpty , libiconvOrEmpty, libintlOrEmpty
}: }:
assert postscriptSupport -> zlib != null; assert postscriptSupport -> zlib != null;
@ -23,10 +23,7 @@ stdenv.mkDerivation rec {
buildInputs = buildInputs =
[ pkgconfig x11 fontconfig xlibs.libXrender ] [ pkgconfig x11 fontconfig xlibs.libXrender ]
++ stdenv.lib.optionals xcbSupport [ libxcb xcbutil ] ++ stdenv.lib.optionals xcbSupport [ libxcb xcbutil ]
++ libintlOrEmpty
# On non-GNU systems we need GNU Gettext for libintl.
++ stdenv.lib.optional (!stdenv.isLinux) gettext
++ libiconvOrEmpty; ++ libiconvOrEmpty;
propagatedBuildInputs = propagatedBuildInputs =

View File

@ -5,7 +5,7 @@
, gobjectSupport ? true, glib , gobjectSupport ? true, glib
, stdenv, fetchurl, pkgconfig, x11, fontconfig, freetype, xlibs , stdenv, fetchurl, pkgconfig, x11, fontconfig, freetype, xlibs
, zlib, libpng, pixman, libxcb ? null, xcbutil ? null , zlib, libpng, pixman, libxcb ? null, xcbutil ? null
, gettext, libiconvOrEmpty , libiconvOrEmpty, libintlOrEmpty
}: }:
assert postscriptSupport -> zlib != null; assert postscriptSupport -> zlib != null;
@ -21,13 +21,10 @@ stdenv.mkDerivation rec {
}; };
buildInputs = buildInputs =
[ pkgconfig x11 fontconfig ] [ pkgconfig x11 fontconfig ]
++ stdenv.lib.optional (!stdenv.isDarwin) xlibs.libXrender ++ stdenv.lib.optional (!stdenv.isDarwin) xlibs.libXrender
++ stdenv.lib.optionals xcbSupport [ libxcb xcbutil ] ++ stdenv.lib.optionals xcbSupport [ libxcb xcbutil ]
++ libintlOrEmpty
# On non-GNU systems we need GNU Gettext for libintl.
++ stdenv.lib.optional (!stdenv.isLinux) gettext
++ libiconvOrEmpty; ++ libiconvOrEmpty;
propagatedBuildInputs = propagatedBuildInputs =

View File

@ -1,6 +1,6 @@
{ fetchurl, stdenv, texinfo, perl { fetchurl, stdenv, texinfo, perl
, XMLSAX, XMLParser, XMLNamespaceSupport , XMLSAX, XMLParser, XMLNamespaceSupport
, groff, libxml2, libxslt, gnused, libiconv, opensp , groff, libxml2, libxslt, gnused, libiconvOrEmpty, opensp
, docbook_xml_dtd_43 , docbook_xml_dtd_43
, makeWrapper }: , makeWrapper }:
@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
buildInputs = [ perl texinfo groff libxml2 libxslt makeWrapper buildInputs = [ perl texinfo groff libxml2 libxslt makeWrapper
XMLSAX XMLParser XMLNamespaceSupport opensp XMLSAX XMLParser XMLNamespaceSupport opensp
] ++ (if libiconv != null then [libiconv] else []); ] ++ 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

@ -689,7 +689,6 @@ let
docbook2x = callPackage ../tools/typesetting/docbook2x { docbook2x = callPackage ../tools/typesetting/docbook2x {
inherit (perlPackages) XMLSAX XMLParser XMLNamespaceSupport; inherit (perlPackages) XMLSAX XMLParser XMLNamespaceSupport;
libiconv = if stdenv.isDarwin then libiconv else null;
}; };
dosfstools = callPackage ../tools/filesystems/dosfstools { }; dosfstools = callPackage ../tools/filesystems/dosfstools { };
@ -847,13 +846,9 @@ let
guile = guile_1_8; guile = guile_1_8;
}; };
gnugrep = gnugrep = callPackage ../tools/text/gnugrep {
# Use libiconv only on non-GNU platforms (we can't test with libiconv = libiconvOrNull;
# `stdenv ? glibc' at this point.) };
let gnu = stdenv.isLinux; in
callPackage ../tools/text/gnugrep {
libiconv = if gnu then null else libiconv;
};
gnulib = callPackage ../development/tools/gnulib { }; gnulib = callPackage ../development/tools/gnulib { };
@ -4325,6 +4320,9 @@ let
libiconvOrLibc = if libiconvOrNull == null then gcc.libc else libiconv; libiconvOrLibc = if libiconvOrNull == null then gcc.libc else libiconv;
# On non-GNU systems we need GNU Gettext for libintl.
libintlOrEmpty = stdenv.lib.optional (!stdenv.isLinux) gettext;
libid3tag = callPackage ../development/libraries/libid3tag { }; libid3tag = callPackage ../development/libraries/libid3tag { };
libidn = callPackage ../development/libraries/libidn { }; libidn = callPackage ../development/libraries/libidn { };