forked from mirrors/nixpkgs
gmp: Fix build on ARM
The config.guess script tries to detect various ARM optimization flags via /proc/cpuinfo. This is not only impure, but the detection is also broken on multicore machines; on my quad-core system the machine type is autodetected as 'neon neon neon neon-unknown-linux-gnueabihf': checking build system type... Invalid configuration `neon': machine `neon' not recognized configure: error: /nix/store/bafimhdj1yaxj6m1hvq7wvhwwizc939x-bootstrap-tools/bin/sh ./config.sub neon neon neon neon-unknown-linux-gnueabihf failed builder for ‘/nix/store/1npm2358bpvclj5w7fqjjwg72vbb0d79-gmp-6.0.0a.drv’ failed with exit code 1 Override the system type with the output of GNU config.guess to avoid the autodetection.
This commit is contained in:
parent
33e70ad68a
commit
c240556a24
|
@ -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;
|
||||
|
|
|
@ -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;
|
||||
|
|
Loading…
Reference in a new issue