summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'dev-cpp')
-rw-r--r--dev-cpp/abseil-cpp/Manifest2
-rw-r--r--dev-cpp/abseil-cpp/abseil-cpp-20200923.3.ebuild76
-rw-r--r--dev-cpp/abseil-cpp/files/abseil-cpp-20200923-arm_no_crypto.patch23
-rw-r--r--dev-cpp/abseil-cpp/files/abseil-cpp-20210324.1-glibc-2.34.patch14
-rw-r--r--dev-cpp/abseil-cpp/metadata.xml8
-rw-r--r--dev-cpp/antlr-cpp/antlr-cpp-2.7.7-r2.ebuild4
-rw-r--r--dev-cpp/asio/asio-1.28.1.ebuild4
-rw-r--r--dev-cpp/atkmm/atkmm-2.28.3.ebuild4
-rw-r--r--dev-cpp/benchmark/Manifest1
-rw-r--r--dev-cpp/benchmark/benchmark-1.8.3-r1.ebuild (renamed from dev-cpp/benchmark/benchmark-1.8.2.ebuild)15
-rw-r--r--dev-cpp/benchmark/benchmark-1.8.3.ebuild11
-rw-r--r--dev-cpp/benchmark/files/benchmark-1.8.3-backport-pr1753.patch94
-rw-r--r--dev-cpp/benchmark/files/benchmark-1.8.3-backport-pr1756.patch89
-rw-r--r--dev-cpp/benchmark/files/benchmark-1.8.3-fix-32bit-test.patch20
-rw-r--r--dev-cpp/benchmark/metadata.xml3
-rw-r--r--dev-cpp/cairomm/Manifest1
-rw-r--r--dev-cpp/cairomm/cairomm-1.14.4.ebuild4
-rw-r--r--dev-cpp/cairomm/cairomm-1.16.2.ebuild50
-rw-r--r--dev-cpp/cairomm/cairomm-1.18.0.ebuild6
-rw-r--r--dev-cpp/catch/Manifest5
-rw-r--r--dev-cpp/catch/catch-2.13.10.ebuild44
-rw-r--r--dev-cpp/catch/catch-3.5.2.ebuild (renamed from dev-cpp/catch/catch-3.4.0.ebuild)2
-rw-r--r--dev-cpp/catch/catch-3.5.3.ebuild46
-rw-r--r--dev-cpp/catch/catch-3.5.4.ebuild46
-rw-r--r--dev-cpp/cctz/Manifest1
-rw-r--r--dev-cpp/cctz/cctz-2.4.ebuild30
-rw-r--r--dev-cpp/clhpp/Manifest2
-rw-r--r--dev-cpp/clhpp/clhpp-2023.04.17.ebuild39
-rw-r--r--dev-cpp/clhpp/clhpp-2023.12.14.ebuild39
-rw-r--r--dev-cpp/clhpp/metadata.xml11
-rw-r--r--dev-cpp/cli11/Manifest2
-rw-r--r--dev-cpp/cli11/cli11-2.4.1.ebuild (renamed from dev-cpp/cli11/cli11-2.3.2.ebuild)21
-rw-r--r--dev-cpp/clucene/clucene-2.3.3.4-r9.ebuild4
-rw-r--r--dev-cpp/cpp-httplib/Manifest2
-rw-r--r--dev-cpp/cpp-httplib/cpp-httplib-0.14.1-r1.ebuild4
-rw-r--r--dev-cpp/cpp-httplib/cpp-httplib-0.14.1.ebuild56
-rw-r--r--dev-cpp/cpp-httplib/cpp-httplib-0.15.3.ebuild (renamed from dev-cpp/cpp-httplib/cpp-httplib-0.14.0.ebuild)41
-rw-r--r--dev-cpp/cppgir/Manifest3
-rw-r--r--dev-cpp/cppgir/cppgir-0_p20230926.ebuild4
-rw-r--r--dev-cpp/cppgir/cppgir-0_p20240110.ebuild (renamed from dev-cpp/cppgir/cppgir-0_p20230701.ebuild)6
-rw-r--r--dev-cpp/cppgir/cppgir-2.0_p20240315.ebuild46
-rw-r--r--dev-cpp/doctest/metadata.xml8
-rw-r--r--dev-cpp/eigen/Manifest2
-rw-r--r--dev-cpp/eigen/eigen-3.4.0-r1.ebuild4
-rw-r--r--dev-cpp/eigen/eigen-3.4.0-r2.ebuild457
-rw-r--r--dev-cpp/eigen/eigen-3.4.9999.ebuild432
-rw-r--r--dev-cpp/eigen/eigen-9999.ebuild428
-rw-r--r--dev-cpp/eigen/files/eigen-3.4.0-buildstring.patch27
-rw-r--r--dev-cpp/eigen/files/eigen-3.4.0-cxxstandard.patch108
-rw-r--r--dev-cpp/eigen/files/eigen-3.4.0-noansi.patch18
-rw-r--r--dev-cpp/eigen/files/eigen-9999-please_protect_your_min_with_parentheses.patch54
-rw-r--r--dev-cpp/eigen/metadata.xml17
-rw-r--r--dev-cpp/elfio/Manifest1
-rw-r--r--dev-cpp/elfio/elfio-3.11.ebuild32
-rw-r--r--dev-cpp/elfio/files/elfio-3.11-system-gtest.patch33
-rw-r--r--dev-cpp/expected-lite/expected-lite-0.6.3.ebuild4
-rw-r--r--dev-cpp/frugally-deep/Manifest1
-rw-r--r--dev-cpp/frugally-deep/frugally-deep-0.15.30.ebuild22
-rw-r--r--dev-cpp/frugally-deep/metadata.xml16
-rw-r--r--dev-cpp/functional-plus/Manifest1
-rw-r--r--dev-cpp/functional-plus/functional-plus-0.2.22.ebuild56
-rw-r--r--dev-cpp/functional-plus/metadata.xml16
-rw-r--r--dev-cpp/glibmm/Manifest5
-rw-r--r--dev-cpp/glibmm/glibmm-2.66.7.ebuild (renamed from dev-cpp/glibmm/glibmm-2.66.6.ebuild)4
-rw-r--r--dev-cpp/glibmm/glibmm-2.78.0.ebuild52
-rw-r--r--dev-cpp/glibmm/glibmm-2.78.1.ebuild (renamed from dev-cpp/glibmm/glibmm-2.76.0.ebuild)8
-rw-r--r--dev-cpp/glog/glog-0.6.0.ebuild4
-rw-r--r--dev-cpp/gstreamermm/gstreamermm-1.10.0-r1.ebuild4
-rw-r--r--dev-cpp/gtkmm/Manifest2
-rw-r--r--dev-cpp/gtkmm/gtkmm-2.24.5-r1.ebuild4
-rw-r--r--dev-cpp/gtkmm/gtkmm-3.24.8.ebuild4
-rw-r--r--dev-cpp/gtkmm/gtkmm-3.24.9.ebuild53
-rw-r--r--dev-cpp/gtkmm/gtkmm-4.10.0.ebuild52
-rw-r--r--dev-cpp/gtkmm/gtkmm-4.12.0.ebuild6
-rw-r--r--dev-cpp/gtksourceviewmm/gtksourceviewmm-3.18.0-r2.ebuild4
-rw-r--r--dev-cpp/highway/Manifest1
-rw-r--r--dev-cpp/highway/files/highway-1.0.7-Fix_UB_case_with_signed_overflow.patch29
-rw-r--r--dev-cpp/highway/highway-1.0.7-r1.ebuild41
-rw-r--r--dev-cpp/highway/highway-1.0.7.ebuild37
-rw-r--r--dev-cpp/jwt-cpp/Manifest1
-rw-r--r--dev-cpp/jwt-cpp/jwt-cpp-0.6.0.ebuild4
-rw-r--r--dev-cpp/jwt-cpp/jwt-cpp-0.7.0.ebuild80
-rw-r--r--dev-cpp/libcmis/Manifest2
-rw-r--r--dev-cpp/libcmis/files/libcmis-0.5.2-icu-64.2.patch17
-rw-r--r--dev-cpp/libcmis/libcmis-0.5.2-r2.ebuild70
-rw-r--r--dev-cpp/libcmis/libcmis-0.6.2.ebuild4
-rw-r--r--dev-cpp/libmcpp/files/libmcpp-2.7.2-incompatible-pointer-types.patch26
-rw-r--r--dev-cpp/libmcpp/files/mcpp-c99.patch59
-rw-r--r--dev-cpp/libmcpp/libmcpp-2.7.2_p5-r2.ebuild48
-rw-r--r--dev-cpp/libodb-sqlite/Manifest4
-rw-r--r--dev-cpp/libodb-sqlite/files/build2-0.13.0-libcpp-undefined-symol-vtable-for-match_any_but_newline-exec.patch38
-rw-r--r--dev-cpp/libodb-sqlite/files/build2-0.13.0_alpha0_pre20200710-nousrlocal.patch52
-rw-r--r--dev-cpp/libodb-sqlite/libodb-sqlite-2.5.0_beta19.ebuild118
-rw-r--r--dev-cpp/libodb-sqlite/libodb-sqlite-2.5.0_beta21.ebuild117
-rw-r--r--dev-cpp/libodb-sqlite/metadata.xml20
-rw-r--r--dev-cpp/libodb/Manifest4
-rw-r--r--dev-cpp/libodb/files/build2-0.13.0-libcpp-undefined-symol-vtable-for-match_any_but_newline-exec.patch38
-rw-r--r--dev-cpp/libodb/files/build2-0.13.0_alpha0_pre20200710-nousrlocal.patch52
-rw-r--r--dev-cpp/libodb/libodb-2.5.0_beta19.ebuild112
-rw-r--r--dev-cpp/libodb/libodb-2.5.0_beta21.ebuild111
-rw-r--r--dev-cpp/libodb/metadata.xml20
-rw-r--r--dev-cpp/libxmlpp/libxmlpp-2.42.2.ebuild4
-rw-r--r--dev-cpp/libxmlpp/libxmlpp-5.0.3.ebuild4
-rw-r--r--dev-cpp/magic_enum/Manifest1
-rw-r--r--dev-cpp/magic_enum/files/magic_enum-0.9.5-werror.patch22
-rw-r--r--dev-cpp/magic_enum/magic_enum-0.9.5.ebuild31
-rw-r--r--dev-cpp/mm-common/Manifest2
-rw-r--r--dev-cpp/mm-common/mm-common-1.0.6.ebuild (renamed from dev-cpp/mm-common/mm-common-1.0.5.ebuild)6
-rw-r--r--dev-cpp/ms-gsl/ms-gsl-4.0.0.ebuild4
-rw-r--r--dev-cpp/msgpack-cxx/msgpack-cxx-5.0.0.ebuild4
-rw-r--r--dev-cpp/msgpack-cxx/msgpack-cxx-6.0.0.ebuild4
-rw-r--r--dev-cpp/msgpack-cxx/msgpack-cxx-6.1.0.ebuild6
-rw-r--r--dev-cpp/nlohmann_json/Manifest1
-rw-r--r--dev-cpp/nlohmann_json/nlohmann_json-3.10.2.ebuild4
-rw-r--r--dev-cpp/nlohmann_json/nlohmann_json-3.11.3.ebuild66
-rw-r--r--dev-cpp/opentelemetry-cpp/opentelemetry-cpp-1.6.0.ebuild4
-rw-r--r--dev-cpp/pangomm/pangomm-2.46.3.ebuild4
-rw-r--r--dev-cpp/pangomm/pangomm-2.50.1.ebuild4
-rw-r--r--dev-cpp/prometheus-cpp/Manifest1
-rw-r--r--dev-cpp/prometheus-cpp/prometheus-cpp-1.2.4.ebuild41
-rw-r--r--dev-cpp/pystring/pystring-1.1.3-r1.ebuild4
-rw-r--r--dev-cpp/range-v3/range-v3-0.12.0.ebuild4
-rw-r--r--dev-cpp/rapidfuzz-cpp/Manifest4
-rw-r--r--dev-cpp/rapidfuzz-cpp/metadata.xml2
-rw-r--r--dev-cpp/rapidfuzz-cpp/rapidfuzz-cpp-3.0.2.ebuild (renamed from dev-cpp/rapidfuzz-cpp/rapidfuzz-cpp-2.1.1.ebuild)6
-rw-r--r--dev-cpp/rapidfuzz-cpp/rapidfuzz-cpp-3.0.4.ebuild (renamed from dev-cpp/rapidfuzz-cpp/rapidfuzz-cpp-2.2.3.ebuild)8
-rw-r--r--dev-cpp/robin-map/metadata.xml3
-rw-r--r--dev-cpp/scitokens-cpp/Manifest2
-rw-r--r--dev-cpp/scitokens-cpp/files/scitokens-cpp-1.1.0-invalid-vector-access.patch24
-rw-r--r--dev-cpp/scitokens-cpp/scitokens-cpp-1.1.0-r1.ebuild (renamed from dev-cpp/scitokens-cpp/scitokens-cpp-1.0.2-r1.ebuild)8
-rw-r--r--dev-cpp/scitokens-cpp/scitokens-cpp-1.1.1.ebuild (renamed from dev-cpp/scitokens-cpp/scitokens-cpp-1.1.0.ebuild)4
-rw-r--r--dev-cpp/sdbus-c++/files/sdbus-c++-1.4.0-fix-pkgconfig.patch94
-rw-r--r--dev-cpp/sdbus-c++/sdbus-c++-1.4.0-r1.ebuild (renamed from dev-cpp/sdbus-c++/sdbus-c++-1.4.0.ebuild)8
-rw-r--r--dev-cpp/simpleini/Manifest2
-rw-r--r--dev-cpp/simpleini/files/simpleini-4.22-disable-tests.patch16
-rw-r--r--dev-cpp/simpleini/files/simpleini-4.22-include-dir.patch35
-rw-r--r--dev-cpp/simpleini/simpleini-4.22-r1.ebuild32
-rw-r--r--dev-cpp/simpleini/simpleini-4.22.ebuild (renamed from dev-cpp/simpleini/simpleini-4.20.ebuild)0
-rw-r--r--dev-cpp/taskflow/taskflow-3.6.0.ebuild2
-rw-r--r--dev-cpp/tbb/Manifest2
-rw-r--r--dev-cpp/tbb/tbb-2020.3.ebuild7
-rw-r--r--dev-cpp/tbb/tbb-2021.10.0.ebuild7
-rw-r--r--dev-cpp/tbb/tbb-2021.11.0.ebuild48
-rw-r--r--dev-cpp/tbb/tbb-2021.12.0.ebuild48
-rw-r--r--dev-cpp/tbb/tbb-2021.5.0-r1.ebuild10
-rw-r--r--dev-cpp/tbb/tbb-2021.7.0-r1.ebuild7
-rw-r--r--dev-cpp/tbb/tbb-2021.7.0.ebuild5
-rw-r--r--dev-cpp/tbb/tbb-2021.8.0.ebuild7
-rw-r--r--dev-cpp/tbb/tbb-2021.9.0.ebuild7
-rw-r--r--dev-cpp/tclap/tclap-1.2.5.ebuild4
-rw-r--r--dev-cpp/tomlplusplus/Manifest1
-rw-r--r--dev-cpp/tomlplusplus/metadata.xml15
-rw-r--r--dev-cpp/tomlplusplus/tomlplusplus-3.4.0.ebuild39
-rw-r--r--dev-cpp/tree/Manifest1
-rw-r--r--dev-cpp/tree/metadata.xml3
-rw-r--r--dev-cpp/tree/tree-3.18.ebuild39
-rw-r--r--dev-cpp/waylandpp/waylandpp-1.0.0-r1.ebuild4
-rw-r--r--dev-cpp/waylandpp/waylandpp-1.0.0.ebuild4
-rw-r--r--dev-cpp/waylandpp/waylandpp-9999.ebuild4
-rw-r--r--dev-cpp/xsimd/Manifest1
-rw-r--r--dev-cpp/xsimd/files/xsimd-12.1.1-no-march.patch71
-rw-r--r--dev-cpp/xsimd/xsimd-11.1.0-r1.ebuild6
-rw-r--r--dev-cpp/xsimd/xsimd-12.1.1.ebuild (renamed from dev-cpp/xsimd/xsimd-11.1.0.ebuild)11
163 files changed, 3405 insertions, 1344 deletions
diff --git a/dev-cpp/abseil-cpp/Manifest b/dev-cpp/abseil-cpp/Manifest
index b1cb1b98c664..016f19bffe15 100644
--- a/dev-cpp/abseil-cpp/Manifest
+++ b/dev-cpp/abseil-cpp/Manifest
@@ -1,10 +1,8 @@
-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 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/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/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/asio/asio-1.28.1.ebuild b/dev-cpp/asio/asio-1.28.1.ebuild
index f11d6fe751c9..8cfbedfa0816 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
@@ -11,7 +11,7 @@ SRC_URI="mirror://sourceforge/${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/atkmm/atkmm-2.28.3.ebuild b/dev-cpp/atkmm/atkmm-2.28.3.ebuild
index a0b1f2ee8c64..0beb02b7b03d 100644
--- a/dev-cpp/atkmm/atkmm-2.28.3.ebuild
+++ b/dev-cpp/atkmm/atkmm-2.28.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
@@ -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..b154090faa00 100644
--- a/dev-cpp/benchmark/Manifest
+++ b/dev-cpp/benchmark/Manifest
@@ -1,2 +1 @@
-DIST benchmark-1.8.2.tar.gz 205926 BLAKE2B b39ee0c983e1b7417c54878507e692d9bc04d83da91c8059ae08373fc59286f28b8910d1d5ea425b0c512502de0aee51b10b1b191bac3ec29ec5f9ffc9056d64 SHA512 532f2cee66cf527ef4452a060cfdedba6417e5d8f72225d6bf50adf6422d9a769b0f54f48982b438fa9ced975ac47bcc5e62c3c23ce871b5cfdbcf9cc0d2b829
DIST benchmark-1.8.3.tar.gz 250206 BLAKE2B 14b4af17184a88378314d11623b73c27368999fcff6e50986407a08739fdf388cdcbd140471b629cd2a9948f81073796f8a6c38d015be8413b7e4d4759715f97 SHA512 4e12114251c79a426873cfba6e27270b69fc980cef9a68e9cb3170f8e2e203f77dee19ab1e65cad51cd67e60991d3bbfdd52553f22522ce5e6c611b5aa07602c
diff --git a/dev-cpp/benchmark/benchmark-1.8.2.ebuild b/dev-cpp/benchmark/benchmark-1.8.3-r1.ebuild
index c0045a92a8c9..5c20bb79f760 100644
--- a/dev-cpp/benchmark/benchmark-1.8.2.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.3.ebuild b/dev-cpp/benchmark/benchmark-1.8.3.ebuild
index 1ab5f296c427..5112ab78a558 100644
--- a/dev-cpp/benchmark/benchmark-1.8.3.ebuild
+++ b/dev-cpp/benchmark/benchmark-1.8.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
@@ -11,20 +11,19 @@ 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" )
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/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..ac75eeab418b 100644
--- a/dev-cpp/benchmark/metadata.xml
+++ b/dev-cpp/benchmark/metadata.xml
@@ -10,7 +10,4 @@
<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..c1b5939d9a91 100644
--- a/dev-cpp/cairomm/cairomm-1.14.4.ebuild
+++ b/dev-cpp/cairomm/cairomm-1.14.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
@@ -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..c9e3a10d3c5c 100644
--- a/dev-cpp/catch/Manifest
+++ b/dev-cpp/catch/Manifest
@@ -1,3 +1,6 @@
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
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-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/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..18994d1290b8
--- /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..07f4c4777c3d
--- /dev/null
+++ b/dev-cpp/clhpp/Manifest
@@ -0,0 +1,2 @@
+DIST clhpp-2023.04.17.tar.gz 115042 BLAKE2B df0db751eda9fe2f23a5e3ef97f263885a09ca4b341b24c9580522e84a192e9afe526a441d0e3660e8819492945b2ff89bff7c96cd1fd1b3bd6a177042ec759e SHA512 1e37af647a37737240de1622bd772e1f154a07c2d27e020487163c42d0833096c1a2f2f2185b8f6371889c2cad3992f0c7a9d233c36941367da743ee7ee8e486
+DIST clhpp-2023.12.14.tar.gz 123233 BLAKE2B 2b23639ad162921e01033fbacc1c4e57d9c28ce39c55b3564f162e5d6b6d9ed0e80aaefbd62de81157e165f01897e82d0ff4943c8ee620587840f4aece22319b SHA512 a90152d2f9c57d4724ef3ea33e1311914e49659042e916e467a9f16877d348ed62f909fe8423589976669b25241a3b996fbd7ac235a44e35947d1b87d3e3ef2b
diff --git a/dev-cpp/clhpp/clhpp-2023.04.17.ebuild b/dev-cpp/clhpp/clhpp-2023.04.17.ebuild
new file mode 100644
index 000000000000..9c106083d8d2
--- /dev/null
+++ b/dev-cpp/clhpp/clhpp-2023.04.17.ebuild
@@ -0,0 +1,39 @@
+# Copyright 1999-2023 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"
+IUSE="test"
+
+# 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=$(usex test)
+ )
+ cmake_src_configure
+}
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..a9a4c55d1789
--- /dev/null
+++ b/dev-cpp/clhpp/clhpp-2023.12.14.ebuild
@@ -0,0 +1,39 @@
+# Copyright 1999-2023 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"
+IUSE="test"
+
+# 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=$(usex test)
+ )
+ cmake_src_configure
+}
diff --git a/dev-cpp/clhpp/metadata.xml b/dev-cpp/clhpp/metadata.xml
new file mode 100644
index 000000000000..4fab41399c23
--- /dev/null
+++ b/dev-cpp/clhpp/metadata.xml
@@ -0,0 +1,11 @@
+<?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>
+ <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..53afcb9be806 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.1.tar.gz 339023 BLAKE2B 4db4bacc30ae5526135fe354e4f707f6858cb42b0662daafdde23cf397701c5185794d72794d920ef8f66ce846aafa718ac24fb567b04144d5b15905ed4badd7 SHA512 965290d09977672d3bc3c57ca4b89a88c2c09461da6e866b18217d702d4d5a0977588fcb8fef1a3c3804e61ad80d276029f47469cc83dbfdc7021ee35f6b7269
diff --git a/dev-cpp/cli11/cli11-2.3.2.ebuild b/dev-cpp/cli11/cli11-2.4.1.ebuild
index 3dc2b6902112..1dc668e0e23a 100644
--- a/dev-cpp/cli11/cli11-2.3.2.ebuild
+++ b/dev-cpp/cli11/cli11-2.4.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
@@ -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..59eb684d8609 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
@@ -18,7 +18,7 @@ KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv sparc
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..2ab9f647aa19 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
diff --git a/dev-cpp/cpp-httplib/cpp-httplib-0.14.1-r1.ebuild b/dev-cpp/cpp-httplib/cpp-httplib-0.14.1-r1.ebuild
index 3cfe690f11ed..1e17288b81d9 100644
--- a/dev-cpp/cpp-httplib/cpp-httplib-0.14.1-r1.ebuild
+++ b/dev-cpp/cpp-httplib/cpp-httplib-0.14.1-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
@@ -16,7 +16,7 @@ if [[ ${PV} == *9999* ]] ; then
else
SRC_URI="https://github.com/yhirose/${PN}/archive/v${PV}.tar.gz
-> ${P}.tar.gz"
- KEYWORDS="amd64 ~loong ~x86"
+ KEYWORDS="amd64 ~loong x86"
fi
LICENSE="MIT"
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.0.ebuild b/dev-cpp/cpp-httplib/cpp-httplib-0.15.3.ebuild
index a79c390594f2..8e738097790f 100644
--- a/dev-cpp/cpp-httplib/cpp-httplib-0.14.0.ebuild
+++ b/dev-cpp/cpp-httplib/cpp-httplib-0.15.3.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 ~sparc x86"
fi
LICENSE="MIT"
@@ -31,8 +33,12 @@ RDEPEND="
ssl? ( dev-libs/openssl:=[${MULTILIB_USEDEP}] )
zlib? ( sys-libs/zlib[${MULTILIB_USEDEP}] )
"
-DEPEND="${RDEPEND}"
-BDEPEND="${PYTHON_DEPS}"
+DEPEND="
+ ${RDEPEND}
+"
+BDEPEND="
+ ${PYTHON_DEPS}
+"
src_configure() {
local -a mycmakeargs=(
@@ -52,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/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..8f7f7db42bab
--- /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.9999.ebuild b/dev-cpp/eigen/eigen-3.4.9999.ebuild
new file mode 100644
index 000000000000..e4f1e0613661
--- /dev/null
+++ b/dev-cpp/eigen/eigen-3.4.9999.ebuild
@@ -0,0 +1,432 @@
+# 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.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_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_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() {
+ 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/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-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..5132ce563e14 100644
--- a/dev-cpp/glibmm/glibmm-2.66.6.ebuild
+++ b/dev-cpp/glibmm/glibmm-2.66.7.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="
${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/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/gstreamermm/gstreamermm-1.10.0-r1.ebuild b/dev-cpp/gstreamermm/gstreamermm-1.10.0-r1.ebuild
index 8f28a2ec3d97..a950c1971927 100644
--- a/dev-cpp/gstreamermm/gstreamermm-1.10.0-r1.ebuild
+++ b/dev-cpp/gstreamermm/gstreamermm-1.10.0-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
@@ -25,7 +25,7 @@ DEPEND="${RDEPEND}
dev-cpp/mm-common
virtual/pkgconfig
doc? (
- app-doc/doxygen
+ app-text/doxygen
dev-libs/libxslt
media-gfx/graphviz )
test? (
diff --git a/dev-cpp/gtkmm/Manifest b/dev-cpp/gtkmm/Manifest
index 39add9ce8313..c9a1b19f8ac4 100644
--- a/dev-cpp/gtkmm/Manifest
+++ b/dev-cpp/gtkmm/Manifest
@@ -1,4 +1,4 @@
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-r1.ebuild
index 6ed07f3d5f82..d70b1362ca74 100644
--- a/dev-cpp/gtkmm/gtkmm-2.24.5-r1.ebuild
+++ b/dev-cpp/gtkmm/gtkmm-2.24.5-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=6
@@ -28,7 +28,7 @@ DEPEND="${RDEPEND}
doc? (
media-gfx/graphviz
dev-libs/libxslt
- app-doc/doxygen )
+ app-text/doxygen )
"
src_prepare() {
diff --git a/dev-cpp/gtkmm/gtkmm-3.24.8.ebuild b/dev-cpp/gtkmm/gtkmm-3.24.8.ebuild
index 5169cfc4db3f..f0d1a12ae4bb 100644
--- a/dev-cpp/gtkmm/gtkmm-3.24.8.ebuild
+++ b/dev-cpp/gtkmm/gtkmm-3.24.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
@@ -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-3.24.9.ebuild b/dev-cpp/gtkmm/gtkmm-3.24.9.ebuild
new file mode 100644
index 000000000000..69fbd4385696
--- /dev/null
+++ b/dev-cpp/gtkmm/gtkmm-3.24.9.ebuild
@@ -0,0 +1,53 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+PYTHON_COMPAT=( python3_{10..12} )
+inherit gnome.org meson-multilib python-any-r1 virtualx
+
+DESCRIPTION="C++ interface for GTK+"
+HOMEPAGE="https://www.gtkmm.org https://gitlab.gnome.org/GNOME/gtkmm"
+
+LICENSE="LGPL-2.1+"
+SLOT="3.0"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~ppc ppc64 ~riscv ~sparc x86 ~amd64-linux ~x86-linux"
+
+IUSE="aqua gtk-doc test wayland X"
+REQUIRED_USE="|| ( aqua wayland X )"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ >=dev-cpp/atkmm-2.24.2:0[gtk-doc?,${MULTILIB_USEDEP}]
+ >=dev-cpp/cairomm-1.12.0:0[gtk-doc?,${MULTILIB_USEDEP}]
+ >=dev-cpp/glibmm-2.54.0:2[gtk-doc?,${MULTILIB_USEDEP}]
+ >=dev-cpp/pangomm-2.38.2:1.4[gtk-doc?,${MULTILIB_USEDEP}]
+ >=dev-libs/libsigc++-2.3.2:2[gtk-doc?,${MULTILIB_USEDEP}]
+ >=media-libs/libepoxy-1.2[${MULTILIB_USEDEP}]
+ >=x11-libs/gdk-pixbuf-2.35.5:2[${MULTILIB_USEDEP}]
+ >=x11-libs/gtk+-3.24.0:3[aqua?,wayland?,X=,${MULTILIB_USEDEP}]
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ virtual/pkgconfig
+ gtk-doc? (
+ app-text/doxygen[dot]
+ dev-lang/perl
+ dev-libs/libxslt
+ )
+ ${PYTHON_DEPS}
+"
+
+multilib_src_configure() {
+ local emesonargs=(
+ -Dbuild-atkmm-api=true
+ -Dbuild-demos=false
+ $(meson_native_use_bool gtk-doc build-documentation)
+ $(meson_use test build-tests)
+ $(meson_use X build-x11-api)
+ )
+ meson_src_configure
+}
+
+multilib_src_test() {
+ virtx meson_src_test
+}
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/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/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-r2.ebuild b/dev-cpp/libmcpp/libmcpp-2.7.2_p5-r2.ebuild
new file mode 100644
index 000000000000..3d410d6d4019
--- /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="mirror://sourceforge/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/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..8b815a510093 100644
--- a/dev-cpp/pangomm/pangomm-2.46.3.ebuild
+++ b/dev-cpp/pangomm/pangomm-2.46.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
@@ -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..c1015ac58a90 100644
--- a/dev-cpp/pangomm/pangomm-2.50.1.ebuild
+++ b/dev-cpp/pangomm/pangomm-2.50.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
@@ -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/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..1109148151c2 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..dc8c615537ec 100644
--- a/dev-cpp/rapidfuzz-cpp/Manifest
+++ b/dev-cpp/rapidfuzz-cpp/Manifest
@@ -1,2 +1,2 @@
-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.2.gh.tar.gz 301823 BLAKE2B 49743ab1634649bf5a2b33d91dce1877b0c3135345d9c187eb2d633a1bb804701697d8245a74cfde2a76564abeb3fc8228dce121dcc1a05f74630400d06bb659 SHA512 76c1c5cc193c023c3994404c634bfb071eb45e737fcf81a74f1fa6c345a4daf69202d96bb31041b5393f344c176709f466df46eeb0ee0c4c329e70a58b7cab9d
+DIST rapidfuzz-cpp-3.0.4.gh.tar.gz 301889 BLAKE2B eb4b27a0a6b4e5268036bb0fd79e57136685daf307d808de27515279bed63e1b934f504e9f7c22a20fbb028d322df824fce33398685708a2db3d11de93bd77d3 SHA512 c9cc50f7d68756d81a5d2c5efdd76e859fe5a199bf5e45179effcd85e32f0bb98b593b93c2aa57950a04c3d827af98efb13096b9669329881d658ababc059fd5
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.1.1.ebuild b/dev-cpp/rapidfuzz-cpp/rapidfuzz-cpp-3.0.2.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.2.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/rapidfuzz-cpp/rapidfuzz-cpp-2.2.3.ebuild b/dev-cpp/rapidfuzz-cpp/rapidfuzz-cpp-3.0.4.ebuild
index 63078e0eec4c..e9c6bbefe8e2 100644
--- a/dev-cpp/rapidfuzz-cpp/rapidfuzz-cpp-2.2.3.ebuild
+++ b/dev-cpp/rapidfuzz-cpp/rapidfuzz-cpp-3.0.4.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,15 +6,15 @@ 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
"
LICENSE="MIT"
SLOT="0"
-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"
IUSE="test"
RESTRICT="!test? ( test )"
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/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.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.22-r1.ebuild b/dev-cpp/simpleini/simpleini-4.22-r1.ebuild
new file mode 100644
index 000000000000..e584cfbdc410
--- /dev/null
+++ b/dev-cpp/simpleini/simpleini-4.22-r1.ebuild
@@ -0,0 +1,32 @@
+# Copyright 2022-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+DESCRIPTION="C++ library providing a simple API to read and write INI-style files"
+HOMEPAGE="https://github.com/brofield/simpleini/"
+SRC_URI="https://github.com/brofield/simpleini/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+DEPEND="test? ( dev-cpp/gtest )"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-include-dir.patch
+ "${FILESDIR}"/${P}-disable-tests.patch
+)
+
+src_configure() {
+ local mycmakeargs=(
+ -DBUILD_TESTING=$(usex test)
+ -DSIMPLEINI_USE_SYSTEM_GTEST=yes
+ )
+
+ cmake_src_configure
+}
diff --git a/dev-cpp/simpleini/simpleini-4.20.ebuild b/dev-cpp/simpleini/simpleini-4.22.ebuild
index ccc5bfadc70d..ccc5bfadc70d 100644
--- a/dev-cpp/simpleini/simpleini-4.20.ebuild
+++ b/dev-cpp/simpleini/simpleini-4.22.ebuild
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/tbb/Manifest b/dev-cpp/tbb/Manifest
index 341912467865..53078a6dae42 100644
--- a/dev-cpp/tbb/Manifest
+++ b/dev-cpp/tbb/Manifest
@@ -1,5 +1,7 @@
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.11.0.tar.gz 2613493 BLAKE2B 2b56042c8126709b6f36c1118685b28ddf2ff39b6563aae168d6bb8106d234757ff125a39da37f907a7da62f2f2ad64e4db01ca028d20c1e74def4ba2e92c1a6 SHA512 4779141b7602f2fa3a509fdd346824ba270a3a568df3649ce8cb51264d233df5cec5e5cb67b91319dd11d3d5e054697b4ed345e07216107985ddb6e1e7ef94e5
+DIST tbb-2021.12.0.tar.gz 2617255 BLAKE2B 3e1db8b1972a7225c5355def66ae40006e6e0f0f97e2efff45dd361f724e348a2f0476bc14b59f89f5361cac6fa36a4973602467bc7fbb2b8b139a4ff4dd58de SHA512 64022bcb61cf7b2030a1bcc11168445ef9f0d69b70290233a7febb71cc7a12cc2282dddc045f84e30893efe276342f02fd78d176706268eeaefe9aac7446d4e9
DIST tbb-2021.5.0.tar.gz 2463218 BLAKE2B 2d50d312b86318ba4923afe68753b3781f9646cbdb33861f3458301a3a19b7ca3aab6959dca085294dfc743d7f552635f80fb524ec5d780a46f58ffe02e3280d SHA512 0e7b71022e397a6d7abb0cea106847935ae79a1e12a6976f8d038668c6eca8775ed971202c5bd518f7e517092b67af805cc5feb04b5c3a40e9fbf972cc703a46
DIST tbb-2021.7.0.tar.gz 2571727 BLAKE2B 2977ef1a33d9bc7baa40e0e57c02e62798a09c6c66cdbe369f2702d87fd9877c3d97f8d83f71384028995ea0956f5c5630d4aaf4edbe68538e7c514d3b87085c SHA512 d314e3d88b85c96607a9eda15e3d808bf361eb562a534c59101929236e90c187883e7718e5435b5e7f01f4ee652c9765af95f5f173368b83997e4666b7403a49
DIST tbb-2021.8.0.tar.gz 2575336 BLAKE2B 2c3a7f0e59d70b17550f805461a15a520c7f1b3a37a41bd51c51f9f5863b50812d2b939351e11e0f4ceb3da8a47e413abe171bcb6bfb71c0fe2f81ed373f65f2 SHA512 72f68730dfd89409796f9548d3c302111787712089688a7c77092ed1b3a7bf4e7444fe4b58015d2c78b7b71259852526789b2483bf1e71bea8146c4b4676e7b4
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.10.0.ebuild
index 2e11233b7583..3d0e05e45514 100644
--- a/dev-cpp/tbb/tbb-2021.10.0.ebuild
+++ b/dev-cpp/tbb/tbb-2021.10.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"
@@ -27,6 +27,9 @@ PATCHES=(
)
src_prepare() {
+ # Workaround for bug #912210
+ append-ldflags $(test-flags-CCLD -Wl,--undefined-version)
+
# Has an #error to force compilation as C but links with C++ library, dies
# with GLIBCXX_ASSERTIONS as a result.
sed -i -e '/tbb_add_c_test(SUBDIR tbbmalloc NAME test_malloc_pure_c DEPENDENCIES TBB::tbbmalloc)/d' test/CMakeLists.txt || die
diff --git a/dev-cpp/tbb/tbb-2021.11.0.ebuild b/dev-cpp/tbb/tbb-2021.11.0.ebuild
new file mode 100644
index 000000000000..3ac69c080835
--- /dev/null
+++ b/dev-cpp/tbb/tbb-2021.11.0.ebuild
@@ -0,0 +1,48 @@
+# Copyright 1999-2024 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 ~loong ~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=(
+ "${FILESDIR}"/${PN}-2021.8.0-gcc-13.patch
+)
+
+src_prepare() {
+ # Has an #error to force compilation as C but links with C++ library, dies
+ # with GLIBCXX_ASSERTIONS as a result.
+ sed -i -e '/tbb_add_c_test(SUBDIR tbbmalloc NAME test_malloc_pure_c DEPENDENCIES TBB::tbbmalloc)/d' test/CMakeLists.txt || die
+
+ cmake_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
+ -DTBB_STRICT=OFF
+ )
+
+ cmake-multilib_src_configure
+}
diff --git a/dev-cpp/tbb/tbb-2021.12.0.ebuild b/dev-cpp/tbb/tbb-2021.12.0.ebuild
new file mode 100644
index 000000000000..3ac69c080835
--- /dev/null
+++ b/dev-cpp/tbb/tbb-2021.12.0.ebuild
@@ -0,0 +1,48 @@
+# Copyright 1999-2024 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 ~loong ~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=(
+ "${FILESDIR}"/${PN}-2021.8.0-gcc-13.patch
+)
+
+src_prepare() {
+ # Has an #error to force compilation as C but links with C++ library, dies
+ # with GLIBCXX_ASSERTIONS as a result.
+ sed -i -e '/tbb_add_c_test(SUBDIR tbbmalloc NAME test_malloc_pure_c DEPENDENCIES TBB::tbbmalloc)/d' test/CMakeLists.txt || die
+
+ cmake_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
+ -DTBB_STRICT=OFF
+ )
+
+ cmake-multilib_src_configure
+}
diff --git a/dev-cpp/tbb/tbb-2021.5.0-r1.ebuild b/dev-cpp/tbb/tbb-2021.5.0-r1.ebuild
index edfd4bd37ec7..adb066b4c2d9 100644
--- a/dev-cpp/tbb/tbb-2021.5.0-r1.ebuild
+++ b/dev-cpp/tbb/tbb-2021.5.0-r1.ebuild
@@ -1,9 +1,9 @@
-# Copyright 1999-2022 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"
@@ -39,6 +39,12 @@ PATCHES=(
)
src_configure() {
+ # Workaround for bug #912210
+ append-ldflags $(test-flags-CCLD -Wl,--undefined-version)
+
+ # 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-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
index 5f2737037ddb..972e90e1702f 100644
--- a/dev-cpp/tbb/tbb-2021.7.0.ebuild
+++ b/dev-cpp/tbb/tbb-2021.7.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
@@ -23,6 +23,9 @@ DEPEND="${RDEPEND}"
BDEPEND="virtual/pkgconfig"
src_configure() {
+ # Workaround for bug #912210
+ append-ldflags $(test-flags-CCLD -Wl,--undefined-version)
+
# bug #872287
filter-flags -D_GLIBCXX_ASSERTIONS
append-cppflags -U_GLIBCXX_ASSERTIONS
diff --git a/dev-cpp/tbb/tbb-2021.8.0.ebuild b/dev-cpp/tbb/tbb-2021.8.0.ebuild
index 7fdc1d716762..9b77bc83b8e5 100644
--- a/dev-cpp/tbb/tbb-2021.8.0.ebuild
+++ b/dev-cpp/tbb/tbb-2021.8.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"
@@ -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.9.0.ebuild b/dev-cpp/tbb/tbb-2021.9.0.ebuild
index 2e24080c2a1e..2a0013ba8bb3 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"
@@ -35,6 +35,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..f1e436daeda7 100644
--- a/dev-cpp/tclap/tclap-1.2.5.ebuild
+++ b/dev-cpp/tclap/tclap-1.2.5.ebuild
@@ -1,4 +1,4 @@
-# Copyright 2007-2022 Gentoo Authors
+# Copyright 2007-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -12,7 +12,7 @@ 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/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..70aa1f59c986 100644
--- a/dev-cpp/xsimd/Manifest
+++ b/dev-cpp/xsimd/Manifest
@@ -1 +1,2 @@
DIST xsimd-11.1.0.tar.gz 219350 BLAKE2B 2bbbc4f7dbe489a407fe798b146c008aba44664efc943c2e1507d5c6e7da2a03ed91abf0d872e5abf9bd94be3e76bef276ec5b47d4e356b42a7b4c680bd6f3d9 SHA512 3a6141dfa4d95a977f4222880dfd06197613d153a78a84653022423279eec037ea9def08ae225aba7231c0b2c434ab7c907c965f8367fb0db9b96113980b51f3
+DIST xsimd-12.1.1.tar.gz 253141 BLAKE2B 29efbb045d8ade8737d702a73f3d0a912111dd4fbc84485c0e54c8b06d73edbb4b85f4b51e24da9bed0dea010b0cce9d99b57e20e8b94d3daf90d46031548eb9 SHA512 8e45a8e9b28358d5f20f713ea19a8c366edc62790c27984149f283dfe808d78a549c8ec465e8b3677d7e30b2cb80093908de364bbb9dc80683f5fdfb843131e1
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/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 \