Initial RPM
This commit is contained in:
parent
b050a6a657
commit
da3d2532f8
1
.gitignore
vendored
Normal file
1
.gitignore
vendored
Normal file
@ -0,0 +1 @@
|
||||
/papilo-*.tar.gz
|
28
papilo-shared.patch
Normal file
28
papilo-shared.patch
Normal file
@ -0,0 +1,28 @@
|
||||
--- papilo-2.1.4/CMakeLists.txt.orig 2023-12-06 11:38:08.348390205 -0700
|
||||
+++ papilo-2.1.4/CMakeLists.txt 2023-12-06 11:38:51.994792168 -0700
|
||||
@@ -24,8 +24,6 @@ include(GNUInstallDirs)
|
||||
|
||||
# path to e.g. findGMP module
|
||||
list(APPEND CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/cmake/Modules/)
|
||||
-set(CMAKE_CXX_VISIBILITY_PRESET hidden)
|
||||
-set(CMAKE_VISIBILITY_INLINES_HIDDEN 1)
|
||||
set(CMAKE_POSITION_INDEPENDENT_CODE ON)
|
||||
|
||||
option(GMP "should gmp be linked" ON)
|
||||
@@ -197,7 +195,7 @@ if(NOT MSVC)
|
||||
endif()
|
||||
set(PAPILO_USE_STANDARD_HASHMAP 1)
|
||||
|
||||
-add_library(papilo-core STATIC
|
||||
+add_library(papilo-core SHARED
|
||||
src/papilo/core/VariableDomains.cpp
|
||||
src/papilo/core/SparseStorage.cpp
|
||||
src/papilo/core/ConstraintMatrix.cpp
|
||||
@@ -231,6 +229,7 @@ add_library(papilo-core STATIC
|
||||
function(setLibProperties targetname outputname)
|
||||
set_target_properties(${targetname} PROPERTIES
|
||||
OUTPUT_NAME ${outputname}
|
||||
+ POSITION_INDEPENDENT_CODE ON VERSION 0.0.0 SOVERSION 0
|
||||
MACOSX_RPATH "${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}")
|
||||
endfunction(setLibProperties)
|
||||
if(MSVC)
|
78
papilo-test.patch
Normal file
78
papilo-test.patch
Normal file
@ -0,0 +1,78 @@
|
||||
--- papilo-2.1.4/test/CMakeLists.txt.orig 2023-12-06 11:38:08.350390178 -0700
|
||||
+++ papilo-2.1.4/test/CMakeLists.txt 2023-12-06 11:39:41.114119155 -0700
|
||||
@@ -65,8 +65,6 @@ if(${CMAKE_SYSTEM_NAME} STREQUAL "Androi
|
||||
endif()
|
||||
|
||||
set(unit_tests
|
||||
- "accurate-numerical-statistics"
|
||||
-
|
||||
"matrix-buffer"
|
||||
"vector-comparisons"
|
||||
"matrix-comparisons"
|
||||
@@ -95,7 +93,7 @@ set(unit_tests
|
||||
"domcol-happy-path"
|
||||
"domcol-parallel-columns"
|
||||
"domcol-multiple-parallel-cols-generate_redundant-reductions"
|
||||
- "domcol-multiple-column"
|
||||
+ "domcol-multiple-columns"
|
||||
|
||||
#DualFix
|
||||
"dual-fix-happy-path"
|
||||
@@ -131,13 +129,13 @@ set(unit_tests
|
||||
"parallel-row-two-inequalities-tighten-upper-bound-first-row-dominant"
|
||||
"parallel-row-two-inequalities-infeasible-first-row-dominant"
|
||||
"parallel-row-two-inequalities-infeasible-second-row-dominant"
|
||||
- "parallel-row-two-inequalities-tighten-upper-bound-first-row-neg"
|
||||
+ "parallel-row-two-inequalities-tighten-upper-bound-first-row-negfactor-dominant"
|
||||
"parallel-row-overwrite-inf-first-row-rhs-inf"
|
||||
"parallel-row-overwrite-inf-first-row-lhs-inf"
|
||||
"parallel-row-overwrite-inf-first-row-lhs-inf-neg-factor"
|
||||
"parallel-row-mixed-infeasible-first-row-equation"
|
||||
"parallel-row-best-bound-is-used-for-rhs-coeff-not-1"
|
||||
- "parallel-row-best-bound-is-used-for-rhs-coeff"
|
||||
+ "parallel-row-best-bound-is-used-for-rhs"
|
||||
"parallel-row-mixed-second-row-equation"
|
||||
"parallel-row-mixed-infeasible-second-row-equation"
|
||||
"parallel-row-multiple-parallel-rows"
|
||||
@@ -165,6 +163,7 @@ set(unit_tests
|
||||
"happy-path-singleton-column-implied-bounds-negative-coeff-neg-bounds"
|
||||
"happy-path-singleton-column-implied-bounds-positive-coeff-pos-bounds"
|
||||
"happy-path-singleton-column-implied-bounds-positive-coeff-neg-bounds"
|
||||
+ "happy-path-singleton-column-infinity-bounds-equation"
|
||||
|
||||
#Singleton Stuffing
|
||||
"singleton-stuffing-make-sure-to-first-set-bounds-to-infinity"
|
||||
@@ -180,24 +179,27 @@ set(unit_tests
|
||||
"simple-substitution-happy-path-for-2-continuous"
|
||||
"simple-substitution-happy-path-for-continuous-and-integer"
|
||||
"simple-substitution-happy-path-for-int-continuous-coeff"
|
||||
- "simple-substitution-should_return_infeasible_if_gcd_of_coeff_is_in_rhs"
|
||||
- "simple-substitution-should_return_feasible_if_gcd_of_coeff_is_in_rhs"
|
||||
- "simple-substitution-failed-path-for-2-int"
|
||||
+ "simple-substitution-simple-substitution-for-2-int"
|
||||
+ "example_10_1_in_constraint_integer_programming"
|
||||
+ "should_return_infeasible_if_gcd_of_coeff_is_in_rhs"
|
||||
+ "should_return_feasible_if_gcd_of_coeff_is_in_rhs"
|
||||
"simple-substitution-2-negative-integer"
|
||||
"simple-substitution-feasible-gcd"
|
||||
"simple-substitution-violated-gcd"
|
||||
|
||||
#Simplify Inequality
|
||||
- "happy-path-simplify-inequalities-only-greatest-divisor"
|
||||
+ "happy-path-simplify-inequalities"
|
||||
"simplify_inequ_doesnt_lock_more_rows"
|
||||
"simplify_inequ_doesnt_apply_lb_and_ub_on_one_row"
|
||||
|
||||
#Sparsify
|
||||
"happy-path-sparsify"
|
||||
"happy-path-sparsify-two-equalities"
|
||||
- "failed-path-sparsify"
|
||||
+ "failed-path-sparsify-if-misses-one-for-integer"
|
||||
+ "happy-path-sparsify-if-misses-one-for-continuous"
|
||||
+ "happy-path-sparsify-if-misses-one-for-continuous_2"
|
||||
+ "failed-path-sparsify-if-misses-two-for-continuous"
|
||||
|
||||
- "integration-test-for-flugpl"
|
||||
${PAPILOLIB_TESTS}
|
||||
${BOOST_REQUIRED_TESTS}
|
||||
)
|
464
papilo-unbundle.patch
Normal file
464
papilo-unbundle.patch
Normal file
@ -0,0 +1,464 @@
|
||||
--- papilo-2.1.4/CMakeLists.txt.orig 2023-10-26 15:29:37.000000000 -0600
|
||||
+++ papilo-2.1.4/CMakeLists.txt 2023-12-06 11:38:08.348390205 -0700
|
||||
@@ -172,27 +172,9 @@ else()
|
||||
endif()
|
||||
|
||||
if(LUSOL)
|
||||
- include(CheckLanguage)
|
||||
- check_language(Fortran)
|
||||
- find_package(BLAS)
|
||||
-endif()
|
||||
-if(CMAKE_Fortran_COMPILER AND BLAS_FOUND)
|
||||
- enable_language(Fortran)
|
||||
-
|
||||
- add_library(clusol STATIC
|
||||
- src/papilo/external/lusol/src/lusol6b.f
|
||||
- src/papilo/external/lusol/src/lusol7b.f
|
||||
- src/papilo/external/lusol/src/lusol8b.f
|
||||
- src/papilo/external/lusol/src/lusol_util.f
|
||||
- src/papilo/external/lusol/src/lusol.f90
|
||||
- src/papilo/external/lusol/src/clusol.c
|
||||
- src/papilo/external/lusol/src/lusol_precision.f90)
|
||||
- set_property(TARGET clusol PROPERTY POSITION_INDEPENDENT_CODE ON)
|
||||
- target_include_directories(clusol PRIVATE src/papilo/external/lusol)
|
||||
- target_link_libraries(clusol ${BLAS_LIBRARIES})
|
||||
target_link_libraries(papilo INTERFACE clusol)
|
||||
set(PAPILO_HAVE_LUSOL 1)
|
||||
- set(CLUSOL_TARGET clusol)
|
||||
+ set(CLUSOL_TARGET "")
|
||||
else()
|
||||
set(PAPILO_HAVE_LUSOL 0)
|
||||
set(CLUSOL_TARGET "")
|
||||
@@ -213,17 +195,7 @@ if(NOT MSVC)
|
||||
endif()
|
||||
endif()
|
||||
endif()
|
||||
-set(CMAKE_REQUIRED_INCLUDES ${PROJECT_SOURCE_DIR}/src/papilo/external)
|
||||
-check_cxx_source_compiles(
|
||||
- "#include \"ska/bytell_hash_map.hpp\"
|
||||
- int main() { ska::bytell_hash_map<int,int> hashmap; (void)hashmap; return 0; }"
|
||||
- PAPILO_BYTELL_HASHMAP_WORKS )
|
||||
-
|
||||
-if( PAPILO_BYTELL_HASHMAP_WORKS )
|
||||
- set(PAPILO_USE_STANDARD_HASHMAP 0)
|
||||
-else()
|
||||
- set(PAPILO_USE_STANDARD_HASHMAP 1)
|
||||
-endif()
|
||||
+set(PAPILO_USE_STANDARD_HASHMAP 1)
|
||||
|
||||
add_library(papilo-core STATIC
|
||||
src/papilo/core/VariableDomains.cpp
|
||||
@@ -411,20 +383,6 @@ install(FILES
|
||||
${PROJECT_SOURCE_DIR}/src/papilo/external/fmt/posix.cc
|
||||
DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/papilo/external/fmt)
|
||||
|
||||
-install(FILES
|
||||
- ${PROJECT_SOURCE_DIR}/src/papilo/external/pdqsort/pdqsort.h
|
||||
- DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/papilo/external/pdqsort)
|
||||
-
|
||||
-install(FILES
|
||||
- ${PROJECT_SOURCE_DIR}/src/papilo/external/ska/bytell_hash_map.hpp
|
||||
- ${PROJECT_SOURCE_DIR}/src/papilo/external/ska/flat_hash_map.hpp
|
||||
- ${PROJECT_SOURCE_DIR}/src/papilo/external/ska/unordered_map.hpp
|
||||
- DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/papilo/external/ska)
|
||||
-
|
||||
-install(FILES
|
||||
- ${PROJECT_SOURCE_DIR}/src/papilo/external/lusol/clusol.h
|
||||
- DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/papilo/external/lusol)
|
||||
-
|
||||
# configure the config file for the build tree
|
||||
set(QUADMATH_MODULE_PATH ${PROJECT_SOURCE_DIR}/cmake/Modules)
|
||||
set(TBB_MODULE_PATH ${PROJECT_SOURCE_DIR}/cmake/Modules)
|
||||
--- papilo-2.1.4/src/convMPS.cpp.orig 2023-10-26 15:29:37.000000000 -0600
|
||||
+++ papilo-2.1.4/src/convMPS.cpp 2023-12-06 11:38:08.348390205 -0700
|
||||
@@ -37,7 +37,7 @@
|
||||
#ifdef PAPILO_TBB
|
||||
#include "papilo/misc/tbb.hpp"
|
||||
#endif
|
||||
-#include "papilo/external/pdqsort/pdqsort.h"
|
||||
+#include <pdqsort.h>
|
||||
#include "tbb/concurrent_unordered_set.h"
|
||||
#include <algorithm>
|
||||
|
||||
--- papilo-2.1.4/src/duplicates.cpp.orig 2023-10-26 15:29:37.000000000 -0600
|
||||
+++ papilo-2.1.4/src/duplicates.cpp 2023-12-06 11:38:08.348390205 -0700
|
||||
@@ -31,7 +31,7 @@
|
||||
#ifdef PAPILO_TBB
|
||||
#include "papilo/misc/tbb.hpp"
|
||||
#endif
|
||||
-#include "papilo/external/pdqsort/pdqsort.h"
|
||||
+#include <pdqsort.h>
|
||||
#include <algorithm>
|
||||
#include <sys/stat.h>
|
||||
|
||||
--- papilo-2.1.4/src/papilo/core/Components.hpp.orig 2023-10-26 15:29:37.000000000 -0600
|
||||
+++ papilo-2.1.4/src/papilo/core/Components.hpp 2023-12-06 11:38:08.348390205 -0700
|
||||
@@ -27,7 +27,7 @@
|
||||
#include "papilo/core/Problem.hpp"
|
||||
#include "papilo/misc/Hash.hpp"
|
||||
#include "papilo/misc/Vec.hpp"
|
||||
-#include "papilo/external/pdqsort/pdqsort.h"
|
||||
+#include <pdqsort.h>
|
||||
#include <boost/pending/disjoint_sets.hpp>
|
||||
|
||||
namespace papilo
|
||||
--- papilo-2.1.4/src/papilo/core/SparseStorage.hpp.orig 2023-10-26 15:29:37.000000000 -0600
|
||||
+++ papilo-2.1.4/src/papilo/core/SparseStorage.hpp 2023-12-06 11:38:08.349390191 -0700
|
||||
@@ -26,7 +26,7 @@
|
||||
|
||||
#include "papilo/misc/MultiPrecision.hpp"
|
||||
#include "papilo/misc/Vec.hpp"
|
||||
-#include "papilo/external/pdqsort/pdqsort.h"
|
||||
+#include <pdqsort.h>
|
||||
#include <algorithm>
|
||||
#include <cassert>
|
||||
#include <cstdint>
|
||||
--- papilo-2.1.4/src/papilo/io/MpsParser.hpp.orig 2023-10-26 15:29:37.000000000 -0600
|
||||
+++ papilo-2.1.4/src/papilo/io/MpsParser.hpp 2023-12-06 11:38:08.349390191 -0700
|
||||
@@ -32,7 +32,7 @@
|
||||
#include "papilo/misc/Flags.hpp"
|
||||
#include "papilo/misc/Hash.hpp"
|
||||
#include "papilo/misc/Num.hpp"
|
||||
-#include "papilo/external/pdqsort/pdqsort.h"
|
||||
+#include <pdqsort.h>
|
||||
#include <algorithm>
|
||||
#include <boost/algorithm/string/predicate.hpp>
|
||||
#include <boost/dynamic_bitset.hpp>
|
||||
--- papilo-2.1.4/src/papilo/misc/DependentRows.hpp.orig 2023-10-26 15:29:37.000000000 -0600
|
||||
+++ papilo-2.1.4/src/papilo/misc/DependentRows.hpp 2023-12-06 11:38:08.349390191 -0700
|
||||
@@ -29,7 +29,7 @@
|
||||
#ifdef PAPILO_HAVE_LUSOL
|
||||
extern "C"
|
||||
{
|
||||
-#include "papilo/external/lusol/clusol.h"
|
||||
+#include <clusol.h>
|
||||
}
|
||||
#endif
|
||||
|
||||
--- papilo-2.1.4/src/papilo/presolvers/FreeVarSubstitution.hpp.orig 2023-10-26 15:29:37.000000000 -0600
|
||||
+++ papilo-2.1.4/src/papilo/presolvers/FreeVarSubstitution.hpp 2023-12-06 11:38:08.349390191 -0700
|
||||
@@ -29,7 +29,7 @@
|
||||
#include "papilo/core/ProblemUpdate.hpp"
|
||||
#include "papilo/misc/Num.hpp"
|
||||
#include "papilo/misc/fmt.hpp"
|
||||
-#include "papilo/external/pdqsort/pdqsort.h"
|
||||
+#include <pdqsort.h>
|
||||
#include <boost/dynamic_bitset.hpp>
|
||||
|
||||
namespace papilo
|
||||
--- papilo-2.1.4/src/papilo/presolvers/ParallelColDetection.hpp.orig 2023-10-26 15:29:37.000000000 -0600
|
||||
+++ papilo-2.1.4/src/papilo/presolvers/ParallelColDetection.hpp 2023-12-06 11:38:08.349390191 -0700
|
||||
@@ -31,7 +31,7 @@
|
||||
#ifdef PAPILO_TBB
|
||||
#include "papilo/misc/tbb.hpp"
|
||||
#endif
|
||||
-#include "papilo/external/pdqsort/pdqsort.h"
|
||||
+#include <pdqsort.h>
|
||||
|
||||
namespace papilo
|
||||
{
|
||||
--- papilo-2.1.4/src/papilo/presolvers/ParallelRowDetection.hpp.orig 2023-10-26 15:29:37.000000000 -0600
|
||||
+++ papilo-2.1.4/src/papilo/presolvers/ParallelRowDetection.hpp 2023-12-06 11:38:08.349390191 -0700
|
||||
@@ -31,7 +31,7 @@
|
||||
#ifdef PAPILO_TBB
|
||||
#include "papilo/misc/tbb.hpp"
|
||||
#endif
|
||||
-#include "papilo/external/pdqsort/pdqsort.h"
|
||||
+#include <pdqsort.h>
|
||||
|
||||
namespace papilo
|
||||
{
|
||||
--- papilo-2.1.4/src/papilo/presolvers/SimplifyInequalities.hpp.orig 2023-10-26 15:29:37.000000000 -0600
|
||||
+++ papilo-2.1.4/src/papilo/presolvers/SimplifyInequalities.hpp 2023-12-06 11:38:08.350390178 -0700
|
||||
@@ -27,7 +27,7 @@
|
||||
#include "papilo/core/PresolveMethod.hpp"
|
||||
#include "papilo/core/Problem.hpp"
|
||||
#include "papilo/core/ProblemUpdate.hpp"
|
||||
-#include "papilo/external/pdqsort/pdqsort.h"
|
||||
+#include <pdqsort.h>
|
||||
#include <boost/integer/common_factor.hpp>
|
||||
|
||||
namespace papilo
|
||||
--- papilo-2.1.4/test/CMakeLists.txt.orig 2023-10-26 15:29:37.000000000 -0600
|
||||
+++ papilo-2.1.4/test/CMakeLists.txt 2023-12-06 11:38:08.350390178 -0700
|
||||
@@ -59,7 +59,7 @@ add_executable(unit_test TestMain.cpp
|
||||
${BOOST_REQUIRED_TEST_FILES}
|
||||
${PAPILOLIB_TEST_FILE})
|
||||
|
||||
-target_link_libraries(unit_test papilo ${PAPILOLIB_TARGET} ${Boost_LIBRARIES})
|
||||
+target_link_libraries(unit_test papilo ${PAPILOLIB_TARGET} ${Boost_LIBRARIES} Catch2 Catch2Main)
|
||||
if(${CMAKE_SYSTEM_NAME} STREQUAL "Android")
|
||||
target_link_libraries(unit_test log)
|
||||
endif()
|
||||
--- papilo-2.1.4/test/papilo/core/MatrixBufferTest.cpp.orig 2023-10-26 15:29:37.000000000 -0600
|
||||
+++ papilo-2.1.4/test/papilo/core/MatrixBufferTest.cpp 2023-12-06 11:38:08.350390178 -0700
|
||||
@@ -22,7 +22,7 @@
|
||||
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
|
||||
|
||||
#include "papilo/core/MatrixBuffer.hpp"
|
||||
-#include "papilo/external/catch/catch.hpp"
|
||||
+#include <catch2/catch_all.hpp>
|
||||
#include "papilo/misc/fmt.hpp"
|
||||
|
||||
using namespace papilo;
|
||||
--- papilo-2.1.4/test/papilo/core/PostsolveTest.cpp.orig 2023-10-26 15:29:37.000000000 -0600
|
||||
+++ papilo-2.1.4/test/papilo/core/PostsolveTest.cpp 2023-12-06 11:38:08.350390178 -0700
|
||||
@@ -22,7 +22,7 @@
|
||||
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
|
||||
|
||||
#include "papilo/core/postsolve/Postsolve.hpp"
|
||||
-#include "papilo/external/catch/catch.hpp"
|
||||
+#include <catch2/catch_all.hpp>
|
||||
#include "papilo/core/postsolve/PostsolveStatus.hpp"
|
||||
#include <boost/archive/binary_iarchive.hpp>
|
||||
|
||||
--- papilo-2.1.4/test/papilo/core/PresolveTest.cpp.orig 2023-10-26 15:29:37.000000000 -0600
|
||||
+++ papilo-2.1.4/test/papilo/core/PresolveTest.cpp 2023-12-06 11:38:08.350390178 -0700
|
||||
@@ -22,7 +22,7 @@
|
||||
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
|
||||
|
||||
#include "papilo/core/Presolve.hpp"
|
||||
-#include "papilo/external/catch/catch.hpp"
|
||||
+#include <catch2/catch_all.hpp>
|
||||
#include "papilo/core/Problem.hpp"
|
||||
#include "papilo/core/ProblemBuilder.hpp"
|
||||
#include "papilo/core/Reductions.hpp"
|
||||
--- papilo-2.1.4/test/papilo/core/ProblemUpdateTest.cpp.orig 2023-10-26 15:29:37.000000000 -0600
|
||||
+++ papilo-2.1.4/test/papilo/core/ProblemUpdateTest.cpp 2023-12-06 11:38:08.350390178 -0700
|
||||
@@ -21,7 +21,7 @@
|
||||
/* */
|
||||
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
|
||||
|
||||
-#include "papilo/external/catch/catch.hpp"
|
||||
+#include <catch2/catch_all.hpp>
|
||||
#include "papilo/core/Problem.hpp"
|
||||
#include "papilo/core/ProblemBuilder.hpp"
|
||||
#include "papilo/core/Reductions.hpp"
|
||||
--- papilo-2.1.4/test/papilo/core/SparseStorageTest.cpp.orig 2023-10-26 15:29:37.000000000 -0600
|
||||
+++ papilo-2.1.4/test/papilo/core/SparseStorageTest.cpp 2023-12-06 11:38:08.351390164 -0700
|
||||
@@ -22,7 +22,7 @@
|
||||
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
|
||||
|
||||
#include "papilo/core/SparseStorage.hpp"
|
||||
-#include "papilo/external/catch/catch.hpp"
|
||||
+#include <catch2/catch_all.hpp>
|
||||
#include "papilo/misc/compress_vector.hpp"
|
||||
|
||||
papilo::SparseStorage<double>
|
||||
--- papilo-2.1.4/test/papilo/io/MpsParserTest.cpp.orig 2023-10-26 15:29:37.000000000 -0600
|
||||
+++ papilo-2.1.4/test/papilo/io/MpsParserTest.cpp 2023-12-06 11:38:08.351390164 -0700
|
||||
@@ -23,7 +23,7 @@
|
||||
|
||||
#include <memory>
|
||||
#include "papilo/io/MpsParser.hpp"
|
||||
-#include "papilo/external/catch/catch.hpp"
|
||||
+#include <catch2/catch_all.hpp>
|
||||
#include "papilo/core/PresolveMethod.hpp"
|
||||
#include "papilo/core/Problem.hpp"
|
||||
|
||||
--- papilo-2.1.4/test/PapiloLib.cpp.orig 2023-10-26 15:29:37.000000000 -0600
|
||||
+++ papilo-2.1.4/test/PapiloLib.cpp 2023-12-06 11:38:08.351390164 -0700
|
||||
@@ -22,7 +22,7 @@
|
||||
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
|
||||
|
||||
#include "papilolib.h"
|
||||
-#include "papilo/external/catch/catch.hpp"
|
||||
+#include <catch2/catch_all.hpp>
|
||||
#include "papilo/misc/fmt.hpp"
|
||||
|
||||
TEST_CASE( "papilolib", "[C-API]" )
|
||||
--- papilo-2.1.4/test/papilo/misc/VectorUtilsTest.cpp.orig 2023-10-26 15:29:37.000000000 -0600
|
||||
+++ papilo-2.1.4/test/papilo/misc/VectorUtilsTest.cpp 2023-12-06 11:38:08.351390164 -0700
|
||||
@@ -22,7 +22,7 @@
|
||||
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
|
||||
|
||||
#include "papilo/misc/VectorUtils.hpp"
|
||||
-#include "papilo/external/catch/catch.hpp"
|
||||
+#include <catch2/catch_all.hpp>
|
||||
|
||||
using namespace papilo;
|
||||
|
||||
--- papilo-2.1.4/test/papilo/presolve/CoefficientStrengtheningTest.cpp.orig 2023-10-26 15:29:37.000000000 -0600
|
||||
+++ papilo-2.1.4/test/papilo/presolve/CoefficientStrengtheningTest.cpp 2023-12-06 11:38:08.351390164 -0700
|
||||
@@ -21,7 +21,7 @@
|
||||
/* */
|
||||
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
|
||||
|
||||
-#include "papilo/external/catch/catch.hpp"
|
||||
+#include <catch2/catch_all.hpp>
|
||||
#include "papilo/core/PresolveMethod.hpp"
|
||||
#include "papilo/core/Problem.hpp"
|
||||
#include "papilo/core/ProblemBuilder.hpp"
|
||||
--- papilo-2.1.4/test/papilo/presolve/ConstraintPropagationTest.cpp.orig 2023-10-26 15:29:37.000000000 -0600
|
||||
+++ papilo-2.1.4/test/papilo/presolve/ConstraintPropagationTest.cpp 2023-12-06 11:38:08.352390150 -0700
|
||||
@@ -22,7 +22,7 @@
|
||||
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
|
||||
|
||||
#include "papilo/presolvers/ConstraintPropagation.hpp"
|
||||
-#include "papilo/external/catch/catch.hpp"
|
||||
+#include <catch2/catch_all.hpp>
|
||||
#include "papilo/core/PresolveMethod.hpp"
|
||||
#include "papilo/core/Problem.hpp"
|
||||
#include "papilo/core/ProblemBuilder.hpp"
|
||||
--- papilo-2.1.4/test/papilo/presolve/DominatedColsTest.cpp.orig 2023-10-26 15:29:37.000000000 -0600
|
||||
+++ papilo-2.1.4/test/papilo/presolve/DominatedColsTest.cpp 2023-12-06 11:38:08.352390150 -0700
|
||||
@@ -22,7 +22,7 @@
|
||||
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
|
||||
|
||||
#include "papilo/presolvers/DominatedCols.hpp"
|
||||
-#include "papilo/external/catch/catch.hpp"
|
||||
+#include <catch2/catch_all.hpp>
|
||||
#include "papilo/core/PresolveMethod.hpp"
|
||||
#include "papilo/core/Problem.hpp"
|
||||
#include "papilo/core/ProblemBuilder.hpp"
|
||||
--- papilo-2.1.4/test/papilo/presolve/DualFixTest.cpp.orig 2023-10-26 15:29:37.000000000 -0600
|
||||
+++ papilo-2.1.4/test/papilo/presolve/DualFixTest.cpp 2023-12-06 11:38:08.352390150 -0700
|
||||
@@ -22,7 +22,7 @@
|
||||
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
|
||||
|
||||
#include "papilo/presolvers/DualFix.hpp"
|
||||
-#include "papilo/external/catch/catch.hpp"
|
||||
+#include <catch2/catch_all.hpp>
|
||||
#include "papilo/core/PresolveMethod.hpp"
|
||||
#include "papilo/core/Problem.hpp"
|
||||
#include "papilo/core/ProblemBuilder.hpp"
|
||||
--- papilo-2.1.4/test/papilo/presolve/FixContinuousTest.cpp.orig 2023-10-26 15:29:37.000000000 -0600
|
||||
+++ papilo-2.1.4/test/papilo/presolve/FixContinuousTest.cpp 2023-12-06 11:38:08.352390150 -0700
|
||||
@@ -21,7 +21,7 @@
|
||||
/* */
|
||||
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
|
||||
|
||||
-#include "papilo/external/catch/catch.hpp"
|
||||
+#include <catch2/catch_all.hpp>
|
||||
#include "papilo/core/PresolveMethod.hpp"
|
||||
#include "papilo/core/Problem.hpp"
|
||||
#include "papilo/core/ProblemBuilder.hpp"
|
||||
--- papilo-2.1.4/test/papilo/presolve/FreeVarSubstitutionTest.cpp.orig 2023-10-26 15:29:37.000000000 -0600
|
||||
+++ papilo-2.1.4/test/papilo/presolve/FreeVarSubstitutionTest.cpp 2023-12-06 11:38:08.352390150 -0700
|
||||
@@ -22,7 +22,7 @@
|
||||
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
|
||||
|
||||
#include "papilo/presolvers/FreeVarSubstitution.hpp"
|
||||
-#include "papilo/external/catch/catch.hpp"
|
||||
+#include <catch2/catch_all.hpp>
|
||||
#include "papilo/core/PresolveMethod.hpp"
|
||||
#include "papilo/core/Problem.hpp"
|
||||
#include "papilo/core/ProblemBuilder.hpp"
|
||||
--- papilo-2.1.4/test/papilo/presolve/ImplIntDetectionTest.cpp.orig 2023-10-26 15:29:37.000000000 -0600
|
||||
+++ papilo-2.1.4/test/papilo/presolve/ImplIntDetectionTest.cpp 2023-12-06 11:38:08.352390150 -0700
|
||||
@@ -21,7 +21,7 @@
|
||||
/* */
|
||||
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
|
||||
|
||||
-#include "papilo/external/catch/catch.hpp"
|
||||
+#include <catch2/catch_all.hpp>
|
||||
#include "papilo/core/PresolveMethod.hpp"
|
||||
#include "papilo/core/Problem.hpp"
|
||||
#include "papilo/core/ProblemBuilder.hpp"
|
||||
--- papilo-2.1.4/test/papilo/presolve/ParallelColDetectionTest.cpp.orig 2023-10-26 15:29:37.000000000 -0600
|
||||
+++ papilo-2.1.4/test/papilo/presolve/ParallelColDetectionTest.cpp 2023-12-06 11:38:08.353390136 -0700
|
||||
@@ -22,7 +22,7 @@
|
||||
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
|
||||
|
||||
#include "papilo/presolvers/ParallelColDetection.hpp"
|
||||
-#include "papilo/external/catch/catch.hpp"
|
||||
+#include <catch2/catch_all.hpp>
|
||||
#include "papilo/core/PresolveMethod.hpp"
|
||||
#include "papilo/core/Problem.hpp"
|
||||
#include "papilo/core/ProblemBuilder.hpp"
|
||||
--- papilo-2.1.4/test/papilo/presolve/ParallelRowDetectionTest.cpp.orig 2023-10-26 15:29:37.000000000 -0600
|
||||
+++ papilo-2.1.4/test/papilo/presolve/ParallelRowDetectionTest.cpp 2023-12-06 11:38:08.353390136 -0700
|
||||
@@ -22,7 +22,7 @@
|
||||
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
|
||||
|
||||
#include "papilo/presolvers/ParallelRowDetection.hpp"
|
||||
-#include "papilo/external/catch/catch.hpp"
|
||||
+#include <catch2/catch_all.hpp>
|
||||
#include "papilo/core/PresolveMethod.hpp"
|
||||
#include "papilo/core/Problem.hpp"
|
||||
#include "papilo/core/ProblemBuilder.hpp"
|
||||
--- papilo-2.1.4/test/papilo/presolve/ProbingTest.cpp.orig 2023-10-26 15:29:37.000000000 -0600
|
||||
+++ papilo-2.1.4/test/papilo/presolve/ProbingTest.cpp 2023-12-06 11:38:08.353390136 -0700
|
||||
@@ -22,7 +22,7 @@
|
||||
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
|
||||
|
||||
#include "papilo/presolvers/Probing.hpp"
|
||||
-#include "papilo/external/catch/catch.hpp"
|
||||
+#include <catch2/catch_all.hpp>
|
||||
#include "papilo/core/PresolveMethod.hpp"
|
||||
#include "papilo/core/Problem.hpp"
|
||||
#include "papilo/core/ProblemBuilder.hpp"
|
||||
--- papilo-2.1.4/test/papilo/presolve/SimpleProbingTest.cpp.orig 2023-10-26 15:29:37.000000000 -0600
|
||||
+++ papilo-2.1.4/test/papilo/presolve/SimpleProbingTest.cpp 2023-12-06 11:38:08.353390136 -0700
|
||||
@@ -22,7 +22,7 @@
|
||||
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
|
||||
|
||||
#include "papilo/presolvers/SimpleProbing.hpp"
|
||||
-#include "papilo/external/catch/catch.hpp"
|
||||
+#include <catch2/catch_all.hpp>
|
||||
#include "papilo/core/PresolveMethod.hpp"
|
||||
#include "papilo/core/Problem.hpp"
|
||||
#include "papilo/core/ProblemBuilder.hpp"
|
||||
--- papilo-2.1.4/test/papilo/presolve/SimpleSubstitutionTest.cpp.orig 2023-10-26 15:29:37.000000000 -0600
|
||||
+++ papilo-2.1.4/test/papilo/presolve/SimpleSubstitutionTest.cpp 2023-12-06 11:38:08.354390123 -0700
|
||||
@@ -22,7 +22,7 @@
|
||||
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
|
||||
|
||||
#include "papilo/presolvers/SimpleSubstitution.hpp"
|
||||
-#include "papilo/external/catch/catch.hpp"
|
||||
+#include <catch2/catch_all.hpp>
|
||||
#include "papilo/core/PresolveMethod.hpp"
|
||||
#include "papilo/core/Problem.hpp"
|
||||
#include "papilo/core/ProblemBuilder.hpp"
|
||||
--- papilo-2.1.4/test/papilo/presolve/SimplifyInequalitiesTest.cpp.orig 2023-10-26 15:29:37.000000000 -0600
|
||||
+++ papilo-2.1.4/test/papilo/presolve/SimplifyInequalitiesTest.cpp 2023-12-06 11:38:08.354390123 -0700
|
||||
@@ -22,7 +22,7 @@
|
||||
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
|
||||
|
||||
#include "papilo/presolvers/SimplifyInequalities.hpp"
|
||||
-#include "papilo/external/catch/catch.hpp"
|
||||
+#include <catch2/catch_all.hpp>
|
||||
#include "papilo/core/PresolveMethod.hpp"
|
||||
#include "papilo/core/Problem.hpp"
|
||||
#include "papilo/core/ProblemBuilder.hpp"
|
||||
--- papilo-2.1.4/test/papilo/presolve/SingletonColsTest.cpp.orig 2023-10-26 15:29:37.000000000 -0600
|
||||
+++ papilo-2.1.4/test/papilo/presolve/SingletonColsTest.cpp 2023-12-06 11:38:08.354390123 -0700
|
||||
@@ -22,7 +22,7 @@
|
||||
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
|
||||
|
||||
#include "papilo/presolvers/SingletonCols.hpp"
|
||||
-#include "papilo/external/catch/catch.hpp"
|
||||
+#include <catch2/catch_all.hpp>
|
||||
#include "papilo/core/PresolveMethod.hpp"
|
||||
#include "papilo/core/Problem.hpp"
|
||||
#include "papilo/core/ProblemBuilder.hpp"
|
||||
--- papilo-2.1.4/test/papilo/presolve/SingletonStuffingTest.cpp.orig 2023-10-26 15:29:37.000000000 -0600
|
||||
+++ papilo-2.1.4/test/papilo/presolve/SingletonStuffingTest.cpp 2023-12-06 11:38:08.354390123 -0700
|
||||
@@ -22,7 +22,7 @@
|
||||
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
|
||||
|
||||
#include "papilo/presolvers/SingletonStuffing.hpp"
|
||||
-#include "papilo/external/catch/catch.hpp"
|
||||
+#include <catch2/catch_all.hpp>
|
||||
#include "papilo/core/PresolveMethod.hpp"
|
||||
#include "papilo/core/Problem.hpp"
|
||||
#include "papilo/core/ProblemBuilder.hpp"
|
||||
--- papilo-2.1.4/test/papilo/presolve/SparsifyTest.cpp.orig 2023-10-26 15:29:37.000000000 -0600
|
||||
+++ papilo-2.1.4/test/papilo/presolve/SparsifyTest.cpp 2023-12-06 11:38:08.354390123 -0700
|
||||
@@ -22,7 +22,7 @@
|
||||
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
|
||||
|
||||
#include "papilo/presolvers/Sparsify.hpp"
|
||||
-#include "papilo/external/catch/catch.hpp"
|
||||
+#include <catch2/catch_all.hpp>
|
||||
#include "papilo/core/PresolveMethod.hpp"
|
||||
#include "papilo/core/Problem.hpp"
|
||||
#include "papilo/core/ProblemBuilder.hpp"
|
||||
--- papilo-2.1.4/test/TestMain.cpp.orig 2023-10-26 15:29:37.000000000 -0600
|
||||
+++ papilo-2.1.4/test/TestMain.cpp 2023-12-06 11:38:08.354390123 -0700
|
||||
@@ -23,4 +23,4 @@
|
||||
|
||||
#define CATCH_CONFIG_MAIN
|
||||
|
||||
-#include "papilo/external/catch/catch.hpp"
|
||||
+#include <catch2/catch_all.hpp>
|
83
papilo-vector-bounds.patch
Normal file
83
papilo-vector-bounds.patch
Normal file
@ -0,0 +1,83 @@
|
||||
--- papilo-2.1.4/src/papilo/core/SparseStorage.hpp.orig 2023-12-06 11:38:08.349390191 -0700
|
||||
+++ papilo-2.1.4/src/papilo/core/SparseStorage.hpp 2024-01-15 13:44:59.369457807 -0700
|
||||
@@ -311,9 +311,9 @@ class SparseStorage
|
||||
if( i != rowranges[row].end )
|
||||
{
|
||||
indbuffer.insert( indbuffer.end(), &columns[i],
|
||||
- &columns[rowranges[row].end] );
|
||||
+ &columns.data()[rowranges[row].end] );
|
||||
valbuffer.insert( valbuffer.end(), &values[i],
|
||||
- &values[rowranges[row].end] );
|
||||
+ &values.data()[rowranges[row].end] );
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -858,15 +858,15 @@ SparseStorage<REAL>::shiftRows( const in
|
||||
// space
|
||||
} while( rowranges[l].start == rowranges[l - 1].end );
|
||||
|
||||
- REAL* valsout = &values[rowranges[l].start - lastshiftleft];
|
||||
- int* colsout = &columns[rowranges[l].start - lastshiftleft];
|
||||
+ REAL* valsout = &values.data()[rowranges[l].start - lastshiftleft];
|
||||
+ int* colsout = &columns.data()[rowranges[l].start - lastshiftleft];
|
||||
|
||||
assert( rowranges[l - 1].end <=
|
||||
rowranges[l].start - lastshiftleft );
|
||||
|
||||
while( l <= row )
|
||||
{
|
||||
- int shift = &values[rowranges[l].start] - valsout;
|
||||
+ int shift = &values.data()[rowranges[l].start] - valsout;
|
||||
|
||||
#ifndef NDEBUG
|
||||
Vec<REAL> tmpvals;
|
||||
@@ -878,10 +878,10 @@ SparseStorage<REAL>::shiftRows( const in
|
||||
#endif
|
||||
if( rowranges[l].start != rowranges[l].end )
|
||||
{
|
||||
- valsout = std::move( &values[rowranges[l].start],
|
||||
- &values[rowranges[l].end], valsout );
|
||||
- colsout = std::move( &columns[rowranges[l].start],
|
||||
- &columns[rowranges[l].end], colsout );
|
||||
+ valsout = std::move( &values.data()[rowranges[l].start],
|
||||
+ &values.data()[rowranges[l].end], valsout );
|
||||
+ colsout = std::move( &columns.data()[rowranges[l].start],
|
||||
+ &columns.data()[rowranges[l].end], colsout );
|
||||
}
|
||||
|
||||
rowranges[l].start -= shift;
|
||||
@@ -908,15 +908,15 @@ SparseStorage<REAL>::shiftRows( const in
|
||||
// space
|
||||
} while( rowranges[r].end == rowranges[r + 1].start );
|
||||
|
||||
- REAL* valsout = &values[rowranges[r].end + lastshiftright];
|
||||
- int* colsout = &columns[rowranges[r].end + lastshiftright];
|
||||
+ REAL* valsout = &values.data()[rowranges[r].end + lastshiftright];
|
||||
+ int* colsout = &columns.data()[rowranges[r].end + lastshiftright];
|
||||
|
||||
assert( rowranges[r + 1].start >=
|
||||
rowranges[r].end + lastshiftright );
|
||||
|
||||
while( r > row )
|
||||
{
|
||||
- int shift = valsout - &values[rowranges[r].end];
|
||||
+ int shift = valsout - &values.data()[rowranges[r].end];
|
||||
|
||||
#ifndef NDEBUG
|
||||
Vec<REAL> tmpvals;
|
||||
@@ -929,11 +929,11 @@ SparseStorage<REAL>::shiftRows( const in
|
||||
if( rowranges[r].start != rowranges[r].end )
|
||||
{
|
||||
valsout =
|
||||
- std::move_backward( &values[rowranges[r].start],
|
||||
- &values[rowranges[r].end], valsout );
|
||||
+ std::move_backward( &values.data()[rowranges[r].start],
|
||||
+ &values.data()[rowranges[r].end], valsout );
|
||||
colsout =
|
||||
- std::move_backward( &columns[rowranges[r].start],
|
||||
- &columns[rowranges[r].end], colsout );
|
||||
+ std::move_backward( &columns.data()[rowranges[r].start],
|
||||
+ &columns.data()[rowranges[r].end], colsout );
|
||||
}
|
||||
|
||||
rowranges[r].start += shift;
|
135
papilo.spec
Normal file
135
papilo.spec
Normal file
@ -0,0 +1,135 @@
|
||||
# Architectures that have libquadmath
|
||||
%ifarch x86_64 ppc64le
|
||||
%global quadmath 1
|
||||
%else
|
||||
%global quadmath 0
|
||||
%endif
|
||||
|
||||
Name: papilo
|
||||
Version: 2.1.4
|
||||
Release: %autorelease
|
||||
Summary: Parallel presolve for integer and linear optimization
|
||||
|
||||
# LGPL-3.0-or-later: the project as a whole
|
||||
# BSL-1.0: src/papilo/misc/extended_euclidean.hpp
|
||||
# Zlib: the header-only pdqsort project
|
||||
# MIT: the bundled fmt project
|
||||
License: LGPL-3.0-or-later AND BSL-1.0 AND Zlib AND MIT
|
||||
URL: https://github.com/scipopt/papilo/
|
||||
Source0: %{url}/archive/v%{version}/%{name}-%{version}.tar.gz
|
||||
# Unbundle catch, LUSOL, pdqsort, and ska
|
||||
Patch0: %{name}-unbundle.patch
|
||||
# Build a shared library instead of a static library
|
||||
Patch1: %{name}-shared.patch
|
||||
# The list of tests in CMakeLists.txt doesn't match the actual tests
|
||||
Patch2: %{name}-test.patch
|
||||
# Avoid out-of-bounds vector access
|
||||
# https://github.com/scipopt/papilo/pull/42
|
||||
Patch3: %{name}-vector-bounds.patch
|
||||
|
||||
# See https://fedoraproject.org/wiki/Changes/EncourageI686LeafRemoval
|
||||
ExcludeArch: %{ix86}
|
||||
|
||||
BuildRequires: boost-devel
|
||||
BuildRequires: cmake
|
||||
BuildRequires: cmake(catch2)
|
||||
BuildRequires: cmake(tbb)
|
||||
BuildRequires: gcc-c++
|
||||
BuildRequires: help2man
|
||||
%if %{quadmath}
|
||||
BuildRequires: libquadmath-devel
|
||||
%endif
|
||||
BuildRequires: lusol-devel
|
||||
BuildRequires: pdqsort-static
|
||||
BuildRequires: pkgconfig(gmp)
|
||||
|
||||
Requires: libpapilo%{?_isa} = %{version}-%{release}
|
||||
|
||||
# The bundled version of fmt is incompatible with version 10 in Rawhide.
|
||||
Provides: bundled(fmt) = 6.1.2
|
||||
|
||||
%global _desc %{expand:
|
||||
PaPILO provides parallel presolve routines for (mixed integer) linear
|
||||
programming problems. The routines are implemented using templates
|
||||
which allows switching to higher precision or rational arithmetic using
|
||||
the boost multiprecision package.}
|
||||
|
||||
%description %_desc
|
||||
|
||||
%package -n libpapilo
|
||||
Summary: Library interface to PaPILO
|
||||
|
||||
%description -n libpapilo %_desc
|
||||
|
||||
This package provides a library interface to the PaPILO functionality.
|
||||
|
||||
%package -n libpapilo-devel
|
||||
Summary: Headers and library links for libpapilo
|
||||
Requires: libpapilo%{?_isa} = %{version}-%{release}
|
||||
Requires: boost-devel%{?_isa}
|
||||
Requires: lusol-devel%{?_isa}
|
||||
Requires: pdqsort-static
|
||||
Requires: tbb-devel%{?_isa}
|
||||
|
||||
%description -n libpapilo-devel %_desc
|
||||
|
||||
This package contains headers and library links to develop applications
|
||||
that use libpapilo.
|
||||
|
||||
%prep
|
||||
%autosetup -p1
|
||||
|
||||
# Ensure none of the bundled code but fmt can be used
|
||||
rm -fr src/papilo/external/{catch,lusol,pdqsort,ska}
|
||||
|
||||
# Fix installation directories
|
||||
if [ '%{_lib}' != 'lib' ]; then
|
||||
sed -i 's,\(DESTINATION \)lib,\1%{_lib},g' CMakeLists.txt
|
||||
fi
|
||||
|
||||
%build
|
||||
%cmake -DQUADMATH:BOOL=%{?quadmath:ON}%{!?quadmath:OFF}
|
||||
%cmake_build
|
||||
|
||||
%install
|
||||
%cmake_install
|
||||
|
||||
# Generate man pages
|
||||
mkdir -p %{buildroot}%{_mandir}/man1
|
||||
export LD_LIBRARY_PATH=$PWD/%{_vpath_builddir}
|
||||
cd %{_vpath_builddir}/bin
|
||||
help2man -N -h '' --version-string %{version} \
|
||||
-n 'check for duplicate optimization problem instances' ./duplicates > \
|
||||
%{buildroot}%{_mandir}/man1/duplicates.1
|
||||
help2man -N -h '' --version-string %{version} \
|
||||
-n 'parallel presolve for integer and linear optimization' ./papilo > \
|
||||
%{buildroot}%{_mandir}/man1/papilo.1
|
||||
cd -
|
||||
|
||||
# Fix up the man pages a little
|
||||
sed -e 's,\./check_\(duplicates\),\1,' \
|
||||
-e '/^\\&/i.TP' \
|
||||
-i %{buildroot}%{_mandir}/man1/duplicates.1
|
||||
sed -i 's,\./\(papilo\),\1,' %{buildroot}%{_mandir}/man1/papilo.1
|
||||
|
||||
%check
|
||||
%ctest
|
||||
|
||||
%files
|
||||
%doc CHANGELOG README.md parameters.txt
|
||||
%{_bindir}/duplicates
|
||||
%{_bindir}/papilo
|
||||
%{_mandir}/man1/duplicates.1*
|
||||
%{_mandir}/man1/papilo.1*
|
||||
|
||||
%files -n libpapilo
|
||||
%license COPYING COPYING.LESSER
|
||||
%{_libdir}/libpapilo-core.so.0*
|
||||
|
||||
%files -n libpapilo-devel
|
||||
%{_includedir}/papilo/
|
||||
%{_libdir}/cmake/papilo/
|
||||
%{_libdir}/libpapilo-core.so
|
||||
|
||||
%changelog
|
||||
%autochangelog
|
Loading…
Reference in New Issue
Block a user