summaryrefslogtreecommitdiff
path: root/sci-libs
diff options
context:
space:
mode:
authorLiguros - Gitlab CI/CD [develop] <gitlab@liguros.net>2026-05-06 19:40:37 +0000
committerLiguros - Gitlab CI/CD [develop] <gitlab@liguros.net>2026-05-06 19:40:37 +0000
commit6c2c44c149dc52d1f72e760c171f73fa33c4ee45 (patch)
tree3773e2585fde44992b91653203cbd021b1d82e2e /sci-libs
parent5a1e2f874db05baac26359a99597859d0f575014 (diff)
downloadbaldeagleos-repo-6c2c44c149dc52d1f72e760c171f73fa33c4ee45.tar.gz
baldeagleos-repo-6c2c44c149dc52d1f72e760c171f73fa33c4ee45.tar.xz
baldeagleos-repo-6c2c44c149dc52d1f72e760c171f73fa33c4ee45.zip
Adding metadata
Diffstat (limited to 'sci-libs')
-rw-r--r--sci-libs/libsemigroups/Manifest3
-rw-r--r--sci-libs/libsemigroups/files/libsemigroups-3.5.5-unbundle-catch.patch40
-rw-r--r--sci-libs/libsemigroups/files/libsemigroups-3.5.5-unbundle-magic_enum.patch90
-rw-r--r--sci-libs/libsemigroups/libsemigroups-2.7.4.ebuild27
-rw-r--r--sci-libs/libsemigroups/libsemigroups-3.0.3.ebuild48
-rw-r--r--sci-libs/libsemigroups/libsemigroups-3.5.5.ebuild73
6 files changed, 204 insertions, 77 deletions
diff --git a/sci-libs/libsemigroups/Manifest b/sci-libs/libsemigroups/Manifest
index 0c7b984a221e..1390a2c5d18c 100644
--- a/sci-libs/libsemigroups/Manifest
+++ b/sci-libs/libsemigroups/Manifest
@@ -1,2 +1 @@
-DIST libsemigroups-2.7.4.tar.gz 8682905 BLAKE2B afe04ad3de2e7fde508c16aebad5e435f66332aff5a1b005774065a0f91166942c237ff0beb6c6878567a9c5446ea546534e1d4dc27b4cf33eccce4d93ea9378 SHA512 c1af30bef6ad3b2a6d49c0eff5d604b72f7b2dabce482382640a8eca0bdfc6a1be7474c21f5b75214496191590bee4f379ba54159cc2b6d09ae90bb3444f6d23
-DIST libsemigroups-3.0.3.tar.gz 12155044 BLAKE2B 32b8ad3485b44309712bb9aad26e9aa9e867bdc5910552f63af615a50c47834e49bad3282590917eb95f310f2d23e3d6b8cb3613f90c5050b7b530e935bf75f2 SHA512 5e3a9503bf7151c29aeff2a908219932796243acec2f4b91a1b3fa6e449e9cfbdfc6783c4ba46280ce1896b7c6410f13faf4db4f445bfe45d6538d1a68f2bef1
+DIST libsemigroups-3.5.5.tar.gz 13821323 BLAKE2B 1184d2239f900ea1e90341f66be0cbd27117f9c02c471a1633dae98c8406aafd0d297d76f80e6b5e690173930124350fe989503e32d6aa8cb86a89c00e4aac88 SHA512 946c054508311d16dd94c58c49739bd18fea3a5f289dcdf273ef676125eabc6d14f5c4de40e619e5ab155fa62ed385090c9f26aee2377cf03e03fadb41df6e95
diff --git a/sci-libs/libsemigroups/files/libsemigroups-3.5.5-unbundle-catch.patch b/sci-libs/libsemigroups/files/libsemigroups-3.5.5-unbundle-catch.patch
new file mode 100644
index 000000000000..55d7169007e2
--- /dev/null
+++ b/sci-libs/libsemigroups/files/libsemigroups-3.5.5-unbundle-catch.patch
@@ -0,0 +1,40 @@
+This doesn't fully unbundle it, you also need to use sed to change all
+of the
+
+ test_foo_SOURCES += third_party/Catch2-3.14.0/catch_amalgamated_patch.cpp
+
+lines to
+
+ test_foo_LDADD = $(LDADD) -lCatch2 -lCatch2Main
+
+diff --git a/Makefile.am b/Makefile.am
+index 8141e769..550a25b4 100644
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -4,7 +4,6 @@
+
+ AM_CXXFLAGS = -I$(abs_top_srcdir)/include
+ AM_CXXFLAGS += -I$(abs_top_srcdir)/third_party # for backward-cpp
+-AM_CXXFLAGS += -I$(abs_top_srcdir)/third_party/Catch2-3.14.0
+ AM_CXXFLAGS += -I$(abs_top_srcdir)/third_party/HPCombi-1.1.2/include
+ AM_CXXFLAGS += -I$(abs_top_srcdir)/third_party/HPCombi-1.1.2/third_party
+ AM_CXXFLAGS += -I$(abs_top_srcdir)/third_party/rx-ranges/include
+@@ -216,9 +215,6 @@ detailinclude_HEADERS += include/libsemigroups/detail/word-graph-with-sources.hp
+ detailinclude_HEADERS += include/libsemigroups/detail/word-graph-with-sources.tpp
+ detailinclude_HEADERS += include/libsemigroups/detail/word-iterators.hpp
+
+-catch2includedir = $(includedir)/libsemigroups/Catch2-3.14.0/
+-catch2include_HEADERS = third_party/Catch2-3.14.0/catch_amalgamated.hpp
+-
+ if USE_BUNDLED_MAGIC_ENUM
+ magicenumincludedir = $(includedir)/libsemigroups/magic_enum
+ magicenuminclude_HEADERS = third_party/magic_enum-0.9.7/include/magic_enum/magic_enum.hpp
+@@ -1128,8 +1124,6 @@ EXTRA_DIST += hpcombi.mk.in
+ EXTRA_DIST += tests/bmat-data.hpp
+ EXTRA_DIST += tests/test-main.hpp
+ EXTRA_DIST += tests/word-graph-test-common.hpp
+-EXTRA_DIST += third_party/Catch2-3.14.0/catch_amalgamated.cpp
+-EXTRA_DIST += third_party/Catch2-3.14.0/catch_amalgamated.hpp
+ EXTRA_DIST += third_party/HPCombi-1.1.2/HPCOMBI_VERSION
+ EXTRA_DIST += third_party/HPCombi-1.1.2/LICENSE
+ EXTRA_DIST += third_party/HPCombi-1.1.2/README.md
diff --git a/sci-libs/libsemigroups/files/libsemigroups-3.5.5-unbundle-magic_enum.patch b/sci-libs/libsemigroups/files/libsemigroups-3.5.5-unbundle-magic_enum.patch
new file mode 100644
index 000000000000..75405693c4ac
--- /dev/null
+++ b/sci-libs/libsemigroups/files/libsemigroups-3.5.5-unbundle-magic_enum.patch
@@ -0,0 +1,90 @@
+https://github.com/libsemigroups/libsemigroups/pull/969
+
+diff --git a/Makefile.am b/Makefile.am
+index 613b204e..f308f1c8 100644
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -8,11 +8,14 @@ AM_CXXFLAGS += -I$(abs_top_srcdir)/third_party/Catch2-3.14.0
+ AM_CXXFLAGS += -I$(abs_top_srcdir)/third_party/HPCombi-1.1.2/include
+ AM_CXXFLAGS += -I$(abs_top_srcdir)/third_party/HPCombi-1.1.2/third_party
+ AM_CXXFLAGS += -I$(abs_top_srcdir)/third_party/rx-ranges/include
+-AM_CXXFLAGS += -I$(abs_top_srcdir)/third_party/magic_enum-0.9.7/include
+ AM_CXXFLAGS += -std=gnu++17 -O3 -Wall -Wextra
+ AM_CXXFLAGS += $(WARNING_CXXFLAGS)
+ AM_CXXFLAGS += $(FMT_CFLAGS)
+ AM_CXXFLAGS += $(EIGEN3_CFLAGS)
++AM_CXXFLAGS += $(MAGICENUM_CFLAGS)
++if USE_BUNDLED_MAGIC_ENUM
++AM_CXXFLAGS += -I$(abs_top_srcdir)/third_party/magic_enum-0.9.7/include
++endif
+ if LIBSEMIGROUPS_HPCOMBI_ENABLED
+ AM_CXXFLAGS += $(HPCOMBI_CXXFLAGS)
+ endif
+@@ -217,6 +220,7 @@ detailinclude_HEADERS += include/libsemigroups/detail/word-iterators.hpp
+ catch2includedir = $(includedir)/libsemigroups/Catch2-3.14.0/
+ catch2include_HEADERS = third_party/Catch2-3.14.0/catch_amalgamated.hpp
+
++if USE_BUNDLED_MAGIC_ENUM
+ magicenumincludedir = $(includedir)/libsemigroups/magic_enum
+ magicenuminclude_HEADERS = third_party/magic_enum-0.9.7/include/magic_enum/magic_enum.hpp
+ magicenuminclude_HEADERS += third_party/magic_enum-0.9.7/include/magic_enum/magic_enum_all.hpp
+@@ -227,6 +231,7 @@ magicenuminclude_HEADERS += third_party/magic_enum-0.9.7/include/magic_enum/magi
+ magicenuminclude_HEADERS += third_party/magic_enum-0.9.7/include/magic_enum/magic_enum_iostream.hpp
+ magicenuminclude_HEADERS += third_party/magic_enum-0.9.7/include/magic_enum/magic_enum_switch.hpp
+ magicenuminclude_HEADERS += third_party/magic_enum-0.9.7/include/magic_enum/magic_enum_utility.hpp
++endif
+
+ rxrangesincludedir = $(includedir)/libsemigroups/rx
+ rxrangesinclude_HEADERS = third_party/rx-ranges/include/rx/ranges.hpp
+diff --git a/configure.ac b/configure.ac
+index 737103b5..92d9eba7 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -135,6 +135,9 @@ AX_CHECK_FMT()
+ # disabled altogether
+ AX_CHECK_EIGEN()
+
++# Check for an external magic_enum
++AX_CHECK_MAGIC_ENUM()
++
+ dnl Output configured files
+
+ dnl compiler builtins
+diff --git a/m4/ax_check_magic_enum.m4 b/m4/ax_check_magic_enum.m4
+new file mode 100644
+index 00000000..b364bb60
+--- /dev/null
++++ b/m4/ax_check_magic_enum.m4
+@@ -0,0 +1,32 @@
++# handle magic_enum checks
++#
++AC_DEFUN([AX_CHECK_MAGIC_ENUM], [
++ AC_ARG_WITH(
++ [external-magic-enum],
++ [AS_HELP_STRING([--with-external-magic-enum], [use external magic_enum (default: no)])],
++ [],
++ [with_external_magic_enum=no]
++ )
++ AC_MSG_CHECKING([whether to use external magic_enum])
++ AC_MSG_RESULT([$with_external_magic_enum])
++
++ AS_IF([test "x$with_external_magic_enum" = xyes], [
++ # Check if we can use magic_enum from the system. If not, error.
++ # The version constraint is to ensure that the headers relative to
++ # $includedir are magic_enum/foo.hpp. In 0.9.6, the magic_enum/
++ # prefix was not used.
++ m4_ifdef([PKG_CHECK_MODULES], [
++ PKG_CHECK_MODULES(MAGICENUM, [magic_enum >= 0.9.7], [
++ AC_MSG_NOTICE([external magic_enum will be used])
++ ], [
++ AC_MSG_ERROR([external magic_enum not found])
++ ])
++ ], [
++ AC_MSG_ERROR(m4_normalize([
++ cannot use flag --with-external-magic-enum, the libsemigroups configure file
++ was created on a system without m4 macros for pkg-config available...
++ ]))
++ ])
++ ])
++ AM_CONDITIONAL([USE_BUNDLED_MAGIC_ENUM], [test "x$with_external_magic_enum" != xyes])
++])
diff --git a/sci-libs/libsemigroups/libsemigroups-2.7.4.ebuild b/sci-libs/libsemigroups/libsemigroups-2.7.4.ebuild
deleted file mode 100644
index 729023d95c4a..000000000000
--- a/sci-libs/libsemigroups/libsemigroups-2.7.4.ebuild
+++ /dev/null
@@ -1,27 +0,0 @@
-# Copyright 2019-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DESCRIPTION="C++ library for semigroups and monoids"
-HOMEPAGE="https://github.com/libsemigroups/libsemigroups"
-SRC_URI="https://github.com/${PN}/${PN}/releases/download/v${PV}/${P}.tar.gz"
-
-# Source headers have "or any later version"
-LICENSE="GPL-3+"
-SLOT="0/2"
-KEYWORDS="~amd64 ~riscv ~x86"
-IUSE="cpu_flags_x86_popcnt"
-
-src_configure() {
- econf \
- $(use_enable cpu_flags_x86_popcnt popcnt) \
- --disable-eigen \
- --disable-hpcombi \
- --disable-fmt
-}
-
-src_install() {
- default
- find "${ED}" -type f -name '*.la' -delete || die
-}
diff --git a/sci-libs/libsemigroups/libsemigroups-3.0.3.ebuild b/sci-libs/libsemigroups/libsemigroups-3.0.3.ebuild
deleted file mode 100644
index c463836802d5..000000000000
--- a/sci-libs/libsemigroups/libsemigroups-3.0.3.ebuild
+++ /dev/null
@@ -1,48 +0,0 @@
-# Copyright 2019-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DESCRIPTION="C++ library for semigroups and monoids"
-HOMEPAGE="https://github.com/libsemigroups/libsemigroups"
-SRC_URI="https://github.com/${PN}/${PN}/releases/download/v${PV}/${P}.tar.gz"
-
-# Source headers have "or any later version"
-LICENSE="GPL-3+"
-SLOT="0/3"
-KEYWORDS="~amd64 ~riscv ~x86"
-IUSE="cpu_flags_x86_popcnt eigen"
-
-# These two deps are packaged, but both are bundled in the third_party
-# directory, and the build system hard-codes the location to them:
-#
-# * dev-cpp/catch
-# * dev-cpp/magic_enum
-#
-# Eigen is a set of headers, not a shared library.
-BDEPEND="eigen? ( dev-cpp/eigen )"
-DEPEND="dev-libs/libfmt"
-RDEPEND="${DEPEND}"
-
-src_prepare() {
- # Remove bundled deps that we should not be using.
- rm -rf third_party/fmt-* \
- third_party/eigen-* \
- third_party/HPCombi || die
-
- default
-}
-
-src_configure() {
- econf \
- $(use_enable cpu_flags_x86_popcnt popcnt) \
- $(use_enable eigen) \
- $(use_with eigen external-eigen) \
- --disable-hpcombi \
- --with-external-fmt
-}
-
-src_install() {
- default
- find "${ED}" -type f -name '*.la' -delete || die
-}
diff --git a/sci-libs/libsemigroups/libsemigroups-3.5.5.ebuild b/sci-libs/libsemigroups/libsemigroups-3.5.5.ebuild
new file mode 100644
index 000000000000..e2ab99b8d397
--- /dev/null
+++ b/sci-libs/libsemigroups/libsemigroups-3.5.5.ebuild
@@ -0,0 +1,73 @@
+# Copyright 2019-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=9
+
+inherit autotools
+
+DESCRIPTION="C++ library for semigroups and monoids"
+HOMEPAGE="https://github.com/libsemigroups/libsemigroups"
+SRC_URI="https://github.com/${PN}/${PN}/releases/download/v${PV}/${P}.tar.gz"
+
+# Source headers have "or any later version"
+LICENSE="GPL-3+"
+SLOT="0/3"
+KEYWORDS="~amd64 ~riscv ~x86"
+IUSE="cpu_flags_x86_popcnt eigen test"
+
+RESTRICT="!test? ( test )"
+
+# eigen, magic_enum, and catch are header-only
+BDEPEND="
+ dev-cpp/magic_enum
+ eigen? ( >=dev-cpp/eigen-5.0.1 )
+ test? ( =dev-cpp/catch-3* )"
+DEPEND="dev-libs/libfmt"
+
+#...but magic_enum.hpp is included in one of the headers that
+# libsemigroups installs, so it needs to be installed too
+RDEPEND="${DEPEND}
+ dev-cpp/magic_enum"
+
+PATCHES=(
+ "${FILESDIR}/libsemigroups-3.5.5-unbundle-magic_enum.patch"
+ "${FILESDIR}/libsemigroups-3.5.5-unbundle-catch.patch"
+)
+
+src_prepare() {
+ default
+
+ # Remove the bundled Catch2 and magic_enum in concert with two
+ # patches. Unbundling magic_enum is pretty easy, the patch adds a
+ # ./configure flag. Unbundlng Catch2 is a little harder; first we
+ # have to update the include paths, and then we have to ensure that
+ # the tests link to the shared library on the system.
+ sed -e 's~".*catch_amalgamated.hpp"~<catch2/catch_all.hpp>~g' \
+ -i tests/test*.cpp || die
+ local CATCH_LIBS='$(LDADD) -lCatch2 -lCatch2Main'
+ sed -e "s~_SOURCES .*_party/Catch2.*~_LDADD = $CATCH_LIBS~g" \
+ -i Makefile.am || die
+ rm -r third_party/{Catch2-3.14.0,magic_enum-0.9.7} || die
+
+ # Unbundle these normally.
+ rm -r third_party/{backward-cpp,eigen-5.0.1,fmt-11.1.4,HPCombi-1.1.2} \
+ || die
+
+ eautoreconf
+}
+
+src_configure() {
+ econf \
+ $(use_enable cpu_flags_x86_popcnt popcnt) \
+ $(use_enable eigen) \
+ $(use_with eigen external-eigen) \
+ --disable-backward \
+ --disable-hpcombi \
+ --with-external-fmt \
+ --with-external-magic-enum
+}
+
+src_install() {
+ default
+ find "${ED}" -type f -name '*.la' -delete || die
+}