push sheeet
Some checks failed
Periodic Merges (6h) / master → staging-nixos (push) Failing after 12m50s
Periodic Merges (6h) / master → staging-next (push) Failing after 12m54s
Periodic Merges (24h) / merge-base(master,staging) → haskell-updates (push) Failing after 11m54s
Periodic Merges (6h) / staging-next → staging (push) Failing after 12m13s
Periodic Merges (24h) / staging-next-25.05 → staging-25.05 (push) Failing after 13m24s
Periodic Merges (24h) / release-25.05 → staging-next-25.05 (push) Failing after 14m28s

This commit is contained in:
Dark Steveneq
2025-10-09 14:15:47 +02:00
commit 646b892680
49168 changed files with 5897842 additions and 0 deletions

View File

@@ -0,0 +1,57 @@
diff --git a/core/Main.cc b/core/Main.cc
index 2b0d97b..9ba985d 100644
--- a/core/Main.cc
+++ b/core/Main.cc
@@ -77,9 +77,13 @@ int main(int argc, char** argv)
setUsageHelp("USAGE: %s [options] <input-file> <result-output-file>\n\n where input may be either in plain or gzipped DIMACS.\n");
// printf("This is MiniSat 2.0 beta\n");
-#if defined(__linux__)
- fpu_control_t oldcw, newcw;
- _FPU_GETCW(oldcw); newcw = (oldcw & ~_FPU_EXTENDED) | _FPU_DOUBLE; _FPU_SETCW(newcw);
+#if defined(__linux__) && defined(__x86_64__)
+ fenv_t fenv;
+
+ fegetenv(&fenv);
+ fenv.__control_word &= ~0x300; /* _FPU_EXTENDED */
+ fenv.__control_word |= 0x200; /* _FPU_DOUBLE */
+ fesetenv(&fenv);
printf("WARNING: for repeatability, setting FPU to use double precision\n");
#endif
// Extra options:
diff --git a/simp/Main.cc b/simp/Main.cc
index 2804d7f..7fbdb33 100644
--- a/simp/Main.cc
+++ b/simp/Main.cc
@@ -78,9 +78,13 @@ int main(int argc, char** argv)
setUsageHelp("USAGE: %s [options] <input-file> <result-output-file>\n\n where input may be either in plain or gzipped DIMACS.\n");
// printf("This is MiniSat 2.0 beta\n");
-#if defined(__linux__)
- fpu_control_t oldcw, newcw;
- _FPU_GETCW(oldcw); newcw = (oldcw & ~_FPU_EXTENDED) | _FPU_DOUBLE; _FPU_SETCW(newcw);
+#if defined(__linux__) && defined(__x86_64__)
+ fenv_t fenv;
+
+ fegetenv(&fenv);
+ fenv.__control_word &= ~0x300; /* _FPU_EXTENDED */
+ fenv.__control_word |= 0x200; /* _FPU_DOUBLE */
+ fesetenv(&fenv);
printf("WARNING: for repeatability, setting FPU to use double precision\n");
#endif
// Extra options:
diff --git a/utils/System.h b/utils/System.h
index 1758192..840bee5 100644
--- a/utils/System.h
+++ b/utils/System.h
@@ -21,8 +21,8 @@ OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWA
#ifndef Minisat_System_h
#define Minisat_System_h
-#if defined(__linux__)
-#include <fpu_control.h>
+#if defined(__linux__) && defined(__x86_64__)
+#include <fenv.h>
#endif
#include "mtl/IntTypes.h"

View File

@@ -0,0 +1,61 @@
{
lib,
stdenv,
fetchFromGitHub,
z3,
zlib,
}:
stdenv.mkDerivation rec {
pname = "vampire";
version = "4.9";
src = fetchFromGitHub {
owner = "vprover";
repo = "vampire";
tag = "v${version}casc2024";
hash = "sha256-NHAlPIy33u+TRmTuFoLRlPCvi3g62ilTfJ0wleboMNU=";
};
buildInputs = [
z3
zlib
];
makeFlags = [
"vampire_z3_rel"
"CC:=$(CC)"
"CXX:=$(CXX)"
];
postPatch = ''
patch -p1 -i ${./minisat-fenv.patch} -d Minisat || true
'';
enableParallelBuilding = true;
fixupPhase = ''
runHook preFixup
rm -rf z3
runHook postFixup
'';
installPhase = ''
runHook preInstall
install -m0755 -D vampire_z3_rel* $out/bin/vampire
runHook postInstall
'';
meta = {
homepage = "https://vprover.github.io/";
description = "Vampire Theorem Prover";
mainProgram = "vampire";
platforms = lib.platforms.unix;
license = lib.licenses.bsd3;
maintainers = [ ];
};
}