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