commit:     ddfc9555b61b7fc1d30fc45bdb0c7d83887d67db
Author:     Michael Orlitzky <mjo <AT> gentoo <DOT> org>
AuthorDate: Thu Apr  3 23:04:19 2025 +0000
Commit:     Michael Orlitzky <mjo <AT> gentoo <DOT> org>
CommitDate: Thu Apr  3 23:11:42 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ddfc9555

sci-libs/libsemigroups: add 3.0.2

Signed-off-by: Michael Orlitzky <mjo <AT> gentoo.org>

 sci-libs/libsemigroups/Manifest                   |  1 +
 sci-libs/libsemigroups/libsemigroups-3.0.2.ebuild | 48 +++++++++++++++++++++++
 sci-libs/libsemigroups/metadata.xml               |  6 +++
 3 files changed, 55 insertions(+)

diff --git a/sci-libs/libsemigroups/Manifest b/sci-libs/libsemigroups/Manifest
index 1f3974c71a46..14c6bd7d9f0c 100644
--- a/sci-libs/libsemigroups/Manifest
+++ b/sci-libs/libsemigroups/Manifest
@@ -1 +1,2 @@
 DIST libsemigroups-2.7.3.tar.gz 2543883 BLAKE2B 
02700cb9f132d7121ce42f978e9a1c01ed9f1957fab0da45c60837240639f7a049d3b7e1f9b989be71de8b85a669b475733aeb0e96760eda846b50db903da895
 SHA512 
001cfdfc55ee9a0bb3fe0914229905083e8eaaec682952bb23b2dc44680631909478bf32e67e93488a7347bfb674305b0cc3b713afa9bce1997a0b1a5693ad36
+DIST libsemigroups-3.0.2.tar.gz 12153898 BLAKE2B 
8423f696dd0a5b338f50d056bf3a1ae76f2d53851c35b2fb3266d4b38c78ca85f1b3d20811cd906808fb4c21932741e8de62db56fce068325e900f3738302c53
 SHA512 
ad14a61867619d3a230f074bad18074830ece8832499d128b841377075fc185acabb7f0718431341a78bfa849131500fb10e87b78259f90722435e99ad491bb4

diff --git a/sci-libs/libsemigroups/libsemigroups-3.0.2.ebuild 
b/sci-libs/libsemigroups/libsemigroups-3.0.2.ebuild
new file mode 100644
index 000000000000..c463836802d5
--- /dev/null
+++ b/sci-libs/libsemigroups/libsemigroups-3.0.2.ebuild
@@ -0,0 +1,48 @@
+# 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/metadata.xml 
b/sci-libs/libsemigroups/metadata.xml
index 77788e074722..1fc262d840f7 100644
--- a/sci-libs/libsemigroups/metadata.xml
+++ b/sci-libs/libsemigroups/metadata.xml
@@ -42,6 +42,12 @@
         is for determining words equivalent to w or that are left
         divisors of w).
   </longdescription>
+    <use>
+      <flag name="eigen">
+        Use <pkg>dev-cpp/eigen</pkg> (at build time
+        only) to speed up some matrix operations.
+      </flag>
+    </use>
   <upstream>
     <remote-id type="github">libsemigroups/libsemigroups</remote-id>
   </upstream>

Reply via email to