diff --git a/pkgs/applications/science/logic/monosat/default.nix b/pkgs/applications/science/logic/monosat/default.nix index 259cdcea4432..b26c122064a8 100644 --- a/pkgs/applications/science/logic/monosat/default.nix +++ b/pkgs/applications/science/logic/monosat/default.nix @@ -28,9 +28,18 @@ let }) ]; + # source behind __linux__ check assumes system is also x86 and + # tries to disable x86/x87-specific extended precision mode + # https://github.com/sambayless/monosat/issues/33 + commonPostPatch = lib.optionalString (!(stdenv.isi686 || stdenv.isx86_64)) '' + substituteInPlace src/monosat/Main.cc \ + --replace 'defined(__linux__)' '0' + ''; + core = stdenv.mkDerivation { name = "${pname}-${version}"; inherit src patches; + postPatch = commonPostPatch; nativeBuildInputs = [ cmake ]; buildInputs = [ zlib gmp jdk8 ]; @@ -66,7 +75,7 @@ let # After patching src, move to where the actually relevant source is. This could just be made # the sourceRoot if it weren't for the patch. - postPatch = '' + postPatch = commonPostPatch + '' cd src/monosat/api/python '' + # The relative paths here don't make sense for our Nix build