From f511847d353a83a5cf9ec2b337655c8a48519d50 Mon Sep 17 00:00:00 2001 From: someplaceguy Date: Thu, 10 Jul 2025 03:53:23 +0000 Subject: [PATCH] mprime: fix fatal error with -march=znver1 Compiling for recent architectures causes rounding issues: FATAL ERROR: Rounding was 0.4977243728, expected less than 0.4 --- pkgs/by-name/mp/mprime/package.nix | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/pkgs/by-name/mp/mprime/package.nix b/pkgs/by-name/mp/mprime/package.nix index 10edabbb3c1c..6e987b4157b4 100644 --- a/pkgs/by-name/mp/mprime/package.nix +++ b/pkgs/by-name/mp/mprime/package.nix @@ -28,6 +28,8 @@ let ."${stdenv.hostPlatform.system}" or throwSystem; docDir = "share/mprime/doc"; + ccArch = stdenv.hostPlatform.gcc.arch or "x86-64"; + in stdenv.mkDerivation (finalAttrs: { pname = "mprime"; @@ -67,6 +69,15 @@ stdenv.mkDerivation (finalAttrs: { gmp ]; + env = { + NIX_CFLAGS_COMPILE = toString ( + # The following is needed because compiling with stdenv.hostPlatform.gcc.arch + # set to something like "znver1" causes fatal errors during runtime due to + # rounding issues + lib.optional (stdenv.hostPlatform.isx86_64 && ccArch != "x86-64") "-march=x86-64" + ); + }; + enableParallelBuilding = true; buildPhase = ''