summaryrefslogtreecommitdiff
path: root/sci-mathematics
diff options
context:
space:
mode:
Diffstat (limited to 'sci-mathematics')
-rw-r--r--sci-mathematics/Manifest.gzbin19312 -> 19314 bytes
-rw-r--r--sci-mathematics/cvc4/Manifest3
-rw-r--r--sci-mathematics/cvc4/cvc4-1.8-r5.ebuild11
-rw-r--r--sci-mathematics/cvc4/files/cvc4-1.8-musl.patch80
-rw-r--r--sci-mathematics/gap/Manifest2
-rw-r--r--sci-mathematics/gap/gap-4.13.0.ebuild2
-rw-r--r--sci-mathematics/topcom/Manifest4
-rw-r--r--sci-mathematics/topcom/files/topcom-1.1.2-buildsystem.patch295
-rw-r--r--sci-mathematics/topcom/topcom-1.1.2.ebuild54
9 files changed, 446 insertions, 5 deletions
diff --git a/sci-mathematics/Manifest.gz b/sci-mathematics/Manifest.gz
index 9b53ede49c7c..d6ecc79b00a1 100644
--- a/sci-mathematics/Manifest.gz
+++ b/sci-mathematics/Manifest.gz
Binary files differ
diff --git a/sci-mathematics/cvc4/Manifest b/sci-mathematics/cvc4/Manifest
index 52c6c0af33bf..e2064a794821 100644
--- a/sci-mathematics/cvc4/Manifest
+++ b/sci-mathematics/cvc4/Manifest
@@ -1,6 +1,7 @@
AUX cvc4-1.8-bash-5.2-fix.patch 1092 BLAKE2B 3a637ffb59bcfd6af253d2c7b2964025f66c7bb074e2bfecb21b26399b9582fa3b4cc1c89b7a773bd37f39fcfa79d7cb8f9535fd724538b6cede38c3e964e242 SHA512 a0c51df4013bae3b5990972f39edb9cddbf6f627dec4533b697546e27056b88aa54aa2714e97a6cf8ba8262f86feac0cbce47192527928e652ae7ff2e27dc777
AUX cvc4-1.8-gentoo.patch 1983 BLAKE2B bd9e7f8b442e151fdc27b45866ed4374ffcbeb5d37edd192cda13ddb3ca547b6e29cfea7641973636a184c14a649bb2131beb4e9c9b90f329dfd0cec8aab0bf0 SHA512 3793c9e318ffb266e505627ac7ea3cbf6a7ba3837a419967b873b72b71bc2bb1a45ae9fd61abaa95af02802267823d8affc1faf077f8ee16eef00ed7715c2187
+AUX cvc4-1.8-musl.patch 3734 BLAKE2B 892dbba92594f7921932010327bc2110625a10d5cf6857e524c04e7266e7b335ff14d56b43c2b3d220c123a2af3a19ae7495b212896478d07a1da9faebb4d1fe SHA512 b82afaba8688da986b8578177c8e98b9586b63a5263cc9f9c001ec84390b3f7ba5f7028cf4b5a8cb026f980d285eabd68df7c0d93be063f720eae5eb168831a6
AUX cvc4-1.8-toml.patch 1329 BLAKE2B 39def94cd357381b277c5d5e8b39edc5d9e48ea8ecccf190cea13995b4da54a896d9c0f8cf714b8c74425da1c8269fd1cddbef2619a4f59cbc4090bc31ec14a4 SHA512 ca999ee52e8e91259772cb0a4be7ca3149cf46196b599fb8f23301a5b4a4c5154b7419706ba9dd7f279f003692b10fcf406a4159542807baca85683595401479
DIST cvc4-1.8.tar.gz 7554297 BLAKE2B f4d2b223ba2c01ef745520d8874381a1873358fbc7eca12559656512ffeefccec4eca3d73a26debf34110ca14a3bccf35ca87e2a49575b8b67484bed79df081c SHA512 d6b0153b0f5c4e615c995a8eecfbfd783cfc1004c5134c6880230044081c71d638fee39cceb987eb8d72e91b2b6596b184dc0daacec8880cfc176c6dee8aa445
-EBUILD cvc4-1.8-r5.ebuild 1424 BLAKE2B b3c337d08bff681b1bf4ae1b9be4b616d48773013654bb81c0e073590e099af677c3fbbf1fa536b2a1311d427625954c1a50efaf39576f423d2d7e6b6c7b2263 SHA512 31e77aa48109e19d0e2d69f8a4ec9ee517745781dbe0b36f8820518225171b6d2e62ee784eaec1f6bd0b2c66d081f2398d3e5a3e2aac49716dcba65555263b6a
+EBUILD cvc4-1.8-r5.ebuild 1531 BLAKE2B ba2c624ec0f9fc1dca5cbc9fa182be5abeda7195bb50adbe1eb0621b126869596d31651029ce0ebc9b211c695c0de8bfc7613b72cb55a8859fc038d07649ccac SHA512 4321dbf55bbe2269c443a7773fa3f274a3ccb64061ff8ab2fa750ce15a634a81d1f56eadb6de0d47fe0774dc1324b8aa5aab71dfc449de36ccd3a692f7a5a33e
MISC metadata.xml 840 BLAKE2B d452e6a81280e47283c6ff9fa8a800d89c39920e95416e6b25a3bd55663b8ada050b6c7d21b65053ed2e94ae6affb570946fe699bc6efebb26dfcd06dcd0c184 SHA512 603da6ccd58f6d90f8738047c9f93d2c32583242711355fa619f8acaf8694f0cc1e22d41592914a154cc4cfa31b0ab7308e8584c8951bc78a3bdf8e5f130cb04
diff --git a/sci-mathematics/cvc4/cvc4-1.8-r5.ebuild b/sci-mathematics/cvc4/cvc4-1.8-r5.ebuild
index 6de0fc9372aa..4870f7af7ba6 100644
--- a/sci-mathematics/cvc4/cvc4-1.8-r5.ebuild
+++ b/sci-mathematics/cvc4/cvc4-1.8-r5.ebuild
@@ -11,6 +11,8 @@ DESCRIPTION="Automatic theorem prover for satisfiability modulo theories (SMT) p
HOMEPAGE="https://cvc4.github.io/"
SRC_URI="https://github.com/CVC4/CVC4-archived/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}"/${PN^^}-archived-${PV}
+
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~amd64 ~x86"
@@ -28,8 +30,6 @@ BDEPEND="$(python_gen_any_dep '
')
"
-S="${WORKDIR}"/${PN^^}-archived-${PV}
-
PATCHES=(
"${FILESDIR}"/${P}-gentoo.patch
"${FILESDIR}"/${P}-toml.patch
@@ -40,6 +40,13 @@ python_check_deps() {
python_has_version "dev-python/tomli[${PYTHON_USEDEP}]"
}
+src_prepare() {
+ cmake_src_prepare
+ if use elibc_musl ; then
+ eapply "${FILESDIR}"/${P}-musl.patch
+ fi
+}
+
src_configure() {
local mycmakeargs=(
-DANTLR_BINARY=/usr/bin/antlr3
diff --git a/sci-mathematics/cvc4/files/cvc4-1.8-musl.patch b/sci-mathematics/cvc4/files/cvc4-1.8-musl.patch
new file mode 100644
index 000000000000..3448f9bab64f
--- /dev/null
+++ b/sci-mathematics/cvc4/files/cvc4-1.8-musl.patch
@@ -0,0 +1,80 @@
+--- a/src/prop/bvminisat/simp/Main.cc 2024-05-20 14:52:26.827202665 +0200
++++ b/src/prop/bvminisat/simp/Main.cc 2024-05-20 14:53:05.967758613 +0200
+@@ -80,11 +80,6 @@
+ 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);
+- printf("WARNING: for repeatability, setting FPU to use double precision\n");
+-#endif
+ // Extra options:
+ //
+ IntOption verb ("MAIN", "verb", "Verbosity level (0=silent, 1=some, 2=more).", 1, IntRange(0, 2));
+--- a/src/prop/bvminisat/core/Main.cc 2024-05-20 14:52:35.361105845 +0200
++++ b/src/prop/bvminisat/core/Main.cc 2024-05-20 14:53:27.116518689 +0200
+@@ -80,11 +80,6 @@
+ 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);
+- printf("WARNING: for repeatability, setting FPU to use double precision\n");
+-#endif
+ // Extra options:
+ //
+ IntOption verb ("MAIN", "verb", "Verbosity level (0=silent, 1=some, 2=more).", 1, IntRange(0, 2));
+--- a/src/prop/minisat/simp/Main.cc 2024-05-20 14:52:44.044007338 +0200
++++ b/src/prop/minisat/simp/Main.cc 2024-05-20 14:53:39.356379840 +0200
+@@ -81,11 +81,6 @@
+ 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);
+- printf("WARNING: for repeatability, setting FPU to use double precision\n");
+-#endif
+ // Extra options:
+ //
+ IntOption verb ("MAIN", "verb", "Verbosity level (0=silent, 1=some, 2=more).", 1, IntRange(0, 2));
+--- a/src/prop/minisat/core/Main.cc 2024-05-20 14:52:50.063939036 +0200
++++ b/src/prop/minisat/core/Main.cc 2024-05-20 14:53:53.834215599 +0200
+@@ -79,11 +79,6 @@
+ 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);
+- printf("WARNING: for repeatability, setting FPU to use double precision\n");
+-#endif
+ // Extra options:
+ //
+ IntOption verb ("MAIN", "verb", "Verbosity level (0=silent, 1=some, 2=more).", 1, IntRange(0, 2));
+--- a/src/prop/bvminisat/utils/System.h 2024-05-20 14:54:23.301881326 +0200
++++ b/src/prop/bvminisat/utils/System.h 2024-05-20 14:54:42.030668881 +0200
+@@ -21,9 +21,6 @@
+ #ifndef BVMinisat_System_h
+ #define BVMinisat_System_h
+
+-#if defined(__linux__)
+-#include <fpu_control.h>
+-#endif
+
+ #include "prop/bvminisat/mtl/IntTypes.h"
+
+--- a/src/prop/minisat/utils/System.h 2024-05-20 14:54:28.650820656 +0200
++++ b/src/prop/minisat/utils/System.h 2024-05-20 14:54:55.435516829 +0200
+@@ -21,9 +21,6 @@
+ #ifndef Minisat_System_h
+ #define Minisat_System_h
+
+-#if defined(__linux__)
+-#include <fpu_control.h>
+-#endif
+
+ #include "prop/minisat/mtl/IntTypes.h"
+
diff --git a/sci-mathematics/gap/Manifest b/sci-mathematics/gap/Manifest
index e448069ce76f..c6ec8f52a7cc 100644
--- a/sci-mathematics/gap/Manifest
+++ b/sci-mathematics/gap/Manifest
@@ -1,3 +1,3 @@
DIST gap-4.13.0-core.tar.gz 38666910 BLAKE2B 42e6ccd4c7474efec6f9faab7bbc67c264df7f3a3b62945faa53150a00d6944aa8a2cc5e5c9f99440541211d5279bdaed458ce8351375f8e14f0380f612e8c89 SHA512 d7326dc49f1c646853e66a48b83c8053bb80625289fbaa54b12b8f88c016d41cbf78d67333def0c3ac36d93f602811d2cb4ee5d56c37aa7efd13ce8ce6808f3c
-EBUILD gap-4.13.0.ebuild 3945 BLAKE2B 728e1beff3fab585fa2ae6808eb635f8ab7a409b36aeb0baa95dec21e769a5019dee8aaa8bc0a8f930b71b89e223c207dd1ac5e9373f0380156a19c3ca1d4fae SHA512 bda6b69c90bd8d37272888c7844586581e68fd37d8adb1a7c2d699debf017eea8fdd8fd779f4e11b0b63a314c12629be18a3dc2a37e58fb128b870d22936e396
+EBUILD gap-4.13.0.ebuild 3944 BLAKE2B a6c26178337fc7c9454bf2f567491c420d3471b42763b98e33ca9093dce01fd32a1a33e6215701776976f9485938b99f448f06e4dfbba2cafa721360c272eb6d SHA512 18a786f24b34a16cfef3bccf0a5c4854980cb2f1e152b344bec0fae12430cfe032b9ad05deaaeaf2e53ba4a35a172c9c54f3ea0643a2d7a500fd81024b25ad9b
MISC metadata.xml 1582 BLAKE2B 9151244f139b0d675e327731c336c41d5d69c25856286c182944d57255fbb6d7b1f023195b3a01c829ff6f3ea1d5e6eb6edbcc796a30120deacde82b90b5f39c SHA512 f4490e9b13cee6604f14df39ea048d7578e080a8faa97b0bb22191a7dce56904416870ed64c289f91526087009f7488e8baed4e531c78f50a5b917e9e1684ce2
diff --git a/sci-mathematics/gap/gap-4.13.0.ebuild b/sci-mathematics/gap/gap-4.13.0.ebuild
index 35317e58bb7c..9e533710c911 100644
--- a/sci-mathematics/gap/gap-4.13.0.ebuild
+++ b/sci-mathematics/gap/gap-4.13.0.ebuild
@@ -11,7 +11,7 @@ SRC_URI="https://github.com/gap-system/gap/releases/download/v${PV/_/-}/${P/_/-}
LICENSE="GPL-2+"
SLOT="0/9" # soname
-KEYWORDS="~amd64"
+KEYWORDS="amd64"
IUSE="cpu_flags_x86_popcnt debug memcheck minimal readline test valgrind"
REQUIRED_USE="?? ( memcheck valgrind )"
RESTRICT="!test? ( test )"
diff --git a/sci-mathematics/topcom/Manifest b/sci-mathematics/topcom/Manifest
index 7bf56ea5992f..1ff3b5589d9a 100644
--- a/sci-mathematics/topcom/Manifest
+++ b/sci-mathematics/topcom/Manifest
@@ -1,5 +1,9 @@
AUX topcom-0.17.8-buildsystem.patch 8162 BLAKE2B 2eb03fd1c2559f09ebc41180d0fa6e55d3b0b7de039e9c0f16f12cda88ec3a4af6f26029dabee037f23be303e7b7c33c79712dc9f24481bc36ecd1ccb8a8a4ab SHA512 70e247f5a366c7efa4cf30de06670694700ffa3b4a047301ee477ac407da452488819466d99e3db73c5b8971a1f5d0f2544116680481cbde3a4112a41d4dc344
+AUX topcom-1.1.2-buildsystem.patch 9441 BLAKE2B 23bcbb69fc952f4ebbcb33cc5316fc5a783bcce1287f90b51e091926b958406baf10a0faf86915f6275cf2158710566cd4b864b6fa107269b77f89b26118a978 SHA512 8e2d858838b1ca7e9a43954512187535bc25e391eab6b2228605a7c82bc394c79e42e44cdfc176dca9730532f42088ef10231f38dcbf6f7fab980cfcda0bea3d
DIST TOPCOM-0_17_8.tgz 8994044 BLAKE2B 27426b9fd9da8bc51e3632483cdd1c3f878a03d22dcad637c1c26368d58dbc9a9ef4c6918e314484336b1355cdf703287bf50d248e257773729a4d9fd012c0ca SHA512 2ddab2f30bf3adf93f0bb76c50bc70a5927fe2a9561a59df0ac7bec193b9a9b231eecb58c69840247536b73fda5298955518e798c3b5f8d2961ca09dfdc81cce
+DIST TOPCOM-1_1_2.tgz 7924000 BLAKE2B 4e489c2ee1682ca4612eaef785134711d9cd1b61a225b811015fcf8b3db057d83169fb251f61f4b8f983bfd450515619f01664789f7f5dbe2a076d2af0ab6a28 SHA512 acdfcd11d4d6d6b3d21f90313d413a0d6a753a982d1090de5ed2cdd011dec98e04058f79679772bb911c5c2f23834477c5fff9511ca0cd67a392c6b24347ef7d
DIST TOPCOM-manual.html 19251 BLAKE2B 8e361fd81bed45b552766a86a856ed1411154b5c523e14463750651d1c8d7b0f1f25a7c29bfdc34910fad3d19a1df94ded47b63a973f22baf3d60a7c5f0e1578 SHA512 5d0303f141bce12e0354c2fb65420102aa198e2271c0e901621f850b47f9cf9642659b0cf8e9bcc7a6da3b39914c20e47c67e72aa9cf999892f80855daa25c67
+DIST TOPCOM-manual.pdf 173775 BLAKE2B 6bc7a68c17b514d0ceb1d7ee69fd9c943078ceb88c6b98a12cb88447cf5720d47aa9db70b0c584ccd6900d186822176cd949b55f4d6badb8ffa997ed1fcba799 SHA512 820f26075d3416264ebece7b218f4c5cdfea0f465fe71724d799e4f0375c44e16f80e49f1f184d48d9699fb42379a27924f4c01385d85216d099e3e1c557389f
EBUILD topcom-0.17.8-r3.ebuild 1456 BLAKE2B c111eab374ad4ab77bbba83d9e07ca2318a25fd8efa631c016103554786e1e1196d5f68b5d81f6acda644352e800ecac5fea6bfbb2f7dd0fe038388ea6760037 SHA512 696583d83ac2f0e8bf0ed4157cce8136af6053c4930f9e8c06701bd9451ffb53b68fb03ca505e203e383faa9ff28bae8a1e8c3671123ad3fd61ef53e581f4e3d
+EBUILD topcom-1.1.2.ebuild 1232 BLAKE2B 83683b6741145c719230de338d3c74abccc84e0efc3867faad017bab7427b260f3f15828276eb22c623f548949f673d0877716e415f675a64958426ce3c77b37 SHA512 df19f8dc2da4692a30582af5936760552a088001359caab8a661a4c2582037ce366a189aa820f8519558d3f6d099f6cd2593b35af85b35ef3e7ba27af335bd62
MISC metadata.xml 270 BLAKE2B 4a5eb6dd2d9b902f13d543c859532c69cadc4595acd36675d25ff9ff204757f274327f87aa1bd7ddb1f040d5b028f52f614828b6794c19f60cc08dca04185af6 SHA512 cff77e4b0c454fc9c32b427b012585f4b1ab12dc2ca19ef669b43b0c64eb0ad6ffdc07a04c0c3e4eef8ce621f3a90c701bdd824cbc6e828aa62f6450f40ac1c6
diff --git a/sci-mathematics/topcom/files/topcom-1.1.2-buildsystem.patch b/sci-mathematics/topcom/files/topcom-1.1.2-buildsystem.patch
new file mode 100644
index 000000000000..77982286acf2
--- /dev/null
+++ b/sci-mathematics/topcom/files/topcom-1.1.2-buildsystem.patch
@@ -0,0 +1,295 @@
+From 4e0185faf3f97f0d027cf74df54d4b08adf1d355 Mon Sep 17 00:00:00 2001
+From: Michael Orlitzky <michael@orlitzky.com>
+Date: Wed, 15 May 2024 09:51:06 -0400
+Subject: [PATCH 1/1] */*: patch build system for Gentoo
+
+ - No "external" anything
+ - Use libtool for libraries
+ - Unbundle gmp and cddlib
+ - Use modern cddlib include path
+ - Detect deps with pkg-config
+ - Build lib-reg after lib
+ - Don't hide all symbols with -fvisibility=hidden???
+---
+ Makefile.am | 8 +---
+ configure.ac | 92 +++++++-------------------------------
+ lib-src-reg/LPinterface.hh | 4 +-
+ lib-src-reg/Makefile.am | 7 +--
+ lib-src/Makefile.am | 5 +--
+ src-reg/Makefile.am | 19 +-------
+ src/Makefile.am | 19 +-------
+ wrap-gmp-gmpxx/Makefile.am | 1 -
+ 8 files changed, 29 insertions(+), 126 deletions(-)
+
+diff --git a/Makefile.am b/Makefile.am
+index 17f6960..02f80f3 100644
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -1,7 +1 @@
+-SUBDIRS = wrap-gmp-gmpxx lib-src-reg lib-src src-reg src examples share
+-EXTRA_DIST = external/Makefile
+-EXTRA_DIST += external/gmp-6.2.1.tar.bz2
+-EXTRA_DIST += external/cddlib-0.94j-TOPCOMb.tar.gz
+-EXTRA_DIST += external/qsopt_ex-2.5.10.3.tar.gz
+-EXTRA_DIST += external/gmpxx-patch
+-
++SUBDIRS = wrap-gmp-gmpxx lib-src lib-src-reg src src-reg examples share
+diff --git a/configure.ac b/configure.ac
+index 2372711..0e6efd7 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -10,96 +10,36 @@ AC_SUBST([TOPCOMROOT], [`pwd`])
+
+ dnl set some compilation switches consistently:
+ AC_SUBST([AM_CPPFLAGS], ["-DSTL_SYMMETRIES -DSTL_CONTAINERS -DSTL_FLIPS -DSTL_CHIROTOPE -DGMPRATIONAL -DPERMLIB_DOMAIN_INT -DUSE_LEXORDER]")
+-AC_SUBST([AM_CXXFLAGS], [" -fvisibility=hidden -fvisibility-inlines-hidden -pthread -std=c++17"])
+-AC_SUBST([AM_LDFLAGS], ["-L../external/lib]")
+-
+-dnl backup the user variable LDFLAGS:
+-dnl AC_SUBST([LDFLAGS_backup], [${LDFLAGS}])
+-
+-dnl add local libraries to LDFLAGS so that AC_CHECK_LIB will find them:
+-dnl AC_SUBST([LDFLAGS], ["-L${TOPCOMROOT}/external/lib"])
++AC_SUBST([AM_CXXFLAGS], ["-std=c++17"])
+
+ dnl Checks for programs.
+ AC_PROG_CC
+ AC_PROG_INSTALL
+ AC_PROG_CXX
+-AC_PROG_RANLIB
++LT_INIT
+
+ dnl Checks for typedefs, structures, and compiler characteristics.
+ AC_C_CONST
+
+
+ dnl Check for libraries:
+-dnl Make libgmp if requested:
+-AC_LANG_PUSH(C++)
+-AC_CHECK_HEADERS([gmpxx.h])
+-AC_LANG_POP
+-AM_CONDITIONAL(USE_LOCAL_GMP, [test "x$ac_cv_header_gmpxx_h" = "xno"])
+-if test "x$ac_cv_header_gmpxx_h" = "xyes"; then
+- AC_MSG_NOTICE([system libgmp is used])
+-else
+- AC_MSG_NOTICE([gmpxx.h not found on system - building gmp locally ...])
+- make -C external gmp
+- AC_MSG_NOTICE([... done])
+-fi
+-
+-dnl Make libcddgmp:
+-make -C external cdd
+-
+-dnl Check for requests for third-party packages:
+-dnl Check for qsopt_ex:
+-AC_MSG_CHECKING(whether QSOpt_ex support was enabled)
+-AC_ARG_ENABLE([qsoptex],
+- AS_HELP_STRING([--enable-qsoptex],
+- [use QSOpt_ex as an LP solver for regularity checks (requires QSOpt_ex includes in ${TOPCOM}/external/include and libqsopt_ex.a in ${TOPCOM}/external/lib (built automatically during configure)])
++PKG_CHECK_MODULES(
++ [GMPXX],
++ [gmpxx],[
++ LIBS="${LIBS} ${GMPXX_LIBS}"
++ CPPFLAGS="${CPPFLAGS} ${GMPXX_CFLAGS}"
++ ],
++ [AC_MSG_ERROR([gmpxx not found])]
+ )
+-AM_CONDITIONAL(USE_QSOPTEX, [test "x$enable_qsoptex" = "xyes"])
+-if test "x$enable_qsoptex" = "xyes"; then
+- AC_MSG_RESULT(yes)
+- AC_DEFINE(HAVE_LIBQSOPTEX)
+-
+- dnl Check for compression libraries (qsopt_ex uses them if they are present):
+- AC_CHECK_LIB([z], [gzopen], [], AC_MSG_NOTICE([compiling without libz]))
+- AC_CHECK_LIB([bz2], [BZ2_bzopen], [], AC_MSG_NOTICE([compiling without libbz2]))
+-
+- dnl Make libqsopt_ex:
+- make -C external qso
+-else
+- AC_MSG_RESULT(no)
+-fi
+-
+-dnl Check for soplex:
+-AC_MSG_CHECKING(whether soplex support was enabled)
+-AC_ARG_ENABLE([soplex],
+- AS_HELP_STRING([--enable-soplex],
+- [use soplex as an LP solver for regularity checks (requires soplex includes and boost in ${TOPCOM}/external/include and libsoplex.a in ${TOPCOM}/external/lib)])
++PKG_CHECK_MODULES(
++ [CDDLIB],
++ [cddlib],[
++ LIBS="${LIBS} ${CDDLIB_LIBS}"
++ CPPFLAGS="${CPPFLAGS} ${CDDLIB_CFLAGS}"
++ ],
++ [AC_MSG_ERROR([cddlib not found])]
+ )
+-if test "x$enable_soplex" = "xyes"; then
+- AC_MSG_RESULT(yes)
+-
+- dnl Check for compression library (soplex needs it):
+- AC_CHECK_LIB([z], [gzopen], [LIBS="-lsoplex $LIBS"; AC_DEFINE(HAVE_LIBSOPLEX)], AC_MSG_NOTICE([libz missing => soplex not enabled]))
+-else
+- AC_MSG_RESULT(no)
+-fi
+-AM_CONDITIONAL(USE_SOPLEX, [test "x$ac_cv_lib_z_gzopen" = "xyes" -a "x$enable_soplex" = "xyes"])
+-
+-dnl Check for Permlib:
+-dnl AC_MSG_CHECKING(whether permlib support was enabled)
+-dnl AC_ARG_ENABLE([permlib],
+-dnl AS_HELP_STRING([--enable-permlib],
+-dnl [support permlib for symmetry checks (requires permlib-includes and boost in ${TOPCOM}/external/include)])
+-dnl )
+-dnl AM_CONDITIONAL(USE_PERMLIB, [test "x$enable_permlib" = "xyes"])
+-dnl if test "x$enable_permlib" = "xyes"; then
+-dnl AC_DEFINE(HAVE_LIBPERMLIB)
+-dnl AC_MSG_RESULT(yes)
+-dnl else
+-dnl AC_MSG_RESULT(no)
+-dnl fi
+
+-dnl restore the user variable LDLFAGS:
+-dnl AC_SUBST([LDFLAGS], [${LDFLAGS_backup}])
+
+ AC_CONFIG_FILES([wrap-gmp-gmpxx/Makefile lib-src/Makefile lib-src-reg/Makefile src/Makefile src-reg/Makefile examples/Makefile share/Makefile Makefile])
+ AC_OUTPUT
+diff --git a/lib-src-reg/LPinterface.hh b/lib-src-reg/LPinterface.hh
+index 6522dbe..c376887 100644
+--- a/lib-src-reg/LPinterface.hh
++++ b/lib-src-reg/LPinterface.hh
+@@ -21,8 +21,8 @@
+ #include "LabelSet.hh"
+ #include "Rational.h"
+
+-#include "setoper.h"
+-#include "cdd.h"
++#include "cddlib/setoper.h"
++#include "cddlib/cdd.h"
+
+ namespace topcom {
+
+diff --git a/lib-src-reg/Makefile.am b/lib-src-reg/Makefile.am
+index fa8de11..13a0c87 100644
+--- a/lib-src-reg/Makefile.am
++++ b/lib-src-reg/Makefile.am
+@@ -1,6 +1,6 @@
+-lib_LIBRARIES = libCHECKREG.a
++lib_LTLIBRARIES = libCHECKREG.la
+
+-libCHECKREG_a_SOURCES = \
++libCHECKREG_la_SOURCES = \
+ QSOinterface.cc \
+ SPXinterface.cc \
+ LPinterface.cc \
+@@ -12,9 +12,10 @@ SPXinterface.hh \
+ RegularityCheck.hh \
+ LPinterface.hh
+
++libCHECKREG_la_LIBADD = ../lib-src/libTOPCOM.la
++
+ AM_CPPFLAGS += -I../lib-src
+ AM_CPPFLAGS += -I../wrap-gmp-gmpxx
+-AM_CPPFLAGS += -I../external/include
+ AM_CPPFLAGS += -I$(includedir)
+
+ AM_CPPFLAGS += -ftemplate-depth=100
+diff --git a/lib-src/Makefile.am b/lib-src/Makefile.am
+index c048061..dbaa888 100644
+--- a/lib-src/Makefile.am
++++ b/lib-src/Makefile.am
+@@ -1,6 +1,6 @@
+-lib_LIBRARIES = libTOPCOM.a
++lib_LTLIBRARIES = libTOPCOM.la
+
+-libTOPCOM_a_SOURCES = \
++libTOPCOM_la_SOURCES = \
+ Admissibles.cc \
+ CheckTriang.cc \
+ Circuits.cc \
+@@ -134,7 +134,6 @@ Volumes.hh
+
+ AM_CPPFLAGS += -I../lib-src-reg
+ AM_CPPFLAGS += -I../wrap-gmp-gmpxx
+-AM_CPPFLAGS += -I../external/include
+ AM_CPPFLAGS += -I$(includedir)
+
+ AM_CPPFLAGS += -ftemplate-depth=100
+diff --git a/src-reg/Makefile.am b/src-reg/Makefile.am
+index ed4a016..78e9c44 100644
+--- a/src-reg/Makefile.am
++++ b/src-reg/Makefile.am
+@@ -2,27 +2,12 @@ bin_PROGRAMS = checkregularity
+
+ checkregularity_SOURCES = checkregularity.cc
+
+-LDADD = ../lib-src/libTOPCOM.a \
+- ../lib-src-reg/libCHECKREG.a \
+- ../external/lib/libcddgmp.a
+-if USE_QSOPTEX
+-LDADD += ../external/lib/libqsopt_ex.a
+-endif
+-
+-if USE_SOPLEX
+-LDADD += ../external/lib/libsoplex.a
+-endif
+-if USE_LOCAL_GMP
+-LDADD += ../external/lib/libgmpxx.a \
+- ../external/lib/libgmp.a
+-else
+-LIBS += -lgmpxx -lgmp
+-endif
++checkregularity_LDADD = ../lib-src/libTOPCOM.la \
++ ../lib-src-reg/libCHECKREG.la
+
+ AM_CPPFLAGS += -I../lib-src
+ AM_CPPFLAGS += -I../lib-src-reg
+ AM_CPPFLAGS += -I../wrap-gmp-gmpxx
+-AM_CPPFLAGS += -I../external/include
+ AM_CPPFLAGS += -I$(includedir)
+
+ AM_CPPFLAGS += -ftemplate-depth=100
+diff --git a/src/Makefile.am b/src/Makefile.am
+index c97ecc5..ce723fb 100644
+--- a/src/Makefile.am
++++ b/src/Makefile.am
+@@ -121,27 +121,12 @@ santos_triang_SOURCES = santos_triang.cc
+ santos_dim4_triang_SOURCES = santos_dim4_triang.cc
+ santos_22_triang_SOURCES = santos_22_triang.cc
+
+-LDADD = ../lib-src/libTOPCOM.a \
+- ../lib-src-reg/libCHECKREG.a \
+- ../external/lib/libcddgmp.a
+-if USE_QSOPTEX
+-LDADD += ../external/lib/libqsopt_ex.a
+-endif
+-if USE_SOPLEX
+-LDADD += ../external/lib/libsoplex.a
+-endif
+-if USE_LOCAL_GMP
+-LDADD += ../external/lib/libgmpxx.a \
+- ../external/lib/libgmp.a
+-else
+-LIBS += -lgmpxx -lgmp
+-endif
+-
++LDADD = ../lib-src/libTOPCOM.la \
++ ../lib-src-reg/libCHECKREG.la
+
+ AM_CPPFLAGS += -I../lib-src
+ AM_CPPFLAGS += -I../lib-src-reg
+ AM_CPPFLAGS += -I../wrap-gmp-gmpxx
+-AM_CPPFLAGS += -I../external/include
+ AM_CPPFLAGS += -I$(includedir)
+
+ AM_CPPFLAGS += -ftemplate-depth=100
+diff --git a/wrap-gmp-gmpxx/Makefile.am b/wrap-gmp-gmpxx/Makefile.am
+index f85cfc5..41ad248 100644
+--- a/wrap-gmp-gmpxx/Makefile.am
++++ b/wrap-gmp-gmpxx/Makefile.am
+@@ -2,5 +2,4 @@ include_HEADERS = \
+ Integer.h \
+ Rational.h
+
+-AM_CPPFLAGS += -I../external/include
+ AM_CPPFLAGS += -I$(includedir)
+--
+2.43.2
+
diff --git a/sci-mathematics/topcom/topcom-1.1.2.ebuild b/sci-mathematics/topcom/topcom-1.1.2.ebuild
new file mode 100644
index 000000000000..2093e331468c
--- /dev/null
+++ b/sci-mathematics/topcom/topcom-1.1.2.ebuild
@@ -0,0 +1,54 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools
+
+MY_PV=$(ver_rs 0-2 _)
+MY_P="${PN^^}-${MY_PV}"
+
+DESCRIPTION="Computing Triangulations Of Point Configurations and Oriented Matroids"
+HOMEPAGE="https://www.wm.uni-bayreuth.de/de/team/rambau_joerg/TOPCOM/index.html"
+SRC_URI="
+ https://www.wm.uni-bayreuth.de/de/team/rambau_joerg/TOPCOM-Downloads/${MY_P}.tgz
+ doc? ( https://www.wm.uni-bayreuth.de/de/team/rambau_joerg/TOPCOM-Manual/TOPCOM-manual.pdf )
+"
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~riscv ~x86"
+IUSE="doc examples"
+
+DEPEND="
+ dev-libs/gmp:0[cxx]
+ sci-libs/cddlib
+"
+RDEPEND="${DEPEND}"
+
+PATCHES=( "${FILESDIR}/${P}-buildsystem.patch" )
+
+src_prepare () {
+ default
+ eautoreconf
+ find external -delete || die
+}
+
+src_install () {
+ default
+
+ use doc && dodoc "${DISTDIR}/TOPCOM-manual.pdf"
+
+ if use examples; then
+ docompress -x "/usr/share/doc/${PF}/examples"
+ dodoc -r examples
+ fi
+
+ mv "${ED}/usr/bin/cube" "${ED}/usr/bin/topcom_cube" || die
+
+ find "${D}" -name '*.la' -delete || die
+}
+
+pkg_postinst() {
+ elog "Due to a file collision with media-libs/lib3ds the helper"
+ elog "'cube' has been installed as topcom_cube (see bug #547030)."
+}