blob: b5db4bb9cba4414f959a9707d3e8ea4e29bd5de7 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
|
# 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}"
PATCHES=( "${FILESDIR}/${P}-gcc15-testfix.patch" )
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
}
|