diff --git a/pkgs/tools/networking/uwimap/default.nix b/pkgs/tools/networking/uwimap/default.nix index ad9eea0eced..125c83da4c4 100644 --- a/pkgs/tools/networking/uwimap/default.nix +++ b/pkgs/tools/networking/uwimap/default.nix @@ -1,6 +1,6 @@ { stdenv, fetchurl, fetchpatch, pam, openssl }: -stdenv.mkDerivation { +stdenv.mkDerivation ({ name = "uw-imap-2007f"; src = fetchurl { @@ -12,7 +12,8 @@ stdenv.mkDerivation { then "osx" else "lnp" # Linux with PAM modules; # -fPIC is required to compile php with imap on x86_64 systems - + stdenv.lib.optionalString stdenv.isx86_64 " EXTRACFLAGS=-fPIC"; + + stdenv.lib.optionalString stdenv.isx86_64 " EXTRACFLAGS=-fPIC" + + stdenv.lib.optionalString (stdenv.buildPlatform != stdenv.hostPlatform) " CC=${stdenv.hostPlatform.config}-gcc RANLIB=${stdenv.hostPlatform.config}-ranlib"; hardeningDisable = [ "format" ]; @@ -51,4 +52,11 @@ stdenv.mkDerivation { passthru = { withSSL = true; }; -} +} // stdenv.lib.optionalAttrs (stdenv.buildPlatform != stdenv.hostPlatform) { + # This is set here to prevent rebuilds on native compilation. + # Configure phase is a no-op there, because this package doesn't use ./configure scripts. + configurePhase = '' + echo "Cross-compilation, injecting make flags" + makeFlagsArray+=("ARRC=${stdenv.hostPlatform.config}-ar rc") + ''; +})