diff options
-rw-r--r-- | pkgs/development/libraries/gettext/default.nix | 24 |
1 files changed, 22 insertions, 2 deletions
diff --git a/pkgs/development/libraries/gettext/default.nix b/pkgs/development/libraries/gettext/default.nix index f7b31139b562..73366b2bdc95 100644 --- a/pkgs/development/libraries/gettext/default.nix +++ b/pkgs/development/libraries/gettext/default.nix @@ -1,6 +1,6 @@ { stdenv, fetchurl, libiconv }: -stdenv.mkDerivation rec { +stdenv.mkDerivation (rec { name = "gettext-0.18.1.1"; src = fetchurl { @@ -8,7 +8,14 @@ stdenv.mkDerivation rec { sha256 = "1sa3ch12qxa4h3ya6hkz119yclcccmincl9j20dhrdx5mykp3b4k"; }; - configureFlags = "--disable-csharp"; + configureFlags = [ "--disable-csharp" ] + ++ (stdenv.lib.optionals stdenv.isCygwin + [ # We have a static libiconv, so we can only build the static lib. + "--disable-shared" "--enable-static" + + # Share the cache among the various `configure' runs. + "--config-cache" + ]); # On cross building, gettext supposes that the wchar.h from libc # does not fulfill gettext needs, so it tries to work with its @@ -60,3 +67,16 @@ stdenv.mkDerivation rec { platforms = stdenv.lib.platforms.all; }; } + +// + +stdenv.lib.optionalAttrs stdenv.isCygwin { + patchPhase = + # Make sure `error.c' gets compiled and is part of `libgettextlib.la'. + # This fixes: + # gettext-0.18.1.1/gettext-tools/src/msgcmp.c:371: undefined reference to `_error_message_count' + + '' sed -i gettext-tools/gnulib-lib/Makefile.in \ + -e 's/am_libgettextlib_la_OBJECTS =/am_libgettextlib_la_OBJECTS = error.lo/g' + ''; +}) |