summaryrefslogtreecommitdiff
path: root/sci-mathematics
diff options
context:
space:
mode:
authorroot <root@alpha.trunkmasters.com>2026-09-15 16:25:10 -0500
committerroot <root@alpha.trunkmasters.com>2026-09-15 16:25:10 -0500
commit709cefca42ef2a976a9aff8afb44a95ffc545b79 (patch)
tree4a0c9baada24031c4187bce895ad742f7f5eb85f /sci-mathematics
parentc012d247f03a893c117c88f73bcf6cb6494dcd22 (diff)
downloadbaldeagleos-repo-709cefca42ef2a976a9aff8afb44a95ffc545b79.tar.gz
baldeagleos-repo-709cefca42ef2a976a9aff8afb44a95ffc545b79.tar.xz
baldeagleos-repo-709cefca42ef2a976a9aff8afb44a95ffc545b79.zip
Adding metadata
Diffstat (limited to 'sci-mathematics')
-rw-r--r--sci-mathematics/cgal/Manifest4
-rw-r--r--sci-mathematics/cgal/cgal-6.1.1.ebuild207
-rw-r--r--sci-mathematics/cgal/cgal-6.2.ebuild187
-rw-r--r--sci-mathematics/cgal/cgal-9999.ebuild238
-rw-r--r--sci-mathematics/cgal/metadata.xml5
-rw-r--r--sci-mathematics/clipper2/Manifest1
-rw-r--r--sci-mathematics/clipper2/clipper2-1.5.3-r1.ebuild (renamed from sci-mathematics/clipper2/clipper2-1.5.3.ebuild)5
-rw-r--r--sci-mathematics/clipper2/clipper2-1.5.4-r1.ebuild (renamed from sci-mathematics/clipper2/clipper2-1.5.4.ebuild)5
-rw-r--r--sci-mathematics/clipper2/clipper2-2.0.1.ebuild48
-rw-r--r--sci-mathematics/manifold/Manifest1
-rw-r--r--sci-mathematics/manifold/manifold-3.5.2.ebuild83
-rw-r--r--sci-mathematics/manifold/manifold-9999.ebuild5
12 files changed, 783 insertions, 6 deletions
diff --git a/sci-mathematics/cgal/Manifest b/sci-mathematics/cgal/Manifest
index 05d44b47ce07..d7c075889f43 100644
--- a/sci-mathematics/cgal/Manifest
+++ b/sci-mathematics/cgal/Manifest
@@ -7,4 +7,8 @@ DIST CGAL-6.0.1-doc_html.tar.xz 59971752 BLAKE2B 050f078d7c56b5a9044b319f35c9602
DIST CGAL-6.0.1.tar.xz 25659212 BLAKE2B 48a707b74f6fc823197e60ae9643001ff24efcb7adfcb325018ee54ce538ef5f356f19fb2e979c2b2cd5fb0945590d37abe3f41bae4a511c9c88e83edab03422 SHA512 f3dfd8f872d5ac016f6e2e1ae83a0c070fc352c1d97dd5012f774e708401a8ad7e78bc117a48dbc799aba49d6bd537470c35a52956d9484f877df72497cfc23d
DIST CGAL-6.0.tar.xz 25979696 BLAKE2B dfc7785cc6398334b877a8839c2ea20e4540663f86230d54b45771519cf2ade31bb943e512714b72e5bc5af80978cfe9833332bbb1a75fa009de9d6caf6c8f89 SHA512 3c7aa6e5a014867cc2a2038c96ab7f62ab735d678efc580cc498fa27209cd338c4bba9524ea90d4dd88442e4df648791b83c465e7319ae5870f8c3c8827128e7
DIST CGAL-6.1-doc_html.tar.xz 65517356 BLAKE2B 19dd8660be8ab84373809559e808e577701f14f8c4ae359877ec73ae958f40a3c18f12512a5900ec6c4d446297bc4d0f2c7aacfe0f15f72e58e402ec2c343958 SHA512 6b9f3f0762ad9760a7f6d6a4480bb64e339aa0ba0593bd7bfb0af02f00d5c2b710bfb6dad48a6837e4e01f32a01ecd9557c09fc3a1d1937d0abd920417ba4afb
+DIST CGAL-6.1.1-doc_html.tar.xz 65520064 BLAKE2B 05de9df026b7643375554a3d2b28e498071559555a3d4f2c74fe55151f89b3c746c7d76401795ac4694593e74e01d38ef1ed40997810423ec5cab46ef0ef4003 SHA512 223701d046ff41b3f4096e1fcb432404a18b49ec92f8a4a4bbc01d35a32318bc17caf45ddec9318feb2be602c5e00c172216dff8dc7d7d7b27321c740043b803
+DIST CGAL-6.1.1.tar.xz 26305296 BLAKE2B 4c96527dac7c1fd26d4a4de5df5bec3e2c4fcd0eae64edf5809e600a6623be1b2561354d7be2dfe44589dd37cba34f169d30d65fa78f42a1f296200a47477c2f SHA512 dc6ae82526697df986c755f0a2d4754b04810b8910bec794bed4f822cc2e15d6174e85649241295022acddca3cd10408e7b279b6da93e0506d44e7fc1e03b7c6
DIST CGAL-6.1.tar.xz 26293988 BLAKE2B 21a154e26b54c985edcee10d5401020b272e1ff4a477b4eeaf9cffec0043f4fb4973c30088804a20a5ff9c7d974c65c198d5a8e626fa33910b5ab6175df973be SHA512 8921dad4802bb276348a6fccb5a4e0e191f0f03bd9224eeaa8f5525eab87c4dc949741bb0cb11e4127a080090635ae2f243fa5904376488e5b7dd966e0c312a5
+DIST CGAL-6.2-doc_html.tar.xz 74966988 BLAKE2B 667d164b0286cab7dbea9005d5a39d4115556568d3b4d05f2cf6ae38664b10784d72c18edca9b4538c44da6e4996187127e0f67d708fef2df762454923ca135d SHA512 651eb366083aa05877d5e743a501cd07480d1d8ac4dc48343ab991522d1a2c1b475a4183fddb27809d7f8b2d97983d9e2f92ad1068765411c832d675861e282d
+DIST CGAL-6.2.tar.xz 26596404 BLAKE2B 783d3adc86a369ec79a2b5acb4e421b1c64590929c4cc2e9de90e3ede6e926ac49723db0694778df66551cec05047aed356f598e436923b9a801b98670f0e56a SHA512 5f0a3e24d56250b1651fe9016d14da9dcc1af0dd1347b4daa0bf6ae8c512ab831ea66ce5655133497f9965071d2e200582b36ba29961ecb5cdc896b47a5d7e17
diff --git a/sci-mathematics/cgal/cgal-6.1.1.ebuild b/sci-mathematics/cgal/cgal-6.1.1.ebuild
new file mode 100644
index 000000000000..8e78d90d04a0
--- /dev/null
+++ b/sci-mathematics/cgal/cgal-6.1.1.ebuild
@@ -0,0 +1,207 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# Modules provided by dev-cpp/eigen
+CMAKE_REMOVE_MODULES_LIST=( FindEigen3 )
+inherit cmake cuda flag-o-matic multiprocessing
+
+DESCRIPTION="C++ library for geometric algorithms and data structures"
+HOMEPAGE="https://www.cgal.org/"
+
+if [[ ${PV} == *9999* ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/${PN^^}/${PN}.git"
+else
+ SRC_URI="
+ https://github.com/CGAL/cgal/releases/download/v${PV}/${P^^}.tar.xz
+ doc? (
+ https://github.com/CGAL/cgal/releases/download/v${PV}/${P^^}-doc_html.tar.xz
+ )
+ "
+ S="${WORKDIR}/${P^^}"
+ KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+fi
+
+LICENSE="LGPL-3 GPL-3 Boost-1.0"
+SLOT="0/14"
+
+IUSE="doc test test-full"
+RESTRICT="!test? ( test )"
+
+# Referenced in the cmake files.
+RDEPEND="
+ dev-cpp/eigen:=
+ dev-libs/boost:=
+ dev-libs/gmp:=[cxx]
+ dev-libs/mpfr:=
+ virtual/zlib:=
+"
+DEPEND="${RDEPEND}
+ test? (
+ net-libs/libssh[server]
+ )
+"
+BDEPEND="
+ virtual/pkgconfig
+"
+
+src_prepare() {
+ if use doc; then
+ rm -r "doc_html" || die
+ mv "${WORKDIR}/doc_html" "${S}/" || die
+ fi
+
+ cmake_src_prepare
+}
+
+src_configure() {
+ # Header only since 5.0
+
+ local mycmakeargs=(
+ -DCMAKE_POLICY_DEFAULT_CMP0167="NEW"
+
+ -DCGAL_INSTALL_LIB_DIR="$(get_libdir)"
+ -DCGAL_INSTALL_CMAKE_DIR="$(get_libdir)/cmake/CGAL"
+
+ # https://github.com/CGAL/cgal/wiki/Testing#using-ctest
+ -DCGAL_ENABLE_TESTING="$(usex test)"
+
+ # Forcibly wipe to get rid of NDEBUG. see below
+ -DCMAKE_CXX_FLAGS_${CMAKE_BUILD_TYPE^^}=""
+ )
+
+ if use test; then
+ # include/CGAL/config.h:53:4: error: #error The test-suite needs no NDEBUG defined
+ filter-flags -DNDEBUG*
+
+ # cmake/modules/display-third-party-libs-versions.cmake
+ # these need use flags eventually
+ local deps=(
+ VTK
+ )
+ deps+=(
+ # Ceres
+ # GLPK
+ # # GMP
+ # ITK
+ # ITT
+ # LASLIB
+ # libpointmatcher
+ # METIS
+ # MPFI
+ # # MPFR
+ # OpenCV
+ # OpenGR
+ # OSQP
+ # SCIP
+ # SuiteSparse
+ # TBB
+ # # VTK
+ # # ZLIB
+ # # LEDA # unused
+ # # MKL
+ # # RS
+ # # RS3
+ # SCIP
+ # # UMFPACK
+ # Eigen3
+ Qt6
+ # # ESBTL # unused
+ # # IPE # unused
+ # # LibSSH # unused
+ OpenMesh
+ )
+
+ if use test-full; then
+ # Optionally depends on sci-lib/vtk, which looks up a cuda compiler iff build with USE=cuda.
+ # We therefore need to set the correct CUDAHOSTCXX and setup the sandbox.
+ if has_version "sci-libs/vtk[cuda]" ; then
+ cuda_add_sandbox
+ addpredict "/dev/char/"
+ local -x CUDAHOSTCXX="$(cuda_gccdir)"
+ fi
+ else
+ deps+=(
+ # Threads
+ # Boost
+ )
+ fi
+
+ mycmakeargs+=(
+ -DCGAL_CTEST_DISPLAY_MEM_AND_TIME="yes"
+ # exits some tests early
+ -DCGAL_TEST_SUITE="yes"
+ -DCGAL_TEST_DRAW_FUNCTIONS="yes"
+ -DCGAL_DISABLE_GMP="no"
+ # -DCGAL_WITH_benchmark="$(usex test "$(usex benchmark)")" # wired up but not present
+ -DCGAL_WITH_demos="$(usex test "$(usex test-full)")"
+ -DCGAL_WITH_examples="$(usex test "$(usex test-full)")"
+ )
+
+ if [[ -n "${deps[@]}" ]]; then
+ mycmakeargs+=(
+ # 964750
+ # this does not work as demos and examples are separate cmake calls that ignore mycmakeargs
+ $(printf -- "-DCMAKE_DISABLE_FIND_PACKAGE_%s=yes " "${deps[@]}")
+ )
+ fi
+ fi
+
+ cmake_src_configure
+}
+
+src_compile() {
+ if use test; then
+ local targets=(
+ ALL_CGAL_TARGETS
+ )
+ if use test-full; then
+ targets+=(
+ demos
+ examples
+ )
+ fi
+
+ cmake_src_compile "${targets[@]}"
+ fi
+}
+
+src_test() {
+ # tests have split compilation & execution stages that do not depend on each other, but break when run out of order
+ # We pass CMAKE_BUILD_PARALLEL_LEVEL to run compilation tests in parallel
+ local -x CMAKE_BUILD_PARALLEL_LEVEL="$(get_makeopts_jobs)"
+ einfo "using CMAKE_BUILD_PARALLEL_LEVEL=${CMAKE_BUILD_PARALLEL_LEVEL}"
+
+ # We pass CTEST_PARALLEL_LEVEL to run execution tests in parallel
+ local -x CTEST_PARALLEL_LEVEL="$(get_makeopts_jobs)"
+ einfo "using CTEST_PARALLEL_LEVEL=${CTEST_PARALLEL_LEVEL}"
+
+ local -x QT_QPA_PLATFORM="offscreen"
+
+ local CMAKE_SKIP_TESTS=(
+ region_growing_planes_on_point_set_3
+ mesh_3D_image_with_image_initialization
+ )
+
+ cmake_src_test -j1
+}
+
+src_install() {
+ if use doc; then
+ local HTML_DOCS=(
+ "doc_html/."
+ )
+ fi
+
+ cmake_src_install
+
+ # if use demos; then
+ # dodoc -r demo
+ # fi
+
+ # if use examples; then
+ # dodoc -r examples
+ # fi
+}
diff --git a/sci-mathematics/cgal/cgal-6.2.ebuild b/sci-mathematics/cgal/cgal-6.2.ebuild
new file mode 100644
index 000000000000..a54f36906bc4
--- /dev/null
+++ b/sci-mathematics/cgal/cgal-6.2.ebuild
@@ -0,0 +1,187 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+CMAKE_BUILD_TYPE="Debug"
+
+# Modules provided by dev-cpp/eigen
+CMAKE_REMOVE_MODULES_LIST=( FindEigen3 )
+inherit cmake cuda flag-o-matic multiprocessing
+
+DESCRIPTION="C++ library for geometric algorithms and data structures"
+HOMEPAGE="https://www.cgal.org/"
+
+SRC_URI="
+ https://github.com/CGAL/cgal/releases/download/v${PV}/${P^^}.tar.xz
+ doc? (
+ https://github.com/CGAL/cgal/releases/download/v${PV}/${P^^}-doc_html.tar.xz
+ )
+"
+S="${WORKDIR}/${P^^}"
+
+LICENSE="LGPL-3 GPL-3 Boost-1.0"
+SLOT="0/14"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+
+IUSE="demos doc examples test"
+RESTRICT="!test? ( test )"
+
+# This seems wrong.
+RDEPEND="
+ dev-cpp/eigen:=
+ dev-libs/boost:=
+ dev-libs/gmp:=[cxx]
+ dev-libs/mpfr:=
+ virtual/zlib:=
+ x11-libs/libX11:=
+ virtual/glu:=
+ virtual/opengl:=
+"
+DEPEND="${RDEPEND}
+ test? (
+ net-libs/libssh[server]
+ demos? (
+ dev-qt/qtbase:6[gui,opengl,widgets]
+ )
+ examples? (
+ amd64? (
+ media-gfx/openmesh
+ )
+ dev-qt/qtbase:6[gui,opengl,widgets]
+ )
+ )
+"
+BDEPEND="
+ virtual/pkgconfig
+"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-4.11.1-fix-buildsystem.patch"
+)
+
+pkg_pretend() {
+ if ! use test && { use demos || use examples; }; then
+ ewarn "The \"demos\" and \"examples\" useflag require USE=\"test\""
+ fi
+}
+
+src_prepare() {
+ if use doc; then
+ rm -r "doc_html" || die
+ mv "${WORKDIR}/doc_html" "${S}/" || die
+ fi
+
+ if use examples; then
+ rm -Rf \
+ examples/BGL_polyhedron_3 \
+ examples/BGL_surface_mesh \
+ examples/Isosurfacing_3 \
+ examples/Mesh_3 \
+ examples/Polygon_mesh_processing \
+ examples/Surface_mesh_simplification \
+ || die
+ fi
+
+ cmake_src_prepare
+}
+
+src_compile() {
+ cmake_src_compile demos
+ cmake_src_compile examples
+ cmake_src_compile ALL_CGAL_TARGETS
+}
+
+src_configure() {
+ # Header only
+ filter-flags -DNDEBUG*
+
+ local deps=(
+ ESBTL
+ F2C
+ GLPK
+ IPE
+ ITT
+ LASLIB
+ LEDA
+ libpointmatcher
+ LibSSH
+ MKL
+ MPFI
+ # MPFR
+ OpenCV
+ OpenGR
+ OpenMesh
+ OSQP
+ RS
+ RS3
+ SCIP
+ TBB
+ UMFPACK
+ VTK
+ )
+
+ local mycmakeargs=(
+ -DCMAKE_POLICY_DEFAULT_CMP0167="NEW"
+ # 964750
+ "$(printf -- "-DCMAKE_DISABLE_FIND_PACKAGE_%s=yes " "${deps[@]}")"
+
+ -DCGAL_INSTALL_LIB_DIR="$(get_libdir)"
+ -DCGAL_INSTALL_CMAKE_DIR="$(get_libdir)/cmake/CGAL"
+
+ # https://github.com/CGAL/cgal/wiki/Testing#using-ctest
+ -DCGAL_ENABLE_TESTING="$(usex test)"
+ -DCGAL_CTEST_DISPLAY_MEM_AND_TIME="yes"
+ # exits some tests early
+ -DCGAL_TEST_SUITE="yes"
+ -DCGAL_TEST_DRAW_FUNCTIONS="yes"
+ -DCGAL_WITH_GMPXX="yes"
+
+ # -DCGAL_WITH_benchmark="$(usex test "$(usex benchmark)")" # wired up but not present
+ -DCGAL_WITH_demos="$(usex test "$(usex demos)")"
+ -DCGAL_WITH_examples="$(usex test "$(usex examples)")"
+ )
+
+ # Optionally depends on sci-lib/vtk, which looks up a cuda compiler iff build with USE=cuda.
+ # We therefore need to set the correct CUDAHOSTCXX and setup the sandbox.
+ if use test && { use demos || use examples; }; then
+ if has_version "sci-libs/vtk[cuda]" ; then
+ cuda_add_sandbox -w
+ addpredict "/dev/char/"
+ fi
+ fi
+
+ cmake_src_configure
+}
+
+src_test() {
+ # tests have split compilation & execution stages that do not depend on each other, but break when run out of order
+ # We pass CMAKE_BUILD_PARALLEL_LEVEL to run compilation tests in parallel
+ local -x CMAKE_BUILD_PARALLEL_LEVEL="$(get_makeopts_jobs)"
+ einfo "using CMAKE_BUILD_PARALLEL_LEVEL=${CMAKE_BUILD_PARALLEL_LEVEL}"
+
+ # We pass CTEST_PARALLEL_LEVEL to run execution tests in parallel
+ local -x CTEST_PARALLEL_LEVEL="$(get_makeopts_jobs)"
+ einfo "using CTEST_PARALLEL_LEVEL=${CTEST_PARALLEL_LEVEL}"
+
+ local -x QT_QPA_PLATFORM="offscreen"
+ cmake_src_test -j1
+}
+
+src_install() {
+ if use doc; then
+ local HTML_DOCS=(
+ "doc_html/."
+ )
+ fi
+
+ cmake_src_install
+
+ if use demos; then
+ dodoc -r demos
+ fi
+
+ if use examples; then
+ dodoc -r examples
+ fi
+}
diff --git a/sci-mathematics/cgal/cgal-9999.ebuild b/sci-mathematics/cgal/cgal-9999.ebuild
new file mode 100644
index 000000000000..8f67037d87f7
--- /dev/null
+++ b/sci-mathematics/cgal/cgal-9999.ebuild
@@ -0,0 +1,238 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# Modules provided by dev-cpp/eigen
+CMAKE_REMOVE_MODULES_LIST=( FindEigen3 )
+inherit cmake cuda flag-o-matic multiprocessing
+
+DESCRIPTION="C++ library for geometric algorithms and data structures"
+HOMEPAGE="https://www.cgal.org/"
+
+if [[ ${PV} == *9999* ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/${PN^^}/${PN}.git"
+else
+ SRC_URI="
+ https://github.com/CGAL/cgal/releases/download/v${PV}/${P^^}.tar.xz
+ doc? (
+ https://github.com/CGAL/cgal/releases/download/v${PV}/${P^^}-doc_html.tar.xz
+ )
+ "
+ S="${WORKDIR}/${P^^}"
+ KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+fi
+
+LICENSE="LGPL-3 GPL-3 Boost-1.0"
+SLOT="0/14"
+
+IUSE="demos doc examples test"
+RESTRICT="!test? ( test )"
+
+REQUIRED_USE="
+ test? ( || (
+ demos examples
+ ) )
+"
+
+# Referenced in the cmake files.
+RDEPEND="
+ dev-cpp/eigen:=
+ dev-libs/boost:=
+ dev-libs/gmp:=[cxx]
+ dev-libs/mpfr:=
+ virtual/zlib:=
+"
+DEPEND="${RDEPEND}
+ test? (
+ net-libs/libssh[server]
+ demos? (
+ dev-qt/qtbase:6[gui,opengl,widgets]
+ )
+ examples? (
+ amd64? (
+ media-gfx/openmesh
+ )
+ dev-qt/qtbase:6[gui,opengl,widgets]
+ )
+ )
+"
+BDEPEND="
+ virtual/pkgconfig
+"
+
+pkg_pretend() {
+ if ! use test && { use demos || use examples; }; then
+ ewarn "The \"demos\" and \"examples\" useflag require USE=\"test\""
+ fi
+}
+
+src_prepare() {
+ if use doc; then
+ rm -r "doc_html" || die
+ mv "${WORKDIR}/doc_html" "${S}/" || die
+ fi
+
+ cmake_src_prepare
+}
+
+src_configure() {
+ # Header only since 5.0
+
+ local mycmakeargs=(
+ -DCMAKE_POLICY_DEFAULT_CMP0167="NEW"
+
+ -DCGAL_INSTALL_LIB_DIR="$(get_libdir)"
+ -DCGAL_INSTALL_CMAKE_DIR="$(get_libdir)/cmake/CGAL"
+
+ # https://github.com/CGAL/cgal/wiki/Testing#using-ctest
+ -DCGAL_ENABLE_TESTING="$(usex test)"
+
+ # Forcibly wipe to get rid of NDEBUG. see below
+ -DCMAKE_CXX_FLAGS_${CMAKE_BUILD_TYPE^^}=""
+ )
+
+ if use test; then
+ # include/CGAL/config.h:53:4: error: #error The test-suite needs no NDEBUG defined
+ filter-flags -DNDEBUG*
+
+ # cmake/modules/display-third-party-libs-versions.cmake
+ # these need use flags eventually
+ local deps=(
+ Ceres
+ GLPK
+ # GMP
+ ITK
+ ITT
+ LASLIB
+ libpointmatcher
+ METIS
+ MPFI
+ # MPFR
+ OpenCV
+ OpenGR
+ OSQP
+ SCIP
+ SuiteSparse
+ TBB
+ VTK
+ # ZLIB
+ )
+
+ if use demos || use examples; then
+ # Optionally depends on sci-lib/vtk, which looks up a cuda compiler iff build with USE=cuda.
+ # We therefore need to set the correct CUDAHOSTCXX and setup the sandbox.
+ if has_version "sci-libs/vtk[cuda]" ; then
+ cuda_add_sandbox
+ addpredict "/dev/char/"
+ fi
+
+ deps+=(
+ LEDA
+ # MKL
+ # RS
+ # RS3
+ SCIP
+ # UMFPACK
+ )
+ fi
+
+ if ! use demos; then
+ deps+=(
+ # Eigen3
+ )
+ fi
+
+ if ! use demos && ! use examples; then
+ deps+=(
+ # Boost
+ # Threads
+ Qt6
+ )
+ fi
+
+ if use examples; then
+ deps+=(
+ ESBTL
+ )
+ else
+ deps+=(
+ IPE
+ LibSSH
+ OpenMesh
+ )
+ fi
+
+ mycmakeargs+=(
+ -DCGAL_CTEST_DISPLAY_MEM_AND_TIME="yes"
+ # exits some tests early
+ -DCGAL_TEST_SUITE="yes"
+ -DCGAL_TEST_DRAW_FUNCTIONS="yes"
+ -DCGAL_DISABLE_GMP="no"
+ # -DCGAL_WITH_benchmark="$(usex test "$(usex benchmark)")" # wired up but not present
+ -DCGAL_WITH_demos="$(usex test "$(usex demos)")"
+ -DCGAL_WITH_examples="$(usex test "$(usex examples)")"
+ )
+ if [[ -n "${deps[@]}" ]]; then
+ mycmakeargs+=(
+ # 964750
+ # this does not work as demos and examples are separate cmake calls that ignore mycmakeargs
+ $(printf -- "-DCMAKE_DISABLE_FIND_PACKAGE_%s=yes " "${deps[@]}")
+ )
+ fi
+ fi
+
+ cmake_src_configure
+}
+
+src_compile() {
+ if use test; then
+ if use demos; then
+ cmake_src_compile demos
+ fi
+
+ if use examples; then
+ cmake_src_compile examples
+ fi
+
+ cmake_src_compile ALL_CGAL_TARGETS
+ fi
+}
+
+src_test() {
+ # tests have split compilation & execution stages that do not depend on each other, but break when run out of order
+ # We pass CMAKE_BUILD_PARALLEL_LEVEL to run compilation tests in parallel
+ local -x CMAKE_BUILD_PARALLEL_LEVEL="$(get_makeopts_jobs)"
+ einfo "using CMAKE_BUILD_PARALLEL_LEVEL=${CMAKE_BUILD_PARALLEL_LEVEL}"
+
+ # We pass CTEST_PARALLEL_LEVEL to run execution tests in parallel
+ local -x CTEST_PARALLEL_LEVEL="$(get_makeopts_jobs)"
+ einfo "using CTEST_PARALLEL_LEVEL=${CTEST_PARALLEL_LEVEL}"
+
+ local -x QT_QPA_PLATFORM="offscreen"
+
+ local CMAKE_SKIP_TESTS=(
+ region_growing_planes_on_point_set_3
+ )
+
+ cmake_src_test -j1
+}
+
+src_install() {
+ if use doc; then
+ local HTML_DOCS=(
+ "doc_html/."
+ )
+ fi
+
+ cmake_src_install
+
+ if use demos; then
+ dodoc -r demo
+ fi
+
+ if use examples; then
+ dodoc -r examples
+ fi
+}
diff --git a/sci-mathematics/cgal/metadata.xml b/sci-mathematics/cgal/metadata.xml
index 0b95ef078cd3..e55c86f997df 100644
--- a/sci-mathematics/cgal/metadata.xml
+++ b/sci-mathematics/cgal/metadata.xml
@@ -21,5 +21,10 @@
<upstream>
<remote-id type="cpe">cpe:/a:cgal:computational_geometry_algorithms_library</remote-id>
</upstream>
+ <use>
+ <flag name="demos">Build demos during test (requires USE=test)</flag>
+ <flag name="examples">Build examples during test (requires USE=test)</flag>
+ <flag name="test-full">Run demos and examples when testing</flag>
+ </use>
<origin>baldeagleos-repo</origin>
</pkgmetadata>
diff --git a/sci-mathematics/clipper2/Manifest b/sci-mathematics/clipper2/Manifest
index 9da1aa46fe7c..bf10f26bfbd4 100644
--- a/sci-mathematics/clipper2/Manifest
+++ b/sci-mathematics/clipper2/Manifest
@@ -1,2 +1,3 @@
DIST Clipper2_1.5.3.tar.gz 624450 BLAKE2B f1cc293f6b1dc2d4f5409c29a8b70daf70af9e4e7b58af9b55faec4a1481bd9f5ec89779bfa4fb728326cbf8a3b0770f0bafc34a52e380271d552afee1157379 SHA512 a56f1bf28a9baf8cbcf42d63e4c73f8b4a01eac9edfb59dafb752f67af7873bb46a256fc26f7bb839ee7051db69efb9a1c21c54b358cf55c84c4b137f7f2d804
DIST Clipper2_1.5.4.tar.gz 625047 BLAKE2B c3e0b343429c5df28509f4bc92c25d31983a02fe6585f16f398750502ecf7ba5c7b04d1b31d8d44380705445570a558d94aca20b2a218568ca5cd2840d02243d SHA512 39153f35630ddc455ad4955a8b9b35f05bf3fad2a33c6e7232300b674a5172794a57c7bd18f96dd0a90d4607a44ecb32c92b0cacc7060d840d568032efaddf19
+DIST Clipper2_2.0.1.tar.gz 715527 BLAKE2B 1178409f05038a4e136928f241301f55977b3038df545a60d37f327ea55eb3594459ad0eb860346c5d63b8a227996fa90bb87e0cb129159604664c7425b8772e SHA512 ce753ae3752b7516a9e0cb23c9788d9533c204819d5451ee50cf3b69a06e24165fa9f5270781764c036ad597eef83cf80532a5bebce5c96f5230179dc3ed499a
diff --git a/sci-mathematics/clipper2/clipper2-1.5.3.ebuild b/sci-mathematics/clipper2/clipper2-1.5.3-r1.ebuild
index 2cb0a1762525..2016996d5a42 100644
--- a/sci-mathematics/clipper2/clipper2-1.5.3.ebuild
+++ b/sci-mathematics/clipper2/clipper2-1.5.3-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2025 Gentoo Authors
+# Copyright 1999-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -14,7 +14,8 @@ SRC_URI="https://github.com/AngusJohnson/Clipper2/archive/refs/tags/${MY_P}.tar.
S="${WORKDIR}/${MY_PN}-${MY_P}/CPP"
LICENSE="Boost-1.0"
-SLOT="0"
+# SONAME
+SLOT="0/$(ver_cut 1)"
KEYWORDS="amd64 ~arm64 ~x86"
IUSE="test"
diff --git a/sci-mathematics/clipper2/clipper2-1.5.4.ebuild b/sci-mathematics/clipper2/clipper2-1.5.4-r1.ebuild
index 2cb0a1762525..2016996d5a42 100644
--- a/sci-mathematics/clipper2/clipper2-1.5.4.ebuild
+++ b/sci-mathematics/clipper2/clipper2-1.5.4-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2025 Gentoo Authors
+# Copyright 1999-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -14,7 +14,8 @@ SRC_URI="https://github.com/AngusJohnson/Clipper2/archive/refs/tags/${MY_P}.tar.
S="${WORKDIR}/${MY_PN}-${MY_P}/CPP"
LICENSE="Boost-1.0"
-SLOT="0"
+# SONAME
+SLOT="0/$(ver_cut 1)"
KEYWORDS="amd64 ~arm64 ~x86"
IUSE="test"
diff --git a/sci-mathematics/clipper2/clipper2-2.0.1.ebuild b/sci-mathematics/clipper2/clipper2-2.0.1.ebuild
new file mode 100644
index 000000000000..ef5f4e931655
--- /dev/null
+++ b/sci-mathematics/clipper2/clipper2-2.0.1.ebuild
@@ -0,0 +1,48 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+MY_PN="Clipper2"
+MY_P=${MY_PN}_${PV}
+
+inherit cmake flag-o-matic
+
+DESCRIPTION="Polygon Clipping and Offsetting"
+HOMEPAGE="https://www.angusj.com/clipper2/Docs/Overview.htm"
+SRC_URI="https://github.com/AngusJohnson/Clipper2/archive/refs/tags/${MY_P}.tar.gz"
+S="${WORKDIR}/${MY_PN}-${MY_P}/CPP"
+
+LICENSE="Boost-1.0"
+# SONAME
+SLOT="0/$(ver_cut 1)"
+KEYWORDS="~amd64 ~arm64 ~x86"
+
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+DEPEND="
+ test? ( dev-cpp/gtest )
+"
+
+src_prepare() {
+ cmake_src_prepare
+
+ #943720
+ sed -e 's/ -Werror//g' -i CMakeLists.txt || die
+}
+
+src_configure() {
+ append-flags -fno-strict-aliasing
+ filter-lto
+
+ local mycmakeargs=(
+ -DCLIPPER2_UTILS="no"
+ -DCLIPPER2_EXAMPLES="no"
+ -DCLIPPER2_TESTS="$(usex test)"
+ -DCLIPPER2_USINGZ="no" # manifold src/third_party/CMakeLists.txt
+
+ -DUSE_EXTERNAL_GTEST="yes"
+ )
+ cmake_src_configure
+}
diff --git a/sci-mathematics/manifold/Manifest b/sci-mathematics/manifold/Manifest
index 23baa8f0a230..9a7670d88084 100644
--- a/sci-mathematics/manifold/Manifest
+++ b/sci-mathematics/manifold/Manifest
@@ -1,2 +1,3 @@
DIST manifold-3.1.0.tar.gz 29612205 BLAKE2B 66f3dfed7e5e3a12720ac38860d396090e6a7cd6a435c53cd6afdb0b64048d9e2016cfaf54fe018a0bdd9663da486267278ded329bfdeb0ff0f15ececb3b3dd1 SHA512 259d7233a4d6f2ac6dcdf30d04bd82dd454da914c2aa77ebd0c76c2245b8e802beec62b52b3592c290adede4f57a0ee3b4abd82daec28012542fb4e0240dd1da
DIST manifold-3.2.1.tar.gz 29615413 BLAKE2B 0c5d9029674a810e8db278521dd5b2f25ace6279ee9336d4df42bca5e672133c998619c5cb7190328c0f6ac4ce95ec3ff474e6abb36a27d36df3e96a11c0911e SHA512 f2b69ac4453829896db4ac89dd54654cc7d2b36dd328d880b392ed8d40a2e2c7420d02ef06f6ae840a423c2a17bae0eb022d4444a39af9e08111bf11f9563092
+DIST manifold-3.5.2.tar.gz 30975253 BLAKE2B 2d2ef3418d90905a23ac68f47cb5059800680b49279b5222a539a38e30d3dfa87d6fbda70071d9cac89a82d4740b939da3d70baa9aee7c95b84feb3ac02257af SHA512 986ab180a8a94f1c2b7cd9952eebe1241564b869c589792778674f8f56b7a6cb799b43f06ca16c0ea4fcaa517034d2a2cd240e0e9f9c2dfb5b5cb4ed73b303a8
diff --git a/sci-mathematics/manifold/manifold-3.5.2.ebuild b/sci-mathematics/manifold/manifold-3.5.2.ebuild
new file mode 100644
index 000000000000..aa78a743a9b8
--- /dev/null
+++ b/sci-mathematics/manifold/manifold-3.5.2.ebuild
@@ -0,0 +1,83 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{13..14} )
+inherit cmake python-single-r1
+
+DESCRIPTION="Geometry library for topological robustness"
+HOMEPAGE="https://github.com/elalish/manifold"
+
+if [[ ${PV} == *9999* ]] ; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/elalish/manifold.git"
+else
+ if [[ ${PV} = *pre* ]] ; then
+ COMMIT="e7e0780114881dcf6e5ad934323f2595966865f9"
+ SRC_URI="https://github.com/elalish/manifold/archive/${COMMIT}.tar.gz -> ${P}.tar.gz"
+ S="${WORKDIR}/${PN}-${COMMIT}"
+ else
+ SRC_URI="https://github.com/elalish/manifold/releases/download/v${PV}/${P}.tar.gz"
+ fi
+
+ KEYWORDS="~amd64 ~arm64 ~x86"
+fi
+
+LICENSE="Apache-2.0"
+# SONAME
+SLOT="0/3"
+
+IUSE="assimp debug python +tbb test"
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ sci-mathematics/clipper2:=
+ assimp? ( media-libs/assimp:= )
+ tbb? ( dev-cpp/tbb:= )
+ python? ( ${PYTHON_DEPS}
+ $(python_gen_cond_dep '
+ dev-python/numpy[${PYTHON_USEDEP}]
+ ')
+ )
+"
+DEPEND="
+ python? (
+ $(python_gen_cond_dep '
+ >=dev-python/nanobind-2.1.0[${PYTHON_USEDEP}]
+ ')
+ )
+ test? ( dev-cpp/gtest )
+ ${RDEPEND}
+"
+
+pkg_setup() {
+ use python && python-single-r1_pkg_setup
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DMANIFOLD_CROSS_SECTION="yes"
+ -DMANIFOLD_CROSS_SECTION_BACKEND="clipper2" # boolean2
+ -DMANIFOLD_DEBUG="$(usex debug)"
+ -DMANIFOLD_DOWNLOADS="no"
+ -DASSIMP_ENABLE="$(usex assimp)"
+ -DMANIFOLD_JSBIND="no"
+ -DMANIFOLD_PAR="$(usex tbb ON OFF)"
+ -DMANIFOLD_STRICT="no" # adds -Werror
+ -DMANIFOLD_PYBIND="$(usex python)"
+ -DMANIFOLD_TEST="$(usex test)"
+ )
+
+ cmake_src_configure
+}
+
+src_test() {
+ if use x86; then
+ local -x GTEST_FILTER="-Properties.ToleranceSphere:Boolean.AlmostCoplanar:Smooth.RefineQuads:Smooth.ToLength:Smooth.Torus"
+ fi
+
+ cmake_src_test
+}
diff --git a/sci-mathematics/manifold/manifold-9999.ebuild b/sci-mathematics/manifold/manifold-9999.ebuild
index 0ede59113145..aa78a743a9b8 100644
--- a/sci-mathematics/manifold/manifold-9999.ebuild
+++ b/sci-mathematics/manifold/manifold-9999.ebuild
@@ -34,7 +34,7 @@ REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
RESTRICT="!test? ( test )"
RDEPEND="
- sci-mathematics/clipper2
+ sci-mathematics/clipper2:=
assimp? ( media-libs/assimp:= )
tbb? ( dev-cpp/tbb:= )
python? ( ${PYTHON_DEPS}
@@ -60,9 +60,10 @@ pkg_setup() {
src_configure() {
local mycmakeargs=(
-DMANIFOLD_CROSS_SECTION="yes"
+ -DMANIFOLD_CROSS_SECTION_BACKEND="clipper2" # boolean2
-DMANIFOLD_DEBUG="$(usex debug)"
-DMANIFOLD_DOWNLOADS="no"
- -DMANIFOLD_EXPORT="$(usex assimp)"
+ -DASSIMP_ENABLE="$(usex assimp)"
-DMANIFOLD_JSBIND="no"
-DMANIFOLD_PAR="$(usex tbb ON OFF)"
-DMANIFOLD_STRICT="no" # adds -Werror