From a2b474b9b56956b0126cba6b88597db6e03f1ba5 Mon Sep 17 00:00:00 2001 From: Vika Date: Wed, 21 Aug 2019 16:45:17 +0300 Subject: [PATCH] uwimap: Fixed cross-compilation Shouldn't cause a rebuild of native package. The build system, as with Lua, couldn't find cc, ar and ranlib - I helped it a little. --- pkgs/tools/networking/uwimap/default.nix | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/pkgs/tools/networking/uwimap/default.nix b/pkgs/tools/networking/uwimap/default.nix index 7cb489a3f21..9035024a49c 100644 --- a/pkgs/tools/networking/uwimap/default.nix +++ b/pkgs/tools/networking/uwimap/default.nix @@ -1,6 +1,6 @@ {stdenv, fetchurl, 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" ]; @@ -46,4 +47,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") + ''; +})