diff --git a/pkgs/development/libraries/gmp/5.1.x.nix b/pkgs/development/libraries/gmp/5.1.x.nix index 0df1a4f8cd83..7b393067ff52 100644 --- a/pkgs/development/libraries/gmp/5.1.x.nix +++ b/pkgs/development/libraries/gmp/5.1.x.nix @@ -1,6 +1,6 @@ { stdenv, fetchurl, m4, cxx ? true, withStatic ? true }: -with { inherit (stdenv.lib) optional; }; +with { inherit (stdenv.lib) optional optionalString; }; stdenv.mkDerivation rec { name = "gmp-5.1.3"; @@ -28,6 +28,13 @@ stdenv.mkDerivation rec { ++ optional stdenv.is64bit "--with-pic" ; + # The config.guess in GMP tries to runtime-detect various + # ARM optimization flags via /proc/cpuinfo (and is also + # broken on multicore CPUs). Avoid this impurity. + preConfigure = optionalString stdenv.isArm '' + configureFlagsArray+=("--build=$(./configfsf.guess)") + ''; + doCheck = true; dontDisableStatic = withStatic; diff --git a/pkgs/development/libraries/gmp/6.x.nix b/pkgs/development/libraries/gmp/6.x.nix index b7350c19960a..171611e12498 100644 --- a/pkgs/development/libraries/gmp/6.x.nix +++ b/pkgs/development/libraries/gmp/6.x.nix @@ -1,6 +1,6 @@ { stdenv, fetchurl, m4, cxx ? true, withStatic ? true }: -with { inherit (stdenv.lib) optional; }; +with { inherit (stdenv.lib) optional optionalString; }; stdenv.mkDerivation rec { name = "gmp-6.0.0a"; @@ -26,6 +26,13 @@ stdenv.mkDerivation rec { ++ optional stdenv.is64bit "--with-pic" ; + # The config.guess in GMP tries to runtime-detect various + # ARM optimization flags via /proc/cpuinfo (and is also + # broken on multicore CPUs). Avoid this impurity. + preConfigure = optionalString stdenv.isArm '' + configureFlagsArray+=("--build=$(./configfsf.guess)") + ''; + doCheck = true; dontDisableStatic = withStatic;