diff options
Diffstat (limited to 'dev-cpp')
248 files changed, 4695 insertions, 765 deletions
diff --git a/dev-cpp/ETL/metadata.xml b/dev-cpp/ETL/metadata.xml index 83d00b14c8d4..7a420b460d5e 100644 --- a/dev-cpp/ETL/metadata.xml +++ b/dev-cpp/ETL/metadata.xml @@ -2,5 +2,5 @@ <!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd"> <pkgmetadata> - <origin>gentoo-staging</origin> + <origin>liguros-repo</origin> </pkgmetadata>
\ No newline at end of file diff --git a/dev-cpp/abseil-cpp/Manifest b/dev-cpp/abseil-cpp/Manifest index 24eecd1c8dc0..f1e04e0fe1e4 100644 --- a/dev-cpp/abseil-cpp/Manifest +++ b/dev-cpp/abseil-cpp/Manifest @@ -2,3 +2,5 @@ DIST abseil-cpp-20250127.0-PR1834.patch 968 BLAKE2B b563725afcae9fcbddde9aef1e49 DIST abseil-cpp-20250127.1.tar.gz 2267282 BLAKE2B 61a6f0340c3883f097c56161d67f0046398513ef716d33a7b26e55e33032262f2e5f02c678318688f7f72a5eea7a88b37abf6d2f84e52626a258c497bea80a83 SHA512 8312acf0ed74fa28c6397f3e41ada656dbd5ca2bf8db484319d74b144ad19c0ebdc77f7f03436be6c6ca1cde706b9055079233cf0d6b5ada4ca48406f8a55dd8 DIST abseil-cpp-20250512.1.tar.gz 2221441 BLAKE2B f84faffcc606b0e4ece3cd8494e6727d74faf74c2900928c317dbce1393a4e3095ecdea4529311323b99459879957841a7300fed0499eba28fc9d764c9ddca40 SHA512 d3ba654ed7dd7b432494918b2de5d8e2b0ad1c42752c5d726f20d6fe2841828fb4e8beb853e3570a11efecef725029ce5ffa3ebc434efff007e7f60735eb9856 DIST abseil-cpp-20250814.1.tar.gz 2235716 BLAKE2B ae29b10f7efb18e20a4c7e4931f20ee169775022cd9ce15c0a23e28a2c3c577d2cf30f60f0890112e45378684485b8b11b101eaf6827faa604e5ef38fb794862 SHA512 7083b73c3cf763f6f7a7edb70a5171f44d27045a0f5e52ca043e0a86379af2c50cf85dbfea30ebaa22a7bb2929452581d26b1ba18945023b057267d4c3bad2f7 +DIST abseil-cpp-20260107.0-c++23.patch 3916 BLAKE2B 63d23b1604d43f1954e51569c77f122aa93a96ceafd6f8edd8d5500140804b564f0b23f9d10432ed9ec83ec99dc852cedbf31ec9be1ceba571550a1ed711adaa SHA512 a37dd86d6cf985a614419c5cb7931535cb7624c6684ca8044fc775b7715730c8d65cd7d66616a4b09e0e1edd69390e81d5c9fad0288d7b5e140063ac6e863fe8 +DIST abseil-cpp-20260107.1.tar.gz 2301097 BLAKE2B 1c0814eefb6181a82437128c9d3c08dec0540c2353b8a317204c49b1510b311173897de4a737da6f0cc034bf1b23717dea54f0338e3794f6a56f7292f53937bc SHA512 f5012885d6b6844a9cf5ed92ad5468b8757db33dfe1364bfb232fff928e06c550c7eb4557f45186a8ac4d18b178df9be267681abab4a6de40823b574afbe9960 diff --git a/dev-cpp/abseil-cpp/abseil-cpp-20250127.1.ebuild b/dev-cpp/abseil-cpp/abseil-cpp-20250127.1.ebuild index e6cf7eb68e89..3d14e6851015 100644 --- a/dev-cpp/abseil-cpp/abseil-cpp-20250127.1.ebuild +++ b/dev-cpp/abseil-cpp/abseil-cpp-20250127.1.ebuild @@ -3,7 +3,7 @@ EAPI=8 -PYTHON_COMPAT=( python3_{10..14} ) +PYTHON_COMPAT=( python3_{10..13} ) inherit cmake-multilib python-any-r1 diff --git a/dev-cpp/abseil-cpp/abseil-cpp-20250512.1.ebuild b/dev-cpp/abseil-cpp/abseil-cpp-20250512.1.ebuild index 85e48cd9b255..11c45a8d6168 100644 --- a/dev-cpp/abseil-cpp/abseil-cpp-20250512.1.ebuild +++ b/dev-cpp/abseil-cpp/abseil-cpp-20250512.1.ebuild @@ -3,7 +3,7 @@ EAPI=8 -PYTHON_COMPAT=( python3_{10..14} ) +PYTHON_COMPAT=( python3_{10..13} ) inherit cmake-multilib python-any-r1 diff --git a/dev-cpp/abseil-cpp/abseil-cpp-20260107.1.ebuild b/dev-cpp/abseil-cpp/abseil-cpp-20260107.1.ebuild new file mode 100644 index 000000000000..1e09118841f2 --- /dev/null +++ b/dev-cpp/abseil-cpp/abseil-cpp-20260107.1.ebuild @@ -0,0 +1,121 @@ +# Copyright 2020-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{10..14} ) + +inherit cmake-multilib edo flag-o-matic python-any-r1 + +DESCRIPTION="Abseil Common Libraries (C++), LTS Branch" +HOMEPAGE="https://abseil.io/" +SRC_URI=" + https://github.com/abseil/abseil-cpp/archive/${PV}.tar.gz -> ${P}.tar.gz + https://github.com/abseil/abseil-cpp/commit/28e6a799ba550f8d499bfda5e100d16937804f72.patch + -> ${PN}-20260107.0-c++23.patch +" + +LICENSE="Apache-2.0" + +# ABI, we want rebuilds to avoid hidden breakage +SLOT="0/${PV:2:4}.$(ver_cut 2).0-cpp20" +# SONAME +# SLOT="0/${PV:2:4}.0.0-cpp20" + +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos" +IUSE="debug test test-helpers" + +RDEPEND=" + test? ( + dev-cpp/gtest:=[${MULTILIB_USEDEP}] + ) + test-helpers? ( + dev-cpp/gtest:=[${MULTILIB_USEDEP}] + ) +" +DEPEND="${RDEPEND}" +BDEPEND=" + ${PYTHON_DEPS} + test? ( + sys-libs/timezone-data + ) +" + +RESTRICT="!test? ( test )" + +PATCHES=( + "${FILESDIR}/${PN}-20230802.0-sdata-tests.patch" + "${FILESDIR}/${PN}-20240722.0-lto-odr.patch" + # https://github.com/abseil/abseil-cpp/issues/1992 + "${DISTDIR}/${PN}-20260107.0-c++23.patch" +) + +src_prepare() { + cmake_src_prepare + + use ppc && eapply "${FILESDIR}/${PN}-atomic.patch" + + # un-hardcode abseil compiler flags + # 942192 + sed -i \ + -e '/NOMINMAX/d' \ + absl/copts/copts.py || die + + # now generate cmake files + python_fix_shebang absl/copts/generate_copts.py + edo absl/copts/generate_copts.py +} + +multilib_src_configure() { + append-cxxflags "$(usex debug '-DDEBUG' '-DNDEBUG')" + + if [[ ${ABI} == x86 ]]; then + # error: ‘_mm_cvtsi128_si64’ was not declared in this scope + # maybe fixed in 4bd9ee20 + local _CXXFLAGS="${CXXFLAGS}" + local CXXFLAGS="${_CXXFLAGS} -mno-aes" + fi + + local mycmakeargs=( + -DCMAKE_CXX_STANDARD=20 + -DABSL_ENABLE_INSTALL="yes" + -DABSL_USE_EXTERNAL_GOOGLETEST="yes" + -DABSL_PROPAGATE_CXX_STD="yes" + + # TEST_HELPERS needed for protobuf (bug #915902) + -DABSL_BUILD_TEST_HELPERS="$(usex test-helpers)" + + -DABSL_BUILD_TESTING="$(usex test)" + ) + # intentional use, it requires both variables for tests. + # (BUILD_TESTING AND ABSL_BUILD_TESTING) + if use test; then + mycmakeargs+=( + -DBUILD_TESTING="yes" + ) + fi + + cmake_src_configure +} + +multilib_src_test() { + if ! use amd64; then + CMAKE_SKIP_TESTS=( + absl_symbolize_test + ) + + if use ppc; then + CMAKE_SKIP_TESTS+=( + absl_failure_signal_handler_test + ) + fi + else + if ! multilib_is_native_abi; then + CMAKE_SKIP_TESTS+=( + absl_hash_instantiated_test + ) + fi + fi + + cmake_src_test +} diff --git a/dev-cpp/abseil-cpp/metadata.xml b/dev-cpp/abseil-cpp/metadata.xml index 20649dffbf60..09f8f50b8f5b 100644 --- a/dev-cpp/abseil-cpp/metadata.xml +++ b/dev-cpp/abseil-cpp/metadata.xml @@ -13,5 +13,5 @@ <use> <flag name="test-helpers">Build libraries that you can use to write tests against Abseil code.</flag> </use> - <origin>gentoo-staging</origin> + <origin>liguros-repo</origin> </pkgmetadata>
\ No newline at end of file diff --git a/dev-cpp/ada/ada-3.4.4.ebuild b/dev-cpp/ada/ada-3.4.4.ebuild index 5f29d430cdc2..e4821e4e5e20 100644 --- a/dev-cpp/ada/ada-3.4.4.ebuild +++ b/dev-cpp/ada/ada-3.4.4.ebuild @@ -12,7 +12,7 @@ SRC_URI="https://github.com/ada-url/ada/archive/refs/tags/v${PV}.tar.gz -> ${P}. LICENSE="Apache-2.0 MIT" SLOT="0/$(ver_cut 1)" -KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~x86" +KEYWORDS="amd64 ~arm arm64 ~loong ~ppc64 ~riscv ~x86" RESTRICT="test" src_configure() { diff --git a/dev-cpp/ada/metadata.xml b/dev-cpp/ada/metadata.xml index 5ae172f655f1..b5d32eb8aca3 100644 --- a/dev-cpp/ada/metadata.xml +++ b/dev-cpp/ada/metadata.xml @@ -10,5 +10,5 @@ <name>Proxy Maintainers</name> </maintainer> - <origin>gentoo-staging</origin> + <origin>liguros-repo</origin> </pkgmetadata>
\ No newline at end of file diff --git a/dev-cpp/aixlog/metadata.xml b/dev-cpp/aixlog/metadata.xml index 923d160c1006..17d69ccf7580 100644 --- a/dev-cpp/aixlog/metadata.xml +++ b/dev-cpp/aixlog/metadata.xml @@ -12,5 +12,5 @@ </maintainer> <bugs-to>https://github.com/badaix/aixlog/issues</bugs-to> </upstream> - <origin>gentoo-staging</origin> + <origin>liguros-repo</origin> </pkgmetadata>
\ No newline at end of file diff --git a/dev-cpp/amqp-cpp/metadata.xml b/dev-cpp/amqp-cpp/metadata.xml index 841d0e2c422c..fadef03f10df 100644 --- a/dev-cpp/amqp-cpp/metadata.xml +++ b/dev-cpp/amqp-cpp/metadata.xml @@ -6,5 +6,5 @@ <name>Alexey Shvetsov</name> </maintainer> - <origin>gentoo-staging</origin> + <origin>liguros-repo</origin> </pkgmetadata>
\ No newline at end of file diff --git a/dev-cpp/antlr-cpp/metadata.xml b/dev-cpp/antlr-cpp/metadata.xml index 66ee50826efd..da4360c8272a 100644 --- a/dev-cpp/antlr-cpp/metadata.xml +++ b/dev-cpp/antlr-cpp/metadata.xml @@ -6,5 +6,5 @@ <name>Gentoo Science Project</name> </maintainer> - <origin>gentoo-staging</origin> + <origin>liguros-repo</origin> </pkgmetadata>
\ No newline at end of file diff --git a/dev-cpp/argparse/metadata.xml b/dev-cpp/argparse/metadata.xml index 841d0e2c422c..fadef03f10df 100644 --- a/dev-cpp/argparse/metadata.xml +++ b/dev-cpp/argparse/metadata.xml @@ -6,5 +6,5 @@ <name>Alexey Shvetsov</name> </maintainer> - <origin>gentoo-staging</origin> + <origin>liguros-repo</origin> </pkgmetadata>
\ No newline at end of file diff --git a/dev-cpp/asio/metadata.xml b/dev-cpp/asio/metadata.xml index d2524e65418b..e930ba360f2d 100644 --- a/dev-cpp/asio/metadata.xml +++ b/dev-cpp/asio/metadata.xml @@ -14,5 +14,5 @@ <name>Proxy Maintainers</name> </maintainer> - <origin>ports</origin> + <origin>liguros-repo</origin> </pkgmetadata>
\ No newline at end of file diff --git a/dev-cpp/atkmm/atkmm-2.28.4.ebuild b/dev-cpp/atkmm/atkmm-2.28.4.ebuild index b38f476a1d49..a54b4344c8e9 100644 --- a/dev-cpp/atkmm/atkmm-2.28.4.ebuild +++ b/dev-cpp/atkmm/atkmm-2.28.4.ebuild @@ -3,7 +3,7 @@ EAPI=8 -PYTHON_COMPAT=( python3_{10..14} ) +PYTHON_COMPAT=( python3_{11..14} ) inherit gnome.org meson-multilib python-any-r1 DESCRIPTION="C++ interface for the ATK library" diff --git a/dev-cpp/atkmm/atkmm-2.36.3.ebuild b/dev-cpp/atkmm/atkmm-2.36.3.ebuild index 3ffd062a328c..a7ae4416dfe1 100644 --- a/dev-cpp/atkmm/atkmm-2.36.3.ebuild +++ b/dev-cpp/atkmm/atkmm-2.36.3.ebuild @@ -3,7 +3,7 @@ EAPI=8 -PYTHON_COMPAT=( python3_{10..14} ) +PYTHON_COMPAT=( python3_{11..14} ) inherit gnome.org meson-multilib python-any-r1 DESCRIPTION="C++ interface for the ATK library" diff --git a/dev-cpp/atkmm/metadata.xml b/dev-cpp/atkmm/metadata.xml index f2710c9e5c09..c9b6b0b24a72 100644 --- a/dev-cpp/atkmm/metadata.xml +++ b/dev-cpp/atkmm/metadata.xml @@ -6,5 +6,5 @@ <name>Gentoo GNOME Desktop</name> </maintainer> - <origin>gentoo-staging</origin> + <origin>liguros-repo</origin> </pkgmetadata>
\ No newline at end of file diff --git a/dev-cpp/aws-crt-cpp/metadata.xml b/dev-cpp/aws-crt-cpp/metadata.xml index 054a68275071..c207121138e5 100644 --- a/dev-cpp/aws-crt-cpp/metadata.xml +++ b/dev-cpp/aws-crt-cpp/metadata.xml @@ -6,5 +6,5 @@ <name>Jaco Kroon</name> </maintainer> - <origin>gentoo-staging</origin> + <origin>liguros-repo</origin> </pkgmetadata>
\ No newline at end of file diff --git a/dev-cpp/aws-sdk-cpp/metadata.xml b/dev-cpp/aws-sdk-cpp/metadata.xml index 8d4554afb752..2316dc3036dd 100644 --- a/dev-cpp/aws-sdk-cpp/metadata.xml +++ b/dev-cpp/aws-sdk-cpp/metadata.xml @@ -22,5 +22,5 @@ <flag name="management">Adds access to operational management related services.</flag> <flag name="uncategorized">Add access to services that do not easily fit into existing groups.</flag> </use> - <origin>gentoo-staging</origin> + <origin>liguros-repo</origin> </pkgmetadata>
\ No newline at end of file diff --git a/dev-cpp/azure-core/metadata.xml b/dev-cpp/azure-core/metadata.xml index 6ad3061728be..d5d567acc3eb 100644 --- a/dev-cpp/azure-core/metadata.xml +++ b/dev-cpp/azure-core/metadata.xml @@ -6,5 +6,5 @@ <name>James Le Cuirot</name> </maintainer> - <origin>gentoo-staging</origin> + <origin>liguros-repo</origin> </pkgmetadata>
\ No newline at end of file diff --git a/dev-cpp/azure-identity/metadata.xml b/dev-cpp/azure-identity/metadata.xml index 6ad3061728be..d5d567acc3eb 100644 --- a/dev-cpp/azure-identity/metadata.xml +++ b/dev-cpp/azure-identity/metadata.xml @@ -6,5 +6,5 @@ <name>James Le Cuirot</name> </maintainer> - <origin>gentoo-staging</origin> + <origin>liguros-repo</origin> </pkgmetadata>
\ No newline at end of file diff --git a/dev-cpp/azure-security-keyvault-certificates/metadata.xml b/dev-cpp/azure-security-keyvault-certificates/metadata.xml index 6ad3061728be..d5d567acc3eb 100644 --- a/dev-cpp/azure-security-keyvault-certificates/metadata.xml +++ b/dev-cpp/azure-security-keyvault-certificates/metadata.xml @@ -6,5 +6,5 @@ <name>James Le Cuirot</name> </maintainer> - <origin>gentoo-staging</origin> + <origin>liguros-repo</origin> </pkgmetadata>
\ No newline at end of file diff --git a/dev-cpp/azure-security-keyvault-keys/metadata.xml b/dev-cpp/azure-security-keyvault-keys/metadata.xml index 6ad3061728be..d5d567acc3eb 100644 --- a/dev-cpp/azure-security-keyvault-keys/metadata.xml +++ b/dev-cpp/azure-security-keyvault-keys/metadata.xml @@ -6,5 +6,5 @@ <name>James Le Cuirot</name> </maintainer> - <origin>gentoo-staging</origin> + <origin>liguros-repo</origin> </pkgmetadata>
\ No newline at end of file diff --git a/dev-cpp/benchmark/benchmark-1.9.1-r1.ebuild b/dev-cpp/benchmark/benchmark-1.9.1-r1.ebuild index 4c8099a35a29..febd9dccef01 100644 --- a/dev-cpp/benchmark/benchmark-1.9.1-r1.ebuild +++ b/dev-cpp/benchmark/benchmark-1.9.1-r1.ebuild @@ -3,7 +3,7 @@ EAPI=8 -PYTHON_COMPAT=( python3_{10..14} ) +PYTHON_COMPAT=( python3_{12..13} ) inherit cmake-multilib flag-o-matic python-single-r1 diff --git a/dev-cpp/benchmark/benchmark-1.9.2.ebuild b/dev-cpp/benchmark/benchmark-1.9.2.ebuild index e996372c4b77..d361eadc3b6b 100644 --- a/dev-cpp/benchmark/benchmark-1.9.2.ebuild +++ b/dev-cpp/benchmark/benchmark-1.9.2.ebuild @@ -3,7 +3,7 @@ EAPI=8 -PYTHON_COMPAT=( python3_{10..14} ) +PYTHON_COMPAT=( python3_{12..13} ) inherit cmake-multilib flag-o-matic python-single-r1 diff --git a/dev-cpp/benchmark/benchmark-1.9.3.ebuild b/dev-cpp/benchmark/benchmark-1.9.3.ebuild index e0dcb139d443..bbbfda607170 100644 --- a/dev-cpp/benchmark/benchmark-1.9.3.ebuild +++ b/dev-cpp/benchmark/benchmark-1.9.3.ebuild @@ -3,7 +3,7 @@ EAPI=8 -PYTHON_COMPAT=( python3_{10..14} ) +PYTHON_COMPAT=( python3_{12..13} ) inherit cmake-multilib flag-o-matic python-single-r1 diff --git a/dev-cpp/benchmark/benchmark-1.9.4.ebuild b/dev-cpp/benchmark/benchmark-1.9.4.ebuild index e0dcb139d443..bbbfda607170 100644 --- a/dev-cpp/benchmark/benchmark-1.9.4.ebuild +++ b/dev-cpp/benchmark/benchmark-1.9.4.ebuild @@ -3,7 +3,7 @@ EAPI=8 -PYTHON_COMPAT=( python3_{10..14} ) +PYTHON_COMPAT=( python3_{12..13} ) inherit cmake-multilib flag-o-matic python-single-r1 diff --git a/dev-cpp/benchmark/benchmark-1.9.5.ebuild b/dev-cpp/benchmark/benchmark-1.9.5.ebuild index 4a8ffcf9f028..50b88a10ebc9 100644 --- a/dev-cpp/benchmark/benchmark-1.9.5.ebuild +++ b/dev-cpp/benchmark/benchmark-1.9.5.ebuild @@ -3,7 +3,7 @@ EAPI=8 -PYTHON_COMPAT=( python3_{10..14} ) +PYTHON_COMPAT=( python3_{12..14} ) inherit cmake-multilib flag-o-matic python-single-r1 diff --git a/dev-cpp/benchmark/metadata.xml b/dev-cpp/benchmark/metadata.xml index 49591ea6e6b9..8774526f916d 100644 --- a/dev-cpp/benchmark/metadata.xml +++ b/dev-cpp/benchmark/metadata.xml @@ -25,5 +25,5 @@ <flag name="libpfm">Activer le support de <pkg>dev-libs/libpfm</pkg></flag> <flag name="tools">Installer des outils Python additionnels</flag> </use> - <origin>gentoo-staging</origin> + <origin>liguros-repo</origin> </pkgmetadata>
\ No newline at end of file diff --git a/dev-cpp/blurhash/metadata.xml b/dev-cpp/blurhash/metadata.xml index c4838a0906e5..3d8e3d9bbb0b 100644 --- a/dev-cpp/blurhash/metadata.xml +++ b/dev-cpp/blurhash/metadata.xml @@ -6,5 +6,5 @@ <name>tea</name> </maintainer> - <origin>gentoo-guru-overlay</origin> + <origin>liguros-repo</origin> </pkgmetadata>
\ No newline at end of file diff --git a/dev-cpp/boxed-cpp/metadata.xml b/dev-cpp/boxed-cpp/metadata.xml index 97d84b677ff0..4787336d3f68 100644 --- a/dev-cpp/boxed-cpp/metadata.xml +++ b/dev-cpp/boxed-cpp/metadata.xml @@ -6,5 +6,5 @@ <name>David Roman</name> </maintainer> - <origin>gentoo-guru-overlay</origin> + <origin>liguros-repo</origin> </pkgmetadata>
\ No newline at end of file diff --git a/dev-cpp/cairomm/cairomm-1.14.5.ebuild b/dev-cpp/cairomm/cairomm-1.14.5.ebuild index c70f462b690e..4aa19aab3e01 100644 --- a/dev-cpp/cairomm/cairomm-1.14.5.ebuild +++ b/dev-cpp/cairomm/cairomm-1.14.5.ebuild @@ -2,7 +2,7 @@ # Distributed under the terms of the GNU General Public License v2 EAPI=8 -PYTHON_COMPAT=( python3_{10..14} ) +PYTHON_COMPAT=( python3_{11..14} ) inherit meson-multilib python-any-r1 DESCRIPTION="C++ bindings for the Cairo vector graphics library" diff --git a/dev-cpp/cairomm/cairomm-1.18.0.ebuild b/dev-cpp/cairomm/cairomm-1.18.0.ebuild index 929528ec9403..5b430d7fd38a 100644 --- a/dev-cpp/cairomm/cairomm-1.18.0.ebuild +++ b/dev-cpp/cairomm/cairomm-1.18.0.ebuild @@ -2,7 +2,7 @@ # Distributed under the terms of the GNU General Public License v2 EAPI=8 -PYTHON_COMPAT=( python3_{10..14} ) +PYTHON_COMPAT=( python3_{11..14} ) inherit meson-multilib python-any-r1 DESCRIPTION="C++ bindings for the Cairo vector graphics library" diff --git a/dev-cpp/cairomm/metadata.xml b/dev-cpp/cairomm/metadata.xml index f2710c9e5c09..c9b6b0b24a72 100644 --- a/dev-cpp/cairomm/metadata.xml +++ b/dev-cpp/cairomm/metadata.xml @@ -6,5 +6,5 @@ <name>Gentoo GNOME Desktop</name> </maintainer> - <origin>gentoo-staging</origin> + <origin>liguros-repo</origin> </pkgmetadata>
\ No newline at end of file diff --git a/dev-cpp/catch/catch-2.13.10.ebuild b/dev-cpp/catch/catch-2.13.10.ebuild index 344863ed07e1..4c8244d5cf86 100644 --- a/dev-cpp/catch/catch-2.13.10.ebuild +++ b/dev-cpp/catch/catch-2.13.10.ebuild @@ -3,7 +3,7 @@ EAPI=8 -PYTHON_COMPAT=( python3_{10..14} ) +PYTHON_COMPAT=( python3_{10..12} ) inherit cmake python-any-r1 diff --git a/dev-cpp/catch/catch-3.12.0.ebuild b/dev-cpp/catch/catch-3.12.0.ebuild index 82ee08503d70..8b9884010f45 100644 --- a/dev-cpp/catch/catch-3.12.0.ebuild +++ b/dev-cpp/catch/catch-3.12.0.ebuild @@ -3,7 +3,7 @@ EAPI=8 -PYTHON_COMPAT=( python3_{10..14} ) +PYTHON_COMPAT=( python3_{11..14} ) inherit cmake-multilib python-any-r1 diff --git a/dev-cpp/catch/catch-3.13.0.ebuild b/dev-cpp/catch/catch-3.13.0.ebuild index a34cc6ce712f..bc84098c0f7c 100644 --- a/dev-cpp/catch/catch-3.13.0.ebuild +++ b/dev-cpp/catch/catch-3.13.0.ebuild @@ -3,7 +3,7 @@ EAPI=8 -PYTHON_COMPAT=( python3_{10..14} ) +PYTHON_COMPAT=( python3_{11..14} ) inherit cmake-multilib python-any-r1 diff --git a/dev-cpp/catch/catch-9999.ebuild b/dev-cpp/catch/catch-9999.ebuild index bbf89864d3ba..3bea8d333304 100644 --- a/dev-cpp/catch/catch-9999.ebuild +++ b/dev-cpp/catch/catch-9999.ebuild @@ -1,9 +1,9 @@ -# Copyright 1999-2025 Gentoo Authors +# Copyright 1999-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 -PYTHON_COMPAT=( python3_{10..14} ) +PYTHON_COMPAT=( python3_{11..14} ) inherit cmake-multilib python-any-r1 diff --git a/dev-cpp/catch/metadata.xml b/dev-cpp/catch/metadata.xml index 8661d8b27fba..4f9491b5d577 100644 --- a/dev-cpp/catch/metadata.xml +++ b/dev-cpp/catch/metadata.xml @@ -6,5 +6,5 @@ <name>David Seifert</name> </maintainer> - <origin>gentoo-staging</origin> + <origin>liguros-repo</origin> </pkgmetadata>
\ No newline at end of file diff --git a/dev-cpp/cctz/metadata.xml b/dev-cpp/cctz/metadata.xml index 5f36783cd7bc..e08ff45ca802 100644 --- a/dev-cpp/cctz/metadata.xml +++ b/dev-cpp/cctz/metadata.xml @@ -12,5 +12,5 @@ <upstream> <bugs-to>https://github.com/google/cctz/issues</bugs-to> </upstream> - <origin>gentoo-staging</origin> + <origin>liguros-repo</origin> </pkgmetadata>
\ No newline at end of file diff --git a/dev-cpp/cld3/cld3-3.0.13_p20220331.ebuild b/dev-cpp/cld3/cld3-3.0.13_p20220331.ebuild index 97396d627809..62527733a7f4 100644 --- a/dev-cpp/cld3/cld3-3.0.13_p20220331.ebuild +++ b/dev-cpp/cld3/cld3-3.0.13_p20220331.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 @@ -27,11 +27,6 @@ src_prepare() { sed -e '/add_definitions(/d' \ -i CMakeLists.txt || die - # Specify the c++ standard through cmake's heurestics instead - cat >> CMakeLists.txt <<- 'EOF' || die - set(CMAKE_CXX_STANDARD 17) - EOF - # Link with the right libraries for the tests cat >> CMakeLists.txt <<- 'EOF' || die target_link_libraries(cld3 @@ -88,3 +83,17 @@ src_prepare() { cmake_src_prepare } + +src_configure() { + local CXXSTD="17" + if has_version ">=dev-cpp/abseil-cpp-20260107.0"; then + # needs >=c++20 + CXXSTD="20" + fi + + local mycmakeargs=( + -DCMAKE_CXX_STANDARD="${CXXSTD}" + ) + + cmake_src_configure +} diff --git a/dev-cpp/cld3/metadata.xml b/dev-cpp/cld3/metadata.xml index 5ae172f655f1..b5d32eb8aca3 100644 --- a/dev-cpp/cld3/metadata.xml +++ b/dev-cpp/cld3/metadata.xml @@ -10,5 +10,5 @@ <name>Proxy Maintainers</name> </maintainer> - <origin>gentoo-staging</origin> + <origin>liguros-repo</origin> </pkgmetadata>
\ No newline at end of file diff --git a/dev-cpp/clhpp/metadata.xml b/dev-cpp/clhpp/metadata.xml index 83d00b14c8d4..7a420b460d5e 100644 --- a/dev-cpp/clhpp/metadata.xml +++ b/dev-cpp/clhpp/metadata.xml @@ -2,5 +2,5 @@ <!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd"> <pkgmetadata> - <origin>gentoo-staging</origin> + <origin>liguros-repo</origin> </pkgmetadata>
\ No newline at end of file diff --git a/dev-cpp/cli11/metadata.xml b/dev-cpp/cli11/metadata.xml index a3b44b016c9f..d7842f8f4f67 100644 --- a/dev-cpp/cli11/metadata.xml +++ b/dev-cpp/cli11/metadata.xml @@ -6,5 +6,5 @@ <name>Ionen Wolkens</name> </maintainer> - <origin>gentoo-staging</origin> + <origin>liguros-repo</origin> </pkgmetadata>
\ No newline at end of file diff --git a/dev-cpp/clipp/metadata.xml b/dev-cpp/clipp/metadata.xml index 24ccbb8a7ce2..6404f1aa2571 100644 --- a/dev-cpp/clipp/metadata.xml +++ b/dev-cpp/clipp/metadata.xml @@ -6,5 +6,5 @@ <name>Thomas Kemmer</name> </maintainer> - <origin>binaryden-overlay</origin> + <origin>liguros-repo</origin> </pkgmetadata>
\ No newline at end of file diff --git a/dev-cpp/clucene/metadata.xml b/dev-cpp/clucene/metadata.xml index 83d00b14c8d4..7a420b460d5e 100644 --- a/dev-cpp/clucene/metadata.xml +++ b/dev-cpp/clucene/metadata.xml @@ -2,5 +2,5 @@ <!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd"> <pkgmetadata> - <origin>gentoo-staging</origin> + <origin>liguros-repo</origin> </pkgmetadata>
\ No newline at end of file diff --git a/dev-cpp/coeurl/coeurl-0.3.1.ebuild b/dev-cpp/coeurl/coeurl-0.3.1.ebuild index f419939b8801..bc39b8aa1ecf 100644 --- a/dev-cpp/coeurl/coeurl-0.3.1.ebuild +++ b/dev-cpp/coeurl/coeurl-0.3.1.ebuild @@ -3,7 +3,7 @@ EAPI=8 -PYTHON_COMPAT=( python3_{10..14} ) +PYTHON_COMPAT=( python3_{12..14} ) inherit edo meson python-any-r1 DESCRIPTION="A simple async wrapper around CURL for C++" diff --git a/dev-cpp/coeurl/coeurl-0.3.2.ebuild b/dev-cpp/coeurl/coeurl-0.3.2.ebuild index c56275452322..1c1cd91a2bff 100644 --- a/dev-cpp/coeurl/coeurl-0.3.2.ebuild +++ b/dev-cpp/coeurl/coeurl-0.3.2.ebuild @@ -3,7 +3,7 @@ EAPI=8 -PYTHON_COMPAT=( python3_{10..14} ) +PYTHON_COMPAT=( python3_{12..14} ) inherit edo meson python-any-r1 DESCRIPTION="Simple async wrapper around CURL for C++" diff --git a/dev-cpp/coeurl/metadata.xml b/dev-cpp/coeurl/metadata.xml index 736a1167c898..7a420b460d5e 100644 --- a/dev-cpp/coeurl/metadata.xml +++ b/dev-cpp/coeurl/metadata.xml @@ -2,5 +2,5 @@ <!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd"> <pkgmetadata> - <origin>gentoo-guru-overlay</origin> + <origin>liguros-repo</origin> </pkgmetadata>
\ No newline at end of file diff --git a/dev-cpp/cpp-httplib/Manifest b/dev-cpp/cpp-httplib/Manifest index 2ce8db29c039..ed59b96b1066 100644 --- a/dev-cpp/cpp-httplib/Manifest +++ b/dev-cpp/cpp-httplib/Manifest @@ -1,2 +1,2 @@ -DIST cpp-httplib-0.43.4.tar.gz 1866559 BLAKE2B 6878670704a78fe366ea78d007c0b3806ba661d2e49f19a9d28ef287dd123364ac26e54f6df1ebb63361f638eb9f1de0c8a5d75c4e0038064aea4146e15ffc71 SHA512 ebd88aad3fe04386983244b108eae99e03bc1f2149914d038f7c90c9117322d31dfd4abcdbbc17570e6aacc8d0233313445ef3527845dfef9fc83504a7554f14 -DIST cpp-httplib-0.44.0.tar.gz 1868167 BLAKE2B 879534865126650b340140e7a29a55c8cc2500a68f2b554cf566f0daf7f69d8a8941b3ef5313db2f3b567541e32ea8cc21fb6d68407d48079b74308ca3c21a74 SHA512 9218f6f54588fd780802fa15db171ed0fc832efe1ab9d90a6a1756f72a083034f376c2370d664cb7302f1d7a7b15880adfb3c88a67b069b3c6e2878c5e9279a3 +DIST cpp-httplib-0.45.0.tar.gz 1868625 BLAKE2B ffb6b9cac9d6505a5eb57d4c902c1d28a0de021a9c67b0ab6a3fb1f3a51c8ca8fac78e5181422ed74a7dcd170d9f66f34d6fff2a98e9179675f6802f97e81a37 SHA512 4cafb05af28720729a71c9fed519361cf6b6ba9fd702dadc2f0b4fffb0a974c489d5ff0e77eb72a8e26efc0ad0b74fbdc16ee30b7a20a221c9f98c9200e639f0 +DIST cpp-httplib-0.46.0.tar.gz 1880471 BLAKE2B 35e7109db9329da53d2416648daf401e1bdbb98b979ae31f211fb83f735e12cf320a996c80d7efe5418a18a54485a7f7ead476a7276c341316ca4c2c2caa54e1 SHA512 159ed94965018f2a371d45a3bfc1961e5fb1549e501ded70a6b4532d7fe99d0579c18b5195aff6e35f96f399b426cea2650ec9fb75ef80d4c9edeccb51f2e6c9 diff --git a/dev-cpp/cpp-httplib/cpp-httplib-0.43.4.ebuild b/dev-cpp/cpp-httplib/cpp-httplib-0.45.0.ebuild index d6714d0db42f..d6714d0db42f 100644 --- a/dev-cpp/cpp-httplib/cpp-httplib-0.43.4.ebuild +++ b/dev-cpp/cpp-httplib/cpp-httplib-0.45.0.ebuild diff --git a/dev-cpp/cpp-httplib/cpp-httplib-0.44.0.ebuild b/dev-cpp/cpp-httplib/cpp-httplib-0.46.0.ebuild index d6714d0db42f..d6714d0db42f 100644 --- a/dev-cpp/cpp-httplib/cpp-httplib-0.44.0.ebuild +++ b/dev-cpp/cpp-httplib/cpp-httplib-0.46.0.ebuild diff --git a/dev-cpp/cpp-httplib/metadata.xml b/dev-cpp/cpp-httplib/metadata.xml index 174ba647e913..501ae79a8be7 100644 --- a/dev-cpp/cpp-httplib/metadata.xml +++ b/dev-cpp/cpp-httplib/metadata.xml @@ -20,5 +20,5 @@ <upstream> <bugs-to>https://github.com/yhirose/cpp-httplib/issues</bugs-to> </upstream> - <origin>ports</origin> + <origin>liguros-repo</origin> </pkgmetadata>
\ No newline at end of file diff --git a/dev-cpp/cpp-jwt/metadata.xml b/dev-cpp/cpp-jwt/metadata.xml index 0eb8cd867580..bcfaaab45200 100644 --- a/dev-cpp/cpp-jwt/metadata.xml +++ b/dev-cpp/cpp-jwt/metadata.xml @@ -6,5 +6,5 @@ <name>Samuel Bauer</name> </maintainer> - <origin>gentoo-guru-overlay</origin> + <origin>liguros-repo</origin> </pkgmetadata>
\ No newline at end of file diff --git a/dev-cpp/cpp-utilities/metadata.xml b/dev-cpp/cpp-utilities/metadata.xml index c41c001b8ca0..95a1e4a718f2 100644 --- a/dev-cpp/cpp-utilities/metadata.xml +++ b/dev-cpp/cpp-utilities/metadata.xml @@ -6,5 +6,5 @@ <name>Esteve Varela Colominas</name> </maintainer> - <origin>gentoo-guru-overlay</origin> + <origin>liguros-repo</origin> </pkgmetadata>
\ No newline at end of file diff --git a/dev-cpp/cppdap/metadata.xml b/dev-cpp/cppdap/metadata.xml index 8e20998bf65e..74d824cbfbd2 100644 --- a/dev-cpp/cppdap/metadata.xml +++ b/dev-cpp/cppdap/metadata.xml @@ -6,5 +6,5 @@ <name>Gentoo Base System</name> </maintainer> - <origin>gentoo-staging</origin> + <origin>liguros-repo</origin> </pkgmetadata>
\ No newline at end of file diff --git a/dev-cpp/cppgir/cppgir-2.0_p20260321.ebuild b/dev-cpp/cppgir/cppgir-2.0_p20260321.ebuild index 8711958b4b0a..2feff301dd70 100644 --- a/dev-cpp/cppgir/cppgir-2.0_p20260321.ebuild +++ b/dev-cpp/cppgir/cppgir-2.0_p20260321.ebuild @@ -14,7 +14,7 @@ S="${WORKDIR}/${PN}-${MY_PV}" LICENSE="MIT" SLOT="0" -KEYWORDS="~amd64 ~arm64 ~loong ~ppc64 ~riscv" +KEYWORDS="amd64 ~arm64 ~loong ~ppc64 ~riscv" IUSE="doc test" RESTRICT="!test? ( test )" diff --git a/dev-cpp/cppgir/metadata.xml b/dev-cpp/cppgir/metadata.xml index a11a5da01220..e4716f88d82f 100644 --- a/dev-cpp/cppgir/metadata.xml +++ b/dev-cpp/cppgir/metadata.xml @@ -12,5 +12,5 @@ <upstream> <bugs-to>https://gitlab.com/mnauw/cppgir/-/issues</bugs-to> </upstream> - <origin>gentoo-staging</origin> + <origin>liguros-repo</origin> </pkgmetadata>
\ No newline at end of file diff --git a/dev-cpp/cpprestsdk/metadata.xml b/dev-cpp/cpprestsdk/metadata.xml index b7a84d989a11..4861d40e447b 100644 --- a/dev-cpp/cpprestsdk/metadata.xml +++ b/dev-cpp/cpprestsdk/metadata.xml @@ -6,5 +6,5 @@ <description>Jan-Espen Oversand</description> </maintainer> - <origin>gentoo-guru-overlay</origin> + <origin>liguros-repo</origin> </pkgmetadata>
\ No newline at end of file diff --git a/dev-cpp/cpptoml/metadata.xml b/dev-cpp/cpptoml/metadata.xml index c0cb3ce3c798..014cd78e049b 100644 --- a/dev-cpp/cpptoml/metadata.xml +++ b/dev-cpp/cpptoml/metadata.xml @@ -17,5 +17,5 @@ Targets: TOML v0.5.0 as of August 2018. This includes support for the new DateTime format, inline tables, multi-line basic and raw strings, digit separators, hexadecimal integers, octal integers, binary integers, and float special values. </longdescription> - <origin>gentoo-staging</origin> + <origin>liguros-repo</origin> </pkgmetadata>
\ No newline at end of file diff --git a/dev-cpp/cpptrace/metadata.xml b/dev-cpp/cpptrace/metadata.xml index 1b8db8b4c1d6..61945f9d476d 100644 --- a/dev-cpp/cpptrace/metadata.xml +++ b/dev-cpp/cpptrace/metadata.xml @@ -6,5 +6,5 @@ <name>Gentoo Games Project</name> </maintainer> - <origin>gentoo-staging</origin> + <origin>liguros-repo</origin> </pkgmetadata>
\ No newline at end of file diff --git a/dev-cpp/ctemplate/ctemplate-2.4.ebuild b/dev-cpp/ctemplate/ctemplate-2.4.ebuild index ddb32807e5ba..65f41282e91f 100644 --- a/dev-cpp/ctemplate/ctemplate-2.4.ebuild +++ b/dev-cpp/ctemplate/ctemplate-2.4.ebuild @@ -3,7 +3,7 @@ EAPI=8 -PYTHON_COMPAT=( python3_{10..14} ) +PYTHON_COMPAT=( python3_{11..14} ) inherit autotools elisp-common flag-o-matic python-any-r1 diff --git a/dev-cpp/ctemplate/metadata.xml b/dev-cpp/ctemplate/metadata.xml index 83d00b14c8d4..7a420b460d5e 100644 --- a/dev-cpp/ctemplate/metadata.xml +++ b/dev-cpp/ctemplate/metadata.xml @@ -2,5 +2,5 @@ <!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd"> <pkgmetadata> - <origin>gentoo-staging</origin> + <origin>liguros-repo</origin> </pkgmetadata>
\ No newline at end of file diff --git a/dev-cpp/curlpp/metadata.xml b/dev-cpp/curlpp/metadata.xml index 5b4f3ecf2731..ece7a20a44ee 100644 --- a/dev-cpp/curlpp/metadata.xml +++ b/dev-cpp/curlpp/metadata.xml @@ -12,5 +12,5 @@ <bugs-to>https://github.com/jpbarrette/curlpp/issues</bugs-to> <doc>https://github.com/jpbarrette/curlpp/blob/master/doc/guide.pdf</doc> </upstream> - <origin>gentoo-staging</origin> + <origin>liguros-repo</origin> </pkgmetadata>
\ No newline at end of file diff --git a/dev-cpp/doctest/metadata.xml b/dev-cpp/doctest/metadata.xml index e4acb158611d..1d272baec544 100644 --- a/dev-cpp/doctest/metadata.xml +++ b/dev-cpp/doctest/metadata.xml @@ -6,5 +6,5 @@ <name>Petr Vaněk</name> </maintainer> - <origin>gentoo-staging</origin> + <origin>liguros-repo</origin> </pkgmetadata>
\ No newline at end of file diff --git a/dev-cpp/dpp/Manifest b/dev-cpp/dpp/Manifest index aead3efb4903..ef5854555c43 100644 --- a/dev-cpp/dpp/Manifest +++ b/dev-cpp/dpp/Manifest @@ -1,3 +1,4 @@ DIST dpp-10.0.30.tar.gz 15726421 BLAKE2B 647571d5c7434c3b5636a66a3365d2af8b2d11c81165666d3df2b2ad36d4b61b683a8e3c7ef304fba96a4ac365365272fffa3f0d7d05f697dfe48ba7f972ced6 SHA512 4842e5e688893275e524f998bdcac1d308165a02c280f69eaa898aa8f9986a97fe687e20e3428f30777c49f1feb47905da462bbdba8c9a5ea00067e560208f91 DIST dpp-10.0.33.tar.gz 17222706 BLAKE2B b4443eade64cb6f98742d37c2cd0776b1a1a643fa86732f964488ff8835f2eee2e85553498d3b63159434a6512c9a7726eeddd0b84d8e725fb65e6bbb2290141 SHA512 69fe3323aceb4ad52ec1fcfb38a8770e88c03ae0b6cb49768441b603e13659625720d984b992311fcca8ef863d40b8b7fb082996fae2d396e785b637b673a328 DIST dpp-10.1.4.tar.gz 21018829 BLAKE2B f984c749298a827d9ad8b2a68a2bfea1000a3715c0b5ed148be5d96f7b4d64932439b9df05618213a79e73f2ff425323837fba9549d6c22b0d07d9789ef51664 SHA512 c840f0c36babaf8a193132a56c62673092901c7814deafb4bc37753596e35bf31bd08051d79aa9b71ef439c55a327b046aea6bc4f07c984ab61204e3ff7e7ebe +DIST dpp-10.1.5.tar.gz 21026323 BLAKE2B 3cb7082a06e4f50bbd252bac3c519e5dd54747f2257c228dcf082cc5399e0a4064069598e383baeb9303e7de500445b626f11d80995cfb600767e99f273a28a5 SHA512 e9c34449c4746c015cbec667d99905c4064f43c379a2280e0d5eddad4b446ee26c6c67acb162d9dcbf73cf2400b0e9b75a45bf1716982ef96e88d34d9e1f8b74 diff --git a/dev-cpp/dpp/dpp-10.1.5.ebuild b/dev-cpp/dpp/dpp-10.1.5.ebuild new file mode 100644 index 000000000000..b7c7d00f8265 --- /dev/null +++ b/dev-cpp/dpp/dpp-10.1.5.ebuild @@ -0,0 +1,52 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit cmake + +DESCRIPTION="Lightweight C++ Discord bot library" +HOMEPAGE="https://dpp.dev/ https://github.com/brainboxdotcc/DPP" +SRC_URI=" + https://github.com/brainboxdotcc/DPP/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz +" + +S="${WORKDIR}/DPP-${PV}" + +LICENSE="Apache-2.0" +# DPP is extremely ABI instable due to frequent changes in the Discord API +# See https://github.com/brainboxdotcc/DPP/issues/207#issuecomment-1007030157 +SLOT="0/${PV}" +KEYWORDS="~amd64" +IUSE="voice +coro" + +RDEPEND=" + dev-libs/openssl:= + virtual/zlib:= + + voice? ( + media-libs/opus + ) +" +DEPEND=" + ${RDEPEND} + + dev-cpp/nlohmann_json +" + +DOCS=( "README.md" "SECURITY.md" ) + +src_configure() { + local mycmakeargs=( + -DBUILD_SHARED_LIBS=true + -DBUILD_VOICE_SUPPORT="$(usex voice)" + -DRUN_LDCONFIG=false + # Tests require network access + -DDPP_BUILD_TEST=false + -DDPP_NO_VCPKG=true + -DDPP_USE_EXTERNAL_JSON=true + -DDPP_NO_CORO="$(usex !coro)" # set DPP_NO_CORO if coroutines disabled. + ) + + cmake_src_configure +} diff --git a/dev-cpp/dpp/metadata.xml b/dev-cpp/dpp/metadata.xml index c8348c1b904e..f6858880a027 100644 --- a/dev-cpp/dpp/metadata.xml +++ b/dev-cpp/dpp/metadata.xml @@ -14,5 +14,5 @@ <flag name="voice">Enable voice-chat support</flag> <flag name="coro">Enable coroutine support</flag> </use> - <origin>gentoo-guru-overlay</origin> + <origin>liguros-repo</origin> </pkgmetadata>
\ No newline at end of file diff --git a/dev-cpp/drogon/metadata.xml b/dev-cpp/drogon/metadata.xml index e930fa8286e3..bb5d0b2ec01d 100644 --- a/dev-cpp/drogon/metadata.xml +++ b/dev-cpp/drogon/metadata.xml @@ -16,5 +16,5 @@ <flag name="yaml">Add support for yaml config file</flag> <flag name="spdlog">enable <pkg>dev-libs/spdlog</pkg> logging backend</flag> </use> - <origin>gentoo-guru-overlay</origin> + <origin>liguros-repo</origin> </pkgmetadata>
\ No newline at end of file diff --git a/dev-cpp/edencommon/metadata.xml b/dev-cpp/edencommon/metadata.xml index 8a55334d67dc..37174a5d9749 100644 --- a/dev-cpp/edencommon/metadata.xml +++ b/dev-cpp/edencommon/metadata.xml @@ -10,5 +10,5 @@ <name>Proxy Maintainers</name> </maintainer> - <origin>gentoo-staging</origin> + <origin>liguros-repo</origin> </pkgmetadata>
\ No newline at end of file diff --git a/dev-cpp/eigen/Manifest b/dev-cpp/eigen/Manifest index 1f60bcb2825e..e78035ce5e3c 100644 --- a/dev-cpp/eigen/Manifest +++ b/dev-cpp/eigen/Manifest @@ -1,2 +1,6 @@ DIST eigen-3.4.0.tar.bz2 2143091 BLAKE2B a32aac13cbab68cfaaa252d8a406e6a36ecfd1239361412b1f9baa08284a94467479c08ffae10cb847e9916472b46b1c1af4efbf81f957c8200a4379acd42c42 SHA512 cc488eb111e0e248744d2bc4475b345b5fb82361dff226a5b73a33bd0388de8c219cff8cffcf8f476b672fc0e223f339e8c6a1cfb6293840a4a6abf232438a89 +DIST eigen-3.4.1.tar.bz2 2157363 BLAKE2B 382fcebd716d81019c4606974f8db22234ff34c415d465eb5cf9dbab34d4fa9bca7a3ae6ef64a7eca627cdbacb35fdac862005b0a14ec2d851831246f879f374 SHA512 806be7536f811eb77898a9431eac4fe446fbdd41c2a33ebe30e56750920c105e24bc41d8cbb4a5c01ee770ded9c58f06ff37058d17c6e2301bc9021a864bb549 +DIST eigen-3.4.1_p1.patch 1007 BLAKE2B 0a2af4c2cd8fc423535e046919fe7f931e9b718df1ff799ccc451139c084a344988fc8d1277fd1970827051ce1fcae5512222310fea00a9f1a654f3b1cffbec8 SHA512 ec3f6c78c19544f9a4f2c52e069b573eb633d67998acdd7d74e9769102ec9dfdbf68fca1492002ed0ec6b3e9a25637afa9978cfb80dd3e3f9aa0e1a34ac64534 +DIST eigen-3.4.1_p2.patch 1054 BLAKE2B b46683962764a9dd560932e2230177f91e56d9e4b48ce7de79cad5743b59050aafde4f2da1db961adfb5228ac17f477e598cdf23c4150fa254d2640e4fff3a6d SHA512 bdcd4599ccb88f0599aa74fd5a73135dcc5bb9ad0bc2791517473a48f938bb784e62376e829b8b5b3d6f5149bc8874bf77655c1bfe63f86afbc151c2c86d6732 +DIST eigen-5.0.1.tar.bz2 2335713 BLAKE2B a7ccf9fc63b25b0e5ad8940ccf541cf4977a80ded671757ae1965cd0ca480fd11361de8eaf18cae94a74cde68979a76f5a18b47b696cdd6939b6cf30922e5fd4 SHA512 5cb11c7f1945ae7f36c5deb067b8d5a962d2d3cff7d4dbec8a4ee255ee6aae1b7dbe6d5a6dcc6fe77554ef191e4101366bf79cfb34f5cf06a0e4de311afbeaf6 DIST eigen-lapack_addons-3.4.1.tgz 6215074 BLAKE2B 564c3398de1f4ea249b58957a482cda0b5eb99e5021e1f18abf3b4d2893fed48912bfa8386681fcae03dd933eea91644f7429d47a53684d64462209a6ae76f30 SHA512 5a827d0befb521cb430f0d63f5000e7955359bc637cdb7292d942712e98c0702570a5b650a72fc609bf5b43633661c0e51de7761ae892df6ff0aab667f436edf diff --git a/dev-cpp/eigen/eigen-3.4.1.ebuild b/dev-cpp/eigen/eigen-3.4.1.ebuild new file mode 100644 index 000000000000..e43191c1d3e2 --- /dev/null +++ b/dev-cpp/eigen/eigen-3.4.1.ebuild @@ -0,0 +1,651 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +LLVM_COMPAT=( {21..23} ) +LLVM_OPTIONAL="cuda-clang" + +PYTHON_COMPAT=( python3_{12..14} ) + +FORTRAN_NEEDED="no" + +LAPACK_ADDONS_PV="3.4.1" + +inherit cmake cuda flag-o-matic fortran-2 llvm-r2 python-any-r1 toolchain-funcs virtualx + +DESCRIPTION="C++ template library for linear algebra" +HOMEPAGE="https://eigen.tuxfamily.org/index.php?title=Main_Page" + +if [[ ${PV} = *9999* ]] ; then + inherit git-r3 + EGIT_REPO_URI="https://gitlab.com/lib${PN}/${PN}.git" + if [[ ${PV} = *.9999* ]] ; then + EGIT_BRANCH="$(ver_cut 1-2)" + fi +else + # we backport two patches from the 3.4 branch + SRC_URI=" + https://gitlab.com/lib${PN}/${PN}/-/archive/${PV}/${P}.tar.bz2 + https://gitlab.com/libeigen/eigen/-/commit/0295f81a835ef69e2bacd9e75ab5782eca398720.patch -> ${P}_p1.patch + https://gitlab.com/libeigen/eigen/-/commit/28ded8800c26864e537852658428ab44c8399e87.patch -> ${P}_p2.patch + " + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos" +fi + +SRC_URI+=" + test? ( + lapack? ( + https://downloads.tuxfamily.org/${PN}/lapack_addons_${LAPACK_ADDONS_PV}.tgz + -> ${PN}-lapack_addons-${LAPACK_ADDONS_PV}.tgz + ) + ) +" + +LICENSE="MPL-2.0" +SLOT="3/$(ver_cut 1-2)" + +# The following lines are shamelessly stolen from ffmpeg-9999.ebuild with modifications +ARM_CPU_FEATURES=( + neon:NEON +) +PPC_CPU_FEATURES=( + altivec:ALTIVEC + vsx:VSX +) +X86_CPU_FEATURES=( + avx:AVX + avx2:AVX2 + avx512f:AVX512 + avx512dq:AVX512DQ + f16c:FP16C + fma3:FMA + popcnt:POPCNT + sse:SSE + sse2:SSE2 + sse3:SSE3 + ssse3:SSSE3 + sse4_1:SSE4_1 + sse4_2:SSE4_2 +) +# MIPS_CPU_FEATURES=( +# msa:MSA +# ) +# S390_CPU_FEATURES=( +# z13:Z13 +# z14:Z14 +# ) + +CPU_FEATURES_MAP=( + "${ARM_CPU_FEATURES[@]/#/cpu_flags_arm_}" + "${PPC_CPU_FEATURES[@]/#/cpu_flags_ppc_}" + "${X86_CPU_FEATURES[@]/#/cpu_flags_x86_}" + # "${MIPS_CPU_FEATURES[@]/#/cpu_flags_mips_}" + # "${S390_CPU_FEATURES[@]/#/cpu_flags_s390_}" +) + +IUSE_TEST_BACKENDS=( + "adolc" + "boost" + "cholmod" + "fftw" + "klu" + "metis" + "opengl" + "pastix" + "pocketfft" + "sparsehash" + "spqr" + "superlu" + "umfpack" +) + +IUSE=" + debug + blas lapack + ${CPU_FEATURES_MAP[*]%:*} + cuda cuda-clang hip + doc mathjax + openmp + test ${IUSE_TEST_BACKENDS[*]} +" +# zvector + +REQUIRED_USE=" + lapack? ( + blas + ) + test? ( + || ( ${IUSE_TEST_BACKENDS[*]} ) + cuda-clang? ( + !openmp + ${LLVM_REQUIRED_USE} + ) + ) +" + +# Tests failing again because of compiler issues; bugs #932646, #943401 +RESTRICT="!test? ( test )" +FORTRAN_DEPEND="virtual/fortran" + +BDEPEND=" + doc? ( + app-text/doxygen[dot] + dev-texlive/texlive-bibtexextra + dev-texlive/texlive-fontsextra + dev-texlive/texlive-fontutils + dev-texlive/texlive-latex + dev-texlive/texlive-latexextra + mathjax? ( dev-libs/mathjax ) + ) + test? ( + virtual/pkgconfig + lapack? ( + ${PYTHON_DEPS} + ) + spqr? ( + cholmod? ( + blas? ( + lapack? ( + ${FORTRAN_DEPEND} + ) + ) + ) + ) + pastix? ( ${FORTRAN_DEPEND} ) + ) + blas? ( ${FORTRAN_DEPEND} ) + lapack? ( ${FORTRAN_DEPEND} ) +" + +TEST_BACKENDS=" + adolc? ( sci-libs/adolc[sparse] ) + boost? ( dev-libs/boost ) + cholmod? ( sci-libs/cholmod:=[cuda?] ) + fftw? ( sci-libs/fftw[openmp?] ) + klu? ( sci-libs/klu:= ) + metis? ( + sci-libs/metis[openmp?] + sci-libs/pastix[metis] + ) + opengl? ( + media-libs/freeglut + media-libs/glew + media-libs/libglvnd + ) + pastix? ( + sci-libs/pastix[-mpi] + || ( + sci-libs/pastix[scotch] + sci-libs/pastix[metis] + ) + ) + pocketfft? ( dev-libs/pocketfft ) + sparsehash? ( + amd64? ( dev-cpp/sparsehash ) + arm64? ( dev-cpp/sparsehash ) + ppc64? ( dev-cpp/sparsehash ) + x86? ( dev-cpp/sparsehash ) + ) + spqr? ( sci-libs/spqr:= ) + superlu? ( sci-libs/superlu:= ) + umfpack? ( sci-libs/umfpack:= ) +" + +DEPEND=" + test? ( + cuda? ( + !cuda-clang? ( + dev-util/nvidia-cuda-toolkit + ) + cuda-clang? ( + $(llvm_gen_dep ' + llvm-core/clang:${LLVM_SLOT} + llvm-runtimes/clang-runtime:${LLVM_SLOT}[llvm_targets_NVPTX,offload,openmp] + ') + ) + ) + hip? ( dev-util/hip ) + !blas? ( + virtual/blas + !lapack? ( + virtual/lapacke + ) + ) + ${TEST_BACKENDS} + ) +" + +PATCHES=( + "${FILESDIR}/${PN}-3.3.9-max-macro.patch" + "${FILESDIR}/${PN}-3.4.0-doc-nocompress.patch" # bug 830064 + "${FILESDIR}/${PN}-3.4.0-buildstring.patch" + "${FILESDIR}/${PN}-3.4.1-cxxstandard-17.patch" + + "${FILESDIR}/${PN}-3.4.0-c++-20.patch" + + "${FILESDIR}/${PN}-3.4.1-bug1213-link-with-Eigen3-Eigen.patch" + + "${FILESDIR}/${PN}-5.0.1-cmake-GNUInstallDirs.patch" + "${FILESDIR}/${PN}-5.0.1-Do-not-show-deprecated-CUDA-device-properties-for-CU.patch" + + "${DISTDIR}/${P}_p1.patch" + "${DISTDIR}/${P}_p2.patch" +) + +# TODO should be in cuda.eclass +cuda_get_host_compiler() { + if [[ -n "${NVCC_CCBIN}" ]]; then + echo "${NVCC_CCBIN}" + return + fi + + if [[ -n "${CUDAHOSTCXX}" ]]; then + echo "${CUDAHOSTCXX}" + return + fi + + einfo "Trying to find working CUDA host compiler" + + if ! tc-is-gcc && ! tc-is-clang; then + die "$(tc-get-compiler-type) compiler is not supported" + fi + + local compiler compiler_type compiler_version + local package package_version + local -x NVCC_CCBIN + local NVCC_CCBIN_default + + compiler_type="$(tc-get-compiler-type)" + compiler_version="$("${compiler_type}-major-version")" + + # try the default compiler first + NVCC_CCBIN="$(tc-getCXX)" + NVCC_CCBIN_default="${NVCC_CCBIN}-${compiler_version}" + + compiler="${NVCC_CCBIN/%-${compiler_version}}" + + # store the package so we can re-use it later + package="sys-devel/${compiler_type}" + package_version="${package}" + + ebegin "testing ${NVCC_CCBIN_default} (default)" + + while ! nvcc -v -ccbin "${NVCC_CCBIN}" - -x cu <<<"int main(){}" &>> "${T}/cuda_get_host_compiler.log" ; do + eend 1 + + while true; do + # prepare next version + if ! package_version="<$(best_version "${package_version}")"; then + die "could not find a supported version of ${compiler}" + fi + + NVCC_CCBIN="${compiler}-$(ver_cut 1 "${package_version/#<${package}-/}")" + + [[ "${NVCC_CCBIN}" != "${NVCC_CCBIN_default}" ]] && break + done + ebegin "testing ${NVCC_CCBIN}" + done + eend $? + + echo "${NVCC_CCBIN}" + export NVCC_CCBIN +} + +pkg_pretend() { + if [[ ${MERGE_TYPE} != binary ]] && use openmp; then + tc-check-openmp + fi +} + +pkg_setup() { + if [[ ${MERGE_TYPE} != binary ]] && use openmp; then + tc-check-openmp + fi + + if use lapack; then + python-any-r1_pkg_setup + fi + + if { use test && { use spqr && use cholmod && use blas && use lapack; } || use pastix; } \ + || use blas \ + || use lapack \ + ; then + fortran-2_pkg_setup + fi + + if use test && use cuda && use cuda-clang; then + llvm-r2_pkg_setup + fi +} + +src_unpack() { + if [[ ${PV} = *9999* ]] ; then + git-r3_src_unpack + else + unpack "${P}.tar.bz2" + fi + + if use test && use lapack; then + pushd "${S}/lapack" > /dev/null || die + unpack "${PN}-lapack_addons-${LAPACK_ADDONS_PV}.tgz" + popd > /dev/null || die + fi +} + +src_prepare() { + # run patches here as we patch in test/ + cmake_src_prepare + + if use test && use lapack; then + pushd "${S}" > /dev/null || die + eapply "${FILESDIR}/${PN}-5.0.1-fix-lapack_testing.py.patch" + popd > /dev/null || die + fi +} + +src_configure() { + if use lapack; then + # bug 878987 + # multiple definition of `cgesdd_' + filter-lto + fi + + local mycmakeargs=( + -DCMAKE_CXX_STANDARD="20" + -DCMAKE_POSITION_INDEPENDENT_CODE="yes" + + -DEIGEN_BUILD_TESTING="$(usex test)" # Enable creation of Eigen tests. + + -DEIGEN_BUILD_BLAS="$(usex blas)" # Toggles the building of the Eigen Blas library + -DEIGEN_BUILD_LAPACK="$(usex blas "$(usex lapack)")" # Toggles the building of the included Eigen LAPACK library + + -DEIGEN_BUILD_DOC="$(usex doc)" # Enable creation of Eigen documentation + -DEIGEN_BUILD_PKGCONFIG="yes" # Build pkg-config .pc file for Eigen + ) + + append-cxxflags "-DEIGEN_USE_OPENBLAS_BFLOAT16=0" + + if use blas; then + mycmakeargs+=( + -DBUILD_SHARED_LIBS="yes" + -DEIGEN_BUILD_SHARED_LIBS="yes" + ) + + if use lapack; then + mycmakeargs+=( + -DCMAKE_POLICY_DEFAULT_CMP0148="OLD" # FindPythonInterp + -DEIGEN_ENABLE_LAPACK_TESTS="$(usex test)" + ) + fi + fi + + if use doc || use test; then + mycmakeargs+=( + # needs Qt4 + -DEIGEN_TEST_NOQT="yes" # Disable Qt support in unit tests + ) + fi + + if use doc; then + mycmakeargs+=( + -DEIGEN_DOC_USE_MATHJAX="$(usex mathjax)" # Use MathJax for rendering math in HTML docs + -DEIGEN_INTERNAL_DOCUMENTATION=no # Build internal documentation + ) + fi + + if use test; then + mycmakeargs+=( + -DEIGEN_LEAVE_TEST_IN_ALL_TARGET=yes # Leaves tests in the all target, needed by ctest for automatic building + + # the OpenGL testsuite is extremely brittle, bug #712808 + -DEIGEN_TEST_OPENGL="$(usex opengl)" # Enable OpenGL support in unit tests + -DEIGEN_TEST_OPENMP="$(usex openmp)" # Enable/Disable OpenMP in tests/examples + + -DEIGEN_TEST_EXTERNAL_BLAS="$(usex !blas)" # Use external BLAS library for testsuite + + -DEIGEN_TEST_BUILD_DOCUMENTATION="no" # $(usex doc)" # Test building the doxygen documentation + + -DEIGEN_DEBUG_ASSERTS="$(usex debug)" # Enable advanced debugging of assertions + -DEIGEN_SPLIT_LARGE_TESTS="yes" # Split large tests into smaller executables + + -DEIGEN_TEST_CUDA="$(usex cuda)" # Enable CUDA support in unit tests + -DEIGEN_TEST_CUDA_CLANG="$(usex cuda "$(usex cuda-clang)")" # Use clang instead of nvcc to compile the CUDA tests + + -DEIGEN_TEST_HIP="$(usex hip)" # Add HIP support. + + # -DEIGEN_TEST_SYCL="$(usex sycl)" # Add Sycl support. + # -DEIGEN_SYCL_TRISYCL="no" # Use the triSYCL Sycl implementation (ComputeCPP by default). + + $(cmake_use_find_package adolc Adolc) + $(cmake_use_find_package boost Boost) + $(cmake_use_find_package cholmod CHOLMOD) + $(cmake_use_find_package fftw FFTW ) + $(cmake_use_find_package klu KLU) + -DCMAKE_DISABLE_FIND_PACKAGE_MPREAL=yes + # $(cmake_use_find_package opengl OpenGL) # EIGEN_TEST_OPENGL + # $(cmake_use_find_package openmp OpenMP) # EIGEN_TEST_OPENMP + $(cmake_use_find_package pastix PASTIX) + # prevent pastix_nompi.h lookup it no longer exists, we enforce this via deps + -DPASTIX_pastix_nompi.h_INCLUDE_DIRS="FOUND" + + -DPOCKETFFT="$(usex pocketfft)" + $(cmake_use_find_package sparsehash GoogleHash) + $(cmake_use_find_package spqr SPQR) + $(cmake_use_find_package superlu SuperLU) + $(cmake_use_find_package umfpack UMFPACK) + ) + + if use arm; then + mycmakeargs+=( + -DEIGEN_TEST_NEON="$(usex cpu_flags_arm_neon)" + ) + fi + + if use arm64; then + mycmakeargs+=( + -DEIGEN_TEST_NEON64="$(usex cpu_flags_arm_neon)" + ) + fi + + if use amd64 || use x86; then + mycmakeargs+=( + # -DEIGEN_TEST_32BIT=no # Force generating 32bit code. + # -DEIGEN_TEST_X87=no # Force using X87 instructions. Implies no vectorization. + -DEIGEN_TEST_SSE2="$(usex cpu_flags_x86_sse2)" + -DEIGEN_TEST_SSE3="$(usex cpu_flags_x86_sse3)" + -DEIGEN_TEST_SSSE3="$(usex cpu_flags_x86_ssse3)" + -DEIGEN_TEST_FMA="$(usex cpu_flags_x86_fma3)" + -DEIGEN_TEST_SSE4_1="$(usex cpu_flags_x86_sse4_1)" + -DEIGEN_TEST_SSE4_2="$(usex cpu_flags_x86_sse4_2)" + -DEIGEN_TEST_AVX="$(usex cpu_flags_x86_avx)" + -DEIGEN_TEST_F16C="$(usex cpu_flags_x86_f16c)" + -DEIGEN_TEST_AVX2="$(usex cpu_flags_x86_avx2)" + -DEIGEN_TEST_AVX512="$(usex cpu_flags_x86_avx512f)" + -DEIGEN_TEST_AVX512DQ="$(usex cpu_flags_x86_avx512dq)" + ) + fi + + if use mips; then + mycmakeargs+=( + # -DEIGEN_TEST_MSA=no # Enable/Disable MSA in tests/examples + ) + fi + + if use ppc || use ppc64; then + mycmakeargs+=( + -DEIGEN_TEST_ALTIVEC="$(usex cpu_flags_ppc_altivec)" + -DEIGEN_TEST_VSX="$(usex cpu_flags_ppc_vsx)" + ) + fi + + if use s390; then + mycmakeargs+=( + # -DEIGEN_TEST_Z13=no # Enable/Disable S390X(zEC13) ZVECTOR in tests/examples + # -DEIGEN_TEST_Z14=no # Enable/Disable S390X(zEC14) ZVECTOR in tests/examples + ) + fi + + if use cuda; then + cuda_add_sandbox -w + + if use cuda-clang; then + local llvm_prefix + llvm_prefix="$(get_llvm_prefix -b)" + + # NVCCFLAGS gets injected into CMAKE_CXX_FLAGS, which means we need to use clang as gcc will fail with + # error: unrecognized command-line option + if ! tc-is-clang; then + export CC="${CHOST}-clang-${LLVM_SLOT}" + export CXX="${CHOST}-clang++-${LLVM_SLOT}" + fi + + NVCCFLAGS="${NVCCFLAGS:+${NVCCFLAGS} }--libomptarget-nvptx-bc-path=${llvm_prefix}/$(get_libdir)/nvptx64-nvidia-cuda/libomptarget-nvptx.bc" + + mycmakeargs+=( + -DCUDA_HOST_COMPILER="${CHOST}-clang++-${LLVM_SLOT}" + ) + else + cuda_get_host_compiler + + mycmakeargs+=( + -DCUDA_HOST_COMPILER="${CUDAHOSTCXX}" + ) + if [[ -v CUDACXX ]]; then + mycmakeargs+=( + -DCUDA_NVCC_EXECUTABLE="${CUDACXX}" + -DCMAKE_POLICY_DEFAULT_CMP0146="OLD" # FindCUDA + ) + fi + fi + + if [[ "${CUDA_VERBOSE}" == true ]]; then + mycmakeargs+=( + -DCUDA_VERBOSE_BUILD="yes" + ) + NVCCFLAGS+=" -v" + fi + + if [[ -v CUDAARCHS ]]; then + mycmakeargs+=( + # TODO this needs to be lowest first for eigen + -DEIGEN_CUDA_COMPUTE_ARCH="${CUDAARCHS}" + ) + fi + + # CUDAFLAGS is used by cmake + # NVCCFLAGS is used by cuda.eclass + mycmakeargs+=( + -DEIGEN_CUDA_CXX_FLAGS="${NVCCFLAGS}" + + -DCUDA_USE_STATIC_CUDA_RUNTIME="no" + ) + fi + + if use opengl; then + mycmakeargs+=( + -DOpenGL_GL_PREFERENCE="GLVND" + ) + fi + + if use pocketfft; then + mycmakeargs+=( + -DEIGEN_TEST_CXX11=yes + ) + fi + fi + + cmake_src_configure +} + +src_compile() { + local targets=() + + if use blas; then + targets+=( blas ) + if use lapack; then + targets+=( lapack ) + fi + fi + + if use test; then + targets+=( buildtests ) + + if use cuda || use hip; then + targets+=( buildtests_gpu ) + fi + + # tests generate random data, which fails for some seeds + # we solve this via test reruns now + # export EIGEN_SEED=712808 + fi + + # we add doc last to capture results for buildtests + if use doc; then + targets+=( doc ) + fi + + if [[ -n "${targets[*]}" ]]; then + cmake_src_compile "${targets[@]}" + fi +} + +src_test() { + local CMAKE_SKIP_TESTS=( + "^ref_8$" + ) + + if use cholmod && use blas && use lapack; then + CMAKE_SKIP_TESTS+=( + "^cholmod_support_21$" + "^cholmod_support_22$" + ) + fi + + if use cuda; then + cuda_add_sandbox -w + fi + + if use klu && use blas; then + CMAKE_SKIP_TESTS+=( + "^klu_support_1$" + "^klu_support_2$" + ) + fi + + if use lapack; then + CMAKE_SKIP_TESTS+=( + "^LAPACK-xlintsts_stest_in$" + "^LAPACK-xeigtsts_sep_in$" + "^LAPACK-xeigtsts_svd_in$" + "^LAPACK-xlintstd_dtest_in$" + "^LAPACK-xeigtstd_sep_in$" + "^LAPACK-xeigtstd_svd_in$" + "^LAPACK-xlintstc_ctest_in$" + "^LAPACK-xeigtstc_svd_in$" + ) + fi + + local myctestargs=( + -j1 # otherwise breaks due to cmake reruns + --repeat until-pass:50 + ) + + if use opengl; then + virtx \ + cmake_src_test + else + cmake_src_test + fi +} + +src_install() { + local DOCS=() + cmake_src_install + + if use doc; then + pushd "${BUILD_DIR}/doc" > /dev/null || die + dodoc -r html + popd > /dev/null || die + fi +} diff --git a/dev-cpp/eigen/eigen-3.4.9999.ebuild b/dev-cpp/eigen/eigen-3.4.9999.ebuild index 6681a51df077..50da667fea31 100644 --- a/dev-cpp/eigen/eigen-3.4.9999.ebuild +++ b/dev-cpp/eigen/eigen-3.4.9999.ebuild @@ -3,9 +3,16 @@ EAPI=8 -LLVM_COMPAT=( {19..21} ) -FORTRAN_NEEDED="test" -inherit cmake cuda fortran-2 llvm-r2 toolchain-funcs +LLVM_COMPAT=( {21..23} ) +LLVM_OPTIONAL="cuda-clang" + +PYTHON_COMPAT=( python3_{12..14} ) + +FORTRAN_NEEDED="no" + +LAPACK_ADDONS_PV="3.4.1" + +inherit cmake cuda flag-o-matic fortran-2 llvm-r2 python-any-r1 toolchain-funcs virtualx DESCRIPTION="C++ template library for linear algebra" HOMEPAGE="https://eigen.tuxfamily.org/index.php?title=Main_Page" @@ -13,19 +20,27 @@ HOMEPAGE="https://eigen.tuxfamily.org/index.php?title=Main_Page" if [[ ${PV} = *9999* ]] ; then inherit git-r3 EGIT_REPO_URI="https://gitlab.com/lib${PN}/${PN}.git" - if [[ ${PV} = 3.4.9999* ]] ; then - EGIT_BRANCH="3.4" + if [[ ${PV} = *.9999* ]] ; then + EGIT_BRANCH="$(ver_cut 1-2)" fi else SRC_URI=" https://gitlab.com/lib${PN}/${PN}/-/archive/${PV}/${P}.tar.bz2 - test? ( lapack? ( https://downloads.tuxfamily.org/${PN}/lapack_addons_3.4.1.tgz -> ${PN}-lapack_addons-3.4.1.tgz ) ) " KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos" fi +SRC_URI+=" + test? ( + lapack? ( + https://downloads.tuxfamily.org/${PN}/lapack_addons_${LAPACK_ADDONS_PV}.tgz + -> ${PN}-lapack_addons-${LAPACK_ADDONS_PV}.tgz + ) + ) +" + LICENSE="MPL-2.0" -SLOT="3" +SLOT="3/$(ver_cut 1-2)" # The following lines are shamelessly stolen from ffmpeg-9999.ebuild with modifications ARM_CPU_FEATURES=( @@ -72,23 +87,43 @@ IUSE_TEST_BACKENDS=( "cholmod" "fftw" "klu" + "metis" "opengl" - "openmp" "pastix" + "pocketfft" "sparsehash" "spqr" "superlu" "umfpack" ) -IUSE="${CPU_FEATURES_MAP[*]%:*} clang-cuda cuda hip debug doc lapack mathjax test ${IUSE_TEST_BACKENDS[*]}" #zvector +IUSE=" + debug + blas lapack + ${CPU_FEATURES_MAP[*]%:*} + cuda cuda-clang hip + doc mathjax + openmp + test ${IUSE_TEST_BACKENDS[*]} +" +# zvector REQUIRED_USE=" - || ( ${IUSE_TEST_BACKENDS[*]} ) + lapack? ( + blas + ) + test? ( + || ( ${IUSE_TEST_BACKENDS[*]} ) + cuda-clang? ( + !openmp + ${LLVM_REQUIRED_USE} + ) + ) " # Tests failing again because of compiler issues; bugs #932646, #943401 RESTRICT="!test? ( test )" +FORTRAN_DEPEND="virtual/fortran" BDEPEND=" doc? ( @@ -100,50 +135,80 @@ BDEPEND=" dev-texlive/texlive-latexextra mathjax? ( dev-libs/mathjax ) ) - test? ( virtual/pkgconfig ) + test? ( + virtual/pkgconfig + lapack? ( + ${PYTHON_DEPS} + ) + spqr? ( + cholmod? ( + blas? ( + lapack? ( + ${FORTRAN_DEPEND} + ) + ) + ) + ) + pastix? ( ${FORTRAN_DEPEND} ) + ) + blas? ( ${FORTRAN_DEPEND} ) + lapack? ( ${FORTRAN_DEPEND} ) " -# METIS -# MPREAL -# dev-libs/mpfr:0 -# dev-libs/gmp:0 - TEST_BACKENDS=" - boost? ( dev-libs/boost ) adolc? ( sci-libs/adolc[sparse] ) - cholmod? ( sci-libs/cholmod:= ) - fftw? ( sci-libs/fftw ) - spqr? ( sci-libs/spqr ) - klu? ( sci-libs/klu ) + boost? ( dev-libs/boost ) + cholmod? ( sci-libs/cholmod:=[cuda?] ) + fftw? ( sci-libs/fftw[openmp?] ) + klu? ( sci-libs/klu:= ) + metis? ( + sci-libs/metis[openmp?] + sci-libs/pastix[metis] + ) opengl? ( media-libs/freeglut media-libs/glew media-libs/libglvnd ) - pastix? ( sci-libs/pastix[-mpi] ) + pastix? ( + sci-libs/pastix[-mpi] + || ( + sci-libs/pastix[scotch] + sci-libs/pastix[metis] + ) + ) + pocketfft? ( dev-libs/pocketfft ) sparsehash? ( amd64? ( dev-cpp/sparsehash ) arm64? ( dev-cpp/sparsehash ) ppc64? ( dev-cpp/sparsehash ) x86? ( dev-cpp/sparsehash ) ) - superlu? ( sci-libs/superlu ) - umfpack? ( sci-libs/umfpack ) + spqr? ( sci-libs/spqr:= ) + superlu? ( sci-libs/superlu:= ) + umfpack? ( sci-libs/umfpack:= ) " + DEPEND=" test? ( cuda? ( - !clang-cuda? ( + !cuda-clang? ( dev-util/nvidia-cuda-toolkit ) - clang-cuda? ( + cuda-clang? ( $(llvm_gen_dep ' - llvm-core/clang:${LLVM_SLOT}[llvm_targets_NVPTX] + llvm-core/clang:${LLVM_SLOT} + llvm-runtimes/clang-runtime:${LLVM_SLOT}[llvm_targets_NVPTX,offload,openmp] ') ) ) hip? ( dev-util/hip ) - lapack? ( virtual/lapacke ) + !blas? ( + virtual/blas + !lapack? ( + virtual/lapacke + ) + ) ${TEST_BACKENDS} ) " @@ -152,45 +217,100 @@ PATCHES=( "${FILESDIR}/${PN}-3.3.9-max-macro.patch" "${FILESDIR}/${PN}-3.4.0-doc-nocompress.patch" # bug 830064 "${FILESDIR}/${PN}-3.4.0-buildstring.patch" - "${FILESDIR}/${PN}-3.4.0-noansi.patch" - "${FILESDIR}/${PN}-3.4.0-cxxstandard.patch" - "${FILESDIR}/${PN}-3.4.0-ppc-no-vsx.patch" # bug 936107 + "${FILESDIR}/${PN}-3.4.1-cxxstandard-17.patch" + + "${FILESDIR}/${PN}-3.4.0-c++-20.patch" + + "${FILESDIR}/${PN}-3.4.1-bug1213-link-with-Eigen3-Eigen.patch" + + "${FILESDIR}/${PN}-5.0.1-cmake-GNUInstallDirs.patch" + "${FILESDIR}/${PN}-5.0.1-Do-not-show-deprecated-CUDA-device-properties-for-CU.patch" ) # TODO should be in cuda.eclass -cuda_set_CUDAHOSTCXX() { - local compiler - tc-is-gcc && compiler="gcc" - tc-is-clang && compiler="clang" - [[ -z "$compiler" ]] && die "no compiler specified" +cuda_get_host_compiler() { + if [[ -n "${NVCC_CCBIN}" ]]; then + echo "${NVCC_CCBIN}" + return + fi + + if [[ -n "${CUDAHOSTCXX}" ]]; then + echo "${CUDAHOSTCXX}" + return + fi + + einfo "Trying to find working CUDA host compiler" + + if ! tc-is-gcc && ! tc-is-clang; then + die "$(tc-get-compiler-type) compiler is not supported" + fi - local package="sys-devel/${compiler}" - local version="${package}" - local CUDAHOSTCXX_test - while - CUDAHOSTCXX="${CUDAHOSTCXX_test}" - version=$(best_version "${version}") - if [[ -z "${version}" ]]; then - if [[ -z "${CUDAHOSTCXX}" ]]; then - die "could not find supported version of ${package}" + local compiler compiler_type compiler_version + local package package_version + local -x NVCC_CCBIN + local NVCC_CCBIN_default + + compiler_type="$(tc-get-compiler-type)" + compiler_version="$("${compiler_type}-major-version")" + + # try the default compiler first + NVCC_CCBIN="$(tc-getCXX)" + NVCC_CCBIN_default="${NVCC_CCBIN}-${compiler_version}" + + compiler="${NVCC_CCBIN/%-${compiler_version}}" + + # store the package so we can re-use it later + package="sys-devel/${compiler_type}" + package_version="${package}" + + ebegin "testing ${NVCC_CCBIN_default} (default)" + + while ! nvcc -v -ccbin "${NVCC_CCBIN}" - -x cu <<<"int main(){}" &>> "${T}/cuda_get_host_compiler.log" ; do + eend 1 + + while true; do + # prepare next version + if ! package_version="<$(best_version "${package_version}")"; then + die "could not find a supported version of ${compiler}" fi - break - fi - CUDAHOSTCXX_test="$( - dirname "$( - realpath "$( - which "${compiler}-$(echo "${version}" | grep -oP "(?<=${package}-)[0-9]*")" - )" - )" - )" - version="<${version}" - do ! echo "int main(){}" | nvcc "-ccbin ${CUDAHOSTCXX_test}" - -x cu &>/dev/null; done - export CUDAHOSTCXX + NVCC_CCBIN="${compiler}-$(ver_cut 1 "${package_version/#<${package}-/}")" + + [[ "${NVCC_CCBIN}" != "${NVCC_CCBIN_default}" ]] && break + done + ebegin "testing ${NVCC_CCBIN}" + done + eend $? + + echo "${NVCC_CCBIN}" + export NVCC_CCBIN +} + +pkg_pretend() { + if [[ ${MERGE_TYPE} != binary ]] && use openmp; then + tc-check-openmp + fi } pkg_setup() { - use test && use cuda && use clang-cuda && llvm-r2_pkg_setup + if [[ ${MERGE_TYPE} != binary ]] && use openmp; then + tc-check-openmp + fi + + if use lapack; then + python-any-r1_pkg_setup + fi + + if { use test && { use spqr && use cholmod && use blas && use lapack; } || use pastix; } \ + || use blas \ + || use lapack \ + ; then + fortran-2_pkg_setup + fi + + if use test && use cuda && use cuda-clang; then + llvm-r2_pkg_setup + fi } src_unpack() { @@ -198,41 +318,62 @@ src_unpack() { git-r3_src_unpack else unpack "${P}.tar.bz2" + fi - if use test && use lapack; then - cd "${S}/lapack" || die - unpack "${PN}-lapack_addons-3.4.1.tgz" - fi + if use test && use lapack; then + pushd "${S}/lapack" > /dev/null || die + unpack "${PN}-lapack_addons-${LAPACK_ADDONS_PV}.tgz" + popd > /dev/null || die fi } src_prepare() { + # run patches here as we patch in test/ cmake_src_prepare - sed \ - -e "/add_subdirectory(bench\/spbench/s/^/#DONOTCOMPILE /g" \ - -e "/add_subdirectory(demos/s/^/#DONOTCOMPILE /g" \ - -i CMakeLists.txt || die - - if ! use test; then - sed \ - -e "/add_subdirectory(test/s/^/#DONOTCOMPILE /g" \ - -e "/add_subdirectory(scripts/s/^/#DONOTCOMPILE /g" \ - -e "/add_subdirectory(failtest/s/^/#DONOTCOMPILE /g" \ - -e "/add_subdirectory(blas/s/^/#DONOTCOMPILE /g" \ - -e "/add_subdirectory(lapack/s/^/#DONOTCOMPILE /g" \ - -i CMakeLists.txt || die + if use test && use lapack; then + pushd "${S}" > /dev/null || die + eapply "${FILESDIR}/${PN}-5.0.1-fix-lapack_testing.py.patch" + popd > /dev/null || die fi } src_configure() { + if use lapack; then + # bug 878987 + # multiple definition of `cgesdd_' + filter-lto + fi + local mycmakeargs=( - -DBUILD_SHARED_LIBS="yes" - -DBUILD_TESTING="$(usex test)" + -DCMAKE_CXX_STANDARD="20" + -DCMAKE_POSITION_INDEPENDENT_CODE="yes" + + -DEIGEN_BUILD_TESTING="$(usex test)" # Enable creation of Eigen tests. + + -DEIGEN_BUILD_BLAS="$(usex blas)" # Toggles the building of the Eigen Blas library + -DEIGEN_BUILD_LAPACK="$(usex blas "$(usex lapack)")" # Toggles the building of the included Eigen LAPACK library -DEIGEN_BUILD_DOC="$(usex doc)" # Enable creation of Eigen documentation -DEIGEN_BUILD_PKGCONFIG="yes" # Build pkg-config .pc file for Eigen ) + + append-cxxflags "-DEIGEN_USE_OPENBLAS_BFLOAT16=0" + + if use blas; then + mycmakeargs+=( + -DBUILD_SHARED_LIBS="yes" + -DEIGEN_BUILD_SHARED_LIBS="yes" + ) + + if use lapack; then + mycmakeargs+=( + -DCMAKE_POLICY_DEFAULT_CMP0148="OLD" # FindPythonInterp + -DEIGEN_ENABLE_LAPACK_TESTS="$(usex test)" + ) + fi + fi + if use doc || use test; then mycmakeargs+=( # needs Qt4 @@ -249,61 +390,46 @@ src_configure() { if use test; then mycmakeargs+=( + -DEIGEN_LEAVE_TEST_IN_ALL_TARGET=yes # Leaves tests in the all target, needed by ctest for automatic building + # the OpenGL testsuite is extremely brittle, bug #712808 - -DOpenGL_GL_PREFERENCE="GLVND" -DEIGEN_TEST_OPENGL="$(usex opengl)" # Enable OpenGL support in unit tests -DEIGEN_TEST_OPENMP="$(usex openmp)" # Enable/Disable OpenMP in tests/examples - -DCMAKE_DISABLE_FIND_PACKAGE_MPREAL=ON - - -DEIGEN_TEST_CXX11=yes + -DEIGEN_TEST_EXTERNAL_BLAS="$(usex !blas)" # Use external BLAS library for testsuite - # -DEIGEN_TEST_CUSTOM_CXX_FLAGS= # Additional compiler flags when compiling unit tests. - # -DEIGEN_TEST_CUSTOM_LINKER_FLAGS= # Additional linker flags when linking unit tests. - # -DEIGEN_TEST_BUILD_FLAGS= # Options passed to the build command of unit tests + -DEIGEN_TEST_BUILD_DOCUMENTATION="no" # $(usex doc)" # Test building the doxygen documentation - # -DEIGEN_BUILD_BTL=yes # Build benchmark suite + -DEIGEN_DEBUG_ASSERTS="$(usex debug)" # Enable advanced debugging of assertions + -DEIGEN_SPLIT_LARGE_TESTS="yes" # Split large tests into smaller executables - -DEIGEN_TEST_BUILD_DOCUMENTATION="$(usex doc)" # Test building the doxygen documentation + -DEIGEN_TEST_CUDA="$(usex cuda)" # Enable CUDA support in unit tests + -DEIGEN_TEST_CUDA_CLANG="$(usex cuda "$(usex cuda-clang)")" # Use clang instead of nvcc to compile the CUDA tests - # -DEIGEN_COVERAGE_TESTING=no # Enable/disable gcov - # -DEIGEN_CTEST_ERROR_EXCEPTION= # Regular expression for build error messages to be filtered out - # -DEIGEN_DEBUG_ASSERTS=no # Enable advanced debugging of assertions - # -DEIGEN_NO_ASSERTION_CHECKING=no # Disable checking of assertions using exceptions - # -DEIGEN_TEST_NO_EXCEPTIONS=no # Disables C++ exceptions - # -DEIGEN_TEST_NO_EXPLICIT_ALIGNMENT=no # Disable explicit alignment (hence vectorization) in tests/examples - # -DEIGEN_TEST_NO_EXPLICIT_VECTORIZATION=no # Disable explicit vectorization in tests/examples + -DEIGEN_TEST_HIP="$(usex hip)" # Add HIP support. - # -DEIGEN_DASHBOARD_BUILD_TARGET=buildtests # Target to be built in dashboard mode, default is buildtests + # -DEIGEN_TEST_SYCL="$(usex sycl)" # Add Sycl support. + # -DEIGEN_SYCL_TRISYCL="no" # Use the triSYCL Sycl implementation (ComputeCPP by default). - # -DEIGEN_DEFAULT_TO_ROW_MAJOR=no # Use row-major as default matrix storage order + $(cmake_use_find_package adolc Adolc) + $(cmake_use_find_package boost Boost) + $(cmake_use_find_package cholmod CHOLMOD) + $(cmake_use_find_package fftw FFTW ) + $(cmake_use_find_package klu KLU) + -DCMAKE_DISABLE_FIND_PACKAGE_MPREAL=yes + # $(cmake_use_find_package opengl OpenGL) # EIGEN_TEST_OPENGL + # $(cmake_use_find_package openmp OpenMP) # EIGEN_TEST_OPENMP + $(cmake_use_find_package pastix PASTIX) + # prevent pastix_nompi.h lookup it no longer exists, we enforce this via deps + -DPASTIX_pastix_nompi.h_INCLUDE_DIRS="FOUND" - # -DEIGEN_TEST_MATRIX_DIR=yes # Enable testing of realword sparse matrices contained in the specified path - # -DEIGEN_TEST_MAX_SIZE=320 # Maximal matrix/vector size, default is 320 - # -DEIGEN_SPLIT_LARGE_TESTS=no # Split large tests into smaller executables + -DPOCKETFFT="$(usex pocketfft)" + $(cmake_use_find_package sparsehash GoogleHash) + $(cmake_use_find_package spqr SPQR) + $(cmake_use_find_package superlu SuperLU) + $(cmake_use_find_package umfpack UMFPACK) ) - use !adolc && mycmakeargs+=( -DCMAKE_DISABLE_FIND_PACKAGE_Adolc="TRUE" ) - use !boost && mycmakeargs+=( -DCMAKE_DISABLE_FIND_PACKAGE_Boost="TRUE" ) - use !cholmod && mycmakeargs+=( -DCMAKE_DISABLE_FIND_PACKAGE_CHOLMOD="TRUE" ) - use !fftw && mycmakeargs+=( -DCMAKE_DISABLE_FIND_PACKAGE_FFTW="TRUE" ) - use !sparsehash && mycmakeargs+=( -DCMAKE_DISABLE_FIND_PACKAGE_GoogleHash="TRUE" ) - use !klu && mycmakeargs+=( -DCMAKE_DISABLE_FIND_PACKAGE_KLU="TRUE" ) - use !opengl && mycmakeargs+=( -DCMAKE_DISABLE_FIND_PACKAGE_OpenGL="TRUE" ) - use !openmp && mycmakeargs+=( -DCMAKE_DISABLE_FIND_PACKAGE_OpenMP="TRUE" ) - use !pastix && mycmakeargs+=( -DCMAKE_DISABLE_FIND_PACKAGE_PASTIX="TRUE" ) - use !spqr && mycmakeargs+=( -DCMAKE_DISABLE_FIND_PACKAGE_SPQR="TRUE" ) - use !superlu && mycmakeargs+=( -DCMAKE_DISABLE_FIND_PACKAGE_SuperLU="TRUE" ) - use !umfpack && mycmakeargs+=( -DCMAKE_DISABLE_FIND_PACKAGE_UMFPACK="TRUE" ) - - if use lapack; then - mycmakeargs+=( - -DEIGEN_ENABLE_LAPACK_TESTS=yes - -DEIGEN_TEST_EXTERNAL_BLAS=yes # Use external BLAS library for testsuite - -DCMAKE_DISABLE_FIND_PACKAGE_SuperLU=ON - ) - fi - if use arm; then mycmakeargs+=( -DEIGEN_TEST_NEON="$(usex cpu_flags_arm_neon)" @@ -316,13 +442,6 @@ src_configure() { ) fi - if use ppc || use ppc64; then - mycmakeargs+=( - -DEIGEN_TEST_ALTIVEC="$(usex cpu_flags_ppc_altivec)" - -DEIGEN_TEST_VSX="$(usex cpu_flags_ppc_vsx)" - ) - fi - if use amd64 || use x86; then mycmakeargs+=( # -DEIGEN_TEST_32BIT=no # Force generating 32bit code. @@ -347,6 +466,13 @@ src_configure() { ) fi + if use ppc || use ppc64; then + mycmakeargs+=( + -DEIGEN_TEST_ALTIVEC="$(usex cpu_flags_ppc_altivec)" + -DEIGEN_TEST_VSX="$(usex cpu_flags_ppc_vsx)" + ) + fi + if use s390; then mycmakeargs+=( # -DEIGEN_TEST_Z13=no # Enable/Disable S390X(zEC13) ZVECTOR in tests/examples @@ -354,48 +480,71 @@ src_configure() { ) fi - mycmakeargs+=( - -DEIGEN_TEST_CUDA="$(usex cuda)" # Enable CUDA support in unit tests - -DEIGEN_TEST_CUDA_CLANG="$(usex cuda "$(usex clang-cuda)")" # Use clang instead of nvcc to compile the CUDA tests - - -DEIGEN_TEST_HIP="$(usex hip)" # Add HIP support. - - # -DEIGEN_TEST_SYCL=no # Add Sycl support. - # -DEIGEN_SYCL_TRISYCL=no # Use the triSYCL Sycl implementation (ComputeCPP by default). - ) - if use cuda; then cuda_add_sandbox -w - if use clang-cuda; then + + if use cuda-clang; then local llvm_prefix llvm_prefix="$(get_llvm_prefix -b)" - export CC="${llvm_prefix}/bin/clang" - export CXX="${llvm_prefix}/bin/clang++" - export LIBRARY_PATH="${ESYSROOT}/usr/$(get_libdir)" + + # NVCCFLAGS gets injected into CMAKE_CXX_FLAGS, which means we need to use clang as gcc will fail with + # error: unrecognized command-line option + if ! tc-is-clang; then + export CC="${CHOST}-clang-${LLVM_SLOT}" + export CXX="${CHOST}-clang++-${LLVM_SLOT}" + fi + + NVCCFLAGS="${NVCCFLAGS:+${NVCCFLAGS} }--libomptarget-nvptx-bc-path=${llvm_prefix}/$(get_libdir)/nvptx64-nvidia-cuda/libomptarget-nvptx.bc" + mycmakeargs+=( - -DCUDA_HOST_COMPILER="${llvm_prefix}/bin/clang++" + -DCUDA_HOST_COMPILER="${CHOST}-clang++-${LLVM_SLOT}" ) else - cuda_set_CUDAHOSTCXX + cuda_get_host_compiler + mycmakeargs+=( -DCUDA_HOST_COMPILER="${CUDAHOSTCXX}" ) + if [[ -v CUDACXX ]]; then + mycmakeargs+=( + -DCUDA_NVCC_EXECUTABLE="${CUDACXX}" + -DCMAKE_POLICY_DEFAULT_CMP0146="OLD" # FindCUDA + ) + fi fi + if [[ "${CUDA_VERBOSE}" == true ]]; then mycmakeargs+=( - -DCUDA_VERBOSE_BUILD=yes + -DCUDA_VERBOSE_BUILD="yes" ) NVCCFLAGS+=" -v" fi - export CUDAFLAGS="${NVCCFLAGS}" + if [[ -v CUDAARCHS ]]; then + mycmakeargs+=( + # TODO this needs to be lowest first for eigen + -DEIGEN_CUDA_COMPUTE_ARCH="${CUDAARCHS}" + ) + fi + + # CUDAFLAGS is used by cmake + # NVCCFLAGS is used by cuda.eclass + mycmakeargs+=( + -DEIGEN_CUDA_CXX_FLAGS="${NVCCFLAGS}" + + -DCUDA_USE_STATIC_CUDA_RUNTIME="no" + ) + fi - [[ -z "${CUDAARCHS}" ]] && einfo "trying to determine host CUDAARCHS" - : "${CUDAARCHS:=$(__nvcc_device_query)}" - export CUDAARCHS + if use opengl; then + mycmakeargs+=( + -DOpenGL_GL_PREFERENCE="GLVND" + ) + fi + if use pocketfft; then mycmakeargs+=( - -DEIGEN_CUDA_COMPUTE_ARCH="${CUDAARCHS}" + -DEIGEN_TEST_CXX11=yes ) fi fi @@ -405,58 +554,92 @@ src_configure() { src_compile() { local targets=() - if use doc; then - targets+=( doc ) - HTML_DOCS=( "${BUILD_DIR}"/doc/html/. ) + + if use blas; then + targets+=( blas ) + if use lapack; then + targets+=( lapack ) + fi fi + if use test; then targets+=( buildtests ) - if ! use lapack; then - targets+=( blas ) + + if use cuda || use hip; then + targets+=( buildtests_gpu ) fi - # tests generate random data, which - # obviously fails for some seeds - export EIGEN_SEED=712808 + + # tests generate random data, which fails for some seeds + # we solve this via test reruns now + # export EIGEN_SEED=712808 fi - if use doc || use test; then + # we add doc last to capture results for buildtests + if use doc; then + targets+=( doc ) + fi + + if [[ -n "${targets[*]}" ]]; then cmake_src_compile "${targets[@]}" fi } src_test() { - CMAKE_SKIP_TESTS=( - product_small_32 # 143 (Subprocess aborted) - product_small_33 # 144 (Subprocess aborted) - - eigensolver_selfadjoint_13 # 452 (Subprocess aborted) - - cholmod_support_21 # 726 (Subprocess aborted) - cholmod_support_22 # 727 (Subprocess aborted) - - NonLinearOptimization # 930 (Subprocess aborted) - openglsupport # 990 (Failed) - levenberg_marquardt # 1020 (Subprocess aborted) + local CMAKE_SKIP_TESTS=( + "^ref_8$" ) - if use cuda ; then + if use cholmod && use blas && use lapack; then + CMAKE_SKIP_TESTS+=( + "^cholmod_support_21$" + "^cholmod_support_22$" + ) + fi + + if use cuda; then cuda_add_sandbox -w + fi + if use klu && use blas; then CMAKE_SKIP_TESTS+=( - cxx11_tensor_cast_float16_gpu - cxx11_tensor_gpu_5 + "^klu_support_1$" + "^klu_support_2$" ) fi - if use lapack ; then + if use lapack; then CMAKE_SKIP_TESTS+=( - "^LAPACK-.*$" + "^LAPACK-xlintsts_stest_in$" + "^LAPACK-xeigtsts_sep_in$" + "^LAPACK-xeigtsts_svd_in$" + "^LAPACK-xlintstd_dtest_in$" + "^LAPACK-xeigtstd_sep_in$" + "^LAPACK-xeigtstd_svd_in$" + "^LAPACK-xlintstc_ctest_in$" + "^LAPACK-xeigtstc_svd_in$" ) fi local myctestargs=( -j1 # otherwise breaks due to cmake reruns + --repeat until-pass:50 ) - cmake_src_test + if use opengl; then + virtx \ + cmake_src_test + else + cmake_src_test + fi +} + +src_install() { + local DOCS=() + cmake_src_install + + if use doc; then + pushd "${BUILD_DIR}/doc" > /dev/null || die + dodoc -r html + popd > /dev/null || die + fi } diff --git a/dev-cpp/eigen/eigen-5.0.1.ebuild b/dev-cpp/eigen/eigen-5.0.1.ebuild new file mode 100644 index 000000000000..665bed8a050c --- /dev/null +++ b/dev-cpp/eigen/eigen-5.0.1.ebuild @@ -0,0 +1,665 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +LLVM_COMPAT=( {21..23} ) +LLVM_OPTIONAL="cuda-clang" + +PYTHON_COMPAT=( python3_{12..14} ) + +FORTRAN_NEEDED="no" + +LAPACK_ADDONS_PV="3.4.1" + +inherit cmake cuda flag-o-matic fortran-2 llvm-r2 python-any-r1 toolchain-funcs virtualx + +DESCRIPTION="C++ template library for linear algebra" +HOMEPAGE="https://eigen.tuxfamily.org/index.php?title=Main_Page" + +if [[ ${PV} = *9999* ]] ; then + inherit git-r3 + EGIT_REPO_URI="https://gitlab.com/lib${PN}/${PN}.git" + if [[ ${PV} = *.9999* ]] ; then + EGIT_BRANCH="$(ver_cut 1-2)" + fi +else + SRC_URI=" + https://gitlab.com/lib${PN}/${PN}/-/archive/${PV}/${P}.tar.bz2 + " + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos" +fi + +SRC_URI+=" + test? ( + lapack? ( + https://downloads.tuxfamily.org/${PN}/lapack_addons_${LAPACK_ADDONS_PV}.tgz + -> ${PN}-lapack_addons-${LAPACK_ADDONS_PV}.tgz + ) + ) +" + +LICENSE="MPL-2.0" +SLOT="3/$(ver_cut 1-2)" + +# The following lines are shamelessly stolen from ffmpeg-9999.ebuild with modifications +ARM_CPU_FEATURES=( + neon:NEON +) +PPC_CPU_FEATURES=( + altivec:ALTIVEC + vsx:VSX +) +X86_CPU_FEATURES=( + avx:AVX + avx2:AVX2 + avx512f:AVX512 + avx512dq:AVX512DQ + f16c:FP16C + fma3:FMA + popcnt:POPCNT + sse:SSE + sse2:SSE2 + sse3:SSE3 + ssse3:SSSE3 + sse4_1:SSE4_1 + sse4_2:SSE4_2 +) +# MIPS_CPU_FEATURES=( +# msa:MSA +# ) +# S390_CPU_FEATURES=( +# z13:Z13 +# z14:Z14 +# ) + +CPU_FEATURES_MAP=( + "${ARM_CPU_FEATURES[@]/#/cpu_flags_arm_}" + "${PPC_CPU_FEATURES[@]/#/cpu_flags_ppc_}" + "${X86_CPU_FEATURES[@]/#/cpu_flags_x86_}" + # "${MIPS_CPU_FEATURES[@]/#/cpu_flags_mips_}" + # "${S390_CPU_FEATURES[@]/#/cpu_flags_s390_}" +) + +IUSE_TEST_BACKENDS=( + "adolc" + "boost" + "cholmod" + "fftw" + "klu" + "metis" + "opengl" + "pastix" + "pocketfft" + "sparsehash" + "spqr" + "superlu" + "umfpack" +) + +IUSE=" + debug + blas lapack + ${CPU_FEATURES_MAP[*]%:*} + cuda cuda-clang hip + doc mathjax + openmp + test ${IUSE_TEST_BACKENDS[*]} +" +# zvector + +REQUIRED_USE=" + lapack? ( + blas + ) + test? ( + || ( ${IUSE_TEST_BACKENDS[*]} ) + cuda-clang? ( + !openmp + ${LLVM_REQUIRED_USE} + ) + ) +" + +# Tests failing again because of compiler issues; bugs #932646, #943401 +RESTRICT="!test? ( test )" +FORTRAN_DEPEND="virtual/fortran" + +BDEPEND=" + doc? ( + app-text/doxygen[dot] + dev-texlive/texlive-bibtexextra + dev-texlive/texlive-fontsextra + dev-texlive/texlive-fontutils + dev-texlive/texlive-latex + dev-texlive/texlive-latexextra + mathjax? ( dev-libs/mathjax ) + ) + test? ( + virtual/pkgconfig + lapack? ( + ${PYTHON_DEPS} + ) + spqr? ( + cholmod? ( + blas? ( + lapack? ( + ${FORTRAN_DEPEND} + ) + ) + ) + ) + pastix? ( ${FORTRAN_DEPEND} ) + ) + blas? ( ${FORTRAN_DEPEND} ) + lapack? ( ${FORTRAN_DEPEND} ) +" + +TEST_BACKENDS=" + adolc? ( sci-libs/adolc[sparse] ) + boost? ( dev-libs/boost ) + cholmod? ( sci-libs/cholmod:=[cuda?] ) + fftw? ( sci-libs/fftw[openmp?] ) + klu? ( sci-libs/klu:= ) + metis? ( + sci-libs/metis[openmp?] + sci-libs/pastix[metis] + ) + opengl? ( + media-libs/freeglut + media-libs/glew + media-libs/libglvnd + ) + pastix? ( + sci-libs/pastix[-mpi] + || ( + sci-libs/pastix[scotch] + sci-libs/pastix[metis] + ) + ) + pocketfft? ( dev-libs/pocketfft ) + sparsehash? ( + amd64? ( dev-cpp/sparsehash ) + arm64? ( dev-cpp/sparsehash ) + ppc64? ( dev-cpp/sparsehash ) + x86? ( dev-cpp/sparsehash ) + ) + spqr? ( sci-libs/spqr:= ) + superlu? ( sci-libs/superlu:= ) + umfpack? ( sci-libs/umfpack:= ) +" + +DEPEND=" + test? ( + cuda? ( + !cuda-clang? ( + dev-util/nvidia-cuda-toolkit + ) + cuda-clang? ( + $(llvm_gen_dep ' + llvm-core/clang:${LLVM_SLOT} + llvm-runtimes/clang-runtime:${LLVM_SLOT}[llvm_targets_NVPTX,offload,openmp] + ') + ) + ) + hip? ( dev-util/hip ) + !blas? ( + virtual/blas + !lapack? ( + virtual/lapacke + ) + ) + ${TEST_BACKENDS} + ) +" + +PATCHES=( + "${FILESDIR}/${PN}-3.4.0-doc-nocompress.patch" # bug 830064 + "${FILESDIR}/${PN}-3.4.0-buildstring.patch" + "${FILESDIR}/${PN}-5.0.0-please_protect_your_min_with_parentheses.patch" + + # PRs + "${FILESDIR}/${PN}-5.0.0-doxygen-1.14.patch" + + "${FILESDIR}/${PN}-5.0.1-c++-20.patch" + "${FILESDIR}/${PN}-5.0.1-cmake-GNUInstallDirs.patch" + "${FILESDIR}/${PN}-5.0.1-make-static-libs-optional.patch" + + "${FILESDIR}/${PN}-5.0.1-Do-not-show-deprecated-CUDA-device-properties-for-CU.patch" +) + +# TODO should be in cuda.eclass +cuda_get_host_compiler() { + if [[ -n "${NVCC_CCBIN}" ]]; then + echo "${NVCC_CCBIN}" + return + fi + + if [[ -n "${CUDAHOSTCXX}" ]]; then + echo "${CUDAHOSTCXX}" + return + fi + + einfo "Trying to find working CUDA host compiler" + + if ! tc-is-gcc && ! tc-is-clang; then + die "$(tc-get-compiler-type) compiler is not supported" + fi + + local compiler compiler_type compiler_version + local package package_version + local -x NVCC_CCBIN + local NVCC_CCBIN_default + + compiler_type="$(tc-get-compiler-type)" + compiler_version="$("${compiler_type}-major-version")" + + # try the default compiler first + NVCC_CCBIN="$(tc-getCXX)" + NVCC_CCBIN_default="${NVCC_CCBIN}-${compiler_version}" + + compiler="${NVCC_CCBIN/%-${compiler_version}}" + + # store the package so we can re-use it later + package="sys-devel/${compiler_type}" + package_version="${package}" + + ebegin "testing ${NVCC_CCBIN_default} (default)" + + while ! nvcc -v -ccbin "${NVCC_CCBIN}" - -x cu <<<"int main(){}" &>> "${T}/cuda_get_host_compiler.log" ; do + eend 1 + + while true; do + # prepare next version + if ! package_version="<$(best_version "${package_version}")"; then + die "could not find a supported version of ${compiler}" + fi + + NVCC_CCBIN="${compiler}-$(ver_cut 1 "${package_version/#<${package}-/}")" + + [[ "${NVCC_CCBIN}" != "${NVCC_CCBIN_default}" ]] && break + done + ebegin "testing ${NVCC_CCBIN}" + done + eend $? + + echo "${NVCC_CCBIN}" + export NVCC_CCBIN +} + +pkg_pretend() { + if [[ ${MERGE_TYPE} != binary ]] && use openmp; then + tc-check-openmp + fi +} + +pkg_setup() { + if [[ ${MERGE_TYPE} != binary ]] && use openmp; then + tc-check-openmp + fi + + if use lapack; then + python-any-r1_pkg_setup + fi + + if { use test && { use spqr && use cholmod && use blas && use lapack; } || use pastix; } \ + || use blas \ + || use lapack \ + ; then + fortran-2_pkg_setup + fi + + if use test && use cuda && use cuda-clang; then + llvm-r2_pkg_setup + fi +} + +src_unpack() { + if [[ ${PV} = *9999* ]] ; then + git-r3_src_unpack + else + unpack "${P}.tar.bz2" + fi + + if use test && use lapack; then + pushd "${S}/lapack" > /dev/null || die + unpack "${PN}-lapack_addons-${LAPACK_ADDONS_PV}.tgz" + popd > /dev/null || die + fi +} + +src_prepare() { + # run patches here as we patch in test/ + cmake_src_prepare + + if use test && use lapack; then + pushd "${S}" > /dev/null || die + eapply "${FILESDIR}/${PN}-5.0.1-fix-lapack_testing.py.patch" + popd > /dev/null || die + fi +} + +src_configure() { + if use lapack; then + # bug 878987 + # multiple definition of `cgesdd_' + filter-lto + fi + + local mycmakeargs=( + -DCMAKE_CXX_STANDARD="20" + -DCMAKE_POSITION_INDEPENDENT_CODE="yes" + + -DEIGEN_BUILD_TESTING="$(usex test)" # Enable creation of Eigen tests. + + -DEIGEN_BUILD_BLAS="$(usex blas)" # Toggles the building of the Eigen Blas library + -DEIGEN_BUILD_LAPACK="$(usex blas "$(usex lapack)")" # Toggles the building of the included Eigen LAPACK library + + -DEIGEN_BUILD_DOC="$(usex doc)" # Enable creation of Eigen documentation + -DEIGEN_BUILD_PKGCONFIG="yes" # Build pkg-config .pc file for Eigen + ) + + append-cxxflags "-DEIGEN_USE_OPENBLAS_BFLOAT16=0" + + if use blas; then + mycmakeargs+=( + -DBUILD_SHARED_LIBS="yes" + -DEIGEN_BUILD_SHARED_LIBS="yes" + -DEIGEN_BUILD_STATIC_LIBS="yes" + -DEIGEN_INSTALL_STATIC_LIBS="yes" + ) + + if use lapack; then + mycmakeargs+=( + -DCMAKE_POLICY_DEFAULT_CMP0148="OLD" # FindPythonInterp + -DEIGEN_ENABLE_LAPACK_TESTS="$(usex test)" + ) + fi + fi + + if use doc || use test; then + mycmakeargs+=( + # needs Qt4 + -DEIGEN_TEST_NOQT="yes" # Disable Qt support in unit tests + ) + fi + + if use doc; then + mycmakeargs+=( + -DEIGEN_DOC_USE_MATHJAX="$(usex mathjax)" # Use MathJax for rendering math in HTML docs + -DEIGEN_INTERNAL_DOCUMENTATION=no # Build internal documentation + ) + fi + + if use test; then + mycmakeargs+=( + -DEIGEN_LEAVE_TEST_IN_ALL_TARGET=yes # Leaves tests in the all target, needed by ctest for automatic building + + # the OpenGL testsuite is extremely brittle, bug #712808 + -DEIGEN_TEST_OPENGL="$(usex opengl)" # Enable OpenGL support in unit tests + -DEIGEN_TEST_OPENMP="$(usex openmp)" # Enable/Disable OpenMP in tests/examples + + -DEIGEN_TEST_EXTERNAL_BLAS="$(usex !blas)" # Use external BLAS library for testsuite + + -DEIGEN_TEST_BUILD_DOCUMENTATION="no" # $(usex doc)" # Test building the doxygen documentation + + -DEIGEN_DEBUG_ASSERTS="$(usex debug)" # Enable advanced debugging of assertions + -DEIGEN_SPLIT_LARGE_TESTS="yes" # Split large tests into smaller executables + + -DEIGEN_TEST_CUDA="$(usex cuda)" # Enable CUDA support in unit tests + -DEIGEN_TEST_CUDA_CLANG="$(usex cuda "$(usex cuda-clang)")" # Use clang instead of nvcc to compile the CUDA tests + + -DEIGEN_TEST_HIP="$(usex hip)" # Add HIP support. + + # -DEIGEN_TEST_SYCL="$(usex sycl)" # Add Sycl support. + # -DEIGEN_SYCL_TRISYCL="no" # Use the triSYCL Sycl implementation (ComputeCPP by default). + + $(cmake_use_find_package adolc Adolc) + $(cmake_use_find_package boost Boost) + $(cmake_use_find_package cholmod CHOLMOD) + # -DDUCCFFT="$(usex ducc)" + -DDUCC_ROOT="DUCCFFT" + -DDUCCFFT="NOTFOUND" + $(cmake_use_find_package fftw FFTW ) + $(cmake_use_find_package klu KLU) + -DCMAKE_DISABLE_FIND_PACKAGE_MPREAL=yes + # $(cmake_use_find_package opengl OpenGL) # EIGEN_TEST_OPENGL + # $(cmake_use_find_package openmp OpenMP) # EIGEN_TEST_OPENMP + $(cmake_use_find_package pastix PASTIX) + # prevent pastix_nompi.h lookup it no longer exists, we enforce this via deps + -DPASTIX_pastix_nompi.h_INCLUDE_DIRS="FOUND" + + -DPOCKETFFT="$(usex pocketfft)" + $(cmake_use_find_package sparsehash GoogleHash) + $(cmake_use_find_package spqr SPQR) + $(cmake_use_find_package superlu SuperLU) + $(cmake_use_find_package umfpack UMFPACK) + ) + + if use arm; then + mycmakeargs+=( + -DEIGEN_TEST_NEON="$(usex cpu_flags_arm_neon)" + ) + fi + + if use arm64; then + mycmakeargs+=( + -DEIGEN_TEST_NEON64="$(usex cpu_flags_arm_neon)" + ) + fi + + if use amd64 || use x86; then + mycmakeargs+=( + # -DEIGEN_TEST_32BIT=no # Force generating 32bit code. + # -DEIGEN_TEST_X87=no # Force using X87 instructions. Implies no vectorization. + -DEIGEN_TEST_SSE2="$(usex cpu_flags_x86_sse2)" + -DEIGEN_TEST_SSE3="$(usex cpu_flags_x86_sse3)" + -DEIGEN_TEST_SSSE3="$(usex cpu_flags_x86_ssse3)" + -DEIGEN_TEST_FMA="$(usex cpu_flags_x86_fma3)" + -DEIGEN_TEST_SSE4_1="$(usex cpu_flags_x86_sse4_1)" + -DEIGEN_TEST_SSE4_2="$(usex cpu_flags_x86_sse4_2)" + -DEIGEN_TEST_AVX="$(usex cpu_flags_x86_avx)" + -DEIGEN_TEST_F16C="$(usex cpu_flags_x86_f16c)" + -DEIGEN_TEST_AVX2="$(usex cpu_flags_x86_avx2)" + -DEIGEN_TEST_AVX512="$(usex cpu_flags_x86_avx512f)" + -DEIGEN_TEST_AVX512DQ="$(usex cpu_flags_x86_avx512dq)" + ) + fi + + if use mips; then + mycmakeargs+=( + # -DEIGEN_TEST_MSA=no # Enable/Disable MSA in tests/examples + ) + fi + + if use ppc || use ppc64; then + mycmakeargs+=( + -DEIGEN_TEST_ALTIVEC="$(usex cpu_flags_ppc_altivec)" + -DEIGEN_TEST_VSX="$(usex cpu_flags_ppc_vsx)" + ) + fi + + if use s390; then + mycmakeargs+=( + # -DEIGEN_TEST_Z13=no # Enable/Disable S390X(zEC13) ZVECTOR in tests/examples + # -DEIGEN_TEST_Z14=no # Enable/Disable S390X(zEC14) ZVECTOR in tests/examples + ) + fi + + if use cuda; then + cuda_add_sandbox -w + + if use cuda-clang; then + local llvm_prefix + llvm_prefix="$(get_llvm_prefix -b)" + + # NVCCFLAGS gets injected into CMAKE_CXX_FLAGS, which means we need to use clang as gcc will fail with + # error: unrecognized command-line option + if ! tc-is-clang; then + export CC="${CHOST}-clang-${LLVM_SLOT}" + export CXX="${CHOST}-clang++-${LLVM_SLOT}" + fi + + NVCCFLAGS="${NVCCFLAGS:+${NVCCFLAGS} }--libomptarget-nvptx-bc-path=${llvm_prefix}/$(get_libdir)/nvptx64-nvidia-cuda/libomptarget-nvptx.bc" + + mycmakeargs+=( + -DCUDA_HOST_COMPILER="${CHOST}-clang++-${LLVM_SLOT}" + ) + else + cuda_get_host_compiler + + mycmakeargs+=( + -DCUDA_HOST_COMPILER="${CUDAHOSTCXX}" + ) + if [[ -v CUDACXX ]]; then + mycmakeargs+=( + -DCUDA_NVCC_EXECUTABLE="${CUDACXX}" + -DCMAKE_POLICY_DEFAULT_CMP0146="OLD" # FindCUDA + ) + fi + fi + + if [[ "${CUDA_VERBOSE}" == true ]]; then + mycmakeargs+=( + -DCUDA_VERBOSE_BUILD="yes" + ) + NVCCFLAGS+=" -v" + fi + + if [[ -v CUDAARCHS ]]; then + mycmakeargs+=( + # TODO this needs to be lowest first for eigen + -DEIGEN_CUDA_COMPUTE_ARCH="${CUDAARCHS}" + ) + fi + + # CUDAFLAGS is used by cmake + # NVCCFLAGS is used by cuda.eclass + mycmakeargs+=( + -DEIGEN_CUDA_CXX_FLAGS="${NVCCFLAGS}" + + -DCUDA_USE_STATIC_CUDA_RUNTIME="no" + ) + fi + + if use opengl; then + mycmakeargs+=( + -DOpenGL_GL_PREFERENCE="GLVND" + ) + fi + + if use pocketfft; then + mycmakeargs+=( + -DEIGEN_TEST_CXX11=yes + ) + fi + fi + + cmake_src_configure +} + +src_compile() { + local targets=() + + if use blas; then + targets+=( blas ) + if use lapack; then + targets+=( lapack ) + fi + fi + + if use test; then + targets+=( buildtests ) + + if use cuda || use hip; then + targets+=( buildtests_gpu ) + fi + + # tests generate random data, which fails for some seeds + # we solve this via test reruns now + # export EIGEN_SEED=712808 + fi + + # we add doc last to capture results for buildtests + if use doc; then + targets+=( doc ) + fi + + if [[ -n "${targets[*]}" ]]; then + cmake_src_compile "${targets[@]}" + fi +} + +src_test() { + local CMAKE_SKIP_TESTS=( + "^ref_8$" + ) + + if ! use blas; then + CMAKE_SKIP_TESTS+=( + "^nomalloc_1$" # smoketest + "^nomalloc_2$" + "^nomalloc_3$" + "^nomalloc_4$" + + "^product_notemporary_1$" + "^product_notemporary_2$" + "^product_notemporary_3$" + "^product_notemporary_4$" + ) + fi + + if use cholmod && use blas && use lapack; then + CMAKE_SKIP_TESTS+=( + "^cholmod_support_21$" + "^cholmod_support_22$" + ) + fi + + if use cuda; then + cuda_add_sandbox -w + fi + + if use klu && use blas; then + CMAKE_SKIP_TESTS+=( + "^klu_support_1$" + "^klu_support_2$" + ) + fi + + if use lapack; then + CMAKE_SKIP_TESTS+=( + "^LAPACK-xlintsts_stest_in$" + "^LAPACK-xeigtsts_sep_in$" + "^LAPACK-xeigtsts_svd_in$" + "^LAPACK-xlintstd_dtest_in$" + "^LAPACK-xeigtstd_sep_in$" + "^LAPACK-xeigtstd_svd_in$" + "^LAPACK-xlintstc_ctest_in$" + "^LAPACK-xeigtstc_svd_in$" + ) + fi + + local myctestargs=( + -j1 # otherwise breaks due to cmake reruns + --repeat until-pass:50 + ) + + if use opengl; then + virtx \ + cmake_src_test + else + cmake_src_test + fi +} + +src_install() { + local DOCS=() + cmake_src_install + + if use doc; then + pushd "${BUILD_DIR}/doc" > /dev/null || die + dodoc -r html + popd > /dev/null || die + fi +} diff --git a/dev-cpp/eigen/eigen-5.0.9999.ebuild b/dev-cpp/eigen/eigen-5.0.9999.ebuild new file mode 100644 index 000000000000..665bed8a050c --- /dev/null +++ b/dev-cpp/eigen/eigen-5.0.9999.ebuild @@ -0,0 +1,665 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +LLVM_COMPAT=( {21..23} ) +LLVM_OPTIONAL="cuda-clang" + +PYTHON_COMPAT=( python3_{12..14} ) + +FORTRAN_NEEDED="no" + +LAPACK_ADDONS_PV="3.4.1" + +inherit cmake cuda flag-o-matic fortran-2 llvm-r2 python-any-r1 toolchain-funcs virtualx + +DESCRIPTION="C++ template library for linear algebra" +HOMEPAGE="https://eigen.tuxfamily.org/index.php?title=Main_Page" + +if [[ ${PV} = *9999* ]] ; then + inherit git-r3 + EGIT_REPO_URI="https://gitlab.com/lib${PN}/${PN}.git" + if [[ ${PV} = *.9999* ]] ; then + EGIT_BRANCH="$(ver_cut 1-2)" + fi +else + SRC_URI=" + https://gitlab.com/lib${PN}/${PN}/-/archive/${PV}/${P}.tar.bz2 + " + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos" +fi + +SRC_URI+=" + test? ( + lapack? ( + https://downloads.tuxfamily.org/${PN}/lapack_addons_${LAPACK_ADDONS_PV}.tgz + -> ${PN}-lapack_addons-${LAPACK_ADDONS_PV}.tgz + ) + ) +" + +LICENSE="MPL-2.0" +SLOT="3/$(ver_cut 1-2)" + +# The following lines are shamelessly stolen from ffmpeg-9999.ebuild with modifications +ARM_CPU_FEATURES=( + neon:NEON +) +PPC_CPU_FEATURES=( + altivec:ALTIVEC + vsx:VSX +) +X86_CPU_FEATURES=( + avx:AVX + avx2:AVX2 + avx512f:AVX512 + avx512dq:AVX512DQ + f16c:FP16C + fma3:FMA + popcnt:POPCNT + sse:SSE + sse2:SSE2 + sse3:SSE3 + ssse3:SSSE3 + sse4_1:SSE4_1 + sse4_2:SSE4_2 +) +# MIPS_CPU_FEATURES=( +# msa:MSA +# ) +# S390_CPU_FEATURES=( +# z13:Z13 +# z14:Z14 +# ) + +CPU_FEATURES_MAP=( + "${ARM_CPU_FEATURES[@]/#/cpu_flags_arm_}" + "${PPC_CPU_FEATURES[@]/#/cpu_flags_ppc_}" + "${X86_CPU_FEATURES[@]/#/cpu_flags_x86_}" + # "${MIPS_CPU_FEATURES[@]/#/cpu_flags_mips_}" + # "${S390_CPU_FEATURES[@]/#/cpu_flags_s390_}" +) + +IUSE_TEST_BACKENDS=( + "adolc" + "boost" + "cholmod" + "fftw" + "klu" + "metis" + "opengl" + "pastix" + "pocketfft" + "sparsehash" + "spqr" + "superlu" + "umfpack" +) + +IUSE=" + debug + blas lapack + ${CPU_FEATURES_MAP[*]%:*} + cuda cuda-clang hip + doc mathjax + openmp + test ${IUSE_TEST_BACKENDS[*]} +" +# zvector + +REQUIRED_USE=" + lapack? ( + blas + ) + test? ( + || ( ${IUSE_TEST_BACKENDS[*]} ) + cuda-clang? ( + !openmp + ${LLVM_REQUIRED_USE} + ) + ) +" + +# Tests failing again because of compiler issues; bugs #932646, #943401 +RESTRICT="!test? ( test )" +FORTRAN_DEPEND="virtual/fortran" + +BDEPEND=" + doc? ( + app-text/doxygen[dot] + dev-texlive/texlive-bibtexextra + dev-texlive/texlive-fontsextra + dev-texlive/texlive-fontutils + dev-texlive/texlive-latex + dev-texlive/texlive-latexextra + mathjax? ( dev-libs/mathjax ) + ) + test? ( + virtual/pkgconfig + lapack? ( + ${PYTHON_DEPS} + ) + spqr? ( + cholmod? ( + blas? ( + lapack? ( + ${FORTRAN_DEPEND} + ) + ) + ) + ) + pastix? ( ${FORTRAN_DEPEND} ) + ) + blas? ( ${FORTRAN_DEPEND} ) + lapack? ( ${FORTRAN_DEPEND} ) +" + +TEST_BACKENDS=" + adolc? ( sci-libs/adolc[sparse] ) + boost? ( dev-libs/boost ) + cholmod? ( sci-libs/cholmod:=[cuda?] ) + fftw? ( sci-libs/fftw[openmp?] ) + klu? ( sci-libs/klu:= ) + metis? ( + sci-libs/metis[openmp?] + sci-libs/pastix[metis] + ) + opengl? ( + media-libs/freeglut + media-libs/glew + media-libs/libglvnd + ) + pastix? ( + sci-libs/pastix[-mpi] + || ( + sci-libs/pastix[scotch] + sci-libs/pastix[metis] + ) + ) + pocketfft? ( dev-libs/pocketfft ) + sparsehash? ( + amd64? ( dev-cpp/sparsehash ) + arm64? ( dev-cpp/sparsehash ) + ppc64? ( dev-cpp/sparsehash ) + x86? ( dev-cpp/sparsehash ) + ) + spqr? ( sci-libs/spqr:= ) + superlu? ( sci-libs/superlu:= ) + umfpack? ( sci-libs/umfpack:= ) +" + +DEPEND=" + test? ( + cuda? ( + !cuda-clang? ( + dev-util/nvidia-cuda-toolkit + ) + cuda-clang? ( + $(llvm_gen_dep ' + llvm-core/clang:${LLVM_SLOT} + llvm-runtimes/clang-runtime:${LLVM_SLOT}[llvm_targets_NVPTX,offload,openmp] + ') + ) + ) + hip? ( dev-util/hip ) + !blas? ( + virtual/blas + !lapack? ( + virtual/lapacke + ) + ) + ${TEST_BACKENDS} + ) +" + +PATCHES=( + "${FILESDIR}/${PN}-3.4.0-doc-nocompress.patch" # bug 830064 + "${FILESDIR}/${PN}-3.4.0-buildstring.patch" + "${FILESDIR}/${PN}-5.0.0-please_protect_your_min_with_parentheses.patch" + + # PRs + "${FILESDIR}/${PN}-5.0.0-doxygen-1.14.patch" + + "${FILESDIR}/${PN}-5.0.1-c++-20.patch" + "${FILESDIR}/${PN}-5.0.1-cmake-GNUInstallDirs.patch" + "${FILESDIR}/${PN}-5.0.1-make-static-libs-optional.patch" + + "${FILESDIR}/${PN}-5.0.1-Do-not-show-deprecated-CUDA-device-properties-for-CU.patch" +) + +# TODO should be in cuda.eclass +cuda_get_host_compiler() { + if [[ -n "${NVCC_CCBIN}" ]]; then + echo "${NVCC_CCBIN}" + return + fi + + if [[ -n "${CUDAHOSTCXX}" ]]; then + echo "${CUDAHOSTCXX}" + return + fi + + einfo "Trying to find working CUDA host compiler" + + if ! tc-is-gcc && ! tc-is-clang; then + die "$(tc-get-compiler-type) compiler is not supported" + fi + + local compiler compiler_type compiler_version + local package package_version + local -x NVCC_CCBIN + local NVCC_CCBIN_default + + compiler_type="$(tc-get-compiler-type)" + compiler_version="$("${compiler_type}-major-version")" + + # try the default compiler first + NVCC_CCBIN="$(tc-getCXX)" + NVCC_CCBIN_default="${NVCC_CCBIN}-${compiler_version}" + + compiler="${NVCC_CCBIN/%-${compiler_version}}" + + # store the package so we can re-use it later + package="sys-devel/${compiler_type}" + package_version="${package}" + + ebegin "testing ${NVCC_CCBIN_default} (default)" + + while ! nvcc -v -ccbin "${NVCC_CCBIN}" - -x cu <<<"int main(){}" &>> "${T}/cuda_get_host_compiler.log" ; do + eend 1 + + while true; do + # prepare next version + if ! package_version="<$(best_version "${package_version}")"; then + die "could not find a supported version of ${compiler}" + fi + + NVCC_CCBIN="${compiler}-$(ver_cut 1 "${package_version/#<${package}-/}")" + + [[ "${NVCC_CCBIN}" != "${NVCC_CCBIN_default}" ]] && break + done + ebegin "testing ${NVCC_CCBIN}" + done + eend $? + + echo "${NVCC_CCBIN}" + export NVCC_CCBIN +} + +pkg_pretend() { + if [[ ${MERGE_TYPE} != binary ]] && use openmp; then + tc-check-openmp + fi +} + +pkg_setup() { + if [[ ${MERGE_TYPE} != binary ]] && use openmp; then + tc-check-openmp + fi + + if use lapack; then + python-any-r1_pkg_setup + fi + + if { use test && { use spqr && use cholmod && use blas && use lapack; } || use pastix; } \ + || use blas \ + || use lapack \ + ; then + fortran-2_pkg_setup + fi + + if use test && use cuda && use cuda-clang; then + llvm-r2_pkg_setup + fi +} + +src_unpack() { + if [[ ${PV} = *9999* ]] ; then + git-r3_src_unpack + else + unpack "${P}.tar.bz2" + fi + + if use test && use lapack; then + pushd "${S}/lapack" > /dev/null || die + unpack "${PN}-lapack_addons-${LAPACK_ADDONS_PV}.tgz" + popd > /dev/null || die + fi +} + +src_prepare() { + # run patches here as we patch in test/ + cmake_src_prepare + + if use test && use lapack; then + pushd "${S}" > /dev/null || die + eapply "${FILESDIR}/${PN}-5.0.1-fix-lapack_testing.py.patch" + popd > /dev/null || die + fi +} + +src_configure() { + if use lapack; then + # bug 878987 + # multiple definition of `cgesdd_' + filter-lto + fi + + local mycmakeargs=( + -DCMAKE_CXX_STANDARD="20" + -DCMAKE_POSITION_INDEPENDENT_CODE="yes" + + -DEIGEN_BUILD_TESTING="$(usex test)" # Enable creation of Eigen tests. + + -DEIGEN_BUILD_BLAS="$(usex blas)" # Toggles the building of the Eigen Blas library + -DEIGEN_BUILD_LAPACK="$(usex blas "$(usex lapack)")" # Toggles the building of the included Eigen LAPACK library + + -DEIGEN_BUILD_DOC="$(usex doc)" # Enable creation of Eigen documentation + -DEIGEN_BUILD_PKGCONFIG="yes" # Build pkg-config .pc file for Eigen + ) + + append-cxxflags "-DEIGEN_USE_OPENBLAS_BFLOAT16=0" + + if use blas; then + mycmakeargs+=( + -DBUILD_SHARED_LIBS="yes" + -DEIGEN_BUILD_SHARED_LIBS="yes" + -DEIGEN_BUILD_STATIC_LIBS="yes" + -DEIGEN_INSTALL_STATIC_LIBS="yes" + ) + + if use lapack; then + mycmakeargs+=( + -DCMAKE_POLICY_DEFAULT_CMP0148="OLD" # FindPythonInterp + -DEIGEN_ENABLE_LAPACK_TESTS="$(usex test)" + ) + fi + fi + + if use doc || use test; then + mycmakeargs+=( + # needs Qt4 + -DEIGEN_TEST_NOQT="yes" # Disable Qt support in unit tests + ) + fi + + if use doc; then + mycmakeargs+=( + -DEIGEN_DOC_USE_MATHJAX="$(usex mathjax)" # Use MathJax for rendering math in HTML docs + -DEIGEN_INTERNAL_DOCUMENTATION=no # Build internal documentation + ) + fi + + if use test; then + mycmakeargs+=( + -DEIGEN_LEAVE_TEST_IN_ALL_TARGET=yes # Leaves tests in the all target, needed by ctest for automatic building + + # the OpenGL testsuite is extremely brittle, bug #712808 + -DEIGEN_TEST_OPENGL="$(usex opengl)" # Enable OpenGL support in unit tests + -DEIGEN_TEST_OPENMP="$(usex openmp)" # Enable/Disable OpenMP in tests/examples + + -DEIGEN_TEST_EXTERNAL_BLAS="$(usex !blas)" # Use external BLAS library for testsuite + + -DEIGEN_TEST_BUILD_DOCUMENTATION="no" # $(usex doc)" # Test building the doxygen documentation + + -DEIGEN_DEBUG_ASSERTS="$(usex debug)" # Enable advanced debugging of assertions + -DEIGEN_SPLIT_LARGE_TESTS="yes" # Split large tests into smaller executables + + -DEIGEN_TEST_CUDA="$(usex cuda)" # Enable CUDA support in unit tests + -DEIGEN_TEST_CUDA_CLANG="$(usex cuda "$(usex cuda-clang)")" # Use clang instead of nvcc to compile the CUDA tests + + -DEIGEN_TEST_HIP="$(usex hip)" # Add HIP support. + + # -DEIGEN_TEST_SYCL="$(usex sycl)" # Add Sycl support. + # -DEIGEN_SYCL_TRISYCL="no" # Use the triSYCL Sycl implementation (ComputeCPP by default). + + $(cmake_use_find_package adolc Adolc) + $(cmake_use_find_package boost Boost) + $(cmake_use_find_package cholmod CHOLMOD) + # -DDUCCFFT="$(usex ducc)" + -DDUCC_ROOT="DUCCFFT" + -DDUCCFFT="NOTFOUND" + $(cmake_use_find_package fftw FFTW ) + $(cmake_use_find_package klu KLU) + -DCMAKE_DISABLE_FIND_PACKAGE_MPREAL=yes + # $(cmake_use_find_package opengl OpenGL) # EIGEN_TEST_OPENGL + # $(cmake_use_find_package openmp OpenMP) # EIGEN_TEST_OPENMP + $(cmake_use_find_package pastix PASTIX) + # prevent pastix_nompi.h lookup it no longer exists, we enforce this via deps + -DPASTIX_pastix_nompi.h_INCLUDE_DIRS="FOUND" + + -DPOCKETFFT="$(usex pocketfft)" + $(cmake_use_find_package sparsehash GoogleHash) + $(cmake_use_find_package spqr SPQR) + $(cmake_use_find_package superlu SuperLU) + $(cmake_use_find_package umfpack UMFPACK) + ) + + if use arm; then + mycmakeargs+=( + -DEIGEN_TEST_NEON="$(usex cpu_flags_arm_neon)" + ) + fi + + if use arm64; then + mycmakeargs+=( + -DEIGEN_TEST_NEON64="$(usex cpu_flags_arm_neon)" + ) + fi + + if use amd64 || use x86; then + mycmakeargs+=( + # -DEIGEN_TEST_32BIT=no # Force generating 32bit code. + # -DEIGEN_TEST_X87=no # Force using X87 instructions. Implies no vectorization. + -DEIGEN_TEST_SSE2="$(usex cpu_flags_x86_sse2)" + -DEIGEN_TEST_SSE3="$(usex cpu_flags_x86_sse3)" + -DEIGEN_TEST_SSSE3="$(usex cpu_flags_x86_ssse3)" + -DEIGEN_TEST_FMA="$(usex cpu_flags_x86_fma3)" + -DEIGEN_TEST_SSE4_1="$(usex cpu_flags_x86_sse4_1)" + -DEIGEN_TEST_SSE4_2="$(usex cpu_flags_x86_sse4_2)" + -DEIGEN_TEST_AVX="$(usex cpu_flags_x86_avx)" + -DEIGEN_TEST_F16C="$(usex cpu_flags_x86_f16c)" + -DEIGEN_TEST_AVX2="$(usex cpu_flags_x86_avx2)" + -DEIGEN_TEST_AVX512="$(usex cpu_flags_x86_avx512f)" + -DEIGEN_TEST_AVX512DQ="$(usex cpu_flags_x86_avx512dq)" + ) + fi + + if use mips; then + mycmakeargs+=( + # -DEIGEN_TEST_MSA=no # Enable/Disable MSA in tests/examples + ) + fi + + if use ppc || use ppc64; then + mycmakeargs+=( + -DEIGEN_TEST_ALTIVEC="$(usex cpu_flags_ppc_altivec)" + -DEIGEN_TEST_VSX="$(usex cpu_flags_ppc_vsx)" + ) + fi + + if use s390; then + mycmakeargs+=( + # -DEIGEN_TEST_Z13=no # Enable/Disable S390X(zEC13) ZVECTOR in tests/examples + # -DEIGEN_TEST_Z14=no # Enable/Disable S390X(zEC14) ZVECTOR in tests/examples + ) + fi + + if use cuda; then + cuda_add_sandbox -w + + if use cuda-clang; then + local llvm_prefix + llvm_prefix="$(get_llvm_prefix -b)" + + # NVCCFLAGS gets injected into CMAKE_CXX_FLAGS, which means we need to use clang as gcc will fail with + # error: unrecognized command-line option + if ! tc-is-clang; then + export CC="${CHOST}-clang-${LLVM_SLOT}" + export CXX="${CHOST}-clang++-${LLVM_SLOT}" + fi + + NVCCFLAGS="${NVCCFLAGS:+${NVCCFLAGS} }--libomptarget-nvptx-bc-path=${llvm_prefix}/$(get_libdir)/nvptx64-nvidia-cuda/libomptarget-nvptx.bc" + + mycmakeargs+=( + -DCUDA_HOST_COMPILER="${CHOST}-clang++-${LLVM_SLOT}" + ) + else + cuda_get_host_compiler + + mycmakeargs+=( + -DCUDA_HOST_COMPILER="${CUDAHOSTCXX}" + ) + if [[ -v CUDACXX ]]; then + mycmakeargs+=( + -DCUDA_NVCC_EXECUTABLE="${CUDACXX}" + -DCMAKE_POLICY_DEFAULT_CMP0146="OLD" # FindCUDA + ) + fi + fi + + if [[ "${CUDA_VERBOSE}" == true ]]; then + mycmakeargs+=( + -DCUDA_VERBOSE_BUILD="yes" + ) + NVCCFLAGS+=" -v" + fi + + if [[ -v CUDAARCHS ]]; then + mycmakeargs+=( + # TODO this needs to be lowest first for eigen + -DEIGEN_CUDA_COMPUTE_ARCH="${CUDAARCHS}" + ) + fi + + # CUDAFLAGS is used by cmake + # NVCCFLAGS is used by cuda.eclass + mycmakeargs+=( + -DEIGEN_CUDA_CXX_FLAGS="${NVCCFLAGS}" + + -DCUDA_USE_STATIC_CUDA_RUNTIME="no" + ) + fi + + if use opengl; then + mycmakeargs+=( + -DOpenGL_GL_PREFERENCE="GLVND" + ) + fi + + if use pocketfft; then + mycmakeargs+=( + -DEIGEN_TEST_CXX11=yes + ) + fi + fi + + cmake_src_configure +} + +src_compile() { + local targets=() + + if use blas; then + targets+=( blas ) + if use lapack; then + targets+=( lapack ) + fi + fi + + if use test; then + targets+=( buildtests ) + + if use cuda || use hip; then + targets+=( buildtests_gpu ) + fi + + # tests generate random data, which fails for some seeds + # we solve this via test reruns now + # export EIGEN_SEED=712808 + fi + + # we add doc last to capture results for buildtests + if use doc; then + targets+=( doc ) + fi + + if [[ -n "${targets[*]}" ]]; then + cmake_src_compile "${targets[@]}" + fi +} + +src_test() { + local CMAKE_SKIP_TESTS=( + "^ref_8$" + ) + + if ! use blas; then + CMAKE_SKIP_TESTS+=( + "^nomalloc_1$" # smoketest + "^nomalloc_2$" + "^nomalloc_3$" + "^nomalloc_4$" + + "^product_notemporary_1$" + "^product_notemporary_2$" + "^product_notemporary_3$" + "^product_notemporary_4$" + ) + fi + + if use cholmod && use blas && use lapack; then + CMAKE_SKIP_TESTS+=( + "^cholmod_support_21$" + "^cholmod_support_22$" + ) + fi + + if use cuda; then + cuda_add_sandbox -w + fi + + if use klu && use blas; then + CMAKE_SKIP_TESTS+=( + "^klu_support_1$" + "^klu_support_2$" + ) + fi + + if use lapack; then + CMAKE_SKIP_TESTS+=( + "^LAPACK-xlintsts_stest_in$" + "^LAPACK-xeigtsts_sep_in$" + "^LAPACK-xeigtsts_svd_in$" + "^LAPACK-xlintstd_dtest_in$" + "^LAPACK-xeigtstd_sep_in$" + "^LAPACK-xeigtstd_svd_in$" + "^LAPACK-xlintstc_ctest_in$" + "^LAPACK-xeigtstc_svd_in$" + ) + fi + + local myctestargs=( + -j1 # otherwise breaks due to cmake reruns + --repeat until-pass:50 + ) + + if use opengl; then + virtx \ + cmake_src_test + else + cmake_src_test + fi +} + +src_install() { + local DOCS=() + cmake_src_install + + if use doc; then + pushd "${BUILD_DIR}/doc" > /dev/null || die + dodoc -r html + popd > /dev/null || die + fi +} diff --git a/dev-cpp/eigen/eigen-9999.ebuild b/dev-cpp/eigen/eigen-9999.ebuild index 426cb24bb1d7..8b5000f182ed 100644 --- a/dev-cpp/eigen/eigen-9999.ebuild +++ b/dev-cpp/eigen/eigen-9999.ebuild @@ -3,9 +3,16 @@ EAPI=8 -LLVM_COMPAT=( {19..21} ) -FORTRAN_NEEDED="test" -inherit cmake cuda fortran-2 llvm-r2 toolchain-funcs +LLVM_COMPAT=( {21..23} ) +LLVM_OPTIONAL="cuda-clang" + +PYTHON_COMPAT=( python3_{12..14} ) + +FORTRAN_NEEDED="no" + +LAPACK_ADDONS_PV="3.4.1" + +inherit cmake cuda flag-o-matic fortran-2 llvm-r2 python-any-r1 toolchain-funcs virtualx DESCRIPTION="C++ template library for linear algebra" HOMEPAGE="https://eigen.tuxfamily.org/index.php?title=Main_Page" @@ -13,19 +20,27 @@ HOMEPAGE="https://eigen.tuxfamily.org/index.php?title=Main_Page" if [[ ${PV} = *9999* ]] ; then inherit git-r3 EGIT_REPO_URI="https://gitlab.com/lib${PN}/${PN}.git" - if [[ ${PV} = 3.4.9999* ]] ; then - EGIT_BRANCH="3.4" + if [[ ${PV} = *.9999* ]] ; then + EGIT_BRANCH="$(ver_cut 1-2)" fi else SRC_URI=" https://gitlab.com/lib${PN}/${PN}/-/archive/${PV}/${P}.tar.bz2 - test? ( lapack? ( https://downloads.tuxfamily.org/${PN}/lapack_addons_3.4.1.tgz -> ${PN}-lapack_addons-3.4.1.tgz ) ) " - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos" + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos" fi +SRC_URI+=" + test? ( + lapack? ( + https://downloads.tuxfamily.org/${PN}/lapack_addons_${LAPACK_ADDONS_PV}.tgz + -> ${PN}-lapack_addons-${LAPACK_ADDONS_PV}.tgz + ) + ) +" + LICENSE="MPL-2.0" -SLOT="3" +SLOT="3/$(ver_cut 1-2)" # The following lines are shamelessly stolen from ffmpeg-9999.ebuild with modifications ARM_CPU_FEATURES=( @@ -72,23 +87,43 @@ IUSE_TEST_BACKENDS=( "cholmod" "fftw" "klu" + "metis" "opengl" - "openmp" "pastix" + "pocketfft" "sparsehash" "spqr" "superlu" "umfpack" ) -IUSE="benchmark ${CPU_FEATURES_MAP[*]%:*} clang-cuda cuda hip debug doc lapack mathjax test ${IUSE_TEST_BACKENDS[*]}" #zvector +IUSE=" + debug + blas lapack + ${CPU_FEATURES_MAP[*]%:*} + cuda cuda-clang hip + doc mathjax + openmp + test ${IUSE_TEST_BACKENDS[*]} +" +# zvector REQUIRED_USE=" - || ( ${IUSE_TEST_BACKENDS[*]} ) + lapack? ( + blas + ) + test? ( + || ( ${IUSE_TEST_BACKENDS[*]} ) + cuda-clang? ( + !openmp + ${LLVM_REQUIRED_USE} + ) + ) " # Tests failing again because of compiler issues; bugs #932646, #943401 RESTRICT="!test? ( test )" +FORTRAN_DEPEND="virtual/fortran" BDEPEND=" doc? ( @@ -100,50 +135,80 @@ BDEPEND=" dev-texlive/texlive-latexextra mathjax? ( dev-libs/mathjax ) ) - test? ( virtual/pkgconfig ) + test? ( + virtual/pkgconfig + lapack? ( + ${PYTHON_DEPS} + ) + spqr? ( + cholmod? ( + blas? ( + lapack? ( + ${FORTRAN_DEPEND} + ) + ) + ) + ) + pastix? ( ${FORTRAN_DEPEND} ) + ) + blas? ( ${FORTRAN_DEPEND} ) + lapack? ( ${FORTRAN_DEPEND} ) " -# METIS -# MPREAL -# dev-libs/mpfr:0 -# dev-libs/gmp:0 - TEST_BACKENDS=" - boost? ( dev-libs/boost ) adolc? ( sci-libs/adolc[sparse] ) - cholmod? ( sci-libs/cholmod:= ) - fftw? ( sci-libs/fftw ) - spqr? ( sci-libs/spqr ) - klu? ( sci-libs/klu ) + boost? ( dev-libs/boost ) + cholmod? ( sci-libs/cholmod:=[cuda?] ) + fftw? ( sci-libs/fftw[openmp?] ) + klu? ( sci-libs/klu:= ) + metis? ( + sci-libs/metis[openmp?] + sci-libs/pastix[metis] + ) opengl? ( media-libs/freeglut media-libs/glew media-libs/libglvnd ) - pastix? ( sci-libs/pastix[-mpi] ) + pastix? ( + sci-libs/pastix[-mpi] + || ( + sci-libs/pastix[scotch] + sci-libs/pastix[metis] + ) + ) + pocketfft? ( dev-libs/pocketfft ) sparsehash? ( amd64? ( dev-cpp/sparsehash ) arm64? ( dev-cpp/sparsehash ) ppc64? ( dev-cpp/sparsehash ) x86? ( dev-cpp/sparsehash ) ) - superlu? ( sci-libs/superlu ) - umfpack? ( sci-libs/umfpack ) + spqr? ( sci-libs/spqr:= ) + superlu? ( sci-libs/superlu:= ) + umfpack? ( sci-libs/umfpack:= ) " + DEPEND=" test? ( cuda? ( - !clang-cuda? ( + !cuda-clang? ( dev-util/nvidia-cuda-toolkit ) - clang-cuda? ( + cuda-clang? ( $(llvm_gen_dep ' - llvm-core/clang:${LLVM_SLOT}[llvm_targets_NVPTX] + llvm-core/clang:${LLVM_SLOT} + llvm-runtimes/clang-runtime:${LLVM_SLOT}[llvm_targets_NVPTX,offload,openmp] ') ) ) hip? ( dev-util/hip ) - lapack? ( virtual/lapacke ) + !blas? ( + virtual/blas + !lapack? ( + virtual/lapacke + ) + ) ${TEST_BACKENDS} ) " @@ -151,43 +216,98 @@ DEPEND=" PATCHES=( "${FILESDIR}/${PN}-3.4.0-doc-nocompress.patch" # bug 830064 "${FILESDIR}/${PN}-3.4.0-buildstring.patch" - "${FILESDIR}/${PN}-9999-please_protect_your_min_with_parentheses.patch" + + "${FILESDIR}/${PN}-5.0.1-cmake-GNUInstallDirs.patch" + "${FILESDIR}/${PN}-5.0.1-make-static-libs-optional.patch" + + "${FILESDIR}/${PN}-9999-Do-not-show-deprecated-CUDA-device-properties-for-CU.patch" + "${FILESDIR}/${PN}-9999-product_threaded_dont_parallelize.patch" ) # TODO should be in cuda.eclass -cuda_set_CUDAHOSTCXX() { - local compiler - tc-is-gcc && compiler="gcc" - tc-is-clang && compiler="clang" - [[ -z "$compiler" ]] && die "no compiler specified" +cuda_get_host_compiler() { + if [[ -n "${NVCC_CCBIN}" ]]; then + echo "${NVCC_CCBIN}" + return + fi + + if [[ -n "${CUDAHOSTCXX}" ]]; then + echo "${CUDAHOSTCXX}" + return + fi + + einfo "Trying to find working CUDA host compiler" + + if ! tc-is-gcc && ! tc-is-clang; then + die "$(tc-get-compiler-type) compiler is not supported" + fi + + local compiler compiler_type compiler_version + local package package_version + local -x NVCC_CCBIN + local NVCC_CCBIN_default - local package="sys-devel/${compiler}" - local version="${package}" - local CUDAHOSTCXX_test - while - CUDAHOSTCXX="${CUDAHOSTCXX_test}" - version=$(best_version "${version}") - if [[ -z "${version}" ]]; then - if [[ -z "${CUDAHOSTCXX}" ]]; then - die "could not find supported version of ${package}" + compiler_type="$(tc-get-compiler-type)" + compiler_version="$("${compiler_type}-major-version")" + + # try the default compiler first + NVCC_CCBIN="$(tc-getCXX)" + NVCC_CCBIN_default="${NVCC_CCBIN}-${compiler_version}" + + compiler="${NVCC_CCBIN/%-${compiler_version}}" + + # store the package so we can re-use it later + package="sys-devel/${compiler_type}" + package_version="${package}" + + ebegin "testing ${NVCC_CCBIN_default} (default)" + + while ! nvcc -v -ccbin "${NVCC_CCBIN}" - -x cu <<<"int main(){}" &>> "${T}/cuda_get_host_compiler.log" ; do + eend 1 + + while true; do + # prepare next version + if ! package_version="<$(best_version "${package_version}")"; then + die "could not find a supported version of ${compiler}" fi - break - fi - CUDAHOSTCXX_test="$( - dirname "$( - realpath "$( - which "${compiler}-$(echo "${version}" | grep -oP "(?<=${package}-)[0-9]*")" - )" - )" - )" - version="<${version}" - do ! echo "int main(){}" | nvcc "-ccbin ${CUDAHOSTCXX_test}" - -x cu &>/dev/null; done - export CUDAHOSTCXX + NVCC_CCBIN="${compiler}-$(ver_cut 1 "${package_version/#<${package}-/}")" + + [[ "${NVCC_CCBIN}" != "${NVCC_CCBIN_default}" ]] && break + done + ebegin "testing ${NVCC_CCBIN}" + done + eend $? + + echo "${NVCC_CCBIN}" + export NVCC_CCBIN +} + +pkg_pretend() { + if [[ ${MERGE_TYPE} != binary ]] && use openmp; then + tc-check-openmp + fi } pkg_setup() { - use test && use cuda && use clang-cuda && llvm-r2_pkg_setup + if [[ ${MERGE_TYPE} != binary ]] && use openmp; then + tc-check-openmp + fi + + if use lapack; then + python-any-r1_pkg_setup + fi + + if { use test && { use spqr && use cholmod && use blas && use lapack; } || use pastix; } \ + || use blas \ + || use lapack \ + ; then + fortran-2_pkg_setup + fi + + if use test && use cuda && use cuda-clang; then + llvm-r2_pkg_setup + fi } src_unpack() { @@ -195,42 +315,64 @@ src_unpack() { git-r3_src_unpack else unpack "${P}.tar.bz2" + fi - if use test && use lapack; then - cd "${S}/lapack" || die - unpack "${PN}-lapack_addons-3.4.1.tgz" - fi + if use test && use lapack; then + pushd "${S}/lapack" > /dev/null || die + unpack "${PN}-lapack_addons-${LAPACK_ADDONS_PV}.tgz" + popd > /dev/null || die fi } src_prepare() { + # run patches here as we patch in test/ cmake_src_prepare - sed \ - -e "/add_subdirectory(bench\/spbench/s/^/#DONOTCOMPILE /g" \ - -e "/add_subdirectory(demos/s/^/#DONOTCOMPILE /g" \ - -i CMakeLists.txt || die - - if ! use test; then - sed \ - -e "/add_subdirectory(test/s/^/#DONOTCOMPILE /g" \ - -e "/add_subdirectory(scripts/s/^/#DONOTCOMPILE /g" \ - -e "/add_subdirectory(failtest/s/^/#DONOTCOMPILE /g" \ - -e "/add_subdirectory(blas/s/^/#DONOTCOMPILE /g" \ - -e "/add_subdirectory(lapack/s/^/#DONOTCOMPILE /g" \ - -i CMakeLists.txt || die + if use test && use lapack; then + pushd "${S}" > /dev/null || die + eapply "${FILESDIR}/${PN}-5.0.1-fix-lapack_testing.py.patch" + popd > /dev/null || die fi } src_configure() { + if use lapack; then + # bug 878987 + # multiple definition of `cgesdd_' + filter-lto + fi + local mycmakeargs=( - -DBUILD_SHARED_LIBS="yes" - -DBUILD_TESTING="$(usex test)" + -DCMAKE_CXX_STANDARD="20" + -DCMAKE_POSITION_INDEPENDENT_CODE="yes" + + -DEIGEN_BUILD_TESTING="$(usex test)" # Enable creation of Eigen tests. + + -DEIGEN_BUILD_BLAS="$(usex blas)" # Toggles the building of the Eigen Blas library + -DEIGEN_BUILD_LAPACK="$(usex blas "$(usex lapack)")" # Toggles the building of the included Eigen LAPACK library - -DEIGEN_BUILD_BTL="$(usex benchmark)" # Build benchmark suite -DEIGEN_BUILD_DOC="$(usex doc)" # Enable creation of Eigen documentation -DEIGEN_BUILD_PKGCONFIG="yes" # Build pkg-config .pc file for Eigen ) + + append-cxxflags "-DEIGEN_USE_OPENBLAS_BFLOAT16=0" + + if use blas; then + mycmakeargs+=( + -DBUILD_SHARED_LIBS="yes" + -DEIGEN_BUILD_SHARED_LIBS="yes" + -DEIGEN_BUILD_STATIC_LIBS="yes" + -DEIGEN_INSTALL_STATIC_LIBS="yes" + ) + + if use lapack; then + mycmakeargs+=( + -DCMAKE_POLICY_DEFAULT_CMP0148="OLD" # FindPythonInterp + -DEIGEN_ENABLE_LAPACK_TESTS="$(usex test)" + ) + fi + fi + if use doc || use test; then mycmakeargs+=( # needs Qt4 @@ -247,61 +389,49 @@ src_configure() { if use test; then mycmakeargs+=( + -DEIGEN_LEAVE_TEST_IN_ALL_TARGET=yes # Leaves tests in the all target, needed by ctest for automatic building + # the OpenGL testsuite is extremely brittle, bug #712808 - -DOpenGL_GL_PREFERENCE="GLVND" -DEIGEN_TEST_OPENGL="$(usex opengl)" # Enable OpenGL support in unit tests -DEIGEN_TEST_OPENMP="$(usex openmp)" # Enable/Disable OpenMP in tests/examples - -DCMAKE_DISABLE_FIND_PACKAGE_MPREAL=ON - - -DEIGEN_TEST_CXX11=yes + -DEIGEN_TEST_EXTERNAL_BLAS="$(usex !blas)" # Use external BLAS library for testsuite - # -DEIGEN_TEST_CUSTOM_CXX_FLAGS= # Additional compiler flags when compiling unit tests. - # -DEIGEN_TEST_CUSTOM_LINKER_FLAGS= # Additional linker flags when linking unit tests. - # -DEIGEN_TEST_BUILD_FLAGS= # Options passed to the build command of unit tests + -DEIGEN_TEST_BUILD_DOCUMENTATION="no" # $(usex doc)" # Test building the doxygen documentation - # -DEIGEN_BUILD_BTL=yes # Build benchmark suite + -DEIGEN_DEBUG_ASSERTS="$(usex debug)" # Enable advanced debugging of assertions + -DEIGEN_SPLIT_LARGE_TESTS="yes" # Split large tests into smaller executables - -DEIGEN_TEST_BUILD_DOCUMENTATION="$(usex doc)" # Test building the doxygen documentation + -DEIGEN_TEST_CUDA="$(usex cuda)" # Enable CUDA support in unit tests + -DEIGEN_TEST_CUDA_CLANG="$(usex cuda "$(usex cuda-clang)")" # Use clang instead of nvcc to compile the CUDA tests - # -DEIGEN_COVERAGE_TESTING=no # Enable/disable gcov - # -DEIGEN_CTEST_ERROR_EXCEPTION= # Regular expression for build error messages to be filtered out - # -DEIGEN_DEBUG_ASSERTS=no # Enable advanced debugging of assertions - # -DEIGEN_NO_ASSERTION_CHECKING=no # Disable checking of assertions using exceptions - # -DEIGEN_TEST_NO_EXCEPTIONS=no # Disables C++ exceptions - # -DEIGEN_TEST_NO_EXPLICIT_ALIGNMENT=no # Disable explicit alignment (hence vectorization) in tests/examples - # -DEIGEN_TEST_NO_EXPLICIT_VECTORIZATION=no # Disable explicit vectorization in tests/examples + -DEIGEN_TEST_HIP="$(usex hip)" # Add HIP support. - # -DEIGEN_DASHBOARD_BUILD_TARGET=buildtests # Target to be built in dashboard mode, default is buildtests + # -DEIGEN_TEST_SYCL="$(usex sycl)" # Add Sycl support. + # -DEIGEN_SYCL_TRISYCL="no" # Use the triSYCL Sycl implementation (ComputeCPP by default). - # -DEIGEN_DEFAULT_TO_ROW_MAJOR=no # Use row-major as default matrix storage order + $(cmake_use_find_package adolc Adolc) + $(cmake_use_find_package boost Boost) + $(cmake_use_find_package cholmod CHOLMOD) + # -DDUCCFFT="$(usex ducc)" + -DDUCC_ROOT="DUCCFFT" + -DDUCCFFT="NOTFOUND" + $(cmake_use_find_package fftw FFTW ) + $(cmake_use_find_package klu KLU) + -DCMAKE_DISABLE_FIND_PACKAGE_MPREAL=yes + # $(cmake_use_find_package opengl OpenGL) # EIGEN_TEST_OPENGL + # $(cmake_use_find_package openmp OpenMP) # EIGEN_TEST_OPENMP + $(cmake_use_find_package pastix PASTIX) + # prevent pastix_nompi.h lookup it no longer exists, we enforce this via deps + -DPASTIX_pastix_nompi.h_INCLUDE_DIRS="FOUND" - # -DEIGEN_TEST_MATRIX_DIR=yes # Enable testing of realword sparse matrices contained in the specified path - # -DEIGEN_TEST_MAX_SIZE=320 # Maximal matrix/vector size, default is 320 - # -DEIGEN_SPLIT_LARGE_TESTS=no # Split large tests into smaller executables + -DPOCKETFFT="$(usex pocketfft)" + $(cmake_use_find_package sparsehash GoogleHash) + $(cmake_use_find_package spqr SPQR) + $(cmake_use_find_package superlu SuperLU) + $(cmake_use_find_package umfpack UMFPACK) ) - use !adolc && mycmakeargs+=( -DCMAKE_DISABLE_FIND_PACKAGE_Adolc="TRUE" ) - use !boost && mycmakeargs+=( -DCMAKE_DISABLE_FIND_PACKAGE_Boost="TRUE" ) - use !cholmod && mycmakeargs+=( -DCMAKE_DISABLE_FIND_PACKAGE_CHOLMOD="TRUE" ) - use !fftw && mycmakeargs+=( -DCMAKE_DISABLE_FIND_PACKAGE_FFTW="TRUE" ) - use !sparsehash && mycmakeargs+=( -DCMAKE_DISABLE_FIND_PACKAGE_GoogleHash="TRUE" ) - use !klu && mycmakeargs+=( -DCMAKE_DISABLE_FIND_PACKAGE_KLU="TRUE" ) - use !opengl && mycmakeargs+=( -DCMAKE_DISABLE_FIND_PACKAGE_OpenGL="TRUE" ) - use !openmp && mycmakeargs+=( -DCMAKE_DISABLE_FIND_PACKAGE_OpenMP="TRUE" ) - use !pastix && mycmakeargs+=( -DCMAKE_DISABLE_FIND_PACKAGE_PASTIX="TRUE" ) - use !spqr && mycmakeargs+=( -DCMAKE_DISABLE_FIND_PACKAGE_SPQR="TRUE" ) - use !superlu && mycmakeargs+=( -DCMAKE_DISABLE_FIND_PACKAGE_SuperLU="TRUE" ) - use !umfpack && mycmakeargs+=( -DCMAKE_DISABLE_FIND_PACKAGE_UMFPACK="TRUE" ) - - if use lapack; then - mycmakeargs+=( - -DEIGEN_ENABLE_LAPACK_TESTS=yes - -DEIGEN_TEST_EXTERNAL_BLAS=yes # Use external BLAS library for testsuite - -DCMAKE_DISABLE_FIND_PACKAGE_SuperLU=ON - ) - fi - if use arm; then mycmakeargs+=( -DEIGEN_TEST_NEON="$(usex cpu_flags_arm_neon)" @@ -314,13 +444,6 @@ src_configure() { ) fi - if use ppc || use ppc64; then - mycmakeargs+=( - -DEIGEN_TEST_ALTIVEC="$(usex cpu_flags_ppc_altivec)" - -DEIGEN_TEST_VSX="$(usex cpu_flags_ppc_vsx)" - ) - fi - if use amd64 || use x86; then mycmakeargs+=( # -DEIGEN_TEST_32BIT=no # Force generating 32bit code. @@ -345,6 +468,13 @@ src_configure() { ) fi + if use ppc || use ppc64; then + mycmakeargs+=( + -DEIGEN_TEST_ALTIVEC="$(usex cpu_flags_ppc_altivec)" + -DEIGEN_TEST_VSX="$(usex cpu_flags_ppc_vsx)" + ) + fi + if use s390; then mycmakeargs+=( # -DEIGEN_TEST_Z13=no # Enable/Disable S390X(zEC13) ZVECTOR in tests/examples @@ -352,48 +482,65 @@ src_configure() { ) fi - mycmakeargs+=( - -DEIGEN_TEST_CUDA="$(usex cuda)" # Enable CUDA support in unit tests - -DEIGEN_TEST_CUDA_CLANG="$(usex cuda "$(usex clang-cuda)")" # Use clang instead of nvcc to compile the CUDA tests - - -DEIGEN_TEST_HIP="$(usex hip)" # Add HIP support. - - # -DEIGEN_TEST_SYCL=no # Add Sycl support. - # -DEIGEN_SYCL_TRISYCL=no # Use the triSYCL Sycl implementation (ComputeCPP by default). - ) - if use cuda; then cuda_add_sandbox -w - if use clang-cuda; then + + if use cuda-clang; then local llvm_prefix llvm_prefix="$(get_llvm_prefix -b)" - export CC="${llvm_prefix}/bin/clang" - export CXX="${llvm_prefix}/bin/clang++" - export LIBRARY_PATH="${ESYSROOT}/usr/$(get_libdir)" + + # NVCCFLAGS gets injected into CMAKE_CXX_FLAGS, which means we need to use clang as gcc will fail with + # error: unrecognized command-line option + if ! tc-is-clang; then + export CC="${CHOST}-clang-${LLVM_SLOT}" + export CXX="${CHOST}-clang++-${LLVM_SLOT}" + fi + + NVCCFLAGS="${NVCCFLAGS:+${NVCCFLAGS} }--libomptarget-nvptx-bc-path=${llvm_prefix}/$(get_libdir)/nvptx64-nvidia-cuda/libomptarget-nvptx.bc" + mycmakeargs+=( - -DCUDA_HOST_COMPILER="${llvm_prefix}/bin/clang++" + -DCUDA_HOST_COMPILER="${CHOST}-clang++-${LLVM_SLOT}" ) else - cuda_set_CUDAHOSTCXX + cuda_get_host_compiler + mycmakeargs+=( -DCUDA_HOST_COMPILER="${CUDAHOSTCXX}" ) + if [[ -v CUDACXX ]]; then + mycmakeargs+=( + -DCUDA_NVCC_EXECUTABLE="${CUDACXX}" + -DCMAKE_POLICY_DEFAULT_CMP0146="OLD" # FindCUDA + ) + fi fi + if [[ "${CUDA_VERBOSE}" == true ]]; then mycmakeargs+=( - -DCUDA_VERBOSE_BUILD=yes + -DCUDA_VERBOSE_BUILD="yes" ) NVCCFLAGS+=" -v" fi - export CUDAFLAGS="${NVCCFLAGS}" + if [[ -v CUDAARCHS ]]; then + mycmakeargs+=( + # TODO this needs to be lowest first for eigen + -DEIGEN_CUDA_COMPUTE_ARCH="${CUDAARCHS}" + ) + fi - [[ -z "${CUDAARCHS}" ]] && einfo "trying to determine host CUDAARCHS" - : "${CUDAARCHS:=$(__nvcc_device_query)}" - export CUDAARCHS + # CUDAFLAGS is used by cmake + # NVCCFLAGS is used by cuda.eclass + mycmakeargs+=( + -DEIGEN_CUDA_CXX_FLAGS="${NVCCFLAGS}" + + -DCUDA_USE_STATIC_CUDA_RUNTIME="no" + ) + fi + if use opengl; then mycmakeargs+=( - -DEIGEN_CUDA_COMPUTE_ARCH="${CUDAARCHS}" + -DOpenGL_GL_PREFERENCE="GLVND" ) fi fi @@ -403,33 +550,92 @@ src_configure() { src_compile() { local targets=() - if use doc; then - targets+=( doc ) - HTML_DOCS=( "${BUILD_DIR}"/doc/html/. ) + + if use blas; then + targets+=( blas ) + if use lapack; then + targets+=( lapack ) + fi fi + if use test; then targets+=( buildtests ) - if ! use lapack; then - targets+=( blas ) + + if use cuda || use hip; then + targets+=( buildtests_gpu ) fi - # tests generate random data, which - # obviously fails for some seeds - export EIGEN_SEED=712808 + + # tests generate random data, which fails for some seeds + # we solve this via test reruns now + # export EIGEN_SEED=712808 fi - if use doc || use test; then + # we add doc last to capture results for buildtests + if use doc; then + targets+=( doc ) + fi + + if [[ -n "${targets[*]}" ]]; then cmake_src_compile "${targets[@]}" fi } src_test() { - if use cuda ; then + local CMAKE_SKIP_TESTS=( + "^ref_8$" + ) + + if use cholmod && use blas && use lapack; then + CMAKE_SKIP_TESTS+=( + "^cholmod_support_21$" + "^cholmod_support_22$" + ) + fi + + if use cuda; then cuda_add_sandbox -w fi + if use klu && use blas; then + CMAKE_SKIP_TESTS+=( + "^klu_support_1$" + "^klu_support_2$" + ) + fi + + if use lapack; then + CMAKE_SKIP_TESTS+=( + "^LAPACK-xlintsts_stest_in$" + "^LAPACK-xeigtsts_sep_in$" + "^LAPACK-xeigtsts_svd_in$" + "^LAPACK-xlintstd_dtest_in$" + "^LAPACK-xeigtstd_sep_in$" + "^LAPACK-xeigtstd_svd_in$" + "^LAPACK-xlintstc_ctest_in$" + "^LAPACK-xeigtstc_svd_in$" + ) + fi + local myctestargs=( -j1 # otherwise breaks due to cmake reruns + --repeat until-pass:50 ) - cmake_src_test + if use opengl; then + virtx \ + cmake_src_test + else + cmake_src_test + fi +} + +src_install() { + local DOCS=() + cmake_src_install + + if use doc; then + pushd "${BUILD_DIR}/doc" > /dev/null || die + dodoc -r html + popd > /dev/null || die + fi } diff --git a/dev-cpp/eigen/files/eigen-3.4.0-buildstring.patch b/dev-cpp/eigen/files/eigen-3.4.0-buildstring.patch index cb3671dc0100..8e9b98fbd8bb 100644 --- a/dev-cpp/eigen/files/eigen-3.4.0-buildstring.patch +++ b/dev-cpp/eigen/files/eigen-3.4.0-buildstring.patch @@ -4,14 +4,14 @@ set(${VAR} VSX) elseif(EIGEN_TEST_ALTIVEC) set(${VAR} ALVEC) -- elseif(EIGEN_TEST_FMA) -- set(${VAR} FMA) + elseif(EIGEN_TEST_AVX512DQ) + set(${VAR} AVX512DQ) + elseif(EIGEN_TEST_AVX512) + set(${VAR} AVX512) + elseif(EIGEN_TEST_AVX2) + set(${VAR} AVX2) + elseif(EIGEN_TEST_FMA) + set(${VAR} FMA) + elseif(EIGEN_TEST_F16C) + set(${VAR} F16C) elseif(EIGEN_TEST_AVX) @@ -20,8 +20,6 @@ set(${VAR} SSE42) elseif(EIGEN_TEST_SSE4_1) set(${VAR} SSE41) -+ elseif(EIGEN_TEST_FMA) -+ set(${VAR} FMA) elseif(EIGEN_TEST_SSSE3) set(${VAR} SSSE3) elseif(EIGEN_TEST_SSE3) diff --git a/dev-cpp/eigen/files/eigen-3.4.0-c++-20.patch b/dev-cpp/eigen/files/eigen-3.4.0-c++-20.patch new file mode 100644 index 000000000000..39eef7dc0c0f --- /dev/null +++ b/dev-cpp/eigen/files/eigen-3.4.0-c++-20.patch @@ -0,0 +1,30 @@ +From: Nicholas Vinson <nvinson234@gmail.com> +Date: Mon, 15 Dec 2025 20:37:04 -0500 + +--- a/Eigen/src/Eigenvalues/ComplexSchur.h ++++ b/Eigen/src/Eigenvalues/ComplexSchur.h +@@ -277,7 +277,8 @@ + using std::abs; + if ((iter == 10 || iter == 20) && iu > 1) { + // exceptional shift, taken from http://www.netlib.org/eispack/comqr.f +- return abs(numext::real(m_matT.coeff(iu,iu-1))) + abs(numext::real(m_matT.coeff(iu-1,iu-2))); ++ return ComplexSchur<MatrixType>::ComplexScalar( ++ abs(numext::real(m_matT.coeff(iu, iu - 1))) + abs(numext::real(m_matT.coeff(iu - 1, iu - 2)))); + } + + // compute the shift as one of the eigenvalues of t, the 2x2 +--- a/unsupported/Eigen/src/MatrixFunctions/MatrixFunction.h ++++ b/unsupported/Eigen/src/MatrixFunctions/MatrixFunction.h +@@ -86,8 +86,8 @@ + for (Index i = 0; i < rows; i++) + mx = (std::max)(mx, std::abs(m_f(Ashifted(i, i) + avgEival, static_cast<int>(s + r)))); + if (r != 0) + rfactorial *= RealScalar(r); +- delta = (std::max)(delta, mx / rfactorial); ++ delta = (std::max)(delta, RealScalar(mx / rfactorial)); + } + const RealScalar P_norm = P.cwiseAbs().rowwise().sum().maxCoeff(); + if (mu * delta * P_norm < NumTraits<Scalar>::epsilon() * F_norm) // series converged +-- +2.52.0 + diff --git a/dev-cpp/eigen/files/eigen-3.4.1-bug1213-link-with-Eigen3-Eigen.patch b/dev-cpp/eigen/files/eigen-3.4.1-bug1213-link-with-Eigen3-Eigen.patch new file mode 100644 index 000000000000..9ced714f0c51 --- /dev/null +++ b/dev-cpp/eigen/files/eigen-3.4.1-bug1213-link-with-Eigen3-Eigen.patch @@ -0,0 +1,25 @@ +From 470c47b3b8309cb71cf48146e56744bd2630827a Mon Sep 17 00:00:00 2001 +From: Paul Zander <negril.nx+gentoo@gmail.com> +Date: Sat, 28 Feb 2026 23:16:55 +0100 +Subject: [PATCH] bug1213: link with Eigen3::Eigen + +Doesn't find Eigen/Core otherwise. +--- + test/CMakeLists.txt | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt +index f503efc..360f989 100644 +--- a/test/CMakeLists.txt ++++ b/test/CMakeLists.txt +@@ -299,6 +299,7 @@ if(EIGEN_TEST_CXX11) + endif() + + add_executable(bug1213 bug1213.cpp bug1213_main.cpp) ++target_link_libraries(bug1213 Eigen3::Eigen) + + check_cxx_compiler_flag("-ffast-math" COMPILER_SUPPORT_FASTMATH) + if(COMPILER_SUPPORT_FASTMATH) +-- +2.53.0 + diff --git a/dev-cpp/eigen/files/eigen-3.4.1-cxxstandard-17.patch b/dev-cpp/eigen/files/eigen-3.4.1-cxxstandard-17.patch new file mode 100644 index 000000000000..720898bdd11c --- /dev/null +++ b/dev-cpp/eigen/files/eigen-3.4.1-cxxstandard-17.patch @@ -0,0 +1,72 @@ +From cd8bb671321b5163c21f84689f929b671ed68750 Mon Sep 17 00:00:00 2001 +From: Paul Zander <negril.nx+gentoo@gmail.com> +Date: Mon, 20 Oct 2025 21:26:47 +0200 +Subject: [PATCH] cxx standard 17 + +Signed-off-by: Paul Zander <negril.nx+gentoo@gmail.com> + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 80d36b991..8106bb264 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -330,11 +330,8 @@ if (EIGEN_BUILD_TESTING) + + option(EIGEN_TEST_CXX11 "Enable testing with C++11 and C++11 features (e.g. Tensor module)." ${EIGEN_COMPILER_SUPPORT_CPP11}) + if(EIGEN_TEST_CXX11) +- set(CMAKE_CXX_STANDARD 11) ++ set(CMAKE_CXX_STANDARD 17) + set(CMAKE_CXX_EXTENSIONS OFF) +- if(EIGEN_COMPILER_SUPPORT_CPP11) +- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11") +- endif() + else() + ei_add_cxx_compiler_flag("-std=c++03") + endif() +@@ -373,7 +370,7 @@ if (EIGEN_BUILD_TESTING) + ei_add_cxx_compiler_flag("-Wshorten-64-to-32") + ei_add_cxx_compiler_flag("-Wlogical-op") + ei_add_cxx_compiler_flag("-Wenum-conversion") +- ei_add_cxx_compiler_flag("-Wc++11-extensions") ++ # ei_add_cxx_compiler_flag("-Wc++11-extensions") + ei_add_cxx_compiler_flag("-Wdouble-promotion") + # ei_add_cxx_compiler_flag("-Wconversion") + ei_add_cxx_compiler_flag("-Wshadow") +diff --git a/doc/special_examples/CMakeLists.txt b/doc/special_examples/CMakeLists.txt +index a0267a512..d7fc80976 100644 +--- a/doc/special_examples/CMakeLists.txt ++++ b/doc/special_examples/CMakeLists.txt +@@ -23,7 +23,6 @@ if(EIGEN_COMPILER_SUPPORT_CPP11) + add_executable(random_cpp11 random_cpp11.cpp) + target_link_libraries(random_cpp11 ${EIGEN_STANDARD_LIBRARIES_TO_LINK_TO} Eigen3::Eigen) + add_dependencies(all_examples random_cpp11) +- target_compile_options(random_cpp11 PRIVATE "-std=c++11") + + add_custom_command( + TARGET random_cpp11 +diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt +index 7ce260e0e..f503efc5d 100644 +--- a/test/CMakeLists.txt ++++ b/test/CMakeLists.txt +@@ -386,7 +386,6 @@ if(CUDA_FOUND AND EIGEN_TEST_CUDA) + string(REPLACE "-fno-check-new" "" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}") + + if(EIGEN_TEST_CUDA_CLANG) +- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11") + string(APPEND CMAKE_CXX_FLAGS " --cuda-path=${CUDA_TOOLKIT_ROOT_DIR}") + foreach(GPU IN LISTS EIGEN_CUDA_COMPUTE_ARCH) + string(APPEND CMAKE_CXX_FLAGS " --cuda-gpu-arch=sm_${GPU}") +diff --git a/unsupported/test/CMakeLists.txt b/unsupported/test/CMakeLists.txt +index 1d5e9b174..cf394de86 100644 +--- a/unsupported/test/CMakeLists.txt ++++ b/unsupported/test/CMakeLists.txt +@@ -227,7 +227,6 @@ if(CUDA_FOUND AND EIGEN_TEST_CUDA) + string(REPLACE "-ansi" "" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}") + + if(EIGEN_TEST_CUDA_CLANG) +- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11") + string(APPEND CMAKE_CXX_FLAGS " --cuda-path=${CUDA_TOOLKIT_ROOT_DIR}") + foreach(ARCH IN LISTS EIGEN_CUDA_COMPUTE_ARCH) + string(APPEND CMAKE_CXX_FLAGS " --cuda-gpu-arch=sm_${ARCH}") +-- +2.51.1 + diff --git a/dev-cpp/eigen/files/eigen-5.0.0-doxygen-1.14.patch b/dev-cpp/eigen/files/eigen-5.0.0-doxygen-1.14.patch new file mode 100644 index 000000000000..89e049368022 --- /dev/null +++ b/dev-cpp/eigen/files/eigen-5.0.0-doxygen-1.14.patch @@ -0,0 +1,136 @@ +From cf458c66ee01802d5023fcab78412583b5c73574 Mon Sep 17 00:00:00 2001 +From: Guilhem Saurel <guilhem.saurel@laas.fr> +Date: Tue, 16 Dec 2025 09:40:05 +0100 +Subject: [PATCH 1/4] doc: add and use \anchor Eigen_placeholders_lastN + +fix for Doxygen >= 1.14: +``` +doc/Manual.dox:177: error: unable to resolve link to 'Eigen::placeholders::lastN(SizeType)' for \link command +doc/Manual.dox:178: error: unable to resolve link to 'Eigen::placeholders::lastN(SizeType,IncrType)' for \link command +``` +--- + Eigen/src/Core/ArithmeticSequence.h | 2 +- + doc/TutorialSlicingIndexing.dox | 3 +-- + 2 files changed, 2 insertions(+), 3 deletions(-) + +diff --git a/Eigen/src/Core/ArithmeticSequence.h b/Eigen/src/Core/ArithmeticSequence.h +index ae6373dda..41617713f 100644 +--- a/Eigen/src/Core/ArithmeticSequence.h ++++ b/Eigen/src/Core/ArithmeticSequence.h +@@ -182,7 +182,7 @@ namespace placeholders { + * \returns a symbolic ArithmeticSequence representing the last \a size elements with increment \a incr. + * + * It is a shortcut for: \code seqN(last-(size-fix<1>)*incr, size, incr) \endcode +- * ++ * \anchor Eigen_placeholders_lastN + * \sa lastN(SizeType), seqN(FirstType,SizeType), seq(FirstType,LastType,IncrType) */ + template <typename SizeType, typename IncrType> + auto lastN(SizeType size, IncrType incr) +diff --git a/doc/TutorialSlicingIndexing.dox b/doc/TutorialSlicingIndexing.dox +index 6ebaa2d6d..a1b00dfc4 100644 +--- a/doc/TutorialSlicingIndexing.dox ++++ b/doc/TutorialSlicingIndexing.dox +@@ -114,8 +114,7 @@ Here are some examples for a 2D array/matrix \c A and a 1D array/vector \c v. + + As seen in the last example, referencing the <i> last n </i> elements (or rows/columns) is a bit cumbersome to write. + This becomes even more tricky and error prone with a non-default increment. +-Here comes \link Eigen::placeholders::lastN(SizeType) Eigen::placeholders::lastN(size) \endlink, and +-\link Eigen::placeholders::lastN(SizeType,IncrType) Eigen::placeholders::lastN(size,incr) \endlink: ++Here comes \ref Eigen_placeholders_lastN : + + <table class="manual"> + <tr> +-- +GitLab + + +From 6be98c166c86a2360177bad9cdccc55ac1ceed7b Mon Sep 17 00:00:00 2001 +From: Guilhem Saurel <guilhem.saurel@laas.fr> +Date: Tue, 16 Dec 2025 10:13:56 +0100 +Subject: [PATCH 2/4] doc: fix html + +fix for Doxygen >= 1.14: +``` +doc/Manual.dox:656: error: expected <tr> or </table> tag but found token TK_HTMLTAG instead! +``` +--- + doc/QuickReference.dox | 1 - + 1 file changed, 1 deletion(-) + +diff --git a/doc/QuickReference.dox b/doc/QuickReference.dox +index 1fb000fdc..4aece902c 100644 +--- a/doc/QuickReference.dox ++++ b/doc/QuickReference.dox +@@ -551,7 +551,6 @@ Read-write access to sub-vectors: + <tr> + <th>Default versions</th> + <th>Optimized versions when the size \n is known at compile time</th></tr> +-<th></th> + + <tr><td>\code vec1.head(n)\endcode</td><td>\code vec1.head<n>()\endcode</td><td>the first \c n coeffs </td></tr> + <tr><td>\code vec1.tail(n)\endcode</td><td>\code vec1.tail<n>()\endcode</td><td>the last \c n coeffs </td></tr> +-- +GitLab + + +From ac5d00609f14b7402f1fe8274e4d5db3c61f091e Mon Sep 17 00:00:00 2001 +From: Guilhem Saurel <guilhem.saurel@laas.fr> +Date: Tue, 16 Dec 2025 10:37:35 +0100 +Subject: [PATCH 3/4] doc: typo + +fix for doxygen 1.15: +``` +doc/UnalignedArrayAssert.dox:134: error: Reached end of file while still searching closing '`' of a verbatim block starting at line 117 +doc/UnalignedArrayAssert.dox:134: error: Reached end of file while still inside a (nested) comment. Nesting level 1 (possible line reference(s): 3) +``` +--- + doc/UnalignedArrayAssert.dox | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/doc/UnalignedArrayAssert.dox b/doc/UnalignedArrayAssert.dox +index ca674a267..0ed6f8835 100644 +--- a/doc/UnalignedArrayAssert.dox ++++ b/doc/UnalignedArrayAssert.dox +@@ -7,7 +7,7 @@ Hello! You are seeing this webpage because your program terminated on an asserti + my_program: path/to/eigen/Eigen/src/Core/DenseStorage.h:44: + Eigen::internal::matrix_array<T, Size, MatrixOptions, Align>::internal::matrix_array() + [with T = double, int Size = 2, int MatrixOptions = 2, bool Align = true]: +-Assertion `(reinterpret_cast<size_t>(array) & (sizemask)) == 0 && "this assertion ++Assertion (reinterpret_cast<size_t>(array) & (sizemask)) == 0 && "this assertion + is explained here: http://eigen.tuxfamily.org/dox-devel/group__TopicUnalignedArrayAssert.html + **** READ THIS WEB PAGE !!! ****"' failed. + </pre> +-- +GitLab + + +From ae263fb905b2dd9ff3ad9b47dc44f90466f7b1c8 Mon Sep 17 00:00:00 2001 +From: Guilhem Saurel <guilhem.saurel@laas.fr> +Date: Tue, 16 Dec 2025 10:40:27 +0100 +Subject: [PATCH 4/4] doc: define eigenAutoToc alias + +Fix for doxygen 1.15: +``` +doc/Manual.dox:95: error: Found unexpanded alias '\cpp17'. Check if number of arguments passed is correct. +doc/Manual.dox:98: error: Found unexpanded alias '\eigenAutoToc'. Check if number of arguments passed is correct. +``` +--- + doc/Doxyfile.in | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/doc/Doxyfile.in b/doc/Doxyfile.in +index 25a7e2e9a..445fc0a6f 100644 +--- a/doc/Doxyfile.in ++++ b/doc/Doxyfile.in +@@ -32,7 +32,7 @@ ALIASES = "only_for_vectors=This is only for vectors (either row- + "cpp14=<span class='cpp14'>[c++14]</span>" \ + "cpp17=<span class='cpp17'>[c++17]</span>" \ + "newin{1}=<span class='newin3x'>New in %Eigen \1.</span>" \ +- eigenAutoToc= \ ++ "eigenAutoToc=<!-- TOC placeholder -->" \ + eigenManualPage=\defgroup + EXTENSION_MAPPING = .h=C++ \ + no_extension=C++ +-- +GitLab + diff --git a/dev-cpp/eigen/files/eigen-5.0.0-please_protect_your_min_with_parentheses.patch b/dev-cpp/eigen/files/eigen-5.0.0-please_protect_your_min_with_parentheses.patch new file mode 100644 index 000000000000..ee8ab16793cb --- /dev/null +++ b/dev-cpp/eigen/files/eigen-5.0.0-please_protect_your_min_with_parentheses.patch @@ -0,0 +1,35 @@ +From 056b77036b4c97fee25bbd7a747e55c75c79cd48 Mon Sep 17 00:00:00 2001 +From: Paul Zander <negril.nx+gentoo@gmail.com> +Date: Tue, 23 Sep 2025 00:40:14 +0200 +Subject: [PATCH] please protect your min with parentheses + +Signed-off-by: Paul Zander <negril.nx+gentoo@gmail.com> + +diff --git a/Eigen/src/Core/products/Parallelizer.h b/Eigen/src/Core/products/Parallelizer.h +index 4f36689..899d78f 100644 +--- a/Eigen/src/Core/products/Parallelizer.h ++++ b/Eigen/src/Core/products/Parallelizer.h +@@ -141,7 +141,7 @@ inline void manage_multi_threading(Action action, int* v) { + // for OpenMP. + eigen_internal_assert(*v >= 0); + int omp_threads = omp_get_max_threads(); +- m_maxThreads = (*v == 0 ? omp_threads : std::min(*v, omp_threads)); ++ m_maxThreads = (*v == 0 ? omp_threads : (std::min)(*v, omp_threads)); + #elif defined(EIGEN_GEMM_THREADPOOL) + // Calling action == SetAction and *v = 0 means + // restoring m_maxThreads to the number of threads in the ThreadPool, +diff --git a/test/product_threaded.cpp b/test/product_threaded.cpp +index 1782c28..85c2615 100644 +--- a/test/product_threaded.cpp ++++ b/test/product_threaded.cpp +@@ -7,6 +7,7 @@ + // Public License v. 2.0. If a copy of the MPL was not distributed + // with this file, You can obtain one at http://mozilla.org/MPL/2.0/. + ++#define EIGEN_DONT_PARALLELIZE + #define EIGEN_GEMM_THREADPOOL + #include "main.h" + +-- +2.51.0 + diff --git a/dev-cpp/eigen/files/eigen-5.0.1-Do-not-show-deprecated-CUDA-device-properties-for-CU.patch b/dev-cpp/eigen/files/eigen-5.0.1-Do-not-show-deprecated-CUDA-device-properties-for-CU.patch new file mode 100644 index 000000000000..9a740351ead9 --- /dev/null +++ b/dev-cpp/eigen/files/eigen-5.0.1-Do-not-show-deprecated-CUDA-device-properties-for-CU.patch @@ -0,0 +1,29 @@ +From d0e70fb11f54ccc8117030482fb7b3b359261cbf Mon Sep 17 00:00:00 2001 +From: Paul Zander <negril.nx+gentoo@gmail.com> +Date: Mon, 22 Dec 2025 17:19:51 +0100 +Subject: Do not show deprecated CUDA device properties for CUDA-13 + +Fixes: 9e5714b93b3a0d7848e72db5fa2b58decaa60297 +Signed-off-by: Paul Zander <negril.nx+gentoo@gmail.com> + +diff --git a/test/gpu_common.h b/test/gpu_common.h +index f34f1b078..f47742079 100644 +--- a/test/gpu_common.h ++++ b/test/gpu_common.h +@@ -153,9 +153,13 @@ void ei_test_init_gpu() { + std::cout << " warpSize: " << deviceProp.warpSize << "\n"; + std::cout << " regsPerBlock: " << deviceProp.regsPerBlock << "\n"; + std::cout << " concurrentKernels: " << deviceProp.concurrentKernels << "\n"; ++#if defined(EIGEN_CUDA_SDK_VER) && EIGEN_CUDA_SDK_VER < 130000 + std::cout << " clockRate: " << deviceProp.clockRate << "\n"; ++#endif + std::cout << " canMapHostMemory: " << deviceProp.canMapHostMemory << "\n"; ++#if defined(EIGEN_CUDA_SDK_VER) && EIGEN_CUDA_SDK_VER < 130000 + std::cout << " computeMode: " << deviceProp.computeMode << "\n"; ++#endif + } + + #endif // EIGEN_TEST_GPU_COMMON_H +-- +2.52.0 + diff --git a/dev-cpp/eigen/files/eigen-5.0.1-c++-20.patch b/dev-cpp/eigen/files/eigen-5.0.1-c++-20.patch new file mode 100644 index 000000000000..c770cbe827cc --- /dev/null +++ b/dev-cpp/eigen/files/eigen-5.0.1-c++-20.patch @@ -0,0 +1,29 @@ +From: Nicholas Vinson <nvinson234@gmail.com> +Date: Mon, 15 Dec 2025 20:37:04 -0500 + +--- a/Eigen/src/Eigenvalues/ComplexSchur.h ++++ b/Eigen/src/Eigenvalues/ComplexSchur.h +@@ -277,7 +277,8 @@ + using std::abs; + if ((iter == 10 || iter == 20) && iu > 1) { + // exceptional shift, taken from http://www.netlib.org/eispack/comqr.f +- return abs(numext::real(m_matT.coeff(iu, iu - 1))) + abs(numext::real(m_matT.coeff(iu - 1, iu - 2))); ++ return ComplexSchur<MatrixType>::ComplexScalar( ++ abs(numext::real(m_matT.coeff(iu, iu - 1))) + abs(numext::real(m_matT.coeff(iu - 1, iu - 2)))); + } + + // compute the shift as one of the eigenvalues of t, the 2x2 +--- a/unsupported/Eigen/src/MatrixFunctions/MatrixFunction.h ++++ b/unsupported/Eigen/src/MatrixFunctions/MatrixFunction.h +@@ -86,7 +86,7 @@ + for (Index i = 0; i < rows; i++) + mx = (std::max)(mx, std::abs(m_f(Ashifted(i, i) + avgEival, static_cast<int>(s + r)))); + if (r != 0) rfactorial *= RealScalar(r); +- delta = (std::max)(delta, mx / rfactorial); ++ delta = (std::max)(delta, RealScalar(mx / rfactorial)); + } + const RealScalar P_norm = P.cwiseAbs().rowwise().sum().maxCoeff(); + if (mu * delta * P_norm < NumTraits<Scalar>::epsilon() * F_norm) // series converged +-- +2.52.0 + diff --git a/dev-cpp/eigen/files/eigen-5.0.1-cmake-GNUInstallDirs.patch b/dev-cpp/eigen/files/eigen-5.0.1-cmake-GNUInstallDirs.patch new file mode 100644 index 000000000000..d68e31b132ed --- /dev/null +++ b/dev-cpp/eigen/files/eigen-5.0.1-cmake-GNUInstallDirs.patch @@ -0,0 +1,57 @@ +From efcf4891a83e2757aa70de61eb17d81963085c20 Mon Sep 17 00:00:00 2001 +From: Paul Zander <negril.nx+gentoo@gmail.com> +Date: Sat, 27 Dec 2025 15:39:40 +0100 +Subject: cmake GNUInstallDirs + +Signed-off-by: Paul Zander <negril.nx+gentoo@gmail.com> + +diff --git a/blas/CMakeLists.txt b/blas/CMakeLists.txt +index 45488d7..f0f88c0 100644 +--- a/blas/CMakeLists.txt ++++ b/blas/CMakeLists.txt +@@ -31,10 +31,8 @@ foreach(target IN LISTS EIGEN_BLAS_TARGETS) + endif() + + add_dependencies(blas ${target}) +- install(TARGETS ${target} +- RUNTIME DESTINATION bin +- LIBRARY DESTINATION lib +- ARCHIVE DESTINATION lib) ++ include(GNUInstallDirs) ++ install(TARGETS ${target}) + endforeach() + + if(EIGEN_BUILD_TESTING) +diff --git a/doc/CMakeLists.txt b/doc/CMakeLists.txt +index da07b19d6..dec130bd5 100644 +--- a/doc/CMakeLists.txt ++++ b/doc/CMakeLists.txt +@@ -4,6 +4,8 @@ set_directory_properties(PROPERTIES EXCLUDE_FROM_ALL TRUE) + + project(EigenDoc) + ++include(GNUInstallDirs) ++ + if(CMAKE_COMPILER_IS_GNUCXX) + if(CMAKE_SYSTEM_NAME MATCHES Linux) + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -O1 -g1") +diff --git a/lapack/CMakeLists.txt b/lapack/CMakeLists.txt +index d837fff..9e127a6 100644 +--- a/lapack/CMakeLists.txt ++++ b/lapack/CMakeLists.txt +@@ -120,10 +120,8 @@ foreach(target IN LISTS EIGEN_LAPACK_TARGETS) + endif() + target_link_libraries(${target} Eigen3::Eigen) + add_dependencies(lapack ${target}) +- install(TARGETS ${target} +- RUNTIME DESTINATION bin +- LIBRARY DESTINATION lib +- ARCHIVE DESTINATION lib) ++ include(GNUInstallDirs) ++ install(TARGETS ${target}) + endforeach() + + +-- +2.52.0 + diff --git a/dev-cpp/eigen/files/eigen-5.0.1-fix-lapack_testing.py.patch b/dev-cpp/eigen/files/eigen-5.0.1-fix-lapack_testing.py.patch new file mode 100644 index 000000000000..cbba85d882cb --- /dev/null +++ b/dev-cpp/eigen/files/eigen-5.0.1-fix-lapack_testing.py.patch @@ -0,0 +1,248 @@ +From 8d05fb579428b57a784f72e054295ebfeac5864d Mon Sep 17 00:00:00 2001 +From: Paul Zander <negril.nx+gentoo@gmail.com> +Date: Fri, 13 Mar 2026 18:43:46 +0100 +Subject: fix lapack_testing.py + +Signed-off-by: Paul Zander <negril.nx+gentoo@gmail.com> + +diff --git a/lapack/testing/lapack_testing.py b/lapack/testing/lapack_testing.py +index 3bd9462..b35e15d 100755 +--- a/lapack/testing/lapack_testing.py ++++ b/lapack/testing/lapack_testing.py +@@ -15,9 +15,9 @@ try: + opts, args = getopt.getopt(sys.argv[1:], "hd:srep:t:n", + ["help", "dir", "short", "run", "error","prec=","test=","number"]) + +-except getopt.error, msg: +- print msg +- print "for help use --help" ++except (getopt.error, msg): ++ print(msg) ++ print("for help use --help") + sys.exit(2) + + short_summary=0 +@@ -29,38 +29,38 @@ only_numbers=0 + dir="TESTING" + for o, a in opts: + if o in ("-h", "--help"): +- print sys.argv[0]+" [-h|--help] [-d dir |--dir dir] [-s |--short] [-r |--run] [-e |--error] [-p p |--prec p] [-t test |--test test] [-n | --number]" +- print " - h is to print this message" +- print " - r is to use to run the LAPACK tests then analyse the output (.out files). By default, the script will not run all the LAPACK tests" +- print " - d [dir] is to indicate where is the LAPACK testing directory (.out files). By default, the script will use ." +- print " LEVEL OF OUTPUT" +- print " - x is to print a detailed summary" +- print " - e is to print only the error summary" +- print " - s is to print a short summary" +- print " - n is to print the numbers of failing tests (turn on summary mode)" +- print " SECLECTION OF TESTS:" +- print " - p [s/c/d/z/x] is to indicate the PRECISION to run:" +- print " s=single" +- print " d=double" +- print " sd=single/double" +- print " c=complex" +- print " z=double complex" +- print " cz=complex/double complex" +- print " x=all [DEFAULT]" +- print " - t [lin/eig/mixed/rfp/all] is to indicate which TEST FAMILY to run:" +- print " lin=Linear Equation" +- print " eig=Eigen Problems" +- print " mixed=mixed-precision" +- print " rfp=rfp format" +- print " all=all tests [DEFAULT]" +- print " EXAMPLES:" +- print " ./lapack_testing.py -n" +- print " Will return the numbers of failed tests by analyzing the LAPACK output" +- print " ./lapack_testing.py -n -r -p s" +- print " Will return the numbers of failed tests in REAL precision by running the LAPACK Tests then analyzing the output" +- print " ./lapack_testing.py -n -p s -t eig " +- print " Will return the numbers of failed tests in REAL precision by analyzing only the LAPACK output of EIGEN testings" +- print "Written by Julie Langou (June 2011) " ++ print(sys.argv[0]+" [-h|--help] [-d dir |--dir dir] [-s |--short] [-r |--run] [-e |--error] [-p p |--prec p] [-t test |--test test] [-n | --number]") ++ print(" - h is to print this message") ++ print(" - r is to use to run the LAPACK tests then analyse the output (.out files). By default, the script will not run all the LAPACK tests") ++ print(" - d [dir] is to indicate where is the LAPACK testing directory (.out files). By default, the script will use .") ++ print(" LEVEL OF OUTPUT") ++ print(" - x is to print a detailed summary") ++ print(" - e is to print only the error summary") ++ print(" - s is to print a short summary") ++ print(" - n is to print the numbers of failing tests (turn on summary mode)") ++ print(" SECLECTION OF TESTS:") ++ print(" - p [s/c/d/z/x] is to indicate the PRECISION to run:") ++ print(" s=single") ++ print(" d=double") ++ print(" sd=single/double") ++ print(" c=complex") ++ print(" z=double complex") ++ print(" cz=complex/double complex") ++ print(" x=all [DEFAULT]") ++ print(" - t [lin/eig/mixed/rfp/all] is to indicate which TEST FAMILY to run:") ++ print(" lin=Linear Equation") ++ print(" eig=Eigen Problems") ++ print(" mixed=mixed-precision") ++ print(" rfp=rfp format") ++ print(" all=all tests [DEFAULT]") ++ print(" EXAMPLES:") ++ print(" ./lapack_testing.py -n") ++ print(" Will return the numbers of failed tests by analyzing the LAPACK output") ++ print(" ./lapack_testing.py -n -r -p s") ++ print(" Will return the numbers of failed tests in REAL precision by running the LAPACK Tests then analyzing the output") ++ print(" ./lapack_testing.py -n -p s -t eig ") ++ print(" Will return the numbers of failed tests in REAL precision by analyzing only the LAPACK output of EIGEN testings") ++ print("Written by Julie Langou (June 2011) ") + sys.exit(0) + else: + if o in ("-s", "--short"): +@@ -120,34 +120,34 @@ def run_summary_test( f, cmdline, short_summary): + error_message=cmdline+" did not work" + + if r != 0 and not with_file: +- print "---- TESTING " + cmdline.split()[0] + "... FAILED(" + error_message +") !" ++ print("---- TESTING " + cmdline.split()[0] + "... FAILED(" + error_message +") !") + for line in pipe.readlines(): + f.write(str(line)) + elif r != 0 and with_file and not short_summary: +- print "---- WARNING: please check that you have the LAPACK output : "+cmdline+"!" +- print "---- WARNING: with the option -r, we can run the LAPACK testing for you" ++ print("---- WARNING: please check that you have the LAPACK output : "+cmdline+"!") ++ print("---- WARNING: with the option -r, we can run the LAPACK testing for you") + # print "---- "+error_message + else: + for line in pipe.readlines(): +- f.write(str(line)) +- words_in_line=line.split() +- if (line.find("run")!=-1): +-# print line +- whereisrun=words_in_line.index("run)") +- nb_test_run+=int(words_in_line[whereisrun-2]) +- if (line.find("out of")!=-1): +- if (short_summary==0): print line, +- whereisout= words_in_line.index("out") +- nb_test_fail+=int(words_in_line[whereisout-1]) +- if (line.find("illegal")!=-1): +- if (short_summary==0):print line, +- nb_test_illegal+=1 +- if (line.find(" INFO")!=-1): +- if (short_summary==0):print line, +- nb_test_info+=1 +- if (with_file==1): +- pipe.close() +- ++ f.write(str(line)) ++ words_in_line=line.split() ++ if (line.find("run")!=-1): ++# print line ++ whereisrun=words_in_line.index("run)") ++ nb_test_run+=int(words_in_line[whereisrun-2]) ++ if (line.find("out of")!=-1): ++ if (short_summary==0): print(line), ++ whereisout= words_in_line.index("out") ++ nb_test_fail+=int(words_in_line[whereisout-1]) ++ if (line.find("illegal")!=-1): ++ if (short_summary==0):print(line), ++ nb_test_illegal+=1 ++ if (line.find(" INFO")!=-1): ++ if (short_summary==0):print(line), ++ nb_test_info+=1 ++ if (with_file==1): ++ pipe.close() ++ + f.flush(); + + return [nb_test_run,nb_test_fail,nb_test_illegal,nb_test_info] +@@ -161,10 +161,10 @@ except IOError: + f = sys.stdout + + if (short_summary==0): +- print " " +- print "---------------- Testing LAPACK Routines ----------------" +- print " " +- print "-- Detailed results are stored in", filename ++ print(" ") ++ print("---------------- Testing LAPACK Routines ----------------") ++ print(" ") ++ print("-- Detailed results are stored in", filename) + + dtypes = ( + ("s", "d", "c", "z"), +@@ -211,9 +211,9 @@ for dtype in range_prec: + name = dtypes[1][dtype] + + if (short_summary==0): +- print " " +- print "------------------------- %s ------------------------" % name +- print " " ++ print(" ") ++ print("------------------------- %s ------------------------" % name) ++ print(" ") + sys.stdout.flush() + + +@@ -260,8 +260,8 @@ for dtype in range_prec: + # EIG TESTS + cmdbase="xeigtst"+letter+" < "+dtests[0][dtest]+".in > "+dtests[2][dtest]+".out" + if (not just_errors and not short_summary): +- print "--> Testing "+name+" "+dtests[1][dtest]+" [ "+cmdbase+" ]" +- # Run the process: either to read the file or run the LAPACK testing ++ print("--> Testing "+name+" "+dtests[1][dtest]+" [ "+cmdbase+" ]") ++ # Run the process: either to read the file or run the LAPACK testing + nb_test = run_summary_test(f, cmdbase, short_summary) + list_results[0][dtype]+=nb_test[0] + list_results[1][dtype]+=nb_test[1] +@@ -271,21 +271,21 @@ for dtype in range_prec: + + if (not short_summary): + if (nb_test[0]>0 and just_errors==0): +- print "--> Tests passed: "+str(nb_test[0]) ++ print("--> Tests passed: "+str(nb_test[0])) + if (nb_test[1]>0): +- print "--> Tests failing to pass the threshold: "+str(nb_test[1]) ++ print("--> Tests failing to pass the threshold: "+str(nb_test[1])) + if (nb_test[2]>0): +- print "--> Illegal Error: "+str(nb_test[2]) ++ print("--> Illegal Error: "+str(nb_test[2])) + if (nb_test[3]>0): +- print "--> Info Error: "+str(nb_test[3]) ++ print("--> Info Error: "+str(nb_test[3])) + if (got_error>0 and just_errors==1): +- print "ERROR IS LOCATED IN "+name+" "+dtests[1][dtest]+" [ "+cmdbase+" ]" +- print "" ++ print("ERROR IS LOCATED IN "+name+" "+dtests[1][dtest]+" [ "+cmdbase+" ]") ++ print("") + if (just_errors==0): +- print "" ++ print("") + # elif (got_error>0): +-# print dtests[2][dtest]+".out \t"+str(nb_test[1])+"\t"+str(nb_test[2])+"\t"+str(nb_test[3]) + ++# print(dtests[2][dtest]+".out \t"+str(nb_test[1])+"\t"+str(nb_test[2])+"\t"+str(nb_test[3])) + sys.stdout.flush() + if (list_results[0][dtype] > 0 ): + percent_num_error=float(list_results[1][dtype])/float(list_results[0][dtype])*100 +@@ -300,9 +300,9 @@ for dtype in range_prec: + list_results[3][4]+=list_results[3][dtype] + + if only_numbers==1: +- print str(list_results[1][4])+"\n"+str(list_results[2][4]+list_results[3][4]) ++ print(str(list_results[1][4])+"\n"+str(list_results[2][4]+list_results[3][4])) + else: +- print summary ++ print(summary) + if (list_results[0][4] > 0 ): + percent_num_error=float(list_results[1][4])/float(list_results[0][4])*100 + percent_error=float(list_results[2][4]+list_results[3][4])/float(list_results[0][4])*100 +@@ -310,9 +310,9 @@ else: + percent_num_error=0 + percent_error=0 + if (prec=='x'): +- print "--> ALL PRECISIONS\t"+str(list_results[0][4])+"\t\t"+str(list_results[1][4])+"\t("+"%.3f" % percent_num_error+"%)\t"+str(list_results[2][4]+list_results[3][4])+"\t("+"%.3f" % percent_error+"%)\t""\n" ++ print("--> ALL PRECISIONS\t"+str(list_results[0][4])+"\t\t"+str(list_results[1][4])+"\t("+"%.3f" % percent_num_error+"%)\t"+str(list_results[2][4]+list_results[3][4])+"\t("+"%.3f" % percent_error+"%)\t""\n") + if list_results[0][4] == 0: +- print "NO TESTS WERE ANALYZED, please use the -r option to run the LAPACK TESTING" ++ print("NO TESTS WERE ANALYZED, please use the -r option to run the LAPACK TESTING") + + # This may close the sys.stdout stream, so make it the last statement + f.close() +-- +2.53.0 + diff --git a/dev-cpp/eigen/files/eigen-5.0.1-make-static-libs-optional.patch b/dev-cpp/eigen/files/eigen-5.0.1-make-static-libs-optional.patch new file mode 100644 index 000000000000..63272d4a82d8 --- /dev/null +++ b/dev-cpp/eigen/files/eigen-5.0.1-make-static-libs-optional.patch @@ -0,0 +1,61 @@ +From 9ddec05248d0084c4bfe737fa9ab3cf61f3ecd4a Mon Sep 17 00:00:00 2001 +From: Paul Zander <negril.nx+gentoo@gmail.com> +Date: Thu, 12 Mar 2026 16:38:02 +0100 +Subject: make static libs optional + +Signed-off-by: Paul Zander <negril.nx+gentoo@gmail.com> + +diff --git a/blas/CMakeLists.txt b/blas/CMakeLists.txt +index 2bd498a11..0b605cc9e 100644 +--- a/blas/CMakeLists.txt ++++ b/blas/CMakeLists.txt +@@ -15,8 +15,10 @@ set(EigenBlas_SRCS single.cpp double.cpp complex_single.cpp complex_double.cpp + + set(EIGEN_BLAS_TARGETS "") + ++if (EIGEN_BUILD_STATIC_LIBS) + add_library(eigen_blas_static STATIC ${EigenBlas_SRCS}) + list(APPEND EIGEN_BLAS_TARGETS eigen_blas_static) ++endif() + + if (EIGEN_BUILD_SHARED_LIBS) + add_library(eigen_blas SHARED ${EigenBlas_SRCS} "eigen_blas.def") +@@ -34,7 +36,9 @@ foreach(target IN LISTS EIGEN_BLAS_TARGETS) + + add_dependencies(blas ${target}) + include(GNUInstallDirs) ++ if (NOT EIGEN_INSTALL_STATIC_LIBS AND NOT ${target} EQUAL eigen_blas_static) + install(TARGETS ${target}) ++ endif() + endforeach() + + if(EIGEN_BUILD_TESTING) +diff --git a/lapack/CMakeLists.txt b/lapack/CMakeLists.txt +index f98f77afc..4ea553b56 100644 +--- a/lapack/CMakeLists.txt ++++ b/lapack/CMakeLists.txt +@@ -101,9 +101,11 @@ endif() + + set(EIGEN_LAPACK_TARGETS "") + ++if (EIGEN_BUILD_STATIC_LIBS) + add_library(eigen_lapack_static STATIC ${EigenLapack_SRCS} ${ReferenceLapack_SRCS}) + target_link_libraries(eigen_lapack_static eigen_blas_static) + list(APPEND EIGEN_LAPACK_TARGETS eigen_lapack_static) ++endif() + + if (EIGEN_BUILD_SHARED_LIBS) + add_library(eigen_lapack SHARED ${EigenLapack_SRCS} ${EIGEN_LAPACK_DEF}) +@@ -123,7 +125,9 @@ foreach(target IN LISTS EIGEN_LAPACK_TARGETS) + target_link_libraries(${target} Eigen3::Eigen) + add_dependencies(lapack ${target}) + include(GNUInstallDirs) ++ if (NOT EIGEN_INSTALL_STATIC_LIBS AND NOT ${target} EQUAL eigen_lapack_static) + install(TARGETS ${target}) ++ endif() + endforeach() + + +-- +2.53.0 + diff --git a/dev-cpp/eigen/files/eigen-9999-Do-not-show-deprecated-CUDA-device-properties-for-CU.patch b/dev-cpp/eigen/files/eigen-9999-Do-not-show-deprecated-CUDA-device-properties-for-CU.patch new file mode 100644 index 000000000000..0d762191009c --- /dev/null +++ b/dev-cpp/eigen/files/eigen-9999-Do-not-show-deprecated-CUDA-device-properties-for-CU.patch @@ -0,0 +1,29 @@ +From f14dfe5022870966d0d888651f0d4f5b3af5f25c Mon Sep 17 00:00:00 2001 +From: Paul Zander <negril.nx+gentoo@gmail.com> +Date: Mon, 22 Dec 2025 17:19:51 +0100 +Subject: Do not show deprecated CUDA device properties for CUDA-13 + +Fixes: 9e5714b93b3a0d7848e72db5fa2b58decaa60297 +Signed-off-by: Paul Zander <negril.nx+gentoo@gmail.com> + +diff --git a/test/gpu_common.h b/test/gpu_common.h +index 8c7049b17..f47742079 100644 +--- a/test/gpu_common.h ++++ b/test/gpu_common.h +@@ -153,7 +153,13 @@ void ei_test_init_gpu() { + std::cout << " warpSize: " << deviceProp.warpSize << "\n"; + std::cout << " regsPerBlock: " << deviceProp.regsPerBlock << "\n"; + std::cout << " concurrentKernels: " << deviceProp.concurrentKernels << "\n"; ++#if defined(EIGEN_CUDA_SDK_VER) && EIGEN_CUDA_SDK_VER < 130000 ++ std::cout << " clockRate: " << deviceProp.clockRate << "\n"; ++#endif + std::cout << " canMapHostMemory: " << deviceProp.canMapHostMemory << "\n"; ++#if defined(EIGEN_CUDA_SDK_VER) && EIGEN_CUDA_SDK_VER < 130000 ++ std::cout << " computeMode: " << deviceProp.computeMode << "\n"; ++#endif + } + + #endif // EIGEN_TEST_GPU_COMMON_H +-- +2.53.0 + diff --git a/dev-cpp/eigen/files/eigen-9999-please_protect_your_min_with_parentheses.patch b/dev-cpp/eigen/files/eigen-9999-please_protect_your_min_with_parentheses.patch deleted file mode 100644 index 0453fd33a8ae..000000000000 --- a/dev-cpp/eigen/files/eigen-9999-please_protect_your_min_with_parentheses.patch +++ /dev/null @@ -1,54 +0,0 @@ -diff --git a/test/main.h b/test/main.h -index 771725f06..df22e12f6 100644 ---- a/test/main.h -+++ b/test/main.h -@@ -86,32 +86,6 @@ - #define EIGEN_DEFAULT_DENSE_INDEX_TYPE int - #endif - --// To test that all calls from Eigen code to std::min() and std::max() are --// protected by parenthesis against macro expansion, the min()/max() macros --// are defined here and any not-parenthesized min/max call will cause a --// compiler error. --#if !defined(__HIPCC__) && !defined(EIGEN_USE_SYCL) && !defined(EIGEN_POCKETFFT_DEFAULT) --// --// HIP header files include the following files --// <thread> --// <regex> --// <unordered_map> --// which seem to contain not-parenthesized calls to "max"/"min", triggering the following check and causing the compile --// to fail --// --// Including those header files before the following macro definition for "min" / "max", only partially resolves the --// issue This is because other HIP header files also define "isnan" / "isinf" / "isfinite" functions, which are needed --// in other headers. --// --// So instead choosing to simply disable this check for HIP --// --#define min(A, B) please_protect_your_min_with_parentheses --#define max(A, B) please_protect_your_max_with_parentheses --#define isnan(X) please_protect_your_isnan_with_parentheses --#define isinf(X) please_protect_your_isinf_with_parentheses --#define isfinite(X) please_protect_your_isfinite_with_parentheses --#endif -- - // test possible conflicts - struct real {}; - struct imag {}; -diff --git a/test/main.h b/test/main.h -index df22e12f6..5ca40424e 100644 ---- a/test/main.h -+++ b/test/main.h -@@ -95,12 +95,6 @@ struct imag {}; - #endif - #define M_PI please_use_EIGEN_PI_instead_of_M_PI - --#define FORBIDDEN_IDENTIFIER \ -- (this_identifier_is_forbidden_to_avoid_clashes) this_identifier_is_forbidden_to_avoid_clashes --// B0 is defined in POSIX header termios.h --#define B0 FORBIDDEN_IDENTIFIER --#define I FORBIDDEN_IDENTIFIER -- - // _res is defined by resolv.h - #define _res FORBIDDEN_IDENTIFIER - diff --git a/dev-cpp/eigen/files/eigen-9999-product_threaded_dont_parallelize.patch b/dev-cpp/eigen/files/eigen-9999-product_threaded_dont_parallelize.patch new file mode 100644 index 000000000000..4153896b3933 --- /dev/null +++ b/dev-cpp/eigen/files/eigen-9999-product_threaded_dont_parallelize.patch @@ -0,0 +1,22 @@ +From 056b77036b4c97fee25bbd7a747e55c75c79cd48 Mon Sep 17 00:00:00 2001 +From: Paul Zander <negril.nx+gentoo@gmail.com> +Date: Tue, 23 Sep 2025 00:40:14 +0200 +Subject: [PATCH] product_threaded don't parallelize + +Signed-off-by: Paul Zander <negril.nx+gentoo@gmail.com> + +diff --git a/test/product_threaded.cpp b/test/product_threaded.cpp +index 1782c28..85c2615 100644 +--- a/test/product_threaded.cpp ++++ b/test/product_threaded.cpp +@@ -8,6 +8,7 @@ + // with this file, You can obtain one at http://mozilla.org/MPL/2.0/. + // SPDX-License-Identifier: MPL-2.0 + ++#define EIGEN_DONT_PARALLELIZE + #define EIGEN_GEMM_THREADPOOL + #include "main.h" + +-- +2.51.0 + diff --git a/dev-cpp/eigen/metadata.xml b/dev-cpp/eigen/metadata.xml index 64a2bf0caa35..b6edab89860e 100644 --- a/dev-cpp/eigen/metadata.xml +++ b/dev-cpp/eigen/metadata.xml @@ -18,23 +18,26 @@ </longdescription> <use> - <flag name="benchmark">Build benchmark suite</flag> - <flag name="clang">Use clang for cuda units compilation</flag> - <flag name="clang-cuda">Use clang for cuda units compilation</flag> - <flag name="hip">Enable HIP GPU computing support</flag> <flag name="adolc">Add test support for Adolc (<pkg>sci-libs/adolc</pkg>)</flag> + <flag name="blas">Build the Eigen Blas library</flag> <flag name="boost">Add test support for Boost.Multiprecision (<pkg>dev-libs/boost</pkg>)</flag> <flag name="cholmod">Add test support for CHOLMOD (<pkg>sci-libs/cholmod</pkg>)</flag> + <flag name="clang">Use clang for cuda units compilation</flag> + <flag name="cuda-clang">Use clang for cuda units compilation</flag> <flag name="fftw">Add test support for fftw (<pkg>sci-libs/fftw</pkg>)</flag> + <flag name="hip">Enable HIP GPU computing support</flag> <flag name="klu">Add test support for KLU (<pkg>sci-libs/klu</pkg>)</flag> + <flag name="lapack">Build the included Eigen LAPACK library</flag> <flag name="mathjax">Use MathJax for rendering math in HTML docs (dev-libs/mathjax)</flag> + <flag name="metis">Add test support for METIS (<pkg>sci-libs/metis</pkg>)</flag> <flag name="opengl">Add test support for OpenGL</flag> - <flag name="openmp">Add test support for the OpenMP (support parallel computing)</flag> + <flag name="openmp">Add test support for OpenMP (support parallel computing)</flag> <flag name="pastix">Add test support for PaStiX (<pkg>sci-libs/pastix</pkg>)</flag> + <flag name="pocketfft">Add test support for pocketfft (<pkg>dev-libs/pocketfft</pkg>)</flag> <flag name="sparsehash">Add test support for GoogleHash (<pkg>dev-cpp/sparsehash</pkg>)</flag> <flag name="spqr">Add test support for SPQR (<pkg>sci-libs/spqr</pkg>)</flag> <flag name="superlu">Add test support for SuperLU (<pkg>sci-libs/superlu</pkg>)</flag> <flag name="umfpack">Add test support for UMFPACK (<pkg>sci-libs/umfpack</pkg>)</flag> </use> - <origin>gentoo-staging</origin> + <origin>liguros-repo</origin> </pkgmetadata>
\ No newline at end of file diff --git a/dev-cpp/elfio/metadata.xml b/dev-cpp/elfio/metadata.xml index 7005c32b12c1..fc27a371aff2 100644 --- a/dev-cpp/elfio/metadata.xml +++ b/dev-cpp/elfio/metadata.xml @@ -6,5 +6,5 @@ <name>Sam James</name> </maintainer> - <origin>gentoo-staging</origin> + <origin>liguros-repo</origin> </pkgmetadata>
\ No newline at end of file diff --git a/dev-cpp/expected-lite/metadata.xml b/dev-cpp/expected-lite/metadata.xml index cf46ad5e73d5..a57f9fb10a40 100644 --- a/dev-cpp/expected-lite/metadata.xml +++ b/dev-cpp/expected-lite/metadata.xml @@ -13,5 +13,5 @@ <changelog>https://github.com/martinmoene/expected-lite/releases</changelog> <bugs-to>https://github.com/martinmoene/expected-lite/issues</bugs-to> </upstream> - <origin>gentoo-staging</origin> + <origin>liguros-repo</origin> </pkgmetadata>
\ No newline at end of file diff --git a/dev-cpp/expected/metadata.xml b/dev-cpp/expected/metadata.xml index 20ada97b729e..cca1e4ab8b94 100644 --- a/dev-cpp/expected/metadata.xml +++ b/dev-cpp/expected/metadata.xml @@ -9,5 +9,5 @@ <changelog>https://github.com/TartanLlama//expected/releases</changelog> <bugs-to>https://github.com/TartanLlama//expected/issues</bugs-to> </upstream> - <origin>gentoo-staging</origin> + <origin>liguros-repo</origin> </pkgmetadata>
\ No newline at end of file diff --git a/dev-cpp/exprtk/metadata.xml b/dev-cpp/exprtk/metadata.xml index ed6fa7c59727..d05e65519142 100644 --- a/dev-cpp/exprtk/metadata.xml +++ b/dev-cpp/exprtk/metadata.xml @@ -10,5 +10,5 @@ <name>Proxy Maintainers</name> </maintainer> - <origin>gentoo-staging</origin> + <origin>liguros-repo</origin> </pkgmetadata>
\ No newline at end of file diff --git a/dev-cpp/fast_double_parser/metadata.xml b/dev-cpp/fast_double_parser/metadata.xml index 736a1167c898..7a420b460d5e 100644 --- a/dev-cpp/fast_double_parser/metadata.xml +++ b/dev-cpp/fast_double_parser/metadata.xml @@ -2,5 +2,5 @@ <!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd"> <pkgmetadata> - <origin>gentoo-guru-overlay</origin> + <origin>liguros-repo</origin> </pkgmetadata>
\ No newline at end of file diff --git a/dev-cpp/fast_float/metadata.xml b/dev-cpp/fast_float/metadata.xml index e96ff1c9c98c..70e6325fded3 100644 --- a/dev-cpp/fast_float/metadata.xml +++ b/dev-cpp/fast_float/metadata.xml @@ -5,5 +5,5 @@ <changelog>https://github.com/fastfloat/fast_float/releases</changelog> <bugs-to>https://github.com/fastfloat/fast_float/issues</bugs-to> </upstream> - <origin>gentoo-staging</origin> + <origin>liguros-repo</origin> </pkgmetadata>
\ No newline at end of file diff --git a/dev-cpp/fb303/metadata.xml b/dev-cpp/fb303/metadata.xml index 8a55334d67dc..37174a5d9749 100644 --- a/dev-cpp/fb303/metadata.xml +++ b/dev-cpp/fb303/metadata.xml @@ -10,5 +10,5 @@ <name>Proxy Maintainers</name> </maintainer> - <origin>gentoo-staging</origin> + <origin>liguros-repo</origin> </pkgmetadata>
\ No newline at end of file diff --git a/dev-cpp/fbthrift/metadata.xml b/dev-cpp/fbthrift/metadata.xml index 968c3a49c113..19ae34b86547 100644 --- a/dev-cpp/fbthrift/metadata.xml +++ b/dev-cpp/fbthrift/metadata.xml @@ -12,5 +12,5 @@ <upstream> <remote-id type="cpe">cpe:/a:facebook:thrift</remote-id> </upstream> - <origin>gentoo-staging</origin> + <origin>liguros-repo</origin> </pkgmetadata>
\ No newline at end of file diff --git a/dev-cpp/finalcut/files/metadata.xml b/dev-cpp/finalcut/files/metadata.xml index 8c8101bcdb2c..286f2958e9d9 100644 --- a/dev-cpp/finalcut/files/metadata.xml +++ b/dev-cpp/finalcut/files/metadata.xml @@ -6,5 +6,5 @@ <name>Development</name> </maintainer> - <origin>gentoo-guru-overlay</origin> + <origin>liguros-repo</origin> </pkgmetadata>
\ No newline at end of file diff --git a/dev-cpp/finalcut/metadata.xml b/dev-cpp/finalcut/metadata.xml index 4204cee5471e..29a99df4550e 100644 --- a/dev-cpp/finalcut/metadata.xml +++ b/dev-cpp/finalcut/metadata.xml @@ -39,7 +39,7 @@ <bugs-to>https://github.com/gansm/finalcut/issues/</bugs-to> <doc>https://github.com/gansm/finalcut/wiki/</doc> </upstream> - <origin>gentoo-guru-overlay</origin> + <origin>liguros-repo</origin> <slots> <subslots>Reflect ABI compatibility for libfinal.so</subslots> </slots> diff --git a/dev-cpp/fizz/metadata.xml b/dev-cpp/fizz/metadata.xml index 286ae51fced1..6ff06162a640 100644 --- a/dev-cpp/fizz/metadata.xml +++ b/dev-cpp/fizz/metadata.xml @@ -12,5 +12,5 @@ <upstream> <remote-id type="cpe">cpe:/a:facebook:fizz</remote-id> </upstream> - <origin>gentoo-staging</origin> + <origin>liguros-repo</origin> </pkgmetadata>
\ No newline at end of file diff --git a/dev-cpp/fkYAML/files/fkYAML-0.4.2_p20250522-Strip-Werror.patch b/dev-cpp/fkYAML/files/fkYAML-0.4.2_p20250522-Strip-Werror.patch new file mode 100644 index 000000000000..8bb13654585b --- /dev/null +++ b/dev-cpp/fkYAML/files/fkYAML-0.4.2_p20250522-Strip-Werror.patch @@ -0,0 +1,30 @@ +From: Pavel Sobolev <contact@paveloom.dev> +Subject: [PATCH] Strip `-Werror`. + +Signed-off-by: Pavel Sobolev <contact@paveloom.dev> + +--- a/tests/unit_test/CMakeLists.txt ++++ b/tests/unit_test/CMakeLists.txt +@@ -117,18 +117,18 @@ target_compile_options( + > + # GNU + $<$<CXX_COMPILER_ID:GNU>: +- -Wall -Wextra -Werror -pedantic -Wpedantic -Wdeprecated --all-warnings --extra-warnings ++ -Wall -Wextra -pedantic -Wpedantic -Wdeprecated --all-warnings --extra-warnings + -Wno-deprecated-declarations # for testing deprecated functions + -Wno-self-move # necessary to build the detail::iterator class test + > + # Clang + $<$<CXX_COMPILER_ID:Clang>: +- -Wall -Wextra -Werror -pedantic -Wdeprecated ++ -Wall -Wextra -pedantic -Wdeprecated + -Wno-c++98-compat -Wno-c++98-compat-pedantic + -Wno-deprecated-declarations # for testing deprecated functions + > + $<$<CXX_COMPILER_ID:AppleClang>: +- -Wall -Wextra -Werror -pedantic -Wdeprecated ++ -Wall -Wextra -pedantic -Wdeprecated + -Wno-deprecated-declarations # for testing deprecated functions + > + # IntelLLVM + diff --git a/dev-cpp/fkYAML/fkYAML-0.4.2_p20250522.ebuild b/dev-cpp/fkYAML/fkYAML-0.4.2_p20250522.ebuild index 70fb0c2ba073..626cb8330b40 100644 --- a/dev-cpp/fkYAML/fkYAML-0.4.2_p20250522.ebuild +++ b/dev-cpp/fkYAML/fkYAML-0.4.2_p20250522.ebuild @@ -24,6 +24,7 @@ BDEPEND=" " PATCHES=( + "${FILESDIR}/${PN}-0.4.2_p20250522-Strip-Werror.patch" "${FILESDIR}/${PN}-0.4.2_p20250522-Use-system-Catch2.patch" ) diff --git a/dev-cpp/fkYAML/metadata.xml b/dev-cpp/fkYAML/metadata.xml index 14889d9bf84d..56a2d868ab82 100644 --- a/dev-cpp/fkYAML/metadata.xml +++ b/dev-cpp/fkYAML/metadata.xml @@ -8,5 +8,5 @@ <upstream> <bugs-to>https://github.com/fktn-k/fkYAML</bugs-to> </upstream> - <origin>gentoo-guru-overlay</origin> + <origin>liguros-repo</origin> </pkgmetadata>
\ No newline at end of file diff --git a/dev-cpp/folly/metadata.xml b/dev-cpp/folly/metadata.xml index 707b15fcd8f5..833b2dd36ebb 100644 --- a/dev-cpp/folly/metadata.xml +++ b/dev-cpp/folly/metadata.xml @@ -12,5 +12,5 @@ <upstream> <remote-id type="cpe">cpe:/a:facebook:folly</remote-id> </upstream> - <origin>gentoo-staging</origin> + <origin>liguros-repo</origin> </pkgmetadata>
\ No newline at end of file diff --git a/dev-cpp/frugally-deep/frugally-deep-0.15.30.ebuild b/dev-cpp/frugally-deep/frugally-deep-0.15.30.ebuild index 10423b3cb2a8..e173746a9533 100644 --- a/dev-cpp/frugally-deep/frugally-deep-0.15.30.ebuild +++ b/dev-cpp/frugally-deep/frugally-deep-0.15.30.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2024 Gentoo Authors +# Copyright 1999-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -15,7 +15,7 @@ KEYWORDS="~amd64" DEPEND=" dev-cpp/functional-plus - dev-cpp/eigen + dev-cpp/eigen:= dev-cpp/nlohmann_json " diff --git a/dev-cpp/frugally-deep/metadata.xml b/dev-cpp/frugally-deep/metadata.xml index 5d4da29dbb36..e2f5e3136333 100644 --- a/dev-cpp/frugally-deep/metadata.xml +++ b/dev-cpp/frugally-deep/metadata.xml @@ -12,5 +12,5 @@ <upstream> <bugs-to>https://github.com/Dobiasd/frugally-deep/issues</bugs-to> </upstream> - <origin>gentoo-staging</origin> + <origin>liguros-repo</origin> </pkgmetadata>
\ No newline at end of file diff --git a/dev-cpp/functional-plus/metadata.xml b/dev-cpp/functional-plus/metadata.xml index 1ee36a10aa6c..ac2786389c44 100644 --- a/dev-cpp/functional-plus/metadata.xml +++ b/dev-cpp/functional-plus/metadata.xml @@ -12,5 +12,5 @@ <upstream> <bugs-to>https://github.com/Dobiasd/FunctionalPlus/issues</bugs-to> </upstream> - <origin>gentoo-staging</origin> + <origin>liguros-repo</origin> </pkgmetadata>
\ No newline at end of file diff --git a/dev-cpp/gflags/metadata.xml b/dev-cpp/gflags/metadata.xml index 72c099e5e5dc..74d1e6aa6d21 100644 --- a/dev-cpp/gflags/metadata.xml +++ b/dev-cpp/gflags/metadata.xml @@ -5,5 +5,5 @@ <email>amynka@gentoo.org</email> </maintainer> - <origin>gentoo-staging</origin> + <origin>liguros-repo</origin> </pkgmetadata>
\ No newline at end of file diff --git a/dev-cpp/glaze/glaze-5.2.1.ebuild b/dev-cpp/glaze/glaze-5.2.1.ebuild index 7a38952ed260..0c21e07e7a82 100644 --- a/dev-cpp/glaze/glaze-5.2.1.ebuild +++ b/dev-cpp/glaze/glaze-5.2.1.ebuild @@ -20,7 +20,7 @@ RESTRICT="!test? ( test )" DEPEND=" test? ( dev-cpp/asio - >=dev-cpp/eigen-3.4 + >=dev-cpp/eigen-3.4:= dev-cpp/ut2-glaze ) " diff --git a/dev-cpp/glaze/glaze-5.5.4.ebuild b/dev-cpp/glaze/glaze-5.5.4.ebuild index 7a38952ed260..0c21e07e7a82 100644 --- a/dev-cpp/glaze/glaze-5.5.4.ebuild +++ b/dev-cpp/glaze/glaze-5.5.4.ebuild @@ -20,7 +20,7 @@ RESTRICT="!test? ( test )" DEPEND=" test? ( dev-cpp/asio - >=dev-cpp/eigen-3.4 + >=dev-cpp/eigen-3.4:= dev-cpp/ut2-glaze ) " diff --git a/dev-cpp/glaze/glaze-6.5.1.ebuild b/dev-cpp/glaze/glaze-6.5.1.ebuild index bf3255dce0da..fad3d3ad432c 100644 --- a/dev-cpp/glaze/glaze-6.5.1.ebuild +++ b/dev-cpp/glaze/glaze-6.5.1.ebuild @@ -20,7 +20,7 @@ RESTRICT="!test? ( test )" DEPEND=" test? ( dev-cpp/asio - >=dev-cpp/eigen-3.4 + >=dev-cpp/eigen-3.4:= dev-cpp/ut2-glaze ) " diff --git a/dev-cpp/glaze/metadata.xml b/dev-cpp/glaze/metadata.xml index f52819722720..eab6127d94e5 100644 --- a/dev-cpp/glaze/metadata.xml +++ b/dev-cpp/glaze/metadata.xml @@ -21,5 +21,5 @@ <flag name="fuzzing">Build fuzzers (not install)</flag> <flag name="examples">Build examples (not install)</flag> </use> - <origin>gentoo-staging</origin> + <origin>liguros-repo</origin> </pkgmetadata>
\ No newline at end of file diff --git a/dev-cpp/glibmm/Manifest b/dev-cpp/glibmm/Manifest index c4e3824d74dd..22ec80bf5313 100644 --- a/dev-cpp/glibmm/Manifest +++ b/dev-cpp/glibmm/Manifest @@ -1,2 +1,3 @@ DIST glibmm-2.66.8.tar.xz 8597344 BLAKE2B 43ce7739259b928ed71946b3de8090aab9c4c900d8233dbe16cef2a1ff9b9521f304b50bf4a57c9398aaa8deed882600814551404991d1cdd09b3c45bb461cc7 SHA512 4ebf203324d3ee95c47012915efb39d4dc59eb7a6f337e7b8c7c0b3589574b07967974363931b0d4159618f88178b04715b2c359c3dc3f67a7781bfac0d9f277 DIST glibmm-2.84.0.tar.xz 9596876 BLAKE2B efbf89adaed0d673bc6391f44205cdbfa5400c4137a199cb69bb7580b81ae0e2d2304906b0b15409c68b369929d44fb2b9134d23638d7244a69f92ccfc7a8402 SHA512 dbe7d7b39ccf4a4acb0a67a0eab1a4b5f47dff3c0ae645aa2eaca498b646ee2da0f6f8ef81b3253621119d94bcdc3b1d4dcbf234eedfbd20aaa065c430e67daf +DIST glibmm-2.88.0.tar.xz 9523144 BLAKE2B 614ef69c23345b4080656e55c24cb4781682d6a5cbb05377022921fac533509c7187590080ce2c1819f57d364bc6d9528e2aa2c62cdd71741b91f592a7da6825 SHA512 550c9087ead950de3d7de2eac29ea7cab23c70ce1a0081c162df0369765d547d754dc296a0f06ab494df01f43f7bab29dfb88b6d2fdf920eebc3aef896dff1f0 diff --git a/dev-cpp/glibmm/glibmm-2.66.8.ebuild b/dev-cpp/glibmm/glibmm-2.66.8.ebuild index 3bf8e4d79af9..6d8e925342af 100644 --- a/dev-cpp/glibmm/glibmm-2.66.8.ebuild +++ b/dev-cpp/glibmm/glibmm-2.66.8.ebuild @@ -2,7 +2,7 @@ # Distributed under the terms of the GNU General Public License v2 EAPI=8 -PYTHON_COMPAT=( python3_{10..14} ) +PYTHON_COMPAT=( python3_{11..14} ) inherit gnome.org meson-multilib python-any-r1 DESCRIPTION="C++ interface for glib2" diff --git a/dev-cpp/glibmm/glibmm-2.84.0.ebuild b/dev-cpp/glibmm/glibmm-2.84.0.ebuild index 76ee4fedf1d3..04313c193e9a 100644 --- a/dev-cpp/glibmm/glibmm-2.84.0.ebuild +++ b/dev-cpp/glibmm/glibmm-2.84.0.ebuild @@ -2,7 +2,7 @@ # Distributed under the terms of the GNU General Public License v2 EAPI=8 -PYTHON_COMPAT=( python3_{10..14} ) +PYTHON_COMPAT=( python3_{11..14} ) inherit gnome.org meson-multilib python-any-r1 DESCRIPTION="C++ interface for glib2" diff --git a/dev-cpp/glibmm/glibmm-2.88.0.ebuild b/dev-cpp/glibmm/glibmm-2.88.0.ebuild new file mode 100644 index 000000000000..7d912b366079 --- /dev/null +++ b/dev-cpp/glibmm/glibmm-2.88.0.ebuild @@ -0,0 +1,52 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 +PYTHON_COMPAT=( python3_{11..14} ) +inherit gnome.org meson-multilib python-any-r1 + +DESCRIPTION="C++ interface for glib2" +HOMEPAGE="https://gnome.pages.gitlab.gnome.org/glibmm/" + +LICENSE="LGPL-2.1+" +SLOT="2.68" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86" +IUSE="gtk-doc debug test" +RESTRICT="!test? ( test )" + +RDEPEND=" + >=dev-libs/glib-2.87.3:2[${MULTILIB_USEDEP}] + dev-libs/libsigc++:3[gtk-doc?,${MULTILIB_USEDEP}] +" +DEPEND="${RDEPEND}" +BDEPEND=" + ${PYTHON_DEPS} + virtual/pkgconfig + gtk-doc? ( + app-text/doxygen[dot] + dev-lang/perl + dev-libs/libxslt + ) +" + +src_prepare() { + default + + # giomm_tls_client requires FEATURES=-network-sandbox and glib-networking rdep + sed -i -e '/giomm_tls_client/d' tests/meson.build || die + + if ! use test; then + sed -i -e "/^subdir('tests')/d" meson.build || die + fi +} + +multilib_src_configure() { + local emesonargs=( + -Dwarnings=min + -Dbuild-deprecated-api=true + $(meson_native_use_bool gtk-doc build-documentation) + $(meson_use debug debug-refcounting) + -Dbuild-examples=false + ) + meson_src_configure +} diff --git a/dev-cpp/glibmm/metadata.xml b/dev-cpp/glibmm/metadata.xml index f2710c9e5c09..c9b6b0b24a72 100644 --- a/dev-cpp/glibmm/metadata.xml +++ b/dev-cpp/glibmm/metadata.xml @@ -6,5 +6,5 @@ <name>Gentoo GNOME Desktop</name> </maintainer> - <origin>gentoo-staging</origin> + <origin>liguros-repo</origin> </pkgmetadata>
\ No newline at end of file diff --git a/dev-cpp/glog/metadata.xml b/dev-cpp/glog/metadata.xml index dbb5dc114820..0bead73b19e9 100644 --- a/dev-cpp/glog/metadata.xml +++ b/dev-cpp/glog/metadata.xml @@ -10,5 +10,5 @@ <flag name="gflags">Use <pkg>dev-cpp/gflags</pkg> for flag parsing</flag> <flag name="libunwind">Use libunwind library (<pkg>sys-libs/libunwind</pkg> or <pkg>llvm-runtimes/libunwind</pkg>) instead of built-in fallback implementation for stack unwinding</flag> </use> - <origin>gentoo-staging</origin> + <origin>liguros-repo</origin> </pkgmetadata>
\ No newline at end of file diff --git a/dev-cpp/gpgmepp/Manifest b/dev-cpp/gpgmepp/Manifest index d5b8efdef3d0..8813f4ea5266 100644 --- a/dev-cpp/gpgmepp/Manifest +++ b/dev-cpp/gpgmepp/Manifest @@ -1,2 +1,4 @@ DIST gpgmepp-2.0.0.tar.xz 118304 BLAKE2B bc1df6462b8ceda69ed662bc533dcc0223230873bbf10ef51d009740bf63a5754e0c06fd29c3a74cdecdf565f54d29e3cdaa6e1148e566efacd5d1eb5d183a1f SHA512 ed98f5dfd45efa216d0fc983ad650b46235b28a8e4faaf4349bc8e14cf76758e3099cfdc61e549f07e57d663e82550f373641f67303c5f2891b00fa5b419e927 DIST gpgmepp-2.0.0.tar.xz.sig 119 BLAKE2B 553d942c999c4b3d8ee0b519d8e64534becaf4c685b1842f1cbab7f8e33460ab82a2955fe2257bb60e5b1ef524542771cb10c6d17a5e2ef57979602a0d0b280e SHA512 b3d051b1187a4a605c0ac702380f8dba57870bac249ffdf773f07c6b25ac525c90b022635efecb69720dcdabab6760b25a8838d4ebe07ee75d4fadc990ccdddf +DIST gpgmepp-2.1.0.tar.xz 123124 BLAKE2B f13bb5f711b2379ba7f94fea0b9cb326900acc46cca73f733bbeae509c47a2f75af645c4ab1601e067221e96d86216e0935cd12176038407b6bb4aa62e3c9fad SHA512 fc1192ea5e7817cd717294c729f624800333b69c6474801ad2e55f3d7d20dfb6c39c3a991fc2ae94b7eaa217cd4243a1e49461d5d0203cd17b9b620e4a1914c0 +DIST gpgmepp-2.1.0.tar.xz.sig 147 BLAKE2B 968226c41733621b88f2c990033ab2bd5fcc467947acebcfc7dfccf6f19f203cd1b21bc84c66e8ea6d50cb0a8067fb98e4f2b0d78317fd0a70a27e8083e7056b SHA512 7cfd54eb645f9e4e9ff13917070d0f5d93e8b8db27ffe0238cf94a0c7dda50b14abb7fbe6ae67e1e0dd56210a5c29c0ba2f11289e020473ee136027368641528 diff --git a/dev-cpp/gpgmepp/gpgmepp-2.1.0.ebuild b/dev-cpp/gpgmepp/gpgmepp-2.1.0.ebuild new file mode 100644 index 000000000000..08efcaf8eedd --- /dev/null +++ b/dev-cpp/gpgmepp/gpgmepp-2.1.0.ebuild @@ -0,0 +1,40 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/gnupg.asc +inherit cmake verify-sig + +DESCRIPTION="GnuPG Made Easy is a library for making GnuPG easier to use (C++ bindings)" +HOMEPAGE="https://www.gnupg.org/related_software/gpgme" +SRC_URI=" + mirror://gnupg/${PN}/${P}.tar.xz + verify-sig? ( mirror://gnupg/${PN}/${P}.tar.xz.sig ) +" + +LICENSE="LGPL-2+ test? ( GPL-2 GPL-2+ LGPL-2.1+ )" +SLOT="0/7" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos ~x64-solaris" +IUSE="test" +RESTRICT="!test? ( test )" + +DEPEND=" + >=app-crypt/gpgme-${PV%.*}:= + >=dev-libs/libgpg-error-1.47:= +" +RDEPEND="${DEPEND} + !<app-crypt/gpgme-2[cxx(-)] + !dev-cpp/gpgmepp:1 +" +BDEPEND="verify-sig? ( sec-keys/openpgp-keys-gnupg )" + +src_configure() { + local mycmakeargs=( + # As of 2.0.0, there aren't any non-manual tests. tests/README + # says that the real testing is done via dev-libs/qgpgme instead. + -DBUILD_TESTING=$(usex test) + ) + + cmake_src_configure +} diff --git a/dev-cpp/gpgmepp/metadata.xml b/dev-cpp/gpgmepp/metadata.xml index 8e20998bf65e..74d824cbfbd2 100644 --- a/dev-cpp/gpgmepp/metadata.xml +++ b/dev-cpp/gpgmepp/metadata.xml @@ -6,5 +6,5 @@ <name>Gentoo Base System</name> </maintainer> - <origin>gentoo-staging</origin> + <origin>liguros-repo</origin> </pkgmetadata>
\ No newline at end of file diff --git a/dev-cpp/gsl-lite/Manifest b/dev-cpp/gsl-lite/Manifest index df22a067bab9..b62670ffe95f 100644 --- a/dev-cpp/gsl-lite/Manifest +++ b/dev-cpp/gsl-lite/Manifest @@ -1 +1 @@ -DIST gsl-lite-0.38.0.tar.gz 120838 BLAKE2B 8ead324b357480e34a4c867bde5e81424128d75e81e229f61079423f8f383d0d746961c085830db02fc5892eca94ac4b407613674da30ba106c620c148a7a41b SHA512 7f73c600800ce375e231e0904c569f0d3beb8ce2790c1f66208d1c5097bed0abd1e82e72cf0051f0bbb09a4e5939d6637b09b8978d91859fc039a42adccdde36 +DIST gsl-lite-1.1.0.tar.gz 168786 BLAKE2B 3dc212e913f789459889a4e6807b60214249f126cd2ed8117032071deff7ecb1e35269fe3cedcfd71a780c363993cdf8b33114224ba8b71097906fbc71393460 SHA512 9da9b3b29703117e835170f902eace691a31d02d0477eae0026de36d56ffc188e32f3ea769865e3cd501e2880fd0380d9e1f46c7561d94c9f57f8b61d377f4bb diff --git a/dev-cpp/gsl-lite/gsl-lite-0.38.0-r1.ebuild b/dev-cpp/gsl-lite/gsl-lite-1.1.0.ebuild index 03aed36e5c5a..03aed36e5c5a 100644 --- a/dev-cpp/gsl-lite/gsl-lite-0.38.0-r1.ebuild +++ b/dev-cpp/gsl-lite/gsl-lite-1.1.0.ebuild diff --git a/dev-cpp/gsl-lite/metadata.xml b/dev-cpp/gsl-lite/metadata.xml index 317a9cabfab9..581cdf18758a 100644 --- a/dev-cpp/gsl-lite/metadata.xml +++ b/dev-cpp/gsl-lite/metadata.xml @@ -6,5 +6,5 @@ <name>brian gloyer</name> </maintainer> - <origin>gentoo-guru-overlay</origin> + <origin>liguros-repo</origin> </pkgmetadata>
\ No newline at end of file diff --git a/dev-cpp/gstreamermm/metadata.xml b/dev-cpp/gstreamermm/metadata.xml index f2710c9e5c09..c9b6b0b24a72 100644 --- a/dev-cpp/gstreamermm/metadata.xml +++ b/dev-cpp/gstreamermm/metadata.xml @@ -6,5 +6,5 @@ <name>Gentoo GNOME Desktop</name> </maintainer> - <origin>gentoo-staging</origin> + <origin>liguros-repo</origin> </pkgmetadata>
\ No newline at end of file diff --git a/dev-cpp/gtest/gtest-1.14.0-r2.ebuild b/dev-cpp/gtest/gtest-1.14.0-r2.ebuild index 7cd3ff7e4c83..30adeb65db29 100644 --- a/dev-cpp/gtest/gtest-1.14.0-r2.ebuild +++ b/dev-cpp/gtest/gtest-1.14.0-r2.ebuild @@ -4,7 +4,7 @@ EAPI=8 # Python is required for tests and some build tasks. -PYTHON_COMPAT=( python3_{10..14} ) +PYTHON_COMPAT=( python3_{10..13} ) inherit cmake-multilib flag-o-matic python-any-r1 toolchain-funcs diff --git a/dev-cpp/gtest/metadata.xml b/dev-cpp/gtest/metadata.xml index cb218561bd5c..3ef79fa4a1e8 100644 --- a/dev-cpp/gtest/metadata.xml +++ b/dev-cpp/gtest/metadata.xml @@ -17,5 +17,5 @@ Build with functionality provided by <pkg>dev-cpp/abseil-cpp</pkg> and <pkg>dev-libs/re2</pkg> </flag> </use> - <origin>gentoo-staging</origin> + <origin>liguros-repo</origin> </pkgmetadata>
\ No newline at end of file diff --git a/dev-cpp/gtkmm/gtkmm-3.24.10.ebuild b/dev-cpp/gtkmm/gtkmm-3.24.10.ebuild index f70329030edd..8cf60b1573a2 100644 --- a/dev-cpp/gtkmm/gtkmm-3.24.10.ebuild +++ b/dev-cpp/gtkmm/gtkmm-3.24.10.ebuild @@ -2,7 +2,7 @@ # Distributed under the terms of the GNU General Public License v2 EAPI=8 -PYTHON_COMPAT=( python3_{10..14} ) +PYTHON_COMPAT=( python3_{11..14} ) inherit gnome.org meson-multilib python-any-r1 virtualx DESCRIPTION="C++ interface for GTK+" diff --git a/dev-cpp/gtkmm/gtkmm-3.24.9.ebuild b/dev-cpp/gtkmm/gtkmm-3.24.9.ebuild index f70329030edd..7453dd53493a 100644 --- a/dev-cpp/gtkmm/gtkmm-3.24.9.ebuild +++ b/dev-cpp/gtkmm/gtkmm-3.24.9.ebuild @@ -2,7 +2,7 @@ # Distributed under the terms of the GNU General Public License v2 EAPI=8 -PYTHON_COMPAT=( python3_{10..14} ) +PYTHON_COMPAT=( python3_{10..13} ) inherit gnome.org meson-multilib python-any-r1 virtualx DESCRIPTION="C++ interface for GTK+" diff --git a/dev-cpp/gtkmm/gtkmm-4.14.0-r1.ebuild b/dev-cpp/gtkmm/gtkmm-4.14.0-r1.ebuild index 4971e9f49afe..e95b8148ebba 100644 --- a/dev-cpp/gtkmm/gtkmm-4.14.0-r1.ebuild +++ b/dev-cpp/gtkmm/gtkmm-4.14.0-r1.ebuild @@ -3,7 +3,7 @@ EAPI=8 -PYTHON_COMPAT=( python3_{10..14} ) +PYTHON_COMPAT=( python3_{10..13} ) inherit gnome.org meson python-any-r1 virtualx DESCRIPTION="C++ interface for GTK+" diff --git a/dev-cpp/gtkmm/gtkmm-4.18.0-r1.ebuild b/dev-cpp/gtkmm/gtkmm-4.18.0-r1.ebuild index 6d1c47cb9a99..d7ca3fda51e8 100644 --- a/dev-cpp/gtkmm/gtkmm-4.18.0-r1.ebuild +++ b/dev-cpp/gtkmm/gtkmm-4.18.0-r1.ebuild @@ -3,7 +3,7 @@ EAPI=8 -PYTHON_COMPAT=( python3_{10..14} ) +PYTHON_COMPAT=( python3_{11..13} ) inherit gnome.org meson python-any-r1 virtualx DESCRIPTION="C++ interface for GTK+" diff --git a/dev-cpp/gtkmm/gtkmm-4.20.0.ebuild b/dev-cpp/gtkmm/gtkmm-4.20.0.ebuild index 80815ba5bdbe..5e260f620bed 100644 --- a/dev-cpp/gtkmm/gtkmm-4.20.0.ebuild +++ b/dev-cpp/gtkmm/gtkmm-4.20.0.ebuild @@ -3,7 +3,7 @@ EAPI=8 -PYTHON_COMPAT=( python3_{10..14} ) +PYTHON_COMPAT=( python3_{11..14} ) inherit gnome.org meson python-any-r1 virtualx DESCRIPTION="C++ interface for GTK+" diff --git a/dev-cpp/gtkmm/metadata.xml b/dev-cpp/gtkmm/metadata.xml index f2710c9e5c09..c9b6b0b24a72 100644 --- a/dev-cpp/gtkmm/metadata.xml +++ b/dev-cpp/gtkmm/metadata.xml @@ -6,5 +6,5 @@ <name>Gentoo GNOME Desktop</name> </maintainer> - <origin>gentoo-staging</origin> + <origin>liguros-repo</origin> </pkgmetadata>
\ No newline at end of file diff --git a/dev-cpp/gtksourceviewmm/metadata.xml b/dev-cpp/gtksourceviewmm/metadata.xml index f2710c9e5c09..c9b6b0b24a72 100644 --- a/dev-cpp/gtksourceviewmm/metadata.xml +++ b/dev-cpp/gtksourceviewmm/metadata.xml @@ -6,5 +6,5 @@ <name>Gentoo GNOME Desktop</name> </maintainer> - <origin>gentoo-staging</origin> + <origin>liguros-repo</origin> </pkgmetadata>
\ No newline at end of file diff --git a/dev-cpp/gulrak-filesystem/metadata.xml b/dev-cpp/gulrak-filesystem/metadata.xml index 6ad3061728be..d5d567acc3eb 100644 --- a/dev-cpp/gulrak-filesystem/metadata.xml +++ b/dev-cpp/gulrak-filesystem/metadata.xml @@ -6,5 +6,5 @@ <name>James Le Cuirot</name> </maintainer> - <origin>gentoo-staging</origin> + <origin>liguros-repo</origin> </pkgmetadata>
\ No newline at end of file diff --git a/dev-cpp/highway/metadata.xml b/dev-cpp/highway/metadata.xml index cdf30bbd3280..e8397367573e 100644 --- a/dev-cpp/highway/metadata.xml +++ b/dev-cpp/highway/metadata.xml @@ -14,5 +14,5 @@ i.e. applying the same operation to multiple 'lanes' using a single CPU instruction. </longdescription> - <origin>gentoo-staging</origin> + <origin>liguros-repo</origin> </pkgmetadata>
\ No newline at end of file diff --git a/dev-cpp/htmlcxx/metadata.xml b/dev-cpp/htmlcxx/metadata.xml index 6ad3061728be..d5d567acc3eb 100644 --- a/dev-cpp/htmlcxx/metadata.xml +++ b/dev-cpp/htmlcxx/metadata.xml @@ -6,5 +6,5 @@ <name>James Le Cuirot</name> </maintainer> - <origin>gentoo-staging</origin> + <origin>liguros-repo</origin> </pkgmetadata>
\ No newline at end of file diff --git a/dev-cpp/indicators/metadata.xml b/dev-cpp/indicators/metadata.xml index b6c53bfb8cd2..494f5acb050c 100644 --- a/dev-cpp/indicators/metadata.xml +++ b/dev-cpp/indicators/metadata.xml @@ -4,5 +4,5 @@ <upstream> <bugs-to>https://github.com/p-ranav/indicators/issues</bugs-to> </upstream> - <origin>gentoo-guru-overlay</origin> + <origin>liguros-repo</origin> </pkgmetadata>
\ No newline at end of file diff --git a/dev-cpp/json11/metadata.xml b/dev-cpp/json11/metadata.xml index 1c5a9d8dd3ed..a9c87fde5efe 100644 --- a/dev-cpp/json11/metadata.xml +++ b/dev-cpp/json11/metadata.xml @@ -6,5 +6,5 @@ <name>Florian Schmaus</name> </maintainer> - <origin>gentoo-staging</origin> + <origin>liguros-repo</origin> </pkgmetadata>
\ No newline at end of file diff --git a/dev-cpp/jsoncons/metadata.xml b/dev-cpp/jsoncons/metadata.xml index 1c3d09e313ad..b2414dcbd928 100644 --- a/dev-cpp/jsoncons/metadata.xml +++ b/dev-cpp/jsoncons/metadata.xml @@ -13,5 +13,5 @@ <bugs-to>https://github.com/danielaparker/jsoncons/issues</bugs-to> <doc>https://danielaparker.github.io/jsoncons/</doc> </upstream> - <origin>gentoo-staging</origin> + <origin>liguros-repo</origin> </pkgmetadata>
\ No newline at end of file diff --git a/dev-cpp/jwt-cpp/jwt-cpp-0.7.2-r1.ebuild b/dev-cpp/jwt-cpp/jwt-cpp-0.7.2-r1.ebuild new file mode 100644 index 000000000000..a37db77e508c --- /dev/null +++ b/dev-cpp/jwt-cpp/jwt-cpp-0.7.2-r1.ebuild @@ -0,0 +1,96 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit cmake + +DESCRIPTION="header only library for creating and validating JSON Web Tokens in C++11" +HOMEPAGE="https://thalhammer.github.io/jwt-cpp/" + +if [[ ${PV} == *9999* ]]; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/Thalhammer/jwt-cpp.git" +else + SRC_URI="https://github.com/Thalhammer/${PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz" + KEYWORDS="~amd64 ~x86" +fi +SRC_URI=" + ${SRC_URI} + https://raw.githubusercontent.com/jothepro/doxygen-awesome-css/v2.2.1/doxygen-awesome.css + https://raw.githubusercontent.com/jothepro/doxygen-awesome-css/v2.2.1/doxygen-awesome-sidebar-only.css +" + +LICENSE="MIT" +SLOT="0" +IUSE="doc +jsoncons +picojson test" + +# reflectcpp-json would also be supported, but dev-cpp/reflect-cpp not packaged yet +# dev-cpp/glaze not in ~x86 +DEPEND=" + dev-cpp/nlohmann_json + dev-libs/boost + dev-libs/jsoncpp + dev-libs/openssl + jsoncons? ( dev-cpp/jsoncons ) + picojson? ( dev-cpp/picojson ) +" +RDEPEND="${DEPEND}" +BDEPEND=" + doc? ( app-text/doxygen[dot] ) + test? ( dev-cpp/gtest ) +" +REQUIRED_USE="test? ( jsoncons picojson )" +RESTRICT=" + !jsoncons? ( test ) + !picojson? ( test ) + !test? ( test ) +" +DOCS=( README.md docs/{faqs,ssl,traits}.md ) + +src_prepare() { + # Unbundle dev-cpp/nlohmann_json. + rm -vrf include/nhlomann || die + # Unbundle dev-cpp/picojson and fix include paths. + # See also: https://github.com/Thalhammer/jwt-cpp/issues/213 + rm -vrf include/picojson || die + find -name '*.h' -type f -print0 | xargs -0 sed -r -e "s:picojson/picojson\.h:picojson.h:g" -i || die + # Prevent installation of bundled dev-cpp/picojson. + sed -i -e 's:^\s*install.*picojson/picojson\.h.*$::' CMakeLists.txt || die + cp "${DISTDIR}"/doxygen-awesome{,-sidebar-only}.css docs/ || die + # Restore compat with dev-cpp/jsoncons >=1.5.0 + # see https://github.com/Thalhammer/jwt-cpp/issues/427 + use jsoncons && (sed -i 's#.*JSONCONS_NO_DEPRECATED##' \ + include/jwt-cpp/traits/danielaparker-jsoncons/traits.h || die) + cmake_src_prepare +} + +src_configure() { + local mycmakeargs=( + -DJWT_EXTERNAL_NLOHMANN_JSON=YES + -DJWT_DISABLE_PICOJSON="$(usex !picojson)" + -DJWT_BUILD_DOCS="$(usex doc)" + # Not useful for now, asks for non-existent CMake module. + #-DJWT_EXTERNAL_PICOJSON="$(usex picojson)" + # Examples are not installed and for development only. + -DJWT_BUILD_EXAMPLES=NO + -DJWT_BUILD_TESTS="$(usex test)" + -DJWT_CMAKE_FILES_INSTALL_DIR="${EPREFIX}"/usr/share/cmake + ) + cmake_src_configure +} + +src_compile() { + cmake_src_compile + use doc && cmake_src_compile jwt-docs +} + +src_test() { + "${BUILD_DIR}"/tests/jwt-cpp-test || die +} + +src_install() { + cmake_src_install + use doc && local HTML_DOCS=(./build/html/.) + einstalldocs +} diff --git a/dev-cpp/jwt-cpp/metadata.xml b/dev-cpp/jwt-cpp/metadata.xml index d9488b035eb5..4e2f27456d96 100644 --- a/dev-cpp/jwt-cpp/metadata.xml +++ b/dev-cpp/jwt-cpp/metadata.xml @@ -17,7 +17,8 @@ <bugs-to>https://github.com/Thalhammer/jwt-cpp/issues</bugs-to> </upstream> <use> + <flag name="jsoncons">Enable use of <pkg>dev-cpp/jsoncons</pkg></flag> <flag name="picojson">Enable use of <pkg>dev-cpp/picojson</pkg></flag> </use> - <origin>gentoo-staging</origin> + <origin>liguros-repo</origin> </pkgmetadata>
\ No newline at end of file diff --git a/dev-cpp/kokkos/Manifest b/dev-cpp/kokkos/Manifest index e297bb22da68..553a36ae68a0 100644 --- a/dev-cpp/kokkos/Manifest +++ b/dev-cpp/kokkos/Manifest @@ -1,4 +1,5 @@ -DIST kokkos-4.0.1.tar.gz 2322402 BLAKE2B a4aba2f7ffe7b7c93051ad65d398f442b753975eceb3f83ed1bff0b8c468e4ffdcb6437989e740c65fc550f17ef8ddf78ca50ca881d3953f886309dc7d6fc597 SHA512 cf6742f4be777b52673858b49cf68fdf335e760509688483e62ef41af5026070f69dcf39d010134c85dc6c4868f82a38900872be11ed43190432c8530b90deee DIST kokkos-4.3.1.tar.gz 2431142 BLAKE2B 158ceea3c62449f386613b17e996e4d11e9b95c38a92f69fb3c487b90cf5f07dffdafb6ee0a37eff5299e7d1db50efaed4b26b9baebeeea9d675d0d98dd420e4 SHA512 8180ecdec2f0a6167a85dd1eb268996b0310e82098f2329eccf658aff90118a7c85c2f7607984602de2ca48dc45c1dbf30a4843b35c42590e58d4b03beff474a DIST kokkos-4.6.2.tar.gz 2477557 BLAKE2B 3d8a93ca8e27bc0a3a5542680b0a2daf7ca862826a1a45973012f09a6f0a39938628efdb532bb2d013cb669b912785eac12bcf1b17712cb3e098106e858f3fe3 SHA512 bef5afc0009d6e3ac555dbaebc471fe0823ac1d1add79dcacbed82bee4d2a9a34cf4342fbef8fd00beefc6bd0a2f569e9f0cbe987ec60d087fde803479eff426 +DIST kokkos-4.7.4.tar.gz 2526399 BLAKE2B 9cd84be3fd606b05a0afd2a64f14f27f7f2a7397587aa12562a151d85e3541edb31e82d3562b7e4935116349cfc07e17a0e3f6c78327a5bfb47c2d569a98137a SHA512 34825f2d0f202f49fecc24050a4790cb721f3a4cca21381fd0eb0c302bbafe90f997dc96130c2b2479c4344d11dbb062d4b41f2aaab11e49f5bd1da2c9e5d929 DIST kokkos-5.0.2.tar.gz 1787648 BLAKE2B c951a2fdae309a61c1cdc042a12aa27636e58fd39a3ef4426bca9f659d6f8056774298e56ccc7c94d0b356319e3b913e9637dd0c3850313a77470dc8abe5e1c5 SHA512 d0c622aad2333cc5f944d82f633cf24201323d1b9787c730aaaee3e80805caf1c39bec36cabd5fd46d8104aaf95c68ffe478d8ff8cd4b864c47298f2aa929ecd +DIST kokkos-5.1.1.tar.gz 1792643 BLAKE2B bea2355e39d3b29ab855d3b5f44180ada432a7043dbc92ee7b8b1a9925fec3733e524a676c010b263d53e050a0bb2e93b78703cd9b6d1496ff1cf01f1f2616a8 SHA512 7da365dc4be6ca6ed9efcd3b260a003e068ec274dc3af7761359f9f60748902908167698b824487951f21412a5a5bece7fbcb32ab558a406f7e8beb0e44c1698 diff --git a/dev-cpp/kokkos/kokkos-4.0.1-r1.ebuild b/dev-cpp/kokkos/kokkos-4.0.1-r1.ebuild deleted file mode 100644 index a0af3b2e9bb1..000000000000 --- a/dev-cpp/kokkos/kokkos-4.0.1-r1.ebuild +++ /dev/null @@ -1,56 +0,0 @@ -# Copyright 1999-2025 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit cmake toolchain-funcs - -DESCRIPTION="C++ Performance Portability Programming EcoSystem" -HOMEPAGE="https://github.com/kokkos" -MY_PV="$(ver_cut 1-2).0$(ver_cut 3)" -SRC_URI="https://github.com/${PN}/${PN}/archive/refs/tags/${MY_PV}.tar.gz -> ${P}.tar.gz" - -S="${WORKDIR}/${PN}-${MY_PV}" - -LICENSE="BSD" -SLOT="0/${PV}" -KEYWORDS="amd64 -x86" -IUSE="+openmp test" -RESTRICT="!test? ( test )" - -DEPEND="sys-apps/hwloc:=" -RDEPEND="${DEPEND}" - -pkg_pretend() { - [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp -} - -pkg_setup() { - [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp -} - -src_configure() { - local mycmakeargs=( - -DCMAKE_INSTALL_INCLUDEDIR=include/kokkos - -DKokkos_ENABLE_TESTS=$(usex test) - -DKokkos_ENABLE_AGGRESSIVE_VECTORIZATION=ON - -DKokkos_ENABLE_SERIAL=ON - -DKokkos_ENABLE_HWLOC=ON - -DKokkos_HWLOC_DIR="${EPREFIX}/usr" - -DKokkos_ENABLE_OPENMP=$(usex openmp) - -DBUILD_SHARED_LIBS=ON - ) - - cmake_src_configure -} - -src_test() { - local myctestargs=( - # Contains "death tests" which are known/expected(?) to fail - # https://github.com/kokkos/kokkos/issues/3033 - # bug #791514 - -E "(KokkosCore_UnitTest_OpenMP|KokkosCore_UnitTest_Serial)" - ) - - cmake_src_test -} diff --git a/dev-cpp/kokkos/kokkos-4.6.2-r1.ebuild b/dev-cpp/kokkos/kokkos-4.6.2-r1.ebuild deleted file mode 100644 index ee6ccf7fff8b..000000000000 --- a/dev-cpp/kokkos/kokkos-4.6.2-r1.ebuild +++ /dev/null @@ -1,61 +0,0 @@ -# Copyright 1999-2025 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit cmake toolchain-funcs - -DESCRIPTION="C++ Performance Portability Programming EcoSystem" -HOMEPAGE="https://github.com/kokkos" - -if [[ ${PV} = *9999* ]]; then - inherit git-r3 - EGIT_REPO_URI="https://github.com/kokkos/kokkos.git" -else - MY_PV="$(ver_cut 1-2).0$(ver_cut 3)" - SRC_URI="https://github.com/${PN}/${PN}/archive/refs/tags/${MY_PV}.tar.gz -> ${P}.tar.gz" - S="${WORKDIR}/${PN}-${MY_PV}" - KEYWORDS="~amd64 ~x86" -fi - -LICENSE="BSD" -SLOT="0/${PV}" -IUSE="+openmp test" -RESTRICT="!test? ( test )" - -DEPEND="sys-apps/hwloc:=" -RDEPEND="${DEPEND}" - -pkg_pretend() { - [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp -} - -pkg_setup() { - [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp -} - -src_configure() { - local mycmakeargs=( - -DCMAKE_INSTALL_INCLUDEDIR=include/kokkos - -DKokkos_ENABLE_TESTS=$(usex test) - -DKokkos_ENABLE_AGGRESSIVE_VECTORIZATION=ON - -DKokkos_ENABLE_SERIAL=ON - -DKokkos_ENABLE_HWLOC=ON - -DKokkos_HWLOC_DIR="${EPREFIX}/usr" - -DKokkos_ENABLE_OPENMP=$(usex openmp) - -DBUILD_SHARED_LIBS=ON - ) - - cmake_src_configure -} - -src_test() { - local myctestargs=( - # Contains "death tests" which are known/expected(?) to fail - # https://github.com/kokkos/kokkos/issues/3033 - # bug #791514 - -E "(KokkosCore_UnitTest_OpenMP|KokkosCore_UnitTest_Serial)" - ) - - cmake_src_test -} diff --git a/dev-cpp/kokkos/kokkos-4.7.4.ebuild b/dev-cpp/kokkos/kokkos-4.7.4.ebuild new file mode 100644 index 000000000000..54f9147dab3f --- /dev/null +++ b/dev-cpp/kokkos/kokkos-4.7.4.ebuild @@ -0,0 +1,114 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit cmake cuda toolchain-funcs + +DESCRIPTION="C++ Performance Portability Programming EcoSystem" +HOMEPAGE="https://github.com/kokkos" + +if [[ ${PV} = *9999* ]]; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/kokkos/kokkos.git" +else + MY_PV="$(ver_cut 1-2).0$(ver_cut 3)" + SRC_URI="https://github.com/${PN}/${PN}/archive/refs/tags/${MY_PV}.tar.gz -> ${P}.tar.gz" + S="${WORKDIR}/${PN}-${MY_PV}" + KEYWORDS="amd64 ~x86" +fi + +LICENSE="BSD" +SLOT="0/${PV}" +IUSE="cuda +openmp test" +RESTRICT="!test? ( test )" + +DEPEND="sys-apps/hwloc:=" +RDEPEND="${DEPEND}" + +# +# Try to translate the "${CUDAARCHS}" number coming from __nvcc_device_query +# into an option string that Kokkos' CMake configuration understands: +# +kokkos_arch_option() { + case "${1}" in + 3[0257]) echo "-DKokkos_ARCH_KEPLER${1}=ON" ;; + 5[023]) echo "-DKokkos_ARCH_MAXWELL${1}=ON" ;; + 6[01]) echo "-DKokkos_ARCH_PASCAL${1}=ON" ;; + 7[02]) echo "-DKokkos_ARCH_VOLTA${1}=ON" ;; + 75) echo "-DKokkos_ARCH_TURING${1}=ON" ;; + 8[06]) echo "-DKokkos_ARCH_AMPERE${1}=ON" ;; + 89) echo "-DKokkos_ARCH_ADA${1}=ON" ;; + 90) echo "-DKokkos_ARCH_HOPPER${1}=ON" ;; + 1[02]0) echo "-DKokkos_ARCH_BLACKWELL${1}=ON" ;; + *) die "Unknown CUDA architecture »${1}«" ;; + esac +} + +pkg_pretend() { + [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp +} + +pkg_setup() { + [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp +} + +src_prepare() { + cmake_src_prepare +} + +src_configure() { + local mycmakeargs=( + -DCMAKE_INSTALL_INCLUDEDIR=include/kokkos + -DKokkos_ENABLE_TESTS="$(usex test)" + -DKokkos_ENABLE_AGGRESSIVE_VECTORIZATION=ON + -DKokkos_ENABLE_SERIAL=ON + -DKokkos_ENABLE_HWLOC=ON + -DKokkos_ENABLE_CUDA="$(usex cuda)" + -DKokkos_ENABLE_CUDA_CONSTEXPR="$(usex cuda)" + -DKokkos_HWLOC_DIR="${EPREFIX}/usr" + -DKokkos_ENABLE_OPENMP="$(usex openmp)" + -DBUILD_SHARED_LIBS=ON + ) + + if use cuda; then + cuda_add_sandbox -w + + if [[ ! -n "${CUDAARCHS}" ]]; then + if ! SANDBOX_WRITE=/dev/nvidiactl test -w /dev/nvidiactl ; then + eerror + eerror "Can not access the GPU at /dev/nvidiactl." + eerror "User $(id -nu) is not in the group \"video\"." + eerror + ewarn + ewarn "Can not query the native device. You will need to set one of the" + ewarn "supported Kokkos_ARCH_{..} CMake variables, or the CUDAARCHS" + ewarn "environment variable to the appropriate architecture by hand..." + ewarn + else + local CUDAARCHS + CUDAARCHS="$(__nvcc_device_query || eerror "failed to query the native device")" + fi + fi + + if [[ -n "${CUDAARCHS}" ]]; then + einfo "Building with CUDAARCHS=${CUDAARCHS}" + mycmakeargs+=( + $(kokkos_arch_option "${CUDAARCHS}") + ) + fi + fi + + cmake_src_configure +} + +src_test() { + local myctestargs=( + # Contains "death tests" which are known/expected(?) to fail + # https://github.com/kokkos/kokkos/issues/3033 + # bug #791514 + -E "(KokkosCore_UnitTest_OpenMP|KokkosCore_UnitTest_Serial)" + ) + + cmake_src_test +} diff --git a/dev-cpp/kokkos/kokkos-5.1.1.ebuild b/dev-cpp/kokkos/kokkos-5.1.1.ebuild new file mode 100644 index 000000000000..3879a12dbe94 --- /dev/null +++ b/dev-cpp/kokkos/kokkos-5.1.1.ebuild @@ -0,0 +1,112 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit cmake cuda toolchain-funcs + +DESCRIPTION="C++ Performance Portability Programming EcoSystem" +HOMEPAGE="https://github.com/kokkos" + +if [[ ${PV} = *9999* ]]; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/kokkos/kokkos.git" +else + SRC_URI="https://github.com/${PN}/${PN}/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz" + KEYWORDS="~amd64 ~x86" +fi + +LICENSE="BSD" +SLOT="0/${PV}" +IUSE="cuda +openmp test" +RESTRICT="!test? ( test )" + +DEPEND="sys-apps/hwloc:=" +RDEPEND="${DEPEND}" + +# +# Try to translate the "${CUDAARCHS}" number coming from __nvcc_device_query +# into an option string that Kokkos' CMake configuration understands: +# +kokkos_arch_option() { + case "${1}" in + 3[0257]) echo "-DKokkos_ARCH_KEPLER${1}=ON" ;; + 5[023]) echo "-DKokkos_ARCH_MAXWELL${1}=ON" ;; + 6[01]) echo "-DKokkos_ARCH_PASCAL${1}=ON" ;; + 7[02]) echo "-DKokkos_ARCH_VOLTA${1}=ON" ;; + 75) echo "-DKokkos_ARCH_TURING${1}=ON" ;; + 8[06]) echo "-DKokkos_ARCH_AMPERE${1}=ON" ;; + 89) echo "-DKokkos_ARCH_ADA${1}=ON" ;; + 90) echo "-DKokkos_ARCH_HOPPER${1}=ON" ;; + 1[02]0) echo "-DKokkos_ARCH_BLACKWELL${1}=ON" ;; + *) die "Unknown CUDA architecture »${1}«" ;; + esac +} + +pkg_pretend() { + [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp +} + +pkg_setup() { + [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp +} + +src_prepare() { + cmake_src_prepare +} + +src_configure() { + local mycmakeargs=( + -DCMAKE_INSTALL_INCLUDEDIR=include/kokkos + -DKokkos_ENABLE_TESTS="$(usex test)" + -DKokkos_ENABLE_AGGRESSIVE_VECTORIZATION=ON + -DKokkos_ENABLE_SERIAL=ON + -DKokkos_ENABLE_HWLOC=ON + -DKokkos_ENABLE_CUDA="$(usex cuda)" + -DKokkos_ENABLE_CUDA_CONSTEXPR="$(usex cuda)" + -DKokkos_HWLOC_DIR="${EPREFIX}/usr" + -DKokkos_ENABLE_OPENMP="$(usex openmp)" + -DBUILD_SHARED_LIBS=ON + ) + + if use cuda; then + cuda_add_sandbox -w + + if [[ ! -n "${CUDAARCHS}" ]]; then + if ! SANDBOX_WRITE=/dev/nvidiactl test -w /dev/nvidiactl ; then + eerror + eerror "Can not access the GPU at /dev/nvidiactl." + eerror "User $(id -nu) is not in the group \"video\"." + eerror + ewarn + ewarn "Can not query the native device. You will need to set one of the" + ewarn "supported Kokkos_ARCH_{..} CMake variables, or the CUDAARCHS" + ewarn "environment variable to the appropriate architecture by hand..." + ewarn + else + local CUDAARCHS + CUDAARCHS="$(__nvcc_device_query || eerror "failed to query the native device")" + fi + fi + + if [[ -n "${CUDAARCHS}" ]]; then + einfo "Building with CUDAARCHS=${CUDAARCHS}" + mycmakeargs+=( + $(kokkos_arch_option "${CUDAARCHS}") + ) + fi + fi + + cmake_src_configure +} + +src_test() { + local myctestargs=( + # Contains "death tests" which are known/expected(?) to fail + # https://github.com/kokkos/kokkos/issues/3033 + # bug #791514 + -E "(KokkosCore_UnitTest_OpenMP|KokkosCore_UnitTest_Serial)" + ) + + cmake_src_test +} diff --git a/dev-cpp/kokkos/metadata.xml b/dev-cpp/kokkos/metadata.xml index a201f557fceb..83f4c1a6a64e 100644 --- a/dev-cpp/kokkos/metadata.xml +++ b/dev-cpp/kokkos/metadata.xml @@ -10,5 +10,5 @@ <name>Gentoo Science Project</name> </maintainer> - <origin>gentoo-staging</origin> + <origin>liguros-repo</origin> </pkgmetadata>
\ No newline at end of file diff --git a/dev-cpp/libcmis/metadata.xml b/dev-cpp/libcmis/metadata.xml index abd7cc6464dd..f9bff6fe4923 100644 --- a/dev-cpp/libcmis/metadata.xml +++ b/dev-cpp/libcmis/metadata.xml @@ -9,5 +9,5 @@ <use> <flag name="tools">Build client tool for testing and viewing features</flag> </use> - <origin>gentoo-staging</origin> + <origin>liguros-repo</origin> </pkgmetadata>
\ No newline at end of file diff --git a/dev-cpp/libjson-rpc-cpp/metadata.xml b/dev-cpp/libjson-rpc-cpp/metadata.xml index 9a8ef34d074f..f8e68b18377a 100644 --- a/dev-cpp/libjson-rpc-cpp/metadata.xml +++ b/dev-cpp/libjson-rpc-cpp/metadata.xml @@ -13,5 +13,5 @@ <flag name="redis-server">Build support for Redis server using <pkg>dev-libs/hiredis</pkg></flag> <flag name="stubgen">Build header stub code generator (needed for development and when pregenerated headers are not bundled)</flag> </use> - <origin>gentoo-staging</origin> + <origin>liguros-repo</origin> </pkgmetadata>
\ No newline at end of file diff --git a/dev-cpp/libmcpp/metadata.xml b/dev-cpp/libmcpp/metadata.xml index 09b0ed18f1f6..63dee7d9ce34 100644 --- a/dev-cpp/libmcpp/metadata.xml +++ b/dev-cpp/libmcpp/metadata.xml @@ -8,5 +8,5 @@ <upstream> <remote-id type="cpe">cpe:/a:mcpp_project:mcpp</remote-id> </upstream> - <origin>ports</origin> + <origin>liguros-repo</origin> </pkgmetadata>
\ No newline at end of file diff --git a/dev-cpp/libxmlpp/metadata.xml b/dev-cpp/libxmlpp/metadata.xml index f2710c9e5c09..c9b6b0b24a72 100644 --- a/dev-cpp/libxmlpp/metadata.xml +++ b/dev-cpp/libxmlpp/metadata.xml @@ -6,5 +6,5 @@ <name>Gentoo GNOME Desktop</name> </maintainer> - <origin>gentoo-staging</origin> + <origin>liguros-repo</origin> </pkgmetadata>
\ No newline at end of file diff --git a/dev-cpp/lucene++/metadata.xml b/dev-cpp/lucene++/metadata.xml index 83d00b14c8d4..7a420b460d5e 100644 --- a/dev-cpp/lucene++/metadata.xml +++ b/dev-cpp/lucene++/metadata.xml @@ -2,5 +2,5 @@ <!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd"> <pkgmetadata> - <origin>gentoo-staging</origin> + <origin>liguros-repo</origin> </pkgmetadata>
\ No newline at end of file diff --git a/dev-cpp/magic_enum/metadata.xml b/dev-cpp/magic_enum/metadata.xml index 1b8db8b4c1d6..61945f9d476d 100644 --- a/dev-cpp/magic_enum/metadata.xml +++ b/dev-cpp/magic_enum/metadata.xml @@ -6,5 +6,5 @@ <name>Gentoo Games Project</name> </maintainer> - <origin>gentoo-staging</origin> + <origin>liguros-repo</origin> </pkgmetadata>
\ No newline at end of file diff --git a/dev-cpp/mm-common/metadata.xml b/dev-cpp/mm-common/metadata.xml index bb30ccb425d2..fca0909ae632 100644 --- a/dev-cpp/mm-common/metadata.xml +++ b/dev-cpp/mm-common/metadata.xml @@ -6,6 +6,6 @@ <name>Gentoo GNOME Desktop</name> </maintainer> - <origin>gentoo-staging</origin> + <origin>liguros-repo</origin> <stabilize-allarches/> </pkgmetadata>
\ No newline at end of file diff --git a/dev-cpp/mm-common/mm-common-1.0.6.ebuild b/dev-cpp/mm-common/mm-common-1.0.6.ebuild index 8ce10e69625b..d1e3ead58e5c 100644 --- a/dev-cpp/mm-common/mm-common-1.0.6.ebuild +++ b/dev-cpp/mm-common/mm-common-1.0.6.ebuild @@ -3,7 +3,7 @@ EAPI=8 -PYTHON_COMPAT=( python3_{10..14} ) +PYTHON_COMPAT=( python3_{10..13} ) inherit gnome.org python-any-r1 meson DESCRIPTION="Build infrastructure and utilities for GNOME C++ bindings" diff --git a/dev-cpp/mm-common/mm-common-1.0.7.ebuild b/dev-cpp/mm-common/mm-common-1.0.7.ebuild index 8ce10e69625b..33b71b838105 100644 --- a/dev-cpp/mm-common/mm-common-1.0.7.ebuild +++ b/dev-cpp/mm-common/mm-common-1.0.7.ebuild @@ -3,7 +3,7 @@ EAPI=8 -PYTHON_COMPAT=( python3_{10..14} ) +PYTHON_COMPAT=( python3_{11..14} ) inherit gnome.org python-any-r1 meson DESCRIPTION="Build infrastructure and utilities for GNOME C++ bindings" diff --git a/dev-cpp/ms-gsl/metadata.xml b/dev-cpp/ms-gsl/metadata.xml index 1a56032bc5b9..029750aca161 100644 --- a/dev-cpp/ms-gsl/metadata.xml +++ b/dev-cpp/ms-gsl/metadata.xml @@ -10,5 +10,5 @@ <name>Proxy Maintainers</name> </maintainer> - <origin>gentoo-staging</origin> + <origin>liguros-repo</origin> </pkgmetadata>
\ No newline at end of file diff --git a/dev-cpp/msgpack-cxx/metadata.xml b/dev-cpp/msgpack-cxx/metadata.xml index 43c87b8fc3c6..66afc2b564bc 100644 --- a/dev-cpp/msgpack-cxx/metadata.xml +++ b/dev-cpp/msgpack-cxx/metadata.xml @@ -9,5 +9,5 @@ <use> <flag name="boost">Enable boost support</flag> </use> - <origin>gentoo-staging</origin> + <origin>liguros-repo</origin> </pkgmetadata>
\ No newline at end of file diff --git a/dev-cpp/muParser/metadata.xml b/dev-cpp/muParser/metadata.xml index 21c8260ba7e0..78c8c6d503a2 100644 --- a/dev-cpp/muParser/metadata.xml +++ b/dev-cpp/muParser/metadata.xml @@ -11,5 +11,5 @@ precalculating constant parts of it. </longdescription> - <origin>gentoo-staging</origin> + <origin>liguros-repo</origin> </pkgmetadata>
\ No newline at end of file diff --git a/dev-cpp/mustache/metadata.xml b/dev-cpp/mustache/metadata.xml index 736a1167c898..7a420b460d5e 100644 --- a/dev-cpp/mustache/metadata.xml +++ b/dev-cpp/mustache/metadata.xml @@ -2,5 +2,5 @@ <!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd"> <pkgmetadata> - <origin>gentoo-guru-overlay</origin> + <origin>liguros-repo</origin> </pkgmetadata>
\ No newline at end of file diff --git a/dev-cpp/mvfst/metadata.xml b/dev-cpp/mvfst/metadata.xml index 8a55334d67dc..37174a5d9749 100644 --- a/dev-cpp/mvfst/metadata.xml +++ b/dev-cpp/mvfst/metadata.xml @@ -10,5 +10,5 @@ <name>Proxy Maintainers</name> </maintainer> - <origin>gentoo-staging</origin> + <origin>liguros-repo</origin> </pkgmetadata>
\ No newline at end of file diff --git a/dev-cpp/nlohmann_json/metadata.xml b/dev-cpp/nlohmann_json/metadata.xml index 245678eb539e..44d3a69fb0c9 100644 --- a/dev-cpp/nlohmann_json/metadata.xml +++ b/dev-cpp/nlohmann_json/metadata.xml @@ -6,5 +6,5 @@ <name>Gentoo Video project</name> </maintainer> - <origin>gentoo-staging</origin> + <origin>liguros-repo</origin> </pkgmetadata>
\ No newline at end of file diff --git a/dev-cpp/notcurses/metadata.xml b/dev-cpp/notcurses/metadata.xml index 3aee360d1c21..8834f42bd80f 100644 --- a/dev-cpp/notcurses/metadata.xml +++ b/dev-cpp/notcurses/metadata.xml @@ -20,5 +20,5 @@ Presenta una API similar a la de Curses y funciona sobre Terminfo. </longdescription> - <origin>gentoo-staging</origin> + <origin>liguros-repo</origin> </pkgmetadata>
\ No newline at end of file diff --git a/dev-cpp/opentelemetry-cpp/metadata.xml b/dev-cpp/opentelemetry-cpp/metadata.xml index 61de79ad9ee1..0d1a4a8ebbb6 100644 --- a/dev-cpp/opentelemetry-cpp/metadata.xml +++ b/dev-cpp/opentelemetry-cpp/metadata.xml @@ -14,5 +14,5 @@ <flag name="otlp">Build support for the OTLP (OpenTelemetry Protocol) File exporter</flag> <flag name="prometheus">include the Prometheus Client in the SDK</flag> </use> - <origin>gentoo-staging</origin> + <origin>liguros-repo</origin> </pkgmetadata>
\ No newline at end of file diff --git a/dev-cpp/pangomm/metadata.xml b/dev-cpp/pangomm/metadata.xml index f2710c9e5c09..c9b6b0b24a72 100644 --- a/dev-cpp/pangomm/metadata.xml +++ b/dev-cpp/pangomm/metadata.xml @@ -6,5 +6,5 @@ <name>Gentoo GNOME Desktop</name> </maintainer> - <origin>gentoo-staging</origin> + <origin>liguros-repo</origin> </pkgmetadata>
\ No newline at end of file diff --git a/dev-cpp/pangomm/pangomm-2.46.4.ebuild b/dev-cpp/pangomm/pangomm-2.46.4.ebuild index 43a601b9556c..0d414fc6deb5 100644 --- a/dev-cpp/pangomm/pangomm-2.46.4.ebuild +++ b/dev-cpp/pangomm/pangomm-2.46.4.ebuild @@ -3,7 +3,7 @@ EAPI=8 -PYTHON_COMPAT=( python3_{10..14} ) +PYTHON_COMPAT=( python3_{11..14} ) inherit gnome.org meson-multilib python-any-r1 DESCRIPTION="C++ interface for pango" diff --git a/dev-cpp/pangomm/pangomm-2.50.2.ebuild b/dev-cpp/pangomm/pangomm-2.50.2.ebuild index 70d3cd94a1f9..8faae9457e63 100644 --- a/dev-cpp/pangomm/pangomm-2.50.2.ebuild +++ b/dev-cpp/pangomm/pangomm-2.50.2.ebuild @@ -3,7 +3,7 @@ EAPI=8 -PYTHON_COMPAT=( python3_{10..14} ) +PYTHON_COMPAT=( python3_{11..14} ) inherit gnome.org meson-multilib python-any-r1 DESCRIPTION="C++ interface for pango" diff --git a/dev-cpp/pangomm/pangomm-2.56.1.ebuild b/dev-cpp/pangomm/pangomm-2.56.1.ebuild index 99b44931a266..95daa2a26409 100644 --- a/dev-cpp/pangomm/pangomm-2.56.1.ebuild +++ b/dev-cpp/pangomm/pangomm-2.56.1.ebuild @@ -3,7 +3,7 @@ EAPI=8 -PYTHON_COMPAT=( python3_{10..14} ) +PYTHON_COMPAT=( python3_{11..14} ) inherit gnome.org meson-multilib python-any-r1 DESCRIPTION="C++ interface for pango" diff --git a/dev-cpp/parallel-hashmap/metadata.xml b/dev-cpp/parallel-hashmap/metadata.xml index 99a86615ce41..4ca36323f121 100644 --- a/dev-cpp/parallel-hashmap/metadata.xml +++ b/dev-cpp/parallel-hashmap/metadata.xml @@ -33,5 +33,5 @@ natvis visualization support in Visual Studio (hash map/set only) <upstream> <bugs-to>https://github.com/greg7mdp/parallel-hashmap/issues</bugs-to> </upstream> - <origin>gentoo-guru-overlay</origin> + <origin>liguros-repo</origin> </pkgmetadata>
\ No newline at end of file diff --git a/dev-cpp/pcg-cpp/metadata.xml b/dev-cpp/pcg-cpp/metadata.xml index c7988496c374..507e3326b244 100644 --- a/dev-cpp/pcg-cpp/metadata.xml +++ b/dev-cpp/pcg-cpp/metadata.xml @@ -13,5 +13,5 @@ <bugs-to>https://github.com/imneme/pcg-cpp/issues</bugs-to> <doc>https://www.pcg-random.org/using-pcg-cpp.html</doc> </upstream> - <origin>gentoo-staging</origin> + <origin>liguros-repo</origin> </pkgmetadata>
\ No newline at end of file diff --git a/dev-cpp/picojson/metadata.xml b/dev-cpp/picojson/metadata.xml index 1183760b76e5..0d1df55c9165 100644 --- a/dev-cpp/picojson/metadata.xml +++ b/dev-cpp/picojson/metadata.xml @@ -6,5 +6,5 @@ <name>Alexis Ballier</name> </maintainer> - <origin>gentoo-staging</origin> + <origin>liguros-repo</origin> </pkgmetadata>
\ No newline at end of file diff --git a/dev-cpp/popl/metadata.xml b/dev-cpp/popl/metadata.xml index d299cc2689c8..dd4e95eaf2bf 100644 --- a/dev-cpp/popl/metadata.xml +++ b/dev-cpp/popl/metadata.xml @@ -12,5 +12,5 @@ </maintainer> <bugs-to>https://github.com/badaix/popl/issues</bugs-to> </upstream> - <origin>gentoo-staging</origin> + <origin>liguros-repo</origin> </pkgmetadata>
\ No newline at end of file diff --git a/dev-cpp/prometheus-cpp/metadata.xml b/dev-cpp/prometheus-cpp/metadata.xml index 9314a2c0b0e7..7400edf5d658 100644 --- a/dev-cpp/prometheus-cpp/metadata.xml +++ b/dev-cpp/prometheus-cpp/metadata.xml @@ -12,5 +12,5 @@ <bugs-to>https://github.com/jupp0r/prometheus-cpp/issues</bugs-to> <doc lang="en">https://jupp0r.github.io/prometheus-cpp/</doc> </upstream> - <origin>gentoo-staging</origin> + <origin>liguros-repo</origin> </pkgmetadata>
\ No newline at end of file diff --git a/dev-cpp/pystring/metadata.xml b/dev-cpp/pystring/metadata.xml index cfe36608be3d..f57a347569fd 100644 --- a/dev-cpp/pystring/metadata.xml +++ b/dev-cpp/pystring/metadata.xml @@ -10,5 +10,5 @@ <name>Proxy Maintainers</name> </maintainer> - <origin>gentoo-staging</origin> + <origin>liguros-repo</origin> </pkgmetadata>
\ No newline at end of file diff --git a/dev-cpp/qt-jdenticon/metadata.xml b/dev-cpp/qt-jdenticon/metadata.xml index eea54cc6b50b..69ed90210747 100644 --- a/dev-cpp/qt-jdenticon/metadata.xml +++ b/dev-cpp/qt-jdenticon/metadata.xml @@ -10,5 +10,5 @@ reproducible computer generated avatars. </longdescription> - <origin>gentoo-guru-overlay</origin> + <origin>liguros-repo</origin> </pkgmetadata>
\ No newline at end of file diff --git a/dev-cpp/random123/metadata.xml b/dev-cpp/random123/metadata.xml index 66ee50826efd..da4360c8272a 100644 --- a/dev-cpp/random123/metadata.xml +++ b/dev-cpp/random123/metadata.xml @@ -6,5 +6,5 @@ <name>Gentoo Science Project</name> </maintainer> - <origin>gentoo-staging</origin> + <origin>liguros-repo</origin> </pkgmetadata>
\ No newline at end of file diff --git a/dev-cpp/range-v3/metadata.xml b/dev-cpp/range-v3/metadata.xml index 707d47dee439..afc247b8f978 100644 --- a/dev-cpp/range-v3/metadata.xml +++ b/dev-cpp/range-v3/metadata.xml @@ -16,5 +16,5 @@ range-v3 ranges are an abstration layer on top of iterators. </longdescription> - <origin>gentoo-staging</origin> + <origin>liguros-repo</origin> </pkgmetadata>
\ No newline at end of file diff --git a/dev-cpp/rapidcheck/metadata.xml b/dev-cpp/rapidcheck/metadata.xml index b13584e837a7..56df824ad167 100644 --- a/dev-cpp/rapidcheck/metadata.xml +++ b/dev-cpp/rapidcheck/metadata.xml @@ -10,5 +10,5 @@ <name>Sergei Trofimovich</name> </maintainer> - <origin>ports</origin> + <origin>liguros-repo</origin> </pkgmetadata>
\ No newline at end of file diff --git a/dev-cpp/rapidfuzz-cpp/metadata.xml b/dev-cpp/rapidfuzz-cpp/metadata.xml index 4207c6f887e3..d152e6f5a68c 100644 --- a/dev-cpp/rapidfuzz-cpp/metadata.xml +++ b/dev-cpp/rapidfuzz-cpp/metadata.xml @@ -6,5 +6,5 @@ <name>Michał Górny</name> </maintainer> - <origin>gentoo-staging</origin> + <origin>liguros-repo</origin> </pkgmetadata>
\ No newline at end of file diff --git a/dev-cpp/rapidyaml/metadata.xml b/dev-cpp/rapidyaml/metadata.xml index a3b44b016c9f..d7842f8f4f67 100644 --- a/dev-cpp/rapidyaml/metadata.xml +++ b/dev-cpp/rapidyaml/metadata.xml @@ -6,5 +6,5 @@ <name>Ionen Wolkens</name> </maintainer> - <origin>gentoo-staging</origin> + <origin>liguros-repo</origin> </pkgmetadata>
\ No newline at end of file diff --git a/dev-cpp/reflection-cpp/metadata.xml b/dev-cpp/reflection-cpp/metadata.xml index 97d84b677ff0..4787336d3f68 100644 --- a/dev-cpp/reflection-cpp/metadata.xml +++ b/dev-cpp/reflection-cpp/metadata.xml @@ -6,5 +6,5 @@ <name>David Roman</name> </maintainer> - <origin>gentoo-guru-overlay</origin> + <origin>liguros-repo</origin> </pkgmetadata>
\ No newline at end of file diff --git a/dev-cpp/robin-map/metadata.xml b/dev-cpp/robin-map/metadata.xml index 66ee50826efd..da4360c8272a 100644 --- a/dev-cpp/robin-map/metadata.xml +++ b/dev-cpp/robin-map/metadata.xml @@ -6,5 +6,5 @@ <name>Gentoo Science Project</name> </maintainer> - <origin>gentoo-staging</origin> + <origin>liguros-repo</origin> </pkgmetadata>
\ No newline at end of file diff --git a/dev-cpp/robin-map/robin-map-1.4.1.ebuild b/dev-cpp/robin-map/robin-map-1.4.1.ebuild index 0dd43e0f3ad9..8171bfc100bd 100644 --- a/dev-cpp/robin-map/robin-map-1.4.1.ebuild +++ b/dev-cpp/robin-map/robin-map-1.4.1.ebuild @@ -13,7 +13,7 @@ if [[ ${PV} == 9999 ]] ; then EGIT_REPO_URI="https://github.com/Tessil/robin-map" else SRC_URI="https://github.com/Tessil/robin-map/archive/v${PV}.tar.gz -> ${P}.tar.gz" - KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86" + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~s390 ~x86" fi LICENSE="MIT" diff --git a/dev-cpp/robotraconteur-companion/Manifest b/dev-cpp/robotraconteur-companion/Manifest index cdb3bed25c96..ec59029b86aa 100644 --- a/dev-cpp/robotraconteur-companion/Manifest +++ b/dev-cpp/robotraconteur-companion/Manifest @@ -1 +1,2 @@ DIST RobotRaconteurCompanion-0.4.2-Source.tar.gz 247805 BLAKE2B 83ebea93a9d52ba0310509c8bc74bd330776ca353319af0b7ef9eede12b41d60b1bf23d982fe901be613b6cfac293d8699ae6448b4ca4c39bb64b653ca36c3d7 SHA512 be4e25d7d8b8718afb24837d050e10d363a1a61c66bb82fe1526319877aa30ab1883e2982b011275476e3949d7e21191b2b515b328c5fb3c4373a6dff6abe2aa +DIST RobotRaconteurCompanion-0.4.3-Source.tar.gz 242152 BLAKE2B c9fc1ad4c5af0e3f444c08f860064120dc9245e7b8bbdf422ad05ee91113f2c5e483eeac37ee3caa057b2873ebc962afa8021bca9bbc61a5d8afd2f7331d116a SHA512 7074c2479b755984cb02db1bedf7ab1997d2130b3ac12d9732a06dab2d3efc61ac1e8897d65daca1c8983a00e6b4f61cd89d3093627181a2a9dcb652ced547ae diff --git a/dev-cpp/robotraconteur-companion/metadata.xml b/dev-cpp/robotraconteur-companion/metadata.xml index fd6940b88f8b..59059b394931 100644 --- a/dev-cpp/robotraconteur-companion/metadata.xml +++ b/dev-cpp/robotraconteur-companion/metadata.xml @@ -12,5 +12,5 @@ <bugs-to>https://github.com/robotraconteur/robotraconteur_companion/issues</bugs-to> <doc>http://robotraconteur.com</doc> </upstream> - <origin>gentoo-guru-overlay</origin> + <origin>liguros-repo</origin> </pkgmetadata>
\ No newline at end of file diff --git a/dev-cpp/robotraconteur-companion/robotraconteur-companion-0.4.3.ebuild b/dev-cpp/robotraconteur-companion/robotraconteur-companion-0.4.3.ebuild new file mode 100644 index 000000000000..07482c031379 --- /dev/null +++ b/dev-cpp/robotraconteur-companion/robotraconteur-companion-0.4.3.ebuild @@ -0,0 +1,34 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit cmake + +DESCRIPTION="Robot Raconteur C++ Companion Library" +HOMEPAGE="https://github.com/robotraconteur/robotraconteur_companion" +SRC_URI="https://github.com/robotraconteur/robotraconteur_companion/releases/download/v${PV}/RobotRaconteurCompanion-${PV}-Source.tar.gz" + +S="${WORKDIR}/RobotRaconteurCompanion-${PV}-Source" + +LICENSE="Apache-2.0" +SLOT="0/${PV}" +KEYWORDS="~amd64 ~arm64" + +DEPEND="dev-libs/boost:= + dev-libs/openssl + dev-cpp/yaml-cpp:= + dev-cpp/eigen + dev-cpp/robotraconteur +" +RDEPEND="${DEPEND}" + +src_configure() { +local mycmakeargs=( + -DCMAKE_SKIP_RPATH=ON + -DBUILD_TESTING=OFF + -DBUILD_DOCUMENTATION=OFF + -DROBOTRACONTEUR_COMPANION_SOVERSION_MAJOR_ONLY=ON + ) + cmake_src_configure +} diff --git a/dev-cpp/robotraconteur/Manifest b/dev-cpp/robotraconteur/Manifest index 989b83135870..fc3da18407fb 100644 --- a/dev-cpp/robotraconteur/Manifest +++ b/dev-cpp/robotraconteur/Manifest @@ -1 +1,2 @@ DIST RobotRaconteur-1.2.7-Source.tar.gz 11808734 BLAKE2B cef41066cb557131250d6817658792e4af1b7f5ce8c4ee279823f99232b2da7340a59eec9d37ca29a4763193f531e3a7d12599dff1fdf82745a5015d533bc997 SHA512 9d01d648c4d140206ec794d5c55e237078154ed3419013c8d071d75a664c659fb515482fb4d502a15373e1ae13afcdcf1c53b3458b81b2cc2f522986400ed231 +DIST RobotRaconteur-1.2.8-Source.tar.gz 11831136 BLAKE2B de9ecf9f5b432b9a64b19f7f64390f110a038a36b33b6c73dd822abd2f18e30eebada08111ca636c7fffdff929f8a5ed78a6015d46d43f75fc119560482053f7 SHA512 1a9ffe6bb0839523e63980b5140c3052772bb2d903c0c81a3e29f8346ea80507f5e2246a3474cd877d93cf3c9117830c9ef73b7bfe9ff78fbad4031e4a20ec27 diff --git a/dev-cpp/robotraconteur/metadata.xml b/dev-cpp/robotraconteur/metadata.xml index a136c72e13d1..9c7b903af8f6 100644 --- a/dev-cpp/robotraconteur/metadata.xml +++ b/dev-cpp/robotraconteur/metadata.xml @@ -15,5 +15,5 @@ <use> <flag name="python">Enable Python bindings</flag> </use> - <origin>gentoo-guru-overlay</origin> + <origin>liguros-repo</origin> </pkgmetadata>
\ No newline at end of file diff --git a/dev-cpp/robotraconteur/robotraconteur-1.2.7.ebuild b/dev-cpp/robotraconteur/robotraconteur-1.2.7.ebuild index 7f90ef625430..d2872e54bbd8 100644 --- a/dev-cpp/robotraconteur/robotraconteur-1.2.7.ebuild +++ b/dev-cpp/robotraconteur/robotraconteur-1.2.7.ebuild @@ -3,7 +3,7 @@ EAPI=8 -PYTHON_COMPAT=( python3_{10..14} ) +PYTHON_COMPAT=( python3_{12..14} ) inherit cmake python-r1 diff --git a/dev-cpp/robotraconteur/robotraconteur-1.2.8.ebuild b/dev-cpp/robotraconteur/robotraconteur-1.2.8.ebuild new file mode 100644 index 000000000000..d2872e54bbd8 --- /dev/null +++ b/dev-cpp/robotraconteur/robotraconteur-1.2.8.ebuild @@ -0,0 +1,89 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{12..14} ) + +inherit cmake python-r1 + +DESCRIPTION="Robot Raconteur C++ library with Python bindings" +HOMEPAGE="https://github.com/robotraconteur/robotraconteur" +SRC_URI="https://github.com/robotraconteur/robotraconteur/releases/download/v${PV}/RobotRaconteur-${PV}-Source.tar.gz" + +S="${WORKDIR}/RobotRaconteur-${PV}-Source" + +LICENSE="Apache-2.0" +SLOT="1/${PV}" +KEYWORDS="~amd64 ~arm64" +IUSE="python" + +DEPEND="dev-libs/boost:= + dev-libs/openssl + dev-libs/libusb + sys-apps/dbus + net-wireless/bluez + python? ( dev-python/numpy[${PYTHON_USEDEP}] + dev-python/setuptools[${PYTHON_USEDEP}] + dev-python/pip[${PYTHON_USEDEP}] ) +" +RDEPEND=" + ${DEPEND} + python? ( + ${PYTHON_DEPS} + ) +" + +REQUIRED_USE=" + python? ( ${PYTHON_REQUIRED_USE} ) +" + +python_configure() { + local mycmakeargs=( + -DCMAKE_SKIP_RPATH=ON + -DBUILD_GEN=ON + -DBUILD_TESTING=OFF + -DBUILD_DOCUMENTATION=OFF + -DBUILD_PYTHON3=ON + -DINSTALL_PYTHON3_PIP=ON + -DINSTALL_PYTHON3_PIP_EXTRA_ARGS="--compile --use-pep517 --no-build-isolation --no-deps --root-user-action=ignore" + -DROBOTRACONTEURCORE_SOVERSION_MAJOR_ONLY=ON + ) + cmake_src_configure +} + +src_configure() { + if use python; then + python_foreach_impl python_configure + else + local mycmakeargs=( + -DCMAKE_SKIP_RPATH=ON + -DBUILD_GEN=ON + -DBUILD_TESTING=OFF + -DBUILD_DOCUMENTATION=OFF + -DROBOTRACONTEURCORE_SOVERSION_MAJOR_ONLY=ON + ) + cmake_src_configure + fi +} + +src_compile() { + if use python; then + python_foreach_impl cmake_src_compile + else + cmake_src_compile + fi +} + +python_install(){ + cmake_src_install + python_optimize "${D}$(python_get_sitedir)/RobotRaconteur" || die "Failed to optimize Python files" +} + +src_install() { + if use python; then + python_foreach_impl python_install + else + cmake_src_install + fi +} diff --git a/dev-cpp/safeint/files/safeint-3.0.28a-strip-O3.patch b/dev-cpp/safeint/files/safeint-3.0.28a-strip-O3.patch new file mode 100644 index 000000000000..610dac56b944 --- /dev/null +++ b/dev-cpp/safeint/files/safeint-3.0.28a-strip-O3.patch @@ -0,0 +1,28 @@ +From: Pavel Sobolev <contact@paveloom.dev> +Subject: [PATCH] Strip `-O3`. + +Signed-off-by: Pavel Sobolev <contact@paveloom.dev> + +--- a/Test/ClangTest/CMakeLists.txt ++++ b/Test/ClangTest/CMakeLists.txt +@@ -26,7 +26,7 @@ else() + set(CMAKE_CXX_COMPILER ${CLANG_PLUS_PLUS}) + + # the standard level is already at C++11, which is what we need for runtime tests +- add_compile_options(-O3 -ftrapv) ++ add_compile_options(-ftrapv) + + # Note - the test matrix here is as follows: + # int128 is available (best case) +--- a/Test/GccTest/CMakeLists.txt ++++ b/Test/GccTest/CMakeLists.txt +@@ -31,7 +31,7 @@ else() + message(STATUS "g++ available, configuring g++ tests") + set(CMAKE_CXX_COMPILER ${GCC_PLUS_PLUS}) + # the standard level is already at C++11, which is what we need for runtime tests +- add_compile_options(-O3 -ftrapv) ++ add_compile_options(-ftrapv) + + # Note - -fsanitize=undefined isn't currently working with g++ and cmake + # if you go build from the old makefile in Test/GccTest, it does work + diff --git a/dev-cpp/safeint/metadata.xml b/dev-cpp/safeint/metadata.xml index 8282ea84a406..fadef070bf50 100644 --- a/dev-cpp/safeint/metadata.xml +++ b/dev-cpp/safeint/metadata.xml @@ -8,5 +8,5 @@ <upstream> <bugs-to>https://github.com/dcleblanc/SafeInt/issues</bugs-to> </upstream> - <origin>gentoo-guru-overlay</origin> + <origin>liguros-repo</origin> </pkgmetadata>
\ No newline at end of file diff --git a/dev-cpp/safeint/safeint-3.0.28a.ebuild b/dev-cpp/safeint/safeint-3.0.28a.ebuild index e260a6393e92..2f7f31d769ea 100644 --- a/dev-cpp/safeint/safeint-3.0.28a.ebuild +++ b/dev-cpp/safeint/safeint-3.0.28a.ebuild @@ -21,6 +21,7 @@ PATCHES=( "${FILESDIR}/${PN}-3.0.28a-install-the-library.patch" "${FILESDIR}/${PN}-3.0.28a-make-tests-optional.patch" "${FILESDIR}/${PN}-3.0.28a-remove-broken-tests.patch" + "${FILESDIR}/${PN}-3.0.28a-strip-O3.patch" ) src_configure() { diff --git a/dev-cpp/scitokens-cpp/metadata.xml b/dev-cpp/scitokens-cpp/metadata.xml index 043451253c2f..c2d3cb6b7aa3 100644 --- a/dev-cpp/scitokens-cpp/metadata.xml +++ b/dev-cpp/scitokens-cpp/metadata.xml @@ -21,5 +21,5 @@ want to delegate trust for an issuer for managing a storage allocation. </longdescription> - <origin>gentoo-staging</origin> + <origin>liguros-repo</origin> </pkgmetadata>
\ No newline at end of file diff --git a/dev-cpp/scnlib/metadata.xml b/dev-cpp/scnlib/metadata.xml index 736a1167c898..7a420b460d5e 100644 --- a/dev-cpp/scnlib/metadata.xml +++ b/dev-cpp/scnlib/metadata.xml @@ -2,5 +2,5 @@ <!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd"> <pkgmetadata> - <origin>gentoo-guru-overlay</origin> + <origin>liguros-repo</origin> </pkgmetadata>
\ No newline at end of file diff --git a/dev-cpp/sdbus-c++/Manifest b/dev-cpp/sdbus-c++/Manifest index 862990d00e8c..9f8fb85d545c 100644 --- a/dev-cpp/sdbus-c++/Manifest +++ b/dev-cpp/sdbus-c++/Manifest @@ -1 +1 @@ -DIST sdbus-c++-2.1.0.tar.gz 251656 BLAKE2B 47a8cc2a5416ca9d06134e5faf797b91ae3a8f18d103523cb727567f34df15018ce0f17c37e0a811cba82188c446cc21d59646fba8163002f5b3d3ee0edf3b8a SHA512 4247d49f0d5231e2768c0c96fa9c266bbcc340292c9c3d748f9c37ff992b82301faea798300f916e9a5c992d77adfe56186866c91a4c7d4157750ff09ba5a047 +DIST sdbus-c++-2.3.1.tar.gz 263568 BLAKE2B ae36590d5b3cfb3d1c26fbfb6ec69d6e517b31615ebae0c77e9e6b95864fe61fc102f94de670011aef025ba75cd609907d83d889b83e62f793dd1b161af5c841 SHA512 621618ad88a379788714fe5291c4db88a0d21fce92e7ca0d0e72d5a230d83f916a4ae89341a603542275a3700b264e769e111562a6468bd4b76e21495358bc2a diff --git a/dev-cpp/sdbus-c++/metadata.xml b/dev-cpp/sdbus-c++/metadata.xml index 352f03457598..fbe2163946a9 100644 --- a/dev-cpp/sdbus-c++/metadata.xml +++ b/dev-cpp/sdbus-c++/metadata.xml @@ -10,5 +10,5 @@ <flag name="systemd">Use external libsystemd instead of statically-linked build</flag> <flag name="tools">Install interface stub code generator</flag> </use> - <origin>gentoo-staging</origin> + <origin>liguros-repo</origin> </pkgmetadata>
\ No newline at end of file diff --git a/dev-cpp/sdbus-c++/sdbus-c++-2.1.0.ebuild b/dev-cpp/sdbus-c++/sdbus-c++-2.3.1.ebuild index a51e79b81e4b..824802974d39 100644 --- a/dev-cpp/sdbus-c++/sdbus-c++-2.1.0.ebuild +++ b/dev-cpp/sdbus-c++/sdbus-c++-2.3.1.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 diff --git a/dev-cpp/simdutf/metadata.xml b/dev-cpp/simdutf/metadata.xml index f2710c9e5c09..c9b6b0b24a72 100644 --- a/dev-cpp/simdutf/metadata.xml +++ b/dev-cpp/simdutf/metadata.xml @@ -6,5 +6,5 @@ <name>Gentoo GNOME Desktop</name> </maintainer> - <origin>gentoo-staging</origin> + <origin>liguros-repo</origin> </pkgmetadata>
\ No newline at end of file diff --git a/dev-cpp/simdutf/simdutf-7.7.1.ebuild b/dev-cpp/simdutf/simdutf-7.7.1.ebuild index f1095d566a5d..80afd8a0cb0b 100644 --- a/dev-cpp/simdutf/simdutf-7.7.1.ebuild +++ b/dev-cpp/simdutf/simdutf-7.7.1.ebuild @@ -6,7 +6,7 @@ EAPI=8 DOCS_BUILDER="doxygen" DOCS_DIR="" -PYTHON_COMPAT=( python3_{10..14} ) +PYTHON_COMPAT=( python3_{11..14} ) inherit cmake docs python-any-r1 diff --git a/dev-cpp/simdutf/simdutf-8.2.0.ebuild b/dev-cpp/simdutf/simdutf-8.2.0.ebuild index 00e3010d9bde..257604b202db 100644 --- a/dev-cpp/simdutf/simdutf-8.2.0.ebuild +++ b/dev-cpp/simdutf/simdutf-8.2.0.ebuild @@ -6,7 +6,7 @@ EAPI=8 DOCS_BUILDER="doxygen" DOCS_DIR="" -PYTHON_COMPAT=( python3_{10..14} ) +PYTHON_COMPAT=( python3_{11..14} ) inherit cmake docs python-any-r1 diff --git a/dev-cpp/simdutf/simdutf-9.0.0.ebuild b/dev-cpp/simdutf/simdutf-9.0.0.ebuild index 088797c390dd..226b366b5cc8 100644 --- a/dev-cpp/simdutf/simdutf-9.0.0.ebuild +++ b/dev-cpp/simdutf/simdutf-9.0.0.ebuild @@ -6,7 +6,7 @@ EAPI=8 DOCS_BUILDER="doxygen" DOCS_DIR="" -PYTHON_COMPAT=( python3_{10..14} ) +PYTHON_COMPAT=( python3_{11..14} ) inherit cmake docs python-any-r1 diff --git a/dev-cpp/simpleini/metadata.xml b/dev-cpp/simpleini/metadata.xml index 1b8db8b4c1d6..61945f9d476d 100644 --- a/dev-cpp/simpleini/metadata.xml +++ b/dev-cpp/simpleini/metadata.xml @@ -6,5 +6,5 @@ <name>Gentoo Games Project</name> </maintainer> - <origin>gentoo-staging</origin> + <origin>liguros-repo</origin> </pkgmetadata>
\ No newline at end of file diff --git a/dev-cpp/sol2/metadata.xml b/dev-cpp/sol2/metadata.xml index aa58da196279..0033df6d211d 100644 --- a/dev-cpp/sol2/metadata.xml +++ b/dev-cpp/sol2/metadata.xml @@ -14,5 +14,5 @@ <name>Gentoo Games Project</name> </maintainer> - <origin>gentoo-staging</origin> + <origin>liguros-repo</origin> </pkgmetadata>
\ No newline at end of file diff --git a/dev-cpp/sparsehash/metadata.xml b/dev-cpp/sparsehash/metadata.xml index e0ede33ab617..12e475e1d0a2 100644 --- a/dev-cpp/sparsehash/metadata.xml +++ b/dev-cpp/sparsehash/metadata.xml @@ -6,5 +6,5 @@ <name>Jakov Smolić</name> </maintainer> - <origin>gentoo-staging</origin> + <origin>liguros-repo</origin> </pkgmetadata>
\ No newline at end of file diff --git a/dev-cpp/sprout/metadata.xml b/dev-cpp/sprout/metadata.xml index dfe34d5869d6..7694b28eee79 100644 --- a/dev-cpp/sprout/metadata.xml +++ b/dev-cpp/sprout/metadata.xml @@ -10,5 +10,5 @@ <flag name="texconv">Install texconv from subproject compost</flag> <flag name="wavconv">Install texconv from subproject darkroom</flag> </use> - <origin>gentoo-guru-overlay</origin> + <origin>liguros-repo</origin> </pkgmetadata>
\ No newline at end of file diff --git a/dev-cpp/string-theory/metadata.xml b/dev-cpp/string-theory/metadata.xml index dd4edbe2a4ac..d6ee80448e5a 100644 --- a/dev-cpp/string-theory/metadata.xml +++ b/dev-cpp/string-theory/metadata.xml @@ -10,5 +10,5 @@ <name>Proxy Maintainers</name> </maintainer> - <origin>gentoo-staging</origin> + <origin>liguros-repo</origin> </pkgmetadata>
\ No newline at end of file diff --git a/dev-cpp/taskflow/Manifest b/dev-cpp/taskflow/Manifest index 9d31dd6f4899..843dc8a6fa27 100644 --- a/dev-cpp/taskflow/Manifest +++ b/dev-cpp/taskflow/Manifest @@ -2,3 +2,4 @@ DIST taskflow-3.10.0.tar.gz 55396434 BLAKE2B 8b2351de0ae898e4e42aec295723064ac21 DIST taskflow-3.11.0.tar.gz 63626565 BLAKE2B 824b115f7d91039788996845e4edee1567e3af0e29c46c5dc4373b16981d3c2dd2d4290e5d7dd6a771ef999f8a75921128e14d70e16022880a5c1facc0935d00 SHA512 ca56f07db18767483ef6c2371a0dd9675e4f848cce891fe0ade85ec38609c08ddac2152a227a511c65901ade27439a988cdf70ad6841489f2bdbf712cde97f44 DIST taskflow-3.6.0.tar.gz 66335249 BLAKE2B bcdc6d721e32b7c40f65ed5bd115d2c0083663e8b51c0e4460baa5f62e576382a45e8da735119b577d8a6ae7a64c72431654471a3b8335997fdf4f9191ad64af SHA512 1bf17b69cdb29b982fc74b9091f5b6c8fc4fd3004b26afe7e73e71569738e492cf8663b71d98cfbc4e240c08ceb8a99bf51cccce95254710722f89929a4bbea8 DIST taskflow-3.7.0.tar.gz 66383509 BLAKE2B 92a9d56f0101d507b7f924ce9038d6d43a5f39c9270582f910644ad281ea2cee3f8fa39f3ee4e748f90d013d57a3bc2f24842e328ab345bc580d1a9a5de4f308 SHA512 2faecc9eaf9e7f24253a5aedbb4ef6164ba8b5181b7f2c65d8646c21300f28278d7817e928eeab7e85ec2b9644508a8665bab1a7482ec85a7f6de18cecb32d6f +DIST taskflow-4.0.0.tar.gz 63725755 BLAKE2B 96eca19196444288eeedb70d9837276e36abfbbf86e209a065713a0c7f0cac3dcefbc3fb0f5b733db8309e11dc21570c58ee3ebcc4f812c70c0ac901caca463d SHA512 01da8c002774bac0e1651e32ca9cb6041ab17b78b2301f399640e0888d86fcd65657db7942e77b8a561dcefc0f137f4d698fd491d00fa1670ff85608d0e7597d diff --git a/dev-cpp/taskflow/metadata.xml b/dev-cpp/taskflow/metadata.xml index 5cc3d99f4e0e..2ea68b564c3d 100644 --- a/dev-cpp/taskflow/metadata.xml +++ b/dev-cpp/taskflow/metadata.xml @@ -15,5 +15,5 @@ handling complex parallel workloads. </longdescription> - <origin>gentoo-staging</origin> + <origin>liguros-repo</origin> </pkgmetadata>
\ No newline at end of file diff --git a/dev-cpp/taskflow/taskflow-4.0.0.ebuild b/dev-cpp/taskflow/taskflow-4.0.0.ebuild new file mode 100644 index 000000000000..8fa1b9436602 --- /dev/null +++ b/dev-cpp/taskflow/taskflow-4.0.0.ebuild @@ -0,0 +1,38 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit cmake + +DESCRIPTION="Modern C++ Parallel Task Programming" +HOMEPAGE="https://taskflow.github.io" +if [[ ${PV} == 9999 ]]; then + EGIT_REPO_URI="https://github.com/taskflow/${PN}.git" + inherit git-r3 + S="${WORKDIR}/taskflow-${PV}" +else + SRC_URI="https://github.com/${PN}/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz" + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" + S="${WORKDIR}/taskflow-${PV}" +fi + +LICENSE="MIT" +SLOT="0" +IUSE="examples test" +RESTRICT="!test? ( test )" + +DEPEND="test? ( dev-cpp/doctest )" + +HTML_DOCS=( docs/. ) + +src_configure() { + # TODO: enable CUDA via USE flag + local mycmakeargs=( + -DTF_BUILD_CUDA=OFF + -DTF_BUILD_EXAMPLES=$(usex examples) + -DTF_BUILD_TESTS=$(usex test) + ) + + cmake_src_configure +} diff --git a/dev-cpp/tbb/metadata.xml b/dev-cpp/tbb/metadata.xml index 8215cd682c0c..58e12b20d183 100644 --- a/dev-cpp/tbb/metadata.xml +++ b/dev-cpp/tbb/metadata.xml @@ -16,5 +16,5 @@ <bugs-to>https://github.com/uxlfoundation/oneTBB/issues</bugs-to> <doc>https://github.com/uxlfoundation/oneTBB?tab=readme-ov-file#documentation</doc> </upstream> - <origin>gentoo-staging</origin> + <origin>liguros-repo</origin> </pkgmetadata>
\ No newline at end of file diff --git a/dev-cpp/tclap/metadata.xml b/dev-cpp/tclap/metadata.xml index 83d00b14c8d4..7a420b460d5e 100644 --- a/dev-cpp/tclap/metadata.xml +++ b/dev-cpp/tclap/metadata.xml @@ -2,5 +2,5 @@ <!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd"> <pkgmetadata> - <origin>gentoo-staging</origin> + <origin>liguros-repo</origin> </pkgmetadata>
\ No newline at end of file diff --git a/dev-cpp/termcolor/metadata.xml b/dev-cpp/termcolor/metadata.xml index 7005c32b12c1..fc27a371aff2 100644 --- a/dev-cpp/termcolor/metadata.xml +++ b/dev-cpp/termcolor/metadata.xml @@ -6,5 +6,5 @@ <name>Sam James</name> </maintainer> - <origin>gentoo-staging</origin> + <origin>liguros-repo</origin> </pkgmetadata>
\ No newline at end of file diff --git a/dev-cpp/tinygltf/metadata.xml b/dev-cpp/tinygltf/metadata.xml index b88102874f2e..9d1f2bd9c1d0 100644 --- a/dev-cpp/tinygltf/metadata.xml +++ b/dev-cpp/tinygltf/metadata.xml @@ -6,5 +6,5 @@ <name>Nguyen Dinh Dang Duong</name> </maintainer> - <origin>gentoo-guru-overlay</origin> + <origin>liguros-repo</origin> </pkgmetadata>
\ No newline at end of file diff --git a/dev-cpp/tinygltf/tinygltf-2.9.6.ebuild b/dev-cpp/tinygltf/tinygltf-2.9.6.ebuild index ad4bc7734432..85301c5c2f85 100644 --- a/dev-cpp/tinygltf/tinygltf-2.9.6.ebuild +++ b/dev-cpp/tinygltf/tinygltf-2.9.6.ebuild @@ -3,7 +3,7 @@ EAPI=8 -PYTHON_COMPAT=( python3_{10..14} ) +PYTHON_COMPAT=( python3_{12..14} ) inherit cmake edo python-any-r1 DESCRIPTION="Header only C++11 tiny glTF 2.0 library" diff --git a/dev-cpp/tlfloat/metadata.xml b/dev-cpp/tlfloat/metadata.xml index a6b256295160..c2271a207d95 100644 --- a/dev-cpp/tlfloat/metadata.xml +++ b/dev-cpp/tlfloat/metadata.xml @@ -6,5 +6,5 @@ <name>Tupone Alfredo</name> </maintainer> - <origin>gentoo-staging</origin> + <origin>liguros-repo</origin> </pkgmetadata>
\ No newline at end of file diff --git a/dev-cpp/toml11/metadata.xml b/dev-cpp/toml11/metadata.xml index ecd6134f7692..8d25eff8abff 100644 --- a/dev-cpp/toml11/metadata.xml +++ b/dev-cpp/toml11/metadata.xml @@ -8,5 +8,5 @@ <upstream> <bugs-to>https://github.com/ToruNiina/toml11/issues/</bugs-to> </upstream> - <origin>gentoo-staging</origin> + <origin>liguros-repo</origin> </pkgmetadata>
\ No newline at end of file diff --git a/dev-cpp/tomlplusplus/metadata.xml b/dev-cpp/tomlplusplus/metadata.xml index ee00ffb5cd81..dd7f51efdb9a 100644 --- a/dev-cpp/tomlplusplus/metadata.xml +++ b/dev-cpp/tomlplusplus/metadata.xml @@ -10,5 +10,5 @@ <name>Proxy Maintainers</name> </maintainer> - <origin>gentoo-staging</origin> + <origin>liguros-repo</origin> </pkgmetadata>
\ No newline at end of file diff --git a/dev-cpp/trantor/metadata.xml b/dev-cpp/trantor/metadata.xml index e195fdd4e632..3c24565b06e6 100644 --- a/dev-cpp/trantor/metadata.xml +++ b/dev-cpp/trantor/metadata.xml @@ -11,5 +11,5 @@ <use> <flag name="spdlog">enable <pkg>dev-libs/spdlog</pkg> logging backend</flag> </use> - <origin>gentoo-guru-overlay</origin> + <origin>liguros-repo</origin> </pkgmetadata>
\ No newline at end of file diff --git a/dev-cpp/tree/metadata.xml b/dev-cpp/tree/metadata.xml index 64b63a068c4a..57b9bc03b2e2 100644 --- a/dev-cpp/tree/metadata.xml +++ b/dev-cpp/tree/metadata.xml @@ -13,5 +13,5 @@ STL or alternative algorithms are available. </longdescription> - <origin>gentoo-staging</origin> + <origin>liguros-repo</origin> </pkgmetadata>
\ No newline at end of file diff --git a/dev-cpp/trompeloeil/Manifest b/dev-cpp/trompeloeil/Manifest index 8926e4ec4118..269ac5a91aac 100644 --- a/dev-cpp/trompeloeil/Manifest +++ b/dev-cpp/trompeloeil/Manifest @@ -1 +1,2 @@ DIST trompeloeil-47.tar.gz 319940 BLAKE2B 2ea8bf5f5a730c637742aded374bb4c09b7ed1972a88dcd3aec0784559b72f3938269fb9c898934bc6eb69ff543249b70e6e2eb596860940a5d37c97192fa20f SHA512 e29d5424318c9d09adfa37767a5ad2cc074a01d5bb12eb832868d2bf54e67f12310a47b0887b1a6c62eebcdddf4155d940a37a8c93c3547742d91a3ce857dd69 +DIST trompeloeil-49.tar.gz 336774 BLAKE2B b6e5807f43becc27ea6cee6614485cf537c81eb12dee92e47800470673f7b912a20d30318e6c1bb3abc5a7f3013db89b60bea36962f8694305d5e807b46d8ad0 SHA512 f1a7212eacfb79f73cea075a147066b4cb10da76a6826e4594c29412395ae69647bb852d12936dd3f9b5c5a7f0aad3ebae246fdfb4006072c39b1efcd51876f5 diff --git a/dev-cpp/trompeloeil/metadata.xml b/dev-cpp/trompeloeil/metadata.xml index 736a1167c898..7a420b460d5e 100644 --- a/dev-cpp/trompeloeil/metadata.xml +++ b/dev-cpp/trompeloeil/metadata.xml @@ -2,5 +2,5 @@ <!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd"> <pkgmetadata> - <origin>gentoo-guru-overlay</origin> + <origin>liguros-repo</origin> </pkgmetadata>
\ No newline at end of file diff --git a/dev-cpp/trompeloeil/trompeloeil-49.ebuild b/dev-cpp/trompeloeil/trompeloeil-49.ebuild new file mode 100644 index 000000000000..16367a1bd05d --- /dev/null +++ b/dev-cpp/trompeloeil/trompeloeil-49.ebuild @@ -0,0 +1,38 @@ +# Copyright 2023-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit cmake + +DESCRIPTION="Header only C++14 mocking framework" +HOMEPAGE="https://github.com/rollbear/trompeloeil" +SRC_URI="https://github.com/rollbear/trompeloeil/archive/v${PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="Boost-1.0" +SLOT="0" +KEYWORDS="~amd64" +IUSE="test" +RESTRICT="!test? ( test )" + +BDEPEND="test? ( >=dev-cpp/catch-2:0 )" + +src_prepare() { + # bug #947154 + sed -i '/-Werror/d' test/CMakeLists.txt || die + cmake_src_prepare +} + +src_configure() { + local mycmakeargs=( + -DTROMPELOEIL_BUILD_TESTS=$(usex test) + ) + + cmake_src_configure +} + +src_test() { + cmake_src_test + + "${BUILD_DIR}"/test/self_test || die +} diff --git a/dev-cpp/units/Manifest b/dev-cpp/units/Manifest index 36503ed8a415..7c3f1c5f581b 100644 --- a/dev-cpp/units/Manifest +++ b/dev-cpp/units/Manifest @@ -1,2 +1 @@ -DIST units-2.3.3.tar.gz 1612045 BLAKE2B f81461e28d2cfe331ada2a0d1c0276d6a6c52825f2ec28caf2160e80aaa343ccc947892fe6be6133c5a80f277ac1767df49b66a10ad3ed573b57e6af16acd385 SHA512 40d803e6bb17f4bb46a0136c7753ae25a0d3ce352dbff3843b0c231e94eb8bade1de65d5b988589607fb12b11e4bfa762708a68839f2d7dccb45440672d09031 -DIST units-2.3.4.tar.gz 1125818 BLAKE2B dd84266bdfba116d7f675600a6dbf3925fd071892ffdfec11392b70b74026dab96628c606d48a5284a8c1661a390245543083eebd9691896008154a8c3fca037 SHA512 2280782fe020fb60fe16f304105de73b30fa51c36e075bfa9b4d0c9d585936084802dd8cca6b1967ad10c7ad949afce27937050184151c2a67f2113f14c38c1b +DIST units-3.3.0.tar.gz 1198638 BLAKE2B db2f821fc831835d00ca3a1284ec54050bc8c3017913f5bb835898bffd3a3f529380f89b9e29e091bb781e091a1f41dc3bbc9f4b2e57f257fafa196b81ab8195 SHA512 9cedc52e0405140b9a8014195f59f4deb2edd155fe78df76005eb721974c2a640975d9b959777be48f41c24f6a0a7047536649958da847e2aa8b0c3b9a6d139a diff --git a/dev-cpp/units/files/units-2.3.3-disable-failing-tests.patch b/dev-cpp/units/files/units-2.3.3-disable-failing-tests.patch deleted file mode 100644 index c148445704dd..000000000000 --- a/dev-cpp/units/files/units-2.3.3-disable-failing-tests.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/unitTests/main.cpp b/unitTests/main.cpp -index 96befa3..73a4d93 100644 ---- a/unitTests/main.cpp -+++ b/unitTests/main.cpp -@@ -1409,7 +1409,7 @@ TEST_F(UnitContainer, to_string) - EXPECT_STREQ("8 m", units::length::to_string(b).c_str());
- }
-
--TEST_F(UnitContainer, to_string_locale)
-+TEST_F(UnitContainer, DISABLED_to_string_locale)
- {
- struct lconv * lc;
-
diff --git a/dev-cpp/units/metadata.xml b/dev-cpp/units/metadata.xml index 0c17645a7fe0..22757237e910 100644 --- a/dev-cpp/units/metadata.xml +++ b/dev-cpp/units/metadata.xml @@ -6,5 +6,5 @@ <name>Kostadin Shishmanov</name> </maintainer> - <origin>gentoo-guru-overlay</origin> + <origin>liguros-repo</origin> </pkgmetadata>
\ No newline at end of file diff --git a/dev-cpp/units/units-2.3.4.ebuild b/dev-cpp/units/units-2.3.4.ebuild deleted file mode 100644 index 8964bf8a55a6..000000000000 --- a/dev-cpp/units/units-2.3.4.ebuild +++ /dev/null @@ -1,28 +0,0 @@ -# Copyright 1999-2023 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit cmake - -DESCRIPTION="A compile-time, header-only, dimensional analysis and unit conversion library" -HOMEPAGE="https://github.com/nholthaus/units" -SRC_URI="https://github.com/nholthaus/units/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz" - -LICENSE="MIT" -SLOT="0" -KEYWORDS="~amd64" - -IUSE="test" -RESTRICT="!test? ( test )" - -PATCHES=( - "${FILESDIR}/${PN}-2.3.3-disable-failing-tests.patch" -) - -src_configure() { - local mycmakeargs+=( - -DBUILD_TESTS="$(usex test ON OFF)" - ) - cmake_src_configure -} diff --git a/dev-cpp/units/units-2.3.3.ebuild b/dev-cpp/units/units-3.3.0.ebuild index 69fa8c6ae25e..1fc603ae2ab8 100644 --- a/dev-cpp/units/units-2.3.3.ebuild +++ b/dev-cpp/units/units-3.3.0.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2023 Gentoo Authors +# Copyright 1999-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -16,13 +16,12 @@ KEYWORDS="~amd64" IUSE="test" RESTRICT="!test? ( test )" -PATCHES=( - "${FILESDIR}/${P}-disable-failing-tests.patch" -) +DEPEND="test? ( >=dev-cpp/gtest-1.17.0 )" src_configure() { local mycmakeargs+=( - -DBUILD_TESTS="$(usex test ON OFF)" + -DBUILD_TESTING="$(usex test ON OFF)" + -DUNITS_BUILD_TESTS="$(usex test ON OFF)" ) cmake_src_configure } diff --git a/dev-cpp/ut2-glaze/metadata.xml b/dev-cpp/ut2-glaze/metadata.xml index 723f60bf94b5..e6d09a1cf0a2 100644 --- a/dev-cpp/ut2-glaze/metadata.xml +++ b/dev-cpp/ut2-glaze/metadata.xml @@ -17,5 +17,5 @@ <changelog>https://github.com/openalgz/ut/releases</changelog> <bugs-to>https://github.com/openalgz/ut/issues</bugs-to> </upstream> - <origin>gentoo-staging</origin> + <origin>liguros-repo</origin> </pkgmetadata>
\ No newline at end of file diff --git a/dev-cpp/valijson/metadata.xml b/dev-cpp/valijson/metadata.xml index 68f705d5ef56..58788203a3f6 100644 --- a/dev-cpp/valijson/metadata.xml +++ b/dev-cpp/valijson/metadata.xml @@ -10,5 +10,5 @@ <name>Proxy Maintainers</name> </maintainer> - <origin>gentoo-staging</origin> + <origin>liguros-repo</origin> </pkgmetadata>
\ No newline at end of file diff --git a/dev-cpp/wangle/metadata.xml b/dev-cpp/wangle/metadata.xml index b608eb4115c5..13d11dad64d3 100644 --- a/dev-cpp/wangle/metadata.xml +++ b/dev-cpp/wangle/metadata.xml @@ -12,5 +12,5 @@ <upstream> <remote-id type="cpe">cpe:/a:facebook:wangle</remote-id> </upstream> - <origin>gentoo-staging</origin> + <origin>liguros-repo</origin> </pkgmetadata>
\ No newline at end of file diff --git a/dev-cpp/waylandpp/metadata.xml b/dev-cpp/waylandpp/metadata.xml index 6fbcd2761abc..d1559f227823 100644 --- a/dev-cpp/waylandpp/metadata.xml +++ b/dev-cpp/waylandpp/metadata.xml @@ -8,5 +8,5 @@ <upstream> <bugs-to>https://github.com/NilsBrause/waylandpp/issues</bugs-to> </upstream> - <origin>gentoo-staging</origin> + <origin>liguros-repo</origin> </pkgmetadata>
\ No newline at end of file diff --git a/dev-cpp/websocketpp/metadata.xml b/dev-cpp/websocketpp/metadata.xml index 83d00b14c8d4..7a420b460d5e 100644 --- a/dev-cpp/websocketpp/metadata.xml +++ b/dev-cpp/websocketpp/metadata.xml @@ -2,5 +2,5 @@ <!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd"> <pkgmetadata> - <origin>gentoo-staging</origin> + <origin>liguros-repo</origin> </pkgmetadata>
\ No newline at end of file diff --git a/dev-cpp/workflow/metadata.xml b/dev-cpp/workflow/metadata.xml index 0278f84e08d3..7370c64e20a2 100644 --- a/dev-cpp/workflow/metadata.xml +++ b/dev-cpp/workflow/metadata.xml @@ -6,5 +6,5 @@ <name>Aisha Tammy</name> </maintainer> - <origin>gentoo-guru-overlay</origin> + <origin>liguros-repo</origin> </pkgmetadata>
\ No newline at end of file diff --git a/dev-cpp/wt/metadata.xml b/dev-cpp/wt/metadata.xml index 1bb23aac582c..c78d4a3a1679 100644 --- a/dev-cpp/wt/metadata.xml +++ b/dev-cpp/wt/metadata.xml @@ -15,5 +15,5 @@ <flag name="pango">Enable <pkg>x11-libs/pango</pkg>, which is used for improved font support (WPdfImage and WRasterImage)</flag> <flag name="wttest">Build Wt::Test for automated (integration/unit) tests</flag> </use> - <origin>ports</origin> + <origin>liguros-repo</origin> </pkgmetadata>
\ No newline at end of file diff --git a/dev-cpp/xsimd/Manifest b/dev-cpp/xsimd/Manifest index 2619e028ad00..480e7e0bd710 100644 --- a/dev-cpp/xsimd/Manifest +++ b/dev-cpp/xsimd/Manifest @@ -1,2 +1,3 @@ DIST xsimd-13.2.0.tar.gz 269287 BLAKE2B 596d348e32cd6cde6112d7dee304d44111db755eb5827c6c55a57c2803a65956ef4660784748c6f127c28c80c62689d9956363bbc49ef9d2edf5f1f8b428af55 SHA512 3825626547b0dd9b58f306bc89e9b3bc6dd778ad3811b7828e50fc16ae102574255b53f2b0714995de2bd6f9eb7b2c5d266a1a24fbfdf5420dc5e94d7dcbb522 DIST xsimd-14.0.0.tar.gz 306182 BLAKE2B 8f17b86916cb7f88d8ba5f67abe063a514aa6707ed465a1a654fdcc9a59080ac27e2ab7b525eb289bfacf83d93a5b2fbddde46a6d99e819fc1dfbe9b1e591e98 SHA512 f1d9bc50482a52a7b1891637c4e054eeafed0503b938ef07050fea8354e215b9483bafb17485b22fca8d715ddd7c79f03af352116487558d610d4e03d7dbcf4e +DIST xsimd-14.2.0.tar.gz 339961 BLAKE2B 7f8253f7a6531d01678a51ec21bd15224a52da1b97ae94f9ba94e6d33aa97664d4e58d087206654a9fff37ef0fc11494296e87bdcc74c4ac2f92f5f2cd6de18f SHA512 5a93511719b5460fa27248d7bbfda61a72fd32d67c9dbffee26686d57b54042957e9ed8a7b55923677122e04f0c2f4ba5f92b54028cfb2f4328d45f2858b3bd6 diff --git a/dev-cpp/xsimd/files/xsimd-14.2.0-no-march.patch b/dev-cpp/xsimd/files/xsimd-14.2.0-no-march.patch new file mode 100644 index 000000000000..6dca6f7b84ba --- /dev/null +++ b/dev-cpp/xsimd/files/xsimd-14.2.0-no-march.patch @@ -0,0 +1,58 @@ +We both want to respect the user's CFLAGS, but also, not all of our arches support +-march or -mtune. +--- a/benchmark/CMakeLists.txt ++++ b/benchmark/CMakeLists.txt +@@ -30,7 +30,6 @@ + + if (CMAKE_CXX_COMPILER_ID MATCHES "Clang" OR CMAKE_CXX_COMPILER_ID MATCHES "GNU" OR CMAKE_CXX_COMPILER_ID MATCHES "Intel") + if(NOT CMAKE_CXX_FLAGS MATCHES "-march" AND NOT CMAKE_CXX_FLAGS MATCHES "-arch" AND NOT CMAKE_OSX_ARCHITECTURES) +- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -march=native") + endif() + + if(NOT MSVC) +--- a/examples/CMakeLists.txt ++++ b/examples/CMakeLists.txt +@@ -26,7 +26,6 @@ + + if (CMAKE_CXX_COMPILER_ID MATCHES "Clang" OR CMAKE_CXX_COMPILER_ID MATCHES "GNU" OR CMAKE_CXX_COMPILER_ID MATCHES "Intel") + if (NOT CMAKE_CXX_FLAGS MATCHES "-march" AND NOT CMAKE_CXX_FLAGS MATCHES "-arch" AND NOT CMAKE_OSX_ARCHITECTURES) +- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -march=native -mtune=native") + endif() + if(NOT CMAKE_CXX_COMPILER_ID MATCHES Clang) # We are using clang-cl + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fopenmp") +--- a/test/CMakeLists.txt ++++ b/test/CMakeLists.txt +@@ -42,8 +42,6 @@ + + # Note: to compile on ARM (or cross compile), you may need to add the following: + # -DTARGET_ARCH="armv8-a -mfpu=neon -mfloat-abi=softfp -target arm-linux-gnueabi" +-set(TARGET_ARCH "native" CACHE STRING "Target architecture arguments") +-string(REGEX MATCH "emulated\\<[0-9]+\\>" TARGET_EMULATED ${TARGET_ARCH}) + + if (TARGET_EMULATED) + message(STATUS "Using emulated target: ${TARGET_EMULATED}") +@@ -100,7 +99,6 @@ + include_directories(/usr/${ARM_ARCH_DIRECTORY}/include/) + if(NOT CMAKE_CXX_FLAGS MATCHES "-march") + message(STATUS "SETTING ARCH TO ${TARGET_ARCH}") +- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -march=${TARGET_ARCH}") + endif() + if(ARM_ARCH_DIRECTORY MATCHES "arm-linux-gnueabi") + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -mfpu=neon -mfloat-abi=softfp -target arm-linux-gnueabi") +@@ -110,16 +108,13 @@ + message(STATUS "CMAKE_CXX_FLAGS: ${CMAKE_CXX_FLAGS}") + message(STATUS "CMAKE_CXX_LINK_EXECUTABLE: ${CMAKE_CXX_LINK_EXECUTABLE}") + elseif(${CMAKE_SYSTEM_PROCESSOR} MATCHES "^ppc64" OR ${CMAKE_SYSTEM_PROCESSOR} MATCHES "aarch64") +- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -mcpu=${TARGET_ARCH} -mtune=${TARGET_ARCH}") + elseif(${CMAKE_SYSTEM_PROCESSOR} MATCHES "riscv64") + # Nothing specific + elseif(${CMAKE_SYSTEM_PROCESSOR} MATCHES "powerpc") + # Nothing specific + elseif(${CMAKE_SYSTEM_PROCESSOR} MATCHES "s390x") +- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -march=z14 -mzvector") + elseif(NOT WIN32 AND NOT EMSCRIPTEN) + if(TARGET_ARCH AND NOT CMAKE_CXX_FLAGS MATCHES "-march" AND NOT CMAKE_CXX_FLAGS MATCHES "-arch" AND NOT CMAKE_OSX_ARCHITECTURES) +- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -march=${TARGET_ARCH}") + endif() + endif() + endif() diff --git a/dev-cpp/xsimd/metadata.xml b/dev-cpp/xsimd/metadata.xml index c1aa073d78a3..0ddba6e66f1e 100644 --- a/dev-cpp/xsimd/metadata.xml +++ b/dev-cpp/xsimd/metadata.xml @@ -8,5 +8,5 @@ <upstream> <doc>https://xsimd.readthedocs.io/en/latest/</doc> </upstream> - <origin>gentoo-staging</origin> + <origin>liguros-repo</origin> </pkgmetadata>
\ No newline at end of file diff --git a/dev-cpp/xsimd/xsimd-13.2.0.ebuild b/dev-cpp/xsimd/xsimd-13.2.0.ebuild index 4a0d3c134b39..dd799720c404 100644 --- a/dev-cpp/xsimd/xsimd-13.2.0.ebuild +++ b/dev-cpp/xsimd/xsimd-13.2.0.ebuild @@ -3,7 +3,7 @@ EAPI=8 -PYTHON_COMPAT=( python3_{10..14} ) +PYTHON_COMPAT=( python3_{11..13} ) inherit cmake python-any-r1 DESCRIPTION="C++ wrappers for SIMD intrinsics" diff --git a/dev-cpp/xsimd/xsimd-14.0.0.ebuild b/dev-cpp/xsimd/xsimd-14.0.0.ebuild index d3103e1cec8b..575c78b432f5 100644 --- a/dev-cpp/xsimd/xsimd-14.0.0.ebuild +++ b/dev-cpp/xsimd/xsimd-14.0.0.ebuild @@ -1,9 +1,9 @@ -# Copyright 2023-2025 Gentoo Authors +# Copyright 2023-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 -PYTHON_COMPAT=( python3_{10..14} ) +PYTHON_COMPAT=( python3_{11..14} ) inherit cmake python-any-r1 DESCRIPTION="C++ wrappers for SIMD intrinsics" @@ -13,7 +13,7 @@ SRC_URI="https://github.com/xtensor-stack/${PN}/archive/refs/tags/${PV}.tar.gz LICENSE="BSD" SLOT="0" -KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +KEYWORDS="amd64 arm ~arm64 ~hppa ~loong ~ppc ppc64 ~riscv ~s390 ~sparc x86" IUSE="doc test" RESTRICT="!test? ( test )" diff --git a/dev-cpp/xsimd/xsimd-14.2.0.ebuild b/dev-cpp/xsimd/xsimd-14.2.0.ebuild new file mode 100644 index 000000000000..3ab9fac1271e --- /dev/null +++ b/dev-cpp/xsimd/xsimd-14.2.0.ebuild @@ -0,0 +1,70 @@ +# Copyright 2023-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{11..14} ) +inherit cmake python-any-r1 + +DESCRIPTION="C++ wrappers for SIMD intrinsics" +HOMEPAGE="https://github.com/xtensor-stack/xsimd" +SRC_URI="https://github.com/xtensor-stack/${PN}/archive/refs/tags/${PV}.tar.gz + -> ${P}.tar.gz" + +LICENSE="BSD" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +IUSE="doc test" +RESTRICT="!test? ( test )" + +BDEPEND=" + doc? ( + app-text/doxygen + $(python_gen_any_dep ' + dev-python/breathe[${PYTHON_USEDEP}] + dev-python/sphinx[${PYTHON_USEDEP}] + dev-python/sphinx-rtd-theme[${PYTHON_USEDEP}] + ') + ) + test? ( dev-cpp/doctest )" + +PATCHES=( + "${FILESDIR}"/${PN}-14.0.0-c++17.patch + "${FILESDIR}"/${P}-no-march.patch +) + +python_check_deps() { + python_has_version "dev-python/sphinx[${PYTHON_USEDEP}]" && + python_has_version "dev-python/sphinx-rtd-theme[${PYTHON_USEDEP}]" && + python_has_version "dev-python/breathe[${PYTHON_USEDEP}]" + +} + +pkg_setup() { + use doc && python-any-r1_pkg_setup +} + +src_prepare() { + sed -i \ + -e '/fPIC/d' \ + test/CMakeLists.txt \ + || die + cmake_src_prepare +} + +src_configure() { + local mycmakeargs=( + -DBUILD_TESTS=$(usex test) + ) + cmake_src_configure +} + +src_compile() { + cmake_src_compile + use doc && emake -C docs html +} + +src_install() { + use doc && HTML_DOCS=( docs/build/html/* ) + cmake_src_install +} diff --git a/dev-cpp/xtensor/metadata.xml b/dev-cpp/xtensor/metadata.xml index a27b6368b5f9..16bd3ce53bfe 100644 --- a/dev-cpp/xtensor/metadata.xml +++ b/dev-cpp/xtensor/metadata.xml @@ -12,5 +12,5 @@ <flag name="openmp">Enable parallel assignment loop using OpenMP</flag> <flag name="tbb">Enable parallel assignment loop using dev-cpp/tbb</flag> </use> - <origin>gentoo-guru-overlay</origin> + <origin>liguros-repo</origin> </pkgmetadata>
\ No newline at end of file diff --git a/dev-cpp/xtensor/xtensor-0.26.0.ebuild b/dev-cpp/xtensor/xtensor-0.26.0.ebuild index 973935564299..d05832ae454d 100644 --- a/dev-cpp/xtensor/xtensor-0.26.0.ebuild +++ b/dev-cpp/xtensor/xtensor-0.26.0.ebuild @@ -3,7 +3,7 @@ EAPI=8 -PYTHON_COMPAT=( python3_{10..14} ) +PYTHON_COMPAT=( python3_{12..13} ) inherit cmake python-any-r1 optfeature toolchain-funcs diff --git a/dev-cpp/xtl/metadata.xml b/dev-cpp/xtl/metadata.xml index c3af7bf8918e..e31d58688516 100644 --- a/dev-cpp/xtl/metadata.xml +++ b/dev-cpp/xtl/metadata.xml @@ -8,5 +8,5 @@ <upstream> <doc>https://xtl.readthedocs.io/en/latest/</doc> </upstream> - <origin>gentoo-guru-overlay</origin> + <origin>liguros-repo</origin> </pkgmetadata>
\ No newline at end of file diff --git a/dev-cpp/xtl/xtl-0.8.0.ebuild b/dev-cpp/xtl/xtl-0.8.0.ebuild index 93634d806c76..4d74e49b6200 100644 --- a/dev-cpp/xtl/xtl-0.8.0.ebuild +++ b/dev-cpp/xtl/xtl-0.8.0.ebuild @@ -3,7 +3,7 @@ EAPI=8 -PYTHON_COMPAT=( python3_{10..14} ) +PYTHON_COMPAT=( python3_{12..13} ) inherit cmake python-any-r1 diff --git a/dev-cpp/yaml-cpp/metadata.xml b/dev-cpp/yaml-cpp/metadata.xml index 6870f7599247..7ef5d4111d82 100644 --- a/dev-cpp/yaml-cpp/metadata.xml +++ b/dev-cpp/yaml-cpp/metadata.xml @@ -12,5 +12,5 @@ <upstream> <remote-id type="cpe">cpe:/a:yaml-cpp_project:yaml-cpp</remote-id> </upstream> - <origin>gentoo-staging</origin> + <origin>liguros-repo</origin> </pkgmetadata>
\ No newline at end of file |
