or-tools: enable SCIP support (#435899)

This commit is contained in:
Gaétan Lepage
2025-10-08 15:23:07 +00:00
committed by GitHub
3 changed files with 58 additions and 4 deletions
+13 -1
View File
@@ -20,6 +20,9 @@
swig,
unzip,
zlib,
scipopt-scip,
withScip ? true,
}:
let
@@ -87,9 +90,13 @@ stdenv.mkDerivation (finalAttrs: {
(lib.cmakeFeature "CMAKE_INSTALL_LIBDIR" "lib")
(lib.cmakeBool "FETCH_PYTHON_DEPS" false)
(lib.cmakeBool "USE_GLPK" true)
(lib.cmakeBool "USE_SCIP" false)
(lib.cmakeBool "USE_SCIP" withScip)
(lib.cmakeFeature "Python3_EXECUTABLE" "${python3.pythonOnBuildForHost.interpreter}")
]
++ lib.optionals withScip [
# scip code parts require setting this unfortunately…
(lib.cmakeFeature "CMAKE_CXX_FLAGS" "-Wno-error=format-security")
]
++ lib.optionals stdenv.hostPlatform.isDarwin [
(lib.cmakeBool "CMAKE_MACOSX_RPATH" false)
];
@@ -137,7 +144,12 @@ stdenv.mkDerivation (finalAttrs: {
python3.pkgs.immutabledict
python3.pkgs.numpy
python3.pkgs.pandas
]
++ lib.optionals withScip [
# Needed for downstream cmake consumers to not need to set SCIP_ROOT explicitly
scipopt-scip
];
nativeCheckInputs = [
python3.pkgs.matplotlib
python3.pkgs.pandas
@@ -0,0 +1,40 @@
From 7772c64ee2face1c1099c23ecbfd20ff663cffc3 Mon Sep 17 00:00:00 2001
From: Florian Klink <flokli@flokli.de>
Date: Tue, 7 Oct 2025 16:19:31 +0300
Subject: [PATCH] check: fix invalid ctest invocation
ctest doesn't like `-R "-default"`. CMake 4.0 fails with the following
error message:
> CMake Error: Invalid value used with -R
`-R` normally specifies the regex that needs to match. If none is
specified, all are selected:
https://cmake.org/cmake/help/latest/manual/ctest.1.html#cmdoption-ctest-R
This maybe never worked, but got silently ignored until
https://cmake.org/cmake/help/latest/policy/CMP0175.html
Removing that regex should only cause *more* tests to get selected, not
less - and the build now succeeds with it.
---
check/CMakeLists.txt | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/check/CMakeLists.txt b/check/CMakeLists.txt
index 0d667d5..c26b978 100644
--- a/check/CMakeLists.txt
+++ b/check/CMakeLists.txt
@@ -4,7 +4,7 @@ include(CTest)
# add a custom SCIP check target 'scip_check'
#
add_custom_target(scip_check
- COMMAND ${CMAKE_CTEST_COMMAND} -R "-default" -E "applications" --output-on-failure
+ COMMAND ${CMAKE_CTEST_COMMAND} -E "applications" --output-on-failure
DEPENDS scip
)
--
2.51.0
+5 -3
View File
@@ -1,7 +1,6 @@
{
lib,
stdenv,
fetchzip,
fetchFromGitHub,
cmake,
zlib,
@@ -29,6 +28,11 @@ stdenv.mkDerivation rec {
hash = "sha256-Zc1AXNpHQXXFO8jkMaJj6xYkmkQxAM8G+SiPiH9xCAw=";
};
patches = [
# https://github.com/scipopt/scip/pull/169
./0001-check-fix-invalid-ctest-invocation.patch
];
nativeBuildInputs = [ cmake ];
buildInputs = [
@@ -46,8 +50,6 @@ stdenv.mkDerivation rec {
mpfr # if not included, throws fatal error: mpfr.h not found
];
cmakeFlags = [ ];
doCheck = true;
meta = {