summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'dev-cpp')
-rw-r--r--dev-cpp/abseil-cpp/Manifest13
-rw-r--r--dev-cpp/abseil-cpp/abseil-cpp-20200225.2-r1.ebuild60
-rw-r--r--dev-cpp/abseil-cpp/abseil-cpp-20200923.3.ebuild77
-rw-r--r--dev-cpp/abseil-cpp/abseil-cpp-20211102.0-r2.ebuild (renamed from dev-cpp/abseil-cpp/abseil-cpp-20210324.1.ebuild)31
-rw-r--r--dev-cpp/abseil-cpp/abseil-cpp-20220623.1.ebuild (renamed from dev-cpp/abseil-cpp/abseil-cpp-20210324.2.ebuild)33
-rw-r--r--dev-cpp/abseil-cpp/abseil-cpp-20230125.2.ebuild70
-rw-r--r--dev-cpp/abseil-cpp/abseil-cpp-20230125.3-r1.ebuild66
-rw-r--r--dev-cpp/abseil-cpp/abseil-cpp-20230802.0.ebuild63
-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-20211102.0-fix-cuda-nvcc-build.patch51
-rw-r--r--dev-cpp/abseil-cpp/files/abseil-cpp-20211102.0-r2-cuda11.6-compile-fix.patch22
-rw-r--r--dev-cpp/abseil-cpp/files/abseil-cpp-20211102.0-r2-gcc-13.patch24
-rw-r--r--dev-cpp/abseil-cpp/files/abseil-cpp-20211102.0-r2-loong.patch18
-rw-r--r--dev-cpp/abseil-cpp/files/abseil-cpp-20230125.2-musl-1.2.4.patch49
-rw-r--r--dev-cpp/abseil-cpp/files/abseil-cpp-20230802.0-sdata-tests.patch41
-rw-r--r--dev-cpp/abseil-cpp/files/include_limits.patch10
-rw-r--r--dev-cpp/abseil-cpp/metadata.xml11
-rw-r--r--dev-cpp/aixlog/aixlog-1.5.0.ebuild4
-rw-r--r--dev-cpp/amqp-cpp/Manifest2
-rw-r--r--dev-cpp/amqp-cpp/amqp-cpp-4.3.18.ebuild (renamed from dev-cpp/amqp-cpp/amqp-cpp-4.3.10.ebuild)16
-rw-r--r--dev-cpp/antlr-cpp/Manifest2
-rw-r--r--dev-cpp/antlr-cpp/antlr-cpp-2.7.7-r1.ebuild105
-rw-r--r--dev-cpp/antlr-cpp/antlr-cpp-2.7.7-r2.ebuild82
-rw-r--r--dev-cpp/antlr-cpp/antlr-cpp-4.11.1.ebuild29
-rw-r--r--dev-cpp/antlr-cpp/antlr-cpp-4.7.2.ebuild27
-rw-r--r--dev-cpp/antlr-cpp/files/2.7.7-autotools.patch159
-rw-r--r--dev-cpp/antlr-cpp/files/2.7.7-libtool.patch21
-rw-r--r--dev-cpp/antlr-cpp/files/4.11.1-GNUInstallDirs.patch139
-rw-r--r--dev-cpp/argparse/Manifest2
-rw-r--r--dev-cpp/argparse/argparse-2.9.ebuild (renamed from dev-cpp/argparse/argparse-2.1.ebuild)23
-rw-r--r--dev-cpp/asio/Manifest5
-rw-r--r--dev-cpp/asio/asio-1.10.8.ebuild46
-rw-r--r--dev-cpp/asio/asio-1.28.0.ebuild (renamed from dev-cpp/asio/asio-1.20.0.ebuild)20
-rw-r--r--dev-cpp/asio/asio-1.28.1.ebuild (renamed from dev-cpp/asio/asio-1.19.2.ebuild)20
-rw-r--r--dev-cpp/atkmm/Manifest3
-rw-r--r--dev-cpp/atkmm/atkmm-2.28.2.ebuild38
-rw-r--r--dev-cpp/atkmm/atkmm-2.28.3.ebuild38
-rw-r--r--dev-cpp/atkmm/atkmm-2.36.1.ebuild38
-rw-r--r--dev-cpp/atkmm/metadata.xml11
-rw-r--r--dev-cpp/benchmark/Manifest3
-rw-r--r--dev-cpp/benchmark/benchmark-1.5.6.ebuild36
-rw-r--r--dev-cpp/benchmark/benchmark-1.8.3-r1.ebuild39
-rw-r--r--dev-cpp/benchmark/benchmark-1.8.3.ebuild (renamed from dev-cpp/benchmark/benchmark-1.6.0.ebuild)27
-rw-r--r--dev-cpp/benchmark/files/benchmark-1.5.6-system_testdeps.patch11
-rw-r--r--dev-cpp/benchmark/files/benchmark-1.6.0-disable_Werror.patch12
-rw-r--r--dev-cpp/benchmark/files/benchmark-1.6.0-versioned_docdir.patch9
-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/cairomm/Manifest4
-rw-r--r--dev-cpp/cairomm/cairomm-1.14.3.ebuild45
-rw-r--r--dev-cpp/cairomm/cairomm-1.14.4.ebuild50
-rw-r--r--dev-cpp/cairomm/cairomm-1.16.1.ebuild45
-rw-r--r--dev-cpp/cairomm/cairomm-1.18.0.ebuild50
-rw-r--r--dev-cpp/cairomm/metadata.xml11
-rw-r--r--dev-cpp/catch/Manifest7
-rw-r--r--dev-cpp/catch/catch-1.12.2-r2.ebuild (renamed from dev-cpp/catch/catch-1.12.2.ebuild)16
-rw-r--r--dev-cpp/catch/catch-1.9999.ebuild12
-rw-r--r--dev-cpp/catch/catch-2.13.10.ebuild (renamed from dev-cpp/catch/catch-2.13.6.ebuild)12
-rw-r--r--dev-cpp/catch/catch-2.13.8.ebuild (renamed from dev-cpp/catch/catch-2.13.4.ebuild)14
-rw-r--r--dev-cpp/catch/catch-3.5.2.ebuild46
-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-9999.ebuild19
-rw-r--r--dev-cpp/catch/files/catch-1.12.2-glibc-2.34-sigstksz.patch67
-rw-r--r--dev-cpp/catch/files/catch-2.13.8-musl-tests.patch24
-rw-r--r--dev-cpp/cctz/Manifest2
-rw-r--r--dev-cpp/cctz/cctz-2.3_p20230228.ebuild32
-rw-r--r--dev-cpp/cctz/cctz-2.4.ebuild30
-rw-r--r--dev-cpp/cctz/metadata.xml16
-rw-r--r--dev-cpp/clhpp/Manifest2
-rw-r--r--dev-cpp/clhpp/clhpp-2023.04.17.ebuild39
-rw-r--r--dev-cpp/clhpp/clhpp-2023.12.14.ebuild39
-rw-r--r--dev-cpp/clhpp/metadata.xml11
-rw-r--r--dev-cpp/cli11/Manifest1
-rw-r--r--dev-cpp/cli11/cli11-2.4.1.ebuild55
-rw-r--r--dev-cpp/cli11/metadata.xml11
-rw-r--r--dev-cpp/clucene/clucene-2.3.3.4-r9.ebuild (renamed from dev-cpp/clucene/clucene-2.3.3.4-r6.ebuild)29
-rw-r--r--dev-cpp/clucene/files/clucene-2.3.3.4-fix-binary-function.patch199
-rw-r--r--dev-cpp/clucene/files/clucene-2.3.3.4-fix-clang.patch12
-rw-r--r--dev-cpp/clucene/files/clucene-2.3.3.4-libcxx.patch48
-rw-r--r--dev-cpp/clucene/files/clucene-2.3.3.4-musl-pthread.patch11
-rw-r--r--dev-cpp/commoncpp2/Manifest2
-rw-r--r--dev-cpp/commoncpp2/commoncpp2-1.8.1-r4.ebuild75
-rw-r--r--dev-cpp/commoncpp2/metadata.xml5
-rw-r--r--dev-cpp/cpp-hocon/cpp-hocon-0.3.0-r1.ebuild40
-rw-r--r--dev-cpp/cpp-hocon/cpp-hocon-0.3.0.ebuild23
-rw-r--r--dev-cpp/cpp-hocon/files/cpp-hocon-0.3.0-use-system-catch.patch51
-rw-r--r--dev-cpp/cpp-httplib/Manifest2
-rw-r--r--dev-cpp/cpp-httplib/cpp-httplib-0.14.1-r1.ebuild60
-rw-r--r--dev-cpp/cpp-httplib/cpp-httplib-0.15.3.ebuild85
-rw-r--r--dev-cpp/cpp-httplib/files/cpp-httplib-0.14.1-fix-version.patch16
-rw-r--r--dev-cpp/cpp-httplib/metadata.xml20
-rw-r--r--dev-cpp/cpp-taskflow/Manifest1
-rw-r--r--dev-cpp/cpp-taskflow/cpp-taskflow-3.2.0.ebuild30
-rw-r--r--dev-cpp/cppdap/Manifest2
-rw-r--r--dev-cpp/cppdap/cppdap-0_pre20230605-r1.ebuild52
-rw-r--r--dev-cpp/cppdap/metadata.xml (renamed from dev-cpp/pstreams/metadata.xml)6
-rw-r--r--dev-cpp/cppgir/Manifest3
-rw-r--r--dev-cpp/cppgir/cppgir-0_p20230926.ebuild46
-rw-r--r--dev-cpp/cppgir/cppgir-0_p20240110.ebuild46
-rw-r--r--dev-cpp/cppgir/cppgir-2.0_p20240315.ebuild46
-rw-r--r--dev-cpp/cppgir/metadata.xml16
-rw-r--r--dev-cpp/ctemplate/ctemplate-2.4.ebuild4
-rw-r--r--dev-cpp/curlpp/Manifest1
-rw-r--r--dev-cpp/curlpp/curlpp-0.8.1.ebuild34
-rw-r--r--dev-cpp/curlpp/files/curlpp-0.8.1-fix-pkgconfig.patch39
-rw-r--r--dev-cpp/curlpp/metadata.xml24
-rw-r--r--dev-cpp/doctest/Manifest2
-rw-r--r--dev-cpp/doctest/doctest-2.4.11.ebuild29
-rw-r--r--dev-cpp/doctest/doctest-2.4.6.ebuild25
-rw-r--r--dev-cpp/doctest/files/doctest-2.4.11-backport-pr770.patch72
-rw-r--r--dev-cpp/doctest/files/doctest-2.4.6-remove-unused-bla2.patch23
-rw-r--r--dev-cpp/doctest/metadata.xml10
-rw-r--r--dev-cpp/edencommon/Manifest1
-rw-r--r--dev-cpp/edencommon/edencommon-2023.06.19.00.ebuild41
-rw-r--r--dev-cpp/edencommon/metadata.xml11
-rw-r--r--dev-cpp/eigen/Manifest4
-rw-r--r--dev-cpp/eigen/eigen-3.3.7-r1.ebuild98
-rw-r--r--dev-cpp/eigen/eigen-3.3.9.ebuild107
-rw-r--r--dev-cpp/eigen/eigen-3.4.0-r1.ebuild7
-rw-r--r--dev-cpp/eigen/eigen-3.4.0-r2.ebuild457
-rw-r--r--dev-cpp/eigen/eigen-3.4.9999.ebuild432
-rw-r--r--dev-cpp/eigen/eigen-9999.ebuild428
-rw-r--r--dev-cpp/eigen/files/eigen-3.4.0-buildstring.patch27
-rw-r--r--dev-cpp/eigen/files/eigen-3.4.0-cxxstandard.patch108
-rw-r--r--dev-cpp/eigen/files/eigen-3.4.0-doc-nocompress.patch15
-rw-r--r--dev-cpp/eigen/files/eigen-3.4.0-noansi.patch18
-rw-r--r--dev-cpp/eigen/files/eigen-9999-please_protect_your_min_with_parentheses.patch54
-rw-r--r--dev-cpp/eigen/metadata.xml17
-rw-r--r--dev-cpp/elfio/Manifest1
-rw-r--r--dev-cpp/elfio/elfio-3.12.ebuild38
-rw-r--r--dev-cpp/elfio/files/elfio-3.12-gnuinstalldirs-docdir.patch11
-rw-r--r--dev-cpp/elfio/metadata.xml (renamed from dev-cpp/rttr/metadata.xml)7
-rw-r--r--dev-cpp/expected-lite/Manifest1
-rw-r--r--dev-cpp/expected-lite/expected-lite-0.6.3.ebuild25
-rw-r--r--dev-cpp/expected-lite/metadata.xml17
-rw-r--r--dev-cpp/folly/Manifest1
-rw-r--r--dev-cpp/folly/files/folly-2023.05.22.00-musl-fix.patch26
-rw-r--r--dev-cpp/folly/files/folly-2023.06.19.00-fmt.patch62
-rw-r--r--dev-cpp/folly/folly-2023.06.19.00.ebuild91
-rw-r--r--dev-cpp/folly/metadata.xml11
-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/gconfmm/Manifest1
-rw-r--r--dev-cpp/gconfmm/files/gconfmm-2.28.3-no-extern-c-glib-includes.patch44
-rw-r--r--dev-cpp/gconfmm/gconfmm-2.28.3-r1.ebuild32
-rw-r--r--dev-cpp/gconfmm/metadata.xml8
-rw-r--r--dev-cpp/gemmlowp/Manifest1
-rw-r--r--dev-cpp/gemmlowp/gemmlowp-2021.12.20.ebuild28
-rw-r--r--dev-cpp/gemmlowp/metadata.xml11
-rw-r--r--dev-cpp/gflags/Manifest1
-rw-r--r--dev-cpp/gflags/gflags-2.2.2-r1.ebuild (renamed from dev-cpp/gflags/gflags-2.2.1-r1.ebuild)13
-rw-r--r--dev-cpp/gflags/gflags-2.2.2.ebuild37
-rw-r--r--dev-cpp/gflags/gflags-9999.ebuild13
-rw-r--r--dev-cpp/glibmm/Manifest4
-rw-r--r--dev-cpp/glibmm/glibmm-2.66.7.ebuild (renamed from dev-cpp/glibmm/glibmm-2.66.1.ebuild)18
-rw-r--r--dev-cpp/glibmm/glibmm-2.78.1.ebuild (renamed from dev-cpp/glibmm/glibmm-2.68.1.ebuild)22
-rw-r--r--dev-cpp/glibmm/metadata.xml11
-rw-r--r--dev-cpp/glog/Manifest1
-rw-r--r--dev-cpp/glog/files/glog-0.5.0-IsGoogleLoggingInitialized_public.patch20
-rw-r--r--dev-cpp/glog/files/glog-0.5.0-vmodule_levels_changeability.patch12
-rw-r--r--dev-cpp/glog/glog-0.4.0.ebuild4
-rw-r--r--dev-cpp/glog/glog-0.5.0.ebuild12
-rw-r--r--dev-cpp/glog/glog-0.6.0.ebuild49
-rw-r--r--dev-cpp/glog/metadata.xml6
-rw-r--r--dev-cpp/gstreamermm/gstreamermm-1.10.0-r1.ebuild (renamed from dev-cpp/gstreamermm/gstreamermm-1.10.0.ebuild)4
-rw-r--r--dev-cpp/gstreamermm/metadata.xml3
-rw-r--r--dev-cpp/gtest/Manifest4
-rw-r--r--dev-cpp/gtest/files/gtest-1.10.0_p20200702-increase-clone-stack-size.patch13
-rw-r--r--dev-cpp/gtest/gtest-1.10.0_p20200702.ebuild80
-rw-r--r--dev-cpp/gtest/gtest-1.13.0.ebuild (renamed from dev-cpp/gtest/gtest-1.11.0.ebuild)20
-rw-r--r--dev-cpp/gtest/gtest-1.14.0.ebuild72
-rw-r--r--dev-cpp/gtest/gtest-9999.ebuild30
-rw-r--r--dev-cpp/gtest/metadata.xml2
-rw-r--r--dev-cpp/gtkmm/Manifest5
-rw-r--r--dev-cpp/gtkmm/gtkmm-2.24.5-r1.ebuild6
-rw-r--r--dev-cpp/gtkmm/gtkmm-3.24.5.ebuild54
-rw-r--r--dev-cpp/gtkmm/gtkmm-3.24.8.ebuild53
-rw-r--r--dev-cpp/gtkmm/gtkmm-3.24.9.ebuild53
-rw-r--r--dev-cpp/gtkmm/gtkmm-4.12.0.ebuild (renamed from dev-cpp/gtkmm/gtkmm-4.2.0.ebuild)24
-rw-r--r--dev-cpp/gtkmm/metadata.xml11
-rw-r--r--dev-cpp/gtksourceviewmm/gtksourceviewmm-3.18.0-r2.ebuild (renamed from dev-cpp/gtksourceviewmm/gtksourceviewmm-3.18.0-r1.ebuild)15
-rw-r--r--dev-cpp/gtksourceviewmm/metadata.xml3
-rw-r--r--dev-cpp/gulrak-filesystem/Manifest2
-rw-r--r--dev-cpp/gulrak-filesystem/gulrak-filesystem-1.5.12.ebuild40
-rw-r--r--dev-cpp/gulrak-filesystem/gulrak-filesystem-1.5.14.ebuild40
-rw-r--r--dev-cpp/gulrak-filesystem/metadata.xml11
-rw-r--r--dev-cpp/highway/Manifest4
-rw-r--r--dev-cpp/highway/files/0001-fix-compile-for-armv7-targets-with-vfp4-and-lower.patch123
-rw-r--r--dev-cpp/highway/files/0002-fix-armv7-neon-detect-via-asm-hwcap.patch29
-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.1-r1.ebuild41
-rw-r--r--dev-cpp/highway/highway-1.0.3-r1.ebuild42
-rw-r--r--dev-cpp/highway/highway-1.0.3.ebuild41
-rw-r--r--dev-cpp/highway/highway-1.0.5.ebuild37
-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/highway/highway-9999.ebuild37
-rw-r--r--dev-cpp/highway/metadata.xml19
-rw-r--r--dev-cpp/htmlcxx/htmlcxx-0.87.ebuild4
-rw-r--r--dev-cpp/json11/files/json11-1.0.0-json11.pc-do-not-state-the-defaults.patch22
-rw-r--r--dev-cpp/json11/json11-1.0.0-r1.ebuild (renamed from dev-cpp/json11/json11-1.0.0.ebuild)5
-rw-r--r--dev-cpp/json11/metadata.xml5
-rw-r--r--dev-cpp/jwt-cpp/Manifest2
-rw-r--r--dev-cpp/jwt-cpp/files/jwt-cpp-0.6.0-gcc13.patch14
-rw-r--r--dev-cpp/jwt-cpp/jwt-cpp-0.6.0.ebuild82
-rw-r--r--dev-cpp/jwt-cpp/jwt-cpp-0.7.0.ebuild80
-rw-r--r--dev-cpp/jwt-cpp/metadata.xml23
-rw-r--r--dev-cpp/kokkos/Manifest3
-rw-r--r--dev-cpp/kokkos/kokkos-3.0.00.ebuild45
-rw-r--r--dev-cpp/kokkos/kokkos-4.0.1.ebuild (renamed from dev-cpp/kokkos/kokkos-3.1.01.ebuild)35
-rw-r--r--dev-cpp/kokkos/metadata.xml11
-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/files/libcmis-0.6.2-libxml2-2.12.patch26
-rw-r--r--dev-cpp/libcmis/libcmis-0.6.2.ebuild (renamed from dev-cpp/libcmis/libcmis-0.5.2-r1.ebuild)39
-rw-r--r--dev-cpp/libcmis/libcmis-9999.ebuild36
-rw-r--r--dev-cpp/libglademm/Manifest1
-rw-r--r--dev-cpp/libglademm/libglademm-2.6.7-r2.ebuild74
-rw-r--r--dev-cpp/libglademm/metadata.xml8
-rw-r--r--dev-cpp/libgnomecanvasmm/Manifest1
-rw-r--r--dev-cpp/libgnomecanvasmm/libgnomecanvasmm-2.26.0-r1.ebuild56
-rw-r--r--dev-cpp/libgnomecanvasmm/metadata.xml8
-rw-r--r--dev-cpp/libjson-rpc-cpp/Manifest1
-rw-r--r--dev-cpp/libjson-rpc-cpp/libjson-rpc-cpp-1.3.0.ebuild68
-rw-r--r--dev-cpp/libjson-rpc-cpp/libjson-rpc-cpp-1.4.0.ebuild29
-rw-r--r--dev-cpp/libmcpp/files/libmcpp-2.7.2-fix-configure-checks.patch34
-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.ebuild (renamed from dev-cpp/libmcpp/libmcpp-2.7.2_p5.ebuild)17
-rw-r--r--dev-cpp/libmcpp/libmcpp-2.7.2_p5-r2.ebuild48
-rw-r--r--dev-cpp/libodb-sqlite/Manifest2
-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.ebuild117
-rw-r--r--dev-cpp/libodb-sqlite/metadata.xml20
-rw-r--r--dev-cpp/libodb/Manifest2
-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.ebuild111
-rw-r--r--dev-cpp/libodb/metadata.xml20
-rw-r--r--dev-cpp/libxmlpp/Manifest4
-rw-r--r--dev-cpp/libxmlpp/libxmlpp-2.40.1-r1.ebuild37
-rw-r--r--dev-cpp/libxmlpp/libxmlpp-2.42.2.ebuild58
-rw-r--r--dev-cpp/libxmlpp/libxmlpp-3.0.1-r1.ebuild36
-rw-r--r--dev-cpp/libxmlpp/libxmlpp-5.0.3.ebuild57
-rw-r--r--dev-cpp/libxmlpp/metadata.xml14
-rw-r--r--dev-cpp/lucene++/lucene++-3.0.7-r3.ebuild (renamed from dev-cpp/lucene++/lucene++-3.0.7-r2.ebuild)13
-rw-r--r--dev-cpp/magic_enum/Manifest2
-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.8.2.ebuild28
-rw-r--r--dev-cpp/magic_enum/magic_enum-0.9.5.ebuild31
-rw-r--r--dev-cpp/magic_enum/metadata.xml11
-rw-r--r--dev-cpp/mm-common/Manifest2
-rw-r--r--dev-cpp/mm-common/metadata.xml12
-rw-r--r--dev-cpp/mm-common/mm-common-1.0.6.ebuild (renamed from dev-cpp/mm-common/mm-common-1.0.3.ebuild)10
-rw-r--r--dev-cpp/ms-gsl/Manifest2
-rw-r--r--dev-cpp/ms-gsl/files/ms-gsl-3.0.0-use_system_gtest.patch82
-rw-r--r--dev-cpp/ms-gsl/ms-gsl-4.0.0.ebuild (renamed from dev-cpp/ms-gsl/ms-gsl-3.1.0.ebuild)7
-rw-r--r--dev-cpp/ms-gsl/ms-gsl-9999.ebuild5
-rw-r--r--dev-cpp/msgpack-cxx/Manifest3
-rw-r--r--dev-cpp/msgpack-cxx/files/msgpack-cxx-6.0.0-gcc13.patch49
-rw-r--r--dev-cpp/msgpack-cxx/metadata.xml14
-rw-r--r--dev-cpp/msgpack-cxx/msgpack-cxx-5.0.0.ebuild59
-rw-r--r--dev-cpp/msgpack-cxx/msgpack-cxx-6.0.0.ebuild63
-rw-r--r--dev-cpp/msgpack-cxx/msgpack-cxx-6.1.0.ebuild59
-rw-r--r--dev-cpp/muParser/Manifest3
-rw-r--r--dev-cpp/muParser/files/muParser-1.32-parallel-build.patch15
-rw-r--r--dev-cpp/muParser/muParser-2.2.6.1.ebuild45
-rw-r--r--dev-cpp/muParser/muParser-2.3.3-r2.ebuild41
-rw-r--r--dev-cpp/muParser/muParser-2.3.4-r1.ebuild36
-rw-r--r--dev-cpp/muParserX/Manifest1
-rw-r--r--dev-cpp/muParserX/metadata.xml23
-rw-r--r--dev-cpp/muParserX/muParserX-4.0.11.ebuild16
-rw-r--r--dev-cpp/nlohmann_json/Manifest6
-rw-r--r--dev-cpp/nlohmann_json/files/nlohmann_json-3.11.2-gcc13-2.patch42
-rw-r--r--dev-cpp/nlohmann_json/files/nlohmann_json-3.11.2-gcc13.patch76
-rw-r--r--dev-cpp/nlohmann_json/nlohmann_json-3.10.2.ebuild9
-rw-r--r--dev-cpp/nlohmann_json/nlohmann_json-3.11.2-r1.ebuild (renamed from dev-cpp/nlohmann_json/nlohmann_json-3.10.0.ebuild)52
-rw-r--r--dev-cpp/nlohmann_json/nlohmann_json-3.11.2.ebuild (renamed from dev-cpp/nlohmann_json/nlohmann_json-3.9.1.ebuild)47
-rw-r--r--dev-cpp/nlohmann_json/nlohmann_json-3.11.3.ebuild (renamed from dev-cpp/nlohmann_json/nlohmann_json-3.10.4.ebuild)50
-rw-r--r--dev-cpp/notcurses/Manifest6
-rw-r--r--dev-cpp/notcurses/metadata.xml3
-rw-r--r--dev-cpp/notcurses/notcurses-3.0.5-r1.ebuild (renamed from dev-cpp/notcurses/notcurses-2.4.5.ebuild)22
-rw-r--r--dev-cpp/notcurses/notcurses-3.0.8.ebuild55
-rw-r--r--dev-cpp/opentelemetry-cpp/Manifest3
-rw-r--r--dev-cpp/opentelemetry-cpp/files/opentelemetry-cpp-1.3.0-tests.patch92
-rw-r--r--dev-cpp/opentelemetry-cpp/files/opentelemetry-cpp-1.5.0-tests.patch67
-rw-r--r--dev-cpp/opentelemetry-cpp/files/opentelemetry-cpp-1.6.0-dont-install-nosend.patch15
-rw-r--r--dev-cpp/opentelemetry-cpp/metadata.xml12
-rw-r--r--dev-cpp/opentelemetry-cpp/opentelemetry-cpp-1.3.0-r2.ebuild50
-rw-r--r--dev-cpp/opentelemetry-cpp/opentelemetry-cpp-1.4.0.ebuild50
-rw-r--r--dev-cpp/opentelemetry-cpp/opentelemetry-cpp-1.6.0.ebuild52
-rw-r--r--dev-cpp/pangomm/Manifest4
-rw-r--r--dev-cpp/pangomm/metadata.xml11
-rw-r--r--dev-cpp/pangomm/pangomm-2.42.2.ebuild39
-rw-r--r--dev-cpp/pangomm/pangomm-2.46.3.ebuild40
-rw-r--r--dev-cpp/pangomm/pangomm-2.48.1.ebuild39
-rw-r--r--dev-cpp/pangomm/pangomm-2.50.1.ebuild40
-rw-r--r--dev-cpp/picojson/picojson-1.3.0.ebuild4
-rw-r--r--dev-cpp/pngpp/Manifest1
-rw-r--r--dev-cpp/pngpp/files/pngpp-0.2.9-DESTDIR.patch15
-rw-r--r--dev-cpp/pngpp/metadata.xml5
-rw-r--r--dev-cpp/pngpp/pngpp-0.2.9.ebuild34
-rw-r--r--dev-cpp/popl/popl-1.2.0.ebuild4
-rw-r--r--dev-cpp/prometheus-cpp/Manifest5
-rw-r--r--dev-cpp/prometheus-cpp/prometheus-cpp-0.12.2.ebuild41
-rw-r--r--dev-cpp/prometheus-cpp/prometheus-cpp-1.1.0.ebuild (renamed from dev-cpp/prometheus-cpp/prometheus-cpp-0.13.0.ebuild)2
-rw-r--r--dev-cpp/prometheus-cpp/prometheus-cpp-1.2.4.ebuild (renamed from dev-cpp/prometheus-cpp/prometheus-cpp-0.12.3.ebuild)4
-rw-r--r--dev-cpp/pstreams/Manifest2
-rw-r--r--dev-cpp/pstreams/pstreams-1.0.1.ebuild44
-rw-r--r--dev-cpp/pystring/pystring-1.1.3-r1.ebuild12
-rw-r--r--dev-cpp/random123/metadata.xml4
-rw-r--r--dev-cpp/range-v3/Manifest3
-rw-r--r--dev-cpp/range-v3/files/0.11.0-gcc10.patch133
-rw-r--r--dev-cpp/range-v3/files/0.11.0-no-werror.patch39
-rw-r--r--dev-cpp/range-v3/files/0.12.0-fix-any-1.patch31
-rw-r--r--dev-cpp/range-v3/files/0.12.0-fix-any-2.patch156
-rw-r--r--dev-cpp/range-v3/range-v3-0.10.0-r1.ebuild34
-rw-r--r--dev-cpp/range-v3/range-v3-0.12.0.ebuild (renamed from dev-cpp/range-v3/range-v3-0.11.0.ebuild)14
-rw-r--r--dev-cpp/rapidfuzz-cpp/Manifest1
-rw-r--r--dev-cpp/rapidfuzz-cpp/metadata.xml11
-rw-r--r--dev-cpp/rapidfuzz-cpp/rapidfuzz-cpp-3.0.4.ebuild32
-rw-r--r--dev-cpp/rapidyaml/Manifest4
-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.3.0-tests-no-install.patch18
-rw-r--r--dev-cpp/rapidyaml/files/rapidyaml-0.4.0-no-download.patch23
-rw-r--r--dev-cpp/rapidyaml/metadata.xml12
-rw-r--r--dev-cpp/rapidyaml/rapidyaml-0.5.0.ebuild82
-rw-r--r--dev-cpp/robin-hood-hashing/Manifest2
-rw-r--r--dev-cpp/robin-hood-hashing/robin-hood-hashing-3.11.5-r1.ebuild (renamed from dev-cpp/robin-hood-hashing/robin-hood-hashing-3.11.2.ebuild)15
-rw-r--r--dev-cpp/robin-map/metadata.xml7
-rw-r--r--dev-cpp/robin-map/robin-map-0.6.3.ebuild4
-rw-r--r--dev-cpp/rttr/Manifest1
-rw-r--r--dev-cpp/rttr/files/rttr-0.9.6-cmake.patch25
-rw-r--r--dev-cpp/rttr/files/rttr-0.9.6-permission.patch13
-rw-r--r--dev-cpp/rttr/files/rttr-0.9.6-tests.patch30
-rw-r--r--dev-cpp/rttr/files/rttr-0.9.6-werror.patch18
-rw-r--r--dev-cpp/rttr/rttr-0.9.6.ebuild36
-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/metadata.xml26
-rw-r--r--dev-cpp/scitokens-cpp/scitokens-cpp-1.1.0-r1.ebuild61
-rw-r--r--dev-cpp/scitokens-cpp/scitokens-cpp-1.1.1.ebuild57
-rw-r--r--dev-cpp/sdbus-c++/Manifest1
-rw-r--r--dev-cpp/sdbus-c++/files/sdbus-c++-1.4.0-fix-pkgconfig.patch94
-rw-r--r--dev-cpp/sdbus-c++/files/sdbus-c++-1.4.0-gcc-14.patch25
-rw-r--r--dev-cpp/sdbus-c++/metadata.xml15
-rw-r--r--dev-cpp/sdbus-c++/sdbus-c++-1.4.0-r1.ebuild79
-rw-r--r--dev-cpp/simpleini/Manifest1
-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/metadata.xml11
-rw-r--r--dev-cpp/simpleini/simpleini-4.22-r1.ebuild32
-rw-r--r--dev-cpp/simpleini/simpleini-4.22.ebuild36
-rw-r--r--dev-cpp/sol2/Manifest2
-rw-r--r--dev-cpp/sol2/files/sol2-3.2.2-catch-depend.patch27
-rw-r--r--dev-cpp/sol2/files/sol2-3.2.2-gcc11.patch10
-rw-r--r--dev-cpp/sol2/files/sol2-3.3.0-catch-depend.patch16
-rw-r--r--dev-cpp/sol2/files/sol2-3.3.0-cmake-dir.patch31
-rw-r--r--dev-cpp/sol2/files/sol2-3.3.0-dont-install-tests.patch10
-rw-r--r--dev-cpp/sol2/files/sol2-3.3.0-werror.patch21
-rw-r--r--dev-cpp/sol2/sol2-3.2.2.ebuild80
-rw-r--r--dev-cpp/sol2/sol2-3.3.1.ebuild67
-rw-r--r--dev-cpp/sourcetrail/Manifest1
-rw-r--r--dev-cpp/sourcetrail/sourcetrail-2019.3.46-r2.ebuild93
-rw-r--r--dev-cpp/string-theory/Manifest4
-rw-r--r--dev-cpp/string-theory/string-theory-3.5.ebuild (renamed from dev-cpp/string-theory/string-theory-3.3.ebuild)6
-rw-r--r--dev-cpp/string-theory/string-theory-3.6.ebuild (renamed from dev-cpp/string-theory/string-theory-3.4.ebuild)6
-rw-r--r--dev-cpp/taskflow/Manifest3
-rw-r--r--dev-cpp/taskflow/files/taskflow-3.3.0-fix_doctest.patch377
-rw-r--r--dev-cpp/taskflow/files/taskflow-3.4.0-fix_doctest.patch401
-rw-r--r--dev-cpp/taskflow/files/taskflow-9999-fix_doctest.patch377
-rw-r--r--dev-cpp/taskflow/metadata.xml (renamed from dev-cpp/cpp-taskflow/metadata.xml)4
-rw-r--r--dev-cpp/taskflow/taskflow-3.3.0.ebuild47
-rw-r--r--dev-cpp/taskflow/taskflow-3.4.0.ebuild47
-rw-r--r--dev-cpp/taskflow/taskflow-3.6.0.ebuild45
-rw-r--r--dev-cpp/taskflow/taskflow-9999.ebuild47
-rw-r--r--dev-cpp/tbb/Manifest7
-rw-r--r--dev-cpp/tbb/files/tbb-2020.3-gcc13.patch35
-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/files/tbb-2021.7.0-pthread-eagain.patch135
-rw-r--r--dev-cpp/tbb/files/tbb-2021.8.0-gcc-13.patch26
-rw-r--r--dev-cpp/tbb/metadata.xml2
-rw-r--r--dev-cpp/tbb/tbb-2020.3.ebuild25
-rw-r--r--dev-cpp/tbb/tbb-2021.10.0.ebuild48
-rw-r--r--dev-cpp/tbb/tbb-2021.11.0.ebuild48
-rw-r--r--dev-cpp/tbb/tbb-2021.12.0.ebuild48
-rw-r--r--dev-cpp/tbb/tbb-2021.5.0-r1.ebuild55
-rw-r--r--dev-cpp/tbb/tbb-2021.7.0-r1.ebuild40
-rw-r--r--dev-cpp/tbb/tbb-2021.7.0.ebuild40
-rw-r--r--dev-cpp/tbb/tbb-2021.8.0.ebuild49
-rw-r--r--dev-cpp/tbb/tbb-2021.9.0.ebuild48
-rw-r--r--dev-cpp/tclap/Manifest2
-rw-r--r--dev-cpp/tclap/tclap-1.2.5.ebuild (renamed from dev-cpp/tclap/tclap-1.2.2.ebuild)10
-rw-r--r--dev-cpp/termcolor/Manifest1
-rw-r--r--dev-cpp/termcolor/metadata.xml11
-rw-r--r--dev-cpp/termcolor/termcolor-2.1.0.ebuild29
-rw-r--r--dev-cpp/tomlplusplus/Manifest1
-rw-r--r--dev-cpp/tomlplusplus/metadata.xml (renamed from dev-cpp/sourcetrail/metadata.xml)12
-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/files/1.0-fix-macro-typos.patch77
-rw-r--r--dev-cpp/valijson/metadata.xml15
-rw-r--r--dev-cpp/valijson/valijson-1.0.ebuild24
-rw-r--r--dev-cpp/waylandpp/Manifest2
-rw-r--r--dev-cpp/waylandpp/files/waylandpp-1.0.0-gcc-13.patch51
-rw-r--r--dev-cpp/waylandpp/waylandpp-1.0.0-r1.ebuild45
-rw-r--r--dev-cpp/waylandpp/waylandpp-1.0.0.ebuild (renamed from dev-cpp/waylandpp/waylandpp-0.2.8.ebuild)8
-rw-r--r--dev-cpp/waylandpp/waylandpp-9999.ebuild8
-rw-r--r--dev-cpp/websocketpp/Manifest1
-rw-r--r--dev-cpp/websocketpp/files/websocketpp-0.8.1-boost-1.70.patch139
-rw-r--r--dev-cpp/websocketpp/websocketpp-0.8.1-r1.ebuild49
-rw-r--r--dev-cpp/websocketpp/websocketpp-0.8.2.ebuild2
-rw-r--r--dev-cpp/xsimd/Manifest2
-rw-r--r--dev-cpp/xsimd/files/xsimd-11.1.0-c++17.patch27
-rw-r--r--dev-cpp/xsimd/files/xsimd-11.1.0-no-march.patch71
-rw-r--r--dev-cpp/xsimd/files/xsimd-12.1.1-no-march.patch71
-rw-r--r--dev-cpp/xsimd/metadata.xml12
-rw-r--r--dev-cpp/xsimd/xsimd-11.1.0-r1.ebuild58
-rw-r--r--dev-cpp/xsimd/xsimd-12.1.1.ebuild58
-rw-r--r--dev-cpp/yaml-cpp/Manifest2
-rw-r--r--dev-cpp/yaml-cpp/files/yaml-cpp-0.6.3-CVE-2017-11692.patch44
-rw-r--r--dev-cpp/yaml-cpp/files/yaml-cpp-0.6.3-abi-breakage.patch57
-rw-r--r--dev-cpp/yaml-cpp/files/yaml-cpp-0.6.3-fix-overflows.patch149
-rw-r--r--dev-cpp/yaml-cpp/files/yaml-cpp-0.6.3-gtest.patch44
-rw-r--r--dev-cpp/yaml-cpp/files/yaml-cpp-0.7.0-cmake-paths.patch101
-rw-r--r--dev-cpp/yaml-cpp/files/yaml-cpp-0.7.0-gtest.patch17
-rw-r--r--dev-cpp/yaml-cpp/files/yaml-cpp-0.7.0-install-paths.patch25
-rw-r--r--dev-cpp/yaml-cpp/files/yaml-cpp-0.7.0-pkg-config.patch21
-rw-r--r--dev-cpp/yaml-cpp/files/yaml-cpp-0.8.0-gcc13.patch32
-rw-r--r--dev-cpp/yaml-cpp/files/yaml-cpp-0.8.0-gtest.patch30
-rw-r--r--dev-cpp/yaml-cpp/yaml-cpp-0.6.3-r3.ebuild49
-rw-r--r--dev-cpp/yaml-cpp/yaml-cpp-0.6.3-r4.ebuild46
-rw-r--r--dev-cpp/yaml-cpp/yaml-cpp-0.7.0-r2.ebuild (renamed from dev-cpp/yaml-cpp/yaml-cpp-0.7.0-r1.ebuild)16
-rw-r--r--dev-cpp/yaml-cpp/yaml-cpp-0.8.0.ebuild35
450 files changed, 12013 insertions, 4115 deletions
diff --git a/dev-cpp/abseil-cpp/Manifest b/dev-cpp/abseil-cpp/Manifest
index ba08382d8e1d..016f19bffe15 100644
--- a/dev-cpp/abseil-cpp/Manifest
+++ b/dev-cpp/abseil-cpp/Manifest
@@ -1,5 +1,8 @@
-DIST abseil-cpp-20200225.2.tar.gz 1679650 BLAKE2B bbadb2b86fd390f51322e687526c72a3b13caff6391974462a1146cc563616ce479330336a489a71e27b143e7cbea6695fc12c91fb721185a5116b3a6c5506b1 SHA512 75a607dee825e83c10dcd5e509515461f1b12c4aca861e4739ac4d41357b8e893dbfbe33873aa5c05463dde0891dedd7535af2ec59f173de29488e1b1321b335
-DIST abseil-cpp-20200923.3.tar.gz 1783980 BLAKE2B 66d46fd6aafe0bf0d3fccd8a4e0a72fb0545a405d9c92d36ffcb1cf791b6d0eb85fd55218f740ba34c05c7bc952ad1aeaa367963b1f540f03a4f510fd02cd6d5 SHA512 7d9e2bc001a397b983afe1e5ca4d779bd27d0d30fad7f44e564a675e228f2fc29c203ef89dd1b0ff4a1832c6d99ae7627c9103a0daa6cccb426472528109ef85
-DIST abseil-cpp-20210324.1.tar.gz 1774134 BLAKE2B 8dd42b3d60a38995eeeeb72ba8aaa367c3caff118d88069dba9df24b155318ffd6c4e289c263346899bf7fc0bf6e8332380407a8a93c77f8cade0e8e74743b84 SHA512 fe593ed98eeea5461abca95ebb9dd3f7e8eedaa15e009f776945fdbb6ed489c61966611c1c72558d2ccdd541b952a345e51885d522ff29542cbcc837cf565866
-DIST abseil-cpp-20210324.2.tar.gz 1774172 BLAKE2B f33ebe830bcece41d76c4de8f514e32a2515be8a78b6cc7a8877ba72284be62649e345dea224976e78e8dcf7fd957e249c92f7c89e92ae44e984fe294df711fc SHA512 7b935f0f2787a81438f30072f2191138ce3c099e4b22addfbe8ebe579d906604bc6ab03f054d3d6917a08ef5cb7a4371c1a501a7dfbc15c50301261dbf5f6e27
-DIST gtest-1.10.0_p20200702.tar.gz 866900 BLAKE2B c162d47868583ba270675abe5df935b8f4b9a9c00dbdc80dd88afa7f2b98266640b32b2ea5e8f9f6d6227196b5d2f79dbfda4e9585106224e814cc1503cf777d SHA512 715d887b59b47d4691c7c90ef0cf0ffc3d1e758e500263c76b50fd506e90a9d1c390af745933cfe3f55e1edac5d72dccedef3cb9a50b71a5b796424471a3017b
+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.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-20200225.2-r1.ebuild b/dev-cpp/abseil-cpp/abseil-cpp-20200225.2-r1.ebuild
deleted file mode 100644
index fe5a91286a00..000000000000
--- a/dev-cpp/abseil-cpp/abseil-cpp-20200225.2-r1.ebuild
+++ /dev/null
@@ -1,60 +0,0 @@
-# Copyright 2020-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{7,8,9} )
-
-inherit cmake flag-o-matic python-any-r1
-
-DESCRIPTION="Abseil Common Libraries (C++), LTS Branch"
-HOMEPAGE="https://abseil.io"
-SRC_URI="https://github.com/abseil/abseil-cpp/archive/${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="Apache-2.0"
-SLOT="0/${PV%%.*}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
-IUSE=""
-
-DEPEND=""
-RDEPEND="${DEPEND}"
-BDEPEND="${PYTHON_DEPS}"
-
-# requires source of gtest and other libs
-RESTRICT=test
-
-PATCHES=(
- "${FILESDIR}/${PN}-20200923-arm_no_crypto.patch"
- "${FILESDIR}/include_limits.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
-}
-
-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
- -DBUILD_SHARED_LIBS=TRUE
- )
- cmake_src_configure
-}
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 40f5fbae8e28..000000000000
--- a/dev-cpp/abseil-cpp/abseil-cpp-20200923.3.ebuild
+++ /dev/null
@@ -1,77 +0,0 @@
-# Copyright 2020-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{7,8,9} )
-
-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"
-
-DEPEND=""
-RDEPEND="${DEPEND}"
-
-BDEPEND="
- ${PYTHON_DEPS}
- test? ( sys-libs/timezone-data )
-"
-
-RESTRICT="!test? ( test )"
-
-PATCHES=(
- "${FILESDIR}/${PN}-20200923-arm_no_crypto.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-20210324.1.ebuild b/dev-cpp/abseil-cpp/abseil-cpp-20211102.0-r2.ebuild
index 2414ecd661e2..a0d429b7ac44 100644
--- a/dev-cpp/abseil-cpp/abseil-cpp-20210324.1.ebuild
+++ b/dev-cpp/abseil-cpp/abseil-cpp-20211102.0-r2.ebuild
@@ -1,15 +1,16 @@
-# Copyright 2020-2021 Gentoo Authors
+# Copyright 2020-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
-PYTHON_COMPAT=( python3_{7,8,9} )
+PYTHON_COMPAT=( python3_{9..11} )
-inherit cmake flag-o-matic python-any-r1 toolchain-funcs
+inherit cmake python-any-r1
# yes, it needs SOURCE, not just installed one
-GTEST_COMMIT="aee0f9d9b5b87796ee8a0ab26b7587ec30e8858e"
-GTEST_FILE="gtest-1.10.0_p20200702.tar.gz"
+# and no, 1.11.0 is not enough
+GTEST_COMMIT="1b18723e874b256c1e39378c6774a90701d70f7a"
+GTEST_FILE="gtest-${GTEST_COMMIT}.tar.gz"
DESCRIPTION="Abseil Common Libraries (C++), LTS Branch"
HOMEPAGE="https://abseil.io"
@@ -21,12 +22,9 @@ LICENSE="
test? ( BSD )
"
SLOT="0/${PV%%.*}"
-KEYWORDS="amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="amd64 ~arm arm64 ~loong ppc64 ~riscv x86"
IUSE="test"
-DEPEND=""
-RDEPEND="${DEPEND}"
-
BDEPEND="
${PYTHON_DEPS}
test? ( sys-libs/timezone-data )
@@ -35,7 +33,10 @@ BDEPEND="
RESTRICT="!test? ( test )"
PATCHES=(
- "${FILESDIR}/${PN}-20200923-arm_no_crypto.patch"
+ "${FILESDIR}/${PN}-20211102.0-fix-cuda-nvcc-build.patch"
+ "${FILESDIR}/${PN}-20211102.0-r2-cuda11.6-compile-fix.patch"
+ "${FILESDIR}/${PN}-20211102.0-r2-loong.patch"
+ "${FILESDIR}/${PN}-20211102.0-r2-gcc-13.patch"
)
src_prepare() {
@@ -60,17 +61,11 @@ src_prepare() {
}
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}"
-DCMAKE_CXX_STANDARD=17
+ -DABSL_PROPAGATE_CXX_STD=TRUE
$(usex test -DBUILD_TESTING=ON '') #intentional usex
)
cmake_src_configure
diff --git a/dev-cpp/abseil-cpp/abseil-cpp-20210324.2.ebuild b/dev-cpp/abseil-cpp/abseil-cpp-20220623.1.ebuild
index 18482a89b9b5..7aed5f2d2334 100644
--- a/dev-cpp/abseil-cpp/abseil-cpp-20210324.2.ebuild
+++ b/dev-cpp/abseil-cpp/abseil-cpp-20220623.1.ebuild
@@ -1,15 +1,16 @@
-# Copyright 2020-2021 Gentoo Authors
+# Copyright 2020-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
-PYTHON_COMPAT=( python3_{7,8,9} )
+PYTHON_COMPAT=( python3_{9..11} )
-inherit cmake flag-o-matic python-any-r1 toolchain-funcs
+inherit cmake python-any-r1
# yes, it needs SOURCE, not just installed one
-GTEST_COMMIT="aee0f9d9b5b87796ee8a0ab26b7587ec30e8858e"
-GTEST_FILE="gtest-1.10.0_p20200702.tar.gz"
+# and no, 1.11.0 is not enough
+GTEST_COMMIT="e68764c147ea0dac1e8811925c531d937396878e"
+GTEST_FILE="gtest-${GTEST_COMMIT}.tar.gz"
DESCRIPTION="Abseil Common Libraries (C++), LTS Branch"
HOMEPAGE="https://abseil.io"
@@ -21,12 +22,9 @@ LICENSE="
test? ( BSD )
"
SLOT="0/${PV%%.*}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
+KEYWORDS="amd64 ~arm arm64 ~loong ppc64 ~riscv x86"
IUSE="test"
-DEPEND=""
-RDEPEND="${DEPEND}"
-
BDEPEND="
${PYTHON_DEPS}
test? ( sys-libs/timezone-data )
@@ -35,7 +33,7 @@ BDEPEND="
RESTRICT="!test? ( test )"
PATCHES=(
- "${FILESDIR}/${PN}-20200923-arm_no_crypto.patch"
+ "${FILESDIR}"/${PN}-20230125.2-musl-1.2.4.patch #906218
)
src_prepare() {
@@ -60,18 +58,13 @@ src_prepare() {
}
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=(
+ -DCMAKE_CXX_STANDARD=17
-DABSL_ENABLE_INSTALL=TRUE
-DABSL_LOCAL_GOOGLETEST_DIR="${WORKDIR}/googletest-${GTEST_COMMIT}"
- -DCMAKE_CXX_STANDARD=17
- $(usex test -DBUILD_TESTING=ON '') #intentional usex
+ -DABSL_PROPAGATE_CXX_STD=TRUE
+ -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-20230125.2.ebuild b/dev-cpp/abseil-cpp/abseil-cpp-20230125.2.ebuild
new file mode 100644
index 000000000000..a2402a45796c
--- /dev/null
+++ b/dev-cpp/abseil-cpp/abseil-cpp-20230125.2.ebuild
@@ -0,0 +1,70 @@
+# Copyright 2020-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{9..11} )
+
+inherit cmake-multilib python-any-r1
+
+# yes, it needs SOURCE, not just installed one
+GTEST_COMMIT="v1.13.0"
+GTEST_FILE="gtest-${GTEST_COMMIT#v}.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
+ test? ( https://github.com/google/googletest/archive/${GTEST_COMMIT}.tar.gz -> ${GTEST_FILE} )"
+
+LICENSE="
+ Apache-2.0
+ test? ( BSD )
+"
+SLOT="0/${PV%%.*}"
+KEYWORDS="amd64 ~arm arm64 ~loong ppc64 ~riscv x86"
+IUSE="test"
+
+BDEPEND="
+ ${PYTHON_DEPS}
+ test? ( sys-libs/timezone-data )
+"
+
+RESTRICT="!test? ( test )"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-20230125.2-musl-1.2.4.patch #906218
+)
+
+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
+
+ if use test; then
+ sed -i 's/-Werror//g' \
+ "${WORKDIR}/googletest-${GTEST_COMMIT#v}"/googletest/cmake/internal_utils.cmake || die
+ fi
+}
+
+multilib_src_configure() {
+ local mycmakeargs=(
+ -DCMAKE_CXX_STANDARD=17
+ -DABSL_ENABLE_INSTALL=TRUE
+ -DABSL_LOCAL_GOOGLETEST_DIR="${WORKDIR}/googletest-${GTEST_COMMIT#v}"
+ -DABSL_PROPAGATE_CXX_STD=TRUE
+ -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-20230125.3-r1.ebuild b/dev-cpp/abseil-cpp/abseil-cpp-20230125.3-r1.ebuild
new file mode 100644
index 000000000000..3ab7ae818f50
--- /dev/null
+++ b/dev-cpp/abseil-cpp/abseil-cpp-20230125.3-r1.ebuild
@@ -0,0 +1,66 @@
+# Copyright 2020-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
+
+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"
+
+DEPEND=""
+RDEPEND="${DEPEND}"
+
+BDEPEND="
+ ${PYTHON_DEPS}
+ test? (
+ >=dev-cpp/gtest-1.13.0
+ sys-libs/timezone-data
+ )
+"
+
+RESTRICT="!test? ( test )"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-20230125.2-musl-1.2.4.patch #906218
+)
+
+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
+ -DABSL_BUILD_TEST_HELPERS=$(usex test ON OFF)
+ -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.ebuild
new file mode 100644
index 000000000000..8efabfde0a90
--- /dev/null
+++ b/dev-cpp/abseil-cpp/abseil-cpp-20230802.0.ebuild
@@ -0,0 +1,63 @@
+# Copyright 2020-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
+
+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"
+
+DEPEND=""
+RDEPEND="${DEPEND}"
+
+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" )
+
+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
+ -DABSL_BUILD_TEST_HELPERS=$(usex test ON OFF)
+ -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 762476a10184..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
---- /absl/random/internal/randen_hwaes.cc
-+++ /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-20211102.0-fix-cuda-nvcc-build.patch b/dev-cpp/abseil-cpp/files/abseil-cpp-20211102.0-fix-cuda-nvcc-build.patch
new file mode 100644
index 000000000000..0933c62660a6
--- /dev/null
+++ b/dev-cpp/abseil-cpp/files/abseil-cpp-20211102.0-fix-cuda-nvcc-build.patch
@@ -0,0 +1,51 @@
+Fixes compile failure with CUDA nvcc
+https://github.com/abseil/abseil-cpp/commit/5202173ca7671ebe241cb4d9447dc4b1f2d3ec10
+https://github.com/tensorflow/tensorflow/commit/e45ca6adf2458d4759e5c40f1f27bbf9505a3c79#diff-b79a9a542260a33fd122a5d1cdb923e08e16cbe321d69c014a9acdde34052b3dR235
+
+From 5202173ca7671ebe241cb4d9447dc4b1f2d3ec10 Mon Sep 17 00:00:00 2001
+From: Abseil Team <absl-team@google.com>
+Date: Tue, 1 Feb 2022 13:52:49 -0800
+Subject: [PATCH] Export of internal Abseil changes
+
+--
+121db1a08321eaa3006726cc32b459cf17880e35 by Derek Mauro <dmauro@google.com>:
+
+Internal change
+
+PiperOrigin-RevId: 425707805
+
+--
+0dec484389bbb75aae0a412146e3564bf833a739 by Derek Mauro <dmauro@google.com>:
+
+macOS CI: Avoid depending on external sites like GitHub by prepopulating
+dependencies and setting --distdir
+
+Our Linux CI does this, but for some reason was never enabled on macOS
+
+PiperOrigin-RevId: 425668638
+GitOrigin-RevId: 121db1a08321eaa3006726cc32b459cf17880e35
+Change-Id: Id51645df90b6a0808dd5b18eb636a10f798e24ea
+--- a/absl/container/internal/inlined_vector.h
++++ b/absl/container/internal/inlined_vector.h
+@@ -925,8 +925,8 @@ auto Storage<T, N, A>::Swap(Storage* other_storage_ptr) -> void {
+ inlined_ptr->GetSize());
+ }
+ ABSL_INTERNAL_CATCH_ANY {
+- allocated_ptr->SetAllocation(
+- {allocated_storage_view.data, allocated_storage_view.capacity});
++ allocated_ptr->SetAllocation(Allocation<A>{
++ allocated_storage_view.data, allocated_storage_view.capacity});
+ ABSL_INTERNAL_RETHROW;
+ }
+
+@@ -934,8 +934,8 @@ auto Storage<T, N, A>::Swap(Storage* other_storage_ptr) -> void {
+ inlined_ptr->GetInlinedData(),
+ inlined_ptr->GetSize());
+
+- inlined_ptr->SetAllocation(
+- {allocated_storage_view.data, allocated_storage_view.capacity});
++ inlined_ptr->SetAllocation(Allocation<A>{allocated_storage_view.data,
++ allocated_storage_view.capacity});
+ }
+
+ swap(GetSizeAndIsAllocated(), other_storage_ptr->GetSizeAndIsAllocated());
diff --git a/dev-cpp/abseil-cpp/files/abseil-cpp-20211102.0-r2-cuda11.6-compile-fix.patch b/dev-cpp/abseil-cpp/files/abseil-cpp-20211102.0-r2-cuda11.6-compile-fix.patch
new file mode 100644
index 000000000000..28347d489c17
--- /dev/null
+++ b/dev-cpp/abseil-cpp/files/abseil-cpp-20211102.0-r2-cuda11.6-compile-fix.patch
@@ -0,0 +1,22 @@
+--- a/absl/strings/internal/string_constant.h
++++ b/absl/strings/internal/string_constant.h
+@@ -35,12 +35,18 @@ namespace strings_internal {
+ // below.
+ template <typename T>
+ struct StringConstant {
++ private:
++ static constexpr bool ValidateConstant(absl::string_view view) {
++ return view.empty() || 2 * view[0] != 1;
++ }
++
++public:
+ static constexpr absl::string_view value = T{}();
+ constexpr absl::string_view operator()() const { return value; }
+
+ // Check to be sure `view` points to constant data.
+ // Otherwise, it can't be constant evaluated.
+- static_assert(value.empty() || 2 * value[0] != 1,
++ static_assert(ValidateConstant(value),
+ "The input string_view must point to constant data.");
+ };
+
diff --git a/dev-cpp/abseil-cpp/files/abseil-cpp-20211102.0-r2-gcc-13.patch b/dev-cpp/abseil-cpp/files/abseil-cpp-20211102.0-r2-gcc-13.patch
new file mode 100644
index 000000000000..2a847be09e9a
--- /dev/null
+++ b/dev-cpp/abseil-cpp/files/abseil-cpp-20211102.0-r2-gcc-13.patch
@@ -0,0 +1,24 @@
+https://github.com/abseil/abseil-cpp/commit/36a4b073f1e7e02ed7d1ac140767e36f82f09b7c
+
+From 36a4b073f1e7e02ed7d1ac140767e36f82f09b7c Mon Sep 17 00:00:00 2001
+From: Sergei Trofimovich <slyich@gmail.com>
+Date: Fri, 27 May 2022 22:27:58 +0100
+Subject: [PATCH] absl/strings/internal/str_format/extension.h: add missing
+ <stdint.h> include
+
+Without the change absl-cpp build fails on this week's gcc-13 snapshot as:
+
+ /build/abseil-cpp/absl/strings/internal/str_format/extension.h:34:33: error: found ':' in nested-name-specifier, expected '::'
+ 34 | enum class FormatConversionChar : uint8_t;
+ | ^
+ | ::
+--- a/absl/strings/internal/str_format/extension.h
++++ b/absl/strings/internal/str_format/extension.h
+@@ -17,6 +17,7 @@
+ #define ABSL_STRINGS_INTERNAL_STR_FORMAT_EXTENSION_H_
+
+ #include <limits.h>
++#include <stdint.h>
+
+ #include <cstddef>
+ #include <cstring>
diff --git a/dev-cpp/abseil-cpp/files/abseil-cpp-20211102.0-r2-loong.patch b/dev-cpp/abseil-cpp/files/abseil-cpp-20211102.0-r2-loong.patch
new file mode 100644
index 000000000000..2031f9f33d88
--- /dev/null
+++ b/dev-cpp/abseil-cpp/files/abseil-cpp-20211102.0-r2-loong.patch
@@ -0,0 +1,18 @@
+https://github.com/abseil/abseil-cpp/commit/808bc202fc13e85a7948db0d7fb58f0f051200b1
+
+From 808bc202fc13e85a7948db0d7fb58f0f051200b1 Mon Sep 17 00:00:00 2001
+From: imaiguo <maaiguo@uniontech.com>
+Date: Wed, 23 Feb 2022 22:56:32 +0800
+Subject: [PATCH] Add support of loongarch64 (#1110)
+
+--- a/absl/debugging/internal/examine_stack.cc
++++ b/absl/debugging/internal/examine_stack.cc
+@@ -82,6 +82,8 @@ void* GetProgramCounter(void* vuc) {
+ return reinterpret_cast<void*>(context->uc_mcontext.gregs[16]);
+ #elif defined(__e2k__)
+ return reinterpret_cast<void*>(context->uc_mcontext.cr0_hi);
++#elif defined(__loongarch__)
++ return reinterpret_cast<void*>(context->uc_mcontext.__pc);
+ #else
+ #error "Undefined Architecture."
+ #endif
diff --git a/dev-cpp/abseil-cpp/files/abseil-cpp-20230125.2-musl-1.2.4.patch b/dev-cpp/abseil-cpp/files/abseil-cpp-20230125.2-musl-1.2.4.patch
new file mode 100644
index 000000000000..e4834250cfc9
--- /dev/null
+++ b/dev-cpp/abseil-cpp/files/abseil-cpp-20230125.2-musl-1.2.4.patch
@@ -0,0 +1,49 @@
+https://bugs.gentoo.org/906218
+https://github.com/abseil/abseil-cpp/issues/1473
+https://github.com/abseil/abseil-cpp/commit/4500c2fada4e952037c59bd65e8be1ba0b29f21e
+
+From 4500c2fada4e952037c59bd65e8be1ba0b29f21e Mon Sep 17 00:00:00 2001
+From: Derek Mauro <dmauro@google.com>
+Date: Mon, 12 Jun 2023 08:11:36 -0700
+Subject: [PATCH] DirectMmap: Use off_t instead of off64_t for the offset
+ parameter
+
+off_t is best for portability. Its size varies with the platform.
+off64_t is non-standard, but is present in glibc and some BSDs.
+It also matches the signature specified in the manual.
+https://man7.org/linux/man-pages/man2/mmap.2.html
+
+This is a re-spin of #1349, but correctly casts the type to the type
+expected by the kernel for mmap2.
+https://man7.org/linux/man-pages/man2/mmap2.2.html
+
+Fixes #1473
+
+PiperOrigin-RevId: 539656313
+Change-Id: I7a30dd9d3eb6af03a99da0d93d721a86f6521b25
+---
+ absl/base/internal/direct_mmap.h | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/absl/base/internal/direct_mmap.h b/absl/base/internal/direct_mmap.h
+index 815b8d23ba3..1beb2ee4e52 100644
+--- a/absl/base/internal/direct_mmap.h
++++ b/absl/base/internal/direct_mmap.h
+@@ -72,7 +72,7 @@ namespace base_internal {
+ // Platform specific logic extracted from
+ // https://chromium.googlesource.com/linux-syscall-support/+/master/linux_syscall_support.h
+ inline void* DirectMmap(void* start, size_t length, int prot, int flags, int fd,
+- off64_t offset) noexcept {
++ off_t offset) noexcept {
+ #if defined(__i386__) || defined(__ARM_ARCH_3__) || defined(__ARM_EABI__) || \
+ defined(__m68k__) || defined(__sh__) || \
+ (defined(__hppa__) && !defined(__LP64__)) || \
+@@ -102,7 +102,7 @@ inline void* DirectMmap(void* start, size_t length, int prot, int flags, int fd,
+ #else
+ return reinterpret_cast<void*>(
+ syscall(SYS_mmap2, start, length, prot, flags, fd,
+- static_cast<off_t>(offset / pagesize)));
++ static_cast<unsigned long>(offset / pagesize))); // NOLINT
+ #endif
+ #elif defined(__s390x__)
+ // On s390x, mmap() arguments are passed in memory.
diff --git a/dev-cpp/abseil-cpp/files/abseil-cpp-20230802.0-sdata-tests.patch b/dev-cpp/abseil-cpp/files/abseil-cpp-20230802.0-sdata-tests.patch
new file mode 100644
index 000000000000..67d3a9697731
--- /dev/null
+++ b/dev-cpp/abseil-cpp/files/abseil-cpp-20230802.0-sdata-tests.patch
@@ -0,0 +1,41 @@
+https://bugs.gentoo.org/show_bug.cgi?id=917062
+https://github.com/matoro/abseil-cpp/commit/cc37c61553fa2a186d4abf48e97ad9df4e5d62e3
+
+From cc37c61553fa2a186d4abf48e97ad9df4e5d62e3 Mon Sep 17 00:00:00 2001
+From: matoro <matoro@users.noreply.github.com>
+Date: Tue, 14 Nov 2023 10:39:34 -0500
+Subject: [PATCH] symbolize_test: account for platforms with ".sdata" small
+ data sections
+
+A handful of ELF targets use a ".sdata" section for small data. The
+default maximum size of symbols in this section as well as the gcc flag
+to change that maximum size differ between two targets. On such
+platforms, if there is no data large enough to exceed the small data
+limit then the ".data" section will be excluded entirely. This changes
+the check to ensure that at least one of a ".sdata" section OR a ".data"
+section is present.
+---
+ absl/debugging/symbolize_test.cc | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/absl/debugging/symbolize_test.cc b/absl/debugging/symbolize_test.cc
+index d0feab2ffa6..1e4b5ba6105 100644
+--- a/absl/debugging/symbolize_test.cc
++++ b/absl/debugging/symbolize_test.cc
+@@ -44,6 +44,7 @@
+ #define MAP_ANONYMOUS MAP_ANON
+ #endif
+
++using testing::AnyOf;
+ using testing::Contains;
+
+ #ifdef _WIN32
+@@ -456,7 +457,7 @@ TEST(Symbolize, ForEachSection) {
+ EXPECT_THAT(sections, Contains(".rodata"));
+ EXPECT_THAT(sections, Contains(".bss"));
+ ++in_data_section;
+- EXPECT_THAT(sections, Contains(".data"));
++ EXPECT_THAT(sections, AnyOf(Contains(".data"), Contains(".sdata")));
+
+ close(fd);
+ }
diff --git a/dev-cpp/abseil-cpp/files/include_limits.patch b/dev-cpp/abseil-cpp/files/include_limits.patch
deleted file mode 100644
index c64229db984a..000000000000
--- a/dev-cpp/abseil-cpp/files/include_limits.patch
+++ /dev/null
@@ -1,10 +0,0 @@
---- a/absl/synchronization/internal/graphcycles.cc
-+++ b/absl/synchronization/internal/graphcycles.cc
-@@ -37,6 +37,7 @@
-
- #include <algorithm>
- #include <array>
-+#include <limits>
- #include "absl/base/internal/hide_ptr.h"
- #include "absl/base/internal/raw_logging.h"
- #include "absl/base/internal/spinlock.h"
diff --git a/dev-cpp/abseil-cpp/metadata.xml b/dev-cpp/abseil-cpp/metadata.xml
index f6827887342a..8984c4885cb9 100644
--- a/dev-cpp/abseil-cpp/metadata.xml
+++ b/dev-cpp/abseil-cpp/metadata.xml
@@ -1,11 +1,8 @@
<?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>
</pkgmetadata>
diff --git a/dev-cpp/aixlog/aixlog-1.5.0.ebuild b/dev-cpp/aixlog/aixlog-1.5.0.ebuild
index bd6ee183403c..8fbd29963ef3 100644
--- a/dev-cpp/aixlog/aixlog-1.5.0.ebuild
+++ b/dev-cpp/aixlog/aixlog-1.5.0.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -15,7 +15,7 @@ if [[ ${PV} == *9999 ]] ; then
EGIT_BRANCH="develop"
else
SRC_URI="https://github.com/badaix/aixlog/archive/v${PV}.tar.gz -> ${P}.tar.gz"
- KEYWORDS="~amd64 ~x86"
+ KEYWORDS="amd64 ~arm ppc ppc64 ~riscv x86"
fi
LICENSE="MIT"
diff --git a/dev-cpp/amqp-cpp/Manifest b/dev-cpp/amqp-cpp/Manifest
index aa933bf7514b..fe6a3666924e 100644
--- a/dev-cpp/amqp-cpp/Manifest
+++ b/dev-cpp/amqp-cpp/Manifest
@@ -1 +1 @@
-DIST AMQP-CPP-4.3.10.tar.gz 156600 BLAKE2B 0453259e8d84b223fc8d36d4747b267a84d7db9daef55d13ff31d4c8cf1e5dd8efb87d9f83f7ff7554aa70c5000d6da45187ce03db09ff4c542bd5409d81ada8 SHA512 ef9a20cd066bbefc243d8d58dbded728e0c88f5c47134f835c50dfa01178b53200970333f0d56330c206f74aa7d7691556c3e4693d5276adb7e3bf4e66bcd057
+DIST AMQP-CPP-4.3.18.tar.gz 160732 BLAKE2B 3c3d77772c21dcd461cf92b67d7e8cfac5a2052a81aade2fd00eca75d4991f9cfc6cfa397924361a7a8a28accb98153c2a50bda259726e81513a1d910390f3d5 SHA512 950d84a769ccbbf146be617297e81d8f036096bcbe5ca520d4b909549bf8d74fc576eec90a1fafb164b86c9eb693c3ae29d884c3a30749f04440646549ffe5ce
diff --git a/dev-cpp/amqp-cpp/amqp-cpp-4.3.10.ebuild b/dev-cpp/amqp-cpp/amqp-cpp-4.3.18.ebuild
index b3e938e0414c..33a052a82f5f 100644
--- a/dev-cpp/amqp-cpp/amqp-cpp-4.3.10.ebuild
+++ b/dev-cpp/amqp-cpp/amqp-cpp-4.3.18.ebuild
@@ -1,10 +1,9 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
-CMAKE_ECLASS="cmake"
-inherit cmake-multilib
+inherit cmake
MY_PN=${PN^^}
MY_P=${MY_PN}-${PV}
@@ -12,21 +11,19 @@ MY_P=${MY_PN}-${PV}
DESCRIPTION="AMQP-CPP is a C++ library for communicating with a RabbitMQ message broker"
HOMEPAGE="https://github.com/CopernicaMarketingSoftware/AMQP-CPP"
SRC_URI="https://github.com/CopernicaMarketingSoftware/${MY_PN}/archive/v${PV}.tar.gz -> ${MY_P}.tar.gz"
+S="${WORKDIR}/${MY_P}"
LICENSE="Apache-2.0"
SLOT="0"
KEYWORDS="~amd64 ~arm ~arm64 ~x86"
-IUSE=""
-
-S="${WORKDIR}/${MY_P}"
src_prepare() {
sed \
-e "s:DESTINATION lib:DESTINATION $(get_libdir):g" \
-e "s:DESTINATION cmake:DESTINATION $(get_libdir)/cmake/${PN/-/}:g" \
-i CMakeLists.txt || die
+
cmake_src_prepare
- default
}
src_configure() {
@@ -34,5 +31,6 @@ src_configure() {
-DAMQP-CPP_BUILD_SHARED=ON
-DAMQP-CPP_LINUX_TCP=ON
)
- cmake-multilib_src_configure
+
+ cmake_src_configure
}
diff --git a/dev-cpp/antlr-cpp/Manifest b/dev-cpp/antlr-cpp/Manifest
index d2f49651c27d..c5e406866b43 100644
--- a/dev-cpp/antlr-cpp/Manifest
+++ b/dev-cpp/antlr-cpp/Manifest
@@ -1,2 +1,2 @@
DIST antlr-2.7.7.tar.gz 1816180 BLAKE2B 3a9a51070f8651befeb4d22be344b544e119db34a78522828c2ffc3c481c14b9c7784f0a9997a61f6faedde5b6d1fe12214cfd84fb274f7065f3ffe6a44abf1c SHA512 faa72d2ddcba434ef1233e70c1549e63eba67c00793966322e821cf7f015cccb804448cb92d8fbef0429f59928fad65ec954f8ffbda0acbb8e983de0806d349d
-DIST antlr-cpp-4.7.2.zip 1494927 BLAKE2B 007aac6655dc3c4e3a0c2073ca9c8c016b46bdf97dca4494d4ea2c44d27a458bfbb09811b3beb0aec1ce2873c3b62ad6789c6a9e3e7ddc62cde51c8357e9123b SHA512 3298b83a06ddd8d8852462401e46fe2eb83d20af4ba14c722cb31b33d929d1c5a4ffb694ee084495a4ae26ed3246b6781ca6045d11253c94efc09729fa001090
+DIST antlr-cpp-4.11.1.zip 534105 BLAKE2B acf854bb8f10f8afdb8df9aa1fa92176edc66bfe3e33ca4b57e138e29f7d8512dc0a31aee057e5997ca9e37ca7934c459ef725e831d34166c189a2ed7e6fbc51 SHA512 47a4f714cf195e454b4f66cace58f6dbaa144f44c25594735fc91b37289e9b3c8b5259c03925316754d3eb33af3e0b3d3fb0c5c9aef818b239799e4f1fb49ce6
diff --git a/dev-cpp/antlr-cpp/antlr-cpp-2.7.7-r1.ebuild b/dev-cpp/antlr-cpp/antlr-cpp-2.7.7-r1.ebuild
deleted file mode 100644
index c6fa2c9550b5..000000000000
--- a/dev-cpp/antlr-cpp/antlr-cpp-2.7.7-r1.ebuild
+++ /dev/null
@@ -1,105 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-# Upstream only installs a static library. The original antlr ebuild
-# built a shared library manually, which isn't so great either. This
-# ebuild applies libtool instead and therefore an autoreconf is
-# required. A couple of errors concerning tr have been seen but the
-# final result still looks good. This also sidesteps bug #554344 plus
-# the need to call einstall.
-
-inherit autotools multilib-minimal
-
-MY_P="${PN%-cpp}-${PV}"
-DESCRIPTION="The ANTLR 2 C++ Runtime"
-HOMEPAGE="https://www.antlr2.org/"
-SRC_URI="https://www.antlr2.org/download/${MY_P}.tar.gz"
-LICENSE="public-domain"
-SLOT="2"
-KEYWORDS="amd64 ~arm ppc x86"
-IUSE="doc examples static-libs"
-RESTRICT="test" # No tests but test target blows up!
-
-DEPEND="doc? ( app-doc/doxygen )"
-RDEPEND="!dev-java/antlr:0[cxx]"
-
-S="${WORKDIR}/${MY_P}"
-ECONF_SOURCE="${S}"
-PATCHES=( "${FILESDIR}"/${PV}-{gcc,libtool}.patch )
-DOCS=( lib/cpp/AUTHORS lib/cpp/ChangeLog lib/cpp/README lib/cpp/TODO )
-
-src_prepare() {
- # Turn Makefile.in files into libtool-style Makefile.am
- # files. Countable.hpp is actually missing.
- local HPP=$(grep -E -o "\w+\.hpp" lib/cpp/antlr/Makefile.in | grep -v "Countable\.hpp" | tr "\n" " " || die)
- local CPP=$(grep -E -o "\w+\.cpp" lib/cpp/src/Makefile.in | tr "\n" " " || die)
-
- cat <<EOF > lib/cpp/antlr/Makefile.am || die
-antlr_includedir = \$(includedir)/antlr
-antlr_include_HEADERS = ${HPP}
-EOF
-
- cat <<EOF > lib/cpp/src/Makefile.am || die
-AM_CPPFLAGS = -I\$(abs_top_srcdir)/lib/cpp
-lib_LTLIBRARIES = libantlr.la
-libantlr_la_LDFLAGS = -version-info 2
-libantlr_la_SOURCES = ${CPP}
-EOF
-
- default
-
- mv -v configure.in configure.ac || die
- mv -v aclocal.m4 acinclude.m4 || die
-
- # These silly test -z lines break badly under recent autoconfs.
- sed -i '/AC_PATH_PROG/s/test -z "\$[^"]*" *&& *//' configure.ac || die
-
- # Delete build files from examples.
- find examples -name Makefile.in -delete || die
-
- # Fix make invocations. See bug #256880.
- find -name "*.in" -exec sed -i 's/@MAKE@/$(MAKE)/g' {} + || die
-
- eautoreconf
-}
-
-multilib_src_configure() {
- CONFIG_SHELL="${BASH}" econf \
- --disable-csharp \
- --enable-cxx \
- --disable-examples \
- --disable-java \
- --disable-python \
- --enable-shared \
- --enable-verbose \
- $(use_enable static-libs static)
-}
-
-src_compile() {
- multilib-minimal_src_compile
-
- if use doc; then
- cd "${S}/lib/cpp" || die
- doxygen -u doxygen.cfg || die
- doxygen doxygen.cfg || die
- fi
-}
-
-multilib_src_install() {
- # We only care about the C++ stuff.
- emake -C lib/cpp install DESTDIR="${D}"
-}
-
-src_install() {
- multilib-minimal_src_install
-
- cd "${S}" || die
- use doc && dohtml -r lib/cpp/gen_doc/html/
-
- if use examples; then
- docinto examples
- dodoc -r examples/cpp/*
- fi
-}
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
new file mode 100644
index 000000000000..c5a8534c2450
--- /dev/null
+++ b/dev-cpp/antlr-cpp/antlr-cpp-2.7.7-r2.ebuild
@@ -0,0 +1,82 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools multilib-minimal
+
+MY_P="${PN%-cpp}-${PV}"
+
+DESCRIPTION="The ANTLR 2 C++ Runtime"
+HOMEPAGE="https://www.antlr2.org/"
+SRC_URI="https://www.antlr2.org/download/${MY_P}.tar.gz"
+S="${WORKDIR}/${MY_P}"
+
+LICENSE="public-domain"
+SLOT="2"
+KEYWORDS="amd64 ~arm ppc x86"
+IUSE="doc examples"
+RESTRICT="test" # No tests but test target blows up!
+
+BDEPEND="doc? ( app-text/doxygen[dot] )"
+
+PATCHES=(
+ "${FILESDIR}"/${PV}-gcc.patch
+
+ # Upstream only installs a static library. The original antlr ebuild
+ # built a shared library manually, which isn't so great either. This
+ # ebuild applies libtool instead and therefore an autoreconf is
+ # required. A couple of errors concerning tr have been seen but the
+ # final result still looks good. This also sidesteps bug #554344 plus
+ # the need to call einstall.
+ "${FILESDIR}"/${PV}-autotools.patch
+)
+
+src_prepare() {
+ default
+
+ mv -v {aclocal,acinclude}.m4 || die
+
+ # Delete build files from examples
+ find examples -name Makefile.in -delete || die
+
+ eautoreconf
+}
+
+multilib_src_configure() {
+ CONFIG_SHELL="${BASH}" ECONF_SOURCE="${S}" econf \
+ --disable-csharp \
+ --disable-examples \
+ --disable-java \
+ --disable-python \
+ --enable-cxx \
+ --enable-verbose
+}
+
+multilib_src_compile() {
+ default
+
+ if multilib_native_use doc; then
+ cd "${S}"/lib/cpp || die
+ doxygen -u doxygen.cfg || die
+ doxygen doxygen.cfg || die
+ HTML_DOCS=( "${S}"/lib/cpp/gen_doc/html/. )
+ fi
+}
+
+multilib_src_install() {
+ # We only care about the C++ stuff
+ emake -C lib/cpp DESTDIR="${D}" install
+}
+
+multilib_src_install_all() {
+ einstalldocs
+ dodoc lib/cpp/AUTHORS lib/cpp/ChangeLog lib/cpp/README lib/cpp/TODO
+
+ if use examples; then
+ docinto examples
+ dodoc -r examples/cpp/.
+ fi
+
+ find "${ED}" -name '*.la' -delete || die
+}
diff --git a/dev-cpp/antlr-cpp/antlr-cpp-4.11.1.ebuild b/dev-cpp/antlr-cpp/antlr-cpp-4.11.1.ebuild
new file mode 100644
index 000000000000..242d1a1613f1
--- /dev/null
+++ b/dev-cpp/antlr-cpp/antlr-cpp-4.11.1.ebuild
@@ -0,0 +1,29 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+DESCRIPTION="The ANTLR 4 C++ Runtime"
+HOMEPAGE="https://www.antlr.org/"
+SRC_URI="https://www.antlr.org/download/antlr4-cpp-runtime-${PV}-source.zip -> ${P}.zip"
+S="${WORKDIR}"
+
+LICENSE="BSD"
+SLOT="4"
+KEYWORDS="amd64 ~arm ppc x86"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+DEPEND="test? ( dev-cpp/gtest )"
+BDEPEND="app-arch/unzip"
+
+PATCHES=( "${FILESDIR}"/${PV}-GNUInstallDirs.patch )
+
+src_configure() {
+ local mycmakeargs=(
+ -DANTLR_BUILD_CPP_TESTS=$(usex test)
+ )
+ cmake_src_configure
+}
diff --git a/dev-cpp/antlr-cpp/antlr-cpp-4.7.2.ebuild b/dev-cpp/antlr-cpp/antlr-cpp-4.7.2.ebuild
deleted file mode 100644
index 674acf4c9f29..000000000000
--- a/dev-cpp/antlr-cpp/antlr-cpp-4.7.2.ebuild
+++ /dev/null
@@ -1,27 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit cmake
-
-DESCRIPTION="The ANTLR 4 C++ Runtime"
-HOMEPAGE="https://www.antlr.org/"
-SRC_URI="https://www.antlr.org/download/antlr4-cpp-runtime-${PV}-source.zip -> ${P}.zip"
-S="${WORKDIR}"
-
-LICENSE="BSD"
-SLOT="4"
-KEYWORDS="amd64 ~arm ~ppc x86"
-
-BDEPEND="app-arch/unzip"
-
-src_prepare() {
- sed -i -e "s#DESTINATION lib#DESTINATION $(get_libdir)#" \
- "${S}"/runtime/CMakeLists.txt || die "failed sed"
-
- sed -i -e "s#share/doc/libantlr4#share/doc/${PF}#g" \
- "${S}"/CMakeLists.txt || die "failed sed"
-
- cmake_src_prepare
-}
diff --git a/dev-cpp/antlr-cpp/files/2.7.7-autotools.patch b/dev-cpp/antlr-cpp/files/2.7.7-autotools.patch
new file mode 100644
index 000000000000..5992c06c6ff7
--- /dev/null
+++ b/dev-cpp/antlr-cpp/files/2.7.7-autotools.patch
@@ -0,0 +1,159 @@
+- use libtool+automake for creating shared libraries
+- respect CXXFLAGS/LDFLAGS (#735708)
+- respect nested $(MAKE) (#256880)
+
+--- a/configure.in
++++ b/configure.in
+@@ -13,6 +13,9 @@
+ AC_CONFIG_SRCDIR([LICENSE.txt])
+ AC_CONFIG_AUX_DIR(scripts)
+
++LT_INIT
++AM_INIT_AUTOMAKE
++
+ ## This shall be the very first config file. Do not change
+ ## this.
+ AC_CONFIG_FILES([scripts/config.vars])
+@@ -404,7 +407,7 @@
+ esac
+
+ ## Test whether we have cygpath
+-test -z "$CYGPATH" && AC_PATH_PROGS(CYGPATH, cygpath$EXEEXT )
++AC_PATH_PROGS([CYGPATH], [cygpath$EXEEXT])
+
+ AC_SUBST([CYGPATH_M])
+ AC_SUBST([CYGPATH_W])
+@@ -448,7 +451,7 @@
+ ]
+ )
+
+-## @MAKE@ shall contain absolut path name of make program found.
++## $(MAKE) shall contain absolut path name of make program found.
+
+ ## Search for well known make programs - take user given MAKE
+ ## into account. The result will be a list of valid make prog-
+@@ -714,7 +717,6 @@
+ ## just overrule what autoconf figured out - we never asked for
+ ## this anyway. Our handling of compiler options is done below
+ ## in the fine tuning section.
+- CXXFLAGS=""
+
+ ## 'cxx' shall be the canonical compiler name. For example, gcc
+ ## cl, bcc, CC, etc. Note that this is in general not equal to CXX.
+@@ -807,7 +809,6 @@
+ ;;
+ esac
+
+- LDFLAGS=
+ AX_VAR_HEAD([AR])
+
+ ##xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx##
+@@ -832,7 +833,7 @@
+ esac
+
+ ##
+-test -z "$DOXYGEN" && AC_PATH_PROG(DOXYGEN, doxygen, doxygen, )
++AC_PATH_PROG([DOXYGEN], [doxygen], [doxygen], [])
+
+ # This seems to convince configure to use an absolute path to the backup
+ # install-sh script.
+@@ -840,8 +841,7 @@
+ AC_PROG_INSTALL
+ AC_PROG_RANLIB
+
+-test -z "$MKDIR" && AC_PATH_PROG(MKDIR, mkdir$EXEEXT, mkdir$EXEEXT )
+-test -z "$RM" && AC_PATH_PROG(RM, rm$EXEEXT, rm$EXEEXT )
++AC_PATH_PROG([MKDIR], [mkdir$EXEEXT], [mkdir$EXEEXT])
+
+ AX_PATH_PROGS(
+ [TAR],
+@@ -855,10 +855,10 @@
+ [AX_VAR_HEAD([TOUCH])]
+ )
+
+-test -z "$CHMOD" && AC_PATH_PROG(CHMOD, chmod$EXEEXT, chmod$EXEEXT )
+-test -z "$SED" && AC_PATH_PROG(SED, sed$EXEEXT, sed$EXEEXT )
+-test -z "$CAT" && AC_PATH_PROG(CAT, cat$EXEEXT, cat$EXEEXT )
+-test -z "$GREP" && AC_PATH_PROG(GREP, grep$EXEEXT, grep$EXEEXT )
++AC_PATH_PROG([CHMOD], [chmod$EXEEXT], [chmod$EXEEXT])
++AC_PATH_PROG([SED], [sed$EXEEXT], [sed$EXEEXT])
++AC_PATH_PROG([CAT], [cat$EXEEXT], [cat$EXEEXT])
++AC_PATH_PROG([GREP], [grep$EXEEXT], [grep$EXEEXT])
+
+ #xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx#
+ # PYTHON #
+--- /dev/null
++++ b/lib/cpp/antlr/Makefile.am
+@@ -0,0 +1,2 @@
++antlr_includedir = $(includedir)/antlr
++antlr_include_HEADERS = ANTLRException.hpp ANTLRUtil.hpp ASTArray.hpp ASTFactory.hpp AST.hpp ASTNULLType.hpp ASTPair.hpp ASTRefCount.hpp BaseAST.hpp BitSet.hpp CharBuffer.hpp CharInputBuffer.hpp CharScanner.hpp CharStreamException.hpp CharStreamIOException.hpp CircularQueue.hpp CommonAST.hpp CommonASTWithHiddenTokens.hpp CommonHiddenStreamToken.hpp CommonToken.hpp config.hpp InputBuffer.hpp IOException.hpp LexerSharedInputState.hpp LLkParser.hpp MismatchedCharException.hpp MismatchedTokenException.hpp NoViableAltException.hpp NoViableAltForCharException.hpp Parser.hpp ParserSharedInputState.hpp RecognitionException.hpp RefCount.hpp SemanticException.hpp String.hpp TokenBuffer.hpp Token.hpp TokenRefCount.hpp TokenStreamBasicFilter.hpp TokenStreamException.hpp TokenStreamHiddenTokenFilter.hpp TokenStream.hpp TokenStreamIOException.hpp TokenStreamRecognitionException.hpp TokenStreamRetryException.hpp TokenStreamRewriteEngine.hpp TokenStreamSelector.hpp TokenWithIndex.hpp TreeParser.hpp TreeParserSharedInputState.hpp
+--- /dev/null
++++ b/lib/cpp/src/Makefile.am
+@@ -0,0 +1,4 @@
++AM_CPPFLAGS = -I$(abs_top_srcdir)/lib/cpp
++lib_LTLIBRARIES = libantlr.la
++libantlr_la_LDFLAGS = -version-info 2
++libantlr_la_SOURCES = ANTLRUtil.cpp ASTFactory.cpp ASTNULLType.cpp ASTRefCount.cpp BaseAST.cpp BitSet.cpp CharBuffer.cpp CharScanner.cpp CommonAST.cpp CommonASTWithHiddenTokens.cpp CommonHiddenStreamToken.cpp CommonToken.cpp InputBuffer.cpp LLkParser.cpp MismatchedCharException.cpp MismatchedTokenException.cpp NoViableAltException.cpp NoViableAltForCharException.cpp Parser.cpp RecognitionException.cpp String.cpp Token.cpp TokenBuffer.cpp TokenStreamBasicFilter.cpp TokenStreamHiddenTokenFilter.cpp TokenStreamSelector.cpp TokenStreamRewriteEngine.cpp TreeParser.cpp TokenRefCount.cpp
+--- a/Makefile.in
++++ b/Makefile.in
+@@ -31,7 +31,7 @@
+
+ test clean distclean install ::
+ @ if test -f examples/Makefile ; then \
+- @MAKE@ -C examples $@ ; \
++ $(MAKE) -C examples $@ ; \
+ fi
+
+ # Rule to remove all objects, cores, ANTLR generated,
+--- a/scripts/config.deps.in
++++ b/scripts/config.deps.in
+@@ -119,7 +119,7 @@
+ $$subdir ) ;; \
+ * ) d="@abs_this_builddir@/$$subdir" ; \
+ test -f "$$d/Makefile" && { \
+- @MAKE@ -C "$$d" $@ ; \
++ $(MAKE) -C "$$d" $@ ; \
+ } \
+ ;; \
+ esac
+@@ -130,7 +130,7 @@
+ $$subdir ) ;; \
+ * ) d="@abs_this_builddir@/$$subdir" ; \
+ test -f "$$d/Makefile" && { \
+- @MAKE@ -C "$$d" $@ ; \
++ $(MAKE) -C "$$d" $@ ; \
+ } \
+ ;; \
+ esac
+@@ -142,7 +142,7 @@
+ $$subdir ) ;; \
+ * ) d="@abs_this_builddir@/$$subdir" ; \
+ test -f "$$d/Makefile" && { \
+- @MAKE@ -C "$$d" $@ ; \
++ $(MAKE) -C "$$d" $@ ; \
+ } \
+ ;; \
+ esac
+@@ -154,7 +154,7 @@
+ $$subdir ) ;; \
+ * ) d="@abs_this_builddir@/$$subdir" ; \
+ test -f "$$d/Makefile" && { \
+- @MAKE@ -C "$$d" $@ ; \
++ $(MAKE) -C "$$d" $@ ; \
+ } \
+ ;; \
+ esac
+--- a/scripts/config.make.in
++++ b/scripts/config.make.in
+@@ -47,9 +47,9 @@
+ *) \
+ if test -f "$${d}/Makefile" ; then \
+ echo ">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>" ; \
+- echo ">> @MAKE@ -C $(subdir)/$${d} $@ " ; \
++ echo ">> $(MAKE) -C $(subdir)/$${d} $@ " ; \
+ echo ">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>" ; \
+- @MAKE@ -C "$$d" $@ || exit 1 ;\
++ $(MAKE) -C "$$d" $@ || exit 1 ;\
+ fi ; \
+ ;; \
+ esac ; \
diff --git a/dev-cpp/antlr-cpp/files/2.7.7-libtool.patch b/dev-cpp/antlr-cpp/files/2.7.7-libtool.patch
deleted file mode 100644
index ea5e809f473f..000000000000
--- a/dev-cpp/antlr-cpp/files/2.7.7-libtool.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-diff -Naur antlr-2.7.7.orig/configure.in antlr-2.7.7/configure.in
---- antlr-2.7.7.orig/configure.in 2006-11-01 21:37:18.000000000 +0000
-+++ antlr-2.7.7/configure.in 2015-10-11 13:49:09.166308712 +0100
-@@ -13,6 +13,9 @@
- AC_CONFIG_SRCDIR([LICENSE.txt])
- AC_CONFIG_AUX_DIR(scripts)
-
-+LT_INIT
-+AM_INIT_AUTOMAKE
-+
- ## This shall be the very first config file. Do not change
- ## this.
- AC_CONFIG_FILES([scripts/config.vars])
-@@ -841,7 +844,6 @@
- AC_PROG_RANLIB
-
- test -z "$MKDIR" && AC_PATH_PROG(MKDIR, mkdir$EXEEXT, mkdir$EXEEXT )
--test -z "$RM" && AC_PATH_PROG(RM, rm$EXEEXT, rm$EXEEXT )
-
- AX_PATH_PROGS(
- [TAR],
diff --git a/dev-cpp/antlr-cpp/files/4.11.1-GNUInstallDirs.patch b/dev-cpp/antlr-cpp/files/4.11.1-GNUInstallDirs.patch
new file mode 100644
index 000000000000..c8795e0b033c
--- /dev/null
+++ b/dev-cpp/antlr-cpp/files/4.11.1-GNUInstallDirs.patch
@@ -0,0 +1,139 @@
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -113,11 +113,6 @@
+ set(CMAKE_CXX_FLAGS_MINSIZEREL "${CMAKE_CXX_FLAGS_MINSIZEREL} /O1 /Oi /Ob2 /Gy /MP /DNDEBUG ${MY_CXX_WARNING_FLAGS}")
+ set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} /O2 /Oi /Ob2 /Gy /MP /DNDEBUG ${MY_CXX_WARNING_FLGAS}")
+ set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "${CMAKE_CXX_FLAGS_RELWITHDEBINFO} /O2 /Oi /Ob2 /Gy /MP /Zi ${MY_CXX_WARNING_FLAGS}")
+-else()
+- set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -O0 -g ${MY_CXX_WARNING_FLAGS}")
+- set(CMAKE_CXX_FLAGS_MINSIZEREL "${CMAKE_CXX_FLAGS_MINSIZEREL} -Os -DNDEBUG ${MY_CXX_WARNING_FLAGS}")
+- set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -O3 -DNDEBUG ${MY_CXX_WARNING_FLGAS}")
+- set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "${CMAKE_CXX_FLAGS_RELWITHDEBINFO} -O2 -g ${MY_CXX_WARNING_FLAGS}")
+ endif()
+
+ # Compiler-specific C++17 activation.
+@@ -220,16 +215,8 @@
+
+ endif(ANTLR4_INSTALL)
+
+-if(EXISTS LICENSE.txt)
+-install(FILES LICENSE.txt
+- DESTINATION "share/doc/libantlr4")
+-elseif(EXISTS ../../LICENSE.txt)
+-install(FILES ../../LICENSE.txt
+- DESTINATION "share/doc/libantlr4")
+-endif()
+-
+ install(FILES README.md VERSION
+- DESTINATION "share/doc/libantlr4")
++ DESTINATION ${CMAKE_INSTALL_DOCDIR})
+
+ set(CPACK_PACKAGE_CONTACT "antlr-discussion@googlegroups.com")
+ set(CPACK_PACKAGE_VERSION ${ANTLR_VERSION})
+--- a/runtime/CMakeLists.txt
++++ b/runtime/CMakeLists.txt
+@@ -26,29 +26,14 @@
+ )
+
+ add_library(antlr4_shared SHARED ${libantlrcpp_SRC})
+-add_library(antlr4_static STATIC ${libantlrcpp_SRC})
+
+ # Make sure to link against threads (pthreads) library in order to be able to
+ # make use of std::call_once in the code without producing runtime errors
+ # (see also https://github.com/antlr/antlr4/issues/3708 and/or https://stackoverflow.com/q/51584960).
+ find_package(Threads REQUIRED)
+ target_link_libraries(antlr4_shared Threads::Threads)
+-target_link_libraries(antlr4_static Threads::Threads)
+
+ if (ANTLR_BUILD_CPP_TESTS)
+- include(FetchContent)
+-
+- FetchContent_Declare(
+- googletest
+- URL https://github.com/google/googletest/archive/e2239ee6043f73722e7aa812a459f54a28552929.zip
+- )
+-
+- if(WITH_STATIC_CRT)
+- set(gtest_force_shared_crt ON CACHE BOOL "" FORCE)
+- endif()
+-
+- FetchContent_MakeAvailable(googletest)
+-
+ file(GLOB libantlrcpp_TESTS
+ "${PROJECT_SOURCE_DIR}/runtime/tests/*.cpp"
+ )
+@@ -60,8 +45,9 @@
+
+ target_link_libraries(
+ antlr4_tests
+- antlr4_static
++ antlr4_shared
+ gtest_main
++ gtest
+ )
+
+ include(GoogleTest)
+@@ -71,7 +57,6 @@
+
+ if(APPLE)
+ target_link_libraries(antlr4_shared ${COREFOUNDATION_LIBRARY})
+- target_link_libraries(antlr4_static ${COREFOUNDATION_LIBRARY})
+ endif()
+
+ if(CMAKE_CXX_COMPILER_ID MATCHES "MSVC")
+@@ -88,16 +73,11 @@
+ endif()
+
+ set(extra_share_compile_flags "")
+-set(extra_static_compile_flags "")
+-set(static_lib_suffix "")
+
+ if (WIN32)
+- set(static_lib_suffix "-static")
+ target_compile_definitions(antlr4_shared PUBLIC ANTLR4CPP_EXPORTS)
+- target_compile_definitions(antlr4_static PUBLIC ANTLR4CPP_STATIC)
+ if(CMAKE_CXX_COMPILER_ID MATCHES "MSVC")
+ set(extra_share_compile_flags "-MP /wd4251")
+- set(extra_static_compile_flags "-MP")
+ endif()
+ endif()
+
+@@ -107,13 +87,6 @@
+ OUTPUT_NAME antlr4-runtime
+ COMPILE_FLAGS "${disabled_compile_warnings} ${extra_share_compile_flags}")
+
+-set_target_properties(antlr4_static
+- PROPERTIES VERSION ${ANTLR_VERSION}
+- SOVERSION ${ANTLR_VERSION}
+- OUTPUT_NAME "antlr4-runtime${static_lib_suffix}"
+- COMPILE_PDB_NAME "antlr4-runtime${static_lib_suffix}"
+- COMPILE_FLAGS "${disabled_compile_warnings} ${extra_static_compile_flags}")
+-
+ if (ANTLR_BUILD_CPP_TESTS)
+ # Copy the generated binaries to dist folder (required by test suite)
+ add_custom_command(
+@@ -122,24 +95,12 @@
+ COMMAND ${CMAKE_COMMAND} -E make_directory ${CMAKE_HOME_DIRECTORY}/dist
+ COMMAND ${CMAKE_COMMAND} -E copy_if_different $<TARGET_FILE:antlr4_shared> ${CMAKE_HOME_DIRECTORY}/dist
+ COMMAND ${CMAKE_COMMAND} -E copy_if_different $<TARGET_LINKER_FILE:antlr4_shared> ${CMAKE_HOME_DIRECTORY}/dist)
+-
+- add_custom_command(
+- TARGET antlr4_static
+- POST_BUILD
+- COMMAND ${CMAKE_COMMAND} -E make_directory ${CMAKE_HOME_DIRECTORY}/dist
+- COMMAND ${CMAKE_COMMAND} -E copy_if_different $<TARGET_FILE:antlr4_static> ${CMAKE_HOME_DIRECTORY}/dist)
+ endif()
+
+ install(TARGETS antlr4_shared
+ EXPORT antlr4-targets
+ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
+ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
+- RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
+-
+-install(TARGETS antlr4_static
+- EXPORT antlr4-targets
+- ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
+- LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
+ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
+
+ install(DIRECTORY "${PROJECT_SOURCE_DIR}/runtime/src/"
diff --git a/dev-cpp/argparse/Manifest b/dev-cpp/argparse/Manifest
index adac49660b31..02766a54f2de 100644
--- a/dev-cpp/argparse/Manifest
+++ b/dev-cpp/argparse/Manifest
@@ -1 +1 @@
-DIST argparse-2.1.tar.gz 72452 BLAKE2B eece3f1cf6a2e58f5bec99f0223b31ba92147964053d98122099dd806a0ab62c6039ee8741281d1eca28b9d0e3aa02d7d076e8bcc64bbd5dd03c777f8e460531 SHA512 35746e0b526bd4406c954ab315f191abc57b08b48a047f108ddacc7baace406d3ddddb1af23d41caff565afecfeb41dfedd27a08cdba8d11b59dbe7c78b7e9b0
+DIST argparse-2.9.tar.gz 103147 BLAKE2B 2862acd7dc43dea0f7a7a1e6c9541ec8e7b7ecc70ce72ad327b34f72a330799475490e7da4e3a07c9ab28ddec4f88911514690c8b438f36d7c02704fe26b0f08 SHA512 fa471e7d8c448510376e79927496f62775e6ed37e1dffefd607839e6005dfbc61125d0e18bfc1ff20f86cef7efd75339d7bb143dc6574d988f83c7c96896fa5f
diff --git a/dev-cpp/argparse/argparse-2.1.ebuild b/dev-cpp/argparse/argparse-2.9.ebuild
index e816482a83fd..e273fd49b506 100644
--- a/dev-cpp/argparse/argparse-2.1.ebuild
+++ b/dev-cpp/argparse/argparse-2.9.ebuild
@@ -1,11 +1,9 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
-CMAKE_ECLASS="cmake"
-
-inherit cmake-multilib
+inherit cmake
DESCRIPTION="Argument Parser for Modern C++"
HOMEPAGE="https://github.com/p-ranav/argparse"
@@ -14,3 +12,18 @@ SRC_URI="https://github.com/p-ranav/argparse/archive/v${PV}.tar.gz -> ${P}.tar.g
LICENSE="MIT"
SLOT="0"
KEYWORDS="~amd64 ~arm ~arm64 ~x86"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+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 ccdb995c096d..a4117e9d489e 100644
--- a/dev-cpp/asio/Manifest
+++ b/dev-cpp/asio/Manifest
@@ -1,3 +1,2 @@
-DIST asio-1.10.8.tar.bz2 1270332 BLAKE2B 97e4a6a7c8b4562f10af1d122e9b08c12d567fd0447d1951a907f47f77832dcd42df4cb9b5b392feaaa2ea7c79d8bedfcf12e3052957ec012d8bb6b4d1347eb5 SHA512 d870686d2b19bec9925c311f2f0fd370e9797bbad252176a80a998f9c322ecd502b5081826105712e7caf87c03c3e6b70a0e219019e5bff46077d6e8c3c6db09
-DIST asio-1.19.2.tar.bz2 1842597 BLAKE2B b2236c33432984ab660eba4c93be32374bb49f688a1e6a0711d7bac322cc4a7f817db209278f216468c6a72b9d3dd564cf298e1f49f8098c3fd9aec7acd66eb7 SHA512 07f9c29d8f02090b4d4b6a1867bcc07a8e9f3388556dff787ca3ba143022eeb63bfac0b5bc264076fed4db3b2e5ec6b7ff0ebefde40ba4753c832032a72d54cc
-DIST asio-1.20.0.tar.bz2 1845826 BLAKE2B a768dc0b9ae380bef07d674507f7571d0bc47e182cdde10b24cee246814874dd7739c523b071dfede61a12059f52e04d7bbd309a03d93070bc1dd4640c253c19 SHA512 6421960abd2cf0c205cc50e86adfe492bca2870b486328b4825dc0cefc9c40cdc085516d474c23e15a73f4c108c0e69add5fab6dbe594a1e53636c5c3027e4c5
+DIST asio-1.28.0.tar.bz2 3387977 BLAKE2B dc0431a6710f58ce037d6e6e1cf81606b6f8be3ac9fdf6f7a69a7998fadb4f3c9dace2aa99606a9570166f9637ca7f4b9ab6964599c78027a9f32a9d243d5684 SHA512 b3fa23caa4cbf1e374fade97102adb22a32c68bd4b050474987c065b516fdf042d46842c41ac94e71458f402fae2d05bc8f617ee523ffb6a74ef33d214e9acd5
+DIST asio-1.28.1.tar.bz2 3383257 BLAKE2B 9d98152a6cf8b0e2a807275092b23f6198d8175fd7260499be7561cea2e6723c1a8478107315b7163cdc31d6eecab552550393ab3b1cfb686dcb4157d1e91fe4 SHA512 fadd7748675743ba9110f873bf57f2400a5c9c0dc03c1d6cd7f0988bc70ccbbff6cb6140f5dd236d2d874fc82a6f216406e8892808e915aae5119fe9d95743de
diff --git a/dev-cpp/asio/asio-1.10.8.ebuild b/dev-cpp/asio/asio-1.10.8.ebuild
deleted file mode 100644
index dcdcee8f9c29..000000000000
--- a/dev-cpp/asio/asio-1.10.8.ebuild
+++ /dev/null
@@ -1,46 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-DESCRIPTION="Asynchronous Network Library"
-HOMEPAGE="http://asio.sourceforge.net/"
-SRC_URI="mirror://sourceforge/${PN}/${PN}/${P}.tar.bz2"
-
-LICENSE="Boost-1.0"
-SLOT="0"
-KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~ia64 ppc ppc64 sparc x86"
-IUSE="doc examples ssl test"
-RESTRICT="!test? ( test )"
-
-RDEPEND="dev-libs/boost
- ssl? ( dev-libs/openssl:0= )"
-DEPEND="${RDEPEND}"
-
-src_prepare() {
- default
-
- 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() {
- use doc && local HTML_DOCS=( doc/. )
- 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.20.0.ebuild b/dev-cpp/asio/asio-1.28.0.ebuild
index 0b91e779c0be..527c5fbc08cc 100644
--- a/dev-cpp/asio/asio-1.20.0.ebuild
+++ b/dev-cpp/asio/asio-1.28.0.ebuild
@@ -1,15 +1,17 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2023 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="mirror://sourceforge/${PN}/${PN}/${P}.tar.bz2"
LICENSE="Boost-1.0"
SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~riscv ~sparc ~x86"
+KEYWORDS="~alpha amd64 ~arm arm64 ~hppa ~ia64 ppc ppc64 ~riscv sparc x86"
IUSE="doc examples test"
RESTRICT="!test? ( test )"
@@ -19,10 +21,13 @@ DEPEND="
dev-libs/openssl
)
"
+BDEPEND="virtual/pkgconfig"
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
@@ -36,6 +41,11 @@ 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
@@ -45,5 +55,11 @@ src_install() {
emake clean
dodoc -r src/examples
docompress -x /usr/share/doc/${PF}/examples
+
+ # Make links to the example .cpp files work
+ # https://bugs.gentoo.org/828648
+ if use doc; then
+ dosym ../examples /usr/share/doc/${PF}/src/examples
+ fi
fi
}
diff --git a/dev-cpp/asio/asio-1.19.2.ebuild b/dev-cpp/asio/asio-1.28.1.ebuild
index 0e025f305eee..8cfbedfa0816 100644
--- a/dev-cpp/asio/asio-1.19.2.ebuild
+++ b/dev-cpp/asio/asio-1.28.1.ebuild
@@ -1,15 +1,17 @@
-# Copyright 1999-2021 Gentoo Authors
+# 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="mirror://sourceforge/${PN}/${PN}/${P}.tar.bz2"
LICENSE="Boost-1.0"
SLOT="0"
-KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~ia64 ppc ppc64 ~riscv sparc x86"
+KEYWORDS="~alpha amd64 ~arm arm64 ~hppa ~ia64 ppc ppc64 ~riscv sparc x86"
IUSE="doc examples test"
RESTRICT="!test? ( test )"
@@ -19,10 +21,13 @@ DEPEND="
dev-libs/openssl
)
"
+BDEPEND="virtual/pkgconfig"
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
@@ -36,6 +41,11 @@ 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
@@ -45,5 +55,11 @@ src_install() {
emake clean
dodoc -r src/examples
docompress -x /usr/share/doc/${PF}/examples
+
+ # Make links to the example .cpp files work
+ # https://bugs.gentoo.org/828648
+ if use doc; then
+ dosym ../examples /usr/share/doc/${PF}/src/examples
+ fi
fi
}
diff --git a/dev-cpp/atkmm/Manifest b/dev-cpp/atkmm/Manifest
index 1dd06bb0f56d..c0461731e648 100644
--- a/dev-cpp/atkmm/Manifest
+++ b/dev-cpp/atkmm/Manifest
@@ -1,2 +1 @@
-DIST atkmm-2.28.2.tar.xz 689944 BLAKE2B 24a71e98af483ed5a5a0c517fecca775ad0206b972fc3906b9b002910ca07dd1d1ae1a9aa6f044231470b484d36d580d8d263ac7b8ddee668d3a0e1845bd47b0 SHA512 df20b89b603a6ae419db24b21acbd6a9d0e91c07e374b4b774f6a67581ce1581affb0d079a264f0d7f2e6d8b63210639dd7aa15e7e94fb5904d161e9a2aac286
-DIST atkmm-2.36.1.tar.xz 736828 BLAKE2B 5dc5d8fb9a29fe16bad0aea7737110df08f10504b5994239015a85ebfd98b6e38414259ecb6819e1dd9459fdf49e0f6b85c5ed9936802bd56d5c154c91443add SHA512 23c831afac6bb9a0f9f2e622f8f9ffea29445a33b1cd650e0c07ee77e60b28ae5ee978c029e8e0f9b94e9ff4679d69ebde833f15e0a5403d97914cc7ccf98a6a
+DIST atkmm-2.28.3.tar.xz 691164 BLAKE2B 07468f4bdf2b790873517907c4564ccd513bb28500c14b1db50bcfed0c51ca8401a95989c0c61460c905125e6d0c71560f59190c5fa38abdc2d133991d519f45 SHA512 ebc25e9de4b9de6df7097ab485fb0675d8c83113d99a444eec91df0908073362bfdaa9b03fc4c3e91766109d9b94b88df041851176ecde578cf932b526ef678e
diff --git a/dev-cpp/atkmm/atkmm-2.28.2.ebuild b/dev-cpp/atkmm/atkmm-2.28.2.ebuild
deleted file mode 100644
index ffb10b24f7c6..000000000000
--- a/dev-cpp/atkmm/atkmm-2.28.2.ebuild
+++ /dev/null
@@ -1,38 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{7..9} )
-inherit gnome.org meson-multilib python-any-r1
-
-DESCRIPTION="C++ interface for the ATK library"
-HOMEPAGE="https://www.gtkmm.org"
-
-LICENSE="LGPL-2.1+"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm ~arm64 ~hppa ~ia64 ppc ppc64 ~riscv sparc x86 ~amd64-linux ~x86-linux ~sparc-solaris ~x86-solaris"
-IUSE="doc"
-
-DEPEND="
- >=dev-cpp/glibmm-2.46.2:2[doc?,${MULTILIB_USEDEP}]
- >=dev-libs/atk-2.18.0[${MULTILIB_USEDEP}]
- >=dev-libs/libsigc++-2.3.2:2[doc?,${MULTILIB_USEDEP}]
-"
-RDEPEND="${DEPEND}"
-BDEPEND="
- virtual/pkgconfig
- doc? (
- app-doc/doxygen[dot]
- dev-lang/perl
- dev-libs/libxslt
- )
- ${PYTHON_DEPS}
-"
-
-multilib_src_configure() {
- local emesonargs=(
- $(meson_native_use_bool doc build-documentation)
- )
- meson_src_configure
-}
diff --git a/dev-cpp/atkmm/atkmm-2.28.3.ebuild b/dev-cpp/atkmm/atkmm-2.28.3.ebuild
new file mode 100644
index 000000000000..0beb02b7b03d
--- /dev/null
+++ b/dev-cpp/atkmm/atkmm-2.28.3.ebuild
@@ -0,0 +1,38 @@
+# Copyright 1999-2024 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 the ATK library"
+HOMEPAGE="https://www.gtkmm.org https://gitlab.gnome.org/GNOME/atkmm"
+
+LICENSE="LGPL-2.1+"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ppc ppc64 ~riscv sparc x86 ~amd64-linux ~x86-linux"
+IUSE="gtk-doc"
+
+DEPEND="
+ >=dev-cpp/glibmm-2.46.2:2[gtk-doc?,${MULTILIB_USEDEP}]
+ >=dev-libs/atk-2.18.0[${MULTILIB_USEDEP}]
+ >=dev-libs/libsigc++-2.3.2:2[gtk-doc?,${MULTILIB_USEDEP}]
+"
+RDEPEND="${DEPEND}"
+BDEPEND="
+ virtual/pkgconfig
+ gtk-doc? (
+ >=dev-cpp/mm-common-1.0.4
+ app-text/doxygen[dot]
+ dev-libs/libxslt
+ )
+ ${PYTHON_DEPS}
+"
+
+multilib_src_configure() {
+ local emesonargs=(
+ $(meson_native_use_bool gtk-doc build-documentation)
+ )
+ meson_src_configure
+}
diff --git a/dev-cpp/atkmm/atkmm-2.36.1.ebuild b/dev-cpp/atkmm/atkmm-2.36.1.ebuild
deleted file mode 100644
index 6889038a2d5e..000000000000
--- a/dev-cpp/atkmm/atkmm-2.36.1.ebuild
+++ /dev/null
@@ -1,38 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{7..9} )
-inherit gnome.org meson-multilib python-any-r1
-
-DESCRIPTION="C++ interface for the ATK library"
-HOMEPAGE="https://www.gtkmm.org"
-
-LICENSE="LGPL-2.1+"
-SLOT="2.36"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux ~sparc-solaris ~x86-solaris"
-IUSE="doc"
-
-DEPEND="
- >=dev-cpp/glibmm-2.68.0:2.68[doc?,${MULTILIB_USEDEP}]
- >=dev-libs/atk-2.18.0[${MULTILIB_USEDEP}]
- dev-libs/libsigc++:3[doc?,${MULTILIB_USEDEP}]
-"
-RDEPEND="${DEPEND}"
-BDEPEND="
- virtual/pkgconfig
- doc? (
- app-doc/doxygen[dot]
- dev-lang/perl
- dev-libs/libxslt
- )
- ${PYTHON_DEPS}
-"
-
-multilib_src_configure() {
- local emesonargs=(
- $(meson_native_use_bool doc build-documentation)
- )
- meson_src_configure
-}
diff --git a/dev-cpp/atkmm/metadata.xml b/dev-cpp/atkmm/metadata.xml
index 7b343b06be8a..73dadc014fdd 100644
--- a/dev-cpp/atkmm/metadata.xml
+++ b/dev-cpp/atkmm/metadata.xml
@@ -1,8 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
-<maintainer type="project">
- <email>gnome@gentoo.org</email>
- <name>Gentoo GNOME Desktop</name>
-</maintainer>
+ <maintainer type="project">
+ <email>gnome@gentoo.org</email>
+ <name>Gentoo GNOME Desktop</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="gnome-gitlab">GNOME/atkmm</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/dev-cpp/benchmark/Manifest b/dev-cpp/benchmark/Manifest
index fcd377803e12..b154090faa00 100644
--- a/dev-cpp/benchmark/Manifest
+++ b/dev-cpp/benchmark/Manifest
@@ -1,2 +1 @@
-DIST benchmark-1.5.6.tar.gz 177911 BLAKE2B ea4e98cb98471b2b8e2371109b96017bc483459dc924deaa1d9770b065de946ea2d69ca36098c27283f15370699f2475448af1e205cfca3d9c64408f08c202a9 SHA512 b3c1fd4407d660456ae51abd7c427460a2c7b029ab6344e21bb61d3ec84e3b60638b7a719655aa04fb9ca639b6371e553e9de18539aca8dd38c361b4c6522538
-DIST benchmark-1.6.0.tar.gz 178527 BLAKE2B b31fdd2a00d80c63102ea81ed9d1392f243e0d6d67ebf7d1e1a3d20cf7702acc68a3ddd3edd6ccbcfe76c01438c492c15f4d0146689587ccf8a3dccd6043ed11 SHA512 83788f64322067cedca4e459dd2b4117a80d3dc480e1ce0a4d9c323827e13cb1969889a6049cd487dc28ecb0ff52c868a73492c738283ee1236e527b0ca8b11d
+DIST benchmark-1.8.3.tar.gz 250206 BLAKE2B 14b4af17184a88378314d11623b73c27368999fcff6e50986407a08739fdf388cdcbd140471b629cd2a9948f81073796f8a6c38d015be8413b7e4d4759715f97 SHA512 4e12114251c79a426873cfba6e27270b69fc980cef9a68e9cb3170f8e2e203f77dee19ab1e65cad51cd67e60991d3bbfdd52553f22522ce5e6c611b5aa07602c
diff --git a/dev-cpp/benchmark/benchmark-1.5.6.ebuild b/dev-cpp/benchmark/benchmark-1.5.6.ebuild
deleted file mode 100644
index 447bfdaa52d6..000000000000
--- a/dev-cpp/benchmark/benchmark-1.5.6.ebuild
+++ /dev/null
@@ -1,36 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit cmake
-
-DESCRIPTION="A microbenchmark support library"
-HOMEPAGE="https://github.com/google/benchmark"
-SRC_URI="https://github.com/google/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~hppa ~ppc ~ppc64 ~riscv ~x86"
-IUSE="debug test"
-
-RESTRICT="!test? ( test )"
-
-# Version not in the tree yet
-#BDEPEND="test? ( >=dev-cpp/gtest-1.11.0 )"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-1.5.6-system_testdeps.patch
-)
-
-src_configure() {
- local mycmakeargs=(
- -DBENCHMARK_ENABLE_TESTING=$(usex test)
- -DBENCHMARK_ENABLE_GTEST_TESTS=OFF
- -DBENCHMARK_ENABLE_ASSEMBLY_TESTS=OFF
- )
-
- use debug || append-cppflags -DNDEBUG
-
- cmake_src_configure
-}
diff --git a/dev-cpp/benchmark/benchmark-1.8.3-r1.ebuild b/dev-cpp/benchmark/benchmark-1.8.3-r1.ebuild
new file mode 100644
index 000000000000..5c20bb79f760
--- /dev/null
+++ b/dev-cpp/benchmark/benchmark-1.8.3-r1.ebuild
@@ -0,0 +1,39 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake flag-o-matic
+
+DESCRIPTION="A microbenchmark support library"
+HOMEPAGE="https://github.com/google/benchmark"
+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 test"
+RESTRICT="!test? ( test )"
+
+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_TESTING=$(usex test)
+ -DBENCHMARK_ENABLE_WERROR=OFF
+ -DBENCHMARK_USE_BUNDLED_GTEST=OFF
+ )
+
+ use debug || append-cppflags -DNDEBUG
+
+ cmake_src_configure
+}
diff --git a/dev-cpp/benchmark/benchmark-1.6.0.ebuild b/dev-cpp/benchmark/benchmark-1.8.3.ebuild
index 604dda9d01d5..5112ab78a558 100644
--- a/dev-cpp/benchmark/benchmark-1.6.0.ebuild
+++ b/dev-cpp/benchmark/benchmark-1.8.3.ebuild
@@ -1,9 +1,9 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
-inherit cmake
+inherit cmake flag-o-matic
DESCRIPTION="A microbenchmark support library"
HOMEPAGE="https://github.com/google/benchmark"
@@ -11,25 +11,22 @@ 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 ~ppc ~ppc64 ~riscv ~x86"
-IUSE="debug test"
-
+KEYWORDS="amd64 ~arm arm64 ~hppa ~loong ppc ppc64 ~riscv x86"
+IUSE="debug doc test"
RESTRICT="!test? ( test )"
-# Version not in the tree yet
-#BDEPEND="test? ( >=dev-cpp/gtest-1.11.0 )"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-1.5.6-system_testdeps.patch
- "${FILESDIR}"/${PN}-1.6.0-disable_Werror.patch
- "${FILESDIR}"/${PN}-1.6.0-versioned_docdir.patch
-)
+BDEPEND="doc? ( app-text/doxygen )
+ test? ( >=dev-cpp/gtest-1.11.0 )"
+PATCHES=( "${FILESDIR}/${PN}-1.8.3-fix-32bit-test.patch" )
src_configure() {
local mycmakeargs=(
- -DBENCHMARK_ENABLE_TESTING=$(usex test)
- -DBENCHMARK_ENABLE_GTEST_TESTS=OFF
-DBENCHMARK_ENABLE_ASSEMBLY_TESTS=OFF
+ -DBENCHMARK_ENABLE_DOXYGEN=$(usex doc)
+ -DBENCHMARK_ENABLE_GTEST_TESTS=$(usex test)
+ -DBENCHMARK_ENABLE_TESTING=$(usex test)
+ -DBENCHMARK_ENABLE_WERROR=OFF
+ -DBENCHMARK_USE_BUNDLED_GTEST=OFF
)
use debug || append-cppflags -DNDEBUG
diff --git a/dev-cpp/benchmark/files/benchmark-1.5.6-system_testdeps.patch b/dev-cpp/benchmark/files/benchmark-1.5.6-system_testdeps.patch
deleted file mode 100644
index 98aa94904075..000000000000
--- a/dev-cpp/benchmark/files/benchmark-1.5.6-system_testdeps.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -307,7 +307,7 @@
- if (BENCHMARK_ENABLE_GTEST_TESTS AND
- NOT (TARGET gtest AND TARGET gtest_main AND
- TARGET gmock AND TARGET gmock_main))
-- include(GoogleTest)
-+ find_package(GTest 1.11 REQUIRED)
- endif()
- add_subdirectory(test)
- endif()
diff --git a/dev-cpp/benchmark/files/benchmark-1.6.0-disable_Werror.patch b/dev-cpp/benchmark/files/benchmark-1.6.0-disable_Werror.patch
deleted file mode 100644
index 8a3de98008ea..000000000000
--- a/dev-cpp/benchmark/files/benchmark-1.6.0-disable_Werror.patch
+++ /dev/null
@@ -1,12 +0,0 @@
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -160,9 +160,6 @@
- add_cxx_compiler_flag(-Wall)
- add_cxx_compiler_flag(-Wextra)
- add_cxx_compiler_flag(-Wshadow)
-- add_cxx_compiler_flag(-Werror RELEASE)
-- add_cxx_compiler_flag(-Werror RELWITHDEBINFO)
-- add_cxx_compiler_flag(-Werror MINSIZEREL)
- if (NOT BENCHMARK_ENABLE_TESTING)
- # Disable warning when compiling tests as gtest does not use 'override'.
- add_cxx_compiler_flag(-Wsuggest-override)
diff --git a/dev-cpp/benchmark/files/benchmark-1.6.0-versioned_docdir.patch b/dev-cpp/benchmark/files/benchmark-1.6.0-versioned_docdir.patch
deleted file mode 100644
index 156e8b0c2a67..000000000000
--- a/dev-cpp/benchmark/files/benchmark-1.6.0-versioned_docdir.patch
+++ /dev/null
@@ -1,9 +0,0 @@
---- a/src/CMakeLists.txt
-+++ b/src/CMakeLists.txt
-@@ -120,5 +120,5 @@
-
- install(
- DIRECTORY "${PROJECT_SOURCE_DIR}/docs/"
-- DESTINATION "${CMAKE_INSTALL_PREFIX}/share/doc/${PROJECT_NAME}")
-+ DESTINATION "${CMAKE_INSTALL_PREFIX}/share/doc/${PROJECT_NAME}-${CMAKE_PROJECT_VERSION}")
- endif()
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/cairomm/Manifest b/dev-cpp/cairomm/Manifest
index 6825b9f92f2b..ab5d8910b384 100644
--- a/dev-cpp/cairomm/Manifest
+++ b/dev-cpp/cairomm/Manifest
@@ -1,2 +1,2 @@
-DIST cairomm-1.14.3.tar.xz 604572 BLAKE2B a626ee20a229c4597622e7ead3320e5ff971632548488e970b877712d5579731093a14791a13416bec783e180a4f8432be1a743c7a5d77af2fdf30fa36ee3caa SHA512 8dc8a0de733904742c54d4935b596d4103f2e498c6735894bc6a5a81eb4962c6ea944bad94102b18b25850f78e948d38f117c566b197bc76da23a4e88b62ee4e
-DIST cairomm-1.16.1.tar.xz 580020 BLAKE2B 219e83fb328a73cc7c5801aa155156e65245fbccfb3899d98573266f78f9f489ef968fac3c8c577fa98fbdc61af6d873293783c41dd00046e5db327443bdeda2 SHA512 2dbdd41f712d43573ad3118f37d443d2b9ae98737c240d5db8d830ef38f2b4a95182b2fc857577c7564eb94649e629f70380f16ee84f4978759f40e19d802757
+DIST cairomm-1.14.4.tar.xz 618548 BLAKE2B 611e05b66e731d470c6d9a64c2eb4aee68aa73be5c05cb7e741e9a851ef15609cfc9fc27177531880b16517e62cf5c3f7669d4f7e7c5c78b9bc7d829e27f4d25 SHA512 9e2692837f55a2e66cd7e9d0a8033a35524df1c3186a53a9be75d71e899240dbc8959c914471e61e311812dabaf815e732142686b42fbdc75a71c05b41013d33
+DIST cairomm-1.18.0.tar.xz 632520 BLAKE2B e05135eb2e22ed6002821567dd951644febc173b04e001f3574d6dac36d0c6d012c3806e7485fa7856402945934c653c4546855a8e97b016130edac31726d827 SHA512 d358a765136e244773b4a0fdcb2d9c81dd0b76f7a27c7108f94df9765f2d790f5f50b5645c09c292efce3e012528f85114d51916450c5fe6fa87d09f5a405d4c
diff --git a/dev-cpp/cairomm/cairomm-1.14.3.ebuild b/dev-cpp/cairomm/cairomm-1.14.3.ebuild
deleted file mode 100644
index 19bb074bda69..000000000000
--- a/dev-cpp/cairomm/cairomm-1.14.3.ebuild
+++ /dev/null
@@ -1,45 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit meson-multilib
-
-DESCRIPTION="C++ bindings for the Cairo vector graphics library"
-HOMEPAGE="https://cairographics.org/cairomm/"
-SRC_URI="https://www.cairographics.org/releases/${P}.tar.xz"
-
-LICENSE="LGPL-2+"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm ~arm64 ~hppa ~ia64 ppc ppc64 ~riscv sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x86-solaris"
-IUSE="doc test"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- >=dev-libs/libsigc++-2.6.0:2[doc?,${MULTILIB_USEDEP}]
- >=x11-libs/cairo-1.12.0[${MULTILIB_USEDEP}]
-"
-DEPEND="${RDEPEND}
- test? (
- dev-libs/boost[${MULTILIB_USEDEP}]
- media-libs/fontconfig[${MULTILIB_USEDEP}]
- )
-"
-BDEPEND="
- virtual/pkgconfig
- doc? (
- app-doc/doxygen[dot]
- dev-lang/perl
- dev-libs/libxslt
- )
-"
-
-multilib_src_configure() {
- local emesonargs=(
- $(meson_native_use_bool 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.14.4.ebuild b/dev-cpp/cairomm/cairomm-1.14.4.ebuild
new file mode 100644
index 000000000000..c1b5939d9a91
--- /dev/null
+++ b/dev-cpp/cairomm/cairomm-1.14.4.ebuild
@@ -0,0 +1,50 @@
+# Copyright 1999-2024 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="0"
+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++-2.6.0:2[gtk-doc?,${MULTILIB_USEDEP}]
+ >=x11-libs/cairo-1.12.0[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-text/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.16.1.ebuild b/dev-cpp/cairomm/cairomm-1.16.1.ebuild
deleted file mode 100644
index a2d8be8732dc..000000000000
--- a/dev-cpp/cairomm/cairomm-1.16.1.ebuild
+++ /dev/null
@@ -1,45 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit meson-multilib
-
-DESCRIPTION="C++ bindings for the Cairo vector graphics library"
-HOMEPAGE="https://cairographics.org/cairomm/"
-SRC_URI="https://www.cairographics.org/releases/${P}.tar.xz"
-
-LICENSE="LGPL-2+"
-SLOT="1.16"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x86-solaris"
-IUSE="doc test"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- dev-libs/libsigc++:3[doc?,${MULTILIB_USEDEP}]
- >=x11-libs/cairo-1.12.10[${MULTILIB_USEDEP}]
-"
-DEPEND="${RDEPEND}
- test? (
- dev-libs/boost[${MULTILIB_USEDEP}]
- media-libs/fontconfig[${MULTILIB_USEDEP}]
- )
-"
-BDEPEND="
- virtual/pkgconfig
- doc? (
- app-doc/doxygen[dot]
- dev-lang/perl
- dev-libs/libxslt
- )
-"
-
-multilib_src_configure() {
- local emesonargs=(
- $(meson_native_use_bool doc 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
new file mode 100644
index 000000000000..11ec3b96345a
--- /dev/null
+++ b/dev-cpp/cairomm/cairomm-1.18.0.ebuild
@@ -0,0 +1,50 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+PYTHON_COMPAT=( python3_{10..12} )
+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.14.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-text/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/metadata.xml b/dev-cpp/cairomm/metadata.xml
index 7b343b06be8a..04715ff9071f 100644
--- a/dev-cpp/cairomm/metadata.xml
+++ b/dev-cpp/cairomm/metadata.xml
@@ -1,8 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
-<maintainer type="project">
- <email>gnome@gentoo.org</email>
- <name>Gentoo GNOME Desktop</name>
-</maintainer>
+ <maintainer type="project">
+ <email>gnome@gentoo.org</email>
+ <name>Gentoo GNOME Desktop</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="freedesktop-gitlab">cairo/cairomm</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/dev-cpp/catch/Manifest b/dev-cpp/catch/Manifest
index 9e33343c1154..c9e3a10d3c5c 100644
--- a/dev-cpp/catch/Manifest
+++ b/dev-cpp/catch/Manifest
@@ -1,3 +1,6 @@
DIST Catch-1.12.2.tar.gz 377265 BLAKE2B bc27b4daee950f8fb93d65f3aed032e72bc856ee27a8dc28c35b89e33f414d68ba4cf00951e476688eddf9e4c0514036bd6916fa6cfa9e3359e6c625984f114f SHA512 ed963cdca9fe307ee02928677f81cafcb41cd607faaa315182fdf898d0f2aa28f0be2141bd642f46fdfac400c38f6d065e00a595a1e5879fe2335c4a3851e844
-DIST Catch2-2.13.4.tar.gz 656645 BLAKE2B 7a8afb099d410af3a7641c948a59307ac72338174356c1219834f050e0971e410275f1eda911444c3e956320fa25b60f91a3aba75aa36d375ba38626a0246485 SHA512 eac081d750e65d4d8d8d5f32b53bd963c6566caabaff424c479fe080416f59b5387adbdf6dbac30fe265243cb5ed184baf6f8a9625052bd498c098b83463390d
-DIST Catch2-2.13.6.tar.gz 659811 BLAKE2B d876c51589259ef9fa9640811c17049ee5f1559a2863d146b0d8f79e9531b3528db34bc23e4fee090436a92b430756442eee4820083e71225da0f24399131a73 SHA512 f63e240994b5982cf019a33b8999b62237cce174962f00437d64fd287b34f7217d066225d99322431ef60da67b025f36db703dab94b3d58bbd81095d98917278
+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.5.2.tar.gz 1159985 BLAKE2B 6aa810926f68098a8ac18bf3b045b0bf1be3632e3b34a59561c337312d0501199df7baf49d242c0dd6eeb3f4a9ca77c5545b86092e10865452f7bacaa13ea2a3 SHA512 1b9d5f35144f6c7acef0e76558a4adf3ff41c2c2292fbdcb3e2c2917fa2deb7fba593738105dd3c111f02ee8aca64010cf68f69bb8fb1815dbf771b509ab0576
+DIST Catch2-3.5.3.tar.gz 1169512 BLAKE2B ad515d379b071e015f593b3c6a1a66bafa3ca7c083f95ebba59603993a3a8ef40073a883731e83458bb0d463d3e53369e0474a6bdf0aef57e567f13bcc11d6a7 SHA512 57c996f679cbad212cb0fde39e506bade37bd559c0e93e20f407f2a2f029e98b78661e10257f9c8e4cb5fd7d52d0ea1eae3d4a1f989c6d66fcb281e32e1688f6
+DIST Catch2-3.5.4.tar.gz 1172449 BLAKE2B 2dee5ca34304032d92bfe147f9beff42c9b1db82b36bb0472a75f911d273cba4d881c3eccac4086eea6a77356defdab4b6d1a54cacd023eb8f904d12969ba60b SHA512 c22ad6a2fbf8665b8775d72dcdc6bfde324eb224fcd897ebce5e62c7ac7640823550198fff45e1ea548a5923db4392ce7009ff784ef78bd59356a2aae5337976
diff --git a/dev-cpp/catch/catch-1.12.2.ebuild b/dev-cpp/catch/catch-1.12.2-r2.ebuild
index 22741eef0105..d2044848fd4b 100644
--- a/dev-cpp/catch/catch-1.12.2.ebuild
+++ b/dev-cpp/catch/catch-1.12.2-r2.ebuild
@@ -1,9 +1,9 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
-inherit cmake-utils
+inherit cmake
if [[ ${PV} == *9999 ]]; then
inherit git-r3
@@ -12,7 +12,7 @@ if [[ ${PV} == *9999 ]]; then
else
MY_P=${PN^}-${PV}
SRC_URI="https://github.com/catchorg/Catch2/archive/v${PV}.tar.gz -> ${MY_P}.tar.gz"
- KEYWORDS="amd64 ~arm ~arm64 ~ppc64 x86"
+ KEYWORDS="amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~riscv ~sparc x86"
S="${WORKDIR}/${PN^}2-${PV}"
fi
@@ -25,16 +25,18 @@ SLOT="1"
IUSE="test"
RESTRICT="!test? ( test )"
-RDEPEND="!<dev-cpp/catch-1.12.2:0"
+PATCHES=(
+ "${FILESDIR}"/${PN}-1.12.2-glibc-2.34-sigstksz.patch
+)
src_configure() {
local mycmakeargs=(
-DNO_SELFTEST=$(usex !test)
)
- cmake-utils_src_configure
+ cmake_src_configure
}
src_install() {
- cmake-utils_src_install
+ cmake_src_install
dodoc -r docs/.
}
diff --git a/dev-cpp/catch/catch-1.9999.ebuild b/dev-cpp/catch/catch-1.9999.ebuild
index 3514580992a3..479fa612486c 100644
--- a/dev-cpp/catch/catch-1.9999.ebuild
+++ b/dev-cpp/catch/catch-1.9999.ebuild
@@ -1,9 +1,9 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
-inherit cmake-utils
+inherit cmake
if [[ ${PV} == *9999 ]]; then
inherit git-r3
@@ -25,16 +25,14 @@ SLOT="1"
IUSE="test"
RESTRICT="!test? ( test )"
-RDEPEND="!<dev-cpp/catch-1.12.2:0"
-
src_configure() {
local mycmakeargs=(
-DNO_SELFTEST=$(usex !test)
)
- cmake-utils_src_configure
+ cmake_src_configure
}
src_install() {
- cmake-utils_src_install
+ cmake_src_install
dodoc -r docs/.
}
diff --git a/dev-cpp/catch/catch-2.13.6.ebuild b/dev-cpp/catch/catch-2.13.10.ebuild
index dcf3ff6e1181..78018fe27f69 100644
--- a/dev-cpp/catch/catch-2.13.6.ebuild
+++ b/dev-cpp/catch/catch-2.13.10.ebuild
@@ -1,9 +1,9 @@
-# Copyright 2021 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
-PYTHON_COMPAT=( python3_{8..10} )
+PYTHON_COMPAT=( python3_{10..12} )
inherit cmake python-any-r1
@@ -13,9 +13,9 @@ if [[ ${PV} == *9999 ]]; then
else
MY_P=${PN^}2-${PV}
SRC_URI="https://github.com/catchorg/Catch2/archive/v${PV}.tar.gz -> ${MY_P}.tar.gz"
- KEYWORDS="amd64 ~arm ~arm64 ~ppc64 x86"
-
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"
@@ -38,7 +38,7 @@ src_configure() {
-DBUILD_TESTING=$(usex test)
)
use test &&
- mycmakeargs+=(-DPYTHON_EXECUTABLE="${PYTHON}")
+ mycmakeargs+=( -DPYTHON_EXECUTABLE="${PYTHON}" )
cmake_src_configure
}
diff --git a/dev-cpp/catch/catch-2.13.4.ebuild b/dev-cpp/catch/catch-2.13.8.ebuild
index 4ef090102289..a9e8c869e243 100644
--- a/dev-cpp/catch/catch-2.13.4.ebuild
+++ b/dev-cpp/catch/catch-2.13.8.ebuild
@@ -1,9 +1,9 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
-PYTHON_COMPAT=( python3_{7..9} )
+PYTHON_COMPAT=( python3_{10..12} )
inherit cmake python-any-r1
@@ -13,9 +13,9 @@ if [[ ${PV} == *9999 ]]; then
else
MY_P=${PN^}2-${PV}
SRC_URI="https://github.com/catchorg/Catch2/archive/v${PV}.tar.gz -> ${MY_P}.tar.gz"
- KEYWORDS="amd64 ~arm ~arm64 ~ppc64 x86"
-
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"
@@ -28,6 +28,8 @@ RESTRICT="!test? ( test )"
BDEPEND="test? ( ${PYTHON_DEPS} )"
+PATCHES=( "${FILESDIR}"/${P}-musl-tests.patch )
+
pkg_setup() {
use test && python-any-r1_pkg_setup
}
@@ -38,7 +40,7 @@ src_configure() {
-DBUILD_TESTING=$(usex test)
)
use test &&
- mycmakeargs+=(-DPYTHON_EXECUTABLE="${PYTHON}")
+ mycmakeargs+=( -DPYTHON_EXECUTABLE="${PYTHON}" )
cmake_src_configure
}
diff --git a/dev-cpp/catch/catch-3.5.2.ebuild b/dev-cpp/catch/catch-3.5.2.ebuild
new file mode 100644
index 000000000000..8b8c8c695764
--- /dev/null
+++ b/dev-cpp/catch/catch-3.5.2.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.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-9999.ebuild b/dev-cpp/catch/catch-9999.ebuild
index 7501403174d5..1b1704c908ca 100644
--- a/dev-cpp/catch/catch-9999.ebuild
+++ b/dev-cpp/catch/catch-9999.ebuild
@@ -1,9 +1,9 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
-PYTHON_COMPAT=( python3_{7..9} )
+PYTHON_COMPAT=( python3_{10..12} )
inherit cmake python-any-r1
@@ -13,9 +13,9 @@ if [[ ${PV} == *9999 ]]; then
else
MY_P=${PN^}2-${PV}
SRC_URI="https://github.com/catchorg/Catch2/archive/v${PV}.tar.gz -> ${MY_P}.tar.gz"
- KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86"
-
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"
@@ -34,12 +34,13 @@ pkg_setup() {
src_configure() {
local mycmakeargs=(
+ -DCATCH_DEVELOPMENT_BUILD=ON
-DCATCH_ENABLE_WERROR=OFF
- -DBUILD_TESTING=$(usex test)
- -DCATCH_DEVELOPMENT_BUILD=$(usex test)
+ -DCATCH_BUILD_TESTING=$(usex test)
+ )
+ use test && mycmakeargs+=(
+ -DPYTHON_EXECUTABLE="${PYTHON}"
)
- use test &&
- mycmakeargs+=(-DPYTHON_EXECUTABLE="${PYTHON}")
cmake_src_configure
}
diff --git a/dev-cpp/catch/files/catch-1.12.2-glibc-2.34-sigstksz.patch b/dev-cpp/catch/files/catch-1.12.2-glibc-2.34-sigstksz.patch
new file mode 100644
index 000000000000..3c6e08384a5b
--- /dev/null
+++ b/dev-cpp/catch/files/catch-1.12.2-glibc-2.34-sigstksz.patch
@@ -0,0 +1,67 @@
+https://src.fedoraproject.org/rpms/catch1/raw/rawhide/f/catch1-sigstksz.patch
+https://bugs.gentoo.org/803962
+
+commit 34650cd9ea2f7e4aa1e61b84ecf9913b87870680
+Author: Tom Hughes <tom@compton.nu>
+Date: Fri Feb 19 10:45:49 2021 +0000
+
+ Patch for non-constant SIGSTKSZ
+
+--- a/include/internal/catch_fatal_condition.hpp
++++ b/include/internal/catch_fatal_condition.hpp
+@@ -136,7 +136,7 @@ namespace Catch {
+ static bool isSet;
+ static struct sigaction oldSigActions [sizeof(signalDefs)/sizeof(SignalDefs)];
+ static stack_t oldSigStack;
+- static char altStackMem[SIGSTKSZ];
++ static char altStackMem[32768];
+
+ static void handleSignal( int sig ) {
+ std::string name = "<unknown signal>";
+@@ -156,7 +156,7 @@ namespace Catch {
+ isSet = true;
+ stack_t sigStack;
+ sigStack.ss_sp = altStackMem;
+- sigStack.ss_size = SIGSTKSZ;
++ sigStack.ss_size = 32768;
+ sigStack.ss_flags = 0;
+ sigaltstack(&sigStack, &oldSigStack);
+ struct sigaction sa = { 0 };
+@@ -188,7 +188,7 @@ namespace Catch {
+ bool FatalConditionHandler::isSet = false;
+ struct sigaction FatalConditionHandler::oldSigActions[sizeof(signalDefs)/sizeof(SignalDefs)] = {};
+ stack_t FatalConditionHandler::oldSigStack = {};
+- char FatalConditionHandler::altStackMem[SIGSTKSZ] = {};
++ char FatalConditionHandler::altStackMem[32768] = {};
+
+
+ } // namespace Catch
+--- a/single_include/catch.hpp
++++ b/single_include/catch.hpp
+@@ -6540,7 +6540,7 @@ namespace Catch {
+ static bool isSet;
+ static struct sigaction oldSigActions [sizeof(signalDefs)/sizeof(SignalDefs)];
+ static stack_t oldSigStack;
+- static char altStackMem[SIGSTKSZ];
++ static char altStackMem[32768];
+
+ static void handleSignal( int sig ) {
+ std::string name = "<unknown signal>";
+@@ -6560,7 +6560,7 @@ namespace Catch {
+ isSet = true;
+ stack_t sigStack;
+ sigStack.ss_sp = altStackMem;
+- sigStack.ss_size = SIGSTKSZ;
++ sigStack.ss_size = 32768;
+ sigStack.ss_flags = 0;
+ sigaltstack(&sigStack, &oldSigStack);
+ struct sigaction sa = { 0 };
+@@ -6591,7 +6591,7 @@ namespace Catch {
+ bool FatalConditionHandler::isSet = false;
+ struct sigaction FatalConditionHandler::oldSigActions[sizeof(signalDefs)/sizeof(SignalDefs)] = {};
+ stack_t FatalConditionHandler::oldSigStack = {};
+- char FatalConditionHandler::altStackMem[SIGSTKSZ] = {};
++ char FatalConditionHandler::altStackMem[32768] = {};
+
+ } // namespace Catch
+
diff --git a/dev-cpp/catch/files/catch-2.13.8-musl-tests.patch b/dev-cpp/catch/files/catch-2.13.8-musl-tests.patch
new file mode 100644
index 000000000000..86c60c15f34d
--- /dev/null
+++ b/dev-cpp/catch/files/catch-2.13.8-musl-tests.patch
@@ -0,0 +1,24 @@
+From 3e88ccff3ba573fb6d1ab746596411eebe310a6b Mon Sep 17 00:00:00 2001
+From: John Zimmermann <me@johnnynator.dev>
+Date: Thu, 31 Dec 2020 16:24:16 +0100
+Subject: [PATCH] Do not match exact amount of spaces for errno macro expansion
+ in approvalTests.py
+
+E.g. musl libc expands errno() to __errno_location() without a space between, glibc has 1 space.
+---
+ scripts/approvalTests.py | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/scripts/approvalTests.py b/scripts/approvalTests.py
+index f8b9425c7c..73e9b83239 100755
+--- a/scripts/approvalTests.py
++++ b/scripts/approvalTests.py
+@@ -44,7 +44,7 @@
+
+ # errno macro expands into various names depending on platform, so we need to fix them up as well
+ errnoParser = re.compile(r'''
+- \(\*__errno_location\ \(\)\)
++ \(\*__errno_location\s*\(\)\)
+ |
+ \(\*__error\(\)\)
+ |
diff --git a/dev-cpp/cctz/Manifest b/dev-cpp/cctz/Manifest
new file mode 100644
index 000000000000..c4fbbf6cbe6f
--- /dev/null
+++ b/dev-cpp/cctz/Manifest
@@ -0,0 +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.3_p20230228.ebuild b/dev-cpp/cctz/cctz-2.3_p20230228.ebuild
new file mode 100644
index 000000000000..448b7f921122
--- /dev/null
+++ b/dev-cpp/cctz/cctz-2.3_p20230228.ebuild
@@ -0,0 +1,32 @@
+# Copyright 2023 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"
+MY_COMMIT="3803b96130934f48b1fc1d47c5da5f542949c4b0"
+SRC_URI="https://github.com/google/cctz/archive/${MY_COMMIT}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/${PN}-${MY_COMMIT}"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64"
+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/cctz/cctz-2.4.ebuild b/dev-cpp/cctz/cctz-2.4.ebuild
new file mode 100644
index 000000000000..18994d1290b8
--- /dev/null
+++ b/dev-cpp/cctz/cctz-2.4.ebuild
@@ -0,0 +1,30 @@
+# Copyright 2023-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+DESCRIPTION="C++ library for dealing with time zones and time conversion"
+HOMEPAGE="https://github.com/google/cctz"
+SRC_URI="https://github.com/google/cctz/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+BDEPEND="
+ test? (
+ dev-cpp/gtest
+ )
+"
+
+src_configure() {
+ local mycmakeargs=(
+ -DBUILD_TESTING=$(usex test)
+ -DBUILD_BENCHMARK=OFF
+ )
+ cmake_src_configure
+}
diff --git a/dev-cpp/cctz/metadata.xml b/dev-cpp/cctz/metadata.xml
new file mode 100644
index 000000000000..aadf008c9297
--- /dev/null
+++ b/dev-cpp/cctz/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>sbraz@gentoo.org</email>
+ <name>Louis Sautier</name>
+ </maintainer>
+ <maintainer type="person" proxied="yes">
+ <email>alexey+gentoo@asokolov.org</email>
+ <name>Alexey Sokolov</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">google/cctz</remote-id>
+ <bugs-to>https://github.com/google/cctz/issues</bugs-to>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-cpp/clhpp/Manifest b/dev-cpp/clhpp/Manifest
new file mode 100644
index 000000000000..07f4c4777c3d
--- /dev/null
+++ b/dev-cpp/clhpp/Manifest
@@ -0,0 +1,2 @@
+DIST clhpp-2023.04.17.tar.gz 115042 BLAKE2B df0db751eda9fe2f23a5e3ef97f263885a09ca4b341b24c9580522e84a192e9afe526a441d0e3660e8819492945b2ff89bff7c96cd1fd1b3bd6a177042ec759e SHA512 1e37af647a37737240de1622bd772e1f154a07c2d27e020487163c42d0833096c1a2f2f2185b8f6371889c2cad3992f0c7a9d233c36941367da743ee7ee8e486
+DIST clhpp-2023.12.14.tar.gz 123233 BLAKE2B 2b23639ad162921e01033fbacc1c4e57d9c28ce39c55b3564f162e5d6b6d9ed0e80aaefbd62de81157e165f01897e82d0ff4943c8ee620587840f4aece22319b SHA512 a90152d2f9c57d4724ef3ea33e1311914e49659042e916e467a9f16877d348ed62f909fe8423589976669b25241a3b996fbd7ac235a44e35947d1b87d3e3ef2b
diff --git a/dev-cpp/clhpp/clhpp-2023.04.17.ebuild b/dev-cpp/clhpp/clhpp-2023.04.17.ebuild
new file mode 100644
index 000000000000..9c106083d8d2
--- /dev/null
+++ b/dev-cpp/clhpp/clhpp-2023.04.17.ebuild
@@ -0,0 +1,39 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+MY_PN="OpenCL-CLHPP"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="Khronos OpenCL C++ bindings"
+HOMEPAGE="https://github.com/KhronosGroup/OpenCL-CLHPP/"
+SRC_URI="https://github.com/KhronosGroup/${MY_PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="Khronos-CLHPP"
+SLOT="0"
+KEYWORDS="amd64 ppc64 x86"
+IUSE="test"
+
+# Tests require CMock (NOT cmocka), which is currently not in Gentoo
+# and has been found to be extremely awkward to package.
+# Should it ever get packaged, consult git history for how to set things up
+# for the clhpp test suite.
+RESTRICT="test"
+
+RDEPEND="virtual/opencl"
+DEPEND="${RDEPEND}
+ >=dev-util/opencl-headers-${PV}"
+
+S="${WORKDIR}"/${MY_P}
+
+src_configure() {
+ local mycmakeargs=(
+ -DBUILD_DOCS=OFF
+ -DBUILD_EXAMPLES=OFF
+ -DBUILD_TESTING=$(usex test)
+ )
+ cmake_src_configure
+}
diff --git a/dev-cpp/clhpp/clhpp-2023.12.14.ebuild b/dev-cpp/clhpp/clhpp-2023.12.14.ebuild
new file mode 100644
index 000000000000..a9a4c55d1789
--- /dev/null
+++ b/dev-cpp/clhpp/clhpp-2023.12.14.ebuild
@@ -0,0 +1,39 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+MY_PN="OpenCL-CLHPP"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="Khronos OpenCL C++ bindings"
+HOMEPAGE="https://github.com/KhronosGroup/OpenCL-CLHPP/"
+SRC_URI="https://github.com/KhronosGroup/${MY_PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="Khronos-CLHPP"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc64 ~x86"
+IUSE="test"
+
+# Tests require CMock (NOT cmocka), which is currently not in Gentoo
+# and has been found to be extremely awkward to package.
+# Should it ever get packaged, consult git history for how to set things up
+# for the clhpp test suite.
+RESTRICT="test"
+
+RDEPEND="virtual/opencl"
+DEPEND="${RDEPEND}
+ >=dev-util/opencl-headers-${PV}"
+
+S="${WORKDIR}"/${MY_P}
+
+src_configure() {
+ local mycmakeargs=(
+ -DBUILD_DOCS=OFF
+ -DBUILD_EXAMPLES=OFF
+ -DBUILD_TESTING=$(usex test)
+ )
+ cmake_src_configure
+}
diff --git a/dev-cpp/clhpp/metadata.xml b/dev-cpp/clhpp/metadata.xml
new file mode 100644
index 000000000000..4fab41399c23
--- /dev/null
+++ b/dev-cpp/clhpp/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>marecki@gentoo.org</email>
+ <name>Marek Szuba</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">KhronosGroup/OpenCL-CLHPP</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-cpp/cli11/Manifest b/dev-cpp/cli11/Manifest
new file mode 100644
index 000000000000..53afcb9be806
--- /dev/null
+++ b/dev-cpp/cli11/Manifest
@@ -0,0 +1 @@
+DIST cli11-2.4.1.tar.gz 339023 BLAKE2B 4db4bacc30ae5526135fe354e4f707f6858cb42b0662daafdde23cf397701c5185794d72794d920ef8f66ce846aafa718ac24fb567b04144d5b15905ed4badd7 SHA512 965290d09977672d3bc3c57ca4b89a88c2c09461da6e866b18217d702d4d5a0977588fcb8fef1a3c3804e61ad80d276029f47469cc83dbfdc7021ee35f6b7269
diff --git a/dev-cpp/cli11/cli11-2.4.1.ebuild b/dev-cpp/cli11/cli11-2.4.1.ebuild
new file mode 100644
index 000000000000..1dc668e0e23a
--- /dev/null
+++ b/dev-cpp/cli11/cli11-2.4.1.ebuild
@@ -0,0 +1,55 @@
+# Copyright 2023-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+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}
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 ~arm ~arm64 ~x86"
+IUSE="doc test"
+RESTRICT="!test? ( test )"
+
+DEPEND="
+ test? (
+ dev-cpp/catch:0
+ dev-libs/boost
+ )
+"
+BDEPEND="
+ doc? (
+ app-text/doxygen
+ media-gfx/graphviz
+ )
+"
+
+src_configure() {
+ local mycmakeargs=(
+ -DCLI11_BUILD_DOCS=$(usex doc)
+ -DCLI11_BUILD_EXAMPLES=no
+ -DCLI11_BUILD_TESTS=$(usex test)
+ $(usev test -DCLI11_BOOST=yes)
+ )
+
+ cmake_src_configure
+}
+
+src_compile() {
+ cmake_src_compile all $(usev doc docs)
+}
+
+src_install() {
+ local DOCS=( CHANGELOG.md README.md book/{chapters,code,*.md} )
+ cmake_src_install
+
+ use doc && dodoc -r "${BUILD_DIR}"/docs/html
+}
diff --git a/dev-cpp/cli11/metadata.xml b/dev-cpp/cli11/metadata.xml
new file mode 100644
index 000000000000..06f8d3df4f06
--- /dev/null
+++ b/dev-cpp/cli11/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>ionen@gentoo.org</email>
+ <name>Ionen Wolkens</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">CLIUtils/CLI11</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-cpp/clucene/clucene-2.3.3.4-r6.ebuild b/dev-cpp/clucene/clucene-2.3.3.4-r9.ebuild
index 89e1b97f6728..59eb684d8609 100644
--- a/dev-cpp/clucene/clucene-2.3.3.4-r6.ebuild
+++ b/dev-cpp/clucene/clucene-2.3.3.4-r9.ebuild
@@ -1,39 +1,36 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
MY_PN="${PN}"-core
MY_P="${MY_PN}"-"${PV}"
-
-inherit cmake multilib
+inherit cmake
DESCRIPTION="High-performance, full-featured text search engine based off of lucene in C++"
-HOMEPAGE="http://clucene.sourceforge.net/"
+HOMEPAGE="https://clucene.sourceforge.net"
SRC_URI="mirror://sourceforge/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 ~mips ppc ppc64 ~riscv sparc x86 ~amd64-linux ~x86-linux ~ppc-macos"
-
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv sparc x86 ~amd64-linux ~x86-linux ~ppc-macos"
IUSE="debug doc static-libs"
-
-BDEPEND="
- doc? ( >=app-doc/doxygen-1.4.2 )
-"
-
RESTRICT="test"
-DOCS=(AUTHORS ChangeLog README README.PACKAGE REQUESTS)
+BDEPEND="doc? ( >=app-text/doxygen-1.4.2 )"
-S="${WORKDIR}/${MY_PN}-${PV}"
+DOCS=(AUTHORS ChangeLog README README.PACKAGE REQUESTS)
PATCHES=(
- "${FILESDIR}"/clucene-2.3.3.4-fix-clang.patch
+ "${FILESDIR}/${P}-fix-clang.patch"
"${FILESDIR}/${P}-contrib.patch"
"${FILESDIR}/${P}-pkgconfig.patch"
"${FILESDIR}/${P}-gcc6.patch"
"${FILESDIR}/${P}-gmtime.patch"
+ "${FILESDIR}/${P}-musl-pthread.patch"
+ "${FILESDIR}/${P}-libcxx.patch"
+ "${FILESDIR}/${P}-fix-binary-function.patch"
)
src_prepare() {
@@ -54,7 +51,7 @@ src_configure() {
-DENABLE_PACKAGING=OFF
-DDISABLE_MULTITHREADING=OFF
-DBUILD_CONTRIBS_LIB=ON
- "-DLIB_DESTINATION=${EPREFIX}/usr/$(get_libdir)"
+ -DLIB_DESTINATION="${EPREFIX}/usr/$(get_libdir)"
-DENABLE_DEBUG=$(usex debug)
-DENABLE_CLDOCS=$(usex doc)
-DBUILD_STATIC_LIBRARIES=$(usex static-libs)
diff --git a/dev-cpp/clucene/files/clucene-2.3.3.4-fix-binary-function.patch b/dev-cpp/clucene/files/clucene-2.3.3.4-fix-binary-function.patch
new file mode 100644
index 000000000000..dbcff1bb1169
--- /dev/null
+++ b/dev-cpp/clucene/files/clucene-2.3.3.4-fix-binary-function.patch
@@ -0,0 +1,199 @@
+Replace std::binary_function with typedefs (deprecated in c++11 and removed in c++17).
+Bug: https://bugs.gentoo.org/869170
+--- a/src/core/CLucene/index/_Term.h
++++ b/src/core/CLucene/index/_Term.h
+@@ -13,9 +13,12 @@
+ CL_NS_DEF(index)
+
+
+-class Term_Equals:public CL_NS_STD(binary_function)<const Term*,const Term*,bool>
++class Term_Equals
+ {
+ public:
++ typedef const Term* first_argument_type;
++ typedef const Term* second_argument_type;
++ typedef bool result_type;
+ bool operator()( const Term* val1, const Term* val2 ) const{
+ return val1->equals(val2);
+ }
+--- a/src/core/CLucene/search/BooleanQuery.cpp
++++ b/src/core/CLucene/search/BooleanQuery.cpp
+@@ -25,9 +25,12 @@ CL_NS_USE(index)
+ CL_NS_USE(util)
+ CL_NS_DEF(search)
+
+- class BooleanClause_Compare:public CL_NS_STD(binary_function)<const BooleanClause*,const BooleanClause*,bool>
++ class BooleanClause_Compare
+ {
+ public:
++ typedef const BooleanClause* first_argument_type;
++ typedef const BooleanClause* second_argument_type;
++ typedef bool result_type;
+ bool operator()( const BooleanClause* val1, const BooleanClause* val2 ) const {
+ return val1->equals(val2);
+ }
+--- a/src/core/CLucene/search/MultiPhraseQuery.cpp
++++ b/src/core/CLucene/search/MultiPhraseQuery.cpp
+@@ -377,9 +377,12 @@ TCHAR* MultiPhraseQuery::toString(const TCHAR* f) const {
+ return buffer.giveBuffer();
+ }
+
+-class TermArray_Equals:public CL_NS_STD(binary_function)<const Term**,const Term**,bool>
++class TermArray_Equals
+ {
+ public:
++ typedef const Term** first_argument_type;
++ typedef const Term** second_argument_type;
++ typedef bool result_type;
+ bool operator()( CL_NS(util)::ArrayBase<CL_NS(index)::Term*>* val1, CL_NS(util)::ArrayBase<CL_NS(index)::Term*>* val2 ) const{
+ if ( val1->length != val2->length )
+ return false;
+--- a/src/core/CLucene/util/Equators.h
++++ b/src/core/CLucene/util/Equators.h
+@@ -22,21 +22,30 @@ CL_NS_DEF(util)
+ /** @internal */
+ class CLUCENE_INLINE_EXPORT Equals{
+ public:
+- class CLUCENE_INLINE_EXPORT Int32:public CL_NS_STD(binary_function)<const int32_t*,const int32_t*,bool>
++ class CLUCENE_INLINE_EXPORT Int32
+ {
+ public:
++ typedef const int32_t* first_argument_type;
++ typedef const int32_t* second_argument_type;
++ typedef bool result_type;
+ bool operator()( const int32_t val1, const int32_t val2 ) const;
+ };
+
+- class CLUCENE_INLINE_EXPORT Char:public CL_NS_STD(binary_function)<const char*,const char*,bool>
++ class CLUCENE_INLINE_EXPORT Char
+ {
+ public:
++ typedef const char* first_argument_type;
++ typedef const char* second_argument_type;
++ typedef bool result_type;
+ bool operator()( const char* val1, const char* val2 ) const;
+ };
+ #ifdef _UCS2
+- class CLUCENE_INLINE_EXPORT WChar: public CL_NS_STD(binary_function)<const wchar_t*,const wchar_t*,bool>
++ class CLUCENE_INLINE_EXPORT WChar
+ {
+ public:
++ typedef const wchar_t* first_argument_type;
++ typedef const wchar_t* second_argument_type;
++ typedef bool result_type;
+ bool operator()( const wchar_t* val1, const wchar_t* val2 ) const;
+ };
+ class CLUCENE_INLINE_EXPORT TChar: public WChar{
+@@ -48,9 +57,12 @@ public:
+
+
+ template<typename _cl>
+- class CLUCENE_INLINE_EXPORT Void:public CL_NS_STD(binary_function)<const void*,const void*,bool>
++ class CLUCENE_INLINE_EXPORT Void
+ {
+ public:
++ typedef const void* first_argument_type;
++ typedef const void* second_argument_type;
++ typedef bool result_type;
+ bool operator()( _cl* val1, _cl* val2 ) const{
+ return val1==val2;
+ }
+--- a/src/core/CLucene/util/_Arrays.h
++++ b/src/core/CLucene/util/_Arrays.h
+@@ -124,12 +124,14 @@ CL_NS_DEF(util)
+
+ template <typename _kt, typename _comparator,
+ typename class1, typename class2>
+- class CLListEquals:
+- public CL_NS_STD(binary_function)<class1*,class2*,bool>
++ class CLListEquals
+ {
+ typedef typename class1::const_iterator _itr1;
+ typedef typename class2::const_iterator _itr2;
+ public:
++ typedef class1* first_argument_type;
++ typedef class2* second_argument_type;
++ typedef bool result_type;
+ CLListEquals(){
+ }
+ bool equals( class1* val1, class2* val2 ) const{
+--- a/src/test/index/TestTermVectorsReader.cpp
++++ b/src/test/index/TestTermVectorsReader.cpp
+@@ -93,17 +93,21 @@ CL_NS_USE(util);
+ }
+ };
+
+- struct MyTCharCompare :
+- public std::binary_function<const TCHAR*, const TCHAR*, bool>
++ struct MyTCharCompare
+ {
++ typedef const TCHAR* first_argument_type;
++ typedef const TCHAR* second_argument_type;
++ typedef bool result_type;
+ bool operator () (const TCHAR* v1, const TCHAR* v2) const {
+ return _tcscmp(v1, v2) < 0;
+ }
+ };
+
+- struct TestTokenCompare :
+- public std::binary_function<const TestToken*, const TestToken*, bool>
++ struct TestTokenCompare
+ {
++ typedef const TestToken* first_argument_type;
++ typedef const TestToken* second_argument_type;
++ typedef bool result_type;
+ bool operator () (const TestToken* t1, const TestToken* t2) const {
+ return t1->pos < t2->pos;
+ }
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -45,6 +45,14 @@ ELSE(NOT CMAKE_BUILD_TYPE)
+ MESSAGE( "Compiling as ${CMAKE_BUILD_TYPE}" )
+ ENDIF(NOT CMAKE_BUILD_TYPE)
+
++IF(CMAKE_C_COMPILER_ID MATCHES "Clang")
++ SET(CMAKE_COMPILER_IS_CLANG 1)
++ENDIF(CMAKE_C_COMPILER_ID MATCHES "Clang")
++
++IF(CMAKE_CXX_COMPILER_ID MATCHES "Clang")
++ SET(CMAKE_COMPILER_IS_CLANGXX 1)
++ENDIF(CMAKE_CXX_COMPILER_ID MATCHES "Clang")
++
+ OPTION(ENABLE_DEBUG
+ "enable debug support"
+ OFF)
+@@ -62,14 +70,14 @@ OPTION(ENABLE_ASCII_MODE
+ OFF)
+
+ SET(ENABLE_ANSI_MODE OFF)
+-IF(CMAKE_COMPILER_IS_GNUCXX)
++IF(CMAKE_COMPILER_IS_GNUCXX OR CMAKE_COMPILER_IS_CLANGXX)
+ SET(ENABLE_ANSI_MODE ON)
+
+ #exceptions:
+ IF(MINGW OR CYGWIN)
+ SET(ENABLE_ANSI_MODE OFF)
+ ENDIF(MINGW OR CYGWIN)
+-ENDIF(CMAKE_COMPILER_IS_GNUCXX)
++ENDIF(CMAKE_COMPILER_IS_GNUCXX OR CMAKE_COMPILER_IS_CLANGXX)
+
+ OPTION(ENABLE_ANSI_MODE
+ "compile with -ansi flag"
+@@ -109,7 +117,7 @@ OPTION(ENABLE_COMPILE_TESTS
+
+ #check flags...
+ INCLUDE (TestCXXAcceptsFlag)
+-IF ( CMAKE_COMPILER_IS_GNUCC )
++IF ( CMAKE_COMPILER_IS_GNUCC OR CMAKE_COMPILER_IS_CLANG )
+ CHECK_CXX_ACCEPTS_FLAG(-pg GccFlagPg)
+ IF ( GccFlagPg )
+ OPTION(ENABLE_GPROF
+@@ -131,7 +139,7 @@ IF ( CMAKE_COMPILER_IS_GNUCC )
+ IF( ENABLE_ANSI_MODE )
+ SET (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -ansi")
+ ENDIF ( ENABLE_ANSI_MODE )
+-ENDIF(CMAKE_COMPILER_IS_GNUCC)
++ENDIF(CMAKE_COMPILER_IS_GNUCC OR CMAKE_COMPILER_IS_CLANG)
+
+
+ #Single output directory for building all executables and libraries.
diff --git a/dev-cpp/clucene/files/clucene-2.3.3.4-fix-clang.patch b/dev-cpp/clucene/files/clucene-2.3.3.4-fix-clang.patch
index f743fa8c4480..f81f812c4978 100644
--- a/dev-cpp/clucene/files/clucene-2.3.3.4-fix-clang.patch
+++ b/dev-cpp/clucene/files/clucene-2.3.3.4-fix-clang.patch
@@ -1,5 +1,5 @@
---- /src/core/CLucene/queryParser/QueryParser.cpp.original 2018-08-02 15:11:33.157174224 +0200
-+++ /src/core/CLucene/queryParser/QueryParser.cpp 2018-08-02 15:12:33.189175705 +0200
+--- a/src/core/CLucene/queryParser/QueryParser.cpp
++++ b/src/core/CLucene/queryParser/QueryParser.cpp
@@ -79,7 +79,7 @@
_T("<RANGEEX_GOOP>")
};
@@ -9,8 +9,8 @@
const int32_t QueryParser::jj_la1_1[] = {0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x1,0x0,0x0,0x0,0x0};
struct QueryParser::JJCalls {
---- /src/core/CLucene/queryParser/QueryParserTokenManager.cpp.original 2018-08-02 15:14:27.104178515 +0200
-+++ /src/core/CLucene/queryParser/QueryParserTokenManager.cpp 2018-08-02 15:15:10.399179583 +0200
+--- a/src/core/CLucene/queryParser/QueryParserTokenManager.cpp
++++ b/src/core/CLucene/queryParser/QueryParserTokenManager.cpp
@@ -15,9 +15,9 @@
CL_NS_DEF(queryParser)
@@ -23,8 +23,8 @@
};
const int32_t QueryParserTokenManager::jjnextStates[]={
15, 17, 18, 29, 32, 23, 33, 30, 20, 21, 32, 23, 33, 31, 34, 27,
---- /src/core/CLucene/document/DateTools.cpp.original 2018-08-02 15:20:28.903187441 +0200
-+++ /src/core/CLucene/document/DateTools.cpp 2018-08-02 15:20:35.441187602 +0200
+--- a/src/core/CLucene/document/DateTools.cpp
++++ b/src/core/CLucene/document/DateTools.cpp
@@ -8,6 +8,7 @@
#include "DateTools.h"
diff --git a/dev-cpp/clucene/files/clucene-2.3.3.4-libcxx.patch b/dev-cpp/clucene/files/clucene-2.3.3.4-libcxx.patch
new file mode 100644
index 000000000000..268b887f6d86
--- /dev/null
+++ b/dev-cpp/clucene/files/clucene-2.3.3.4-libcxx.patch
@@ -0,0 +1,48 @@
+https://bugs.gentoo.org/862195
+https://cgit.freebsd.org/ports/tree/textproc/clucene/files/patch-src__core__CLucene__index__DocumentsWriter.cpp
+https://cgit.freebsd.org/ports/plain/textproc/clucene/files/patch-src__core__CLucene__util__VoidMap.h
+--- a/src/core/CLucene/index/DocumentsWriter.cpp
++++ b/src/core/CLucene/index/DocumentsWriter.cpp
+@@ -125,7 +125,7 @@
+ if (this->postingsFreeListDW.values){
+ if (this->postingsFreeCountDW < this->postingsFreeListDW.length) {
+ memset(this->postingsFreeListDW.values + this->postingsFreeCountDW
+- , NULL
++ , 0
+ , sizeof(Posting*));
+ }
+ postingsFreeListDW.deleteUntilNULL();
+
+--- a/src/core/CLucene/util/VoidMap.h
++++ b/src/core/CLucene/util/VoidMap.h
+@@ -11,8 +11,13 @@
+ #include "CLucene/LuceneThreads.h"
+
+ #if defined(_CL_HAVE_TR1_UNORDERED_MAP) && defined(_CL_HAVE_TR1_UNORDERED_SET)
++#if defined(_LIBCPP_VERSION)
++ #include <unordered_map>
++ #include <unordered_set>
++#else
+ #include <tr1/unordered_map>
+ #include <tr1/unordered_set>
++#endif
+ #elif defined(_CL_HAVE_HASH_MAP) && defined(_CL_HAVE_HASH_SET)
+ //hashing is all or nothing!
+ #include <hash_map>
+@@ -83,7 +88,7 @@
+ _vt get( _kt k) const {
+ const_iterator itr = base::find(k);
+ if ( itr==base::end() )
+- return (_vt)NULL;
++ return static_cast<_vt>(0);
+ else
+ return itr->second;
+ }
+@@ -316,6 +321,7 @@
+ if ( _this::dk || _this::dv )
+ _this::remove(k);
+
++ (*this)[k] = v;;
+ }
+ };
+
diff --git a/dev-cpp/clucene/files/clucene-2.3.3.4-musl-pthread.patch b/dev-cpp/clucene/files/clucene-2.3.3.4-musl-pthread.patch
new file mode 100644
index 000000000000..5fdbb3e3d97d
--- /dev/null
+++ b/dev-cpp/clucene/files/clucene-2.3.3.4-musl-pthread.patch
@@ -0,0 +1,11 @@
+https://bugs.gentoo.org/855071
+--- a/src/shared/CLucene/LuceneThreads.h
++++ b/src/shared/CLucene/LuceneThreads.h
+@@ -7,6 +7,7 @@
+ #ifndef _LuceneThreads_h
+ #define _LuceneThreads_h
+
++#include <pthread.h>
+
+ CL_NS_DEF(util)
+ class CLuceneThreadIdCompare;
diff --git a/dev-cpp/commoncpp2/Manifest b/dev-cpp/commoncpp2/Manifest
deleted file mode 100644
index 69b0098c2ce8..000000000000
--- a/dev-cpp/commoncpp2/Manifest
+++ /dev/null
@@ -1,2 +0,0 @@
-DIST commoncpp2-1.8.1-patches-r1.txz 7144 BLAKE2B 0d464810afc9aab2b198495789ecfe4c84fab9edf33f85523dc711602a2f1c08c24a5c2cd7fd92ef799e049624159eb373a2accff193ddec1413fc9aa4450a4e SHA512 d8df95b0963a47c7049fe80b21dadd004f0d4a4498139d629dcc65034211e58e2dffa5e2e6ab61eba10b265f2737eb6a78c0c92b6ec13ae50ab5826bf6e4d68b
-DIST commoncpp2-1.8.1.tar.gz 908678 BLAKE2B 93868286230b4b0507127627f0a1c24b4f340e4af50d7592774b57bfc7a8f1e31bacc0cee5d17b4237aac85be0265cf3aabd65708e988159daaac85b4145c398 SHA512 949823461d20429c2b0acfa22554a5a9dacc977e3ee097f34416f65d322df84fbdb27c644435c6c6caaed800347dfbe789cee7f19b39b306165c97b4f4012bfe
diff --git a/dev-cpp/commoncpp2/commoncpp2-1.8.1-r4.ebuild b/dev-cpp/commoncpp2/commoncpp2-1.8.1-r4.ebuild
deleted file mode 100644
index 399a2c7ed176..000000000000
--- a/dev-cpp/commoncpp2/commoncpp2-1.8.1-r4.ebuild
+++ /dev/null
@@ -1,75 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit autotools
-
-DESCRIPTION="C++ library offering portable support for system-related services"
-HOMEPAGE="https://www.gnu.org/software/commoncpp/"
-SRC_URI="
- mirror://gnu/commoncpp/${P}.tar.gz
- https://dev.gentoo.org/~soap/distfiles/${P}-patches-r1.txz"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="amd64 ppc ppc64 x86"
-IUSE="debug doc examples gnutls ipv6 ssl"
-
-RDEPEND="
- sys-libs/zlib:=
- ssl? (
- gnutls? (
- dev-libs/libgcrypt:0=
- net-libs/gnutls:=
- )
- !gnutls? (
- dev-libs/openssl:0=
- )
- )"
-DEPEND="${RDEPEND}"
-BDEPEND="doc? ( >=app-doc/doxygen-1.3.6 )"
-
-PATCHES=(
- "${WORKDIR}"/patches/1.8.1-configure_detect_netfilter.patch
- "${WORKDIR}"/patches/1.8.1-glibc212.patch
- "${WORKDIR}"/patches/1.8.1-autoconf-update.patch
- "${WORKDIR}"/patches/1.8.1-fix-buffer-overflow.patch
- "${WORKDIR}"/patches/1.8.1-parallel-build.patch
- "${WORKDIR}"/patches/1.8.1-libgcrypt.patch
- "${WORKDIR}"/patches/1.8.1-fix-c++14.patch
- "${WORKDIR}"/patches/1.8.1-gnutls-3.4.patch
- "${WORKDIR}"/patches/1.8.1-fix-gcc9.patch
- "${WORKDIR}"/patches/1.8.1-c++17.patch
- "${WORKDIR}"/patches/1.8.1-openssl-1.1.patch
-)
-
-src_prepare() {
- default
- eautoreconf
-}
-
-src_configure() {
- econf \
- --disable-static \
- $(use_enable debug) \
- $(use_with ipv6) \
- $(use_with ssl $(usex gnutls gnutls openssl)) \
- $(use_with doc doxygen)
-}
-
-src_install() {
- use doc && HTML_DOCS=( doc/html/. )
- default
-
- # package provides .pc files
- find "${ED}" -name '*.la' -delete || die
-
- dodoc COPYING.addendum
-
- if use examples; then
- docinto examples
- dodoc demo/{*.cpp,*.h,*.xml,README}
- docompress -x /usr/share/doc/${PF}/examples
- fi
-}
diff --git a/dev-cpp/commoncpp2/metadata.xml b/dev-cpp/commoncpp2/metadata.xml
deleted file mode 100644
index 85e4ed814fa2..000000000000
--- a/dev-cpp/commoncpp2/metadata.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
-<!-- maintainer-needed -->
-</pkgmetadata>
diff --git a/dev-cpp/cpp-hocon/cpp-hocon-0.3.0-r1.ebuild b/dev-cpp/cpp-hocon/cpp-hocon-0.3.0-r1.ebuild
new file mode 100644
index 000000000000..abd20825b7c9
--- /dev/null
+++ b/dev-cpp/cpp-hocon/cpp-hocon-0.3.0-r1.ebuild
@@ -0,0 +1,40 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit cmake prefix
+
+DESCRIPTION="Provides C++ support for the HOCON configuration file format"
+HOMEPAGE="https://github.com/puppetlabs/cpp-hocon"
+SRC_URI="https://github.com/puppetlabs/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0/${PV}"
+KEYWORDS="amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~riscv ~sparc x86"
+IUSE="debug test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ dev-libs/boost:=[nls]
+ >=dev-libs/leatherman-0.9.3:=
+"
+DEPEND="${DEPEND}
+ test? ( dev-cpp/catch:1 )"
+
+#PATCHES=( "${FILESDIR}"/${PN}-0.2.1-cmake.patch )
+PATCHES=( "${FILESDIR}"/${PN}-0.3.0-use-system-catch.patch )
+
+src_prepare() {
+ cmake_src_prepare
+
+ eprefixify lib/tests/CMakeLists.txt
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DBUILD_TESTING=$(usex test)
+ )
+
+ cmake_src_configure
+}
diff --git a/dev-cpp/cpp-hocon/cpp-hocon-0.3.0.ebuild b/dev-cpp/cpp-hocon/cpp-hocon-0.3.0.ebuild
deleted file mode 100644
index 015fa6c96c75..000000000000
--- a/dev-cpp/cpp-hocon/cpp-hocon-0.3.0.ebuild
+++ /dev/null
@@ -1,23 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit cmake
-
-DESCRIPTION="Provides C++ support for the HOCON configuration file format"
-HOMEPAGE="https://github.com/puppetlabs/cpp-hocon"
-SRC_URI="https://github.com/puppetlabs/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="Apache-2.0"
-SLOT="0/${PV}"
-KEYWORDS="amd64 ~arm ~hppa ~ppc ~ppc64 ~sparc x86"
-IUSE="debug"
-
-DEPEND="
- >=dev-libs/boost-1.54:=[nls]
- >=dev-libs/leatherman-0.9.3:=
- "
-RDEPEND="${DEPEND}"
-
-#PATCHES=( "${FILESDIR}"/${PN}-0.2.1-cmake.patch )
diff --git a/dev-cpp/cpp-hocon/files/cpp-hocon-0.3.0-use-system-catch.patch b/dev-cpp/cpp-hocon/files/cpp-hocon-0.3.0-use-system-catch.patch
new file mode 100644
index 000000000000..0964e3e7bc7a
--- /dev/null
+++ b/dev-cpp/cpp-hocon/files/cpp-hocon-0.3.0-use-system-catch.patch
@@ -0,0 +1,51 @@
+https://bugs.gentoo.org/823419
+
+Wanted to make this "proper" but Catch2 lacks a pkgconfig file (or a CMake one)
+and it's easier to just do this for now.
+
+Based on patch version of sed commands from upstream bug
+(https://github.com/puppetlabs/cpp-hocon/issues/132) and
+Fedora (https://src.fedoraproject.org/rpms/cpp-hocon/blob/rawhide/f/cpp-hocon.spec#_76).
+
+Makes tests conditional too.
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -16,12 +16,16 @@ if (NOT CMAKE_BUILD_TYPE)
+ set(CMAKE_BUILD_TYPE "Release" CACHE STRING "Choose the type of build, options are: None Debug Release RelWithDebInfo MinSizeRel." FORCE)
+ endif()
+
+-enable_testing()
+-
+ # Leatherman setup
+-set(LEATHERMAN_COMPONENTS locale catch nowide util)
++set(LEATHERMAN_COMPONENTS locale nowide util)
+ find_package(Leatherman REQUIRED COMPONENTS ${LEATHERMAN_COMPONENTS})
+
++option(BUILD_TESTING "Build test suite (needs Catch)" ON)
++
++if(BUILD_TESTING)
++ enable_testing()
++endif()
++
+ ## Before we find any packages, we want to pull in the common leatherman options, as they can affect commonly-used packages.
+ include(options)
+ ## Pull in common cflags setting from leatherman. Don't override CMAKE_CXX_FLAGS at the project root to avoid impacting 3rd party code.
+--- a/lib/CMakeLists.txt
++++ b/lib/CMakeLists.txt
+@@ -91,4 +91,6 @@ symbol_exports(lib${PROJECT_NAME} "${CMAKE_CURRENT_LIST_DIR}/inc/hocon/export.h"
+ leatherman_install(lib${PROJECT_NAME})
+ install(DIRECTORY inc/hocon DESTINATION include)
+
+-add_subdirectory(tests)
++if (BUILD_TESTING)
++ add_subdirectory(tests)
++endif()
+--- a/lib/tests/CMakeLists.txt
++++ b/lib/tests/CMakeLists.txt
+@@ -1,5 +1,5 @@
+ # Setup compiling the test executable. C++ compile flags are inherited from the parent directory.
+-include_directories(${LEATHERMAN_CATCH_INCLUDE})
++include_directories(@GENTOO_PORTAGE_EPREFIX@/usr/include/catch)
+
+ set(TEST_CASES
+ concatenation_test.cc
diff --git a/dev-cpp/cpp-httplib/Manifest b/dev-cpp/cpp-httplib/Manifest
new file mode 100644
index 000000000000..2ab9f647aa19
--- /dev/null
+++ b/dev-cpp/cpp-httplib/Manifest
@@ -0,0 +1,2 @@
+DIST cpp-httplib-0.14.1.tar.gz 1148935 BLAKE2B e083fba3281e5b35031e1fda60efe75971d4edf746e52fa4608afbc3af3f7f9532ca59d041692277e963653c77a4878d5bbcb8045aba76d350185ca276a25a64 SHA512 6e995502e0cfd9953044207fabce29a3d6de49e79464b6bf89e1a9e667dc66fe1972c38d6428ad8e8fb96236e85b2d9ac60cbb58b4de03e8f837a9122151a706
+DIST cpp-httplib-0.15.3.tar.gz 1151398 BLAKE2B 8ce7d7e59c0954efb14a11e565f9cdf02c007a3b6d39dbdcb21b412906eed3ceeca3182096f4b4eadb32a5886e839e64774ae9a1110ddb60fb7cdea35b5b7d50 SHA512 f7fc9c9eb71f091b82958e023a7b417b30d2590fd5d1a920d1c98361f34bcaca796dbeda7f9fdb8b2c722a8968977b77463c6cbb252cba9823a79c22471fa439
diff --git a/dev-cpp/cpp-httplib/cpp-httplib-0.14.1-r1.ebuild b/dev-cpp/cpp-httplib/cpp-httplib-0.14.1-r1.ebuild
new file mode 100644
index 000000000000..1e17288b81d9
--- /dev/null
+++ b/dev-cpp/cpp-httplib/cpp-httplib-0.14.1-r1.ebuild
@@ -0,0 +1,60 @@
+# Copyright 2022-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 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}"
+
+PATCHES=(
+ "${FILESDIR}/${P}-fix-version.patch"
+)
+
+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.15.3.ebuild b/dev-cpp/cpp-httplib/cpp-httplib-0.15.3.ebuild
new file mode 100644
index 000000000000..8e738097790f
--- /dev/null
+++ b/dev-cpp/cpp-httplib/cpp-httplib-0.15.3.ebuild
@@ -0,0 +1,85 @@
+# Copyright 2022-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 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 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~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:=[${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
new file mode 100644
index 000000000000..1f2c37f56518
--- /dev/null
+++ b/dev-cpp/cpp-httplib/files/cpp-httplib-0.14.1-fix-version.patch
@@ -0,0 +1,16 @@
+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/cpp-httplib/metadata.xml b/dev-cpp/cpp-httplib/metadata.xml
new file mode 100644
index 000000000000..2c799a5ed146
--- /dev/null
+++ b/dev-cpp/cpp-httplib/metadata.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>xgqt@gentoo.org</email>
+ <name>Maciej Barć</name>
+ </maintainer>
+ <maintainer type="person" proxied="yes">
+ <email>alexey+gentoo@asokolov.org</email>
+ <name>Alexey Sokolov</name>
+ </maintainer>
+ <maintainer type="project" proxied="proxy">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">yhirose/cpp-httplib</remote-id>
+ <bugs-to>https://github.com/yhirose/cpp-httplib/issues</bugs-to>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-cpp/cpp-taskflow/Manifest b/dev-cpp/cpp-taskflow/Manifest
deleted file mode 100644
index 3a4c979f17cf..000000000000
--- a/dev-cpp/cpp-taskflow/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST cpp-taskflow-3.2.0.tar.gz 79152157 BLAKE2B 03b4b1cf772c9dec4557a706c7872de95312d4e72ec7dcef1accfd1d5eaf470e60440d75ea0c993ab494ef460dc44639719ea1732fa92c54d64dde31b90b9224 SHA512 e30d95b69f64524c9b06cf7442236998f91b1083818f06439888d78d5a1b988bc952c02fd0ec88114283cbe6c31a7bbfe810a7114998f4b5f60c4cff921bb0fa
diff --git a/dev-cpp/cpp-taskflow/cpp-taskflow-3.2.0.ebuild b/dev-cpp/cpp-taskflow/cpp-taskflow-3.2.0.ebuild
deleted file mode 100644
index fc6e30fbb60c..000000000000
--- a/dev-cpp/cpp-taskflow/cpp-taskflow-3.2.0.ebuild
+++ /dev/null
@@ -1,30 +0,0 @@
-# Copyright 1999-2021 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://cpp-taskflow.github.io"
-SRC_URI="https://github.com/${PN}/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-S="${WORKDIR}/taskflow-${PV}"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE="examples test"
-RESTRICT="!test? ( test )"
-
-HTML_DOCS=( docs/. )
-
-src_configure() {
- # TODO: enable CUDA via USE flag
- local mycmakeargs=(
- -DTF_BUILD_CUDA=OFF
- -DTF_BUILD_EXAMPLES=$(usex examples)
- -DTF_BUILD_TESTS=$(usex test)
- )
-
- cmake_src_configure
-}
diff --git a/dev-cpp/cppdap/Manifest b/dev-cpp/cppdap/Manifest
new file mode 100644
index 000000000000..7d1fa79cedcd
--- /dev/null
+++ b/dev-cpp/cppdap/Manifest
@@ -0,0 +1,2 @@
+DIST cppdap-0_pre20230605.tar.gz 100715 BLAKE2B a7b6f745b7445242544deb2cd5b93bb13ee0faefe083a5e435d9a608fb453aceef1746738beb35678833f69521e637f2b8ca47fccd3e292a56e8a74c6435df86 SHA512 034f6282e992ec346715f84da1817a699937be174ab0ea09f750a693bed158b87ec6920e0ed1f7340ef5232e9634c5aebccd78527adde34b8abc4ff00c5f617e
+DIST cppdap-gtest-0a03480824b4fc7883255dbd2fd8940c9f81e22e.tar.gz 874709 BLAKE2B 706e6d168e080494ac63cf607c189f55f5e98100fd744dd184a8217173f66891aedb8779a9c8b0aa289889d1f73e18c50ef65d8c70228e2a795a5e5081f66894 SHA512 55867a2e39647a7846506446d642dcd740711dee8c0dfe25887fd6ad361161617f3d462bdb415dfba20693849949c022e97e2de65dd731cc63b9466edd1c8b87
diff --git a/dev-cpp/cppdap/cppdap-0_pre20230605-r1.ebuild b/dev-cpp/cppdap/cppdap-0_pre20230605-r1.ebuild
new file mode 100644
index 000000000000..ffdc497483cb
--- /dev/null
+++ b/dev-cpp/cppdap/cppdap-0_pre20230605-r1.ebuild
@@ -0,0 +1,52 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+# See https://github.com/google/cppdap/issues/113 re no release
+CPPDAP_COMMIT="252b56807b532533ea7362a4d949758dcb481d2b"
+GTEST_COMMIT="0a03480824b4fc7883255dbd2fd8940c9f81e22e"
+DESCRIPTION="C++ library for the Debug Adapter Protocol"
+HOMEPAGE="https://github.com/google/cppdap"
+SRC_URI="https://github.com/google/cppdap/archive/${CPPDAP_COMMIT}.tar.gz -> ${P}.tar.gz"
+SRC_URI+=" test? ( https://github.com/google/googletest/archive/${GTEST_COMMIT}.tar.gz -> ${PN}-gtest-${GTEST_COMMIT}.tar.gz )"
+S="${WORKDIR}"/${PN}-${CPPDAP_COMMIT}
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 arm arm64 ppc x86"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="dev-cpp/nlohmann_json"
+DEPEND="${RDEPEND}"
+
+src_prepare() {
+ if use test ; then
+ rm -rf "${S}"/third_party/googletest || die
+ ln -s "${WORKDIR}"/googletest-${GTEST_COMMIT} "${S}"/third_party/googletest || die
+ mkdir "${S}"/third_party/googletest/.git || die
+ fi
+
+ cmake_src_prepare
+}
+
+src_configure() {
+ local mycmakeargs=(
+ # Per README, could use rapidjson or jsoncpp instead.
+ -DCPPDAP_USE_EXTERNAL_NLOHMANN_JSON_PACKAGE=ON
+ -DCPPDAP_USE_EXTERNAL_RAPIDJSON_PACKAGE=OFF
+ -DCPPDAP_USE_EXTERNAL_JSONCPP_PACKAGE=OFF
+
+ -DCPPDAP_BUILD_TESTS=$(usex test)
+ )
+
+ cmake_src_configure
+}
+
+src_test() {
+ cd "${BUILD_DIR}" || die
+ ./cppdap-unittests || die
+}
diff --git a/dev-cpp/pstreams/metadata.xml b/dev-cpp/cppdap/metadata.xml
index cccd40057baf..b449a73bf3fc 100644
--- a/dev-cpp/pstreams/metadata.xml
+++ b/dev-cpp/cppdap/metadata.xml
@@ -2,10 +2,10 @@
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
- <email>printing@gentoo.org</email>
- <name>Gentoo Printing Project</name>
+ <email>base-system@gentoo.org</email>
+ <name>Gentoo Base System</name>
</maintainer>
<upstream>
- <remote-id type="sourceforge">pstreams</remote-id>
+ <remote-id type="github">google/cppdap</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-cpp/cppgir/Manifest b/dev-cpp/cppgir/Manifest
new file mode 100644
index 000000000000..c9f36c5d81a6
--- /dev/null
+++ b/dev-cpp/cppgir/Manifest
@@ -0,0 +1,3 @@
+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
new file mode 100644
index 000000000000..4dad70fb4990
--- /dev/null
+++ b/dev-cpp/cppgir/cppgir-0_p20230926.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="4c16bffe646af52b7112785cda8112d761f95860"
+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/cppgir/cppgir-0_p20240110.ebuild b/dev-cpp/cppgir/cppgir-0_p20240110.ebuild
new file mode 100644
index 000000000000..a7d27caf2086
--- /dev/null
+++ b/dev-cpp/cppgir/cppgir-0_p20240110.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="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 ~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/cppgir/cppgir-2.0_p20240315.ebuild b/dev-cpp/cppgir/cppgir-2.0_p20240315.ebuild
new file mode 100644
index 000000000000..8f7f7db42bab
--- /dev/null
+++ b/dev-cpp/cppgir/cppgir-2.0_p20240315.ebuild
@@ -0,0 +1,46 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake flag-o-matic
+
+DESCRIPTION="GObject-Introspection C++ binding wrapper generator"
+HOMEPAGE="https://gitlab.com/mnauw/cppgir"
+
+MY_PV="1cde1aaa0696ab7989f512abdb0694614ffe8d87"
+SRC_URI="https://gitlab.com/mnauw/cppgir/-/archive/${MY_PV}/cppgir-${MY_PV}.tar.bz2 -> ${P}.tar.bz2"
+S="${WORKDIR}/${PN}-${MY_PV}"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~loong ~ppc64 ~riscv"
+IUSE="doc test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ dev-libs/boost:=
+ dev-libs/libfmt:=
+"
+DEPEND="${RDEPEND}
+ dev-cpp/expected-lite
+"
+BDEPEND="
+ doc? ( app-text/ronn-ng )
+ test? ( dev-libs/glib )
+"
+
+src_configure() {
+ local mycmakeargs=(
+ -DBUILD_DOC=$(usex doc)
+ -DBUILD_TESTING=$(usex test)
+ -DBUILD_EXAMPLES=no
+ -DINTERNAL_EXPECTED=no
+ )
+
+ append-cppflags \
+ -UDEFAULT_GIRPATH \
+ -DDEFAULT_GIRPATH="${EPREFIX}/usr/share:${EPREFIX}/usr/local/share"
+
+ cmake_src_configure
+}
diff --git a/dev-cpp/cppgir/metadata.xml b/dev-cpp/cppgir/metadata.xml
new file mode 100644
index 000000000000..8337d9d2c2da
--- /dev/null
+++ b/dev-cpp/cppgir/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" proxied="yes">
+ <email>esteve.varela@gmail.com</email>
+ <name>Esteve Varela Colominas</name>
+ </maintainer>
+ <maintainer type="project" proxied="proxy">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="gitlab">mnauw/cppgir</remote-id>
+ <bugs-to>https://gitlab.com/mnauw/cppgir/-/issues</bugs-to>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-cpp/ctemplate/ctemplate-2.4.ebuild b/dev-cpp/ctemplate/ctemplate-2.4.ebuild
index 369e0bd725d5..b1a2a9d2775c 100644
--- a/dev-cpp/ctemplate/ctemplate-2.4.ebuild
+++ b/dev-cpp/ctemplate/ctemplate-2.4.ebuild
@@ -1,9 +1,9 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
-PYTHON_COMPAT=( python3_{8..10} )
+PYTHON_COMPAT=( python3_{9..11} )
inherit autotools elisp-common python-any-r1
diff --git a/dev-cpp/curlpp/Manifest b/dev-cpp/curlpp/Manifest
new file mode 100644
index 000000000000..54731842449c
--- /dev/null
+++ b/dev-cpp/curlpp/Manifest
@@ -0,0 +1 @@
+DIST curlpp-0.8.1.tar.gz 143017 BLAKE2B 7f3911499b42077c9f108b0355005744300383836a1c82dcba80207482b231527482fb17dcd78a7f288903e996afaf49a4478c7cb5c821bf597b26f4450a430b SHA512 a46b47150c0f0f1f0056e08966ce2fefa5e86fc729406e0220fbcf400da5409f05c87b636b13da3c4d4460c1177aedb494b9569bbcd9012326d4d5f59376397e
diff --git a/dev-cpp/curlpp/curlpp-0.8.1.ebuild b/dev-cpp/curlpp/curlpp-0.8.1.ebuild
new file mode 100644
index 000000000000..92293f3924f5
--- /dev/null
+++ b/dev-cpp/curlpp/curlpp-0.8.1.ebuild
@@ -0,0 +1,34 @@
+# Copyright 2018-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+DESCRIPTION="C++ wrapper for libcURL"
+HOMEPAGE="https://www.curlpp.org/"
+SRC_URI="https://github.com/jpbarrette/curlpp/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 ~x86"
+IUSE="doc examples"
+
+RDEPEND="net-misc/curl"
+DEPEND="${RDEPEND}"
+
+DOCS=( Readme.md doc/AUTHORS doc/TODO )
+
+PATCHES=( "${FILESDIR}"/${P}-fix-pkgconfig.patch )
+
+src_install() {
+ use doc && DOCS+=( doc/guide.pdf )
+
+ cmake_src_install
+
+ rm "${ED}"/usr/$(get_libdir)/libcurlpp.a || die
+
+ if use examples ; then
+ dodoc -r examples/
+ fi
+}
diff --git a/dev-cpp/curlpp/files/curlpp-0.8.1-fix-pkgconfig.patch b/dev-cpp/curlpp/files/curlpp-0.8.1-fix-pkgconfig.patch
new file mode 100644
index 000000000000..701c81e9c43e
--- /dev/null
+++ b/dev-cpp/curlpp/files/curlpp-0.8.1-fix-pkgconfig.patch
@@ -0,0 +1,39 @@
+# upstream commit: <https://github.com/jpbarrette/curlpp/commit/5cdb4eb>
+
+From 5cdb4eb7ae898bc9b81cd1a7f87986827848456a Mon Sep 17 00:00:00 2001
+From: Dale Mellor <black-hole@rdmp.org>
+Date: Thu, 6 Jan 2022 18:57:23 +0000
+Subject: [PATCH] Put full paths in pkg-config specification.
+
+Currently, 'pkg-config --cflags curlpp' gives '-Iinclude', which is not good
+enough for outside projects to link to this package.
+
+* extras/curlpp.pc.in: use internal variables to make the generated
+ specifications more precise.
+---
+ extras/curlpp.pc.in | 10 +++++-----
+ 1 file changed, 5 insertions(+), 5 deletions(-)
+
+diff --git a/extras/curlpp.pc.in b/extras/curlpp.pc.in
+index b040ee0..e19c5b2 100644
+--- a/extras/curlpp.pc.in
++++ b/extras/curlpp.pc.in
+@@ -1,13 +1,13 @@
+ # This is a comment
+ prefix=@prefix@
+-exec_prefix=@prefix@
+-includedir=@includedir@
++exec_prefix=${prefix}
++includedir=${prefix}/@includedir@
++libdir=${exec_prefix}/@libdir@
+
+ Name: curlpp
+ Description: cURLpp is a libcurl C++ wrapper
+ Version: @VERSION@
+-Libs: -L@libdir@ -lcurlpp @LDFLAGS@ @LIBS@
+-Cflags: -I@includedir@ @CURLPP_CXXFLAGS@
++Libs: -L${libdir} -lcurlpp @LDFLAGS@ @LIBS@
++Cflags: -I${includedir} @CURLPP_CXXFLAGS@
+ # libcurl is required as non-private because CurlHandle.inl uses curl_easy_setopt.
+ Requires: libcurl
+-
diff --git a/dev-cpp/curlpp/metadata.xml b/dev-cpp/curlpp/metadata.xml
new file mode 100644
index 000000000000..045b624e941f
--- /dev/null
+++ b/dev-cpp/curlpp/metadata.xml
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>xgqt@gentoo.org</email>
+ <name>Maciej Barć</name>
+ </maintainer>
+ <maintainer type="person" proxied="yes">
+ <email>gentoo@tastytea.de</email>
+ <name>tastytea</name>
+ </maintainer>
+ <maintainer type="project" proxied="proxy">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+ </maintainer>
+ <upstream>
+ <maintainer>
+ <name>Jean-Philippe Barrette-LaPierre</name>
+ </maintainer>
+ <doc>https://github.com/jpbarrette/curlpp/blob/master/doc/guide.pdf</doc>
+ <bugs-to>https://github.com/jpbarrette/curlpp/issues</bugs-to>
+ <remote-id type="github">jpbarrette/curlpp</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-cpp/doctest/Manifest b/dev-cpp/doctest/Manifest
index 21c9d2b12467..daa4827a7423 100644
--- a/dev-cpp/doctest/Manifest
+++ b/dev-cpp/doctest/Manifest
@@ -1 +1 @@
-DIST doctest-2.4.6.tar.gz 2277281 BLAKE2B e6835ad33522273a3151ccfa1e760a150e2f0ccc15fb739cb518d8c9b4258f4b1529537bb6f41b285660aa00f1791b30a7db14155d9f23ea54dd11bfdeb81ec3 SHA512 a5cccf085af946003140af688f071a6407d42fc685324a537e3b704ef9de0f2228bd06eabfd1df8da70dec001420dd0b2813e5e4320b5c1da450cb0aadd63788
+DIST doctest-2.4.11.tar.gz 2183312 BLAKE2B 277f22f3a9e275dd9f5cfffeeaf8346577223c2b872606f21fe5b8462573917a59a88bb61de145a92be61129396f9b4a87d94f4723e362428b1bd856ed84fcfb SHA512 04425686057079d3f1a6f767c487f1953050f553dbff9fc42b42dde1358fe26e46bf6219881bbfce625f15cb9c229474d82688120eb2cb2b1d8138db0cc91b3c
diff --git a/dev-cpp/doctest/doctest-2.4.11.ebuild b/dev-cpp/doctest/doctest-2.4.11.ebuild
new file mode 100644
index 000000000000..62633e219795
--- /dev/null
+++ b/dev-cpp/doctest/doctest-2.4.11.ebuild
@@ -0,0 +1,29 @@
+# Copyright 2022-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+DESCRIPTION="The fastest feature-rich C++11/14/17/20 single-header testing framework"
+HOMEPAGE="https://github.com/doctest/doctest"
+SRC_URI="https://github.com/doctest/doctest/archive/v${PV}.tar.gz -> ${P}.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 )"
+PATCHES=( "${FILESDIR}/${PN}-2.4.11-backport-pr770.patch" )
+
+src_prepare() {
+ sed -i '/-Werror/d' scripts/cmake/common.cmake || die
+ cmake_src_prepare
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DDOCTEST_WITH_TESTS=$(usex test)
+ )
+ cmake_src_configure
+}
diff --git a/dev-cpp/doctest/doctest-2.4.6.ebuild b/dev-cpp/doctest/doctest-2.4.6.ebuild
deleted file mode 100644
index 4c3df901696d..000000000000
--- a/dev-cpp/doctest/doctest-2.4.6.ebuild
+++ /dev/null
@@ -1,25 +0,0 @@
-# Copyright 2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit cmake
-
-DESCRIPTION="The fastest feature-rich C++11/14/17/20 single-header testing framework"
-HOMEPAGE="https://github.com/onqtam/doctest"
-SRC_URI="https://github.com/onqtam/doctest/archive/${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 ~arm ~arm64 ~ppc64 x86"
-IUSE="test"
-RESTRICT="!test? ( test )"
-
-PATCHES=( "${FILESDIR}/${P}-remove-unused-bla2.patch" )
-
-src_configure() {
- local mycmakeargs=(
- -DDOCTEST_WITH_TESTS=$(usex test)
- )
- cmake_src_configure
-}
diff --git a/dev-cpp/doctest/files/doctest-2.4.11-backport-pr770.patch b/dev-cpp/doctest/files/doctest-2.4.11-backport-pr770.patch
new file mode 100644
index 000000000000..eb1f8625d34e
--- /dev/null
+++ b/dev-cpp/doctest/files/doctest-2.4.11-backport-pr770.patch
@@ -0,0 +1,72 @@
+https://bugs.gentoo.org/874345
+https://github.com/doctest/doctest/pull/770
+https://github.com/doctest/doctest/issues/711
+
+commit 1ffb66bff7533f7ea42d801facf1b87d72621ac5
+Author: matoro <matoro@users.noreply.github.com>
+Date: Sat Apr 15 11:15:25 2023 -0400
+
+ Add sleep of one clock-resolution to test which should trigger timeout
+
+ Fixes https://github.com/doctest/doctest/issues/711 under HPPA, and
+ partially under alpha.
+
+diff --git a/examples/all_features/CMakeLists.txt b/examples/all_features/CMakeLists.txt
+index ebc75c2..4556227 100644
+--- a/examples/all_features/CMakeLists.txt
++++ b/examples/all_features/CMakeLists.txt
+@@ -39,6 +39,12 @@ set(files_all
+ # add the executable
+ add_executable(all_features ${files_all})
+ target_link_libraries(all_features doctest ${CMAKE_THREAD_LIBS_INIT})
++if(CMAKE_CXX_COMPILER_ID MATCHES "Clang")
++ target_link_options(all_features PRIVATE "-rtlib=compiler-rt")
++ if(LINUX)
++ target_link_libraries(all_features "-lgcc_s")
++ endif()
++endif()
+
+ # easy way to fix test coverage - disable colors and crash handling
+ target_compile_definitions(all_features PRIVATE
+@@ -124,6 +130,12 @@ function(add_test_all_features test_name flags)
+ add_executable(${test_name} ${files_with_output})
+ target_compile_definitions(${test_name} PRIVATE ${flags})
+ target_link_libraries(${test_name} doctest ${CMAKE_THREAD_LIBS_INIT})
++ if(CMAKE_CXX_COMPILER_ID MATCHES "Clang")
++ target_link_options(${test_name} PRIVATE "-rtlib=compiler-rt")
++ if(LINUX)
++ target_link_libraries(${test_name} "-lgcc_s")
++ endif()
++ endif()
+
+ doctest_add_test_impl(NAME ${test_name} COMMAND $<TARGET_FILE:${test_name}> --no-skipped-summary --no-version -ob=name)
+ endfunction()
+diff --git a/examples/all_features/test_cases_and_suites.cpp b/examples/all_features/test_cases_and_suites.cpp
+index 13b316d..d87f2fd 100644
+--- a/examples/all_features/test_cases_and_suites.cpp
++++ b/examples/all_features/test_cases_and_suites.cpp
+@@ -2,6 +2,12 @@
+
+ #include "header.h"
+
++DOCTEST_MAKE_STD_HEADERS_CLEAN_FROM_WARNINGS_ON_WALL_BEGIN
++#include <chrono>
++#include <ctime>
++#include <thread>
++DOCTEST_MAKE_STD_HEADERS_CLEAN_FROM_WARNINGS_ON_WALL_END
++
+ static int doStuff() {
+ int a = 5;
+ a += 2;
+@@ -46,6 +52,11 @@ TEST_CASE_FIXTURE(SomeFixture, "fixtured test - not part of a test suite") {
+
+ TEST_CASE("normal test in a test suite from a decorator" * doctest::test_suite("ts1") *
+ doctest::timeout(0.000001)) {
++#ifndef _WIN32
++ struct timespec res{};
++ clock_getres(CLOCK_MONOTONIC, &res);
++ std::this_thread::sleep_for(std::chrono::nanoseconds(res.tv_nsec));
++#endif
+ MESSAGE("failing because of the timeout decorator!");
+ }
+
diff --git a/dev-cpp/doctest/files/doctest-2.4.6-remove-unused-bla2.patch b/dev-cpp/doctest/files/doctest-2.4.6-remove-unused-bla2.patch
deleted file mode 100644
index 69efd40e6a42..000000000000
--- a/dev-cpp/doctest/files/doctest-2.4.6-remove-unused-bla2.patch
+++ /dev/null
@@ -1,23 +0,0 @@
-This patch follows proposed fixes to upstream.
-
-PR-1: https://github.com/onqtam/doctest/pull/505
-PR-2: https://github.com/onqtam/doctest/pull/520
-
-
-diff --git a/examples/all_features/stringification.cpp b/examples/all_features/stringification.cpp
-index a8b5d5b..492e1ec 100644
---- a/examples/all_features/stringification.cpp
-+++ b/examples/all_features/stringification.cpp
-@@ -103,9 +103,6 @@ TEST_CASE("all asserts should fail and show how the objects get stringified") {
- MyTypeInherited<int> bla1;
- bla1.one = 5;
- bla1.two = 4u;
-- MyTypeInherited<int> bla2;
-- bla2.one = 5;
-- bla2.two = 6u;
-
- Bar::Foo f1;
- Bar::Foo f2;
---
-2.32.0
-
diff --git a/dev-cpp/doctest/metadata.xml b/dev-cpp/doctest/metadata.xml
index d74c17749c0b..da9d59df6a91 100644
--- a/dev-cpp/doctest/metadata.xml
+++ b/dev-cpp/doctest/metadata.xml
@@ -1,15 +1,11 @@
<?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">onqtam/doctest</remote-id>
+ <remote-id type="github">doctest/doctest</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-cpp/edencommon/Manifest b/dev-cpp/edencommon/Manifest
new file mode 100644
index 000000000000..8dad4592cb9c
--- /dev/null
+++ b/dev-cpp/edencommon/Manifest
@@ -0,0 +1 @@
+DIST edencommon-2023.06.19.00.gh.tar.gz 146697 BLAKE2B 8b2419671c50eea43aa4b8d5d85eee75ed24ff9745a71c2d11b1994605552ffc288b55520639585631aed0e2528482a01daa9b47ef676fed7c14b4c7d75d018f SHA512 47b37a6acf93a6c6f2903f3113021aa1d54230cf3e31a8071aa7f276601a8eae56bd95767ec23c3027695367261d4db1483b637513c72ce220778f1f1a4c42ce
diff --git a/dev-cpp/edencommon/edencommon-2023.06.19.00.ebuild b/dev-cpp/edencommon/edencommon-2023.06.19.00.ebuild
new file mode 100644
index 000000000000..1296800f7058
--- /dev/null
+++ b/dev-cpp/edencommon/edencommon-2023.06.19.00.ebuild
@@ -0,0 +1,41 @@
+# Copyright 2022-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# These must be bumped together:
+# dev-cpp/edencommon
+# dev-cpp/folly
+# dev-util/watchman
+
+inherit cmake
+
+DESCRIPTION="Shared library for Watchman and Eden projects"
+HOMEPAGE="https://github.com/facebookexperimental/edencommon"
+SRC_URI="https://github.com/facebookexperimental/edencommon/archive/refs/tags/v${PV}.tar.gz -> ${P}.gh.tar.gz"
+
+LICENSE="MIT"
+SLOT="0/${PV}"
+KEYWORDS="amd64"
+IUSE="llvm-libunwind"
+
+RDEPEND="
+ dev-cpp/gflags:=
+ dev-cpp/glog:=[gflags]
+ dev-cpp/folly:=
+ llvm-libunwind? ( sys-libs/llvm-libunwind:= )
+ !llvm-libunwind? ( sys-libs/libunwind:= )
+"
+DEPEND="
+ ${RDEPEND}
+ dev-cpp/gtest
+"
+
+src_configure() {
+ local mycmakeargs=(
+ -DCMAKE_INSTALL_DIR="$(get_libdir)/cmake/${PN}"
+ -DLIB_INSTALL_DIR="$(get_libdir)"
+ )
+
+ cmake_src_configure
+}
diff --git a/dev-cpp/edencommon/metadata.xml b/dev-cpp/edencommon/metadata.xml
new file mode 100644
index 000000000000..ee7565d560cc
--- /dev/null
+++ b/dev-cpp/edencommon/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>sam@gentoo.org</email>
+ <name>Sam James</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">facebookexperimental/edencommon</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-cpp/eigen/Manifest b/dev-cpp/eigen/Manifest
index d6069d9926d7..02571f1672eb 100644
--- a/dev-cpp/eigen/Manifest
+++ b/dev-cpp/eigen/Manifest
@@ -1,3 +1,3 @@
-DIST eigen-3.3.7-gitlab.tar.bz2 1663474 BLAKE2B 70c2f6305ca205d62755cf5e90961088938b8daf56b7cc27abf52f0731064858ada523009d6bf5f014e24b34ceeafe59f918c385d12ccfe249ddb675e13d37a8 SHA512 ea3f1570de3be9ec230d2fbd0f2ae246bf5fd13da79835bf546eb31524796f26f9f633ee779f77942b370a8d540c5cbbd8dd033ccec53a44b692c7e407d6266f
-DIST eigen-3.3.9.tar.gz 2142379 BLAKE2B 437dc190fdf7a416d0a5cf81703ef4cc73c195f0f3e7c853e0ab38cf904608ddd4485cc4e15eb0cd5e3c401276f270f3c86f538f205cc91b8c83e131d1bc916d SHA512 16244cc89f2e1879543232b965cbf653b3ccf10e967c8c437a41e27d8320392bdf584d8c24b8a97406ab7d1481d5154da74e0702ec1334ae6a46de83f4573a46
+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.3.7-r1.ebuild b/dev-cpp/eigen/eigen-3.3.7-r1.ebuild
deleted file mode 100644
index 68821a80607c..000000000000
--- a/dev-cpp/eigen/eigen-3.3.7-r1.ebuild
+++ /dev/null
@@ -1,98 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-FORTRAN_NEEDED="test"
-inherit cmake cuda fortran-2
-
-DESCRIPTION="C++ template library for linear algebra"
-HOMEPAGE="https://eigen.tuxfamily.org/index.php?title=Main_Page"
-SRC_URI="https://gitlab.com/libeigen/eigen/-/archive/${PV}/${P}.tar.bz2 -> ${P}-gitlab.tar.bz2"
-
-LICENSE="MPL-2.0"
-SLOT="3"
-KEYWORDS="amd64 ~arm arm64 ~ppc ~ppc64 x86 ~amd64-linux ~x86-linux"
-IUSE="cpu_flags_arm_neon cpu_flags_ppc_altivec cpu_flags_ppc_vsx cuda debug doc openmp test" #zvector
-
-RESTRICT="!test? ( test )"
-
-BDEPEND="
- doc? (
- app-doc/doxygen[dot]
- dev-texlive/texlive-bibtexextra
- dev-texlive/texlive-fontsextra
- dev-texlive/texlive-fontutils
- dev-texlive/texlive-latex
- dev-texlive/texlive-latexextra
- )
- test? ( virtual/pkgconfig )
-"
-DEPEND="
- cuda? ( dev-util/nvidia-cuda-toolkit )
- test? (
- dev-libs/gmp:0
- dev-libs/mpfr:0
- media-libs/freeglut
- media-libs/glew
- sci-libs/adolc[sparse]
- sci-libs/cholmod
- sci-libs/fftw:3.0
- sci-libs/pastix
- sci-libs/scotch
- sci-libs/spqr
- sci-libs/superlu
- sci-libs/umfpack
- virtual/opengl
- )
-"
-# Missing:
-# METIS-5
-# GOOGLEHASH
-
-PATCHES=( "${FILESDIR}"/${P}-gentoo-cmake.patch )
-
-src_prepare() {
- cmake_src_prepare
-
- cmake_comment_add_subdirectory demos
-
- if ! use test; then
- sed -e "/add_subdirectory(test/s/^/#DONOTCOMPILE /g" \
- -e "/add_subdirectory(blas/s/^/#DONOTCOMPILE /g" \
- -e "/add_subdirectory(lapack/s/^/#DONOTCOMPILE /g" \
- -i CMakeLists.txt || die
- fi
-
- use cuda && cuda_src_prepare
-}
-
-src_configure() {
- local mycmakeargs=(
- -DCMAKEPACKAGE_INSTALL_DIR="${EPREFIX}"/usr/$(get_libdir)/cmake/${PN}${SLOT}
- )
- use test && mycmakeargs+=(
- -DEIGEN_TEST_CXX11=ON
- -DEIGEN_TEST_NOQT=ON
- -DEIGEN_TEST_ALTIVEC=$(usex cpu_flags_ppc_altivec)
- -DEIGEN_TEST_CUDA=$(usex cuda)
- -DEIGEN_TEST_OPENMP=$(usex openmp)
- -DEIGEN_TEST_NEON64=$(usex cpu_flags_arm_neon)
- -DEIGEN_TEST_VSX=$(usex cpu_flags_ppc_vsx)
- )
- cmake_src_configure
-}
-
-src_compile() {
- cmake_src_compile
- use doc && cmake_src_compile doc
- if use test; then
- cmake_src_compile blas
- cmake_src_compile buildtests
- fi
-}
-
-src_install() {
- use doc && local HTML_DOCS=( "${BUILD_DIR}"/doc/html/. )
- cmake_src_install
-}
diff --git a/dev-cpp/eigen/eigen-3.3.9.ebuild b/dev-cpp/eigen/eigen-3.3.9.ebuild
deleted file mode 100644
index 6d4b9b345248..000000000000
--- a/dev-cpp/eigen/eigen-3.3.9.ebuild
+++ /dev/null
@@ -1,107 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-FORTRAN_NEEDED="test"
-inherit cmake cuda fortran-2
-
-DESCRIPTION="C++ template library for linear algebra"
-HOMEPAGE="https://eigen.tuxfamily.org/index.php?title=Main_Page"
-SRC_URI="https://gitlab.com/lib${PN}/${PN}/-/archive/${PV}/${P}.tar.gz"
-
-LICENSE="MPL-2.0"
-SLOT="3"
-KEYWORDS="amd64 arm arm64 ppc ppc64 ~riscv ~sparc x86 ~amd64-linux ~x86-linux"
-IUSE="cpu_flags_arm_neon cpu_flags_ppc_altivec cpu_flags_ppc_vsx cuda debug doc openmp test" #zvector
-
-RESTRICT="!test? ( test )"
-
-BDEPEND="
- doc? (
- app-doc/doxygen[dot]
- dev-texlive/texlive-bibtexextra
- dev-texlive/texlive-fontsextra
- dev-texlive/texlive-fontutils
- dev-texlive/texlive-latex
- dev-texlive/texlive-latexextra
- )
- test? ( virtual/pkgconfig )
-"
-DEPEND="
- cuda? ( dev-util/nvidia-cuda-toolkit )
- test? (
- dev-libs/gmp:0
- dev-libs/mpfr:0
- media-libs/freeglut
- media-libs/glew
- sci-libs/adolc[sparse]
- sci-libs/cholmod
- sci-libs/fftw:3.0
- sci-libs/pastix
- sci-libs/scotch
- sci-libs/spqr
- sci-libs/superlu
- sci-libs/umfpack
- virtual/opengl
- )
-"
-# Missing:
-# METIS-5
-# GOOGLEHASH
-
-PATCHES=(
- "${FILESDIR}"/${PN}-3.3.7-gentoo-cmake.patch
- "${FILESDIR}"/${PN}-3.3.9-max-macro.patch
-)
-
-src_prepare() {
- cmake_src_prepare
-
- cmake_comment_add_subdirectory demos
-
- if ! use test; then
- sed -e "/add_subdirectory(test/s/^/#DONOTCOMPILE /g" \
- -e "/add_subdirectory(blas/s/^/#DONOTCOMPILE /g" \
- -e "/add_subdirectory(lapack/s/^/#DONOTCOMPILE /g" \
- -i CMakeLists.txt || die
- fi
-
- use cuda && cuda_src_prepare
-}
-
-src_configure() {
- local mycmakeargs=(
- -DCMAKEPACKAGE_INSTALL_DIR=$(get_libdir)/cmake/${PN}${SLOT}
- )
- use test && mycmakeargs+=(
- # the OpenGL testsuite is extremely brittle, bug #712808
- -DEIGEN_TEST_NO_OPENGL=ON
- # the cholmod tests are broken and always fail
- -DCMAKE_DISABLE_FIND_PACKAGE_Cholmod=ON
- -DEIGEN_TEST_CXX11=ON
- -DEIGEN_TEST_NOQT=ON
- -DEIGEN_TEST_ALTIVEC=$(usex cpu_flags_ppc_altivec)
- -DEIGEN_TEST_CUDA=$(usex cuda)
- -DEIGEN_TEST_OPENMP=$(usex openmp)
- -DEIGEN_TEST_NEON64=$(usex cpu_flags_arm_neon)
- -DEIGEN_TEST_VSX=$(usex cpu_flags_ppc_vsx)
- )
- cmake_src_configure
-}
-
-src_compile() {
- cmake_src_compile
- if use doc; then
- cmake_src_compile doc
- HTML_DOCS=( "${BUILD_DIR}"/doc/html/. )
- fi
- if use test; then
- cmake_src_compile blas
- cmake_src_compile buildtests
-
- # tests generate random data, which
- # obviously fails for some seeds
- export EIGEN_SEED=712808
- fi
-}
diff --git a/dev-cpp/eigen/eigen-3.4.0-r1.ebuild b/dev-cpp/eigen/eigen-3.4.0-r1.ebuild
index 8bd4d5d66425..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-2021 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -12,7 +12,7 @@ SRC_URI="https://gitlab.com/lib${PN}/${PN}/-/archive/${PV}/${P}.tar.gz"
LICENSE="MPL-2.0"
SLOT="3"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~x64-macos"
IUSE="cpu_flags_arm_neon cpu_flags_ppc_altivec cpu_flags_ppc_vsx cuda debug doc openmp test" #zvector
# Tests failing again because of compiler issues
@@ -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
@@ -54,6 +54,7 @@ DEPEND="
PATCHES=(
#"${FILESDIR}"/${PN}-3.3.7-gentoo-cmake.patch
"${FILESDIR}"/${PN}-3.3.9-max-macro.patch
+ "${FILESDIR}"/${P}-doc-nocompress.patch # bug 830064
)
src_prepare() {
diff --git a/dev-cpp/eigen/eigen-3.4.0-r2.ebuild b/dev-cpp/eigen/eigen-3.4.0-r2.ebuild
new file mode 100644
index 000000000000..26773df2bd7e
--- /dev/null
+++ b/dev-cpp/eigen/eigen-3.4.0-r2.ebuild
@@ -0,0 +1,457 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+FORTRAN_NEEDED="test"
+inherit cmake cuda fortran-2 llvm toolchain-funcs
+
+DESCRIPTION="C++ template library for linear algebra"
+HOMEPAGE="https://eigen.tuxfamily.org/index.php?title=Main_Page"
+
+if [[ ${PV} = *9999* ]] ; then
+ inherit git-r3
+ EGIT_REPO_URI="https://gitlab.com/lib${PN}/${PN}.git"
+ if [[ ${PV} = 3.4.9999* ]] ; then
+ EGIT_COMMIT="3.4"
+ fi
+else
+ SRC_URI="
+ https://gitlab.com/lib${PN}/${PN}/-/archive/${PV}/${P}.tar.bz2
+ test? ( lapack? ( https://downloads.tuxfamily.org/${PN}/lapack_addons_3.4.1.tgz -> ${PN}-lapack_addons-3.4.1.tgz ) )
+ "
+ KEYWORDS="~alpha ~amd64 ~arm arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~s390 sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~x64-macos"
+fi
+
+LICENSE="MPL-2.0"
+SLOT="3"
+
+# The following lines are shamelessly stolen from ffmpeg-9999.ebuild with modifications
+ARM_CPU_FEATURES=(
+ neon:NEON
+)
+PPC_CPU_FEATURES=(
+ altivec:ALTIVEC
+ vsx:VSX
+)
+X86_CPU_FEATURES=(
+ avx:AVX
+ avx2:AVX2
+ avx512f:AVX512
+ avx512dq:AVX512DQ
+ f16c:FP16C
+ fma3:FMA
+ popcnt:POPCNT
+ sse:SSE
+ sse2:SSE2
+ sse3:SSE3
+ ssse3:SSSE3
+ sse4_1:SSE4_1
+ sse4_2:SSE4_2
+)
+# MIPS_CPU_FEATURES=(
+# msa:MSA
+# )
+# S390_CPU_FEATURES=(
+# z13:Z13
+# z14:Z14
+# )
+
+CPU_FEATURES_MAP=(
+ "${ARM_CPU_FEATURES[@]/#/cpu_flags_arm_}"
+ "${PPC_CPU_FEATURES[@]/#/cpu_flags_ppc_}"
+ "${X86_CPU_FEATURES[@]/#/cpu_flags_x86_}"
+ # "${MIPS_CPU_FEATURES[@]/#/cpu_flags_mips_}"
+ # "${S390_CPU_FEATURES[@]/#/cpu_flags_s390_}"
+)
+
+IUSE_TEST_BACKENDS=(
+ "adolc"
+ "boost"
+ "cholmod"
+ "fftw"
+ "klu"
+ "opengl"
+ "openmp"
+ "pastix"
+ "sparsehash"
+ "spqr"
+ "superlu"
+ "umfpack"
+)
+
+IUSE="${CPU_FEATURES_MAP[*]%:*} clang cuda hip debug doc lapack mathjax test ${IUSE_TEST_BACKENDS[*]}" #zvector
+
+# Tests failing again because of compiler issues
+RESTRICT="!test? ( test )"
+
+BDEPEND="
+ doc? (
+ app-text/doxygen[dot]
+ dev-texlive/texlive-bibtexextra
+ dev-texlive/texlive-fontsextra
+ dev-texlive/texlive-fontutils
+ dev-texlive/texlive-latex
+ dev-texlive/texlive-latexextra
+ mathjax? ( dev-libs/mathjax )
+ )
+ test? ( virtual/pkgconfig )
+"
+
+# METIS
+# MPREAL
+# dev-libs/mpfr:0
+# dev-libs/gmp:0
+
+TEST_BACKENDS="
+ boost? ( dev-libs/boost )
+ adolc? ( sci-libs/adolc[sparse] )
+ cholmod? ( sci-libs/cholmod:= )
+ fftw? ( sci-libs/fftw )
+ spqr? ( sci-libs/spqr )
+ klu? ( sci-libs/klu )
+ opengl? (
+ media-libs/freeglut
+ media-libs/glew
+ media-libs/libglvnd
+ )
+ pastix? ( sci-libs/pastix[-mpi] )
+ sparsehash? (
+ amd64? ( dev-cpp/sparsehash )
+ arm64? ( dev-cpp/sparsehash )
+ ppc64? ( dev-cpp/sparsehash )
+ x86? ( dev-cpp/sparsehash )
+ )
+ superlu? ( sci-libs/superlu )
+ umfpack? ( sci-libs/umfpack )
+"
+DEPEND="
+ test? (
+ cuda? (
+ !clang? (
+ dev-util/nvidia-cuda-toolkit
+ )
+ clang? (
+ sys-devel/clang[llvm_targets_NVPTX]
+ openmp? ( sys-libs/libomp[llvm_targets_NVPTX,offload] )
+ )
+ )
+ hip? ( dev-util/hip )
+ lapack? ( virtual/lapacke )
+ ${TEST_BACKENDS}
+ )
+"
+
+REQUIRED_USE="
+ test? ( !lapack )
+ || ( ${IUSE_TEST_BACKENDS[*]} )
+"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-3.3.9-max-macro.patch"
+ "${FILESDIR}/${PN}-3.4.0-doc-nocompress.patch" # bug 830064
+ "${FILESDIR}/${PN}-3.4.0-buildstring.patch"
+ "${FILESDIR}/${PN}-3.4.0-noansi.patch"
+ "${FILESDIR}/${PN}-3.4.0-cxxstandard.patch"
+)
+
+# TODO should be in cuda.eclass
+cuda_set_CUDAHOSTCXX() {
+ local compiler
+ tc-is-gcc && compiler="gcc"
+ tc-is-clang && compiler="clang"
+ [[ -z "$compiler" ]] && die "no compiler specified"
+
+ local package="sys-devel/${compiler}"
+ local version="${package}"
+ local CUDAHOSTCXX_test
+ while
+ CUDAHOSTCXX="${CUDAHOSTCXX_test}"
+ version=$(best_version "${version}")
+ if [[ -z "${version}" ]]; then
+ if [[ -z "${CUDAHOSTCXX}" ]]; then
+ die "could not find supported version of ${package}"
+ fi
+ break
+ fi
+ CUDAHOSTCXX_test="$(
+ dirname "$(
+ realpath "$(
+ which "${compiler}-$(echo "${version}" | grep -oP "(?<=${package}-)[0-9]*")"
+ )"
+ )"
+ )"
+ version="<${version}"
+ do ! echo "int main(){}" | nvcc "-ccbin ${CUDAHOSTCXX_test}" - -x cu &>/dev/null; done
+
+ export CUDAHOSTCXX
+}
+
+pkg_setup() {
+ use test && use cuda && use clang && llvm_pkg_setup
+}
+
+src_unpack() {
+ if [[ ${PV} = *9999* ]] ; then
+ git-r3_src_unpack
+ else
+ unpack "${P}.tar.bz2"
+
+ if use test && use lapack; then
+ cd "${S}/lapack" || die
+ unpack "${PN}-lapack_addons-3.4.1.tgz"
+ fi
+ fi
+}
+
+src_prepare() {
+ cmake_src_prepare
+
+ sed \
+ -e "/add_subdirectory(bench\/spbench/s/^/#DONOTCOMPILE /g" \
+ -e "/add_subdirectory(demos/s/^/#DONOTCOMPILE /g" \
+ -i CMakeLists.txt || die
+
+ if ! use test; then
+ sed \
+ -e "/add_subdirectory(test/s/^/#DONOTCOMPILE /g" \
+ -e "/add_subdirectory(scripts/s/^/#DONOTCOMPILE /g" \
+ -e "/add_subdirectory(failtest/s/^/#DONOTCOMPILE /g" \
+ -e "/add_subdirectory(blas/s/^/#DONOTCOMPILE /g" \
+ -e "/add_subdirectory(lapack/s/^/#DONOTCOMPILE /g" \
+ -i CMakeLists.txt || die
+ fi
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DBUILD_SHARED_LIBS="yes"
+ -DBUILD_TESTING="$(usex test)"
+
+ -DEIGEN_BUILD_DOC="$(usex doc)" # Enable creation of Eigen documentation
+ -DEIGEN_BUILD_PKGCONFIG="yes" # Build pkg-config .pc file for Eigen
+ )
+ if use doc || use test; then
+ mycmakeargs+=(
+ # needs Qt4
+ -DEIGEN_TEST_NOQT="yes" # Disable Qt support in unit tests
+ )
+ fi
+
+ if use doc; then
+ mycmakeargs+=(
+ -DEIGEN_DOC_USE_MATHJAX="$(usex mathjax)" # Use MathJax for rendering math in HTML docs
+ -DEIGEN_INTERNAL_DOCUMENTATION=no # Build internal documentation
+ )
+ fi
+
+ if use test; then
+ mycmakeargs+=(
+ # the OpenGL testsuite is extremely brittle, bug #712808
+ -DOpenGL_GL_PREFERENCE="GLVND"
+ -DEIGEN_TEST_OPENGL="$(usex opengl)" # Enable OpenGL support in unit tests
+ -DEIGEN_TEST_OPENMP="$(usex openmp)" # Enable/Disable OpenMP in tests/examples
+
+ -DCMAKE_DISABLE_FIND_PACKAGE_MPREAL=ON
+
+ -DEIGEN_TEST_CXX11=yes
+
+ # -DEIGEN_TEST_CUSTOM_CXX_FLAGS= # Additional compiler flags when compiling unit tests.
+ # -DEIGEN_TEST_CUSTOM_LINKER_FLAGS= # Additional linker flags when linking unit tests.
+ # -DEIGEN_TEST_BUILD_FLAGS= # Options passed to the build command of unit tests
+
+ # -DEIGEN_BUILD_BTL=yes # Build benchmark suite
+
+ -DEIGEN_TEST_BUILD_DOCUMENTATION="$(usex doc)" # Test building the doxygen documentation
+
+ # -DEIGEN_COVERAGE_TESTING=no # Enable/disable gcov
+ # -DEIGEN_CTEST_ERROR_EXCEPTION= # Regular expression for build error messages to be filtered out
+ # -DEIGEN_DEBUG_ASSERTS=no # Enable advanced debugging of assertions
+ # -DEIGEN_NO_ASSERTION_CHECKING=no # Disable checking of assertions using exceptions
+ # -DEIGEN_TEST_NO_EXCEPTIONS=no # Disables C++ exceptions
+ # -DEIGEN_TEST_NO_EXPLICIT_ALIGNMENT=no # Disable explicit alignment (hence vectorization) in tests/examples
+ # -DEIGEN_TEST_NO_EXPLICIT_VECTORIZATION=no # Disable explicit vectorization in tests/examples
+
+ # -DEIGEN_DASHBOARD_BUILD_TARGET=buildtests # Target to be built in dashboard mode, default is buildtests
+
+ # -DEIGEN_DEFAULT_TO_ROW_MAJOR=no # Use row-major as default matrix storage order
+
+ # -DEIGEN_TEST_MATRIX_DIR=yes # Enable testing of realword sparse matrices contained in the specified path
+ # -DEIGEN_TEST_MAX_SIZE=320 # Maximal matrix/vector size, default is 320
+ # -DEIGEN_SPLIT_LARGE_TESTS=no # Split large tests into smaller executables
+ )
+
+ use !adolc && mycmakeargs+=( -DCMAKE_DISABLE_FIND_PACKAGE_Adolc="TRUE" )
+ use !boost && mycmakeargs+=( -DCMAKE_DISABLE_FIND_PACKAGE_Boost="TRUE" )
+ use !cholmod && mycmakeargs+=( -DCMAKE_DISABLE_FIND_PACKAGE_CHOLMOD="TRUE" )
+ use !fftw && mycmakeargs+=( -DCMAKE_DISABLE_FIND_PACKAGE_FFTW="TRUE" )
+ use !sparsehash && mycmakeargs+=( -DCMAKE_DISABLE_FIND_PACKAGE_GoogleHash="TRUE" )
+ use !klu && mycmakeargs+=( -DCMAKE_DISABLE_FIND_PACKAGE_KLU="TRUE" )
+ use !opengl && mycmakeargs+=( -DCMAKE_DISABLE_FIND_PACKAGE_OpenGL="TRUE" )
+ use !openmp && mycmakeargs+=( -DCMAKE_DISABLE_FIND_PACKAGE_OpenMP="TRUE" )
+ use !pastix && mycmakeargs+=( -DCMAKE_DISABLE_FIND_PACKAGE_PASTIX="TRUE" )
+ use !spqr && mycmakeargs+=( -DCMAKE_DISABLE_FIND_PACKAGE_SPQR="TRUE" )
+ use !superlu && mycmakeargs+=( -DCMAKE_DISABLE_FIND_PACKAGE_SuperLU="TRUE" )
+ use !umfpack && mycmakeargs+=( -DCMAKE_DISABLE_FIND_PACKAGE_UMFPACK="TRUE" )
+
+ if use lapack; then
+ mycmakeargs+=(
+ -DEIGEN_ENABLE_LAPACK_TESTS=yes
+ -DEIGEN_TEST_EXTERNAL_BLAS=yes # Use external BLAS library for testsuite
+ -DCMAKE_DISABLE_FIND_PACKAGE_SuperLU=ON
+ )
+ fi
+
+ if use arm; then
+ mycmakeargs+=(
+ -DEIGEN_TEST_NEON="$(usex cpu_flags_arm_neon)"
+ )
+ fi
+
+ if use arm64; then
+ mycmakeargs+=(
+ -DEIGEN_TEST_NEON64="$(usex cpu_flags_arm_neon)"
+ )
+ fi
+
+ if use ppc || use ppc64; then
+ mycmakeargs+=(
+ -DEIGEN_TEST_ALTIVEC="$(usex cpu_flags_ppc_altivec)"
+ -DEIGEN_TEST_VSX="$(usex cpu_flags_ppc_vsx)"
+ )
+ fi
+
+ if use amd64 || use x86; then
+ mycmakeargs+=(
+ # -DEIGEN_TEST_32BIT=no # Force generating 32bit code.
+ # -DEIGEN_TEST_X87=no # Force using X87 instructions. Implies no vectorization.
+ -DEIGEN_TEST_SSE2="$(usex cpu_flags_x86_sse2)"
+ -DEIGEN_TEST_SSE3="$(usex cpu_flags_x86_sse3)"
+ -DEIGEN_TEST_SSSE3="$(usex cpu_flags_x86_ssse3)"
+ -DEIGEN_TEST_FMA="$(usex cpu_flags_x86_fma3)"
+ -DEIGEN_TEST_SSE4_1="$(usex cpu_flags_x86_sse4_1)"
+ -DEIGEN_TEST_SSE4_2="$(usex cpu_flags_x86_sse4_2)"
+ -DEIGEN_TEST_AVX="$(usex cpu_flags_x86_avx)"
+ -DEIGEN_TEST_F16C="$(usex cpu_flags_x86_f16c)"
+ -DEIGEN_TEST_AVX2="$(usex cpu_flags_x86_avx2)"
+ -DEIGEN_TEST_AVX512="$(usex cpu_flags_x86_avx512f)"
+ -DEIGEN_TEST_AVX512DQ="$(usex cpu_flags_x86_avx512dq)"
+ )
+ fi
+
+ if use mips; then
+ mycmakeargs+=(
+ # -DEIGEN_TEST_MSA=no # Enable/Disable MSA in tests/examples
+ )
+ fi
+
+ if use s390; then
+ mycmakeargs+=(
+ # -DEIGEN_TEST_Z13=no # Enable/Disable S390X(zEC13) ZVECTOR in tests/examples
+ # -DEIGEN_TEST_Z14=no # Enable/Disable S390X(zEC14) ZVECTOR in tests/examples
+ )
+ fi
+
+ mycmakeargs+=(
+ -DEIGEN_TEST_CUDA="$(usex cuda)" # Enable CUDA support in unit tests
+ -DEIGEN_TEST_CUDA_CLANG="$(usex cuda "$(usex clang)")" # Use clang instead of nvcc to compile the CUDA tests
+
+ -DEIGEN_TEST_HIP="$(usex hip)" # Add HIP support.
+
+ # -DEIGEN_TEST_SYCL=no # Add Sycl support.
+ # -DEIGEN_SYCL_TRISYCL=no # Use the triSYCL Sycl implementation (ComputeCPP by default).
+ )
+
+ if use cuda; then
+ cuda_add_sandbox -w
+ if use clang; then
+ local llvm_prefix
+ llvm_prefix="$(get_llvm_prefix -b)"
+ export CC="${llvm_prefix}/bin/clang"
+ export CXX="${llvm_prefix}/bin/clang++"
+ export LIBRARY_PATH="${ESYSROOT}/usr/$(get_libdir)"
+ else
+ cuda_set_CUDAHOSTCXX
+ mycmakeargs+=(
+ -DCUDA_HOST_COMPILER="${CUDAHOSTCXX}"
+ )
+ fi
+ if [[ "${CUDA_VERBOSE}" == true ]]; then
+ mycmakeargs+=(
+ -DCUDA_VERBOSE_BUILD=yes
+ )
+ NVCCFLAGS+=" -v"
+ fi
+
+ export CUDAFLAGS="${NVCCFLAGS}"
+
+ [[ -z "${CUDAARCHS}" ]] && einfo "trying to determine host CUDAARCHS"
+ : "${CUDAARCHS:=$(__nvcc_device_query)}"
+ export CUDAARCHS
+
+ mycmakeargs+=(
+ -DEIGEN_CUDA_COMPUTE_ARCH="${CUDAARCHS}"
+ )
+ fi
+ fi
+
+ cmake_src_configure
+}
+
+src_compile() {
+ local targets=()
+ if use doc; then
+ targets+=( doc )
+ HTML_DOCS=( "${BUILD_DIR}"/doc/html/. )
+ fi
+ if use test; then
+ targets+=( buildtests )
+ if ! use lapack; then
+ targets+=( blas )
+ fi
+ # tests generate random data, which
+ # obviously fails for some seeds
+ export EIGEN_SEED=712808
+ fi
+
+ if use doc || use test; then
+ cmake_src_compile "${targets[@]}"
+ fi
+}
+
+src_test() {
+ CMAKE_SKIP_TESTS=(
+ product_small_32 # 143 (Subprocess aborted)
+ product_small_33 # 144 (Subprocess aborted)
+
+ eigensolver_selfadjoint_13 # 452 (Subprocess aborted)
+
+ cholmod_support_21 # 726 (Subprocess aborted)
+ cholmod_support_22 # 727 (Subprocess aborted)
+
+ NonLinearOptimization # 930 (Subprocess aborted)
+ openglsupport # 990 (Failed)
+ levenberg_marquardt # 1020 (Subprocess aborted)
+ )
+
+ if use cuda ; then
+ cuda_add_sandbox -w
+
+ CMAKE_SKIP_TESTS+=(
+ cxx11_tensor_cast_float16_gpu
+ cxx11_tensor_gpu_5
+ )
+ fi
+
+ if use lapack ; then
+ CMAKE_SKIP_TESTS+=(
+ "^LAPACK-.*$"
+ )
+ fi
+
+ local myctestargs=(
+ -j1 # otherwise breaks due to cmake reruns
+ )
+
+ cmake_src_test
+}
diff --git a/dev-cpp/eigen/eigen-3.4.9999.ebuild b/dev-cpp/eigen/eigen-3.4.9999.ebuild
new file mode 100644
index 000000000000..e4f1e0613661
--- /dev/null
+++ b/dev-cpp/eigen/eigen-3.4.9999.ebuild
@@ -0,0 +1,432 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+FORTRAN_NEEDED="test"
+inherit cmake cuda fortran-2 llvm toolchain-funcs
+
+DESCRIPTION="C++ template library for linear algebra"
+HOMEPAGE="https://eigen.tuxfamily.org/index.php?title=Main_Page"
+
+if [[ ${PV} = *9999* ]] ; then
+ inherit git-r3
+ EGIT_REPO_URI="https://gitlab.com/lib${PN}/${PN}.git"
+ if [[ ${PV} = 3.4.9999* ]] ; then
+ EGIT_COMMIT="3.4"
+ fi
+else
+ SRC_URI="
+ https://gitlab.com/lib${PN}/${PN}/-/archive/${PV}/${P}.tar.bz2
+ test? ( lapack? ( https://downloads.tuxfamily.org/${PN}/lapack_addons_3.4.1.tgz -> ${PN}-lapack_addons-3.4.1.tgz ) )
+ "
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~x64-macos"
+fi
+
+LICENSE="MPL-2.0"
+SLOT="3"
+
+# The following lines are shamelessly stolen from ffmpeg-9999.ebuild with modifications
+ARM_CPU_FEATURES=(
+ neon:NEON
+)
+PPC_CPU_FEATURES=(
+ altivec:ALTIVEC
+ vsx:VSX
+)
+X86_CPU_FEATURES=(
+ avx:AVX
+ avx2:AVX2
+ avx512f:AVX512
+ avx512dq:AVX512DQ
+ f16c:FP16C
+ fma3:FMA
+ popcnt:POPCNT
+ sse:SSE
+ sse2:SSE2
+ sse3:SSE3
+ ssse3:SSSE3
+ sse4_1:SSE4_1
+ sse4_2:SSE4_2
+)
+# MIPS_CPU_FEATURES=(
+# msa:MSA
+# )
+# S390_CPU_FEATURES=(
+# z13:Z13
+# z14:Z14
+# )
+
+CPU_FEATURES_MAP=(
+ "${ARM_CPU_FEATURES[@]/#/cpu_flags_arm_}"
+ "${PPC_CPU_FEATURES[@]/#/cpu_flags_ppc_}"
+ "${X86_CPU_FEATURES[@]/#/cpu_flags_x86_}"
+ # "${MIPS_CPU_FEATURES[@]/#/cpu_flags_mips_}"
+ # "${S390_CPU_FEATURES[@]/#/cpu_flags_s390_}"
+)
+
+IUSE_TEST_BACKENDS=(
+ "adolc"
+ "boost"
+ "cholmod"
+ "fftw"
+ "klu"
+ "opengl"
+ "openmp"
+ "pastix"
+ "sparsehash"
+ "spqr"
+ "superlu"
+ "umfpack"
+)
+
+IUSE="benchmark ${CPU_FEATURES_MAP[*]%:*} clang cuda hip debug doc lapack mathjax test ${IUSE_TEST_BACKENDS[*]}" #zvector
+
+# Tests failing again because of compiler issues
+RESTRICT="!test? ( test )"
+
+BDEPEND="
+ doc? (
+ app-text/doxygen[dot]
+ dev-texlive/texlive-bibtexextra
+ dev-texlive/texlive-fontsextra
+ dev-texlive/texlive-fontutils
+ dev-texlive/texlive-latex
+ dev-texlive/texlive-latexextra
+ mathjax? ( dev-libs/mathjax )
+ )
+ test? ( virtual/pkgconfig )
+"
+
+# METIS
+# MPREAL
+# dev-libs/mpfr:0
+# dev-libs/gmp:0
+
+TEST_BACKENDS="
+ boost? ( dev-libs/boost )
+ adolc? ( sci-libs/adolc[sparse] )
+ cholmod? ( sci-libs/cholmod:= )
+ fftw? ( sci-libs/fftw )
+ spqr? ( sci-libs/spqr )
+ klu? ( sci-libs/klu )
+ opengl? (
+ media-libs/freeglut
+ media-libs/glew
+ media-libs/libglvnd
+ )
+ pastix? ( sci-libs/pastix[-mpi] )
+ sparsehash? (
+ amd64? ( dev-cpp/sparsehash )
+ arm64? ( dev-cpp/sparsehash )
+ ppc64? ( dev-cpp/sparsehash )
+ x86? ( dev-cpp/sparsehash )
+ )
+ superlu? ( sci-libs/superlu )
+ umfpack? ( sci-libs/umfpack )
+"
+DEPEND="
+ test? (
+ cuda? (
+ !clang? (
+ dev-util/nvidia-cuda-toolkit
+ )
+ clang? (
+ sys-devel/clang[llvm_targets_NVPTX]
+ openmp? ( sys-libs/libomp[llvm_targets_NVPTX,offload] )
+ )
+ )
+ hip? ( dev-util/hip )
+ lapack? ( virtual/lapacke )
+ ${TEST_BACKENDS}
+ )
+"
+
+REQUIRED_USE="
+ || ( ${IUSE_TEST_BACKENDS[*]} )
+"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-3.3.9-max-macro.patch"
+ "${FILESDIR}/${PN}-3.4.0-doc-nocompress.patch" # bug 830064
+ "${FILESDIR}/${PN}-3.4.0-buildstring.patch"
+ "${FILESDIR}/${PN}-3.4.0-noansi.patch"
+ "${FILESDIR}/${PN}-3.4.0-cxxstandard.patch"
+)
+
+# TODO should be in cuda.eclass
+cuda_set_CUDAHOSTCXX() {
+ local compiler
+ tc-is-gcc && compiler="gcc"
+ tc-is-clang && compiler="clang"
+ [[ -z "$compiler" ]] && die "no compiler specified"
+
+ local package="sys-devel/${compiler}"
+ local version="${package}"
+ local CUDAHOSTCXX_test
+ while
+ CUDAHOSTCXX="${CUDAHOSTCXX_test}"
+ version=$(best_version "${version}")
+ if [[ -z "${version}" ]]; then
+ if [[ -z "${CUDAHOSTCXX}" ]]; then
+ die "could not find supported version of ${package}"
+ fi
+ break
+ fi
+ CUDAHOSTCXX_test="$(
+ dirname "$(
+ realpath "$(
+ which "${compiler}-$(echo "${version}" | grep -oP "(?<=${package}-)[0-9]*")"
+ )"
+ )"
+ )"
+ version="<${version}"
+ do ! echo "int main(){}" | nvcc "-ccbin ${CUDAHOSTCXX_test}" - -x cu &>/dev/null; done
+
+ export CUDAHOSTCXX
+}
+
+pkg_setup() {
+ use test && use cuda && use clang && llvm_pkg_setup
+}
+
+src_unpack() {
+ if [[ ${PV} = *9999* ]] ; then
+ git-r3_src_unpack
+ else
+ unpack "${P}.tar.bz2"
+
+ if use test && use lapack; then
+ cd "${S}/lapack" || die
+ unpack "${PN}-lapack_addons-3.4.1.tgz"
+ fi
+ fi
+}
+
+src_prepare() {
+ cmake_src_prepare
+
+ sed \
+ -e "/add_subdirectory(bench\/spbench/s/^/#DONOTCOMPILE /g" \
+ -e "/add_subdirectory(demos/s/^/#DONOTCOMPILE /g" \
+ -i CMakeLists.txt || die
+
+ if ! use test; then
+ sed \
+ -e "/add_subdirectory(test/s/^/#DONOTCOMPILE /g" \
+ -e "/add_subdirectory(scripts/s/^/#DONOTCOMPILE /g" \
+ -e "/add_subdirectory(failtest/s/^/#DONOTCOMPILE /g" \
+ -e "/add_subdirectory(blas/s/^/#DONOTCOMPILE /g" \
+ -e "/add_subdirectory(lapack/s/^/#DONOTCOMPILE /g" \
+ -i CMakeLists.txt || die
+ fi
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DBUILD_SHARED_LIBS="yes"
+ -DBUILD_TESTING="$(usex test)"
+
+ -DEIGEN_BUILD_BTL="$(usex benchmark)" # Build benchmark suite
+ -DEIGEN_BUILD_DOC="$(usex doc)" # Enable creation of Eigen documentation
+ -DEIGEN_BUILD_PKGCONFIG="yes" # Build pkg-config .pc file for Eigen
+ )
+ if use doc || use test; then
+ mycmakeargs+=(
+ # needs Qt4
+ -DEIGEN_TEST_NOQT="yes" # Disable Qt support in unit tests
+ )
+ fi
+
+ if use doc; then
+ mycmakeargs+=(
+ -DEIGEN_DOC_USE_MATHJAX="$(usex mathjax)" # Use MathJax for rendering math in HTML docs
+ -DEIGEN_INTERNAL_DOCUMENTATION=no # Build internal documentation
+ )
+ fi
+
+ if use test; then
+ mycmakeargs+=(
+ # the OpenGL testsuite is extremely brittle, bug #712808
+ -DOpenGL_GL_PREFERENCE="GLVND"
+ -DEIGEN_TEST_OPENGL="$(usex opengl)" # Enable OpenGL support in unit tests
+ -DEIGEN_TEST_OPENMP="$(usex openmp)" # Enable/Disable OpenMP in tests/examples
+
+ -DCMAKE_DISABLE_FIND_PACKAGE_MPREAL=ON
+
+ -DEIGEN_TEST_CXX11=yes
+
+ # -DEIGEN_TEST_CUSTOM_CXX_FLAGS= # Additional compiler flags when compiling unit tests.
+ # -DEIGEN_TEST_CUSTOM_LINKER_FLAGS= # Additional linker flags when linking unit tests.
+ # -DEIGEN_TEST_BUILD_FLAGS= # Options passed to the build command of unit tests
+
+ # -DEIGEN_BUILD_BTL=yes # Build benchmark suite
+
+ -DEIGEN_TEST_BUILD_DOCUMENTATION="$(usex doc)" # Test building the doxygen documentation
+
+ # -DEIGEN_COVERAGE_TESTING=no # Enable/disable gcov
+ # -DEIGEN_CTEST_ERROR_EXCEPTION= # Regular expression for build error messages to be filtered out
+ # -DEIGEN_DEBUG_ASSERTS=no # Enable advanced debugging of assertions
+ # -DEIGEN_NO_ASSERTION_CHECKING=no # Disable checking of assertions using exceptions
+ # -DEIGEN_TEST_NO_EXCEPTIONS=no # Disables C++ exceptions
+ # -DEIGEN_TEST_NO_EXPLICIT_ALIGNMENT=no # Disable explicit alignment (hence vectorization) in tests/examples
+ # -DEIGEN_TEST_NO_EXPLICIT_VECTORIZATION=no # Disable explicit vectorization in tests/examples
+
+ # -DEIGEN_DASHBOARD_BUILD_TARGET=buildtests # Target to be built in dashboard mode, default is buildtests
+
+ # -DEIGEN_DEFAULT_TO_ROW_MAJOR=no # Use row-major as default matrix storage order
+
+ # -DEIGEN_TEST_MATRIX_DIR=yes # Enable testing of realword sparse matrices contained in the specified path
+ # -DEIGEN_TEST_MAX_SIZE=320 # Maximal matrix/vector size, default is 320
+ # -DEIGEN_SPLIT_LARGE_TESTS=no # Split large tests into smaller executables
+ )
+
+ use !adolc && mycmakeargs+=( -DCMAKE_DISABLE_FIND_PACKAGE_Adolc="TRUE" )
+ use !boost && mycmakeargs+=( -DCMAKE_DISABLE_FIND_PACKAGE_Boost="TRUE" )
+ use !cholmod && mycmakeargs+=( -DCMAKE_DISABLE_FIND_PACKAGE_CHOLMOD="TRUE" )
+ use !fftw && mycmakeargs+=( -DCMAKE_DISABLE_FIND_PACKAGE_FFTW="TRUE" )
+ use !sparsehash && mycmakeargs+=( -DCMAKE_DISABLE_FIND_PACKAGE_GoogleHash="TRUE" )
+ use !klu && mycmakeargs+=( -DCMAKE_DISABLE_FIND_PACKAGE_KLU="TRUE" )
+ use !opengl && mycmakeargs+=( -DCMAKE_DISABLE_FIND_PACKAGE_OpenGL="TRUE" )
+ use !openmp && mycmakeargs+=( -DCMAKE_DISABLE_FIND_PACKAGE_OpenMP="TRUE" )
+ use !pastix && mycmakeargs+=( -DCMAKE_DISABLE_FIND_PACKAGE_PASTIX="TRUE" )
+ use !spqr && mycmakeargs+=( -DCMAKE_DISABLE_FIND_PACKAGE_SPQR="TRUE" )
+ use !superlu && mycmakeargs+=( -DCMAKE_DISABLE_FIND_PACKAGE_SuperLU="TRUE" )
+ use !umfpack && mycmakeargs+=( -DCMAKE_DISABLE_FIND_PACKAGE_UMFPACK="TRUE" )
+
+ if use lapack; then
+ mycmakeargs+=(
+ -DEIGEN_ENABLE_LAPACK_TESTS=yes
+ -DEIGEN_TEST_EXTERNAL_BLAS=yes # Use external BLAS library for testsuite
+ -DCMAKE_DISABLE_FIND_PACKAGE_SuperLU=ON
+ )
+ fi
+
+ if use arm; then
+ mycmakeargs+=(
+ -DEIGEN_TEST_NEON="$(usex cpu_flags_arm_neon)"
+ )
+ fi
+
+ if use arm64; then
+ mycmakeargs+=(
+ -DEIGEN_TEST_NEON64="$(usex cpu_flags_arm_neon)"
+ )
+ fi
+
+ if use ppc || use ppc64; then
+ mycmakeargs+=(
+ -DEIGEN_TEST_ALTIVEC="$(usex cpu_flags_ppc_altivec)"
+ -DEIGEN_TEST_VSX="$(usex cpu_flags_ppc_vsx)"
+ )
+ fi
+
+ if use amd64 || use x86; then
+ mycmakeargs+=(
+ # -DEIGEN_TEST_32BIT=no # Force generating 32bit code.
+ # -DEIGEN_TEST_X87=no # Force using X87 instructions. Implies no vectorization.
+ -DEIGEN_TEST_SSE2="$(usex cpu_flags_x86_sse2)"
+ -DEIGEN_TEST_SSE3="$(usex cpu_flags_x86_sse3)"
+ -DEIGEN_TEST_SSSE3="$(usex cpu_flags_x86_ssse3)"
+ -DEIGEN_TEST_FMA="$(usex cpu_flags_x86_fma3)"
+ -DEIGEN_TEST_SSE4_1="$(usex cpu_flags_x86_sse4_1)"
+ -DEIGEN_TEST_SSE4_2="$(usex cpu_flags_x86_sse4_2)"
+ -DEIGEN_TEST_AVX="$(usex cpu_flags_x86_avx)"
+ -DEIGEN_TEST_F16C="$(usex cpu_flags_x86_f16c)"
+ -DEIGEN_TEST_AVX2="$(usex cpu_flags_x86_avx2)"
+ -DEIGEN_TEST_AVX512="$(usex cpu_flags_x86_avx512f)"
+ -DEIGEN_TEST_AVX512DQ="$(usex cpu_flags_x86_avx512dq)"
+ )
+ fi
+
+ if use mips; then
+ mycmakeargs+=(
+ # -DEIGEN_TEST_MSA=no # Enable/Disable MSA in tests/examples
+ )
+ fi
+
+ if use s390; then
+ mycmakeargs+=(
+ # -DEIGEN_TEST_Z13=no # Enable/Disable S390X(zEC13) ZVECTOR in tests/examples
+ # -DEIGEN_TEST_Z14=no # Enable/Disable S390X(zEC14) ZVECTOR in tests/examples
+ )
+ fi
+
+ mycmakeargs+=(
+ -DEIGEN_TEST_CUDA="$(usex cuda)" # Enable CUDA support in unit tests
+ -DEIGEN_TEST_CUDA_CLANG="$(usex cuda "$(usex clang)")" # Use clang instead of nvcc to compile the CUDA tests
+
+ -DEIGEN_TEST_HIP="$(usex hip)" # Add HIP support.
+
+ # -DEIGEN_TEST_SYCL=no # Add Sycl support.
+ # -DEIGEN_SYCL_TRISYCL=no # Use the triSYCL Sycl implementation (ComputeCPP by default).
+ )
+
+ if use cuda; then
+ cuda_add_sandbox -w
+ if use clang; then
+ local llvm_prefix
+ llvm_prefix="$(get_llvm_prefix -b)"
+ export CC="${llvm_prefix}/bin/clang"
+ export CXX="${llvm_prefix}/bin/clang++"
+ export LIBRARY_PATH="${ESYSROOT}/usr/$(get_libdir)"
+ else
+ cuda_set_CUDAHOSTCXX
+ mycmakeargs+=(
+ -DCUDA_HOST_COMPILER="${CUDAHOSTCXX}"
+ )
+ fi
+ if [[ "${CUDA_VERBOSE}" == true ]]; then
+ mycmakeargs+=(
+ -DCUDA_VERBOSE_BUILD=yes
+ )
+ NVCCFLAGS+=" -v"
+ fi
+
+ export CUDAFLAGS="${NVCCFLAGS}"
+
+ [[ -z "${CUDAARCHS}" ]] && einfo "trying to determine host CUDAARCHS"
+ : "${CUDAARCHS:=$(__nvcc_device_query)}"
+ export CUDAARCHS
+
+ mycmakeargs+=(
+ -DEIGEN_CUDA_COMPUTE_ARCH="${CUDAARCHS}"
+ )
+ fi
+ fi
+
+ cmake_src_configure
+}
+
+src_compile() {
+ local targets=()
+ if use doc; then
+ targets+=( doc )
+ HTML_DOCS=( "${BUILD_DIR}"/doc/html/. )
+ fi
+ if use test; then
+ targets+=( buildtests )
+ if ! use lapack; then
+ targets+=( blas )
+ fi
+ # tests generate random data, which
+ # obviously fails for some seeds
+ export EIGEN_SEED=712808
+ fi
+
+ if use doc || use test; then
+ cmake_src_compile "${targets[@]}"
+ fi
+}
+
+src_test() {
+ if use cuda ; then
+ cuda_add_sandbox -w
+ fi
+
+ local myctestargs=(
+ -j1 # otherwise breaks due to cmake reruns
+ )
+
+ cmake_src_test
+}
diff --git a/dev-cpp/eigen/eigen-9999.ebuild b/dev-cpp/eigen/eigen-9999.ebuild
new file mode 100644
index 000000000000..219f6dba7d1c
--- /dev/null
+++ b/dev-cpp/eigen/eigen-9999.ebuild
@@ -0,0 +1,428 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+FORTRAN_NEEDED="test"
+inherit cmake cuda fortran-2 llvm toolchain-funcs
+
+DESCRIPTION="C++ template library for linear algebra"
+HOMEPAGE="https://eigen.tuxfamily.org/index.php?title=Main_Page"
+
+if [[ ${PV} = *9999* ]] ; then
+ inherit git-r3
+ EGIT_REPO_URI="https://gitlab.com/lib${PN}/${PN}.git"
+ if [[ ${PV} = 3.4.9999* ]] ; then
+ EGIT_COMMIT="3.4"
+ fi
+else
+ SRC_URI="
+ https://gitlab.com/lib${PN}/${PN}/-/archive/${PV}/${P}.tar.bz2
+ test? ( lapack? ( https://downloads.tuxfamily.org/${PN}/lapack_addons_3.4.1.tgz -> ${PN}-lapack_addons-3.4.1.tgz ) )
+ "
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~x64-macos"
+fi
+
+LICENSE="MPL-2.0"
+SLOT="3"
+
+# The following lines are shamelessly stolen from ffmpeg-9999.ebuild with modifications
+ARM_CPU_FEATURES=(
+ neon:NEON
+)
+PPC_CPU_FEATURES=(
+ altivec:ALTIVEC
+ vsx:VSX
+)
+X86_CPU_FEATURES=(
+ avx:AVX
+ avx2:AVX2
+ avx512f:AVX512
+ avx512dq:AVX512DQ
+ f16c:FP16C
+ fma3:FMA
+ popcnt:POPCNT
+ sse:SSE
+ sse2:SSE2
+ sse3:SSE3
+ ssse3:SSSE3
+ sse4_1:SSE4_1
+ sse4_2:SSE4_2
+)
+# MIPS_CPU_FEATURES=(
+# msa:MSA
+# )
+# S390_CPU_FEATURES=(
+# z13:Z13
+# z14:Z14
+# )
+
+CPU_FEATURES_MAP=(
+ "${ARM_CPU_FEATURES[@]/#/cpu_flags_arm_}"
+ "${PPC_CPU_FEATURES[@]/#/cpu_flags_ppc_}"
+ "${X86_CPU_FEATURES[@]/#/cpu_flags_x86_}"
+ # "${MIPS_CPU_FEATURES[@]/#/cpu_flags_mips_}"
+ # "${S390_CPU_FEATURES[@]/#/cpu_flags_s390_}"
+)
+
+IUSE_TEST_BACKENDS=(
+ "adolc"
+ "boost"
+ "cholmod"
+ "fftw"
+ "klu"
+ "opengl"
+ "openmp"
+ "pastix"
+ "sparsehash"
+ "spqr"
+ "superlu"
+ "umfpack"
+)
+
+IUSE="benchmark ${CPU_FEATURES_MAP[*]%:*} clang cuda hip debug doc lapack mathjax test ${IUSE_TEST_BACKENDS[*]}" #zvector
+
+# Tests failing again because of compiler issues
+RESTRICT="!test? ( test )"
+
+BDEPEND="
+ doc? (
+ app-text/doxygen[dot]
+ dev-texlive/texlive-bibtexextra
+ dev-texlive/texlive-fontsextra
+ dev-texlive/texlive-fontutils
+ dev-texlive/texlive-latex
+ dev-texlive/texlive-latexextra
+ mathjax? ( dev-libs/mathjax )
+ )
+ test? ( virtual/pkgconfig )
+"
+
+# METIS
+# MPREAL
+# dev-libs/mpfr:0
+# dev-libs/gmp:0
+
+TEST_BACKENDS="
+ boost? ( dev-libs/boost )
+ adolc? ( sci-libs/adolc[sparse] )
+ cholmod? ( sci-libs/cholmod:= )
+ fftw? ( sci-libs/fftw )
+ spqr? ( sci-libs/spqr )
+ klu? ( sci-libs/klu )
+ opengl? (
+ media-libs/freeglut
+ media-libs/glew
+ media-libs/libglvnd
+ )
+ pastix? ( sci-libs/pastix[-mpi] )
+ sparsehash? (
+ amd64? ( dev-cpp/sparsehash )
+ arm64? ( dev-cpp/sparsehash )
+ ppc64? ( dev-cpp/sparsehash )
+ x86? ( dev-cpp/sparsehash )
+ )
+ superlu? ( sci-libs/superlu )
+ umfpack? ( sci-libs/umfpack )
+"
+DEPEND="
+ test? (
+ cuda? (
+ !clang? (
+ dev-util/nvidia-cuda-toolkit
+ )
+ clang? (
+ sys-devel/clang[llvm_targets_NVPTX]
+ openmp? ( sys-libs/libomp[llvm_targets_NVPTX,offload] )
+ )
+ )
+ hip? ( dev-util/hip )
+ lapack? ( virtual/lapacke )
+ ${TEST_BACKENDS}
+ )
+"
+
+REQUIRED_USE="
+ || ( ${IUSE_TEST_BACKENDS[*]} )
+"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-3.4.0-doc-nocompress.patch" # bug 830064
+ "${FILESDIR}/${PN}-3.4.0-buildstring.patch"
+ "${FILESDIR}/${PN}-9999-please_protect_your_min_with_parentheses.patch"
+)
+
+# TODO should be in cuda.eclass
+cuda_set_CUDAHOSTCXX() {
+ local compiler
+ tc-is-gcc && compiler="gcc"
+ tc-is-clang && compiler="clang"
+ [[ -z "$compiler" ]] && die "no compiler specified"
+
+ local package="sys-devel/${compiler}"
+ local version="${package}"
+ local CUDAHOSTCXX_test
+ while
+ CUDAHOSTCXX="${CUDAHOSTCXX_test}"
+ version=$(best_version "${version}")
+ if [[ -z "${version}" ]]; then
+ if [[ -z "${CUDAHOSTCXX}" ]]; then
+ die "could not find supported version of ${package}"
+ fi
+ break
+ fi
+ CUDAHOSTCXX_test="$(
+ dirname "$(
+ realpath "$(
+ which "${compiler}-$(echo "${version}" | grep -oP "(?<=${package}-)[0-9]*")"
+ )"
+ )"
+ )"
+ version="<${version}"
+ do ! echo "int main(){}" | nvcc "-ccbin ${CUDAHOSTCXX_test}" - -x cu &>/dev/null; done
+
+ export CUDAHOSTCXX
+}
+
+pkg_setup() {
+ use test && use cuda && use clang && llvm_pkg_setup
+}
+
+src_unpack() {
+ if [[ ${PV} = *9999* ]] ; then
+ git-r3_src_unpack
+ else
+ unpack "${P}.tar.bz2"
+
+ if use test && use lapack; then
+ cd "${S}/lapack" || die
+ unpack "${PN}-lapack_addons-3.4.1.tgz"
+ fi
+ fi
+}
+
+src_prepare() {
+ cmake_src_prepare
+
+ sed \
+ -e "/add_subdirectory(bench\/spbench/s/^/#DONOTCOMPILE /g" \
+ -e "/add_subdirectory(demos/s/^/#DONOTCOMPILE /g" \
+ -i CMakeLists.txt || die
+
+ if ! use test; then
+ sed \
+ -e "/add_subdirectory(test/s/^/#DONOTCOMPILE /g" \
+ -e "/add_subdirectory(scripts/s/^/#DONOTCOMPILE /g" \
+ -e "/add_subdirectory(failtest/s/^/#DONOTCOMPILE /g" \
+ -e "/add_subdirectory(blas/s/^/#DONOTCOMPILE /g" \
+ -e "/add_subdirectory(lapack/s/^/#DONOTCOMPILE /g" \
+ -i CMakeLists.txt || die
+ fi
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DBUILD_SHARED_LIBS="yes"
+ -DBUILD_TESTING="$(usex test)"
+
+ -DEIGEN_BUILD_BTL="$(usex benchmark)" # Build benchmark suite
+ -DEIGEN_BUILD_DOC="$(usex doc)" # Enable creation of Eigen documentation
+ -DEIGEN_BUILD_PKGCONFIG="yes" # Build pkg-config .pc file for Eigen
+ )
+ if use doc || use test; then
+ mycmakeargs+=(
+ # needs Qt4
+ -DEIGEN_TEST_NOQT="yes" # Disable Qt support in unit tests
+ )
+ fi
+
+ if use doc; then
+ mycmakeargs+=(
+ -DEIGEN_DOC_USE_MATHJAX="$(usex mathjax)" # Use MathJax for rendering math in HTML docs
+ -DEIGEN_INTERNAL_DOCUMENTATION=no # Build internal documentation
+ )
+ fi
+
+ if use test; then
+ mycmakeargs+=(
+ # the OpenGL testsuite is extremely brittle, bug #712808
+ -DOpenGL_GL_PREFERENCE="GLVND"
+ -DEIGEN_TEST_OPENGL="$(usex opengl)" # Enable OpenGL support in unit tests
+ -DEIGEN_TEST_OPENMP="$(usex openmp)" # Enable/Disable OpenMP in tests/examples
+
+ -DCMAKE_DISABLE_FIND_PACKAGE_MPREAL=ON
+
+ # -DEIGEN_TEST_CUSTOM_CXX_FLAGS= # Additional compiler flags when compiling unit tests.
+ # -DEIGEN_TEST_CUSTOM_LINKER_FLAGS= # Additional linker flags when linking unit tests.
+ # -DEIGEN_TEST_BUILD_FLAGS= # Options passed to the build command of unit tests
+
+ # -DEIGEN_BUILD_BTL=yes # Build benchmark suite
+
+ -DEIGEN_TEST_BUILD_DOCUMENTATION="$(usex doc)" # Test building the doxygen documentation
+
+ # -DEIGEN_COVERAGE_TESTING=no # Enable/disable gcov
+ # -DEIGEN_CTEST_ERROR_EXCEPTION= # Regular expression for build error messages to be filtered out
+ # -DEIGEN_DEBUG_ASSERTS=no # Enable advanced debugging of assertions
+ # -DEIGEN_NO_ASSERTION_CHECKING=no # Disable checking of assertions using exceptions
+ # -DEIGEN_TEST_NO_EXCEPTIONS=no # Disables C++ exceptions
+ # -DEIGEN_TEST_NO_EXPLICIT_ALIGNMENT=no # Disable explicit alignment (hence vectorization) in tests/examples
+ # -DEIGEN_TEST_NO_EXPLICIT_VECTORIZATION=no # Disable explicit vectorization in tests/examples
+
+ # -DEIGEN_DASHBOARD_BUILD_TARGET=buildtests # Target to be built in dashboard mode, default is buildtests
+
+ # -DEIGEN_DEFAULT_TO_ROW_MAJOR=no # Use row-major as default matrix storage order
+
+ # -DEIGEN_TEST_MATRIX_DIR=yes # Enable testing of realword sparse matrices contained in the specified path
+ # -DEIGEN_TEST_MAX_SIZE=320 # Maximal matrix/vector size, default is 320
+ # -DEIGEN_SPLIT_LARGE_TESTS=no # Split large tests into smaller executables
+ )
+
+ use !adolc && mycmakeargs+=( -DCMAKE_DISABLE_FIND_PACKAGE_Adolc="TRUE" )
+ use !boost && mycmakeargs+=( -DCMAKE_DISABLE_FIND_PACKAGE_Boost="TRUE" )
+ use !cholmod && mycmakeargs+=( -DCMAKE_DISABLE_FIND_PACKAGE_CHOLMOD="TRUE" )
+ use !fftw && mycmakeargs+=( -DCMAKE_DISABLE_FIND_PACKAGE_FFTW="TRUE" )
+ use !sparsehash && mycmakeargs+=( -DCMAKE_DISABLE_FIND_PACKAGE_GoogleHash="TRUE" )
+ use !klu && mycmakeargs+=( -DCMAKE_DISABLE_FIND_PACKAGE_KLU="TRUE" )
+ use !opengl && mycmakeargs+=( -DCMAKE_DISABLE_FIND_PACKAGE_OpenGL="TRUE" )
+ use !openmp && mycmakeargs+=( -DCMAKE_DISABLE_FIND_PACKAGE_OpenMP="TRUE" )
+ use !pastix && mycmakeargs+=( -DCMAKE_DISABLE_FIND_PACKAGE_PASTIX="TRUE" )
+ use !spqr && mycmakeargs+=( -DCMAKE_DISABLE_FIND_PACKAGE_SPQR="TRUE" )
+ use !superlu && mycmakeargs+=( -DCMAKE_DISABLE_FIND_PACKAGE_SuperLU="TRUE" )
+ use !umfpack && mycmakeargs+=( -DCMAKE_DISABLE_FIND_PACKAGE_UMFPACK="TRUE" )
+
+ if use lapack; then
+ mycmakeargs+=(
+ -DEIGEN_ENABLE_LAPACK_TESTS=yes
+ -DEIGEN_TEST_EXTERNAL_BLAS=yes # Use external BLAS library for testsuite
+ -DCMAKE_DISABLE_FIND_PACKAGE_SuperLU=ON
+ )
+ fi
+
+ if use arm; then
+ mycmakeargs+=(
+ -DEIGEN_TEST_NEON="$(usex cpu_flags_arm_neon)"
+ )
+ fi
+
+ if use arm64; then
+ mycmakeargs+=(
+ -DEIGEN_TEST_NEON64="$(usex cpu_flags_arm_neon)"
+ )
+ fi
+
+ if use ppc || use ppc64; then
+ mycmakeargs+=(
+ -DEIGEN_TEST_ALTIVEC="$(usex cpu_flags_ppc_altivec)"
+ -DEIGEN_TEST_VSX="$(usex cpu_flags_ppc_vsx)"
+ )
+ fi
+
+ if use amd64 || use x86; then
+ mycmakeargs+=(
+ # -DEIGEN_TEST_32BIT=no # Force generating 32bit code.
+ # -DEIGEN_TEST_X87=no # Force using X87 instructions. Implies no vectorization.
+ -DEIGEN_TEST_SSE2="$(usex cpu_flags_x86_sse2)"
+ -DEIGEN_TEST_SSE3="$(usex cpu_flags_x86_sse3)"
+ -DEIGEN_TEST_SSSE3="$(usex cpu_flags_x86_ssse3)"
+ -DEIGEN_TEST_FMA="$(usex cpu_flags_x86_fma3)"
+ -DEIGEN_TEST_SSE4_1="$(usex cpu_flags_x86_sse4_1)"
+ -DEIGEN_TEST_SSE4_2="$(usex cpu_flags_x86_sse4_2)"
+ -DEIGEN_TEST_AVX="$(usex cpu_flags_x86_avx)"
+ -DEIGEN_TEST_F16C="$(usex cpu_flags_x86_f16c)"
+ -DEIGEN_TEST_AVX2="$(usex cpu_flags_x86_avx2)"
+ -DEIGEN_TEST_AVX512="$(usex cpu_flags_x86_avx512f)"
+ -DEIGEN_TEST_AVX512DQ="$(usex cpu_flags_x86_avx512dq)"
+ )
+ fi
+
+ if use mips; then
+ mycmakeargs+=(
+ # -DEIGEN_TEST_MSA=no # Enable/Disable MSA in tests/examples
+ )
+ fi
+
+ if use s390; then
+ mycmakeargs+=(
+ # -DEIGEN_TEST_Z13=no # Enable/Disable S390X(zEC13) ZVECTOR in tests/examples
+ # -DEIGEN_TEST_Z14=no # Enable/Disable S390X(zEC14) ZVECTOR in tests/examples
+ )
+ fi
+
+ mycmakeargs+=(
+ -DEIGEN_TEST_CUDA="$(usex cuda)" # Enable CUDA support in unit tests
+ -DEIGEN_TEST_CUDA_CLANG="$(usex cuda "$(usex clang)")" # Use clang instead of nvcc to compile the CUDA tests
+
+ -DEIGEN_TEST_HIP="$(usex hip)" # Add HIP support.
+
+ # -DEIGEN_TEST_SYCL=no # Add Sycl support.
+ # -DEIGEN_SYCL_TRISYCL=no # Use the triSYCL Sycl implementation (ComputeCPP by default).
+ )
+
+ if use cuda; then
+ cuda_add_sandbox -w
+ if use clang; then
+ local llvm_prefix
+ llvm_prefix="$(get_llvm_prefix -b)"
+ export CC="${llvm_prefix}/bin/clang"
+ export CXX="${llvm_prefix}/bin/clang++"
+ export LIBRARY_PATH="${ESYSROOT}/usr/$(get_libdir)"
+ else
+ cuda_set_CUDAHOSTCXX
+ mycmakeargs+=(
+ -DCUDA_HOST_COMPILER="${CUDAHOSTCXX}"
+ )
+ fi
+ if [[ "${CUDA_VERBOSE}" == true ]]; then
+ mycmakeargs+=(
+ -DCUDA_VERBOSE_BUILD=yes
+ )
+ NVCCFLAGS+=" -v"
+ fi
+
+ export CUDAFLAGS="${NVCCFLAGS}"
+
+ [[ -z "${CUDAARCHS}" ]] && einfo "trying to determine host CUDAARCHS"
+ : "${CUDAARCHS:=$(__nvcc_device_query)}"
+ export CUDAARCHS
+
+ mycmakeargs+=(
+ -DEIGEN_CUDA_COMPUTE_ARCH="${CUDAARCHS}"
+ )
+ fi
+ fi
+
+ cmake_src_configure
+}
+
+src_compile() {
+ local targets=()
+ if use doc; then
+ targets+=( doc )
+ HTML_DOCS=( "${BUILD_DIR}"/doc/html/. )
+ fi
+ if use test; then
+ targets+=( buildtests )
+ # if ! use lapack; then
+ # targets+=( blas )
+ # fi
+ # tests generate random data, which
+ # obviously fails for some seeds
+ export EIGEN_SEED=712808
+ fi
+
+ if use doc || use test; then
+ cmake_src_compile "${targets[@]}"
+ fi
+}
+
+src_test() {
+ if use cuda ; then
+ cuda_add_sandbox -w
+ fi
+
+ local myctestargs=(
+ -j1 # otherwise breaks due to cmake reruns
+ )
+
+ cmake_src_test
+}
diff --git a/dev-cpp/eigen/files/eigen-3.4.0-buildstring.patch b/dev-cpp/eigen/files/eigen-3.4.0-buildstring.patch
new file mode 100644
index 000000000000..cb3671dc0100
--- /dev/null
+++ b/dev-cpp/eigen/files/eigen-3.4.0-buildstring.patch
@@ -0,0 +1,27 @@
+--- a/cmake/EigenTesting.cmake
++++ b/cmake/EigenTesting.cmake
+@@ -559,14 +559,22 @@ macro(ei_get_cxxflags VAR)
+ set(${VAR} VSX)
+ elseif(EIGEN_TEST_ALTIVEC)
+ set(${VAR} ALVEC)
+- elseif(EIGEN_TEST_FMA)
+- set(${VAR} FMA)
++ elseif(EIGEN_TEST_AVX512DQ)
++ set(${VAR} AVX512DQ)
++ elseif(EIGEN_TEST_AVX512)
++ set(${VAR} AVX512)
++ elseif(EIGEN_TEST_AVX2)
++ set(${VAR} AVX2)
++ elseif(EIGEN_TEST_F16C)
++ set(${VAR} F16C)
+ elseif(EIGEN_TEST_AVX)
+ set(${VAR} AVX)
+ elseif(EIGEN_TEST_SSE4_2)
+ set(${VAR} SSE42)
+ elseif(EIGEN_TEST_SSE4_1)
+ set(${VAR} SSE41)
++ elseif(EIGEN_TEST_FMA)
++ set(${VAR} FMA)
+ elseif(EIGEN_TEST_SSSE3)
+ set(${VAR} SSSE3)
+ elseif(EIGEN_TEST_SSE3)
diff --git a/dev-cpp/eigen/files/eigen-3.4.0-cxxstandard.patch b/dev-cpp/eigen/files/eigen-3.4.0-cxxstandard.patch
new file mode 100644
index 000000000000..826aa78d05aa
--- /dev/null
+++ b/dev-cpp/eigen/files/eigen-3.4.0-cxxstandard.patch
@@ -0,0 +1,108 @@
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -74,19 +74,9 @@ macro(ei_add_cxx_compiler_flag FLAG)
+ endif()
+ endmacro()
+
+-check_cxx_compiler_flag("-std=c++11" EIGEN_COMPILER_SUPPORT_CPP11)
+-
+-if(EIGEN_TEST_CXX11)
+- set(CMAKE_CXX_STANDARD 11)
+- set(CMAKE_CXX_EXTENSIONS OFF)
+- if(EIGEN_COMPILER_SUPPORT_CPP11)
+- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
+- endif()
+-else()
+- #set(CMAKE_CXX_STANDARD 03)
+- #set(CMAKE_CXX_EXTENSIONS OFF)
+- ei_add_cxx_compiler_flag("-std=c++03")
+-endif()
++set(CMAKE_CXX_STANDARD 14)
++set(CMAKE_CXX_STANDARD_REQUIRED TRUE)
++set(CMAKE_CXX_EXTENSIONS OFF)
+
+ # Determine if we should build shared libraries on this platform.
+ get_cmake_property(EIGEN_BUILD_SHARED_LIBS TARGET_SUPPORTS_SHARED_LIBS)
+@@ -157,7 +157,6 @@ if(NOT MSVC)
+ ei_add_cxx_compiler_flag("-Wshorten-64-to-32")
+ ei_add_cxx_compiler_flag("-Wlogical-op")
+ ei_add_cxx_compiler_flag("-Wenum-conversion")
+- ei_add_cxx_compiler_flag("-Wc++11-extensions")
+ ei_add_cxx_compiler_flag("-Wdouble-promotion")
+ # ei_add_cxx_compiler_flag("-Wconversion")
+
+--- a/Eigen/src/Core/util/Macros.h
++++ b/Eigen/src/Core/util/Macros.h
+@@ -37,7 +37,7 @@
+ // Expected values are 03, 11, 14, 17, etc.
+ // By default, let's use an arbitrarily large C++ version.
+ #ifndef EIGEN_MAX_CPP_VER
+-#define EIGEN_MAX_CPP_VER 99
++#define EIGEN_MAX_CPP_VER 14
+ #endif
+
+ /** Allows to disable some optimizations which might affect the accuracy of the result.
+--- a/doc/examples/CMakeLists.txt
++++ b/doc/examples/CMakeLists.txt
+@@ -14,7 +14,3 @@ foreach(example_src ${examples_SRCS})
+ )
+ add_dependencies(all_examples ${example})
+ endforeach()
+-
+-if(EIGEN_COMPILER_SUPPORT_CPP11)
+-ei_add_target_property(nullary_indexing COMPILE_FLAGS "-std=c++11")
+-endif()
+\ No newline at end of file
+diff --git a/doc/snippets/CMakeLists.txt b/doc/snippets/CMakeLists.txt
+index 65f195a..4cb18c8 100644
+--- a/doc/snippets/CMakeLists.txt
++++ b/doc/snippets/CMakeLists.txt
+@@ -15,9 +15,6 @@ foreach(snippet_src ${snippets_SRCS})
+ if(EIGEN_STANDARD_LIBRARIES_TO_LINK_TO)
+ target_link_libraries(${compile_snippet_target} ${EIGEN_STANDARD_LIBRARIES_TO_LINK_TO})
+ endif()
+- if(${snippet_src} MATCHES "cxx11")
+- set_target_properties(${compile_snippet_target} PROPERTIES COMPILE_FLAGS "-std=c++11")
+- endif()
+ if(${snippet_src} MATCHES "deprecated")
+ set_target_properties(${compile_snippet_target} PROPERTIES COMPILE_FLAGS "-DEIGEN_NO_DEPRECATED_WARNING")
+ endif()
+--- a/test/CMakeLists.txt
++++ b/test/CMakeLists.txt
+@@ -399,7 +399,6 @@ if(CUDA_FOUND)
+ set(CUDA_NVCC_FLAGS "-ccbin ${CMAKE_C_COMPILER}" CACHE STRING "nvcc flags" FORCE)
+ endif()
+ if(EIGEN_TEST_CUDA_CLANG)
+- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
+ string(APPEND CMAKE_CXX_FLAGS " --cuda-path=${CUDA_TOOLKIT_ROOT_DIR}")
+ foreach(GPU IN LISTS EIGEN_CUDA_COMPUTE_ARCH)
+ string(APPEND CMAKE_CXX_FLAGS " --cuda-gpu-arch=sm_${GPU}")
+--- a/unsupported/test/CMakeLists.txt
++++ b/unsupported/test/CMakeLists.txt
+@@ -59,7 +59,7 @@ find_package(MPREAL)
+ if(MPREAL_FOUND AND EIGEN_COMPILER_SUPPORT_CPP11)
+ ei_add_property(EIGEN_TESTED_BACKENDS "MPFR C++, ")
+ include_directories(${MPREAL_INCLUDES})
+- ei_add_test(mpreal_support "-std=c++11" "${MPREAL_LIBRARIES}" )
++ ei_add_test(mpreal_support "-std=c++14" "${MPREAL_LIBRARIES}" )
+ else()
+ ei_add_property(EIGEN_MISSING_BACKENDS "MPFR C++, ")
+ endif()
+@@ -308,7 +308,6 @@ if(CUDA_FOUND AND EIGEN_TEST_CUDA)
+ set(CUDA_NVCC_FLAGS "-ccbin ${CMAKE_C_COMPILER}" CACHE STRING "nvcc flags" FORCE)
+ endif()
+ if(EIGEN_TEST_CUDA_CLANG)
+- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
+ string(APPEND CMAKE_CXX_FLAGS " --cuda-path=${CUDA_TOOLKIT_ROOT_DIR}")
+ foreach(ARCH IN LISTS EIGEN_CUDA_COMPUTE_ARCH)
+ string(APPEND CMAKE_CXX_FLAGS " --cuda-gpu-arch=sm_${ARCH}")
+--- a/doc/special_examples/CMakeLists.txt
++++ b/doc/special_examples/CMakeLists.txt
+@@ -23,7 +23,6 @@ if(EIGEN_COMPILER_SUPPORT_CPP11)
+ add_executable(random_cpp11 random_cpp11.cpp)
+ target_link_libraries(random_cpp11 ${EIGEN_STANDARD_LIBRARIES_TO_LINK_TO})
+ add_dependencies(all_examples random_cpp11)
+- ei_add_target_property(random_cpp11 COMPILE_FLAGS "-std=c++11")
+
+ add_custom_command(
+ TARGET random_cpp11
diff --git a/dev-cpp/eigen/files/eigen-3.4.0-doc-nocompress.patch b/dev-cpp/eigen/files/eigen-3.4.0-doc-nocompress.patch
new file mode 100644
index 000000000000..b9c252ebb09c
--- /dev/null
+++ b/dev-cpp/eigen/files/eigen-3.4.0-doc-nocompress.patch
@@ -0,0 +1,15 @@
+--- a/doc/CMakeLists.txt
++++ b/doc/CMakeLists.txt
+@@ -112,11 +112,7 @@
+ COMMAND doxygen
+ COMMAND doxygen Doxyfile-unsupported
+ COMMAND ${CMAKE_COMMAND} -E copy ${Eigen_BINARY_DIR}/doc/html/group__TopicUnalignedArrayAssert.html ${Eigen_BINARY_DIR}/doc/html/TopicUnalignedArrayAssert.html
+- COMMAND ${CMAKE_COMMAND} -E rename html eigen-doc
+- COMMAND ${CMAKE_COMMAND} -E remove eigen-doc/eigen-doc.tgz eigen-doc/unsupported/_formulas.log eigen-doc/_formulas.log
+- COMMAND ${CMAKE_COMMAND} -E tar cfz eigen-doc.tgz eigen-doc
+- COMMAND ${CMAKE_COMMAND} -E rename eigen-doc.tgz eigen-doc/eigen-doc.tgz
+- COMMAND ${CMAKE_COMMAND} -E rename eigen-doc html
++ COMMAND ${CMAKE_COMMAND} -E remove html/unsupported/_formulas.log html/_formulas.log
+ WORKING_DIRECTORY ${Eigen_BINARY_DIR}/doc)
+
+ add_dependencies(doc doc-eigen-prerequisites doc-unsupported-prerequisites)
diff --git a/dev-cpp/eigen/files/eigen-3.4.0-noansi.patch b/dev-cpp/eigen/files/eigen-3.4.0-noansi.patch
new file mode 100644
index 000000000000..c0ce44445c1d
--- /dev/null
+++ b/dev-cpp/eigen/files/eigen-3.4.0-noansi.patch
@@ -0,0 +1,18 @@
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -184,6 +184,7 @@ if(NOT MSVC)
+ ei_add_cxx_compiler_flag("-wd2304") # disable ICC's "warning #2304: non-explicit constructor with single argument may cause implicit type conversion" produced by -Wnon-virtual-dtor
+
+
++ if(NOT EIGEN_TEST_CXX11)
+ # The -ansi flag must be added last, otherwise it is also used as a linker flag by check_cxx_compiler_flag making it fails
+ # Moreover we should not set both -strict-ansi and -ansi
+ check_cxx_compiler_flag("-strict-ansi" COMPILER_SUPPORT_STRICTANSI)
+@@ -194,6 +195,7 @@ if(NOT MSVC)
+ else()
+ ei_add_cxx_compiler_flag("-ansi")
+ endif()
++ endif()
+
+ if(ANDROID_NDK)
+ ei_add_cxx_compiler_flag("-pie")
diff --git a/dev-cpp/eigen/files/eigen-9999-please_protect_your_min_with_parentheses.patch b/dev-cpp/eigen/files/eigen-9999-please_protect_your_min_with_parentheses.patch
new file mode 100644
index 000000000000..0453fd33a8ae
--- /dev/null
+++ b/dev-cpp/eigen/files/eigen-9999-please_protect_your_min_with_parentheses.patch
@@ -0,0 +1,54 @@
+diff --git a/test/main.h b/test/main.h
+index 771725f06..df22e12f6 100644
+--- a/test/main.h
++++ b/test/main.h
+@@ -86,32 +86,6 @@
+ #define EIGEN_DEFAULT_DENSE_INDEX_TYPE int
+ #endif
+
+-// To test that all calls from Eigen code to std::min() and std::max() are
+-// protected by parenthesis against macro expansion, the min()/max() macros
+-// are defined here and any not-parenthesized min/max call will cause a
+-// compiler error.
+-#if !defined(__HIPCC__) && !defined(EIGEN_USE_SYCL) && !defined(EIGEN_POCKETFFT_DEFAULT)
+-//
+-// HIP header files include the following files
+-// <thread>
+-// <regex>
+-// <unordered_map>
+-// which seem to contain not-parenthesized calls to "max"/"min", triggering the following check and causing the compile
+-// to fail
+-//
+-// Including those header files before the following macro definition for "min" / "max", only partially resolves the
+-// issue This is because other HIP header files also define "isnan" / "isinf" / "isfinite" functions, which are needed
+-// in other headers.
+-//
+-// So instead choosing to simply disable this check for HIP
+-//
+-#define min(A, B) please_protect_your_min_with_parentheses
+-#define max(A, B) please_protect_your_max_with_parentheses
+-#define isnan(X) please_protect_your_isnan_with_parentheses
+-#define isinf(X) please_protect_your_isinf_with_parentheses
+-#define isfinite(X) please_protect_your_isfinite_with_parentheses
+-#endif
+-
+ // test possible conflicts
+ struct real {};
+ struct imag {};
+diff --git a/test/main.h b/test/main.h
+index df22e12f6..5ca40424e 100644
+--- a/test/main.h
++++ b/test/main.h
+@@ -95,12 +95,6 @@ struct imag {};
+ #endif
+ #define M_PI please_use_EIGEN_PI_instead_of_M_PI
+
+-#define FORBIDDEN_IDENTIFIER \
+- (this_identifier_is_forbidden_to_avoid_clashes) this_identifier_is_forbidden_to_avoid_clashes
+-// B0 is defined in POSIX header termios.h
+-#define B0 FORBIDDEN_IDENTIFIER
+-#define I FORBIDDEN_IDENTIFIER
+-
+ // _res is defined by resolv.h
+ #define _res FORBIDDEN_IDENTIFIER
+
diff --git a/dev-cpp/eigen/metadata.xml b/dev-cpp/eigen/metadata.xml
index 36cfa77b9153..6a83729afd0b 100644
--- a/dev-cpp/eigen/metadata.xml
+++ b/dev-cpp/eigen/metadata.xml
@@ -17,7 +17,22 @@
providing optimal speed with GCC.
</longdescription>
<use>
- <flag name="cuda">Build with cuda support</flag>
+ <flag name="benchmark">Build benchmark suite</flag>
+ <flag name="clang">Use clang for cuda units compilation</flag>
+ <flag name="hip">Enable HIP GPU computing support</flag>
+ <flag name="adolc">Add test support for Adolc (<pkg>sci-libs/adolc</pkg>)</flag>
+ <flag name="boost">Add test support for Boost.Multiprecision (<pkg>dev-libs/boost</pkg>)</flag>
+ <flag name="cholmod">Add test support for CHOLMOD (<pkg>sci-libs/cholmod</pkg>)</flag>
+ <flag name="fftw">Add test support for fftw (<pkg>sci-libs/fftw</pkg>)</flag>
+ <flag name="klu">Add test support for KLU (<pkg>sci-libs/klu</pkg>)</flag>
+ <flag name="mathjax">Use MathJax for rendering math in HTML docs (dev-libs/mathjax)</flag>
+ <flag name="opengl">Add test support for OpenGL</flag>
+ <flag name="openmp">Add test support for the OpenMP (support parallel computing)</flag>
+ <flag name="pastix">Add test support for PaStiX (<pkg>sci-libs/pastix</pkg>)</flag>
+ <flag name="sparsehash">Add test support for GoogleHash (<pkg>dev-cpp/sparsehash</pkg>)</flag>
+ <flag name="spqr">Add test support for SPQR (<pkg>sci-libs/spqr</pkg>)</flag>
+ <flag name="superlu">Add test support for SuperLU (<pkg>sci-libs/superlu</pkg>)</flag>
+ <flag name="umfpack">Add test support for UMFPACK (<pkg>sci-libs/umfpack</pkg>)</flag>
</use>
<upstream>
<remote-id type="gitlab">libeigen/eigen</remote-id>
diff --git a/dev-cpp/elfio/Manifest b/dev-cpp/elfio/Manifest
new file mode 100644
index 000000000000..01708ff43ab6
--- /dev/null
+++ b/dev-cpp/elfio/Manifest
@@ -0,0 +1 @@
+DIST elfio-3.12.tar.gz 4150640 BLAKE2B aba7c4a9c254384b3babcf740883e45b8b531ecde3bc12f3cb811ac63c1469d0d53d9bb259120d92bacad7289d811429785a784667d4632c3acc49f2c3a475e4 SHA512 f5c8bc6cc98da845f6c011fc85b98476935c5d20d72b36bff5ad2472434494115ee7c06cfa37152c528e5931c39fe3cc084bfc8e6952b2c3e8f24b8601ae212f
diff --git a/dev-cpp/elfio/elfio-3.12.ebuild b/dev-cpp/elfio/elfio-3.12.ebuild
new file mode 100644
index 000000000000..eb255680b9c4
--- /dev/null
+++ b/dev-cpp/elfio/elfio-3.12.ebuild
@@ -0,0 +1,38 @@
+# Copyright 2020-2023 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.12-gnuinstalldirs-docdir.patch
+)
+
+src_configure() {
+ local mycmakeargs=(
+ -DFETCHCONTENT_FULLY_DISCONNECTED=ON
+ -DELFIO_BUILD_TESTS=$(usex test)
+ )
+
+ cmake_src_configure
+}
+
+src_install() {
+ cmake_src_install
+
+ rm "${ED}"/usr/share/doc/${PF}/LICENSE.txt || die
+}
diff --git a/dev-cpp/elfio/files/elfio-3.12-gnuinstalldirs-docdir.patch b/dev-cpp/elfio/files/elfio-3.12-gnuinstalldirs-docdir.patch
new file mode 100644
index 000000000000..8895d65c8fa5
--- /dev/null
+++ b/dev-cpp/elfio/files/elfio-3.12-gnuinstalldirs-docdir.patch
@@ -0,0 +1,11 @@
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -143,7 +143,7 @@ if(IS_TOP_PROJECT)
+ set(CPACK_SOURCE_IGNORE_FILES "/.git/;/.github/;/.vscode/;/build;/.clang-format;/.gitignore;/.travis.yml;/doc/images/;/doc/site;/doc/elfio.docx;/examples/sudo_gdb.sh;/tests")
+
+ install(FILES ${CPACK_RESOURCE_FILE_README} ${CPACK_RESOURCE_FILE_LICENSE}
+- DESTINATION share/docs/${PROJECT_NAME})
++ DESTINATION ${CMAKE_INSTALL_DOCDIR})
+
+ include(CPack)
+ endif()
diff --git a/dev-cpp/rttr/metadata.xml b/dev-cpp/elfio/metadata.xml
index 59df1ad2e3c3..430dfaf9ea00 100644
--- a/dev-cpp/rttr/metadata.xml
+++ b/dev-cpp/elfio/metadata.xml
@@ -1,8 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <!-- maintainer-needed -->
+ <maintainer type="person">
+ <email>sam@gentoo.org</email>
+ <name>Sam James</name>
+ </maintainer>
<upstream>
- <remote-id type="github">rttrorg/rttr</remote-id>
+ <remote-id type="github">serge1/ELFIO</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-cpp/expected-lite/Manifest b/dev-cpp/expected-lite/Manifest
new file mode 100644
index 000000000000..fb7e7d57e588
--- /dev/null
+++ b/dev-cpp/expected-lite/Manifest
@@ -0,0 +1 @@
+DIST expected-lite-0.6.3.tar.gz 51878 BLAKE2B 7b9eb948d674d4fb4904c6deb4f2c8c2d578d73d8401dc386a49c5f09cc75c6fd70e0c6aa72cd1e1fb9d82cf55917c8a6d60868190ba063340eda4f3191ebc56 SHA512 d6a4f30f90494dda002ad27d227f17ce0201752178418d7dfada26441e853590d46816c88922e7d458dda68ad4414ddfe6b7fa4ed2a5854e4e3b22675b13f92a
diff --git a/dev-cpp/expected-lite/expected-lite-0.6.3.ebuild b/dev-cpp/expected-lite/expected-lite-0.6.3.ebuild
new file mode 100644
index 000000000000..c21d55efda0d
--- /dev/null
+++ b/dev-cpp/expected-lite/expected-lite-0.6.3.ebuild
@@ -0,0 +1,25 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+DESCRIPTION="Expected objects in C++11 and later in a single-file header-only library"
+HOMEPAGE="https://github.com/martinmoene/expected-lite"
+
+SRC_URI="https://github.com/martinmoene/expected-lite/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="Boost-1.0"
+SLOT="0"
+KEYWORDS="amd64 ~arm64 ~loong ~ppc64 ~riscv"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+src_configure() {
+ local mycmakeargs=(
+ -DEXPECTED_LITE_OPT_BUILD_TESTS=$(usex test)
+ )
+
+ cmake_src_configure
+}
diff --git a/dev-cpp/expected-lite/metadata.xml b/dev-cpp/expected-lite/metadata.xml
new file mode 100644
index 000000000000..5ae6bb2ec249
--- /dev/null
+++ b/dev-cpp/expected-lite/metadata.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person" proxied="yes">
+ <email>esteve.varela@gmail.com</email>
+ <name>Esteve Varela Colominas</name>
+ </maintainer>
+ <maintainer type="project" proxied="proxy">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">martinmoene/expected-lite</remote-id>
+ <bugs-to>https://github.com/martinmoene/expected-lite/issues</bugs-to>
+ <changelog>https://github.com/martinmoene/expected-lite/releases</changelog>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-cpp/folly/Manifest b/dev-cpp/folly/Manifest
new file mode 100644
index 000000000000..6516ea9b2298
--- /dev/null
+++ b/dev-cpp/folly/Manifest
@@ -0,0 +1 @@
+DIST folly-v2023.06.19.00.tar.gz 3850872 BLAKE2B 6332b6de28fd4a0c19b20c4b23fa7093bded940fb07de92ad9fa7f44b8347fb5e5543e5a57c32d2414f345b4f7b306eed806c5d48a871a06833c1d2a71a34584 SHA512 9189adddf59019787969c7edb27a3e57436c2dca772f3142cdbf66e3a69b398be7ae4f2c36a9576c7ad9c51fd3703555e2a7ad6ed1ddce4036f8760d8095d371
diff --git a/dev-cpp/folly/files/folly-2023.05.22.00-musl-fix.patch b/dev-cpp/folly/files/folly-2023.05.22.00-musl-fix.patch
new file mode 100644
index 000000000000..6f92db0a785a
--- /dev/null
+++ b/dev-cpp/folly/files/folly-2023.05.22.00-musl-fix.patch
@@ -0,0 +1,26 @@
+# Elf.cpp expects __ELF_NATIVE_CLASS to be defined at least for platforms
+# besides FreeBSD-based ones, and so it defines FOLLY_ELF_NATIVE_CLASS with it.
+# Without __ELF_NATIVE_CLASS (and apparently musl does not define it),
+# FOLLY_ELF_NATIVE_CLASS is also not defined so what was supposed to be
+# expanded to ELFCLASS32 or ELFCLASS64 ends up being
+# ELFCLASSFOLLY_ELF_NATIVE_CLASS.
+#
+# Please refer: https://github.com/facebook/folly/issues/1478
+#
+# Closes: https://bugs.gentoo.org/835744
+--- a/folly/experimental/symbolizer/Elf.cpp
++++ b/folly/experimental/symbolizer/Elf.cpp
+@@ -39,12 +39,10 @@
+
+ #if defined(__ELF_NATIVE_CLASS)
+ #define FOLLY_ELF_NATIVE_CLASS __ELF_NATIVE_CLASS
+-#elif defined(__FreeBSD__)
+-#if defined(__LP64__)
++#elif defined(__LP64__)
+ #define FOLLY_ELF_NATIVE_CLASS 64
+ #else
+ #define FOLLY_ELF_NATIVE_CLASS 32
+-#endif
+ #endif // __ELF_NATIVE_CLASS
+
+ namespace folly {
diff --git a/dev-cpp/folly/files/folly-2023.06.19.00-fmt.patch b/dev-cpp/folly/files/folly-2023.06.19.00-fmt.patch
new file mode 100644
index 000000000000..80e4a2fbf80a
--- /dev/null
+++ b/dev-cpp/folly/files/folly-2023.06.19.00-fmt.patch
@@ -0,0 +1,62 @@
+https://github.com/facebook/folly/commit/a65b35c03797c86969a7b0d9ec281935a21cfa18
+https://github.com/facebook/folly/pull/2022
+
+From a65b35c03797c86969a7b0d9ec281935a21cfa18 Mon Sep 17 00:00:00 2001
+From: Giuseppe Ottaviano <ott@meta.com>
+Date: Sun, 18 Jun 2023 00:40:43 -0700
+Subject: [PATCH] fmt/core.h is enough in Core.cpp
+
+Reviewed By: Orvid, luciang
+
+Differential Revision: D46788525
+
+fbshipit-source-id: 03da65f3499ca56b34baa4e75b2340bea36690f6
+---
+ folly/futures/detail/Core.cpp | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/folly/futures/detail/Core.cpp b/folly/futures/detail/Core.cpp
+index 26bd4afbffe..858229100f9 100644
+--- a/folly/futures/detail/Core.cpp
++++ b/folly/futures/detail/Core.cpp
+@@ -18,7 +18,7 @@
+
+ #include <new>
+
+-#include <fmt/format.h>
++#include <fmt/core.h>
+ #include <folly/lang/Assume.h>
+
+ namespace folly {
+
+From d783a64391c02b40d78dfc6be04932fa45c46b9a Mon Sep 17 00:00:00 2001
+From: Marcus Holland-Moritz <github@mhxnet.de>
+Date: Tue, 20 Jun 2023 11:59:42 +0200
+Subject: [PATCH] Fix libfmt errors from not finding enum formatter
+
+Recent versions of libfmt have become more strict and require
+`enum` types to be formattable:
+
+ static assertion failed due to requirement 'formattable': Cannot format an argument. To make type T formattable provide a formatter<T> specialization: https://fmt.dev/latest/api.html#udt
+
+This is a quick fix to simply use the underlying type.
+--- a/folly/futures/detail/Core.cpp
++++ b/folly/futures/detail/Core.cpp
+@@ -19,6 +19,7 @@
+ #include <new>
+
+ #include <fmt/core.h>
++#include <folly/Utility.h>
+ #include <folly/lang/Assume.h>
+
+ namespace folly {
+@@ -30,7 +31,7 @@ namespace {
+ template <class Enum>
+ void terminate_unexpected_state(fmt::string_view context, Enum state) {
+ terminate_with<std::logic_error>(
+- fmt::format("{} unexpected state: {}", context, state));
++ fmt::format("{} unexpected state: {}", context, to_underlying(state)));
+ }
+
+ } // namespace
+
diff --git a/dev-cpp/folly/folly-2023.06.19.00.ebuild b/dev-cpp/folly/folly-2023.06.19.00.ebuild
new file mode 100644
index 000000000000..ad39d6076e39
--- /dev/null
+++ b/dev-cpp/folly/folly-2023.06.19.00.ebuild
@@ -0,0 +1,91 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# These must be bumped together:
+# dev-cpp/edencommon
+# dev-cpp/folly
+# dev-util/watchman
+
+inherit cmake
+
+DESCRIPTION="An open-source C++ library developed and used at Facebook"
+HOMEPAGE="https://github.com/facebook/folly"
+SRC_URI="https://github.com/facebook/folly/releases/download/v${PV}/${PN}-v${PV}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0/${PV}"
+KEYWORDS="amd64 ~ppc64"
+IUSE="llvm-libunwind test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ app-arch/bzip2
+ app-arch/lz4:=
+ app-arch/snappy:=
+ app-arch/xz-utils
+ app-arch/zstd:=
+ dev-cpp/gflags:=
+ dev-cpp/glog:=[gflags]
+ dev-libs/boost:=[context]
+ dev-libs/double-conversion:=
+ dev-libs/libaio
+ dev-libs/libevent:=
+ dev-libs/libfmt:=
+ dev-libs/libsodium:=
+ dev-libs/openssl:=
+ >=sys-libs/liburing-2.3:=
+ sys-libs/zlib
+ llvm-libunwind? ( sys-libs/llvm-libunwind:= )
+ !llvm-libunwind? ( sys-libs/libunwind:= )
+"
+# libiberty is linked statically
+DEPEND="
+ ${RDEPEND}
+ sys-libs/binutils-libs
+ test? ( dev-cpp/gtest )
+"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-2023.05.22.00-musl-fix.patch
+ "${FILESDIR}"/${PN}-2023.06.19.00-fmt.patch
+)
+
+src_unpack() {
+ # Workaround for bug #889420
+ mkdir -p "${S}" || die
+ cd "${S}" || die
+ default
+}
+
+src_configure() {
+ # TODO: liburing could in theory be optional but fails to link
+ local mycmakeargs=(
+ -DLIB_INSTALL_DIR="$(get_libdir)"
+
+ -DBUILD_TESTS=$(usex test)
+
+ # https://github.com/gentoo/gentoo/pull/29393
+ -DCMAKE_LIBRARY_ARCHITECTURE=$(usex amd64 x86_64 ${ARCH})
+ )
+
+ cmake_src_configure
+}
+
+src_test() {
+ local myctestargs=(
+ # - timeseries_histogram_test.TimeseriesHistogram.Percentile|HHWheelTimerTest
+ # Long-standing known test failure
+ # TODO: report upstream
+ # - HHWheelTimerTest.HHWheelTimerTest.CancelTimeout
+ # Timeouts are fragile
+ # - concurrent_hash_map_test.*
+ # TODO: All SIGSEGV, report upstream!
+ # - ssl_errors_test.SSLErrorsTest.TestMessage
+ # Network...?
+ -E "(timeseries_histogram_test.TimeseriesHistogram.Percentile|HHWheelTimerTest.HHWheelTimerTest.CancelTimeout|concurrent_hash_map_test.*|ssl_errors_test.SSLErrorsTest.TestMessage)"
+ )
+
+ cmake_src_test
+}
diff --git a/dev-cpp/folly/metadata.xml b/dev-cpp/folly/metadata.xml
new file mode 100644
index 000000000000..a512b80f6fcb
--- /dev/null
+++ b/dev-cpp/folly/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>sam@gentoo.org</email>
+ <name>Sam James</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">facebook/folly</remote-id>
+ </upstream>
+</pkgmetadata>
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/gconfmm/Manifest b/dev-cpp/gconfmm/Manifest
deleted file mode 100644
index a78d8f8f629d..000000000000
--- a/dev-cpp/gconfmm/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST gconfmm-2.28.3.tar.bz2 471125 BLAKE2B 834d63ee91ee6849970ce612c387957607bb3e723afb06b0ee8dad0336ae81c3a4c40a81846d6abbb425b5f3f0cbad026189d563a814d8acd1010f3b1dbdfa93 SHA512 0fd3a43373dfdf514eca61537c19dafd4ad582d2ec6bb325652766fba90ed723feff6daf93effcdf20f917c573131d58c16f1a826194f653864a701bb8a57097
diff --git a/dev-cpp/gconfmm/files/gconfmm-2.28.3-no-extern-c-glib-includes.patch b/dev-cpp/gconfmm/files/gconfmm-2.28.3-no-extern-c-glib-includes.patch
deleted file mode 100644
index b05face5b0a0..000000000000
--- a/dev-cpp/gconfmm/files/gconfmm-2.28.3-no-extern-c-glib-includes.patch
+++ /dev/null
@@ -1,44 +0,0 @@
-diff -Naur gconfmm-2.28.3-original/gconf/gconfmm/callback.h gconfmm-2.28.3/gconf/gconfmm/callback.h
---- gconfmm-2.28.3-original/gconf/gconfmm/callback.h 2011-10-18 11:33:49.000000000 -0400
-+++ gconfmm-2.28.3/gconf/gconfmm/callback.h 2021-02-13 09:21:06.167235506 -0500
-@@ -22,10 +22,7 @@
- #ifndef GCONFMM_CALLBACK_H
- #define GCONFMM_CALLBACK_H
-
--extern "C"
--{
- #include <gconf/gconf-client.h>
--}
-
- #include <glibmm/object.h>
- #include <gconfmm/entry.h>
-diff -Naur gconfmm-2.28.3-original/gconf/gconfmm/schema.h gconfmm-2.28.3/gconf/gconfmm/schema.h
---- gconfmm-2.28.3-original/gconf/gconfmm/schema.h 2011-10-21 04:51:27.000000000 -0400
-+++ gconfmm-2.28.3/gconf/gconfmm/schema.h 2021-02-13 09:21:24.616354041 -0500
-@@ -31,10 +31,8 @@
- #include <gconfmm/value.h>
-
-
--extern "C" {
-- // TODO: do not include this.
-+// TODO: do not include this.
- #include <gconf/gconf-schema.h>
--}
-
- namespace Gnome
- {
-diff -Naur gconfmm-2.28.3-original/gconf/src/schema.hg gconfmm-2.28.3/gconf/src/schema.hg
---- gconfmm-2.28.3-original/gconf/src/schema.hg 2011-10-18 11:33:49.000000000 -0400
-+++ gconfmm-2.28.3/gconf/src/schema.hg 2021-02-13 09:21:58.002568546 -0500
-@@ -24,10 +24,8 @@
-
- _DEFS(gconfmm,gconf)
-
--extern "C" {
-- // TODO: do not include this.
-+// TODO: do not include this.
- #include <gconf/gconf-schema.h>
--}
-
- namespace Gnome
- {
diff --git a/dev-cpp/gconfmm/gconfmm-2.28.3-r1.ebuild b/dev-cpp/gconfmm/gconfmm-2.28.3-r1.ebuild
deleted file mode 100644
index 745c74a92947..000000000000
--- a/dev-cpp/gconfmm/gconfmm-2.28.3-r1.ebuild
+++ /dev/null
@@ -1,32 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-GNOME_TARBALL_SUFFIX="bz2"
-
-inherit flag-o-matic gnome2
-
-DESCRIPTION="C++ bindings for GConf"
-HOMEPAGE="https://www.gtkmm.org"
-
-LICENSE="LGPL-2.1"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm ~ia64 ppc ppc64 sparc x86"
-
-DEPEND="
- >=gnome-base/gconf-2.4:2
- >=dev-cpp/glibmm-2.12:2
- >=dev-cpp/gtkmm-2.4:2.4
-"
-RDEPEND="${DEPEND}"
-BDEPEND="virtual/pkgconfig"
-
-PATCHES=(
- "${FILESDIR}"/${P}-no-extern-c-glib-includes.patch
-)
-
-src_configure() {
- append-cxxflags -std=c++11 #568580
- gnome2_src_configure \
- --disable-documentation
-}
diff --git a/dev-cpp/gconfmm/metadata.xml b/dev-cpp/gconfmm/metadata.xml
deleted file mode 100644
index 7b343b06be8a..000000000000
--- a/dev-cpp/gconfmm/metadata.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
-<maintainer type="project">
- <email>gnome@gentoo.org</email>
- <name>Gentoo GNOME Desktop</name>
-</maintainer>
-</pkgmetadata>
diff --git a/dev-cpp/gemmlowp/Manifest b/dev-cpp/gemmlowp/Manifest
new file mode 100644
index 000000000000..02c0ffa3e692
--- /dev/null
+++ b/dev-cpp/gemmlowp/Manifest
@@ -0,0 +1 @@
+DIST gemmlowp-2021.12.20.tar.gz 842220 BLAKE2B 74139935c01683f894a2ee8bb6f5373a64b8346e5860addd9dcccd47ceffe8942509def3ed242fcd92021c7f82f2e8858313df12369257e2172143a14cec82ed SHA512 934bc79cc951dd18bff413148f3526332685bf0980ddcc0f990ba347bafcd73725e5ffd4bd255dcaa21f0fd71698d26726e2f9f36aa8df87380048041e536e20
diff --git a/dev-cpp/gemmlowp/gemmlowp-2021.12.20.ebuild b/dev-cpp/gemmlowp/gemmlowp-2021.12.20.ebuild
new file mode 100644
index 000000000000..e59802b35016
--- /dev/null
+++ b/dev-cpp/gemmlowp/gemmlowp-2021.12.20.ebuild
@@ -0,0 +1,28 @@
+# Copyright 2022-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+inherit cmake
+
+CommitId=e844ffd17118c1e17d94e1ba4354c075a4577b88
+DESCRIPTION="Low-precision matrix multiplication"
+HOMEPAGE="https://github.com/google/gemmlowp/"
+SRC_URI="https://github.com/google/${PN}/archive/${CommitId}.tar.gz
+ -> ${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="test"
+
+BDEPEND="test? ( dev-cpp/gtest )"
+RESTRICT="!test? ( test )"
+
+S="${WORKDIR}"/${PN}-${CommitId}/contrib
+
+src_configure() {
+ local mycmakeargs=(
+ -DBUILD_TESTING=$(usex test ON OFF)
+ )
+ cmake_src_configure
+}
diff --git a/dev-cpp/gemmlowp/metadata.xml b/dev-cpp/gemmlowp/metadata.xml
new file mode 100644
index 000000000000..13b16c5be808
--- /dev/null
+++ b/dev-cpp/gemmlowp/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>tupone@gentoo.org</email>
+ <name>Tupone Alfredo</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">google/gemmlowp</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-cpp/gflags/Manifest b/dev-cpp/gflags/Manifest
index fe205d2550f7..b945767f9e34 100644
--- a/dev-cpp/gflags/Manifest
+++ b/dev-cpp/gflags/Manifest
@@ -1,2 +1 @@
-DIST gflags-2.2.1.tar.gz 96985 BLAKE2B 065dac9cf5d878e4179cb6d56ddf240052a552b72036fd06cb83197d9772a9b97fa544f809c6e1efd6f9ad8cd0222872fc6292c44bc013c5f70e235bcc5b290c SHA512 e919cbdcff1f993ddbfa9c06d8e595566a4717c27ff62f388a64c0e6b4683a93211c24ce78485eae84c2c76053341574064e6c56af185fc2782e2816b26e1fc9
DIST gflags-2.2.2.tar.gz 98704 BLAKE2B 54cbf3b0a422d662e89c1921614ae9f20a4a383524d374d1e7ce1473eff0a6e121c1a2255df0b9d27ae9866c8e63094b908534c5fd2173737033cc0f184a5e4f SHA512 98c4703aab24e81fe551f7831ab797fb73d0f7dfc516addb34b9ff6d0914e5fd398207889b1ae555bac039537b1d4677067dae403b64903577078d99c1bdb447
diff --git a/dev-cpp/gflags/gflags-2.2.1-r1.ebuild b/dev-cpp/gflags/gflags-2.2.2-r1.ebuild
index bed6548a3d96..a841f16304c3 100644
--- a/dev-cpp/gflags/gflags-2.2.1-r1.ebuild
+++ b/dev-cpp/gflags/gflags-2.2.2-r1.ebuild
@@ -1,17 +1,16 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
-CMAKE_ECLASS=cmake
-inherit cmake-multilib
+inherit cmake-multilib flag-o-matic
-if [[ ${PV} == 9999 ]]; then
+if [[ ${PV} == *9999* ]]; then
inherit git-r3
EGIT_REPO_URI="https://github.com/gflags/gflags"
else
SRC_URI="https://github.com/gflags/gflags/archive/v${PV}.tar.gz -> ${P}.tar.gz"
- KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux"
+ KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux"
fi
DESCRIPTION="Google's C++ argument parsing library"
@@ -26,6 +25,8 @@ RESTRICT="!test? ( test )"
DOCS=( ChangeLog.txt README.md )
multilib_src_configure() {
+ append-lfs-flags
+
local mycmakeargs=(
-DBUILD_STATIC_LIBS=$(usex static-libs)
-DBUILD_TESTING=$(usex test)
diff --git a/dev-cpp/gflags/gflags-2.2.2.ebuild b/dev-cpp/gflags/gflags-2.2.2.ebuild
deleted file mode 100644
index 6f3c37e49634..000000000000
--- a/dev-cpp/gflags/gflags-2.2.2.ebuild
+++ /dev/null
@@ -1,37 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-CMAKE_ECLASS=cmake
-inherit cmake-multilib
-
-if [[ ${PV} == 9999 ]]; then
- inherit git-r3
- EGIT_REPO_URI="https://github.com/gflags/gflags"
-else
- SRC_URI="https://github.com/gflags/gflags/archive/v${PV}.tar.gz -> ${P}.tar.gz"
- KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux"
-fi
-
-DESCRIPTION="Google's C++ argument parsing library"
-HOMEPAGE="https://gflags.github.io/gflags/"
-
-LICENSE="BSD"
-SLOT="0/2.2"
-IUSE="static-libs test"
-RESTRICT="!test? ( test )"
-
-# AUTHORS.txt only links the google group
-DOCS=( ChangeLog.txt README.md )
-
-multilib_src_configure() {
- local mycmakeargs=(
- -DBUILD_STATIC_LIBS=$(usex static-libs)
- -DBUILD_TESTING=$(usex test)
- # avoid installing .cmake/packages, e.g.:
- # >>> /tmp/portage/dev-cpp/gflags-9999/homedir/.cmake/packages/gflags/a7fca4708532331c2d656af0fdc8b8b9
- -DREGISTER_INSTALL_PREFIX=OFF
- )
- cmake_src_configure
-}
diff --git a/dev-cpp/gflags/gflags-9999.ebuild b/dev-cpp/gflags/gflags-9999.ebuild
index 6aa92ecf5e55..a6c7626265c0 100644
--- a/dev-cpp/gflags/gflags-9999.ebuild
+++ b/dev-cpp/gflags/gflags-9999.ebuild
@@ -1,17 +1,16 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
-CMAKE_ECLASS=cmake
-inherit cmake-multilib
+inherit cmake-multilib flag-o-matic
-if [[ ${PV} == 9999 ]]; then
+if [[ ${PV} == *9999* ]]; then
inherit git-r3
EGIT_REPO_URI="https://github.com/gflags/gflags"
else
SRC_URI="https://github.com/gflags/gflags/archive/v${PV}.tar.gz -> ${P}.tar.gz"
- KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux"
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux"
fi
DESCRIPTION="Google's C++ argument parsing library"
@@ -26,6 +25,8 @@ RESTRICT="!test? ( test )"
DOCS=( ChangeLog.txt README.md )
multilib_src_configure() {
+ append-lfs-flags
+
local mycmakeargs=(
-DBUILD_STATIC_LIBS=$(usex static-libs)
-DBUILD_TESTING=$(usex test)
diff --git a/dev-cpp/glibmm/Manifest b/dev-cpp/glibmm/Manifest
index d18072c4450e..781307ad8988 100644
--- a/dev-cpp/glibmm/Manifest
+++ b/dev-cpp/glibmm/Manifest
@@ -1,2 +1,2 @@
-DIST glibmm-2.66.1.tar.xz 7509820 BLAKE2B 4750940093cadbae7c32d387ac8b16c8230eb08ed1645e457edfa27542a2e8a01d70de08bb41d1872dd1f03d1506bfaefc2af582250ca64ad480ce5f98f20d56 SHA512 caf57c2c9d163fff45041c33ed70d2692040d7bea44660d68e8c16a76be2609e0f857a5e16ad5220a0ec681a560c864dc86c2988a2c40741b4f29c9fe5b7d8b9
-DIST glibmm-2.68.1.tar.xz 7657712 BLAKE2B a8141e53f89c981a9916d5f71dfd8c6d08e45a653b98c507acaadfefbedf2f22e8130a722f3398f5e0dff8196ffc8efa6567ebb2c8290f7373e34377e281db18 SHA512 ca164f986da651e66bb5b98a760853e73d57ff84e035809d4c3b2c0a1b6ddf8ca68ffc49a71d0e0b2e14eca1c00e2e727e3bf3821e0b2b3a808397c3d33c6d5c
+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.1.ebuild b/dev-cpp/glibmm/glibmm-2.66.7.ebuild
index 5977b8dd7ac1..5132ce563e14 100644
--- a/dev-cpp/glibmm/glibmm-2.66.1.ebuild
+++ b/dev-cpp/glibmm/glibmm-2.66.7.ebuild
@@ -1,17 +1,17 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
-PYTHON_COMPAT=( python3_{7..9} )
+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"
+HOMEPAGE="https://www.gtkmm.org https://gitlab.gnome.org/GNOME/glibmm"
LICENSE="LGPL-2.1+"
SLOT="2"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ppc ppc64 ~riscv sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~sparc-solaris ~x86-solaris"
-IUSE="doc debug test"
+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="
@@ -22,8 +22,8 @@ DEPEND="${RDEPEND}"
BDEPEND="
${PYTHON_DEPS}
virtual/pkgconfig
- doc? (
- app-doc/doxygen[dot]
+ gtk-doc? (
+ app-text/doxygen[dot]
dev-lang/perl
dev-perl/XML-Parser
dev-libs/libxslt
@@ -46,7 +46,7 @@ multilib_src_configure() {
local emesonargs=(
-Dwarnings=min
-Dbuild-deprecated-api=true
- $(meson_native_use_bool doc build-documentation)
+ $(meson_native_use_bool gtk-doc build-documentation)
$(meson_use debug debug-refcounting)
-Dbuild-examples=false
)
diff --git a/dev-cpp/glibmm/glibmm-2.68.1.ebuild b/dev-cpp/glibmm/glibmm-2.78.1.ebuild
index a40dc5dd7ad1..447b4cd169cb 100644
--- a/dev-cpp/glibmm/glibmm-2.68.1.ebuild
+++ b/dev-cpp/glibmm/glibmm-2.78.1.ebuild
@@ -1,29 +1,29 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
-PYTHON_COMPAT=( python3_{7..9} )
+EAPI=8
+PYTHON_COMPAT=( python3_{10..12} )
inherit gnome.org meson-multilib python-any-r1
DESCRIPTION="C++ interface for glib2"
-HOMEPAGE="https://www.gtkmm.org"
+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 ~mips ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~sparc-solaris ~x86-solaris"
-IUSE="doc debug test"
+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.63.0:2[${MULTILIB_USEDEP}]
- dev-libs/libsigc++:3[doc?,${MULTILIB_USEDEP}]
+ >=dev-libs/glib-2.77.0:2[${MULTILIB_USEDEP}]
+ dev-libs/libsigc++:3[gtk-doc?,${MULTILIB_USEDEP}]
"
DEPEND="${RDEPEND}"
BDEPEND="
${PYTHON_DEPS}
virtual/pkgconfig
- doc? (
- app-doc/doxygen[dot]
+ gtk-doc? (
+ app-text/doxygen[dot]
dev-lang/perl
dev-libs/libxslt
)
@@ -44,7 +44,7 @@ multilib_src_configure() {
local emesonargs=(
-Dwarnings=min
-Dbuild-deprecated-api=true
- $(meson_native_use_bool doc build-documentation)
+ $(meson_native_use_bool gtk-doc build-documentation)
$(meson_use debug debug-refcounting)
-Dbuild-examples=false
)
diff --git a/dev-cpp/glibmm/metadata.xml b/dev-cpp/glibmm/metadata.xml
index 7b343b06be8a..ec700d09051c 100644
--- a/dev-cpp/glibmm/metadata.xml
+++ b/dev-cpp/glibmm/metadata.xml
@@ -1,8 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
-<maintainer type="project">
- <email>gnome@gentoo.org</email>
- <name>Gentoo GNOME Desktop</name>
-</maintainer>
+ <maintainer type="project">
+ <email>gnome@gentoo.org</email>
+ <name>Gentoo GNOME Desktop</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="gnome-gitlab">GNOME/glibmm</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/dev-cpp/glog/Manifest b/dev-cpp/glog/Manifest
index b52819ecab8c..30b5047877a8 100644
--- a/dev-cpp/glog/Manifest
+++ b/dev-cpp/glog/Manifest
@@ -1,2 +1,3 @@
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.5.0-IsGoogleLoggingInitialized_public.patch b/dev-cpp/glog/files/glog-0.5.0-IsGoogleLoggingInitialized_public.patch
index a19ebdcf0fac..d08e4b17882f 100644
--- a/dev-cpp/glog/files/glog-0.5.0-IsGoogleLoggingInitialized_public.patch
+++ b/dev-cpp/glog/files/glog-0.5.0-IsGoogleLoggingInitialized_public.patch
@@ -2,8 +2,8 @@ https://github.com/google/glog/issues/125
https://github.com/google/glog/pull/651
https://github.com/google/glog/commit/81e0d616edeb73cbd06d6c40bc4f90593ac0c5d1
---- /src/glog/logging.h.in
-+++ /src/glog/logging.h.in
+--- a/src/glog/logging.h.in
++++ b/src/glog/logging.h.in
@@ -594,6 +594,9 @@
void* prefix_callback_data = NULL);
#endif
@@ -14,8 +14,8 @@ https://github.com/google/glog/commit/81e0d616edeb73cbd06d6c40bc4f90593ac0c5d1
// Shutdown google's logging library.
GOOGLE_GLOG_DLL_DECL void ShutdownGoogleLogging();
---- /src/logging_custom_prefix_unittest.cc
-+++ /src/logging_custom_prefix_unittest.cc
+--- a/src/logging_custom_prefix_unittest.cc
++++ b/src/logging_custom_prefix_unittest.cc
@@ -221,11 +221,15 @@
LogWithLevels(0, 0, 0, 0); // simulate "before global c-tors"
const string early_stderr = GetCapturedTestStderr();
@@ -43,8 +43,8 @@ https://github.com/google/glog/commit/81e0d616edeb73cbd06d6c40bc4f90593ac0c5d1
}
_START_GOOGLE_NAMESPACE_
---- /src/logging_unittest.cc
-+++ /src/logging_unittest.cc
+--- a/src/logging_unittest.cc
++++ b/src/logging_unittest.cc
@@ -197,8 +197,12 @@
LogWithLevels(0, 0, 0, 0); // simulate "before global c-tors"
const string early_stderr = GetCapturedTestStderr();
@@ -69,8 +69,8 @@ https://github.com/google/glog/commit/81e0d616edeb73cbd06d6c40bc4f90593ac0c5d1
}
_START_GOOGLE_NAMESPACE_
---- /src/utilities.cc
-+++ /src/utilities.cc
+--- a/src/utilities.cc
++++ b/src/utilities.cc
@@ -62,6 +62,10 @@
static const char* g_program_invocation_short_name = NULL;
@@ -93,8 +93,8 @@ https://github.com/google/glog/commit/81e0d616edeb73cbd06d6c40bc4f90593ac0c5d1
#ifdef OS_WINDOWS
struct timeval {
long tv_sec, tv_usec;
---- /src/utilities.h
-+++ /src/utilities.h
+--- a/src/utilities.h
++++ b/src/utilities.h
@@ -163,8 +163,6 @@
const char* ProgramInvocationShortName();
diff --git a/dev-cpp/glog/files/glog-0.5.0-vmodule_levels_changeability.patch b/dev-cpp/glog/files/glog-0.5.0-vmodule_levels_changeability.patch
index f9b90c1521aa..ed1f6a17d8df 100644
--- a/dev-cpp/glog/files/glog-0.5.0-vmodule_levels_changeability.patch
+++ b/dev-cpp/glog/files/glog-0.5.0-vmodule_levels_changeability.patch
@@ -2,8 +2,8 @@ https://github.com/google/glog/issues/649
https://github.com/google/glog/pull/650
https://github.com/google/glog/commit/86fea1ab254c463cbb72e5ce8bcc6855bc4e1e9c
---- /src/glog/vlog_is_on.h.in
-+++ /src/glog/vlog_is_on.h.in
+--- a/src/glog/vlog_is_on.h.in
++++ b/src/glog/vlog_is_on.h.in
@@ -81,10 +81,10 @@
// parsing of --vmodule flag and/or SetVLOGLevel calls.
#define VLOG_IS_ON(verboselevel) \
@@ -41,8 +41,8 @@ https://github.com/google/glog/commit/86fea1ab254c463cbb72e5ce8bcc6855bc4e1e9c
@ac_google_namespace@::int32* site_default,
const char* fname,
@ac_google_namespace@::int32 verbose_level);
---- /src/logging_unittest.cc
-+++ /src/logging_unittest.cc
+--- a/src/logging_unittest.cc
++++ b/src/logging_unittest.cc
@@ -98,6 +98,7 @@
static void TestRawLogging();
static void LogWithLevels(int v, int severity, bool err, bool alsoerr);
@@ -84,8 +84,8 @@ https://github.com/google/glog/commit/86fea1ab254c463cbb72e5ce8bcc6855bc4e1e9c
TEST(DeathRawCHECK, logging) {
ASSERT_DEATH(RAW_CHECK(false, "failure 1"),
"RAW: Check false failed: failure 1");
---- /src/vlog_is_on.cc
-+++ /src/vlog_is_on.cc
+--- a/src/vlog_is_on.cc
++++ b/src/vlog_is_on.cc
@@ -125,6 +125,8 @@
// Pointer to head of the VModuleInfo list.
// It's a map from module pattern to logging level for those module(s).
diff --git a/dev-cpp/glog/glog-0.4.0.ebuild b/dev-cpp/glog/glog-0.4.0.ebuild
index e48bfd350451..9b10f2e2fc95 100644
--- a/dev-cpp/glog/glog-0.4.0.ebuild
+++ b/dev-cpp/glog/glog-0.4.0.ebuild
@@ -1,4 +1,4 @@
-# Copyright 2011-2020 Gentoo Authors
+# Copyright 2011-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="7"
@@ -12,7 +12,7 @@ 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 ~s390 -sparc x86 ~amd64-linux ~x86-linux"
+KEYWORDS="amd64 arm arm64 ~hppa ~ia64 ~mips ppc ppc64 -sparc x86 ~amd64-linux ~x86-linux"
IUSE="gflags static-libs test"
RESTRICT="test"
diff --git a/dev-cpp/glog/glog-0.5.0.ebuild b/dev-cpp/glog/glog-0.5.0.ebuild
index 4df075626adc..e2ac655eab68 100644
--- a/dev-cpp/glog/glog-0.5.0.ebuild
+++ b/dev-cpp/glog/glog-0.5.0.ebuild
@@ -1,8 +1,7 @@
-# Copyright 2011-2021 Gentoo Authors
+# Copyright 2011-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI="7"
-CMAKE_ECLASS="cmake"
+EAPI="8"
inherit cmake-multilib
@@ -22,7 +21,7 @@ fi
LICENSE="BSD"
SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc64 ~s390 ~x86 ~amd64-linux ~x86-linux"
+KEYWORDS="amd64 arm arm64 ~hppa ~ia64 ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux"
IUSE="gflags +libunwind llvm-libunwind test"
RESTRICT="!test? ( test )"
@@ -55,3 +54,8 @@ src_configure() {
cmake-multilib_src_configure
}
+
+src_test() {
+ # See bug #832355
+ cmake-multilib_src_test -j1
+}
diff --git a/dev-cpp/glog/glog-0.6.0.ebuild b/dev-cpp/glog/glog-0.6.0.ebuild
new file mode 100644
index 000000000000..082818391c35
--- /dev/null
+++ b/dev-cpp/glog/glog-0.6.0.ebuild
@@ -0,0 +1,49 @@
+# Copyright 2011-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="8"
+
+inherit cmake-multilib
+
+if [[ "${PV}" == "9999" ]]; then
+ inherit git-r3
+
+ EGIT_REPO_URI="https://github.com/google/glog"
+fi
+
+DESCRIPTION="Google Logging library"
+HOMEPAGE="https://github.com/google/glog"
+if [[ "${PV}" == "9999" ]]; then
+ SRC_URI=""
+else
+ SRC_URI="https://github.com/google/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+fi
+
+LICENSE="BSD"
+SLOT="0/1"
+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 )"
+
+RDEPEND="gflags? ( dev-cpp/gflags:0=[${MULTILIB_USEDEP}] )
+ libunwind? (
+ llvm-libunwind? ( sys-libs/llvm-libunwind:0=[${MULTILIB_USEDEP}] )
+ !llvm-libunwind? ( sys-libs/libunwind:0=[${MULTILIB_USEDEP}] )
+ )"
+DEPEND="${RDEPEND}
+ test? ( >=dev-cpp/gtest-1.8.0[${MULTILIB_USEDEP}] )"
+
+src_configure() {
+ local mycmakeargs=(
+ -DBUILD_TESTING=$(usex test ON OFF)
+ -DWITH_GFLAGS=$(usex gflags ON OFF)
+ -DWITH_GTEST=$(usex test ON OFF)
+ -DWITH_UNWIND=$(usex libunwind ON OFF)
+ )
+
+ cmake-multilib_src_configure
+}
+
+src_test() {
+ cmake-multilib_src_test -j1
+}
diff --git a/dev-cpp/glog/metadata.xml b/dev-cpp/glog/metadata.xml
index 0f91ce1bb22c..b109eca5bd20 100644
--- a/dev-cpp/glog/metadata.xml
+++ b/dev-cpp/glog/metadata.xml
@@ -5,9 +5,9 @@
<email>arfrever.fta@gmail.com</email>
<name>Arfrever Frehtes Taifersar Arahesis</name>
</maintainer>
- <maintainer type="person" proxied="proxy">
- <email>floppym@gentoo.org</email>
- <name>Mike Gilbert</name>
+ <maintainer type="project">
+ <email>cjk@gentoo.org</email>
+ <name>Cjk</name>
</maintainer>
<use>
<flag name="gflags">Use <pkg>dev-cpp/gflags</pkg> for flag parsing</flag>
diff --git a/dev-cpp/gstreamermm/gstreamermm-1.10.0.ebuild b/dev-cpp/gstreamermm/gstreamermm-1.10.0-r1.ebuild
index fced073bba0a..a950c1971927 100644
--- a/dev-cpp/gstreamermm/gstreamermm-1.10.0.ebuild
+++ b/dev-cpp/gstreamermm/gstreamermm-1.10.0-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2019 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
@@ -25,7 +25,7 @@ DEPEND="${RDEPEND}
dev-cpp/mm-common
virtual/pkgconfig
doc? (
- app-doc/doxygen
+ app-text/doxygen
dev-libs/libxslt
media-gfx/graphviz )
test? (
diff --git a/dev-cpp/gstreamermm/metadata.xml b/dev-cpp/gstreamermm/metadata.xml
index c6e394b17a27..79ee74f2fa98 100644
--- a/dev-cpp/gstreamermm/metadata.xml
+++ b/dev-cpp/gstreamermm/metadata.xml
@@ -5,4 +5,7 @@
<email>gnome@gentoo.org</email>
<name>Gentoo GNOME Desktop</name>
</maintainer>
+ <upstream>
+ <remote-id type="gnome-gitlab">GNOME/gstreamermm</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/dev-cpp/gtest/Manifest b/dev-cpp/gtest/Manifest
index 3b3e722caa7d..8f44d5904099 100644
--- a/dev-cpp/gtest/Manifest
+++ b/dev-cpp/gtest/Manifest
@@ -1,2 +1,2 @@
-DIST gtest-1.10.0_p20200702.tar.gz 866900 BLAKE2B c162d47868583ba270675abe5df935b8f4b9a9c00dbdc80dd88afa7f2b98266640b32b2ea5e8f9f6d6227196b5d2f79dbfda4e9585106224e814cc1503cf777d SHA512 715d887b59b47d4691c7c90ef0cf0ffc3d1e758e500263c76b50fd506e90a9d1c390af745933cfe3f55e1edac5d72dccedef3cb9a50b71a5b796424471a3017b
-DIST gtest-1.11.0.tar.gz 886330 BLAKE2B d11fdd485f292d96508cbc27a9a444ab69b86571cc594298fd3f0e6d4bd8d6ec20dea848fe11be165d34054b2251ad377f0930f852914feaa1416ff156986a9c SHA512 6fcc7827e4c4d95e3ae643dd65e6c4fc0e3d04e1778b84f6e06e390410fe3d18026c131d828d949d2f20dde6327d30ecee24dcd3ef919e21c91e010d149f3a28
+DIST gtest-1.13.0.tar.gz 862871 BLAKE2B d2768332c233d62f7a5f5332b63dc587c96c24765b2eeaa4f4caf5d421b175aa850d81cec4f50eeef9e06d4b86cb959555b4c2862a197ce3cb86d61fcb51f5d1 SHA512 70c0cfb1b4147bdecb467ecb22ae5b5529eec0abc085763213a796b7cdbd81d1761d12b342060539b936fa54f345d33f060601544874d6213fdde79111fa813e
+DIST gtest-1.14.0.tar.gz 867764 BLAKE2B c457f55ac572b9fb1553eee3df7eeeaf1e7dd2c3d747dd5e90dd279038fa5c71bb7b7d9ba1cf7e6143898b2a1d24d100584bd2a48ded41a426870c4825eec1b2 SHA512 765c326ccc1b87a01027385e69238266e356361cd4ee3e18e3c9d137a5d11fa5d657c164d02dd1be8fe693c8e10f2b580588dbfa57d27f070e2750f50d3e662c
diff --git a/dev-cpp/gtest/files/gtest-1.10.0_p20200702-increase-clone-stack-size.patch b/dev-cpp/gtest/files/gtest-1.10.0_p20200702-increase-clone-stack-size.patch
deleted file mode 100644
index 3e06777ac9a9..000000000000
--- a/dev-cpp/gtest/files/gtest-1.10.0_p20200702-increase-clone-stack-size.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-Bug: https://bugs.gentoo.org/692464
-
---- a/googletest/src/gtest-death-test.cc
-+++ b/googletest/src/gtest-death-test.cc
-@@ -1070,7 +1070,7 @@
-
- if (!use_fork) {
- static const bool stack_grows_down = StackGrowsDown();
-- const auto stack_size = static_cast<size_t>(getpagesize() * 2);
-+ const auto stack_size = static_cast<size_t>(getpagesize() * 10);
- // MMAP_ANONYMOUS is not defined on Mac, so we use MAP_ANON instead.
- void* const stack = mmap(NULL, stack_size, PROT_READ | PROT_WRITE,
- MAP_ANON | MAP_PRIVATE, -1, 0);
diff --git a/dev-cpp/gtest/gtest-1.10.0_p20200702.ebuild b/dev-cpp/gtest/gtest-1.10.0_p20200702.ebuild
deleted file mode 100644
index 58067c7a096b..000000000000
--- a/dev-cpp/gtest/gtest-1.10.0_p20200702.ebuild
+++ /dev/null
@@ -1,80 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-# Python is required for tests and some build tasks.
-PYTHON_COMPAT=( python3_{8..10} )
-
-CMAKE_ECLASS=cmake
-inherit cmake-multilib python-any-r1
-
-GOOGLETEST_COMMIT=aee0f9d9b5b87796ee8a0ab26b7587ec30e8858e
-
-if [[ ${PV} == "9999" ]]; then
- inherit git-r3
- EGIT_REPO_URI="https://github.com/google/googletest"
-else
- if [[ -z ${GOOGLETEST_COMMIT} ]]; then
- URI_PV=v${MY_PV:-${PV}}
- else
- URI_PV=${MY_PV:=${GOOGLETEST_COMMIT}}
- fi
- SRC_URI="https://github.com/google/googletest/archive/${URI_PV}.tar.gz -> ${P}.tar.gz"
- KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
- S="${WORKDIR}"/googletest-${MY_PV}
-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} )"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-1.10.0_p20200702-increase-clone-stack-size.patch
-)
-
-pkg_setup() {
- use test && python-any-r1_pkg_setup
-}
-
-src_prepare() {
- cmake_src_prepare
-
- sed -i -e '/set(cxx_base_flags /s:-Werror::' \
- googletest/cmake/internal_utils.cmake || die "sed failed!"
-}
-
-multilib_src_configure() {
- local mycmakeargs=(
- -DBUILD_GMOCK=ON
- -DINSTALL_GTEST=ON
-
- # tests
- -Dgmock_build_tests=$(usex test)
- -Dgtest_build_tests=$(usex test)
- -DPYTHON_EXECUTABLE="${PYTHON}"
- )
- cmake_src_configure
-}
-
-multilib_src_install_all() {
- einstalldocs
-
- if use doc; then
- docinto googletest
- dodoc -r googletest/docs/.
- docinto googlemock
- dodoc -r googlemock/docs/.
- fi
-
- if use examples; then
- docinto examples
- dodoc googletest/samples/*.{cc,h}
- fi
-}
diff --git a/dev-cpp/gtest/gtest-1.11.0.ebuild b/dev-cpp/gtest/gtest-1.13.0.ebuild
index 89518bffd1d1..6ed984c01511 100644
--- a/dev-cpp/gtest/gtest-1.11.0.ebuild
+++ b/dev-cpp/gtest/gtest-1.13.0.ebuild
@@ -1,12 +1,11 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2023 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_{8..10} )
+PYTHON_COMPAT=( python3_{9..11} )
-CMAKE_ECLASS=cmake
inherit cmake-multilib python-any-r1
if [[ ${PV} == "9999" ]]; then
@@ -14,15 +13,15 @@ if [[ ${PV} == "9999" ]]; then
EGIT_REPO_URI="https://github.com/google/googletest"
else
if [[ -z ${GOOGLETEST_COMMIT} ]]; then
- SRC_URI="https://github.com/google/googletest/archive/refs/tags/release-${PV}.tar.gz
+ SRC_URI="https://github.com/google/googletest/archive/refs/tags/v${PV}.tar.gz
-> ${P}.tar.gz"
- S="${WORKDIR}"/googletest-release-${PV}
+ 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 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-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"
@@ -35,10 +34,6 @@ RESTRICT="!test? ( test )"
BDEPEND="test? ( ${PYTHON_DEPS} )"
-PATCHES=(
- "${FILESDIR}"/${PN}-1.10.0_p20200702-increase-clone-stack-size.patch
-)
-
pkg_setup() {
use test && python-any-r1_pkg_setup
}
@@ -63,6 +58,11 @@ multilib_src_configure() {
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
diff --git a/dev-cpp/gtest/gtest-1.14.0.ebuild b/dev-cpp/gtest/gtest-1.14.0.ebuild
new file mode 100644
index 000000000000..5351c69b1cd0
--- /dev/null
+++ b/dev-cpp/gtest/gtest-1.14.0.ebuild
@@ -0,0 +1,72 @@
+# Copyright 1999-2023 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} )
+
+inherit cmake-multilib python-any-r1
+
+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() {
+ local mycmakeargs=(
+ -DBUILD_GMOCK=ON
+ -DINSTALL_GTEST=ON
+
+ # tests
+ -Dgmock_build_tests=$(usex test)
+ -Dgtest_build_tests=$(usex test)
+ )
+ use test && mycmakeargs+=( -DPython3_EXECUTABLE="${PYTHON}" )
+
+ 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-9999.ebuild b/dev-cpp/gtest/gtest-9999.ebuild
index 89518bffd1d1..5351c69b1cd0 100644
--- a/dev-cpp/gtest/gtest-9999.ebuild
+++ b/dev-cpp/gtest/gtest-9999.ebuild
@@ -1,12 +1,11 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2023 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_{8..10} )
+PYTHON_COMPAT=( python3_{10..12} )
-CMAKE_ECLASS=cmake
inherit cmake-multilib python-any-r1
if [[ ${PV} == "9999" ]]; then
@@ -14,15 +13,15 @@ if [[ ${PV} == "9999" ]]; then
EGIT_REPO_URI="https://github.com/google/googletest"
else
if [[ -z ${GOOGLETEST_COMMIT} ]]; then
- SRC_URI="https://github.com/google/googletest/archive/refs/tags/release-${PV}.tar.gz
+ SRC_URI="https://github.com/google/googletest/archive/refs/tags/v${PV}.tar.gz
-> ${P}.tar.gz"
- S="${WORKDIR}"/googletest-release-${PV}
+ 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 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-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"
@@ -35,21 +34,10 @@ RESTRICT="!test? ( test )"
BDEPEND="test? ( ${PYTHON_DEPS} )"
-PATCHES=(
- "${FILESDIR}"/${PN}-1.10.0_p20200702-increase-clone-stack-size.patch
-)
-
pkg_setup() {
use test && python-any-r1_pkg_setup
}
-src_prepare() {
- cmake_src_prepare
-
- sed -i -e '/set(cxx_base_flags /s:-Werror::' \
- googletest/cmake/internal_utils.cmake || die "sed failed!"
-}
-
multilib_src_configure() {
local mycmakeargs=(
-DBUILD_GMOCK=ON
@@ -58,11 +46,17 @@ multilib_src_configure() {
# tests
-Dgmock_build_tests=$(usex test)
-Dgtest_build_tests=$(usex test)
- -DPYTHON_EXECUTABLE="${PYTHON}"
)
+ use test && mycmakeargs+=( -DPython3_EXECUTABLE="${PYTHON}" )
+
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
diff --git a/dev-cpp/gtest/metadata.xml b/dev-cpp/gtest/metadata.xml
index c870874aadca..2a73b6d6508d 100644
--- a/dev-cpp/gtest/metadata.xml
+++ b/dev-cpp/gtest/metadata.xml
@@ -10,7 +10,7 @@
<name>Proxy Maintainers</name>
</maintainer>
<upstream>
- <doc lang="en">https://github.com/google/googletest/tree/master/googletest/docs</doc>
+ <doc lang="en">https://github.com/google/googletest/tree/HEAD/docs</doc>
<remote-id type="github">google/googletest</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-cpp/gtkmm/Manifest b/dev-cpp/gtkmm/Manifest
index 58c7f6edc8ef..c9a1b19f8ac4 100644
--- a/dev-cpp/gtkmm/Manifest
+++ b/dev-cpp/gtkmm/Manifest
@@ -1,3 +1,4 @@
DIST gtkmm-2.24.5.tar.xz 12022024 BLAKE2B 6b2bca9fe6ad81cd956e1f3cc3140bc503b78386cf3931c8eeac08c8b2a08c73450bdbb703d1febaee67cdf834093ff5e89790f866357190822613a68a596ad3 SHA512 c50e52830977c37181439f4b82a30ac8bead0cf9022d2bec8225f8dc33e08414f863bf67056e1938fae8f888c09a5a6d757acc011fa9331a78caa6bb626dd51e
-DIST gtkmm-3.24.5.tar.xz 13540488 BLAKE2B b55c55e4bb56bc835be9c09dae59ee103fb0ae80ee99bb54c36c366686f4f1a0309435e91c2e323d7ebfabf7922b76ac85de6a1132c53ab708ba17be661d834b SHA512 8cc5aed26cc631123a5b38bc19643cf9e900beb38681b29ead9049f6b8f930f0b8ace317b8290279ab89cad85075dcb66863174082f77a2b67e4d8bd3c29de49
-DIST gtkmm-4.2.0.tar.xz 13850496 BLAKE2B 0e39824085fde11ebe3ecd65e3fbdb1778f307292a51b98955f4fa1418e7d1a349838126093b0a2b6d628b66d39bffffba76f66d2928999f777a4abb7961dc77 SHA512 c4532c427da0a37e4f8ba6f0e6d3975c3f84db461bc08263a4a81e6ee9e750112a2b4b0c5000ba22f8fd4fc5f833ef320f2c1f56580157f7ae41667ff15ccc72
+DIST gtkmm-3.24.8.tar.xz 14856904 BLAKE2B 54bb6b462c0a56bb8a8e3f1fdc479b8f476ecf8de99b3bf1c5d9ef4c8ccad21b2a2bd0e05464e88b4fe346fad07aa01f847c555eca4398782036b97cbf241aa9 SHA512 e8f55e4906a3ad9e1fd1d9496aa38ea1089e11d61f63fadde9f59357383d03a290318058ca74ff361969641b2ed4dda9a156389ef66a98a33a3f1d23b377ffbf
+DIST gtkmm-3.24.9.tar.xz 15122612 BLAKE2B bbc80e5140a5c003817a1d6a0e63ebdab971fe9c92cf07d2edcbb8a3ee5e2371ab7b932a5c9af56da096d3e37d6e76101ad25d9cea5074d29d31f97e69960c3d SHA512 6e6e53d7d434f51758ffddce00dbae61074c54a5d3a5bb852fea558147af4ca6c40f9fcf4e7f9fafcbbc22ea33cdd99ea06208b72542c7e75f4dca19a80c6724
+DIST gtkmm-4.12.0.tar.xz 16359928 BLAKE2B 84b5f5ee5ef85c9f6d32d3047ab794f4ded3fb33665e18b4b6cacfc4836f5549e9cd32103963de367d0957fa58eb55b02ed06a3d3c6b6777c296d1c1fe3cabbc SHA512 0bde82ac1331c86810bb513362c81a30b0abaf906af4cf4b0607b85362125d8a15307fb5c51c6497fa9292acce437af027c4e336231dd18d72251f43e3d23688
diff --git a/dev-cpp/gtkmm/gtkmm-2.24.5-r1.ebuild b/dev-cpp/gtkmm/gtkmm-2.24.5-r1.ebuild
index 2a6ef94ab53e..d70b1362ca74 100644
--- a/dev-cpp/gtkmm/gtkmm-2.24.5-r1.ebuild
+++ b/dev-cpp/gtkmm/gtkmm-2.24.5-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
@@ -10,7 +10,7 @@ HOMEPAGE="https://www.gtkmm.org"
LICENSE="LGPL-2.1+"
SLOT="2.4"
-KEYWORDS="~alpha amd64 arm ~arm64 ~hppa ~ia64 ppc ppc64 sparc x86 ~amd64-linux ~x86-linux ~sparc-solaris ~x86-solaris"
+KEYWORDS="~alpha amd64 arm ~arm64 ~hppa ~ia64 ~loong ppc ppc64 sparc x86 ~amd64-linux ~x86-linux"
IUSE="doc examples test"
RESTRICT="!test? ( test )"
@@ -28,7 +28,7 @@ DEPEND="${RDEPEND}
doc? (
media-gfx/graphviz
dev-libs/libxslt
- app-doc/doxygen )
+ app-text/doxygen )
"
src_prepare() {
diff --git a/dev-cpp/gtkmm/gtkmm-3.24.5.ebuild b/dev-cpp/gtkmm/gtkmm-3.24.5.ebuild
deleted file mode 100644
index e482e204b764..000000000000
--- a/dev-cpp/gtkmm/gtkmm-3.24.5.ebuild
+++ /dev/null
@@ -1,54 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{7..9} )
-inherit gnome.org meson-multilib python-any-r1 virtualx
-
-DESCRIPTION="C++ interface for GTK+"
-HOMEPAGE="https://www.gtkmm.org"
-
-LICENSE="LGPL-2.1+"
-SLOT="3.0"
-KEYWORDS="~alpha amd64 arm ~arm64 ~hppa ~ia64 ppc ppc64 ~riscv sparc x86 ~amd64-linux ~x86-linux ~x86-solaris"
-
-IUSE="aqua doc test wayland X"
-REQUIRED_USE="|| ( aqua wayland X )"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- >=dev-cpp/atkmm-2.24.2:0[doc?,${MULTILIB_USEDEP}]
- >=dev-cpp/cairomm-1.12.0:0[doc?,${MULTILIB_USEDEP}]
- >=dev-cpp/glibmm-2.54.0:2[doc?,${MULTILIB_USEDEP}]
- >=dev-cpp/pangomm-2.38.2:1.4[doc?,${MULTILIB_USEDEP}]
- >=dev-libs/libsigc++-2.3.2:2[doc?,${MULTILIB_USEDEP}]
- >=media-libs/libepoxy-1.2[${MULTILIB_USEDEP}]
- >=x11-libs/gdk-pixbuf-2.35.5:2[${MULTILIB_USEDEP}]
- >=x11-libs/gtk+-3.24.0:3[aqua?,wayland?,X?,${MULTILIB_USEDEP}]
-"
-DEPEND="${RDEPEND}"
-BDEPEND="
- virtual/pkgconfig
- doc? (
- app-doc/doxygen[dot]
- dev-lang/perl
- dev-libs/libxslt
- )
- ${PYTHON_DEPS}
-"
-
-multilib_src_configure() {
- local emesonargs=(
- -Dbuild-atkmm-api=true
- -Dbuild-demos=false
- $(meson_native_use_bool doc build-documentation)
- $(meson_use test build-tests)
- $(meson_use X build-x11-api)
- )
- meson_src_configure
-}
-
-multilib_src_test() {
- virtx meson_src_test
-}
diff --git a/dev-cpp/gtkmm/gtkmm-3.24.8.ebuild b/dev-cpp/gtkmm/gtkmm-3.24.8.ebuild
new file mode 100644
index 000000000000..f0d1a12ae4bb
--- /dev/null
+++ b/dev-cpp/gtkmm/gtkmm-3.24.8.ebuild
@@ -0,0 +1,53 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+PYTHON_COMPAT=( python3_{10..12} )
+inherit gnome.org meson-multilib python-any-r1 virtualx
+
+DESCRIPTION="C++ interface for GTK+"
+HOMEPAGE="https://www.gtkmm.org https://gitlab.gnome.org/GNOME/gtkmm"
+
+LICENSE="LGPL-2.1+"
+SLOT="3.0"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ppc ppc64 ~riscv sparc x86 ~amd64-linux ~x86-linux"
+
+IUSE="aqua gtk-doc test wayland X"
+REQUIRED_USE="|| ( aqua wayland X )"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ >=dev-cpp/atkmm-2.24.2:0[gtk-doc?,${MULTILIB_USEDEP}]
+ >=dev-cpp/cairomm-1.12.0:0[gtk-doc?,${MULTILIB_USEDEP}]
+ >=dev-cpp/glibmm-2.54.0:2[gtk-doc?,${MULTILIB_USEDEP}]
+ >=dev-cpp/pangomm-2.38.2:1.4[gtk-doc?,${MULTILIB_USEDEP}]
+ >=dev-libs/libsigc++-2.3.2:2[gtk-doc?,${MULTILIB_USEDEP}]
+ >=media-libs/libepoxy-1.2[${MULTILIB_USEDEP}]
+ >=x11-libs/gdk-pixbuf-2.35.5:2[${MULTILIB_USEDEP}]
+ >=x11-libs/gtk+-3.24.0:3[aqua?,wayland?,X=,${MULTILIB_USEDEP}]
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ virtual/pkgconfig
+ gtk-doc? (
+ app-text/doxygen[dot]
+ dev-lang/perl
+ dev-libs/libxslt
+ )
+ ${PYTHON_DEPS}
+"
+
+multilib_src_configure() {
+ local emesonargs=(
+ -Dbuild-atkmm-api=true
+ -Dbuild-demos=false
+ $(meson_native_use_bool gtk-doc build-documentation)
+ $(meson_use test build-tests)
+ $(meson_use X build-x11-api)
+ )
+ meson_src_configure
+}
+
+multilib_src_test() {
+ virtx meson_src_test
+}
diff --git a/dev-cpp/gtkmm/gtkmm-3.24.9.ebuild b/dev-cpp/gtkmm/gtkmm-3.24.9.ebuild
new file mode 100644
index 000000000000..69fbd4385696
--- /dev/null
+++ b/dev-cpp/gtkmm/gtkmm-3.24.9.ebuild
@@ -0,0 +1,53 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+PYTHON_COMPAT=( python3_{10..12} )
+inherit gnome.org meson-multilib python-any-r1 virtualx
+
+DESCRIPTION="C++ interface for GTK+"
+HOMEPAGE="https://www.gtkmm.org https://gitlab.gnome.org/GNOME/gtkmm"
+
+LICENSE="LGPL-2.1+"
+SLOT="3.0"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~ppc ppc64 ~riscv ~sparc x86 ~amd64-linux ~x86-linux"
+
+IUSE="aqua gtk-doc test wayland X"
+REQUIRED_USE="|| ( aqua wayland X )"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ >=dev-cpp/atkmm-2.24.2:0[gtk-doc?,${MULTILIB_USEDEP}]
+ >=dev-cpp/cairomm-1.12.0:0[gtk-doc?,${MULTILIB_USEDEP}]
+ >=dev-cpp/glibmm-2.54.0:2[gtk-doc?,${MULTILIB_USEDEP}]
+ >=dev-cpp/pangomm-2.38.2:1.4[gtk-doc?,${MULTILIB_USEDEP}]
+ >=dev-libs/libsigc++-2.3.2:2[gtk-doc?,${MULTILIB_USEDEP}]
+ >=media-libs/libepoxy-1.2[${MULTILIB_USEDEP}]
+ >=x11-libs/gdk-pixbuf-2.35.5:2[${MULTILIB_USEDEP}]
+ >=x11-libs/gtk+-3.24.0:3[aqua?,wayland?,X=,${MULTILIB_USEDEP}]
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ virtual/pkgconfig
+ gtk-doc? (
+ app-text/doxygen[dot]
+ dev-lang/perl
+ dev-libs/libxslt
+ )
+ ${PYTHON_DEPS}
+"
+
+multilib_src_configure() {
+ local emesonargs=(
+ -Dbuild-atkmm-api=true
+ -Dbuild-demos=false
+ $(meson_native_use_bool gtk-doc build-documentation)
+ $(meson_use test build-tests)
+ $(meson_use X build-x11-api)
+ )
+ meson_src_configure
+}
+
+multilib_src_test() {
+ virtx meson_src_test
+}
diff --git a/dev-cpp/gtkmm/gtkmm-4.2.0.ebuild b/dev-cpp/gtkmm/gtkmm-4.12.0.ebuild
index eb7e2245e9f7..17ce2bd644bc 100644
--- a/dev-cpp/gtkmm/gtkmm-4.2.0.ebuild
+++ b/dev-cpp/gtkmm/gtkmm-4.12.0.ebuild
@@ -1,9 +1,9 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
-PYTHON_COMPAT=( python3_{8..10} )
+PYTHON_COMPAT=( python3_{10..12} )
inherit gnome.org meson python-any-r1 virtualx
DESCRIPTION="C++ interface for GTK+"
@@ -11,27 +11,27 @@ HOMEPAGE="https://www.gtkmm.org"
LICENSE="LGPL-2.1+"
SLOT="4.0"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86 ~amd64-linux ~x86-linux ~x86-solaris"
-IUSE="doc test"
+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[doc?]
- >=gui-libs/gtk-4.2.0:4
- >=dev-cpp/cairomm-1.15.4:1.16[doc?]
- >=dev-cpp/pangomm-2.48.0:2.48[doc?]
+ >=dev-cpp/glibmm-2.68.0:2.68[gtk-doc?]
+ >=gui-libs/gtk-4.12.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}
- doc? ( dev-libs/libsigc++:3 )
+ gtk-doc? ( dev-libs/libsigc++:3 )
"
BDEPEND="
virtual/pkgconfig
- doc? (
- app-doc/doxygen[dot]
+ gtk-doc? (
+ app-text/doxygen[dot]
dev-lang/perl
dev-libs/libxslt
)
@@ -41,7 +41,7 @@ BDEPEND="
src_configure() {
local emesonargs=(
-Dbuild-demos=false
- $(meson_use doc build-documentation)
+ $(meson_use gtk-doc build-documentation)
$(meson_use test build-tests)
)
meson_src_configure
diff --git a/dev-cpp/gtkmm/metadata.xml b/dev-cpp/gtkmm/metadata.xml
index 7b343b06be8a..0cb7765fe8c2 100644
--- a/dev-cpp/gtkmm/metadata.xml
+++ b/dev-cpp/gtkmm/metadata.xml
@@ -1,8 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
-<maintainer type="project">
- <email>gnome@gentoo.org</email>
- <name>Gentoo GNOME Desktop</name>
-</maintainer>
+ <maintainer type="project">
+ <email>gnome@gentoo.org</email>
+ <name>Gentoo GNOME Desktop</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="gnome-gitlab">GNOME/gtkmm</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/dev-cpp/gtksourceviewmm/gtksourceviewmm-3.18.0-r1.ebuild b/dev-cpp/gtksourceviewmm/gtksourceviewmm-3.18.0-r2.ebuild
index a44c29f5fc79..ecafc2003471 100644
--- a/dev-cpp/gtksourceviewmm/gtksourceviewmm-3.18.0-r1.ebuild
+++ b/dev-cpp/gtksourceviewmm/gtksourceviewmm-3.18.0-r2.ebuild
@@ -1,18 +1,17 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI="5"
-GCONF_DEBUG="no"
+EAPI=8
inherit gnome2
DESCRIPTION="C++ bindings for gtksourceview"
HOMEPAGE="https://wiki.gnome.org/Projects/GtkSourceView"
+LICENSE="LGPL-2.1"
+SLOT="3.0"
KEYWORDS="amd64 ppc x86"
IUSE="doc"
-SLOT="3.0"
-LICENSE="LGPL-2.1"
RDEPEND="
>=dev-cpp/glibmm-2.46.1:2
@@ -23,12 +22,12 @@ RDEPEND="
dev-cpp/cairomm:0
dev-cpp/pangomm:1.4
"
-DEPEND="${RDEPEND}
+DEPEND="${RDEPEND}"
+BDEPEND="
virtual/pkgconfig
- doc? ( app-doc/doxygen )
+ doc? ( app-text/doxygen )
"
src_configure() {
- DOCS="AUTHORS ChangeLog* NEWS README"
gnome2_src_configure $(use_enable doc documentation)
}
diff --git a/dev-cpp/gtksourceviewmm/metadata.xml b/dev-cpp/gtksourceviewmm/metadata.xml
index c6e394b17a27..df689d1fb575 100644
--- a/dev-cpp/gtksourceviewmm/metadata.xml
+++ b/dev-cpp/gtksourceviewmm/metadata.xml
@@ -5,4 +5,7 @@
<email>gnome@gentoo.org</email>
<name>Gentoo GNOME Desktop</name>
</maintainer>
+ <upstream>
+ <remote-id type="gnome-gitlab">GNOME/gtksourceviewmm</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/dev-cpp/gulrak-filesystem/Manifest b/dev-cpp/gulrak-filesystem/Manifest
new file mode 100644
index 000000000000..39209b25579e
--- /dev/null
+++ b/dev-cpp/gulrak-filesystem/Manifest
@@ -0,0 +1,2 @@
+DIST gulrak-filesystem-1.5.12.tar.gz 209661 BLAKE2B 9eb0bce08659396f3ef254b0ad772ae9ad29654aef3c90ab1f9eee1c4f830544ad947680e072fcf7d3c251a3afb77447617610c49931d50743444a6b88b4745d SHA512 2cba74921104fa84547288ff983260ce1e81967df6a7d2a334074826c355c72945ad64e6979cd302a23c5e3a398990706b01fc573c046512e9f508edca9da12c
+DIST gulrak-filesystem-1.5.14.tar.gz 211137 BLAKE2B 9734907da65e0f390e461d76c7b1c7e8ffa1a0f7f01e5952d69d9d6b6cc3c85e20f5e4495235f2589635fb665040bf2ee4def4d3bdcb0f3453a00ee8c4e8ac3f SHA512 6eae921485ecdaf4b8329a568b1f4f612ee491fc5fdeafce9c8000b9bf1a73b6fa4e07d0d4ddf05be49efe79e9bddfbcc0aba85529cb016668797a8d89eb9b82
diff --git a/dev-cpp/gulrak-filesystem/gulrak-filesystem-1.5.12.ebuild b/dev-cpp/gulrak-filesystem/gulrak-filesystem-1.5.12.ebuild
new file mode 100644
index 000000000000..e35c0185bc92
--- /dev/null
+++ b/dev-cpp/gulrak-filesystem/gulrak-filesystem-1.5.12.ebuild
@@ -0,0 +1,40 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+DESCRIPTION="Header-only single-file std::filesystem compatible helper library"
+HOMEPAGE="https://github.com/gulrak/filesystem"
+SRC_URI="https://github.com/gulrak/filesystem/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 ~arm64 x86"
+IUSE="examples test"
+RESTRICT="!test? ( test )"
+
+S="${WORKDIR}/${P#*-}"
+
+src_prepare() {
+ cmake_src_prepare
+ sed -i "s:-Werror::g" cmake/GhcHelper.cmake test/CMakeLists.txt || die
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DGHC_FILESYSTEM_BUILD_EXAMPLES=OFF
+ -DGHC_FILESYSTEM_BUILD_TESTING=$(usex test)
+ -DGHC_FILESYSTEM_WITH_INSTALL=ON
+ )
+
+ cmake_src_configure
+}
+
+src_install() {
+ cmake_src_install
+
+ docinto examples
+ use examples && dodoc examples/*.cpp
+}
diff --git a/dev-cpp/gulrak-filesystem/gulrak-filesystem-1.5.14.ebuild b/dev-cpp/gulrak-filesystem/gulrak-filesystem-1.5.14.ebuild
new file mode 100644
index 000000000000..cb9d6a8f4dcb
--- /dev/null
+++ b/dev-cpp/gulrak-filesystem/gulrak-filesystem-1.5.14.ebuild
@@ -0,0 +1,40 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+DESCRIPTION="Header-only single-file std::filesystem compatible helper library"
+HOMEPAGE="https://github.com/gulrak/filesystem"
+SRC_URI="https://github.com/gulrak/filesystem/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+IUSE="examples test"
+RESTRICT="!test? ( test )"
+
+S="${WORKDIR}/${P#*-}"
+
+src_prepare() {
+ cmake_src_prepare
+ sed -i "s:-Werror::g" cmake/GhcHelper.cmake test/CMakeLists.txt || die
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DGHC_FILESYSTEM_BUILD_EXAMPLES=OFF
+ -DGHC_FILESYSTEM_BUILD_TESTING=$(usex test)
+ -DGHC_FILESYSTEM_WITH_INSTALL=ON
+ )
+
+ cmake_src_configure
+}
+
+src_install() {
+ cmake_src_install
+
+ docinto examples
+ use examples && dodoc examples/*.cpp
+}
diff --git a/dev-cpp/gulrak-filesystem/metadata.xml b/dev-cpp/gulrak-filesystem/metadata.xml
new file mode 100644
index 000000000000..e567ba1ed010
--- /dev/null
+++ b/dev-cpp/gulrak-filesystem/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>chewi@gentoo.org</email>
+ <name>James Le Cuirot</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">gulrak/filesystem</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-cpp/highway/Manifest b/dev-cpp/highway/Manifest
new file mode 100644
index 000000000000..728a3cdb7277
--- /dev/null
+++ b/dev-cpp/highway/Manifest
@@ -0,0 +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/0001-fix-compile-for-armv7-targets-with-vfp4-and-lower.patch b/dev-cpp/highway/files/0001-fix-compile-for-armv7-targets-with-vfp4-and-lower.patch
new file mode 100644
index 000000000000..ebf448cfbb24
--- /dev/null
+++ b/dev-cpp/highway/files/0001-fix-compile-for-armv7-targets-with-vfp4-and-lower.patch
@@ -0,0 +1,123 @@
+https://github.com/google/highway/commit/dc63f813c465f3bf95cb5b98f01aeed28b81173c
+https://github.com/google/highway/pull/1143
+
+https://github.com/google/highway/issues/834
+https://github.com/google/highway/issues/1032
+
+https://bugs.gentoo.org/869077
+
+From dc63f813c465f3bf95cb5b98f01aeed28b81173c Mon Sep 17 00:00:00 2001
+From: Julien Olivain <ju.o@free.fr>
+Date: Mon, 20 Feb 2023 23:22:28 +0100
+Subject: [PATCH] Fix compilation for armv7 targets with vfp < v4 and gcc >= 8
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+When using a armv7 gcc >= 8 toolchain (like [1]) with Highway
+configured with -DHWY_CMAKE_ARM7=OFF and HWY_ENABLE_CONTRIB=ON,
+compilation fails with error:
+
+ In file included from /build/highway-1.0.3/hwy/ops/arm_neon-inl.h:33,
+ from /build/highway-1.0.3/hwy/highway.h:358,
+ from /build/highway-1.0.3/hwy/contrib/sort/shared-inl.h:104,
+ from /build/highway-1.0.3/hwy/contrib/sort/traits128-inl.h:27,
+ from /build/highway-1.0.3/hwy/contrib/sort/vqsort_128d.cc:23,
+ from /build/highway-1.0.3/hwy/foreach_target.h:81,
+ from /build/highway-1.0.3/hwy/contrib/sort/vqsort_128d.cc:20:
+ /toolchain/lib/gcc/arm-buildroot-linux-gnueabihf/12.2.0/include/arm_neon.h: In function ‘void hwy::N_NEON::StoreU(Vec128<long long unsigned int, 2>, Full128<long long unsigned int>, uint64_t*)’:
+ /toolchain/lib/gcc/arm-buildroot-linux-gnueabihf/12.2.0/include/arm_neon.h:11052:1: error: inlining failed in call to ‘always_inline’ ‘void vst1q_u64(uint64_t*, uint64x2_t)’: target specific option mismatch
+ 11052 | vst1q_u64 (uint64_t * __a, uint64x2_t __b)
+ | ^~~~~~~~~
+ /build/highway-1.0.3/hwy/ops/arm_neon-inl.h:2786:12: note: called from here
+ 2786 | vst1q_u64(unaligned, v.raw);
+ | ~~~~~~~~~^~~~~~~~~~~~~~~~~~
+
+The same errors happen when configured with HWY_ENABLE_EXAMPLES=ON,
+or from client libraries like libjxl (at other places).
+
+The issue is that Highway Arm NEON ops have a dependency on the
+Advanced SIMD (Neon) v2 and the VFPv4 floating-point instructions.
+The SIMD (Neon) v1 and VFPv3 instructions are not supported.
+
+There was several attempts to fix variants of this issues.
+See #834 and #1032.
+
+HWY_NEON target is selected only if __ARM_NEON is defined. See:
+https://github.com/google/highway/blob/1.0.3/hwy/detect_targets.h#L251
+
+This test is not sufficient since __ARM_NEON will be predefined in
+any cases when Neon is enabled (neon-vfpv3, neon-vfpv4).
+
+The issue is that HWY_CMAKE_ARM7=ON implies VFPv4 / NEON SIMD v2.
+When setting HWY_CMAKE_ARM7=OFF, "neon-vfpv4" will not be forced,
+but the code is still using intrinsics assuming VFPv4. Gcc will fail
+with error because code cannot be generated for the selected
+architecture.
+
+This issue can be avoided by adding "-DHWY_DISABLED_TARGETS=HWY_NEON" in
+CXXFLAGS. The problem with this solution is that every client program will
+also need to do the same. This goes against the very purpose of
+"hwy/detect_targets.h".
+
+Technically, Armv7-a processors with VFPv4 can be detected using some
+ACLE (Arm C Language Extensions [2]) predefined macros:
+
+Basically, we want Highway to define HWY_NEON only when the target
+supports SIMDv2/VFPv4 or higher. An older target with vfpv3 only
+(e.g. Cortex-A8, A9, ...) would NOT define HWY_NEON, and therefore
+would fallback on HWY_SCALAR implementation.
+
+However, not all compiler completely support ACLE. There is also
+several versions too. So we cannot easily rely on macros like
+"__ARM_VFPV4__" (which clang predefine, but not gcc).
+
+The alternative solution proposed in this patch, is to declare the
+HWY_NEON target architecture as broken, when we detect the target is
+Armv7-A, but mandatory features for vfpv4 (namely half-float, FMA)
+are missing. Half-floats are tested using the macro __ARM_NEON_FP,
+and the FMA with the macro __ARM_FEATURE_FMA. See ACLE [2]. The
+intent of declaring the target as broken, rather than selecting
+HWY_NEON only if vfpv4 features are detected is to remain a bit
+conservative, since the detection is slithly inaccurate.
+
+For a given compiler/cflags, predefined macros for Arm/ACLE can be
+reviewed with commands like:
+
+ arm-linux-gnueabihf-gcc -mcpu=cortex-a9 -mfpu=neon-vfpv3 -Wp,-dM -E -c - < /dev/null | grep -Fi arm | sort
+ arm-linux-gnueabihf-gcc -mcpu=cortex-a7 -mfpu=neon-vfpv4 -Wp,-dM -E -c - < /dev/null | grep -Fi arm | sort
+ clang -target armv7a -mcpu=cortex-a9 -mfpu=neon-vfpv3 -mfloat-abi=hard -Wp,-dM -E -c - < /dev/null | grep -Fi arm | sort
+ clang -target armv7a -mcpu=cortex-a7 -mfpu=neon-vfpv4 -mfloat-abi=hard -Wp,-dM -E -c - < /dev/null | grep -Fi arm | sort
+
+The different values of __ARM_NEON_FP can be seen, depending which
+"-mfpu" is passed. Same for __ARM_FEATURE_FMA.
+
+[1] https://toolchains.bootlin.com/downloads/releases/toolchains/armv7-eabihf/tarballs/armv7-eabihf--glibc--bleeding-edge-2022.08-1.tar.bz2
+[2] https://github.com/ARM-software/acle/
+
+Signed-off-by: Julien Olivain <ju.o@free.fr>
+---
+ hwy/detect_targets.h | 10 ++++++++++
+ 1 file changed, 10 insertions(+)
+
+diff --git a/hwy/detect_targets.h b/hwy/detect_targets.h
+index 2beca95b..40ae7fe7 100644
+--- a/hwy/detect_targets.h
++++ b/hwy/detect_targets.h
+@@ -154,6 +154,16 @@
+ (defined(__BYTE_ORDER) && __BYTE_ORDER == __BIG_ENDIAN))
+ #define HWY_BROKEN_TARGETS (HWY_NEON)
+
++// armv7-a without a detected vfpv4 is not supported
++// (for example Cortex-A8, Cortex-A9)
++// vfpv4 always have neon half-float _and_ FMA.
++#elif HWY_ARCH_ARM_V7 && \
++ (__ARM_ARCH_PROFILE == 'A') && \
++ !defined(__ARM_VFPV4__) && \
++ !((__ARM_NEON_FP & 0x2 /* half-float */) && \
++ (__ARM_FEATURE_FMA == 1))
++#define HWY_BROKEN_TARGETS (HWY_NEON)
++
+ // SVE[2] require recent clang or gcc versions.
+ #elif (HWY_COMPILER_CLANG && HWY_COMPILER_CLANG < 1100) || \
+ (HWY_COMPILER_GCC_ACTUAL && HWY_COMPILER_GCC_ACTUAL < 1000)
diff --git a/dev-cpp/highway/files/0002-fix-armv7-neon-detect-via-asm-hwcap.patch b/dev-cpp/highway/files/0002-fix-armv7-neon-detect-via-asm-hwcap.patch
new file mode 100644
index 000000000000..298b5a82f1c2
--- /dev/null
+++ b/dev-cpp/highway/files/0002-fix-armv7-neon-detect-via-asm-hwcap.patch
@@ -0,0 +1,29 @@
+https://github.com/google/highway/commit/f3a33e8204b69f9e21b5fbd8036c11128cec0d2e.patch
+https://github.com/google/highway/issues/1199
+
+https://bugs.gentoo.org/900352
+
+From f3a33e8204b69f9e21b5fbd8036c11128cec0d2e Mon Sep 17 00:00:00 2001
+From: Jan Wassenberg <janwas@google.com>
+Date: Tue, 7 Mar 2023 22:59:17 -0800
+Subject: [PATCH] fix arm7 NEON detect, thanks @stefson. Fixes #1199
+
+PiperOrigin-RevId: 514940076
+---
+ hwy/targets.cc | 3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git a/hwy/targets.cc b/hwy/targets.cc
+index dc4217c..24fcaf7 100644
+--- a/hwy/targets.cc
++++ b/hwy/targets.cc
+@@ -43,6 +43,9 @@
+ #endif // HWY_COMPILER_MSVC
+
+ #elif HWY_ARCH_ARM && HWY_OS_LINUX && !defined(TOOLCHAIN_MISS_SYS_AUXV_H)
++// sys/auxv.h does not always include asm/hwcap.h, or define HWCAP*, hence we
++// still include this directly. See #1199.
++#include <asm/hwcap.h>
+ #include <sys/auxv.h>
+ #endif // HWY_ARCH_*
+
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.1-r1.ebuild b/dev-cpp/highway/highway-1.0.1-r1.ebuild
new file mode 100644
index 000000000000..b0a7900ce124
--- /dev/null
+++ b/dev-cpp/highway/highway-1.0.1-r1.ebuild
@@ -0,0 +1,41 @@
+# Copyright 2021-2023 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="amd64 arm arm64 ~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}"/0001-fix-compile-for-armv7-targets-with-vfp4-and-lower.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.3-r1.ebuild b/dev-cpp/highway/highway-1.0.3-r1.ebuild
new file mode 100644
index 000000000000..ca9b6d7281fe
--- /dev/null
+++ b/dev-cpp/highway/highway-1.0.3-r1.ebuild
@@ -0,0 +1,42 @@
+# Copyright 2021-2023 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}"/0001-fix-compile-for-armv7-targets-with-vfp4-and-lower.patch
+ "${FILESDIR}"/0002-fix-armv7-neon-detect-via-asm-hwcap.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.3.ebuild b/dev-cpp/highway/highway-1.0.3.ebuild
new file mode 100644
index 000000000000..86b378e34909
--- /dev/null
+++ b/dev-cpp/highway/highway-1.0.3.ebuild
@@ -0,0 +1,41 @@
+# Copyright 2021-2023 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="~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}"/0001-fix-compile-for-armv7-targets-with-vfp4-and-lower.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.5.ebuild b/dev-cpp/highway/highway-1.0.5.ebuild
new file mode 100644
index 000000000000..9314e1341deb
--- /dev/null
+++ b/dev-cpp/highway/highway-1.0.5.ebuild
@@ -0,0 +1,37 @@
+# Copyright 2021-2023 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/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/highway/highway-9999.ebuild b/dev-cpp/highway/highway-9999.ebuild
new file mode 100644
index 000000000000..fb0f2177c586
--- /dev/null
+++ b/dev-cpp/highway/highway-9999.ebuild
@@ -0,0 +1,37 @@
+# Copyright 2021-2023 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="~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/highway/metadata.xml b/dev-cpp/highway/metadata.xml
new file mode 100644
index 000000000000..d9573774549a
--- /dev/null
+++ b/dev-cpp/highway/metadata.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person" proxied="yes">
+ <email>dnovomesky@gmail.com</email>
+ <name>Daniel Novomesky</name>
+ </maintainer>
+ <maintainer type="project" proxied="proxy">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+ </maintainer>
+ <longdescription>
+ Highway is a C++ library for SIMD (Single Instruction, Multiple Data),
+ i.e. applying the same operation to multiple 'lanes' using a single CPU instruction.
+ </longdescription>
+ <upstream>
+ <remote-id type="github">google/highway</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-cpp/htmlcxx/htmlcxx-0.87.ebuild b/dev-cpp/htmlcxx/htmlcxx-0.87.ebuild
index 3ac9069308c3..2fabe282f52c 100644
--- a/dev-cpp/htmlcxx/htmlcxx-0.87.ebuild
+++ b/dev-cpp/htmlcxx/htmlcxx-0.87.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -10,7 +10,7 @@ HOMEPAGE="http://htmlcxx.sourceforge.net/"
SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
LICENSE="LGPL-2"
SLOT="0"
-KEYWORDS="~amd64 ~x86"
+KEYWORDS="~amd64 ~loong ~x86"
IUSE="static-libs"
PATCHES=(
diff --git a/dev-cpp/json11/files/json11-1.0.0-json11.pc-do-not-state-the-defaults.patch b/dev-cpp/json11/files/json11-1.0.0-json11.pc-do-not-state-the-defaults.patch
new file mode 100644
index 000000000000..76b1591d1150
--- /dev/null
+++ b/dev-cpp/json11/files/json11-1.0.0-json11.pc-do-not-state-the-defaults.patch
@@ -0,0 +1,22 @@
+From d98236beaf015f2693589fca1904fb0dd01b2e6d Mon Sep 17 00:00:00 2001
+From: Florian Schmaus <flo@geekplace.eu>
+Date: Wed, 1 Mar 2023 10:16:49 +0100
+Subject: [PATCH] json11.pc: do not state the defaults
+
+This appearantly breaks multi-arch installations. See
+https://bugs.gentoo.org/863098
+
+Suggested-by: Thomas Scheider <qsx@chaotikum.eu>
+Signed-off-by: Florian Schmaus <flow@gentoo.org>
+--- a/json11.pc.in
++++ b/json11.pc.in
+@@ -5,5 +5,4 @@ includedir=${prefix}/include/@CMAKE_LIBRARY_ARCHITECTURE@
+ Name: @PROJECT_NAME@
+ Description: json11 is a tiny JSON library for C++11, providing JSON parsing and serialization.
+ Version: @PROJECT_VERSION@
+-Libs: -L${libdir} -ljson11
+-Cflags: -I${includedir}
++Libs: -ljson11
+--
+2.39.2
+
diff --git a/dev-cpp/json11/json11-1.0.0.ebuild b/dev-cpp/json11/json11-1.0.0-r1.ebuild
index 94fcfeb98c40..ab8457f641aa 100644
--- a/dev-cpp/json11/json11-1.0.0.ebuild
+++ b/dev-cpp/json11/json11-1.0.0-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 2021 Gentoo Authors
+# Copyright 2022-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -11,8 +11,9 @@ SRC_URI="https://github.com/dropbox/json11/archive/refs/tags/v${PV}.tar.gz -> ${
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~amd64"
+KEYWORDS="amd64 x86"
PATCHES=(
"${FILESDIR}"/${P}-fix-multiarch-install.patch
+ "${FILESDIR}"/${PN}-1.0.0-json11.pc-do-not-state-the-defaults.patch
)
diff --git a/dev-cpp/json11/metadata.xml b/dev-cpp/json11/metadata.xml
index 87a759d410cf..6947f6c749e8 100644
--- a/dev-cpp/json11/metadata.xml
+++ b/dev-cpp/json11/metadata.xml
@@ -1,8 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<name>Florian Schmaus</name>
<email>flow@gentoo.org</email>
</maintainer>
+ <upstream>
+ <remote-id type="github">dropbox/json11</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/dev-cpp/jwt-cpp/Manifest b/dev-cpp/jwt-cpp/Manifest
new file mode 100644
index 000000000000..d7c46cc86fec
--- /dev/null
+++ b/dev-cpp/jwt-cpp/Manifest
@@ -0,0 +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/files/jwt-cpp-0.6.0-gcc13.patch b/dev-cpp/jwt-cpp/files/jwt-cpp-0.6.0-gcc13.patch
new file mode 100644
index 000000000000..3fef24536a86
--- /dev/null
+++ b/dev-cpp/jwt-cpp/files/jwt-cpp-0.6.0-gcc13.patch
@@ -0,0 +1,14 @@
+From: Hannu Lounento <hannu.lounento@vaisala.com>
+Bug: https://github.com/Thalhammer/jwt-cpp/pull/287
+
+Fix build with GCC 13.
+
+--- a/include/jwt-cpp/base.h
++++ b/include/jwt-cpp/base.h
+@@ -3,6 +3,7 @@
+
+ #include <array>
++#include <cstdint>
+ #include <stdexcept>
+ #include <string>
+
diff --git a/dev-cpp/jwt-cpp/jwt-cpp-0.6.0.ebuild b/dev-cpp/jwt-cpp/jwt-cpp-0.6.0.ebuild
new file mode 100644
index 000000000000..a3b24a464bd2
--- /dev/null
+++ b/dev-cpp/jwt-cpp/jwt-cpp-0.6.0.ebuild
@@ -0,0 +1,82 @@
+# 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 )
+"
+PATCHES=(
+ "${FILESDIR}"/"${PN}"-0.6.0-gcc13.patch
+)
+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/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/jwt-cpp/metadata.xml b/dev-cpp/jwt-cpp/metadata.xml
new file mode 100644
index 000000000000..1d76ea260c5a
--- /dev/null
+++ b/dev-cpp/jwt-cpp/metadata.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person" proxied="yes">
+ <email>o.freyermuth@googlemail.com</email>
+ <name>Oliver Freyermuth</name>
+ </maintainer>
+ <maintainer type="person">
+ <email>amadio@gentoo.org</email>
+ <name>Guilherme Amadio</name>
+ </maintainer>
+ <maintainer type="project" proxied="proxy">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+ </maintainer>
+ <upstream>
+ <bugs-to>https://github.com/Thalhammer/jwt-cpp/issues</bugs-to>
+ <remote-id type="github">Thalhammer/jwt-cpp</remote-id>
+ </upstream>
+ <use>
+ <flag name="picojson">Enable use of <pkg>dev-cpp/picojson</pkg></flag>
+ </use>
+</pkgmetadata>
diff --git a/dev-cpp/kokkos/Manifest b/dev-cpp/kokkos/Manifest
index f3ff39125493..6d7dbbb743e7 100644
--- a/dev-cpp/kokkos/Manifest
+++ b/dev-cpp/kokkos/Manifest
@@ -1,2 +1 @@
-DIST kokkos-3.0.00.tar.gz 1923287 BLAKE2B 4a2935e9388b3d577d6ce8678cad37830970222e6ce8a9c3db67633cb521440f14fdb380f03d3c77cd5ade85abe94aef97e9cc4949cc3a140fae958e0c15fff8 SHA512 c9daf62a2c92462c815aa241934aca5720bac8f88195635ae5a3ff4111d289a48898d32358b91e120756d3412820050297a76f44828f4cbc0b2b837a736e84aa
-DIST kokkos-3.1.01.tar.gz 1972707 BLAKE2B fe31556ecba6b01ed6e480f0cb4ca4d7dc487d6b2a7e52df94d0e93b864ed5269a752f4fcdbacb55383e9dee3b72236f121b67d2f5eed10f3351219b063e7099 SHA512 4fa428ec33ec207147b3fcc5e0d297bcff4ed772ba6baa24ccaf56b691b72b70c69bd48fdf134f4e78234bf755377fe01a31611a41539c2d211ba9caed24b1f2
+DIST kokkos-4.0.1.tar.gz 2322402 BLAKE2B a4aba2f7ffe7b7c93051ad65d398f442b753975eceb3f83ed1bff0b8c468e4ffdcb6437989e740c65fc550f17ef8ddf78ca50ca881d3953f886309dc7d6fc597 SHA512 cf6742f4be777b52673858b49cf68fdf335e760509688483e62ef41af5026070f69dcf39d010134c85dc6c4868f82a38900872be11ed43190432c8530b90deee
diff --git a/dev-cpp/kokkos/kokkos-3.0.00.ebuild b/dev-cpp/kokkos/kokkos-3.0.00.ebuild
deleted file mode 100644
index 26eebf60bcdc..000000000000
--- a/dev-cpp/kokkos/kokkos-3.0.00.ebuild
+++ /dev/null
@@ -1,45 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit cmake-utils toolchain-funcs
-
-DESCRIPTION="Kokkos C++ Performance Portability Programming EcoSystem"
-HOMEPAGE="https://github.com/kokkos"
-SRC_URI="https://github.com/${PN}/${PN}/archive/${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}"
-BDEPEND=""
-
-pkg_setup() {
- if [[ ${MERGE_TYPE} != binary ]] && \
- use openmp && ! tc-has-openmp ; then
- die "Need an OpenMP capable compiler"
- fi
-}
-
-src_configure() {
- local mycmakeargs=(
- -DCMAKE_INSTALL_INCLUDEDIR=include/kokkos
- -DKokkos_ENABLE_TESTS=$(usex test)
- -DKokkos_ENABLE_AGGRESSIVE_VECTORIZATION=ON
- -DKokkos_ENABLE_DEPRECATED_CODE=ON
- -DKokkos_ENABLE_SERIAL=ON
- -DKokkos_ENABLE_HWLOC=ON
- -DKokkos_HWLOC_DIR="${EPREFIX}/usr"
- -DKokkos_ENABLE_OPENMP=$(usex openmp)
- -DBUILD_SHARED_LIBS=ON
- )
-
- cmake-utils_src_configure
-}
diff --git a/dev-cpp/kokkos/kokkos-3.1.01.ebuild b/dev-cpp/kokkos/kokkos-4.0.1.ebuild
index 2456f83dc2df..a83617a9795f 100644
--- a/dev-cpp/kokkos/kokkos-3.1.01.ebuild
+++ b/dev-cpp/kokkos/kokkos-4.0.1.ebuild
@@ -1,29 +1,32 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
inherit cmake toolchain-funcs
DESCRIPTION="C++ Performance Portability Programming EcoSystem"
HOMEPAGE="https://github.com/kokkos"
-SRC_URI="https://github.com/${PN}/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+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"
+KEYWORDS="amd64 -x86"
IUSE="+openmp test"
RESTRICT="!test? ( test )"
-DEPEND="sys-apps/hwloc"
+DEPEND="sys-apps/hwloc:="
RDEPEND="${DEPEND}"
-BDEPEND=""
+
+S="${WORKDIR}/${PN}-${MY_PV}"
+
+pkg_pretend() {
+ [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
+}
pkg_setup() {
- if [[ ${MERGE_TYPE} != binary ]] && \
- use openmp && ! tc-has-openmp ; then
- die "Need an OpenMP capable compiler"
- fi
+ [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
}
src_configure() {
@@ -31,7 +34,6 @@ src_configure() {
-DCMAKE_INSTALL_INCLUDEDIR=include/kokkos
-DKokkos_ENABLE_TESTS=$(usex test)
-DKokkos_ENABLE_AGGRESSIVE_VECTORIZATION=ON
- -DKokkos_ENABLE_DEPRECATED_CODE=ON
-DKokkos_ENABLE_SERIAL=ON
-DKokkos_ENABLE_HWLOC=ON
-DKokkos_HWLOC_DIR="${EPREFIX}/usr"
@@ -41,3 +43,14 @@ src_configure() {
cmake_src_configure
}
+
+src_test() {
+ local myctestargs=(
+ # Contains "death tests" which are known/expected(?) to fail
+ # https://github.com/kokkos/kokkos/issues/3033
+ # bug #791514
+ -E "(KokkosCore_UnitTest_OpenMP|KokkosCore_UnitTest_Serial)"
+ )
+
+ cmake_src_test
+}
diff --git a/dev-cpp/kokkos/metadata.xml b/dev-cpp/kokkos/metadata.xml
index 2c14fd89dd2e..5a851f194061 100644
--- a/dev-cpp/kokkos/metadata.xml
+++ b/dev-cpp/kokkos/metadata.xml
@@ -2,7 +2,14 @@
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
- <email>junghans@gentoo.org</email>
- <name>Christoph Junghans</name>
+ <email>tamiko@gentoo.org</email>
+ <name>Matthias Maier</name>
</maintainer>
+ <maintainer type="project">
+ <email>sci@gentoo.org</email>
+ <name>Gentoo Science Project</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">kokkos/kokkos</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/dev-cpp/libcmis/Manifest b/dev-cpp/libcmis/Manifest
index c1568ef2f82e..86f9994fa42b 100644
--- a/dev-cpp/libcmis/Manifest
+++ b/dev-cpp/libcmis/Manifest
@@ -1 +1 @@
-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/files/libcmis-0.6.2-libxml2-2.12.patch b/dev-cpp/libcmis/files/libcmis-0.6.2-libxml2-2.12.patch
new file mode 100644
index 000000000000..a00fb863dcb5
--- /dev/null
+++ b/dev-cpp/libcmis/files/libcmis-0.6.2-libxml2-2.12.patch
@@ -0,0 +1,26 @@
+From 72618e63433c7243e4d9e79a638f19a09402eecc Mon Sep 17 00:00:00 2001
+From: Andreas Sturmlechner <asturm@gentoo.org>
+Date: Tue, 21 Nov 2023 23:10:07 +0100
+Subject: [PATCH] Fix build with libxml2-2.12 (missing include)
+
+See also: https://github.com/tdf/libcmis/issues/51
+Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
+---
+ inc/libcmis/xml-utils.hxx | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/inc/libcmis/xml-utils.hxx b/inc/libcmis/xml-utils.hxx
+index 929385e..9bd99ae 100644
+--- a/inc/libcmis/xml-utils.hxx
++++ b/inc/libcmis/xml-utils.hxx
+@@ -34,6 +34,7 @@
+ #include <string>
+
+ #include <boost/date_time.hpp>
++#include <libxml/parser.h>
+ #include <libxml/tree.h>
+ #include <libxml/xpathInternals.h>
+ #include <libxml/xmlwriter.h>
+--
+2.43.0
+
diff --git a/dev-cpp/libcmis/libcmis-0.5.2-r1.ebuild b/dev-cpp/libcmis/libcmis-0.6.2.ebuild
index 6fcf5cd2b07a..c20057c85432 100644
--- a/dev-cpp/libcmis/libcmis-0.5.2-r1.ebuild
+++ b/dev-cpp/libcmis/libcmis-0.6.2.ebuild
@@ -1,25 +1,34 @@
-# Copyright 1999-2019 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
-if [[ ${PV} = 9999 ]]; then
+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"
- KEYWORDS="amd64 ~arm arm64 ~ppc64 x86 ~amd64-linux ~x86-linux"
+ KEYWORDS="amd64 ~arm arm64 ~loong ppc64 ~riscv x86 ~amd64-linux ~x86-linux"
fi
-inherit autotools flag-o-matic
+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"
+SLOT="0/0.6"
+IUSE="man test tools"
-IUSE="man static-libs test tools"
+RESTRICT="test"
+DEPEND="
+ dev-libs/boost:=
+ dev-libs/libxml2
+ net-misc/curl
+"
+RDEPEND="${DEPEND}
+ !dev-cpp/libcmis:0.5
+"
BDEPEND="
virtual/pkgconfig
man? (
@@ -31,16 +40,9 @@ BDEPEND="
dev-util/cppunit
)
"
-DEPEND="
- dev-libs/boost:=
- dev-libs/libxml2
- net-misc/curl
-"
-RDEPEND="${DEPEND}"
-RESTRICT="test"
-
-PATCHES=( "${FILESDIR}/${P}-icu-64.2.patch" )
+# https://github.com/tdf/libcmis/pull/52
+PATCHES=( "${FILESDIR}/${P}-libxml2-2.12.patch" ) # bug 917523
src_prepare() {
default
@@ -48,14 +50,9 @@ src_prepare() {
}
src_configure() {
- # bug 618778
- append-cxxflags -std=c++14
-
local myeconfargs=(
- --program-suffix=-$(ver_cut 1-2)
--disable-werror
$(use_with man)
- $(use_enable static-libs static)
$(use_enable test tests)
$(use_enable tools client)
)
diff --git a/dev-cpp/libcmis/libcmis-9999.ebuild b/dev-cpp/libcmis/libcmis-9999.ebuild
index a060dbb78ee9..1d4b60e4cd0e 100644
--- a/dev-cpp/libcmis/libcmis-9999.ebuild
+++ b/dev-cpp/libcmis/libcmis-9999.ebuild
@@ -1,25 +1,34 @@
-# Copyright 1999-2019 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
-if [[ ${PV} = 9999 ]]; then
+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"
- KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86 ~amd64-linux ~x86-linux"
+ KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~x86 ~amd64-linux ~x86-linux"
fi
-inherit autotools flag-o-matic
+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"
+SLOT="0/0.6"
+IUSE="man test tools"
-IUSE="man static-libs test tools"
+RESTRICT="test"
+DEPEND="
+ dev-libs/boost:=
+ dev-libs/libxml2
+ net-misc/curl
+"
+RDEPEND="${DEPEND}
+ !dev-cpp/libcmis:0.5
+"
BDEPEND="
virtual/pkgconfig
man? (
@@ -31,14 +40,6 @@ BDEPEND="
dev-util/cppunit
)
"
-DEPEND="
- dev-libs/boost:=
- dev-libs/libxml2
- net-misc/curl
-"
-RDEPEND="${DEPEND}"
-
-RESTRICT="test"
src_prepare() {
default
@@ -46,14 +47,9 @@ src_prepare() {
}
src_configure() {
- # bug 618778
- append-cxxflags -std=c++14
-
local myeconfargs=(
- --program-suffix=-$(ver_cut 1-2)
--disable-werror
$(use_with man)
- $(use_enable static-libs static)
$(use_enable test tests)
$(use_enable tools client)
)
diff --git a/dev-cpp/libglademm/Manifest b/dev-cpp/libglademm/Manifest
deleted file mode 100644
index 252367f0fc89..000000000000
--- a/dev-cpp/libglademm/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST libglademm-2.6.7.tar.bz2 326385 BLAKE2B b79bd099f7eba02585921cd88331cd3c2f0a362396efded2996b149689f1869146a81ef174e9f983f348fe231866e4dcc719eeef62f5f3a2b0ba5dbaf1375504 SHA512 d7042d0549df9322d3202d5c0733d65b153a8ff451bb9e401b9d93a915ec4c2c086428e4febcbae2ecec5936955b7afbc59beff93d492f23b7b8e2b19fe806b0
diff --git a/dev-cpp/libglademm/libglademm-2.6.7-r2.ebuild b/dev-cpp/libglademm/libglademm-2.6.7-r2.ebuild
deleted file mode 100644
index 4b75e756ca7e..000000000000
--- a/dev-cpp/libglademm/libglademm-2.6.7-r2.ebuild
+++ /dev/null
@@ -1,74 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="5"
-GCONF_DEBUG="no"
-GNOME_TARBALL_SUFFIX="bz2"
-
-inherit eutils flag-o-matic gnome2 multilib-minimal
-
-DESCRIPTION="C++ bindings for libglade"
-HOMEPAGE="https://www.gtkmm.org"
-
-LICENSE="LGPL-2.1+"
-SLOT="2.4"
-KEYWORDS="~alpha amd64 arm ~hppa ~ia64 ppc ppc64 sparc x86"
-IUSE="doc examples"
-
-RDEPEND="
- >=gnome-base/libglade-2.6.4-r1:2.0[${MULTILIB_USEDEP}]
- >=dev-cpp/gtkmm-2.24.3:2.4[${MULTILIB_USEDEP}]
- >=dev-cpp/glibmm-2.34.1:2[${MULTILIB_USEDEP}]
-"
-DEPEND="${RDEPEND}
- virtual/pkgconfig
-"
-
-src_prepare() {
- # we will control install manually in install
- sed -i 's/^\(SUBDIRS =.*\)docs\(.*\)$/\1\2/' Makefile.am Makefile.in || \
- die "sed Makefile.{am,in} failed (1)"
-
- # don't waste time building the examples
- sed -i 's/^\(SUBDIRS =.*\)examples\(.*\)$/\1\2/' \
- Makefile.am Makefile.in || die "sed Makefile.{am,in} failed (2)"
-
- append-cxxflags -std=c++11 #566584
-
- gnome2_src_prepare
-}
-
-multilib_src_configure() {
- ECONF_SOURCE="${S}" gnome2_src_configure
-}
-
-multilib_src_compile() {
- gnome2_src_compile
-
- if multilib_is_native_abi && use doc; then
- emake -C "docs/reference" all
- fi
-}
-
-multilib_src_install() {
- gnome2_src_install
-
- if use examples; then
- emake -C "examples" distclean
- fi
-}
-
-multilib_src_install_all() {
- einstalldocs
-
- if use doc ; then
- dohtml -r docs/reference/html/*
- fi
-
- if use examples; then
- find "${S}/examples" -name "Makefile*" -delete \
- || die "examples cleanup failed"
- insinto "/usr/share/doc/${PF}"
- doins -r examples
- fi
-}
diff --git a/dev-cpp/libglademm/metadata.xml b/dev-cpp/libglademm/metadata.xml
deleted file mode 100644
index 7b343b06be8a..000000000000
--- a/dev-cpp/libglademm/metadata.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
-<maintainer type="project">
- <email>gnome@gentoo.org</email>
- <name>Gentoo GNOME Desktop</name>
-</maintainer>
-</pkgmetadata>
diff --git a/dev-cpp/libgnomecanvasmm/Manifest b/dev-cpp/libgnomecanvasmm/Manifest
deleted file mode 100644
index fc13b2438e4c..000000000000
--- a/dev-cpp/libgnomecanvasmm/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST libgnomecanvasmm-2.26.0.tar.bz2 327215 BLAKE2B 87cfc59d0825ad2b345bbeff7ba6ce74744228a359d61c8c6b86cef308827c78410b4633737ab9040f6dbdf7f37ed0ea376d28ab4194266f9c784b8b07d1f76d SHA512 23795c856674b79f82d2e5cffdfdbf67a387fe6a21081fef1d96d0f614a121710c7f1e175612a286f5946a60cea4e8506aef7833a7bdf73084d6266c09aad66b
diff --git a/dev-cpp/libgnomecanvasmm/libgnomecanvasmm-2.26.0-r1.ebuild b/dev-cpp/libgnomecanvasmm/libgnomecanvasmm-2.26.0-r1.ebuild
deleted file mode 100644
index d18b3c0b1342..000000000000
--- a/dev-cpp/libgnomecanvasmm/libgnomecanvasmm-2.26.0-r1.ebuild
+++ /dev/null
@@ -1,56 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="5"
-GCONF_DEBUG="no"
-GNOME_TARBALL_SUFFIX="bz2"
-
-inherit flag-o-matic gnome2
-
-DESCRIPTION="C++ bindings for libgnomecanvas"
-HOMEPAGE="https://www.gtkmm.org"
-
-LICENSE="LGPL-2.1"
-SLOT="2.6"
-KEYWORDS="~alpha amd64 arm ~ia64 ppc ppc64 sparc x86"
-IUSE="doc examples"
-
-RDEPEND="
- >=gnome-base/libgnomecanvas-2.6
- >=dev-cpp/gtkmm-2.4:2.4
-"
-DEPEND="${RDEPEND}
- virtual/pkgconfig
- doc? ( app-doc/doxygen )
-"
-
-src_prepare() {
- if ! use examples; then
- # don't waste time building the examples
- sed -i 's/^\(SUBDIRS =.*\)examples\(.*\)$/\1\2/' Makefile.in || \
- die "sed Makefile.in failed"
- fi
- gnome2_src_prepare
- append-cxxflags -std=c++11 #568300
-}
-
-src_compile() {
- gnome2_src_compile
-
- if use doc; then
- cd "${S}/docs/reference"
- emake all
- fi
-}
-
-src_install() {
- gnome2_src_install
-
- if use doc ; then
- dohtml -r docs/reference/html/*
- fi
-
- if use examples; then
- cp -R examples "${D}/usr/share/doc/${PF}"
- fi
-}
diff --git a/dev-cpp/libgnomecanvasmm/metadata.xml b/dev-cpp/libgnomecanvasmm/metadata.xml
deleted file mode 100644
index 7b343b06be8a..000000000000
--- a/dev-cpp/libgnomecanvasmm/metadata.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
-<maintainer type="project">
- <email>gnome@gentoo.org</email>
- <name>Gentoo GNOME Desktop</name>
-</maintainer>
-</pkgmetadata>
diff --git a/dev-cpp/libjson-rpc-cpp/Manifest b/dev-cpp/libjson-rpc-cpp/Manifest
index 9296ea8ddd57..4173caf1a46e 100644
--- a/dev-cpp/libjson-rpc-cpp/Manifest
+++ b/dev-cpp/libjson-rpc-cpp/Manifest
@@ -1,2 +1 @@
-DIST libjson-rpc-cpp-1.3.0.tar.gz 182354 BLAKE2B 512392c37e61833a98c1f682bdbb3ed0e3c72ff56f17407d49e5a0f134795daf5ff4c2702dd5222bfc8962b2c9a56c0c7856cc8fe1b923ea68c369a24d334b5c SHA512 4eb53c7b77845a0e845e42413c491dcfa1d6f72411276e8614dae6612edde8905013588465437ea39c5cc5700c2d48df07d15c83222924fc24e015fb9f7a02ea
DIST libjson-rpc-cpp-1.4.0.tar.gz 179478 BLAKE2B 1b5807665a5e055790a6ca3e977845ab6b8dc7fbcaf6baece170567cc4c5b16202b74cb72f47136a075352ee408dac26de85cf02e41873cbbb55aeac1145e1a6 SHA512 28774604fe91f0893fb36017f648556dced71cb731f0f76c95084af5dd35e167b69a0f5fdb64557ff273f7dc971bc6c469e4f32ada35d7cac18add18baf2f5ae
diff --git a/dev-cpp/libjson-rpc-cpp/libjson-rpc-cpp-1.3.0.ebuild b/dev-cpp/libjson-rpc-cpp/libjson-rpc-cpp-1.3.0.ebuild
deleted file mode 100644
index 81b0d2bc5010..000000000000
--- a/dev-cpp/libjson-rpc-cpp/libjson-rpc-cpp-1.3.0.ebuild
+++ /dev/null
@@ -1,68 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit cmake
-
-DESCRIPTION="JSON-RPC (1.0 & 2.0) framework for C++"
-HOMEPAGE="https://github.com/cinemast/libjson-rpc-cpp"
-SRC_URI="https://github.com/cinemast/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0/1"
-KEYWORDS="~amd64 ~x86"
-IUSE="doc +http-client +http-server redis-client redis-server +stubgen test"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- dev-libs/jsoncpp:=
- http-client? ( net-misc/curl:= )
- http-server? ( net-libs/libmicrohttpd:= )
- redis-client? ( dev-libs/hiredis:= )
- redis-server? ( dev-libs/hiredis:= )
- stubgen? ( dev-libs/argtable:= )"
-DEPEND="${RDEPEND}
- doc? ( app-doc/doxygen )
- test? ( dev-cpp/catch:0 )"
-
-src_configure() {
- local mycmakeargs=(
- -DHTTP_CLIENT=$(usex http-client)
- -DHTTP_SERVER=$(usex http-server)
- -DREDIS_CLIENT=$(usex redis-client)
- -DREDIS_SERVER=$(usex redis-server)
- # they have no deps
- -DTCP_SOCKET_CLIENT=ON
- -DTCP_SOCKET_SERVER=ON
- -DSERIAL_PORT_CLIENT=ON
- -DSERIAL_PORT_SERVER=ON
- -DUNIX_DOMAIN_SOCKET_CLIENT=ON
- -DUNIX_DOMAIN_SOCKET_SERVER=ON
- # they are not installed
- -DCOMPILE_EXAMPLES=OFF
- -DCOMPILE_STUBGEN=$(usex stubgen)
- -DCOMPILE_TESTS=$(usex test)
- -DCATCH_INCLUDE_DIR="${EPREFIX}/usr/include/catch2"
- )
-
- cmake_src_configure
-}
-
-src_compile() {
- cmake_src_compile
-
- use doc && emake -C "${BUILD_DIR}" doc
-}
-
-src_test() {
- # Tests fail randomly when run in parallel
- local MAKEOPTS=-j1
- cmake_src_test
-}
-
-src_install() {
- cmake_src_install
-
- use doc && dodoc -r "${BUILD_DIR}"/doc/html
-}
diff --git a/dev-cpp/libjson-rpc-cpp/libjson-rpc-cpp-1.4.0.ebuild b/dev-cpp/libjson-rpc-cpp/libjson-rpc-cpp-1.4.0.ebuild
index f1b78fc655fc..e80e82ba5964 100644
--- a/dev-cpp/libjson-rpc-cpp/libjson-rpc-cpp-1.4.0.ebuild
+++ b/dev-cpp/libjson-rpc-cpp/libjson-rpc-cpp-1.4.0.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -6,8 +6,11 @@ EAPI=8
inherit cmake
DESCRIPTION="JSON-RPC (1.0 & 2.0) framework for C++"
-HOMEPAGE="https://github.com/cinemast/libjson-rpc-cpp"
-SRC_URI="https://github.com/cinemast/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+HOMEPAGE="https://github.com/cinemast/libjson-rpc-cpp/"
+SRC_URI="
+ https://github.com/cinemast/${PN}/archive/v${PV}.tar.gz
+ -> ${P}.tar.gz
+"
LICENSE="MIT"
SLOT="0/1"
@@ -15,16 +18,22 @@ KEYWORDS="~amd64 ~x86"
IUSE="+http-client +http-server redis-client redis-server +stubgen test"
RESTRICT="!test? ( test )"
-RDEPEND="
+DEPEND="
dev-libs/jsoncpp:=
http-client? ( net-misc/curl:= )
http-server? ( net-libs/libmicrohttpd:= )
redis-client? ( dev-libs/hiredis:= )
redis-server? ( dev-libs/hiredis:= )
- stubgen? ( dev-libs/argtable:= )"
-DEPEND="${RDEPEND}"
+ stubgen? ( dev-libs/argtable:= )
+"
+RDEPEND="
+ ${DEPEND}
+"
BDEPEND="
- test? ( dev-cpp/catch:0 )"
+ test? (
+ <dev-cpp/catch-3
+ )
+"
src_configure() {
local mycmakeargs=(
@@ -43,7 +52,11 @@ src_configure() {
-DCOMPILE_EXAMPLES=OFF
-DCOMPILE_STUBGEN=$(usex stubgen)
-DCOMPILE_TESTS=$(usex test)
- -DCATCH_INCLUDE_DIR="${EPREFIX}/usr/include/catch2"
+ # disable coverage-related flags
+ -DWITH_COVERAGE=OFF
+ )
+ use test && mycmakeargs+=(
+ -DCATCH_INCLUDE_DIR="${EPREFIX}/usr/include"
)
cmake_src_configure
diff --git a/dev-cpp/libmcpp/files/libmcpp-2.7.2-fix-configure-checks.patch b/dev-cpp/libmcpp/files/libmcpp-2.7.2-fix-configure-checks.patch
new file mode 100644
index 000000000000..e7bb77d6cf41
--- /dev/null
+++ b/dev-cpp/libmcpp/files/libmcpp-2.7.2-fix-configure-checks.patch
@@ -0,0 +1,34 @@
+https://cgit.openembedded.org/meta-openembedded/plain/meta-oe/recipes-devtools/mcpp/files/0001-configure-Fix-checks-for-system-headers.patch?id=6721430ca97aa98208cc1c450e4e8c4c274ca840
+
+From c1e9f2f3d086e0df3c10a2468fd7b37fd0c5038c Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Wed, 7 Sep 2022 00:02:08 -0700
+Subject: [PATCH] configure: Fix checks for system headers
+
+Define _DEFAULT_SOURCE in system.c so unistd.h can expose readlink API
+
+Upstream-Status: Pending
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+--- a/configure.ac
++++ b/configure.ac
+@@ -152,7 +152,7 @@ fi
+
+ dnl Checks for header files.
+
+-AC_CHECK_HEADERS( [unistd.h, stdint.h, inttypes.h])
++AC_CHECK_HEADERS( [unistd.h stdint.h inttypes.h])
+
+ dnl Checks for typedefs, and compiler characteristics.
+
+--- a/src/system.c
++++ b/src/system.c
+@@ -36,6 +36,8 @@
+ * 1. specify the constants in "configed.H" or "noconfig.H",
+ * 2. append the system-dependent routines in this file.
+ */
++
++#define _DEFAULT_SOURCE
+ #if PREPROCESSED
+ #include "mcpp.H"
+ #else
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.ebuild b/dev-cpp/libmcpp/libmcpp-2.7.2_p5-r1.ebuild
index ba098e11317f..51825fa12bb8 100644
--- a/dev-cpp/libmcpp/libmcpp-2.7.2_p5.ebuild
+++ b/dev-cpp/libmcpp/libmcpp-2.7.2_p5-r1.ebuild
@@ -1,7 +1,7 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
inherit autotools
@@ -16,18 +16,19 @@ S="${WORKDIR}"/${MY_P}
LICENSE="BSD"
SLOT="0"
-KEYWORDS="amd64 ~arm ~ia64 ~riscv x86 ~x86-linux ~x64-macos"
+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
)
src_prepare() {
default
- # bug #718808
- eapply "${WORKDIR}"/debian/patches/*.patch
-
# bug #778461
sed -i 's/-lmcpp/libmcpp.la/' src/Makefile.am || die
@@ -35,9 +36,7 @@ src_prepare() {
}
src_configure() {
- econf \
- --enable-mcpplib \
- --disable-static
+ econf --enable-mcpplib
}
src_install() {
diff --git a/dev-cpp/libmcpp/libmcpp-2.7.2_p5-r2.ebuild b/dev-cpp/libmcpp/libmcpp-2.7.2_p5-r2.ebuild
new file mode 100644
index 000000000000..3d410d6d4019
--- /dev/null
+++ b/dev-cpp/libmcpp/libmcpp-2.7.2_p5-r2.ebuild
@@ -0,0 +1,48 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools
+
+MY_PN=${PN/lib/}
+MY_P=$(ver_cut 1-4 ${MY_PN}-${PV})
+
+DESCRIPTION="A portable C++ preprocessor"
+HOMEPAGE="http://mcpp.sourceforge.net"
+SRC_URI="mirror://sourceforge/mcpp/${MY_P}.tar.gz"
+SRC_URI+=" mirror://debian/pool/main/m/${MY_PN}/${MY_PN}_${PV/_p/-}.debian.tar.xz"
+S="${WORKDIR}"/${MY_P}
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ia64 ~loong ~ppc64 ~riscv ~x86 ~x86-linux ~x64-macos"
+
+PATCHES=(
+ # bug #718808
+ "${WORKDIR}"/debian/patches/
+
+ "${FILESDIR}"/${PN}-2.7.2-fix-build-system.patch
+ "${FILESDIR}"/${PN}-2.7.2-fix-configure-checks.patch
+ "${FILESDIR}"/${PN}-2.7.2-incompatible-pointer-types.patch
+ "${FILESDIR}"/mcpp-c99.patch
+)
+
+src_prepare() {
+ default
+
+ # bug #778461
+ sed -i 's/-lmcpp/libmcpp.la/' src/Makefile.am || die
+
+ eautoreconf
+}
+
+src_configure() {
+ econf --enable-mcpplib
+}
+
+src_install() {
+ default
+
+ find "${ED}" -name '*.la' -delete || die
+}
diff --git a/dev-cpp/libodb-sqlite/Manifest b/dev-cpp/libodb-sqlite/Manifest
deleted file mode 100644
index 1e13937d4668..000000000000
--- a/dev-cpp/libodb-sqlite/Manifest
+++ /dev/null
@@ -1,2 +0,0 @@
-DIST build2-toolchain-0.13.0.tar.xz 4218940 BLAKE2B ed27290df21e5db843325b3e42c43c6934ce8f2b9b157538b921f9cfe3a7dccc3b56e261053373553cbd7fbff39e912ffe2282f812d0e6f158749ed5748d5e33 SHA512 0485872acd40beb700739b2995f76efcc9811dd52a38ee049576e45fcb5a7d7ae9c718beca8aeab9ab3f1c5e0270d3946f2335f88ec19476577c195417c2dbd4
-DIST libodb-sqlite-2.5.0-b.19.tar.gz 74822 BLAKE2B e9a5d3be8b453bcdc026b6349572c3bd88eb468329216bee535f4e1ac72bfe6c88b485efe2476303600209df42023099fdda88b410d9295e8cab73ed9dd03fc0 SHA512 be6dbc731d9f45dfc7e9246f404edad78d59c9d38cff6599aed56d60d4f0e8391336e2da3608f66d74559f0a8d34243eb38e7e6a1221188959321810193ae901
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 a8f86d0c81e3..000000000000
--- a/dev-cpp/libodb-sqlite/libodb-sqlite-2.5.0_beta19.ebuild
+++ /dev/null
@@ -1,117 +0,0 @@
-# Copyright 1999-2020 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
- 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.chroot="${D}" \
- 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
-}
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 b7102edd0e66..000000000000
--- a/dev-cpp/libodb/Manifest
+++ /dev/null
@@ -1,2 +0,0 @@
-DIST build2-toolchain-0.13.0.tar.xz 4218940 BLAKE2B ed27290df21e5db843325b3e42c43c6934ce8f2b9b157538b921f9cfe3a7dccc3b56e261053373553cbd7fbff39e912ffe2282f812d0e6f158749ed5748d5e33 SHA512 0485872acd40beb700739b2995f76efcc9811dd52a38ee049576e45fcb5a7d7ae9c718beca8aeab9ab3f1c5e0270d3946f2335f88ec19476577c195417c2dbd4
-DIST libodb-2.5.0-b.19.tar.gz 101239 BLAKE2B d6c32e4e5bbacafbecf9e992f91604dac4bb50359d41709b81116f09ce805cd2a3388cf14b47acc60d9b5a52867de0725c1dbbc7603dda8ffaf64589b3057ecb SHA512 0a3e70afd2c2ba573676e1a2630986215b4c8e57a004f7d2f2227f301b6c58f739397a0efc8877902baf88b93aff83c9b67c9f5b5e87cc570d64bb76b7b8f66b
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 df3cbb7b3e1e..000000000000
--- a/dev-cpp/libodb/libodb-2.5.0_beta19.ebuild
+++ /dev/null
@@ -1,111 +0,0 @@
-# Copyright 1999-2020 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
- 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.chroot="${D}" \
- 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
-}
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/Manifest b/dev-cpp/libxmlpp/Manifest
index 1737afb5645e..a5dac479567c 100644
--- a/dev-cpp/libxmlpp/Manifest
+++ b/dev-cpp/libxmlpp/Manifest
@@ -1,2 +1,2 @@
-DIST libxml++-2.40.1.tar.xz 955220 BLAKE2B 44c55ab0e9018af859097e1a753c1457f5694b282f8f5187b32ce908d34f7953b8e73f1e41750ddf5f5c912712539e32f608a33ab79f22644e15010f75be6c51 SHA512 a4ec2e8182d981c57bdcb8f0a203a3161f8c735ceb59fd212408b7a539d1dc826adf6717bed8f4d544ab08afd9c2fc861efe518e24bbd3a1c4b158e2ca48183a
-DIST libxml++-3.0.1.tar.xz 948796 BLAKE2B cdfa37f3aebdd8109653c50d6e977a443173fe4ff18b3644a030bba065c7ced01bedc98a273ab3a8def73f78efd2458afd16ec68df9f9109b816527383904025 SHA512 9b8ccea9df11d70bb23d7d9983b18d28c648aa0107f9654a79d1cfe97db4633b69dd4b97b76d155aca8553d014a314247851f18d0371717e44a056ee804ccd95
+DIST libxml++-2.42.2.tar.xz 848924 BLAKE2B 75c28447b41e50f1484a8670042af819f90619acd36eaea3bf68ed197745836c3ede38c208a851e59a345cb2657989f569fd0129724916f87d90105ec3c0fc2c SHA512 214da4c8120fedc96adf6ad965b65be9f4deb53d86f41667c236c52e1e3aace819fc61b096815879cc38aaf12ac77fbccb050088ce6bc3ff03030dcc81e4a8c9
+DIST libxml++-5.0.3.tar.xz 843720 BLAKE2B 0c85171962c9637f71846a6a4914229f2ad6c60a0315743543526d78a33baf2e86f21eeef2279c8d51233d40fd059aad266c80c365decd587c5c54a303ad93a8 SHA512 418723a96f018fb8e332847d0ab601eda38c99d6be48c83b6cda6f07789e5ecac76bb417540e29d0abace2828a74eb1e08695ff2fc92ebf3e7458364547ef675
diff --git a/dev-cpp/libxmlpp/libxmlpp-2.40.1-r1.ebuild b/dev-cpp/libxmlpp/libxmlpp-2.40.1-r1.ebuild
deleted file mode 100644
index dbcdc3dcd83e..000000000000
--- a/dev-cpp/libxmlpp/libxmlpp-2.40.1-r1.ebuild
+++ /dev/null
@@ -1,37 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="5"
-GCONF_DEBUG="no"
-GNOME_ORG_MODULE="${PN/pp/++}"
-
-inherit gnome2 multilib-minimal
-
-DESCRIPTION="C++ wrapper for the libxml2 XML parser library"
-HOMEPAGE="http://libxmlplusplus.sourceforge.net/"
-
-LICENSE="LGPL-2.1"
-SLOT="2.6"
-KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~ia64 ppc ppc64 ~riscv ~sparc x86 ~amd64-linux ~x86-linux ~x86-solaris"
-IUSE="doc"
-
-RDEPEND="
- >=dev-libs/libxml2-2.7.7[${MULTILIB_USEDEP}]
- >=dev-cpp/glibmm-2.32:2[${MULTILIB_USEDEP}]
-"
-DEPEND="${RDEPEND}
- virtual/pkgconfig
-"
-
-multilib_src_prepare() {
- gnome2_src_prepare
-}
-
-multilib_src_configure() {
- ECONF_SOURCE="${S}" gnome2_src_configure \
- $(use_enable doc documentation)
-}
-
-multilib_src_install() {
- gnome2_src_install
-}
diff --git a/dev-cpp/libxmlpp/libxmlpp-2.42.2.ebuild b/dev-cpp/libxmlpp/libxmlpp-2.42.2.ebuild
new file mode 100644
index 000000000000..ab3e7f24e905
--- /dev/null
+++ b/dev-cpp/libxmlpp/libxmlpp-2.42.2.ebuild
@@ -0,0 +1,58 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+GNOME_ORG_MODULE="${PN/pp/++}"
+
+inherit gnome2 meson-multilib
+
+DESCRIPTION="C++ wrapper for the libxml2 XML parser library"
+HOMEPAGE="http://libxmlplusplus.sourceforge.net/"
+
+LICENSE="LGPL-2.1"
+SLOT="2.6"
+KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ppc ppc64 ~riscv ~sparc x86 ~amd64-linux ~x86-linux"
+IUSE="doc test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ >=dev-libs/libxml2-2.7.7[${MULTILIB_USEDEP}]
+ >=dev-cpp/glibmm-2.32.0:2[${MULTILIB_USEDEP}]
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ virtual/pkgconfig
+ doc? (
+ dev-cpp/mm-common
+ app-text/doxygen
+ media-gfx/graphviz
+ dev-libs/libxslt
+ )
+"
+
+src_prepare() {
+ default
+
+ sed -i \
+ -e "/install_docdir = /s/'doc'/'gtk-doc'/" \
+ docs/reference/meson.build || die
+ sed -i \
+ -e "/install_tutorialdir = /s/'doc'/'gtk-doc'/" \
+ docs/manual/meson.build || die
+}
+
+multilib_src_configure() {
+ local emesonargs=(
+ -Dmaintainer-mode=false
+ -Dwarnings=min
+ -Ddist-warnings=max
+ -Dbuild-deprecated-api=true
+ $(meson_native_use_bool doc build-documentation)
+ -Dvalidation=false
+ -Dbuild-pdf=false
+ -Dbuild-examples=false
+ $(meson_use test build-tests)
+ -Dmsvc14x-parallel-installable=false
+ )
+ meson_src_configure
+}
diff --git a/dev-cpp/libxmlpp/libxmlpp-3.0.1-r1.ebuild b/dev-cpp/libxmlpp/libxmlpp-3.0.1-r1.ebuild
deleted file mode 100644
index 2c3656a4295e..000000000000
--- a/dev-cpp/libxmlpp/libxmlpp-3.0.1-r1.ebuild
+++ /dev/null
@@ -1,36 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-GNOME_ORG_MODULE="${PN/pp/++}"
-
-inherit gnome2 multilib-minimal
-
-DESCRIPTION="C++ wrapper for the libxml2 XML parser library"
-HOMEPAGE="http://libxmlplusplus.sourceforge.net/"
-
-LICENSE="LGPL-2.1"
-SLOT="3.0"
-KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~riscv sparc x86 ~amd64-linux ~x86-linux ~x86-solaris"
-IUSE="doc"
-
-RDEPEND="
- >=dev-libs/libxml2-2.7.7[${MULTILIB_USEDEP}]
- >=dev-cpp/glibmm-2.32:2[${MULTILIB_USEDEP}]
-"
-DEPEND="${RDEPEND}
- virtual/pkgconfig
-"
-
-multilib_src_prepare() {
- gnome2_src_prepare
-}
-
-multilib_src_configure() {
- ECONF_SOURCE="${S}" gnome2_src_configure \
- $(use_enable doc documentation)
-}
-
-multilib_src_install() {
- gnome2_src_install
-}
diff --git a/dev-cpp/libxmlpp/libxmlpp-5.0.3.ebuild b/dev-cpp/libxmlpp/libxmlpp-5.0.3.ebuild
new file mode 100644
index 000000000000..0cb0f12fdbdf
--- /dev/null
+++ b/dev-cpp/libxmlpp/libxmlpp-5.0.3.ebuild
@@ -0,0 +1,57 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+GNOME_ORG_MODULE="${PN/pp/++}"
+
+inherit gnome2 meson
+
+DESCRIPTION="C++ wrapper for the libxml2 XML parser library"
+HOMEPAGE="http://libxmlplusplus.sourceforge.net/"
+
+LICENSE="LGPL-2.1"
+SLOT="5.0"
+KEYWORDS="~alpha amd64 arm ~arm64 ~hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv sparc x86 ~amd64-linux ~x86-linux"
+IUSE="doc test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ >=dev-libs/libxml2-2.7.7
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ virtual/pkgconfig
+ doc? (
+ dev-cpp/mm-common
+ app-text/doxygen
+ media-gfx/graphviz
+ dev-libs/libxslt
+ )
+"
+
+src_prepare() {
+ default
+
+ sed -i \
+ -e "/install_docdir = /s/'doc'/'gtk-doc'/" \
+ docs/reference/meson.build || die
+ sed -i \
+ -e "/install_tutorialdir = /s/'doc'/'gtk-doc'/" \
+ docs/manual/meson.build || die
+}
+
+src_configure() {
+ local emesonargs=(
+ -Dmaintainer-mode=false
+ -Dwarnings=min
+ -Ddist-warnings=max
+ -Dbuild-deprecated-api=true
+ $(meson_use doc build-documentation)
+ -Dvalidation=false
+ -Dbuild-pdf=false
+ -Dbuild-examples=false
+ $(meson_use test build-tests)
+ -Dmsvc14x-parallel-installable=false
+ )
+ meson_src_configure
+}
diff --git a/dev-cpp/libxmlpp/metadata.xml b/dev-cpp/libxmlpp/metadata.xml
index b5c22b75a1f7..7b0dcfdb7c39 100644
--- a/dev-cpp/libxmlpp/metadata.xml
+++ b/dev-cpp/libxmlpp/metadata.xml
@@ -1,11 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="project">
- <email>gnome@gentoo.org</email>
- <name>Gentoo GNOME Desktop</name>
- </maintainer>
- <upstream>
- <remote-id type="sourceforge">libxmlplusplus</remote-id>
- </upstream>
+ <maintainer type="project">
+ <email>gnome@gentoo.org</email>
+ <name>Gentoo GNOME Desktop</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">libxmlplusplus/libxmlplusplus</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/dev-cpp/lucene++/lucene++-3.0.7-r2.ebuild b/dev-cpp/lucene++/lucene++-3.0.7-r3.ebuild
index 30c7d8b5fa31..025c5aad888e 100644
--- a/dev-cpp/lucene++/lucene++-3.0.7-r2.ebuild
+++ b/dev-cpp/lucene++/lucene++-3.0.7-r3.ebuild
@@ -1,7 +1,7 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
MY_P="LucenePlusPlus-rel_${PV}"
inherit cmake
@@ -9,18 +9,17 @@ inherit cmake
DESCRIPTION="C++ port of Lucene library, a high-performance, full-featured text search engine"
HOMEPAGE="https://github.com/luceneplusplus/LucenePlusPlus"
SRC_URI="https://github.com/luceneplusplus/LucenePlusPlus/archive/rel_${PV}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/${MY_P}"
LICENSE="|| ( LGPL-3 Apache-2.0 )"
SLOT="0"
-KEYWORDS="amd64 ~hppa ppc ppc64 sparc x86"
+KEYWORDS="amd64 ~hppa ~loong ppc ppc64 sparc x86"
IUSE="debug"
-DEPEND="dev-libs/boost:="
-RDEPEND="${DEPEND}"
-
RESTRICT="test"
-S="${WORKDIR}/${MY_P}"
+DEPEND="dev-libs/boost:=[zlib]"
+RDEPEND="${DEPEND}"
DOCS=( AUTHORS README.rst )
diff --git a/dev-cpp/magic_enum/Manifest b/dev-cpp/magic_enum/Manifest
new file mode 100644
index 000000000000..8e0a5a0188ca
--- /dev/null
+++ b/dev-cpp/magic_enum/Manifest
@@ -0,0 +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.8.2.ebuild b/dev-cpp/magic_enum/magic_enum-0.8.2.ebuild
new file mode 100644
index 000000000000..4b3b1362dd0a
--- /dev/null
+++ b/dev-cpp/magic_enum/magic_enum-0.8.2.ebuild
@@ -0,0 +1,28 @@
+# Copyright 2023 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 ~arm64 ~ppc64 ~x86"
+IUSE="test"
+# Tests fail to compile
+RESTRICT="!test? ( test ) test"
+
+src_configure() {
+ local mycmakeargs=(
+ -DMAGIC_ENUM_OPT_BUILD_TESTS=$(usex test)
+ -DMAGIC_ENUM_OPT_INSTALL=ON
+ )
+
+ cmake_src_configure
+}
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/magic_enum/metadata.xml b/dev-cpp/magic_enum/metadata.xml
new file mode 100644
index 000000000000..9c4b1d48036d
--- /dev/null
+++ b/dev-cpp/magic_enum/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>games@gentoo.org</email>
+ <name>Gentoo Games Project</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">Neargye/magic_enum</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-cpp/mm-common/Manifest b/dev-cpp/mm-common/Manifest
index bf9e4e494ffd..0185f92429a6 100644
--- a/dev-cpp/mm-common/Manifest
+++ b/dev-cpp/mm-common/Manifest
@@ -1 +1 @@
-DIST mm-common-1.0.3.tar.xz 272932 BLAKE2B 90459cfa75dbcab8bb9b0512f3f3f3703850000e4ea0124afb020c476fce9948ec0128d67510b13482d52f165ba0b7a8aa72e6b1afd4a88554fa52bc4f5598d2 SHA512 fdd79e9a2ca3d7ed311a6994bd04e7cbf2b1562c39968d309765ce3b5268128f98b3f1c08a434b460276e6d911d302a12ccc7aebd6cd67e4df13241a97034a70
+DIST mm-common-1.0.6.tar.xz 287832 BLAKE2B b633f37a470b558c16ce4a260384913ddc64df2ac94e25e2b7b05300c5c7b51826477bff655154572bd7eafe583b4cb056e7c9dee3d3e699dbf200490da0591f SHA512 2141ce9dabdae153e5708b09d30e7917182888e521ff0c2a4f85c7ec2dd86b2c8753e0513bf9c9f9a00d4e579173ffa859a3efd006e706fdfa2f33b0e77af48b
diff --git a/dev-cpp/mm-common/metadata.xml b/dev-cpp/mm-common/metadata.xml
index 7b343b06be8a..5becd54981af 100644
--- a/dev-cpp/mm-common/metadata.xml
+++ b/dev-cpp/mm-common/metadata.xml
@@ -1,8 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
-<maintainer type="project">
- <email>gnome@gentoo.org</email>
- <name>Gentoo GNOME Desktop</name>
-</maintainer>
+ <maintainer type="project">
+ <email>gnome@gentoo.org</email>
+ <name>Gentoo GNOME Desktop</name>
+ </maintainer>
+ <stabilize-allarches/>
+ <upstream>
+ <remote-id type="gnome-gitlab">GNOME/mm-common</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/dev-cpp/mm-common/mm-common-1.0.3.ebuild b/dev-cpp/mm-common/mm-common-1.0.6.ebuild
index c313e2e311c1..02d3cd018b0f 100644
--- a/dev-cpp/mm-common/mm-common-1.0.3.ebuild
+++ b/dev-cpp/mm-common/mm-common-1.0.6.ebuild
@@ -1,17 +1,17 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
-PYTHON_COMPAT=( python3_{7..9} )
+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"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ppc ppc64 sparc x86"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv sparc x86"
BDEPEND="${PYTHON_DEPS}"
diff --git a/dev-cpp/ms-gsl/Manifest b/dev-cpp/ms-gsl/Manifest
index 978e15f0d169..cff79bbcb244 100644
--- a/dev-cpp/ms-gsl/Manifest
+++ b/dev-cpp/ms-gsl/Manifest
@@ -1 +1 @@
-DIST ms-gsl-3.1.0.tar.gz 78196 BLAKE2B 32334891a11004a6919645814154fdb108a4582a00ac0002c0af9a524978cc8316bebb07192e260b800f462d5424c476fc22be59cca59c0f3d9d7606ab8c4181 SHA512 2916df9ee165fc803ffae0a56518f2ba92870e279984913ff591559e1459943c3ffbc1f5a0d819ad8233f0c9034012de3616aa4e10557d87c7285d8425d10696
+DIST ms-gsl-4.0.0.tar.gz 55846 BLAKE2B 4391f8865f8dc044e5a48826e84919df8e32fc80815a260e9c892aa6d155d278a9b7742c17e4455bcba3fc3164118c14ef160353913814ba48a83bc7de40c123 SHA512 7fa7446796c6bf82fb3bff09f86a69c446a27be528bef3b17c8bc5ad2f24d5cf86bdb3d3813ecb44726e8f395020180e97e41027330d1fbf545cc0f0b44aac29
diff --git a/dev-cpp/ms-gsl/files/ms-gsl-3.0.0-use_system_gtest.patch b/dev-cpp/ms-gsl/files/ms-gsl-3.0.0-use_system_gtest.patch
deleted file mode 100644
index fa8d09aafe74..000000000000
--- a/dev-cpp/ms-gsl/files/ms-gsl-3.0.0-use_system_gtest.patch
+++ /dev/null
@@ -1,82 +0,0 @@
-From 727e9b8312c7ae011b667152606afc0e04ea197a Mon Sep 17 00:00:00 2001
-From: Jan Henke <Jan.Henke@taujhe.de>
-Date: Sun, 14 Jun 2020 14:12:02 +0200
-Subject: [PATCH] Use system gtest instead of downloading and building it
-
----
- CMakeLists.txt | 1 -
- tests/CMakeLists.txt | 30 ++++--------------------------
- 2 files changed, 4 insertions(+), 27 deletions(-)
-
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 740cd31..f1bf7a2 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -3,7 +3,6 @@ cmake_minimum_required(VERSION 3.1.3...3.16)
- project(GSL VERSION 3.1.0 LANGUAGES CXX)
-
- include(ExternalProject)
--find_package(Git)
-
- # Use GNUInstallDirs to provide the right locations on all platforms
- include(GNUInstallDirs)
-diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt
-index 2bd1bbe..c42afb7 100644
---- a/tests/CMakeLists.txt
-+++ b/tests/CMakeLists.txt
-@@ -5,32 +5,9 @@ project(GSLTests CXX)
- # will make visual studio generated project group files
- set_property(GLOBAL PROPERTY USE_FOLDERS ON)
-
--configure_file(CMakeLists.txt.in googletest-download/CMakeLists.txt)
--execute_process(
-- COMMAND ${CMAKE_COMMAND} -G "${CMAKE_GENERATOR}" .
-- RESULT_VARIABLE result
-- WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/googletest-download
--)
--if(result)
-- message(FATAL_ERROR "CMake step for googletest failed: ${result}")
--endif()
--
--execute_process(
-- COMMAND ${CMAKE_COMMAND} --build .
-- RESULT_VARIABLE result
-- WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/googletest-download
--)
--if(result)
-- message(FATAL_ERROR "CMake step for googletest failed: ${result}")
--endif()
--
- set(gtest_force_shared_crt ON CACHE BOOL "" FORCE)
-
--add_subdirectory(
-- ${CMAKE_CURRENT_BINARY_DIR}/googletest-src
-- ${CMAKE_CURRENT_BINARY_DIR}/googletest-build
-- EXCLUDE_FROM_ALL
--)
-+find_package(GTest REQUIRED)
-
- if (MSVC AND (GSL_CXX_STANDARD EQUAL 17))
- set(GSL_CPLUSPLUS_OPT -Zc:__cplusplus -permissive-)
-@@ -139,7 +116,7 @@ endif(MSVC)
-
- # for tests to find the gtest header
- target_include_directories(gsl_tests_config SYSTEM INTERFACE
-- googletest/googletest/include
-+ ${GTest_INCLUDE_DIRS}
- )
-
- set_property(TARGET PROPERTY FOLDER "GSL_tests")
-@@ -149,7 +126,8 @@ function(add_gsl_test name)
- target_link_libraries(${name}
- GSL
- gsl_tests_config
-- gtest_main
-+ GTest::GTest
-+ GTest::Main
- )
- add_test(
- ${name}
---
-2.26.2
-
diff --git a/dev-cpp/ms-gsl/ms-gsl-3.1.0.ebuild b/dev-cpp/ms-gsl/ms-gsl-4.0.0.ebuild
index 3e690129c15a..f5b298484aa1 100644
--- a/dev-cpp/ms-gsl/ms-gsl-3.1.0.ebuild
+++ b/dev-cpp/ms-gsl/ms-gsl-4.0.0.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=7
+EAPI=8
inherit cmake
@@ -13,7 +13,7 @@ S="${WORKDIR}/GSL-${PV}"
LICENSE="MIT"
SLOT="0"
-KEYWORDS="amd64 ~arm ~arm64 ~ppc ~ppc64 x86"
+KEYWORDS="amd64 arm arm64 ~loong ppc ppc64 ~riscv x86"
IUSE="test"
RESTRICT="!test? ( test )"
@@ -23,7 +23,6 @@ DEPEND="test? ( >=dev-cpp/gtest-1.9.0_pre20190607 )"
PATCHES=(
"${FILESDIR}/${PN}-1.0.0-disable_Werror-644042.patch"
- "${FILESDIR}/${PN}-3.0.0-use_system_gtest.patch"
)
src_configure() {
diff --git a/dev-cpp/ms-gsl/ms-gsl-9999.ebuild b/dev-cpp/ms-gsl/ms-gsl-9999.ebuild
index d7f19d2bb295..79f60335475e 100644
--- a/dev-cpp/ms-gsl/ms-gsl-9999.ebuild
+++ b/dev-cpp/ms-gsl/ms-gsl-9999.ebuild
@@ -1,7 +1,7 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
inherit cmake git-r3
@@ -22,7 +22,6 @@ DEPEND="test? ( >=dev-cpp/gtest-1.9.0_pre20190607 )"
PATCHES=(
"${FILESDIR}/${PN}-1.0.0-disable_Werror-644042.patch"
- "${FILESDIR}/${PN}-3.0.0-use_system_gtest.patch"
)
src_configure() {
diff --git a/dev-cpp/msgpack-cxx/Manifest b/dev-cpp/msgpack-cxx/Manifest
new file mode 100644
index 000000000000..ee0e3f82a9ec
--- /dev/null
+++ b/dev-cpp/msgpack-cxx/Manifest
@@ -0,0 +1,3 @@
+DIST msgpack-cxx-5.0.0.tar.gz 476103 BLAKE2B e631a47e8d39b6ad9c2dd5e782fbbd5044c177e18c619fb52d1293e2c5f2ea7e766e7b26ce6cac36a2ff98217143e12456e0541992afb4f78597ffd3852f2acf SHA512 5ee0237eb1bf05bd4becad32ab145a8f0654f8f0e2e3452331ed3df088cda03ee4cdf1557ba867447e3e18baed924c105c76934f7009dac98b6dc69282c39d0c
+DIST msgpack-cxx-6.0.0.tar.gz 476132 BLAKE2B 89b6505511bd8f6994a2e61661c7a33bd1aa68804c081ec2fcaf074f845caf4338ac362916af9fb0bab7285b0d0508c74b229316fa75ef8083546ac84c4ca95d SHA512 90f89216676af5a656d570fbff5a716d1177fa1941b0a928b2da20e0b6cd6d0ca880b7369e085dbbca944499c05694a73df919042d8cd78498ed4b34b77a0e9d
+DIST msgpack-cxx-6.1.0.tar.gz 478452 BLAKE2B 14c6e28ab02957e6313a01002d05c23e2599f433656c8ea8033eb338c6e8b97d10e00a91e1e67bc3b944c3f9b46ad1ea11fc6905d50554699caeed7bd9cbc8f7 SHA512 935453432b53d2cbecc3e34d4fb17ecd3bbc6eae9087fa3c4445c90750f144ab39ad6461cc9552eec7ed2b222315c5f6e8b30d409eb34a98bebe02e03582fd41
diff --git a/dev-cpp/msgpack-cxx/files/msgpack-cxx-6.0.0-gcc13.patch b/dev-cpp/msgpack-cxx/files/msgpack-cxx-6.0.0-gcc13.patch
new file mode 100644
index 000000000000..3e0b67675e2d
--- /dev/null
+++ b/dev-cpp/msgpack-cxx/files/msgpack-cxx-6.0.0-gcc13.patch
@@ -0,0 +1,49 @@
+From 2dd3dbc85f5c3ab789792844e50f7423bdb1d3f9 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Arsen=20Arsenovi=C4=87?= <arsen@gentoo.org>
+Date: Tue, 18 Apr 2023 15:50:52 +0200
+Subject: [PATCH] test: Add missing rebind to allocators
+
+See https://gcc.gnu.org/gcc-13/porting_to.html
+---
+https://github.com/msgpack/msgpack-c/pull/1065
+
+ test/msgpack_cpp11.cpp | 9 +++++++++
+ 1 file changed, 9 insertions(+)
+
+diff --git a/test/msgpack_cpp11.cpp b/test/msgpack_cpp11.cpp
+index 2a856cb8..6b04e5a1 100644
+--- a/test/msgpack_cpp11.cpp
++++ b/test/msgpack_cpp11.cpp
+@@ -252,6 +252,9 @@ struct equal_to : std::equal_to<Key> {
+ template <class Key>
+ struct set_allocator : std::allocator<Key> {
+ using std::allocator<Key>::allocator;
++
++ template<class U>
++ struct rebind { using other = set_allocator<U>; };
+ };
+
+ // C++ named requirement Allocator implies that the first template type
+@@ -262,6 +265,9 @@ struct set_allocator : std::allocator<Key> {
+ template <typename KeyValuePair>
+ struct map_allocator_impl : std::allocator<KeyValuePair> {
+ using std::allocator<KeyValuePair>::allocator;
++
++ template<class U>
++ struct rebind { using other = map_allocator_impl<U>; };
+ };
+
+ template <class Key, class T>
+@@ -270,6 +276,9 @@ using map_allocator = map_allocator_impl<std::pair<const Key, T>>;
+ template <class T>
+ struct allocator : std::allocator<T> {
+ using std::allocator<T>::allocator;
++
++ template<class U>
++ struct rebind { using other = allocator<U>; };
+ };
+
+ } // namespace test
+--
+2.40.0
+
diff --git a/dev-cpp/msgpack-cxx/metadata.xml b/dev-cpp/msgpack-cxx/metadata.xml
new file mode 100644
index 000000000000..7d2a4745c20f
--- /dev/null
+++ b/dev-cpp/msgpack-cxx/metadata.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>vim@gentoo.org</email>
+ <name>Gentoo Vim Project</name>
+ </maintainer>
+ <use>
+ <flag name="boost">Enable boost support</flag>
+ </use>
+ <upstream>
+ <remote-id type="github">msgpack/msgpack-c</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-cpp/msgpack-cxx/msgpack-cxx-5.0.0.ebuild b/dev-cpp/msgpack-cxx/msgpack-cxx-5.0.0.ebuild
new file mode 100644
index 000000000000..caf19cd7e8f6
--- /dev/null
+++ b/dev-cpp/msgpack-cxx/msgpack-cxx-5.0.0.ebuild
@@ -0,0 +1,59 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+DESCRIPTION="MessagePack for C++"
+HOMEPAGE="https://msgpack.org/ https://github.com/msgpack/msgpack-c/"
+SRC_URI="https://github.com/msgpack/msgpack-c/releases/download/cpp-${PV}/${P}.tar.gz"
+
+LICENSE="Boost-1.0"
+SLOT="0"
+KEYWORDS="amd64 ~arm arm64 ~riscv x86 ~amd64-linux ~x86-linux ~x64-macos"
+IUSE="+boost doc examples test"
+
+REQUIRED_USE="test? ( boost )"
+
+RESTRICT="!test? ( test )"
+
+RDEPEND="boost? ( dev-libs/boost[context] )
+ !<dev-libs/msgpack-5.0.0"
+DEPEND="${RDEPEND}"
+BDEPEND="doc? ( app-text/doxygen[dot] )
+ test? ( sys-libs/zlib )"
+
+src_configure() {
+ local mycmakeargs=(
+ -DMSGPACK_BUILD_EXAMPLES=OFF
+ -DMSGPACK_CXX17=ON
+ -DMSGPACK_BUILD_TESTS="$(usex test)"
+ -DMSGPACK_USE_BOOST="$(usex boost)"
+ -DMSGPACK_USE_X3_PARSE="$(usex boost)"
+ )
+
+ cmake_src_configure
+}
+
+src_compile() {
+ cmake_src_compile
+
+ if use doc; then
+ cmake_build doxygen
+ fi
+}
+
+src_install() {
+ if use doc; then
+ local HTML_DOCS=( "${BUILD_DIR}"/doc_cpp/html/. )
+ fi
+
+ if use examples; then
+ docinto examples
+ dodoc -r example/.
+ docompress -x /usr/share/doc/${PF}/examples
+ fi
+
+ cmake_src_install
+}
diff --git a/dev-cpp/msgpack-cxx/msgpack-cxx-6.0.0.ebuild b/dev-cpp/msgpack-cxx/msgpack-cxx-6.0.0.ebuild
new file mode 100644
index 000000000000..35b5204d39c0
--- /dev/null
+++ b/dev-cpp/msgpack-cxx/msgpack-cxx-6.0.0.ebuild
@@ -0,0 +1,63 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+DESCRIPTION="MessagePack for C++"
+HOMEPAGE="https://msgpack.org/ https://github.com/msgpack/msgpack-c/"
+SRC_URI="https://github.com/msgpack/msgpack-c/releases/download/cpp-${PV}/${P}.tar.gz"
+
+LICENSE="Boost-1.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~x86 ~amd64-linux ~x86-linux ~x64-macos"
+IUSE="+boost doc examples test"
+
+REQUIRED_USE="test? ( boost )"
+
+RESTRICT="!test? ( test )"
+
+RDEPEND="boost? ( dev-libs/boost[context] )
+ !<dev-libs/msgpack-5.0.0"
+DEPEND="${RDEPEND}"
+BDEPEND="doc? ( app-text/doxygen[dot] )
+ test? ( sys-libs/zlib )"
+
+PATCHES=(
+ "${FILESDIR}"/"${PN}"-6.0.0-gcc13.patch
+)
+
+src_configure() {
+ local mycmakeargs=(
+ -DMSGPACK_BUILD_EXAMPLES=OFF
+ -DMSGPACK_CXX17=ON
+ -DMSGPACK_BUILD_TESTS="$(usex test)"
+ -DMSGPACK_USE_BOOST="$(usex boost)"
+ -DMSGPACK_USE_X3_PARSE="$(usex boost)"
+ )
+
+ cmake_src_configure
+}
+
+src_compile() {
+ cmake_src_compile
+
+ if use doc; then
+ cmake_build doxygen
+ fi
+}
+
+src_install() {
+ if use doc; then
+ local HTML_DOCS=( "${BUILD_DIR}"/doc_cpp/html/. )
+ fi
+
+ if use examples; then
+ docinto examples
+ dodoc -r example/.
+ docompress -x /usr/share/doc/${PF}/examples
+ fi
+
+ cmake_src_install
+}
diff --git a/dev-cpp/msgpack-cxx/msgpack-cxx-6.1.0.ebuild b/dev-cpp/msgpack-cxx/msgpack-cxx-6.1.0.ebuild
new file mode 100644
index 000000000000..caf19cd7e8f6
--- /dev/null
+++ b/dev-cpp/msgpack-cxx/msgpack-cxx-6.1.0.ebuild
@@ -0,0 +1,59 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+DESCRIPTION="MessagePack for C++"
+HOMEPAGE="https://msgpack.org/ https://github.com/msgpack/msgpack-c/"
+SRC_URI="https://github.com/msgpack/msgpack-c/releases/download/cpp-${PV}/${P}.tar.gz"
+
+LICENSE="Boost-1.0"
+SLOT="0"
+KEYWORDS="amd64 ~arm arm64 ~riscv x86 ~amd64-linux ~x86-linux ~x64-macos"
+IUSE="+boost doc examples test"
+
+REQUIRED_USE="test? ( boost )"
+
+RESTRICT="!test? ( test )"
+
+RDEPEND="boost? ( dev-libs/boost[context] )
+ !<dev-libs/msgpack-5.0.0"
+DEPEND="${RDEPEND}"
+BDEPEND="doc? ( app-text/doxygen[dot] )
+ test? ( sys-libs/zlib )"
+
+src_configure() {
+ local mycmakeargs=(
+ -DMSGPACK_BUILD_EXAMPLES=OFF
+ -DMSGPACK_CXX17=ON
+ -DMSGPACK_BUILD_TESTS="$(usex test)"
+ -DMSGPACK_USE_BOOST="$(usex boost)"
+ -DMSGPACK_USE_X3_PARSE="$(usex boost)"
+ )
+
+ cmake_src_configure
+}
+
+src_compile() {
+ cmake_src_compile
+
+ if use doc; then
+ cmake_build doxygen
+ fi
+}
+
+src_install() {
+ if use doc; then
+ local HTML_DOCS=( "${BUILD_DIR}"/doc_cpp/html/. )
+ fi
+
+ if use examples; then
+ docinto examples
+ dodoc -r example/.
+ docompress -x /usr/share/doc/${PF}/examples
+ fi
+
+ cmake_src_install
+}
diff --git a/dev-cpp/muParser/Manifest b/dev-cpp/muParser/Manifest
index 95b8c055fdc6..0a5facbe3090 100644
--- a/dev-cpp/muParser/Manifest
+++ b/dev-cpp/muParser/Manifest
@@ -1 +1,2 @@
-DIST muParser-2.2.6.1.tar.gz 755653 BLAKE2B b3b6b8da57c0e8a0bda74038689d444ba8da00d6cce80030d8b35693209f0293874e4822c4941974be21fd4b7c09ba7df2c9cef861bc10b890aae4f641040faf SHA512 01bfc8cc48158c8413ae5e1da2ddbac1c9f0b9075470b1ab75853587d641dd195ebea268e1060a340098fd8015bc5f77d8e9cde5f81cffeade2f157c5f295496
+DIST muParser-2.3.3.tar.gz 112100 BLAKE2B 79a0a29781596f114aeea9756a5a2141eed19857c08d0a32093353eb049f8b179af577cbd07747d2b8093e448714397b47f36c68e54bbce22386f5ec06365bda SHA512 f7e01c83f6ffe71e240653c47fdb8f3152d7fdf61b5997a3c717dec50d0175065c4fc4241ec95fb35b60b968c5c965a820009163ebe84f0fa57d64b3a23226b4
+DIST muParser-2.3.4.tar.gz 112693 BLAKE2B 860c24d45140ad4339efcd5f5c221454c051565a1362907fd01499cfda0ef3c304333507c4d9c43644dac63e5fb4963fef6e3a2e565febf1a80807e0a0242c87 SHA512 5226fd666eaf3ff7e661bbf72e60114d0ceed10491ffa4ed2dd34cd669c6c21c037eff0388402d6b9d60b0a5a27b03ca35153e0c048328abc75dfd1eaf38ceca
diff --git a/dev-cpp/muParser/files/muParser-1.32-parallel-build.patch b/dev-cpp/muParser/files/muParser-1.32-parallel-build.patch
deleted file mode 100644
index 1681c6e68034..000000000000
--- a/dev-cpp/muParser/files/muParser-1.32-parallel-build.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-Fixing parallel build issue
-
-http://bugs.gentoo.org/show_bug.cgi?id=310037
-
---- muparser_v132/Makefile.in
-+++ muparser_v132/Makefile.in
-@@ -291,7 +291,7 @@
- @COND_SHARED_1@ rm -f $(DESTDIR)$(prefix)/$$f; \
- @COND_SHARED_1@ done
-
--@COND_SAMPLES_1@$(top_builddir)/samples/example1/example1$(EXEEXT): $(EXAMPLE1_OBJECTS) $(__muParser_lib___depname)
-+@COND_SAMPLES_1@$(top_builddir)/samples/example1/example1$(EXEEXT): $(EXAMPLE1_OBJECTS) $(__muParser_lib___depname) lib
- @COND_SAMPLES_1@ $(CXX) -o $@ $(EXAMPLE1_OBJECTS) -L$(top_builddir)/lib -L$(srcdir)/lib $(LDFLAGS) -lmuparser$(DEBUG_BUILD_POSTFIX) $(LIBS)
- @COND_SAMPLES_1@
- @COND_SAMPLES_1@ $(__example1___mac_setfilecmd)
diff --git a/dev-cpp/muParser/muParser-2.2.6.1.ebuild b/dev-cpp/muParser/muParser-2.2.6.1.ebuild
deleted file mode 100644
index 9dd3c1139202..000000000000
--- a/dev-cpp/muParser/muParser-2.2.6.1.ebuild
+++ /dev/null
@@ -1,45 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-DESCRIPTION="Library for parsing mathematical expressions"
-HOMEPAGE="http://muparser.beltoforion.de/"
-SRC_URI="https://github.com/beltoforion/muparser/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-S="${WORKDIR}"/muparser-${PV}
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv x86 ~amd64-linux ~x86-linux ~ppc-macos"
-IUSE="doc test"
-RESTRICT="!test? ( test )"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-1.32-parallel-build.patch
-)
-
-src_prepare() {
- default
-
- sed -i \
- -e 's:-O2::g' \
- configure || die
-}
-
-src_configure() {
- econf $(use_enable test samples)
-}
-
-src_test() {
- cat > test.sh <<- EOFTEST
- LD_LIBRARY_PATH="${S}/lib" samples/example1/example1 <<- EOF
- quit
- EOF
- EOFTEST
- sh ./test.sh || die "test failed"
-}
-
-src_install() {
- default
- dodoc Changes.txt
-}
diff --git a/dev-cpp/muParser/muParser-2.3.3-r2.ebuild b/dev-cpp/muParser/muParser-2.3.3-r2.ebuild
new file mode 100644
index 000000000000..cc9e5ae7de10
--- /dev/null
+++ b/dev-cpp/muParser/muParser-2.3.3-r2.ebuild
@@ -0,0 +1,41 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake toolchain-funcs
+
+# The upstream tag is v2.3.3-1 instead of v2.3.3
+suffix="-1"
+
+DESCRIPTION="Library for parsing mathematical expressions"
+HOMEPAGE="https://beltoforion.de/en/muparser/"
+SRC_URI="https://github.com/beltoforion/muparser/archive/refs/tags/v${PV}${suffix}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}"/muparser-${PV}
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 ~arm arm64 ~loong ~ppc ~ppc64 ~riscv x86 ~amd64-linux ~x86-linux ~ppc-macos"
+IUSE="doc openmp test"
+RESTRICT="!test? ( test )"
+
+S="${S}${suffix}"
+
+pkg_pretend() {
+ [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
+}
+
+pkg_setup() {
+ [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DENABLE_OPENMP=$(usex openmp)
+ )
+ cmake_src_configure
+}
+
+src_test() {
+ cmake_src_compile test
+}
diff --git a/dev-cpp/muParser/muParser-2.3.4-r1.ebuild b/dev-cpp/muParser/muParser-2.3.4-r1.ebuild
new file mode 100644
index 000000000000..896a68e294bb
--- /dev/null
+++ b/dev-cpp/muParser/muParser-2.3.4-r1.ebuild
@@ -0,0 +1,36 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake toolchain-funcs
+
+DESCRIPTION="Library for parsing mathematical expressions"
+HOMEPAGE="https://beltoforion.de/en/muparser/"
+SRC_URI="https://github.com/beltoforion/muparser/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}"/muparser-${PV}
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 ~arm arm64 ~loong ~ppc ~ppc64 ~riscv x86 ~amd64-linux ~x86-linux ~ppc-macos"
+IUSE="doc openmp test"
+RESTRICT="!test? ( test )"
+
+pkg_pretend() {
+ [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
+}
+
+pkg_setup() {
+ [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DENABLE_OPENMP=$(usex openmp)
+ )
+ cmake_src_configure
+}
+
+src_test() {
+ cmake_src_compile test
+}
diff --git a/dev-cpp/muParserX/Manifest b/dev-cpp/muParserX/Manifest
new file mode 100644
index 000000000000..815473a36ead
--- /dev/null
+++ b/dev-cpp/muParserX/Manifest
@@ -0,0 +1 @@
+DIST muParserX-4.0.11.tar.gz 215824 BLAKE2B f077fee44d4b67b02a0c559ce492b27107b0f5294eca7266e968c852e1e2503a4f5fc4d32b07e5c6ebca8ab95d7f30cdacd257439f70a7943c5ad22d111139c9 SHA512 67846a91b57e41731a656cfee68effdd9166e738108764be5d3080854d8a01bedbeacaaade7bee11c6b5f83019abddeca3b2c9acdfbb48629da6d9b92c79c7af
diff --git a/dev-cpp/muParserX/metadata.xml b/dev-cpp/muParserX/metadata.xml
new file mode 100644
index 000000000000..e7ba537d792e
--- /dev/null
+++ b/dev-cpp/muParserX/metadata.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <!-- comaintainers-welcomed -->
+ <maintainer type="person" proxied="yes">
+ <email>gaboroszkar@protonmail.com</email>
+ <name>Gábor Oszkár Dénes</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>sci@gentoo.org</email>
+ <name>Gentoo Science Project</name>
+ </maintainer>
+ <maintainer type="project" proxied="proxy">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+ </maintainer>
+ <longdescription>
+ The evaluation of a mathematical expression is a standard task required in many applications. It can be solved by either using a standard math expression parser such as muparser or by embedding a scripting language such as Lua. There are however some limitations: Although muparser is pretty fast it will only work with scalar values and although Lua is very flexible it does neither support binary operators for arrays nor complex numbers. So if you need a math expression parser with support for arrays, matrices and strings muparserx may be able to help you.
+ </longdescription>
+ <upstream>
+ <remote-id type="github">beltoforion/muparserx</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-cpp/muParserX/muParserX-4.0.11.ebuild b/dev-cpp/muParserX/muParserX-4.0.11.ebuild
new file mode 100644
index 000000000000..373e92ac6637
--- /dev/null
+++ b/dev-cpp/muParserX/muParserX-4.0.11.ebuild
@@ -0,0 +1,16 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+DESCRIPTION="Parsing Expressions with Strings, Complex Numbers, Vectors, Matrices and more"
+HOMEPAGE="https://beltoforion.de/en/muparser/"
+SRC_URI="https://github.com/beltoforion/muparserx/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="BSD-2"
+SLOT="0"
+KEYWORDS="~amd64"
+
+S="${WORKDIR}"/muparserx-${PV}
diff --git a/dev-cpp/nlohmann_json/Manifest b/dev-cpp/nlohmann_json/Manifest
index 5234c2e1989a..f1bdb358c437 100644
--- a/dev-cpp/nlohmann_json/Manifest
+++ b/dev-cpp/nlohmann_json/Manifest
@@ -1,5 +1,5 @@
-DIST nlohmann_json-3.10.0.tar.gz 7006504 BLAKE2B 2ccb2e50a46a8579b6a848f6fee35ad1ff11a1491157bdf5d343133f24d4468ddfabc4fe4e9909b47011d52b3604566d5d7e275f0731c8d91efd1e1b9c545ef2 SHA512 1531780110260ea4cd8fbe79d860f1ea46fa8377d520669f938ddb5f8a4b11fe550fc7d2d978a281d5ddcc511447d160a2f68c06583672496c57c6672a4036a1
DIST nlohmann_json-3.10.2.tar.gz 7054440 BLAKE2B e7da213fb75d528b1f5425822f5b598e882f232a67670aaae2d8f89c76e72ee23fa3344d1acfef2b0338a6a423d17b231b7e047ff064c984c2ec7783b721a22c SHA512 9a399dfc8aab19c9fc12470e8087895b1c05d48a9bcc731b483d8670c361cffb2adc3ccced822b7f17255e88387a441d619c4e1f1afeb702d1d035ad24fe22ed
-DIST nlohmann_json-3.10.4.tar.gz 7062443 BLAKE2B 7f526d12c4ce8148c874c76d280090ef69ae3adf817b63758bbcc23ff9476e119ede90bebc397b9bb84b54012f057e3e010d643c595b4699a8ecd437a5a3f913 SHA512 f78592db6218165cbc74c10bcba40366f1bfea84405b7ee25fe97a056d5b7a15aeeb956d93296673928dcbd6e26ffcfb152f885b4a44d5d55751396ccf090835
-DIST nlohmann_json-3.9.1.tar.gz 6882818 BLAKE2B 97276dc2345ac2070ac2d30d0a2e1953bb2f6ecde437eaed87dad46c108daa4b21c662a047e7d4e7c180179df9e7dfb71f545f3e42b2528201630d9093539090 SHA512 e0eb4727bea993af984f832e069d03a21219befae0f24ee49e67a1144cf1e8428dcf2e37f683aedb8d14118545d5087f2b7d822a576944cef3e590a12be51642
+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/files/nlohmann_json-3.11.2-gcc13-2.patch b/dev-cpp/nlohmann_json/files/nlohmann_json-3.11.2-gcc13-2.patch
new file mode 100644
index 000000000000..a2931880dbcd
--- /dev/null
+++ b/dev-cpp/nlohmann_json/files/nlohmann_json-3.11.2-gcc13-2.patch
@@ -0,0 +1,42 @@
+From a49829bd984c0282be18fcec070df0c31bf77dd5 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Arsen=20Arsenovi=C4=87?= <arsen@gentoo.org>
+Date: Tue, 21 Feb 2023 12:59:21 +0100
+Subject: [PATCH] tests/unit-iterators2: use std::ranges::equals for range
+ comparisons
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+This fixes a build error on GCC 13:
+
+ /home/arsen/nlohmann_json/tests/src/unit-iterators2.cpp: In function ‘void _DOCTEST_ANON_FUNC_2()’:
+ /home/arsen/nlohmann_json/tests/src/unit-iterators2.cpp:946:32: error: no match for ‘operator==’ (operand types are ‘doctest::detail::Expression_lhs<std::ranges::reverse_view<std::ranges::ref_view<nlohmann::json_abi_v3_11_2::basic_json<> > >&>’ and ‘nlohmann::json_abi_v3_11_2::json’ {aka ‘nlohmann::json_abi_v3_11_2::basic_json<>’})
+ 946 | CHECK(reversed == j_expected);
+ | ^~ ~~~~~~~~~~
+ | |
+ | nlohmann::json_abi_v3_11_2::json {aka nlohmann::json_abi_v3_11_2::basic_json<>}
+
+Bug: https://bugs.gentoo.org/895692
+Closes: #3927
+---
+Forwarded: https://github.com/nlohmann/json/pull/3950
+
+ tests/src/unit-iterators2.cpp | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/tests/src/unit-iterators2.cpp b/tests/src/unit-iterators2.cpp
+index 27926084..72a5d9dc 100644
+--- a/tests/src/unit-iterators2.cpp
++++ b/tests/src/unit-iterators2.cpp
+@@ -943,7 +943,7 @@ TEST_CASE("iterators 2")
+ json j_expected{5, 4, 3, 2, 1};
+
+ auto reversed = j | std::views::reverse;
+- CHECK(reversed == j_expected);
++ CHECK(std::ranges::equal(reversed, j_expected));
+ }
+
+ SECTION("transform")
+--
+2.39.2
+
diff --git a/dev-cpp/nlohmann_json/files/nlohmann_json-3.11.2-gcc13.patch b/dev-cpp/nlohmann_json/files/nlohmann_json-3.11.2-gcc13.patch
new file mode 100644
index 000000000000..5205e67a3c2c
--- /dev/null
+++ b/dev-cpp/nlohmann_json/files/nlohmann_json-3.11.2-gcc13.patch
@@ -0,0 +1,76 @@
+https://github.com/nlohmann/json/issues/3927
+https://github.com/nlohmann/json/pull/3895
+
+From a5b09d50b786638ed9deb09ef13860a3cb64eb6b Mon Sep 17 00:00:00 2001
+From: Sergei Trofimovich <slyich@gmail.com>
+Date: Tue, 20 Dec 2022 22:08:12 +0000
+Subject: [PATCH] custom allocators: define missing 'rebind' type
+
+`gcc-13` added an assert to standard headers to make sure custom
+allocators have intended implementation of rebind type instead
+of inherited rebind. gcc change:
+ https://gcc.gnu.org/git/?p=gcc.git;a=commitdiff;h=64c986b49558a7
+
+Without the fix build fails on this week's `gcc-13` as:
+
+ In file included from <<NIX>>-gcc-13.0.0/include/c++/13.0.0/ext/alloc_traits.h:34,
+ from <<NIX>>-gcc-13.0.0/include/c++/13.0.0/bits/basic_string.h:39,
+ from <<NIX>>-gcc-13.0.0/include/c++/13.0.0/string:54,
+ from <<NIX>>-gcc-13.0.0/include/c++/13.0.0/bits/locale_classes.h:40,
+ from <<NIX>>-gcc-13.0.0/include/c++/13.0.0/locale:41,
+ from tests/src/unit-regression2.cpp:19:
+ <<NIX>>-gcc-13.0.0/include/c++/13.0.0/bits/alloc_traits.h: In instantiation of 'struct std::__allocator_traits_base::__rebind<my_allocator<unsigned char>, unsigned char, void>':
+ <<NIX>>-gcc-13.0.0/include/c++/13.0.0/bits/alloc_traits.h:94:11: required by substitution of 'template<class _Alloc, class _Up> using std::__alloc_rebind = typename std::__allocator_traits_base::__rebind<_Alloc, _Up>::type [with _Alloc = my_allocator<unsigned char>; _Up = unsigned char]'
+ <<NIX>>-gcc-13.0.0/include/c++/13.0.0/bits/alloc_traits.h:228:8: required by substitution of 'template<class _Alloc> template<class _Tp> using std::allocator_traits< <template-parameter-1-1> >::rebind_alloc = std::__alloc_rebind<_Alloc, _Tp> [with _Tp = unsigned char; _Alloc = my_allocator<unsigned char>]'
+ <<NIX>>-gcc-13.0.0/include/c++/13.0.0/ext/alloc_traits.h:126:65: required from 'struct __gnu_cxx::__alloc_traits<my_allocator<unsigned char>, unsigned char>::rebind<unsigned char>'
+ <<NIX>>-gcc-13.0.0/include/c++/13.0.0/bits/stl_vector.h:88:21: required from 'struct std::_Vector_base<unsigned char, my_allocator<unsigned char> >'
+ <<NIX>>-gcc-13.0.0/include/c++/13.0.0/bits/stl_vector.h:423:11: required from 'class std::vector<unsigned char, my_allocator<unsigned char> >'
+ tests/src/unit-regression2.cpp:807:63: required from here
+ <<NIX>>-gcc-13.0.0/include/c++/13.0.0/bits/alloc_traits.h:70:31: error: static assertion failed: allocator_traits<A>::rebind_alloc<A::value_type> must be A
+ 70 | _Tp>::value,
+ | ^~~~~
+
+The change adds trivial `rebind` definition with expected return type
+and satisfies conversion requirements.
+--- a/tests/src/unit-allocator.cpp
++++ b/tests/src/unit-allocator.cpp
+@@ -20,11 +20,20 @@ struct bad_allocator : std::allocator<T>
+ {
+ using std::allocator<T>::allocator;
+
++ bad_allocator() = default;
++ template<class U> bad_allocator(const bad_allocator<U>& /*unused*/) { }
++
+ template<class... Args>
+ void construct(T* /*unused*/, Args&& ... /*unused*/)
+ {
+ throw std::bad_alloc();
+ }
++
++ template <class U>
++ struct rebind
++ {
++ using other = bad_allocator<U>;
++ };
+ };
+ } // namespace
+
+--- a/tests/src/unit-regression2.cpp
++++ b/tests/src/unit-regression2.cpp
+@@ -187,6 +187,15 @@ class my_allocator : public std::allocator<T>
+ {
+ public:
+ using std::allocator<T>::allocator;
++
++ my_allocator() = default;
++ template<class U> my_allocator(const my_allocator<U>& /*unused*/) { }
++
++ template <class U>
++ struct rebind
++ {
++ using other = my_allocator<U>;
++ };
+ };
+
+ /////////////////////////////////////////////////////////////////////
+
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 39a2c4c723af..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,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=7
+EAPI=8
inherit cmake
@@ -11,7 +11,8 @@ 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 )"
+ 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"
@@ -23,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.10.0.ebuild b/dev-cpp/nlohmann_json/nlohmann_json-3.11.2-r1.ebuild
index 39a2c4c723af..c99929f0867e 100644
--- a/dev-cpp/nlohmann_json/nlohmann_json-3.10.0.ebuild
+++ b/dev-cpp/nlohmann_json/nlohmann_json-3.11.2-r1.ebuild
@@ -1,12 +1,17 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+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.0.0"
+TEST_VERSION="3.1.0"
DESCRIPTION="JSON for Modern C++"
HOMEPAGE="https://github.com/nlohmann/json https://nlohmann.github.io/json/"
SRC_URI="
@@ -16,17 +21,25 @@ S="${WORKDIR}/json-${PV}"
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~x86"
-IUSE="doc test"
-#RESTRICT="!test? ( test )"
-# Need to report failing tests upstream
-# Tests only just added, large test suite, majority pass
-RESTRICT="test"
-
-BDEPEND="doc? ( app-doc/doxygen )"
+KEYWORDS="amd64 arm arm64 ~loong ppc ppc64 ~riscv x86"
+IUSE="test"
+RESTRICT="!test? ( test )"
DOCS=( ChangeLog.md README.md )
+PATCHES=(
+ "${FILESDIR}"/${PN}-3.11.2-gcc13.patch
+ "${FILESDIR}"/${PN}-3.11.2-gcc13-2.patch
+)
+
+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=(
@@ -40,22 +53,17 @@ src_configure() {
cmake_src_configure
}
-src_compile() {
- cmake_src_compile
-
- if use doc; then
- emake -C doc
- HTML_DOCS=( doc/html/. )
- fi
-}
-
src_test() {
- cd "${BUILD_DIR}/test" || die
+ 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=(
- "-LE git_required"
+ -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/nlohmann_json/nlohmann_json-3.9.1.ebuild b/dev-cpp/nlohmann_json/nlohmann_json-3.11.2.ebuild
index 727db8df498c..86bb5e2e2106 100644
--- a/dev-cpp/nlohmann_json/nlohmann_json-3.9.1.ebuild
+++ b/dev-cpp/nlohmann_json/nlohmann_json-3.11.2.ebuild
@@ -1,12 +1,17 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+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.0.0"
+TEST_VERSION="3.1.0"
DESCRIPTION="JSON for Modern C++"
HOMEPAGE="https://github.com/nlohmann/json https://nlohmann.github.io/json/"
SRC_URI="
@@ -16,17 +21,20 @@ S="${WORKDIR}/json-${PV}"
LICENSE="MIT"
SLOT="0"
-KEYWORDS="amd64 ~arm ~arm64 ppc ppc64 x86"
-IUSE="doc test"
-#RESTRICT="!test? ( test )"
-# Need to report failing tests upstream
-# Tests only just added, large test suite, majority pass
-RESTRICT="test"
-
-BDEPEND="doc? ( app-doc/doxygen )"
+KEYWORDS="amd64 ~arm arm64 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=(
@@ -40,22 +48,17 @@ src_configure() {
cmake_src_configure
}
-src_compile() {
- cmake_src_compile
-
- if use doc; then
- emake -C doc
- HTML_DOCS=( doc/html/. )
- fi
-}
-
src_test() {
- cd "${BUILD_DIR}/test" || die
+ 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=(
- "-LE git_required"
+ -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/nlohmann_json/nlohmann_json-3.10.4.ebuild b/dev-cpp/nlohmann_json/nlohmann_json-3.11.3.ebuild
index 39a2c4c723af..e9c1e4431fb6 100644
--- a/dev-cpp/nlohmann_json/nlohmann_json-3.10.4.ebuild
+++ b/dev-cpp/nlohmann_json/nlohmann_json-3.11.3.ebuild
@@ -1,32 +1,41 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+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.0.0"
+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 )"
+ 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 ~ppc ~ppc64 ~riscv ~x86"
-IUSE="doc test"
-#RESTRICT="!test? ( test )"
-# Need to report failing tests upstream
-# Tests only just added, large test suite, majority pass
-RESTRICT="test"
-
-BDEPEND="doc? ( app-doc/doxygen )"
+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=(
@@ -40,22 +49,17 @@ src_configure() {
cmake_src_configure
}
-src_compile() {
- cmake_src_compile
-
- if use doc; then
- emake -C doc
- HTML_DOCS=( doc/html/. )
- fi
-}
-
src_test() {
- cd "${BUILD_DIR}/test" || die
+ 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=(
- "-LE git_required"
+ -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/notcurses/Manifest b/dev-cpp/notcurses/Manifest
index 069e97c8ca6d..cf590785540d 100644
--- a/dev-cpp/notcurses/Manifest
+++ b/dev-cpp/notcurses/Manifest
@@ -1,2 +1,4 @@
-DIST notcurses-2.4.5.tar.gz 10082686 BLAKE2B 7205f4b5864cf9c09342a4c171f16be85abe92c1ad445ff31aa180837628b897fee8ce702340b68457b729f741a67d360e233d4344244627ed7bffcc07ae9818 SHA512 0ad1f22b591fd36eea9917c50b51a7811aec9662edec475d5555896115b5c7d3e51487a3b1d67298cfc5472be367d7b8a71b6554811e8e3a4d9d781adc2d01eb
-DIST notcurses-doc-2.4.5.tar.gz 133547 BLAKE2B 65795b4f58eb9f905f17a58e7435579f1bc17e72d0aa8816f6dd7c9f41fc1b8568dc078a93c9184e6324e6c02d3187f36e95f41ba9cf8dbd3dd1be5074b55f11 SHA512 9c29fda1b13530931f7f1768b607371e553f8b1fbd573c4cd80bbfacafa2e9b2eaa2063c4c324e8d9878fe62f44c013ab2402126e97f484a4442e791922c3622
+DIST notcurses-3.0.5.tar.gz 10135637 BLAKE2B a0ce682dca69de15eb17b153a96e7159ae2ff00f36694dbd72caa6fe0938bf52a5a1e1319ca8f3f011c56fb51fcb23e1b029b6b3307153f8c8768a58fd150aa8 SHA512 81aef639afc78225c4eb81f5576b773a5714476f09062f5ff290c10d4ab6ad3d67646c836556a0404f638684bfc3774897f75408033f447a6a14529c5f9f04b6
+DIST notcurses-3.0.8.tar.gz 10146073 BLAKE2B 82540f37bbb27858692df5cf081f7ebbfebdf3c6024c4967d7402c86bbba4caeb8ff9ab4449c51c83b1a971c92af5dee1c53648ede80d8925c500398513f89ca SHA512 ed019daea4cc462043876d61c7798c7aa6a39e70671158388c8a108426172cefd7fd3dbac90d1a0eee1e26c9c1a7b16c98d49bd8be02fd39650dbdda67e545bb
+DIST notcurses-doc-3.0.5.tar.gz 148376 BLAKE2B d899a21e40b5c39ee455326c607301a73fbe63f7e5336323397441bdb127324b50c444de578de08752a735b38476549c54b3902a0f4675722db6667ecd383195 SHA512 88537f912b9044337542d0c2dfa3777f5837a6a9fdbbe9ba2152c2e2874fca1c54a73e9f6459b9bd78784f4b3042845e9dc3ef7018cf9be043c6111eda70a82e
+DIST notcurses-doc-3.0.8.tar.gz 150000 BLAKE2B 8262157c051876302889c74e7986be928d9997e8b5e69028e2edf996df2f93078dcc584e2bb2860a74fecdc8e52c17d3448638f39036fe8acd8b54c0b6af3a39 SHA512 ff2d4a5fddfd775d862b4f1b93131d4600c3e15b1044b73a0b24fe5a6ffe6298960c4caab2848c4dc2ba2872d50fba49f86f34433e36b7e3f3782e920497defb
diff --git a/dev-cpp/notcurses/metadata.xml b/dev-cpp/notcurses/metadata.xml
index 4b4ca01eac43..8ae22f1db691 100644
--- a/dev-cpp/notcurses/metadata.xml
+++ b/dev-cpp/notcurses/metadata.xml
@@ -19,4 +19,7 @@
haciendo un uso completo de Unicode y color real de 24 bits.
Presenta una API similar a la de Curses y funciona sobre Terminfo.
</longdescription>
+ <upstream>
+ <remote-id type="github">dankamongmen/notcurses</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/dev-cpp/notcurses/notcurses-2.4.5.ebuild b/dev-cpp/notcurses/notcurses-3.0.5-r1.ebuild
index 56e13b2f06ae..53d4a8c6d2f4 100644
--- a/dev-cpp/notcurses/notcurses-2.4.5.ebuild
+++ b/dev-cpp/notcurses/notcurses-3.0.5-r1.ebuild
@@ -1,10 +1,9 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
-CMAKE_ECLASS="cmake"
-inherit cmake-multilib
+inherit cmake
DESCRIPTION="Blingful TUIs and character graphics"
HOMEPAGE="https://notcurses.com"
@@ -17,12 +16,12 @@ KEYWORDS="~amd64 ~x86"
DEPEND="dev-libs/libunistring:=
media-video/ffmpeg:=
sys-libs/gpm
- sys-libs/ncurses:=
- sys-libs/zlib"
+ sys-libs/ncurses:="
RDEPEND="${DEPEND}"
src_configure() {
local mycmakeargs=(
+ -DUSE_DEFLATE=OFF
-DUSE_DOCTEST=OFF
-DUSE_GPM=ON
-DUSE_MULTIMEDIA=ffmpeg
@@ -30,19 +29,18 @@ src_configure() {
-DUSE_QRCODEGEN=OFF
-DUSE_STATIC=OFF
)
- cmake-multilib_src_configure
-}
-
-src_compile() {
- cmake-multilib_src_compile
+ cmake_src_configure
}
src_test() {
- multilib_src_test
+ ewarn "Tests will fail if you don't have a UTF8 locale available,"
+ ewarn "or if you're missing the proper terminfo database for your TERM."
+
+ cmake_src_test
}
src_install() {
- cmake-multilib_src_install
+ cmake_src_install
# we use this tortured form lest we try, every time we release a
# x.y.1 or x.y.3, to install the source dir as a man page.
diff --git a/dev-cpp/notcurses/notcurses-3.0.8.ebuild b/dev-cpp/notcurses/notcurses-3.0.8.ebuild
new file mode 100644
index 000000000000..7966695b02fe
--- /dev/null
+++ b/dev-cpp/notcurses/notcurses-3.0.8.ebuild
@@ -0,0 +1,55 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+DESCRIPTION="Blingful TUIs and character graphics"
+HOMEPAGE="https://notcurses.com"
+SRC_URI="https://github.com/dankamongmen/notcurses/archive/v${PV}.tar.gz -> ${P}.tar.gz
+ https://github.com/dankamongmen/notcurses/releases/download/v${PV}/notcurses-doc-${PV}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+DEPEND="dev-libs/libunistring:=
+ media-video/ffmpeg:=
+ sys-libs/gpm
+ sys-libs/ncurses:="
+RDEPEND="${DEPEND}"
+
+src_configure() {
+ local mycmakeargs=(
+ -DBUILD_TESTING=$(usex test)
+ -DUSE_DEFLATE=OFF
+ -DUSE_DOCTEST=OFF
+ -DUSE_GPM=ON
+ -DUSE_MULTIMEDIA=ffmpeg
+ -DUSE_PANDOC=OFF
+ -DUSE_QRCODEGEN=OFF
+ -DUSE_STATIC=OFF
+ )
+ cmake_src_configure
+}
+
+src_test() {
+ ewarn "Tests will fail if you don't have a UTF8 locale available,"
+ ewarn "or if you're missing the proper terminfo database for your TERM."
+
+ cmake_src_test
+}
+
+src_install() {
+ cmake_src_install
+
+ # we use this tortured form lest we try, every time we release a
+ # x.y.1 or x.y.3, to install the source dir as a man page.
+ # exploit the fact that there's a bijection from html<>man.
+ for i in ../*.html ; do
+ doman ../$(basename ${i} .html || die)
+ done
+}
diff --git a/dev-cpp/opentelemetry-cpp/Manifest b/dev-cpp/opentelemetry-cpp/Manifest
new file mode 100644
index 000000000000..766567b2ffa4
--- /dev/null
+++ b/dev-cpp/opentelemetry-cpp/Manifest
@@ -0,0 +1,3 @@
+DIST opentelemetry-cpp-1.3.0.tar.gz 710030 BLAKE2B 56aa3213fd9c9ac5266197c2ca417f5ff181ca28016033c9320e63122eaf9a53bdb265e1778227a9036bc42f8837755a3009cb23610268bc03b9fb24b3844c82 SHA512 38f613c208ec847c8bf7765732d8198fcc427c293a929945d72c2f739e89d2a0ad36be4d94cc3c1b77fd7b1f1d1e5d8bdb38094a493ba3da3125281cd1016836
+DIST opentelemetry-cpp-1.4.0.tar.gz 722520 BLAKE2B c34867846708218e5ffcff9cdaa275e0c43201f681a68ad697d9f83ac04b7fdc6cdb69d942274cbe200b241e407ba11218c7e92da4f9adf4490e89c06388347f SHA512 a2339c0f9b2dc0d4f1964536a844241436bd68774445a0eab6e89e51965e01d3c40d2aa776d751eb497c50e9fdaa4e0023095efb14c8abbd6bbe23a2596eb3c9
+DIST opentelemetry-cpp-1.6.0.tar.gz 790774 BLAKE2B 9512c092bfe49c9da82eff3950204c1f2eb654df2ed428e58ceb8877d15d80d9978fa6da37f7780352538c74de04bac69660528b255dfbce743f89b9d4020dd2 SHA512 ae0777451a3d2d676afd9f3142ab78c7afb08474f6038bd810ff0ee30fee6695e10100c901e7ffadf3faf16c7d19622acdea414cd720be8572f7720f2d528628
diff --git a/dev-cpp/opentelemetry-cpp/files/opentelemetry-cpp-1.3.0-tests.patch b/dev-cpp/opentelemetry-cpp/files/opentelemetry-cpp-1.3.0-tests.patch
new file mode 100644
index 000000000000..a1ef0ff1d3cd
--- /dev/null
+++ b/dev-cpp/opentelemetry-cpp/files/opentelemetry-cpp-1.3.0-tests.patch
@@ -0,0 +1,92 @@
+diff --git a/ext/test/http/curl_http_test.cc b/ext/test/http/curl_http_test.cc
+index f8d248b..9a5be49 100644
+--- a/ext/test/http/curl_http_test.cc
++++ b/ext/test/http/curl_http_test.cc
+@@ -187,50 +187,6 @@ TEST_F(BasicCurlHttpTests, HttpResponse)
+ ASSERT_EQ(count, 4);
+ }
+
+-TEST_F(BasicCurlHttpTests, SendGetRequest)
+-{
+- received_requests_.clear();
+- auto session_manager = http_client::HttpClientFactory::Create();
+- EXPECT_TRUE(session_manager != nullptr);
+-
+- auto session = session_manager->CreateSession("http://127.0.0.1:19000");
+- auto request = session->CreateRequest();
+- request->SetUri("get/");
+- GetEventHandler *handler = new GetEventHandler();
+- session->SendRequest(*handler);
+- ASSERT_TRUE(waitForRequests(30, 1));
+- session->FinishSession();
+- ASSERT_TRUE(handler->is_called_);
+- delete handler;
+-}
+-
+-TEST_F(BasicCurlHttpTests, SendPostRequest)
+-{
+- received_requests_.clear();
+- auto session_manager = http_client::HttpClientFactory::Create();
+- EXPECT_TRUE(session_manager != nullptr);
+-
+- auto session = session_manager->CreateSession("http://127.0.0.1:19000");
+- auto request = session->CreateRequest();
+- request->SetUri("post/");
+- request->SetMethod(http_client::Method::Post);
+-
+- const char *b = "test-data";
+- http_client::Body body = {b, b + strlen(b)};
+- request->SetBody(body);
+- request->AddHeader("Content-Type", "text/plain");
+- PostEventHandler *handler = new PostEventHandler();
+- session->SendRequest(*handler);
+- ASSERT_TRUE(waitForRequests(30, 1));
+- session->FinishSession();
+- ASSERT_TRUE(handler->is_called_);
+-
+- session_manager->CancelAllSessions();
+- session_manager->FinishAllSessions();
+-
+- delete handler;
+-}
+-
+ TEST_F(BasicCurlHttpTests, RequestTimeout)
+ {
+ received_requests_.clear();
+@@ -271,17 +227,6 @@ TEST_F(BasicCurlHttpTests, CurlHttpOperations)
+ delete handler;
+ }
+
+-TEST_F(BasicCurlHttpTests, SendGetRequestSync)
+-{
+- received_requests_.clear();
+- curl::HttpClientSync http_client;
+-
+- http_client::Headers m1 = {};
+- auto result = http_client.Get("http://127.0.0.1:19000/get/", m1);
+- EXPECT_EQ(result, true);
+- EXPECT_EQ(result.GetSessionState(), http_client::SessionState::Response);
+-}
+-
+ TEST_F(BasicCurlHttpTests, SendGetRequestSyncTimeout)
+ {
+ received_requests_.clear();
+@@ -296,18 +241,6 @@ TEST_F(BasicCurlHttpTests, SendGetRequestSyncTimeout)
+ result.GetSessionState() == http_client::SessionState::SendFailed);
+ }
+
+-TEST_F(BasicCurlHttpTests, SendPostRequestSync)
+-{
+- received_requests_.clear();
+- curl::HttpClientSync http_client;
+-
+- http_client::Headers m1 = {};
+- http_client::Body body = {};
+- auto result = http_client.Post("http://127.0.0.1:19000/post/", body, m1);
+- EXPECT_EQ(result, true);
+- EXPECT_EQ(result.GetSessionState(), http_client::SessionState::Response);
+-}
+-
+ TEST_F(BasicCurlHttpTests, GetBaseUri)
+ {
+ curl::HttpClient session_manager;
diff --git a/dev-cpp/opentelemetry-cpp/files/opentelemetry-cpp-1.5.0-tests.patch b/dev-cpp/opentelemetry-cpp/files/opentelemetry-cpp-1.5.0-tests.patch
new file mode 100644
index 000000000000..1ef8821f55d8
--- /dev/null
+++ b/dev-cpp/opentelemetry-cpp/files/opentelemetry-cpp-1.5.0-tests.patch
@@ -0,0 +1,67 @@
+diff --git a/ext/test/http/curl_http_test.cc b/ext/test/http/curl_http_test.cc
+index 3059faaa..55657809 100644
+--- a/ext/test/http/curl_http_test.cc
++++ b/ext/test/http/curl_http_test.cc
+@@ -229,7 +229,7 @@ TEST_F(BasicCurlHttpTests, HttpResponse)
+ ASSERT_EQ(count, 4);
+ }
+
+-TEST_F(BasicCurlHttpTests, SendGetRequest)
++TEST_F(BasicCurlHttpTests, DISABLED_SendGetRequest)
+ {
+ received_requests_.clear();
+ auto session_manager = http_client::HttpClientFactory::Create();
+@@ -246,7 +246,7 @@ TEST_F(BasicCurlHttpTests, SendGetRequest)
+ ASSERT_TRUE(handler->got_response_);
+ }
+
+-TEST_F(BasicCurlHttpTests, SendPostRequest)
++TEST_F(BasicCurlHttpTests, DISABLED_SendPostRequest)
+ {
+ received_requests_.clear();
+ auto session_manager = http_client::HttpClientFactory::Create();
+@@ -312,7 +312,7 @@ TEST_F(BasicCurlHttpTests, CurlHttpOperations)
+ delete handler;
+ }
+
+-TEST_F(BasicCurlHttpTests, SendGetRequestSync)
++TEST_F(BasicCurlHttpTests, DISABLED_SendGetRequestSync)
+ {
+ received_requests_.clear();
+ curl::HttpClientSync http_client;
+@@ -337,7 +337,7 @@ TEST_F(BasicCurlHttpTests, SendGetRequestSyncTimeout)
+ result.GetSessionState() == http_client::SessionState::SendFailed);
+ }
+
+-TEST_F(BasicCurlHttpTests, SendPostRequestSync)
++TEST_F(BasicCurlHttpTests, DISABLED_SendPostRequestSync)
+ {
+ received_requests_.clear();
+ curl::HttpClientSync http_client;
+@@ -365,7 +365,7 @@ TEST_F(BasicCurlHttpTests, GetBaseUri)
+ "http://127.0.0.1:31339/");
+ }
+
+-TEST_F(BasicCurlHttpTests, SendGetRequestAsync)
++TEST_F(BasicCurlHttpTests, DISABLED_SendGetRequestAsync)
+ {
+ curl::HttpClient http_client;
+
+@@ -439,7 +439,7 @@ TEST_F(BasicCurlHttpTests, SendGetRequestAsyncTimeout)
+ }
+ }
+
+-TEST_F(BasicCurlHttpTests, SendPostRequestAsync)
++TEST_F(BasicCurlHttpTests, DISABLED_SendPostRequestAsync)
+ {
+ curl::HttpClient http_client;
+
+@@ -478,7 +478,7 @@ TEST_F(BasicCurlHttpTests, SendPostRequestAsync)
+ }
+ }
+
+-TEST_F(BasicCurlHttpTests, FinishInAsyncCallback)
++TEST_F(BasicCurlHttpTests, DISABLED_FinishInAsyncCallback)
+ {
+ curl::HttpClient http_client;
+
diff --git a/dev-cpp/opentelemetry-cpp/files/opentelemetry-cpp-1.6.0-dont-install-nosend.patch b/dev-cpp/opentelemetry-cpp/files/opentelemetry-cpp-1.6.0-dont-install-nosend.patch
new file mode 100644
index 000000000000..f3d757f2c5f4
--- /dev/null
+++ b/dev-cpp/opentelemetry-cpp/files/opentelemetry-cpp-1.6.0-dont-install-nosend.patch
@@ -0,0 +1,15 @@
+diff --git a/ext/src/http/client/nosend/CMakeLists.txt b/ext/src/http/client/nosend/CMakeLists.txt
+index 497daeb3..949bfd36 100644
+--- a/ext/src/http/client/nosend/CMakeLists.txt
++++ b/ext/src/http/client/nosend/CMakeLists.txt
+@@ -27,10 +27,4 @@ if(${BUILD_TESTING})
+ target_link_libraries(http_client_nosend ${GTEST_BOTH_LIBRARIES} ${GMOCK_LIB}
+ opentelemetry_ext)
+
+- install(
+- TARGETS http_client_nosend
+- EXPORT "${PROJECT_NAME}-target"
+- RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
+- LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
+- ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR})
+ endif()
diff --git a/dev-cpp/opentelemetry-cpp/metadata.xml b/dev-cpp/opentelemetry-cpp/metadata.xml
new file mode 100644
index 000000000000..c4293b76629d
--- /dev/null
+++ b/dev-cpp/opentelemetry-cpp/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>chutzpah@gentoo.org</email>
+ <name>Patrick McLean</name>
+ </maintainer>
+ <use>
+ <flag name="jaeger">Include the jaeger exporter</flag>
+ <flag name="prometheus">include the Prometheus Client in the SDK</flag>
+ </use>
+</pkgmetadata>
diff --git a/dev-cpp/opentelemetry-cpp/opentelemetry-cpp-1.3.0-r2.ebuild b/dev-cpp/opentelemetry-cpp/opentelemetry-cpp-1.3.0-r2.ebuild
new file mode 100644
index 000000000000..474f39a0b30e
--- /dev/null
+++ b/dev-cpp/opentelemetry-cpp/opentelemetry-cpp-1.3.0-r2.ebuild
@@ -0,0 +1,50 @@
+# Copyright 2022-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+DESCRIPTION="The OpenTelemetry C++ Client"
+HOMEPAGE="
+ https://opentelemetry.io/
+ https://github.com/open-telemetry/opentelemetry-cpp
+"
+SRC_URI="https://github.com/open-telemetry/${PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64"
+IUSE="+jaeger prometheus test"
+
+RDEPEND="
+ net-misc/curl:=
+ dev-libs/thrift:=
+ dev-libs/boost:=
+"
+DEPEND="
+ ${RDEPEND}
+ test? (
+ dev-cpp/gtest
+ dev-cpp/benchmark
+ )
+"
+
+RESTRICT="!test? ( test )"
+
+PATCHES=(
+ # remove tests the need network
+ "${FILESDIR}/opentelemetry-cpp-1.3.0-tests.patch"
+)
+
+src_configure() {
+ local mycmakeargs=(
+ -DCMAKE_POSITION_INDEPENDENT_CODE:BOOL=ON
+ -DBUILD_SHARED_LIBS:BOOL=ON
+ -DBUILD_TESTING:BOOL=$(usex test)
+ -DWITH_JAEGER:BOOL=$(usex jaeger)
+ -DWITH_PROMETHEUS:BOOL=$(usex prometheus)
+ )
+
+ cmake_src_configure
+}
diff --git a/dev-cpp/opentelemetry-cpp/opentelemetry-cpp-1.4.0.ebuild b/dev-cpp/opentelemetry-cpp/opentelemetry-cpp-1.4.0.ebuild
new file mode 100644
index 000000000000..474f39a0b30e
--- /dev/null
+++ b/dev-cpp/opentelemetry-cpp/opentelemetry-cpp-1.4.0.ebuild
@@ -0,0 +1,50 @@
+# Copyright 2022-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+DESCRIPTION="The OpenTelemetry C++ Client"
+HOMEPAGE="
+ https://opentelemetry.io/
+ https://github.com/open-telemetry/opentelemetry-cpp
+"
+SRC_URI="https://github.com/open-telemetry/${PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64"
+IUSE="+jaeger prometheus test"
+
+RDEPEND="
+ net-misc/curl:=
+ dev-libs/thrift:=
+ dev-libs/boost:=
+"
+DEPEND="
+ ${RDEPEND}
+ test? (
+ dev-cpp/gtest
+ dev-cpp/benchmark
+ )
+"
+
+RESTRICT="!test? ( test )"
+
+PATCHES=(
+ # remove tests the need network
+ "${FILESDIR}/opentelemetry-cpp-1.3.0-tests.patch"
+)
+
+src_configure() {
+ local mycmakeargs=(
+ -DCMAKE_POSITION_INDEPENDENT_CODE:BOOL=ON
+ -DBUILD_SHARED_LIBS:BOOL=ON
+ -DBUILD_TESTING:BOOL=$(usex test)
+ -DWITH_JAEGER:BOOL=$(usex jaeger)
+ -DWITH_PROMETHEUS:BOOL=$(usex prometheus)
+ )
+
+ cmake_src_configure
+}
diff --git a/dev-cpp/opentelemetry-cpp/opentelemetry-cpp-1.6.0.ebuild b/dev-cpp/opentelemetry-cpp/opentelemetry-cpp-1.6.0.ebuild
new file mode 100644
index 000000000000..df41ba0935e1
--- /dev/null
+++ b/dev-cpp/opentelemetry-cpp/opentelemetry-cpp-1.6.0.ebuild
@@ -0,0 +1,52 @@
+# Copyright 2022-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+DESCRIPTION="The OpenTelemetry C++ Client"
+HOMEPAGE="
+ https://opentelemetry.io/
+ https://github.com/open-telemetry/opentelemetry-cpp
+"
+SRC_URI="https://github.com/open-telemetry/${PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 ~arm64 ppc64"
+IUSE="+jaeger prometheus test"
+
+RDEPEND="
+ net-misc/curl:=
+ dev-libs/thrift:=
+ dev-libs/boost:=
+"
+DEPEND="
+ ${RDEPEND}
+ test? (
+ dev-cpp/gtest
+ dev-cpp/benchmark
+ )
+"
+
+RESTRICT="!test? ( test )"
+
+PATCHES=(
+ # remove tests the need network
+ "${FILESDIR}/opentelemetry-cpp-1.5.0-tests.patch"
+ # bug #865029
+ "${FILESDIR}/opentelemetry-cpp-1.6.0-dont-install-nosend.patch"
+)
+
+src_configure() {
+ local mycmakeargs=(
+ -DCMAKE_POSITION_INDEPENDENT_CODE:BOOL=ON
+ -DBUILD_SHARED_LIBS:BOOL=ON
+ -DBUILD_TESTING:BOOL=$(usex test)
+ -DWITH_JAEGER:BOOL=$(usex jaeger)
+ -DWITH_PROMETHEUS:BOOL=$(usex prometheus)
+ )
+
+ cmake_src_configure
+}
diff --git a/dev-cpp/pangomm/Manifest b/dev-cpp/pangomm/Manifest
index 3fdd6184d2bc..554dc2da962b 100644
--- a/dev-cpp/pangomm/Manifest
+++ b/dev-cpp/pangomm/Manifest
@@ -1,2 +1,2 @@
-DIST pangomm-2.42.2.tar.xz 656760 BLAKE2B 8fae779aa78b2337b83759adc7aadec1f61c08c54d892e3cdd05180e2ab032a61faa72c39281fab649bcd08591c5d7ace9ea65b25f76ce17d6f4d96f38900b6a SHA512 5e4826d64c0178527b4df73e901d2fdf5661d41777e189f5e2d4b26577e42689efaccf5a28502246c6b3926571ccd5876cb23d33267b44ace7ee164322c14667
-DIST pangomm-2.48.1.tar.xz 675452 BLAKE2B bb012fc5cb66d5cb98f522e3706fdd35bcc5692fcd942f86ee1e20116590ceca26874c5a58bd3f8fac4f154700dfb37ea060747a6c3069e67adf83ba551e7abc SHA512 c204a1cb7a404f055d62880a760716c5567a835ca495cc5e01589ed59fabb332490e529de716c3438cefbc4428c025d6d01c71e4412b2843e3ab3a3175ccc2f4
+DIST pangomm-2.46.3.tar.xz 674428 BLAKE2B 241b902e65ebb2cc213f479832503f07daad736e168ad7e841f3a22e8640e0365167cb29122cd1bf7080bf7b283ddb92aa71aee9731ea878a1ef26f88c3796c6 SHA512 c0925f295b372bca7b5ede28476ed00e691911e041632969e5e4c30fcf338bac069ba031d4f48601877524b90af47f5238e444e2de7501f1ff25dcda9dd9a9c8
+DIST pangomm-2.50.1.tar.xz 754608 BLAKE2B 3581db044e95fb78e2f8e67868735d6626d052099076c9b46668a255bb8df2cbc152dbaf730bfe2a3b47610a1a4e1903d83950d303d59913d9ff123a882db772 SHA512 bffc55eedc4f278480a74afcf119b79a295bf5775123f582746ba425e19e2690d627baa9a9813b70db9e063db7efe959f365567dd7bcbc1fc862212ba8225a98
diff --git a/dev-cpp/pangomm/metadata.xml b/dev-cpp/pangomm/metadata.xml
index 7b343b06be8a..897bd48f1fa3 100644
--- a/dev-cpp/pangomm/metadata.xml
+++ b/dev-cpp/pangomm/metadata.xml
@@ -1,8 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
-<maintainer type="project">
- <email>gnome@gentoo.org</email>
- <name>Gentoo GNOME Desktop</name>
-</maintainer>
+ <maintainer type="project">
+ <email>gnome@gentoo.org</email>
+ <name>Gentoo GNOME Desktop</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="gnome-gitlab">GNOME/pangomm</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/dev-cpp/pangomm/pangomm-2.42.2.ebuild b/dev-cpp/pangomm/pangomm-2.42.2.ebuild
deleted file mode 100644
index 1415ead43d39..000000000000
--- a/dev-cpp/pangomm/pangomm-2.42.2.ebuild
+++ /dev/null
@@ -1,39 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{7..9} )
-inherit gnome.org meson-multilib python-any-r1
-
-DESCRIPTION="C++ interface for pango"
-HOMEPAGE="https://www.gtkmm.org"
-
-LICENSE="LGPL-2.1+"
-SLOT="1.4"
-KEYWORDS="~alpha amd64 arm ~arm64 ~hppa ~ia64 ppc ppc64 ~riscv sparc x86 ~amd64-linux ~x86-linux ~sparc-solaris ~x86-solaris"
-IUSE="doc"
-
-DEPEND="
- >=dev-cpp/cairomm-1.2.2:0[doc?,${MULTILIB_USEDEP}]
- >=dev-cpp/glibmm-2.48.0:2[doc?,${MULTILIB_USEDEP}]
- dev-libs/libsigc++:2[doc?,${MULTILIB_USEDEP}]
- >=x11-libs/pango-1.41.0[${MULTILIB_USEDEP}]
-"
-RDEPEND="${DEPEND}"
-BDEPEND="
- virtual/pkgconfig
- doc? (
- app-doc/doxygen[dot]
- dev-lang/perl
- dev-libs/libxslt
- )
- ${PYTHON_DEPS}
-"
-
-multilib_src_configure() {
- local emesonargs=(
- $(meson_native_use_bool doc build-documentation)
- )
- meson_src_configure
-}
diff --git a/dev-cpp/pangomm/pangomm-2.46.3.ebuild b/dev-cpp/pangomm/pangomm-2.46.3.ebuild
new file mode 100644
index 000000000000..8b815a510093
--- /dev/null
+++ b/dev-cpp/pangomm/pangomm-2.46.3.ebuild
@@ -0,0 +1,40 @@
+# Copyright 1999-2024 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 pango"
+HOMEPAGE="https://www.gtkmm.org https://gitlab.gnome.org/GNOME/pangomm"
+
+LICENSE="LGPL-2.1+"
+SLOT="1.4"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ppc ppc64 ~riscv sparc x86 ~amd64-linux ~x86-linux"
+IUSE="gtk-doc"
+
+RDEPEND="
+ >=dev-cpp/cairomm-1.2.2:0[gtk-doc?,${MULTILIB_USEDEP}]
+ >=dev-cpp/glibmm-2.48.0:2[gtk-doc?,${MULTILIB_USEDEP}]
+ dev-libs/libsigc++:2[gtk-doc?,${MULTILIB_USEDEP}]
+ >=x11-libs/pango-1.45.1[${MULTILIB_USEDEP}]
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ virtual/pkgconfig
+ gtk-doc? (
+ >=dev-cpp/mm-common-1.0.4
+ app-text/doxygen[dot]
+ dev-libs/libxslt
+ )
+ ${PYTHON_DEPS}
+"
+
+multilib_src_configure() {
+ local emesonargs=(
+ -Dmaintainer-mode=false
+ $(meson_native_use_bool gtk-doc build-documentation)
+ )
+ meson_src_configure
+}
diff --git a/dev-cpp/pangomm/pangomm-2.48.1.ebuild b/dev-cpp/pangomm/pangomm-2.48.1.ebuild
deleted file mode 100644
index a7d98ee56e48..000000000000
--- a/dev-cpp/pangomm/pangomm-2.48.1.ebuild
+++ /dev/null
@@ -1,39 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{7..9} )
-inherit gnome.org meson-multilib python-any-r1
-
-DESCRIPTION="C++ interface for pango"
-HOMEPAGE="https://www.gtkmm.org"
-
-LICENSE="LGPL-2.1+"
-SLOT="2.48"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux ~sparc-solaris ~x86-solaris"
-IUSE="doc"
-
-DEPEND="
- >=dev-cpp/cairomm-1.16.0:1.16[doc?,${MULTILIB_USEDEP}]
- >=dev-cpp/glibmm-2.68.0:2.68[doc?,${MULTILIB_USEDEP}]
- >=dev-libs/libsigc++-3:3[doc?,${MULTILIB_USEDEP}]
- >=x11-libs/pango-1.48.0[${MULTILIB_USEDEP}]
-"
-RDEPEND="${DEPEND}"
-BDEPEND="
- virtual/pkgconfig
- doc? (
- app-doc/doxygen[dot]
- dev-lang/perl
- dev-libs/libxslt
- )
- ${PYTHON_DEPS}
-"
-
-multilib_src_configure() {
- local emesonargs=(
- $(meson_native_use_bool doc build-documentation)
- )
- meson_src_configure
-}
diff --git a/dev-cpp/pangomm/pangomm-2.50.1.ebuild b/dev-cpp/pangomm/pangomm-2.50.1.ebuild
new file mode 100644
index 000000000000..c1015ac58a90
--- /dev/null
+++ b/dev-cpp/pangomm/pangomm-2.50.1.ebuild
@@ -0,0 +1,40 @@
+# Copyright 1999-2024 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 pango"
+HOMEPAGE="https://www.gtkmm.org https://gitlab.gnome.org/GNOME/pangomm"
+
+LICENSE="LGPL-2.1+"
+SLOT="2.48"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ppc ppc64 ~riscv sparc x86 ~amd64-linux ~x86-linux"
+IUSE="gtk-doc"
+
+RDEPEND="
+ >=dev-cpp/cairomm-1.16.0:1.16[gtk-doc?,${MULTILIB_USEDEP}]
+ >=dev-cpp/glibmm-2.68.0:2.68[gtk-doc?,${MULTILIB_USEDEP}]
+ >=dev-libs/libsigc++-3:3[gtk-doc?,${MULTILIB_USEDEP}]
+ >=x11-libs/pango-1.49.4[${MULTILIB_USEDEP}]
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ virtual/pkgconfig
+ gtk-doc? (
+ >=dev-cpp/mm-common-1.0.4
+ app-text/doxygen[dot]
+ dev-libs/libxslt
+ )
+ ${PYTHON_DEPS}
+"
+
+multilib_src_configure() {
+ local emesonargs=(
+ -Dmaintainer-mode=false
+ $(meson_native_use_bool gtk-doc build-documentation)
+ )
+ meson_src_configure
+}
diff --git a/dev-cpp/picojson/picojson-1.3.0.ebuild b/dev-cpp/picojson/picojson-1.3.0.ebuild
index ca57d8fb939c..1e865d6a25f0 100644
--- a/dev-cpp/picojson/picojson-1.3.0.ebuild
+++ b/dev-cpp/picojson/picojson-1.3.0.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -11,7 +11,7 @@ SRC_URI="https://github.com/kazuho/picojson/archive/v${PV}.tar.gz -> ${P}.tar.gz
LICENSE="BSD-2"
SLOT="0"
-KEYWORDS="~amd64"
+KEYWORDS="amd64 x86"
src_compile() {
:
diff --git a/dev-cpp/pngpp/Manifest b/dev-cpp/pngpp/Manifest
deleted file mode 100644
index eee6115c39f4..000000000000
--- a/dev-cpp/pngpp/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST png++-0.2.9.tar.gz 592770 BLAKE2B 12419e3c964f92022f992e25d2efcfb01c7f6275aba1db159372f84cbf0e0bf0e92e95dac419ff0f6248dd1ecf63918b11096e7e6baa8da5704909e69cb7aeca SHA512 905e037faf26eef9ca1d9508471dde9f480f41a87d72133057865078b2fd040b1cf84727ece48d79117d615fdfbc0a749fec7dbe362366763e2017865a7fe132
diff --git a/dev-cpp/pngpp/files/pngpp-0.2.9-DESTDIR.patch b/dev-cpp/pngpp/files/pngpp-0.2.9-DESTDIR.patch
deleted file mode 100644
index ee9b29ef7558..000000000000
--- a/dev-cpp/pngpp/files/pngpp-0.2.9-DESTDIR.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-Build system does not honour $(DESTDIR)
-
---- a/Makefile
-+++ b/Makefile
-@@ -54,8 +54,8 @@
- uninstall: uninstall-headers uninstall-docs
-
- install-headers:
-- mkdir -p $(PREFIX)/include/png++
-- cp $(headers) $(PREFIX)/include/png++
-+ mkdir -p $(DESTDIR)$(PREFIX)/include/png++
-+ cp $(headers) $(DESTDIR)$(PREFIX)/include/png++
-
- uninstall-headers:
- rm -rf $(PREFIX)/include/png++
diff --git a/dev-cpp/pngpp/metadata.xml b/dev-cpp/pngpp/metadata.xml
deleted file mode 100644
index 85e4ed814fa2..000000000000
--- a/dev-cpp/pngpp/metadata.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
-<!-- maintainer-needed -->
-</pkgmetadata>
diff --git a/dev-cpp/pngpp/pngpp-0.2.9.ebuild b/dev-cpp/pngpp/pngpp-0.2.9.ebuild
deleted file mode 100644
index 4e013690de88..000000000000
--- a/dev-cpp/pngpp/pngpp-0.2.9.ebuild
+++ /dev/null
@@ -1,34 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-MY_P=${P/pp/++}
-
-DESCRIPTION="A simple but powerful C++ interface to libpng"
-HOMEPAGE="http://www.nongnu.org/pngpp/"
-SRC_URI="mirror://nongnu/${PN}/${MY_P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 x86"
-IUSE=""
-
-RDEPEND="media-libs/libpng:0"
-DEPEND=""
-
-S=${WORKDIR}/${MY_P}
-
-PATCHES=( "${FILESDIR}"/${PN}-0.2.9-DESTDIR.patch )
-
-src_compile() { :; }
-src_test() { :; }
-
-src_install() {
- emake DESTDIR="${D}" PREFIX="${EPREFIX}"/usr install-headers
- einstalldocs
-
- docinto examples
- dodoc example/*.cpp
- docompress -x /usr/share/doc/${PF}/examples
-}
diff --git a/dev-cpp/popl/popl-1.2.0.ebuild b/dev-cpp/popl/popl-1.2.0.ebuild
index a83ee4c545b4..83cea89db642 100644
--- a/dev-cpp/popl/popl-1.2.0.ebuild
+++ b/dev-cpp/popl/popl-1.2.0.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -16,7 +16,7 @@ if [[ ${PV} == *9999 ]] ; then
else
SRC_URI="https://github.com/badaix/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
- KEYWORDS="amd64 x86"
+ KEYWORDS="amd64 ~arm ppc ppc64 ~riscv x86"
fi
LICENSE="MIT"
diff --git a/dev-cpp/prometheus-cpp/Manifest b/dev-cpp/prometheus-cpp/Manifest
index e4f552e6847b..f0308f8c5d76 100644
--- a/dev-cpp/prometheus-cpp/Manifest
+++ b/dev-cpp/prometheus-cpp/Manifest
@@ -1,3 +1,2 @@
-DIST prometheus-cpp-0.12.2.tar.gz 55191 BLAKE2B f1430cf6b8ca8272c447e8c2a25af5fb0d515389cb1078f8836a9a1f1ba0e26cc43236e9c147219384df40d601b843219acb95ebc46bb1c2fce6d83a86724182 SHA512 9907658939b7956219c3623bd5997f341f4374fbce2ee606bd1d8df820779ed8dc70658a30aafbb47b9af645205c048270b23e701203e13286bc365094a441d3
-DIST prometheus-cpp-0.12.3.tar.gz 55510 BLAKE2B 8a9dffb4608f1d1f141726cf7bec3a19ca9040baca9871ff3aa950aa979b34319e704539ff3f2830a5c145645e9c3c0efc9e9b2c5c534d8b3745aaf1e9426763 SHA512 e8093db6e58d1672fd94daeed94f2c11f663145195bf878e0403973f2f4f62a3f9430cf6de1fc9ac0821b4b323e3faeb96199d450b3d7a04a5dee0e6f94ddc01
-DIST prometheus-cpp-0.13.0.tar.gz 55448 BLAKE2B 5790e74f5bb783070b6928adf9d850dc59ff8507d580a96549e62a2ea9ca1cf5b5de0fb445dd373bbae6da3fdae59d1dbf2eca5e04dc3d6adb58e5c52da1e666 SHA512 d2c6708047cec1998697931d5e9b420dfa513ade9f298761b08ae87a5526cbe64476ebc56793c21d8c3d741e3a4db5ce8d27af1d39b4ca30a45de34f40fdca67
+DIST prometheus-cpp-1.1.0.tar.gz 58489 BLAKE2B af24fbc34e79c04ec80dbf4430de5a2cf0e66b7de4c06f9b37e6bc3ab7f868b948db486a4f962c7986748eff1247eb0119ad5b581ac01129ce6bfa10f7b53ec7 SHA512 0715a0eb8a7f7065e01b8039c261eaa98a77a8d035783ccef9333fb06eecd75599959807ec157514c60ed435841bcd0cdd8cd295bcf7cd88e21e1099ba12be89
+DIST prometheus-cpp-1.2.4.tar.gz 73953 BLAKE2B 75ca7b8c88408b54ab806dcc8ecaa48c9d29a7cbb76fe786fc76e114fa0bfcacaced7d899f8aff24060c9cbb4836d144b25fca2ac45438982789bcf881fade67 SHA512 8c15492054189b736e502258c30aaaae0fac3c9ea61907260e6e3cd29fe4077451f9e49fd580508aa6e21691209545d9cf87011be5b046fa097a53a133167553
diff --git a/dev-cpp/prometheus-cpp/prometheus-cpp-0.12.2.ebuild b/dev-cpp/prometheus-cpp/prometheus-cpp-0.12.2.ebuild
deleted file mode 100644
index 9f22bf741501..000000000000
--- a/dev-cpp/prometheus-cpp/prometheus-cpp-0.12.2.ebuild
+++ /dev/null
@@ -1,41 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-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 ~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/prometheus-cpp/prometheus-cpp-0.13.0.ebuild b/dev-cpp/prometheus-cpp/prometheus-cpp-1.1.0.ebuild
index 07f8033472af..6239a46b04df 100644
--- a/dev-cpp/prometheus-cpp/prometheus-cpp-0.13.0.ebuild
+++ b/dev-cpp/prometheus-cpp/prometheus-cpp-1.1.0.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
diff --git a/dev-cpp/prometheus-cpp/prometheus-cpp-0.12.3.ebuild b/dev-cpp/prometheus-cpp/prometheus-cpp-1.2.4.ebuild
index 62457df73986..c63b8b7eb353 100644
--- a/dev-cpp/prometheus-cpp/prometheus-cpp-0.12.3.ebuild
+++ b/dev-cpp/prometheus-cpp/prometheus-cpp-1.2.4.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=7
+EAPI=8
inherit cmake
diff --git a/dev-cpp/pstreams/Manifest b/dev-cpp/pstreams/Manifest
deleted file mode 100644
index f5e3e547d8d6..000000000000
--- a/dev-cpp/pstreams/Manifest
+++ /dev/null
@@ -1,2 +0,0 @@
-DIST pstreams-1.0.1.tar.gz 66188 BLAKE2B 937b9ae833dcace9f0f44dbac6907d5c73c5757f604ea96835c0ddf0ec9abd5fa4f40a1c01872a47fd0bcdc094f90215da6b7f80f261172f93f7b5233b60a5cb SHA512 279f758a4aeba124227e3de07e202f6cd838bfca4f34829a446f2f20cf426bd404f28960b881f810b5f2038e3946d38174ca09e6a07d5dacc0501f41746245e6
-DIST pstreams-docs-1.0.1.tar.gz 178382 BLAKE2B dd44e4c6acd83dfc6896145e77408d7c23150c1156e477ccb4052341e041d82163d0ee3e8069ea5fda9033617c3a1162fc2068835d089f6ce7614477c2e3e58b SHA512 e645cb3d1c20cc0c717d03aa24e500489452d0880af0feddcf234e713878159b22a891ec04a66f0aad6988e71418a224a4ba66064e6a83578ecf957d9af167e2
diff --git a/dev-cpp/pstreams/pstreams-1.0.1.ebuild b/dev-cpp/pstreams/pstreams-1.0.1.ebuild
deleted file mode 100644
index e95044c86695..000000000000
--- a/dev-cpp/pstreams/pstreams-1.0.1.ebuild
+++ /dev/null
@@ -1,44 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit toolchain-funcs
-
-DESCRIPTION="C++ wrapper for the POSIX.2 functions popen(3) and pclose(3)"
-HOMEPAGE="http://pstreams.sourceforge.net/"
-SRC_URI="
- mirror://sourceforge/${PN}/${P}.tar.gz
- doc? ( mirror://sourceforge/${PN}/${PN}-docs-${PV}.tar.gz )"
-
-LICENSE="LGPL-3"
-SLOT="0"
-IUSE="doc"
-KEYWORDS="~amd64 ~x86"
-
-BDEPEND="doc? ( app-doc/doxygen )"
-
-src_compile() {
- if use doc; then
- doxygen -u || die
- emake
- fi
-}
-
-src_test() {
- emake \
- CXX="$(tc-getCXX)" \
- CXXFLAGS="${CXXFLAGS}" \
- check
-}
-
-src_install() {
- doheader pstream.h
-
- dodoc AUTHORS ChangeLog README
-
- if use doc ; then
- docinto html
- dodoc -r "${WORKDIR}"/${PN}-docs-${PV}/*
- fi
-}
diff --git a/dev-cpp/pystring/pystring-1.1.3-r1.ebuild b/dev-cpp/pystring/pystring-1.1.3-r1.ebuild
index cb58e2b9e1b9..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-2021 Gentoo Authors
+# Copyright 2020-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -13,18 +13,14 @@ if [[ "${PV}" == "9999" ]]; then
EGIT_REPO_URI="https://github.com/imageworks/pystring.git"
else
SRC_URI="https://github.com/imageworks/pystring/archive/v${PV}.tar.gz -> ${P}.tar.gz"
- KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86"
+ KEYWORDS="amd64 ~arm ~arm64 ~ppc64 ~riscv x86"
fi
-BDEPEND="
- virtual/libc
- sys-devel/libtool
-"
-RESTRICT="mirror"
-
LICENSE="BSD"
SLOT="0"
+BDEPEND="dev-build/libtool"
+
PATCHES=(
# Patch to convert the project into cmake. Taken from:
# https://github.com/imageworks/pystring/pull/29
diff --git a/dev-cpp/random123/metadata.xml b/dev-cpp/random123/metadata.xml
index 125513d74f67..c0cd18916a93 100644
--- a/dev-cpp/random123/metadata.xml
+++ b/dev-cpp/random123/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">
- <email>junghans@gentoo.org</email>
- <name>Christoph Junghans</name>
- </maintainer>
<maintainer type="project">
<email>sci@gentoo.org</email>
<name>Gentoo Science Project</name>
diff --git a/dev-cpp/range-v3/Manifest b/dev-cpp/range-v3/Manifest
index 6fafedbb109f..8414af337fcb 100644
--- a/dev-cpp/range-v3/Manifest
+++ b/dev-cpp/range-v3/Manifest
@@ -1,2 +1 @@
-DIST range-v3-0.10.0.tar.gz 525765 BLAKE2B 7dd3aed9b35920e058fe43bccd364831a52ad8d50179d1057ab7a37cdef82df021bb09a9913018ae78982fe136c855ba4101e31d35cfc21747af994d0103b95e SHA512 4db089dcbf638eb30fa20dcf6785dd460c5a074a8912984a484592753cfee9f5b9a0e2c56b5bc5921d1b6120877aa2c83ac0a6fe428088ef2854033a635e9723
-DIST range-v3-0.11.0.tar.gz 533136 BLAKE2B d325b14a9d812cb7a600a947126bcecf9384bec987edbad42eec38560415d075815ab92e3f92dad291029fc3e1b1afa1ceaf54443b4a536078047fd32d344394 SHA512 9d6cdcbc1e50104206ba731c3bdc9aab3acfcf69cd83f0e0b4de18b88df2a9e73d64e55638421768d4433c542b6619f6e5af6b17cccd3090cf8b4d4efe9863e4
+DIST range-v3-0.12.0.tar.gz 582834 BLAKE2B 252066fae70aae76450226f2c17248662de4778dcebcd7dbaa2bf757c1bfe3e7441f65e41e3110c1ae83ae93a41c54d6c006dbf5482ffbe09a3aa4f51d02df9c SHA512 b8b632b8e0f2a3234ef61813212c237f648cd741e816ca57bd86f82f6459f7d755e2b70361d2aa43847874fb546a31a792ab1c3ba90292818ae7313438dc62d0
diff --git a/dev-cpp/range-v3/files/0.11.0-gcc10.patch b/dev-cpp/range-v3/files/0.11.0-gcc10.patch
deleted file mode 100644
index caebf0a63162..000000000000
--- a/dev-cpp/range-v3/files/0.11.0-gcc10.patch
+++ /dev/null
@@ -1,133 +0,0 @@
-From a91f0e1be27a31c446452a753001d4518ef83a6b Mon Sep 17 00:00:00 2001
-From: Eric Niebler <eniebler@boost.org>
-Date: Mon, 17 Aug 2020 17:48:09 -0700
-Subject: [PATCH] work around premature instantiation problem on gcc; fixes
- #1545
-
----
- include/range/v3/view/chunk.hpp | 6 +++---
- include/range/v3/view/split.hpp | 26 +++++++++++++-------------
- 2 files changed, 16 insertions(+), 16 deletions(-)
-
-diff --git a/include/range/v3/view/chunk.hpp b/include/range/v3/view/chunk.hpp
-index 0c03cf1eb..b8df13303 100644
---- a/include/range/v3/view/chunk.hpp
-+++ b/include/range/v3/view/chunk.hpp
-@@ -313,8 +313,8 @@ namespace ranges
-
- public:
- inner_view() = default;
-- constexpr explicit inner_view(chunk_view_ & view) noexcept
-- : rng_{&view}
-+ constexpr explicit inner_view(chunk_view_ * view) noexcept
-+ : rng_{view}
- {}
- CPP_auto_member
- constexpr auto CPP_fun(size)()(
-@@ -338,7 +338,7 @@ namespace ranges
- constexpr inner_view read() const
- {
- RANGES_EXPECT(!done());
-- return inner_view{*rng_};
-+ return inner_view{rng_};
- }
- constexpr bool done() const
- {
-diff --git a/include/range/v3/view/split.hpp b/include/range/v3/view/split.hpp
-index facf1b37f..496220e4a 100644
---- a/include/range/v3/view/split.hpp
-+++ b/include/range/v3/view/split.hpp
-@@ -389,19 +389,19 @@ namespace ranges
- split_outer_iterator() = default;
-
- CPP_member
-- constexpr explicit CPP_ctor(split_outer_iterator)(Parent & parent)(
-+ constexpr explicit CPP_ctor(split_outer_iterator)(Parent * parent)(
- /// \pre
- requires (!forward_range<Base>))
-- : parent_(&parent)
-+ : parent_(parent)
- {}
-
- CPP_member
-- constexpr CPP_ctor(split_outer_iterator)(Parent & parent,
-+ constexpr CPP_ctor(split_outer_iterator)(Parent * parent,
- iterator_t<Base> current)(
- /// \pre
- requires forward_range<Base>)
- : Current{std::move(current)}
-- , parent_(&parent)
-+ , parent_(parent)
- {}
-
- template(bool Other)(
-@@ -519,7 +519,7 @@ namespace ranges
- ranges::equal_to> &&
- (forward_range<V> || detail::tiny_range<Pattern>)
- #endif
-- struct RANGES_EMPTY_BASES split_view
-+ struct RANGES_EMPTY_BASES split_view
- : view_interface<split_view<V, Pattern>, is_finite<V>::value ? finite : unknown>
- , private detail::split_view_base<iterator_t<V>>
- {
-@@ -537,17 +537,17 @@ namespace ranges
- #if RANGES_CXX_IF_CONSTEXPR < RANGES_CXX_IF_CONSTEXPR_17
- outer_iterator<simple_view<V>()> begin_(std::true_type)
- {
-- return outer_iterator<simple_view<V>()>{*this, ranges::begin(base_)};
-+ return outer_iterator<simple_view<V>()>{this, ranges::begin(base_)};
- }
- outer_iterator<false> begin_(std::false_type)
- {
- this->curr_ = ranges::begin(base_);
-- return outer_iterator<false>{*this};
-+ return outer_iterator<false>{this};
- }
-
- outer_iterator<simple_view<V>()> end_(std::true_type) const
- {
-- return outer_iterator<true>{*this, ranges::end(base_)};
-+ return outer_iterator<true>{this, ranges::end(base_)};
- }
- default_sentinel_t end_(std::false_type) const
- {
-@@ -580,11 +580,11 @@ namespace ranges
- {
- #if RANGES_CXX_IF_CONSTEXPR >= RANGES_CXX_IF_CONSTEXPR_17
- if constexpr(forward_range<V>)
-- return outer_iterator<simple_view<V>()>{*this, ranges::begin(base_)};
-+ return outer_iterator<simple_view<V>()>{this, ranges::begin(base_)};
- else
- {
- this->curr_ = ranges::begin(base_);
-- return outer_iterator<false>{*this};
-+ return outer_iterator<false>{this};
- }
- #else
- return begin_(meta::bool_<forward_range<V>>{});
-@@ -596,7 +596,7 @@ namespace ranges
- /// \pre
- requires forward_range<V> && forward_range<const V>)
- {
-- return {*this, ranges::begin(base_)};
-+ return {this, ranges::begin(base_)};
- }
- CPP_member
- constexpr auto end() //
-@@ -604,14 +604,14 @@ namespace ranges
- /// \pre
- requires forward_range<V> && common_range<V>)
- {
-- return outer_iterator<simple_view<V>()>{*this, ranges::end(base_)};
-+ return outer_iterator<simple_view<V>()>{this, ranges::end(base_)};
- }
- constexpr auto end() const
- {
- #if RANGES_CXX_IF_CONSTEXPR >= RANGES_CXX_IF_CONSTEXPR_17
- if constexpr(forward_range<V> && forward_range<const V> &&
- common_range<const V>)
-- return outer_iterator<true>{*this, ranges::end(base_)};
-+ return outer_iterator<true>{this, ranges::end(base_)};
- else
- return default_sentinel;
- #else
diff --git a/dev-cpp/range-v3/files/0.11.0-no-werror.patch b/dev-cpp/range-v3/files/0.11.0-no-werror.patch
deleted file mode 100644
index 1894fcc93b6c..000000000000
--- a/dev-cpp/range-v3/files/0.11.0-no-werror.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-From 66e847d4e14be3a369b7e26a03a172b20e62c003 Mon Sep 17 00:00:00 2001
-From: eksi <eksi@eksi.eksi>
-Date: Wed, 4 Nov 2020 20:37:01 +0300
-Subject: [PATCH] Add an option to disable -Werror. Fixes #1528
-
----
- cmake/ranges_flags.cmake | 4 +++-
- cmake/ranges_options.cmake | 3 +++
- 2 files changed, 6 insertions(+), 1 deletion(-)
-
-diff --git a/cmake/ranges_flags.cmake b/cmake/ranges_flags.cmake
-index 76d893043..9b09ddcb8 100644
---- a/cmake/ranges_flags.cmake
-+++ b/cmake/ranges_flags.cmake
-@@ -88,7 +88,9 @@ else()
- # Enable "normal" warnings and make them errors:
- ranges_append_flag(RANGES_HAS_WALL -Wall)
- ranges_append_flag(RANGES_HAS_WEXTRA -Wextra)
-- ranges_append_flag(RANGES_HAS_WERROR -Werror)
-+ if (RANGES_ENABLE_WERROR)
-+ ranges_append_flag(RANGES_HAS_WERROR -Werror)
-+ endif()
- endif()
-
- if (RANGES_ENV_LINUX AND RANGES_CXX_COMPILER_CLANG)
-diff --git a/cmake/ranges_options.cmake b/cmake/ranges_options.cmake
-index 4ec39c7f0..8455af306 100644
---- a/cmake/ranges_options.cmake
-+++ b/cmake/ranges_options.cmake
-@@ -16,6 +16,9 @@ option(RANGES_MODULES "Enables use of Clang modules (experimental)." OFF)
- option(RANGES_NATIVE "Enables -march/-mtune=native." ON)
- option(RANGES_VERBOSE_BUILD "Enables debug output from CMake." OFF)
- option(RANGES_LLVM_POLLY "Enables LLVM Polly." OFF)
-+option(RANGES_ENABLE_WERROR
-+ "Enables -Werror. Only effective if compiler is not clang-cl or MSVC. ON by default"
-+ ON)
- option(RANGES_PREFER_REAL_CONCEPTS
- "Use real concepts instead of emulation if the compiler supports it"
- ON)
diff --git a/dev-cpp/range-v3/files/0.12.0-fix-any-1.patch b/dev-cpp/range-v3/files/0.12.0-fix-any-1.patch
new file mode 100644
index 000000000000..00eb457b5dcb
--- /dev/null
+++ b/dev-cpp/range-v3/files/0.12.0-fix-any-1.patch
@@ -0,0 +1,31 @@
+From 64fe7d738bb2c2aa8e9ba24d170a8548519156a7 Mon Sep 17 00:00:00 2001
+From: Eric Niebler <eniebler@nvidia.com>
+Date: Wed, 22 Jun 2022 17:06:16 -0700
+Subject: [PATCH] avoid constraint recursion with ranges::any ctor/assign
+
+---
+ include/range/v3/utility/any.hpp | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/include/range/v3/utility/any.hpp b/include/range/v3/utility/any.hpp
+index 0d2889264..5feb2f8cd 100644
+--- a/include/range/v3/utility/any.hpp
++++ b/include/range/v3/utility/any.hpp
+@@ -123,7 +123,7 @@ namespace ranges
+ public:
+ any() noexcept = default;
+ template(typename TRef, typename T = detail::decay_t<TRef>)(
+- requires copyable<T> AND (!same_as<T, any>)) //
++ requires (!same_as<T, any>) AND copyable<T>) //
+ any(TRef && t)
+ : ptr_(new impl<T>(static_cast<TRef &&>(t)))
+ {}
+@@ -138,7 +138,7 @@ namespace ranges
+ return *this;
+ }
+ template(typename TRef, typename T = detail::decay_t<TRef>)(
+- requires copyable<T> AND (!same_as<T, any>)) //
++ requires (!same_as<T, any>) AND copyable<T>) //
+ any & operator=(TRef && t)
+ {
+ any{static_cast<TRef &&>(t)}.swap(*this);
diff --git a/dev-cpp/range-v3/files/0.12.0-fix-any-2.patch b/dev-cpp/range-v3/files/0.12.0-fix-any-2.patch
new file mode 100644
index 000000000000..94898cc21a52
--- /dev/null
+++ b/dev-cpp/range-v3/files/0.12.0-fix-any-2.patch
@@ -0,0 +1,156 @@
+From 390a35e5815d1cb4e40e87d332df711de379a852 Mon Sep 17 00:00:00 2001
+From: Eric Niebler <eniebler@nvidia.com>
+Date: Wed, 22 Jun 2022 22:56:28 -0700
+Subject: [PATCH] work around strange gcc bug causing constraint recursion in
+ ranges::any
+
+---
+ include/range/v3/detail/config.hpp | 8 ++---
+ include/range/v3/utility/any.hpp | 58 +++++++++++++++++-------------
+ 2 files changed, 36 insertions(+), 30 deletions(-)
+
+diff --git a/include/range/v3/detail/config.hpp b/include/range/v3/detail/config.hpp
+index f8015f436..d29dada10 100644
+--- a/include/range/v3/detail/config.hpp
++++ b/include/range/v3/detail/config.hpp
+@@ -351,9 +351,6 @@ namespace ranges
+ #define RANGES_WORKAROUND_CLANG_43400 // template friend is redefinition of itself
+ #endif
+ #else // __GNUC__
+-#if __GNUC__ < 6
+-#define RANGES_WORKAROUND_GCC_UNFILED0 /* Workaround old GCC name lookup bug */
+-#endif
+ #if __GNUC__ == 7 || __GNUC__ == 8
+ #define RANGES_WORKAROUND_GCC_91525 /* Workaround strange GCC ICE */
+ #endif
+@@ -724,8 +721,9 @@ namespace ranges
+ #endif
+ #endif // RANGES_CONSTEXPR_IF
+
+-#if !defined(RANGES_BROKEN_CPO_LOOKUP) && !defined(RANGES_DOXYGEN_INVOKED) && \
+- (defined(RANGES_WORKAROUND_GCC_UNFILED0) || defined(RANGES_WORKAROUND_MSVC_895622))
++#if !defined(RANGES_BROKEN_CPO_LOOKUP) && \
++ !defined(RANGES_DOXYGEN_INVOKED) && \
++ defined(RANGES_WORKAROUND_MSVC_895622)
+ #define RANGES_BROKEN_CPO_LOOKUP 1
+ #endif
+ #ifndef RANGES_BROKEN_CPO_LOOKUP
+diff --git a/include/range/v3/utility/any.hpp b/include/range/v3/utility/any.hpp
+index 5feb2f8cd..7a3807499 100644
+--- a/include/range/v3/utility/any.hpp
++++ b/include/range/v3/utility/any.hpp
+@@ -61,25 +61,9 @@ namespace ranges
+ template<typename T>
+ T const * any_cast(any const *) noexcept;
+
+- struct any
++ namespace _any_
+ {
+- private:
+- template<typename T>
+- friend meta::if_c<std::is_reference<T>() || (bool)copyable<T>, T> any_cast(any &);
+-
+- template<typename T>
+- friend meta::if_c<std::is_reference<T>() || (bool)copyable<T>, T> any_cast(
+- any const &);
+-
+- template<typename T>
+- friend meta::if_c<std::is_reference<T>() || (bool)copyable<T>, T> any_cast(
+- any &&);
+-
+- template<typename T>
+- friend T * any_cast(any *) noexcept;
+-
+- template<typename T>
+- friend T const * any_cast(any const *) noexcept;
++ struct _base {};
+
+ struct interface
+ {
+@@ -117,15 +101,39 @@ namespace ranges
+ return typeid(T);
+ }
+ };
++ } // namespace _any_
++
++ struct any
++ #if RANGES_BROKEN_CPO_LOOKUP
++ : private _any_::_base
++ #endif
++ {
++ private:
++ template<typename T>
++ friend meta::if_c<std::is_reference<T>() || (bool)copyable<T>, T> any_cast(any &);
++
++ template<typename T>
++ friend meta::if_c<std::is_reference<T>() || (bool)copyable<T>, T> any_cast(
++ any const &);
++
++ template<typename T>
++ friend meta::if_c<std::is_reference<T>() || (bool)copyable<T>, T> any_cast(
++ any &&);
++
++ template<typename T>
++ friend T * any_cast(any *) noexcept;
++
++ template<typename T>
++ friend T const * any_cast(any const *) noexcept;
+
+- std::unique_ptr<interface> ptr_;
++ std::unique_ptr<_any_::interface> ptr_;
+
+ public:
+ any() noexcept = default;
+ template(typename TRef, typename T = detail::decay_t<TRef>)(
+ requires (!same_as<T, any>) AND copyable<T>) //
+ any(TRef && t)
+- : ptr_(new impl<T>(static_cast<TRef &&>(t)))
++ : ptr_(new _any_::impl<T>(static_cast<TRef &&>(t)))
+ {}
+ any(any &&) noexcept = default;
+ any(any const & that)
+@@ -185,7 +193,7 @@ namespace ranges
+ {
+ if(x.type() != typeid(detail::decay_t<T>))
+ throw bad_any_cast{};
+- return static_cast<any::impl<detail::decay_t<T>> *>(x.ptr_.get())->get();
++ return static_cast<_any_::impl<detail::decay_t<T>> *>(x.ptr_.get())->get();
+ }
+
+ /// \overload
+@@ -194,7 +202,7 @@ namespace ranges
+ {
+ if(x.type() != typeid(detail::decay_t<T>))
+ throw bad_any_cast{};
+- return static_cast<any::impl<detail::decay_t<T>> const *>(x.ptr_.get())->get();
++ return static_cast<_any_::impl<detail::decay_t<T>> const *>(x.ptr_.get())->get();
+ }
+
+ /// \overload
+@@ -203,7 +211,7 @@ namespace ranges
+ {
+ if(x.type() != typeid(detail::decay_t<T>))
+ throw bad_any_cast{};
+- return static_cast<any::impl<detail::decay_t<T>> *>(x.ptr_.get())->get();
++ return static_cast<_any_::impl<detail::decay_t<T>> *>(x.ptr_.get())->get();
+ }
+
+ /// \overload
+@@ -211,7 +219,7 @@ namespace ranges
+ T * any_cast(any * p) noexcept
+ {
+ if(p && p->ptr_)
+- if(any::impl<T> * q = dynamic_cast<any::impl<T> *>(p->ptr_.get()))
++ if(_any_::impl<T> * q = dynamic_cast<_any_::impl<T> *>(p->ptr_.get()))
+ return &q->get();
+ return nullptr;
+ }
+@@ -221,7 +229,7 @@ namespace ranges
+ T const * any_cast(any const * p) noexcept
+ {
+ if(p && p->ptr_)
+- if(any::impl<T> const * q = dynamic_cast<any::impl<T> const *>(p->ptr_.get()))
++ if(_any_::impl<T> const * q = dynamic_cast<_any_::impl<T> const *>(p->ptr_.get()))
+ return &q->get();
+ return nullptr;
+ }
diff --git a/dev-cpp/range-v3/range-v3-0.10.0-r1.ebuild b/dev-cpp/range-v3/range-v3-0.10.0-r1.ebuild
deleted file mode 100644
index 0c4a5694d936..000000000000
--- a/dev-cpp/range-v3/range-v3-0.10.0-r1.ebuild
+++ /dev/null
@@ -1,34 +0,0 @@
-# Copyright 2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit cmake
-
-DESCRIPTION="Range library for C++14/17/20, basis for C++20's std::ranges"
-HOMEPAGE="https://github.com/ericniebler/range-v3"
-SRC_URI="https://github.com/ericniebler/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="Boost-1.0"
-SLOT="0"
-KEYWORDS="amd64 ~ppc64"
-IUSE=""
-
-src_prepare() {
- sed -i -e '/Werror/d' -e '/Wextra/d' -e '/Wall/d' cmake/ranges_flags.cmake || die
- sed -i -e "s@lib/cmake@"$(get_libdir)"/cmake@g" CMakeLists.txt || die
- cmake_src_prepare
-}
-
-src_configure() {
- mycmakeargs=(
- -DRANGE_V3_EXAMPLES=OFF
- -DRANGE_V3_HEADER_CHECKS=OFF
- -DRANGE_V3_PERF=OFF
- -DRANGE_V3_TESTS=OFF
- -DRANGES_BUILD_CALENDAR_EXAMPLE=OFF
- -DRANGES_NATIVE=OFF
- #TODO: clang support + -DRANGES_MODULES=yes
- )
- cmake_src_configure
-}
diff --git a/dev-cpp/range-v3/range-v3-0.11.0.ebuild b/dev-cpp/range-v3/range-v3-0.12.0.ebuild
index c1e6dbe55a00..1109148151c2 100644
--- a/dev-cpp/range-v3/range-v3-0.11.0.ebuild
+++ b/dev-cpp/range-v3/range-v3-0.12.0.ebuild
@@ -1,7 +1,7 @@
-# Copyright 2020-2021 Gentoo Authors
+# Copyright 2020-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
inherit cmake
@@ -11,24 +11,24 @@ SRC_URI="https://github.com/ericniebler/${PN}/archive/${PV}.tar.gz -> ${P}.tar.g
LICENSE="Boost-1.0"
SLOT="0"
-KEYWORDS="amd64 ~ppc64"
+KEYWORDS="amd64 ~arm64 ~loong ~ppc64 ~riscv ~x86"
IUSE="test"
RESTRICT="!test? ( test )"
PATCHES=(
- "${FILESDIR}/0.11.0-no-werror.patch"
- "${FILESDIR}/0.11.0-gcc10.patch"
+ "${FILESDIR}/0.12.0-fix-any-1.patch"
+ "${FILESDIR}/0.12.0-fix-any-2.patch"
)
src_prepare() {
# header-only libraries go to arch-independent dirs
- sed -i -e 's@lib/cmake@share/cmake@g' CMakeLists.txt || die
+ sed -i -e 's@CMAKE_INSTALL_LIBDIR@CMAKE_INSTALL_DATADIR@g' CMakeLists.txt || die
rm include/module.modulemap || die # https://bugs.gentoo.org/755740
cmake_src_prepare
}
src_configure() {
- mycmakeargs=(
+ local mycmakeargs=(
-DRANGES_BUILD_CALENDAR_EXAMPLE=OFF
-DRANGES_NATIVE=OFF
-DRANGES_DEBUG_INFO=OFF
diff --git a/dev-cpp/rapidfuzz-cpp/Manifest b/dev-cpp/rapidfuzz-cpp/Manifest
new file mode 100644
index 000000000000..9910a125a798
--- /dev/null
+++ b/dev-cpp/rapidfuzz-cpp/Manifest
@@ -0,0 +1 @@
+DIST rapidfuzz-cpp-3.0.4.gh.tar.gz 301889 BLAKE2B eb4b27a0a6b4e5268036bb0fd79e57136685daf307d808de27515279bed63e1b934f504e9f7c22a20fbb028d322df824fce33398685708a2db3d11de93bd77d3 SHA512 c9cc50f7d68756d81a5d2c5efdd76e859fe5a199bf5e45179effcd85e32f0bb98b593b93c2aa57950a04c3d827af98efb13096b9669329881d658ababc059fd5
diff --git a/dev-cpp/rapidfuzz-cpp/metadata.xml b/dev-cpp/rapidfuzz-cpp/metadata.xml
new file mode 100644
index 000000000000..3503d414e046
--- /dev/null
+++ b/dev-cpp/rapidfuzz-cpp/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>mgorny@gentoo.org</email>
+ <name>Michał Górny</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">rapidfuzz/rapidfuzz-cpp</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-cpp/rapidfuzz-cpp/rapidfuzz-cpp-3.0.4.ebuild b/dev-cpp/rapidfuzz-cpp/rapidfuzz-cpp-3.0.4.ebuild
new file mode 100644
index 000000000000..e9c6bbefe8e2
--- /dev/null
+++ b/dev-cpp/rapidfuzz-cpp/rapidfuzz-cpp-3.0.4.ebuild
@@ -0,0 +1,32 @@
+# Copyright 2022-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+DESCRIPTION="Rapid fuzzy string matching in C++"
+HOMEPAGE="https://github.com/rapidfuzz/rapidfuzz-cpp/"
+SRC_URI="
+ https://github.com/rapidfuzz/rapidfuzz-cpp/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86"
+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/rapidyaml/Manifest b/dev-cpp/rapidyaml/Manifest
new file mode 100644
index 000000000000..d0fa05a40a49
--- /dev/null
+++ b/dev-cpp/rapidyaml/Manifest
@@ -0,0 +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
diff --git a/dev-cpp/rapidyaml/files/rapidyaml-0.3.0-libdir.patch b/dev-cpp/rapidyaml/files/rapidyaml-0.3.0-libdir.patch
new file mode 100644
index 000000000000..a10fbc49585e
--- /dev/null
+++ b/dev-cpp/rapidyaml/files/rapidyaml-0.3.0-libdir.patch
@@ -0,0 +1,9 @@
+--- 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
new file mode 100644
index 000000000000..0e404f09d781
--- /dev/null
+++ b/dev-cpp/rapidyaml/files/rapidyaml-0.3.0-system-gtest.patch
@@ -0,0 +1,8 @@
+--- 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.3.0-tests-no-install.patch b/dev-cpp/rapidyaml/files/rapidyaml-0.3.0-tests-no-install.patch
new file mode 100644
index 000000000000..97aeb72ee1a5
--- /dev/null
+++ b/dev-cpp/rapidyaml/files/rapidyaml-0.3.0-tests-no-install.patch
@@ -0,0 +1,18 @@
+--- a/ext/c4fs/CMakeLists.txt
++++ b/ext/c4fs/CMakeLists.txt
+@@ -18,6 +18,4 @@
+ )
+
+-c4_install_target(c4fs)
+-c4_install_exports()
+
+ c4_add_dev_targets()
+--- a/ext/c4log/CMakeLists.txt
++++ b/ext/c4log/CMakeLists.txt
+@@ -21,6 +21,4 @@
+ )
+
+-c4_install_target(c4log)
+-c4_install_exports()
+
+ c4_add_dev_targets()
diff --git a/dev-cpp/rapidyaml/files/rapidyaml-0.4.0-no-download.patch b/dev-cpp/rapidyaml/files/rapidyaml-0.4.0-no-download.patch
new file mode 100644
index 000000000000..51fb56e7ed6f
--- /dev/null
+++ b/dev-cpp/rapidyaml/files/rapidyaml-0.4.0-no-download.patch
@@ -0,0 +1,23 @@
+--- a/ext/testbm.cmake
++++ b/ext/testbm.cmake
+@@ -1,4 +1,2 @@
+ # these are used both for testing and benchmarking
+-c4_require_subproject(c4fs REMOTE
+- GIT_REPOSITORY https://github.com/biojppm/c4fs
+- GIT_TAG master)
++c4_require_subproject(c4fs SUBDIRECTORY ext/c4fs)
+--- a/test/CMakeLists.txt
++++ b/test/CMakeLists.txt
+@@ -155,10 +155,6 @@
+
+- c4_require_subproject(c4log REMOTE
+- GIT_REPOSITORY https://github.com/biojppm/c4log
+- GIT_TAG master)
++ c4_require_subproject(c4log SUBDIRECTORY ../ext/c4log)
+
+ set(tsdir ${ed}/yaml-test-suite)
+- c4_download_remote_proj(yaml-test-suite suite_dir
+- GIT_REPOSITORY https://github.com/yaml/yaml-test-suite
+- GIT_TAG data-2022-01-17)
++ set(suite_dir ${CMAKE_SOURCE_DIR}/ext/yaml-test-suite)
+ if(NOT EXISTS ${suite_dir}/229Q)
diff --git a/dev-cpp/rapidyaml/metadata.xml b/dev-cpp/rapidyaml/metadata.xml
new file mode 100644
index 000000000000..0955cf954630
--- /dev/null
+++ b/dev-cpp/rapidyaml/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>ionen@gentoo.org</email>
+ <name>Ionen Wolkens</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">biojppm/rapidyaml</remote-id>
+ <remote-id type="pypi">rapidyaml</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-cpp/rapidyaml/rapidyaml-0.5.0.ebuild b/dev-cpp/rapidyaml/rapidyaml-0.5.0.ebuild
new file mode 100644
index 000000000000..bfb67241cda1
--- /dev/null
+++ b/dev-cpp/rapidyaml/rapidyaml-0.5.0.ebuild
@@ -0,0 +1,82 @@
+# Copyright 2022-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+# see no-download.patch, match with release date if "master"
+HASH_C4FS=0130061b804ae2af0d6cd5919275d552eb1f2414
+HASH_C4LOG=00066ad7f624556f066f3d60766a2c33aeb3c6f0
+HASH_YAMLTS=6e6c296ae9c9d2d5c4134b4b64d01b29ac19ff6f
+
+DESCRIPTION="Library to parse and emit YAML, and do it fast"
+HOMEPAGE="https://github.com/biojppm/rapidyaml/"
+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
+ https://github.com/biojppm/c4log/archive/${HASH_C4LOG}.tar.gz
+ -> ${PN}-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"
+
+LICENSE="MIT Boost-1.0 BSD"
+SLOT="0/${PV}"
+KEYWORDS="amd64 arm64 ppc64 ~riscv x86"
+IUSE="debug test"
+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
+)
+
+DOCS=( README.md ROADMAP.md changelog )
+
+src_prepare() {
+ if use test; then
+ # also need c4core, symlink the one included in src.tgz
+ mv ../c4fs-${HASH_C4FS} ext/c4fs &&
+ rmdir ext/c4fs/ext/c4core &&
+ ln -s ../../c4core ext/c4fs/ext || die
+
+ mv ../c4log-${HASH_C4LOG} ext/c4log &&
+ rmdir ext/c4log/ext/c4core &&
+ ln -s ../../c4core ext/c4log/ext || die
+
+ mv ../yaml-test-suite-${HASH_YAMLTS} ext/yaml-test-suite || die
+
+ eapply "${FILESDIR}"/${PN}-0.3.0-tests-no-install.patch
+ fi
+
+ cmake_src_prepare
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DGIT=false # don't call git for nothing
+ -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)
+ -DRYML_BUILD_API=no
+
+ # rapidyaml sets c++11, but >=gtest-1.13 wants >=c++14 (bug #893272)
+ -DC4_CXX_STANDARD=17
+ )
+
+ cmake_src_configure
+}
+
+src_test() {
+ cmake_build test
+}
diff --git a/dev-cpp/robin-hood-hashing/Manifest b/dev-cpp/robin-hood-hashing/Manifest
index c20aed24881b..11af6af61850 100644
--- a/dev-cpp/robin-hood-hashing/Manifest
+++ b/dev-cpp/robin-hood-hashing/Manifest
@@ -1 +1 @@
-DIST robin-hood-hashing-3.11.2.tar.gz 170488 BLAKE2B 5fb688f5e21f989456e139b64447393816593ad2a1c3537d067d8ea1717aceaa879e27616657354f62e1466ca491f9d302448a73cddb53c7156a623eb375016b SHA512 5d55f054e29ae34d410eb0103f9f0aa1faf47e313b9f089c73b9c26fd9bedf132f6bb13b4bcd2664309c32fe7e859e346d0a6e7ab7f46b294f9b8db207577795
+DIST robin-hood-hashing-3.11.5.tar.gz 177134 BLAKE2B b114c1d68ff2eae4cdb526e67def750a11056c2b5c400eab0870fda7c81dde5cf3bb168ea13ed3d34f2e57edffea5c58cb79ffb5328ecf839c723c71f54676d3 SHA512 5f73e089b1e8ec41a9bedded22bc64a789d3a3d04873a2ad9f8cc2970797a473b0f4d3436c2324b3ced85a0d983998a75b1dfaf2b7f3b77235b29806ff2fd489
diff --git a/dev-cpp/robin-hood-hashing/robin-hood-hashing-3.11.2.ebuild b/dev-cpp/robin-hood-hashing/robin-hood-hashing-3.11.5-r1.ebuild
index 1a32ac192607..6eadea18b048 100644
--- a/dev-cpp/robin-hood-hashing/robin-hood-hashing-3.11.2.ebuild
+++ b/dev-cpp/robin-hood-hashing/robin-hood-hashing-3.11.5-r1.ebuild
@@ -1,9 +1,11 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
-KEYWORDS="amd64 arm arm64 ppc ppc64 ~riscv x86"
+inherit cmake
+
+KEYWORDS="amd64 arm arm64 ~loong ppc ppc64 ~riscv x86"
SRC_URI="https://github.com/martinus/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
DESCRIPTION="Fast & memory efficient hashtable based on robin hood hashing for C++11/14/17/20"
@@ -12,7 +14,10 @@ HOMEPAGE="https://github.com/martinus/robin-hood-hashing"
LICENSE="MIT"
SLOT="0"
-src_install() {
- insinto /usr/include
- doins src/include/robin_hood.h
+src_configure() {
+ local mycmakeargs=(
+ -DRH_STANDALONE_PROJECT=OFF
+ -DCMAKE_INSTALL_LIBDIR="${EPREFIX}/usr/share/"
+ )
+ cmake_src_configure
}
diff --git a/dev-cpp/robin-map/metadata.xml b/dev-cpp/robin-map/metadata.xml
index dfc0dd5e0194..4697a8c86bfb 100644
--- a/dev-cpp/robin-map/metadata.xml
+++ b/dev-cpp/robin-map/metadata.xml
@@ -1,12 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person" proxied="yes">
- <email>gentoo@aisha.cc</email>
- <name>Aisha Tammy</name>
- </maintainer>
<maintainer type="project">
<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-0.6.3.ebuild b/dev-cpp/robin-map/robin-map-0.6.3.ebuild
index 78a6b31dd3fb..38e1f14137ce 100644
--- a/dev-cpp/robin-map/robin-map-0.6.3.ebuild
+++ b/dev-cpp/robin-map/robin-map-0.6.3.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -13,7 +13,7 @@ if [[ ${PV} == 9999 ]] ; then
EGIT_REPO_URI="https://github.com/Tessil/robin-map"
else
SRC_URI="https://github.com/Tessil/robin-map/archive/v${PV}.tar.gz -> ${P}.tar.gz"
- KEYWORDS="amd64 ~arm ~arm64 ~ppc64 x86"
+ KEYWORDS="amd64 ~arm ~arm64 ~ppc64 ~riscv x86"
fi
LICENSE="MIT"
diff --git a/dev-cpp/rttr/Manifest b/dev-cpp/rttr/Manifest
deleted file mode 100644
index 88fa670091c1..000000000000
--- a/dev-cpp/rttr/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST rttr-0.9.6-src.tar.gz 1137269 BLAKE2B 53bb4ed75e20a82d2bd2e6c5667efe1ba6b6f2d8a83a3bd486870daeae57a36cdcb9f2acb6d47a6d1b2f36f00a262170efa4e321f6e7faf8d2c35c431bf47133 SHA512 7e0d4fa87f83feda0b926d4d0e52aaf0f369f25fe7e23e5ffe86c0bba159e8353cef44eed37611a81e8ccc8d6facb36942f940d0d0b965f873177d7078f91cf4
diff --git a/dev-cpp/rttr/files/rttr-0.9.6-cmake.patch b/dev-cpp/rttr/files/rttr-0.9.6-cmake.patch
deleted file mode 100644
index e313014d70a5..000000000000
--- a/dev-cpp/rttr/files/rttr-0.9.6-cmake.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-Install cmake files to the correct directory.
-
-Avoid installing docs to the wrong directory (will be installed by the ebuild instead).
-
---- a/CMake/config.cmake
-+++ b/CMake/config.cmake
-@@ -69,7 +69,7 @@
-
- set(RTTR_INSTALL_FULL_LIBDIR "${CMAKE_INSTALL_FULL_LIBDIR}")
-
-- set(RTTR_CMAKE_CONFIG_INSTALL_DIR "${CMAKE_INSTALL_DATADIR}/rttr/cmake")
-+ set(RTTR_CMAKE_CONFIG_INSTALL_DIR "${CMAKE_INSTALL_LIBDIR}/cmake/rttr")
- set(RTTR_ADDITIONAL_FILES_INSTALL_DIR "${CMAKE_INSTALL_DATADIR}/rttr")
-
- elseif(WIN32)
-@@ -169,8 +169,4 @@
- install(FILES "${CMAKE_CURRENT_BINARY_DIR}/CMake/rttr-config-version.cmake"
- DESTINATION ${RTTR_CMAKE_CONFIG_INSTALL_DIR}
- COMPONENT Devel)
--
-- install(FILES "${LICENSE_FILE}" "${README_FILE}"
-- DESTINATION ${RTTR_ADDITIONAL_FILES_INSTALL_DIR}
-- PERMISSIONS OWNER_READ)
- endif()
-
diff --git a/dev-cpp/rttr/files/rttr-0.9.6-permission.patch b/dev-cpp/rttr/files/rttr-0.9.6-permission.patch
deleted file mode 100644
index bec7ac36bfc9..000000000000
--- a/dev-cpp/rttr/files/rttr-0.9.6-permission.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-Avoid installing headers with mode 700.
-
---- a/CMake/utility.cmake
-+++ b/CMake/utility.cmake
-@@ -165,7 +165,7 @@
- getNameOfDir(CMAKE_CURRENT_SOURCE_DIR DIRNAME)
- if (${shouldInstall})
- if (NOT ${FULL_HEADER_PATH} MATCHES ".*_p.h$") # we don't want to install header files which are marked as private
-- install(FILES ${FULL_HEADER_PATH} DESTINATION "include/${DIRNAME}/${REL_PATH}" PERMISSIONS OWNER_READ)
-+ install(FILES ${FULL_HEADER_PATH} DESTINATION "include/${DIRNAME}/${REL_PATH}")
- endif()
- endif()
- endforeach()
diff --git a/dev-cpp/rttr/files/rttr-0.9.6-tests.patch b/dev-cpp/rttr/files/rttr-0.9.6-tests.patch
deleted file mode 100644
index bd966c3d327d..000000000000
--- a/dev-cpp/rttr/files/rttr-0.9.6-tests.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-Avoid running a custom testsuite unconditionally.
-
---- a/src/unit_tests/CMakeLists.txt
-+++ b/src/unit_tests/CMakeLists.txt
-@@ -54,17 +54,17 @@
- endif()
-
- # run tests
--add_custom_target(run_tests ALL
-- COMMAND "$<TARGET_FILE:unit_tests>"
-- DEPENDS unit_tests
-- COMMENT "Running unit_tests")
-+#add_custom_target(run_tests ALL
-+# COMMAND "$<TARGET_FILE:unit_tests>"
-+# DEPENDS unit_tests
-+# COMMENT "Running unit_tests")
-
--set_target_properties(run_tests PROPERTIES
-- FOLDER "Testing")
-+#set_target_properties(run_tests PROPERTIES
-+# FOLDER "Testing")
-
- add_subdirectory(plugin)
-
- add_dependencies(unit_tests unit_test_plugin)
-
- message(STATUS "Scanning " ${PROJECT_NAME} " module finished!")
--message(STATUS "")
-\ No newline at end of file
-+message(STATUS "")
diff --git a/dev-cpp/rttr/files/rttr-0.9.6-werror.patch b/dev-cpp/rttr/files/rttr-0.9.6-werror.patch
deleted file mode 100644
index 04c65203ac91..000000000000
--- a/dev-cpp/rttr/files/rttr-0.9.6-werror.patch
+++ /dev/null
@@ -1,18 +0,0 @@
-This causes build failures with modern GCC, and is against Gentoo policy in any case.
-
---- a/CMake/utility.cmake
-+++ b/CMake/utility.cmake
-@@ -392,11 +392,9 @@
- ####################################################################################
- function( set_compiler_warnings target)
- if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
-- set(WARNINGS "-Werror"
-- "-Wall")
-+ set(WARNINGS "-Wall")
- elseif(CMAKE_CXX_COMPILER_ID MATCHES "Clang")
-- set(WARNINGS "-Werror"
-- "-Wall")
-+ set(WARNINGS "-Wall")
- elseif(MSVC)
- set(WARNINGS "/WX"
- "/W4")
diff --git a/dev-cpp/rttr/rttr-0.9.6.ebuild b/dev-cpp/rttr/rttr-0.9.6.ebuild
deleted file mode 100644
index e682b7bc1d2c..000000000000
--- a/dev-cpp/rttr/rttr-0.9.6.ebuild
+++ /dev/null
@@ -1,36 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit cmake
-
-DESCRIPTION="Run Time Type Reflection - library adding reflection to C++"
-HOMEPAGE="https://www.rttr.org/"
-SRC_URI="https://github.com/rttrorg/${PN}/releases/download/v${PV}/${P}-src.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 arm64 ~ppc64 x86"
-IUSE=""
-
-RESTRICT="test"
-
-PATCHES=(
- "${FILESDIR}/${P}-cmake.patch"
- "${FILESDIR}/${P}-permission.patch"
- "${FILESDIR}/${P}-tests.patch"
- "${FILESDIR}/${P}-werror.patch"
-)
-
-src_configure() {
- local mycmakeargs=(
- -DBUILD_DOCUMENTATION=off #broken
- )
-
- cmake_src_configure
-}
-
-src_test() {
- "${BUILD_DIR}"/bin/unit_tests || die
-}
diff --git a/dev-cpp/scitokens-cpp/Manifest b/dev-cpp/scitokens-cpp/Manifest
new file mode 100644
index 000000000000..42d724366ed9
--- /dev/null
+++ b/dev-cpp/scitokens-cpp/Manifest
@@ -0,0 +1,2 @@
+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/metadata.xml b/dev-cpp/scitokens-cpp/metadata.xml
new file mode 100644
index 000000000000..ec035d6ed7af
--- /dev/null
+++ b/dev-cpp/scitokens-cpp/metadata.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person" proxied="yes">
+ <email>o.freyermuth@googlemail.com</email>
+ <name>Oliver Freyermuth</name>
+ </maintainer>
+ <maintainer type="person">
+ <email>amadio@gentoo.org</email>
+ <name>Guilherme Amadio</name>
+ </maintainer>
+ <maintainer type="project" proxied="proxy">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+ </maintainer>
+ <longdescription lang="en">
+ SciTokens provide a token format for distributed authorization. The tokens are
+ self-describing, can be verified in a distributed fashion (no need to contact
+ the issuer to determine if the token is valid). This is convenient for a
+ federated environment where several otherwise-independent storage endpoints
+ want to delegate trust for an issuer for managing a storage allocation.
+ </longdescription>
+ <upstream>
+ <remote-id type="github">scitokens/scitokens-cpp</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-cpp/scitokens-cpp/scitokens-cpp-1.1.0-r1.ebuild b/dev-cpp/scitokens-cpp/scitokens-cpp-1.1.0-r1.ebuild
new file mode 100644
index 000000000000..80259264e946
--- /dev/null
+++ b/dev-cpp/scitokens-cpp/scitokens-cpp-1.1.0-r1.ebuild
@@ -0,0 +1,61 @@
+# 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/scitokens/scitokens-cpp"
+else
+ SRC_URI="https://github.com/scitokens/${PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="amd64 x86"
+fi
+
+DESCRIPTION="C++ implementation of the SciTokens library with a C library interface"
+HOMEPAGE="https://scitokens.org/"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+IUSE="test"
+
+DEPEND="
+ <dev-cpp/jwt-cpp-0.7.0[picojson]
+ dev-db/sqlite
+ dev-libs/openssl:0=
+ net-misc/curl:0=
+ kernel_linux? ( sys-apps/util-linux )
+"
+RDEPEND="${DEPEND}"
+BDEPEND="
+ virtual/pkgconfig
+ test? ( dev-cpp/gtest )
+"
+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
+ # Fix include path for picojson.
+ find src/ \( -name '*.cpp' -o -name '*.h' \) -type f -print0 | \
+ xargs -0 sed -r -e "s:picojson/picojson\.h:picojson.h:g" -i || die
+ # Disable network-based tests relying on external services.
+ if use test; then
+ sed -i -e '/^TEST_F/s#RefreshTest#DISABLED_RefreshTest#' \
+ -e '/^TEST_F/s#RefreshExpiredTest#DISABLED_RefreshExpiredTest#' test/main.cpp || die
+ fi
+ cmake_src_prepare
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DSCITOKENS_BUILD_UNITTESTS="$(usex test)"
+ -DSCITOKENS_EXTERNAL_GTEST=YES
+ )
+ cmake_src_configure
+}
diff --git a/dev-cpp/scitokens-cpp/scitokens-cpp-1.1.1.ebuild b/dev-cpp/scitokens-cpp/scitokens-cpp-1.1.1.ebuild
new file mode 100644
index 000000000000..c12cad405a66
--- /dev/null
+++ b/dev-cpp/scitokens-cpp/scitokens-cpp-1.1.1.ebuild
@@ -0,0 +1,57 @@
+# 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/scitokens/scitokens-cpp"
+else
+ SRC_URI="https://github.com/scitokens/${PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~amd64 ~x86"
+fi
+
+DESCRIPTION="C++ implementation of the SciTokens library with a C library interface"
+HOMEPAGE="https://scitokens.org/"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+IUSE="test"
+
+DEPEND="
+ <dev-cpp/jwt-cpp-0.7.0[picojson]
+ dev-db/sqlite
+ dev-libs/openssl:0=
+ net-misc/curl:0=
+ kernel_linux? ( sys-apps/util-linux )
+"
+RDEPEND="${DEPEND}"
+BDEPEND="
+ virtual/pkgconfig
+ test? ( dev-cpp/gtest )
+"
+RESTRICT="!test? ( test )"
+
+src_prepare() {
+ # Unbundle dev-cpp/gtest, dev-cpp/jwt-cpp
+ rm -r vendor || die
+ # Fix include path for picojson.
+ find src/ \( -name '*.cpp' -o -name '*.h' \) -type f -print0 | \
+ xargs -0 sed -r -e "s:picojson/picojson\.h:picojson.h:g" -i || die
+ # Disable network-based tests relying on external services.
+ if use test; then
+ sed -i -e '/^TEST_F/s#RefreshTest#DISABLED_RefreshTest#' \
+ -e '/^TEST_F/s#RefreshExpiredTest#DISABLED_RefreshExpiredTest#' test/main.cpp || die
+ fi
+ cmake_src_prepare
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DSCITOKENS_BUILD_UNITTESTS="$(usex test)"
+ -DSCITOKENS_EXTERNAL_GTEST=YES
+ )
+ cmake_src_configure
+}
diff --git a/dev-cpp/sdbus-c++/Manifest b/dev-cpp/sdbus-c++/Manifest
new file mode 100644
index 000000000000..3a391a21c399
--- /dev/null
+++ b/dev-cpp/sdbus-c++/Manifest
@@ -0,0 +1 @@
+DIST sdbus-c++-1.4.0.tar.gz 224529 BLAKE2B a82656f3d1b98bbf4f7f83c708e507168105a2c2341df3983f782c2590b9e0e1811fb594065c248d8d93a3b4ca31ca99c141f0ecbab050d7358f78a499ceede2 SHA512 8b13dc57f15de482f59edfff7cdd4e2b4e2e659b9cdff9f946783bb0bf1ec735f789675dd19ebe7d38a06358fe77dcfabdc2a387660af00f2c0f3962de214d76
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++/files/sdbus-c++-1.4.0-gcc-14.patch b/dev-cpp/sdbus-c++/files/sdbus-c++-1.4.0-gcc-14.patch
new file mode 100644
index 000000000000..2b2671e3ea12
--- /dev/null
+++ b/dev-cpp/sdbus-c++/files/sdbus-c++-1.4.0-gcc-14.patch
@@ -0,0 +1,25 @@
+From 066785da67f0d7e2fa5f45c0fb25c333679be061 Mon Sep 17 00:00:00 2001
+From: Alfred Wingate <parona@protonmail.com>
+Date: Thu, 16 Nov 2023 18:52:48 +0200
+Subject: [PATCH] fix: Add header for gcc-14 that isn't included by default
+ anymore
+
+* https://gcc.gnu.org/gcc-14/porting_to.html
+
+Signed-off-by: Alfred Wingate <parona@protonmail.com>
+---
+ include/sdbus-c++/Message.h | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/include/sdbus-c++/Message.h b/include/sdbus-c++/Message.h
+index 915a071b..9c85c019 100644
+--- a/include/sdbus-c++/Message.h
++++ b/include/sdbus-c++/Message.h
+@@ -42,6 +42,7 @@
+ #include <cassert>
+ #include <functional>
+ #include <sys/types.h>
++#include <algorithm>
+
+ // Forward declarations
+ namespace sdbus {
diff --git a/dev-cpp/sdbus-c++/metadata.xml b/dev-cpp/sdbus-c++/metadata.xml
new file mode 100644
index 000000000000..dfc9fb610081
--- /dev/null
+++ b/dev-cpp/sdbus-c++/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">
+ <email>chewi@gentoo.org</email>
+ <name>James Le Cuirot</name>
+ </maintainer>
+ <use>
+ <flag name="systemd">Use external libsystemd instead of statically-linked build</flag>
+ <flag name="tools">Install interface stub code generator</flag>
+ </use>
+ <upstream>
+ <remote-id type="github">Kistler-Group/sdbus-cpp</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-cpp/sdbus-c++/sdbus-c++-1.4.0-r1.ebuild b/dev-cpp/sdbus-c++/sdbus-c++-1.4.0-r1.ebuild
new file mode 100644
index 000000000000..8ea87fbecc8e
--- /dev/null
+++ b/dev-cpp/sdbus-c++/sdbus-c++-1.4.0-r1.ebuild
@@ -0,0 +1,79 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit meson cmake
+
+DESCRIPTION="High-level C++ D-Bus library"
+HOMEPAGE="https://github.com/Kistler-Group/sdbus-cpp"
+SRC_URI="https://github.com/Kistler-Group/sdbus-cpp/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
+LICENSE="LGPL-2.1+ Nokia-Qt-LGPL-Exception-1.1" # Nothing to do with Qt but exception text is exactly the same.
+SLOT="0/1"
+KEYWORDS="~amd64"
+IUSE="doc +elogind systemd test tools"
+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 )
+"
+
+DEPEND="
+ ${RDEPEND}
+ test? ( >=dev-cpp/gtest-1.10.0 )
+"
+
+BDEPEND="
+ virtual/pkgconfig
+ doc? ( app-text/doxygen[dot] )
+"
+
+S="${WORKDIR}/sdbus-cpp-${PV}"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-gcc-14.patch
+ "${FILESDIR}"/${P}-fix-pkgconfig.patch
+)
+
+src_configure() {
+ local mycmakeargs=(
+ -DBUILD_CODE_GEN=$(usex tools)
+ -DBUILD_DOC=yes
+ -DBUILD_DOXYGEN_DOC=$(usex doc)
+ -DBUILD_LIBSYSTEMD=no
+ -DBUILD_TESTS=$(usex test)
+ )
+ cmake_src_configure
+}
+
+src_compile() {
+ cmake_src_compile all $(usev doc)
+}
+
+src_test() {
+ if ! cmp -s {"${S}"/tests/integrationtests/files,/etc/dbus-1/system.d}/org.sdbuscpp.integrationtests.conf; then
+ ewarn "Not running the tests as a D-Bus configuration file has not been"
+ ewarn "installed yet or has changed since. The tests can be run after"
+ ewarn "the package has been merged."
+ return
+ elif [[ ! -S /run/dbus/system_bus_socket ]]; then
+ ewarn "Not running the tests as the system-wide D-Bus daemon is unavailable."
+ return
+ fi
+
+ cmake_src_test
+}
+
+src_install() {
+ cmake_src_install
+ rm -v "${ED}"/usr/share/doc/${PF}/COPYING || die
+
+ if use test; then
+ # Delete installed test binaries.
+ rm -rv "${ED}"/opt || die
+ fi
+}
diff --git a/dev-cpp/simpleini/Manifest b/dev-cpp/simpleini/Manifest
new file mode 100644
index 000000000000..825f8c02ffc6
--- /dev/null
+++ b/dev-cpp/simpleini/Manifest
@@ -0,0 +1 @@
+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
new file mode 100644
index 000000000000..1250a01f3ca2
--- /dev/null
+++ b/dev-cpp/simpleini/files/simpleini-4.20-pkgconfig-var.patch
@@ -0,0 +1,8 @@
+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/metadata.xml b/dev-cpp/simpleini/metadata.xml
new file mode 100644
index 000000000000..3d8641a5fa36
--- /dev/null
+++ b/dev-cpp/simpleini/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>games@gentoo.org</email>
+ <name>Gentoo Games Project</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">brofield/simpleini</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-cpp/simpleini/simpleini-4.22-r1.ebuild b/dev-cpp/simpleini/simpleini-4.22-r1.ebuild
new file mode 100644
index 000000000000..e584cfbdc410
--- /dev/null
+++ b/dev-cpp/simpleini/simpleini-4.22-r1.ebuild
@@ -0,0 +1,32 @@
+# Copyright 2022-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+DESCRIPTION="C++ library providing a simple API to read and write INI-style files"
+HOMEPAGE="https://github.com/brofield/simpleini/"
+SRC_URI="https://github.com/brofield/simpleini/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+DEPEND="test? ( dev-cpp/gtest )"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-include-dir.patch
+ "${FILESDIR}"/${P}-disable-tests.patch
+)
+
+src_configure() {
+ local mycmakeargs=(
+ -DBUILD_TESTING=$(usex test)
+ -DSIMPLEINI_USE_SYSTEM_GTEST=yes
+ )
+
+ cmake_src_configure
+}
diff --git a/dev-cpp/simpleini/simpleini-4.22.ebuild b/dev-cpp/simpleini/simpleini-4.22.ebuild
new file mode 100644
index 000000000000..ccc5bfadc70d
--- /dev/null
+++ b/dev-cpp/simpleini/simpleini-4.22.ebuild
@@ -0,0 +1,36 @@
+# Copyright 2022-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit toolchain-funcs
+
+DESCRIPTION="C++ library providing a simple API to read and write INI-style files"
+HOMEPAGE="https://github.com/brofield/simpleini/"
+SRC_URI="https://github.com/brofield/simpleini/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+DEPEND="test? ( dev-cpp/gtest )"
+BDEPEND="test? ( virtual/pkgconfig )"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-4.20-pkgconfig-var.patch
+)
+
+src_compile() {
+ if use test; then
+ tc-export CXX PKG_CONFIG
+ emake -C tests "${emakeargs[@]}"
+ fi
+}
+
+src_install() {
+ # note: this skips ConvertUTF, can use -DSI_CONVERT_ICU instead if needed
+ emake DESTDIR="${D}" PREFIX="${EPREFIX}"/usr install
+ einstalldocs
+}
diff --git a/dev-cpp/sol2/Manifest b/dev-cpp/sol2/Manifest
index 88055ed75b0e..ca4b7ec7ad33 100644
--- a/dev-cpp/sol2/Manifest
+++ b/dev-cpp/sol2/Manifest
@@ -1 +1 @@
-DIST sol2-3.2.2.tar.gz 8531029 BLAKE2B 65fd220f5109e4917d06d5ef906ceccb7e292276f69bd49dfd826089a77e566af1811fdf660ffbfbd2437dca4b86ef5c4790dace9029805926e1ee0445b2e965 SHA512 e5a739b37aea7150f141f6a003c2689dd33155feed5bb3cf2569abbfe9f0062eacdaaf346be523d627f0e491b35e68822c80e1117fa09ece8c9d8d5af09fdbec
+DIST sol2-3.3.1.tar.gz 8453954 BLAKE2B f9fced4f001a5f681598e45bf74cdf064f655c950be5b91789d2bf66c0180b5048610d3d4416c024a07db11d41fceaee786800c5ca1412811cbc1a449a894a9e SHA512 4404b124a4f331d77459c01a92cd73895301e7d3ef829a0285980f0138b9cc66782de3713d54f017d5aad7d8a11d23eeffbc5f3b39ccb4d4306a955711d385dd
diff --git a/dev-cpp/sol2/files/sol2-3.2.2-catch-depend.patch b/dev-cpp/sol2/files/sol2-3.2.2-catch-depend.patch
deleted file mode 100644
index 2da3c00c1612..000000000000
--- a/dev-cpp/sol2/files/sol2-3.2.2-catch-depend.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-Use catch library from system
-
---- a/tests/runtime_tests/CMakeLists.txt
-+++ b/tests/runtime_tests/CMakeLists.txt
-@@ -22,12 +22,6 @@
-
- # # # # sol3 tests - runtime tests
-
--if (CMAKE_GENERATOR MATCHES "Visual Studio 14 2015")
-- find_package(Catch 1.12.1 REQUIRED)
--else()
-- find_package(Catch REQUIRED)
--endif()
--
- file(GLOB SOL2_RUNTIME_TEST_SOURCES source/*.cpp)
- source_group(test_sources FILES ${SOL2_RUNTIME_TEST_SOURCES})
-
-@@ -38,7 +32,8 @@ function(CREATE_TEST test_target_name test_name target_sol)
- OUTPUT_NAME ${test_name}
- EXPORT_NAME sol2::${test_name})
- target_link_libraries(${test_target_name}
-- PUBLIC Threads::Threads ${LUA_LIBRARIES} ${CATCH_LIBRARIES} ${target_sol})
-+ PUBLIC Threads::Threads ${LUA_LIBRARIES} ${target_sol})
-+ target_include_directories(${test_target_name} PRIVATE ${CATCH_INC_DIR})
-
- if (MSVC)
- if (NOT CMAKE_COMPILER_ID MATCHES "Clang")
diff --git a/dev-cpp/sol2/files/sol2-3.2.2-gcc11.patch b/dev-cpp/sol2/files/sol2-3.2.2-gcc11.patch
deleted file mode 100644
index cc8c6bb1b4f7..000000000000
--- a/dev-cpp/sol2/files/sol2-3.2.2-gcc11.patch
+++ /dev/null
@@ -1,10 +0,0 @@
-Add missing include needed for tests (and possibly consumers) with gcc11.
-
-Fixed upstream in:
-https://github.com/ThePhD/sol2/commit/e5e6466e09b632677d24a8f204d6a0ea0a8862b1
---- a/include/sol/stack_core.hpp
-+++ b/include/sol/stack_core.hpp
-@@ -42,2 +42,3 @@
- #include <string>
-+#include <limits>
- #include <algorithm>
diff --git a/dev-cpp/sol2/files/sol2-3.3.0-catch-depend.patch b/dev-cpp/sol2/files/sol2-3.3.0-catch-depend.patch
new file mode 100644
index 000000000000..8f53144ad37c
--- /dev/null
+++ b/dev-cpp/sol2/files/sol2-3.3.0-catch-depend.patch
@@ -0,0 +1,16 @@
+--- a/tests/CMakeLists.txt
++++ b/tests/CMakeLists.txt
+@@ -23,12 +23,7 @@
+ # # # # sol2 tests
+
+ # # Dependencies
+-FetchContent_Declare(
+- catch2
+- GIT_REPOSITORY https://github.com/catchorg/Catch2.git
+- GIT_TAG devel
+-)
+-FetchContent_MakeAvailable(catch2)
++find_package(Catch2 REQUIRED)
+
+ function(sol2_add_test_properties target-name)
+ target_link_libraries(${target-name}
diff --git a/dev-cpp/sol2/files/sol2-3.3.0-cmake-dir.patch b/dev-cpp/sol2/files/sol2-3.3.0-cmake-dir.patch
new file mode 100644
index 000000000000..6782b05abf78
--- /dev/null
+++ b/dev-cpp/sol2/files/sol2-3.3.0-cmake-dir.patch
@@ -0,0 +1,31 @@
+Install to share, it's header-only
+
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -105,7 +105,7 @@ target_include_directories(sol2 ${sol2-system-include}
+ configure_package_config_file(
+ cmake/sol2-config.cmake.in
+ "${CMAKE_CURRENT_BINARY_DIR}/cmake/sol2-config.cmake"
+- INSTALL_DESTINATION lib/cmake/sol2
++ INSTALL_DESTINATION ${CMAKE_INSTALL_DATADIR}/cmake/sol2
+ NO_CHECK_REQUIRED_COMPONENTS_MACRO)
+
+ write_basic_package_version_file(
+@@ -121,7 +121,7 @@ if(SOL2_ENABLE_INSTALL)
+
+ install(EXPORT sol2
+ FILE sol2-targets.cmake
+- DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/sol2")
++ DESTINATION "${CMAKE_INSTALL_DATADIR}/cmake/sol2")
+
+ install(DIRECTORY include/sol
+ DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}")
+@@ -129,7 +129,7 @@ if(SOL2_ENABLE_INSTALL)
+ install(FILES
+ "${CMAKE_CURRENT_BINARY_DIR}/cmake/sol2-config.cmake"
+ "${CMAKE_CURRENT_BINARY_DIR}/cmake/sol2-config-version.cmake"
+- DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/sol2")
++ DESTINATION "${CMAKE_INSTALL_DATADIR}/cmake/sol2")
+ endif()
+
+ # # # sol2 Library - Single header target
diff --git a/dev-cpp/sol2/files/sol2-3.3.0-dont-install-tests.patch b/dev-cpp/sol2/files/sol2-3.3.0-dont-install-tests.patch
new file mode 100644
index 000000000000..e1186958973a
--- /dev/null
+++ b/dev-cpp/sol2/files/sol2-3.3.0-dont-install-tests.patch
@@ -0,0 +1,10 @@
+--- a/tests/CMakeLists.txt
++++ b/tests/CMakeLists.txt
+@@ -60,7 +60,6 @@ function(sol2_add_test_properties target-name)
+
+ add_test(NAME ${target-name} COMMAND ${target-name})
+ if(SOL2_ENABLE_INSTALL)
+- install(TARGETS ${target-name} RUNTIME DESTINATION bin)
+ endif()
+ endfunction()
+
diff --git a/dev-cpp/sol2/files/sol2-3.3.0-werror.patch b/dev-cpp/sol2/files/sol2-3.3.0-werror.patch
new file mode 100644
index 000000000000..27118f38cafd
--- /dev/null
+++ b/dev-cpp/sol2/files/sol2-3.3.0-werror.patch
@@ -0,0 +1,21 @@
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -208,7 +208,6 @@ if (sol2-is-top-level-project)
+ check_compiler_flag(warn-pedantic GCC -Wpedantic)
+ check_compiler_flag(warn-all MSVC /W4 GCC -Wall)
+ check_compiler_flag(warn-extra GCC -Wextra)
+- check_compiler_flag(warn-errors MSVC /WX GCC -Werror)
+ # Individual warnings/errors
+ check_compiler_diagnostic(unknown-warning)
+ check_compiler_diagnostic(unknown-warning-option)
+--- a/examples/customization/CMakeLists.txt
++++ b/examples/customization/CMakeLists.txt
+@@ -45,7 +45,7 @@ function (MAKE_CUSTOMIZATION_EXAMPLE example_suffix target_sol)
+ PRIVATE -std=c++1z
+ -ftemplate-backtrace-limit=0
+ -Wno-unknown-warning -Wno-unknown-warning-option
+- -Wall -Wpedantic -Werror -pedantic -pedantic-errors
++ -Wall -Wpedantic -pedantic -pedantic-errors
+ -Wno-noexcept-type)
+ endif()
+
diff --git a/dev-cpp/sol2/sol2-3.2.2.ebuild b/dev-cpp/sol2/sol2-3.2.2.ebuild
deleted file mode 100644
index 8af75c6deec7..000000000000
--- a/dev-cpp/sol2/sol2-3.2.2.ebuild
+++ /dev/null
@@ -1,80 +0,0 @@
-# Copyright 2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-LUA_COMPAT=( lua5-{1,3,4} luajit )
-inherit cmake lua
-
-DESCRIPTION="Header-only C++ <-> Lua API wrapper"
-HOMEPAGE="https://github.com/ThePhD/sol2"
-SRC_URI="https://github.com/ThePhD/sol2/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE="test"
-REQUIRED_USE="test? ( ${LUA_REQUIRED_USE} )"
-RESTRICT="!test? ( test )"
-
-DEPEND="
- test? (
- ${LUA_DEPS}
- dev-cpp/catch:0
- )
-"
-BDEPEND="
- test? (
- virtual/pkgconfig
- )
-"
-
-PATCHES=(
- "${FILESDIR}"/${P}-gcc11.patch
- "${FILESDIR}"/${P}-luajit-pkgconf.patch
- "${FILESDIR}"/${P}-catch-depend.patch
-)
-
-src_prepare() {
- # TODO: remove this sed on next bump
- sed -i -e 's/-Werror//' \
- tests/runtime_tests/CMakeLists.txt \
- tests/regression_tests/1011/CMakeLists.txt \
- tests/config_tests/function_pointers/CMakeLists.txt \
- examples/customization/CMakeLists.txt \
- examples/CMakeLists.txt || die
-
- cmake_src_prepare
-}
-
-src_configure() {
- cmake_src_configure
-
- if use test; then
- sol2_configure_wrapper() {
- local mycmakeargs=(
- -DSOL2_BUILD_LUA=no
- -DSOL2_TESTS=yes
- -DSOL2_LUA_VERSION="${ELUA}"
- -DCATCH_INC_DIR="${ESYSROOT}/usr/include/catch2"
- )
- cmake_src_configure
- }
- lua_foreach_impl sol2_configure_wrapper
- fi
-}
-
-src_compile() {
- use test && lua_foreach_impl cmake_src_compile
-}
-
-src_test() {
- sol2_test_wrapper() {
- if [[ ${ELUA} == luajit ]]; then
- einfo "Skipping test due to https://github.com/ThePhD/sol2/issues/1221"
- else
- cmake_src_test
- fi
- }
- lua_foreach_impl sol2_test_wrapper
-}
diff --git a/dev-cpp/sol2/sol2-3.3.1.ebuild b/dev-cpp/sol2/sol2-3.3.1.ebuild
new file mode 100644
index 000000000000..585aae692d6f
--- /dev/null
+++ b/dev-cpp/sol2/sol2-3.3.1.ebuild
@@ -0,0 +1,67 @@
+# Copyright 2021-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+LUA_COMPAT=( lua5-{1,3,4} luajit )
+inherit cmake lua
+
+DESCRIPTION="Header-only C++ <-> Lua API wrapper"
+HOMEPAGE="https://github.com/ThePhD/sol2"
+SRC_URI="https://github.com/ThePhD/sol2/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+IUSE="test"
+REQUIRED_USE="${LUA_REQUIRED_USE}"
+RESTRICT="!test? ( test )"
+
+DEPEND="
+ ${LUA_DEPS}
+ test? (
+ >=dev-cpp/catch-3
+ )
+"
+BDEPEND="
+ virtual/pkgconfig
+"
+
+PATCHES=(
+ "${FILESDIR}"/sol2-3.3.0-werror.patch
+ "${FILESDIR}"/sol2-3.2.2-luajit-pkgconf.patch
+ "${FILESDIR}"/sol2-3.3.0-catch-depend.patch
+ "${FILESDIR}"/sol2-3.3.0-cmake-dir.patch
+ "${FILESDIR}"/sol2-3.3.0-dont-install-tests.patch
+)
+
+src_configure() {
+ sol2_configure_wrapper() {
+ local mycmakeargs=(
+ -DSOL2_BUILD_LUA=no
+ -DSOL2_TESTS=$(usex test)
+ -DSOL2_LUA_VERSION="${ELUA}"
+ )
+ cmake_src_configure
+ }
+ lua_foreach_impl sol2_configure_wrapper
+}
+
+src_compile() {
+ lua_foreach_impl cmake_src_compile
+}
+
+src_test() {
+ sol2_test_wrapper() {
+ if [[ ${ELUA} == luajit ]]; then
+ einfo "Skipping test due to https://github.com/ThePhD/sol2/issues/1221"
+ else
+ cmake_src_test
+ fi
+ }
+ lua_foreach_impl sol2_test_wrapper
+}
+
+src_install() {
+ lua_foreach_impl cmake_src_install
+}
diff --git a/dev-cpp/sourcetrail/Manifest b/dev-cpp/sourcetrail/Manifest
deleted file mode 100644
index 8f2afbc1bb6b..000000000000
--- a/dev-cpp/sourcetrail/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST sourcetrail-2019.3.46.tar.gz 108528120 BLAKE2B f36e4e2eb98c28a4d4aa245df3cbd2febd524a3370111d77cc79c2220e6a6227509c9fb9ba9c8d8e0d286719ab55a858adcaee4c983233ee72daebddb62c9467 SHA512 032e9299430c4333115ececedfeb85f39a374d14366c06130becb395a71fc43af9ad9ee09258c4a3ba2d0c2daa0997d5054ad48f0701654fe48eea055ebec666
diff --git a/dev-cpp/sourcetrail/sourcetrail-2019.3.46-r2.ebuild b/dev-cpp/sourcetrail/sourcetrail-2019.3.46-r2.ebuild
deleted file mode 100644
index ed6b052e69b5..000000000000
--- a/dev-cpp/sourcetrail/sourcetrail-2019.3.46-r2.ebuild
+++ /dev/null
@@ -1,93 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit desktop xdg-utils
-
-DESCRIPTION="A cross-platform source explorer for C/C++ and Java"
-HOMEPAGE="https://www.sourcetrail.com/"
-SRC_URI="https://www.sourcetrail.com/downloads/${PV}/linux/64bit -> ${P}.tar.gz"
-
-LICENSE="Sourcetrail || ( GPL-2 GPL-3 LGPL-3 ) BSD"
-SLOT="0"
-KEYWORDS="~amd64"
-IUSE="examples selinux"
-RESTRICT="mirror bindist"
-
-DEPEND="dev-util/patchelf"
-
-RDEPEND="
- || (
- dev-libs/openssl-compat:1.0.0
- =dev-libs/openssl-1.0*:*
- )
- dev-libs/libffi-compat:6
- media-libs/fontconfig
- media-libs/freetype
- media-libs/libpng-compat:1.2
- sys-libs/libudev-compat
- virtual/opengl
- x11-libs/libdrm
- x11-libs/libX11
- x11-libs/libXau
- x11-libs/libxcb
- x11-libs/libXdamage
- x11-libs/libXext
- x11-libs/libXfixes
- x11-libs/libXi
- x11-libs/libXrender
- x11-libs/libXxf86vm
- selinux? ( sys-libs/libselinux )
-"
-
-S="${WORKDIR}/Sourcetrail"
-QA_PREBUILT="*"
-
-src_install() {
- # This removes the rpath entries with $$ORIGIN
- # since they trigger warnings when merging
- for f in "Sourcetrail" "sourcetrail_indexer"; do
- rpath=$(patchelf --print-rpath "${f}" 2>/dev/null)
- new_rpath=${rpath//\$\$ORIGIN\/lib\/:/}
- patchelf --set-rpath "${new_rpath}" "${f}" || die
- done
-
- # Remove bundled libraries
- rm -f lib/libXi.so.6 lib/libXxf86vm.so.1 lib/libXrender.so.1 lib/libXfixes.so.3 lib/libXext.so.6 \
- lib/libXdamage.so.1 lib/libxcb* lib/libXau.so.6 lib/libX11-xcb.so.1 lib/libX11.so.6 \
- lib/libudev.so.0 lib/libEGL.so.1 lib/libgbm.so.1 lib/libglapi.so.0 lib/libGL.so.1 \
- lib/libdrm.so.2 lib/libfontconfig.so.1 lib/libfreetype.so.6 lib/libcrypto.so lib/libssl.so \
- lib/libpng12.so.0 lib/libselinux.so.1 || die
- insinto /opt/sourcetrail
- doins -r EULA.txt README data lib plugin
- use examples && doins -r user
- exeinto /opt/sourcetrail
- doexe Sourcetrail sourcetrail_indexer Sourcetrail.sh resetPreferences.sh
- into /opt
- newbin - sourcetrail <<-EOF
- #! /bin/sh
- exec /opt/sourcetrail/Sourcetrail.sh "\$@"
- EOF
- local size
- for size in 48 64 128 256 512; do
- newicon -s "${size}" "setup/share/icons/hicolor/${size}x${size}/apps/sourcetrail.png" \
- "sourcetrail.png"
- done
- sed -i -e 's|Exec=/usr/bin/sourcetrail|Exec=/opt/bin/sourcetrail|' \
- -e 's/Utilities;//' "setup/share/applications/sourcetrail.desktop" \
- "setup/share/applications/sourcetrail.desktop" || die
- domenu "setup/share/applications/sourcetrail.desktop"
-}
-
-pkg_postinst() {
- xdg_icon_cache_update
- xdg_mimeinfo_database_update
- xdg_desktop_database_update
-}
-
-pkg_postrm() {
- xdg_icon_cache_update
- xdg_mimeinfo_database_update
- xdg_desktop_database_update
-}
diff --git a/dev-cpp/string-theory/Manifest b/dev-cpp/string-theory/Manifest
index 4d9fac23ce48..b1a156c5f269 100644
--- a/dev-cpp/string-theory/Manifest
+++ b/dev-cpp/string-theory/Manifest
@@ -1,2 +1,2 @@
-DIST string-theory-3.3.tar.gz 588360 BLAKE2B ad87857e6d5e3cad1346b759457b434de7612b97e1b19016b1dfc987ac67f0cab318745b14fe1f432cc921ffb1d33b875a2a62f0bc56d815dd35b405a9f08560 SHA512 86209333dce341078c3b973084bd9f3b8ff2ccac0e07a5e6acf5973bd1cfa420897b531b2d1bd6aba9f5ccc8927f85d91f06796ac0e62ec8a735564a0387d2f4
-DIST string-theory-3.4.tar.gz 588522 BLAKE2B 207c490293401829d28590291166bcbeefde4ecb3b70d1cc2751d7582c53cf234b7e01579d3bfbe55681708e4d3e22cedbd6fe96b2fdad1c3ef158bb7a080593 SHA512 36ad82c6da276b7cb66d350ceb4bed2a66f768a6604b2981331ceec6a96d03cc3a7e7e5f733de88ec15e0ea41f99f8657b959a51149c540f530d06268c5657ff
+DIST string-theory-3.5.tar.gz 589905 BLAKE2B c2bc926b8568efc1fbe27861619bd8249ad788297dd537cff393d212b3bb12a529847b740fc8ba82dc28501fb05800eb8debf3e4832cf145b5c13882ac45e900 SHA512 30300155e64ace8197ed531baffe4e835c269ac10d6857ac9f29501e0a1f69965994d6f2fa2e64544e7d441de635e2d370be24efcf00a0d24066730d19f022a6
+DIST string-theory-3.6.tar.gz 590461 BLAKE2B e8441ead9b13e8f107c47d0695ca669f40558567590b85310903f550edf2d4cbb8622f36857b9563d33a629398358e33024c97b97a8f151a3899f9cee30ee237 SHA512 2bbd8e6c5c2501cc9616ee6a77b60a7cac5e7c9fa58d6616f6ba39cfdee33dc1b072c5d1b34bd2f88726fb4d65d32032595be7a67854a2e894eb3d81d4a8eea9
diff --git a/dev-cpp/string-theory/string-theory-3.3.ebuild b/dev-cpp/string-theory/string-theory-3.5.ebuild
index 5706dd0292ea..1e683f2fff92 100644
--- a/dev-cpp/string-theory/string-theory-3.3.ebuild
+++ b/dev-cpp/string-theory/string-theory-3.5.ebuild
@@ -1,7 +1,7 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
inherit cmake
@@ -12,7 +12,7 @@ S="${WORKDIR}/string_theory-${PV}"
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~amd64"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
IUSE="test"
RESTRICT="!test? ( test )"
diff --git a/dev-cpp/string-theory/string-theory-3.4.ebuild b/dev-cpp/string-theory/string-theory-3.6.ebuild
index f6c5c3db6f6a..1e683f2fff92 100644
--- a/dev-cpp/string-theory/string-theory-3.4.ebuild
+++ b/dev-cpp/string-theory/string-theory-3.6.ebuild
@@ -1,7 +1,7 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
inherit cmake
@@ -12,7 +12,7 @@ S="${WORKDIR}/string_theory-${PV}"
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
IUSE="test"
RESTRICT="!test? ( test )"
diff --git a/dev-cpp/taskflow/Manifest b/dev-cpp/taskflow/Manifest
new file mode 100644
index 000000000000..356b679b2e87
--- /dev/null
+++ b/dev-cpp/taskflow/Manifest
@@ -0,0 +1,3 @@
+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
diff --git a/dev-cpp/taskflow/files/taskflow-3.3.0-fix_doctest.patch b/dev-cpp/taskflow/files/taskflow-3.3.0-fix_doctest.patch
new file mode 100644
index 000000000000..c5da4fd96eb6
--- /dev/null
+++ b/dev-cpp/taskflow/files/taskflow-3.3.0-fix_doctest.patch
@@ -0,0 +1,377 @@
+diff --git a/unittests/CMakeLists.txt b/unittests/CMakeLists.txt
+index cf881d4..ff6618a 100644
+--- a/unittests/CMakeLists.txt
++++ b/unittests/CMakeLists.txt
+@@ -1,6 +1,7 @@
+ enable_testing()
+
+-include(${TF_3RD_PARTY_DIR}/doctest/doctest.cmake)
++find_package(doctest REQUIRED)
++include(doctest)
+
+ list(APPEND TF_UNITTESTS
+ utility
+@@ -22,8 +23,7 @@ list(APPEND TF_UNITTESTS
+
+ foreach(unittest IN LISTS TF_UNITTESTS)
+ add_executable(${unittest} ${unittest}.cpp)
+- target_link_libraries(${unittest} ${PROJECT_NAME} tf::default_settings)
+- target_include_directories(${unittest} PRIVATE ${TF_3RD_PARTY_DIR}/doctest)
++ target_link_libraries(${unittest} ${PROJECT_NAME} tf::default_settings doctest::doctest)
+ doctest_discover_tests(${unittest})
+ endforeach()
+
+diff --git a/unittests/algorithms.cpp b/unittests/algorithms.cpp
+index 5ae7ac6..efffdd9 100644
+--- a/unittests/algorithms.cpp
++++ b/unittests/algorithms.cpp
+@@ -1,6 +1,6 @@
+ #define DOCTEST_CONFIG_IMPLEMENT_WITH_MAIN
+
+-#include <doctest.h>
++#include <doctest/doctest.h>
+ #include <taskflow/taskflow.hpp>
+ #include <taskflow/algorithm/reduce.hpp>
+ #include <taskflow/algorithm/sort.hpp>
+diff --git a/unittests/asyncs.cpp b/unittests/asyncs.cpp
+index cd6985c..4e7b80f 100644
+--- a/unittests/asyncs.cpp
++++ b/unittests/asyncs.cpp
+@@ -1,6 +1,6 @@
+ #define DOCTEST_CONFIG_IMPLEMENT_WITH_MAIN
+
+-#include <doctest.h>
++#include <doctest/doctest.h>
+ #include <taskflow/taskflow.hpp>
+
+ // --------------------------------------------------------
+diff --git a/unittests/basics.cpp b/unittests/basics.cpp
+index 2784fa4..ac1ab20 100644
+--- a/unittests/basics.cpp
++++ b/unittests/basics.cpp
+@@ -1,6 +1,6 @@
+ #define DOCTEST_CONFIG_IMPLEMENT_WITH_MAIN
+
+-#include <doctest.h>
++#include <doctest/doctest.h>
+ #include <taskflow/taskflow.hpp>
+ #include <taskflow/algorithm/reduce.hpp>
+
+diff --git a/unittests/cancellation.cpp b/unittests/cancellation.cpp
+index 3273af3..ff17ad4 100644
+--- a/unittests/cancellation.cpp
++++ b/unittests/cancellation.cpp
+@@ -1,6 +1,6 @@
+ #define DOCTEST_CONFIG_IMPLEMENT_WITH_MAIN
+
+-#include <doctest.h>
++#include <doctest/doctest.h>
+ #include <taskflow/taskflow.hpp>
+
+ // EmptyFuture
+diff --git a/unittests/compositions.cpp b/unittests/compositions.cpp
+index 0d330ae..e2784a5 100644
+--- a/unittests/compositions.cpp
++++ b/unittests/compositions.cpp
+@@ -1,6 +1,6 @@
+ #define DOCTEST_CONFIG_IMPLEMENT_WITH_MAIN
+
+-#include <doctest.h>
++#include <doctest/doctest.h>
+ #include <taskflow/taskflow.hpp>
+
+ // --------------------------------------------------------
+diff --git a/unittests/control_flow.cpp b/unittests/control_flow.cpp
+index 086a8a9..f2da83e 100644
+--- a/unittests/control_flow.cpp
++++ b/unittests/control_flow.cpp
+@@ -1,6 +1,6 @@
+ #define DOCTEST_CONFIG_IMPLEMENT_WITH_MAIN
+
+-#include <doctest.h>
++#include <doctest/doctest.h>
+ #include <taskflow/taskflow.hpp>
+
+ // --------------------------------------------------------
+diff --git a/unittests/cuda/CMakeLists.txt b/unittests/cuda/CMakeLists.txt
+index 7c76523..be2757c 100644
+--- a/unittests/cuda/CMakeLists.txt
++++ b/unittests/cuda/CMakeLists.txt
+@@ -12,15 +12,14 @@ list(APPEND TF_CUDA_UNITTESTS
+
+ foreach(cudatest IN LISTS TF_CUDA_UNITTESTS)
+ add_executable(${cudatest} ${cudatest}.cu)
+- target_link_libraries(${cudatest} ${PROJECT_NAME} tf::default_settings)
+- target_include_directories(${cudatest} PRIVATE ${TF_3RD_PARTY_DIR}/doctest)
+-
++ target_link_libraries(${cudatest} ${PROJECT_NAME} tf::default_settings doctest::doctest)
++
+ # avoid cmake 3.18+ warning
+ # we let nvcc to decide the flag if the architecture is not given
+ if(NOT CUDA_ARCHITECTURES)
+ set_property(TARGET ${cudatest} PROPERTY CUDA_ARCHITECTURES OFF)
+ endif()
+-
++
+ doctest_discover_tests(${cudatest})
+ endforeach()
+
+diff --git a/unittests/cuda/cuda_algorithms.cu b/unittests/cuda/cuda_algorithms.cu
+index d97289e..5185cd9 100644
+--- a/unittests/cuda/cuda_algorithms.cu
++++ b/unittests/cuda/cuda_algorithms.cu
+@@ -1,6 +1,6 @@
+ #define DOCTEST_CONFIG_IMPLEMENT_WITH_MAIN
+
+-#include <doctest.h>
++#include <doctest/doctest.h>
+ #include <taskflow/taskflow.hpp>
+ #include <taskflow/cuda/cudaflow.hpp>
+ #include <taskflow/cuda/algorithm/for_each.hpp>
+diff --git a/unittests/cuda/cuda_basics.cu b/unittests/cuda/cuda_basics.cu
+index 8e0fdff..f97c782 100644
+--- a/unittests/cuda/cuda_basics.cu
++++ b/unittests/cuda/cuda_basics.cu
+@@ -1,6 +1,6 @@
+ #define DOCTEST_CONFIG_IMPLEMENT_WITH_MAIN
+
+-#include <doctest.h>
++#include <doctest/doctest.h>
+ #include <taskflow/taskflow.hpp>
+ #include <taskflow/cuda/cudaflow.hpp>
+
+diff --git a/unittests/cuda/cuda_capturer_optimizer.cu b/unittests/cuda/cuda_capturer_optimizer.cu
+index 86fcfb7..7cbcf0a 100644
+--- a/unittests/cuda/cuda_capturer_optimizer.cu
++++ b/unittests/cuda/cuda_capturer_optimizer.cu
+@@ -1,6 +1,6 @@
+ #define DOCTEST_CONFIG_IMPLEMENT_WITH_MAIN
+
+-#include <doctest.h>
++#include <doctest/doctest.h>
+ #include <taskflow/taskflow.hpp>
+ #include <taskflow/cuda/cudaflow.hpp>
+ #include <taskflow/cuda/algorithm/for_each.hpp>
+diff --git a/unittests/cuda/cuda_device.cu b/unittests/cuda/cuda_device.cu
+index b3d316d..241cc93 100644
+--- a/unittests/cuda/cuda_device.cu
++++ b/unittests/cuda/cuda_device.cu
+@@ -1,6 +1,6 @@
+ #define DOCTEST_CONFIG_IMPLEMENT_WITH_MAIN
+
+-#include <doctest.h>
++#include <doctest/doctest.h>
+ #include <taskflow/taskflow.hpp>
+ #include <taskflow/cuda/cudaflow.hpp>
+
+diff --git a/unittests/cuda/cuda_kmeans.cu b/unittests/cuda/cuda_kmeans.cu
+index 91495b5..c14d250 100644
+--- a/unittests/cuda/cuda_kmeans.cu
++++ b/unittests/cuda/cuda_kmeans.cu
+@@ -1,6 +1,6 @@
+ #define DOCTEST_CONFIG_IMPLEMENT_WITH_MAIN
+
+-#include <doctest.h>
++#include <doctest/doctest.h>
+ #include <taskflow/taskflow.hpp>
+ #include <taskflow/cuda/cudaflow.hpp>
+ #include <taskflow/cuda/algorithm/for_each.hpp>
+diff --git a/unittests/cuda/cuda_matrix.cu b/unittests/cuda/cuda_matrix.cu
+index 8e9f242..ec5386f 100644
+--- a/unittests/cuda/cuda_matrix.cu
++++ b/unittests/cuda/cuda_matrix.cu
+@@ -1,6 +1,6 @@
+ #define DOCTEST_CONFIG_IMPLEMENT_WITH_MAIN
+
+-#include <doctest.h>
++#include <doctest/doctest.h>
+ #include <taskflow/taskflow.hpp>
+ #include <taskflow/cuda/cudaflow.hpp>
+
+diff --git a/unittests/cuda/cuda_rebinds.cu b/unittests/cuda/cuda_rebinds.cu
+index eb9218f..92798df 100644
+--- a/unittests/cuda/cuda_rebinds.cu
++++ b/unittests/cuda/cuda_rebinds.cu
+@@ -1,6 +1,6 @@
+ #define DOCTEST_CONFIG_IMPLEMENT_WITH_MAIN
+
+-#include <doctest.h>
++#include <doctest/doctest.h>
+
+ #include <taskflow/taskflow.hpp>
+ #include <taskflow/cuda/cudaflow.hpp>
+diff --git a/unittests/cuda/cuda_updates.cu b/unittests/cuda/cuda_updates.cu
+index bdda539..d8b52dc 100644
+--- a/unittests/cuda/cuda_updates.cu
++++ b/unittests/cuda/cuda_updates.cu
+@@ -1,6 +1,6 @@
+ #define DOCTEST_CONFIG_IMPLEMENT_WITH_MAIN
+
+-#include <doctest.h>
++#include <doctest/doctest.h>
+
+ #include <taskflow/taskflow.hpp>
+ #include <taskflow/cuda/cudaflow.hpp>
+diff --git a/unittests/movable.cpp b/unittests/movable.cpp
+index 58be4fc..c4b3f1a 100644
+--- a/unittests/movable.cpp
++++ b/unittests/movable.cpp
+@@ -1,5 +1,5 @@
+ #define DOCTEST_CONFIG_IMPLEMENT_WITH_MAIN
+-#include <doctest.h>
++#include <doctest/doctest.h>
+ #include <taskflow/taskflow.hpp>
+
+ // increments a counter only on destruction
+diff --git a/unittests/pipelines.cpp b/unittests/pipelines.cpp
+index 6527b34..c925e67 100644
+--- a/unittests/pipelines.cpp
++++ b/unittests/pipelines.cpp
+@@ -1,6 +1,6 @@
+ #define DOCTEST_CONFIG_IMPLEMENT_WITH_MAIN
+
+-#include <doctest.h>
++#include <doctest/doctest.h>
+
+ #include <taskflow/taskflow.hpp>
+ #include <taskflow/algorithm/pipeline.hpp>
+diff --git a/unittests/semaphores.cpp b/unittests/semaphores.cpp
+index d4713f8..c537702 100644
+--- a/unittests/semaphores.cpp
++++ b/unittests/semaphores.cpp
+@@ -1,6 +1,6 @@
+ #define DOCTEST_CONFIG_IMPLEMENT_WITH_MAIN
+
+-#include <doctest.h>
++#include <doctest/doctest.h>
+ #include <taskflow/taskflow.hpp>
+
+ // --------------------------------------------------------
+diff --git a/unittests/serializer.cpp b/unittests/serializer.cpp
+index 20edef3..5b9870f 100644
+--- a/unittests/serializer.cpp
++++ b/unittests/serializer.cpp
+@@ -1,6 +1,6 @@
+ #define DOCTEST_CONFIG_IMPLEMENT_WITH_MAIN
+
+-#include <doctest.h>
++#include <doctest/doctest.h>
+ #include <taskflow/utility/serializer.hpp>
+ #include <random>
+
+diff --git a/unittests/sorting.cpp b/unittests/sorting.cpp
+index 00a616c..005eaf2 100644
+--- a/unittests/sorting.cpp
++++ b/unittests/sorting.cpp
+@@ -1,6 +1,6 @@
+ #define DOCTEST_CONFIG_IMPLEMENT_WITH_MAIN
+
+-#include <doctest.h>
++#include <doctest/doctest.h>
+ #include <taskflow/taskflow.hpp>
+ #include <taskflow/algorithm/sort.hpp>
+
+diff --git a/unittests/subflows.cpp b/unittests/subflows.cpp
+index b1de5d1..11fd97a 100644
+--- a/unittests/subflows.cpp
++++ b/unittests/subflows.cpp
+@@ -1,6 +1,6 @@
+ #define DOCTEST_CONFIG_IMPLEMENT_WITH_MAIN
+
+-#include <doctest.h>
++#include <doctest/doctest.h>
+ #include <taskflow/taskflow.hpp>
+ #include <taskflow/algorithm/reduce.hpp>
+
+diff --git a/unittests/sycl/CMakeLists.txt b/unittests/sycl/CMakeLists.txt
+index 492c941..3ef1dd7 100644
+--- a/unittests/sycl/CMakeLists.txt
++++ b/unittests/sycl/CMakeLists.txt
+@@ -1,4 +1,4 @@
+-list(APPEND TF_SYCL_TESTS
++list(APPEND TF_SYCL_TESTS
+ sycl_basics
+ sycl_algorithms
+ sycl_rebinds
+@@ -12,9 +12,8 @@ foreach(sycl_test IN LISTS TF_SYCL_TESTS)
+ target_compile_options(${sycl_test} PRIVATE ${TF_SYCL_OPTIONS})
+ target_link_options(${sycl_test} PRIVATE ${TF_SYCL_OPTIONS})
+ target_link_libraries(${sycl_test}
+- ${PROJECT_NAME} Threads::Threads tf::default_settings
++ ${PROJECT_NAME} Threads::Threads tf::default_settings doctest::doctest
+ )
+- target_include_directories(${sycl_test} PRIVATE ${TF_3RD_PARTY_DIR}/doctest)
+-
++
+ doctest_discover_tests(${sycl_test})
+ endforeach()
+diff --git a/unittests/sycl/sycl_algorithms.cpp b/unittests/sycl/sycl_algorithms.cpp
+index cde9666..93973dc 100644
+--- a/unittests/sycl/sycl_algorithms.cpp
++++ b/unittests/sycl/sycl_algorithms.cpp
+@@ -1,5 +1,5 @@
+ #define DOCTEST_CONFIG_IMPLEMENT_WITH_MAIN
+-#include <doctest.h>
++#include <doctest/doctest.h>
+ #include <taskflow/syclflow.hpp>
+
+ constexpr float eps = 0.0001f;
+diff --git a/unittests/sycl/sycl_basics.cpp b/unittests/sycl/sycl_basics.cpp
+index 7ed5e16..274b9ce 100644
+--- a/unittests/sycl/sycl_basics.cpp
++++ b/unittests/sycl/sycl_basics.cpp
+@@ -1,5 +1,5 @@
+ #define DOCTEST_CONFIG_IMPLEMENT_WITH_MAIN
+-#include <doctest.h>
++#include <doctest/doctest.h>
+ #include <taskflow/syclflow.hpp>
+
+ // task creation
+diff --git a/unittests/sycl/sycl_rebinds.cpp b/unittests/sycl/sycl_rebinds.cpp
+index 5a00bf8..8854ef9 100644
+--- a/unittests/sycl/sycl_rebinds.cpp
++++ b/unittests/sycl/sycl_rebinds.cpp
+@@ -1,5 +1,5 @@
+ #define DOCTEST_CONFIG_IMPLEMENT_WITH_MAIN
+-#include <doctest.h>
++#include <doctest/doctest.h>
+ #include <taskflow/syclflow.hpp>
+
+ // ----------------------------------------------------------------------------
+diff --git a/unittests/traversals.cpp b/unittests/traversals.cpp
+index b7cac8a..474df49 100644
+--- a/unittests/traversals.cpp
++++ b/unittests/traversals.cpp
+@@ -1,6 +1,6 @@
+ #define DOCTEST_CONFIG_IMPLEMENT_WITH_MAIN
+
+-#include <doctest.h>
++#include <doctest/doctest.h>
+
+ #include <taskflow/taskflow.hpp>
+
+diff --git a/unittests/tsq.cpp b/unittests/tsq.cpp
+index 097f96d..d3c5f99 100644
+--- a/unittests/tsq.cpp
++++ b/unittests/tsq.cpp
+@@ -49,7 +49,7 @@
+
+ #define DOCTEST_CONFIG_IMPLEMENT_WITH_MAIN
+
+-#include <doctest.h>
++#include <doctest/doctest.h>
+ #include <taskflow/taskflow.hpp>
+
+ // ============================================================================
+diff --git a/unittests/utility.cpp b/unittests/utility.cpp
+index 9822cfe..95a253d 100644
+--- a/unittests/utility.cpp
++++ b/unittests/utility.cpp
+@@ -1,6 +1,6 @@
+ #define DOCTEST_CONFIG_IMPLEMENT_WITH_MAIN
+
+-#include <doctest.h>
++#include <doctest/doctest.h>
+
+ #include <taskflow/utility/traits.hpp>
+ #include <taskflow/utility/object_pool.hpp>
diff --git a/dev-cpp/taskflow/files/taskflow-3.4.0-fix_doctest.patch b/dev-cpp/taskflow/files/taskflow-3.4.0-fix_doctest.patch
new file mode 100644
index 000000000000..a63e84673f70
--- /dev/null
+++ b/dev-cpp/taskflow/files/taskflow-3.4.0-fix_doctest.patch
@@ -0,0 +1,401 @@
+diff --git a/unittests/CMakeLists.txt b/unittests/CMakeLists.txt
+index 86a00bcc..5f5c36fb 100644
+--- a/unittests/CMakeLists.txt
++++ b/unittests/CMakeLists.txt
+@@ -1,6 +1,7 @@
+ enable_testing()
+
+-include(${TF_3RD_PARTY_DIR}/doctest/doctest.cmake)
++find_package(doctest REQUIRED)
++include(doctest)
+
+ list(APPEND TF_UNITTESTS
+ utility
+@@ -24,8 +25,7 @@ list(APPEND TF_UNITTESTS
+
+ foreach(unittest IN LISTS TF_UNITTESTS)
+ add_executable(${unittest} ${unittest}.cpp)
+- target_link_libraries(${unittest} ${PROJECT_NAME} tf::default_settings)
+- target_include_directories(${unittest} PRIVATE ${TF_3RD_PARTY_DIR}/doctest)
++ target_link_libraries(${unittest} ${PROJECT_NAME} tf::default_settings doctest::doctest)
+ doctest_discover_tests(${unittest})
+ endforeach()
+
+diff --git a/unittests/algorithms.cpp b/unittests/algorithms.cpp
+index a250713a..09ae9ba5 100644
+--- a/unittests/algorithms.cpp
++++ b/unittests/algorithms.cpp
+@@ -1,6 +1,6 @@
+ #define DOCTEST_CONFIG_IMPLEMENT_WITH_MAIN
+
+-#include <doctest.h>
++#include <doctest/doctest.h>
+ #include <taskflow/taskflow.hpp>
+ #include <taskflow/algorithm/reduce.hpp>
+ #include <taskflow/algorithm/sort.hpp>
+diff --git a/unittests/asyncs.cpp b/unittests/asyncs.cpp
+index 28eeaa8c..466687a2 100644
+--- a/unittests/asyncs.cpp
++++ b/unittests/asyncs.cpp
+@@ -1,6 +1,6 @@
+ #define DOCTEST_CONFIG_IMPLEMENT_WITH_MAIN
+
+-#include <doctest.h>
++#include <doctest/doctest.h>
+ #include <taskflow/taskflow.hpp>
+
+ // --------------------------------------------------------
+diff --git a/unittests/basics.cpp b/unittests/basics.cpp
+index 290abccf..44301011 100644
+--- a/unittests/basics.cpp
++++ b/unittests/basics.cpp
+@@ -1,6 +1,6 @@
+ #define DOCTEST_CONFIG_IMPLEMENT_WITH_MAIN
+
+-#include <doctest.h>
++#include <doctest/doctest.h>
+ #include <taskflow/taskflow.hpp>
+ #include <taskflow/algorithm/reduce.hpp>
+
+diff --git a/unittests/cancellation.cpp b/unittests/cancellation.cpp
+index 3ce1cb8c..6543ee52 100644
+--- a/unittests/cancellation.cpp
++++ b/unittests/cancellation.cpp
+@@ -1,6 +1,6 @@
+ #define DOCTEST_CONFIG_IMPLEMENT_WITH_MAIN
+
+-#include <doctest.h>
++#include <doctest/doctest.h>
+ #include <taskflow/taskflow.hpp>
+
+ // EmptyFuture
+diff --git a/unittests/compositions.cpp b/unittests/compositions.cpp
+index 4fd621b5..e3c91e4c 100644
+--- a/unittests/compositions.cpp
++++ b/unittests/compositions.cpp
+@@ -1,6 +1,6 @@
+ #define DOCTEST_CONFIG_IMPLEMENT_WITH_MAIN
+
+-#include <doctest.h>
++#include <doctest/doctest.h>
+ #include <taskflow/taskflow.hpp>
+
+ // --------------------------------------------------------
+diff --git a/unittests/control_flow.cpp b/unittests/control_flow.cpp
+index 024ace84..11206384 100644
+--- a/unittests/control_flow.cpp
++++ b/unittests/control_flow.cpp
+@@ -1,6 +1,6 @@
+ #define DOCTEST_CONFIG_IMPLEMENT_WITH_MAIN
+
+-#include <doctest.h>
++#include <doctest/doctest.h>
+ #include <taskflow/taskflow.hpp>
+
+ // --------------------------------------------------------
+diff --git a/unittests/cuda/CMakeLists.txt b/unittests/cuda/CMakeLists.txt
+index d0ccc8e9..ccb46721 100644
+--- a/unittests/cuda/CMakeLists.txt
++++ b/unittests/cuda/CMakeLists.txt
+@@ -13,15 +13,14 @@ list(APPEND TF_CUDA_UNITTESTS
+
+ foreach(cudatest IN LISTS TF_CUDA_UNITTESTS)
+ add_executable(${cudatest} ${cudatest}.cu)
+- target_link_libraries(${cudatest} ${PROJECT_NAME} tf::default_settings)
+- target_include_directories(${cudatest} PRIVATE ${TF_3RD_PARTY_DIR}/doctest)
+-
++ target_link_libraries(${cudatest} ${PROJECT_NAME} tf::default_settings doctest::doctest)
++
+ # avoid cmake 3.18+ warning
+ # we let nvcc to decide the flag if the architecture is not given
+ if(NOT CUDA_ARCHITECTURES)
+ set_property(TARGET ${cudatest} PROPERTY CUDA_ARCHITECTURES OFF)
+ endif()
+-
++
+ doctest_discover_tests(${cudatest})
+ endforeach()
+
+diff --git a/unittests/cuda/cuda_algorithms.cu b/unittests/cuda/cuda_algorithms.cu
+index cccc04b4..47645273 100644
+--- a/unittests/cuda/cuda_algorithms.cu
++++ b/unittests/cuda/cuda_algorithms.cu
+@@ -1,6 +1,6 @@
+ #define DOCTEST_CONFIG_IMPLEMENT_WITH_MAIN
+
+-#include <doctest.h>
++#include <doctest/doctest.h>
+ #include <taskflow/taskflow.hpp>
+ #include <taskflow/cuda/cudaflow.hpp>
+ #include <taskflow/cuda/algorithm/for_each.hpp>
+diff --git a/unittests/cuda/cuda_basics.cu b/unittests/cuda/cuda_basics.cu
+index 8e0fdffd..f97c7822 100644
+--- a/unittests/cuda/cuda_basics.cu
++++ b/unittests/cuda/cuda_basics.cu
+@@ -1,6 +1,6 @@
+ #define DOCTEST_CONFIG_IMPLEMENT_WITH_MAIN
+
+-#include <doctest.h>
++#include <doctest/doctest.h>
+ #include <taskflow/taskflow.hpp>
+ #include <taskflow/cuda/cudaflow.hpp>
+
+diff --git a/unittests/cuda/cuda_capturer_optimizer.cu b/unittests/cuda/cuda_capturer_optimizer.cu
+index 86fcfb72..7cbcf0a5 100644
+--- a/unittests/cuda/cuda_capturer_optimizer.cu
++++ b/unittests/cuda/cuda_capturer_optimizer.cu
+@@ -1,6 +1,6 @@
+ #define DOCTEST_CONFIG_IMPLEMENT_WITH_MAIN
+
+-#include <doctest.h>
++#include <doctest/doctest.h>
+ #include <taskflow/taskflow.hpp>
+ #include <taskflow/cuda/cudaflow.hpp>
+ #include <taskflow/cuda/algorithm/for_each.hpp>
+diff --git a/unittests/cuda/cuda_device.cu b/unittests/cuda/cuda_device.cu
+index 49df36aa..fb68b29a 100644
+--- a/unittests/cuda/cuda_device.cu
++++ b/unittests/cuda/cuda_device.cu
+@@ -1,6 +1,6 @@
+ #define DOCTEST_CONFIG_IMPLEMENT_WITH_MAIN
+
+-#include <doctest.h>
++#include <doctest/doctest.h>
+ #include <taskflow/taskflow.hpp>
+ #include <taskflow/cuda/cudaflow.hpp>
+
+diff --git a/unittests/cuda/cuda_kmeans.cu b/unittests/cuda/cuda_kmeans.cu
+index 91495b59..c14d250f 100644
+--- a/unittests/cuda/cuda_kmeans.cu
++++ b/unittests/cuda/cuda_kmeans.cu
+@@ -1,6 +1,6 @@
+ #define DOCTEST_CONFIG_IMPLEMENT_WITH_MAIN
+
+-#include <doctest.h>
++#include <doctest/doctest.h>
+ #include <taskflow/taskflow.hpp>
+ #include <taskflow/cuda/cudaflow.hpp>
+ #include <taskflow/cuda/algorithm/for_each.hpp>
+diff --git a/unittests/cuda/cuda_matrix.cu b/unittests/cuda/cuda_matrix.cu
+index 8e9f2421..ec5386f4 100644
+--- a/unittests/cuda/cuda_matrix.cu
++++ b/unittests/cuda/cuda_matrix.cu
+@@ -1,6 +1,6 @@
+ #define DOCTEST_CONFIG_IMPLEMENT_WITH_MAIN
+
+-#include <doctest.h>
++#include <doctest/doctest.h>
+ #include <taskflow/taskflow.hpp>
+ #include <taskflow/cuda/cudaflow.hpp>
+
+diff --git a/unittests/cuda/cuda_rebinds.cu b/unittests/cuda/cuda_rebinds.cu
+index eb9218fa..92798dfd 100644
+--- a/unittests/cuda/cuda_rebinds.cu
++++ b/unittests/cuda/cuda_rebinds.cu
+@@ -1,6 +1,6 @@
+ #define DOCTEST_CONFIG_IMPLEMENT_WITH_MAIN
+
+-#include <doctest.h>
++#include <doctest/doctest.h>
+
+ #include <taskflow/taskflow.hpp>
+ #include <taskflow/cuda/cudaflow.hpp>
+diff --git a/unittests/cuda/cuda_updates.cu b/unittests/cuda/cuda_updates.cu
+index bdda539a..d8b52dcf 100644
+--- a/unittests/cuda/cuda_updates.cu
++++ b/unittests/cuda/cuda_updates.cu
+@@ -1,6 +1,6 @@
+ #define DOCTEST_CONFIG_IMPLEMENT_WITH_MAIN
+
+-#include <doctest.h>
++#include <doctest/doctest.h>
+
+ #include <taskflow/taskflow.hpp>
+ #include <taskflow/cuda/cudaflow.hpp>
+diff --git a/unittests/movable.cpp b/unittests/movable.cpp
+index 96ce9da3..d5e64b47 100644
+--- a/unittests/movable.cpp
++++ b/unittests/movable.cpp
+@@ -1,5 +1,5 @@
+ #define DOCTEST_CONFIG_IMPLEMENT_WITH_MAIN
+-#include <doctest.h>
++#include <doctest/doctest.h>
+ #include <taskflow/taskflow.hpp>
+
+ // increments a counter only on destruction
+diff --git a/unittests/pipelines.cpp b/unittests/pipelines.cpp
+index 94d8f394..701365c0 100644
+--- a/unittests/pipelines.cpp
++++ b/unittests/pipelines.cpp
+@@ -1,6 +1,6 @@
+ #define DOCTEST_CONFIG_IMPLEMENT_WITH_MAIN
+
+-#include <doctest.h>
++#include <doctest/doctest.h>
+
+ #include <taskflow/taskflow.hpp>
+ #include <taskflow/algorithm/pipeline.hpp>
+diff --git a/unittests/runtimes.cpp b/unittests/runtimes.cpp
+index 5a6155b5..4f7e5b74 100644
+--- a/unittests/runtimes.cpp
++++ b/unittests/runtimes.cpp
+@@ -1,6 +1,6 @@
+ #define DOCTEST_CONFIG_IMPLEMENT_WITH_MAIN
+
+-#include <doctest.h>
++#include <doctest/doctest.h>
+ #include <taskflow/taskflow.hpp>
+ #include <taskflow/algorithm/pipeline.hpp>
+
+diff --git a/unittests/scalable_pipelines.cpp b/unittests/scalable_pipelines.cpp
+index 2534878b..e2073563 100644
+--- a/unittests/scalable_pipelines.cpp
++++ b/unittests/scalable_pipelines.cpp
+@@ -1,6 +1,6 @@
+ #define DOCTEST_CONFIG_IMPLEMENT_WITH_MAIN
+
+-#include <doctest.h>
++#include <doctest/doctest.h>
+
+ #include <taskflow/taskflow.hpp>
+ #include <taskflow/algorithm/pipeline.hpp>
+diff --git a/unittests/semaphores.cpp b/unittests/semaphores.cpp
+index 616191b5..64b8a587 100644
+--- a/unittests/semaphores.cpp
++++ b/unittests/semaphores.cpp
+@@ -1,6 +1,6 @@
+ #define DOCTEST_CONFIG_IMPLEMENT_WITH_MAIN
+
+-#include <doctest.h>
++#include <doctest/doctest.h>
+ #include <taskflow/taskflow.hpp>
+
+ // --------------------------------------------------------
+diff --git a/unittests/serializer.cpp b/unittests/serializer.cpp
+index 92c3ec70..c6a715e6 100644
+--- a/unittests/serializer.cpp
++++ b/unittests/serializer.cpp
+@@ -1,6 +1,6 @@
+ #define DOCTEST_CONFIG_IMPLEMENT_WITH_MAIN
+
+-#include <doctest.h>
++#include <doctest/doctest.h>
+ #include <taskflow/utility/serializer.hpp>
+ #include <random>
+
+diff --git a/unittests/sorting.cpp b/unittests/sorting.cpp
+index 8146324a..ff732fb0 100644
+--- a/unittests/sorting.cpp
++++ b/unittests/sorting.cpp
+@@ -1,6 +1,6 @@
+ #define DOCTEST_CONFIG_IMPLEMENT_WITH_MAIN
+
+-#include <doctest.h>
++#include <doctest/doctest.h>
+ #include <taskflow/taskflow.hpp>
+ #include <taskflow/algorithm/sort.hpp>
+
+diff --git a/unittests/subflows.cpp b/unittests/subflows.cpp
+index 9db430de..e669a2c8 100644
+--- a/unittests/subflows.cpp
++++ b/unittests/subflows.cpp
+@@ -1,6 +1,6 @@
+ #define DOCTEST_CONFIG_IMPLEMENT_WITH_MAIN
+
+-#include <doctest.h>
++#include <doctest/doctest.h>
+ #include <taskflow/taskflow.hpp>
+ #include <taskflow/algorithm/reduce.hpp>
+
+diff --git a/unittests/sycl/CMakeLists.txt b/unittests/sycl/CMakeLists.txt
+index c6481996..3b014d0e 100644
+--- a/unittests/sycl/CMakeLists.txt
++++ b/unittests/sycl/CMakeLists.txt
+@@ -1,4 +1,4 @@
+-list(APPEND TF_SYCL_TESTS
++list(APPEND TF_SYCL_TESTS
+ sycl_basics
+ #sycl_algorithms
+ #sycl_rebinds
+@@ -12,9 +12,8 @@ foreach(sycl_test IN LISTS TF_SYCL_TESTS)
+ target_compile_options(${sycl_test} PRIVATE ${TF_SYCL_OPTIONS})
+ target_link_options(${sycl_test} PRIVATE ${TF_SYCL_OPTIONS})
+ target_link_libraries(${sycl_test}
+- ${PROJECT_NAME} Threads::Threads tf::default_settings
++ ${PROJECT_NAME} Threads::Threads tf::default_settings doctest::doctest
+ )
+- target_include_directories(${sycl_test} PRIVATE ${TF_3RD_PARTY_DIR}/doctest)
+-
++
+ doctest_discover_tests(${sycl_test})
+ endforeach()
+diff --git a/unittests/sycl/sycl_algorithms.cpp b/unittests/sycl/sycl_algorithms.cpp
+index e029b2ef..7b44ca78 100644
+--- a/unittests/sycl/sycl_algorithms.cpp
++++ b/unittests/sycl/sycl_algorithms.cpp
+@@ -1,5 +1,5 @@
+ #define DOCTEST_CONFIG_IMPLEMENT_WITH_MAIN
+-#include <doctest.h>
++#include <doctest/doctest.h>
+ #include <taskflow/syclflow.hpp>
+
+ constexpr float eps = 0.0001f;
+diff --git a/unittests/sycl/sycl_basics.cpp b/unittests/sycl/sycl_basics.cpp
+index 0ff76969..eac52906 100644
+--- a/unittests/sycl/sycl_basics.cpp
++++ b/unittests/sycl/sycl_basics.cpp
+@@ -1,5 +1,5 @@
+ #define DOCTEST_CONFIG_IMPLEMENT_WITH_MAIN
+-#include <doctest.h>
++#include <doctest/doctest.h>
+ #include <taskflow/sycl/syclflow.hpp>
+
+ // task creation
+diff --git a/unittests/sycl/sycl_rebinds.cpp b/unittests/sycl/sycl_rebinds.cpp
+index 71b2f9de..1b5949fd 100644
+--- a/unittests/sycl/sycl_rebinds.cpp
++++ b/unittests/sycl/sycl_rebinds.cpp
+@@ -1,5 +1,5 @@
+ #define DOCTEST_CONFIG_IMPLEMENT_WITH_MAIN
+-#include <doctest.h>
++#include <doctest/doctest.h>
+ #include <taskflow/syclflow.hpp>
+
+ // ----------------------------------------------------------------------------
+diff --git a/unittests/traversals.cpp b/unittests/traversals.cpp
+index 71aef04b..683915b4 100644
+--- a/unittests/traversals.cpp
++++ b/unittests/traversals.cpp
+@@ -1,6 +1,6 @@
+ #define DOCTEST_CONFIG_IMPLEMENT_WITH_MAIN
+
+-#include <doctest.h>
++#include <doctest/doctest.h>
+
+ #include <taskflow/taskflow.hpp>
+
+diff --git a/unittests/tsq.cpp b/unittests/tsq.cpp
+index 51a137a7..8e9cac56 100644
+--- a/unittests/tsq.cpp
++++ b/unittests/tsq.cpp
+@@ -49,7 +49,7 @@
+
+ #define DOCTEST_CONFIG_IMPLEMENT_WITH_MAIN
+
+-#include <doctest.h>
++#include <doctest/doctest.h>
+ #include <taskflow/taskflow.hpp>
+
+ // ============================================================================
+diff --git a/unittests/utility.cpp b/unittests/utility.cpp
+index 63c49708..01ee81a3 100644
+--- a/unittests/utility.cpp
++++ b/unittests/utility.cpp
+@@ -1,6 +1,6 @@
+ #define DOCTEST_CONFIG_IMPLEMENT_WITH_MAIN
+
+-#include <doctest.h>
++#include <doctest/doctest.h>
+
+ #include <taskflow/utility/traits.hpp>
+ #include <taskflow/utility/object_pool.hpp>
diff --git a/dev-cpp/taskflow/files/taskflow-9999-fix_doctest.patch b/dev-cpp/taskflow/files/taskflow-9999-fix_doctest.patch
new file mode 100644
index 000000000000..323d17e7f535
--- /dev/null
+++ b/dev-cpp/taskflow/files/taskflow-9999-fix_doctest.patch
@@ -0,0 +1,377 @@
+diff --git a/unittests/CMakeLists.txt b/unittests/CMakeLists.txt
+index 3397d798..1256e8e6 100644
+--- a/unittests/CMakeLists.txt
++++ b/unittests/CMakeLists.txt
+@@ -1,6 +1,7 @@
+ enable_testing()
+
+-include(${TF_3RD_PARTY_DIR}/doctest/doctest.cmake)
++find_package(doctest REQUIRED)
++include(doctest)
+
+ list(APPEND TF_UNITTESTS
+ utility
+@@ -23,8 +24,7 @@ list(APPEND TF_UNITTESTS
+
+ foreach(unittest IN LISTS TF_UNITTESTS)
+ add_executable(${unittest} ${unittest}.cpp)
+- target_link_libraries(${unittest} ${PROJECT_NAME} tf::default_settings)
+- target_include_directories(${unittest} PRIVATE ${TF_3RD_PARTY_DIR}/doctest)
++ target_link_libraries(${unittest} ${PROJECT_NAME} tf::default_settings doctest::doctest)
+ doctest_discover_tests(${unittest})
+ endforeach()
+
+diff --git a/unittests/algorithms.cpp b/unittests/algorithms.cpp
+index a250713a..09ae9ba5 100644
+--- a/unittests/algorithms.cpp
++++ b/unittests/algorithms.cpp
+@@ -1,6 +1,6 @@
+ #define DOCTEST_CONFIG_IMPLEMENT_WITH_MAIN
+
+-#include <doctest.h>
++#include <doctest/doctest.h>
+ #include <taskflow/taskflow.hpp>
+ #include <taskflow/algorithm/reduce.hpp>
+ #include <taskflow/algorithm/sort.hpp>
+diff --git a/unittests/asyncs.cpp b/unittests/asyncs.cpp
+index 28eeaa8c..466687a2 100644
+--- a/unittests/asyncs.cpp
++++ b/unittests/asyncs.cpp
+@@ -1,6 +1,6 @@
+ #define DOCTEST_CONFIG_IMPLEMENT_WITH_MAIN
+
+-#include <doctest.h>
++#include <doctest/doctest.h>
+ #include <taskflow/taskflow.hpp>
+
+ // --------------------------------------------------------
+diff --git a/unittests/basics.cpp b/unittests/basics.cpp
+index f5b9e3dd..e93c3fd3 100644
+--- a/unittests/basics.cpp
++++ b/unittests/basics.cpp
+@@ -1,6 +1,6 @@
+ #define DOCTEST_CONFIG_IMPLEMENT_WITH_MAIN
+
+-#include <doctest.h>
++#include <doctest/doctest.h>
+ #include <taskflow/taskflow.hpp>
+ #include <taskflow/algorithm/reduce.hpp>
+
+diff --git a/unittests/cancellation.cpp b/unittests/cancellation.cpp
+index 3ce1cb8c..6543ee52 100644
+--- a/unittests/cancellation.cpp
++++ b/unittests/cancellation.cpp
+@@ -1,6 +1,6 @@
+ #define DOCTEST_CONFIG_IMPLEMENT_WITH_MAIN
+
+-#include <doctest.h>
++#include <doctest/doctest.h>
+ #include <taskflow/taskflow.hpp>
+
+ // EmptyFuture
+diff --git a/unittests/compositions.cpp b/unittests/compositions.cpp
+index 4fd621b5..e3c91e4c 100644
+--- a/unittests/compositions.cpp
++++ b/unittests/compositions.cpp
+@@ -1,6 +1,6 @@
+ #define DOCTEST_CONFIG_IMPLEMENT_WITH_MAIN
+
+-#include <doctest.h>
++#include <doctest/doctest.h>
+ #include <taskflow/taskflow.hpp>
+
+ // --------------------------------------------------------
+diff --git a/unittests/control_flow.cpp b/unittests/control_flow.cpp
+index 024ace84..11206384 100644
+--- a/unittests/control_flow.cpp
++++ b/unittests/control_flow.cpp
+@@ -1,6 +1,6 @@
+ #define DOCTEST_CONFIG_IMPLEMENT_WITH_MAIN
+
+-#include <doctest.h>
++#include <doctest/doctest.h>
+ #include <taskflow/taskflow.hpp>
+
+ // --------------------------------------------------------
+diff --git a/unittests/cuda/CMakeLists.txt b/unittests/cuda/CMakeLists.txt
+index d0ccc8e9..ccb46721 100644
+--- a/unittests/cuda/CMakeLists.txt
++++ b/unittests/cuda/CMakeLists.txt
+@@ -13,15 +13,14 @@ list(APPEND TF_CUDA_UNITTESTS
+
+ foreach(cudatest IN LISTS TF_CUDA_UNITTESTS)
+ add_executable(${cudatest} ${cudatest}.cu)
+- target_link_libraries(${cudatest} ${PROJECT_NAME} tf::default_settings)
+- target_include_directories(${cudatest} PRIVATE ${TF_3RD_PARTY_DIR}/doctest)
+-
++ target_link_libraries(${cudatest} ${PROJECT_NAME} tf::default_settings doctest::doctest)
++
+ # avoid cmake 3.18+ warning
+ # we let nvcc to decide the flag if the architecture is not given
+ if(NOT CUDA_ARCHITECTURES)
+ set_property(TARGET ${cudatest} PROPERTY CUDA_ARCHITECTURES OFF)
+ endif()
+-
++
+ doctest_discover_tests(${cudatest})
+ endforeach()
+
+diff --git a/unittests/cuda/cuda_algorithms.cu b/unittests/cuda/cuda_algorithms.cu
+index cccc04b4..47645273 100644
+--- a/unittests/cuda/cuda_algorithms.cu
++++ b/unittests/cuda/cuda_algorithms.cu
+@@ -1,6 +1,6 @@
+ #define DOCTEST_CONFIG_IMPLEMENT_WITH_MAIN
+
+-#include <doctest.h>
++#include <doctest/doctest.h>
+ #include <taskflow/taskflow.hpp>
+ #include <taskflow/cuda/cudaflow.hpp>
+ #include <taskflow/cuda/algorithm/for_each.hpp>
+diff --git a/unittests/cuda/cuda_basics.cu b/unittests/cuda/cuda_basics.cu
+index 8e0fdffd..f97c7822 100644
+--- a/unittests/cuda/cuda_basics.cu
++++ b/unittests/cuda/cuda_basics.cu
+@@ -1,6 +1,6 @@
+ #define DOCTEST_CONFIG_IMPLEMENT_WITH_MAIN
+
+-#include <doctest.h>
++#include <doctest/doctest.h>
+ #include <taskflow/taskflow.hpp>
+ #include <taskflow/cuda/cudaflow.hpp>
+
+diff --git a/unittests/cuda/cuda_capturer_optimizer.cu b/unittests/cuda/cuda_capturer_optimizer.cu
+index 86fcfb72..7cbcf0a5 100644
+--- a/unittests/cuda/cuda_capturer_optimizer.cu
++++ b/unittests/cuda/cuda_capturer_optimizer.cu
+@@ -1,6 +1,6 @@
+ #define DOCTEST_CONFIG_IMPLEMENT_WITH_MAIN
+
+-#include <doctest.h>
++#include <doctest/doctest.h>
+ #include <taskflow/taskflow.hpp>
+ #include <taskflow/cuda/cudaflow.hpp>
+ #include <taskflow/cuda/algorithm/for_each.hpp>
+diff --git a/unittests/cuda/cuda_device.cu b/unittests/cuda/cuda_device.cu
+index 49df36aa..fb68b29a 100644
+--- a/unittests/cuda/cuda_device.cu
++++ b/unittests/cuda/cuda_device.cu
+@@ -1,6 +1,6 @@
+ #define DOCTEST_CONFIG_IMPLEMENT_WITH_MAIN
+
+-#include <doctest.h>
++#include <doctest/doctest.h>
+ #include <taskflow/taskflow.hpp>
+ #include <taskflow/cuda/cudaflow.hpp>
+
+diff --git a/unittests/cuda/cuda_kmeans.cu b/unittests/cuda/cuda_kmeans.cu
+index 91495b59..c14d250f 100644
+--- a/unittests/cuda/cuda_kmeans.cu
++++ b/unittests/cuda/cuda_kmeans.cu
+@@ -1,6 +1,6 @@
+ #define DOCTEST_CONFIG_IMPLEMENT_WITH_MAIN
+
+-#include <doctest.h>
++#include <doctest/doctest.h>
+ #include <taskflow/taskflow.hpp>
+ #include <taskflow/cuda/cudaflow.hpp>
+ #include <taskflow/cuda/algorithm/for_each.hpp>
+diff --git a/unittests/cuda/cuda_matrix.cu b/unittests/cuda/cuda_matrix.cu
+index 8e9f2421..ec5386f4 100644
+--- a/unittests/cuda/cuda_matrix.cu
++++ b/unittests/cuda/cuda_matrix.cu
+@@ -1,6 +1,6 @@
+ #define DOCTEST_CONFIG_IMPLEMENT_WITH_MAIN
+
+-#include <doctest.h>
++#include <doctest/doctest.h>
+ #include <taskflow/taskflow.hpp>
+ #include <taskflow/cuda/cudaflow.hpp>
+
+diff --git a/unittests/cuda/cuda_rebinds.cu b/unittests/cuda/cuda_rebinds.cu
+index eb9218fa..92798dfd 100644
+--- a/unittests/cuda/cuda_rebinds.cu
++++ b/unittests/cuda/cuda_rebinds.cu
+@@ -1,6 +1,6 @@
+ #define DOCTEST_CONFIG_IMPLEMENT_WITH_MAIN
+
+-#include <doctest.h>
++#include <doctest/doctest.h>
+
+ #include <taskflow/taskflow.hpp>
+ #include <taskflow/cuda/cudaflow.hpp>
+diff --git a/unittests/cuda/cuda_updates.cu b/unittests/cuda/cuda_updates.cu
+index bdda539a..d8b52dcf 100644
+--- a/unittests/cuda/cuda_updates.cu
++++ b/unittests/cuda/cuda_updates.cu
+@@ -1,6 +1,6 @@
+ #define DOCTEST_CONFIG_IMPLEMENT_WITH_MAIN
+
+-#include <doctest.h>
++#include <doctest/doctest.h>
+
+ #include <taskflow/taskflow.hpp>
+ #include <taskflow/cuda/cudaflow.hpp>
+diff --git a/unittests/movable.cpp b/unittests/movable.cpp
+index 96ce9da3..d5e64b47 100644
+--- a/unittests/movable.cpp
++++ b/unittests/movable.cpp
+@@ -1,5 +1,5 @@
+ #define DOCTEST_CONFIG_IMPLEMENT_WITH_MAIN
+-#include <doctest.h>
++#include <doctest/doctest.h>
+ #include <taskflow/taskflow.hpp>
+
+ // increments a counter only on destruction
+diff --git a/unittests/pipelines.cpp b/unittests/pipelines.cpp
+index 94d8f394..701365c0 100644
+--- a/unittests/pipelines.cpp
++++ b/unittests/pipelines.cpp
+@@ -1,6 +1,6 @@
+ #define DOCTEST_CONFIG_IMPLEMENT_WITH_MAIN
+
+-#include <doctest.h>
++#include <doctest/doctest.h>
+
+ #include <taskflow/taskflow.hpp>
+ #include <taskflow/algorithm/pipeline.hpp>
+diff --git a/unittests/semaphores.cpp b/unittests/semaphores.cpp
+index 616191b5..64b8a587 100644
+--- a/unittests/semaphores.cpp
++++ b/unittests/semaphores.cpp
+@@ -1,6 +1,6 @@
+ #define DOCTEST_CONFIG_IMPLEMENT_WITH_MAIN
+
+-#include <doctest.h>
++#include <doctest/doctest.h>
+ #include <taskflow/taskflow.hpp>
+
+ // --------------------------------------------------------
+diff --git a/unittests/serializer.cpp b/unittests/serializer.cpp
+index 92c3ec70..c6a715e6 100644
+--- a/unittests/serializer.cpp
++++ b/unittests/serializer.cpp
+@@ -1,6 +1,6 @@
+ #define DOCTEST_CONFIG_IMPLEMENT_WITH_MAIN
+
+-#include <doctest.h>
++#include <doctest/doctest.h>
+ #include <taskflow/utility/serializer.hpp>
+ #include <random>
+
+diff --git a/unittests/sorting.cpp b/unittests/sorting.cpp
+index 8146324a..ff732fb0 100644
+--- a/unittests/sorting.cpp
++++ b/unittests/sorting.cpp
+@@ -1,6 +1,6 @@
+ #define DOCTEST_CONFIG_IMPLEMENT_WITH_MAIN
+
+-#include <doctest.h>
++#include <doctest/doctest.h>
+ #include <taskflow/taskflow.hpp>
+ #include <taskflow/algorithm/sort.hpp>
+
+diff --git a/unittests/subflows.cpp b/unittests/subflows.cpp
+index 9db430de..e669a2c8 100644
+--- a/unittests/subflows.cpp
++++ b/unittests/subflows.cpp
+@@ -1,6 +1,6 @@
+ #define DOCTEST_CONFIG_IMPLEMENT_WITH_MAIN
+
+-#include <doctest.h>
++#include <doctest/doctest.h>
+ #include <taskflow/taskflow.hpp>
+ #include <taskflow/algorithm/reduce.hpp>
+
+diff --git a/unittests/sycl/CMakeLists.txt b/unittests/sycl/CMakeLists.txt
+index c6481996..3b014d0e 100644
+--- a/unittests/sycl/CMakeLists.txt
++++ b/unittests/sycl/CMakeLists.txt
+@@ -1,4 +1,4 @@
+-list(APPEND TF_SYCL_TESTS
++list(APPEND TF_SYCL_TESTS
+ sycl_basics
+ #sycl_algorithms
+ #sycl_rebinds
+@@ -12,9 +12,8 @@ foreach(sycl_test IN LISTS TF_SYCL_TESTS)
+ target_compile_options(${sycl_test} PRIVATE ${TF_SYCL_OPTIONS})
+ target_link_options(${sycl_test} PRIVATE ${TF_SYCL_OPTIONS})
+ target_link_libraries(${sycl_test}
+- ${PROJECT_NAME} Threads::Threads tf::default_settings
++ ${PROJECT_NAME} Threads::Threads tf::default_settings doctest::doctest
+ )
+- target_include_directories(${sycl_test} PRIVATE ${TF_3RD_PARTY_DIR}/doctest)
+-
++
+ doctest_discover_tests(${sycl_test})
+ endforeach()
+diff --git a/unittests/sycl/sycl_algorithms.cpp b/unittests/sycl/sycl_algorithms.cpp
+index e029b2ef..7b44ca78 100644
+--- a/unittests/sycl/sycl_algorithms.cpp
++++ b/unittests/sycl/sycl_algorithms.cpp
+@@ -1,5 +1,5 @@
+ #define DOCTEST_CONFIG_IMPLEMENT_WITH_MAIN
+-#include <doctest.h>
++#include <doctest/doctest.h>
+ #include <taskflow/syclflow.hpp>
+
+ constexpr float eps = 0.0001f;
+diff --git a/unittests/sycl/sycl_basics.cpp b/unittests/sycl/sycl_basics.cpp
+index 0ff76969..eac52906 100644
+--- a/unittests/sycl/sycl_basics.cpp
++++ b/unittests/sycl/sycl_basics.cpp
+@@ -1,5 +1,5 @@
+ #define DOCTEST_CONFIG_IMPLEMENT_WITH_MAIN
+-#include <doctest.h>
++#include <doctest/doctest.h>
+ #include <taskflow/sycl/syclflow.hpp>
+
+ // task creation
+diff --git a/unittests/sycl/sycl_rebinds.cpp b/unittests/sycl/sycl_rebinds.cpp
+index 71b2f9de..1b5949fd 100644
+--- a/unittests/sycl/sycl_rebinds.cpp
++++ b/unittests/sycl/sycl_rebinds.cpp
+@@ -1,5 +1,5 @@
+ #define DOCTEST_CONFIG_IMPLEMENT_WITH_MAIN
+-#include <doctest.h>
++#include <doctest/doctest.h>
+ #include <taskflow/syclflow.hpp>
+
+ // ----------------------------------------------------------------------------
+diff --git a/unittests/traversals.cpp b/unittests/traversals.cpp
+index 71aef04b..683915b4 100644
+--- a/unittests/traversals.cpp
++++ b/unittests/traversals.cpp
+@@ -1,6 +1,6 @@
+ #define DOCTEST_CONFIG_IMPLEMENT_WITH_MAIN
+
+-#include <doctest.h>
++#include <doctest/doctest.h>
+
+ #include <taskflow/taskflow.hpp>
+
+diff --git a/unittests/tsq.cpp b/unittests/tsq.cpp
+index 51a137a7..8e9cac56 100644
+--- a/unittests/tsq.cpp
++++ b/unittests/tsq.cpp
+@@ -49,7 +49,7 @@
+
+ #define DOCTEST_CONFIG_IMPLEMENT_WITH_MAIN
+
+-#include <doctest.h>
++#include <doctest/doctest.h>
+ #include <taskflow/taskflow.hpp>
+
+ // ============================================================================
+diff --git a/unittests/utility.cpp b/unittests/utility.cpp
+index 63c49708..01ee81a3 100644
+--- a/unittests/utility.cpp
++++ b/unittests/utility.cpp
+@@ -1,6 +1,6 @@
+ #define DOCTEST_CONFIG_IMPLEMENT_WITH_MAIN
+
+-#include <doctest.h>
++#include <doctest/doctest.h>
+
+ #include <taskflow/utility/traits.hpp>
+ #include <taskflow/utility/object_pool.hpp>
diff --git a/dev-cpp/cpp-taskflow/metadata.xml b/dev-cpp/taskflow/metadata.xml
index 5b4c8bac454b..059a58ff11cd 100644
--- a/dev-cpp/cpp-taskflow/metadata.xml
+++ b/dev-cpp/taskflow/metadata.xml
@@ -10,11 +10,11 @@
<name>Gentoo Science Project</name>
</maintainer>
<longdescription>
- Cpp-Taskflow is faster, more expressive, and easier for drop-in
+ Taskflow is faster, more expressive, and easier for drop-in
integration than many of existing task programming frameworks in
handling complex parallel workloads.
</longdescription>
<upstream>
- <remote-id type="github">cpp-taskflow/cpp-taskflow</remote-id>
+ <remote-id type="github">taskflow/taskflow</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-cpp/taskflow/taskflow-3.3.0.ebuild b/dev-cpp/taskflow/taskflow-3.3.0.ebuild
new file mode 100644
index 000000000000..27b159cb6268
--- /dev/null
+++ b/dev-cpp/taskflow/taskflow-3.3.0.ebuild
@@ -0,0 +1,47 @@
+# Copyright 1999-2023 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="amd64 arm arm64 ~ia64 ~mips ppc ppc64 ~riscv 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=(
+ "${FILESDIR}"/taskflow-3.3.0-fix_doctest.patch
+)
+
+src_prepare() {
+ rm -r "${S}/3rd-party" || die "rm failed"
+ 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/taskflow/taskflow-3.4.0.ebuild b/dev-cpp/taskflow/taskflow-3.4.0.ebuild
new file mode 100644
index 000000000000..5909982c9530
--- /dev/null
+++ b/dev-cpp/taskflow/taskflow-3.4.0.ebuild
@@ -0,0 +1,47 @@
+# Copyright 1999-2023 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 ~ia64 ~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=(
+ "${FILESDIR}"/taskflow-3.4.0-fix_doctest.patch
+)
+
+src_prepare() {
+ rm -r "${S}/3rd-party" || die "rm failed"
+ 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/taskflow/taskflow-3.6.0.ebuild b/dev-cpp/taskflow/taskflow-3.6.0.ebuild
new file mode 100644
index 000000000000..7e1fc394c892
--- /dev/null
+++ b/dev-cpp/taskflow/taskflow-3.6.0.ebuild
@@ -0,0 +1,45 @@
+# Copyright 1999-2023 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/taskflow/taskflow-9999.ebuild b/dev-cpp/taskflow/taskflow-9999.ebuild
new file mode 100644
index 000000000000..0a0560906b3d
--- /dev/null
+++ b/dev-cpp/taskflow/taskflow-9999.ebuild
@@ -0,0 +1,47 @@
+# Copyright 1999-2023 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 ~ia64 ~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=(
+ "${FILESDIR}"/taskflow-9999-fix_doctest.patch
+)
+
+src_prepare() {
+ rm -r "${S}/3rd-party" || die "rm failed"
+ 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 d2d3f1d78cf8..53078a6dae42 100644
--- a/dev-cpp/tbb/Manifest
+++ b/dev-cpp/tbb/Manifest
@@ -1 +1,8 @@
DIST tbb-2020.3.tar.gz 2639788 BLAKE2B 3e92bccdc8179fc049379ccbb8ad7f615623177abc61d813b1a601020c345137bfd7d4c4600cf5b0d587e5ebef677635c3c8124d06b05fdd3325128ed8c9f84a SHA512 04c4b5501418792827190691d03d20d4dc1fd3cbbcf459a4d40c5c2281d964e658f31f133ad3907b78e17ed04f4ff16728ed89487ed0ce2cb239f23feb34bd87
+DIST tbb-2021.10.0.tar.gz 2598088 BLAKE2B ba8352474b97c3d98b534cbfd8f61af165352967529f19226dbae17f17d20a8b5dfd7a3b29bab85431620cea1ee1c5990ec7311cc9b1b865d6aa1800540dd6d0 SHA512 d71cf317e7f78948c1ea20977cfcfba1eff72cb20c457c87e624cb3aaa3215a1c24eeeec11ed6ed99cf118c577d956234202458bb5e0215c9c317099d9c3b732
+DIST tbb-2021.11.0.tar.gz 2613493 BLAKE2B 2b56042c8126709b6f36c1118685b28ddf2ff39b6563aae168d6bb8106d234757ff125a39da37f907a7da62f2f2ad64e4db01ca028d20c1e74def4ba2e92c1a6 SHA512 4779141b7602f2fa3a509fdd346824ba270a3a568df3649ce8cb51264d233df5cec5e5cb67b91319dd11d3d5e054697b4ed345e07216107985ddb6e1e7ef94e5
+DIST tbb-2021.12.0.tar.gz 2617255 BLAKE2B 3e1db8b1972a7225c5355def66ae40006e6e0f0f97e2efff45dd361f724e348a2f0476bc14b59f89f5361cac6fa36a4973602467bc7fbb2b8b139a4ff4dd58de SHA512 64022bcb61cf7b2030a1bcc11168445ef9f0d69b70290233a7febb71cc7a12cc2282dddc045f84e30893efe276342f02fd78d176706268eeaefe9aac7446d4e9
+DIST tbb-2021.5.0.tar.gz 2463218 BLAKE2B 2d50d312b86318ba4923afe68753b3781f9646cbdb33861f3458301a3a19b7ca3aab6959dca085294dfc743d7f552635f80fb524ec5d780a46f58ffe02e3280d SHA512 0e7b71022e397a6d7abb0cea106847935ae79a1e12a6976f8d038668c6eca8775ed971202c5bd518f7e517092b67af805cc5feb04b5c3a40e9fbf972cc703a46
+DIST tbb-2021.7.0.tar.gz 2571727 BLAKE2B 2977ef1a33d9bc7baa40e0e57c02e62798a09c6c66cdbe369f2702d87fd9877c3d97f8d83f71384028995ea0956f5c5630d4aaf4edbe68538e7c514d3b87085c SHA512 d314e3d88b85c96607a9eda15e3d808bf361eb562a534c59101929236e90c187883e7718e5435b5e7f01f4ee652c9765af95f5f173368b83997e4666b7403a49
+DIST tbb-2021.8.0.tar.gz 2575336 BLAKE2B 2c3a7f0e59d70b17550f805461a15a520c7f1b3a37a41bd51c51f9f5863b50812d2b939351e11e0f4ceb3da8a47e413abe171bcb6bfb71c0fe2f81ed373f65f2 SHA512 72f68730dfd89409796f9548d3c302111787712089688a7c77092ed1b3a7bf4e7444fe4b58015d2c78b7b71259852526789b2483bf1e71bea8146c4b4676e7b4
+DIST tbb-2021.9.0.tar.gz 2579150 BLAKE2B f6f701df1605913770222689063ff422416f86f132fb3fbc80f383b7c52762d3804e75200ca4826906b16c66f674918bcfd78b16a1dafb499ca53a9d2b6652ec SHA512 2ece7f678ad7c8968c0ad5cda9f987e4b318c6d9735169e1039beb0ff8dfca18815835875211acc6c7068913d9b0bdd4c9ded22962b0bb48f4a0ce0f7b78f31c
diff --git a/dev-cpp/tbb/files/tbb-2020.3-gcc13.patch b/dev-cpp/tbb/files/tbb-2020.3-gcc13.patch
new file mode 100644
index 000000000000..1c0803048ca7
--- /dev/null
+++ b/dev-cpp/tbb/files/tbb-2020.3-gcc13.patch
@@ -0,0 +1,35 @@
+https://bugs.gentoo.org/899746
+https://github.com/oneapi-src/oneTBB/pull/833
+
+From c18342ba667d1f33f5e9a773aa86b091a9694b97 Mon Sep 17 00:00:00 2001
+From: Sergei Trofimovich <slyich@gmail.com>
+Date: Fri, 20 May 2022 07:50:00 +0100
+Subject: [PATCH] tbb_2020: fix build on gcc-13
+
+On gcc-13 build started failing due to 'task' identifier collision as:
+
+ ../../include/tbb/task.h:300:20: error: declaration of 'tbb::task& tbb::internal::task_prefix::task()' changes meaning of 'task' [-fpermissive]
+ 300 | tbb::task& task() {return *reinterpret_cast<tbb::task*>(this+1);}
+ | ^~~~
+ ../../include/tbb/task.h:252:9: note: used here to mean 'class tbb::task'
+ 252 | task* next_offloaded;
+ | ^~~~
+ ../../include/tbb/task.h:43:7: note: declared here
+ 43 | class task;
+ | ^~~~
+
+The change adds explicit qualifier to class name to avoid ambiguity with method name.
+
+Signed-off-by: Sergei Trofimovich <slyich@gmail.com>
+--- a/include/tbb/task.h
++++ b/include/tbb/task.h
+@@ -249,7 +249,7 @@ namespace internal {
+ #if __TBB_TASK_PRIORITY
+ //! Pointer to the next offloaded lower priority task.
+ /** Used to maintain a list of offloaded tasks inside the scheduler. **/
+- task* next_offloaded;
++ tbb::task* next_offloaded;
+ #endif
+
+ #if __TBB_PREVIEW_RESUMABLE_TASKS
+
diff --git a/dev-cpp/tbb/files/tbb-2021.4.0-lto.patch b/dev-cpp/tbb/files/tbb-2021.4.0-lto.patch
new file mode 100644
index 000000000000..1c9705576004
--- /dev/null
+++ b/dev-cpp/tbb/files/tbb-2021.4.0-lto.patch
@@ -0,0 +1,249 @@
+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
new file mode 100644
index 000000000000..091cad5821e7
--- /dev/null
+++ b/dev-cpp/tbb/files/tbb-2021.4.0-missing-TBB_machine_fetchadd4.patch
@@ -0,0 +1,23 @@
+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
new file mode 100644
index 000000000000..4252ea446423
--- /dev/null
+++ b/dev-cpp/tbb/files/tbb-2021.5.0-flags-stripping.patch
@@ -0,0 +1,27 @@
+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
new file mode 100644
index 000000000000..014a3863f452
--- /dev/null
+++ b/dev-cpp/tbb/files/tbb-2021.5.0-musl-deepbind.patch
@@ -0,0 +1,25 @@
+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
new file mode 100644
index 000000000000..e46c16f42f59
--- /dev/null
+++ b/dev-cpp/tbb/files/tbb-2021.5.0-musl-mallinfo.patch
@@ -0,0 +1,32 @@
+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
new file mode 100644
index 000000000000..111bbf123d9a
--- /dev/null
+++ b/dev-cpp/tbb/files/tbb-2021.5.0-musl-setcontext.patch
@@ -0,0 +1,30 @@
+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
new file mode 100644
index 000000000000..83f119a9acd3
--- /dev/null
+++ b/dev-cpp/tbb/files/tbb-2021.5.0-x86-mwaitpkg.patch
@@ -0,0 +1,43 @@
+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/files/tbb-2021.7.0-pthread-eagain.patch b/dev-cpp/tbb/files/tbb-2021.7.0-pthread-eagain.patch
new file mode 100644
index 000000000000..6c0912ec96b7
--- /dev/null
+++ b/dev-cpp/tbb/files/tbb-2021.7.0-pthread-eagain.patch
@@ -0,0 +1,135 @@
+https://bugs.gentoo.org/881161
+https://github.com/rui314/mold/issues/410
+https://github.com/oneapi-src/oneTBB/commit/ceacd2207edfb72a8fc235213265afe68ce74ad0
+https://github.com/oneapi-src/oneTBB/commit/137c1a88b690acf3525e0f279720ac489ce66481
+
+From ceacd2207edfb72a8fc235213265afe68ce74ad0 Mon Sep 17 00:00:00 2001
+From: Ilya Isaev <ilya.isaev@intel.com>
+Date: Wed, 26 Oct 2022 13:13:51 +0200
+Subject: [PATCH] Rework test_eh_thread to avoid sporadic failures (#946)
+
+Signed-off-by: Isaev, Ilya <ilya.isaev@intel.com>
+--- a/test/tbb/test_eh_thread.cpp
++++ b/test/tbb/test_eh_thread.cpp
+@@ -54,15 +54,16 @@ void limitThreads(size_t limit)
+ CHECK_MESSAGE(0 == ret, "setrlimit has returned an error");
+ }
+
+-static bool g_exception_caught = false;
+-static std::mutex m;
+-static std::condition_variable cv;
+-static std::atomic<bool> stop{ false };
++size_t getThreadLimit() {
++ rlimit rlim;
++
++ int ret = getrlimit(RLIMIT_NPROC, &rlim);
++ CHECK_MESSAGE(0 == ret, "getrlimit has returned an error");
++ return rlim.rlim_cur;
++}
+
+ static void* thread_routine(void*)
+ {
+- std::unique_lock<std::mutex> lock(m);
+- cv.wait(lock, [] { return stop == true; });
+ return nullptr;
+ }
+
+@@ -94,32 +95,17 @@ TEST_CASE("Too many threads") {
+ }
+
+ // Some systems set really big limit (e.g. >45К) for the number of processes/threads
+- limitThreads(1024);
+-
+- std::thread /* isolate test */ ([] {
+- std::vector<Thread> threads;
+- stop = false;
+- auto finalize = [&] {
+- stop = true;
+- cv.notify_all();
+- for (auto& t : threads) {
+- t.join();
+- }
+- };
+-
+- for (int i = 0;; ++i) {
++ limitThreads(1);
++ if (getThreadLimit() == 1) {
++ for (int attempt = 0; attempt < 5; ++attempt) {
+ Thread thread;
+- if (!thread.isValid()) {
+- break;
+- }
+- threads.push_back(thread);
+- if (i == 1024) {
+- WARN_MESSAGE(false, "setrlimit seems having no effect");
+- finalize();
++ if (thread.isValid()) {
++ WARN_MESSAGE(false, "We were able to create a thread. setrlimit seems having no effect");
++ thread.join();
+ return;
+ }
+ }
+- g_exception_caught = false;
++ bool g_exception_caught = false;
+ try {
+ // Initialize the library to create worker threads
+ tbb::parallel_for(0, 2, [](int) {});
+@@ -132,9 +118,10 @@ TEST_CASE("Too many threads") {
+ }
+ // Do not CHECK to avoid memory allocation (we can be out of memory)
+ if (!g_exception_caught) {
+- FAIL("No exception was caught");
++ FAIL("No exception was thrown on library initialization");
+ }
+- finalize();
+- }).join();
++ } else {
++ WARN_MESSAGE(false, "setrlimit seems having no effect");
++ }
+ }
+ #endif
+
+From 137c1a88b690acf3525e0f279720ac489ce66481 Mon Sep 17 00:00:00 2001
+From: Rui Ueyama <ruiu@cs.stanford.edu>
+Date: Wed, 26 Oct 2022 04:54:20 -0700
+Subject: [PATCH] Retry if pthread_create fails with EAGAIN (#824)
+
+Signed-off-by: Rui Ueyama <ruiu@cs.stanford.edu>
+--- a/src/tbb/rml_thread_monitor.h
++++ b/src/tbb/rml_thread_monitor.h
+@@ -31,6 +31,7 @@
+ #include <pthread.h>
+ #include <cstring>
+ #include <cstdlib>
++#include <time.h>
+ #else
+ #error Unsupported platform
+ #endif
+@@ -191,8 +192,25 @@ inline thread_monitor::handle_type thread_monitor::launch( void* (*thread_routin
+ check(pthread_attr_init( &s ), "pthread_attr_init has failed");
+ if( stack_size>0 )
+ check(pthread_attr_setstacksize( &s, stack_size ), "pthread_attr_setstack_size has failed" );
++
++ // pthread_create(2) can spuriously fail with EAGAIN. We retry
++ // max_num_tries times with progressively longer wait times.
+ pthread_t handle;
+- check( pthread_create( &handle, &s, thread_routine, arg ), "pthread_create has failed" );
++ const int max_num_tries = 20;
++ int error = EAGAIN;
++
++ for (int i = 0; i < max_num_tries && error == EAGAIN; i++) {
++ if (i != 0) {
++ // Wait i milliseconds
++ struct timespec ts = {0, i * 1000 * 1000};
++ nanosleep(&ts, NULL);
++ }
++ error = pthread_create(&handle, &s, thread_routine, arg);
++ }
++
++ if (error)
++ handle_perror(error, "pthread_create has failed");
++
+ check( pthread_attr_destroy( &s ), "pthread_attr_destroy has failed" );
+ return handle;
+ }
+
diff --git a/dev-cpp/tbb/files/tbb-2021.8.0-gcc-13.patch b/dev-cpp/tbb/files/tbb-2021.8.0-gcc-13.patch
new file mode 100644
index 000000000000..84a0ba3dc7a1
--- /dev/null
+++ b/dev-cpp/tbb/files/tbb-2021.8.0-gcc-13.patch
@@ -0,0 +1,26 @@
+https://github.com/oneapi-src/oneTBB/pull/1031
+
+From 363bf59bef2649b4d427788522da27c12f984a9a Mon Sep 17 00:00:00 2001
+From: Sam James <sam@gentoo.org>
+Date: Tue, 21 Feb 2023 09:36:33 +0000
+Subject: [PATCH] test: common: include <cstdlib> for abort() (fix build with
+ GCC 13)
+
+GCC 13 (as usual for new compiler releases) shuffles around some
+internal includes and so <cstdint> etc is no longer transitively included.
+
+See https://www.gnu.org/software/gcc/gcc-13/porting_to.html.
+
+Signed-off-by: Sam James <sam@gentoo.org>
+--- a/test/common/utils_assert.h
++++ b/test/common/utils_assert.h
+@@ -20,6 +20,8 @@
+ #include "config.h"
+ #include "utils_report.h"
+
++#include <cstdlib>
++
+ #define REPORT_FATAL_ERROR REPORT
+
+ namespace utils {
+
diff --git a/dev-cpp/tbb/metadata.xml b/dev-cpp/tbb/metadata.xml
index 5c8db0d2f223..7283fc113042 100644
--- a/dev-cpp/tbb/metadata.xml
+++ b/dev-cpp/tbb/metadata.xml
@@ -13,6 +13,6 @@
for performance and scalability.
</longdescription>
<upstream>
- <remote-id type="github">intel/tbb</remote-id>
+ <remote-id type="github">oneapi-src/oneTBB</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-cpp/tbb/tbb-2020.3.ebuild b/dev-cpp/tbb/tbb-2020.3.ebuild
index c654a5fad29f..36dc24e44018 100644
--- a/dev-cpp/tbb/tbb-2020.3.ebuild
+++ b/dev-cpp/tbb/tbb-2020.3.ebuild
@@ -1,29 +1,30 @@
-# Copyright 1999-2021 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)"
MY_PV="${PV1}_U${PV2}"
DESCRIPTION="High level abstract threading library"
-HOMEPAGE="https://www.threadingbuildingblocks.org"
+HOMEPAGE="https://github.com/oneapi-src/oneTBB"
SRC_URI="https://github.com/intel/${PN}/archive/${MY_PV}.tar.gz -> ${P}.tar.gz"
LICENSE="Apache-2.0"
SLOT="0"
KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ppc ppc64 ~riscv ~sparc x86 ~amd64-linux ~x86-linux"
IUSE="debug examples"
-DEPEND=""
-RDEPEND="${DEPEND}"
S="${WORKDIR}/oneTBB-${MY_PV}"
DOCS=( CHANGES README README.md doc/Release_Notes.txt )
-PATCHES=( "${FILESDIR}"/${PN}-2020.1-makefile-debug.patch )
+PATCHES=(
+ "${FILESDIR}"/${PN}-2020.1-makefile-debug.patch
+ "${FILESDIR}"/${PN}-2020.3-gcc13.patch
+)
src_prepare() {
default
@@ -39,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
@@ -142,10 +146,9 @@ multilib_src_install_all() {
einstalldocs
if use examples ; then
- insinto /usr/share/doc/${PF}/examples/build
- doins build/*.inc
- insinto /usr/share/doc/${PF}/examples
- doins -r examples
- docompress -x "/usr/share/doc/${PF}/examples"
+ dodoc -r examples
+ docinto examples/build
+ dodoc build/*.inc
+ docompress -x /usr/share/doc/${PF}/examples
fi
}
diff --git a/dev-cpp/tbb/tbb-2021.10.0.ebuild b/dev-cpp/tbb/tbb-2021.10.0.ebuild
new file mode 100644
index 000000000000..3d0e05e45514
--- /dev/null
+++ b/dev-cpp/tbb/tbb-2021.10.0.ebuild
@@ -0,0 +1,48 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake-multilib flag-o-matic
+
+DESCRIPTION="High level abstract threading library"
+HOMEPAGE="https://github.com/oneapi-src/oneTBB"
+SRC_URI="https://github.com/oneapi-src/oneTBB/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/oneTBB-${PV}"
+
+LICENSE="Apache-2.0"
+# https://github.com/oneapi-src/oneTBB/blob/master/CMakeLists.txt#L53
+# libtbb<SONAME>-libtbbmalloc<SONAME>-libtbbbind<SONAME>
+SLOT="0/12.5-2.5-3.5"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="!kernel_Darwin? ( sys-apps/hwloc:= )"
+DEPEND="${RDEPEND}"
+BDEPEND="virtual/pkgconfig"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-2021.8.0-gcc-13.patch
+)
+
+src_prepare() {
+ # Workaround for bug #912210
+ append-ldflags $(test-flags-CCLD -Wl,--undefined-version)
+
+ # Has an #error to force compilation as C but links with C++ library, dies
+ # with GLIBCXX_ASSERTIONS as a result.
+ sed -i -e '/tbb_add_c_test(SUBDIR tbbmalloc NAME test_malloc_pure_c DEPENDENCIES TBB::tbbmalloc)/d' test/CMakeLists.txt || die
+
+ cmake_src_prepare
+}
+
+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.11.0.ebuild b/dev-cpp/tbb/tbb-2021.11.0.ebuild
new file mode 100644
index 000000000000..3ac69c080835
--- /dev/null
+++ b/dev-cpp/tbb/tbb-2021.11.0.ebuild
@@ -0,0 +1,48 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake-multilib flag-o-matic
+
+DESCRIPTION="High level abstract threading library"
+HOMEPAGE="https://github.com/oneapi-src/oneTBB"
+SRC_URI="https://github.com/oneapi-src/oneTBB/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/oneTBB-${PV}"
+
+LICENSE="Apache-2.0"
+# https://github.com/oneapi-src/oneTBB/blob/master/CMakeLists.txt#L53
+# libtbb<SONAME>-libtbbmalloc<SONAME>-libtbbbind<SONAME>
+SLOT="0/12.5-2.5-3.5"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="!kernel_Darwin? ( sys-apps/hwloc:= )"
+DEPEND="${RDEPEND}"
+BDEPEND="virtual/pkgconfig"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-2021.8.0-gcc-13.patch
+)
+
+src_prepare() {
+ # Has an #error to force compilation as C but links with C++ library, dies
+ # with GLIBCXX_ASSERTIONS as a result.
+ sed -i -e '/tbb_add_c_test(SUBDIR tbbmalloc NAME test_malloc_pure_c DEPENDENCIES TBB::tbbmalloc)/d' test/CMakeLists.txt || die
+
+ cmake_src_prepare
+}
+
+src_configure() {
+ # Workaround for bug #912210
+ append-ldflags $(test-flags-CCLD -Wl,--undefined-version)
+
+ local mycmakeargs=(
+ -DTBB_TEST=$(usex test)
+ -DTBB_ENABLE_IPO=OFF
+ -DTBB_STRICT=OFF
+ )
+
+ cmake-multilib_src_configure
+}
diff --git a/dev-cpp/tbb/tbb-2021.12.0.ebuild b/dev-cpp/tbb/tbb-2021.12.0.ebuild
new file mode 100644
index 000000000000..3ac69c080835
--- /dev/null
+++ b/dev-cpp/tbb/tbb-2021.12.0.ebuild
@@ -0,0 +1,48 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake-multilib flag-o-matic
+
+DESCRIPTION="High level abstract threading library"
+HOMEPAGE="https://github.com/oneapi-src/oneTBB"
+SRC_URI="https://github.com/oneapi-src/oneTBB/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/oneTBB-${PV}"
+
+LICENSE="Apache-2.0"
+# https://github.com/oneapi-src/oneTBB/blob/master/CMakeLists.txt#L53
+# libtbb<SONAME>-libtbbmalloc<SONAME>-libtbbbind<SONAME>
+SLOT="0/12.5-2.5-3.5"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="!kernel_Darwin? ( sys-apps/hwloc:= )"
+DEPEND="${RDEPEND}"
+BDEPEND="virtual/pkgconfig"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-2021.8.0-gcc-13.patch
+)
+
+src_prepare() {
+ # Has an #error to force compilation as C but links with C++ library, dies
+ # with GLIBCXX_ASSERTIONS as a result.
+ sed -i -e '/tbb_add_c_test(SUBDIR tbbmalloc NAME test_malloc_pure_c DEPENDENCIES TBB::tbbmalloc)/d' test/CMakeLists.txt || die
+
+ cmake_src_prepare
+}
+
+src_configure() {
+ # Workaround for bug #912210
+ append-ldflags $(test-flags-CCLD -Wl,--undefined-version)
+
+ local mycmakeargs=(
+ -DTBB_TEST=$(usex test)
+ -DTBB_ENABLE_IPO=OFF
+ -DTBB_STRICT=OFF
+ )
+
+ cmake-multilib_src_configure
+}
diff --git a/dev-cpp/tbb/tbb-2021.5.0-r1.ebuild b/dev-cpp/tbb/tbb-2021.5.0-r1.ebuild
new file mode 100644
index 000000000000..adb066b4c2d9
--- /dev/null
+++ b/dev-cpp/tbb/tbb-2021.5.0-r1.ebuild
@@ -0,0 +1,55 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake-multilib flag-o-matic
+
+DESCRIPTION="High level abstract threading library"
+HOMEPAGE="https://github.com/oneapi-src/oneTBB"
+SRC_URI="https://github.com/oneapi-src/oneTBB/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/oneTBB-${PV}"
+
+LICENSE="Apache-2.0"
+# https://github.com/oneapi-src/oneTBB/blob/master/CMakeLists.txt#L53
+# libtbb<SONAME>-libtbbmalloc<SONAME>-libtbbbind<SONAME>
+SLOT="0/12.5-2.5-3.5"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 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() {
+ # Workaround for bug #912210
+ append-ldflags $(test-flags-CCLD -Wl,--undefined-version)
+
+ # Workaround for bug #912210
+ append-ldflags $(test-flags-CCLD -Wl,--undefined-version)
+
+ local mycmakeargs=(
+ -DTBB_TEST=$(usex test)
+ -DTBB_ENABLE_IPO=OFF
+ -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
new file mode 100644
index 000000000000..dd9c26717c7e
--- /dev/null
+++ b/dev-cpp/tbb/tbb-2021.7.0-r1.ebuild
@@ -0,0 +1,40 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake-multilib flag-o-matic
+
+DESCRIPTION="High level abstract threading library"
+HOMEPAGE="https://github.com/oneapi-src/oneTBB"
+SRC_URI="https://github.com/oneapi-src/oneTBB/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/oneTBB-${PV}"
+
+LICENSE="Apache-2.0"
+# https://github.com/oneapi-src/oneTBB/blob/master/CMakeLists.txt#L53
+# libtbb<SONAME>-libtbbmalloc<SONAME>-libtbbbind<SONAME>
+SLOT="0/12.5-2.5-3.5"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ppc ppc64 ~riscv ~sparc x86 ~amd64-linux ~x86-linux ~x64-macos"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="!kernel_Darwin? ( sys-apps/hwloc:= )"
+DEPEND="${RDEPEND}"
+BDEPEND="virtual/pkgconfig"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-2021.7.0-pthread-eagain.patch
+)
+
+src_configure() {
+ # Workaround for bug #912210
+ append-ldflags $(test-flags-CCLD -Wl,--undefined-version)
+
+ local mycmakeargs=(
+ -DTBB_TEST=$(usex test)
+ -DTBB_ENABLE_IPO=OFF
+ -DTBB_STRICT=OFF
+ )
+
+ cmake-multilib_src_configure
+}
diff --git a/dev-cpp/tbb/tbb-2021.7.0.ebuild b/dev-cpp/tbb/tbb-2021.7.0.ebuild
new file mode 100644
index 000000000000..972e90e1702f
--- /dev/null
+++ b/dev-cpp/tbb/tbb-2021.7.0.ebuild
@@ -0,0 +1,40 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake-multilib flag-o-matic
+
+DESCRIPTION="High level abstract threading library"
+HOMEPAGE="https://github.com/oneapi-src/oneTBB"
+SRC_URI="https://github.com/oneapi-src/oneTBB/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/oneTBB-${PV}"
+
+LICENSE="Apache-2.0"
+# https://github.com/oneapi-src/oneTBB/blob/master/CMakeLists.txt#L53
+# libtbb<SONAME>-libtbbmalloc<SONAME>-libtbbbind<SONAME>
+SLOT="0/12.5-2.5-3.5"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 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() {
+ # Workaround for bug #912210
+ append-ldflags $(test-flags-CCLD -Wl,--undefined-version)
+
+ # 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.8.0.ebuild b/dev-cpp/tbb/tbb-2021.8.0.ebuild
new file mode 100644
index 000000000000..9b77bc83b8e5
--- /dev/null
+++ b/dev-cpp/tbb/tbb-2021.8.0.ebuild
@@ -0,0 +1,49 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake-multilib flag-o-matic
+
+DESCRIPTION="High level abstract threading library"
+HOMEPAGE="https://github.com/oneapi-src/oneTBB"
+SRC_URI="https://github.com/oneapi-src/oneTBB/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/oneTBB-${PV}"
+
+LICENSE="Apache-2.0"
+# https://github.com/oneapi-src/oneTBB/blob/master/CMakeLists.txt#L53
+# libtbb<SONAME>-libtbbmalloc<SONAME>-libtbbbind<SONAME>
+SLOT="0/12.5-2.5-3.5"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="!kernel_Darwin? ( sys-apps/hwloc:= )"
+DEPEND="${RDEPEND}"
+BDEPEND="virtual/pkgconfig"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-2021.7.0-pthread-eagain.patch
+ "${FILESDIR}"/${PN}-2021.8.0-gcc-13.patch
+)
+
+src_prepare() {
+ # Has an #error to force compilation as C but links with C++ library, dies
+ # with GLIBCXX_ASSERTIONS as a result.
+ sed -i -e '/tbb_add_c_test(SUBDIR tbbmalloc NAME test_malloc_pure_c DEPENDENCIES TBB::tbbmalloc)/d' test/CMakeLists.txt || die
+
+ cmake_src_prepare
+}
+
+src_configure() {
+ # Workaround for bug #912210
+ append-ldflags $(test-flags-CCLD -Wl,--undefined-version)
+
+ local mycmakeargs=(
+ -DTBB_TEST=$(usex test)
+ -DTBB_ENABLE_IPO=OFF
+ -DTBB_STRICT=OFF
+ )
+
+ cmake-multilib_src_configure
+}
diff --git a/dev-cpp/tbb/tbb-2021.9.0.ebuild b/dev-cpp/tbb/tbb-2021.9.0.ebuild
new file mode 100644
index 000000000000..2a0013ba8bb3
--- /dev/null
+++ b/dev-cpp/tbb/tbb-2021.9.0.ebuild
@@ -0,0 +1,48 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake-multilib flag-o-matic
+
+DESCRIPTION="High level abstract threading library"
+HOMEPAGE="https://github.com/oneapi-src/oneTBB"
+SRC_URI="https://github.com/oneapi-src/oneTBB/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/oneTBB-${PV}"
+
+LICENSE="Apache-2.0"
+# https://github.com/oneapi-src/oneTBB/blob/master/CMakeLists.txt#L53
+# libtbb<SONAME>-libtbbmalloc<SONAME>-libtbbbind<SONAME>
+SLOT="0/12.5-2.5-3.5"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~ppc ppc64 ~riscv ~sparc x86 ~amd64-linux ~x86-linux ~x64-macos"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="!kernel_Darwin? ( sys-apps/hwloc:= )"
+DEPEND="${RDEPEND}"
+BDEPEND="virtual/pkgconfig"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-2021.8.0-gcc-13.patch
+)
+
+src_prepare() {
+ # Has an #error to force compilation as C but links with C++ library, dies
+ # with GLIBCXX_ASSERTIONS as a result.
+ sed -i -e '/tbb_add_c_test(SUBDIR tbbmalloc NAME test_malloc_pure_c DEPENDENCIES TBB::tbbmalloc)/d' test/CMakeLists.txt || die
+
+ cmake_src_prepare
+}
+
+src_configure() {
+ # Workaround for bug #912210
+ append-ldflags $(test-flags-CCLD -Wl,--undefined-version)
+
+ local mycmakeargs=(
+ -DTBB_TEST=$(usex test)
+ -DTBB_ENABLE_IPO=OFF
+ -DTBB_STRICT=OFF
+ )
+
+ cmake-multilib_src_configure
+}
diff --git a/dev-cpp/tclap/Manifest b/dev-cpp/tclap/Manifest
index a38364264aae..22a9096c51c6 100644
--- a/dev-cpp/tclap/Manifest
+++ b/dev-cpp/tclap/Manifest
@@ -1 +1 @@
-DIST tclap-1.2.2.tar.gz 231714 BLAKE2B 94fc3d5253c08a305e5f75f6b4b7ab556e94980193502b64665ff828609cde20f340e3fe18cef12011da07ae2db2c2bb52a08f112d052d74c45be8290d525092 SHA512 516ec17f82a61277922bc8c0ed66973300bf42a738847fbbd2912c6405c34f94a13e47dc964854a5b26a9a9f1f518cce682ca54e769d6016851656c647866107
+DIST tclap-1.2.5.tar.gz 4140723 BLAKE2B e3b48dc602ddd64887ca7764008e2ac406866fd7c17bd5b6f31e248b43f18ed6b1c8415fc29a505b3035befcb9716b3259680c7e53a51ad9df107e1cbad92eea SHA512 3b5b3d76e8ff21133001f5f9589fa6ec143729909bf0b9cc9934377bce178360c161fb5c1f4c4d9e9c74b09cff3d65f1d5100e61d4a732283524a78b6f236b10
diff --git a/dev-cpp/tclap/tclap-1.2.2.ebuild b/dev-cpp/tclap/tclap-1.2.5.ebuild
index 7a86a74f833e..f1e436daeda7 100644
--- a/dev-cpp/tclap/tclap-1.2.2.ebuild
+++ b/dev-cpp/tclap/tclap-1.2.5.ebuild
@@ -1,7 +1,7 @@
-# Copyright 2007-2021 Gentoo Authors
+# Copyright 2007-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
DESCRIPTION="Simple templatized C++ library for parsing command line arguments"
HOMEPAGE="http://tclap.sourceforge.net"
@@ -9,10 +9,10 @@ SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
LICENSE="MIT"
SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ppc ~ppc64 ~riscv ~sparc x86 ~amd64-linux"
+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)
@@ -23,5 +23,5 @@ src_test() {
}
src_install() {
- emake DESTDIR="${D}" docdir="${EPREFIX}/usr/share/doc/${PF}/html" install
+ emake DESTDIR="${D}" docdir="${EPREFIX}"/usr/share/doc/${PF}/html install
}
diff --git a/dev-cpp/termcolor/Manifest b/dev-cpp/termcolor/Manifest
new file mode 100644
index 000000000000..a84d57d1d1c6
--- /dev/null
+++ b/dev-cpp/termcolor/Manifest
@@ -0,0 +1 @@
+DIST termcolor-2.1.0.tar.gz 89041 BLAKE2B 1b3681dcd7dde394737bdc02e8a8ae10c61adfddbb1506e7254c27636a9045bc17ebe45801ecf813c3fc6b3a4bb3ea90bc6246e651105fab2e42b0807fa74339 SHA512 668853a93e1208a08a4ea9ac8db2d9c615cefd0325c35402b767e0b1bf373589507b8eb7685babd5801c1e4f2533db6f4eabfedde365737a4c7c069f00f536d8
diff --git a/dev-cpp/termcolor/metadata.xml b/dev-cpp/termcolor/metadata.xml
new file mode 100644
index 000000000000..d8347ef2cc43
--- /dev/null
+++ b/dev-cpp/termcolor/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>sam@gentoo.org</email>
+ <name>Sam James</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">ikalnytskyi/termcolor</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-cpp/termcolor/termcolor-2.1.0.ebuild b/dev-cpp/termcolor/termcolor-2.1.0.ebuild
new file mode 100644
index 000000000000..62b3a7572734
--- /dev/null
+++ b/dev-cpp/termcolor/termcolor-2.1.0.ebuild
@@ -0,0 +1,29 @@
+# Copyright 2020-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+DESCRIPTION="A header-only C++ library for printing colored messages to the terminal"
+HOMEPAGE="https://github.com/ikalnytskyi/termcolor https://termcolor.readthedocs.io"
+SRC_URI="https://github.com/ikalnytskyi/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="test"
+# It's just a visual test, nothing automated / no way to detect failure in an ebuild.
+RESTRICT="!test? ( test ) test"
+
+src_configure() {
+ local mycmakeargs=(
+ -DTERMCOLOR_TESTS=$(usex test)
+ )
+
+ cmake_src_configure
+}
+
+src_test() {
+ "${BUILD_DIR}"/test_termcolor || die
+}
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/sourcetrail/metadata.xml b/dev-cpp/tomlplusplus/metadata.xml
index 9b222cafb4c8..e1c27afbcec2 100644
--- a/dev-cpp/sourcetrail/metadata.xml
+++ b/dev-cpp/tomlplusplus/metadata.xml
@@ -2,14 +2,14 @@
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person" proxied="yes">
- <email>david@davidhallas.dk</email>
- <name>David Hallas</name>
+ <email>julien@jroy.ca</email>
+ <name>Julien Roy</name>
</maintainer>
<maintainer type="project" proxied="proxy">
<email>proxy-maint@gentoo.org</email>
- <name>Proxy Maintainers Project</name>
+ <name>Proxy Maintainers</name>
</maintainer>
- <use>
- <flag name="examples">Install example projects.</flag>
- </use>
+ <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
new file mode 100644
index 000000000000..b112a7c010c0
--- /dev/null
+++ b/dev-cpp/valijson/Manifest
@@ -0,0 +1 @@
+DIST valijson-1.0.tar.gz 721078 BLAKE2B 74f4a061266a6ee8fba9d93b4e1df20dc828d85169f865bdb60ba9f5217ee422324a09788b02b4ddd18a92d906c64863a5bd7c1250f8bdb62fd9f00f3d73c7e7 SHA512 a206954b11e92cbebbebf094e6f0925a270ebd6bec49cbdb7adda5a4cec93587a5a61ebbce105846c3950cf5df74bfdd5f5bb1ffbf73315f45c7a6cda2b77db9
diff --git a/dev-cpp/valijson/files/1.0-fix-macro-typos.patch b/dev-cpp/valijson/files/1.0-fix-macro-typos.patch
new file mode 100644
index 000000000000..f90e88dabe92
--- /dev/null
+++ b/dev-cpp/valijson/files/1.0-fix-macro-typos.patch
@@ -0,0 +1,77 @@
+
+Patch from:
+https://github.com/tristanpenman/valijson/commit/f1ff3518281fe347c97b78384d6bb645dbdd4788
+
+From f1ff3518281fe347c97b78384d6bb645dbdd4788 Mon Sep 17 00:00:00 2001
+From: Austin Haigh <austin.haigh@hach.com>
+Date: Tue, 1 Nov 2022 13:29:16 -0600
+Subject: [PATCH] fix typos in preprocessor macros
+
+---
+ examples/valijson_nlohmann_bundled.hpp | 2 +-
+ include/valijson/utils/boost_json_utils.hpp | 4 ++--
+ include/valijson/utils/nlohmann_json_utils.hpp | 2 +-
+ include/valijson/utils/property_tree_utils.hpp | 2 +-
+ 4 files changed, 5 insertions(+), 5 deletions(-)
+
+diff --git a/examples/valijson_nlohmann_bundled.hpp b/examples/valijson_nlohmann_bundled.hpp
+index 806f329..915bebb 100644
+--- a/examples/valijson_nlohmann_bundled.hpp
++++ b/examples/valijson_nlohmann_bundled.hpp
+@@ -10561,7 +10561,7 @@ inline bool loadDocument(const std::string &path, nlohmann::json &document)
+ }
+
+ // Parse schema
+-#if VALIJSON_USE_EXCEPTION
++#if VALIJSON_USE_EXCEPTIONS
+ try {
+ document = nlohmann::json::parse(file);
+ } catch (std::invalid_argument const& exception) {
+diff --git a/include/valijson/utils/boost_json_utils.hpp b/include/valijson/utils/boost_json_utils.hpp
+index 1168903..0fbd6c3 100644
+--- a/include/valijson/utils/boost_json_utils.hpp
++++ b/include/valijson/utils/boost_json_utils.hpp
+@@ -20,7 +20,7 @@ inline bool loadDocument(const std::string &path, boost::json::value &document)
+ }
+
+ // Parse schema
+-#if VALIJSON_USE_EXCEPTION
++#if VALIJSON_USE_EXCEPTIONS
+ try {
+ #endif
+ boost::json::error_code errorCode;
+@@ -30,7 +30,7 @@ inline bool loadDocument(const std::string &path, boost::json::value &document)
+ std::cerr << "Boost.JSON parsing error: " << errorCode.message();
+ return false;
+ }
+-#if VALIJSON_USE_EXCEPTION
++#if VALIJSON_USE_EXCEPTIONS
+ } catch (std::exception const & exception) {
+ std::cerr << "Boost.JSON parsing exception: " << exception.what();
+ return false;
+diff --git a/include/valijson/utils/nlohmann_json_utils.hpp b/include/valijson/utils/nlohmann_json_utils.hpp
+index b3cbe20..77e5771 100644
+--- a/include/valijson/utils/nlohmann_json_utils.hpp
++++ b/include/valijson/utils/nlohmann_json_utils.hpp
+@@ -20,7 +20,7 @@ inline bool loadDocument(const std::string &path, nlohmann::json &document)
+ }
+
+ // Parse schema
+-#if VALIJSON_USE_EXCEPTION
++#if VALIJSON_USE_EXCEPTIONS
+ try {
+ document = nlohmann::json::parse(file);
+ } catch (std::invalid_argument const& exception) {
+diff --git a/include/valijson/utils/property_tree_utils.hpp b/include/valijson/utils/property_tree_utils.hpp
+index 2317f12..7438980 100644
+--- a/include/valijson/utils/property_tree_utils.hpp
++++ b/include/valijson/utils/property_tree_utils.hpp
+@@ -24,7 +24,7 @@
+ #include <valijson/utils/file_utils.hpp>
+ #include <valijson/exceptions.hpp>
+
+-#if !VALIJSON_USE_EXCEPTION
++#if !VALIJSON_USE_EXCEPTIONS
+
+ namespace boost {
+
diff --git a/dev-cpp/valijson/metadata.xml b/dev-cpp/valijson/metadata.xml
new file mode 100644
index 000000000000..fbe60ab1e518
--- /dev/null
+++ b/dev-cpp/valijson/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>holger@applied-asynchrony.com</email>
+ <name>Holger Hoffstätte</name>
+ </maintainer>
+ <maintainer type="project" proxied="proxy">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">tristanpenman/valijson</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-cpp/valijson/valijson-1.0.ebuild b/dev-cpp/valijson/valijson-1.0.ebuild
new file mode 100644
index 000000000000..bc4327b63333
--- /dev/null
+++ b/dev-cpp/valijson/valijson-1.0.ebuild
@@ -0,0 +1,24 @@
+# Copyright 1999-2023 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"
+
+PATCHES=(
+ "${FILESDIR}"/${PV}-fix-macro-typos.patch
+)
+
+src_install() {
+ # there is no target for installing headers, so do it manually
+ doheader -r include/*
+}
diff --git a/dev-cpp/waylandpp/Manifest b/dev-cpp/waylandpp/Manifest
index 7663d46aab09..c8ca9ccfb365 100644
--- a/dev-cpp/waylandpp/Manifest
+++ b/dev-cpp/waylandpp/Manifest
@@ -1 +1 @@
-DIST waylandpp-0.2.8.tar.gz 181950 BLAKE2B 186515308d2e17e39e61f953fcf43df6bcff45a965d6425ffb71f0314fc091d241a975d0e7a61e988091ae7491cab56e163b6bccc0a2584b79b5bd5a7f8573fd SHA512 bf1b8a9e69b87547fc65989b9eaff88a442d8b2f01f5446cef960000b093390b1e557536837fbf38bb6d9a4f93e3985ea34c3253f94925b0f571b4606c980832
+DIST waylandpp-1.0.0.tar.gz 203510 BLAKE2B 939262f61051fb242e779fa4817b262af2de6acef50b53a55e8565e6305e84fbf297adad02d27342a39e2a1be920443cc6dd50711e2c584b3322fa1e90a7051c SHA512 64b59d073a0593ecf442362eb63ec0a9dfeaa1ad1d56b5955cb0c159fd01dc45e012b926811c6ca0dc12d4bb2e640eabc2e778ab7d28de2098eb694d26f01039
diff --git a/dev-cpp/waylandpp/files/waylandpp-1.0.0-gcc-13.patch b/dev-cpp/waylandpp/files/waylandpp-1.0.0-gcc-13.patch
new file mode 100644
index 000000000000..314b1aa5fb80
--- /dev/null
+++ b/dev-cpp/waylandpp/files/waylandpp-1.0.0-gcc-13.patch
@@ -0,0 +1,51 @@
+https://github.com/NilsBrause/waylandpp/pull/71
+
+From 3c441910aa25f57df2a4db55f75f5d99cea86620 Mon Sep 17 00:00:00 2001
+From: Sergei Trofimovich <slyich@gmail.com>
+Date: Sun, 8 Jan 2023 18:24:53 +0000
+Subject: [PATCH] add missing <cstdint> include
+
+Upcoming `gcc-13` made `<string>` leaner and does not include `<cstdint>`
+implicitly anymore. As a result build fails without the change as:
+
+ [ 2%] Building CXX object CMakeFiles/wayland-scanner++.dir/scanner/scanner.cpp.o
+ scanner/scanner.cpp:378:3: error: 'uint32_t' does not name a type
+ 378 | uint32_t width = 0;
+ | ^~~~~~~~
+--- a/include/wayland-client.hpp
++++ b/include/wayland-client.hpp
+@@ -29,6 +29,7 @@
+ /** \file */
+
+ #include <atomic>
++#include <cstdint>
+ #include <functional>
+ #include <memory>
+ #include <string>
+--- a/scanner/scanner.cpp
++++ b/scanner/scanner.cpp
+@@ -23,6 +23,7 @@
+ #include <vector>
+ #include <cctype>
+ #include <cmath>
++#include <cstdint>
+ #include <stdexcept>
+
+ #include "pugixml.hpp"
+@@ -1106,6 +1107,7 @@ int main(int argc, char *argv[])
+ wayland_hpp << "#pragma once" << std::endl
+ << std::endl
+ << "#include <array>" << std::endl
++ << "#include <cstdint>" << std::endl
+ << "#include <functional>" << std::endl
+ << "#include <memory>" << std::endl
+ << "#include <string>" << std::endl
+@@ -1125,6 +1127,7 @@ int main(int argc, char *argv[])
+ wayland_server_hpp << "#pragma once" << std::endl
+ << std::endl
+ << "#include <array>" << std::endl
++ << "#include <cstdint>" << std::endl
+ << "#include <functional>" << std::endl
+ << "#include <memory>" << std::endl
+ << "#include <string>" << std::endl
+
diff --git a/dev-cpp/waylandpp/waylandpp-1.0.0-r1.ebuild b/dev-cpp/waylandpp/waylandpp-1.0.0-r1.ebuild
new file mode 100644
index 000000000000..366b2ef8b527
--- /dev/null
+++ b/dev-cpp/waylandpp/waylandpp-1.0.0-r1.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="Wayland C++ bindings"
+HOMEPAGE="https://github.com/NilsBrause/waylandpp"
+
+LICENSE="MIT"
+IUSE="doc"
+SLOT="0/$(ver_cut 1-2)"
+
+if [[ ${PV} == *9999 ]] ; then
+ EGIT_REPO_URI="https://github.com/NilsBrause/waylandpp.git"
+ inherit git-r3
+else
+ SRC_URI="https://github.com/NilsBrause/waylandpp/archive/${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="amd64 ~arm arm64 ~riscv x86"
+fi
+
+RDEPEND="
+ >=dev-libs/wayland-1.11.0
+ media-libs/mesa[wayland]
+ >=dev-libs/pugixml-1.9-r1
+"
+DEPEND="${RDEPEND}
+ doc? (
+ app-text/doxygen
+ media-gfx/graphviz
+ )
+ "
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-1.0.0-gcc-13.patch
+)
+
+src_configure() {
+ local mycmakeargs=(
+ -DBUILD_DOCUMENTATION=$(usex doc)
+ )
+
+ cmake_src_configure
+}
diff --git a/dev-cpp/waylandpp/waylandpp-0.2.8.ebuild b/dev-cpp/waylandpp/waylandpp-1.0.0.ebuild
index e3f8ec261a68..eb1b99ee4e28 100644
--- a/dev-cpp/waylandpp/waylandpp-0.2.8.ebuild
+++ b/dev-cpp/waylandpp/waylandpp-1.0.0.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=7
+EAPI=8
inherit cmake
@@ -17,7 +17,7 @@ if [[ ${PV} == *9999 ]] ; then
inherit git-r3
else
SRC_URI="https://github.com/NilsBrause/waylandpp/archive/${PV}.tar.gz -> ${P}.tar.gz"
- KEYWORDS="amd64 ~arm arm64 x86"
+ KEYWORDS="amd64 ~arm arm64 ~riscv x86"
fi
RDEPEND="
@@ -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 6fda559666cb..5cdaa6a0078f 100644
--- a/dev-cpp/waylandpp/waylandpp-9999.ebuild
+++ b/dev-cpp/waylandpp/waylandpp-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
@@ -17,7 +17,7 @@ if [[ ${PV} == *9999 ]] ; then
inherit git-r3
else
SRC_URI="https://github.com/NilsBrause/waylandpp/archive/${PV}.tar.gz -> ${P}.tar.gz"
- KEYWORDS="~amd64 ~x86"
+ KEYWORDS="~amd64 ~arm ~arm64 ~x86"
fi
RDEPEND="
@@ -27,7 +27,7 @@ RDEPEND="
"
DEPEND="${RDEPEND}
doc? (
- app-doc/doxygen
+ app-text/doxygen
media-gfx/graphviz
)
"
diff --git a/dev-cpp/websocketpp/Manifest b/dev-cpp/websocketpp/Manifest
index a8ffad9db283..059355f89226 100644
--- a/dev-cpp/websocketpp/Manifest
+++ b/dev-cpp/websocketpp/Manifest
@@ -1,2 +1 @@
-DIST websocketpp-0.8.1.tar.gz 699468 BLAKE2B e5769229b400d2f42e69541b07cfba17dcc82cdad20685a52ac1130c2fc4e94764a38d2e4f7c36101b11705e10c67eb149ba2c30750e7a6f63696d52c272fed2 SHA512 35e0261ed0285acf77d300768819bd380197de8acdf68223e2d7598481b9bfd69cb1653b435139771b1db6c16530c8d8cf9a887a8a6bba3fea126d0da4dbc13c
DIST websocketpp-0.8.2.tar.gz 701364 BLAKE2B dacee33832f493d465afe208f9edea1393414a22c8db8f8c86b8f913521d0d8d68b95673a2e82b7479acfbab1ac541eda2d713a55d5de387b3879461d5884df7 SHA512 b2afc63edb69ce81a3a6c06b3d857b3e8820f0e22300ac32bb20ab30ff07bd58bd5ada3e526ed8ab52de934e0e3a26cad2118b0e68ecf3e5e9e8d7101348fd06
diff --git a/dev-cpp/websocketpp/files/websocketpp-0.8.1-boost-1.70.patch b/dev-cpp/websocketpp/files/websocketpp-0.8.1-boost-1.70.patch
deleted file mode 100644
index 40ae155307d2..000000000000
--- a/dev-cpp/websocketpp/files/websocketpp-0.8.1-boost-1.70.patch
+++ /dev/null
@@ -1,139 +0,0 @@
-From c769c9238ad62178f506038178714a1c35aa2769 Mon Sep 17 00:00:00 2001
-From: Stefan Floeren <42731906+stefan-floeren@users.noreply.github.com>
-Date: Tue, 16 Apr 2019 08:38:01 +0200
-Subject: [PATCH 1/2] Replace make_shared with new in some cases
-
-Replace make_shared for asio types that take a lib::ref as a parameter.
-This should fix the ASIO change (boostorg/asio@59066d8) for 1.70,
-while keeping it backwards compatible to older boost versions.
----
- websocketpp/transport/asio/connection.hpp | 7 ++++---
- websocketpp/transport/asio/endpoint.hpp | 3 +--
- websocketpp/transport/asio/security/none.hpp | 3 +--
- websocketpp/transport/asio/security/tls.hpp | 3 +--
- 4 files changed, 7 insertions(+), 9 deletions(-)
-
-diff --git a/websocketpp/transport/asio/connection.hpp b/websocketpp/transport/asio/connection.hpp
-index 60f88a79..1ccda8f3 100644
---- a/websocketpp/transport/asio/connection.hpp
-+++ b/websocketpp/transport/asio/connection.hpp
-@@ -311,9 +311,10 @@ class connection : public config::socket_type::socket_con_type {
- * needed.
- */
- timer_ptr set_timer(long duration, timer_handler callback) {
-- timer_ptr new_timer = lib::make_shared<lib::asio::steady_timer>(
-- lib::ref(*m_io_service),
-- lib::asio::milliseconds(duration)
-+ timer_ptr new_timer(
-+ new lib::asio::steady_timer(
-+ *m_io_service,
-+ lib::asio::milliseconds(duration))
- );
-
- if (config::enable_multithreading) {
-diff --git a/websocketpp/transport/asio/endpoint.hpp b/websocketpp/transport/asio/endpoint.hpp
-index ddab2c74..4b719a97 100644
---- a/websocketpp/transport/asio/endpoint.hpp
-+++ b/websocketpp/transport/asio/endpoint.hpp
-@@ -195,8 +195,7 @@ class endpoint : public config::socket_type {
-
- m_io_service = ptr;
- m_external_io_service = true;
-- m_acceptor = lib::make_shared<lib::asio::ip::tcp::acceptor>(
-- lib::ref(*m_io_service));
-+ m_acceptor.reset(new lib::asio::ip::tcp::acceptor(*m_io_service));
-
- m_state = READY;
- ec = lib::error_code();
-diff --git a/websocketpp/transport/asio/security/none.hpp b/websocketpp/transport/asio/security/none.hpp
-index 5c8293db..6c7d3524 100644
---- a/websocketpp/transport/asio/security/none.hpp
-+++ b/websocketpp/transport/asio/security/none.hpp
-@@ -168,8 +168,7 @@ class connection : public lib::enable_shared_from_this<connection> {
- return socket::make_error_code(socket::error::invalid_state);
- }
-
-- m_socket = lib::make_shared<lib::asio::ip::tcp::socket>(
-- lib::ref(*service));
-+ m_socket.reset(new lib::asio::ip::tcp::socket(*service));
-
- if (m_socket_init_handler) {
- m_socket_init_handler(m_hdl, *m_socket);
-diff --git a/websocketpp/transport/asio/security/tls.hpp b/websocketpp/transport/asio/security/tls.hpp
-index c76fd9aa..04ac3790 100644
---- a/websocketpp/transport/asio/security/tls.hpp
-+++ b/websocketpp/transport/asio/security/tls.hpp
-@@ -193,8 +193,7 @@ class connection : public lib::enable_shared_from_this<connection> {
- if (!m_context) {
- return socket::make_error_code(socket::error::invalid_tls_context);
- }
-- m_socket = lib::make_shared<socket_type>(
-- _WEBSOCKETPP_REF(*service),lib::ref(*m_context));
-+ m_socket.reset(new socket_type(*service, *m_context));
-
- if (m_socket_init_handler) {
- m_socket_init_handler(m_hdl, get_socket());
-
-From f810ca2e800e9b55be41c5911cf1d1185fcd516b Mon Sep 17 00:00:00 2001
-From: Stefan Floeren <42731906+stefan-floeren@users.noreply.github.com>
-Date: Wed, 17 Apr 2019 10:06:18 +0000
-Subject: [PATCH 2/2] Fix missed entries; fix testing
-
----
- CMakeLists.txt | 2 +-
- websocketpp/transport/asio/connection.hpp | 3 +--
- websocketpp/transport/asio/endpoint.hpp | 7 ++-----
- 3 files changed, 4 insertions(+), 8 deletions(-)
-
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 2786aba9..951de975 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -202,7 +202,7 @@ if (BUILD_TESTS OR BUILD_EXAMPLES)
- endif ()
-
- if (NOT Boost_USE_STATIC_LIBS)
-- add_definitions (/DBOOST_TEST_DYN_LINK)
-+ add_definitions (-DBOOST_TEST_DYN_LINK)
- endif ()
-
- set (Boost_FIND_REQUIRED TRUE)
-diff --git a/websocketpp/transport/asio/connection.hpp b/websocketpp/transport/asio/connection.hpp
-index 1ccda8f3..57dda74a 100644
---- a/websocketpp/transport/asio/connection.hpp
-+++ b/websocketpp/transport/asio/connection.hpp
-@@ -462,8 +462,7 @@ class connection : public config::socket_type::socket_con_type {
- m_io_service = io_service;
-
- if (config::enable_multithreading) {
-- m_strand = lib::make_shared<lib::asio::io_service::strand>(
-- lib::ref(*io_service));
-+ m_strand.reset(new lib::asio::io_service::strand(*io_service));
- }
-
- lib::error_code ec = socket_con_type::init_asio(io_service, m_strand,
-diff --git a/websocketpp/transport/asio/endpoint.hpp b/websocketpp/transport/asio/endpoint.hpp
-index 4b719a97..94509adb 100644
---- a/websocketpp/transport/asio/endpoint.hpp
-+++ b/websocketpp/transport/asio/endpoint.hpp
-@@ -687,9 +687,7 @@ class endpoint : public config::socket_type {
- * @since 0.3.0
- */
- void start_perpetual() {
-- m_work = lib::make_shared<lib::asio::io_service::work>(
-- lib::ref(*m_io_service)
-- );
-+ m_work.reset(new lib::asio::io_service::work(*m_io_service));
- }
-
- /// Clears the endpoint's perpetual flag, allowing it to exit when empty
-@@ -853,8 +851,7 @@ class endpoint : public config::socket_type {
-
- // Create a resolver
- if (!m_resolver) {
-- m_resolver = lib::make_shared<lib::asio::ip::tcp::resolver>(
-- lib::ref(*m_io_service));
-+ m_resolver.reset(new lib::asio::ip::tcp::resolver(*m_io_service));
- }
-
- tcon->set_uri(u);
diff --git a/dev-cpp/websocketpp/websocketpp-0.8.1-r1.ebuild b/dev-cpp/websocketpp/websocketpp-0.8.1-r1.ebuild
deleted file mode 100644
index d7b8d0935b9a..000000000000
--- a/dev-cpp/websocketpp/websocketpp-0.8.1-r1.ebuild
+++ /dev/null
@@ -1,49 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit cmake
-
-DESCRIPTION="C++/Boost Asio based websocket client/server library"
-HOMEPAGE="https://www.zaphoyd.com/websocketpp"
-SRC_URI="https://github.com/zaphoyd/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 ~arm ~arm64 ~ia64 ~ppc ~ppc64 ~sparc x86"
-IUSE="examples test"
-RESTRICT="!test? ( test )"
-
-DEPEND="test? ( dev-libs/boost )"
-RDEPEND="dev-libs/boost"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-0.7.0-cmake-install.patch
- "${FILESDIR}"/${PN}-0.8.1-boost-1.70.patch
- # disable tests that are timing sensitive
- # https://bugzilla.redhat.com/show_bug.cgi?id=1461069
- "${FILESDIR}"/${PN}-0.8.1-disable-test_transport-test_transport_asio_timers.patch
- # https://github.com/zaphoyd/websocketpp/commit/36b73da8958927f975b3d01a062aa6c0e149d97f
- "${FILESDIR}"/${PN}-0.8.2-fix-boost_find_component.patch
- # https://github.com/zaphoyd/websocketpp/commit/2c355d9ef0f3ed73fa96d0c6c31293086df36d74
- "${FILESDIR}"/${PN}-0.8.2-fix-clang.patch
-)
-
-src_configure() {
- local mycmakeargs=(
- -DENABLE_CPP11=ON
- -DBUILD_TESTS="$(usex test)"
- )
-
- cmake_src_configure
-}
-
-src_install() {
- cmake_src_install
-
- if use examples; then
- dodoc -r examples
- docompress -x /usr/share/doc/${PF}/examples
- fi
-}
diff --git a/dev-cpp/websocketpp/websocketpp-0.8.2.ebuild b/dev-cpp/websocketpp/websocketpp-0.8.2.ebuild
index 3e9339f27dba..f9e11a9d8c95 100644
--- a/dev-cpp/websocketpp/websocketpp-0.8.2.ebuild
+++ b/dev-cpp/websocketpp/websocketpp-0.8.2.ebuild
@@ -11,7 +11,7 @@ SRC_URI="https://github.com/zaphoyd/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="BSD"
SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~ia64 ~ppc ~ppc64 ~sparc ~x86"
+KEYWORDS="amd64 ~arm ~arm64 ~ia64 ~ppc ~ppc64 ~riscv ~sparc x86"
IUSE="examples test"
RESTRICT="!test? ( test )"
diff --git a/dev-cpp/xsimd/Manifest b/dev-cpp/xsimd/Manifest
new file mode 100644
index 000000000000..70aa1f59c986
--- /dev/null
+++ b/dev-cpp/xsimd/Manifest
@@ -0,0 +1,2 @@
+DIST xsimd-11.1.0.tar.gz 219350 BLAKE2B 2bbbc4f7dbe489a407fe798b146c008aba44664efc943c2e1507d5c6e7da2a03ed91abf0d872e5abf9bd94be3e76bef276ec5b47d4e356b42a7b4c680bd6f3d9 SHA512 3a6141dfa4d95a977f4222880dfd06197613d153a78a84653022423279eec037ea9def08ae225aba7231c0b2c434ab7c907c965f8367fb0db9b96113980b51f3
+DIST xsimd-12.1.1.tar.gz 253141 BLAKE2B 29efbb045d8ade8737d702a73f3d0a912111dd4fbc84485c0e54c8b06d73edbb4b85f4b51e24da9bed0dea010b0cce9d99b57e20e8b94d3daf90d46031548eb9 SHA512 8e45a8e9b28358d5f20f713ea19a8c366edc62790c27984149f283dfe808d78a549c8ec465e8b3677d7e30b2cb80093908de364bbb9dc80683f5fdfb843131e1
diff --git a/dev-cpp/xsimd/files/xsimd-11.1.0-c++17.patch b/dev-cpp/xsimd/files/xsimd-11.1.0-c++17.patch
new file mode 100644
index 000000000000..b0c99452cc4e
--- /dev/null
+++ b/dev-cpp/xsimd/files/xsimd-11.1.0-c++17.patch
@@ -0,0 +1,27 @@
+--- a/test/CMakeLists.txt 2023-05-17 19:59:34.023146040 +0200
++++ b/test/CMakeLists.txt 2023-05-17 20:01:23.021505635 +0200
+@@ -50,20 +50,11 @@
+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wunused-parameter -Wextra -Wreorder")
+ # Users may override the c++ standard:
+ if(NOT DEFINED CMAKE_CXX_STANDARD OR "${CMAKE_CXX_STANDARD}" STREQUAL "")
+- if (ENABLE_XTL_COMPLEX)
+- CHECK_CXX_COMPILER_FLAG("-std=c++14" HAS_CPP14_FLAG)
+- if (NOT HAS_CPP14_FLAG)
+- message(FATAL_ERROR "Unsupported compiler -- xsimd requires C++14 support when xtl complex support is enabled")
+- endif()
+- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++14")
+- else()
+- CHECK_CXX_COMPILER_FLAG("-std=c++11" HAS_CPP11_FLAG)
+- if (NOT HAS_CPP11_FLAG)
+- message(FATAL_ERROR "Unsupported compiler -- xsimd requires C++11 support!")
+- else()
+- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
+- endif()
++ CHECK_CXX_COMPILER_FLAG("-std=c++17" HAS_CPP17_FLAG)
++ if (NOT HAS_CPP17_FLAG)
++ message(FATAL_ERROR "Unsupported compiler -- xsimd requires C++17 support")
+ endif()
++ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++17")
+ endif()
+
+ if (NOT CROSS_COMPILE_ARM)
diff --git a/dev-cpp/xsimd/files/xsimd-11.1.0-no-march.patch b/dev-cpp/xsimd/files/xsimd-11.1.0-no-march.patch
new file mode 100644
index 000000000000..77ba1e2f2ef0
--- /dev/null
+++ b/dev-cpp/xsimd/files/xsimd-11.1.0-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)
+- 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-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/metadata.xml b/dev-cpp/xsimd/metadata.xml
new file mode 100644
index 000000000000..58c94c12d066
--- /dev/null
+++ b/dev-cpp/xsimd/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>tupone@gentoo.org</email>
+ <name>Tupone Alfredo</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">xtensor-stack/xsimd</remote-id>
+ <doc>https://xsimd.readthedocs.io/en/latest/</doc>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-cpp/xsimd/xsimd-11.1.0-r1.ebuild b/dev-cpp/xsimd/xsimd-11.1.0-r1.ebuild
new file mode 100644
index 000000000000..52951201669e
--- /dev/null
+++ b/dev-cpp/xsimd/xsimd-11.1.0-r1.ebuild
@@ -0,0 +1,58 @@
+# 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 ~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}"/${P}-c++17.patch
+ "${FILESDIR}"/${PN}-11.1.0-no-march.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
+}
diff --git a/dev-cpp/xsimd/xsimd-12.1.1.ebuild b/dev-cpp/xsimd/xsimd-12.1.1.ebuild
new file mode 100644
index 000000000000..cf1c90d386a1
--- /dev/null
+++ b/dev-cpp/xsimd/xsimd-12.1.1.ebuild
@@ -0,0 +1,58 @@
+# 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}"/${P}-no-march.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
+}
diff --git a/dev-cpp/yaml-cpp/Manifest b/dev-cpp/yaml-cpp/Manifest
index 88f602e7f4ee..13de371c236a 100644
--- a/dev-cpp/yaml-cpp/Manifest
+++ b/dev-cpp/yaml-cpp/Manifest
@@ -1,2 +1,2 @@
-DIST yaml-cpp-0.6.3.tar.gz 1398768 BLAKE2B 07abe1c56740105a0af2335bb1cd48086cb614d9d04c61342e53788bfb043fd7eb2629e441a0a5be50898b288f3526f1707c5fdf1d734395b6450c3103773b14 SHA512 68b9ce987cabc1dec79382f922de20cc2c222cb9c090ecb93dc686b048da5c917facf4fce6d8f72feea44b61e5a6770ed3b0c199c4cd4e6bde5b6245c09f8e49
DIST yaml-cpp-0.7.0.tar.gz 1033237 BLAKE2B 69a11a8503ad607aa0d54912a5e53d305a643fe2d36dd86fa96832e3d4930b39a85318dc130e438210a9ca60357f3aa9aa6cd0f2b6bc45728b648c545a437368 SHA512 2de0f0ec8f003cd3c498d571cda7a796bf220517bad2dc02cba70c522dddde398f33cf1ad20da251adaacb2a07b77844111f297e99d45a7c46ebc01706bbafb5
+DIST yaml-cpp-0.8.0.gh.tar.gz 1017151 BLAKE2B 5fd3eaec06bc04215afd2aa14ae8cd35f829f700f104931a51dbd8bb22e4e87f5cd5f2f975d3a2f464226d7165d3d106aa17bc7eab8a812c2545d2212011cf11 SHA512 aae9d618f906117d620d63173e95572c738db518f4ff1901a06de2117d8deeb8045f554102ca0ba4735ac0c4d060153a938ef78da3e0da3406d27b8298e5f38e
diff --git a/dev-cpp/yaml-cpp/files/yaml-cpp-0.6.3-CVE-2017-11692.patch b/dev-cpp/yaml-cpp/files/yaml-cpp-0.6.3-CVE-2017-11692.patch
deleted file mode 100644
index fd7a7198c1c6..000000000000
--- a/dev-cpp/yaml-cpp/files/yaml-cpp-0.6.3-CVE-2017-11692.patch
+++ /dev/null
@@ -1,44 +0,0 @@
-From c9460110e072df84b7dee3eb651f2ec5df75fb18 Mon Sep 17 00:00:00 2001
-From: Jesse Beder <jbeder@gmail.com>
-Date: Mon, 20 Jan 2020 18:05:15 -0600
-Subject: [PATCH] Fix reading empty token stack with a node with properties but
- no scalar.
-
-E.g. `!2`.
----
- src/singledocparser.cpp | 6 ++++++
- test/integration/load_node_test.cpp | 5 +++++
- 2 files changed, 11 insertions(+)
-
-diff --git a/src/singledocparser.cpp b/src/singledocparser.cpp
-index 52544dd6..47e9e047 100644
---- a/src/singledocparser.cpp
-+++ b/src/singledocparser.cpp
-@@ -79,6 +79,12 @@ void SingleDocParser::HandleNode(EventHandler& eventHandler) {
- if (!anchor_name.empty())
- eventHandler.OnAnchor(mark, anchor_name);
-
-+ // after parsing properties, an empty node is again a possibility
-+ if (m_scanner.empty()) {
-+ eventHandler.OnNull(mark, anchor);
-+ return;
-+ }
-+
- const Token& token = m_scanner.peek();
-
- if (token.type == Token::PLAIN_SCALAR && IsNullString(token.value)) {
-diff --git a/test/integration/load_node_test.cpp b/test/integration/load_node_test.cpp
-index 4f4f28e8..0e0dd6bc 100644
---- a/test/integration/load_node_test.cpp
-+++ b/test/integration/load_node_test.cpp
-@@ -257,5 +257,10 @@ TEST(NodeTest, LoadTagWithParenthesis) {
- EXPECT_EQ(node.as<std::string>(), "foo");
- }
-
-+TEST(NodeTest, LoadTagWithNullScalar) {
-+ Node node = Load("!2");
-+ EXPECT_TRUE(node.IsNull());
-+}
-+
- } // namespace
- } // namespace YAML
diff --git a/dev-cpp/yaml-cpp/files/yaml-cpp-0.6.3-abi-breakage.patch b/dev-cpp/yaml-cpp/files/yaml-cpp-0.6.3-abi-breakage.patch
deleted file mode 100644
index d9160856c47f..000000000000
--- a/dev-cpp/yaml-cpp/files/yaml-cpp-0.6.3-abi-breakage.patch
+++ /dev/null
@@ -1,57 +0,0 @@
-commit f5f288c7622d3547c29a8355b8ccda0155483b79
-Author: Till Hofmann <hofmann@kbsg.rwth-aachen.de>
-Date: Sun Nov 17 22:43:20 2019 +0100
-
- Revert "fix up static, so works as DLL (#559)"
-
- This reverts commit 774f25800e6f19f4b927023c85d1389af322da5e.
-
-diff --git a/include/yaml-cpp/node/detail/node_data.h b/include/yaml-cpp/node/detail/node_data.h
-index 82fb79a..50bcd74 100644
---- a/include/yaml-cpp/node/detail/node_data.h
-+++ b/include/yaml-cpp/node/detail/node_data.h
-@@ -81,7 +81,7 @@ class YAML_CPP_API node_data {
- shared_memory_holder pMemory);
-
- public:
-- static const std::string& empty_scalar();
-+ static std::string empty_scalar;
-
- private:
- void compute_seq_size() const;
-diff --git a/include/yaml-cpp/node/impl.h b/include/yaml-cpp/node/impl.h
-index 7a3deac..b363f86 100644
---- a/include/yaml-cpp/node/impl.h
-+++ b/include/yaml-cpp/node/impl.h
-@@ -166,13 +166,13 @@ inline T Node::as(const S& fallback) const {
- inline const std::string& Node::Scalar() const {
- if (!m_isValid)
- throw InvalidNode(m_invalidKey);
-- return m_pNode ? m_pNode->scalar() : detail::node_data::empty_scalar();
-+ return m_pNode ? m_pNode->scalar() : detail::node_data::empty_scalar;
- }
-
- inline const std::string& Node::Tag() const {
- if (!m_isValid)
- throw InvalidNode(m_invalidKey);
-- return m_pNode ? m_pNode->tag() : detail::node_data::empty_scalar();
-+ return m_pNode ? m_pNode->tag() : detail::node_data::empty_scalar;
- }
-
- inline void Node::SetTag(const std::string& tag) {
-diff --git a/src/node_data.cpp b/src/node_data.cpp
-index 6cfedfc..eba1ae4 100644
---- a/src/node_data.cpp
-+++ b/src/node_data.cpp
-@@ -13,10 +13,7 @@
- namespace YAML {
- namespace detail {
-
--const std::string& node_data::empty_scalar() {
-- static const std::string svalue;
-- return svalue;
--}
-+std::string node_data::empty_scalar;
-
- node_data::node_data()
- : m_isDefined(false),
diff --git a/dev-cpp/yaml-cpp/files/yaml-cpp-0.6.3-fix-overflows.patch b/dev-cpp/yaml-cpp/files/yaml-cpp-0.6.3-fix-overflows.patch
deleted file mode 100644
index 4c5418db22d3..000000000000
--- a/dev-cpp/yaml-cpp/files/yaml-cpp-0.6.3-fix-overflows.patch
+++ /dev/null
@@ -1,149 +0,0 @@
-This patch comes from the upstream commit here[1], slightly modified to
-apply to 0.6.3. The pull request[2] mentions fixing CVE-2017-5950,
-CVE-2018-{20573,20574}, and CVE-2019-6285. Note that CVE-2019-6292 appears to
-be a duplicate of CVE-2019-6285 [3].
-
-[1] https://github.com/jbeder/yaml-cpp/commit/4edff1fa5dbfca16fc72d89870841bee89f8ef89
-[2] https://github.com/jbeder/yaml-cpp/pull/807
-[3] https://github.com/jbeder/yaml-cpp/issues/660
-
-diff --git a/include/yaml-cpp/depthguard.h b/include/yaml-cpp/depthguard.h
-new file mode 100644
-index 00000000..8ca61ac6
---- /dev/null
-+++ b/include/yaml-cpp/depthguard.h
-@@ -0,0 +1,77 @@
-+#ifndef DEPTH_GUARD_H_00000000000000000000000000000000000000000000000000000000
-+#define DEPTH_GUARD_H_00000000000000000000000000000000000000000000000000000000
-+
-+#if defined(_MSC_VER) || \
-+ (defined(__GNUC__) && (__GNUC__ == 3 && __GNUC_MINOR__ >= 4) || \
-+ (__GNUC__ >= 4)) // GCC supports "pragma once" correctly since 3.4
-+#pragma once
-+#endif
-+
-+#include "exceptions.h"
-+
-+namespace YAML {
-+
-+/**
-+ * @brief The DeepRecursion class
-+ * An exception class which is thrown by DepthGuard. Ideally it should be
-+ * a member of DepthGuard. However, DepthGuard is a templated class which means
-+ * that any catch points would then need to know the template parameters. It is
-+ * simpler for clients to not have to know at the catch point what was the
-+ * maximum depth.
-+ */
-+class DeepRecursion : public ParserException {
-+public:
-+ virtual ~DeepRecursion() = default;
-+
-+ DeepRecursion(int depth, const Mark& mark_, const std::string& msg_);
-+
-+ // Returns the recursion depth when the exception was thrown
-+ int depth() const {
-+ return m_depth;
-+ }
-+
-+private:
-+ int m_depth = 0;
-+};
-+
-+/**
-+ * @brief The DepthGuard class
-+ * DepthGuard takes a reference to an integer. It increments the integer upon
-+ * construction of DepthGuard and decrements the integer upon destruction.
-+ *
-+ * If the integer would be incremented past max_depth, then an exception is
-+ * thrown. This is ideally geared toward guarding against deep recursion.
-+ *
-+ * @param max_depth
-+ * compile-time configurable maximum depth.
-+ */
-+template <int max_depth = 2000>
-+class DepthGuard final {
-+public:
-+ DepthGuard(int & depth_, const Mark& mark_, const std::string& msg_) : m_depth(depth_) {
-+ ++m_depth;
-+ if ( max_depth <= m_depth ) {
-+ throw DeepRecursion{m_depth, mark_, msg_};
-+ }
-+ }
-+
-+ DepthGuard(const DepthGuard & copy_ctor) = delete;
-+ DepthGuard(DepthGuard && move_ctor) = delete;
-+ DepthGuard & operator=(const DepthGuard & copy_assign) = delete;
-+ DepthGuard & operator=(DepthGuard && move_assign) = delete;
-+
-+ ~DepthGuard() {
-+ --m_depth;
-+ }
-+
-+ int current_depth() const {
-+ return m_depth;
-+ }
-+
-+private:
-+ int & m_depth;
-+};
-+
-+} // namespace YAML
-+
-+#endif // DEPTH_GUARD_H_00000000000000000000000000000000000000000000000000000000
-diff --git a/src/depthguard.cpp b/src/depthguard.cpp
-new file mode 100644
-index 00000000..b88cd340
---- /dev/null
-+++ b/src/depthguard.cpp
-@@ -0,0 +1,10 @@
-+#include "yaml-cpp/depthguard.h"
-+
-+namespace YAML {
-+
-+DeepRecursion::DeepRecursion(int depth, const Mark& mark_, const std::string& msg_)
-+ : ParserException(mark_, msg_),
-+ m_depth(depth) {
-+}
-+
-+} // namespace YAML
-diff --git a/src/singledocparser.cpp b/src/singledocparser.cpp
-index 47e9e047..3e5638be 100644
---- a/src/singledocparser.cpp
-+++ b/src/singledocparser.cpp
-@@ -7,6 +7,7 @@
- #include "singledocparser.h"
- #include "tag.h"
- #include "token.h"
-+#include "yaml-cpp/depthguard.h"
- #include "yaml-cpp/emitterstyle.h"
- #include "yaml-cpp/eventhandler.h"
- #include "yaml-cpp/exceptions.h" // IWYU pragma: keep
-@@ -47,6 +48,8 @@ void SingleDocParser::HandleDocument(EventHandler& eventHandler) {
- }
-
- void SingleDocParser::HandleNode(EventHandler& eventHandler) {
-+ DepthGuard<2000> depthguard(depth, m_scanner.mark(), ErrorMsg::BAD_FILE);
-+
- // an empty node *is* a possibility
- if (m_scanner.empty()) {
- eventHandler.OnNull(m_scanner.mark(), NullAnchor);
-diff --git a/src/singledocparser.h b/src/singledocparser.h
-index c8cfca9d..f484eb1f 100644
---- a/src/singledocparser.h
-+++ b/src/singledocparser.h
-@@ -15,6 +15,7 @@
-
- namespace YAML {
- class CollectionStack;
-+template <int> class DepthGuard; // depthguard.h
- class EventHandler;
- class Node;
- class Scanner;
-@@ -55,6 +56,7 @@ class SingleDocParser {
- anchor_t LookupAnchor(const Mark& mark, const std::string& name) const;
-
- private:
-+ int depth = 0;
- Scanner& m_scanner;
- const Directives& m_directives;
- std::unique_ptr<CollectionStack> m_pCollectionStack;
diff --git a/dev-cpp/yaml-cpp/files/yaml-cpp-0.6.3-gtest.patch b/dev-cpp/yaml-cpp/files/yaml-cpp-0.6.3-gtest.patch
deleted file mode 100644
index 51f2a7b563ff..000000000000
--- a/dev-cpp/yaml-cpp/files/yaml-cpp-0.6.3-gtest.patch
+++ /dev/null
@@ -1,44 +0,0 @@
-diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt
-index 0a669d5..bc8bbdd 100644
---- a/test/CMakeLists.txt
-+++ b/test/CMakeLists.txt
-@@ -7,22 +7,7 @@ if(MSVC)
- set(CMAKE_STATIC_LIBRARY_PREFIX "")
- endif()
-
--ExternalProject_Add(
-- googletest_project
-- SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/gtest-1.8.0"
-- INSTALL_DIR "${CMAKE_CURRENT_BINARY_DIR}/prefix"
-- CMAKE_ARGS
-- -DCMAKE_INSTALL_PREFIX:PATH=<INSTALL_DIR>
-- -DBUILD_GMOCK=ON
-- -Dgtest_force_shared_crt=ON
--)
--
--add_library(gmock UNKNOWN IMPORTED)
--set_target_properties(gmock PROPERTIES
-- IMPORTED_LOCATION
-- ${PROJECT_BINARY_DIR}/test/prefix/lib/${CMAKE_STATIC_LIBRARY_PREFIX}gmock${CMAKE_STATIC_LIBRARY_SUFFIX}
--)
--
-+find_package(GTest REQUIRED CONFIG)
- find_package(Threads)
-
- include_directories(SYSTEM "${PROJECT_BINARY_DIR}/test/prefix/include")
-@@ -56,14 +41,12 @@ set_target_properties(run-tests PROPERTIES
- CXX_STANDARD_REQUIRED ON
- )
-
--add_dependencies(run-tests googletest_project)
--
- set_target_properties(run-tests PROPERTIES
- COMPILE_FLAGS "${yaml_c_flags} ${yaml_cxx_flags} ${yaml_test_flags}"
- )
- target_link_libraries(run-tests
- yaml-cpp
-- gmock
-+ GTest::gmock
- ${CMAKE_THREAD_LIBS_INIT})
-
- add_test(yaml-test ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/run-tests)
diff --git a/dev-cpp/yaml-cpp/files/yaml-cpp-0.7.0-cmake-paths.patch b/dev-cpp/yaml-cpp/files/yaml-cpp-0.7.0-cmake-paths.patch
new file mode 100644
index 000000000000..5ad9e46dbcb2
--- /dev/null
+++ b/dev-cpp/yaml-cpp/files/yaml-cpp-0.7.0-cmake-paths.patch
@@ -0,0 +1,101 @@
+From d5d68286cdd983f99f88b6141a3c34d3bf633d98 Mon Sep 17 00:00:00 2001
+From: Felix Schwitzer <flx107809@gmail.com>
+Date: Fri, 1 Apr 2022 05:26:47 +0200
+Subject: [PATCH] Fix CMake export files (#1077)
+
+After configuring the file `yaml-cpp-config.cmake.in`, the result ends up with
+empty variables. (see also the discussion in #774).
+
+Rework this file and the call to `configure_package_config_file` according the
+cmake documentation
+(https://cmake.org/cmake/help/v3.22/module/CMakePackageConfigHelpers.html?highlight=configure_package_config#command:configure_package_config_file)
+to overcome this issue and allow a simple `find_package` after install.
+
+As there was some discussion about the place where to install the
+`yaml-cpp-config.cmake` file, e.g. #1055, factor out the install location into
+an extra variable to make it easier changing this location in the future.
+
+Also untabify CMakeLists.txt in some places to align with the other code parts in this file.
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -127,10 +127,16 @@ set_target_properties(yaml-cpp PROPERTIES
+ PROJECT_LABEL "yaml-cpp ${yaml-cpp-label-postfix}"
+ DEBUG_POSTFIX "${CMAKE_DEBUG_POSTFIX}")
+
++# FIXME(felix2012): A more common place for the cmake export would be
++# `CMAKE_INSTALL_LIBDIR`, as e.g. done in ubuntu or in this project for GTest
++set(CONFIG_EXPORT_DIR "${CMAKE_INSTALL_DATADIR}/cmake/yaml-cpp")
++set(EXPORT_TARGETS yaml-cpp)
+ configure_package_config_file(
+ "${PROJECT_SOURCE_DIR}/yaml-cpp-config.cmake.in"
+ "${PROJECT_BINARY_DIR}/yaml-cpp-config.cmake"
+- INSTALL_DESTINATION "${CMAKE_INSTALL_DATADIR}/cmake/yaml-cpp")
++ INSTALL_DESTINATION "${CONFIG_EXPORT_DIR}"
++ PATH_VARS CMAKE_INSTALL_INCLUDEDIR CONFIG_EXPORT_DIR)
++unset(EXPORT_TARGETS)
+
+ write_basic_package_version_file(
+ "${PROJECT_BINARY_DIR}/yaml-cpp-config-version.cmake"
+@@ -139,30 +145,31 @@ write_basic_package_version_file(
+ configure_file(yaml-cpp.pc.in yaml-cpp.pc @ONLY)
+
+ if (YAML_CPP_INSTALL)
+- install(TARGETS yaml-cpp
++ install(TARGETS yaml-cpp
+ EXPORT yaml-cpp-targets
+ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
+ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
+ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR})
+- install(DIRECTORY ${PROJECT_SOURCE_DIR}/include/
++ install(DIRECTORY ${PROJECT_SOURCE_DIR}/include/
+ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}
+- FILES_MATCHING PATTERN "*.h")
++ FILES_MATCHING PATTERN "*.h")
+ install(EXPORT yaml-cpp-targets
+- DESTINATION "${CMAKE_INSTALL_DATADIR}/cmake/yaml-cpp")
+- install(FILES
+- "${PROJECT_BINARY_DIR}/yaml-cpp-config.cmake"
+- "${PROJECT_BINARY_DIR}/yaml-cpp-config-version.cmake"
+- DESTINATION "${CMAKE_INSTALL_DATADIR}/cmake/yaml-cpp")
++ DESTINATION "${CONFIG_EXPORT_DIR}")
++ install(FILES
++ "${PROJECT_BINARY_DIR}/yaml-cpp-config.cmake"
++ "${PROJECT_BINARY_DIR}/yaml-cpp-config-version.cmake"
++ DESTINATION "${CONFIG_EXPORT_DIR}")
+ install(FILES "${PROJECT_BINARY_DIR}/yaml-cpp.pc"
+ DESTINATION ${CMAKE_INSTALL_DATADIR}/pkgconfig)
+ endif()
++unset(CONFIG_EXPORT_DIR)
+
+ if(YAML_CPP_BUILD_TESTS)
+- add_subdirectory(test)
++ add_subdirectory(test)
+ endif()
+
+ if(YAML_CPP_BUILD_TOOLS)
+- add_subdirectory(util)
++ add_subdirectory(util)
+ endif()
+
+ if (YAML_CPP_CLANG_FORMAT_EXE)
+--- a/yaml-cpp-config.cmake.in
++++ b/yaml-cpp-config.cmake.in
+@@ -3,12 +3,14 @@
+ # YAML_CPP_INCLUDE_DIR - include directory
+ # YAML_CPP_LIBRARIES - libraries to link against
+
+-# Compute paths
+-get_filename_component(YAML_CPP_CMAKE_DIR "${CMAKE_CURRENT_LIST_FILE}" PATH)
+-set(YAML_CPP_INCLUDE_DIR "@CONFIG_INCLUDE_DIRS@")
++@PACKAGE_INIT@
++
++set_and_check(YAML_CPP_INCLUDE_DIR "@PACKAGE_CMAKE_INSTALL_INCLUDEDIR@")
+
+ # Our library dependencies (contains definitions for IMPORTED targets)
+-include("${YAML_CPP_CMAKE_DIR}/yaml-cpp-targets.cmake")
++include(@PACKAGE_CONFIG_EXPORT_DIR@/yaml-cpp-targets.cmake)
+
+ # These are IMPORTED targets created by yaml-cpp-targets.cmake
+ set(YAML_CPP_LIBRARIES "@EXPORT_TARGETS@")
++
++check_required_components(@EXPORT_TARGETS@)
diff --git a/dev-cpp/yaml-cpp/files/yaml-cpp-0.7.0-gtest.patch b/dev-cpp/yaml-cpp/files/yaml-cpp-0.7.0-gtest.patch
index 45eebb43ffe2..bd05fccca373 100644
--- a/dev-cpp/yaml-cpp/files/yaml-cpp-0.7.0-gtest.patch
+++ b/dev-cpp/yaml-cpp/files/yaml-cpp-0.7.0-gtest.patch
@@ -1,8 +1,11 @@
-diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt
-index 5ebc1a6..f02c2bb 100644
+From 30fbefe6102da12e8d4d132aa4af2e24bfda9bfb Mon Sep 17 00:00:00 2001
+From: "Azamat H. Hackimov" <azamat.hackimov@gmail.com>
+Date: Sat, 17 Sep 2022 12:25:24 +0300
+Subject: [PATCH] Use external gtest dependency
+
--- a/test/CMakeLists.txt
+++ b/test/CMakeLists.txt
-@@ -1,13 +1,10 @@
+@@ -1,15 +1,10 @@
find_package(Threads REQUIRED)
+find_package(GTest REQUIRED CONFIG)
@@ -14,10 +17,12 @@ index 5ebc1a6..f02c2bb 100644
- "${CMAKE_CURRENT_SOURCE_DIR}/gtest-1.10.0"
- "${CMAKE_CURRENT_BINARY_DIR}/prefix")
-
- include_directories(SYSTEM "${CMAKE_CURRENT_SOURCE_DIR}/gtest-1.10.0/googletest/include")
-
+-include_directories(SYSTEM "${CMAKE_CURRENT_SOURCE_DIR}/gtest-1.10.0/googletest/include")
+-
set(test-new-api-pattern "new-api/*.cpp")
-@@ -38,7 +35,7 @@ target_link_libraries(yaml-cpp-tests
+ set(test-source-pattern "*.cpp" "integration/*.cpp" "node/*.cpp")
+ if (CMAKE_VERSION VERSION_GREATER 3.11)
+@@ -38,7 +33,7 @@ target_link_libraries(yaml-cpp-tests
PRIVATE
Threads::Threads
yaml-cpp
diff --git a/dev-cpp/yaml-cpp/files/yaml-cpp-0.7.0-install-paths.patch b/dev-cpp/yaml-cpp/files/yaml-cpp-0.7.0-install-paths.patch
new file mode 100644
index 000000000000..622c0d7f148f
--- /dev/null
+++ b/dev-cpp/yaml-cpp/files/yaml-cpp-0.7.0-install-paths.patch
@@ -0,0 +1,25 @@
+From 4f5b5ba19ece906252cfc90b7cd51035e21c7118 Mon Sep 17 00:00:00 2001
+From: "Azamat H. Hackimov" <azamat.hackimov@gmail.com>
+Date: Sat, 17 Sep 2022 12:07:46 +0300
+Subject: [PATCH] Fix pkg-config file install destination
+
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -129,7 +129,7 @@ set_target_properties(yaml-cpp PROPERTIES
+
+ # FIXME(felix2012): A more common place for the cmake export would be
+ # `CMAKE_INSTALL_LIBDIR`, as e.g. done in ubuntu or in this project for GTest
+-set(CONFIG_EXPORT_DIR "${CMAKE_INSTALL_DATADIR}/cmake/yaml-cpp")
++set(CONFIG_EXPORT_DIR "${CMAKE_INSTALL_LIBDIR}/cmake/yaml-cpp")
+ set(EXPORT_TARGETS yaml-cpp)
+ configure_package_config_file(
+ "${PROJECT_SOURCE_DIR}/yaml-cpp-config.cmake.in"
+@@ -160,7 +160,7 @@ if (YAML_CPP_INSTALL)
+ "${PROJECT_BINARY_DIR}/yaml-cpp-config-version.cmake"
+ DESTINATION "${CONFIG_EXPORT_DIR}")
+ install(FILES "${PROJECT_BINARY_DIR}/yaml-cpp.pc"
+- DESTINATION ${CMAKE_INSTALL_DATADIR}/pkgconfig)
++ DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig)
+ endif()
+ unset(CONFIG_EXPORT_DIR)
+
diff --git a/dev-cpp/yaml-cpp/files/yaml-cpp-0.7.0-pkg-config.patch b/dev-cpp/yaml-cpp/files/yaml-cpp-0.7.0-pkg-config.patch
deleted file mode 100644
index 3e7bc7bae937..000000000000
--- a/dev-cpp/yaml-cpp/files/yaml-cpp-0.7.0-pkg-config.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-https://bugs.gentoo.org/807745
-
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -148,13 +148,13 @@ if (YAML_CPP_INSTALL)
- DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}
- FILES_MATCHING PATTERN "*.h")
- install(EXPORT yaml-cpp-targets
-- DESTINATION "${CMAKE_INSTALL_DATADIR}/cmake/yaml-cpp")
-+ DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/yaml-cpp")
- install(FILES
- "${PROJECT_BINARY_DIR}/yaml-cpp-config.cmake"
- "${PROJECT_BINARY_DIR}/yaml-cpp-config-version.cmake"
-- DESTINATION "${CMAKE_INSTALL_DATADIR}/cmake/yaml-cpp")
-+ DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/yaml-cpp")
- install(FILES "${PROJECT_BINARY_DIR}/yaml-cpp.pc"
-- DESTINATION ${CMAKE_INSTALL_DATADIR}/pkgconfig)
-+ DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig)
- endif()
-
- if(YAML_CPP_BUILD_TESTS)
diff --git a/dev-cpp/yaml-cpp/files/yaml-cpp-0.8.0-gcc13.patch b/dev-cpp/yaml-cpp/files/yaml-cpp-0.8.0-gcc13.patch
new file mode 100644
index 000000000000..f024b797eb47
--- /dev/null
+++ b/dev-cpp/yaml-cpp/files/yaml-cpp-0.8.0-gcc13.patch
@@ -0,0 +1,32 @@
+Fix test https://bugs.gentoo.org/917243
+
+From fcbb8193b94921e058be7b563aea053531e5b2d9 Mon Sep 17 00:00:00 2001
+From: Gianfranco Costamagna <costamagnagianfranco@yahoo.it>
+Date: Sat, 19 Aug 2023 21:36:16 +0200
+Subject: [PATCH] Fix testsuite with gcc-13 (#1216)
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+cd /<<PKGBUILDDIR>>/build-static/test && /usr/bin/c++ -DYAML_CPP_STATIC_DEFINE -I/<<PKGBUILDDIR>>/test/integration -I/<<PKGBUILDDIR>>/test -I/<<PKGBUILDDIR>>/src -I/<<PKGBUILDDIR>>/include -isystem /usr/src/googletest/googlemock/include -isystem /usr/src/googletest/googlemock -isystem /usr/src/googletest/googletest/include -isystem /usr/src/googletest/googletest -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -flto=auto -ffat-lto-objects -fstack-protector-strong -Wformat -Werror=format-security -fdebug-prefix-map=/<<PKGBUILDDIR>>=/usr/src/yaml-cpp-0.8.0+dfsg-1~build1 -Wdate-time -D_FORTIFY_SOURCE=2 -std=gnu++14 -Wno-variadic-macros -Wno-sign-compare -DGTEST_HAS_PTHREAD=1 -MD -MT test/CMakeFiles/yaml-cpp-tests.dir/binary_test.cpp.o -MF CMakeFiles/yaml-cpp-tests.dir/binary_test.cpp.o.d -o CMakeFiles/yaml-cpp-tests.dir/binary_test.cpp.o -c /<<PKGBUILDDIR>>/test/binary_test.cpp
+/<<PKGBUILDDIR>>/test/binary_test.cpp: In member function ‘virtual void BinaryTest_DecodingNoCrashOnNegative_Test::TestBody()’:
+/<<PKGBUILDDIR>>/test/binary_test.cpp:11:38: error: narrowing conversion of ‘-58’ from ‘int’ to ‘char’ [-Wnarrowing]
+ 11 | std::string input{-58, -1, -99, 109};
+ | ^
+---
+ test/CMakeLists.txt | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt
+index 351b03f81..c9e7f041b 100644
+--- a/test/CMakeLists.txt
++++ b/test/CMakeLists.txt
+@@ -33,7 +33,7 @@ target_include_directories(yaml-cpp-tests
+ target_compile_options(yaml-cpp-tests
+ PRIVATE
+ $<$<CXX_COMPILER_ID:Clang>:-Wno-c99-extensions -Wno-variadic-macros -Wno-sign-compare>
+- $<$<CXX_COMPILER_ID:GNU>:-Wno-variadic-macros -Wno-sign-compare>)
++ $<$<CXX_COMPILER_ID:GNU>:-Wno-variadic-macros -Wno-sign-compare -Wno-narrowing>)
+ target_link_libraries(yaml-cpp-tests
+ PRIVATE
+ Threads::Threads
diff --git a/dev-cpp/yaml-cpp/files/yaml-cpp-0.8.0-gtest.patch b/dev-cpp/yaml-cpp/files/yaml-cpp-0.8.0-gtest.patch
new file mode 100644
index 000000000000..5386f8ec7c2f
--- /dev/null
+++ b/dev-cpp/yaml-cpp/files/yaml-cpp-0.8.0-gtest.patch
@@ -0,0 +1,30 @@
+diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt
+index c9e7f04..58973ea 100644
+--- a/test/CMakeLists.txt
++++ b/test/CMakeLists.txt
+@@ -1,15 +1,10 @@
+ find_package(Threads REQUIRED)
++find_package(GTest REQUIRED CONFIG)
+
+ set(gtest_force_shared_crt ON CACHE BOOL "" FORCE)
+ set(BUILD_MOCK ON CACHE BOOL "" FORCE)
+ set(CMAKE_POLICY_DEFAULT_CMP0048 NEW)
+
+-add_subdirectory(
+- "${CMAKE_CURRENT_SOURCE_DIR}/gtest-1.11.0"
+- "${CMAKE_CURRENT_BINARY_DIR}/prefix")
+-
+-include_directories(SYSTEM "${CMAKE_CURRENT_SOURCE_DIR}/gtest-1.11.0/googletest/include")
+-
+ set(test-new-api-pattern "new-api/*.cpp")
+ set(test-source-pattern "*.cpp" "integration/*.cpp" "node/*.cpp")
+ if (CMAKE_VERSION VERSION_GREATER 3.11)
+@@ -38,7 +33,7 @@ target_link_libraries(yaml-cpp-tests
+ PRIVATE
+ Threads::Threads
+ yaml-cpp
+- gmock)
++ GTest::gmock)
+
+ set_property(TARGET yaml-cpp-tests PROPERTY CXX_STANDARD_REQUIRED ON)
+ if (NOT DEFINED CMAKE_CXX_STANDARD)
diff --git a/dev-cpp/yaml-cpp/yaml-cpp-0.6.3-r3.ebuild b/dev-cpp/yaml-cpp/yaml-cpp-0.6.3-r3.ebuild
deleted file mode 100644
index 60efcffd321e..000000000000
--- a/dev-cpp/yaml-cpp/yaml-cpp-0.6.3-r3.ebuild
+++ /dev/null
@@ -1,49 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-CMAKE_ECLASS="cmake"
-inherit cmake-multilib
-
-DESCRIPTION="YAML parser and emitter in C++"
-HOMEPAGE="https://github.com/jbeder/yaml-cpp"
-SRC_URI="https://github.com/jbeder/${PN}/archive/${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0/0.6"
-KEYWORDS="amd64 ~arm arm64 ~hppa ppc ppc64 sparc x86 ~amd64-linux ~x86-linux"
-IUSE="test"
-
-# test breaks build
-#RESTRICT="!test? ( test )"
-RESTRICT+="test"
-
-DEPEND="test? ( dev-cpp/gtest )"
-
-S="${WORKDIR}/${PN}-${P}"
-
-PATCHES=(
- "${FILESDIR}/${P}-abi-breakage.patch"
- "${FILESDIR}/${P}-CVE-2017-11692.patch"
- "${FILESDIR}/${P}-fix-overflows.patch"
-)
-
-src_prepare() {
- sed -i \
- -e 's:INCLUDE_INSTALL_ROOT_DIR:INCLUDE_INSTALL_DIR:g' \
- yaml-cpp.pc.cmake || die
-
- cmake_src_prepare
-}
-
-src_configure() {
- local mycmakeargs=(
- -DBUILD_SHARED_LIBS=ON
- -DYAML_BUILD_SHARED_LIBS=ON
- -DYAML_CPP_BUILD_TOOLS=OFF # Don't have install rule
- -DYAML_CPP_BUILD_TESTS=$(usex test)
- )
-
- cmake-multilib_src_configure
-}
diff --git a/dev-cpp/yaml-cpp/yaml-cpp-0.6.3-r4.ebuild b/dev-cpp/yaml-cpp/yaml-cpp-0.6.3-r4.ebuild
deleted file mode 100644
index 4992372c5365..000000000000
--- a/dev-cpp/yaml-cpp/yaml-cpp-0.6.3-r4.ebuild
+++ /dev/null
@@ -1,46 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-CMAKE_ECLASS="cmake"
-inherit cmake-multilib
-
-DESCRIPTION="YAML parser and emitter in C++"
-HOMEPAGE="https://github.com/jbeder/yaml-cpp"
-SRC_URI="https://github.com/jbeder/yaml-cpp/archive/${P}.tar.gz"
-S="${WORKDIR}/yaml-cpp-${P}"
-
-LICENSE="MIT"
-SLOT="0/0.6"
-KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux"
-IUSE="test"
-RESTRICT="!test? ( test )"
-
-DEPEND="test? ( dev-cpp/gtest[${MULTILIB_USEDEP}] )"
-
-PATCHES=(
- "${FILESDIR}/${P}-abi-breakage.patch"
- "${FILESDIR}/${P}-CVE-2017-11692.patch"
- "${FILESDIR}/${P}-fix-overflows.patch"
- "${FILESDIR}/${P}-gtest.patch"
-)
-
-src_prepare() {
- sed -i \
- -e 's:INCLUDE_INSTALL_ROOT_DIR:INCLUDE_INSTALL_DIR:g' \
- yaml-cpp.pc.cmake || die
- rm -r test/gtest-* || die
-
- cmake_src_prepare
-}
-
-src_configure() {
- local mycmakeargs=(
- -DYAML_BUILD_SHARED_LIBS=ON
- -DYAML_CPP_BUILD_TOOLS=OFF # Don't have install rule
- -DYAML_CPP_BUILD_TESTS=$(usex test)
- )
-
- cmake-multilib_src_configure
-}
diff --git a/dev-cpp/yaml-cpp/yaml-cpp-0.7.0-r1.ebuild b/dev-cpp/yaml-cpp/yaml-cpp-0.7.0-r2.ebuild
index 77f6bb3f5c1a..91e20995e963 100644
--- a/dev-cpp/yaml-cpp/yaml-cpp-0.7.0-r1.ebuild
+++ b/dev-cpp/yaml-cpp/yaml-cpp-0.7.0-r2.ebuild
@@ -1,9 +1,8 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
-CMAKE_ECLASS="cmake"
inherit cmake-multilib
DESCRIPTION="YAML parser and emitter in C++"
@@ -13,7 +12,7 @@ S="${WORKDIR}/yaml-cpp-${P}"
LICENSE="MIT"
SLOT="0/0.7"
-KEYWORDS="amd64 ~arm arm64 ~hppa ppc ppc64 ~riscv sparc x86 ~amd64-linux ~x86-linux"
+KEYWORDS="amd64 ~arm arm64 ~hppa ~loong ppc ppc64 ~riscv sparc x86 ~amd64-linux ~x86-linux"
IUSE="test"
RESTRICT="!test? ( test )"
@@ -21,15 +20,10 @@ DEPEND="test? ( dev-cpp/gtest[${MULTILIB_USEDEP}] )"
PATCHES=(
"${FILESDIR}/${P}-gtest.patch"
- "${FILESDIR}/${P}-pkg-config.patch"
+ "${FILESDIR}/${P}-cmake-paths.patch"
+ "${FILESDIR}/${P}-install-paths.patch"
)
-src_prepare() {
- rm -r test/gtest-* || die
-
- cmake_src_prepare
-}
-
src_configure() {
local mycmakeargs=(
-DYAML_BUILD_SHARED_LIBS=ON
diff --git a/dev-cpp/yaml-cpp/yaml-cpp-0.8.0.ebuild b/dev-cpp/yaml-cpp/yaml-cpp-0.8.0.ebuild
new file mode 100644
index 000000000000..dc3a8a58c33c
--- /dev/null
+++ b/dev-cpp/yaml-cpp/yaml-cpp-0.8.0.ebuild
@@ -0,0 +1,35 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake-multilib
+
+DESCRIPTION="YAML parser and emitter in C++"
+HOMEPAGE="https://github.com/jbeder/yaml-cpp"
+SRC_URI="https://github.com/jbeder/yaml-cpp/archive/refs/tags/${PV}.tar.gz -> ${P}.gh.tar.gz"
+
+LICENSE="MIT"
+SLOT="0/0.8"
+KEYWORDS="amd64 ~arm arm64 ~hppa ~loong ppc ppc64 ~riscv sparc x86 ~amd64-linux ~x86-linux"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+DEPEND="
+ test? ( dev-cpp/gtest[${MULTILIB_USEDEP}] )
+"
+
+PATCHES=(
+ "${FILESDIR}/yaml-cpp-0.8.0-gtest.patch"
+ "${FILESDIR}/yaml-cpp-0.8.0-gcc13.patch"
+)
+
+src_configure() {
+ local mycmakeargs=(
+ -DYAML_BUILD_SHARED_LIBS=ON
+ -DYAML_CPP_BUILD_TOOLS=OFF # Don't have install rule
+ -DYAML_CPP_BUILD_TESTS=$(usex test)
+ )
+
+ cmake-multilib_src_configure
+}