# 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 }