diff --git a/pkgs/development/libraries/libelf/default.nix b/pkgs/development/libraries/libelf/default.nix index bd0d23bd0cdb..bb1dbe51765e 100644 --- a/pkgs/development/libraries/libelf/default.nix +++ b/pkgs/development/libraries/libelf/default.nix @@ -1,5 +1,5 @@ -{ stdenv, fetchurl -, gettext, glibc +{ stdenv +, fetchurl, autoreconfHook, gettext , buildPlatform, hostPlatform }: @@ -17,12 +17,20 @@ stdenv.mkDerivation rec { doCheck = true; - # Libelf's custom NLS macros fail to determine the catalog file extension on - # Darwin, so disable NLS for now. - # FIXME: Eventually make Gettext a build input on all platforms. - configureFlags = stdenv.lib.optional hostPlatform.isDarwin "--disable-nls"; + configureFlags = [] + # Configure check for dynamic lib support is broken, see + # http://lists.uclibc.org/pipermail/uclibc-cvs/2005-August/019383.html + ++ stdenv.lib.optional (hostPlatform != buildPlatform) "mr_cv_target_elf=yes" + # Libelf's custom NLS macros fail to determine the catalog file extension + # on Darwin, so disable NLS for now. + ++ stdenv.lib.optional hostPlatform.isDarwin "--disable-nls"; - nativeBuildInputs = [ gettext ]; + nativeBuildInputs = [ gettext ] + # Need to regenerate configure script with newer version in order to pass + # "mr_cv_target_elf=yes", but `autoreconfHook` brings in `makeWrapper` + # which doesn't work with the bootstrapTools bash, so can only do this + # for cross builds when `stdenv.shell` is a newer bash. + ++ stdenv.lib.optional (hostPlatform != buildPlatform) autoreconfHook; meta = { description = "ELF object file access library";