diff options
Diffstat (limited to 'dev-cpp')
217 files changed, 4678 insertions, 2304 deletions
diff --git a/dev-cpp/abseil-cpp/Manifest b/dev-cpp/abseil-cpp/Manifest index b1cb1b98c664..e652ac7bfedf 100644 --- a/dev-cpp/abseil-cpp/Manifest +++ b/dev-cpp/abseil-cpp/Manifest @@ -1,10 +1,9 @@ -DIST abseil-cpp-20200923.3.tar.gz 1783980 BLAKE2B 66d46fd6aafe0bf0d3fccd8a4e0a72fb0545a405d9c92d36ffcb1cf791b6d0eb85fd55218f740ba34c05c7bc952ad1aeaa367963b1f540f03a4f510fd02cd6d5 SHA512 7d9e2bc001a397b983afe1e5ca4d779bd27d0d30fad7f44e564a675e228f2fc29c203ef89dd1b0ff4a1832c6d99ae7627c9103a0daa6cccb426472528109ef85 DIST abseil-cpp-20211102.0.tar.gz 1884080 BLAKE2B a148f3b7cc9516fbeacc25116032a956bfa3cce61b4294c226e826e1171d24c043ab199757a11fae3fec0bc307b2222773a6b4f4563b289f7565b0ce4f72318a SHA512 fed68aa434c02ec6faa9d1c81f1ad35b60ec024b44957e2e0ac31e6075e385c06a3e1b616afeb4bb7c2413191fd7827d82e1f9f0796b52ed21fb2c41dd9031cf DIST abseil-cpp-20220623.1.tar.gz 1957483 BLAKE2B 5bcf60b5a55882bcb78c7095a9892f6d1e5819fb116e325a8299fb22780ab009f0e1d92d5d8aca5ae0d4acc6d60e620e3357a24e389059f6e75d94f1cbdc1ced SHA512 ab4fccd9a2bfa0c5ad4b56c8e8f8b7ec7a8eca8b6cc6959802acadd1da785e1feb078c6ac621808cd699c82717a9e637dc426d94b70a8db7f2a807059d41cbc2 DIST abseil-cpp-20230125.2.tar.gz 2119685 BLAKE2B 130e55c68acdec7af0f807189365a5206427fe0bcf564a2ece9837d84429505e763399384fae89a07db6b68ed18c63918dc5ae0e53e59cdb844e4d524932abf5 SHA512 b2ba5023610aacb680b22bef894372810e6e7df76e630e56ac2f4b9498f70a872171f4562f6560ab78e837437b7bcfd3c47bfc2a5bb7fb20f28ec490dc8ed61f DIST abseil-cpp-20230125.3.tar.gz 2119655 BLAKE2B 6c60201e4fc2cb5cd942fafb6023347739544f02fd257d003eeedff9e2e5137ee0c954342134d17a64844b9a5f309392a4c3ff9336907f35ba6c967ab03524ee SHA512 50509acfc4128fd31435631f71ac8cd0350acd9e290f78502723149016e7f07c9d84182ba99e0938b1873fecda09393d3fd7af8dabfb0d89cdcdd8a69a917e70 DIST abseil-cpp-20230802.0.tar.gz 2156669 BLAKE2B 34de2f949db3e7578cae39bdd851785fd5327a80662436e7d77f18e196cc28eb1b463e9f49c8fc66060073c6c88222015af8b41044d56af6811c8914e84fbea3 SHA512 320295fa687ded05b774741eb4c5285291d44cc14402ec5d997057cb4f53fb3ba54cd162c7a7b1003312b677603a1c25e14bfdbd1fc22ccf4b4443e8a6e3ec02 -DIST gtest-1.10.0_p20200702.tar.gz 866900 BLAKE2B c162d47868583ba270675abe5df935b8f4b9a9c00dbdc80dd88afa7f2b98266640b32b2ea5e8f9f6d6227196b5d2f79dbfda4e9585106224e814cc1503cf777d SHA512 715d887b59b47d4691c7c90ef0cf0ffc3d1e758e500263c76b50fd506e90a9d1c390af745933cfe3f55e1edac5d72dccedef3cb9a50b71a5b796424471a3017b +DIST abseil-cpp-20240116.2.tar.gz 2151288 BLAKE2B 2e843e29869bf69e46ec48884cbd2ba955eab2329716c4df7b9be0ded550f976184b945587af08d01a7aa77560ae679191c1a1de51c75311d3a5ee87c15017c8 SHA512 5062e731ee8c9a757e6d75fc1c558652deb4dd1daab4d6143f7ad52a139501c61365f89acbf82480be0f9a4911a58286560068d8b1a8b6774e6afad51739766e DIST gtest-1.13.0.tar.gz 862871 BLAKE2B d2768332c233d62f7a5f5332b63dc587c96c24765b2eeaa4f4caf5d421b175aa850d81cec4f50eeef9e06d4b86cb959555b4c2862a197ce3cb86d61fcb51f5d1 SHA512 70c0cfb1b4147bdecb467ecb22ae5b5529eec0abc085763213a796b7cdbd81d1761d12b342060539b936fa54f345d33f060601544874d6213fdde79111fa813e DIST gtest-1b18723e874b256c1e39378c6774a90701d70f7a.tar.gz 833195 BLAKE2B cfeb4fc1569529f8a08557330ab2c88db7703c4f2e8628d18b403f424342ad82b062edb8cc9c0dc122c453235ab327ea742a5ef12e49726e2fa2f60f5ea762d9 SHA512 cb90a54681e0be20a9a8c7a19f960a97cc567931308f4956ee142b86769c062fcf612b9635f5548009ee6d598ae0c1e83692151ec9f1ff1e409b89e158d8b954 DIST gtest-e68764c147ea0dac1e8811925c531d937396878e.tar.gz 862129 BLAKE2B d6decb9d1ad4e379a76119ec984deaa7649fca033f225698ce421bcee1207b52da3c4fdb2f6d68b968248575704ebe501b7b1d0a02c180901ffa78f9aa47f549 SHA512 aca72b5f64894aeee34cb869bdeda2d25ec04e901fe0e4e8d08d49472de1c9b19a97ba97a2e8570a88be74aea26d1cd526b4e605005a881e1cb6ab03ed3a4ceb diff --git a/dev-cpp/abseil-cpp/abseil-cpp-20200923.3.ebuild b/dev-cpp/abseil-cpp/abseil-cpp-20200923.3.ebuild deleted file mode 100644 index 0da6b1210557..000000000000 --- a/dev-cpp/abseil-cpp/abseil-cpp-20200923.3.ebuild +++ /dev/null @@ -1,76 +0,0 @@ -# Copyright 2020-2023 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -PYTHON_COMPAT=( python3_{9..11} ) - -inherit cmake flag-o-matic python-any-r1 toolchain-funcs - -# yes, it needs SOURCE, not just installed one -GTEST_COMMIT="aee0f9d9b5b87796ee8a0ab26b7587ec30e8858e" -GTEST_FILE="gtest-1.10.0_p20200702.tar.gz" - -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/google/googletest/archive/${GTEST_COMMIT}.tar.gz -> ${GTEST_FILE}" - -LICENSE=" - Apache-2.0 - test? ( BSD ) -" -SLOT="0/${PV%%.*}" -KEYWORDS="amd64 ~arm64 ~ppc64 x86" -IUSE="+cxx17 test" - -BDEPEND=" - ${PYTHON_DEPS} - test? ( sys-libs/timezone-data ) -" - -RESTRICT="!test? ( test )" - -PATCHES=( - "${FILESDIR}/${PN}-20200923-arm_no_crypto.patch" - "${FILESDIR}/${PN}-20211102.0-r2-gcc-13.patch" - "${FILESDIR}/${PN}-20210324.1-glibc-2.34.patch" -) - -src_prepare() { - cmake_src_prepare - - # un-hardcode abseil compiler flags - sed -i \ - -e '/"-maes",/d' \ - -e '/"-msse4.1",/d' \ - -e '/"-mfpu=neon"/d' \ - -e '/"-march=armv8-a+crypto"/d' \ - absl/copts/copts.py || die - - # now generate cmake files - python_fix_shebang absl/copts/generate_copts.py - absl/copts/generate_copts.py || die - - sed -i 's/-Werror//g' \ - "${WORKDIR}/googletest-${GTEST_COMMIT}"/googletest/cmake/internal_utils.cmake || die -} - -src_configure() { - if use arm || use arm64; then - # bug #778926 - if [[ $($(tc-getCXX) ${CXXFLAGS} -E -P - <<<$'#if defined(__ARM_FEATURE_CRYPTO)\nHAVE_ARM_FEATURE_CRYPTO\n#endif') != *HAVE_ARM_FEATURE_CRYPTO* ]]; then - append-cxxflags -DABSL_ARCH_ARM_NO_CRYPTO - fi - fi - - local mycmakeargs=( - -DABSL_ENABLE_INSTALL=TRUE - -DABSL_LOCAL_GOOGLETEST_DIR="${WORKDIR}/googletest-${GTEST_COMMIT}" - -DABSL_RUN_TESTS=$(usex test) - -DBUILD_SHARED_LIBS=TRUE - $(usex cxx17 -DCMAKE_CXX_STANDARD=17 '') # it has to be a useflag for some consumers - $(usex test -DBUILD_TESTING=ON '') #intentional usex - ) - cmake_src_configure -} diff --git a/dev-cpp/abseil-cpp/abseil-cpp-20230125.3-r1.ebuild b/dev-cpp/abseil-cpp/abseil-cpp-20230125.3-r3.ebuild index 3ab7ae818f50..c248fe6ae1a4 100644 --- a/dev-cpp/abseil-cpp/abseil-cpp-20230125.3-r1.ebuild +++ b/dev-cpp/abseil-cpp/abseil-cpp-20230125.3-r3.ebuild @@ -1,4 +1,4 @@ -# Copyright 2020-2023 Gentoo Authors +# Copyright 2020-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -13,16 +13,14 @@ SRC_URI="https://github.com/abseil/abseil-cpp/archive/${PV}.tar.gz -> ${P}.tar.g LICENSE="Apache-2.0" SLOT="0/${PV%%.*}.0" -KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~x86" +KEYWORDS="amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv x86" IUSE="test" -DEPEND="" -RDEPEND="${DEPEND}" - +RDEPEND=">=dev-cpp/gtest-1.13.0[${MULTILIB_USEDEP}]" +DEPEND="${RDEPEND}" BDEPEND=" ${PYTHON_DEPS} test? ( - >=dev-cpp/gtest-1.13.0 sys-libs/timezone-data ) " @@ -31,6 +29,7 @@ RESTRICT="!test? ( test )" PATCHES=( "${FILESDIR}"/${PN}-20230125.2-musl-1.2.4.patch #906218 + "${FILESDIR}"/${PN}-random-tests.patch #935417 ) src_prepare() { @@ -57,7 +56,8 @@ multilib_src_configure() { -DABSL_ENABLE_INSTALL=TRUE -DABSL_USE_EXTERNAL_GOOGLETEST=ON -DABSL_PROPAGATE_CXX_STD=TRUE - -DABSL_BUILD_TEST_HELPERS=$(usex test ON OFF) + # TEST_HELPERS needed for protobuf (bug #915902) + -DABSL_BUILD_TEST_HELPERS=ON -DABSL_BUILD_TESTING=$(usex test ON OFF) $(usex test -DBUILD_TESTING=ON '') # intentional usex, it used both variables for tests. ) diff --git a/dev-cpp/abseil-cpp/abseil-cpp-20230125.3-r4.ebuild b/dev-cpp/abseil-cpp/abseil-cpp-20230125.3-r4.ebuild new file mode 100644 index 000000000000..f1cf1e20630d --- /dev/null +++ b/dev-cpp/abseil-cpp/abseil-cpp-20230125.3-r4.ebuild @@ -0,0 +1,67 @@ +# Copyright 2020-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{10..12} ) + +inherit cmake-multilib 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" + +LICENSE="Apache-2.0" +SLOT="0/${PV%%.*}.0" +KEYWORDS="amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv x86" +IUSE="test" + +RDEPEND=">=dev-cpp/gtest-1.13.0[${MULTILIB_USEDEP}]" +DEPEND="${RDEPEND}" +BDEPEND=" + ${PYTHON_DEPS} + test? ( + sys-libs/timezone-data + ) +" + +RESTRICT="!test? ( test )" + +PATCHES=( + "${FILESDIR}"/${PN}-20230125.2-musl-1.2.4.patch #906218 + "${FILESDIR}"/${PN}-random-tests.patch #935417 + "${FILESDIR}/${PN}-20230802.0-conditional-use-of-lzcnt.patch" #934337 +) + +src_prepare() { + cmake_src_prepare + + # un-hardcode abseil compiler flags + sed -i \ + -e '/"-maes",/d' \ + -e '/"-msse4.1",/d' \ + -e '/"-mfpu=neon"/d' \ + -e '/"-march=armv8-a+crypto"/d' \ + absl/copts/copts.py || die + + # now generate cmake files + python_fix_shebang absl/copts/generate_copts.py + absl/copts/generate_copts.py || die +} + +multilib_src_configure() { + local mycmakeargs=( + # We use -std=c++14 here so that abseil-cpp's string_view is used + # See the discussion in https://github.com/gentoo/gentoo/pull/32281. + -DCMAKE_CXX_STANDARD=14 + -DABSL_ENABLE_INSTALL=TRUE + -DABSL_USE_EXTERNAL_GOOGLETEST=ON + -DABSL_PROPAGATE_CXX_STD=TRUE + # TEST_HELPERS needed for protobuf (bug #915902) + -DABSL_BUILD_TEST_HELPERS=ON + -DABSL_BUILD_TESTING=$(usex test ON OFF) + $(usex test -DBUILD_TESTING=ON '') # intentional usex, it used both variables for tests. + ) + + cmake_src_configure +} diff --git a/dev-cpp/abseil-cpp/abseil-cpp-20230802.0.ebuild b/dev-cpp/abseil-cpp/abseil-cpp-20230802.0-r3.ebuild index 8efabfde0a90..dc13dfe5045f 100644 --- a/dev-cpp/abseil-cpp/abseil-cpp-20230802.0.ebuild +++ b/dev-cpp/abseil-cpp/abseil-cpp-20230802.0-r3.ebuild @@ -1,4 +1,4 @@ -# Copyright 2020-2023 Gentoo Authors +# Copyright 2020-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -16,19 +16,22 @@ SLOT="0/${PV%%.*}" KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~sparc ~x86" IUSE="test" -DEPEND="" -RDEPEND="${DEPEND}" - +RDEPEND=">=dev-cpp/gtest-1.13.0[${MULTILIB_USEDEP}]" +DEPEND="${RDEPEND}" BDEPEND=" ${PYTHON_DEPS} test? ( - >=dev-cpp/gtest-1.13.0 sys-libs/timezone-data ) " RESTRICT="!test? ( test )" -PATCHES=( "${FILESDIR}/${PN}-20230802.0-sdata-tests.patch" ) + +PATCHES=( + "${FILESDIR}/${PN}-20230802.0-sdata-tests.patch" + "${FILESDIR}/${PN}-random-tests.patch" #935417 + "${FILESDIR}/${PN}-20230802.0-conditional-use-of-lzcnt.patch" #934337 +) src_prepare() { cmake_src_prepare @@ -54,7 +57,8 @@ multilib_src_configure() { -DABSL_ENABLE_INSTALL=TRUE -DABSL_USE_EXTERNAL_GOOGLETEST=ON -DABSL_PROPAGATE_CXX_STD=TRUE - -DABSL_BUILD_TEST_HELPERS=$(usex test ON OFF) + # TEST_HELPERS needed for protobuf (bug #915902) + -DABSL_BUILD_TEST_HELPERS=ON -DABSL_BUILD_TESTING=$(usex test ON OFF) $(usex test -DBUILD_TESTING=ON '') # intentional usex, it used both variables for tests. ) diff --git a/dev-cpp/abseil-cpp/abseil-cpp-20240116.2-r3.ebuild b/dev-cpp/abseil-cpp/abseil-cpp-20240116.2-r3.ebuild new file mode 100644 index 000000000000..dc13dfe5045f --- /dev/null +++ b/dev-cpp/abseil-cpp/abseil-cpp-20240116.2-r3.ebuild @@ -0,0 +1,67 @@ +# Copyright 2020-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{10..12} ) + +inherit cmake-multilib 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" + +LICENSE="Apache-2.0" +SLOT="0/${PV%%.*}" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~sparc ~x86" +IUSE="test" + +RDEPEND=">=dev-cpp/gtest-1.13.0[${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}-random-tests.patch" #935417 + "${FILESDIR}/${PN}-20230802.0-conditional-use-of-lzcnt.patch" #934337 +) + +src_prepare() { + cmake_src_prepare + + # un-hardcode abseil compiler flags + sed -i \ + -e '/"-maes",/d' \ + -e '/"-msse4.1",/d' \ + -e '/"-mfpu=neon"/d' \ + -e '/"-march=armv8-a+crypto"/d' \ + absl/copts/copts.py || die + + # now generate cmake files + python_fix_shebang absl/copts/generate_copts.py + absl/copts/generate_copts.py || die +} + +multilib_src_configure() { + local mycmakeargs=( + # We use -std=c++14 here so that abseil-cpp's string_view is used + # See the discussion in https://github.com/gentoo/gentoo/pull/32281. + -DCMAKE_CXX_STANDARD=14 + -DABSL_ENABLE_INSTALL=TRUE + -DABSL_USE_EXTERNAL_GOOGLETEST=ON + -DABSL_PROPAGATE_CXX_STD=TRUE + # TEST_HELPERS needed for protobuf (bug #915902) + -DABSL_BUILD_TEST_HELPERS=ON + -DABSL_BUILD_TESTING=$(usex test ON OFF) + $(usex test -DBUILD_TESTING=ON '') # intentional usex, it used both variables for tests. + ) + + cmake_src_configure +} diff --git a/dev-cpp/abseil-cpp/files/abseil-cpp-20200923-arm_no_crypto.patch b/dev-cpp/abseil-cpp/files/abseil-cpp-20200923-arm_no_crypto.patch deleted file mode 100644 index d9e9963f5bae..000000000000 --- a/dev-cpp/abseil-cpp/files/abseil-cpp-20200923-arm_no_crypto.patch +++ /dev/null @@ -1,23 +0,0 @@ -Don't assume all ARM CPUs have crypto extensions. - -Requires an accompanying change in the ebuild to disable crypto -extensions (by passing -DABSL_ARCH_ARM_NO_CRYPTO). This could -be done by the build system instead in future. - -https://bugs.gentoo.org/778926 ---- a/absl/random/internal/randen_hwaes.cc -+++ b/absl/random/internal/randen_hwaes.cc -@@ -50,8 +50,11 @@ - (defined(__ARM_NEON) && defined(__ARM_FEATURE_CRYPTO)) - #define ABSL_RANDEN_HWAES_IMPL 1 - --#elif ABSL_RANDOM_INTERNAL_AES_DISPATCH && !defined(__APPLE__) && \ -- (defined(__GNUC__) && __GNUC__ > 4 || __GNUC__ == 4 && __GNUC_MINOR__ > 9) -+// When ABSL_ARCH_ARM_NO_CRYPTO is defined, then ARM CPU without -+// crypto extension is assumed. -+#elif !defined(ABSL_ARCH_ARM_NO_CRYPTO) && \ -+ (ABSL_RANDOM_INTERNAL_AES_DISPATCH && !defined(__APPLE__) && \ -+ (defined(__GNUC__) && __GNUC__ > 4 || __GNUC__ == 4 && __GNUC_MINOR__ > 9)) - // ...or, on GCC, we can use an ASM directive to - // instruct the assember to allow crypto instructions. - #define ABSL_RANDEN_HWAES_IMPL 1 diff --git a/dev-cpp/abseil-cpp/files/abseil-cpp-20210324.1-glibc-2.34.patch b/dev-cpp/abseil-cpp/files/abseil-cpp-20210324.1-glibc-2.34.patch deleted file mode 100644 index 99b868d3101f..000000000000 --- a/dev-cpp/abseil-cpp/files/abseil-cpp-20210324.1-glibc-2.34.patch +++ /dev/null @@ -1,14 +0,0 @@ -https://bugs.gentoo.org/823990 -https://github.com/abseil/abseil-cpp/commit/a9831f1cbf93fb18dd951453635f488037454ce9.patch ---- a/absl/debugging/failure_signal_handler.cc -+++ b/absl/debugging/failure_signal_handler.cc -@@ -136,7 +136,8 @@ static bool SetupAlternateStackOnce() { - #else - const size_t page_mask = sysconf(_SC_PAGESIZE) - 1; - #endif -- size_t stack_size = (std::max(SIGSTKSZ, 65536) + page_mask) & ~page_mask; -+ size_t stack_size = -+ (std::max<size_t>(SIGSTKSZ, 65536) + page_mask) & ~page_mask; - #if defined(ABSL_HAVE_ADDRESS_SANITIZER) || \ - defined(ABSL_HAVE_MEMORY_SANITIZER) || defined(ABSL_HAVE_THREAD_SANITIZER) - // Account for sanitizer instrumentation requiring additional stack space. diff --git a/dev-cpp/abseil-cpp/files/abseil-cpp-20230802.0-conditional-use-of-lzcnt.patch b/dev-cpp/abseil-cpp/files/abseil-cpp-20230802.0-conditional-use-of-lzcnt.patch new file mode 100644 index 000000000000..1fa00d9ff622 --- /dev/null +++ b/dev-cpp/abseil-cpp/files/abseil-cpp-20230802.0-conditional-use-of-lzcnt.patch @@ -0,0 +1,49 @@ +Bug: https://bugs.gentoo.org/934337
+From: https://github.com/abseil/abseil-cpp/commit/c1e1b47d989978cde8c5a2a219df425b785a0c47.patch
+From c1e1b47d989978cde8c5a2a219df425b785a0c47 Mon Sep 17 00:00:00 2001
+From: Derek Mauro <dmauro@google.com>
+Date: Fri, 3 May 2024 09:14:22 -0700
+Subject: [PATCH] Use __builtin_ctzg and __builtin_clzg in the implementations
+ of CountTrailingZeroesNonzero16 and CountLeadingZeroes16 when they are
+ available.
+
+GCC 14 and Clang 19 adds these new builtins. The g-suffix is for
+"generic". The s-suffix on __builtin_ctzs and __builtin_clzs is for
+"short". GCC never implemented the short versions and #1664 reports
+GCC 14 (pre-release) gives an error here, although this may be a
+pre-release bug.
+
+Fixes #1664
+
+PiperOrigin-RevId: 630408249
+Change-Id: I4aedcc82b85430f50d025f8eb1cab089c6fcd1bc
+---
+ absl/numeric/internal/bits.h | 8 ++++++--
+ 1 file changed, 6 insertions(+), 2 deletions(-)
+
+diff --git a/absl/numeric/internal/bits.h b/absl/numeric/internal/bits.h
+index bfef06bce1f..0917464d6ad 100644
+--- a/absl/numeric/internal/bits.h
++++ b/absl/numeric/internal/bits.h
+@@ -167,7 +167,9 @@ CountLeadingZeroes32(uint32_t x) {
+
+ ABSL_ATTRIBUTE_ALWAYS_INLINE ABSL_INTERNAL_CONSTEXPR_CLZ inline int
+ CountLeadingZeroes16(uint16_t x) {
+-#if ABSL_HAVE_BUILTIN(__builtin_clzs)
++#if ABSL_HAVE_BUILTIN(__builtin_clzg)
++ return x == 0 ? 16 : __builtin_clzg(x);
++#elif ABSL_HAVE_BUILTIN(__builtin_clzs)
+ static_assert(sizeof(unsigned short) == sizeof(x), // NOLINT(runtime/int)
+ "__builtin_clzs does not take 16-bit arg");
+ return x == 0 ? 16 : __builtin_clzs(x);
+@@ -303,7 +305,9 @@ CountTrailingZeroesNonzero64(uint64_t x) {
+
+ ABSL_ATTRIBUTE_ALWAYS_INLINE ABSL_INTERNAL_CONSTEXPR_CTZ inline int
+ CountTrailingZeroesNonzero16(uint16_t x) {
+-#if ABSL_HAVE_BUILTIN(__builtin_ctzs)
++#if ABSL_HAVE_BUILTIN(__builtin_ctzg)
++ return __builtin_ctzg(x);
++#elif ABSL_HAVE_BUILTIN(__builtin_ctzs)
+ static_assert(sizeof(unsigned short) == sizeof(x), // NOLINT(runtime/int)
+ "__builtin_ctzs does not take 16-bit arg");
+ return __builtin_ctzs(x);
diff --git a/dev-cpp/abseil-cpp/files/abseil-cpp-random-tests.patch b/dev-cpp/abseil-cpp/files/abseil-cpp-random-tests.patch new file mode 100644 index 000000000000..769ac6a56e39 --- /dev/null +++ b/dev-cpp/abseil-cpp/files/abseil-cpp-random-tests.patch @@ -0,0 +1,19 @@ +https://github.com/abseil/abseil-cpp/issues/1528 + +From: Paul Zander <negril.nx+gentoo@gmail.com> +Date: Sat, 7 Jul 2024 01:53:19 +0200 +Subject: [PATCH] remove abseil::random_internal_mock_overload_set +See-Also: https://bugs.gentoo.org/935417 + +diff --git a/absl/random/CMakeLists.txt b/absl/random/CMakeLists.txt +index bd363d8..7692a35 100644 +--- a/absl/random/CMakeLists.txt ++++ b/absl/random/CMakeLists.txt +@@ -112,7 +112,6 @@ absl_cc_library( + absl::raw_logging_internal + absl::random_distributions + absl::random_internal_distribution_caller +- absl::random_internal_mock_overload_set + absl::random_random + absl::strings + absl::span diff --git a/dev-cpp/abseil-cpp/metadata.xml b/dev-cpp/abseil-cpp/metadata.xml index 50aacfb6cbca..8984c4885cb9 100644 --- a/dev-cpp/abseil-cpp/metadata.xml +++ b/dev-cpp/abseil-cpp/metadata.xml @@ -1,13 +1,7 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> <pkgmetadata> - <maintainer type="person"> - <email>gyakovlev@gentoo.org</email> - <name>Georgy Yakovlev</name> - </maintainer> - <use> - <flag name="cxx17">Build with -DCMAKE_CXX_STANDARD=17 (required by some revdeps)</flag> - </use> + <!-- maintainer-needed --> <upstream> <remote-id type="github">abseil/abseil-cpp</remote-id> </upstream> diff --git a/dev-cpp/antlr-cpp/antlr-cpp-2.7.7-r2.ebuild b/dev-cpp/antlr-cpp/antlr-cpp-2.7.7-r2.ebuild index 525a0ee06a08..c5a8534c2450 100644 --- a/dev-cpp/antlr-cpp/antlr-cpp-2.7.7-r2.ebuild +++ b/dev-cpp/antlr-cpp/antlr-cpp-2.7.7-r2.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2023 Gentoo Authors +# Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -18,7 +18,7 @@ KEYWORDS="amd64 ~arm ppc x86" IUSE="doc examples" RESTRICT="test" # No tests but test target blows up! -BDEPEND="doc? ( app-doc/doxygen[dot] )" +BDEPEND="doc? ( app-text/doxygen[dot] )" PATCHES=( "${FILESDIR}"/${PV}-gcc.patch diff --git a/dev-cpp/antlr-cpp/metadata.xml b/dev-cpp/antlr-cpp/metadata.xml index ad571d3247b8..541a3e9dfdfb 100644 --- a/dev-cpp/antlr-cpp/metadata.xml +++ b/dev-cpp/antlr-cpp/metadata.xml @@ -2,8 +2,8 @@ <!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> <pkgmetadata> <maintainer type="project"> - <email>java@gentoo.org</email> - <name>Java</name> + <email>sci@gentoo.org</email> + <name>Gentoo Science Project</name> </maintainer> <upstream> <remote-id type="github">antlr/antlr3</remote-id> diff --git a/dev-cpp/argparse/Manifest b/dev-cpp/argparse/Manifest index 02766a54f2de..83cbe67bcf5b 100644 --- a/dev-cpp/argparse/Manifest +++ b/dev-cpp/argparse/Manifest @@ -1 +1,2 @@ DIST argparse-2.9.tar.gz 103147 BLAKE2B 2862acd7dc43dea0f7a7a1e6c9541ec8e7b7ecc70ce72ad327b34f72a330799475490e7da4e3a07c9ab28ddec4f88911514690c8b438f36d7c02704fe26b0f08 SHA512 fa471e7d8c448510376e79927496f62775e6ed37e1dffefd607839e6005dfbc61125d0e18bfc1ff20f86cef7efd75339d7bb143dc6574d988f83c7c96896fa5f +DIST argparse-3.0.tar.gz 116171 BLAKE2B 55a9aeaddf8ddaf8fa3e99d2ce3145a09c0ebfe927150928db683162e2227a61a2e7fbf8d272346e11912ece2cbdba313790586bd49c89352a03f0cafd01c3c9 SHA512 a7ed879eb3f71868cd84e513c0db63c4fecff1c9f0b34d6cfbe85d2439e83b80e97f713b497259c9775c9c7c1f639a08b73080045c51756de15e3d8c18b97116 diff --git a/dev-cpp/argparse/argparse-3.0.ebuild b/dev-cpp/argparse/argparse-3.0.ebuild new file mode 100644 index 000000000000..d5d35ca948ec --- /dev/null +++ b/dev-cpp/argparse/argparse-3.0.ebuild @@ -0,0 +1,34 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit cmake + +DESCRIPTION="Argument Parser for Modern C++" +HOMEPAGE="https://github.com/p-ranav/argparse" +SRC_URI="https://github.com/p-ranav/argparse/archive/v${PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~x86" +IUSE="test" +RESTRICT="!test? ( test )" + +src_prepare() { + cmake_src_prepare + sed -e 's/ -Werror//' -i test/CMakeLists.txt || die +} + +src_configure() { + local mycmakeargs=( + -DARGPARSE_BUILD_TESTS=$(usex test) + ) + + cmake_src_configure +} + +src_test() { + cd "${BUILD_DIR}"/test || die + ./tests || die +} diff --git a/dev-cpp/asio/Manifest b/dev-cpp/asio/Manifest index a4117e9d489e..7af8cb1f03fd 100644 --- a/dev-cpp/asio/Manifest +++ b/dev-cpp/asio/Manifest @@ -1,2 +1,3 @@ -DIST asio-1.28.0.tar.bz2 3387977 BLAKE2B dc0431a6710f58ce037d6e6e1cf81606b6f8be3ac9fdf6f7a69a7998fadb4f3c9dace2aa99606a9570166f9637ca7f4b9ab6964599c78027a9f32a9d243d5684 SHA512 b3fa23caa4cbf1e374fade97102adb22a32c68bd4b050474987c065b516fdf042d46842c41ac94e71458f402fae2d05bc8f617ee523ffb6a74ef33d214e9acd5 +DIST asio-1-30-1.tar.gz 2842718 BLAKE2B b99f6e1ab03c4da9bc802e04d66b46ac2374f7da9f65dd98dd3da3cf1cf507548ae2645343a63378ab91d665fc6e2efe5c5262f33757e851973534e23291abb1 SHA512 6b5f41479e20500dff6c535d8e3b096e11815784923bb4c0f68f69be59c80d7ad99c7e0380a1de4dd350e6cc6a79315d4645378a9b8d70d9f8d28a17f1cc68af DIST asio-1.28.1.tar.bz2 3383257 BLAKE2B 9d98152a6cf8b0e2a807275092b23f6198d8175fd7260499be7561cea2e6723c1a8478107315b7163cdc31d6eecab552550393ab3b1cfb686dcb4157d1e91fe4 SHA512 fadd7748675743ba9110f873bf57f2400a5c9c0dc03c1d6cd7f0988bc70ccbbff6cb6140f5dd236d2d874fc82a6f216406e8892808e915aae5119fe9d95743de +DIST asio-1.30.2.tar.bz2 3196850 BLAKE2B d902fda2338d9717bb8f2f5d43468c5d0b64591814c3ae3134350650f0dd97bf241287347d324b11d0e6993b1b44373df13305d736df09ad3375ce4976f5bb27 SHA512 2d26cdcfcc0c310e82ab502551b51d70fd95ba4628bd306929e78539299974fc14aa6ba27cf256f1df7a56539cb885012ba02a202ae17bf817ee6311308a795a diff --git a/dev-cpp/asio/asio-1.28.1.ebuild b/dev-cpp/asio/asio-1.28.1.ebuild index f11d6fe751c9..9b25fd181067 100644 --- a/dev-cpp/asio/asio-1.28.1.ebuild +++ b/dev-cpp/asio/asio-1.28.1.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2023 Gentoo Authors +# Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -7,11 +7,11 @@ inherit autotools DESCRIPTION="Asynchronous Network Library" HOMEPAGE="https://think-async.com https://github.com/chriskohlhoff/asio" -SRC_URI="mirror://sourceforge/${PN}/${PN}/${P}.tar.bz2" +SRC_URI="https://downloads.sourceforge.net/${PN}/${PN}/${P}.tar.bz2" LICENSE="Boost-1.0" SLOT="0" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~riscv ~sparc ~x86" +KEYWORDS="~alpha amd64 ~arm arm64 ~hppa ~ia64 ppc ppc64 ~riscv sparc x86" IUSE="doc examples test" RESTRICT="!test? ( test )" diff --git a/dev-cpp/asio/asio-1.30.1.ebuild b/dev-cpp/asio/asio-1.30.1.ebuild new file mode 100644 index 000000000000..064e9c09bbe5 --- /dev/null +++ b/dev-cpp/asio/asio-1.30.1.ebuild @@ -0,0 +1,58 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit autotools + +DESCRIPTION="Asynchronous Network Library" +HOMEPAGE="https://think-async.com https://github.com/chriskohlhoff/asio" +SRC_URI="https://github.com/chriskohlhoff/asio/archive/refs/tags/asio-${PV//./-}.tar.gz" +S="${WORKDIR}/asio-asio-${PV//./-}/asio" + +LICENSE="Boost-1.0" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~riscv ~sparc ~x86" +IUSE="examples test" +RESTRICT="!test? ( test )" + +DEPEND=" + test? ( + dev-libs/boost + dev-libs/openssl + ) +" +BDEPEND="virtual/pkgconfig" + +PATCHES=( + "${FILESDIR}/asio-1.30.1-pkgconfig.patch" +) + +src_prepare() { + default + + eautoreconf + + if ! use test; then + # Don't build nor install any examples or unittests + # since we don't have a script to run them + cat > src/Makefile.in <<-EOF || die + all: + + install: + + clean: + EOF + fi +} + +src_install() { + default + + if use examples; then + # Get rid of the object files + emake clean + dodoc -r src/examples + docompress -x /usr/share/doc/${PF}/examples + fi +} diff --git a/dev-cpp/asio/asio-1.28.0.ebuild b/dev-cpp/asio/asio-1.30.2.ebuild index 527c5fbc08cc..6592a495eec8 100644 --- a/dev-cpp/asio/asio-1.28.0.ebuild +++ b/dev-cpp/asio/asio-1.30.2.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2023 Gentoo Authors +# Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -7,11 +7,11 @@ inherit autotools DESCRIPTION="Asynchronous Network Library" HOMEPAGE="https://think-async.com https://github.com/chriskohlhoff/asio" -SRC_URI="mirror://sourceforge/${PN}/${PN}/${P}.tar.bz2" +SRC_URI="https://downloads.sourceforge.net/asio/asio/${P}.tar.bz2" LICENSE="Boost-1.0" SLOT="0" -KEYWORDS="~alpha amd64 ~arm arm64 ~hppa ~ia64 ppc ppc64 ~riscv sparc x86" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~riscv ~sparc ~x86" IUSE="doc examples test" RESTRICT="!test? ( test )" @@ -23,6 +23,10 @@ DEPEND=" " BDEPEND="virtual/pkgconfig" +PATCHES=( + "${FILESDIR}/asio-1.30.1-pkgconfig.patch" +) + src_prepare() { default @@ -41,11 +45,6 @@ src_prepare() { fi } -src_configure() { - # By default it puts .pc to libdir - econf --with-pkgconfigdir="${EPREFIX}/usr/share/pkgconfig" -} - src_install() { use doc && local HTML_DOCS=( doc/. ) default diff --git a/dev-cpp/asio/files/asio-1.30.1-pkgconfig.patch b/dev-cpp/asio/files/asio-1.30.1-pkgconfig.patch new file mode 100644 index 000000000000..c58b2a9df86d --- /dev/null +++ b/dev-cpp/asio/files/asio-1.30.1-pkgconfig.patch @@ -0,0 +1,24 @@ +Install .pc file to /usr/share instead of /usr/lib because there are no .so files + +--- a/Makefile.am ++++ b/Makefile.am +@@ -1,7 +1,6 @@ + AUTOMAKE_OPTIONS = foreign dist-bzip2 dist-zip + +-pkgconfig_DATA = asio.pc +-pkgconfigdir = $(libdir)/pkgconfig ++noarch_pkgconfig_DATA = asio.pc + + SUBDIRS = include src + +--- a/configure.ac ++++ b/configure.ac +@@ -8,7 +8,7 @@ AM_PROG_CC_C_O + AC_PROG_CXX + AC_LANG(C++) + AC_PROG_RANLIB +-PKG_INSTALLDIR ++PKG_NOARCH_INSTALLDIR + + AC_DEFINE(_REENTRANT, [1], [Define this]) + diff --git a/dev-cpp/atkmm/atkmm-2.28.3.ebuild b/dev-cpp/atkmm/atkmm-2.28.3.ebuild index a0b1f2ee8c64..f9a95dc8bf73 100644 --- a/dev-cpp/atkmm/atkmm-2.28.3.ebuild +++ b/dev-cpp/atkmm/atkmm-2.28.3.ebuild @@ -1,9 +1,9 @@ -# Copyright 1999-2023 Gentoo Authors +# Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 -PYTHON_COMPAT=( python3_{9..11} ) +PYTHON_COMPAT=( python3_{10..12} ) inherit gnome.org meson-multilib python-any-r1 DESCRIPTION="C++ interface for the ATK library" @@ -24,7 +24,7 @@ BDEPEND=" virtual/pkgconfig gtk-doc? ( >=dev-cpp/mm-common-1.0.4 - app-doc/doxygen[dot] + app-text/doxygen[dot] dev-libs/libxslt ) ${PYTHON_DEPS} diff --git a/dev-cpp/benchmark/Manifest b/dev-cpp/benchmark/Manifest index 924b0f5cc995..0fa4441613e2 100644 --- a/dev-cpp/benchmark/Manifest +++ b/dev-cpp/benchmark/Manifest @@ -1,2 +1,2 @@ -DIST benchmark-1.8.2.tar.gz 205926 BLAKE2B b39ee0c983e1b7417c54878507e692d9bc04d83da91c8059ae08373fc59286f28b8910d1d5ea425b0c512502de0aee51b10b1b191bac3ec29ec5f9ffc9056d64 SHA512 532f2cee66cf527ef4452a060cfdedba6417e5d8f72225d6bf50adf6422d9a769b0f54f48982b438fa9ced975ac47bcc5e62c3c23ce871b5cfdbcf9cc0d2b829 DIST benchmark-1.8.3.tar.gz 250206 BLAKE2B 14b4af17184a88378314d11623b73c27368999fcff6e50986407a08739fdf388cdcbd140471b629cd2a9948f81073796f8a6c38d015be8413b7e4d4759715f97 SHA512 4e12114251c79a426873cfba6e27270b69fc980cef9a68e9cb3170f8e2e203f77dee19ab1e65cad51cd67e60991d3bbfdd52553f22522ce5e6c611b5aa07602c +DIST benchmark-1.8.4.tar.gz 253916 BLAKE2B 78a290a5013d8371e87b7c918e518e3ec0e8247e25e211d160ab8dea51d8871d8dac54ee91ee0c512af86a60d1f4e9baedadc20d4a7fa28ef790411fda0399c8 SHA512 835d12b88fe52309ce6b2ffbc8b3c178ac594be7d249b5daca0373d1d03ec83ea3c7b94224f67f22d21919376985867eeff0d1c0721501cfd8a9e9b8a9c48882 diff --git a/dev-cpp/benchmark/benchmark-1.8.3.ebuild b/dev-cpp/benchmark/benchmark-1.8.3-r1.ebuild index 1ab5f296c427..8e3db7fe1c4a 100644 --- a/dev-cpp/benchmark/benchmark-1.8.3.ebuild +++ b/dev-cpp/benchmark/benchmark-1.8.3-r1.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2023 Gentoo Authors +# Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -11,20 +11,23 @@ SRC_URI="https://github.com/google/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz" LICENSE="Apache-2.0" SLOT="0" -KEYWORDS="amd64 ~arm arm64 ~hppa ~loong ppc ppc64 ~riscv ~x86" -IUSE="debug doc lto test" - +KEYWORDS="amd64 ~arm arm64 ~hppa ~loong ppc ppc64 ~riscv x86" +IUSE="debug doc test" RESTRICT="!test? ( test )" -BDEPEND="doc? ( app-doc/doxygen ) +BDEPEND="doc? ( app-text/doxygen ) test? ( >=dev-cpp/gtest-1.11.0 )" +PATCHES=( + "${FILESDIR}/${PN}-1.8.3-fix-32bit-test.patch" + "${FILESDIR}/${PN}-1.8.3-backport-pr1753.patch" + "${FILESDIR}/${PN}-1.8.3-backport-pr1756.patch" +) src_configure() { local mycmakeargs=( -DBENCHMARK_ENABLE_ASSEMBLY_TESTS=OFF -DBENCHMARK_ENABLE_DOXYGEN=$(usex doc) -DBENCHMARK_ENABLE_GTEST_TESTS=$(usex test) - -DBENCHMARK_ENABLE_LTO=$(usex lto) -DBENCHMARK_ENABLE_TESTING=$(usex test) -DBENCHMARK_ENABLE_WERROR=OFF -DBENCHMARK_USE_BUNDLED_GTEST=OFF diff --git a/dev-cpp/benchmark/benchmark-1.8.2.ebuild b/dev-cpp/benchmark/benchmark-1.8.4.ebuild index c0045a92a8c9..a48b13d02eb4 100644 --- a/dev-cpp/benchmark/benchmark-1.8.2.ebuild +++ b/dev-cpp/benchmark/benchmark-1.8.4.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2023 Gentoo Authors +# Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -11,12 +11,11 @@ SRC_URI="https://github.com/google/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz" LICENSE="Apache-2.0" SLOT="0" -KEYWORDS="amd64 ~arm arm64 ~hppa ~loong ppc ppc64 ~riscv x86" -IUSE="debug doc lto test" - +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~x86" +IUSE="debug doc test" RESTRICT="!test? ( test )" -BDEPEND="doc? ( app-doc/doxygen ) +BDEPEND="doc? ( app-text/doxygen ) test? ( >=dev-cpp/gtest-1.11.0 )" src_configure() { @@ -24,7 +23,6 @@ src_configure() { -DBENCHMARK_ENABLE_ASSEMBLY_TESTS=OFF -DBENCHMARK_ENABLE_DOXYGEN=$(usex doc) -DBENCHMARK_ENABLE_GTEST_TESTS=$(usex test) - -DBENCHMARK_ENABLE_LTO=$(usex lto) -DBENCHMARK_ENABLE_TESTING=$(usex test) -DBENCHMARK_ENABLE_WERROR=OFF -DBENCHMARK_USE_BUNDLED_GTEST=OFF diff --git a/dev-cpp/benchmark/files/benchmark-1.8.3-backport-pr1753.patch b/dev-cpp/benchmark/files/benchmark-1.8.3-backport-pr1753.patch new file mode 100644 index 000000000000..1c2516c38e37 --- /dev/null +++ b/dev-cpp/benchmark/files/benchmark-1.8.3-backport-pr1753.patch @@ -0,0 +1,94 @@ +https://bugs.gentoo.org/922877 +https://github.com/google/benchmark/pull/1753 + +From cdd4a6d48077a78d07e3b7f165383f6d5052108c Mon Sep 17 00:00:00 2001 +From: Sam James <sam@gentoo.org> +Date: Fri, 2 Feb 2024 21:38:11 -0500 +Subject: [PATCH 1/3] CycleClock: Add support for Alpha architecture + +As documented, the real cycle counter is unsafe to use here, because it +is a 32-bit integer which wraps every ~4s. Use gettimeofday instead, +which has a limitation of a low-precision real-time-clock (~1ms), but no +wrapping. Passes test suite. + +Signed-off-by: Sam James <sam@gentoo.org> +--- + src/cycleclock.h | 9 +++++++++ + 1 file changed, 9 insertions(+) + +diff --git a/src/cycleclock.h b/src/cycleclock.h +index 931bba146..eff563e7f 100644 +--- a/src/cycleclock.h ++++ b/src/cycleclock.h +@@ -218,6 +218,15 @@ inline BENCHMARK_ALWAYS_INLINE int64_t Now() { + uint64_t pcycle; + asm volatile("%0 = C15:14" : "=r"(pcycle)); + return static_cast<double>(pcycle); ++#elif defined(__alpha__) ++ // Alpha has a cycle counter, the PCC register, but it is an unsigned 32-bit ++ // integer and thus wraps every ~4s, making using it for tick counts ++ // unreliable beyond this time range. The real-time clock is low-precision, ++ // roughtly ~1ms, but it is the only option that can reasonable count ++ // indefinitely. ++ struct timeval tv; ++ gettimeofday(&tv, nullptr); ++ return static_cast<int64_t>(tv.tv_sec) * 1000000 + tv.tv_usec; + #else + // The soft failover to a generic implementation is automatic only for ARM. + // For other platforms the developer is expected to make an attempt to create + +From b1bec2fa5aed335b5be78720a9812cf27baf9df6 Mon Sep 17 00:00:00 2001 +From: Sam James <sam@gentoo.org> +Date: Fri, 2 Feb 2024 21:46:06 -0500 +Subject: [PATCH 2/3] sysinfo: support parsing /proc/cpuinfo on Alpha + +And also, bail out if unable to parse /proc/cpuinfo. This will +preemptively alert users on platforms that need custom code for parsing +/proc/cpuinfo. + +Signed-off-by: Sam James <sam@gentoo.org> +--- + src/sysinfo.cc | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/src/sysinfo.cc b/src/sysinfo.cc +index 04d64dc5b..786bb1b41 100644 +--- a/src/sysinfo.cc ++++ b/src/sysinfo.cc +@@ -513,7 +513,11 @@ int GetNumCPUs() { + std::cerr << "failed to open /proc/cpuinfo\n"; + return -1; + } ++#if defined(__alpha__) ++ const std::string Key = "cpus detected"; ++#else + const std::string Key = "processor"; ++#endif + std::string ln; + while (std::getline(f, ln)) { + if (ln.empty()) continue; + +From 17f2f35e1ce650b4f8596a5c5df6a050588136c5 Mon Sep 17 00:00:00 2001 +From: Sam James <sam@gentoo.org> +Date: Fri, 2 Feb 2024 21:49:24 -0500 +Subject: [PATCH 3/3] tabular_test: add a missing DoNotOptimize call + +Signed-off-by: Sam James <sam@gentoo.org> +--- + test/user_counters_tabular_test.cc | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/test/user_counters_tabular_test.cc b/test/user_counters_tabular_test.cc +index 3e8fb1bf0..ffd3c0992 100644 +--- a/test/user_counters_tabular_test.cc ++++ b/test/user_counters_tabular_test.cc +@@ -63,6 +63,9 @@ ADD_CASES(TC_CSVOut, {{"%csv_header," + + void BM_Counters_Tabular(benchmark::State& state) { + for (auto _ : state) { ++ // This test requires a non-zero CPU time to avoid divide-by-zero ++ auto iterations = state.iterations(); ++ benchmark::DoNotOptimize(iterations); + } + namespace bm = benchmark; + state.counters.insert({ diff --git a/dev-cpp/benchmark/files/benchmark-1.8.3-backport-pr1756.patch b/dev-cpp/benchmark/files/benchmark-1.8.3-backport-pr1756.patch new file mode 100644 index 000000000000..6744d3cf212f --- /dev/null +++ b/dev-cpp/benchmark/files/benchmark-1.8.3-backport-pr1756.patch @@ -0,0 +1,89 @@ +https://bugs.gentoo.org/922877 +https://github.com/google/benchmark/pull/1756 + +From 3805709f137766c99922f647af9b97d49d14e772 Mon Sep 17 00:00:00 2001 +From: Sam James <sam@gentoo.org> +Date: Tue, 13 Feb 2024 20:23:20 -0500 +Subject: [PATCH] sysinfo.cc: Always abort on GetNumCPUs failure + +Defines a wrapper function, CheckNumCPUs, which enforces that GetNumCPUs +never returns fewer than one CPU. There is no reasonable way to +continue if we are unable to identify the number of CPUs. + +Signed-off-by: Sam James <sam@gentoo.org> +--- + src/sysinfo.cc | 28 +++++++++++++++++----------- + 1 file changed, 17 insertions(+), 11 deletions(-) + +diff --git a/src/sysinfo.cc b/src/sysinfo.cc +index 786bb1b41..daeb98b02 100644 +--- a/src/sysinfo.cc ++++ b/src/sysinfo.cc +@@ -474,12 +474,11 @@ std::string GetSystemName() { + #endif // Catch-all POSIX block. + } + +-int GetNumCPUs() { ++int GetNumCPUsImpl() { + #ifdef BENCHMARK_HAS_SYSCTL + int num_cpu = -1; + if (GetSysctl("hw.ncpu", &num_cpu)) return num_cpu; +- fprintf(stderr, "Err: %s\n", strerror(errno)); +- std::exit(EXIT_FAILURE); ++ PrintErrorAndDie("Err: ", strerror(errno)); + #elif defined(BENCHMARK_OS_WINDOWS) + SYSTEM_INFO sysinfo; + // Use memset as opposed to = {} to avoid GCC missing initializer false +@@ -493,8 +492,8 @@ int GetNumCPUs() { + // Returns -1 in case of a failure. + long num_cpu = sysconf(_SC_NPROCESSORS_ONLN); + if (num_cpu < 0) { +- fprintf(stderr, "sysconf(_SC_NPROCESSORS_ONLN) failed with error: %s\n", +- strerror(errno)); ++ PrintErrorAndDie("sysconf(_SC_NPROCESSORS_ONLN) failed with error: ", ++ strerror(errno)); + } + return (int)num_cpu; + #elif defined(BENCHMARK_OS_QNX) +@@ -510,8 +509,7 @@ int GetNumCPUs() { + int max_id = -1; + std::ifstream f("/proc/cpuinfo"); + if (!f.is_open()) { +- std::cerr << "failed to open /proc/cpuinfo\n"; +- return -1; ++ PrintErrorAndDie("Failed to open /proc/cpuinfo"); + } + #if defined(__alpha__) + const std::string Key = "cpus detected"; +@@ -540,12 +538,10 @@ int GetNumCPUs() { + } + } + if (f.bad()) { +- std::cerr << "Failure reading /proc/cpuinfo\n"; +- return -1; ++ PrintErrorAndDie("Failure reading /proc/cpuinfo"); + } + if (!f.eof()) { +- std::cerr << "Failed to read to end of /proc/cpuinfo\n"; +- return -1; ++ PrintErrorAndDie("Failed to read to end of /proc/cpuinfo"); + } + f.close(); + +@@ -559,6 +555,16 @@ int GetNumCPUs() { + BENCHMARK_UNREACHABLE(); + } + ++int GetNumCPUs() { ++ const int num_cpus = GetNumCPUsImpl(); ++ if (num_cpus < 1) { ++ PrintErrorAndDie( ++ "Unable to extract number of CPUs. If your platform uses " ++ "/proc/cpuinfo, custom support may need to be added."); ++ } ++ return num_cpus; ++} ++ + class ThreadAffinityGuard final { + public: + ThreadAffinityGuard() : reset_affinity(SetAffinity()) { diff --git a/dev-cpp/benchmark/files/benchmark-1.8.3-fix-32bit-test.patch b/dev-cpp/benchmark/files/benchmark-1.8.3-fix-32bit-test.patch new file mode 100644 index 000000000000..62e741687f9c --- /dev/null +++ b/dev-cpp/benchmark/files/benchmark-1.8.3-fix-32bit-test.patch @@ -0,0 +1,20 @@ +https://bugs.gentoo.org/916278 +https://salsa.debian.org/science-team/benchmark/-/blob/master/debian/patches/0007-fix-32bit-test.patch?ref_type=heads + +Description: Fix 32bit-test +Author: Anton Gladky <gladk@debian.org> +Last-Update: 2023-10-17 + +--- benchmark-1.8.3.orig/test/statistics_gtest.cc ++++ benchmark-1.8.3/test/statistics_gtest.cc +@@ -28,8 +28,8 @@ TEST(StatisticsTest, StdDev) { + TEST(StatisticsTest, CV) { + EXPECT_DOUBLE_EQ(benchmark::StatisticsCV({101, 101, 101, 101}), 0.0); + EXPECT_DOUBLE_EQ(benchmark::StatisticsCV({1, 2, 3}), 1. / 2.); +- EXPECT_DOUBLE_EQ(benchmark::StatisticsCV({2.5, 2.4, 3.3, 4.2, 5.1}), +- 0.32888184094918121); ++ EXPECT_NEAR(benchmark::StatisticsCV({2.5, 2.4, 3.3, 4.2, 5.1}), ++ 0.32888184094918121, 1e-7); + } + + } // end namespace diff --git a/dev-cpp/benchmark/metadata.xml b/dev-cpp/benchmark/metadata.xml index 1a6a996e42c9..7b3ec03c0ee6 100644 --- a/dev-cpp/benchmark/metadata.xml +++ b/dev-cpp/benchmark/metadata.xml @@ -1,16 +1,10 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> <pkgmetadata> - <maintainer type="person"> - <email>marecki@gentoo.org</email> - <name>Marek Szuba</name> - </maintainer> + <!-- maintainer-needed --> <upstream> <bugs-to>https://github.com/google/benchmark/issues</bugs-to> <doc lang="en">https://github.com/google/benchmark/tree/master/docs/</doc> <remote-id type="github">google/benchmark</remote-id> </upstream> - <use> - <flag name="lto">Optimize the build using Link Time Optimization (LTO)</flag> - </use> </pkgmetadata> diff --git a/dev-cpp/cairomm/Manifest b/dev-cpp/cairomm/Manifest index 15ec5b166503..ab5d8910b384 100644 --- a/dev-cpp/cairomm/Manifest +++ b/dev-cpp/cairomm/Manifest @@ -1,3 +1,2 @@ DIST cairomm-1.14.4.tar.xz 618548 BLAKE2B 611e05b66e731d470c6d9a64c2eb4aee68aa73be5c05cb7e741e9a851ef15609cfc9fc27177531880b16517e62cf5c3f7669d4f7e7c5c78b9bc7d829e27f4d25 SHA512 9e2692837f55a2e66cd7e9d0a8033a35524df1c3186a53a9be75d71e899240dbc8959c914471e61e311812dabaf815e732142686b42fbdc75a71c05b41013d33 -DIST cairomm-1.16.2.tar.xz 593504 BLAKE2B 6682604f5907f16e40dd497f07eaaca5a4dc8a0b90771a0631406817ec397c42eb1784a6cbf15094ea6d61591acf04818e1b4d64ede3383b6859668d3b445a76 SHA512 61dc639eabe8502e1262c53c92fe57c5647e5ab9931f86ed51e657df1b7d0e3e58c2571910a05236cc0dca8d52f1f693aed99a553430f14d0fb87be1832a6b62 DIST cairomm-1.18.0.tar.xz 632520 BLAKE2B e05135eb2e22ed6002821567dd951644febc173b04e001f3574d6dac36d0c6d012c3806e7485fa7856402945934c653c4546855a8e97b016130edac31726d827 SHA512 d358a765136e244773b4a0fdcb2d9c81dd0b76f7a27c7108f94df9765f2d790f5f50b5645c09c292efce3e012528f85114d51916450c5fe6fa87d09f5a405d4c diff --git a/dev-cpp/cairomm/cairomm-1.14.4.ebuild b/dev-cpp/cairomm/cairomm-1.14.4.ebuild index 007d70bba611..fcca8361042a 100644 --- a/dev-cpp/cairomm/cairomm-1.14.4.ebuild +++ b/dev-cpp/cairomm/cairomm-1.14.4.ebuild @@ -1,8 +1,8 @@ -# Copyright 1999-2023 Gentoo Authors +# Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 -PYTHON_COMPAT=( python3_{9..11} ) +PYTHON_COMPAT=( python3_{10..12} ) inherit meson-multilib python-any-r1 DESCRIPTION="C++ bindings for the Cairo vector graphics library" @@ -30,7 +30,7 @@ BDEPEND=" gtk-doc? ( ${PYTHON_DEPS} >=dev-cpp/mm-common-1.0.4 - app-doc/doxygen[dot] + app-text/doxygen[dot] dev-libs/libxslt ) " diff --git a/dev-cpp/cairomm/cairomm-1.16.2.ebuild b/dev-cpp/cairomm/cairomm-1.16.2.ebuild deleted file mode 100644 index 3c69fcb42aed..000000000000 --- a/dev-cpp/cairomm/cairomm-1.16.2.ebuild +++ /dev/null @@ -1,50 +0,0 @@ -# Copyright 1999-2023 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 -PYTHON_COMPAT=( python3_{9..11} ) -inherit meson-multilib python-any-r1 - -DESCRIPTION="C++ bindings for the Cairo vector graphics library" -HOMEPAGE="https://cairographics.org/cairomm/ https://gitlab.freedesktop.org/cairo/cairomm" -SRC_URI="https://www.cairographics.org/releases/${P}.tar.xz" - -LICENSE="LGPL-2+" -SLOT="1.16" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ppc ppc64 ~riscv sparc x86 ~amd64-linux ~x86-linux ~ppc-macos" -IUSE="gtk-doc test X" -RESTRICT="!test? ( test )" - -RDEPEND=" - dev-libs/libsigc++:3[gtk-doc?,${MULTILIB_USEDEP}] - >=x11-libs/cairo-1.12.10[X=,${MULTILIB_USEDEP}] -" -DEPEND="${RDEPEND} - test? ( - dev-libs/boost[${MULTILIB_USEDEP}] - media-libs/fontconfig[${MULTILIB_USEDEP}] - ) -" -BDEPEND=" - virtual/pkgconfig - gtk-doc? ( - ${PYTHON_DEPS} - >=dev-cpp/mm-common-1.0.4 - app-doc/doxygen[dot] - dev-libs/libxslt - ) -" - -pkg_setup() { - use gtk-doc && python-any-r1_pkg_setup -} - -multilib_src_configure() { - local emesonargs=( - $(meson_native_use_bool gtk-doc build-documentation) - -Dbuild-examples=false - $(meson_use test build-tests) - -Dboost-shared=true - ) - meson_src_configure -} diff --git a/dev-cpp/cairomm/cairomm-1.18.0.ebuild b/dev-cpp/cairomm/cairomm-1.18.0.ebuild index c551d96c7702..11ec3b96345a 100644 --- a/dev-cpp/cairomm/cairomm-1.18.0.ebuild +++ b/dev-cpp/cairomm/cairomm-1.18.0.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2023 Gentoo Authors +# Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -11,7 +11,7 @@ SRC_URI="https://www.cairographics.org/releases/${P}.tar.xz" LICENSE="LGPL-2+" SLOT="1.16" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ppc ppc64 ~riscv sparc x86 ~amd64-linux ~x86-linux ~ppc-macos" IUSE="gtk-doc test X" RESTRICT="!test? ( test )" @@ -30,7 +30,7 @@ BDEPEND=" gtk-doc? ( ${PYTHON_DEPS} >=dev-cpp/mm-common-1.0.4 - app-doc/doxygen[dot] + app-text/doxygen[dot] dev-libs/libxslt ) " diff --git a/dev-cpp/catch/Manifest b/dev-cpp/catch/Manifest index c0bbb7ca91e0..93484845a6f1 100644 --- a/dev-cpp/catch/Manifest +++ b/dev-cpp/catch/Manifest @@ -1,3 +1,7 @@ DIST Catch-1.12.2.tar.gz 377265 BLAKE2B bc27b4daee950f8fb93d65f3aed032e72bc856ee27a8dc28c35b89e33f414d68ba4cf00951e476688eddf9e4c0514036bd6916fa6cfa9e3359e6c625984f114f SHA512 ed963cdca9fe307ee02928677f81cafcb41cd607faaa315182fdf898d0f2aa28f0be2141bd642f46fdfac400c38f6d065e00a595a1e5879fe2335c4a3851e844 +DIST Catch2-2.13.10.tar.gz 662225 BLAKE2B d8a2fb0e6f6a6f1ea25a860975ab596404ed41f4aed979a3c86da0140ce580fc3cbe12d44c1c936bac9ce8ec1813b2cb5d7d161be46c6924026f9645ca13aeaa SHA512 33c2292d5d315128a73f8cff27e92f86f3af30c45ce199297110b3cd2bf7d67a972fbcf7415aed1c467c384e0e3c63900c90faedff1d74c9d94b9e3e43df5ee2 DIST Catch2-2.13.8.tar.gz 661711 BLAKE2B 973cc73c1d158140645003e76c0baf85a65252041fdcae3c6ecb1857021f2d24d8e879fec5f00368f4f458e69b450603a1613ac587417725980f1dbfe3ff2e65 SHA512 68a45efa47beb3c85d2d7b8a8eba89b8ec1664b4a72bb223227fef1632778aeaf5cf5cc09f40e47aef50426c8661c7d6a69c2dab0b88fbbf7d9a6b2974d6e32e -DIST Catch2-3.4.0.tar.gz 1112790 BLAKE2B 0e3680b6e9d01d7661243097ec4a8e20d06a145acfe381cedc8eb2507c5df1bfb2b2907a9ae2771ffd94b66a0aa8f746aae4419ed4f469bea27c3bfca366ca3e SHA512 3b452378201ac53c9ffba7801231aa3b32c5fb496f01d670fcee25baf95f405e565ae2aafba49ea5694f906fc61a8b04592c68b9fb12839767070587a48c89fa +DIST Catch2-3.5.2.tar.gz 1159985 BLAKE2B 6aa810926f68098a8ac18bf3b045b0bf1be3632e3b34a59561c337312d0501199df7baf49d242c0dd6eeb3f4a9ca77c5545b86092e10865452f7bacaa13ea2a3 SHA512 1b9d5f35144f6c7acef0e76558a4adf3ff41c2c2292fbdcb3e2c2917fa2deb7fba593738105dd3c111f02ee8aca64010cf68f69bb8fb1815dbf771b509ab0576 +DIST Catch2-3.5.3.tar.gz 1169512 BLAKE2B ad515d379b071e015f593b3c6a1a66bafa3ca7c083f95ebba59603993a3a8ef40073a883731e83458bb0d463d3e53369e0474a6bdf0aef57e567f13bcc11d6a7 SHA512 57c996f679cbad212cb0fde39e506bade37bd559c0e93e20f407f2a2f029e98b78661e10257f9c8e4cb5fd7d52d0ea1eae3d4a1f989c6d66fcb281e32e1688f6 +DIST Catch2-3.5.4.tar.gz 1172449 BLAKE2B 2dee5ca34304032d92bfe147f9beff42c9b1db82b36bb0472a75f911d273cba4d881c3eccac4086eea6a77356defdab4b6d1a54cacd023eb8f904d12969ba60b SHA512 c22ad6a2fbf8665b8775d72dcdc6bfde324eb224fcd897ebce5e62c7ac7640823550198fff45e1ea548a5923db4392ce7009ff784ef78bd59356a2aae5337976 +DIST Catch2-3.6.0.tar.gz 1181300 BLAKE2B 37c56cf5537cb5fb66c1a4a9f15cd0b8e5f993f1f6ab1aa442d15b6290f2b1871abd97bccbdbf22694c4a86c736216c3006d36a82566bc9270704a5a11dc2672 SHA512 09c728a04d69b0692d6e2f7ceb5889dc69309406c27f7f2b5d383245a5357657c5540dd64a7a4a6e19388bda68105002425286468578b69b20e3a75366871ce2 diff --git a/dev-cpp/catch/catch-2.13.10.ebuild b/dev-cpp/catch/catch-2.13.10.ebuild new file mode 100644 index 000000000000..78018fe27f69 --- /dev/null +++ b/dev-cpp/catch/catch-2.13.10.ebuild @@ -0,0 +1,44 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{10..12} ) + +inherit cmake python-any-r1 + +if [[ ${PV} == *9999 ]]; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/catchorg/Catch2.git" +else + MY_P=${PN^}2-${PV} + SRC_URI="https://github.com/catchorg/Catch2/archive/v${PV}.tar.gz -> ${MY_P}.tar.gz" + S="${WORKDIR}/${MY_P}" + + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +fi + +DESCRIPTION="Modern C++ header-only framework for unit-tests" +HOMEPAGE="https://github.com/catchorg/Catch2" + +LICENSE="Boost-1.0" +SLOT="0" +IUSE="test" +RESTRICT="!test? ( test )" + +BDEPEND="test? ( ${PYTHON_DEPS} )" + +pkg_setup() { + use test && python-any-r1_pkg_setup +} + +src_configure() { + local mycmakeargs=( + -DCATCH_ENABLE_WERROR=OFF + -DBUILD_TESTING=$(usex test) + ) + use test && + mycmakeargs+=( -DPYTHON_EXECUTABLE="${PYTHON}" ) + + cmake_src_configure +} diff --git a/dev-cpp/catch/catch-2.13.8.ebuild b/dev-cpp/catch/catch-2.13.8.ebuild index a9e8c869e243..2a080fe0caae 100644 --- a/dev-cpp/catch/catch-2.13.8.ebuild +++ b/dev-cpp/catch/catch-2.13.8.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2023 Gentoo Authors +# Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -15,7 +15,7 @@ else SRC_URI="https://github.com/catchorg/Catch2/archive/v${PV}.tar.gz -> ${MY_P}.tar.gz" S="${WORKDIR}/${MY_P}" - KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ppc ppc64 ~riscv ~s390 sparc x86" + KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ppc ppc64 ~riscv ~s390 sparc x86" fi DESCRIPTION="Modern C++ header-only framework for unit-tests" diff --git a/dev-cpp/catch/catch-3.4.0.ebuild b/dev-cpp/catch/catch-3.5.2.ebuild index 915a20a9b8c8..8b8c8c695764 100644 --- a/dev-cpp/catch/catch-3.4.0.ebuild +++ b/dev-cpp/catch/catch-3.5.2.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2023 Gentoo Authors +# Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 diff --git a/dev-cpp/catch/catch-3.5.3.ebuild b/dev-cpp/catch/catch-3.5.3.ebuild new file mode 100644 index 000000000000..cde2d006ed7f --- /dev/null +++ b/dev-cpp/catch/catch-3.5.3.ebuild @@ -0,0 +1,46 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{10..12} ) + +inherit cmake python-any-r1 + +if [[ ${PV} == *9999 ]]; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/catchorg/Catch2.git" +else + MY_P=${PN^}2-${PV} + SRC_URI="https://github.com/catchorg/Catch2/archive/v${PV}.tar.gz -> ${MY_P}.tar.gz" + S="${WORKDIR}/${MY_P}" + + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +fi + +DESCRIPTION="Modern C++ header-only framework for unit-tests" +HOMEPAGE="https://github.com/catchorg/Catch2" + +LICENSE="Boost-1.0" +SLOT="0" +IUSE="test" +RESTRICT="!test? ( test )" + +BDEPEND="test? ( ${PYTHON_DEPS} )" + +pkg_setup() { + use test && python-any-r1_pkg_setup +} + +src_configure() { + local mycmakeargs=( + -DCATCH_DEVELOPMENT_BUILD=ON + -DCATCH_ENABLE_WERROR=OFF + -DCATCH_BUILD_TESTING=$(usex test) + ) + use test && mycmakeargs+=( + -DPYTHON_EXECUTABLE="${PYTHON}" + ) + + cmake_src_configure +} diff --git a/dev-cpp/catch/catch-3.5.4.ebuild b/dev-cpp/catch/catch-3.5.4.ebuild new file mode 100644 index 000000000000..cde2d006ed7f --- /dev/null +++ b/dev-cpp/catch/catch-3.5.4.ebuild @@ -0,0 +1,46 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{10..12} ) + +inherit cmake python-any-r1 + +if [[ ${PV} == *9999 ]]; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/catchorg/Catch2.git" +else + MY_P=${PN^}2-${PV} + SRC_URI="https://github.com/catchorg/Catch2/archive/v${PV}.tar.gz -> ${MY_P}.tar.gz" + S="${WORKDIR}/${MY_P}" + + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +fi + +DESCRIPTION="Modern C++ header-only framework for unit-tests" +HOMEPAGE="https://github.com/catchorg/Catch2" + +LICENSE="Boost-1.0" +SLOT="0" +IUSE="test" +RESTRICT="!test? ( test )" + +BDEPEND="test? ( ${PYTHON_DEPS} )" + +pkg_setup() { + use test && python-any-r1_pkg_setup +} + +src_configure() { + local mycmakeargs=( + -DCATCH_DEVELOPMENT_BUILD=ON + -DCATCH_ENABLE_WERROR=OFF + -DCATCH_BUILD_TESTING=$(usex test) + ) + use test && mycmakeargs+=( + -DPYTHON_EXECUTABLE="${PYTHON}" + ) + + cmake_src_configure +} diff --git a/dev-cpp/catch/catch-3.6.0.ebuild b/dev-cpp/catch/catch-3.6.0.ebuild new file mode 100644 index 000000000000..31c6d23ac8c3 --- /dev/null +++ b/dev-cpp/catch/catch-3.6.0.ebuild @@ -0,0 +1,46 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{10..12} ) + +inherit cmake python-any-r1 + +if [[ ${PV} == *9999 ]]; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/catchorg/Catch2.git" +else + MY_P=${PN^}2-${PV} + SRC_URI="https://github.com/catchorg/Catch2/archive/v${PV}.tar.gz -> ${MY_P}.tar.gz" + S="${WORKDIR}/${MY_P}" + + KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ppc ppc64 ~riscv ~s390 sparc x86" +fi + +DESCRIPTION="Modern C++ header-only framework for unit-tests" +HOMEPAGE="https://github.com/catchorg/Catch2" + +LICENSE="Boost-1.0" +SLOT="0" +IUSE="test" +RESTRICT="!test? ( test )" + +BDEPEND="test? ( ${PYTHON_DEPS} )" + +pkg_setup() { + use test && python-any-r1_pkg_setup +} + +src_configure() { + local mycmakeargs=( + -DCATCH_DEVELOPMENT_BUILD=ON + -DCATCH_ENABLE_WERROR=OFF + -DCATCH_BUILD_TESTING=$(usex test) + ) + use test && mycmakeargs+=( + -DPYTHON_EXECUTABLE="${PYTHON}" + ) + + cmake_src_configure +} diff --git a/dev-cpp/cctz/Manifest b/dev-cpp/cctz/Manifest index 49f2faf82ba8..c4fbbf6cbe6f 100644 --- a/dev-cpp/cctz/Manifest +++ b/dev-cpp/cctz/Manifest @@ -1 +1,2 @@ DIST cctz-2.3_p20230228.tar.gz 218332 BLAKE2B c29f2acf12d73387faf0087ef94b8624b5eefa2cf3136e0003e59a6a89b8a73f6de97f1962031ca1b1b1f4f6e888a363314aa1e160ad54c618189ad4a7d8f60e SHA512 ab6a103a6073a8169cd08587d2415dcab6c6e6c005b4b67fb69cc718b8b73a1331c5782b27aa4924aa5bdedc1563e31aa3ac76196078c50a13773d35d8df993b +DIST cctz-2.4.tar.gz 222831 BLAKE2B c232b27cbfe5e45b6e1c51dd13c9a35c4a2e84b5d3e65ba6b4afb7683cac967a3b409382664a55d58ac67e53a1cf3dec9d97ecd59c5e2180c0eae4f71462fe33 SHA512 6d50fe5263b66f93bc3f9aee0da395352d0e95187e6a761afd1b82a461c127823fe93e06139e9d8989f24875b70de3058aab6e66639b408c7930f117e1815e5e diff --git a/dev-cpp/cctz/cctz-2.4.ebuild b/dev-cpp/cctz/cctz-2.4.ebuild new file mode 100644 index 000000000000..2a2a1f041c09 --- /dev/null +++ b/dev-cpp/cctz/cctz-2.4.ebuild @@ -0,0 +1,30 @@ +# Copyright 2023-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit cmake + +DESCRIPTION="C++ library for dealing with time zones and time conversion" +HOMEPAGE="https://github.com/google/cctz" +SRC_URI="https://github.com/google/cctz/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="amd64 arm arm64 ~ppc64 ~riscv x86" +IUSE="test" +RESTRICT="!test? ( test )" + +BDEPEND=" + test? ( + dev-cpp/gtest + ) +" + +src_configure() { + local mycmakeargs=( + -DBUILD_TESTING=$(usex test) + -DBUILD_BENCHMARK=OFF + ) + cmake_src_configure +} diff --git a/dev-cpp/clhpp/Manifest b/dev-cpp/clhpp/Manifest new file mode 100644 index 000000000000..94d2399d96e1 --- /dev/null +++ b/dev-cpp/clhpp/Manifest @@ -0,0 +1,2 @@ +DIST clhpp-2023.12.14.tar.gz 123233 BLAKE2B 2b23639ad162921e01033fbacc1c4e57d9c28ce39c55b3564f162e5d6b6d9ed0e80aaefbd62de81157e165f01897e82d0ff4943c8ee620587840f4aece22319b SHA512 a90152d2f9c57d4724ef3ea33e1311914e49659042e916e467a9f16877d348ed62f909fe8423589976669b25241a3b996fbd7ac235a44e35947d1b87d3e3ef2b +DIST clhpp-2024.05.08.tar.gz 124818 BLAKE2B 57b22e1911d8e21b4f7bef1f39f9910dd80eb50844dc7c18b3c75e311991a37577a0671d9e1b10ff3fb3302568118e3fb69987beec6fbe8fc8da85fcd7addda0 SHA512 6396cd67a2edef6a76695857e3e45f7eeb8cdaa8c729197357c6374ac58b41caa37bbe8c3b7a1724d43d3805f8cd5edd53a8ed833d6415bf072745800b744572 diff --git a/dev-cpp/clhpp/clhpp-2023.12.14.ebuild b/dev-cpp/clhpp/clhpp-2023.12.14.ebuild new file mode 100644 index 000000000000..d52bb6938cc5 --- /dev/null +++ b/dev-cpp/clhpp/clhpp-2023.12.14.ebuild @@ -0,0 +1,38 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit cmake + +MY_PN="OpenCL-CLHPP" +MY_P="${MY_PN}-${PV}" + +DESCRIPTION="Khronos OpenCL C++ bindings" +HOMEPAGE="https://github.com/KhronosGroup/OpenCL-CLHPP/" +SRC_URI="https://github.com/KhronosGroup/${MY_PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="Khronos-CLHPP" +SLOT="0" +KEYWORDS="amd64 ppc64 x86" + +# Tests require CMock (NOT cmocka), which is currently not in Gentoo +# and has been found to be extremely awkward to package. +# Should it ever get packaged, consult git history for how to set things up +# for the clhpp test suite. +RESTRICT="test" + +RDEPEND="virtual/opencl" +DEPEND="${RDEPEND} + >=dev-util/opencl-headers-${PV}" + +S="${WORKDIR}"/${MY_P} + +src_configure() { + local mycmakeargs=( + -DBUILD_DOCS=OFF + -DBUILD_EXAMPLES=OFF + -DBUILD_TESTING=OFF + ) + cmake_src_configure +} diff --git a/dev-cpp/clhpp/clhpp-2024.05.08.ebuild b/dev-cpp/clhpp/clhpp-2024.05.08.ebuild new file mode 100644 index 000000000000..cfd7e4b5e780 --- /dev/null +++ b/dev-cpp/clhpp/clhpp-2024.05.08.ebuild @@ -0,0 +1,38 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit cmake + +MY_PN="OpenCL-CLHPP" +MY_P="${MY_PN}-${PV}" + +DESCRIPTION="Khronos OpenCL C++ bindings" +HOMEPAGE="https://github.com/KhronosGroup/OpenCL-CLHPP/" +SRC_URI="https://github.com/KhronosGroup/${MY_PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz" + +S="${WORKDIR}"/${MY_P} + +LICENSE="Khronos-CLHPP" +SLOT="0" +KEYWORDS="~amd64 ~ppc64 ~x86" + +# Tests require CMock (NOT cmocka), which is currently not in Gentoo +# and has been found to be extremely awkward to package. +# Should it ever get packaged, consult git history for how to set things up +# for the clhpp test suite. +RESTRICT="test" + +RDEPEND="virtual/opencl" +DEPEND="${RDEPEND} + >=dev-util/opencl-headers-${PV}" + +src_configure() { + local mycmakeargs=( + -DBUILD_DOCS=OFF + -DBUILD_EXAMPLES=OFF + -DBUILD_TESTING=OFF + ) + cmake_src_configure +} diff --git a/dev-cpp/clhpp/metadata.xml b/dev-cpp/clhpp/metadata.xml new file mode 100644 index 000000000000..dfca8492f8bc --- /dev/null +++ b/dev-cpp/clhpp/metadata.xml @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <!-- maintainer-needed --> + <upstream> + <remote-id type="github">KhronosGroup/OpenCL-CLHPP</remote-id> + </upstream> +</pkgmetadata> diff --git a/dev-cpp/cli11/Manifest b/dev-cpp/cli11/Manifest index a76342ad6441..3b2c0502849d 100644 --- a/dev-cpp/cli11/Manifest +++ b/dev-cpp/cli11/Manifest @@ -1 +1 @@ -DIST cli11-2.3.2.tar.gz 303507 BLAKE2B 68a1ca97fb55a4329f7d56a7d661f71f356bebcb0878421bccb18093aab171cff963f4e3e8f47b95cac4947ebbd7c7d6c853cc28e404c07091685ba1e99ac8d3 SHA512 f48b289d52034c47b90db58c035a123b464bed488cf31bcdbe10a692214a5c05e62b99d6fb7c4b065f42df862ecf3813f11dd533b3697939d761e99d2b89c2ec +DIST cli11-2.4.2.tar.gz 343478 BLAKE2B b1a71bb9495ca86eac62af800919dd78899bd972cfc05035659a3c0a8d07f70ccdc076d18756ba20ddffe31c9dc346e4579474284e601497fcac6c6866e536de SHA512 fdb61c430f5b99a9495fda7f94bfc8d0fb5360c99beeccbcb3b8918713579aac97fa0dcbce296065d9043f141a538c505919c9810fd1d192661e8b48b6a2637a diff --git a/dev-cpp/cli11/cli11-2.3.2.ebuild b/dev-cpp/cli11/cli11-2.4.2.ebuild index 3dc2b6902112..1dc668e0e23a 100644 --- a/dev-cpp/cli11/cli11-2.3.2.ebuild +++ b/dev-cpp/cli11/cli11-2.4.2.ebuild @@ -1,4 +1,4 @@ -# Copyright 2023 Gentoo Authors +# Copyright 2023-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -7,25 +7,30 @@ inherit cmake DESCRIPTION="Command line parser for C++11" HOMEPAGE="https://cliutils.github.io/CLI11/book/" -SRC_URI="https://github.com/CLIUtils/CLI11/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz" -S="${WORKDIR}/${PN^^}-${PV}" +SRC_URI=" + https://github.com/CLIUtils/CLI11/archive/refs/tags/v${PV}.tar.gz + -> ${P}.tar.gz +" +S=${WORKDIR}/${PN^^}-${PV} LICENSE="BSD" SLOT="0" -KEYWORDS="~amd64 ~x86" +KEYWORDS="amd64 ~arm ~arm64 ~x86" IUSE="doc test" RESTRICT="!test? ( test )" DEPEND=" test? ( - =dev-cpp/catch-2*:0 + dev-cpp/catch:0 dev-libs/boost - )" + ) +" BDEPEND=" doc? ( - app-doc/doxygen + app-text/doxygen media-gfx/graphviz - )" + ) +" src_configure() { local mycmakeargs=( diff --git a/dev-cpp/clucene/clucene-2.3.3.4-r9.ebuild b/dev-cpp/clucene/clucene-2.3.3.4-r9.ebuild index b72a2580a52c..37746cd881f2 100644 --- a/dev-cpp/clucene/clucene-2.3.3.4-r9.ebuild +++ b/dev-cpp/clucene/clucene-2.3.3.4-r9.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2023 Gentoo Authors +# Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -9,16 +9,16 @@ inherit cmake DESCRIPTION="High-performance, full-featured text search engine based off of lucene in C++" HOMEPAGE="https://clucene.sourceforge.net" -SRC_URI="mirror://sourceforge/clucene/${MY_P}.tar.gz" +SRC_URI="https://downloads.sourceforge.net/clucene/${MY_P}.tar.gz" S="${WORKDIR}/${MY_PN}-${PV}" LICENSE="|| ( Apache-2.0 LGPL-2.1 )" SLOT="1" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv sparc x86 ~amd64-linux ~x86-linux ~ppc-macos" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos" IUSE="debug doc static-libs" RESTRICT="test" -BDEPEND="doc? ( >=app-doc/doxygen-1.4.2 )" +BDEPEND="doc? ( >=app-text/doxygen-1.4.2 )" DOCS=(AUTHORS ChangeLog README README.PACKAGE REQUESTS) diff --git a/dev-cpp/cpp-httplib/Manifest b/dev-cpp/cpp-httplib/Manifest index f9e0c6eed4de..a46a3958fa01 100644 --- a/dev-cpp/cpp-httplib/Manifest +++ b/dev-cpp/cpp-httplib/Manifest @@ -1,2 +1,2 @@ -DIST cpp-httplib-0.14.0.tar.gz 1147334 BLAKE2B 9d24cefcb2b181abe887d77686eafd938ec59b54cd56ff046e61773974f106c7b91ea94dc208369095c0b5392a48a462386c2c42ade252e18224014b2f7a5e9c SHA512 fac8fd1730e7f828053c61924d3ff9b660ad3cb385aa7a506c50c1ed1ca9820fb07691e28e03effcc60e391ecb78727108f1fdbe8b428917ab494738bed86d78 -DIST cpp-httplib-0.14.1.tar.gz 1148935 BLAKE2B e083fba3281e5b35031e1fda60efe75971d4edf746e52fa4608afbc3af3f7f9532ca59d041692277e963653c77a4878d5bbcb8045aba76d350185ca276a25a64 SHA512 6e995502e0cfd9953044207fabce29a3d6de49e79464b6bf89e1a9e667dc66fe1972c38d6428ad8e8fb96236e85b2d9ac60cbb58b4de03e8f837a9122151a706 +DIST cpp-httplib-0.15.3.tar.gz 1151398 BLAKE2B 8ce7d7e59c0954efb14a11e565f9cdf02c007a3b6d39dbdcb21b412906eed3ceeca3182096f4b4eadb32a5886e839e64774ae9a1110ddb60fb7cdea35b5b7d50 SHA512 f7fc9c9eb71f091b82958e023a7b417b30d2590fd5d1a920d1c98361f34bcaca796dbeda7f9fdb8b2c722a8968977b77463c6cbb252cba9823a79c22471fa439 +DIST cpp-httplib-0.16.0.tar.gz 1156790 BLAKE2B 4a75059f16f6e46685c2cf028c6fa4c9cd50c35273795a8dbb6ca9d2997146b04b305893ad50adbb62c39db14ab3f589e902353bb199ee167d2648fe3621aee1 SHA512 63dc5a50f425e7be909d60db138caa1b9d7260c5d4db26603011a329f0d6a645d56f436c79466fbe662f24a94bc0f72926062b3ed49cb658eb91a6bdb2ddf25b diff --git a/dev-cpp/cpp-httplib/cpp-httplib-0.14.0.ebuild b/dev-cpp/cpp-httplib/cpp-httplib-0.14.0.ebuild deleted file mode 100644 index a79c390594f2..000000000000 --- a/dev-cpp/cpp-httplib/cpp-httplib-0.14.0.ebuild +++ /dev/null @@ -1,56 +0,0 @@ -# Copyright 2022-2023 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -PYTHON_COMPAT=( python3_{10..12} ) - -inherit cmake-multilib python-any-r1 toolchain-funcs - -DESCRIPTION="C++ HTTP/HTTPS server and client library" -HOMEPAGE="https://github.com/yhirose/cpp-httplib/" - -if [[ ${PV} == *9999* ]] ; then - inherit git-r3 - EGIT_REPO_URI="https://github.com/yhirose/${PN}.git" -else - SRC_URI="https://github.com/yhirose/${PN}/archive/v${PV}.tar.gz - -> ${P}.tar.gz" - KEYWORDS="amd64 ~loong ~x86" -fi - -LICENSE="MIT" -SLOT="0/$(ver_cut 1-2)" # soversion - -IUSE="brotli ssl test zlib" -REQUIRED_USE="test? ( brotli ssl zlib )" -RESTRICT="!test? ( test )" - -RDEPEND=" - brotli? ( app-arch/brotli:=[${MULTILIB_USEDEP}] ) - ssl? ( dev-libs/openssl:=[${MULTILIB_USEDEP}] ) - zlib? ( sys-libs/zlib[${MULTILIB_USEDEP}] ) -" -DEPEND="${RDEPEND}" -BDEPEND="${PYTHON_DEPS}" - -src_configure() { - local -a mycmakeargs=( - -DHTTPLIB_COMPILE=yes - -DBUILD_SHARED_LIBS=yes - -DHTTPLIB_USE_BROTLI_IF_AVAILABLE=no - -DHTTPLIB_USE_OPENSSL_IF_AVAILABLE=no - -DHTTPLIB_USE_ZLIB_IF_AVAILABLE=no - -DHTTPLIB_REQUIRE_BROTLI=$(usex brotli) - -DHTTPLIB_REQUIRE_OPENSSL=$(usex ssl) - -DHTTPLIB_REQUIRE_ZLIB=$(usex zlib) - -DPython3_EXECUTABLE="${PYTHON}" - ) - cmake-multilib_src_configure -} - -multilib_src_test() { - cp -p -R --reflink=auto "${S}/test" ./test || die - - GTEST_FILTER='-*.*_Online' emake -C test "CXX=$(tc-getCXX)" CXXFLAGS="${CXXFLAGS} -I." -} diff --git a/dev-cpp/cpp-httplib/cpp-httplib-0.14.1.ebuild b/dev-cpp/cpp-httplib/cpp-httplib-0.14.1.ebuild deleted file mode 100644 index f1023f88c232..000000000000 --- a/dev-cpp/cpp-httplib/cpp-httplib-0.14.1.ebuild +++ /dev/null @@ -1,56 +0,0 @@ -# Copyright 2022-2023 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -PYTHON_COMPAT=( python3_{10..12} ) - -inherit cmake-multilib python-any-r1 toolchain-funcs - -DESCRIPTION="C++ HTTP/HTTPS server and client library" -HOMEPAGE="https://github.com/yhirose/cpp-httplib/" - -if [[ ${PV} == *9999* ]] ; then - inherit git-r3 - EGIT_REPO_URI="https://github.com/yhirose/${PN}.git" -else - SRC_URI="https://github.com/yhirose/${PN}/archive/v${PV}.tar.gz - -> ${P}.tar.gz" - KEYWORDS="~amd64 ~loong ~x86" -fi - -LICENSE="MIT" -SLOT="0/$(ver_cut 1-2)" # soversion - -IUSE="brotli ssl test zlib" -REQUIRED_USE="test? ( brotli ssl zlib )" -RESTRICT="!test? ( test )" - -RDEPEND=" - brotli? ( app-arch/brotli:=[${MULTILIB_USEDEP}] ) - ssl? ( dev-libs/openssl:=[${MULTILIB_USEDEP}] ) - zlib? ( sys-libs/zlib[${MULTILIB_USEDEP}] ) -" -DEPEND="${RDEPEND}" -BDEPEND="${PYTHON_DEPS}" - -src_configure() { - local -a mycmakeargs=( - -DHTTPLIB_COMPILE=yes - -DBUILD_SHARED_LIBS=yes - -DHTTPLIB_USE_BROTLI_IF_AVAILABLE=no - -DHTTPLIB_USE_OPENSSL_IF_AVAILABLE=no - -DHTTPLIB_USE_ZLIB_IF_AVAILABLE=no - -DHTTPLIB_REQUIRE_BROTLI=$(usex brotli) - -DHTTPLIB_REQUIRE_OPENSSL=$(usex ssl) - -DHTTPLIB_REQUIRE_ZLIB=$(usex zlib) - -DPython3_EXECUTABLE="${PYTHON}" - ) - cmake-multilib_src_configure -} - -multilib_src_test() { - cp -p -R --reflink=auto "${S}/test" ./test || die - - GTEST_FILTER='-*.*_Online' emake -C test "CXX=$(tc-getCXX)" CXXFLAGS="${CXXFLAGS} -I." -} diff --git a/dev-cpp/cpp-httplib/cpp-httplib-0.14.1-r1.ebuild b/dev-cpp/cpp-httplib/cpp-httplib-0.15.3-r1.ebuild index 3cfe690f11ed..71dc06d9a302 100644 --- a/dev-cpp/cpp-httplib/cpp-httplib-0.14.1-r1.ebuild +++ b/dev-cpp/cpp-httplib/cpp-httplib-0.15.3-r1.ebuild @@ -1,4 +1,4 @@ -# Copyright 2022-2023 Gentoo Authors +# Copyright 2022-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -10,13 +10,15 @@ inherit cmake-multilib python-any-r1 toolchain-funcs DESCRIPTION="C++ HTTP/HTTPS server and client library" HOMEPAGE="https://github.com/yhirose/cpp-httplib/" -if [[ ${PV} == *9999* ]] ; then +if [[ "${PV}" == *9999* ]] ; then inherit git-r3 + EGIT_REPO_URI="https://github.com/yhirose/${PN}.git" else SRC_URI="https://github.com/yhirose/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz" - KEYWORDS="amd64 ~loong ~x86" + + KEYWORDS="amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc x86" fi LICENSE="MIT" @@ -28,15 +30,15 @@ RESTRICT="!test? ( test )" RDEPEND=" brotli? ( app-arch/brotli:=[${MULTILIB_USEDEP}] ) - ssl? ( dev-libs/openssl:=[${MULTILIB_USEDEP}] ) + ssl? ( >=dev-libs/openssl-3.0.13:=[${MULTILIB_USEDEP}] ) zlib? ( sys-libs/zlib[${MULTILIB_USEDEP}] ) " -DEPEND="${RDEPEND}" -BDEPEND="${PYTHON_DEPS}" - -PATCHES=( - "${FILESDIR}/${P}-fix-version.patch" -) +DEPEND=" + ${RDEPEND} +" +BDEPEND=" + ${PYTHON_DEPS} +" src_configure() { local -a mycmakeargs=( @@ -56,5 +58,28 @@ src_configure() { multilib_src_test() { cp -p -R --reflink=auto "${S}/test" ./test || die - GTEST_FILTER='-*.*_Online' emake -C test "CXX=$(tc-getCXX)" CXXFLAGS="${CXXFLAGS} -I." + local -a failing_tests=( + # Disable all online tests. + "*.*_Online" + + # Fails on musl x86: + ServerTest.GetRangeWithMaxLongLength + ServerTest.GetStreamedWithTooManyRanges + + # https://github.com/yhirose/cpp-httplib/issues/1798 + # Filed by mgorny's testing, fails on openssl >=3.2: + SSLClientServerTest.ClientCertPresent + SSLClientServerTest.ClientEncryptedCertPresent + SSLClientServerTest.CustomizeServerSSLCtx + SSLClientServerTest.MemoryClientCertPresent + SSLClientServerTest.MemoryClientEncryptedCertPresent + SSLClientServerTest.TrustDirOptional + ) + + # Little dance to please the GTEST filter (join array using ":"). + failing_tests_str="${failing_tests[@]}" + failing_tests_filter="${failing_tests_str// /:}" + + GTEST_FILTER="-${failing_tests_filter}" emake -C test \ + CXX="$(tc-getCXX)" CXXFLAGS="${CXXFLAGS} -I." } diff --git a/dev-cpp/cpp-httplib/cpp-httplib-0.16.0.ebuild b/dev-cpp/cpp-httplib/cpp-httplib-0.16.0.ebuild new file mode 100644 index 000000000000..2a99bbc0191f --- /dev/null +++ b/dev-cpp/cpp-httplib/cpp-httplib-0.16.0.ebuild @@ -0,0 +1,91 @@ +# Copyright 2022-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{11..13} ) + +inherit cmake-multilib python-any-r1 toolchain-funcs + +DESCRIPTION="C++ HTTP/HTTPS server and client library" +HOMEPAGE="https://github.com/yhirose/cpp-httplib/" + +if [[ "${PV}" == *9999* ]] ; then + inherit git-r3 + + EGIT_REPO_URI="https://github.com/yhirose/${PN}.git" +else + SRC_URI="https://github.com/yhirose/${PN}/archive/v${PV}.tar.gz + -> ${P}.tar.gz" + + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ia64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +fi + +LICENSE="MIT" +SLOT="0/$(ver_cut 1-2)" # soversion + +IUSE="brotli ssl test zlib" +REQUIRED_USE="test? ( brotli ssl zlib )" +RESTRICT="!test? ( test )" + +RDEPEND=" + brotli? ( + app-arch/brotli:=[${MULTILIB_USEDEP}] + ) + ssl? ( + >=dev-libs/openssl-3.0.13:=[${MULTILIB_USEDEP}] + ) + zlib? ( + sys-libs/zlib[${MULTILIB_USEDEP}] + ) +" +DEPEND=" + ${RDEPEND} +" +BDEPEND=" + ${PYTHON_DEPS} +" + +src_configure() { + local -a mycmakeargs=( + -DHTTPLIB_COMPILE=yes + -DBUILD_SHARED_LIBS=yes + -DHTTPLIB_USE_BROTLI_IF_AVAILABLE=no + -DHTTPLIB_USE_OPENSSL_IF_AVAILABLE=no + -DHTTPLIB_USE_ZLIB_IF_AVAILABLE=no + -DHTTPLIB_REQUIRE_BROTLI=$(usex brotli) + -DHTTPLIB_REQUIRE_OPENSSL=$(usex ssl) + -DHTTPLIB_REQUIRE_ZLIB=$(usex zlib) + -DPython3_EXECUTABLE="${PYTHON}" + ) + cmake-multilib_src_configure +} + +multilib_src_test() { + cp -p -R --reflink=auto "${S}/test" ./test || die + + local -a failing_tests=( + # Disable all online tests. + "*.*_Online" + + # Fails on musl x86: + ServerTest.GetRangeWithMaxLongLength + ServerTest.GetStreamedWithTooManyRanges + + # https://github.com/yhirose/cpp-httplib/issues/1798 + # Filed by mgorny's testing, fails on openssl >=3.2: + SSLClientServerTest.ClientCertPresent + SSLClientServerTest.ClientEncryptedCertPresent + SSLClientServerTest.CustomizeServerSSLCtx + SSLClientServerTest.MemoryClientCertPresent + SSLClientServerTest.MemoryClientEncryptedCertPresent + SSLClientServerTest.TrustDirOptional + ) + + # Little dance to please the GTEST filter (join array using ":"). + failing_tests_str="${failing_tests[@]}" + failing_tests_filter="${failing_tests_str// /:}" + + GTEST_FILTER="-${failing_tests_filter}" emake -C test \ + CXX="$(tc-getCXX)" CXXFLAGS="${CXXFLAGS} -I." +} diff --git a/dev-cpp/cpp-httplib/files/cpp-httplib-0.14.1-fix-version.patch b/dev-cpp/cpp-httplib/files/cpp-httplib-0.14.1-fix-version.patch deleted file mode 100644 index 1f2c37f56518..000000000000 --- a/dev-cpp/cpp-httplib/files/cpp-httplib-0.14.1-fix-version.patch +++ /dev/null @@ -1,16 +0,0 @@ -From https://github.com/yhirose/cpp-httplib/commit/0a629d739127dcc5d828474a5aedae1f234687d3 Mon Sep 17 00:00:00 2001 -From: yhirose <yuji.hirose.bug@gmail.com> -Date: Sat, 30 Sep 2023 22:14:02 -0400 -Subject: [PATCH] Release v0.14.1 - ---- a/httplib.h -+++ b/httplib.h -@@ -8,7 +8,7 @@ - #ifndef CPPHTTPLIB_HTTPLIB_H - #define CPPHTTPLIB_HTTPLIB_H - --#define CPPHTTPLIB_VERSION "0.14.0" -+#define CPPHTTPLIB_VERSION "0.14.1" - - /* - * Configuration diff --git a/dev-cpp/cppgir/Manifest b/dev-cpp/cppgir/Manifest index fce33ef45fb4..c9f36c5d81a6 100644 --- a/dev-cpp/cppgir/Manifest +++ b/dev-cpp/cppgir/Manifest @@ -1,2 +1,3 @@ -DIST cppgir-0_p20230701.tar.bz2 93266 BLAKE2B 73fe45188c8304da84cc39b838176a9100622f3a2aa6cdb7a8eb4c58bb16fe5a8772c8bdc0d7686a322d86bc1aba3b22c3b1ebfeab98e7d282f7258050249a50 SHA512 90378f73a7c05e8a4fdadddf0add35ffb90fce563eab97ef981d6f9dfbbc4a5d0e83c70a54de9fbbf23d85eb6ce02036e0ffbfafe67384fbc99a997fd8b92f0b DIST cppgir-0_p20230926.tar.bz2 102421 BLAKE2B f0b1ac871e7fc662c5c2aeb24cb8cb4f8570ae832f4ac6afdadb3c811f4ebc91862f8571133dfb9314fa994449b4d7cc4344f7a8a2aabcaa395d793bc4ca3655 SHA512 67778c6dec24a9afd848241c768af9fd3c9098e00ba168ebe5d776f3b5086b2489c38247a6441c99f7971dd53315e2758fe38c21fced44d857dc064e66f50731 +DIST cppgir-0_p20240110.tar.bz2 130503 BLAKE2B 8bfca0abb6c17101dff4993f19b422454a90fa1e5211beaebf4084885339d96e383efa3573ff5acf484d868ddfbf9b03210a1e15e2631f550662aa07c715c791 SHA512 3c8ca818094693c72d9f38c715b2392a4491abd4692bc2ba77e4c37ba12b0596a74d8c918c8139e2a97e42fa2af92dbe9207dea3bccef19822caf4b164e60334 +DIST cppgir-2.0_p20240315.tar.bz2 135008 BLAKE2B ebd304fe08ec9c203b9bfad1e63f3c0878ea9894487d10b0f5f47dfd41c826c5231cb91c1026b2a203e94bb3b017055c42264623ea6534e7eb78c99357308323 SHA512 e2fe3a042189e190a84c9c62ae5f44f2495a61e77e776b7862d8d673c2d94fe6968fa7f03f68291475cc1f00c46dd6f58d10fd2e6e2fdfab96479ef528937775 diff --git a/dev-cpp/cppgir/cppgir-0_p20230926.ebuild b/dev-cpp/cppgir/cppgir-0_p20230926.ebuild index 883786dcaa55..4dad70fb4990 100644 --- a/dev-cpp/cppgir/cppgir-0_p20230926.ebuild +++ b/dev-cpp/cppgir/cppgir-0_p20230926.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2023 Gentoo Authors +# Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -14,7 +14,7 @@ S="${WORKDIR}/${PN}-${MY_PV}" LICENSE="MIT" SLOT="0" -KEYWORDS="~amd64 ~arm64 ~riscv" +KEYWORDS="~amd64 ~arm64 ~loong ~ppc64 ~riscv" IUSE="doc test" RESTRICT="!test? ( test )" diff --git a/dev-cpp/cppgir/cppgir-0_p20230701.ebuild b/dev-cpp/cppgir/cppgir-0_p20240110.ebuild index dccf44596ee6..a7d27caf2086 100644 --- a/dev-cpp/cppgir/cppgir-0_p20230701.ebuild +++ b/dev-cpp/cppgir/cppgir-0_p20240110.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2023 Gentoo Authors +# Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -8,13 +8,13 @@ inherit cmake flag-o-matic DESCRIPTION="GObject-Introspection C++ binding wrapper generator" HOMEPAGE="https://gitlab.com/mnauw/cppgir" -MY_PV="ada922a260479da27c989e39ed47e17a36cc2969" +MY_PV="8ab6357089759d20140942de0d6d15739fface04" SRC_URI="https://gitlab.com/mnauw/cppgir/-/archive/${MY_PV}/cppgir-${MY_PV}.tar.bz2 -> ${P}.tar.bz2" S="${WORKDIR}/${PN}-${MY_PV}" LICENSE="MIT" SLOT="0" -KEYWORDS="~amd64 ~riscv" +KEYWORDS="amd64 ~arm64 ~loong ~ppc64 ~riscv" IUSE="doc test" RESTRICT="!test? ( test )" diff --git a/dev-cpp/cppgir/cppgir-2.0_p20240315.ebuild b/dev-cpp/cppgir/cppgir-2.0_p20240315.ebuild new file mode 100644 index 000000000000..b8b203459ce3 --- /dev/null +++ b/dev-cpp/cppgir/cppgir-2.0_p20240315.ebuild @@ -0,0 +1,46 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit cmake flag-o-matic + +DESCRIPTION="GObject-Introspection C++ binding wrapper generator" +HOMEPAGE="https://gitlab.com/mnauw/cppgir" + +MY_PV="1cde1aaa0696ab7989f512abdb0694614ffe8d87" +SRC_URI="https://gitlab.com/mnauw/cppgir/-/archive/${MY_PV}/cppgir-${MY_PV}.tar.bz2 -> ${P}.tar.bz2" +S="${WORKDIR}/${PN}-${MY_PV}" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="amd64 ~arm64 ~loong ~ppc64 ~riscv" +IUSE="doc test" +RESTRICT="!test? ( test )" + +RDEPEND=" + dev-libs/boost:= + dev-libs/libfmt:= +" +DEPEND="${RDEPEND} + dev-cpp/expected-lite +" +BDEPEND=" + doc? ( app-text/ronn-ng ) + test? ( dev-libs/glib ) +" + +src_configure() { + local mycmakeargs=( + -DBUILD_DOC=$(usex doc) + -DBUILD_TESTING=$(usex test) + -DBUILD_EXAMPLES=no + -DINTERNAL_EXPECTED=no + ) + + append-cppflags \ + -UDEFAULT_GIRPATH \ + -DDEFAULT_GIRPATH="${EPREFIX}/usr/share:${EPREFIX}/usr/local/share" + + cmake_src_configure +} diff --git a/dev-cpp/doctest/metadata.xml b/dev-cpp/doctest/metadata.xml index 02076edda235..da9d59df6a91 100644 --- a/dev-cpp/doctest/metadata.xml +++ b/dev-cpp/doctest/metadata.xml @@ -1,14 +1,10 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> <pkgmetadata> - <maintainer type="person" proxied="yes"> - <email>arkamar@atlas.cz</email> + <maintainer type="person"> + <email>arkamar@gentoo.org</email> <name>Petr Vaněk</name> </maintainer> - <maintainer type="project" proxied="proxy"> - <email>proxy-maint@gentoo.org</email> - <name>Proxy Maintainers</name> - </maintainer> <upstream> <remote-id type="github">doctest/doctest</remote-id> </upstream> diff --git a/dev-cpp/eigen/Manifest b/dev-cpp/eigen/Manifest index 3955c4711b20..02571f1672eb 100644 --- a/dev-cpp/eigen/Manifest +++ b/dev-cpp/eigen/Manifest @@ -1 +1,3 @@ +DIST eigen-3.4.0.tar.bz2 2143091 BLAKE2B a32aac13cbab68cfaaa252d8a406e6a36ecfd1239361412b1f9baa08284a94467479c08ffae10cb847e9916472b46b1c1af4efbf81f957c8200a4379acd42c42 SHA512 cc488eb111e0e248744d2bc4475b345b5fb82361dff226a5b73a33bd0388de8c219cff8cffcf8f476b672fc0e223f339e8c6a1cfb6293840a4a6abf232438a89 DIST eigen-3.4.0.tar.gz 2705005 BLAKE2B ae5f774a6ed36f52cf9fc3206e50796abacbba69fd0f67cd5759b4e04d847aa656861d5e06e6cd0d798a17f2b06abdb70b16f795a626bdd29edcc872c33821f8 SHA512 ba75ecb760e32acf4ceaf27115468e65d4f77c44f8d519b5a13e7940af2c03a304ad433368cb6d55431f307c5c39e2666ab41d34442db3cf441638e51f5c3b6a +DIST eigen-lapack_addons-3.4.1.tgz 6215074 BLAKE2B 564c3398de1f4ea249b58957a482cda0b5eb99e5021e1f18abf3b4d2893fed48912bfa8386681fcae03dd933eea91644f7429d47a53684d64462209a6ae76f30 SHA512 5a827d0befb521cb430f0d63f5000e7955359bc637cdb7292d942712e98c0702570a5b650a72fc609bf5b43633661c0e51de7761ae892df6ff0aab667f436edf diff --git a/dev-cpp/eigen/eigen-3.4.0-r1.ebuild b/dev-cpp/eigen/eigen-3.4.0-r1.ebuild index d55a7a350a56..c2124e3ffa08 100644 --- a/dev-cpp/eigen/eigen-3.4.0-r1.ebuild +++ b/dev-cpp/eigen/eigen-3.4.0-r1.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2023 Gentoo Authors +# Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 @@ -20,7 +20,7 @@ RESTRICT="!test? ( test ) test" BDEPEND=" doc? ( - app-doc/doxygen[dot] + app-text/doxygen[dot] dev-texlive/texlive-bibtexextra dev-texlive/texlive-fontsextra dev-texlive/texlive-fontutils diff --git a/dev-cpp/eigen/eigen-3.4.0-r2.ebuild b/dev-cpp/eigen/eigen-3.4.0-r2.ebuild new file mode 100644 index 000000000000..26773df2bd7e --- /dev/null +++ b/dev-cpp/eigen/eigen-3.4.0-r2.ebuild @@ -0,0 +1,457 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +FORTRAN_NEEDED="test" +inherit cmake cuda fortran-2 llvm toolchain-funcs + +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} = 3.4.9999* ]] ; then + EGIT_COMMIT="3.4" + 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 ~ia64 ~loong ~ppc ~ppc64 ~riscv ~s390 sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~x64-macos" +fi + +LICENSE="MPL-2.0" +SLOT="3" + +# 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" + "opengl" + "openmp" + "pastix" + "sparsehash" + "spqr" + "superlu" + "umfpack" +) + +IUSE="${CPU_FEATURES_MAP[*]%:*} clang cuda hip debug doc lapack mathjax test ${IUSE_TEST_BACKENDS[*]}" #zvector + +# Tests failing again because of compiler issues +RESTRICT="!test? ( test )" + +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 ) +" + +# 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 ) + opengl? ( + media-libs/freeglut + media-libs/glew + media-libs/libglvnd + ) + pastix? ( sci-libs/pastix[-mpi] ) + 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 ) +" +DEPEND=" + test? ( + cuda? ( + !clang? ( + dev-util/nvidia-cuda-toolkit + ) + clang? ( + sys-devel/clang[llvm_targets_NVPTX] + openmp? ( sys-libs/libomp[llvm_targets_NVPTX,offload] ) + ) + ) + hip? ( dev-util/hip ) + lapack? ( virtual/lapacke ) + ${TEST_BACKENDS} + ) +" + +REQUIRED_USE=" + test? ( !lapack ) + || ( ${IUSE_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.0-noansi.patch" + "${FILESDIR}/${PN}-3.4.0-cxxstandard.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" + + 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}" + 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 +} + +pkg_setup() { + use test && use cuda && use clang && llvm_pkg_setup +} + +src_unpack() { + if [[ ${PV} = *9999* ]] ; then + git-r3_src_unpack + else + unpack "${P}.tar.bz2" + + if use test && use lapack; then + cd "${S}/lapack" || die + unpack "${PN}-lapack_addons-3.4.1.tgz" + fi + fi +} + +src_prepare() { + 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 + fi +} + +src_configure() { + local mycmakeargs=( + -DBUILD_SHARED_LIBS="yes" + -DBUILD_TESTING="$(usex test)" + + -DEIGEN_BUILD_DOC="$(usex doc)" # Enable creation of Eigen documentation + -DEIGEN_BUILD_PKGCONFIG="yes" # Build pkg-config .pc file for Eigen + ) + 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+=( + # 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_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_BUILD_BTL=yes # Build benchmark suite + + -DEIGEN_TEST_BUILD_DOCUMENTATION="$(usex doc)" # Test building the doxygen documentation + + # -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_DASHBOARD_BUILD_TARGET=buildtests # Target to be built in dashboard mode, default is buildtests + + # -DEIGEN_DEFAULT_TO_ROW_MAJOR=no # Use row-major as default matrix storage order + + # -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 + ) + + 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)" + ) + fi + + if use arm64; then + mycmakeargs+=( + -DEIGEN_TEST_NEON64="$(usex cpu_flags_arm_neon)" + ) + 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. + # -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 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 + + mycmakeargs+=( + -DEIGEN_TEST_CUDA="$(usex cuda)" # Enable CUDA support in unit tests + -DEIGEN_TEST_CUDA_CLANG="$(usex cuda "$(usex clang)")" # 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; 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)" + else + cuda_set_CUDAHOSTCXX + mycmakeargs+=( + -DCUDA_HOST_COMPILER="${CUDAHOSTCXX}" + ) + fi + if [[ "${CUDA_VERBOSE}" == true ]]; then + mycmakeargs+=( + -DCUDA_VERBOSE_BUILD=yes + ) + NVCCFLAGS+=" -v" + fi + + export CUDAFLAGS="${NVCCFLAGS}" + + [[ -z "${CUDAARCHS}" ]] && einfo "trying to determine host CUDAARCHS" + : "${CUDAARCHS:=$(__nvcc_device_query)}" + export CUDAARCHS + + mycmakeargs+=( + -DEIGEN_CUDA_COMPUTE_ARCH="${CUDAARCHS}" + ) + fi + fi + + cmake_src_configure +} + +src_compile() { + local targets=() + if use doc; then + targets+=( doc ) + HTML_DOCS=( "${BUILD_DIR}"/doc/html/. ) + fi + if use test; then + targets+=( buildtests ) + if ! use lapack; then + targets+=( blas ) + fi + # tests generate random data, which + # obviously fails for some seeds + export EIGEN_SEED=712808 + fi + + if use doc || use test; 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) + ) + + if use cuda ; then + cuda_add_sandbox -w + + CMAKE_SKIP_TESTS+=( + cxx11_tensor_cast_float16_gpu + cxx11_tensor_gpu_5 + ) + fi + + if use lapack ; then + CMAKE_SKIP_TESTS+=( + "^LAPACK-.*$" + ) + fi + + local myctestargs=( + -j1 # otherwise breaks due to cmake reruns + ) + + cmake_src_test +} diff --git a/dev-cpp/eigen/eigen-3.4.0-r3.ebuild b/dev-cpp/eigen/eigen-3.4.0-r3.ebuild new file mode 100644 index 000000000000..91904f16f7ab --- /dev/null +++ b/dev-cpp/eigen/eigen-3.4.0-r3.ebuild @@ -0,0 +1,458 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +FORTRAN_NEEDED="test" +inherit cmake cuda fortran-2 llvm toolchain-funcs + +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} = 3.4.9999* ]] ; then + EGIT_COMMIT="3.4" + 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 ~ia64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~x64-macos" +fi + +LICENSE="MPL-2.0" +SLOT="3" + +# 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" + "opengl" + "openmp" + "pastix" + "sparsehash" + "spqr" + "superlu" + "umfpack" +) + +IUSE="${CPU_FEATURES_MAP[*]%:*} clang cuda hip debug doc lapack mathjax test ${IUSE_TEST_BACKENDS[*]}" #zvector + +# Tests failing again because of compiler issues +RESTRICT="!test? ( test )" + +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 ) +" + +# 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 ) + opengl? ( + media-libs/freeglut + media-libs/glew + media-libs/libglvnd + ) + pastix? ( sci-libs/pastix[-mpi] ) + 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 ) +" +DEPEND=" + test? ( + cuda? ( + !clang? ( + dev-util/nvidia-cuda-toolkit + ) + clang? ( + sys-devel/clang[llvm_targets_NVPTX] + openmp? ( sys-libs/libomp[llvm_targets_NVPTX,offload] ) + ) + ) + hip? ( dev-util/hip ) + lapack? ( virtual/lapacke ) + ${TEST_BACKENDS} + ) +" + +REQUIRED_USE=" + test? ( !lapack ) + || ( ${IUSE_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.0-noansi.patch" + "${FILESDIR}/${PN}-3.4.0-cxxstandard.patch" + "${FILESDIR}/${PN}-3.4.0-ppc-no-vsx.patch" # bug 936107 +) + +# 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" + + 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}" + 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 +} + +pkg_setup() { + use test && use cuda && use clang && llvm_pkg_setup +} + +src_unpack() { + if [[ ${PV} = *9999* ]] ; then + git-r3_src_unpack + else + unpack "${P}.tar.bz2" + + if use test && use lapack; then + cd "${S}/lapack" || die + unpack "${PN}-lapack_addons-3.4.1.tgz" + fi + fi +} + +src_prepare() { + 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 + fi +} + +src_configure() { + local mycmakeargs=( + -DBUILD_SHARED_LIBS="yes" + -DBUILD_TESTING="$(usex test)" + + -DEIGEN_BUILD_DOC="$(usex doc)" # Enable creation of Eigen documentation + -DEIGEN_BUILD_PKGCONFIG="yes" # Build pkg-config .pc file for Eigen + ) + 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+=( + # 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_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_BUILD_BTL=yes # Build benchmark suite + + -DEIGEN_TEST_BUILD_DOCUMENTATION="$(usex doc)" # Test building the doxygen documentation + + # -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_DASHBOARD_BUILD_TARGET=buildtests # Target to be built in dashboard mode, default is buildtests + + # -DEIGEN_DEFAULT_TO_ROW_MAJOR=no # Use row-major as default matrix storage order + + # -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 + ) + + 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)" + ) + fi + + if use arm64; then + mycmakeargs+=( + -DEIGEN_TEST_NEON64="$(usex cpu_flags_arm_neon)" + ) + 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. + # -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 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 + + mycmakeargs+=( + -DEIGEN_TEST_CUDA="$(usex cuda)" # Enable CUDA support in unit tests + -DEIGEN_TEST_CUDA_CLANG="$(usex cuda "$(usex clang)")" # 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; 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)" + else + cuda_set_CUDAHOSTCXX + mycmakeargs+=( + -DCUDA_HOST_COMPILER="${CUDAHOSTCXX}" + ) + fi + if [[ "${CUDA_VERBOSE}" == true ]]; then + mycmakeargs+=( + -DCUDA_VERBOSE_BUILD=yes + ) + NVCCFLAGS+=" -v" + fi + + export CUDAFLAGS="${NVCCFLAGS}" + + [[ -z "${CUDAARCHS}" ]] && einfo "trying to determine host CUDAARCHS" + : "${CUDAARCHS:=$(__nvcc_device_query)}" + export CUDAARCHS + + mycmakeargs+=( + -DEIGEN_CUDA_COMPUTE_ARCH="${CUDAARCHS}" + ) + fi + fi + + cmake_src_configure +} + +src_compile() { + local targets=() + if use doc; then + targets+=( doc ) + HTML_DOCS=( "${BUILD_DIR}"/doc/html/. ) + fi + if use test; then + targets+=( buildtests ) + if ! use lapack; then + targets+=( blas ) + fi + # tests generate random data, which + # obviously fails for some seeds + export EIGEN_SEED=712808 + fi + + if use doc || use test; 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) + ) + + if use cuda ; then + cuda_add_sandbox -w + + CMAKE_SKIP_TESTS+=( + cxx11_tensor_cast_float16_gpu + cxx11_tensor_gpu_5 + ) + fi + + if use lapack ; then + CMAKE_SKIP_TESTS+=( + "^LAPACK-.*$" + ) + fi + + local myctestargs=( + -j1 # otherwise breaks due to cmake reruns + ) + + cmake_src_test +} diff --git a/dev-cpp/eigen/eigen-9999.ebuild b/dev-cpp/eigen/eigen-9999.ebuild new file mode 100644 index 000000000000..219f6dba7d1c --- /dev/null +++ b/dev-cpp/eigen/eigen-9999.ebuild @@ -0,0 +1,428 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +FORTRAN_NEEDED="test" +inherit cmake cuda fortran-2 llvm toolchain-funcs + +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} = 3.4.9999* ]] ; then + EGIT_COMMIT="3.4" + 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 ~ia64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~x64-macos" +fi + +LICENSE="MPL-2.0" +SLOT="3" + +# 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" + "opengl" + "openmp" + "pastix" + "sparsehash" + "spqr" + "superlu" + "umfpack" +) + +IUSE="benchmark ${CPU_FEATURES_MAP[*]%:*} clang cuda hip debug doc lapack mathjax test ${IUSE_TEST_BACKENDS[*]}" #zvector + +# Tests failing again because of compiler issues +RESTRICT="!test? ( test )" + +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 ) +" + +# 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 ) + opengl? ( + media-libs/freeglut + media-libs/glew + media-libs/libglvnd + ) + pastix? ( sci-libs/pastix[-mpi] ) + 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 ) +" +DEPEND=" + test? ( + cuda? ( + !clang? ( + dev-util/nvidia-cuda-toolkit + ) + clang? ( + sys-devel/clang[llvm_targets_NVPTX] + openmp? ( sys-libs/libomp[llvm_targets_NVPTX,offload] ) + ) + ) + hip? ( dev-util/hip ) + lapack? ( virtual/lapacke ) + ${TEST_BACKENDS} + ) +" + +REQUIRED_USE=" + || ( ${IUSE_TEST_BACKENDS[*]} ) +" + +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" +) + +# 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" + + 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}" + 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 +} + +pkg_setup() { + use test && use cuda && use clang && llvm_pkg_setup +} + +src_unpack() { + if [[ ${PV} = *9999* ]] ; then + git-r3_src_unpack + else + unpack "${P}.tar.bz2" + + if use test && use lapack; then + cd "${S}/lapack" || die + unpack "${PN}-lapack_addons-3.4.1.tgz" + fi + fi +} + +src_prepare() { + 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 + fi +} + +src_configure() { + local mycmakeargs=( + -DBUILD_SHARED_LIBS="yes" + -DBUILD_TESTING="$(usex test)" + + -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 + ) + 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+=( + # 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_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_BUILD_BTL=yes # Build benchmark suite + + -DEIGEN_TEST_BUILD_DOCUMENTATION="$(usex doc)" # Test building the doxygen documentation + + # -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_DASHBOARD_BUILD_TARGET=buildtests # Target to be built in dashboard mode, default is buildtests + + # -DEIGEN_DEFAULT_TO_ROW_MAJOR=no # Use row-major as default matrix storage order + + # -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 + ) + + 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)" + ) + fi + + if use arm64; then + mycmakeargs+=( + -DEIGEN_TEST_NEON64="$(usex cpu_flags_arm_neon)" + ) + 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. + # -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 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 + + mycmakeargs+=( + -DEIGEN_TEST_CUDA="$(usex cuda)" # Enable CUDA support in unit tests + -DEIGEN_TEST_CUDA_CLANG="$(usex cuda "$(usex clang)")" # 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; 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)" + else + cuda_set_CUDAHOSTCXX + mycmakeargs+=( + -DCUDA_HOST_COMPILER="${CUDAHOSTCXX}" + ) + fi + if [[ "${CUDA_VERBOSE}" == true ]]; then + mycmakeargs+=( + -DCUDA_VERBOSE_BUILD=yes + ) + NVCCFLAGS+=" -v" + fi + + export CUDAFLAGS="${NVCCFLAGS}" + + [[ -z "${CUDAARCHS}" ]] && einfo "trying to determine host CUDAARCHS" + : "${CUDAARCHS:=$(__nvcc_device_query)}" + export CUDAARCHS + + mycmakeargs+=( + -DEIGEN_CUDA_COMPUTE_ARCH="${CUDAARCHS}" + ) + fi + fi + + cmake_src_configure +} + +src_compile() { + local targets=() + if use doc; then + targets+=( doc ) + HTML_DOCS=( "${BUILD_DIR}"/doc/html/. ) + fi + if use test; then + targets+=( buildtests ) + # if ! use lapack; then + # targets+=( blas ) + # fi + # tests generate random data, which + # obviously fails for some seeds + export EIGEN_SEED=712808 + fi + + if use doc || use test; then + cmake_src_compile "${targets[@]}" + fi +} + +src_test() { + if use cuda ; then + cuda_add_sandbox -w + fi + + local myctestargs=( + -j1 # otherwise breaks due to cmake reruns + ) + + cmake_src_test +} diff --git a/dev-cpp/eigen/files/eigen-3.4.0-buildstring.patch b/dev-cpp/eigen/files/eigen-3.4.0-buildstring.patch new file mode 100644 index 000000000000..cb3671dc0100 --- /dev/null +++ b/dev-cpp/eigen/files/eigen-3.4.0-buildstring.patch @@ -0,0 +1,27 @@ +--- a/cmake/EigenTesting.cmake ++++ b/cmake/EigenTesting.cmake +@@ -559,14 +559,22 @@ macro(ei_get_cxxflags VAR) + 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_F16C) ++ set(${VAR} F16C) + elseif(EIGEN_TEST_AVX) + set(${VAR} AVX) + elseif(EIGEN_TEST_SSE4_2) + 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-cxxstandard.patch b/dev-cpp/eigen/files/eigen-3.4.0-cxxstandard.patch new file mode 100644 index 000000000000..826aa78d05aa --- /dev/null +++ b/dev-cpp/eigen/files/eigen-3.4.0-cxxstandard.patch @@ -0,0 +1,108 @@ +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -74,19 +74,9 @@ macro(ei_add_cxx_compiler_flag FLAG) + endif() + endmacro() + +-check_cxx_compiler_flag("-std=c++11" EIGEN_COMPILER_SUPPORT_CPP11) +- +-if(EIGEN_TEST_CXX11) +- set(CMAKE_CXX_STANDARD 11) +- set(CMAKE_CXX_EXTENSIONS OFF) +- if(EIGEN_COMPILER_SUPPORT_CPP11) +- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11") +- endif() +-else() +- #set(CMAKE_CXX_STANDARD 03) +- #set(CMAKE_CXX_EXTENSIONS OFF) +- ei_add_cxx_compiler_flag("-std=c++03") +-endif() ++set(CMAKE_CXX_STANDARD 14) ++set(CMAKE_CXX_STANDARD_REQUIRED TRUE) ++set(CMAKE_CXX_EXTENSIONS OFF) + + # Determine if we should build shared libraries on this platform. + get_cmake_property(EIGEN_BUILD_SHARED_LIBS TARGET_SUPPORTS_SHARED_LIBS) +@@ -157,7 +157,6 @@ if(NOT MSVC) + 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("-Wdouble-promotion") + # ei_add_cxx_compiler_flag("-Wconversion") + +--- a/Eigen/src/Core/util/Macros.h ++++ b/Eigen/src/Core/util/Macros.h +@@ -37,7 +37,7 @@ + // Expected values are 03, 11, 14, 17, etc. + // By default, let's use an arbitrarily large C++ version. + #ifndef EIGEN_MAX_CPP_VER +-#define EIGEN_MAX_CPP_VER 99 ++#define EIGEN_MAX_CPP_VER 14 + #endif + + /** Allows to disable some optimizations which might affect the accuracy of the result. +--- a/doc/examples/CMakeLists.txt ++++ b/doc/examples/CMakeLists.txt +@@ -14,7 +14,3 @@ foreach(example_src ${examples_SRCS}) + ) + add_dependencies(all_examples ${example}) + endforeach() +- +-if(EIGEN_COMPILER_SUPPORT_CPP11) +-ei_add_target_property(nullary_indexing COMPILE_FLAGS "-std=c++11") +-endif() +\ No newline at end of file +diff --git a/doc/snippets/CMakeLists.txt b/doc/snippets/CMakeLists.txt +index 65f195a..4cb18c8 100644 +--- a/doc/snippets/CMakeLists.txt ++++ b/doc/snippets/CMakeLists.txt +@@ -15,9 +15,6 @@ foreach(snippet_src ${snippets_SRCS}) + if(EIGEN_STANDARD_LIBRARIES_TO_LINK_TO) + target_link_libraries(${compile_snippet_target} ${EIGEN_STANDARD_LIBRARIES_TO_LINK_TO}) + endif() +- if(${snippet_src} MATCHES "cxx11") +- set_target_properties(${compile_snippet_target} PROPERTIES COMPILE_FLAGS "-std=c++11") +- endif() + if(${snippet_src} MATCHES "deprecated") + set_target_properties(${compile_snippet_target} PROPERTIES COMPILE_FLAGS "-DEIGEN_NO_DEPRECATED_WARNING") + endif() +--- a/test/CMakeLists.txt ++++ b/test/CMakeLists.txt +@@ -399,7 +399,6 @@ if(CUDA_FOUND) + set(CUDA_NVCC_FLAGS "-ccbin ${CMAKE_C_COMPILER}" CACHE STRING "nvcc flags" FORCE) + endif() + 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}") +--- a/unsupported/test/CMakeLists.txt ++++ b/unsupported/test/CMakeLists.txt +@@ -59,7 +59,7 @@ find_package(MPREAL) + if(MPREAL_FOUND AND EIGEN_COMPILER_SUPPORT_CPP11) + ei_add_property(EIGEN_TESTED_BACKENDS "MPFR C++, ") + include_directories(${MPREAL_INCLUDES}) +- ei_add_test(mpreal_support "-std=c++11" "${MPREAL_LIBRARIES}" ) ++ ei_add_test(mpreal_support "-std=c++14" "${MPREAL_LIBRARIES}" ) + else() + ei_add_property(EIGEN_MISSING_BACKENDS "MPFR C++, ") + endif() +@@ -308,7 +308,6 @@ if(CUDA_FOUND AND EIGEN_TEST_CUDA) + set(CUDA_NVCC_FLAGS "-ccbin ${CMAKE_C_COMPILER}" CACHE STRING "nvcc flags" FORCE) + endif() + 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}") +--- 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}) + add_dependencies(all_examples random_cpp11) +- ei_add_target_property(random_cpp11 COMPILE_FLAGS "-std=c++11") + + add_custom_command( + TARGET random_cpp11 diff --git a/dev-cpp/eigen/files/eigen-3.4.0-noansi.patch b/dev-cpp/eigen/files/eigen-3.4.0-noansi.patch new file mode 100644 index 000000000000..c0ce44445c1d --- /dev/null +++ b/dev-cpp/eigen/files/eigen-3.4.0-noansi.patch @@ -0,0 +1,18 @@ +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -184,6 +184,7 @@ if(NOT MSVC) + ei_add_cxx_compiler_flag("-wd2304") # disable ICC's "warning #2304: non-explicit constructor with single argument may cause implicit type conversion" produced by -Wnon-virtual-dtor + + ++ if(NOT EIGEN_TEST_CXX11) + # The -ansi flag must be added last, otherwise it is also used as a linker flag by check_cxx_compiler_flag making it fails + # Moreover we should not set both -strict-ansi and -ansi + check_cxx_compiler_flag("-strict-ansi" COMPILER_SUPPORT_STRICTANSI) +@@ -194,6 +195,7 @@ if(NOT MSVC) + else() + ei_add_cxx_compiler_flag("-ansi") + endif() ++ endif() + + if(ANDROID_NDK) + ei_add_cxx_compiler_flag("-pie") diff --git a/dev-cpp/eigen/files/eigen-3.4.0-ppc-no-vsx.patch b/dev-cpp/eigen/files/eigen-3.4.0-ppc-no-vsx.patch new file mode 100644 index 000000000000..7cfeaaf129ff --- /dev/null +++ b/dev-cpp/eigen/files/eigen-3.4.0-ppc-no-vsx.patch @@ -0,0 +1,195 @@ +https://gitlab.com/libeigen/eigen/-/merge_requests/1028 +https://bugs.gentoo.org/936107 +--- a/Eigen/Core ++++ b/Eigen/Core +@@ -346,7 +346,7 @@ + #include "src/Core/CoreIterators.h" + #include "src/Core/ConditionEstimator.h" + +-#if defined(EIGEN_VECTORIZE_ALTIVEC) || defined(EIGEN_VECTORIZE_VSX) ++#if defined(EIGEN_VECTORIZE_VSX) + #include "src/Core/arch/AltiVec/MatrixProduct.h" + #elif defined EIGEN_VECTORIZE_NEON + #include "src/Core/arch/NEON/GeneralBlockPanelKernel.h" +--- a/Eigen/src/Core/arch/AltiVec/Complex.h ++++ b/Eigen/src/Core/arch/AltiVec/Complex.h +@@ -100,6 +100,7 @@ + HasAbs2 = 0, + HasMin = 0, + HasMax = 0, ++ HasSqrt = 1, + #ifdef __VSX__ + HasBlend = 1, + #endif +@@ -320,6 +321,7 @@ + HasAbs2 = 0, + HasMin = 0, + HasMax = 0, ++ HasSqrt = 1, + HasSetLinear = 0 + }; + }; +--- a/Eigen/src/Core/arch/AltiVec/MathFunctions.h ++++ b/Eigen/src/Core/arch/AltiVec/MathFunctions.h +@@ -40,16 +40,14 @@ + return pcos_float(_x); + } + ++#ifdef __VSX__ + #ifndef EIGEN_COMP_CLANG + template<> EIGEN_DEFINE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS EIGEN_UNUSED + Packet4f prsqrt<Packet4f>(const Packet4f& x) + { + return vec_rsqrt(x); + } +-#endif + +-#ifdef __VSX__ +-#ifndef EIGEN_COMP_CLANG + template<> EIGEN_DEFINE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS EIGEN_UNUSED + Packet2d prsqrt<Packet2d>(const Packet2d& x) + { +@@ -74,6 +72,26 @@ + { + return pexp_double(_x); + } ++ ++template<> EIGEN_STRONG_INLINE Packet8bf psqrt<Packet8bf> (const Packet8bf& a){ ++ BF16_TO_F32_UNARY_OP_WRAPPER(psqrt<Packet4f>, a); ++} ++ ++#ifndef EIGEN_COMP_CLANG ++template<> EIGEN_STRONG_INLINE Packet8bf prsqrt<Packet8bf> (const Packet8bf& a){ ++ BF16_TO_F32_UNARY_OP_WRAPPER(prsqrt<Packet4f>, a); ++} ++#endif ++#else ++template<> EIGEN_DEFINE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS ++Packet4f psqrt<Packet4f>(const Packet4f& x) ++{ ++ Packet4f a; ++ for (Index i = 0; i < packet_traits<float>::size; i++) { ++ a[i] = numext::sqrt(x[i]); ++ } ++ return a; ++} + #endif + + // Hyperbolic Tangent function. +--- a/Eigen/src/Core/arch/AltiVec/PacketMath.h ++++ b/Eigen/src/Core/arch/AltiVec/PacketMath.h +@@ -175,16 +175,19 @@ + #else + HasRsqrt = 0, + #endif ++ HasTanh = EIGEN_FAST_MATH, ++ HasErf = EIGEN_FAST_MATH, ++ HasRint = 1, + #else + HasSqrt = 0, + HasRsqrt = 0, +- HasTanh = EIGEN_FAST_MATH, +- HasErf = EIGEN_FAST_MATH, ++ HasTanh = 0, ++ HasErf = 0, ++ HasRint = 0, + #endif + HasRound = 1, + HasFloor = 1, + HasCeil = 1, +- HasRint = 1, + HasNegate = 1, + HasBlend = 1 + }; +@@ -217,16 +220,17 @@ + #else + HasRsqrt = 0, + #endif ++ HasRint = 1, + #else + HasSqrt = 0, + HasRsqrt = 0, +- HasTanh = EIGEN_FAST_MATH, +- HasErf = EIGEN_FAST_MATH, ++ HasRint = 0, + #endif ++ HasTanh = 0, ++ HasErf = 0, + HasRound = 1, + HasFloor = 1, + HasCeil = 1, +- HasRint = 1, + HasNegate = 1, + HasBlend = 1 + }; +@@ -872,19 +876,29 @@ + return vec_nor(c,c); + } + ++#ifdef __VSX__ + template<> EIGEN_STRONG_INLINE Packet4i pcmp_le(const Packet4i& a, const Packet4i& b) { return reinterpret_cast<Packet4i>(vec_cmple(a,b)); } ++#endif + template<> EIGEN_STRONG_INLINE Packet4i pcmp_lt(const Packet4i& a, const Packet4i& b) { return reinterpret_cast<Packet4i>(vec_cmplt(a,b)); } + template<> EIGEN_STRONG_INLINE Packet4i pcmp_eq(const Packet4i& a, const Packet4i& b) { return reinterpret_cast<Packet4i>(vec_cmpeq(a,b)); } ++#ifdef __VSX__ + template<> EIGEN_STRONG_INLINE Packet8s pcmp_le(const Packet8s& a, const Packet8s& b) { return reinterpret_cast<Packet8s>(vec_cmple(a,b)); } ++#endif + template<> EIGEN_STRONG_INLINE Packet8s pcmp_lt(const Packet8s& a, const Packet8s& b) { return reinterpret_cast<Packet8s>(vec_cmplt(a,b)); } + template<> EIGEN_STRONG_INLINE Packet8s pcmp_eq(const Packet8s& a, const Packet8s& b) { return reinterpret_cast<Packet8s>(vec_cmpeq(a,b)); } ++#ifdef __VSX__ + template<> EIGEN_STRONG_INLINE Packet8us pcmp_le(const Packet8us& a, const Packet8us& b) { return reinterpret_cast<Packet8us>(vec_cmple(a,b)); } ++#endif + template<> EIGEN_STRONG_INLINE Packet8us pcmp_lt(const Packet8us& a, const Packet8us& b) { return reinterpret_cast<Packet8us>(vec_cmplt(a,b)); } + template<> EIGEN_STRONG_INLINE Packet8us pcmp_eq(const Packet8us& a, const Packet8us& b) { return reinterpret_cast<Packet8us>(vec_cmpeq(a,b)); } ++#ifdef __VSX__ + template<> EIGEN_STRONG_INLINE Packet16c pcmp_le(const Packet16c& a, const Packet16c& b) { return reinterpret_cast<Packet16c>(vec_cmple(a,b)); } ++#endif + template<> EIGEN_STRONG_INLINE Packet16c pcmp_lt(const Packet16c& a, const Packet16c& b) { return reinterpret_cast<Packet16c>(vec_cmplt(a,b)); } + template<> EIGEN_STRONG_INLINE Packet16c pcmp_eq(const Packet16c& a, const Packet16c& b) { return reinterpret_cast<Packet16c>(vec_cmpeq(a,b)); } ++#ifdef __VSX__ + template<> EIGEN_STRONG_INLINE Packet16uc pcmp_le(const Packet16uc& a, const Packet16uc& b) { return reinterpret_cast<Packet16uc>(vec_cmple(a,b)); } ++#endif + template<> EIGEN_STRONG_INLINE Packet16uc pcmp_lt(const Packet16uc& a, const Packet16uc& b) { return reinterpret_cast<Packet16uc>(vec_cmplt(a,b)); } + template<> EIGEN_STRONG_INLINE Packet16uc pcmp_eq(const Packet16uc& a, const Packet16uc& b) { return reinterpret_cast<Packet16uc>(vec_cmpeq(a,b)); } + +@@ -937,6 +951,7 @@ + } + template<> EIGEN_STRONG_INLINE Packet4f pceil<Packet4f>(const Packet4f& a) { return vec_ceil(a); } + template<> EIGEN_STRONG_INLINE Packet4f pfloor<Packet4f>(const Packet4f& a) { return vec_floor(a); } ++#ifdef __VSX__ + template<> EIGEN_STRONG_INLINE Packet4f print<Packet4f>(const Packet4f& a) + { + Packet4f res; +@@ -947,6 +962,7 @@ + + return res; + } ++#endif + + template<typename Packet> EIGEN_STRONG_INLINE Packet ploadu_common(const __UNPACK_TYPE__(Packet)* from) + { +@@ -1341,12 +1357,6 @@ + BF16_TO_F32_BINARY_OP_WRAPPER(psub<Packet4f>, a, b); + } + +-template<> EIGEN_STRONG_INLINE Packet8bf psqrt<Packet8bf> (const Packet8bf& a){ +- BF16_TO_F32_UNARY_OP_WRAPPER(vec_sqrt, a); +-} +-template<> EIGEN_STRONG_INLINE Packet8bf prsqrt<Packet8bf> (const Packet8bf& a){ +- BF16_TO_F32_UNARY_OP_WRAPPER(prsqrt<Packet4f>, a); +-} + template<> EIGEN_STRONG_INLINE Packet8bf pexp<Packet8bf> (const Packet8bf& a){ + BF16_TO_F32_UNARY_OP_WRAPPER(pexp_float, a); + } +@@ -1390,9 +1400,11 @@ + template<> EIGEN_STRONG_INLINE Packet8bf pround<Packet8bf> (const Packet8bf& a){ + BF16_TO_F32_UNARY_OP_WRAPPER(pround<Packet4f>, a); + } ++#ifdef __VSX__ + template<> EIGEN_STRONG_INLINE Packet8bf print<Packet8bf> (const Packet8bf& a){ + BF16_TO_F32_UNARY_OP_WRAPPER(print<Packet4f>, a); + } ++#endif + template<> EIGEN_STRONG_INLINE Packet8bf pmadd(const Packet8bf& a, const Packet8bf& b, const Packet8bf& c) { + Packet4f a_even = Bf16ToF32Even(a); + Packet4f a_odd = Bf16ToF32Odd(a); 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 new file mode 100644 index 000000000000..0453fd33a8ae --- /dev/null +++ b/dev-cpp/eigen/files/eigen-9999-please_protect_your_min_with_parentheses.patch @@ -0,0 +1,54 @@ +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/metadata.xml b/dev-cpp/eigen/metadata.xml index 36cfa77b9153..6a83729afd0b 100644 --- a/dev-cpp/eigen/metadata.xml +++ b/dev-cpp/eigen/metadata.xml @@ -17,7 +17,22 @@ providing optimal speed with GCC. </longdescription> <use> - <flag name="cuda">Build with cuda support</flag> + <flag name="benchmark">Build benchmark suite</flag> + <flag name="clang">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="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="fftw">Add test support for fftw (<pkg>sci-libs/fftw</pkg>)</flag> + <flag name="klu">Add test support for KLU (<pkg>sci-libs/klu</pkg>)</flag> + <flag name="mathjax">Use MathJax for rendering math in HTML docs (dev-libs/mathjax)</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="pastix">Add test support for PaStiX (<pkg>sci-libs/pastix</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> <upstream> <remote-id type="gitlab">libeigen/eigen</remote-id> diff --git a/dev-cpp/elfio/Manifest b/dev-cpp/elfio/Manifest index 0e76e209c613..01708ff43ab6 100644 --- a/dev-cpp/elfio/Manifest +++ b/dev-cpp/elfio/Manifest @@ -1,2 +1 @@ -DIST elfio-3.11.tar.gz 4150700 BLAKE2B 2e0270384f1fdbc8f8374c1a42b5bd0c6ba6faa8c8a7125063b682cd9808fbb3f330e2a0fa4646c8828f6d276ad8f92e36b69ab7916c3bd2b1b2ecad6708fcc1 SHA512 3a254aad62e707f2809e2997998aab6a9794d70791dc535a6de90bad3e9de3cbcc4f8e7787067ca7cd47ce2dc71cf52809747267bc36cfb08369b49a6b92cf5e DIST elfio-3.12.tar.gz 4150640 BLAKE2B aba7c4a9c254384b3babcf740883e45b8b531ecde3bc12f3cb811ac63c1469d0d53d9bb259120d92bacad7289d811429785a784667d4632c3acc49f2c3a475e4 SHA512 f5c8bc6cc98da845f6c011fc85b98476935c5d20d72b36bff5ad2472434494115ee7c06cfa37152c528e5931c39fe3cc084bfc8e6952b2c3e8f24b8601ae212f diff --git a/dev-cpp/elfio/elfio-3.11.ebuild b/dev-cpp/elfio/elfio-3.11.ebuild deleted file mode 100644 index 0c82a247cdd9..000000000000 --- a/dev-cpp/elfio/elfio-3.11.ebuild +++ /dev/null @@ -1,32 +0,0 @@ -# Copyright 2020-2022 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit cmake - -DESCRIPTION="ELF reader/producer header-only C++ library" -HOMEPAGE="https://github.com/serge1/ELFIO" -SRC_URI="https://github.com/serge1/${PN}/archive/Release_${PV}.tar.gz -> ${P}.tar.gz" -S="${WORKDIR}"/${PN^^}-Release_${PV} - -LICENSE="MIT" -SLOT="0" -KEYWORDS="~amd64" -IUSE="test" -RESTRICT="!test? ( test )" - -DEPEND="test? ( dev-cpp/gtest )" - -PATCHES=( - "${FILESDIR}"/${PN}-3.11-system-gtest.patch -) - -src_configure() { - local mycmakeargs=( - -DFETCHCONTENT_FULLY_DISCONNECTED=ON - -DELFIO_BUILD_TESTS=$(usex test) - ) - - cmake_src_configure -} diff --git a/dev-cpp/elfio/files/elfio-3.11-system-gtest.patch b/dev-cpp/elfio/files/elfio-3.11-system-gtest.patch deleted file mode 100644 index 2110086c69d6..000000000000 --- a/dev-cpp/elfio/files/elfio-3.11-system-gtest.patch +++ /dev/null @@ -1,33 +0,0 @@ -https://github.com/serge1/ELFIO/pull/113 - -From 4c47fd4c783f286a73605e43e362f1e14b0296a9 Mon Sep 17 00:00:00 2001 -From: Sam James <sam@gentoo.org> -Date: Sat, 19 Nov 2022 02:56:22 +0000 -Subject: [PATCH] tests: allow using system gtest copy - -Distributions often do builds with no network access available -for both security reasons and also to ensure reproducibility. - -This change tells CMake to query the system for a copy of gtest, -but if it's not available, it'll fall back to downloading via -FetchContent. ---- a/tests/CMakeLists.txt -+++ b/tests/CMakeLists.txt -@@ -3,6 +3,7 @@ include(FetchContent) - FetchContent_Declare( - googletest - URL https://github.com/google/googletest/archive/9a32aee22d771387c494be2d8519fbdf46a713b2.zip -+ FIND_PACKAGE_ARGS NAMES GTest - ) - - # For Windows: Prevent overriding the parent project's compiler/linker settings -@@ -44,7 +45,8 @@ target_link_libraries( - ELFIOTest - PRIVATE - elfio::elfio -- gtest_main) -+ gtest_main -+ GTest::gtest_main) - - add_test( - NAME diff --git a/dev-cpp/expected-lite/expected-lite-0.6.3.ebuild b/dev-cpp/expected-lite/expected-lite-0.6.3.ebuild index 37a076a8e6af..c21d55efda0d 100644 --- a/dev-cpp/expected-lite/expected-lite-0.6.3.ebuild +++ b/dev-cpp/expected-lite/expected-lite-0.6.3.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2023 Gentoo Authors +# Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -12,7 +12,7 @@ SRC_URI="https://github.com/martinmoene/expected-lite/archive/refs/tags/v${PV}.t LICENSE="Boost-1.0" SLOT="0" -KEYWORDS="~amd64 ~arm64 ~riscv" +KEYWORDS="amd64 ~arm64 ~loong ~ppc64 ~riscv" IUSE="test" RESTRICT="!test? ( test )" diff --git a/dev-cpp/frugally-deep/Manifest b/dev-cpp/frugally-deep/Manifest new file mode 100644 index 000000000000..87e7840f2fcf --- /dev/null +++ b/dev-cpp/frugally-deep/Manifest @@ -0,0 +1 @@ +DIST frugally-deep-0.15.30.tar.gz 212149 BLAKE2B 49d73cc09617de4b8344bd7010c1f47397896b0c5cf5b52c95dd2b4c4c861609642d84ba65650a2819cb58459b9a74264b5ca38856db967d6d7988cb55346498 SHA512 ec31a174a1a13d572d7cfce4a1773964cc185c1acaf91250bc8038cd9eba77f864fe9fd592a39648de8c620f02375142344f70c9663613ab1b406df1c68e6cb1 diff --git a/dev-cpp/frugally-deep/frugally-deep-0.15.30.ebuild b/dev-cpp/frugally-deep/frugally-deep-0.15.30.ebuild new file mode 100644 index 000000000000..10423b3cb2a8 --- /dev/null +++ b/dev-cpp/frugally-deep/frugally-deep-0.15.30.ebuild @@ -0,0 +1,22 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit cmake + +DESCRIPTION="Header-only library for using Keras models in C++" +HOMEPAGE="https://github.com/Dobiasd/frugally-deep" +SRC_URI="https://github.com/Dobiasd/frugally-deep/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~amd64" + +DEPEND=" + dev-cpp/functional-plus + dev-cpp/eigen + dev-cpp/nlohmann_json +" + +RDEPEND="${DEPEND}" diff --git a/dev-cpp/frugally-deep/metadata.xml b/dev-cpp/frugally-deep/metadata.xml new file mode 100644 index 000000000000..f7dc7eda7676 --- /dev/null +++ b/dev-cpp/frugally-deep/metadata.xml @@ -0,0 +1,16 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person"> + <email>lockalsash@gmail.com</email> + <name>Sv. Lockal</name> + </maintainer> + <maintainer type="project" proxied="proxy"> + <email>proxy-maint@gentoo.org</email> + <name>Proxy Maintainers</name> + </maintainer> + <upstream> + <bugs-to>https://github.com/Dobiasd/frugally-deep/issues</bugs-to> + <remote-id type="github">Dobiasd/frugally-deep</remote-id> + </upstream> +</pkgmetadata> diff --git a/dev-cpp/functional-plus/Manifest b/dev-cpp/functional-plus/Manifest new file mode 100644 index 000000000000..2100861432d6 --- /dev/null +++ b/dev-cpp/functional-plus/Manifest @@ -0,0 +1 @@ +DIST functional-plus-0.2.22.tar.gz 282821 BLAKE2B dd32e0c518d3b18dd7f31498579edb05cd8a73108c4720db560b48931ed50d8a1a970916d517d488188cdfd69d04d2a3bc6dbfe193b5b8adf114ee7a2938208c SHA512 399ff3012efd49e8617a0ae275e72bf13e87380e830f6ceb56f85fcda948d4ef252c5aa48f48f0a4a015874015d6e8ff442ac9395d523b4c946a01c17f2bd1b9 diff --git a/dev-cpp/functional-plus/functional-plus-0.2.22.ebuild b/dev-cpp/functional-plus/functional-plus-0.2.22.ebuild new file mode 100644 index 000000000000..c78f24cf915d --- /dev/null +++ b/dev-cpp/functional-plus/functional-plus-0.2.22.ebuild @@ -0,0 +1,56 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit cmake + +if [[ ${PV} == *9999* ]]; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/Dobiasd/FunctionalPlus.git" +else + SRC_URI="https://github.com/Dobiasd/FunctionalPlus/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz" + KEYWORDS="~amd64" +fi + +DESCRIPTION="Functional Programming Library for C++" +HOMEPAGE=" + https://www.editgym.com/fplus-api-search/ + https://github.com/Dobiasd/FunctionalPlus +" + +LICENSE="Boost-1.0" +SLOT="0" + +IUSE="test" +RESTRICT="!test? ( test )" + +DEPEND="test? ( dev-cpp/doctest )" + +S="${WORKDIR}/FunctionalPlus-${PV}" + +fplus_test_wrapper() { + local BUILD_DIR="${WORKDIR}/${P}_build/test" + local CMAKE_USE_DIR="${S}/test" + $@ +} + +src_prepare() { + # avoid -Werror, bug 926538 + sed -i 's/-Werror//' cmake/warnings.cmake || die + cmake_src_prepare +} + +src_configure() { + cmake_src_configure + use test && fplus_test_wrapper cmake_src_configure +} + +src_compile() { + cmake_src_compile + use test && fplus_test_wrapper cmake_src_compile +} + +src_test() { + fplus_test_wrapper cmake_src_test +} diff --git a/dev-cpp/functional-plus/metadata.xml b/dev-cpp/functional-plus/metadata.xml new file mode 100644 index 000000000000..4dbdfbab0058 --- /dev/null +++ b/dev-cpp/functional-plus/metadata.xml @@ -0,0 +1,16 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person"> + <email>lockalsash@gmail.com</email> + <name>Sv. Lockal</name> + </maintainer> + <maintainer type="project" proxied="proxy"> + <email>proxy-maint@gentoo.org</email> + <name>Proxy Maintainers</name> + </maintainer> + <upstream> + <bugs-to>https://github.com/Dobiasd/FunctionalPlus/issues</bugs-to> + <remote-id type="github">Dobiasd/FunctionalPlus</remote-id> + </upstream> +</pkgmetadata> diff --git a/dev-cpp/glibmm/Manifest b/dev-cpp/glibmm/Manifest index 7b4ffb2deb87..781307ad8988 100644 --- a/dev-cpp/glibmm/Manifest +++ b/dev-cpp/glibmm/Manifest @@ -1,3 +1,2 @@ -DIST glibmm-2.66.6.tar.xz 8668828 BLAKE2B 0e133eb73f8a290e3bc2167435e9e88b49603153c96d2eff130ac0ee0d1b1e0d3907197267cd1bc62e1f8b6a74ed8a8429e891430c4bfc512cbdf5e877e79701 SHA512 64d5ee1904ac645ee5a470889b928a24ab012bb0c310a94631bd725df9d5b7a5c0d2129f114017677db922b724ad12ab33698f1d27cae4aaeccd199b0e883099 -DIST glibmm-2.76.0.tar.xz 9295168 BLAKE2B 99e6e0776f945a245ea68ca39194c6cecaace282a9be31e27e65e07b8034963c814a6306b74817aeb82740fbc01a9e4ff3a0b4a8605da15a3cd0d3e72a86bb16 SHA512 be49599f5eb8eb5a1cef015cdb37af2564fcd1ea845aa4344804ca5f0f61468949711e25cefebb93219e1be37128ebfdd2a816324e752ac4395b4b87c072fc78 -DIST glibmm-2.78.0.tar.xz 9292916 BLAKE2B 41b0bf4d472b9ee1252f96c1d77a41b9ea447e4cf10b613fb1c3ca99251e0701923ab0a4efe305f0a04ae72f7fbd376d76d3e03df11ecc67343d6927068c42af SHA512 b93575983860101d793725e08c13987914465e4daf280defb4a96b2f842b9e1a99c9320b05f2a6af9e3f7a2a384855b6710b982f9015a6469e37f3c257d9d811 +DIST glibmm-2.66.7.tar.xz 8773780 BLAKE2B faef7b6a9ca91aed3ac7ddeddc0413f87daba4b8d1e887431bd7db8b7cae66ec449292bbb0fb9e4e574d1ce680853ab0ffb476abd76c19257c7434389ba3d2cc SHA512 09b99622c051afd264d7a9b23025ee28ec870c6d23a5084ef7192f67b96fb8f16be5dbb2e8a4ff8a1d4ff873d3e73b4e25dee122049266687f471dcd3989b5bb +DIST glibmm-2.78.1.tar.xz 9486784 BLAKE2B 2875d93b0cedb6bf84cb463b1c73743c55dc446ee0c1dce36344a8e0ff77cec8d890d1e3b0f1d4a841d293ab123cc60bf5c6b55ed9a0456fe235d928bf28ff05 SHA512 5ace15c492be553e2c6abd8d0699197239261feaa2b45ff77181f59bb98b584dc822bdd46dbdee35691cc5a955a3b88e03f58532459236fd780823354c35d0a6 diff --git a/dev-cpp/glibmm/glibmm-2.66.6.ebuild b/dev-cpp/glibmm/glibmm-2.66.7.ebuild index 64bd4d9c4fa8..1b62c91362bd 100644 --- a/dev-cpp/glibmm/glibmm-2.66.6.ebuild +++ b/dev-cpp/glibmm/glibmm-2.66.7.ebuild @@ -1,8 +1,8 @@ -# Copyright 1999-2023 Gentoo Authors +# Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 -PYTHON_COMPAT=( python3_{9..11} ) +PYTHON_COMPAT=( python3_{10..12} ) inherit gnome.org meson-multilib python-any-r1 DESCRIPTION="C++ interface for glib2" @@ -23,7 +23,7 @@ BDEPEND=" ${PYTHON_DEPS} virtual/pkgconfig gtk-doc? ( - app-doc/doxygen[dot] + app-text/doxygen[dot] dev-lang/perl dev-perl/XML-Parser dev-libs/libxslt diff --git a/dev-cpp/glibmm/glibmm-2.78.0.ebuild b/dev-cpp/glibmm/glibmm-2.78.0.ebuild deleted file mode 100644 index 173a52b240fe..000000000000 --- a/dev-cpp/glibmm/glibmm-2.78.0.ebuild +++ /dev/null @@ -1,52 +0,0 @@ -# Copyright 1999-2023 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 -PYTHON_COMPAT=( python3_{9..11} ) -inherit gnome.org meson-multilib python-any-r1 - -DESCRIPTION="C++ interface for glib2" -HOMEPAGE="https://www.gtkmm.org https://gitlab.gnome.org/GNOME/glibmm" - -LICENSE="LGPL-2.1+" -SLOT="2.68" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos" -IUSE="gtk-doc debug test" -RESTRICT="!test? ( test )" - -RDEPEND=" - >=dev-libs/glib-2.77.0:2[${MULTILIB_USEDEP}] - dev-libs/libsigc++:3[gtk-doc?,${MULTILIB_USEDEP}] -" -DEPEND="${RDEPEND}" -BDEPEND=" - ${PYTHON_DEPS} - virtual/pkgconfig - gtk-doc? ( - app-doc/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/glibmm-2.76.0.ebuild b/dev-cpp/glibmm/glibmm-2.78.1.ebuild index 251ea2dfd81f..447b4cd169cb 100644 --- a/dev-cpp/glibmm/glibmm-2.76.0.ebuild +++ b/dev-cpp/glibmm/glibmm-2.78.1.ebuild @@ -1,8 +1,8 @@ -# Copyright 1999-2023 Gentoo Authors +# Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 -PYTHON_COMPAT=( python3_{9..11} ) +PYTHON_COMPAT=( python3_{10..12} ) inherit gnome.org meson-multilib python-any-r1 DESCRIPTION="C++ interface for glib2" @@ -15,7 +15,7 @@ IUSE="gtk-doc debug test" RESTRICT="!test? ( test )" RDEPEND=" - >=dev-libs/glib-2.73.2:2[${MULTILIB_USEDEP}] + >=dev-libs/glib-2.77.0:2[${MULTILIB_USEDEP}] dev-libs/libsigc++:3[gtk-doc?,${MULTILIB_USEDEP}] " DEPEND="${RDEPEND}" @@ -23,7 +23,7 @@ BDEPEND=" ${PYTHON_DEPS} virtual/pkgconfig gtk-doc? ( - app-doc/doxygen[dot] + app-text/doxygen[dot] dev-lang/perl dev-libs/libxslt ) diff --git a/dev-cpp/glog/Manifest b/dev-cpp/glog/Manifest index 30b5047877a8..27d44dcf6c41 100644 --- a/dev-cpp/glog/Manifest +++ b/dev-cpp/glog/Manifest @@ -1,3 +1,2 @@ -DIST glog-0.4.0.tar.gz 200955 BLAKE2B 083da6117af3e85697724942bfcb5a7831d447666945b06b149d8d324231b10923887bd8c507e8027136d12bffd30a657cb225df8c449f234381e3876f132953 SHA512 b585f1819ade2075f6b61dc5aaca5c3f9d25601dba2bd08b6c49b96ac5f79db23c6b7f2042df003f7130497dd7241fcaa8b107d1f97385cb66ce52d3c554b176 DIST glog-0.5.0.tar.gz 183346 BLAKE2B 9109a9a4bd3c74ba5d4c1d9ed44ffe0e16d5d3b9b12bf9dd5d31c6e728292ea50f39b4e1b96d55fbb35653a448af4dc8a978e266a2b0f34261c5108099e90845 SHA512 445e4338f3d81cd0b065f2da9c6ce343c243263ca144cea424ef97531a4e9e09c06ffd6942ac01c5213a8003c75cfbbede3c4028d12f0134f23ff29314769c1a DIST glog-0.6.0.tar.gz 193267 BLAKE2B b42112cdfd54280ce7a9592c3af6b6e10dcb854fe9dbe0db7445c60801d1c12a240c4b3709b45e41aedeb8876d2e08fc3368296e088be6a66126858888cc274e SHA512 fd2c42583d0dd72c790a8cf888f328a64447c5fb9d99b2e2a3833d70c102cb0eb9ae874632c2732424cc86216c8a076a3e24b23a793eaddb5da8a1dc52ba9226 diff --git a/dev-cpp/glog/files/glog-0.4.0-errnos.patch b/dev-cpp/glog/files/glog-0.4.0-errnos.patch deleted file mode 100644 index c55716db1ba2..000000000000 --- a/dev-cpp/glog/files/glog-0.4.0-errnos.patch +++ /dev/null @@ -1,99 +0,0 @@ -Index: b/src/googletest.h -=================================================================== ---- a/src/googletest.h -+++ b/src/googletest.h -@@ -437,6 +437,18 @@ static inline void StringReplace(string* - } - } - -+static inline void IntReplace(string* str, -+ const string& oldsub, -+ int newsub) { -+ size_t pos = str->find(oldsub); -+ if (pos != string::npos) { -+ std::ostringstream ss; -+ ss << newsub; -+ const std::string x = ss.str(); -+ str->replace(pos, oldsub.size(), x.c_str()); -+ } -+} -+ - static inline string Munge(const string& filename) { - FILE* fp = fopen(filename.c_str(), "rb"); - CHECK(fp != NULL) << filename << ": couldn't open"; -@@ -452,9 +464,13 @@ static inline string Munge(const string& - - StringReplace(&line, "__SUCCESS__", StrError(0)); - StringReplace(&line, "__ENOENT__", StrError(ENOENT)); -+ IntReplace(&line, "__ENOENT_NUM__", ENOENT); - StringReplace(&line, "__EINTR__", StrError(EINTR)); -+ IntReplace(&line, "__EINTR_NUM__", EINTR); - StringReplace(&line, "__ENXIO__", StrError(ENXIO)); -+ IntReplace(&line, "__ENXIO_NUM__", ENXIO); - StringReplace(&line, "__ENOEXEC__", StrError(ENOEXEC)); -+ IntReplace(&line, "__ENOEXEC_NUM__", ENOEXEC); - result += line + "\n"; - } - fclose(fp); -Index: b/src/logging_unittest.cc -=================================================================== ---- a/src/logging_unittest.cc -+++ b/src/logging_unittest.cc -@@ -238,6 +238,17 @@ int main(int argc, char **argv) { - return 0; - } - -+static int errnoForIteration(int i) { -+ switch (i) { -+ case 0: return 0; -+ case 2: return ENOENT; -+ case 4: return EINTR; -+ case 6: return ENXIO; -+ case 8: return ENOEXEC; -+ } -+ return -1; -+} -+ - void TestLogging(bool check_counts) { - int64 base_num_infos = LogMessage::num_messages(GLOG_INFO); - int64 base_num_warning = LogMessage::num_messages(GLOG_WARNING); -@@ -246,7 +257,7 @@ void TestLogging(bool check_counts) { - LOG(INFO) << string("foo ") << "bar " << 10 << ' ' << 3.4; - for ( int i = 0; i < 10; ++i ) { - int old_errno = errno; -- errno = i; -+ errno = errnoForIteration(i); - PLOG_EVERY_N(ERROR, 2) << "Plog every 2, iteration " << COUNTER; - errno = old_errno; - -Index: b/src/logging_unittest.err -=================================================================== ---- a/src/logging_unittest.err -+++ b/src/logging_unittest.err -@@ -51,21 +51,21 @@ WDATE TIME__ THREADID logging_unittest.c - IDATE TIME__ THREADID logging_unittest.cc:LINE] Log if every 1, iteration 1 - EDATE TIME__ THREADID logging_unittest.cc:LINE] Log if less than 3 every 2, iteration 1 - IDATE TIME__ THREADID logging_unittest.cc:LINE] Log if every 1, iteration 2 --EDATE TIME__ THREADID logging_unittest.cc:LINE] Plog every 2, iteration 3: __ENOENT__ [2] -+EDATE TIME__ THREADID logging_unittest.cc:LINE] Plog every 2, iteration 3: __ENOENT__ [__ENOENT_NUM__] - IDATE TIME__ THREADID logging_unittest.cc:LINE] Log if every 1, iteration 3 - EDATE TIME__ THREADID logging_unittest.cc:LINE] Log if less than 3 every 2, iteration 3 - EDATE TIME__ THREADID logging_unittest.cc:LINE] Log every 3, iteration 4 - IDATE TIME__ THREADID logging_unittest.cc:LINE] Log if every 1, iteration 4 --EDATE TIME__ THREADID logging_unittest.cc:LINE] Plog every 2, iteration 5: __EINTR__ [4] -+EDATE TIME__ THREADID logging_unittest.cc:LINE] Plog every 2, iteration 5: __EINTR__ [__EINTR_NUM__] - EDATE TIME__ THREADID logging_unittest.cc:LINE] Log every 4, iteration 5 - IDATE TIME__ THREADID logging_unittest.cc:LINE] Log if every 1, iteration 5 - WDATE TIME__ THREADID logging_unittest.cc:LINE] Log if every 5, iteration 6 - IDATE TIME__ THREADID logging_unittest.cc:LINE] Log if every 1, iteration 6 --EDATE TIME__ THREADID logging_unittest.cc:LINE] Plog every 2, iteration 7: __ENXIO__ [6] -+EDATE TIME__ THREADID logging_unittest.cc:LINE] Plog every 2, iteration 7: __ENXIO__ [__ENXIO_NUM__] - EDATE TIME__ THREADID logging_unittest.cc:LINE] Log every 3, iteration 7 - IDATE TIME__ THREADID logging_unittest.cc:LINE] Log if every 1, iteration 7 - IDATE TIME__ THREADID logging_unittest.cc:LINE] Log if every 1, iteration 8 --EDATE TIME__ THREADID logging_unittest.cc:LINE] Plog every 2, iteration 9: __ENOEXEC__ [8] -+EDATE TIME__ THREADID logging_unittest.cc:LINE] Plog every 2, iteration 9: __ENOEXEC__ [__ENOEXEC_NUM__] - EDATE TIME__ THREADID logging_unittest.cc:LINE] Log every 4, iteration 9 - IDATE TIME__ THREADID logging_unittest.cc:LINE] Log if every 1, iteration 9 - EDATE TIME__ THREADID logging_unittest.cc:LINE] Log every 3, iteration 10 - diff --git a/dev-cpp/glog/files/glog-0.4.0-fix-test-on-ports.patch b/dev-cpp/glog/files/glog-0.4.0-fix-test-on-ports.patch deleted file mode 100644 index 392ae8ca7819..000000000000 --- a/dev-cpp/glog/files/glog-0.4.0-fix-test-on-ports.patch +++ /dev/null @@ -1,19 +0,0 @@ -Index: google-glog-0.3.2/src/signalhandler_unittest.sh -=================================================================== ---- google-glog-0.3.2.orig/src/signalhandler_unittest.sh 2013-03-13 13:49:37.820188111 -0400 -+++ google-glog-0.3.2/src/signalhandler_unittest.sh 2013-03-13 14:07:11.980204520 -0400 -@@ -65,10 +65,10 @@ - exit 0 - fi - --# The PC cannot be obtained in signal handlers on PowerPC correctly. --# We just skip the test for PowerPC. --if [ x`uname -p` = x"powerpc" ]; then -- echo "PASS (We don't test the signal handler on PowerPC.)" -+# This test only works correctly on i386 and amd64. -+# We just skip the test when not on those platforms. -+if [ x`uname -m` != x"x86_64" -a x`uname -m` != x"i686" ]; then -+ echo "PASS (We only test the signal handler on i386 or amd64.)" - exit 0 - fi - diff --git a/dev-cpp/glog/files/glog-0.4.0-fix-x32-build.patch b/dev-cpp/glog/files/glog-0.4.0-fix-x32-build.patch deleted file mode 100644 index e53318ac66ff..000000000000 --- a/dev-cpp/glog/files/glog-0.4.0-fix-x32-build.patch +++ /dev/null @@ -1,35 +0,0 @@ -Description: fix FTBFS on x32 -Author: Guillaume Morin <guillaume@morinfr.org> -Forwarded: no -Last-Update: 2019-08-05 - ---- - ---- google-glog-0.3.4.orig/src/symbolize_unittest.cc -+++ google-glog-0.3.4/src/symbolize_unittest.cc -@@ -313,8 +313,12 @@ extern "C" { - inline void* always_inline inline_func() { - void *pc = NULL; - #ifdef TEST_X86_32_AND_64 -+#if __x86_64__ || (__x86_64__ && __ILP32__) -+ __asm__ __volatile__("call 1f; 1: popq %q0" : "=r"(pc)); -+#else - __asm__ __volatile__("call 1f; 1: pop %0" : "=r"(pc)); - #endif -+#endif - return pc; - } - -@@ -322,8 +326,12 @@ void* ATTRIBUTE_NOINLINE non_inline_func - void* ATTRIBUTE_NOINLINE non_inline_func() { - void *pc = NULL; - #ifdef TEST_X86_32_AND_64 -+#if __x86_64__ || (__x86_64__ && __ILP32__) -+ __asm__ __volatile__("call 1f; 1: popq %q0" : "=r"(pc)); -+#else - __asm__ __volatile__("call 1f; 1: pop %0" : "=r"(pc)); - #endif -+#endif - return pc; - } - diff --git a/dev-cpp/glog/glog-0.4.0.ebuild b/dev-cpp/glog/glog-0.4.0.ebuild deleted file mode 100644 index 9b10f2e2fc95..000000000000 --- a/dev-cpp/glog/glog-0.4.0.ebuild +++ /dev/null @@ -1,46 +0,0 @@ -# Copyright 2011-2022 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI="7" - -inherit autotools multilib-minimal - -DESCRIPTION="Google's C++ logging library" -HOMEPAGE="https://github.com/google/glog" -SRC_URI="https://github.com/google/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz" - -LICENSE="BSD" -SLOT="0" -# -sparc as libunwind is not ported on sparc -KEYWORDS="amd64 arm arm64 ~hppa ~ia64 ~mips ppc ppc64 -sparc x86 ~amd64-linux ~x86-linux" -IUSE="gflags static-libs test" -RESTRICT="test" - -RDEPEND="sys-libs/libunwind[${MULTILIB_USEDEP}] - gflags? ( dev-cpp/gflags[${MULTILIB_USEDEP}] )" -DEPEND="${RDEPEND} - test? ( >=dev-cpp/gtest-1.8.0[${MULTILIB_USEDEP}] )" - -PATCHES=( - "${FILESDIR}"/${PN}-0.4.0-fix-x32-build.patch - "${FILESDIR}"/${PN}-0.4.0-errnos.patch - "${FILESDIR}"/${PN}-0.4.0-fix-test-on-ports.patch -) - -src_prepare() { - default - eautoreconf -} - -multilib_src_configure() { - ECONF_SOURCE="${S}" econf \ - $(use_enable static-libs static) \ - ac_cv_lib_gflags_main="$(usex gflags)" -} - -multilib_src_install_all() { - einstalldocs - - # package provides .pc files - find "${D}" -name '*.la' -delete || die -} diff --git a/dev-cpp/glog/glog-0.6.0.ebuild b/dev-cpp/glog/glog-0.6.0.ebuild index f3e2dd1169e6..082818391c35 100644 --- a/dev-cpp/glog/glog-0.6.0.ebuild +++ b/dev-cpp/glog/glog-0.6.0.ebuild @@ -1,4 +1,4 @@ -# Copyright 2011-2022 Gentoo Authors +# Copyright 2011-2023 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI="8" @@ -21,7 +21,7 @@ fi LICENSE="BSD" SLOT="0/1" -KEYWORDS="amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ppc ~ppc64 ~riscv ~s390 sparc ~x86 ~amd64-linux ~x86-linux" +KEYWORDS="amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~mips ppc ~ppc64 ~riscv ~s390 sparc ~x86 ~amd64-linux ~x86-linux" IUSE="gflags +libunwind llvm-libunwind test" RESTRICT="!test? ( test )" diff --git a/dev-cpp/glog/metadata.xml b/dev-cpp/glog/metadata.xml index b109eca5bd20..f488a88cb0cf 100644 --- a/dev-cpp/glog/metadata.xml +++ b/dev-cpp/glog/metadata.xml @@ -1,10 +1,6 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> <pkgmetadata> - <maintainer type="person" proxied="yes"> - <email>arfrever.fta@gmail.com</email> - <name>Arfrever Frehtes Taifersar Arahesis</name> - </maintainer> <maintainer type="project"> <email>cjk@gentoo.org</email> <name>Cjk</name> diff --git a/dev-cpp/gstreamermm/gstreamermm-1.10.0-r1.ebuild b/dev-cpp/gstreamermm/gstreamermm-1.10.0-r2.ebuild index 8f28a2ec3d97..e9ba634485f7 100644 --- a/dev-cpp/gstreamermm/gstreamermm-1.10.0-r1.ebuild +++ b/dev-cpp/gstreamermm/gstreamermm-1.10.0-r2.ebuild @@ -1,7 +1,7 @@ -# Copyright 1999-2021 Gentoo Authors +# Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -EAPI=6 +EAPI=8 inherit gnome2 virtualx @@ -19,21 +19,22 @@ RDEPEND=" >=media-libs/gst-plugins-base-${PV}:1.0 >=dev-cpp/glibmm-2.47.6:2 >=dev-cpp/libxmlpp-2.14:2.6 - >=dev-libs/libsigc++-2:2 -" + >=dev-libs/libsigc++-2:2" DEPEND="${RDEPEND} - dev-cpp/mm-common - virtual/pkgconfig - doc? ( - app-doc/doxygen - dev-libs/libxslt - media-gfx/graphviz ) test? ( dev-cpp/gtest >=media-libs/gst-plugins-base-${PV}:1.0[X,ogg,theora,vorbis] >=media-libs/gst-plugins-good-${PV}:1.0 - >=media-plugins/gst-plugins-jpeg-${PV}:1.0 ) -" + >=media-plugins/gst-plugins-jpeg-${PV}:1.0 + )" +BDEPEND=" + dev-cpp/mm-common + virtual/pkgconfig + doc? ( + app-text/doxygen + dev-libs/libxslt + media-gfx/graphviz + )" # eautoreconf: # dev-cpp/mm-common diff --git a/dev-cpp/gtest/gtest-1.14.0-r1.ebuild b/dev-cpp/gtest/gtest-1.14.0-r1.ebuild new file mode 100644 index 000000000000..927e75f3970d --- /dev/null +++ b/dev-cpp/gtest/gtest-1.14.0-r1.ebuild @@ -0,0 +1,81 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +# Python is required for tests and some build tasks. +PYTHON_COMPAT=( python3_{10..13} ) + +inherit cmake-multilib flag-o-matic python-any-r1 toolchain-funcs + +if [[ ${PV} == "9999" ]]; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/google/googletest" +else + if [[ -z ${GOOGLETEST_COMMIT} ]]; then + SRC_URI="https://github.com/google/googletest/archive/refs/tags/v${PV}.tar.gz + -> ${P}.tar.gz" + S="${WORKDIR}"/googletest-${PV} + else + SRC_URI="https://github.com/google/googletest/archive/${GOOGLETEST_COMMIT}.tar.gz + -> ${P}.tar.gz" + S="${WORKDIR}"/googletest-${GOOGLETEST_COMMIT} + fi + KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris" +fi + +DESCRIPTION="Google C++ Testing Framework" +HOMEPAGE="https://github.com/google/googletest" + +LICENSE="BSD" +SLOT="0" +IUSE="doc examples test" +RESTRICT="!test? ( test )" + +BDEPEND="test? ( ${PYTHON_DEPS} )" + +pkg_setup() { + use test && python-any-r1_pkg_setup +} + +multilib_src_configure() { + if use arm && [[ $(tc-is-softfloat) =~ (softfp)|(no) ]]; then + replace-flags -O* -O1 # bug #925093 + fi + + local mycmakeargs=( + -DBUILD_GMOCK=ON + -DINSTALL_GTEST=ON + + # tests + -Dgmock_build_tests=$(usex test) + -Dgtest_build_tests=$(usex test) + ) + if use test; then + if use x86 || use x86-linux; then + append-cxxflags -ffloat-store # bug #905007 + fi + mycmakeargs+=( -DPython3_EXECUTABLE="${PYTHON}" ) + fi + + cmake_src_configure +} + +multilib_src_test() { + # Exclude tests that fail with FEATURES="usersandbox" + cmake_src_test -E "googletest-(death-test|port)-test" +} + +multilib_src_install_all() { + einstalldocs + + newdoc googletest/README.md README.googletest.md + newdoc googlemock/README.md README.googlemock.md + + use doc && dodoc -r docs/. + + if use examples; then + docinto examples + dodoc googletest/samples/*.{cc,h} + fi +} diff --git a/dev-cpp/gtest/gtest-1.14.0.ebuild b/dev-cpp/gtest/gtest-1.14.0.ebuild index 5351c69b1cd0..307c8242b1c9 100644 --- a/dev-cpp/gtest/gtest-1.14.0.ebuild +++ b/dev-cpp/gtest/gtest-1.14.0.ebuild @@ -1,10 +1,10 @@ -# Copyright 1999-2023 Gentoo Authors +# Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 # Python is required for tests and some build tasks. -PYTHON_COMPAT=( python3_{10..12} ) +PYTHON_COMPAT=( python3_{10..13} ) inherit cmake-multilib python-any-r1 @@ -21,7 +21,7 @@ else -> ${P}.tar.gz" S="${WORKDIR}"/googletest-${GOOGLETEST_COMMIT} fi - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris" + KEYWORDS="~alpha amd64 ~arm arm64 ~hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris" fi DESCRIPTION="Google C++ Testing Framework" diff --git a/dev-cpp/gtest/gtest-9999.ebuild b/dev-cpp/gtest/gtest-9999.ebuild index 5351c69b1cd0..ecb89314e216 100644 --- a/dev-cpp/gtest/gtest-9999.ebuild +++ b/dev-cpp/gtest/gtest-9999.ebuild @@ -1,12 +1,12 @@ -# Copyright 1999-2023 Gentoo Authors +# Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 # Python is required for tests and some build tasks. -PYTHON_COMPAT=( python3_{10..12} ) +PYTHON_COMPAT=( python3_{10..13} ) -inherit cmake-multilib python-any-r1 +inherit cmake-multilib flag-o-matic python-any-r1 toolchain-funcs if [[ ${PV} == "9999" ]]; then inherit git-r3 @@ -39,6 +39,10 @@ pkg_setup() { } multilib_src_configure() { + if use arm && [[ $(tc-is-softfloat) =~ (softfp)|(no) ]]; then + replace-flags -O* -O1 # bug #925093 + fi + local mycmakeargs=( -DBUILD_GMOCK=ON -DINSTALL_GTEST=ON @@ -47,7 +51,12 @@ multilib_src_configure() { -Dgmock_build_tests=$(usex test) -Dgtest_build_tests=$(usex test) ) - use test && mycmakeargs+=( -DPython3_EXECUTABLE="${PYTHON}" ) + if use test; then + if use x86 || use x86-linux; then + append-cxxflags -ffloat-store # bug #905007 + fi + mycmakeargs+=( -DPython3_EXECUTABLE="${PYTHON}" ) + fi cmake_src_configure } diff --git a/dev-cpp/gtkmm/Manifest b/dev-cpp/gtkmm/Manifest index 39add9ce8313..9975fe388a3b 100644 --- a/dev-cpp/gtkmm/Manifest +++ b/dev-cpp/gtkmm/Manifest @@ -1,4 +1,3 @@ DIST gtkmm-2.24.5.tar.xz 12022024 BLAKE2B 6b2bca9fe6ad81cd956e1f3cc3140bc503b78386cf3931c8eeac08c8b2a08c73450bdbb703d1febaee67cdf834093ff5e89790f866357190822613a68a596ad3 SHA512 c50e52830977c37181439f4b82a30ac8bead0cf9022d2bec8225f8dc33e08414f863bf67056e1938fae8f888c09a5a6d757acc011fa9331a78caa6bb626dd51e -DIST gtkmm-3.24.8.tar.xz 14856904 BLAKE2B 54bb6b462c0a56bb8a8e3f1fdc479b8f476ecf8de99b3bf1c5d9ef4c8ccad21b2a2bd0e05464e88b4fe346fad07aa01f847c555eca4398782036b97cbf241aa9 SHA512 e8f55e4906a3ad9e1fd1d9496aa38ea1089e11d61f63fadde9f59357383d03a290318058ca74ff361969641b2ed4dda9a156389ef66a98a33a3f1d23b377ffbf -DIST gtkmm-4.10.0.tar.xz 16148612 BLAKE2B 9b11a79866be0f12b5f0f687d556058cb491131f14442f66053705d7cf909a28c6b5641f202cb2872f79399ba854710f88f3dc728230ca30e627da5fa7c69356 SHA512 ee40cce37c34814884ffc06e614013d23fa31cac51ea9d98ea5689a08acc2ff58bb2ca80ba822d6fe3c0f3bdcb9ce2596ede3c05c69a702b524c4e38afc3d9ab +DIST gtkmm-3.24.9.tar.xz 15122612 BLAKE2B bbc80e5140a5c003817a1d6a0e63ebdab971fe9c92cf07d2edcbb8a3ee5e2371ab7b932a5c9af56da096d3e37d6e76101ad25d9cea5074d29d31f97e69960c3d SHA512 6e6e53d7d434f51758ffddce00dbae61074c54a5d3a5bb852fea558147af4ca6c40f9fcf4e7f9fafcbbc22ea33cdd99ea06208b72542c7e75f4dca19a80c6724 DIST gtkmm-4.12.0.tar.xz 16359928 BLAKE2B 84b5f5ee5ef85c9f6d32d3047ab794f4ded3fb33665e18b4b6cacfc4836f5549e9cd32103963de367d0957fa58eb55b02ed06a3d3c6b6777c296d1c1fe3cabbc SHA512 0bde82ac1331c86810bb513362c81a30b0abaf906af4cf4b0607b85362125d8a15307fb5c51c6497fa9292acce437af027c4e336231dd18d72251f43e3d23688 diff --git a/dev-cpp/gtkmm/gtkmm-2.24.5-r1.ebuild b/dev-cpp/gtkmm/gtkmm-2.24.5-r2.ebuild index 6ed07f3d5f82..362b10e1252c 100644 --- a/dev-cpp/gtkmm/gtkmm-2.24.5-r1.ebuild +++ b/dev-cpp/gtkmm/gtkmm-2.24.5-r2.ebuild @@ -1,7 +1,7 @@ -# Copyright 1999-2023 Gentoo Authors +# Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -EAPI=6 +EAPI=8 inherit gnome2 multilib-minimal @@ -23,12 +23,14 @@ RDEPEND=" >=dev-cpp/pangomm-2.34.0:1.4[${MULTILIB_USEDEP}] >=dev-libs/libsigc++-2.3.2:2[${MULTILIB_USEDEP}] " -DEPEND="${RDEPEND} +DEPEND="${RDEPEND}" +BDEPEND=" virtual/pkgconfig doc? ( - media-gfx/graphviz + app-text/doxygen dev-libs/libxslt - app-doc/doxygen ) + media-gfx/graphviz + ) " src_prepare() { @@ -39,7 +41,7 @@ src_prepare() { fi if ! use examples; then - # don't waste time building tests + # don't waste time building examples sed 's/^\(SUBDIRS =.*\)demos\(.*\)$/\1\2/' -i Makefile.am Makefile.in \ || die "sed 2 failed" fi @@ -59,6 +61,6 @@ multilib_src_install() { } multilib_src_install_all() { - DOCS="AUTHORS ChangeLog PORTING NEWS README" + local DOCS=( AUTHORS ChangeLog PORTING NEWS README ) einstalldocs } diff --git a/dev-cpp/gtkmm/gtkmm-3.24.8.ebuild b/dev-cpp/gtkmm/gtkmm-3.24.9.ebuild index 5169cfc4db3f..f0d1a12ae4bb 100644 --- a/dev-cpp/gtkmm/gtkmm-3.24.8.ebuild +++ b/dev-cpp/gtkmm/gtkmm-3.24.9.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2023 Gentoo Authors +# Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -30,7 +30,7 @@ DEPEND="${RDEPEND}" BDEPEND=" virtual/pkgconfig gtk-doc? ( - app-doc/doxygen[dot] + app-text/doxygen[dot] dev-lang/perl dev-libs/libxslt ) diff --git a/dev-cpp/gtkmm/gtkmm-4.10.0.ebuild b/dev-cpp/gtkmm/gtkmm-4.10.0.ebuild deleted file mode 100644 index 1e33a244be60..000000000000 --- a/dev-cpp/gtkmm/gtkmm-4.10.0.ebuild +++ /dev/null @@ -1,52 +0,0 @@ -# Copyright 1999-2023 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -PYTHON_COMPAT=( python3_{9..11} ) -inherit gnome.org meson python-any-r1 virtualx - -DESCRIPTION="C++ interface for GTK+" -HOMEPAGE="https://www.gtkmm.org" - -LICENSE="LGPL-2.1+" -SLOT="4.0" -KEYWORDS="~alpha amd64 arm arm64 ~ia64 ~loong ppc ppc64 ~riscv sparc x86 ~amd64-linux ~x86-linux" -IUSE="gtk-doc test" - -RESTRICT="!test? ( test )" - -RDEPEND=" - >=dev-cpp/glibmm-2.68.0:2.68[gtk-doc?] - >=gui-libs/gtk-4.10.0:4 - >=dev-cpp/cairomm-1.15.4:1.16[gtk-doc?] - >=dev-cpp/pangomm-2.50.0:2.48[gtk-doc?] - >=x11-libs/gdk-pixbuf-2.35.5:2 - >=media-libs/libepoxy-1.2 -" -DEPEND=" - ${RDEPEND} - gtk-doc? ( dev-libs/libsigc++:3 ) -" -BDEPEND=" - virtual/pkgconfig - gtk-doc? ( - app-doc/doxygen[dot] - dev-lang/perl - dev-libs/libxslt - ) - ${PYTHON_DEPS} -" - -src_configure() { - local emesonargs=( - -Dbuild-demos=false - $(meson_use gtk-doc build-documentation) - $(meson_use test build-tests) - ) - meson_src_configure -} - -src_test() { - virtx meson_src_test -} diff --git a/dev-cpp/gtkmm/gtkmm-4.12.0.ebuild b/dev-cpp/gtkmm/gtkmm-4.12.0.ebuild index 986bc5904178..17ce2bd644bc 100644 --- a/dev-cpp/gtkmm/gtkmm-4.12.0.ebuild +++ b/dev-cpp/gtkmm/gtkmm-4.12.0.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2023 Gentoo Authors +# Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -11,7 +11,7 @@ HOMEPAGE="https://www.gtkmm.org" LICENSE="LGPL-2.1+" SLOT="4.0" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ia64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux" +KEYWORDS="~alpha amd64 arm arm64 ~ia64 ~loong ppc ppc64 ~riscv sparc x86 ~amd64-linux ~x86-linux" IUSE="gtk-doc test" RESTRICT="!test? ( test )" @@ -31,7 +31,7 @@ DEPEND=" BDEPEND=" virtual/pkgconfig gtk-doc? ( - app-doc/doxygen[dot] + app-text/doxygen[dot] dev-lang/perl dev-libs/libxslt ) diff --git a/dev-cpp/gtksourceviewmm/gtksourceviewmm-3.18.0-r2.ebuild b/dev-cpp/gtksourceviewmm/gtksourceviewmm-3.18.0-r2.ebuild index 25437c7d3f99..ecafc2003471 100644 --- a/dev-cpp/gtksourceviewmm/gtksourceviewmm-3.18.0-r2.ebuild +++ b/dev-cpp/gtksourceviewmm/gtksourceviewmm-3.18.0-r2.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2022 Gentoo Authors +# Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -25,7 +25,7 @@ RDEPEND=" DEPEND="${RDEPEND}" BDEPEND=" virtual/pkgconfig - doc? ( app-doc/doxygen ) + doc? ( app-text/doxygen ) " src_configure() { diff --git a/dev-cpp/highway/Manifest b/dev-cpp/highway/Manifest index 65a8a68fddf0..728a3cdb7277 100644 --- a/dev-cpp/highway/Manifest +++ b/dev-cpp/highway/Manifest @@ -1,3 +1,4 @@ DIST highway-1.0.1.tar.gz 1730746 BLAKE2B 1c6185af91afe32fbb35285d49101d381ade7ded262cbcd3b0a8bf28b1924a76ac5a11423a1613068f3435fbbdd2ab0119aa8a1aafe2c3467e0aff1987f40aad SHA512 35b6287579b6248966b0d36fda1522fd6338523934b079e94e857f9de08354f20b99739c99d53249a3a6c583519da0e0ac5e06dfbe6e3a89262f627c75b59dd8 DIST highway-1.0.3.tar.gz 1770704 BLAKE2B 5454f7e661270f25d1439a2a3d649a0f9970d7e10e0cfe6818c470b00460cc77b044ca83e912c91a3582b4a60af5d8d0f7c0aba01762acd3c98b9692fa0b20c6 SHA512 fc419c862e1686b6278081e8e10da41dc2bdfbd386a29b59e21a57375a47d3eeb5c7297e3078c78007b212121d936640b192a26a16c941e73cf599f24e081021 DIST highway-1.0.5.tar.gz 2012129 BLAKE2B cd7673bc5e3a32551554c83c4e1beb31f9855d9ad9550f156be2fb9e93b20391bd98d4b3ed4d0edf0a2786e403dcca86f4a50d00c27f0e08242dc66e2e6b2262 SHA512 0886b60147b78807e40c4987438fe664b4fbc012c3c681a45f3043ee4077afa493cb75550bc18ae160d00e527bf15bcf1f14220ea8561a4baacb3317fc25e347 +DIST highway-1.0.7.tar.gz 2055819 BLAKE2B da10291124dfdb5d9fd2b661f4d7e594c1e80e4159c9d704e1b4203facf7a0603e7ba808ffb1d8f1aba13d992df24abdb0ae89807329fffb67dee78b58574c28 SHA512 6ee5007ec13ac20b5d816b38a1b31c31a06678ca6d2ea090dd75e364f04cb2cf7ad8a82d1bdfff51079efa54b9a95fb554d62e6cc1bbf7d7e794cb272032d8f5 diff --git a/dev-cpp/highway/files/highway-1.0.7-Fix_UB_case_with_signed_overflow.patch b/dev-cpp/highway/files/highway-1.0.7-Fix_UB_case_with_signed_overflow.patch new file mode 100644 index 000000000000..814d584e8b3a --- /dev/null +++ b/dev-cpp/highway/files/highway-1.0.7-Fix_UB_case_with_signed_overflow.patch @@ -0,0 +1,29 @@ +https://github.com/google/highway/issues/1549 +https://github.com/google/highway/commit/45eea15b5488f3e7a15c2c94ac77bd9e99703203 + +From 45eea15b5488f3e7a15c2c94ac77bd9e99703203 Mon Sep 17 00:00:00 2001 +From: Mathieu Malaterre <mathieu.malaterre@gmail.com> +Date: Thu, 5 Oct 2023 08:00:38 +0200 +Subject: [PATCH] Fix UB case with signed overflow, prefer unsigned + +Fixes #1549 + +Link: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110643 +Suggested-by: Andrew Pinski <pinskia@gcc.gnu.org> +--- + hwy/ops/arm_neon-inl.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/hwy/ops/arm_neon-inl.h b/hwy/ops/arm_neon-inl.h +index 7ac7a10c62..97de46be2e 100644 +--- a/hwy/ops/arm_neon-inl.h ++++ b/hwy/ops/arm_neon-inl.h +@@ -4592,7 +4592,7 @@ HWY_API Mask128<T, N> IsNaN(const Vec128<T, N> v) { + template <typename T, size_t N, HWY_IF_FLOAT(T)> + HWY_API Mask128<T, N> IsInf(const Vec128<T, N> v) { + const DFromV<decltype(v)> d; +- const RebindToSigned<decltype(d)> di; ++ const RebindToUnsigned<decltype(d)> di; + const VFromD<decltype(di)> vi = BitCast(di, v); + // 'Shift left' to clear the sign bit, check for exponent=max and mantissa=0. + return RebindMask(d, Eq(Add(vi, vi), Set(di, hwy::MaxExponentTimes2<T>()))); diff --git a/dev-cpp/highway/highway-1.0.7-r1.ebuild b/dev-cpp/highway/highway-1.0.7-r1.ebuild new file mode 100644 index 000000000000..fa5684704b39 --- /dev/null +++ b/dev-cpp/highway/highway-1.0.7-r1.ebuild @@ -0,0 +1,41 @@ +# Copyright 2021-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit cmake-multilib + +DESCRIPTION="Performance-portable, length-agnostic SIMD with runtime dispatch" +HOMEPAGE="https://github.com/google/highway" + +if [[ "${PV}" == *9999* ]]; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/google/highway.git" +else + SRC_URI="https://github.com/google/highway/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz" + KEYWORDS="~alpha ~amd64 ~arm arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86" +fi + +LICENSE="Apache-2.0" +SLOT="0" +IUSE="cpu_flags_arm_neon test" + +DEPEND="test? ( dev-cpp/gtest[${MULTILIB_USEDEP}] )" + +RESTRICT="!test? ( test )" + +PATCHES=( + "${FILESDIR}/${PN}-1.0.7-Fix_UB_case_with_signed_overflow.patch" +) + +multilib_src_configure() { + local mycmakeargs=( + -DHWY_CMAKE_ARM7=$(usex cpu_flags_arm_neon) + -DBUILD_TESTING=$(usex test) + -DHWY_WARNINGS_ARE_ERRORS=OFF + ) + + use test && mycmakeargs+=( "-DHWY_SYSTEM_GTEST=ON" ) + + cmake_src_configure +} diff --git a/dev-cpp/highway/highway-1.0.7.ebuild b/dev-cpp/highway/highway-1.0.7.ebuild new file mode 100644 index 000000000000..b2446c1464af --- /dev/null +++ b/dev-cpp/highway/highway-1.0.7.ebuild @@ -0,0 +1,37 @@ +# Copyright 2021-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit cmake-multilib + +DESCRIPTION="Performance-portable, length-agnostic SIMD with runtime dispatch" +HOMEPAGE="https://github.com/google/highway" + +if [[ "${PV}" == *9999* ]]; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/google/highway.git" +else + SRC_URI="https://github.com/google/highway/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz" + KEYWORDS="~alpha amd64 arm ~arm64 ~hppa ~ia64 ~loong ppc ppc64 ~riscv sparc x86" +fi + +LICENSE="Apache-2.0" +SLOT="0" +IUSE="cpu_flags_arm_neon test" + +DEPEND="test? ( dev-cpp/gtest[${MULTILIB_USEDEP}] )" + +RESTRICT="!test? ( test )" + +multilib_src_configure() { + local mycmakeargs=( + -DHWY_CMAKE_ARM7=$(usex cpu_flags_arm_neon) + -DBUILD_TESTING=$(usex test) + -DHWY_WARNINGS_ARE_ERRORS=OFF + ) + + use test && mycmakeargs+=( "-DHWY_SYSTEM_GTEST=ON" ) + + cmake_src_configure +} diff --git a/dev-cpp/htmlcxx/htmlcxx-0.87.ebuild b/dev-cpp/htmlcxx/htmlcxx-0.87.ebuild index 2fabe282f52c..a1ac35ac47fe 100644 --- a/dev-cpp/htmlcxx/htmlcxx-0.87.ebuild +++ b/dev-cpp/htmlcxx/htmlcxx-0.87.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2022 Gentoo Authors +# Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 @@ -7,7 +7,7 @@ inherit multilib-minimal DESCRIPTION="A simple non-validating CSS 1 and HTML parser for C++" HOMEPAGE="http://htmlcxx.sourceforge.net/" -SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz" +SRC_URI="https://downloads.sourceforge.net/${PN}/${P}.tar.gz" LICENSE="LGPL-2" SLOT="0" KEYWORDS="~amd64 ~loong ~x86" diff --git a/dev-cpp/jwt-cpp/Manifest b/dev-cpp/jwt-cpp/Manifest index 056eade7e21c..d7c46cc86fec 100644 --- a/dev-cpp/jwt-cpp/Manifest +++ b/dev-cpp/jwt-cpp/Manifest @@ -1 +1,2 @@ DIST jwt-cpp-0.6.0.tar.gz 275126 BLAKE2B 4bf9bed9b2aa9584b497b2ab4d1d2582d9b5e4ded402200ea3f70b0e6752338fd4e2ef9c5836c728a6907a0190209c7baeaecd26032ce64dc6bf12a23594f27b SHA512 b6d5ebb3a7eeb6fef9a1d41c707251d1ab05bf47920c280d5203f1b9ee5bf6f8e914cd2ffaed66550cfa6d78c34465d4cf86517a759d5f8739b429faf1c2c0ef +DIST jwt-cpp-0.7.0.tar.gz 133925 BLAKE2B 7f6ff1d23f60c555382e4ae4e9633954db638a93bb4f183efe057da8cc751be6f5a545e94cd8976e8b0260a6775a1ed82c7b2445401ba01fb46869489f289f38 SHA512 b6fdb93e3f2f065a2eb45fe16cb076a932b8d4bfad2251bd66d2be40d8afaf5c27a9cf17aaea61d8bfa3f5ff9ed3b45f90962dc14d72704ac5b9d717c12cc79f diff --git a/dev-cpp/jwt-cpp/jwt-cpp-0.6.0.ebuild b/dev-cpp/jwt-cpp/jwt-cpp-0.6.0.ebuild index 82107fc5f404..a3b24a464bd2 100644 --- a/dev-cpp/jwt-cpp/jwt-cpp-0.6.0.ebuild +++ b/dev-cpp/jwt-cpp/jwt-cpp-0.6.0.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2023 Gentoo Authors +# Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -27,7 +27,7 @@ DEPEND=" " RDEPEND="${DEPEND}" BDEPEND=" - doc? ( app-doc/doxygen[dot] ) + doc? ( app-text/doxygen[dot] ) test? ( dev-cpp/gtest ) " RESTRICT=" diff --git a/dev-cpp/jwt-cpp/jwt-cpp-0.7.0.ebuild b/dev-cpp/jwt-cpp/jwt-cpp-0.7.0.ebuild new file mode 100644 index 000000000000..2e12499bdce9 --- /dev/null +++ b/dev-cpp/jwt-cpp/jwt-cpp-0.7.0.ebuild @@ -0,0 +1,80 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit cmake + +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 + +DESCRIPTION="header only library for creating and validating JSON Web Tokens in C++11" +HOMEPAGE="https://thalhammer.github.io/jwt-cpp/" + +LICENSE="MIT" +SLOT="0" +IUSE="doc +picojson test" + +DEPEND=" + dev-cpp/nlohmann_json + dev-libs/openssl + picojson? ( dev-cpp/picojson ) +" +RDEPEND="${DEPEND}" +BDEPEND=" + doc? ( app-text/doxygen[dot] ) + test? ( dev-cpp/gtest ) +" +RESTRICT=" + !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 + cmake_src_prepare +} + +src_configure() { + local mycmakeargs=( + -DJWT_DISABLE_PICOJSON="$(usex !picojson)" + # 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 + if use doc; then + doxygen || die + fi +} + +src_test() { + "${BUILD_DIR}"/tests/jwt-cpp-test || die +} + +src_install() { + cmake_src_install + use doc && local HTML_DOCS=(doxy/html/.) + einstalldocs +} diff --git a/dev-cpp/kokkos/Manifest b/dev-cpp/kokkos/Manifest index 6d7dbbb743e7..9ed03b5fd146 100644 --- a/dev-cpp/kokkos/Manifest +++ b/dev-cpp/kokkos/Manifest @@ -1 +1,2 @@ DIST kokkos-4.0.1.tar.gz 2322402 BLAKE2B a4aba2f7ffe7b7c93051ad65d398f442b753975eceb3f83ed1bff0b8c468e4ffdcb6437989e740c65fc550f17ef8ddf78ca50ca881d3953f886309dc7d6fc597 SHA512 cf6742f4be777b52673858b49cf68fdf335e760509688483e62ef41af5026070f69dcf39d010134c85dc6c4868f82a38900872be11ed43190432c8530b90deee +DIST kokkos-4.3.1.tar.gz 2431142 BLAKE2B 158ceea3c62449f386613b17e996e4d11e9b95c38a92f69fb3c487b90cf5f07dffdafb6ee0a37eff5299e7d1db50efaed4b26b9baebeeea9d675d0d98dd420e4 SHA512 8180ecdec2f0a6167a85dd1eb268996b0310e82098f2329eccf658aff90118a7c85c2f7607984602de2ca48dc45c1dbf30a4843b35c42590e58d4b03beff474a diff --git a/dev-cpp/kokkos/kokkos-4.3.1.ebuild b/dev-cpp/kokkos/kokkos-4.3.1.ebuild new file mode 100644 index 000000000000..208704232631 --- /dev/null +++ b/dev-cpp/kokkos/kokkos-4.3.1.ebuild @@ -0,0 +1,56 @@ +# Copyright 1999-2024 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" + +LICENSE="BSD" +SLOT="0" +KEYWORDS="~amd64 -x86" +IUSE="+openmp test" +RESTRICT="!test? ( test )" + +DEPEND="sys-apps/hwloc:=" +RDEPEND="${DEPEND}" + +S="${WORKDIR}/${PN}-${MY_PV}" + +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/libcmis/Manifest b/dev-cpp/libcmis/Manifest index 46f4619af881..86f9994fa42b 100644 --- a/dev-cpp/libcmis/Manifest +++ b/dev-cpp/libcmis/Manifest @@ -1,3 +1 @@ -DIST libcmis-0.5.2-patchset.tar.xz 16632 BLAKE2B 0a9802955059214428e7c2d6171093b171e47899de05404ee462bbf2c68c808927759a0808d79aa3aa9c8b9cd1a60b55686f7596b121701704a2d9720d6a8ba8 SHA512 bca4cc908e5510a9f597d6f1b560b3bbfdcda185b79d21320c6e3f7e5c559b7dda375407dfd6f05420b6f4edd666f6e7e70b7b72808506acc22fdfdab344f52c -DIST libcmis-0.5.2.tar.gz 295020 BLAKE2B 325eacedd87eb1888a439c727a648c5aeb8d58c9b80add9761ffc55381193b71b589865d13ecd55177faafa935642685001f60456c1354e037989b29e9451c05 SHA512 45d8cd6d420a9593b46e1f2d6fbf384ea248cb218b0db6326ee2f082ff29100b65a2cc999ccb849e61df4f4ed7c3721b09addc6c322ef03c6c93f8c0acc02bde DIST libcmis-0.6.2.tar.gz 296218 BLAKE2B faad99e09b2721cd56b0d47d2a9589e06222ee7881006e936d0943d5e8afc588fcda721ef282ad7d55c785407a9885c90cbce1d172ca012c4a13cc51da0c15b6 SHA512 a75a69623f34149c39c382c357396b8dd719d589a78424fc3b5d9de84ffbf3f889bcaaed9a01f91b491a507c189347d3d9252db238fddbb522ff8ba9ce7b5ade diff --git a/dev-cpp/libcmis/files/libcmis-0.5.2-icu-64.2.patch b/dev-cpp/libcmis/files/libcmis-0.5.2-icu-64.2.patch deleted file mode 100644 index 6ba63ee7fe76..000000000000 --- a/dev-cpp/libcmis/files/libcmis-0.5.2-icu-64.2.patch +++ /dev/null @@ -1,17 +0,0 @@ ---- a/inc/libcmis-c/repository.h 2018-12-27 14:07:55.000000000 +0100 -+++ b/inc/libcmis-c/repository.h 2019-04-21 01:29:46.504373226 +0200 -@@ -28,12 +28,12 @@ - #ifndef _REPOSITORY_H_ - #define _REPOSITORY_H_ - -+#include <libxml/tree.h> -+ - #ifdef __cplusplus - extern "C" { - #endif - --#include <libxml/tree.h> -- - #include "libcmis-c/libcmis-c-api.h" - #include "libcmis-c/types.h" - diff --git a/dev-cpp/libcmis/libcmis-0.5.2-r2.ebuild b/dev-cpp/libcmis/libcmis-0.5.2-r2.ebuild deleted file mode 100644 index aedc528670f1..000000000000 --- a/dev-cpp/libcmis/libcmis-0.5.2-r2.ebuild +++ /dev/null @@ -1,70 +0,0 @@ -# Copyright 1999-2023 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -if [[ ${PV} == *9999* ]]; then - EGIT_REPO_URI="https://github.com/tdf/libcmis.git" - inherit git-r3 -else - SRC_URI="https://github.com/tdf/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz - https://dev.gentoo.org/~asturm/distfiles/${P}-patchset.tar.xz" - KEYWORDS="amd64 ~arm arm64 ~loong ~ppc64 ~riscv x86 ~amd64-linux ~x86-linux" -fi -inherit autotools - -DESCRIPTION="C++ client library for the CMIS interface" -HOMEPAGE="https://github.com/tdf/libcmis" - -LICENSE="|| ( GPL-2 LGPL-2 MPL-1.1 )" -SLOT="0.5" -IUSE="man test tools" - -RESTRICT="test" - -DEPEND=" - dev-libs/boost:= - dev-libs/libxml2 - net-misc/curl -" -RDEPEND="${DEPEND}" -BDEPEND=" - virtual/pkgconfig - man? ( - app-text/docbook2X - dev-libs/libxslt - ) - test? ( - dev-util/cppcheck - dev-util/cppunit - ) -" - -PATCHES=( - "${FILESDIR}/${P}-icu-64.2.patch" # bug 674414 - "${WORKDIR}/${P}-patchset/${P}-fix-onedrive.patch" - "${WORKDIR}/${P}-patchset/${P}-gdrive-do-not-allow-copying.patch" - "${WORKDIR}/${P}-patchset/${P}-onedrive-do-not-allow-copying.patch" - "${WORKDIR}/${P}-patchset/${P}-fix-gdrive-onedrive.patch" -) - -src_prepare() { - default - eautoreconf -} - -src_configure() { - local myeconfargs=( - --program-suffix=-$(ver_cut 1-2) - --disable-werror - $(use_with man) - $(use_enable test tests) - $(use_enable tools client) - ) - econf "${myeconfargs[@]}" -} - -src_install() { - default - find "${D}" -name '*.la' -delete || die -} diff --git a/dev-cpp/libcmis/libcmis-0.6.2.ebuild b/dev-cpp/libcmis/libcmis-0.6.2.ebuild index 6c8abf60f12d..c20057c85432 100644 --- a/dev-cpp/libcmis/libcmis-0.6.2.ebuild +++ b/dev-cpp/libcmis/libcmis-0.6.2.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2023 Gentoo Authors +# Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -8,7 +8,7 @@ if [[ ${PV} == *9999* ]]; then inherit git-r3 else SRC_URI="https://github.com/tdf/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz" - KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~x86 ~amd64-linux ~x86-linux" + KEYWORDS="amd64 ~arm arm64 ~loong ppc64 ~riscv x86 ~amd64-linux ~x86-linux" fi inherit autotools diff --git a/dev-cpp/libmcpp/files/libmcpp-2.7.2-incompatible-pointer-types.patch b/dev-cpp/libmcpp/files/libmcpp-2.7.2-incompatible-pointer-types.patch new file mode 100644 index 000000000000..fc84009d4366 --- /dev/null +++ b/dev-cpp/libmcpp/files/libmcpp-2.7.2-incompatible-pointer-types.patch @@ -0,0 +1,26 @@ +https://github.com/jbrandwood/mcpp/commit/3b274fe8f31d61996343b17402f30408a6e447cf + +From 3b274fe8f31d61996343b17402f30408a6e447cf Mon Sep 17 00:00:00 2001 +From: John Brandwood <john.brandwood@telzey.com> +Date: Fri, 15 Mar 2024 15:15:53 -0400 +Subject: [PATCH] Fix build with GCC 14.x by splitting a NULL assignment into 2 + lines. + +--- + src/expand.c | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/src/expand.c b/src/expand.c +index 08f829a..ea2d2a9 100644 +--- a/src/expand.c ++++ b/src/expand.c +@@ -710,7 +710,8 @@ static char * replace( + } else { + m_inf->locs.start_col = m_inf->locs.start_line = 0L; + } +- m_inf->args = m_inf->loc_args = NULL; /* Default args */ ++ m_inf->args = NULL; /* Default args */ ++ m_inf->loc_args = NULL; + for (num = 1, recurs = 0; num < m_num; num++) + if (mac_inf[ num].defp == defp) + recurs++; /* Recursively nested macro */ diff --git a/dev-cpp/libmcpp/files/mcpp-c99.patch b/dev-cpp/libmcpp/files/mcpp-c99.patch new file mode 100644 index 000000000000..e6538e7955f4 --- /dev/null +++ b/dev-cpp/libmcpp/files/mcpp-c99.patch @@ -0,0 +1,59 @@ +Florian Weimer's c99 patch from https://sourceforge.net/p/mcpp/patches/7/ + +Do not define and undefine _*_SOURCE macros. These have special +semantics to glibc. <limits.h> may include <features.h>, and which +point the feature configuration gets frozen. Without this change, +when system.c includes <unistd.h>, the feature macros are hard-coded +as baseline POSIX, which does not include readlink. This will lead to +compilation errors with future compilers. + +diff --git a/src/configed.H b/src/configed.H +index b4d1ebf3a6bfa280..bde16fc8db38a2c4 100644 +--- a/src/configed.H ++++ b/src/configed.H +@@ -295,20 +295,7 @@ + * ULONGMAX should be defined to the ULONG_MAX in <limits.h>. + */ + +-/* _POSIX_* only to get PATH_MAX */ +-#define _POSIX_ 1 +-#define _POSIX_SOURCE 1 +-#ifndef _POSIX_C_SOURCE +-#define _POSIX_C_SOURCE 1 +-#define _POSIX_C_SOURCE_defined 1 +-#endif + #include "limits.h" +-#undef _POSIX_ +-#undef _POSIX_SOURCE +-#ifdef _POSIX_C_SOURCE_defined +-#undef _POSIX_C_SOURCE +-#undef _POSIX_C_SOURCE_defined +-#endif + #define CHARBIT CHAR_BIT + #define UCHARMAX UCHAR_MAX + #define USHRTMAX USHRT_MAX +diff --git a/src/noconfig.H b/src/noconfig.H +index 6b634fe0b32ff67c..7c923c900c8865dd 100644 +--- a/src/noconfig.H ++++ b/src/noconfig.H +@@ -570,20 +570,7 @@ + #include "stdio.h" + + /* PATHMAX is the maximum length of path-list on the host system. */ +-/* _POSIX_* only to get PATH_MAX */ +-#define _POSIX_ 1 +-#define _POSIX_SOURCE 1 +-#ifndef _POSIX_C_SOURCE +-#define _POSIX_C_SOURCE 1 +-#define _POSIX_C_SOURCE_defined 1 +-#endif + #include "limits.h" +-#undef _POSIX_ +-#undef _POSIX_SOURCE +-#ifdef _POSIX_C_SOURCE_defined +-#undef _POSIX_C_SOURCE +-#undef _POSIX_C_SOURCE_defined +-#endif + #ifdef PATH_MAX + #define PATHMAX PATH_MAX /* Posix macro */ + #else diff --git a/dev-cpp/libmcpp/libmcpp-2.7.2_p5-r1.ebuild b/dev-cpp/libmcpp/libmcpp-2.7.2_p5-r1.ebuild index 51825fa12bb8..8ef36c6691b8 100644 --- a/dev-cpp/libmcpp/libmcpp-2.7.2_p5-r1.ebuild +++ b/dev-cpp/libmcpp/libmcpp-2.7.2_p5-r1.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2023 Gentoo Authors +# Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -10,7 +10,7 @@ MY_P=$(ver_cut 1-4 ${MY_PN}-${PV}) DESCRIPTION="A portable C++ preprocessor" HOMEPAGE="http://mcpp.sourceforge.net" -SRC_URI="mirror://sourceforge/mcpp/${MY_P}.tar.gz" +SRC_URI="https://downloads.sourceforge.net/mcpp/${MY_P}.tar.gz" SRC_URI+=" mirror://debian/pool/main/m/${MY_PN}/${MY_PN}_${PV/_p/-}.debian.tar.xz" S="${WORKDIR}"/${MY_P} diff --git a/dev-cpp/libmcpp/libmcpp-2.7.2_p5-r2.ebuild b/dev-cpp/libmcpp/libmcpp-2.7.2_p5-r2.ebuild new file mode 100644 index 000000000000..464b0a740fcc --- /dev/null +++ b/dev-cpp/libmcpp/libmcpp-2.7.2_p5-r2.ebuild @@ -0,0 +1,48 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit autotools + +MY_PN=${PN/lib/} +MY_P=$(ver_cut 1-4 ${MY_PN}-${PV}) + +DESCRIPTION="A portable C++ preprocessor" +HOMEPAGE="http://mcpp.sourceforge.net" +SRC_URI="https://downloads.sourceforge.net/mcpp/${MY_P}.tar.gz" +SRC_URI+=" mirror://debian/pool/main/m/${MY_PN}/${MY_PN}_${PV/_p/-}.debian.tar.xz" +S="${WORKDIR}"/${MY_P} + +LICENSE="BSD" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~ia64 ~loong ~ppc64 ~riscv ~x86 ~x86-linux ~x64-macos" + +PATCHES=( + # bug #718808 + "${WORKDIR}"/debian/patches/ + + "${FILESDIR}"/${PN}-2.7.2-fix-build-system.patch + "${FILESDIR}"/${PN}-2.7.2-fix-configure-checks.patch + "${FILESDIR}"/${PN}-2.7.2-incompatible-pointer-types.patch + "${FILESDIR}"/mcpp-c99.patch +) + +src_prepare() { + default + + # bug #778461 + sed -i 's/-lmcpp/libmcpp.la/' src/Makefile.am || die + + eautoreconf +} + +src_configure() { + econf --enable-mcpplib +} + +src_install() { + default + + find "${ED}" -name '*.la' -delete || die +} diff --git a/dev-cpp/libodb-sqlite/Manifest b/dev-cpp/libodb-sqlite/Manifest deleted file mode 100644 index beffdc9e332d..000000000000 --- a/dev-cpp/libodb-sqlite/Manifest +++ /dev/null @@ -1,4 +0,0 @@ -DIST build2-toolchain-0.13.0.tar.xz 4218940 BLAKE2B ed27290df21e5db843325b3e42c43c6934ce8f2b9b157538b921f9cfe3a7dccc3b56e261053373553cbd7fbff39e912ffe2282f812d0e6f158749ed5748d5e33 SHA512 0485872acd40beb700739b2995f76efcc9811dd52a38ee049576e45fcb5a7d7ae9c718beca8aeab9ab3f1c5e0270d3946f2335f88ec19476577c195417c2dbd4 -DIST build2-toolchain-0.14.0.tar.xz 4687616 BLAKE2B 98b2ec93c18027cbb3294650b3ad5d3dc97c1f06a6580437eac2db0297d3517cf327179f3a7c6efc611bffed5d028a034382d408ca58a976311d50a26534323c SHA512 d238a4ddfce8506b51b3b775738e818e7e0b36961a09ae0912c0c8688057b8393afebd4c0a28c6e6827c2e72ad5b82bc5e1231f798a66c2bb86b2b1e4ece73ef -DIST libodb-sqlite-2.5.0-b.19.tar.gz 74822 BLAKE2B e9a5d3be8b453bcdc026b6349572c3bd88eb468329216bee535f4e1ac72bfe6c88b485efe2476303600209df42023099fdda88b410d9295e8cab73ed9dd03fc0 SHA512 be6dbc731d9f45dfc7e9246f404edad78d59c9d38cff6599aed56d60d4f0e8391336e2da3608f66d74559f0a8d34243eb38e7e6a1221188959321810193ae901 -DIST libodb-sqlite-2.5.0-b.21.tar.gz 79975 BLAKE2B f9dca03ba909276ed137c15cbe32a8227b688f8b1c2d3e98b7040f3463359400fd5116088ae77722651589788e2d8e1367bc135ed2104dbc2d624ff4910f3fce SHA512 a84ea3847c64e5beffcb1f3958583bc02d371a4eb354ad32d0083b01e27362905bdcf09913c9b4cd6fc977eeaba95fd46cf953332e4fd0d673ca2f7521c71a1f diff --git a/dev-cpp/libodb-sqlite/files/build2-0.13.0-libcpp-undefined-symol-vtable-for-match_any_but_newline-exec.patch b/dev-cpp/libodb-sqlite/files/build2-0.13.0-libcpp-undefined-symol-vtable-for-match_any_but_newline-exec.patch deleted file mode 100644 index 00b685600c8e..000000000000 --- a/dev-cpp/libodb-sqlite/files/build2-0.13.0-libcpp-undefined-symol-vtable-for-match_any_but_newline-exec.patch +++ /dev/null @@ -1,38 +0,0 @@ ---- build2-toolchain-0.13.0-orig/build2/libbuild2/script/regex.cxx 2020-06-10 19:25:37.000000000 +1000 -+++ build2-toolchain-0.13.0/build2/libbuild2/script/regex.cxx 2020-08-10 14:00:05.698012838 +1000 -@@ -5,6 +5,35 @@ - - #include <libbuild2/script/regex.hxx> - -+#if defined(_LIBCPP_VERSION) -+template <> -+void -+std::__1::__match_any_but_newline<build2::script::regex::line_char>::__exec(__state& __s) const -+{ -+ if (__s.__current_ != __s.__last_) -+ { -+ switch (*__s.__current_) -+ { -+ case '\r': -+ case '\n': -+ __s.__do_ = __state::__reject; -+ __s.__node_ = nullptr; -+ break; -+ default: -+ __s.__do_ = __state::__accept_and_consume; -+ ++__s.__current_; -+ __s.__node_ = this->first(); -+ break; -+ } -+ } -+ else -+ { -+ __s.__do_ = __state::__reject; -+ __s.__node_ = nullptr; -+ } -+} -+#endif -+ - using namespace std; - - namespace build2 diff --git a/dev-cpp/libodb-sqlite/files/build2-0.13.0_alpha0_pre20200710-nousrlocal.patch b/dev-cpp/libodb-sqlite/files/build2-0.13.0_alpha0_pre20200710-nousrlocal.patch deleted file mode 100644 index c3717856b6b7..000000000000 --- a/dev-cpp/libodb-sqlite/files/build2-0.13.0_alpha0_pre20200710-nousrlocal.patch +++ /dev/null @@ -1,52 +0,0 @@ ---- build2-toolchain-e135a3112b15c88f0601583ca068f8adea7b605d-orig/build2/libbuild2/cc/module.cxx 2020-07-10 20:12:57.000000000 +1000 -+++ build2-toolchain-e135a3112b15c88f0601583ca068f8adea7b605d/build2/libbuild2/cc/module.cxx 2020-07-14 14:33:58.939950579 +1000 -@@ -323,8 +323,6 @@ - - #ifndef _WIN32 - static const dir_path usr_inc ("/usr/include"); -- static const dir_path usr_loc_lib ("/usr/local/lib"); -- static const dir_path usr_loc_inc ("/usr/local/include"); - # ifdef __APPLE__ - static const dir_path a_usr_inc ( - "/Library/Developer/CommandLineTools/SDKs/MacOSX*.sdk/usr/include"); -@@ -486,7 +484,6 @@ - auto& ls (lib_dirs.first); - - bool ui (find (is.begin (), is.end (), usr_inc) != is.end ()); -- bool uli (find (is.begin (), is.end (), usr_loc_inc) != is.end ()); - - #ifdef __APPLE__ - // On Mac OS starting from 10.14 there is no longer /usr/include. -@@ -509,7 +506,7 @@ - // - // Is Apple's /usr/include. - // -- if (!ui && !uli) -+ if (!ui) - { - for (const dir_path& d: is) - { -@@ -521,22 +518,16 @@ - } - } - #endif -- if (ui || uli) -+ if (ui) - { -- bool ull (find (ls.begin (), ls.end (), usr_loc_lib) != ls.end ()); -- - // Many platforms don't search in /usr/local/lib by default (but do - // for headers in /usr/local/include). So add it as the last option. - // -- if (!ull && exists (usr_loc_lib, true /* ignore_error */)) -- ls.push_back (usr_loc_lib); - - // FreeBSD is at least consistent: it searches in neither. Quoting - // its wiki: "FreeBSD can't even find libraries that it installed." - // So let's help it a bit. - // -- if (!uli && exists (usr_loc_inc, true /* ignore_error */)) -- is.push_back (usr_loc_inc); - } - } - #endif diff --git a/dev-cpp/libodb-sqlite/libodb-sqlite-2.5.0_beta19.ebuild b/dev-cpp/libodb-sqlite/libodb-sqlite-2.5.0_beta19.ebuild deleted file mode 100644 index 667455d569ee..000000000000 --- a/dev-cpp/libodb-sqlite/libodb-sqlite-2.5.0_beta19.ebuild +++ /dev/null @@ -1,118 +0,0 @@ -# Copyright 1999-2022 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -MY_P="${PN}-$(ver_cut 1-3)-b.$(ver_cut 5)" - -BUILD2_PN=build2-toolchain -BUILD2_PV="0.13.0" -BUILD2_P="${BUILD2_PN}-${BUILD2_PV}" - -inherit toolchain-funcs multiprocessing -SRC_URI="https://pkg.cppget.org/1/beta/odb/${MY_P}.tar.gz - https://download.build2.org/${BUILD2_PV}/${BUILD2_P}.tar.xz" -KEYWORDS="~amd64 ~x86" -DESCRIPTION="Common ODB runtime library" -HOMEPAGE="https://codesynthesis.com/products/odb/" - -LICENSE="|| ( Code-Synthesis-ODB GPL-2 )" -SLOT="0" -IUSE="test" -RESTRICT="!test? ( test )" - -DEPEND=" - dev-cpp/libodb - dev-db/sqlite:3 -" -BDEPEND="virtual/pkgconfig" -RDEPEND="${DEPEND} - !<dev-util/build2-0.13.0 -" - -BS="${WORKDIR}/${BUILD2_P}" -S="${WORKDIR}/${MY_P}" - -b() { - local myargs=( - --jobs $(makeopts_jobs) - --verbose 3 - ) - export LD_LIBRARY_PATH="${BS}/libbutl/libbutl:${BS}/build2/libbuild2:${BS}/build2/libbuild2/bash:${BS}/build2/libbuild2/in:${BS}/build2/libbuild2/bin:${BS}/build2/libbuild2/c:${BS}/build2/libbuild2/cc:${BS}/build2/libbuild2/cxx:${BS}/build2/libbuild2/version:${BS}/libpkgconf/libpkgconf:${LD_LIBRARY_PATH}" - set -- "${BS}"/build2/build2/b-boot "${@}" "${myargs[@]}" - echo "${@}" - "${@}" || die "${@} failed" -} - -src_prepare() { - cd "${WORKDIR}" || die - for i in ${BUILD2_P}/libodb-sqlite/buildfile ${MY_P}/buildfile; do - printf 'cxx.libs += %s\ncxx.poptions += %s\n' \ - "-L${EPREFIX}/usr/$(get_libdir) $($(tc-getPKG_CONFIG) sqlite3 --libs)" \ - "$($(tc-getPKG_CONFIG) sqlite3 --cflags)" >> \ - ${i} \ - || die - done - - cd "${BS}" || die - eapply "${FILESDIR}"/build2-0.13.0_alpha0_pre20200710-nousrlocal.patch - eapply "${FILESDIR}"/build2-0.13.0-libcpp-undefined-symol-vtable-for-match_any_but_newline-exec.patch - sed \ - -e 's:libsqlite3[/]\?::' \ - -i buildfile build/bootstrap.build \ - || die - - if has_version dev-util/pkgconf; then - for i in build2/build2/buildfile build2/libbuild2/buildfile; do - printf 'cxx.libs += %s\ncxx.poptions += %s\n' \ - "$($(tc-getPKG_CONFIG) libpkgconf --libs)" \ - "$($(tc-getPKG_CONFIG) libpkgconf --cflags)" >> \ - "${i}" \ - || die - done - sed \ - -e 's:libpkgconf[/]\?::' \ - -i buildfile build/bootstrap.build \ - || die - fi - - cd "${S}" || die - default -} - -src_configure() { - pushd ${BS} || die - emake -C build2 -f bootstrap.gmake \ - CXX=$(tc-getCXX) \ - CXXFLAGS="${CXXFLAGS}" \ - LDFLAGS="${LDFLAGS}" - popd || die - - b configure \ - config.cxx="$(tc-getCXX)" \ - config.cxx.coptions="${CXXFLAGS}" \ - config.cxx.loptions="${LDFLAGS}" \ - config.c="$(tc-getCC)" \ - config.cc.coptions="${CFLAGS}" \ - config.cc.loptions="${LDFLAGS}" \ - config.bin.ar="$(tc-getAR)" \ - config.bin.ranlib="$(tc-getRANLIB)" \ - config.bin.lib=shared \ - config.install.root="${EPREFIX}"/usr \ - config.install.lib="${EPREFIX}"/usr/$(get_libdir) \ - config.install.doc="${EPREFIX}"/usr/share/doc/${PF} -} - -src_compile() { - b update-for-install - use test && b update-for-test -} - -src_test() { - b test -} - -src_install() { - b install \ - config.install.chroot="${D}" -} diff --git a/dev-cpp/libodb-sqlite/libodb-sqlite-2.5.0_beta21.ebuild b/dev-cpp/libodb-sqlite/libodb-sqlite-2.5.0_beta21.ebuild deleted file mode 100644 index 996133e1f47f..000000000000 --- a/dev-cpp/libodb-sqlite/libodb-sqlite-2.5.0_beta21.ebuild +++ /dev/null @@ -1,117 +0,0 @@ -# Copyright 1999-2022 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -MY_P="${PN}-$(ver_cut 1-3)-b.$(ver_cut 5)" - -BUILD2_PN=build2-toolchain -BUILD2_PV="0.14.0" -BUILD2_P="${BUILD2_PN}-${BUILD2_PV}" - -inherit toolchain-funcs multiprocessing -SRC_URI="https://pkg.cppget.org/1/beta/odb/${MY_P}.tar.gz - https://download.build2.org/${BUILD2_PV}/${BUILD2_P}.tar.xz" -KEYWORDS="~amd64 ~x86" -DESCRIPTION="Common ODB runtime library" -HOMEPAGE="https://codesynthesis.com/products/odb/" - -LICENSE="|| ( Code-Synthesis-ODB GPL-2 )" -SLOT="0" -IUSE="test" -RESTRICT="!test? ( test )" - -DEPEND=" - dev-cpp/libodb - dev-db/sqlite:3 -" -BDEPEND="virtual/pkgconfig" -RDEPEND="${DEPEND} - !<dev-util/build2-0.14.0 -" - -BS="${WORKDIR}/${BUILD2_P}" -S="${WORKDIR}/${MY_P}" - -b() { - local myargs=( - --jobs $(makeopts_jobs) - --verbose 3 - ) - export LD_LIBRARY_PATH="${BS}/libbutl/libbutl:${BS}/build2/libbuild2:${BS}/build2/libbuild2/bash:${BS}/build2/libbuild2/in:${BS}/build2/libbuild2/bin:${BS}/build2/libbuild2/c:${BS}/build2/libbuild2/cc:${BS}/build2/libbuild2/cxx:${BS}/build2/libbuild2/version:${BS}/libpkgconf/libpkgconf:${LD_LIBRARY_PATH}" - set -- "${BS}"/build2/build2/b-boot "${@}" "${myargs[@]}" - echo "${@}" - "${@}" || die "${@} failed" -} - -src_prepare() { - cd "${WORKDIR}" || die - for i in ${BUILD2_P}/libodb-sqlite/buildfile ${MY_P}/buildfile; do - printf 'cxx.libs += %s\ncxx.poptions += %s\n' \ - "-L${EPREFIX}/usr/$(get_libdir) $($(tc-getPKG_CONFIG) sqlite3 --libs)" \ - "$($(tc-getPKG_CONFIG) sqlite3 --cflags)" >> \ - ${i} \ - || die - done - - cd "${BS}" || die - eapply "${FILESDIR}"/build2-0.13.0_alpha0_pre20200710-nousrlocal.patch - sed \ - -e 's:libsqlite3[/]\?::' \ - -i buildfile build/bootstrap.build \ - || die - - if has_version dev-util/pkgconf; then - for i in build2/build2/buildfile build2/libbuild2/buildfile; do - printf 'cxx.libs += %s\ncxx.poptions += %s\n' \ - "$($(tc-getPKG_CONFIG) libpkgconf --libs)" \ - "$($(tc-getPKG_CONFIG) libpkgconf --cflags)" >> \ - "${i}" \ - || die - done - sed \ - -e 's:libpkgconf[/]\?::' \ - -i buildfile build/bootstrap.build \ - || die - fi - - cd "${S}" || die - default -} - -src_configure() { - pushd ${BS} || die - emake -C build2 -f bootstrap.gmake \ - CXX=$(tc-getCXX) \ - CXXFLAGS="${CXXFLAGS}" \ - LDFLAGS="${LDFLAGS}" - popd || die - - b configure \ - config.cxx="$(tc-getCXX)" \ - config.cxx.coptions="${CXXFLAGS}" \ - config.cxx.loptions="${LDFLAGS}" \ - config.c="$(tc-getCC)" \ - config.cc.coptions="${CFLAGS}" \ - config.cc.loptions="${LDFLAGS}" \ - config.bin.ar="$(tc-getAR)" \ - config.bin.ranlib="$(tc-getRANLIB)" \ - config.bin.lib=shared \ - config.install.root="${EPREFIX}"/usr \ - config.install.lib="${EPREFIX}"/usr/$(get_libdir) \ - config.install.doc="${EPREFIX}"/usr/share/doc/${PF} -} - -src_compile() { - b update-for-install - use test && b update-for-test -} - -src_test() { - b test -} - -src_install() { - b install \ - config.install.chroot="${D}" -} diff --git a/dev-cpp/libodb-sqlite/metadata.xml b/dev-cpp/libodb-sqlite/metadata.xml deleted file mode 100644 index 679e4d2d7d0a..000000000000 --- a/dev-cpp/libodb-sqlite/metadata.xml +++ /dev/null @@ -1,20 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> -<pkgmetadata> - <maintainer type="person"> - <email>gienah@gentoo.org</email> - <name>Mark Wright</name> - </maintainer> - <longdescription lang="en"> - ODB is an open-source, cross-platform, and cross-database - object-relational mapping (ORM) system for C++. It allows you - to persist C++ objects to a relational database without having - to deal with tables, columns, or SQL and without manually - writing any mapping code. ODB supports MySQL, SQLite, - PostgreSQL, Oracle, and Microsoft SQL Server relational - databases as well as C++98/03 and C++11 language standards. It - also comes with optional profiles for Boost and Qt which allow - you to seamlessly use value types, containers, and smart - pointers from these libraries in your persistent C++ classes. - </longdescription> -</pkgmetadata> diff --git a/dev-cpp/libodb/Manifest b/dev-cpp/libodb/Manifest deleted file mode 100644 index 8d523e99383f..000000000000 --- a/dev-cpp/libodb/Manifest +++ /dev/null @@ -1,4 +0,0 @@ -DIST build2-toolchain-0.13.0.tar.xz 4218940 BLAKE2B ed27290df21e5db843325b3e42c43c6934ce8f2b9b157538b921f9cfe3a7dccc3b56e261053373553cbd7fbff39e912ffe2282f812d0e6f158749ed5748d5e33 SHA512 0485872acd40beb700739b2995f76efcc9811dd52a38ee049576e45fcb5a7d7ae9c718beca8aeab9ab3f1c5e0270d3946f2335f88ec19476577c195417c2dbd4 -DIST build2-toolchain-0.14.0.tar.xz 4687616 BLAKE2B 98b2ec93c18027cbb3294650b3ad5d3dc97c1f06a6580437eac2db0297d3517cf327179f3a7c6efc611bffed5d028a034382d408ca58a976311d50a26534323c SHA512 d238a4ddfce8506b51b3b775738e818e7e0b36961a09ae0912c0c8688057b8393afebd4c0a28c6e6827c2e72ad5b82bc5e1231f798a66c2bb86b2b1e4ece73ef -DIST libodb-2.5.0-b.19.tar.gz 101239 BLAKE2B d6c32e4e5bbacafbecf9e992f91604dac4bb50359d41709b81116f09ce805cd2a3388cf14b47acc60d9b5a52867de0725c1dbbc7603dda8ffaf64589b3057ecb SHA512 0a3e70afd2c2ba573676e1a2630986215b4c8e57a004f7d2f2227f301b6c58f739397a0efc8877902baf88b93aff83c9b67c9f5b5e87cc570d64bb76b7b8f66b -DIST libodb-2.5.0-b.21.tar.gz 101775 BLAKE2B 5417c5dd4540ab6014005803ec505e9dfc8f30125f573bac045306470eb8947fe800717fc02d8af138f7dd50bb82d19f01099f28421733809ccd1858bdc0f941 SHA512 68fa486b3a6f1254fb57e480bdf8e1d008fe38f29c47d5a4648ff44dc964dd7f3ee9d07510d742db15120f272aa6152bf08ca9d7689e4b34b0f5e5910ea71c0e diff --git a/dev-cpp/libodb/files/build2-0.13.0-libcpp-undefined-symol-vtable-for-match_any_but_newline-exec.patch b/dev-cpp/libodb/files/build2-0.13.0-libcpp-undefined-symol-vtable-for-match_any_but_newline-exec.patch deleted file mode 100644 index 00b685600c8e..000000000000 --- a/dev-cpp/libodb/files/build2-0.13.0-libcpp-undefined-symol-vtable-for-match_any_but_newline-exec.patch +++ /dev/null @@ -1,38 +0,0 @@ ---- build2-toolchain-0.13.0-orig/build2/libbuild2/script/regex.cxx 2020-06-10 19:25:37.000000000 +1000 -+++ build2-toolchain-0.13.0/build2/libbuild2/script/regex.cxx 2020-08-10 14:00:05.698012838 +1000 -@@ -5,6 +5,35 @@ - - #include <libbuild2/script/regex.hxx> - -+#if defined(_LIBCPP_VERSION) -+template <> -+void -+std::__1::__match_any_but_newline<build2::script::regex::line_char>::__exec(__state& __s) const -+{ -+ if (__s.__current_ != __s.__last_) -+ { -+ switch (*__s.__current_) -+ { -+ case '\r': -+ case '\n': -+ __s.__do_ = __state::__reject; -+ __s.__node_ = nullptr; -+ break; -+ default: -+ __s.__do_ = __state::__accept_and_consume; -+ ++__s.__current_; -+ __s.__node_ = this->first(); -+ break; -+ } -+ } -+ else -+ { -+ __s.__do_ = __state::__reject; -+ __s.__node_ = nullptr; -+ } -+} -+#endif -+ - using namespace std; - - namespace build2 diff --git a/dev-cpp/libodb/files/build2-0.13.0_alpha0_pre20200710-nousrlocal.patch b/dev-cpp/libodb/files/build2-0.13.0_alpha0_pre20200710-nousrlocal.patch deleted file mode 100644 index c3717856b6b7..000000000000 --- a/dev-cpp/libodb/files/build2-0.13.0_alpha0_pre20200710-nousrlocal.patch +++ /dev/null @@ -1,52 +0,0 @@ ---- build2-toolchain-e135a3112b15c88f0601583ca068f8adea7b605d-orig/build2/libbuild2/cc/module.cxx 2020-07-10 20:12:57.000000000 +1000 -+++ build2-toolchain-e135a3112b15c88f0601583ca068f8adea7b605d/build2/libbuild2/cc/module.cxx 2020-07-14 14:33:58.939950579 +1000 -@@ -323,8 +323,6 @@ - - #ifndef _WIN32 - static const dir_path usr_inc ("/usr/include"); -- static const dir_path usr_loc_lib ("/usr/local/lib"); -- static const dir_path usr_loc_inc ("/usr/local/include"); - # ifdef __APPLE__ - static const dir_path a_usr_inc ( - "/Library/Developer/CommandLineTools/SDKs/MacOSX*.sdk/usr/include"); -@@ -486,7 +484,6 @@ - auto& ls (lib_dirs.first); - - bool ui (find (is.begin (), is.end (), usr_inc) != is.end ()); -- bool uli (find (is.begin (), is.end (), usr_loc_inc) != is.end ()); - - #ifdef __APPLE__ - // On Mac OS starting from 10.14 there is no longer /usr/include. -@@ -509,7 +506,7 @@ - // - // Is Apple's /usr/include. - // -- if (!ui && !uli) -+ if (!ui) - { - for (const dir_path& d: is) - { -@@ -521,22 +518,16 @@ - } - } - #endif -- if (ui || uli) -+ if (ui) - { -- bool ull (find (ls.begin (), ls.end (), usr_loc_lib) != ls.end ()); -- - // Many platforms don't search in /usr/local/lib by default (but do - // for headers in /usr/local/include). So add it as the last option. - // -- if (!ull && exists (usr_loc_lib, true /* ignore_error */)) -- ls.push_back (usr_loc_lib); - - // FreeBSD is at least consistent: it searches in neither. Quoting - // its wiki: "FreeBSD can't even find libraries that it installed." - // So let's help it a bit. - // -- if (!uli && exists (usr_loc_inc, true /* ignore_error */)) -- is.push_back (usr_loc_inc); - } - } - #endif diff --git a/dev-cpp/libodb/libodb-2.5.0_beta19.ebuild b/dev-cpp/libodb/libodb-2.5.0_beta19.ebuild deleted file mode 100644 index 32154f060860..000000000000 --- a/dev-cpp/libodb/libodb-2.5.0_beta19.ebuild +++ /dev/null @@ -1,112 +0,0 @@ -# Copyright 1999-2022 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -MY_P="${PN}-$(ver_cut 1-3)-b.$(ver_cut 5)" - -BUILD2_PN=build2-toolchain -BUILD2_PV="0.13.0" -BUILD2_P="${BUILD2_PN}-${BUILD2_PV}" - -inherit toolchain-funcs multiprocessing -SRC_URI="https://pkg.cppget.org/1/beta/odb/${MY_P}.tar.gz - https://download.build2.org/${BUILD2_PV}/${BUILD2_P}.tar.xz" -KEYWORDS="~amd64 ~x86" -DESCRIPTION="Common ODB runtime library" -HOMEPAGE="https://codesynthesis.com/products/odb/" - -LICENSE="|| ( Code-Synthesis-ODB GPL-2 )" -SLOT="0" -IUSE="test" -RESTRICT="!test? ( test )" - -DEPEND=" -" -BDEPEND="virtual/pkgconfig" -RDEPEND="${DEPEND} - !<dev-util/build2-0.13.0 -" - -BS="${WORKDIR}/${BUILD2_P}" -S="${WORKDIR}/${MY_P}" - -b() { - local myargs=( - --jobs $(makeopts_jobs) - --verbose 3 - ) - export LD_LIBRARY_PATH="${BS}/libbutl/libbutl:${BS}/build2/libbuild2:${BS}/build2/libbuild2/bash:${BS}/build2/libbuild2/in:${BS}/build2/libbuild2/bin:${BS}/build2/libbuild2/c:${BS}/build2/libbuild2/cc:${BS}/build2/libbuild2/cxx:${BS}/build2/libbuild2/version:${BS}/libpkgconf/libpkgconf:${LD_LIBRARY_PATH}" - set -- "${BS}"/build2/build2/b-boot "${@}" "${myargs[@]}" - echo "${@}" - "${@}" || die "${@} failed" -} - -src_prepare() { - pushd "${BS}" || die - eapply "${FILESDIR}"/build2-0.13.0_alpha0_pre20200710-nousrlocal.patch - eapply "${FILESDIR}"/build2-0.13.0-libcpp-undefined-symol-vtable-for-match_any_but_newline-exec.patch - printf 'cxx.libs += %s\ncxx.poptions += %s\n' \ - "-L${EPREFIX}/usr/$(get_libdir) $($(tc-getPKG_CONFIG) sqlite3 --libs)" \ - "$($(tc-getPKG_CONFIG) sqlite3 --cflags)" >> \ - libodb-sqlite/buildfile \ - || die - sed \ - -e 's:libsqlite3[/]\?::' \ - -i buildfile build/bootstrap.build \ - || die - - if has_version dev-util/pkgconf; then - for i in build2/build2/buildfile build2/libbuild2/buildfile; do - printf 'cxx.libs += %s\ncxx.poptions += %s\n' \ - "$($(tc-getPKG_CONFIG) libpkgconf --libs)" \ - "$($(tc-getPKG_CONFIG) libpkgconf --cflags)" >> \ - "${i}" \ - || die - done - sed \ - -e 's:libpkgconf[/]\?::' \ - -i buildfile build/bootstrap.build \ - || die - fi - popd || die - - default -} - -src_configure() { - pushd "${BS}" || die - emake -C build2 -f bootstrap.gmake \ - CXX=$(tc-getCXX) \ - CXXFLAGS="${CXXFLAGS}" \ - LDFLAGS="${LDFLAGS}" - popd || die - - b configure \ - config.cxx="$(tc-getCXX)" \ - config.cxx.coptions="${CXXFLAGS}" \ - config.cxx.loptions="${LDFLAGS}" \ - config.c="$(tc-getCC)" \ - config.cc.coptions="${CFLAGS}" \ - config.cc.loptions="${LDFLAGS}" \ - config.bin.ar="$(tc-getAR)" \ - config.bin.ranlib="$(tc-getRANLIB)" \ - config.bin.lib=shared \ - config.install.root="${EPREFIX}"/usr \ - config.install.lib="${EPREFIX}"/usr/$(get_libdir) \ - config.install.doc="${EPREFIX}"/usr/share/doc/${PF} -} - -src_compile() { - b update-for-install - use test && b update-for-test -} - -src_test() { - b test -} - -src_install() { - b install \ - config.install.chroot="${D}" -} diff --git a/dev-cpp/libodb/libodb-2.5.0_beta21.ebuild b/dev-cpp/libodb/libodb-2.5.0_beta21.ebuild deleted file mode 100644 index 3556b3eb4d7c..000000000000 --- a/dev-cpp/libodb/libodb-2.5.0_beta21.ebuild +++ /dev/null @@ -1,111 +0,0 @@ -# Copyright 1999-2022 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -MY_P="${PN}-$(ver_cut 1-3)-b.$(ver_cut 5)" - -BUILD2_PN=build2-toolchain -BUILD2_PV="0.14.0" -BUILD2_P="${BUILD2_PN}-${BUILD2_PV}" - -inherit toolchain-funcs multiprocessing -SRC_URI="https://pkg.cppget.org/1/beta/odb/${MY_P}.tar.gz - https://download.build2.org/${BUILD2_PV}/${BUILD2_P}.tar.xz" -KEYWORDS="~amd64 ~x86" -DESCRIPTION="Common ODB runtime library" -HOMEPAGE="https://codesynthesis.com/products/odb/" - -LICENSE="|| ( Code-Synthesis-ODB GPL-2 )" -SLOT="0" -IUSE="test" -RESTRICT="!test? ( test )" - -DEPEND=" -" -BDEPEND="virtual/pkgconfig" -RDEPEND="${DEPEND} - !<dev-util/build2-0.14.0 -" - -BS="${WORKDIR}/${BUILD2_P}" -S="${WORKDIR}/${MY_P}" - -b() { - local myargs=( - --jobs $(makeopts_jobs) - --verbose 3 - ) - export LD_LIBRARY_PATH="${BS}/libbutl/libbutl:${BS}/build2/libbuild2:${BS}/build2/libbuild2/bash:${BS}/build2/libbuild2/in:${BS}/build2/libbuild2/bin:${BS}/build2/libbuild2/c:${BS}/build2/libbuild2/cc:${BS}/build2/libbuild2/cxx:${BS}/build2/libbuild2/version:${BS}/libpkgconf/libpkgconf:${LD_LIBRARY_PATH}" - set -- "${BS}"/build2/build2/b-boot "${@}" "${myargs[@]}" - echo "${@}" - "${@}" || die "${@} failed" -} - -src_prepare() { - pushd "${BS}" || die - eapply "${FILESDIR}"/build2-0.13.0_alpha0_pre20200710-nousrlocal.patch - printf 'cxx.libs += %s\ncxx.poptions += %s\n' \ - "-L${EPREFIX}/usr/$(get_libdir) $($(tc-getPKG_CONFIG) sqlite3 --libs)" \ - "$($(tc-getPKG_CONFIG) sqlite3 --cflags)" >> \ - libodb-sqlite/buildfile \ - || die - sed \ - -e 's:libsqlite3[/]\?::' \ - -i buildfile build/bootstrap.build \ - || die - - if has_version dev-util/pkgconf; then - for i in build2/build2/buildfile build2/libbuild2/buildfile; do - printf 'cxx.libs += %s\ncxx.poptions += %s\n' \ - "$($(tc-getPKG_CONFIG) libpkgconf --libs)" \ - "$($(tc-getPKG_CONFIG) libpkgconf --cflags)" >> \ - "${i}" \ - || die - done - sed \ - -e 's:libpkgconf[/]\?::' \ - -i buildfile build/bootstrap.build \ - || die - fi - popd || die - - default -} - -src_configure() { - pushd "${BS}" || die - emake -C build2 -f bootstrap.gmake \ - CXX=$(tc-getCXX) \ - CXXFLAGS="${CXXFLAGS}" \ - LDFLAGS="${LDFLAGS}" - popd || die - - b configure \ - config.cxx="$(tc-getCXX)" \ - config.cxx.coptions="${CXXFLAGS}" \ - config.cxx.loptions="${LDFLAGS}" \ - config.c="$(tc-getCC)" \ - config.cc.coptions="${CFLAGS}" \ - config.cc.loptions="${LDFLAGS}" \ - config.bin.ar="$(tc-getAR)" \ - config.bin.ranlib="$(tc-getRANLIB)" \ - config.bin.lib=shared \ - config.install.root="${EPREFIX}"/usr \ - config.install.lib="${EPREFIX}"/usr/$(get_libdir) \ - config.install.doc="${EPREFIX}"/usr/share/doc/${PF} -} - -src_compile() { - b update-for-install - use test && b update-for-test -} - -src_test() { - b test -} - -src_install() { - b install \ - config.install.chroot="${D}" -} diff --git a/dev-cpp/libodb/metadata.xml b/dev-cpp/libodb/metadata.xml deleted file mode 100644 index 679e4d2d7d0a..000000000000 --- a/dev-cpp/libodb/metadata.xml +++ /dev/null @@ -1,20 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> -<pkgmetadata> - <maintainer type="person"> - <email>gienah@gentoo.org</email> - <name>Mark Wright</name> - </maintainer> - <longdescription lang="en"> - ODB is an open-source, cross-platform, and cross-database - object-relational mapping (ORM) system for C++. It allows you - to persist C++ objects to a relational database without having - to deal with tables, columns, or SQL and without manually - writing any mapping code. ODB supports MySQL, SQLite, - PostgreSQL, Oracle, and Microsoft SQL Server relational - databases as well as C++98/03 and C++11 language standards. It - also comes with optional profiles for Boost and Qt which allow - you to seamlessly use value types, containers, and smart - pointers from these libraries in your persistent C++ classes. - </longdescription> -</pkgmetadata> diff --git a/dev-cpp/libxmlpp/libxmlpp-2.42.2.ebuild b/dev-cpp/libxmlpp/libxmlpp-2.42.2.ebuild index 95baea814298..ab3e7f24e905 100644 --- a/dev-cpp/libxmlpp/libxmlpp-2.42.2.ebuild +++ b/dev-cpp/libxmlpp/libxmlpp-2.42.2.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2023 Gentoo Authors +# Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -24,7 +24,7 @@ BDEPEND=" virtual/pkgconfig doc? ( dev-cpp/mm-common - app-doc/doxygen + app-text/doxygen media-gfx/graphviz dev-libs/libxslt ) diff --git a/dev-cpp/libxmlpp/libxmlpp-5.0.3.ebuild b/dev-cpp/libxmlpp/libxmlpp-5.0.3.ebuild index 36dc8cb723d2..0cb0f12fdbdf 100644 --- a/dev-cpp/libxmlpp/libxmlpp-5.0.3.ebuild +++ b/dev-cpp/libxmlpp/libxmlpp-5.0.3.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2023 Gentoo Authors +# Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -23,7 +23,7 @@ BDEPEND=" virtual/pkgconfig doc? ( dev-cpp/mm-common - app-doc/doxygen + app-text/doxygen media-gfx/graphviz dev-libs/libxslt ) diff --git a/dev-cpp/lucene++/files/lucene++-3.0.7-boost-1.85.patch b/dev-cpp/lucene++/files/lucene++-3.0.7-boost-1.85.patch new file mode 100644 index 000000000000..05babf97a08d --- /dev/null +++ b/dev-cpp/lucene++/files/lucene++-3.0.7-boost-1.85.patch @@ -0,0 +1,64 @@ +From c18ead2b0c4aa62af01450cb12353a0baa51411f Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Bernhard=20Rosenkr=C3=A4nzer?= <bero@lindev.ch> +Date: Wed, 27 Mar 2024 12:00:18 +0100 +Subject: [PATCH] Fix build with boost 1.85.0 + +boost::filesystem::wpath has been deprecated (and typedef-ed to +boost::filesystem::path) for a long time; it is removed from boost +starting with 1.85.0-beta1. + +Use boost::filesystem::path instead. + +boost/filesystem/convenience.hpp has been removed (and was being +included without being used anyway - its only use was indirectly +pulling in boost/filesystem/directory.hpp, which is actually used). + +Include boost/filesystem/directory.hpp directly instead. +--- + src/core/store/MMapDirectory.cpp | 2 +- + src/core/util/FileUtils.cpp | 6 +++--- + 2 files changed, 4 insertions(+), 4 deletions(-) + +diff --git a/src/core/store/MMapDirectory.cpp b/src/core/store/MMapDirectory.cpp +index beac7828..46156e3a 100644 +--- a/src/core/store/MMapDirectory.cpp ++++ b/src/core/store/MMapDirectory.cpp +@@ -36,7 +36,7 @@ MMapIndexInput::MMapIndexInput(const String& path) { + bufferPosition = 0; + if (!path.empty()) { + try { +- file.open(boost::filesystem::wpath(path), _length); ++ file.open(boost::filesystem::path(path), _length); + } catch (...) { + boost::throw_exception(FileNotFoundException(path)); + } +diff --git a/src/core/util/FileUtils.cpp b/src/core/util/FileUtils.cpp +index 51508b57..d92efbb8 100644 +--- a/src/core/util/FileUtils.cpp ++++ b/src/core/util/FileUtils.cpp +@@ -5,9 +5,9 @@ + ///////////////////////////////////////////////////////////////////////////// + + #include "LuceneInc.h" +-#include <boost/filesystem/convenience.hpp> + #include <boost/filesystem/operations.hpp> + #include <boost/filesystem/path.hpp> ++#include <boost/filesystem/directory.hpp> + #include "LuceneThread.h" + #include "StringUtils.h" + #include "FileUtils.h" +@@ -128,12 +128,12 @@ String joinPath(const String& path, const String& file) { + } + + String extractPath(const String& path) { +- boost::filesystem::wpath parentPath(path.c_str()); ++ boost::filesystem::path parentPath(path.c_str()); + return parentPath.parent_path().wstring().c_str(); + } + + String extractFile(const String& path) { +- boost::filesystem::wpath fileName(path.c_str()); ++ boost::filesystem::path fileName(path.c_str()); + return fileName.filename().wstring().c_str(); + } + diff --git a/dev-cpp/lucene++/lucene++-3.0.7-r3.ebuild b/dev-cpp/lucene++/lucene++-3.0.7-r3.ebuild index 025c5aad888e..29cd859016d7 100644 --- a/dev-cpp/lucene++/lucene++-3.0.7-r3.ebuild +++ b/dev-cpp/lucene++/lucene++-3.0.7-r3.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2023 Gentoo Authors +# Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -23,7 +23,10 @@ RDEPEND="${DEPEND}" DOCS=( AUTHORS README.rst ) -PATCHES=( "${FILESDIR}/${P}-boost-1.58.patch" ) +PATCHES=( + "${FILESDIR}/${P}-boost-1.58.patch" + "${FILESDIR}/${P}-boost-1.85.patch" +) src_configure() { local mycmakeargs=( diff --git a/dev-cpp/magic_enum/Manifest b/dev-cpp/magic_enum/Manifest index f363ac357209..8e0a5a0188ca 100644 --- a/dev-cpp/magic_enum/Manifest +++ b/dev-cpp/magic_enum/Manifest @@ -1 +1,2 @@ DIST magic_enum-0.8.2.tar.gz 171915 BLAKE2B e8915aa7cafa9407d5d4ab3b6837fafde6b1cb75877c8b56f82568e6291ca317720950947b2dfc7e12ca459279ba4e809a8c5782fc04adc2d7636eddcb80122d SHA512 849c426484156faf91dde3f32f6c755c7698879b16dd83e13fb86b299b53ec9bbe4d55267581386302c8acb93d80ec044cc248371fdc8608cdd8f4ab12099f0a +DIST magic_enum-0.9.5.tar.gz 198269 BLAKE2B c3c6bbf6c5d366813dac7df5fbfc48f414cf4235d842ef3a5a2fd8f2c2857e55243b7fbf7000d598e778fc8d2d54c7d6e34f8a97fa2eaf510572bf53f17500a6 SHA512 f1b412d15e0ef624b4588adba00a18ed12eeb1f0dabc021d53a7c047b8976ecb07701b76040f47c77c75e00151619dbce1f9a75f471db04340156a39044768f3 diff --git a/dev-cpp/magic_enum/files/magic_enum-0.9.5-werror.patch b/dev-cpp/magic_enum/files/magic_enum-0.9.5-werror.patch new file mode 100644 index 000000000000..6f28fa7ef704 --- /dev/null +++ b/dev-cpp/magic_enum/files/magic_enum-0.9.5-werror.patch @@ -0,0 +1,22 @@ +--- a/example/CMakeLists.txt ++++ b/example/CMakeLists.txt +@@ -2,7 +2,7 @@ include(CheckCXXCompilerFlag) + + set(CMAKE_CXX_STANDARD 17) + if((CMAKE_CXX_COMPILER_ID MATCHES "GNU") OR (CMAKE_CXX_COMPILER_ID MATCHES "Clang")) +- set(OPTIONS -Wall -Wextra -pedantic-errors -Werror) ++ set(OPTIONS -Wall -Wextra) + elseif(CMAKE_CXX_COMPILER_ID MATCHES "MSVC") + set(OPTIONS /W4 /WX) + if(HAS_PERMISSIVE_FLAG) +--- a/test/CMakeLists.txt ++++ b/test/CMakeLists.txt +@@ -12,7 +12,7 @@ if(CMAKE_CXX_COMPILER_ID MATCHES "MSVC") + check_cxx_compiler_flag(/std:c++latest HAS_CPPLATEST_FLAG) + elseif(CMAKE_CXX_COMPILER_ID MATCHES "GNU|Clang") + set(CMAKE_VERBOSE_MAKEFILE ON) +- set(OPTIONS -Wall -Wextra -pedantic-errors -Werror) ++ set(OPTIONS -Wall -Wextra) + + check_cxx_compiler_flag(-std=c++20 HAS_CPP20_FLAG) + check_cxx_compiler_flag(-std=c++23 HAS_CPP23_FLAG) diff --git a/dev-cpp/magic_enum/magic_enum-0.9.5.ebuild b/dev-cpp/magic_enum/magic_enum-0.9.5.ebuild new file mode 100644 index 000000000000..1077c351e165 --- /dev/null +++ b/dev-cpp/magic_enum/magic_enum-0.9.5.ebuild @@ -0,0 +1,31 @@ +# Copyright 2023-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +# As of 0.8.2, it has meson, but only for subproject use(?) +# Doesn't install anything. +inherit cmake + +DESCRIPTION="Static reflection for enums in header-only C++" +HOMEPAGE="https://github.com/Neargye/magic_enum" +SRC_URI="https://github.com/Neargye/magic_enum/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="amd64 arm arm64 ~loong ppc ppc64 ~riscv x86" +IUSE="test" +RESTRICT="!test? ( test )" + +PATCHES=( + "${FILESDIR}"/${PN}-0.9.5-werror.patch +) + +src_configure() { + local mycmakeargs=( + -DMAGIC_ENUM_OPT_BUILD_TESTS=$(usex test) + -DMAGIC_ENUM_OPT_INSTALL=ON + ) + + cmake_src_configure +} diff --git a/dev-cpp/mm-common/Manifest b/dev-cpp/mm-common/Manifest index 7c99b5fd1186..0185f92429a6 100644 --- a/dev-cpp/mm-common/Manifest +++ b/dev-cpp/mm-common/Manifest @@ -1 +1 @@ -DIST mm-common-1.0.5.tar.xz 290608 BLAKE2B fcd698e8122fbcbcefcc6cce9460216cb3c3eabb17b309a28b964c9cd99b1329f936070f54b888cf0712e4590b8fe99394a110997ff023ff07dd7a30e55d771b SHA512 bf681b4d63d5bf531a9315b0c8841e3815af276828d1828a3eb04dcb805cbbfbaac182f79f5e48688a7eef8666975b9079144e320093e4ee3addff48813e61ad +DIST mm-common-1.0.6.tar.xz 287832 BLAKE2B b633f37a470b558c16ce4a260384913ddc64df2ac94e25e2b7b05300c5c7b51826477bff655154572bd7eafe583b4cb056e7c9dee3d3e699dbf200490da0591f SHA512 2141ce9dabdae153e5708b09d30e7917182888e521ff0c2a4f85c7ec2dd86b2c8753e0513bf9c9f9a00d4e579173ffa859a3efd006e706fdfa2f33b0e77af48b diff --git a/dev-cpp/mm-common/mm-common-1.0.5.ebuild b/dev-cpp/mm-common/mm-common-1.0.6.ebuild index 59e4125e9a58..02d3cd018b0f 100644 --- a/dev-cpp/mm-common/mm-common-1.0.5.ebuild +++ b/dev-cpp/mm-common/mm-common-1.0.6.ebuild @@ -1,13 +1,13 @@ -# Copyright 1999-2023 Gentoo Authors +# Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 -PYTHON_COMPAT=( python3_{9..11} ) +PYTHON_COMPAT=( python3_{10..12} ) inherit gnome.org python-any-r1 meson DESCRIPTION="Build infrastructure and utilities for GNOME C++ bindings" -HOMEPAGE="https://www.gtkmm.org/" +HOMEPAGE="https://www.gtkmm.org/ https://gitlab.gnome.org/GNOME/mm-common" LICENSE="GPL-2" SLOT="0" diff --git a/dev-cpp/ms-gsl/ms-gsl-4.0.0.ebuild b/dev-cpp/ms-gsl/ms-gsl-4.0.0.ebuild index f4bb2efed57c..f5b298484aa1 100644 --- a/dev-cpp/ms-gsl/ms-gsl-4.0.0.ebuild +++ b/dev-cpp/ms-gsl/ms-gsl-4.0.0.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2022 Gentoo Authors +# Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -13,7 +13,7 @@ S="${WORKDIR}/GSL-${PV}" LICENSE="MIT" SLOT="0" -KEYWORDS="amd64 arm arm64 ppc ppc64 ~riscv x86" +KEYWORDS="amd64 arm arm64 ~loong ppc ppc64 ~riscv x86" IUSE="test" RESTRICT="!test? ( test )" diff --git a/dev-cpp/msgpack-cxx/msgpack-cxx-5.0.0.ebuild b/dev-cpp/msgpack-cxx/msgpack-cxx-5.0.0.ebuild index 115ef8007e94..caf19cd7e8f6 100644 --- a/dev-cpp/msgpack-cxx/msgpack-cxx-5.0.0.ebuild +++ b/dev-cpp/msgpack-cxx/msgpack-cxx-5.0.0.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2023 Gentoo Authors +# Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -21,7 +21,7 @@ RESTRICT="!test? ( test )" RDEPEND="boost? ( dev-libs/boost[context] ) !<dev-libs/msgpack-5.0.0" DEPEND="${RDEPEND}" -BDEPEND="doc? ( app-doc/doxygen[dot] ) +BDEPEND="doc? ( app-text/doxygen[dot] ) test? ( sys-libs/zlib )" src_configure() { diff --git a/dev-cpp/msgpack-cxx/msgpack-cxx-6.0.0.ebuild b/dev-cpp/msgpack-cxx/msgpack-cxx-6.0.0.ebuild index d28443c3f1fa..35b5204d39c0 100644 --- a/dev-cpp/msgpack-cxx/msgpack-cxx-6.0.0.ebuild +++ b/dev-cpp/msgpack-cxx/msgpack-cxx-6.0.0.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2023 Gentoo Authors +# Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -21,7 +21,7 @@ RESTRICT="!test? ( test )" RDEPEND="boost? ( dev-libs/boost[context] ) !<dev-libs/msgpack-5.0.0" DEPEND="${RDEPEND}" -BDEPEND="doc? ( app-doc/doxygen[dot] ) +BDEPEND="doc? ( app-text/doxygen[dot] ) test? ( sys-libs/zlib )" PATCHES=( diff --git a/dev-cpp/msgpack-cxx/msgpack-cxx-6.1.0.ebuild b/dev-cpp/msgpack-cxx/msgpack-cxx-6.1.0.ebuild index 8e3609f7d111..caf19cd7e8f6 100644 --- a/dev-cpp/msgpack-cxx/msgpack-cxx-6.1.0.ebuild +++ b/dev-cpp/msgpack-cxx/msgpack-cxx-6.1.0.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2023 Gentoo Authors +# Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -11,7 +11,7 @@ SRC_URI="https://github.com/msgpack/msgpack-c/releases/download/cpp-${PV}/${P}.t LICENSE="Boost-1.0" SLOT="0" -KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~x86 ~amd64-linux ~x86-linux ~x64-macos" +KEYWORDS="amd64 ~arm arm64 ~riscv x86 ~amd64-linux ~x86-linux ~x64-macos" IUSE="+boost doc examples test" REQUIRED_USE="test? ( boost )" @@ -21,7 +21,7 @@ RESTRICT="!test? ( test )" RDEPEND="boost? ( dev-libs/boost[context] ) !<dev-libs/msgpack-5.0.0" DEPEND="${RDEPEND}" -BDEPEND="doc? ( app-doc/doxygen[dot] ) +BDEPEND="doc? ( app-text/doxygen[dot] ) test? ( sys-libs/zlib )" src_configure() { diff --git a/dev-cpp/nlohmann_json/Manifest b/dev-cpp/nlohmann_json/Manifest index bb6d9f16263d..f1bdb358c437 100644 --- a/dev-cpp/nlohmann_json/Manifest +++ b/dev-cpp/nlohmann_json/Manifest @@ -1,4 +1,5 @@ DIST nlohmann_json-3.10.2.tar.gz 7054440 BLAKE2B e7da213fb75d528b1f5425822f5b598e882f232a67670aaae2d8f89c76e72ee23fa3344d1acfef2b0338a6a423d17b231b7e047ff064c984c2ec7783b721a22c SHA512 9a399dfc8aab19c9fc12470e8087895b1c05d48a9bcc731b483d8670c361cffb2adc3ccced822b7f17255e88387a441d619c4e1f1afeb702d1d035ad24fe22ed DIST nlohmann_json-3.11.2.tar.gz 8097673 BLAKE2B ebb67966739a330e0cfb8495a6eb58e87732655856a6d4e843072ed5e485cafbb8a75d8803859d0365b814deda7429448ecc473de414de4b23d3a3c455dc2511 SHA512 70097c9bcd7a91254acbd41b8b68a6aaa371fc2dd7011f472917f69f1e2d2986155a0339dad791699d542e4a3be44dc49ae72ff73d0ee0ea4b34183296ce19a0 +DIST nlohmann_json-3.11.3.tar.gz 8053705 BLAKE2B 872f67e44d3003c9d8c9e5ca4674a357883d7341e3943a7694812af8c853fe5da65fbbe0cc986b634c7cbca12082a064fcf8e40d4d06e6b990f031ea47c21db5 SHA512 7df19b621de34f08d5d5c0a25e8225975980841ef2e48536abcf22526ed7fb99f88ad954a2cb823115db59ccc88d1dbe74fe6c281b5644b976b33fb78db9d717 DIST nlohmann_json-testdata-3.0.0.tar.gz 112348454 BLAKE2B f0a47b41805bf1426f612e9a82efea2a3e5b1c15740c1c531d859e60dc5daeb85209b4fe363fd8fb84e3bbf01a2578c74538ba3e769726494047979f5a4d468d SHA512 d9af8419b837c592ec7519cd5772651c761078a9c43cf2a309cee55c323aee0df0c233fb58a07d5ee2e77492ac8b16398de234b387eae037a60e3c9ba5b08891 DIST nlohmann_json-testdata-3.1.0.tar.gz 115036393 BLAKE2B 809be0728a0b9d007fcc752911bdf6f7e548d6e3ec59871ea2b16d87d8248ca4dd2f681a1d0f82c618463294188ad41d6d965b8bdc39c70fdcf4b939d4121e9c SHA512 db6c411b37f2154f5dd1ed90f4e8fa0907f4a736cd0ff79943bcacf9da422285ff142bb6a7dc6022b236090083166ac1ab197be3f480d8dc50b26a91a9477821 diff --git a/dev-cpp/nlohmann_json/nlohmann_json-3.10.2.ebuild b/dev-cpp/nlohmann_json/nlohmann_json-3.10.2.ebuild index f7a64254bd24..6e651fc5dfcb 100644 --- a/dev-cpp/nlohmann_json/nlohmann_json-3.10.2.ebuild +++ b/dev-cpp/nlohmann_json/nlohmann_json-3.10.2.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2023 Gentoo Authors +# Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -24,7 +24,7 @@ IUSE="doc test" # Tests only just added, large test suite, majority pass RESTRICT="test" -BDEPEND="doc? ( app-doc/doxygen )" +BDEPEND="doc? ( app-text/doxygen )" DOCS=( ChangeLog.md README.md ) diff --git a/dev-cpp/nlohmann_json/nlohmann_json-3.11.3.ebuild b/dev-cpp/nlohmann_json/nlohmann_json-3.11.3.ebuild new file mode 100644 index 000000000000..e9c1e4431fb6 --- /dev/null +++ b/dev-cpp/nlohmann_json/nlohmann_json-3.11.3.ebuild @@ -0,0 +1,66 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +#DOCS_BUILDER="mkdocs" +# Needs unpackaged plantuml-markdown too +# ... but plantuml (Python bindings anyway) need network access to generate bits at runtime. +#DOCS_DEPEND="dev-python/mkdocs-material-extensions dev-python/mkdocs-minify-plugin" +#DOCS_DIR="doc/mkdocs" +inherit cmake + +# Check https://github.com/nlohmann/json/blob/develop/cmake/download_test_data.cmake to find test archive version +TEST_VERSION="3.1.0" +DESCRIPTION="JSON for Modern C++" +HOMEPAGE="https://github.com/nlohmann/json https://nlohmann.github.io/json/" +SRC_URI=" + https://github.com/nlohmann/json/archive/v${PV}.tar.gz -> ${P}.tar.gz + test? ( https://github.com/nlohmann/json_test_data/archive/v${TEST_VERSION}.tar.gz -> ${PN}-testdata-${TEST_VERSION}.tar.gz ) +" +S="${WORKDIR}/json-${PV}" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86" +IUSE="test" +RESTRICT="!test? ( test )" + +DOCS=( ChangeLog.md README.md ) + +src_prepare() { + if use test ; then + ln -s "${WORKDIR}"/json_test_data-${TEST_VERSION} "${S}"/json_test_data || die + fi + + cmake_src_prepare +} + +src_configure() { + # Tests are built by default so we can't group the test logic below + local mycmakeargs=( + -DJSON_MultipleHeaders=ON + -DJSON_BuildTests=$(usex test) + ) + + # Define test data directory here to avoid unused var QA warning, bug #747826 + use test && mycmakeargs+=( -DJSON_TestDataDirectory="${S}"/json_test_data ) + + cmake_src_configure +} + +src_test() { + cd "${BUILD_DIR}"/tests || die + + # git_required: + # Skip certain tests needing git per upstream + # https://github.com/nlohmann/json/issues/2189 + # + # cmake_fetch_content_configure, cmake_fetch_content2_configure: + # Needs network (bug #865027, bug #865105) + local myctestargs=( + -E "(git_required|cmake_fetch_content_configure|cmake_fetch_content2_configure|cmake_fetch_content_build|cmake_fetch_content2_build)" + ) + + cmake_src_test +} diff --git a/dev-cpp/opentelemetry-cpp/opentelemetry-cpp-1.6.0.ebuild b/dev-cpp/opentelemetry-cpp/opentelemetry-cpp-1.6.0.ebuild index 44c3c51a3682..df41ba0935e1 100644 --- a/dev-cpp/opentelemetry-cpp/opentelemetry-cpp-1.6.0.ebuild +++ b/dev-cpp/opentelemetry-cpp/opentelemetry-cpp-1.6.0.ebuild @@ -1,4 +1,4 @@ -# Copyright 2022-2023 Gentoo Authors +# Copyright 2022-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -14,7 +14,7 @@ SRC_URI="https://github.com/open-telemetry/${PN}/archive/refs/tags/v${PV}.tar.gz LICENSE="Apache-2.0" SLOT="0" -KEYWORDS="amd64 ~arm64 ~ppc64" +KEYWORDS="amd64 ~arm64 ppc64" IUSE="+jaeger prometheus test" RDEPEND=" diff --git a/dev-cpp/pangomm/pangomm-2.46.3.ebuild b/dev-cpp/pangomm/pangomm-2.46.3.ebuild index 6adc2495e0f7..32036cc5e7bc 100644 --- a/dev-cpp/pangomm/pangomm-2.46.3.ebuild +++ b/dev-cpp/pangomm/pangomm-2.46.3.ebuild @@ -1,9 +1,9 @@ -# Copyright 1999-2023 Gentoo Authors +# Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 -PYTHON_COMPAT=( python3_{9..11} ) +PYTHON_COMPAT=( python3_{10..12} ) inherit gnome.org meson-multilib python-any-r1 DESCRIPTION="C++ interface for pango" @@ -25,7 +25,7 @@ BDEPEND=" virtual/pkgconfig gtk-doc? ( >=dev-cpp/mm-common-1.0.4 - app-doc/doxygen[dot] + app-text/doxygen[dot] dev-libs/libxslt ) ${PYTHON_DEPS} diff --git a/dev-cpp/pangomm/pangomm-2.50.1.ebuild b/dev-cpp/pangomm/pangomm-2.50.1.ebuild index 7efb68a4b3ce..e8414b90204c 100644 --- a/dev-cpp/pangomm/pangomm-2.50.1.ebuild +++ b/dev-cpp/pangomm/pangomm-2.50.1.ebuild @@ -1,9 +1,9 @@ -# Copyright 1999-2023 Gentoo Authors +# Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 -PYTHON_COMPAT=( python3_{9..11} ) +PYTHON_COMPAT=( python3_{10..12} ) inherit gnome.org meson-multilib python-any-r1 DESCRIPTION="C++ interface for pango" @@ -25,7 +25,7 @@ BDEPEND=" virtual/pkgconfig gtk-doc? ( >=dev-cpp/mm-common-1.0.4 - app-doc/doxygen[dot] + app-text/doxygen[dot] dev-libs/libxslt ) ${PYTHON_DEPS} diff --git a/dev-cpp/prometheus-cpp/Manifest b/dev-cpp/prometheus-cpp/Manifest index 8db566135d1c..f0308f8c5d76 100644 --- a/dev-cpp/prometheus-cpp/Manifest +++ b/dev-cpp/prometheus-cpp/Manifest @@ -1 +1,2 @@ DIST prometheus-cpp-1.1.0.tar.gz 58489 BLAKE2B af24fbc34e79c04ec80dbf4430de5a2cf0e66b7de4c06f9b37e6bc3ab7f868b948db486a4f962c7986748eff1247eb0119ad5b581ac01129ce6bfa10f7b53ec7 SHA512 0715a0eb8a7f7065e01b8039c261eaa98a77a8d035783ccef9333fb06eecd75599959807ec157514c60ed435841bcd0cdd8cd295bcf7cd88e21e1099ba12be89 +DIST prometheus-cpp-1.2.4.tar.gz 73953 BLAKE2B 75ca7b8c88408b54ab806dcc8ecaa48c9d29a7cbb76fe786fc76e114fa0bfcacaced7d899f8aff24060c9cbb4836d144b25fca2ac45438982789bcf881fade67 SHA512 8c15492054189b736e502258c30aaaae0fac3c9ea61907260e6e3cd29fe4077451f9e49fd580508aa6e21691209545d9cf87011be5b046fa097a53a133167553 diff --git a/dev-cpp/prometheus-cpp/metadata.xml b/dev-cpp/prometheus-cpp/metadata.xml index b25065cee303..af77f88bef95 100644 --- a/dev-cpp/prometheus-cpp/metadata.xml +++ b/dev-cpp/prometheus-cpp/metadata.xml @@ -8,10 +8,7 @@ be collected by Prometheus, but other push/pull collections can be added as plugins. </longdescription> - <maintainer type="person"> - <email>marecki@gentoo.org</email> - <name>Marek Szuba</name> - </maintainer> + <!-- maintainer-needed --> <upstream> <bugs-to>https://github.com/jupp0r/prometheus-cpp/issues</bugs-to> <doc lang="en">https://jupp0r.github.io/prometheus-cpp/</doc> diff --git a/dev-cpp/prometheus-cpp/prometheus-cpp-1.2.4.ebuild b/dev-cpp/prometheus-cpp/prometheus-cpp-1.2.4.ebuild new file mode 100644 index 000000000000..c63b8b7eb353 --- /dev/null +++ b/dev-cpp/prometheus-cpp/prometheus-cpp-1.2.4.ebuild @@ -0,0 +1,41 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit cmake + +DESCRIPTION="Prometheus Client Library for Modern C++" +HOMEPAGE="https://github.com/jupp0r/prometheus-cpp" +SRC_URI="https://github.com/jupp0r/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~amd64 ~riscv ~x86" +IUSE="test zlib" + +RESTRICT="!test? ( test )" + +RDEPEND="net-misc/curl + sys-libs/zlib + www-servers/civetweb[cxx]" +DEPEND="${RDEPEND} + test? ( + dev-cpp/benchmark + dev-cpp/gtest + )" +BDEPEND="virtual/pkgconfig" + +src_configure() { + local mycmakeargs=( + -DENABLE_PULL=yes + -DENABLE_PUSH=yes + -DENABLE_COMPRESSION=$(usex zlib) + -DENABLE_TESTING=$(usex test) + -DUSE_THIRDPARTY_LIBRARIES=OFF + -DGENERATE_PKGCONFIG=ON + -DRUN_IWYU=OFF + ) + + cmake_src_configure +} diff --git a/dev-cpp/pystring/pystring-1.1.3-r1.ebuild b/dev-cpp/pystring/pystring-1.1.3-r1.ebuild index f521e06ce11f..28892a5737ca 100644 --- a/dev-cpp/pystring/pystring-1.1.3-r1.ebuild +++ b/dev-cpp/pystring/pystring-1.1.3-r1.ebuild @@ -1,4 +1,4 @@ -# Copyright 2020-2023 Gentoo Authors +# Copyright 2020-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 @@ -19,7 +19,7 @@ fi LICENSE="BSD" SLOT="0" -BDEPEND="sys-devel/libtool" +BDEPEND="dev-build/libtool" PATCHES=( # Patch to convert the project into cmake. Taken from: diff --git a/dev-cpp/range-v3/range-v3-0.12.0.ebuild b/dev-cpp/range-v3/range-v3-0.12.0.ebuild index 70c7b75d70a8..fd75ecd9247b 100644 --- a/dev-cpp/range-v3/range-v3-0.12.0.ebuild +++ b/dev-cpp/range-v3/range-v3-0.12.0.ebuild @@ -1,4 +1,4 @@ -# Copyright 2020-2022 Gentoo Authors +# Copyright 2020-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -11,7 +11,7 @@ SRC_URI="https://github.com/ericniebler/${PN}/archive/${PV}.tar.gz -> ${P}.tar.g LICENSE="Boost-1.0" SLOT="0" -KEYWORDS="amd64 ~arm64 ~ppc64 ~riscv ~x86" +KEYWORDS="amd64 ~arm64 ~loong ~ppc64 ~riscv x86" IUSE="test" RESTRICT="!test? ( test )" diff --git a/dev-cpp/rapidfuzz-cpp/Manifest b/dev-cpp/rapidfuzz-cpp/Manifest index f7816d3b8aea..ab2c79c90d7e 100644 --- a/dev-cpp/rapidfuzz-cpp/Manifest +++ b/dev-cpp/rapidfuzz-cpp/Manifest @@ -1,2 +1 @@ -DIST rapidfuzz-cpp-2.1.1.gh.tar.gz 294473 BLAKE2B 71dc85cc8b5b11224ee26b3be117869e26c4fe43a780baa5629282675c2a9ca523deb22fbe58c15f265b53960fa0a8310b99ecd2fc412b2dbaacd3983dd69ab9 SHA512 802f465a1e3e21e6417c40e77e241a4e50a996f6aa70739f25cee228490fff4f2b366d6029beea9639769493f63520e5242665a91a6f105ebf1feb377a3a2e50 -DIST rapidfuzz-cpp-2.2.3.gh.tar.gz 299404 BLAKE2B e45cf997cb6454aae781cb67663bcc12a0b507efd88b9293a4ec3424fb67ff713983e77041808488abad3d710a5a81aa45295f838908a8fdbad1f980a8eeb00f SHA512 5ef4833334ccc3309d43ae4a2644eb57fa2a382b797c791b150b8d78451d7e6d57a8af23d0b7645eecfe539a128d2d8585e2a7380b6772b23cf8fd71d6a7f38b +DIST rapidfuzz-cpp-3.0.5.gh.tar.gz 309782 BLAKE2B fd7547e5c40696c217c8ea2aa98fb83b98606cde7439a5d51c80b4de30002896d9e95365d3c6ac56c32d8a8432c94ce2050b856a7e850a3f37035c5d0ece795f SHA512 4e0a7e28a54612fb11eb331449aa4fdfde1fbd2bf59b295f9eb68903cd647a639fa04d71aa7a8c88ddb7be6646cd3d0f1f5400eb53644b0ae96590037e74f771 diff --git a/dev-cpp/rapidfuzz-cpp/metadata.xml b/dev-cpp/rapidfuzz-cpp/metadata.xml index b69c1750aa36..3503d414e046 100644 --- a/dev-cpp/rapidfuzz-cpp/metadata.xml +++ b/dev-cpp/rapidfuzz-cpp/metadata.xml @@ -6,6 +6,6 @@ <name>Michał Górny</name> </maintainer> <upstream> - <remote-id type="github">maxbachmann/rapidfuzz-cpp</remote-id> + <remote-id type="github">rapidfuzz/rapidfuzz-cpp</remote-id> </upstream> </pkgmetadata> diff --git a/dev-cpp/rapidfuzz-cpp/rapidfuzz-cpp-2.2.3.ebuild b/dev-cpp/rapidfuzz-cpp/rapidfuzz-cpp-2.2.3.ebuild deleted file mode 100644 index 63078e0eec4c..000000000000 --- a/dev-cpp/rapidfuzz-cpp/rapidfuzz-cpp-2.2.3.ebuild +++ /dev/null @@ -1,32 +0,0 @@ -# Copyright 2022-2023 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit cmake - -DESCRIPTION="Rapid fuzzy string matching in C++" -HOMEPAGE="https://github.com/maxbachmann/rapidfuzz-cpp/" -SRC_URI=" - https://github.com/maxbachmann/rapidfuzz-cpp/archive/v${PV}.tar.gz - -> ${P}.gh.tar.gz -" - -LICENSE="MIT" -SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc x86" -IUSE="test" -RESTRICT="!test? ( test )" - -BDEPEND=" - test? ( - >=dev-cpp/catch-3 - ) -" - -src_configure() { - local mycmakeargs=( - -DRAPIDFUZZ_BUILD_TESTING=$(usex test) - ) - cmake_src_configure -} diff --git a/dev-cpp/rapidfuzz-cpp/rapidfuzz-cpp-2.1.1.ebuild b/dev-cpp/rapidfuzz-cpp/rapidfuzz-cpp-3.0.5.ebuild index d2237c7d8073..e9c6bbefe8e2 100644 --- a/dev-cpp/rapidfuzz-cpp/rapidfuzz-cpp-2.1.1.ebuild +++ b/dev-cpp/rapidfuzz-cpp/rapidfuzz-cpp-3.0.5.ebuild @@ -1,4 +1,4 @@ -# Copyright 2022-2023 Gentoo Authors +# Copyright 2022-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -6,9 +6,9 @@ EAPI=8 inherit cmake DESCRIPTION="Rapid fuzzy string matching in C++" -HOMEPAGE="https://github.com/maxbachmann/rapidfuzz-cpp/" +HOMEPAGE="https://github.com/rapidfuzz/rapidfuzz-cpp/" SRC_URI=" - https://github.com/maxbachmann/rapidfuzz-cpp/archive/v${PV}.tar.gz + https://github.com/rapidfuzz/rapidfuzz-cpp/archive/v${PV}.tar.gz -> ${P}.gh.tar.gz " diff --git a/dev-cpp/rapidyaml/Manifest b/dev-cpp/rapidyaml/Manifest index d0fa05a40a49..0e0a6986813e 100644 --- a/dev-cpp/rapidyaml/Manifest +++ b/dev-cpp/rapidyaml/Manifest @@ -1,4 +1,4 @@ -DIST rapidyaml-0.5.0-src.tgz 7273101 BLAKE2B b15033ae028c4704178dc4a017b5c1e858288d4713a2b96f5cfc19583e13b62031327f10ab045eec007e427eb7d71ba0e7dde2d743a81c3da0e20bc68aea47f5 SHA512 d7d65e759c466aa4cceed4d02d2c84284b205812be1de10495eef663a0b7d4adb7d8fe5f731f0f9ecba04d5d93cb1af760a83eb6d0630d25ee162f0c36b38e8a -DIST rapidyaml-c4fs-0130061b804ae2af0d6cd5919275d552eb1f2414.tar.gz 22615 BLAKE2B b774723d35658ffb56b187428089bdf2b5bebd470d0be3122bd1f99248d2537d4b31649c5e8b133b2cb28e8ec97a428a325701830708238878da07426fe7853b SHA512 d18be64060779af1b19ccafbbf26bc6c437ff5ed074bef5919ebef55bb9ad36a7abb183a99a86bada0447b15b8386c991ac9ab975d63aab77c3a57801358bf96 -DIST rapidyaml-c4log-00066ad7f624556f066f3d60766a2c33aeb3c6f0.tar.gz 11978 BLAKE2B 554240c63114f1c0bd22295a39b683a59981f3e80352dce7aebe3af39dd6d1211c2c8df9f84f3f8c30775622e242a95c3a50572b30b557c269d3d9eb2ecca3de SHA512 9399e55e116b87b4ee4583e32c7a72bc3f7fd579fda69c515a5d0df5fc065246aaa1587ed937e7c6eb6df417810284496bb2eafa0879800cecbe17ecdbef5ae9 -DIST rapidyaml-yaml-test-suite-6e6c296ae9c9d2d5c4134b4b64d01b29ac19ff6f.tar.gz 99765 BLAKE2B d55a605623c988a4c58daa6dd155980129ffefe86570d55b1ce2514dfa77c352e0467b12e95d6e2bd38cc0454f0b30c3109c088841ddbe423b8bbb7d9e41bc9b SHA512 4ab0e52369d085e696196ef1aab8ecb4f0218e48e8ce33c4ecc863942639141601cb1c83b41027eceddc20a6a4cebfc51abcb83779007e890b87d79c76394946 +DIST c4fs-0ee9c03d0ef3a7f12db6cb03570aa7606f12ba1b.tar.gz 25156 BLAKE2B 864a6a75c5ebe15d73fb6ffa5a83cd6448f37a0f465bf3992fc5bc1000f06d6e945c99b9a4f8f3625499c47ea719a49dd340d11e37c11ed759d1adcb1ea585be SHA512 58149c055b1f87abb12a01b042600a2927bfe7afeb878ca4523b658b0736aff6f752cd579c748cf9d4c85b4229ea50a1e70d633f85f9041fe157765286fa5233 +DIST c4log-457a2997e8ea26ea2a659b8152621f7fead1eb48.tar.gz 12056 BLAKE2B f0dc357c8beb28b2fa73e77f85918c3285be08a6e6c750317b7babddfc2372532d56b29a01adbc2284b7e850aeb2a45f1b24599acca0d0feccf5d60c00432627 SHA512 f728b34c000bbd58ad02d003697de1185feffc1a349600153a7d851f8dac28b88433e97c81dcb14769a74faa9e3d86b297536e8764d6e00b886f11bb2343518f +DIST rapidyaml-0.6.0-src.tgz 7384217 BLAKE2B b81f797dcdac10368231256765bff08fa9d911550b620c286a657b41e74e589701a41d4f6e33317a7149fd1a2aabbad6bac6c66c1e494db053251e20bc5e505c SHA512 6637aa970919d76339ca7d3d131032ca97720650e275f7e285c0fa46671daf8638695c4db6ccb06f93671171110c445781a7f2c8e37f6d9a4951d6e649f60cde +DIST yaml-test-suite-6e6c296ae9c9d2d5c4134b4b64d01b29ac19ff6f.tar.gz 99765 BLAKE2B d55a605623c988a4c58daa6dd155980129ffefe86570d55b1ce2514dfa77c352e0467b12e95d6e2bd38cc0454f0b30c3109c088841ddbe423b8bbb7d9e41bc9b SHA512 4ab0e52369d085e696196ef1aab8ecb4f0218e48e8ce33c4ecc863942639141601cb1c83b41027eceddc20a6a4cebfc51abcb83779007e890b87d79c76394946 diff --git a/dev-cpp/rapidyaml/files/rapidyaml-0.3.0-libdir.patch b/dev-cpp/rapidyaml/files/rapidyaml-0.3.0-libdir.patch deleted file mode 100644 index a10fbc49585e..000000000000 --- a/dev-cpp/rapidyaml/files/rapidyaml-0.3.0-libdir.patch +++ /dev/null @@ -1,9 +0,0 @@ ---- a/ext/c4core/cmake/c4Project.cmake -+++ b/ext/c4core/cmake/c4Project.cmake -@@ -2643,4 +2643,4 @@ - set(_RUNTIME_INSTALL_DIR bin/) -- set(_ARCHIVE_INSTALL_DIR lib/) -- set(_LIBRARY_INSTALL_DIR lib/) # TODO on Windows, ARCHIVE and LIBRARY dirs must be different to prevent name clashes -+ set(_ARCHIVE_INSTALL_DIR lib/ CACHE STRING "") -+ set(_LIBRARY_INSTALL_DIR lib/ CACHE STRING "") - set(_INCLUDE_INSTALL_DIR include/) diff --git a/dev-cpp/rapidyaml/files/rapidyaml-0.3.0-system-gtest.patch b/dev-cpp/rapidyaml/files/rapidyaml-0.3.0-system-gtest.patch deleted file mode 100644 index 0e404f09d781..000000000000 --- a/dev-cpp/rapidyaml/files/rapidyaml-0.3.0-system-gtest.patch +++ /dev/null @@ -1,8 +0,0 @@ ---- a/ext/c4core/cmake/c4Project.cmake -+++ b/ext/c4core/cmake/c4Project.cmake -@@ -2762,2 +2762,5 @@ - if(NOT TARGET gtest) -+ find_package(GTest REQUIRED) -+ endif() -+ if(FALSE) - c4_import_remote_proj(gtest ${CMAKE_CURRENT_BINARY_DIR}/ext/gtest diff --git a/dev-cpp/rapidyaml/files/rapidyaml-0.4.0-no-download.patch b/dev-cpp/rapidyaml/files/rapidyaml-0.6.0-no-download.patch index 51fb56e7ed6f..5af2a87267a3 100644 --- a/dev-cpp/rapidyaml/files/rapidyaml-0.4.0-no-download.patch +++ b/dev-cpp/rapidyaml/files/rapidyaml-0.6.0-no-download.patch @@ -1,3 +1,15 @@ +The release tarball does not include requirements for tests and tries +to fetch them. Override so can handle with SRC_URI+DEPEND instead. +--- a/ext/c4core/cmake/c4Project.cmake ++++ b/ext/c4core/cmake/c4Project.cmake +@@ -2902,4 +2902,7 @@ + c4_log("testing requires googletest") + if(NOT TARGET gtest) ++ find_package(GTest REQUIRED) ++ endif() ++ if(FALSE) + # support for old gcc-4.8 and 4.9 + if((CMAKE_CXX_COMPILER_ID STREQUAL "GNU") AND --- a/ext/testbm.cmake +++ b/ext/testbm.cmake @@ -1,4 +1,2 @@ @@ -8,7 +20,8 @@ +c4_require_subproject(c4fs SUBDIRECTORY ext/c4fs) --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt -@@ -155,10 +155,6 @@ +@@ -158,12 +158,8 @@ + set(ed ${CMAKE_CURRENT_BINARY_DIR}/subprojects) # casual ryml extern dir (these projects are not part of ryml and are downloaded and compiled on the fly) - c4_require_subproject(c4log REMOTE - GIT_REPOSITORY https://github.com/biojppm/c4log @@ -21,3 +34,4 @@ - GIT_TAG data-2022-01-17) + set(suite_dir ${CMAKE_SOURCE_DIR}/ext/yaml-test-suite) if(NOT EXISTS ${suite_dir}/229Q) + c4_err("cannot find yaml-test-suite at ${suite_dir} -- was there an error downloading the project?") diff --git a/dev-cpp/rapidyaml/rapidyaml-0.5.0.ebuild b/dev-cpp/rapidyaml/rapidyaml-0.6.0.ebuild index bfb67241cda1..b96202b0016e 100644 --- a/dev-cpp/rapidyaml/rapidyaml-0.5.0.ebuild +++ b/dev-cpp/rapidyaml/rapidyaml-0.6.0.ebuild @@ -1,4 +1,4 @@ -# Copyright 2022-2023 Gentoo Authors +# Copyright 2022-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -6,8 +6,8 @@ EAPI=8 inherit cmake # see no-download.patch, match with release date if "master" -HASH_C4FS=0130061b804ae2af0d6cd5919275d552eb1f2414 -HASH_C4LOG=00066ad7f624556f066f3d60766a2c33aeb3c6f0 +HASH_C4FS=0ee9c03d0ef3a7f12db6cb03570aa7606f12ba1b +HASH_C4LOG=457a2997e8ea26ea2a659b8152621f7fead1eb48 HASH_YAMLTS=6e6c296ae9c9d2d5c4134b4b64d01b29ac19ff6f DESCRIPTION="Library to parse and emit YAML, and do it fast" @@ -16,13 +16,14 @@ SRC_URI=" https://github.com/biojppm/rapidyaml/releases/download/v${PV}/${P}-src.tgz test? ( https://github.com/biojppm/c4fs/archive/${HASH_C4FS}.tar.gz - -> ${PN}-c4fs-${HASH_C4FS}.tar.gz + -> c4fs-${HASH_C4FS}.tar.gz https://github.com/biojppm/c4log/archive/${HASH_C4LOG}.tar.gz - -> ${PN}-c4log-${HASH_C4LOG}.tar.gz + -> c4log-${HASH_C4LOG}.tar.gz https://github.com/yaml/yaml-test-suite/archive/${HASH_YAMLTS}.tar.gz - -> ${PN}-yaml-test-suite-${HASH_YAMLTS}.tar.gz - )" -S="${WORKDIR}/${P}-src" + -> yaml-test-suite-${HASH_YAMLTS}.tar.gz + ) +" +S=${WORKDIR}/${P}-src LICENSE="MIT Boost-1.0 BSD" SLOT="0/${PV}" @@ -33,9 +34,7 @@ RESTRICT="!test? ( test )" DEPEND="test? ( dev-cpp/gtest )" PATCHES=( - "${FILESDIR}"/${PN}-0.3.0-libdir.patch - "${FILESDIR}"/${PN}-0.3.0-system-gtest.patch - "${FILESDIR}"/${PN}-0.4.0-no-download.patch + "${FILESDIR}"/${PN}-0.6.0-no-download.patch ) DOCS=( README.md ROADMAP.md changelog ) @@ -57,20 +56,23 @@ src_prepare() { fi cmake_src_prepare + + sed -E "/set\(_(ARCHIVE|LIBRARY)_INSTALL/s:lib/:$(get_libdir)/:" \ + -i ext/c4core/cmake/c4Project.cmake || die } src_configure() { local mycmakeargs=( - -DGIT=false # don't call git for nothing + -DGIT=false -DRYML_BUILD_TESTS=$(usex test) -DRYML_DBG=$(usex debug) - -D_{ARCHIVE,LIBRARY}_INSTALL_DIR=$(get_libdir) - # TODO: enable this+tests, should(?) be easier to do with >=0.5.0 but - # still need looking into (please fill a bug if need this right away) + # TODO?: enable this+tests, should(?) be easier to do with >=0.5.0 but + # still need looking into (please file a bug if actually need this now) -DRYML_BUILD_API=no - # rapidyaml sets c++11, but >=gtest-1.13 wants >=c++14 (bug #893272) + # rapidyaml sets c++11, but (system) >=gtest-1.13 wants >=c++14, also + # see: https://github.com/biojppm/cmake/commit/e344bf0681 (bug #893272) -DC4_CXX_STANDARD=17 ) diff --git a/dev-cpp/robin-map/Manifest b/dev-cpp/robin-map/Manifest index fbc684a36779..756454ea9a41 100644 --- a/dev-cpp/robin-map/Manifest +++ b/dev-cpp/robin-map/Manifest @@ -1 +1,2 @@ DIST robin-map-0.6.3.tar.gz 64506 BLAKE2B 46a2b5b47346016695db0c49f73cfbf8530b7db0a31527030eb00f3b6f0695325ab6fe16de1e60d6b1d0793818bdd1e31e50117f2e2e4c50154f65b38ac66d84 SHA512 485557f300d33bda62bb8accdf246819ee8ffe956bc022e7ddca54ff6ad1a9fdb8db8d80690add3ef238e834d1eb8e2905920cb0a0674e7df010f6946d01297b +DIST robin-map-1.3.0.tar.gz 70562 BLAKE2B be6ee47ea06edd2485c16e02eecf8db28c7d18c2eb933450df54e0bab8c7ded79954a295a65a8990b641896186efef391a9f9f0f5b236ba96154bfa6cac45e14 SHA512 862cb98d771d1acb692e27d1cc8a4f2cda0883b66af7b38b63ea702ed2d4fc4d49e5700ca4d5f5148fee132f36e111c4839d4f8c52c96a9c60f3937d941b2320 diff --git a/dev-cpp/robin-map/metadata.xml b/dev-cpp/robin-map/metadata.xml index 7d3acaf5d252..4697a8c86bfb 100644 --- a/dev-cpp/robin-map/metadata.xml +++ b/dev-cpp/robin-map/metadata.xml @@ -5,4 +5,7 @@ <email>sci@gentoo.org</email> <name>Gentoo Science Project</name> </maintainer> + <upstream> + <remote-id type="github">Tessil/robin-map</remote-id> + </upstream> </pkgmetadata> diff --git a/dev-cpp/robin-map/robin-map-1.3.0.ebuild b/dev-cpp/robin-map/robin-map-1.3.0.ebuild new file mode 100644 index 000000000000..5ebd0b902e42 --- /dev/null +++ b/dev-cpp/robin-map/robin-map-1.3.0.ebuild @@ -0,0 +1,37 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit cmake + +DESCRIPTION="C++ fast hash map and hash set using robin hood hashing" +HOMEPAGE="https://github.com/Tessil/robin-map" + +if [[ ${PV} == 9999 ]] ; then + inherit git-r3 + 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" +fi + +LICENSE="MIT" +SLOT="0" +IUSE="test" +RESTRICT="!test? ( test )" + +BDEPEND=" + test? ( dev-libs/boost ) +" + +src_test() { + cd tests || die + sed -i \ + -e '/Boost_USE_STATIC_LIBS/d' \ + -e 's/-Werror//' \ + CMakeLists.txt || die + cmake -S "${S}/tests" -B . -GNinja || die + eninja + ./tsl_robin_map_tests || die +} diff --git a/dev-cpp/robin-map/robin-map-9999.ebuild b/dev-cpp/robin-map/robin-map-9999.ebuild index 99255a6ea187..5ebd0b902e42 100644 --- a/dev-cpp/robin-map/robin-map-9999.ebuild +++ b/dev-cpp/robin-map/robin-map-9999.ebuild @@ -1,7 +1,7 @@ -# Copyright 1999-2020 Gentoo Authors +# Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -EAPI=7 +EAPI=8 inherit cmake @@ -13,8 +13,25 @@ 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 ~x86" + KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86" fi LICENSE="MIT" SLOT="0" +IUSE="test" +RESTRICT="!test? ( test )" + +BDEPEND=" + test? ( dev-libs/boost ) +" + +src_test() { + cd tests || die + sed -i \ + -e '/Boost_USE_STATIC_LIBS/d' \ + -e 's/-Werror//' \ + CMakeLists.txt || die + cmake -S "${S}/tests" -B . -GNinja || die + eninja + ./tsl_robin_map_tests || die +} diff --git a/dev-cpp/scitokens-cpp/Manifest b/dev-cpp/scitokens-cpp/Manifest index 773433d36029..42d724366ed9 100644 --- a/dev-cpp/scitokens-cpp/Manifest +++ b/dev-cpp/scitokens-cpp/Manifest @@ -1,2 +1,2 @@ -DIST scitokens-cpp-1.0.2.tar.gz 311221 BLAKE2B 8f77f4f5ded34f7c572567c980ef0dabaf7e36d4395d41046a1bd8e1343299309ea81efb23b0120532cba365463a9ad2c5ff857f85be5df922830541513c11cd SHA512 c15784342eb70eb0ec1cd87d5a1e89446b8aa3bb070bfdef58960c2d94739b05d186ee33807ebc066a450a0211b3dd7c04ea613fd4870d7a2d0f8fe30e8a7453 DIST scitokens-cpp-1.1.0.tar.gz 311446 BLAKE2B a515d834df04125ae9167cb4656def7df43c9f1ba6d701379257cdd0fd51b61a119e6222591fbe9c1d7ac7000b1b4590d12e9f9238810c0791397a9d9846f6f7 SHA512 e71474afbde45149fbd642918e802f7430603a14add7171525fd08fdfbfb9dc4ae5b151341d2c11b294f352cdf76315e5c1f089daca12a1c9db304f6b2c89276 +DIST scitokens-cpp-1.1.1.tar.gz 311677 BLAKE2B ea880a50b5e3e6f17c4bb11b7021df5e22cb4bb496fc17395a9886ebd359bc7f2522a0b1dd89e8aaa477a1302613f5da6d0a40f903e056736abc35ca1230518e SHA512 f5b42078fce6c1e812eedb456cf1275eaddfae5715193fd566f1f7a598b5632f81f3893efb220c57ff89d233c375c68785c8a6a1c3d3db6d3757979d87916265 diff --git a/dev-cpp/scitokens-cpp/files/scitokens-cpp-1.1.0-invalid-vector-access.patch b/dev-cpp/scitokens-cpp/files/scitokens-cpp-1.1.0-invalid-vector-access.patch new file mode 100644 index 000000000000..db524b4245d5 --- /dev/null +++ b/dev-cpp/scitokens-cpp/files/scitokens-cpp-1.1.0-invalid-vector-access.patch @@ -0,0 +1,24 @@ +Fix invalid std::vector access (visible with tests on hardened systems) + +From: Mattias Ellert <mattias.ellert@physics.uu.se> +Bug: https://github.com/scitokens/scitokens-cpp/pull/126 +Bug: https://bugs.gentoo.org/922679 + +--- + src/scitokens_internal.cpp | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +--- a/src/scitokens_internal.cpp ++++ b/src/scitokens_internal.cpp +@@ -978,9 +978,9 @@ bool scitokens::Validator::store_public_ec_key(const std::string &issuer, + auto x_num = BN_num_bytes(x_bignum.get()); + auto y_num = BN_num_bytes(y_bignum.get()); + std::vector<unsigned char> x_bin; +- x_bin.reserve(x_num); ++ x_bin.resize(x_num); + std::vector<unsigned char> y_bin; +- y_bin.reserve(y_num); ++ y_bin.resize(y_num); + BN_bn2bin(x_bignum.get(), &x_bin[0]); + BN_bn2bin(y_bignum.get(), &y_bin[0]); + std::string x_str(reinterpret_cast<char *>(&x_bin[0]), x_num); diff --git a/dev-cpp/scitokens-cpp/scitokens-cpp-1.0.2-r1.ebuild b/dev-cpp/scitokens-cpp/scitokens-cpp-1.1.0-r1.ebuild index 87e656009e80..80259264e946 100644 --- a/dev-cpp/scitokens-cpp/scitokens-cpp-1.0.2-r1.ebuild +++ b/dev-cpp/scitokens-cpp/scitokens-cpp-1.1.0-r1.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2023 Gentoo Authors +# Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -21,7 +21,7 @@ SLOT="0" IUSE="test" DEPEND=" - dev-cpp/jwt-cpp[picojson] + <dev-cpp/jwt-cpp-0.7.0[picojson] dev-db/sqlite dev-libs/openssl:0= net-misc/curl:0= @@ -34,6 +34,10 @@ BDEPEND=" " RESTRICT="!test? ( test )" +PATCHES=( + "${FILESDIR}"/${PN}-1.1.0-invalid-vector-access.patch +) + src_prepare() { # Unbundle dev-cpp/gtest, dev-cpp/jwt-cpp rm -r vendor || die diff --git a/dev-cpp/scitokens-cpp/scitokens-cpp-1.1.0.ebuild b/dev-cpp/scitokens-cpp/scitokens-cpp-1.1.1.ebuild index 8f7d8ed53bee..c12cad405a66 100644 --- a/dev-cpp/scitokens-cpp/scitokens-cpp-1.1.0.ebuild +++ b/dev-cpp/scitokens-cpp/scitokens-cpp-1.1.1.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2023 Gentoo Authors +# Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -21,7 +21,7 @@ SLOT="0" IUSE="test" DEPEND=" - dev-cpp/jwt-cpp[picojson] + <dev-cpp/jwt-cpp-0.7.0[picojson] dev-db/sqlite dev-libs/openssl:0= net-misc/curl:0= diff --git a/dev-cpp/sdbus-c++/files/sdbus-c++-1.4.0-fix-pkgconfig.patch b/dev-cpp/sdbus-c++/files/sdbus-c++-1.4.0-fix-pkgconfig.patch new file mode 100644 index 000000000000..d9022bdcfe99 --- /dev/null +++ b/dev-cpp/sdbus-c++/files/sdbus-c++-1.4.0-fix-pkgconfig.patch @@ -0,0 +1,94 @@ +https://github.com/Kistler-Group/sdbus-cpp/commit/fb9e4ae37152648a67814458d3ff673b1d3ca089 +https://github.com/Kistler-Group/sdbus-cpp/pull/378 +https://bugs.gentoo.org/917678 +https://bugs.gentoo.org/922490 + +From 674d370470a62c670bf457896561cc36668c04c6 Mon Sep 17 00:00:00 2001 +From: FuchtelJockel <25532271+FuchtelJockel@users.noreply.github.com> +Date: Mon, 20 Nov 2023 14:41:59 +0100 +Subject: [PATCH] fix: correctly add libsystemd dependency to pkgconfig (#378) +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +* fix: correctly add libsystemd dependency to pkgconfig + +* refactor: solve sd-bus dependencies uniformly + +--------- + +Co-authored-by: Stanislav Angelovič <stanislav.angelovic@protonmail.com> +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -12,7 +12,8 @@ include(GNUInstallDirs) # Installation directories for `install` command and pkg + # PERFORMING CHECKS & PREPARING THE DEPENDENCIES + #------------------------------- + +-set(LIBSYSTEMD "systemd") ++set(LIBSYSTEMD_IMPL "systemd") ++set(LIBSYSTEMD_LIB "libsystemd") + + option(BUILD_LIBSYSTEMD "Build libsystemd static library and incorporate it into libsdbus-c++" OFF) + +@@ -23,13 +24,15 @@ if(NOT BUILD_LIBSYSTEMD) + message(WARNING "libsystemd not found, checking for libelogind instead") + pkg_check_modules(Systemd IMPORTED_TARGET GLOBAL libelogind>=236) + if(TARGET PkgConfig::Systemd) +- set(LIBSYSTEMD "elogind") ++ set(LIBSYSTEMD_IMPL "elogind") ++ set(LIBSYSTEMD_LIB "libelogind") + string(REPLACE "." ";" VERSION_LIST ${Systemd_VERSION}) + list(GET VERSION_LIST 0 Systemd_VERSION) + else() + message(WARNING "libelogind not found, checking for basu instead") + pkg_check_modules(Systemd IMPORTED_TARGET GLOBAL basu) +- set(LIBSYSTEMD "basu") ++ set(LIBSYSTEMD_IMPL "basu") ++ set(LIBSYSTEMD_LIB "basu") + # https://git.sr.ht/~emersion/basu/commit/d4d185d29a26 + set(Systemd_VERSION "240") + endif() +@@ -125,8 +128,8 @@ add_library(sdbus-c++-objlib OBJECT ${SDBUSCPP_SRCS}) + target_compile_definitions(sdbus-c++-objlib PRIVATE + BUILD_LIB=1 + LIBSYSTEMD_VERSION=${LIBSYSTEMD_VERSION} +- SDBUS_${LIBSYSTEMD} +- SDBUS_HEADER=<${LIBSYSTEMD}/sd-bus.h>) ++ SDBUS_${LIBSYSTEMD_IMPL} ++ SDBUS_HEADER=<${LIBSYSTEMD_IMPL}/sd-bus.h>) + target_include_directories(sdbus-c++-objlib PUBLIC $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include> + $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/src>) + if(BUILD_SHARED_LIBS) +@@ -236,6 +239,7 @@ if(BUILD_SHARED_LIBS AND (BUILD_LIBSYSTEMD OR Systemd_LINK_LIBRARIES MATCHES "/l + else() + set(PKGCONFIG_REQS "") + endif() ++set(PKGCONFIG_DEPS ${LIBSYSTEMD_LIB}) + configure_file(pkgconfig/sdbus-c++.pc.in pkgconfig/sdbus-c++.pc @ONLY) + install(FILES ${CMAKE_CURRENT_BINARY_DIR}/pkgconfig/sdbus-c++.pc + DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig COMPONENT dev) +--- a/pkgconfig/sdbus-c++.pc.in ++++ b/pkgconfig/sdbus-c++.pc.in +@@ -5,7 +5,7 @@ includedir=@CMAKE_INSTALL_FULL_INCLUDEDIR@ + + Name: @PROJECT_NAME@ + Description: C++ library on top of sd-bus, a systemd D-Bus library +-Requires@PKGCONFIG_REQS@: @LIBSYSTEMD@ ++Requires@PKGCONFIG_REQS@: @PKGCONFIG_DEPS@ + Version: @SDBUSCPP_VERSION@ + Libs: -L${libdir} -l@PROJECT_NAME@ + Cflags: -I${includedir} +--- a/tests/CMakeLists.txt ++++ b/tests/CMakeLists.txt +@@ -106,7 +106,7 @@ include_directories(${CMAKE_CURRENT_SOURCE_DIR}) + add_executable(sdbus-c++-unit-tests ${UNITTESTS_SRCS}) + target_compile_definitions(sdbus-c++-unit-tests PRIVATE + LIBSYSTEMD_VERSION=${LIBSYSTEMD_VERSION} +- SDBUS_HEADER=<${LIBSYSTEMD}/sd-bus.h>) ++ SDBUS_HEADER=<${LIBSYSTEMD_IMPL}/sd-bus.h>) + target_link_libraries(sdbus-c++-unit-tests sdbus-c++-objlib GTest::gmock) + + add_executable(sdbus-c++-integration-tests ${INTEGRATIONTESTS_SRCS}) +-- +2.43.0 + diff --git a/dev-cpp/sdbus-c++/sdbus-c++-1.4.0.ebuild b/dev-cpp/sdbus-c++/sdbus-c++-1.4.0-r1.ebuild index 1a01fb800da2..8ea87fbecc8e 100644 --- a/dev-cpp/sdbus-c++/sdbus-c++-1.4.0.ebuild +++ b/dev-cpp/sdbus-c++/sdbus-c++-1.4.0-r1.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2023 Gentoo Authors +# Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -12,12 +12,13 @@ LICENSE="LGPL-2.1+ Nokia-Qt-LGPL-Exception-1.1" # Nothing to do with Qt but exce SLOT="0/1" KEYWORDS="~amd64" IUSE="doc +elogind systemd test tools" -REQUIRED_USE="^^ ( elogind systemd )" +REQUIRED_USE="?? ( elogind systemd )" RESTRICT="!test? ( test )" RDEPEND=" elogind? ( >=sys-auth/elogind-236 ) systemd? ( >=sys-apps/systemd-236:= ) + !elogind? ( !systemd? ( >=sys-libs/basu-0.2.1 ) ) tools? ( dev-libs/expat ) " @@ -28,13 +29,14 @@ DEPEND=" BDEPEND=" virtual/pkgconfig - doc? ( app-doc/doxygen[dot] ) + doc? ( app-text/doxygen[dot] ) " S="${WORKDIR}/sdbus-cpp-${PV}" PATCHES=( "${FILESDIR}"/${P}-gcc-14.patch + "${FILESDIR}"/${P}-fix-pkgconfig.patch ) src_configure() { diff --git a/dev-cpp/simpleini/Manifest b/dev-cpp/simpleini/Manifest index e850a145f63c..825f8c02ffc6 100644 --- a/dev-cpp/simpleini/Manifest +++ b/dev-cpp/simpleini/Manifest @@ -1 +1 @@ -DIST simpleini-4.20.tar.gz 64807 BLAKE2B 5179fbdc1a46b352590a20bcaafa88d905d75ef3334becc03caf11f5b8c4bd3673971d688f9ec0077af3192244b29befd217dfa4ef218594f68c917698727b72 SHA512 e2518d10d63026b0fd423cbd77372b60bc693e8ec1878a91ab05364a49b48d38d8d379247a27a8ffc5582ba19e333b10996f4bf48899c06c567ae0dea067a9e3 +DIST simpleini-4.22.tar.gz 65923 BLAKE2B 22c63d089aa30b9a15644b485b4f8238e4bf5c8bffad887eff2fa738f10d5506e960dda505dc858d72795a16ed6ba20850c90796a9ec18ef3117a6330baa2a48 SHA512 6c198636816a0018adbf7f735d402c64245c6fcd540b7360d4388d46f007f3a520686cdaec4705cb8cb31401b2cb4797a80b42ea5d08a6a5807c0848386f7ca1 diff --git a/dev-cpp/simpleini/files/simpleini-4.20-pkgconfig-var.patch b/dev-cpp/simpleini/files/simpleini-4.20-pkgconfig-var.patch deleted file mode 100644 index 1250a01f3ca2..000000000000 --- a/dev-cpp/simpleini/files/simpleini-4.20-pkgconfig-var.patch +++ /dev/null @@ -1,8 +0,0 @@ -Use $(PKG_CONFIG), and also avoid repeating the calls for every objects. ---- a/tests/Makefile -+++ b/tests/Makefile -@@ -2,2 +2,2 @@ --CXXFLAGS+=-Wall -std=c++14 `pkg-config --cflags gtest_main` --LDFLAGS+=`pkg-config --libs gtest_main` -+CXXFLAGS:=-Wall -std=c++14 $(shell $(PKG_CONFIG) --cflags gtest_main) $(CXXFLAGS) -+LDFLAGS:=$(LDFLAGS) $(shell $(PKG_CONFIG) --libs gtest_main) diff --git a/dev-cpp/simpleini/files/simpleini-4.22-disable-tests.patch b/dev-cpp/simpleini/files/simpleini-4.22-disable-tests.patch new file mode 100644 index 000000000000..39347e75f769 --- /dev/null +++ b/dev-cpp/simpleini/files/simpleini-4.22-disable-tests.patch @@ -0,0 +1,16 @@ +https://github.com/brofield/simpleini/pull/75 +https://github.com/brofield/simpleini/commit/f7862c3dd7ad35becc2741f268e3402e89a37666 +From: Alexandre Bouvier <contact@amb.tf> +Date: Tue, 2 Jan 2024 10:54:44 +0100 +Subject: [PATCH 2/2] cmake: really disable tests (#75) +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -72,5 +72,7 @@ target_include_directories(${PROJECT_NAME} INTERFACE + + if(IS_TOPLEVEL_PROJECT) + include(CTest) +- add_subdirectory(tests) ++ if(BUILD_TESTING) ++ add_subdirectory(tests) ++ endif() + endif() diff --git a/dev-cpp/simpleini/files/simpleini-4.22-include-dir.patch b/dev-cpp/simpleini/files/simpleini-4.22-include-dir.patch new file mode 100644 index 000000000000..7370ae04b8b2 --- /dev/null +++ b/dev-cpp/simpleini/files/simpleini-4.22-include-dir.patch @@ -0,0 +1,35 @@ +https://github.com/brofield/simpleini/pull/74 +https://github.com/brofield/simpleini/commit/aeacf861a8ad8add5f4974792a88ffea393e41db +From: Alexandre Bouvier <contact@amb.tf> +Date: Tue, 2 Jan 2024 08:42:03 +0100 +Subject: [PATCH 1/2] cmake: fix namespace and include dir (#74) +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -48,7 +48,7 @@ configure_package_config_file(${PROJECT_NAME}Config.cmake.in + ) + + install(FILES SimpleIni.h +- DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/${PROJECT_NAME} ++ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} + ) + + install(TARGETS ${PROJECT_NAME} +@@ -62,12 +62,15 @@ install(FILES + ) + install(EXPORT ${PROJECT_NAME}Targets + DESTINATION ${CMAKE_INSTALL_DATADIR}/cmake/${PROJECT_NAME} +- NAMESPACE EXPORT_NAMESPACE ++ NAMESPACE ${EXPORT_NAMESPACE} + ) + +-target_include_directories(${PROJECT_NAME} INTERFACE $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>) ++target_include_directories(${PROJECT_NAME} INTERFACE ++ $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}> ++ $<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}> ++) + + if(IS_TOPLEVEL_PROJECT) +- enable_testing() ++ include(CTest) + add_subdirectory(tests) + endif() diff --git a/dev-cpp/simpleini/simpleini-4.20.ebuild b/dev-cpp/simpleini/simpleini-4.22-r1.ebuild index ccc5bfadc70d..e584cfbdc410 100644 --- a/dev-cpp/simpleini/simpleini-4.20.ebuild +++ b/dev-cpp/simpleini/simpleini-4.22-r1.ebuild @@ -1,9 +1,9 @@ -# Copyright 2022-2023 Gentoo Authors +# Copyright 2022-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 -inherit toolchain-funcs +inherit cmake DESCRIPTION="C++ library providing a simple API to read and write INI-style files" HOMEPAGE="https://github.com/brofield/simpleini/" @@ -16,21 +16,17 @@ IUSE="test" RESTRICT="!test? ( test )" DEPEND="test? ( dev-cpp/gtest )" -BDEPEND="test? ( virtual/pkgconfig )" PATCHES=( - "${FILESDIR}"/${PN}-4.20-pkgconfig-var.patch + "${FILESDIR}"/${P}-include-dir.patch + "${FILESDIR}"/${P}-disable-tests.patch ) -src_compile() { - if use test; then - tc-export CXX PKG_CONFIG - emake -C tests "${emakeargs[@]}" - fi -} +src_configure() { + local mycmakeargs=( + -DBUILD_TESTING=$(usex test) + -DSIMPLEINI_USE_SYSTEM_GTEST=yes + ) -src_install() { - # note: this skips ConvertUTF, can use -DSI_CONVERT_ICU instead if needed - emake DESTDIR="${D}" PREFIX="${EPREFIX}"/usr install - einstalldocs + cmake_src_configure } diff --git a/dev-cpp/taskflow/Manifest b/dev-cpp/taskflow/Manifest index 356b679b2e87..05b23be00440 100644 --- a/dev-cpp/taskflow/Manifest +++ b/dev-cpp/taskflow/Manifest @@ -1,3 +1,4 @@ DIST taskflow-3.3.0.tar.gz 64446007 BLAKE2B 07878a03bd90af64914f1dc80850bcf5d4140f20ecfa998237039b6f37cc668e8c2b5dffafb75f4518209b3ac01f9935f5e30a020871334f131e6fe7654748bf SHA512 08ab20bf38927d49c8332fc103cb7b4b6358efa06466cb8471f2004eb27b79b9eadc9971ec4acd110c8f369686b6f99bf3e21192285c3f28b9cb855bfd9ab0b5 DIST taskflow-3.4.0.tar.gz 64152239 BLAKE2B cec78155bc8db3ac7fb6e61ece8c1bb4697c6655122cdcd987405ce21b1f4f30570debda8a7cccf43d089bac791cb18654e829380e244addae2875ad4fdb47c5 SHA512 e0e3589feec65677c4de6583a70c14f90826f2177636010955c597a3232f7842431c697eae711318f4a64fae52ac3e33e2d0739ef36bb7c57698110b6fa4740d DIST taskflow-3.6.0.tar.gz 66335249 BLAKE2B bcdc6d721e32b7c40f65ed5bd115d2c0083663e8b51c0e4460baa5f62e576382a45e8da735119b577d8a6ae7a64c72431654471a3b8335997fdf4f9191ad64af SHA512 1bf17b69cdb29b982fc74b9091f5b6c8fc4fd3004b26afe7e73e71569738e492cf8663b71d98cfbc4e240c08ceb8a99bf51cccce95254710722f89929a4bbea8 +DIST taskflow-3.7.0.tar.gz 66383509 BLAKE2B 92a9d56f0101d507b7f924ce9038d6d43a5f39c9270582f910644ad281ea2cee3f8fa39f3ee4e748f90d013d57a3bc2f24842e328ab345bc580d1a9a5de4f308 SHA512 2faecc9eaf9e7f24253a5aedbb4ef6164ba8b5181b7f2c65d8646c21300f28278d7817e928eeab7e85ec2b9644508a8665bab1a7482ec85a7f6de18cecb32d6f diff --git a/dev-cpp/taskflow/taskflow-3.6.0.ebuild b/dev-cpp/taskflow/taskflow-3.6.0.ebuild index 22248fced959..7e1fc394c892 100644 --- a/dev-cpp/taskflow/taskflow-3.6.0.ebuild +++ b/dev-cpp/taskflow/taskflow-3.6.0.ebuild @@ -13,7 +13,7 @@ if [[ ${PV} == 9999 ]]; then 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 ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" + KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86" S="${WORKDIR}/taskflow-${PV}" fi diff --git a/dev-cpp/taskflow/taskflow-3.7.0.ebuild b/dev-cpp/taskflow/taskflow-3.7.0.ebuild new file mode 100644 index 000000000000..a9a00cd40a3d --- /dev/null +++ b/dev-cpp/taskflow/taskflow-3.7.0.ebuild @@ -0,0 +1,45 @@ +# Copyright 1999-2024 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 ~ia64 ~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/. ) + +PATCHES=( +) + +src_prepare() { + cmake_src_prepare +} + +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/Manifest b/dev-cpp/tbb/Manifest index 341912467865..8136b81da2f8 100644 --- a/dev-cpp/tbb/Manifest +++ b/dev-cpp/tbb/Manifest @@ -1,6 +1,5 @@ DIST tbb-2020.3.tar.gz 2639788 BLAKE2B 3e92bccdc8179fc049379ccbb8ad7f615623177abc61d813b1a601020c345137bfd7d4c4600cf5b0d587e5ebef677635c3c8124d06b05fdd3325128ed8c9f84a SHA512 04c4b5501418792827190691d03d20d4dc1fd3cbbcf459a4d40c5c2281d964e658f31f133ad3907b78e17ed04f4ff16728ed89487ed0ce2cb239f23feb34bd87 -DIST tbb-2021.10.0.tar.gz 2598088 BLAKE2B ba8352474b97c3d98b534cbfd8f61af165352967529f19226dbae17f17d20a8b5dfd7a3b29bab85431620cea1ee1c5990ec7311cc9b1b865d6aa1800540dd6d0 SHA512 d71cf317e7f78948c1ea20977cfcfba1eff72cb20c457c87e624cb3aaa3215a1c24eeeec11ed6ed99cf118c577d956234202458bb5e0215c9c317099d9c3b732 -DIST tbb-2021.5.0.tar.gz 2463218 BLAKE2B 2d50d312b86318ba4923afe68753b3781f9646cbdb33861f3458301a3a19b7ca3aab6959dca085294dfc743d7f552635f80fb524ec5d780a46f58ffe02e3280d SHA512 0e7b71022e397a6d7abb0cea106847935ae79a1e12a6976f8d038668c6eca8775ed971202c5bd518f7e517092b67af805cc5feb04b5c3a40e9fbf972cc703a46 +DIST tbb-2021.12.0.tar.gz 2617255 BLAKE2B 3e1db8b1972a7225c5355def66ae40006e6e0f0f97e2efff45dd361f724e348a2f0476bc14b59f89f5361cac6fa36a4973602467bc7fbb2b8b139a4ff4dd58de SHA512 64022bcb61cf7b2030a1bcc11168445ef9f0d69b70290233a7febb71cc7a12cc2282dddc045f84e30893efe276342f02fd78d176706268eeaefe9aac7446d4e9 +DIST tbb-2021.13.0.tar.gz 2613916 BLAKE2B 0edd2d8a966dba673e50827629491924140a302430f4380e7cd9914f3592eaf6515204c7267649237970a5482cc030f0c29cbddd1476f16caf46989f70041058 SHA512 1f536b98c4eb331c3ba21e4b36362c932d7852b974ea7237b5f7bffb0e996d76f688c7ac534cb56f5866cfdffd5d3f015521b4c2ca21e584503070782ca82a2f DIST tbb-2021.7.0.tar.gz 2571727 BLAKE2B 2977ef1a33d9bc7baa40e0e57c02e62798a09c6c66cdbe369f2702d87fd9877c3d97f8d83f71384028995ea0956f5c5630d4aaf4edbe68538e7c514d3b87085c SHA512 d314e3d88b85c96607a9eda15e3d808bf361eb562a534c59101929236e90c187883e7718e5435b5e7f01f4ee652c9765af95f5f173368b83997e4666b7403a49 -DIST tbb-2021.8.0.tar.gz 2575336 BLAKE2B 2c3a7f0e59d70b17550f805461a15a520c7f1b3a37a41bd51c51f9f5863b50812d2b939351e11e0f4ceb3da8a47e413abe171bcb6bfb71c0fe2f81ed373f65f2 SHA512 72f68730dfd89409796f9548d3c302111787712089688a7c77092ed1b3a7bf4e7444fe4b58015d2c78b7b71259852526789b2483bf1e71bea8146c4b4676e7b4 DIST tbb-2021.9.0.tar.gz 2579150 BLAKE2B f6f701df1605913770222689063ff422416f86f132fb3fbc80f383b7c52762d3804e75200ca4826906b16c66f674918bcfd78b16a1dafb499ca53a9d2b6652ec SHA512 2ece7f678ad7c8968c0ad5cda9f987e4b318c6d9735169e1039beb0ff8dfca18815835875211acc6c7068913d9b0bdd4c9ded22962b0bb48f4a0ce0f7b78f31c diff --git a/dev-cpp/tbb/files/tbb-2021.13.0-test-atomics.patch b/dev-cpp/tbb/files/tbb-2021.13.0-test-atomics.patch new file mode 100644 index 000000000000..7cc8216153d0 --- /dev/null +++ b/dev-cpp/tbb/files/tbb-2021.13.0-test-atomics.patch @@ -0,0 +1,38 @@ +From c828ae47b8f4bea7736d2f9d05460e2b529c9d7d Mon Sep 17 00:00:00 2001 +From: John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de> +Date: Fri, 9 Dec 2022 12:36:11 +0100 +Subject: [PATCH] Add cmake check for libatomic requirement when building with + gcc (#980) + +Signed-off-by: John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de> +--- + cmake/compilers/GNU.cmake | 16 ++++++++++++++++ + 1 file changed, 16 insertions(+) + +diff --git a/cmake/compilers/GNU.cmake b/cmake/compilers/GNU.cmake +index cd76acfe1e..59f4e6934f 100644 +--- a/cmake/compilers/GNU.cmake ++++ b/cmake/compilers/GNU.cmake +@@ -44,6 +44,22 @@ if (NOT MINGW) + set(TBB_COMMON_LINK_LIBS dl) + endif() + ++# Check whether code with full atomics can be built without libatomic ++# see: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81358 ++include(CheckCXXSourceCompiles) ++check_cxx_source_compiles("#include <atomic> ++int main() { ++ std::atomic<uint8_t> w1; ++ std::atomic<uint16_t> w2; ++ std::atomic<uint32_t> w4; ++ std::atomic<uint64_t> w8; ++ return ++w1 + ++w2 + ++w4 + ++w8; ++}" TBB_BUILDS_WITHOUT_LIBATOMIC) ++ ++if(NOT TBB_BUILDS_WITHOUT_LIBATOMIC) ++ set(TBB_COMMON_LINK_LIBS ${TBB_COMMON_LINK_LIBS} atomic) ++endif() ++ + # Ignore -Werror set through add_compile_options() or added to CMAKE_CXX_FLAGS if TBB_STRICT is disabled. + if (NOT TBB_STRICT AND COMMAND tbb_remove_compile_flag) + tbb_remove_compile_flag(-Werror) diff --git a/dev-cpp/tbb/files/tbb-2021.4.0-lto.patch b/dev-cpp/tbb/files/tbb-2021.4.0-lto.patch deleted file mode 100644 index 1c9705576004..000000000000 --- a/dev-cpp/tbb/files/tbb-2021.4.0-lto.patch +++ /dev/null @@ -1,249 +0,0 @@ -https://github.com/oneapi-src/oneTBB/pull/608 - -From 6feeba8035ea2bdf652d473a35730b19427752db Mon Sep 17 00:00:00 2001 -From: Ivan Kochin <kochin.ivan@intel.com> -Date: Wed, 27 Oct 2021 17:23:32 +0300 -Subject: [PATCH] Use native CMake way to detect the IPO support (#608) - -* Use native CMake way to detect the IPO support - -Signed-off-by: Kochin Ivan <kochin.ivan@intel.com> ---- - CMakeLists.txt | 17 +++++++++++++++++ - cmake/README.md | 1 + - cmake/compilers/Clang.cmake | 8 ++------ - cmake/compilers/GNU.cmake | 8 +++----- - cmake/compilers/MSVC.cmake | 1 + - cmake/utils.cmake | 13 +++++++++++++ - src/tbb/CMakeLists.txt | 5 ++--- - src/tbbbind/CMakeLists.txt | 6 +++--- - src/tbbmalloc/CMakeLists.txt | 5 ++--- - 9 files changed, 44 insertions(+), 20 deletions(-) - -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 13b1dbc2c..4dbdadb97 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -103,6 +103,7 @@ option(TBBMALLOC_BUILD "Enable tbbmalloc build" ON) - option(TBB_CPF "Enable preview features of the library" OFF) - option(TBB_FIND_PACKAGE "Enable search for external oneTBB using find_package instead of build from sources" OFF) - option(TBB_DISABLE_HWLOC_AUTOMATIC_SEARCH "Disable HWLOC automatic search by pkg-config tool" OFF) -+option(TBB_ENABLE_IPO "Enable Interprocedural Optimization (IPO) during the compilation" ON) - - if (NOT DEFINED BUILD_SHARED_LIBS) - set(BUILD_SHARED_LIBS ON) -@@ -181,6 +182,22 @@ foreach(FILE_WITH_EXTRA_TARGETS ${FILES_WITH_EXTRA_TARGETS}) - include(${FILE_WITH_EXTRA_TARGETS}) - endforeach() - -+# - Enabling LTO on Android causes the NDK bug. -+# NDK throws the warning: "argument unused during compilation: '-Wa,--noexecstack'" -+# - For some reason GCC does not instrument code with Thread Sanitizer when lto is enabled and C linker is used. -+if (TBB_ENABLE_IPO AND BUILD_SHARED_LIBS AND NOT ANDROID_PLATFORM AND NOT TBB_SANITIZE MATCHES "thread") -+ if (NOT CMAKE_VERSION VERSION_LESS 3.9) -+ cmake_policy(SET CMP0069 NEW) -+ include(CheckIPOSupported) -+ check_ipo_supported(RESULT TBB_IPO_PROPERTY) -+ else() -+ set(TBB_IPO_FLAGS TRUE) -+ endif() -+ if (TBB_IPO_PROPERTY OR TBB_IPO_FLAGS) -+ message(STATUS "IPO enabled") -+ endif() -+endif() -+ - set(TBB_COMPILER_SETTINGS_FILE ${CMAKE_CURRENT_SOURCE_DIR}/cmake/compilers/${CMAKE_CXX_COMPILER_ID}.cmake) - if (EXISTS ${TBB_COMPILER_SETTINGS_FILE}) - include(${TBB_COMPILER_SETTINGS_FILE}) -diff --git a/cmake/README.md b/cmake/README.md -index ec56e423c..ed1631de3 100644 ---- a/cmake/README.md -+++ b/cmake/README.md -@@ -16,6 +16,7 @@ TBB_CPF:BOOL - Enable preview features of the library (OFF by default) - TBB_INSTALL_VARS:BOOL - Enable auto-generated vars installation(packages generated by `cpack` and `make install` will also include the vars script)(OFF by default) - TBB_VALGRIND_MEMCHECK:BOOL - Enable scan for memory leaks using Valgrind (OFF by default) - TBB_DISABLE_HWLOC_AUTOMATIC_SEARCH - Disable HWLOC automatic search by pkg-config tool (OFF by default) -+TBB_ENABLE_IPO - Enable Interprocedural Optimization (IPO) during the compilation (ON by default) - ``` - - ## Configure, build and test -diff --git a/cmake/compilers/Clang.cmake b/cmake/compilers/Clang.cmake -index 183341fcc..69aa51932 100644 ---- a/cmake/compilers/Clang.cmake -+++ b/cmake/compilers/Clang.cmake -@@ -58,12 +58,8 @@ if (MINGW) - list(APPEND TBB_COMMON_COMPILE_FLAGS -U__STRICT_ANSI__) - endif() - --# Enabling LTO on Android causes the NDK bug. --# NDK throws the warning: "argument unused during compilation: '-Wa,--noexecstack'" --if (NOT ANDROID_PLATFORM AND BUILD_SHARED_LIBS) -- set(TBB_IPO_COMPILE_FLAGS $<$<NOT:$<CONFIG:Debug>>:-flto>) -- set(TBB_IPO_LINK_FLAGS $<$<NOT:$<CONFIG:Debug>>:-flto>) --endif() -+set(TBB_IPO_COMPILE_FLAGS $<$<NOT:$<CONFIG:Debug>>:-flto>) -+set(TBB_IPO_LINK_FLAGS $<$<NOT:$<CONFIG:Debug>>:-flto>) - - # TBB malloc settings - set(TBBMALLOC_LIB_COMPILE_FLAGS -fno-rtti -fno-exceptions) -diff --git a/cmake/compilers/GNU.cmake b/cmake/compilers/GNU.cmake -index fa14c869e..a9cfa8927 100644 ---- a/cmake/compilers/GNU.cmake -+++ b/cmake/compilers/GNU.cmake -@@ -63,11 +63,9 @@ if (MINGW) - list(APPEND TBB_COMMON_COMPILE_FLAGS -U__STRICT_ANSI__) - endif() - --# For some reason GCC does not instrument code with Thread Sanitizer when lto is enabled and C linker is used. --if (NOT TBB_SANITIZE MATCHES "thread") -- set(TBB_IPO_COMPILE_FLAGS $<$<NOT:$<CONFIG:Debug>>:-flto>) -- set(TBB_IPO_LINK_FLAGS $<$<NOT:$<CONFIG:Debug>>:-flto>) --endif() -+set(TBB_IPO_COMPILE_FLAGS $<$<NOT:$<CONFIG:Debug>>:-flto>) -+set(TBB_IPO_LINK_FLAGS $<$<NOT:$<CONFIG:Debug>>:-flto>) -+ - - # TBB malloc settings - set(TBBMALLOC_LIB_COMPILE_FLAGS -fno-rtti -fno-exceptions) -diff --git a/cmake/compilers/MSVC.cmake b/cmake/compilers/MSVC.cmake -index 3447418cc..5767235a0 100644 ---- a/cmake/compilers/MSVC.cmake -+++ b/cmake/compilers/MSVC.cmake -@@ -77,6 +77,7 @@ if (CMAKE_CXX_COMPILER_ID MATCHES "(Clang|IntelLLVM)") - endif() - set(TBB_OPENMP_NO_LINK_FLAG TRUE) - set(TBB_IPO_COMPILE_FLAGS $<$<NOT:$<CONFIG:Debug>>:-flto>) -+ set(TBB_IPO_LINK_FLAGS $<$<NOT:$<CONFIG:Debug>>:-flto>) - else() - set(TBB_IPO_COMPILE_FLAGS $<$<NOT:$<CONFIG:Debug>>:/GL>) - set(TBB_IPO_LINK_FLAGS $<$<NOT:$<CONFIG:Debug>>:-LTCG> $<$<NOT:$<CONFIG:Debug>>:-INCREMENTAL:NO>) -diff --git a/cmake/utils.cmake b/cmake/utils.cmake -index 06d3a9aee..f74abfcf9 100644 ---- a/cmake/utils.cmake -+++ b/cmake/utils.cmake -@@ -44,3 +44,16 @@ macro(tbb_install_target target) - COMPONENT devel) - endif() - endmacro() -+ -+macro(tbb_handle_ipo target) -+ if (TBB_IPO_PROPERTY) -+ set_target_properties(${target} PROPERTIES INTERPROCEDURAL_OPTIMIZATION TRUE) -+ elseif (TBB_IPO_FLAGS) -+ target_compile_options(${target} PRIVATE ${TBB_IPO_COMPILE_FLAGS}) -+ if (COMMAND target_link_options) -+ target_link_options(${target} PRIVATE ${TBB_IPO_LINK_FLAGS}) -+ else() -+ target_link_libraries(${target} PRIVATE ${TBB_IPO_LINK_FLAGS}) -+ endif() -+ endif() -+endmacro() -diff --git a/src/tbb/CMakeLists.txt b/src/tbb/CMakeLists.txt -index 80fdcdcde..021392d89 100644 ---- a/src/tbb/CMakeLists.txt -+++ b/src/tbb/CMakeLists.txt -@@ -79,7 +79,6 @@ target_compile_options(tbb - ${TBB_WARNING_SUPPRESS} - ${TBB_LIB_COMPILE_FLAGS} - ${TBB_COMMON_COMPILE_FLAGS} -- ${TBB_IPO_COMPILE_FLAGS} - ) - - # Avoid use of target_link_libraries here as it changes /DEF option to \DEF on Windows. -@@ -89,6 +88,8 @@ set_target_properties(tbb PROPERTIES - SOVERSION ${TBB_BINARY_VERSION} - ) - -+tbb_handle_ipo(tbb) -+ - if (TBB_DEF_FILE_PREFIX) # If there's no prefix, assume we're using export directives - set_target_properties(tbb PROPERTIES - LINK_FLAGS ${TBB_LINK_DEF_FILE_FLAG}${CMAKE_CURRENT_SOURCE_DIR}/def/${TBB_DEF_FILE_PREFIX}-tbb.def -@@ -103,14 +104,12 @@ if (COMMAND target_link_options) - PRIVATE - ${TBB_LIB_LINK_FLAGS} - ${TBB_COMMON_LINK_FLAGS} -- ${TBB_IPO_LINK_FLAGS} - ) - else() - target_link_libraries(tbb - PRIVATE - ${TBB_LIB_LINK_FLAGS} - ${TBB_COMMON_LINK_FLAGS} -- ${TBB_IPO_LINK_FLAGS} - ) - endif() - -diff --git a/src/tbbbind/CMakeLists.txt b/src/tbbbind/CMakeLists.txt -index 99b7ccaac..3233ec718 100644 ---- a/src/tbbbind/CMakeLists.txt -+++ b/src/tbbbind/CMakeLists.txt -@@ -46,7 +46,6 @@ function(tbbbind_build TBBBIND_NAME REQUIRED_HWLOC_TARGET) - ${TBB_WARNING_LEVEL} - ${TBB_LIB_COMPILE_FLAGS} - ${TBB_COMMON_COMPILE_FLAGS} -- ${TBB_IPO_COMPILE_FLAGS} - ) - - # Avoid use of target_link_libraries here as it changes /DEF option to \DEF on Windows. -@@ -55,6 +54,9 @@ function(tbbbind_build TBBBIND_NAME REQUIRED_HWLOC_TARGET) - VERSION ${TBBBIND_BINARY_VERSION}.${TBB_BINARY_MINOR_VERSION} - SOVERSION ${TBBBIND_BINARY_VERSION} - ) -+ -+ tbb_handle_ipo(${TBBBIND_NAME}) -+ - if (TBB_DEF_FILE_PREFIX) # If there's no prefix, assume we're using export directives - set_target_properties(${TBBBIND_NAME} PROPERTIES - LINK_FLAGS ${TBB_LINK_DEF_FILE_FLAG}${CMAKE_CURRENT_SOURCE_DIR}/def/${TBB_DEF_FILE_PREFIX}-tbbbind.def -@@ -69,14 +71,12 @@ function(tbbbind_build TBBBIND_NAME REQUIRED_HWLOC_TARGET) - PRIVATE - ${TBB_LIB_LINK_FLAGS} - ${TBB_COMMON_LINK_FLAGS} -- ${TBB_IPO_LINK_FLAGS} - ) - else() - target_link_libraries(${TBBBIND_NAME} - PRIVATE - ${TBB_LIB_LINK_FLAGS} - ${TBB_COMMON_LINK_FLAGS} -- ${TBB_IPO_LINK_FLAGS} - ) - endif() - -diff --git a/src/tbbmalloc/CMakeLists.txt b/src/tbbmalloc/CMakeLists.txt -index f77bc8f10..5a851851f 100644 ---- a/src/tbbmalloc/CMakeLists.txt -+++ b/src/tbbmalloc/CMakeLists.txt -@@ -59,7 +59,6 @@ target_compile_options(tbbmalloc - ${TBB_LIB_COMPILE_FLAGS} - ${TBBMALLOC_LIB_COMPILE_FLAGS} - ${TBB_COMMON_COMPILE_FLAGS} -- ${TBB_IPO_COMPILE_FLAGS} - ) - - enable_language(C) -@@ -72,6 +71,8 @@ set_target_properties(tbbmalloc PROPERTIES - LINKER_LANGUAGE C - ) - -+tbb_handle_ipo(tbbmalloc) -+ - if (TBB_DEF_FILE_PREFIX) # If there's no prefix, assume we're using export directives - set_target_properties(tbbmalloc PROPERTIES - LINK_FLAGS ${TBB_LINK_DEF_FILE_FLAG}${CMAKE_CURRENT_SOURCE_DIR}/def/${TBB_DEF_FILE_PREFIX}-tbbmalloc.def -@@ -88,14 +89,12 @@ if (COMMAND target_link_options) - PRIVATE - ${TBB_LIB_LINK_FLAGS} - ${TBB_COMMON_LINK_FLAGS} -- ${TBB_IPO_LINK_FLAGS} - ) - else() - target_link_libraries(tbbmalloc - PRIVATE - ${TBB_LIB_LINK_FLAGS} - ${TBB_COMMON_LINK_FLAGS} -- ${TBB_IPO_LINK_FLAGS} - ) - endif() - diff --git a/dev-cpp/tbb/files/tbb-2021.4.0-missing-TBB_machine_fetchadd4.patch b/dev-cpp/tbb/files/tbb-2021.4.0-missing-TBB_machine_fetchadd4.patch deleted file mode 100644 index 091cad5821e7..000000000000 --- a/dev-cpp/tbb/files/tbb-2021.4.0-missing-TBB_machine_fetchadd4.patch +++ /dev/null @@ -1,23 +0,0 @@ -https://github.com/oneapi-src/oneTBB/issues/186 -https://github.com/oneapi-src/oneTBB/pull/550 -https://bugs.gentoo.org/827883 - -From: Felix Yan <felixonmars@archlinux.org> -Date: Thu, 7 Oct 2021 14:16:16 +0800 -Subject: [PATCH] Define ITT_ARCH_IA64 when undefiend (#550) - -Upstream-Status: Merged in commit later than 2021.5.0 - ---- a/src/tbb/tools_api/ittnotify_config.h -+++ b/src/tbb/tools_api/ittnotify_config.h -@@ -147,6 +147,10 @@ - # define ITT_ARCH_IA32E 2 - #endif /* ITT_ARCH_IA32E */ - -+#ifndef ITT_ARCH_IA64 -+# define ITT_ARCH_IA64 3 -+#endif /* ITT_ARCH_IA64 */ -+ - #ifndef ITT_ARCH_ARM - # define ITT_ARCH_ARM 4 - #endif /* ITT_ARCH_ARM */ diff --git a/dev-cpp/tbb/files/tbb-2021.5.0-flags-stripping.patch b/dev-cpp/tbb/files/tbb-2021.5.0-flags-stripping.patch deleted file mode 100644 index 4252ea446423..000000000000 --- a/dev-cpp/tbb/files/tbb-2021.5.0-flags-stripping.patch +++ /dev/null @@ -1,27 +0,0 @@ -https://github.com/oneapi-src/oneTBB/pull/716 - -From 9595b9699ae6863d1e0cf770a89728eafcaf8845 Mon Sep 17 00:00:00 2001 -From: Christoph Erhardt <github@sicherha.de> -Date: Wed, 5 Jan 2022 15:13:32 +0100 -Subject: [PATCH] Fix overeager stripping of compile flag - -The existing regex strips all occurrences of the given string from -`${CMAKE_CXX_FLAGS}`, regardless of whether it is just a substring of a -flag. For instance, `-Werror=format-security` gets truncated to -`=format-security`. - -The new regex makes sure that only whole words get replaced. - -Signed-off-by: Christoph Erhardt <github@sicherha.de> ---- a/cmake/utils.cmake -+++ b/cmake/utils.cmake -@@ -18,7 +18,7 @@ macro(tbb_remove_compile_flag flag) - set_property(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} PROPERTY COMPILE_OPTIONS ${_tbb_compile_options}) - unset(_tbb_compile_options) - if (CMAKE_CXX_FLAGS) -- string(REGEX REPLACE ${flag} "" CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS}) -+ string(REGEX REPLACE "(^|[ \t\r\n]+)${flag}($|[ \t\r\n]+)" " " CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS}) - endif() - endmacro() - - diff --git a/dev-cpp/tbb/files/tbb-2021.5.0-musl-deepbind.patch b/dev-cpp/tbb/files/tbb-2021.5.0-musl-deepbind.patch deleted file mode 100644 index 014a3863f452..000000000000 --- a/dev-cpp/tbb/files/tbb-2021.5.0-musl-deepbind.patch +++ /dev/null @@ -1,25 +0,0 @@ -https://github.com/oneapi-src/oneTBB/commit/883c2e5245c39624b3b5d6d56d5b203cf09eac38 -https://bugs.gentoo.org/830698 - -From: Khem Raj <raj.khem@gmail.com> -Date: Wed, 15 Dec 2021 08:08:07 -0800 -Subject: [PATCH] Musl/linux can not use RTLD_DEEPBIND (#684) - -Exclude non-glibc linux systems along with android -Fixes -src/tbb/dynamic_link.cpp:417:29: error: use - of undeclared identifier 'RTLD_DEEPBIND' | flags = flags | RTLD_DEEPBIND; -| ^ - -Signed-off-by: Khem Raj <raj.khem@gmail.com> ---- a/src/tbb/dynamic_link.cpp -+++ b/src/tbb/dynamic_link.cpp -@@ -413,7 +413,7 @@ namespace r1 { - int flags = RTLD_NOW; - if (local_binding) { - flags = flags | RTLD_LOCAL; --#if __linux__ && !__ANDROID__ && !__TBB_USE_SANITIZERS -+#if (__linux__ && __GLIBC__) && !__TBB_USE_SANITIZERS - flags = flags | RTLD_DEEPBIND; - #endif - } else { diff --git a/dev-cpp/tbb/files/tbb-2021.5.0-musl-mallinfo.patch b/dev-cpp/tbb/files/tbb-2021.5.0-musl-mallinfo.patch deleted file mode 100644 index e46c16f42f59..000000000000 --- a/dev-cpp/tbb/files/tbb-2021.5.0-musl-mallinfo.patch +++ /dev/null @@ -1,32 +0,0 @@ -https://cgit.openembedded.org/meta-openembedded/tree/meta-oe/recipes-support/tbb/tbb/0001-mallinfo-is-glibc-specific-API-mark-it-so.patch -https://github.com/oneapi-src/oneTBB/pull/203 -https://bugs.gentoo.org/828704 - -From: Naveen Saini <naveen.kumar.saini@intel.com> -Date: Wed, 7 Apr 2021 11:14:13 +0800 -Subject: [PATCH] mallinfo() is glibc specific API mark it so - -Helps compiling with musl - -Upstream-Status: Pending - -Signed-off-by: Khem Raj <raj.khem@gmail.com> -Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com> ---- a/src/tbbmalloc_proxy/proxy.cpp -+++ b/src/tbbmalloc_proxy/proxy.cpp -@@ -260,6 +260,7 @@ int mallopt(int /*param*/, int /*value*/ - return 1; - } - -+#ifdef __GLIBC__ - struct mallinfo mallinfo() __THROW - { - struct mallinfo m; -@@ -267,6 +268,7 @@ struct mallinfo mallinfo() __THROW - - return m; - } -+#endif - - #if __ANDROID__ - // Android doesn't have malloc_usable_size, provide it to be compatible diff --git a/dev-cpp/tbb/files/tbb-2021.5.0-musl-setcontext.patch b/dev-cpp/tbb/files/tbb-2021.5.0-musl-setcontext.patch deleted file mode 100644 index 111bbf123d9a..000000000000 --- a/dev-cpp/tbb/files/tbb-2021.5.0-musl-setcontext.patch +++ /dev/null @@ -1,30 +0,0 @@ -https://bugs.gentoo.org/832700 -https://github.com/oneapi-src/oneTBB/commit/6a15b64093c51ddc00bdf4a6b49d4bbec1574a12 - -From: Rui Ueyama <rui314@gmail.com> -Date: Fri, 4 Feb 2022 19:32:11 +0900 -Subject: [PATCH] Make tbb compile with musl libc (#748) - -TBB resumable tasks are implemented using getcontext() and setcontext() -on Unix-like systems. These functions are deprecated in the recent -versions of POSIX and may not exist. musl libc does not provide these -functions. - -There's unfortunately no way to detect musl (musl intentionally do not -define macros like `__MUSL__`), so __TBB_RESUMABLE_TASKS is defined if -`__GLIBC__`. glibc-compatible libc's such as uClibc defines `__GLIBC__`, -so it should work as a catch-all condition. - -Signed-off-by: Rui Ueyama <ruiu@cs.stanford.edu> ---- a/include/oneapi/tbb/detail/_config.h -+++ b/include/oneapi/tbb/detail/_config.h -@@ -268,7 +268,7 @@ - #define __TBB_CPP20_COMPARISONS_PRESENT __TBB_CPP20_PRESENT - #endif - --#define __TBB_RESUMABLE_TASKS (!__TBB_WIN8UI_SUPPORT && !__ANDROID__ && !__QNXNTO__) -+#define __TBB_RESUMABLE_TASKS (!__TBB_WIN8UI_SUPPORT && !__ANDROID__ && !__QNXNTO__ && (!__linux__ || __GLIBC__)) - - /* This macro marks incomplete code or comments describing ideas which are considered for the future. - * See also for plain comment with TODO and FIXME marks for small improvement opportunities. - diff --git a/dev-cpp/tbb/files/tbb-2021.5.0-x86-mwaitpkg.patch b/dev-cpp/tbb/files/tbb-2021.5.0-x86-mwaitpkg.patch deleted file mode 100644 index 83f119a9acd3..000000000000 --- a/dev-cpp/tbb/files/tbb-2021.5.0-x86-mwaitpkg.patch +++ /dev/null @@ -1,43 +0,0 @@ -https://github.com/oneapi-src/oneTBB/pull/609 -https://github.com/oneapi-src/oneTBB/issues/370 -https://bugs.gentoo.org/842762 - -From 542a27fa1cfafaf76772e793549d9f4d288d03a9 Mon Sep 17 00:00:00 2001 -From: Ilya Isaev <ilya.isaev@intel.com> -Date: Fri, 8 Oct 2021 10:18:16 +0300 -Subject: [PATCH] Detect 32 bit x86 systems while adding -mwaitpkg option - -Signed-off-by: Ilya Isaev <ilya.isaev@intel.com> ---- a/cmake/compilers/Clang.cmake -+++ b/cmake/compilers/Clang.cmake -@@ -44,7 +44,7 @@ if (NOT TBB_STRICT AND COMMAND tbb_remove_compile_flag) - endif() - - # Enable Intel(R) Transactional Synchronization Extensions (-mrtm) and WAITPKG instructions support (-mwaitpkg) on relevant processors --if (CMAKE_SYSTEM_PROCESSOR MATCHES "(x86|AMD64)") -+if (CMAKE_SYSTEM_PROCESSOR MATCHES "(x86|AMD64|i.86)") - set(TBB_COMMON_COMPILE_FLAGS ${TBB_COMMON_COMPILE_FLAGS} -mrtm $<$<NOT:$<VERSION_LESS:${CMAKE_CXX_COMPILER_VERSION},12.0>>:-mwaitpkg>) - endif() - ---- a/cmake/compilers/GNU.cmake -+++ b/cmake/compilers/GNU.cmake -@@ -36,7 +36,7 @@ if (NOT CMAKE_GENERATOR MATCHES "Ninja" AND NOT CMAKE_CXX_DEPENDS_USE_COMPILER) - endif() - - # Enable Intel(R) Transactional Synchronization Extensions (-mrtm) and WAITPKG instructions support (-mwaitpkg) on relevant processors --if (CMAKE_SYSTEM_PROCESSOR MATCHES "(x86|AMD64)") -+if (CMAKE_SYSTEM_PROCESSOR MATCHES "(x86|AMD64|i.86)") - set(TBB_COMMON_COMPILE_FLAGS ${TBB_COMMON_COMPILE_FLAGS} -mrtm $<$<AND:$<NOT:$<CXX_COMPILER_ID:Intel>>,$<NOT:$<VERSION_LESS:${CMAKE_CXX_COMPILER_VERSION},11.0>>>:-mwaitpkg>) - endif() - ---- a/cmake/compilers/MSVC.cmake -+++ b/cmake/compilers/MSVC.cmake -@@ -72,7 +72,7 @@ if (TBB_WINDOWS_DRIVER) - endif() - - if (CMAKE_CXX_COMPILER_ID MATCHES "(Clang|IntelLLVM)") -- if (CMAKE_SYSTEM_PROCESSOR MATCHES "(x86|AMD64)") -+ if (CMAKE_SYSTEM_PROCESSOR MATCHES "(x86|AMD64|i.86)") - set(TBB_COMMON_COMPILE_FLAGS ${TBB_COMMON_COMPILE_FLAGS} -mrtm -mwaitpkg) - endif() - set(TBB_OPENMP_NO_LINK_FLAG TRUE) diff --git a/dev-cpp/tbb/tbb-2020.3.ebuild b/dev-cpp/tbb/tbb-2020.3.ebuild index 27479b3e46af..36dc24e44018 100644 --- a/dev-cpp/tbb/tbb-2020.3.ebuild +++ b/dev-cpp/tbb/tbb-2020.3.ebuild @@ -1,9 +1,9 @@ -# Copyright 1999-2023 Gentoo Authors +# Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 -inherit flag-o-matic multilib-minimal multilib toolchain-funcs +inherit flag-o-matic multilib-minimal multilib multibuild toolchain-funcs PV1="$(ver_cut 1)" PV2="$(ver_cut 2)" @@ -40,6 +40,9 @@ src_prepare() { } multilib_src_configure() { + # Workaround for bug #912210 + append-ldflags $(test-flags-CCLD -Wl,--undefined-version) + # pc files are for debian and fedora compatibility # some deps use them cat <<-EOF > ${PN}.pc.template diff --git a/dev-cpp/tbb/tbb-2021.10.0.ebuild b/dev-cpp/tbb/tbb-2021.12.0.ebuild index 2e11233b7583..ac958e5973a4 100644 --- a/dev-cpp/tbb/tbb-2021.10.0.ebuild +++ b/dev-cpp/tbb/tbb-2021.12.0.ebuild @@ -1,9 +1,9 @@ -# Copyright 1999-2023 Gentoo Authors +# Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 -inherit cmake-multilib +inherit cmake-multilib flag-o-matic DESCRIPTION="High level abstract threading library" HOMEPAGE="https://github.com/oneapi-src/oneTBB" @@ -24,6 +24,7 @@ BDEPEND="virtual/pkgconfig" PATCHES=( "${FILESDIR}"/${PN}-2021.8.0-gcc-13.patch + "${FILESDIR}"/${PN}-2021.13.0-test-atomics.patch ) src_prepare() { @@ -35,6 +36,9 @@ src_prepare() { } src_configure() { + # Workaround for bug #912210 + append-ldflags $(test-flags-CCLD -Wl,--undefined-version) + local mycmakeargs=( -DTBB_TEST=$(usex test) -DTBB_ENABLE_IPO=OFF diff --git a/dev-cpp/tbb/tbb-2021.8.0.ebuild b/dev-cpp/tbb/tbb-2021.13.0.ebuild index 7fdc1d716762..ac958e5973a4 100644 --- a/dev-cpp/tbb/tbb-2021.8.0.ebuild +++ b/dev-cpp/tbb/tbb-2021.13.0.ebuild @@ -1,9 +1,9 @@ -# Copyright 1999-2023 Gentoo Authors +# Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 -inherit cmake-multilib +inherit cmake-multilib flag-o-matic DESCRIPTION="High level abstract threading library" HOMEPAGE="https://github.com/oneapi-src/oneTBB" @@ -23,8 +23,8 @@ DEPEND="${RDEPEND}" BDEPEND="virtual/pkgconfig" PATCHES=( - "${FILESDIR}"/${PN}-2021.7.0-pthread-eagain.patch "${FILESDIR}"/${PN}-2021.8.0-gcc-13.patch + "${FILESDIR}"/${PN}-2021.13.0-test-atomics.patch ) src_prepare() { @@ -36,6 +36,9 @@ src_prepare() { } src_configure() { + # Workaround for bug #912210 + append-ldflags $(test-flags-CCLD -Wl,--undefined-version) + local mycmakeargs=( -DTBB_TEST=$(usex test) -DTBB_ENABLE_IPO=OFF diff --git a/dev-cpp/tbb/tbb-2021.5.0-r1.ebuild b/dev-cpp/tbb/tbb-2021.5.0-r1.ebuild deleted file mode 100644 index edfd4bd37ec7..000000000000 --- a/dev-cpp/tbb/tbb-2021.5.0-r1.ebuild +++ /dev/null @@ -1,49 +0,0 @@ -# Copyright 1999-2022 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit cmake-multilib - -DESCRIPTION="High level abstract threading library" -HOMEPAGE="https://github.com/oneapi-src/oneTBB" -SRC_URI="https://github.com/oneapi-src/oneTBB/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz" -S="${WORKDIR}/oneTBB-${PV}" - -LICENSE="Apache-2.0" -# https://github.com/oneapi-src/oneTBB/blob/master/CMakeLists.txt#L53 -# libtbb<SONAME>-libtbbmalloc<SONAME>-libtbbbind<SONAME> -SLOT="0/12.5-2.5-3.5" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ppc ppc64 ~riscv ~sparc x86 ~amd64-linux ~x86-linux ~x64-macos" -IUSE="test" -RESTRICT="!test? ( test )" - -RDEPEND="!kernel_Darwin? ( sys-apps/hwloc:= )" -DEPEND="${RDEPEND}" -BDEPEND="virtual/pkgconfig" - -PATCHES=( - # should be in.. 2022? - "${FILESDIR}"/${PN}-2021.4.0-lto.patch - "${FILESDIR}"/${PN}-2021.5.0-musl-deepbind.patch - # bug 827883 - "${FILESDIR}"/${PN}-2021.4.0-missing-TBB_machine_fetchadd4.patch - # need to verify this is in master - "${FILESDIR}"/${PN}-2021.5.0-musl-mallinfo.patch - # musl again, should be in.. 2022? - "${FILESDIR}"/${PN}-2021.5.0-musl-setcontext.patch - # should be in.. 2022? - "${FILESDIR}"/${PN}-2021.5.0-x86-mwaitpkg.patch - - "${FILESDIR}"/${PN}-2021.5.0-flags-stripping.patch -) - -src_configure() { - local mycmakeargs=( - -DTBB_TEST=$(usex test) - -DTBB_ENABLE_IPO=OFF - -DTBB_STRICT=OFF - ) - - cmake-multilib_src_configure -} diff --git a/dev-cpp/tbb/tbb-2021.7.0-r1.ebuild b/dev-cpp/tbb/tbb-2021.7.0-r1.ebuild index 4263e849f7d0..dd9c26717c7e 100644 --- a/dev-cpp/tbb/tbb-2021.7.0-r1.ebuild +++ b/dev-cpp/tbb/tbb-2021.7.0-r1.ebuild @@ -1,9 +1,9 @@ -# Copyright 1999-2023 Gentoo Authors +# Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 -inherit cmake-multilib +inherit cmake-multilib flag-o-matic DESCRIPTION="High level abstract threading library" HOMEPAGE="https://github.com/oneapi-src/oneTBB" @@ -27,6 +27,9 @@ PATCHES=( ) src_configure() { + # Workaround for bug #912210 + append-ldflags $(test-flags-CCLD -Wl,--undefined-version) + local mycmakeargs=( -DTBB_TEST=$(usex test) -DTBB_ENABLE_IPO=OFF diff --git a/dev-cpp/tbb/tbb-2021.7.0.ebuild b/dev-cpp/tbb/tbb-2021.7.0.ebuild deleted file mode 100644 index 5f2737037ddb..000000000000 --- a/dev-cpp/tbb/tbb-2021.7.0.ebuild +++ /dev/null @@ -1,37 +0,0 @@ -# Copyright 1999-2022 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit cmake-multilib flag-o-matic - -DESCRIPTION="High level abstract threading library" -HOMEPAGE="https://github.com/oneapi-src/oneTBB" -SRC_URI="https://github.com/oneapi-src/oneTBB/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz" -S="${WORKDIR}/oneTBB-${PV}" - -LICENSE="Apache-2.0" -# https://github.com/oneapi-src/oneTBB/blob/master/CMakeLists.txt#L53 -# libtbb<SONAME>-libtbbmalloc<SONAME>-libtbbbind<SONAME> -SLOT="0/12.5-2.5-3.5" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ppc ppc64 ~riscv ~sparc x86 ~amd64-linux ~x86-linux ~x64-macos" -IUSE="test" -RESTRICT="!test? ( test )" - -RDEPEND="!kernel_Darwin? ( sys-apps/hwloc:= )" -DEPEND="${RDEPEND}" -BDEPEND="virtual/pkgconfig" - -src_configure() { - # bug #872287 - filter-flags -D_GLIBCXX_ASSERTIONS - append-cppflags -U_GLIBCXX_ASSERTIONS - - local mycmakeargs=( - -DTBB_TEST=$(usex test) - -DTBB_ENABLE_IPO=OFF - -DTBB_STRICT=OFF - ) - - cmake-multilib_src_configure -} diff --git a/dev-cpp/tbb/tbb-2021.9.0.ebuild b/dev-cpp/tbb/tbb-2021.9.0.ebuild index 2e24080c2a1e..bbcc7a8f808a 100644 --- a/dev-cpp/tbb/tbb-2021.9.0.ebuild +++ b/dev-cpp/tbb/tbb-2021.9.0.ebuild @@ -1,9 +1,9 @@ -# Copyright 1999-2023 Gentoo Authors +# Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 -inherit cmake-multilib +inherit cmake-multilib flag-o-matic DESCRIPTION="High level abstract threading library" HOMEPAGE="https://github.com/oneapi-src/oneTBB" @@ -24,6 +24,7 @@ BDEPEND="virtual/pkgconfig" PATCHES=( "${FILESDIR}"/${PN}-2021.8.0-gcc-13.patch + "${FILESDIR}"/${PN}-2021.13.0-test-atomics.patch ) src_prepare() { @@ -35,6 +36,9 @@ src_prepare() { } src_configure() { + # Workaround for bug #912210 + append-ldflags $(test-flags-CCLD -Wl,--undefined-version) + local mycmakeargs=( -DTBB_TEST=$(usex test) -DTBB_ENABLE_IPO=OFF diff --git a/dev-cpp/tclap/tclap-1.2.5.ebuild b/dev-cpp/tclap/tclap-1.2.5.ebuild index b25e71c2dc4c..96276e145256 100644 --- a/dev-cpp/tclap/tclap-1.2.5.ebuild +++ b/dev-cpp/tclap/tclap-1.2.5.ebuild @@ -1,18 +1,18 @@ -# Copyright 2007-2022 Gentoo Authors +# Copyright 2007-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 DESCRIPTION="Simple templatized C++ library for parsing command line arguments" HOMEPAGE="http://tclap.sourceforge.net" -SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz" +SRC_URI="https://downloads.sourceforge.net/${PN}/${P}.tar.gz" LICENSE="MIT" SLOT="0" KEYWORDS="amd64 ~arm arm64 ~hppa ~loong ppc ppc64 ~riscv sparc x86 ~amd64-linux" IUSE="doc" -BDEPEND="doc? ( app-doc/doxygen )" +BDEPEND="doc? ( app-text/doxygen )" src_configure() { econf $(use_enable doc doxygen) diff --git a/dev-cpp/tomlplusplus/Manifest b/dev-cpp/tomlplusplus/Manifest new file mode 100644 index 000000000000..8fdc90bd67a4 --- /dev/null +++ b/dev-cpp/tomlplusplus/Manifest @@ -0,0 +1 @@ +DIST tomlplusplus-3.4.0.gh.tar.gz 1294731 BLAKE2B 9495ccd78707ced11744eab7c1c0bf0c0c28e283d186195bb48d1059bae7eb1a874bc964b0fc45210fd73ffd7485ecf3e1159da227d0e1c8ff249e79c08eecf0 SHA512 c227fc8147c9459b29ad24002aaf6ab2c42fac22ea04c1c52b283a0172581ccd4527b33c1931e0ef0d1db6b6a53f9e9882c6d4231c7f3494cf070d0220741aa5 diff --git a/dev-cpp/tomlplusplus/metadata.xml b/dev-cpp/tomlplusplus/metadata.xml new file mode 100644 index 000000000000..e1c27afbcec2 --- /dev/null +++ b/dev-cpp/tomlplusplus/metadata.xml @@ -0,0 +1,15 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person" proxied="yes"> + <email>julien@jroy.ca</email> + <name>Julien Roy</name> + </maintainer> + <maintainer type="project" proxied="proxy"> + <email>proxy-maint@gentoo.org</email> + <name>Proxy Maintainers</name> + </maintainer> + <upstream> + <remote-id type="github">marzer/tomlplusplus</remote-id> + </upstream> +</pkgmetadata> diff --git a/dev-cpp/tomlplusplus/tomlplusplus-3.4.0.ebuild b/dev-cpp/tomlplusplus/tomlplusplus-3.4.0.ebuild new file mode 100644 index 000000000000..9c8941ea61d9 --- /dev/null +++ b/dev-cpp/tomlplusplus/tomlplusplus-3.4.0.ebuild @@ -0,0 +1,39 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit meson + +DESCRIPTION="TOML config file parser and serializer" +HOMEPAGE=" +https://marzer.github.io/tomlplusplus/ +https://github.com/marzer/tomlplusplus +" +SRC_URI="https://github.com/marzer/tomlplusplus/archive/refs/tags/v${PV}.tar.gz -> ${P}.gh.tar.gz" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="amd64 ~arm64 ~riscv" + +IUSE="test" +RESTRICT="!test? ( test )" + +src_configure() { + local emesonargs=( + -Dbuild_lib=true + -Dgenerate_cmake_config=true + -Duse_vendored_libs=true # for test dependencies, header only and very restrictive version requirements + $(meson_use test build_tests) + ) + + meson_src_configure +} + +src_test() { + local emesontestargs=( + 'tests - C' + ) + + meson_src_test "${emesontestargs[@]}" +} diff --git a/dev-cpp/tree/Manifest b/dev-cpp/tree/Manifest index e15c6b6bc9ee..b7bf3066bc41 100644 --- a/dev-cpp/tree/Manifest +++ b/dev-cpp/tree/Manifest @@ -1 +1,2 @@ DIST tree-3.17.tar.gz 1178425 BLAKE2B f59239b861c0495c48036d0fffa49370d4cd78a94bfc35348bbbe0232a3c1221293a23366a6289429adabcb00b21292288ce085fa54f74dc204537c95c5b7c37 SHA512 af11f693c13dd37dddf016751c0f975c21d7a5ad405879e18fbe5387400ee1fcfb42942ee8888efffcb0c985d7875f2698591139aeb18b4809e83e225a743112 +DIST tree-3.18.tar.gz 1179107 BLAKE2B d05f90c58e203800a7482d0d7b36625dc32e9d3321a65f80fda380d2d7c214be1f47bc01d9f20fe2e287eeafdebe4180940ba7dbc7f78c12072193cbb95c2df1 SHA512 df9047fcd92ac5137af47dd03582fa1ba87651f112a91a1d61eecf3916af1a2130e1841e954af9b6eeb167da33c9e50c2662ecdcc5317e67173ba50f77afeae0 diff --git a/dev-cpp/tree/metadata.xml b/dev-cpp/tree/metadata.xml index 4c2b6ad9bcc9..9a339da1603b 100644 --- a/dev-cpp/tree/metadata.xml +++ b/dev-cpp/tree/metadata.xml @@ -12,4 +12,7 @@ others). Where possible the access methods are compatible with the STL or alternative algorithms are available. </longdescription> + <upstream> + <remote-id type="github">kpeeters/tree.hh</remote-id> + </upstream> </pkgmetadata> diff --git a/dev-cpp/tree/tree-3.18.ebuild b/dev-cpp/tree/tree-3.18.ebuild new file mode 100644 index 000000000000..33b480f4a325 --- /dev/null +++ b/dev-cpp/tree/tree-3.18.ebuild @@ -0,0 +1,39 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DOCS_BUILDER="doxygen" +DOCS_CONFIG_NAME="doxygen_tree.config" +DOCS_DIR="doc" + +inherit docs toolchain-funcs + +DESCRIPTION="An STL-like tree class" +HOMEPAGE="https://github.com/kpeeters/tree.hh" +SRC_URI="https://github.com/kpeeters/tree.hh/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz" +S="${WORKDIR}/${PN}.hh-${PV}" + +LICENSE="|| ( GPL-2 GPL-3 )" +SLOT="0" +KEYWORDS="~amd64 ~ppc64 ~x86 ~amd64-linux ~x86-linux ~ppc-macos" + +src_configure() { + tc-export CXX +} + +src_compile() { + docs_compile +} + +src_test() { + cd src || die + emake + emake run_tests +} + +src_install() { + doheader src/tree.hh src/tree_util.hh + dodoc -r examples + einstalldocs +} diff --git a/dev-cpp/valijson/Manifest b/dev-cpp/valijson/Manifest index b112a7c010c0..e485a9f791ba 100644 --- a/dev-cpp/valijson/Manifest +++ b/dev-cpp/valijson/Manifest @@ -1 +1,2 @@ +DIST valijson-1.0.2.tar.gz 723131 BLAKE2B ada64202d1c82f4e24c8fb3935a070ee40a24e8b75712fd4392f19c93c363d293db788cd1481ed3a857721fcd6f87e2d91c3b9779863fb6e2421ba4ee4f1d1f7 SHA512 c1141e533d6a791a01883c5b7ab9501eebc39057a850d784670a4bcf99bff3fee4c3120107128dcaa9db0505adf2ae794700620c02163b3e636f0b635031df80 DIST valijson-1.0.tar.gz 721078 BLAKE2B 74f4a061266a6ee8fba9d93b4e1df20dc828d85169f865bdb60ba9f5217ee422324a09788b02b4ddd18a92d906c64863a5bd7c1250f8bdb62fd9f00f3d73c7e7 SHA512 a206954b11e92cbebbebf094e6f0925a270ebd6bec49cbdb7adda5a4cec93587a5a61ebbce105846c3950cf5df74bfdd5f5bb1ffbf73315f45c7a6cda2b77db9 diff --git a/dev-cpp/valijson/valijson-1.0.2.ebuild b/dev-cpp/valijson/valijson-1.0.2.ebuild new file mode 100644 index 000000000000..b0c20539683e --- /dev/null +++ b/dev-cpp/valijson/valijson-1.0.2.ebuild @@ -0,0 +1,20 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit cmake + +DESCRIPTION="Header-only C++ library for JSON Schema validation" +HOMEPAGE="https://github.com/tristanpenman/valijson" +SRC_URI="https://github.com/tristanpenman/valijson/archive/v${PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="BSD-2 Boost-1.0" +SLOT="0" +KEYWORDS="~amd64 ~arm64 ~x86" +RESTRICT="test" + +src_install() { + # there is no target for installing headers, so do it manually + doheader -r include/* +} diff --git a/dev-cpp/waylandpp/waylandpp-1.0.0-r1.ebuild b/dev-cpp/waylandpp/waylandpp-1.0.0-r1.ebuild index 6ba27d433755..366b2ef8b527 100644 --- a/dev-cpp/waylandpp/waylandpp-1.0.0-r1.ebuild +++ b/dev-cpp/waylandpp/waylandpp-1.0.0-r1.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2023 Gentoo Authors +# Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -27,7 +27,7 @@ RDEPEND=" " DEPEND="${RDEPEND} doc? ( - app-doc/doxygen + app-text/doxygen media-gfx/graphviz ) " diff --git a/dev-cpp/waylandpp/waylandpp-1.0.0.ebuild b/dev-cpp/waylandpp/waylandpp-1.0.0.ebuild index 1cb87ff01ab5..eb1b99ee4e28 100644 --- a/dev-cpp/waylandpp/waylandpp-1.0.0.ebuild +++ b/dev-cpp/waylandpp/waylandpp-1.0.0.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2022 Gentoo Authors +# Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -27,7 +27,7 @@ RDEPEND=" " DEPEND="${RDEPEND} doc? ( - app-doc/doxygen + app-text/doxygen media-gfx/graphviz ) " diff --git a/dev-cpp/waylandpp/waylandpp-9999.ebuild b/dev-cpp/waylandpp/waylandpp-9999.ebuild index ed2592fab36d..5cdaa6a0078f 100644 --- a/dev-cpp/waylandpp/waylandpp-9999.ebuild +++ b/dev-cpp/waylandpp/waylandpp-9999.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2022 Gentoo Authors +# Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -27,7 +27,7 @@ RDEPEND=" " DEPEND="${RDEPEND} doc? ( - app-doc/doxygen + app-text/doxygen media-gfx/graphviz ) " diff --git a/dev-cpp/xsimd/Manifest b/dev-cpp/xsimd/Manifest index 11ae1449e178..b126af725d2e 100644 --- a/dev-cpp/xsimd/Manifest +++ b/dev-cpp/xsimd/Manifest @@ -1 +1,3 @@ DIST xsimd-11.1.0.tar.gz 219350 BLAKE2B 2bbbc4f7dbe489a407fe798b146c008aba44664efc943c2e1507d5c6e7da2a03ed91abf0d872e5abf9bd94be3e76bef276ec5b47d4e356b42a7b4c680bd6f3d9 SHA512 3a6141dfa4d95a977f4222880dfd06197613d153a78a84653022423279eec037ea9def08ae225aba7231c0b2c434ab7c907c965f8367fb0db9b96113980b51f3 +DIST xsimd-12.1.1.tar.gz 253141 BLAKE2B 29efbb045d8ade8737d702a73f3d0a912111dd4fbc84485c0e54c8b06d73edbb4b85f4b51e24da9bed0dea010b0cce9d99b57e20e8b94d3daf90d46031548eb9 SHA512 8e45a8e9b28358d5f20f713ea19a8c366edc62790c27984149f283dfe808d78a549c8ec465e8b3677d7e30b2cb80093908de364bbb9dc80683f5fdfb843131e1 +DIST xsimd-13.0.0.tar.gz 259967 BLAKE2B 63267c75a7e8ed2e8689a912e79a1d012ff3cf3813969f97a640801e372ec9e66a6e3d3034b6918a30dc3374e8211fd1107f1309156354b6bca6ba17c6f132b4 SHA512 cdc42ddad3353297cf25ea2b6b3f09967f5f388efc26241f2997979fdbbac072819ff771145bc5bfa86cb326cca84b4119e8e6e3f658407961cf203a40603a7f diff --git a/dev-cpp/xsimd/files/xsimd-12.1.1-no-march.patch b/dev-cpp/xsimd/files/xsimd-12.1.1-no-march.patch new file mode 100644 index 000000000000..c830d584bc54 --- /dev/null +++ b/dev-cpp/xsimd/files/xsimd-12.1.1-no-march.patch @@ -0,0 +1,71 @@ +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,10 +30,6 @@ include(CheckCXXCompilerFlag) + string(TOUPPER "${CMAKE_BUILD_TYPE}" U_CMAKE_BUILD_TYPE) + + 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) + CHECK_CXX_COMPILER_FLAG("-std=c++11" HAS_CPP11_FLAG) + if (ENABLE_XTL_COMPLEX) +--- a/examples/CMakeLists.txt ++++ b/examples/CMakeLists.txt +@@ -26,15 +26,6 @@ else() + message(STATUS "Tests build type is ${CMAKE_BUILD_TYPE}") + endif() + +-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") +- endif() +-endif() +- + add_executable(mandelbrot mandelbrot.cpp ${XSIMD_HEADERS}) + set_property(TARGET mandelbrot PROPERTY CXX_STANDARD 14) + if(ENABLE_XTL_COMPLEX) +--- a/test/CMakeLists.txt ++++ b/test/CMakeLists.txt +@@ -41,10 +41,6 @@ OPTION(XSIMD_ENABLE_WERROR "Turn on -Werror" OFF) + + OPTION(CROSS_COMPILE_ARM "cross compile for ARM targets" OFF) + +-# 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") +- + if (CMAKE_CXX_COMPILER_ID MATCHES "Clang" OR CMAKE_CXX_COMPILER_ID MATCHES "GNU" OR CMAKE_CXX_COMPILER_ID MATCHES "Intel") + if (NOT WIN32 AND NOT ANDROID) + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wunused-parameter -Wextra -Wreorder") +@@ -79,10 +75,6 @@ if (CMAKE_CXX_COMPILER_ID MATCHES "Clang" OR CMAKE_CXX_COMPILER_ID MATCHES "GNU" + include_directories(/usr/${ARM_ARCH_DIRECTORY}/include/c++/${ARM_GCC_VER}/${ARM_ARCH_DIRECTORY}/) + include_directories(/usr/${ARM_ARCH_DIRECTORY}/include/c++/${ARM_GCC_VER}/) + 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") + else () +@@ -91,13 +83,9 @@ if (CMAKE_CXX_COMPILER_ID MATCHES "Clang" OR CMAKE_CXX_COMPILER_ID MATCHES "GNU" + 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(NOT WIN32 AND NOT EMSCRIPTEN) +- 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=${TARGET_ARCH}") +- endif() + endif() + endif() + diff --git a/dev-cpp/xsimd/files/xsimd-13.0.0-detection-simd-with-mitigations.patch b/dev-cpp/xsimd/files/xsimd-13.0.0-detection-simd-with-mitigations.patch new file mode 100644 index 000000000000..6aab22cd8416 --- /dev/null +++ b/dev-cpp/xsimd/files/xsimd-13.0.0-detection-simd-with-mitigations.patch @@ -0,0 +1,148 @@ +https://mail.kde.org/pipermail/distributions/2024-July/001511.html +https://github.com/xtensor-stack/xsimd/commit/96edf0340492fa9c080f5182b38358ca85baef5e + +From 96edf0340492fa9c080f5182b38358ca85baef5e Mon Sep 17 00:00:00 2001 +From: Dmitry Kazakov <dimula73@gmail.com> +Date: Tue, 28 May 2024 22:21:08 +0200 +Subject: [PATCH] Fix detection of SSE/AVX/AVX512 when they are explicitly + disabled by OS + +Some CPU vulnerability mitigations may disable AVX functionality +on the hardware level via the XCR0 register. We should check that +manually to verify that OS actually allows us to use this feature. + +See https://bugs.kde.org/show_bug.cgi?id=484622 + +Fix #1025 +--- + include/xsimd/config/xsimd_cpuid.hpp | 91 ++++++++++++++++++++++------ + 1 file changed, 72 insertions(+), 19 deletions(-) + +diff --git a/include/xsimd/config/xsimd_cpuid.hpp b/include/xsimd/config/xsimd_cpuid.hpp +index f22089bac..6dda3be09 100644 +--- a/include/xsimd/config/xsimd_cpuid.hpp ++++ b/include/xsimd/config/xsimd_cpuid.hpp +@@ -114,6 +114,35 @@ namespace xsimd + #endif + + #elif defined(__x86_64__) || defined(__i386__) || defined(_M_AMD64) || defined(_M_IX86) ++ ++ auto get_xcr0_low = []() noexcept ++ { ++ uint32_t xcr0; ++ ++#if defined(_MSC_VER) && _MSC_VER >= 1400 ++ ++ xcr0 = (uint32_t)_xgetbv(0); ++ ++#elif defined(__GNUC__) ++ ++ __asm__( ++ "xorl %%ecx, %%ecx\n" ++ "xgetbv\n" ++ : "=a"(xcr0) ++ : ++#if defined(__i386__) ++ : "ecx", "edx" ++#else ++ : "rcx", "rdx" ++#endif ++ ); ++ ++#else /* _MSC_VER < 1400 */ ++#error "_MSC_VER < 1400 is not supported" ++#endif /* _MSC_VER && _MSC_VER >= 1400 */ ++ return xcr0; ++ }; ++ + auto get_cpuid = [](int reg[4], int level, int count = 0) noexcept + { + +@@ -148,19 +177,43 @@ namespace xsimd + + get_cpuid(regs1, 0x1); + +- sse2 = regs1[3] >> 26 & 1; +- sse3 = regs1[2] >> 0 & 1; +- ssse3 = regs1[2] >> 9 & 1; +- sse4_1 = regs1[2] >> 19 & 1; +- sse4_2 = regs1[2] >> 20 & 1; +- fma3_sse42 = regs1[2] >> 12 & 1; ++ // OS can explicitly disable the usage of SSE/AVX extensions ++ // by setting an appropriate flag in CR0 register ++ // ++ // https://docs.kernel.org/admin-guide/hw-vuln/gather_data_sampling.html ++ ++ unsigned sse_state_os_enabled = 1; ++ unsigned avx_state_os_enabled = 1; ++ unsigned avx512_state_os_enabled = 1; ++ ++ // OSXSAVE: A value of 1 indicates that the OS has set CR4.OSXSAVE[bit ++ // 18] to enable XSETBV/XGETBV instructions to access XCR0 and ++ // to support processor extended state management using ++ // XSAVE/XRSTOR. ++ bool osxsave = regs1[2] >> 27 & 1; ++ if (osxsave) ++ { ++ ++ uint32_t xcr0 = get_xcr0_low(); ++ ++ sse_state_os_enabled = xcr0 >> 1 & 1; ++ avx_state_os_enabled = xcr0 >> 2 & sse_state_os_enabled; ++ avx512_state_os_enabled = xcr0 >> 6 & avx_state_os_enabled; ++ } ++ ++ sse2 = regs1[3] >> 26 & sse_state_os_enabled; ++ sse3 = regs1[2] >> 0 & sse_state_os_enabled; ++ ssse3 = regs1[2] >> 9 & sse_state_os_enabled; ++ sse4_1 = regs1[2] >> 19 & sse_state_os_enabled; ++ sse4_2 = regs1[2] >> 20 & sse_state_os_enabled; ++ fma3_sse42 = regs1[2] >> 12 & sse_state_os_enabled; + +- avx = regs1[2] >> 28 & 1; ++ avx = regs1[2] >> 28 & avx_state_os_enabled; + fma3_avx = avx && fma3_sse42; + + int regs8[4]; + get_cpuid(regs8, 0x80000001); +- fma4 = regs8[2] >> 16 & 1; ++ fma4 = regs8[2] >> 16 & avx_state_os_enabled; + + // sse4a = regs[2] >> 6 & 1; + +@@ -168,23 +221,23 @@ namespace xsimd + + int regs7[4]; + get_cpuid(regs7, 0x7); +- avx2 = regs7[1] >> 5 & 1; ++ avx2 = regs7[1] >> 5 & avx_state_os_enabled; + + int regs7a[4]; + get_cpuid(regs7a, 0x7, 0x1); +- avxvnni = regs7a[0] >> 4 & 1; ++ avxvnni = regs7a[0] >> 4 & avx_state_os_enabled; + + fma3_avx2 = avx2 && fma3_sse42; + +- avx512f = regs7[1] >> 16 & 1; +- avx512cd = regs7[1] >> 28 & 1; +- avx512dq = regs7[1] >> 17 & 1; +- avx512bw = regs7[1] >> 30 & 1; +- avx512er = regs7[1] >> 27 & 1; +- avx512pf = regs7[1] >> 26 & 1; +- avx512ifma = regs7[1] >> 21 & 1; +- avx512vbmi = regs7[2] >> 1 & 1; +- avx512vnni_bw = regs7[2] >> 11 & 1; ++ avx512f = regs7[1] >> 16 & avx512_state_os_enabled; ++ avx512cd = regs7[1] >> 28 & avx512_state_os_enabled; ++ avx512dq = regs7[1] >> 17 & avx512_state_os_enabled; ++ avx512bw = regs7[1] >> 30 & avx512_state_os_enabled; ++ avx512er = regs7[1] >> 27 & avx512_state_os_enabled; ++ avx512pf = regs7[1] >> 26 & avx512_state_os_enabled; ++ avx512ifma = regs7[1] >> 21 & avx512_state_os_enabled; ++ avx512vbmi = regs7[2] >> 1 & avx512_state_os_enabled; ++ avx512vnni_bw = regs7[2] >> 11 & avx512_state_os_enabled; + avx512vnni_vbmi = avx512vbmi && avx512vnni_bw; + #endif + } + diff --git a/dev-cpp/xsimd/files/xsimd-13.0.0-sve-rvv.patch b/dev-cpp/xsimd/files/xsimd-13.0.0-sve-rvv.patch new file mode 100644 index 000000000000..38ea56d1baa2 --- /dev/null +++ b/dev-cpp/xsimd/files/xsimd-13.0.0-sve-rvv.patch @@ -0,0 +1,88 @@ +https://mail.kde.org/pipermail/distributions/2024-July/001511.html +https://github.com/xtensor-stack/xsimd/commit/80a59235e3ffa51659aaa06f002bfd088b77023c + +From 80a59235e3ffa51659aaa06f002bfd088b77023c Mon Sep 17 00:00:00 2001 +From: Dmitry Kazakov <dimula73@gmail.com> +Date: Fri, 14 Jun 2024 10:19:55 +0200 +Subject: [PATCH] Fix xsimd::available_architectures().has() for sve and rvv + archs + +Ideally the patch CPU detection code should also check if the length +of SVE and RVV is actually supported by the current CPU implementation +(i.e. ZCR_Elx.LEN register for SVE and something else for RVV), but +I don't have such CPUs/emulators handy, so I cannot add such checks. + +Given that xsimd::available_architectures().has() is a new feature +of XSIMD13 and the length check has never been present in XSIMD, this +bug is not a regression at least. + +The patch also adds a unittest that reproduces the error the patch fixes +--- + include/xsimd/config/xsimd_cpuid.hpp | 12 ++++++++++-- + test/test_arch.cpp | 15 +++++++++++++++ + 2 files changed, 25 insertions(+), 2 deletions(-) + +diff --git a/include/xsimd/config/xsimd_cpuid.hpp b/include/xsimd/config/xsimd_cpuid.hpp +index 6dda3be09..8021fceb8 100644 +--- a/include/xsimd/config/xsimd_cpuid.hpp ++++ b/include/xsimd/config/xsimd_cpuid.hpp +@@ -42,6 +42,10 @@ namespace xsimd + #define ARCH_FIELD_EX(arch, field_name) \ + unsigned field_name; \ + XSIMD_INLINE bool has(::xsimd::arch) const { return this->field_name; } ++ ++#define ARCH_FIELD_EX_REUSE(arch, field_name) \ ++ XSIMD_INLINE bool has(::xsimd::arch) const { return this->field_name; } ++ + #define ARCH_FIELD(name) ARCH_FIELD_EX(name, name) + + ARCH_FIELD(sse2) +@@ -72,8 +76,12 @@ namespace xsimd + ARCH_FIELD(neon) + ARCH_FIELD(neon64) + ARCH_FIELD_EX(i8mm<::xsimd::neon64>, i8mm_neon64) +- ARCH_FIELD(sve) +- ARCH_FIELD(rvv) ++ ARCH_FIELD_EX(detail::sve<512>, sve) ++ ARCH_FIELD_EX_REUSE(detail::sve<256>, sve) ++ ARCH_FIELD_EX_REUSE(detail::sve<128>, sve) ++ ARCH_FIELD_EX(detail::rvv<512>, rvv) ++ ARCH_FIELD_EX_REUSE(detail::rvv<256>, rvv) ++ ARCH_FIELD_EX_REUSE(detail::rvv<128>, rvv) + ARCH_FIELD(wasm) + + #undef ARCH_FIELD +diff --git a/test/test_arch.cpp b/test/test_arch.cpp +index b42073358..f1f50d546 100644 +--- a/test/test_arch.cpp ++++ b/test/test_arch.cpp +@@ -38,6 +38,16 @@ struct check_supported + } + }; + ++struct check_cpu_has_intruction_set ++{ ++ template <class Arch> ++ void operator()(Arch arch) const ++ { ++ static_assert(std::is_same<decltype(xsimd::available_architectures().has(arch)), bool>::value, ++ "cannot test instruction set availability on CPU"); ++ } ++}; ++ + struct check_available + { + template <class Arch> +@@ -71,6 +81,11 @@ TEST_CASE("[multi arch support]") + xsimd::supported_architectures::for_each(check_supported {}); + } + ++ SUBCASE("xsimd::available_architectures::has") ++ { ++ xsimd::all_architectures::for_each(check_cpu_has_intruction_set {}); ++ } ++ + SUBCASE("xsimd::default_arch::name") + { + constexpr char const* name = xsimd::default_arch::name(); + diff --git a/dev-cpp/xsimd/xsimd-11.1.0-r1.ebuild b/dev-cpp/xsimd/xsimd-11.1.0-r1.ebuild index 01e6bdd5118f..52951201669e 100644 --- a/dev-cpp/xsimd/xsimd-11.1.0-r1.ebuild +++ b/dev-cpp/xsimd/xsimd-11.1.0-r1.ebuild @@ -1,4 +1,4 @@ -# Copyright 2023 Gentoo Authors +# Copyright 2023-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -12,13 +12,13 @@ SRC_URI="https://github.com/xtensor-stack/${PN}/archive/refs/tags/${PV}.tar.gz LICENSE="BSD" SLOT="0" -KEYWORDS="~amd64 arm arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86" +KEYWORDS="amd64 arm arm64 ~loong ~ppc ppc64 ~riscv ~s390 ~sparc x86" IUSE="doc test" RESTRICT="!test? ( test )" BDEPEND=" doc? ( - app-doc/doxygen + app-text/doxygen dev-python/breathe dev-python/sphinx dev-python/sphinx-rtd-theme diff --git a/dev-cpp/xsimd/xsimd-11.1.0.ebuild b/dev-cpp/xsimd/xsimd-12.1.1.ebuild index 29217564ceda..cf1c90d386a1 100644 --- a/dev-cpp/xsimd/xsimd-11.1.0.ebuild +++ b/dev-cpp/xsimd/xsimd-12.1.1.ebuild @@ -1,4 +1,4 @@ -# Copyright 2023 Gentoo Authors +# Copyright 2023-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -12,20 +12,23 @@ SRC_URI="https://github.com/xtensor-stack/${PN}/archive/refs/tags/${PV}.tar.gz LICENSE="BSD" SLOT="0" -KEYWORDS="~amd64 ~arm ~arm64 ~loong ~riscv ~sparc ~x86" +KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" IUSE="doc test" RESTRICT="!test? ( test )" BDEPEND=" doc? ( - app-doc/doxygen + app-text/doxygen dev-python/breathe dev-python/sphinx dev-python/sphinx-rtd-theme ) test? ( dev-cpp/doctest )" -PATCHES=( "${FILESDIR}"/${P}-c++17.patch ) +PATCHES=( + "${FILESDIR}"/${PN}-11.1.0-c++17.patch + "${FILESDIR}"/${P}-no-march.patch +) src_prepare() { sed -i \ diff --git a/dev-cpp/xsimd/xsimd-13.0.0.ebuild b/dev-cpp/xsimd/xsimd-13.0.0.ebuild new file mode 100644 index 000000000000..41414ef626b6 --- /dev/null +++ b/dev-cpp/xsimd/xsimd-13.0.0.ebuild @@ -0,0 +1,60 @@ +# Copyright 2023-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit cmake + +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 + dev-python/breathe + dev-python/sphinx + dev-python/sphinx-rtd-theme + ) + test? ( dev-cpp/doctest )" + +PATCHES=( + "${FILESDIR}"/${PN}-11.1.0-c++17.patch + "${FILESDIR}"/${PN}-12.1.1-no-march.patch + "${FILESDIR}"/${PN}-13.0.0-sve-rvv.patch + "${FILESDIR}"/${PN}-13.0.0-detection-simd-with-mitigations.patch +) + +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() { + cmake_src_install + if use doc; then + dodoc -r docs/build/html + fi +} |