add sci-mathematics/{soplex,papilo}
authorgit <redacted>
Tue, 7 Jul 2026 18:00:02 +0000 (14:00 -0400)
committergit <redacted>
Tue, 7 Jul 2026 18:00:02 +0000 (14:00 -0400)
PaPILo is kind of broken because boost fucking sucks

README.md
sci-mathematics/papilo/Manifest [new file with mode: 0644]
sci-mathematics/papilo/metadata.xml [new file with mode: 0644]
sci-mathematics/papilo/papilo-3.0.1.ebuild [new file with mode: 0644]
sci-mathematics/papilo/papilo-9999.ebuild [new file with mode: 0644]
sci-mathematics/soplex/Manifest [new file with mode: 0644]
sci-mathematics/soplex/metadata.xml [new file with mode: 0644]
sci-mathematics/soplex/soplex-8.0.3.ebuild [new file with mode: 0644]
sci-mathematics/soplex/soplex-9999.ebuild [new file with mode: 0644]

index 5f7b64d74518af4ed9a73e0bb121b4ff983e5df8..a614a1b1183afd0c325a5d9806ca22c18105ce79 100644 (file)
--- a/README.md
+++ b/README.md
@@ -8,3 +8,5 @@ Ebuild files taken from the official Gentoo repository.
 * `sci-electronics/opensta` - new ebuild, the stable version needs SWIG 3.0, which is no longer available in the Gentoo repo, the live ebuild merges fine.
 * `sci-libs/lemon` - updated for C++20 compatibility.
 * `sci-mathematics/cudd` - building documentation fails with a modern C++ compiler, this ebuild just skips the docs.
+* `sci-mathematics/papilo` - new ebuild, may fail because of Boost program\_options.
+* `sci-mathematics/soplex` - new ebuild.
diff --git a/sci-mathematics/papilo/Manifest b/sci-mathematics/papilo/Manifest
new file mode 100644 (file)
index 0000000..4868a88
--- /dev/null
@@ -0,0 +1 @@
+DIST v3.0.1.tar.gz 1949915 BLAKE2B b57c8a99b35f8aa8142568922342ae1d702bb88795d882854b37a98ca93cb5e182389842d401e4092be54c4b3e1edaa96cdfcfe2f751c211e0dfb194221111b5 SHA512 373df982bbd521ad65a7e6d39ee90605a56ab35f9911d65201e44dcfbdb7f3be1224bf8998c5a6b3d56bbdb78fedd8006f4c309586ee86a17a2b0b46e501eb11
diff --git a/sci-mathematics/papilo/metadata.xml b/sci-mathematics/papilo/metadata.xml
new file mode 100644 (file)
index 0000000..271a6c7
--- /dev/null
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<maintainer type="project">
+       <email>disk.destroyer@yahoo.com</email>
+       <name>datadissipation.net</name>
+</maintainer>
+<upstream>
+       <remote-id type="github">scipopt/papilo</remote-id>
+</upstream>
+<use>
+       <flag name="boost">Use Boost (required for a functioning binary)</flag>
+       <flag name="gmp">Use GMP</flag>
+       <flag name="highs">Use HiGHS solver</flag>
+       <flag name="tbb">Use TBB (highly recommended)</flag>
+       <flag name="papilo">Use SoPlex</flag>
+       <flag name="quadmath">Use GCC's quadmath</flag>
+</use>
+<longdescription>
+       PaPILO, a C++14-based software package, 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.
+</longdescription>
+</pkgmetadata>
diff --git a/sci-mathematics/papilo/papilo-3.0.1.ebuild b/sci-mathematics/papilo/papilo-3.0.1.ebuild
new file mode 100644 (file)
index 0000000..a214965
--- /dev/null
@@ -0,0 +1,41 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake flag-o-matic
+
+DESCRIPTION="Parallel Presolve for Integer and Linear Optimization"
+HOMEPAGE="https://www.scipopt.org"
+SRC_URI="https://github.com/scipopt/papilo/archive/refs/tags/v${PV}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="boost gmp highs +tbb soplex quadmath"
+
+RDEPEND="
+       boost? ( dev-libs/boost )
+       gmp? ( dev-libs/gmp )
+       highs? ( sci-mathematics/highs )
+       tbb? ( dev-cpp/tbb )
+       soplex? ( sci-mathematics/soplex )
+"
+
+DEPEND="${RDEPEND}"
+
+src_configure() {
+
+       filter-lto
+       append-flags -fPIC
+
+       local mycmakeargs=(
+               -DGMP=$(usex gmp "ON" "OFF")
+               -DHIGHS=$(usex highs "ON" "OFF")
+               -DSOPLEX=$(usex soplex "ON" "OFF")
+               -DTBB=$(usex tbb "ON" "OFF")
+               -DQUADMATH=$(usex quadmath "ON" "OFF")
+       )
+
+       cmake_src_configure
+}
diff --git a/sci-mathematics/papilo/papilo-9999.ebuild b/sci-mathematics/papilo/papilo-9999.ebuild
new file mode 100644 (file)
index 0000000..21f48b8
--- /dev/null
@@ -0,0 +1,40 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake git-r3 flag-o-matic
+
+DESCRIPTION="Parallel Presolve for Integer and Linear Optimization"
+HOMEPAGE="https://www.scipopt.org"
+EGIT_REPO_URI="https://github.com/scipopt/papilo"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS=""
+IUSE="boost gmp highs +tbb soplex quadmath"
+
+RDEPEND="
+       boost? ( dev-libs/boost )
+       gmp? ( dev-libs/gmp )
+       highs? ( sci-mathematics/highs )
+       tbb? ( dev-cpp/tbb )
+       soplex? ( sci-mathematics/soplex )
+"
+
+DEPEND="${RDEPEND}"
+
+src_configure() {
+
+       filter-lto
+
+       local mycmakeargs=(
+               -DGMP=$(usex gmp "ON" "OFF")
+               -DHIGHS=$(usex highs "ON" "OFF")
+               -DSOPLEX=$(usex soplex "ON" "OFF")
+               -DTBB=$(usex tbb "ON" "OFF")
+               -DQUADMATH=$(usex quadmath "ON" "OFF")
+       )
+
+       cmake_src_configure
+}
diff --git a/sci-mathematics/soplex/Manifest b/sci-mathematics/soplex/Manifest
new file mode 100644 (file)
index 0000000..289204c
--- /dev/null
@@ -0,0 +1 @@
+DIST v8.0.3.tar.gz 1230157 BLAKE2B 8f828ba20045730d2558d30251f0a3804db6f658c87c3906df320a831658d10a009fc6675862900042699e83fa93d78b55ea181784ef67afa6656799aaca368c SHA512 5dd978e84463edee1b531d6fdf87ebb17c92736dce2c84c72facd9cd260f6da8100a2635b2d905ae761364a90ef5332b2f324f04386c9ae3af4ec7b574a41299
diff --git a/sci-mathematics/soplex/metadata.xml b/sci-mathematics/soplex/metadata.xml
new file mode 100644 (file)
index 0000000..7250345
--- /dev/null
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<maintainer type="project">
+       <email>disk.destroyer@yahoo.com</email>
+       <name>datadissipation.net</name>
+</maintainer>
+<upstream>
+       <remote-id type="github">scipopt/soplex</remote-id>
+</upstream>
+<use>
+       <flag name="boost">Use Boost (required to build the binary)</flag>
+       <flag name="gmp">Use GMP</flag>
+       <flag name="lto">Enable LTO</flag>
+       <flag name="mpfr">Use MPFR</flag>
+       <flag name="papilo">Use PaPILo</flag>
+       <flag name="quadmath">Use GCC's quadmath</flag>
+       <flag name="zlib">Use ZLIB</flag>
+</use>
+<longdescription>
+       SoPlex is an optimization package for solving linear programming problems (LPs)
+       based on an advanced implementation of the primal and dual revised simplex algorithm.
+       It provides special support for the exact solution of LPs with rational input data.
+       It can be used as a standalone solver reading MPS or LP format files via a command
+       line interface as well as embedded into other programs via a C++ class library.
+</longdescription>
+</pkgmetadata>
diff --git a/sci-mathematics/soplex/soplex-8.0.3.ebuild b/sci-mathematics/soplex/soplex-8.0.3.ebuild
new file mode 100644 (file)
index 0000000..88a6b64
--- /dev/null
@@ -0,0 +1,38 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+DESCRIPTION="Sequential object-oriented simPlex"
+HOMEPAGE="https://soplex.zib.de"
+SRC_URI="https://github.com/scipopt/soplex/archive/refs/tags/v${PV}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="boost gmp mpfr papilo quadmath zlib"
+
+RDEPEND="
+       boost? ( >=dev-libs/boost-1.65.0 )
+       gmp? ( dev-libs/gmp )
+       mpfr? ( dev-libs/mpfr )
+       papilo? ( sci-mathematics/papilo )
+       zlib? ( sys-libs/zlib )
+"
+
+DEPEND="${RDEPEND}"
+
+src_configure() {
+       local mycmakeargs=(
+               -DBOOST=$(usex boost "ON" "OFF")
+               -DGMP=$(usex gmp "ON" "OFF")
+               -DMPFR=$(usex mpfr "ON" "OFF")
+               -DPAPILO=$(usex papilo "ON" "OFF")
+               -DQUADMATH=$(usex quadmath "ON" "OFF")
+               -DZLIB=$(usex zlib "ON" "OFF")
+       )
+
+       cmake_src_configure
+}
diff --git a/sci-mathematics/soplex/soplex-9999.ebuild b/sci-mathematics/soplex/soplex-9999.ebuild
new file mode 100644 (file)
index 0000000..851a9fc
--- /dev/null
@@ -0,0 +1,39 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake git-r3
+
+DESCRIPTION="Sequential object-oriented simPlex"
+HOMEPAGE="https://soplex.zib.de"
+EGIT_REPO_URI="https://github.com/scipopt/soplex"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS=""
+IUSE="boost gmp lto mpfr papilo quadmath zlib"
+
+RDEPEND="
+       boost? ( >=dev-libs/boost-1.65.0 )
+       gmp? ( dev-libs/gmp )
+       mpfr? ( dev-libs/mpfr )
+       papilo? ( sci-mathematics/papilo )
+       zlib? ( sys-libs/zlib )
+"
+
+DEPEND="${RDEPEND}"
+
+src_configure() {
+       local mycmakeargs=(
+               -DBOOST=$(usex boost "ON" "OFF")
+               -DGMP=$(usex gmp "ON" "OFF")
+               -DLTO=$(usex lto "ON" "OFF")
+               -DMPFR=$(usex mpfr "ON" "OFF")
+               -DPAPILO=$(usex papilo "ON" "OFF")
+               -DQUADMATH=$(usex quadmath "ON" "OFF")
+               -DZLIB=$(usex zlib "ON" "OFF")
+       )
+
+       cmake_src_configure
+}