summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'dev-libs')
-rw-r--r--dev-libs/9libs/9libs-1.0-r4.ebuild54
-rw-r--r--dev-libs/9libs/9libs-1.0-r5.ebuild57
-rw-r--r--dev-libs/9libs/files/9libs-1.0-clang16.patch8
-rw-r--r--dev-libs/FBGEMM/FBGEMM-2023.11.02.ebuild79
-rw-r--r--dev-libs/FBGEMM/FBGEMM-2023.12.01.ebuild79
-rw-r--r--dev-libs/FBGEMM/Manifest2
-rw-r--r--dev-libs/FBGEMM/files/FBGEMM-2023.11.02-gentoo.patch69
-rw-r--r--dev-libs/FBGEMM/metadata.xml11
-rw-r--r--dev-libs/FP16/FP16-2021.03.20-r4.ebuild58
-rw-r--r--dev-libs/FP16/Manifest1
-rw-r--r--dev-libs/FP16/files/FP16-2021.03.20-gentoo.patch44
-rw-r--r--dev-libs/FP16/metadata.xml11
-rw-r--r--dev-libs/FXdiv/FXdiv-2020.12.09-r1.ebuild41
-rw-r--r--dev-libs/FXdiv/Manifest1
-rw-r--r--dev-libs/FXdiv/files/FXdiv-2020.12.09-gentoo.patch25
-rw-r--r--dev-libs/FXdiv/metadata.xml11
-rw-r--r--dev-libs/Ice/Ice-3.6.5-r2.ebuild336
-rw-r--r--dev-libs/Ice/Ice-3.7.10-r1.ebuild258
-rw-r--r--dev-libs/Ice/Ice-3.7.10-r2.ebuild258
-rw-r--r--dev-libs/Ice/Ice-3.7.10.ebuild258
-rw-r--r--dev-libs/Ice/Ice-3.7.8-r2.ebuild258
-rw-r--r--dev-libs/Ice/Manifest5
-rw-r--r--dev-libs/Ice/files/Ice-3.6.3-no-arch-opts.patch50
-rw-r--r--dev-libs/Ice/files/Ice-3.6.5-csharp.patch50
-rw-r--r--dev-libs/Ice/files/Ice-3.6.5-db6.patch48
-rw-r--r--dev-libs/Ice/files/Ice-3.7.8-fix-musl-build.patch13
-rw-r--r--dev-libs/Ice/files/Ice-3.7.8-py3k11.patch45
-rw-r--r--dev-libs/OpenNI/OpenNI-1.5.7.10-r2.ebuild111
-rw-r--r--dev-libs/OpenNI/OpenNI-1.5.7.10-r3.ebuild114
-rw-r--r--dev-libs/OpenNI/OpenNI-9999.ebuild11
-rw-r--r--dev-libs/OpenNI2/OpenNI2-2.2_beta2-r1.ebuild20
-rw-r--r--dev-libs/OpenNI2/OpenNI2-9999.ebuild18
-rw-r--r--dev-libs/aml/Manifest3
-rw-r--r--dev-libs/aml/aml-0.2.0.ebuild28
-rw-r--r--dev-libs/aml/aml-0.2.1.ebuild40
-rw-r--r--dev-libs/aml/aml-0.3.0.ebuild44
-rw-r--r--dev-libs/aml/aml-9999.ebuild14
-rw-r--r--dev-libs/aml/files/aml-0.3.0-queue.patch21
-rw-r--r--dev-libs/aml/metadata.xml3
-rw-r--r--dev-libs/angelscript/Manifest4
-rw-r--r--dev-libs/angelscript/angelscript-2.35.0.ebuild48
-rw-r--r--dev-libs/angelscript/angelscript-2.35.1.ebuild48
-rw-r--r--dev-libs/angelscript/angelscript-2.36.0.ebuild48
-rw-r--r--dev-libs/angelscript/angelscript-2.36.1.ebuild48
-rw-r--r--dev-libs/antlr-c/antlr-c-3.5.2-r1.ebuild65
-rw-r--r--dev-libs/antlr-c/antlr-c-3.5.2-r2.ebuild60
-rw-r--r--dev-libs/antlr-c/antlr-c-3.5.2-r3.ebuild62
-rw-r--r--dev-libs/antlr-c/files/3.5-autoconf.patch11
-rw-r--r--dev-libs/apache-arrow/Manifest8
-rw-r--r--dev-libs/apache-arrow/apache-arrow-14.0.2-r1.ebuild124
-rw-r--r--dev-libs/apache-arrow/apache-arrow-15.0.0.ebuild129
-rw-r--r--dev-libs/apache-arrow/apache-arrow-15.0.1.ebuild134
-rw-r--r--dev-libs/apache-arrow/apache-arrow-15.0.2.ebuild134
-rw-r--r--dev-libs/apache-arrow/files/apache-arrow-11.0.0-shared-lz4.patch14
-rw-r--r--dev-libs/apache-arrow/files/apache-arrow-14.0.1-gcc14.patch10
-rw-r--r--dev-libs/apache-arrow/files/apache-arrow-15.0.1-32bit.patch57
-rw-r--r--dev-libs/apache-arrow/metadata.xml24
-rw-r--r--dev-libs/appstream-glib/Manifest2
-rw-r--r--dev-libs/appstream-glib/appstream-glib-0.7.18-r1.ebuild65
-rw-r--r--dev-libs/appstream-glib/appstream-glib-0.8.2.ebuild63
-rw-r--r--dev-libs/appstream-glib/metadata.xml19
-rw-r--r--dev-libs/appstream/Manifest4
-rw-r--r--dev-libs/appstream/appstream-0.14.6.ebuild77
-rw-r--r--dev-libs/appstream/appstream-0.15.6.ebuild77
-rw-r--r--dev-libs/appstream/appstream-0.16.4.ebuild79
-rw-r--r--dev-libs/appstream/appstream-1.0.2.ebuild78
-rw-r--r--dev-libs/appstream/files/appstream-0.14.3-disable-Werror-flags.patch12
-rw-r--r--dev-libs/appstream/files/appstream-0.15.6-disable-Werror-flags.patch46
-rw-r--r--dev-libs/appstream/files/appstream-0.16.4-disable-Werror-flags.patch50
-rw-r--r--dev-libs/appstream/files/appstream-1.0.0-disable-Werror-flags.patch47
-rw-r--r--dev-libs/apr-util/Manifest2
-rw-r--r--dev-libs/apr-util/apr-util-1.6.1-r7.ebuild147
-rw-r--r--dev-libs/apr-util/apr-util-1.6.3.ebuild147
-rw-r--r--dev-libs/apr-util/files/apr-util-1.6.1-fix-gdbm-error-handling.patch79
-rw-r--r--dev-libs/apr-util/files/apr-util-1.6.1-libtool.patch20
-rw-r--r--dev-libs/apr-util/files/apr-util-1.6.1-mariadb-support.patch116
-rw-r--r--dev-libs/apr-util/files/apr-util-1.6.3-configure-int.patch28
-rw-r--r--dev-libs/apr-util/files/apr-util-1.6.3-fix-pkgconfig-libs.patch29
-rw-r--r--dev-libs/apr-util/metadata.xml9
-rw-r--r--dev-libs/apr/Manifest4
-rw-r--r--dev-libs/apr/apr-1.6.3-r7.ebuild164
-rw-r--r--dev-libs/apr/apr-1.6.5-r4.ebuild163
-rw-r--r--dev-libs/apr/apr-1.7.0-r4.ebuild161
-rw-r--r--dev-libs/apr/apr-1.7.4-r2.ebuild162
-rw-r--r--dev-libs/apr/files/apr-1.5.0-cross-types.patch63
-rw-r--r--dev-libs/apr/files/apr-1.5.0-libtool.patch17
-rw-r--r--dev-libs/apr/files/apr-1.5.0-mint.patch22
-rw-r--r--dev-libs/apr/files/apr-1.5.0-sysroot.patch37
-rw-r--r--dev-libs/apr/files/apr-1.6.3-fix-overflow-check-in-overflow_strfsize.patch21
-rw-r--r--dev-libs/apr/files/apr-1.7.0-autoconf-2.70.patch64
-rw-r--r--dev-libs/apr/files/apr-1.7.2-autoconf-2.72.patch23
-rw-r--r--dev-libs/apr/files/apr-1.7.2-fix-pkgconfig-libs.patch35
-rw-r--r--dev-libs/apr/files/apr-1.7.2-libtool.patch16
-rw-r--r--dev-libs/apr/files/apr-1.7.2-respect-flags.patch22
-rw-r--r--dev-libs/apr/files/apr-1.7.2-sysroot.patch37
-rw-r--r--dev-libs/apr/metadata.xml11
-rw-r--r--dev-libs/argtable/argtable-2.13-r1.ebuild48
-rw-r--r--dev-libs/argtable/argtable-2.13-r3.ebuild48
-rw-r--r--dev-libs/argtable/argtable-2.13-r4.ebuild49
-rw-r--r--dev-libs/argtable/files/argtable-2.13-Fix-implicit-function-declaration.patch16
-rw-r--r--dev-libs/argtable/files/argtable-2.13-Fix-undeclared-library-function.patch28
-rw-r--r--dev-libs/asmjit/Manifest2
-rw-r--r--dev-libs/asmjit/asmjit-2021.11.13.ebuild32
-rw-r--r--dev-libs/asmjit/asmjit-2022.07.02.ebuild28
-rw-r--r--dev-libs/asmjit/files/asmjit-2021.11.13-gentoo.patch45
-rw-r--r--dev-libs/asmjit/metadata.xml11
-rw-r--r--dev-libs/atcore/atcore-1.0.0.ebuild14
-rw-r--r--dev-libs/atf/atf-0.21-r2.ebuild4
-rw-r--r--dev-libs/atk/Manifest2
-rw-r--r--dev-libs/atk/atk-2.36.0.ebuild35
-rw-r--r--dev-libs/atk/atk-2.38.0.ebuild35
-rw-r--r--dev-libs/atk/atk-2.46.0.ebuild17
-rw-r--r--dev-libs/atk/metadata.xml11
-rw-r--r--dev-libs/avro-c/avro-c-1.9.1-r1.ebuild23
-rw-r--r--dev-libs/avro-c/avro-c-1.9.1-r2.ebuild23
-rw-r--r--dev-libs/aws-c-cal/metadata.xml3
-rw-r--r--dev-libs/aws-c-common/aws-c-common-0.4.62.ebuild6
-rw-r--r--dev-libs/aws-c-common/metadata.xml3
-rw-r--r--dev-libs/aws-c-event-stream/aws-c-event-stream-0.2.5-r1.ebuild6
-rw-r--r--dev-libs/aws-c-event-stream/metadata.xml3
-rw-r--r--dev-libs/aws-c-io/aws-c-io-0.7.0-r1.ebuild6
-rw-r--r--dev-libs/aws-c-io/metadata.xml3
-rw-r--r--dev-libs/aws-checksums/aws-checksums-0.1.10.ebuild6
-rw-r--r--dev-libs/aws-checksums/metadata.xml3
-rw-r--r--dev-libs/aws-sdk-cpp/Manifest2
-rw-r--r--dev-libs/aws-sdk-cpp/aws-sdk-cpp-1.8.105.ebuild195
-rw-r--r--dev-libs/aws-sdk-cpp/aws-sdk-cpp-1.8.160.ebuild206
-rw-r--r--dev-libs/aws-sdk-cpp/files/aws-sdk-cpp-1.8.105-remove_Werror_from_FLAGS.patch30
-rw-r--r--dev-libs/aws-sdk-cpp/files/aws-sdk-cpp-1.8.160-disable_http_testing.patch17
-rw-r--r--dev-libs/aws-sdk-cpp/files/aws-sdk-cpp-upgrade_CI_ConstructReleaseDoc_py-3.9.patch10
-rw-r--r--dev-libs/aws-sdk-cpp/files/aws-sdk-cpp-upgrade_CI_ExtractBuildArgs_py-3.9.patch22
-rw-r--r--dev-libs/aws-sdk-cpp/files/aws-sdk-cpp-upgrade_CI_handle_release_notification_py-3.9.patch9
-rw-r--r--dev-libs/aws-sdk-cpp/files/aws-sdk-cpp-upgrade_CI_move_release_doc_to_models_py-3.9.patch9
-rw-r--r--dev-libs/aws-sdk-cpp/files/aws-sdk-cpp-upgrade_android-build_build_and_test_android_py-3.9.patch28
-rw-r--r--dev-libs/aws-sdk-cpp/files/aws-sdk-cpp-upgrade_binary-release-pipeline_lambda_publish_py-3.9.patch14
-rw-r--r--dev-libs/aws-sdk-cpp/files/aws-sdk-cpp-upgrade_doc_crosslinks_generate_cross_link_data_py-3.9.patch19
-rw-r--r--dev-libs/aws-sdk-cpp/files/aws-sdk-cpp-upgrade_scripts_build_3rdparty_py-3.9.patch70
-rw-r--r--dev-libs/aws-sdk-cpp/files/aws-sdk-cpp-upgrade_scripts_build_example_py-3.9.patch18
-rw-r--r--dev-libs/aws-sdk-cpp/files/aws-sdk-cpp-upgrade_scripts_dummy_web_server_py-3.9.patch20
-rw-r--r--dev-libs/aws-sdk-cpp/files/aws-sdk-cpp-upgrade_scripts_endpoints_checker_py-3.9.patch29
-rw-r--r--dev-libs/aws-sdk-cpp/files/aws-sdk-cpp-upgrade_scripts_gather_3rdparty_py-3.9.patch11
-rw-r--r--dev-libs/aws-sdk-cpp/files/aws-sdk-cpp-upgrade_scripts_generate_sdks_py-3.9.patch25
-rw-r--r--dev-libs/aws-sdk-cpp/files/aws-sdk-cpp-upgrade_scripts_renew_license_py-3.9.patch11
-rw-r--r--dev-libs/aws-sdk-cpp/files/aws-sdk-cpp-upgrade_scripts_run_integration_tests_py-3.9.patch17
-rw-r--r--dev-libs/aws-sdk-cpp/metadata.xml479
-rw-r--r--dev-libs/ayatana-ido/Manifest2
-rw-r--r--dev-libs/ayatana-ido/ayatana-ido-0.9.2.ebuild45
-rw-r--r--dev-libs/ayatana-ido/ayatana-ido-0.9.3.ebuild46
-rw-r--r--dev-libs/ayatana-ido/metadata.xml10
-rw-r--r--dev-libs/bareos-fastlzlib/Manifest1
-rw-r--r--dev-libs/bareos-fastlzlib/bareos-fastlzlib-0_pre20150524.ebuild24
-rw-r--r--dev-libs/bareos-fastlzlib/metadata.xml11
-rw-r--r--dev-libs/bcm2835/Manifest2
-rw-r--r--dev-libs/bcm2835/bcm2835-1.57.ebuild25
-rw-r--r--dev-libs/bcm2835/bcm2835-1.68-r1.ebuild30
-rw-r--r--dev-libs/bcm2835/bcm2835-1.68.ebuild31
-rw-r--r--dev-libs/bcm2835/bcm2835-1.71.ebuild30
-rw-r--r--dev-libs/bemenu/Manifest7
-rw-r--r--dev-libs/bemenu/bemenu-0.5.0.ebuild50
-rw-r--r--dev-libs/bemenu/bemenu-0.6.1.ebuild50
-rw-r--r--dev-libs/bemenu/bemenu-0.6.10-r1.ebuild59
-rw-r--r--dev-libs/bemenu/bemenu-0.6.14.ebuild62
-rw-r--r--dev-libs/bemenu/bemenu-0.6.15.ebuild62
-rw-r--r--dev-libs/bemenu/bemenu-0.6.16.ebuild62
-rw-r--r--dev-libs/bemenu/bemenu-0.6.3-r2.ebuild55
-rw-r--r--dev-libs/bemenu/bemenu-9999.ebuild33
-rw-r--r--dev-libs/bemenu/metadata.xml3
-rw-r--r--dev-libs/bglibs/bglibs-2.04-r1.ebuild10
-rw-r--r--dev-libs/bglibs/bglibs-2.04-r2.ebuild12
-rw-r--r--dev-libs/bitset/metadata.xml5
-rw-r--r--dev-libs/bitshuffle/bitshuffle-0.3.5.ebuild2
-rw-r--r--dev-libs/blake3/Manifest2
-rw-r--r--dev-libs/blake3/blake3-1.5.0.ebuild18
-rw-r--r--dev-libs/blake3/blake3-1.5.1.ebuild15
-rw-r--r--dev-libs/blake3/metadata.xml11
-rw-r--r--dev-libs/boehm-gc/Manifest4
-rw-r--r--dev-libs/boehm-gc/boehm-gc-8.0.4.ebuild54
-rw-r--r--dev-libs/boehm-gc/boehm-gc-8.0.6.ebuild53
-rw-r--r--dev-libs/boehm-gc/boehm-gc-8.2.4.ebuild56
-rw-r--r--dev-libs/boehm-gc/boehm-gc-8.2.6.ebuild56
-rw-r--r--dev-libs/boehm-gc/metadata.xml5
-rw-r--r--dev-libs/boost-mpl-cartesian_product/Manifest1
-rw-r--r--dev-libs/boost-mpl-cartesian_product/boost-mpl-cartesian_product-20161205.ebuild43
-rw-r--r--dev-libs/boost-mpl-cartesian_product/metadata.xml15
-rw-r--r--dev-libs/boost/Manifest4
-rw-r--r--dev-libs/boost/boost-1.77.0-r4.ebuild341
-rw-r--r--dev-libs/boost/boost-1.78.0-r2.ebuild336
-rw-r--r--dev-libs/boost/boost-1.84.0-r3.ebuild349
-rw-r--r--dev-libs/boost/files/boost-1.71.0-context-x32.patch38
-rw-r--r--dev-libs/boost/files/boost-1.71.0-disable_icu_rpath.patch29
-rw-r--r--dev-libs/boost/files/boost-1.73-boost-mpi-python-PEP-328.patch17
-rw-r--r--dev-libs/boost/files/boost-1.74-CVE-2012-2677.patch125
-rw-r--r--dev-libs/boost/files/boost-1.77.0-fix-process-include.patch19
-rw-r--r--dev-libs/boost/files/boost-1.77.0-python-3.10.patch44
-rw-r--r--dev-libs/boost/files/boost-1.79.0-build-auto_index-tool.patch (renamed from dev-libs/boost/files/boost-1.71.0-build-auto_index-tool.patch)0
-rw-r--r--dev-libs/boost/files/boost-1.79.0-context-x32.patch45
-rw-r--r--dev-libs/boost/files/boost-1.81.0-disable_icu_rpath.patch19
-rw-r--r--dev-libs/boost/files/boost-1.83.0-math-gcc14.patch19
-rw-r--r--dev-libs/boost/files/boost-1.84.0-signals2-patch1.patch124
-rw-r--r--dev-libs/boost/files/boost-1.84.0-signals2-patch2.patch19
-rw-r--r--dev-libs/boost/metadata.xml136
-rw-r--r--dev-libs/botan/Manifest14
-rw-r--r--dev-libs/botan/botan-2.18.2-r1.ebuild164
-rw-r--r--dev-libs/botan/botan-2.19.1.ebuild165
-rw-r--r--dev-libs/botan/botan-2.19.3-r2.ebuild203
-rw-r--r--dev-libs/botan/botan-2.19.4.ebuild201
-rw-r--r--dev-libs/botan/botan-3.1.1.ebuild218
-rw-r--r--dev-libs/botan/botan-3.2.0-r1.ebuild229
-rw-r--r--dev-libs/botan/botan-3.2.0-r2.ebuild229
-rw-r--r--dev-libs/botan/botan-3.3.0.ebuild224
-rw-r--r--dev-libs/botan/files/botan-3.2.0-ninja.patch20
-rw-r--r--dev-libs/botan/metadata.xml3
-rw-r--r--dev-libs/boxfort/Manifest2
-rw-r--r--dev-libs/boxfort/boxfort-0.0.1_pre20200902-r1.ebuild44
-rw-r--r--dev-libs/boxfort/boxfort-0.1.1.ebuild6
-rw-r--r--dev-libs/boxfort/boxfort-0.1.4.ebuild41
-rw-r--r--dev-libs/busybee/Manifest1
-rw-r--r--dev-libs/busybee/busybee-0.7.0.ebuild25
-rw-r--r--dev-libs/busybee/metadata.xml8
-rw-r--r--dev-libs/c-blosc/Manifest2
-rw-r--r--dev-libs/c-blosc/c-blosc-1.21.1.ebuild47
-rw-r--r--dev-libs/c-blosc/c-blosc-1.21.5.ebuild57
-rw-r--r--dev-libs/c-blosc/files/c-blosc-1.21.4-no-unaligned.patch33
-rw-r--r--dev-libs/c-blosc2/Manifest5
-rw-r--r--dev-libs/c-blosc2/c-blosc2-2.10.5.ebuild67
-rw-r--r--dev-libs/c-blosc2/c-blosc2-2.13.2.ebuild63
-rw-r--r--dev-libs/c-blosc2/c-blosc2-2.14.0.ebuild63
-rw-r--r--dev-libs/c-blosc2/c-blosc2-2.14.1.ebuild63
-rw-r--r--dev-libs/c-blosc2/c-blosc2-2.14.4.ebuild63
-rw-r--r--dev-libs/c-blosc2/files/c-blosc2-2.9.3-no-unaligned.patch32
-rw-r--r--dev-libs/c-blosc2/metadata.xml11
-rw-r--r--dev-libs/cJSON/Manifest2
-rw-r--r--dev-libs/cJSON/cJSON-1.7.15.ebuild30
-rw-r--r--dev-libs/cJSON/cJSON-1.7.17.ebuild30
-rw-r--r--dev-libs/capnproto/Manifest4
-rw-r--r--dev-libs/capnproto/capnproto-0.10.2.ebuild49
-rw-r--r--dev-libs/capnproto/capnproto-0.10.4-r1.ebuild46
-rw-r--r--dev-libs/capnproto/capnproto-0.7.0.ebuild39
-rw-r--r--dev-libs/capnproto/capnproto-0.8.0.ebuild45
-rw-r--r--dev-libs/capnproto/capnproto-0.9.1.ebuild10
-rw-r--r--dev-libs/capnproto/files/capnproto-0.10.2-gcc-13.patch21
-rw-r--r--dev-libs/capstone/Manifest1
-rw-r--r--dev-libs/capstone/capstone-4.0.2-r2.ebuild10
-rw-r--r--dev-libs/capstone/capstone-5.0.1.ebuild92
-rw-r--r--dev-libs/capstone/capstone-9999.ebuild99
-rw-r--r--dev-libs/capstone/files/capstone-9999-werror.patch13
-rw-r--r--dev-libs/capstone/metadata.xml11
-rw-r--r--dev-libs/castxml/Manifest5
-rw-r--r--dev-libs/castxml/castxml-0.5.1-r1.ebuild48
-rw-r--r--dev-libs/castxml/castxml-0.6.1.ebuild48
-rw-r--r--dev-libs/castxml/castxml-0.6.2.ebuild64
-rw-r--r--dev-libs/castxml/castxml-0.6.4.ebuild64
-rw-r--r--dev-libs/castxml/castxml-0.6.5.ebuild62
-rw-r--r--dev-libs/castxml/files/castxml-fix-tests.patch14
-rw-r--r--dev-libs/castxml/metadata.xml20
-rw-r--r--dev-libs/cdk/Manifest7
-rw-r--r--dev-libs/cdk/cdk-5.0.20160131-r1.ebuild46
-rw-r--r--dev-libs/cdk/cdk-5.0.20210324-r2.ebuild54
-rw-r--r--dev-libs/cdk/cdk-5.0.20211216.ebuild52
-rw-r--r--dev-libs/cdk/cdk-5.0.20230201-r1.ebuild63
-rw-r--r--dev-libs/cdk/cdk-5.0.20230201.ebuild59
-rw-r--r--dev-libs/cdk/cdk-5.0.20240331.ebuild63
-rw-r--r--dev-libs/cdk/files/cdk-5.0.20120323-parallel-make.patch12
-rw-r--r--dev-libs/cdk/metadata.xml1
-rw-r--r--dev-libs/cereal/Manifest3
-rw-r--r--dev-libs/cereal/cereal-1.3.0-r1.ebuild37
-rw-r--r--dev-libs/cereal/cereal-1.3.0-r2.ebuild44
-rw-r--r--dev-libs/cereal/cereal-1.3.2-r2.ebuild51
-rw-r--r--dev-libs/cglm/Manifest3
-rw-r--r--dev-libs/cglm/cglm-0.9.2.ebuild40
-rw-r--r--dev-libs/cglm/cglm-0.9.3.ebuild40
-rw-r--r--dev-libs/cglm/cglm-0.9.4.ebuild40
-rw-r--r--dev-libs/cglm/metadata.xml11
-rw-r--r--dev-libs/cgreen/cgreen-1.3.0.ebuild4
-rw-r--r--dev-libs/check/check-0.15.2-r1.ebuild7
-rw-r--r--dev-libs/chmlib/chmlib-0.40-r1.ebuild39
-rw-r--r--dev-libs/chmlib/chmlib-0.40-r2.ebuild40
-rw-r--r--dev-libs/chmlib/files/chmlib-0.40-clang16.patch24
-rw-r--r--dev-libs/cjose/Manifest1
-rw-r--r--dev-libs/cjose/cjose-0.6.2.2.ebuild36
-rw-r--r--dev-libs/cjose/metadata.xml14
-rw-r--r--dev-libs/cl/cl-1.2.4-r1.ebuild34
-rw-r--r--dev-libs/cl/cl-1.2.4-r2.ebuild32
-rw-r--r--dev-libs/clhpp/Manifest1
-rw-r--r--dev-libs/clhpp/clhpp-2.0.15.ebuild28
-rw-r--r--dev-libs/clhpp/metadata.xml12
-rw-r--r--dev-libs/clipper/Manifest1
-rw-r--r--dev-libs/clipper/clipper-6.4.2.ebuild33
-rw-r--r--dev-libs/clipper/metadata.xml17
-rw-r--r--dev-libs/cloog/Manifest1
-rw-r--r--dev-libs/cloog/cloog-0.20.0.ebuild57
-rw-r--r--dev-libs/cloog/cloog-9999.ebuild57
-rw-r--r--dev-libs/cloog/files/cloog-0.20.0-notex.patch37
-rw-r--r--dev-libs/cloog/metadata.xml5
-rw-r--r--dev-libs/collada-dom/collada-dom-2.5.0-r1.ebuild35
-rw-r--r--dev-libs/collada-dom/collada-dom-2.5.0.ebuild36
-rw-r--r--dev-libs/collada-dom/collada-dom-9999.ebuild36
-rw-r--r--dev-libs/concurrencykit/Manifest1
-rw-r--r--dev-libs/concurrencykit/concurrencykit-0.7.1-r1.ebuild35
-rw-r--r--dev-libs/concurrencykit/concurrencykit-0.7.1.ebuild32
-rw-r--r--dev-libs/concurrencykit/concurrencykit-0.7.2.ebuild35
-rw-r--r--dev-libs/confuse/confuse-3.3-r1.ebuild56
-rw-r--r--dev-libs/confuse/confuse-3.3-r2.ebuild62
-rw-r--r--dev-libs/confuse/confuse-3.3.ebuild12
-rw-r--r--dev-libs/confuse/files/confuse-3.3-fix-CVE-2022-40320.patch39
-rw-r--r--dev-libs/confuse/metadata.xml7
-rw-r--r--dev-libs/console_bridge/Manifest6
-rw-r--r--dev-libs/console_bridge/console_bridge-1.0.1-r1.ebuild65
-rw-r--r--dev-libs/console_bridge/console_bridge-1.0.2.ebuild65
-rw-r--r--dev-libs/console_bridge/console_bridge-9999.ebuild4
-rw-r--r--dev-libs/cowsql/Manifest2
-rw-r--r--dev-libs/cowsql/cowsql-1.15.4.ebuild49
-rw-r--r--dev-libs/cowsql/cowsql-1.15.6.ebuild53
-rw-r--r--dev-libs/cowsql/files/dqlite-1.12.0-disable-werror.patch20
-rw-r--r--dev-libs/cowsql/metadata.xml25
-rw-r--r--dev-libs/cppcodec/cppcodec-0.2.ebuild4
-rw-r--r--dev-libs/cpuinfo/Manifest3
-rw-r--r--dev-libs/cpuinfo/cpuinfo-2022.03.26-r1.ebuild42
-rw-r--r--dev-libs/cpuinfo/cpuinfo-2022.08.19.ebuild42
-rw-r--r--dev-libs/cpuinfo/cpuinfo-2023.01.13.ebuild43
-rw-r--r--dev-libs/cpuinfo/files/cpuinfo-2022.03.26-gentoo.patch25
-rw-r--r--dev-libs/cpuinfo/files/cpuinfo-2023.01.13-test.patch18
-rw-r--r--dev-libs/cpuinfo/metadata.xml11
-rw-r--r--dev-libs/crc32c/Manifest2
-rw-r--r--dev-libs/crc32c/crc32c-1.0.6-r1.ebuild35
-rw-r--r--dev-libs/crc32c/crc32c-1.1.1.ebuild40
-rw-r--r--dev-libs/crc32c/crc32c-1.1.2-r1.ebuild41
-rw-r--r--dev-libs/crc32c/crc32c-1.1.2-r2.ebuild42
-rw-r--r--dev-libs/crc32c/files/crc32c-1.0.6-fix-big-endian.patch29
-rw-r--r--dev-libs/crc32c/metadata.xml3
-rw-r--r--dev-libs/criterion/Manifest5
-rw-r--r--dev-libs/criterion/criterion-2.4.0.ebuild64
-rw-r--r--dev-libs/criterion/criterion-2.4.1.ebuild72
-rw-r--r--dev-libs/criterion/criterion-2.4_pre20210114.ebuild68
-rw-r--r--dev-libs/criterion/criterion-2.4_pre20211218.ebuild64
-rw-r--r--dev-libs/criterion/files/criterion-2.4_pre20200110-gcc11.patch12
-rw-r--r--dev-libs/crossguid/Manifest1
-rw-r--r--dev-libs/crossguid/crossguid-0.2.2_p20190529.ebuild52
-rw-r--r--dev-libs/crossguid/crossguid-0_pre20150817.ebuild4
-rw-r--r--dev-libs/crossguid/files/crossguid-0.2.2_p20190529-gcc-13.patch24
-rw-r--r--dev-libs/crypto++/Manifest8
-rw-r--r--dev-libs/crypto++/crypto++-8.2.0-r2.ebuild61
-rw-r--r--dev-libs/crypto++/crypto++-8.4.0.ebuild53
-rw-r--r--dev-libs/crypto++/crypto++-8.5.0.ebuild60
-rw-r--r--dev-libs/crypto++/crypto++-8.6.0.ebuild61
-rw-r--r--dev-libs/crypto++/crypto++-8.9.0.ebuild73
-rw-r--r--dev-libs/crypto++/files/crypto++-8.2.0-build.patch271
-rw-r--r--dev-libs/crypto++/files/crypto++-8.2.0-musl-ldconfig.patch24
-rw-r--r--dev-libs/crypto++/metadata.xml3
-rw-r--r--dev-libs/cudnn-frontend/Manifest3
-rw-r--r--dev-libs/cudnn-frontend/cudnn-frontend-0.6.2.ebuild20
-rw-r--r--dev-libs/cudnn-frontend/cudnn-frontend-0.7.3.ebuild20
-rw-r--r--dev-libs/cudnn-frontend/cudnn-frontend-0.9.2.ebuild20
-rw-r--r--dev-libs/cudnn-frontend/metadata.xml8
-rw-r--r--dev-libs/cudnn/Manifest5
-rw-r--r--dev-libs/cudnn/cudnn-8.3.0.98.ebuild35
-rw-r--r--dev-libs/cudnn/cudnn-8.3.1.22.ebuild29
-rw-r--r--dev-libs/cudnn/cudnn-8.6.0.163.ebuild29
-rw-r--r--dev-libs/cudnn/cudnn-8.8.0.121.ebuild29
-rw-r--r--dev-libs/cudnn/metadata.xml4
-rw-r--r--dev-libs/cutlass/Manifest1
-rw-r--r--dev-libs/cutlass/cutlass-3.3.0.ebuild39
-rw-r--r--dev-libs/cutlass/metadata.xml11
-rw-r--r--dev-libs/cxxopts/Manifest3
-rw-r--r--dev-libs/cxxopts/cxxopts-2.2.1-r1.ebuild36
-rw-r--r--dev-libs/cxxopts/cxxopts-3.0.0-r1.ebuild37
-rw-r--r--dev-libs/cxxopts/cxxopts-3.2.0-r1.ebuild39
-rw-r--r--dev-libs/cxxopts/metadata.xml3
-rw-r--r--dev-libs/cxxtools/cxxtools-3.0-r2.ebuild56
-rw-r--r--dev-libs/cxxtools/files/cxxtools-3.0-gcc12-time.patch11
-rw-r--r--dev-libs/cxxtools/files/cxxtools-3.0-lld-linking-openssl.patch11
-rw-r--r--dev-libs/cyberjack/Manifest3
-rw-r--r--dev-libs/cyberjack/cyberjack-3.99.5_p14-r2.ebuild89
-rw-r--r--dev-libs/cyberjack/cyberjack-3.99.5_p15.ebuild90
-rw-r--r--dev-libs/cyberjack/cyberjack-3.99.5_p16.ebuild93
-rw-r--r--dev-libs/cyrus-sasl/Manifest4
-rw-r--r--dev-libs/cyrus-sasl/cyrus-sasl-2.1.27-r4.ebuild268
-rw-r--r--dev-libs/cyrus-sasl/cyrus-sasl-2.1.27-r6.ebuild260
-rw-r--r--dev-libs/cyrus-sasl/cyrus-sasl-2.1.28-r4.ebuild219
-rw-r--r--dev-libs/cyrus-sasl/files/cyrus-sasl-2.1.25-auxprop.patch16
-rw-r--r--dev-libs/cyrus-sasl/files/cyrus-sasl-2.1.26-missing-size_t.patch13
-rw-r--r--dev-libs/cyrus-sasl/files/cyrus-sasl-2.1.27-CVE-2019-19906.patch20
-rw-r--r--dev-libs/cyrus-sasl/files/cyrus-sasl-2.1.27-as_needed.patch25
-rw-r--r--dev-libs/cyrus-sasl/files/cyrus-sasl-2.1.27-autotools_fixes.patch31
-rw-r--r--dev-libs/cyrus-sasl/files/cyrus-sasl-2.1.27-avoid_pic_overwrite.patch17
-rw-r--r--dev-libs/cyrus-sasl/files/cyrus-sasl-2.1.27-doc_build_fix.patch11
-rw-r--r--dev-libs/cyrus-sasl/files/cyrus-sasl-2.1.27-gss_c_nt_hostbased_service.patch16
-rw-r--r--dev-libs/cyrus-sasl/files/cyrus-sasl-2.1.27-memmem.patch53
-rw-r--r--dev-libs/cyrus-sasl/files/cyrus-sasl-2.1.27-slibtool.patch18
-rw-r--r--dev-libs/cyrus-sasl/files/java.README.gentoo39
-rw-r--r--dev-libs/cyrus-sasl/metadata.xml2
-rw-r--r--dev-libs/d0_blind_id/Manifest2
-rw-r--r--dev-libs/d0_blind_id/d0_blind_id-1.0.ebuild54
-rw-r--r--dev-libs/d0_blind_id/d0_blind_id-1.0_p20201124.ebuild46
-rw-r--r--dev-libs/d0_blind_id/files/d0_blind_id-1.0-slibtool.patch43
-rw-r--r--dev-libs/d0_blind_id/metadata.xml11
-rw-r--r--dev-libs/darts/Manifest1
-rw-r--r--dev-libs/darts/darts-0.32.ebuild35
-rw-r--r--dev-libs/darts/darts-0.32h_pre20181117064816.ebuild2
-rw-r--r--dev-libs/date/date-3.0.0.ebuild4
-rw-r--r--dev-libs/dbus-c++/dbus-c++-0.9.0-r4.ebuild6
-rw-r--r--dev-libs/dbus-c++/dbus-c++-0.9.0-r5.ebuild75
-rw-r--r--dev-libs/dbus-c++/files/dbus-c++-0.9.0-enable-tests.patch22
-rw-r--r--dev-libs/dbus-c++/files/dbus-c++-0.9.0-gcc12.patch89
-rw-r--r--dev-libs/dbus-glib/dbus-glib-0.110.ebuild6
-rw-r--r--dev-libs/dbus-glib/dbus-glib-0.112.ebuild6
-rw-r--r--dev-libs/device-atlas-api-c/Manifest1
-rw-r--r--dev-libs/device-atlas-api-c/device-atlas-api-c-2.1.4.ebuild48
-rw-r--r--dev-libs/device-atlas-api-c/files/2.1.4-src-cmakelists.patch25
-rw-r--r--dev-libs/device-atlas-api-c/metadata.xml15
-rw-r--r--dev-libs/dietlibc/Manifest1
-rw-r--r--dev-libs/dietlibc/dietlibc-0.34.ebuild11
-rw-r--r--dev-libs/dietlibc/dietlibc-0.34_pre20140729-r1.ebuild69
-rw-r--r--dev-libs/dietlibc/files/dietlibc-0.34_pre20140729-dyn-lib.patch22
-rw-r--r--dev-libs/ding-libs/Manifest2
-rw-r--r--dev-libs/ding-libs/ding-libs-0.6.1-r1.ebuild36
-rw-r--r--dev-libs/ding-libs/ding-libs-0.6.1.ebuild31
-rw-r--r--dev-libs/ding-libs/ding-libs-0.6.2-r1.ebuild24
-rw-r--r--dev-libs/ding-libs/files/0000-INI-Fix-detection-of-error-messages.patch47
-rw-r--r--dev-libs/ding-libs/files/0001-path_utils_ut-allow-single-as-well.patch36
-rw-r--r--dev-libs/ding-libs/files/0002-validators_ut_check-Fix-fail-with-new-glibc.patch49
-rw-r--r--dev-libs/ding-libs/metadata.xml5
-rw-r--r--dev-libs/distorm3/distorm3-3.5.2-r1.ebuild38
-rw-r--r--dev-libs/distorm3/distorm3-3.5.2.ebuild45
-rw-r--r--dev-libs/distorm3/metadata.xml1
-rw-r--r--dev-libs/dmalloc/Manifest1
-rw-r--r--dev-libs/dmalloc/dmalloc-5.6.5-r1.ebuild62
-rw-r--r--dev-libs/dmalloc/dmalloc-5.6.5-r2.ebuild64
-rw-r--r--dev-libs/dmalloc/dmalloc-999999.ebuild86
-rw-r--r--dev-libs/dmalloc/files/dmalloc-5.6.5-add-destdir-support.patch103
-rw-r--r--dev-libs/dmalloc/files/dmalloc-5.6.5-allow-overriding-ar-and-ld.patch89
-rw-r--r--dev-libs/dmalloc/files/dmalloc-5.6.5-configure-c99.patch68
-rw-r--r--dev-libs/dmalloc/files/dmalloc-5.6.5-fix-cxx-check.patch22
-rw-r--r--dev-libs/dmalloc/files/dmalloc-5.6.5-set-soname-version.patch32
-rw-r--r--dev-libs/dmalloc/files/dmalloc-999999-texi2html.patch11
-rw-r--r--dev-libs/dmalloc/metadata.xml3
-rw-r--r--dev-libs/dotconf/Manifest1
-rw-r--r--dev-libs/dotconf/dotconf-1.3-r1.ebuild31
-rw-r--r--dev-libs/dotconf/dotconf-1.3-r2.ebuild29
-rw-r--r--dev-libs/dotconf/dotconf-1.4.1.ebuild37
-rw-r--r--dev-libs/dotconf/dotconf-9999.ebuild37
-rw-r--r--dev-libs/double-conversion/Manifest5
-rw-r--r--dev-libs/double-conversion/double-conversion-3.1.5.ebuild14
-rw-r--r--dev-libs/double-conversion/double-conversion-3.1.6.ebuild14
-rw-r--r--dev-libs/double-conversion/double-conversion-3.1.7.ebuild14
-rw-r--r--dev-libs/double-conversion/double-conversion-3.2.0.ebuild14
-rw-r--r--dev-libs/double-conversion/double-conversion-3.2.1.ebuild24
-rw-r--r--dev-libs/dqlite/Manifest2
-rw-r--r--dev-libs/dqlite/dqlite-1.16.4-r1.ebuild53
-rw-r--r--dev-libs/dqlite/dqlite-1.9.0.ebuild42
-rw-r--r--dev-libs/dqlite/files/dqlite-1.12.0-disable-werror.patch20
-rw-r--r--dev-libs/dqlite/metadata.xml3
-rw-r--r--dev-libs/dynolog/Manifest35
-rw-r--r--dev-libs/dynolog/dynolog-0.3.1_p20230126-r1.ebuild116
-rw-r--r--dev-libs/dynolog/files/dynolog-0.3.1_p20230126-gcc13.patch20
-rw-r--r--dev-libs/dynolog/files/dynolog-0.3.1_p20230126-musl.patch40
-rw-r--r--dev-libs/dynolog/files/dynolog-0.3.1_p20230126-noWerror.patch22
-rw-r--r--dev-libs/dynolog/files/dynolog-0.3.1_p20230126-riscv.patch18
-rw-r--r--dev-libs/dynolog/files/dynolog-0.3.1_p20230126-unbundling.patch82
-rw-r--r--dev-libs/dynolog/metadata.xml11
-rw-r--r--dev-libs/editline/editline-1.17.1.ebuild6
-rw-r--r--dev-libs/editline/metadata.xml3
-rw-r--r--dev-libs/eekboard/eekboard-1.0.8_p20121001-r1.ebuild6
-rw-r--r--dev-libs/efl/Manifest3
-rw-r--r--dev-libs/efl/efl-1.25.1-r13.ebuild323
-rw-r--r--dev-libs/efl/efl-1.26.1-r1.ebuild310
-rw-r--r--dev-libs/efl/efl-1.27.0.ebuild296
-rw-r--r--dev-libs/efl/files/efl-1.25.1-libavif-fix.patch71
-rw-r--r--dev-libs/efl/metadata.xml2
-rw-r--r--dev-libs/elfutils/Manifest8
-rw-r--r--dev-libs/elfutils/elfutils-0.185.ebuild95
-rw-r--r--dev-libs/elfutils/elfutils-0.186.ebuild96
-rw-r--r--dev-libs/elfutils/elfutils-0.190.ebuild120
-rw-r--r--dev-libs/elfutils/elfutils-0.191.ebuild120
-rw-r--r--dev-libs/elfutils/files/elfutils-0.189-musl-aarch64-regs.patch57
-rw-r--r--dev-libs/elfutils/files/elfutils-0.189-musl-macros.patch86
-rw-r--r--dev-libs/elfutils/files/elfutils-0.191-musl-macros.patch14
-rw-r--r--dev-libs/elfutils/metadata.xml3
-rw-r--r--dev-libs/ell/Manifest5
-rw-r--r--dev-libs/ell/ell-0.46.ebuild54
-rw-r--r--dev-libs/ell/ell-0.47.ebuild54
-rw-r--r--dev-libs/ell/ell-0.48.ebuild54
-rw-r--r--dev-libs/ell/ell-0.62.ebuild54
-rw-r--r--dev-libs/ell/ell-0.64.ebuild54
-rw-r--r--dev-libs/ell/ell-9999.ebuild24
-rw-r--r--dev-libs/eventlog/eventlog-0.2.12.ebuild4
-rw-r--r--dev-libs/expat/Manifest5
-rw-r--r--dev-libs/expat/expat-2.4.3.ebuild94
-rw-r--r--dev-libs/expat/expat-2.5.0.ebuild95
-rw-r--r--dev-libs/expat/expat-2.6.0.ebuild95
-rw-r--r--dev-libs/expat/expat-2.6.1.ebuild101
-rw-r--r--dev-libs/expat/expat-2.6.2.ebuild101
-rw-r--r--dev-libs/expat/metadata.xml1
-rw-r--r--dev-libs/faxpp/faxpp-0.4-r1.ebuild32
-rw-r--r--dev-libs/faxpp/faxpp-0.4-r2.ebuild32
-rw-r--r--dev-libs/fcgi/fcgi-2.4.1_pre0910052249-r2.ebuild6
-rw-r--r--dev-libs/fddl/metadata.xml5
-rw-r--r--dev-libs/ferrisloki/ferrisloki-3.0.13-r2.ebuild49
-rw-r--r--dev-libs/ferrisloki/ferrisloki-3.0.13-r3.ebuild40
-rw-r--r--dev-libs/ferrisloki/files/ferrisloki-3.0.13-r3-configure-libsigc.patch97
-rw-r--r--dev-libs/ffcall/Manifest1
-rw-r--r--dev-libs/ffcall/ffcall-2.1.ebuild60
-rw-r--r--dev-libs/ffcall/ffcall-2.4-r1.ebuild67
-rw-r--r--dev-libs/ffcall/ffcall-2.4.ebuild11
-rw-r--r--dev-libs/ffcall/files/ffcall-2.4-slibtool.patch86
-rw-r--r--dev-libs/ffcall/files/ffcall-2.4-vacall-riscv-pic.patch792
-rw-r--r--dev-libs/flatbuffers/Manifest2
-rw-r--r--dev-libs/flatbuffers/flatbuffers-2.0.0-r1.ebuild33
-rw-r--r--dev-libs/flatbuffers/flatbuffers-24.3.25.ebuild33
-rw-r--r--dev-libs/flatbuffers/metadata.xml7
-rw-r--r--dev-libs/folks/Manifest5
-rw-r--r--dev-libs/folks/files/0.15.7-bluez-tests-dbusmock-0.30.1.patch28
-rw-r--r--dev-libs/folks/files/folks-0.15.6-implicit-decl.patch61
-rw-r--r--dev-libs/folks/folks-0.15.3.ebuild96
-rw-r--r--dev-libs/folks/folks-0.15.4.ebuild96
-rw-r--r--dev-libs/folks/folks-0.15.6-r1.ebuild102
-rw-r--r--dev-libs/folks/folks-0.15.6.ebuild95
-rw-r--r--dev-libs/folks/folks-0.15.7.ebuild106
-rw-r--r--dev-libs/folks/folks-0.15.9.ebuild97
-rw-r--r--dev-libs/folks/metadata.xml19
-rw-r--r--dev-libs/foma/Manifest2
-rw-r--r--dev-libs/foma/files/foma-0.10-0-fix-BOM_codes-initializer.patch41
-rw-r--r--dev-libs/foma/files/foma-0.10.0-gcc-13-fixes.patch149
-rw-r--r--dev-libs/foma/files/foma-0.9.18-clean-makefile.patch35
-rw-r--r--dev-libs/foma/foma-0.10.0_p20220612-r1.ebuild37
-rw-r--r--dev-libs/foma/foma-0.9.18-r1.ebuild46
-rw-r--r--dev-libs/foma/metadata.xml3
-rw-r--r--dev-libs/freexl/Manifest1
-rw-r--r--dev-libs/freexl/freexl-1.0.6.ebuild9
-rw-r--r--dev-libs/freexl/freexl-2.0.0-r1.ebuild36
-rw-r--r--dev-libs/fribidi/Manifest3
-rw-r--r--dev-libs/fribidi/fribidi-1.0.10.ebuild42
-rw-r--r--dev-libs/fribidi/fribidi-1.0.11.ebuild29
-rw-r--r--dev-libs/fribidi/fribidi-1.0.13.ebuild29
-rw-r--r--dev-libs/fribidi/metadata.xml1
-rw-r--r--dev-libs/fstrm/Manifest1
-rw-r--r--dev-libs/fstrm/fstrm-0.6.0.ebuild36
-rw-r--r--dev-libs/gdl/gdl-3.40.0.ebuild6
-rw-r--r--dev-libs/gdl/metadata.xml11
-rw-r--r--dev-libs/geoip/geoip-1.6.12-r1.ebuild4
-rw-r--r--dev-libs/gf-complete/gf-complete-2.0.0-r1.ebuild5
-rw-r--r--dev-libs/gf2x/files/gf2x-1.3.0-configure-clang16.patch28
-rw-r--r--dev-libs/gf2x/gf2x-1.3.0-r1.ebuild62
-rw-r--r--dev-libs/gf2x/gf2x-1.3.0.ebuild60
-rw-r--r--dev-libs/girara/Manifest4
-rw-r--r--dev-libs/girara/girara-0.3.5.ebuild46
-rw-r--r--dev-libs/girara/girara-0.3.6.ebuild46
-rw-r--r--dev-libs/girara/girara-0.4.0-r1.ebuild62
-rw-r--r--dev-libs/girara/girara-0.4.2.ebuild63
-rw-r--r--dev-libs/girara/girara-9999.ebuild59
-rw-r--r--dev-libs/girara/metadata.xml27
-rw-r--r--dev-libs/gjs/Manifest4
-rw-r--r--dev-libs/gjs/gjs-1.64.4.ebuild47
-rw-r--r--dev-libs/gjs/gjs-1.68.4.ebuild49
-rw-r--r--dev-libs/gjs/gjs-1.70.0.ebuild51
-rw-r--r--dev-libs/gjs/gjs-1.78.5.ebuild68
-rw-r--r--dev-libs/gjs/metadata.xml3
-rw-r--r--dev-libs/glib/Manifest5
-rw-r--r--dev-libs/glib/files/glib-2.78.4-distutils.patch36
-rw-r--r--dev-libs/glib/files/glib-2.78.4-libpcre2-10.43.patch45
-rw-r--r--dev-libs/glib/glib-2.70.2.ebuild282
-rw-r--r--dev-libs/glib/glib-2.70.3.ebuild282
-rw-r--r--dev-libs/glib/glib-2.76.4.ebuild312
-rw-r--r--dev-libs/glib/glib-2.78.3.ebuild312
-rw-r--r--dev-libs/glib/glib-2.78.4-r1.ebuild321
-rw-r--r--dev-libs/glib/metadata.xml71
-rw-r--r--dev-libs/gmime/Manifest2
-rw-r--r--dev-libs/gmime/gmime-2.6.23-r1.ebuild65
-rw-r--r--dev-libs/gmime/gmime-2.6.23-r2.ebuild55
-rw-r--r--dev-libs/gmime/gmime-3.2.14.ebuild70
-rw-r--r--dev-libs/gmime/gmime-3.2.7.ebuild69
-rw-r--r--dev-libs/gmime/metadata.xml20
-rw-r--r--dev-libs/gmp/Manifest3
-rw-r--r--dev-libs/gmp/files/gmp-6.2.1-CVE-2021-43618.patch17
-rw-r--r--dev-libs/gmp/gmp-6.2.1-r1.ebuild108
-rw-r--r--dev-libs/gmp/gmp-6.2.1-r2.ebuild111
-rw-r--r--dev-libs/gmp/gmp-6.3.0-r1.ebuild193
-rw-r--r--dev-libs/gmp/metadata.xml33
-rw-r--r--dev-libs/gnulib/Manifest3
-rw-r--r--dev-libs/gnulib/gnulib-2019.03.17.09.24.57.ebuild43
-rw-r--r--dev-libs/gnulib/gnulib-2022.05.26.07.24.56.ebuild43
-rw-r--r--dev-libs/gnulib/gnulib-2024.01.01.10.31.48.ebuild43
-rw-r--r--dev-libs/gnulib/gnulib-9999-r1.ebuild6
-rw-r--r--dev-libs/gobject-introspection-common/Manifest3
-rw-r--r--dev-libs/gobject-introspection-common/gobject-introspection-common-1.70.0.ebuild31
-rw-r--r--dev-libs/gobject-introspection-common/gobject-introspection-common-1.76.1.ebuild30
-rw-r--r--dev-libs/gobject-introspection-common/gobject-introspection-common-1.78.1.ebuild30
-rw-r--r--dev-libs/gobject-introspection-common/metadata.xml12
-rw-r--r--dev-libs/gobject-introspection/Manifest4
-rw-r--r--dev-libs/gobject-introspection/files/gobject-introspection-1.78.1-tests-py312.patch73
-rw-r--r--dev-libs/gobject-introspection/gobject-introspection-1.70.0.ebuild82
-rw-r--r--dev-libs/gobject-introspection/gobject-introspection-1.76.1.ebuild79
-rw-r--r--dev-libs/gobject-introspection/gobject-introspection-1.78.1.ebuild84
-rw-r--r--dev-libs/gobject-introspection/metadata.xml18
-rw-r--r--dev-libs/gom/gom-0.4.ebuild6
-rw-r--r--dev-libs/gom/metadata.xml11
-rw-r--r--dev-libs/gost-engine/Manifest6
-rw-r--r--dev-libs/gost-engine/files/gost-engine-3.0.1-fix-cmake-path.patch27
-rw-r--r--dev-libs/gost-engine/gost-engine-1.1.0.3_p20181031-r2.ebuild39
-rw-r--r--dev-libs/gost-engine/gost-engine-3.0.0.ebuild39
-rw-r--r--dev-libs/gost-engine/gost-engine-3.0.1-r1.ebuild46
-rw-r--r--dev-libs/gost-engine/gost-engine-3.0.1.ebuild42
-rw-r--r--dev-libs/gost-engine/gost-engine-3.0.2.ebuild42
-rw-r--r--dev-libs/gost-engine/gost-engine-3.0.3.ebuild42
-rw-r--r--dev-libs/gost-engine/gost-engine-9999.ebuild11
-rw-r--r--dev-libs/granite/Manifest2
-rw-r--r--dev-libs/granite/granite-5.2.5-r1.ebuild79
-rw-r--r--dev-libs/granite/granite-6.0.0.ebuild41
-rw-r--r--dev-libs/granite/granite-6.2.0.ebuild5
-rw-r--r--dev-libs/grantlee/Manifest2
-rw-r--r--dev-libs/grantlee/files/grantlee-5.2.0-slot.patch67
-rw-r--r--dev-libs/grantlee/files/grantlee-5.3.0-slot.patch65
-rw-r--r--dev-libs/grantlee/grantlee-5.2.0.ebuild60
-rw-r--r--dev-libs/grantlee/grantlee-5.3.0.ebuild61
-rw-r--r--dev-libs/gtx/Manifest1
-rw-r--r--dev-libs/gtx/files/gtx-0.2.2-debug.patch40
-rw-r--r--dev-libs/gtx/files/gtx-0.2.2-docdir.patch16
-rw-r--r--dev-libs/gtx/files/gtx-0.2.2-glib.h.patch15
-rw-r--r--dev-libs/gtx/gtx-0.2.2-r1.ebuild43
-rw-r--r--dev-libs/gtx/metadata.xml16
-rw-r--r--dev-libs/gumbo/Manifest2
-rw-r--r--dev-libs/gumbo/gumbo-0.10.1.ebuild6
-rw-r--r--dev-libs/gumbo/gumbo-0.11.0.ebuild41
-rw-r--r--dev-libs/gumbo/gumbo-0.12.1.ebuild41
-rw-r--r--dev-libs/gumbo/metadata.xml14
-rw-r--r--dev-libs/half/metadata.xml3
-rw-r--r--dev-libs/heatshrink/Manifest1
-rw-r--r--dev-libs/heatshrink/files/heatshrink-0.4.1-cmake.patch108
-rw-r--r--dev-libs/heatshrink/heatshrink-0.4.1.ebuild16
-rw-r--r--dev-libs/heatshrink/metadata.xml16
-rw-r--r--dev-libs/hidapi/Manifest4
-rw-r--r--dev-libs/hidapi/files/hidapi-0.8.0_rc1_p20140719-autoconf-2.70.patch11
-rw-r--r--dev-libs/hidapi/hidapi-0.11.0.ebuild62
-rw-r--r--dev-libs/hidapi/hidapi-0.13.1-r1.ebuild48
-rw-r--r--dev-libs/hidapi/hidapi-0.14.0.ebuild52
-rw-r--r--dev-libs/hidapi/hidapi-0.8.0_rc1_p20140719-r1.ebuild70
-rw-r--r--dev-libs/hidapi/metadata.xml14
-rw-r--r--dev-libs/hiredis/Manifest2
-rw-r--r--dev-libs/hiredis/files/hiredis-0.13.3-disable-network-tests.patch36
-rw-r--r--dev-libs/hiredis/files/hiredis-0.14.1-honor-AR.patch11
-rw-r--r--dev-libs/hiredis/hiredis-0.14.1.ebuild83
-rw-r--r--dev-libs/hiredis/hiredis-1.0.2-r1.ebuild89
-rw-r--r--dev-libs/hiredis/hiredis-1.0.2-r3.ebuild89
-rw-r--r--dev-libs/hiredis/hiredis-1.1.0-r1.ebuild96
-rw-r--r--dev-libs/http-fetcher/files/http-fetcher-1.1.0-underquoted-http-fetcher-macro.patch13
-rw-r--r--dev-libs/http-fetcher/http-fetcher-1.1.0-r1.ebuild38
-rw-r--r--dev-libs/http-fetcher/http-fetcher-1.1.0-r2.ebuild41
-rw-r--r--dev-libs/http-fetcher/metadata.xml5
-rw-r--r--dev-libs/hyperscan/Manifest1
-rw-r--r--dev-libs/hyperscan/hyperscan-5.4.0.ebuild57
-rw-r--r--dev-libs/hyperscan/metadata.xml19
-rw-r--r--dev-libs/hyphen/files/hyphen-2.8.8-mawk.patch47
-rw-r--r--dev-libs/hyphen/hyphen-2.8.8-r1.ebuild34
-rw-r--r--dev-libs/hyphen/hyphen-2.8.8-r2.ebuild38
-rw-r--r--dev-libs/hyphen/metadata.xml1
-rw-r--r--dev-libs/hyprland-protocols/Manifest1
-rw-r--r--dev-libs/hyprland-protocols/hyprland-protocols-0.2-r1.ebuild25
-rw-r--r--dev-libs/hyprland-protocols/hyprland-protocols-9999.ebuild25
-rw-r--r--dev-libs/hyprland-protocols/metadata.xml15
-rw-r--r--dev-libs/hyprlang/Manifest3
-rw-r--r--dev-libs/hyprlang/hyprlang-0.4.2.ebuild14
-rw-r--r--dev-libs/hyprlang/hyprlang-0.5.0.ebuild14
-rw-r--r--dev-libs/hyprlang/hyprlang-0.5.1.ebuild14
-rw-r--r--dev-libs/hyprlang/metadata.xml22
-rw-r--r--dev-libs/icinga-php-library/Manifest3
-rw-r--r--dev-libs/icinga-php-library/icinga-php-library-0.10.0.ebuild23
-rw-r--r--dev-libs/icinga-php-library/icinga-php-library-0.13.0.ebuild23
-rw-r--r--dev-libs/icinga-php-library/icinga-php-library-0.8.1.ebuild23
-rw-r--r--dev-libs/icinga-php-thirdparty/Manifest2
-rw-r--r--dev-libs/icinga-php-thirdparty/icinga-php-thirdparty-0.10.0-r1.ebuild4
-rw-r--r--dev-libs/icinga-php-thirdparty/icinga-php-thirdparty-0.11.0.ebuild22
-rw-r--r--dev-libs/icinga-php-thirdparty/icinga-php-thirdparty-0.12.0.ebuild22
-rw-r--r--dev-libs/icu-layoutex/Manifest4
-rw-r--r--dev-libs/icu-layoutex/icu-layoutex-69.1.ebuild109
-rw-r--r--dev-libs/icu-layoutex/icu-layoutex-70.1.ebuild106
-rw-r--r--dev-libs/icu-layoutex/icu-layoutex-74.2.ebuild133
-rw-r--r--dev-libs/icu-layoutex/metadata.xml15
-rw-r--r--dev-libs/icu-le-hb/Manifest2
-rw-r--r--dev-libs/icu-le-hb/files/icu-le-hb-1.0.3-icu68.patch58
-rw-r--r--dev-libs/icu-le-hb/icu-le-hb-1.0.3-r1.ebuild45
-rw-r--r--dev-libs/icu-le-hb/icu-le-hb-1.2.3.ebuild38
-rw-r--r--dev-libs/icu-le-hb/metadata.xml4
-rw-r--r--dev-libs/icu/Manifest4
-rw-r--r--dev-libs/icu/files/icu-69.1-fix-ub-units.patch23
-rw-r--r--dev-libs/icu/files/icu-70.1-fix-ucptrietest.patch38
-rw-r--r--dev-libs/icu/icu-69.1-r1.ebuild150
-rw-r--r--dev-libs/icu/icu-70.1-r1.ebuild146
-rw-r--r--dev-libs/icu/icu-74.2.ebuild184
-rw-r--r--dev-libs/icu/metadata.xml3
-rw-r--r--dev-libs/igraph/Manifest6
-rw-r--r--dev-libs/igraph/files/808c083fbe661207ee8f0fcd3be5096b5dc17d0d.patch35
-rw-r--r--dev-libs/igraph/files/igraph-0.8.2-unbundle.patch150
-rw-r--r--dev-libs/igraph/files/igraph-0.9.2-disable-broken-tests.patch15
-rw-r--r--dev-libs/igraph/igraph-0.10.10.ebuild53
-rw-r--r--dev-libs/igraph/igraph-0.10.11.ebuild48
-rw-r--r--dev-libs/igraph/igraph-0.10.4-r1.ebuild54
-rw-r--r--dev-libs/igraph/igraph-0.8.5.ebuild59
-rw-r--r--dev-libs/igraph/igraph-0.9.2.ebuild49
-rw-r--r--dev-libs/igraph/igraph-0.9.4.ebuild49
-rw-r--r--dev-libs/igraph/metadata.xml1
-rw-r--r--dev-libs/iksemel/iksemel-1.4-r1.ebuild44
-rw-r--r--dev-libs/iksemel/iksemel-1.4-r2.ebuild42
-rw-r--r--dev-libs/imath/Manifest5
-rw-r--r--dev-libs/imath/files/imath-3.1.1-0001-changes-needed-for-proper-slotting.patch162
-rw-r--r--dev-libs/imath/imath-3.1.1.ebuild92
-rw-r--r--dev-libs/imath/imath-3.1.11.ebuild81
-rw-r--r--dev-libs/imath/imath-3.1.3.ebuild76
-rw-r--r--dev-libs/imath/imath-3.1.6.ebuild69
-rw-r--r--dev-libs/imath/imath-3.1.9.ebuild70
-rw-r--r--dev-libs/imath/metadata.xml4
-rw-r--r--dev-libs/inih/Manifest3
-rw-r--r--dev-libs/inih/inih-53.ebuild37
-rw-r--r--dev-libs/inih/inih-57-r1.ebuild30
-rw-r--r--dev-libs/inih/inih-58.ebuild30
-rw-r--r--dev-libs/iniparser/files/iniparser-4.1-CVE-null-getstring.patch43
-rw-r--r--dev-libs/iniparser/iniparser-3.1-r2.ebuild55
-rw-r--r--dev-libs/iniparser/iniparser-3.1-r3.ebuild50
-rw-r--r--dev-libs/iniparser/iniparser-4.1-r1.ebuild75
-rw-r--r--dev-libs/iniparser/iniparser-4.1.ebuild71
-rw-r--r--dev-libs/iniparser/metadata.xml4
-rw-r--r--dev-libs/injeqt/Manifest1
-rw-r--r--dev-libs/injeqt/files/injeqt-1.2.0-gcc7.patch22
-rw-r--r--dev-libs/injeqt/files/injeqt-1.2.0-no-Werror.patch12
-rw-r--r--dev-libs/injeqt/injeqt-1.2.0.ebuild38
-rw-r--r--dev-libs/injeqt/metadata.xml11
-rw-r--r--dev-libs/intel-compute-runtime/Manifest4
-rw-r--r--dev-libs/intel-compute-runtime/files/intel-compute-runtime-21.31.20514-no_Werror.patch10
-rw-r--r--dev-libs/intel-compute-runtime/files/intel-compute-runtime-22.24.23453-remove-fortify-sources.patch20
-rw-r--r--dev-libs/intel-compute-runtime/intel-compute-runtime-21.46.21636-r1.ebuild61
-rw-r--r--dev-libs/intel-compute-runtime/intel-compute-runtime-21.50.21939.ebuild61
-rw-r--r--dev-libs/intel-compute-runtime/intel-compute-runtime-24.05.28454.17-r1.ebuild84
-rw-r--r--dev-libs/intel-compute-runtime/intel-compute-runtime-24.13.29138.7.ebuild84
-rw-r--r--dev-libs/intel-metrics-discovery/Manifest2
-rw-r--r--dev-libs/intel-metrics-discovery/files/intel-metrics-discovery-1.12.170-revert-definitions.patch24
-rw-r--r--dev-libs/intel-metrics-discovery/intel-metrics-discovery-1.12.170.ebuild29
-rw-r--r--dev-libs/intel-metrics-discovery/intel-metrics-discovery-1.12.171.ebuild29
-rw-r--r--dev-libs/intel-metrics-discovery/metadata.xml25
-rw-r--r--dev-libs/intel-metrics-library/Manifest2
-rw-r--r--dev-libs/intel-metrics-library/intel-metrics-library-1.0.156.ebuild27
-rw-r--r--dev-libs/intel-metrics-library/intel-metrics-library-1.0.161.ebuild27
-rw-r--r--dev-libs/intel-metrics-library/metadata.xml28
-rw-r--r--dev-libs/intel-vc-intrinsics/Manifest1
-rw-r--r--dev-libs/intel-vc-intrinsics/intel-vc-intrinsics-0.18.0.ebuild39
-rw-r--r--dev-libs/intel-vc-intrinsics/metadata.xml24
-rw-r--r--dev-libs/isa-l/Manifest1
-rw-r--r--dev-libs/isa-l/files/isa-l-2.30.0_fix-shebang.patch26
-rw-r--r--dev-libs/isa-l/files/isa-l-2.30.0_makefile-x86.patch12
-rw-r--r--dev-libs/isa-l/files/isa-l-2.31.0_makefile-no-D.patch16
-rw-r--r--dev-libs/isa-l/files/isa-l-2.31.0_makefile-x86.patch12
-rw-r--r--dev-libs/isa-l/files/isa-l-2.31.0_user-ldflags.patch10
-rw-r--r--dev-libs/isa-l/isa-l-2.30.0-r1.ebuild35
-rw-r--r--dev-libs/isa-l/isa-l-2.31.0.ebuild57
-rw-r--r--dev-libs/isa-l_crypto/Manifest1
-rw-r--r--dev-libs/isa-l_crypto/files/isa-l_crypto-2.24.0_fix-shebang.patch26
-rw-r--r--dev-libs/isa-l_crypto/files/isa-l_crypto-2.24.0_makefile-no-D.patch13
-rw-r--r--dev-libs/isa-l_crypto/isa-l_crypto-2.24.0.ebuild44
-rw-r--r--dev-libs/isa-l_crypto/metadata.xml21
-rw-r--r--dev-libs/isl/Manifest2
-rw-r--r--dev-libs/isl/files/isl-0.19-gdb-autoload-dir.patch17
-rw-r--r--dev-libs/isl/files/isl-0.24-nobash.patch35
-rw-r--r--dev-libs/isl/isl-0.24-r2.ebuild80
-rw-r--r--dev-libs/isl/isl-0.24.ebuild73
-rw-r--r--dev-libs/isl/isl-0.26.ebuild78
-rw-r--r--dev-libs/ivykis/Manifest1
-rw-r--r--dev-libs/ivykis/ivykis-0.42.4.ebuild8
-rw-r--r--dev-libs/ivykis/ivykis-0.43.ebuild33
-rw-r--r--dev-libs/jansson/Manifest3
-rw-r--r--dev-libs/jansson/files/jansson-2.13.1-sphinx3.patch269
-rw-r--r--dev-libs/jansson/files/jansson-2.14-default-symver-test.patch55
-rw-r--r--dev-libs/jansson/jansson-2.13.1-r1.ebuild41
-rw-r--r--dev-libs/jansson/jansson-2.14-r1.ebuild42
-rw-r--r--dev-libs/jansson/jansson-2.14-r2.ebuild49
-rw-r--r--dev-libs/jansson/jansson-2.14.ebuild40
-rw-r--r--dev-libs/jansson/metadata.xml3
-rw-r--r--dev-libs/jemalloc/Manifest2
-rw-r--r--dev-libs/jemalloc/files/jemalloc-5.2.0-gentoo-fixups.patch54
-rw-r--r--dev-libs/jemalloc/files/jemalloc-5.3.0-backport-pr-2312.patch160
-rw-r--r--dev-libs/jemalloc/files/jemalloc-5.3.0-backport-pr-2338.patch83
-rw-r--r--dev-libs/jemalloc/files/jemalloc-5.3.0-gentoo-fixups.patch43
-rw-r--r--dev-libs/jemalloc/jemalloc-5.2.1-r1.ebuild50
-rw-r--r--dev-libs/jemalloc/jemalloc-5.3.0-r1.ebuild57
-rw-r--r--dev-libs/jemalloc/metadata.xml6
-rw-r--r--dev-libs/json-c/Manifest2
-rw-r--r--dev-libs/json-c/json-c-0.15.ebuild50
-rw-r--r--dev-libs/json-c/json-c-0.17.ebuild46
-rw-r--r--dev-libs/json-c/json-c-9999.ebuild36
-rw-r--r--dev-libs/json-glib/Manifest2
-rw-r--r--dev-libs/json-glib/json-glib-1.6.6-r1.ebuild58
-rw-r--r--dev-libs/json-glib/json-glib-1.8.0.ebuild65
-rw-r--r--dev-libs/json-glib/metadata.xml38
-rw-r--r--dev-libs/json-parser/Manifest1
-rw-r--r--dev-libs/json-parser/files/json-parser-1.1.0-pkgconfig-libdir.patch22
-rw-r--r--dev-libs/json-parser/json-parser-1.1.0_p20211208.ebuild82
-rw-r--r--dev-libs/json-parser/metadata.xml11
-rw-r--r--dev-libs/jsoncpp/jsoncpp-1.9.5.ebuild16
-rw-r--r--dev-libs/jsoncpp/metadata.xml1
-rw-r--r--dev-libs/jsonrpc-glib/Manifest2
-rw-r--r--dev-libs/jsonrpc-glib/jsonrpc-glib-3.40.0.ebuild46
-rw-r--r--dev-libs/jsonrpc-glib/jsonrpc-glib-3.44.0.ebuild58
-rw-r--r--dev-libs/jsonrpc-glib/metadata.xml19
-rw-r--r--dev-libs/jthread/jthread-1.3.3-r1.ebuild23
-rw-r--r--dev-libs/jthread/jthread-1.3.3.ebuild27
-rw-r--r--dev-libs/jthread/metadata.xml5
-rw-r--r--dev-libs/judy/judy-1.0.5-r2.ebuild34
-rw-r--r--dev-libs/judy/judy-1.0.5-r3.ebuild34
-rw-r--r--dev-libs/judy/judy-1.0.5-r4.ebuild27
-rw-r--r--dev-libs/judy/metadata.xml5
-rw-r--r--dev-libs/kasync/Manifest1
-rw-r--r--dev-libs/kasync/kasync-0.3.0.ebuild18
-rw-r--r--dev-libs/kasync/metadata.xml11
-rw-r--r--dev-libs/kdiagram/Manifest1
-rw-r--r--dev-libs/kdiagram/kdiagram-2.8.0.ebuild8
-rw-r--r--dev-libs/kdiagram/kdiagram-3.0.1.ebuild33
-rw-r--r--dev-libs/keybinder/keybinder-0.3.2-r300.ebuild4
-rw-r--r--dev-libs/keystone/files/keystone-0.9.2-strict-prototypes.patch156
-rw-r--r--dev-libs/keystone/keystone-0.9.2-r2.ebuild98
-rw-r--r--dev-libs/keystone/keystone-0.9.2-r3.ebuild103
-rw-r--r--dev-libs/keystone/keystone-0.9.2.ebuild84
-rw-r--r--dev-libs/keystone/keystone-9999.ebuild47
-rw-r--r--dev-libs/keystone/metadata.xml9
-rw-r--r--dev-libs/kirigami-addons/Manifest2
-rw-r--r--dev-libs/kirigami-addons/kirigami-addons-0.11.0.ebuild48
-rw-r--r--dev-libs/kirigami-addons/kirigami-addons-1.1.0.ebuild44
-rw-r--r--dev-libs/kirigami-addons/metadata.xml12
-rw-r--r--dev-libs/kopeninghours/Manifest4
-rw-r--r--dev-libs/kopeninghours/files/kopeninghours-21.03.90-boostpython.patch79
-rw-r--r--dev-libs/kopeninghours/files/kopeninghours-22.04.0-boostpython.patch79
-rw-r--r--dev-libs/kopeninghours/kopeninghours-21.08.3.ebuild64
-rw-r--r--dev-libs/kopeninghours/kopeninghours-21.12.1.ebuild65
-rw-r--r--dev-libs/kopeninghours/kopeninghours-23.08.5.ebuild64
-rw-r--r--dev-libs/kopeninghours/kopeninghours-24.02.2.ebuild63
-rw-r--r--dev-libs/kopeninghours/metadata.xml1
-rw-r--r--dev-libs/kosmindoormap/Manifest4
-rw-r--r--dev-libs/kosmindoormap/kosmindoormap-21.08.3.ebuild48
-rw-r--r--dev-libs/kosmindoormap/kosmindoormap-21.12.1.ebuild48
-rw-r--r--dev-libs/kosmindoormap/kosmindoormap-23.08.5.ebuild47
-rw-r--r--dev-libs/kosmindoormap/kosmindoormap-24.02.2.ebuild48
-rw-r--r--dev-libs/kosmindoormap/metadata.xml1
-rw-r--r--dev-libs/kpathsea/Manifest3
-rw-r--r--dev-libs/kpathsea/files/kpathsea-6.3.3_p20210325-Fix-Wimplicit-function-declaration.patch31
-rw-r--r--dev-libs/kpathsea/files/kpathsea-6.3.3_p20210325-Fix-slibtool-test.patch47
-rw-r--r--dev-libs/kpathsea/kpathsea-6.3.3_p20210325-r1.ebuild111
-rw-r--r--dev-libs/kpathsea/kpathsea-6.3.3_p20210325.ebuild106
-rw-r--r--dev-libs/kpathsea/kpathsea-6.3.5_p20230311.ebuild106
-rw-r--r--dev-libs/kpathsea/metadata.xml5
-rw-r--r--dev-libs/kpeoplevcard/files/kpeoplevcard-0.1-emit-initial-fetch-complete-signal.patch29
-rw-r--r--dev-libs/kpeoplevcard/kpeoplevcard-0.1-r1.ebuild34
-rw-r--r--dev-libs/kpeoplevcard/kpeoplevcard-0.1.ebuild28
-rw-r--r--dev-libs/kproperty/kproperty-3.2.0.ebuild10
-rw-r--r--dev-libs/kpublictransport/Manifest4
-rw-r--r--dev-libs/kpublictransport/kpublictransport-21.08.3-r1.ebuild37
-rw-r--r--dev-libs/kpublictransport/kpublictransport-21.12.1.ebuild38
-rw-r--r--dev-libs/kpublictransport/kpublictransport-23.08.5.ebuild40
-rw-r--r--dev-libs/kpublictransport/kpublictransport-24.02.2.ebuild39
-rw-r--r--dev-libs/kpublictransport/metadata.xml1
-rw-r--r--dev-libs/kreport/files/kreport-3.2.0-Q_REQUIRED_RESULT-placing.patch54
-rw-r--r--dev-libs/kreport/files/kreport-3.2.0-fix-cmake-config.patch35
-rw-r--r--dev-libs/kreport/files/kreport-3.2.0-fix-insane-delay.patch166
-rw-r--r--dev-libs/kreport/files/kreport-3.2.0-gcc12.patch26
-rw-r--r--dev-libs/kreport/kreport-3.2.0-r2.ebuild56
-rw-r--r--dev-libs/kreport/kreport-3.2.0-r3.ebuild63
-rw-r--r--dev-libs/ktextaddons/Manifest2
-rw-r--r--dev-libs/ktextaddons/ktextaddons-1.2.1.ebuild48
-rw-r--r--dev-libs/ktextaddons/ktextaddons-1.5.4.ebuild50
-rw-r--r--dev-libs/ktextaddons/metadata.xml15
-rw-r--r--dev-libs/kuserfeedback/Manifest1
-rw-r--r--dev-libs/kuserfeedback/kuserfeedback-1.0.0.ebuild58
-rw-r--r--dev-libs/kuserfeedback/metadata.xml11
-rw-r--r--dev-libs/kweathercore/Manifest2
-rw-r--r--dev-libs/kweathercore/kweathercore-0.7.ebuild35
-rw-r--r--dev-libs/kweathercore/kweathercore-0.8.0.ebuild35
-rw-r--r--dev-libs/kweathercore/metadata.xml12
-rw-r--r--dev-libs/leatherman/Manifest4
-rw-r--r--dev-libs/leatherman/files/leatherman-1.12.6-SIGSTKSZ.patch45
-rw-r--r--dev-libs/leatherman/files/shared_nowide.patch108
-rw-r--r--dev-libs/leatherman/leatherman-1.12.12.ebuild56
-rw-r--r--dev-libs/leatherman/leatherman-1.12.13.ebuild56
-rw-r--r--dev-libs/leatherman/leatherman-1.12.6-r1.ebuild60
-rw-r--r--dev-libs/leatherman/leatherman-1.12.6-r2.ebuild62
-rw-r--r--dev-libs/leatherman/leatherman-1.12.7.ebuild56
-rw-r--r--dev-libs/level-zero/Manifest4
-rw-r--r--dev-libs/level-zero/level-zero-1.16.1.ebuild25
-rw-r--r--dev-libs/level-zero/level-zero-1.16.14.ebuild27
-rw-r--r--dev-libs/level-zero/level-zero-1.7.4.ebuild22
-rw-r--r--dev-libs/level-zero/level-zero-1.7.9.ebuild22
-rw-r--r--dev-libs/leveldb/leveldb-1.23-r1.ebuild37
-rw-r--r--dev-libs/leveldb/leveldb-1.23-r2.ebuild42
-rw-r--r--dev-libs/leveldb/leveldb-1.23-r6.ebuild51
-rw-r--r--dev-libs/leveldb/metadata.xml3
-rw-r--r--dev-libs/libIDL/libIDL-0.8.14-r2.ebuild35
-rw-r--r--dev-libs/libIDL/libIDL-0.8.14-r4.ebuild21
-rw-r--r--dev-libs/libaio/Manifest2
-rw-r--r--dev-libs/libaio/files/libaio-0.3.111-optional-werror.patch30
-rw-r--r--dev-libs/libaio/files/libaio-0.3.112-respect-LDFLAGS.patch13
-rw-r--r--dev-libs/libaio/files/libaio-0.3.113-32-bit-tests.patch31
-rw-r--r--dev-libs/libaio/files/libaio-0.3.113-respect-LDFLAGS.patch12
-rw-r--r--dev-libs/libaio/libaio-0.3.112.ebuild87
-rw-r--r--dev-libs/libaio/libaio-0.3.113-r1.ebuild91
-rw-r--r--dev-libs/libaio/libaio-0.3.113.ebuild92
-rw-r--r--dev-libs/libaio/libaio-9999.ebuild33
-rw-r--r--dev-libs/libaio/metadata.xml3
-rw-r--r--dev-libs/libansilove/Manifest2
-rw-r--r--dev-libs/libansilove/libansilove-1.2.8.ebuild23
-rw-r--r--dev-libs/libansilove/libansilove-1.4.1.ebuild23
-rw-r--r--dev-libs/libansilove/libansilove-9999.ebuild4
-rw-r--r--dev-libs/libappindicator/Manifest1
-rw-r--r--dev-libs/libappindicator/files/libappindicator-12.10.0-conditional-py-bindings.patch72
-rw-r--r--dev-libs/libappindicator/files/libappindicator-12.10.0-lp1867996-fix-g-signal-emit.patch74
-rw-r--r--dev-libs/libappindicator/files/libappindicator-12.10.0-lp1867996-fix-iterate-search-path.patch11
-rw-r--r--dev-libs/libappindicator/files/libappindicator-12.10.0-vala-inherit.patch14
-rw-r--r--dev-libs/libappindicator/libappindicator-12.10.0-r301.ebuild76
-rw-r--r--dev-libs/libappindicator/libappindicator-12.10.1_p20200706.ebuild6
-rw-r--r--dev-libs/libarcus/Manifest1
-rw-r--r--dev-libs/libarcus/files/libarcus-4.8.0-deprecated-protobuf-calls.patch30
-rw-r--r--dev-libs/libarcus/libarcus-4.9.1.ebuild56
-rw-r--r--dev-libs/libarcus/metadata.xml36
-rw-r--r--dev-libs/libassuan/Manifest7
-rw-r--r--dev-libs/libassuan/libassuan-2.5.3.ebuild48
-rw-r--r--dev-libs/libassuan/libassuan-2.5.4.ebuild48
-rw-r--r--dev-libs/libassuan/libassuan-2.5.5.ebuild48
-rw-r--r--dev-libs/libassuan/libassuan-2.5.6.ebuild56
-rw-r--r--dev-libs/libassuan/libassuan-2.5.7.ebuild56
-rw-r--r--dev-libs/libassuan/metadata.xml12
-rw-r--r--dev-libs/libatasmart/libatasmart-0.19_p5.ebuild4
-rw-r--r--dev-libs/libatomic_ops/Manifest2
-rw-r--r--dev-libs/libatomic_ops/libatomic_ops-7.6.12.ebuild25
-rw-r--r--dev-libs/libatomic_ops/libatomic_ops-7.8.2.ebuild31
-rw-r--r--dev-libs/libax25/Manifest2
-rw-r--r--dev-libs/libax25/files/libax25-0.0.12_rc5-musl.patch23
-rw-r--r--dev-libs/libax25/libax25-0.0.12_rc5.ebuild12
-rw-r--r--dev-libs/libayatana-appindicator/Manifest2
-rw-r--r--dev-libs/libayatana-appindicator/libayatana-appindicator-0.5.91.ebuild51
-rw-r--r--dev-libs/libayatana-appindicator/libayatana-appindicator-0.5.92.ebuild51
-rw-r--r--dev-libs/libayatana-appindicator/metadata.xml10
-rw-r--r--dev-libs/libayatana-indicator/Manifest1
-rw-r--r--dev-libs/libayatana-indicator/libayatana-indicator-0.9.3.ebuild50
-rw-r--r--dev-libs/libayatana-indicator/metadata.xml10
-rw-r--r--dev-libs/libb64/Manifest1
-rw-r--r--dev-libs/libb64/libb64-1.2.1.ebuild28
-rw-r--r--dev-libs/libb64/libb64-2.0.0.1.ebuild4
-rw-r--r--dev-libs/libbase58/libbase58-0.1.4-r1.ebuild56
-rw-r--r--dev-libs/libbase58/libbase58-0.1.4-r2.ebuild56
-rw-r--r--dev-libs/libbase58/metadata.xml9
-rw-r--r--dev-libs/libbpf/Manifest5
-rw-r--r--dev-libs/libbpf/libbpf-0.6.1.ebuild51
-rw-r--r--dev-libs/libbpf/libbpf-0.8.1.ebuild54
-rw-r--r--dev-libs/libbpf/libbpf-1.2.2.ebuild54
-rw-r--r--dev-libs/libbpf/libbpf-1.3.0.ebuild65
-rw-r--r--dev-libs/libbpf/libbpf-1.4.0.ebuild65
-rw-r--r--dev-libs/libbpf/libbpf-9999.ebuild32
-rw-r--r--dev-libs/libbsd/Manifest6
-rw-r--r--dev-libs/libbsd/libbsd-0.11.3.ebuild42
-rw-r--r--dev-libs/libbsd/libbsd-0.11.5.ebuild33
-rw-r--r--dev-libs/libbsd/libbsd-0.11.8.ebuild50
-rw-r--r--dev-libs/libbsd/libbsd-0.12.1.ebuild48
-rw-r--r--dev-libs/libbsd/metadata.xml5
-rw-r--r--dev-libs/libbson/Manifest1
-rw-r--r--dev-libs/libbson/libbson-1.18.0.ebuild4
-rw-r--r--dev-libs/libbson/libbson-1.24.4.ebuild49
-rw-r--r--dev-libs/libbson/metadata.xml2
-rw-r--r--dev-libs/libburn/Manifest2
-rw-r--r--dev-libs/libburn/libburn-1.5.4.ebuild41
-rw-r--r--dev-libs/libburn/libburn-1.5.6-r1.ebuild49
-rw-r--r--dev-libs/libburn/libburn-1.5.6.ebuild40
-rw-r--r--dev-libs/libbytesize/Manifest4
-rw-r--r--dev-libs/libbytesize/files/libbytesize-2.6-configure-bashism.patch31
-rw-r--r--dev-libs/libbytesize/libbytesize-2.10.ebuild88
-rw-r--r--dev-libs/libbytesize/libbytesize-2.5.ebuild89
-rw-r--r--dev-libs/libbytesize/libbytesize-2.6.ebuild90
-rw-r--r--dev-libs/libbytesize/libbytesize-2.9.ebuild91
-rw-r--r--dev-libs/libbytesize/metadata.xml7
-rw-r--r--dev-libs/libcbor/Manifest3
-rw-r--r--dev-libs/libcbor/libcbor-0.10.2.ebuild69
-rw-r--r--dev-libs/libcbor/libcbor-0.8.0.ebuild68
-rw-r--r--dev-libs/libcbor/libcbor-0.9.0.ebuild68
-rw-r--r--dev-libs/libcbor/metadata.xml6
-rw-r--r--dev-libs/libcdada/Manifest3
-rw-r--r--dev-libs/libcdada/libcdada-0.3.4-r2.ebuild46
-rw-r--r--dev-libs/libcdada/libcdada-0.3.5.ebuild54
-rw-r--r--dev-libs/libcdada/libcdada-0.4.0.ebuild53
-rw-r--r--dev-libs/libcdio-paranoia/libcdio-paranoia-2.0.1.ebuild4
-rw-r--r--dev-libs/libcdio/Manifest1
-rw-r--r--dev-libs/libcdio/files/libcdio-2.0.0-iso-ioleak.patch37
-rw-r--r--dev-libs/libcdio/files/libcdio-2.1.0-realpath-test-fix.patch48
-rw-r--r--dev-libs/libcdio/libcdio-2.0.0-r1.ebuild76
-rw-r--r--dev-libs/libcdio/libcdio-2.1.0-r1.ebuild19
-rw-r--r--dev-libs/libcdio/metadata.xml3
-rw-r--r--dev-libs/libcec/Manifest2
-rw-r--r--dev-libs/libcec/files/libcec-6.0.2-musl-nullptr.patch29
-rw-r--r--dev-libs/libcec/libcec-4.0.4-r1.ebuild78
-rw-r--r--dev-libs/libcec/libcec-4.0.7.ebuild123
-rw-r--r--dev-libs/libcec/libcec-6.0.2-r1.ebuild131
-rw-r--r--dev-libs/libcec/libcec-6.0.2-r2.ebuild123
-rw-r--r--dev-libs/libcec/libcec-6.0.2.ebuild123
-rw-r--r--dev-libs/libcgroup/Manifest3
-rw-r--r--dev-libs/libcgroup/files/cgconfig.confd-r28
-rw-r--r--dev-libs/libcgroup/files/cgconfig.initd-r253
-rw-r--r--dev-libs/libcgroup/files/libcgroup-3.0.0-configure-bashism.patch35
-rw-r--r--dev-libs/libcgroup/files/libcgroup-3.0.0-musl-strerror_r.patch45
-rw-r--r--dev-libs/libcgroup/libcgroup-0.41-r6.ebuild19
-rw-r--r--dev-libs/libcgroup/libcgroup-2.0.ebuild98
-rw-r--r--dev-libs/libcgroup/libcgroup-3.0.0-r1.ebuild115
-rw-r--r--dev-libs/libcgroup/libcgroup-3.0.0.ebuild113
-rw-r--r--dev-libs/libcgroup/libcgroup-3.1.0.ebuild116
-rw-r--r--dev-libs/libcgroup/metadata.xml6
-rw-r--r--dev-libs/libcharon/Manifest1
-rw-r--r--dev-libs/libcharon/libcharon-4.9.1-r1.ebuild72
-rw-r--r--dev-libs/libcharon/metadata.xml34
-rw-r--r--dev-libs/libchdr/Manifest1
-rw-r--r--dev-libs/libchdr/libchdr-0_p20211127.ebuild28
-rw-r--r--dev-libs/libchdr/metadata.xml11
-rw-r--r--dev-libs/libclc/Manifest15
-rw-r--r--dev-libs/libclc/libclc-13.0.0.ebuild67
-rw-r--r--dev-libs/libclc/libclc-13.0.1.9999.ebuild67
-rw-r--r--dev-libs/libclc/libclc-13.0.1_rc3.ebuild67
-rw-r--r--dev-libs/libclc/libclc-14.0.0.9999.ebuild68
-rw-r--r--dev-libs/libclc/libclc-15.0.7.ebuild81
-rw-r--r--dev-libs/libclc/libclc-16.0.6.ebuild84
-rw-r--r--dev-libs/libclc/libclc-17.0.6.ebuild88
-rw-r--r--dev-libs/libclc/libclc-18.1.3.ebuild62
-rw-r--r--dev-libs/libclc/libclc-18.1.4.ebuild62
-rw-r--r--dev-libs/libclc/libclc-19.0.0.9999.ebuild61
-rw-r--r--dev-libs/libclc/libclc-19.0.0_pre20240330.ebuild61
-rw-r--r--dev-libs/libclc/libclc-19.0.0_pre20240404.ebuild61
-rw-r--r--dev-libs/libclc/libclc-19.0.0_pre20240410.ebuild61
-rw-r--r--dev-libs/libclc/metadata.xml9
-rw-r--r--dev-libs/libconfig/Manifest1
-rw-r--r--dev-libs/libconfig/libconfig-1.7.2.ebuild51
-rw-r--r--dev-libs/libconfig/libconfig-1.7.3.ebuild23
-rw-r--r--dev-libs/libconfig/metadata.xml3
-rw-r--r--dev-libs/libcpuid/Manifest1
-rw-r--r--dev-libs/libcpuid/libcpuid-0.6.4.ebuild37
-rw-r--r--dev-libs/libcpuid/metadata.xml52
-rw-r--r--dev-libs/libcroco/libcroco-0.6.13-r1.ebuild16
-rw-r--r--dev-libs/libcroco/metadata.xml31
-rw-r--r--dev-libs/libcss/Manifest2
-rw-r--r--dev-libs/libcss/libcss-0.9.1-r1.ebuild51
-rw-r--r--dev-libs/libcss/libcss-0.9.2.ebuild43
-rw-r--r--dev-libs/libcss/libcss-9999.ebuild46
-rw-r--r--dev-libs/libcss/metadata.xml5
-rw-r--r--dev-libs/libdaemon/libdaemon-0.14-r3.ebuild71
-rw-r--r--dev-libs/libdaemon/libdaemon-0.14-r4.ebuild64
-rw-r--r--dev-libs/libdazzle/Manifest3
-rw-r--r--dev-libs/libdazzle/libdazzle-3.40.0.ebuild61
-rw-r--r--dev-libs/libdazzle/libdazzle-3.42.0.ebuild61
-rw-r--r--dev-libs/libdazzle/libdazzle-3.44.0.ebuild61
-rw-r--r--dev-libs/libdazzle/metadata.xml21
-rw-r--r--dev-libs/libdbh/libdbh-5.0.22.ebuild4
-rw-r--r--dev-libs/libdbusmenu-lxqt/Manifest1
-rw-r--r--dev-libs/libdbusmenu-lxqt/files/libdbusmenu-lxqt-0.1.0-cmake.patch129
-rw-r--r--dev-libs/libdbusmenu-lxqt/libdbusmenu-lxqt-0.1.0.ebuild24
-rw-r--r--dev-libs/libdbusmenu-lxqt/metadata.xml15
-rw-r--r--dev-libs/libdbusmenu-qt/libdbusmenu-qt-0.9.3_pre20160218-r3.ebuild4
-rw-r--r--dev-libs/libdbusmenu/libdbusmenu-16.04.0-r1.ebuild146
-rw-r--r--dev-libs/libdbusmenu/libdbusmenu-16.04.0-r2.ebuild152
-rw-r--r--dev-libs/libdex/Manifest1
-rw-r--r--dev-libs/libdex/libdex-0.4.3.ebuild70
-rw-r--r--dev-libs/libdex/metadata.xml24
-rw-r--r--dev-libs/libdispatch/Manifest4
-rw-r--r--dev-libs/libdispatch/files/libdispatch-5.3.3-musl.patch56
-rw-r--r--dev-libs/libdispatch/libdispatch-5.3.3-r1.ebuild47
-rw-r--r--dev-libs/libdispatch/libdispatch-5.7.1.ebuild57
-rw-r--r--dev-libs/libdispatch/libdispatch-5.7.3.ebuild57
-rw-r--r--dev-libs/libdispatch/libdispatch-5.8.ebuild57
-rw-r--r--dev-libs/libdispatch/metadata.xml5
-rw-r--r--dev-libs/libdivsufsort/libdivsufsort-2.0.1-r1.ebuild38
-rw-r--r--dev-libs/libdivsufsort/libdivsufsort-2.0.1-r2.ebuild39
-rw-r--r--dev-libs/libdnet/Manifest5
-rw-r--r--dev-libs/libdnet/files/libdnet-1.14-ndisc.patch796
-rw-r--r--dev-libs/libdnet/files/libdnet-1.14-strlcpy.patch10
-rw-r--r--dev-libs/libdnet/libdnet-1.14-r2.ebuild84
-rw-r--r--dev-libs/libdnet/libdnet-1.16.2.ebuild77
-rw-r--r--dev-libs/libdnet/libdnet-1.16.4.ebuild89
-rw-r--r--dev-libs/libdnet/libdnet-1.17.0.ebuild93
-rw-r--r--dev-libs/libdnet/libdnet-1.18.0.ebuild93
-rw-r--r--dev-libs/libdynd/libdynd-0.7.2-r1.ebuild10
-rw-r--r--dev-libs/libdynd/metadata.xml3
-rw-r--r--dev-libs/libe/Manifest1
-rw-r--r--dev-libs/libe/files/libe-0.11.0-strtoul.patch11
-rw-r--r--dev-libs/libe/libe-0.11.0.ebuild31
-rw-r--r--dev-libs/libe/metadata.xml8
-rw-r--r--dev-libs/libebml/Manifest3
-rw-r--r--dev-libs/libebml/files/libebml-1.4.2-header-fixes-for-gcc11.patch26
-rw-r--r--dev-libs/libebml/libebml-1.4.2.ebuild18
-rw-r--r--dev-libs/libebml/libebml-1.4.4.ebuild14
-rw-r--r--dev-libs/libebml/libebml-1.4.5.ebuild14
-rw-r--r--dev-libs/libedit/Manifest2
-rw-r--r--dev-libs/libedit/libedit-20210419.3.1.ebuild43
-rw-r--r--dev-libs/libedit/libedit-20221030.3.1.ebuild42
-rw-r--r--dev-libs/libee/libee-0.4.1.ebuild10
-rw-r--r--dev-libs/libee/metadata.xml5
-rw-r--r--dev-libs/libei/Manifest3
-rw-r--r--dev-libs/libei/libei-1.2.0.ebuild98
-rw-r--r--dev-libs/libei/libei-1.2.1.ebuild103
-rw-r--r--dev-libs/libei/metadata.xml11
-rw-r--r--dev-libs/libelf/libelf-0.8.13-r2.ebuild48
-rw-r--r--dev-libs/libelf/libelf-0.8.13-r3.ebuild56
-rw-r--r--dev-libs/libelf/libelf-0.8.13-r4.ebuild63
-rw-r--r--dev-libs/libelf/metadata.xml5
-rw-r--r--dev-libs/liberasurecode/Manifest2
-rw-r--r--dev-libs/liberasurecode/files/0001-configure-fix-basic-syntax-errors-in-the-shell-scrip.patch109
-rw-r--r--dev-libs/liberasurecode/liberasurecode-1.6.2.ebuild35
-rw-r--r--dev-libs/liberasurecode/liberasurecode-1.6.3.ebuild46
-rw-r--r--dev-libs/libestr/libestr-0.1.11-r1.ebuild36
-rw-r--r--dev-libs/libestr/libestr-0.1.11.ebuild41
-rw-r--r--dev-libs/libestr/metadata.xml19
-rw-r--r--dev-libs/libev/libev-4.33.ebuild14
-rw-r--r--dev-libs/libevdev/Manifest3
-rw-r--r--dev-libs/libevdev/libevdev-1.11.0.ebuild50
-rw-r--r--dev-libs/libevdev/libevdev-1.12.0.ebuild50
-rw-r--r--dev-libs/libevdev/libevdev-1.13.1.ebuild50
-rw-r--r--dev-libs/libevdev/libevdev-9999.ebuild6
-rw-r--r--dev-libs/libevdev/metadata.xml11
-rw-r--r--dev-libs/libevent/Manifest6
-rw-r--r--dev-libs/libevent/files/libevent-2.1.12-clang16.patch105
-rw-r--r--dev-libs/libevent/files/libevent-2.1.12-libressl.patch30
-rw-r--r--dev-libs/libevent/files/libevent-2.2.1-disable-signalfd.patch152
-rw-r--r--dev-libs/libevent/libevent-2.1.11.ebuild63
-rw-r--r--dev-libs/libevent/libevent-2.1.12-r1.ebuild90
-rw-r--r--dev-libs/libevent/libevent-2.1.12.ebuild75
-rw-r--r--dev-libs/libevent/libevent-2.1.9999.ebuild67
-rw-r--r--dev-libs/libevent/libevent-2.2.1-r2.ebuild83
-rw-r--r--dev-libs/libevent/libevent-9999.ebuild48
-rw-r--r--dev-libs/libezV24/files/libezV24-0.1.1-clang16-build-fix.patch21
-rw-r--r--dev-libs/libezV24/libezV24-0.1.1-r1.ebuild34
-rw-r--r--dev-libs/libezV24/libezV24-0.1.1-r2.ebuild37
-rw-r--r--dev-libs/libezV24/libezV24-0.1.1-r3.ebuild38
-rw-r--r--dev-libs/libf2c/Manifest1
-rw-r--r--dev-libs/libf2c/files/20240130-link-shared-libf2c-correctly.patch13
-rw-r--r--dev-libs/libf2c/files/libf2c-20240130-fix-buildsystem.patch66
-rw-r--r--dev-libs/libf2c/libf2c-20240130.ebuild54
-rw-r--r--dev-libs/libfastjson/Manifest3
-rw-r--r--dev-libs/libfastjson/libfastjson-0.99.8.ebuild40
-rw-r--r--dev-libs/libfastjson/libfastjson-0.99.9.ebuild40
-rw-r--r--dev-libs/libfastjson/libfastjson-1.2304.0.ebuild39
-rw-r--r--dev-libs/libfastjson/metadata.xml30
-rw-r--r--dev-libs/libffi-compat/libffi-compat-3.2.1-r3.ebuild2
-rw-r--r--dev-libs/libffi-compat/libffi-compat-3.3-r2.ebuild5
-rw-r--r--dev-libs/libffi-compat/metadata.xml1
-rw-r--r--dev-libs/libffi/Manifest4
-rw-r--r--dev-libs/libffi/files/libffi-3.2.1-o-tmpfile-eacces.patch17
-rw-r--r--dev-libs/libffi/files/libffi-3.3-compiler-vendor-quote.patch33
-rw-r--r--dev-libs/libffi/files/libffi-3.3-power7-memcpy-2.patch28
-rw-r--r--dev-libs/libffi/files/libffi-3.3-power7-memcpy.patch42
-rw-r--r--dev-libs/libffi/files/libffi-3.3-power7.patch39
-rw-r--r--dev-libs/libffi/files/libffi-3.3-ppc-int128.patch63
-rw-r--r--dev-libs/libffi/files/libffi-3.3-ppc-vector-offset.patch53
-rw-r--r--dev-libs/libffi/files/libffi-3.3_rc0-ppc-macos-go.patch79
-rw-r--r--dev-libs/libffi/files/libffi-3.4.4-hppa-closure-function-ptrs.patch170
-rw-r--r--dev-libs/libffi/files/libffi-3.4.4-hppa-jump-table.patch289
-rw-r--r--dev-libs/libffi/files/libffi-3.4.4-hppa-large-struct.patch36
-rw-r--r--dev-libs/libffi/files/libffi-3.4.4-lld-17.patch34
-rw-r--r--dev-libs/libffi/files/libffi-3.4.4-sparc-float-typo.patch28
-rw-r--r--dev-libs/libffi/files/libffi-3.4.4-trampoline-c99.patch39
-rw-r--r--dev-libs/libffi/libffi-3.3-r2.ebuild74
-rw-r--r--dev-libs/libffi/libffi-3.4.2-r1.ebuild73
-rw-r--r--dev-libs/libffi/libffi-3.4.4-r3.ebuild82
-rw-r--r--dev-libs/libffi/libffi-3.4.4-r4.ebuild83
-rw-r--r--dev-libs/libffi/libffi-3.4.6.ebuild73
-rw-r--r--dev-libs/libffi/metadata.xml1
-rw-r--r--dev-libs/libfido2/Manifest3
-rw-r--r--dev-libs/libfido2/files/libfido2-1.12.0-cmakelists.patch35
-rw-r--r--dev-libs/libfido2/files/libfido2-1.7.0-cmakelists.patch30
-rw-r--r--dev-libs/libfido2/libfido2-1.13.0.ebuild64
-rw-r--r--dev-libs/libfido2/libfido2-1.8.0.ebuild54
-rw-r--r--dev-libs/libfido2/libfido2-1.9.0.ebuild54
-rw-r--r--dev-libs/libfido2/metadata.xml3
-rw-r--r--dev-libs/libfilezilla/Manifest10
-rw-r--r--dev-libs/libfilezilla/files/libfilezilla-0.27.1-gcc11.patch10
-rw-r--r--dev-libs/libfilezilla/files/libfilezilla-0.37.1-pthread.patch13
-rw-r--r--dev-libs/libfilezilla/files/libfilezilla-0.41.0-gcc13.patch79
-rw-r--r--dev-libs/libfilezilla/libfilezilla-0.27.1.ebuild50
-rw-r--r--dev-libs/libfilezilla/libfilezilla-0.28.0.ebuild48
-rw-r--r--dev-libs/libfilezilla/libfilezilla-0.30.0.ebuild48
-rw-r--r--dev-libs/libfilezilla/libfilezilla-0.31.1.ebuild48
-rw-r--r--dev-libs/libfilezilla/libfilezilla-0.34.0.ebuild49
-rw-r--r--dev-libs/libfilezilla/libfilezilla-0.34.2.ebuild49
-rw-r--r--dev-libs/libfilezilla/libfilezilla-0.35.0.ebuild49
-rw-r--r--dev-libs/libfilezilla/libfilezilla-0.45.0.ebuild56
-rw-r--r--dev-libs/libfilezilla/libfilezilla-0.46.0.ebuild56
-rw-r--r--dev-libs/libfilezilla/libfilezilla-0.47.0.ebuild56
-rw-r--r--dev-libs/libfilezilla/metadata.xml4
-rw-r--r--dev-libs/libfmt/Manifest11
-rw-r--r--dev-libs/libfmt/files/libfmt-8.0.0-no-udl-define.patch56
-rw-r--r--dev-libs/libfmt/libfmt-10.0.0.ebuild32
-rw-r--r--dev-libs/libfmt/libfmt-10.1.0.ebuild32
-rw-r--r--dev-libs/libfmt/libfmt-10.1.1.ebuild32
-rw-r--r--dev-libs/libfmt/libfmt-10.2.0.ebuild32
-rw-r--r--dev-libs/libfmt/libfmt-10.2.1-r1.ebuild33
-rw-r--r--dev-libs/libfmt/libfmt-10.2.1.ebuild32
-rw-r--r--dev-libs/libfmt/libfmt-7.1.2.ebuild36
-rw-r--r--dev-libs/libfmt/libfmt-7.1.3.ebuild36
-rw-r--r--dev-libs/libfmt/libfmt-8.0.0-r1.ebuild40
-rw-r--r--dev-libs/libfmt/libfmt-8.0.1-r1.ebuild36
-rw-r--r--dev-libs/libfmt/libfmt-8.1.1.ebuild36
-rw-r--r--dev-libs/libfmt/libfmt-9.1.0-r1.ebuild32
-rw-r--r--dev-libs/libfmt/libfmt-9999.ebuild21
-rw-r--r--dev-libs/libfmt/metadata.xml1
-rw-r--r--dev-libs/libfstrcmp/files/libfstrcmp-0.7-docdir.patch140
-rw-r--r--dev-libs/libfstrcmp/files/libfstrcmp-0.7-libtool.patch81
-rw-r--r--dev-libs/libfstrcmp/libfstrcmp-0.7-r3.ebuild49
-rw-r--r--dev-libs/libg15/Manifest1
-rw-r--r--dev-libs/libg15/libg15-3.0.7.ebuild37
-rw-r--r--dev-libs/libg15/libg15-9999.ebuild15
-rw-r--r--dev-libs/libg15/metadata.xml4
-rw-r--r--dev-libs/libg15render/Manifest1
-rw-r--r--dev-libs/libg15render/files/libg15render-3.0.4-docdir.patch25
-rw-r--r--dev-libs/libg15render/files/libg15render-3.0.4-freetype_pkgconfig.patch59
-rw-r--r--dev-libs/libg15render/libg15render-3.0.4.ebuild52
-rw-r--r--dev-libs/libg15render/libg15render-9999.ebuild51
-rw-r--r--dev-libs/libg15render/metadata.xml4
-rw-r--r--dev-libs/libgamin/files/libgamin-0.1.10-crosscompile-fix.patch4
-rw-r--r--dev-libs/libgamin/files/libgamin-0.1.10-musl-pthread.patch33
-rw-r--r--dev-libs/libgamin/libgamin-0.1.10-r6.ebuild5
-rw-r--r--dev-libs/libgamin/libgamin-0.1.10-r7.ebuild100
-rw-r--r--dev-libs/libgaminggear/libgaminggear-0.15.1.ebuild34
-rw-r--r--dev-libs/libgaminggear/metadata.xml5
-rw-r--r--dev-libs/libgcrypt-compat/libgcrypt-compat-1.5.6.ebuild8
-rw-r--r--dev-libs/libgcrypt/Manifest7
-rw-r--r--dev-libs/libgcrypt/files/libgcrypt-1.10.2-darwin.patch20
-rw-r--r--dev-libs/libgcrypt/files/libgcrypt-1.10.3-hppa.patch110
-rw-r--r--dev-libs/libgcrypt/files/libgcrypt-1.10.3-x86-refactor.patch428
-rw-r--r--dev-libs/libgcrypt/files/libgcrypt-1.10.3-x86.patch94
-rw-r--r--dev-libs/libgcrypt/files/libgcrypt-1.6.1-uscore.patch26
-rw-r--r--dev-libs/libgcrypt/files/libgcrypt-1.9.4-arm-neon-compile-fix.patch44
-rw-r--r--dev-libs/libgcrypt/files/libgcrypt-1.9.4-no-fgrep-libgcrypt-config.patch21
-rw-r--r--dev-libs/libgcrypt/libgcrypt-1.10.2.ebuild177
-rw-r--r--dev-libs/libgcrypt/libgcrypt-1.10.3-r1.ebuild175
-rw-r--r--dev-libs/libgcrypt/libgcrypt-1.10.3-r2.ebuild178
-rw-r--r--dev-libs/libgcrypt/libgcrypt-1.8.7.ebuild77
-rw-r--r--dev-libs/libgcrypt/libgcrypt-1.8.8.ebuild84
-rw-r--r--dev-libs/libgcrypt/libgcrypt-1.9.4.ebuild117
-rw-r--r--dev-libs/libgcrypt/metadata.xml7
-rw-r--r--dev-libs/libgdata/libgdata-0.18.1-r1.ebuild65
-rw-r--r--dev-libs/libgdata/libgdata-0.18.1.ebuild64
-rw-r--r--dev-libs/libgdata/metadata.xml19
-rw-r--r--dev-libs/libgee/Manifest2
-rw-r--r--dev-libs/libgee/files/libgee-0.20.6-c99-2.patch55
-rw-r--r--dev-libs/libgee/files/libgee-0.20.6-c99.patch43
-rw-r--r--dev-libs/libgee/libgee-0.20.4.ebuild28
-rw-r--r--dev-libs/libgee/libgee-0.20.6-r1.ebuild43
-rw-r--r--dev-libs/libgee/metadata.xml11
-rw-r--r--dev-libs/libgit2-glib/Manifest3
-rw-r--r--dev-libs/libgit2-glib/files/libgit2-glib-0.99.0.1-vapilink.patch26
-rw-r--r--dev-libs/libgit2-glib/libgit2-glib-0.99.0.1-r2.ebuild64
-rw-r--r--dev-libs/libgit2-glib/libgit2-glib-1.0.0.1.ebuild60
-rw-r--r--dev-libs/libgit2-glib/libgit2-glib-1.2.0.ebuild64
-rw-r--r--dev-libs/libgit2-glib/metadata.xml25
-rw-r--r--dev-libs/libgit2/Manifest3
-rw-r--r--dev-libs/libgit2/libgit2-1.3.0.ebuild72
-rw-r--r--dev-libs/libgit2/libgit2-1.7.2.ebuild75
-rw-r--r--dev-libs/libgit2/libgit2-1.8.0.ebuild75
-rw-r--r--dev-libs/libglib-testing/Manifest1
-rw-r--r--dev-libs/libglib-testing/libglib-testing-0.1.1.ebuild26
-rw-r--r--dev-libs/libglib-testing/metadata.xml11
-rw-r--r--dev-libs/libgnome-games-support/Manifest1
-rw-r--r--dev-libs/libgnome-games-support/libgnome-games-support-1.8.2.ebuild4
-rw-r--r--dev-libs/libgnome-games-support/libgnome-games-support-2.0.0.ebuild32
-rw-r--r--dev-libs/libgnome-games-support/metadata.xml11
-rw-r--r--dev-libs/libgnt/libgnt-2.14.3.ebuild11
-rw-r--r--dev-libs/libgnt/metadata.xml8
-rw-r--r--dev-libs/libgpg-error/Manifest6
-rw-r--r--dev-libs/libgpg-error/files/libgpg-error-1.37-remove_broken_check.patch22
-rw-r--r--dev-libs/libgpg-error/files/libgpg-error-1.42-cross_compile.patch32
-rw-r--r--dev-libs/libgpg-error/files/libgpg-error-1.44-remove_broken_check.patch22
-rw-r--r--dev-libs/libgpg-error/files/libgpg-error-1.48-remove_broken_check.patch20
-rw-r--r--dev-libs/libgpg-error/libgpg-error-1.42.ebuild66
-rw-r--r--dev-libs/libgpg-error/libgpg-error-1.43.ebuild65
-rw-r--r--dev-libs/libgpg-error/libgpg-error-1.47-r1.ebuild86
-rw-r--r--dev-libs/libgpg-error/libgpg-error-1.48.ebuild86
-rw-r--r--dev-libs/libgpg-error/metadata.xml6
-rw-r--r--dev-libs/libgpiod/Manifest4
-rw-r--r--dev-libs/libgpiod/files/libgpiod-2.1-libtool.patch66
-rw-r--r--dev-libs/libgpiod/libgpiod-1.4.1.ebuild48
-rw-r--r--dev-libs/libgpiod/libgpiod-1.6.3-r4.ebuild52
-rw-r--r--dev-libs/libgpiod/libgpiod-1.6.3.ebuild48
-rw-r--r--dev-libs/libgpiod/libgpiod-1.6.4.ebuild52
-rw-r--r--dev-libs/libgpiod/libgpiod-2.1.1.ebuild67
-rw-r--r--dev-libs/libgpiod/libgpiod-2.1.ebuild66
-rw-r--r--dev-libs/libgpiod/metadata.xml4
-rw-r--r--dev-libs/libgrapheme/Manifest2
-rw-r--r--dev-libs/libgrapheme/files/libgrapheme-1-make.patch32
-rw-r--r--dev-libs/libgrapheme/libgrapheme-1.ebuild37
-rw-r--r--dev-libs/libgrapheme/libgrapheme-2.0.2.ebuild43
-rw-r--r--dev-libs/libgudev/Manifest3
-rw-r--r--dev-libs/libgudev/files/libgudev-test-double.patch30
-rw-r--r--dev-libs/libgudev/libgudev-236.ebuild43
-rw-r--r--dev-libs/libgudev/libgudev-237-r1.ebuild52
-rw-r--r--dev-libs/libgudev/libgudev-238-r1.ebuild47
-rw-r--r--dev-libs/libgudev/metadata.xml17
-rw-r--r--dev-libs/libgusb/Manifest4
-rw-r--r--dev-libs/libgusb/libgusb-0.3.10.ebuild63
-rw-r--r--dev-libs/libgusb/libgusb-0.3.7-r1.ebuild63
-rw-r--r--dev-libs/libgusb/libgusb-0.4.7.ebuild72
-rw-r--r--dev-libs/libgusb/libgusb-0.4.8.ebuild72
-rw-r--r--dev-libs/libgweather/Manifest2
-rw-r--r--dev-libs/libgweather/files/40.0-autoskip-network-test.patch29
-rw-r--r--dev-libs/libgweather/files/40.0-meson-tweaks.patch109
-rw-r--r--dev-libs/libgweather/files/40.0-tests-locale.patch55
-rw-r--r--dev-libs/libgweather/libgweather-4.4.2.ebuild88
-rw-r--r--dev-libs/libgweather/libgweather-40.0.ebuild81
-rw-r--r--dev-libs/libgweather/metadata.xml14
-rw-r--r--dev-libs/libhid/libhid-0.2.17-r1.ebuild62
-rw-r--r--dev-libs/libhid/libhid-0.2.17.ebuild61
-rw-r--r--dev-libs/libical/Manifest2
-rw-r--r--dev-libs/libical/libical-3.0.12.ebuild114
-rw-r--r--dev-libs/libical/libical-3.0.17.ebuild117
-rw-r--r--dev-libs/libical/metadata.xml2
-rw-r--r--dev-libs/libiconv/Manifest3
-rw-r--r--dev-libs/libiconv/files/libiconv-1.15-no-aix-tweaks.patch20
-rw-r--r--dev-libs/libiconv/files/libiconv-1.15-no-gets.patch22
-rw-r--r--dev-libs/libiconv/libiconv-1.15.ebuild61
-rw-r--r--dev-libs/libiconv/libiconv-1.16.ebuild52
-rw-r--r--dev-libs/libiconv/libiconv-1.17.ebuild52
-rw-r--r--dev-libs/libiconv/metadata.xml21
-rw-r--r--dev-libs/libindicate/files/libindicate-0.6.1-no-mono.patch78
-rw-r--r--dev-libs/libindicate/files/libindicate-12.10.1-autotools.patch151
-rw-r--r--dev-libs/libindicate/files/libindicate-12.10.1-tests-werror.patch47
-rw-r--r--dev-libs/libindicate/files/libindicate-12.10.1-werror.patch13
-rw-r--r--dev-libs/libindicate/libindicate-12.10.1-r3.ebuild77
-rw-r--r--dev-libs/libindicate/libindicate-12.10.1-r4.ebuild71
-rw-r--r--dev-libs/libindicator/libindicator-12.10.1-r301.ebuild4
-rw-r--r--dev-libs/libinput/Manifest2
-rw-r--r--dev-libs/libinput/libinput-1.19.3.ebuild88
-rw-r--r--dev-libs/libinput/libinput-1.25.0.ebuild102
-rw-r--r--dev-libs/libinput/metadata.xml19
-rw-r--r--dev-libs/libintl/Manifest7
-rw-r--r--dev-libs/libintl/files/libintl-0.21.1-java-autoconf.patch100
-rw-r--r--dev-libs/libintl/libintl-0.21.1.ebuild96
-rw-r--r--dev-libs/libintl/libintl-0.21.ebuild80
-rw-r--r--dev-libs/libintl/libintl-0.22.4.ebuild99
-rw-r--r--dev-libs/libintl/libintl-0.22.5.ebuild107
-rw-r--r--dev-libs/libisoburn/Manifest2
-rw-r--r--dev-libs/libisoburn/libisoburn-1.5.4.ebuild66
-rw-r--r--dev-libs/libisoburn/libisoburn-1.5.6-r1.ebuild83
-rw-r--r--dev-libs/libisoburn/libisoburn-1.5.6.ebuild74
-rw-r--r--dev-libs/libisofs/Manifest2
-rw-r--r--dev-libs/libisofs/libisofs-1.5.4.ebuild45
-rw-r--r--dev-libs/libisofs/libisofs-1.5.6_p1-r1.ebuild59
-rw-r--r--dev-libs/libisofs/libisofs-1.5.6_p1.ebuild50
-rw-r--r--dev-libs/libite/Manifest3
-rw-r--r--dev-libs/libite/libite-2.4.0.ebuild22
-rw-r--r--dev-libs/libite/libite-2.5.1.ebuild23
-rw-r--r--dev-libs/libite/libite-2.6.1.ebuild19
-rw-r--r--dev-libs/libixion/Manifest3
-rw-r--r--dev-libs/libixion/files/libixion-0.16.1-clang.patch18
-rw-r--r--dev-libs/libixion/libixion-0.16.1.ebuild63
-rw-r--r--dev-libs/libixion/libixion-0.17.0.ebuild60
-rw-r--r--dev-libs/libixion/libixion-0.19.0.ebuild57
-rw-r--r--dev-libs/libixion/libixion-9999.ebuild21
-rw-r--r--dev-libs/libjcat/Manifest4
-rw-r--r--dev-libs/libjcat/files/libjcat-0.1.1-disable_installed_tests.patch46
-rw-r--r--dev-libs/libjcat/files/libjcat-0.1.11-disable_installed_tests.patch60
-rw-r--r--dev-libs/libjcat/libjcat-0.1.14.ebuild68
-rw-r--r--dev-libs/libjcat/libjcat-0.1.8.ebuild65
-rw-r--r--dev-libs/libjcat/libjcat-0.1.9.ebuild65
-rw-r--r--dev-libs/libjcat/libjcat-0.2.1.ebuild82
-rw-r--r--dev-libs/libjcat/metadata.xml6
-rw-r--r--dev-libs/libjodycode/Manifest1
-rw-r--r--dev-libs/libjodycode/files/libjodycode-3.0.1-static-lib.patch12
-rw-r--r--dev-libs/libjodycode/libjodycode-3.1.ebuild33
-rw-r--r--dev-libs/libjodycode/metadata.xml15
-rw-r--r--dev-libs/libjwt/Manifest1
-rw-r--r--dev-libs/libjwt/files/libjwt-1.15.3_multi_ssl_atools.patch342
-rw-r--r--dev-libs/libjwt/libjwt-1.15.3.ebuild68
-rw-r--r--dev-libs/libjwt/metadata.xml26
-rw-r--r--dev-libs/libkpass/libkpass-6-r1.ebuild25
-rw-r--r--dev-libs/libkpass/libkpass-6-r2.ebuild26
-rw-r--r--dev-libs/libksba/Manifest7
-rw-r--r--dev-libs/libksba/files/libksba-1.6.0-no-fgrep-ksba-config.patch21
-rw-r--r--dev-libs/libksba/libksba-1.5.0.ebuild33
-rw-r--r--dev-libs/libksba/libksba-1.5.1.ebuild33
-rw-r--r--dev-libs/libksba/libksba-1.6.0.ebuild33
-rw-r--r--dev-libs/libksba/libksba-1.6.5.ebuild62
-rw-r--r--dev-libs/libksba/libksba-1.6.6.ebuild62
-rw-r--r--dev-libs/libksba/metadata.xml8
-rw-r--r--dev-libs/libliftoff/Manifest2
-rw-r--r--dev-libs/libliftoff/libliftoff-0.3.0.ebuild20
-rw-r--r--dev-libs/libliftoff/libliftoff-0.4.1.ebuild20
-rw-r--r--dev-libs/libliftoff/metadata.xml8
-rw-r--r--dev-libs/liblinear/Manifest1
-rw-r--r--dev-libs/liblinear/liblinear-246.ebuild61
-rw-r--r--dev-libs/liblist/Manifest1
-rw-r--r--dev-libs/liblist/liblist-2.4-r1.ebuild51
-rw-r--r--dev-libs/liblist/metadata.xml9
-rw-r--r--dev-libs/liblogging/liblogging-1.0.6-r1.ebuild4
-rw-r--r--dev-libs/liblogging/metadata.xml4
-rw-r--r--dev-libs/liblognorm/files/liblognorm-2.0.6-configure-clang16.patch21
-rw-r--r--dev-libs/liblognorm/files/liblognorm-2.0.6-sphinx-5.patch11
-rw-r--r--dev-libs/liblognorm/liblognorm-2.0.6-r1.ebuild77
-rw-r--r--dev-libs/liblognorm/liblognorm-2.0.6.ebuild73
-rw-r--r--dev-libs/liblognorm/metadata.xml5
-rw-r--r--dev-libs/liblouis/Manifest4
-rw-r--r--dev-libs/liblouis/liblouis-3.13.0.ebuild75
-rw-r--r--dev-libs/liblouis/liblouis-3.17.0.ebuild75
-rw-r--r--dev-libs/liblouis/liblouis-3.23.0.ebuild75
-rw-r--r--dev-libs/liblouis/liblouis-3.25.0.ebuild94
-rw-r--r--dev-libs/libltdl/Manifest2
-rw-r--r--dev-libs/libltdl/libltdl-2.4.6.ebuild39
-rw-r--r--dev-libs/libltdl/libltdl-2.4.7-r1.ebuild40
-rw-r--r--dev-libs/liblzw/metadata.xml1
-rw-r--r--dev-libs/libmaa/Manifest1
-rw-r--r--dev-libs/libmaa/files/libmaa-1.3.2-libtool.patch62
-rw-r--r--dev-libs/libmaa/files/libmaa-1.4.7-makefile-respect-flags.patch21
-rw-r--r--dev-libs/libmaa/libmaa-1.3.2-r1.ebuild32
-rw-r--r--dev-libs/libmaa/libmaa-1.3.2.ebuild20
-rw-r--r--dev-libs/libmaa/libmaa-1.4.7.ebuild92
-rw-r--r--dev-libs/libmaa/metadata.xml1
-rw-r--r--dev-libs/libmacaroons/Manifest1
-rw-r--r--dev-libs/libmacaroons/files/libmacaroons-0.3.0-json-c.patch38
-rw-r--r--dev-libs/libmacaroons/files/libmacaroons-0.3.0-no-python.patch91
-rw-r--r--dev-libs/libmacaroons/libmacaroons-0.3.0-r2.ebuild42
-rw-r--r--dev-libs/libmacaroons/metadata.xml17
-rw-r--r--dev-libs/libmanette/Manifest2
-rw-r--r--dev-libs/libmanette/libmanette-0.2.6.ebuild44
-rw-r--r--dev-libs/libmanette/libmanette-0.2.7.ebuild49
-rw-r--r--dev-libs/libmanette/metadata.xml11
-rw-r--r--dev-libs/libmateweather/Manifest3
-rw-r--r--dev-libs/libmateweather/libmateweather-1.24.1.ebuild45
-rw-r--r--dev-libs/libmateweather/libmateweather-1.26.3.ebuild48
-rw-r--r--dev-libs/libmateweather/libmateweather-1.27.1.ebuild48
-rw-r--r--dev-libs/libmateweather/metadata.xml14
-rw-r--r--dev-libs/libmaxminddb/Manifest1
-rw-r--r--dev-libs/libmaxminddb/libmaxminddb-1.7.1.ebuild46
-rw-r--r--dev-libs/libmaxminddb/libmaxminddb-9999.ebuild8
-rw-r--r--dev-libs/libmba/files/libmba-0.9.1-clang16-build-fix.patch11
-rw-r--r--dev-libs/libmba/libmba-0.9.1-r4.ebuild46
-rw-r--r--dev-libs/libmba/libmba-0.9.1-r5.ebuild47
-rw-r--r--dev-libs/libmcfp/Manifest2
-rw-r--r--dev-libs/libmcfp/libmcfp-1.2.2.ebuild25
-rw-r--r--dev-libs/libmcfp/libmcfp-1.2.3.ebuild25
-rw-r--r--dev-libs/libmcfp/metadata.xml10
-rw-r--r--dev-libs/libmcrypt/files/libmcrypt-2.5.8-c99-2.patch42
-rw-r--r--dev-libs/libmcrypt/files/libmcrypt-2.5.8-c99.patch56
-rw-r--r--dev-libs/libmcrypt/files/libmcrypt-2.5.8-implicit-int.patch33
-rw-r--r--dev-libs/libmcrypt/files/libmcrypt-2.5.8-prototypes.patch35
-rw-r--r--dev-libs/libmcrypt/files/libmcrypt-2.5.8-uninitialized.patch12
-rw-r--r--dev-libs/libmcrypt/libmcrypt-2.5.8-r4.ebuild33
-rw-r--r--dev-libs/libmcrypt/libmcrypt-2.5.8-r6.ebuild50
-rw-r--r--dev-libs/libmcrypt/libmcrypt-2.5.8-r7.ebuild53
-rw-r--r--dev-libs/libmelf/files/libmelf-0.4.0-r2-ldflags-soname.patch13
-rw-r--r--dev-libs/libmelf/libmelf-0.4.0-r1.ebuild56
-rw-r--r--dev-libs/libmelf/libmelf-0.4.0-r2.ebuild52
-rw-r--r--dev-libs/libmemcached-awesome/Manifest1
-rw-r--r--dev-libs/libmemcached-awesome/libmemcached-awesome-1.1.4.ebuild47
-rw-r--r--dev-libs/libmemcached-awesome/metadata.xml19
-rw-r--r--dev-libs/libmemcached/libmemcached-1.0.18-r4.ebuild6
-rw-r--r--dev-libs/libmirage/Manifest2
-rw-r--r--dev-libs/libmirage/libmirage-3.2.6.ebuild50
-rw-r--r--dev-libs/libmirage/libmirage-3.2.7.ebuild50
-rw-r--r--dev-libs/libmix/libmix-2.05-r7.ebuild10
-rw-r--r--dev-libs/libmodbus/Manifest2
-rw-r--r--dev-libs/libmodbus/files/libmodbus-3.1.4-doc.patch11
-rw-r--r--dev-libs/libmodbus/libmodbus-3.1.10.ebuild31
-rw-r--r--dev-libs/libmodbus/libmodbus-3.1.6.ebuild33
-rw-r--r--dev-libs/libmodbus/metadata.xml9
-rw-r--r--dev-libs/libmowgli/libmowgli-2.1.3-r3.ebuild4
-rw-r--r--dev-libs/libmpack/files/libmpack-1.0.5-libtool.patch89
-rw-r--r--dev-libs/libmpack/libmpack-1.0.5-r5.ebuild69
-rw-r--r--dev-libs/libmpack/libmpack-1.0.5.ebuild62
-rw-r--r--dev-libs/libmspack/Manifest1
-rw-r--r--dev-libs/libmspack/libmspack-0.10.1_alpha-r1.ebuild67
-rw-r--r--dev-libs/libmspack/libmspack-0.10.1_alpha.ebuild73
-rw-r--r--dev-libs/libmspack/libmspack-0.11_alpha.ebuild67
-rw-r--r--dev-libs/libmspack/libmspack-9999.ebuild56
-rw-r--r--dev-libs/libmspack/metadata.xml3
-rw-r--r--dev-libs/libnatspec/libnatspec-0.3.0.ebuild6
-rw-r--r--dev-libs/libnest2d/Manifest1
-rw-r--r--dev-libs/libnest2d/files/libnest2d-0.4-add-disallowed-areas.patch122
-rw-r--r--dev-libs/libnest2d/files/libnest2d-0.4-add-soversion-to-shared-library.patch21
-rw-r--r--dev-libs/libnest2d/files/libnest2d-0.4-fix-cpp-version.patch11
-rw-r--r--dev-libs/libnest2d/files/libnest2d-0.4-gnu-install-dirs.patch25
-rw-r--r--dev-libs/libnest2d/libnest2d-0.4-r2.ebuild45
-rw-r--r--dev-libs/libnest2d/metadata.xml27
-rw-r--r--dev-libs/libnfc/libnfc-1.8.0-r1.ebuild6
-rw-r--r--dev-libs/libnfc/metadata.xml10
-rw-r--r--dev-libs/libnl/Manifest4
-rw-r--r--dev-libs/libnl/files/libnl-3.8.0-printf-non-bash.patch22
-rw-r--r--dev-libs/libnl/files/libnl-3.8.0-python-decorator-syntax.patch21
-rw-r--r--dev-libs/libnl/files/libnl-99999999-2to3.patch42
-rw-r--r--dev-libs/libnl/libnl-3.5.0.ebuild99
-rw-r--r--dev-libs/libnl/libnl-3.7.0.ebuild113
-rw-r--r--dev-libs/libnl/libnl-3.8.0.ebuild125
-rw-r--r--dev-libs/libnl/libnl-3.9.0.ebuild120
-rw-r--r--dev-libs/libnl/libnl-9999.ebuild120
-rw-r--r--dev-libs/libnl/libnl-99999999.ebuild107
-rw-r--r--dev-libs/libnop/Manifest1
-rw-r--r--dev-libs/libnop/files/libnop-2021.11.03-libstdc++.patch11
-rw-r--r--dev-libs/libnop/libnop-2021.11.03.ebuild35
-rw-r--r--dev-libs/libnop/metadata.xml11
-rw-r--r--dev-libs/libnsfb/libnsfb-0.2.2-r1.ebuild8
-rw-r--r--dev-libs/libnsutils/Manifest2
-rw-r--r--dev-libs/libnsutils/libnsutils-0.1.0-r1.ebuild30
-rw-r--r--dev-libs/libnsutils/libnsutils-0.1.1.ebuild29
-rw-r--r--dev-libs/libnsutils/libnsutils-9999.ebuild28
-rw-r--r--dev-libs/libnsutils/metadata.xml5
-rw-r--r--dev-libs/libofx/Manifest4
-rw-r--r--dev-libs/libofx/files/libofx-0.10.1-docdir.patch40
-rw-r--r--dev-libs/libofx/files/libofx-0.10.1-opensp-libdir.patch34
-rw-r--r--dev-libs/libofx/libofx-0.10.1-r1.ebuild70
-rw-r--r--dev-libs/libofx/libofx-0.10.2.ebuild65
-rw-r--r--dev-libs/libofx/libofx-0.10.3.ebuild65
-rw-r--r--dev-libs/libofx/libofx-0.10.9.ebuild50
-rw-r--r--dev-libs/liboil/liboil-0.3.17-r3.ebuild69
-rw-r--r--dev-libs/liboil/liboil-0.3.17-r4.ebuild68
-rw-r--r--dev-libs/liborcus/Manifest3
-rw-r--r--dev-libs/liborcus/files/liborcus-0.15.4-gcc11.patch72
-rw-r--r--dev-libs/liborcus/files/liborcus-0.17.0-test-fix.patch51
-rw-r--r--dev-libs/liborcus/liborcus-0.16.1.ebuild69
-rw-r--r--dev-libs/liborcus/liborcus-0.17.0.ebuild67
-rw-r--r--dev-libs/liborcus/liborcus-0.19.2.ebuild62
-rw-r--r--dev-libs/liborcus/liborcus-9999.ebuild20
-rw-r--r--dev-libs/libotf/libotf-0.9.16-r1.ebuild49
-rw-r--r--dev-libs/libotf/libotf-0.9.16.ebuild4
-rw-r--r--dev-libs/libowfat/Manifest1
-rw-r--r--dev-libs/libowfat/libowfat-0.32-r1.ebuild7
-rw-r--r--dev-libs/libowfat/libowfat-0.32-r5.ebuild16
-rw-r--r--dev-libs/libowfat/libowfat-0.33-r1.ebuild55
-rw-r--r--dev-libs/libp11/Manifest3
-rw-r--r--dev-libs/libp11/files/libp11-0.4.12-openssl-3.1.patch50
-rw-r--r--dev-libs/libp11/libp11-0.4.10-r1.ebuild31
-rw-r--r--dev-libs/libp11/libp11-0.4.11-r1.ebuild31
-rw-r--r--dev-libs/libp11/libp11-0.4.11-r2.ebuild30
-rw-r--r--dev-libs/libp11/libp11-0.4.12-r7.ebuild56
-rw-r--r--dev-libs/libp11/metadata.xml7
-rw-r--r--dev-libs/libparserutils/Manifest2
-rw-r--r--dev-libs/libparserutils/libparserutils-0.2.4-r3.ebuild44
-rw-r--r--dev-libs/libparserutils/libparserutils-0.2.5.ebuild44
-rw-r--r--dev-libs/libparserutils/metadata.xml5
-rw-r--r--dev-libs/libpcre/files/libpcre-8.45-fix-stack-size-detection.patch18
-rw-r--r--dev-libs/libpcre/libpcre-8.45-r1.ebuild104
-rw-r--r--dev-libs/libpcre/libpcre-8.45-r2.ebuild106
-rw-r--r--dev-libs/libpcre/libpcre-8.45-r3.ebuild109
-rw-r--r--dev-libs/libpcre/libpcre-8.45.ebuild99
-rw-r--r--dev-libs/libpcre/metadata.xml4
-rw-r--r--dev-libs/libpcre2/Manifest8
-rw-r--r--dev-libs/libpcre2/files/libpcre2-10.10-000-Fix-multilib.patch37
-rw-r--r--dev-libs/libpcre2/files/libpcre2-10.37-jit_fixes.patch80
-rw-r--r--dev-libs/libpcre2/files/libpcre2-10.38-fix-fix-incorrect-detection-of-alternatives-in-first-character-search.patch49
-rw-r--r--dev-libs/libpcre2/files/libpcre2-10.43-fix-loong-sljit.patch30
-rw-r--r--dev-libs/libpcre2/libpcre2-10.37-r2.ebuild97
-rw-r--r--dev-libs/libpcre2/libpcre2-10.38-r1.ebuild96
-rw-r--r--dev-libs/libpcre2/libpcre2-10.38.ebuild94
-rw-r--r--dev-libs/libpcre2/libpcre2-10.39.ebuild94
-rw-r--r--dev-libs/libpcre2/libpcre2-10.42-r1.ebuild97
-rw-r--r--dev-libs/libpcre2/libpcre2-10.42-r2.ebuild96
-rw-r--r--dev-libs/libpcre2/libpcre2-10.43.ebuild96
-rw-r--r--dev-libs/libpcre2/metadata.xml6
-rw-r--r--dev-libs/libpeas/Manifest2
-rw-r--r--dev-libs/libpeas/libpeas-1.30.0.ebuild84
-rw-r--r--dev-libs/libpeas/libpeas-1.36.0.ebuild99
-rw-r--r--dev-libs/libpeas/metadata.xml20
-rw-r--r--dev-libs/libpfm/Manifest2
-rw-r--r--dev-libs/libpfm/libpfm-4.10.1-r1.ebuild35
-rw-r--r--dev-libs/libpfm/libpfm-4.11.0.ebuild4
-rw-r--r--dev-libs/libpfm/libpfm-4.12.0.ebuild40
-rw-r--r--dev-libs/libpipeline/Manifest3
-rw-r--r--dev-libs/libpipeline/libpipeline-1.5.4.ebuild27
-rw-r--r--dev-libs/libpipeline/libpipeline-1.5.5.ebuild27
-rw-r--r--dev-libs/libpipeline/libpipeline-1.5.7.ebuild23
-rw-r--r--dev-libs/libpipeline/metadata.xml2
-rw-r--r--dev-libs/libplatform/libplatform-2.1.0.1-r1.ebuild25
-rw-r--r--dev-libs/libplatform/libplatform-2.1.0.1-r2.ebuild25
-rw-r--r--dev-libs/libplatform/libplatform-9999.ebuild8
-rw-r--r--dev-libs/libpo6/Manifest1
-rw-r--r--dev-libs/libpo6/libpo6-0.8.0.ebuild21
-rw-r--r--dev-libs/libpo6/metadata.xml8
-rw-r--r--dev-libs/libportal/Manifest1
-rw-r--r--dev-libs/libportal/libportal-0.7.1.ebuild109
-rw-r--r--dev-libs/libportal/metadata.xml11
-rw-r--r--dev-libs/libpqxx/Manifest5
-rw-r--r--dev-libs/libpqxx/libpqxx-7.1.2.ebuild78
-rw-r--r--dev-libs/libpqxx/libpqxx-7.2.1.ebuild78
-rw-r--r--dev-libs/libpqxx/libpqxx-7.3.0.ebuild78
-rw-r--r--dev-libs/libpqxx/libpqxx-7.4.1.ebuild78
-rw-r--r--dev-libs/libpqxx/libpqxx-7.7.5.ebuild80
-rw-r--r--dev-libs/libpqxx/metadata.xml3
-rw-r--r--dev-libs/libprelude/Manifest1
-rw-r--r--dev-libs/libprelude/files/libprelude-4.0.0-fix-python-bindings.patch38
-rw-r--r--dev-libs/libprelude/files/libprelude-5.1.0-fix_gtkdoc_1.32.patch13
-rw-r--r--dev-libs/libprelude/files/libprelude-5.2.0-luabindings_liblua.patch13
-rw-r--r--dev-libs/libprelude/libprelude-5.2.0-r10.ebuild102
-rw-r--r--dev-libs/libprelude/metadata.xml20
-rw-r--r--dev-libs/libpreludedb/Manifest2
-rw-r--r--dev-libs/libpreludedb/files/libpreludedb-4.0.0-fix-python-bindings.patch39
-rw-r--r--dev-libs/libpreludedb/files/libpreludedb-5.1.0-fix_gtkdoc_1.32.patch13
-rw-r--r--dev-libs/libpreludedb/libpreludedb-5.2.0.ebuild93
-rw-r--r--dev-libs/libpreludedb/metadata.xml19
-rw-r--r--dev-libs/libpsl-native/Manifest1
-rw-r--r--dev-libs/libpsl-native/files/libpsl-native-7.3.2-test-cmake.patch18
-rw-r--r--dev-libs/libpsl-native/files/libpsl-native-7.4.0-cmake.patch11
-rw-r--r--dev-libs/libpsl-native/libpsl-native-7.4.0.ebuild41
-rw-r--r--dev-libs/libpsl-native/metadata.xml13
-rw-r--r--dev-libs/libpthread-stubs/Manifest2
-rw-r--r--dev-libs/libpthread-stubs/libpthread-stubs-0.4-r1.ebuild23
-rw-r--r--dev-libs/libpthread-stubs/libpthread-stubs-0.5.ebuild16
-rw-r--r--dev-libs/libpthread-stubs/metadata.xml11
-rw-r--r--dev-libs/libptytty/files/libptytty-2.0-configure-clang16.patch15
-rw-r--r--dev-libs/libptytty/libptytty-2.0-r1.ebuild34
-rw-r--r--dev-libs/libptytty/libptytty-2.0.ebuild33
-rw-r--r--dev-libs/libpwquality/Manifest2
-rw-r--r--dev-libs/libpwquality/files/libpwquality-1.4.4-pam_pwquality-include.patch35
-rw-r--r--dev-libs/libpwquality/libpwquality-1.4.4.ebuild79
-rw-r--r--dev-libs/libpwquality/libpwquality-1.4.5-r1.ebuild75
-rw-r--r--dev-libs/libpwquality/libpwquality-1.4.5.ebuild87
-rw-r--r--dev-libs/libpwquality/metadata.xml11
-rw-r--r--dev-libs/libpy/files/libpy-0.2.5-setuptools.patch11
-rw-r--r--dev-libs/libpy/files/libpy-0.2.5-stdint.patch11
-rw-r--r--dev-libs/libpy/libpy-0.2.5-r1.ebuild52
-rw-r--r--dev-libs/libpy/libpy-0.2.5-r2.ebuild61
-rw-r--r--dev-libs/libqt5pas/Manifest1
-rw-r--r--dev-libs/libqt5pas/libqt5pas-1.2.9.ebuild35
-rw-r--r--dev-libs/libqt5pas/metadata.xml16
-rw-r--r--dev-libs/libqtxdg/Manifest4
-rw-r--r--dev-libs/libqtxdg/libqtxdg-3.11.0.ebuild57
-rw-r--r--dev-libs/libqtxdg/libqtxdg-3.12.0.ebuild57
-rw-r--r--dev-libs/libqtxdg/libqtxdg-3.7.1.ebuild56
-rw-r--r--dev-libs/libqtxdg/libqtxdg-3.8.0.ebuild56
-rw-r--r--dev-libs/libratbag/Manifest1
-rw-r--r--dev-libs/libratbag/files/libratbag-0.16-musl-error.h.patch69
-rw-r--r--dev-libs/libratbag/libratbag-0.15.ebuild23
-rw-r--r--dev-libs/libratbag/libratbag-0.16.ebuild27
-rw-r--r--dev-libs/libratbag/libratbag-0.17.ebuild102
-rw-r--r--dev-libs/libratbag/metadata.xml4
-rw-r--r--dev-libs/librdkafka/Manifest10
-rw-r--r--dev-libs/librdkafka/files/librdkafka-2.2.0-backport-pr4449.patch285
-rw-r--r--dev-libs/librdkafka/librdkafka-1.4.4.ebuild83
-rw-r--r--dev-libs/librdkafka/librdkafka-1.5.0.ebuild93
-rw-r--r--dev-libs/librdkafka/librdkafka-1.5.2.ebuild93
-rw-r--r--dev-libs/librdkafka/librdkafka-1.5.3.ebuild93
-rw-r--r--dev-libs/librdkafka/librdkafka-1.6.0.ebuild93
-rw-r--r--dev-libs/librdkafka/librdkafka-1.6.1.ebuild97
-rw-r--r--dev-libs/librdkafka/librdkafka-1.7.0.ebuild97
-rw-r--r--dev-libs/librdkafka/librdkafka-1.8.0.ebuild97
-rw-r--r--dev-libs/librdkafka/librdkafka-1.8.2.ebuild17
-rw-r--r--dev-libs/librdkafka/librdkafka-2.1.1.ebuild107
-rw-r--r--dev-libs/librdkafka/librdkafka-2.2.0-r1.ebuild110
-rw-r--r--dev-libs/librdkafka/librdkafka-2.2.0.ebuild108
-rw-r--r--dev-libs/librdkafka/metadata.xml9
-rw-r--r--dev-libs/librelp/Manifest1
-rw-r--r--dev-libs/librelp/librelp-1.10.0-r1.ebuild72
-rw-r--r--dev-libs/librelp/librelp-1.10.0.ebuild71
-rw-r--r--dev-libs/librelp/librelp-1.11.0.ebuild72
-rw-r--r--dev-libs/librelp/metadata.xml5
-rw-r--r--dev-libs/librep/Manifest1
-rw-r--r--dev-libs/librep/files/50librep-gentoo.el6
-rw-r--r--dev-libs/librep/files/librep-0.92.0-disable-elisp.patch19
-rw-r--r--dev-libs/librep/librep-0.92.7-r1.ebuild83
-rw-r--r--dev-libs/librep/metadata.xml8
-rw-r--r--dev-libs/libreport/Manifest2
-rw-r--r--dev-libs/libreport/libreport-2.15.2.ebuild100
-rw-r--r--dev-libs/libreport/libreport-2.16.0.ebuild100
-rw-r--r--dev-libs/libreport/metadata.xml8
-rw-r--r--dev-libs/libretls/Manifest3
-rw-r--r--dev-libs/libretls/libretls-3.4.1.ebuild30
-rw-r--r--dev-libs/libretls/libretls-3.4.2.ebuild30
-rw-r--r--dev-libs/libretls/libretls-3.8.1.ebuild27
-rw-r--r--dev-libs/libretls/metadata.xml4
-rw-r--r--dev-libs/librevenge/Manifest2
-rw-r--r--dev-libs/librevenge/librevenge-0.0.4-r1.ebuild52
-rw-r--r--dev-libs/librevenge/librevenge-0.0.5.ebuild46
-rw-r--r--dev-libs/librevenge/librevenge-9999.ebuild23
-rw-r--r--dev-libs/libsass/Manifest1
-rw-r--r--dev-libs/libsass/libsass-3.6.5-r1.ebuild47
-rw-r--r--dev-libs/libsass/libsass-3.6.5.ebuild53
-rw-r--r--dev-libs/libsass/libsass-3.6.6.ebuild47
-rw-r--r--dev-libs/libsass/libsass-9999.ebuild28
-rw-r--r--dev-libs/libsavitar/Manifest1
-rw-r--r--dev-libs/libsavitar/files/libsavitar-4.7.0-use-system-pugixml.patch8
-rw-r--r--dev-libs/libsavitar/libsavitar-4.9.1.ebuild76
-rw-r--r--dev-libs/libsavitar/metadata.xml31
-rw-r--r--dev-libs/libscfg/Manifest1
-rw-r--r--dev-libs/libscfg/libscfg-0.1.1.ebuild18
-rw-r--r--dev-libs/libscfg/metadata.xml11
-rw-r--r--dev-libs/libsecp256k1/Manifest5
-rw-r--r--dev-libs/libsecp256k1/files/0.3.0-fix-cross-compile.patch99
-rw-r--r--dev-libs/libsecp256k1/files/0.4.0-fix-cross-compile.patch99
-rw-r--r--dev-libs/libsecp256k1/libsecp256k1-0.1_pre20201028-r1.ebuild73
-rw-r--r--dev-libs/libsecp256k1/libsecp256k1-0.1_pre20201028.ebuild75
-rw-r--r--dev-libs/libsecp256k1/libsecp256k1-0.3.0.ebuild72
-rw-r--r--dev-libs/libsecp256k1/libsecp256k1-0.3.1.ebuild72
-rw-r--r--dev-libs/libsecp256k1/libsecp256k1-0.3.2.ebuild72
-rw-r--r--dev-libs/libsecp256k1/libsecp256k1-0.4.0.ebuild73
-rw-r--r--dev-libs/libsecp256k1/libsecp256k1-0.4.1.ebuild64
-rw-r--r--dev-libs/libsecp256k1/metadata.xml6
-rw-r--r--dev-libs/libserdes/metadata.xml3
-rw-r--r--dev-libs/libserialport/libserialport-0.1.1-r1.ebuild6
-rw-r--r--dev-libs/libserialport/libserialport-9999.ebuild4
-rw-r--r--dev-libs/libsigc++/Manifest4
-rw-r--r--dev-libs/libsigc++/libsigc++-2.10.7.ebuild40
-rw-r--r--dev-libs/libsigc++/libsigc++-2.12.0.ebuild37
-rw-r--r--dev-libs/libsigc++/libsigc++-3.0.7.ebuild47
-rw-r--r--dev-libs/libsigc++/libsigc++-3.6.0.ebuild40
-rw-r--r--dev-libs/libsigc++/metadata.xml14
-rw-r--r--dev-libs/libsigsegv/Manifest1
-rw-r--r--dev-libs/libsigsegv/files/libsigsegv-2.14-c99.patch79
-rw-r--r--dev-libs/libsigsegv/libsigsegv-2.12-r1.ebuild38
-rw-r--r--dev-libs/libsigsegv/libsigsegv-2.13.ebuild2
-rw-r--r--dev-libs/libsigsegv/libsigsegv-2.14-r1.ebuild40
-rw-r--r--dev-libs/libsigsegv/libsigsegv-2.14.ebuild13
-rw-r--r--dev-libs/libslz/Manifest1
-rw-r--r--dev-libs/libslz/libslz-1.1.0.ebuild65
-rw-r--r--dev-libs/libslz/libslz-1.2.0-r1.ebuild44
-rw-r--r--dev-libs/libslz/libslz-1.2.0.ebuild65
-rw-r--r--dev-libs/libsodium/Manifest10
-rw-r--r--dev-libs/libsodium/files/libsodium-1.0.19-cpuflags.patch40
-rw-r--r--dev-libs/libsodium/libsodium-1.0.18.ebuild57
-rw-r--r--dev-libs/libsodium/libsodium-1.0.18_p20210617.ebuild93
-rw-r--r--dev-libs/libsodium/libsodium-1.0.18_p20220618.ebuild74
-rw-r--r--dev-libs/libsodium/libsodium-1.0.19-r1.ebuild74
-rw-r--r--dev-libs/libsodium/libsodium-1.0.19-r2.ebuild73
-rw-r--r--dev-libs/libsodium/libsodium-1.0.19_p20240117.ebuild77
-rw-r--r--dev-libs/libsodium/metadata.xml1
-rw-r--r--dev-libs/libspnav/Manifest2
-rw-r--r--dev-libs/libspnav/files/libspnav-1.0-no-xorg-compile.patch45
-rw-r--r--dev-libs/libspnav/libspnav-0.2.3.ebuild46
-rw-r--r--dev-libs/libspnav/libspnav-1.0-r1.ebuild60
-rw-r--r--dev-libs/libspnav/libspnav-1.1.ebuild56
-rw-r--r--dev-libs/libspnav/metadata.xml1
-rw-r--r--dev-libs/libstrl/Manifest1
-rw-r--r--dev-libs/libstrl/libstrl-0.5.1-r1.ebuild33
-rw-r--r--dev-libs/libstrl/metadata.xml5
-rw-r--r--dev-libs/libstroke/files/libstroke-0.5.1-clang16.patch7
-rw-r--r--dev-libs/libstroke/libstroke-0.5.1-r1.ebuild40
-rw-r--r--dev-libs/libstroke/libstroke-0.5.1-r2.ebuild38
-rw-r--r--dev-libs/libstrophe/Manifest10
-rw-r--r--dev-libs/libstrophe/files/libstrophe-0.12.3-allow-tests-when-static.patch59
-rw-r--r--dev-libs/libstrophe/libstrophe-0.10.0.ebuild50
-rw-r--r--dev-libs/libstrophe/libstrophe-0.10.1.ebuild50
-rw-r--r--dev-libs/libstrophe/libstrophe-0.11.0.ebuild53
-rw-r--r--dev-libs/libstrophe/libstrophe-0.12.2.ebuild69
-rw-r--r--dev-libs/libstrophe/libstrophe-0.12.3.ebuild65
-rw-r--r--dev-libs/libstrophe/libstrophe-0.13.0.ebuild61
-rw-r--r--dev-libs/libstrophe/libstrophe-0.13.1.ebuild61
-rw-r--r--dev-libs/libstrophe/libstrophe-0.9.2.ebuild50
-rw-r--r--dev-libs/libstrophe/libstrophe-0.9.3.ebuild50
-rw-r--r--dev-libs/libstrophe/metadata.xml8
-rw-r--r--dev-libs/libtar/files/libtar-1.2.20-configure-clang16.patch43
-rw-r--r--dev-libs/libtar/libtar-1.2.20-r4.ebuild70
-rw-r--r--dev-libs/libtar/libtar-1.2.20-r5.ebuild63
-rw-r--r--dev-libs/libtar/libtar-1.2.20-r6.ebuild64
-rw-r--r--dev-libs/libtasn1/Manifest4
-rw-r--r--dev-libs/libtasn1/libtasn1-4.17.0.ebuild54
-rw-r--r--dev-libs/libtasn1/libtasn1-4.18.0.ebuild47
-rw-r--r--dev-libs/libtasn1/libtasn1-4.19.0.ebuild54
-rw-r--r--dev-libs/libtasn1/metadata.xml7
-rw-r--r--dev-libs/libtecla/files/libtecla-1.6.1-install.patch5
-rw-r--r--dev-libs/libtecla/files/libtecla-1.6.1-no-strip.patch5
-rw-r--r--dev-libs/libtecla/files/libtecla-1.6.1-prll-install.patch2
-rw-r--r--dev-libs/libtecla/files/libtecla-1.6.3-configure-clang16.patch12
-rw-r--r--dev-libs/libtecla/files/libtecla-1.6.3-ldflags.patch8
-rw-r--r--dev-libs/libtecla/files/libtecla-1.6.3-prll-build.patch4
-rw-r--r--dev-libs/libtecla/files/libtecla-1.6.3-secure-runpath.patch4
-rw-r--r--dev-libs/libtecla/files/libtecla-1.6.3-static-libs.patch4
-rw-r--r--dev-libs/libtecla/libtecla-1.6.3-r1.ebuild55
-rw-r--r--dev-libs/libtecla/libtecla-1.6.3.ebuild47
-rw-r--r--dev-libs/libtermkey/Manifest1
-rw-r--r--dev-libs/libtermkey/files/libtermkey-0.22-libtool.patch103
-rw-r--r--dev-libs/libtermkey/files/no-automagic-manpages-compress.patch18
-rw-r--r--dev-libs/libtermkey/libtermkey-0.20.ebuild39
-rw-r--r--dev-libs/libtermkey/libtermkey-0.22-r1.ebuild50
-rw-r--r--dev-libs/libtermkey/libtermkey-0.22-r2.ebuild48
-rw-r--r--dev-libs/libtermkey/libtermkey-0.22.ebuild39
-rw-r--r--dev-libs/libthreadar/Manifest2
-rw-r--r--dev-libs/libthreadar/libthreadar-1.3.5.ebuild20
-rw-r--r--dev-libs/libthreadar/libthreadar-1.4.0.ebuild32
-rw-r--r--dev-libs/libthreadar/metadata.xml8
-rw-r--r--dev-libs/libtimezonemap/libtimezonemap-0.4.6-r1.ebuild4
-rw-r--r--dev-libs/libtomcrypt/libtomcrypt-1.18.2-r3.ebuild114
-rw-r--r--dev-libs/libtomcrypt/libtomcrypt-1.18.2-r4.ebuild124
-rw-r--r--dev-libs/libtommath/Manifest2
-rw-r--r--dev-libs/libtommath/libtommath-1.2.0-r2.ebuild96
-rw-r--r--dev-libs/libtommath/libtommath-1.2.1.ebuild96
-rw-r--r--dev-libs/libtompoly/files/libtompoly-0.04-Fix-Wimplicit-function-declaration.patch127
-rw-r--r--dev-libs/libtompoly/libtompoly-0.04-r1.ebuild33
-rw-r--r--dev-libs/libtompoly/libtompoly-0.04-r2.ebuild37
-rw-r--r--dev-libs/libtpms/Manifest2
-rw-r--r--dev-libs/libtpms/files/libtpms-0.9.5-slibtool.patch52
-rw-r--r--dev-libs/libtpms/libtpms-0.9.1.ebuild47
-rw-r--r--dev-libs/libtpms/libtpms-0.9.6.ebuild48
-rw-r--r--dev-libs/libtpms/metadata.xml3
-rw-r--r--dev-libs/libtracecmd/Manifest1
-rw-r--r--dev-libs/libtracecmd/libtracecmd-1.5.1.ebuild46
-rw-r--r--dev-libs/libtracecmd/metadata.xml12
-rw-r--r--dev-libs/libtraceevent/Manifest3
-rw-r--r--dev-libs/libtraceevent/libtraceevent-1.6.3.ebuild50
-rw-r--r--dev-libs/libtraceevent/libtraceevent-1.7.2.ebuild59
-rw-r--r--dev-libs/libtraceevent/libtraceevent-1.7.3.ebuild47
-rw-r--r--dev-libs/libtraceevent/metadata.xml12
-rw-r--r--dev-libs/libtracefs/Manifest4
-rw-r--r--dev-libs/libtracefs/libtracefs-1.6.1-r2.ebuild55
-rw-r--r--dev-libs/libtracefs/libtracefs-1.6.3-r2.ebuild55
-rw-r--r--dev-libs/libtracefs/libtracefs-1.6.4-r1.ebuild61
-rw-r--r--dev-libs/libtracefs/libtracefs-1.7.0.ebuild51
-rw-r--r--dev-libs/libtracefs/metadata.xml12
-rw-r--r--dev-libs/libtreadstone/Manifest1
-rw-r--r--dev-libs/libtreadstone/libtreadstone-0.2.0.ebuild27
-rw-r--r--dev-libs/libtreadstone/metadata.xml8
-rw-r--r--dev-libs/libtsm/Manifest2
-rw-r--r--dev-libs/libtsm/files/libtsm-cmake.patch (renamed from dev-libs/libtsm/files/libtsm-4.0.1-cmake.patch)0
-rw-r--r--dev-libs/libtsm/libtsm-4.0.1.ebuild17
-rw-r--r--dev-libs/libtsm/libtsm-4.0.2_p20231223.ebuild19
-rw-r--r--dev-libs/libtsm/metadata.xml3
-rw-r--r--dev-libs/libtubo/Manifest1
-rw-r--r--dev-libs/libtubo/libtubo-5.0.15.ebuild27
-rw-r--r--dev-libs/libtubo/metadata.xml8
-rw-r--r--dev-libs/libucl/Manifest1
-rw-r--r--dev-libs/libucl/files/libucl-0.8.1-openssl-1.1.1.patch39
-rw-r--r--dev-libs/libucl/files/libucl-0.9.0-gchar-compile.patch36
-rw-r--r--dev-libs/libucl/libucl-0.8.1-r100.ebuild16
-rw-r--r--dev-libs/libucl/libucl-0.9.0.ebuild74
-rw-r--r--dev-libs/libucl/libucl-9999.ebuild17
-rw-r--r--dev-libs/libucl/metadata.xml3
-rw-r--r--dev-libs/libudfread/Manifest2
-rw-r--r--dev-libs/libudfread/libudfread-1.1.0.ebuild37
-rw-r--r--dev-libs/libudfread/libudfread-1.1.1.ebuild37
-rw-r--r--dev-libs/libudfread/libudfread-1.1.2.ebuild4
-rw-r--r--dev-libs/libuev/Manifest1
-rw-r--r--dev-libs/libuev/libuev-2.4.0.ebuild4
-rw-r--r--dev-libs/libuev/libuev-2.4.1.ebuild24
-rw-r--r--dev-libs/libugpio/libugpio-0.0.7-r1.ebuild30
-rw-r--r--dev-libs/libugpio/libugpio-0.0.7.ebuild30
-rw-r--r--dev-libs/libunibreak/Manifest6
-rw-r--r--dev-libs/libunibreak/libunibreak-4.3.ebuild54
-rw-r--r--dev-libs/libunibreak/libunibreak-5.0-r1.ebuild54
-rw-r--r--dev-libs/libunibreak/libunibreak-5.1.ebuild67
-rw-r--r--dev-libs/libunibreak/metadata.xml3
-rw-r--r--dev-libs/libuninum/files/libuninum-2.7-64bit.patch37
-rw-r--r--dev-libs/libuninum/files/libuninum-2.7-c99.patch30
-rw-r--r--dev-libs/libuninum/libuninum-2.7-r3.ebuild46
-rw-r--r--dev-libs/libuninum/libuninum-2.7.ebuild26
-rw-r--r--dev-libs/libunique/libunique-1.1.6-r2.ebuild8
-rw-r--r--dev-libs/libunique/libunique-1.1.6-r3.ebuild65
-rw-r--r--dev-libs/libunique/libunique-3.0.2-r1.ebuild8
-rw-r--r--dev-libs/libunique/libunique-3.0.2-r2.ebuild46
-rw-r--r--dev-libs/libunistring/Manifest5
-rw-r--r--dev-libs/libunistring/libunistring-0.9.10-r1.ebuild8
-rw-r--r--dev-libs/libunistring/libunistring-1.0.ebuild40
-rw-r--r--dev-libs/libunistring/libunistring-1.1-r1.ebuild41
-rw-r--r--dev-libs/libunistring/libunistring-1.2.ebuild49
-rw-r--r--dev-libs/libunistring/metadata.xml34
-rw-r--r--dev-libs/libusb-compat/Manifest2
-rw-r--r--dev-libs/libusb-compat/files/libusb-0.1-ansi.patch188
-rw-r--r--dev-libs/libusb-compat/libusb-compat-0.1.5-r3.ebuild50
-rw-r--r--dev-libs/libusb-compat/libusb-compat-0.1.8.ebuild57
-rw-r--r--dev-libs/libusb-compat/metadata.xml1
-rw-r--r--dev-libs/libusb/Manifest3
-rw-r--r--dev-libs/libusb/files/libusb-1.0.24-multi_device_config_parsing.patch65
-rw-r--r--dev-libs/libusb/libusb-1.0.24-r2.ebuild76
-rw-r--r--dev-libs/libusb/libusb-1.0.26.ebuild74
-rw-r--r--dev-libs/libusb/libusb-1.0.27-r1.ebuild79
-rw-r--r--dev-libs/libusb/metadata.xml1
-rw-r--r--dev-libs/libusbhp/libusbhp-1.0.2-r1.ebuild4
-rw-r--r--dev-libs/libutf8proc/Manifest6
-rw-r--r--dev-libs/libutf8proc/files/libutf8proc-grapheme-test.patch23
-rw-r--r--dev-libs/libutf8proc/libutf8proc-2.5.0.ebuild52
-rw-r--r--dev-libs/libutf8proc/libutf8proc-2.6.1.ebuild56
-rw-r--r--dev-libs/libutf8proc/libutf8proc-2.9.0.ebuild57
-rw-r--r--dev-libs/libutf8proc/metadata.xml3
-rw-r--r--dev-libs/libuv/Manifest5
-rw-r--r--dev-libs/libuv/files/libuv-1.47.0-darwin17.patch26
-rw-r--r--dev-libs/libuv/files/libuv-1.47.0-hppa-kernel.patch32
-rw-r--r--dev-libs/libuv/files/libuv-1.47.0-ipv6-tests.patch54
-rw-r--r--dev-libs/libuv/files/libuv-1.48.0-test-thread-priority-portage.patch21
-rw-r--r--dev-libs/libuv/libuv-1.42.0.ebuild58
-rw-r--r--dev-libs/libuv/libuv-1.43.0.ebuild58
-rw-r--r--dev-libs/libuv/libuv-1.47.0-r1.ebuild59
-rw-r--r--dev-libs/libuv/libuv-1.48.0.ebuild62
-rw-r--r--dev-libs/libuv/libuv-9999.ebuild40
-rw-r--r--dev-libs/libvarlink/libvarlink-23.ebuild4
-rw-r--r--dev-libs/libverto/Manifest1
-rw-r--r--dev-libs/libverto/files/libverto-0.3.1-non-bash.patch133
-rw-r--r--dev-libs/libverto/libverto-0.3.1-r1.ebuild55
-rw-r--r--dev-libs/libverto/libverto-0.3.2.ebuild6
-rw-r--r--dev-libs/libverto/metadata.xml4
-rw-r--r--dev-libs/libvoikko/Manifest4
-rw-r--r--dev-libs/libvoikko/files/libvoikko-4.3-disable-wall-werror.patch30
-rw-r--r--dev-libs/libvoikko/files/libvoikko-4.3.2-disable-wall-werror.patch30
-rw-r--r--dev-libs/libvoikko/libvoikko-4.3.1.ebuild55
-rw-r--r--dev-libs/libvoikko/libvoikko-4.3.2.ebuild57
-rw-r--r--dev-libs/libvterm-neovim/Manifest1
-rw-r--r--dev-libs/libvterm-neovim/libvterm-neovim-0.0_pre20150621.ebuild30
-rw-r--r--dev-libs/libvterm-neovim/metadata.xml8
-rw-r--r--dev-libs/libvterm/Manifest9
-rw-r--r--dev-libs/libvterm/files/libvterm-0.1.4-slibtool.patch98
-rw-r--r--dev-libs/libvterm/files/libvterm-0.3.2-slibtool.patch99
-rw-r--r--dev-libs/libvterm/files/libvterm-0.3.3-slibtool.patch102
-rw-r--r--dev-libs/libvterm/libvterm-0.0_pre20181126.ebuild36
-rw-r--r--dev-libs/libvterm/libvterm-0.1.1.ebuild38
-rw-r--r--dev-libs/libvterm/libvterm-0.1.2.ebuild39
-rw-r--r--dev-libs/libvterm/libvterm-0.1.3.ebuild39
-rw-r--r--dev-libs/libvterm/libvterm-0.1.4-r1.ebuild37
-rw-r--r--dev-libs/libvterm/libvterm-0.1.4.ebuild39
-rw-r--r--dev-libs/libvterm/libvterm-0.3.1.ebuild28
-rw-r--r--dev-libs/libvterm/libvterm-0.3.2-r1.ebuild43
-rw-r--r--dev-libs/libvterm/libvterm-0.3.2.ebuild42
-rw-r--r--dev-libs/libvterm/libvterm-0.3.3.ebuild43
-rw-r--r--dev-libs/libvterm/libvterm-0.3.ebuild28
-rw-r--r--dev-libs/libvterm/metadata.xml3
-rw-r--r--dev-libs/libwacom/Manifest6
-rw-r--r--dev-libs/libwacom/libwacom-1.11.ebuild58
-rw-r--r--dev-libs/libwacom/libwacom-1.12.ebuild58
-rw-r--r--dev-libs/libwacom/libwacom-2.10.0.ebuild68
-rw-r--r--dev-libs/libwacom/libwacom-2.6.0.ebuild71
-rw-r--r--dev-libs/libwacom/libwacom-2.7.0.ebuild71
-rw-r--r--dev-libs/libwacom/libwacom-2.8.0.ebuild67
-rw-r--r--dev-libs/libwacom/metadata.xml2
-rw-r--r--dev-libs/libwapcaplet/files/libwapcaplet-0.4.1-makefile.patch12
-rw-r--r--dev-libs/libwapcaplet/libwapcaplet-0.4.3-r1.ebuild13
-rw-r--r--dev-libs/libwapcaplet/metadata.xml5
-rw-r--r--dev-libs/libwbxml/Manifest2
-rw-r--r--dev-libs/libwbxml/libwbxml-0.11.7.ebuild33
-rw-r--r--dev-libs/libwbxml/libwbxml-0.11.8.ebuild33
-rw-r--r--dev-libs/libx86/files/libx86-0.99-ifmask.patch4
-rw-r--r--dev-libs/libx86/files/libx86-1.1-c99.patch17
-rw-r--r--dev-libs/libx86/files/libx86-1.1-makefile.patch4
-rw-r--r--dev-libs/libx86/files/libx86-1.1-x86emu.patch10
-rw-r--r--dev-libs/libx86/libx86-1.1-r4.ebuild50
-rw-r--r--dev-libs/libx86/libx86-1.1-r5.ebuild39
-rw-r--r--dev-libs/libx86/libx86-1.1-r6.ebuild40
-rw-r--r--dev-libs/libx86/metadata.xml5
-rw-r--r--dev-libs/libx86emu/Manifest1
-rw-r--r--dev-libs/libx86emu/libx86emu-1.1-r1.ebuild28
-rw-r--r--dev-libs/libx86emu/libx86emu-1.1.ebuild28
-rw-r--r--dev-libs/libx86emu/libx86emu-3.5-r1.ebuild33
-rw-r--r--dev-libs/libx86emu/metadata.xml5
-rw-r--r--dev-libs/libxdg-basedir/Manifest1
-rw-r--r--dev-libs/libxdg-basedir/files/libxdg-basedir-1.2.0-buffer-overflow.patch26
-rw-r--r--dev-libs/libxdg-basedir/libxdg-basedir-1.2.0-r1.ebuild53
-rw-r--r--dev-libs/libxdg-basedir/libxdg-basedir-1.2.3.ebuild6
-rw-r--r--dev-libs/libxdiff/files/libxdiff-0.23-tests.patch9
-rw-r--r--dev-libs/libxdiff/libxdiff-0.23-r2.ebuild31
-rw-r--r--dev-libs/libxdiff/libxdiff-0.23-r3.ebuild26
-rw-r--r--dev-libs/libxls/files/libxls-1.6.2-gcc13.patch25
-rw-r--r--dev-libs/libxls/libxls-1.6.2-r1.ebuild33
-rw-r--r--dev-libs/libxls/libxls-1.6.2.ebuild34
-rw-r--r--dev-libs/libxlsxwriter/Manifest1
-rw-r--r--dev-libs/libxlsxwriter/files/libxlsxwriter-1.1.5-findzlib.patch22
-rw-r--r--dev-libs/libxlsxwriter/libxlsxwriter-1.1.5-r1.ebuild50
-rw-r--r--dev-libs/libxlsxwriter/metadata.xml18
-rw-r--r--dev-libs/libxml2/Manifest6
-rw-r--r--dev-libs/libxml2/files/libxml2-2.11.5-CVE-2023-45322.patch71
-rw-r--r--dev-libs/libxml2/libxml2-2.11.7.ebuild200
-rw-r--r--dev-libs/libxml2/libxml2-2.12.5.ebuild196
-rw-r--r--dev-libs/libxml2/libxml2-2.12.6.ebuild196
-rw-r--r--dev-libs/libxml2/libxml2-2.9.12-r5.ebuild258
-rw-r--r--dev-libs/libxml2/libxml2-9999.ebuild196
-rw-r--r--dev-libs/libxml2/metadata.xml1
-rw-r--r--dev-libs/libxmlb/Manifest5
-rw-r--r--dev-libs/libxmlb/files/libxmlb-0.3.12-no_installed_tests.patch33
-rw-r--r--dev-libs/libxmlb/libxmlb-0.1.15-r1.ebuild58
-rw-r--r--dev-libs/libxmlb/libxmlb-0.3.14.ebuild65
-rw-r--r--dev-libs/libxmlb/libxmlb-0.3.18.ebuild75
-rw-r--r--dev-libs/libxmlb/libxmlb-0.3.5.ebuild59
-rw-r--r--dev-libs/libxmlb/libxmlb-0.3.6.ebuild59
-rw-r--r--dev-libs/libxmlb/metadata.xml24
-rw-r--r--dev-libs/libxslt/Manifest3
-rw-r--r--dev-libs/libxslt/files/libxslt-1.1.34-CVE-2021-30560.patch194
-rw-r--r--dev-libs/libxslt/files/libxslt-1.1.34-libxml2-2.9.12.patch120
-rw-r--r--dev-libs/libxslt/files/libxslt-1.1.39-libxml2-2.11-tests.patch24
-rw-r--r--dev-libs/libxslt/libxslt-1.1.34-r2.ebuild72
-rw-r--r--dev-libs/libxslt/libxslt-1.1.39.ebuild128
-rw-r--r--dev-libs/libxslt/libxslt-9999.ebuild124
-rw-r--r--dev-libs/libxslt/metadata.xml1
-rw-r--r--dev-libs/libyaml/libyaml-0.2.2.ebuild6
-rw-r--r--dev-libs/libyaml/libyaml-0.2.5.ebuild6
-rw-r--r--dev-libs/libyaml/metadata.xml3
-rw-r--r--dev-libs/libzia/Manifest6
-rw-r--r--dev-libs/libzia/libzia-4.30.ebuild48
-rw-r--r--dev-libs/libzia/libzia-4.32.ebuild48
-rw-r--r--dev-libs/libzia/libzia-4.34.ebuild48
-rw-r--r--dev-libs/libzia/libzia-4.55.ebuild52
-rw-r--r--dev-libs/libzia/libzia-4.58.ebuild52
-rw-r--r--dev-libs/libzia/libzia-4.59.ebuild52
-rw-r--r--dev-libs/libzip/Manifest2
-rw-r--r--dev-libs/libzip/libzip-1.8.0.ebuild114
-rw-r--r--dev-libs/libzip/libzip-1.9.2.ebuild116
-rw-r--r--dev-libs/libzip/metadata.xml1
-rw-r--r--dev-libs/light/light-1.2.2-r2.ebuild16
-rw-r--r--dev-libs/light/metadata.xml5
-rw-r--r--dev-libs/link-grammar/Manifest3
-rw-r--r--dev-libs/link-grammar/files/link-grammar-5.10.2-musl.patch13
-rw-r--r--dev-libs/link-grammar/files/link-grammar-5.12.3-Wimplicit-function-declaration.patch35
-rw-r--r--dev-libs/link-grammar/files/link-grammar-5.8.0-dont-inject-O3.patch23
-rw-r--r--dev-libs/link-grammar/files/link-grammar-5.8.0-out-of-source-build.patch33
-rw-r--r--dev-libs/link-grammar/files/link-grammar-5.8.1-lld.patch13
-rw-r--r--dev-libs/link-grammar/link-grammar-5.10.2.ebuild116
-rw-r--r--dev-libs/link-grammar/link-grammar-5.12.3.ebuild118
-rw-r--r--dev-libs/link-grammar/link-grammar-5.8.0.ebuild125
-rw-r--r--dev-libs/link-grammar/metadata.xml42
-rw-r--r--dev-libs/linux-syscall-support/Manifest2
-rw-r--r--dev-libs/linux-syscall-support/files/linux-syscall-support-2021.05.03-test.patch10
-rw-r--r--dev-libs/linux-syscall-support/linux-syscall-support-2021.05.03.ebuild35
-rw-r--r--dev-libs/linux-syscall-support/linux-syscall-support-2022.10.12.ebuild30
-rw-r--r--dev-libs/linux-syscall-support/metadata.xml11
-rw-r--r--dev-libs/lockdev/lockdev-1.0.3.1.2-r4.ebuild6
-rw-r--r--dev-libs/log4cplus/Manifest2
-rw-r--r--dev-libs/log4cplus/files/log4cplus-1.2.0-fix-c++14.patch31
-rw-r--r--dev-libs/log4cplus/log4cplus-1.2.0.ebuild65
-rw-r--r--dev-libs/log4cplus/log4cplus-2.0.6.ebuild37
-rw-r--r--dev-libs/log4cplus/log4cplus-2.0.7.ebuild14
-rw-r--r--dev-libs/log4cplus/metadata.xml2
-rw-r--r--dev-libs/log4cpp/Manifest1
-rw-r--r--dev-libs/log4cpp/files/1.0-gcc43.patch27
-rw-r--r--dev-libs/log4cpp/files/log4cpp-1.1.3-fix-implicit-func-in-configure.patch20
-rw-r--r--dev-libs/log4cpp/files/log4cpp-1.1.3-fix-version.patch9
-rw-r--r--dev-libs/log4cpp/files/log4cpp-1.1.4-fix-implicit-func-in-configure.patch20
-rw-r--r--dev-libs/log4cpp/files/log4cpp-1.1.4-gcc43.patch11
-rw-r--r--dev-libs/log4cpp/log4cpp-1.1.3-r2.ebuild58
-rw-r--r--dev-libs/log4cpp/log4cpp-1.1.3-r3.ebuild60
-rw-r--r--dev-libs/log4cpp/log4cpp-1.1.3.ebuild61
-rw-r--r--dev-libs/log4cpp/log4cpp-1.1.4.ebuild59
-rw-r--r--dev-libs/log4cxx/Manifest2
-rw-r--r--dev-libs/log4cxx/log4cxx-1.0.0.ebuild56
-rw-r--r--dev-libs/log4cxx/log4cxx-1.2.0.ebuild45
-rw-r--r--dev-libs/log4cxx/metadata.xml11
-rw-r--r--dev-libs/log4sh/metadata.xml5
-rw-r--r--dev-libs/luise/luise-0.1.1-r1.ebuild37
-rw-r--r--dev-libs/luise/luise-0.1.1-r2.ebuild36
-rw-r--r--dev-libs/lzo/lzo-2.10.ebuild4
-rw-r--r--dev-libs/m17n-lib/m17n-lib-1.8.0.ebuild4
-rw-r--r--dev-libs/maloc/maloc-1.5-r1.ebuild4
-rw-r--r--dev-libs/marisa/Manifest1
-rw-r--r--dev-libs/marisa/files/marisa-0.2.5-cpu_features_check.patch157
-rw-r--r--dev-libs/marisa/files/marisa-0.2.6-loong_word_size.patch12
-rw-r--r--dev-libs/marisa/files/marisa-0.2.6-sparc64_word_size.patch16
-rw-r--r--dev-libs/marisa/marisa-0.2.5.ebuild109
-rw-r--r--dev-libs/marisa/marisa-0.2.6.ebuild14
-rw-r--r--dev-libs/marisa/marisa-9999.ebuild8
-rw-r--r--dev-libs/mathjax/Manifest5
-rw-r--r--dev-libs/mathjax/mathjax-2.7.0.ebuild57
-rw-r--r--dev-libs/mathjax/mathjax-2.7.4.ebuild57
-rw-r--r--dev-libs/mathjax/mathjax-2.7.7-r1.ebuild93
-rw-r--r--dev-libs/mathjax/mathjax-2.7.7.ebuild4
-rw-r--r--dev-libs/mathjax/mathjax-3.2.2-r1.ebuild47
-rw-r--r--dev-libs/mathjax/mathjax-3.2.2-r2.ebuild66
-rw-r--r--dev-libs/mathjax/metadata.xml14
-rw-r--r--dev-libs/mdns/Manifest1
-rw-r--r--dev-libs/mdns/mdns-1.4.3.ebuild21
-rw-r--r--dev-libs/mdns/metadata.xml20
-rw-r--r--dev-libs/metee/Manifest2
-rw-r--r--dev-libs/metee/files/metee-3.1.0-make-docs-optional.patch81
-rw-r--r--dev-libs/metee/metee-3.1.0.ebuild31
-rw-r--r--dev-libs/metee/metee-3.2.4.ebuild37
-rw-r--r--dev-libs/mimalloc/Manifest3
-rw-r--r--dev-libs/mimalloc/metadata.xml7
-rw-r--r--dev-libs/mimalloc/mimalloc-1.7.3.ebuild28
-rw-r--r--dev-libs/mimalloc/mimalloc-2.0.3-r1.ebuild36
-rw-r--r--dev-libs/mimalloc/mimalloc-2.1.2.ebuild35
-rw-r--r--dev-libs/mimetic/files/mimetic-0.9.8-uint-musl.patch36
-rw-r--r--dev-libs/mimetic/metadata.xml7
-rw-r--r--dev-libs/mimetic/mimetic-0.9.8.ebuild11
-rw-r--r--dev-libs/miniaudio/Manifest2
-rw-r--r--dev-libs/miniaudio/metadata.xml15
-rw-r--r--dev-libs/miniaudio/miniaudio-0.11.11.ebuild19
-rw-r--r--dev-libs/miniaudio/miniaudio-0.11.15.ebuild17
-rw-r--r--dev-libs/miniz/Manifest4
-rw-r--r--dev-libs/miniz/files/Config.cmake.in1
-rw-r--r--dev-libs/miniz/files/miniz-2.1.0-export-cmake-build-targets.patch177
-rw-r--r--dev-libs/miniz/files/miniz-2.2.0-fixincdir.patch18
-rw-r--r--dev-libs/miniz/files/miniz-2.2.0-fixpcpath.patch22
-rw-r--r--dev-libs/miniz/files/miniz.pc.in13
-rw-r--r--dev-libs/miniz/metadata.xml5
-rw-r--r--dev-libs/miniz/miniz-2.1.0-r2.ebuild38
-rw-r--r--dev-libs/miniz/miniz-2.2.0-r1.ebuild23
-rw-r--r--dev-libs/miniz/miniz-3.0.1.ebuild16
-rw-r--r--dev-libs/miniz/miniz-3.0.2.ebuild16
-rw-r--r--dev-libs/miniz/miniz-9999.ebuild41
-rw-r--r--dev-libs/mm/mm-1.4.2-r2.ebuild4
-rw-r--r--dev-libs/mmtf-cpp/Manifest1
-rw-r--r--dev-libs/mmtf-cpp/mmtf-cpp-1.1.0-r1.ebuild17
-rw-r--r--dev-libs/modsecurity/Manifest3
-rw-r--r--dev-libs/modsecurity/metadata.xml35
-rw-r--r--dev-libs/modsecurity/modsecurity-3.0.10-r1.ebuild82
-rw-r--r--dev-libs/modsecurity/modsecurity-3.0.10.ebuild69
-rw-r--r--dev-libs/modsecurity/modsecurity-3.0.12.ebuild82
-rw-r--r--dev-libs/mongo-c-driver/Manifest1
-rw-r--r--dev-libs/mongo-c-driver/mongo-c-driver-1.18.0-r1.ebuild97
-rw-r--r--dev-libs/mongo-c-driver/mongo-c-driver-1.18.0.ebuild92
-rw-r--r--dev-libs/mongo-c-driver/mongo-c-driver-1.24.4.ebuild96
-rw-r--r--dev-libs/mpc/Manifest2
-rw-r--r--dev-libs/mpc/mpc-1.2.1.ebuild28
-rw-r--r--dev-libs/mpc/mpc-1.3.1.ebuild37
-rw-r--r--dev-libs/mpfr/Manifest16
-rw-r--r--dev-libs/mpfr/metadata.xml3
-rw-r--r--dev-libs/mpfr/mpfr-4.1.0-r1.ebuild32
-rw-r--r--dev-libs/mpfr/mpfr-4.1.0_p13-r1.ebuild77
-rw-r--r--dev-libs/mpfr/mpfr-4.2.1.ebuild98
-rw-r--r--dev-libs/msgpack/Manifest3
-rw-r--r--dev-libs/msgpack/metadata.xml3
-rw-r--r--dev-libs/msgpack/msgpack-3.3.0.ebuild78
-rw-r--r--dev-libs/msgpack/msgpack-5.0.0.ebuild61
-rw-r--r--dev-libs/msgpack/msgpack-6.0.0-r1.ebuild65
-rw-r--r--dev-libs/mxml/Manifest3
-rw-r--r--dev-libs/mxml/files/mxml-4.0.2-rename-man-page.patch20
-rw-r--r--dev-libs/mxml/mxml-3.3.1-r1.ebuild63
-rw-r--r--dev-libs/mxml/mxml-3.3.ebuild59
-rw-r--r--dev-libs/mxml/mxml-4.0.2.ebuild63
-rw-r--r--dev-libs/nanomsg/Manifest1
-rw-r--r--dev-libs/nanomsg/nanomsg-1.1.5-r1.ebuild36
-rw-r--r--dev-libs/nanomsg/nanomsg-1.1.5.ebuild45
-rw-r--r--dev-libs/nanomsg/nanomsg-1.2.1.ebuild36
-rw-r--r--dev-libs/ncnn/Manifest3
-rw-r--r--dev-libs/ncnn/files/ncnn-fix-glslang-include.patch9
-rw-r--r--dev-libs/ncnn/metadata.xml5
-rw-r--r--dev-libs/ncnn/ncnn-20210525.ebuild76
-rw-r--r--dev-libs/ncnn/ncnn-20240102-r1.ebuild68
-rw-r--r--dev-libs/ncnn/ncnn-20240410.ebuild68
-rw-r--r--dev-libs/nettle/Manifest7
-rw-r--r--dev-libs/nettle/metadata.xml4
-rw-r--r--dev-libs/nettle/nettle-3.7.3.ebuild67
-rw-r--r--dev-libs/nettle/nettle-3.8.1.ebuild84
-rw-r--r--dev-libs/nettle/nettle-3.9.1.ebuild87
-rw-r--r--dev-libs/nettle/nettle-3.9.ebuild89
-rw-r--r--dev-libs/newt/Manifest3
-rw-r--r--dev-libs/newt/files/newt-0.52.13-gold.patch12
-rw-r--r--dev-libs/newt/files/newt-0.52.21-fix-non-POSIX-backticks.patch27
-rw-r--r--dev-libs/newt/files/newt-0.52.21-makefile-LDFLAGS-ordering.patch30
-rw-r--r--dev-libs/newt/files/newt-0.52.22-gold.patch13
-rw-r--r--dev-libs/newt/files/newt-0.52.23-gold.patch13
-rw-r--r--dev-libs/newt/metadata.xml3
-rw-r--r--dev-libs/newt/newt-0.52.21-r1.ebuild100
-rw-r--r--dev-libs/newt/newt-0.52.23-r1.ebuild102
-rw-r--r--dev-libs/newt/newt-0.52.23.ebuild103
-rw-r--r--dev-libs/newt/newt-0.52.24.ebuild102
-rw-r--r--dev-libs/nmeap/metadata.xml2
-rw-r--r--dev-libs/nmeap/nmeap-0.3-r1.ebuild60
-rw-r--r--dev-libs/nmeap/nmeap-0.3-r2.ebuild60
-rw-r--r--dev-libs/npth/Manifest1
-rw-r--r--dev-libs/npth/files/npth-1.7-musl.patch16
-rw-r--r--dev-libs/npth/npth-1.6-r1.ebuild19
-rw-r--r--dev-libs/npth/npth-1.6-r2.ebuild34
-rw-r--r--dev-libs/npth/npth-1.7-r1.ebuild39
-rw-r--r--dev-libs/nsgenbind/Manifest2
-rw-r--r--dev-libs/nsgenbind/metadata.xml5
-rw-r--r--dev-libs/nsgenbind/nsgenbind-0.8-r1.ebuild32
-rw-r--r--dev-libs/nsgenbind/nsgenbind-0.9.ebuild31
-rw-r--r--dev-libs/nspr/Manifest3
-rw-r--r--dev-libs/nspr/files/nspr-4.21-ipv6-musl-support.patch26
-rw-r--r--dev-libs/nspr/files/nspr-4.35-bgo-905998-lfs64-musl.patch15
-rw-r--r--dev-libs/nspr/nspr-4.32.ebuild123
-rw-r--r--dev-libs/nspr/nspr-4.33.ebuild123
-rw-r--r--dev-libs/nspr/nspr-4.35-r2.ebuild178
-rw-r--r--dev-libs/nss-pem/Manifest2
-rw-r--r--dev-libs/nss-pem/nss-pem-1.0.8.ebuild32
-rw-r--r--dev-libs/nss-pem/nss-pem-1.1.0.ebuild29
-rw-r--r--dev-libs/nss/Manifest4
-rw-r--r--dev-libs/nss/files/nss-3.23-hppa-byte_order.patch16
-rw-r--r--dev-libs/nss/files/nss-3.87-use-clang-as-bgo892686.patch85
-rw-r--r--dev-libs/nss/files/nss-3.90-remove-support-of-curve25519.patch78
-rw-r--r--dev-libs/nss/files/nss-3.90.2-bmo-1885749-disable-ASM-C25519-on-non-X86_64.patch35
-rw-r--r--dev-libs/nss/metadata.xml3
-rw-r--r--dev-libs/nss/nss-3.68.2.ebuild367
-rw-r--r--dev-libs/nss/nss-3.74.ebuild367
-rw-r--r--dev-libs/nss/nss-3.90.2-r1.ebuild420
-rw-r--r--dev-libs/nss/nss-3.90.2.ebuild419
-rw-r--r--dev-libs/nss/nss-3.99.ebuild418
-rw-r--r--dev-libs/nsync/Manifest4
-rw-r--r--dev-libs/nsync/metadata.xml3
-rw-r--r--dev-libs/nsync/nsync-1.20.1.ebuild27
-rw-r--r--dev-libs/nsync/nsync-1.24.0.ebuild27
-rw-r--r--dev-libs/nsync/nsync-1.25.0.ebuild23
-rw-r--r--dev-libs/nsync/nsync-1.26.0.ebuild23
-rw-r--r--dev-libs/ntl/Manifest1
-rw-r--r--dev-libs/ntl/metadata.xml3
-rw-r--r--dev-libs/ntl/ntl-11.4.4.ebuild66
-rw-r--r--dev-libs/ntl/ntl-11.5.1-r1.ebuild79
-rw-r--r--dev-libs/ntl/ntl-11.5.1-r4.ebuild85
-rw-r--r--dev-libs/nwjs/Manifest1
-rw-r--r--dev-libs/nwjs/metadata.xml11
-rw-r--r--dev-libs/nwjs/nwjs-0.82.0.ebuild144
-rw-r--r--dev-libs/ocl-icd/Manifest2
-rw-r--r--dev-libs/ocl-icd/files/ocl-icd-2.2.12-gcc-10.patch39
-rw-r--r--dev-libs/ocl-icd/files/ocl-icd-2.3.0-new-headers.patch94
-rw-r--r--dev-libs/ocl-icd/metadata.xml13
-rw-r--r--dev-libs/ocl-icd/ocl-icd-2.2.12-r4.ebuild46
-rw-r--r--dev-libs/ocl-icd/ocl-icd-2.3.0.ebuild61
-rw-r--r--dev-libs/olm/Manifest2
-rw-r--r--dev-libs/olm/files/olm-3.2.15-cmake.patch59
-rw-r--r--dev-libs/olm/files/olm-3.2.16-cmake.patch56
-rw-r--r--dev-libs/olm/metadata.xml20
-rw-r--r--dev-libs/olm/olm-3.2.15.ebuild25
-rw-r--r--dev-libs/olm/olm-3.2.16.ebuild25
-rw-r--r--dev-libs/oneDNN/Manifest3
-rw-r--r--dev-libs/oneDNN/files/oneDNN-3.3.3-include-cstdint.patch13
-rw-r--r--dev-libs/oneDNN/metadata.xml24
-rw-r--r--dev-libs/oneDNN/oneDNN-3.3.3-r1.ebuild134
-rw-r--r--dev-libs/oneDNN/oneDNN-3.3.4.ebuild134
-rw-r--r--dev-libs/oneDNN/oneDNN-3.4.ebuild133
-rw-r--r--dev-libs/onigmo/Manifest1
-rw-r--r--dev-libs/onigmo/onigmo-6.1.3.ebuild34
-rw-r--r--dev-libs/onigmo/onigmo-6.2.0-r1.ebuild35
-rw-r--r--dev-libs/onigmo/onigmo-6.2.0.ebuild34
-rw-r--r--dev-libs/oniguruma/Manifest3
-rw-r--r--dev-libs/oniguruma/oniguruma-6.9.7.1.ebuild55
-rw-r--r--dev-libs/oniguruma/oniguruma-6.9.8.ebuild55
-rw-r--r--dev-libs/oniguruma/oniguruma-6.9.9.ebuild55
-rw-r--r--dev-libs/oniguruma/oniguruma-9999.ebuild4
-rw-r--r--dev-libs/opencl-clang/Manifest6
-rw-r--r--dev-libs/opencl-clang/files/opencl-clang-10.0.0.1_find-llvm-tblgen.patch11
-rw-r--r--dev-libs/opencl-clang/files/opencl-clang-11.1.0_version.patch11
-rw-r--r--dev-libs/opencl-clang/files/opencl-clang-13.0.0_version.patch11
-rw-r--r--dev-libs/opencl-clang/files/opencl-clang-16.0.0-clang_library_dir.patch36
-rw-r--r--dev-libs/opencl-clang/files/opencl-clang-16.0.0-cxx17.patch23
-rw-r--r--dev-libs/opencl-clang/files/opencl-clang-16.0.0-llvm.patch105
-rw-r--r--dev-libs/opencl-clang/files/opencl-clang-16.0.0-standalone-build.patch26
-rw-r--r--dev-libs/opencl-clang/files/opencl-clang-17.0.0-clang_library_dir.patch19
-rw-r--r--dev-libs/opencl-clang/metadata.xml13
-rw-r--r--dev-libs/opencl-clang/opencl-clang-11.1.0_pre20201222.ebuild46
-rw-r--r--dev-libs/opencl-clang/opencl-clang-12.0.0.ebuild39
-rw-r--r--dev-libs/opencl-clang/opencl-clang-13.0.0.ebuild40
-rw-r--r--dev-libs/opencl-clang/opencl-clang-15.0.0-r1.ebuild39
-rw-r--r--dev-libs/opencl-clang/opencl-clang-16.0.0-r2.ebuild44
-rw-r--r--dev-libs/opencl-clang/opencl-clang-17.0.0.ebuild42
-rw-r--r--dev-libs/opencl-icd-loader/Manifest4
-rw-r--r--dev-libs/opencl-icd-loader/opencl-icd-loader-2021.04.29.ebuild40
-rw-r--r--dev-libs/opencl-icd-loader/opencl-icd-loader-2021.06.30.ebuild40
-rw-r--r--dev-libs/opencl-icd-loader/opencl-icd-loader-2023.04.17.ebuild44
-rw-r--r--dev-libs/opencl-icd-loader/opencl-icd-loader-2023.12.14.ebuild44
-rw-r--r--dev-libs/openct/openct-0.6.20-r5.ebuild10
-rw-r--r--dev-libs/openobex/metadata.xml5
-rw-r--r--dev-libs/openobex/openobex-1.7.2-r2.ebuild43
-rw-r--r--dev-libs/openobex/openobex-1.7.2-r3.ebuild43
-rw-r--r--dev-libs/openpace/Manifest1
-rw-r--r--dev-libs/openpace/metadata.xml11
-rw-r--r--dev-libs/openpace/openpace-1.1.3.ebuild46
-rw-r--r--dev-libs/opensc/Manifest4
-rw-r--r--dev-libs/opensc/metadata.xml5
-rw-r--r--dev-libs/opensc/opensc-0.21.0-r1.ebuild65
-rw-r--r--dev-libs/opensc/opensc-0.22.0.ebuild65
-rw-r--r--dev-libs/opensc/opensc-0.24.0.ebuild76
-rw-r--r--dev-libs/opensc/opensc-0.25.0-r1.ebuild87
-rw-r--r--dev-libs/opensc/opensc-0.25.0.ebuild76
-rw-r--r--dev-libs/opensc/opensc-9999.ebuild87
-rw-r--r--dev-libs/openssl-compat/Manifest3
-rw-r--r--dev-libs/openssl-compat/files/gentoo.config-0.9.8144
-rw-r--r--dev-libs/openssl-compat/files/gentoo.config-1.0.4176
-rw-r--r--dev-libs/openssl-compat/files/openssl-0.9.8e-bsd-sparc64.patch25
-rw-r--r--dev-libs/openssl-compat/files/openssl-0.9.8h-ldflags.patch29
-rw-r--r--dev-libs/openssl-compat/files/openssl-0.9.8m-binutils.patch24
-rw-r--r--dev-libs/openssl-compat/files/openssl-0.9.8z_p8-perl-5.26.patch13
-rw-r--r--dev-libs/openssl-compat/files/openssl-1.1.0j-parallel_install_fix.patch21
-rw-r--r--dev-libs/openssl-compat/files/openssl-1.1.1i-riscv32.patch61
-rw-r--r--dev-libs/openssl-compat/metadata.xml33
-rw-r--r--dev-libs/openssl-compat/openssl-compat-0.9.8z_p8-r2.ebuild165
-rw-r--r--dev-libs/openssl-compat/openssl-compat-1.0.2u-r2.ebuild6
-rw-r--r--dev-libs/openssl-compat/openssl-compat-1.1.1u.ebuild221
-rw-r--r--dev-libs/openssl/Manifest18
-rw-r--r--dev-libs/openssl/files/gentoo.config-1.0.21
-rw-r--r--dev-libs/openssl/files/gentoo.config-1.0.4186
-rw-r--r--dev-libs/openssl/files/openssl-3.0.13-CVE-2024-2511.patch141
-rw-r--r--dev-libs/openssl/files/openssl-3.0.13-p11-segfault.patch79
-rw-r--r--dev-libs/openssl/files/openssl-3.1.5-CVE-2024-2511.patch137
-rw-r--r--dev-libs/openssl/files/openssl-3.1.5-p11-segfault.patch78
-rw-r--r--dev-libs/openssl/files/openssl-3.2.1-CVE-2024-2511.patch137
-rw-r--r--dev-libs/openssl/files/openssl-3.2.1-p11-segfault.patch79
-rw-r--r--dev-libs/openssl/files/openssl-3.2.1-riscv.patch70
-rw-r--r--dev-libs/openssl/metadata.xml51
-rw-r--r--dev-libs/openssl/openssl-1.0.2u-r1.ebuild27
-rw-r--r--dev-libs/openssl/openssl-1.1.1k-r1.ebuild328
-rw-r--r--dev-libs/openssl/openssl-1.1.1l-r1.ebuild279
-rw-r--r--dev-libs/openssl/openssl-1.1.1l.ebuild328
-rw-r--r--dev-libs/openssl/openssl-1.1.1m.ebuild294
-rw-r--r--dev-libs/openssl/openssl-1.1.1w.ebuild268
-rw-r--r--dev-libs/openssl/openssl-3.0.0.ebuild293
-rw-r--r--dev-libs/openssl/openssl-3.0.1.ebuild293
-rw-r--r--dev-libs/openssl/openssl-3.0.11.ebuild288
-rw-r--r--dev-libs/openssl/openssl-3.0.12.ebuild288
-rw-r--r--dev-libs/openssl/openssl-3.0.13-r1.ebuild282
-rw-r--r--dev-libs/openssl/openssl-3.0.13-r2.ebuild283
-rw-r--r--dev-libs/openssl/openssl-3.0.13.ebuild278
-rw-r--r--dev-libs/openssl/openssl-3.1.5-r1.ebuild285
-rw-r--r--dev-libs/openssl/openssl-3.1.5-r2.ebuild286
-rw-r--r--dev-libs/openssl/openssl-3.2.1-r1.ebuild306
-rw-r--r--dev-libs/openssl/openssl-3.2.1-r2.ebuild307
-rw-r--r--dev-libs/optix/Manifest32
-rw-r--r--dev-libs/optix/metadata.xml24
-rw-r--r--dev-libs/optix/optix-7.4.0.ebuild80
-rw-r--r--dev-libs/optix/optix-7.5.0.ebuild80
-rw-r--r--dev-libs/ossp-uuid/files/ossp-uuid-1.6.2-gentoo-php.patch42
-rw-r--r--dev-libs/ossp-uuid/files/ossp-uuid-1.6.2-php70.patch337
-rw-r--r--dev-libs/ossp-uuid/files/uuid-1.6.2-php54.patch226
-rw-r--r--dev-libs/ossp-uuid/ossp-uuid-1.6.2-r6.ebuild121
-rw-r--r--dev-libs/ossp-uuid/ossp-uuid-1.6.2-r7.ebuild89
-rw-r--r--dev-libs/pakchois/pakchois-0.4-r2.ebuild4
-rw-r--r--dev-libs/papi/files/papi-6.0.0.1-configure-c99.patch88
-rw-r--r--dev-libs/papi/files/papi-6.0.0.1-configure-clang16.patch53
-rw-r--r--dev-libs/papi/papi-6.0.0.1-r1.ebuild60
-rw-r--r--dev-libs/papi/papi-6.0.0.1-r2.ebuild61
-rw-r--r--dev-libs/papi/papi-6.0.0.1.ebuild56
-rw-r--r--dev-libs/pcl/files/pcl-1.12-musl.patch20
-rw-r--r--dev-libs/pcl/pcl-1.12-r1.ebuild21
-rw-r--r--dev-libs/pcl/pcl-1.12-r2.ebuild25
-rw-r--r--dev-libs/pegtl/Manifest2
-rw-r--r--dev-libs/pegtl/pegtl-2.8.3-r1.ebuild4
-rw-r--r--dev-libs/pegtl/pegtl-3.2.5.ebuild27
-rw-r--r--dev-libs/pegtl/pegtl-3.2.7.ebuild27
-rw-r--r--dev-libs/pigpio/pigpio-79.ebuild4
-rw-r--r--dev-libs/pkcs11-helper/Manifest3
-rw-r--r--dev-libs/pkcs11-helper/files/pkcs11-helper-1.25.1-build.patch33
-rw-r--r--dev-libs/pkcs11-helper/files/pkcs11-helper-1.27.0-nss.patch14
-rw-r--r--dev-libs/pkcs11-helper/files/pkcs11-helper-1.29.0-incompatible-func-ptr-clang16.patch30
-rw-r--r--dev-libs/pkcs11-helper/pkcs11-helper-1.25.1-r1.ebuild40
-rw-r--r--dev-libs/pkcs11-helper/pkcs11-helper-1.27.0-r1.ebuild47
-rw-r--r--dev-libs/pkcs11-helper/pkcs11-helper-1.27.0.ebuild47
-rw-r--r--dev-libs/pkcs11-helper/pkcs11-helper-1.29.0-r1.ebuild45
-rw-r--r--dev-libs/plasma-wayland-protocols/Manifest3
-rw-r--r--dev-libs/plasma-wayland-protocols/metadata.xml1
-rw-r--r--dev-libs/plasma-wayland-protocols/plasma-wayland-protocols-1.12.0-r1.ebuild35
-rw-r--r--dev-libs/plasma-wayland-protocols/plasma-wayland-protocols-1.5.0.ebuild19
-rw-r--r--dev-libs/plasma-wayland-protocols/plasma-wayland-protocols-1.6.0.ebuild19
-rw-r--r--dev-libs/pmdk/Manifest1
-rw-r--r--dev-libs/pmdk/pmdk-1.12.1.ebuild60
-rw-r--r--dev-libs/pmdk/pmdk-1.9.2.ebuild6
-rw-r--r--dev-libs/pocketfft/Manifest1
-rw-r--r--dev-libs/pocketfft/metadata.xml11
-rw-r--r--dev-libs/pocketfft/pocketfft-2021.11.23.ebuild22
-rw-r--r--dev-libs/pocl/Manifest3
-rw-r--r--dev-libs/pocl/files/vendor_opencl_libs_location.patch20
-rw-r--r--dev-libs/pocl/metadata.xml2
-rw-r--r--dev-libs/pocl/pocl-1.7-r3.ebuild120
-rw-r--r--dev-libs/pocl/pocl-1.8-r2.ebuild126
-rw-r--r--dev-libs/pocl/pocl-4.0.ebuild113
-rw-r--r--dev-libs/poco/Manifest5
-rw-r--r--dev-libs/poco/files/poco-1.7.2-iodbc-incdir.patch13
-rw-r--r--dev-libs/poco/metadata.xml5
-rw-r--r--dev-libs/poco/poco-1.10.1.ebuild135
-rw-r--r--dev-libs/poco/poco-1.11.2-r1.ebuild141
-rw-r--r--dev-libs/poco/poco-1.12.2-r2.ebuild140
-rw-r--r--dev-libs/poco/poco-1.12.4.ebuild146
-rw-r--r--dev-libs/poco/poco-1.9.0-r2.ebuild137
-rw-r--r--dev-libs/popt/Manifest2
-rw-r--r--dev-libs/popt/metadata.xml15
-rw-r--r--dev-libs/popt/popt-1.18.ebuild38
-rw-r--r--dev-libs/popt/popt-1.19-r1.ebuild47
-rw-r--r--dev-libs/ppl/ppl-1.2-r4.ebuild69
-rw-r--r--dev-libs/ppl/ppl-1.2-r5.ebuild72
-rw-r--r--dev-libs/processor-trace/Manifest1
-rw-r--r--dev-libs/processor-trace/metadata.xml12
-rw-r--r--dev-libs/processor-trace/processor-trace-2.0.ebuild27
-rw-r--r--dev-libs/protobuf-c/Manifest3
-rw-r--r--dev-libs/protobuf-c/files/protobuf-c-1.4.1-protobuf-22.patch501
-rw-r--r--dev-libs/protobuf-c/metadata.xml1
-rw-r--r--dev-libs/protobuf-c/protobuf-c-1.3.3-r1.ebuild48
-rw-r--r--dev-libs/protobuf-c/protobuf-c-1.4.0-r1.ebuild52
-rw-r--r--dev-libs/protobuf-c/protobuf-c-1.4.1-r1.ebuild56
-rw-r--r--dev-libs/protobuf-c/protobuf-c-1.4.1.ebuild53
-rw-r--r--dev-libs/protobuf/Manifest10
-rw-r--r--dev-libs/protobuf/files/protobuf-21.9-disable-32-bit-tests.patch118
-rw-r--r--dev-libs/protobuf/files/protobuf-22.5-Use-the-same-ABI-for-static-and-shared-libraries-on-.patch71
-rw-r--r--dev-libs/protobuf/files/protobuf-22.5-fix-missing-PROTOBUF_EXPORT-for-public-symbols.patch32
-rw-r--r--dev-libs/protobuf/files/protobuf-23.3-disable-32-bit-tests.patch34
-rw-r--r--dev-libs/protobuf/files/protobuf-23.3-static_assert-failure.patch11
-rw-r--r--dev-libs/protobuf/files/protobuf-3.15.0-disable_no-warning-test.patch19
-rw-r--r--dev-libs/protobuf/files/protobuf-3.16.0-protoc_input_output_files.patch240
-rw-r--r--dev-libs/protobuf/files/protobuf-3.16.0-system_libraries.patch121
-rw-r--r--dev-libs/protobuf/files/protobuf-3.17.0-disable_no-warning-test.patch19
-rw-r--r--dev-libs/protobuf/files/protobuf-3.17.0-system_libraries.patch121
-rw-r--r--dev-libs/protobuf/files/protobuf-3.19.0-disable_no-warning-test.patch36
-rw-r--r--dev-libs/protobuf/files/protobuf-3.19.0-system_libraries.patch146
-rw-r--r--dev-libs/protobuf/files/protobuf-3.20.2-protoc_input_output_files.patch240
-rw-r--r--dev-libs/protobuf/metadata.xml6
-rw-r--r--dev-libs/protobuf/protobuf-21.12.ebuild105
-rw-r--r--dev-libs/protobuf/protobuf-21.9.ebuild149
-rw-r--r--dev-libs/protobuf/protobuf-22.5.ebuild117
-rw-r--r--dev-libs/protobuf/protobuf-23.3-r2.ebuild108
-rw-r--r--dev-libs/protobuf/protobuf-3.16.0.ebuild141
-rw-r--r--dev-libs/protobuf/protobuf-3.17.0.ebuild141
-rw-r--r--dev-libs/protobuf/protobuf-3.17.1.ebuild141
-rw-r--r--dev-libs/protobuf/protobuf-3.17.2.ebuild141
-rw-r--r--dev-libs/protobuf/protobuf-3.17.3.ebuild141
-rw-r--r--dev-libs/protobuf/protobuf-3.19.1.ebuild138
-rw-r--r--dev-libs/protobuf/protobuf-9999.ebuild119
-rw-r--r--dev-libs/psimd/Manifest1
-rw-r--r--dev-libs/psimd/metadata.xml11
-rw-r--r--dev-libs/psimd/psimd-2020.05.17.ebuild17
-rw-r--r--dev-libs/pslib/Manifest2
-rw-r--r--dev-libs/pslib/files/pslib-0.4.6-Fix-implicit-function-declarations.patch29
-rw-r--r--dev-libs/pslib/pslib-0.4.5.ebuild51
-rw-r--r--dev-libs/pslib/pslib-0.4.6.ebuild54
-rw-r--r--dev-libs/ptexenc/Manifest1
-rw-r--r--dev-libs/ptexenc/ptexenc-1.3.9_p20210325-r1.ebuild6
-rw-r--r--dev-libs/ptexenc/ptexenc-1.4.3_p20230311.ebuild48
-rw-r--r--dev-libs/pthreadpool/Manifest1
-rw-r--r--dev-libs/pthreadpool/files/pthreadpool-2022.05.09-gentoo.patch47
-rw-r--r--dev-libs/pthreadpool/metadata.xml11
-rw-r--r--dev-libs/pthreadpool/pthreadpool-2023.08.29.ebuild43
-rw-r--r--dev-libs/pthreads4w/Manifest1
-rw-r--r--dev-libs/pthreads4w/metadata.xml9
-rw-r--r--dev-libs/pthreads4w/pthreads4w-3.0.0.ebuild72
-rw-r--r--dev-libs/pugixml/Manifest3
-rw-r--r--dev-libs/pugixml/pugixml-1.11.4.ebuild20
-rw-r--r--dev-libs/pugixml/pugixml-1.13.ebuild31
-rw-r--r--dev-libs/pugixml/pugixml-1.14.ebuild31
-rw-r--r--dev-libs/pugixml/pugixml-9999.ebuild21
-rw-r--r--dev-libs/qcoro/Manifest1
-rw-r--r--dev-libs/qcoro/metadata.xml17
-rw-r--r--dev-libs/qcoro/qcoro-0.10.0-r1.ebuild60
-rw-r--r--dev-libs/qcoro5/Manifest1
-rw-r--r--dev-libs/qcoro5/metadata.xml18
-rw-r--r--dev-libs/qcoro5/qcoro5-0.10.0-r1.ebuild71
-rw-r--r--dev-libs/qcustomplot/Manifest2
-rw-r--r--dev-libs/qcustomplot/qcustomplot-2.1.1.ebuild45
-rw-r--r--dev-libs/qhotkey/Manifest1
-rw-r--r--dev-libs/qhotkey/metadata.xml18
-rw-r--r--dev-libs/qhotkey/qhotkey-1.5.0.ebuild36
-rw-r--r--dev-libs/qoauth/qoauth-2.0.1_pre20160315-r3.ebuild4
-rw-r--r--dev-libs/qqwing/qqwing-1.3.4-r1.ebuild17
-rw-r--r--dev-libs/qqwing/qqwing-1.3.4.ebuild17
-rw-r--r--dev-libs/qr-code-generator/Manifest2
-rw-r--r--dev-libs/qr-code-generator/metadata.xml16
-rw-r--r--dev-libs/qr-code-generator/qr-code-generator-1.8.0.ebuild28
-rw-r--r--dev-libs/qtcompress/Manifest1
-rw-r--r--dev-libs/qtcompress/files/qtcompress-0_p20180513-nogui.patch10
-rw-r--r--dev-libs/qtcompress/files/qtcompress-0_p20180513-remove-zlib.patch10
-rw-r--r--dev-libs/qtcompress/files/qtcompress-0_p20180513-test-include.patch13
-rw-r--r--dev-libs/qtcompress/metadata.xml15
-rw-r--r--dev-libs/qtcompress/qtcompress-0_p20180513.ebuild65
-rw-r--r--dev-libs/qtkeychain/Manifest2
-rw-r--r--dev-libs/qtkeychain/qtkeychain-0.13.2.ebuild47
-rw-r--r--dev-libs/qtkeychain/qtkeychain-0.14.2.ebuild74
-rw-r--r--dev-libs/quazip/Manifest2
-rw-r--r--dev-libs/quazip/files/quazip-1.3-cmake.patch84
-rw-r--r--dev-libs/quazip/files/quazip-1.4-cmake.patch76
-rw-r--r--dev-libs/quazip/metadata.xml4
-rw-r--r--dev-libs/quazip/quazip-1.3-r2.ebuild83
-rw-r--r--dev-libs/quazip/quazip-1.3-r3.ebuild85
-rw-r--r--dev-libs/quazip/quazip-1.4-r1.ebuild89
-rw-r--r--dev-libs/quazip/quazip-1.4.ebuild88
-rw-r--r--dev-libs/qxlsx/Manifest2
-rw-r--r--dev-libs/qxlsx/files/qxlsx-1.4.6-headers.patch26
-rw-r--r--dev-libs/qxlsx/metadata.xml15
-rw-r--r--dev-libs/qxlsx/qxlsx-1.4.6.ebuild60
-rw-r--r--dev-libs/qxlsx/qxlsx-1.4.7.ebuild56
-rw-r--r--dev-libs/raft/Manifest3
-rw-r--r--dev-libs/raft/files/raft-0.9.25-Always-skip-init-oom-test.patch31
-rw-r--r--dev-libs/raft/metadata.xml3
-rw-r--r--dev-libs/raft/raft-0.11.2.ebuild55
-rw-r--r--dev-libs/raft/raft-0.22.0.ebuild60
-rw-r--r--dev-libs/raft/raft-0.22.1.ebuild60
-rw-r--r--dev-libs/rapidjson/files/rapidjson-1.1.0-gcc14-const.patch20
-rw-r--r--dev-libs/rapidjson/files/rapidjson-1.1.0-system_gtest.patch8
-rw-r--r--dev-libs/rapidjson/files/rapidjson-1.1.0-valgrind_optional.patch4
-rw-r--r--dev-libs/rapidjson/files/rapidjson-1.1.1-valgrind_optional.patch4
-rw-r--r--dev-libs/rapidjson/rapidjson-1.1.0-r2.ebuild54
-rw-r--r--dev-libs/rapidjson/rapidjson-1.1.0-r3.ebuild56
-rw-r--r--dev-libs/rapidjson/rapidjson-1.1.0-r4.ebuild59
-rw-r--r--dev-libs/rapidjson/rapidjson-9999.ebuild26
-rw-r--r--dev-libs/rasqal/files/rasqal-0.9.33-configure-c99.patch29
-rw-r--r--dev-libs/rasqal/files/rasqal-0.9.33-configure-clang16.patch22
-rw-r--r--dev-libs/rasqal/metadata.xml11
-rw-r--r--dev-libs/rasqal/rasqal-0.9.33-r2.ebuild77
-rw-r--r--dev-libs/rasqal/rasqal-0.9.33.ebuild70
-rw-r--r--dev-libs/rccl/Manifest4
-rw-r--r--dev-libs/rccl/files/rccl-2.7.0-change_install_location.patch33
-rw-r--r--dev-libs/rccl/files/rccl-5.0.2-change_install_location.patch31
-rw-r--r--dev-libs/rccl/files/rccl-5.1.3-remove-chrpath.patch32
-rw-r--r--dev-libs/rccl/files/rccl-5.7.1-remove-chrpath.patch17
-rw-r--r--dev-libs/rccl/rccl-4.0.0-r2.ebuild39
-rw-r--r--dev-libs/rccl/rccl-4.3.0.ebuild41
-rw-r--r--dev-libs/rccl/rccl-5.1.3.ebuild51
-rw-r--r--dev-libs/rccl/rccl-5.7.1.ebuild78
-rw-r--r--dev-libs/re2/Manifest4
-rw-r--r--dev-libs/re2/metadata.xml9
-rw-r--r--dev-libs/re2/re2-0.2021.06.01.ebuild52
-rw-r--r--dev-libs/re2/re2-0.2021.11.01.ebuild52
-rw-r--r--dev-libs/re2/re2-0.2022.06.01.ebuild52
-rw-r--r--dev-libs/re2/re2-0.2022.12.01.ebuild52
-rw-r--r--dev-libs/redis-ipc/Manifest1
-rw-r--r--dev-libs/redis-ipc/metadata.xml13
-rw-r--r--dev-libs/redis-ipc/redis-ipc-0.1.0.ebuild46
-rw-r--r--dev-libs/redland-bindings/files/redland-bindings-1.0.17.1-add-PHP7-support.patch64
-rw-r--r--dev-libs/redland-bindings/files/redland-bindings-1.0.17.1-php-config-r1.patch77
-rw-r--r--dev-libs/redland-bindings/redland-bindings-1.0.17.1-r100.ebuild190
-rw-r--r--dev-libs/redland-bindings/redland-bindings-1.0.17.1-r101.ebuild147
-rw-r--r--dev-libs/redland/files/redland-1.0.17-ldflags-pc-leak.patch24
-rw-r--r--dev-libs/redland/redland-1.0.17-r2.ebuild90
-rw-r--r--dev-libs/redland/redland-1.0.17-r3.ebuild84
-rw-r--r--dev-libs/rinutils/Manifest1
-rw-r--r--dev-libs/rinutils/rinutils-0.10.2-r1.ebuild43
-rw-r--r--dev-libs/rinutils/rinutils-0.10.2.ebuild23
-rw-r--r--dev-libs/rlog/rlog-1.4.ebuild10
-rw-r--r--dev-libs/rocclr/Manifest14
-rw-r--r--dev-libs/rocclr/files/rocclr-3.7.0-cmake-install-destination.patch52
-rw-r--r--dev-libs/rocclr/metadata.xml15
-rw-r--r--dev-libs/rocclr/rocclr-3.10.0.ebuild44
-rw-r--r--dev-libs/rocclr/rocclr-3.8.0.ebuild44
-rw-r--r--dev-libs/rocclr/rocclr-3.9.0.ebuild44
-rw-r--r--dev-libs/rocclr/rocclr-4.0.0.ebuild44
-rw-r--r--dev-libs/rocclr/rocclr-4.1.0.ebuild44
-rw-r--r--dev-libs/rocclr/rocclr-4.2.0.ebuild44
-rw-r--r--dev-libs/rocclr/rocclr-4.3.0.ebuild36
-rw-r--r--dev-libs/rocksdb/Manifest5
-rw-r--r--dev-libs/rocksdb/files/rocksdb-6.14.6-gcc13.patch51
-rw-r--r--dev-libs/rocksdb/files/rocksdb-6.14.6-libatomic.patch105
-rw-r--r--dev-libs/rocksdb/files/rocksdb-6.17.3-libatomic.patch71
-rw-r--r--dev-libs/rocksdb/files/rocksdb-7.9.2-gcc-13.patch42
-rw-r--r--dev-libs/rocksdb/metadata.xml11
-rw-r--r--dev-libs/rocksdb/rocksdb-6.14.6-r1.ebuild51
-rw-r--r--dev-libs/rocksdb/rocksdb-6.14.6-r2.ebuild52
-rw-r--r--dev-libs/rocksdb/rocksdb-6.14.6-r3.ebuild79
-rw-r--r--dev-libs/rocksdb/rocksdb-6.15.5.ebuild51
-rw-r--r--dev-libs/rocksdb/rocksdb-6.17.3.ebuild51
-rw-r--r--dev-libs/rocksdb/rocksdb-7.9.2-r1.ebuild79
-rw-r--r--dev-libs/rocksdb/rocksdb-7.9.2.ebuild55
-rw-r--r--dev-libs/rocksdb/rocksdb-8.10.0.ebuild80
-rw-r--r--dev-libs/rocksdb/rocksdb-8.11.3.ebuild80
-rw-r--r--dev-libs/rocm-comgr/Manifest12
-rw-r--r--dev-libs/rocm-comgr/files/0001-COMGR-changes-needed-for-upstream-llvm.patch66
-rw-r--r--dev-libs/rocm-comgr/files/0001-Find-CLANG_RESOURCE_DIR-using-clang-print-resource-d.patch48
-rw-r--r--dev-libs/rocm-comgr/files/0001-Specify-clang-exe-path-in-Driver-Creation.patch52
-rw-r--r--dev-libs/rocm-comgr/files/rocm-comgr-3.1.0-dependencies.patch52
-rw-r--r--dev-libs/rocm-comgr/files/rocm-comgr-4.3.0_strip-usr-include.patch16
-rw-r--r--dev-libs/rocm-comgr/files/rocm-comgr-4.5.2-dependencies.patch53
-rw-r--r--dev-libs/rocm-comgr/files/rocm-comgr-5.0-rocm_path.patch14
-rw-r--r--dev-libs/rocm-comgr/files/rocm-comgr-5.1.3-Find-CLANG_RESOURCE_DIR.patch71
-rw-r--r--dev-libs/rocm-comgr/files/rocm-comgr-5.1.3-clang-fix-include.patch12
-rw-r--r--dev-libs/rocm-comgr/files/rocm-comgr-5.1.3-clang-link.patch17
-rw-r--r--dev-libs/rocm-comgr/files/rocm-comgr-5.1.3-llvm-15-args-changed20
-rw-r--r--dev-libs/rocm-comgr/files/rocm-comgr-5.1.3-llvm-15-remove-zlib-gnu17
-rw-r--r--dev-libs/rocm-comgr/files/rocm-comgr-5.1.3-rocm-path.patch14
-rw-r--r--dev-libs/rocm-comgr/files/rocm-comgr-5.3.3-HIPIncludePath-not-needed.patch15
-rw-r--r--dev-libs/rocm-comgr/files/rocm-comgr-5.3.3-fix-tests.patch17
-rw-r--r--dev-libs/rocm-comgr/files/rocm-comgr-5.3.3-fno-stack-protector.patch14
-rw-r--r--dev-libs/rocm-comgr/files/rocm-comgr-5.3.3-remove-h-option.patch43
-rw-r--r--dev-libs/rocm-comgr/files/rocm-comgr-5.5.1-fix-tests.patch17
-rw-r--r--dev-libs/rocm-comgr/files/rocm-comgr-5.5.1-lld-include.patch22
-rw-r--r--dev-libs/rocm-comgr/files/rocm-comgr-5.5.1-nullopt.patch23
-rw-r--r--dev-libs/rocm-comgr/files/rocm-comgr-5.5.1-opt_mrelax.patch23
-rw-r--r--dev-libs/rocm-comgr/files/rocm-comgr-5.5.1-subtargetfeatures.patch26
-rw-r--r--dev-libs/rocm-comgr/files/rocm-comgr-5.7.0-disassembly.patch20
-rw-r--r--dev-libs/rocm-comgr/files/rocm-comgr-5.7.0-lld.patch39
-rw-r--r--dev-libs/rocm-comgr/files/rocm-comgr-5.7.0-metadata.patch73
-rw-r--r--dev-libs/rocm-comgr/files/rocm-comgr-5.7.0-optional.patch113
-rw-r--r--dev-libs/rocm-comgr/files/rocm-comgr-5.7.0-symbolizer.patch39
-rw-r--r--dev-libs/rocm-comgr/files/rocm-comgr-5.7.1-correct-license-install-dir.patch16
-rw-r--r--dev-libs/rocm-comgr/files/rocm-comgr-5.7.1-fix-tests-rocm-path.patch12
-rw-r--r--dev-libs/rocm-comgr/files/rocm-comgr-5.7.1-fix-tests.patch50
-rw-r--r--dev-libs/rocm-comgr/metadata.xml4
-rw-r--r--dev-libs/rocm-comgr/rocm-comgr-3.10.0.ebuild42
-rw-r--r--dev-libs/rocm-comgr/rocm-comgr-3.9.0.ebuild42
-rw-r--r--dev-libs/rocm-comgr/rocm-comgr-4.0.0.ebuild42
-rw-r--r--dev-libs/rocm-comgr/rocm-comgr-4.1.0.ebuild42
-rw-r--r--dev-libs/rocm-comgr/rocm-comgr-4.2.0.ebuild42
-rw-r--r--dev-libs/rocm-comgr/rocm-comgr-4.3.0-r1.ebuild39
-rw-r--r--dev-libs/rocm-comgr/rocm-comgr-4.3.0.ebuild42
-rw-r--r--dev-libs/rocm-comgr/rocm-comgr-5.1.3-r3.ebuild60
-rw-r--r--dev-libs/rocm-comgr/rocm-comgr-5.3.3-r2.ebuild62
-rw-r--r--dev-libs/rocm-comgr/rocm-comgr-5.4.3-r1.ebuild61
-rw-r--r--dev-libs/rocm-comgr/rocm-comgr-5.5.1.ebuild64
-rw-r--r--dev-libs/rocm-comgr/rocm-comgr-5.7.1.ebuild64
-rw-r--r--dev-libs/rocm-comgr/rocm-comgr-6.0.0.ebuild63
-rw-r--r--dev-libs/rocm-device-libs/Manifest14
-rw-r--r--dev-libs/rocm-device-libs/files/rocm-device-libs-5.1.3-llvm-link.patch13
-rw-r--r--dev-libs/rocm-device-libs/files/rocm-device-libs-5.1.3-test-bitcode-dir.patch24
-rw-r--r--dev-libs/rocm-device-libs/files/rocm-device-libs-5.4.3-Revert-Update-counters-for-gfx11.patch216
-rw-r--r--dev-libs/rocm-device-libs/files/rocm-device-libs-5.5.1-fix-llvm-link.patch13
-rw-r--r--dev-libs/rocm-device-libs/rocm-device-libs-3.10.0.ebuild38
-rw-r--r--dev-libs/rocm-device-libs/rocm-device-libs-3.7.0.ebuild32
-rw-r--r--dev-libs/rocm-device-libs/rocm-device-libs-3.8.0.ebuild32
-rw-r--r--dev-libs/rocm-device-libs/rocm-device-libs-3.9.0-r1.ebuild38
-rw-r--r--dev-libs/rocm-device-libs/rocm-device-libs-4.0.0.ebuild38
-rw-r--r--dev-libs/rocm-device-libs/rocm-device-libs-4.1.0.ebuild38
-rw-r--r--dev-libs/rocm-device-libs/rocm-device-libs-4.2.0.ebuild38
-rw-r--r--dev-libs/rocm-device-libs/rocm-device-libs-4.3.0.ebuild38
-rw-r--r--dev-libs/rocm-device-libs/rocm-device-libs-5.1.3-r1.ebuild47
-rw-r--r--dev-libs/rocm-device-libs/rocm-device-libs-5.3.3.ebuild47
-rw-r--r--dev-libs/rocm-device-libs/rocm-device-libs-5.4.3.ebuild48
-rw-r--r--dev-libs/rocm-device-libs/rocm-device-libs-5.5.1.ebuild49
-rw-r--r--dev-libs/rocm-device-libs/rocm-device-libs-5.7.1.ebuild49
-rw-r--r--dev-libs/rocm-device-libs/rocm-device-libs-6.0.0.ebuild51
-rw-r--r--dev-libs/rocm-device-libs/rocm-device-libs-9999.ebuild33
-rw-r--r--dev-libs/rocm-hostcall/Manifest1
-rw-r--r--dev-libs/rocm-hostcall/files/rocm-hostcall-2.7.0-install-correctly.patch39
-rw-r--r--dev-libs/rocm-hostcall/metadata.xml11
-rw-r--r--dev-libs/rocm-hostcall/rocm-hostcall-2.7.0.ebuild27
-rw-r--r--dev-libs/rocm-opencl-runtime/Manifest17
-rw-r--r--dev-libs/rocm-opencl-runtime/files/rocclr-5.3.3-fix-include.patch218
-rw-r--r--dev-libs/rocm-opencl-runtime/files/rocclr-5.3.3-gcc13.patch27
-rw-r--r--dev-libs/rocm-opencl-runtime/files/rocm-opencl-runtime-3.10.0-add-rocclr-include-directories.patch12
-rw-r--r--dev-libs/rocm-opencl-runtime/files/rocm-opencl-runtime-3.7.0-add-rocclr-include-directories.patch11
-rw-r--r--dev-libs/rocm-opencl-runtime/files/rocm-opencl-runtime-3.7.0-amdocl64icd.patch10
-rw-r--r--dev-libs/rocm-opencl-runtime/files/rocm-opencl-runtime-3.7.0-change-install-location.patch79
-rw-r--r--dev-libs/rocm-opencl-runtime/files/rocm-opencl-runtime-3.9.0-add-rocclr-include-directories.patch12
-rw-r--r--dev-libs/rocm-opencl-runtime/files/rocm-opencl-runtime-4.2.0-opencl3-header.patch65
-rw-r--r--dev-libs/rocm-opencl-runtime/files/rocm-opencl-runtime-5.0.2-enable-gfx800.patch16
-rw-r--r--dev-libs/rocm-opencl-runtime/files/rocm-opencl-runtime-5.1.3-remove-clinfo.patch24
-rw-r--r--dev-libs/rocm-opencl-runtime/files/rocm-opencl-runtime-5.3.3-gcc13.patch27
-rw-r--r--dev-libs/rocm-opencl-runtime/metadata.xml4
-rw-r--r--dev-libs/rocm-opencl-runtime/rocm-opencl-runtime-3.10.0.ebuild67
-rw-r--r--dev-libs/rocm-opencl-runtime/rocm-opencl-runtime-3.8.0.ebuild67
-rw-r--r--dev-libs/rocm-opencl-runtime/rocm-opencl-runtime-3.9.0.ebuild67
-rw-r--r--dev-libs/rocm-opencl-runtime/rocm-opencl-runtime-4.0.0.ebuild66
-rw-r--r--dev-libs/rocm-opencl-runtime/rocm-opencl-runtime-4.1.0.ebuild66
-rw-r--r--dev-libs/rocm-opencl-runtime/rocm-opencl-runtime-4.2.0.ebuild67
-rw-r--r--dev-libs/rocm-opencl-runtime/rocm-opencl-runtime-4.3.0.ebuild67
-rw-r--r--dev-libs/rocm-opencl-runtime/rocm-opencl-runtime-5.1.3.ebuild130
-rw-r--r--dev-libs/rocm-opencl-runtime/rocm-opencl-runtime-5.3.3-r1.ebuild118
-rw-r--r--dev-libs/rocm-opencl-runtime/rocm-opencl-runtime-5.4.3-r1.ebuild136
-rw-r--r--dev-libs/rocm-opencl-runtime/rocm-opencl-runtime-5.5.1.ebuild133
-rw-r--r--dev-libs/rocm-opencl-runtime/rocm-opencl-runtime-5.7.1-r1.ebuild111
-rw-r--r--dev-libs/rocm-opencl-runtime/rocm-opencl-runtime-6.0.0.ebuild111
-rw-r--r--dev-libs/rocm-opencl-runtime/rocm-opencl-runtime-9999.ebuild139
-rw-r--r--dev-libs/rocr-runtime/Manifest13
-rw-r--r--dev-libs/rocr-runtime/files/rocr-runtime-3.7.0-cmake-install-paths.patch53
-rw-r--r--dev-libs/rocr-runtime/files/rocr-runtime-4.1.0-cmake-install-paths.patch53
-rw-r--r--dev-libs/rocr-runtime/files/rocr-runtime-4.3.0_no-aqlprofiler.patch29
-rw-r--r--dev-libs/rocr-runtime/files/rocr-runtime-5.0.1-cmake-install-paths.patch42
-rw-r--r--dev-libs/rocr-runtime/files/rocr-runtime-5.7.1-extend-isa-compatibility-check.patch73
-rw-r--r--dev-libs/rocr-runtime/files/rocr-runtime-5.7.1-musl.patch106
-rw-r--r--dev-libs/rocr-runtime/rocr-runtime-3.10.0.ebuild47
-rw-r--r--dev-libs/rocr-runtime/rocr-runtime-3.8.0.ebuild47
-rw-r--r--dev-libs/rocr-runtime/rocr-runtime-3.9.0.ebuild47
-rw-r--r--dev-libs/rocr-runtime/rocr-runtime-4.0.0.ebuild47
-rw-r--r--dev-libs/rocr-runtime/rocr-runtime-4.1.0.ebuild53
-rw-r--r--dev-libs/rocr-runtime/rocr-runtime-4.2.0.ebuild46
-rw-r--r--dev-libs/rocr-runtime/rocr-runtime-4.3.0.ebuild44
-rw-r--r--dev-libs/rocr-runtime/rocr-runtime-5.1.3-r1.ebuild50
-rw-r--r--dev-libs/rocr-runtime/rocr-runtime-5.3.3-r1.ebuild51
-rw-r--r--dev-libs/rocr-runtime/rocr-runtime-5.4.3-r1.ebuild56
-rw-r--r--dev-libs/rocr-runtime/rocr-runtime-5.5.1.ebuild51
-rw-r--r--dev-libs/rocr-runtime/rocr-runtime-5.7.1-r2.ebuild59
-rw-r--r--dev-libs/rocr-runtime/rocr-runtime-6.0.0-r1.ebuild58
-rw-r--r--dev-libs/rocr-runtime/rocr-runtime-9999.ebuild53
-rw-r--r--dev-libs/roct-thunk-interface/Manifest10
-rw-r--r--dev-libs/roct-thunk-interface/files/roct-thunk-interface-4.1.0-append-flags.patch27
-rw-r--r--dev-libs/roct-thunk-interface/files/roct-thunk-interface-5.7.0-functions.patch14
-rw-r--r--dev-libs/roct-thunk-interface/files/roct-thunk-interface-5.7.1-musl.patch61
-rw-r--r--dev-libs/roct-thunk-interface/files/roct-thunk-interface-6.0.0-functions.patch12
-rw-r--r--dev-libs/roct-thunk-interface/roct-thunk-interface-4.0.0.ebuild35
-rw-r--r--dev-libs/roct-thunk-interface/roct-thunk-interface-4.1.0.ebuild39
-rw-r--r--dev-libs/roct-thunk-interface/roct-thunk-interface-4.2.0.ebuild39
-rw-r--r--dev-libs/roct-thunk-interface/roct-thunk-interface-4.3.0.ebuild35
-rw-r--r--dev-libs/roct-thunk-interface/roct-thunk-interface-5.1.3.ebuild40
-rw-r--r--dev-libs/roct-thunk-interface/roct-thunk-interface-5.3.3.ebuild40
-rw-r--r--dev-libs/roct-thunk-interface/roct-thunk-interface-5.4.3.ebuild40
-rw-r--r--dev-libs/roct-thunk-interface/roct-thunk-interface-5.5.1.ebuild39
-rw-r--r--dev-libs/roct-thunk-interface/roct-thunk-interface-5.7.1-r1.ebuild44
-rw-r--r--dev-libs/roct-thunk-interface/roct-thunk-interface-6.0.0-r1.ebuild44
-rw-r--r--dev-libs/roct-thunk-interface/roct-thunk-interface-9999.ebuild35
-rw-r--r--dev-libs/s2n/Manifest1
-rw-r--r--dev-libs/s2n/metadata.xml3
-rw-r--r--dev-libs/s2n/s2n-0.10.21-r1.ebuild53
-rw-r--r--dev-libs/satyr/Manifest2
-rw-r--r--dev-libs/satyr/metadata.xml8
-rw-r--r--dev-libs/satyr/satyr-0.38.ebuild101
-rw-r--r--dev-libs/satyr/satyr-0.39.ebuild101
-rw-r--r--dev-libs/sdformat/Manifest5
-rw-r--r--dev-libs/sdformat/files/ruby.patch31
-rw-r--r--dev-libs/sdformat/sdformat-9.10.0.ebuild43
-rw-r--r--dev-libs/sdformat/sdformat-9.2.0.ebuild39
-rw-r--r--dev-libs/sdformat/sdformat-9.3.0.ebuild39
-rw-r--r--dev-libs/sdformat/sdformat-9.5.0.ebuild39
-rw-r--r--dev-libs/sdformat/sdformat-9.7.0.ebuild39
-rw-r--r--dev-libs/sentry-native/Manifest2
-rw-r--r--dev-libs/sentry-native/files/sentry-native-0.6.5_cmake-breakpad.patch14
-rw-r--r--dev-libs/sentry-native/files/sentry-native-0.6.5_no-fuzz-test.patch20
-rw-r--r--dev-libs/sentry-native/metadata.xml15
-rw-r--r--dev-libs/sentry-native/sentry-native-0.6.7.ebuild46
-rw-r--r--dev-libs/sentry-native/sentry-native-0.7.2.ebuild49
-rw-r--r--dev-libs/serd/Manifest2
-rw-r--r--dev-libs/serd/metadata.xml22
-rw-r--r--dev-libs/serd/serd-0.30.10.ebuild59
-rw-r--r--dev-libs/serd/serd-0.32.2.ebuild47
-rw-r--r--dev-libs/serdisplib/files/serdisplib-2.02-musl.patch19
-rw-r--r--dev-libs/serdisplib/serdisplib-2.02-r1.ebuild107
-rw-r--r--dev-libs/serdisplib/serdisplib-2.02-r2.ebuild110
-rw-r--r--dev-libs/sexpp/Manifest1
-rw-r--r--dev-libs/sexpp/metadata.xml14
-rw-r--r--dev-libs/sexpp/sexpp-0.8.6.ebuild35
-rw-r--r--dev-libs/shhopt/shhopt-1.1.7-r3.ebuild4
-rw-r--r--dev-libs/simde/Manifest1
-rw-r--r--dev-libs/simde/files/simde-0.7.6-musl.patch18
-rw-r--r--dev-libs/simde/files/simde-0.8.0-xop.patch28
-rw-r--r--dev-libs/simde/metadata.xml11
-rw-r--r--dev-libs/simde/simde-0.8.0-r1.ebuild46
-rw-r--r--dev-libs/simdjson/Manifest10
-rw-r--r--dev-libs/simdjson/files/simdjson-0.8.0-dont-bundle-cxxopts.patch40
-rw-r--r--dev-libs/simdjson/files/simdjson-1.0.0-tests.patch17
-rw-r--r--dev-libs/simdjson/files/simdjson-3.1.7-tests.patch21
-rw-r--r--dev-libs/simdjson/files/simdjson-3.7.1-data-optional.patch17
-rw-r--r--dev-libs/simdjson/metadata.xml1
-rw-r--r--dev-libs/simdjson/simdjson-0.9.7.ebuild67
-rw-r--r--dev-libs/simdjson/simdjson-1.0.0-r1.ebuild85
-rw-r--r--dev-libs/simdjson/simdjson-1.0.2.ebuild85
-rw-r--r--dev-libs/simdjson/simdjson-3.6.3.ebuild102
-rw-r--r--dev-libs/simdjson/simdjson-3.6.4.ebuild102
-rw-r--r--dev-libs/simdjson/simdjson-3.7.1.ebuild103
-rw-r--r--dev-libs/simdjson/simdjson-3.9.1.ebuild103
-rw-r--r--dev-libs/sink/Manifest1
-rw-r--r--dev-libs/sink/metadata.xml11
-rw-r--r--dev-libs/sink/sink-0.8.0-r3.ebuild54
-rw-r--r--dev-libs/skalibs/Manifest2
-rw-r--r--dev-libs/skalibs/metadata.xml4
-rw-r--r--dev-libs/skalibs/skalibs-2.14.1.1.ebuild43
-rw-r--r--dev-libs/skalibs/skalibs-2.9.3.0.ebuild35
-rw-r--r--dev-libs/sleef/Manifest1
-rw-r--r--dev-libs/sleef/files/sleef-3.5.1-gentoo.patch18
-rw-r--r--dev-libs/sleef/files/sleef-3.5.1-mpfr42.patch30
-rw-r--r--dev-libs/sleef/files/sleef-3.5.1-riscv.patch11
-rw-r--r--dev-libs/sleef/metadata.xml11
-rw-r--r--dev-libs/sleef/sleef-3.5.1-r1.ebuild45
-rw-r--r--dev-libs/smack/Manifest1
-rw-r--r--dev-libs/smack/metadata.xml8
-rw-r--r--dev-libs/smack/smack-0.5.0.ebuild19
-rw-r--r--dev-libs/snowball-stemmer/metadata.xml9
-rw-r--r--dev-libs/snowball-stemmer/snowball-stemmer-2.1.0-r1.ebuild10
-rw-r--r--dev-libs/snowball-stemmer/snowball-stemmer-2.2.0.ebuild6
-rw-r--r--dev-libs/softhsm/Manifest1
-rw-r--r--dev-libs/softhsm/metadata.xml3
-rw-r--r--dev-libs/softhsm/softhsm-2.6.1-r1.ebuild48
-rw-r--r--dev-libs/softhsm/softhsm-2.6.1-r2.ebuild4
-rw-r--r--dev-libs/softhsm/softhsm-2.6.1-r3.ebuild61
-rw-r--r--dev-libs/sord/Manifest2
-rw-r--r--dev-libs/sord/files/sord-0.16.8-fix-crash-with-optimized-builds-with-gcc-10.1.0.patch25
-rw-r--r--dev-libs/sord/metadata.xml14
-rw-r--r--dev-libs/sord/sord-0.16.16-r1.ebuild61
-rw-r--r--dev-libs/sord/sord-0.16.8-r1.ebuild63
-rw-r--r--dev-libs/sord/sord-9999.ebuild70
-rw-r--r--dev-libs/spdlog/Manifest7
-rw-r--r--dev-libs/spdlog/files/spdlog-1.12.0-fix-tests.patch13
-rw-r--r--dev-libs/spdlog/files/spdlog-1.8.5-libfmt-8-fix.patch13
-rw-r--r--dev-libs/spdlog/files/spdlog-fmt-10.patch121
-rw-r--r--dev-libs/spdlog/files/spdlog-force_external_fmt.patch15
-rw-r--r--dev-libs/spdlog/files/spdlog-musl-1.2.4.patch30
-rw-r--r--dev-libs/spdlog/spdlog-1.11.0-r3.ebuild55
-rw-r--r--dev-libs/spdlog/spdlog-1.12.0-r2.ebuild55
-rw-r--r--dev-libs/spdlog/spdlog-1.13.0.ebuild54
-rw-r--r--dev-libs/spdlog/spdlog-1.8.2.ebuild47
-rw-r--r--dev-libs/spdlog/spdlog-1.8.5-r1.ebuild49
-rw-r--r--dev-libs/spdlog/spdlog-1.8.5.ebuild47
-rw-r--r--dev-libs/spdlog/spdlog-1.9.2.ebuild51
-rw-r--r--dev-libs/spdlog/spdlog-9999.ebuild15
-rw-r--r--dev-libs/spsdeclib/spsdeclib-5.1-r1.ebuild53
-rw-r--r--dev-libs/spsdeclib/spsdeclib-5.1-r2.ebuild52
-rw-r--r--dev-libs/squareball/squareball-0.2.0.ebuild4
-rw-r--r--dev-libs/squareball/squareball-9999.ebuild4
-rw-r--r--dev-libs/starpu/Manifest1
-rw-r--r--dev-libs/starpu/metadata.xml3
-rw-r--r--dev-libs/starpu/starpu-1.2.6-r1.ebuild12
-rw-r--r--dev-libs/starpu/starpu-1.3.8.ebuild101
-rw-r--r--dev-libs/starpu/starpu-1.3.9.ebuild13
-rw-r--r--dev-libs/stb/Manifest2
-rw-r--r--dev-libs/stb/stb-20200713.ebuild34
-rw-r--r--dev-libs/stb/stb-20240201-r1.ebuild41
-rw-r--r--dev-libs/stfl/files/stfl-0.24-ncurses-widechar.patch26
-rw-r--r--dev-libs/stfl/stfl-0.24-r4.ebuild6
-rw-r--r--dev-libs/stfl/stfl-0.24-r5.ebuild129
-rw-r--r--dev-libs/teakra/Manifest1
-rw-r--r--dev-libs/teakra/metadata.xml13
-rw-r--r--dev-libs/teakra/teakra-20220224.ebuild44
-rw-r--r--dev-libs/template-glib/Manifest2
-rw-r--r--dev-libs/template-glib/metadata.xml23
-rw-r--r--dev-libs/template-glib/template-glib-3.34.0.ebuild47
-rw-r--r--dev-libs/template-glib/template-glib-3.36.2.ebuild49
-rw-r--r--dev-libs/thrift/Manifest3
-rw-r--r--dev-libs/thrift/files/thrift-0.16.0-network-tests.patch36
-rw-r--r--dev-libs/thrift/files/thrift-0.18.1-tests.patch33
-rw-r--r--dev-libs/thrift/metadata.xml15
-rw-r--r--dev-libs/thrift/thrift-0.16.0-r2.ebuild50
-rw-r--r--dev-libs/thrift/thrift-0.18.1-r1.ebuild59
-rw-r--r--dev-libs/thrift/thrift-0.20.0.ebuild59
-rw-r--r--dev-libs/tinyxml/files/tinyxml-2.6.2-CVE-2021-42260.patch23
-rw-r--r--dev-libs/tinyxml/tinyxml-2.6.2-r4.ebuild6
-rw-r--r--dev-libs/tinyxml/tinyxml-2.6.2-r5.ebuild68
-rw-r--r--dev-libs/tinyxml2/Manifest3
-rw-r--r--dev-libs/tinyxml2/files/tinyxml2-9.0.0-musl-1.2.4.patch51
-rw-r--r--dev-libs/tinyxml2/tinyxml2-10.0.0.ebuild25
-rw-r--r--dev-libs/tinyxml2/tinyxml2-7.1.0.ebuild22
-rw-r--r--dev-libs/tinyxml2/tinyxml2-8.0.0.ebuild22
-rw-r--r--dev-libs/tinyxml2/tinyxml2-9.0.0-r1.ebuild29
-rw-r--r--dev-libs/tinyxml2/tinyxml2-9.0.0.ebuild22
-rw-r--r--dev-libs/tllist/Manifest2
-rw-r--r--dev-libs/tllist/files/tllist-1.0.5-meson-pkgbuild-fix-version-number.patch37
-rw-r--r--dev-libs/tllist/metadata.xml8
-rw-r--r--dev-libs/tllist/tllist-1.0.5-r1.ebuild25
-rw-r--r--dev-libs/tllist/tllist-1.1.0.ebuild21
-rw-r--r--dev-libs/tlsh/Manifest1
-rw-r--r--dev-libs/tlsh/files/tlsh-4.8.2-gnuinstalldirs.patch37
-rw-r--r--dev-libs/tlsh/files/tlsh-4.8.2-respect-flags.patch21
-rw-r--r--dev-libs/tlsh/metadata.xml15
-rw-r--r--dev-libs/tlsh/tlsh-4.8.2.ebuild39
-rw-r--r--dev-libs/tntnet/tntnet-3.0.ebuild25
-rw-r--r--dev-libs/tomsfastmath/metadata.xml19
-rw-r--r--dev-libs/tomsfastmath/tomsfastmath-0.13.1-r1.ebuild6
-rw-r--r--dev-libs/totem-pl-parser/files/3.26.6-c99.patch22
-rw-r--r--dev-libs/totem-pl-parser/metadata.xml21
-rw-r--r--dev-libs/totem-pl-parser/totem-pl-parser-3.26.6-r1.ebuild73
-rw-r--r--dev-libs/totem-pl-parser/totem-pl-parser-3.26.6.ebuild72
-rw-r--r--dev-libs/tre/Manifest2
-rw-r--r--dev-libs/tre/files/0.8.0-CVE-2016-8559.patch7
-rw-r--r--dev-libs/tre/files/0.8.0-pkgcfg.patch2
-rw-r--r--dev-libs/tre/files/tre-chicken.patch20
-rw-r--r--dev-libs/tre/files/tre-issue37.patch11
-rw-r--r--dev-libs/tre/files/tre-issue50.patch11
-rw-r--r--dev-libs/tre/files/tre-issue55-part1.patch28
-rw-r--r--dev-libs/tre/files/tre-issue55-part2.patch11
-rw-r--r--dev-libs/tre/files/tre-python3.patch191
-rw-r--r--dev-libs/tre/files/tre-tests.patch10
-rw-r--r--dev-libs/tre/metadata.xml5
-rw-r--r--dev-libs/tre/tre-0.8.0-r2.ebuild67
-rw-r--r--dev-libs/tre/tre-0.8.0_p20210321-r1.ebuild115
-rw-r--r--dev-libs/tre/tre-0.8.0_p20210321-r2.ebuild106
-rw-r--r--dev-libs/tre/tre-0.8.0_p20210321-r3.ebuild108
-rw-r--r--dev-libs/tree-sitter-bash/Manifest3
-rw-r--r--dev-libs/tree-sitter-bash/metadata.xml10
-rw-r--r--dev-libs/tree-sitter-bash/tree-sitter-bash-0.19.0.ebuild4
-rw-r--r--dev-libs/tree-sitter-bash/tree-sitter-bash-0.20.4-r1.ebuild17
-rw-r--r--dev-libs/tree-sitter-bash/tree-sitter-bash-0.20.5.ebuild13
-rw-r--r--dev-libs/tree-sitter-bash/tree-sitter-bash-0.21.0-r1.ebuild15
-rw-r--r--dev-libs/tree-sitter-c-sharp/Manifest1
-rw-r--r--dev-libs/tree-sitter-c-sharp/metadata.xml6
-rw-r--r--dev-libs/tree-sitter-c-sharp/tree-sitter-c-sharp-0.19.1.ebuild4
-rw-r--r--dev-libs/tree-sitter-c-sharp/tree-sitter-c-sharp-0.20.0.ebuild13
-rw-r--r--dev-libs/tree-sitter-c/Manifest4
-rw-r--r--dev-libs/tree-sitter-c/metadata.xml6
-rw-r--r--dev-libs/tree-sitter-c/tree-sitter-c-0.20.1.ebuild13
-rw-r--r--dev-libs/tree-sitter-c/tree-sitter-c-0.20.6.ebuild13
-rw-r--r--dev-libs/tree-sitter-c/tree-sitter-c-0.20.7.ebuild13
-rw-r--r--dev-libs/tree-sitter-c/tree-sitter-c-0.21.0.ebuild15
-rw-r--r--dev-libs/tree-sitter-cmake/Manifest2
-rw-r--r--dev-libs/tree-sitter-cmake/metadata.xml11
-rw-r--r--dev-libs/tree-sitter-cmake/tree-sitter-cmake-0.1.0.ebuild14
-rw-r--r--dev-libs/tree-sitter-cmake/tree-sitter-cmake-0.4.1.ebuild14
-rw-r--r--dev-libs/tree-sitter-cpp/Manifest5
-rw-r--r--dev-libs/tree-sitter-cpp/metadata.xml6
-rw-r--r--dev-libs/tree-sitter-cpp/tree-sitter-cpp-0.20.0.ebuild13
-rw-r--r--dev-libs/tree-sitter-cpp/tree-sitter-cpp-0.20.3.ebuild16
-rw-r--r--dev-libs/tree-sitter-cpp/tree-sitter-cpp-0.20.5.ebuild16
-rw-r--r--dev-libs/tree-sitter-cpp/tree-sitter-cpp-0.21.0.ebuild16
-rw-r--r--dev-libs/tree-sitter-cpp/tree-sitter-cpp-0.22.0.ebuild18
-rw-r--r--dev-libs/tree-sitter-css/Manifest2
-rw-r--r--dev-libs/tree-sitter-css/files/tree-sitter-css-0.20.0-test-selector.patch14
-rw-r--r--dev-libs/tree-sitter-css/metadata.xml6
-rw-r--r--dev-libs/tree-sitter-css/tree-sitter-css-0.19.0.ebuild13
-rw-r--r--dev-libs/tree-sitter-css/tree-sitter-css-0.20.0.ebuild19
-rw-r--r--dev-libs/tree-sitter-embedded-template/Manifest1
-rw-r--r--dev-libs/tree-sitter-embedded-template/metadata.xml6
-rw-r--r--dev-libs/tree-sitter-embedded-template/tree-sitter-embedded-template-0.20.0.ebuild13
-rw-r--r--dev-libs/tree-sitter-gleam/Manifest1
-rw-r--r--dev-libs/tree-sitter-gleam/metadata.xml11
-rw-r--r--dev-libs/tree-sitter-gleam/tree-sitter-gleam-0.33.0.ebuild21
-rw-r--r--dev-libs/tree-sitter-go/Manifest3
-rw-r--r--dev-libs/tree-sitter-go/metadata.xml6
-rw-r--r--dev-libs/tree-sitter-go/tree-sitter-go-0.19.1.ebuild14
-rw-r--r--dev-libs/tree-sitter-go/tree-sitter-go-0.20.0-r1.ebuild17
-rw-r--r--dev-libs/tree-sitter-go/tree-sitter-go-0.21.0.ebuild13
-rw-r--r--dev-libs/tree-sitter-haskell/Manifest1
-rw-r--r--dev-libs/tree-sitter-haskell/metadata.xml6
-rw-r--r--dev-libs/tree-sitter-haskell/tree-sitter-haskell-0.13.0_p20211114.ebuild4
-rw-r--r--dev-libs/tree-sitter-haskell/tree-sitter-haskell-0.15.0.ebuild13
-rw-r--r--dev-libs/tree-sitter-html/Manifest1
-rw-r--r--dev-libs/tree-sitter-html/metadata.xml6
-rw-r--r--dev-libs/tree-sitter-html/tree-sitter-html-0.19.0.ebuild4
-rw-r--r--dev-libs/tree-sitter-html/tree-sitter-html-0.20.2.ebuild13
-rw-r--r--dev-libs/tree-sitter-java/Manifest3
-rw-r--r--dev-libs/tree-sitter-java/metadata.xml6
-rw-r--r--dev-libs/tree-sitter-java/tree-sitter-java-0.19.1.ebuild13
-rw-r--r--dev-libs/tree-sitter-java/tree-sitter-java-0.20.2.ebuild13
-rw-r--r--dev-libs/tree-sitter-java/tree-sitter-java-0.21.0.ebuild13
-rw-r--r--dev-libs/tree-sitter-javascript/Manifest4
-rw-r--r--dev-libs/tree-sitter-javascript/metadata.xml6
-rw-r--r--dev-libs/tree-sitter-javascript/tree-sitter-javascript-0.20.0.ebuild14
-rw-r--r--dev-libs/tree-sitter-javascript/tree-sitter-javascript-0.20.1-r1.ebuild17
-rw-r--r--dev-libs/tree-sitter-javascript/tree-sitter-javascript-0.20.4.ebuild13
-rw-r--r--dev-libs/tree-sitter-javascript/tree-sitter-javascript-0.21.0.ebuild13
-rw-r--r--dev-libs/tree-sitter-jsdoc/metadata.xml6
-rw-r--r--dev-libs/tree-sitter-jsdoc/tree-sitter-jsdoc-0.19.0.ebuild4
-rw-r--r--dev-libs/tree-sitter-json/Manifest3
-rw-r--r--dev-libs/tree-sitter-json/metadata.xml6
-rw-r--r--dev-libs/tree-sitter-json/tree-sitter-json-0.19.0.ebuild4
-rw-r--r--dev-libs/tree-sitter-json/tree-sitter-json-0.20.1.ebuild13
-rw-r--r--dev-libs/tree-sitter-json/tree-sitter-json-0.20.2.ebuild13
-rw-r--r--dev-libs/tree-sitter-json/tree-sitter-json-0.21.0.ebuild15
-rw-r--r--dev-libs/tree-sitter-julia/Manifest1
-rw-r--r--dev-libs/tree-sitter-julia/metadata.xml6
-rw-r--r--dev-libs/tree-sitter-julia/tree-sitter-julia-0.19.0.ebuild4
-rw-r--r--dev-libs/tree-sitter-julia/tree-sitter-julia-0.20.0.ebuild13
-rw-r--r--dev-libs/tree-sitter-meta/metadata.xml6
-rw-r--r--dev-libs/tree-sitter-meta/tree-sitter-meta-1-r1.ebuild4
-rw-r--r--dev-libs/tree-sitter-meta/tree-sitter-meta-1-r4.ebuild41
-rw-r--r--dev-libs/tree-sitter-ocaml/Manifest2
-rw-r--r--dev-libs/tree-sitter-ocaml/metadata.xml6
-rw-r--r--dev-libs/tree-sitter-ocaml/tree-sitter-ocaml-0.19.0.ebuild6
-rw-r--r--dev-libs/tree-sitter-ocaml/tree-sitter-ocaml-0.20.1.ebuild15
-rw-r--r--dev-libs/tree-sitter-ocaml/tree-sitter-ocaml-0.20.4.ebuild15
-rw-r--r--dev-libs/tree-sitter-php/Manifest3
-rw-r--r--dev-libs/tree-sitter-php/metadata.xml6
-rw-r--r--dev-libs/tree-sitter-php/tree-sitter-php-0.19.0.ebuild13
-rw-r--r--dev-libs/tree-sitter-php/tree-sitter-php-0.20.0.ebuild13
-rw-r--r--dev-libs/tree-sitter-php/tree-sitter-php-0.22.2.ebuild14
-rw-r--r--dev-libs/tree-sitter-python/Manifest4
-rw-r--r--dev-libs/tree-sitter-python/metadata.xml6
-rw-r--r--dev-libs/tree-sitter-python/tree-sitter-python-0.19.1_p20211112.ebuild15
-rw-r--r--dev-libs/tree-sitter-python/tree-sitter-python-0.20.0.ebuild13
-rw-r--r--dev-libs/tree-sitter-python/tree-sitter-python-0.20.4.ebuild13
-rw-r--r--dev-libs/tree-sitter-python/tree-sitter-python-0.21.0-r1.ebuild15
-rw-r--r--dev-libs/tree-sitter-ql/metadata.xml6
-rw-r--r--dev-libs/tree-sitter-ql/tree-sitter-ql-0.19.0.ebuild4
-rw-r--r--dev-libs/tree-sitter-regex/Manifest1
-rw-r--r--dev-libs/tree-sitter-regex/metadata.xml6
-rw-r--r--dev-libs/tree-sitter-regex/tree-sitter-regex-0.20.0.ebuild13
-rw-r--r--dev-libs/tree-sitter-ruby/Manifest3
-rw-r--r--dev-libs/tree-sitter-ruby/metadata.xml6
-rw-r--r--dev-libs/tree-sitter-ruby/tree-sitter-ruby-0.19.0.ebuild13
-rw-r--r--dev-libs/tree-sitter-ruby/tree-sitter-ruby-0.20.0_pre20221101.ebuild18
-rw-r--r--dev-libs/tree-sitter-ruby/tree-sitter-ruby-0.20.1.ebuild20
-rw-r--r--dev-libs/tree-sitter-rust/Manifest5
-rw-r--r--dev-libs/tree-sitter-rust/metadata.xml6
-rw-r--r--dev-libs/tree-sitter-rust/tree-sitter-rust-0.20.0.ebuild13
-rw-r--r--dev-libs/tree-sitter-rust/tree-sitter-rust-0.20.1.ebuild13
-rw-r--r--dev-libs/tree-sitter-rust/tree-sitter-rust-0.20.3.ebuild13
-rw-r--r--dev-libs/tree-sitter-rust/tree-sitter-rust-0.20.4.ebuild13
-rw-r--r--dev-libs/tree-sitter-rust/tree-sitter-rust-0.21.0.ebuild15
-rw-r--r--dev-libs/tree-sitter-scala/Manifest3
-rw-r--r--dev-libs/tree-sitter-scala/metadata.xml6
-rw-r--r--dev-libs/tree-sitter-scala/tree-sitter-scala-0.19.0.ebuild13
-rw-r--r--dev-libs/tree-sitter-scala/tree-sitter-scala-0.20.2.ebuild13
-rw-r--r--dev-libs/tree-sitter-scala/tree-sitter-scala-0.21.0.ebuild13
-rw-r--r--dev-libs/tree-sitter-tsq/metadata.xml6
-rw-r--r--dev-libs/tree-sitter-tsq/tree-sitter-tsq-0.19.0.ebuild4
-rw-r--r--dev-libs/tree-sitter-typescript/Manifest4
-rw-r--r--dev-libs/tree-sitter-typescript/metadata.xml6
-rw-r--r--dev-libs/tree-sitter-typescript/tree-sitter-typescript-0.20.0.ebuild15
-rw-r--r--dev-libs/tree-sitter-typescript/tree-sitter-typescript-0.20.3.ebuild14
-rw-r--r--dev-libs/tree-sitter-typescript/tree-sitter-typescript-0.20.5.ebuild14
-rw-r--r--dev-libs/tree-sitter-typescript/tree-sitter-typescript-0.20.6.ebuild21
-rw-r--r--dev-libs/tree-sitter/Manifest113
-rw-r--r--dev-libs/tree-sitter/files/tree-sitter-0.20.9-no-static.patch21
-rw-r--r--dev-libs/tree-sitter/files/tree-sitter-0.22.1-no-static.patch19
-rw-r--r--dev-libs/tree-sitter/files/tree-sitter-0.22.2-no-static.patch20
-rw-r--r--dev-libs/tree-sitter/files/tree-sitter-No-static-libs-gentoo.patch21
-rw-r--r--dev-libs/tree-sitter/metadata.xml13
-rw-r--r--dev-libs/tree-sitter/tree-sitter-0.20.0.ebuild33
-rw-r--r--dev-libs/tree-sitter/tree-sitter-0.20.1-r1.ebuild172
-rw-r--r--dev-libs/tree-sitter/tree-sitter-0.20.2.ebuild171
-rw-r--r--dev-libs/tree-sitter/tree-sitter-0.20.9-r1.ebuild55
-rw-r--r--dev-libs/tree-sitter/tree-sitter-0.22.1.ebuild51
-rw-r--r--dev-libs/tree-sitter/tree-sitter-0.22.2.ebuild51
-rw-r--r--dev-libs/tree-sitter/tree-sitter-0.22.4-r1.ebuild49
-rw-r--r--dev-libs/tree-sitter/tree-sitter-0.22.4.ebuild47
-rw-r--r--dev-libs/tree-sitter/tree-sitter-9999.ebuild54
-rw-r--r--dev-libs/trio/Manifest2
-rw-r--r--dev-libs/trio/files/trio-1.16-no-inline.patch8
-rw-r--r--dev-libs/trio/metadata.xml2
-rw-r--r--dev-libs/trio/trio-1.16.ebuild41
-rw-r--r--dev-libs/trio/trio-1.17.1.ebuild27
-rw-r--r--dev-libs/tvmet/tvmet-1.7.2-r2.ebuild4
-rw-r--r--dev-libs/ucommon/Manifest1
-rw-r--r--dev-libs/ucommon/files/ucommon-6.0.3-install_gcrypt.m4_file.patch126
-rw-r--r--dev-libs/ucommon/files/ucommon-7.0.0-c++17-dynamic-exception-specifications.patch502
-rw-r--r--dev-libs/ucommon/metadata.xml5
-rw-r--r--dev-libs/ucommon/ucommon-7.0.0.ebuild75
-rw-r--r--dev-libs/udis86/udis86-1.7.2-r1.ebuild5
-rw-r--r--dev-libs/unibilium/Manifest2
-rw-r--r--dev-libs/unibilium/files/unibilium-2.1.1-libtool.patch101
-rw-r--r--dev-libs/unibilium/unibilium-2.0.0.ebuild31
-rw-r--r--dev-libs/unibilium/unibilium-2.1.0.ebuild35
-rw-r--r--dev-libs/unibilium/unibilium-2.1.1-r1.ebuild31
-rw-r--r--dev-libs/unibilium/unibilium-2.1.1.ebuild6
-rw-r--r--dev-libs/unittest++/unittest++-2.0.0-r2.ebuild4
-rw-r--r--dev-libs/univalue/univalue-9999.ebuild5
-rw-r--r--dev-libs/urdfdom/Manifest3
-rw-r--r--dev-libs/urdfdom/files/cb.patch23
-rw-r--r--dev-libs/urdfdom/urdfdom-1.0.4-r1.ebuild37
-rw-r--r--dev-libs/urdfdom/urdfdom-3.0.0.ebuild30
-rw-r--r--dev-libs/urdfdom/urdfdom-3.1.0.ebuild30
-rw-r--r--dev-libs/urdfdom_headers/Manifest2
-rw-r--r--dev-libs/urdfdom_headers/urdfdom_headers-1.0.5.ebuild28
-rw-r--r--dev-libs/urdfdom_headers/urdfdom_headers-1.1.0.ebuild25
-rw-r--r--dev-libs/urdfdom_headers/urdfdom_headers-9999.ebuild7
-rw-r--r--dev-libs/uriparser/Manifest2
-rw-r--r--dev-libs/uriparser/metadata.xml9
-rw-r--r--dev-libs/uriparser/uriparser-0.9.6.ebuild57
-rw-r--r--dev-libs/uriparser/uriparser-0.9.7.ebuild57
-rw-r--r--dev-libs/userspace-rcu/Manifest4
-rw-r--r--dev-libs/userspace-rcu/files/userspace-rcu-0.13.1-loong.patch181
-rw-r--r--dev-libs/userspace-rcu/files/userspace-rcu-0.14.0-c11.patch61
-rw-r--r--dev-libs/userspace-rcu/files/userspace-rcu-0.14.0-noreturn.patch51
-rw-r--r--dev-libs/userspace-rcu/metadata.xml6
-rw-r--r--dev-libs/userspace-rcu/userspace-rcu-0.13.0.ebuild36
-rw-r--r--dev-libs/userspace-rcu/userspace-rcu-0.13.1.ebuild50
-rw-r--r--dev-libs/userspace-rcu/userspace-rcu-0.13.2.ebuild53
-rw-r--r--dev-libs/userspace-rcu/userspace-rcu-0.14.0.ebuild58
-rw-r--r--dev-libs/utfcpp/Manifest5
-rw-r--r--dev-libs/utfcpp/metadata.xml6
-rw-r--r--dev-libs/utfcpp/utfcpp-3.1.1.ebuild47
-rw-r--r--dev-libs/utfcpp/utfcpp-3.1.2.ebuild47
-rw-r--r--dev-libs/utfcpp/utfcpp-3.1.ebuild47
-rw-r--r--dev-libs/utfcpp/utfcpp-3.2.1.ebuild64
-rw-r--r--dev-libs/utfcpp/utfcpp-9999.ebuild33
-rw-r--r--dev-libs/uthash/metadata.xml4
-rw-r--r--dev-libs/uthash/uthash-2.3.0.ebuild2
-rw-r--r--dev-libs/uulib/files/uulib-0.5.20-Fix-Wimplicit-function-declaration-for-strerror.patch16
-rw-r--r--dev-libs/uulib/files/uulib-0.5.20-libtool.patch123
-rw-r--r--dev-libs/uulib/files/uulib-0.5.20-shared.patch81
-rw-r--r--dev-libs/uulib/uulib-0.5.20-r1.ebuild46
-rw-r--r--dev-libs/uulib/uulib-0.5.20-r3.ebuild32
-rw-r--r--dev-libs/vala-common/Manifest5
-rw-r--r--dev-libs/vala-common/metadata.xml16
-rw-r--r--dev-libs/vala-common/vala-common-0.52.10.ebuild29
-rw-r--r--dev-libs/vala-common/vala-common-0.54.6.ebuild29
-rw-r--r--dev-libs/vala-common/vala-common-0.56.14.ebuild29
-rw-r--r--dev-libs/vala-common/vala-common-0.56.15.ebuild29
-rw-r--r--dev-libs/vala-common/vala-common-0.56.16.ebuild29
-rw-r--r--dev-libs/vc/Manifest3
-rw-r--r--dev-libs/vc/files/vc-1.4.1-missing-include.patch16
-rw-r--r--dev-libs/vc/vc-1.4.1-r1.ebuild17
-rw-r--r--dev-libs/vc/vc-1.4.2.ebuild15
-rw-r--r--dev-libs/vc/vc-1.4.4.ebuild15
-rw-r--r--dev-libs/vectorscan/Manifest1
-rw-r--r--dev-libs/vectorscan/metadata.xml24
-rw-r--r--dev-libs/vectorscan/vectorscan-5.4.11.ebuild74
-rw-r--r--dev-libs/voikko-fi/Manifest4
-rw-r--r--dev-libs/voikko-fi/voikko-fi-2.4.ebuild36
-rw-r--r--dev-libs/voikko-fi/voikko-fi-2.5-r1.ebuild36
-rw-r--r--dev-libs/volume_key/metadata.xml5
-rw-r--r--dev-libs/volume_key/volume_key-0.3.12-r3.ebuild61
-rw-r--r--dev-libs/volume_key/volume_key-0.3.12-r4.ebuild59
-rw-r--r--dev-libs/wayland-protocols/Manifest5
-rw-r--r--dev-libs/wayland-protocols/metadata.xml11
-rw-r--r--dev-libs/wayland-protocols/wayland-protocols-1.23.ebuild38
-rw-r--r--dev-libs/wayland-protocols/wayland-protocols-1.24.ebuild38
-rw-r--r--dev-libs/wayland-protocols/wayland-protocols-1.32.ebuild38
-rw-r--r--dev-libs/wayland-protocols/wayland-protocols-1.33.ebuild37
-rw-r--r--dev-libs/wayland-protocols/wayland-protocols-1.34.ebuild37
-rw-r--r--dev-libs/wayland-protocols/wayland-protocols-9999.ebuild9
-rw-r--r--dev-libs/wayland/Manifest3
-rw-r--r--dev-libs/wayland/metadata.xml11
-rw-r--r--dev-libs/wayland/wayland-1.19.0.ebuild57
-rw-r--r--dev-libs/wayland/wayland-1.20.0.ebuild59
-rw-r--r--dev-libs/wayland/wayland-1.22.0.ebuild66
-rw-r--r--dev-libs/wayland/wayland-9999.ebuild21
-rw-r--r--dev-libs/weston/Manifest4
-rw-r--r--dev-libs/weston/files/weston-pipewire-0.3.patch373
-rw-r--r--dev-libs/weston/metadata.xml7
-rw-r--r--dev-libs/weston/weston-11.0.1-r1.ebuild141
-rw-r--r--dev-libs/weston/weston-11.0.1-r10.ebuild141
-rw-r--r--dev-libs/weston/weston-12.0.91-r1.ebuild146
-rw-r--r--dev-libs/weston/weston-13.0.0-r1.ebuild146
-rw-r--r--dev-libs/weston/weston-9.0.0-r2.ebuild151
-rw-r--r--dev-libs/weston/weston-9999.ebuild85
-rw-r--r--dev-libs/xalan-c/Manifest3
-rw-r--r--dev-libs/xalan-c/files/1.11.0_pre797991-as-needed.patch105
-rw-r--r--dev-libs/xalan-c/files/1.11.0_pre797991-bugfixes.patch49
-rw-r--r--dev-libs/xalan-c/files/1.11.0_pre797991-parallel-build.patch61
-rw-r--r--dev-libs/xalan-c/files/xalan-c-1.12-fix-lto.patch46
-rw-r--r--dev-libs/xalan-c/files/xalan-c-1.12-fix-threads.patch51
-rw-r--r--dev-libs/xalan-c/metadata.xml8
-rw-r--r--dev-libs/xalan-c/xalan-c-1.11.0_pre1153059.ebuild92
-rw-r--r--dev-libs/xalan-c/xalan-c-1.12-r2.ebuild64
-rw-r--r--dev-libs/xalan-c/xalan-c-9999.ebuild63
-rw-r--r--dev-libs/xapian-bindings/Manifest6
-rw-r--r--dev-libs/xapian-bindings/files/xapian-bindings-1.4.22-fix-java-installation.patch15
-rw-r--r--dev-libs/xapian-bindings/files/xapian-bindings-1.4.22-remove-precompiled-python.patch22
-rw-r--r--dev-libs/xapian-bindings/metadata.xml5
-rw-r--r--dev-libs/xapian-bindings/xapian-bindings-1.4.18-r1.ebuild343
-rw-r--r--dev-libs/xapian-bindings/xapian-bindings-1.4.19.ebuild343
-rw-r--r--dev-libs/xapian-bindings/xapian-bindings-1.4.22.ebuild346
-rw-r--r--dev-libs/xapian-bindings/xapian-bindings-1.4.23.ebuild346
-rw-r--r--dev-libs/xapian-bindings/xapian-bindings-1.4.24.ebuild346
-rw-r--r--dev-libs/xapian-bindings/xapian-bindings-1.4.25.ebuild346
-rw-r--r--dev-libs/xapian/Manifest8
-rw-r--r--dev-libs/xapian/files/xapian-1.4.17-gcc11-missing-include.patch11
-rw-r--r--dev-libs/xapian/metadata.xml7
-rw-r--r--dev-libs/xapian/xapian-1.2.25-r1.ebuild78
-rw-r--r--dev-libs/xapian/xapian-1.4.17-r1.ebuild79
-rw-r--r--dev-libs/xapian/xapian-1.4.18-r1.ebuild75
-rw-r--r--dev-libs/xapian/xapian-1.4.19.ebuild75
-rw-r--r--dev-libs/xapian/xapian-1.4.22.ebuild67
-rw-r--r--dev-libs/xapian/xapian-1.4.23.ebuild67
-rw-r--r--dev-libs/xapian/xapian-1.4.24.ebuild63
-rw-r--r--dev-libs/xapian/xapian-1.4.25.ebuild67
-rw-r--r--dev-libs/xbyak/metadata.xml9
-rw-r--r--dev-libs/xbyak/xbyak-5.73.ebuild8
-rw-r--r--dev-libs/xerces-c/Manifest2
-rw-r--r--dev-libs/xerces-c/files/xerces-c-3.2.2-fix-XERCESC-2163.patch13
-rw-r--r--dev-libs/xerces-c/files/xerces-c-3.2.4-strict-aliasing.patch13
-rw-r--r--dev-libs/xerces-c/xerces-c-3.2.3-r2.ebuild117
-rw-r--r--dev-libs/xerces-c/xerces-c-3.2.4-r2.ebuild116
-rw-r--r--dev-libs/xerces-c/xerces-c-3.2.4-r3.ebuild123
-rw-r--r--dev-libs/xerces-c/xerces-c-9999.ebuild24
-rw-r--r--dev-libs/xmlrpc-c/Manifest3
-rw-r--r--dev-libs/xmlrpc-c/files/xmlrpc-c-1.51.06-pkg-config-libxml2.patch225
-rw-r--r--dev-libs/xmlrpc-c/files/xmlrpc-c-1.51.06-pkg-config-openssl.patch46
-rw-r--r--dev-libs/xmlrpc-c/files/xmlrpc-c-1.54.06-wformat-security.patch29
-rw-r--r--dev-libs/xmlrpc-c/metadata.xml2
-rw-r--r--dev-libs/xmlrpc-c/xmlrpc-c-1.51.06-r2.ebuild74
-rw-r--r--dev-libs/xmlrpc-c/xmlrpc-c-1.54.05-r2.ebuild78
-rw-r--r--dev-libs/xmlrpc-c/xmlrpc-c-1.54.06.ebuild80
-rw-r--r--dev-libs/xmlsec/Manifest9
-rw-r--r--dev-libs/xmlsec/files/xmlsec-1.2.31-fix-nss-3.59.patch29
-rw-r--r--dev-libs/xmlsec/files/xmlsec-1.2.37-libressl.patch40
-rw-r--r--dev-libs/xmlsec/files/xmlsec-1.3.0-optimisation.patch11
-rw-r--r--dev-libs/xmlsec/files/xmlsec-1.3.2-libxml2-2.12.0-includes.patch114
-rw-r--r--dev-libs/xmlsec/files/xmlsec-1.3.3-slibtool.patch48
-rw-r--r--dev-libs/xmlsec/files/xmlsec-1.3.3-typo-fix.patch25
-rw-r--r--dev-libs/xmlsec/metadata.xml1
-rw-r--r--dev-libs/xmlsec/xmlsec-1.2.30.ebuild60
-rw-r--r--dev-libs/xmlsec/xmlsec-1.2.31.ebuild63
-rw-r--r--dev-libs/xmlsec/xmlsec-1.2.32.ebuild59
-rw-r--r--dev-libs/xmlsec/xmlsec-1.2.33.ebuild62
-rw-r--r--dev-libs/xmlsec/xmlsec-1.2.37.ebuild62
-rw-r--r--dev-libs/xmlsec/xmlsec-1.2.38.ebuild72
-rw-r--r--dev-libs/xmlsec/xmlsec-1.3.1.ebuild93
-rw-r--r--dev-libs/xmlsec/xmlsec-1.3.2.ebuild94
-rw-r--r--dev-libs/xmlsec/xmlsec-1.3.3-r1.ebuild95
-rw-r--r--dev-libs/xmlsec/xmlsec-1.3.3.ebuild93
-rw-r--r--dev-libs/xxhash/Manifest3
-rw-r--r--dev-libs/xxhash/xxhash-0.7.3.ebuild35
-rw-r--r--dev-libs/xxhash/xxhash-0.8.0.ebuild35
-rw-r--r--dev-libs/xxhash/xxhash-0.8.1.ebuild4
-rw-r--r--dev-libs/xxhash/xxhash-0.8.2.ebuild43
-rw-r--r--dev-libs/yajl/Manifest1
-rw-r--r--dev-libs/yajl/files/yajl-2.1.0-memory-leak.patch23
-rw-r--r--dev-libs/yajl/yajl-2.1.0-r3.ebuild37
-rw-r--r--dev-libs/yajl/yajl-2.1.0-r4.ebuild37
-rw-r--r--dev-libs/yajl/yajl-2.1.0-r5.ebuild36
-rw-r--r--dev-libs/yascreen/Manifest1
-rw-r--r--dev-libs/yascreen/files/yascreen-1.86-fix-install.patch22
-rw-r--r--dev-libs/yascreen/metadata.xml11
-rw-r--r--dev-libs/yascreen/yascreen-1.86-r1.ebuild36
-rw-r--r--dev-libs/yaz/Manifest4
-rw-r--r--dev-libs/yaz/files/yaz-3.0.47-icu-automagic.patch25
-rw-r--r--dev-libs/yaz/files/yaz-5.34.0-fix-atoi-header.patch54
-rw-r--r--dev-libs/yaz/files/yaz-5.34.0-fix-libxml2-2.12.patch108
-rw-r--r--dev-libs/yaz/metadata.xml14
-rw-r--r--dev-libs/yaz/yaz-3.0.53.ebuild66
-rw-r--r--dev-libs/yaz/yaz-5.31.0.ebuild61
-rw-r--r--dev-libs/yaz/yaz-5.32.0.ebuild67
-rw-r--r--dev-libs/yaz/yaz-5.34.0.ebuild76
-rw-r--r--dev-libs/yyjson/Manifest2
-rw-r--r--dev-libs/yyjson/files/yyjson-0.7.0-disable-werror.patch12
-rw-r--r--dev-libs/yyjson/metadata.xml10
-rw-r--r--dev-libs/yyjson/yyjson-0.8.0.ebuild40
-rw-r--r--dev-libs/yyjson/yyjson-0.9.0.ebuild40
-rw-r--r--dev-libs/zix/Manifest1
-rw-r--r--dev-libs/zix/metadata.xml12
-rw-r--r--dev-libs/zix/zix-0.4.2.ebuild48
-rw-r--r--dev-libs/zlog/Manifest2
-rw-r--r--dev-libs/zlog/files/zlog_no_static_lib.patch59
-rw-r--r--dev-libs/zlog/metadata.xml11
-rw-r--r--dev-libs/zlog/zlog-1.2.14-r1.ebuild29
-rw-r--r--dev-libs/zlog/zlog-1.2.15.ebuild29
-rw-r--r--dev-libs/zthread/files/zthread-2.3.2-configure-clang16.patch22
-rw-r--r--dev-libs/zthread/zthread-2.3.2-r4.ebuild65
-rw-r--r--dev-libs/zthread/zthread-2.3.2-r5.ebuild65
-rw-r--r--dev-libs/zziplib/Manifest2
-rw-r--r--dev-libs/zziplib/files/zziplib-0.13.72-Wint-conversion.patch22
-rw-r--r--dev-libs/zziplib/files/zziplib-0.13.72-incompatible-pointer-types.patch48
-rw-r--r--dev-libs/zziplib/metadata.xml9
-rw-r--r--dev-libs/zziplib/zziplib-0.13.72-r4.ebuild53
-rw-r--r--dev-libs/zziplib/zziplib-0.13.72.ebuild45
-rw-r--r--dev-libs/zziplib/zziplib-0.13.74.ebuild70
3154 files changed, 82369 insertions, 58099 deletions
diff --git a/dev-libs/9libs/9libs-1.0-r4.ebuild b/dev-libs/9libs/9libs-1.0-r4.ebuild
deleted file mode 100644
index bb14ac5ccbf2..000000000000
--- a/dev-libs/9libs/9libs-1.0-r4.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
-inherit autotools toolchain-funcs
-
-DESCRIPTION="A package of Plan 9 compatibility libraries"
-HOMEPAGE="https://www.netlib.org/research/9libs/9libs-1.0.README"
-SRC_URI="https://www.netlib.org/research/9libs/${P}.tar.bz2"
-
-LICENSE="PLAN9"
-SLOT="0"
-KEYWORDS="amd64 ~riscv x86"
-
-DEPEND="
- >=x11-libs/libX11-1.0.0
- >=x11-libs/libXt-1.0.0
-"
-RDEPEND="
- ${DEPEND}
-"
-DOCS=(
- README
-)
-PATCHES=(
- "${FILESDIR}"/${PN}-va_list.patch # Bug 385387
-)
-
-src_prepare() {
- default
- eautoreconf
-}
-
-src_configure() {
- tc-export CC
-
- econf \
- --enable-shared \
- --disable-static \
- --includedir=/usr/include/9libs \
- --with-x
-}
-
-src_install() {
- default
-
- # rename some man pages to avoid collisions with dev-libs/libevent
- local f
- for f in add balloc bitblt cachechars event frame graphics rgbpix; do
- mv "${D}"/usr/share/man/man3/${f}.{3,3g} || die
- done
-
- find "${ED}" -name '*.la' -delete || die
-}
diff --git a/dev-libs/9libs/9libs-1.0-r5.ebuild b/dev-libs/9libs/9libs-1.0-r5.ebuild
new file mode 100644
index 000000000000..21a9175d21dd
--- /dev/null
+++ b/dev-libs/9libs/9libs-1.0-r5.ebuild
@@ -0,0 +1,57 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools flag-o-matic
+
+DESCRIPTION="Plan 9 compatibility libraries"
+HOMEPAGE="https://netlib.org/research/9libs/9libs-1.0.README"
+SRC_URI="https://netlib.org/research/9libs/${P}.tar.bz2"
+
+LICENSE="PLAN9"
+SLOT="0"
+KEYWORDS="amd64 ~riscv x86"
+RESTRICT="test" # interactive, hangs with virtx and fails without (bug #403539)
+
+RDEPEND="
+ x11-libs/libX11
+ x11-libs/libXt"
+DEPEND="
+ ${DEPEND}
+ x11-base/xorg-proto"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-va_list.patch # Bug 385387
+ "${FILESDIR}"/${P}-clang16.patch
+)
+
+src_prepare() {
+ default
+
+ eautoreconf
+}
+
+src_configure() {
+ append-flags -fno-strict-aliasing #855665
+
+ local econfargs=(
+ --enable-shared
+ --includedir="${EPREFIX}"/usr/include/9libs
+ --with-x
+ )
+
+ econf "${econfargs[@]}"
+}
+
+src_install() {
+ default
+
+ # rename some man pages to avoid collisions with dev-libs/libevent
+ local f
+ for f in add balloc bitblt cachechars event frame graphics rgbpix; do
+ mv "${ED}"/usr/share/man/man3/${f}.{3,3g} || die
+ done
+
+ find "${ED}" -type f -name '*.la' -delete || die
+}
diff --git a/dev-libs/9libs/files/9libs-1.0-clang16.patch b/dev-libs/9libs/files/9libs-1.0-clang16.patch
new file mode 100644
index 000000000000..237cfc0c70c9
--- /dev/null
+++ b/dev-libs/9libs/files/9libs-1.0-clang16.patch
@@ -0,0 +1,8 @@
+https://bugs.gentoo.org/871183
+--- a/libXg/gcs.c
++++ b/libXg/gcs.c
+@@ -163,3 +163,3 @@
+ static GC gc0, gcn;
+- static clipset = 0;
++ static int clipset = 0;
+ GC g;
diff --git a/dev-libs/FBGEMM/FBGEMM-2023.11.02.ebuild b/dev-libs/FBGEMM/FBGEMM-2023.11.02.ebuild
new file mode 100644
index 000000000000..ce3c44e805d1
--- /dev/null
+++ b/dev-libs/FBGEMM/FBGEMM-2023.11.02.ebuild
@@ -0,0 +1,79 @@
+# Copyright 2022-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{9..12} )
+inherit python-any-r1 flag-o-matic cmake
+
+CommitId=cdae5d97e3aa9fda4222f31c04dbd80249c918d1
+
+DESCRIPTION="Facebook GEneral Matrix Multiplication"
+HOMEPAGE="https://github.com/pytorch/FBGEMM"
+SRC_URI="https://github.com/pytorch/${PN}/archive/${CommitId}.tar.gz
+ -> ${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="doc test"
+
+DEPEND="
+ >=dev-libs/asmjit-2022.07.02
+ dev-libs/cpuinfo
+"
+RDEPEND="${DEPEND}"
+BDEPEND="
+ test? ( dev-cpp/gtest )
+ doc? (
+ $(python_gen_any_dep '
+ dev-python/sphinx[${PYTHON_USEDEP}]
+ dev-python/sphinx-rtd-theme[${PYTHON_USEDEP}]
+ dev-python/breathe[${PYTHON_USEDEP}]
+ ')
+ )
+ ${PYTHON_DEPS}
+"
+RESTRICT="!test? ( test )"
+
+S="${WORKDIR}"/${PN}-${CommitId}
+
+python_check_deps() {
+ if use doc; then
+ python_has_version \
+ "dev-python/sphinx[${PYTHON_USEDEP}]" \
+ "dev-python/sphinx-rtd-theme[${PYTHON_USEDEP}]" \
+ "dev-python/breathe[${PYTHON_USEDEP}]"
+ fi
+}
+
+PATCHES=(
+ "${FILESDIR}"/${P}-gentoo.patch
+)
+
+src_prepare() {
+ # Bug #855668
+ filter-lto
+
+ rm test/RowWiseSparseAdagradFusedTest.cc || die
+ rm test/SparseAdagradTest.cc || die
+ sed -i \
+ -e "/-Werror/d" \
+ CMakeLists.txt \
+ || die
+ cmake_src_prepare
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DFBGEMM_LIBRARY_TYPE=shared
+ -DFBGEMM_BUILD_BENCHMARKS=OFF
+ -DFBGEMM_BUILD_DOCS=$(usex doc ON OFF)
+ -DFBGEMM_BUILD_TESTS=$(usex test ON OFF)
+ )
+ cmake_src_configure
+}
+
+src_test() {
+ OMP_STACKSIZE=512k cmake_src_test
+}
diff --git a/dev-libs/FBGEMM/FBGEMM-2023.12.01.ebuild b/dev-libs/FBGEMM/FBGEMM-2023.12.01.ebuild
new file mode 100644
index 000000000000..0d2e34d143c4
--- /dev/null
+++ b/dev-libs/FBGEMM/FBGEMM-2023.12.01.ebuild
@@ -0,0 +1,79 @@
+# Copyright 2022-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..12} )
+inherit python-any-r1 flag-o-matic cmake
+
+CommitId=88fc6e741bc03e09fcdc3cd365fa3aafddb7ec24
+
+DESCRIPTION="Facebook GEneral Matrix Multiplication"
+HOMEPAGE="https://github.com/pytorch/FBGEMM"
+SRC_URI="https://github.com/pytorch/${PN}/archive/${CommitId}.tar.gz
+ -> ${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="doc test"
+
+DEPEND="
+ >=dev-libs/asmjit-2022.07.02
+ dev-libs/cpuinfo
+"
+RDEPEND="${DEPEND}"
+BDEPEND="
+ test? ( dev-cpp/gtest )
+ doc? (
+ $(python_gen_any_dep '
+ dev-python/sphinx[${PYTHON_USEDEP}]
+ dev-python/sphinx-rtd-theme[${PYTHON_USEDEP}]
+ dev-python/breathe[${PYTHON_USEDEP}]
+ ')
+ )
+ ${PYTHON_DEPS}
+"
+RESTRICT="!test? ( test )"
+
+S="${WORKDIR}"/${PN}-${CommitId}
+
+python_check_deps() {
+ if use doc; then
+ python_has_version \
+ "dev-python/sphinx[${PYTHON_USEDEP}]" \
+ "dev-python/sphinx-rtd-theme[${PYTHON_USEDEP}]" \
+ "dev-python/breathe[${PYTHON_USEDEP}]"
+ fi
+}
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-2023.11.02-gentoo.patch
+)
+
+src_prepare() {
+ # Bug #855668
+ filter-lto
+
+ rm test/RowWiseSparseAdagradFusedTest.cc || die
+ rm test/SparseAdagradTest.cc || die
+ sed -i \
+ -e "/-Werror/d" \
+ CMakeLists.txt \
+ || die
+ cmake_src_prepare
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DFBGEMM_LIBRARY_TYPE=shared
+ -DFBGEMM_BUILD_BENCHMARKS=OFF
+ -DFBGEMM_BUILD_DOCS=$(usex doc ON OFF)
+ -DFBGEMM_BUILD_TESTS=$(usex test ON OFF)
+ )
+ cmake_src_configure
+}
+
+src_test() {
+ OMP_STACKSIZE=512k cmake_src_test
+}
diff --git a/dev-libs/FBGEMM/Manifest b/dev-libs/FBGEMM/Manifest
new file mode 100644
index 000000000000..edf24ff03da4
--- /dev/null
+++ b/dev-libs/FBGEMM/Manifest
@@ -0,0 +1,2 @@
+DIST FBGEMM-2023.11.02.tar.gz 895265 BLAKE2B 0f884147a86881159485680f1cb0c7b7e65bba5a98e62c38534041264f920e08a268e348e3d82ba3d246226a10f592d86dc37bce0cfa42c72dad478041a6c807 SHA512 030f27a120586240c5f80026bd033cf6fedbe1ae12a667308d33d6321f2334021d474a3625795d1f34734336b688b19c09134e10d5cc8dec86e84485de298584
+DIST FBGEMM-2023.12.01.tar.gz 1004090 BLAKE2B dc19ebee06bccb888e5d03606168c7439ce8c96303a697056edd22d3a3a6ff4f4f3ddf5371d50aa774890ca1ad66d665f5e54976dc1b8da841759a3f4d64c4d7 SHA512 ab37964326d2cbbcbf0f2c722675d1f059407fc3185275d37f2e04f3e516fe0733ac1fb35351fc7e7c308e9c0da40811d3657a10a3696cb7648494df79408aab
diff --git a/dev-libs/FBGEMM/files/FBGEMM-2023.11.02-gentoo.patch b/dev-libs/FBGEMM/files/FBGEMM-2023.11.02-gentoo.patch
new file mode 100644
index 000000000000..6ff4950211a2
--- /dev/null
+++ b/dev-libs/FBGEMM/files/FBGEMM-2023.11.02-gentoo.patch
@@ -0,0 +1,69 @@
+--- a/CMakeLists.txt 2022-05-21 13:13:50.806813151 +0200
++++ b/CMakeLists.txt 2022-05-21 13:16:46.448969453 +0200
+@@ -225,7 +225,7 @@
+ message(WARNING "CMAKE_CXX_FLAGS_RELEASE is ${CMAKE_CXX_FLAGS_RELEASE}")
+ message(WARNING "==========")
+
+-if(NOT TARGET asmjit)
++if(FALSE)
+ #Download asmjit from github if ASMJIT_SRC_DIR is not specified.
+ if(NOT DEFINED ASMJIT_SRC_DIR)
+ set(ASMJIT_SRC_DIR "${FBGEMM_SOURCE_DIR}/third_party/asmjit"
+@@ -254,7 +254,7 @@
+ endif()
+ endif()
+
+-if(NOT TARGET cpuinfo)
++if(FALSE)
+ #Download cpuinfo from github if CPUINFO_SOURCE_DIR is not specified.
+ if(NOT DEFINED CPUINFO_SOURCE_DIR)
+ set(CPUINFO_SOURCE_DIR "${FBGEMM_SOURCE_DIR}/third_party/cpuinfo"
+@@ -330,9 +330,6 @@
+ target_link_libraries(fbgemm
+ $<BUILD_INTERFACE:asmjit>
+ $<BUILD_INTERFACE:cpuinfo>)
+-add_dependencies(fbgemm
+- asmjit
+- cpuinfo)
+
+ if(OpenMP_FOUND)
+ target_link_libraries(fbgemm OpenMP::OpenMP_CXX)
+@@ -349,6 +346,9 @@
+ FILES ${FBGEMM_PUBLIC_HEADERS}
+ DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/fbgemm")
+
++install(FILES src/RefImplementations.h
++ DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/fbgemm/src")
++
+ install(
+ EXPORT fbgemmLibraryConfig
+ DESTINATION share/cmake/fbgemm
+--- a/test/CMakeLists.txt 2022-05-21 13:15:34.140135199 +0200
++++ b/test/CMakeLists.txt 2022-05-21 13:17:59.170813431 +0200
+@@ -8,7 +8,7 @@
+ set(CMAKE_C_EXTENSIONS OFF)
+ set(CMAKE_C_STANDARD_REQUIRED ON)
+
+-if(FBGEMM_BUILD_TESTS AND NOT TARGET gtest)
++if(FALSE)
+ #Download Googletest framework from github if
+ #GOOGLETEST_SOURCE_DIR is not specified.
+ if(NOT DEFINED GOOGLETEST_SOURCE_DIR)
+@@ -72,7 +72,6 @@
+ target_link_libraries(${TESTNAME} ${OpenMP_CXX_LIBRARIES})
+ endif()
+
+- add_dependencies(${TESTNAME} gtest fbgemm)
+ add_test(${TESTNAME} ${TESTNAME})
+ set_target_properties(${TESTNAME} PROPERTIES FOLDER test)
+ endmacro()
+--- a/src/PackMatrix.cc 2022-05-24 08:19:00.639462626 +0200
++++ b/src/PackMatrix.cc 2022-05-24 08:27:59.127720548 +0200
+@@ -30,6 +30,7 @@
+ }
+
+ template <typename PT, typename inpType, typename accType>
++FBGEMM_API
+ int PackMatrix<PT, inpType, accType>::packedBufferSize(
+ int rows,
+ int cols,
diff --git a/dev-libs/FBGEMM/metadata.xml b/dev-libs/FBGEMM/metadata.xml
new file mode 100644
index 000000000000..b13a1c693d1f
--- /dev/null
+++ b/dev-libs/FBGEMM/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">pytorch/FBGEMM</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/FP16/FP16-2021.03.20-r4.ebuild b/dev-libs/FP16/FP16-2021.03.20-r4.ebuild
new file mode 100644
index 000000000000..af3be0a34c68
--- /dev/null
+++ b/dev-libs/FP16/FP16-2021.03.20-r4.ebuild
@@ -0,0 +1,58 @@
+# Copyright 2022-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+PYTHON_COMPAT=( python3_{9..12} )
+inherit python-r1 cmake
+
+CommitId=0a92994d729ff76a58f692d3028ca1b64b145d91
+
+DESCRIPTION="conversion to/from half-precision floating point formats"
+HOMEPAGE="https://github.com/Maratyszcza/FP16/"
+SRC_URI="https://github.com/Maratyszcza/${PN}/archive/${CommitId}.tar.gz
+ -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="test"
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+DEPEND="dev-libs/psimd"
+RDEPEND="
+ ${DEPEND}
+ ${PYTHON_DEPS}
+ dev-python/PeachPy[${PYTHON_USEDEP}]
+"
+BDEPEND="test? ( dev-cpp/gtest )"
+RESTRICT="!test? ( test )"
+
+S="${WORKDIR}"/${PN}-${CommitId}
+
+PATCHES=(
+ "${FILESDIR}"/${P}-gentoo.patch
+)
+
+src_prepare() {
+ cmake_src_prepare
+ mkdir -p module/fp16 || die
+ cp include/fp16/*py module/fp16 || die
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DFP16_BUILD_BENCHMARKS=OFF
+ -DFP16_BUILD_TESTS=$(usex test ON OFF)
+ )
+ cmake_src_configure
+}
+
+python_install() {
+ python_domodule module/fp16
+}
+
+src_install() {
+ cmake_src_install
+ rm "${ED}"/usr/include/fp16/*.py || die
+ python_foreach_impl python_install
+}
diff --git a/dev-libs/FP16/Manifest b/dev-libs/FP16/Manifest
new file mode 100644
index 000000000000..46545c95256a
--- /dev/null
+++ b/dev-libs/FP16/Manifest
@@ -0,0 +1 @@
+DIST FP16-2021.03.20.tar.gz 71228 BLAKE2B e598225032324ffe38db9002e8397e67a713b6323ac57408e7e39e146826b2bb1dab60cd75181a25b1b07958463e3913bbf0e53b23803e53d472fda66b8ba6d5 SHA512 3f094f242425ea37de274eb8539dc5f8ab0c13fd5325d14180ef12e9c04e6002a110d086c4c667f7c8054af337deab096d59482eb95cc8a632c3c412b48e89d1
diff --git a/dev-libs/FP16/files/FP16-2021.03.20-gentoo.patch b/dev-libs/FP16/files/FP16-2021.03.20-gentoo.patch
new file mode 100644
index 000000000000..5a2d5ed1e2a2
--- /dev/null
+++ b/dev-libs/FP16/files/FP16-2021.03.20-gentoo.patch
@@ -0,0 +1,44 @@
+--- a/CMakeLists.txt 2022-05-10 09:11:41.286417033 +0200
++++ b/CMakeLists.txt 2022-05-10 09:12:48.647398387 +0200
+@@ -29,22 +29,10 @@
+
+ # ---[ Download deps
+ IF(NOT DEFINED PSIMD_SOURCE_DIR)
+- MESSAGE(STATUS "Downloading PSimd to ${CMAKE_BINARY_DIR}/psimd-source (define PSIMD_SOURCE_DIR to avoid it)")
+- CONFIGURE_FILE(cmake/DownloadPSimd.cmake "${CMAKE_BINARY_DIR}/psimd-download/CMakeLists.txt")
+- EXECUTE_PROCESS(COMMAND "${CMAKE_COMMAND}" -G "${CMAKE_GENERATOR}" .
+- WORKING_DIRECTORY "${CMAKE_BINARY_DIR}/psimd-download")
+- EXECUTE_PROCESS(COMMAND "${CMAKE_COMMAND}" --build .
+- WORKING_DIRECTORY "${CMAKE_BINARY_DIR}/psimd-download")
+ SET(PSIMD_SOURCE_DIR "${CMAKE_BINARY_DIR}/psimd-source" CACHE STRING "PSimd source directory")
+ ENDIF()
+
+ IF(FP16_BUILD_TESTS AND NOT DEFINED GOOGLETEST_SOURCE_DIR)
+- MESSAGE(STATUS "Downloading Google Test to ${CMAKE_BINARY_DIR}/googletest-source (define GOOGLETEST_SOURCE_DIR to avoid it)")
+- CONFIGURE_FILE(cmake/DownloadGoogleTest.cmake "${CMAKE_BINARY_DIR}/googletest-download/CMakeLists.txt")
+- EXECUTE_PROCESS(COMMAND "${CMAKE_COMMAND}" -G "${CMAKE_GENERATOR}" .
+- WORKING_DIRECTORY "${CMAKE_BINARY_DIR}/googletest-download")
+- EXECUTE_PROCESS(COMMAND "${CMAKE_COMMAND}" --build .
+- WORKING_DIRECTORY "${CMAKE_BINARY_DIR}/googletest-download")
+ SET(GOOGLETEST_SOURCE_DIR "${CMAKE_BINARY_DIR}/googletest-source" CACHE STRING "Google Test source directory")
+ ENDIF()
+
+@@ -86,18 +74,12 @@
+
+ # ---[ Configure psimd
+ IF(NOT TARGET psimd)
+- ADD_SUBDIRECTORY(
+- "${PSIMD_SOURCE_DIR}"
+- "${CMAKE_BINARY_DIR}/psimd")
+ ENDIF()
+
+ IF(FP16_BUILD_TESTS)
+ # ---[ Build google test
+ IF(NOT TARGET gtest)
+ SET(gtest_force_shared_crt ON CACHE BOOL "" FORCE)
+- ADD_SUBDIRECTORY(
+- "${GOOGLETEST_SOURCE_DIR}"
+- "${CMAKE_BINARY_DIR}/googletest")
+ ENDIF()
+
+ # ---[ Build FP16 unit tests
diff --git a/dev-libs/FP16/metadata.xml b/dev-libs/FP16/metadata.xml
new file mode 100644
index 000000000000..4c219d7162ec
--- /dev/null
+++ b/dev-libs/FP16/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">Maratyszcza/FP16</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/FXdiv/FXdiv-2020.12.09-r1.ebuild b/dev-libs/FXdiv/FXdiv-2020.12.09-r1.ebuild
new file mode 100644
index 000000000000..2237546d365e
--- /dev/null
+++ b/dev-libs/FXdiv/FXdiv-2020.12.09-r1.ebuild
@@ -0,0 +1,41 @@
+# Copyright 2022-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+inherit cmake
+
+CommitId=63058eff77e11aa15bf531df5dd34395ec3017c8
+DESCRIPTION="Division via fixed-point multiplication by inverse"
+HOMEPAGE="https://github.com/Maratyszcza/FXdiv/"
+SRC_URI="https://github.com/Maratyszcza/${PN}/archive/${CommitId}.tar.gz
+ -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="test"
+
+BDEPEND="test? ( dev-cpp/gtest )"
+RESTRICT="!test? ( test )"
+
+S="${WORKDIR}"/${PN}-${CommitId}
+
+PATCHES=(
+ "${FILESDIR}"/${P}-gentoo.patch
+)
+
+src_prepare() {
+ cmake_src_prepare
+
+ # >=dev-cpp/gtest-1.13.0 requires C++14 standard or later
+ sed -i -e 's/CXX_STANDARD 11/CXX_STANDARD 14/g' \
+ CMakeLists.txt || die "sed failed"
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DFXDIV_BUILD_BENCHMARKS=OFF
+ -DFXDIV_BUILD_TESTS=$(usex test ON OFF)
+ )
+ cmake_src_configure
+}
diff --git a/dev-libs/FXdiv/Manifest b/dev-libs/FXdiv/Manifest
new file mode 100644
index 000000000000..98b048d00af4
--- /dev/null
+++ b/dev-libs/FXdiv/Manifest
@@ -0,0 +1 @@
+DIST FXdiv-2020.12.09.tar.gz 9667 BLAKE2B 373717a3271b36f052e70f58c644aa83aa1a1cfdccc648d8830dd034fa9d799c04d908eedea7d064ce35b0bc50d521e842fb92c36ccaf2da1bc19ea478de4301 SHA512 da33eab4d006645f383a1f24fc3e747db3aeb0613219297ec0ae69aa2617f07ba050ebd6a64a8cbde6d25481f176d0ec3b9753a95d1fbcead2136595f3e50e97
diff --git a/dev-libs/FXdiv/files/FXdiv-2020.12.09-gentoo.patch b/dev-libs/FXdiv/files/FXdiv-2020.12.09-gentoo.patch
new file mode 100644
index 000000000000..0e1cbfd2ebf6
--- /dev/null
+++ b/dev-libs/FXdiv/files/FXdiv-2020.12.09-gentoo.patch
@@ -0,0 +1,25 @@
+--- a/CMakeLists.txt 2022-05-09 20:14:30.379955259 +0200
++++ b/CMakeLists.txt 2022-05-09 20:15:03.362459969 +0200
+@@ -22,12 +22,6 @@
+
+ # ---[ Download deps
+ IF(FXDIV_BUILD_TESTS AND NOT DEFINED GOOGLETEST_SOURCE_DIR)
+- MESSAGE(STATUS "Downloading Google Test to ${CMAKE_BINARY_DIR}/googletest-source (define GOOGLETEST_SOURCE_DIR to avoid it)")
+- CONFIGURE_FILE(cmake/DownloadGoogleTest.cmake "${CMAKE_BINARY_DIR}/googletest-download/CMakeLists.txt")
+- EXECUTE_PROCESS(COMMAND "${CMAKE_COMMAND}" -G "${CMAKE_GENERATOR}" .
+- WORKING_DIRECTORY "${CMAKE_BINARY_DIR}/googletest-download")
+- EXECUTE_PROCESS(COMMAND "${CMAKE_COMMAND}" --build .
+- WORKING_DIRECTORY "${CMAKE_BINARY_DIR}/googletest-download")
+ SET(GOOGLETEST_SOURCE_DIR "${CMAKE_BINARY_DIR}/googletest-source" CACHE STRING "Google Test source directory")
+ ENDIF()
+
+@@ -52,9 +52,6 @@
+ # ---[ Build google test
+ IF(NOT TARGET gtest)
+ SET(gtest_force_shared_crt ON CACHE BOOL "" FORCE)
+- ADD_SUBDIRECTORY(
+- "${GOOGLETEST_SOURCE_DIR}"
+- "${CMAKE_BINARY_DIR}/googletest")
+ ENDIF()
+
+ ADD_EXECUTABLE(multiply-high-test test/multiply-high.cc)
diff --git a/dev-libs/FXdiv/metadata.xml b/dev-libs/FXdiv/metadata.xml
new file mode 100644
index 000000000000..7f2fcf402ae4
--- /dev/null
+++ b/dev-libs/FXdiv/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">Maratyszcza/FXdiv</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/Ice/Ice-3.6.5-r2.ebuild b/dev-libs/Ice/Ice-3.6.5-r2.ebuild
deleted file mode 100644
index 7a584459e1ec..000000000000
--- a/dev-libs/Ice/Ice-3.6.5-r2.ebuild
+++ /dev/null
@@ -1,336 +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} )
-
-RUBY_OPTIONAL="yes"
-USE_RUBY="ruby26"
-
-PHP_EXT_NAME="IcePHP"
-PHP_EXT_INI="yes"
-PHP_EXT_ZENDEXT="no"
-
-PHP_EXT_OPTIONAL_USE=php
-
-USE_PHP="php7-4"
-
-# This variable does not belong to any eclass. It is solely used in this ebuild
-BERKDB_SLOTS=( 6.2 6.1 5.3 5.1 4.8 )
-
-inherit db-use mono-env php-ext-source-r3 python-r1 ruby-ng toolchain-funcs
-
-DESCRIPTION="ICE middleware C++ library and generator tools"
-HOMEPAGE="https://zeroc.com/products/ice"
-SRC_URI="https://github.com/zeroc-ice/ice/archive/v${PV}.tar.gz -> ${P}.tar.gz
- doc? ( https://download.zeroc.com/Ice/$(ver_cut 1-2)/${PN}-3.6.4.pdf )"
-LICENSE="GPL-2"
-SLOT="0/36"
-KEYWORDS="amd64 ~arm x86"
-IUSE="debug doc examples +readline mono php python ruby test"
-RESTRICT="test"
-REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
-
-RDEPEND=">=dev-libs/expat-2.0.1
- >=app-arch/bzip2-1.0.5
- dev-libs/openssl:0=
- virtual/libcrypt:=
- || (
- $(for slot in ${BERKDB_SLOTS[@]} ; do printf '%s\n' "sys-libs/db:${slot}[cxx]" ; done)
- )
- dev-cpp/libmcpp
- python? ( ${PYTHON_DEPS} )
- ruby? ( $(ruby_implementation_depend ruby26) )
- mono? ( dev-lang/mono )"
-DEPEND="${RDEPEND}
- readline? ( sys-libs/readline:0= )
- test? (
- ${PYTHON_DEPS}
- dev-python/passlib[${PYTHON_USEDEP}]
- )"
-
-# Maintainer notes:
-# TODO: java bindings
-
-S="${WORKDIR}/${P,}"
-PHP_EXT_S="${S}/php"
-
-PATCHES=(
- "${FILESDIR}/${PN}-3.6.3-no-arch-opts.patch"
- "${FILESDIR}/${P}-db6.patch"
- "${FILESDIR}/${P}-csharp.patch"
-)
-
-pkg_setup() {
- # prevent ruby-ng.eclass from messing with pkg_setup
- return
-}
-
-src_unpack() {
- # prevent ruby-ng.eclass from messing with src_unpack
- default
-}
-
-src_prepare() {
- default
-
- sed -i \
- -e 's|-L\$\(libdir\)||' \
- cpp/config/Make.rules || die
-
- sed -i \
- -e 's|-O2 ||g' \
- -e 's|-Werror ||g' \
- cpp/config/Make.rules.Linux || die
-
- sed -i \
- -e 's|install-common||' \
- {cpp,csharp,php,python,ruby}/Makefile || die
-
- sed -i \
- -e 's|-f -root|-f -gacdir $(GAC_DIR) -root|' \
- csharp/config/Make.rules.cs || die
-
- # skip mono tests, bug #498484
- sed -i \
- -e '/SUBDIRS/s|\ test||' \
- csharp/Makefile || die
-
- # skip udp test due to multicast
- # skip IceGrid/admin bug #649850
- # skip IceSSL tests due to requirement of internet connection
- # skip IceStorm/single bug #636834
- # IceUtil/stacktrace and IceStorm/stress fail with USE=debug
- # Glacier2/staticFiltering requires network access
- sed -i \
- -e 's|allTests.py|allTests.py --rfilter=udp --rfilter=IceGrid\/admin --rfilter=IceSSL --rfilter=IceStorm\/single --rfilter=IceStorm\/stress --rfilter=IceUtil\/stacktrace --rfilter=Glacier2\/staticFiltering|' \
- cpp/Makefile || die
-
- # fails even on unicode locale
- sed -i \
- -e 's|allTests.py|allTests.py --rfilter=Slice\/unicodePaths|' \
- ruby/Makefile || die
-
- # fix for x86 IceBox test
- sed -i \
- -e 's|"32"|""|' \
- scripts/TestUtil.py || die
-}
-
-src_configure() {
- suitable_db_version() {
- local ver
- for ver in "${BERKDB_SLOTS[@]}"; do
- if [[ -n $(db_findver sys-libs/db:${ver}) ]]; then
- echo "${ver}"
- return 0
- fi
- done
- die "No suitable BerkDB versions found, aborting"
- }
-
- MAKE_RULES=(
- "prefix=\"${ED}/usr\""
- "install_docdir=\"${ED}/usr/share/doc/${PF}\""
- "install_configdir=\"${ED}/usr/share/${P}/config\""
- "install_mandir=\"${ED}/usr/share/man/man1\""
- "embedded_runpath_prefix=\"${EPREFIX}/usr\""
- "LP64=yes"
- "new_dtags=yes"
- "NOTEST=$(usex !test)"
- "USE_READLINE=$(usex readline)"
- "OPTIMIZE=$(usex !debug)"
- )
-
- local BERKDB_VERSION="$(suitable_db_version)"
- MAKE_RULES+=("DB_FLAGS=-I$(db_includedir ${BERKDB_VERSION})")
- sed -i \
- -e "s|g++|$(tc-getCXX)|" \
- -e "s|\(CFLAGS[[:space:]]*=\)|\1 ${CFLAGS}|" \
- -e "s|\(CXXFLAGS[[:space:]]*=\)|\1 ${CXXFLAGS}|" \
- -e "s|\(LDFLAGS[[:space:]]*=\)|\1 ${LDFLAGS}|" \
- -e "s|\(DB_LIBS[[:space:]]*=\) \-ldb_cxx|\1 -ldb_cxx-$(db_findver sys-libs/db:${BERKDB_VERSION})|" \
- cpp/config/Make.rules{,.Linux} python/config/Make.rules || die
-
- if use python; then
- local S="${S}/python"
- python_copy_sources
- fi
-
- if use ruby; then
- SITERUBY="$(ruby26 -r rbconfig -e 'print RbConfig::CONFIG["sitelibdir"]')"
- SITERUBYARCH="$(ruby26 -r rbconfig -e 'print RbConfig::CONFIG["sitearchdir"]')"
- MAKE_RULES_RUBY=(
- "install_rubydir=\"${ED}/${SITERUBY}\""
- "install_libdir=\"${ED}/${SITERUBYARCH}\""
- )
-
- # make it use ruby26 only
- sed -i \
- -e 's|RUBY = ruby|\026|' \
- ruby/config/Make.rules || die
- sed -i \
- -e 's|env ruby|\026|' \
- ruby/config/s2rb.rb || die
- sed -i \
- -e 's|env ruby|\026|' \
- ruby/scripts/slice2rb || die
- sed -i \
- -e 's|output.write("ruby|\026|' \
- scripts/TestUtil.py || die
- fi
-
- MAKE_RULES_MONO=(
- "GACINSTALL=yes"
- "GAC_ROOT=\"${ED}/usr/$(get_libdir)\""
- "GAC_DIR=\"${EPREFIX}/usr/$(get_libdir)\""
- "install_libdir=\"${ED}/usr/$(get_libdir)\""
- "install_pkgconfigdir=\"${ED}/usr/$(get_libdir)/pkgconfig\""
- )
-
- if has_version ">dev-lang/mono-4"; then
- MAKE_RULES_MONO+=("MCS=mcs")
- fi
-
- use test && python_setup
-}
-
-src_compile() {
- # Do not remove this export or build will break!
- tc-export CXX
-
- emake -C cpp "${MAKE_RULES[@]}"
-
- if use php; then
- local i
- for i in $(php_get_slots); do
- mkdir -p "${WORKDIR}/${i}" || die
- cp -r "${PHP_EXT_S}" "${WORKDIR}/${i}/" || die "Failed to copy source ${PHP_EXT_S} to PHP target directory"
-
- pushd "${WORKDIR}/${i}" >/dev/null || die
- ln -s "${S}/cpp" || die
- ln -s "${S}/config" || die
- ln -s "${S}/slice" || die
- ln -s "${S}/Makefile" || die
-
- emake -C php "${MAKE_RULES[@]}" USE_NAMESPACES=yes "PHP_CONFIG=\"${EPREFIX}/usr/$(get_libdir)/${i}/bin/php-config\""
- popd >/dev/null || die
- done
- fi
-
- if use python; then
- building() {
- emake -C "${BUILD_DIR}" "${MAKE_RULES[@]}" PYTHON="${EPYTHON}"
- }
- local S="${S}/python"
- python_foreach_impl building
- fi
-
- if use ruby; then
- emake -C ruby "${MAKE_RULES[@]}" "${MAKE_RULES_RUBY[@]}"
- fi
-
- if use mono; then
- emake -C csharp "${MAKE_RULES[@]}" "${MAKE_RULES_MONO[@]}"
- fi
-}
-
-src_test() {
- local -x LD_LIBRARY_PATH="${S}/cpp/$(get_libdir)${LD_LIBRARY_PATH+:}${LD_LIBRARY_PATH}"
- emake -C cpp "${MAKE_RULES[@]}" test
-
- # php tests require the extension loaded and are therefore skipped
-
- if use python; then
- testing() {
- PYTHONPATH="${BUILD_DIR}"/python emake -C "${BUILD_DIR}" \
- "${MAKE_RULES[@]}" \
- PYTHON="${EPYTHON}" \
- install_pythondir="\"${D}/$(python_get_sitedir)\"" \
- install_libdir="\"${D}/$(python_get_sitedir)\"" test
- }
- local S="${S}/python"
- python_foreach_impl testing
- fi
-
- if use ruby; then
- emake -C ruby "${MAKE_RULES[@]}" "${MAKE_RULES_RUBY[@]}" test
- fi
-
- if use mono; then
- # skip mono tests, bug #498484
- ewarn "Tests for C# are currently disabled."
- #emake -C csharp "${MAKE_RULES[@]}" "${MAKE_RULES_MONO[@]}" test
- fi
-}
-
-src_install() {
- local DOCS=( CHANGELOG*.md README.md )
- use doc && DOCS+=( "${DISTDIR}/${PN}-3.6.4.pdf" )
- einstalldocs
-
- insinto /usr/share/${P}
- doins -r slice
-
- emake -C cpp "${MAKE_RULES[@]}" install
-
- if use examples; then
- docinto examples-cpp
- dodoc cpp/config/*.cfg
- docompress -x /usr/share/doc/${PF}/examples-cpp
- fi
-
- if use php; then
- insinto "/usr/share/php/${PN}"
-
- local i
- while IFS="" read -d $'\0' -r i; do
- doins "${i}"
- done < <(find "${S}/php/lib/" -name '*.php' -print0)
-
- pushd "${ED}/usr/share/${P}/slice" >/dev/null || die
-
- local -x LD_LIBRARY_PATH="${ED}/usr/$(get_libdir):${LD_LIBRARY_PATH}"
- for i in *; do
- mkdir -p "${ED}/usr/share/php/${i}" || die
- "${ED}"/usr/bin/slice2php \
- -I"${ED}/usr/share/${P}/slice/" --all \
- --output-dir "${ED}/usr/share/php/${i}" \
- --ice "${ED}/usr/share/${P}/slice/${i}"/*
- done
-
- for i in $(php_get_slots); do
- php_init_slot_env "${i}"
- insinto "${EXT_DIR}"
- newins "php/lib/${PHP_EXT_NAME}.so" "${PHP_EXT_NAME}.so"
- done
- php-ext-source-r3_createinifiles
-
- popd >/dev/null || die
- fi
-
- if use python; then
- installation() {
- mkdir -p "${D}/$(python_get_sitedir)" || die
-
- emake -C "${BUILD_DIR}" \
- "${MAKE_RULES[@]}" \
- install_pythondir="\"${D}/$(python_get_sitedir)\"" \
- install_libdir="\"${D}/$(python_get_sitedir)\"" \
- install
- python_optimize
- }
- local S="${S}/python"
- python_foreach_impl installation
- fi
-
- if use ruby; then
- dodir "${SITERUBY}"
- emake -C ruby "${MAKE_RULES[@]}" "${MAKE_RULES_RUBY[@]}" install
- fi
-
- if use mono; then
- emake -C csharp "${MAKE_RULES[@]}" "${MAKE_RULES_MONO[@]}" install
- fi
-}
diff --git a/dev-libs/Ice/Ice-3.7.10-r1.ebuild b/dev-libs/Ice/Ice-3.7.10-r1.ebuild
new file mode 100644
index 000000000000..ea12a33d8738
--- /dev/null
+++ b/dev-libs/Ice/Ice-3.7.10-r1.ebuild
@@ -0,0 +1,258 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..12} )
+
+RUBY_OPTIONAL="yes"
+USE_RUBY="ruby32"
+
+PHP_EXT_NAME="IcePHP"
+PHP_EXT_INI="yes"
+PHP_EXT_ZENDEXT="no"
+
+PHP_EXT_OPTIONAL_USE=php
+
+USE_PHP="php8-1 php8-2 php8-3"
+
+inherit php-ext-source-r3 python-r1 ruby-ng toolchain-funcs
+
+DESCRIPTION="ICE middleware C++ library and generator tools"
+HOMEPAGE="https://zeroc.com/products/ice"
+SRC_URI="https://github.com/zeroc-ice/ice/archive/v${PV}.tar.gz -> ${P}.tar.gz
+ doc? ( https://download.zeroc.com/Ice/$(ver_cut 1-2)/${PN}-3.7.1.pdf )"
+LICENSE="GPL-2"
+SLOT="0/37"
+KEYWORDS="~amd64 ~arm ~arm64 ~x86"
+IUSE="debug doc examples php python ruby test"
+RESTRICT="test"
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+
+RDEPEND=">=app-arch/bzip2-1.0.5
+ >=dev-libs/expat-2.0.1
+ dev-libs/libedit
+ dev-cpp/libmcpp
+ dev-db/lmdb:=
+ dev-libs/openssl:0=
+ virtual/libcrypt:=
+ python? ( ${PYTHON_DEPS} )
+ ruby? ( $(ruby_implementation_depend ruby32) )"
+DEPEND="${RDEPEND}
+ test? (
+ ${PYTHON_DEPS}
+ dev-python/passlib[${PYTHON_USEDEP}]
+ )"
+
+# Maintainer notes:
+# TODO: java bindings
+
+S="${WORKDIR}/${P,}"
+PHP_EXT_S="${S}/php"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-3.7.8-fix-musl-build.patch"
+)
+
+pkg_setup() {
+ # prevent ruby-ng.eclass from messing with pkg_setup
+ return
+}
+
+src_unpack() {
+ # prevent ruby-ng.eclass from messing with src_unpack
+ default
+}
+
+src_prepare() {
+ default
+
+ sed -i \
+ -e 's|-Werror ||g' \
+ config/Make.rules.Linux || die
+
+ # fix for x86 IceBox test
+ sed -i \
+ -e 's|"32"|""|' \
+ scripts/IceBoxUtil.py || die
+
+ if use !test; then
+ # Disable building tests
+ sed -i \
+ -e 's|include \$(top_srcdir)/config/Make.tests.rules||' \
+ config/Make.rules || die
+ fi
+}
+
+src_configure() {
+ MAKE_RULES=(
+ "CONFIGS=shared cpp11-shared"
+ "embedded_runpath_prefix=\"${EPREFIX}/usr\""
+ "OPTIMIZE=$(usex !debug)"
+ "V=1"
+ )
+
+ if use python; then
+ local S="${S}/python"
+ python_copy_sources
+ fi
+
+ if use ruby; then
+ SITERUBY="$(ruby32 -r rbconfig -e 'print RbConfig::CONFIG["sitelibdir"]')"
+ SITERUBYARCH="$(ruby32 -r rbconfig -e 'print RbConfig::CONFIG["sitearchdir"]')"
+ MAKE_RULES_RUBY=(
+ "install_rubydir=\"${EPREFIX}/${SITERUBY}\""
+ "install_rubylibdir=\"${EPREFIX}/${SITERUBYARCH}\""
+ )
+
+ # make it use ruby32 only
+ sed -i \
+ -e 's|RUBY ?= ruby|\032|' \
+ ruby/config/Make.rules || die
+ sed -i \
+ -e 's|env ruby|\032|' \
+ ruby/config/s2rb.rb || die
+ sed -i \
+ -e 's|env ruby|\032|' \
+ ruby/scripts/slice2rb || die
+ fi
+
+ use test && python_setup
+}
+
+src_compile() {
+ # Do not remove this export or build will break!
+ tc-export CXX
+
+ emake -C cpp "${MAKE_RULES[@]}"
+
+ if use php; then
+ local i
+ for i in $(php_get_slots); do
+ mkdir -p "${WORKDIR}/${i}" || die
+ cp -r "${PHP_EXT_S}" "${WORKDIR}/${i}/" || die "Failed to copy source ${PHP_EXT_S} to PHP target directory"
+
+ pushd "${WORKDIR}/${i}" >/dev/null || die
+ ln -s "${S}/cpp" || die
+ ln -s "${S}/config" || die
+ ln -s "${S}/slice" || die
+ ln -s "${S}/Makefile" || die
+
+ emake -C php "${MAKE_RULES[@]}" "PHP_CONFIG=\"${EPREFIX}/usr/$(get_libdir)/${i}/bin/php-config\""
+ popd >/dev/null || die
+ done
+ fi
+
+ if use python; then
+ building() {
+ emake -C "${BUILD_DIR}" "${MAKE_RULES[@]}" PYTHON="${EPYTHON}"
+ }
+ local S="${S}/python"
+ python_foreach_impl building
+ fi
+
+ if use ruby; then
+ emake -C ruby "${MAKE_RULES[@]}" "${MAKE_RULES_RUBY[@]}"
+ fi
+}
+
+src_test() {
+ local -x LD_LIBRARY_PATH="${S}/cpp/$(get_libdir)${LD_LIBRARY_PATH+:}${LD_LIBRARY_PATH}"
+ emake -C cpp "${MAKE_RULES[@]}" test
+
+ # php tests require the extension loaded and are therefore skipped
+
+ if use python; then
+ testing() {
+ PYTHONPATH="${BUILD_DIR}"/python emake -C "${BUILD_DIR}" \
+ "${MAKE_RULES[@]}" \
+ PYTHON="${EPYTHON}" \
+ install_pythondir="\"$(python_get_sitedir)\"" \
+ install_libdir="\"$(python_get_sitedir)\"" test
+ }
+ local S="${S}/python"
+ python_foreach_impl testing
+ fi
+
+ if use ruby; then
+ emake -C ruby "${MAKE_RULES[@]}" "${MAKE_RULES_RUBY[@]}" test
+ fi
+}
+
+src_install() {
+ local DOCS=( CHANGELOG*.md README.md )
+ use doc && DOCS+=( "${DISTDIR}/${PN}-3.7.1.pdf" )
+ einstalldocs
+
+ MAKE_RULES_INSTALL=(
+ "prefix=\"${ED}/usr\""
+ "install_docdir=\"${ED}/usr/share/doc/${PF}\""
+ "install_configdir=\"${ED}/usr/share/${P}/config\""
+ "install_mandir=\"${ED}/usr/share/man/man1\""
+ )
+
+ insinto /usr/share/${P}
+ doins -r slice
+
+ emake -C cpp "${MAKE_RULES[@]}" "${MAKE_RULES_INSTALL[@]}" install
+
+ if use examples; then
+ docinto examples-cpp
+ dodoc cpp/config/*.cfg
+ docompress -x /usr/share/doc/${PF}/examples-cpp
+ fi
+
+ if use php; then
+ insinto "/usr/share/php/${PN}"
+
+ local i
+ while IFS="" read -d $'\0' -r i; do
+ doins "${i}"
+ done < <(find "${S}/php/lib/" -name '*.php' -print0)
+
+ pushd "${ED}/usr/share/${P}/slice" >/dev/null || die
+
+ local -x LD_LIBRARY_PATH="${ED}/usr/$(get_libdir):${LD_LIBRARY_PATH}"
+ for i in *; do
+ mkdir -p "${ED}/usr/share/php/${i}" || die
+ "${ED}"/usr/bin/slice2php \
+ -I"${ED}/usr/share/${P}/slice/" --all \
+ --output-dir "${ED}/usr/share/php/${i}" \
+ --ice "${ED}/usr/share/${P}/slice/${i}"/*
+ done
+
+ for i in $(php_get_slots); do
+ php_init_slot_env "${i}"
+ insinto "${EXT_DIR}"
+ newins "php/lib/ice.so" "${PHP_EXT_NAME}.so"
+ done
+ php-ext-source-r3_createinifiles
+
+ popd >/dev/null || die
+ fi
+
+ if use python; then
+ installation() {
+ mkdir -p "${D}/$(python_get_sitedir)" || die
+
+ emake -C "${BUILD_DIR}" \
+ "${MAKE_RULES[@]}" \
+ "${MAKE_RULES_INSTALL[@]}" \
+ install_pythondir="\"${D}/$(python_get_sitedir)\"" \
+ install_libdir="\"${D}/$(python_get_sitedir)\"" \
+ install
+ python_optimize
+ }
+ local S="${S}/python"
+ python_foreach_impl installation
+ fi
+
+ if use ruby; then
+ MAKE_RULES_RUBY=(
+ "install_rubydir=\"${ED}/${SITERUBY}\""
+ "install_rubylibdir=\"${ED}/${SITERUBYARCH}\""
+ )
+ dodir "${SITERUBY}"
+ emake -C ruby "${MAKE_RULES[@]}" "${MAKE_RULES_INSTALL[@]}" "${MAKE_RULES_RUBY[@]}" install
+ fi
+}
diff --git a/dev-libs/Ice/Ice-3.7.10-r2.ebuild b/dev-libs/Ice/Ice-3.7.10-r2.ebuild
new file mode 100644
index 000000000000..4aba9b86d0f6
--- /dev/null
+++ b/dev-libs/Ice/Ice-3.7.10-r2.ebuild
@@ -0,0 +1,258 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..12} )
+
+RUBY_OPTIONAL="yes"
+USE_RUBY="ruby33"
+
+PHP_EXT_NAME="IcePHP"
+PHP_EXT_INI="yes"
+PHP_EXT_ZENDEXT="no"
+
+PHP_EXT_OPTIONAL_USE=php
+
+USE_PHP="php8-1 php8-2 php8-3"
+
+inherit php-ext-source-r3 python-r1 ruby-ng toolchain-funcs
+
+DESCRIPTION="ICE middleware C++ library and generator tools"
+HOMEPAGE="https://zeroc.com/products/ice"
+SRC_URI="https://github.com/zeroc-ice/ice/archive/v${PV}.tar.gz -> ${P}.tar.gz
+ doc? ( https://download.zeroc.com/Ice/$(ver_cut 1-2)/${PN}-3.7.1.pdf )"
+LICENSE="GPL-2"
+SLOT="0/37"
+KEYWORDS="~amd64 ~arm ~arm64 ~x86"
+IUSE="debug doc examples php python ruby test"
+RESTRICT="test"
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+
+RDEPEND=">=app-arch/bzip2-1.0.5
+ >=dev-libs/expat-2.0.1
+ dev-libs/libedit
+ dev-cpp/libmcpp
+ dev-db/lmdb:=
+ dev-libs/openssl:0=
+ virtual/libcrypt:=
+ python? ( ${PYTHON_DEPS} )
+ ruby? ( $(ruby_implementation_depend ruby33) )"
+DEPEND="${RDEPEND}
+ test? (
+ ${PYTHON_DEPS}
+ dev-python/passlib[${PYTHON_USEDEP}]
+ )"
+
+# Maintainer notes:
+# TODO: java bindings
+
+S="${WORKDIR}/${P,}"
+PHP_EXT_S="${S}/php"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-3.7.8-fix-musl-build.patch"
+)
+
+pkg_setup() {
+ # prevent ruby-ng.eclass from messing with pkg_setup
+ return
+}
+
+src_unpack() {
+ # prevent ruby-ng.eclass from messing with src_unpack
+ default
+}
+
+src_prepare() {
+ default
+
+ sed -i \
+ -e 's|-Werror ||g' \
+ config/Make.rules.Linux || die
+
+ # fix for x86 IceBox test
+ sed -i \
+ -e 's|"32"|""|' \
+ scripts/IceBoxUtil.py || die
+
+ if use !test; then
+ # Disable building tests
+ sed -i \
+ -e 's|include \$(top_srcdir)/config/Make.tests.rules||' \
+ config/Make.rules || die
+ fi
+}
+
+src_configure() {
+ MAKE_RULES=(
+ "CONFIGS=shared cpp11-shared"
+ "embedded_runpath_prefix=\"${EPREFIX}/usr\""
+ "OPTIMIZE=$(usex !debug)"
+ "V=1"
+ )
+
+ if use python; then
+ local S="${S}/python"
+ python_copy_sources
+ fi
+
+ if use ruby; then
+ SITERUBY="$(ruby33 -r rbconfig -e 'print RbConfig::CONFIG["sitelibdir"]')"
+ SITERUBYARCH="$(ruby33 -r rbconfig -e 'print RbConfig::CONFIG["sitearchdir"]')"
+ MAKE_RULES_RUBY=(
+ "install_rubydir=\"${EPREFIX}/${SITERUBY}\""
+ "install_rubylibdir=\"${EPREFIX}/${SITERUBYARCH}\""
+ )
+
+ # make it use ruby33 only
+ sed -i \
+ -e 's|RUBY ?= ruby|\033|' \
+ ruby/config/Make.rules || die
+ sed -i \
+ -e 's|env ruby|\033|' \
+ ruby/config/s2rb.rb || die
+ sed -i \
+ -e 's|env ruby|\033|' \
+ ruby/scripts/slice2rb || die
+ fi
+
+ use test && python_setup
+}
+
+src_compile() {
+ # Do not remove this export or build will break!
+ tc-export CXX
+
+ emake -C cpp "${MAKE_RULES[@]}"
+
+ if use php; then
+ local i
+ for i in $(php_get_slots); do
+ mkdir -p "${WORKDIR}/${i}" || die
+ cp -r "${PHP_EXT_S}" "${WORKDIR}/${i}/" || die "Failed to copy source ${PHP_EXT_S} to PHP target directory"
+
+ pushd "${WORKDIR}/${i}" >/dev/null || die
+ ln -s "${S}/cpp" || die
+ ln -s "${S}/config" || die
+ ln -s "${S}/slice" || die
+ ln -s "${S}/Makefile" || die
+
+ emake -C php "${MAKE_RULES[@]}" "PHP_CONFIG=\"${EPREFIX}/usr/$(get_libdir)/${i}/bin/php-config\""
+ popd >/dev/null || die
+ done
+ fi
+
+ if use python; then
+ building() {
+ emake -C "${BUILD_DIR}" "${MAKE_RULES[@]}" PYTHON="${EPYTHON}"
+ }
+ local S="${S}/python"
+ python_foreach_impl building
+ fi
+
+ if use ruby; then
+ emake -C ruby "${MAKE_RULES[@]}" "${MAKE_RULES_RUBY[@]}"
+ fi
+}
+
+src_test() {
+ local -x LD_LIBRARY_PATH="${S}/cpp/$(get_libdir)${LD_LIBRARY_PATH+:}${LD_LIBRARY_PATH}"
+ emake -C cpp "${MAKE_RULES[@]}" test
+
+ # php tests require the extension loaded and are therefore skipped
+
+ if use python; then
+ testing() {
+ PYTHONPATH="${BUILD_DIR}"/python emake -C "${BUILD_DIR}" \
+ "${MAKE_RULES[@]}" \
+ PYTHON="${EPYTHON}" \
+ install_pythondir="\"$(python_get_sitedir)\"" \
+ install_libdir="\"$(python_get_sitedir)\"" test
+ }
+ local S="${S}/python"
+ python_foreach_impl testing
+ fi
+
+ if use ruby; then
+ emake -C ruby "${MAKE_RULES[@]}" "${MAKE_RULES_RUBY[@]}" test
+ fi
+}
+
+src_install() {
+ local DOCS=( CHANGELOG*.md README.md )
+ use doc && DOCS+=( "${DISTDIR}/${PN}-3.7.1.pdf" )
+ einstalldocs
+
+ MAKE_RULES_INSTALL=(
+ "prefix=\"${ED}/usr\""
+ "install_docdir=\"${ED}/usr/share/doc/${PF}\""
+ "install_configdir=\"${ED}/usr/share/${P}/config\""
+ "install_mandir=\"${ED}/usr/share/man/man1\""
+ )
+
+ insinto /usr/share/${P}
+ doins -r slice
+
+ emake -C cpp "${MAKE_RULES[@]}" "${MAKE_RULES_INSTALL[@]}" install
+
+ if use examples; then
+ docinto examples-cpp
+ dodoc cpp/config/*.cfg
+ docompress -x /usr/share/doc/${PF}/examples-cpp
+ fi
+
+ if use php; then
+ insinto "/usr/share/php/${PN}"
+
+ local i
+ while IFS="" read -d $'\0' -r i; do
+ doins "${i}"
+ done < <(find "${S}/php/lib/" -name '*.php' -print0)
+
+ pushd "${ED}/usr/share/${P}/slice" >/dev/null || die
+
+ local -x LD_LIBRARY_PATH="${ED}/usr/$(get_libdir):${LD_LIBRARY_PATH}"
+ for i in *; do
+ mkdir -p "${ED}/usr/share/php/${i}" || die
+ "${ED}"/usr/bin/slice2php \
+ -I"${ED}/usr/share/${P}/slice/" --all \
+ --output-dir "${ED}/usr/share/php/${i}" \
+ --ice "${ED}/usr/share/${P}/slice/${i}"/*
+ done
+
+ for i in $(php_get_slots); do
+ php_init_slot_env "${i}"
+ insinto "${EXT_DIR}"
+ newins "php/lib/ice.so" "${PHP_EXT_NAME}.so"
+ done
+ php-ext-source-r3_createinifiles
+
+ popd >/dev/null || die
+ fi
+
+ if use python; then
+ installation() {
+ mkdir -p "${D}/$(python_get_sitedir)" || die
+
+ emake -C "${BUILD_DIR}" \
+ "${MAKE_RULES[@]}" \
+ "${MAKE_RULES_INSTALL[@]}" \
+ install_pythondir="\"${D}/$(python_get_sitedir)\"" \
+ install_libdir="\"${D}/$(python_get_sitedir)\"" \
+ install
+ python_optimize
+ }
+ local S="${S}/python"
+ python_foreach_impl installation
+ fi
+
+ if use ruby; then
+ MAKE_RULES_RUBY=(
+ "install_rubydir=\"${ED}/${SITERUBY}\""
+ "install_rubylibdir=\"${ED}/${SITERUBYARCH}\""
+ )
+ dodir "${SITERUBY}"
+ emake -C ruby "${MAKE_RULES[@]}" "${MAKE_RULES_INSTALL[@]}" "${MAKE_RULES_RUBY[@]}" install
+ fi
+}
diff --git a/dev-libs/Ice/Ice-3.7.10.ebuild b/dev-libs/Ice/Ice-3.7.10.ebuild
new file mode 100644
index 000000000000..8eee5f47692a
--- /dev/null
+++ b/dev-libs/Ice/Ice-3.7.10.ebuild
@@ -0,0 +1,258 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..12} )
+
+RUBY_OPTIONAL="yes"
+USE_RUBY="ruby31"
+
+PHP_EXT_NAME="IcePHP"
+PHP_EXT_INI="yes"
+PHP_EXT_ZENDEXT="no"
+
+PHP_EXT_OPTIONAL_USE=php
+
+USE_PHP="php8-1 php8-2 php8-3"
+
+inherit php-ext-source-r3 python-r1 ruby-ng toolchain-funcs
+
+DESCRIPTION="ICE middleware C++ library and generator tools"
+HOMEPAGE="https://zeroc.com/products/ice"
+SRC_URI="https://github.com/zeroc-ice/ice/archive/v${PV}.tar.gz -> ${P}.tar.gz
+ doc? ( https://download.zeroc.com/Ice/$(ver_cut 1-2)/${PN}-3.7.1.pdf )"
+LICENSE="GPL-2"
+SLOT="0/37"
+KEYWORDS="~amd64 ~arm ~arm64 ~x86"
+IUSE="debug doc examples php python ruby test"
+RESTRICT="test"
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+
+RDEPEND=">=app-arch/bzip2-1.0.5
+ >=dev-libs/expat-2.0.1
+ dev-libs/libedit
+ dev-cpp/libmcpp
+ dev-db/lmdb:=
+ dev-libs/openssl:0=
+ virtual/libcrypt:=
+ python? ( ${PYTHON_DEPS} )
+ ruby? ( $(ruby_implementation_depend ruby31) )"
+DEPEND="${RDEPEND}
+ test? (
+ ${PYTHON_DEPS}
+ dev-python/passlib[${PYTHON_USEDEP}]
+ )"
+
+# Maintainer notes:
+# TODO: java bindings
+
+S="${WORKDIR}/${P,}"
+PHP_EXT_S="${S}/php"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-3.7.8-fix-musl-build.patch"
+)
+
+pkg_setup() {
+ # prevent ruby-ng.eclass from messing with pkg_setup
+ return
+}
+
+src_unpack() {
+ # prevent ruby-ng.eclass from messing with src_unpack
+ default
+}
+
+src_prepare() {
+ default
+
+ sed -i \
+ -e 's|-Werror ||g' \
+ config/Make.rules.Linux || die
+
+ # fix for x86 IceBox test
+ sed -i \
+ -e 's|"32"|""|' \
+ scripts/IceBoxUtil.py || die
+
+ if use !test; then
+ # Disable building tests
+ sed -i \
+ -e 's|include \$(top_srcdir)/config/Make.tests.rules||' \
+ config/Make.rules || die
+ fi
+}
+
+src_configure() {
+ MAKE_RULES=(
+ "CONFIGS=shared cpp11-shared"
+ "embedded_runpath_prefix=\"${EPREFIX}/usr\""
+ "OPTIMIZE=$(usex !debug)"
+ "V=1"
+ )
+
+ if use python; then
+ local S="${S}/python"
+ python_copy_sources
+ fi
+
+ if use ruby; then
+ SITERUBY="$(ruby31 -r rbconfig -e 'print RbConfig::CONFIG["sitelibdir"]')"
+ SITERUBYARCH="$(ruby31 -r rbconfig -e 'print RbConfig::CONFIG["sitearchdir"]')"
+ MAKE_RULES_RUBY=(
+ "install_rubydir=\"${EPREFIX}/${SITERUBY}\""
+ "install_rubylibdir=\"${EPREFIX}/${SITERUBYARCH}\""
+ )
+
+ # make it use ruby31 only
+ sed -i \
+ -e 's|RUBY ?= ruby|\031|' \
+ ruby/config/Make.rules || die
+ sed -i \
+ -e 's|env ruby|\031|' \
+ ruby/config/s2rb.rb || die
+ sed -i \
+ -e 's|env ruby|\031|' \
+ ruby/scripts/slice2rb || die
+ fi
+
+ use test && python_setup
+}
+
+src_compile() {
+ # Do not remove this export or build will break!
+ tc-export CXX
+
+ emake -C cpp "${MAKE_RULES[@]}"
+
+ if use php; then
+ local i
+ for i in $(php_get_slots); do
+ mkdir -p "${WORKDIR}/${i}" || die
+ cp -r "${PHP_EXT_S}" "${WORKDIR}/${i}/" || die "Failed to copy source ${PHP_EXT_S} to PHP target directory"
+
+ pushd "${WORKDIR}/${i}" >/dev/null || die
+ ln -s "${S}/cpp" || die
+ ln -s "${S}/config" || die
+ ln -s "${S}/slice" || die
+ ln -s "${S}/Makefile" || die
+
+ emake -C php "${MAKE_RULES[@]}" "PHP_CONFIG=\"${EPREFIX}/usr/$(get_libdir)/${i}/bin/php-config\""
+ popd >/dev/null || die
+ done
+ fi
+
+ if use python; then
+ building() {
+ emake -C "${BUILD_DIR}" "${MAKE_RULES[@]}" PYTHON="${EPYTHON}"
+ }
+ local S="${S}/python"
+ python_foreach_impl building
+ fi
+
+ if use ruby; then
+ emake -C ruby "${MAKE_RULES[@]}" "${MAKE_RULES_RUBY[@]}"
+ fi
+}
+
+src_test() {
+ local -x LD_LIBRARY_PATH="${S}/cpp/$(get_libdir)${LD_LIBRARY_PATH+:}${LD_LIBRARY_PATH}"
+ emake -C cpp "${MAKE_RULES[@]}" test
+
+ # php tests require the extension loaded and are therefore skipped
+
+ if use python; then
+ testing() {
+ PYTHONPATH="${BUILD_DIR}"/python emake -C "${BUILD_DIR}" \
+ "${MAKE_RULES[@]}" \
+ PYTHON="${EPYTHON}" \
+ install_pythondir="\"$(python_get_sitedir)\"" \
+ install_libdir="\"$(python_get_sitedir)\"" test
+ }
+ local S="${S}/python"
+ python_foreach_impl testing
+ fi
+
+ if use ruby; then
+ emake -C ruby "${MAKE_RULES[@]}" "${MAKE_RULES_RUBY[@]}" test
+ fi
+}
+
+src_install() {
+ local DOCS=( CHANGELOG*.md README.md )
+ use doc && DOCS+=( "${DISTDIR}/${PN}-3.7.1.pdf" )
+ einstalldocs
+
+ MAKE_RULES_INSTALL=(
+ "prefix=\"${ED}/usr\""
+ "install_docdir=\"${ED}/usr/share/doc/${PF}\""
+ "install_configdir=\"${ED}/usr/share/${P}/config\""
+ "install_mandir=\"${ED}/usr/share/man/man1\""
+ )
+
+ insinto /usr/share/${P}
+ doins -r slice
+
+ emake -C cpp "${MAKE_RULES[@]}" "${MAKE_RULES_INSTALL[@]}" install
+
+ if use examples; then
+ docinto examples-cpp
+ dodoc cpp/config/*.cfg
+ docompress -x /usr/share/doc/${PF}/examples-cpp
+ fi
+
+ if use php; then
+ insinto "/usr/share/php/${PN}"
+
+ local i
+ while IFS="" read -d $'\0' -r i; do
+ doins "${i}"
+ done < <(find "${S}/php/lib/" -name '*.php' -print0)
+
+ pushd "${ED}/usr/share/${P}/slice" >/dev/null || die
+
+ local -x LD_LIBRARY_PATH="${ED}/usr/$(get_libdir):${LD_LIBRARY_PATH}"
+ for i in *; do
+ mkdir -p "${ED}/usr/share/php/${i}" || die
+ "${ED}"/usr/bin/slice2php \
+ -I"${ED}/usr/share/${P}/slice/" --all \
+ --output-dir "${ED}/usr/share/php/${i}" \
+ --ice "${ED}/usr/share/${P}/slice/${i}"/*
+ done
+
+ for i in $(php_get_slots); do
+ php_init_slot_env "${i}"
+ insinto "${EXT_DIR}"
+ newins "php/lib/ice.so" "${PHP_EXT_NAME}.so"
+ done
+ php-ext-source-r3_createinifiles
+
+ popd >/dev/null || die
+ fi
+
+ if use python; then
+ installation() {
+ mkdir -p "${D}/$(python_get_sitedir)" || die
+
+ emake -C "${BUILD_DIR}" \
+ "${MAKE_RULES[@]}" \
+ "${MAKE_RULES_INSTALL[@]}" \
+ install_pythondir="\"${D}/$(python_get_sitedir)\"" \
+ install_libdir="\"${D}/$(python_get_sitedir)\"" \
+ install
+ python_optimize
+ }
+ local S="${S}/python"
+ python_foreach_impl installation
+ fi
+
+ if use ruby; then
+ MAKE_RULES_RUBY=(
+ "install_rubydir=\"${ED}/${SITERUBY}\""
+ "install_rubylibdir=\"${ED}/${SITERUBYARCH}\""
+ )
+ dodir "${SITERUBY}"
+ emake -C ruby "${MAKE_RULES[@]}" "${MAKE_RULES_INSTALL[@]}" "${MAKE_RULES_RUBY[@]}" install
+ fi
+}
diff --git a/dev-libs/Ice/Ice-3.7.8-r2.ebuild b/dev-libs/Ice/Ice-3.7.8-r2.ebuild
new file mode 100644
index 000000000000..ffbd5639538e
--- /dev/null
+++ b/dev-libs/Ice/Ice-3.7.8-r2.ebuild
@@ -0,0 +1,258 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{9..11} )
+
+RUBY_OPTIONAL="yes"
+USE_RUBY="ruby31"
+
+PHP_EXT_NAME="IcePHP"
+PHP_EXT_INI="yes"
+PHP_EXT_ZENDEXT="no"
+
+PHP_EXT_OPTIONAL_USE=php
+
+USE_PHP="php8-1 php8-2"
+
+inherit php-ext-source-r3 python-r1 ruby-ng toolchain-funcs
+
+DESCRIPTION="ICE middleware C++ library and generator tools"
+HOMEPAGE="https://zeroc.com/products/ice"
+SRC_URI="https://github.com/zeroc-ice/ice/archive/v${PV}.tar.gz -> ${P}.tar.gz
+ doc? ( https://download.zeroc.com/Ice/$(ver_cut 1-2)/${PN}-3.7.1.pdf )"
+LICENSE="GPL-2"
+SLOT="0/37"
+KEYWORDS="amd64 ~arm ~arm64 x86"
+IUSE="debug doc examples php python ruby test"
+RESTRICT="test"
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+
+RDEPEND=">=app-arch/bzip2-1.0.5
+ >=dev-libs/expat-2.0.1
+ dev-libs/libedit
+ dev-cpp/libmcpp
+ dev-db/lmdb:=
+ dev-libs/openssl:0=
+ virtual/libcrypt:=
+ python? ( ${PYTHON_DEPS} )
+ ruby? ( $(ruby_implementation_depend ruby31) )"
+DEPEND="${RDEPEND}
+ test? (
+ ${PYTHON_DEPS}
+ dev-python/passlib[${PYTHON_USEDEP}]
+ )"
+
+# Maintainer notes:
+# TODO: java bindings
+
+S="${WORKDIR}/${P,}"
+PHP_EXT_S="${S}/php"
+
+PATCHES=(
+ "${FILESDIR}/${P}-fix-musl-build.patch"
+ "${FILESDIR}/${P}-py3k11.patch"
+)
+
+pkg_setup() {
+ # prevent ruby-ng.eclass from messing with pkg_setup
+ return
+}
+
+src_unpack() {
+ # prevent ruby-ng.eclass from messing with src_unpack
+ default
+}
+
+src_prepare() {
+ default
+
+ sed -i \
+ -e 's|-Werror ||g' \
+ config/Make.rules.Linux || die
+
+ # fix for x86 IceBox test
+ sed -i \
+ -e 's|"32"|""|' \
+ scripts/IceBoxUtil.py || die
+
+ if use !test; then
+ # Disable building tests
+ sed -i \
+ -e 's|include \$(top_srcdir)/config/Make.tests.rules||' \
+ config/Make.rules || die
+ fi
+}
+
+src_configure() {
+ MAKE_RULES=(
+ "embedded_runpath_prefix=\"${EPREFIX}/usr\""
+ "OPTIMIZE=$(usex !debug)"
+ "V=1"
+ )
+
+ if use python; then
+ local S="${S}/python"
+ python_copy_sources
+ fi
+
+ if use ruby; then
+ SITERUBY="$(ruby31 -r rbconfig -e 'print RbConfig::CONFIG["sitelibdir"]')"
+ SITERUBYARCH="$(ruby31 -r rbconfig -e 'print RbConfig::CONFIG["sitearchdir"]')"
+ MAKE_RULES_RUBY=(
+ "install_rubydir=\"${EPREFIX}/${SITERUBY}\""
+ "install_rubylibdir=\"${EPREFIX}/${SITERUBYARCH}\""
+ )
+
+ # make it use ruby31 only
+ sed -i \
+ -e 's|RUBY ?= ruby|\031|' \
+ ruby/config/Make.rules || die
+ sed -i \
+ -e 's|env ruby|\031|' \
+ ruby/config/s2rb.rb || die
+ sed -i \
+ -e 's|env ruby|\031|' \
+ ruby/scripts/slice2rb || die
+ fi
+
+ use test && python_setup
+}
+
+src_compile() {
+ # Do not remove this export or build will break!
+ tc-export CXX
+
+ emake -C cpp "${MAKE_RULES[@]}"
+
+ if use php; then
+ local i
+ for i in $(php_get_slots); do
+ mkdir -p "${WORKDIR}/${i}" || die
+ cp -r "${PHP_EXT_S}" "${WORKDIR}/${i}/" || die "Failed to copy source ${PHP_EXT_S} to PHP target directory"
+
+ pushd "${WORKDIR}/${i}" >/dev/null || die
+ ln -s "${S}/cpp" || die
+ ln -s "${S}/config" || die
+ ln -s "${S}/slice" || die
+ ln -s "${S}/Makefile" || die
+
+ emake -C php "${MAKE_RULES[@]}" "PHP_CONFIG=\"${EPREFIX}/usr/$(get_libdir)/${i}/bin/php-config\""
+ popd >/dev/null || die
+ done
+ fi
+
+ if use python; then
+ building() {
+ emake -C "${BUILD_DIR}" "${MAKE_RULES[@]}" PYTHON="${EPYTHON}"
+ }
+ local S="${S}/python"
+ python_foreach_impl building
+ fi
+
+ if use ruby; then
+ emake -C ruby "${MAKE_RULES[@]}" "${MAKE_RULES_RUBY[@]}"
+ fi
+}
+
+src_test() {
+ local -x LD_LIBRARY_PATH="${S}/cpp/$(get_libdir)${LD_LIBRARY_PATH+:}${LD_LIBRARY_PATH}"
+ emake -C cpp "${MAKE_RULES[@]}" test
+
+ # php tests require the extension loaded and are therefore skipped
+
+ if use python; then
+ testing() {
+ PYTHONPATH="${BUILD_DIR}"/python emake -C "${BUILD_DIR}" \
+ "${MAKE_RULES[@]}" \
+ PYTHON="${EPYTHON}" \
+ install_pythondir="\"$(python_get_sitedir)\"" \
+ install_libdir="\"$(python_get_sitedir)\"" test
+ }
+ local S="${S}/python"
+ python_foreach_impl testing
+ fi
+
+ if use ruby; then
+ emake -C ruby "${MAKE_RULES[@]}" "${MAKE_RULES_RUBY[@]}" test
+ fi
+}
+
+src_install() {
+ local DOCS=( CHANGELOG*.md README.md )
+ use doc && DOCS+=( "${DISTDIR}/${PN}-3.7.1.pdf" )
+ einstalldocs
+
+ MAKE_RULES_INSTALL=(
+ "prefix=\"${ED}/usr\""
+ "install_docdir=\"${ED}/usr/share/doc/${PF}\""
+ "install_configdir=\"${ED}/usr/share/${P}/config\""
+ "install_mandir=\"${ED}/usr/share/man/man1\""
+ )
+
+ insinto /usr/share/${P}
+ doins -r slice
+
+ emake -C cpp "${MAKE_RULES[@]}" "${MAKE_RULES_INSTALL[@]}" install
+
+ if use examples; then
+ docinto examples-cpp
+ dodoc cpp/config/*.cfg
+ docompress -x /usr/share/doc/${PF}/examples-cpp
+ fi
+
+ if use php; then
+ insinto "/usr/share/php/${PN}"
+
+ local i
+ while IFS="" read -d $'\0' -r i; do
+ doins "${i}"
+ done < <(find "${S}/php/lib/" -name '*.php' -print0)
+
+ pushd "${ED}/usr/share/${P}/slice" >/dev/null || die
+
+ local -x LD_LIBRARY_PATH="${ED}/usr/$(get_libdir):${LD_LIBRARY_PATH}"
+ for i in *; do
+ mkdir -p "${ED}/usr/share/php/${i}" || die
+ "${ED}"/usr/bin/slice2php \
+ -I"${ED}/usr/share/${P}/slice/" --all \
+ --output-dir "${ED}/usr/share/php/${i}" \
+ --ice "${ED}/usr/share/${P}/slice/${i}"/*
+ done
+
+ for i in $(php_get_slots); do
+ php_init_slot_env "${i}"
+ insinto "${EXT_DIR}"
+ newins "php/lib/ice.so" "${PHP_EXT_NAME}.so"
+ done
+ php-ext-source-r3_createinifiles
+
+ popd >/dev/null || die
+ fi
+
+ if use python; then
+ installation() {
+ mkdir -p "${D}/$(python_get_sitedir)" || die
+
+ emake -C "${BUILD_DIR}" \
+ "${MAKE_RULES[@]}" \
+ "${MAKE_RULES_INSTALL[@]}" \
+ install_pythondir="\"${D}/$(python_get_sitedir)\"" \
+ install_libdir="\"${D}/$(python_get_sitedir)\"" \
+ install
+ python_optimize
+ }
+ local S="${S}/python"
+ python_foreach_impl installation
+ fi
+
+ if use ruby; then
+ MAKE_RULES_RUBY=(
+ "install_rubydir=\"${ED}/${SITERUBY}\""
+ "install_rubylibdir=\"${ED}/${SITERUBYARCH}\""
+ )
+ dodir "${SITERUBY}"
+ emake -C ruby "${MAKE_RULES[@]}" "${MAKE_RULES_INSTALL[@]}" "${MAKE_RULES_RUBY[@]}" install
+ fi
+}
diff --git a/dev-libs/Ice/Manifest b/dev-libs/Ice/Manifest
index 99f001dd10a4..28150860b9ca 100644
--- a/dev-libs/Ice/Manifest
+++ b/dev-libs/Ice/Manifest
@@ -1,2 +1,3 @@
-DIST Ice-3.6.4.pdf 8907736 BLAKE2B 5a631c1e2e147c8ed3b31a84192210c92bbe83e8644ec9d7d164d1b94a20069ce77f6baf54910ac00c7216cbc2979caac6fa78457e9292a84407e93000f9903a SHA512 9bd2d373eb83e08e563cab174a53063a490367dea3e4b910f93f0477c3817282c859f07e46e503006e9bd37678fb6da31a58b88bfabd217b5e371fff685321a0
-DIST Ice-3.6.5.tar.gz 5505499 BLAKE2B e16e8932f09270ac6bb86984ab47fa229ad873ee343ac4f56bb48b6f9547387ded0392a76302afac2c98b6d31da7c1faf294574cdba52654e7dea0af16b4169d SHA512 3431928e6168d716919aa9b3126d17a8ae14895bb78a369902a2bb350b2e82923f38ee17965ed3696512a016fcd34dc128e9aaca40fb2b032e7f7eb07bcb903b
+DIST Ice-3.7.1.pdf 9351739 BLAKE2B 527f2c37aea19aedbfc580efd93ce4fae2eb7264342bb485822593e2da6fb75a61eea2b1a46187898af07f138d10bf9a213d0b2a0685c18cd1d4c624709a935b SHA512 199b59f14b87b2896ba970bf5aa32f6fd858cbd3fed18eac93acafe4e296db1361ca2d2000ed49f3390ed66c1d4ff8c1fcd3f14ab8197d7804c87fce422c8486
+DIST Ice-3.7.10.tar.gz 10120858 BLAKE2B a39a693975c53b7d1b1431f211e9682e8b8ffea62c63005c5158354a54807fc6966cff83f94ed6f86de1e5a2104cee3ac43eb12b9e9f406b67f9e77ffc78a800 SHA512 638ca8721db1559aae80c43663a1210ba9c8f72d58003f2d9457048c9100bee74036910917d1d10bf5b998ba49f0878177e094b436c83d3deb63613f9075483d
+DIST Ice-3.7.8.tar.gz 11056950 BLAKE2B 66686d6e66a997badef53ee30782775047a2fa39d70fa8ed73c5e7a1bad3c3899efd8d68f557a416caacd65860a73834a6bdc3188730fa19a3f1e47f028c5e21 SHA512 eb5863cb5e83000199c27a5a505a19e5f1ec05e8575eb9cdc03f6db30447212e3b02e6adc70fb2ae6ddc63cfd93bc2b6b290f38919364ee9f08b238a0aa11e88
diff --git a/dev-libs/Ice/files/Ice-3.6.3-no-arch-opts.patch b/dev-libs/Ice/files/Ice-3.6.3-no-arch-opts.patch
deleted file mode 100644
index 149a31e1dd6c..000000000000
--- a/dev-libs/Ice/files/Ice-3.6.3-no-arch-opts.patch
+++ /dev/null
@@ -1,50 +0,0 @@
---- ice-3.6.3/cpp/config/Make.rules.Linux~ 2015-06-27 16:56:56.000000000 +0200
-+++ ice-3.6.3/cpp/config/Make.rules.Linux 2015-06-27 17:23:45.810591931 +0200
-@@ -79,19 +79,6 @@
- CXXARCHFLAGS += -mtune=v8 -pipe -Wno-deprecated -DICE_USE_MUTEX_SHARED
- endif
-
-- #
-- # Only use multilib -m32/-m64 options for amd64 arch, x32 arch can also run
-- # in amd64 macines but doesn't use multilib, in this case MACHINE_TYPE will
-- # be x86_64 and HOST_ARCH x32.
-- #
-- ifeq ($(HOST_ARCH),amd64)
-- ifeq ($(LP64),yes)
-- CXXARCHFLAGS += -m64
-- else
-- CXXARCHFLAGS += -m32
-- endif
-- endif
--
- CXXFLAGS += $(CXXARCHFLAGS) -fvisibility=hidden -Wall -Werror -pthread
-
- # If MAXWARN is set then enable extra warnings
---- ice-3.6.3/config/Make.common.rules~ 2015-06-23 17:30:20.000000000 +0200
-+++ ice-3.6.3/config/Make.common.rules 2015-06-28 01:53:57.149666595 +0200
-@@ -101,25 +101,7 @@
- ifeq ($(LP64),)
- LP64 = yes
- endif
--
-- #
-- # x86 binaries build on x86_64 machine use 32 binsuffix
-- #
-- ifneq ($(STATICLIBS),yes)
-- ifneq ($(LP64),yes)
-- binsuffix = 32
-- endif
-- endif
- endif
--
-- #
-- # x86 builds uses 32 binsuffix
-- #
-- ifneq ($(STATICLIBS),yes)
-- ifeq ($(findstring $(MACHINE_TYPE),i386 i486 i586 i686),$(MACHINE_TYPE))
-- binsuffix = 32
-- endif
-- endif
- endif
-
- ifeq ($(CPP11),yes)
diff --git a/dev-libs/Ice/files/Ice-3.6.5-csharp.patch b/dev-libs/Ice/files/Ice-3.6.5-csharp.patch
deleted file mode 100644
index cfdc1f6a8d47..000000000000
--- a/dev-libs/Ice/files/Ice-3.6.5-csharp.patch
+++ /dev/null
@@ -1,50 +0,0 @@
---- ice-3.6.5/csharp/src/Makefile~ 2015-06-23 17:30:20.000000000 +0200
-+++ ice-3.6.5/csharp/src/Makefile 2015-06-27 20:07:04.217188211 +0200
-@@ -11,7 +11,7 @@
-
- include $(top_srcdir)/config/Make.rules.cs
-
--SUBDIRS = Ice IceStorm Glacier2 IcePatch2 IceGrid IceBox IceDiscovery IceLocatorDiscovery
-+SUBDIRS = Ice IceStorm Glacier2 IcePatch2 IceGrid IceBox IceSSL IceDiscovery IceLocatorDiscovery
-
- $(EVERYTHING)::
- @for subdir in $(SUBDIRS); \
---- /dev/null 2015-06-27 16:44:15.733558105 +0200
-+++ ice-3.6.5/csharp/lib/pkgconfig/IceSSL.pc 2015-06-27 20:19:30.731894653 +0200
-@@ -0,0 +1,10 @@
-+version = 3.6.5
-+mono_root = /usr
-+
-+name = IceSSL
-+
-+Name: ${name}
-+Description: IceSSL run-time support
-+Version: ${version}
-+Libs: -r:${mono_root}/lib/mono/${name}/${name}.dll
-+Requires: Ice = ${version}
---- /dev/null 2015-06-27 16:44:15.733558105 +0200
-+++ ice-3.6.5/csharp/lib/pkgconfig/IceDiscovery.pc 2015-06-27 20:20:44.312515987 +0200
-@@ -0,0 +1,10 @@
-+version = 3.6.5
-+mono_root = /usr
-+
-+name = IceDiscovery
-+
-+Name: ${name}
-+Description: IceDiscovery run-time support
-+Version: ${version}
-+Libs: -r:${mono_root}/lib/mono/${name}/${name}.dll
-+Requires: Ice = ${version}
---- /dev/null 2015-06-27 16:44:15.733558105 +0200
-+++ ice-3.6.5/csharp/lib/pkgconfig/IceLocatorDiscovery.pc 2015-06-27 20:21:22.206185123 +0200
-@@ -0,0 +1,10 @@
-+version = 3.6.5
-+mono_root = /usr
-+
-+name = IceLocatorDiscovery
-+
-+Name: ${name}
-+Description: IceLocatorDiscovery run-time support
-+Version: ${version}
-+Libs: -r:${mono_root}/lib/mono/${name}/${name}.dll
-+Requires: Ice = ${version}
diff --git a/dev-libs/Ice/files/Ice-3.6.5-db6.patch b/dev-libs/Ice/files/Ice-3.6.5-db6.patch
deleted file mode 100644
index b78fae76a453..000000000000
--- a/dev-libs/Ice/files/Ice-3.6.5-db6.patch
+++ /dev/null
@@ -1,48 +0,0 @@
-Avoid ambiguous ctor call (uint32_t vs DB_ENV*) with db 6.x.
-
---- ice-3.6.3/cpp/src/Freeze/SharedDbEnv.cpp.orig 2016-10-05 16:59:08.000000000 +0200
-+++ ice-3.6.3/cpp/src/Freeze/SharedDbEnv.cpp 2017-06-28 18:42:43.411869639 +0200
-@@ -530,7 +530,7 @@
- {
- if(_env == 0)
- {
-- _envHolder.reset(new DbEnv(0));
-+ _envHolder.reset(new DbEnv(0u));
- _env = _envHolder.get();
-
- if(_trace >= 1)
---- ice-3.6.3/cpp/src/FreezeScript/transformdb.cpp.orig 2016-10-05 16:59:08.000000000 +0200
-+++ ice-3.6.3/cpp/src/FreezeScript/transformdb.cpp 2017-06-28 19:15:03.928514164 +0200
-@@ -766,8 +766,8 @@
- //
- // Transform the database.
- //
-- DbEnv dbEnv(0);
-- DbEnv dbEnvNew(0);
-+ DbEnv dbEnv(0u);
-+ DbEnv dbEnvNew(0u);
- Freeze::TransactionPtr txNew;
- Freeze::ConnectionPtr connection;
- Freeze::ConnectionPtr connectionNew;
---- ice-3.6.3/cpp/src/FreezeScript/Util.cpp.orig 2016-10-05 16:59:08.000000000 +0200
-+++ ice-3.6.3/cpp/src/FreezeScript/Util.cpp 2017-06-28 19:22:29.318509063 +0200
-@@ -209,7 +209,7 @@
- {
- CatalogDataMap result;
-
-- DbEnv dbEnv(0);
-+ DbEnv dbEnv(0u);
- try
- {
- #ifdef _WIN32
---- ice-3.6.3/cpp/src/FreezeScript/DumpDB.cpp.orig 2016-10-05 16:59:08.000000000 +0200
-+++ ice-3.6.3/cpp/src/FreezeScript/DumpDB.cpp 2017-06-28 19:33:38.555168088 +0200
-@@ -481,7 +481,7 @@
- FreezeScript::ObjectFactoryPtr objectFactory = new FreezeScript::ObjectFactory;
- communicator->addObjectFactory(objectFactory, "");
-
-- DbEnv dbEnv(0);
-+ DbEnv dbEnv(0u);
- DbTxn* txn = 0;
- Freeze::ConnectionPtr connection;
- int status = EXIT_SUCCESS;
diff --git a/dev-libs/Ice/files/Ice-3.7.8-fix-musl-build.patch b/dev-libs/Ice/files/Ice-3.7.8-fix-musl-build.patch
new file mode 100644
index 000000000000..76fa6c5cb641
--- /dev/null
+++ b/dev-libs/Ice/files/Ice-3.7.8-fix-musl-build.patch
@@ -0,0 +1,13 @@
+https://github.com/void-linux/void-packages/blob/master/srcpkgs/Ice/patches/fix-musl.patch
+
+--- a/cpp/src/IceUtil/UtilException.cpp
++++ b/cpp/src/IceUtil/UtilException.cpp
+@@ -43,7 +43,7 @@
+ # endif
+ # endif
+
+-# if !defined(_AIX) && !defined(__sun) && !defined(__FreeBSD__) && !defined(__MINGW32__) && !defined(ICE_STATIC_LIBS)
++# if !defined(_AIX) && !defined(__sun) && !defined(__FreeBSD__) && !defined(__MINGW32__) && !defined(ICE_STATIC_LIBS) && defined(__GLIBC__)
+ # include <execinfo.h>
+ # include <cxxabi.h>
+ # include <stdint.h>
diff --git a/dev-libs/Ice/files/Ice-3.7.8-py3k11.patch b/dev-libs/Ice/files/Ice-3.7.8-py3k11.patch
new file mode 100644
index 000000000000..7295aa6d9554
--- /dev/null
+++ b/dev-libs/Ice/files/Ice-3.7.8-py3k11.patch
@@ -0,0 +1,45 @@
+From a98f34df525dce54a96f443806599978b293d7c5 Mon Sep 17 00:00:00 2001
+From: Jose <pepone@users.noreply.github.com>
+Date: Thu, 3 Nov 2022 16:52:58 +0100
+Subject: [PATCH] Python 3.11 build fixes (#1394)
+
+---
+ python/modules/IcePy/Slice.cpp | 7 ++++++-
+ python/modules/IcePy/Util.cpp | 5 +++++
+ 2 files changed, 11 insertions(+), 1 deletion(-)
+
+diff --git a/python/modules/IcePy/Slice.cpp b/python/modules/IcePy/Slice.cpp
+index e11365d8d40..7138e76dac0 100644
+--- a/python/modules/IcePy/Slice.cpp
++++ b/python/modules/IcePy/Slice.cpp
+@@ -14,7 +14,12 @@
+ // Python headers needed for PyEval_EvalCode.
+ //
+ #include <compile.h>
+-#include <eval.h>
++// Use ceval.h instead of eval.h with Pyhthon 3.11 and greater
++#if PY_VERSION_HEX >= 0x030B0000
++# include <ceval.h>
++#else
++# include <eval.h>
++#endif
+
+ using namespace std;
+ using namespace IcePy;
+diff --git a/python/modules/IcePy/Util.cpp b/python/modules/IcePy/Util.cpp
+index f15c7a5c690..73955c933a2 100644
+--- a/python/modules/IcePy/Util.cpp
++++ b/python/modules/IcePy/Util.cpp
+@@ -225,7 +225,12 @@ IcePy::getFunction()
+ //
+ // Get name of current function.
+ //
++ // Use PyEval_GetFrame with Pyhthon >= 3.11
++#if PY_VERSION_HEX >= 0x030B0000
++ PyFrameObject *f = PyEval_GetFrame();
++#else
+ PyFrameObject *f = PyThreadState_GET()->frame;
++#endif
+ PyObjectHandle code = getAttr(reinterpret_cast<PyObject*>(f), "f_code", false);
+ assert(code.get());
+ PyObjectHandle func = getAttr(code.get(), "co_name", false);
diff --git a/dev-libs/OpenNI/OpenNI-1.5.7.10-r2.ebuild b/dev-libs/OpenNI/OpenNI-1.5.7.10-r2.ebuild
deleted file mode 100644
index fcd54b00b17a..000000000000
--- a/dev-libs/OpenNI/OpenNI-1.5.7.10-r2.ebuild
+++ /dev/null
@@ -1,111 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-SCM=""
-if [ "${PV#9999}" != "${PV}" ] ; then
- SCM="git-r3"
- EGIT_REPO_URI="https://github.com/OpenNI/OpenNI"
-fi
-
-inherit ${SCM} toolchain-funcs multilib java-pkg-opt-2
-
-if [ "${PV#9999}" != "${PV}" ] ; then
- SRC_URI=""
-else
- KEYWORDS="~amd64 ~arm"
- SRC_URI="https://github.com/OpenNI/OpenNI/archive/Stable-${PV}.tar.gz -> ${P}.tar.gz"
- S="${WORKDIR}/${PN}-Stable-${PV}"
-fi
-
-DESCRIPTION="OpenNI SDK"
-HOMEPAGE="https://github.com/OpenNI/OpenNI"
-LICENSE="Apache-2.0"
-SLOT="0"
-IUSE="doc java opengl"
-
-RDEPEND="
- virtual/libusb:1
- virtual/libudev
- virtual/jpeg:0
- dev-libs/tinyxml
- opengl? ( media-libs/freeglut !dev-libs/OpenNI2[opengl] )
- java? ( virtual/jre:1.8 )
-"
-DEPEND="${RDEPEND}
- doc? ( app-doc/doxygen )
- java? ( virtual/jdk:1.8 )"
-
-PATCHES=(
- "${FILESDIR}/tinyxml.patch"
- "${FILESDIR}/jpeg.patch"
- "${FILESDIR}/soname.patch"
- "${FILESDIR}/${P}-gcc6.patch"
- "${FILESDIR}/betterdefines.patch"
-)
-
-src_prepare() {
- default
-
- rm -rf External/{LibJPEG,TinyXml}
- for i in Platform/Linux/Build/Common/Platform.* Externals/PSCommon/Linux/Build/Platform.* ; do
- echo "" > ${i}
- done
-
- find . -type f -print0 | xargs -0 sed -i "s:\".*/SamplesConfig.xml:\"${EPREFIX}/usr/share/${PN}/SamplesConfig.xml:" || die
-}
-
-src_compile() {
- emake -C "${S}/Platform/Linux/Build" \
- CC="$(tc-getCC)" \
- CXX="$(tc-getCXX)" \
- GLUT_SUPPORTED="$(usex opengl 1 0)" \
- $(usex java "" ALL_JAVA_PROJS="") \
- $(usex java "" JAVA_SAMPLES="") \
- ALL_MONO_PROJS="" \
- MONO_SAMPLES="" \
- MONO_FORMS_SAMPLES=""
-
- if use doc ; then
- cd "${S}/Source/DoxyGen"
- doxygen || die
- fi
-}
-
-src_install() {
- dolib.so "${S}/Platform/Linux/Bin/"*Release/*.so
-
- insinto /usr/include/openni
- doins -r Include/*
-
- dobin "${S}/Platform/Linux/Bin/"*Release/{ni*,Ni*,Sample-*}
-
- if use java ; then
- java-pkg_dojar "${S}/Platform/Linux/Bin/"*Release/*.jar
- echo "java -jar ${JAVA_PKG_JARDEST}/org.openni.Samples.SimpleViewer.jar" > org.openni.Samples.SimpleViewer
- dobin org.openni.Samples.SimpleViewer
- fi
-
- insinto /usr/share/${PN}
- doins Data/*
-
- dodoc Documentation/OpenNI_UserGuide.pdf CHANGES NOTICE README
-
- if use doc ; then
- docinto html
- dodoc -r "${S}/Source/DoxyGen/html/"*
- dodoc Source/DoxyGen/Text/*.txt
- fi
-
- keepdir /var/lib/ni
-}
-
-pkg_postinst() {
- if [ "${ROOT:-/}" = "/" ] ; then
- for i in "${EROOR}/usr/$(get_libdir)"/libnim*.so ; do
- einfo "Registering module ${i}"
- niReg -r "${i}"
- done
- fi
-}
diff --git a/dev-libs/OpenNI/OpenNI-1.5.7.10-r3.ebuild b/dev-libs/OpenNI/OpenNI-1.5.7.10-r3.ebuild
new file mode 100644
index 000000000000..1f0d665ef90f
--- /dev/null
+++ b/dev-libs/OpenNI/OpenNI-1.5.7.10-r3.ebuild
@@ -0,0 +1,114 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+SCM=""
+if [ "${PV#9999}" != "${PV}" ] ; then
+ SCM="git-r3"
+ EGIT_REPO_URI="https://github.com/OpenNI/OpenNI"
+fi
+
+inherit ${SCM} flag-o-matic toolchain-funcs java-pkg-opt-2
+
+if [ "${PV#9999}" != "${PV}" ] ; then
+ SRC_URI=""
+else
+ KEYWORDS="amd64 ~arm"
+ SRC_URI="https://github.com/OpenNI/OpenNI/archive/Stable-${PV}.tar.gz -> ${P}.tar.gz"
+ S="${WORKDIR}/${PN}-Stable-${PV}"
+fi
+
+DESCRIPTION="OpenNI SDK"
+HOMEPAGE="https://github.com/OpenNI/OpenNI"
+LICENSE="Apache-2.0"
+SLOT="0"
+IUSE="doc java opengl"
+
+RDEPEND="
+ media-libs/libjpeg-turbo:=
+ virtual/libusb:1
+ virtual/libudev
+ dev-libs/tinyxml
+ opengl? ( media-libs/freeglut !dev-libs/OpenNI2[opengl] )
+ java? ( virtual/jre:1.8 )
+"
+DEPEND="${RDEPEND}
+ java? ( virtual/jdk:1.8 )"
+BDEPEND="doc? ( app-text/doxygen )"
+
+PATCHES=(
+ "${FILESDIR}/tinyxml.patch"
+ "${FILESDIR}/jpeg.patch"
+ "${FILESDIR}/soname.patch"
+ "${FILESDIR}/${P}-gcc6.patch"
+ "${FILESDIR}/betterdefines.patch"
+)
+
+src_prepare() {
+ default
+
+ rm -rf External/{LibJPEG,TinyXml}
+ for i in Platform/Linux/Build/Common/Platform.* Externals/PSCommon/Linux/Build/Platform.* ; do
+ echo "" > ${i}
+ done
+
+ find . -type f -print0 | xargs -0 sed -i "s:\".*/SamplesConfig.xml:\"${EPREFIX}/usr/share/${PN}/SamplesConfig.xml:" || die
+}
+
+src_compile() {
+ # bug #855671
+ append-flags -fno-strict-aliasing
+
+ emake -C "${S}/Platform/Linux/Build" \
+ CC="$(tc-getCC)" \
+ CXX="$(tc-getCXX)" \
+ GLUT_SUPPORTED="$(usex opengl 1 0)" \
+ $(usex java "" ALL_JAVA_PROJS="") \
+ $(usex java "" JAVA_SAMPLES="") \
+ ALL_MONO_PROJS="" \
+ MONO_SAMPLES="" \
+ MONO_FORMS_SAMPLES=""
+
+ if use doc ; then
+ cd "${S}/Source/DoxyGen"
+ doxygen || die
+ fi
+}
+
+src_install() {
+ dolib.so "${S}/Platform/Linux/Bin/"*Release/*.so
+
+ insinto /usr/include/openni
+ doins -r Include/*
+
+ dobin "${S}/Platform/Linux/Bin/"*Release/{ni*,Ni*,Sample-*}
+
+ if use java ; then
+ java-pkg_dojar "${S}/Platform/Linux/Bin/"*Release/*.jar
+ echo "java -jar ${JAVA_PKG_JARDEST}/org.openni.Samples.SimpleViewer.jar" > org.openni.Samples.SimpleViewer
+ dobin org.openni.Samples.SimpleViewer
+ fi
+
+ insinto /usr/share/${PN}
+ doins Data/*
+
+ dodoc Documentation/OpenNI_UserGuide.pdf CHANGES NOTICE README
+
+ if use doc ; then
+ docinto html
+ dodoc -r "${S}/Source/DoxyGen/html/"*
+ dodoc Source/DoxyGen/Text/*.txt
+ fi
+
+ keepdir /var/lib/ni
+}
+
+pkg_postinst() {
+ if [ "${ROOT:-/}" = "/" ] ; then
+ for i in "${EROOR}/usr/$(get_libdir)"/libnim*.so ; do
+ einfo "Registering module ${i}"
+ niReg -r "${i}"
+ done
+ fi
+}
diff --git a/dev-libs/OpenNI/OpenNI-9999.ebuild b/dev-libs/OpenNI/OpenNI-9999.ebuild
index 0febb7dba0b7..c9fcc45b7700 100644
--- a/dev-libs/OpenNI/OpenNI-9999.ebuild
+++ b/dev-libs/OpenNI/OpenNI-9999.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
@@ -9,7 +9,7 @@ if [ "${PV#9999}" != "${PV}" ] ; then
EGIT_REPO_URI="https://github.com/OpenNI/OpenNI"
fi
-inherit ${SCM} toolchain-funcs multilib java-pkg-opt-2
+inherit ${SCM} flag-o-matic toolchain-funcs java-pkg-opt-2
if [ "${PV#9999}" != "${PV}" ] ; then
SRC_URI=""
@@ -26,16 +26,16 @@ SLOT="0"
IUSE="doc java opengl"
RDEPEND="
+ media-libs/libjpeg-turbo:=
virtual/libusb:1
virtual/libudev
- virtual/jpeg:0
dev-libs/tinyxml
opengl? ( media-libs/freeglut !dev-libs/OpenNI2[opengl] )
java? ( virtual/jre:1.8 )
"
DEPEND="${RDEPEND}
- doc? ( app-doc/doxygen )
java? ( virtual/jdk:1.8 )"
+BDEPEND="doc? ( app-text/doxygen )"
PATCHES=(
"${FILESDIR}/tinyxml.patch"
@@ -56,6 +56,9 @@ src_prepare() {
}
src_compile() {
+ # bug #855671
+ append-flags -fno-strict-aliasing
+
emake -C "${S}/Platform/Linux/Build" \
CC="$(tc-getCC)" \
CXX="$(tc-getCXX)" \
diff --git a/dev-libs/OpenNI2/OpenNI2-2.2_beta2-r1.ebuild b/dev-libs/OpenNI2/OpenNI2-2.2_beta2-r1.ebuild
index 8650fe294537..606cfeb0619a 100644
--- a/dev-libs/OpenNI2/OpenNI2-2.2_beta2-r1.ebuild
+++ b/dev-libs/OpenNI2/OpenNI2-2.2_beta2-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
@@ -9,12 +9,12 @@ if [ "${PV#9999}" != "${PV}" ] ; then
EGIT_REPO_URI="https://github.com/occipital/openni2"
fi
-inherit ${SCM} toolchain-funcs multilib java-pkg-opt-2 flag-o-matic
+inherit ${SCM} flag-o-matic toolchain-funcs java-pkg-opt-2
if [ "${PV#9999}" != "${PV}" ] ; then
SRC_URI=""
else
- KEYWORDS="~amd64 ~arm"
+ KEYWORDS="amd64 ~arm"
SRC_URI="https://github.com/occipital/OpenNI2/archive/${PV/_/-}.tar.gz -> ${P}.tar.gz"
S="${WORKDIR}/${P/_/-}"
fi
@@ -23,17 +23,17 @@ DESCRIPTION="OpenNI2 SDK"
HOMEPAGE="https://structure.io/openni"
LICENSE="Apache-2.0"
SLOT="0"
-IUSE="doc java neon opengl static-libs"
+IUSE="cpu_flags_arm_neon doc java opengl static-libs"
RDEPEND="
+ media-libs/libjpeg-turbo:=
virtual/libusb:1
virtual/libudev
- virtual/jpeg:0
opengl? ( media-libs/freeglut )
java? ( virtual/jre:1.8 )
"
DEPEND="${RDEPEND}
- doc? ( app-doc/doxygen )
+ doc? ( app-text/doxygen )
java? ( virtual/jdk:1.8 )"
PATCHES=(
@@ -54,7 +54,13 @@ src_prepare() {
}
src_compile() {
- use neon && export CFLAGS="${CFLAGS} -DXN_NEON"
+ if ! use elibc_glibc ; then
+ # Build system doesn't respect CPPFLAGS.
+ # bug #716346
+ append-flags -DXN_PLATFORM_LINUX_NO_GLIBC -DXN_PLATFORM_HAS_NO_SCHED_PARAM
+ fi
+
+ use cpu_flags_arm_neon && export CFLAGS="${CFLAGS} -DXN_NEON"
emake \
CC="$(tc-getCC)" \
CXX="$(tc-getCXX)" \
diff --git a/dev-libs/OpenNI2/OpenNI2-9999.ebuild b/dev-libs/OpenNI2/OpenNI2-9999.ebuild
index 210a3efeea3a..fc73839fa7df 100644
--- a/dev-libs/OpenNI2/OpenNI2-9999.ebuild
+++ b/dev-libs/OpenNI2/OpenNI2-9999.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
@@ -9,7 +9,7 @@ if [ "${PV#9999}" != "${PV}" ] ; then
EGIT_REPO_URI="https://github.com/occipital/openni2"
fi
-inherit ${SCM} toolchain-funcs multilib java-pkg-opt-2 flag-o-matic
+inherit ${SCM} flag-o-matic toolchain-funcs java-pkg-opt-2
if [ "${PV#9999}" != "${PV}" ] ; then
SRC_URI=""
@@ -23,17 +23,17 @@ DESCRIPTION="OpenNI2 SDK"
HOMEPAGE="https://structure.io/openni"
LICENSE="Apache-2.0"
SLOT="0"
-IUSE="doc java neon opengl static-libs"
+IUSE="cpu_flags_arm_neon doc java opengl static-libs"
RDEPEND="
+ media-libs/libjpeg-turbo:=
virtual/libusb:1
virtual/libudev
- virtual/jpeg:0
opengl? ( media-libs/freeglut )
java? ( virtual/jre:1.8 )
"
DEPEND="${RDEPEND}
- doc? ( app-doc/doxygen )
+ doc? ( app-text/doxygen )
java? ( virtual/jdk:1.8 )"
PATCHES=(
@@ -52,7 +52,13 @@ src_prepare() {
}
src_compile() {
- use neon && export CFLAGS="${CFLAGS} -DXN_NEON"
+ if ! use elibc_glibc ; then
+ # Build system doesn't respect CPPFLAGS.
+ # bug #716346
+ append-flags -DXN_PLATFORM_LINUX_NO_GLIBC -DXN_PLATFORM_HAS_NO_SCHED_PARAM
+ fi
+
+ use cpu_flags_arm_neon && export CFLAGS="${CFLAGS} -DXN_NEON"
emake \
CC="$(tc-getCC)" \
CXX="$(tc-getCXX)" \
diff --git a/dev-libs/aml/Manifest b/dev-libs/aml/Manifest
index 26e539a0c75f..908594ea00c8 100644
--- a/dev-libs/aml/Manifest
+++ b/dev-libs/aml/Manifest
@@ -1,2 +1 @@
-DIST aml-0.2.0.tar.gz 20358 BLAKE2B 4be63726ea9069cbfe36fbf04e3a0b2229066d7df039aea1a41fdca27700d012fda9eda348115f8c0ef9d3f201640123722d0b96bc7b171841d920357a292152 SHA512 196cd891fdbaad47340d8b4ca9eb62a7f9e6b0969ae9ad744a3c9ea110a532691d53a1e39fde583bad0f8fdae4b51c3a4243bbdab65e952e5fc79ceb6efc3262
-DIST aml-0.2.1.tar.gz 20413 BLAKE2B 62f8cc0e75f23ac7dc8835dd874f584cdb5b394b0d7af08feded06b99ccff66395e0ec04bdd26917ef7784457dc170c2c99bc98a118ecff947602e4d9a60bf21 SHA512 0af4a50cafbddd2a593dac437e6c8121de5265d0383139818bcda97d672a7430cb410ce32552b6842bc82eaebb061bc6cc0ee1b45a483754efbdfbc2103fa2e3
+DIST aml-0.3.0.tar.gz 21070 BLAKE2B 09b8818ba63eb0f8c36e90385ee0787cad45b80c71cfcf439f93560f56269d52468bbdd2c0e8ad6cbf78b8fd0dd715aa107bfeb3918f55671ffca3f8daab56e3 SHA512 7c3347ef47ace8a14860e2b46937c8ade3712aa75a8c36845594fb4fa6ca26c35320b5234574accff451ea8302f23075acbe1a1b0392f5fbcbbbda20640be1fd
diff --git a/dev-libs/aml/aml-0.2.0.ebuild b/dev-libs/aml/aml-0.2.0.ebuild
deleted file mode 100644
index 0a91a702137c..000000000000
--- a/dev-libs/aml/aml-0.2.0.ebuild
+++ /dev/null
@@ -1,28 +0,0 @@
-# Copyright 2020-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit meson
-
-DESCRIPTION="event timer executor loop"
-HOMEPAGE="https://github.com/any1/aml/"
-
-if [[ ${PV} == 9999 ]]; then
- inherit git-r3
- EGIT_REPO_URI="https://github.com/any1/aml.git"
-else
- SRC_URI="https://github.com/any1/aml/archive/v${PV}.tar.gz -> ${P}.tar.gz"
- KEYWORDS="~amd64 ~riscv ~x86"
-fi
-
-LICENSE="ISC"
-SLOT="0"
-IUSE="examples"
-
-src_configure() {
- local emesonargs=(
- $(meson_use examples)
- )
- meson_src_configure
-}
diff --git a/dev-libs/aml/aml-0.2.1.ebuild b/dev-libs/aml/aml-0.2.1.ebuild
deleted file mode 100644
index 5ff10f20992d..000000000000
--- a/dev-libs/aml/aml-0.2.1.ebuild
+++ /dev/null
@@ -1,40 +0,0 @@
-# Copyright 2020-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit meson
-
-DESCRIPTION="Event timer executor loop"
-HOMEPAGE="https://github.com/any1/aml/"
-
-if [[ ${PV} == 9999 ]]; then
- inherit git-r3
- EGIT_REPO_URI="https://github.com/any1/aml.git"
-else
- SRC_URI="https://github.com/any1/aml/archive/v${PV}.tar.gz -> ${P}.tar.gz"
- KEYWORDS="~amd64 ~riscv ~x86"
-fi
-
-LICENSE="ISC"
-SLOT="0"
-IUSE="examples"
-
-DEPEND="elibc_musl? ( sys-libs/queue-standalone )"
-
-src_prepare() {
- default
-
- # The bundled copy includes cdefs which breaks on musl and
- # this header is already available on glibc.
- # bug #828806
- rm include/sys/queue.h || die
-}
-
-src_configure() {
- local emesonargs=(
- $(meson_use examples)
- )
-
- meson_src_configure
-}
diff --git a/dev-libs/aml/aml-0.3.0.ebuild b/dev-libs/aml/aml-0.3.0.ebuild
new file mode 100644
index 000000000000..aeb693e070ed
--- /dev/null
+++ b/dev-libs/aml/aml-0.3.0.ebuild
@@ -0,0 +1,44 @@
+# Copyright 2020-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit meson
+
+DESCRIPTION="Event timer executor loop"
+HOMEPAGE="https://github.com/any1/aml/"
+
+if [[ ${PV} == 9999 ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/any1/aml.git"
+else
+ SRC_URI="https://github.com/any1/aml/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~amd64 ~arm ~arm64 ~ia64 ~loong ~ppc ~ppc64 ~riscv ~x86"
+fi
+
+LICENSE="ISC"
+SLOT="0"
+IUSE="examples"
+
+DEPEND="elibc_musl? ( sys-libs/queue-standalone )"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-queue.patch
+)
+
+src_prepare() {
+ default
+
+ # The bundled copy includes cdefs which breaks on musl and this header is
+ # already available on glibc. See bug #828806 and
+ # https://github.com/any1/aml/issues/11.
+ rm include/sys/queue.h || die
+}
+
+src_configure() {
+ local emesonargs=(
+ $(meson_use examples)
+ )
+
+ meson_src_configure
+}
diff --git a/dev-libs/aml/aml-9999.ebuild b/dev-libs/aml/aml-9999.ebuild
index 5ff10f20992d..a7c7dfbf2a1a 100644
--- a/dev-libs/aml/aml-9999.ebuild
+++ b/dev-libs/aml/aml-9999.ebuild
@@ -1,4 +1,4 @@
-# Copyright 2020-2021 Gentoo Authors
+# Copyright 2020-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -13,7 +13,7 @@ if [[ ${PV} == 9999 ]]; then
EGIT_REPO_URI="https://github.com/any1/aml.git"
else
SRC_URI="https://github.com/any1/aml/archive/v${PV}.tar.gz -> ${P}.tar.gz"
- KEYWORDS="~amd64 ~riscv ~x86"
+ KEYWORDS="~amd64 ~arm ~arm64 ~ia64 ~loong ~ppc ~riscv ~x86"
fi
LICENSE="ISC"
@@ -22,12 +22,16 @@ IUSE="examples"
DEPEND="elibc_musl? ( sys-libs/queue-standalone )"
+PATCHES=(
+ "${FILESDIR}"/${P}-queue.patch
+)
+
src_prepare() {
default
- # The bundled copy includes cdefs which breaks on musl and
- # this header is already available on glibc.
- # bug #828806
+ # The bundled copy includes cdefs which breaks on musl and this header is
+ # already available on glibc. See bug #828806 and
+ # https://github.com/any1/aml/issues/11.
rm include/sys/queue.h || die
}
diff --git a/dev-libs/aml/files/aml-0.3.0-queue.patch b/dev-libs/aml/files/aml-0.3.0-queue.patch
new file mode 100644
index 000000000000..299379a934f6
--- /dev/null
+++ b/dev-libs/aml/files/aml-0.3.0-queue.patch
@@ -0,0 +1,21 @@
+The bundled queue.h breaks on musl, but the standard version lacks
+LIST_FOREACH_SAFE, which appears to come from FreeBSD, so patch that back
+in here. See https://github.com/any1/aml/issues/11.
+
+diff -Naur a/src/aml.c b/src/aml.c
+--- a/src/aml.c 2023-01-22 12:57:53.000000000 +0000
++++ b/src/aml.c 2023-03-19 10:10:11.034092428 +0000
+@@ -31,6 +31,13 @@
+ #include "sys/queue.h"
+ #include "thread-pool.h"
+
++#ifndef LIST_FOREACH_SAFE
++#define LIST_FOREACH_SAFE(var, head, field, tvar) \
++ for ((var) = LIST_FIRST((head)); \
++ (var) && ((tvar) = LIST_NEXT((var), field), 1); \
++ (var) = (tvar))
++#endif
++
+ #define EXPORT __attribute__((visibility("default")))
+
+ #define EVENT_MASK_DEFAULT AML_EVENT_READ
diff --git a/dev-libs/aml/metadata.xml b/dev-libs/aml/metadata.xml
index 25cb689305de..3721b93dab05 100644
--- a/dev-libs/aml/metadata.xml
+++ b/dev-libs/aml/metadata.xml
@@ -2,6 +2,9 @@
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<!-- maintainer-needed -->
+ <upstream>
+ <remote-id type="github">any1/aml</remote-id>
+ </upstream>
<use>
<flag name="examples">Build and install examples</flag>
</use>
diff --git a/dev-libs/angelscript/Manifest b/dev-libs/angelscript/Manifest
index 37ab615308e8..f90b1578a0ae 100644
--- a/dev-libs/angelscript/Manifest
+++ b/dev-libs/angelscript/Manifest
@@ -1,2 +1,2 @@
-DIST angelscript_2.35.0.zip 1971850 BLAKE2B 2253583f46181b420514e3f5a4609a33a019e47ac4ef183d1ddbca52610ce421da28a0e67f16f04b873bd18d9c56673bfac5aba152e6fadff84f8fe4718308a4 SHA512 e54b58e78b21c2ff6aa34d5f55b18fcf8737d057c86aef8901ac0c11f14739fe7f1494f9bcfdbca6a8e54b6d0b36a04dd098780bcd02dea5764fd6d22984b6b0
-DIST angelscript_2.35.1.zip 2033435 BLAKE2B b88189fb78294e5804adf313bc333a9a21760120a42b3df78c9c54861718acf435de55dcfb26a8975407102c1182093caed11bfecc6ba946bc7614f62f7e176a SHA512 b15083c7a77434c291e72ea82cfbab7734fa79df654d911a822f306d526669ebe9e55a981e8a1914deda0d2a52ebdc0ffb51a4179f307632c8c7d74b1abc69fa
+DIST angelscript_2.36.0.zip 2038804 BLAKE2B 83d47ffb8563968d1db4955286ad5c4f7767132ddaa7420126ae3faa34f0b44fe319432324eb4fe3bd9317e79149719c6587cbafb28d061e37801f63be126a59 SHA512 afd2b9096d0b62bc3d182d684fe34ddc8e9520af7734eea1f1a5c7d3439a28a1be7502faf692080cb0c4591799b7fea09fc8c4ccf25b8ec63a3d306e678682ff
+DIST angelscript_2.36.1.zip 2011471 BLAKE2B 81cd147b7e78abe9a8a342ca3c88191cf1eb0e50f78bcd8c1f2ab36e31eadc3260373159ea084cfe9140897df5187ac268d9624b5f8613564e1d6982b1178a54 SHA512 d6d213ce72135c89e47e67521f654611ff67673f3decd9db3da4b7bf317a04a3f91c5c6ae36658ec3f2b20498facd069af02a91255a24ec79c96d8c90d6b554e
diff --git a/dev-libs/angelscript/angelscript-2.35.0.ebuild b/dev-libs/angelscript/angelscript-2.35.0.ebuild
deleted file mode 100644
index 8c105c0fadfc..000000000000
--- a/dev-libs/angelscript/angelscript-2.35.0.ebuild
+++ /dev/null
@@ -1,48 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit toolchain-funcs multilib-minimal
-
-DESCRIPTION="A flexible, cross-platform scripting library"
-HOMEPAGE="http://www.angelcode.com/angelscript/"
-SRC_URI="http://www.angelcode.com/angelscript/sdk/files/angelscript_${PV}.zip"
-LICENSE="ZLIB"
-SLOT="0/${PV}"
-KEYWORDS="~amd64 ~riscv ~x86"
-IUSE="doc static-libs"
-
-BDEPEND="app-arch/unzip"
-
-S="${WORKDIR}/sdk"
-
-pkg_setup() {
- tc-export CXX AR RANLIB
-}
-
-src_prepare() {
- default
- multilib_copy_sources
-}
-
-multilib_src_compile() {
- emake -C ${PN}/projects/gnuc shared \
- $(use static-libs && echo static)
-}
-
-multilib_src_install() {
- emake -C ${PN}/projects/gnuc \
- DESTDIR="${D}" \
- PREFIX="${EPREFIX}"/usr \
- LIBDIR_DEST='$(PREFIX)'/$(get_libdir) \
- install_header install_shared \
- $(use static-libs && echo install_static)
-}
-
-multilib_src_install_all() {
- if use doc; then
- docinto html
- dodoc -r docs/*
- fi
-}
diff --git a/dev-libs/angelscript/angelscript-2.35.1.ebuild b/dev-libs/angelscript/angelscript-2.35.1.ebuild
deleted file mode 100644
index b6aecfbeccf1..000000000000
--- a/dev-libs/angelscript/angelscript-2.35.1.ebuild
+++ /dev/null
@@ -1,48 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit toolchain-funcs multilib-minimal
-
-DESCRIPTION="A flexible, cross-platform scripting library"
-HOMEPAGE="http://www.angelcode.com/angelscript/"
-SRC_URI="http://www.angelcode.com/angelscript/sdk/files/angelscript_${PV}.zip"
-LICENSE="ZLIB"
-SLOT="0/${PV}"
-KEYWORDS="~amd64 ~riscv ~x86"
-IUSE="doc static-libs"
-
-BDEPEND="app-arch/unzip"
-
-S="${WORKDIR}/sdk"
-
-pkg_setup() {
- tc-export CXX AR RANLIB
-}
-
-src_prepare() {
- default
- multilib_copy_sources
-}
-
-multilib_src_compile() {
- emake -C ${PN}/projects/gnuc shared \
- $(use static-libs && echo static)
-}
-
-multilib_src_install() {
- emake -C ${PN}/projects/gnuc \
- DESTDIR="${D}" \
- PREFIX="${EPREFIX}"/usr \
- LIBDIR_DEST='$(PREFIX)'/$(get_libdir) \
- install_header install_shared \
- $(use static-libs && echo install_static)
-}
-
-multilib_src_install_all() {
- if use doc; then
- docinto html
- dodoc -r docs/*
- fi
-}
diff --git a/dev-libs/angelscript/angelscript-2.36.0.ebuild b/dev-libs/angelscript/angelscript-2.36.0.ebuild
new file mode 100644
index 000000000000..96929201e78b
--- /dev/null
+++ b/dev-libs/angelscript/angelscript-2.36.0.ebuild
@@ -0,0 +1,48 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit toolchain-funcs multilib-minimal
+
+DESCRIPTION="A flexible, cross-platform scripting library"
+HOMEPAGE="http://www.angelcode.com/angelscript/"
+SRC_URI="http://www.angelcode.com/angelscript/sdk/files/angelscript_${PV}.zip"
+LICENSE="ZLIB"
+SLOT="0/${PV}"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
+IUSE="doc static-libs"
+
+BDEPEND="app-arch/unzip"
+
+S="${WORKDIR}/sdk"
+
+pkg_setup() {
+ tc-export CXX AR RANLIB
+}
+
+src_prepare() {
+ default
+ multilib_copy_sources
+}
+
+multilib_src_compile() {
+ emake -C ${PN}/projects/gnuc shared \
+ $(use static-libs && echo static)
+}
+
+multilib_src_install() {
+ emake -C ${PN}/projects/gnuc \
+ DESTDIR="${D}" \
+ PREFIX="${EPREFIX}"/usr \
+ LIBDIR_DEST='$(PREFIX)'/$(get_libdir) \
+ install_header install_shared \
+ $(use static-libs && echo install_static)
+}
+
+multilib_src_install_all() {
+ if use doc; then
+ docinto html
+ dodoc -r docs/*
+ fi
+}
diff --git a/dev-libs/angelscript/angelscript-2.36.1.ebuild b/dev-libs/angelscript/angelscript-2.36.1.ebuild
new file mode 100644
index 000000000000..e08cb09b96df
--- /dev/null
+++ b/dev-libs/angelscript/angelscript-2.36.1.ebuild
@@ -0,0 +1,48 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit toolchain-funcs multilib-minimal
+
+DESCRIPTION="A flexible, cross-platform scripting library"
+HOMEPAGE="http://www.angelcode.com/angelscript/"
+SRC_URI="http://www.angelcode.com/angelscript/sdk/files/angelscript_${PV}.zip"
+LICENSE="ZLIB"
+SLOT="0/${PV}"
+KEYWORDS="~amd64 ~arm64 ~loong ~ppc64 ~riscv ~x86"
+IUSE="doc static-libs"
+
+BDEPEND="app-arch/unzip"
+
+S="${WORKDIR}/sdk"
+
+pkg_setup() {
+ tc-export CXX AR RANLIB
+}
+
+src_prepare() {
+ default
+ multilib_copy_sources
+}
+
+multilib_src_compile() {
+ emake -C ${PN}/projects/gnuc shared \
+ $(use static-libs && echo static)
+}
+
+multilib_src_install() {
+ emake -C ${PN}/projects/gnuc \
+ DESTDIR="${D}" \
+ PREFIX="${EPREFIX}"/usr \
+ LIBDIR_DEST='$(PREFIX)'/$(get_libdir) \
+ install_header install_shared \
+ $(use static-libs && echo install_static)
+}
+
+multilib_src_install_all() {
+ if use doc; then
+ docinto html
+ dodoc -r docs/*
+ fi
+}
diff --git a/dev-libs/antlr-c/antlr-c-3.5.2-r1.ebuild b/dev-libs/antlr-c/antlr-c-3.5.2-r1.ebuild
deleted file mode 100644
index e0b7a34e56fa..000000000000
--- a/dev-libs/antlr-c/antlr-c-3.5.2-r1.ebuild
+++ /dev/null
@@ -1,65 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit autotools multilib-minimal
-
-MY_PN="${PN%-c}"
-DESCRIPTION="The ANTLR3 C Runtime"
-HOMEPAGE="https://www.antlr3.org/"
-SRC_URI="https://github.com/${MY_PN}/${MY_PN}3/archive/${PV}.tar.gz -> ${MY_PN}-${PV}.tar.gz"
-S="${WORKDIR}/${MY_PN}3-${PV}/runtime/C"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64 ~ppc ~x86"
-IUSE="debug debugger doc"
-
-BDEPEND="doc? ( app-doc/doxygen[dot] )"
-
-PATCHES=( "${FILESDIR}/3.5-cflags.patch" )
-MULTILIB_WRAPPED_HEADERS=( /usr/include/antlr3config.h )
-DOCS=( AUTHORS ChangeLog NEWS README )
-
-src_prepare() {
- default
- sed -i '/^QUIET/s/NO/YES/' doxyfile || die
- eautoreconf
- multilib_copy_sources
-}
-
-multilib_src_configure() {
- local econfargs=(
- --enable-shared
- --disable-static
- $(use_enable debug debuginfo)
- $(use_enable debugger antlrdebug)
- )
-
- case "${ABI}" in
- *64*) econfargs+=( --enable-64bit ) ;;
- *) econfargs+=( --disable-64bit ) ;;
- esac
-
- econf "${econfargs[@]}"
-}
-
-src_compile() {
- multilib-minimal_src_compile
-
- if use doc; then
- einfo "Generating API documentation ..."
- cd "${S}" || die
- doxygen -u doxyfile || die
- doxygen doxyfile || die
- fi
-}
-
-src_install() {
- use doc && HTML_DOCS=( "${S}/api/" )
-
- multilib-minimal_src_install
-
- find "${ED}" -name '*.la' -delete || die
-}
diff --git a/dev-libs/antlr-c/antlr-c-3.5.2-r2.ebuild b/dev-libs/antlr-c/antlr-c-3.5.2-r2.ebuild
new file mode 100644
index 000000000000..8f3ed3e9931b
--- /dev/null
+++ b/dev-libs/antlr-c/antlr-c-3.5.2-r2.ebuild
@@ -0,0 +1,60 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools
+
+MY_PN="${PN%-c}"
+DESCRIPTION="The ANTLR3 C Runtime"
+HOMEPAGE="https://www.antlr3.org/"
+SRC_URI="https://github.com/${MY_PN}/${MY_PN}3/archive/${PV}.tar.gz -> ${MY_PN}-${PV}.tar.gz"
+S="${WORKDIR}/${MY_PN}3-${PV}/runtime/C"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~x86"
+IUSE="debug debugger doc"
+
+BDEPEND="doc? ( app-text/doxygen[dot] )"
+
+PATCHES=( "${FILESDIR}/3.5-cflags.patch" )
+
+src_prepare() {
+ default
+
+ sed -i '/^QUIET/s/NO/YES/' doxyfile || die
+ eautoreconf
+}
+
+src_configure() {
+ local econfargs=(
+ $(use_enable debug debuginfo)
+ $(use_enable debugger antlrdebug)
+ )
+
+ case "${ABI}" in
+ *64*) econfargs+=( --enable-64bit ) ;;
+ *) econfargs+=( --disable-64bit ) ;;
+ esac
+
+ CONFIG_SHELL="${BROOT}"/bin/bash econf "${econfargs[@]}"
+}
+
+src_compile() {
+ default
+
+ if use doc ; then
+ einfo "Generating API documentation ..."
+ doxygen -u doxyfile || die
+ doxygen doxyfile || die
+
+ HTML_DOCS=( "${S}"/api/ )
+ fi
+}
+
+src_install() {
+ default
+
+ find "${ED}" -name '*.la' -delete || die
+}
diff --git a/dev-libs/antlr-c/antlr-c-3.5.2-r3.ebuild b/dev-libs/antlr-c/antlr-c-3.5.2-r3.ebuild
new file mode 100644
index 000000000000..e06ab68c5f62
--- /dev/null
+++ b/dev-libs/antlr-c/antlr-c-3.5.2-r3.ebuild
@@ -0,0 +1,62 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools toolchain-funcs
+
+MY_PN="${PN%-c}"
+DESCRIPTION="The ANTLR3 C Runtime"
+HOMEPAGE="https://www.antlr3.org/"
+SRC_URI="https://github.com/${MY_PN}/${MY_PN}3/archive/${PV}.tar.gz -> ${MY_PN}-${PV}.tar.gz"
+S="${WORKDIR}/${MY_PN}3-${PV}/runtime/C"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~x86"
+IUSE="debug doc"
+
+BDEPEND="doc? ( app-text/doxygen[dot] )"
+
+PATCHES=(
+ "${FILESDIR}/3.5-cflags.patch"
+ "${FILESDIR}/3.5-autoconf.patch"
+)
+
+src_prepare() {
+ default
+
+ sed -i '/^QUIET/s/NO/YES/' doxyfile || die
+ eautoreconf
+}
+
+src_configure() {
+ local econfargs=(
+ $(use_enable debug antlrdebug)
+ )
+
+ case "$(tc-get-ptr-size)" in
+ 8) econfargs+=( --enable-64bit ) ;;
+ 4) econfargs+=( --disable-64bit ) ;;
+ esac
+
+ CONFIG_SHELL="${BROOT}"/bin/bash econf "${econfargs[@]}"
+}
+
+src_compile() {
+ default
+
+ if use doc ; then
+ einfo "Generating API documentation ..."
+ doxygen -u doxyfile || die
+ doxygen doxyfile || die
+
+ HTML_DOCS=( "${S}"/api/ )
+ fi
+}
+
+src_install() {
+ default
+
+ find "${ED}" -name '*.la' -delete || die
+}
diff --git a/dev-libs/antlr-c/files/3.5-autoconf.patch b/dev-libs/antlr-c/files/3.5-autoconf.patch
new file mode 100644
index 000000000000..5077652d2b5c
--- /dev/null
+++ b/dev-libs/antlr-c/files/3.5-autoconf.patch
@@ -0,0 +1,11 @@
+https://bugs.gentoo.org/921345
+--- a/configure.ac
++++ b/configure.ac
+@@ -148,7 +148,6 @@ AC_PROG_MAKE_SET
+ # Checks for libraries.
+
+ # Checks for header files.
+-AC_INCLUDES_DEFAULT()
+ AC_HEADER_RESOLV
+ AC_CHECK_HEADERS([sys/malloc.h malloc.h], [], [],
+ [[#ifdef HAVE_SYS_MALLOC_H
diff --git a/dev-libs/apache-arrow/Manifest b/dev-libs/apache-arrow/Manifest
new file mode 100644
index 000000000000..8a4ea874530f
--- /dev/null
+++ b/dev-libs/apache-arrow/Manifest
@@ -0,0 +1,8 @@
+DIST apache-arrow-14.0.2.tar.gz 20969982 BLAKE2B 9df119fca564a4140d1143a1ac0614831e4f80846d43439d011b8ca7f5e77461005c96b9430b6dd7ce0ba7496b879a8abc9ffa372e6b455c317abeebb16ae8e4 SHA512 dd6cf6cbb817a48ef5275bb409367e5904526a3c16a17a37ea75101085ea19a71ba6bf936a6f099012e7c528811db1728ef2f14dcb16a1056a22088839280ce0
+DIST apache-arrow-15.0.0.tar.gz 21491996 BLAKE2B 55709d1d181ed5c1482e1eadc9031c692bbd39434ccad17be8c0f3f5af47e3b3d5f262903d1ce09c39442497e14c22c80d7b30215e4de830a4ac82a1b3db34fb SHA512 d5dccaa0907b0e6f2a460e32ae75091942dcb70b51db4aefe2767ee8d99882694607b723a9c06898dda3938d8eb498258d7f9aad11054665b6ea9c2fbaeafa74
+DIST apache-arrow-15.0.1.tar.gz 21499849 BLAKE2B 5f8f91932941105e753b7b7812bf132bd99501ccfac0574b8072e638764cb46694062bcdb8568a474f50de008ede9259b70f16ba7f33ada0f6ec763c21b1c25a SHA512 b426421336c6bc3757626b2743a039d3c7030ad257c3bcf3247a236462dbc140b7eff4476cb727f4d048144a90c1368740c139318f8237d6cc20e87d3efdaf74
+DIST apache-arrow-15.0.2.tar.gz 21503812 BLAKE2B 5a42b3409515d7a09daff33d30e72e828e1df2e009ed746f101f4d8e6dcadb2e9c305a6cb9799d4003e1421ba666d2a2e9ba182c11b0c538fbd1aee4b3ba10ff SHA512 6c83e3be1e5840c30387f088315b74aca8e7c2d060793af70a156effb496a71e3e6af0693188c0f46f8a4a061a263a47095912ef04a5dc8141abd59075b14c78
+DIST apache-arrow-arrow-data-ad82a736c170e97b7c8c035ebd8a801c17eec170.tar.gz 3571641 BLAKE2B e3daae62938b54dbeb8ca9227eddfd2d59864cfafb54a7a7fd7aaa2b2cabd0f2dde58b77b2def086a1759b43c3b5834cb55462cc0b2886b2892329a957afdacb SHA512 ad6fd3343d8a3a6beb5b6269815bc207171905c102698fdb8ed7091e6d829dc51f354293c7686f845e3d49c4a828d9c77958447d965c9da4272260984fea4262
+DIST apache-arrow-arrow-data-d2c73bf78246331d8e58b6f11aa8aa199cbb5929.tar.gz 3570422 BLAKE2B df1f8d1c4e321ca0abdce598b09945aa9e63114199e7f2eb0fc549323dadf703b917efd90c04a2d540d763a44128d76c6ee12788a983d4b9536d04297316b656 SHA512 0be19960b0d22fc2e07bf84f11148e69d6fa82f10627eb2a5e4b762b1d4cf4e151a57c5a1dc761d6d8ed29881ea589e4cfe0cd47d5c7cbf7b6107143b4a45e82
+DIST apache-arrow-parquet-data-b2e7cc755159196e3a068c8594f7acbaecfdaaac.tar.gz 1013835 BLAKE2B cb4e544b6588ddad503f9692ee2eee5d4f1e931f10654b7253e11ffd2feb4c957dec047a1b1644c1f1538a3bf7ea726e5a9ae9b7d0c3bb0d55d27f088b5c5be3 SHA512 d4c2af20d6a88c1beb44770982f4aa324ea4ee375e8f556339074875af15c48f4398d972c1eec35eba5d209e9e62df4bdbf73ebc8148a7bb05ffa2d69c97df61
+DIST apache-arrow-parquet-data-d69d979223e883faef9dc6fe3cf573087243c28a.tar.gz 1022547 BLAKE2B a36f950160a6e033c0ab4fb9ac391be6e71cdadf2bbb7d0210640cc41782921b0e0777425b811a1d688e03842684eb1bfe008ffe359b182bea0f80d3adf658fe SHA512 dfebeca5b99a72a4c069c1030102a6fdd35d4c58cb12fb640bcd0a623cc54e49363f1112fa45da14b16867630dc30bc94bdb2e4cc95f9379dcaa5d7f8f38a3ea
diff --git a/dev-libs/apache-arrow/apache-arrow-14.0.2-r1.ebuild b/dev-libs/apache-arrow/apache-arrow-14.0.2-r1.ebuild
new file mode 100644
index 000000000000..f89a8aecff37
--- /dev/null
+++ b/dev-libs/apache-arrow/apache-arrow-14.0.2-r1.ebuild
@@ -0,0 +1,124 @@
+# Copyright 2023-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+ARROW_DATA_GIT_HASH=d2c73bf78246331d8e58b6f11aa8aa199cbb5929
+PARQUET_DATA_GIT_HASH=b2e7cc755159196e3a068c8594f7acbaecfdaaac
+
+DESCRIPTION="A cross-language development platform for in-memory data."
+HOMEPAGE="https://arrow.apache.org/"
+SRC_URI="
+ mirror://apache/arrow/arrow-${PV}/${P}.tar.gz
+ test? (
+ https://github.com/apache/parquet-testing/archive/${PARQUET_DATA_GIT_HASH}.tar.gz
+ -> ${PN}-parquet-data-${PARQUET_DATA_GIT_HASH}.tar.gz
+ https://github.com/apache/arrow-testing/archive/${ARROW_DATA_GIT_HASH}.tar.gz
+ -> ${PN}-arrow-data-${ARROW_DATA_GIT_HASH}.tar.gz
+ )
+"
+S="${WORKDIR}/${P}/cpp"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~hppa ~riscv"
+IUSE="brotli bzip2 compute dataset +json lz4 parquet re2 snappy ssl test zlib zstd"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ brotli? ( app-arch/brotli:= )
+ bzip2? ( app-arch/bzip2:= )
+ compute? ( dev-libs/libutf8proc:= )
+ dataset? (
+ dev-libs/libutf8proc:=
+ )
+ lz4? ( app-arch/lz4:= )
+ parquet? (
+ dev-libs/libutf8proc:=
+ dev-libs/thrift:=
+ ssl? ( dev-libs/openssl:= )
+ )
+ re2? ( dev-libs/re2:= )
+ snappy? ( app-arch/snappy:= )
+ zlib? ( sys-libs/zlib:= )
+ zstd? ( app-arch/zstd:= )
+"
+DEPEND="${RDEPEND}
+ dev-cpp/xsimd
+ >=dev-libs/boost-1.81.0
+ json? ( dev-libs/rapidjson )
+ test? (
+ dev-cpp/gflags
+ dev-cpp/gtest
+ )
+"
+
+REQUIRED_USE="
+ test? (
+ json
+ parquet? ( zstd )
+ )
+ ssl? ( json )
+"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-11.0.0-shared-lz4.patch"
+ "${FILESDIR}"/${PN}-14.0.1-gcc14.patch
+)
+
+src_prepare() {
+ # use Gentoo CXXFLAGS, specify docdir at src_configure.
+ sed -i \
+ -e '/SetupCxxFlags/d' \
+ -e '/set(ARROW_DOC_DIR.*)/d' \
+ CMakeLists.txt \
+ || die
+ cmake_src_prepare
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DARROW_BUILD_STATIC=OFF
+ -DARROW_BUILD_TESTS=$(usex test)
+ -DARROW_COMPUTE=$(usex compute)
+ -DARROW_CSV=ON
+ -DARROW_DATASET=$(usex dataset)
+ -DARROW_DEPENDENCY_SOURCE=SYSTEM
+ -DARROW_DOC_DIR=share/doc/${PF}
+ -DARROW_FILESYSTEM=ON
+ -DARROW_HDFS=ON
+ -DARROW_JEMALLOC=OFF
+ -DARROW_JSON=$(usex json)
+ -DARROW_PARQUET=$(usex parquet)
+ -DPARQUET_REQUIRE_ENCRYPTION=$(usex ssl)
+ -DARROW_USE_CCACHE=OFF
+ -DARROW_USE_SCCACHE=OFF
+ -DARROW_WITH_BROTLI=$(usex brotli)
+ -DARROW_WITH_BZ2=$(usex bzip2)
+ -DARROW_WITH_LZ4=$(usex lz4)
+ -DARROW_WITH_RE2=$(usex re2)
+ -DARROW_WITH_SNAPPY=$(usex snappy)
+ -DARROW_WITH_ZLIB=$(usex zlib)
+ -DARROW_WITH_ZSTD=$(usex zstd)
+ -DCMAKE_CXX_STANDARD=17
+ )
+ cmake_src_configure
+}
+
+src_test() {
+ export PARQUET_TEST_DATA="${WORKDIR}/parquet-testing-${PARQUET_DATA_GIT_HASH}/data"
+ export ARROW_TEST_DATA="${WORKDIR}/arrow-testing-${ARROW_DATA_GIT_HASH}/data"
+ cmake_src_test
+}
+
+src_install() {
+ cmake_src_install
+ if use test; then
+ cd "${D}"/usr/$(get_libdir)
+ rm -r cmake/ArrowTesting || die
+ rm libarrow_testing* || die
+ rm pkgconfig/arrow-testing.pc || die
+ fi
+}
diff --git a/dev-libs/apache-arrow/apache-arrow-15.0.0.ebuild b/dev-libs/apache-arrow/apache-arrow-15.0.0.ebuild
new file mode 100644
index 000000000000..f7e504cdc7fa
--- /dev/null
+++ b/dev-libs/apache-arrow/apache-arrow-15.0.0.ebuild
@@ -0,0 +1,129 @@
+# Copyright 2023-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+# arrow.git: testing
+ARROW_DATA_GIT_HASH=ad82a736c170e97b7c8c035ebd8a801c17eec170
+# arrow.git: cpp/submodules/parquet-testing
+PARQUET_DATA_GIT_HASH=d69d979223e883faef9dc6fe3cf573087243c28a
+
+DESCRIPTION="A cross-language development platform for in-memory data."
+HOMEPAGE="
+ https://arrow.apache.org/
+ https://github.com/apache/arrow/
+"
+SRC_URI="
+ mirror://apache/arrow/arrow-${PV}/${P}.tar.gz
+ test? (
+ https://github.com/apache/parquet-testing/archive/${PARQUET_DATA_GIT_HASH}.tar.gz
+ -> ${PN}-parquet-data-${PARQUET_DATA_GIT_HASH}.tar.gz
+ https://github.com/apache/arrow-testing/archive/${ARROW_DATA_GIT_HASH}.tar.gz
+ -> ${PN}-arrow-data-${ARROW_DATA_GIT_HASH}.tar.gz
+ )
+"
+S="${WORKDIR}/${P}/cpp"
+
+LICENSE="Apache-2.0"
+SLOT="0/$(ver_cut 1)"
+KEYWORDS="~amd64 ~hppa ~riscv"
+IUSE="brotli bzip2 compute dataset +json lz4 parquet re2 snappy ssl test zlib zstd"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ brotli? ( app-arch/brotli:= )
+ bzip2? ( app-arch/bzip2:= )
+ compute? ( dev-libs/libutf8proc:= )
+ dataset? (
+ dev-libs/libutf8proc:=
+ )
+ lz4? ( app-arch/lz4:= )
+ parquet? (
+ dev-libs/libutf8proc:=
+ dev-libs/thrift:=
+ ssl? ( dev-libs/openssl:= )
+ )
+ re2? ( dev-libs/re2:= )
+ snappy? ( app-arch/snappy:= )
+ zlib? ( sys-libs/zlib:= )
+ zstd? ( app-arch/zstd:= )
+"
+DEPEND="${RDEPEND}
+ dev-cpp/xsimd
+ >=dev-libs/boost-1.81.0
+ json? ( dev-libs/rapidjson )
+ test? (
+ dev-cpp/gflags
+ dev-cpp/gtest
+ )
+"
+
+REQUIRED_USE="
+ test? (
+ json
+ parquet? ( zstd )
+ )
+ ssl? ( json )
+"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-11.0.0-shared-lz4.patch"
+ "${FILESDIR}"/${PN}-14.0.1-gcc14.patch
+)
+
+src_prepare() {
+ # use Gentoo CXXFLAGS, specify docdir at src_configure.
+ sed -i \
+ -e '/SetupCxxFlags/d' \
+ -e '/set(ARROW_DOC_DIR.*)/d' \
+ CMakeLists.txt \
+ || die
+ cmake_src_prepare
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DARROW_BUILD_STATIC=OFF
+ -DARROW_BUILD_TESTS=$(usex test)
+ -DARROW_COMPUTE=$(usex compute)
+ -DARROW_CSV=ON
+ -DARROW_DATASET=$(usex dataset)
+ -DARROW_DEPENDENCY_SOURCE=SYSTEM
+ -DARROW_DOC_DIR=share/doc/${PF}
+ -DARROW_FILESYSTEM=ON
+ -DARROW_HDFS=ON
+ -DARROW_JEMALLOC=OFF
+ -DARROW_JSON=$(usex json)
+ -DARROW_PARQUET=$(usex parquet)
+ -DPARQUET_REQUIRE_ENCRYPTION=$(usex ssl)
+ -DARROW_USE_CCACHE=OFF
+ -DARROW_USE_SCCACHE=OFF
+ -DARROW_WITH_BROTLI=$(usex brotli)
+ -DARROW_WITH_BZ2=$(usex bzip2)
+ -DARROW_WITH_LZ4=$(usex lz4)
+ -DARROW_WITH_RE2=$(usex re2)
+ -DARROW_WITH_SNAPPY=$(usex snappy)
+ -DARROW_WITH_ZLIB=$(usex zlib)
+ -DARROW_WITH_ZSTD=$(usex zstd)
+ -DCMAKE_CXX_STANDARD=17
+ )
+ cmake_src_configure
+}
+
+src_test() {
+ export PARQUET_TEST_DATA="${WORKDIR}/parquet-testing-${PARQUET_DATA_GIT_HASH}/data"
+ export ARROW_TEST_DATA="${WORKDIR}/arrow-testing-${ARROW_DATA_GIT_HASH}/data"
+ cmake_src_test
+}
+
+src_install() {
+ cmake_src_install
+ if use test; then
+ cd "${D}"/usr/$(get_libdir) || die
+ rm -r cmake/ArrowTesting || die
+ rm libarrow_testing* || die
+ rm pkgconfig/arrow-testing.pc || die
+ fi
+}
diff --git a/dev-libs/apache-arrow/apache-arrow-15.0.1.ebuild b/dev-libs/apache-arrow/apache-arrow-15.0.1.ebuild
new file mode 100644
index 000000000000..c3044b93da01
--- /dev/null
+++ b/dev-libs/apache-arrow/apache-arrow-15.0.1.ebuild
@@ -0,0 +1,134 @@
+# Copyright 2023-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+# arrow.git: testing
+ARROW_DATA_GIT_HASH=ad82a736c170e97b7c8c035ebd8a801c17eec170
+# arrow.git: cpp/submodules/parquet-testing
+PARQUET_DATA_GIT_HASH=d69d979223e883faef9dc6fe3cf573087243c28a
+
+DESCRIPTION="A cross-language development platform for in-memory data."
+HOMEPAGE="
+ https://arrow.apache.org/
+ https://github.com/apache/arrow/
+"
+SRC_URI="
+ mirror://apache/arrow/arrow-${PV}/${P}.tar.gz
+ test? (
+ https://github.com/apache/parquet-testing/archive/${PARQUET_DATA_GIT_HASH}.tar.gz
+ -> ${PN}-parquet-data-${PARQUET_DATA_GIT_HASH}.tar.gz
+ https://github.com/apache/arrow-testing/archive/${ARROW_DATA_GIT_HASH}.tar.gz
+ -> ${PN}-arrow-data-${ARROW_DATA_GIT_HASH}.tar.gz
+ )
+"
+S="${WORKDIR}/${P}/cpp"
+
+LICENSE="Apache-2.0"
+SLOT="0/$(ver_cut 1)"
+KEYWORDS="~amd64 ~arm64 ~hppa ~riscv"
+IUSE="
+ +brotli bzip2 compute dataset +json lz4 +parquet re2 +snappy ssl
+ test zlib zstd
+"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ brotli? ( app-arch/brotli:= )
+ bzip2? ( app-arch/bzip2:= )
+ compute? ( dev-libs/libutf8proc:= )
+ dataset? (
+ dev-libs/libutf8proc:=
+ )
+ lz4? ( app-arch/lz4:= )
+ parquet? (
+ dev-libs/libutf8proc:=
+ dev-libs/thrift:=
+ ssl? ( dev-libs/openssl:= )
+ )
+ re2? ( dev-libs/re2:= )
+ snappy? ( app-arch/snappy:= )
+ zlib? ( sys-libs/zlib:= )
+ zstd? ( app-arch/zstd:= )
+"
+DEPEND="${RDEPEND}
+ dev-cpp/xsimd
+ >=dev-libs/boost-1.81.0
+ json? ( dev-libs/rapidjson )
+ test? (
+ dev-cpp/gflags
+ dev-cpp/gtest
+ )
+"
+
+REQUIRED_USE="
+ test? (
+ json
+ parquet? ( zstd )
+ )
+ ssl? ( json )
+"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-11.0.0-shared-lz4.patch"
+ "${FILESDIR}/${PN}-14.0.1-gcc14.patch"
+ # upstream backports
+ "${FILESDIR}/${PN}-15.0.1-32bit.patch"
+)
+
+src_prepare() {
+ # use Gentoo CXXFLAGS, specify docdir at src_configure.
+ sed -i \
+ -e '/SetupCxxFlags/d' \
+ -e '/set(ARROW_DOC_DIR.*)/d' \
+ CMakeLists.txt \
+ || die
+ cmake_src_prepare
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DARROW_BUILD_STATIC=OFF
+ -DARROW_BUILD_TESTS=$(usex test)
+ -DARROW_COMPUTE=$(usex compute)
+ -DARROW_CSV=ON
+ -DARROW_DATASET=$(usex dataset)
+ -DARROW_DEPENDENCY_SOURCE=SYSTEM
+ -DARROW_DOC_DIR=share/doc/${PF}
+ -DARROW_FILESYSTEM=ON
+ -DARROW_HDFS=ON
+ -DARROW_JEMALLOC=OFF
+ -DARROW_JSON=$(usex json)
+ -DARROW_PARQUET=$(usex parquet)
+ -DPARQUET_REQUIRE_ENCRYPTION=$(usex ssl)
+ -DARROW_USE_CCACHE=OFF
+ -DARROW_USE_SCCACHE=OFF
+ -DARROW_WITH_BROTLI=$(usex brotli)
+ -DARROW_WITH_BZ2=$(usex bzip2)
+ -DARROW_WITH_LZ4=$(usex lz4)
+ -DARROW_WITH_RE2=$(usex re2)
+ -DARROW_WITH_SNAPPY=$(usex snappy)
+ -DARROW_WITH_ZLIB=$(usex zlib)
+ -DARROW_WITH_ZSTD=$(usex zstd)
+ -DCMAKE_CXX_STANDARD=17
+ )
+ cmake_src_configure
+}
+
+src_test() {
+ export PARQUET_TEST_DATA="${WORKDIR}/parquet-testing-${PARQUET_DATA_GIT_HASH}/data"
+ export ARROW_TEST_DATA="${WORKDIR}/arrow-testing-${ARROW_DATA_GIT_HASH}/data"
+ cmake_src_test
+}
+
+src_install() {
+ cmake_src_install
+ if use test; then
+ cd "${D}"/usr/$(get_libdir) || die
+ rm -r cmake/ArrowTesting || die
+ rm libarrow_testing* || die
+ rm pkgconfig/arrow-testing.pc || die
+ fi
+}
diff --git a/dev-libs/apache-arrow/apache-arrow-15.0.2.ebuild b/dev-libs/apache-arrow/apache-arrow-15.0.2.ebuild
new file mode 100644
index 000000000000..6b2586c3e32b
--- /dev/null
+++ b/dev-libs/apache-arrow/apache-arrow-15.0.2.ebuild
@@ -0,0 +1,134 @@
+# Copyright 2023-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+# arrow.git: testing
+ARROW_DATA_GIT_HASH=ad82a736c170e97b7c8c035ebd8a801c17eec170
+# arrow.git: cpp/submodules/parquet-testing
+PARQUET_DATA_GIT_HASH=d69d979223e883faef9dc6fe3cf573087243c28a
+
+DESCRIPTION="A cross-language development platform for in-memory data."
+HOMEPAGE="
+ https://arrow.apache.org/
+ https://github.com/apache/arrow/
+"
+SRC_URI="
+ mirror://apache/arrow/arrow-${PV}/${P}.tar.gz
+ test? (
+ https://github.com/apache/parquet-testing/archive/${PARQUET_DATA_GIT_HASH}.tar.gz
+ -> ${PN}-parquet-data-${PARQUET_DATA_GIT_HASH}.tar.gz
+ https://github.com/apache/arrow-testing/archive/${ARROW_DATA_GIT_HASH}.tar.gz
+ -> ${PN}-arrow-data-${ARROW_DATA_GIT_HASH}.tar.gz
+ )
+"
+S="${WORKDIR}/${P}/cpp"
+
+LICENSE="Apache-2.0"
+SLOT="0/$(ver_cut 1)"
+KEYWORDS="amd64 ~arm ~arm64 ~hppa ~loong ~riscv ~s390 ~x86"
+IUSE="
+ +brotli bzip2 compute dataset +json lz4 +parquet re2 +snappy ssl
+ test zlib zstd
+"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ brotli? ( app-arch/brotli:= )
+ bzip2? ( app-arch/bzip2:= )
+ compute? ( dev-libs/libutf8proc:= )
+ dataset? (
+ dev-libs/libutf8proc:=
+ )
+ lz4? ( app-arch/lz4:= )
+ parquet? (
+ dev-libs/libutf8proc:=
+ dev-libs/thrift:=
+ ssl? ( dev-libs/openssl:= )
+ )
+ re2? ( dev-libs/re2:= )
+ snappy? ( app-arch/snappy:= )
+ zlib? ( sys-libs/zlib:= )
+ zstd? ( app-arch/zstd:= )
+"
+DEPEND="${RDEPEND}
+ dev-cpp/xsimd
+ >=dev-libs/boost-1.81.0
+ json? ( dev-libs/rapidjson )
+ test? (
+ dev-cpp/gflags
+ dev-cpp/gtest
+ )
+"
+
+REQUIRED_USE="
+ test? (
+ json
+ parquet? ( zstd )
+ )
+ ssl? ( json )
+"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-11.0.0-shared-lz4.patch"
+ "${FILESDIR}/${PN}-14.0.1-gcc14.patch"
+ # upstream backports
+ "${FILESDIR}/${PN}-15.0.1-32bit.patch"
+)
+
+src_prepare() {
+ # use Gentoo CXXFLAGS, specify docdir at src_configure.
+ sed -i \
+ -e '/SetupCxxFlags/d' \
+ -e '/set(ARROW_DOC_DIR.*)/d' \
+ CMakeLists.txt \
+ || die
+ cmake_src_prepare
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DARROW_BUILD_STATIC=OFF
+ -DARROW_BUILD_TESTS=$(usex test)
+ -DARROW_COMPUTE=$(usex compute)
+ -DARROW_CSV=ON
+ -DARROW_DATASET=$(usex dataset)
+ -DARROW_DEPENDENCY_SOURCE=SYSTEM
+ -DARROW_DOC_DIR=share/doc/${PF}
+ -DARROW_FILESYSTEM=ON
+ -DARROW_HDFS=ON
+ -DARROW_JEMALLOC=OFF
+ -DARROW_JSON=$(usex json)
+ -DARROW_PARQUET=$(usex parquet)
+ -DPARQUET_REQUIRE_ENCRYPTION=$(usex ssl)
+ -DARROW_USE_CCACHE=OFF
+ -DARROW_USE_SCCACHE=OFF
+ -DARROW_WITH_BROTLI=$(usex brotli)
+ -DARROW_WITH_BZ2=$(usex bzip2)
+ -DARROW_WITH_LZ4=$(usex lz4)
+ -DARROW_WITH_RE2=$(usex re2)
+ -DARROW_WITH_SNAPPY=$(usex snappy)
+ -DARROW_WITH_ZLIB=$(usex zlib)
+ -DARROW_WITH_ZSTD=$(usex zstd)
+ -DCMAKE_CXX_STANDARD=17
+ )
+ cmake_src_configure
+}
+
+src_test() {
+ export PARQUET_TEST_DATA="${WORKDIR}/parquet-testing-${PARQUET_DATA_GIT_HASH}/data"
+ export ARROW_TEST_DATA="${WORKDIR}/arrow-testing-${ARROW_DATA_GIT_HASH}/data"
+ cmake_src_test
+}
+
+src_install() {
+ cmake_src_install
+ if use test; then
+ cd "${D}"/usr/$(get_libdir) || die
+ rm -r cmake/ArrowTesting || die
+ rm libarrow_testing* || die
+ rm pkgconfig/arrow-testing.pc || die
+ fi
+}
diff --git a/dev-libs/apache-arrow/files/apache-arrow-11.0.0-shared-lz4.patch b/dev-libs/apache-arrow/files/apache-arrow-11.0.0-shared-lz4.patch
new file mode 100644
index 000000000000..fdb26196d0bb
--- /dev/null
+++ b/dev-libs/apache-arrow/files/apache-arrow-11.0.0-shared-lz4.patch
@@ -0,0 +1,14 @@
+Index: cpp/cmake_modules/Findlz4Alt.cmake
+===================================================================
+--- cpp.orig/cmake_modules/Findlz4Alt.cmake
++++ cpp/cmake_modules/Findlz4Alt.cmake
+@@ -32,8 +32,8 @@ if(lz4_FOUND)
+ # Conan uses lz4::lz4 not LZ4::lz4
+ if(NOT TARGET LZ4::lz4 AND TARGET lz4::lz4)
+ add_library(LZ4::lz4 ALIAS lz4::lz4)
++ return()
+ endif()
+- return()
+ endif()
+
+ if(MSVC_TOOLCHAIN AND NOT DEFINED LZ4_MSVC_LIB_PREFIX)
diff --git a/dev-libs/apache-arrow/files/apache-arrow-14.0.1-gcc14.patch b/dev-libs/apache-arrow/files/apache-arrow-14.0.1-gcc14.patch
new file mode 100644
index 000000000000..ccaf8cff0e98
--- /dev/null
+++ b/dev-libs/apache-arrow/files/apache-arrow-14.0.1-gcc14.patch
@@ -0,0 +1,10 @@
+--- a/src/arrow/filesystem/util_internal.cc 2023-11-23 17:13:03.062791581 +0100
++++ b/src/arrow/filesystem/util_internal.cc 2023-11-23 17:13:22.441459075 +0100
+@@ -18,6 +18,7 @@
+ #include "arrow/filesystem/util_internal.h"
+
+ #include <cerrno>
++#include <algorithm>
+
+ #include "arrow/buffer.h"
+ #include "arrow/filesystem/path_util.h"
diff --git a/dev-libs/apache-arrow/files/apache-arrow-15.0.1-32bit.patch b/dev-libs/apache-arrow/files/apache-arrow-15.0.1-32bit.patch
new file mode 100644
index 000000000000..d268e565ab76
--- /dev/null
+++ b/dev-libs/apache-arrow/files/apache-arrow-15.0.1-32bit.patch
@@ -0,0 +1,57 @@
+diff --git a/gdb_arrow.py b/gdb_arrow.py
+index 6c3af1680..ad40ec499 100644
+--- a/gdb_arrow.py
++++ b/gdb_arrow.py
+@@ -304,7 +304,8 @@ def format_timestamp(val, unit):
+ seconds, subseconds = divmod(val, traits.multiplier)
+ try:
+ dt = datetime.datetime.utcfromtimestamp(seconds)
+- except (ValueError, OSError): # value out of range for datetime.datetime
++ except (ValueError, OSError, OverflowError):
++ # value out of range for datetime.datetime
+ pretty = "too large to represent"
+ else:
+ pretty = dt.isoformat().replace('T', ' ')
+diff --git a/src/arrow/io/file.cc b/src/arrow/io/file.cc
+index 543fa90a8..3b18bb7b0 100644
+--- a/src/arrow/io/file.cc
++++ b/src/arrow/io/file.cc
+@@ -36,6 +36,7 @@
+ #include <cerrno>
+ #include <cstdint>
+ #include <cstring>
++#include <limits>
+ #include <memory>
+ #include <mutex>
+ #include <sstream>
+@@ -560,17 +561,22 @@ class MemoryMappedFile::MemoryMap
+ RETURN_NOT_OK(::arrow::internal::FileTruncate(file_->fd(), initial_size));
+ }
+
+- size_t mmap_length = static_cast<size_t>(initial_size);
+- if (length > initial_size) {
+- return Status::Invalid("mapping length is beyond file size");
+- }
+- if (length >= 0 && length < initial_size) {
++ int64_t mmap_length = initial_size;
++ if (length >= 0) {
+ // memory mapping a file region
+- mmap_length = static_cast<size_t>(length);
++ if (length > initial_size) {
++ return Status::Invalid("mapping length is beyond file size");
++ }
++ mmap_length = length;
++ }
++ if (static_cast<int64_t>(static_cast<size_t>(mmap_length)) != mmap_length) {
++ return Status::CapacityError("Requested memory map length ", mmap_length,
++ " does not fit in a C size_t "
++ "(are you using a 32-bit build of Arrow?");
+ }
+
+- void* result = mmap(nullptr, mmap_length, prot_flags_, map_mode_, file_->fd(),
+- static_cast<off_t>(offset));
++ void* result = mmap(nullptr, static_cast<size_t>(mmap_length), prot_flags_, map_mode_,
++ file_->fd(), static_cast<off_t>(offset));
+ if (result == MAP_FAILED) {
+ return Status::IOError("Memory mapping file failed: ",
+ ::arrow::internal::ErrnoMessage(errno));
diff --git a/dev-libs/apache-arrow/metadata.xml b/dev-libs/apache-arrow/metadata.xml
new file mode 100644
index 000000000000..31fb6e8b9092
--- /dev/null
+++ b/dev-libs/apache-arrow/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>tupone@gentoo.org</email>
+ <name>Tupone Alfredo</name>
+ </maintainer>
+ <maintainer type="person">
+ <email>mgorny@gentoo.org</email>
+ <name>Michał Górny</name>
+ </maintainer>
+ <use>
+ <flag name="compute">Build the Arrow Compute Modules</flag>
+ <flag name="dataset">Build the Arrow Dataset Modules</flag>
+ <flag name="json">Enables read/write json format</flag>
+ <flag name="parquet">Enables read/write parquet data format</flag>
+ <flag name="re2">Build with support for regular expressions using the re2 library</flag>
+ </use>
+ <upstream>
+ <remote-id type="github">apache/arrow</remote-id>
+ <remote-id type="github">apache/parquet-testing</remote-id>
+ <remote-id type="github">apache/arrow-testing</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/appstream-glib/Manifest b/dev-libs/appstream-glib/Manifest
index 67e6ab38ac18..ab2a38f0357b 100644
--- a/dev-libs/appstream-glib/Manifest
+++ b/dev-libs/appstream-glib/Manifest
@@ -1 +1 @@
-DIST appstream-glib-0.7.18.tar.xz 2309276 BLAKE2B 67f414ae45866cab314ed2b307f2045a2035c262810696246f5bdea2a0bac88d98b561f72a8e87608f90407ad6d577d720213461ecef09d277e919b5330c0bc2 SHA512 2a202eb25d823d524128a8ab164025b6579e069f8b62373cf5447d049a0e3764fca5bf1464296101a45870d1426b094493fc8ead07a6a4bcb514c0f1a91e8ff2
+DIST appstream-glib-0.8.2.tar.xz 2320880 BLAKE2B 6c3c90298ae8bf362caea8c46643afaaab0bb0071271f5244eeca9356ed96a6a956c1b2ffa4a8500201e4bc494a54a15b3db4937b81c6f5f8b80f83299ac58ee SHA512 c9c21049ab43f5da8595aa07a3c2e097163a05b5e0fc030e4e3326136cd18127f04ad9edf08c12aea823b89048b43808cc60759cc26fcf2541cd9c1acbb29e28
diff --git a/dev-libs/appstream-glib/appstream-glib-0.7.18-r1.ebuild b/dev-libs/appstream-glib/appstream-glib-0.7.18-r1.ebuild
deleted file mode 100644
index f81e79bb94a5..000000000000
--- a/dev-libs/appstream-glib/appstream-glib-0.7.18-r1.ebuild
+++ /dev/null
@@ -1,65 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit xdg meson
-
-DESCRIPTION="Provides GObjects and helper methods to read and write AppStream metadata"
-HOMEPAGE="https://people.freedesktop.org/~hughsient/appstream-glib/"
-SRC_URI="https://people.freedesktop.org/~hughsient/${PN}/releases/${P}.tar.xz"
-
-LICENSE="LGPL-2.1+"
-SLOT="0/8" # soname version
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-IUSE="gtk-doc fonts +introspection stemmer"
-
-RDEPEND="
- >=dev-libs/glib-2.58.0:2
- sys-apps/util-linux
- app-arch/libarchive:=
- >=net-libs/libsoup-2.51.92:2.4
- >=dev-libs/json-glib-1.1.2
- >=x11-libs/gdk-pixbuf-2.31.5:2[introspection?]
-
- fonts? ( x11-libs/gtk+:3
- >=media-libs/freetype-2.4:2 )
- >=media-libs/fontconfig-2.11:1.0
- dev-libs/libyaml
- stemmer? ( dev-libs/snowball-stemmer:= )
- x11-libs/pango
- introspection? ( >=dev-libs/gobject-introspection-1.54:= )
-"
-DEPEND="${RDEPEND}"
-# libxml2 required for glib-compile-resources
-BDEPEND="
- dev-util/gperf
-
- dev-libs/libxml2:2
- app-text/docbook-xml-dtd:4.2
- dev-libs/libxslt
- gtk-doc? (
- >=dev-util/gtk-doc-1.9
- app-text/docbook-xml-dtd:4.3
- )
- >=sys-devel/gettext-0.19.8
-"
-# ${PN} supersedes appdata-tools
-RDEPEND="${RDEPEND}
- !<dev-util/appdata-tools-0.1.8-r1
-"
-
-src_configure() {
- local emesonargs=(
- -Ddep11=true
- -Dbuilder=true
- -Drpm=false
- -Dalpm=false
- $(meson_use fonts)
- $(meson_use stemmer)
- -Dman=true
- $(meson_use gtk-doc)
- $(meson_use introspection)
- )
- meson_src_configure
-}
diff --git a/dev-libs/appstream-glib/appstream-glib-0.8.2.ebuild b/dev-libs/appstream-glib/appstream-glib-0.8.2.ebuild
new file mode 100644
index 000000000000..4bd0df70fdb9
--- /dev/null
+++ b/dev-libs/appstream-glib/appstream-glib-0.8.2.ebuild
@@ -0,0 +1,63 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit xdg meson
+
+DESCRIPTION="Provides GObjects and helper methods to read and write AppStream metadata"
+HOMEPAGE="https://people.freedesktop.org/~hughsient/appstream-glib/ https://github.com/hughsie/appstream-glib"
+SRC_URI="https://people.freedesktop.org/~hughsient/${PN}/releases/${P}.tar.xz"
+
+LICENSE="LGPL-2.1+"
+SLOT="0/8" # soname version
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
+IUSE="gtk-doc fonts +introspection stemmer"
+
+RDEPEND="
+ >=dev-libs/glib-2.58.0:2
+ sys-apps/util-linux
+ app-arch/libarchive:=
+ >=net-misc/curl-7.56.0
+ >=dev-libs/json-glib-1.1.2
+ >=x11-libs/gdk-pixbuf-2.31.5:2[introspection?]
+
+ fonts? (
+ x11-libs/gtk+:3
+ >=media-libs/freetype-2.4:2
+ )
+ >=media-libs/fontconfig-2.11:1.0
+ dev-libs/libyaml
+ stemmer? ( dev-libs/snowball-stemmer:= )
+ x11-libs/pango
+ introspection? ( >=dev-libs/gobject-introspection-1.54:= )
+"
+DEPEND="${RDEPEND}"
+# libxml2 required for glib-compile-resources
+BDEPEND="
+ dev-util/gperf
+
+ dev-libs/libxml2:2
+ app-text/docbook-xml-dtd:4.2
+ dev-libs/libxslt
+ gtk-doc? (
+ >=dev-util/gtk-doc-1.9
+ app-text/docbook-xml-dtd:4.3
+ )
+ >=sys-devel/gettext-0.19.8
+"
+
+src_configure() {
+ local emesonargs=(
+ -Ddep11=true
+ -Dbuilder=true
+ -Drpm=false
+ -Dalpm=false
+ $(meson_use fonts)
+ $(meson_use stemmer)
+ -Dman=true
+ $(meson_use gtk-doc)
+ $(meson_use introspection)
+ )
+ meson_src_configure
+}
diff --git a/dev-libs/appstream-glib/metadata.xml b/dev-libs/appstream-glib/metadata.xml
index 66cc005e7bda..a4d2e78fcfe2 100644
--- a/dev-libs/appstream-glib/metadata.xml
+++ b/dev-libs/appstream-glib/metadata.xml
@@ -1,12 +1,15 @@
<?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>
-<use>
- <flag name="fonts">Enable fonts support for appstream-builder.</flag>
- <flag name="stemmer">Add word stemming via <pkg>dev-libs/snowball-stemmer</pkg>.</flag>
-</use>
+ <maintainer type="project">
+ <email>gnome@gentoo.org</email>
+ <name>Gentoo GNOME Desktop</name>
+ </maintainer>
+ <use>
+ <flag name="fonts">Enable fonts support for appstream-builder.</flag>
+ <flag name="stemmer">Add word stemming via <pkg>dev-libs/snowball-stemmer</pkg>.</flag>
+ </use>
+ <upstream>
+ <remote-id type="github">hughsie/appstream-glib</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/dev-libs/appstream/Manifest b/dev-libs/appstream/Manifest
index e5ea92357c51..14e5aa16b233 100644
--- a/dev-libs/appstream/Manifest
+++ b/dev-libs/appstream/Manifest
@@ -1 +1,3 @@
-DIST AppStream-0.14.6.tar.xz 2403088 BLAKE2B 1eb85601c1782fc47ff21983517f301dc9493fb60347cfe8072c277cc4415e80bf6c11a93db80b6d7fe1eeda7ff1fa414fd10ce7ef0d7379b415326407d805b8 SHA512 810aa7427df50793f4bed27cc3cb5b72c156f0c582f241e06131aa8eabe82d59c8ac0bcc37a22877f7a19ac4640a9a831f8b567ce3e2d26a41ce999515affdb0
+DIST AppStream-0.15.6.tar.xz 2517688 BLAKE2B 09519205c7dfc5f0715b9d5ae7e99a67673ab499f1e2cb39815edde64defc1aa5059215575278bbcfc4482cd385a79e081c70f6acea3c446c5869dc6b2e18f6c SHA512 7426bc89e22b751de7b3e27d7c07eb1c373f4439f9966868ce5ea410d209b8c5292e03695a34b7a49bfa61e2e62265c7f7cdffc0be871c950193c933f65757ef
+DIST AppStream-0.16.4.tar.xz 2570176 BLAKE2B ac051b846fd1c7b0cbb3429e0b4c3f81027cddb35ee6bcd5e9d38a09d937abcc37ac4908f68ec55404ae852fd146b4e749832d3ac96443458e86cfe506a6fed4 SHA512 e3a9fc423fe5a2baaaa002871566f320ecd6dbd3a01ab24221afe9b93a69e9afb6bed6d7772c434376501803dc7b2c80b79eda849fcaf4748f9f24a5908a22a8
+DIST AppStream-1.0.2.tar.xz 2629708 BLAKE2B eb31e675cea1c8b9357227c851bdd24f9cb949e232089380a8727630ab8055f0de6bebd74f70f3c1cf84e5420b9d4fef681671a0e4e97265af26d594b2874c48 SHA512 e5c109c383e3bf3af3693bfb3146663767c2c61fac0bd421f2ce52242fe7b869effeacc4d207987321dfeb4ab0ba77ece6c1c6eea054a7365204cd955426517a
diff --git a/dev-libs/appstream/appstream-0.14.6.ebuild b/dev-libs/appstream/appstream-0.14.6.ebuild
deleted file mode 100644
index a67f828fd48f..000000000000
--- a/dev-libs/appstream/appstream-0.14.6.ebuild
+++ /dev/null
@@ -1,77 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit meson xdg-utils
-
-if [[ ${PV} = *9999* ]]; then
- inherit git-r3
- EGIT_REPO_URI="https://github.com/ximion/${PN}"
-else
- SRC_URI="https://www.freedesktop.org/software/appstream/releases/AppStream-${PV}.tar.xz"
- S="${WORKDIR}/AppStream-${PV}"
- KEYWORDS="amd64 ~arm arm64 ~ppc64 ~riscv x86"
-fi
-
-DESCRIPTION="Cross-distro effort for providing metadata for software in the Linux ecosystem"
-HOMEPAGE="https://www.freedesktop.org/wiki/Distributions/AppStream/"
-
-LICENSE="LGPL-2.1+ GPL-2+"
-# check as_api_level
-SLOT="0/4"
-IUSE="apt doc +introspection qt5 test"
-RESTRICT="test" # bug 691962
-
-RDEPEND="
- dev-db/lmdb:=
- >=dev-libs/glib-2.58:2
- dev-libs/libxml2:2
- dev-libs/libyaml
- dev-libs/snowball-stemmer:=
- net-misc/curl
- introspection? ( >=dev-libs/gobject-introspection-1.56:= )
- qt5? ( dev-qt/qtcore:5 )
-"
-DEPEND="${RDEPEND}
- test? ( qt5? ( dev-qt/qttest:5 ) )
-"
-BDEPEND="
- dev-libs/appstream-glib
- dev-libs/libxslt
- dev-util/itstool
- >=sys-devel/gettext-0.19.8
- doc? ( app-text/docbook-xml-dtd:4.5 )
- test? ( dev-qt/linguist-tools:5 )
-"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-0.14.3-disable-Werror-flags.patch # bug 733774
-)
-
-src_prepare() {
- default
- sed -e "/^as_doc_target_dir/s/appstream/${PF}/" -i docs/meson.build || die
- if ! use test; then
- sed -e "/^subdir.*tests/s/^/#DONT /" -i {,qt/}meson.build || die # bug 675944
- fi
-}
-
-src_configure() {
- xdg_environment_reset
-
- local emesonargs=(
- -Dapidocs=false
- -Ddocs=false
- -Dcompose=false
- -Dmaintainer=false
- -Dstemming=true
- -Dvapi=false
- -Dapt-support=$(usex apt true false)
- -Dinstall-docs=$(usex doc true false)
- -Dgir=$(usex introspection true false)
- -Dqt=$(usex qt5 true false)
- )
-
- meson_src_configure
-}
diff --git a/dev-libs/appstream/appstream-0.15.6.ebuild b/dev-libs/appstream/appstream-0.15.6.ebuild
new file mode 100644
index 000000000000..22035505fdee
--- /dev/null
+++ b/dev-libs/appstream/appstream-0.15.6.ebuild
@@ -0,0 +1,77 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit meson xdg-utils
+
+if [[ ${PV} == *9999* ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/ximion/${PN}"
+else
+ MY_PN="AppStream"
+ SRC_URI="https://www.freedesktop.org/software/appstream/releases/${MY_PN}-${PV}.tar.xz"
+ KEYWORDS="amd64 ~arm arm64 ~loong ~ppc ~ppc64 ~riscv x86"
+ S="${WORKDIR}/${MY_PN}-${PV}"
+fi
+
+DESCRIPTION="Cross-distro effort for providing metadata for software in the Linux ecosystem"
+HOMEPAGE="https://www.freedesktop.org/wiki/Distributions/AppStream/"
+
+LICENSE="LGPL-2.1+ GPL-2+"
+# check as_api_level
+SLOT="0/4"
+IUSE="apt doc +introspection qt5 test"
+RESTRICT="test" # bug 691962
+
+RDEPEND="
+ >=dev-libs/glib-2.62:2
+ dev-libs/libxml2:2
+ >=dev-libs/libxmlb-0.3.6:=
+ dev-libs/libyaml
+ dev-libs/snowball-stemmer:=
+ >=net-misc/curl-7.62
+ introspection? ( >=dev-libs/gobject-introspection-1.56:= )
+ qt5? ( dev-qt/qtcore:5 )
+"
+DEPEND="${RDEPEND}
+ test? ( qt5? ( dev-qt/qttest:5 ) )
+"
+BDEPEND="
+ dev-libs/appstream-glib
+ dev-libs/libxslt
+ dev-util/itstool
+ >=sys-devel/gettext-0.19.8
+ doc? ( app-text/docbook-xml-dtd:4.5 )
+ test? ( dev-qt/linguist-tools:5 )
+"
+
+PATCHES=( "${FILESDIR}"/${P}-disable-Werror-flags.patch ) # bug 733774
+
+src_prepare() {
+ default
+ sed -e "/^as_doc_target_dir/s/appstream/${PF}/" -i docs/meson.build || die
+ if ! use test; then
+ sed -e "/^subdir.*tests/s/^/#DONT /" -i {,qt/}meson.build || die # bug 675944
+ fi
+}
+
+src_configure() {
+ xdg_environment_reset
+
+ local emesonargs=(
+ -Dapidocs=false
+ -Ddocs=false
+ -Dcompose=false
+ -Dmaintainer=false
+ -Dstatic-analysis=false
+ -Dstemming=true
+ -Dvapi=false
+ -Dapt-support=$(usex apt true false)
+ -Dinstall-docs=$(usex doc true false)
+ -Dgir=$(usex introspection true false)
+ -Dqt=$(usex qt5 true false)
+ )
+
+ meson_src_configure
+}
diff --git a/dev-libs/appstream/appstream-0.16.4.ebuild b/dev-libs/appstream/appstream-0.16.4.ebuild
new file mode 100644
index 000000000000..123efa6b2baa
--- /dev/null
+++ b/dev-libs/appstream/appstream-0.16.4.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 xdg-utils
+
+if [[ ${PV} == *9999* ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/ximion/${PN}"
+else
+ MY_PN="AppStream"
+ SRC_URI="https://www.freedesktop.org/software/appstream/releases/${MY_PN}-${PV}.tar.xz"
+ KEYWORDS="amd64 ~arm arm64 ~loong ppc ppc64 ~riscv x86"
+ S="${WORKDIR}/${MY_PN}-${PV}"
+fi
+
+DESCRIPTION="Cross-distro effort for providing metadata for software in the Linux ecosystem"
+HOMEPAGE="https://www.freedesktop.org/wiki/Distributions/AppStream/"
+
+LICENSE="LGPL-2.1+ GPL-2+"
+# check as_api_level
+SLOT="0/4"
+IUSE="apt doc +introspection qt5 systemd test"
+RESTRICT="test" # bug 691962
+
+RDEPEND="
+ >=dev-libs/glib-2.62:2
+ dev-libs/libxml2:2
+ >=dev-libs/libxmlb-0.3.14:=
+ dev-libs/libyaml
+ dev-libs/snowball-stemmer:=
+ >=net-misc/curl-7.62
+ introspection? ( >=dev-libs/gobject-introspection-1.56:= )
+ qt5? ( dev-qt/qtcore:5 )
+ systemd? ( sys-apps/systemd:= )
+"
+DEPEND="${RDEPEND}
+ test? ( qt5? ( dev-qt/qttest:5 ) )
+"
+BDEPEND="
+ dev-libs/appstream-glib
+ dev-libs/libxslt
+ dev-util/itstool
+ >=sys-devel/gettext-0.19.8
+ doc? ( app-text/docbook-xml-dtd:4.5 )
+ test? ( dev-qt/linguist-tools:5 )
+"
+
+PATCHES=( "${FILESDIR}"/${P}-disable-Werror-flags.patch ) # bug 733774
+
+src_prepare() {
+ default
+ sed -e "/^as_doc_target_dir/s/appstream/${PF}/" -i docs/meson.build || die
+ if ! use test; then
+ sed -e "/^subdir.*tests/s/^/#DONT /" -i {,qt/}meson.build || die # bug 675944
+ fi
+}
+
+src_configure() {
+ xdg_environment_reset
+
+ local emesonargs=(
+ -Dapidocs=false
+ -Ddocs=false
+ -Dcompose=false
+ -Dmaintainer=false
+ -Dstatic-analysis=false
+ -Dstemming=true
+ -Dvapi=false
+ -Dapt-support=$(usex apt true false)
+ -Dinstall-docs=$(usex doc true false)
+ -Dgir=$(usex introspection true false)
+ -Dqt=$(usex qt5 true false)
+ -Dsystemd=$(usex systemd true false)
+ )
+
+ meson_src_configure
+}
diff --git a/dev-libs/appstream/appstream-1.0.2.ebuild b/dev-libs/appstream/appstream-1.0.2.ebuild
new file mode 100644
index 000000000000..e59ebce431a1
--- /dev/null
+++ b/dev-libs/appstream/appstream-1.0.2.ebuild
@@ -0,0 +1,78 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit meson xdg-utils
+
+if [[ ${PV} == *9999* ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/ximion/${PN}"
+else
+ MY_PN="AppStream"
+ SRC_URI="https://www.freedesktop.org/software/appstream/releases/${MY_PN}-${PV}.tar.xz"
+ KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86"
+ S="${WORKDIR}/${MY_PN}-${PV}"
+fi
+
+DESCRIPTION="Cross-distro effort for providing metadata for software in the Linux ecosystem"
+HOMEPAGE="https://www.freedesktop.org/wiki/Distributions/AppStream/"
+
+LICENSE="LGPL-2.1+ GPL-2+"
+# check as_api_level
+SLOT="0/5"
+IUSE="apt doc +introspection qt6 systemd test"
+RESTRICT="test" # bug 691962
+
+RDEPEND="
+ app-arch/zstd:=
+ >=dev-libs/glib-2.62:2
+ dev-libs/libxml2:2
+ >=dev-libs/libxmlb-0.3.14:=
+ dev-libs/libyaml
+ dev-libs/snowball-stemmer:=
+ >=net-misc/curl-7.62
+ introspection? ( >=dev-libs/gobject-introspection-1.56:= )
+ qt6? ( dev-qt/qtbase:6 )
+ systemd? ( sys-apps/systemd:= )
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ dev-libs/appstream-glib
+ dev-libs/libxslt
+ dev-util/itstool
+ >=sys-devel/gettext-0.19.8
+ doc? ( app-text/docbook-xml-dtd:4.5 )
+ test? ( dev-qt/qttools:6[linguist] )
+"
+
+PATCHES=( "${FILESDIR}"/${PN}-1.0.0-disable-Werror-flags.patch ) # bug 733774
+
+src_prepare() {
+ default
+ sed -e "/^as_doc_target_dir/s/appstream/${PF}/" -i docs/meson.build || die
+ if ! use test; then
+ sed -e "/^subdir.*tests/s/^/#DONT /" -i {,qt/}meson.build || die # bug 675944
+ fi
+}
+
+src_configure() {
+ xdg_environment_reset
+
+ local emesonargs=(
+ -Dapidocs=false
+ -Ddocs=false
+ -Dcompose=false
+ -Dmaintainer=false
+ -Dstatic-analysis=false
+ -Dstemming=true
+ -Dvapi=false
+ -Dapt-support=$(usex apt true false)
+ -Dinstall-docs=$(usex doc true false)
+ -Dgir=$(usex introspection true false)
+ -Dqt=$(usex qt6 true false)
+ -Dsystemd=$(usex systemd true false)
+ )
+
+ meson_src_configure
+}
diff --git a/dev-libs/appstream/files/appstream-0.14.3-disable-Werror-flags.patch b/dev-libs/appstream/files/appstream-0.14.3-disable-Werror-flags.patch
deleted file mode 100644
index 4e5a117061b4..000000000000
--- a/dev-libs/appstream/files/appstream-0.14.3-disable-Werror-flags.patch
+++ /dev/null
@@ -1,12 +0,0 @@
---- a/meson.build
-+++ b/meson.build
-@@ -52,9 +52,6 @@
- add_project_arguments(maintainer_c_args, language: 'cpp')
- endif
-
--# a few compiler warning flags we always want enabled
--add_project_arguments('-Werror=implicit-function-declaration', '-Wno-unused-parameter', language: 'c')
--add_project_arguments('-Wno-unused-parameter', language: 'cpp')
- add_project_arguments('-DAS_COMPILATION', language: 'c')
-
- # Vendor extensions in system headers
diff --git a/dev-libs/appstream/files/appstream-0.15.6-disable-Werror-flags.patch b/dev-libs/appstream/files/appstream-0.15.6-disable-Werror-flags.patch
new file mode 100644
index 000000000000..ca50493e4fd6
--- /dev/null
+++ b/dev-libs/appstream/files/appstream-0.15.6-disable-Werror-flags.patch
@@ -0,0 +1,46 @@
+--- a/meson.build 2022-12-22 23:48:12.000000000 +0100
++++ b/meson.build 2022-12-24 22:15:49.620891586 +0100
+@@ -95,43 +95,6 @@
+ endif
+ endif
+
+-# a few compiler warning flags we always want enabled
+-add_project_arguments(
+- cc.get_supported_arguments([
+- '-Werror=shadow',
+- '-Werror=empty-body',
+- '-Werror=strict-prototypes',
+- '-Werror=missing-prototypes',
+- '-Werror=implicit-function-declaration',
+- '-Werror=pointer-arith',
+- '-Werror=missing-declarations',
+- '-Werror=return-type',
+- '-Werror=int-conversion',
+- '-Werror=incompatible-pointer-types',
+- '-Werror=misleading-indentation',
+- '-Werror=missing-include-dirs',
+- '-Werror=declaration-after-statement',
+- '-Werror=format-security',
+-
+- '-Wno-missing-field-initializers',
+- '-Wno-error=missing-field-initializers',
+- '-Wno-unused-parameter',
+- '-Wno-error=unused-parameter',
+- ]),
+- language: 'c'
+-)
+-add_project_arguments(
+- '-Wno-unused-parameter',
+- '-Werror=shadow',
+- '-Werror=empty-body',
+- '-Werror=pointer-arith',
+- '-Werror=init-self',
+- '-Werror=missing-declarations',
+- '-Werror=return-type',
+- '-Werror=misleading-indentation',
+- '-Werror=format-security',
+- language: 'cpp'
+-)
+ add_project_arguments('-DAS_COMPILATION', language: 'c')
+
+ # Vendor extensions in system headers
diff --git a/dev-libs/appstream/files/appstream-0.16.4-disable-Werror-flags.patch b/dev-libs/appstream/files/appstream-0.16.4-disable-Werror-flags.patch
new file mode 100644
index 000000000000..e42c88e3bd31
--- /dev/null
+++ b/dev-libs/appstream/files/appstream-0.16.4-disable-Werror-flags.patch
@@ -0,0 +1,50 @@
+--- a/meson.build 2023-03-15 14:18:16.657101983 -0700
++++ b/meson.build 2023-03-15 14:21:20.055049626 -0700
+@@ -97,47 +97,6 @@
+ endif
+ endif
+
+-# a few compiler warning flags we always want enabled
+-add_project_arguments(
+- cc.get_supported_arguments([
+- '-Werror=shadow',
+- '-Werror=empty-body',
+- '-Werror=strict-prototypes',
+- '-Werror=missing-prototypes',
+- '-Werror=implicit-function-declaration',
+- '-Werror=pointer-arith',
+- '-Werror=missing-declarations',
+- '-Werror=return-type',
+- '-Werror=int-conversion',
+- '-Werror=incompatible-pointer-types',
+- '-Werror=misleading-indentation',
+- '-Werror=missing-include-dirs',
+- '-Werror=declaration-after-statement',
+- '-Werror=format-security',
+-
+- '-Wno-missing-field-initializers',
+- '-Wno-error=missing-field-initializers',
+- '-Wno-unused-parameter',
+- '-Wno-error=unused-parameter',
+- ]),
+- language: 'c'
+-)
+-add_project_arguments(
+- '-Wno-unused-parameter',
+- '-Werror=shadow',
+- '-Werror=empty-body',
+- '-Werror=pointer-arith',
+- '-Werror=init-self',
+- '-Werror=missing-declarations',
+- '-Werror=return-type',
+- '-Werror=misleading-indentation',
+- '-Werror=format-security',
+-
+- # NOTE: Can be removed with AppStream 1.0
+- '-Wno-error=c++20-compat',
+- language: 'cpp'
+-)
+-
+ # Vendor extensions in system headers
+ add_project_arguments('-D_POSIX_C_SOURCE=200809L', language: 'c')
+
diff --git a/dev-libs/appstream/files/appstream-1.0.0-disable-Werror-flags.patch b/dev-libs/appstream/files/appstream-1.0.0-disable-Werror-flags.patch
new file mode 100644
index 000000000000..309d365c28ec
--- /dev/null
+++ b/dev-libs/appstream/files/appstream-1.0.0-disable-Werror-flags.patch
@@ -0,0 +1,47 @@
+--- a/meson.build
++++ b/meson.build
+@@ -90,44 +90,6 @@
+ endif
+ endif
+
+-# a few compiler warning flags we always want enabled
+-add_project_arguments(
+- cc.get_supported_arguments([
+- '-Werror=shadow',
+- '-Werror=empty-body',
+- '-Werror=strict-prototypes',
+- '-Werror=missing-prototypes',
+- '-Werror=implicit-function-declaration',
+- '-Werror=pointer-arith',
+- '-Werror=missing-declarations',
+- '-Werror=return-type',
+- '-Werror=int-conversion',
+- '-Werror=incompatible-pointer-types',
+- '-Werror=misleading-indentation',
+- '-Werror=missing-include-dirs',
+- '-Werror=declaration-after-statement',
+- '-Werror=format-security',
+-
+- '-Wno-missing-field-initializers',
+- '-Wno-error=missing-field-initializers',
+- '-Wno-unused-parameter',
+- '-Wno-error=unused-parameter',
+- ]),
+- language: 'c'
+-)
+-add_project_arguments(
+- '-Wno-unused-parameter',
+- '-Werror=empty-body',
+- '-Werror=pointer-arith',
+- '-Werror=init-self',
+- '-Werror=missing-declarations',
+- '-Werror=return-type',
+- '-Werror=misleading-indentation',
+- '-Werror=format-security',
+-
+- language: 'cpp'
+-)
+-
+ # Vendor extensions in system headers
+ if host_machine.system() != 'netbsd'
+ # on NetBSD, defining POSIX_C_SOURCE *removes* non-POSIX symbols from namespace,
diff --git a/dev-libs/apr-util/Manifest b/dev-libs/apr-util/Manifest
index 3759f954dca7..55721b0e12da 100644
--- a/dev-libs/apr-util/Manifest
+++ b/dev-libs/apr-util/Manifest
@@ -1 +1 @@
-DIST apr-util-1.6.1.tar.bz2 428595 BLAKE2B ab6eaf1594aaa1c7aae151319b630b83bdb8b68ec04f0e2b429b7c7789bdf274873270200ba43701359e2502d2be8624d8e42a56a5f399ec95a841e7c73ce706 SHA512 40eff8a37c0634f7fdddd6ca5e596b38de15fd10767a34c30bbe49c632816e8f3e1e230678034f578dd5816a94f246fb5dfdf48d644829af13bf28de3225205d
+DIST apr-util-1.6.3.tar.bz2 432692 BLAKE2B 5eb56c45ba9d87ff3e3769439a3a9a858a1947de68b34892c729f39736fc41117a41c630c3c4cfb07b444c4ee0d5853ec5be158e8fa0b0c0ab89f0cb51cc9c6d SHA512 8050a481eeda7532ef3751dbd8a5aa6c48354d52904a856ef9709484f4b0cc2e022661c49ddf55ec58253db22708ee0607dfa7705d9270e8fee117ae4f06a0fe
diff --git a/dev-libs/apr-util/apr-util-1.6.1-r7.ebuild b/dev-libs/apr-util/apr-util-1.6.1-r7.ebuild
deleted file mode 100644
index 5b5a167a75f1..000000000000
--- a/dev-libs/apr-util/apr-util-1.6.1-r7.ebuild
+++ /dev/null
@@ -1,147 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-# Usually apr-util has the same PV as apr, but in case of security fixes, this may change.
-# APR_PV="${PV}"
-APR_PV="1.6.2"
-
-inherit autotools db-use libtool multilib toolchain-funcs
-
-DESCRIPTION="Apache Portable Runtime Utility Library"
-HOMEPAGE="https://apr.apache.org/"
-SRC_URI="mirror://apache/apr/${P}.tar.bz2"
-
-LICENSE="Apache-2.0"
-SLOT="1"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-IUSE="berkdb doc gdbm ldap mysql nss odbc openssl postgres sqlite static-libs"
-#RESTRICT="test"
-
-RDEPEND="
- >=dev-libs/apr-${APR_PV}:1=
- dev-libs/expat
- virtual/libcrypt:=
- berkdb? ( >=sys-libs/db-4:= )
- gdbm? ( sys-libs/gdbm:= )
- ldap? ( =net-nds/openldap-2* )
- mysql? ( || (
- dev-db/mariadb-connector-c
- >=dev-db/mysql-connector-c-8
- ) )
- nss? ( dev-libs/nss )
- odbc? ( dev-db/unixODBC )
- openssl? (
- dev-libs/openssl:0=
- )
- postgres? ( dev-db/postgresql:= )
- sqlite? ( dev-db/sqlite:3 )
-"
-DEPEND="
- ${RDEPEND}
- >=sys-devel/libtool-2.4.2
- doc? ( app-doc/doxygen )
-"
-
-DOCS=(CHANGES NOTICE README)
-
-PATCHES=(
- "${FILESDIR}"/${PN}-1.5.3-sysroot.patch #385775
- "${FILESDIR}"/${PN}-1.6.1-fix-gdbm-error-handling.patch
- "${FILESDIR}"/${PN}-1.6.1-mariadb-support.patch
- "${FILESDIR}"/${PN}-1.6.1-my_bool.patch
- "${FILESDIR}"/${PN}-1.6.1-drop-my_init.patch
-)
-
-src_prepare() {
- default
-
- # Fix usage of libmysqlclient (bug #620230)
- grep -lrF "libmysqlclient_r" "${S}" \
- | xargs sed 's@libmysqlclient_r@libmysqlclient@g' -i \
- || die
-
- mv configure.{in,ac} || die
- eautoreconf
- elibtoolize
-}
-
-src_configure() {
- local myconf=(
- --datadir="${EPREFIX}"/usr/share/apr-util-1
- --with-apr="${SYSROOT}${EPREFIX}"/usr
- --with-expat="${EPREFIX}"/usr
- --without-sqlite2
- $(use_with gdbm)
- $(use_with ldap)
- $(use_with mysql)
- $(use_with nss)
- $(use_with odbc)
- $(use_with openssl)
- $(use_with postgres pgsql)
- $(use_with sqlite sqlite3)
- )
-
- tc-is-static-only && myconf+=( --disable-util-dso )
-
- if use berkdb; then
- local db_version
- db_version="$(db_findver sys-libs/db)" || die "Unable to find Berkeley DB version"
- db_version="$(db_ver_to_slot "${db_version}")"
- db_version="${db_version/\./}"
- myconf+=(
- --with-dbm=db${db_version}
- # We use $T for the libdir because otherwise it'd simply be the normal
- # system libdir. That's pointless as the compiler will search it for
- # us already. This makes cross-compiling and such easier.
- --with-berkeley-db="${SYSROOT}$(db_includedir 2>/dev/null):${T}"
- )
- else
- myconf+=( --without-berkeley-db )
- fi
-
- if use nss || use openssl ; then
- myconf+=( --with-crypto ) # 518708
- fi
-
- econf "${myconf[@]}"
- # Use the current env build settings rather than whatever apr was built with.
- sed -i -r \
- -e "/^(apr_builddir|apr_builders|top_builddir)=/s:=:=${SYSROOT}:" \
- -e "/^CC=/s:=.*:=$(tc-getCC):" \
- -e '/^(C|CPP|CXX|LD)FLAGS=/d' \
- -e '/^LTFLAGS/s:--silent::' \
- build/rules.mk || die
-}
-
-src_compile() {
- emake
- use doc && emake dox
-}
-
-src_test() {
- # Building tests in parallel is broken
- emake -j1 check
-}
-
-src_install() {
- default
-
- find "${ED}" -name "*.la" -delete || die
- if [[ -d "${ED}/usr/$(get_libdir)/apr-util-${SLOT}" ]] ; then
- find "${ED}/usr/$(get_libdir)/apr-util-${SLOT}" -name "*.a" -delete || die
- fi
- if ! use static-libs ; then
- find "${ED}" -name "*.a" -not -name "*$(get_libname)" -delete || die
- fi
-
- if use doc ; then
- docinto html
- dodoc -r docs/dox/html/*
- fi
-
- # This file is only used on AIX systems, which Gentoo is not,
- # and causes collisions between the SLOTs, so remove it.
- rm "${ED}/usr/$(get_libdir)/aprutil.exp" || die
-}
diff --git a/dev-libs/apr-util/apr-util-1.6.3.ebuild b/dev-libs/apr-util/apr-util-1.6.3.ebuild
new file mode 100644
index 000000000000..a51041c8b6f0
--- /dev/null
+++ b/dev-libs/apr-util/apr-util-1.6.3.ebuild
@@ -0,0 +1,147 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# Usually apr-util has the same PV as apr, but in case of security fixes, this may change.
+# APR_PV="${PV}"
+APR_PV="1.7.2"
+
+inherit autotools db-use multilib toolchain-funcs
+
+DESCRIPTION="Apache Portable Runtime Utility Library"
+HOMEPAGE="https://apr.apache.org/"
+SRC_URI="mirror://apache/apr/${P}.tar.bz2"
+
+LICENSE="Apache-2.0"
+SLOT="1"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
+IUSE="berkdb doc gdbm ldap mysql nss odbc openssl postgres sqlite static-libs"
+
+RDEPEND="
+ >=dev-libs/apr-${APR_PV}:1=
+ dev-libs/expat
+ virtual/libcrypt:=
+ berkdb? ( >=sys-libs/db-4:= )
+ gdbm? ( sys-libs/gdbm:= )
+ ldap? ( net-nds/openldap:= )
+ mysql? (
+ || (
+ dev-db/mariadb-connector-c
+ >=dev-db/mysql-connector-c-8
+ )
+ )
+ nss? ( dev-libs/nss )
+ odbc? ( dev-db/unixODBC )
+ openssl? ( dev-libs/openssl:= )
+ postgres? ( dev-db/postgresql:= )
+ sqlite? ( dev-db/sqlite:3 )
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ >=dev-build/libtool-2.4.2
+ doc? ( app-text/doxygen )
+"
+
+DOCS=( CHANGES NOTICE README )
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-1.5.3-sysroot.patch # bug #385775
+ "${FILESDIR}"/${PN}-1.6.1-libtool.patch # bug #779487
+ "${FILESDIR}"/${PN}-1.6.1-my_bool.patch
+ "${FILESDIR}"/${PN}-1.6.1-drop-my_init.patch
+ "${FILESDIR}"/${PN}-1.6.3-fix-pkgconfig-libs.patch
+ "${FILESDIR}"/${PN}-1.6.3-configure-int.patch
+)
+
+src_prepare() {
+ default
+
+ # Fix usage of libmysqlclient (bug #620230)
+ grep -lrF "libmysqlclient_r" "${S}" \
+ | xargs sed 's@libmysqlclient_r@libmysqlclient@g' -i \
+ || die
+
+ mv configure.{in,ac} || die
+ eautoreconf
+}
+
+src_configure() {
+ local myconf=(
+ --datadir="${EPREFIX}"/usr/share/apr-util-1
+ --with-apr="${ESYSROOT}"/usr
+ --with-expat="${EPREFIX}"/usr
+ --without-sqlite2
+ $(use_with gdbm)
+ $(use_with ldap)
+ $(use_with mysql)
+ $(use_with nss)
+ $(use_with odbc)
+ $(use_with openssl)
+ $(use_with postgres pgsql)
+ $(use_with sqlite sqlite3)
+ )
+
+ tc-is-static-only && myconf+=( --disable-util-dso )
+
+ if use berkdb; then
+ local db_version
+ db_version="$(db_findver sys-libs/db)" || die "Unable to find Berkeley DB version"
+ db_version="$(db_ver_to_slot "${db_version}")"
+ db_version="${db_version/\./}"
+ myconf+=(
+ --with-dbm=db${db_version}
+ # We use ${T} for the libdir because otherwise it'd simply be the normal
+ # system libdir. That's pointless as the compiler will search it for
+ # us already. This makes cross-compiling and such easier.
+ --with-berkeley-db="$(db_includedir 2>/dev/null):${T}"
+ )
+ else
+ myconf+=( --without-berkeley-db )
+ fi
+
+ if use nss || use openssl ; then
+ # bug #518708
+ myconf+=( --with-crypto )
+ fi
+
+ econf "${myconf[@]}"
+
+ # Use the current env build settings rather than whatever apr was built with.
+ sed -i -r \
+ -e "/^(apr_builddir|apr_builders|top_builddir)=/s:=:=${SYSROOT}:" \
+ -e "/^CC=/s:=.*:=$(tc-getCC):" \
+ -e '/^LTFLAGS/s:--silent::' \
+ build/rules.mk || die
+}
+
+src_compile() {
+ emake all $(usev doc dox)
+}
+
+src_test() {
+ # Building tests in parallel is broken
+ emake -j1 check
+}
+
+src_install() {
+ default
+
+ find "${ED}" -name "*.la" -delete || die
+ if [[ -d "${ED}/usr/$(get_libdir)/apr-util-${SLOT}" ]] ; then
+ find "${ED}/usr/$(get_libdir)/apr-util-${SLOT}" -name "*.a" -delete || die
+ fi
+
+ if ! use static-libs ; then
+ find "${ED}" -name "*.a" -not -name "*$(get_libname)" -delete || die
+ fi
+
+ if use doc ; then
+ docinto html
+ dodoc -r docs/dox/html/*
+ fi
+
+ # This file is only used on AIX systems, which Gentoo is not,
+ # and causes collisions between the SLOTs, so remove it.
+ rm "${ED}/usr/$(get_libdir)/aprutil.exp" || die
+}
diff --git a/dev-libs/apr-util/files/apr-util-1.6.1-fix-gdbm-error-handling.patch b/dev-libs/apr-util/files/apr-util-1.6.1-fix-gdbm-error-handling.patch
deleted file mode 100644
index 92a4738e66a5..000000000000
--- a/dev-libs/apr-util/files/apr-util-1.6.1-fix-gdbm-error-handling.patch
+++ /dev/null
@@ -1,79 +0,0 @@
-# https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=889170
-# needs to be submitted upstream
---- apr-util.orig/dbm/apr_dbm_gdbm.c
-+++ apr-util/dbm/apr_dbm_gdbm.c
-@@ -36,13 +36,22 @@
- static apr_status_t g2s(int gerr)
- {
- if (gerr == -1) {
-- /* ### need to fix this */
-- return APR_EGENERAL;
-+ return APR_OS_START_USEERR + gdbm_errno;
- }
-
- return APR_SUCCESS;
- }
-
-+static apr_status_t gdat2s(datum d)
-+{
-+ if (d.dptr == NULL) {
-+ return APR_OS_START_USEERR + gdbm_errno;
-+ }
-+
-+ return APR_SUCCESS;
-+}
-+
-+
- static apr_status_t datum_cleanup(void *dptr)
- {
- if (dptr)
-@@ -55,19 +64,15 @@ static apr_status_t set_error(apr_dbm_t
- {
- apr_status_t rv = APR_SUCCESS;
-
-- /* ### ignore whatever the DBM said (dbm_said); ask it explicitly */
--
-- if ((dbm->errcode = gdbm_errno) == GDBM_NO_ERROR) {
-+ if (dbm_said == APR_SUCCESS) {
-+ dbm->errcode = GDBM_NO_ERROR;
- dbm->errmsg = NULL;
- }
- else {
-+ dbm->errcode = dbm_said;
- dbm->errmsg = gdbm_strerror(gdbm_errno);
-- rv = APR_EGENERAL; /* ### need something better */
- }
-
-- /* captured it. clear it now. */
-- gdbm_errno = GDBM_NO_ERROR;
--
- return rv;
- }
-
-@@ -144,7 +149,7 @@ static apr_status_t vt_gdbm_fetch(apr_db
-
- /* store the error info into DBM, and return a status code. Also, note
- that *pvalue should have been cleared on error. */
-- return set_error(dbm, APR_SUCCESS);
-+ return set_error(dbm, gdat2s(rd));
- }
-
- static apr_status_t vt_gdbm_store(apr_dbm_t *dbm, apr_datum_t key,
-@@ -203,7 +208,7 @@ static apr_status_t vt_gdbm_firstkey(apr
- apr_pool_cleanup_null);
-
- /* store any error info into DBM, and return a status code. */
-- return set_error(dbm, APR_SUCCESS);
-+ return set_error(dbm, gdat2s(rd));
- }
-
- static apr_status_t vt_gdbm_nextkey(apr_dbm_t *dbm, apr_datum_t *pkey)
-@@ -223,7 +228,7 @@ static apr_status_t vt_gdbm_nextkey(apr_
- apr_pool_cleanup_null);
-
- /* store any error info into DBM, and return a status code. */
-- return set_error(dbm, APR_SUCCESS);
-+ return set_error(dbm, gdat2s(rd));
- }
-
- static void vt_gdbm_freedatum(apr_dbm_t *dbm, apr_datum_t data)
diff --git a/dev-libs/apr-util/files/apr-util-1.6.1-libtool.patch b/dev-libs/apr-util/files/apr-util-1.6.1-libtool.patch
new file mode 100644
index 000000000000..5c2015b64fd7
--- /dev/null
+++ b/dev-libs/apr-util/files/apr-util-1.6.1-libtool.patch
@@ -0,0 +1,20 @@
+https://bugs.gentoo.org/779487
+
+From: orbea <orbea@riseup.net>
+Date: Sat, 18 Jun 2022 20:20:09 -0700
+Subject: [PATCH] configure: Add missing LT_INIT
+
+This fixes the build with rlibtool which requires the generated libtool
+to determine if building shared or static libraries.
+
+--- a/configure.in
++++ b/configure.in
+@@ -8,6 +8,8 @@ AC_INIT(export_vars.sh.in)
+ AC_CONFIG_HEADER(include/private/apu_config.h)
+ AC_CONFIG_AUX_DIR(build)
+
++LT_INIT
++
+ sinclude(build/apu-conf.m4)
+ sinclude(build/apu-iconv.m4)
+ sinclude(build/apu-hints.m4)
diff --git a/dev-libs/apr-util/files/apr-util-1.6.1-mariadb-support.patch b/dev-libs/apr-util/files/apr-util-1.6.1-mariadb-support.patch
deleted file mode 100644
index 137e99f97637..000000000000
--- a/dev-libs/apr-util/files/apr-util-1.6.1-mariadb-support.patch
+++ /dev/null
@@ -1,116 +0,0 @@
-Backport of http://svn.apache.org/viewvc?rev=1872060&view=rev
-
---- a/build/dbd.m4
-+++ b/build/dbd.m4
-@@ -163,10 +163,15 @@ AC_DEFUN([APU_CHECK_DBD_MYSQL], [
- old_cppflags="$CPPFLAGS"
- old_ldflags="$LDFLAGS"
-
-+ my_library="mysqlclient"
-+
- AC_ARG_WITH([mysql], APR_HELP_STRING([--with-mysql=DIR], [enable MySQL DBD driver]),
- [
- if test "$withval" = "yes"; then
- AC_PATH_PROG([MYSQL_CONFIG],[mysql_config])
-+ if test "x$MYSQL_CONFIG" = "x"; then
-+ AC_PATH_TOOL([MYSQL_CONFIG],[mariadb_config])
-+ fi
- if test "x$MYSQL_CONFIG" != 'x'; then
- mysql_CPPFLAGS="`$MYSQL_CONFIG --include`"
- mysql_LDFLAGS="`$MYSQL_CONFIG --libs_r | sed -e 's/-l[[^ ]]\+//g'`"
-@@ -174,29 +179,37 @@ AC_DEFUN([APU_CHECK_DBD_MYSQL], [
-
- APR_ADDTO(CPPFLAGS, [$mysql_CPPFLAGS])
- APR_ADDTO(LIBS, [$mysql_LIBS])
-+
-+ if $MYSQL_CONFIG --libs_r | grep -q mariadb; then
-+ my_library="mariadb"
-+ fi
- fi
-
-- AC_CHECK_HEADERS([mysql.h my_global.h my_sys.h],
-- AC_CHECK_LIB(mysqlclient, mysql_init, [apu_have_mysql=1]),
-- [apu_have_mysql=0; break],
-- [#include <my_global.h>])
-- if test "$apu_have_mysql" = "0"; then
-- AC_CHECK_HEADERS([mysql/mysql.h mysql/my_global.h mysql/my_sys.h],
-- AC_CHECK_LIB(mysqlclient, mysql_init, [apu_have_mysql=1]),
-- [apu_have_mysql=0; break],
-- [#include <mysql/my_global.h>])
-+ AC_CHECK_HEADERS([mysql.h errmsg.h], [apu_have_mysql=1], [apu_have_mysql=0; break])
-+ if test "$apr_have_mysql" = "0"; then
-+ AC_CHECK_HEADERS([mysql/mysql.h mysql/errmsg.h], [apu_have_mysql=1], [apu_have_mysql=0; break])
- fi
-- if test "$apu_have_mysql" != "0" && test "x$MYSQL_CONFIG" != 'x'; then
-+ if test "$apr_have_mysql" = "1"; then
-+ AC_CHECK_HEADERS([my_global.h my_sys.h mysql/my_global.h mysql/my_sys.h])
-+ AC_CHECK_LIB($my_library, mysql_init,, [apu_have_mysql=0])
-+ fi
-+ if test "$apu_have_mysql" = "1" && test "x$MYSQL_CONFIG" != 'x'; then
- APR_ADDTO(APRUTIL_PRIV_INCLUDES, [$mysql_CPPFLAGS])
- fi
- elif test "$withval" = "no"; then
- :
- else
- AC_PATH_PROG([MYSQL_CONFIG],[mysql_config],,[$withval/bin])
-+ if test "x$MYSQL_CONFIG" = "x"; then
-+ AC_PATH_TOOL([MYSQL_CONFIG],[mariadb_config],,[$withval/bin])
-+ fi
- if test "x$MYSQL_CONFIG" != 'x'; then
- mysql_CPPFLAGS="`$MYSQL_CONFIG --include`"
- mysql_LDFLAGS="`$MYSQL_CONFIG --libs_r | sed -e 's/-l[[^ ]]\+//g'`"
- mysql_LIBS="`$MYSQL_CONFIG --libs_r`"
-+ if $MYSQL_CONFIG --libs_r | grep -q mariadb; then
-+ my_library="mariadb"
-+ fi
- else
- mysql_CPPFLAGS="-I$withval/include"
- mysql_LDFLAGS="-L$withval/lib "
-@@ -207,18 +220,15 @@ AC_DEFUN([APU_CHECK_DBD_MYSQL], [
- APR_ADDTO(LIBS, [$mysql_LIBS])
-
- AC_MSG_NOTICE(checking for mysql in $withval)
-- AC_CHECK_HEADERS([mysql.h my_global.h my_sys.h],
-- AC_CHECK_LIB(mysqlclient, mysql_init, [apu_have_mysql=1]),
-- [apu_have_mysql=0; break],
-- [#include <my_global.h>])
--
-- if test "$apu_have_mysql" != "1"; then
-- AC_CHECK_HEADERS([mysql/mysql.h mysql/my_global.h mysql/my_sys.h],
-- AC_CHECK_LIB(mysqlclient, mysql_init, [apu_have_mysql=1]),
-- [apu_have_mysql=0; break],
-- [#include <mysql/my_global.h>])
-+ AC_CHECK_HEADERS([mysql.h errmsg.h], [apu_have_mysql=1], [apu_have_mysql=0; break])
-+ if test "$apr_have_mysql" = "0"; then
-+ AC_CHECK_HEADERS([mysql/mysql.h mysql/errmsg.h], [apu_have_mysql=1], [apu_have_mysql=0; break])
-+ fi
-+ if test "$apr_have_mysql" = "1"; then
-+ AC_CHECK_HEADERS([my_global.h my_sys.h mysql/my_global.h mysql/my_sys.h])
-+ AC_CHECK_LIB($my_library, mysql_init,, [apu_have_mysql=0])
- fi
-- if test "$apu_have_mysql" != "0"; then
-+ if test "$apu_have_mysql" = "1"; then
- APR_ADDTO(APRUTIL_PRIV_INCLUDES, [$mysql_CPPFLAGS])
- fi
- fi
-@@ -229,7 +239,7 @@ AC_DEFUN([APU_CHECK_DBD_MYSQL], [
- dnl Since we have already done the AC_CHECK_LIB tests, if we have it,
- dnl we know the library is there.
- if test "$apu_have_mysql" = "1"; then
-- APR_ADDTO(LDADD_dbd_mysql, [$mysql_LDFLAGS -lmysqlclient $mysql_LIBS])
-+ APR_ADDTO(LDADD_dbd_mysql, [$mysql_LDFLAGS -l$my_library $mysql_LIBS])
- fi
- AC_SUBST(LDADD_dbd_mysql)
-
---- a/dbd/apr_dbd_mysql.c
-+++ b/dbd/apr_dbd_mysql.c
-@@ -1262,7 +1262,9 @@ static apr_status_t thread_end(void *data)
-
- static void dbd_mysql_init(apr_pool_t *pool)
- {
-+#if MYSQL_VERSION_ID < 100000
- my_init();
-+#endif
- mysql_thread_init();
-
- /* FIXME: this is a guess; find out what it really does */
diff --git a/dev-libs/apr-util/files/apr-util-1.6.3-configure-int.patch b/dev-libs/apr-util/files/apr-util-1.6.3-configure-int.patch
new file mode 100644
index 000000000000..fd394adbe309
--- /dev/null
+++ b/dev-libs/apr-util/files/apr-util-1.6.3-configure-int.patch
@@ -0,0 +1,28 @@
+commit 4286faefa6fe9ee83e30bacd4e4c498981ac92b7
+Author: jorton <jorton@13f79535-47bb-0310-9956-ffa450edef68>
+Date: Fri Feb 3 16:36:17 2023 +0000
+
+ Merge r1906347 from trunk:
+
+ Fix configure for compilers which don't accept implicit
+ int (no longer part of C since C99).
+
+ Submitted by: Florian Weimer <fweimer redhat.com>
+ PR: 66396
+
+
+ git-svn-id: https://svn.apache.org/repos/asf/apr/apr-util/branches/1.6.x@1907246 13f79535-47bb-0310-9956-ffa450edef68
+
+diff --git a/build/dbm.m4 b/build/dbm.m4
+index 57bd131..e8c51b5 100644
+--- a/build/dbm.m4
++++ b/build/dbm.m4
+@@ -235,7 +235,7 @@ AC_DEFUN([APU_TRY_BERKELEY_DB],
+ #include <stdlib.h>
+ #include <stdio.h>
+ #include <$apu_try_berkeley_db_header>
+-main ()
++int main (void)
+ {
+ int major, minor, patch;
+
diff --git a/dev-libs/apr-util/files/apr-util-1.6.3-fix-pkgconfig-libs.patch b/dev-libs/apr-util/files/apr-util-1.6.3-fix-pkgconfig-libs.patch
new file mode 100644
index 000000000000..06c8e5d2eb07
--- /dev/null
+++ b/dev-libs/apr-util/files/apr-util-1.6.3-fix-pkgconfig-libs.patch
@@ -0,0 +1,29 @@
+https://bugs.gentoo.org/811765
+https://sources.debian.org/patches/apr-util/1.6.3-1/apu_config_dont_list_indep_libs.patch/
+
+From: Peter Samuelson <peter@p12n.org>
+Subject: Prevent recursive linking of dependent libraries by apr-util users.
+
+--- a/apr-util.pc.in
++++ b/apr-util.pc.in
+@@ -8,6 +8,7 @@ Name: APR Utils
+ Description: Companion library for APR
+ Version: @APRUTIL_DOTTED_VERSION@
+ # assume that apr-util requires libapr of same major version
+-Requires: apr-@APRUTIL_MAJOR_VERSION@
+-Libs: -L${libdir} -l@APRUTIL_LIBNAME@ @LDADD_ldap@ @APRUTIL_EXPORT_LIBS@
++Requires.private: apr-@APRUTIL_MAJOR_VERSION@
++Libs: -L${libdir} -l@APRUTIL_LIBNAME@ @LDADD_ldap@
++Libs.private: @APRUTIL_EXPORT_LIBS@
+ Cflags: -I${includedir}
+--- a/apu-config.in
++++ b/apu-config.in
+@@ -27,7 +27,7 @@ bindir="@bindir@"
+ libdir="@libdir@"
+ includedir="${SYSROOT}@includedir@"
+
+-LIBS="@APRUTIL_EXPORT_LIBS@"
++LIBS=
+ INCLUDES="@APRUTIL_INCLUDES@"
+ LDFLAGS="@APRUTIL_LDFLAGS@"
+ LDAP_LIBS="@LDADD_ldap@"
diff --git a/dev-libs/apr-util/metadata.xml b/dev-libs/apr-util/metadata.xml
index d9ea02b8ec60..628ac167792d 100644
--- a/dev-libs/apr-util/metadata.xml
+++ b/dev-libs/apr-util/metadata.xml
@@ -1,12 +1,15 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <email>polynomial-c@gentoo.org</email>
- <name>Lars Wendler</name>
+ <maintainer type="project">
+ <email>apache-bugs@gentoo.org</email>
+ <name>Apache project</name>
</maintainer>
<use>
<flag name="nss">Install apr_crypto_nss module</flag>
<flag name="openssl">Install apr_crypto_openssl module</flag>
</use>
+ <upstream>
+ <remote-id type="github">apache/apr-util</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/dev-libs/apr/Manifest b/dev-libs/apr/Manifest
index d237c17a11d5..8018bcb43871 100644
--- a/dev-libs/apr/Manifest
+++ b/dev-libs/apr/Manifest
@@ -1,3 +1 @@
-DIST apr-1.6.3.tar.bz2 854100 BLAKE2B ac3d38ef201d92bb2e50a35b6f41de6120e6196f1412377eae56f013dfebbe7fe8461fcd4e5e82be275bde51253a7f1c5f708e780203382b64fe61637d97226c SHA512 f6b8679ae7fafff793c825c78775c84a646267c441710a50664589850e13148719b4eab48ab6e7c95b7aed085cff831115687434a7b160dcc2faa0eae63ac996
-DIST apr-1.6.5.tar.bz2 855393 BLAKE2B ee01a841aaf5e98175c77e406baebcd82a2148bb8220f2cfac00d91dff38525606bb0f66ecb549eb6edf1fece53cb4eec4876423a864f09ce42bd0d999dc77e6 SHA512 d3511e320457b5531f565813e626e7941f6b82864852db6aa03dd298a65dbccdcdc4bd580f5314f8be45d268388edab25efe88cf8340b7d2897a4dbe9d0a41fc
-DIST apr-1.7.0.tar.bz2 872238 BLAKE2B a8750c45ca6495073a7120f3ae9b858905aecb24b6af5966c3900b06ac1f6d6b55346b17a39a9604cf1b595882335adedf8c8cf4db10e322501bfff4ad7adfe7 SHA512 3dc42d5caf17aab16f5c154080f020d5aed761e22db4c5f6506917f6bfd2bf8becfb40af919042bd4ce1077d5de74aa666f5edfba7f275efba78e8893c115148
+DIST apr-1.7.4.tar.bz2 894526 BLAKE2B a93b9d3f2c46fe0a34ce1d544e7a43ba40720e2fae8b8a7d0957413ac695057902378dbf96f067ced7486da86c8e513b7fbd48fa79839efeeb40a3295fe2d3df SHA512 2342c997765ea2ca96eac158e5fd260232dba68fc41b90a79a7ba9b25c539fc217981867362090e0ebebe632289257c342275e3c5baedb698c474ef8f49a9dcd
diff --git a/dev-libs/apr/apr-1.6.3-r7.ebuild b/dev-libs/apr/apr-1.6.3-r7.ebuild
deleted file mode 100644
index ab54bd385307..000000000000
--- a/dev-libs/apr/apr-1.6.3-r7.ebuild
+++ /dev/null
@@ -1,164 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit autotools libtool toolchain-funcs
-
-DESCRIPTION="Apache Portable Runtime Library"
-HOMEPAGE="https://apr.apache.org/"
-SRC_URI="mirror://apache/apr/${P}.tar.bz2"
-
-LICENSE="Apache-2.0"
-SLOT="1/${PV%.*}"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ppc ppc64 ~s390 sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-IUSE="doc older-kernels-compatibility selinux static-libs +urandom"
-
-# See bug #815265 for libcrypt dependency
-CDEPEND="virtual/libcrypt:=
- elibc_glibc? ( >=sys-apps/util-linux-2.16 )"
-RDEPEND="${CDEPEND}
- selinux? ( sec-policy/selinux-base-policy )"
-DEPEND="${CDEPEND}
- >=sys-devel/libtool-2.4.2
- doc? ( app-doc/doxygen )"
-
-DOCS=( CHANGES NOTICE README )
-
-PATCHES=(
- "${FILESDIR}"/${PN}-1.5.0-mint.patch
- "${FILESDIR}"/${PN}-1.5.0-libtool.patch
- "${FILESDIR}"/${PN}-1.5.0-cross-types.patch
- "${FILESDIR}"/${PN}-1.5.0-sysroot.patch #385775
- "${FILESDIR}"/${PN}-1.6.3-fix-overflow-check-in-overflow_strfsize.patch
- "${FILESDIR}"/${PN}-1.6.3-skip-known-failing-tests.patch
-)
-
-src_prepare() {
- default
-
- mv configure.in configure.ac || die
- AT_M4DIR="build" eautoreconf
- elibtoolize
-
- eapply "${FILESDIR}/config.layout.patch"
-}
-
-src_configure() {
- local myconf=(
- --enable-layout=gentoo
- --enable-nonportable-atomics
- --enable-posix-shm
- --enable-threads
- $(use_enable static-libs static)
- --with-installbuilddir=/usr/share/${PN}/build
- )
-
- if use older-kernels-compatibility; then
- local apr_cv_accept4 apr_cv_dup3 apr_cv_epoll_create1 apr_cv_sock_cloexec
- export apr_cv_accept4="no"
- export apr_cv_dup3="no"
- export apr_cv_epoll_create1="no"
- export apr_cv_sock_cloexec="no"
- fi
- if tc-is-cross-compiler; then
- # The apache project relies heavily on AC_TRY_RUN and doesn't
- # have any sane cross-compiling fallback logic.
- export \
- ac_cv_file__dev_zero="yes" \
- ac_cv_func_sem_open="yes" \
- ac_cv_negative_eai="yes" \
- ac_cv_o_nonblock_inherited="no" \
- ac_cv_struct_rlimit="yes" \
- ap_cv_atomic_builtins="yes" \
- apr_cv_accept4="yes" \
- apr_cv_dup3="yes" \
- apr_cv_epoll="yes" \
- apr_cv_epoll_create1="yes" \
- apr_cv_gai_addrconfig="yes" \
- apr_cv_mutex_recursive="yes" \
- apr_cv_mutex_robust_shared="yes" \
- apr_cv_process_shared_works="yes" \
- apr_cv_pthreads_lib="-pthread" \
- apr_cv_sock_cloexec="yes" \
- apr_cv_tcp_nodelay_with_cork="yes"
- fi
-
- if use urandom; then
- myconf+=( --with-devrandom=/dev/urandom )
- elif (( ${CHOST#*-hpux11.} <= 11 )); then
- : # no /dev/*random on hpux11.11 and before, ${PN} detects this.
- else
- myconf+=( --with-devrandom=/dev/random )
- fi
-
- tc-is-static-only && myconf+=( --disable-dso )
-
- # shl_load does not search runpath, but hpux11 supports dlopen
- [[ ${CHOST} == *-hpux11* ]] && myconf+=( --enable-dso=dlfcn )
-
- if [[ ${CHOST} == *-solaris2.10 ]]; then
- case $(<$([[ ${CHOST} != ${CBUILD} ]] && echo "${EPREFIX}/usr/${CHOST}")/usr/include/atomic.h) in
- *atomic_cas_ptr*) ;;
- *)
- elog "You do not have Solaris Patch ID "$(
- [[ ${CHOST} == sparc* ]] && echo 118884 || echo 118885
- )" (Problem 4954703) installed on your host ($(hostname)),"
- elog "using generic atomic operations instead."
- myconf+=( --disable-nonportable-atomics )
- ;;
- esac
- else
- if use ppc || use sparc || use mips; then
- # Avoid libapr containing undefined references (underlinked)
- # undefined reference to `__sync_val_compare_and_swap_8'
- # (May be possible to fix via libatomic linkage in future?)
- # bug #740464
- myconf+=( --disable-nonportable-atomics )
- fi
- fi
-
- econf "${myconf[@]}"
-}
-
-src_compile() {
- if tc-is-cross-compiler; then
- # This header is the same across targets, so use the build compiler.
- emake tools/gen_test_char
- tc-export_build_env BUILD_CC
- ${BUILD_CC} ${BUILD_CFLAGS} ${BUILD_CPPFLAGS} ${BUILD_LDFLAGS} \
- tools/gen_test_char.c -o tools/gen_test_char || die
- fi
-
- emake
-
- if use doc; then
- emake dox
- fi
-}
-
-src_test() {
- # Building tests in parallel is broken
- emake -j1 check
-}
-
-src_install() {
- default
-
- # Parallel install breaks since apr-1.5.1
- #make -j1 DESTDIR="${D}" install || die
-
- if ! use static-libs; then
- find "${ED%/}" -name '*.la' -delete || die
- fi
-
- if use doc; then
- docinto html
- dodoc -r docs/dox/html/*
- fi
-
- # This file is only used on AIX systems, which Gentoo is not,
- # and causes collisions between the SLOTs, so remove it.
- # Even in Prefix, we don't need this on AIX.
- rm -f "${ED%/}/usr/$(get_libdir)/apr.exp"
-}
diff --git a/dev-libs/apr/apr-1.6.5-r4.ebuild b/dev-libs/apr/apr-1.6.5-r4.ebuild
deleted file mode 100644
index 47fc612f3ec9..000000000000
--- a/dev-libs/apr/apr-1.6.5-r4.ebuild
+++ /dev/null
@@ -1,163 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit autotools libtool toolchain-funcs
-
-DESCRIPTION="Apache Portable Runtime Library"
-HOMEPAGE="https://apr.apache.org/"
-SRC_URI="mirror://apache/apr/${P}.tar.bz2"
-
-LICENSE="Apache-2.0"
-SLOT="1/${PV%.*}"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-IUSE="doc older-kernels-compatibility selinux static-libs +urandom"
-
-# See bug #815265 for libcrypt dependency
-CDEPEND="virtual/libcrypt:=
- elibc_glibc? ( >=sys-apps/util-linux-2.16 )"
-RDEPEND="${CDEPEND}
- selinux? ( sec-policy/selinux-base-policy )"
-DEPEND="${CDEPEND}
- >=sys-devel/libtool-2.4.2
- doc? ( app-doc/doxygen )"
-
-DOCS=( CHANGES NOTICE README )
-
-PATCHES=(
- "${FILESDIR}"/${PN}-1.5.0-mint.patch
- "${FILESDIR}"/${PN}-1.5.0-libtool.patch
- "${FILESDIR}"/${PN}-1.5.0-cross-types.patch
- "${FILESDIR}"/${PN}-1.5.0-sysroot.patch #385775
- "${FILESDIR}"/${PN}-1.6.3-skip-known-failing-tests.patch
-)
-
-src_prepare() {
- default
-
- mv configure.in configure.ac || die
- AT_M4DIR="build" eautoreconf
- elibtoolize
-
- eapply "${FILESDIR}/config.layout.patch"
-}
-
-src_configure() {
- local myconf=(
- --enable-layout=gentoo
- --enable-nonportable-atomics
- --enable-posix-shm
- --enable-threads
- $(use_enable static-libs static)
- --with-installbuilddir="${EPREFIX}"/usr/share/${PN}/build
- )
-
- if use older-kernels-compatibility; then
- local apr_cv_accept4 apr_cv_dup3 apr_cv_epoll_create1 apr_cv_sock_cloexec
- export apr_cv_accept4="no"
- export apr_cv_dup3="no"
- export apr_cv_epoll_create1="no"
- export apr_cv_sock_cloexec="no"
- fi
- if tc-is-cross-compiler; then
- # The apache project relies heavily on AC_TRY_RUN and doesn't
- # have any sane cross-compiling fallback logic.
- export \
- ac_cv_file__dev_zero="yes" \
- ac_cv_func_sem_open="yes" \
- ac_cv_negative_eai="yes" \
- ac_cv_o_nonblock_inherited="no" \
- ac_cv_struct_rlimit="yes" \
- ap_cv_atomic_builtins="yes" \
- apr_cv_accept4="yes" \
- apr_cv_dup3="yes" \
- apr_cv_epoll="yes" \
- apr_cv_epoll_create1="yes" \
- apr_cv_gai_addrconfig="yes" \
- apr_cv_mutex_recursive="yes" \
- apr_cv_mutex_robust_shared="yes" \
- apr_cv_process_shared_works="yes" \
- apr_cv_pthreads_lib="-pthread" \
- apr_cv_sock_cloexec="yes" \
- apr_cv_tcp_nodelay_with_cork="yes"
- fi
-
- if use urandom; then
- myconf+=( --with-devrandom=/dev/urandom )
- elif (( ${CHOST#*-hpux11.} <= 11 )); then
- : # no /dev/*random on hpux11.11 and before, ${PN} detects this.
- else
- myconf+=( --with-devrandom=/dev/random )
- fi
-
- tc-is-static-only && myconf+=( --disable-dso )
-
- # shl_load does not search runpath, but hpux11 supports dlopen
- [[ ${CHOST} == *-hpux11* ]] && myconf+=( --enable-dso=dlfcn )
-
- if [[ ${CHOST} == *-solaris2.10 ]]; then
- case $(<$([[ ${CHOST} != ${CBUILD} ]] && echo "${EPREFIX}/usr/${CHOST}")/usr/include/atomic.h) in
- *atomic_cas_ptr*) ;;
- *)
- elog "You do not have Solaris Patch ID "$(
- [[ ${CHOST} == sparc* ]] && echo 118884 || echo 118885
- )" (Problem 4954703) installed on your host ($(hostname)),"
- elog "using generic atomic operations instead."
- myconf+=( --disable-nonportable-atomics )
- ;;
- esac
- else
- if use ppc || use sparc || use mips; then
- # Avoid libapr containing undefined references (underlinked)
- # undefined reference to `__sync_val_compare_and_swap_8'
- # (May be possible to fix via libatomic linkage in future?)
- # bug #740464
- myconf+=( --disable-nonportable-atomics )
- fi
- fi
-
- econf "${myconf[@]}"
-}
-
-src_compile() {
- if tc-is-cross-compiler; then
- # This header is the same across targets, so use the build compiler.
- emake tools/gen_test_char
- tc-export_build_env BUILD_CC
- ${BUILD_CC} ${BUILD_CFLAGS} ${BUILD_CPPFLAGS} ${BUILD_LDFLAGS} \
- tools/gen_test_char.c -o tools/gen_test_char || die
- fi
-
- emake
-
- if use doc; then
- emake dox
- fi
-}
-
-src_test() {
- # Building tests in parallel is broken
- emake -j1 check
-}
-
-src_install() {
- default
-
- # Parallel install breaks since apr-1.5.1
- #make -j1 DESTDIR="${D}" install || die
-
- if ! use static-libs; then
- find "${ED%/}" -name '*.la' -delete || die
- fi
-
- if use doc; then
- docinto html
- dodoc -r docs/dox/html/*
- fi
-
- # This file is only used on AIX systems, which Gentoo is not,
- # and causes collisions between the SLOTs, so remove it.
- # Even in Prefix, we don't need this on AIX.
- rm -f "${ED%/}/usr/$(get_libdir)/apr.exp"
-}
diff --git a/dev-libs/apr/apr-1.7.0-r4.ebuild b/dev-libs/apr/apr-1.7.0-r4.ebuild
deleted file mode 100644
index deb46f4b9f16..000000000000
--- a/dev-libs/apr/apr-1.7.0-r4.ebuild
+++ /dev/null
@@ -1,161 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit autotools libtool toolchain-funcs
-
-DESCRIPTION="Apache Portable Runtime Library"
-HOMEPAGE="https://apr.apache.org/"
-SRC_URI="mirror://apache/apr/${P}.tar.bz2"
-
-LICENSE="Apache-2.0"
-SLOT="1/${PV%.*}"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-IUSE="doc older-kernels-compatibility selinux static-libs +urandom"
-
-# See bug #815265 for libcrypt dependency
-CDEPEND="virtual/libcrypt:=
- elibc_glibc? ( >=sys-apps/util-linux-2.16 )"
-RDEPEND="${CDEPEND}
- selinux? ( sec-policy/selinux-base-policy )"
-DEPEND="${CDEPEND}
- >=sys-devel/libtool-2.4.2
- doc? ( app-doc/doxygen )"
-
-DOCS=( CHANGES NOTICE README )
-
-PATCHES=(
- "${FILESDIR}"/${PN}-1.5.0-mint.patch
- "${FILESDIR}"/${PN}-1.5.0-libtool.patch
- "${FILESDIR}"/${PN}-1.5.0-cross-types.patch
- "${FILESDIR}"/${PN}-1.5.0-sysroot.patch #385775
- "${FILESDIR}"/${PN}-1.6.3-skip-known-failing-tests.patch
- "${FILESDIR}"/${PN}-1.7.0-autoconf-2.70.patch #750353
-)
-
-src_prepare() {
- default
-
- mv configure.in configure.ac || die
- AT_M4DIR="build" eautoreconf
- elibtoolize
-
- eapply "${FILESDIR}/config.layout.patch"
-}
-
-src_configure() {
- local myconf=(
- --enable-layout=gentoo
- --enable-nonportable-atomics
- --enable-posix-shm
- --enable-threads
- $(use_enable static-libs static)
- --with-installbuilddir="${EPREFIX}"/usr/share/${PN}/build
- )
-
- if use older-kernels-compatibility; then
- local apr_cv_accept4 apr_cv_dup3 apr_cv_epoll_create1 apr_cv_sock_cloexec
- export apr_cv_accept4="no"
- export apr_cv_dup3="no"
- export apr_cv_epoll_create1="no"
- export apr_cv_sock_cloexec="no"
- fi
- if tc-is-cross-compiler; then
- # The apache project relies heavily on AC_TRY_RUN and doesn't
- # have any sane cross-compiling fallback logic.
- export \
- ac_cv_file__dev_zero="yes" \
- ac_cv_func_sem_open="yes" \
- ac_cv_negative_eai="yes" \
- ac_cv_o_nonblock_inherited="no" \
- ac_cv_struct_rlimit="yes" \
- ap_cv_atomic_builtins="yes" \
- apr_cv_accept4="yes" \
- apr_cv_dup3="yes" \
- apr_cv_epoll="yes" \
- apr_cv_epoll_create1="yes" \
- apr_cv_gai_addrconfig="yes" \
- apr_cv_mutex_recursive="yes" \
- apr_cv_mutex_robust_shared="yes" \
- apr_cv_process_shared_works="yes" \
- apr_cv_pthreads_lib="-pthread" \
- apr_cv_sock_cloexec="yes" \
- apr_cv_tcp_nodelay_with_cork="yes"
- fi
-
- if use urandom; then
- myconf+=( --with-devrandom=/dev/urandom )
- elif (( ${CHOST#*-hpux11.} <= 11 )); then
- : # no /dev/*random on hpux11.11 and before, ${PN} detects this.
- else
- myconf+=( --with-devrandom=/dev/random )
- fi
-
- tc-is-static-only && myconf+=( --disable-dso )
-
- # shl_load does not search runpath, but hpux11 supports dlopen
- [[ ${CHOST} == *-hpux11* ]] && myconf+=( --enable-dso=dlfcn )
-
- if [[ ${CHOST} == *-solaris2.10 ]]; then
- case $(<$([[ ${CHOST} != ${CBUILD} ]] && echo "${EPREFIX}/usr/${CHOST}")/usr/include/atomic.h) in
- *atomic_cas_ptr*) ;;
- *)
- elog "You do not have Solaris Patch ID "$(
- [[ ${CHOST} == sparc* ]] && echo 118884 || echo 118885
- )" (Problem 4954703) installed on your host ($(hostname)),"
- elog "using generic atomic operations instead."
- myconf+=( --disable-nonportable-atomics )
- ;;
- esac
- else
- if use ppc || use sparc || use mips; then
- # Avoid libapr containing undefined references (underlinked)
- # undefined reference to `__sync_val_compare_and_swap_8'
- # (May be possible to fix via libatomic linkage in future?)
- # bug #740464
- myconf+=( --disable-nonportable-atomics )
- fi
- fi
-
- econf "${myconf[@]}"
-}
-
-src_compile() {
- if tc-is-cross-compiler; then
- # This header is the same across targets, so use the build compiler.
- emake tools/gen_test_char
- tc-export_build_env BUILD_CC
- ${BUILD_CC} ${BUILD_CFLAGS} ${BUILD_CPPFLAGS} ${BUILD_LDFLAGS} \
- tools/gen_test_char.c -o tools/gen_test_char || die
- fi
-
- emake
-
- if use doc; then
- emake dox
- fi
-}
-
-src_test() {
- # Building tests in parallel is broken
- emake -j1 check
-}
-
-src_install() {
- default
-
- if ! use static-libs; then
- find "${ED}" -name '*.la' -delete || die
- fi
-
- if use doc; then
- docinto html
- dodoc -r docs/dox/html/*
- fi
-
- # This file is only used on AIX systems, which Gentoo is not,
- # and causes collisions between the SLOTs, so remove it.
- # Even in Prefix, we don't need this on AIX.
- rm "${ED}/usr/$(get_libdir)/apr.exp" || die
-}
diff --git a/dev-libs/apr/apr-1.7.4-r2.ebuild b/dev-libs/apr/apr-1.7.4-r2.ebuild
new file mode 100644
index 000000000000..1a50b553b4c1
--- /dev/null
+++ b/dev-libs/apr/apr-1.7.4-r2.ebuild
@@ -0,0 +1,162 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools flag-o-matic toolchain-funcs
+
+DESCRIPTION="Apache Portable Runtime Library"
+HOMEPAGE="https://apr.apache.org/"
+SRC_URI="mirror://apache/apr/${P}.tar.bz2"
+
+LICENSE="Apache-2.0"
+SLOT="1/${PV%.*}"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
+IUSE="doc old-kernel selinux static-libs +urandom valgrind"
+
+# See bug #815265 for libcrypt dependency
+DEPEND="
+ virtual/libcrypt:=
+ elibc_glibc? ( >=sys-apps/util-linux-2.16 )
+"
+RDEPEND="
+ ${DEPEND}
+ selinux? ( sec-policy/selinux-base-policy )
+"
+DEPEND+=" valgrind? ( dev-debug/valgrind )"
+BDEPEND="
+ >=dev-build/libtool-2.4.2
+ doc? ( app-text/doxygen )
+"
+
+DOCS=( CHANGES NOTICE README )
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-1.6.3-skip-known-failing-tests.patch
+ "${FILESDIR}"/${PN}-1.7.2-libtool.patch
+ "${FILESDIR}"/${PN}-1.7.2-sysroot.patch # bug #385775
+ "${FILESDIR}"/${PN}-1.7.2-fix-pkgconfig-libs.patch
+ "${FILESDIR}"/${PN}-1.7.2-respect-flags.patch
+ "${FILESDIR}"/${PN}-1.7.2-autoconf-2.72.patch
+ "${FILESDIR}"/config.layout.patch
+)
+
+src_prepare() {
+ default
+
+ mv configure.in configure.ac || die
+ AT_M4DIR="build" eautoreconf
+}
+
+src_configure() {
+ tc-export AS CC CPP
+
+ # the libtool script uses bash code in it and at configure time, tries
+ # to find a bash shell. if /bin/sh is bash, it uses that. this can
+ # cause problems for people who switch /bin/sh on the fly to other
+ # shells, so just force libtool to use /bin/bash all the time.
+ export CONFIG_SHELL="${EPREFIX}"/bin/bash
+ export ac_cv_path_SED="sed"
+ export ac_cv_path_EGREP="grep -E"
+ export ac_cv_path_EGREP_TRADITIONAL="grep -E"
+ export ac_cv_path_FGREP="grep -F"
+ export ac_cv_path_GREP="grep"
+ export ac_cv_path_lt_DD="dd"
+
+ local myconf=(
+ --enable-layout=gentoo
+ --enable-nonportable-atomics
+ --enable-posix-shm
+ --enable-threads
+ $(use_enable static-libs static)
+ $(use_with valgrind)
+ --with-installbuilddir="${EPREFIX}"/usr/share/${PN}/build
+ )
+
+ tc-is-static-only && myconf+=( --disable-dso )
+
+ if use old-kernel; then
+ local apr_cv_accept4 apr_cv_dup3 apr_cv_epoll_create1 apr_cv_sock_cloexec
+ export apr_cv_accept4="no"
+ export apr_cv_dup3="no"
+ export apr_cv_epoll_create1="no"
+ export apr_cv_sock_cloexec="no"
+ fi
+
+ if tc-is-cross-compiler; then
+ # The apache project relies heavily on AC_TRY_RUN and doesn't
+ # have any sane cross-compiling fallback logic.
+ export \
+ ac_cv_file__dev_zero="yes" \
+ ac_cv_func_sem_open="yes" \
+ ac_cv_mmap__dev_zero="yes" \
+ ac_cv_negative_eai="yes" \
+ ac_cv_o_nonblock_inherited="no" \
+ ac_cv_struct_rlimit="yes" \
+ ap_cv_atomic_builtins="yes" \
+ apr_cv_accept4="yes" \
+ apr_cv_dup3="yes" \
+ apr_cv_epoll="yes" \
+ apr_cv_epoll_create1="yes" \
+ apr_cv_gai_addrconfig="yes" \
+ apr_cv_mutex_recursive="yes" \
+ apr_cv_mutex_robust_shared="yes" \
+ apr_cv_process_shared_works="yes" \
+ apr_cv_pthreads_lib="-pthread" \
+ apr_cv_sock_cloexec="yes" \
+ apr_cv_tcp_nodelay_with_cork="yes"
+ fi
+
+ if use urandom; then
+ myconf+=( --with-devrandom=/dev/urandom )
+ else
+ myconf+=( --with-devrandom=/dev/random )
+ fi
+
+ # Avoid libapr containing undefined references (underlinked)
+ # undefined reference to `__sync_val_compare_and_swap_8'
+ # (May be possible to fix via libatomic linkage in future?)
+ # bug #740464
+ append-atomic-flags
+ if use x86 || [[ ${LIBS} == *atomic* ]] ; then
+ myconf+=( --disable-nonportable-atomics )
+ fi
+
+ econf "${myconf[@]}"
+}
+
+src_compile() {
+ if tc-is-cross-compiler; then
+ # This header is the same across targets, so use the build compiler.
+ emake tools/gen_test_char
+
+ tc-export_build_env BUILD_CC
+ ${BUILD_CC} ${BUILD_CFLAGS} ${BUILD_CPPFLAGS} ${BUILD_LDFLAGS} \
+ tools/gen_test_char.c -o tools/gen_test_char || die
+ fi
+
+ emake all $(usev doc dox)
+}
+
+src_test() {
+ # Building tests in parallel is broken
+ emake -j1 check
+}
+
+src_install() {
+ default
+
+ if ! use static-libs; then
+ find "${ED}" -name '*.la' -delete || die
+ fi
+
+ if use doc; then
+ docinto html
+ dodoc -r docs/dox/html/*
+ fi
+
+ # This file is only used on AIX systems, which Gentoo is not,
+ # and causes collisions between the SLOTs, so remove it.
+ # Even in Prefix, we don't need this on AIX.
+ rm "${ED}/usr/$(get_libdir)/apr.exp" || die
+}
diff --git a/dev-libs/apr/files/apr-1.5.0-cross-types.patch b/dev-libs/apr/files/apr-1.5.0-cross-types.patch
deleted file mode 100644
index 266e5676817f..000000000000
--- a/dev-libs/apr/files/apr-1.5.0-cross-types.patch
+++ /dev/null
@@ -1,63 +0,0 @@
-use standard AC_CHECK_SIZEOF as it supports non-builtin types and
-supports cross-compiling sanely
-
-https://issues.apache.org/bugzilla/show_bug.cgi?id=56053
-
---- a/configure.in
-+++ b/configure.in
-@@ -1684,7 +1684,7 @@ else
- socklen_t_value="int"
- fi
-
--APR_CHECK_SIZEOF_EXTENDED([#include <sys/types.h>], pid_t, 8)
-+AC_CHECK_SIZEOF(pid_t)
-
- if test "$ac_cv_sizeof_pid_t" = "$ac_cv_sizeof_short"; then
- pid_t_fmt='#define APR_PID_T_FMT "hd"'
-@@ -1753,7 +1753,7 @@ APR_CHECK_TYPES_COMPATIBLE(ssize_t, long, [ssize_t_fmt="ld"])
- APR_CHECK_TYPES_COMPATIBLE(size_t, unsigned int, [size_t_fmt="u"])
- APR_CHECK_TYPES_COMPATIBLE(size_t, unsigned long, [size_t_fmt="lu"])
-
--APR_CHECK_SIZEOF_EXTENDED([#include <sys/types.h>], ssize_t, 8)
-+AC_CHECK_SIZEOF(ssize_t)
-
- AC_MSG_CHECKING([which format to use for apr_ssize_t])
- if test -n "$ssize_t_fmt"; then
-@@ -1770,7 +1770,7 @@ fi
-
- ssize_t_fmt="#define APR_SSIZE_T_FMT \"$ssize_t_fmt\""
-
--APR_CHECK_SIZEOF_EXTENDED([#include <stddef.h>], size_t, 8)
-+AC_CHECK_SIZEOF(size_t)
-
- AC_MSG_CHECKING([which format to use for apr_size_t])
- if test -n "$size_t_fmt"; then
-@@ -1787,7 +1787,7 @@ fi
-
- size_t_fmt="#define APR_SIZE_T_FMT \"$size_t_fmt\""
-
--APR_CHECK_SIZEOF_EXTENDED([#include <sys/types.h>], off_t, 8)
-+AC_CHECK_SIZEOF(off_t)
-
- if test "${ac_cv_sizeof_off_t}${apr_cv_use_lfs64}" = "4yes"; then
- # Enable LFS
-@@ -1866,7 +1866,7 @@ case $host in
- ;;
- *)
- ino_t_value=ino_t
-- APR_CHECK_SIZEOF_EXTENDED(AC_INCLUDES_DEFAULT, ino_t, $ac_cv_sizeof_long)
-+ AC_CHECK_SIZEOF(ino_t)
- if test $ac_cv_sizeof_ino_t = 4; then
- if test $ac_cv_sizeof_long = 4; then
- ino_t_value="unsigned long"
-@@ -1886,8 +1886,8 @@ else
- bigendian=0
- fi
-
--APR_CHECK_SIZEOF_EXTENDED([#include <sys/types.h>
--#include <sys/uio.h>],struct iovec,0)
-+AC_CHECK_SIZEOF(struct iovec,,[AC_INCLUDES_DEFAULT
-+#include <sys/uio.h>])
- if test "$ac_cv_sizeof_struct_iovec" = "0"; then
- have_iovec=0
- else
diff --git a/dev-libs/apr/files/apr-1.5.0-libtool.patch b/dev-libs/apr/files/apr-1.5.0-libtool.patch
deleted file mode 100644
index 5368a2689bdf..000000000000
--- a/dev-libs/apr/files/apr-1.5.0-libtool.patch
+++ /dev/null
@@ -1,17 +0,0 @@
-generate a local copy of libtool for use in compiling
-
-https://bugs.gentoo.org/374355
-
---- a/configure.in
-+++ b/configure.in
-@@ -260,9 +260,7 @@ case $host in
- fi
- else
- dnl libtoolize requires that the following not be indented
-- dnl should become LT_INIT(win32-dll)
--AC_LIBTOOL_WIN32_DLL
--AC_PROG_LIBTOOL
-+LT_INIT(win32-dll)
- # get libtool's setting of shlibpath_var
- eval `grep "^shlibpath_var=[[A-Z_]]*$" $apr_builddir/libtool`
- if test "x$shlibpath_var" = "x"; then
diff --git a/dev-libs/apr/files/apr-1.5.0-mint.patch b/dev-libs/apr/files/apr-1.5.0-mint.patch
deleted file mode 100644
index cfe039e962c6..000000000000
--- a/dev-libs/apr/files/apr-1.5.0-mint.patch
+++ /dev/null
@@ -1,22 +0,0 @@
---- apr-1.5.0/build/apr_hints.m4
-+++ apr-1.5.0/build/apr_hints.m4
-@@ -45,6 +45,8 @@
- case "$host" in
- *mint)
- APR_ADDTO(CPPFLAGS, [-DMINT -D_GNU_SOURCE])
-+ apr_cv_pthreads_cflags="none"
-+ apr_cv_pthreads_lib="-lpthread"
- ;;
- *MPE/iX*)
- APR_ADDTO(CPPFLAGS, [-DMPE -D_POSIX_SOURCE -D_SOCKET_SOURCE])
---- apr-1.5.0/build/apr_threads.m4
-+++ apr-1.5.0/build/apr_threads.m4
-@@ -198,7 +198,7 @@
- AC_DEFUN([APR_CHECK_SIGWAIT_ONE_ARG], [
- AC_CACHE_CHECK(whether sigwait takes one argument,ac_cv_sigwait_one_arg,[
- AC_TRY_COMPILE([
--#if defined(__NETBSD__) || defined(DARWIN)
-+#if defined(__NETBSD__) || defined(DARWIN) || defined(MINT)
- /* When using the unproven-pthreads package, we need to pull in this
- * header to get a prototype for sigwait(). Else things will fail later
- * on. XXX Should probably be fixed in the unproven-pthreads package.
diff --git a/dev-libs/apr/files/apr-1.5.0-sysroot.patch b/dev-libs/apr/files/apr-1.5.0-sysroot.patch
deleted file mode 100644
index 54c9d649ef07..000000000000
--- a/dev-libs/apr/files/apr-1.5.0-sysroot.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-https://bugs.gentoo.org/385775
-
-utilize $SYSROOT to find the right includedir tree
-
-drop the -L/-R paths since we know our libdir is the standard path which
-the compiler already knows how to locate
-
---- a/apr-config.in
-+++ b/apr-config.in
-@@ -28,7 +28,7 @@ libdir="@libdir@"
- datarootdir="@datadir@"
- datadir="@datadir@"
--installbuilddir="@installbuilddir@"
--includedir="@includedir@"
-+installbuilddir="${SYSROOT}@installbuilddir@"
-+includedir="${SYSROOT}@includedir@"
-
- CC="@CC@"
- CPP="@CPP@"
-@@ -183,7 +183,7 @@ while test $# -gt 0; do
- --link-ld)
- if test "$location" = "installed"; then
- ### avoid using -L if libdir is a "standard" location like /usr/lib
-- flags="$flags -L$libdir -l${APR_LIBNAME}"
-+ flags="$flags -l${APR_LIBNAME}"
- else
- ### this surely can't work since the library is in .libs?
- flags="$flags -L$APR_BUILD_DIR -l${APR_LIBNAME}"
-@@ -200,7 +200,7 @@ while test $# -gt 0; do
- ### avoid using -L if libdir is a "standard" location like /usr/lib
- # Since the user is specifying they are linking with libtool, we
- # *know* that -R will be recognized by libtool.
-- flags="$flags -L$libdir -R$libdir -l${APR_LIBNAME}"
-+ flags="$flags -l${APR_LIBNAME}"
- else
- flags="$flags $LA_FILE"
- fi
diff --git a/dev-libs/apr/files/apr-1.6.3-fix-overflow-check-in-overflow_strfsize.patch b/dev-libs/apr/files/apr-1.6.3-fix-overflow-check-in-overflow_strfsize.patch
deleted file mode 100644
index d6e1f54fc074..000000000000
--- a/dev-libs/apr/files/apr-1.6.3-fix-overflow-check-in-overflow_strfsize.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-https://bz.apache.org/bugzilla/show_bug.cgi?id=62056
-
---- apr-1.6.3.orig/test/teststr.c
-+++ apr-1.6.3.orig/test/teststr.c
-@@ -307,10 +307,15 @@
- for (; off < 999999999; off += 999) {
- apr_strfsize(off, buf);
- }
-- for (off = 1; off < LONG_MAX && off > 0; off *= 2) {
-+
-+ off = 1;
-+ while (1) {
- apr_strfsize(off, buf);
- apr_strfsize(off + 1, buf);
- apr_strfsize(off - 1, buf);
-+ if (off > LONG_MAX / 2)
-+ break;
-+ off *= 2;
- }
-
- ABTS_ASSERT(tc, "strfsize overflowed", buf[5] == '$');
diff --git a/dev-libs/apr/files/apr-1.7.0-autoconf-2.70.patch b/dev-libs/apr/files/apr-1.7.0-autoconf-2.70.patch
deleted file mode 100644
index 488c3c59321d..000000000000
--- a/dev-libs/apr/files/apr-1.7.0-autoconf-2.70.patch
+++ /dev/null
@@ -1,64 +0,0 @@
-From 5593f23e8e062da108ed585535e7281b87346ee1 Mon Sep 17 00:00:00 2001
-From: Sergei Trofimovich <slyfox@gentoo.org>
-Date: Wed, 25 Nov 2020 09:36:25 +0000
-Subject: [PATCH] build/apr_common.m4: avoid explicit inclusion of
- '"confdefs.h"'
-
-The failure is observed on `autoconf-2.69d` (soon to be released
-as `autoconf-2.70`). There `int64_t` detection fails as:
-
-```
-$ autoreconf && ./configure
-...
-checking whether int64_t and int use fmt %d... no
-checking whether int64_t and long use fmt %ld... no
-checking whether int64_t and long long use fmt %lld... no
-configure: error: could not determine the string function for int64_t
-```
-
-This happens because `./configure` always stumbles on warning:
-
-```
-configure:3350: gcc -c -g -O2 -Werror conftest.c >&5
-In file included from conftest.c:31:
-confdefs.h:22: error: "__STDC_WANT_IEC_60559_ATTRIBS_EXT__" redefined [-Werror]
- 22 | #define __STDC_WANT_IEC_60559_ATTRIBS_EXT__ 1
- |
-```
-
-It's triggered by double inclusion of `"confdefs.h"` contents:
-explicitly in `APR_TRY_COMPILE_NO_WARNING` macro and implicitly
-via `AC_LANG_SOURCE` use.
-
-To fix it and avoid having to define `main()` declaration the change
-uses `AC_LANG_PROGRAM` instead.
-
-Tested on both `autoconf-2.69` and `autoconf-2.69d`.
-
-Bug: https://bugs.gentoo.org/738156
-Bug: https://bugs.gentoo.org/750353
-Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
----
- build/apr_common.m4 | 8 ++------
- 1 file changed, 2 insertions(+), 6 deletions(-)
-
-diff --git a/build/apr_common.m4 b/build/apr_common.m4
-index f4e2dfd0a7..6f5782e674 100644
---- a/build/apr_common.m4
-+++ b/build/apr_common.m4
-@@ -504,13 +504,9 @@ AC_DEFUN([APR_TRY_COMPILE_NO_WARNING],
- CFLAGS="$CFLAGS -Werror"
- fi
- AC_COMPILE_IFELSE(
-- [AC_LANG_SOURCE(
-- [#include "confdefs.h"
-- ]
-- [[$1]]
-- [int main(int argc, const char *const *argv) {]
-+ [AC_LANG_PROGRAM(
-+ [[$1]],
- [[$2]]
-- [ return 0; }]
- )], [CFLAGS=$apr_save_CFLAGS
- $3], [CFLAGS=$apr_save_CFLAGS
- $4])
diff --git a/dev-libs/apr/files/apr-1.7.2-autoconf-2.72.patch b/dev-libs/apr/files/apr-1.7.2-autoconf-2.72.patch
new file mode 100644
index 000000000000..49d3fd3f1638
--- /dev/null
+++ b/dev-libs/apr/files/apr-1.7.2-autoconf-2.72.patch
@@ -0,0 +1,23 @@
+https://src.fedoraproject.org/rpms/apr/raw/rawhide/f/apr-1.7.2-autoconf.patch
+
+Similar to https://github.com/apache/apr/commit/a15958a37a06f71c42c690278f9c958b93b7ee20.
+--- a/build/apr_common.m4
++++ b/build/apr_common.m4
+@@ -468,15 +468,8 @@ AC_DEFUN([APR_TRY_COMPILE_NO_WARNING],
+ fi
+ AC_COMPILE_IFELSE(
+ [AC_LANG_SOURCE(
+- [
+-#ifndef PACKAGE_NAME
+-#include "confdefs.h"
+-#endif
+- ]
+- [[$1]]
+- [int main(int argc, const char *const *argv) {]
++ [[$1]],
+ [[$2]]
+- [ return 0; }]
+ )], [CFLAGS=$apr_save_CFLAGS
+ $3], [CFLAGS=$apr_save_CFLAGS
+ $4])
+
diff --git a/dev-libs/apr/files/apr-1.7.2-fix-pkgconfig-libs.patch b/dev-libs/apr/files/apr-1.7.2-fix-pkgconfig-libs.patch
new file mode 100644
index 000000000000..9b4935fe7f0a
--- /dev/null
+++ b/dev-libs/apr/files/apr-1.7.2-fix-pkgconfig-libs.patch
@@ -0,0 +1,35 @@
+Don't pollute Libs with internal bits like libcrypt.
+
+https://bugs.gentoo.org/811765
+https://sources.debian.org/patches/apr/1.7.2-2/fix-apr.pc.patch/
+https://sources.debian.org/patches/apr/1.7.2-2/omit_extra_libs.patch/
+
+From: <tfheen@debian.org>
+Subject: No description.
+
+--- a/apr.pc.in
++++ b/apr.pc.in
+@@ -7,5 +7,6 @@
+ Name: APR
+ Description: The Apache Portable Runtime library
+ Version: @APR_DOTTED_VERSION@
+-Libs: -L${libdir} -l@APR_LIBNAME@ @EXTRA_LIBS@
+-Cflags: @EXTRA_CPPFLAGS@ @EXTRA_CFLAGS@ -I${includedir}
++Libs: -L${libdir} -l@APR_LIBNAME@
++Libs.private: @EXTRA_LIBS@
++Cflags: @EXTRA_CPPFLAGS@ -I${includedir}
+
+From: Stefan Fritsch <sf@debian.org>
+Subject: #463399
+
+--- a/apr-config.in
++++ b/apr-config.in
+@@ -36,7 +36,7 @@ SHELL="@SHELL@"
+ CPPFLAGS="@EXTRA_CPPFLAGS@"
+ CFLAGS="@EXTRA_CFLAGS@"
+ LDFLAGS="@EXTRA_LDFLAGS@"
+-LIBS="@EXTRA_LIBS@"
++LIBS=""
+ EXTRA_INCLUDES="@EXTRA_INCLUDES@"
+ SHLIBPATH_VAR="@shlibpath_var@"
+ APR_SOURCE_DIR="@apr_srcdir@"
diff --git a/dev-libs/apr/files/apr-1.7.2-libtool.patch b/dev-libs/apr/files/apr-1.7.2-libtool.patch
new file mode 100644
index 000000000000..121e4374f9fc
--- /dev/null
+++ b/dev-libs/apr/files/apr-1.7.2-libtool.patch
@@ -0,0 +1,16 @@
+generate a local copy of libtool for use in compiling
+
+https://bugs.gentoo.org/374355
+--- a/configure.in
++++ b/configure.in
+@@ -268,9 +268,7 @@ case $host in
+ fi
+ else
+ dnl libtoolize requires that the following not be indented
+- dnl should become LT_INIT(win32-dll)
+-AC_LIBTOOL_WIN32_DLL
+-AC_PROG_LIBTOOL
++LT_INIT(win32-dll)
+ # get libtool's setting of shlibpath_var
+ if test "x$shlibpath_var" = "x"; then
+ eval `grep "^shlibpath_var=[[A-Z_]]*$" $apr_builddir/libtool`
diff --git a/dev-libs/apr/files/apr-1.7.2-respect-flags.patch b/dev-libs/apr/files/apr-1.7.2-respect-flags.patch
new file mode 100644
index 000000000000..f075fc0514d2
--- /dev/null
+++ b/dev-libs/apr/files/apr-1.7.2-respect-flags.patch
@@ -0,0 +1,22 @@
+https://sources.debian.org/patches/apr/1.7.2-2/dont_override_external_buildflags/
+
+# Don't force apr-using projects to use the compile flags used during
+# apr's compilation.
+--- a/build/apr_rules.mk.in
++++ b/build/apr_rules.mk.in
+@@ -42,10 +42,10 @@ LIBTOOL=@LIBTOOL@
+ # compilation and linking flags that are supposed to be set only by the user.
+ # configure adds to them for tests, but we restore them at the end.
+ #
+-CFLAGS=@CFLAGS@
+-CPPFLAGS=@CPPFLAGS@
+-LDFLAGS=@LDFLAGS@
+-LIBS=@LIBS@
++CFLAGS?=@CFLAGS@
++CPPFLAGS?=@CPPFLAGS@
++LDFLAGS?=@LDFLAGS@
++LIBS?=@LIBS@
+ DEFS=@DEFS@
+
+ # anything added to the standard flags by configure is moved to EXTRA_*
+
diff --git a/dev-libs/apr/files/apr-1.7.2-sysroot.patch b/dev-libs/apr/files/apr-1.7.2-sysroot.patch
new file mode 100644
index 000000000000..3b666ebfd833
--- /dev/null
+++ b/dev-libs/apr/files/apr-1.7.2-sysroot.patch
@@ -0,0 +1,37 @@
+https://bugs.gentoo.org/385775
+
+utilize $SYSROOT to find the right includedir tree
+
+drop the -L/-R paths since we know our libdir is the standard path which
+the compiler already knows how to locate
+--- a/apr-config.in
++++ b/apr-config.in
+@@ -27,8 +27,8 @@ bindir="@bindir@"
+ libdir="@libdir@"
+ datarootdir="@datadir@"
+ datadir="@datadir@"
+-installbuilddir="@installbuilddir@"
+-includedir="@includedir@"
++installbuilddir="${SYSROOT}@installbuilddir@"
++includedir="${SYSROOT}@includedir@"
+
+ CC="@CC@"
+ CPP="@CPP@"
+@@ -199,7 +199,7 @@ while test $# -gt 0; do
+ --link-ld)
+ if test "$location" = "installed"; then
+ ### avoid using -L if libdir is a "standard" location like /usr/lib
+- flags="$flags -L$libdir -l${APR_LIBNAME}"
++ flags="$flags -l${APR_LIBNAME}"
+ elif test "$location" = "crosscompile"; then
+ flags="$flags -L$APR_TARGET_DIR/$libdir -l${APR_LIBNAME}"
+ else
+@@ -218,7 +218,7 @@ while test $# -gt 0; do
+ ### avoid using -L if libdir is a "standard" location like /usr/lib
+ # Since the user is specifying they are linking with libtool, we
+ # *know* that -R will be recognized by libtool.
+- flags="$flags -L$libdir -R$libdir -l${APR_LIBNAME}"
++ flags="$flags -l${APR_LIBNAME}"
+ elif test "$location" = "crosscompile"; then
+ flags="$flags -L${APR_TARGET_DIR}/$libdir -l${APR_LIBNAME}"
+ else
diff --git a/dev-libs/apr/metadata.xml b/dev-libs/apr/metadata.xml
index 65038767e3a3..b8d4a84e26af 100644
--- a/dev-libs/apr/metadata.xml
+++ b/dev-libs/apr/metadata.xml
@@ -1,12 +1,15 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <email>polynomial-c@gentoo.org</email>
- <name>Lars Wendler</name>
+ <maintainer type="project">
+ <email>apache-bugs@gentoo.org</email>
+ <name>Apache project</name>
</maintainer>
<use>
- <flag name="older-kernels-compatibility">Enable binary compatibility with older kernels</flag>
+ <flag name="old-kernel">Enable compatibility with older kernels</flag>
<flag name="urandom">Use /dev/urandom instead of /dev/random</flag>
</use>
+ <upstream>
+ <remote-id type="github">apache/apr</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/dev-libs/argtable/argtable-2.13-r1.ebuild b/dev-libs/argtable/argtable-2.13-r1.ebuild
deleted file mode 100644
index e8053275362f..000000000000
--- a/dev-libs/argtable/argtable-2.13-r1.ebuild
+++ /dev/null
@@ -1,48 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-inherit versionator
-
-DESCRIPTION="An ANSI C library for parsing GNU-style command-line options with minimal fuss"
-HOMEPAGE="http://argtable.sourceforge.net/"
-
-MY_PV="$(replace_version_separator 1 '-')"
-MY_P=${PN}${MY_PV}
-
-SRC_URI="mirror://sourceforge/${PN}/${MY_P}.tar.gz"
-
-LICENSE="LGPL-2"
-SLOT="0"
-KEYWORDS="~alpha amd64 ~arm64 ~ia64 ppc ppc64 ~riscv sparc x86"
-IUSE="doc debug examples static-libs"
-
-S="${WORKDIR}/${MY_P}"
-
-src_configure() {
- econf \
- $(use_enable debug) \
- $(use_enable static-libs static)
-}
-
-src_install() {
- emake DESTDIR="${D}" install
- rm -rf "${D}"/usr/share/doc/${PF}/
-
- dodoc AUTHORS ChangeLog NEWS README
-
- if use doc ; then
- cd "${S}/doc"
- dodoc *.pdf *.ps
- docinto html
- dodoc *.html *.gif
- fi
-
- if use examples ; then
- cd "${S}/example"
- docinto examples
- dodoc Makefile *.[ch] README.txt
- fi
-
- find "${ED}" -name "*.la" -delete || die "failed to delete .la files"
-}
diff --git a/dev-libs/argtable/argtable-2.13-r3.ebuild b/dev-libs/argtable/argtable-2.13-r3.ebuild
new file mode 100644
index 000000000000..30eee172a9f4
--- /dev/null
+++ b/dev-libs/argtable/argtable-2.13-r3.ebuild
@@ -0,0 +1,48 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+MY_PV="$(ver_rs 1 '-')"
+MY_P=${PN}${MY_PV}
+
+DESCRIPTION="An ANSI C library for parsing GNU-style command-line options with minimal fuss"
+HOMEPAGE="https://argtable.sourceforge.net"
+SRC_URI="mirror://sourceforge/${PN}/${MY_P}.tar.gz"
+S="${WORKDIR}"/${MY_P}
+
+LICENSE="LGPL-2"
+SLOT="0"
+KEYWORDS="~alpha amd64 ~arm64 ~ia64 ~loong ppc ppc64 ~riscv sparc x86"
+IUSE="doc debug examples static-libs"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-2.13-Fix-implicit-function-declaration.patch
+)
+
+src_configure() {
+ econf \
+ $(use_enable debug) \
+ $(use_enable static-libs static)
+}
+
+src_install() {
+ default
+
+ rm -rf "${ED}"/usr/share/doc/${PF}/
+
+ if use doc ; then
+ cd "${S}"/doc || die
+ dodoc *.pdf *.ps
+ docinto html
+ dodoc *.html *.gif
+ fi
+
+ if use examples ; then
+ cd "${S}"/example || die
+ docinto examples
+ dodoc Makefile *.[ch] README.txt
+ fi
+
+ find "${ED}" -name "*.la" -delete || die "failed to delete .la files"
+}
diff --git a/dev-libs/argtable/argtable-2.13-r4.ebuild b/dev-libs/argtable/argtable-2.13-r4.ebuild
new file mode 100644
index 000000000000..2c18502ad2c2
--- /dev/null
+++ b/dev-libs/argtable/argtable-2.13-r4.ebuild
@@ -0,0 +1,49 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+MY_PV="$(ver_rs 1 '-')"
+MY_P=${PN}${MY_PV}
+
+DESCRIPTION="An ANSI C library for parsing GNU-style command-line options with minimal fuss"
+HOMEPAGE="https://argtable.sourceforge.net"
+SRC_URI="mirror://sourceforge/${PN}/${MY_P}.tar.gz"
+S="${WORKDIR}"/${MY_P}
+
+LICENSE="LGPL-2"
+SLOT="0"
+KEYWORDS="~alpha amd64 ~arm64 ~ia64 ~loong ppc ppc64 ~riscv sparc x86"
+IUSE="doc debug examples static-libs"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-2.13-Fix-implicit-function-declaration.patch
+ "${FILESDIR}"/${PN}-2.13-Fix-undeclared-library-function.patch
+)
+
+src_configure() {
+ econf \
+ $(use_enable debug) \
+ $(use_enable static-libs static)
+}
+
+src_install() {
+ default
+
+ rm -rf "${ED}"/usr/share/doc/${PF}/
+
+ if use doc ; then
+ cd "${S}"/doc || die
+ dodoc *.pdf *.ps
+ docinto html
+ dodoc *.html *.gif
+ fi
+
+ if use examples ; then
+ cd "${S}"/example || die
+ docinto examples
+ dodoc Makefile *.[ch] README.txt
+ fi
+
+ find "${ED}" -name "*.la" -delete || die "failed to delete .la files"
+}
diff --git a/dev-libs/argtable/files/argtable-2.13-Fix-implicit-function-declaration.patch b/dev-libs/argtable/files/argtable-2.13-Fix-implicit-function-declaration.patch
new file mode 100644
index 000000000000..14ade74afaa6
--- /dev/null
+++ b/dev-libs/argtable/files/argtable-2.13-Fix-implicit-function-declaration.patch
@@ -0,0 +1,16 @@
+From febb2928d1e72c7adc914b2ef8e0611e1a5ea3fd Mon Sep 17 00:00:00 2001
+From: Sam James <sam@gentoo.org>
+Date: Thu, 6 Oct 2022 18:10:52 +0100
+Subject: [PATCH] Fix implicit function declaration
+
+Bug: https://bugs.gentoo.org/871231
+--- a/src/arg_int.c
++++ b/src/arg_int.c
+@@ -29,6 +29,7 @@ USA.
+ /* #endif */
+
+ #include "argtable2.h"
++#include <ctype.h>
+ #include <limits.h>
+
+ /* local error codes */
diff --git a/dev-libs/argtable/files/argtable-2.13-Fix-undeclared-library-function.patch b/dev-libs/argtable/files/argtable-2.13-Fix-undeclared-library-function.patch
new file mode 100644
index 000000000000..7f42d43727a5
--- /dev/null
+++ b/dev-libs/argtable/files/argtable-2.13-Fix-undeclared-library-function.patch
@@ -0,0 +1,28 @@
+From 519609d844f1e5bbf37407de8e43fa2d2be03262 Mon Sep 17 00:00:00 2001
+From: Brahmajit Das <brahmajit.xyz@gmail.com>
+Date: Sun, 7 May 2023 00:03:40 +0530
+Subject: [PATCH] Fix undeclared library function strcmp
+
+Bug: https://bugs.gentoo.org/885609
+--- a/tests/fntests.c
++++ b/tests/fntests.c
+@@ -1,5 +1,6 @@
+ #include "../src/argtable2.h"
+ #include <assert.h>
++#include <string.h>
+
+ /* for memory leak debugging */
+ #ifdef DMALLOC
+--- a/tests/test_file.c
++++ b/tests/test_file.c
+@@ -21,6 +21,7 @@ USA.
+
+ #include "../src/argtable2.h"
+ #include <stdlib.h>
++#include <string.h>
+
+ /* for memory leak debugging */
+ #ifdef DMALLOC
+--
+2.40.1
+
diff --git a/dev-libs/asmjit/Manifest b/dev-libs/asmjit/Manifest
new file mode 100644
index 000000000000..02e1b92d572b
--- /dev/null
+++ b/dev-libs/asmjit/Manifest
@@ -0,0 +1,2 @@
+DIST asmjit-2021.11.13.tar.gz 717251 BLAKE2B 2bcad7234b0cab2d60c9fcd09149c93397595ca4859cb415378dabf52f8660de3aa5de40ee192fca814ee62bfc690ae8260c2f54faf10eb52c3ed3d63d1f4258 SHA512 2774168ff0847b3c29aee87325f12e431693c70661f8c10e0dc0d6530a3683d51ca472ef993e88c9d4e179494b045b2e75c22d6eda19b0c75e19843b69162da1
+DIST asmjit-2022.07.02.tar.gz 974040 BLAKE2B 28f2d23bcded48f1526b8820a5c9c919e014bdd6e8095762ba37414d2a47dc5665d89c4ca43fee9b216d5dfc71ef19835ce04f6dccc500451f204033b42be20c SHA512 c1196edb656833caa6d4d6817e34e4d2320ecda06bc6b531a0ff73f9e3786a98dad3f2348884de4e272d0e6853bb7b1eaab3feaa5d4430f28c3c9339ded1a58c
diff --git a/dev-libs/asmjit/asmjit-2021.11.13.ebuild b/dev-libs/asmjit/asmjit-2021.11.13.ebuild
new file mode 100644
index 000000000000..f16e753bac6e
--- /dev/null
+++ b/dev-libs/asmjit/asmjit-2021.11.13.ebuild
@@ -0,0 +1,32 @@
+# Copyright 2022-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+inherit cmake
+
+CommitId=4ec760a3d1f69e32ba460ecd2513f29b8428700b
+DESCRIPTION="Machine code generation for C++"
+HOMEPAGE="https://asmjit.com/"
+SRC_URI="https://github.com/asmjit/${PN}/archive/${CommitId}.tar.gz
+ -> ${P}.tar.gz"
+
+LICENSE="ZLIB"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="test"
+
+BDEPEND="test? ( dev-cpp/gtest )"
+RESTRICT="!test? ( test )"
+
+S="${WORKDIR}"/${PN}-${CommitId}
+
+PATCHES=(
+ "${FILESDIR}"/${P}-gentoo.patch
+)
+
+src_configure() {
+ local mycmakeargs=(
+ -DASMJIT_TEST=$(usex test TRUE FALSE)
+ )
+ cmake_src_configure
+}
diff --git a/dev-libs/asmjit/asmjit-2022.07.02.ebuild b/dev-libs/asmjit/asmjit-2022.07.02.ebuild
new file mode 100644
index 000000000000..23065a9bf113
--- /dev/null
+++ b/dev-libs/asmjit/asmjit-2022.07.02.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=c59847629d3a19da4d10f0be4ac33b43fc4a100f
+DESCRIPTION="Machine code generation for C++"
+HOMEPAGE="https://asmjit.com/"
+SRC_URI="https://github.com/asmjit/${PN}/archive/${CommitId}.tar.gz
+ -> ${P}.tar.gz"
+
+LICENSE="ZLIB"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="test"
+
+BDEPEND="test? ( dev-cpp/gtest )"
+RESTRICT="!test? ( test )"
+
+S="${WORKDIR}"/${PN}-${CommitId}
+
+src_configure() {
+ local mycmakeargs=(
+ -DASMJIT_TEST=$(usex test)
+ )
+ cmake_src_configure
+}
diff --git a/dev-libs/asmjit/files/asmjit-2021.11.13-gentoo.patch b/dev-libs/asmjit/files/asmjit-2021.11.13-gentoo.patch
new file mode 100644
index 000000000000..035ffbbbdcea
--- /dev/null
+++ b/dev-libs/asmjit/files/asmjit-2021.11.13-gentoo.patch
@@ -0,0 +1,45 @@
+diff --git a/src/asmjit/core/support.h b/src/asmjit/core/support.h
+index f98ffaa..2329cb2 100644
+--- a/src/asmjit/core/support.h
++++ b/src/asmjit/core/support.h
+@@ -33,33 +33,40 @@
+ ASMJIT_BEGIN_NAMESPACE
+
+ //! \addtogroup asmjit_utilities
+ //! \{
+
+ //! Contains support classes and functions that may be used by AsmJit source
+ //! and header files. Anything defined here is considered internal and should
+ //! not be used outside of AsmJit and related projects like AsmTK.
+ namespace Support {
+
+ // ============================================================================
+ // [asmjit::Support - Architecture Features & Constraints]
+ // ============================================================================
+
+ //! \cond INTERNAL
++#if defined(__GNUC__) && !defined(__clang__) && __GNUC__ >= 11
++// There is a bug in GCC11+ that makes it unusable to use annotated unaligned loads/stores.
++static constexpr bool kUnalignedAccess16 = false;
++static constexpr bool kUnalignedAccess32 = false;
++static constexpr bool kUnalignedAccess64 = false;
++#else
+ static constexpr bool kUnalignedAccess16 = ASMJIT_ARCH_X86 != 0;
+ static constexpr bool kUnalignedAccess32 = ASMJIT_ARCH_X86 != 0;
+ static constexpr bool kUnalignedAccess64 = ASMJIT_ARCH_X86 != 0;
++#endif
+ //! \endcond
+
+ // ============================================================================
+ // [asmjit::Support - Internal]
+ // ============================================================================
+
+ //! \cond INTERNAL
+ namespace Internal {
+ template<typename T, size_t Alignment>
+ struct AlignedInt {};
+
+ template<> struct AlignedInt<uint16_t, 1> { typedef uint16_t ASMJIT_ALIGN_TYPE(T, 1); };
+ template<> struct AlignedInt<uint16_t, 2> { typedef uint16_t T; };
+ template<> struct AlignedInt<uint32_t, 1> { typedef uint32_t ASMJIT_ALIGN_TYPE(T, 1); };
+ template<> struct AlignedInt<uint32_t, 2> { typedef uint32_t ASMJIT_ALIGN_TYPE(T, 2); };
diff --git a/dev-libs/asmjit/metadata.xml b/dev-libs/asmjit/metadata.xml
new file mode 100644
index 000000000000..0e892b7edd0d
--- /dev/null
+++ b/dev-libs/asmjit/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">asmjit/asmjit</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/atcore/atcore-1.0.0.ebuild b/dev-libs/atcore/atcore-1.0.0.ebuild
index dabc43053436..effc4ea9ba27 100644
--- a/dev-libs/atcore/atcore-1.0.0.ebuild
+++ b/dev-libs/atcore/atcore-1.0.0.ebuild
@@ -1,7 +1,7 @@
-# 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
ECM_TEST="forceoptional"
QTMIN=5.12.3
@@ -16,10 +16,6 @@ SLOT="0"
KEYWORDS="~amd64"
IUSE="doc gui test"
-BDEPEND="
- >=dev-qt/linguist-tools-${QTMIN}:5
- doc? ( app-doc/doxygen[dot] )
-"
DEPEND="
>=dev-qt/qtserialport-${QTMIN}:5
gui? (
@@ -29,13 +25,17 @@ DEPEND="
)
"
RDEPEND="${DEPEND}"
+BDEPEND="
+ >=dev-qt/linguist-tools-${QTMIN}:5
+ doc? ( app-text/doxygen[dot] )
+"
src_prepare() {
ecm_src_prepare
sed -e "s/${PN}/${PF}/" -i doc/CMakeLists.txt || die
- use gui || ecm_punt_bogus_dep Qt5 Charts
+ use gui || ecm_punt_qt_module Charts
use test || cmake_comment_add_subdirectory unittests
}
diff --git a/dev-libs/atf/atf-0.21-r2.ebuild b/dev-libs/atf/atf-0.21-r2.ebuild
index 019033ac1871..52b664460cb5 100644
--- a/dev-libs/atf/atf-0.21-r2.ebuild
+++ b/dev-libs/atf/atf-0.21-r2.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
@@ -9,7 +9,7 @@ SRC_URI="https://github.com/jmmv/atf/releases/download/${P}/${P}.tar.gz"
LICENSE="BSD BSD-2"
SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~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 ~ppc-macos ~x64-macos ~x64-solaris"
IUSE=""
BDEPEND="virtual/pkgconfig"
diff --git a/dev-libs/atk/Manifest b/dev-libs/atk/Manifest
index 9626b06a7330..f67cac3efa66 100644
--- a/dev-libs/atk/Manifest
+++ b/dev-libs/atk/Manifest
@@ -1 +1 @@
-DIST atk-2.36.0.tar.xz 299100 BLAKE2B 46f0cc10052788643c09e27e36a3f74439864cf5c8fdfcf5850e3e7df596ac8a2a3dd8a01856503d43995ff1cc36ec0ca63884133f2c5f4a3634aad2c5119997 SHA512 d0f18204eaf96511e8448e3dfbc4b6953a7cf8b816151fb7caf5592cf578572b1cdb16836fe2157b11e3ad018ef171f1ca1bfdf255bb31bb455716d7519fd634
+DIST atk-2.38.0.tar.xz 303952 BLAKE2B c89e13e413ea46667d94a3555a1764ee22be353b90b0940735fceaad823403026503c463b3ad200fa176ee4faee6dd3cf421542bf1e1a9dbc9a4844ae2963874 SHA512 dffd0a0814a9183027c38a985d86cb6544858e9e7d655843e153440467957d6bc1abd9c9479a57078aea018053410438a30a9befb7414dc79020b223cd2c774b
diff --git a/dev-libs/atk/atk-2.36.0.ebuild b/dev-libs/atk/atk-2.36.0.ebuild
deleted file mode 100644
index 342f95bebb52..000000000000
--- a/dev-libs/atk/atk-2.36.0.ebuild
+++ /dev/null
@@ -1,35 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-inherit gnome.org meson-multilib xdg
-
-DESCRIPTION="GTK+ & GNOME Accessibility Toolkit"
-HOMEPAGE="https://wiki.gnome.org/Accessibility"
-
-LICENSE="LGPL-2+"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris ~x86-winnt"
-IUSE="gtk-doc +introspection"
-
-RDEPEND="
- >=dev-libs/glib-2.38.0:2[${MULTILIB_USEDEP}]
- introspection? ( >=dev-libs/gobject-introspection-1.54.0:= )
-"
-DEPEND="${RDEPEND}"
-BDEPEND="
- dev-util/glib-utils
- gtk-doc? (
- >=dev-util/gtk-doc-1.25
- app-text/docbook-xml-dtd:4.3 )
- virtual/pkgconfig
- >=sys-devel/gettext-0.19.8
-"
-
-multilib_src_configure() {
- local emesonargs=(
- $(meson_native_use_bool gtk-doc docs)
- $(meson_native_use_bool introspection)
- )
- meson_src_configure
-}
diff --git a/dev-libs/atk/atk-2.38.0.ebuild b/dev-libs/atk/atk-2.38.0.ebuild
new file mode 100644
index 000000000000..1670997bdf63
--- /dev/null
+++ b/dev-libs/atk/atk-2.38.0.ebuild
@@ -0,0 +1,35 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+inherit gnome.org meson-multilib xdg
+
+DESCRIPTION="GTK+ & GNOME Accessibility Toolkit"
+HOMEPAGE="https://wiki.gnome.org/Accessibility"
+
+LICENSE="LGPL-2+"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
+IUSE="gtk-doc +introspection"
+
+RDEPEND="
+ >=dev-libs/glib-2.38.0:2[${MULTILIB_USEDEP}]
+ introspection? ( >=dev-libs/gobject-introspection-1.54.0:= )
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ dev-util/glib-utils
+ gtk-doc? (
+ >=dev-util/gtk-doc-1.25
+ app-text/docbook-xml-dtd:4.3 )
+ virtual/pkgconfig
+ >=sys-devel/gettext-0.19.8
+"
+
+multilib_src_configure() {
+ local emesonargs=(
+ $(meson_native_use_bool gtk-doc docs)
+ $(meson_native_use_bool introspection)
+ )
+ meson_src_configure
+}
diff --git a/dev-libs/atk/atk-2.46.0.ebuild b/dev-libs/atk/atk-2.46.0.ebuild
new file mode 100644
index 000000000000..f63e1bcaa4c4
--- /dev/null
+++ b/dev-libs/atk/atk-2.46.0.ebuild
@@ -0,0 +1,17 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit multilib-build
+
+DESCRIPTION="GTK+ & GNOME Accessibility Toolkit"
+HOMEPAGE="https://wiki.gnome.org/Accessibility"
+
+LICENSE="metapackage"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~x64-macos"
+IUSE="+introspection"
+
+DEPEND=""
+RDEPEND=">=app-accessibility/at-spi2-core-2.46.0[introspection?,${MULTILIB_USEDEP}]"
diff --git a/dev-libs/atk/metadata.xml b/dev-libs/atk/metadata.xml
index 7b343b06be8a..926e1a48f132 100644
--- a/dev-libs/atk/metadata.xml
+++ b/dev-libs/atk/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/atk</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/dev-libs/avro-c/avro-c-1.9.1-r1.ebuild b/dev-libs/avro-c/avro-c-1.9.1-r1.ebuild
deleted file mode 100644
index 3978e6b7b701..000000000000
--- a/dev-libs/avro-c/avro-c-1.9.1-r1.ebuild
+++ /dev/null
@@ -1,23 +0,0 @@
-# Copyright 2020-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-inherit cmake
-
-DESCRIPTION="c library for the apache avro data serialization system"
-HOMEPAGE="https://avro.apache.org/"
-SRC_URI="https://archive.apache.org/dist/avro/avro-${PV}/c/avro-c-${PV}.tar.gz"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64"
-
-DEPEND="
- app-arch/snappy
- >=dev-libs/jansson-2.3:=
- sys-libs/zlib"
- RDEPEND="${DEPEND}"
-
-PATCHES=(
- "${FILESDIR}/${P}-fix-libdir.patch"
-)
diff --git a/dev-libs/avro-c/avro-c-1.9.1-r2.ebuild b/dev-libs/avro-c/avro-c-1.9.1-r2.ebuild
new file mode 100644
index 000000000000..ca9fa39e45d4
--- /dev/null
+++ b/dev-libs/avro-c/avro-c-1.9.1-r2.ebuild
@@ -0,0 +1,23 @@
+# Copyright 2020-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+inherit cmake
+
+DESCRIPTION="c library for the apache avro data serialization system"
+HOMEPAGE="https://avro.apache.org/"
+SRC_URI="https://archive.apache.org/dist/avro/avro-${PV}/c/avro-c-${PV}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64"
+
+DEPEND="
+ app-arch/snappy:=
+ >=dev-libs/jansson-2.3:=
+ sys-libs/zlib"
+RDEPEND="${DEPEND}"
+
+PATCHES=(
+ "${FILESDIR}/${P}-fix-libdir.patch"
+)
diff --git a/dev-libs/aws-c-cal/metadata.xml b/dev-libs/aws-c-cal/metadata.xml
index b8ec77e47205..304f6cf4a68c 100644
--- a/dev-libs/aws-c-cal/metadata.xml
+++ b/dev-libs/aws-c-cal/metadata.xml
@@ -9,4 +9,7 @@
<email>proxy-maint@gentoo.org</email>
<name>Proxy Maintainers</name>
</maintainer>
+ <upstream>
+ <remote-id type="github">awslabs/aws-c-cal</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/dev-libs/aws-c-common/aws-c-common-0.4.62.ebuild b/dev-libs/aws-c-common/aws-c-common-0.4.62.ebuild
index 7f1ab8b2b7e7..4301c1e50ee7 100644
--- a/dev-libs/aws-c-common/aws-c-common-0.4.62.ebuild
+++ b/dev-libs/aws-c-common/aws-c-common-0.4.62.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -18,8 +18,8 @@ RESTRICT="!test? ( test )"
BDEPEND="
|| (
- >dev-util/cmake-3.19.1
- <dev-util/cmake-3.19.0
+ >dev-build/cmake-3.19.1
+ <dev-build/cmake-3.19.0
)
"
diff --git a/dev-libs/aws-c-common/metadata.xml b/dev-libs/aws-c-common/metadata.xml
index e467b78655b3..74ef5bba7d8a 100644
--- a/dev-libs/aws-c-common/metadata.xml
+++ b/dev-libs/aws-c-common/metadata.xml
@@ -9,6 +9,9 @@
<email>proxy-maint@gentoo.org</email>
<name>Proxy Maintainers</name>
</maintainer>
+ <upstream>
+ <remote-id type="github">awslabs/aws-c-common</remote-id>
+ </upstream>
<longdescription>
Core c99 package for AWS SDK for C. Includes cross-platform primitives,
configuration, data structures, and error handling.
diff --git a/dev-libs/aws-c-event-stream/aws-c-event-stream-0.2.5-r1.ebuild b/dev-libs/aws-c-event-stream/aws-c-event-stream-0.2.5-r1.ebuild
index 229b574ddd78..b74da3e1e090 100644
--- a/dev-libs/aws-c-event-stream/aws-c-event-stream-0.2.5-r1.ebuild
+++ b/dev-libs/aws-c-event-stream/aws-c-event-stream-0.2.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=7
@@ -18,8 +18,8 @@ RESTRICT="!test? ( test )"
BDEPEND="
|| (
- >dev-util/cmake-3.19.1
- <dev-util/cmake-3.19.0
+ >dev-build/cmake-3.19.1
+ <dev-build/cmake-3.19.0
)
"
diff --git a/dev-libs/aws-c-event-stream/metadata.xml b/dev-libs/aws-c-event-stream/metadata.xml
index b8ec77e47205..0cde327ac057 100644
--- a/dev-libs/aws-c-event-stream/metadata.xml
+++ b/dev-libs/aws-c-event-stream/metadata.xml
@@ -9,4 +9,7 @@
<email>proxy-maint@gentoo.org</email>
<name>Proxy Maintainers</name>
</maintainer>
+ <upstream>
+ <remote-id type="github">awslabs/aws-c-event-stream</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/dev-libs/aws-c-io/aws-c-io-0.7.0-r1.ebuild b/dev-libs/aws-c-io/aws-c-io-0.7.0-r1.ebuild
index 3bae4a9f0357..27947e20ab2e 100644
--- a/dev-libs/aws-c-io/aws-c-io-0.7.0-r1.ebuild
+++ b/dev-libs/aws-c-io/aws-c-io-0.7.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
@@ -18,8 +18,8 @@ RESTRICT="!test? ( test )"
BDEPEND="
|| (
- >dev-util/cmake-3.19.1
- <dev-util/cmake-3.19.0
+ >dev-build/cmake-3.19.1
+ <dev-build/cmake-3.19.0
)
"
diff --git a/dev-libs/aws-c-io/metadata.xml b/dev-libs/aws-c-io/metadata.xml
index 728259f43230..ccc2c399cc5a 100644
--- a/dev-libs/aws-c-io/metadata.xml
+++ b/dev-libs/aws-c-io/metadata.xml
@@ -9,6 +9,9 @@
<email>proxy-maint@gentoo.org</email>
<name>Proxy Maintainers</name>
</maintainer>
+ <upstream>
+ <remote-id type="github">awslabs/aws-c-io</remote-id>
+ </upstream>
<longdescription>
This is a module for the AWS SDK for C. It handles all IO and TLS work for application protocols.
diff --git a/dev-libs/aws-checksums/aws-checksums-0.1.10.ebuild b/dev-libs/aws-checksums/aws-checksums-0.1.10.ebuild
index 61375a3de8b2..e456f93cb20f 100644
--- a/dev-libs/aws-checksums/aws-checksums-0.1.10.ebuild
+++ b/dev-libs/aws-checksums/aws-checksums-0.1.10.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -18,8 +18,8 @@ RESTRICT="!test? ( test )"
BDEPEND="
|| (
- >dev-util/cmake-3.19.1
- <dev-util/cmake-3.19.0
+ >dev-build/cmake-3.19.1
+ <dev-build/cmake-3.19.0
)
"
diff --git a/dev-libs/aws-checksums/metadata.xml b/dev-libs/aws-checksums/metadata.xml
index 13271d7199fd..1bbf8de9f110 100644
--- a/dev-libs/aws-checksums/metadata.xml
+++ b/dev-libs/aws-checksums/metadata.xml
@@ -9,6 +9,9 @@
<email>proxy-maint@gentoo.org</email>
<name>Proxy Maintainers</name>
</maintainer>
+ <upstream>
+ <remote-id type="github">awslabs/aws-checksums</remote-id>
+ </upstream>
<longdescription>
Cross-Platform HW accelerated CRC32c and CRC32 with fallback to
efficient SW implementations. C interface with language
diff --git a/dev-libs/aws-sdk-cpp/Manifest b/dev-libs/aws-sdk-cpp/Manifest
deleted file mode 100644
index 7c55604e6c1c..000000000000
--- a/dev-libs/aws-sdk-cpp/Manifest
+++ /dev/null
@@ -1,2 +0,0 @@
-DIST aws-sdk-cpp-1.8.105.tar.gz 31880249 BLAKE2B 1a2eb972b716c656f45b8d1d12fc3e7280c171e4a19eb5431e320511365d305211e8567aa7fcc3e21f553ad5befda91829df6ccf60c23296d210d0c7347bb2a2 SHA512 a76da095718c8569c62597431d29a0a54c1a7f81c1825894f0f40b1a971a3e0b4f0813da4ac929612b9bb5f92501ee6a034436faa6eef678d936117765baab7e
-DIST aws-sdk-cpp-1.8.160.tar.gz 33282825 BLAKE2B 3c48edb5578d4450feeab94f9c44ec8222e2e7785d8f69d468b97cddc9bb503bb1648facdce85c2c90a73141c60a22aa6d1e29aeb4b8a904f8e926055f48124e SHA512 b71bed89d27361bf735907ad86908a3dcb952ff6ba9d6c2c04dd2ff6afded777b12ad2da79ba97744ef9ade6fa21a5ff4451f5b664bbab8bae4864fa4e0db073
diff --git a/dev-libs/aws-sdk-cpp/aws-sdk-cpp-1.8.105.ebuild b/dev-libs/aws-sdk-cpp/aws-sdk-cpp-1.8.105.ebuild
deleted file mode 100644
index 88c4f757a87c..000000000000
--- a/dev-libs/aws-sdk-cpp/aws-sdk-cpp-1.8.105.ebuild
+++ /dev/null
@@ -1,195 +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 cmake python-single-r1
-
-DESCRIPTION="AWS SDK for C++"
-HOMEPAGE="https://aws.amazon.com/sdk-for-cpp/"
-SRC_URI="https://github.com/aws/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-MODULES=(
- access-management apigateway appconfig backup batch budgets chime cloud-desktop cloud-dev cloud-media
- cloud-mobile cloudformation cloudfront cloudhsm cloudsearch cloudwatch cognito config dlm ebs ec2 ecr ecs
- eks elasticache elasticbeanstalk elastic-inference elasticloadbalancing elasticmapreduce email es events
- forecast frauddetector fsx globalaccelerator iot kendra kinesis kms lambda lex license-manager lightsail
- lookoutvision machinelearning macie managedblockchain marketplace mwaa networkmanager opsworks
- organizations other outposts personalize polly qldb queues rds rekognition resource-groups route53 s3
- sagemaker secretsmanager securityhub serverlessrepo shield sns sqs textract timestream transcribe
- translate waf
-)
-
-IUSE="+http pulseaudio +rtti +ssl static-libs test unity-build ${MODULES[*]}"
-REQUIRED_USE="${PYTHON_REQUIRED_USE}"
-RESTRICT="!test? ( test )"
-
-DEPEND="
- http? ( net-misc/curl:= )
- pulseaudio? ( media-sound/pulseaudio )
- ssl? (
- dev-libs/openssl:0=
- )
- >=dev-libs/aws-c-common-0.4.62:=[static-libs=]
- >=dev-libs/aws-c-event-stream-0.2.5:=[static-libs=]
- >=dev-libs/aws-checksums-0.1.10:=[static-libs=]
- sys-libs/zlib
-"
-RDEPEND="
- ${DEPEND}
- ${PYTHON_DEPS}
-"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-upgrade_android-build_build_and_test_android_py-3.9.patch
- "${FILESDIR}"/${PN}-upgrade_binary-release-pipeline_lambda_publish_py-3.9.patch
- "${FILESDIR}"/${PN}-upgrade_CI_ConstructReleaseDoc_py-3.9.patch
- "${FILESDIR}"/${PN}-upgrade_CI_ExtractBuildArgs_py-3.9.patch
- "${FILESDIR}"/${PN}-upgrade_CI_handle_release_notification_py-3.9.patch
- "${FILESDIR}"/${PN}-upgrade_CI_move_release_doc_to_models_py-3.9.patch
- "${FILESDIR}"/${PN}-upgrade_doc_crosslinks_generate_cross_link_data_py-3.9.patch
- "${FILESDIR}"/${PN}-upgrade_scripts_build_3rdparty_py-3.9.patch
- "${FILESDIR}"/${PN}-upgrade_scripts_build_example_py-3.9.patch
- "${FILESDIR}"/${PN}-upgrade_scripts_dummy_web_server_py-3.9.patch
- "${FILESDIR}"/${PN}-upgrade_scripts_endpoints_checker_py-3.9.patch
- "${FILESDIR}"/${PN}-upgrade_scripts_gather_3rdparty_py-3.9.patch
- "${FILESDIR}"/${PN}-upgrade_scripts_generate_sdks_py-3.9.patch
- "${FILESDIR}"/${PN}-upgrade_scripts_renew_license_py-3.9.patch
- "${FILESDIR}"/${PN}-upgrade_scripts_run_integration_tests_py-3.9.patch
- "${FILESDIR}"/${P}-remove_Werror_from_FLAGS.patch
-)
-
-src_configure() {
- local mybuildtargets="core"
-
- for module in ${MODULES[@]}; do
- if use ${module}; then
- if [ "${module}" = "access-management" ] ; then
- mybuildtargets+=";${module};accessanalyzer;acm;acm-pca;dataexchange;iam"
- mybuildtargets+=";identity-management;identitystore;ram;sso;sso-admin;sso-oidc;sts"
- elif [ "${module}" = "apigateway" ] ; then
- mybuildtargets+=";${module};apigatewaymanagementapi;apigatewayv2"
- elif [ "${module}" = "budgets" ] ; then
- mybuildtargets+=";${module};ce;cur"
- elif [ "${module}" = "cloud-desktop" ] ; then
- mybuildtargets+=";appstream;workdocs;worklink;workmail;workmailmessageflow;workspaces"
- elif [ "${module}" = "cloud-dev" ] ; then
- mybuildtargets+=";cloud9;codeartifact;codebuild;codecommit;codedeploy;codeguruprofiler"
- mybuildtargets+=";codeguru-reviewer;codepipeline;codestar;codestar-connections"
- mybuildtargets+=";codestar-notifications;honeycode;xray"
- if ! use "queues"; then
- mybuildtargets+=";queues"
- fi
- elif [ "${module}" = "cloud-media" ] ; then
- mybuildtargets+=";elastictranscoder;mediaconnect;mediaconvert;medialive;mediapackage"
- mybuildtargets+=";mediapackage-vod;mediastore;mediastore-data;mediatailor"
- elif [ "${module}" = "cloud-mobile" ] ; then
- mybuildtargets+=";amplify;appsync;devicefarm;mobile;mobileanalytics;pinpoint"
- mybuildtargets+=";pinpoint-email;sms-voice"
- if ! use "sns"; then
- mybuildtargets+=";sns"
- fi
- elif [ "${module}" = "cloudhsm" ] ; then
- mybuildtargets+=";${module};cloudhsmv2"
- elif [ "${module}" = "cloudsearch" ] ; then
- mybuildtargets+=";${module};cloudsearchdomain"
- elif [ "${module}" = "cloudwatch" ] ; then
- mybuildtargets+=";application-insights;appmesh;auditmanager;cloudtrail;compute-optimizer"
- mybuildtargets+=";detective;devops-guru;guardduty;health;inspector;logs;monitoring;synthetics"
- elif [ "${module}" = "cognito" ] ; then
- mybuildtargets+=";cognito-identity;cognito-idp;cognito-sync"
- elif [ "${module}" = "dynamodb" ] ; then
- mybuildtargets+=";${module};dax;dynamodbstreams"
- elif [ "${module}" = "ec2" ] ; then
- mybuildtargets+=";${module};autoscaling;autoscaling-plans;application-autoscaling"
- mybuildtargets+=";ec2-instance-connect;elasticfilesystem;imagebuilder;savingsplans"
- elif [ "${module}" = "ecr" ] ; then
- mybuildtargets+=";${module};ecr-public"
- elif [ "${module}" = "eks" ] ; then
- mybuildtargets+=";${module};emr-containers"
- elif [ "${module}" = "elasticloadbalancing" ] ; then
- mybuildtargets+=";${module};elasticloadbalancingv2"
- elif [ "${module}" = "email" ] ; then
- mybuildtargets+=";${module};sesv2"
- elif [ "${module}" = "events" ] ; then
- mybuildtargets+=";${module};eventbridge"
- elif [ "${module}" = "forecast" ] ; then
- mybuildtargets+=";${module};forecastquery"
- elif [ "${module}" = "iot" ] ; then
- mybuildtargets+=";${module};greengrass;iot1click-devices;iot1click-projects"
- mybuildtargets+=";iotanalytics;iot-data;iotevents;iotevents-data;iot-jobs-data"
- mybuildtargets+=";iotsecuretunneling;iotsitewise;iotthingsgraph"
- elif [ "${module}" = "kinesis" ] ; then
- mybuildtargets+=";${module};firehose;ivs;kinesisanalytics;kinesisanalyticsv2"
- mybuildtargets+=";kinesisvideo;kinesis-video-archived-media;kinesis-video-media"
- mybuildtargets+=";kinesis-video-signaling"
- elif [ "${module}" = "lex" ] ; then
- mybuildtargets+=";${module};lex-models"
- elif [ "${module}" = "macie" ] ; then
- mybuildtargets+=";${module};macie2"
- elif [ "${module}" = "marketplace" ] ; then
- mybuildtargets+=";marketplacecommerceanalytics;marketplace-catalog"
- mybuildtargets+=";marketplace-entitlement;meteringmarketplace;pricing"
- mybuildtargets+=";servicecatalog-appregistry"
- elif [ "${module}" = "opsworks" ] ; then
- mybuildtargets+=";${module};opsworkscm"
- elif [ "${module}" = "other" ] ; then
- mybuildtargets+=";AWSMigrationHub;alexaforbusiness;appflow;braket;clouddirectory"
- mybuildtargets+=";comprehend;comprehendmedical;connect;connect-contact-lens"
- mybuildtargets+=";connectparticipant;customer-profiles;datapipeline;databrew;datasync"
- mybuildtargets+=";directconnect;discovery;dms;docdb;ds;dynamodb;gamelift;glue"
- mybuildtargets+=";groundstation;healthlake;importexport;kafka;lakeformation"
- mybuildtargets+=";migrationhub-config;mq;mturk-requester;neptune;quicksight;redshift"
- mybuildtargets+=";robomaker;sdb;schemas;service-quotas;servicecatalog;servicediscovery"
- mybuildtargets+=";signer;sms;snowball;ssm;states;storagegateway;support;swf"
- elif [ "${module}" = "outposts" ] ; then
- mybuildtargets+=";${module};s3outposts"
- elif [ "${module}" = "personalize" ] ; then
- mybuildtargets+=";${module};personalize-events;personalize-runtime"
- elif [ "${module}" = "polly" ] ; then
- mybuildtargets+=";${module};text-to-speech"
- elif [ "${module}" = "qldb" ] ; then
- mybuildtargets+=";${module};qldb-session"
- elif [ "${module}" = "rds" ] ; then
- mybuildtargets+=";${module};pi;rds-data"
- elif [ "${module}" = "resource-groups" ] ; then
- mybuildtargets+=";${module};resourcegroupstaggingapi"
- elif [ "${module}" = "route53" ] ; then
- mybuildtargets+=";${module};route53domains;route53resolver"
- elif [ "${module}" = "s3" ] ; then
- mybuildtargets+=";${module};athena;awstransfer;glacier;s3-encryption;s3control;transfer"
- elif [ "${module}" = "sagemaker" ] ; then
- mybuildtargets+=";${module};sagemaker-a2i-runtime;sagemaker-edge"
- mybuildtargets+=";sagemaker-featurestore-runtime;sagemaker-runtime"
- elif [ "${module}" = "timestream" ] ; then
- mybuildtargets+=";timestream-query;timestream-write"
- elif [ "${module}" = "transcribe" ] ; then
- mybuildtargets+=";${module};transcribestreaming"
- elif [ "${module}" = "waf" ] ; then
- mybuildtargets+=";${module};fms;network-firewall;waf-regional;wafv2"
- else
- mybuildtargets+=";${module}"
- fi
- fi
- done
-
- local mycmakeargs=(
- -DAUTORUN_UNIT_TESTS=$(usex test)
- -DBUILD_DEPS=NO
- -DBUILD_ONLY="${mybuildtargets}"
- -DBUILD_SHARED_LIBS=$(usex !static-libs)
- -DCPP_STANDARD=17
- -DENABLE_RTTI=$(usex rtti)
- -DENABLE_TESTING=$(usex test)
- -DENABLE_UNITY_BUILD=$(usex unity-build)
- -DNO_ENCRYPTION=$(usex !ssl)
- -DNO_HTTP_CLIENT=$(usex !http)
- )
- cmake_src_configure
-}
diff --git a/dev-libs/aws-sdk-cpp/aws-sdk-cpp-1.8.160.ebuild b/dev-libs/aws-sdk-cpp/aws-sdk-cpp-1.8.160.ebuild
deleted file mode 100644
index d1b0790ea76e..000000000000
--- a/dev-libs/aws-sdk-cpp/aws-sdk-cpp-1.8.160.ebuild
+++ /dev/null
@@ -1,206 +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 cmake python-single-r1
-
-DESCRIPTION="AWS SDK for C++"
-HOMEPAGE="https://aws.amazon.com/sdk-for-cpp/"
-SRC_URI="https://github.com/aws/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-MODULES=(
- access-management apigateway appconfig backup batch budgets chime cloud-desktop cloud-dev cloud-media
- cloud-mobile cloudformation cloudfront cloudhsm cloudsearch cloudwatch cognito config dlm ebs ec2 ecr ecs
- eks elasticache elasticbeanstalk elastic-inference elasticloadbalancing elasticmapreduce email es events
- forecast frauddetector fsx globalaccelerator iot kendra kinesis kms lambda lex license-manager lightsail
- lookoutvision machinelearning macie managedblockchain marketplace mwaa networkmanager opsworks
- organizations other outposts personalize polly qldb queues rds rekognition resource-groups route53 s3
- sagemaker secretsmanager securityhub serverlessrepo shield sns sqs textract timestream transcribe
- translate waf wellarchitected
-)
-
-IUSE="+http pulseaudio +rtti +ssl static-libs test unity-build ${MODULES[*]}"
-REQUIRED_USE="${PYTHON_REQUIRED_USE}"
-RESTRICT="!test? ( test )"
-
-DEPEND="
- http? ( net-misc/curl:= )
- pulseaudio? ( media-sound/pulseaudio )
- ssl? (
- dev-libs/openssl:0=
- )
- >=dev-libs/aws-c-common-0.5.2:=[static-libs=]
- >=dev-libs/aws-c-event-stream-0.2.7:=[static-libs=]
- >=dev-libs/aws-checksums-0.1.10:=[static-libs=]
- sys-libs/zlib
-"
-RDEPEND="
- ${DEPEND}
- ${PYTHON_DEPS}
-"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-upgrade_android-build_build_and_test_android_py-3.9.patch
- "${FILESDIR}"/${PN}-upgrade_binary-release-pipeline_lambda_publish_py-3.9.patch
- "${FILESDIR}"/${PN}-upgrade_CI_ConstructReleaseDoc_py-3.9.patch
- "${FILESDIR}"/${PN}-upgrade_CI_ExtractBuildArgs_py-3.9.patch
- "${FILESDIR}"/${PN}-upgrade_CI_handle_release_notification_py-3.9.patch
- "${FILESDIR}"/${PN}-upgrade_CI_move_release_doc_to_models_py-3.9.patch
- "${FILESDIR}"/${PN}-upgrade_doc_crosslinks_generate_cross_link_data_py-3.9.patch
- "${FILESDIR}"/${PN}-upgrade_scripts_build_3rdparty_py-3.9.patch
- "${FILESDIR}"/${PN}-upgrade_scripts_build_example_py-3.9.patch
- "${FILESDIR}"/${PN}-upgrade_scripts_dummy_web_server_py-3.9.patch
- "${FILESDIR}"/${PN}-upgrade_scripts_endpoints_checker_py-3.9.patch
- "${FILESDIR}"/${PN}-upgrade_scripts_gather_3rdparty_py-3.9.patch
- "${FILESDIR}"/${PN}-upgrade_scripts_generate_sdks_py-3.9.patch
- "${FILESDIR}"/${PN}-upgrade_scripts_renew_license_py-3.9.patch
- "${FILESDIR}"/${PN}-upgrade_scripts_run_integration_tests_py-3.9.patch
- "${FILESDIR}"/${PN}-1.8.105-remove_Werror_from_FLAGS.patch
- "${FILESDIR}"/${P}-disable_http_testing.patch
-)
-
-src_configure() {
- local mybuildtargets="core"
-
- for module in ${MODULES[@]}; do
- if use ${module}; then
- if [ "${module}" = "access-management" ] ; then
- mybuildtargets+=";${module};accessanalyzer;acm;acm-pca;dataexchange;iam"
- mybuildtargets+=";identity-management;identitystore;ram;sso;sso-admin;sso-oidc;sts"
- elif [ "${module}" = "apigateway" ] ; then
- mybuildtargets+=";${module};apigatewaymanagementapi;apigatewayv2"
- elif [ "${module}" = "budgets" ] ; then
- mybuildtargets+=";${module};ce;cur"
- elif [ "${module}" = "cloud-desktop" ] ; then
- mybuildtargets+=";appstream;workdocs;worklink;workmail;workmailmessageflow;workspaces"
- elif [ "${module}" = "cloud-dev" ] ; then
- mybuildtargets+=";cloud9;codeartifact;codebuild;codecommit;codedeploy;codeguruprofiler"
- mybuildtargets+=";codeguru-reviewer;codepipeline;codestar;codestar-connections"
- mybuildtargets+=";codestar-notifications;honeycode;xray"
- if ! use "queues"; then
- mybuildtargets+=";queues"
- fi
- elif [ "${module}" = "cloud-media" ] ; then
- mybuildtargets+=";elastictranscoder;mediaconnect;mediaconvert;medialive;mediapackage"
- mybuildtargets+=";mediapackage-vod;mediastore;mediastore-data;mediatailor"
- elif [ "${module}" = "cloud-mobile" ] ; then
- mybuildtargets+=";amplify;appsync;devicefarm;mobile;mobileanalytics;pinpoint"
- mybuildtargets+=";pinpoint-email;sms-voice"
- if ! use "sns"; then
- mybuildtargets+=";sns"
- fi
- elif [ "${module}" = "cloudhsm" ] ; then
- mybuildtargets+=";${module};cloudhsmv2"
- elif [ "${module}" = "cloudsearch" ] ; then
- mybuildtargets+=";${module};cloudsearchdomain"
- elif [ "${module}" = "cloudwatch" ] ; then
- mybuildtargets+=";application-insights;appmesh;auditmanager;cloudtrail;compute-optimizer"
- mybuildtargets+=";detective;devops-guru;guardduty;health;inspector;logs;monitoring;synthetics"
- elif [ "${module}" = "cognito" ] ; then
- mybuildtargets+=";cognito-identity;cognito-idp;cognito-sync"
- elif [ "${module}" = "dynamodb" ] ; then
- mybuildtargets+=";${module};dax;dynamodbstreams"
- elif [ "${module}" = "ec2" ] ; then
- mybuildtargets+=";${module};autoscaling;autoscaling-plans;application-autoscaling"
- mybuildtargets+=";ec2-instance-connect;elasticfilesystem;imagebuilder;savingsplans"
- elif [ "${module}" = "ecr" ] ; then
- mybuildtargets+=";${module};ecr-public"
- elif [ "${module}" = "eks" ] ; then
- mybuildtargets+=";${module};emr-containers"
- elif [ "${module}" = "elasticloadbalancing" ] ; then
- mybuildtargets+=";${module};elasticloadbalancingv2"
- elif [ "${module}" = "email" ] ; then
- mybuildtargets+=";${module};sesv2"
- elif [ "${module}" = "events" ] ; then
- mybuildtargets+=";${module};eventbridge"
- elif [ "${module}" = "forecast" ] ; then
- mybuildtargets+=";${module};forecastquery"
- elif [ "${module}" = "iot" ] ; then
- mybuildtargets+=";${module};greengrass;greengrassv2;iot1click-devices;iot1click-projects;iotanalytics"
- mybuildtargets+=";iot-data;iotdeviceadvisor;iotevents;iotfleethub;iotevents-data;iot-jobs-data"
- mybuildtargets+=";iotsecuretunneling;iotsitewise;iotthingsgraph;iotwireless"
- elif [ "${module}" = "kinesis" ] ; then
- mybuildtargets+=";${module};firehose;ivs;kinesisanalytics;kinesisanalyticsv2"
- mybuildtargets+=";kinesisvideo;kinesis-video-archived-media;kinesis-video-media"
- mybuildtargets+=";kinesis-video-signaling"
- elif [ "${module}" = "lex" ] ; then
- mybuildtargets+=";${module};lex-models;lexv2-models;lexv2-runtime"
- elif [ "${module}" = "macie" ] ; then
- mybuildtargets+=";${module};macie2"
- elif [ "${module}" = "marketplace" ] ; then
- mybuildtargets+=";marketplacecommerceanalytics;marketplace-catalog"
- mybuildtargets+=";marketplace-entitlement;meteringmarketplace;pricing"
- mybuildtargets+=";servicecatalog-appregistry"
- elif [ "${module}" = "opsworks" ] ; then
- mybuildtargets+=";${module};opsworkscm"
- elif [ "${module}" = "other" ] ; then
- mybuildtargets+=";AWSMigrationHub;alexaforbusiness;appflow;appintegrations;braket;clouddirectory"
- mybuildtargets+=";comprehend;comprehendmedical;connect;connect-contact-lens"
- mybuildtargets+=";connectparticipant;customer-profiles;datapipeline;databrew;datasync"
- mybuildtargets+=";directconnect;discovery;dms;docdb;ds;dynamodb;gamelift;glue"
- mybuildtargets+=";groundstation;healthlake;importexport;kafka;lakeformation"
- mybuildtargets+=";migrationhub-config;mq;mturk-requester;neptune;quicksight;redshift"
- mybuildtargets+=";robomaker;sdb;schemas;service-quotas;servicecatalog;servicediscovery"
- mybuildtargets+=";signer;sms;snowball;ssm;states;storagegateway;support;swf"
- elif [ "${module}" = "outposts" ] ; then
- mybuildtargets+=";${module};s3outposts"
- elif [ "${module}" = "personalize" ] ; then
- mybuildtargets+=";${module};personalize-events;personalize-runtime"
- elif [ "${module}" = "polly" ] ; then
- mybuildtargets+=";${module};text-to-speech"
- elif [ "${module}" = "qldb" ] ; then
- mybuildtargets+=";${module};qldb-session"
- elif [ "${module}" = "rds" ] ; then
- mybuildtargets+=";${module};pi;rds-data"
- elif [ "${module}" = "resource-groups" ] ; then
- mybuildtargets+=";${module};resourcegroupstaggingapi"
- elif [ "${module}" = "route53" ] ; then
- mybuildtargets+=";${module};route53domains;route53resolver"
- elif [ "${module}" = "s3" ] ; then
- mybuildtargets+=";${module};athena;awstransfer;glacier;s3-encryption;s3control;transfer"
- elif [ "${module}" = "sagemaker" ] ; then
- mybuildtargets+=";${module};sagemaker-a2i-runtime;sagemaker-edge"
- mybuildtargets+=";sagemaker-featurestore-runtime;sagemaker-runtime"
- elif [ "${module}" = "timestream" ] ; then
- mybuildtargets+=";timestream-query;timestream-write"
- elif [ "${module}" = "transcribe" ] ; then
- mybuildtargets+=";${module};transcribestreaming"
- elif [ "${module}" = "waf" ] ; then
- mybuildtargets+=";${module};fms;network-firewall;waf-regional;wafv2"
- else
- mybuildtargets+=";${module}"
- fi
- fi
- done
-
- local mycmakeargs=(
- -DAUTORUN_UNIT_TESTS=$(usex test)
- -DBUILD_DEPS=NO
- -DBUILD_ONLY="${mybuildtargets}"
- -DBUILD_SHARED_LIBS=$(usex !static-libs)
- -DCPP_STANDARD=17
- -DENABLE_RTTI=$(usex rtti)
- -DENABLE_TESTING=$(usex test)
- -DENABLE_UNITY_BUILD=$(usex unity-build)
- -DNO_ENCRYPTION=$(usex !ssl)
- -DNO_HTTP_CLIENT=$(usex !http)
- )
-
- if use test; then
- # (#759802) Due to network sandboxing of portage, internet connectivity
- # tests will always fail. If you need a USE flag, because you want/need
- # to perform these tests manually, please open a bug report for it.
- mycmakeargs+=(
- -DENABLE_HTTP_CLIENT_TESTING=OFF
- )
- fi
-
- cmake_src_configure
-}
diff --git a/dev-libs/aws-sdk-cpp/files/aws-sdk-cpp-1.8.105-remove_Werror_from_FLAGS.patch b/dev-libs/aws-sdk-cpp/files/aws-sdk-cpp-1.8.105-remove_Werror_from_FLAGS.patch
deleted file mode 100644
index 8130066cc391..000000000000
--- a/dev-libs/aws-sdk-cpp/files/aws-sdk-cpp-1.8.105-remove_Werror_from_FLAGS.patch
+++ /dev/null
@@ -1,30 +0,0 @@
---- a/cmake/compiler_settings.cmake 2020-12-12 15:31:17.703362345 +0100
-+++ b/cmake/compiler_settings.cmake 2020-12-12 15:31:53.641363625 +0100
-@@ -53,7 +53,7 @@
- endmacro()
-
- macro(set_gcc_warnings)
-- list(APPEND AWS_COMPILER_WARNINGS "-Wall" "-Werror" "-pedantic" "-Wextra")
-+ list(APPEND AWS_COMPILER_WARNINGS "-Wall" "-pedantic" "-Wextra")
- if(COMPILER_CLANG)
- if(PLATFORM_ANDROID)
- # when using clang with libc and API lower than 21 we need to include Android support headers and ignore the gnu-include-next warning.
---- a/cspell.json 2020-12-12 15:31:17.703362345 +0100
-+++ b/cspell.json 2020-12-12 15:31:42.488363228 +0100
-@@ -13,7 +13,7 @@
- // CMake
- "cmake", "DCMAKE", "AUTORUN", "DEPS", "STREQUAL", "RPATH", "STREQUAL", "DTARGET", "TOOLCHAIN", "DANDROID", "DBUILD", "DGIT", "SYSROOT", "DSTATIC", "BINDIR", "LIBDIR", "INCLUDEDIR", "DHAS",
- // Compiler and linker
-- "Wpedantic", "Wextra", "Werror", "xldscope", "Wtype", "Wunused", "RTTI", "ffunction", "fdata", "fsanitize", "pathconf", "unistd", "umask",
-+ "Wpedantic", "Wextra", "xldscope", "Wtype", "Wunused", "RTTI", "ffunction", "fdata", "fsanitize", "pathconf", "unistd", "umask",
- // Android NDK
- "JNIEXPORT", "jint", "JNICALL", "jobject", "jclass", "jmethod", "Ljava",
- // XML parser
---- a/CI/install-test/CMakeLists.txt 2020-12-12 15:31:17.704362345 +0100
-+++ b/CI/install-test/CMakeLists.txt 2020-12-12 15:32:06.433364080 +0100
-@@ -4,4 +4,4 @@
- find_package(AWSSDK REQUIRED COMPONENTS s3)
- add_executable(${PROJECT_NAME} "main.cpp")
- target_link_libraries(${PROJECT_NAME} ${AWSSDK_LINK_LIBRARIES})
--target_compile_options(${PROJECT_NAME} PRIVATE "-Wall" "-Werror")
-+target_compile_options(${PROJECT_NAME} PRIVATE "-Wall")
diff --git a/dev-libs/aws-sdk-cpp/files/aws-sdk-cpp-1.8.160-disable_http_testing.patch b/dev-libs/aws-sdk-cpp/files/aws-sdk-cpp-1.8.160-disable_http_testing.patch
deleted file mode 100644
index 8bf926148e52..000000000000
--- a/dev-libs/aws-sdk-cpp/files/aws-sdk-cpp-1.8.160-disable_http_testing.patch
+++ /dev/null
@@ -1,17 +0,0 @@
---- a/aws-cpp-sdk-core-tests/http/HttpClientTest.cpp 2021-03-14 12:52:01.193340560 +0100
-+++ b/aws-cpp-sdk-core-tests/http/HttpClientTest.cpp 2021-03-14 12:52:42.684342951 +0100
-@@ -18,7 +18,7 @@
- using namespace Aws::Utils;
- using namespace Aws::Client;
-
--#ifndef NO_HTTP_CLIENT
-+#if !defined(NO_HTTP_CLIENT) && ENABLE_HTTP_CLIENT_TESTING
- static void makeRandomHttpRequest(std::shared_ptr<HttpClient> httpClient)
- {
- auto request = CreateHttpRequest(Aws::String("http://some.unknown1234xxx.test.aws"),
-@@ -319,4 +319,4 @@
- }
- #endif // ENABLE_CURL_CLIENT
- #endif // ENABLE_HTTP_CLIENT_TESTING
--#endif // NO_HTTP_CLIENT
-+#endif // !defined(NO_HTTP_CLIENT) && ENABLE_HTTP_CLIENT_TESTING
diff --git a/dev-libs/aws-sdk-cpp/files/aws-sdk-cpp-upgrade_CI_ConstructReleaseDoc_py-3.9.patch b/dev-libs/aws-sdk-cpp/files/aws-sdk-cpp-upgrade_CI_ConstructReleaseDoc_py-3.9.patch
deleted file mode 100644
index 658abfded785..000000000000
--- a/dev-libs/aws-sdk-cpp/files/aws-sdk-cpp-upgrade_CI_ConstructReleaseDoc_py-3.9.patch
+++ /dev/null
@@ -1,10 +0,0 @@
---- a/CI/ConstructReleaseDoc.py (original)
-+++ b/CI/ConstructReleaseDoc.py (refactored)
-@@ -35,6 +35,6 @@
- releases.append(release)
- changeDoc["releases"] = releases
-
-- print(json.dumps(changeDoc))
-+ print((json.dumps(changeDoc)))
-
- Main()
diff --git a/dev-libs/aws-sdk-cpp/files/aws-sdk-cpp-upgrade_CI_ExtractBuildArgs_py-3.9.patch b/dev-libs/aws-sdk-cpp/files/aws-sdk-cpp-upgrade_CI_ExtractBuildArgs_py-3.9.patch
deleted file mode 100644
index fb6856abff3c..000000000000
--- a/dev-libs/aws-sdk-cpp/files/aws-sdk-cpp-upgrade_CI_ExtractBuildArgs_py-3.9.patch
+++ /dev/null
@@ -1,22 +0,0 @@
---- a/CI/ExtractBuildArgs.py (original)
-+++ b/CI/ExtractBuildArgs.py (refactored)
-@@ -3,15 +3,15 @@
- import json
-
- if len(sys.argv) != 2:
-- print >> sys.stderr, " Usage: python ExtractBuildArgs.py <ArgName>"
-+ print(" Usage: python ExtractBuildArgs.py <ArgName>", file=sys.stderr)
- exit (-1)
-
- try:
- data = json.load(open('BuildSpec.json'))
- if sys.argv[1] == "cmakeFlags" and data["cmakeFlags"] != "":
-- print(data["cmakeFlags"])
-+ print((data["cmakeFlags"]))
- elif sys.argv[1] == "branch" and data["branch"] != "":
-- print(data["branch"])
-+ print((data["branch"]))
- except:
-- print >> sys.stderr, "No related args found in BuildSpec.json"
-+ print("No related args found in BuildSpec.json", file=sys.stderr)
- exit(-1)
diff --git a/dev-libs/aws-sdk-cpp/files/aws-sdk-cpp-upgrade_CI_handle_release_notification_py-3.9.patch b/dev-libs/aws-sdk-cpp/files/aws-sdk-cpp-upgrade_CI_handle_release_notification_py-3.9.patch
deleted file mode 100644
index ddd162025b49..000000000000
--- a/dev-libs/aws-sdk-cpp/files/aws-sdk-cpp-upgrade_CI_handle_release_notification_py-3.9.patch
+++ /dev/null
@@ -1,9 +0,0 @@
---- a/CI/handle_release_notification.py (original)
-+++ b/CI/handle_release_notification.py (refactored)
-@@ -1,5 +1,5 @@
-
--from __future__ import print_function
-+
-
- import json
- import zipfile
diff --git a/dev-libs/aws-sdk-cpp/files/aws-sdk-cpp-upgrade_CI_move_release_doc_to_models_py-3.9.patch b/dev-libs/aws-sdk-cpp/files/aws-sdk-cpp-upgrade_CI_move_release_doc_to_models_py-3.9.patch
deleted file mode 100644
index ef7a384d7e6e..000000000000
--- a/dev-libs/aws-sdk-cpp/files/aws-sdk-cpp-upgrade_CI_move_release_doc_to_models_py-3.9.patch
+++ /dev/null
@@ -1,9 +0,0 @@
---- a/CI/move_release_doc_to_models.py (original)
-+++ b/CI/move_release_doc_to_models.py (refactored)
-@@ -1,5 +1,5 @@
-
--from __future__ import print_function
-+
-
- import json
- import zipfile
diff --git a/dev-libs/aws-sdk-cpp/files/aws-sdk-cpp-upgrade_android-build_build_and_test_android_py-3.9.patch b/dev-libs/aws-sdk-cpp/files/aws-sdk-cpp-upgrade_android-build_build_and_test_android_py-3.9.patch
deleted file mode 100644
index e77436236c9d..000000000000
--- a/dev-libs/aws-sdk-cpp/files/aws-sdk-cpp-upgrade_android-build_build_and_test_android_py-3.9.patch
+++ /dev/null
@@ -1,28 +0,0 @@
---- a/android-build/build_and_test_android.py (original)
-+++ b/android-build/build_and_test_android.py (refactored)
-@@ -120,13 +120,13 @@
-
- validTests = GetTestList( buildSharedObjects )
- if runTest not in validTests:
-- print( 'Invalid value for runtest option: ' + runTest )
-+ print(( 'Invalid value for runtest option: ' + runTest ))
- print( 'Valid values are: ' )
-- print( ' ' + ", ".join( validTests ) )
-+ print(( ' ' + ", ".join( validTests ) ))
- raise ArgumentException('runtest', runTest)
-
- if not IsValidABI(abi):
-- print('Invalid argument value for abi: ', abi)
-+ print(('Invalid argument value for abi: ', abi))
- print(' Valid values are "armeabi-v7a"')
- raise ArgumentException('abi', abi)
-
-@@ -140,7 +140,7 @@
- avd = FindAVDForABI(abi, avdABIs)
-
- if not IsValidAVD(avd, abi, avdABIs):
-- print('Invalid virtual device: ', avd)
-+ print(('Invalid virtual device: ', avd))
- print(' Use --avd to set the virtual device')
- print(' Use "android lists avds" to see all usable virtual devices')
- raise ArgumentException('avd', avd)
diff --git a/dev-libs/aws-sdk-cpp/files/aws-sdk-cpp-upgrade_binary-release-pipeline_lambda_publish_py-3.9.patch b/dev-libs/aws-sdk-cpp/files/aws-sdk-cpp-upgrade_binary-release-pipeline_lambda_publish_py-3.9.patch
deleted file mode 100644
index 5322430bfb38..000000000000
--- a/dev-libs/aws-sdk-cpp/files/aws-sdk-cpp-upgrade_binary-release-pipeline_lambda_publish_py-3.9.patch
+++ /dev/null
@@ -1,14 +0,0 @@
---- a/CI/binary-release-pipeline/lambda_publish.py (original)
-+++ b/CI/binary-release-pipeline/lambda_publish.py (refactored)
-@@ -39,9 +39,9 @@
- prefix = publish_key_prefix,
- config = config
- )
-- print('Uploading artifacts to https://s3.console.aws.amazon.com/s3/object/{bucket}/{key}'.format(
-+ print(('Uploading artifacts to https://s3.console.aws.amazon.com/s3/object/{bucket}/{key}'.format(
- bucket = publish_bucket,
-- key = publish_key))
-+ key = publish_key)))
-
- s3.meta.client.copy(
- { 'Bucket': input_artifacts[i]['location']['s3Location']['bucketName'],
diff --git a/dev-libs/aws-sdk-cpp/files/aws-sdk-cpp-upgrade_doc_crosslinks_generate_cross_link_data_py-3.9.patch b/dev-libs/aws-sdk-cpp/files/aws-sdk-cpp-upgrade_doc_crosslinks_generate_cross_link_data_py-3.9.patch
deleted file mode 100644
index f17f05b3d3d5..000000000000
--- a/dev-libs/aws-sdk-cpp/files/aws-sdk-cpp-upgrade_doc_crosslinks_generate_cross_link_data_py-3.9.patch
+++ /dev/null
@@ -1,19 +0,0 @@
---- a/doc_crosslinks/generate_cross_link_data.py (original)
-+++ b/doc_crosslinks/generate_cross_link_data.py (refactored)
-@@ -17,14 +17,14 @@
- if match:
- with codecs.open(join(apiDefinitionsPath, file), 'rb', 'utf-8') as api_definition:
- api_content = json.loads(api_definition.read())
-- if "uid" in api_content["metadata"].keys():
-+ if "uid" in list(api_content["metadata"].keys()):
- sdks[api_content["metadata"]["uid"]] = getServiceNameFromMetadata(api_content["metadata"])
-
- return sdks
-
- def getServiceNameFromMetadata(metadataNode):
- toSanitize = ""
-- if "serviceAbbreviation" in metadataNode.keys():
-+ if "serviceAbbreviation" in list(metadataNode.keys()):
- toSanitize = metadataNode["serviceAbbreviation"]
- else:
- toSanitize = metadataNode["serviceFullName"]
diff --git a/dev-libs/aws-sdk-cpp/files/aws-sdk-cpp-upgrade_scripts_build_3rdparty_py-3.9.patch b/dev-libs/aws-sdk-cpp/files/aws-sdk-cpp-upgrade_scripts_build_3rdparty_py-3.9.patch
deleted file mode 100644
index 885f94800c17..000000000000
--- a/dev-libs/aws-sdk-cpp/files/aws-sdk-cpp-upgrade_scripts_build_3rdparty_py-3.9.patch
+++ /dev/null
@@ -1,70 +0,0 @@
---- a/scripts/build_3rdparty.py (original)
-+++ b/scripts/build_3rdparty.py (refactored)
-@@ -237,7 +237,7 @@
- dependentInstallFile = os.path.join( uppercaseLib + "-prefix", "src", uppercaseLib + "-build", "cmake_install.cmake" )
- dependentInstallDirectory = '"' + os.path.join( installDirectory, "external", dependentLib ) + '"'
- dependent_install_call = "cmake -DCMAKE_INSTALL_CONFIG_NAME=" + config + " -DCMAKE_INSTALL_PREFIX=" + dependentInstallDirectory + " -P " + dependentInstallFile + " .."
-- print( "dependent install call = " + dependent_install_call )
-+ print(( "dependent install call = " + dependent_install_call ))
- subprocess.check_call( dependent_install_call, shell = True )
-
-
-@@ -254,7 +254,7 @@
-
- sourcePlatform = platform.system()
- if not sourcePlatform in platformEnvironments:
-- print( "Platform " + sourcePlatform + " not supported as a build platform" )
-+ print(( "Platform " + sourcePlatform + " not supported as a build platform" ))
- return 1
-
- platformEnv = platformEnvironments[ sourcePlatform ]
-@@ -292,12 +292,12 @@
- shutil.rmtree( installDirectory )
-
- if not architecture in platformBuildTargets:
-- print( "No definition for target architecture " + architecture )
-+ print(( "No definition for target architecture " + architecture ))
- return 1
-
- targetPlatformDef = platformBuildTargets[ architecture ]
- if not sourcePlatform in targetPlatformDef[ 'buildPlatforms' ]:
-- print( "Platform " + sourcePlatform + " does not support building for architecture " + architecture )
-+ print(( "Platform " + sourcePlatform + " does not support building for architecture " + architecture ))
- return 1
-
- buildEnvironment = buildEnvironments[ targetPlatformDef[ 'build_environment' ] ]
-@@ -338,18 +338,18 @@
- cmake_call_list = cmake_call_list + " -DCUSTOM_PLATFORM_DIR=\"" + customPlatformDir + "\""
-
- cmake_call_list = cmake_call_list + " " + quotedSourceDir
-- print( "cmake call = " + cmake_call_list )
-+ print(( "cmake call = " + cmake_call_list ))
- subprocess.check_call( cmake_call_list, shell = True )
-
- parallelBuildOption = buildEnvironment[ 'parallel_option' ].replace("??", str(parallelJobs))
- build_call_list = buildEnvironment[ 'global_build_call' ] + archConfig[ 'build_params' ]
- if parallelBuildOption != "":
- build_call_list = build_call_list + [ parallelBuildOption ]
-- print( "build call = " + str( build_call_list ) )
-+ print(( "build call = " + str( build_call_list ) ))
- subprocess.check_call( build_call_list )
-
- install_call = "cmake -DCMAKE_INSTALL_CONFIG_NAME=" + archConfig[ 'config' ] + " -DCMAKE_INSTALL_PREFIX=" + quotedInstallDirectory + " -P cmake_install.cmake " + quotedSourceDir
-- print( "install call = " + install_call )
-+ print(( "install call = " + install_call ))
- subprocess.check_call( install_call, shell = True )
-
- # platform specific stuff
-@@ -365,9 +365,9 @@
- os.chdir( ".." )
-
- else:
-- print("Build target config " + targetConfig + " does not exist for architecture " + architecture)
--
-- print( "Aws SDK for C++ finished 3rd party installation into: " + installDirectory )
-+ print(("Build target config " + targetConfig + " does not exist for architecture " + architecture))
-+
-+ print(( "Aws SDK for C++ finished 3rd party installation into: " + installDirectory ))
-
-
- # On windows: Run from powershell; make sure msbuild is in PATH environment variable
diff --git a/dev-libs/aws-sdk-cpp/files/aws-sdk-cpp-upgrade_scripts_build_example_py-3.9.patch b/dev-libs/aws-sdk-cpp/files/aws-sdk-cpp-upgrade_scripts_build_example_py-3.9.patch
deleted file mode 100644
index 8596e41c5f27..000000000000
--- a/dev-libs/aws-sdk-cpp/files/aws-sdk-cpp-upgrade_scripts_build_example_py-3.9.patch
+++ /dev/null
@@ -1,18 +0,0 @@
---- a/scripts/build_example.py (original)
-+++ b/scripts/build_example.py (refactored)
-@@ -56,13 +56,13 @@
- cmake_call = cmake_call + " -DCMAKE_PREFIX_PATH=" + sdkInstallDir
- cmake_call = cmake_call + " -DAWSSDK_ROOT_DIR=" + sdkInstallDir
- cmake_call = cmake_call + " " + sourceDir
-- print("cmake call = " + cmake_call)
-+ print(("cmake call = " + cmake_call))
- subprocess.check_call(cmake_call, shell = True)
-
- build_call = buildEnvironment[ platform ][ 'global_build_call' ]
- build_call = build_call + buildEnvironment[ platform ][ 'configs' ].replace("??", buildType)
- build_call = build_call + buildEnvironment[ platform ][ 'parallel_option' ].replace("??", parallel)
-- print("build call = " + build_call)
-+ print(("build call = " + build_call))
- subprocess.check_call(build_call, shell = True)
-
- def Main():
diff --git a/dev-libs/aws-sdk-cpp/files/aws-sdk-cpp-upgrade_scripts_dummy_web_server_py-3.9.patch b/dev-libs/aws-sdk-cpp/files/aws-sdk-cpp-upgrade_scripts_dummy_web_server_py-3.9.patch
deleted file mode 100644
index 396d1b134ebd..000000000000
--- a/dev-libs/aws-sdk-cpp/files/aws-sdk-cpp-upgrade_scripts_dummy_web_server_py-3.9.patch
+++ /dev/null
@@ -1,20 +0,0 @@
---- a/scripts/dummy_web_server.py (original)
-+++ b/scripts/dummy_web_server.py (refactored)
-@@ -78,7 +78,7 @@
- self._set_headers()
- self.wfile.write(self._html("hi!"))
- except socket.error as e:
-- print ("socket.error : Connection broke. Aborting" + str(e))
-+ print(("socket.error : Connection broke. Aborting" + str(e)))
- self.wfile._sock.close()
- self.wfile._sock = None
- return False
-@@ -111,7 +111,7 @@
- server_address = (addr, port)
- httpd = server_class(server_address, handler_class)
-
-- print("Starting httpd server on {}:{}.".format(addr, port))
-+ print(("Starting httpd server on {}:{}.".format(addr, port)))
- httpd.serve_forever()
- httpd.stop_server()
-
diff --git a/dev-libs/aws-sdk-cpp/files/aws-sdk-cpp-upgrade_scripts_endpoints_checker_py-3.9.patch b/dev-libs/aws-sdk-cpp/files/aws-sdk-cpp-upgrade_scripts_endpoints_checker_py-3.9.patch
deleted file mode 100644
index 3fd67591c098..000000000000
--- a/dev-libs/aws-sdk-cpp/files/aws-sdk-cpp-upgrade_scripts_endpoints_checker_py-3.9.patch
+++ /dev/null
@@ -1,29 +0,0 @@
---- a/scripts/endpoints_checker.py (original)
-+++ b/scripts/endpoints_checker.py (refactored)
-@@ -64,8 +64,8 @@
- strippedContent = RemoveCPPComments(content);
- match = ScanContent(strippedContent);
- if match:
-- print inputFile;
-- print "..." + strippedContent[match.start() : match.end()] + "...";
-+ print(inputFile);
-+ print("..." + strippedContent[match.start() : match.end()] + "...");
- return True;
-
- return False;
-@@ -109,7 +109,7 @@
- assert ScanContent("\"cn-north-2 doesn't exist\"") == None;
-
- ###################Test End######################################
--print "Start checking hard coded endpoints in source files...";
-+print("Start checking hard coded endpoints in source files...");
- exitCode = 0;
- RootDir = os.path.dirname(os.path.dirname(os.path.realpath(__file__)));
- for root, dirnames, fileNames in os.walk(RootDir):
-@@ -117,5 +117,5 @@
- if fileName.endswith(('.h', '.cpp')):
- targetFile = os.path.join(root, fileName);
- exitCode |= CheckFile(targetFile);
--print "Finished checking hard coded endpoints in source files with exit code",exitCode,".";
-+print("Finished checking hard coded endpoints in source files with exit code",exitCode,".");
- exit(exitCode);
diff --git a/dev-libs/aws-sdk-cpp/files/aws-sdk-cpp-upgrade_scripts_gather_3rdparty_py-3.9.patch b/dev-libs/aws-sdk-cpp/files/aws-sdk-cpp-upgrade_scripts_gather_3rdparty_py-3.9.patch
deleted file mode 100644
index c1141bdf53e5..000000000000
--- a/dev-libs/aws-sdk-cpp/files/aws-sdk-cpp-upgrade_scripts_gather_3rdparty_py-3.9.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/scripts/gather_3rdparty.py (original)
-+++ b/scripts/gather_3rdparty.py (refactored)
-@@ -200,7 +200,7 @@
-
- # shutil.rmtree( destDir )
-
-- print( "Aws SDK for C++ finished 3rd party pre-build gather into: " + uploadZipFile )
-+ print(( "Aws SDK for C++ finished 3rd party pre-build gather into: " + uploadZipFile ))
-
-
- Main()
diff --git a/dev-libs/aws-sdk-cpp/files/aws-sdk-cpp-upgrade_scripts_generate_sdks_py-3.9.patch b/dev-libs/aws-sdk-cpp/files/aws-sdk-cpp-upgrade_scripts_generate_sdks_py-3.9.patch
deleted file mode 100644
index 12b910425bf5..000000000000
--- a/dev-libs/aws-sdk-cpp/files/aws-sdk-cpp-upgrade_scripts_generate_sdks_py-3.9.patch
+++ /dev/null
@@ -1,25 +0,0 @@
---- a/scripts/generate_sdks.py (original)
-+++ b/scripts/generate_sdks.py (refactored)
-@@ -94,7 +94,7 @@
- with zipfile.ZipFile(output.strip().decode('utf-8'), 'r') as zip:
- zip.extractall(outputDir)
- except EnvironmentError as ex:
-- print('Error generating sdk {} with error {}'.format(sdk, ex))
-+ print(('Error generating sdk {} with error {}'.format(sdk, ex)))
-
- def Main():
- arguments = ParseArguments()
-@@ -105,11 +105,11 @@
- sdks = DiscoverAllAvailableSDKs(arguments['pathToApiDefinitions'])
-
- if arguments['listAll']:
-- for key, value in sdks.iteritems():
-+ for key, value in sdks.items():
- print(value)
-
- if arguments['serviceName']:
-- print('Generating {} api version {}.'.format(arguments['serviceName'], arguments['apiVersion']))
-+ print(('Generating {} api version {}.'.format(arguments['serviceName'], arguments['apiVersion'])))
- key = '{}-{}'.format(arguments['serviceName'], arguments['apiVersion'])
- GenerateSdk(arguments['pathToGenerator'], sdks[key], arguments['outputLocation'], arguments['namespace'], arguments['licenseText'], arguments['standalone'], arguments['enableVirtualOperations'])
-
diff --git a/dev-libs/aws-sdk-cpp/files/aws-sdk-cpp-upgrade_scripts_renew_license_py-3.9.patch b/dev-libs/aws-sdk-cpp/files/aws-sdk-cpp-upgrade_scripts_renew_license_py-3.9.patch
deleted file mode 100644
index d73fa82ff1c0..000000000000
--- a/dev-libs/aws-sdk-cpp/files/aws-sdk-cpp-upgrade_scripts_renew_license_py-3.9.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/scripts/renew_license.py (original)
-+++ b/scripts/renew_license.py (refactored)
-@@ -55,7 +55,7 @@
- if (skipFile(inputFile)):
- return False;
-
-- print ("Process file: " + inputFile)
-+ print(("Process file: " + inputFile))
- with open(inputFile) as ftarget:
- content = ftarget.read()
-
diff --git a/dev-libs/aws-sdk-cpp/files/aws-sdk-cpp-upgrade_scripts_run_integration_tests_py-3.9.patch b/dev-libs/aws-sdk-cpp/files/aws-sdk-cpp-upgrade_scripts_run_integration_tests_py-3.9.patch
deleted file mode 100644
index f451e707f40b..000000000000
--- a/dev-libs/aws-sdk-cpp/files/aws-sdk-cpp-upgrade_scripts_run_integration_tests_py-3.9.patch
+++ /dev/null
@@ -1,17 +0,0 @@
---- a/scripts/run_integration_tests.py (original)
-+++ b/scripts/run_integration_tests.py (refactored)
-@@ -52,11 +52,11 @@
- testExe = os.path.join(arguments[ "testDir" ], testName if testHasParentDir else "", testName) + exeExtension
- # when build with BUILD_ONLY, not all test binaries will be generated.
- if not os.path.isfile(testExe):
-- print("Test: \"{}\" doesn't exist, skipped.".format(testExe))
-+ print(("Test: \"{}\" doesn't exist, skipped.".format(testExe)))
- continue
- prefix = "--aws_resource_prefix=" + platform.system().lower()
-- print("testExe = " + testExe)
-- print("prefix = " + prefix)
-+ print(("testExe = " + testExe))
-+ print(("prefix = " + prefix))
- AddExecutableBit(testExe)
- subprocess.check_call([testExe, prefix])
-
diff --git a/dev-libs/aws-sdk-cpp/metadata.xml b/dev-libs/aws-sdk-cpp/metadata.xml
deleted file mode 100644
index 5d78ab3332cb..000000000000
--- a/dev-libs/aws-sdk-cpp/metadata.xml
+++ /dev/null
@@ -1,479 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="person" proxied="yes">
- <email>amit.prakash.ambasta@gmail.com</email>
- </maintainer>
- <maintainer type="person" proxied="yes">
- <email>sven.eden@prydeworx.com</email>
- <name>Sven Eden</name>
- </maintainer>
- <maintainer type="project" proxied="proxy">
- <email>proxy-maint@gentoo.org</email>
- <name>Proxy Maintainers</name>
- </maintainer>
- <longdescription>
- The AWS SDK for C++ provides a modern C++ version C++ 11 or later interface for Amazon Web Services AWS.
- It is meant to be performant and fully functioning with low- and high-level SDKs, while minimizing
- dependencies and providing platform portability Windows, OSX, Linux, and mobile.
-
- AWS SDK for C++ is in now in General Availability and recommended for production use. We invite our
- customers to join the development efforts by submitting pull requests and sending us feedback and ideas
- via GitHub Issues.
- </longdescription>
- <use>
- <flag name="http">Enable http support via net-misc/curl</flag>
- <flag name="rtti">Flag to enable/disable rtti within the library</flag>
- <flag name="unity-build">
- Build using a single unified .cpp file for each service library.
- Reduces the size of static library binaries
- </flag>
-
- <flag name="access-management">
- AWS Access Management, a meta-flag that enables:
- AWS Certificate Manager (ACM): Provision, manage, and deploy SSL/TLS certificates on AWS
- managed resources.
- AWS Data Exchange : A service that makes it easy for customers to find, subscribe
- to, and use third-party data in the AWS Cloud.
- AWS IAM Access Analyzer : Identify any policies that grant access to an external
- principal.
- Identity and Access Management (IAM): A web service for securely controlling access to AWS
- services.
- Resource Access Manager (RAM): Customers who operate multiple accounts can create resources
- centrally and use AWS RAM to share them with all of their accounts to reduce
- operational overhead.
- SSO : AWS Single Sign-On (SSO) makes it easy to centrally manage access to multiple AWS
- accounts and business applications and provide users with single sign-on access to all
- their assigned accounts and applications from one place.
- Also enables acm-pca, identity-management, identitystore, sso-admin, sso-oidc and sts
- (Security Token Service).
- </flag>
- <flag name="apigateway">
- Create and deploy your own REST and WebSocket APIs at any scale.
- Also enables apigatewaymanagementapi and apigatewayv2.
- </flag>
- <flag name="appconfig">Quickly deploy application configurations to applications of any size.</flag>
- <flag name="backup">AWS Backup is a fully managed backup service</flag>
- <flag name="batch">Run batch computing workloads on the AWS Cloud</flag>
- <flag name="budgets">
- Use AWS Budgets to plan service usage, service costs, and instance reservations.
- Also enables the following related modules:
- AWS Cost Explorer (CE) : Programmatically query cost and usage data.
- Cost and Usage Report (CUR): Programmatically create, query, and delete AWS Cost and Usage
- report definitions.
- </flag>
- <flag name="chime">Amazon Chime, a secure, real-time, unified communications service.</flag>
- <flag name="cloud-desktop">
- AWS end user computing services.
- AppStream 2.0: Fully managed, secure application streaming service.
- WorkDocs : Fully managed, secure enterprise storage and sharing service.
- WorkLink : Fully managed, cloud-based service that enables secure, one-click access to
- internal websites and web apps from mobile devices.
- WorkMail : Managed email and calendaring service.
- WorkSpaces : Cloud-based desktop experience for end users.
- Also enabled workmailmessageflow.
- </flag>
- <flag name="cloud-dev">
- Enables in-cloud developer tools:
- Cloud9 : Cloud-based integrated development environment IDE to write, run, and debug code.
- CodeArtifact: Secure and scalable artifact management service for software development.
- CodeBuild : Managed build service that compiles, runs unit tests and produces artifacts.
- CodeCommit : Privately store and manage Git repositories in the AWS cloud.
- CodeDeploy : Automate the deployment and updating of applications.
- CodeGuru : Provides intelligent recommendations for improving application performance,
- efficiency, and code quality in your Java applications.
- CodePipeline: Continuous delivery service to model, visualize, and automate the steps required
- to release software.
- CodeStar : Quickly develop, build, and deploy applications on AWS. Also enables
- codestar-connections and codestar-notifications.
- Honey Code : Fully managed service to quickly build mobile and web apps for teams.
- Queues : Simple queue class. Allows standard queue operations top, delete, and push. Also
- has higher level, asynchronous interface with callbacks.
- X-Ray : Provides request tracing, exception collection, and profiling capabilities.
- </flag>
- <flag name="cloud-media">
- AWS Media modules for transforming, converting, delivering and streaming media.
- Elastic Transcoder : Convert media files stored in Amazon S3 into media files in the formats
- required by consumer playback devices.
- Elemental Media Connect: Secure and flexible transport service for live video.
- Elemental Media Convert: Format and compress offline video content for delivery to televisions
- or connected devices.
- Elemental Media Live : Video service that allows easy and reliable creation of live outputs
- for broadcast and streaming delivery.
- Elemental Media Package: Just-in-time video packaging and origination service. (Includes
- mediapackage-vod)
- Elemental Media Store : Video origination and storage service.Manage video assets as objects in
- containers to build dependable, cloud-based media workflows. (Includes mediastore-data)
- Elemental Media Tailor : Personalization and monetization service that allows scalable server-
- side ad insertion.
- </flag>
- <flag name="cloud-mobile">
- AWS Mobile modules for handling mobile application management and delivery.
- Amplify : Comprehensive set of SDKs, libraries, tools, and documentation for client app
- development.
- AppSync : Enterprise level, fully managed GraphQL service with real-time data synchronization
- and offline programming features.
- Device Farm: Test iOS, Android and Fire OS apps on real, physical phones and tablets that are
- hosted by AWS.
- PinPoint : Engage customers by sending them email, SMS and voice messages, and push
- notifications. (Includes pinpoint-email and sms-voice)
- SNS : Amazon Simple Notification Service, see USE flag sns.
- Also enables mobile and mobileanalytics.
- </flag>
- <flag name="cloudformation">
- Create and provision AWS infrastructure deployments predictably and repeatedly. Use a template
- file to create and delete a collection of resources together as a single unit (a stack).
- </flag>
- <flag name="cloudfront">
- Delivers static and dynamic web content through a worldwide network of edge locations that
- provide low latency and high performance.
- </flag>
- <flag name="cloudhsm">
- Secure cryptographic key storage by providing managed hardware security modules in the AWS
- Cloud.
- Also enables cloudhsmv2.
- </flag>
- <flag name="cloudsearch">
- Fully managed service in the cloud to set up, manage, and scale a search solution for websites.
- Also enables cloudsearchdomain.
- </flag>
- <flag name="cloudwatch">
- Amazon CloudWatch monitors Amazon Web Services (AWS) resources and the applications run on AWS
- in real time.
- The following modules besides monitoring are also enabled:
- Application Insights: Monitor .NET and SQL Server applications.
- App Mesh : Monitor and control microservices running on AWS.
- Audit Manager : Helps to continuously audit your AWS usage to simplify how you manage
- risk and compliance with regulations and industry standards.
- CloudTrail : Monitor AWS deployments in the cloud by getting a history of AWS API
- calls, including API calls made via the AWS Management Console, the AWS SDKs, the
- command line tools, and higher-level AWS services.
- Compute Optimizer : Recommends optimal AWS compute resources for your workloads.
- Detective : Analyze, investigate, and identify the root cause of security findings
- or suspicious activities.
- DevOps Guru : Generates operational insights using machine learning to help to improve
- the performance of operational applications.
- GuardDuty : Continuous security monitoring service.
- Health : Provides personalized information about events that can affect the AWS
- infrastructure, guides through scheduled changes, and accelerates the troubleshooting
- of issues that affect AWS resources and accounts.
- Inspector : A security vulnerability assessment service that helps improve the
- security and compliance of
- AWS resources.
- Logs : Monitor, store, and access log files from Amazon EC2 instances, AWS
- CloudTrail, or other sources.
- Synthetics : Create canaries, configurable scripts that run on a schedule, to monitor
- your endpoints and APIs.
- </flag>
- <flag name="cognito">
- Create unique identities, authenticate these identities with identity providers and save mobile
- user data in the AWS Cloud.
- Enables cognito-identity, cognito-idp and cognito-sync
- </flag>
- <flag name="config">
- Provides a detailed view of the resources associated with your AWS account, including how they
- are configured, how they are related to one another, and how the configurations and their
- relationships have changed over time.
- </flag>
- <flag name="dlm">
- Amazon Data Lifecycle Manager (DLM):
- Manage the lifecycle of AWS resources. Create lifecycle policies to automate operations on
- specified resources.
- </flag>
- <flag name="ebs">
- Amazon Elastic Block Store (Amazon EBS) is a web service that provides block level storage
- volumes for use with EC2 instances. EBS volumes are highly available and reliable storage
- volumes that can be attached to any running instance and used like a hard drive.
- </flag>
- <flag name="ec2">
- Amazon Elastic Compute Cloud (EC2) is a web service that provides resizeable computing capacity.
- This flag also enables the following modules:
- Auto Scaling : Set up dynamic and predictive scaling for scalable AWS resources. Also
- enables autoscaling-plans and application-autoscaling.
- EC2 Image Builder : Fully-managed AWS service that makes it easier to automate the creation,
- management, and deployment of customized, secure, and up-to-date “golden” server images
- that are pre-installed and pre-configured with software and settings to meet specific IT
- standards.
- Elastic File System: EFS provides file storage for Amazon EC2 instances.
- Savings Plan : Flexible pricing model that helps you save a significant percentage on
- Amazon EC2 and Fargate usage.
- </flag>
- <flag name="ecr">
- Amazon Elastic Container Registry (ECR) is a fully managed Docker container registry.
- Also enables Amazon ECR Public.
- </flag>
- <flag name="ecs">
- Amazon Elastic Container Service (ECS) is a highly scalable, fast, container management service.
- </flag>
- <flag name="eks">
- Amazon Elastic Kubernetes Service (EKS) is a managed service to run Kubernetes on AWS without
- own Kubernetes clusters.
- Also enables Amazon EMR on EKS.
- </flag>
- <flag name="elasticache">
- Set up, manage, and scale distributed in-memory cache environments in the AWS Cloud
- </flag>
- <flag name="elasticbeanstalk">Quickly deploy and manage applications in the AWS Cloud.</flag>
- <flag name="elastic-inference">
- Amazon Elastic Inference is a service that allows you to attach low-cost GPU-powered
- acceleration to many Amazon machine instances in order to reduce the cost of running deep
- learning inference by up to 75%. Amazon Elastic Inference supports TensorFlow, Apache MXNet, and
- ONNX models through MXNet.
- </flag>
- <flag name="elasticloadbalancing">
- Automatically distribute incoming application traffic across multiple targets, such as EC2
- instances.
- Also enables elasticloadbalancingv2.
- </flag>
- <flag name="elasticmapreduce">
- Amazon Elastic MapReduce (EMR) processes large amounts of data efficiently using Hadoop
- processing combined with several AWS products.
- </flag>
- <flag name="email">
- Amazon Simple Email Service (Amazon SES):
- An email platform to send and receive email using ones own email addresses and domains.
- See: https://docs.aws.amazon.com/ses/latest/DeveloperGuide/Welcome.html
- Also enables sesv2
- </flag>
- <flag name="es">
- Amazon Elasticsearch Configuration Service (ES) is an API to create, configure, and manage
- Elasticsearch domains.
- </flag>
- <flag name="events">
- Serverless event bus service to connect applications with data from a variety of sources.
- Also enables eventbridge.
- </flag>
- <flag name="forecast">
- Amazon Forecast is a fully managed deep learning service for time-series forecasting. Time-
- series forecasting is useful in multiple domains, including retail, financial planning, supply
- chain, and healthcare.
- Also enables the forecastquery module.
- </flag>
- <flag name="frauddetector">
- Amazon Fraud Detector is a fully managed service that helps you detect suspicious online
- activities such as the creation of fake accounts and online payment fraud. With Amazon Fraud
- Detector, you can create a fraud detection ML model with just a few clicks and use it to
- evaluate online activities in milliseconds.
- </flag>
- <flag name="fsx">Amazon FSx is a fully managed service to launch and use shared file storage.</flag>
- <flag name="globalaccelerator">
- AWS Global Accelerator is a network layer service for accelerators to improve availability and
- performance for internet applications used by a global audience.
- </flag>
- <flag name="iot">AWS IoT
- This is a meta-flag for all Internet of Things modules provided by the SDK:
- iot : enables secure, bi-directional communication between Internet-connected things
- (such as sensors, actuators, embedded devices, or smart appliances) and the AWS Cloud
- over MQTT and HTTP.
- greengrass : Extends AWS onto physical devices so they can act locally on the data they
- generate. Installed are both Version 1 and Version 2.
- iot1click : A service for simple devices to trigger AWS Lambda functions that execute a
- specific action.
- iotanalytics : Provides advanced data analysis for AWS IoT.
- iotevents : Monitor equipment or device fleets for failures or changes in operation, and
- trigger actions when such events occur.
- iotsitewise : Easily collect, organize, and analyze data from industrial equipment at scale.
- iotthingsgraph: Integrated set of tools that enable developers to build IoT applications using
- devices and services that use different data representation standards and communication
- protocols.
- Also enables iot1click-devices, iot1click-projects, iotdeviceadvisor, iot-data, iotevents-data, iotfleethub,
- iot-jobs-data, iotsecuretunneling and iotwireless.
- </flag>
- <flag name="kendra">
- Amazon Kendra is a search service, powered by machine learning, that enables users to search
- unstructured text using natural language.
- </flag>
- <flag name="kinesis">
- Amazon Kinesis
- Collect, process, and analyze video and data streams in real time. The following modules besides
- kinesis are enabled:
- firehose : Load data streams into AWS data stores.
- ivs : Managed live streaming solution for creating interactive video experiences.
- kinesisanalytics: Process and analyze streaming data using SQL or Java. (Also enables
- kinesisanalyticsv2)
- kinesisvideo : Capture, process, and store video streams for analytics and machine learning.
- Additionally kinesis-video-archived-media, kinesis-video-media and kinesis-video-signaling are
- enabled.
- </flag>
- <flag name="kms">
- AWS Key Management Service (KMS)
- An encryption and key management service scaled for the cloud.
- </flag>
- <flag name="lex">
- Amazon Lex is an AWS service for building conversational interfaces into applications using
- voice and text. Installed are both Version1 and Version 2.
- Also enables lex-models.
- </flag>
- <flag name="lambda">AWS Lambda: Run code without provisioning or managing servers.</flag>
- <flag name="license-manager">
- Streamlines the process of bringing software vendor licenses to the cloud.
- </flag>
- <flag name="lightsail">
- The easiest way to get started with AWS for developers who just need virtual private servers
- </flag>
- <flag name="lookoutvision">
- Amazon Lookout for Vision enables you to find visual defects in industrial products, accurately
- and at scale.
- </flag>
- <flag name="machinelearning">
- The algorithms of Amazon Machine Learning create machine learning (ML) models by finding
- patterns in existing data. The service uses these models to process new data and generate
- predictions for application.
- </flag>
- <flag name="macie">
- A security service that uses machine learning to automatically discover, classify, and protect
- sensitive data in AWS.
- Also enables macie2
- </flag>
- <flag name="managedblockchain">
- Create and manage scalable blockchain networks using popular open source frameworks. Currently,
- Managed Blockchain supports the Hyperledger Fabric open source framework.
- </flag>
- <flag name="marketplace">
- AWS Marketplace is an online store where you can buy or sell software that runs on Amazon Web
- Services (AWS).
- Marketplace support consists of the marketplacecommerceanalytics module plus:
- Marketplace Entitlement Service: A contract verification feature that AWS Marketplace sellers
- can use to verify the amount of the sellers product (for example, end user licenses or
- storage, data, or compute capacity) the customer has purchased.
- Marketplace Metering Service : A pricing and metering feature that AWS Marketplace sellers can
- use to directly charge for their software along one of four dimensions: users, data,
- bandwidth, or hosts.
- Also enables marketplace-catalog, pricing and servicecatalog-appregistry.
- </flag>
- <flag name="mwaa">
- Amazon Managed Workflows for Apache Airflow (Amazon MWAA) is a managed service for Apache
- Airflow that makes it easy for you to build and manage your workflows in the cloud.
- </flag>
- <flag name="networkmanager">
- Transit Gateway Network Manager (Network Manager) enables you to create a global network, in
- which you can monitor your AWS and on-premises networks that are built around transit gateways.
- </flag>
- <flag name="organizations">
- Account management service that to consolidate multiple AWS accounts into an organization to be
- centrally managed.
- </flag>
- <flag name="opsworks">
- AWS OpsWorks is a simple and flexible way to create and manage stacks and applications.
- Also enables opsworkscm.
- </flag>
- <flag name="other">
- This is a meta-flag for rarely needed modules that in themselves need not much build time. If
- you would like to have any of the following modules to have their own USE flag, please open a
- bug report and it will most probably get one.
- The modules are:
- AWSMigrationHub, alexaforbusiness, appflow, appintegrations, braket, clouddirectory, comprehend,
- comprehendmedical, connect, connect-contact-lens, customer-profiles, datapipeline, databrew,
- datasync, directconnect, discovery, dms, docdb, ds, dynamodb, gamelift, glue, groundstation,
- healthlake, importexport, kafka, lakeformation, migrationhub-config, mq, mturk-requester,
- neptune, quicksight, redshift, robomaker, sdb, schemas, service-quotas, servicecatalog,
- servicediscovery, signer, sms, snowball, ssm, states, storagegateway, support and swf.
- </flag>
- <flag name="outposts">
- AWS Outposts brings native AWS services, infrastructure, and operating models to virtually any
- data center, co-location space, or on-premises facility. You can use the same services, tools,
- and partner solutions to develop for the cloud and on premises.
- Also enables s3outposts.
- </flag>
- <flag name="personalize">
- Real-time personalization and recommendations, based on the same technology used at Amazon.com.
- Also enables personalize-events and personalize-runtime.
- </flag>
- <flag name="polly">
- Amazon Polly
- A Text-to-Speech (TTS) cloud service that converts text into lifelike speech.
- Also enables text-to-speech, which needs you to enable pulseaudio support to work.
- </flag>
- <flag name="qldb">
- Amazon Quantum Ledger Database (Amazon QLDB) is a fully managed ledger database that provides a
- transparent, immutable, and cryptographically verifiable transaction log owned by a central
- trusted authority. You can use Amazon QLDB to track all application data changes, and maintain
- a complete and verifiable history of changes over time.
- Also enables qldb-session.
- </flag>
- <flag name="queues">
- AWS Queues is a simple queue class.
- Allows standard queue operations top, delete, and push. Also has higher level, asynchronous
- interface with callbacks.
- </flag>
- <flag name="rds">
- Amazon Relational Database Service (RDS) is a web service to set up, operate, and scale a
- relational database in the cloud.
- Also enables pi (Performance Insights) and rds-data.
- </flag>
- <flag name="route53">
- AWS Route 53 is a highly available and scalable Domain Name System (DNS) web service.
- Also enables route53domains and route53resolver.
- </flag>
- <flag name="rekognition">Add image and video analysis to applications.</flag>
- <flag name="resource-groups">
- AWS Resource Groups and Tag Editor
- Organize AWS resources into groups, tag resources using virtually any criteria, and manage,
- monitor, and automate tasks on grouped resources.
- Also enables resourcegroupstaggingapi. (Resource Groups Tagging API)
- </flag>
- <flag name="s3">
- Amazon Simple Storage Service Storage for the internet.
- Additionally to the s3 module, the following modules are activated:
- Athena : Interactive query service to analyze data in Amazon S3 using standard SQL.
- Glacier : Storage solution for cold data.
- Transfer for SFTP: Transfer files directly into and out of Amazon S3 using SFTP.
- Also enables s3-encryption, s3control and transfer.
- </flag>
- <flag name="sagemaker">
- Amazon SageMaker
- Fully managed machine learning service. With Amazon SageMaker, data scientists and developers
- can quickly and easily build and train machine learning models, and then directly deploy them
- into a production-ready hosted environment.
- Also enables sagemaker-a2i-runtime, sagemaker-edge, sagemaker-featurestore-runtime and
- sagemaker-runtime.
- </flag>
- <flag name="secretsmanager">
- Encrypt, store, and retrieve credentials for databases and other services.
- </flag>
- <flag name="securityhub">Provides a comprehensive view of the security state of AWS resources.</flag>
- <flag name="serverlessrepo">
- AWS Serverless Application Repository
- Enables teams, organizations, and individual developers to find, deploy, publish, share, store,
- and easily assemble serverless architectures.
- </flag>
- <flag name="shield">AWS Shield, protection against DDoS attacks</flag>
- <flag name="sns">
- Amazon Simple Notification Service (SNS) is a web service that enables applications, end-users,
- and devices to instantly send and receive notifications from the cloud.
- </flag>
- <flag name="sqs">
- Amazon Simple Queue Service (SQS): Fully managed message queuing service that makes it easy to
- decouple and scale microservices, distributed systems, and serverless applications.
- </flag>
- <flag name="textract">
- Amazon Textract to add document text detection and analysis to applications.
- </flag>
- <flag name="timestream">
- Store and analyze sensor data for IoT applications, metrics for DevOps use cases, and telemetry
- for application monitoring scenarios such as clickstream data analysis.
- Note: The two modules enabled are timestream-query and timestream-write.
- </flag>
- <flag name="transcribe">
- A transcription services for audio files. It uses advanced machine learning technologies to
- recognize spoken words and transcribe them into text.
- Also enables transcribestreaming.
- </flag>
- <flag name="translate">
- A neural machine translation service for translating text to and from English across a breadth
- of supported languages.
- </flag>
- <flag name="waf">
- The Web Application Firewall (WAF) can monitor web requests that are forwarded to Amazon
- CloudFront distributions or an Application Load Balancer. Can also be used to block or allow
- requests based on conditions such as the IP addresses that requests originate from or values in
- the requests.
- Also enables fms, network-firewall, waf-regional and wafv2
- </flag>
- <flag name="wellarchitected">
- Use the AWS Well-Architected Tool to review your workloads against current AWS architectural best practices.
- The AWS Well-Architected Tool measures the workload and provides recommendations on how to improve your
- architecture.
- </flag>
- </use>
-</pkgmetadata>
diff --git a/dev-libs/ayatana-ido/Manifest b/dev-libs/ayatana-ido/Manifest
new file mode 100644
index 000000000000..47a7e1f4a636
--- /dev/null
+++ b/dev-libs/ayatana-ido/Manifest
@@ -0,0 +1,2 @@
+DIST ayatana-ido-0.9.2.tar.gz 122286 BLAKE2B f6498591d72fa6deb5d9c8d87ddad399e41b3701719e45fe82dc8d5bd6ede30bb754561fdeaa938713692a90b8c48657ea2cb472c762acab6c3f36c73907b92e SHA512 efc5825d32d707b02397692c347f99f3bca13da2cd653b6ce87882643c85c2698bdac6168e89a01ed98d5ee58c88a820d89dad7b88a5aee235b450c40969d0a7
+DIST ayatana-ido-0.9.3.tar.gz 122912 BLAKE2B 80c07c6f90b7e2b6d68c2629990918f091abdc85616cbf472dbcc1bbea87dabb9649d8da4d676f1acbc65c34e5a5b53143449759a0d65661352898199c1ea592 SHA512 61c9fe35be9dceabba3d61add0fa51cf0447572dbedf48f710b79cf9c4fed2a049f6d2c0069ae8499aa41f008e736e257da47c6b07fd4e20778689c9ab6853d4
diff --git a/dev-libs/ayatana-ido/ayatana-ido-0.9.2.ebuild b/dev-libs/ayatana-ido/ayatana-ido-0.9.2.ebuild
new file mode 100644
index 000000000000..0ebb1aecb180
--- /dev/null
+++ b/dev-libs/ayatana-ido/ayatana-ido-0.9.2.ebuild
@@ -0,0 +1,45 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+VALA_USE_DEPEND="vapigen"
+
+inherit cmake vala
+
+DESCRIPTION="Ayatana Application Indicators (Shared Library)"
+HOMEPAGE="https://github.com/AyatanaIndicators/ayatana-ido"
+SRC_URI="https://github.com/AyatanaIndicators/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="LGPL-2.1 LGPL-3 GPL-3"
+SLOT="0"
+IUSE="test"
+
+# https://github.com/AyatanaIndicators/ayatana-ido/issues/62
+RESTRICT="test"
+#RESTRICT="!test? ( test )"
+
+KEYWORDS="amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv x86"
+
+RDEPEND="
+ >=dev-libs/glib-2.58:2
+ >=x11-libs/gtk+-3.24:3[introspection]
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ $(vala_depend)
+ test? ( dev-cpp/gtest )
+"
+
+src_prepare() {
+ cmake_src_prepare
+ vala_setup
+}
+
+src_configure() {
+ local mycmakeargs+=(
+ -DVALA_COMPILER="${VALAC}"
+ -DVAPI_GEN="${VAPIGEN}"
+ -DENABLE_TESTS="$(usex test)"
+ )
+ cmake_src_configure
+}
diff --git a/dev-libs/ayatana-ido/ayatana-ido-0.9.3.ebuild b/dev-libs/ayatana-ido/ayatana-ido-0.9.3.ebuild
new file mode 100644
index 000000000000..41598a235fdd
--- /dev/null
+++ b/dev-libs/ayatana-ido/ayatana-ido-0.9.3.ebuild
@@ -0,0 +1,46 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+VALA_USE_DEPEND="vapigen"
+
+inherit cmake vala virtualx
+
+DESCRIPTION="Ayatana Application Indicators (Shared Library)"
+HOMEPAGE="https://github.com/AyatanaIndicators/ayatana-ido"
+SRC_URI="https://github.com/AyatanaIndicators/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="LGPL-2.1 LGPL-3 GPL-3"
+SLOT="0"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+KEYWORDS="~alpha amd64 arm arm64 ~loong ppc ppc64 ~riscv ~sparc x86"
+
+RDEPEND="
+ >=dev-libs/glib-2.58:2
+ >=x11-libs/gtk+-3.24:3[introspection]
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ $(vala_depend)
+ test? ( dev-cpp/gtest )
+"
+
+src_prepare() {
+ cmake_src_prepare
+ vala_setup
+}
+
+src_configure() {
+ local mycmakeargs+=(
+ -DVALA_COMPILER="${VALAC}"
+ -DVAPI_GEN="${VAPIGEN}"
+ -DENABLE_TESTS="$(usex test)"
+ )
+ cmake_src_configure
+}
+
+src_test() {
+ virtx cmake_src_test
+}
diff --git a/dev-libs/ayatana-ido/metadata.xml b/dev-libs/ayatana-ido/metadata.xml
new file mode 100644
index 000000000000..fee410960338
--- /dev/null
+++ b/dev-libs/ayatana-ido/metadata.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>pacho@gentoo.org</email>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">AyatanaIndicators/ayatana-ido</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/bareos-fastlzlib/Manifest b/dev-libs/bareos-fastlzlib/Manifest
deleted file mode 100644
index c00418973823..000000000000
--- a/dev-libs/bareos-fastlzlib/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST bareos-fastlzlib-0_pre20150524.zip 379650 BLAKE2B 0ef9cc815da6926ff2922cd61a0670f3f55ab2094e2986bfe8ae4b6847eae72ba0ccd27821fbf7b1d09eebf405cd5fcd759d074d890b11e62b23d22a45361758 SHA512 cf4b657ce27fad7bf8e0ed5183507f544783f4cf9d72a50754ecdce9784095ec110b51cc22c164610dc037f23a30f945a9c69e38c6cc8e55cf7691ac2b473bc8
diff --git a/dev-libs/bareos-fastlzlib/bareos-fastlzlib-0_pre20150524.ebuild b/dev-libs/bareos-fastlzlib/bareos-fastlzlib-0_pre20150524.ebuild
deleted file mode 100644
index d9e95c965803..000000000000
--- a/dev-libs/bareos-fastlzlib/bareos-fastlzlib-0_pre20150524.ebuild
+++ /dev/null
@@ -1,24 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DESCRIPTION="Fork of zlib-like interface to fast block compression (LZ4 or FastLZ) libraries"
-HOMEPAGE="https://github.com/bareos/fastlzlib"
-SRC_URI="https://dev.gentoo.org/~mschiff/distfiles/${P}.zip"
-S="${WORKDIR}/fastlzlib-master"
-
-LICENSE="BSD-1 BSD-2"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-RDEPEND="
- !app-arch/lz4
-"
-BDEPEND="app-arch/unzip"
-
-src_install() {
- default
- find "${ED}" -name '*.la' -delete || die
- find "${ED}" -type d -name libfastlz -exec rm -rf {} + || die
-}
diff --git a/dev-libs/bareos-fastlzlib/metadata.xml b/dev-libs/bareos-fastlzlib/metadata.xml
deleted file mode 100644
index 6b229b0c1a2e..000000000000
--- a/dev-libs/bareos-fastlzlib/metadata.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="person">
- <email>mschiff@gentoo.org</email>
- <name>Marc Schiffbauer</name>
- </maintainer>
- <upstream>
- <remote-id type="github">bareos/fastlzlib</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/dev-libs/bcm2835/Manifest b/dev-libs/bcm2835/Manifest
index b1c2ba38e32b..b5d08dbc6268 100644
--- a/dev-libs/bcm2835/Manifest
+++ b/dev-libs/bcm2835/Manifest
@@ -1,2 +1,2 @@
-DIST bcm2835-1.57.tar.gz 262233 BLAKE2B 618a6089f773b874905ba8341eb42b6751355dc8607c51957b6020a0d484734ef5ea4e49a6086ba25cc820c57cb077f292654fdc4eeb1b293746f9cbb83ca462 SHA512 0af59c22869511465a9fdcc384d7456f04bec06a1480e0575b7756628f0ecc72648974a9ace7a46df257b0fd45a117c89c430c3e97d214081d038cbaef398821
DIST bcm2835-1.68.tar.gz 272796 BLAKE2B d848e901b1b3a51712009e3fbf00c43f870fd6c28812be710276620f80c4173e92529891e53ec02e2076069a5da8ba7190f8dcc620ce4a843773cb85622dd830 SHA512 bdc91af8f28755899611d41cf954c9b2ca107befe984b79ee6fe23b66bbb7f50e746e084c3e431b1b0cdf1b0735cec8a54018ebf12b713380e5db97e3564f477
+DIST bcm2835-1.71.tar.gz 276152 BLAKE2B e363e805d0ef4872baeb5eeffe143177a3983ee82d69c7077f64cc2373cf42524722fda03197de0ff0b6ef186fd017b61822b1192a108e1354d6eb4a76aa3535 SHA512 020d2918da1c23c3ff98513a123b7f96125f7e66cdbc5863ab00bcea93cdb68bb3507f2e29c31cd1fe5c26dd633df112e10122bde72cab9ecf67f0edcdf55aa6
diff --git a/dev-libs/bcm2835/bcm2835-1.57.ebuild b/dev-libs/bcm2835/bcm2835-1.57.ebuild
deleted file mode 100644
index e81b5e6bba57..000000000000
--- a/dev-libs/bcm2835/bcm2835-1.57.ebuild
+++ /dev/null
@@ -1,25 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="6"
-
-DESCRIPTION="Provides access to GPIO and other IO functions on the Broadcom BCM2835"
-HOMEPAGE="http://www.airspayce.com/mikem/bcm2835/"
-SRC_URI="http://www.airspayce.com/mikem/${PN}/${P}.tar.gz"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="~arm"
-IUSE="doc examples"
-
-DEPEND="doc? ( app-doc/doxygen )"
-RDEPEND=""
-
-src_install() {
- use doc && HTML_DOCS=( doc/html/. )
- if use examples; then
- dodoc -r examples
- docompress -x /usr/share/doc/${PF}/examples
- fi
- default
-}
diff --git a/dev-libs/bcm2835/bcm2835-1.68-r1.ebuild b/dev-libs/bcm2835/bcm2835-1.68-r1.ebuild
new file mode 100644
index 000000000000..d57218fcdd19
--- /dev/null
+++ b/dev-libs/bcm2835/bcm2835-1.68-r1.ebuild
@@ -0,0 +1,30 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit toolchain-funcs
+
+DESCRIPTION="Provides access to GPIO and other IO functions on the Broadcom BCM2835"
+HOMEPAGE="https://www.airspayce.com/mikem/bcm2835/"
+SRC_URI="https://www.airspayce.com/mikem/${PN}/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~arm"
+IUSE="doc examples"
+
+BDEPEND="doc? ( app-text/doxygen )"
+
+src_compile() {
+ emake AR="$(tc-getAR)"
+}
+
+src_install() {
+ use doc && HTML_DOCS=( doc/html/. )
+ if use examples; then
+ dodoc -r examples
+ docompress -x /usr/share/doc/${PF}/examples
+ fi
+ default
+}
diff --git a/dev-libs/bcm2835/bcm2835-1.68.ebuild b/dev-libs/bcm2835/bcm2835-1.68.ebuild
deleted file mode 100644
index 454774b9bb63..000000000000
--- a/dev-libs/bcm2835/bcm2835-1.68.ebuild
+++ /dev/null
@@ -1,31 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="6"
-
-inherit toolchain-funcs
-
-DESCRIPTION="Provides access to GPIO and other IO functions on the Broadcom BCM2835"
-HOMEPAGE="https://www.airspayce.com/mikem/bcm2835/"
-SRC_URI="https://www.airspayce.com/mikem/${PN}/${P}.tar.gz"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="~arm"
-IUSE="doc examples"
-
-DEPEND="doc? ( app-doc/doxygen )"
-RDEPEND=""
-
-src_install() {
- use doc && HTML_DOCS=( doc/html/. )
- if use examples; then
- dodoc -r examples
- docompress -x /usr/share/doc/${PF}/examples
- fi
- default
-}
-
-src_compile() {
- emake AR="$(tc-getAR)"
-}
diff --git a/dev-libs/bcm2835/bcm2835-1.71.ebuild b/dev-libs/bcm2835/bcm2835-1.71.ebuild
new file mode 100644
index 000000000000..d57218fcdd19
--- /dev/null
+++ b/dev-libs/bcm2835/bcm2835-1.71.ebuild
@@ -0,0 +1,30 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit toolchain-funcs
+
+DESCRIPTION="Provides access to GPIO and other IO functions on the Broadcom BCM2835"
+HOMEPAGE="https://www.airspayce.com/mikem/bcm2835/"
+SRC_URI="https://www.airspayce.com/mikem/${PN}/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~arm"
+IUSE="doc examples"
+
+BDEPEND="doc? ( app-text/doxygen )"
+
+src_compile() {
+ emake AR="$(tc-getAR)"
+}
+
+src_install() {
+ use doc && HTML_DOCS=( doc/html/. )
+ if use examples; then
+ dodoc -r examples
+ docompress -x /usr/share/doc/${PF}/examples
+ fi
+ default
+}
diff --git a/dev-libs/bemenu/Manifest b/dev-libs/bemenu/Manifest
index 6c522ba0fb4d..b504018a63b4 100644
--- a/dev-libs/bemenu/Manifest
+++ b/dev-libs/bemenu/Manifest
@@ -1,3 +1,4 @@
-DIST bemenu-0.5.0.tar.gz 110749 BLAKE2B dbc6d295262e51c381a9208c6936c0f40e05f3667af6a562716501577861d04c7b28ba836acbce2a6644950a191e56f865efe2f126eccdad67ea68d42f2d30b5 SHA512 5f4397bcb77d3e22340988bfb131feced1782f724ff637e40bf03c36a4377f38127c827f55faccc0dcce2ca482b9353fca7c6bfe700e6cac8e095e0df3b87a31
-DIST bemenu-0.6.1.tar.gz 119885 BLAKE2B 9595fe9241009d4b2ac33ff0b70d98a5340e7f9cc3a31be053ef7ba5dcadc3e0181dae3a82b8058278fdfb62df4a60474e16eb2e2fa207c200350a6cc4e27767 SHA512 a0a77ca50d40c4aa215c668829a8e27597a4b6470be6179420125ec292c8f9555e5690791c068af5f4a5eebd8a10c6b15b0ddafa037a855b0179bd68c06bf11a
-DIST bemenu-0.6.3.tar.gz 120169 BLAKE2B ab53e3a4c62e259b1fb2b1fb5f87f1fe73e86cc17e59391f408be4d7d3ca1cdf60713c8f54b7acebef01d06473dbe367ef76b83711de8e4192a639155a636fab SHA512 eed615e685f78bb6131dd4cbdccdb6962b7ecf688af650f970e9c79e6bf9d82b791da34161679e27381540d41b2804660605d5ce0bdb132bce63eaff81595ca7
+DIST bemenu-0.6.10.tar.gz 129568 BLAKE2B f81e84e6457175abf11b9dc6c426cb02121b4f101bdef55361c539f6d51144539129d2e2898e506c12f32d8f45a27fb0159083b5b964b33a0fc73485ebe41b00 SHA512 b8aadbe2cd11f7cc713ce683fcc9ce4779cd0050ee8cf41c4d3bca9f299ac99b9cd3b7611d87d27d7f7439f16fc2618671f2bec8878ad2ab65fade54f24ca92f
+DIST bemenu-0.6.14.tar.gz 133229 BLAKE2B 6e83143f7cf808002d6f74b37922b96232c13b884b07c1901e483fd4263db2047394914d8bfe5292907e8a89674d9eed7966722cac4deeac36e5c39ada6eab75 SHA512 8d4fabc962e7d2b6ad23012d172292f74e46d3af68f070222e55a748e4b7a14c42f30f78acad14f5bb73abfa6b7932aff25c24b346908ce780ea00f577a848d9
+DIST bemenu-0.6.15.tar.gz 134318 BLAKE2B 0739f3bdf5ad7bcc5b5e75577848965b848df8c8c407d574fcad81fe437d14ade11cc86a81bb2ea5b13faac1a035911f7590013ffbbb7366935c33d171fbf479 SHA512 2de6967ce337b37c943585e3aad0efa1cc7161b0f9666298e0e1f2570f13f3c0b9edef1ab80346e906cd8f53056a7b1a019de7240d2766584031d7b8d76276ab
+DIST bemenu-0.6.16.tar.gz 135025 BLAKE2B 3a6d131606f22357ce48fbe1946fc3e3be920b52e271db37bae4282ec0ee6614262356821568579112c8e2aa1f5dd147f914183a556a06993a862f14ff3acdcb SHA512 b98a5ad4ec60063b800dd122eb07d3a876e52420abd5827d1421b2e956671d6e7be04e97693da39bcc3b40eaecec46ea6103eeaf2885deea96703218182493b5
diff --git a/dev-libs/bemenu/bemenu-0.5.0.ebuild b/dev-libs/bemenu/bemenu-0.5.0.ebuild
deleted file mode 100644
index e7510494e8a6..000000000000
--- a/dev-libs/bemenu/bemenu-0.5.0.ebuild
+++ /dev/null
@@ -1,50 +0,0 @@
-# Copyright 2019-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-DESCRIPTION="dmenu clone for wayland"
-HOMEPAGE="https://github.com/Cloudef/bemenu"
-if [[ ${PV} == 9999 ]]; then
- inherit git-r3
- EGIT_REPO_URI="https://github.com/Cloudef/bemenu.git"
-else
- SRC_URI="https://github.com/Cloudef/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
- KEYWORDS="~amd64 ~arm64 ~x86"
-fi
-
-LICENSE="GPL-3"
-SLOT="0"
-IUSE="doc ncurses wayland X"
-
-# Require at least one backend be built
-REQUIRED_USE="|| ( ncurses wayland X )"
-
-DEPEND="
- ncurses? ( sys-libs/ncurses:0 )
- wayland? (
- dev-libs/wayland
- dev-libs/wayland-protocols
- x11-libs/cairo
- x11-libs/pango
- )
- X? (
- x11-libs/libxcb
- x11-libs/libXext
- x11-libs/libX11
- x11-libs/cairo[X]
- x11-libs/pango[X]
- x11-libs/libXinerama
- )
-"
-RDEPEND="${DEPEND}"
-BDEPEND="doc? ( app-doc/doxygen )"
-
-src_compile() {
- emake clients $(usex ncurses curses "") $(usex X x11 "") $(usex wayland wayland "") PREFIX=/usr libdir=/$(get_libdir)
- use doc && emake doxygen PREFIX=/usr libdir=/$(get_libdir)
-}
-
-src_install() {
- emake install PREFIX="${D}"/usr libdir=/$(get_libdir)
-}
diff --git a/dev-libs/bemenu/bemenu-0.6.1.ebuild b/dev-libs/bemenu/bemenu-0.6.1.ebuild
deleted file mode 100644
index 02ec034fd64b..000000000000
--- a/dev-libs/bemenu/bemenu-0.6.1.ebuild
+++ /dev/null
@@ -1,50 +0,0 @@
-# Copyright 2019-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-DESCRIPTION="dmenu clone for wayland"
-HOMEPAGE="https://github.com/Cloudef/bemenu"
-if [[ ${PV} == 9999 ]]; then
- inherit git-r3
- EGIT_REPO_URI="https://github.com/Cloudef/bemenu.git"
-else
- SRC_URI="https://github.com/Cloudef/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
- KEYWORDS="~amd64 ~arm64 ~x86"
-fi
-
-LICENSE="GPL-3"
-SLOT="0"
-IUSE="doc ncurses wayland X"
-
-# Require at least one backend be built
-REQUIRED_USE="|| ( ncurses wayland X )"
-
-DEPEND="
- ncurses? ( sys-libs/ncurses:0 )
- wayland? (
- dev-libs/wayland
- dev-libs/wayland-protocols
- x11-libs/cairo
- x11-libs/pango
- )
- X? (
- x11-libs/libxcb
- x11-libs/libXext
- x11-libs/libX11
- x11-libs/cairo[X]
- x11-libs/pango[X]
- x11-libs/libXinerama
- )
-"
-RDEPEND="${DEPEND}"
-BDEPEND="doc? ( app-doc/doxygen )"
-
-src_compile() {
- emake clients $(usex ncurses curses "") $(usex X x11 "") $(usex wayland wayland "") PREFIX=/usr libdir=/$(get_libdir)
- use doc && emake doxygen PREFIX=/usr libdir=/$(get_libdir)
-}
-
-src_install() {
- emake install PREFIX="${D}"/usr libdir=/$(get_libdir)
-}
diff --git a/dev-libs/bemenu/bemenu-0.6.10-r1.ebuild b/dev-libs/bemenu/bemenu-0.6.10-r1.ebuild
new file mode 100644
index 000000000000..2817cb8c9816
--- /dev/null
+++ b/dev-libs/bemenu/bemenu-0.6.10-r1.ebuild
@@ -0,0 +1,59 @@
+# Copyright 2019-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit toolchain-funcs
+
+DESCRIPTION="dmenu clone for wayland"
+HOMEPAGE="https://github.com/Cloudef/bemenu"
+if [[ ${PV} == 9999 ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/Cloudef/bemenu.git"
+else
+ SRC_URI="https://github.com/Cloudef/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="amd64 ~arm64 x86"
+fi
+
+LICENSE="GPL-3"
+SLOT="0"
+IUSE="doc ncurses wayland X"
+
+# Require at least one backend be built
+REQUIRED_USE="|| ( ncurses wayland X )"
+
+RDEPEND="
+ ncurses? ( sys-libs/ncurses:= )
+ wayland? (
+ dev-libs/wayland
+ x11-libs/cairo
+ x11-libs/pango
+ x11-libs/libxcb
+ )
+ X? (
+ x11-libs/libxcb
+ x11-libs/libXext
+ x11-libs/libX11
+ x11-libs/cairo[X]
+ x11-libs/pango[X]
+ x11-libs/libXinerama
+ )
+"
+DEPEND="
+ ${RDEPEND}
+ wayland? (
+ dev-libs/wayland-protocols
+ )
+"
+BDEPEND="doc? ( app-text/doxygen )"
+
+src_compile() {
+ tc-export CC
+
+ emake clients $(usex ncurses curses "") $(usex X x11 "") $(usex wayland wayland "") PREFIX=/usr libdir=/$(get_libdir)
+ use doc && emake doxygen PREFIX=/usr libdir=/$(get_libdir)
+}
+
+src_install() {
+ emake install PREFIX="${D}"/usr libdir=/$(get_libdir)
+}
diff --git a/dev-libs/bemenu/bemenu-0.6.14.ebuild b/dev-libs/bemenu/bemenu-0.6.14.ebuild
new file mode 100644
index 000000000000..90fa49e3cc59
--- /dev/null
+++ b/dev-libs/bemenu/bemenu-0.6.14.ebuild
@@ -0,0 +1,62 @@
+# Copyright 2019-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit toolchain-funcs
+
+DESCRIPTION="dmenu clone for wayland"
+HOMEPAGE="https://github.com/Cloudef/bemenu"
+if [[ ${PV} == 9999 ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/Cloudef/bemenu.git"
+else
+ SRC_URI="https://github.com/Cloudef/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~amd64 ~arm64 ~x86"
+fi
+
+LICENSE="GPL-3"
+SLOT="0"
+IUSE="doc ncurses wayland X"
+
+# Require at least one backend be built
+REQUIRED_USE="|| ( ncurses wayland X )"
+
+RDEPEND="
+ ncurses? ( sys-libs/ncurses:= )
+ wayland? (
+ dev-libs/wayland
+ x11-libs/cairo
+ x11-libs/pango
+ x11-libs/libxcb
+ )
+ X? (
+ x11-libs/libxcb
+ x11-libs/libXext
+ x11-libs/libX11
+ x11-libs/cairo[X]
+ x11-libs/pango[X]
+ x11-libs/libXinerama
+ )
+"
+DEPEND="
+ ${RDEPEND}
+ wayland? (
+ dev-libs/wayland-protocols
+ )
+"
+BDEPEND="
+ app-text/scdoc
+ doc? ( app-text/doxygen )
+"
+
+src_compile() {
+ tc-export CC
+
+ emake clients $(usex ncurses curses "") $(usex X x11 "") $(usex wayland wayland "") PREFIX=/usr libdir=/$(get_libdir)
+ use doc && emake doxygen PREFIX=/usr libdir=/$(get_libdir)
+}
+
+src_install() {
+ emake install PREFIX="${D}"/usr libdir=/$(get_libdir)
+}
diff --git a/dev-libs/bemenu/bemenu-0.6.15.ebuild b/dev-libs/bemenu/bemenu-0.6.15.ebuild
new file mode 100644
index 000000000000..90fa49e3cc59
--- /dev/null
+++ b/dev-libs/bemenu/bemenu-0.6.15.ebuild
@@ -0,0 +1,62 @@
+# Copyright 2019-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit toolchain-funcs
+
+DESCRIPTION="dmenu clone for wayland"
+HOMEPAGE="https://github.com/Cloudef/bemenu"
+if [[ ${PV} == 9999 ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/Cloudef/bemenu.git"
+else
+ SRC_URI="https://github.com/Cloudef/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~amd64 ~arm64 ~x86"
+fi
+
+LICENSE="GPL-3"
+SLOT="0"
+IUSE="doc ncurses wayland X"
+
+# Require at least one backend be built
+REQUIRED_USE="|| ( ncurses wayland X )"
+
+RDEPEND="
+ ncurses? ( sys-libs/ncurses:= )
+ wayland? (
+ dev-libs/wayland
+ x11-libs/cairo
+ x11-libs/pango
+ x11-libs/libxcb
+ )
+ X? (
+ x11-libs/libxcb
+ x11-libs/libXext
+ x11-libs/libX11
+ x11-libs/cairo[X]
+ x11-libs/pango[X]
+ x11-libs/libXinerama
+ )
+"
+DEPEND="
+ ${RDEPEND}
+ wayland? (
+ dev-libs/wayland-protocols
+ )
+"
+BDEPEND="
+ app-text/scdoc
+ doc? ( app-text/doxygen )
+"
+
+src_compile() {
+ tc-export CC
+
+ emake clients $(usex ncurses curses "") $(usex X x11 "") $(usex wayland wayland "") PREFIX=/usr libdir=/$(get_libdir)
+ use doc && emake doxygen PREFIX=/usr libdir=/$(get_libdir)
+}
+
+src_install() {
+ emake install PREFIX="${D}"/usr libdir=/$(get_libdir)
+}
diff --git a/dev-libs/bemenu/bemenu-0.6.16.ebuild b/dev-libs/bemenu/bemenu-0.6.16.ebuild
new file mode 100644
index 000000000000..db7ba32918bd
--- /dev/null
+++ b/dev-libs/bemenu/bemenu-0.6.16.ebuild
@@ -0,0 +1,62 @@
+# Copyright 2019-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit toolchain-funcs
+
+DESCRIPTION="dmenu clone for wayland"
+HOMEPAGE="https://github.com/Cloudef/bemenu"
+if [[ ${PV} == 9999 ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/Cloudef/bemenu.git"
+else
+ SRC_URI="https://github.com/Cloudef/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+fi
+
+LICENSE="GPL-3"
+SLOT="0"
+IUSE="doc ncurses wayland X"
+
+# Require at least one backend be built
+REQUIRED_USE="|| ( ncurses wayland X )"
+
+RDEPEND="
+ ncurses? ( sys-libs/ncurses:= )
+ wayland? (
+ dev-libs/wayland
+ x11-libs/cairo
+ x11-libs/libxkbcommon
+ x11-libs/pango
+ )
+ X? (
+ x11-libs/cairo[X]
+ x11-libs/libX11
+ x11-libs/libXext
+ x11-libs/libXinerama
+ x11-libs/libxcb:=
+ x11-libs/pango[X]
+ )
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ app-text/scdoc
+ virtual/pkgconfig
+ doc? ( app-text/doxygen )
+ wayland? (
+ dev-libs/wayland-protocols
+ dev-util/wayland-scanner
+ )
+"
+
+src_compile() {
+ tc-export CC
+
+ emake clients $(usev ncurses curses) $(usev X x11) $(usev wayland) PREFIX="${EPREFIX}"/usr libdir=/$(get_libdir)
+ use doc && emake doxygen PREFIX="${EPREFIX}"/usr libdir=/$(get_libdir)
+}
+
+src_install() {
+ emake install DESTDIR="${D}" PREFIX="${EPREFIX}"/usr libdir=/$(get_libdir)
+}
diff --git a/dev-libs/bemenu/bemenu-0.6.3-r2.ebuild b/dev-libs/bemenu/bemenu-0.6.3-r2.ebuild
deleted file mode 100644
index bd5b9bc60d55..000000000000
--- a/dev-libs/bemenu/bemenu-0.6.3-r2.ebuild
+++ /dev/null
@@ -1,55 +0,0 @@
-# Copyright 2019-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit toolchain-funcs
-
-DESCRIPTION="dmenu clone for wayland"
-HOMEPAGE="https://github.com/Cloudef/bemenu"
-if [[ ${PV} == 9999 ]]; then
- inherit git-r3
- EGIT_REPO_URI="https://github.com/Cloudef/bemenu.git"
-else
- SRC_URI="https://github.com/Cloudef/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
- KEYWORDS="~amd64 ~arm64 ~x86"
-fi
-
-LICENSE="GPL-3"
-SLOT="0"
-IUSE="doc ncurses wayland X"
-
-# Require at least one backend be built
-REQUIRED_USE="|| ( ncurses wayland X )"
-
-DEPEND="
- ncurses? ( sys-libs/ncurses:= )
- wayland? (
- dev-libs/wayland
- dev-libs/wayland-protocols
- x11-libs/cairo
- x11-libs/pango
- x11-libs/libxcb
- )
- X? (
- x11-libs/libxcb
- x11-libs/libXext
- x11-libs/libX11
- x11-libs/cairo[X]
- x11-libs/pango[X]
- x11-libs/libXinerama
- )
-"
-RDEPEND="${DEPEND}"
-BDEPEND="doc? ( app-doc/doxygen )"
-
-src_compile() {
- tc-export CC
-
- emake clients $(usex ncurses curses "") $(usex X x11 "") $(usex wayland wayland "") PREFIX=/usr libdir=/$(get_libdir)
- use doc && emake doxygen PREFIX=/usr libdir=/$(get_libdir)
-}
-
-src_install() {
- emake install PREFIX="${D}"/usr libdir=/$(get_libdir)
-}
diff --git a/dev-libs/bemenu/bemenu-9999.ebuild b/dev-libs/bemenu/bemenu-9999.ebuild
index bd5b9bc60d55..fa785a2d9815 100644
--- a/dev-libs/bemenu/bemenu-9999.ebuild
+++ b/dev-libs/bemenu/bemenu-9999.ebuild
@@ -1,4 +1,4 @@
-# Copyright 2019-2022 Gentoo Authors
+# Copyright 2019-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -22,34 +22,41 @@ IUSE="doc ncurses wayland X"
# Require at least one backend be built
REQUIRED_USE="|| ( ncurses wayland X )"
-DEPEND="
+RDEPEND="
ncurses? ( sys-libs/ncurses:= )
wayland? (
dev-libs/wayland
- dev-libs/wayland-protocols
x11-libs/cairo
+ x11-libs/libxkbcommon
x11-libs/pango
- x11-libs/libxcb
)
X? (
- x11-libs/libxcb
- x11-libs/libXext
- x11-libs/libX11
x11-libs/cairo[X]
- x11-libs/pango[X]
+ x11-libs/libX11
+ x11-libs/libXext
x11-libs/libXinerama
+ x11-libs/libxcb:=
+ x11-libs/pango[X]
+ )
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ app-text/scdoc
+ virtual/pkgconfig
+ doc? ( app-text/doxygen )
+ wayland? (
+ dev-libs/wayland-protocols
+ dev-util/wayland-scanner
)
"
-RDEPEND="${DEPEND}"
-BDEPEND="doc? ( app-doc/doxygen )"
src_compile() {
tc-export CC
- emake clients $(usex ncurses curses "") $(usex X x11 "") $(usex wayland wayland "") PREFIX=/usr libdir=/$(get_libdir)
- use doc && emake doxygen PREFIX=/usr libdir=/$(get_libdir)
+ emake clients $(usev ncurses curses) $(usev X x11) $(usev wayland) PREFIX="${EPREFIX}"/usr libdir=/$(get_libdir)
+ use doc && emake doxygen PREFIX="${EPREFIX}"/usr libdir=/$(get_libdir)
}
src_install() {
- emake install PREFIX="${D}"/usr libdir=/$(get_libdir)
+ emake install DESTDIR="${D}" PREFIX="${EPREFIX}"/usr libdir=/$(get_libdir)
}
diff --git a/dev-libs/bemenu/metadata.xml b/dev-libs/bemenu/metadata.xml
index 5c76f7a3fc67..e96918bf65fc 100644
--- a/dev-libs/bemenu/metadata.xml
+++ b/dev-libs/bemenu/metadata.xml
@@ -5,4 +5,7 @@
<email>prometheanfire@gentoo.org</email>
<name>Matthew Thode</name>
</maintainer>
+ <upstream>
+ <remote-id type="github">Cloudef/bemenu</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/dev-libs/bglibs/bglibs-2.04-r1.ebuild b/dev-libs/bglibs/bglibs-2.04-r1.ebuild
index bf5323a14aa2..01737b688943 100644
--- a/dev-libs/bglibs/bglibs-2.04-r1.ebuild
+++ b/dev-libs/bglibs/bglibs-2.04-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -14,11 +14,11 @@ SLOT="0/2"
KEYWORDS="~alpha amd64 ~arm ~hppa ~mips ppc ~ppc64 ~sparc x86"
IUSE="doc"
-RDEPEND=""
-DEPEND=""
-BDEPEND="sys-devel/libtool
+BDEPEND="
+ sys-apps/which
+ dev-build/libtool
doc? (
- app-doc/doxygen
+ app-text/doxygen
dev-texlive/texlive-latexrecommended
dev-texlive/texlive-latex
dev-texlive/texlive-latexextra
diff --git a/dev-libs/bglibs/bglibs-2.04-r2.ebuild b/dev-libs/bglibs/bglibs-2.04-r2.ebuild
index d4451b3dde2d..360365dc3f65 100644
--- a/dev-libs/bglibs/bglibs-2.04-r2.ebuild
+++ b/dev-libs/bglibs/bglibs-2.04-r2.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
@@ -11,14 +11,14 @@ SRC_URI="https://untroubled.org/bglibs/archive/${P}.tar.gz"
LICENSE="LGPL-2.1+"
SLOT="0/2"
-KEYWORDS="~alpha ~amd64 ~arm ~hppa ~mips ~ppc ~ppc64 ~riscv sparc ~x86"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv sparc ~x86"
IUSE="doc"
-RDEPEND=""
-DEPEND=""
-BDEPEND="sys-devel/libtool
+BDEPEND="
+ sys-apps/which
+ dev-build/libtool
doc? (
- app-doc/doxygen
+ app-text/doxygen
dev-texlive/texlive-latexrecommended
dev-texlive/texlive-latex
dev-texlive/texlive-latexextra
diff --git a/dev-libs/bitset/metadata.xml b/dev-libs/bitset/metadata.xml
index 8f947cff4a17..80c5ed31fb8e 100644
--- a/dev-libs/bitset/metadata.xml
+++ b/dev-libs/bitset/metadata.xml
@@ -1,10 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <email>pinkbyte@gentoo.org</email>
- <name>Sergey Popov</name>
- </maintainer>
+ <!-- maintainer-needed -->
<use>
<flag name="tcmalloc">Use tcmalloc from <pkg>dev-util/google-perftools</pkg> for allocations</flag>
</use>
diff --git a/dev-libs/bitshuffle/bitshuffle-0.3.5.ebuild b/dev-libs/bitshuffle/bitshuffle-0.3.5.ebuild
index 3a4dd5a7574d..964fad44dbd0 100644
--- a/dev-libs/bitshuffle/bitshuffle-0.3.5.ebuild
+++ b/dev-libs/bitshuffle/bitshuffle-0.3.5.ebuild
@@ -11,7 +11,7 @@ SRC_URI="https://github.com/kiyo-masui/bitshuffle/archive/refs/tags/${PV}.tar.gz
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86"
+KEYWORDS="amd64 ~arm arm64 ppc64 x86"
DEPEND="
app-arch/lz4
diff --git a/dev-libs/blake3/Manifest b/dev-libs/blake3/Manifest
new file mode 100644
index 000000000000..14f82ce4b719
--- /dev/null
+++ b/dev-libs/blake3/Manifest
@@ -0,0 +1,2 @@
+DIST blake3-1.5.0.tar.gz 228053 BLAKE2B 04405b0bea5e0a5a774c84e712f36c61fd695c4cbe203a327741db7138af38fc4deda7c75a149f1850a1ca01a519897fb8e84c2cbe38f9cc084357c5ed61a1ed SHA512 eb782d48240cf2fa8cc3cddd699dce3a362eb480b3ca58a97d54cd3595a0c969e51fe14374b91136036e8e29c8f745efbd5a4d1aaed2c17f23cb89fb756645d0
+DIST blake3-1.5.1.tar.gz 242161 BLAKE2B 12712bcc6413f90bd9d79ee87d73b45ee611032ccfa3f9e73b2c41b080c2a9451db028c9ff32efa546bef19b85e4aa9fc5ecd9fc6b76c34fd347cbc5fe337649 SHA512 a2ac662b0e45d1f4c4ee01a5e556a47c49ab5407a6057034033ce6fd0fc6b88f66dd428d80f5e7c4a8413356cb4b5ab655924d96138213499893e0204d7c8d24
diff --git a/dev-libs/blake3/blake3-1.5.0.ebuild b/dev-libs/blake3/blake3-1.5.0.ebuild
new file mode 100644
index 000000000000..59165fe5556a
--- /dev/null
+++ b/dev-libs/blake3/blake3-1.5.0.ebuild
@@ -0,0 +1,18 @@
+# Copyright 2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+DESCRIPTION="a fast cryptographic hash function"
+HOMEPAGE="https://github.com/BLAKE3-team/BLAKE3"
+SRC_URI="https://github.com/BLAKE3-team/BLAKE3/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/BLAKE3-${PV}/c"
+
+LICENSE="|| ( CC0-1.0 Apache-2.0 )"
+SLOT="0/0"
+KEYWORDS="amd64 ~arm ~arm64 ~loong ~riscv ~sparc ~x86"
+
+RDEPEND=""
+DEPEND="${RDEPEND}"
diff --git a/dev-libs/blake3/blake3-1.5.1.ebuild b/dev-libs/blake3/blake3-1.5.1.ebuild
new file mode 100644
index 000000000000..7440aae92bc1
--- /dev/null
+++ b/dev-libs/blake3/blake3-1.5.1.ebuild
@@ -0,0 +1,15 @@
+# Copyright 2023-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+DESCRIPTION="a fast cryptographic hash function"
+HOMEPAGE="https://github.com/BLAKE3-team/BLAKE3"
+SRC_URI="https://github.com/BLAKE3-team/BLAKE3/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/BLAKE3-${PV}/c"
+
+LICENSE="|| ( CC0-1.0 Apache-2.0 )"
+SLOT="0/0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~riscv ~sparc ~x86"
diff --git a/dev-libs/blake3/metadata.xml b/dev-libs/blake3/metadata.xml
new file mode 100644
index 000000000000..9bc26a88114e
--- /dev/null
+++ b/dev-libs/blake3/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>matthew@gentoo.org</email>
+ <name>Matthew Smith</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">BLAKE3-team/BLAKE3</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/boehm-gc/Manifest b/dev-libs/boehm-gc/Manifest
index 36329d38e338..f6492f1a745a 100644
--- a/dev-libs/boehm-gc/Manifest
+++ b/dev-libs/boehm-gc/Manifest
@@ -1,2 +1,2 @@
-DIST gc-8.0.4.tar.gz 1160528 BLAKE2B ec42378c964fc573e53f6f58aa22fa63a0b421c91b81336acfeb2e2afdb5c89514edace3a9500699e13ff1cadc4205ea245af4f0dfa5e439ed9b78cabf6058f7 SHA512 57ccca15c6e50048d306a30de06c1a844f36103a84c2d1c17cbccbbc0001e17915488baec79737449982da99ce5d14ce527176afae9ae153cbbb5a19d986366e
-DIST gc-8.0.6.tar.gz 1168660 BLAKE2B c23cb10db54db0e8b16c429e039791086dfec4216ad65fabf072bc0f05df66364d019fccf945bffc32ce12868edfbaf6d9482acb2949d1e233bd89925ab55ebd SHA512 2ea25003d585118e3ac0e12be9240e8195db511c6e94949f20453dc3cb771380bd5b956c04243b2a8ce31508587aa32de4f0f10a813577e6dbe8367688b7614e
+DIST gc-8.2.4.tar.gz 1210929 BLAKE2B 48f058b3f6f9f708d4335a7a0b077aab4ea5df32be73038bb8c20c12483d7ec8798b16db85afed5aa270f0f818de08abf9407036f662c757f361a929f99d951f SHA512 27d014378000f25fb2f5598904be85604822d5ed4553f8b3d1c279122300d3958b4432ec08f951cfd842d92121ea8a030dda34bf2475ec53d4fded551fdd3a98
+DIST gc-8.2.6.tar.gz 1216440 BLAKE2B fb1a51ed90ecd2e81a5d398593717ece3079d3d6f265521dd48ee7e1038700272bfccb6788f4e9915fb3fafd6f1be3775a3b69f38912eae0f6578822d168398a SHA512 48afcc1d8570d6b5d62addf8b7b947a3836717e71c073f6dff8982744c06f5973a02e890d17e8dd93f7f997d029b49c652929e6efa0e32aefbcdf7ab0910eda5
diff --git a/dev-libs/boehm-gc/boehm-gc-8.0.4.ebuild b/dev-libs/boehm-gc/boehm-gc-8.0.4.ebuild
deleted file mode 100644
index 3d27a52ef739..000000000000
--- a/dev-libs/boehm-gc/boehm-gc-8.0.4.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"
-
-inherit multilib-minimal libtool
-
-MY_P="gc-${PV}"
-
-DESCRIPTION="The Boehm-Demers-Weiser conservative garbage collector"
-HOMEPAGE="https://www.hboehm.info/gc/ https://github.com/ivmai/bdwgc/"
-SRC_URI="https://github.com/ivmai/bdwgc/releases/download/v${PV}/${MY_P}.tar.gz"
-
-LICENSE="boehm-gc"
-# SONAME: libgc.so.1 libgccpp.so.1
-# We've been using subslot 0 for these instead of "1.1".
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-IUSE="cxx +large static-libs +threads"
-
-RDEPEND=">=dev-libs/libatomic_ops-7.4[${MULTILIB_USEDEP}]"
-DEPEND="${RDEPEND}"
-BDEPEND="virtual/pkgconfig"
-
-S="${WORKDIR}/${MY_P}"
-
-src_prepare() {
- default
- elibtoolize #594754
-}
-
-multilib_src_configure() {
- local config=(
- --disable-docs
- --with-libatomic-ops
- $(use_enable cxx cplusplus)
- $(use_enable static-libs static)
- $(use threads || echo --disable-threads)
- $(use_enable large large-config)
- )
-
- ECONF_SOURCE=${S} econf "${config[@]}"
-}
-
-multilib_src_install_all() {
- local HTML_DOCS=( doc/*.md )
- einstalldocs
- dodoc doc/README{.environment,.linux,.macros}
-
- # package provides .pc files
- find "${ED}" -name '*.la' -delete || die
-
- newman doc/gc.man GC_malloc.1
-}
diff --git a/dev-libs/boehm-gc/boehm-gc-8.0.6.ebuild b/dev-libs/boehm-gc/boehm-gc-8.0.6.ebuild
deleted file mode 100644
index b06d52f90cb3..000000000000
--- a/dev-libs/boehm-gc/boehm-gc-8.0.6.ebuild
+++ /dev/null
@@ -1,53 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit multilib-minimal libtool
-
-MY_P="gc-${PV}"
-
-DESCRIPTION="The Boehm-Demers-Weiser conservative garbage collector"
-HOMEPAGE="https://www.hboehm.info/gc/ https://github.com/ivmai/bdwgc/"
-SRC_URI="https://github.com/ivmai/bdwgc/releases/download/v${PV}/${MY_P}.tar.gz"
-S="${WORKDIR}/${MY_P}"
-
-LICENSE="boehm-gc"
-# SONAME: libgc.so.1 libgccpp.so.1
-# We've been using subslot 0 for these instead of "1.1".
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-IUSE="cxx +large static-libs +threads"
-
-RDEPEND=">=dev-libs/libatomic_ops-7.4[${MULTILIB_USEDEP}]"
-DEPEND="${RDEPEND}"
-BDEPEND="virtual/pkgconfig"
-
-src_prepare() {
- default
- elibtoolize #594754
-}
-
-multilib_src_configure() {
- local config=(
- --disable-docs
- --with-libatomic-ops
- $(use_enable cxx cplusplus)
- $(use_enable static-libs static)
- $(use threads || echo --disable-threads)
- $(use_enable large large-config)
- )
-
- ECONF_SOURCE=${S} econf "${config[@]}"
-}
-
-multilib_src_install_all() {
- local HTML_DOCS=( doc/*.md )
- einstalldocs
- dodoc doc/README{.environment,.linux,.macros}
-
- # package provides .pc files
- find "${ED}" -name '*.la' -delete || die
-
- newman doc/gc.man GC_malloc.1
-}
diff --git a/dev-libs/boehm-gc/boehm-gc-8.2.4.ebuild b/dev-libs/boehm-gc/boehm-gc-8.2.4.ebuild
new file mode 100644
index 000000000000..df450bbfd675
--- /dev/null
+++ b/dev-libs/boehm-gc/boehm-gc-8.2.4.ebuild
@@ -0,0 +1,56 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit multilib-minimal libtool
+
+MY_P="gc-${PV}"
+
+DESCRIPTION="The Boehm-Demers-Weiser conservative garbage collector"
+HOMEPAGE="https://www.hboehm.info/gc/ https://github.com/ivmai/bdwgc/"
+SRC_URI="https://github.com/ivmai/bdwgc/releases/download/v${PV}/${MY_P}.tar.gz"
+S="${WORKDIR}/${MY_P}"
+
+LICENSE="boehm-gc"
+# SONAME: libgc.so.1 libgccpp.so.1
+# We've been using subslot 0 for these instead of "1.1".
+SLOT="0"
+# Upstream marked this version as "Pre-release"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+IUSE="cxx +large static-libs +threads"
+
+RDEPEND=">=dev-libs/libatomic_ops-7.4[${MULTILIB_USEDEP}]"
+DEPEND="${RDEPEND}"
+BDEPEND="virtual/pkgconfig"
+
+src_prepare() {
+ default
+
+ # bug #594754
+ elibtoolize
+}
+
+multilib_src_configure() {
+ local config=(
+ --disable-docs
+ --with-libatomic-ops
+ $(use_enable cxx cplusplus)
+ $(use_enable static-libs static)
+ $(use threads || echo --disable-threads)
+ $(use_enable large large-config)
+ )
+
+ ECONF_SOURCE="${S}" econf "${config[@]}"
+}
+
+multilib_src_install_all() {
+ local HTML_DOCS=( doc/*.md )
+ einstalldocs
+ dodoc doc/README{.environment,.linux,.macros}
+
+ # Package provides .pc files
+ find "${ED}" -name '*.la' -delete || die
+
+ newman doc/gc.man GC_malloc.1
+}
diff --git a/dev-libs/boehm-gc/boehm-gc-8.2.6.ebuild b/dev-libs/boehm-gc/boehm-gc-8.2.6.ebuild
new file mode 100644
index 000000000000..6dc7665f7aa8
--- /dev/null
+++ b/dev-libs/boehm-gc/boehm-gc-8.2.6.ebuild
@@ -0,0 +1,56 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit multilib-minimal libtool
+
+MY_P="gc-${PV}"
+
+DESCRIPTION="The Boehm-Demers-Weiser conservative garbage collector"
+HOMEPAGE="https://www.hboehm.info/gc/ https://github.com/ivmai/bdwgc/"
+SRC_URI="https://github.com/ivmai/bdwgc/releases/download/v${PV}/${MY_P}.tar.gz"
+S="${WORKDIR}/${MY_P}"
+
+LICENSE="boehm-gc"
+# SONAME: libgc.so.1 libgccpp.so.1
+# We've been using subslot 0 for these instead of "1.1".
+SLOT="0"
+# Don't keyword versions if upstream mark them as pre-release.
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+IUSE="cxx +large static-libs +threads"
+
+RDEPEND=">=dev-libs/libatomic_ops-7.4[${MULTILIB_USEDEP}]"
+DEPEND="${RDEPEND}"
+BDEPEND="virtual/pkgconfig"
+
+src_prepare() {
+ default
+
+ # bug #594754
+ elibtoolize
+}
+
+multilib_src_configure() {
+ local config=(
+ --disable-docs
+ --with-libatomic-ops
+ $(use_enable cxx cplusplus)
+ $(use_enable static-libs static)
+ $(use threads || echo --disable-threads)
+ $(use_enable large large-config)
+ )
+
+ ECONF_SOURCE="${S}" econf "${config[@]}"
+}
+
+multilib_src_install_all() {
+ local HTML_DOCS=( doc/*.md )
+ einstalldocs
+ dodoc doc/README{.environment,.linux,.macros}
+
+ # Package provides .pc files
+ find "${ED}" -name '*.la' -delete || die
+
+ newman doc/gc.man GC_malloc.1
+}
diff --git a/dev-libs/boehm-gc/metadata.xml b/dev-libs/boehm-gc/metadata.xml
index 0af8f4929b27..590a8b9b0134 100644
--- a/dev-libs/boehm-gc/metadata.xml
+++ b/dev-libs/boehm-gc/metadata.xml
@@ -6,6 +6,9 @@
<name>Gentoo Toolchain Project</name>
</maintainer>
<use>
- <flag name="large">optimize for large heap size (also increases max root sets)x</flag>
+ <flag name="large">optimize for large heap size (also increases max root sets)</flag>
</use>
+ <upstream>
+ <remote-id type="github">ivmai/bdwgc</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/dev-libs/boost-mpl-cartesian_product/Manifest b/dev-libs/boost-mpl-cartesian_product/Manifest
deleted file mode 100644
index d3fa280cf75d..000000000000
--- a/dev-libs/boost-mpl-cartesian_product/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST boost-mpl-cartesian_product-20161205.tar.gz 4391 BLAKE2B 1ed647de2cf98f78aa58fcf9fa4122c3b4a8a40c00c6379d9abb8c7f36ccf1b3360ed3fc3143effc7a7e228404c496d9b93dd3c4f9ced59be15148ae122d7316 SHA512 cbe1f10b45bbb3db84bba7aa935698d7d79a59ae8b40c786df31da2936500feffe5589755ea53f31e3fc869ca4e87a880f013967d2829ce55412900b244252e7
diff --git a/dev-libs/boost-mpl-cartesian_product/boost-mpl-cartesian_product-20161205.ebuild b/dev-libs/boost-mpl-cartesian_product/boost-mpl-cartesian_product-20161205.ebuild
deleted file mode 100644
index d7206af56292..000000000000
--- a/dev-libs/boost-mpl-cartesian_product/boost-mpl-cartesian_product-20161205.ebuild
+++ /dev/null
@@ -1,43 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit vcs-snapshot toolchain-funcs
-
-COMMIT="aeb0266b3a89f32c390dff51cb73a454d5d7a745"
-DESCRIPTION="an extension to the Boost.MPL library"
-HOMEPAGE="https://github.com/quinoacomputing/BoostMPLCartesianProduct"
-SRC_URI="https://github.com/quinoacomputing/BoostMPLCartesianProduct/archive/${COMMIT}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="Boost-1.0"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE="test"
-RESTRICT="!test? ( test )"
-
-DEPEND="dev-libs/boost"
-RDEPEND="${DEPEND}"
-
-src_compile() {
- use test || return
- local i
- for i in $(find libs/mpl -name "*.cpp"); do
- echo $(tc-getCXX) ${CXXFLAGS} -I. "$i" -o "${i%.cpp}"
- $(tc-getCXX) ${CXXFLAGS} -I. "$i" -o "${i%.cpp}" || die
- done
-}
-
-src_test() {
- local i
- for i in $(find libs/mpl -name "*.cpp"); do
- echo "${i%.cpp}"
- "${i%.cpp}" || die
- done
-}
-
-src_install() {
- dodoc readme.txt
- insinto /usr/include/boost/mpl
- doins boost/mpl/cartesian_product.hpp
-}
diff --git a/dev-libs/boost-mpl-cartesian_product/metadata.xml b/dev-libs/boost-mpl-cartesian_product/metadata.xml
deleted file mode 100644
index 3ac9541f6026..000000000000
--- a/dev-libs/boost-mpl-cartesian_product/metadata.xml
+++ /dev/null
@@ -1,15 +0,0 @@
-<?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>
- </maintainer>
- <upstream>
- <remote-id type="github">quinoacomputing/BoostMPLCartesianProduct</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/dev-libs/boost/Manifest b/dev-libs/boost/Manifest
index 1649b2507a37..3d25ce0460ba 100644
--- a/dev-libs/boost/Manifest
+++ b/dev-libs/boost/Manifest
@@ -1,3 +1 @@
-DIST boost-1.77.0-patches-1.tar.xz 9612 BLAKE2B b56e45cee94329c97e8ee4e6f040832829e63fb0ae47f02fb1aa54720311f56e68b4d4d53557952bb280d60316ecf64ffc1a1e9c9411b70a733690270b85c2d2 SHA512 1358fa6d3afa45fe414f0c11bb583cc8b95737405c6fc3831f7485e22edac990e98849c06c851a4d0fe26bbeec7b8b40103090dc80417ae717ba33caa2088d86
-DIST boost_1_77_0.tar.bz2 110361537 BLAKE2B 106aeb09ec7705b595f2ca966a76c53c649eac6fac50d88c156862e0991c33c89a2f3a09edcbcb453fa44bf71cdde030b35d0a0889ad97b65f3a868cb877a532 SHA512 39b45c9b60bc5a2a4c669a4463d1272c1e093376b2fb374d7f20a84ea10a3e23bb04b335a735a83a04575731f874d9bff77e89acd947524b3fbbae1b26ae1f2f
-DIST boost_1_78_0.tar.bz2 110675550 BLAKE2B ed7da98862ec1e0a28472544400e6f44ffadbc967eed969ce6cb62b1c4f0b7a4b98a395269eb374b57326eff9cdb1dd6e47df9d1a9730aff7c926cc44388fb2d SHA512 9c34a387a203b99aa773eb0c59f5abac7a99ba10e4623653e793c1d5b29b99b88e0e4e0d4e2e4ca5d497c42f2e46e23bab66417722433a457dc818d7670bcbbf
+DIST boost_1_84_0.tar.bz2 123110547 BLAKE2B a872ee00402be0383726020f4d13a7df6c2765c52eac2e09aab1604432931d26dd597503f5dcbbf788d7e7528d13c6d1dbfff1e85d22bf92c7828ef74cf2405d SHA512 5dfeb35198bb096e46cf9e131ef0334cb95bc0bf09f343f291b860b112598b3c36111bd8c232439c401a2b2fb832fa0c399a8d5b96afc60bd359dff070154497
diff --git a/dev-libs/boost/boost-1.77.0-r4.ebuild b/dev-libs/boost/boost-1.77.0-r4.ebuild
deleted file mode 100644
index 5ec5337f1703..000000000000
--- a/dev-libs/boost/boost-1.77.0-r4.ebuild
+++ /dev/null
@@ -1,341 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..10} )
-
-inherit flag-o-matic multiprocessing python-r1 toolchain-funcs multilib-minimal
-
-MY_PV="$(ver_rs 1- _)"
-MAJOR_V="$(ver_cut 1-2)"
-
-DESCRIPTION="Boost Libraries for C++"
-HOMEPAGE="https://www.boost.org/"
-SRC_URI="https://boostorg.jfrog.io/artifactory/main/release/${PV}/source/boost_${MY_PV}.tar.bz2"
-SRC_URI+=" https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${P}-patches-1.tar.xz"
-S="${WORKDIR}/${PN}_${MY_PV}"
-
-LICENSE="Boost-1.0"
-SLOT="0/${PV}" # ${PV} instead ${MAJOR_V} due to bug 486122
-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 ~x86-winnt"
-IUSE="bzip2 context debug doc icu lzma +nls mpi numpy python tools zlib zstd"
-REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
-# the tests will never fail because these are not intended as sanity
-# tests at all. They are more a way for upstream to check their own code
-# on new compilers. Since they would either be completely unreliable
-# (failing for no good reason) or completely useless (never failing)
-# there is no point in having them in the ebuild to begin with.
-RESTRICT="test"
-
-RDEPEND="
- !app-admin/eselect-boost
- !dev-libs/boost-numpy
- !<dev-libs/leatherman-1.12.0-r1
- bzip2? ( app-arch/bzip2:=[${MULTILIB_USEDEP}] )
- icu? ( >=dev-libs/icu-3.6:=[${MULTILIB_USEDEP}] )
- !icu? ( virtual/libiconv[${MULTILIB_USEDEP}] )
- lzma? ( app-arch/xz-utils:=[${MULTILIB_USEDEP}] )
- mpi? ( >=virtual/mpi-2.0-r4[${MULTILIB_USEDEP},cxx,threads] )
- python? (
- ${PYTHON_DEPS}
- numpy? ( dev-python/numpy[${PYTHON_USEDEP}] )
- )
- zlib? ( sys-libs/zlib:=[${MULTILIB_USEDEP}] )
- zstd? ( app-arch/zstd:=[${MULTILIB_USEDEP}] )"
-DEPEND="${RDEPEND}"
-BDEPEND=">=dev-util/boost-build-${MAJOR_V}-r2"
-
-PATCHES=(
- "${WORKDIR}"/${PN}-1.71.0-disable_icu_rpath.patch
- "${WORKDIR}"/${PN}-1.71.0-context-x32.patch
- "${WORKDIR}"/${PN}-1.71.0-build-auto_index-tool.patch
- # Boost.MPI's __init__.py doesn't work on Py3
- "${WORKDIR}"/${PN}-1.73-boost-mpi-python-PEP-328.patch
- "${WORKDIR}"/${PN}-1.74-CVE-2012-2677.patch
- "${WORKDIR}"/${PN}-1.76-sparc-define.patch
- "${WORKDIR}"/${PN}-1.77-math-deprecated-include.patch
- "${WORKDIR}"/${PN}-1.77-geometry.patch
- "${FILESDIR}"/${P}-python-3.10.patch
- "${FILESDIR}"/${P}-fix-process-include.patch
-)
-
-python_bindings_needed() {
- multilib_is_native_abi && use python
-}
-
-tools_needed() {
- multilib_is_native_abi && use tools
-}
-
-create_user-config.jam() {
- local user_config_jam="${BUILD_DIR}"/user-config.jam
- if [[ -s ${user_config_jam} ]]; then
- einfo "${user_config_jam} already exists, skipping configuration"
- return
- else
- einfo "Creating configuration in ${user_config_jam}"
- fi
-
- local compiler compiler_version compiler_executable="$(tc-getCXX)"
- if [[ ${CHOST} == *-darwin* ]]; then
- compiler="darwin"
- compiler_version="$(gcc-fullversion)"
- else
- compiler="gcc"
- compiler_version="$(gcc-version)"
- fi
-
- if use mpi; then
- local mpi_configuration="using mpi ;"
- fi
-
- cat > "${user_config_jam}" <<- __EOF__ || die
- using ${compiler} : ${compiler_version} : ${compiler_executable} : <cflags>"${CFLAGS}" <cxxflags>"${CXXFLAGS}" <linkflags>"${LDFLAGS}" <archiver>"$(tc-getAR)" <ranlib>"$(tc-getRANLIB)" ;
- ${mpi_configuration}
- __EOF__
-
- if python_bindings_needed; then
- append_to_user_config() {
- local py_config
- if tc-is-cross-compiler; then
- py_config="using python : ${EPYTHON#python} : : ${ESYSROOT}/usr/include/${EPYTHON} : ${ESYSROOT}/usr/$(get_libdir) ;"
- else
- py_config="using python : ${EPYTHON#python} : ${PYTHON} : $(python_get_includedir) ;"
- fi
- echo "${py_config}" >> "${user_config_jam}" || die
- }
- python_foreach_impl append_to_user_config
- fi
-
- if python_bindings_needed && use numpy; then
- einfo "Enabling support for NumPy extensions in Boost.Python"
- else
- einfo "Disabling support for NumPy extensions in Boost.Python"
-
- # Boost.Build does not allow for disabling of numpy
- # extensions, thereby leading to automagic numpy
- # https://github.com/boostorg/python/issues/111#issuecomment-280447482
- sed \
- -e 's/\[ unless \[ python\.numpy \] : <build>no \]/<build>no/g' \
- -i "${BUILD_DIR}"/libs/python/build/Jamfile || die
- fi
-}
-
-pkg_setup() {
- # Bail out on unsupported build configuration, bug #456792
- if [[ -f "${EROOT}"/etc/site-config.jam ]]; then
- if ! grep -q 'gentoo\(debug\|release\)' "${EROOT}"/etc/site-config.jam; then
- eerror "You are using custom ${EROOT}/etc/site-config.jam without defined gentoorelease/gentoodebug targets."
- eerror "Boost can not be built in such configuration."
- eerror "Please, either remove this file or add targets from ${EROOT}/usr/share/boost-build/site-config.jam to it."
- die "Unsupported target in ${EROOT}/etc/site-config.jam"
- fi
- fi
-}
-
-src_prepare() {
- default
- multilib_copy_sources
-}
-
-ejam() {
- create_user-config.jam
-
- local b2_opts=( "--user-config=${BUILD_DIR}/user-config.jam" )
- if python_bindings_needed; then
- append_to_b2_opts() {
- b2_opts+=( python="${EPYTHON#python}" )
- }
- python_foreach_impl append_to_b2_opts
- else
- b2_opts+=( --without-python )
- fi
- b2_opts+=( "$@" )
-
- echo b2 "${b2_opts[@]}" >&2
- b2 "${b2_opts[@]}"
-}
-
-src_configure() {
- # Workaround for too many parallel processes requested, bug #506064
- [[ "$(makeopts_jobs)" -gt 64 ]] && MAKEOPTS="${MAKEOPTS} -j64"
-
- OPTIONS=(
- $(usex debug gentoodebug gentoorelease)
- "-j$(makeopts_jobs)"
- -q
- -d+2
- pch=off
- $(usex icu "-sICU_PATH=${ESYSROOT}/usr" '--disable-icu boost.locale.icu=off')
- $(usev !mpi --without-mpi)
- $(usev !nls --without-locale)
- $(usev !context '--without-context --without-coroutine --without-fiber')
- --without-stacktrace
- --boost-build="${BROOT}"/usr/share/boost-build/src
- --layout=system
- # building with threading=single is currently not possible
- # https://svn.boost.org/trac/boost/ticket/7105
- threading=multi
- link=shared
- # this seems to be the only way to disable compression algorithms
- # https://www.boost.org/doc/libs/1_70_0/libs/iostreams/doc/installation.html#boost-build
- -sNO_BZIP2=$(usex bzip2 0 1)
- -sNO_LZMA=$(usex lzma 0 1)
- -sNO_ZLIB=$(usex zlib 0 1)
- -sNO_ZSTD=$(usex zstd 0 1)
- )
-
- if [[ ${CHOST} == *-darwin* ]]; then
- # We need to add the prefix, and in two cases this exceeds, so prepare
- # for the largest possible space allocation.
- append-ldflags -Wl,-headerpad_max_install_names
- fi
-
- # Use C++14 globally as of 1.62
- append-cxxflags -std=c++14
-}
-
-multilib_src_compile() {
- ejam \
- --prefix="${EPREFIX}"/usr \
- "${OPTIONS[@]}" || die
-
- if tools_needed; then
- pushd tools >/dev/null || die
- ejam \
- --prefix="${EPREFIX}"/usr \
- "${OPTIONS[@]}" \
- || die "Building of Boost tools failed"
- popd >/dev/null || die
- fi
-}
-
-multilib_src_install() {
- ejam \
- --prefix="${ED}"/usr \
- --includedir="${ED}"/usr/include \
- --libdir="${ED}"/usr/$(get_libdir) \
- "${OPTIONS[@]}" install || die "Installation of Boost libraries failed"
-
- if tools_needed; then
- dobin dist/bin/*
-
- insinto /usr/share
- doins -r dist/share/boostbook
- fi
-
- # boost's build system truely sucks for not having a destdir. Because for
- # this reason we are forced to build with a prefix that includes the
- # DESTROOT, dynamic libraries on Darwin end messed up, referencing the
- # DESTROOT instread of the actual EPREFIX. There is no way out of here
- # but to do it the dirty way of manually setting the right install_names.
- if [[ ${CHOST} == *-darwin* ]]; then
- einfo "Working around completely broken build-system(tm)"
- local d
- for d in "${ED}"/usr/lib/*.dylib; do
- if [[ -f ${d} ]]; then
- # fix the "soname"
- ebegin " correcting install_name of ${d#${ED}}"
- install_name_tool -id "/${d#${D}}" "${d}"
- eend $?
- # fix references to other libs
- refs=$(otool -XL "${d}" | \
- sed -e '1d' -e 's/^\t//' | \
- grep "^libboost_" | \
- cut -f1 -d' ')
- local r
- for r in ${refs}; do
- ebegin " correcting reference to ${r}"
- install_name_tool -change \
- "${r}" \
- "${EPREFIX}/usr/lib/${r}" \
- "${d}"
- eend $?
- done
- fi
- done
- fi
-}
-
-multilib_src_install_all() {
- if ! use numpy; then
- rm -r "${ED}"/usr/include/boost/python/numpy* || die
- fi
-
- if use python; then
- if use mpi; then
- move_mpi_py_into_sitedir() {
- python_moduleinto boost
- python_domodule "${S}"/libs/mpi/build/__init__.py
-
- python_domodule "${ED}"/usr/$(get_libdir)/boost-${EPYTHON}/mpi.so
- rm -r "${ED}"/usr/$(get_libdir)/boost-${EPYTHON} || die
-
- python_optimize
- }
- python_foreach_impl move_mpi_py_into_sitedir
- else
- rm -r "${ED}"/usr/include/boost/mpi/python* || die
- fi
- else
- rm -r "${ED}"/usr/include/boost/{python*,mpi/python*,parameter/aux_/python,parameter/python*} || die
- fi
-
- if ! use nls; then
- rm -r "${ED}"/usr/include/boost/locale || die
- fi
-
- if ! use context; then
- rm -r "${ED}"/usr/include/boost/context || die
- rm -r "${ED}"/usr/include/boost/coroutine{,2} || die
- rm "${ED}"/usr/include/boost/asio/spawn.hpp || die
- fi
-
- if use doc; then
- # find extraneous files that shouldn't be installed
- # as part of the documentation and remove them.
- find libs/*/* \( -iname 'test' -o -iname 'src' \) -exec rm -rf '{}' + || die
- find doc \( -name 'Jamfile.v2' -o -name 'build' -o -name '*.manifest' \) -exec rm -rf '{}' + || die
- find tools \( -name 'Jamfile.v2' -o -name 'src' -o -name '*.cpp' -o -name '*.hpp' \) -exec rm -rf '{}' + || die
-
- docinto html
- dodoc *.{htm,html,png,css}
- dodoc -r doc libs more tools
-
- # To avoid broken links
- dodoc LICENSE_1_0.txt
-
- dosym ../../../../include/boost /usr/share/doc/${PF}/html/boost
- fi
-}
-
-pkg_preinst() {
- # Yay for having symlinks that are nigh-impossible to remove without
- # resorting to dirty hacks like these. Removes lingering symlinks
- # from the slotted versions.
- local symlink
- for symlink in "${EROOT}"/usr/include/boost "${EROOT}"/usr/share/boostbook; do
- if [[ -L ${symlink} ]]; then
- rm -f "${symlink}" || die
- fi
- done
-
- # some ancient installs still have boost cruft lying around
- # for unknown reasons, causing havoc for reverse dependencies
- # Bug: 607734
- rm -rf "${EROOT}"/usr/include/boost-1_[3-5]? || die
-}
-
-pkg_postinst() {
- elog "Boost.Regex is *extremely* ABI sensitive. If you get errors such as"
- elog
- elog " undefined reference to \`boost::re_detail_$(ver_cut 1)0$(ver_cut 2)00::cpp_regex_traits_implementation"
- elog " <char>::transform_primary[abi:cxx11](char const*, char const*) const'"
- elog
- elog "Then you need to recompile Boost and all its reverse dependencies"
- elog "using the same toolchain. In general, *every* change of the C++ toolchain"
- elog "requires a complete rebuild of the Boost-dependent ecosystem."
- elog
- elog "See for instance https://bugs.gentoo.org/638138"
-}
diff --git a/dev-libs/boost/boost-1.78.0-r2.ebuild b/dev-libs/boost/boost-1.78.0-r2.ebuild
deleted file mode 100644
index 185d0046dbf0..000000000000
--- a/dev-libs/boost/boost-1.78.0-r2.ebuild
+++ /dev/null
@@ -1,336 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..10} )
-
-inherit flag-o-matic multiprocessing python-r1 toolchain-funcs multilib-minimal
-
-MY_PV="$(ver_rs 1- _)"
-MAJOR_V="$(ver_cut 1-2)"
-
-DESCRIPTION="Boost Libraries for C++"
-HOMEPAGE="https://www.boost.org/"
-SRC_URI="https://boostorg.jfrog.io/artifactory/main/release/${PV}/source/boost_${MY_PV}.tar.bz2"
-S="${WORKDIR}/${PN}_${MY_PV}"
-
-LICENSE="Boost-1.0"
-SLOT="0/${PV}" # ${PV} instead ${MAJOR_V} due to bug 486122
-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 ~x86-winnt"
-IUSE="bzip2 context debug doc icu lzma +nls mpi numpy python tools zlib zstd"
-REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
-# the tests will never fail because these are not intended as sanity
-# tests at all. They are more a way for upstream to check their own code
-# on new compilers. Since they would either be completely unreliable
-# (failing for no good reason) or completely useless (never failing)
-# there is no point in having them in the ebuild to begin with.
-RESTRICT="test"
-
-RDEPEND="
- !app-admin/eselect-boost
- !dev-libs/boost-numpy
- !<dev-libs/leatherman-1.12.0-r1
- bzip2? ( app-arch/bzip2:=[${MULTILIB_USEDEP}] )
- icu? ( >=dev-libs/icu-3.6:=[${MULTILIB_USEDEP}] )
- !icu? ( virtual/libiconv[${MULTILIB_USEDEP}] )
- lzma? ( app-arch/xz-utils:=[${MULTILIB_USEDEP}] )
- mpi? ( >=virtual/mpi-2.0-r4[${MULTILIB_USEDEP},cxx,threads] )
- python? (
- ${PYTHON_DEPS}
- numpy? ( dev-python/numpy[${PYTHON_USEDEP}] )
- )
- zlib? ( sys-libs/zlib:=[${MULTILIB_USEDEP}] )
- zstd? ( app-arch/zstd:=[${MULTILIB_USEDEP}] )"
-DEPEND="${RDEPEND}"
-#BDEPEND=">=dev-util/boost-build-${MAJOR_V}"
-BDEPEND=">=dev-util/boost-build-1.78.0-r1"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-1.71.0-disable_icu_rpath.patch
- "${FILESDIR}"/${PN}-1.71.0-context-x32.patch
- "${FILESDIR}"/${PN}-1.71.0-build-auto_index-tool.patch
- # Boost.MPI's __init__.py doesn't work on Py3
- "${FILESDIR}"/${PN}-1.73-boost-mpi-python-PEP-328.patch
- "${FILESDIR}"/${PN}-1.74-CVE-2012-2677.patch
-)
-
-python_bindings_needed() {
- multilib_is_native_abi && use python
-}
-
-tools_needed() {
- multilib_is_native_abi && use tools
-}
-
-create_user-config.jam() {
- local user_config_jam="${BUILD_DIR}"/user-config.jam
- if [[ -s ${user_config_jam} ]]; then
- einfo "${user_config_jam} already exists, skipping configuration"
- return
- else
- einfo "Creating configuration in ${user_config_jam}"
- fi
-
- local compiler compiler_version compiler_executable="$(tc-getCXX)"
- if [[ ${CHOST} == *-darwin* ]]; then
- compiler="darwin"
- compiler_version="$(gcc-fullversion)"
- else
- compiler="gcc"
- compiler_version="$(gcc-version)"
- fi
-
- if use mpi; then
- local mpi_configuration="using mpi ;"
- fi
-
- cat > "${user_config_jam}" <<- __EOF__ || die
- using ${compiler} : ${compiler_version} : ${compiler_executable} : <cflags>"${CFLAGS}" <cxxflags>"${CXXFLAGS}" <linkflags>"${LDFLAGS}" <archiver>"$(tc-getAR)" <ranlib>"$(tc-getRANLIB)" ;
- ${mpi_configuration}
- __EOF__
-
- if python_bindings_needed; then
- append_to_user_config() {
- local py_config
- if tc-is-cross-compiler; then
- py_config="using python : ${EPYTHON#python} : : ${ESYSROOT}/usr/include/${EPYTHON} : ${ESYSROOT}/usr/$(get_libdir) ;"
- else
- py_config="using python : ${EPYTHON#python} : ${PYTHON} : $(python_get_includedir) ;"
- fi
- echo "${py_config}" >> "${user_config_jam}" || die
- }
- python_foreach_impl append_to_user_config
- fi
-
- if python_bindings_needed && use numpy; then
- einfo "Enabling support for NumPy extensions in Boost.Python"
- else
- einfo "Disabling support for NumPy extensions in Boost.Python"
-
- # Boost.Build does not allow for disabling of numpy
- # extensions, thereby leading to automagic numpy
- # https://github.com/boostorg/python/issues/111#issuecomment-280447482
- sed \
- -e 's/\[ unless \[ python\.numpy \] : <build>no \]/<build>no/g' \
- -i "${BUILD_DIR}"/libs/python/build/Jamfile || die
- fi
-}
-
-pkg_setup() {
- # Bail out on unsupported build configuration, bug #456792
- if [[ -f "${EROOT}"/etc/site-config.jam ]]; then
- if ! grep -q 'gentoo\(debug\|release\)' "${EROOT}"/etc/site-config.jam; then
- eerror "You are using custom ${EROOT}/etc/site-config.jam without defined gentoorelease/gentoodebug targets."
- eerror "Boost can not be built in such configuration."
- eerror "Please, either remove this file or add targets from ${EROOT}/usr/share/boost-build/site-config.jam to it."
- die "Unsupported target in ${EROOT}/etc/site-config.jam"
- fi
- fi
-}
-
-src_prepare() {
- default
- multilib_copy_sources
-}
-
-ejam() {
- create_user-config.jam
-
- local b2_opts=( "--user-config=${BUILD_DIR}/user-config.jam" )
- if python_bindings_needed; then
- append_to_b2_opts() {
- b2_opts+=( python="${EPYTHON#python}" )
- }
- python_foreach_impl append_to_b2_opts
- else
- b2_opts+=( --without-python )
- fi
- b2_opts+=( "$@" )
-
- echo b2 "${b2_opts[@]}" >&2
- b2 "${b2_opts[@]}"
-}
-
-src_configure() {
- # Workaround for too many parallel processes requested, bug #506064
- [[ "$(makeopts_jobs)" -gt 64 ]] && MAKEOPTS="${MAKEOPTS} -j64"
-
- OPTIONS=(
- $(usex debug gentoodebug gentoorelease)
- "-j$(makeopts_jobs)"
- -q
- -d+2
- pch=off
- $(usex icu "-sICU_PATH=${ESYSROOT}/usr" '--disable-icu boost.locale.icu=off')
- $(usev !mpi --without-mpi)
- $(usev !nls --without-locale)
- $(usev !context '--without-context --without-coroutine --without-fiber')
- --without-stacktrace
- --boost-build="${BROOT}"/usr/share/boost-build/src
- --layout=system
- # building with threading=single is currently not possible
- # https://svn.boost.org/trac/boost/ticket/7105
- threading=multi
- link=shared
- # this seems to be the only way to disable compression algorithms
- # https://www.boost.org/doc/libs/1_70_0/libs/iostreams/doc/installation.html#boost-build
- -sNO_BZIP2=$(usex bzip2 0 1)
- -sNO_LZMA=$(usex lzma 0 1)
- -sNO_ZLIB=$(usex zlib 0 1)
- -sNO_ZSTD=$(usex zstd 0 1)
- )
-
- if [[ ${CHOST} == *-darwin* ]]; then
- # We need to add the prefix, and in two cases this exceeds, so prepare
- # for the largest possible space allocation.
- append-ldflags -Wl,-headerpad_max_install_names
- fi
-
- # Use C++14 globally as of 1.62
- append-cxxflags -std=c++14
-}
-
-multilib_src_compile() {
- ejam \
- --prefix="${EPREFIX}"/usr \
- "${OPTIONS[@]}" || die
-
- if tools_needed; then
- pushd tools >/dev/null || die
- ejam \
- --prefix="${EPREFIX}"/usr \
- "${OPTIONS[@]}" \
- || die "Building of Boost tools failed"
- popd >/dev/null || die
- fi
-}
-
-multilib_src_install() {
- ejam \
- --prefix="${ED}"/usr \
- --includedir="${ED}"/usr/include \
- --libdir="${ED}"/usr/$(get_libdir) \
- "${OPTIONS[@]}" install || die "Installation of Boost libraries failed"
-
- if tools_needed; then
- dobin dist/bin/*
-
- insinto /usr/share
- doins -r dist/share/boostbook
- fi
-
- # boost's build system truely sucks for not having a destdir. Because for
- # this reason we are forced to build with a prefix that includes the
- # DESTROOT, dynamic libraries on Darwin end messed up, referencing the
- # DESTROOT instread of the actual EPREFIX. There is no way out of here
- # but to do it the dirty way of manually setting the right install_names.
- if [[ ${CHOST} == *-darwin* ]]; then
- einfo "Working around completely broken build-system(tm)"
- local d
- for d in "${ED}"/usr/lib/*.dylib; do
- if [[ -f ${d} ]]; then
- # fix the "soname"
- ebegin " correcting install_name of ${d#${ED}}"
- install_name_tool -id "/${d#${D}}" "${d}"
- eend $?
- # fix references to other libs
- refs=$(otool -XL "${d}" | \
- sed -e '1d' -e 's/^\t//' | \
- grep "^libboost_" | \
- cut -f1 -d' ')
- local r
- for r in ${refs}; do
- ebegin " correcting reference to ${r}"
- install_name_tool -change \
- "${r}" \
- "${EPREFIX}/usr/lib/${r}" \
- "${d}"
- eend $?
- done
- fi
- done
- fi
-}
-
-multilib_src_install_all() {
- if ! use numpy; then
- rm -r "${ED}"/usr/include/boost/python/numpy* || die
- fi
-
- if use python; then
- if use mpi; then
- move_mpi_py_into_sitedir() {
- python_moduleinto boost
- python_domodule "${S}"/libs/mpi/build/__init__.py
-
- python_domodule "${ED}"/usr/$(get_libdir)/boost-${EPYTHON}/mpi.so
- rm -r "${ED}"/usr/$(get_libdir)/boost-${EPYTHON} || die
-
- python_optimize
- }
- python_foreach_impl move_mpi_py_into_sitedir
- else
- rm -r "${ED}"/usr/include/boost/mpi/python* || die
- fi
- else
- rm -r "${ED}"/usr/include/boost/{python*,mpi/python*,parameter/aux_/python,parameter/python*} || die
- fi
-
- if ! use nls; then
- rm -r "${ED}"/usr/include/boost/locale || die
- fi
-
- if ! use context; then
- rm -r "${ED}"/usr/include/boost/context || die
- rm -r "${ED}"/usr/include/boost/coroutine{,2} || die
- rm "${ED}"/usr/include/boost/asio/spawn.hpp || die
- fi
-
- if use doc; then
- # find extraneous files that shouldn't be installed
- # as part of the documentation and remove them.
- find libs/*/* \( -iname 'test' -o -iname 'src' \) -exec rm -rf '{}' + || die
- find doc \( -name 'Jamfile.v2' -o -name 'build' -o -name '*.manifest' \) -exec rm -rf '{}' + || die
- find tools \( -name 'Jamfile.v2' -o -name 'src' -o -name '*.cpp' -o -name '*.hpp' \) -exec rm -rf '{}' + || die
-
- docinto html
- dodoc *.{htm,html,png,css}
- dodoc -r doc libs more tools
-
- # To avoid broken links
- dodoc LICENSE_1_0.txt
-
- dosym ../../../../include/boost /usr/share/doc/${PF}/html/boost
- fi
-}
-
-pkg_preinst() {
- # Yay for having symlinks that are nigh-impossible to remove without
- # resorting to dirty hacks like these. Removes lingering symlinks
- # from the slotted versions.
- local symlink
- for symlink in "${EROOT}"/usr/include/boost "${EROOT}"/usr/share/boostbook; do
- if [[ -L ${symlink} ]]; then
- rm -f "${symlink}" || die
- fi
- done
-
- # some ancient installs still have boost cruft lying around
- # for unknown reasons, causing havoc for reverse dependencies
- # Bug: 607734
- rm -rf "${EROOT}"/usr/include/boost-1_[3-5]? || die
-}
-
-pkg_postinst() {
- elog "Boost.Regex is *extremely* ABI sensitive. If you get errors such as"
- elog
- elog " undefined reference to \`boost::re_detail_$(ver_cut 1)0$(ver_cut 2)00::cpp_regex_traits_implementation"
- elog " <char>::transform_primary[abi:cxx11](char const*, char const*) const'"
- elog
- elog "Then you need to recompile Boost and all its reverse dependencies"
- elog "using the same toolchain. In general, *every* change of the C++ toolchain"
- elog "requires a complete rebuild of the Boost-dependent ecosystem."
- elog
- elog "See for instance https://bugs.gentoo.org/638138"
-}
diff --git a/dev-libs/boost/boost-1.84.0-r3.ebuild b/dev-libs/boost/boost-1.84.0-r3.ebuild
new file mode 100644
index 000000000000..b9e822fe2043
--- /dev/null
+++ b/dev-libs/boost/boost-1.84.0-r3.ebuild
@@ -0,0 +1,349 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# Keep an eye on both of these after releases for patches:
+# * https://www.boost.org/patches/
+# * https://www.boost.org/users/history/version_${MY_PV}.html
+# (e.g. https://www.boost.org/users/history/version_1_83_0.html)
+# Note that the latter may sometimes feature patches not on the former too.
+
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit flag-o-matic multiprocessing python-r1 toolchain-funcs multilib-minimal
+
+MY_PV="$(ver_rs 1- _)"
+
+DESCRIPTION="Boost Libraries for C++"
+HOMEPAGE="https://www.boost.org/"
+SRC_URI="https://boostorg.jfrog.io/artifactory/main/release/${PV}/source/boost_${MY_PV}.tar.bz2"
+S="${WORKDIR}/${PN}_${MY_PV}"
+
+LICENSE="Boost-1.0"
+SLOT="0/${PV}" # ${PV} instead of the major version due to bug 486122
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+IUSE="bzip2 +context debug doc icu lzma +nls mpi numpy python +stacktrace tools zlib zstd"
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+# the tests will never fail because these are not intended as sanity
+# tests at all. They are more a way for upstream to check their own code
+# on new compilers. Since they would either be completely unreliable
+# (failing for no good reason) or completely useless (never failing)
+# there is no point in having them in the ebuild to begin with.
+RESTRICT="test"
+
+RDEPEND="
+ bzip2? ( app-arch/bzip2:=[${MULTILIB_USEDEP}] )
+ icu? ( dev-libs/icu:=[${MULTILIB_USEDEP}] )
+ !icu? ( virtual/libiconv[${MULTILIB_USEDEP}] )
+ lzma? ( app-arch/xz-utils:=[${MULTILIB_USEDEP}] )
+ mpi? ( virtual/mpi[${MULTILIB_USEDEP},cxx,threads] )
+ python? (
+ ${PYTHON_DEPS}
+ numpy? ( dev-python/numpy[${PYTHON_USEDEP}] )
+ )
+ zlib? ( sys-libs/zlib:=[${MULTILIB_USEDEP}] )
+ zstd? ( app-arch/zstd:=[${MULTILIB_USEDEP}] )"
+DEPEND="${RDEPEND}"
+BDEPEND=">=dev-build/b2-5.0.0"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-1.81.0-disable_icu_rpath.patch
+ "${FILESDIR}"/${PN}-1.79.0-build-auto_index-tool.patch
+
+ # upstreamed
+ "${FILESDIR}"/${PN}-1.83.0-math-gcc14.patch
+ "${FILESDIR}"/${PN}-1.79.0-context-x32.patch
+ "${FILESDIR}"/${PN}-1.84.0-signals2-patch1.patch
+ "${FILESDIR}"/${PN}-1.84.0-signals2-patch2.patch
+)
+
+create_user-config.jam() {
+ local user_config_jam="${BUILD_DIR}"/user-config.jam
+ if [[ -s ${user_config_jam} ]]; then
+ einfo "${user_config_jam} already exists, skipping configuration"
+ return
+ else
+ einfo "Creating configuration in ${user_config_jam}"
+ fi
+
+ local compiler compiler_version compiler_executable="$(tc-getCXX)"
+ compiler="gcc"
+ compiler_version="$(gcc-version)"
+
+ if use mpi; then
+ local mpi_configuration="using mpi ;"
+ fi
+
+ cat > "${user_config_jam}" <<- __EOF__ || die
+ using ${compiler} : ${compiler_version} : ${compiler_executable} : <cflags>"${CPPFLAGS} ${CFLAGS}" <cxxflags>"${CPPFLAGS} ${CXXFLAGS}" <linkflags>"${LDFLAGS}" <archiver>"$(tc-getAR)" <ranlib>"$(tc-getRANLIB)" ;
+ ${mpi_configuration}
+ __EOF__
+
+ if multilib_native_use python; then
+ append_to_user_config() {
+ local py_config
+ if tc-is-cross-compiler; then
+ py_config="using python : ${EPYTHON#python} : : ${ESYSROOT}/usr/include/${EPYTHON} : ${ESYSROOT}/usr/$(get_libdir) ;"
+ else
+ py_config="using python : ${EPYTHON#python} : ${PYTHON} : $(python_get_includedir) ;"
+ fi
+ echo "${py_config}" >> "${user_config_jam}" || die
+ }
+ python_foreach_impl append_to_user_config
+ fi
+
+ if multilib_native_use python && use numpy; then
+ einfo "Enabling support for NumPy extensions in Boost.Python"
+ else
+ einfo "Disabling support for NumPy extensions in Boost.Python"
+
+ # Boost.Build does not allow for disabling of numpy
+ # extensions, thereby leading to automagic numpy
+ # https://github.com/boostorg/python/issues/111#issuecomment-280447482
+ sed \
+ -e 's/\[ unless \[ python\.numpy \] : <build>no \]/<build>no/g' \
+ -i "${BUILD_DIR}"/libs/python/build/Jamfile || die
+ fi
+}
+
+pkg_setup() {
+ # Bail out on unsupported build configuration, bug #456792
+ if [[ -f "${EROOT}"/etc/site-config.jam ]]; then
+ if ! grep -q 'gentoo\(debug\|release\)' "${EROOT}"/etc/site-config.jam; then
+ eerror "You are using custom ${EROOT}/etc/site-config.jam without defined gentoorelease/gentoodebug targets."
+ eerror "Boost can not be built in such configuration."
+ eerror "Please, either remove this file or add targets from ${EROOT}/usr/share/boost-build/site-config.jam to it."
+ die "Unsupported target in ${EROOT}/etc/site-config.jam"
+ fi
+ fi
+}
+
+src_prepare() {
+ default
+ multilib_copy_sources
+}
+
+ejam() {
+ create_user-config.jam
+
+ local b2_opts=( "--user-config=${BUILD_DIR}/user-config.jam" )
+ if multilib_native_use python; then
+ append_to_b2_opts() {
+ b2_opts+=( python="${EPYTHON#python}" )
+ }
+ python_foreach_impl append_to_b2_opts
+ else
+ b2_opts+=( --without-python )
+ fi
+ b2_opts+=( "$@" )
+
+ echo b2 "${b2_opts[@]}" >&2
+ b2 "${b2_opts[@]}"
+}
+
+src_configure() {
+ # Workaround for too many parallel processes requested, bug #506064
+ [[ "$(makeopts_jobs)" -gt 64 ]] && MAKEOPTS="${MAKEOPTS} -j64"
+
+ # We don't want to end up with -L/usr/lib on our linker lines
+ # which then gives us lots of
+ # skipping incompatible /usr/lib/libc.a when searching for -lc
+ # warnings
+ [[ -n ${ESYSROOT} ]] && local icuarg="-sICU_PATH=${ESYSROOT}/usr"
+
+ OPTIONS=(
+ $(usex debug gentoodebug gentoorelease)
+ "-j$(makeopts_jobs)"
+ -q
+ -d+2
+ pch=off
+ $(usex icu "${icuarg}" '--disable-icu boost.locale.icu=off')
+ $(usev !mpi --without-mpi)
+ $(usev !nls --without-locale)
+ $(usev !context '--without-context --without-coroutine --without-fiber')
+ $(usev !stacktrace --without-stacktrace)
+ --boost-build="${BROOT}"/usr/share/b2/src
+ --layout=system
+ # building with threading=single is currently not possible
+ # https://svn.boost.org/trac/boost/ticket/7105
+ threading=multi
+ link=shared
+ # this seems to be the only way to disable compression algorithms
+ # https://www.boost.org/doc/libs/1_70_0/libs/iostreams/doc/installation.html#boost-build
+ -sNO_BZIP2=$(usex bzip2 0 1)
+ -sNO_LZMA=$(usex lzma 0 1)
+ -sNO_ZLIB=$(usex zlib 0 1)
+ -sNO_ZSTD=$(usex zstd 0 1)
+ )
+
+ if [[ ${CHOST} == *-darwin* ]]; then
+ # We need to add the prefix, and in two cases this exceeds, so prepare
+ # for the largest possible space allocation.
+ append-ldflags -Wl,-headerpad_max_install_names
+ fi
+
+ # Use C++17 globally as of 1.80
+ append-cxxflags -std=c++17
+
+ if [[ ${CHOST} != *-darwin* ]]; then
+ # On modern macOS, file I/O is already 64-bit by default,
+ # there's no support for special options like O_LARGEFILE.
+ # Thus, LFS must be disabled.
+ #
+ # On other systems, we need to enable LFS explicitly for 64-bit
+ # offsets on 32-bit hosts (#894564)
+ append-lfs-flags
+ fi
+}
+
+multilib_src_compile() {
+ ejam \
+ --prefix="${EPREFIX}"/usr \
+ "${OPTIONS[@]}" || die
+
+ if multilib_native_use tools; then
+ pushd tools >/dev/null || die
+ ejam \
+ --prefix="${EPREFIX}"/usr \
+ "${OPTIONS[@]}" \
+ || die "Building of Boost tools failed"
+ popd >/dev/null || die
+ fi
+}
+
+multilib_src_install() {
+ ejam \
+ --prefix="${ED}"/usr \
+ --includedir="${ED}"/usr/include \
+ --libdir="${ED}"/usr/$(get_libdir) \
+ "${OPTIONS[@]}" install || die "Installation of Boost libraries failed"
+
+ if multilib_native_use tools; then
+ dobin dist/bin/*
+
+ insinto /usr/share
+ doins -r dist/share/boostbook
+ fi
+
+ # boost's build system truely sucks for not having a destdir. Because for
+ # this reason we are forced to build with a prefix that includes the
+ # DESTROOT, dynamic libraries on Darwin end messed up, referencing the
+ # DESTROOT instread of the actual EPREFIX. There is no way out of here
+ # but to do it the dirty way of manually setting the right install_names.
+ if [[ ${CHOST} == *-darwin* ]]; then
+ einfo "Working around completely broken build-system(tm)"
+ local d
+ for d in "${ED}"/usr/lib/*.dylib; do
+ if [[ -f ${d} ]]; then
+ # fix the "soname"
+ ebegin " correcting install_name of ${d#${ED}}"
+ install_name_tool -id "/${d#${D}}" "${d}"
+ eend $?
+ # fix references to other libs
+ # these paths look like this:
+ # bin.v2/libs/thread/build/gcc-12.1/gentoorelease/pch-off/
+ # threadapi-pthread/threading-multi/visibility-hidden/
+ # libboost_thread.dylib
+ refs=$(otool -XL "${d}" | \
+ sed -e '1d' -e 's/^\t//' | \
+ grep "libboost_" | \
+ cut -f1 -d' ')
+ local r
+ for r in ${refs}; do
+ # strip path prefix from references, so we obtain
+ # something like libboost_thread.dylib.
+ local r_basename=${r##*/}
+
+ ebegin " correcting reference to ${r_basename}"
+ install_name_tool -change \
+ "${r}" \
+ "${EPREFIX}/usr/lib/${r_basename}" \
+ "${d}"
+ eend $?
+ done
+ fi
+ done
+ fi
+}
+
+multilib_src_install_all() {
+ if ! use numpy; then
+ rm -r "${ED}"/usr/include/boost/python/numpy* || die
+ fi
+
+ if use python; then
+ if use mpi; then
+ move_mpi_py_into_sitedir() {
+ python_moduleinto boost
+
+ python_domodule "${ED}"/usr/$(get_libdir)/boost-${EPYTHON}/mpi.so
+ rm -r "${ED}"/usr/$(get_libdir)/boost-${EPYTHON} || die
+
+ python_optimize
+ }
+ python_foreach_impl move_mpi_py_into_sitedir
+ else
+ rm -r "${ED}"/usr/include/boost/mpi/python* || die
+ fi
+ else
+ rm -r "${ED}"/usr/include/boost/{python*,mpi/python*,parameter/aux_/python,parameter/python*} || die
+ fi
+
+ if ! use nls; then
+ rm -r "${ED}"/usr/include/boost/locale || die
+ fi
+
+ if ! use context; then
+ rm -r "${ED}"/usr/include/boost/context || die
+ rm -r "${ED}"/usr/include/boost/coroutine{,2} || die
+ rm "${ED}"/usr/include/boost/asio/spawn.hpp || die
+ fi
+
+ if use doc; then
+ # find extraneous files that shouldn't be installed
+ # as part of the documentation and remove them.
+ find libs/*/* \( -iname 'test' -o -iname 'src' \) -exec rm -rf '{}' + || die
+ find doc \( -name 'Jamfile.v2' -o -name 'build' -o -name '*.manifest' \) -exec rm -rf '{}' + || die
+ find tools \( -name 'Jamfile.v2' -o -name 'src' -o -name '*.cpp' -o -name '*.hpp' \) -exec rm -rf '{}' + || die
+
+ docinto html
+ dodoc *.{htm,html,png,css}
+ dodoc -r doc libs more tools
+
+ # To avoid broken links
+ dodoc LICENSE_1_0.txt
+
+ dosym ../../../../include/boost /usr/share/doc/${PF}/html/boost
+ fi
+}
+
+pkg_preinst() {
+ # Yay for having symlinks that are nigh-impossible to remove without
+ # resorting to dirty hacks like these. Removes lingering symlinks
+ # from the slotted versions.
+ local symlink
+ for symlink in "${EROOT}"/usr/include/boost "${EROOT}"/usr/share/boostbook; do
+ if [[ -L ${symlink} ]]; then
+ rm -f "${symlink}" || die
+ fi
+ done
+
+ # some ancient installs still have boost cruft lying around
+ # for unknown reasons, causing havoc for reverse dependencies
+ # Bug: 607734
+ rm -rf "${EROOT}"/usr/include/boost-1_[3-5]? || die
+}
+
+pkg_postinst() {
+ elog "Boost.Regex is *extremely* ABI sensitive. If you get errors such as"
+ elog
+ elog " undefined reference to \`boost::re_detail_$(ver_cut 1)0$(ver_cut 2)00::cpp_regex_traits_implementation"
+ elog " <char>::transform_primary[abi:cxx11](char const*, char const*) const'"
+ elog
+ elog "Then you need to recompile Boost and all its reverse dependencies"
+ elog "using the same toolchain. In general, *every* change of the C++ toolchain"
+ elog "requires a complete rebuild of the Boost-dependent ecosystem."
+ elog
+ elog "See for instance https://bugs.gentoo.org/638138"
+}
diff --git a/dev-libs/boost/files/boost-1.71.0-context-x32.patch b/dev-libs/boost/files/boost-1.71.0-context-x32.patch
deleted file mode 100644
index 9ee3d545d618..000000000000
--- a/dev-libs/boost/files/boost-1.71.0-context-x32.patch
+++ /dev/null
@@ -1,38 +0,0 @@
---- a/libs/context/src/asm/jump_i386_sysv_elf_gas.S
-+++ b/libs/context/src/asm/jump_i386_sysv_elf_gas.S
-@@ -24,6 +24,10 @@
- * *
- ****************************************************************************************/
-
-+#ifdef __x86_64__
-+#include "jump_x86_64_sysv_elf_gas.S"
-+#else
-+
- .file "jump_i386_sysv_elf_gas.S"
- .text
- .globl jump_fcontext
-@@ -81,3 +85,5 @@
-
- /* Mark that we don't need executable stack. */
- .section .note.GNU-stack,"",%progbits
-+
-+#endif
---- a/libs/context/src/asm/make_i386_sysv_elf_gas.S
-+++ b/libs/context/src/asm/make_i386_sysv_elf_gas.S
-@@ -24,6 +24,10 @@
- * *
- ****************************************************************************************/
-
-+#ifdef __x86_64__
-+#include "make_x86_64_sysv_elf_gas.S"
-+#else
-+
- .file "make_i386_sysv_elf_gas.S"
- .text
- .globl make_fcontext
-@@ -105,3 +109,5 @@
-
- /* Mark that we don't need executable stack. */
- .section .note.GNU-stack,"",%progbits
-+
-+#endif
diff --git a/dev-libs/boost/files/boost-1.71.0-disable_icu_rpath.patch b/dev-libs/boost/files/boost-1.71.0-disable_icu_rpath.patch
deleted file mode 100644
index 32faf8d0eb31..000000000000
--- a/dev-libs/boost/files/boost-1.71.0-disable_icu_rpath.patch
+++ /dev/null
@@ -1,29 +0,0 @@
---- a/libs/locale/build/Jamfile.v2
-+++ b/libs/locale/build/Jamfile.v2
-@@ -65,8 +65,8 @@
-
- if $(ICU_LINK)
- {
-- ICU_OPTS = <include>$(ICU_PATH)/include <linkflags>$(ICU_LINK) <dll-path>$(ICU_PATH)/bin <runtime-link>shared ;
-- ICU64_OPTS = <include>$(ICU_PATH)/include <linkflags>$(ICU_LINK) <dll-path>$(ICU_PATH)/bin64 <runtime-link>shared ;
-+ ICU_OPTS = <include>$(ICU_PATH)/include <linkflags>$(ICU_LINK) <runtime-link>shared ;
-+ ICU64_OPTS = <include>$(ICU_PATH)/include <linkflags>$(ICU_LINK) <runtime-link>shared ;
- }
- else
- {
-@@ -124,7 +124,6 @@
- <library>icuuc/<link>shared/<runtime-link>shared
- <library>icudt/<link>shared/<runtime-link>shared
- <library>icuin/<link>shared/<runtime-link>shared
-- <dll-path>$(ICU_PATH)/bin
- <runtime-link>shared ;
-
-
-@@ -183,7 +182,6 @@
- <library>icuuc_64/<link>shared/<runtime-link>shared
- <library>icudt_64/<link>shared/<runtime-link>shared
- <library>icuin_64/<link>shared/<runtime-link>shared
-- <dll-path>$(ICU_PATH)/bin64
- <runtime-link>shared ;
-
-
diff --git a/dev-libs/boost/files/boost-1.73-boost-mpi-python-PEP-328.patch b/dev-libs/boost/files/boost-1.73-boost-mpi-python-PEP-328.patch
deleted file mode 100644
index 444db2b60952..000000000000
--- a/dev-libs/boost/files/boost-1.73-boost-mpi-python-PEP-328.patch
+++ /dev/null
@@ -1,17 +0,0 @@
---- a/libs/mpi/build/__init__.py
-+++ b/libs/mpi/build/__init__.py
-@@ -1,10 +1,12 @@
-+from __future__ import absolute_import
-+
- import sys
- if sys.platform == 'linux2':
- import DLFCN as dl
- flags = sys.getdlopenflags()
- sys.setdlopenflags(dl.RTLD_NOW|dl.RTLD_GLOBAL)
-- import mpi
-+ from . import mpi
- sys.setdlopenflags(flags)
- else:
-- import mpi
-+ from . import mpi
-
diff --git a/dev-libs/boost/files/boost-1.74-CVE-2012-2677.patch b/dev-libs/boost/files/boost-1.74-CVE-2012-2677.patch
deleted file mode 100644
index ff947f74f1c4..000000000000
--- a/dev-libs/boost/files/boost-1.74-CVE-2012-2677.patch
+++ /dev/null
@@ -1,125 +0,0 @@
-https://src.fedoraproject.org/rpms/boost/raw/master/f/boost-1.58.0-pool.patch
-https://bugzilla.redhat.com/show_bug.cgi?id=828856
-https://bugs.gentoo.org/620468
-https://svn.boost.org/trac10/ticket/6701
-
-Index: boost/pool/pool.hpp
-===================================================================
---- a/boost/pool/pool.hpp (revision 78317)
-+++ b/boost/pool/pool.hpp (revision 78326)
-@@ -27,4 +27,6 @@
- #include <boost/pool/poolfwd.hpp>
-
-+// std::numeric_limits
-+#include <boost/limits.hpp>
- // boost::integer::static_lcm
- #include <boost/integer/common_factor_ct.hpp>
-@@ -358,4 +360,11 @@
- }
-
-+ size_type max_chunks() const
-+ { //! Calculated maximum number of memory chunks that can be allocated in a single call by this Pool.
-+ size_type partition_size = alloc_size();
-+ size_type POD_size = integer::static_lcm<sizeof(size_type), sizeof(void *)>::value + sizeof(size_type);
-+ return (std::numeric_limits<size_type>::max() - POD_size) / alloc_size();
-+ }
-+
- static void * & nextof(void * const ptr)
- { //! \returns Pointer dereferenced.
-@@ -377,5 +388,7 @@
- //! the first time that object needs to allocate system memory.
- //! The default is 32. This parameter may not be 0.
-- //! \param nmax_size is the maximum number of chunks to allocate in one block.
-+ //! \param nmax_size is the maximum number of chunks to allocate in one block.
-+ set_next_size(nnext_size);
-+ set_max_size(nmax_size);
- }
-
-@@ -400,7 +413,7 @@
- }
- void set_next_size(const size_type nnext_size)
-- { //! Set number of chunks to request from the system the next time that object needs to allocate system memory. This value should never be set to 0.
-- //! \returns nnext_size.
-- next_size = start_size = nnext_size;
-+ { //! Set number of chunks to request from the system the next time that object needs to allocate system memory. This value should never be set to 0.
-+ BOOST_USING_STD_MIN();
-+ next_size = start_size = min BOOST_PREVENT_MACRO_SUBSTITUTION(nnext_size, max_chunks());
- }
- size_type get_max_size() const
-@@ -410,5 +423,6 @@
- void set_max_size(const size_type nmax_size)
- { //! Set max_size.
-- max_size = nmax_size;
-+ BOOST_USING_STD_MIN();
-+ max_size = min BOOST_PREVENT_MACRO_SUBSTITUTION(nmax_size, max_chunks());
- }
- size_type get_requested_size() const
-@@ -713,7 +727,7 @@
- BOOST_USING_STD_MIN();
- if(!max_size)
-- next_size <<= 1;
-+ set_next_size(next_size << 1);
- else if( next_size*partition_size/requested_size < max_size)
-- next_size = min BOOST_PREVENT_MACRO_SUBSTITUTION(next_size << 1, max_size*requested_size/ partition_size);
-+ set_next_size(min BOOST_PREVENT_MACRO_SUBSTITUTION(next_size << 1, max_size * requested_size / partition_size));
-
- // initialize it,
-@@ -753,7 +767,7 @@
- BOOST_USING_STD_MIN();
- if(!max_size)
-- next_size <<= 1;
-+ set_next_size(next_size << 1);
- else if( next_size*partition_size/requested_size < max_size)
-- next_size = min BOOST_PREVENT_MACRO_SUBSTITUTION(next_size << 1, max_size*requested_size/ partition_size);
-+ set_next_size(min BOOST_PREVENT_MACRO_SUBSTITUTION(next_size << 1, max_size * requested_size / partition_size));
-
- // initialize it,
-@@ -797,4 +811,6 @@
- //! \returns Address of chunk n if allocated ok.
- //! \returns 0 if not enough memory for n chunks.
-+ if (n > max_chunks())
-+ return 0;
-
- const size_type partition_size = alloc_size();
-@@ -845,7 +861,7 @@
- BOOST_USING_STD_MIN();
- if(!max_size)
-- next_size <<= 1;
-+ set_next_size(next_size << 1);
- else if( next_size*partition_size/requested_size < max_size)
-- next_size = min BOOST_PREVENT_MACRO_SUBSTITUTION(next_size << 1, max_size*requested_size/ partition_size);
-+ set_next_size(min BOOST_PREVENT_MACRO_SUBSTITUTION(next_size << 1, max_size * requested_size / partition_size));
-
- // insert it into the list,
-Index: libs/pool/test/test_bug_6701.cpp
-===================================================================
---- a/libs/pool/test/test_bug_6701.cpp (revision 78326)
-+++ b/libs/pool/test/test_bug_6701.cpp (revision 78326)
-@@ -0,0 +1,27 @@
-+/* Copyright (C) 2012 Étienne Dupuis
-+*
-+* Use, modification and distribution is subject to the
-+* Boost Software License, Version 1.0. (See accompanying
-+* file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
-+*/
-+
-+// Test of bug #6701 (https://svn.boost.org/trac/boost/ticket/6701)
-+
-+#include <boost/pool/object_pool.hpp>
-+#include <boost/limits.hpp>
-+
-+int main()
-+{
-+ boost::pool<> p(1024, std::numeric_limits<size_t>::max() / 768);
-+
-+ void *x = p.malloc();
-+ BOOST_ASSERT(!x);
-+
-+ BOOST_ASSERT(std::numeric_limits<size_t>::max() / 1024 >= p.get_next_size());
-+ BOOST_ASSERT(std::numeric_limits<size_t>::max() / 1024 >= p.get_max_size());
-+
-+ void *y = p.ordered_malloc(std::numeric_limits<size_t>::max() / 768);
-+ BOOST_ASSERT(!y);
-+
-+ return 0;
-+}
diff --git a/dev-libs/boost/files/boost-1.77.0-fix-process-include.patch b/dev-libs/boost/files/boost-1.77.0-fix-process-include.patch
deleted file mode 100644
index 566603b360ac..000000000000
--- a/dev-libs/boost/files/boost-1.77.0-fix-process-include.patch
+++ /dev/null
@@ -1,19 +0,0 @@
-https://github.com/boostorg/process/commit/e08374ed95ac33865bda40602c94909e7cd9607f.patch
-https://bugs.gentoo.org/827899
-
-From: Eddie-cz <48474051+Eddie-cz@users.noreply.github.com>
-Date: Mon, 2 Aug 2021 10:49:42 +0200
-Subject: [PATCH] Update wchar_t.hpp
-
---- a/boost/process/detail/traits/wchar_t.hpp
-+++ b/boost/process/detail/traits/wchar_t.hpp
-@@ -12,6 +12,8 @@
- #include <boost/process/detail/traits/env.hpp>
- #include <boost/process/locale.hpp>
-
-+#include <algorithm>
-+
- namespace boost { namespace process { namespace detail {
-
- //template
-
diff --git a/dev-libs/boost/files/boost-1.77.0-python-3.10.patch b/dev-libs/boost/files/boost-1.77.0-python-3.10.patch
deleted file mode 100644
index 69181b1fa42b..000000000000
--- a/dev-libs/boost/files/boost-1.77.0-python-3.10.patch
+++ /dev/null
@@ -1,44 +0,0 @@
-https://github.com/boostorg/boost_install/commit/0605dadfacf51994dcd8c5c82fb733dc6fa24073
-
-From: Martin Jansa <martin.jansa@lge.com>
-Date: Tue, 19 Oct 2021 12:24:31 +0000
-Subject: [PATCH] BoostConfig.cmake: allow searching for python310
-
-* accept double digits in Python3_VERSION_MINOR
-
-* if someone is using e.g.:
- find_package(Python3 REQUIRED)
- find_package(Boost REQUIRED python${Python3_VERSION_MAJOR}${Python3_VERSION_MINOR})
-
- with python-3.10 then it currently fails with:
-
- -- Found PythonLibs: /usr/lib/libpython3.10.so (found version "3.10.0")
- -- Found Python3: -native/usr/bin/python3-native/python3 (found version "3.10.0") found components: Interpreter
- CMake Error at /usr/lib/cmake/Boost-1.77.0/BoostConfig.cmake:141 (find_package):
- Could not find a package configuration file provided by "boost_python310"
- (requested version 1.77.0) with any of the following names:
-
- boost_python310Config.cmake
- boost_python310-config.cmake
-
- Add the installation prefix of "boost_python310" to CMAKE_PREFIX_PATH or
- set "boost_python310_DIR" to a directory containing one of the above files.
- If "boost_python310" provides a separate development package or SDK, be
- sure it has been installed.
- Call Stack (most recent call first):
- /usr/lib/cmake/Boost-1.77.0/BoostConfig.cmake:258 (boost_find_component)
- /usr/share/cmake-3.21/Modules/FindBoost.cmake:594 (find_package)
- CMakeLists.txt:18 (find_package)
-
-Signed-off-by: Martin Jansa <martin.jansa@lge.com>
---- a/tools/boost_install/BoostConfig.cmake
-+++ b/tools/boost_install/BoostConfig.cmake
-@@ -113,7 +113,7 @@ macro(boost_find_component comp required quiet)
- set(_BOOST_REQUIRED REQUIRED)
- endif()
-
-- if("${comp}" MATCHES "^(python|numpy|mpi_python)([1-9])([0-9])$")
-+ if("${comp}" MATCHES "^(python|numpy|mpi_python)([1-9])([0-9][0-9]?)$")
-
- # handle pythonXY and numpyXY versioned components for compatibility
-
diff --git a/dev-libs/boost/files/boost-1.71.0-build-auto_index-tool.patch b/dev-libs/boost/files/boost-1.79.0-build-auto_index-tool.patch
index ca793b9d06eb..ca793b9d06eb 100644
--- a/dev-libs/boost/files/boost-1.71.0-build-auto_index-tool.patch
+++ b/dev-libs/boost/files/boost-1.79.0-build-auto_index-tool.patch
diff --git a/dev-libs/boost/files/boost-1.79.0-context-x32.patch b/dev-libs/boost/files/boost-1.79.0-context-x32.patch
new file mode 100644
index 000000000000..625599152328
--- /dev/null
+++ b/dev-libs/boost/files/boost-1.79.0-context-x32.patch
@@ -0,0 +1,45 @@
+https://github.com/boostorg/context/pull/247
+
+From 922e033fa1464e506c82a0d6980103268f7197cf Mon Sep 17 00:00:00 2001
+From: David Seifert <soap@gentoo.org>
+Date: Tue, 23 Jan 2024 13:23:29 +0100
+Subject: [PATCH] Fix x32 build on x86-64
+
+--- a/libs/context/src/asm/jump_i386_sysv_elf_gas.S
++++ b/libs/context/src/asm/jump_i386_sysv_elf_gas.S
+@@ -24,6 +24,10 @@
+ * *
+ ****************************************************************************************/
+
++#ifdef __x86_64__
++#include "jump_x86_64_sysv_elf_gas.S"
++#else
++
+ .file "jump_i386_sysv_elf_gas.S"
+ .text
+ .globl jump_fcontext
+@@ -91,3 +95,5 @@ jump_fcontext:
+
+ /* Mark that we don't need executable stack. */
+ .section .note.GNU-stack,"",%progbits
++
++#endif
+--- a/libs/context/src/asm/make_i386_sysv_elf_gas.S
++++ b/libs/context/src/asm/make_i386_sysv_elf_gas.S
+@@ -24,6 +24,10 @@
+ * *
+ ****************************************************************************************/
+
++#ifdef __x86_64__
++#include "make_x86_64_sysv_elf_gas.S"
++#else
++
+ .file "make_i386_sysv_elf_gas.S"
+ .text
+ .globl make_fcontext
+@@ -111,3 +115,5 @@ finish:
+
+ /* Mark that we don't need executable stack. */
+ .section .note.GNU-stack,"",%progbits
++
++#endif
diff --git a/dev-libs/boost/files/boost-1.81.0-disable_icu_rpath.patch b/dev-libs/boost/files/boost-1.81.0-disable_icu_rpath.patch
new file mode 100644
index 000000000000..a64d2d8675ee
--- /dev/null
+++ b/dev-libs/boost/files/boost-1.81.0-disable_icu_rpath.patch
@@ -0,0 +1,19 @@
+--- a/libs/locale/build/Jamfile.v2
++++ b/libs/locale/build/Jamfile.v2
+@@ -99,16 +99,6 @@ if $(.icu-path)
+ rule path_options ( properties * )
+ {
+ local result ;
+- if <address-model>64 in $(properties) && <toolset>msvc in $(properties)
+- {
+- debug-message Search 64 bit ICU in "$(.icu-path)/lib64" ;
+- result = <search>$(.icu-path)/bin64 <search>$(.icu-path)/lib64 ;
+- }
+- else
+- {
+- debug-message Search ICU in "$(.icu-path)/lib" ;
+- result = <search>$(.icu-path)/bin <search>$(.icu-path)/lib ;
+- }
+ return $(result) ;
+ }
+
diff --git a/dev-libs/boost/files/boost-1.83.0-math-gcc14.patch b/dev-libs/boost/files/boost-1.83.0-math-gcc14.patch
new file mode 100644
index 000000000000..935f1486bfee
--- /dev/null
+++ b/dev-libs/boost/files/boost-1.83.0-math-gcc14.patch
@@ -0,0 +1,19 @@
+https://github.com/boostorg/math/pull/1057
+
+From b3a21bcbcbd95c23da594ff53c3a48e38f0ff9f3 Mon Sep 17 00:00:00 2001
+From: Matt Borland <matt@mattborland.com>
+Date: Wed, 13 Dec 2023 08:43:43 +0100
+Subject: [PATCH] Fix cstdfloat numeric limits detection macro for libstdc++14
+
+--- a/boost/math/cstdfloat/cstdfloat_limits.hpp
++++ b/boost/math/cstdfloat/cstdfloat_limits.hpp
+@@ -24,7 +24,7 @@
+ #pragma GCC system_header
+ #endif
+
+- #if defined(BOOST_CSTDFLOAT_HAS_INTERNAL_FLOAT128_T) && defined(BOOST_MATH_USE_FLOAT128) && !defined(BOOST_CSTDFLOAT_NO_LIBQUADMATH_SUPPORT) && (!defined(__GNUC__) || (defined(__GNUC__) && __GNUC__ < 14))
++ #if defined(BOOST_CSTDFLOAT_HAS_INTERNAL_FLOAT128_T) && defined(BOOST_MATH_USE_FLOAT128) && !defined(BOOST_CSTDFLOAT_NO_LIBQUADMATH_SUPPORT) && (!defined(_GLIBCXX_RELEASE) || (defined(_GLIBCXX_RELEASE) && _GLIBCXX_RELEASE < 14))
+
+ #include <limits>
+ #include <boost/math/tools/nothrow.hpp>
+
diff --git a/dev-libs/boost/files/boost-1.84.0-signals2-patch1.patch b/dev-libs/boost/files/boost-1.84.0-signals2-patch1.patch
new file mode 100644
index 000000000000..9c07bd8f06cf
--- /dev/null
+++ b/dev-libs/boost/files/boost-1.84.0-signals2-patch1.patch
@@ -0,0 +1,124 @@
+https://github.com/boostorg/signals2/issues/70
+
+From 2ba258f7b465e7bde14663ca3a966019b4ec3694 Mon Sep 17 00:00:00 2001
+From: Frank Mori Hess <fmh6jj@gmail.com>
+Date: Sat, 30 Dec 2023 14:34:58 -0500
+Subject: [PATCH] Fix disconnect by slot when the slot is another signal.
+
+--- a/boost/signals2/detail/signal_template.hpp
++++ b/boost/signals2/detail/signal_template.hpp
+@@ -103,9 +103,9 @@ namespace boost
+ BOOST_SIGNALS2_FORWARDED_ARGS(BOOST_SIGNALS2_NUM_ARGS));
+ }
+ template<typename T>
+- bool operator==(const T &other) const
++ bool contains(const T &other) const
+ {
+- return _fun == other;
++ return _fun.contains(other);
+ }
+ private:
+ BOOST_SIGNALS2_BOUND_EXTENDED_SLOT_FUNCTION_N(BOOST_SIGNALS2_NUM_ARGS)()
+@@ -115,6 +115,8 @@ namespace boost
+ boost::shared_ptr<connection> _connection;
+ };
+
++ template<BOOST_SIGNALS2_SIGNAL_TEMPLATE_DECL(BOOST_SIGNALS2_NUM_ARGS)>
++ class BOOST_SIGNALS2_WEAK_SIGNAL_CLASS_NAME(BOOST_SIGNALS2_NUM_ARGS);
+ template<BOOST_SIGNALS2_SIGNAL_TEMPLATE_DECL(BOOST_SIGNALS2_NUM_ARGS)>
+ class BOOST_SIGNALS2_SIGNAL_IMPL_CLASS_NAME(BOOST_SIGNALS2_NUM_ARGS);
+
+@@ -150,6 +152,8 @@ namespace boost
+ typedef GroupCompare group_compare_type;
+ typedef typename detail::slot_call_iterator_t<slot_invoker,
+ typename connection_list_type::iterator, connection_body<group_key_type, slot_type, Mutex> > slot_call_iterator;
++ typedef detail::BOOST_SIGNALS2_WEAK_SIGNAL_CLASS_NAME(BOOST_SIGNALS2_NUM_ARGS)
++ <BOOST_SIGNALS2_SIGNAL_TEMPLATE_INSTANTIATION> weak_signal_type;
+
+ BOOST_SIGNALS2_SIGNAL_IMPL_CLASS_NAME(BOOST_SIGNALS2_NUM_ARGS)(const combiner_type &combiner_arg,
+ const group_compare_type &group_compare):
+@@ -531,13 +535,20 @@ namespace boost
+ {
+ (*it)->nolock_disconnect(lock);
+ }else
+- {
+- // check for wrapped extended slot
++ { // check for wrapped extended slot
+ bound_extended_slot_function_type *fp;
+ fp = (*it)->slot().slot_function().template target<bound_extended_slot_function_type>();
+- if(fp && function_equal(*fp, slot))
++ if(fp && fp->contains(slot))
+ {
+ (*it)->nolock_disconnect(lock);
++ }else
++ { // check for wrapped signal
++ weak_signal_type *fp;
++ fp = (*it)->slot().slot_function().template target<weak_signal_type>();
++ if(fp && fp->contains(slot))
++ {
++ (*it)->nolock_disconnect(lock);
++ }
+ }
+ }
+ }
+@@ -588,8 +599,6 @@ namespace boost
+ const boost::shared_ptr<mutex_type> _mutex;
+ };
+
+- template<BOOST_SIGNALS2_SIGNAL_TEMPLATE_DECL(BOOST_SIGNALS2_NUM_ARGS)>
+- class BOOST_SIGNALS2_WEAK_SIGNAL_CLASS_NAME(BOOST_SIGNALS2_NUM_ARGS);
+ }
+
+ template<BOOST_SIGNALS2_SIGNAL_TEMPLATE_DEFAULTED_DECL(BOOST_SIGNALS2_NUM_ARGS)>
+@@ -603,8 +612,7 @@ namespace boost
+ typedef detail::BOOST_SIGNALS2_SIGNAL_IMPL_CLASS_NAME(BOOST_SIGNALS2_NUM_ARGS)
+ <BOOST_SIGNALS2_SIGNAL_TEMPLATE_INSTANTIATION> impl_class;
+ public:
+- typedef detail::BOOST_SIGNALS2_WEAK_SIGNAL_CLASS_NAME(BOOST_SIGNALS2_NUM_ARGS)
+- <BOOST_SIGNALS2_SIGNAL_TEMPLATE_INSTANTIATION> weak_signal_type;
++ typedef typename impl_class::weak_signal_type weak_signal_type;
+ friend class detail::BOOST_SIGNALS2_WEAK_SIGNAL_CLASS_NAME(BOOST_SIGNALS2_NUM_ARGS)
+ <BOOST_SIGNALS2_SIGNAL_TEMPLATE_INSTANTIATION>;
+
+@@ -746,12 +754,24 @@ namespace boost
+ using std::swap;
+ swap(_pimpl, other._pimpl);
+ }
++ bool operator==(const BOOST_SIGNALS2_SIGNAL_CLASS_NAME(BOOST_SIGNALS2_NUM_ARGS) & other) const
++ {
++ return _pimpl.get() == other._pimpl.get();
++ }
+ protected:
+ virtual shared_ptr<void> lock_pimpl() const
+ {
+ return _pimpl;
+ }
+ private:
++ // explicit private copy constructor to avoid compiler trying to do implicit conversions to signal
++ explicit BOOST_SIGNALS2_SIGNAL_CLASS_NAME(BOOST_SIGNALS2_NUM_ARGS)(
++ const BOOST_SIGNALS2_SIGNAL_CLASS_NAME(BOOST_SIGNALS2_NUM_ARGS) & other) BOOST_NOEXCEPT
++ {
++ // noncopyable
++ BOOST_ASSERT(false);
++ }
++
+ shared_ptr<impl_class>
+ _pimpl;
+ };
+@@ -802,6 +822,16 @@ namespace boost
+ shared_pimpl(_weak_pimpl.lock());
+ return (*shared_pimpl)(BOOST_SIGNALS2_SIGNATURE_ARG_NAMES(BOOST_SIGNALS2_NUM_ARGS));
+ }
++ bool contains(const BOOST_SIGNALS2_SIGNAL_CLASS_NAME(BOOST_SIGNALS2_NUM_ARGS)
++ <BOOST_SIGNALS2_SIGNAL_TEMPLATE_INSTANTIATION> &signal) const
++ {
++ return _weak_pimpl.lock().get() == signal._pimpl.get();
++ }
++ template <typename T>
++ bool contains(const T&) const
++ {
++ return false;
++ }
+ private:
+ boost::weak_ptr<detail::BOOST_SIGNALS2_SIGNAL_IMPL_CLASS_NAME(BOOST_SIGNALS2_NUM_ARGS)
+ <BOOST_SIGNALS2_SIGNAL_TEMPLATE_INSTANTIATION> > _weak_pimpl;
diff --git a/dev-libs/boost/files/boost-1.84.0-signals2-patch2.patch b/dev-libs/boost/files/boost-1.84.0-signals2-patch2.patch
new file mode 100644
index 000000000000..f277ae9973a1
--- /dev/null
+++ b/dev-libs/boost/files/boost-1.84.0-signals2-patch2.patch
@@ -0,0 +1,19 @@
+https://github.com/boostorg/signals2/issues/70
+
+From 4d994bbed820882059c7842ba5e230a26d68f2f0 Mon Sep 17 00:00:00 2001
+From: Frank Mori Hess <fmh6jj@gmail.com>
+Date: Sat, 30 Dec 2023 14:51:49 -0500
+Subject: [PATCH] Fix disconnect by slot when slot is wrapped in a
+ boost::reference_wrapper
+
+--- a/boost/signals2/detail/signal_template.hpp
++++ b/boost/signals2/detail/signal_template.hpp
+@@ -223,7 +223,7 @@ namespace boost
+ void disconnect(const T &slot)
+ {
+ typedef mpl::bool_<(is_convertible<T, group_type>::value)> is_group;
+- do_disconnect(slot, is_group());
++ do_disconnect(unwrap_ref(slot), is_group());
+ }
+ // emit signal
+ result_type operator ()(BOOST_SIGNALS2_SIGNATURE_FULL_ARGS(BOOST_SIGNALS2_NUM_ARGS))
diff --git a/dev-libs/boost/metadata.xml b/dev-libs/boost/metadata.xml
index 28a449a02899..ba1a98dcc43b 100644
--- a/dev-libs/boost/metadata.xml
+++ b/dev-libs/boost/metadata.xml
@@ -15,10 +15,146 @@
<flag name="doc">Install the full API documentation documentation. This takes over 200MB of extra disk space.</flag>
<flag name="nls">Build libboost_locale. This library requires compatible C library interfaces, which might not be provided by uClibc or other embedded libraries.</flag>
<flag name="numpy">Optionally build NumPy extensions when Boost.Python is enabled</flag>
+ <flag name="stacktrace">Build the full Boost.Stacktrace dynamic library instead of relying on the header-only implementation</flag>
<flag name="tools">Build and install the boost tools (bcp, quickbook, inspect, wave)</flag>
</use>
<upstream>
<remote-id type="cpe">cpe:/a:boost:boost</remote-id>
+ <!-- for x in $(find /usr/include/boost -maxdepth 1 -type d | cut -d/ -f5 | sort -u) ; do echo -e "\t\t<remote-id type=\"github\">boostorg/${x}</remote-id>"; done -->
+ <remote-id type="github">boostorg/boost</remote-id>
+ <remote-id type="github">boostorg/accumulators</remote-id>
+ <remote-id type="github">boostorg/algorithm</remote-id>
+ <remote-id type="github">boostorg/align</remote-id>
+ <remote-id type="github">boostorg/any</remote-id>
+ <remote-id type="github">boostorg/archive</remote-id>
+ <remote-id type="github">boostorg/asio</remote-id>
+ <remote-id type="github">boostorg/assert</remote-id>
+ <remote-id type="github">boostorg/assign</remote-id>
+ <remote-id type="github">boostorg/atomic</remote-id>
+ <remote-id type="github">boostorg/beast</remote-id>
+ <remote-id type="github">boostorg/bimap</remote-id>
+ <remote-id type="github">boostorg/bind</remote-id>
+ <remote-id type="github">boostorg/callable_traits</remote-id>
+ <remote-id type="github">boostorg/chrono</remote-id>
+ <remote-id type="github">boostorg/circular_buffer</remote-id>
+ <remote-id type="github">boostorg/compatibility</remote-id>
+ <remote-id type="github">boostorg/compute</remote-id>
+ <remote-id type="github">boostorg/concept</remote-id>
+ <remote-id type="github">boostorg/concept_check</remote-id>
+ <remote-id type="github">boostorg/config</remote-id>
+ <remote-id type="github">boostorg/container</remote-id>
+ <remote-id type="github">boostorg/container_hash</remote-id>
+ <remote-id type="github">boostorg/context</remote-id>
+ <remote-id type="github">boostorg/contract</remote-id>
+ <remote-id type="github">boostorg/convert</remote-id>
+ <remote-id type="github">boostorg/core</remote-id>
+ <remote-id type="github">boostorg/coroutine</remote-id>
+ <remote-id type="github">boostorg/coroutine2</remote-id>
+ <remote-id type="github">boostorg/date_time</remote-id>
+ <remote-id type="github">boostorg/describe</remote-id>
+ <remote-id type="github">boostorg/detail</remote-id>
+ <remote-id type="github">boostorg/dll</remote-id>
+ <remote-id type="github">boostorg/dynamic_bitset</remote-id>
+ <remote-id type="github">boostorg/endian</remote-id>
+ <remote-id type="github">boostorg/exception</remote-id>
+ <remote-id type="github">boostorg/fiber</remote-id>
+ <remote-id type="github">boostorg/filesystem</remote-id>
+ <remote-id type="github">boostorg/flyweight</remote-id>
+ <remote-id type="github">boostorg/format</remote-id>
+ <remote-id type="github">boostorg/function</remote-id>
+ <remote-id type="github">boostorg/functional</remote-id>
+ <remote-id type="github">boostorg/function_types</remote-id>
+ <remote-id type="github">boostorg/fusion</remote-id>
+ <remote-id type="github">boostorg/geometry</remote-id>
+ <remote-id type="github">boostorg/gil</remote-id>
+ <remote-id type="github">boostorg/graph</remote-id>
+ <remote-id type="github">boostorg/hana</remote-id>
+ <remote-id type="github">boostorg/heap</remote-id>
+ <remote-id type="github">boostorg/histogram</remote-id>
+ <remote-id type="github">boostorg/hof</remote-id>
+ <remote-id type="github">boostorg/icl</remote-id>
+ <remote-id type="github">boostorg/integer</remote-id>
+ <remote-id type="github">boostorg/interprocess</remote-id>
+ <remote-id type="github">boostorg/intrusive</remote-id>
+ <remote-id type="github">boostorg/io</remote-id>
+ <remote-id type="github">boostorg/iostreams</remote-id>
+ <remote-id type="github">boostorg/iterator</remote-id>
+ <remote-id type="github">boostorg/json</remote-id>
+ <remote-id type="github">boostorg/lambda</remote-id>
+ <remote-id type="github">boostorg/lambda2</remote-id>
+ <remote-id type="github">boostorg/leaf</remote-id>
+ <remote-id type="github">boostorg/lexical_cast</remote-id>
+ <remote-id type="github">boostorg/locale</remote-id>
+ <remote-id type="github">boostorg/local_function</remote-id>
+ <remote-id type="github">boostorg/lockfree</remote-id>
+ <remote-id type="github">boostorg/log</remote-id>
+ <remote-id type="github">boostorg/logic</remote-id>
+ <remote-id type="github">boostorg/math</remote-id>
+ <remote-id type="github">boostorg/metaparse</remote-id>
+ <remote-id type="github">boostorg/move</remote-id>
+ <remote-id type="github">boostorg/mp11</remote-id>
+ <remote-id type="github">boostorg/mpi</remote-id>
+ <remote-id type="github">boostorg/mpl</remote-id>
+ <remote-id type="github">boostorg/msm</remote-id>
+ <remote-id type="github">boostorg/multi_array</remote-id>
+ <remote-id type="github">boostorg/multi_index</remote-id>
+ <remote-id type="github">boostorg/multiprecision</remote-id>
+ <remote-id type="github">boostorg/nowide</remote-id>
+ <remote-id type="github">boostorg/numeric</remote-id>
+ <remote-id type="github">boostorg/optional</remote-id>
+ <remote-id type="github">boostorg/outcome</remote-id>
+ <remote-id type="github">boostorg/parameter</remote-id>
+ <remote-id type="github">boostorg/pending</remote-id>
+ <remote-id type="github">boostorg/pfr</remote-id>
+ <remote-id type="github">boostorg/phoenix</remote-id>
+ <remote-id type="github">boostorg/poly_collection</remote-id>
+ <remote-id type="github">boostorg/polygon</remote-id>
+ <remote-id type="github">boostorg/pool</remote-id>
+ <remote-id type="github">boostorg/predef</remote-id>
+ <remote-id type="github">boostorg/preprocessor</remote-id>
+ <remote-id type="github">boostorg/process</remote-id>
+ <remote-id type="github">boostorg/program_options</remote-id>
+ <remote-id type="github">boostorg/property_map</remote-id>
+ <remote-id type="github">boostorg/property_tree</remote-id>
+ <remote-id type="github">boostorg/proto</remote-id>
+ <remote-id type="github">boostorg/ptr_container</remote-id>
+ <remote-id type="github">boostorg/python</remote-id>
+ <remote-id type="github">boostorg/qvm</remote-id>
+ <remote-id type="github">boostorg/random</remote-id>
+ <remote-id type="github">boostorg/range</remote-id>
+ <remote-id type="github">boostorg/ratio</remote-id>
+ <remote-id type="github">boostorg/regex</remote-id>
+ <remote-id type="github">boostorg/safe_numerics</remote-id>
+ <remote-id type="github">boostorg/serialization</remote-id>
+ <remote-id type="github">boostorg/signals2</remote-id>
+ <remote-id type="github">boostorg/smart_ptr</remote-id>
+ <remote-id type="github">boostorg/sort</remote-id>
+ <remote-id type="github">boostorg/spirit</remote-id>
+ <remote-id type="github">boostorg/stacktrace</remote-id>
+ <remote-id type="github">boostorg/statechart</remote-id>
+ <remote-id type="github">boostorg/static_string</remote-id>
+ <remote-id type="github">boostorg/stl_interfaces</remote-id>
+ <remote-id type="github">boostorg/system</remote-id>
+ <remote-id type="github">boostorg/test</remote-id>
+ <remote-id type="github">boostorg/thread</remote-id>
+ <remote-id type="github">boostorg/timer</remote-id>
+ <remote-id type="github">boostorg/tti</remote-id>
+ <remote-id type="github">boostorg/tuple</remote-id>
+ <remote-id type="github">boostorg/type_erasure</remote-id>
+ <remote-id type="github">boostorg/type_index</remote-id>
+ <remote-id type="github">boostorg/typeof</remote-id>
+ <remote-id type="github">boostorg/type_traits</remote-id>
+ <remote-id type="github">boostorg/units</remote-id>
+ <remote-id type="github">boostorg/unordered</remote-id>
+ <remote-id type="github">boostorg/utility</remote-id>
+ <remote-id type="github">boostorg/uuid</remote-id>
+ <remote-id type="github">boostorg/variant</remote-id>
+ <remote-id type="github">boostorg/variant2</remote-id>
+ <remote-id type="github">boostorg/vmd</remote-id>
+ <remote-id type="github">boostorg/wave</remote-id>
+ <remote-id type="github">boostorg/winapi</remote-id>
+ <remote-id type="github">boostorg/xpressive</remote-id>
+ <remote-id type="github">boostorg/yap</remote-id>
<remote-id type="sourceforge">boost</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-libs/botan/Manifest b/dev-libs/botan/Manifest
index 68a79e6c3c52..15dd4e0b8776 100644
--- a/dev-libs/botan/Manifest
+++ b/dev-libs/botan/Manifest
@@ -1,4 +1,10 @@
-DIST Botan-2.18.2.tar.xz 5996928 BLAKE2B 5c5ac1e8e2de16a012aa5716138f4c2d2b8178f0a811993e5e297aa5ae9e7f6d5a4f182d50566f5848a4f93a88bcec622291a15370c4c017361ca65d3bb189bf SHA512 ccf9286ee891fb201065a0a6a991ce78ef7f5dd0caf04010527cd524b824ea470e5ce302853c1839e999a1b3dafb2e82eb298036a37d11f0cf3df5fa09529d9c
-DIST Botan-2.18.2.tar.xz.asc 488 BLAKE2B 03744e95f52031295162b63dc34d7e0fd9a6b01ae751a809eed5f24c46017fca253c8d42c88b568566f393f0e6dd55d488ef56223d164941386690e2accdf296 SHA512 6764bcdb52a3a28672bcf22f8c364c926511a7b7c9bc227ba15f1e4b2feb9b371a9a4bd9bb1ee43e85faacbef4df5ce39a158357b4ce3706a00f4220bea8d926
-DIST Botan-2.19.1.tar.xz 6088380 BLAKE2B 7a2d50bb66ea4a1875857bea769bcc30f397170a10a70377c3963d92e33321a079271c1e235a7892e33ec5b1bc19e4df8336b2586548ccd849f52ebfa47d9c8f SHA512 e604be0e7e82da89e3e1949d3035a87dc63314bd9854d5fe5129ccb3ed5bc78edb0406c7f8ad1a152b59a63b6d98ba207a0851a08428c3452cce794614b5eef5
-DIST Botan-2.19.1.tar.xz.asc 488 BLAKE2B 36f27e294fed60ea4d9ee9d919a58fc431a1bf9bdec8c12d30f2cba537a70b0e22f6a7c882cf7a80dc10aeee256f9f4a32129b55d2ab5df192d16759638feaa4 SHA512 2cd57bf97630d8f79cc0a87da79d3b338bd3b33b02ded16f6b60d5fd6cb3ea62105f577deb3b8d061f56a09ff902ff553ea3a0c603d5c3bd53a905024a2f457b
+DIST Botan-2.19.3.tar.xz 6105896 BLAKE2B 6d7778d9e9a101c76f35c65b0fb0201641cd91967ba934510f3836ee4b924d54cabdc760dd460997679250aa66e1d2a99369cd03f8fb9e7b2fe672d4b355215f SHA512 80012397e2aa7cc88a9536340ac9b770d1195fddda53b9d4cfde82318dd05f9d4f925bbdff773aba99883a701f4d30581e9d5c97e915fa80c3ca2acfa5a92110
+DIST Botan-2.19.3.tar.xz.asc 488 BLAKE2B cd86bf77306aad2956cced6ac4fb96081279af88743e87d8fe5437e72e9fa8db8aaf40d0b5cb9c5b3a85204cb7d63c3baa3054126ab4c9a2db527e6835a069d7 SHA512 9142f932c958138b4bac32f503a550e6c73b61612690a280dcb98efe8c367aa6bd3cd88b4ed4decec376bb87596a780a21bdcb01d4a3573a1c44fbeb0aa49d23
+DIST Botan-2.19.4.tar.xz 6099528 BLAKE2B c35dfec5aad13c76fe09b33f97a72d15f84bfd6c434cae89be13c3fd3e6f7deaa9ea21474890bb6a1f4fa7d23369c32b9fc747862233eac33c8c88dbc912d31f SHA512 2fab4347367703dce8302b7710698ed228c6cc6dd609c39829ba17ad580407ed40d822862d467aa7aea4bfd633c1f1d1c0d437e86376f453845cc609596335d8
+DIST Botan-2.19.4.tar.xz.asc 488 BLAKE2B b8b7db32d61859778c0866e782ed94ef89ba48a0f0f2289d9452fe7f540ae37ad495cb7eede68199d9bed8e23f695e1860c0d379cd4c35c92de8c45db167b68a SHA512 e00c4e2944655919507300650d81fbee03dd22d1a84cb8135848ea9ee061ca4d4dfada618643193143c0123e56f22e4a6d3a26c73923d872754d80dc2a4779c5
+DIST Botan-3.1.1.tar.xz 8800368 BLAKE2B c31365e6bd4106f96a033e5f092c528c0185577f41d9a698d2630ece0f660f87f03e0775ebeb5c4d812819bbc6eb556b5ff15c16f243288ae73c8bf1fbb991ce SHA512 ed6bdadb910b0775245648140212953ed364aa26107f851e39ac5cb664d7f476c519a22cdad41f0e520796c4ebe453c56ca68a2178e39f815d445e9979333795
+DIST Botan-3.1.1.tar.xz.asc 488 BLAKE2B 9ac94473d90a26932e507cdb3f46d8381565deecff38a5a2f7fe043b33405071adf0baee4235dd94bb6d35fa3ffedca6192fb5f5d76030874a90a399d88f9744 SHA512 f52e8602a57f590150f6f49829e788910006e5113ab6e85c6efe73009b8db752b5f28b869c6265ef6dd3c2727c64c0182d125f02f92485485768416c618acdb9
+DIST Botan-3.2.0.tar.xz 8998204 BLAKE2B f21e7574af93ab3331607f4a4ecf1b2cbbc0db4b510ea8ad19a5286d46d3a8e37e13746d2d4751eb16a70fdc8371b4435b030ef0a17f1ab6dcd76bd81bb3a4fa SHA512 526cf71144584fef6e73f14f6aa1e2a7b03a92a3e51436287764bb61e742a94e02926bcc2aab038f08ef2169cb511152c8ecd71d51e06deb4875dc676875c2d9
+DIST Botan-3.2.0.tar.xz.asc 488 BLAKE2B f7bc716dd18eedf35928933e22c75de3d2731330dfdaf8a5048e8ad86e1f3896ea55294a64b7f82593af16dd2e4097a9ba68f25baa024e175b7334478bcf84a6 SHA512 3ee42ac73e1bd6cea0a2e9f468b88d67c02a4a69786c41ddf9fc7f94b6847be00e0f3f0f38f934ab599b8d6dd29006414294df8b371f5cf2422292f3dd176756
+DIST Botan-3.3.0.tar.xz 7164024 BLAKE2B 051a24c28e6858fdff2af15d01a871ebe5bab11d773be821c0a56a55c725c91cf3119280195ac736f4df83305c1d4910430e6b26deded0d4c634e5c2fc23b389 SHA512 90930add225a2b4376046b3ed0177c71e7d19e983fb2b99c40751de5e6c3959b520eaa1e836782eb02ebc8aff8e9a4fd928f585de5e6b1798a8ad4aa0464f19b
+DIST Botan-3.3.0.tar.xz.asc 488 BLAKE2B 043538ff2572a449d4d9ad4bba6d7cab78865e924f712d1b4d4aad9f378cc417f07c19a25adefa22b6e1c06259a50880414c11ce8d3ad1e7f815cf458dbbe6b8 SHA512 c951079c22665966b96cf18c20df7b709353b42dab4aeb33d021b4a8abbc0f06d8fe909f1a5db3e736b4f93b17374d8f832f7aa9f25757a5d5ab1604320581b2
diff --git a/dev-libs/botan/botan-2.18.2-r1.ebuild b/dev-libs/botan/botan-2.18.2-r1.ebuild
deleted file mode 100644
index 9cd3e6481fa1..000000000000
--- a/dev-libs/botan/botan-2.18.2-r1.ebuild
+++ /dev/null
@@ -1,164 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..10} )
-VERIFY_SIG_OPENPGP_KEY_PATH=${BROOT}/usr/share/openpgp-keys/botan.asc
-inherit python-r1 toolchain-funcs verify-sig
-
-MY_P="Botan-${PV}"
-DESCRIPTION="C++ crypto library"
-HOMEPAGE="https://botan.randombit.net/"
-SRC_URI="https://botan.randombit.net/releases/${MY_P}.tar.xz"
-SRC_URI+=" verify-sig? ( https://botan.randombit.net/releases/${MY_P}.tar.xz.asc )"
-S="${WORKDIR}/${MY_P}"
-
-LICENSE="BSD-2"
-SLOT="2/$(ver_cut 1-2)" # soname version
-KEYWORDS="amd64 ~arm ~arm64 ~hppa ~ia64 ppc ppc64 ~riscv ~sparc x86 ~ppc-macos"
-IUSE="doc boost bzip2 lzma python ssl static-libs sqlite zlib"
-
-CPU_USE=(
- cpu_flags_arm_{aes,neon}
- cpu_flags_ppc_altivec
- cpu_flags_x86_{aes,avx2,popcnt,rdrand,sse2,ssse3,sse4_1,sse4_2}
-)
-
-IUSE+=" ${CPU_USE[@]}"
-
-REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
-
-# NOTE: Boost is needed at runtime too for the CLI tool.
-DEPEND="
- boost? ( >=dev-libs/boost-1.48:= )
- bzip2? ( >=app-arch/bzip2-1.0.5:= )
- lzma? ( app-arch/xz-utils:= )
- python? ( ${PYTHON_DEPS} )
- ssl? ( dev-libs/openssl:= )
- sqlite? ( dev-db/sqlite:3= )
- zlib? ( >=sys-libs/zlib-1.2.3:= )
-"
-RDEPEND="${DEPEND}"
-BDEPEND="
- ${PYTHON_DEPS}
- $(python_gen_any_dep '
- doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )
- ')
- verify-sig? ( sec-keys/openpgp-keys-botan )
-"
-
-# NOTE: Considering patching Botan?
-# Please see upstream's guidance:
-# https://botan.randombit.net/handbook/packaging.html#minimize-distribution-patches
-
-python_check_deps() {
- if use doc ; then
- has_version -b "dev-python/sphinx[${PYTHON_USEDEP}]" || return 1
- fi
-}
-
-src_configure() {
- python_setup
-
- local disable_modules=(
- $(usev !boost 'boost')
- )
-
- if [[ -z "${DISABLE_MODULES}" ]] ; then
- elog "Disabling module(s): ${disable_modules[@]}"
- fi
-
- local chostarch="${CHOST%%-*}"
-
- # Arch specific wrangling
- local myos=
- case ${CHOST} in
- *-darwin*)
- myos=darwin
- ;;
-
- *)
- myos=linux
-
- if [[ ${CHOST} == *hppa* ]] ; then
- chostarch=parisc
- elif [[ ${PROFILE_ARCH} == "sparc64" ]] ; then
- chostarch="sparc32-v9"
- fi
- ;;
-
- esac
-
- local pythonvers=()
- if use python ; then
- _append() {
- pythonvers+=( ${EPYTHON/python/} )
- }
-
- python_foreach_impl _append
- fi
-
- local myargs=(
- # Intrinsics
- # TODO: x86 RDSEED (new CPU_FLAGS_X86?)
- # TODO: POWER Crypto (new CPU_FLAGS_PPC?)
- $(usev !cpu_flags_arm_aes '--disable-armv8crypto')
- $(usev !cpu_flags_arm_neon '--disable-neon')
- $(usev !cpu_flags_ppc_altivec '--disable-altivec')
- $(usev !cpu_flags_x86_aes '--disable-aes-ni')
- $(usev !cpu_flags_x86_avx2 '--disable-avx2')
- $(usev !cpu_flags_x86_popcnt '--disable-bmi2')
- $(usev !cpu_flags_x86_rdrand '--disable-rdrand')
- $(usev !cpu_flags_x86_sse2 '--disable-sse2')
- $(usev !cpu_flags_x86_ssse3 '--disable-ssse3')
- $(usev !cpu_flags_x86_sse4_1 '--disable-sse4.1')
- $(usev !cpu_flags_x86_sse4_2 '--disable-sse4.2')
-
- $(usev hppa '--without-stack-protector')
-
- $(use_with boost)
- $(use_with bzip2)
- $(use_with doc documentation)
- $(use_with doc sphinx)
- $(use_with lzma)
- $(use_enable static-libs static-library)
- $(use_with ssl openssl)
- $(use_with sqlite sqlite3)
- $(use_with zlib)
-
- --cpu=${chostarch}
- --docdir=share/doc
- --disable-modules=$( IFS=","; echo "${disable_modules[*]}" )
- --distribution-info="Gentoo ${PVR}"
- --libdir=$(get_libdir)
-
- # Don't install Python bindings automatically
- # (do it manually later in the right place)
- # https://bugs.gentoo.org/723096
- --no-install-python-module
-
- --os=${myos}
- --prefix="${EPREFIX}/usr"
- --with-endian="$(tc-endian)"
- --with-python-version=$( IFS=","; echo "${pythonvers[*]}" )
- --without-doxygen
- )
-
- tc-export CC CXX AR
-
- ${EPYTHON} configure.py "${myargs[@]}" || die "configure.py failed with ${EPYTHON}"
-}
-
-src_test() {
- LD_LIBRARY_PATH="${S}" ./botan-test || die "Validation tests failed"
-}
-
-src_install() {
- default
-
- # Manually install the Python bindings (bug #723096)
- if use python ; then
- python_foreach_impl python_domodule src/python/botan2.py
- fi
-}
diff --git a/dev-libs/botan/botan-2.19.1.ebuild b/dev-libs/botan/botan-2.19.1.ebuild
deleted file mode 100644
index 6138e73f21d7..000000000000
--- a/dev-libs/botan/botan-2.19.1.ebuild
+++ /dev/null
@@ -1,165 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..10} )
-VERIFY_SIG_OPENPGP_KEY_PATH=${BROOT}/usr/share/openpgp-keys/botan.asc
-inherit python-r1 toolchain-funcs verify-sig
-
-MY_P="Botan-${PV}"
-DESCRIPTION="C++ crypto library"
-HOMEPAGE="https://botan.randombit.net/"
-SRC_URI="https://botan.randombit.net/releases/${MY_P}.tar.xz"
-SRC_URI+=" verify-sig? ( https://botan.randombit.net/releases/${MY_P}.tar.xz.asc )"
-S="${WORKDIR}/${MY_P}"
-
-LICENSE="BSD-2"
-SLOT="2/$(ver_cut 1-2)" # soname version
-KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~riscv ~sparc ~x86 ~ppc-macos"
-IUSE="doc boost bzip2 lzma python ssl static-libs sqlite zlib"
-
-CPU_USE=(
- cpu_flags_arm_{aes,neon}
- cpu_flags_ppc_altivec
- cpu_flags_x86_{aes,avx2,popcnt,rdrand,sse2,ssse3,sse4_1,sse4_2}
-)
-
-IUSE+=" ${CPU_USE[@]}"
-
-REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
-
-# NOTE: Boost is needed at runtime too for the CLI tool.
-DEPEND="
- boost? ( >=dev-libs/boost-1.48:= )
- bzip2? ( >=app-arch/bzip2-1.0.5:= )
- lzma? ( app-arch/xz-utils:= )
- python? ( ${PYTHON_DEPS} )
- ssl? ( dev-libs/openssl:= )
- sqlite? ( dev-db/sqlite:3= )
- zlib? ( >=sys-libs/zlib-1.2.3:= )
-"
-RDEPEND="${DEPEND}"
-BDEPEND="
- ${PYTHON_DEPS}
- $(python_gen_any_dep '
- doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )
- ')
- verify-sig? ( sec-keys/openpgp-keys-botan )
-"
-
-# NOTE: Considering patching Botan?
-# Please see upstream's guidance:
-# https://botan.randombit.net/handbook/packaging.html#minimize-distribution-patches
-
-python_check_deps() {
- if use doc ; then
- has_version -b "dev-python/sphinx[${PYTHON_USEDEP}]" || return 1
- fi
-}
-
-src_configure() {
- python_setup
-
- local disable_modules=(
- $(usev !boost 'boost')
- )
-
- if [[ -z "${DISABLE_MODULES}" ]] ; then
- elog "Disabling module(s): ${disable_modules[@]}"
- fi
-
- local chostarch="${CHOST%%-*}"
-
- # Arch specific wrangling
- local myos=
- case ${CHOST} in
- *-darwin*)
- myos=darwin
- ;;
-
- *)
- myos=linux
-
- if [[ ${CHOST} == *hppa* ]] ; then
- chostarch=parisc
- elif [[ ${PROFILE_ARCH} == "sparc64" ]] ; then
- chostarch="sparc32-v9"
- fi
- ;;
-
- esac
-
- local pythonvers=()
- if use python ; then
- _append() {
- pythonvers+=( ${EPYTHON/python/} )
- }
-
- python_foreach_impl _append
- fi
-
- local myargs=(
- # Intrinsics
- # TODO: x86 RDSEED (new CPU_FLAGS_X86?)
- # TODO: POWER Crypto (new CPU_FLAGS_PPC?)
- $(usev !cpu_flags_arm_aes '--disable-armv8crypto')
- $(usev !cpu_flags_arm_neon '--disable-neon')
- $(usev !cpu_flags_ppc_altivec '--disable-altivec')
- $(usev !cpu_flags_x86_aes '--disable-aes-ni')
- $(usev !cpu_flags_x86_avx2 '--disable-avx2')
- $(usev !cpu_flags_x86_popcnt '--disable-bmi2')
- $(usev !cpu_flags_x86_rdrand '--disable-rdrand')
- $(usev !cpu_flags_x86_sse2 '--disable-sse2')
- $(usev !cpu_flags_x86_ssse3 '--disable-ssse3')
- $(usev !cpu_flags_x86_sse4_1 '--disable-sse4.1')
- $(usev !cpu_flags_x86_sse4_2 '--disable-sse4.2')
-
- # HPPA's GCC doesn't support SSP (presumably due to stack direction)
- $(usev hppa '--without-stack-protector')
-
- $(use_with boost)
- $(use_with bzip2)
- $(use_with doc documentation)
- $(use_with doc sphinx)
- $(use_with lzma)
- $(use_enable static-libs static-library)
- $(use_with ssl openssl)
- $(use_with sqlite sqlite3)
- $(use_with zlib)
-
- --cpu=${chostarch}
- --docdir=share/doc
- --disable-modules=$( IFS=","; echo "${disable_modules[*]}" )
- --distribution-info="Gentoo ${PVR}"
- --libdir=$(get_libdir)
-
- # Don't install Python bindings automatically
- # (do it manually later in the right place)
- # https://bugs.gentoo.org/723096
- --no-install-python-module
-
- --os=${myos}
- --prefix="${EPREFIX}/usr"
- --with-endian="$(tc-endian)"
- --with-python-version=$( IFS=","; echo "${pythonvers[*]}" )
- --without-doxygen
- )
-
- tc-export CC CXX AR
-
- ${EPYTHON} configure.py "${myargs[@]}" || die "configure.py failed with ${EPYTHON}"
-}
-
-src_test() {
- LD_LIBRARY_PATH="${S}" ./botan-test || die "Validation tests failed"
-}
-
-src_install() {
- default
-
- # Manually install the Python bindings (bug #723096)
- if use python ; then
- python_foreach_impl python_domodule src/python/botan2.py
- fi
-}
diff --git a/dev-libs/botan/botan-2.19.3-r2.ebuild b/dev-libs/botan/botan-2.19.3-r2.ebuild
new file mode 100644
index 000000000000..2a151dbc3529
--- /dev/null
+++ b/dev-libs/botan/botan-2.19.3-r2.ebuild
@@ -0,0 +1,203 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..12} )
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/botan.asc
+inherit edo flag-o-matic multiprocessing python-r1 toolchain-funcs verify-sig
+
+MY_P="Botan-${PV}"
+DESCRIPTION="C++ crypto library"
+HOMEPAGE="https://botan.randombit.net/"
+SRC_URI="https://botan.randombit.net/releases/${MY_P}.tar.xz"
+SRC_URI+=" verify-sig? ( https://botan.randombit.net/releases/${MY_P}.tar.xz.asc )"
+S="${WORKDIR}/${MY_P}"
+
+LICENSE="BSD-2"
+# New major versions are parallel-installable
+SLOT="$(ver_cut 1)/$(ver_cut 1-2)" # soname version
+KEYWORDS="amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ppc ppc64 ~riscv ~sparc x86 ~ppc-macos"
+IUSE="doc boost bzip2 lzma python static-libs sqlite test tools zlib"
+RESTRICT="!test? ( test )"
+
+CPU_USE=(
+ cpu_flags_arm_{aes,neon}
+ cpu_flags_ppc_altivec
+ cpu_flags_x86_{aes,avx2,popcnt,rdrand,sha,sse2,ssse3,sse4_1,sse4_2}
+)
+
+IUSE+=" ${CPU_USE[@]}"
+
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+
+# NOTE: Boost is needed at runtime too for the CLI tool.
+DEPEND="
+ boost? ( dev-libs/boost:= )
+ bzip2? ( >=app-arch/bzip2-1.0.5:= )
+ lzma? ( app-arch/xz-utils:= )
+ python? ( ${PYTHON_DEPS} )
+ sqlite? ( dev-db/sqlite:3= )
+ zlib? ( >=sys-libs/zlib-1.2.3:= )
+"
+RDEPEND="
+ ${DEPEND}
+ !<dev-libs/botan-3.0.0-r1:3[tools]
+"
+BDEPEND="
+ ${PYTHON_DEPS}
+ $(python_gen_any_dep '
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )
+ ')
+ verify-sig? ( sec-keys/openpgp-keys-botan )
+"
+
+# NOTE: Considering patching Botan?
+# Please see upstream's guidance:
+# https://botan.randombit.net/handbook/packaging.html#minimize-distribution-patches
+
+python_check_deps() {
+ use doc || return 0
+ python_has_version "dev-python/sphinx[${PYTHON_USEDEP}]"
+}
+
+src_configure() {
+ python_setup
+
+ local disable_modules=(
+ $(usev !boost 'boost')
+ )
+
+ if [[ -z "${DISABLE_MODULES}" ]] ; then
+ elog "Disabling module(s): ${disable_modules[@]}"
+ fi
+
+ local chostarch="${CHOST%%-*}"
+
+ # Arch specific wrangling
+ local myos=
+ case ${CHOST} in
+ *-darwin*)
+ myos=darwin
+ ;;
+ *)
+ myos=linux
+
+ if [[ ${CHOST} == *hppa* ]] ; then
+ chostarch=parisc
+ elif [[ ${ABI} == sparc64 ]] ; then
+ chostarch="sparc64"
+ elif [[ ${ABI} == sparc32 ]] ; then
+ chostarch="sparc32"
+ fi
+ ;;
+ esac
+
+ local pythonvers=()
+ if use python ; then
+ _append() {
+ pythonvers+=( ${EPYTHON/python/} )
+ }
+
+ python_foreach_impl _append
+ fi
+
+ local myargs=(
+ # Intrinsics
+ # TODO: x86 RDSEED (new CPU_FLAGS_X86?)
+ # TODO: POWER Crypto (new CPU_FLAGS_PPC?)
+ $(usev !cpu_flags_arm_aes '--disable-armv8crypto')
+ $(usev !cpu_flags_arm_neon '--disable-neon')
+ $(usev !cpu_flags_ppc_altivec '--disable-altivec')
+ $(usev !cpu_flags_x86_aes '--disable-aes-ni')
+ $(usev !cpu_flags_x86_avx2 '--disable-avx2')
+ $(usev !cpu_flags_x86_popcnt '--disable-bmi2')
+ $(usev !cpu_flags_x86_rdrand '--disable-rdrand')
+ $(usev !cpu_flags_x86_sha '--disable-sha-ni')
+ $(usev !cpu_flags_x86_sse2 '--disable-sse2')
+ $(usev !cpu_flags_x86_ssse3 '--disable-ssse3')
+ $(usev !cpu_flags_x86_sse4_1 '--disable-sse4.1')
+ $(usev !cpu_flags_x86_sse4_2 '--disable-sse4.2')
+
+ # HPPA's GCC doesn't support SSP
+ $(usev hppa '--without-stack-protector')
+
+ $(use_with boost)
+ $(use_with bzip2)
+ $(use_with doc documentation)
+ $(use_with doc sphinx)
+ $(use_with lzma)
+ $(use_enable static-libs static-library)
+ $(use_with sqlite sqlite3)
+ $(use_with zlib)
+
+ --cpu=${chostarch}
+ --docdir=share/doc
+ --disable-modules=$(IFS=","; echo "${disable_modules[*]}")
+ --distribution-info="Gentoo ${PVR}"
+ --libdir="$(get_libdir)"
+ # Avoid collisions between slots for tools (bug #905700)
+ --program-suffix=$(ver_cut 1)
+
+ # Don't install Python bindings automatically
+ # (do it manually later in the right place)
+ # bug #723096
+ --no-install-python-module
+
+ --os=${myos}
+ --prefix="${EPREFIX}"/usr
+ --with-endian="$(tc-endian)"
+ --with-python-version=$(IFS=","; echo "${pythonvers[*]}")
+ )
+
+ local build_targets=(
+ shared
+ $(usev static-libs static)
+ $(usev tools cli)
+ $(usev test tests)
+ )
+
+ myargs+=(
+ --build-targets=$(IFS=","; echo "${build_targets[*]}")
+ )
+
+ if use elibc_glibc && use kernel_linux ; then
+ myargs+=(
+ --with-os-features=getrandom,getentropy
+ )
+ fi
+
+ tc-export AR CC CXX
+
+ local sanitizers=()
+ if is-flagq -fsanitize=address ; then
+ sanitizers+=( address )
+ fi
+ if is-flagq -fsanitize=undefined ; then
+ sanitizers+=( undefined )
+ fi
+ filter-flags '-fsanitize=*'
+ myargs+=(
+ --enable-sanitizers=$(IFS=","; echo "${sanitizers[*]}")
+ )
+
+ edo ${EPYTHON} configure.py --verbose "${myargs[@]}"
+}
+
+src_test() {
+ LD_LIBRARY_PATH="${S}" edo ./botan-test$(ver_cut 1) --test-threads="$(makeopts_jobs)"
+}
+
+src_install() {
+ default
+
+ if [[ -d "${ED}"/usr/share/doc/${P} ]] ; then
+ # --docdir in configure controls the parent directory unfortunately
+ mv "${ED}"/usr/share/doc/${P} "${ED}"/usr/share/doc/${PF} || die
+ fi
+
+ # Manually install the Python bindings (bug #723096)
+ if use python ; then
+ python_foreach_impl python_domodule src/python/botan$(ver_cut 1).py
+ fi
+}
diff --git a/dev-libs/botan/botan-2.19.4.ebuild b/dev-libs/botan/botan-2.19.4.ebuild
new file mode 100644
index 000000000000..6e152aa47946
--- /dev/null
+++ b/dev-libs/botan/botan-2.19.4.ebuild
@@ -0,0 +1,201 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..12} )
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/botan.asc
+inherit edo flag-o-matic multiprocessing python-r1 toolchain-funcs verify-sig
+
+MY_P="Botan-${PV}"
+DESCRIPTION="C++ crypto library"
+HOMEPAGE="https://botan.randombit.net/"
+SRC_URI="https://botan.randombit.net/releases/${MY_P}.tar.xz"
+SRC_URI+=" verify-sig? ( https://botan.randombit.net/releases/${MY_P}.tar.xz.asc )"
+S="${WORKDIR}/${MY_P}"
+
+LICENSE="BSD-2"
+# New major versions are parallel-installable
+SLOT="$(ver_cut 1)/$(ver_cut 1-2)" # soname version
+# Unkeyworded because of https://github.com/randombit/botan/issues/3916
+#KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86 ~ppc-macos"
+IUSE="doc boost bzip2 lzma python static-libs sqlite test tools zlib"
+CPU_USE=(
+ cpu_flags_arm_{aes,neon}
+ cpu_flags_ppc_altivec
+ cpu_flags_x86_{aes,avx2,popcnt,rdrand,sha,sse2,ssse3,sse4_1,sse4_2}
+)
+IUSE+=" ${CPU_USE[@]}"
+RESTRICT="!test? ( test )"
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+
+# NOTE: Boost is needed at runtime too for the CLI tool.
+DEPEND="
+ boost? ( dev-libs/boost:= )
+ bzip2? ( >=app-arch/bzip2-1.0.5:= )
+ lzma? ( app-arch/xz-utils:= )
+ python? ( ${PYTHON_DEPS} )
+ sqlite? ( dev-db/sqlite:3= )
+ zlib? ( >=sys-libs/zlib-1.2.3:= )
+"
+RDEPEND="
+ ${DEPEND}
+ !<dev-libs/botan-3.0.0-r1:3[tools]
+"
+BDEPEND="
+ ${PYTHON_DEPS}
+ $(python_gen_any_dep '
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )
+ ')
+ verify-sig? ( sec-keys/openpgp-keys-botan )
+"
+
+# NOTE: Considering patching Botan?
+# Please see upstream's guidance:
+# https://botan.randombit.net/handbook/packaging.html#minimize-distribution-patches
+
+python_check_deps() {
+ use doc || return 0
+ python_has_version "dev-python/sphinx[${PYTHON_USEDEP}]"
+}
+
+src_configure() {
+ python_setup
+
+ local disable_modules=(
+ $(usev !boost 'boost')
+ )
+
+ if [[ -z "${DISABLE_MODULES}" ]] ; then
+ elog "Disabling module(s): ${disable_modules[@]}"
+ fi
+
+ local chostarch="${CHOST%%-*}"
+
+ # Arch specific wrangling
+ local myos=
+ case ${CHOST} in
+ *-darwin*)
+ myos=darwin
+ ;;
+ *)
+ myos=linux
+
+ if [[ ${CHOST} == *hppa* ]] ; then
+ chostarch=parisc
+ elif [[ ${ABI} == sparc64 ]] ; then
+ chostarch="sparc64"
+ elif [[ ${ABI} == sparc32 ]] ; then
+ chostarch="sparc32"
+ fi
+ ;;
+ esac
+
+ local pythonvers=()
+ if use python ; then
+ _append() {
+ pythonvers+=( ${EPYTHON/python/} )
+ }
+
+ python_foreach_impl _append
+ fi
+
+ local myargs=(
+ # Intrinsics
+ # TODO: x86 RDSEED (new CPU_FLAGS_X86?)
+ # TODO: POWER Crypto (new CPU_FLAGS_PPC?)
+ $(usev !cpu_flags_arm_aes '--disable-armv8crypto')
+ $(usev !cpu_flags_arm_neon '--disable-neon')
+ $(usev !cpu_flags_ppc_altivec '--disable-altivec')
+ $(usev !cpu_flags_x86_aes '--disable-aes-ni')
+ $(usev !cpu_flags_x86_avx2 '--disable-avx2')
+ $(usev !cpu_flags_x86_popcnt '--disable-bmi2')
+ $(usev !cpu_flags_x86_rdrand '--disable-rdrand')
+ $(usev !cpu_flags_x86_sha '--disable-sha-ni')
+ $(usev !cpu_flags_x86_sse2 '--disable-sse2')
+ $(usev !cpu_flags_x86_ssse3 '--disable-ssse3')
+ $(usev !cpu_flags_x86_sse4_1 '--disable-sse4.1')
+ $(usev !cpu_flags_x86_sse4_2 '--disable-sse4.2')
+
+ # HPPA's GCC doesn't support SSP
+ $(usev hppa '--without-stack-protector')
+
+ $(use_with boost)
+ $(use_with bzip2)
+ $(use_with doc documentation)
+ $(use_with doc sphinx)
+ $(use_with lzma)
+ $(use_enable static-libs static-library)
+ $(use_with sqlite sqlite3)
+ $(use_with zlib)
+
+ --cpu=${chostarch}
+ --docdir=share/doc
+ --disable-modules=$(IFS=","; echo "${disable_modules[*]}")
+ --distribution-info="Gentoo ${PVR}"
+ --libdir="$(get_libdir)"
+ # Avoid collisions between slots for tools (bug #905700)
+ --program-suffix=$(ver_cut 1)
+
+ # Don't install Python bindings automatically
+ # (do it manually later in the right place)
+ # bug #723096
+ --no-install-python-module
+
+ --os=${myos}
+ --prefix="${EPREFIX}"/usr
+ --with-endian="$(tc-endian)"
+ --with-python-version=$(IFS=","; echo "${pythonvers[*]}")
+ )
+
+ local build_targets=(
+ shared
+ $(usev static-libs static)
+ $(usev tools cli)
+ $(usev test tests)
+ )
+
+ myargs+=(
+ --build-targets=$(IFS=","; echo "${build_targets[*]}")
+ )
+
+ if use elibc_glibc && use kernel_linux ; then
+ myargs+=(
+ --with-os-features=getrandom,getentropy
+ )
+ fi
+
+ tc-export AR CC CXX
+
+ local sanitizers=()
+ if is-flagq -fsanitize=address ; then
+ sanitizers+=( address )
+ fi
+ if is-flagq -fsanitize=undefined ; then
+ sanitizers+=( undefined )
+ fi
+ filter-flags '-fsanitize=*'
+ myargs+=(
+ --enable-sanitizers=$(IFS=","; echo "${sanitizers[*]}")
+ )
+
+ edo ${EPYTHON} configure.py --verbose "${myargs[@]}"
+}
+
+src_test() {
+ LD_LIBRARY_PATH="${S}" edo ./botan-test$(ver_cut 1) --test-threads="$(makeopts_jobs)"
+}
+
+src_install() {
+ default
+
+ if [[ -d "${ED}"/usr/share/doc/${P} ]] ; then
+ # --docdir in configure controls the parent directory unfortunately
+ mv "${ED}"/usr/share/doc/${P} "${ED}"/usr/share/doc/${PF} || die
+ fi
+
+ # Manually install the Python bindings (bug #723096)
+ if use python ; then
+ python_foreach_impl python_domodule src/python/botan$(ver_cut 1).py
+ fi
+}
diff --git a/dev-libs/botan/botan-3.1.1.ebuild b/dev-libs/botan/botan-3.1.1.ebuild
new file mode 100644
index 000000000000..db9e865b7af6
--- /dev/null
+++ b/dev-libs/botan/botan-3.1.1.ebuild
@@ -0,0 +1,218 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..12} )
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/botan.asc
+inherit edo flag-o-matic multiprocessing python-r1 toolchain-funcs verify-sig
+
+MY_P="Botan-${PV}"
+DESCRIPTION="C++ crypto library"
+HOMEPAGE="https://botan.randombit.net/"
+SRC_URI="https://botan.randombit.net/releases/${MY_P}.tar.xz"
+SRC_URI+=" verify-sig? ( https://botan.randombit.net/releases/${MY_P}.tar.xz.asc )"
+S="${WORKDIR}/${MY_P}"
+
+LICENSE="BSD-2"
+# New major versions are parallel-installable
+SLOT="$(ver_cut 1)/$(ver_cut 1-2)" # soname version
+KEYWORDS="amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ppc ppc64 ~riscv ~s390 ~sparc x86 ~ppc-macos"
+IUSE="doc boost bzip2 lzma python static-libs sqlite test tools zlib"
+RESTRICT="!test? ( test )"
+
+CPU_USE=(
+ cpu_flags_arm_{aes,neon}
+ cpu_flags_ppc_altivec
+ cpu_flags_x86_{aes,avx2,popcnt,rdrand,sha,sse2,ssse3,sse4_1,sse4_2}
+)
+
+IUSE+=" ${CPU_USE[@]}"
+
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+
+# NOTE: Boost is needed at runtime too for the CLI tool.
+DEPEND="
+ boost? ( dev-libs/boost:= )
+ bzip2? ( >=app-arch/bzip2-1.0.5:= )
+ lzma? ( app-arch/xz-utils:= )
+ python? ( ${PYTHON_DEPS} )
+ sqlite? ( dev-db/sqlite:3= )
+ zlib? ( >=sys-libs/zlib-1.2.3:= )
+"
+RDEPEND="
+ ${DEPEND}
+ !<dev-libs/botan-2.19.3-r1:2[tools]
+"
+BDEPEND="
+ ${PYTHON_DEPS}
+ $(python_gen_any_dep '
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )
+ ')
+ || ( >=sys-devel/gcc-11:* >=sys-devel/clang-14:* )
+ verify-sig? ( sec-keys/openpgp-keys-botan )
+"
+
+# NOTE: Considering patching Botan?
+# Please see upstream's guidance:
+# https://botan.randombit.net/handbook/packaging.html#minimize-distribution-patches
+
+python_check_deps() {
+ use doc || return 0
+ python_has_version "dev-python/sphinx[${PYTHON_USEDEP}]"
+}
+
+pkg_pretend() {
+ [[ ${MERGE_TYPE} == binary ]] && return
+
+ # bug #908958
+ if tc-is-gcc && ver_test $(gcc-version) -lt 11 ; then
+ eerror "Botan needs >=gcc-11 or >=clang-14 to compile."
+ eerror "Please upgrade GCC: emerge -v1 sys-devel/gcc"
+ die "GCC version is too old to compile Botan!"
+ elif tc-is-clang && ver_test $(clang-version) -lt 14 ; then
+ eerror "Botan needs >=gcc-11 or >=clang-14 to compile."
+ eerror "Please upgrade Clang: emerge -v1 sys-devel/clang"
+ die "Clang version is too old to compile Botan!"
+ fi
+}
+
+src_configure() {
+ tc-export AR CC CXX
+ python_setup
+
+ local disable_modules=(
+ $(usev !boost 'boost')
+ )
+
+ if [[ -z "${DISABLE_MODULES}" ]] ; then
+ elog "Disabling module(s): ${disable_modules[@]}"
+ fi
+
+ local chostarch="${CHOST%%-*}"
+
+ # Arch specific wrangling
+ local myos=
+ case ${CHOST} in
+ *-darwin*)
+ myos=darwin
+ ;;
+ *)
+ myos=linux
+
+ if [[ ${CHOST} == *hppa* ]] ; then
+ chostarch=parisc
+ elif [[ ${ABI} == sparc64 ]] ; then
+ chostarch="sparc64"
+ elif [[ ${ABI} == sparc32 ]] ; then
+ chostarch="sparc32"
+ fi
+ ;;
+ esac
+
+ local pythonvers=()
+ if use python ; then
+ _append() {
+ pythonvers+=( ${EPYTHON/python/} )
+ }
+
+ python_foreach_impl _append
+ fi
+
+ local myargs=(
+ # Intrinsics
+ # TODO: x86 RDSEED (new CPU_FLAGS_X86?)
+ # TODO: POWER Crypto (new CPU_FLAGS_PPC?)
+ $(usev !cpu_flags_arm_aes '--disable-armv8crypto')
+ $(usev !cpu_flags_arm_neon '--disable-neon')
+ $(usev !cpu_flags_ppc_altivec '--disable-altivec')
+ $(usev !cpu_flags_x86_aes '--disable-aes-ni')
+ $(usev !cpu_flags_x86_avx2 '--disable-avx2')
+ $(usev !cpu_flags_x86_popcnt '--disable-bmi2')
+ $(usev !cpu_flags_x86_rdrand '--disable-rdrand')
+ $(usev !cpu_flags_x86_sha '--disable-sha-ni')
+ $(usev !cpu_flags_x86_sse2 '--disable-sse2')
+ $(usev !cpu_flags_x86_ssse3 '--disable-ssse3')
+ $(usev !cpu_flags_x86_sse4_1 '--disable-sse4.1')
+ $(usev !cpu_flags_x86_sse4_2 '--disable-sse4.2')
+
+ # HPPA's GCC doesn't support SSP
+ $(usev hppa '--without-stack-protector')
+
+ $(use_with boost)
+ $(use_with bzip2)
+ $(use_with doc documentation)
+ $(use_with doc sphinx)
+ $(use_with lzma)
+ $(use_enable static-libs static-library)
+ $(use_with sqlite sqlite3)
+ $(use_with zlib)
+
+ --cpu=${chostarch}
+ --docdir=share/doc
+ --disable-modules=$(IFS=","; echo "${disable_modules[*]}")
+ --distribution-info="Gentoo ${PVR}"
+ --libdir="$(get_libdir)"
+ # Avoid collisions between slots for tools (bug #905700)
+ --program-suffix=$(ver_cut 1)
+
+ # Don't install Python bindings automatically
+ # (do it manually later in the right place)
+ # bug #723096
+ --no-install-python-module
+
+ --os=${myos}
+ --prefix="${EPREFIX}"/usr
+ --with-endian="$(tc-endian)"
+ --with-python-version=$(IFS=","; echo "${pythonvers[*]}")
+ )
+
+ local build_targets=(
+ shared
+ $(usev static-libs static)
+ $(usev tools cli)
+ $(usev test tests)
+ )
+
+ myargs+=(
+ --build-targets=$(IFS=","; echo "${build_targets[*]}")
+ )
+
+ if use elibc_glibc && use kernel_linux ; then
+ myargs+=(
+ --with-os-features=getrandom,getentropy
+ )
+ fi
+
+ local sanitizers=()
+ if is-flagq -fsanitize=address ; then
+ sanitizers+=( address )
+ fi
+ if is-flagq -fsanitize=undefined ; then
+ sanitizers+=( undefined )
+ fi
+ filter-flags '-fsanitize=*'
+ myargs+=(
+ --enable-sanitizers=$(IFS=","; echo "${sanitizers[*]}")
+ )
+
+ edo ${EPYTHON} configure.py --verbose "${myargs[@]}"
+}
+
+src_test() {
+ LD_LIBRARY_PATH="${S}" edo ./botan-test$(ver_cut 1) --test-threads="$(makeopts_jobs)"
+}
+
+src_install() {
+ default
+
+ if [[ -d "${ED}"/usr/share/doc/${P} && ${P} != ${PF} ]] ; then
+ # --docdir in configure controls the parent directory unfortunately
+ mv "${ED}"/usr/share/doc/${P} "${ED}"/usr/share/doc/${PF} || die
+ fi
+
+ # Manually install the Python bindings (bug #723096)
+ if use python ; then
+ python_foreach_impl python_domodule src/python/botan$(ver_cut 1).py
+ fi
+}
diff --git a/dev-libs/botan/botan-3.2.0-r1.ebuild b/dev-libs/botan/botan-3.2.0-r1.ebuild
new file mode 100644
index 000000000000..3f687cb7dec7
--- /dev/null
+++ b/dev-libs/botan/botan-3.2.0-r1.ebuild
@@ -0,0 +1,229 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..12} )
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/botan.asc
+inherit edo flag-o-matic multiprocessing ninja-utils python-r1 toolchain-funcs verify-sig
+
+MY_P="Botan-${PV}"
+DESCRIPTION="C++ crypto library"
+HOMEPAGE="https://botan.randombit.net/"
+SRC_URI="https://botan.randombit.net/releases/${MY_P}.tar.xz"
+SRC_URI+=" verify-sig? ( https://botan.randombit.net/releases/${MY_P}.tar.xz.asc )"
+S="${WORKDIR}/${MY_P}"
+
+LICENSE="BSD-2"
+# New major versions are parallel-installable
+SLOT="$(ver_cut 1)/$(ver_cut 1-2)" # soname version
+KEYWORDS="amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ppc ppc64 ~riscv ~s390 ~sparc ~x86 ~ppc-macos"
+IUSE="doc boost bzip2 lzma python static-libs sqlite test tools zlib"
+RESTRICT="!test? ( test )"
+
+CPU_USE=(
+ cpu_flags_arm_{aes,neon,sha1,sha2}
+ cpu_flags_ppc_altivec
+ cpu_flags_x86_{aes,avx2,popcnt,rdrand,sha,sse2,ssse3,sse4_1,sse4_2}
+)
+
+IUSE+=" ${CPU_USE[@]}"
+
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+
+# NOTE: Boost is needed at runtime too for the CLI tool.
+DEPEND="
+ boost? ( dev-libs/boost:= )
+ bzip2? ( >=app-arch/bzip2-1.0.5:= )
+ lzma? ( app-arch/xz-utils:= )
+ python? ( ${PYTHON_DEPS} )
+ sqlite? ( dev-db/sqlite:3= )
+ zlib? ( >=sys-libs/zlib-1.2.3:= )
+"
+RDEPEND="
+ ${DEPEND}
+ !<dev-libs/botan-2.19.3-r1:2[tools]
+"
+BDEPEND="
+ ${PYTHON_DEPS}
+ ${NINJA_DEPEND}
+ $(python_gen_any_dep '
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )
+ ')
+ || ( >=sys-devel/gcc-11:* >=sys-devel/clang-14:* )
+ verify-sig? ( sec-keys/openpgp-keys-botan )
+"
+
+# NOTE: Considering patching Botan?
+# Please see upstream's guidance:
+# https://botan.randombit.net/handbook/packaging.html#minimize-distribution-patches
+PATCHES=(
+ "${FILESDIR}"/${P}-ninja.patch
+)
+
+python_check_deps() {
+ use doc || return 0
+ python_has_version "dev-python/sphinx[${PYTHON_USEDEP}]"
+}
+
+pkg_pretend() {
+ [[ ${MERGE_TYPE} == binary ]] && return
+
+ # bug #908958
+ if tc-is-gcc && ver_test $(gcc-version) -lt 11 ; then
+ eerror "Botan needs >=gcc-11 or >=clang-14 to compile."
+ eerror "Please upgrade GCC: emerge -v1 sys-devel/gcc"
+ die "GCC version is too old to compile Botan!"
+ elif tc-is-clang && ver_test $(clang-version) -lt 14 ; then
+ eerror "Botan needs >=gcc-11 or >=clang-14 to compile."
+ eerror "Please upgrade Clang: emerge -v1 sys-devel/clang"
+ die "Clang version is too old to compile Botan!"
+ fi
+}
+
+src_configure() {
+ tc-export AR CC CXX
+ python_setup
+
+ local disable_modules=(
+ $(usev !boost 'boost')
+ )
+
+ if [[ -z "${DISABLE_MODULES}" ]] ; then
+ elog "Disabling module(s): ${disable_modules[@]}"
+ fi
+
+ local chostarch="${CHOST%%-*}"
+
+ # Arch specific wrangling
+ local myos=
+ case ${CHOST} in
+ *-darwin*)
+ myos=darwin
+ ;;
+ *)
+ myos=linux
+
+ if [[ ${CHOST} == *hppa* ]] ; then
+ chostarch=parisc
+ elif [[ ${ABI} == sparc64 ]] ; then
+ chostarch="sparc64"
+ elif [[ ${ABI} == sparc32 ]] ; then
+ chostarch="sparc32"
+ fi
+ ;;
+ esac
+
+ local pythonvers=()
+ if use python ; then
+ _append() {
+ pythonvers+=( ${EPYTHON/python/} )
+ }
+
+ python_foreach_impl _append
+ fi
+
+ local myargs=(
+ # Intrinsics
+ # TODO: x86 RDSEED (new CPU_FLAGS_X86?)
+ # TODO: POWER Crypto (new CPU_FLAGS_PPC?)
+ $(usev !cpu_flags_arm_aes '--disable-armv8crypto')
+ $(usev !cpu_flags_arm_neon '--disable-neon')
+ $(usev !cpu_flags_arm_sha1 '--disable-armv8crypto')
+ $(usev !cpu_flags_arm_sha2 '--disable-armv8crypto')
+ $(usev !cpu_flags_ppc_altivec '--disable-altivec')
+ $(usev !cpu_flags_x86_aes '--disable-aes-ni')
+ $(usev !cpu_flags_x86_avx2 '--disable-avx2')
+ $(usev !cpu_flags_x86_popcnt '--disable-bmi2')
+ $(usev !cpu_flags_x86_rdrand '--disable-rdrand')
+ $(usev !cpu_flags_x86_sha '--disable-sha-ni')
+ $(usev !cpu_flags_x86_sse2 '--disable-sse2')
+ $(usev !cpu_flags_x86_ssse3 '--disable-ssse3')
+ $(usev !cpu_flags_x86_sse4_1 '--disable-sse4.1')
+ $(usev !cpu_flags_x86_sse4_2 '--disable-sse4.2')
+
+ # HPPA's GCC doesn't support SSP
+ $(usev hppa '--without-stack-protector')
+
+ $(use_with boost)
+ $(use_with bzip2)
+ $(use_with doc documentation)
+ $(use_with doc sphinx)
+ $(use_with lzma)
+ $(use_enable static-libs static-library)
+ $(use_with sqlite sqlite3)
+ $(use_with zlib)
+
+ --build-tool=ninja
+ --cpu=${chostarch}
+ --docdir=share/doc
+ --disable-modules=$(IFS=","; echo "${disable_modules[*]}")
+ --distribution-info="Gentoo ${PVR}"
+ --libdir="$(get_libdir)"
+ # Avoid collisions between slots for tools (bug #905700)
+ --program-suffix=$(ver_cut 1)
+
+ # Don't install Python bindings automatically
+ # (do it manually later in the right place)
+ # bug #723096
+ --no-install-python-module
+
+ --os=${myos}
+ --prefix="${EPREFIX}"/usr
+ --with-endian="$(tc-endian)"
+ --with-python-version=$(IFS=","; echo "${pythonvers[*]}")
+ )
+
+ local build_targets=(
+ shared
+ $(usev static-libs static)
+ $(usev tools cli)
+ $(usev test tests)
+ )
+
+ myargs+=(
+ --build-targets=$(IFS=","; echo "${build_targets[*]}")
+ )
+
+ if use elibc_glibc && use kernel_linux ; then
+ myargs+=(
+ --with-os-features=getrandom,getentropy
+ )
+ fi
+
+ local sanitizers=()
+ if is-flagq -fsanitize=address ; then
+ sanitizers+=( address )
+ fi
+ if is-flagq -fsanitize=undefined ; then
+ sanitizers+=( undefined )
+ fi
+ filter-flags '-fsanitize=*'
+ myargs+=(
+ --enable-sanitizers=$(IFS=","; echo "${sanitizers[*]}")
+ )
+
+ edo ${EPYTHON} configure.py --verbose "${myargs[@]}"
+}
+
+src_compile() {
+ eninja
+}
+
+src_test() {
+ LD_LIBRARY_PATH="${S}" edo ./botan-test$(ver_cut 1) --test-threads="$(makeopts_jobs)"
+}
+
+src_install() {
+ DESTDIR="${D}" eninja install
+
+ if [[ -d "${ED}"/usr/share/doc/${P} && ${P} != ${PF} ]] ; then
+ # --docdir in configure controls the parent directory unfortunately
+ mv "${ED}"/usr/share/doc/${P} "${ED}"/usr/share/doc/${PF} || die
+ fi
+
+ # Manually install the Python bindings (bug #723096)
+ if use python ; then
+ python_foreach_impl python_domodule src/python/botan$(ver_cut 1).py
+ fi
+}
diff --git a/dev-libs/botan/botan-3.2.0-r2.ebuild b/dev-libs/botan/botan-3.2.0-r2.ebuild
new file mode 100644
index 000000000000..e159ec4d7ba0
--- /dev/null
+++ b/dev-libs/botan/botan-3.2.0-r2.ebuild
@@ -0,0 +1,229 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..12} )
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/botan.asc
+inherit edo flag-o-matic multiprocessing ninja-utils python-r1 toolchain-funcs verify-sig
+
+MY_P="Botan-${PV}"
+DESCRIPTION="C++ crypto library"
+HOMEPAGE="https://botan.randombit.net/"
+SRC_URI="https://botan.randombit.net/releases/${MY_P}.tar.xz"
+SRC_URI+=" verify-sig? ( https://botan.randombit.net/releases/${MY_P}.tar.xz.asc )"
+S="${WORKDIR}/${MY_P}"
+
+LICENSE="BSD-2"
+# New major versions are parallel-installable
+SLOT="$(ver_cut 1)/$(ver_cut 1-2)" # soname version
+KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~ppc-macos"
+IUSE="doc boost bzip2 lzma python static-libs sqlite test tools zlib"
+RESTRICT="!test? ( test )"
+
+CPU_USE=(
+ cpu_flags_arm_{aes,neon,sha1,sha2}
+ cpu_flags_ppc_altivec
+ cpu_flags_x86_{aes,avx2,popcnt,rdrand,sha,sse2,ssse3,sse4_1,sse4_2}
+)
+
+IUSE+=" ${CPU_USE[@]}"
+
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+
+# NOTE: Boost is needed at runtime too for the CLI tool.
+DEPEND="
+ boost? ( dev-libs/boost:= )
+ bzip2? ( >=app-arch/bzip2-1.0.5:= )
+ lzma? ( app-arch/xz-utils:= )
+ python? ( ${PYTHON_DEPS} )
+ sqlite? ( dev-db/sqlite:3= )
+ zlib? ( >=sys-libs/zlib-1.2.3:= )
+"
+RDEPEND="
+ ${DEPEND}
+ !<dev-libs/botan-2.19.3-r1:2[tools]
+"
+BDEPEND="
+ ${PYTHON_DEPS}
+ ${NINJA_DEPEND}
+ $(python_gen_any_dep '
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )
+ ')
+ || ( >=sys-devel/gcc-11:* >=sys-devel/clang-14:* )
+ verify-sig? ( sec-keys/openpgp-keys-botan )
+"
+
+# NOTE: Considering patching Botan?
+# Please see upstream's guidance:
+# https://botan.randombit.net/handbook/packaging.html#minimize-distribution-patches
+PATCHES=(
+ "${FILESDIR}"/${P}-ninja.patch
+)
+
+python_check_deps() {
+ use doc || return 0
+ python_has_version "dev-python/sphinx[${PYTHON_USEDEP}]"
+}
+
+pkg_pretend() {
+ [[ ${MERGE_TYPE} == binary ]] && return
+
+ # bug #908958
+ if tc-is-gcc && ver_test $(gcc-version) -lt 11 ; then
+ eerror "Botan needs >=gcc-11 or >=clang-14 to compile."
+ eerror "Please upgrade GCC: emerge -v1 sys-devel/gcc"
+ die "GCC version is too old to compile Botan!"
+ elif tc-is-clang && ver_test $(clang-version) -lt 14 ; then
+ eerror "Botan needs >=gcc-11 or >=clang-14 to compile."
+ eerror "Please upgrade Clang: emerge -v1 sys-devel/clang"
+ die "Clang version is too old to compile Botan!"
+ fi
+}
+
+src_configure() {
+ tc-export AR CC CXX
+ python_setup
+
+ local disable_modules=(
+ $(usev !boost 'boost')
+ )
+
+ if [[ -z "${DISABLE_MODULES}" ]] ; then
+ elog "Disabling module(s): ${disable_modules[@]}"
+ fi
+
+ local chostarch="${CHOST%%-*}"
+
+ # Arch specific wrangling
+ local myos=
+ case ${CHOST} in
+ *-darwin*)
+ myos=darwin
+ ;;
+ *)
+ myos=linux
+
+ if [[ ${CHOST} == *hppa* ]] ; then
+ chostarch=parisc
+ elif [[ ${ABI} == sparc64 ]] ; then
+ chostarch="sparc64"
+ elif [[ ${ABI} == sparc32 ]] ; then
+ chostarch="sparc32"
+ fi
+ ;;
+ esac
+
+ local pythonvers=()
+ if use python ; then
+ _append() {
+ pythonvers+=( ${EPYTHON/python/} )
+ }
+
+ python_foreach_impl _append
+ fi
+
+ local myargs=(
+ # Intrinsics
+ # TODO: x86 RDSEED (new CPU_FLAGS_X86?)
+ # TODO: POWER Crypto (new CPU_FLAGS_PPC?)
+ $(usev !cpu_flags_arm_aes '--disable-armv8crypto')
+ $(usev !cpu_flags_arm_neon '--disable-neon')
+ $(usev !cpu_flags_arm_sha1 '--disable-armv8crypto')
+ $(usev !cpu_flags_arm_sha2 '--disable-armv8crypto')
+ $(usev !cpu_flags_ppc_altivec '--disable-altivec')
+ $(usev !cpu_flags_x86_aes '--disable-aes-ni')
+ $(usev !cpu_flags_x86_avx2 '--disable-avx2')
+ $(usev !cpu_flags_x86_popcnt '--disable-bmi2')
+ $(usev !cpu_flags_x86_rdrand '--disable-rdrand')
+ $(usev !cpu_flags_x86_sha '--disable-sha-ni')
+ $(usev !cpu_flags_x86_sse2 '--disable-sse2')
+ $(usev !cpu_flags_x86_ssse3 '--disable-ssse3')
+ $(usev !cpu_flags_x86_sse4_1 '--disable-sse4.1')
+ $(usev !cpu_flags_x86_sse4_2 '--disable-sse4.2')
+
+ # HPPA's GCC doesn't support SSP
+ $(usev hppa '--without-stack-protector')
+
+ $(use_with boost)
+ $(use_with bzip2)
+ $(use_with doc documentation)
+ $(use_with doc sphinx)
+ $(use_with lzma)
+ $(use_enable static-libs static-library)
+ $(use_with sqlite sqlite3)
+ $(use_with zlib)
+
+ --build-tool=ninja
+ --cpu=${chostarch}
+ --docdir=share/doc
+ --disable-modules=$(IFS=","; echo "${disable_modules[*]}")
+ --distribution-info="Gentoo ${PVR}"
+ --libdir="$(get_libdir)"
+ # Avoid collisions between slots for tools (bug #905700)
+ --program-suffix=$(ver_cut 1)
+
+ # Don't install Python bindings automatically
+ # (do it manually later in the right place)
+ # bug #723096
+ --no-install-python-module
+
+ --os=${myos}
+ --prefix="${EPREFIX}"/usr
+ --with-endian="$(tc-endian)"
+ --with-python-version=$(IFS=","; echo "${pythonvers[*]}")
+ )
+
+ local build_targets=(
+ shared
+ $(usev static-libs static)
+ $(usev tools cli)
+ $(usev test tests)
+ )
+
+ myargs+=(
+ --build-targets=$(IFS=","; echo "${build_targets[*]}")
+ )
+
+ if ( use elibc_glibc || use elibc_musl ) && use kernel_linux ; then
+ myargs+=(
+ --with-os-features=getrandom,getentropy
+ )
+ fi
+
+ local sanitizers=()
+ if is-flagq -fsanitize=address ; then
+ sanitizers+=( address )
+ fi
+ if is-flagq -fsanitize=undefined ; then
+ sanitizers+=( undefined )
+ fi
+ filter-flags '-fsanitize=*'
+ myargs+=(
+ --enable-sanitizers=$(IFS=","; echo "${sanitizers[*]}")
+ )
+
+ edo ${EPYTHON} configure.py --verbose "${myargs[@]}"
+}
+
+src_compile() {
+ eninja
+}
+
+src_test() {
+ LD_LIBRARY_PATH="${S}" edo ./botan-test$(ver_cut 1) --test-threads="$(makeopts_jobs)"
+}
+
+src_install() {
+ DESTDIR="${D}" eninja install
+
+ if [[ -d "${ED}"/usr/share/doc/${P} && ${P} != ${PF} ]] ; then
+ # --docdir in configure controls the parent directory unfortunately
+ mv "${ED}"/usr/share/doc/${P} "${ED}"/usr/share/doc/${PF} || die
+ fi
+
+ # Manually install the Python bindings (bug #723096)
+ if use python ; then
+ python_foreach_impl python_domodule src/python/botan$(ver_cut 1).py
+ fi
+}
diff --git a/dev-libs/botan/botan-3.3.0.ebuild b/dev-libs/botan/botan-3.3.0.ebuild
new file mode 100644
index 000000000000..893a9edb2868
--- /dev/null
+++ b/dev-libs/botan/botan-3.3.0.ebuild
@@ -0,0 +1,224 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..12} )
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/botan.asc
+inherit edo flag-o-matic multiprocessing ninja-utils python-r1 toolchain-funcs verify-sig
+
+MY_P="Botan-${PV}"
+DESCRIPTION="C++ crypto library"
+HOMEPAGE="https://botan.randombit.net/"
+SRC_URI="https://botan.randombit.net/releases/${MY_P}.tar.xz"
+SRC_URI+=" verify-sig? ( https://botan.randombit.net/releases/${MY_P}.tar.xz.asc )"
+S="${WORKDIR}/${MY_P}"
+
+LICENSE="BSD-2"
+# New major versions are parallel-installable
+SLOT="$(ver_cut 1)/$(ver_cut 1-2)" # soname version
+# Unkeyworded because of https://github.com/randombit/botan/issues/3917
+#KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~ppc-macos"
+IUSE="doc boost bzip2 lzma python static-libs sqlite test tools zlib"
+CPU_USE=(
+ cpu_flags_arm_{aes,neon,sha1,sha2}
+ cpu_flags_ppc_altivec
+ cpu_flags_x86_{aes,avx2,popcnt,rdrand,sha,sse2,ssse3,sse4_1,sse4_2}
+)
+IUSE+=" ${CPU_USE[@]}"
+RESTRICT="!test? ( test )"
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+
+# NOTE: Boost is needed at runtime too for the CLI tool.
+DEPEND="
+ boost? ( dev-libs/boost:= )
+ bzip2? ( >=app-arch/bzip2-1.0.5:= )
+ lzma? ( app-arch/xz-utils:= )
+ python? ( ${PYTHON_DEPS} )
+ sqlite? ( dev-db/sqlite:3= )
+ zlib? ( >=sys-libs/zlib-1.2.3:= )
+"
+RDEPEND="
+ ${DEPEND}
+ !<dev-libs/botan-2.19.3-r1:2[tools]
+"
+BDEPEND="
+ ${PYTHON_DEPS}
+ ${NINJA_DEPEND}
+ $(python_gen_any_dep '
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )
+ ')
+ || ( >=sys-devel/gcc-11:* >=sys-devel/clang-14:* )
+ verify-sig? ( sec-keys/openpgp-keys-botan )
+"
+
+# NOTE: Considering patching Botan?
+# Please see upstream's guidance:
+# https://botan.randombit.net/handbook/packaging.html#minimize-distribution-patches
+
+python_check_deps() {
+ use doc || return 0
+ python_has_version "dev-python/sphinx[${PYTHON_USEDEP}]"
+}
+
+pkg_pretend() {
+ [[ ${MERGE_TYPE} == binary ]] && return
+
+ # bug #908958
+ if tc-is-gcc && ver_test $(gcc-version) -lt 11 ; then
+ eerror "Botan needs >=gcc-11 or >=clang-14 to compile."
+ eerror "Please upgrade GCC: emerge -v1 sys-devel/gcc"
+ die "GCC version is too old to compile Botan!"
+ elif tc-is-clang && ver_test $(clang-version) -lt 14 ; then
+ eerror "Botan needs >=gcc-11 or >=clang-14 to compile."
+ eerror "Please upgrade Clang: emerge -v1 sys-devel/clang"
+ die "Clang version is too old to compile Botan!"
+ fi
+}
+
+src_configure() {
+ tc-export AR CC CXX
+ python_setup
+
+ local disable_modules=(
+ $(usev !boost 'boost')
+ )
+
+ if [[ -z "${DISABLE_MODULES}" ]] ; then
+ elog "Disabling module(s): ${disable_modules[@]}"
+ fi
+
+ local chostarch="${CHOST%%-*}"
+
+ # Arch specific wrangling
+ local myos=
+ case ${CHOST} in
+ *-darwin*)
+ myos=darwin
+ ;;
+ *)
+ myos=linux
+
+ if [[ ${CHOST} == *hppa* ]] ; then
+ chostarch=parisc
+ elif [[ ${ABI} == sparc64 ]] ; then
+ chostarch="sparc64"
+ elif [[ ${ABI} == sparc32 ]] ; then
+ chostarch="sparc32"
+ fi
+ ;;
+ esac
+
+ local pythonvers=()
+ if use python ; then
+ _append() {
+ pythonvers+=( ${EPYTHON/python/} )
+ }
+
+ python_foreach_impl _append
+ fi
+
+ local myargs=(
+ # Intrinsics
+ # TODO: x86 RDSEED (new CPU_FLAGS_X86?)
+ # TODO: POWER Crypto (new CPU_FLAGS_PPC?)
+ $(usev !cpu_flags_arm_aes '--disable-armv8crypto')
+ $(usev !cpu_flags_arm_neon '--disable-neon')
+ $(usev !cpu_flags_arm_sha1 '--disable-armv8crypto')
+ $(usev !cpu_flags_arm_sha2 '--disable-armv8crypto')
+ $(usev !cpu_flags_ppc_altivec '--disable-altivec')
+ $(usev !cpu_flags_x86_aes '--disable-aes-ni')
+ $(usev !cpu_flags_x86_avx2 '--disable-avx2')
+ $(usev !cpu_flags_x86_popcnt '--disable-bmi2')
+ $(usev !cpu_flags_x86_rdrand '--disable-rdrand')
+ $(usev !cpu_flags_x86_sha '--disable-sha-ni')
+ $(usev !cpu_flags_x86_sse2 '--disable-sse2')
+ $(usev !cpu_flags_x86_ssse3 '--disable-ssse3')
+ $(usev !cpu_flags_x86_sse4_1 '--disable-sse4.1')
+ $(usev !cpu_flags_x86_sse4_2 '--disable-sse4.2')
+
+ # HPPA's GCC doesn't support SSP
+ $(usev hppa '--without-stack-protector')
+
+ $(use_with boost)
+ $(use_with bzip2)
+ $(use_with doc documentation)
+ $(use_with doc sphinx)
+ $(use_with lzma)
+ $(use_enable static-libs static-library)
+ $(use_with sqlite sqlite3)
+ $(use_with zlib)
+
+ --build-tool=ninja
+ --cpu=${chostarch}
+ --docdir=share/doc
+ --disable-modules=$(IFS=","; echo "${disable_modules[*]}")
+ --distribution-info="Gentoo ${PVR}"
+ --libdir="$(get_libdir)"
+ # Avoid collisions between slots for tools (bug #905700)
+ --program-suffix=$(ver_cut 1)
+
+ # Don't install Python bindings automatically
+ # (do it manually later in the right place)
+ # bug #723096
+ --no-install-python-module
+
+ --os=${myos}
+ --prefix="${EPREFIX}"/usr
+ --with-endian="$(tc-endian)"
+ --with-python-version=$(IFS=","; echo "${pythonvers[*]}")
+ )
+
+ local build_targets=(
+ shared
+ $(usev static-libs static)
+ $(usev tools cli)
+ $(usev test tests)
+ )
+
+ myargs+=(
+ --build-targets=$(IFS=","; echo "${build_targets[*]}")
+ )
+
+ if ( use elibc_glibc || use elibc_musl ) && use kernel_linux ; then
+ myargs+=(
+ --with-os-features=getrandom,getentropy
+ )
+ fi
+
+ local sanitizers=()
+ if is-flagq -fsanitize=address ; then
+ sanitizers+=( address )
+ fi
+ if is-flagq -fsanitize=undefined ; then
+ sanitizers+=( undefined )
+ fi
+ filter-flags '-fsanitize=*'
+ myargs+=(
+ --enable-sanitizers=$(IFS=","; echo "${sanitizers[*]}")
+ )
+
+ edo ${EPYTHON} configure.py --verbose "${myargs[@]}"
+}
+
+src_compile() {
+ eninja
+}
+
+src_test() {
+ LD_LIBRARY_PATH="${S}" edo ./botan-test$(ver_cut 1) --test-threads="$(makeopts_jobs)"
+}
+
+src_install() {
+ DESTDIR="${D}" eninja install
+
+ if [[ -d "${ED}"/usr/share/doc/${P} && ${P} != ${PF} ]] ; then
+ # --docdir in configure controls the parent directory unfortunately
+ mv "${ED}"/usr/share/doc/${P} "${ED}"/usr/share/doc/${PF} || die
+ fi
+
+ # Manually install the Python bindings (bug #723096)
+ if use python ; then
+ python_foreach_impl python_domodule src/python/botan$(ver_cut 1).py
+ fi
+}
diff --git a/dev-libs/botan/files/botan-3.2.0-ninja.patch b/dev-libs/botan/files/botan-3.2.0-ninja.patch
new file mode 100644
index 000000000000..826fc496fb31
--- /dev/null
+++ b/dev-libs/botan/files/botan-3.2.0-ninja.patch
@@ -0,0 +1,20 @@
+https://bugs.gentoo.org/915544
+https://github.com/randombit/botan/commit/a1a32558669a6751e39420b26930d477790509ce
+
+From a1a32558669a6751e39420b26930d477790509ce Mon Sep 17 00:00:00 2001
+From: Jack Lloyd <jack@randombit.net>
+Date: Wed, 11 Oct 2023 07:36:31 -0400
+Subject: [PATCH] Fix Ninja build to pass instruction set flags to the compiler
+
+Fixes #3750
+--- a/src/build-data/ninja.in
++++ b/src/build-data/ninja.in
+@@ -161,6 +161,7 @@ build tidy: tidy
+
+ %{for lib_build_info}
+ build %{obj}: compile_lib %{src}
++ isa_flags = %{isa_flags}
+ %{endfor}
+
+ %{for cli_build_info}
+
diff --git a/dev-libs/botan/metadata.xml b/dev-libs/botan/metadata.xml
index c6fdbfce6159..aa26e3323953 100644
--- a/dev-libs/botan/metadata.xml
+++ b/dev-libs/botan/metadata.xml
@@ -6,7 +6,8 @@
<name>Sam James</name>
</maintainer>
<use>
- <flag name="boost">use <pkg>dev-libs/boost</pkg></flag>
+ <flag name="boost">Use <pkg>dev-libs/boost</pkg></flag>
+ <flag name="tools">Install optional tools for e.g. hashing</flag>
</use>
<slots>
<subslots>botan soname version</subslots>
diff --git a/dev-libs/boxfort/Manifest b/dev-libs/boxfort/Manifest
index 6faa393f8a8b..e72f8254858c 100644
--- a/dev-libs/boxfort/Manifest
+++ b/dev-libs/boxfort/Manifest
@@ -1,2 +1,2 @@
-DIST boxfort-0.0.1_pre20200902.tar.gz 41643 BLAKE2B 6ac53b632f604ffd6b790a026703a2d64da65fc03cc71ebc3e4da3463e7c5a44ec99e85e3cdac8e5756afaf7d98785955815e194929bbc8dd6b6fd90bfb3fd52 SHA512 96090372f3e546f53f82c515c3f9e557fdd67eb7bc735683b30d8a66c2536cf21261b0467e449ccbd13e914b7cf4ea3da1a37c4108b215d6d0d08cdb68944b1e
DIST boxfort-0.1.1.tar.gz 41993 BLAKE2B b9153a6330cecb781e2b5cd20554df3d0aad277dfc01174fd5d375211896b2912f26a76b0ba6ef7143c7101d844072e1a857caf5a8191893f22c0528c0a203d4 SHA512 48f7a0a52d03f36307271c8f387613dd53aebb19d0379e1758d557b043854c89068776ca4c22e64eb518429dd629c9a082476ecd2a548ac95e6aebef512a50ca
+DIST boxfort-0.1.4.tar.gz 43011 BLAKE2B a925d21d4f29e0720ae66c6d5ac1a1d0b9c3f779a5ad0689aa6a058815852cfe04a7400daff1467b87df8c07a04201a32b4edc4b94358b53a320ddf223af05ac SHA512 0c6fe2ee474013c47d4688e5d1b4813c6265daa89f55e39202dd76676f5d0687c473216dde5236faf5cd246d24c21e232ed82bb5b676a231faadc4231e7aea1b
diff --git a/dev-libs/boxfort/boxfort-0.0.1_pre20200902-r1.ebuild b/dev-libs/boxfort/boxfort-0.0.1_pre20200902-r1.ebuild
deleted file mode 100644
index 693c2ee3a362..000000000000
--- a/dev-libs/boxfort/boxfort-0.0.1_pre20200902-r1.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
-
-PYTHON_COMPAT=( python3_{7..10} )
-
-inherit meson python-any-r1
-
-BOXFORT_COMMIT="ac0507b3f45fe58100b528baeb8ca04270b4a8ff"
-
-DESCRIPTION="Convenient & cross-platform sandboxing C library"
-HOMEPAGE="https://github.com/Snaipe/BoxFort"
-SRC_URI="https://github.com/Snaipe/BoxFort/archive/${BOXFORT_COMMIT}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 ~arm ~arm64 -riscv ~x86"
-IUSE="test"
-RESTRICT="!test? ( test )"
-
-DEPEND="test? (
- $(python_gen_any_dep 'dev-util/cram[${PYTHON_USEDEP}]')
- )"
-BDEPEND="virtual/pkgconfig"
-
-S="${WORKDIR}/BoxFort-${BOXFORT_COMMIT}"
-
-python_check_deps() {
- use test && has_version "dev-util/cram[${PYTHON_USEDEP}]"
-}
-
-pkg_setup() {
- use test && python-any-r1_pkg_setup
-}
-
-src_configure() {
- local emesonargs=(
- -Dsamples=$(usex test true false)
- -Dtests=$(usex test true false)
- )
-
- meson_src_configure
-}
diff --git a/dev-libs/boxfort/boxfort-0.1.1.ebuild b/dev-libs/boxfort/boxfort-0.1.1.ebuild
index 45a22331a50f..a9bd21264bdc 100644
--- a/dev-libs/boxfort/boxfort-0.1.1.ebuild
+++ b/dev-libs/boxfort/boxfort-0.1.1.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=8
-PYTHON_COMPAT=( python3_{7..10} )
+PYTHON_COMPAT=( python3_{9..11} )
inherit meson python-any-r1
@@ -13,7 +13,7 @@ SRC_URI="https://github.com/Snaipe/BoxFort/archive/v${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 -riscv ~x86"
+KEYWORDS="-alpha amd64 ~arm ~arm64 -hppa -ia64 -loong -m68k -mips -ppc -ppc64 -riscv -s390 -sparc ~x86"
IUSE="test"
RESTRICT="!test? ( test )"
diff --git a/dev-libs/boxfort/boxfort-0.1.4.ebuild b/dev-libs/boxfort/boxfort-0.1.4.ebuild
new file mode 100644
index 000000000000..0a5de250ab7b
--- /dev/null
+++ b/dev-libs/boxfort/boxfort-0.1.4.ebuild
@@ -0,0 +1,41 @@
+# 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 python-any-r1
+
+DESCRIPTION="Convenient & cross-platform sandboxing C library"
+HOMEPAGE="https://github.com/Snaipe/BoxFort"
+SRC_URI="https://github.com/Snaipe/BoxFort/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}"/BoxFort-${PV}
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="-alpha amd64 ~arm ~arm64 -hppa -ia64 -loong -m68k -mips -ppc -ppc64 -riscv -s390 -sparc x86"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+DEPEND="test? (
+ $(python_gen_any_dep 'dev-util/cram[${PYTHON_USEDEP}]')
+ )"
+BDEPEND="virtual/pkgconfig"
+
+python_check_deps() {
+ use test && has_version "dev-util/cram[${PYTHON_USEDEP}]"
+}
+
+pkg_setup() {
+ use test && python-any-r1_pkg_setup
+}
+
+src_configure() {
+ local emesonargs=(
+ $(meson_use test samples)
+ $(meson_use test tests)
+ )
+
+ meson_src_configure
+}
diff --git a/dev-libs/busybee/Manifest b/dev-libs/busybee/Manifest
deleted file mode 100644
index c830ed56f154..000000000000
--- a/dev-libs/busybee/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST busybee-0.7.0.tar.gz 367175 BLAKE2B 29dc5c021dbbc91497d855b26adbeb6464999a92ac9d13af689ec09e76f9779f0ec8d36b210e432eb77ee6eec125f0bfbc7eb0b87f085969a422a2a7e2286002 SHA512 9bf868b6d02b0286d89ff371964e7d32dd373049c1437459b79f0789741421ebb2810d9d58c51d86225cc190d6e23d57c816d079298b0bcfa1e4da815bda2474
diff --git a/dev-libs/busybee/busybee-0.7.0.ebuild b/dev-libs/busybee/busybee-0.7.0.ebuild
deleted file mode 100644
index ad936c434700..000000000000
--- a/dev-libs/busybee/busybee-0.7.0.ebuild
+++ /dev/null
@@ -1,25 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-DESCRIPTION="A messaging abstraction on top of TCP sockets used in HyperDex"
-HOMEPAGE="http://hyperdex.org"
-SRC_URI="http://hyperdex.org/src/${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64"
-
-DEPEND=">=dev-libs/libpo6-0.8
- >=dev-libs/libe-0.11"
-RDEPEND="${DEPEND}"
-
-src_configure() {
- econf --disable-static
-}
-
-src_install() {
- default
- find "${ED}" -name '*.la' -delete || die
-}
diff --git a/dev-libs/busybee/metadata.xml b/dev-libs/busybee/metadata.xml
deleted file mode 100644
index 2ce0e74f9864..000000000000
--- a/dev-libs/busybee/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="person">
- <email>patrick@gentoo.org</email>
- <name>Patrick Lauer</name>
- </maintainer>
-</pkgmetadata>
diff --git a/dev-libs/c-blosc/Manifest b/dev-libs/c-blosc/Manifest
index 5f09a91ebbb8..e7cb8aa0f471 100644
--- a/dev-libs/c-blosc/Manifest
+++ b/dev-libs/c-blosc/Manifest
@@ -1 +1 @@
-DIST c-blosc-1.21.1.tar.gz 1456777 BLAKE2B a6a48d79fc8cb3df277e878a69361a5d12552be4b8ae50a4a95d2fe48d5b073c849724913a20c2834de7cf3cac7f288ddfec977ed1e4a1875fc3d21975907b44 SHA512 e06712ffaeaa6892415a6b01219221426c20af4191db6ca923301313daa8f5b0a83a7a3cd273f7013766349ace4e4869590e9c44bd892e57027ca45de53779e7
+DIST c-blosc-1.21.5.gh.tar.gz 2458960 BLAKE2B f56e19146a1522554d5e8de23f580125a6181b50f1898c8e622e8ac50f2f40ab4cdaba62a5a2bc6ff437257550e205090ebe66bb8840202a26567abfc63fbf53 SHA512 01e6d80e1114d76c4bd1b413778c293d0455879ec38e1e1ec46e8e7eaf2997b47cc2de35bc52cdc4c2c70341b6f87d70626a9a9c24ffc8b7b170d760efa60c07
diff --git a/dev-libs/c-blosc/c-blosc-1.21.1.ebuild b/dev-libs/c-blosc/c-blosc-1.21.1.ebuild
deleted file mode 100644
index ff5e50e77c0d..000000000000
--- a/dev-libs/c-blosc/c-blosc-1.21.1.ebuild
+++ /dev/null
@@ -1,47 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit cmake
-
-DESCRIPTION="Blocking, shuffling and lossless compression library"
-HOMEPAGE="https://www.blosc.org/"
-SRC_URI="https://github.com/Blosc/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0/1"
-KEYWORDS="amd64 arm arm64 ~hppa ~ia64 ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux"
-IUSE="+lz4 +snappy test zlib zstd"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- lz4? ( >=app-arch/lz4-1.7.5:= )
- snappy? ( app-arch/snappy:= )
- zlib? ( sys-libs/zlib:= )
- zstd? ( app-arch/zstd:= )"
-DEPEND="${RDEPEND}"
-
-src_prepare() {
- cmake_src_prepare
- # remove bundled libs
- rm -rf internal-complibs || die
-}
-
-src_configure() {
- local mycmakeargs=(
- -DBUILD_STATIC=OFF
- -DBUILD_TESTS=$(usex test)
- -DBUILD_BENCHMARKS=OFF
- -DBUILD_FUZZERS=OFF
- -DDEACTIVATE_LZ4=$(usex !lz4)
- -DDEACTIVATE_SNAPPY=$(usex !snappy)
- -DDEACTIVATE_ZLIB=$(usex !zlib)
- -DDEACTIVATE_ZSTD=$(usex !zstd)
- -DPREFER_EXTERNAL_LZ4=ON
- # snappy is always external
- -DPREFER_EXTERNAL_ZLIB=ON
- -DPREFER_EXTERNAL_ZSTD=ON
- )
- cmake_src_configure
-}
diff --git a/dev-libs/c-blosc/c-blosc-1.21.5.ebuild b/dev-libs/c-blosc/c-blosc-1.21.5.ebuild
new file mode 100644
index 000000000000..38ab8bce109f
--- /dev/null
+++ b/dev-libs/c-blosc/c-blosc-1.21.5.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
+
+DESCRIPTION="Blocking, shuffling and lossless compression library"
+HOMEPAGE="
+ https://www.blosc.org/
+ https://github.com/Blosc/c-blosc/
+"
+SRC_URI="
+ https://github.com/Blosc/c-blosc/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="BSD"
+SLOT="0/1"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux"
+IUSE="+lz4 +snappy test zlib zstd"
+RESTRICT="!test? ( test )"
+
+DEPEND="
+ lz4? ( >=app-arch/lz4-1.7.5:= )
+ snappy? ( app-arch/snappy:= )
+ zlib? ( sys-libs/zlib:= )
+ zstd? ( app-arch/zstd:= )
+"
+RDEPEND="
+ ${DEPEND}
+"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-1.21.4-no-unaligned.patch
+)
+
+src_configure() {
+ # remove bundled libs (just in case)
+ rm -rf internal-complibs || die
+
+ local mycmakeargs=(
+ -DBUILD_STATIC=OFF
+ -DBUILD_TESTS=$(usex test)
+ -DBUILD_BENCHMARKS=OFF
+ -DBUILD_FUZZERS=OFF
+ -DDEACTIVATE_LZ4=$(usex !lz4)
+ -DDEACTIVATE_SNAPPY=$(usex !snappy)
+ -DDEACTIVATE_ZLIB=$(usex !zlib)
+ -DDEACTIVATE_ZSTD=$(usex !zstd)
+ -DPREFER_EXTERNAL_LZ4=ON
+ # snappy is always external
+ -DPREFER_EXTERNAL_ZLIB=ON
+ -DPREFER_EXTERNAL_ZSTD=ON
+ )
+ cmake_src_configure
+}
diff --git a/dev-libs/c-blosc/files/c-blosc-1.21.4-no-unaligned.patch b/dev-libs/c-blosc/files/c-blosc-1.21.4-no-unaligned.patch
new file mode 100644
index 000000000000..932df9355a99
--- /dev/null
+++ b/dev-libs/c-blosc/files/c-blosc-1.21.4-no-unaligned.patch
@@ -0,0 +1,33 @@
+Causes SIGBUS on armv7 (at least in jiji's arm32-on-arm64 chroot) in Pandas test
+suite. Unaligned access is UB anyway.
+--- a/blosc/blosc-common.h
++++ b/blosc/blosc-common.h
+@@ -43,28 +43,6 @@
+ */
+ #if !defined(BLOSC_STRICT_ALIGN)
+ #define BLOSC_STRICT_ALIGN
+-#if defined(__i386__) || defined(__386) || defined (__amd64) /* GNU C, Sun Studio */
+-#undef BLOSC_STRICT_ALIGN
+-#elif defined(__i486__) || defined(__i586__) || defined(__i686__) /* GNU C */
+-#undef BLOSC_STRICT_ALIGN
+-#elif defined(_M_IX86) || defined(_M_X64) /* Intel, MSVC */
+-#undef BLOSC_STRICT_ALIGN
+-#elif defined(__386)
+-#undef BLOSC_STRICT_ALIGN
+-#elif defined(_X86_) /* MinGW */
+-#undef BLOSC_STRICT_ALIGN
+-#elif defined(__I86__) /* Digital Mars */
+-#undef BLOSC_STRICT_ALIGN
+-/* Seems like unaligned access in ARM (at least ARMv6) is pretty
+- expensive, so we are going to always enforce strict alignment in ARM.
+- If anybody suggest that newer ARMs are better, we can revisit this. */
+-/* #elif defined(__ARM_FEATURE_UNALIGNED) */ /* ARM, GNU C */
+-/* #undef BLOSC_STRICT_ALIGN */
+-#elif defined(_ARCH_PPC) || defined(__PPC__)
+-/* Modern PowerPC systems (like POWER8) should support unaligned access
+- quite efficiently. */
+-#undef BLOSC_STRICT_ALIGN
+-#endif
+ #endif
+
+ #if defined(__SSE2__)
diff --git a/dev-libs/c-blosc2/Manifest b/dev-libs/c-blosc2/Manifest
new file mode 100644
index 000000000000..48335995ab69
--- /dev/null
+++ b/dev-libs/c-blosc2/Manifest
@@ -0,0 +1,5 @@
+DIST c-blosc2-2.10.5.gh.tar.gz 3144174 BLAKE2B a680def405f2383636185ab1b71a42e042dd0c71025bfc898b48f148f4a6bf27cbd38f29512caae9ff5b58f70cb35289b609c84b132c0795915d1fe6c71b3feb SHA512 bc004fe2132a8e36963437d5279506c2f79dcbf11ee1a768954c20d1265d120dc85e67952b567e716105c5716922da8ee8cffd0a5d44bc67093a4cab3075e322
+DIST c-blosc2-2.13.2.gh.tar.gz 3152011 BLAKE2B 1bf9826e6eb1babacb0fe6f7f90c5ca6617cf1cf4df269af95c94e175d0a1cc2015905b9cf6a48107f0b10431feb646ec5de095e00dc29f3bab8d53564e7d4fe SHA512 441df73dca3fe210b0df68bfc3da037a05393f80044f5e2c816000a244ade4cf8e223b2fce2127c034c27a35f2742b05fe06c08861e93c02bc7598d5a4b8a917
+DIST c-blosc2-2.14.0.gh.tar.gz 3155739 BLAKE2B 2607ea3e842fce469f04d31b2d92503f270409e952968e7217ca87ebccd64b25aa38282743f7fdb3ba199f71acc246f7ef9fa0b24e33417e6bdf69a68aba62a6 SHA512 74f0df844c722248a1743fa6ce4b20ae526831f29cc66baf6f487e743c9fc65713e089ebab63ebcf43ac7b1201e82f9c7049dfb68cff17116de93f36d9482557
+DIST c-blosc2-2.14.1.gh.tar.gz 3155751 BLAKE2B 6967914214603af724ab523e91cef2c720018c75002402a5d3ac1bf064af27069ee12db80f7ac37ad5136a30a280b37b829fda7c03b87e2a027599d235ed6021 SHA512 952e2331be4747005e82cabdda310f96031dcfe54f9fe92f68ff2efb42aa8dfb3aa9d6c3ab9ce9f94ea52c34322047447db98d530a58eddc9fca6f62872fd272
+DIST c-blosc2-2.14.4.gh.tar.gz 3155712 BLAKE2B 1af67562150b7b0b87fa076114bab0cccfbd12417c13dfae4fbd40e15531ed54f3a315588ac81b15e137f0272ac6c610c48205608be0b9e98ce44218dd200a27 SHA512 4173c7b0cf4f0399a3d36c987d265aacf766f54dc871ca87ebd98d4ecd4fbd24d4b923ffb2d0b59bda359e1fbba29f088d78816d375904b1945e8c40c29dccce
diff --git a/dev-libs/c-blosc2/c-blosc2-2.10.5.ebuild b/dev-libs/c-blosc2/c-blosc2-2.10.5.ebuild
new file mode 100644
index 000000000000..be1da45c49b8
--- /dev/null
+++ b/dev-libs/c-blosc2/c-blosc2-2.10.5.ebuild
@@ -0,0 +1,67 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+DESCRIPTION="Blocking, shuffling and lossless compression library"
+HOMEPAGE="
+ https://www.blosc.org/c-blosc2/c-blosc2.html
+ https://github.com/Blosc/c-blosc2/
+"
+SRC_URI="
+ https://github.com/Blosc/c-blosc2/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="BSD"
+SLOT="0/1"
+KEYWORDS="amd64 arm arm64 ~hppa ~ia64 ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux"
+IUSE="test +zlib +zstd"
+REQUIRED_USE="test? ( zlib zstd )"
+RESTRICT="!test? ( test )"
+
+DEPEND="
+ >=app-arch/lz4-1.7.5:=
+ zlib? ( sys-libs/zlib:= )
+ zstd? ( app-arch/zstd:= )
+"
+RDEPEND="
+ ${DEPEND}
+"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-2.9.3-no-unaligned.patch
+)
+
+src_configure() {
+ # remove bundled libs (just in case)
+ rm -rf internal-complibs || die
+
+ local mycmakeargs=(
+ -DBUILD_STATIC=OFF
+ -DBUILD_TESTS=$(usex test)
+ -DBUILD_BENCHMARKS=OFF
+ -DBUILD_EXAMPLES=OFF
+ -DBUILD_FUZZERS=OFF
+ -DDEACTIVATE_ZLIB=$(usex !zlib)
+ -DDEACTIVATE_ZSTD=$(usex !zstd)
+ -DPREFER_EXTERNAL_LZ4=ON
+ -DPREFER_EXTERNAL_ZLIB=ON
+ -DPREFER_EXTERNAL_ZSTD=ON
+
+ # force regular zlib, at least for the time being
+ -DCMAKE_DISABLE_FIND_PACKAGE_ZLIB_NG=ON
+
+ # upstream overrides CMAKE_C_FLAGS, preventing ${CFLAGS} defaults
+ # from applying, https://github.com/Blosc/c-blosc2/issues/433
+ -DCMAKE_C_FLAGS="${CFLAGS}"
+ )
+ cmake_src_configure
+}
+
+src_test() {
+ # Tests fail in parallel, https://github.com/Blosc/c-blosc2/issues/432
+ MAKEOPTS=-j1 cmake_src_test
+}
diff --git a/dev-libs/c-blosc2/c-blosc2-2.13.2.ebuild b/dev-libs/c-blosc2/c-blosc2-2.13.2.ebuild
new file mode 100644
index 000000000000..1da262c2e9ea
--- /dev/null
+++ b/dev-libs/c-blosc2/c-blosc2-2.13.2.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="Blocking, shuffling and lossless compression library"
+HOMEPAGE="
+ https://www.blosc.org/c-blosc2/c-blosc2.html
+ https://github.com/Blosc/c-blosc2/
+"
+SRC_URI="
+ https://github.com/Blosc/c-blosc2/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="BSD"
+SLOT="0/1"
+KEYWORDS="amd64 ~arm arm64 ~hppa ~ia64 ~loong ~ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux"
+IUSE="test +zlib +zstd"
+REQUIRED_USE="test? ( zlib zstd )"
+RESTRICT="!test? ( test )"
+
+DEPEND="
+ >=app-arch/lz4-1.7.5:=
+ zlib? ( sys-libs/zlib:= )
+ zstd? ( app-arch/zstd:= )
+"
+RDEPEND="
+ ${DEPEND}
+"
+
+src_configure() {
+ # remove bundled libs (just in case)
+ rm -rf internal-complibs || die
+
+ local mycmakeargs=(
+ -DBUILD_STATIC=OFF
+ -DBUILD_TESTS=$(usex test)
+ -DBUILD_BENCHMARKS=OFF
+ -DBUILD_EXAMPLES=OFF
+ -DBUILD_FUZZERS=OFF
+ -DDEACTIVATE_ZLIB=$(usex !zlib)
+ -DDEACTIVATE_ZSTD=$(usex !zstd)
+ -DPREFER_EXTERNAL_LZ4=ON
+ -DPREFER_EXTERNAL_ZLIB=ON
+ -DPREFER_EXTERNAL_ZSTD=ON
+
+ # force regular zlib, at least for the time being
+ -DCMAKE_DISABLE_FIND_PACKAGE_ZLIB_NG=ON
+
+ # upstream overrides CMAKE_C_FLAGS, preventing ${CFLAGS} defaults
+ # from applying, https://github.com/Blosc/c-blosc2/issues/433
+ -DCMAKE_C_FLAGS="${CFLAGS}"
+ )
+ cmake_src_configure
+}
+
+src_test() {
+ # Tests fail in parallel, https://github.com/Blosc/c-blosc2/issues/432
+ MAKEOPTS=-j1 cmake_src_test
+}
diff --git a/dev-libs/c-blosc2/c-blosc2-2.14.0.ebuild b/dev-libs/c-blosc2/c-blosc2-2.14.0.ebuild
new file mode 100644
index 000000000000..83ec7fc645ac
--- /dev/null
+++ b/dev-libs/c-blosc2/c-blosc2-2.14.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="Blocking, shuffling and lossless compression library"
+HOMEPAGE="
+ https://www.blosc.org/c-blosc2/c-blosc2.html
+ https://github.com/Blosc/c-blosc2/
+"
+SRC_URI="
+ https://github.com/Blosc/c-blosc2/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="BSD"
+SLOT="0/1"
+KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux"
+IUSE="test +zlib +zstd"
+REQUIRED_USE="test? ( zlib zstd )"
+RESTRICT="!test? ( test )"
+
+DEPEND="
+ >=app-arch/lz4-1.7.5:=
+ zlib? ( sys-libs/zlib:= )
+ zstd? ( app-arch/zstd:= )
+"
+RDEPEND="
+ ${DEPEND}
+"
+
+src_configure() {
+ # remove bundled libs (just in case)
+ rm -rf internal-complibs || die
+
+ local mycmakeargs=(
+ -DBUILD_STATIC=OFF
+ -DBUILD_TESTS=$(usex test)
+ -DBUILD_BENCHMARKS=OFF
+ -DBUILD_EXAMPLES=OFF
+ -DBUILD_FUZZERS=OFF
+ -DDEACTIVATE_ZLIB=$(usex !zlib)
+ -DDEACTIVATE_ZSTD=$(usex !zstd)
+ -DPREFER_EXTERNAL_LZ4=ON
+ -DPREFER_EXTERNAL_ZLIB=ON
+ -DPREFER_EXTERNAL_ZSTD=ON
+
+ # force regular zlib, at least for the time being
+ -DCMAKE_DISABLE_FIND_PACKAGE_ZLIB_NG=ON
+
+ # upstream overrides CMAKE_C_FLAGS, preventing ${CFLAGS} defaults
+ # from applying, https://github.com/Blosc/c-blosc2/issues/433
+ -DCMAKE_C_FLAGS="${CFLAGS}"
+ )
+ cmake_src_configure
+}
+
+src_test() {
+ # Tests fail in parallel, https://github.com/Blosc/c-blosc2/issues/432
+ MAKEOPTS=-j1 cmake_src_test
+}
diff --git a/dev-libs/c-blosc2/c-blosc2-2.14.1.ebuild b/dev-libs/c-blosc2/c-blosc2-2.14.1.ebuild
new file mode 100644
index 000000000000..83ec7fc645ac
--- /dev/null
+++ b/dev-libs/c-blosc2/c-blosc2-2.14.1.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="Blocking, shuffling and lossless compression library"
+HOMEPAGE="
+ https://www.blosc.org/c-blosc2/c-blosc2.html
+ https://github.com/Blosc/c-blosc2/
+"
+SRC_URI="
+ https://github.com/Blosc/c-blosc2/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="BSD"
+SLOT="0/1"
+KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux"
+IUSE="test +zlib +zstd"
+REQUIRED_USE="test? ( zlib zstd )"
+RESTRICT="!test? ( test )"
+
+DEPEND="
+ >=app-arch/lz4-1.7.5:=
+ zlib? ( sys-libs/zlib:= )
+ zstd? ( app-arch/zstd:= )
+"
+RDEPEND="
+ ${DEPEND}
+"
+
+src_configure() {
+ # remove bundled libs (just in case)
+ rm -rf internal-complibs || die
+
+ local mycmakeargs=(
+ -DBUILD_STATIC=OFF
+ -DBUILD_TESTS=$(usex test)
+ -DBUILD_BENCHMARKS=OFF
+ -DBUILD_EXAMPLES=OFF
+ -DBUILD_FUZZERS=OFF
+ -DDEACTIVATE_ZLIB=$(usex !zlib)
+ -DDEACTIVATE_ZSTD=$(usex !zstd)
+ -DPREFER_EXTERNAL_LZ4=ON
+ -DPREFER_EXTERNAL_ZLIB=ON
+ -DPREFER_EXTERNAL_ZSTD=ON
+
+ # force regular zlib, at least for the time being
+ -DCMAKE_DISABLE_FIND_PACKAGE_ZLIB_NG=ON
+
+ # upstream overrides CMAKE_C_FLAGS, preventing ${CFLAGS} defaults
+ # from applying, https://github.com/Blosc/c-blosc2/issues/433
+ -DCMAKE_C_FLAGS="${CFLAGS}"
+ )
+ cmake_src_configure
+}
+
+src_test() {
+ # Tests fail in parallel, https://github.com/Blosc/c-blosc2/issues/432
+ MAKEOPTS=-j1 cmake_src_test
+}
diff --git a/dev-libs/c-blosc2/c-blosc2-2.14.4.ebuild b/dev-libs/c-blosc2/c-blosc2-2.14.4.ebuild
new file mode 100644
index 000000000000..21d8413c0e29
--- /dev/null
+++ b/dev-libs/c-blosc2/c-blosc2-2.14.4.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="Blocking, shuffling and lossless compression library"
+HOMEPAGE="
+ https://www.blosc.org/c-blosc2/c-blosc2.html
+ https://github.com/Blosc/c-blosc2/
+"
+SRC_URI="
+ https://github.com/Blosc/c-blosc2/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="BSD"
+SLOT="0/3"
+KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux"
+IUSE="test +zlib +zstd"
+REQUIRED_USE="test? ( zlib zstd )"
+RESTRICT="!test? ( test )"
+
+DEPEND="
+ >=app-arch/lz4-1.7.5:=
+ zlib? ( sys-libs/zlib:= )
+ zstd? ( app-arch/zstd:= )
+"
+RDEPEND="
+ ${DEPEND}
+"
+
+src_configure() {
+ # remove bundled libs (just in case)
+ rm -rf internal-complibs || die
+
+ local mycmakeargs=(
+ -DBUILD_STATIC=OFF
+ -DBUILD_TESTS=$(usex test)
+ -DBUILD_BENCHMARKS=OFF
+ -DBUILD_EXAMPLES=OFF
+ -DBUILD_FUZZERS=OFF
+ -DDEACTIVATE_ZLIB=$(usex !zlib)
+ -DDEACTIVATE_ZSTD=$(usex !zstd)
+ -DPREFER_EXTERNAL_LZ4=ON
+ -DPREFER_EXTERNAL_ZLIB=ON
+ -DPREFER_EXTERNAL_ZSTD=ON
+
+ # force regular zlib, at least for the time being
+ -DCMAKE_DISABLE_FIND_PACKAGE_ZLIB_NG=ON
+
+ # upstream overrides CMAKE_C_FLAGS, preventing ${CFLAGS} defaults
+ # from applying, https://github.com/Blosc/c-blosc2/issues/433
+ -DCMAKE_C_FLAGS="${CFLAGS}"
+ )
+ cmake_src_configure
+}
+
+src_test() {
+ # Tests fail in parallel, https://github.com/Blosc/c-blosc2/issues/432
+ MAKEOPTS=-j1 cmake_src_test
+}
diff --git a/dev-libs/c-blosc2/files/c-blosc2-2.9.3-no-unaligned.patch b/dev-libs/c-blosc2/files/c-blosc2-2.9.3-no-unaligned.patch
new file mode 100644
index 000000000000..5e6ca9c9ee9a
--- /dev/null
+++ b/dev-libs/c-blosc2/files/c-blosc2-2.9.3-no-unaligned.patch
@@ -0,0 +1,32 @@
+Causes SIGBUS on armv7 (at least in jiji's arm32-on-arm64 chroot) in Pandas test
+suite. Unaligned access is UB anyway.
+--- a/include/blosc2/blosc2-common.h
++++ b/include/blosc2/blosc2-common.h
+@@ -47,27 +47,6 @@
+ */
+ #if !defined(BLOSC_STRICT_ALIGN)
+ #define BLOSC_STRICT_ALIGN
+-#if defined(__i386__) || defined(__386) || defined (__amd64) /* GNU C, Sun Studio */
+-#undef BLOSC_STRICT_ALIGN
+-#elif defined(__i486__) || defined(__i586__) || defined(__i686__) /* GNU C */
+-#undef BLOSC_STRICT_ALIGN
+-#elif defined(_M_IX86) || defined(_M_X64) /* Intel, MSVC */
+-#undef BLOSC_STRICT_ALIGN
+-#elif defined(__386)
+-#undef BLOSC_STRICT_ALIGN
+-#elif defined(_X86_) /* MinGW */
+-#undef BLOSC_STRICT_ALIGN
+-#elif defined(__I86__) /* Digital Mars */
+-#undef BLOSC_STRICT_ALIGN
+-/* Modern ARM systems (like ARM64) should support unaligned access
+- quite efficiently. */
+-#elif defined(__ARM_FEATURE_UNALIGNED) /* ARM, GNU C */
+-#undef BLOSC_STRICT_ALIGN
+-#elif defined(_ARCH_PPC) || defined(__PPC__)
+-/* Modern PowerPC systems (like POWER8) should support unaligned access
+- quite efficiently. */
+-#undef BLOSC_STRICT_ALIGN
+-#endif
+ #endif
+
+ #if defined(__SSE2__)
diff --git a/dev-libs/c-blosc2/metadata.xml b/dev-libs/c-blosc2/metadata.xml
new file mode 100644
index 000000000000..56c6094796b7
--- /dev/null
+++ b/dev-libs/c-blosc2/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">Blosc/c-blosc2</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/cJSON/Manifest b/dev-libs/cJSON/Manifest
index 7b18c4778b8a..50cc2e280a86 100644
--- a/dev-libs/cJSON/Manifest
+++ b/dev-libs/cJSON/Manifest
@@ -1 +1 @@
-DIST cJSON-1.7.15.tar.gz 352278 BLAKE2B e0de3b8d56020853d56f5512e6e7216adafd238b6f69bbf6965b153bfe8ebfc23593dfa7cfb8543d8730d90820153d263c8af276c8e9588ba8a5ad76a50f8b72 SHA512 0b32a758c597fcc90c8ed0af493c9bccd611b9d4f9a03e87de3f7337bb9a28990b810befd44bc321a0cb42cbcd0b026d45761f9bab7bd798f920b7b6975fb124
+DIST cJSON-1.7.17.tar.gz 353748 BLAKE2B 11d47bebc4b6b3a8115234706f1b35af0f450725c2ee36aaf563a5d44e20a7bc0e2b83aaf15aeea3146bdad7467e96bf7d6edcd79ad4f3e5a9ffe40f002cf8d5 SHA512 4feebafa5225297fa3e6a7bf23f8d31b5c3e172f437078c5a07528522ad58ca2e9c72dd9e8611241d2b8321e9aa0a1a9af7743689d1c2001d1d9cb624aae6fa8
diff --git a/dev-libs/cJSON/cJSON-1.7.15.ebuild b/dev-libs/cJSON/cJSON-1.7.15.ebuild
deleted file mode 100644
index c9555ca553bf..000000000000
--- a/dev-libs/cJSON/cJSON-1.7.15.ebuild
+++ /dev/null
@@ -1,30 +0,0 @@
-# Copyright 2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit cmake
-
-DESCRIPTION=" Ultralightweight JSON parser in ANSI C"
-HOMEPAGE="https://github.com/DaveGamble/cJSON"
-SRC_URI="https://github.com/DaveGamble/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 arm ~arm64 x86"
-IUSE="test"
-RESTRICT="!test? ( test )"
-
-src_prepare() {
- cmake_src_prepare
-
- sed -i -e '/-Werror/d' CMakeLists.txt || die
-}
-
-src_configure() {
- local mycmakeargs=(
- -DENABLE_CJSON_TEST=$(usex test)
- )
-
- cmake_src_configure
-}
diff --git a/dev-libs/cJSON/cJSON-1.7.17.ebuild b/dev-libs/cJSON/cJSON-1.7.17.ebuild
new file mode 100644
index 000000000000..9dd067cc9acb
--- /dev/null
+++ b/dev-libs/cJSON/cJSON-1.7.17.ebuild
@@ -0,0 +1,30 @@
+# Copyright 2021-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit cmake
+
+DESCRIPTION="Ultralightweight JSON parser in ANSI C"
+HOMEPAGE="https://github.com/DaveGamble/cJSON"
+SRC_URI="https://github.com/DaveGamble/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv sparc x86"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+src_prepare() {
+ cmake_src_prepare
+
+ sed -i -e '/-Werror/d' CMakeLists.txt || die
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DENABLE_CJSON_TEST=$(usex test)
+ )
+
+ cmake_src_configure
+}
diff --git a/dev-libs/capnproto/Manifest b/dev-libs/capnproto/Manifest
index d4db69afc68d..84e5ab808603 100644
--- a/dev-libs/capnproto/Manifest
+++ b/dev-libs/capnproto/Manifest
@@ -1,3 +1,3 @@
-DIST capnproto-0.7.0.tar.gz 1983172 BLAKE2B d88b5f8e3278f8e3aceccdc459001b99328b0440812352dcb6b54bd11e18aa7fee6d337252841c86e9c3eb1afcdbd99884c965156d6cec37e3c0996c9ec1241f SHA512 a3ea278ded6a866759c0517d16b99bd38ffea1c163ce63a3604b752d8bdaafbc38a600de94afe12db35e7f7f06e29cc94c911dc2e0ecec6fe1185452df2a2bd3
-DIST capnproto-0.8.0.tar.gz 2121249 BLAKE2B 6d4ef9adb026a8ea8bc558bed1f8ce910e9c3b050ad0ac7ebd4be323cc1709a6b08956d4d2f39daee5c6485438f64695a028ea198aaae8a6c366316f10b1a64f SHA512 a3b87d47f4c160c3c72304539c3d2a6836488a50d1014c9f0eb95c112dc1e0f85b3158d26c248eff464205388ea61733c45ba10dc5441e5dd04064ba2c7970e6
+DIST capnproto-0.10.2.tar.gz 2279393 BLAKE2B d78442bc122bc976fb636dfde694e10414bf3468ead903fac7ba59cbd81a49ce94969954fdc90f92f7f58f0af80f2da1f70de9b461d99fc6ae9a9e7aa9cd0500 SHA512 079ab715ea19ac207f72bb4874ab6362c11dfb9128342ec937e3f4d27e4100530cf9e6a0275eaca1e45a1bb706b65179a526ea8cfceba93bb36cd6c4f1c0cf5b
+DIST capnproto-0.10.4.tar.gz 2280389 BLAKE2B 3a893b766302a96df71763613fa1624f6b7229b8926099d1d9c217f4a1817db16aa24d3bec7950e480da6b027bd9b6b0b5a4083e982e7bda8fc6594794fd379a SHA512 6179a202399f4391014827799c954e0b3ad811ab82ebd0addc01d8c7695b9c1a9c0a0c26b018cd392e3731e12b30cca58545459d1b3a140e86e34b75d7eacbc7
DIST capnproto-0.9.1.tar.gz 2238849 BLAKE2B f8de56c7f79b0ddad35f3e8fec7740510ca2328e4ddc633a71420901d3fc44df44d807c3965213dfc2535bbe03832c5164242d33cd0bff901d6f288fb62bab21 SHA512 bdc5960f26214139744d768ca4558b085e2d359c375a8849ca532a4c458a2daf0ee1a1f4d00745de5abf353aa1e4084a2d85e5523006f23f591f21fac2d847fd
diff --git a/dev-libs/capnproto/capnproto-0.10.2.ebuild b/dev-libs/capnproto/capnproto-0.10.2.ebuild
new file mode 100644
index 000000000000..2c126974f18a
--- /dev/null
+++ b/dev-libs/capnproto/capnproto-0.10.2.ebuild
@@ -0,0 +1,49 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake flag-o-matic
+
+DESCRIPTION="RPC/Serialization system with capabilities support"
+HOMEPAGE="https://capnproto.org"
+SRC_URI="https://github.com/sandstorm-io/capnproto/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}"/${P}/c++
+
+LICENSE="MIT"
+SLOT="0/091"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~x86"
+IUSE="+ssl test zlib"
+
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ ssl? ( dev-libs/openssl:0= )
+ zlib? ( sys-libs/zlib:0= )
+"
+DEPEND="${RDEPEND}
+ test? ( dev-cpp/gtest )
+"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-gcc-13.patch
+)
+
+src_configure() {
+ if use arm || use ppc || use mips || [[ ${CHOST} == *i486* ]] ; then
+ # append-libs won't work here, cmake doesn't respect it
+ # ... and ldflags gets missed once
+ append-flags -latomic
+ fi
+
+ local mycmakeargs=(
+ -DWITH_OPENSSL=$(usex ssl)
+ -DBUILD_TESTING=$(usex test)
+ $(cmake_use_find_package zlib ZLIB)
+ )
+ cmake_src_configure
+}
+
+src_test() {
+ cmake_build check
+}
diff --git a/dev-libs/capnproto/capnproto-0.10.4-r1.ebuild b/dev-libs/capnproto/capnproto-0.10.4-r1.ebuild
new file mode 100644
index 000000000000..ce80f057da1e
--- /dev/null
+++ b/dev-libs/capnproto/capnproto-0.10.4-r1.ebuild
@@ -0,0 +1,46 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake flag-o-matic
+
+DESCRIPTION="RPC/Serialization system with capabilities support"
+HOMEPAGE="https://capnproto.org"
+SRC_URI="https://github.com/sandstorm-io/capnproto/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}"/${P}/c++
+
+LICENSE="MIT"
+SLOT="0/${PV}"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86"
+IUSE="+ssl test zlib"
+
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ ssl? ( dev-libs/openssl:= )
+ zlib? ( sys-libs/zlib:= )
+"
+DEPEND="${RDEPEND}
+ test? ( dev-cpp/gtest )
+"
+
+src_configure() {
+ append-atomic-flags
+ if [[ ${LIBS} == *atomic* ]] ; then
+ # append-libs won't work here, cmake doesn't respect it
+ # ... and ldflags gets missed once
+ append-flags -latomic
+ fi
+
+ local mycmakeargs=(
+ -DWITH_OPENSSL=$(usex ssl)
+ -DBUILD_TESTING=$(usex test)
+ $(cmake_use_find_package zlib ZLIB)
+ )
+ cmake_src_configure
+}
+
+src_test() {
+ cmake_build check
+}
diff --git a/dev-libs/capnproto/capnproto-0.7.0.ebuild b/dev-libs/capnproto/capnproto-0.7.0.ebuild
deleted file mode 100644
index 9279dffeaef8..000000000000
--- a/dev-libs/capnproto/capnproto-0.7.0.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
-
-inherit autotools
-
-DESCRIPTION="RPC/Serialization system with capabilities support"
-HOMEPAGE="https://capnproto.org"
-SRC_URI="https://github.com/sandstorm-io/capnproto/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0/070"
-KEYWORDS="amd64 ~arm arm64 x86"
-IUSE="+ssl static-libs test"
-RESTRICT="!test? ( test )"
-
-RDEPEND="ssl? ( dev-libs/openssl:0= )"
-DEPEND="${RDEPEND} test? ( dev-cpp/gtest )"
-
-S=${WORKDIR}/${P}/c++
-
-src_prepare() {
- sed -e 's/ldconfig/true/' -i Makefile.am || die
- sed -e 's#gtest/lib/libgtest.la gtest/lib/libgtest_main.la#-lgtest -lgtest_main#' -i Makefile.am || die
- default
- eautoreconf
-}
-
-src_configure() {
- econf \
- $(use_enable static-libs static) \
- $(use_with ssl openssl)
-}
-
-src_install() {
- default
- find "${ED}" -name '*.la' -delete
-}
diff --git a/dev-libs/capnproto/capnproto-0.8.0.ebuild b/dev-libs/capnproto/capnproto-0.8.0.ebuild
deleted file mode 100644
index 396f01c7ef9a..000000000000
--- a/dev-libs/capnproto/capnproto-0.8.0.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 autotools
-
-DESCRIPTION="RPC/Serialization system with capabilities support"
-HOMEPAGE="https://capnproto.org"
-SRC_URI="https://github.com/sandstorm-io/capnproto/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0/080"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~x86"
-IUSE="+ssl static-libs test zlib"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- ssl? (
- dev-libs/openssl:0=
- )
- zlib? ( sys-libs/zlib:0= )
-"
-DEPEND="${RDEPEND} test? ( dev-cpp/gtest )"
-
-S=${WORKDIR}/${P}/c++
-
-src_prepare() {
- sed -e 's/ldconfig/true/' -i Makefile.am || die
- sed -e 's#gtest/lib/libgtest.la gtest/lib/libgtest_main.la#-lgtest -lgtest_main#' -i Makefile.am || die
- default
- eautoreconf
-}
-
-src_configure() {
- econf \
- $(use_enable static-libs static) \
- $(use_with ssl openssl) \
- $(use_with zlib)
-}
-
-src_install() {
- default
- find "${ED}" -name '*.la' -delete
-}
diff --git a/dev-libs/capnproto/capnproto-0.9.1.ebuild b/dev-libs/capnproto/capnproto-0.9.1.ebuild
index ff77790127b8..9f31c01fca12 100644
--- a/dev-libs/capnproto/capnproto-0.9.1.ebuild
+++ b/dev-libs/capnproto/capnproto-0.9.1.ebuild
@@ -3,7 +3,7 @@
EAPI=8
-inherit cmake
+inherit cmake flag-o-matic
DESCRIPTION="RPC/Serialization system with capabilities support"
HOMEPAGE="https://capnproto.org"
@@ -12,7 +12,7 @@ S="${WORKDIR}"/${P}/c++
LICENSE="MIT"
SLOT="0/091"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~x86"
+KEYWORDS="amd64 ~arm arm64 ppc ppc64 x86"
IUSE="+ssl test zlib"
RESTRICT="!test? ( test )"
@@ -26,6 +26,12 @@ DEPEND="${RDEPEND}
"
src_configure() {
+ if use arm || use ppc || use mips || [[ ${CHOST} == *i486* ]] ; then
+ # append-libs won't work here, cmake doesn't respect it
+ # ... and ldflags gets missed once
+ append-flags -latomic
+ fi
+
local mycmakeargs=(
-DWITH_OPENSSL=$(usex ssl)
-DBUILD_TESTING=$(usex test)
diff --git a/dev-libs/capnproto/files/capnproto-0.10.2-gcc-13.patch b/dev-libs/capnproto/files/capnproto-0.10.2-gcc-13.patch
new file mode 100644
index 000000000000..576e785437da
--- /dev/null
+++ b/dev-libs/capnproto/files/capnproto-0.10.2-gcc-13.patch
@@ -0,0 +1,21 @@
+https://github.com/capnproto/capnproto/commit/1ae1e9990c7603f0dc99e64470f96693f869b00a
+
+From 1ae1e9990c7603f0dc99e64470f96693f869b00a Mon Sep 17 00:00:00 2001
+From: Heiko Becker <mail@heiko-becker.de>
+Date: Wed, 25 Jan 2023 23:40:27 +0100
+Subject: [PATCH] Fix build with gcc 13 by including <stdint.h> (#1613)
+
+Like other versions before, gcc 13 moved some includes around and as
+a result <stdint.h> is no longer transitively included. Explicitly
+include it for uint8_t.
+--- a/src/kj/string-test.c++
++++ b/src/kj/string-test.c++
+@@ -24,6 +24,7 @@
+ #include <string>
+ #include "vector.h"
+ #include <locale.h>
++#include <stdint.h>
+
+ namespace kj {
+ namespace _ { // private
+
diff --git a/dev-libs/capstone/Manifest b/dev-libs/capstone/Manifest
index 90b32128accd..3c41eeac7749 100644
--- a/dev-libs/capstone/Manifest
+++ b/dev-libs/capstone/Manifest
@@ -1 +1,2 @@
DIST capstone-4.0.2.tar.gz 3439542 BLAKE2B 435729a8fef2dce6495635352101b3befe563c8404efdbb0dccabecbe2bded332221665bacdbcd9043dda72b652b6f29c0e1a548cefb8c64d5b6b9dc174ed3d9 SHA512 7f93534517307b737422a8825b66b2a1f3e1cca2049465d60ab12595940154aaf843ba40ed348fce58de58b990c19a0caef289060eb72898cb008a88c470970e
+DIST capstone-5.0.1.tar.gz 7654195 BLAKE2B 83f6681d4c9c748df00daf59f7b33637ab72eee661261c22acae40a6db2def70bb6b5339d731244fdbae6f1e1b0b5b22bb6f60c1390a1bebceb97b3f810aedb0 SHA512 350aba77ce2d96b5c25764913591ba80e4497177ae0a8b2c820c6755ee8310848fbfc54e7ccac27fafc2dbc6778118ad92c53d1b5cb601d4fa146dec7d7e11e5
diff --git a/dev-libs/capstone/capstone-4.0.2-r2.ebuild b/dev-libs/capstone/capstone-4.0.2-r2.ebuild
index 9ce37b266b5f..579ef58d9929 100644
--- a/dev-libs/capstone/capstone-4.0.2-r2.ebuild
+++ b/dev-libs/capstone/capstone-4.0.2-r2.ebuild
@@ -1,16 +1,16 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
DISTUTILS_OPTIONAL=1
-PYTHON_COMPAT=( python{3_7,3_8,3_9,3_10} )
+PYTHON_COMPAT=( python3_{9..11} )
inherit cmake distutils-r1 toolchain-funcs
DESCRIPTION="disassembly/disassembler framework + bindings"
-HOMEPAGE="http://www.capstone-engine.org/"
-SRC_URI="https://github.com/aquynh/${PN}/archive/${PV/_rc/-rc}.tar.gz -> ${P}.tar.gz"
+HOMEPAGE="https://www.capstone-engine.org/"
+SRC_URI="https://github.com/capstone-engine/capstone/archive/${PV/_rc/-rc}.tar.gz -> ${P}.tar.gz"
LICENSE="BSD"
SLOT="0/4" # libcapstone.so.4
diff --git a/dev-libs/capstone/capstone-5.0.1.ebuild b/dev-libs/capstone/capstone-5.0.1.ebuild
new file mode 100644
index 000000000000..2e024af16add
--- /dev/null
+++ b/dev-libs/capstone/capstone-5.0.1.ebuild
@@ -0,0 +1,92 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..12} )
+DISTUTILS_EXT=1
+DISTUTILS_OPTIONAL=1
+DISTUTILS_USE_PEP517=setuptools
+
+inherit cmake distutils-r1 toolchain-funcs
+
+DESCRIPTION="disassembly/disassembler framework + bindings"
+HOMEPAGE="https://www.capstone-engine.org/"
+
+if [[ ${PV} == 9999 ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/capstone-engine/capstone.git"
+ EGIT_REPO_BRANCH="next"
+else
+ MY_PV="${PV/_rc/-rc}"
+ SRC_URI="https://github.com/capstone-engine/capstone/archive/${MY_PV}.tar.gz -> ${P}.tar.gz"
+ S="${WORKDIR}/${PN}-${MY_PV}"
+ KEYWORDS="amd64 ~arm ~arm64 ~loong ~ppc ppc64 ~riscv x86"
+fi
+
+LICENSE="BSD"
+SLOT="0/5" # libcapstone.so.5
+
+IUSE="python static-libs test"
+RDEPEND="python? ( ${PYTHON_DEPS} )"
+DEPEND="${RDEPEND}
+ python? ( dev-python/setuptools[${PYTHON_USEDEP}] )
+"
+BDEPEND="${DISTUTILS_DEPS}"
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+
+distutils_enable_tests setup.py
+
+if [[ ${PV} == *_rc* ]]; then
+ # Upstream doesn't flag release candidates (bug 858350)
+ QA_PKGCONFIG_VERSION=""
+fi
+
+wrap_python() {
+ local phase=$1
+ shift
+
+ if use python; then
+ pushd bindings/python >/dev/null || die
+ distutils-r1_${phase} "$@"
+ popd >/dev/null || die
+ fi
+}
+
+src_prepare() {
+ tc-export RANLIB
+ cmake_src_prepare
+
+ wrap_python ${FUNCNAME}
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DCAPSTONE_BUILD_TESTS="$(usex test)"
+ )
+ cmake_src_configure
+
+ wrap_python ${FUNCNAME}
+}
+
+src_compile() {
+ cmake_src_compile
+
+ wrap_python ${FUNCNAME}
+}
+
+src_test() {
+ cmake_src_test
+
+ wrap_python ${FUNCNAME}
+}
+
+src_install() {
+ cmake_src_install
+
+ wrap_python ${FUNCNAME}
+
+ if ! use static-libs ; then
+ find "${ED}" -name '*.a' -delete || die
+ fi
+}
diff --git a/dev-libs/capstone/capstone-9999.ebuild b/dev-libs/capstone/capstone-9999.ebuild
new file mode 100644
index 000000000000..6d46a0133be7
--- /dev/null
+++ b/dev-libs/capstone/capstone-9999.ebuild
@@ -0,0 +1,99 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..12} )
+DISTUTILS_EXT=1
+DISTUTILS_OPTIONAL=1
+DISTUTILS_USE_PEP517=setuptools
+
+inherit cmake distutils-r1 toolchain-funcs
+
+DESCRIPTION="disassembly/disassembler framework + bindings"
+HOMEPAGE="https://www.capstone-engine.org/"
+
+if [[ ${PV} == 9999 ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/capstone-engine/capstone.git"
+ EGIT_REPO_BRANCH="next"
+else
+ MY_PV="${PV/_rc/-rc}"
+ SRC_URI="https://github.com/capstone-engine/capstone/archive/${MY_PV}.tar.gz -> ${P}.tar.gz"
+ S="${WORKDIR}/${PN}-${MY_PV}"
+ KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86"
+fi
+
+LICENSE="BSD"
+SLOT="0/5" # libcapstone.so.5
+
+IUSE="python static-libs test"
+RDEPEND="python? ( ${PYTHON_DEPS} )"
+DEPEND="${RDEPEND}
+ python? ( dev-python/setuptools[${PYTHON_USEDEP}] )
+"
+BDEPEND="${DISTUTILS_DEPS}"
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+
+PATCHES=(
+ # Currently "-Werror" is only added in the `next`-development branch, but
+ # not merged into 5.* releases. Eventually this patch may be needed in
+ # version 5 releas line. See bug #911481.
+ "${FILESDIR}/${P}-werror.patch"
+)
+
+distutils_enable_tests setup.py
+
+if [[ ${PV} == *_rc* ]]; then
+ # Upstream doesn't flag release candidates (bug 858350)
+ QA_PKGCONFIG_VERSION=""
+fi
+
+wrap_python() {
+ local phase=$1
+ shift
+
+ if use python; then
+ pushd bindings/python >/dev/null || die
+ distutils-r1_${phase} "$@"
+ popd >/dev/null || die
+ fi
+}
+
+src_prepare() {
+ tc-export RANLIB
+ cmake_src_prepare
+
+ wrap_python ${FUNCNAME}
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DCAPSTONE_BUILD_TESTS="$(usex test)"
+ )
+ cmake_src_configure
+
+ wrap_python ${FUNCNAME}
+}
+
+src_compile() {
+ cmake_src_compile
+
+ wrap_python ${FUNCNAME}
+}
+
+src_test() {
+ cmake_src_test
+
+ wrap_python ${FUNCNAME}
+}
+
+src_install() {
+ cmake_src_install
+
+ wrap_python ${FUNCNAME}
+
+ if ! use static-libs ; then
+ find "${ED}" -name '*.a' -delete || die
+ fi
+}
diff --git a/dev-libs/capstone/files/capstone-9999-werror.patch b/dev-libs/capstone/files/capstone-9999-werror.patch
new file mode 100644
index 000000000000..1ec58fa056a3
--- /dev/null
+++ b/dev-libs/capstone/files/capstone-9999-werror.patch
@@ -0,0 +1,13 @@
+Bug: https://bugs.gentoo.org/911481
+Upstream: https://github.com/capstone-engine/capstone/pull/2114
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -28,7 +28,7 @@ project(capstone
+ if (MSVC)
+ add_compile_options(/W1 /w14189)
+ else()
+- add_compile_options(-Werror -Wformat -Wmissing-braces -Wunused-function -Warray-bounds -Wunused-variable -Wparentheses -Wint-in-bool-context)
++ add_compile_options(-Wformat -Wmissing-braces -Wunused-function -Warray-bounds -Wunused-variable -Wparentheses -Wint-in-bool-context)
+ endif()
+
+
diff --git a/dev-libs/capstone/metadata.xml b/dev-libs/capstone/metadata.xml
index 34d3866444dc..6194c61cc422 100644
--- a/dev-libs/capstone/metadata.xml
+++ b/dev-libs/capstone/metadata.xml
@@ -1,8 +1,15 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <!-- maintainer-needed -->
+ <maintainer type="person" proxied="yes">
+ <email>mario.haustein@hrz.tu-chemnitz.de</email>
+ <name>Mario Haustein</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+ </maintainer>
<upstream>
- <remote-id type="github">aquynh/capstone</remote-id>
+ <remote-id type="github">capstone-engine/capstone</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-libs/castxml/Manifest b/dev-libs/castxml/Manifest
new file mode 100644
index 000000000000..0381ab60ceab
--- /dev/null
+++ b/dev-libs/castxml/Manifest
@@ -0,0 +1,5 @@
+DIST CastXML-0.6.5.tar.gz 121667 BLAKE2B 820a96dfb9f2763c00f22028ff4c232c15bf587f376aa11effd59d8d1014581d8dff4e8a01a6420a8e8e720e72f072da4ed5d0600171718d42e352d0439371eb SHA512 1f6759242fd6097fc97df34b1689ae6660e42d64717be90fa2d2f251847a465e26e17d6ff5318d82c47981005c826dad0fe65b3536b13d9192b9bccf61097f10
+DIST castxml-0.5.1.tar.gz 106918 BLAKE2B 9268f149ea5a511d24cbbd0c7faec5bff5eade5a511961d3bb120409691bf2b8aca7f2978e048a759419c097d9d97219a61a122bd37d4f835c1d86827bfb07e3 SHA512 1dff8f5cc6932a159e1132c0b283a28414ea6007c942cac4ae15a1c31789f5bd29efd65a6b5b63d7bc48b3d68c3550804f31bee2658e51082269fc5ecc15590e
+DIST castxml-0.6.1.tar.gz 119089 BLAKE2B 8e7ea8254debc05fb2d145a1945228607bb7f903dd7748d81f7647f16f0814d331f98f4be1ab430bbb509afdb18c998be998496ef2a8a2e563169747cae1c91c SHA512 0477209979679ca5cae05d99e3ae9c2850f19a39a310a376047570d9e14b37e32aa2ebdea41d000194343e6ec9a27f21b0fcdf633d8b74733e655d9de70bc2a5
+DIST castxml-0.6.2.tar.gz 119190 BLAKE2B fd3522a19898d96fbcbf7044d8d4c03ec7a5192df0ec28e04eecee753367aca76e53e7320f788877b449ca90ee4f441ade76e833ec6fdc1a73ad4f5dfa64c0e0 SHA512 eec6495b8ed837031b5d41cb09b8f70c497c865fbef47bc51b5f296fb9db852ded0bd13c45c3f3017d7d1eb5976557634e52369a24ddbf1f2cf9705c321bac3b
+DIST castxml-0.6.4.tar.gz 121583 BLAKE2B 9e4992306bc1380b92ff4d8fcfcf24934036aaf4ecbf2b4db4dfb942ce16152c385b64f96ec0559e6e175f06cf15da0635e61324f92ed6fd0cefc7c83326885d SHA512 3494b7a31a397b390c412a5f445e40d92b3f02840a3eaf9fd94cef2c10fdd52b3621b3990056f2d0619a7d09de448a6988160406d3286472a8db5322a9b1caeb
diff --git a/dev-libs/castxml/castxml-0.5.1-r1.ebuild b/dev-libs/castxml/castxml-0.5.1-r1.ebuild
new file mode 100644
index 000000000000..3c2b41567323
--- /dev/null
+++ b/dev-libs/castxml/castxml-0.5.1-r1.ebuild
@@ -0,0 +1,48 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+LLVM_MAX_SLOT=15
+inherit cmake llvm
+
+DESCRIPTION="C-family abstract syntax tree XML output tool"
+HOMEPAGE="https://github.com/CastXML/CastXML"
+SRC_URI="https://github.com/CastXML/CastXML/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/CastXML-${PV}"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~riscv ~x86"
+IUSE="+man test"
+RESTRICT="!test? ( test )"
+
+# See comment in llvm.eclass for why we don't depend on LLVM if we already
+# depend on Clang.
+RDEPEND="
+ <sys-devel/clang-$((LLVM_MAX_SLOT + 1)):=
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ ${RDEPEND}
+ man? ( dev-python/sphinx )
+"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-fix-tests.patch
+)
+
+llvm_check_deps() {
+ has_version "sys-devel/clang:${LLVM_SLOT}"
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DCastXML_INSTALL_DOC_DIR="share/doc/${PF}"
+ -DCastXML_INSTALL_MAN_DIR="share/man"
+ -DSPHINX_MAN="$(usex man)"
+ -DSPHINX_HTML=OFF
+ -DBUILD_TESTING="$(usex test)"
+ )
+ cmake_src_configure
+}
diff --git a/dev-libs/castxml/castxml-0.6.1.ebuild b/dev-libs/castxml/castxml-0.6.1.ebuild
new file mode 100644
index 000000000000..61e6bb8b1dff
--- /dev/null
+++ b/dev-libs/castxml/castxml-0.6.1.ebuild
@@ -0,0 +1,48 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+LLVM_MAX_SLOT=16
+inherit cmake llvm
+
+DESCRIPTION="C-family abstract syntax tree XML output tool"
+HOMEPAGE="https://github.com/CastXML/CastXML"
+SRC_URI="https://github.com/CastXML/CastXML/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/CastXML-${PV}"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~riscv ~x86"
+IUSE="+man test"
+RESTRICT="!test? ( test )"
+
+# See comment in llvm.eclass for why we don't depend on LLVM if we already
+# depend on Clang.
+RDEPEND="
+ <sys-devel/clang-$((LLVM_MAX_SLOT + 1)):=
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ ${RDEPEND}
+ man? ( dev-python/sphinx )
+"
+
+PATCHES=(
+# "${FILESDIR}"/${PN}-fix-tests.patch
+)
+
+llvm_check_deps() {
+ has_version "sys-devel/clang:${LLVM_SLOT}"
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DCastXML_INSTALL_DOC_DIR="share/doc/${PF}"
+ -DCastXML_INSTALL_MAN_DIR="share/man"
+ -DSPHINX_MAN="$(usex man)"
+ -DSPHINX_HTML=OFF
+ -DBUILD_TESTING="$(usex test)"
+ )
+ cmake_src_configure
+}
diff --git a/dev-libs/castxml/castxml-0.6.2.ebuild b/dev-libs/castxml/castxml-0.6.2.ebuild
new file mode 100644
index 000000000000..167ac162e324
--- /dev/null
+++ b/dev-libs/castxml/castxml-0.6.2.ebuild
@@ -0,0 +1,64 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+LLVM_MAX_SLOT=17
+inherit cmake llvm
+
+DESCRIPTION="C-family abstract syntax tree XML output tool"
+HOMEPAGE="https://github.com/CastXML/CastXML"
+SRC_URI="https://github.com/CastXML/CastXML/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/CastXML-${PV}"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~riscv ~x86"
+IUSE="+man test"
+RESTRICT="!test? ( test )"
+
+# See comment in llvm.eclass for why we don't depend on LLVM if we already
+# depend on Clang.
+RDEPEND="
+ <sys-devel/clang-$((LLVM_MAX_SLOT + 1)):=
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ ${RDEPEND}
+ man? ( dev-python/sphinx )
+"
+
+PATCHES=(
+# "${FILESDIR}"/${PN}-fix-tests.patch
+)
+
+llvm_check_deps() {
+ has_version "sys-devel/clang:${LLVM_SLOT}"
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DCastXML_INSTALL_DOC_DIR="share/doc/${PF}"
+ -DCastXML_INSTALL_MAN_DIR="share/man"
+ -DSPHINX_MAN="$(usex man)"
+ -DSPHINX_HTML=OFF
+ -DBUILD_TESTING="$(usex test)"
+ )
+ cmake_src_configure
+}
+
+src_test() {
+ local CMAKE_SKIP_TESTS=(
+ # Regex doesn't match the full build path
+ cmd.input-missing
+ cmd.rsp-missing
+
+ # Gets confused by extra #defines we set for hardening etc (bug #891813)
+ cmd.cc-gnu-src-cxx-E
+ cmd.cc-gnu-src-cxx-cmd
+ cmd.cc-gnu-c-src-c-E
+ cmd.cc-gnu-c-src-c-cmd
+ )
+
+ cmake_src_test
+}
diff --git a/dev-libs/castxml/castxml-0.6.4.ebuild b/dev-libs/castxml/castxml-0.6.4.ebuild
new file mode 100644
index 000000000000..415f275dcc3f
--- /dev/null
+++ b/dev-libs/castxml/castxml-0.6.4.ebuild
@@ -0,0 +1,64 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+LLVM_MAX_SLOT=17
+inherit cmake llvm
+
+DESCRIPTION="C-family abstract syntax tree XML output tool"
+HOMEPAGE="https://github.com/CastXML/CastXML"
+SRC_URI="https://github.com/CastXML/CastXML/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/CastXML-${PV}"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~riscv ~x86"
+IUSE="+man test"
+RESTRICT="!test? ( test )"
+
+# See comment in llvm.eclass for why we don't depend on LLVM if we already
+# depend on Clang.
+RDEPEND="
+ <sys-devel/clang-$((LLVM_MAX_SLOT + 1)):=
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ ${RDEPEND}
+ man? ( dev-python/sphinx )
+"
+
+PATCHES=(
+# "${FILESDIR}"/${PN}-fix-tests.patch
+)
+
+llvm_check_deps() {
+ has_version "sys-devel/clang:${LLVM_SLOT}"
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DCastXML_INSTALL_DOC_DIR="share/doc/${PF}"
+ -DCastXML_INSTALL_MAN_DIR="share/man"
+ -DSPHINX_MAN="$(usex man)"
+ -DSPHINX_HTML=OFF
+ -DBUILD_TESTING="$(usex test)"
+ )
+ cmake_src_configure
+}
+
+src_test() {
+ local CMAKE_SKIP_TESTS=(
+ # Regex doesn't match the full build path
+ cmd.input-missing
+ cmd.rsp-missing
+
+ # Gets confused by extra #defines we set for hardening etc (bug #891813)
+ cmd.cc-gnu-src-cxx-E
+ cmd.cc-gnu-src-cxx-cmd
+ cmd.cc-gnu-c-src-c-E
+ cmd.cc-gnu-c-src-c-cmd
+ )
+
+ cmake_src_test
+}
diff --git a/dev-libs/castxml/castxml-0.6.5.ebuild b/dev-libs/castxml/castxml-0.6.5.ebuild
new file mode 100644
index 000000000000..894410252a94
--- /dev/null
+++ b/dev-libs/castxml/castxml-0.6.5.ebuild
@@ -0,0 +1,62 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+LLVM_COMPAT=( {17..19} )
+
+inherit cmake llvm-r1
+
+MY_P=CastXML-${PV}
+DESCRIPTION="C-family abstract syntax tree XML output tool"
+HOMEPAGE="https://github.com/CastXML/CastXML"
+SRC_URI="
+ https://github.com/CastXML/CastXML/archive/v${PV}.tar.gz
+ -> ${MY_P}.tar.gz
+"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~riscv ~x86"
+IUSE="+man test"
+RESTRICT="!test? ( test )"
+
+DEPEND="
+ $(llvm_gen_dep '
+ sys-devel/clang:${LLVM_SLOT}=
+ ')
+"
+RDEPEND="
+ ${DEPEND}
+"
+BDEPEND="
+ man? ( dev-python/sphinx )
+"
+
+src_configure() {
+ local mycmakeargs=(
+ -DCastXML_INSTALL_DOC_DIR="share/doc/${PF}"
+ -DCastXML_INSTALL_MAN_DIR="share/man"
+ -DSPHINX_MAN="$(usex man)"
+ -DSPHINX_HTML=OFF
+ -DBUILD_TESTING="$(usex test)"
+ )
+ cmake_src_configure
+}
+
+src_test() {
+ local CMAKE_SKIP_TESTS=(
+ # Regex doesn't match the full build path
+ cmd.input-missing
+ cmd.rsp-missing
+
+ # Gets confused by extra #defines we set for hardening etc (bug #891813)
+ cmd.cc-gnu-src-cxx-E
+ cmd.cc-gnu-src-cxx-cmd
+ cmd.cc-gnu-c-src-c-E
+ cmd.cc-gnu-c-src-c-cmd
+ )
+
+ cmake_src_test
+}
diff --git a/dev-libs/castxml/files/castxml-fix-tests.patch b/dev-libs/castxml/files/castxml-fix-tests.patch
new file mode 100644
index 000000000000..a48cf4fe5111
--- /dev/null
+++ b/dev-libs/castxml/files/castxml-fix-tests.patch
@@ -0,0 +1,14 @@
+diff --git a/test/expect/cmd.cc-msvc-c-src-c-cmd.stderr.txt b/test/expect/cmd.cc-msvc-c-src-c-cmd.stderr.txt
+index fb9ae02..33b3df9 100644
+--- a/test/expect/cmd.cc-msvc-c-src-c-cmd.stderr.txt
++++ b/test/expect/cmd.cc-msvc-c-src-c-cmd.stderr.txt
+@@ -1 +1 @@
+-"clang" .* "-[^i][^"]*" "[^-"][^"]*" "-isystem" "/some/include" "-isystem" "/some/other/include" "-[^i]
++"clang" .* "-[^i][^"]*" "[^-"][^"]*" "-isystem" "/some/include" "-isystem" "/some/other/include" "-([^i]|i[^s])
+diff --git a/test/expect/cmd.cc-msvc-src-cxx-cmd.stderr.txt b/test/expect/cmd.cc-msvc-src-cxx-cmd.stderr.txt
+index fb9ae02..33b3df9 100644
+--- a/test/expect/cmd.cc-msvc-src-cxx-cmd.stderr.txt
++++ b/test/expect/cmd.cc-msvc-src-cxx-cmd.stderr.txt
+@@ -1 +1 @@
+-"clang" .* "-[^i][^"]*" "[^-"][^"]*" "-isystem" "/some/include" "-isystem" "/some/other/include" "-[^i]
++"clang" .* "-[^i][^"]*" "[^-"][^"]*" "-isystem" "/some/include" "-isystem" "/some/other/include" "-([^i]|i[^s])
diff --git a/dev-libs/castxml/metadata.xml b/dev-libs/castxml/metadata.xml
new file mode 100644
index 000000000000..136fc3f53436
--- /dev/null
+++ b/dev-libs/castxml/metadata.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+
+<pkgmetadata>
+ <maintainer type="person">
+ <email>tomjbe@gentoo.org</email>
+ <name>Thomas Beierlein</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>radio@gentoo.org</email>
+ </maintainer>
+ <maintainer type="person">
+ <!-- mostly to take care of dev-python/pygccxml -->
+ <email>mgorny@gentoo.org</email>
+ <name>Michał Górny</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">CastXML/CastXML</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/cdk/Manifest b/dev-libs/cdk/Manifest
index a92c0a1809ae..3ad50fa1d50a 100644
--- a/dev-libs/cdk/Manifest
+++ b/dev-libs/cdk/Manifest
@@ -1,3 +1,4 @@
-DIST cdk-5.0-20160131.tgz 516298 BLAKE2B 5e899afea1f034a48e46fef073303d0069e14310194342094392da517fa47793a1ac3ac33774369842daa1966dc9a4ad7404046874bc9cae24ceaa98a3dd7c47 SHA512 f8f7fc5fec3c040cdbfc2a0d886e9d9d9d231e56ed69adae0b91e03243b5edd550c5435f973a93d4cf7ab723bd27b55712af75162c4bfd3ae28b3c16cd68f755
-DIST cdk-5.0-20210324.tgz 548203 BLAKE2B 7a944f347bf30a6bf602b9ac61fa547c7b4aef073db54272e4a8d2bd7d83093888f2ca9e5ee9c2d067777472d2abb87cca42b2912b0491b81472cfce086640b8 SHA512 72d62307824708858ca4fb3865d332cc81e987d7ef685011cf127c8f77cee3e19fe9dd6a35009d4416769cb00f04e937ebaec686c61ca0ba58655f522a175a59
-DIST cdk-5.0-20211216.tgz 552041 BLAKE2B ce82ac22d4ec2ed37079d3de52a4f93a4206e5228aa952a3e45294d260c1ffef7c363b2c290060cc909bb8ab4ae88cbedecf498db7bd0f13e2d2822d87d7e4fa SHA512 622e99681af8468aaf8638833d0821c743667fb9b41716fe16acb8e78e8a3d5ba4eb7aced0bc213697e120dcb6e96067d6b75d53531555c3e6d90e4961cb99aa
+DIST cdk-5.0-20230201.tgz 533972 BLAKE2B 8667583ea1401ab04dc43dbd93f8580ee898c351f52552889fb642f38ad85536f5fbcc6724659bff83a1f9adc1addf5632c39d9162b628efd341f45e94b2b823 SHA512 2b072dc5eba66bb043f56c5d558ddafb0d9281160107f901b5b4c262182946b7c55cf5b1bdf0d0536fd7db6d95fd6b3ddd9dd367fccc63bb0d95eb3c98da58fd
+DIST cdk-5.0-20230201.tgz.asc 729 BLAKE2B 9076836bb6fd8f89ad4c474b7fc2beb3fa9fd16a3c2d530ce34052af65231e2d77f3879d02ca031be6a7bdac6bba29f40bac3320fc513fc3ba5e617316184ed4 SHA512 85e80c49049da9cd335013e564fd15929a127b3fec24bdb50d153196b47f4092c353a7bd6a40211566a7f4d09701cc75d66f9b3b32fed50c6b728e17dc7a166a
+DIST cdk-5.0-20240331.tgz 538287 BLAKE2B 0d4e3b8d04056aa658e94a29a836cdc4f82c2281783c11eb74715724befe983954b14ae9aae4dd4e17e772d711becb798107e910234aba02fe626e004ef6f216 SHA512 dfd5a038ec839e7cfe8850d41bace4cf34b44cf7a52c60912838051a959ecd6b2077a29b1dc152425ce518f5c578236bfa4d6736eaa096727e08bd16785d4d34
+DIST cdk-5.0-20240331.tgz.asc 729 BLAKE2B 108697e54bbc335cb8aa8e3c4d29fdaffb2a3d8a05f9608f8f5e87ab0cd7ffae74ad9b70ef1dec10cda859e515a19de35b25dbed72dfd185aebab7f92a61153f SHA512 923ecf8ede1b799d6c91220d10f3f4721ac049ee9d0e1716751a4c607fd9e19c67745a202e1cef910821e2c68955733e22e7ef2e6624a9f03fd6fd8e165272b8
diff --git a/dev-libs/cdk/cdk-5.0.20160131-r1.ebuild b/dev-libs/cdk/cdk-5.0.20160131-r1.ebuild
deleted file mode 100644
index 637f6dcf8846..000000000000
--- a/dev-libs/cdk/cdk-5.0.20160131-r1.ebuild
+++ /dev/null
@@ -1,46 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit versionator
-
-MY_P="${PN}-$(replace_version_separator 2 -)"
-DESCRIPTION="A library of curses widgets"
-HOMEPAGE="https://dickey.his.com/cdk/cdk.html https://github.com/ThomasDickey/cdk-snapshots"
-SRC_URI="ftp://ftp.invisible-island.net/cdk/${MY_P}.tgz"
-
-LICENSE="BSD"
-SLOT="0/6" # subslot = soname version
-KEYWORDS="~alpha amd64 ~arm64 ~hppa ~ia64 ppc ppc64 ~s390 sparc x86 ~amd64-linux ~x86-linux ~x86-solaris"
-IUSE="examples static-libs unicode"
-
-DEPEND="sys-libs/ncurses:=[unicode(+)?]"
-RDEPEND="${DEPEND}"
-
-S=${WORKDIR}/${MY_P}
-
-PATCHES=( "${FILESDIR}"/${PN}-5.0.20120323-parallel-make.patch )
-
-src_configure() {
- econf \
- --with-libtool \
- --with-shared \
- --with-ncurses$(usex unicode "w" "")
-}
-
-src_install() {
- # parallel make installs duplicate libs
- emake -j1 \
- DESTDIR="${ED}" \
- DOCUMENT_DIR="${ED}/usr/share/doc/${PF}" install
-
- if use examples ; then
- for x in include c++ demos examples cli cli/utils cli/samples; do
- docinto $x
- find $x -maxdepth 1 -mindepth 1 -type f -print0 | xargs -0 dodoc
- done
- fi
-
- use static-libs || find "${ED}" \( -name '*.a' -or -name '*.la' \) -delete
-}
diff --git a/dev-libs/cdk/cdk-5.0.20210324-r2.ebuild b/dev-libs/cdk/cdk-5.0.20210324-r2.ebuild
deleted file mode 100644
index 716d6a145960..000000000000
--- a/dev-libs/cdk/cdk-5.0.20210324-r2.ebuild
+++ /dev/null
@@ -1,54 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-MY_P="${PN}-$(ver_rs 2 -)"
-
-DESCRIPTION="A library of curses widgets"
-HOMEPAGE="https://dickey.his.com/cdk/cdk.html https://github.com/ThomasDickey/cdk-snapshots"
-SRC_URI="ftp://ftp.invisible-island.net/cdk/${MY_P}.tgz"
-S="${WORKDIR}"/${MY_P}
-
-LICENSE="BSD"
-SLOT="0/6" # subslot = soname version
-KEYWORDS="~alpha amd64 ~arm64 ~hppa ~ia64 ppc ppc64 ~s390 sparc x86 ~amd64-linux ~x86-linux ~x86-solaris"
-IUSE="examples unicode"
-
-DEPEND="sys-libs/ncurses:=[unicode(+)?]"
-RDEPEND="${DEPEND}"
-BDEPEND="virtual/pkgconfig"
-
-PATCHES=( "${FILESDIR}"/${PN}-5.0.20120323-parallel-make.patch )
-
-src_configure() {
- if [[ ${CHOST} == *-*-darwin* ]] ; then
- export ac_cv_prog_LIBTOOL=glibtool
- fi
-
- # --with-libtool dropped for now because of broken Makefile
- # bug #790773
- econf \
- --disable-rpath-hack \
- --with-shared \
- --with-pkg-config \
- --with-ncurses$(usex unicode "w" "")
-}
-
-src_install() {
- # parallel make installs duplicate libs
- emake -j1 \
- DESTDIR="${D}" \
- DOCUMENT_DIR="${ED}/usr/share/doc/${PF}" \
- install
-
- if use examples ; then
- local x
- for x in include c++ demos examples cli cli/utils cli/samples ; do
- docinto ${x}
- find ${x} -maxdepth 1 -mindepth 1 -type f -print0 | xargs -0 dodoc || die
- done
- fi
-
- find "${ED}" \( -name '*.a' -or -name '*.la' \) -delete || die
-}
diff --git a/dev-libs/cdk/cdk-5.0.20211216.ebuild b/dev-libs/cdk/cdk-5.0.20211216.ebuild
deleted file mode 100644
index 238113a9aaba..000000000000
--- a/dev-libs/cdk/cdk-5.0.20211216.ebuild
+++ /dev/null
@@ -1,52 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-MY_P="${PN}-$(ver_rs 2 -)"
-
-DESCRIPTION="A library of curses widgets"
-HOMEPAGE="https://dickey.his.com/cdk/cdk.html https://github.com/ThomasDickey/cdk-snapshots"
-SRC_URI="ftp://ftp.invisible-island.net/cdk/${MY_P}.tgz"
-S="${WORKDIR}"/${MY_P}
-
-LICENSE="BSD"
-SLOT="0/6" # subslot = soname version
-KEYWORDS="~alpha ~amd64 ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~x86-solaris"
-IUSE="examples unicode"
-
-DEPEND="sys-libs/ncurses:=[unicode(+)?]"
-RDEPEND="${DEPEND}"
-BDEPEND="virtual/pkgconfig"
-
-src_configure() {
- if [[ ${CHOST} == *-*-darwin* ]] ; then
- export ac_cv_prog_LIBTOOL=glibtool
- fi
-
- # --with-libtool dropped for now because of broken Makefile
- # bug #790773
- econf \
- --disable-rpath-hack \
- --with-shared \
- --with-pkg-config \
- --with-ncurses$(usex unicode "w" "")
-}
-
-src_install() {
- # parallel make installs duplicate libs
- emake -j1 \
- DESTDIR="${D}" \
- DOCUMENT_DIR="${ED}/usr/share/doc/${PF}" \
- install
-
- if use examples ; then
- local x
- for x in include c++ demos examples cli cli/utils cli/samples ; do
- docinto ${x}
- find ${x} -maxdepth 1 -mindepth 1 -type f -print0 | xargs -0 dodoc || die
- done
- fi
-
- find "${ED}" \( -name '*.a' -or -name '*.la' \) -delete || die
-}
diff --git a/dev-libs/cdk/cdk-5.0.20230201-r1.ebuild b/dev-libs/cdk/cdk-5.0.20230201-r1.ebuild
new file mode 100644
index 000000000000..3faa9c0c03f7
--- /dev/null
+++ b/dev-libs/cdk/cdk-5.0.20230201-r1.ebuild
@@ -0,0 +1,63 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+MY_P="${PN}-$(ver_rs 2 -)"
+
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/thomasdickey.asc
+inherit verify-sig
+
+DESCRIPTION="A library of curses widgets"
+HOMEPAGE="https://dickey.his.com/cdk/cdk.html https://github.com/ThomasDickey/cdk-snapshots"
+SRC_URI="https://invisible-island.net/archives/${PN}/${MY_P}.tgz"
+SRC_URI+=" verify-sig? ( https://invisible-island.net/archives/${PN}/${MY_P}.tgz.asc )"
+S="${WORKDIR}"/${MY_P}
+
+LICENSE="MIT"
+SLOT="0/6" # subslot = soname version
+KEYWORDS="~alpha ~amd64 ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux"
+IUSE="examples unicode"
+
+DEPEND="sys-libs/ncurses:=[unicode(+)?]"
+RDEPEND="${DEPEND}"
+BDEPEND="
+ virtual/pkgconfig
+ verify-sig? ( sec-keys/openpgp-keys-thomasdickey )
+"
+
+src_configure() {
+ if [[ ${CHOST} == *-*-darwin* ]] ; then
+ export ac_cv_prog_LIBTOOL=glibtool
+ fi
+
+ # --with-libtool dropped for now because of broken Makefile
+ # bug #790773
+ #
+ # Fedora and openSUSE at least both build with --enable-const. Without
+ # this, consumers end up broken like gphoto2 in bug #919279.
+ econf \
+ --disable-rpath-hack \
+ --enable-const \
+ --with-shared \
+ --with-pkg-config \
+ --with-ncurses$(usex unicode "w" "")
+}
+
+src_install() {
+ # parallel make installs duplicate libs
+ emake -j1 \
+ DESTDIR="${D}" \
+ DOCUMENT_DIR="${ED}/usr/share/doc/${PF}" \
+ install
+
+ if use examples ; then
+ local x
+ for x in include c++ demos examples cli cli/utils cli/samples ; do
+ docinto ${x}
+ find ${x} -maxdepth 1 -mindepth 1 -type f -print0 | xargs -0 dodoc || die
+ done
+ fi
+
+ find "${ED}" \( -name '*.a' -or -name '*.la' \) -delete || die
+}
diff --git a/dev-libs/cdk/cdk-5.0.20230201.ebuild b/dev-libs/cdk/cdk-5.0.20230201.ebuild
new file mode 100644
index 000000000000..211f5797ba83
--- /dev/null
+++ b/dev-libs/cdk/cdk-5.0.20230201.ebuild
@@ -0,0 +1,59 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+MY_P="${PN}-$(ver_rs 2 -)"
+
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/thomasdickey.asc
+inherit verify-sig
+
+DESCRIPTION="A library of curses widgets"
+HOMEPAGE="https://dickey.his.com/cdk/cdk.html https://github.com/ThomasDickey/cdk-snapshots"
+SRC_URI="https://invisible-island.net/archives/${PN}/${MY_P}.tgz"
+SRC_URI+=" verify-sig? ( https://invisible-island.net/archives/${PN}/${MY_P}.tgz.asc )"
+S="${WORKDIR}"/${MY_P}
+
+LICENSE="MIT"
+SLOT="0/6" # subslot = soname version
+KEYWORDS="~alpha amd64 ~arm64 ~hppa ~ia64 ppc ppc64 ~s390 sparc x86 ~amd64-linux ~x86-linux"
+IUSE="examples unicode"
+
+DEPEND="sys-libs/ncurses:=[unicode(+)?]"
+RDEPEND="${DEPEND}"
+BDEPEND="
+ virtual/pkgconfig
+ verify-sig? ( sec-keys/openpgp-keys-thomasdickey )
+"
+
+src_configure() {
+ if [[ ${CHOST} == *-*-darwin* ]] ; then
+ export ac_cv_prog_LIBTOOL=glibtool
+ fi
+
+ # --with-libtool dropped for now because of broken Makefile
+ # bug #790773
+ econf \
+ --disable-rpath-hack \
+ --with-shared \
+ --with-pkg-config \
+ --with-ncurses$(usex unicode "w" "")
+}
+
+src_install() {
+ # parallel make installs duplicate libs
+ emake -j1 \
+ DESTDIR="${D}" \
+ DOCUMENT_DIR="${ED}/usr/share/doc/${PF}" \
+ install
+
+ if use examples ; then
+ local x
+ for x in include c++ demos examples cli cli/utils cli/samples ; do
+ docinto ${x}
+ find ${x} -maxdepth 1 -mindepth 1 -type f -print0 | xargs -0 dodoc || die
+ done
+ fi
+
+ find "${ED}" \( -name '*.a' -or -name '*.la' \) -delete || die
+}
diff --git a/dev-libs/cdk/cdk-5.0.20240331.ebuild b/dev-libs/cdk/cdk-5.0.20240331.ebuild
new file mode 100644
index 000000000000..aa3072aaa56e
--- /dev/null
+++ b/dev-libs/cdk/cdk-5.0.20240331.ebuild
@@ -0,0 +1,63 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+MY_P="${PN}-$(ver_rs 2 -)"
+
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/thomasdickey.asc
+inherit verify-sig
+
+DESCRIPTION="A library of curses widgets"
+HOMEPAGE="https://dickey.his.com/cdk/cdk.html https://github.com/ThomasDickey/cdk-snapshots"
+SRC_URI="https://invisible-island.net/archives/${PN}/${MY_P}.tgz"
+SRC_URI+=" verify-sig? ( https://invisible-island.net/archives/${PN}/${MY_P}.tgz.asc )"
+S="${WORKDIR}"/${MY_P}
+
+LICENSE="MIT"
+SLOT="0/6" # subslot = soname version
+KEYWORDS="~alpha ~amd64 ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux"
+IUSE="examples unicode"
+
+DEPEND="sys-libs/ncurses:=[unicode(+)?]"
+RDEPEND="${DEPEND}"
+BDEPEND="
+ virtual/pkgconfig
+ verify-sig? ( sec-keys/openpgp-keys-thomasdickey )
+"
+
+src_configure() {
+ if [[ ${CHOST} == *-*-darwin* ]] ; then
+ export ac_cv_prog_LIBTOOL=glibtool
+ fi
+
+ # --with-libtool dropped for now because of broken Makefile
+ # bug #790773
+ #
+ # Fedora and openSUSE at least both build with --enable-const. Without
+ # this, consumers end up broken like gphoto2 in bug #919279.
+ econf \
+ --disable-rpath-hack \
+ --enable-const \
+ --with-shared \
+ --with-pkg-config \
+ --with-ncurses$(usex unicode "w" "")
+}
+
+src_install() {
+ # parallel make installs duplicate libs
+ emake -j1 \
+ DESTDIR="${D}" \
+ DOCUMENT_DIR="${ED}/usr/share/doc/${PF}" \
+ install
+
+ if use examples ; then
+ local x
+ for x in include c++ demos examples cli cli/utils cli/samples ; do
+ docinto ${x}
+ find ${x} -maxdepth 1 -mindepth 1 -type f -print0 | xargs -0 dodoc || die
+ done
+ fi
+
+ find "${ED}" \( -name '*.a' -or -name '*.la' \) -delete || die
+}
diff --git a/dev-libs/cdk/files/cdk-5.0.20120323-parallel-make.patch b/dev-libs/cdk/files/cdk-5.0.20120323-parallel-make.patch
deleted file mode 100644
index aa5a1dce04e7..000000000000
--- a/dev-libs/cdk/files/cdk-5.0.20120323-parallel-make.patch
+++ /dev/null
@@ -1,12 +0,0 @@
---- a/Makefile.in
-+++ b/Makefile.in
-@@ -269,7 +269,7 @@
-
- all sources :: $(AUTO_SRC)
-
--$(OBJECTS) : include/cdk_config.h
-+$(OBJECTS) : $(MY_HDR)
-
- #
- # Standard library directive.
-
diff --git a/dev-libs/cdk/metadata.xml b/dev-libs/cdk/metadata.xml
index 9dc14192b95c..f683d1054e8f 100644
--- a/dev-libs/cdk/metadata.xml
+++ b/dev-libs/cdk/metadata.xml
@@ -4,5 +4,6 @@
<!-- maintainer-needed -->
<upstream>
<changelog>https://dickey.his.com/cdk/CHANGES.html</changelog>
+ <remote-id type="github">ThomasDickey/cdk-snapshots</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-libs/cereal/Manifest b/dev-libs/cereal/Manifest
index ab0042cb5f58..c9a1df3ecd14 100644
--- a/dev-libs/cereal/Manifest
+++ b/dev-libs/cereal/Manifest
@@ -1,2 +1 @@
-DIST cereal-1.3.0-fix-doctest.patch 148684 BLAKE2B 6ab6263db5b787b3ae41b9c177df19554f17837d5bb496de887f1d2d2df28c280e038fe64f0986ce3a32cedb709249a9986f6869b6e21b7c3a4b27058739496f SHA512 6389bead42f2f8008e6296f3d5ff5fc7a94920972c774003080fd3ae24ea0fd8fa1c4ab940ab800ab6b3249db003e452fd98a9ed77e5ffbdb301311fc2972a6f
-DIST cereal-1.3.0.tar.gz 374585 BLAKE2B 67bcdf8715585d8913c6ae4ff1a20d77df0eb95816b37a77620a3f08000b6e911afbd295236a6cd0394d3242ae0a3b2619f6e168503724517c9c66bc20f1d07c SHA512 2bb640a222d4efe7c624c6ec3e755fecae00ef59e91c4db462e233546c5afe73c065ba1d16d9600f7cd3cc185593109148008b0b2b870208e2f1d6984fd40c72
+DIST cereal-1.3.2.tar.gz 385903 BLAKE2B a52e035f31766846dbea86ecb0071d73450bc481967221268717d46112eab1c6618d9cda627610aa1bf35308940d9408c37bd4ebb73c9ee9358334542d8ed810 SHA512 98d306d6292789129675f1c5c5aedcb90cfcc1029c4482893a8f9b23f3c9755e5ed4762d7a528f215345cae6392e87cd8d89467115b6f031b41c8673d6b4b109
diff --git a/dev-libs/cereal/cereal-1.3.0-r1.ebuild b/dev-libs/cereal/cereal-1.3.0-r1.ebuild
deleted file mode 100644
index c14fc8b906f6..000000000000
--- a/dev-libs/cereal/cereal-1.3.0-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=7
-
-inherit cmake
-
-DESCRIPTION="Header-only C++11 serialization library"
-HOMEPAGE="https://uscilab.github.io/cereal/"
-SRC_URI="https://github.com/USCiLab/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE="doc test"
-
-RESTRICT="!test? ( test )"
-
-DEPEND="test? ( dev-libs/boost )"
-
-src_prepare() {
- sed -i -e '/set(CMAKE_CXX_FLAGS "-Wall -g -Wextra -Wshadow -pedantic -Wold-style-cast ${CMAKE_CXX_FLAGS}")/d' CMakeLists.txt || die
-
- if ! use doc ; then
- sed -i -e '/add_subdirectory(doc/d' CMakeLists.txt || die
- fi
-
- cmake_src_prepare
-}
-
-src_configure() {
- local mycmakeargs=(
- -DJUST_INSTALL_CEREAL=$(usex !test)
- -DWITH_WERROR=OFF
- )
- cmake_src_configure
-}
diff --git a/dev-libs/cereal/cereal-1.3.0-r2.ebuild b/dev-libs/cereal/cereal-1.3.0-r2.ebuild
deleted file mode 100644
index 13631891d50a..000000000000
--- a/dev-libs/cereal/cereal-1.3.0-r2.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 cmake
-
-DESCRIPTION="Header-only C++11 serialization library"
-HOMEPAGE="https://uscilab.github.io/cereal/"
-SRC_URI="
- https://github.com/USCiLab/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz
- https://dev.gentoo.org/~expeditioneer/patches/${P}-fix-doctest.patch"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE="+doc test"
-
-RESTRICT="!test? ( test )"
-
-DEPEND="test? ( dev-libs/boost )"
-
-PATCHES=( "${DISTDIR}/${P}-fix-doctest.patch" )
-
-src_prepare() {
- sed -i -e '/set(CMAKE_CXX_FLAGS "-Wall -g -Wextra -Wshadow -pedantic -Wold-style-cast ${CMAKE_CXX_FLAGS}")/d' CMakeLists.txt || die
-
- if ! use doc ; then
- sed -i -e '/add_subdirectory(doc/d' CMakeLists.txt || die
- fi
-
- cmake_src_prepare
-}
-
-src_configure() {
- local CMAKE_BUILD_TYPE="Release"
-
- local mycmakeargs=(
- -DJUST_INSTALL_CEREAL=$(usex !test)
- -DSKIP_PORTABILITY_TEST=ON
- -DWITH_WERROR=OFF
- )
- cmake_src_configure
-}
diff --git a/dev-libs/cereal/cereal-1.3.2-r2.ebuild b/dev-libs/cereal/cereal-1.3.2-r2.ebuild
new file mode 100644
index 000000000000..fc93b8a19e0d
--- /dev/null
+++ b/dev-libs/cereal/cereal-1.3.2-r2.ebuild
@@ -0,0 +1,51 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+DESCRIPTION="Header-only C++11 serialization library"
+HOMEPAGE="https://uscilab.github.io/cereal/"
+SRC_URI="https://github.com/USCiLab/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 ~arm arm64 ~loong ~ppc64 ~riscv x86"
+IUSE="doc test"
+RESTRICT="!test? ( test )"
+
+BDEPEND="doc? ( app-text/doxygen )"
+DEPEND="dev-libs/rapidjson"
+
+src_prepare() {
+ if ! use doc ; then
+ sed -i -e '/add_subdirectory(doc/d' CMakeLists.txt || die
+ fi
+
+ # remove bundled rapidjson
+ rm -r include/cereal/external/rapidjson || die 'could not remove bundled rapidjson'
+ sed -e '/rapidjson/s|cereal/external/||' \
+ -e 's/CEREAL_RAPIDJSON_NAMESPACE/rapidjson/g' \
+ -i include/cereal/archives/json.hpp || die
+
+ cmake_src_prepare
+}
+
+src_configure() {
+ # TODO: drop bundled doctest, rapidxml (bug #792444)
+
+ local mycmakeargs=(
+ -DBUILD_TESTS=$(usex test)
+
+ # Avoid Boost dependency
+ -DSKIP_PERFORMANCE_COMPARISON=ON
+
+ -DWITH_WERROR=OFF
+ )
+
+ # TODO: Enable if multilib?
+ use test && mycmakeargs+=( -DSKIP_PORTABILITY_TEST=ON )
+
+ cmake_src_configure
+}
diff --git a/dev-libs/cglm/Manifest b/dev-libs/cglm/Manifest
new file mode 100644
index 000000000000..90819dc8724b
--- /dev/null
+++ b/dev-libs/cglm/Manifest
@@ -0,0 +1,3 @@
+DIST cglm-0.9.2.tar.gz 672575 BLAKE2B 82f119f4eeeb2dadee1b18f41e10e4f47db02cbd9b4d6548fa0b47592973f571bf95294fbbcafaf17bf8b09ebe452f72a93a8882f15479fbce92db3d6e1f2b2e SHA512 d5de879b2510f534dbc82c88b6f4f324088468af7218a635aff08cc3327787f95b0dc896816b9610e5a319cd071bf2443923d3c1d426fd58509f39867d684e5f
+DIST cglm-0.9.3.tar.gz 688608 BLAKE2B f72468f320426d1c0a540c805bef741ccccacd86c061b7b07636ed0221b2acc59efa467c5c91470fb376abcfce68d4d2bceb6aa77fecfbca3acd6f6790d434c4 SHA512 0d773dec44e8246600a53e3c4b117d2eca7f2ebb5855bf113186d4a33a92fe5ccbb3c3a7c7a52a369bb7db37d157b3142af76b569f86cacefc5eb0ab269e9c9c
+DIST cglm-0.9.4.tar.gz 690840 BLAKE2B 407373eba01fc6867d5fa8ec418eff0f3636d919dfcedf686f29b149c0bc4c1ed8cce5b3c7a1847f9cfab35612f19709d25febad09aaa4ed9ea05e462a97d2a0 SHA512 cfa836d5100912866d0678babca51e0ca818c1424ac8320c49ee55e5f9091403947a0d7b5c633bb0fb5df594d2b4fb01c2f634cc20cbe6266db5f7879488b02f
diff --git a/dev-libs/cglm/cglm-0.9.2.ebuild b/dev-libs/cglm/cglm-0.9.2.ebuild
new file mode 100644
index 000000000000..4f9bb90c2e19
--- /dev/null
+++ b/dev-libs/cglm/cglm-0.9.2.ebuild
@@ -0,0 +1,40 @@
+# Copyright 2023-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DOCS_BUILDER="sphinx"
+DOCS_AUTODOC=1
+DOCS_DEPEND="dev-python/sphinx-rtd-theme"
+DOCS_DIR="${S}/docs/source"
+
+PYTHON_COMPAT=( python3_{9..11} )
+inherit python-any-r1 docs meson
+
+DESCRIPTION="OpenGL Mathematics (glm) for C"
+HOMEPAGE="https://github.com/recp/cglm"
+SRC_URI="https://github.com/recp/${PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~ppc64 ~x86"
+IUSE="test"
+
+RESTRICT="!test? ( test )"
+
+src_prepare() {
+ default
+ # DOCS_DEPEND needs DOCS_AUTODOC which needs the extension
+ sed -i -e "/^extensions/s/$/ 'sphinx.ext.autodoc',/" docs/source/conf.py || die
+}
+src_configure() {
+ local emesonargs=(
+ $(meson_use test build_tests)
+ )
+ meson_src_configure
+}
+
+src_compile() {
+ meson_src_compile
+ docs_compile
+}
diff --git a/dev-libs/cglm/cglm-0.9.3.ebuild b/dev-libs/cglm/cglm-0.9.3.ebuild
new file mode 100644
index 000000000000..4c21cab228fa
--- /dev/null
+++ b/dev-libs/cglm/cglm-0.9.3.ebuild
@@ -0,0 +1,40 @@
+# Copyright 2023-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DOCS_BUILDER="sphinx"
+DOCS_AUTODOC=1
+DOCS_DEPEND="dev-python/sphinx-rtd-theme"
+DOCS_DIR="${S}/docs/source"
+
+PYTHON_COMPAT=( python3_{9..12} )
+inherit python-any-r1 docs meson
+
+DESCRIPTION="OpenGL Mathematics (glm) for C"
+HOMEPAGE="https://github.com/recp/cglm"
+SRC_URI="https://github.com/recp/${PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~ppc64 ~x86"
+IUSE="test"
+
+RESTRICT="!test? ( test )"
+
+src_prepare() {
+ default
+ # DOCS_DEPEND needs DOCS_AUTODOC which needs the extension
+ sed -i -e "/^extensions/s/$/ 'sphinx.ext.autodoc',/" docs/source/conf.py || die
+}
+src_configure() {
+ local emesonargs=(
+ $(meson_use test build_tests)
+ )
+ meson_src_configure
+}
+
+src_compile() {
+ meson_src_compile
+ docs_compile
+}
diff --git a/dev-libs/cglm/cglm-0.9.4.ebuild b/dev-libs/cglm/cglm-0.9.4.ebuild
new file mode 100644
index 000000000000..4c21cab228fa
--- /dev/null
+++ b/dev-libs/cglm/cglm-0.9.4.ebuild
@@ -0,0 +1,40 @@
+# Copyright 2023-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DOCS_BUILDER="sphinx"
+DOCS_AUTODOC=1
+DOCS_DEPEND="dev-python/sphinx-rtd-theme"
+DOCS_DIR="${S}/docs/source"
+
+PYTHON_COMPAT=( python3_{9..12} )
+inherit python-any-r1 docs meson
+
+DESCRIPTION="OpenGL Mathematics (glm) for C"
+HOMEPAGE="https://github.com/recp/cglm"
+SRC_URI="https://github.com/recp/${PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~ppc64 ~x86"
+IUSE="test"
+
+RESTRICT="!test? ( test )"
+
+src_prepare() {
+ default
+ # DOCS_DEPEND needs DOCS_AUTODOC which needs the extension
+ sed -i -e "/^extensions/s/$/ 'sphinx.ext.autodoc',/" docs/source/conf.py || die
+}
+src_configure() {
+ local emesonargs=(
+ $(meson_use test build_tests)
+ )
+ meson_src_configure
+}
+
+src_compile() {
+ meson_src_compile
+ docs_compile
+}
diff --git a/dev-libs/cglm/metadata.xml b/dev-libs/cglm/metadata.xml
new file mode 100644
index 000000000000..43c3fb2ea750
--- /dev/null
+++ b/dev-libs/cglm/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>voyageur@gentoo.org</email>
+ <name>Bernard Cafarelli</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">recp/cglm</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/cgreen/cgreen-1.3.0.ebuild b/dev-libs/cgreen/cgreen-1.3.0.ebuild
index 1b1189420def..b4427d60ba65 100644
--- a/dev-libs/cgreen/cgreen-1.3.0.ebuild
+++ b/dev-libs/cgreen/cgreen-1.3.0.ebuild
@@ -1,4 +1,4 @@
-# Copyright 2020 Gentoo Authors
+# Copyright 2020-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -11,7 +11,7 @@ SRC_URI="https://github.com/cgreen-devs/cgreen/archive/${PV}.tar.gz -> ${P}.tar.
LICENSE="ISC"
SLOT="0"
-KEYWORDS="~amd64 ~x86"
+KEYWORDS="amd64 ~x86"
DEPEND="sys-libs/glibc:="
RDEPEND="${DEPEND}"
diff --git a/dev-libs/check/check-0.15.2-r1.ebuild b/dev-libs/check/check-0.15.2-r1.ebuild
index a96de0605c27..4d353c4293f3 100644
--- a/dev-libs/check/check-0.15.2-r1.ebuild
+++ b/dev-libs/check/check-0.15.2-r1.ebuild
@@ -1,9 +1,8 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
-CMAKE_ECLASS=cmake
inherit cmake-multilib
DESCRIPTION="A unit test framework for C"
@@ -12,7 +11,7 @@ SRC_URI="https://github.com/libcheck/check/archive/${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="LGPL-2.1+"
SLOT="0"
-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 ~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"
IUSE="doc subunit test"
# Tests seem to timeout on ppc* systems, #736661
@@ -23,7 +22,7 @@ RESTRICT="ppc? ( test )
RDEPEND="subunit? ( dev-python/subunit[${MULTILIB_USEDEP}] )"
DEPEND="${RDEPEND}
sys-apps/texinfo"
-BDEPEND="doc? ( app-doc/doxygen )"
+BDEPEND="doc? ( app-text/doxygen )"
PATCHES=(
"${FILESDIR}"/check-0.14.0-r2-disable-automagic-dep.patch
diff --git a/dev-libs/chmlib/chmlib-0.40-r1.ebuild b/dev-libs/chmlib/chmlib-0.40-r1.ebuild
deleted file mode 100644
index abdf79cf4f16..000000000000
--- a/dev-libs/chmlib/chmlib-0.40-r1.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
-
-inherit autotools out-of-source
-
-DESCRIPTION="Library for MS CHM (compressed html) file format"
-HOMEPAGE="http://www.jedrea.com/chmlib/"
-SRC_URI="http://www.jedrea.com/${PN}/${P}.tar.bz2"
-
-LICENSE="LGPL-2.1"
-SLOT="0"
-KEYWORDS="~alpha amd64 ~arm arm64 ~hppa ~ia64 ppc ppc64 ~riscv x86"
-IUSE="+examples static-libs"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-0.39-stdtypes.patch
- "${FILESDIR}"/${P}-headers.patch
-)
-
-src_prepare() {
- default
- # Required for CONFIG_SHELL != bash (bug #668408)
- eautoreconf
-}
-
-my_src_configure() {
- local myeconfargs=(
- $(use_enable examples)
- $(use_enable static-libs static)
- )
- econf "${myeconfargs[@]}"
-}
-
-my_src_install_all() {
- einstalldocs
- find "${ED}" -type f -name '*.la' -delete || die
-}
diff --git a/dev-libs/chmlib/chmlib-0.40-r2.ebuild b/dev-libs/chmlib/chmlib-0.40-r2.ebuild
new file mode 100644
index 000000000000..cdbdd764997e
--- /dev/null
+++ b/dev-libs/chmlib/chmlib-0.40-r2.ebuild
@@ -0,0 +1,40 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit autotools out-of-source
+
+DESCRIPTION="Library for MS CHM (compressed html) file format"
+HOMEPAGE="http://www.jedrea.com/chmlib/"
+SRC_URI="http://www.jedrea.com/${PN}/${P}.tar.bz2"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~alpha amd64 ~arm arm64 ~hppa ~ia64 ppc ppc64 ~riscv x86"
+IUSE="+examples static-libs"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-0.39-stdtypes.patch
+ "${FILESDIR}"/${P}-headers.patch
+ "${FILESDIR}"/${P}-clang16.patch
+)
+
+src_prepare() {
+ default
+ # Required for CONFIG_SHELL != bash (bug #668408)
+ eautoreconf
+}
+
+my_src_configure() {
+ local myeconfargs=(
+ $(use_enable examples)
+ $(use_enable static-libs static)
+ )
+ econf "${myeconfargs[@]}"
+}
+
+my_src_install_all() {
+ einstalldocs
+ find "${ED}" -type f -name '*.la' -delete || die
+}
diff --git a/dev-libs/chmlib/files/chmlib-0.40-clang16.patch b/dev-libs/chmlib/files/chmlib-0.40-clang16.patch
new file mode 100644
index 000000000000..eb66b91d5556
--- /dev/null
+++ b/dev-libs/chmlib/files/chmlib-0.40-clang16.patch
@@ -0,0 +1,24 @@
+https://bugs.gentoo.org/871177
+https://github.com/jedwing/CHMLib/pull/17
+
+From 5877959e3eb9a54e131608c52e2d6f4c89bc0189 Mon Sep 17 00:00:00 2001
+From: Florian Weimer <fweimer@redhat.com>
+Date: Wed, 19 Apr 2023 09:47:03 +0200
+Subject: [PATCH] Avoid implicit function declarations, for C99 compatibility
+
+Define _LARGEFILE64_SOURCE so that <unistd.h> defines pread64.
+
+This avoids build failures with future compilers which do not
+support implicit function declarations by default.
+--- a/src/chm_lib.c
++++ b/src/chm_lib.c
+@@ -48,6 +48,8 @@
+ * *
+ ***************************************************************************/
+
++#define _LARGEFILE64_SOURCE /* for pread64 */
++
+ #include "chm_lib.h"
+
+ #ifdef CHM_MT
+
diff --git a/dev-libs/cjose/Manifest b/dev-libs/cjose/Manifest
new file mode 100644
index 000000000000..4fa7b26db7a8
--- /dev/null
+++ b/dev-libs/cjose/Manifest
@@ -0,0 +1 @@
+DIST cjose-0.6.2.2.tar.gz 498461 BLAKE2B 4914019652f47ac12745cb3b8914f66cb41cb8da33f83735d866cac816dd8f6475d12fde4a6e3f58456c463cb7c6c6fdfeb4928c232f94e3fa6b1b4c8e5ef132 SHA512 71a087709816f0aac060a7c5f037068e981366b1809f6ee32e39eaded02ad8be061b0e2fa5093515a8acec10c7f4aca232281004426221b4b7e5edbd203eb49c
diff --git a/dev-libs/cjose/cjose-0.6.2.2.ebuild b/dev-libs/cjose/cjose-0.6.2.2.ebuild
new file mode 100644
index 000000000000..f211079aa3ad
--- /dev/null
+++ b/dev-libs/cjose/cjose-0.6.2.2.ebuild
@@ -0,0 +1,36 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools
+
+DESCRIPTION="C library implementing the Javascript Object Signing and Encryption (JOSE)"
+HOMEPAGE="https://github.com/OpenIDC/cjose"
+
+SRC_URI="https://github.com/OpenIDC/${PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="doc test"
+
+RESTRICT="!test? ( test )"
+
+RDEPEND=">=dev-libs/jansson-2.11:=
+ >=dev-libs/openssl-1.0.2u:="
+DEPEND="${RDEPEND}"
+BDEPEND="
+ virtual/pkgconfig
+ doc? ( >=app-text/doxygen-1.8 )
+ test? ( >=dev-libs/check-0.9.4 )"
+
+src_prepare() {
+ default
+ eautoreconf --force --install
+}
+
+src_install() {
+ default
+ find "${ED}" -type f -name '*.la' -delete || die
+}
diff --git a/dev-libs/cjose/metadata.xml b/dev-libs/cjose/metadata.xml
new file mode 100644
index 000000000000..307a3af57a82
--- /dev/null
+++ b/dev-libs/cjose/metadata.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>robbat2@gentoo.org</email>
+ </maintainer>
+ <maintainer type="project">
+ <email>infra@gentoo.org</email>
+ <name>Gentoo Infrastructure Team</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">OpenIDC/cjose</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/cl/cl-1.2.4-r1.ebuild b/dev-libs/cl/cl-1.2.4-r1.ebuild
deleted file mode 100644
index c2faafa84d9b..000000000000
--- a/dev-libs/cl/cl-1.2.4-r1.ebuild
+++ /dev/null
@@ -1,34 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit multilib
-
-DESCRIPTION="OpenCL bindings for Erlang"
-HOMEPAGE="https://github.com/tonyrog/cl"
-SRC_URI="https://github.com/tonyrog/cl/archive/${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 x86"
-
-RDEPEND="
- >=dev-lang/erlang-16
- dev-util/rebar
- virtual/opencl
-"
-DEPEND="${RDEPEND}"
-
-S=${WORKDIR}/${PN}-${P}
-
-src_compile() {
- rebar compile || die
-}
-
-src_install() {
- ERLANG_DIR="/usr/$(get_libdir)/erlang/lib"
- CL_DIR="${ERLANG_DIR}/${P}"
- insinto "${CL_DIR}"
- doins -r ebin src include c_src examples priv
-}
diff --git a/dev-libs/cl/cl-1.2.4-r2.ebuild b/dev-libs/cl/cl-1.2.4-r2.ebuild
new file mode 100644
index 000000000000..94c50104bc4a
--- /dev/null
+++ b/dev-libs/cl/cl-1.2.4-r2.ebuild
@@ -0,0 +1,32 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DESCRIPTION="OpenCL bindings for Erlang"
+HOMEPAGE="https://github.com/tonyrog/cl"
+SRC_URI="https://github.com/tonyrog/cl/archive/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 x86"
+
+RDEPEND="
+ >=dev-lang/erlang-16
+ dev-util/rebar:0
+ virtual/opencl
+"
+DEPEND="${RDEPEND}"
+
+S="${WORKDIR}"/${PN}-${P}
+
+src_compile() {
+ rebar compile || die
+}
+
+src_install() {
+ ERLANG_DIR="/usr/$(get_libdir)/erlang/lib"
+ CL_DIR="${ERLANG_DIR}/${P}"
+ insinto "${CL_DIR}"
+ doins -r ebin src include c_src examples priv
+}
diff --git a/dev-libs/clhpp/Manifest b/dev-libs/clhpp/Manifest
deleted file mode 100644
index 5542473a31a7..000000000000
--- a/dev-libs/clhpp/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST clhpp-2.0.15.tar.gz 99826 BLAKE2B de5f6cab05d21199ffea37bbbcc5d312a4b812b602ce091d8fa22cb615060ce08454de1341881792996dd5c06378657a297505ff25ac159d85b59995e924bca5 SHA512 d24c035425c8204099e5264e61939c568e85b64e94d5ed3c58fe9430f4516495a974080a684b742f5aea1351455a0755efccd14317c20cd34885880cf1d8133b
diff --git a/dev-libs/clhpp/clhpp-2.0.15.ebuild b/dev-libs/clhpp/clhpp-2.0.15.ebuild
deleted file mode 100644
index 43da0bfe3323..000000000000
--- a/dev-libs/clhpp/clhpp-2.0.15.ebuild
+++ /dev/null
@@ -1,28 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit cmake
-
-DESCRIPTION="Khronos OpenCL C++ bindings"
-HOMEPAGE="https://github.com/KhronosGroup/OpenCL-CLHPP/"
-SRC_URI="https://github.com/KhronosGroup/OpenCL-CLHPP/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="Khronos-CLHPP"
-SLOT="0"
-KEYWORDS="amd64 x86"
-
-DEPEND="virtual/opencl"
-RDEPEND="${DEPEND}"
-
-S="${WORKDIR}"/OpenCL-CLHPP-${PV}
-
-src_configure() {
- local mycmakeargs=(
- -DBUILD_DOCS=OFF
- -DBUILD_EXAMPLES=OFF
- -DBUILD_TESTS=OFF
- )
- cmake_src_configure
-}
diff --git a/dev-libs/clhpp/metadata.xml b/dev-libs/clhpp/metadata.xml
deleted file mode 100644
index db7a35b58748..000000000000
--- a/dev-libs/clhpp/metadata.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
-<maintainer type="project">
- <email>x11@gentoo.org</email>
- <name>X11</name>
-</maintainer>
-<maintainer type="person">
- <email>marecki@gentoo.org</email>
- <name>Marek Szuba</name>
-</maintainer>
-</pkgmetadata>
diff --git a/dev-libs/clipper/Manifest b/dev-libs/clipper/Manifest
deleted file mode 100644
index 1a844b9607da..000000000000
--- a/dev-libs/clipper/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST clipper-6.4.2.zip 2535706 BLAKE2B 755dcfd759888bda7114af784d9e684f36ce8f6e43dcadf07f5797e3723d392aab2ea9b80cb212b7eb3177bfb306ca20a797546cb2c382132887e62fa0dffd93 SHA512 ffc88818c44a38aa278d5010db6cfd505796f39664919f1e48c7fa9267563f62135868993e88f7246dcd688241d1172878e4a008a390648acb99738452e3e5dd
diff --git a/dev-libs/clipper/clipper-6.4.2.ebuild b/dev-libs/clipper/clipper-6.4.2.ebuild
deleted file mode 100644
index da55f29d7429..000000000000
--- a/dev-libs/clipper/clipper-6.4.2.ebuild
+++ /dev/null
@@ -1,33 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{6..9} )
-
-inherit cmake
-
-MY_PV="ver${PV}"
-MY_P="${PN}_${MY_PV}"
-
-DESCRIPTION="Polygon and line clipping and offsetting library (C++, C#, Delphi)"
-HOMEPAGE="http://www.angusj.com/delphi/clipper.php"
-SRC_URI="mirror://sourceforge/project/polyclipping/${MY_P}.zip -> ${P}.zip"
-
-LICENSE="Boost-1.0"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~x86"
-
-IUSE=""
-
-RDEPEND=""
-BDEPEND="app-arch/unzip"
-
-S="${WORKDIR}/cpp"
-
-src_configure() {
- local mycmakeargs=(
- -DBUILD_SHARED_LIBS=ON
- )
- cmake_src_configure
-}
diff --git a/dev-libs/clipper/metadata.xml b/dev-libs/clipper/metadata.xml
deleted file mode 100644
index e8c28d1b439f..000000000000
--- a/dev-libs/clipper/metadata.xml
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="project">
- <email>3dprint@gentoo.org</email>
- <name>Gentoo 3D Printer Project</name>
- </maintainer>
- <longdescription>
- The Clipper library performs line &amp; polygon clipping - intersection, union, difference &amp; exclusive-or,
- and line &amp; polygon offsetting. The library is based on Vatti's clipping algorithm.
- </longdescription>
- <upstream>
- <bugs-to>https://sourceforge.net/p/polyclipping/bugs/</bugs-to>
- <doc>http://www.angusj.com/delphi/clipper/documentation/Docs/Overview/_Body.htm</doc>
- <remote-id type="sourceforge">polyclipping</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/dev-libs/cloog/Manifest b/dev-libs/cloog/Manifest
deleted file mode 100644
index aef107388032..000000000000
--- a/dev-libs/cloog/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST cloog-0.20.0.tar.gz 512106 BLAKE2B ac5ce6b7bb6ad586fc614c02b7c2e7c17322e49a775e21b50fb9862e487b4278a2b1024a7269830b55be1ae3c4b4c70f3d411d6c86052483bda124bc9bc07b20 SHA512 2663bbce49c42436681750968823dbee9b3cfbe4c086f5b340d11e51d8c8f138d1a2ccfd1691ae4395b94c082ccc49c0d7e5a1475b29192d13ab3c0148a8c347
diff --git a/dev-libs/cloog/cloog-0.20.0.ebuild b/dev-libs/cloog/cloog-0.20.0.ebuild
deleted file mode 100644
index 590340afe675..000000000000
--- a/dev-libs/cloog/cloog-0.20.0.ebuild
+++ /dev/null
@@ -1,57 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-
-inherit autotools
-
-DESCRIPTION="A loop generator for scanning polyhedra"
-HOMEPAGE="http://www.bastoul.net/cloog/ https://github.com/periscop/cloog"
-
-if [[ ${PV} == 9999 ]] ; then
- inherit git-r3
- EGIT_REPO_URI="https://github.com/periscop/cloog"
-else
- SRC_URI="https://github.com/periscop/cloog/archive/${P}.tar.gz"
- S="${WORKDIR}"/cloog-${P}
- KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86"
-fi
-
-LICENSE="LGPL-2.1"
-SLOT="0/4"
-IUSE="static-libs"
-
-RDEPEND="
- dev-libs/gmp:=
- dev-libs/isl:=
-"
-DEPEND="${RDEPEND}"
-BDEPEND="virtual/pkgconfig"
-
-PATCHES=( "${FILESDIR}"/${PN}-0.20.0-notex.patch )
-
-DOCS=( README )
-
-src_prepare() {
- default
- AT_NO_RECURSIVE=yes eautoreconf -i
- # m4/ax_create_pkgconfig_info.m4 includes LDFLAGS
- # sed to avoid eautoreconf
- sed -i -e '/Libs:/s:@LDFLAGS@ ::' configure || die
-
- # Make sure we always use the system isl.
- rm -rf isl || die
-}
-
-src_configure() {
- ECONF_SOURCE="${S}" econf \
- --with-gmp=system \
- --with-isl=system \
- --with-osl=no \
- $(use_enable static-libs static)
-}
-
-# The default src_test() fails, so we'll just run these directly
-src_test() {
- emake -j1 check
-}
diff --git a/dev-libs/cloog/cloog-9999.ebuild b/dev-libs/cloog/cloog-9999.ebuild
deleted file mode 100644
index 590340afe675..000000000000
--- a/dev-libs/cloog/cloog-9999.ebuild
+++ /dev/null
@@ -1,57 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-
-inherit autotools
-
-DESCRIPTION="A loop generator for scanning polyhedra"
-HOMEPAGE="http://www.bastoul.net/cloog/ https://github.com/periscop/cloog"
-
-if [[ ${PV} == 9999 ]] ; then
- inherit git-r3
- EGIT_REPO_URI="https://github.com/periscop/cloog"
-else
- SRC_URI="https://github.com/periscop/cloog/archive/${P}.tar.gz"
- S="${WORKDIR}"/cloog-${P}
- KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86"
-fi
-
-LICENSE="LGPL-2.1"
-SLOT="0/4"
-IUSE="static-libs"
-
-RDEPEND="
- dev-libs/gmp:=
- dev-libs/isl:=
-"
-DEPEND="${RDEPEND}"
-BDEPEND="virtual/pkgconfig"
-
-PATCHES=( "${FILESDIR}"/${PN}-0.20.0-notex.patch )
-
-DOCS=( README )
-
-src_prepare() {
- default
- AT_NO_RECURSIVE=yes eautoreconf -i
- # m4/ax_create_pkgconfig_info.m4 includes LDFLAGS
- # sed to avoid eautoreconf
- sed -i -e '/Libs:/s:@LDFLAGS@ ::' configure || die
-
- # Make sure we always use the system isl.
- rm -rf isl || die
-}
-
-src_configure() {
- ECONF_SOURCE="${S}" econf \
- --with-gmp=system \
- --with-isl=system \
- --with-osl=no \
- $(use_enable static-libs static)
-}
-
-# The default src_test() fails, so we'll just run these directly
-src_test() {
- emake -j1 check
-}
diff --git a/dev-libs/cloog/files/cloog-0.20.0-notex.patch b/dev-libs/cloog/files/cloog-0.20.0-notex.patch
deleted file mode 100644
index 72c75a1820d4..000000000000
--- a/dev-libs/cloog/files/cloog-0.20.0-notex.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-diff --git a/Makefile.am b/Makefile.am
-index 9edba30..fcca42f 100644
---- a/Makefile.am
-+++ b/Makefile.am
-@@ -181,19 +181,6 @@ doc:
- @echo " *-----------------------------------------------*/"
- doxygen ./autoconf/Doxyfile
-
--#/*****************************************************************************
--# * Doc *
--# *****************************************************************************/
--
--if HAVE_TEXI2DVI
--pdf_DATA = doc/cloog.pdf
--dist_pdf_DATA = doc/cloog.pdf
--doc/cloog.pdf: doc/cloog.texi doc/gitversion.texi
-- $(TEXI2DVI) -I $(top_builddir)/doc --pdf $< -o $@
--endif
--
--doc/gitversion.texi: @GIT_INDEX@
-- echo '@set VERSION '`$(top_builddir)/genversion.sh`'' > $@
-
- #/*****************************************************************************
- # * Tests *
-diff --git a/configure.ac b/configure.ac
-index 88d346d..fec9b04 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -72,8 +72,6 @@ AC_CHECK_PROG(CD, cd)
- dnl Configure needs an empty install.sh file with this, i HATE that...
- AC_PROG_INSTALL
- AC_PROG_LIBTOOL
--AC_CHECK_PROG(TEXI2DVI, texi2dvi, texi2dvi, [])
--AM_CONDITIONAL(HAVE_TEXI2DVI, test -n "$TEXI2DVI")
-
- AX_CC_MAXOPT
- AC_SUBST(CFLAGS_WARN)
diff --git a/dev-libs/cloog/metadata.xml b/dev-libs/cloog/metadata.xml
deleted file mode 100644
index 115e9d64a669..000000000000
--- a/dev-libs/cloog/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-libs/collada-dom/collada-dom-2.5.0-r1.ebuild b/dev-libs/collada-dom/collada-dom-2.5.0-r1.ebuild
new file mode 100644
index 000000000000..f227b381ce14
--- /dev/null
+++ b/dev-libs/collada-dom/collada-dom-2.5.0-r1.ebuild
@@ -0,0 +1,35 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake flag-o-matic
+
+if [[ ${PV} == *9999 ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/rdiankov/collada-dom"
+else
+ SRC_URI="https://github.com/rdiankov/collada-dom/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="amd64 ~arm ~arm64 ~hppa ~ppc ppc64 x86"
+fi
+
+DESCRIPTION="COLLADA Document Object Model (DOM) C++ Library"
+HOMEPAGE="https://github.com/rdiankov/collada-dom"
+
+LICENSE="MIT"
+SLOT="0/25"
+
+RDEPEND="
+ dev-libs/boost:=
+ dev-libs/libxml2
+ dev-libs/libpcre[cxx]
+ sys-libs/zlib:=[minizip]"
+DEPEND="${RDEPEND}"
+BDEPEND="virtual/pkgconfig"
+
+src_configure() {
+ # bug 618960
+ append-cxxflags -std=c++14
+
+ cmake_src_configure
+}
diff --git a/dev-libs/collada-dom/collada-dom-2.5.0.ebuild b/dev-libs/collada-dom/collada-dom-2.5.0.ebuild
deleted file mode 100644
index f007edd29daf..000000000000
--- a/dev-libs/collada-dom/collada-dom-2.5.0.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
-
-inherit cmake-utils flag-o-matic
-
-if [[ ${PV} == *9999 ]]; then
- inherit git-r3
- EGIT_REPO_URI="https://github.com/rdiankov/collada-dom"
-else
- KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~x86"
- SRC_URI="https://github.com/rdiankov/collada-dom/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-fi
-
-DESCRIPTION="COLLADA Document Object Model (DOM) C++ Library"
-HOMEPAGE="https://github.com/rdiankov/collada-dom"
-
-LICENSE="MIT"
-SLOT="0/25"
-IUSE=""
-
-RDEPEND="
- dev-libs/boost:=
- sys-libs/zlib:=[minizip]
- dev-libs/libxml2
- dev-libs/libpcre[cxx]"
-DEPEND="${RDEPEND}
- virtual/pkgconfig"
-
-src_configure() {
- # bug 618960
- append-cxxflags -std=c++14
-
- cmake-utils_src_configure
-}
diff --git a/dev-libs/collada-dom/collada-dom-9999.ebuild b/dev-libs/collada-dom/collada-dom-9999.ebuild
deleted file mode 100644
index d16bb527ab16..000000000000
--- a/dev-libs/collada-dom/collada-dom-9999.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
-
-inherit cmake-utils flag-o-matic
-
-if [[ ${PV} == *9999 ]]; then
- inherit git-r3
- EGIT_REPO_URI="https://github.com/rdiankov/collada-dom"
-else
- KEYWORDS="~amd64 ~arm ~hppa ~ppc ~ppc64 ~x86"
- SRC_URI="https://github.com/rdiankov/collada-dom/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-fi
-
-DESCRIPTION="COLLADA Document Object Model (DOM) C++ Library"
-HOMEPAGE="https://github.com/rdiankov/collada-dom"
-
-LICENSE="MIT"
-SLOT="0/25"
-IUSE=""
-
-RDEPEND="
- dev-libs/boost:=
- sys-libs/zlib:=[minizip]
- dev-libs/libxml2:=
- dev-libs/libpcre:=[cxx]"
-DEPEND="${RDEPEND}
- virtual/pkgconfig"
-
-src_configure() {
- # bug 618960
- append-cxxflags -std=c++14
-
- cmake-utils_src_configure
-}
diff --git a/dev-libs/concurrencykit/Manifest b/dev-libs/concurrencykit/Manifest
index c4ba83f50e5e..f1b5cd703112 100644
--- a/dev-libs/concurrencykit/Manifest
+++ b/dev-libs/concurrencykit/Manifest
@@ -1 +1,2 @@
DIST concurrencykit-0.7.1.tar.gz 252802 BLAKE2B 907db3b244544a9c46db7432f2c3d07c20652882067157974ce54c71c27f21fdc87d41e068efc71f88392a94895e0de1a8f3ae90605b4267606cfa7d29c7dc35 SHA512 48768e7adf05b818f2951b246c90185071d6c3f874218349183d96b7887830f9505f9fa58576e9933862486e8543097df0ee667518009a3946d1edc19fc253f7
+DIST concurrencykit-0.7.2.tar.gz 257817 BLAKE2B e9b58c2e5fc7f39d03a3800117bc215f933cd5b542c293e07934597788e2d33e33cf6d02bbaa54d829b57e2dcaabcf79220398bef3a903a1d39c70bb5553ccb2 SHA512 c3a93a8bbdab2c81ccbfe8f38a17677b912bc157c231c960330cb130e93c35e3aab6b2fd1695d0ea28dbe3e12297851f1b96ef1ee21ca4e4c0065c91b83f51c3
diff --git a/dev-libs/concurrencykit/concurrencykit-0.7.1-r1.ebuild b/dev-libs/concurrencykit/concurrencykit-0.7.1-r1.ebuild
new file mode 100644
index 000000000000..de592f0bf47a
--- /dev/null
+++ b/dev-libs/concurrencykit/concurrencykit-0.7.1-r1.ebuild
@@ -0,0 +1,35 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit flag-o-matic toolchain-funcs
+
+MY_PN="ck"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="A library with concurrency related algorithms and data structures in C"
+HOMEPAGE="http://concurrencykit.org"
+SRC_URI="https://github.com/${PN}/${MY_PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/${MY_P}"
+
+LICENSE="Apache-2.0 BSD-2"
+SLOT="0"
+KEYWORDS="amd64 ~arm ~arm64 x86"
+
+# The 'libck.so' has a name collision.
+# See bug #616762 for more information.
+RDEPEND="!sys-cluster/charm"
+
+src_configure() {
+ # https://github.com/concurrencykit/ck/issues/200
+ append-cflags -fno-strict-aliasing
+
+ tc-export AR CC LD
+
+ local myeconfargs=(
+ "--disable-static"
+ )
+
+ GZIP="" econf ${myeconfargs[@]}
+}
diff --git a/dev-libs/concurrencykit/concurrencykit-0.7.1.ebuild b/dev-libs/concurrencykit/concurrencykit-0.7.1.ebuild
deleted file mode 100644
index 110318f4711d..000000000000
--- a/dev-libs/concurrencykit/concurrencykit-0.7.1.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
-
-inherit toolchain-funcs
-
-MY_PN="ck"
-MY_P="${MY_PN}-${PV}"
-
-DESCRIPTION="A library with concurrency related algorithms and data structures in C"
-HOMEPAGE="http://concurrencykit.org"
-SRC_URI="https://github.com/${PN}/${MY_PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
-S="${WORKDIR}/${MY_P}"
-
-LICENSE="Apache-2.0 BSD-2"
-SLOT="0"
-KEYWORDS="amd64 ~arm ~arm64 x86"
-
-# The 'libck.so' has a name collision.
-# See bug #616762 for more information.
-RDEPEND="!sys-cluster/charm"
-
-src_configure() {
- tc-export AR CC LD
-
- local myeconfargs=(
- "--disable-static"
- )
-
- GZIP="" econf ${myeconfargs[@]}
-}
diff --git a/dev-libs/concurrencykit/concurrencykit-0.7.2.ebuild b/dev-libs/concurrencykit/concurrencykit-0.7.2.ebuild
new file mode 100644
index 000000000000..aed9c0f482c0
--- /dev/null
+++ b/dev-libs/concurrencykit/concurrencykit-0.7.2.ebuild
@@ -0,0 +1,35 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit flag-o-matic toolchain-funcs
+
+MY_PN="ck"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="A library with concurrency related algorithms and data structures in C"
+HOMEPAGE="http://concurrencykit.org"
+SRC_URI="https://github.com/${PN}/${MY_PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/${MY_P}"
+
+LICENSE="Apache-2.0 BSD-2"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~x86"
+
+# The 'libck.so' has a name collision.
+# See bug #616762 for more information.
+RDEPEND="!sys-cluster/charm"
+
+src_configure() {
+ # https://github.com/concurrencykit/ck/issues/200
+ append-cflags -fno-strict-aliasing
+
+ tc-export AR CC LD
+
+ local myeconfargs=(
+ "--disable-static"
+ )
+
+ GZIP="" econf ${myeconfargs[@]}
+}
diff --git a/dev-libs/confuse/confuse-3.3-r1.ebuild b/dev-libs/confuse/confuse-3.3-r1.ebuild
new file mode 100644
index 000000000000..9d7232703654
--- /dev/null
+++ b/dev-libs/confuse/confuse-3.3-r1.ebuild
@@ -0,0 +1,56 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+inherit multilib-minimal flag-o-matic
+
+DESCRIPTION="a configuration file parser library"
+HOMEPAGE="https://github.com/libconfuse/libconfuse"
+SRC_URI="https://github.com/libconfuse/libconfuse/releases/download/v${PV}/${P}.tar.xz"
+
+LICENSE="ISC"
+SLOT="0/2.1.0"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv sparc x86 ~amd64-linux ~x86-linux ~ppc-macos"
+
+IUSE="nls static-libs"
+
+BDEPEND="
+ app-alternatives/lex
+ dev-build/libtool
+ virtual/pkgconfig
+ nls? ( sys-devel/gettext )
+"
+RDEPEND="
+ nls? ( virtual/libintl[${MULTILIB_USEDEP}] )
+"
+
+DOCS=( AUTHORS )
+
+src_prepare() {
+ default
+ multilib_copy_sources
+}
+
+multilib_src_configure() {
+ # https://github.com/libconfuse/libconfuse/pull/167
+ append-lfs-flags
+
+ # examples are normally compiled but not installed. They
+ # fail during a mingw crosscompile.
+ local ECONF_SOURCE=${BUILD_DIR}
+ econf \
+ --enable-shared \
+ --disable-examples \
+ $(use_enable nls) \
+ $(use_enable static-libs static)
+}
+
+multilib_src_install_all() {
+ doman doc/man/man3/*.3
+ dodoc -r doc/html
+
+ docinto examples
+ dodoc examples/*.{c,conf}
+
+ find "${D}" -name '*.la' -delete || die
+}
diff --git a/dev-libs/confuse/confuse-3.3-r2.ebuild b/dev-libs/confuse/confuse-3.3-r2.ebuild
new file mode 100644
index 000000000000..8d54f30350ec
--- /dev/null
+++ b/dev-libs/confuse/confuse-3.3-r2.ebuild
@@ -0,0 +1,62 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+inherit multilib-minimal flag-o-matic
+
+DESCRIPTION="a configuration file parser library"
+HOMEPAGE="https://github.com/libconfuse/libconfuse"
+SRC_URI="https://github.com/libconfuse/libconfuse/releases/download/v${PV}/${P}.tar.xz"
+
+LICENSE="ISC"
+SLOT="0/2.1.0"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv sparc x86 ~amd64-linux ~x86-linux ~ppc-macos"
+
+IUSE="nls static-libs"
+
+BDEPEND="
+ app-alternatives/lex
+ dev-build/libtool
+ virtual/pkgconfig
+ nls? ( sys-devel/gettext )
+"
+RDEPEND="
+ nls? ( virtual/libintl[${MULTILIB_USEDEP}] )
+"
+
+PATCHES=(
+ # Upstream commit to fix CVE-2022-40320:
+ # https://github.com/libconfuse/libconfuse/commit/d73777c2c3566fb2647727bb56d9a2295b81669b
+ "${FILESDIR}"/confuse-3.3-fix-CVE-2022-40320.patch
+)
+
+DOCS=( AUTHORS )
+
+src_prepare() {
+ default
+ multilib_copy_sources
+}
+
+multilib_src_configure() {
+ # https://github.com/libconfuse/libconfuse/pull/167
+ append-lfs-flags
+
+ # examples are normally compiled but not installed. They
+ # fail during a mingw crosscompile.
+ local ECONF_SOURCE=${BUILD_DIR}
+ econf \
+ --enable-shared \
+ --disable-examples \
+ $(use_enable nls) \
+ $(use_enable static-libs static)
+}
+
+multilib_src_install_all() {
+ doman doc/man/man3/*.3
+ dodoc -r doc/html
+
+ docinto examples
+ dodoc examples/*.{c,conf}
+
+ find "${D}" -name '*.la' -delete || die
+}
diff --git a/dev-libs/confuse/confuse-3.3.ebuild b/dev-libs/confuse/confuse-3.3.ebuild
index 1c901130ccd9..9d524b6a484b 100644
--- a/dev-libs/confuse/confuse-3.3.ebuild
+++ b/dev-libs/confuse/confuse-3.3.ebuild
@@ -1,22 +1,22 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
inherit multilib-minimal
DESCRIPTION="a configuration file parser library"
-HOMEPAGE="https://github.com/martinh/libconfuse"
-SRC_URI="https://github.com/martinh/libconfuse/releases/download/v${PV}/${P}.tar.xz"
+HOMEPAGE="https://github.com/libconfuse/libconfuse"
+SRC_URI="https://github.com/libconfuse/libconfuse/releases/download/v${PV}/${P}.tar.xz"
LICENSE="ISC"
SLOT="0/2.1.0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ppc ppc64 ~riscv sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x86-solaris"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv sparc x86 ~amd64-linux ~x86-linux ~ppc-macos"
IUSE="nls static-libs"
BDEPEND="
- sys-devel/flex
- sys-devel/libtool
+ app-alternatives/lex
+ dev-build/libtool
virtual/pkgconfig
nls? ( sys-devel/gettext )
"
diff --git a/dev-libs/confuse/files/confuse-3.3-fix-CVE-2022-40320.patch b/dev-libs/confuse/files/confuse-3.3-fix-CVE-2022-40320.patch
new file mode 100644
index 000000000000..478c8556fe59
--- /dev/null
+++ b/dev-libs/confuse/files/confuse-3.3-fix-CVE-2022-40320.patch
@@ -0,0 +1,39 @@
+https://bugs.gentoo.org/901089
+https://github.com/libconfuse/libconfuse/commit/d73777c2c3566fb2647727bb56d9a2295b81669b
+
+(Rebased by Vaibhav Rustagi <vaibhavrustagi@google.com>)
+
+From d73777c2c3566fb2647727bb56d9a2295b81669b Mon Sep 17 00:00:00 2001
+From: Joachim Wiberg <troglobit@gmail.com>
+Date: Fri, 2 Sep 2022 16:12:46 +0200
+Subject: [PATCH] Fix #163: unterminated username used with getpwnam()
+
+Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
+--- a/src/confuse.c
++++ b/src/confuse.c
+@@ -1863,18 +1863,20 @@ DLLIMPORT char *cfg_tilde_expand(const char *filename)
+ passwd = getpwuid(geteuid());
+ file = filename + 1;
+ } else {
+- /* ~user or ~user/path */
+- char *user;
++ char *user; /* ~user or ~user/path */
++ size_t len;
+
+ file = strchr(filename, '/');
+ if (file == 0)
+ file = filename + strlen(filename);
+
+- user = malloc(file - filename);
++ len = file - filename - 1;
++ user = malloc(len + 1);
+ if (!user)
+ return NULL;
+
+- strncpy(user, filename + 1, file - filename - 1);
++ strncpy(user, &filename[1], len);
++ user[len] = 0;
+ passwd = getpwnam(user);
+ free(user);
+ }
+
diff --git a/dev-libs/confuse/metadata.xml b/dev-libs/confuse/metadata.xml
index 8fe15be864ee..10287e70c63f 100644
--- a/dev-libs/confuse/metadata.xml
+++ b/dev-libs/confuse/metadata.xml
@@ -1,12 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <email>pinkbyte@gentoo.org</email>
- <name>Sergey Popov</name>
- </maintainer>
+ <!-- maintainer-needed -->
<upstream>
<remote-id type="cpe">cpe:/a:libconfuse_project:libconfuse</remote-id>
- <remote-id type="github">martinh/libconfuse</remote-id>
+ <remote-id type="github">libconfuse/libconfuse</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-libs/console_bridge/Manifest b/dev-libs/console_bridge/Manifest
index 1ef811a7f046..234de934fc2b 100644
--- a/dev-libs/console_bridge/Manifest
+++ b/dev-libs/console_bridge/Manifest
@@ -1,5 +1,5 @@
-DIST console_bridge-1.0.1-ament-0.9.5-cppcheck.py 11626 BLAKE2B d4125b72bfd467f14302ef42c68ac0d7d5dcf53b0d8a678b9ec4a7e01cb71d27ef178d125ba659141dcb912a6a6b08a059e4b5babf03981d6da7190c4f626807 SHA512 19e5a854a228d4e98bdad1037089c2b74d88e31ee633bc1c7d580b011b4306f700aff3eb38fb1dcc0624a00a35942f38f71758eb3f0fc07b2b2f2a97e03def4c
-DIST console_bridge-1.0.1-ament-0.9.5-cpplint.py 239005 BLAKE2B 9dc409974ada177f4698106fba4ec4f1dae9e49719daba999c19670057b11fa74463d459b3575dc80b589e36d96dfac182ac66a6ef31ef3fd0639aeab256990a SHA512 c01c549e67744f0646a8c29c7d35fff0ba80dfd374f77619c66b6f8e4365b9e4dfaa9419bd87aa00066d99a6af8d89f28438e3f116312303a521a8277fc427ab
-DIST console_bridge-1.0.1.tar.gz 259480 BLAKE2B 78df3aeaba2e7589166709e7c43a77ac021d22d0db8d379f320455a9d532b247083ff86c3e03d7f9842943c3c98f78cfb33d7920a2987433f822a05ccaf23866 SHA512 913b7ee1d5401c6324eaaab1f8a54d5ff6df4eedb119a1cd00712f223750d69313047344aec5887920497c7b456cf6cb88e5f756bfbbb5ed8223ec758cdfd021
+DIST console_bridge-1.0.2-ament-0.9.5-cppcheck.py 11626 BLAKE2B d4125b72bfd467f14302ef42c68ac0d7d5dcf53b0d8a678b9ec4a7e01cb71d27ef178d125ba659141dcb912a6a6b08a059e4b5babf03981d6da7190c4f626807 SHA512 19e5a854a228d4e98bdad1037089c2b74d88e31ee633bc1c7d580b011b4306f700aff3eb38fb1dcc0624a00a35942f38f71758eb3f0fc07b2b2f2a97e03def4c
+DIST console_bridge-1.0.2-ament-0.9.5-cpplint.py 239005 BLAKE2B 9dc409974ada177f4698106fba4ec4f1dae9e49719daba999c19670057b11fa74463d459b3575dc80b589e36d96dfac182ac66a6ef31ef3fd0639aeab256990a SHA512 c01c549e67744f0646a8c29c7d35fff0ba80dfd374f77619c66b6f8e4365b9e4dfaa9419bd87aa00066d99a6af8d89f28438e3f116312303a521a8277fc427ab
+DIST console_bridge-1.0.2.tar.gz 259600 BLAKE2B e697219b1779534fd935b6bd940317d4aed2fd7b5c2673a08cf9bb015034f2ea9db85d2af0015805f8508d68c88ece39be8585f681afacb140fb8128c3fd18fe SHA512 ed427da8e59f9629f8d70e0a14415f88177c06fbaf7334bee56135dde91d19a1b54f5c9c668e0fd68314ab8dfd61446a174b9f528304decc5d4626a7c98882cb
DIST console_bridge-9999-ament-0.9.5-cppcheck.py 11626 BLAKE2B d4125b72bfd467f14302ef42c68ac0d7d5dcf53b0d8a678b9ec4a7e01cb71d27ef178d125ba659141dcb912a6a6b08a059e4b5babf03981d6da7190c4f626807 SHA512 19e5a854a228d4e98bdad1037089c2b74d88e31ee633bc1c7d580b011b4306f700aff3eb38fb1dcc0624a00a35942f38f71758eb3f0fc07b2b2f2a97e03def4c
DIST console_bridge-9999-ament-0.9.5-cpplint.py 239005 BLAKE2B 9dc409974ada177f4698106fba4ec4f1dae9e49719daba999c19670057b11fa74463d459b3575dc80b589e36d96dfac182ac66a6ef31ef3fd0639aeab256990a SHA512 c01c549e67744f0646a8c29c7d35fff0ba80dfd374f77619c66b6f8e4365b9e4dfaa9419bd87aa00066d99a6af8d89f28438e3f116312303a521a8277fc427ab
diff --git a/dev-libs/console_bridge/console_bridge-1.0.1-r1.ebuild b/dev-libs/console_bridge/console_bridge-1.0.1-r1.ebuild
deleted file mode 100644
index 21209fda7c82..000000000000
--- a/dev-libs/console_bridge/console_bridge-1.0.1-r1.ebuild
+++ /dev/null
@@ -1,65 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-SCM=""
-if [ "${PV#9999}" != "${PV}" ] ; then
- SCM="git-r3"
- EGIT_REPO_URI="https://github.com/ros/console_bridge"
-fi
-
-inherit ${SCM} cmake
-
-AMENT_LINT_VER=0.9.5
-EXTERNAL_PROGS="
- https://raw.githubusercontent.com/ament/ament_lint/${AMENT_LINT_VER}/ament_cppcheck/ament_cppcheck/main.py -> ${P}-ament-${AMENT_LINT_VER}-cppcheck.py
- https://raw.githubusercontent.com/ament/ament_lint/${AMENT_LINT_VER}/ament_cpplint/ament_cpplint/cpplint.py -> ${P}-ament-${AMENT_LINT_VER}-cpplint.py
-"
-if [ "${PV#9999}" != "${PV}" ] ; then
- SRC_URI="${EXTERNAL_PROGS}"
-else
- KEYWORDS="~amd64 ~arm"
- SRC_URI="${EXTERNAL_PROGS}
- https://github.com/ros/console_bridge/archive/${PV}.tar.gz -> ${P}.tar.gz"
-fi
-
-DESCRIPTION="A ROS-independent package for logging into rosconsole/rosout"
-HOMEPAGE="https://wiki.ros.org/console_bridge"
-LICENSE="BSD"
-SLOT="0/1"
-IUSE="test"
-RESTRICT="!test? ( test )"
-
-RDEPEND="dev-libs/boost:=[threads(+)]"
-DEPEND="${RDEPEND}"
-BDEPEND="
- test? (
- dev-util/cppcheck
- )
-"
-PATCHES=( "${FILESDIR}/tests.patch" )
-
-src_prepare() {
- # Avoid wgeting it. #733704
- sed -e 's/add_dependencies(console_bridge wget_cppchec/#/' -i test/CMakeLists.txt || die
- cmake_src_prepare
-}
-
-src_configure() {
- local mycmakeargs=(
- -DBUILD_TESTING=$(usex test ON OFF)
- )
- cmake_src_configure
-
- # For tests
- if use test ; then
- cp "${DISTDIR}/${P}-ament-${AMENT_LINT_VER}-cppcheck.py" "${BUILD_DIR}/test/cppcheck.py" || die
- cp "${DISTDIR}/${P}-ament-${AMENT_LINT_VER}-cpplint.py" "${BUILD_DIR}/test/cpplint.py" || die
- fi
-}
-
-src_test() {
- export AMENT_CPPCHECK_ALLOW_1_88=yes
- cmake_src_test
-}
diff --git a/dev-libs/console_bridge/console_bridge-1.0.2.ebuild b/dev-libs/console_bridge/console_bridge-1.0.2.ebuild
new file mode 100644
index 000000000000..4a949b96cbe4
--- /dev/null
+++ b/dev-libs/console_bridge/console_bridge-1.0.2.ebuild
@@ -0,0 +1,65 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+SCM=""
+if [ "${PV#9999}" != "${PV}" ] ; then
+ SCM="git-r3"
+ EGIT_REPO_URI="https://github.com/ros/console_bridge"
+fi
+
+inherit ${SCM} cmake
+
+AMENT_LINT_VER=0.9.5
+EXTERNAL_PROGS="
+ https://raw.githubusercontent.com/ament/ament_lint/${AMENT_LINT_VER}/ament_cppcheck/ament_cppcheck/main.py -> ${P}-ament-${AMENT_LINT_VER}-cppcheck.py
+ https://raw.githubusercontent.com/ament/ament_lint/${AMENT_LINT_VER}/ament_cpplint/ament_cpplint/cpplint.py -> ${P}-ament-${AMENT_LINT_VER}-cpplint.py
+"
+if [ "${PV#9999}" != "${PV}" ] ; then
+ SRC_URI="${EXTERNAL_PROGS}"
+else
+ KEYWORDS="~amd64 ~arm"
+ SRC_URI="${EXTERNAL_PROGS}
+ https://github.com/ros/console_bridge/archive/${PV}.tar.gz -> ${P}.tar.gz"
+fi
+
+DESCRIPTION="A ROS-independent package for logging into rosconsole/rosout"
+HOMEPAGE="https://wiki.ros.org/console_bridge"
+LICENSE="BSD"
+SLOT="0/1"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="dev-libs/boost:="
+DEPEND="${RDEPEND}"
+BDEPEND="
+ test? (
+ dev-util/cppcheck
+ )
+"
+PATCHES=( "${FILESDIR}/tests.patch" )
+
+src_prepare() {
+ # Avoid wgeting it. #733704
+ sed -e 's/add_dependencies(console_bridge wget_cppchec/#/' -i test/CMakeLists.txt || die
+ cmake_src_prepare
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DBUILD_TESTING=$(usex test ON OFF)
+ )
+ cmake_src_configure
+
+ # For tests
+ if use test ; then
+ cp "${DISTDIR}/${P}-ament-${AMENT_LINT_VER}-cppcheck.py" "${BUILD_DIR}/test/cppcheck.py" || die
+ cp "${DISTDIR}/${P}-ament-${AMENT_LINT_VER}-cpplint.py" "${BUILD_DIR}/test/cpplint.py" || die
+ fi
+}
+
+src_test() {
+ export AMENT_CPPCHECK_ALLOW_1_88=yes
+ cmake_src_test
+}
diff --git a/dev-libs/console_bridge/console_bridge-9999.ebuild b/dev-libs/console_bridge/console_bridge-9999.ebuild
index 21209fda7c82..4a949b96cbe4 100644
--- a/dev-libs/console_bridge/console_bridge-9999.ebuild
+++ b/dev-libs/console_bridge/console_bridge-9999.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
@@ -31,7 +31,7 @@ SLOT="0/1"
IUSE="test"
RESTRICT="!test? ( test )"
-RDEPEND="dev-libs/boost:=[threads(+)]"
+RDEPEND="dev-libs/boost:="
DEPEND="${RDEPEND}"
BDEPEND="
test? (
diff --git a/dev-libs/cowsql/Manifest b/dev-libs/cowsql/Manifest
new file mode 100644
index 000000000000..020ce511707f
--- /dev/null
+++ b/dev-libs/cowsql/Manifest
@@ -0,0 +1,2 @@
+DIST cowsql-1.15.4.tar.gz 364167 BLAKE2B c633aa4ad0e55954702995003a1651a220bd6bd1b2a14675d50a04596e7652a3453b63e4e32c8d74cf34c4fae6c1f33cb5054bd347d80dc34032d215ee25bd8c SHA512 06d28723eac1a75cffef6b8e0d8e17696ddc8520345d3b5e1fdada86aa5ee1bbd5a66198a36ee7f7776559392e84908980fd54321ff9c8eb2729dec5a6ac9dd7
+DIST cowsql-1.15.6.tar.gz 364548 BLAKE2B 67ccb0cc1481c4d542c2a145c76875b514f4920fe2d3647d1871afa67e6cb7a41c729946c89768b1c522ed22357fb0323d58885ca60141db154da54e3a5a5a0a SHA512 78436fc35ab22fed1aef1d1048e41fbd6ec75a7b8fc95f09bc7468cde0ea8d8851e4ef5ee738699810abf3054826ab7cfd21dc06964603acea240b0fc7943c4d
diff --git a/dev-libs/cowsql/cowsql-1.15.4.ebuild b/dev-libs/cowsql/cowsql-1.15.4.ebuild
new file mode 100644
index 000000000000..6c74e52fded0
--- /dev/null
+++ b/dev-libs/cowsql/cowsql-1.15.4.ebuild
@@ -0,0 +1,49 @@
+# Copyright 2020-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools
+
+DESCRIPTION="Embeddable, replicated and fault tolerant SQL engine (fork of dqlite)"
+HOMEPAGE="https://cowsql.dev/ https://github.com/cowsql/cowsql"
+SRC_URI="https://github.com/cowsql/cowsql/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="LGPL-3-with-linking-exception"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="dev-db/sqlite:3
+ dev-libs/libuv:=
+ >=dev-libs/raft-0.18.1:="
+DEPEND="${RDEPEND}
+ test? ( dev-libs/raft[lz4,test] )"
+BDEPEND="virtual/pkgconfig"
+
+PATCHES=( "${FILESDIR}"/dqlite-1.12.0-disable-werror.patch )
+
+src_prepare() {
+ default
+ eautoreconf
+}
+
+src_configure() {
+ local myeconfargs=(
+ --disable-backtrace
+ --disable-debug
+ --disable-sanitize
+ --disable-static
+
+ # Will build a bundled libsqlite3.so.
+ --enable-build-sqlite=no
+ )
+
+ econf "${myeconfargs[@]}"
+}
+
+src_install() {
+ default
+ find "${ED}" -name '*.la' -delete || die
+}
diff --git a/dev-libs/cowsql/cowsql-1.15.6.ebuild b/dev-libs/cowsql/cowsql-1.15.6.ebuild
new file mode 100644
index 000000000000..86b61a31e333
--- /dev/null
+++ b/dev-libs/cowsql/cowsql-1.15.6.ebuild
@@ -0,0 +1,53 @@
+# Copyright 2020-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools
+
+DESCRIPTION="Embeddable, replicated and fault tolerant SQL engine (fork of dqlite)"
+HOMEPAGE="https://cowsql.dev/ https://github.com/cowsql/cowsql"
+SRC_URI="https://github.com/cowsql/cowsql/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="LGPL-3-with-linking-exception"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="dev-db/sqlite:3
+ dev-libs/libuv:=
+ >=dev-libs/raft-0.18.1:="
+DEPEND="${RDEPEND}
+ test? ( dev-libs/raft[lz4,test] )"
+BDEPEND="virtual/pkgconfig"
+
+PATCHES=( "${FILESDIR}"/dqlite-1.12.0-disable-werror.patch )
+
+src_prepare() {
+ default
+ eautoreconf
+}
+
+src_configure() {
+ local myeconfargs=(
+ --disable-backtrace
+ --disable-debug
+ --disable-sanitize
+ --disable-static
+
+ # Will build a bundled libsqlite3.so.
+ --enable-build-sqlite=no
+ )
+
+ econf "${myeconfargs[@]}"
+}
+
+src_test() {
+ default
+}
+
+src_install() {
+ default
+ find "${ED}" -name '*.la' -delete || die
+}
diff --git a/dev-libs/cowsql/files/dqlite-1.12.0-disable-werror.patch b/dev-libs/cowsql/files/dqlite-1.12.0-disable-werror.patch
new file mode 100644
index 000000000000..9c92324688d6
--- /dev/null
+++ b/dev-libs/cowsql/files/dqlite-1.12.0-disable-werror.patch
@@ -0,0 +1,20 @@
+diff -Naur a/configure.ac b/configure.ac
+--- a/configure.ac 2022-11-18 16:44:34.000000000 +0200
++++ b/configure.ac 2022-11-19 09:21:24.157589426 +0200
+@@ -3,7 +3,7 @@
+ AC_CONFIG_MACRO_DIR([m4])
+ AC_CONFIG_AUX_DIR([ac])
+
+-AM_INIT_AUTOMAKE([subdir-objects -Wall -Werror -Wno-portability foreign])
++AM_INIT_AUTOMAKE([subdir-objects -Wall -Wno-portability foreign])
+ AM_SILENT_RULES([yes])
+
+ AC_PROG_CC_STDC
+@@ -82,7 +82,6 @@
+ -Wdate-time \
+ -Wnested-externs \
+ -Wconversion \
+- -Werror \
+ ])
+ # To enable:
+ #
diff --git a/dev-libs/cowsql/metadata.xml b/dev-libs/cowsql/metadata.xml
new file mode 100644
index 000000000000..25c078695e9c
--- /dev/null
+++ b/dev-libs/cowsql/metadata.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>juippis@gentoo.org</email>
+ <name>Joonas Niilola</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>virtualization@gentoo.org</email>
+ <name>Gentoo Virtualization Project</name>
+ </maintainer>
+ <longdescription>
+ cowsql is a C library that implements an embeddable and replicated SQL
+ database engine with high-availability and automatic failover.
+
+ Cowsql is a fork from dqlite.
+ The acronym "dqlite" stands for "distributed SQLite", meaning that dqlite
+ extends SQLite with a network protocol that can connect together various
+ instances of your application and have them act as a highly-available
+ cluster, with no dependency on external databases.
+ </longdescription>
+ <upstream>
+ <remote-id type="github">cowsql/cowsql</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/cppcodec/cppcodec-0.2.ebuild b/dev-libs/cppcodec/cppcodec-0.2.ebuild
index c378468fac29..3c62cdcdc8e4 100644
--- a/dev-libs/cppcodec/cppcodec-0.2.ebuild
+++ b/dev-libs/cppcodec/cppcodec-0.2.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=8
@@ -24,7 +24,7 @@ SLOT="0"
IUSE="test"
RESTRICT="!test? ( test )"
-DEPEND="test? ( >=dev-cpp/catch-2.3.0:0 )"
+DEPEND="test? ( <dev-cpp/catch-3:0 )"
BDEPEND="test? ( virtual/pkgconfig )"
src_configure() {
diff --git a/dev-libs/cpuinfo/Manifest b/dev-libs/cpuinfo/Manifest
new file mode 100644
index 000000000000..a636f22f3081
--- /dev/null
+++ b/dev-libs/cpuinfo/Manifest
@@ -0,0 +1,3 @@
+DIST cpuinfo-2022.03.26.tar.gz 3503965 BLAKE2B 03607ea04de156907d230dc9f009d72bf6d36ae7391c190c68dbc3f9a4c395e8ec72f935f6ae032d6b1341432278df3aee6f9fe7f7cad1b82784ecec5084d373 SHA512 dbbe4f3e1d5ae74ffc8ba2cba0ab745a23f4993788f4947825ef5125dd1cbed3e13e0c98e020e6fcfa9879f54f06d7cba4de73ec29f77649b6a27b4ab82c8f1c
+DIST cpuinfo-2022.08.19.tar.gz 3512624 BLAKE2B 909ebde6c522d514641dcbe16586bc972327b8564cb12fa6db25b8978a0a840e627154430f97dd37f024ea4f36a45db8ca5033e6e076390383dd9b35307bed5f SHA512 b3342ce0a1f842084ff53efdfd15c44586ac7cd36249211e2925d84aa1f33ee8d6f76cd62ea20e91d8b908c3c8afda5a47516008b69749504024b9813a623ee2
+DIST cpuinfo-2023.01.13.tar.gz 3513605 BLAKE2B eee9765f30b1dca6f39fb0b1f387f5e1cfaf544e5c9b256391aea913c5b67a012ef45f5afecfcda4a34ab64ca8da2f20e37db58cb4d463f8e312a04965cd40df SHA512 96bd11d3453e98cf1130f0862614e813861e20111655f8c472f29f17048a07d712b4f84b511760fdee995cf3d695112371af0c21cbd144ee3fb6fb6153dd2829
diff --git a/dev-libs/cpuinfo/cpuinfo-2022.03.26-r1.ebuild b/dev-libs/cpuinfo/cpuinfo-2022.03.26-r1.ebuild
new file mode 100644
index 000000000000..fc964a2ae125
--- /dev/null
+++ b/dev-libs/cpuinfo/cpuinfo-2022.03.26-r1.ebuild
@@ -0,0 +1,42 @@
+# Copyright 2022-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+inherit cmake
+
+CommitId=b40bae27785787b6dd70788986fd96434cf90ae2
+
+DESCRIPTION="CPU INFOrmation library"
+HOMEPAGE="https://github.com/pytorch/cpuinfo/"
+SRC_URI="https://github.com/pytorch/${PN}/archive/${CommitId}.tar.gz
+ -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="test"
+
+BDEPEND="test? ( dev-cpp/gtest )"
+RESTRICT="!test? ( test )"
+
+S="${WORKDIR}"/${PN}-${CommitId}
+
+PATCHES=(
+ "${FILESDIR}"/${P}-gentoo.patch
+)
+
+src_prepare() {
+ cmake_src_prepare
+
+ # >=dev-cpp/gtest-1.13.0 depends on building with at least C++14 standard
+ sed -i -e 's/CXX_STANDARD 11/CXX_STANDARD 14/' \
+ CMakeLists.txt || die "sed failed"
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DCPUINFO_BUILD_BENCHMARKS=OFF
+ -DCPUINFO_BUILD_UNIT_TESTS=$(usex test ON OFF)
+ )
+ cmake_src_configure
+}
diff --git a/dev-libs/cpuinfo/cpuinfo-2022.08.19.ebuild b/dev-libs/cpuinfo/cpuinfo-2022.08.19.ebuild
new file mode 100644
index 000000000000..07d77a29af2f
--- /dev/null
+++ b/dev-libs/cpuinfo/cpuinfo-2022.08.19.ebuild
@@ -0,0 +1,42 @@
+# Copyright 2022-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+inherit cmake
+
+CommitId=8ec7bd91ad0470e61cf38f618cc1f270dede599c
+
+DESCRIPTION="CPU INFOrmation library"
+HOMEPAGE="https://github.com/pytorch/cpuinfo/"
+SRC_URI="https://github.com/pytorch/${PN}/archive/${CommitId}.tar.gz
+ -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="test"
+
+BDEPEND="test? ( dev-cpp/gtest )"
+RESTRICT="!test? ( test )"
+
+S="${WORKDIR}"/${PN}-${CommitId}
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-2022.03.26-gentoo.patch
+)
+
+src_prepare() {
+ cmake_src_prepare
+
+ # >=dev-cpp/gtest-1.13.0 depends on building with at least C++14 standard
+ sed -i -e 's/CXX_STANDARD 11/CXX_STANDARD 14/' \
+ CMakeLists.txt || die "sed failed"
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DCPUINFO_BUILD_BENCHMARKS=OFF
+ -DCPUINFO_BUILD_UNIT_TESTS=$(usex test ON OFF)
+ )
+ cmake_src_configure
+}
diff --git a/dev-libs/cpuinfo/cpuinfo-2023.01.13.ebuild b/dev-libs/cpuinfo/cpuinfo-2023.01.13.ebuild
new file mode 100644
index 000000000000..3b0ec9465234
--- /dev/null
+++ b/dev-libs/cpuinfo/cpuinfo-2023.01.13.ebuild
@@ -0,0 +1,43 @@
+# Copyright 2022-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+inherit cmake
+
+CommitId=6481e8bef08f606ddd627e4d3be89f64d62e1b8a
+
+DESCRIPTION="CPU INFOrmation library"
+HOMEPAGE="https://github.com/pytorch/cpuinfo/"
+SRC_URI="https://github.com/pytorch/${PN}/archive/${CommitId}.tar.gz
+ -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="test"
+
+BDEPEND="test? ( dev-cpp/gtest )"
+RESTRICT="!test? ( test )"
+
+S="${WORKDIR}"/${PN}-${CommitId}
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-2022.03.26-gentoo.patch
+ "${FILESDIR}"/${P}-test.patch
+)
+
+src_prepare() {
+ cmake_src_prepare
+
+ # >=dev-cpp/gtest-1.13.0 depends on building with at least C++14 standard
+ sed -i -e 's/CXX_STANDARD 11/CXX_STANDARD 14/' \
+ CMakeLists.txt || die "sed failed"
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DCPUINFO_BUILD_BENCHMARKS=OFF
+ -DCPUINFO_BUILD_UNIT_TESTS=$(usex test ON OFF)
+ )
+ cmake_src_configure
+}
diff --git a/dev-libs/cpuinfo/files/cpuinfo-2022.03.26-gentoo.patch b/dev-libs/cpuinfo/files/cpuinfo-2022.03.26-gentoo.patch
new file mode 100644
index 000000000000..b7163d9e06e0
--- /dev/null
+++ b/dev-libs/cpuinfo/files/cpuinfo-2022.03.26-gentoo.patch
@@ -0,0 +1,25 @@
+--- a/CMakeLists.txt 2022-05-09 22:00:05.453640876 +0200
++++ b/CMakeLists.txt 2022-05-09 22:01:11.621691380 +0200
+@@ -94,12 +94,6 @@
+
+ IF(CPUINFO_BUILD_MOCK_TESTS OR CPUINFO_BUILD_UNIT_TESTS)
+ IF(CPUINFO_SUPPORTED_PLATFORM AND NOT DEFINED GOOGLETEST_SOURCE_DIR)
+- MESSAGE(STATUS "Downloading Google Test to ${CONFU_DEPENDENCIES_SOURCE_DIR}/googletest (define GOOGLETEST_SOURCE_DIR to avoid it)")
+- CONFIGURE_FILE(cmake/DownloadGoogleTest.cmake "${CONFU_DEPENDENCIES_BINARY_DIR}/googletest-download/CMakeLists.txt")
+- EXECUTE_PROCESS(COMMAND "${CMAKE_COMMAND}" -G "${CMAKE_GENERATOR}" .
+- WORKING_DIRECTORY "${CONFU_DEPENDENCIES_BINARY_DIR}/googletest-download")
+- EXECUTE_PROCESS(COMMAND "${CMAKE_COMMAND}" --build .
+- WORKING_DIRECTORY "${CONFU_DEPENDENCIES_BINARY_DIR}/googletest-download")
+ SET(GOOGLETEST_SOURCE_DIR "${CONFU_DEPENDENCIES_SOURCE_DIR}/googletest" CACHE STRING "Google Test source directory")
+ ENDIF()
+ ENDIF()
+@@ -309,9 +303,6 @@
+ IF(MSVC AND NOT CPUINFO_RUNTIME_TYPE STREQUAL "static")
+ SET(gtest_force_shared_crt ON CACHE BOOL "" FORCE)
+ ENDIF()
+- ADD_SUBDIRECTORY(
+- "${GOOGLETEST_SOURCE_DIR}"
+- "${CONFU_DEPENDENCIES_BINARY_DIR}/googletest")
+ ENDIF()
+ ENDIF()
+ ENDIF()
diff --git a/dev-libs/cpuinfo/files/cpuinfo-2023.01.13-test.patch b/dev-libs/cpuinfo/files/cpuinfo-2023.01.13-test.patch
new file mode 100644
index 000000000000..65c051556fff
--- /dev/null
+++ b/dev-libs/cpuinfo/files/cpuinfo-2023.01.13-test.patch
@@ -0,0 +1,18 @@
+--- a/test/init.cc 2023-12-02 09:02:56.240873209 +0100
++++ b/test/init.cc 2023-12-02 09:04:23.240867364 +0100
+@@ -304,6 +304,7 @@
+ cpuinfo_deinitialize();
+ }
+
++#if 0
+ TEST(CORE, known_uarch) {
+ ASSERT_TRUE(cpuinfo_initialize());
+ for (uint32_t i = 0; i < cpuinfo_get_cores_count(); i++) {
+@@ -314,6 +315,7 @@
+ }
+ cpuinfo_deinitialize();
+ }
++#endif
+
+ TEST(CLUSTERS_COUNT, within_bounds) {
+ ASSERT_TRUE(cpuinfo_initialize());
diff --git a/dev-libs/cpuinfo/metadata.xml b/dev-libs/cpuinfo/metadata.xml
new file mode 100644
index 000000000000..eec896ddc47d
--- /dev/null
+++ b/dev-libs/cpuinfo/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">pytorch/cpuinfo</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/crc32c/Manifest b/dev-libs/crc32c/Manifest
index 47e69b3b18f9..9cc211885656 100644
--- a/dev-libs/crc32c/Manifest
+++ b/dev-libs/crc32c/Manifest
@@ -1,3 +1 @@
-DIST crc32c-1.0.6.tar.gz 29596 BLAKE2B 5806e0a48cb3048c9b07abb75eb232491483176bbeb98bc11ad1b0ef7d4ce89929ad20b0354906fd67e8773541f9913f3948f1db9a3f3987fe7e2ca67e9d2467 SHA512 c30f6510d6348f15dcdddc06e375f21a69681cd615483d67628b32de747e5e98200fa49faf7e3fc30a1302991fd1f9c9a706c9eb4e13c9c6c09e74066474ea7b
-DIST crc32c-1.1.1.tar.gz 29829 BLAKE2B 5ffb0809e80d1fad81a77d96683d44142a7d84fc15ce18070cdcdb12fd9b67f7ec732a53d8af7dc4b77add859bf64c4fa8bc52a593830de931a7bd12c60498cc SHA512 c276160ec960a38cd535c998336472694819bc6eb37beb711bd43a31441d1808c8a14d3a1f0eccc780785b19f739a4a51f923867a20b0707c465e0cc03f457e9
DIST crc32c-1.1.2.tar.gz 29819 BLAKE2B f48720e632b6a4aaab9591651ed92b268bc8fc5faacb01888094af86ecc9dec901be6edc419c534aebf94ade5a2ce2347c0ff2962ba57c62627d6d7c420fc23b SHA512 6325c52b5a6850b9f90086e0c0c86798c008af36e7cfd3a0216184a2d37b3bf7323481ddc6bfe4cbd5b31288b3ee6c69772d03085a13094cf95d00a9756a7196
diff --git a/dev-libs/crc32c/crc32c-1.0.6-r1.ebuild b/dev-libs/crc32c/crc32c-1.0.6-r1.ebuild
deleted file mode 100644
index 53b6e710e340..000000000000
--- a/dev-libs/crc32c/crc32c-1.0.6-r1.ebuild
+++ /dev/null
@@ -1,35 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit cmake
-
-DESCRIPTION="CRC32C implementation with support for CPU-specific acceleration instructions"
-HOMEPAGE="https://github.com/google/crc32c"
-SRC_URI="https://github.com/google/crc32c/archive/${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 ~riscv x86"
-
-PATCHES=(
- "${FILESDIR}/${P}-fix-big-endian.patch"
-)
-
-DOCS=( README.md )
-
-src_prepare() {
- sed -e '/-Werror/d' -i CMakeLists.txt || die
- cmake_src_prepare
-}
-
-src_configure() {
- local mycmakeargs=(
- -DCRC32C_BUILD_TESTS=OFF
- -DCRC32C_BUILD_BENCHMARKS=OFF
- -DCRC32C_USE_GLOG=OFF
- )
-
- cmake_src_configure
-}
diff --git a/dev-libs/crc32c/crc32c-1.1.1.ebuild b/dev-libs/crc32c/crc32c-1.1.1.ebuild
deleted file mode 100644
index 0086632b41ee..000000000000
--- a/dev-libs/crc32c/crc32c-1.1.1.ebuild
+++ /dev/null
@@ -1,40 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit cmake
-
-DESCRIPTION="CRC32C implementation with support for CPU-specific acceleration instructions"
-HOMEPAGE="https://github.com/google/crc32c"
-SRC_URI="https://github.com/google/crc32c/archive/${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 ~arm ~ppc ~ppc64 ~riscv ~sparc x86"
-IUSE="test"
-RESTRICT="!test? ( test )"
-
-BDEPEND="test? ( dev-cpp/gtest )"
-
-PATCHES=(
- "${FILESDIR}/${PN}-1.0.6-fix-big-endian.patch"
- "${FILESDIR}/${PN}-1.1.1-system-testdeps.patch"
-)
-
-DOCS=( README.md )
-
-src_prepare() {
- sed -e '/-Werror/d' -i CMakeLists.txt || die
- cmake_src_prepare
-}
-
-src_configure() {
- local mycmakeargs=(
- -DCRC32C_BUILD_TESTS=$(usex test)
- -DCRC32C_BUILD_BENCHMARKS=OFF
- -DCRC32C_USE_GLOG=OFF
- )
-
- cmake_src_configure
-}
diff --git a/dev-libs/crc32c/crc32c-1.1.2-r1.ebuild b/dev-libs/crc32c/crc32c-1.1.2-r1.ebuild
deleted file mode 100644
index 70453bb05dd1..000000000000
--- a/dev-libs/crc32c/crc32c-1.1.2-r1.ebuild
+++ /dev/null
@@ -1,41 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit cmake
-
-DESCRIPTION="CRC32C implementation with support for CPU-specific acceleration instructions"
-HOMEPAGE="https://github.com/google/crc32c"
-SRC_URI="https://github.com/google/crc32c/archive/${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86"
-IUSE="test"
-RESTRICT="!test? ( test )"
-
-BDEPEND="test? ( dev-cpp/gtest )"
-
-PATCHES=(
- "${FILESDIR}/${PN}-1.1.1-system-testdeps.patch"
-)
-
-DOCS=( README.md )
-
-src_prepare() {
- sed -e '/-Werror/d' \
- -e '/-march=armv8/d' \
- -i CMakeLists.txt || die
- cmake_src_prepare
-}
-
-src_configure() {
- local mycmakeargs=(
- -DCRC32C_BUILD_TESTS=$(usex test)
- -DCRC32C_BUILD_BENCHMARKS=OFF
- -DCRC32C_USE_GLOG=OFF
- )
-
- cmake_src_configure
-}
diff --git a/dev-libs/crc32c/crc32c-1.1.2-r2.ebuild b/dev-libs/crc32c/crc32c-1.1.2-r2.ebuild
new file mode 100644
index 000000000000..e9ecec46cb83
--- /dev/null
+++ b/dev-libs/crc32c/crc32c-1.1.2-r2.ebuild
@@ -0,0 +1,42 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+DESCRIPTION="CRC32C implementation with support for CPU-specific acceleration instructions"
+HOMEPAGE="https://github.com/google/crc32c"
+SRC_URI="https://github.com/google/crc32c/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 arm arm64 ~loong ~mips ppc ppc64 ~riscv ~sparc x86"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+BDEPEND="test? ( dev-cpp/gtest )"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-1.1.1-system-testdeps.patch"
+)
+
+DOCS=( README.md )
+
+src_prepare() {
+ sed -e '/-Werror/d' \
+ -e '/-march=armv8/d' \
+ -i CMakeLists.txt || die
+ cmake_src_prepare
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DCMAKE_CXX_STANDARD=14 # C++14 or later required for >=gtest-1.13.0
+ -DCRC32C_BUILD_TESTS=$(usex test)
+ -DCRC32C_BUILD_BENCHMARKS=OFF
+ -DCRC32C_USE_GLOG=OFF
+ )
+
+ cmake_src_configure
+}
diff --git a/dev-libs/crc32c/files/crc32c-1.0.6-fix-big-endian.patch b/dev-libs/crc32c/files/crc32c-1.0.6-fix-big-endian.patch
deleted file mode 100644
index 3bd09930946a..000000000000
--- a/dev-libs/crc32c/files/crc32c-1.0.6-fix-big-endian.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-From: Pieter Wuille <github-sipa@wuille.net>
-Date: Thu, 18 Jun 2020 21:05:38 -0700
-Subject: [PATCH] Fix (unused) ReadUint64LE for BE machines (#41)
-
---- a/src/crc32c_read_le.h
-+++ b/src/crc32c_read_le.h
-@@ -30,14 +30,14 @@ inline uint32_t ReadUint32LE(const uint8_t* buffer) {
- // Reads a little-endian 64-bit integer from a 64-bit-aligned buffer.
- inline uint64_t ReadUint64LE(const uint8_t* buffer) {
- #if BYTE_ORDER_BIG_ENDIAN
-- return ((static_cast<uint32_t>(static_cast<uint8_t>(buffer[0]))) |
-- (static_cast<uint32_t>(static_cast<uint8_t>(buffer[1])) << 8) |
-- (static_cast<uint32_t>(static_cast<uint8_t>(buffer[2])) << 16) |
-- (static_cast<uint32_t>(static_cast<uint8_t>(buffer[3])) << 24) |
-- (static_cast<uint32_t>(static_cast<uint8_t>(buffer[4])) << 32) |
-- (static_cast<uint32_t>(static_cast<uint8_t>(buffer[5])) << 40) |
-- (static_cast<uint32_t>(static_cast<uint8_t>(buffer[6])) << 48) |
-- (static_cast<uint32_t>(static_cast<uint8_t>(buffer[7])) << 56));
-+ return ((static_cast<uint64_t>(static_cast<uint8_t>(buffer[0]))) |
-+ (static_cast<uint64_t>(static_cast<uint8_t>(buffer[1])) << 8) |
-+ (static_cast<uint64_t>(static_cast<uint8_t>(buffer[2])) << 16) |
-+ (static_cast<uint64_t>(static_cast<uint8_t>(buffer[3])) << 24) |
-+ (static_cast<uint64_t>(static_cast<uint8_t>(buffer[4])) << 32) |
-+ (static_cast<uint64_t>(static_cast<uint8_t>(buffer[5])) << 40) |
-+ (static_cast<uint64_t>(static_cast<uint8_t>(buffer[6])) << 48) |
-+ (static_cast<uint64_t>(static_cast<uint8_t>(buffer[7])) << 56));
- #else // !BYTE_ORDER_BIG_ENDIAN
- uint64_t result;
- // This should be optimized to a single instruction.
diff --git a/dev-libs/crc32c/metadata.xml b/dev-libs/crc32c/metadata.xml
index 8b1443351bf8..c0c1de470854 100644
--- a/dev-libs/crc32c/metadata.xml
+++ b/dev-libs/crc32c/metadata.xml
@@ -5,4 +5,7 @@
<email>arthurzam@gentoo.org</email>
<name>Arthur Zamarin</name>
</maintainer>
+ <upstream>
+ <remote-id type="github">google/crc32c</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/dev-libs/criterion/Manifest b/dev-libs/criterion/Manifest
index 474af3cfd92a..1d6bfd0290c2 100644
--- a/dev-libs/criterion/Manifest
+++ b/dev-libs/criterion/Manifest
@@ -1,6 +1,5 @@
-DIST criterion-4cf886a2d96ada425e8c88d3c4d935e510c7c712.tar.gz 863335 BLAKE2B 5e86709f4b7d500f3a2d4e61dbffd17f50d5ab593bfe48c8b8d5d6019436e203cd0b7a818933733377fa2dd98b9a94a46f3980b0bc52a8b3ca54c9d60406bace SHA512 34a6acc6fc0c74dcab572c9f6a56c4490935df442b1ea95169143a50193e752fc361c66d007f875c319285eb81b533139f25c5b421903e7cc1ec89c546b94a21
-DIST criterion-a91a69f65006c057812fdd850b100ff28790ea73.tar.gz 864681 BLAKE2B 7fe19c8d316f965d8b6214252ac262d3a67ed43857902e17af0505a5c7afe7cc22f84052ef7c8d1ac8283286c833952615a0aae13f6e5efa05c03b8717fd1048 SHA512 4e9cd278154873bc781f320fd14b6adc82caeae16e4daa2aaa5be93290f43a93478db068f82f1afbd3788a51cb791c69c2abeaa25a6b9f282b303495fbc09821
+DIST criterion-2.4.0.tar.gz 870099 BLAKE2B 06d81344f6e9110cbb4313c847e0fb1d596ddfad7ab57d4a0c9df2140c5506450f702082d6fc893d819b74252b20193720ca44a903b43c43e940122529da88ad SHA512 4a7cd9cd26f64bfeb95683a0479a59b29676ffc5110041757417ab152dced7a360a94fd721b31e45e1b91d0ca08fec0327d7a7d56a2cf9d2f3e9e25e2b95f446
+DIST criterion-2.4.1.tar.gz 870842 BLAKE2B 8b7db80d5e943d4380072106eb32ffe95896e4e588986588fd8b0ebfe1078657e2a9231090355563fd8bd8588cacbaa5839e269a0a9c4e56b882789c97379f9b SHA512 22f1ae5152db93736282fac098ad510d497aa804589df8070fb6cf36a3063868f2a9ed3c5771bfde8a0352355d81178816870d68b83ca6d6582fd17cdd9332d9
DIST debugbreak-6b79ec8d8f8d4603111f580a0537f8f31c484c32.tar.gz 5613 BLAKE2B 78711c3c46d567fb7110a70dfddc2fb5e413eb5c6b9f67d5d8b5f8a663af854cb50f3b9d9947a2c14909dcd2b34f762192a4fbe8b32dcde7c9894f0560ccf769 SHA512 f4bb95b3f931545800abbb86aa787939cc1c30f464e465689aff3fff3d753766bafe4de9065b762d9db882608b2df250514ab38fc9c476cbd6d7d95d516c75cb
DIST klib-cdb7e9236dc47abf8da7ebd702cc6f7f21f0c502.tar.gz 99303 BLAKE2B 7804c030106ffab44afcbc1ac77d644e7dfef7c107d4f9679a3a4b7506e41ada65e87113831f94fc5c6f70073356c38a317153e01f1985522029990e9af40544 SHA512 fe4f0cd9b5ff2d5605d388f8a67d6c7211320d0fea6fb9b2df0c9b1e67a1f683b80b86cac007b0cfbd264b75bc0e4849e772506c2ee66b86967e5ee24cc89e1d
-DIST nanopb-70f0de9877b1ce12abc0229d5df84db6349fcbfc.tar.gz 301605 BLAKE2B 24ddb83b3bd220be57c82761159f2b138ec646bec53d02632e96f6cf9dd6fa39e24039a908ac9687c183612703e6973095f94aba55fab5dd5559f243c5d412b2 SHA512 ab535c57a000c5df267352fcab8dcf0560a3a0d9b92634699508c8504840510e4f9f4a21005d57baf0af2e31718eda2ebe41763c7f82ac37ef9b6342c27e2e2a
DIST nanopb-c9124132a604047d0ef97a09c0e99cd9bed2c818.tar.gz 1124211 BLAKE2B b8dfe6916decef6b6e32315989050a8ed3e72191fe8365c36652906631a9a2cbbdddd34f8927223d866749dde58d85a8e264ef6d5daac614327db0977d05d693 SHA512 3914fe37399cf99512fbd45e496ac95490b74a2c259f96138123a3399fa2b7258e5d99ebd5293b8ad87069e1bb4ea71d13c54366382904c9607d8545afd90b62
diff --git a/dev-libs/criterion/criterion-2.4.0.ebuild b/dev-libs/criterion/criterion-2.4.0.ebuild
new file mode 100644
index 000000000000..b1bb4480889a
--- /dev/null
+++ b/dev-libs/criterion/criterion-2.4.0.ebuild
@@ -0,0 +1,64 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="8"
+
+PYTHON_COMPAT=( python3_{10..11} )
+
+inherit meson python-any-r1
+
+DEBUGBREAK_COMMIT="6b79ec8d8f8d4603111f580a0537f8f31c484c32"
+KLIB_COMMIT="cdb7e9236dc47abf8da7ebd702cc6f7f21f0c502"
+NANOPB_COMMIT="c9124132a604047d0ef97a09c0e99cd9bed2c818"
+
+DESCRIPTION="Cross platform unit testing framework for C and C++"
+HOMEPAGE="https://github.com/Snaipe/Criterion"
+SRC_URI="https://github.com/Snaipe/Criterion/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz
+ https://github.com/scottt/debugbreak/archive/${DEBUGBREAK_COMMIT}.tar.gz -> debugbreak-${DEBUGBREAK_COMMIT}.tar.gz
+ https://github.com/attractivechaos/klib/archive/${KLIB_COMMIT}.tar.gz -> klib-${KLIB_COMMIT}.tar.gz
+ https://github.com/nanopb/nanopb/archive/${NANOPB_COMMIT}.tar.gz -> nanopb-${NANOPB_COMMIT}.tar.gz"
+
+LICENSE="BSD-2 MIT ZLIB"
+SLOT="0"
+KEYWORDS="amd64 ~arm ~arm64 ~x86"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="dev-libs/nanomsg:=
+ dev-libs/libgit2:=
+ dev-libs/libffi:="
+DEPEND="${RDEPEND}
+ >=dev-libs/boxfort-0.1.4
+ test? (
+ $(python_gen_any_dep 'dev-util/cram[${PYTHON_USEDEP}]')
+ )"
+BDEPEND="dev-build/cmake
+ virtual/pkgconfig"
+
+S="${WORKDIR}/Criterion-${PV}"
+
+python_check_deps() {
+ has_version "dev-util/cram[${PYTHON_USEDEP}]"
+}
+
+pkg_setup() {
+ use test && python-any-r1_pkg_setup
+}
+
+src_prepare() {
+ default
+
+ rm -r dependencies/{debugbreak,klib} || die
+ mv "${WORKDIR}/debugbreak-${DEBUGBREAK_COMMIT}" dependencies/debugbreak || die
+ mv "${WORKDIR}/klib-${KLIB_COMMIT}" dependencies/klib || die
+ mv "${WORKDIR}/nanopb-${NANOPB_COMMIT}" subprojects/nanopb || die
+}
+
+src_configure() {
+ local emesonargs=(
+ -Dsamples=$(usex test true false)
+ -Dtests=$(usex test true false)
+ )
+
+ meson_src_configure
+}
diff --git a/dev-libs/criterion/criterion-2.4.1.ebuild b/dev-libs/criterion/criterion-2.4.1.ebuild
new file mode 100644
index 000000000000..02a9df728b50
--- /dev/null
+++ b/dev-libs/criterion/criterion-2.4.1.ebuild
@@ -0,0 +1,72 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..11} )
+
+inherit flag-o-matic meson python-any-r1
+
+DEBUGBREAK_COMMIT="6b79ec8d8f8d4603111f580a0537f8f31c484c32"
+KLIB_COMMIT="cdb7e9236dc47abf8da7ebd702cc6f7f21f0c502"
+NANOPB_COMMIT="c9124132a604047d0ef97a09c0e99cd9bed2c818"
+
+DESCRIPTION="Cross platform unit testing framework for C and C++"
+HOMEPAGE="https://github.com/Snaipe/Criterion"
+SRC_URI="https://github.com/Snaipe/Criterion/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz
+ https://github.com/scottt/debugbreak/archive/${DEBUGBREAK_COMMIT}.tar.gz -> debugbreak-${DEBUGBREAK_COMMIT}.tar.gz
+ https://github.com/attractivechaos/klib/archive/${KLIB_COMMIT}.tar.gz -> klib-${KLIB_COMMIT}.tar.gz
+ https://github.com/nanopb/nanopb/archive/${NANOPB_COMMIT}.tar.gz -> nanopb-${NANOPB_COMMIT}.tar.gz"
+
+LICENSE="BSD-2 MIT ZLIB"
+SLOT="0"
+KEYWORDS="amd64 ~arm ~arm64 x86"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="dev-libs/nanomsg:=
+ dev-libs/libgit2:=
+ dev-libs/libffi:="
+DEPEND="${RDEPEND}
+ >=dev-libs/boxfort-0.1.4
+ test? (
+ $(python_gen_any_dep 'dev-util/cram[${PYTHON_USEDEP}]')
+ )"
+BDEPEND="dev-build/cmake
+ virtual/pkgconfig"
+
+S="${WORKDIR}/Criterion-${PV}"
+
+python_check_deps() {
+ has_version "dev-util/cram[${PYTHON_USEDEP}]"
+}
+
+pkg_setup() {
+ use test && python-any-r1_pkg_setup
+}
+
+src_prepare() {
+ default
+
+ rm -r dependencies/{debugbreak,klib} || die
+ mv "${WORKDIR}/debugbreak-${DEBUGBREAK_COMMIT}" dependencies/debugbreak || die
+ mv "${WORKDIR}/klib-${KLIB_COMMIT}" dependencies/klib || die
+ mv "${WORKDIR}/nanopb-${NANOPB_COMMIT}" subprojects/nanopb || die
+}
+
+src_configure() {
+ # -Werror=lto-type-mismatch
+ # https://bugs.gentoo.org/855674
+ # https://github.com/Snaipe/Criterion/issues/524
+ filter-lto
+
+ # bug 906379
+ use elibc_musl && append-cppflags -D_LARGEFILE64_SOURCE
+
+ local emesonargs=(
+ -Dsamples=$(usex test true false)
+ -Dtests=$(usex test true false)
+ )
+
+ meson_src_configure
+}
diff --git a/dev-libs/criterion/criterion-2.4_pre20210114.ebuild b/dev-libs/criterion/criterion-2.4_pre20210114.ebuild
deleted file mode 100644
index 220b6acc2d46..000000000000
--- a/dev-libs/criterion/criterion-2.4_pre20210114.ebuild
+++ /dev/null
@@ -1,68 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{7..10} )
-
-inherit meson python-any-r1
-
-CRITERION_COMMIT="4cf886a2d96ada425e8c88d3c4d935e510c7c712"
-DEBUGBREAK_COMMIT="6b79ec8d8f8d4603111f580a0537f8f31c484c32"
-KLIB_COMMIT="cdb7e9236dc47abf8da7ebd702cc6f7f21f0c502"
-NANOPB_COMMIT="70f0de9877b1ce12abc0229d5df84db6349fcbfc"
-
-DESCRIPTION="Cross platform unit testing framework for C and C++"
-HOMEPAGE="https://github.com/Snaipe/Criterion"
-SRC_URI="https://github.com/Snaipe/Criterion/archive/${CRITERION_COMMIT}.tar.gz -> criterion-${CRITERION_COMMIT}.tar.gz
- https://github.com/scottt/debugbreak/archive/${DEBUGBREAK_COMMIT}.tar.gz -> debugbreak-${DEBUGBREAK_COMMIT}.tar.gz
- https://github.com/attractivechaos/klib/archive/${KLIB_COMMIT}.tar.gz -> klib-${KLIB_COMMIT}.tar.gz
- https://github.com/nanopb/nanopb/archive/${NANOPB_COMMIT}.tar.gz -> nanopb-${NANOPB_COMMIT}.tar.gz"
-
-LICENSE="BSD-2 MIT ZLIB"
-SLOT="0"
-KEYWORDS="amd64 ~arm ~arm64 ~x86"
-IUSE="test"
-RESTRICT="!test? ( test )"
-
-RDEPEND="dev-libs/nanomsg:=
- dev-libs/libgit2:=
- dev-libs/libffi:="
-DEPEND="${RDEPEND}
- dev-libs/boxfort
- test? (
- $(python_gen_any_dep 'dev-util/cram[${PYTHON_USEDEP}]')
- )"
-BDEPEND="virtual/pkgconfig"
-
-S="${WORKDIR}/Criterion-${CRITERION_COMMIT}"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-2.4_pre20200110-gcc11.patch
-)
-
-python_check_deps() {
- has_version "dev-util/cram[${PYTHON_USEDEP}]"
-}
-
-pkg_setup() {
- use test && python-any-r1_pkg_setup
-}
-
-src_prepare() {
- default
-
- rm -r dependencies/{debugbreak,klib} || die
- mv "${WORKDIR}/debugbreak-${DEBUGBREAK_COMMIT}" dependencies/debugbreak || die
- mv "${WORKDIR}/klib-${KLIB_COMMIT}" dependencies/klib || die
- mv "${WORKDIR}/nanopb-${NANOPB_COMMIT}" subprojects/nanopb || die
-}
-
-src_configure() {
- local emesonargs=(
- -Dsamples=$(usex test true false)
- -Dtests=$(usex test true false)
- )
-
- meson_src_configure
-}
diff --git a/dev-libs/criterion/criterion-2.4_pre20211218.ebuild b/dev-libs/criterion/criterion-2.4_pre20211218.ebuild
deleted file mode 100644
index 5140accac9bd..000000000000
--- a/dev-libs/criterion/criterion-2.4_pre20211218.ebuild
+++ /dev/null
@@ -1,64 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{7..10} )
-
-inherit meson python-any-r1
-
-CRITERION_COMMIT="a91a69f65006c057812fdd850b100ff28790ea73"
-DEBUGBREAK_COMMIT="6b79ec8d8f8d4603111f580a0537f8f31c484c32"
-KLIB_COMMIT="cdb7e9236dc47abf8da7ebd702cc6f7f21f0c502"
-NANOPB_COMMIT="c9124132a604047d0ef97a09c0e99cd9bed2c818"
-
-DESCRIPTION="Cross platform unit testing framework for C and C++"
-HOMEPAGE="https://github.com/Snaipe/Criterion"
-SRC_URI="https://github.com/Snaipe/Criterion/archive/${CRITERION_COMMIT}.tar.gz -> criterion-${CRITERION_COMMIT}.tar.gz
- https://github.com/scottt/debugbreak/archive/${DEBUGBREAK_COMMIT}.tar.gz -> debugbreak-${DEBUGBREAK_COMMIT}.tar.gz
- https://github.com/attractivechaos/klib/archive/${KLIB_COMMIT}.tar.gz -> klib-${KLIB_COMMIT}.tar.gz
- https://github.com/nanopb/nanopb/archive/${NANOPB_COMMIT}.tar.gz -> nanopb-${NANOPB_COMMIT}.tar.gz"
-
-LICENSE="BSD-2 MIT ZLIB"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~x86"
-IUSE="test"
-RESTRICT="!test? ( test )"
-
-RDEPEND="dev-libs/nanomsg:=
- dev-libs/libgit2:=
- dev-libs/libffi:="
-DEPEND="${RDEPEND}
- dev-libs/boxfort
- test? (
- $(python_gen_any_dep 'dev-util/cram[${PYTHON_USEDEP}]')
- )"
-BDEPEND="virtual/pkgconfig"
-
-S="${WORKDIR}/Criterion-${CRITERION_COMMIT}"
-
-python_check_deps() {
- has_version "dev-util/cram[${PYTHON_USEDEP}]"
-}
-
-pkg_setup() {
- use test && python-any-r1_pkg_setup
-}
-
-src_prepare() {
- default
-
- rm -r dependencies/{debugbreak,klib} || die
- mv "${WORKDIR}/debugbreak-${DEBUGBREAK_COMMIT}" dependencies/debugbreak || die
- mv "${WORKDIR}/klib-${KLIB_COMMIT}" dependencies/klib || die
- mv "${WORKDIR}/nanopb-${NANOPB_COMMIT}" subprojects/nanopb || die
-}
-
-src_configure() {
- local emesonargs=(
- -Dsamples=$(usex test true false)
- -Dtests=$(usex test true false)
- )
-
- meson_src_configure
-}
diff --git a/dev-libs/criterion/files/criterion-2.4_pre20200110-gcc11.patch b/dev-libs/criterion/files/criterion-2.4_pre20200110-gcc11.patch
deleted file mode 100644
index c99e03af6f19..000000000000
--- a/dev-libs/criterion/files/criterion-2.4_pre20200110-gcc11.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff --git a/include/criterion/internal/assert/ieee.h b/include/criterion/internal/assert/ieee.h
-index 3b6de3b..2063d87 100644
---- a/include/criterion/internal/assert/ieee.h
-+++ b/include/criterion/internal/assert/ieee.h
-@@ -29,6 +29,7 @@
- #ifdef __cplusplus
-
- # include <cmath>
-+# include <limits>
-
- namespace criterion { namespace internal { namespace operators {
-
diff --git a/dev-libs/crossguid/Manifest b/dev-libs/crossguid/Manifest
index a023eafbb853..cbf759e557c4 100644
--- a/dev-libs/crossguid/Manifest
+++ b/dev-libs/crossguid/Manifest
@@ -1 +1,2 @@
+DIST crossguid-0.2.2_p20190529.tar.gz 141660 BLAKE2B 0f78a8ab5a420297f666b3b8156d499a9141ec25c049d4d2bb2ba594dc585abe211a149b83c605cce4f5530207231a065d5f3a87a0c969781de8c6381afa2527 SHA512 f0a80d8e99b10473bcfdfde3d1c5fd7b766959819f0d1c0595ac84ce46db9007a5fbfde9a55aca60530c46cb7f8ef4c7e472c6191559ded92f868589c141ccaf
DIST crossguid-0_pre20150817.tar.gz 46569 BLAKE2B 3384b6c507c4713f5ea0d6012138f3543445a42c7353e934e267b91275f7cf75720a446f5fe24f334b1022946f856a65f5c158d0036c999c761e626c1e30062a SHA512 823ca301f1d3b78a778649cd9169194d98dd33c65cadd5bfb9f86429e82049c99c17e09f093b92675981d2aac2aac25b60cbb157fad57a3e1bada826edd8ba0a
diff --git a/dev-libs/crossguid/crossguid-0.2.2_p20190529.ebuild b/dev-libs/crossguid/crossguid-0.2.2_p20190529.ebuild
new file mode 100644
index 000000000000..580736e93e7d
--- /dev/null
+++ b/dev-libs/crossguid/crossguid-0.2.2_p20190529.ebuild
@@ -0,0 +1,52 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit edo cmake
+
+MY_COMMIT="ca1bf4b810e2d188d04cb6286f957008ee1b7681"
+
+DESCRIPTION="Lightweight cross platform C++ GUID/UUID library"
+HOMEPAGE="https://github.com/graeme-hill/crossguid"
+SRC_URI="https://github.com/graeme-hill/crossguid/archive/${MY_COMMIT}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/${PN}-${MY_COMMIT}"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 ~arm arm64 ~riscv x86"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+# We use libuuid from util-linux.
+DEPEND="sys-apps/util-linux"
+RDEPEND="${DEPEND}"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-0.2.2_p20190529-gcc-13.patch
+)
+
+src_prepare() {
+ # https://github.com/graeme-hill/crossguid/pull/62
+ sed -i -e 's:-Werror::' CMakeLists.txt || die
+
+ cmake_src_prepare
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DCROSSGUID_TESTS=$(usex test)
+ )
+
+ cmake_src_configure
+}
+
+src_test() {
+ edo "${BUILD_DIR}"/crossguid-test
+}
+
+src_install() {
+ cmake_src_install
+
+ rm "${ED}"/usr/share/crossguid/LICENSE || die
+}
diff --git a/dev-libs/crossguid/crossguid-0_pre20150817.ebuild b/dev-libs/crossguid/crossguid-0_pre20150817.ebuild
index ebe790edd00c..9c61857673ce 100644
--- a/dev-libs/crossguid/crossguid-0_pre20150817.ebuild
+++ b/dev-libs/crossguid/crossguid-0_pre20150817.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
@@ -19,7 +19,7 @@ HOMEPAGE="https://github.com/graeme-hill/crossguid"
LICENSE="MIT"
SLOT="0"
-KEYWORDS="amd64 ~arm arm64 x86"
+KEYWORDS="amd64 ~arm arm64 ~riscv x86"
# We use libuuid from util-linux.
DEPEND="sys-apps/util-linux"
diff --git a/dev-libs/crossguid/files/crossguid-0.2.2_p20190529-gcc-13.patch b/dev-libs/crossguid/files/crossguid-0.2.2_p20190529-gcc-13.patch
new file mode 100644
index 000000000000..b18880cca2e8
--- /dev/null
+++ b/dev-libs/crossguid/files/crossguid-0.2.2_p20190529-gcc-13.patch
@@ -0,0 +1,24 @@
+https://github.com/graeme-hill/crossguid/pull/67
+
+From 1eb9bea38c320b2b588635cffceaaa2a8d434780 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Wed, 25 Jan 2023 22:09:26 -0800
+Subject: [PATCH] include missing <cstdint>
+
+gcc 13 moved some includes around and as a result <cstdint> is no longer transitively
+included [1]. Explicitly include it for uint{32,64}_t.
+
+[1] https://gcc.gnu.org/gcc-13/porting_to.html#header-dep-changes
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+--- a/include/crossguid/guid.hpp
++++ b/include/crossguid/guid.hpp
+@@ -29,6 +29,7 @@ THE SOFTWARE.
+ #include <jni.h>
+ #endif
+
++#include <cstdint>
+ #include <functional>
+ #include <iostream>
+ #include <array>
+
diff --git a/dev-libs/crypto++/Manifest b/dev-libs/crypto++/Manifest
index 286877ceff98..efe260be1d24 100644
--- a/dev-libs/crypto++/Manifest
+++ b/dev-libs/crypto++/Manifest
@@ -1,6 +1,2 @@
-DIST cryptopp820.zip 8859815 BLAKE2B 67aa850b887ae7aa869c9485bb18784492f6eec6cb12bf7c7cf84c776731eabf3c31965b47a60287e4e5a79dd3e9f0928dcfb185a0010a76f7cb96d2c3e8c6ae SHA512 753513a4ec8dd0fff2f551853ce6bd265d82219c28b033565b565b5e567fbee17adb419f4cde58a97e62b7d6533f4099aa4996cd0ba4775c6a2e7ae63a879da5
-DIST cryptopp840.zip 9124180 BLAKE2B de57ece8644aef68e40527e2dfe1892f924f1939617ce11d8d27253f15f2dd11cba6e594dd32f75ce799392c12ef22472fcb2f3e44b9c66bb2ae093d4c7e781e SHA512 4c32b6a9ce8a6925286185f65f7413fa1a430471f09624219656b1d088674c56f95fcc3b64f611632f12cb56dfecdcd41c9d1468942b8c391425a548245dde09
-DIST cryptopp850.zip 9125575 BLAKE2B 857a65d63d17a3447d3cbd8370f9d750c480a9734c79739550b1ec7a6da3e7183af5748c2dfa5127be3810d73960af2f3b09b4b2bf4e624a43bfc4357ecde12b SHA512 090472545c74bbf0579b56b09e8b5dcd777b38f29f7199a2e68f45d4a8c687acc82f105ba8b2a38f9aa65e5997a3d846aaf2341ab74d58b4bbfd1f5f03823b93
-DIST cryptopp850.zip.sig 659 BLAKE2B e56d059069aa233b11dd1dd2c555ba8b9b0d12474d4f5ec9057e626ad22449959b9474ccf9ce553a2507f50215b669cf4b90cab6b51697559a6ffb95d41da9ec SHA512 7b59fbeb14fea942c846573c7bf8e76d6cee86aca4b605ce06323bc6f5549232285864cd735c2a882ca4df3d93747436a5268fee63dbf8eb43c503143b660e63
-DIST cryptopp860.zip 9274149 BLAKE2B c93998e2deb93abf12b801877404f0f82547bfbbbc5aae727e68daffc2407877dda76d7bcd06239d40a48baf21b6f2e29f74e9a97ecbc1b5d4b5bcc50ada71da SHA512 e7773f5e4a7dc7e8e735b1702524bee56ba38e5211544c9c9778bc51ed8dc7b376c17f2e406410043b636312336f26f76dc963f298872f8c13933e88c232fc03
-DIST cryptopp860.zip.sig 659 BLAKE2B 591a535092c61964c0fbb1ba31e44e70fc5f15757b9b56476ff64de0c28d47a13fe99d7f5819cfeb52e514ade1454622451b267bcc751868defcb080ddf79e8c SHA512 6231816b1ccec75cbcdd09daa8895830c5f4c595a4a0aa24dacc3e377832d8db5efa1aeadf815e53db32fc5263b09dd1b249668f34da4bfad5d5cba6f031ce21
+DIST cryptopp890.zip 9288053 BLAKE2B 95fe0585cff826587a301dd3df863c39cba889d407bb70ae7b35a4f9a0f7f5fef83b1c65cb95923a05f8ae91f18ed20e88738e8bb081a3f9c8c49c2d67d44ecc SHA512 903970c4c0312272e93bae0cc3477be66b273dd38c9329fda9f7157ec44e247a3bc16b9d2b4ad625f258af0eaf2dc2c4210d4d14829b455f180983859a5c4b41
+DIST cryptopp890.zip.sig 659 BLAKE2B 741ec10a01a444573fbcf749258e26461ff131935fede8f47b3f2dd8c51f3b43a9af894e0e31f9ad925baf451bdd747b7e22cc8b178992e4190bba503f9bf648 SHA512 4891cf446a47000453884f36f4f8db2da254e11b573c02690fd5e1de604f01498a479847a732abaf0f75b1cdf3cd5bc104f6be240d0de6c7184a3651c674ac95
diff --git a/dev-libs/crypto++/crypto++-8.2.0-r2.ebuild b/dev-libs/crypto++/crypto++-8.2.0-r2.ebuild
deleted file mode 100644
index a52ee90857ea..000000000000
--- a/dev-libs/crypto++/crypto++-8.2.0-r2.ebuild
+++ /dev/null
@@ -1,61 +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++ class library of cryptographic schemes"
-HOMEPAGE="https://cryptopp.com"
-SRC_URI="https://www.cryptopp.com/cryptopp${PV//.}.zip"
-
-LICENSE="Boost-1.0"
-SLOT="0/8" # subslot is so version
-KEYWORDS="~alpha amd64 ~arm arm64 ~hppa ppc ppc64 sparc x86 ~x64-macos"
-IUSE="+asm cpu_flags_x86_aes cpu_flags_x86_avx cpu_flags_x86_avx2 cpu_flags_x86_pclmul cpu_flags_x86_sha cpu_flags_x86_sse2 cpu_flags_x86_sse4_2 cpu_flags_x86_ssse3 static-libs"
-
-BDEPEND="app-arch/unzip"
-
-S="${WORKDIR}"
-
-PATCHES=(
- "${FILESDIR}/${P}-build.patch"
- "${FILESDIR}/${PN}-8.2.0-musl-ldconfig.patch"
-)
-
-config_add() {
- sed -i -e "/Important Settings/a#define $1 1" config.h || die
-}
-
-pkg_setup() {
- export CXX="$(tc-getCXX)"
- export LIBDIR="${EPREFIX}/usr/$(get_libdir)"
- export PREFIX="${EPREFIX}/usr"
-}
-
-src_prepare() {
- default
-
- use asm || config_add CRYPTOPP_DISABLE_ASM
- use cpu_flags_x86_aes || config_add CRYPTOPP_DISABLE_AESNI
- use cpu_flags_x86_avx || config_add CRYPTOPP_DISABLE_AVX
- use cpu_flags_x86_avx2 || config_add CRYPTOPP_DISABLE_AVX2
- use cpu_flags_x86_pclmul || config_add CRYPTOPP_DISABLE_CLMUL
- use cpu_flags_x86_sha || config_add CRYPTOPP_DISABLE_SHANI
- use cpu_flags_x86_sse2 || config_add CRYPTOPP_DISABLE_SSE2
- use cpu_flags_x86_sse4_2 || config_add CRYPTOPP_DISABLE_SSE4
- use cpu_flags_x86_ssse3 || config_add CRYPTOPP_DISABLE_SSSE3
-
- # ASM isn't Darwin/Mach-O ready, #479554, buildsys doesn't grok CPPFLAGS
- [[ ${CHOST} == *-darwin* ]] && config_add CRYPTOPP_DISABLE_ASM
-}
-
-src_compile() {
- emake -f GNUmakefile all shared libcryptopp.pc
-}
-
-src_install() {
- default
-
- use static-libs || rm -f "${ED}"/usr/$(get_libdir)/*.a
-}
diff --git a/dev-libs/crypto++/crypto++-8.4.0.ebuild b/dev-libs/crypto++/crypto++-8.4.0.ebuild
deleted file mode 100644
index 276755fe4309..000000000000
--- a/dev-libs/crypto++/crypto++-8.4.0.ebuild
+++ /dev/null
@@ -1,53 +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++ class library of cryptographic schemes"
-HOMEPAGE="https://cryptopp.com"
-SRC_URI="https://www.cryptopp.com/cryptopp${PV//.}.zip"
-S="${WORKDIR}"
-
-LICENSE="Boost-1.0"
-SLOT="0/8.4" # subslot is so version (was broken in 8.3.0, check on bumps!)
-KEYWORDS="~alpha amd64 ~arm arm64 ~hppa ppc ppc64 sparc x86 ~x64-macos"
-IUSE="+asm static-libs"
-
-BDEPEND="app-arch/unzip"
-
-PATCHES=(
- "${FILESDIR}/${PN}-8.2.0-musl-ldconfig.patch"
-)
-
-config_uncomment() {
- sed -i -e "s://\s*\(#define\s*$1\):\1:" config.h || die
-}
-
-src_prepare() {
- default
-
- use asm || config_uncomment CRYPTOPP_DISABLE_ASM
-
- # ASM isn't Darwin/Mach-O ready, #479554, buildsys doesn't grok CPPFLAGS
- [[ ${CHOST} == *-darwin* ]] && config_uncomment CRYPTOPP_DISABLE_ASM
-}
-
-src_configure() {
- export CXX="$(tc-getCXX)"
- export LIBDIR="${EPREFIX}/usr/$(get_libdir)"
- export PREFIX="${EPREFIX}/usr"
- tc-export AR RANLIB
- default
-}
-
-src_compile() {
- emake -f GNUmakefile all shared libcryptopp.pc
-}
-
-src_install() {
- default
-
- use static-libs || rm -f "${ED}"/usr/$(get_libdir)/*.a
-}
diff --git a/dev-libs/crypto++/crypto++-8.5.0.ebuild b/dev-libs/crypto++/crypto++-8.5.0.ebuild
deleted file mode 100644
index af996cfaed97..000000000000
--- a/dev-libs/crypto++/crypto++-8.5.0.ebuild
+++ /dev/null
@@ -1,60 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-VERIFY_SIG_OPENPGP_KEY_PATH=${BROOT}/usr/share/openpgp-keys/crypto++.asc
-inherit toolchain-funcs verify-sig
-
-DESCRIPTION="C++ class library of cryptographic schemes"
-HOMEPAGE="https://cryptopp.com"
-SRC_URI="https://www.cryptopp.com/cryptopp${PV//.}.zip"
-SRC_URI+=" verify-sig? ( https://cryptopp.com/cryptopp${PV//.}.zip.sig )"
-S="${WORKDIR}"
-
-LICENSE="Boost-1.0"
-# Bumped to 8.5 in 8.5.0 out of caution
-# subslot is so version (was broken in 8.3.0, check on bumps!)
-SLOT="0/8.5"
-KEYWORDS="~alpha amd64 ~arm arm64 ~hppa ppc ppc64 ~riscv sparc x86 ~x64-macos"
-IUSE="+asm static-libs"
-
-BDEPEND="
- app-arch/unzip
- verify-sig? ( sec-keys/openpgp-keys-crypto++ )
-"
-
-PATCHES=(
- "${FILESDIR}/${PN}-8.2.0-musl-ldconfig.patch"
-)
-
-config_uncomment() {
- sed -i -e "s://\s*\(#define\s*$1\):\1:" config.h || die
-}
-
-src_prepare() {
- default
-
- use asm || config_uncomment CRYPTOPP_DISABLE_ASM
-
- # ASM isn't Darwin/Mach-O ready, #479554, buildsys doesn't grok CPPFLAGS
- [[ ${CHOST} == *-darwin* ]] && config_uncomment CRYPTOPP_DISABLE_ASM
-}
-
-src_configure() {
- export CXX="$(tc-getCXX)"
- export LIBDIR="${EPREFIX}/usr/$(get_libdir)"
- export PREFIX="${EPREFIX}/usr"
- tc-export AR RANLIB
- default
-}
-
-src_compile() {
- emake -f GNUmakefile all shared libcryptopp.pc
-}
-
-src_install() {
- default
-
- use static-libs || rm -f "${ED}"/usr/$(get_libdir)/*.a
-}
diff --git a/dev-libs/crypto++/crypto++-8.6.0.ebuild b/dev-libs/crypto++/crypto++-8.6.0.ebuild
deleted file mode 100644
index 23fa80f92eba..000000000000
--- a/dev-libs/crypto++/crypto++-8.6.0.ebuild
+++ /dev/null
@@ -1,61 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-VERIFY_SIG_OPENPGP_KEY_PATH=${BROOT}/usr/share/openpgp-keys/crypto++.asc
-inherit toolchain-funcs verify-sig
-
-DESCRIPTION="C++ class library of cryptographic schemes"
-HOMEPAGE="https://cryptopp.com"
-SRC_URI="https://www.cryptopp.com/cryptopp${PV//.}.zip"
-SRC_URI+=" verify-sig? ( https://cryptopp.com/cryptopp${PV//.}.zip.sig )"
-S="${WORKDIR}"
-
-LICENSE="Boost-1.0"
-# Bumped to 8.5 in 8.5.0 out of caution
-# subslot is so version (was broken in 8.3.0, check on bumps!)
-# Seems to be broken in 8.6 again too
-SLOT="0/8.6"
-KEYWORDS="~alpha amd64 ~arm arm64 ~hppa ppc ppc64 ~riscv sparc x86 ~x64-macos"
-IUSE="+asm static-libs"
-
-BDEPEND="
- app-arch/unzip
- verify-sig? ( sec-keys/openpgp-keys-crypto++ )
-"
-
-PATCHES=(
- "${FILESDIR}/${PN}-8.2.0-musl-ldconfig.patch"
-)
-
-config_uncomment() {
- sed -i -e "s://\s*\(#define\s*$1\):\1:" config.h || die
-}
-
-src_prepare() {
- default
-
- use asm || config_uncomment CRYPTOPP_DISABLE_ASM
-
- # ASM isn't Darwin/Mach-O ready, #479554, buildsys doesn't grok CPPFLAGS
- [[ ${CHOST} == *-darwin* ]] && config_uncomment CRYPTOPP_DISABLE_ASM
-}
-
-src_configure() {
- export CXX="$(tc-getCXX)"
- export LIBDIR="${EPREFIX}/usr/$(get_libdir)"
- export PREFIX="${EPREFIX}/usr"
- tc-export AR RANLIB
- default
-}
-
-src_compile() {
- emake -f GNUmakefile all shared libcryptopp.pc
-}
-
-src_install() {
- default
-
- use static-libs || rm -f "${ED}"/usr/$(get_libdir)/*.a
-}
diff --git a/dev-libs/crypto++/crypto++-8.9.0.ebuild b/dev-libs/crypto++/crypto++-8.9.0.ebuild
new file mode 100644
index 000000000000..f8876e39738b
--- /dev/null
+++ b/dev-libs/crypto++/crypto++-8.9.0.ebuild
@@ -0,0 +1,73 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/crypto++.asc
+inherit flag-o-matic toolchain-funcs verify-sig
+
+DESCRIPTION="C++ class library of cryptographic schemes"
+HOMEPAGE="https://cryptopp.com"
+SRC_URI="
+ https://www.cryptopp.com/cryptopp${PV//.}.zip
+ verify-sig? ( https://cryptopp.com/cryptopp${PV//.}.zip.sig )
+"
+
+S="${WORKDIR}"
+
+LICENSE="Boost-1.0"
+# ABI notes:
+# - Bumped to 8.5 in 8.5.0 out of caution
+# subslot is so version (was broken in 8.3.0, check on bumps!)
+# Seems to be broken in 8.6 again too
+#
+# - See https://cryptopp.com/#news, but releases usually say
+# "recompile of programs required". Even if it doesn't,
+# verify with abidiff!
+SLOT="0/${PV}"
+KEYWORDS="~alpha amd64 ~arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv sparc x86 ~x64-macos"
+IUSE="+asm static-libs"
+
+BDEPEND="
+ app-arch/unzip
+ verify-sig? ( sec-keys/openpgp-keys-crypto++ )
+"
+
+config_uncomment() {
+ sed -i -e "s://\s*\(#define\s*$1\):\1:" config.h || die
+}
+
+src_prepare() {
+ default
+
+ use asm || config_uncomment CRYPTOPP_DISABLE_ASM
+
+ # ASM isn't Darwin/Mach-O ready, #479554, buildsys doesn't grok CPPFLAGS
+ [[ ${CHOST} == *-darwin* ]] && config_uncomment CRYPTOPP_DISABLE_ASM
+}
+
+src_configure() {
+ export CXX="$(tc-getCXX)"
+ export LIBDIR="${EPREFIX}/usr/$(get_libdir)"
+ export PREFIX="${EPREFIX}/usr"
+ tc-export AR RANLIB
+
+ # Long history of correctness bugs:
+ # https://github.com/weidai11/cryptopp/issues/1134
+ # https://github.com/weidai11/cryptopp/issues/1141
+ # https://github.com/weidai11/cryptopp/pull/1147
+ append-flags -fno-strict-aliasing
+ filter-lto
+
+ default
+}
+
+src_compile() {
+ emake -f GNUmakefile LDCONF=true all shared libcryptopp.pc
+}
+
+src_install() {
+ emake DESTDIR="${D}" LDCONF=true install
+
+ use static-libs || rm -f "${ED}"/usr/$(get_libdir)/*.a
+}
diff --git a/dev-libs/crypto++/files/crypto++-8.2.0-build.patch b/dev-libs/crypto++/files/crypto++-8.2.0-build.patch
deleted file mode 100644
index 7c7e8a9c1b66..000000000000
--- a/dev-libs/crypto++/files/crypto++-8.2.0-build.patch
+++ /dev/null
@@ -1,271 +0,0 @@
---- a/config.h 2019-07-02 19:25:10.448720035 +0300
-+++ a/config.h 2019-07-02 19:25:25.785455586 +0300
-@@ -514,7 +514,7 @@ NAMESPACE_END
- #endif
-
- // 32-bit SunCC does not enable SSE2 by default.
--#if !defined(CRYPTOPP_DISABLE_ASM) && (defined(_MSC_VER) || CRYPTOPP_GCC_VERSION >= 30300 || defined(__SSE2__) || (__SUNPRO_CC >= 0x5100))
-+#if !defined(CRYPTOPP_DISABLE_ASM) && !defined(CRYPTOPP_DISABLE_SSE2) && (defined(_MSC_VER) || CRYPTOPP_GCC_VERSION >= 30300 || defined(__SSE2__) || (__SUNPRO_CC >= 0x5100))
- #define CRYPTOPP_SSE2_INTRIN_AVAILABLE 1
- #endif
-
-From fbbf0a08e8cf4faca661b0f75f806ea652abea70 Mon Sep 17 00:00:00 2001
-From: Jeffrey Walton <noloader@gmail.com>
-Date: Tue, 2 Jul 2019 16:55:00 -0400
-Subject: [PATCH] Add missing XOP header for blake2b_simd.cpp (GH #859) The
- Gentoo folks caught a bug at https://bugs.gentoo.org/689162. The 689162 bug
- uses -march=bdver1 -msse4.1 on a AMD Bulldozer machine.
-
-Investigating the issue we are missing the XOP header blake2b_simd.cpp. However, adding the XOP header is not enough for this particular config. Four source files fail to compile with the expected headers. We are waiting on the GCC folks to get back to us with a fix.
----
- blake2b_simd.cpp | 5 +++++
- keccak_simd.cpp | 5 +++++
- simon128_simd.cpp | 1 +
- speck128_simd.cpp | 1 +
- 4 files changed, 12 insertions(+)
-
-diff --git a/blake2b_simd.cpp b/blake2b_simd.cpp
-index ff138321..b246824c 100644
---- a/blake2b_simd.cpp
-+++ b/blake2b_simd.cpp
-@@ -32,6 +32,11 @@
- # undef CRYPTOPP_ALTIVEC_AVAILABLE
- #endif
-
-+#if defined(__XOP__)
-+# include <immintrin.h>
-+# include <ammintrin.h>
-+#endif
-+
- #if (CRYPTOPP_SSE41_AVAILABLE)
- # include <emmintrin.h>
- # include <tmmintrin.h>
-diff --git a/keccak_simd.cpp b/keccak_simd.cpp
-index 45674ac2..ae2f2095 100644
---- a/keccak_simd.cpp
-+++ b/keccak_simd.cpp
-@@ -26,6 +26,11 @@
- # include <tmmintrin.h>
- #endif
-
-+#if defined(__XOP__)
-+# include <immintrin.h>
-+# include <ammintrin.h>
-+#endif
-+
- // Squash MS LNK4221 and libtool warnings
- extern const char KECCAK_SIMD_FNAME[] = __FILE__;
-
-diff --git a/simon128_simd.cpp b/simon128_simd.cpp
-index 5331c351..4b551f8f 100644
---- a/simon128_simd.cpp
-+++ b/simon128_simd.cpp
-@@ -23,6 +23,7 @@
- #endif
-
- #if defined(__XOP__)
-+# include <immintrin.h>
- # include <ammintrin.h>
- #endif
-
-diff --git a/speck128_simd.cpp b/speck128_simd.cpp
-index 2c356346..fb3eb1e6 100644
---- a/speck128_simd.cpp
-+++ b/speck128_simd.cpp
-@@ -23,6 +23,7 @@
- #endif
-
- #if defined(__XOP__)
-+# include <immintrin.h>
- # include <ammintrin.h>
- #endif
-
---
-2.21.0
-
-From eeb7dadc76572b7061922ca6ac5f247bdfd985ad Mon Sep 17 00:00:00 2001
-From: Jeffrey Walton <noloader@gmail.com>
-Date: Tue, 2 Jul 2019 19:10:11 -0400
-Subject: [PATCH] Fix missing _mm_roti_epi32 and _mm_roti_epi64 under GCC (GH
- #859)
-
----
- blake2b_simd.cpp | 4 +++-
- blake2s_simd.cpp | 7 +++++++
- chacha_simd.cpp | 3 +++
- cham_simd.cpp | 3 +++
- keccak_simd.cpp | 4 +++-
- lea_simd.cpp | 3 +++
- simeck_simd.cpp | 3 +++
- simon128_simd.cpp | 4 +++-
- simon64_simd.cpp | 3 +++
- speck128_simd.cpp | 4 +++-
- speck64_simd.cpp | 3 +++
- 11 files changed, 37 insertions(+), 4 deletions(-)
-
-diff --git a/blake2b_simd.cpp b/blake2b_simd.cpp
-index b246824c..6803d0ae 100644
---- a/blake2b_simd.cpp
-+++ b/blake2b_simd.cpp
-@@ -33,8 +33,10 @@
- #endif
-
- #if defined(__XOP__)
--# include <immintrin.h>
- # include <ammintrin.h>
-+# if defined(__GNUC__)
-+# include <x86intrin.h>
-+# endif
- #endif
-
- #if (CRYPTOPP_SSE41_AVAILABLE)
-diff --git a/blake2s_simd.cpp b/blake2s_simd.cpp
-index f02b9771..4b6d1bd6 100644
---- a/blake2s_simd.cpp
-+++ b/blake2s_simd.cpp
-@@ -42,6 +42,13 @@
- # undef CRYPTOPP_ALTIVEC_AVAILABLE
- #endif
-
-+#if defined(__XOP__)
-+# include <ammintrin.h>
-+# if defined(__GNUC__)
-+# include <x86intrin.h>
-+# endif
-+#endif
-+
- #if (CRYPTOPP_SSE41_AVAILABLE)
- # include <emmintrin.h>
- # include <tmmintrin.h>
-diff --git a/chacha_simd.cpp b/chacha_simd.cpp
-index a983ab69..5a63ecee 100644
---- a/chacha_simd.cpp
-+++ b/chacha_simd.cpp
-@@ -46,6 +46,9 @@
-
- #if defined(__XOP__)
- # include <ammintrin.h>
-+# if defined(__GNUC__)
-+# include <x86intrin.h>
-+# endif
- #endif
-
- // C1189: error: This header is specific to ARM targets
-diff --git a/cham_simd.cpp b/cham_simd.cpp
-index 7fcaece1..e102a877 100644
---- a/cham_simd.cpp
-+++ b/cham_simd.cpp
-@@ -24,6 +24,9 @@
-
- #if defined(__XOP__)
- # include <ammintrin.h>
-+# if defined(__GNUC__)
-+# include <x86intrin.h>
-+# endif
- #endif
-
- #if defined(__AVX512F__)
-diff --git a/keccak_simd.cpp b/keccak_simd.cpp
-index ae2f2095..194291a0 100644
---- a/keccak_simd.cpp
-+++ b/keccak_simd.cpp
-@@ -27,8 +27,10 @@
- #endif
-
- #if defined(__XOP__)
--# include <immintrin.h>
- # include <ammintrin.h>
-+# if defined(__GNUC__)
-+# include <x86intrin.h>
-+# endif
- #endif
-
- // Squash MS LNK4221 and libtool warnings
-diff --git a/lea_simd.cpp b/lea_simd.cpp
-index b4180e34..ee2a5697 100644
---- a/lea_simd.cpp
-+++ b/lea_simd.cpp
-@@ -24,6 +24,9 @@
-
- #if defined(__XOP__)
- # include <ammintrin.h>
-+# if defined(__GNUC__)
-+# include <x86intrin.h>
-+# endif
- #endif
-
- #if defined(__AVX512F__)
-diff --git a/simeck_simd.cpp b/simeck_simd.cpp
-index 2a9efc99..f92a53d7 100644
---- a/simeck_simd.cpp
-+++ b/simeck_simd.cpp
-@@ -24,6 +24,9 @@
-
- #if defined(__XOP__)
- # include <ammintrin.h>
-+# if defined(__GNUC__)
-+# include <x86intrin.h>
-+# endif
- #endif
-
- // Squash MS LNK4221 and libtool warnings
-diff --git a/simon128_simd.cpp b/simon128_simd.cpp
-index 4b551f8f..cb16fa8d 100644
---- a/simon128_simd.cpp
-+++ b/simon128_simd.cpp
-@@ -23,8 +23,10 @@
- #endif
-
- #if defined(__XOP__)
--# include <immintrin.h>
- # include <ammintrin.h>
-+# if defined(__GNUC__)
-+# include <x86intrin.h>
-+# endif
- #endif
-
- #if defined(__AVX512F__)
-diff --git a/simon64_simd.cpp b/simon64_simd.cpp
-index eb5a1757..fcbe1342 100644
---- a/simon64_simd.cpp
-+++ b/simon64_simd.cpp
-@@ -25,6 +25,9 @@
-
- #if defined(__XOP__)
- # include <ammintrin.h>
-+# if defined(__GNUC__)
-+# include <x86intrin.h>
-+# endif
- #endif
-
- // C1189: error: This header is specific to ARM targets
-diff --git a/speck128_simd.cpp b/speck128_simd.cpp
-index fb3eb1e6..0c0f389e 100644
---- a/speck128_simd.cpp
-+++ b/speck128_simd.cpp
-@@ -23,8 +23,10 @@
- #endif
-
- #if defined(__XOP__)
--# include <immintrin.h>
- # include <ammintrin.h>
-+# if defined(__GNUC__)
-+# include <x86intrin.h>
-+# endif
- #endif
-
- #if defined(__AVX512F__)
-diff --git a/speck64_simd.cpp b/speck64_simd.cpp
-index 0a720fb3..0b43c175 100644
---- a/speck64_simd.cpp
-+++ b/speck64_simd.cpp
-@@ -25,6 +25,9 @@
-
- #if defined(__XOP__)
- # include <ammintrin.h>
-+# if defined(__GNUC__)
-+# include <x86intrin.h>
-+# endif
- #endif
-
- // C1189: error: This header is specific to ARM targets
diff --git a/dev-libs/crypto++/files/crypto++-8.2.0-musl-ldconfig.patch b/dev-libs/crypto++/files/crypto++-8.2.0-musl-ldconfig.patch
deleted file mode 100644
index 2ae8d287e12e..000000000000
--- a/dev-libs/crypto++/files/crypto++-8.2.0-musl-ldconfig.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-https://github.com/void-ppc/void-packages/blob/master/srcpkgs/crypto++/patches/musl-soname-links.patch
-https://bugs.gentoo.org/762997
---- a/GNUmakefile
-+++ b/GNUmakefile
-@@ -1256,7 +1256,7 @@
- $(CHMOD) 0755 $(DESTDIR)$(LIBDIR)/libcryptopp.so$(SOLIB_VERSION_SUFFIX)
- ifeq ($(HAS_SOLIB_VERSION),1)
- -$(LN) libcryptopp.so$(SOLIB_VERSION_SUFFIX) $(DESTDIR)$(LIBDIR)/libcryptopp.so
-- $(LDCONF) $(DESTDIR)$(LIBDIR)
-+ -$(LN) libcryptopp.so$(SOLIB_VERSION_SUFFIX) $(DESTDIR)$(LIBDIR)/libcryptopp.so$(SOLIB_COMPAT_SUFFIX)
- endif
- endif
- ifneq ($(wildcard libcryptopp.pc),)
---- a/GNUmakefile-cross
-+++ b/GNUmakefile-cross
-@@ -732,7 +732,7 @@
- $(CHMOD) 0755 $(DESTDIR)$(LIBDIR)/libcryptopp.so$(SOLIB_VERSION_SUFFIX)
- ifeq ($(HAS_SOLIB_VERSION),1)
- -$(LN) libcryptopp.so$(SOLIB_VERSION_SUFFIX) $(DESTDIR)$(LIBDIR)/libcryptopp.so
-- $(LDCONF) $(DESTDIR)$(LIBDIR)
-+ -$(LN) -sf libcryptopp.so$(SOLIB_VERSION_SUFFIX) $(DESTDIR)$(LIBDIR)/libcryptopp.so$(SOLIB_COMPAT_SUFFIX)
- endif
- endif
- ifneq ($(wildcard libcryptopp.pc),)
diff --git a/dev-libs/crypto++/metadata.xml b/dev-libs/crypto++/metadata.xml
index 0d69ce7acf1c..350684939bd1 100644
--- a/dev-libs/crypto++/metadata.xml
+++ b/dev-libs/crypto++/metadata.xml
@@ -5,9 +5,6 @@
<email>sam@gentoo.org</email>
<name>Sam James</name>
</maintainer>
- <use>
- <flag name="asm">Support assembly hand optimized crypto functions (i.e. faster run time)</flag>
- </use>
<upstream>
<remote-id type="github">weidai11/cryptopp</remote-id>
</upstream>
diff --git a/dev-libs/cudnn-frontend/Manifest b/dev-libs/cudnn-frontend/Manifest
new file mode 100644
index 000000000000..efcf66a60000
--- /dev/null
+++ b/dev-libs/cudnn-frontend/Manifest
@@ -0,0 +1,3 @@
+DIST cudnn-frontend-0.6.2.tar.gz 18658544 BLAKE2B b60e94a58cd414fee1da2b7da8ea83122dedfb59d5db8b987f7d3d42b00d2634c85dabf45fc81e607a6a4f8c2485690294a724ab744ad4025003ab3fd9a69028 SHA512 d0de74ca90771a38d609fc4784372f35c418dfade4b54f1035ee333567560c7c1dd559490e9a6efdf1043cb91ca27d159f31297238ec9d3578532d77ca505e17
+DIST cudnn-frontend-0.7.3.tar.gz 18685637 BLAKE2B 77ce32fb84cca43a431c6ad0d7be96f56975369e5f7c2f22e011c895200b92966f0cb48d6f7b01a66d8b89837ed4b955d8bd93a3bcf07ad0b29a247b3d73f6a4 SHA512 bd2fe79404f60975ca40792d373d6a388aad900ac98e42fd4258f4405a0b189641e400b1bd634b38b3376ee1b91a82cf76b152038992cdf83f629e76b3f69f93
+DIST cudnn-frontend-0.9.2.tar.gz 18582081 BLAKE2B d8611231f73f3716bca8c2d851439355121ca2460dd46cf8149632fa53094b7b2a2e9d6840dfcd2c1da113f8b6f06c15559c90c6c5333b36d5c29bd9997733e1 SHA512 0cc326e8395183ab3bc2d90a2155a80318daa9c1d6b30522efc42716bd7000ba036d802a8080a1a6a1f3c017a514f2bed936df57a7cab92c8fcd0136f4312912
diff --git a/dev-libs/cudnn-frontend/cudnn-frontend-0.6.2.ebuild b/dev-libs/cudnn-frontend/cudnn-frontend-0.6.2.ebuild
new file mode 100644
index 000000000000..30ef2c4c7f0f
--- /dev/null
+++ b/dev-libs/cudnn-frontend/cudnn-frontend-0.6.2.ebuild
@@ -0,0 +1,20 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DESCRIPTION="A c++ wrapper for the cudnn backend API"
+HOMEPAGE="https://github.com/NVIDIA/cudnn-frontend"
+SRC_URI="https://github.com/NVIDIA/cudnn-frontend/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0/8"
+KEYWORDS="~amd64"
+
+RDEPEND="=dev-libs/cudnn-8*"
+DEPEND="${RDEPEND}"
+
+src_install() {
+ insinto /opt/cuda/targets/x86_64-linux
+ doins -r include
+}
diff --git a/dev-libs/cudnn-frontend/cudnn-frontend-0.7.3.ebuild b/dev-libs/cudnn-frontend/cudnn-frontend-0.7.3.ebuild
new file mode 100644
index 000000000000..0ad71cab6763
--- /dev/null
+++ b/dev-libs/cudnn-frontend/cudnn-frontend-0.7.3.ebuild
@@ -0,0 +1,20 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DESCRIPTION="A c++ wrapper for the cudnn backend API"
+HOMEPAGE="https://github.com/NVIDIA/cudnn-frontend"
+SRC_URI="https://github.com/NVIDIA/cudnn-frontend/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0/8"
+KEYWORDS="~amd64"
+
+RDEPEND="=dev-libs/cudnn-8*"
+DEPEND="${RDEPEND}"
+
+src_install() {
+ insinto /opt/cuda/targets/x86_64-linux
+ doins -r include
+}
diff --git a/dev-libs/cudnn-frontend/cudnn-frontend-0.9.2.ebuild b/dev-libs/cudnn-frontend/cudnn-frontend-0.9.2.ebuild
new file mode 100644
index 000000000000..0ad71cab6763
--- /dev/null
+++ b/dev-libs/cudnn-frontend/cudnn-frontend-0.9.2.ebuild
@@ -0,0 +1,20 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DESCRIPTION="A c++ wrapper for the cudnn backend API"
+HOMEPAGE="https://github.com/NVIDIA/cudnn-frontend"
+SRC_URI="https://github.com/NVIDIA/cudnn-frontend/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0/8"
+KEYWORDS="~amd64"
+
+RDEPEND="=dev-libs/cudnn-8*"
+DEPEND="${RDEPEND}"
+
+src_install() {
+ insinto /opt/cuda/targets/x86_64-linux
+ doins -r include
+}
diff --git a/dev-libs/cudnn-frontend/metadata.xml b/dev-libs/cudnn-frontend/metadata.xml
new file mode 100644
index 000000000000..3cce6a37e444
--- /dev/null
+++ b/dev-libs/cudnn-frontend/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <!-- maintainer-needed -->
+ <upstream>
+ <remote-id type="github">NVIDIA/cudnn-frontend</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/cudnn/Manifest b/dev-libs/cudnn/Manifest
index 5f29bccc04e9..9c34802ba57a 100644
--- a/dev-libs/cudnn/Manifest
+++ b/dev-libs/cudnn/Manifest
@@ -1,3 +1,2 @@
-DIST cudnn-10.2-linux-x64-v8.3.0.98.tgz 742140405 BLAKE2B 648849c041e2e7d87a8d804a35d9e0fa1d9a454977aaec4545386ee0c8b57c502b98583a357a70b7096905f82c2a8dadc252f8b363a7975d572167f4f7f2f121 SHA512 e0c6967663bdaf0e7539b550f1aa84aaf35efe6192fc524d78f6a1bc980a79b05eeb0693e9548f4d3433864f88137ce2ff1489d7dd0e8cf883000d6c7b9a62bb
-DIST cudnn-11.5-linux-x64-v8.3.0.98.tgz 1477554466 BLAKE2B cd8b7bdca8ef08af971d56b43b80f0fe721f76cb744bfef43a9369f81a2533b00651f2c89e9084026991a1cc1c6db13b55914d966b723edbfc104c3e7626a087 SHA512 46af7d47b40a2c0ee8d5b893514755f803b5a0c7426b8d88b258e71ae6312cb553cba7dd68f63e2060849c70713330d52f93f56121f663213c16030d39b2fc1d
-DIST cudnn-linux-x86_64-8.3.1.22_cuda11.5-archive.tar.xz 856769204 BLAKE2B 375021592470b1f17d7a69701f1ac3289ceb8ddbbdacf577fa51abfdad263102d3c6cedb24ac829c49e033300532e77b6064835a8ae1e05377e375f4320c9a15 SHA512 815ef678b7510e014181f3bf782e627771e8d00d218b34f2af11436b8a49331400269f98448854353c12721468365b71a8483eb7631777f0d628982e81942a8b
+DIST cudnn-linux-x86_64-8.6.0.163_cuda11-archive.tar.xz 864470696 BLAKE2B e842f5861653f2bc8509cc654e5c40436556786610fbc4ab40781cd8246d5bc94e3e3fae0b0933c947941dc0b6eacbd44d6a54702566e5aefcff56df3f884149 SHA512 15d86b8884bf7b48b4aa1022ea26f0965dd50a9911ca1e6fb89e5266181e662547ba077b2e2e9f19bd135aef9d21fb0a3348b97c7fac9059bb241657046d6d60
+DIST cudnn-linux-x86_64-8.8.0.121_cuda12-archive.tar.xz 871089052 BLAKE2B 48f4142d7fea4192e4a910807fa7344c75372aa0d4a68e020416de960eb4b344262551e374b26cdd323751c3c75a000c63a326ece6f801a6ddfbfe06fe51ee6c SHA512 ffdbc1ca4fb03c6906b6896763790ca288aba098e50ed2fbf33a2b994a09386bc6fb5ec9a3a49a82be494331f43c85e22fa406575c4fddb30246f32ee85660e7
diff --git a/dev-libs/cudnn/cudnn-8.3.0.98.ebuild b/dev-libs/cudnn/cudnn-8.3.0.98.ebuild
deleted file mode 100644
index 1d429b598bfd..000000000000
--- a/dev-libs/cudnn/cudnn-8.3.0.98.ebuild
+++ /dev/null
@@ -1,35 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DESCRIPTION="NVIDIA Accelerated Deep Learning on GPU library"
-HOMEPAGE="https://developer.nvidia.com/cuDNN"
-SRC_URI="
- cuda10-2? ( cudnn-10.2-linux-x64-v${PV}.tgz )
- cuda11-5? ( cudnn-11.5-linux-x64-v${PV}.tgz )"
-S="${WORKDIR}"
-
-LICENSE="NVIDIA-cuDNN"
-SLOT="0/8"
-KEYWORDS="~amd64 ~amd64-linux"
-IUSE="cuda10-2 +cuda11-5"
-REQUIRED_USE="^^ ( cuda10-2 cuda11-5 )"
-RESTRICT="fetch"
-
-RDEPEND="
- cuda10-2? ( =dev-util/nvidia-cuda-toolkit-10.2* )
- cuda11-5? ( =dev-util/nvidia-cuda-toolkit-11.5* )"
-
-QA_PREBUILT="*"
-
-src_install() {
- insinto /opt/cuda
- doins cuda/NVIDIA_SLA_cuDNN_Support.txt
-
- insinto /opt/cuda/targets/x86_64-linux
- doins -r cuda/include
-
- insinto /opt/cuda/targets/x86_64-linux/lib
- doins -r cuda/lib64/.
-}
diff --git a/dev-libs/cudnn/cudnn-8.3.1.22.ebuild b/dev-libs/cudnn/cudnn-8.3.1.22.ebuild
deleted file mode 100644
index 167d9bc667cc..000000000000
--- a/dev-libs/cudnn/cudnn-8.3.1.22.ebuild
+++ /dev/null
@@ -1,29 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DESCRIPTION="NVIDIA Accelerated Deep Learning on GPU library"
-HOMEPAGE="https://developer.nvidia.com/cudnn"
-SRC_URI="cuda11-5? ( cudnn-linux-x86_64-${PV}_cuda11.5-archive.tar.xz )"
-S="${WORKDIR}/cudnn-linux-x86_64-${PV}_cuda11.5-archive"
-
-LICENSE="NVIDIA-cuDNN"
-SLOT="0/8"
-KEYWORDS="~amd64 ~amd64-linux"
-IUSE="+cuda11-5"
-REQUIRED_USE="^^ ( cuda11-5 )"
-RESTRICT="fetch"
-
-RDEPEND="
- cuda11-5? ( =dev-util/nvidia-cuda-toolkit-11.5* )"
-
-QA_PREBUILT="*"
-
-src_install() {
- insinto /opt/cuda/targets/x86_64-linux
- doins -r include
-
- insinto /opt/cuda/targets/x86_64-linux/lib
- doins -r lib/.
-}
diff --git a/dev-libs/cudnn/cudnn-8.6.0.163.ebuild b/dev-libs/cudnn/cudnn-8.6.0.163.ebuild
new file mode 100644
index 000000000000..318215eb1de8
--- /dev/null
+++ b/dev-libs/cudnn/cudnn-8.6.0.163.ebuild
@@ -0,0 +1,29 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+BASE_V="$(ver_cut 0-3)"
+# supports 11.x but URL has a specific version number
+CUDA_MA="11"
+CUDA_MI="8"
+CUDA_V="${CUDA_MA}.${CUDA_MI}"
+
+DESCRIPTION="NVIDIA Accelerated Deep Learning on GPU library"
+HOMEPAGE="https://developer.nvidia.com/cudnn"
+SRC_URI="https://developer.download.nvidia.com/compute/redist/cudnn/v${BASE_V}/local_installers/${CUDA_V}/cudnn-linux-x86_64-${PV}_cuda${CUDA_MA}-archive.tar.xz"
+S="${WORKDIR}/cudnn-linux-x86_64-${PV}_cuda${CUDA_MA}-archive"
+
+LICENSE="NVIDIA-cuDNN"
+SLOT="0/8"
+KEYWORDS="~amd64 ~amd64-linux"
+RESTRICT="mirror"
+
+RDEPEND="=dev-util/nvidia-cuda-toolkit-11*"
+
+QA_PREBUILT="/opt/cuda/targets/x86_64-linux/lib/*"
+
+src_install() {
+ insinto /opt/cuda/targets/x86_64-linux
+ doins -r include lib
+}
diff --git a/dev-libs/cudnn/cudnn-8.8.0.121.ebuild b/dev-libs/cudnn/cudnn-8.8.0.121.ebuild
new file mode 100644
index 000000000000..8cd14f1c16a4
--- /dev/null
+++ b/dev-libs/cudnn/cudnn-8.8.0.121.ebuild
@@ -0,0 +1,29 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+BASE_V="$(ver_cut 0-3)"
+# supports 12.x but URL has a specific version number
+CUDA_MA="12"
+CUDA_MI="8"
+CUDA_V="${CUDA_MA}.${CUDA_MI}"
+
+DESCRIPTION="NVIDIA Accelerated Deep Learning on GPU library"
+HOMEPAGE="https://developer.nvidia.com/cudnn"
+SRC_URI="https://developer.download.nvidia.com/compute/cudnn/redist/cudnn/linux-x86_64/cudnn-linux-x86_64-${PV}_cuda${CUDA_MA}-archive.tar.xz"
+S="${WORKDIR}/cudnn-linux-x86_64-${PV}_cuda${CUDA_MA}-archive"
+
+LICENSE="NVIDIA-cuDNN"
+SLOT="0/8"
+KEYWORDS="~amd64 ~amd64-linux"
+RESTRICT="mirror"
+
+RDEPEND="=dev-util/nvidia-cuda-toolkit-12*"
+
+QA_PREBUILT="/opt/cuda/targets/x86_64-linux/lib/*"
+
+src_install() {
+ insinto /opt/cuda/targets/x86_64-linux
+ doins -r include lib
+}
diff --git a/dev-libs/cudnn/metadata.xml b/dev-libs/cudnn/metadata.xml
index 410aa3e4aeb9..c0cd18916a93 100644
--- a/dev-libs/cudnn/metadata.xml
+++ b/dev-libs/cudnn/metadata.xml
@@ -5,8 +5,4 @@
<email>sci@gentoo.org</email>
<name>Gentoo Science Project</name>
</maintainer>
- <use>
- <flag name="cuda10-2">On Nvidia CUDA 10.2</flag>
- <flag name="cuda11-5">On Nvidia CUDA 11.5</flag>
- </use>
</pkgmetadata>
diff --git a/dev-libs/cutlass/Manifest b/dev-libs/cutlass/Manifest
new file mode 100644
index 000000000000..103690cedbf2
--- /dev/null
+++ b/dev-libs/cutlass/Manifest
@@ -0,0 +1 @@
+DIST cutlass-3.3.0.tar.gz 20850597 BLAKE2B 07dc1f503395cfed1efb51871baa4ca7890fc4c871cb146933590c51599b4114fd38099bfcd84d8b0b76b876cc6e9f3bb8f42a3f9a7c9321185f7d880609a5da SHA512 c950ab718e67ffc972911b81890eae767a27d32dfc13f72b91e21e7c6b98eadfb3a5eebb9683091e61aed61709481451cfcd95d660e723686bf79a155e9f0b17
diff --git a/dev-libs/cutlass/cutlass-3.3.0.ebuild b/dev-libs/cutlass/cutlass-3.3.0.ebuild
new file mode 100644
index 000000000000..7ba922d88c71
--- /dev/null
+++ b/dev-libs/cutlass/cutlass-3.3.0.ebuild
@@ -0,0 +1,39 @@
+# Copyright 2023-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cuda cmake
+
+DESCRIPTION="CUDA Templates for Linear Algebra Subroutines"
+HOMEPAGE="https://github.com/NVIDIA/cutlass"
+SRC_URI="https://github.com/NVIDIA/${PN}/archive/refs/tags/v${PV}.tar.gz
+ -> ${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64"
+
+BDEPEND="dev-util/nvidia-cuda-toolkit"
+
+src_prepare() {
+ cmake_src_prepare
+ cuda_src_prepare
+}
+
+src_configure() {
+ mycmakeargs+=(
+ -DCMAKE_CUDA_FLAGS="$(cuda_gccdir -f | tr -d \")"
+ -DCUTLASS_ENABLE_HEADERS_ONLY=yes
+ -DCUTLASS_ENABLE_TESTS=no
+ )
+ cuda_add_sandbox -w
+ addpredict /dev/char
+ addpredict /proc/self/task
+ cmake_src_configure
+}
+
+src_install() {
+ cmake_src_install
+ rm -r "${ED}"/usr/test || die
+}
diff --git a/dev-libs/cutlass/metadata.xml b/dev-libs/cutlass/metadata.xml
new file mode 100644
index 000000000000..f7a207fddd52
--- /dev/null
+++ b/dev-libs/cutlass/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">NVIDIA/cutlass</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/cxxopts/Manifest b/dev-libs/cxxopts/Manifest
index 979c216d40dd..7c4f5f353d16 100644
--- a/dev-libs/cxxopts/Manifest
+++ b/dev-libs/cxxopts/Manifest
@@ -1 +1,2 @@
-DIST cxxopts-2.2.1.tar.gz 89561 BLAKE2B d7fb74cff9b9381d90827fd3e3bcc7dab8b4dc100b9ff12d98ff4c73400c187c04c270d8c5a019c88e553f8c46c59eda1e5076a1aec944e7d8af5ca6de2326db SHA512 bad2928b4e06efcfa09728dd946426e4fd39715b687c0a5c7b6308dd366cb490fdd8491c9a9778242d97d5be4a383bf9d1c209efe298c6c43bb1eb9daa103f05
+DIST cxxopts-3.0.0.tar.gz 97020 BLAKE2B 129b055dd03ce9e4a146d36587063f7155b47456d81e395ae6eeab8012e8d6cfcb410c305353f2ac2ec66a2f3e8d6169e1a0d27c53dcb35388b967d3c9cc86f1 SHA512 239479a3b35ddef6fc380ac9371e1cf7e3aea066f03e1ea538151fa2fff4296838daa976d55e988d8f87f40c0ae027767bcb214754177499413af1081315565c
+DIST cxxopts-3.2.0.tar.gz 160534 BLAKE2B b6fead8930e83b4af089631e584bec0777da2e7b58aeb5e44b03a1655795dd3aff3923a245699e936bef7e0e871da2c86dd5639d44a839f1ac305a694e811feb SHA512 7265de66b92591255488d01bc26ca874423c75223e2e157a99f14fdd3e92e8d2669b72732acac3ce835190f1a09c13a994c480f0513f229eba8aa008e3d98955
diff --git a/dev-libs/cxxopts/cxxopts-2.2.1-r1.ebuild b/dev-libs/cxxopts/cxxopts-2.2.1-r1.ebuild
deleted file mode 100644
index 96b57b0c39e8..000000000000
--- a/dev-libs/cxxopts/cxxopts-2.2.1-r1.ebuild
+++ /dev/null
@@ -1,36 +0,0 @@
-# Copyright 2020-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit cmake
-
-DESCRIPTION="Lightweight C++ command line option parser"
-HOMEPAGE="https://github.com/jarro2783/cxxopts"
-SRC_URI="https://github.com/jarro2783/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0/${PV}"
-KEYWORDS="amd64 ~arm ~arm64 ~ppc64 ~x86"
-IUSE="test"
-
-RESTRICT="!test? ( test )"
-
-DOCS=(
- README.md
- CHANGELOG.md
-)
-
-src_prepare() {
- sed -r -e 's:-Werror[[:space:]]*::' -i CMakeLists.txt || die
- cmake_src_prepare
-}
-
-src_configure() {
- local -a mycmakeopts=(
- -DCXXOPTS_BUILD_EXAMPLES=OFF
- -DCXXOPTS_BUILD_TESTS=$(usex test 'ON' 'OFF')
- -DCXXOPTS_ENABLE_INSTALL=ON
- )
- cmake_src_configure
-}
diff --git a/dev-libs/cxxopts/cxxopts-3.0.0-r1.ebuild b/dev-libs/cxxopts/cxxopts-3.0.0-r1.ebuild
new file mode 100644
index 000000000000..1336e0c4e58c
--- /dev/null
+++ b/dev-libs/cxxopts/cxxopts-3.0.0-r1.ebuild
@@ -0,0 +1,37 @@
+# Copyright 2020-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+DESCRIPTION="Lightweight C++ command line option parser"
+HOMEPAGE="https://github.com/jarro2783/cxxopts"
+SRC_URI="https://github.com/jarro2783/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0/${PV}"
+KEYWORDS="amd64 ~arm ~arm64 ~ppc64 ~x86"
+IUSE="icu test"
+
+RESTRICT="!test? ( test )"
+
+DOCS=(
+ README.md
+ CHANGELOG.md
+)
+
+src_prepare() {
+ sed -r -e 's:-Werror[[:space:]]*::' -i cmake/cxxopts.cmake || die
+ cmake_src_prepare
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DCXXOPTS_BUILD_EXAMPLES:BOOL=OFF
+ -DCXXOPTS_BUILD_TESTS:BOOL=$(usex test)
+ -DCXXOPTS_ENABLE_INSTALL:BOOL=ON
+ -DCXXOPTS_USE_UNICODE_HELP:BOOL=$(usex icu)
+ )
+ cmake_src_configure
+}
diff --git a/dev-libs/cxxopts/cxxopts-3.2.0-r1.ebuild b/dev-libs/cxxopts/cxxopts-3.2.0-r1.ebuild
new file mode 100644
index 000000000000..5d006453ceae
--- /dev/null
+++ b/dev-libs/cxxopts/cxxopts-3.2.0-r1.ebuild
@@ -0,0 +1,39 @@
+# Copyright 2020-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+DESCRIPTION="Lightweight C++ command line option parser"
+HOMEPAGE="https://github.com/jarro2783/cxxopts"
+SRC_URI="https://github.com/jarro2783/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0/${PV}"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86"
+IUSE="icu test"
+
+RESTRICT="
+ !test? ( test )
+"
+
+DOCS=(
+ README.md
+ CHANGELOG.md
+)
+
+src_prepare() {
+ sed -r -e 's:-Werror[[:space:]]*::' -i cmake/cxxopts.cmake || die
+ cmake_src_prepare
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DCXXOPTS_BUILD_EXAMPLES:BOOL=OFF
+ -DCXXOPTS_BUILD_TESTS:BOOL=$(usex test)
+ -DCXXOPTS_ENABLE_INSTALL:BOOL=ON
+ -DCXXOPTS_USE_UNICODE_HELP:BOOL=$(usex icu)
+ )
+ cmake_src_configure
+}
diff --git a/dev-libs/cxxopts/metadata.xml b/dev-libs/cxxopts/metadata.xml
index bd6443d4a375..25f5685fac2b 100644
--- a/dev-libs/cxxopts/metadata.xml
+++ b/dev-libs/cxxopts/metadata.xml
@@ -5,4 +5,7 @@
<email>chutzpah@gentoo.org</email>
<name>Patrick McLean</name>
</maintainer>
+ <upstream>
+ <remote-id type="github">jarro2783/cxxopts</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/dev-libs/cxxtools/cxxtools-3.0-r2.ebuild b/dev-libs/cxxtools/cxxtools-3.0-r2.ebuild
new file mode 100644
index 000000000000..b87baa58b1ad
--- /dev/null
+++ b/dev-libs/cxxtools/cxxtools-3.0-r2.ebuild
@@ -0,0 +1,56 @@
+# Copyright 2021-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit autotools
+
+DESCRIPTION="Collection of general purpose C++-classes"
+HOMEPAGE="http://www.tntnet.org/cxxtools.html"
+SRC_URI="http://www.tntnet.org/download/${P}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~amd64 ~sparc ~x86"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="virtual/libiconv"
+DEPEND="${RDEPEND}"
+
+DOCS=( AUTHORS )
+
+PATCHES=(
+ "${FILESDIR}"/${P}_gcc11.patch
+ "${FILESDIR}"/${PN}-3.0-gcc12-time.patch
+ "${FILESDIR}"/${PN}-3.0-lld-linking-openssl.patch
+)
+
+src_prepare() {
+ default
+
+ eautoreconf
+}
+
+src_configure() {
+ econf \
+ --disable-demos \
+ $(use_enable test unittest)
+}
+
+src_test() {
+ emake -C test
+
+ local -x USER=${LOGNAME}
+ local -x TZ=UTC # doesn't like e.g. :/etc/timezone
+ cd test || die
+ ./alltests || die
+}
+
+src_install() {
+ emake DESTDIR="${D}" install
+ einstalldocs
+
+ # remove static libs
+ rm -f "${ED}"/usr/$(get_libdir)/libcxxtools{,-bin,-http,-json,-unit,-xmlrpc}.la || die
+}
diff --git a/dev-libs/cxxtools/files/cxxtools-3.0-gcc12-time.patch b/dev-libs/cxxtools/files/cxxtools-3.0-gcc12-time.patch
new file mode 100644
index 000000000000..d80763dd4c1d
--- /dev/null
+++ b/dev-libs/cxxtools/files/cxxtools-3.0-gcc12-time.patch
@@ -0,0 +1,11 @@
+https://bugs.gentoo.org/851837
+--- a/src/timer.cpp
++++ b/src/timer.cpp
+@@ -27,6 +27,7 @@
+ #include "cxxtools/clock.h"
+ #include "cxxtools/selector.h"
+ #include "cxxtools/datetime.h"
++#include <ctime>
+ #include <stdexcept>
+
+ namespace cxxtools
diff --git a/dev-libs/cxxtools/files/cxxtools-3.0-lld-linking-openssl.patch b/dev-libs/cxxtools/files/cxxtools-3.0-lld-linking-openssl.patch
new file mode 100644
index 000000000000..e2696fd094b0
--- /dev/null
+++ b/dev-libs/cxxtools/files/cxxtools-3.0-lld-linking-openssl.patch
@@ -0,0 +1,11 @@
+--- a/src/Makefile.am
++++ b/src/Makefile.am
+@@ -173,7 +173,7 @@ libcxxtools_la_LIBADD = $(LIBICONV)
+ libcxxtools_la_LDFLAGS = -version-info @sonumber@ @SHARED_LIB_FLAG@
+
+ if MAKE_OPENSSL
+-libcxxtools_la_LDFLAGS += -lssl
++libcxxtools_la_LIBADD += -lssl -lcrypto
+ libcxxtools_la_SOURCES += \
+ sslcertificateimpl.cpp
+ endif
diff --git a/dev-libs/cyberjack/Manifest b/dev-libs/cyberjack/Manifest
index 19b103baa141..bd3b2297ca4b 100644
--- a/dev-libs/cyberjack/Manifest
+++ b/dev-libs/cyberjack/Manifest
@@ -1,2 +1 @@
-DIST pcsc-cyberjack_3.99.5final.SP14.tar.bz2 1682821 BLAKE2B 389b0da28beec42e3e2f1766b76dd77efec24bf7aea906ff14ad206c182162125431ac6c81e9242813c088b4936958b8056f5e7c71424c95de6e8e1ac2357aed SHA512 c83e142d6c071f7f20f9f15b9b76ed819873760bda4b49ec042506b2d7ef9ad8674c953abe67f08a1c4b178ce44767ba6479ea1148d8eeb38797e4775b2a9e82
-DIST pcsc-cyberjack_3.99.5final.SP15.tar.bz2 1681827 BLAKE2B e6b8325e4822f24e31b7986d5a7bc0ee2c99bd29568c19ac1fe8d308f561b0bcecfcc3e0ac2633b13986b2422bb014d28c7953e622021476ac3188de4dd0ed15 SHA512 d1a5454aea96866581f48a240b96013bd0c313965a8ef7a384ac41a929f3e805ad13590c383dab7638134c730e6f26e6cd1492d533f4910aad7c515016452258
+DIST pcsc-cyberjack-3.99.5final.SP16.tar.bz2 1787299 BLAKE2B 79345a5c51be99eedb9154737e5d8014c2f6034031ca8acfb419d9fe4ecfda1739a84f1b56e275ee0aabf500b87a789255980ef05f4441f10250c6adceebe86a SHA512 ece83377b935b6f4de065c10b340aea91d69c54ff38f73e058f5e31fd75afe1e2d3fe9be2e1423a5e3a0da17d9afa5db7684e85805af34e751d07188f894b2d7
diff --git a/dev-libs/cyberjack/cyberjack-3.99.5_p14-r2.ebuild b/dev-libs/cyberjack/cyberjack-3.99.5_p14-r2.ebuild
deleted file mode 100644
index 6324d86c3a9e..000000000000
--- a/dev-libs/cyberjack/cyberjack-3.99.5_p14-r2.ebuild
+++ /dev/null
@@ -1,89 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-MY_PN="pcsc-${PN}"
-MY_PV="${PV/_p/final.SP}"
-MY_P="${MY_PN}_${MY_PV}"
-
-inherit autotools toolchain-funcs udev
-
-DESCRIPTION="REINER SCT cyberJack USB chipcard reader user space driver"
-HOMEPAGE="https://www.reiner-sct.de/"
-SRC_URI="https://support.reiner-sct.de/downloads/LINUX/V${PV/_p/_SP}/${MY_P}.tar.gz -> ${MY_P}.tar.bz2"
-S="${WORKDIR}/${MY_P/_/-}"
-
-KEYWORDS="amd64 x86"
-LICENSE="GPL-2+ LGPL-2.1+"
-SLOT="0"
-IUSE="static-libs threads tools +udev xml"
-
-RDEPEND="
- sys-apps/pcsc-lite
- virtual/libusb:1=
- udev? ( virtual/udev )
- xml? ( dev-libs/libxml2:2= )
-"
-
-DEPEND="${RDEPEND}"
-BDEPEND="virtual/pkgconfig"
-
-PATCHES="${FILESDIR}/${P}-gcc10.patch"
-
-src_prepare() {
- default
-
- eautoreconf
-}
-
-src_configure() {
- local myeconfargs=(
- --disable-debug
- --disable-error-on-warning
- --disable-hal
- --disable-mac-universal
- --disable-mac-arches-i386
- --disable-mac-arches-x86_64
- --disable-visibility
- --enable-nonserial
- --enable-pcsc
- --enable-release
- --enable-warnings
- --sysconfdir="/etc/cyberjack"
- $(use_enable static-libs static)
- $(use_enable threads)
- $(use_enable udev)
- $(use_enable xml xml2)
- --with-usbdropdir="$($(tc-getPKG_CONFIG) libpcsclite --variable=usbdropdir)"
- )
-
- econf "${myeconfargs[@]}"
-}
-
-src_compile() {
- default
-
- if use tools; then
- # cjBingo can't be compiled, as it's defines stuff, which got dropped
- cd "${S}"/tools/cjflash && emake
- cd "${S}"/tools/cjgeldkarte && emake
- fi
-}
-
-src_install() {
- default
-
- use tools && dobin tools/cjflash/cjflash tools/cjgeldkarte/cjgeldkarte
- use udev && udev_newrules "${FILESDIR}"/libifd-cyberjack6.udev-r1 99-cyberjack.rules
-
- dodoc debian/changelog doc/{LIESMICH,README}.{pdf,txt,xml}
-
- docinto html
- dodoc doc/{LIESMICH,README}.html
-
- docinto source
- dodoc doc/*.c*
-
- find "${D}" -name '*.la' -delete || die
-}
diff --git a/dev-libs/cyberjack/cyberjack-3.99.5_p15.ebuild b/dev-libs/cyberjack/cyberjack-3.99.5_p15.ebuild
deleted file mode 100644
index 44af14f1ad60..000000000000
--- a/dev-libs/cyberjack/cyberjack-3.99.5_p15.ebuild
+++ /dev/null
@@ -1,90 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-MY_PN="pcsc-${PN}"
-MY_PV="${PV/_p/final.SP}"
-MY_P="${MY_PN}_${MY_PV}"
-
-inherit autotools toolchain-funcs udev
-
-DESCRIPTION="REINER SCT cyberJack USB chipcard reader user space driver"
-HOMEPAGE="https://www.reiner-sct.de/"
-SRC_URI="https://support.reiner-sct.de/downloads/LINUX/V${PV/_p/_SP}/${MY_P}.tar.bz2"
-S="${WORKDIR}/${MY_P/_/-}"
-
-KEYWORDS="~amd64 ~x86"
-LICENSE="GPL-2+ LGPL-2.1+"
-SLOT="0"
-IUSE="static-libs threads tools +udev xml"
-
-RDEPEND="
- sys-apps/pcsc-lite
- virtual/libusb:1=
- udev? ( virtual/udev )
- xml? ( dev-libs/libxml2:2= )
-"
-
-DEPEND="${RDEPEND}"
-
-BDEPEND="virtual/pkgconfig"
-
-PATCHES="${FILESDIR}/${PN}-3.99.5_p14-gcc10.patch"
-
-src_prepare() {
- default
-
- eautoreconf
-}
-
-src_configure() {
- local myeconfargs=(
- --disable-debug
- --disable-error-on-warning
- --disable-hal
- --disable-mac-universal
- --disable-mac-arches-i386
- --disable-mac-arches-x86_64
- --disable-visibility
- --enable-nonserial
- --enable-pcsc
- --enable-release
- --enable-warnings
- --sysconfdir="/etc/cyberjack"
- $(use_enable static-libs static)
- $(use_enable threads)
- $(use_enable udev)
- $(use_enable xml xml2)
- --with-usbdropdir="$($(tc-getPKG_CONFIG) libpcsclite --variable=usbdropdir)"
- )
-
- econf "${myeconfargs[@]}"
-}
-
-src_compile() {
- default
-
- if use tools; then
- # cjBingo can't be compiled, as it's defines stuff, which got dropped
- cd "${S}"/tools/cjflash && emake
- cd "${S}"/tools/cjgeldkarte && emake
- fi
-}
-
-src_install() {
- default
-
- use tools && dobin tools/cjflash/cjflash tools/cjgeldkarte/cjgeldkarte
- use udev && udev_newrules "${FILESDIR}"/libifd-cyberjack6.udev-r1 99-cyberjack.rules
-
- dodoc debian/changelog doc/{LIESMICH,README}.{pdf,txt,xml}
-
- docinto html
- dodoc doc/{LIESMICH,README}.html
-
- docinto source
- dodoc doc/*.c*
-
- find "${D}" -name '*.la' -delete || die
-}
diff --git a/dev-libs/cyberjack/cyberjack-3.99.5_p16.ebuild b/dev-libs/cyberjack/cyberjack-3.99.5_p16.ebuild
new file mode 100644
index 000000000000..a6b469318959
--- /dev/null
+++ b/dev-libs/cyberjack/cyberjack-3.99.5_p16.ebuild
@@ -0,0 +1,93 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+MY_PN="pcsc-${PN}"
+MY_PV="${PV/_p/final.SP}"
+MY_P="${MY_PN}-${MY_PV}"
+
+inherit autotools toolchain-funcs udev
+
+DESCRIPTION="REINER SCT cyberJack USB chipcard reader user space driver"
+HOMEPAGE="https://www.reiner-sct.de/"
+SRC_URI="https://support.reiner-sct.de/downloads/LINUX/V${PV/_p/_SP}/${MY_P}.tar.bz2"
+S="${WORKDIR}/${MY_P/_/-}"
+
+LICENSE="GPL-2+ LGPL-2.1+"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="threads tools +udev xml"
+
+RDEPEND="
+ sys-apps/pcsc-lite
+ virtual/libusb:1=
+ udev? ( virtual/udev )
+ xml? ( dev-libs/libxml2:2= )
+"
+DEPEND="${RDEPEND}"
+BDEPEND="virtual/pkgconfig"
+
+PATCHES=( "${FILESDIR}"/${PN}-3.99.5_p14-gcc10.patch )
+
+src_prepare() {
+ default
+ eautoreconf
+}
+
+src_configure() {
+ local myeconfargs=(
+ --disable-debug
+ --disable-error-on-warning
+ --disable-hal
+ --disable-mac-universal
+ --disable-mac-arches-i386
+ --disable-mac-arches-x86_64
+ --disable-visibility
+ --enable-nonserial
+ --enable-pcsc
+ --enable-release
+ --enable-warnings
+ --sysconfdir="${EPREFIX}"/etc/cyberjack
+ $(use_enable threads)
+ $(use_enable udev)
+ $(use_enable xml xml2)
+ --with-usbdropdir="$($(tc-getPKG_CONFIG) libpcsclite --variable=usbdropdir)"
+ )
+ econf "${myeconfargs[@]}"
+}
+
+src_compile() {
+ default
+
+ if use tools; then
+ # cjBingo can't be compiled, as it's defines stuff, which got dropped
+ emake -C tools/cjflash
+ emake -C tools/cjgeldkarte
+ fi
+}
+
+src_install() {
+ default
+
+ use tools && dobin tools/cjflash/cjflash tools/cjgeldkarte/cjgeldkarte
+ use udev && udev_newrules "${FILESDIR}"/libifd-cyberjack6.udev-r1 99-cyberjack.rules
+
+ dodoc debian/changelog doc/{LIESMICH,README}.{pdf,txt,xml}
+
+ docinto html
+ dodoc doc/{LIESMICH,README}.html
+
+ docinto source
+ dodoc doc/*.c*
+
+ find "${ED}" -name '*.la' -type f -delete || die
+}
+
+pkg_postinst() {
+ udev_reload
+}
+
+pkg_postrm() {
+ udev_reload
+}
diff --git a/dev-libs/cyrus-sasl/Manifest b/dev-libs/cyrus-sasl/Manifest
index da2a2265fd42..e6f246ba2943 100644
--- a/dev-libs/cyrus-sasl/Manifest
+++ b/dev-libs/cyrus-sasl/Manifest
@@ -1,2 +1,2 @@
-DIST cyrus-sasl-2.1.27-r6-patches.tar.bz2 5169 BLAKE2B 43a2f0db4a8589ec1cde7807b31a93459eacb04d27ba36751a69dd5f4e669d1b28342194b0e1a5382e281a52a35e88168877b54065cfba01b9bd33e87fbd23f1 SHA512 41c4ca7c8f7b79e03faf5d826a6ff0ed398137239b93fb0046ccbf385f6ddeab2b9fb2f51d7a263dc74626e5fdbefb28615a1ee22aabe57ed57f10a52d382797
-DIST cyrus-sasl-2.1.27.tar.gz 4111249 BLAKE2B 82c9acce8534521ce5c5806f093e927f1854b4bc4b83ea7db1b32ceaa811adc1a5b6fc16d03233d729194cd603836f6e58de67f915abab2cb74561a80d03f5a8 SHA512 d11549a99b3b06af79fc62d5478dba3305d7e7cc0824f4b91f0d2638daafbe940623eab235f85af9be38dcf5d42fc131db531c177040a85187aee5096b8df63b
+DIST cyrus-sasl-2.1.28-r3-patches.tar.xz 4244 BLAKE2B 113da9bb58cce3643269fca88ea8d700aa20226d9536427c9068ef7b43499c2b78cbcb233d8db2418d84136c7edd629cc05f52b31cdfddfcb529f9a9fcb4effb SHA512 0cccbb27646dc118fbeea64b0cb688f312df97b31fced8c18d5230764cd5e2f0d48806bd2f5524aeddd02e8933cd835fb6f67dd3fbc1b0abfd1a3e1f0f53cf8a
+DIST cyrus-sasl-2.1.28.tar.gz 4034803 BLAKE2B 6cca8c26cebb9c2ee5d539c43797d30b6309a476ec4233225789978e1d7315c4ea5d2abbc7f5464be0f3c0de5fd9212706b43fbc92f40b76cd0b1013cc00f823 SHA512 db15af9079758a9f385457a79390c8a7cd7ea666573dace8bf4fb01bb4b49037538d67285727d6a70ad799d2e2318f265c9372e2427de9371d626a1959dd6f78
diff --git a/dev-libs/cyrus-sasl/cyrus-sasl-2.1.27-r4.ebuild b/dev-libs/cyrus-sasl/cyrus-sasl-2.1.27-r4.ebuild
deleted file mode 100644
index 670450a576e0..000000000000
--- a/dev-libs/cyrus-sasl/cyrus-sasl-2.1.27-r4.ebuild
+++ /dev/null
@@ -1,268 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit edos2unix flag-o-matic multilib multilib-minimal autotools pam java-pkg-opt-2 db-use systemd toolchain-funcs tmpfiles
-
-SASLAUTHD_CONF_VER="2.1.26"
-
-DESCRIPTION="The Cyrus SASL (Simple Authentication and Security Layer)"
-HOMEPAGE="https://www.cyrusimap.org/sasl/"
-#SRC_URI="ftp://ftp.cyrusimap.org/cyrus-sasl/${P}.tar.gz"
-SRC_URI="https://github.com/cyrusimap/${PN}/releases/download/${P}/${P}.tar.gz"
-
-LICENSE="BSD-with-attribution"
-SLOT="2"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-IUSE="authdaemond berkdb gdbm kerberos ldapdb openldap mysql pam postgres sample selinux sqlite srp ssl static-libs urandom"
-
-CDEPEND="
- net-mail/mailbase
- virtual/libcrypt:=
- authdaemond? ( || ( net-mail/courier-imap mail-mta/courier ) )
- berkdb? ( >=sys-libs/db-4.8.30-r1:=[${MULTILIB_USEDEP}] )
- gdbm? ( >=sys-libs/gdbm-1.10-r1:=[${MULTILIB_USEDEP}] )
- kerberos? ( >=virtual/krb5-0-r1[${MULTILIB_USEDEP}] )
- openldap? ( >=net-nds/openldap-2.4.38-r1[${MULTILIB_USEDEP}] )
- mysql? ( dev-db/mysql-connector-c:0=[${MULTILIB_USEDEP}] )
- pam? ( >=sys-libs/pam-0-r1[${MULTILIB_USEDEP}] )
- postgres? ( dev-db/postgresql:* )
- sqlite? ( >=dev-db/sqlite-3.8.2:3[${MULTILIB_USEDEP}] )
- ssl? (
- >=dev-libs/openssl-1.0.1h-r2:0=[${MULTILIB_USEDEP}]
- )
- java? ( >=virtual/jdk-1.6:= )"
-
-REQUIRED_USE="ldapdb? ( openldap )"
-
-RDEPEND="
- ${CDEPEND}
- selinux? ( sec-policy/selinux-sasl )"
-
-DEPEND="${CDEPEND}"
-
-MULTILIB_WRAPPED_HEADERS=(
- /usr/include/sasl/md5global.h
-)
-
-PATCHES=(
- "${FILESDIR}/${PN}-2.1.27-avoid_pic_overwrite.patch"
- "${FILESDIR}/${PN}-2.1.27-autotools_fixes.patch"
- "${FILESDIR}/${PN}-2.1.27-as_needed.patch"
- "${FILESDIR}/${PN}-2.1.25-auxprop.patch"
- "${FILESDIR}/${PN}-2.1.27-gss_c_nt_hostbased_service.patch"
- "${FILESDIR}/${PN}-2.1.26-missing-size_t.patch"
- "${FILESDIR}/${PN}-2.1.27-doc_build_fix.patch"
- "${FILESDIR}/${PN}-2.1.27-memmem.patch"
- "${FILESDIR}/${PN}-2.1.27-CVE-2019-19906.patch"
- "${FILESDIR}/${PN}-2.1.27-slibtool.patch"
-)
-
-pkg_setup() {
- java-pkg-opt-2_pkg_setup
-}
-
-src_prepare() {
- default
-
- # Get rid of the -R switch (runpath_switch for Sun)
- # >=gcc-4.6 errors out with unknown option
- sed -i -e '/LIB_SQLITE.*-R/s/ -R[^"]*//' \
- configure.ac || die
-
- # Use plugindir for sasldir
- sed -i '/^sasldir =/s:=.*:= $(plugindir):' \
- "${S}"/plugins/Makefile.{am,in} || die "sed failed"
-
- # #486740 #468556
- sed -i -e 's:AM_CONFIG_HEADER:AC_CONFIG_HEADERS:g' \
- -e 's:AC_CONFIG_MACRO_DIR:AC_CONFIG_MACRO_DIRS:g' \
- configure.ac || die
-
- eautoreconf
-
- export CC_FOR_BUILD="$(tc-getBUILD_CC)"
-}
-
-src_configure() {
- append-flags -fno-strict-aliasing
-
- if [[ ${CHOST} == *-solaris* ]] ; then
- # getpassphrase is defined in /usr/include/stdlib.h
- append-cppflags -DHAVE_GETPASSPHRASE
- else
- # this horrendously breaks things on Solaris
- append-cppflags -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED -D_BSD_SOURCE -DLDAP_DEPRECATED
- # replaces BSD_SOURCE (bug #579218)
- append-cppflags -D_DEFAULT_SOURCE
- fi
-
- multilib-minimal_src_configure
-}
-
-multilib_src_configure() {
- # Java support
- multilib_is_native_abi && use java && export JAVAC="${JAVAC} ${JAVACFLAGS}"
-
- local myeconfargs=(
- --enable-login
- --enable-ntlm
- --enable-auth-sasldb
- --disable-cmulocal
- --disable-krb4
- --disable-macos-framework
- --enable-otp
- --without-sqlite
- --with-saslauthd="${EPREFIX}"/run/saslauthd
- --with-pwcheck="${EPREFIX}"/run/saslauthd
- --with-configdir="${EPREFIX}"/etc/sasl2
- --with-plugindir="${EPREFIX}"/usr/$(get_libdir)/sasl2
- --with-dbpath="${EPREFIX}"/etc/sasl2/sasldb2
- --with-sphinx-build=no
- $(use_with ssl openssl)
- $(use_with pam)
- $(use_with openldap ldap)
- $(use_enable ldapdb)
- $(multilib_native_use_enable sample)
- $(use_enable kerberos gssapi)
- $(multilib_native_use_enable java)
- $(multilib_native_use_with mysql mysql "${EPREFIX}"/usr)
- $(multilib_native_use_with postgres pgsql "${EPREFIX}"/usr/$(get_libdir)/postgresql)
- $(use_with sqlite sqlite3 "${EPREFIX}"/usr/$(get_libdir))
- $(use_enable srp)
- $(use_enable static-libs static)
-
- # Add authdaemond support (bug #56523).
- $(usex authdaemond --with-authdaemond="${EPREFIX}"/var/lib/courier/authdaemon/socket '')
-
- # Fix for bug #59634.
- $(usex ssl '' --without-des)
-
- # Use /dev/urandom instead of /dev/random (bug #46038).
- $(usex urandom --with-devrandom=/dev/urandom '')
- )
-
- if use sqlite || { multilib_is_native_abi && { use mysql || use postgres; }; } ; then
- myeconfargs+=( --enable-sql )
- else
- myeconfargs+=( --disable-sql )
- fi
-
- # Default to GDBM if both 'gdbm' and 'berkdb' are present.
- if use gdbm ; then
- einfo "Building with GNU DB as database backend for your SASLdb"
- myeconfargs+=( --with-dblib=gdbm )
- elif use berkdb ; then
- einfo "Building with BerkeleyDB as database backend for your SASLdb"
- myeconfargs+=(
- --with-dblib=berkeley
- --with-bdb-incdir="$(db_includedir)"
- )
- else
- einfo "Building without SASLdb support"
- myeconfargs+=( --with-dblib=none )
- fi
-
- ECONF_SOURCE="${S}" econf "${myeconfargs[@]}"
-}
-
-multilib_src_compile() {
- emake
-
- # Default location for java classes breaks OpenOffice (bug #60769).
- # Thanks to axxo@gentoo.org for the solution.
- if multilib_is_native_abi && use java ; then
- jar -cvf ${PN}.jar -C java $(find java -name "*.class")
- fi
-}
-
-multilib_src_install() {
- default
-
- if multilib_is_native_abi; then
- if use sample ; then
- docinto sample
- dodoc "${S}"/sample/*.c
- exeinto /usr/share/doc/${P}/sample
- doexe sample/client sample/server
- fi
-
- # Default location for java classes breaks OpenOffice (bug #60769).
- if use java; then
- java-pkg_dojar ${PN}.jar
- java-pkg_regso "${ED}/usr/$(get_libdir)/libjavasasl$(get_libname)"
- # hackish, don't wanna dig through makefile
- rm -rf "${ED}/usr/$(get_libdir)/java" || die
- docinto "java"
- dodoc "${S}/java/README" "${FILESDIR}/java.README.gentoo" "${S}"/java/doc/*
- insinto "/usr/share/doc/${PF}/java/Test"
- doins "${S}"/java/Test/*.java
- fi
-
- dosbin saslauthd/testsaslauthd
- fi
-}
-
-multilib_src_install_all() {
- doman man/*
-
- keepdir /etc/sasl2
-
- # Reset docinto to default value (#674296)
- docinto
- dodoc AUTHORS ChangeLog doc/legacy/TODO
- newdoc pwcheck/README README.pwcheck
-
- newdoc docsrc/sasl/release-notes/$(ver_cut 1-2)/index.rst release-notes
- edos2unix "${ED}/usr/share/doc/${PF}/release-notes"
-
- docinto html
- dodoc doc/html/*.html
-
- if use pam; then
- newpamd "${FILESDIR}/saslauthd.pam-include" saslauthd
- fi
-
- newinitd "${FILESDIR}/pwcheck.rc6" pwcheck
- systemd_dounit "${FILESDIR}/pwcheck.service"
-
- newinitd "${FILESDIR}/saslauthd2.rc7" saslauthd
- newconfd "${FILESDIR}/saslauthd-${SASLAUTHD_CONF_VER}.conf" saslauthd
- systemd_dounit "${FILESDIR}/saslauthd.service"
- dotmpfiles "${FILESDIR}/${PN}.conf"
-
- # The get_modname bit is important: do not remove the .la files on
- # platforms where the lib isn't called .so for cyrus searches the .la to
- # figure out what the name is supposed to be instead
- if ! use static-libs && [[ $(get_modname) == .so ]] ; then
- find "${ED}" -name "*.la" -delete || die
- fi
-}
-
-pkg_postinst() {
- tmpfiles_process ${PN}.conf
-
- # Generate an empty sasldb2 with correct permissions.
- if ( use berkdb || use gdbm ) && [[ ! -f "${EROOT}/etc/sasl2/sasldb2" ]] ; then
- einfo "Generating an empty sasldb2 with correct permissions ..."
- echo "p" | "${EROOT}/usr/sbin/saslpasswd2" -f "${EROOT}/etc/sasl2/sasldb2" -p login \
- || die "Failed to generate sasldb2"
- "${EROOT}/usr/sbin/saslpasswd2" -f "${EROOT}/etc/sasl2/sasldb2" -d login \
- || die "Failed to delete temp user"
- chown root:mail "${EROOT}/etc/sasl2/sasldb2" \
- || die "Failed to chown ${EROOT}/etc/sasl2/sasldb2"
- chmod 0640 "${EROOT}/etc/sasl2/sasldb2" \
- || die "Failed to chmod ${EROOT}/etc/sasl2/sasldb2"
- fi
-
- if use authdaemond ; then
- elog "You need to add a user running a service using Courier's"
- elog "authdaemon to the 'mail' group. For example, do:"
- elog " gpasswd -a postfix mail"
- elog "to add the 'postfix' user to the 'mail' group."
- fi
-
- elog "pwcheck and saslauthd home directories have moved to:"
- elog " /run/saslauthd, using tmpfiles.d"
-}
diff --git a/dev-libs/cyrus-sasl/cyrus-sasl-2.1.27-r6.ebuild b/dev-libs/cyrus-sasl/cyrus-sasl-2.1.27-r6.ebuild
deleted file mode 100644
index 99c0c56d8889..000000000000
--- a/dev-libs/cyrus-sasl/cyrus-sasl-2.1.27-r6.ebuild
+++ /dev/null
@@ -1,260 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit edos2unix flag-o-matic multilib multilib-minimal autotools pam java-pkg-opt-2 db-use systemd toolchain-funcs tmpfiles
-
-SASLAUTHD_CONF_VER="2.1.26"
-MY_PATCH_VER="${PN}-2.1.27-r6-patches"
-DESCRIPTION="The Cyrus SASL (Simple Authentication and Security Layer)"
-HOMEPAGE="https://www.cyrusimap.org/sasl/"
-#SRC_URI="ftp://ftp.cyrusimap.org/cyrus-sasl/${P}.tar.gz"
-SRC_URI="https://github.com/cyrusimap/${PN}/releases/download/${P}/${P}.tar.gz"
-SRC_URI+=" https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${MY_PATCH_VER}.tar.bz2"
-
-LICENSE="BSD-with-attribution"
-SLOT="2"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-IUSE="authdaemond berkdb gdbm kerberos ldapdb openldap mysql pam postgres sample selinux sqlite srp ssl static-libs urandom"
-
-CDEPEND="
- net-mail/mailbase
- virtual/libcrypt:=
- authdaemond? ( || ( net-mail/courier-imap mail-mta/courier ) )
- berkdb? ( >=sys-libs/db-4.8.30-r1:=[${MULTILIB_USEDEP}] )
- gdbm? ( >=sys-libs/gdbm-1.10-r1:=[${MULTILIB_USEDEP}] )
- kerberos? ( >=virtual/krb5-0-r1[${MULTILIB_USEDEP}] )
- openldap? ( >=net-nds/openldap-2.4.38-r1[${MULTILIB_USEDEP}] )
- mysql? ( dev-db/mysql-connector-c:0=[${MULTILIB_USEDEP}] )
- pam? ( >=sys-libs/pam-0-r1[${MULTILIB_USEDEP}] )
- postgres? ( dev-db/postgresql:* )
- sqlite? ( >=dev-db/sqlite-3.8.2:3[${MULTILIB_USEDEP}] )
- ssl? (
- >=dev-libs/openssl-1.0.1h-r2:0=[${MULTILIB_USEDEP}]
- )
- java? ( >=virtual/jdk-1.6:= )"
-
-REQUIRED_USE="ldapdb? ( openldap )"
-
-RDEPEND="
- ${CDEPEND}
- selinux? ( sec-policy/selinux-sasl )"
-
-DEPEND="${CDEPEND}"
-
-MULTILIB_WRAPPED_HEADERS=(
- /usr/include/sasl/md5global.h
-)
-
-PATCHES=(
- "${WORKDIR}"/${MY_PATCH_VER}/
-)
-
-pkg_setup() {
- java-pkg-opt-2_pkg_setup
-}
-
-src_prepare() {
- default
-
- # Get rid of the -R switch (runpath_switch for Sun)
- # >=gcc-4.6 errors out with unknown option
- sed -i -e '/LIB_SQLITE.*-R/s/ -R[^"]*//' \
- configure.ac || die
-
- # Use plugindir for sasldir
- sed -i '/^sasldir =/s:=.*:= $(plugindir):' \
- "${S}"/plugins/Makefile.{am,in} || die "sed failed"
-
- # #486740 #468556
- sed -i -e 's:AM_CONFIG_HEADER:AC_CONFIG_HEADERS:g' \
- -e 's:AC_CONFIG_MACRO_DIR:AC_CONFIG_MACRO_DIRS:g' \
- configure.ac || die
-
- eautoreconf
-
- export CC_FOR_BUILD="$(tc-getBUILD_CC)"
-}
-
-src_configure() {
- append-flags -fno-strict-aliasing
-
- if [[ ${CHOST} == *-solaris* ]] ; then
- # getpassphrase is defined in /usr/include/stdlib.h
- append-cppflags -DHAVE_GETPASSPHRASE
- else
- # this horrendously breaks things on Solaris
- append-cppflags -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED -D_BSD_SOURCE -DLDAP_DEPRECATED
- # replaces BSD_SOURCE (bug #579218)
- append-cppflags -D_DEFAULT_SOURCE
- fi
-
- multilib-minimal_src_configure
-}
-
-multilib_src_configure() {
- # Java support
- multilib_is_native_abi && use java && export JAVAC="${JAVAC} ${JAVACFLAGS}"
-
- local myeconfargs=(
- --enable-login
- --enable-ntlm
- --enable-auth-sasldb
- --disable-cmulocal
- --disable-krb4
- --disable-macos-framework
- --enable-otp
- --without-sqlite
- --with-saslauthd="${EPREFIX}"/run/saslauthd
- --with-pwcheck="${EPREFIX}"/run/saslauthd
- --with-configdir="${EPREFIX}"/etc/sasl2
- --with-plugindir="${EPREFIX}"/usr/$(get_libdir)/sasl2
- --with-dbpath="${EPREFIX}"/etc/sasl2/sasldb2
- --with-sphinx-build=no
- $(use_with ssl openssl)
- $(use_with pam)
- $(use_with openldap ldap)
- $(use_enable ldapdb)
- $(multilib_native_use_enable sample)
- $(use_enable kerberos gssapi)
- $(multilib_native_use_enable java)
- $(multilib_native_use_with mysql mysql "${EPREFIX}"/usr)
- $(multilib_native_use_with postgres pgsql "${EPREFIX}"/usr/$(get_libdir)/postgresql)
- $(use_with sqlite sqlite3 "${EPREFIX}"/usr/$(get_libdir))
- $(use_enable srp)
- $(use_enable static-libs static)
-
- # Add authdaemond support (bug #56523).
- $(usex authdaemond --with-authdaemond="${EPREFIX}"/var/lib/courier/authdaemon/socket '')
-
- # Fix for bug #59634.
- $(usex ssl '' --without-des)
-
- # Use /dev/urandom instead of /dev/random (bug #46038).
- $(usex urandom --with-devrandom=/dev/urandom '')
- )
-
- if use sqlite || { multilib_is_native_abi && { use mysql || use postgres; }; } ; then
- myeconfargs+=( --enable-sql )
- else
- myeconfargs+=( --disable-sql )
- fi
-
- # Default to GDBM if both 'gdbm' and 'berkdb' are present.
- if use gdbm ; then
- einfo "Building with GNU DB as database backend for your SASLdb"
- myeconfargs+=( --with-dblib=gdbm )
- elif use berkdb ; then
- einfo "Building with BerkeleyDB as database backend for your SASLdb"
- myeconfargs+=(
- --with-dblib=berkeley
- --with-bdb-incdir="$(db_includedir)"
- )
- else
- einfo "Building without SASLdb support"
- myeconfargs+=( --with-dblib=none )
- fi
-
- ECONF_SOURCE="${S}" econf "${myeconfargs[@]}"
-}
-
-multilib_src_compile() {
- emake
-
- # Default location for java classes breaks OpenOffice (bug #60769).
- # Thanks to axxo@gentoo.org for the solution.
- if multilib_is_native_abi && use java ; then
- jar -cvf ${PN}.jar -C java $(find java -name "*.class")
- fi
-}
-
-multilib_src_install() {
- default
-
- if multilib_is_native_abi; then
- if use sample ; then
- docinto sample
- dodoc "${S}"/sample/*.c
- exeinto /usr/share/doc/${P}/sample
- doexe sample/client sample/server
- fi
-
- # Default location for java classes breaks OpenOffice (bug #60769).
- if use java; then
- java-pkg_dojar ${PN}.jar
- java-pkg_regso "${ED}/usr/$(get_libdir)/libjavasasl$(get_libname)"
- # hackish, don't wanna dig through makefile
- rm -rf "${ED}/usr/$(get_libdir)/java" || die
- docinto "java"
- dodoc "${S}/java/README" "${FILESDIR}/java.README.gentoo" "${S}"/java/doc/*
- insinto "/usr/share/doc/${PF}/java/Test"
- doins "${S}"/java/Test/*.java
- fi
-
- dosbin saslauthd/testsaslauthd
- fi
-}
-
-multilib_src_install_all() {
- doman man/*
-
- keepdir /etc/sasl2
-
- # Reset docinto to default value (#674296)
- docinto
- dodoc AUTHORS ChangeLog doc/legacy/TODO
- newdoc pwcheck/README README.pwcheck
-
- newdoc docsrc/sasl/release-notes/$(ver_cut 1-2)/index.rst release-notes
- edos2unix "${ED}/usr/share/doc/${PF}/release-notes"
-
- docinto html
- dodoc doc/html/*.html
-
- if use pam; then
- newpamd "${FILESDIR}/saslauthd.pam-include" saslauthd
- fi
-
- newinitd "${FILESDIR}/pwcheck.rc6" pwcheck
- systemd_dounit "${FILESDIR}/pwcheck.service"
-
- newinitd "${FILESDIR}/saslauthd2.rc7" saslauthd
- newconfd "${FILESDIR}/saslauthd-${SASLAUTHD_CONF_VER}.conf" saslauthd
- systemd_dounit "${FILESDIR}/saslauthd.service"
- dotmpfiles "${FILESDIR}/${PN}.conf"
-
- # The get_modname bit is important: do not remove the .la files on
- # platforms where the lib isn't called .so for cyrus searches the .la to
- # figure out what the name is supposed to be instead
- if ! use static-libs && [[ $(get_modname) == .so ]] ; then
- find "${ED}" -name "*.la" -delete || die
- fi
-}
-
-pkg_postinst() {
- tmpfiles_process ${PN}.conf
-
- # Generate an empty sasldb2 with correct permissions.
- if ( use berkdb || use gdbm ) && [[ ! -f "${EROOT}/etc/sasl2/sasldb2" ]] ; then
- einfo "Generating an empty sasldb2 with correct permissions ..."
- echo "p" | "${EROOT}/usr/sbin/saslpasswd2" -f "${EROOT}/etc/sasl2/sasldb2" -p login \
- || die "Failed to generate sasldb2"
- "${EROOT}/usr/sbin/saslpasswd2" -f "${EROOT}/etc/sasl2/sasldb2" -d login \
- || die "Failed to delete temp user"
- chown root:mail "${EROOT}/etc/sasl2/sasldb2" \
- || die "Failed to chown ${EROOT}/etc/sasl2/sasldb2"
- chmod 0640 "${EROOT}/etc/sasl2/sasldb2" \
- || die "Failed to chmod ${EROOT}/etc/sasl2/sasldb2"
- fi
-
- if use authdaemond ; then
- elog "You need to add a user running a service using Courier's"
- elog "authdaemon to the 'mail' group. For example, do:"
- elog " gpasswd -a postfix mail"
- elog "to add the 'postfix' user to the 'mail' group."
- fi
-
- elog "pwcheck and saslauthd home directories have moved to:"
- elog " /run/saslauthd, using tmpfiles.d"
-}
diff --git a/dev-libs/cyrus-sasl/cyrus-sasl-2.1.28-r4.ebuild b/dev-libs/cyrus-sasl/cyrus-sasl-2.1.28-r4.ebuild
new file mode 100644
index 000000000000..14ebb5120992
--- /dev/null
+++ b/dev-libs/cyrus-sasl/cyrus-sasl-2.1.28-r4.ebuild
@@ -0,0 +1,219 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools edos2unix flag-o-matic multilib multilib-minimal pam db-use systemd toolchain-funcs tmpfiles
+
+SASLAUTHD_CONF_VER="2.1.26"
+MY_PATCH_VER="${PN}-2.1.28-r3-patches"
+DESCRIPTION="The Cyrus SASL (Simple Authentication and Security Layer)"
+HOMEPAGE="https://www.cyrusimap.org/sasl/"
+#SRC_URI="ftp://ftp.cyrusimap.org/cyrus-sasl/${P}.tar.gz"
+SRC_URI="https://github.com/cyrusimap/${PN}/releases/download/${P}/${P}.tar.gz"
+SRC_URI+=" https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${MY_PATCH_VER}.tar.xz"
+
+LICENSE="BSD-with-attribution"
+SLOT="2"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~mips ~ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+IUSE="authdaemond berkdb gdbm kerberos ldapdb openldap mysql pam postgres sample selinux sqlite srp ssl static-libs urandom"
+REQUIRED_USE="ldapdb? ( openldap )"
+
+# See bug #855890 for sys-libs/db slot
+DEPEND="net-mail/mailbase
+ virtual/libcrypt:=
+ authdaemond? ( || ( net-mail/courier-imap mail-mta/courier ) )
+ berkdb? ( >=sys-libs/db-4.8.30-r1:4.8[${MULTILIB_USEDEP}] )
+ gdbm? ( >=sys-libs/gdbm-1.10-r1:=[${MULTILIB_USEDEP}] )
+ kerberos? ( >=virtual/krb5-0-r1[${MULTILIB_USEDEP}] )
+ openldap? ( >=net-nds/openldap-2.4.38-r1:=[${MULTILIB_USEDEP}] )
+ mysql? ( dev-db/mysql-connector-c:0=[${MULTILIB_USEDEP}] )
+ pam? ( >=sys-libs/pam-0-r1[${MULTILIB_USEDEP}] )
+ postgres? ( dev-db/postgresql:* )
+ sqlite? ( >=dev-db/sqlite-3.8.2:3[${MULTILIB_USEDEP}] )
+ ssl? ( >=dev-libs/openssl-1.0.1h-r2:0=[${MULTILIB_USEDEP}] )"
+RDEPEND="${DEPEND}
+ selinux? ( sec-policy/selinux-sasl )"
+
+MULTILIB_WRAPPED_HEADERS=(
+ /usr/include/sasl/md5global.h
+)
+
+PATCHES=(
+ "${WORKDIR}"/${MY_PATCH_VER}/
+)
+
+src_prepare() {
+ default
+
+ # Use plugindir for sasldir
+ # https://github.com/cyrusimap/cyrus-sasl/issues/339 (I think)
+ sed -i '/^sasldir =/s:=.*:= $(plugindir):' \
+ "${S}"/plugins/Makefile.{am,in} || die "sed failed"
+
+ # bug #486740 and bug #468556 (dropped AM_CONFIG_HEADER sed in 2.1.28)
+ sed -i -e 's:AC_CONFIG_MACRO_DIR:AC_CONFIG_MACRO_DIRS:g' configure.ac || die
+
+ eautoreconf
+}
+
+src_configure() {
+ export CC_FOR_BUILD="$(tc-getBUILD_CC)"
+
+ append-flags -fno-strict-aliasing
+
+ if [[ ${CHOST} == *-solaris* ]] ; then
+ # getpassphrase is defined in /usr/include/stdlib.h
+ append-cppflags -DHAVE_GETPASSPHRASE
+ else
+ # this horrendously breaks things on Solaris
+ append-cppflags -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED -D_BSD_SOURCE -DLDAP_DEPRECATED
+ # replaces BSD_SOURCE (bug #579218)
+ append-cppflags -D_DEFAULT_SOURCE
+ fi
+
+ multilib-minimal_src_configure
+}
+
+multilib_src_configure() {
+ local myeconfargs=(
+ --enable-login
+ --enable-ntlm
+ --enable-auth-sasldb
+ --disable-cmulocal
+ --disable-krb4
+ --disable-macos-framework
+ --enable-otp
+ --without-sqlite
+ --with-saslauthd="${EPREFIX}"/run/saslauthd
+ --with-pwcheck="${EPREFIX}"/run/saslauthd
+ --with-configdir="${EPREFIX}"/etc/sasl2
+ --with-plugindir="${EPREFIX}/usr/$(get_libdir)/sasl2"
+ --with-dbpath="${EPREFIX}"/etc/sasl2/sasldb2
+ --with-sphinx-build=no
+ $(use_with ssl openssl)
+ $(use_with pam)
+ $(use_with openldap ldap)
+ $(use_enable ldapdb)
+ $(multilib_native_use_enable sample)
+ $(use_enable kerberos gssapi)
+ $(multilib_native_use_with mysql mysql "${EPREFIX}"/usr)
+ $(multilib_native_use_with postgres pgsql "${EPREFIX}/usr/$(get_libdir)/postgresql")
+ $(use_with sqlite sqlite3 "${EPREFIX}/usr/$(get_libdir)")
+ $(use_enable srp)
+ $(use_enable static-libs static)
+
+ # Add authdaemond support (bug #56523).
+ $(usex authdaemond --with-authdaemond="${EPREFIX}"/var/lib/courier/authdaemon/socket '')
+
+ # Fix for bug #59634.
+ $(usex ssl '' --without-des)
+
+ # Use /dev/urandom instead of /dev/random (bug #46038).
+ $(usex urandom --with-devrandom=/dev/urandom '')
+ )
+
+ if use sqlite || { multilib_is_native_abi && { use mysql || use postgres; }; } ; then
+ myeconfargs+=( --enable-sql )
+ else
+ myeconfargs+=( --disable-sql )
+ fi
+
+ # Default to GDBM if both 'gdbm' and 'berkdb' are present.
+ if use gdbm ; then
+ einfo "Building with GNU DB as database backend for your SASLdb"
+ myeconfargs+=( --with-dblib=gdbm )
+ elif use berkdb ; then
+ einfo "Building with BerkeleyDB as database backend for your SASLdb"
+ myeconfargs+=(
+ --with-dblib=berkeley
+ --with-bdb-incdir="$(db_includedir)"
+ )
+ else
+ einfo "Building without SASLdb support"
+ myeconfargs+=( --with-dblib=none )
+ fi
+
+ ECONF_SOURCE="${S}" econf "${myeconfargs[@]}"
+}
+
+multilib_src_install() {
+ default
+
+ if multilib_is_native_abi; then
+ if use sample ; then
+ docinto sample
+ dodoc "${S}"/sample/*.c
+ exeinto /usr/share/doc/${P}/sample
+ doexe sample/client sample/server
+ fi
+
+ dosbin saslauthd/testsaslauthd
+ fi
+}
+
+multilib_src_install_all() {
+ doman man/*
+
+ keepdir /etc/sasl2
+
+ # Reset docinto to default value (bug #674296)
+ docinto
+ dodoc AUTHORS ChangeLog doc/legacy/TODO
+ newdoc pwcheck/README README.pwcheck
+
+ newdoc docsrc/sasl/release-notes/$(ver_cut 1-2)/index.rst release-notes
+ edos2unix "${ED}"/usr/share/doc/${PF}/release-notes
+
+ docinto html
+ dodoc doc/html/*.html
+
+ if use pam; then
+ newpamd "${FILESDIR}"/saslauthd.pam-include saslauthd
+ fi
+
+ newinitd "${FILESDIR}"/pwcheck.rc6 pwcheck
+ systemd_dounit "${FILESDIR}"/pwcheck.service
+
+ newinitd "${FILESDIR}"/saslauthd2.rc7 saslauthd
+ newconfd "${FILESDIR}"/saslauthd-${SASLAUTHD_CONF_VER}.conf saslauthd
+ systemd_dounit "${FILESDIR}"/saslauthd.service
+ dotmpfiles "${FILESDIR}"/${PN}.conf
+
+ # The get_modname bit is important: do not remove the .la files on
+ # platforms where the lib isn't called .so for cyrus searches the .la to
+ # figure out what the name is supposed to be instead
+ if ! use static-libs && [[ $(get_modname) == .so ]] ; then
+ find "${ED}" -name "*.la" -delete || die
+ fi
+}
+
+pkg_postinst() {
+ tmpfiles_process ${PN}.conf
+
+ # Generate an empty sasldb2 with correct permissions.
+ if ( use berkdb || use gdbm ) && [[ ! -f "${EROOT}/etc/sasl2/sasldb2" ]] ; then
+ einfo "Generating an empty sasldb2 with correct permissions ..."
+
+ echo "p" | "${EROOT}/usr/sbin/saslpasswd2" -f "${EROOT}/etc/sasl2/sasldb2" -p login \
+ || die "Failed to generate sasldb2"
+
+ "${EROOT}/usr/sbin/saslpasswd2" -f "${EROOT}/etc/sasl2/sasldb2" -d login \
+ || die "Failed to delete temp user"
+
+ chown root:mail "${EROOT}/etc/sasl2/sasldb2" \
+ || die "Failed to chown ${EROOT}/etc/sasl2/sasldb2"
+ chmod 0640 "${EROOT}/etc/sasl2/sasldb2" \
+ || die "Failed to chmod ${EROOT}/etc/sasl2/sasldb2"
+ fi
+
+ if use authdaemond ; then
+ elog "You need to add a user running a service using Courier's"
+ elog "authdaemon to the 'mail' group. For example, do:"
+ elog " gpasswd -a postfix mail"
+ elog "to add the 'postfix' user to the 'mail' group."
+ fi
+
+ elog "pwcheck and saslauthd home directories have moved to:"
+ elog " /run/saslauthd, using tmpfiles.d"
+}
diff --git a/dev-libs/cyrus-sasl/files/cyrus-sasl-2.1.25-auxprop.patch b/dev-libs/cyrus-sasl/files/cyrus-sasl-2.1.25-auxprop.patch
deleted file mode 100644
index a9dd1476d2e6..000000000000
--- a/dev-libs/cyrus-sasl/files/cyrus-sasl-2.1.25-auxprop.patch
+++ /dev/null
@@ -1,16 +0,0 @@
-https://bugzilla.cyrusimap.org/show_bug.cgi?id=3590
-https://bugs.gentoo.org/show_bug.cgi?id=392761
-
---- cyrus-sasl-2.1.25/lib/auxprop.c~ 2011-10-20 17:33:46.423015318 +0200
-+++ cyrus-sasl-2.1.25/lib/auxprop.c 2011-10-20 17:48:49.336348654 +0200
-@@ -971,6 +971,10 @@
- }
-
- if(!found) {
-+ /* compatibility with <= 2.1.23, ignore the lack of auxrop plugin */
-+ if (!plist)
-+ result = SASL_OK;
-+ else
- _sasl_log(sparams->utils->conn, SASL_LOG_DEBUG,
- "could not find auxprop plugin, was searching for '%s'",
- plist ? plist : "[all]");
diff --git a/dev-libs/cyrus-sasl/files/cyrus-sasl-2.1.26-missing-size_t.patch b/dev-libs/cyrus-sasl/files/cyrus-sasl-2.1.26-missing-size_t.patch
deleted file mode 100644
index 0177b52567f2..000000000000
--- a/dev-libs/cyrus-sasl/files/cyrus-sasl-2.1.26-missing-size_t.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-Gentoo bug #458790
---- a/include/sasl.h
-+++ b/include/sasl.h
-@@ -121,6 +121,9 @@
- #ifndef SASL_H
- #define SASL_H 1
-
-+/* stddef.h to get size_t defined */
-+#include <stddef.h>
-+
- /* Keep in sync with win32/common.mak */
- #define SASL_VERSION_MAJOR 2
- #define SASL_VERSION_MINOR 1
diff --git a/dev-libs/cyrus-sasl/files/cyrus-sasl-2.1.27-CVE-2019-19906.patch b/dev-libs/cyrus-sasl/files/cyrus-sasl-2.1.27-CVE-2019-19906.patch
deleted file mode 100644
index 82b9e1fb6dbe..000000000000
--- a/dev-libs/cyrus-sasl/files/cyrus-sasl-2.1.27-CVE-2019-19906.patch
+++ /dev/null
@@ -1,20 +0,0 @@
-Description: CVE-2019-19906: Off-by-one in _sasl_add_string function
-Origin: vendor
-Bug: https://github.com/cyrusimap/cyrus-sasl/issues/587
-Bug-Debian: https://bugs.debian.org/947043
-Bug-Debian-Security: https://security-tracker.debian.org/tracker/CVE-2019-19906
-Author: Stephan Zeisberg <stephan@srlabs.de>
-Reviewed-by: Salvatore Bonaccorso <carnil@debian.org>
-Last-Update: 2019-12-19
-
---- a/lib/common.c
-+++ b/lib/common.c
-@@ -190,7 +190,7 @@ int _sasl_add_string(char **out, size_t
-
- if (add==NULL) add = "(null)";
-
-- addlen=strlen(add); /* only compute once */
-+ addlen=strlen(add)+1; /* only compute once */
- if (_buf_alloc(out, alloclen, (*outlen)+addlen)!=SASL_OK)
- return SASL_NOMEM;
-
diff --git a/dev-libs/cyrus-sasl/files/cyrus-sasl-2.1.27-as_needed.patch b/dev-libs/cyrus-sasl/files/cyrus-sasl-2.1.27-as_needed.patch
deleted file mode 100644
index 7cd9e151fbb7..000000000000
--- a/dev-libs/cyrus-sasl/files/cyrus-sasl-2.1.27-as_needed.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-Author: Matthias Klose <doko@ubuntu.com>
-Desription: Fix FTBFS, add $(SASL_DB_LIB) as dependency to libsasldb, and use
-it.
---- cyrus-sasl-2.1.27/saslauthd/Makefile.am
-+++ cyrus-sasl-2.1.27/saslauthd/Makefile.am
-@@ -25,7 +25,7 @@
- saslauthd_DEPENDENCIES = saslauthd-main.o $(LTLIBOBJS_FULL)
- saslauthd_LDADD = @SASL_KRB_LIB@ \
- @GSSAPIBASE_LIBS@ @LIB_CRYPT@ @LIB_SIA@ \
-- @LIB_SOCKET@ @SASL_DB_LIB@ @LIB_PAM@ @LDAP_LIBS@ $(LTLIBOBJS_FULL) $(CRYPTO_COMPAT_OBJS) $(LIBSASLDB_OBJS)
-+ @LIB_SOCKET@ ../sasldb/libsasldb.la @LIB_PAM@ @LDAP_LIBS@ $(LTLIBOBJS_FULL) $(CRYPTO_COMPAT_OBJS) $(LIBSASLDB_OBJS)
-
- testsaslauthd_SOURCES = testsaslauthd.c utils.c
- testsaslauthd_LDADD = @LIB_SOCKET@
---- cyrus-sasl-2.1.27/sasldb/Makefile.am
-+++ cyrus-sasl-2.1.27/sasldb/Makefile.am
-@@ -54,6 +54,6 @@
-
- libsasldb_la_SOURCES = allockey.c sasldb.h
- EXTRA_libsasldb_la_SOURCES = $(extra_common_sources)
--libsasldb_la_DEPENDENCIES = $(SASL_DB_BACKEND)
--libsasldb_la_LIBADD = $(SASL_DB_BACKEND)
-+libsasldb_la_DEPENDENCIES = $(SASL_DB_BACKEND) $(SASL_DB_LIB)
-+libsasldb_la_LIBADD = $(SASL_DB_BACKEND) $(SASL_DB_LIB)
- libsasldb_la_LDFLAGS = -no-undefined
diff --git a/dev-libs/cyrus-sasl/files/cyrus-sasl-2.1.27-autotools_fixes.patch b/dev-libs/cyrus-sasl/files/cyrus-sasl-2.1.27-autotools_fixes.patch
deleted file mode 100644
index 2ce971efc5b5..000000000000
--- a/dev-libs/cyrus-sasl/files/cyrus-sasl-2.1.27-autotools_fixes.patch
+++ /dev/null
@@ -1,31 +0,0 @@
---- cyrus-sasl-2.1.27/configure.ac
-+++ cyrus-sasl-2.1.27/configure.ac
-@@ -44,6 +44,8 @@
-
- AC_PREREQ(2.63)
-
-+AC_CONFIG_MACRO_DIR([config])
-+
- dnl
- dnl REMINDER: When changing the version number here, please also update
- dnl the values in win32/include/config.h and include/sasl.h as well.
---- cyrus-sasl-2.1.27/Makefile.am
-+++ cyrus-sasl-2.1.27/Makefile.am
-@@ -44,6 +44,8 @@
- #
- ################################################################
-
-+ACLOCAL_AMFLAGS = -I config
-+
- if SASLAUTHD
- SAD = saslauthd
- else
---- cyrus-sasl-2.1.27/saslauthd/Makefile.am
-+++ cyrus-sasl-2.1.27/saslauthd/Makefile.am
-@@ -1,4 +1,6 @@
- AUTOMAKE_OPTIONS = 1.7
-+ACLOCAL_AMFLAGS = -I ../config
-+
- sbin_PROGRAMS = saslauthd testsaslauthd
- EXTRA_PROGRAMS = saslcache
-
diff --git a/dev-libs/cyrus-sasl/files/cyrus-sasl-2.1.27-avoid_pic_overwrite.patch b/dev-libs/cyrus-sasl/files/cyrus-sasl-2.1.27-avoid_pic_overwrite.patch
deleted file mode 100644
index c331039e2f16..000000000000
--- a/dev-libs/cyrus-sasl/files/cyrus-sasl-2.1.27-avoid_pic_overwrite.patch
+++ /dev/null
@@ -1,17 +0,0 @@
-Author: Fabian Fagerholm <fabbe@debian.org>
-Description: This patch makes sure the non-PIC version of libsasldb.a, which
-is created out of non-PIC objects, is not going to overwrite the PIC version,
-which is created out of PIC objects. The PIC version is placed in .libs, and
-the non-PIC version in the current directory. This ensures that both non-PIC
-and PIC versions are available in the correct locations.
---- cyrus-sasl-2.1.27/lib/Makefile.am
-+++ cyrus-sasl-2.1.27/lib/Makefile.am
-@@ -98,7 +98,7 @@
-
- libsasl2.a: libsasl2.la $(SASL_STATIC_OBJS)
- @echo adding static plugins and dependencies
-- $(AR) cru .libs/$@ $(SASL_STATIC_OBJS)
-+ $(AR) cru $@ $(SASL_STATIC_OBJS)
- @for i in ./libsasl2.la ../common/libplugin_common.la ../sasldb/libsasldb.la ../plugins/lib*.la; do \
- if test ! -f $$i; then continue; fi; . $$i; \
- for j in $$dependency_libs foo; do \
diff --git a/dev-libs/cyrus-sasl/files/cyrus-sasl-2.1.27-doc_build_fix.patch b/dev-libs/cyrus-sasl/files/cyrus-sasl-2.1.27-doc_build_fix.patch
deleted file mode 100644
index bdd02f779660..000000000000
--- a/dev-libs/cyrus-sasl/files/cyrus-sasl-2.1.27-doc_build_fix.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- cyrus-sasl-2.1.27/docsrc/exts/sphinxlocal/writers/manpage.py
-+++ cyrus-sasl-2.1.27/docsrc/exts/sphinxlocal/writers/manpage.py
-@@ -23,7 +23,7 @@
- from sphinx import addnodes
- from sphinx.locale import admonitionlabels, _
- from sphinx.util.osutil import ustrftime
--from sphinx.util.compat import docutils_version
-+#from sphinx.util.compat import docutils_version
-
- class CyrusManualPageWriter(ManualPageWriter):
-
diff --git a/dev-libs/cyrus-sasl/files/cyrus-sasl-2.1.27-gss_c_nt_hostbased_service.patch b/dev-libs/cyrus-sasl/files/cyrus-sasl-2.1.27-gss_c_nt_hostbased_service.patch
deleted file mode 100644
index c585cb158e15..000000000000
--- a/dev-libs/cyrus-sasl/files/cyrus-sasl-2.1.27-gss_c_nt_hostbased_service.patch
+++ /dev/null
@@ -1,16 +0,0 @@
-Gentoo bug #389349
---- cyrus-sasl-2.1.27/m4/sasl2.m4
-+++ cyrus-sasl-2.1.27/m4/sasl2.m4
-@@ -220,7 +220,11 @@
- [AC_WARN([Cybersafe define not found])])
-
- elif test "$ac_cv_header_gssapi_h" = "yes"; then
-- AC_EGREP_HEADER(GSS_C_NT_HOSTBASED_SERVICE, gssapi.h,
-+ AC_EGREP_CPP(hostbased_service_gss_nt_yes, gssapi.h,
-+ [#include <gssapi.h>
-+ #ifdef GSS_C_NT_HOSTBASED_SERVICE
-+ hostbased_service_gss_nt_yes
-+ #endif],
- [AC_DEFINE(HAVE_GSS_C_NT_HOSTBASED_SERVICE,,
- [Define if your GSSAPI implementation defines GSS_C_NT_HOSTBASED_SERVICE])])
- elif test "$ac_cv_header_gssapi_gssapi_h"; then
diff --git a/dev-libs/cyrus-sasl/files/cyrus-sasl-2.1.27-memmem.patch b/dev-libs/cyrus-sasl/files/cyrus-sasl-2.1.27-memmem.patch
deleted file mode 100644
index 158529dcb5f5..000000000000
--- a/dev-libs/cyrus-sasl/files/cyrus-sasl-2.1.27-memmem.patch
+++ /dev/null
@@ -1,53 +0,0 @@
-auth_rimap: provide naive memmem implementation if missing
-
-read_response uses memmem, which is not available on e.g. Solaris 10
-
-Bug: https://github.com/cyrusimap/cyrus-sasl/pull/551
-Signed-off-by: Fabian Groffen <grobian@gentoo.org>
-
---- a/saslauthd/auth_rimap.c
-+++ b/saslauthd/auth_rimap.c
-@@ -367,6 +367,32 @@
- /* END FUNCTION: process_login_reply */
-
-
-+#ifndef HAVE_MEMMEM
-+static void *memmem(
-+ const void *big, size_t big_len,
-+ const void *little, size_t little_len)
-+{
-+ const char *bp = (const char *)big;
-+ const char *lp = (const char *)little;
-+ size_t l;
-+
-+ if (big_len < little_len || little_len == 0 || big_len == 0)
-+ return NULL;
-+
-+ while (big_len > 0) {
-+ for (l = 0; l < little_len; l++) {
-+ if (bp[l] != lp[l])
-+ break;
-+ }
-+ if (l == little_len)
-+ return (void *)bp;
-+ bp++;
-+ }
-+
-+ return NULL;
-+}
-+#endif
-+
- static int read_response(int s, char *rbuf, int buflen, const char *tag)
- {
- int rc = 0;
---- a/configure.ac
-+++ b/configure.ac
-@@ -1292,7 +1292,7 @@
-
- #AC_FUNC_MEMCMP
- #AC_FUNC_VPRINTF
--AC_CHECK_FUNCS(gethostname getdomainname getpwnam getspnam gettimeofday inet_aton memcpy mkdir select socket strchr strdup strerror strspn strstr strtol jrand48 getpassphrase asprintf strlcat strlcpy)
-+AC_CHECK_FUNCS(gethostname getdomainname getpwnam getspnam gettimeofday inet_aton memcpy memmem mkdir select socket strchr strdup strerror strspn strstr strtol jrand48 getpassphrase asprintf strlcat strlcpy)
-
- if test $ac_cv_func_getspnam = yes; then
- AC_MSG_CHECKING(if getpwnam_r/getspnam_r take 5 arguments)
diff --git a/dev-libs/cyrus-sasl/files/cyrus-sasl-2.1.27-slibtool.patch b/dev-libs/cyrus-sasl/files/cyrus-sasl-2.1.27-slibtool.patch
deleted file mode 100644
index 81198cb87f0d..000000000000
--- a/dev-libs/cyrus-sasl/files/cyrus-sasl-2.1.27-slibtool.patch
+++ /dev/null
@@ -1,18 +0,0 @@
-https://github.com/cyrusimap/cyrus-sasl/pull/623
-https://bugs.gentoo.org/775875
-
-From 5b8075eeba8d0334573689450b07610c176a2618 Mon Sep 17 00:00:00 2001
-From: orbea <orbea@riseup.net>
-Date: Wed, 9 Sep 2020 07:29:38 -0700
-Subject: [PATCH] common: Define the missing crypto_compat_version version.
-
---- a/common/Makefile.am
-+++ b/common/Makefile.am
-@@ -46,6 +46,7 @@
- # See <http://www.gnu.org/software/libtool/manual/libtool.html#Versioning>
- # CURRENT:REVISION:AGE
- plugin_common_version = 3:0:0
-+crypto_compat_version = 0:0:0
-
- AM_CPPFLAGS=-fPIC -I$(top_srcdir)/include -I$(top_builddir)/include
-
diff --git a/dev-libs/cyrus-sasl/files/java.README.gentoo b/dev-libs/cyrus-sasl/files/java.README.gentoo
deleted file mode 100644
index fb73204ecab1..000000000000
--- a/dev-libs/cyrus-sasl/files/java.README.gentoo
+++ /dev/null
@@ -1,39 +0,0 @@
-4-Nov-2000
-
-Note: this file has been modified to adapt to Gentoo specific.
-
-class files are installed in
-
-`java-config -p cyrus-sasl-2`
-
-to compile programs using it, do:
-
-javac -classpath $JAVA_HOME/lib/tools.jar:`java-config -p cyrus-sasl-2` <file>.java
-
-(make sure to substitute your JDK for $JAVA_HOME/lib/tools.jar)
-
-to run, do
-
-java -classpath <same path as above> <YourProgram>
-
-----------------------------
-This is a java version of the SASL libraries. It supports all the
-mechanisms in the C version and conforms to the internet draft in the
-doc/ directory. JNI is used.
-
-Sample applications exist in the Test/ directory.
-
-They generally can be run with something like:
-
-java -debug -classpath
-../:$JAVA_HOME/lib/tools.jar:`java-config -p cyrus-sasl-2`:. jimtest -p 2143 -m
-KERBEROS_V4 cyrus-dev
-
-and
-
-java -debug -classpath
-../:$JAVA_HOME/lib/tools.jar:`java-config -p cyrus-sasl-2`:. testserver
-
-
-Any feedback is welcome.
-
diff --git a/dev-libs/cyrus-sasl/metadata.xml b/dev-libs/cyrus-sasl/metadata.xml
index c1d8ef119dd4..dbb996c4473f 100644
--- a/dev-libs/cyrus-sasl/metadata.xml
+++ b/dev-libs/cyrus-sasl/metadata.xml
@@ -14,6 +14,6 @@
<flag name="urandom">Use /dev/urandom instead of /dev/random</flag>
</use>
<upstream>
- <remote-id type="github">cyrusimap/cyrus-imapd</remote-id>
+ <remote-id type="github">cyrusimap/cyrus-sasl</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-libs/d0_blind_id/Manifest b/dev-libs/d0_blind_id/Manifest
index 503768c68dea..91bcca828edd 100644
--- a/dev-libs/d0_blind_id/Manifest
+++ b/dev-libs/d0_blind_id/Manifest
@@ -1 +1 @@
-DIST d0_blind_id-1.0.tar.gz 49110 BLAKE2B 1977bb9c71d6655e8a84aab9daf5aee470ac3f3e140e7beff3555a41a81baebab5e4e5019b0550594b8c6e8b936706bb9790e5e3171c1348abf3212349d07109 SHA512 dbee0bec44a008a6843ec367211e4cdfa25f6c4577b48d942d19301d5ff885d4fde8d40ea304a114d349d8e90283a50854afb2fb322bf19640842ded025849f2
+DIST d0_blind_id-1.0_p20201124.tar.gz 49380 BLAKE2B 7ab544c512a720165d26b637e63825c09e5a8628f84eaf43663cef0f9b0a8655437438560da288179141bb7314e89f53c7e4725957b2b4b5973174340527b33a SHA512 72cec41e88302cb8ea8bc5b2e115e4b2939475ca2c6e1e3cf8e90d2fde99c8ab1c1ae7c18e804b9c19549e4d331fda8c46a1e6ca4d0057742c6d71298dca96f8
diff --git a/dev-libs/d0_blind_id/d0_blind_id-1.0.ebuild b/dev-libs/d0_blind_id/d0_blind_id-1.0.ebuild
deleted file mode 100644
index f44ecf9b3de1..000000000000
--- a/dev-libs/d0_blind_id/d0_blind_id-1.0.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
-
-inherit autotools
-
-DESCRIPTION="Blind-ID library for user identification using RSA blind signatures"
-HOMEPAGE="http://git.xonotic.org/?p=xonotic/d0_blind_id.git;a=summary"
-SRC_URI="https://github.com/divVerent/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 ~arm64 x86"
-IUSE="static-libs"
-
-RDEPEND="dev-libs/gmp:0"
-DEPEND="${RDEPEND}"
-BDEPEND="
- virtual/pkgconfig
-"
-
-DOCS=( d0_blind_id.txt )
-
-PATCHES=(
- "${FILESDIR}/${P}-slibtool.patch"
-)
-
-src_prepare() {
- default
-
- # fix out-of-source build
- sed -i \
- -e 's, d0_rijndael.c, "$srcdir/d0_rijndael.c",' \
- configure.ac || die
-
- eautoreconf
-}
-
-src_configure() {
- local myeconfargs=(
- --enable-rijndael
- --without-openssl
- --without-tfm
- --without-tommath
- $(use_enable static-libs static)
- )
- econf "${myeconfargs[@]}"
-}
-
-src_install() {
- default
- find "${ED}" -name "*.la" -delete || die
-}
diff --git a/dev-libs/d0_blind_id/d0_blind_id-1.0_p20201124.ebuild b/dev-libs/d0_blind_id/d0_blind_id-1.0_p20201124.ebuild
new file mode 100644
index 000000000000..8f17b3e9e117
--- /dev/null
+++ b/dev-libs/d0_blind_id/d0_blind_id-1.0_p20201124.ebuild
@@ -0,0 +1,46 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools
+
+D0BLIND_HASH="c32ee93edd10288ca40e1eb81263f0a37309b32c" # xonotic-0.8.5
+
+DESCRIPTION="Blind-ID library for user identification using RSA blind signatures"
+HOMEPAGE="https://gitlab.com/xonotic/d0_blind_id/"
+SRC_URI="https://gitlab.com/xonotic/d0_blind_id/-/archive/${D0BLIND_HASH}/${P}.tar.gz"
+S="${WORKDIR}/${PN}-${D0BLIND_HASH}"
+
+LICENSE="BSD public-domain"
+SLOT="0"
+KEYWORDS="amd64 ~arm64 x86"
+
+RDEPEND="dev-libs/gmp:="
+DEPEND="${RDEPEND}"
+BDEPEND="virtual/pkgconfig"
+
+src_prepare() {
+ default
+
+ eautoreconf
+}
+
+src_configure() {
+ local econfargs=(
+ --enable-rijndael
+ --without-openssl
+ --without-tfm
+ --without-tommath
+ )
+
+ econf "${econfargs[@]}"
+}
+
+src_install() {
+ default
+
+ dodoc d0_blind_id.txt
+
+ find "${ED}" -type f -name "*.la" -delete || die
+}
diff --git a/dev-libs/d0_blind_id/files/d0_blind_id-1.0-slibtool.patch b/dev-libs/d0_blind_id/files/d0_blind_id-1.0-slibtool.patch
deleted file mode 100644
index 62ae318315fa..000000000000
--- a/dev-libs/d0_blind_id/files/d0_blind_id-1.0-slibtool.patch
+++ /dev/null
@@ -1,43 +0,0 @@
-From 0d3d1f2655901776b2fc3e911eb78478412f789a Mon Sep 17 00:00:00 2001
-From: Lyberta <lyberta@lyberta.net>
-Date: Sat, 7 Oct 2017 19:26:40 +0300
-Subject: [PATCH] Fixed version-info.
-
----
- Makefile.am | 6 +++---
- 1 file changed, 3 insertions(+), 3 deletions(-)
-
-diff --git a/Makefile.am b/Makefile.am
-index d21887d..07338eb 100644
---- a/Makefile.am
-+++ b/Makefile.am
-@@ -5,7 +5,7 @@ blind_id_SOURCES = main.c
- blind_id_LDADD = libd0_blind_id.la
-
- lib_LTLIBRARIES = libd0_blind_id.la
--# versioninfo:
-+# version-info:
- # - compatible interface change: c:r:a -> c+1:0:a+1
- # - incompatible interface change: c:r:a -> c+1:0:0
- # - internal change: c:r:a -> c:r+1:a
-@@ -29,7 +29,7 @@ libd0_blind_id_la_SOURCES += d0_bignum-gmp.c
- endif
- endif
- endif
--libd0_blind_id_la_LDFLAGS = -versioninfo 7:1:7
-+libd0_blind_id_la_LDFLAGS = -version-info 7:1:7
- libd0_blind_id_la_CFLAGS = -fvisibility=hidden -Wold-style-definition -Wstrict-prototypes -Wsign-compare -Wdeclaration-after-statement
- library_includedir = $(includedir)/d0_blind_id
- library_include_HEADERS = d0_blind_id.h d0.h
-@@ -40,7 +40,7 @@ if ENABLE_RIJNDAEL
- lib_LTLIBRARIES += libd0_rijndael.la
- libd0_rijndael_la_SOURCES = d0_rijndael.c \
- d0_rijndael.h
--libd0_rijndael_la_LDFLAGS = -versioninfo 0:0:0
-+libd0_rijndael_la_LDFLAGS = -version-info 0:0:0
- libd0_rijndael_la_CFLAGS = -fvisibility=hidden -Wold-style-definition -Wstrict-prototypes -Wsign-compare -Wdeclaration-after-statement
- library_include_HEADERS += d0_rijndael.h
- pkgconfig_HEADERS += d0_rijndael.pc
---
-2.20.1
-
diff --git a/dev-libs/d0_blind_id/metadata.xml b/dev-libs/d0_blind_id/metadata.xml
index 1c3ba213c494..8782ab33b304 100644
--- a/dev-libs/d0_blind_id/metadata.xml
+++ b/dev-libs/d0_blind_id/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>games@gentoo.org</email>
- <name>Gentoo Games Project</name>
-</maintainer>
+ <maintainer type="project">
+ <email>games@gentoo.org</email>
+ <name>Gentoo Games Project</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="gitlab">xonotic/d0_blind_id</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/dev-libs/darts/Manifest b/dev-libs/darts/Manifest
index 0b6865602030..243675ac6111 100644
--- a/dev-libs/darts/Manifest
+++ b/dev-libs/darts/Manifest
@@ -1,2 +1 @@
-DIST darts-0.32.tar.gz 234001 BLAKE2B e40f16e6ead25809d981c98924867903e1d0f3734682b61ad1be40a10a4212795dfdef55a0eb6f9d0f60ef7676ed27929a6812bf8f57972dcf00875e99d9917b SHA512 b9af8ce60688f5858dac2cac35a8666848dba6729f9f4364786123a1c0484e56c8b981ec04e59653afbcf20cce3b326a49243095213efb525b5669472ac7358e
DIST darts-0.32h_pre20181117064816.tar.gz 38856 BLAKE2B db4bf7ca88ceb81dcaee4494708d3f469dfc4f1ce53aa731f291d4b7d73f2c48a9e8d97caf32fd0bdd66aaba1c9e3e2e0289a5f2fdf7f5f1f2351c3808d6a98c SHA512 092cc833fff937365117f5b780f09a1ffdd25104ab57e36f7cba25a9a6bee289c105cae997a50b61b5b542c1c34d71bddf132d0ca14d563198b57caa9af2ac22
diff --git a/dev-libs/darts/darts-0.32.ebuild b/dev-libs/darts/darts-0.32.ebuild
deleted file mode 100644
index b7c803763059..000000000000
--- a/dev-libs/darts/darts-0.32.ebuild
+++ /dev/null
@@ -1,35 +0,0 @@
-# Copyright 2003-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-
-DESCRIPTION="A C++ template library that implements Double-Array"
-HOMEPAGE="http://chasen.org/~taku/software/darts/"
-SRC_URI="http://chasen.org/~taku/software/darts/src/${P}.tar.gz"
-
-LICENSE="|| ( BSD LGPL-2.1 )"
-SLOT="0"
-KEYWORDS="amd64 ~arm64 ~ia64 ppc ppc64 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~sparc-solaris ~x86-solaris"
-IUSE="zlib"
-
-BDEPEND=""
-DEPEND="zlib? ( sys-libs/zlib )"
-RDEPEND="${DEPEND}"
-
-src_configure() {
- econf $(use_with zlib)
-}
-
-src_compile() {
- emake CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}"
-}
-
-src_install() {
- default
-
- dodoc AUTHORS ChangeLog
- (
- docinto html
- dodoc doc/*
- )
-}
diff --git a/dev-libs/darts/darts-0.32h_pre20181117064816.ebuild b/dev-libs/darts/darts-0.32h_pre20181117064816.ebuild
index acc0a8d07169..7b61be79be20 100644
--- a/dev-libs/darts/darts-0.32h_pre20181117064816.ebuild
+++ b/dev-libs/darts/darts-0.32h_pre20181117064816.ebuild
@@ -25,7 +25,7 @@ fi
LICENSE="BSD-2"
SLOT="0"
-KEYWORDS="amd64 arm64 ~hppa ~ia64 ppc ppc64 ~riscv ~sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~sparc-solaris ~x86-solaris"
+KEYWORDS="amd64 arm64 ~hppa ~ia64 ~loong ppc ppc64 ~riscv sparc x86 ~amd64-linux ~x86-linux ~ppc-macos"
IUSE=""
BDEPEND=""
diff --git a/dev-libs/date/date-3.0.0.ebuild b/dev-libs/date/date-3.0.0.ebuild
index d77a0ca0a183..d0a19a986f6b 100644
--- a/dev-libs/date/date-3.0.0.ebuild
+++ b/dev-libs/date/date-3.0.0.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -9,7 +9,7 @@ DESCRIPTION="A date and time library based on the C++11/14/17 <chrono> header"
HOMEPAGE="https://github.com/HowardHinnant/date"
SRC_URI="https://github.com/HowardHinnant/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-KEYWORDS="~amd64"
+KEYWORDS="amd64"
LICENSE="MIT"
SLOT="0/3.0.0"
diff --git a/dev-libs/dbus-c++/dbus-c++-0.9.0-r4.ebuild b/dev-libs/dbus-c++/dbus-c++-0.9.0-r4.ebuild
index 2f8c7ffa71d6..808b6f23b8e3 100644
--- a/dev-libs/dbus-c++/dbus-c++-0.9.0-r4.ebuild
+++ b/dev-libs/dbus-c++/dbus-c++-0.9.0-r4.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
@@ -6,7 +6,7 @@ EAPI=7
inherit multilib-minimal
DESCRIPTION="Provides a C++ API for D-BUS"
-HOMEPAGE="https://sourceforge.net/projects/dbus-cplusplus/ https://sourceforge.net/apps/mediawiki/dbus-cplusplus/index.php?title=Main_Page"
+HOMEPAGE="https://sourceforge.net/projects/dbus-cplusplus/"
SRC_URI="mirror://sourceforge/dbus-cplusplus/lib${P}.tar.gz"
LICENSE="LGPL-2.1+"
@@ -23,7 +23,7 @@ DEPEND="${RDEPEND}
dev-util/cppunit[${MULTILIB_USEDEP}]"
BDEPEND="
virtual/pkgconfig
- doc? ( app-doc/doxygen )"
+ doc? ( app-text/doxygen )"
S="${WORKDIR}/lib${P}"
diff --git a/dev-libs/dbus-c++/dbus-c++-0.9.0-r5.ebuild b/dev-libs/dbus-c++/dbus-c++-0.9.0-r5.ebuild
new file mode 100644
index 000000000000..aa524e0af5b1
--- /dev/null
+++ b/dev-libs/dbus-c++/dbus-c++-0.9.0-r5.ebuild
@@ -0,0 +1,75 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit multilib-minimal autotools virtualx
+
+DESCRIPTION="Provides a C++ API for D-BUS"
+HOMEPAGE="https://sourceforge.net/projects/dbus-cplusplus/"
+SRC_URI="mirror://sourceforge/dbus-cplusplus/lib${P}.tar.gz"
+
+LICENSE="LGPL-2.1+"
+SLOT="0"
+KEYWORDS="~alpha amd64 ~arm ~arm64 ~ia64 ~loong ~ppc ~ppc64 ~riscv ~sparc x86"
+IUSE="doc ecore glib test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ dev-libs/expat
+ sys-apps/dbus[${MULTILIB_USEDEP}]
+ ecore? ( dev-libs/efl )
+ glib? ( dev-libs/glib:2[${MULTILIB_USEDEP}] )"
+DEPEND="${RDEPEND}
+ dev-util/cppunit[${MULTILIB_USEDEP}]"
+BDEPEND="
+ virtual/pkgconfig
+ doc? ( app-text/doxygen )
+ test? ( sys-apps/dbus[X,${MULTILIB_USEDEP}] )"
+
+S="${WORKDIR}/lib${P}"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-gcc-4.7.patch #424707
+ "${FILESDIR}"/${PN}-gcc7.patch #622790
+ "${FILESDIR}"/${P}-gcc12.patch
+ "${FILESDIR}"/${PN}-0.9.0-enable-tests.patch #873487
+)
+
+src_prepare() {
+ default
+ eautoreconf
+}
+
+multilib_src_configure() {
+ # TODO : add ecore multilib support if/when it is multilibified
+ ECONF_SOURCE="${S}" econf \
+ --disable-examples \
+ --disable-static \
+ $(multilib_native_use_enable doc doxygen-docs) \
+ $(multilib_native_use_enable ecore) \
+ $(use_enable glib) \
+ $(use_enable test tests) \
+ PTHREAD_LIBS=-lpthread
+ # ACX_PTHREAD sets PTHREAD_CFLAGS but not PTHREAD_LIBS for some reason...
+
+ if multilib_is_native_abi; then
+ # docs don't like out-of-source builds
+ local d
+ for d in img html; do
+ ln -s "${S}"/doc/${d} "${BUILD_DIR}"/doc/${d} || die
+ done
+ fi
+}
+
+src_test() {
+ virtx multilib-minimal_src_test
+}
+
+multilib_src_install_all() {
+ use doc && HTML_DOCS=( doc/html/. )
+ einstalldocs
+
+ # no static archives
+ find "${ED}" -name '*.la' -delete || die
+}
diff --git a/dev-libs/dbus-c++/files/dbus-c++-0.9.0-enable-tests.patch b/dev-libs/dbus-c++/files/dbus-c++-0.9.0-enable-tests.patch
new file mode 100644
index 000000000000..827332c9f679
--- /dev/null
+++ b/dev-libs/dbus-c++/files/dbus-c++-0.9.0-enable-tests.patch
@@ -0,0 +1,22 @@
+https://bugs.gentoo.org/873487
+https://github.com/gentoo/gentoo/pull/27679
+
+diff --git a/test/functional/Test1/Makefile.am b/test/functional/Test1/Makefile.am
+index 3269751..50dd2a9 100644
+--- a/test/functional/Test1/Makefile.am
++++ b/test/functional/Test1/Makefile.am
+@@ -40,3 +40,4 @@ AM_CPPFLAGS =
+
+ ## File created by the gnome-build tools
+
++TESTS = $(noinst_PROGRAMS)
+diff --git a/test/generator/Makefile.am b/test/generator/Makefile.am
+index 6c2403d..c6781aa 100644
+--- a/test/generator/Makefile.am
++++ b/test/generator/Makefile.am
+@@ -38,3 +38,5 @@ dist-hook:
+
+ MAINTAINERCLEANFILES = \
+ Makefile.in
++
++TESTS = $(noinst_PROGRAMS)
diff --git a/dev-libs/dbus-c++/files/dbus-c++-0.9.0-gcc12.patch b/dev-libs/dbus-c++/files/dbus-c++-0.9.0-gcc12.patch
new file mode 100644
index 000000000000..9c2b52453df9
--- /dev/null
+++ b/dev-libs/dbus-c++/files/dbus-c++-0.9.0-gcc12.patch
@@ -0,0 +1,89 @@
+https://src.fedoraproject.org/rpms/dbus-c++/blob/rawhide/f/dbus-c++-template-operators.patch
+https://bugs.gentoo.org/737120
+https://bugs.gentoo.org/740068
+
+commit a0b9ef3b469ca23c6a3229d8abb967cbbddcee38
+Author: Peter Williams <peter@newton.cx>
+Date: Sat Dec 19 21:12:46 2015 -0500
+
+ Fix some weird template/operator issues on OS X.
+
+ I frankly don't understand at all what's going on here. These fixes
+ derive from:
+
+ https://chromium.googlesource.com/chromiumos/third_party/dbus-cplusplus/+/c3f69f6be02e31521474dce7eadf6ba4f4a7ce94
+ https://chromium.googlesource.com/chromiumos/third_party/dbus-cplusplus/+/7104857773f790a549d399715482fa23d9b736cd
+
+ Except I've dropped some changes that break the OS X build for me. Frankly, if
+ it compiles, that's good enough for me.
+
+--- a/include/dbus-c++/types.h
++++ b/include/dbus-c++/types.h
+@@ -89,13 +89,7 @@ public:
+ }
+
+ template <typename T>
+- operator T() const
+- {
+- T cast;
+- MessageIter ri = _msg.reader();
+- ri >> cast;
+- return cast;
+- }
++ operator T() const;
+
+ private:
+
+@@ -316,7 +310,7 @@ struct type< Struct<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14,
+ }
+ };
+
+-} /* namespace DBus */
++extern DXXAPI DBus::MessageIter &operator << (DBus::MessageIter &iter, const DBus::Variant &val);
+
+ inline DBus::MessageIter &operator << (DBus::MessageIter &iter, const DBus::Invalid &)
+ {
+@@ -551,6 +545,8 @@ inline DBus::MessageIter &operator >> (DBus::MessageIter &iter, DBus::Signature
+ return ++iter;
+ }
+
++extern DXXAPI DBus::MessageIter &operator >> (DBus::MessageIter &iter, DBus::Variant &val);
++
+ template<typename E>
+ inline DBus::MessageIter &operator >> (DBus::MessageIter &iter, std::vector<E>& val)
+ {
+@@ -644,7 +640,16 @@ inline DBus::MessageIter &operator >> (DBus::MessageIter &iter, DBus::Struct<T1,
+ return ++iter;
+ }
+
+-extern DXXAPI DBus::MessageIter &operator >> (DBus::MessageIter &iter, DBus::Variant &val);
++template <typename T>
++inline DBus::Variant::operator T() const
++{
++ T cast;
++ DBus::MessageIter ri = _msg.reader();
++ ri >> cast;
++ return cast;
++}
++
++} /* namespace DBus */
+
+ #endif//__DBUSXX_TYPES_H
+
+--- a/src/types.cpp
++++ b/src/types.cpp
+@@ -34,7 +34,7 @@
+ #include "message_p.h"
+ #include "internalerror.h"
+
+-using namespace DBus;
++namespace DBus {
+
+ Variant::Variant()
+ : _msg(CallMessage()) // dummy message used as temporary storage for variant data
+@@ -104,3 +104,4 @@ MessageIter &operator >> (MessageIter &iter, Variant &val)
+ return ++iter;
+ }
+
++} /* namespace DBus */
+
diff --git a/dev-libs/dbus-glib/dbus-glib-0.110.ebuild b/dev-libs/dbus-glib/dbus-glib-0.110.ebuild
index 39943cb7eb12..c77bed76b90f 100644
--- a/dev-libs/dbus-glib/dbus-glib-0.110.ebuild
+++ b/dev-libs/dbus-glib/dbus-glib-0.110.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
@@ -10,7 +10,7 @@ SRC_URI="https://dbus.freedesktop.org/releases/${PN}/${P}.tar.gz"
LICENSE="|| ( GPL-2 AFL-2.1 )"
SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~sparc-solaris ~x86-solaris"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos"
IUSE="debug static-libs test"
RESTRICT="!test? ( test )"
@@ -25,7 +25,7 @@ BDEPEND="
>=dev-libs/glib-2.40:2
>=sys-apps/dbus-1.8
>=dev-util/glib-utils-2.40
- >=dev-util/gtk-doc-am-1.14
+ >=dev-build/gtk-doc-am-1.14
virtual/pkgconfig
" # CBUILD dependencies are needed to make a native tool while cross-compiling.
diff --git a/dev-libs/dbus-glib/dbus-glib-0.112.ebuild b/dev-libs/dbus-glib/dbus-glib-0.112.ebuild
index 1dac549aefbc..a0dcd4ce0f8b 100644
--- a/dev-libs/dbus-glib/dbus-glib-0.112.ebuild
+++ b/dev-libs/dbus-glib/dbus-glib-0.112.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
@@ -11,7 +11,7 @@ SRC_URI="https://dbus.freedesktop.org/releases/${PN}/${P}.tar.gz"
LICENSE="|| ( GPL-2 AFL-2.1 )"
SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~sparc-solaris ~x86-solaris"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos"
IUSE="debug static-libs test"
RESTRICT="!test? ( test )"
@@ -26,7 +26,7 @@ BDEPEND="
>=dev-libs/glib-2.40:2
>=sys-apps/dbus-1.8
>=dev-util/glib-utils-2.40
- >=dev-util/gtk-doc-am-1.14
+ >=dev-build/gtk-doc-am-1.14
virtual/pkgconfig
" # CBUILD dependencies are needed to make a native tool while cross-compiling.
diff --git a/dev-libs/device-atlas-api-c/Manifest b/dev-libs/device-atlas-api-c/Manifest
deleted file mode 100644
index e37d1bb01952..000000000000
--- a/dev-libs/device-atlas-api-c/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST deviceatlas-enterprise-c-2.1.4.tgz 51756 BLAKE2B f8dafdf31b608890da07214e14e9b2ec558e2c9c94c394a04c554e915cc1d4e2e886be1c0932353b0a68efaf90f190157696a2575db6ff2a86bbca3b492bc427 SHA512 5ea765738560c6dbc90799426f6bc0e6eb5e7775fa005279f046a68a4a984305ef99ae8b943dd9d32f88d88c1d24b6c09145643fa64a90eb834fc4a6ece05008
diff --git a/dev-libs/device-atlas-api-c/device-atlas-api-c-2.1.4.ebuild b/dev-libs/device-atlas-api-c/device-atlas-api-c-2.1.4.ebuild
deleted file mode 100644
index 1f91f978318a..000000000000
--- a/dev-libs/device-atlas-api-c/device-atlas-api-c-2.1.4.ebuild
+++ /dev/null
@@ -1,48 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-CMAKE_MAKEFILE_GENERATOR=emake
-inherit cmake-multilib
-
-MY_P="deviceatlas-enterprise-c-${PV/_p/_}"
-
-DESCRIPTION="API to detect devices based on the User-Agent HTTP header"
-HOMEPAGE="https://deviceatlas.com"
-SRC_URI="${MY_P}.tgz"
-
-LICENSE="all-rights-reserved"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~ppc ~x86"
-IUSE="doc examples"
-
-RDEPEND="dev-libs/libpcre[${MULTILIB_USEDEP}]"
-DEPEND="
- ${RDEPEND}"
-
-RESTRICT="fetch mirror bindist"
-
-S="${WORKDIR}/${MY_P}"
-
-PATCHES=(
- "${FILESDIR}/${PV}-src-cmakelists.patch"
-)
-
-pkg_nofetch() {
- eerror "Please go to https://deviceatlas.com/deviceatlas-haproxy-module"
- eerror "And download DeviceAtlas C API"
- eerror "Save the file as ${MY_P}.tgz in your DISTDIR directory."
-}
-
-multilib_src_install_all() {
- if use doc; then
- local -a HTML_DOCS=( Documentation )
- fi
-
- if use examples; then
- docinto examples
- dodoc -r Examples/.
- fi
-
- einstalldocs
-}
diff --git a/dev-libs/device-atlas-api-c/files/2.1.4-src-cmakelists.patch b/dev-libs/device-atlas-api-c/files/2.1.4-src-cmakelists.patch
deleted file mode 100644
index d66fdad8e4dc..000000000000
--- a/dev-libs/device-atlas-api-c/files/2.1.4-src-cmakelists.patch
+++ /dev/null
@@ -1,25 +0,0 @@
---- a/Src/CMakeLists.txt
-+++ b/Src/CMakeLists.txt
-@@ -11,6 +11,7 @@ if (NOT LIBTYPE)
- set(LIBTYPE SHARED)
- endif()
-
-+include(GNUInstallDirs)
- message(STATUS "${CMAKE_BUILD_TYPE} version")
-
- include_directories(${PCRE_INCLUDE_DIR} ${CMAKE_CURRENT_SOURCE_DIR})
-@@ -33,11 +34,11 @@ set_target_properties(ci PROPERTIES SOVERSION ${CI_API_VERSION})
-
- if(UNIX)
- if(NOT APPLE)
-- install(FILES ${CMAKE_CURRENT_BINARY_DIR}/libda.so ${CMAKE_CURRENT_BINARY_DIR}/libda.so.${DA_API_VERSION} DESTINATION /usr/local/lib)
-- install(FILES ${CMAKE_CURRENT_BINARY_DIR}/libci.so ${CMAKE_CURRENT_BINARY_DIR}/libci.so.${CI_API_VERSION} DESTINATION /usr/local/lib)
-+ install(FILES ${CMAKE_CURRENT_BINARY_DIR}/libda.so ${CMAKE_CURRENT_BINARY_DIR}/libda.so.${DA_API_VERSION} DESTINATION ${CMAKE_INSTALL_LIBDIR})
-+ install(FILES ${CMAKE_CURRENT_BINARY_DIR}/libci.so ${CMAKE_CURRENT_BINARY_DIR}/libci.so.${CI_API_VERSION} DESTINATION ${CMAKE_INSTALL_LIBDIR})
- else()
- install(FILES ${CMAKE_CURRENT_BINARY_DIR}/libda.dylib ${CMAKE_CURRENT_BINARY_DIR}/libda.${DA_API_VERSION}.dylib DESTINATION /usr/local/lib)
- install(FILES ${CMAKE_CURRENT_BINARY_DIR}/libci.dylib ${CMAKE_CURRENT_BINARY_DIR}/libci.${CI_API_VERSION}.dylib DESTINATION /usr/local/lib)
- endif()
-- install(FILES dac.h dac_json.h ci.h ci_priv.h ci_fwd.h DESTINATION /usr/local/include)
-+ install(FILES dac.h dac_json.h ci.h ci_priv.h ci_fwd.h DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
- endif()
diff --git a/dev-libs/device-atlas-api-c/metadata.xml b/dev-libs/device-atlas-api-c/metadata.xml
deleted file mode 100644
index 715b905568b1..000000000000
--- a/dev-libs/device-atlas-api-c/metadata.xml
+++ /dev/null
@@ -1,15 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="person" proxied="yes">
- <email>bertrand@jacquin.bzh</email>
- <name>Bertrand Jacquin</name>
- </maintainer>
- <maintainer type="project" proxied="proxy">
- <email>proxy-maint@gentoo.org</email>
- <name>Proxy Maintainers</name>
- </maintainer>
- <longdescription>
- DeviceAtlas is the de facto standard for device data across the web, telco, advertising and digital marketing sectors. As the only solution that is indexed for both web and mobile operator environments, DeviceAtlas' patented technology provides a common device identifier to understand device traffic across all connected environments.
- </longdescription>
-</pkgmetadata>
diff --git a/dev-libs/dietlibc/Manifest b/dev-libs/dietlibc/Manifest
index 09f53a3ba4b0..62d833af56e9 100644
--- a/dev-libs/dietlibc/Manifest
+++ b/dev-libs/dietlibc/Manifest
@@ -1,2 +1 @@
DIST dietlibc-0.34.tar.xz 662732 BLAKE2B ac709f19f98c298ee424f8320cbc7bca997156323e64d3a219251146b4257185f27519262914d3df044638ecfcf06e1e3680d8af226704dca65d6e4be20b3dc4 SHA512 2b38528c0ccf50e426f587b6448fed997fab1147eecc9e1af2f3fb3efe3d8f3997656d8e66e7cf1045ceb1f602cef43456c62ba83ff494f9c9816721bdb4d6c6
-DIST dietlibc-0.34_pre20140729.tar.bz2 670195 BLAKE2B 9479c97c09b0c8c7e5d85536afd962613e9f5fbcb1aff3ef9b2aace19d246b2d0b637f00c3abee0a2c06f170263e85ffba94247171afc47e40c8ab0e95fe5191 SHA512 a0bb5465f7fc985fd074dfcc4039003ec26b6b5fde5f2ccc53322067bd1a6459e742c9debeffda0b5146e287baa8e49f74f4a8ffafdf1daacacec4768d13db36
diff --git a/dev-libs/dietlibc/dietlibc-0.34.ebuild b/dev-libs/dietlibc/dietlibc-0.34.ebuild
index 856d3468195f..49824e60289f 100644
--- a/dev-libs/dietlibc/dietlibc-0.34.ebuild
+++ b/dev-libs/dietlibc/dietlibc-0.34.ebuild
@@ -1,7 +1,8 @@
-# Copyright 1999-2019 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="7"
+
inherit flag-o-matic toolchain-funcs
DESCRIPTION="A libc optimized for small size"
@@ -10,7 +11,7 @@ SRC_URI="https://www.fefe.de/dietlibc/${P}.tar.xz"
LICENSE="GPL-2"
SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~ia64 ~mips ~sparc ~x86 ~amd64-linux ~x86-linux"
+KEYWORDS="~alpha amd64 ~arm ~ia64 ~mips sparc x86 ~amd64-linux ~x86-linux"
IUSE=""
DEPEND=">=sys-devel/binutils-2.31.1-r4"
@@ -21,9 +22,15 @@ DIETHOME="/usr/diet"
src_prepare() {
default
+ # bug #855677
+ filter-lto
+
# Replace sparc64 related C[XX]FLAGS (see bug #45716)
use sparc && replace-sparc64-flags
+ # bug 676704
+ use sparc && tc-is-gcc && append-flags -fno-tree-pre
+
# gcc-hppa suffers support for SSP, compilation will fail
use hppa && strip-unsupported-flags
diff --git a/dev-libs/dietlibc/dietlibc-0.34_pre20140729-r1.ebuild b/dev-libs/dietlibc/dietlibc-0.34_pre20140729-r1.ebuild
deleted file mode 100644
index ebed03a51dea..000000000000
--- a/dev-libs/dietlibc/dietlibc-0.34_pre20140729-r1.ebuild
+++ /dev/null
@@ -1,69 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-inherit flag-o-matic toolchain-funcs
-
-DESCRIPTION="A libc optimized for small size"
-HOMEPAGE="http://www.fefe.de/dietlibc/"
-SRC_URI="https://dev.gentoo.org/~patrick/${P}.tar.bz2"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="~alpha amd64 ~arm ~ia64 ~mips sparc x86 ~amd64-linux ~x86-linux"
-IUSE=""
-
-DEPEND=""
-RDEPEND=""
-
-DIETHOME="/usr/diet"
-
-S="${WORKDIR}/dietlibc"
-
-src_prepare() {
- default
-
- # use __DYN_LIB instead of __PIC__ in i386 socketcalls, bug #644116
- eapply "${FILESDIR}"/${P}-dyn-lib.patch
-
- # Replace sparc64 related C[XX]FLAGS (see bug #45716)
- use sparc && replace-sparc64-flags
-
- # gcc-hppa suffers support for SSP, compilation will fail
- use hppa && strip-unsupported-flags
-
- # Makefile does not append CFLAGS
- append-flags -nostdinc -W -Wall -Wextra -Wchar-subscripts \
- -Wmissing-prototypes -Wmissing-declarations -Wno-switch \
- -Wno-unused -Wredundant-decls -fno-strict-aliasing
-
- # Disable ssp for we default to it on >=gcc-4.8.3
- append-flags $(test-flags -fno-stack-protector)
-
- # only use -nopie on archs that support it
- tc-enables-pie && append-flags -no-pie
-
- sed -i -e 's:strip::' Makefile || die
- append-flags -Wa,--noexecstack
-}
-
-src_compile() {
- emake -j1 prefix="${EPREFIX}"${DIETHOME} \
- CC="$(tc-getCC)" \
- CFLAGS="${CFLAGS}" \
- STRIP=":"
-}
-
-src_install() {
- emake -j1 prefix="${EPREFIX}"${DIETHOME} \
- DESTDIR="${D}" \
- install-bin \
- install-headers \
- install-profiling
-
- dobin "${ED}"${DIETHOME}/bin/*
- doman "${ED}"${DIETHOME}/man/*/*
- rm -r "${ED}"${DIETHOME}/{man,bin} || die
-
- dodoc AUTHOR BUGS CAVEAT CHANGES README THANKS TODO PORTING
-}
diff --git a/dev-libs/dietlibc/files/dietlibc-0.34_pre20140729-dyn-lib.patch b/dev-libs/dietlibc/files/dietlibc-0.34_pre20140729-dyn-lib.patch
deleted file mode 100644
index fe3fcb072f63..000000000000
--- a/dev-libs/dietlibc/files/dietlibc-0.34_pre20140729-dyn-lib.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-From 843c667c1b516c0764840c6e4d41188f9c96a415 Mon Sep 17 00:00:00 2001
-From: leitner <leitner>
-Date: Mon, 4 Sep 2017 21:59:50 +0000
-Subject: [PATCH] use __DYN_LIB instead of __PIC__ in i386 socketcalls
-
----
- i386/syscalls.h | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/i386/syscalls.h b/i386/syscalls.h
-index 11d6f1d5..14ac517b 100644
---- a/i386/syscalls.h
-+++ b/i386/syscalls.h
-@@ -416,7 +416,7 @@ sym: \
- .Lend##sym: ; \
- .size sym,.Lend##sym-sym
-
--#ifndef __PIC__
-+#ifndef __DYN_LIB
- #define __socketcall(name,NAME) \
- .text; \
- .type name,@function; \
diff --git a/dev-libs/ding-libs/Manifest b/dev-libs/ding-libs/Manifest
index 88f8db91499e..bed4d6c291c6 100644
--- a/dev-libs/ding-libs/Manifest
+++ b/dev-libs/ding-libs/Manifest
@@ -1 +1 @@
-DIST ding-libs-0.6.1.tar.gz 904092 BLAKE2B 72eda10dfe002f27bb2d096bd96f6a6ee60dc246492fb1cc3581661184d050827aad6a5897aadf9b06db9b6dbd18da756637bd27bcc02742c6318c8cc7e68298 SHA512 335a0925bfa7cc113e86c91ad3f2c8aac12711879d5c9b62660140a4b749335a74024c987fcd2304dd78176362997b3e0ebd745193aaffab7a368e2873118628
+DIST ding-libs-0.6.2.tar.gz 957577 BLAKE2B 7236706b0892e5b56506e89f67305cac54da648b2bd6f21dcf3c330d848e1bc556134c8e7d2efd0a9c8234ea41212d6bd2250ff7feaf84df12ff8ee6b56e0602 SHA512 566172e0addb0ee6e0ebd12874d3b72f2fa6bcb1ecc628c0c529984193290fae554efc40f52d2cec675bffab32a36183e47ec629db25e83ed2995f1049c64703
diff --git a/dev-libs/ding-libs/ding-libs-0.6.1-r1.ebuild b/dev-libs/ding-libs/ding-libs-0.6.1-r1.ebuild
deleted file mode 100644
index 1445f869fec7..000000000000
--- a/dev-libs/ding-libs/ding-libs-0.6.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=7
-
-inherit multilib-minimal
-
-DESCRIPTION="set of utility libraries (mostly used by sssd)"
-HOMEPAGE="https://pagure.io/SSSD/ding-libs"
-SRC_URI="https://releases.pagure.org/SSSD/${PN}/${P}.tar.gz"
-
-LICENSE="LGPL-3 GPL-3"
-SLOT="0"
-KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux"
-IUSE="test"
-RESTRICT="!test? ( test )"
-
-DEPEND="test? ( dev-libs/check )"
-BDEPEND="virtual/pkgconfig"
-
-PATCHES=(
- "${FILESDIR}"/0000-INI-Fix-detection-of-error-messages.patch
- "${FILESDIR}"/0001-path_utils_ut-allow-single-as-well.patch
- "${FILESDIR}"/0002-validators_ut_check-Fix-fail-with-new-glibc.patch
-)
-
-multilib_src_configure() {
- ECONF_SOURCE="${S}" econf --disable-static
-}
-
-multilib_src_install_all() {
- einstalldocs
-
- # no static archives
- find "${ED}" -name '*.la' -delete || die
-}
diff --git a/dev-libs/ding-libs/ding-libs-0.6.1.ebuild b/dev-libs/ding-libs/ding-libs-0.6.1.ebuild
deleted file mode 100644
index f64be15bf4ae..000000000000
--- a/dev-libs/ding-libs/ding-libs-0.6.1.ebuild
+++ /dev/null
@@ -1,31 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="6"
-
-inherit multilib-minimal
-
-DESCRIPTION="set of utility libraries (mostly used by sssd)"
-HOMEPAGE="https://pagure.io/SSSD/ding-libs"
-SRC_URI="https://releases.pagure.org/SSSD/${PN}/${P}.tar.gz"
-
-LICENSE="LGPL-3 GPL-3"
-SLOT="0"
-KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ppc ppc64 ~s390 ~sparc x86 ~amd64-linux"
-IUSE="test static-libs"
-RESTRICT="!test? ( test )"
-
-RDEPEND=""
-DEPEND="${RDEPEND}
- virtual/pkgconfig
- test? ( dev-libs/check )"
-
-PATCHES=(
- "${FILESDIR}"/0000-INI-Fix-detection-of-error-messages.patch
- "${FILESDIR}"/0001-path_utils_ut-allow-single-as-well.patch
- "${FILESDIR}"/0002-validators_ut_check-Fix-fail-with-new-glibc.patch
-)
-
-multilib_src_configure() {
- ECONF_SOURCE="${S}" econf
-}
diff --git a/dev-libs/ding-libs/ding-libs-0.6.2-r1.ebuild b/dev-libs/ding-libs/ding-libs-0.6.2-r1.ebuild
new file mode 100644
index 000000000000..ccd6a03cf4f8
--- /dev/null
+++ b/dev-libs/ding-libs/ding-libs-0.6.2-r1.ebuild
@@ -0,0 +1,24 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DESCRIPTION="Set of utility libraries (mostly used by sssd)"
+HOMEPAGE="https://github.com/SSSD/ding-libs"
+SRC_URI="https://github.com/SSSD/ding-libs/releases/download/${PV}/${P}.tar.gz"
+
+LICENSE="LGPL-3 GPL-3"
+SLOT="0"
+KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+DEPEND="test? ( dev-libs/check )"
+BDEPEND="virtual/pkgconfig"
+
+src_install() {
+ default
+
+ # No static archives
+ find "${ED}" -name '*.la' -delete || die
+}
diff --git a/dev-libs/ding-libs/files/0000-INI-Fix-detection-of-error-messages.patch b/dev-libs/ding-libs/files/0000-INI-Fix-detection-of-error-messages.patch
deleted file mode 100644
index 62e436c7c92a..000000000000
--- a/dev-libs/ding-libs/files/0000-INI-Fix-detection-of-error-messages.patch
+++ /dev/null
@@ -1,47 +0,0 @@
-From 72c19bd018b107ecf5a80963b433e9922f7243fd Mon Sep 17 00:00:00 2001
-From: Lukas Slebodnik <lslebodn@redhat.com>
-Date: Wed, 3 Jan 2018 18:03:44 +0100
-Subject: [PATCH] INI: Fix detection of error messages
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-libc on BSD returns different error messages.
-
-Reviewed-by: Michal Židek <mzidek@redhat.com>
----
- ini/ini_validators_ut_check.c | 11 +++++++++++
- 1 file changed, 11 insertions(+)
-
-diff --git a/ini/ini_validators_ut_check.c b/ini/ini_validators_ut_check.c
-index fa7105a..9ecde75 100644
---- a/ini/ini_validators_ut_check.c
-+++ b/ini/ini_validators_ut_check.c
-@@ -607,6 +607,12 @@ START_TEST(test_ini_allowed_options_wrong_regex)
- "[rule/options_for_foo]: Cannot compile regular expression "
- "from option 'section_re'. "
- "Error: 'Unmatched [ or [^'");
-+ if (ret != 0) {
-+ ret = strcmp(errmsg,
-+ "[rule/options_for_foo]: Cannot compile regular expression "
-+ "from option 'section_re'. "
-+ "Error: 'brackets ([ ]) not balanced'");
-+ }
- fail_unless(ret == 0, "Got msg: [%s]", errmsg);
- ini_errobj_next(errobj);
-
-@@ -1028,6 +1034,11 @@ START_TEST(test_ini_allowed_sections_wrong_regex)
- ret = strcmp(errmsg,
- "[rule/section_list]: Validator failed to use regex "
- "[^foo\\(*$]:[Unmatched ( or \\(]");
-+ if (ret !=0) {
-+ ret = strcmp(errmsg,
-+ "[rule/section_list]: Validator failed to use regex "
-+ "[^foo\\(*$]:[parentheses not balanced]");
-+ }
- fail_unless(ret == 0, "Got msg: [%s]", errmsg);
- ini_errobj_next(errobj);
-
---
-2.21.0
-
diff --git a/dev-libs/ding-libs/files/0001-path_utils_ut-allow-single-as-well.patch b/dev-libs/ding-libs/files/0001-path_utils_ut-allow-single-as-well.patch
deleted file mode 100644
index a9ca8e9edc2b..000000000000
--- a/dev-libs/ding-libs/files/0001-path_utils_ut-allow-single-as-well.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-From 4236e323e8ab4f13770e1ac9e94666b304b693fb Mon Sep 17 00:00:00 2001
-From: Henrik Riomar <henrik.riomar@gmail.com>
-Date: Tue, 24 Jul 2018 21:59:36 +0000
-Subject: [PATCH 1/2] path_utils_ut: allow single / as well
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-From http://pubs.opengroup.org/onlinepubs/009695399/basedefs/xbd_chap03.html#tag_03_266
- Multiple successive slashes are considered to be the same as one slash.
-
-When running the tests on a musl libc system
- get_dirname(p, PATH_MAX, "//foo//")
-actually results in a / and not //
-
-Reviewed-by: Michal Židek <mzidek@redhat.com>
----
- path_utils/path_utils_ut.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/path_utils/path_utils_ut.c b/path_utils/path_utils_ut.c
-index 27c99b6..061abfb 100644
---- a/path_utils/path_utils_ut.c
-+++ b/path_utils/path_utils_ut.c
-@@ -62,7 +62,7 @@ START_TEST(test_dirname)
- fail_unless_str_equal(p, "//foo");
-
- fail_unless(get_dirname(p, PATH_MAX, "//foo//") == SUCCESS);
-- fail_unless_str_equal(p, "//");
-+ fail_unless(!strcmp(p, "/") || !strcmp(p, "//"));
-
- fail_unless(get_dirname(p, PATH_MAX, "foo//bar") == SUCCESS);
- fail_unless_str_equal(p, "foo");
---
-2.21.0
-
diff --git a/dev-libs/ding-libs/files/0002-validators_ut_check-Fix-fail-with-new-glibc.patch b/dev-libs/ding-libs/files/0002-validators_ut_check-Fix-fail-with-new-glibc.patch
deleted file mode 100644
index 0524a128d620..000000000000
--- a/dev-libs/ding-libs/files/0002-validators_ut_check-Fix-fail-with-new-glibc.patch
+++ /dev/null
@@ -1,49 +0,0 @@
-From 9f9a3ded23cc2bb917468939b745cc498cec523a Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Michal=20=C5=BDidek?= <mzidek@redhat.com>
-Date: Wed, 1 Aug 2018 17:48:10 +0200
-Subject: [PATCH 2/2] validators_ut_check: Fix fail with new glibc
-
-Error message was slightly change from previous version
-of glibc which caused fails in validators unit tests.
-
-Reviewed-by: Jakub Hrozek <jhrozek@redhat.com>
----
- ini/ini_validators_ut_check.c | 13 +++++++++++--
- 1 file changed, 11 insertions(+), 2 deletions(-)
-
-diff --git a/ini/ini_validators_ut_check.c b/ini/ini_validators_ut_check.c
-index 9ecde75..3af8551 100644
---- a/ini/ini_validators_ut_check.c
-+++ b/ini/ini_validators_ut_check.c
-@@ -602,6 +602,8 @@ START_TEST(test_ini_allowed_options_wrong_regex)
- fail_unless(ret == 0, "Got msg: [%s]", errmsg);
- ini_errobj_next(errobj);
-
-+ /* Different versions of libc produce slightly different error strings
-+ * in this case. For simplicity compare against all of them. */
- errmsg = ini_errobj_get_msg(errobj);
- ret = strcmp(errmsg,
- "[rule/options_for_foo]: Cannot compile regular expression "
-@@ -609,10 +611,17 @@ START_TEST(test_ini_allowed_options_wrong_regex)
- "Error: 'Unmatched [ or [^'");
- if (ret != 0) {
- ret = strcmp(errmsg,
-- "[rule/options_for_foo]: Cannot compile regular expression "
-- "from option 'section_re'. "
-+ "[rule/options_for_foo]: Cannot compile regular "
-+ "expression from option 'section_re'. "
- "Error: 'brackets ([ ]) not balanced'");
- }
-+
-+ if (ret != 0) {
-+ ret = strcmp(errmsg,
-+ "[rule/options_for_foo]: Cannot compile regular "
-+ "expression from option 'section_re'. "
-+ "Error: 'Unmatched [, [^, [:, [., or [='");
-+ }
- fail_unless(ret == 0, "Got msg: [%s]", errmsg);
- ini_errobj_next(errobj);
-
---
-2.21.0
-
diff --git a/dev-libs/ding-libs/metadata.xml b/dev-libs/ding-libs/metadata.xml
index 85e4ed814fa2..a5ebe852b975 100644
--- a/dev-libs/ding-libs/metadata.xml
+++ b/dev-libs/ding-libs/metadata.xml
@@ -1,5 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
-<!-- maintainer-needed -->
+ <!-- maintainer-needed -->
+ <upstream>
+ <remote-id type="github">SSSD/ding-libs</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/dev-libs/distorm3/distorm3-3.5.2-r1.ebuild b/dev-libs/distorm3/distorm3-3.5.2-r1.ebuild
new file mode 100644
index 000000000000..2b29e61283f4
--- /dev/null
+++ b/dev-libs/distorm3/distorm3-3.5.2-r1.ebuild
@@ -0,0 +1,38 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{9..12} )
+inherit distutils-r1 pypi
+
+DESCRIPTION="The ultimate disassembler library (X86-32, X86-64)"
+HOMEPAGE="http://www.ragestorm.net/distorm/"
+
+LICENSE="BSD-4"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+BDEPEND="test? ( dev-lang/yasm )"
+
+PATCHES=( "${FILESDIR}"/${P}-under.patch )
+
+EPYTEST_DESELECT=(
+ # outdated tests? API usage mismatch
+ # https://github.com/gdabah/distorm/issues/173
+ python/test_distorm3.py::Test::test_dummy
+ python/test_distorm3.py::InstBin::test_dummy
+ python/test_distorm3.py::Inst::test_dummy
+)
+
+distutils_enable_tests pytest
+
+python_install() {
+ distutils-r1_python_install
+
+ # don't know why it does not happen by default
+ python_optimize
+}
diff --git a/dev-libs/distorm3/distorm3-3.5.2.ebuild b/dev-libs/distorm3/distorm3-3.5.2.ebuild
deleted file mode 100644
index 6c9bc4aa2c0d..000000000000
--- a/dev-libs/distorm3/distorm3-3.5.2.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
-
-PYTHON_COMPAT=( python3_{7,8,9,10} )
-
-inherit distutils-r1
-
-DESCRIPTION="The ultimate disassembler library (X86-32, X86-64)"
-HOMEPAGE="http://www.ragestorm.net/distorm/"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="BSD-4"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE="test"
-
-RESTRICT="!test? ( test )"
-
-DEPEND=""
-RDEPEND=""
-BDEPEND="test? ( dev-lang/yasm )"
-
-distutils_enable_tests pytest
-
-PATCHES=("${FILESDIR}"/${P}-under.patch)
-
-python_install() {
- distutils-r1_python_install
-
- # don't know why it does not happen by default
- python_optimize
-}
-
-python_test() {
- local exclude=(
- # outdated tests? API udage mismatch
- # https://github.com/gdabah/distorm/issues/173
- python/test_distorm3.py::Test::test_dummy
- python/test_distorm3.py::InstBin::test_dummy
- python/test_distorm3.py::Inst::test_dummy
- )
- epytest ${exclude[@]/#/--deselect }
-}
diff --git a/dev-libs/distorm3/metadata.xml b/dev-libs/distorm3/metadata.xml
index 2ce0a2c00b34..228e23190a66 100644
--- a/dev-libs/distorm3/metadata.xml
+++ b/dev-libs/distorm3/metadata.xml
@@ -7,5 +7,6 @@
</maintainer>
<upstream>
<remote-id type="github">gdabah/distorm</remote-id>
+ <remote-id type="pypi">distorm3</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-libs/dmalloc/Manifest b/dev-libs/dmalloc/Manifest
index d9041342e6c1..9f669702ee43 100644
--- a/dev-libs/dmalloc/Manifest
+++ b/dev-libs/dmalloc/Manifest
@@ -1 +1,2 @@
DIST dmalloc-5.5.2.tgz 666608 BLAKE2B 9371b35b9a39706215ff2fc4e31510dafa30a86dccb2290563a2c8a0e7211372dca419dd7d549011548853f1e168fe15c55361d763d27230c547c93113de823e SHA512 96bb94aeb2bc3220f652b5294bdf8592b984cb2a53e5f02b2b8d52450c3396d18651f334644cdfff9c85a8c0d0cedc7f6a18b9d70497b2c6b5f85dbd1e827b93
+DIST dmalloc-5.6.5.tgz 322310 BLAKE2B 43ba8cdef73423f2e3d6fa5dea34f1653d890c95dcd4ea13e9317d85d1991d0e68e80192860c7bdaf4ee33b36c892b9df31340ddde808b7d60ee00f21d532976 SHA512 17090378b763dd3eaf5ff196298f08982ad593d4c3a0104a67866b88793b612307f3ce9ef0aa7dfef2df6c8eb050e2be06513b29ca912e916c0bfd882a0f4bf1
diff --git a/dev-libs/dmalloc/dmalloc-5.6.5-r1.ebuild b/dev-libs/dmalloc/dmalloc-5.6.5-r1.ebuild
new file mode 100644
index 000000000000..62fc41dd4d5e
--- /dev/null
+++ b/dev-libs/dmalloc/dmalloc-5.6.5-r1.ebuild
@@ -0,0 +1,62 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools
+
+DESCRIPTION="A Debug Malloc Library"
+HOMEPAGE="https://dmalloc.com"
+SRC_URI="https://dmalloc.com/releases/${P}.tgz"
+
+LICENSE="CC-BY-SA-3.0"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+IUSE="threads"
+
+BDEPEND="sys-apps/texinfo"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-5.6.5-add-destdir-support.patch
+ "${FILESDIR}"/${PN}-5.6.5-allow-overriding-ar-and-ld.patch
+ "${FILESDIR}"/${PN}-5.6.5-set-soname-version.patch
+ "${FILESDIR}"/${PN}-5.6.5-configure-c99.patch
+ "${FILESDIR}"/${PN}-5.6.5-fix-cxx-check.patch
+)
+
+src_prepare() {
+ default
+
+ eautoreconf
+}
+
+src_configure() {
+ econf \
+ --enable-cxx \
+ --enable-shlib \
+ $(use_enable threads)
+}
+
+src_test() {
+ # mv: cannot stat 'aout': No such file or directory
+ emake -j1 heavy
+}
+
+src_install() {
+ default
+
+ soname_link() {
+ dosym ${1}.so.${PV} /usr/$(get_libdir)/${1}.so.${PV%%.*}
+ dosym ${1}.so.${PV%%.*} /usr/$(get_libdir)/${1}.so
+ }
+
+ soname_link libdmalloc
+ soname_link libdmallocxx
+
+ if use threads; then
+ soname_link libdmallocth
+ soname_link libdmallocthcxx
+ fi
+
+ rm "${ED}"/usr/$(get_libdir)/lib${PN}*.a || die
+}
diff --git a/dev-libs/dmalloc/dmalloc-5.6.5-r2.ebuild b/dev-libs/dmalloc/dmalloc-5.6.5-r2.ebuild
new file mode 100644
index 000000000000..20d910b16a28
--- /dev/null
+++ b/dev-libs/dmalloc/dmalloc-5.6.5-r2.ebuild
@@ -0,0 +1,64 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools flag-o-matic
+
+DESCRIPTION="A Debug Malloc Library"
+HOMEPAGE="https://dmalloc.com"
+SRC_URI="https://dmalloc.com/releases/${P}.tgz"
+
+LICENSE="CC-BY-SA-3.0"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+IUSE="threads"
+
+BDEPEND="sys-apps/texinfo"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-5.6.5-add-destdir-support.patch
+ "${FILESDIR}"/${PN}-5.6.5-allow-overriding-ar-and-ld.patch
+ "${FILESDIR}"/${PN}-5.6.5-set-soname-version.patch
+ "${FILESDIR}"/${PN}-5.6.5-configure-c99.patch
+ "${FILESDIR}"/${PN}-5.6.5-fix-cxx-check.patch
+)
+
+src_prepare() {
+ default
+
+ eautoreconf
+}
+
+src_configure() {
+ append-cflags $(test-flags-CC -fPIC)
+
+ econf \
+ --enable-cxx \
+ --enable-shlib \
+ $(use_enable threads)
+}
+
+src_test() {
+ # mv: cannot stat 'aout': No such file or directory
+ emake -j1 heavy
+}
+
+src_install() {
+ default
+
+ soname_link() {
+ dosym ${1}.so.${PV} /usr/$(get_libdir)/${1}.so.${PV%%.*}
+ dosym ${1}.so.${PV%%.*} /usr/$(get_libdir)/${1}.so
+ }
+
+ soname_link libdmalloc
+ soname_link libdmallocxx
+
+ if use threads; then
+ soname_link libdmallocth
+ soname_link libdmallocthcxx
+ fi
+
+ rm "${ED}"/usr/$(get_libdir)/lib${PN}*.a || die
+}
diff --git a/dev-libs/dmalloc/dmalloc-999999.ebuild b/dev-libs/dmalloc/dmalloc-999999.ebuild
deleted file mode 100644
index e94bdfb50036..000000000000
--- a/dev-libs/dmalloc/dmalloc-999999.ebuild
+++ /dev/null
@@ -1,86 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit autotools git-r3 toolchain-funcs
-
-DESCRIPTION="A Debug Malloc Library"
-HOMEPAGE="https://dmalloc.com"
-EGIT_REPO_URI="https://github.com/j256/dmalloc"
-
-LICENSE="ISC"
-SLOT="0"
-IUSE="threads"
-
-BDEPEND="
- app-text/texi2html
- sys-apps/texinfo
-"
-
-DOCS=(
- ChangeLog.txt README.md TODO dmalloc.html
-)
-
-PATCHES=(
- # - Build objects twice, once -fPIC for shared.
- # - Use DESTDIR.
- # - Fix SONAME and NEEDED.
- "${FILESDIR}"/${PN}-5.5.2-Makefile.in.patch
- # - Broken test, always returns false.
- "${FILESDIR}"/${PN}-5.5.2-cxx.patch
- "${FILESDIR}"/${PN}-5.5.2-ar.patch
- "${FILESDIR}"/${PN}-999999-texi2html.patch
-)
-
-src_prepare() {
- default
-
- # - Add threads support.
- use threads && eapply "${FILESDIR}"/${PN}-5.5.2-threads.patch
-
- # Respect CFLAGS/LDFLAGS. #337429
- sed -i \
- -e '/libdmalloc/ s:$(CC):& $(CFLAGS) $(LDFLAGS):g' \
- -e 's|ar cr|$(AR) cr|g' \
- Makefile.in || die
-
- # Run autoconf for -cxx.patch.
- eautoconf
-}
-
-src_configure() {
- tc-export AR
- econf \
- --enable-cxx \
- --enable-shlib \
- $(use_enable threads)
-}
-
-src_compile() {
- default
-
- #makeinfo dmalloc.texi || die
-}
-
-src_test() {
- emake heavy
-}
-
-src_install() {
- default
-
- doinfo dmalloc.info
-
- # add missing symlinks, lazy
- dosym lib${PN}.so.5.5.2 /usr/$(get_libdir)/lib${PN}.so
- dosym lib${PN}.so.5.5.2 /usr/$(get_libdir)/lib${PN}.so.5
-
- for lib in cxx th thcxx; do
- dosym lib${PN}${lib}.so.5.5.2 /usr/$(get_libdir)/lib${PN}${lib}.so
- dosym lib${PN}${lib}.so.5.5.2 \
- /usr/$(get_libdir)/lib${PN}${lib}.so.5
- done
-
- rm "${ED}"/usr/$(get_libdir)/lib${PN}*.a || die
-}
diff --git a/dev-libs/dmalloc/files/dmalloc-5.6.5-add-destdir-support.patch b/dev-libs/dmalloc/files/dmalloc-5.6.5-add-destdir-support.patch
new file mode 100644
index 000000000000..2ab42e0d258c
--- /dev/null
+++ b/dev-libs/dmalloc/files/dmalloc-5.6.5-add-destdir-support.patch
@@ -0,0 +1,103 @@
+From 79c791659a519cc7b3b3e615a3cc51c5e85a0a0a Mon Sep 17 00:00:00 2001
+From: Alfred Wingate <parona@protonmail.com>
+Date: Sat, 16 Dec 2023 14:13:57 +0200
+Subject: [PATCH 1/5] Add DESTDIR support
+
+Signed-off-by: Alfred Wingate <parona@protonmail.com>
+--- a/Makefile.in
++++ b/Makefile.in
+@@ -182,65 +182,65 @@ distclean : clean
+ docs : $(DOCS) LICENSE.txt
+
+ installdirs :
+- $(srcdir)/mkinstalldirs $(includedir) $(libdir) $(bindir)
++ $(srcdir)/mkinstalldirs $(DESTDIR)$(includedir) $(DESTDIR)$(libdir) $(DESTDIR)$(bindir)
+
+ installincs : $(HFLS)
+- $(srcdir)/mkinstalldirs $(includedir)
+- $(INSTALL_DATA) $(HFLS) $(includedir)
++ $(srcdir)/mkinstalldirs $(DESTDIR)$(includedir)
++ $(INSTALL_DATA) $(HFLS) $(DESTDIR)$(includedir)
+
+ installthsl : $(LIB_TH_SL)
+- $(srcdir)/mkinstalldirs $(libdir)
+- $(INSTALL_PROGRAM) $(LIB_TH_SL) $(libdir)
++ $(srcdir)/mkinstalldirs $(DESTDIR)$(libdir)
++ $(INSTALL_PROGRAM) $(LIB_TH_SL) $(DESTDIR)$(libdir)
+
+ installth : $(INSTALL_THREADS)
+- $(srcdir)/mkinstalldirs $(libdir)
+- $(INSTALL_PROGRAM) $(LIB_TH) $(libdir)
++ $(srcdir)/mkinstalldirs $(DESTDIR)$(libdir)
++ $(INSTALL_PROGRAM) $(LIB_TH) $(DESTDIR)$(libdir)
+ @CXX_OFF@ @echo "Enter 'make installthcxx' to install the threaded C++ library"
+ @SL_OFF@ @echo "Enter 'make installthsl' to install the threaded shared-library"
+
+ installthcxxsl : $(LIB_TH_CXX_SL)
+- $(srcdir)/mkinstalldirs $(shlibdir)
+- $(INSTALL_PROGRAM) $(LIB_TH_CXX_SL) $(shlibdir)
++ $(srcdir)/mkinstalldirs $(DESTDIR)$(shlibdir)
++ $(INSTALL_PROGRAM) $(LIB_TH_CXX_SL) $(DESTDIR)$(shlibdir)
+
+ installthcxx : $(INSTALL_TH_CXX)
+- $(srcdir)/mkinstalldirs $(libdir)
+- $(INSTALL_PROGRAM) $(LIB_TH_CXX) $(libdir)
++ $(srcdir)/mkinstalldirs $(DESTDIR)$(libdir)
++ $(INSTALL_PROGRAM) $(LIB_TH_CXX) $(DESTDIR)$(libdir)
+ @SL_OFF@ @echo "Enter 'make installthcxxsl' to install the threaded C++ shared-library"
+
+ installcxxsl : $(LIB_CXX_SL)
+- $(srcdir)/mkinstalldirs $(libdir)
+- $(INSTALL_PROGRAM) $(LIB_CXX_SL) $(libdir)
++ $(srcdir)/mkinstalldirs $(DESTDIR)$(libdir)
++ $(INSTALL_PROGRAM) $(LIB_CXX_SL) $(DESTDIR)$(libdir)
+
+ installcxx : $(INSTALL_CXX)
+- $(srcdir)/mkinstalldirs $(libdir)
+- $(INSTALL_PROGRAM) $(LIB_CXX) $(libdir)
++ $(srcdir)/mkinstalldirs $(DESTDIR)$(libdir)
++ $(INSTALL_PROGRAM) $(LIB_CXX) $(DESTDIR)$(libdir)
+ @TH_OFF@ @echo "Enter 'make installthcxx' to install the threaded C++ library"
+ @SL_OFF@ @echo "Enter 'make installcxxsl' to install the C++ shared-library"
+
+ installsl : $(LIB_SL)
+- $(srcdir)/mkinstalldirs $(shlibdir)
+- $(INSTALL_PROGRAM) $(LIB_SL) $(shlibdir)
++ $(srcdir)/mkinstalldirs $(DESTDIR)$(shlibdir)
++ $(INSTALL_PROGRAM) $(LIB_SL) $(DESTDIR)$(shlibdir)
+ @CXX_OFF@ @echo "Enter 'make installcxxsl' to install the C++ shared-library"
+ @TH_OFF@ @echo "Enter 'make installthsl' to install thread shared-library"
+
+ installlib : $(INSTALL_LIB)
+- $(srcdir)/mkinstalldirs $(libdir)
+- $(INSTALL_PROGRAM) $(LIBRARY) $(libdir)
+- @RANLIB@ $(libdir)/$(LIBRARY)
++ $(srcdir)/mkinstalldirs $(DESTDIR)$(libdir)
++ $(INSTALL_PROGRAM) $(LIBRARY) $(DESTDIR)$(libdir)
++ @RANLIB@ $(DESTDIR)$(libdir)/$(LIBRARY)
+ @SL_OFF@ @echo "Enter 'make installsl' to install $(LIB_SL) in $(shlibdir)"
+ @CXX_OFF@ @echo "Enter 'make installcxx' to install the C++ library"
+ @TH_OFF@ @echo "Enter 'make installth' to install thread library"
+
+ # see notes about why we need the FILE2 entries below
+ installdocs : $(INSTALL_FILE2) $(HTML_FILE2) $(INFO_FILE)
+- $(srcdir)/mkinstalldirs $(docdir)
+- $(INSTALL_DATA) $(INSTALL_FILE2) $(docdir)/$(INSTALL_FILE)
+- $(INSTALL_DATA) $(HTML_FILE2) $(docdir)/$(HTML_FILE)
+- $(INSTALL_DATA) $(INFO_FILE) $(docdir)
++ $(srcdir)/mkinstalldirs $(DESTDIR)$(docdir)
++ $(INSTALL_DATA) $(INSTALL_FILE2) $(DESTDIR)$(docdir)/$(INSTALL_FILE)
++ $(INSTALL_DATA) $(HTML_FILE2) $(DESTDIR)$(docdir)/$(HTML_FILE)
++ $(INSTALL_DATA) $(INFO_FILE) $(DESTDIR)$(docdir)
+
+ install : installincs installlib $(UTIL)
+- $(srcdir)/mkinstalldirs $(bindir)
+- $(INSTALL_PROGRAM) $(UTIL) $(bindir)
++ $(srcdir)/mkinstalldirs $(DESTDIR)$(bindir)
++ $(INSTALL_PROGRAM) $(UTIL) $(DESTDIR)$(bindir)
+ @echo "Enter 'make installdocs' to install $(DOCS) in $(docdir)"
+
+ dmalloc.h.2 conf.h settings.h version.h : $(srcdir)/configure $(srcdir)/settings.dist $(srcdir)/conf.h.in
+--
+2.43.0
+
diff --git a/dev-libs/dmalloc/files/dmalloc-5.6.5-allow-overriding-ar-and-ld.patch b/dev-libs/dmalloc/files/dmalloc-5.6.5-allow-overriding-ar-and-ld.patch
new file mode 100644
index 000000000000..981909d9940a
--- /dev/null
+++ b/dev-libs/dmalloc/files/dmalloc-5.6.5-allow-overriding-ar-and-ld.patch
@@ -0,0 +1,89 @@
+From 626e5fb4c3f89b21e5ed75ee6c01d86527dede5f Mon Sep 17 00:00:00 2001
+From: Alfred Wingate <parona@protonmail.com>
+Date: Sun, 17 Dec 2023 13:57:11 +0200
+Subject: [PATCH 2/5] Allow overriding AR and LD
+
+https://bugs.gentoo.org/337429
+
+Signed-off-by: Alfred Wingate <parona@protonmail.com>
+--- a/Makefile.in
++++ b/Makefile.in
+@@ -303,11 +303,11 @@ $(LIB_SL) : $(LIBRARY)
+ mv $@.t $@
+
+ $(LIBRARY) : $(OBJS) $(NORMAL_OBJS)
+- ar cr $@ $?
++ $(AR) cr $@ $?
+ @RANLIB@ $@
+
+ $(LIB_TH) : $(OBJS) $(THREAD_OBJS)
+- ar cr $@ $?
++ $(AR) cr $@ $?
+ @RANLIB@ $@
+
+ $(LIB_TH_SL) : $(LIB_TH)
+@@ -316,7 +316,7 @@ $(LIB_TH_SL) : $(LIB_TH)
+ mv $@.t $@
+
+ $(LIB_CXX) : $(OBJS) $(NORMAL_OBJS) $(CXX_OBJS)
+- ar cr $@ $?
++ $(AR) cr $@ $?
+ @RANLIB@ $@
+
+ $(LIB_CXX_SL) : $(LIB_CXX)
+@@ -325,7 +325,7 @@ $(LIB_CXX_SL) : $(LIB_CXX)
+ mv $@.t $@
+
+ $(LIB_TH_CXX) : $(OBJS) $(THREAD_OBJS) $(CXX_OBJS)
+- ar cr $@ $?
++ $(AR) cr $@ $?
+ @RANLIB@ $@
+
+ $(LIB_TH_CXX_SL) : $(LIB_TH_CXX)
+--- a/configure.ac
++++ b/configure.ac
+@@ -76,8 +76,13 @@ if test "$ac_cv_prog_cc_stdc" = "no" ; then
+ fi
+ AC_PROG_INSTALL
+ AC_PROG_RANLIB
++AC_CHECK_TOOL(AR,ar)
++AC_CHECK_TOOL(LD,ld)
+ AC_C_CONST
+
++AC_ARG_VAR(AR)
++AC_ARG_VAR(LD)
++
+ # we need this for various settings
+ AC_HEADER_STDC
+ AC_CHECK_HEADER([stdarg.h],
+@@ -144,7 +149,7 @@ AC_SUBST(shlibdir)
+ AC_MSG_CHECKING([shared library link args])
+ AC_COMPILE_IFELSE([AC_LANG_SOURCE([ int foo(int val) { return val + 1; } ])],[
+ # so now we try to create an archive from the compiled .o file
+- (ar cr conftest.a conftest.o) 2>&5
++ (${AR} cr conftest.a conftest.o) 2>&5
+ # see which shared-library ld commands work
+ #
+ # Darwin/Mac OS X - Terry Teague
+@@ -169,12 +174,12 @@ AC_COMPILE_IFELSE([AC_LANG_SOURCE([ int foo(int val) { return val + 1; } ])],[
+ ac_cv_shared_link_args='# Could not configure shlib linking'
+ enable_shlib=no
+ fi
+- elif (ld -shared --whole-archive -soname conftest.so -o conftest.so.t conftest.a) 2>&5; then
+- ac_cv_shared_link_args='ld -shared --whole-archive -soname $@ -o $@.t'
+- elif (ld -shared -o conftest.so.t -all -soname conftest.so.t -none -lc -all conftest.a) 2>&5; then
+- ac_cv_shared_link_args='ld -shared -o $@.t -all -soname $@ -none -lc -all'
+- elif (ld -G -o conftest.so.t conftest.a) 2>&5; then
+- ac_cv_shared_link_args='ld -G -o $@.t'
++ elif (${LD} -shared --whole-archive -soname conftest.so -o conftest.so.t conftest.a) 2>&5; then
++ ac_cv_shared_link_args='$(LD) -shared --whole-archive -soname $@ -o $@.t'
++ elif (${LD} -shared -o conftest.so.t -all -soname conftest.so.t -none -lc -all conftest.a) 2>&5; then
++ ac_cv_shared_link_args='$(LD) -shared -o $@.t -all -soname $@ -none -lc -all'
++ elif (${LD} -G -o conftest.so.t conftest.a) 2>&5; then
++ ac_cv_shared_link_args='$(LD) -G -o $@.t'
+ else
+ # oh well, toss an error
+ ac_cv_shared_link_args='# Could not configure shlib linking'
+--
+2.43.0
+
diff --git a/dev-libs/dmalloc/files/dmalloc-5.6.5-configure-c99.patch b/dev-libs/dmalloc/files/dmalloc-5.6.5-configure-c99.patch
new file mode 100644
index 000000000000..4f5e6339d8aa
--- /dev/null
+++ b/dev-libs/dmalloc/files/dmalloc-5.6.5-configure-c99.patch
@@ -0,0 +1,68 @@
+From debb91ecdd39a7039abdc6b2fb4c9b79956fc758 Mon Sep 17 00:00:00 2001
+From: Alfred Wingate <parona@protonmail.com>
+Date: Sun, 17 Dec 2023 14:35:31 +0200
+Subject: [PATCH 4/5] Fix c99 compatibility in configure script
+
+Signed-off-by: Alfred Wingate <parona@protonmail.com>
+--- a/configure.ac
++++ b/configure.ac
+@@ -486,19 +486,20 @@ AC_MSG_RESULT([$ac_cv_pnt_arith_type])
+ AC_CHECK_FUNCS(abort)
+ AC_MSG_CHECKING([abort safe])
+ AC_RUN_IFELSE([AC_LANG_SOURCE([[
++#include <stdlib.h>
+ static int main_b = 0;
+ static char heap_mem[102400], *heap_p = heap_mem;
+-free () { if (main_b) _exit(0); }
++void free () { if (main_b) exit(0); }
+ char *malloc (int size) {
+ char *pnt;
+- if (main_b) _exit(0);
++ if (main_b) exit(0);
+ pnt = heap_p;
+ heap_p += size;
+ return pnt;
+ }
+ char *calloc (int number, int size) {
+ char *start, *pnt, *end;
+- if (main_b) _exit(0);
++ if (main_b) exit(0);
+ /* it should be already 0s */
+ start = malloc (number * size);
+ pnt = start;
+@@ -508,7 +509,7 @@ char *calloc (int number, int size) {
+ }
+ char *realloc (char *old_pnt, int new_size) {
+ char *start, *pnt, *end;
+- if (main_b) _exit(0);
++ if (main_b) exit(0);
+ start = malloc (new_size);
+ pnt = start;
+ end = start + new_size;
+@@ -549,6 +550,7 @@ AC_LINK_IFELSE([AC_LANG_PROGRAM([[
+ AC_CHECK_FUNCS(getenv)
+ AC_MSG_CHECKING([getenv safe])
+ AC_RUN_IFELSE([AC_LANG_SOURCE([[
++#include <stdlib.h>
+ static char heap_mem[102400], *heap_p = heap_mem;
+ free (char *pnt) {
+ }
+@@ -651,6 +653,7 @@ fi
+ #
+ AC_MSG_CHECKING([constructor attribute])
+ AC_RUN_IFELSE([AC_LANG_SOURCE([[
++#include <stdlib.h>
+ /* if we call the loc_con constructor then exit with error code 0 */
+ static void loc_con() __attribute__((constructor));
+ static void loc_con() { exit(0); }
+@@ -666,6 +669,7 @@ int main() { return 1; }
+ #
+ AC_MSG_CHECKING([destructor attribute])
+ AC_RUN_IFELSE([AC_LANG_SOURCE([[
++#include <stdlib.h>
+ /* if we call the loc_decon destructor then exit with error code 0 */
+ static void loc_decon() __attribute__((destructor));
+ static void loc_decon() { exit(0); }
+--
+2.43.0
+
diff --git a/dev-libs/dmalloc/files/dmalloc-5.6.5-fix-cxx-check.patch b/dev-libs/dmalloc/files/dmalloc-5.6.5-fix-cxx-check.patch
new file mode 100644
index 000000000000..7e7c61f1baa3
--- /dev/null
+++ b/dev-libs/dmalloc/files/dmalloc-5.6.5-fix-cxx-check.patch
@@ -0,0 +1,22 @@
+From 17fb0cc429213fa3c2dd3d2bdec3b87e6b779be9 Mon Sep 17 00:00:00 2001
+From: Alfred Wingate <parona@protonmail.com>
+Date: Sun, 17 Dec 2023 14:49:28 +0200
+Subject: [PATCH 5/5] Fix CXX check
+
+Signed-off-by: Alfred Wingate <parona@protonmail.com>
+--- a/configure.ac
++++ b/configure.ac
+@@ -63,8 +63,8 @@ AC_PROG_CC
+ AC_PROG_CXX
+
+ # see if we actually have a CXX program
+-if test "$ac_cv_prog_CXX" = "" -o ! -x "$ac_cv_prog_CXX"; then
+- AC_MSG_WARN(could not find C++ compiler $ac_cv_prog_CXX)
++if test "x$CXX" = "x" -o -x "$CXX"; then
++ AC_MSG_WARN(could not find C++ compiler $CXX)
+ enable_cxx=no
+ fi
+
+--
+2.43.0
+
diff --git a/dev-libs/dmalloc/files/dmalloc-5.6.5-set-soname-version.patch b/dev-libs/dmalloc/files/dmalloc-5.6.5-set-soname-version.patch
new file mode 100644
index 000000000000..ebed9c0ef1aa
--- /dev/null
+++ b/dev-libs/dmalloc/files/dmalloc-5.6.5-set-soname-version.patch
@@ -0,0 +1,32 @@
+From 4cab6b74df4fb9ed7046faeb53c5ab01fa0716a1 Mon Sep 17 00:00:00 2001
+From: Alfred Wingate <parona@protonmail.com>
+Date: Sun, 17 Dec 2023 14:26:44 +0200
+Subject: [PATCH 3/5] Set soname version for shared library
+
+Signed-off-by: Alfred Wingate <parona@protonmail.com>
+--- a/configure.ac
++++ b/configure.ac
+@@ -175,9 +175,9 @@ AC_COMPILE_IFELSE([AC_LANG_SOURCE([ int foo(int val) { return val + 1; } ])],[
+ enable_shlib=no
+ fi
+ elif (${LD} -shared --whole-archive -soname conftest.so -o conftest.so.t conftest.a) 2>&5; then
+- ac_cv_shared_link_args='$(LD) -shared --whole-archive -soname $@ -o $@.t'
++ ac_cv_shared_link_args="\$(LD) -shared --whole-archive -soname \$(@:${dmalloc_version}=${dmalloc_version_major}) -o \$@.t"
+ elif (${LD} -shared -o conftest.so.t -all -soname conftest.so.t -none -lc -all conftest.a) 2>&5; then
+- ac_cv_shared_link_args='$(LD) -shared -o $@.t -all -soname $@ -none -lc -all'
++ ac_cv_shared_link_args="\$(LD) -shared -o \$@.t -all -soname \$(@:${dmalloc_version}=${dmalloc_version_major}) -none -lc -all"
+ elif (${LD} -G -o conftest.so.t conftest.a) 2>&5; then
+ ac_cv_shared_link_args='$(LD) -G -o $@.t'
+ else
+@@ -208,7 +208,7 @@ if test `uname` = "Darwin"; then
+ else
+ ac_cv_shared_lib_suffix=so
+ fi
+-shlibext="$ac_cv_shared_lib_suffix"
++shlibext="$ac_cv_shared_lib_suffix.$dmalloc_version"
+ AC_MSG_RESULT([$ac_cv_shared_lib_suffix])
+ AC_SUBST(shlibext)
+
+--
+2.43.0
+
diff --git a/dev-libs/dmalloc/files/dmalloc-999999-texi2html.patch b/dev-libs/dmalloc/files/dmalloc-999999-texi2html.patch
deleted file mode 100644
index 1e7e4ccd1eb1..000000000000
--- a/dev-libs/dmalloc/files/dmalloc-999999-texi2html.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/Makefile.in
-+++ b/Makefile.in
-@@ -285,7 +285,7 @@
-
- dmalloc.html : $(srcdir)/dmalloc.texi
- rm -f $@ $@.t
-- texi2html --output=$@.t -number -monolithic $(srcdir)/dmalloc.texi
-+ texi2html --output=$@.t --number-footnotes --number-sections -monolithic $(srcdir)/dmalloc.texi
- mv $@.t $@
-
- settings.h : $(srcdir)/settings.dist $(srcdir)/configure
diff --git a/dev-libs/dmalloc/metadata.xml b/dev-libs/dmalloc/metadata.xml
index 115e9d64a669..98f616caa8cd 100644
--- a/dev-libs/dmalloc/metadata.xml
+++ b/dev-libs/dmalloc/metadata.xml
@@ -2,4 +2,7 @@
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<!-- maintainer-needed -->
+ <upstream>
+ <remote-id type="github">j256/dmalloc</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/dev-libs/dotconf/Manifest b/dev-libs/dotconf/Manifest
index e83204456597..e564349b5fbc 100644
--- a/dev-libs/dotconf/Manifest
+++ b/dev-libs/dotconf/Manifest
@@ -1 +1,2 @@
DIST dotconf-1.3.tar.gz 333301 BLAKE2B df3f4c9bc4539ed5b21bd4d6059bd911bb319d9dbe4f48c6d45c34559eaaa646abea847f6d0b35678c12d9b5e89e2f112047557d458be608215d76bb50af004c SHA512 ced0e66f70d11a309e77add1bfac1da8e85dcbe193633bd4bd1ae4bfd043b66880406e93ec18327b8c5d3de8d4bfc5278db6e5cb39b030ee1dabfa1ce267a98e
+DIST dotconf-1.4.1.tar.gz 46565 BLAKE2B 8eb7508b6ca13f0f4cc2ca0c1d889ce7801c3d60d826078a23b68807f1c2fa38fed4e638ac4b1a2ddf9c1e204293e57acce29bbd5cf3d6fd12abb140b6cb0d3e SHA512 a6cada8621295b268d4b4fd85bc0c207e78324c9e84754ead2fdf6c1598ec8bdf626f9c24e66063d921c95d73e83b50ab50416a9b4c9a7a631392552ec46f55a
diff --git a/dev-libs/dotconf/dotconf-1.3-r1.ebuild b/dev-libs/dotconf/dotconf-1.3-r1.ebuild
deleted file mode 100644
index c0e1eb1fac7b..000000000000
--- a/dev-libs/dotconf/dotconf-1.3-r1.ebuild
+++ /dev/null
@@ -1,31 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit toolchain-funcs
-
-DESCRIPTION="dot.conf configuration file parser"
-HOMEPAGE="https://github.com/williamh/dotconf"
-SRC_URI="mirror://gentoo/${P}.tar.gz"
-
-LICENSE="LGPL-2.1"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ppc ppc64 ~riscv sparc x86 ~amd64-linux ~x86-linux"
-IUSE=""
-
-DEPEND=">=sys-devel/autoconf-2.58"
-RDEPEND=""
-
-src_configure() {
- econf --disable-static
-}
-
-src_compile() {
- emake CC=$(tc-getCC)
-}
-
-pkg_postinst() {
- ewarn 'This version requires that you run revdep-rebuild after'
- ewarn 'the upgrade.'
-}
diff --git a/dev-libs/dotconf/dotconf-1.3-r2.ebuild b/dev-libs/dotconf/dotconf-1.3-r2.ebuild
new file mode 100644
index 000000000000..5092ea045426
--- /dev/null
+++ b/dev-libs/dotconf/dotconf-1.3-r2.ebuild
@@ -0,0 +1,29 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit toolchain-funcs
+
+DESCRIPTION="dot.conf configuration file parser"
+HOMEPAGE="https://github.com/williamh/dotconf"
+SRC_URI="mirror://gentoo/${P}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ppc ppc64 ~riscv sparc x86 ~amd64-linux ~x86-linux"
+
+DEPEND=">=dev-build/autoconf-2.58"
+
+src_configure() {
+ econf --disable-static
+}
+
+src_compile() {
+ emake CC="$(tc-getCC)"
+}
+
+src_install() {
+ default
+ find "${ED}" -type f -name '*.la' -delete || die
+}
diff --git a/dev-libs/dotconf/dotconf-1.4.1.ebuild b/dev-libs/dotconf/dotconf-1.4.1.ebuild
new file mode 100644
index 000000000000..36d47ae81583
--- /dev/null
+++ b/dev-libs/dotconf/dotconf-1.4.1.ebuild
@@ -0,0 +1,37 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+if [[ ${PV} == 9999* ]]; then
+ inherit git-r3
+fi
+inherit autotools toolchain-funcs
+
+DESCRIPTION="dot.conf configuration file parser"
+HOMEPAGE="https://github.com/williamh/dotconf"
+if [[ ${PV} == 9999* ]]; then
+ EGIT_REPO_URI="https://github.com/williamh/dotconf.git"
+else
+ SRC_URI="https://github.com/williamh/dotconf/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux"
+fi
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+
+DEPEND=">=dev-build/autoconf-2.58"
+
+src_configure() {
+ eautoreconf
+ econf --disable-static
+}
+
+src_compile() {
+ emake CC="$(tc-getCC)"
+}
+
+src_install() {
+ default
+ find "${ED}" -type f -name '*.la' -delete || die
+}
diff --git a/dev-libs/dotconf/dotconf-9999.ebuild b/dev-libs/dotconf/dotconf-9999.ebuild
new file mode 100644
index 000000000000..36d47ae81583
--- /dev/null
+++ b/dev-libs/dotconf/dotconf-9999.ebuild
@@ -0,0 +1,37 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+if [[ ${PV} == 9999* ]]; then
+ inherit git-r3
+fi
+inherit autotools toolchain-funcs
+
+DESCRIPTION="dot.conf configuration file parser"
+HOMEPAGE="https://github.com/williamh/dotconf"
+if [[ ${PV} == 9999* ]]; then
+ EGIT_REPO_URI="https://github.com/williamh/dotconf.git"
+else
+ SRC_URI="https://github.com/williamh/dotconf/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux"
+fi
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+
+DEPEND=">=dev-build/autoconf-2.58"
+
+src_configure() {
+ eautoreconf
+ econf --disable-static
+}
+
+src_compile() {
+ emake CC="$(tc-getCC)"
+}
+
+src_install() {
+ default
+ find "${ED}" -type f -name '*.la' -delete || die
+}
diff --git a/dev-libs/double-conversion/Manifest b/dev-libs/double-conversion/Manifest
index 1017e483bd11..3d6f44d7022d 100644
--- a/dev-libs/double-conversion/Manifest
+++ b/dev-libs/double-conversion/Manifest
@@ -1,4 +1 @@
-DIST double-conversion-3.1.5.tar.gz 7023792 BLAKE2B ed70a554bd52e23aadecbeaa6607dfcdb670450b95e2ff699c784512e6cb0c022f51f6ab775ebc5b3c293f991e5200ff5528d689c74dae92e8e68bedf672c5ac SHA512 0aeabdbfa06c3c4802905ac4bf8c2180840577677b47d45e1c91034fe07746428c9db79260ce6bdbdf8b584746066cea9247ba43a9c38155caf1ef44e214180a
-DIST double-conversion-3.1.6.tar.gz 7030812 BLAKE2B 8572c4c127bca57c85075a1d308c81e22d133ddbc9c691538dc9a5564f82cf0b6e9009f0d223db0fcfd9c2c662059b8866cb26e8510187f47fe8b56101bfcc82 SHA512 2282e9838f916a0e59011e1b7530c32fb392e9bf07f370df419f1a8c59c88d66f7e16fa6ecdc3785af86591639d1201144feb0c60a5de54482da936f6c0c5534
-DIST double-conversion-3.1.7.tar.gz 7031619 BLAKE2B 2bea771abfad58af14cb4476208f2ca4562719213b942208d2c21ed1a3423688e3c0f5671dfbea9b939a1f005dc7870617f6c91fc543945a60bcab239a7b9319 SHA512 70baa0f8d5bbab433f6a3f3b6e172730f10cde5524639c7da8cb205bf95e6743a4b129b69ef09d8f121524e3d5a45d501a393e4f69f6848494e7ce87db765f37
-DIST double-conversion-3.2.0.tar.gz 7031760 BLAKE2B 971c06121e64c4d78a1f9bce9b206a079ea72fb82072f5db10f9b50516ecc178ade9d5ae2d6d024fdb78607d8a1c0d9d48380acabc529eb498e37ff38297aa00 SHA512 0670ee70ed2662c6795ec6cf144e0915d805940ea0f49633d17500c496fb241788a0de6f0a9f8eaed5cb74a376f64fe590fa0d883d0676dc2bd2dab288b85e00
+DIST double-conversion-3.2.1.tar.gz 7032718 BLAKE2B 4f6fe334388b6cb0ba5edbbef761764bfe36feb83cf73281a4f5e8bb64c96923f3e33919678fe29885de0bc3b388a6e0e91f871808c215d8a3e5cc778325fa01 SHA512 d2feb3098a1d4d6baab5f89bcc29ac2e06d314d552b8c747c6eb6dba5dd165a15dc71200191edb7f05d521c349e12d59cddba3c5db101e1623e0e76e19f21a49
diff --git a/dev-libs/double-conversion/double-conversion-3.1.5.ebuild b/dev-libs/double-conversion/double-conversion-3.1.5.ebuild
deleted file mode 100644
index 8ef06639af4d..000000000000
--- a/dev-libs/double-conversion/double-conversion-3.1.5.ebuild
+++ /dev/null
@@ -1,14 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit cmake
-
-DESCRIPTION="Binary-decimal and decimal-binary conversion routines for IEEE doubles"
-HOMEPAGE="https://github.com/google/double-conversion"
-SRC_URI="https://github.com/google/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0/3"
-KEYWORDS="amd64 arm arm64 ~hppa ~ia64 ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux"
diff --git a/dev-libs/double-conversion/double-conversion-3.1.6.ebuild b/dev-libs/double-conversion/double-conversion-3.1.6.ebuild
deleted file mode 100644
index 199d6bdc3447..000000000000
--- a/dev-libs/double-conversion/double-conversion-3.1.6.ebuild
+++ /dev/null
@@ -1,14 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit cmake
-
-DESCRIPTION="Binary-decimal and decimal-binary conversion routines for IEEE doubles"
-HOMEPAGE="https://github.com/google/double-conversion"
-SRC_URI="https://github.com/google/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0/3"
-KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux"
diff --git a/dev-libs/double-conversion/double-conversion-3.1.7.ebuild b/dev-libs/double-conversion/double-conversion-3.1.7.ebuild
deleted file mode 100644
index 30c576af21e6..000000000000
--- a/dev-libs/double-conversion/double-conversion-3.1.7.ebuild
+++ /dev/null
@@ -1,14 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit cmake
-
-DESCRIPTION="Binary-decimal and decimal-binary conversion routines for IEEE doubles"
-HOMEPAGE="https://github.com/google/double-conversion"
-SRC_URI="https://github.com/google/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0/3"
-KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux"
diff --git a/dev-libs/double-conversion/double-conversion-3.2.0.ebuild b/dev-libs/double-conversion/double-conversion-3.2.0.ebuild
deleted file mode 100644
index 2f049917716f..000000000000
--- a/dev-libs/double-conversion/double-conversion-3.2.0.ebuild
+++ /dev/null
@@ -1,14 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit cmake
-
-DESCRIPTION="Binary-decimal and decimal-binary conversion routines for IEEE doubles"
-HOMEPAGE="https://github.com/google/double-conversion"
-SRC_URI="https://github.com/google/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0/3"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux"
diff --git a/dev-libs/double-conversion/double-conversion-3.2.1.ebuild b/dev-libs/double-conversion/double-conversion-3.2.1.ebuild
new file mode 100644
index 000000000000..b20b805cabb1
--- /dev/null
+++ b/dev-libs/double-conversion/double-conversion-3.2.1.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="Binary-decimal and decimal-binary conversion routines for IEEE doubles"
+HOMEPAGE="https://github.com/google/double-conversion"
+SRC_URI="https://github.com/google/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0/3"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+src_configure() {
+ local mycmakeargs=(
+ -DBUILD_TESTING=$(usex test)
+ )
+
+ cmake_src_configure
+}
diff --git a/dev-libs/dqlite/Manifest b/dev-libs/dqlite/Manifest
index 190766812fe6..0bf7f61c62bb 100644
--- a/dev-libs/dqlite/Manifest
+++ b/dev-libs/dqlite/Manifest
@@ -1 +1 @@
-DIST dqlite-1.9.0.tar.gz 160222 BLAKE2B 7a6179e87ff8e37d19ab28a11bcd02531297095f83fffc936aa8b719be737cbba359b62daeea8de6d4bc599a4bf579a3471ab632fae27186d5f2358324b518df SHA512 eeb759cdca6ef44d3c8d7d032b277dab57c24acfab29ead218aecf826c71631fad22244cadcea7337002049857a8b5cb3b5dcd39d611e41a463128e1e09472e3
+DIST dqlite-1.16.4.tar.gz 499174 BLAKE2B 3a5f28dd352ada1d0866d3563c450aad10413118a30fc9369aaadc5f46acefaa8f28e21118e71ef3eb801c51c9946664882d82a15eff71eefbbd51f6fd68c4b3 SHA512 164a63ce9224b9a4f10d2312ac03e98ccdec8c6c4fe22e6fc595dc792f9a7c75317cf8e839eb31a8db2501a094d67053300532a92bca26c86ef5097dd3c06a2b
diff --git a/dev-libs/dqlite/dqlite-1.16.4-r1.ebuild b/dev-libs/dqlite/dqlite-1.16.4-r1.ebuild
new file mode 100644
index 000000000000..c11ab433bcc7
--- /dev/null
+++ b/dev-libs/dqlite/dqlite-1.16.4-r1.ebuild
@@ -0,0 +1,53 @@
+# Copyright 2020-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools
+
+DESCRIPTION="Embeddable, replicated and fault tolerant SQL engine"
+HOMEPAGE="https://dqlite.io/ https://github.com/canonical/dqlite"
+SRC_URI="https://github.com/canonical/dqlite/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="LGPL-3-with-linking-exception"
+SLOT="0/1.15.1"
+KEYWORDS="amd64 ~arm64 ~x86"
+IUSE="+lz4 test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="dev-db/sqlite:3
+ dev-libs/libuv:=
+ lz4? ( app-arch/lz4:= )"
+DEPEND="${RDEPEND}"
+BDEPEND="virtual/pkgconfig"
+
+PATCHES=( "${FILESDIR}"/dqlite-1.12.0-disable-werror.patch )
+
+src_prepare() {
+ default
+ eautoreconf
+}
+
+src_configure() {
+ local myeconfargs=(
+ --disable-backtrace
+ --disable-debug
+ --disable-sanitize
+ --disable-static
+
+ # Will use bundled raft instead of system raft. See bugs #915960, #925012.
+ --enable-build-raft
+
+ # Will build a bundled libsqlite3.so.
+ --enable-build-sqlite=no
+
+ $(use_with lz4)
+ )
+
+ econf "${myeconfargs[@]}"
+}
+
+src_install() {
+ default
+ find "${ED}" -name '*.la' -delete || die
+}
diff --git a/dev-libs/dqlite/dqlite-1.9.0.ebuild b/dev-libs/dqlite/dqlite-1.9.0.ebuild
deleted file mode 100644
index d40d3cf1073e..000000000000
--- a/dev-libs/dqlite/dqlite-1.9.0.ebuild
+++ /dev/null
@@ -1,42 +0,0 @@
-# Copyright 2020-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit autotools
-
-DESCRIPTION="Embeddable, replicated and fault tolerant SQL engine"
-HOMEPAGE="https://dqlite.io/ https://github.com/canonical/dqlite"
-SRC_URI="https://github.com/canonical/dqlite/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="LGPL-3-with-linking-exception"
-SLOT="0"
-KEYWORDS="amd64 ~arm64 ~x86"
-IUSE="test"
-RESTRICT="!test? ( test )"
-
-RDEPEND="dev-db/sqlite:3
- dev-libs/libuv:=
- dev-libs/raft"
-DEPEND="${RDEPEND}
- test? ( >=dev-libs/raft-0.11.1[lz4,test] )"
-
-src_prepare() {
- default
- eautoreconf
-}
-
-src_configure() {
- local myeconfargs=(
- --disable-debug
- --disable-sanitize
- --disable-static
- )
-
- econf "${myeconfargs[@]}"
-}
-
-src_install() {
- default
- find "${ED}" -name '*.la' -delete || die
-}
diff --git a/dev-libs/dqlite/files/dqlite-1.12.0-disable-werror.patch b/dev-libs/dqlite/files/dqlite-1.12.0-disable-werror.patch
new file mode 100644
index 000000000000..9c92324688d6
--- /dev/null
+++ b/dev-libs/dqlite/files/dqlite-1.12.0-disable-werror.patch
@@ -0,0 +1,20 @@
+diff -Naur a/configure.ac b/configure.ac
+--- a/configure.ac 2022-11-18 16:44:34.000000000 +0200
++++ b/configure.ac 2022-11-19 09:21:24.157589426 +0200
+@@ -3,7 +3,7 @@
+ AC_CONFIG_MACRO_DIR([m4])
+ AC_CONFIG_AUX_DIR([ac])
+
+-AM_INIT_AUTOMAKE([subdir-objects -Wall -Werror -Wno-portability foreign])
++AM_INIT_AUTOMAKE([subdir-objects -Wall -Wno-portability foreign])
+ AM_SILENT_RULES([yes])
+
+ AC_PROG_CC_STDC
+@@ -82,7 +82,6 @@
+ -Wdate-time \
+ -Wnested-externs \
+ -Wconversion \
+- -Werror \
+ ])
+ # To enable:
+ #
diff --git a/dev-libs/dqlite/metadata.xml b/dev-libs/dqlite/metadata.xml
index 2a8b8beafdf7..93aa9821db98 100644
--- a/dev-libs/dqlite/metadata.xml
+++ b/dev-libs/dqlite/metadata.xml
@@ -18,4 +18,7 @@
instances of your application and have them act as a highly-available
cluster, with no dependency on external databases.
</longdescription>
+ <upstream>
+ <remote-id type="github">canonical/dqlite</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/dev-libs/dynolog/Manifest b/dev-libs/dynolog/Manifest
new file mode 100644
index 000000000000..72dc2c7eca05
--- /dev/null
+++ b/dev-libs/dynolog/Manifest
@@ -0,0 +1,35 @@
+DIST anyhow-1.0.75.crate 43901 BLAKE2B 6353557d7ec2cbfdd001c039fad62c95fea9e02b113149f726fd14bb36b31e637e8609dd5ee20a900e9c11bb783d9958d664b31ba7c467382fa7f51d477ad3aa SHA512 190d6be8ede0af9808210db53e4dc31ce69b126a26b0357220c4705a11e83cab2c2c09c59964a35794f3c434f717eaa6bb669e9e8f16012535c14246b17e8d40
+DIST atty-0.2.14.crate 5470 BLAKE2B 2db856a9e898a430258f059aeaf7c844a153293e8856d90ac81f7d91a888c89198768ad5cb09303c23241fe85c560a55148fa56a303651a82b0edb895616bfab SHA512 d7b6c4b9a0f898d91ddbc41a5ee45bbf45d1d269508c8cc87ee3e3990500e41e0ec387afb1f3bc7db55bedac396dd86c6509f4bf9e5148d809c3802edcc5e1d9
+DIST autocfg-1.1.0.crate 13272 BLAKE2B 7724055c337d562103f191f4e36cab469e578f0c51cc24d33624dea155d108a07578703766341fd6a4cc1ef52acda406e7dba1650d59115f18261281e5b40203 SHA512 df972c09abbdc0b6cb6bb55b1e29c7fed706ece38a62613d9e275bac46a19574a7f96f0152cccb0239efea04ee90083a146b58b15307696c4c81878cd12de28f
+DIST bitflags-1.3.2.crate 23021 BLAKE2B eb990bb27b2bdeb66fd7212ce582cb36e1c616debbac85df642d0c82b25439e6bf9b1e811fac76b59e58ea3c1bbea6170d03a61e8f9a395e4334a0e2e2987eda SHA512 3c698f757b5cc62f815f9a1cce365c3d2dd88e4db71f331dff8bba86c2865f755b81cb4c9bfc59bd86b7643b0943f9e09a7c4f8ad75eb2ab0e714803d0129f62
+DIST clap-3.2.25.crate 219403 BLAKE2B 75a8ee36c52e64cf0ac7ed5604d8a575c41c756a588bd418e6c1edccfb358350cdd831b4176f01b987fe7fa5901ca2bccee6b0f68ccba7dbe40baf85a5f3bdb4 SHA512 557c8932175d7ecd077b32b68904924e52dd46d04fd04ba36b3a9dfd7ab1dbe8c2128fecfd75d0388b21fca4aee55a941794181cc2910a4d4eb3c54e9c7e73ea
+DIST clap_derive-3.2.25.crate 28212 BLAKE2B 8782f6425ed46197c5e5293e2f06fd82b2d17ea3e89206580ef3c6853bed2e8c99ef2528a30276a8287215d7f5505a992dd43c59f26b2915757c8e2f20510843 SHA512 c98098bfedb8b681d72eaedb946d9867fd068d9be31137fe1fb5d821cd68afec48e7d2963adb2099aa760c702d5b75fb0ed45fc62b83d7f26edc8cecc03ea5d3
+DIST clap_lex-0.2.4.crate 9652 BLAKE2B 5120b508dedf52507068c0c369a45ddfbe0369e5c05b65bc5a78c422b2a4bf488f9ef1e0bed4e335450f2c08b80148eb5f7efed678039b5a94b5bd666385939f SHA512 6c05e5fd850befd45be9005af7252385f2304aa28a107413bbe329d97aea835f7acfd0bd169c99f69f466ab93d6e1c35d73a4e48343457a06fe2d6be5bedde0f
+DIST dynolog-0.3.1_p20230126.tar.gz 18445927 BLAKE2B 6885bfde54d07a6783a7007f3ee1615b25fb79da0a32e68e11c93165807125e09614f01c6559787383b50e9bd0c11893071f6464de378517bfd7239dca54ab81 SHA512 38edb2fab5c4e6b64ee3fda557cdf610d383a3054db7a47ac4844d45104641098c81a27a82f20a0d2b60da2799902df5be8ac2967155ca72e3e1e1df75e30821
+DIST hashbrown-0.12.3.crate 102968 BLAKE2B 492072f27eaec45abd2c5d7405c614c0c6a8221425e901bb6174bfa1688ee524408a618650126d6c683b7285b9bf0a21dcdbff7347e4d8f97bf7111defa1b7e5 SHA512 b3700fcd659a21a6b9b3777c18b37a83bf25542b4e8f2b963779a122f5d22e1742c064cfc03e649583e7dd5c6e90ca8407f8c51a0e8755f6a108682853022f76
+DIST heck-0.4.1.crate 11567 BLAKE2B 520aeea740cfa30b0cca12f73594ffa655f32959673b1c9caaca1ea0162e455546ae3033881394c0ba0516bcd5c9a997da02162e1585522d665813b9096eabd9 SHA512 8c80e959d2f10a2893f9a71994720f90747742bb5b61fc0a539eed3ea5679b140c48fd7f7690d7122cd6af5f7f20a19d412e3569fe741c6d31f6b2ce1e0b80e8
+DIST hermit-abi-0.1.19.crate 9979 BLAKE2B 801e8052b85341cca388ada9db4b06bb1bd7b64474185b2ad06c0256b9e597639bd3dd4ba0053ea010f922e53969a4ab47b90d451fd9b94c8f2324055d151ea1 SHA512 1c877fcd562b15d2de9c151fd6c5f3ea4bf48abcb799e6139a180ffad5d64b632f0000d5707bbd92ff23a0e5f349157b9e0f5be8b50f03680b0fa47315dbb78a
+DIST indexmap-1.9.3.crate 54653 BLAKE2B 7bc1768589e74020dc15d3dd064009edaaef39b7aeb682d0ca8e49944e3f020b9c04d64feb102e88b22feb40863479dfaf4722d6a77b5d19e7ca553f4bf64c1b SHA512 2aa8069eb07a814c8fa3e11296c9f032ef60963520d7786ad20cca5cb7e73b8f76d97722a994d65295bb713020aadce5008cd3df5e99d8bd968ef1979f910a37
+DIST itoa-1.0.9.crate 10492 BLAKE2B 0d5acef9ae72d3f4b5a387d231952e6025def69da81d38269b4882bc534be7acadc073e526fd8bebdca898a98b2c741735c541e0b6a35ed0f8f8799b906b65b1 SHA512 95f7906edb7d6a2690389167f8c4d01bc37827205bca87d527f2eb33722419ed2f2e8afaa559cc5a0a7e7fac76515c9c44c71c42b536aa34b0e2858c40946b6d
+DIST libc-0.2.150.crate 719359 BLAKE2B d08e17fb29992c76337bb5862cbc1cdaf7b9d7749cd65021f145fcf49fa7954d6251c8c2f3c9a796b46283c3bc014bccfd259ea52824459841911ad847fd7f5a SHA512 7ae8fe6a1db38ac6d951c0b4880d25a02f064f5e61d6057c20f7208dec8395d58efd085e41857bcf5f4da2b014d2952dc4ddaf18ac4acd3a23675bb659e70385
+DIST once_cell-1.18.0.crate 32969 BLAKE2B a08d5beee50a7add28bd9e50b18709e7b34574f0f55f80909d5efb7ac5917e5f30bdcf3fb43ddd0a4f420a427390c7ffe1cc1c7191a3a1d939bc6e3139e6eef7 SHA512 9328968afdf3535b2d9e0113d75afa725259d76994ef2e1948ad7efa4ec8a65bac7cfdc31b749d5cd55ad4e28d2e28ac57b871e3067b89182453c7e2413a13b8
+DIST os_str_bytes-6.6.1.crate 27643 BLAKE2B 8440a196a3d3d9c3a584562b6c2a1033f5606998e8851f8ccaeababe58022a42e65510e12ebdbcc7b24d0fcdcf111d68bf00d89b8665ad5cee49180db853789d SHA512 977c0fe9891c021914153d6a081c3789018fcd1830224f5c6768d0c75ac8ac4919638bb0a41949710fd5e699b162d9290a5379cc6251535a127e212f5b86932d
+DIST proc-macro-error-1.0.4.crate 25293 BLAKE2B ef918c5efaf2545ab38787c8d0c07315af00431139e4dff66346bf798e3a429f91d12a79776c150412fdda0b158a72badd5e1044ac4d6917f8482d4b5a7110b7 SHA512 8a47bc9d3e24e9561d1e384d8f5a633284c2cf9b5e6733c5f9d1dbfe1870ccc8e2152482852e50b551cecb68e009148585b910ffb0508a7b4875598eaf8657db
+DIST proc-macro-error-attr-1.0.4.crate 7971 BLAKE2B 98e2925881c2be186e22c2c439697e91d43f807eb61a5d13e3b0b4321ed50a74f3d699942c04b89b6fea0f156bb5d19ebcf22f9cd4b98a7e6917c437600ed823 SHA512 2606afa9ec78d7dad4500c98d3a5ecbd02c6b53ab829c742bed7f57b322a95238ab4e01cf268746815f1424fd9b02eddfa30e72f98c66106f57765f3d3116495
+DIST proc-macro2-1.0.70.crate 44343 BLAKE2B fff0dec06b21e391783cc136790238acb783780eaedcf14875a350e7ceb46fdc100c8b9e3f09fb7f4c2196c25d4c6b61e574c0dad762d94533b628faab68cf5c SHA512 ae9366856853f7d96caf7a7581843d36bfc7843f8683897b19ffc666c03b0b1eff502ddb18ca4c1c1a239a368f03f6cc258b0e2795f64b61c6a31404462eec5f
+DIST quote-1.0.33.crate 28090 BLAKE2B 77c4b166f1200e1ee2ab94a5014acd334c1fe4b7d72851d73768d491c56c6779a0882a304c1f30c88732a6168351f0f786b10516ae537cff993892a749175848 SHA512 c1e76c3c017e8554eebe309f8167fd56fce931981c06798aa85a0cc6d64a9cba6ab103f5a1324e69c6f9ca5dc47a8e31ff2e847850542748697afcd265b5939c
+DIST ryu-1.0.15.crate 46906 BLAKE2B 6d6949e43aaa27fba0ec6002fa11ba859af8d867f87c90d88413267186abbf6302b817985bca3d577ab3fab2e319e11756f144473a16330dfd8fc7b604cdc4b3 SHA512 4655b5647f919082a9b84b889539ae7fb23a1201057cf280efe79c58cb5f040864efb7812cda5021bf6d34838a15d173ac8bdb0fb9fa2dba85173d3efa5a826b
+DIST serde-1.0.193.crate 76863 BLAKE2B 163097e85b5542451896d7381607aa297e3b0342a2641887a01689b13122c6c1ca566fcb7f32f51bb0ecc861aed014f1467edfe21338223d5361555f870425a3 SHA512 82259ca302f42116ecffca3c88bc1212785ce5430f9d29390a9041d4e5943c13b13de119fde644a583960102c4b6e850a16f962d36dc76ac69fc2297ed65a506
+DIST serde_derive-1.0.193.crate 55692 BLAKE2B eeb2a2fbcd0daf5fee1bd6a4f584fed330db58cbd786073311d6a94308c63dfc6b7c2dfbc4b8980064ed66509f0127525b79d99aa96ca0134226fe21715999bb SHA512 05efb144aeee293a0e7dc7540106eb8c4920b2d8dfc25771d73afa8ffcba330104643430a6e396ea2adabbed4ccb23591251479b75449b9c8322799f91d38c41
+DIST serde_json-1.0.108.crate 146476 BLAKE2B 9c0ceae5566a4e0ce7a6264939862f9dd920bb47d18acebb179798b036c376d97a4e9b0717092903ab90cfbf6fb73d37518e3cc25f3217af010296f5644de396 SHA512 7d8d1b74515388d99983ffbc5696cba022305cf4c797d3ff5d2959fc8fc8f4ce01cc4c9e7ccae7097b06b5acf5307027f6b7315df1fd8f58e681cc5968e79fb6
+DIST strsim-0.10.0.crate 11355 BLAKE2B bcb25ad0a7284e24e4f17ebe0ccb621bdc4118e499b50b094d98aa7e8fcc0b96716c9953c3516ce7ea78309d41d424892ded595259696a5bbffdcb07802b5c2f SHA512 78b318532addfcf5c1ccc1e14539e258aab9d3cd893cc45d82342549bde838c177d90f13c560671f8f32929af47d0b467db35e6876bd7697d8b3f9e055aeeac1
+DIST syn-1.0.109.crate 237611 BLAKE2B e827445d00c79a8eeb91eacde472f1987addd6ce9e1df95d7abf6446a77ff4173a8006845f3ae71c1da47193cfb72e0ead9a6d6bad2573be12c17e90735d9ad9 SHA512 12816b9e8cf984024b2fbce9f0ae14cf94d4d2c06f08cc54fb793ce78770bb4cc1288eb7df0ba5e8e937756e1e8e295c53fe07a0c5dde1ea8ddba03b6203b37d
+DIST syn-2.0.39.crate 244129 BLAKE2B 2cff6626624d03f70f1662af45a8644c28a9f92e2dfe38999bef3ba4a4c1ce825ae598277e9cb7abd5585eebfb17b239effc8d0bbf1c6ac196499f0d288e5e01 SHA512 96cc347cfdb0f9ca0b6c7289279a1cad8fc401625783742292564f7ceca8237ced8d9a3f62069696f6132ed06092dff2baaf4be09ef53b21260d93785b0e27c3
+DIST termcolor-1.4.0.crate 18765 BLAKE2B d7286fcc84843296e2edf074e316ee8fcceb018c08deda7f1048e38108bf1a7c5f6b90dd3150078c413322eda08a1c58300b4adb963d9f51f307ecd08b5b7e10 SHA512 36c8550fe85cb90c4fdd1a6e3f60b42b6c71f65b6128da97d5ad6aac8350d907410899ad4a47bb4dc72ea6d00bc69e5a1ccc80ee9b0e80a1a27912e233f3e416
+DIST textwrap-0.16.0.crate 53722 BLAKE2B 44140aa2dfd5076005749449a56e920418e71e34cb92f1d697eb3f3e7f6fe87b0a3861c8a4050a4a62e03187b6cadc4495e4200bee52ee183541431c73e47209 SHA512 97ae8acece5663e1a6b08b827179e96d5ad0ee67d635888cc3d83454b52cf48fce97eb0eba374ba4747834099c74f43d66d9fec868e84be45369a42c1aaec2c3
+DIST unicode-ident-1.0.12.crate 42168 BLAKE2B 4cede03c08758ccd6bf53a0d0057d7542dfdd0c93d342e89f3b90460be85518a9fd24958d8b1da2b5a09b5ddbee8a4263982194158e171c2bba3e394d88d6dac SHA512 bc1824e1e4452a40732fc69874d7e1a66f7803717a314790dcf48867eba34bc9441331ef031e386912e52c385645c25b6ed39d4f149973b5b97371b1b96b1920
+DIST version_check-0.9.4.crate 14895 BLAKE2B fa1fa4008af165bfc1fdbe560488afd9d232cfafee94104fbcc4cbc52f234849bff9ddfa88109a1ac682f6d9c1d86b0459893d223f64e65adc08966aaf93dc89 SHA512 b172dc9a3759a4a683ffc39b9a40b03b9974b626a088217de87090466cef695226557c226cf3e469b2b25ee7297b7eb0d7719878cab42457f80146a81943c0c8
+DIST winapi-0.3.9.crate 1200382 BLAKE2B cb5799749ccd935ea2d7068d953cecf19f543d9db7dc16ad4584bb7005373ada34937a3ced7225544d8bc765da599911c7a3190efefb3a25b7c1bb7123b4f673 SHA512 ff8b7b78065f3d8999ec03c725a0460ebc059771bf071c7a3df3f0ecd733edf3b0a2450024d4e24e1aedddaecd9038ce1376c0d8bbf45132068cf45cf4a53a97
+DIST winapi-i686-pc-windows-gnu-0.4.0.crate 2918815 BLAKE2B 4d357e4d30f9552972170d65b9a5358b69c46a3e772fe05efc22f3d4ffc1caeeaad7aacdc7abd503a7ad0545f8bd7d22bf351dcb6df76f812fa4d45c34d65df0 SHA512 a672ccefd0730a8166fef1d4e39f9034d9ae426a3f5e28d1f4169fa5c5790767693f281d890e7804773b34acdb0ae1febac33cde8c50c0044a5a6152c7209ec2
+DIST winapi-util-0.1.6.crate 12234 BLAKE2B b8db8ec9d7ada5532a22a2d070320174c32ece1f48890e9b028708e194fe72a04287b11910dc2ddc7f9c9674a9d8d39449b3e100725e1f59e59e3047a7e3650b SHA512 b1c949f9bcd34c1949a9d3a7bde6ce62fcf3d2cb66df60af41fe67a9d1acb24e571cdd5ac721be9f1ee4b3af5ef5149b5724ad6e02b558e124ef2a4412d12db9
+DIST winapi-x86_64-pc-windows-gnu-0.4.0.crate 2947998 BLAKE2B 2ad1ea8b5fa07d544e910ccba043ae925269b76b26c9da356305b34b86741dd8b9aff0b9ffe3d562db4fcd7d7c46a11ce9e3168b782b1d89ae6881742b7ede82 SHA512 4a654af6a5d649dc87e00497245096b35a2894ae66f155cb62389902c3b93ddcc5cf7d0d8b9dd97b291d2d80bc686af2298e80abef6ac69883f4a54e79712513
diff --git a/dev-libs/dynolog/dynolog-0.3.1_p20230126-r1.ebuild b/dev-libs/dynolog/dynolog-0.3.1_p20230126-r1.ebuild
new file mode 100644
index 000000000000..cd1da77cf928
--- /dev/null
+++ b/dev-libs/dynolog/dynolog-0.3.1_p20230126-r1.ebuild
@@ -0,0 +1,116 @@
+# Copyright 2023-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+# Partially auto-Generated by cargo-ebuild 0.5.4-r1
+
+EAPI=8
+
+CRATES="
+ anyhow@1.0.75
+ atty@0.2.14
+ autocfg@1.1.0
+ bitflags@1.3.2
+ clap@3.2.25
+ clap_derive@3.2.25
+ clap_lex@0.2.4
+ hashbrown@0.12.3
+ heck@0.4.1
+ hermit-abi@0.1.19
+ indexmap@1.9.3
+ itoa@1.0.9
+ libc@0.2.150
+ once_cell@1.18.0
+ os_str_bytes@6.6.1
+ proc-macro-error@1.0.4
+ proc-macro-error-attr@1.0.4
+ proc-macro2@1.0.70
+ quote@1.0.33
+ ryu@1.0.15
+ serde@1.0.193
+ serde_derive@1.0.193
+ serde_json@1.0.108
+ strsim@0.10.0
+ syn@1.0.109
+ syn@2.0.39
+ termcolor@1.4.0
+ textwrap@0.16.0
+ unicode-ident@1.0.12
+ version_check@0.9.4
+ winapi@0.3.9
+ winapi-i686-pc-windows-gnu@0.4.0
+ winapi-util@0.1.6
+ winapi-x86_64-pc-windows-gnu@0.4.0
+"
+
+inherit cargo cmake
+
+DESCRIPTION="Performance monitoring daemon for heterogeneous CPU-GPU systems"
+HOMEPAGE="https://github.com/facebookincubator/dynolog"
+SRC_URI="https://dev.gentoo.org/~tupone/distfiles/${P}.tar.gz
+ ${CARGO_CRATE_URIS}"
+
+LICENSE="BSD Apache-2.0 Boost-1.0 MIT Unicode-DFS-2016 Unlicense"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+DEPEND="dev-cpp/gflags
+ dev-cpp/gtest
+ dev-cpp/glog
+ net-misc/curl"
+RDEPEND="${DEPEND}"
+
+# Partially rust build
+QA_FLAGS_IGNORED=/usr/bin/dyno
+
+PATCHES=(
+ "${FILESDIR}"/${P}-gcc13.patch
+ "${FILESDIR}"/${P}-unbundling.patch
+ "${FILESDIR}"/${P}-noWerror.patch
+ "${FILESDIR}"/${P}-riscv.patch
+ "${FILESDIR}"/${P}-musl.patch
+)
+
+CMAKE_SKIP_TESTS=( "Defs.CpuSet" )
+
+src_prepare() {
+ sed -i \
+ -e "s:__u64:ino_t:g" \
+ hbt/src/common/System.h \
+ || die
+ cmake_src_prepare
+ cmake_comment_add_subdirectory third_party/gflags
+ cmake_comment_add_subdirectory third_party/glog
+ rm -r third_party/googletest || die
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DBUILD_SHARED_LIBS=OFF
+ -DCPR_FORCE_USE_SYSTEM_CURL=ON
+ -DBUILD_TESTS=$(usex test)
+ )
+ cmake_src_configure
+ cd cli
+ cargo_src_configure
+}
+
+src_compile() {
+ cmake_src_compile
+ cd cli
+ cargo_src_compile
+}
+
+src_install() {
+ cmake_src_install
+ mkdir -p headers/dynolog/src/ipcfabric
+ cp dynolog/src/ipcfabric/FabricManager.h \
+ headers/dynolog/src/ipcfabric || die
+ doheader -r dynolog
+ cd ../cli
+ cd cli
+ cargo_src_install
+
+ dobin "${BUILD_DIR}"/${PN}/src/${PN}
+}
diff --git a/dev-libs/dynolog/files/dynolog-0.3.1_p20230126-gcc13.patch b/dev-libs/dynolog/files/dynolog-0.3.1_p20230126-gcc13.patch
new file mode 100644
index 000000000000..b24dfe3ea202
--- /dev/null
+++ b/dev-libs/dynolog/files/dynolog-0.3.1_p20230126-gcc13.patch
@@ -0,0 +1,20 @@
+--- a/dynolog/src/metric_frame/ExtraTypes.h 2023-12-04 22:40:38.277556488 +0100
++++ b/dynolog/src/metric_frame/ExtraTypes.h 2023-12-04 22:40:59.044223825 +0100
+@@ -6,6 +6,7 @@
+ #pragma once
+
+ #include <ostream>
++#include <cstdint>
+
+ namespace facebook::dynolog {
+
+--- a/hbt/src/perf_event/CpuEventsGroup.h 2023-12-04 22:56:20.774267789 +0100
++++ b/hbt/src/perf_event/CpuEventsGroup.h 2023-12-04 22:56:38.454271601 +0100
+@@ -10,6 +10,7 @@
+
+ #include <cstring>
+ #include <sstream>
++#include <utility>
+
+ #include <inttypes.h>
+ #include <stdlib.h>
diff --git a/dev-libs/dynolog/files/dynolog-0.3.1_p20230126-musl.patch b/dev-libs/dynolog/files/dynolog-0.3.1_p20230126-musl.patch
new file mode 100644
index 000000000000..a3617bc3a2a7
--- /dev/null
+++ b/dev-libs/dynolog/files/dynolog-0.3.1_p20230126-musl.patch
@@ -0,0 +1,40 @@
+diff --git a/dynolog/src/gpumon/Utils.h b/dynolog/src/gpumon/Utils.h
+index 0728cdc..844076d 100644
+--- a/dynolog/src/gpumon/Utils.h
++++ b/dynolog/src/gpumon/Utils.h
+@@ -1,19 +1,20 @@
+ // (c) Meta Platforms, Inc. and affiliates. Confidential and proprietary.
+
+ #pragma once
+
++#include <unistd.h>
+ #include <string>
+ #include <unordered_map>
+ #include <vector>
+
+ namespace dynolog {
+
+ // Assume at most one pid running on each gpu device_id
+ // Result[i] is the pid running on device_id i,
+ // or -1 if no process is running
+ std::vector<pid_t> getPidsOnGpu();
+ // Input map is type <environment variable name, metadata name>
+ // output map is type <metadata name, metadata value>
+ std::unordered_map<std::string, std::string> getMetadataForPid(
+ pid_t pid,
+ const std::unordered_map<std::string, std::string>& keysMap);
+--- a/hbt/src/perf_event/BPerfEventsGroup.cpp
++++ b/hbt/src/perf_event/BPerfEventsGroup.cpp
+@@ -76,10 +76,10 @@
+ cpu_cnt_ = ::libbpf_num_possible_cpus();
+ }
+
+-inline auto mapFdWrapperPtrIntoInode(
++inline ino_t mapFdWrapperPtrIntoInode(
+ const std::shared_ptr<FdWrapper>& fd_wrapper) {
+ if (fd_wrapper == nullptr) {
+- return 0ull;
++ return (ino_t)0;
+ }
+ return fd_wrapper->getInode();
+ }
diff --git a/dev-libs/dynolog/files/dynolog-0.3.1_p20230126-noWerror.patch b/dev-libs/dynolog/files/dynolog-0.3.1_p20230126-noWerror.patch
new file mode 100644
index 000000000000..fb915902b4cd
--- /dev/null
+++ b/dev-libs/dynolog/files/dynolog-0.3.1_p20230126-noWerror.patch
@@ -0,0 +1,22 @@
+--- a/third_party/cpr/CMakeLists.txt 2023-12-06 09:59:09.062148849 +0100
++++ b/third_party/cpr/CMakeLists.txt 2023-12-06 09:59:27.615514631 +0100
+@@ -73,7 +73,7 @@
+
+ if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "MSVC")
+ else()
+- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wextra -Wpedantic -Werror")
++ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wextra -Wpedantic")
+ endif()
+
+ # SSL
+--- a/third_party/pfs/CMakeLists.txt 2023-12-26 13:43:57.634865410 +0100
++++ b/third_party/pfs/CMakeLists.txt 2023-12-26 13:44:20.865488661 +0100
+@@ -12,7 +12,7 @@
+ endif ()
+ message(STATUS "Build type: ${CMAKE_BUILD_TYPE}")
+
+-add_compile_options (-std=c++11 -Wall -Wextra -pedantic -Werror)
++add_compile_options (-std=c++11 -Wall -Wextra -pedantic)
+
+ include_directories (include)
+
diff --git a/dev-libs/dynolog/files/dynolog-0.3.1_p20230126-riscv.patch b/dev-libs/dynolog/files/dynolog-0.3.1_p20230126-riscv.patch
new file mode 100644
index 000000000000..de661f8ddecb
--- /dev/null
+++ b/dev-libs/dynolog/files/dynolog-0.3.1_p20230126-riscv.patch
@@ -0,0 +1,18 @@
+diff -Naur a/hbt/src/common/System.h b/hbt/src/common/System.h
+--- a/hbt/src/common/System.h 2024-01-21 15:26:26.940486370 +0000
++++ b/hbt/src/common/System.h 2024-01-21 22:22:36.713134358 +0000
+@@ -446,6 +446,14 @@
+ cpu = getCpu();
+ return tstamp;
+ }
++#elif defined(__riscv)
++inline TimeStamp rdtscp(CpuId& cpu) {
++ TimeStamp tstamp;
++ // Use the RDCYCLE instruction for RISC-V.
++ asm volatile("rdcycle %0" : "=r"(tstamp));
++ cpu = getCpu();
++ return tstamp;
++}
+ #endif
+
+ inline std::pair<TimeStamp, CpuId> rdtscp() {
diff --git a/dev-libs/dynolog/files/dynolog-0.3.1_p20230126-unbundling.patch b/dev-libs/dynolog/files/dynolog-0.3.1_p20230126-unbundling.patch
new file mode 100644
index 000000000000..dc85badfca81
--- /dev/null
+++ b/dev-libs/dynolog/files/dynolog-0.3.1_p20230126-unbundling.patch
@@ -0,0 +1,82 @@
+--- a/CMakeLists.txt 2023-12-06 07:46:09.148777964 +0100
++++ b/CMakeLists.txt 2023-12-06 07:46:17.995438966 +0100
+@@ -31,7 +31,6 @@
+
+ if(BUILD_TESTS)
+ enable_testing()
+- add_subdirectory("third_party/googletest" "third_party/googletest")
+ endif()
+
+ include_directories(".")
+@@ -49,6 +49,7 @@
+ set(BUILD_TESTING OFF CACHE BOOL "")
+ set(WITH_GFLAGS OFF CACHE BOOL "")
+ add_subdirectory(third_party/glog)
++find_package(glog)
+ target_link_libraries(dynolog_lib PUBLIC glog::glog)
+
+ set(GFLAGS_BUILD_TESTING OFF CACHE BOOL "")
+@@ -54,7 +53,7 @@
+
+ set(GFLAGS_BUILD_TESTING OFF CACHE BOOL "")
+ add_subdirectory(third_party/gflags)
+-target_link_libraries(dynolog_lib PUBLIC gflags::gflags)
++target_link_libraries(dynolog_lib PUBLIC gflags)
+
+ # https://github.com/nlohmann/json#cmake
+ set(JSON_BuildTests OFF CACHE INTERNAL "")
+--- a/dynolog/src/rpc/CMakeLists.txt 2023-12-06 07:40:29.268997358 +0100
++++ b/dynolog/src/rpc/CMakeLists.txt 2023-12-06 07:40:45.038986775 +0100
+@@ -12,7 +12,8 @@
+ PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/..
+ )
+ target_link_libraries(dynolog_rpc_lib PRIVATE dynolog_lib)
+-target_link_libraries(dynolog_rpc_lib PUBLIC gflags::gflags)
++target_link_libraries(dynolog_rpc_lib PUBLIC gflags)
++find_package(glog)
+ target_link_libraries(dynolog_rpc_lib PUBLIC glog::glog)
+ target_link_libraries(dynolog_rpc_lib PUBLIC nlohmann_json::nlohmann_json)
+ target_link_libraries(dynolog_rpc_lib PUBLIC fmt::fmt)
+--- a/dynolog/src/gpumon/CMakeLists.txt 2023-12-06 07:41:18.658964157 +0100
++++ b/dynolog/src/gpumon/CMakeLists.txt 2023-12-06 07:41:30.005623376 +0100
+@@ -16,7 +16,8 @@
+ )
+ target_include_directories(dynolog_dcgm_lib PUBLIC
+ ${PROJECT_SOURCE_DIR}/third_party/pfs/include)
+-target_link_libraries(dynolog_dcgm_lib PUBLIC gflags::gflags)
++target_link_libraries(dynolog_dcgm_lib PUBLIC gflags)
++find_package(glog)
+ target_link_libraries(dynolog_dcgm_lib PUBLIC glog::glog)
+ target_link_libraries(dynolog_dcgm_lib PUBLIC nlohmann_json::nlohmann_json)
+ target_link_libraries(dynolog_dcgm_lib PUBLIC pfs)
+--- a/dynolog/src/tracing/CMakeLists.txt 2023-12-06 08:42:39.313607692 +0100
++++ b/dynolog/src/tracing/CMakeLists.txt 2023-12-06 08:42:59.377010468 +0100
+@@ -11,5 +11,6 @@
+ PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/..
+ )
+
++find_package(glog)
+ target_link_libraries(dynolog_ipcmonitor_lib PUBLIC glog::glog)
+ target_link_libraries(dynolog_ipcmonitor_lib PUBLIC dynolog_ipcfabric_lib)
+--- a/dynolog/tests/rpc/CMakeLists.txt 2023-12-06 07:41:52.818942108 +0100
++++ b/dynolog/tests/rpc/CMakeLists.txt 2023-12-06 07:42:04.415601339 +0100
+@@ -2,7 +2,8 @@
+
+ add_executable(json_client SimpleJsonClientTestCLI.cpp SimpleJsonClientTest.h)
+
+-target_link_libraries(json_client PUBLIC gflags::gflags)
++target_link_libraries(json_client PUBLIC gflags)
++find_package(glog)
+ target_link_libraries(json_client PUBLIC glog::glog)
+
+ dynolog_add_test(SimpleJsonClientTest
+--- a/dynolog/tests/tracing/CMakeLists.txt 2023-12-06 08:44:45.267376972 +0100
++++ b/dynolog/tests/tracing/CMakeLists.txt 2023-12-06 08:45:01.977434795 +0100
+@@ -2,6 +2,7 @@
+
+ dynolog_add_test(IPCMonitorTest IPCMonitorTest.cpp)
+
++find_package(glog)
+ target_link_libraries(IPCMonitorTest PRIVATE glog::glog)
+ target_link_libraries(IPCMonitorTest PRIVATE dynolog_ipcmonitor_lib)
+ target_link_libraries(IPCMonitorTest PRIVATE dynolog_lib)
diff --git a/dev-libs/dynolog/metadata.xml b/dev-libs/dynolog/metadata.xml
new file mode 100644
index 000000000000..1afdcf76a673
--- /dev/null
+++ b/dev-libs/dynolog/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>Alfredo Tupone</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">facebookincubator/dynolog</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/editline/editline-1.17.1.ebuild b/dev-libs/editline/editline-1.17.1.ebuild
index eed9640bbec9..0bba672748cf 100644
--- a/dev-libs/editline/editline-1.17.1.ebuild
+++ b/dev-libs/editline/editline-1.17.1.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
@@ -10,10 +10,6 @@ SRC_URI="https://github.com/troglobit/editline/releases/download/${PV}/${P}.tar.
LICENSE="Apache-2.0"
SLOT="0"
KEYWORDS="~amd64 ~x86"
-IUSE=""
-
-DEPEND=""
-RDEPEND=""
PATCHES=("${FILESDIR}"/${PN}-1.16.0-rename-man.patch)
diff --git a/dev-libs/editline/metadata.xml b/dev-libs/editline/metadata.xml
index 115e9d64a669..94a7a4cd944f 100644
--- a/dev-libs/editline/metadata.xml
+++ b/dev-libs/editline/metadata.xml
@@ -2,4 +2,7 @@
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<!-- maintainer-needed -->
+ <upstream>
+ <remote-id type="github">troglobit/editline</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/dev-libs/eekboard/eekboard-1.0.8_p20121001-r1.ebuild b/dev-libs/eekboard/eekboard-1.0.8_p20121001-r1.ebuild
index 5c15ff749451..dd7e8e734711 100644
--- a/dev-libs/eekboard/eekboard-1.0.8_p20121001-r1.ebuild
+++ b/dev-libs/eekboard/eekboard-1.0.8_p20121001-r1.ebuild
@@ -1,8 +1,8 @@
-# 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..10} )
+PYTHON_COMPAT=( python3_{10..11} )
VALA_USE_DEPEND="vapigen"
inherit autotools gnome2-utils python-any-r1 vala vcs-snapshot virtualx xdg
@@ -34,7 +34,7 @@ DEPEND="${RDEPEND}"
BDEPEND="${PYTHON_DEPS}
dev-util/glib-utils
dev-util/gtk-doc
- dev-util/gtk-doc-am
+ dev-build/gtk-doc-am
dev-util/intltool
sys-devel/gettext
virtual/pkgconfig"
diff --git a/dev-libs/efl/Manifest b/dev-libs/efl/Manifest
index a7ff465e370d..710720bed01d 100644
--- a/dev-libs/efl/Manifest
+++ b/dev-libs/efl/Manifest
@@ -1,2 +1 @@
-DIST efl-1.25.1.tar.xz 72306872 BLAKE2B 060d729380ba62677307c5346da1786e879c14c4e40f0a3288c8cb81ece08f4ac501d989495b1c3dcbfeb19a86d23130892ae874861de5684c867aef60cb07d6 SHA512 cd281c2299aa6f74f0204e59a13dc254135e6dc40641e0a437c6f5025efe517d415f0915f69e123123319a9bbddb748aec1948ed0b5eb386e028cf45b244bed8
-DIST efl-1.26.1.tar.xz 168538588 BLAKE2B 2274b8939635d472560a7131651586e6ab5dfc71094f15fad0a30711ae2fdf40098ce6cd70a9b664c9f16c6b6880f51de96372dcc6d251bcad8c069429c3bfcb SHA512 50fd972315d10997a077e403e3484a6637a66217a66865216a3e47d214cfe7647876fade087da8d9ee5104ca99ce11db27ba6279564b1076f3353f3f9c702cb1
+DIST efl-1.27.0.tar.xz 168543208 BLAKE2B 082f7089f1a017db8e62f36fb2a51e18c7d00b74b8e865a60d066e49921c69720101deb3184a125633a6c646e241b8765cccc038c906c00d4ca16ecb705faf6f SHA512 5dda2f630463a2504d9246be17449579bbc470904e137b02b3b5c44db033dec2688f6c477885de1485944d875ee62619b6e7c5d4d3657225951f6feaf83b4fa4
diff --git a/dev-libs/efl/efl-1.25.1-r13.ebuild b/dev-libs/efl/efl-1.25.1-r13.ebuild
deleted file mode 100644
index 05051ee3a39f..000000000000
--- a/dev-libs/efl/efl-1.25.1-r13.ebuild
+++ /dev/null
@@ -1,323 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-DOCS_BUILDER="doxygen"
-DOCS_DEPEND="dev-texlive/texlive-fontutils"
-DOCS_DIR="${S}/doc"
-
-LUA_REQ_USE="deprecated(+)"
-LUA_COMPAT=( lua5-{1,2} luajit )
-
-PYTHON_COMPAT=( python3_{7..10} )
-
-inherit docs lua-single meson python-any-r1 xdg-utils
-
-DESCRIPTION="Enlightenment Foundation Libraries all-in-one package"
-HOMEPAGE="https://www.enlightenment.org"
-SRC_URI="https://download.enlightenment.org/rel/libs/${PN}/${P}.tar.xz"
-
-LICENSE="BSD-2 GPL-2 LGPL-2.1 ZLIB"
-SLOT="0"
-KEYWORDS="amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~riscv x86"
-IUSE="+X avif bmp connman cpu_flags_arm_neon dds debug drm +eet efl-one elogind examples fbcon
- +fontconfig fribidi gif gles2-only gnutls glib +gstreamer harfbuzz hyphen ibus ico
- jpeg2k json nls mono opengl +pdf physics pmaps postscript psd pulseaudio raw scim
- sdl +sound +ssl +svg +system-lz4 systemd tga tgv tiff tslib unwind v4l vnc wayland webp xcf
- xim xpm xpresent zeroconf"
-
-REQUIRED_USE="${LUA_REQUIRED_USE}
- ?? ( elogind systemd )
- ?? ( gles2-only opengl )
- ?? ( fbcon tslib )
- ssl
- drm? ( gles2-only )
- examples? ( eet svg )
- gles2-only? ( || ( wayland X ) )
- ibus? ( glib )
- pulseaudio? ( sound )
- wayland? ( gles2-only !opengl )
- xim? ( X )
- xpresent? ( X )"
-
-# Requires everything to be enabled unconditionally.
-RESTRICT="test"
-
-RDEPEND="${LUA_DEPS}
- dev-libs/check
- net-misc/curl
- media-libs/giflib:=
- media-libs/libpng:0=
- sys-apps/dbus
- sys-libs/zlib
- virtual/jpeg:0=
- X? (
- media-libs/freetype
- x11-libs/libX11
- x11-libs/libXcomposite
- x11-libs/libXcursor
- x11-libs/libXdamage
- x11-libs/libXdmcp
- x11-libs/libXext
- x11-libs/libXfixes
- x11-libs/libXi
- x11-libs/libXinerama
- x11-libs/libXrandr
- x11-libs/libXrender
- x11-libs/libXtst
- x11-libs/libXScrnSaver
- wayland? ( x11-libs/libxkbcommon[X] )
- )
- avif? ( media-libs/libavif:= )
- connman? ( net-misc/connman )
- drm? (
- dev-libs/libinput
- dev-libs/wayland
- media-libs/mesa[gbm(+)]
- x11-libs/libdrm
- x11-libs/libxkbcommon
- )
- elogind? (
- sys-auth/elogind
- virtual/libudev
- )
- fontconfig? ( media-libs/fontconfig )
- fribidi? ( dev-libs/fribidi )
- gles2-only? (
- media-libs/mesa[egl(+),gles2]
- virtual/opengl
- )
- glib? ( dev-libs/glib:2 )
- gstreamer? (
- media-libs/gstreamer:1.0
- media-libs/gst-plugins-base:1.0
- )
- hyphen? ( dev-libs/hyphen )
- ibus? ( app-i18n/ibus )
- jpeg2k? ( media-libs/openjpeg:= )
- json? ( >=media-libs/rlottie-0.0.1_pre20200424:= )
- mono? ( dev-lang/mono )
- opengl? ( virtual/opengl )
- pdf? ( app-text/poppler:=[cxx] )
- physics? ( sci-physics/bullet:= )
- postscript? ( app-text/libspectre )
- pulseaudio? ( media-sound/pulseaudio )
- raw? ( media-libs/libraw:= )
- scim? ( app-i18n/scim )
- sdl? ( media-libs/libsdl2 )
- sound? ( media-libs/libsndfile )
- ssl? (
- gnutls? ( net-libs/gnutls:= )
- !gnutls? (
- dev-libs/openssl:0=
- )
- )
- svg? ( gnome-base/librsvg )
- system-lz4? ( app-arch/lz4 )
- systemd? ( sys-apps/systemd:= )
- tiff? ( media-libs/tiff:0= )
- tslib? ( x11-libs/tslib:= )
- unwind? ( sys-libs/libunwind )
- v4l? ( media-libs/libv4l )
- vnc? ( net-libs/libvncserver )
- wayland? (
- dev-libs/wayland
- media-libs/mesa[gles2,wayland]
- x11-libs/libxkbcommon
- )
- webp? ( media-libs/libwebp:= )
- xpm? ( x11-libs/libXpm )
- xpresent? ( x11-libs/libXpresent )
- zeroconf? ( net-dns/avahi )"
-DEPEND="${RDEPEND}"
-BDEPEND="${PYTHON_DEPS}
- virtual/pkgconfig
- nls? ( sys-devel/gettext )"
-
-PATCHES=( "${FILESDIR}"/efl-1.25.1-libavif-fix.patch )
-
-pkg_setup() {
- # Deprecated, provided for backward-compatibility. Everything is moved to libefreet.so.
- QA_FLAGS_IGNORED="/usr/$(get_libdir)/libefreet_trash.so.1.25.1
- /usr/$(get_libdir)/libefreet_mime.so.1.25.1"
-
- python-any-r1_pkg_setup
-}
-
-src_prepare() {
- default
-
- # Remove automagic unwind configure option, #743154
- if ! use unwind; then
- sed -i "/config_h.set('HAVE_UNWIND/,/eina_ext_deps += unwind/d" src/lib/eina/meson.build ||
- die "Failed to remove libunwind dep"
- fi
-
- # Fixup Doxyfile
- pushd "${DOCS_DIR}" || die
- cp Doxyfile.in Doxyfile || die
- sed -i \
- -e "s/@PACKAGE_VERSION@/${PV}/g" \
- -e "s/@top_builddir@/../g" \
- -e "s/@top_srcdir@/../g" \
- -e "s/@srcdir@/./g" \
- Doxyfile || die
- popd || die
-
- # Fix python shebangs for python-exec[-native-symlinks], #764086
- local shebangs=($(grep -rl "#!/usr/bin/env python3" || die))
- python_fix_shebang -q ${shebangs[*]}
-}
-
-src_configure() {
- local emesonargs=(
- --buildtype=release
-
- -D buffer=false
- -D cocoa=false
- -D drm-deprecated=false
- -D g-mainloop=false
- -D mono-beta=false
- -D dotnet=false
- -D pixman=false
- -D wl-deprecated=false
- -D dotnet-stylecop-severity=Warning
-
- -D edje-sound-and-video=true
- -D eeze=true
- -D install-eo-files=true
- -D libmount=true
- -D native-arch-optimization=true
- -D xinput2=true
- -D xinput22=true
-
- $(meson_use X x11)
- $(meson_use debug debug-threads)
- $(meson_use drm)
- $(meson_use examples build-examples)
- $(meson_use fbcon fb)
- $(meson_use fontconfig)
- $(meson_use fribidi)
- $(meson_use glib)
- $(meson_use gstreamer)
- $(meson_use harfbuzz)
- $(meson_use hyphen)
- $(meson_use lua_single_target_luajit elua)
- $(meson_use nls)
- $(meson_use physics)
- $(meson_use pulseaudio)
- $(meson_use sdl)
- $(meson_use sound audio)
- $(meson_use tslib)
- $(meson_use v4l v4l2)
- $(meson_use vnc vnc-server)
- $(meson_use wayland wl)
- $(meson_use xpresent)
- $(meson_use zeroconf avahi)
-
- $(meson_use !system-lz4 embedded-lz4)
- )
-
- if use elogind || use systemd; then
- emesonargs+=( -D systemd=true )
- else
- emesonargs+=( -D systemd=false )
- fi
-
- if use opengl; then
- emesonargs+=( -D opengl=full )
- elif use gles2-only; then
- emesonargs+=( -D opengl=es-egl )
- else
- emesonargs+=( -D opengl=none )
- fi
-
- if use gnutls; then
- emesonargs+=( -D crypto=gnutls )
- else
- emesonargs+=( -D crypto=openssl )
- fi
-
- if use connman; then
- emesonargs+=( -D network-backend=connman )
- else
- emesonargs+=( -D network-backend=none )
- fi
-
- local disabledEvasLoaders=""
- ! use avif && disabledEvasLoaders="avif,"
- ! use bmp && disabledEvasLoaders+="bmp,wbmp,"
- ! use dds && disabledEvasLoaders+="dds,"
- ! use eet && disabledEvasLoaders+="eet,"
- ! use gstreamer && disabledEvasLoaders+="gst,"
- ! use ico && disabledEvasLoaders+="ico,"
- ! use jpeg2k && disabledEvasLoaders+="jp2k,"
- ! use json && disabledEvasLoaders+="json,"
- ! use pdf && disabledEvasLoaders+="pdf,"
- ! use pmaps && disabledEvasLoaders+="pmaps,"
- ! use postscript && disabledEvasLoaders+="ps,"
- ! use psd && disabledEvasLoaders+="psd,"
- ! use raw && disabledEvasLoaders+="raw,"
- ! use svg && disabledEvasLoaders+="rsvg,svg,"
- ! use tga && disabledEvasLoaders+="tga,"
- ! use tgv && disabledEvasLoaders+="tgv,"
- ! use tiff && disabledEvasLoaders+="tiff,"
- ! use webp && disabledEvasLoaders+="webp,"
- ! use xcf && disabledEvasLoaders+="xcf,"
- ! use xpm && disabledEvasLoaders+="xpm,"
- [[ ! -z "$disabledEvasLoaders" ]] && disabledEvasLoaders=${disabledEvasLoaders::-1}
- emesonargs+=( -D evas-loaders-disabler="${disabledEvasLoaders}" )
-
- local disabledImfLoaders=""
- ! use ibus && disabledImfLoaders+="ibus,"
- ! use scim && disabledImfLoaders+="scim,"
- ! use xim && disabledImfLoaders+="xim,"
- [[ ! -z "$disabledImfLoaders" ]] && disabledImfLoaders=${disabledImfLoaders::-1}
- emesonargs+=( -D ecore-imf-loaders-disabler="${disabledImfLoaders}" )
-
- local bindingsList="cxx,"
- use lua_single_target_luajit && bindingsList+="lua,"
- use mono && bindingsList+="mono,"
- [[ ! -z "$bindingsList" ]] && bindingsList=${bindingsList::-1}
- emesonargs+=( -D bindings="${bindingsList}" )
-
- local luaChoice=""
- if use lua_single_target_luajit; then
- luaChoice+="luajit"
- else
- luaChoice+="lua"
- fi
- emesonargs+=( -D lua-interpreter="${luaChoice}" )
-
- # Not all arm CPU's have neon instruction set, #722552
- if use arm && ! use cpu_flags_arm_neon; then
- emesonargs+=( -D native-arch-optimization=false )
- fi
-
- meson_src_configure
-}
-
-src_compile() {
- docs_compile
- meson_src_compile
-}
-
-src_install() {
- meson_src_install
-
- if use examples; then
- docompress -x /usr/share/doc/${PF}/examples/
- dodoc -r "${BUILD_DIR}"/src/examples/
- fi
-}
-
-pkg_postinst() {
- xdg_icon_cache_update
- xdg_mimeinfo_database_update
-}
-
-pkg_postrm() {
- xdg_icon_cache_update
- xdg_mimeinfo_database_update
-}
diff --git a/dev-libs/efl/efl-1.26.1-r1.ebuild b/dev-libs/efl/efl-1.26.1-r1.ebuild
deleted file mode 100644
index 8528716bda38..000000000000
--- a/dev-libs/efl/efl-1.26.1-r1.ebuild
+++ /dev/null
@@ -1,310 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-DOCS_BUILDER="doxygen"
-DOCS_DEPEND="dev-texlive/texlive-fontutils"
-DOCS_DIR="${S}/doc"
-
-LUA_REQ_USE="deprecated(+)"
-LUA_COMPAT=( lua5-{1,2} luajit )
-
-PYTHON_COMPAT=( python3_{8..10} )
-
-inherit docs lua-single meson python-any-r1 xdg
-
-DESCRIPTION="Enlightenment Foundation Libraries all-in-one package"
-HOMEPAGE="https://www.enlightenment.org"
-SRC_URI="https://download.enlightenment.org/rel/libs/${PN}/${P}.tar.xz"
-
-LICENSE="BSD-2 GPL-2 LGPL-2.1 ZLIB"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~riscv ~x86"
-IUSE="+X avif bmp connman cpu_flags_arm_neon dds debug drm +eet efl-one elogind examples fbcon
- +fontconfig fribidi gif gnutls glib +gstreamer harfbuzz heif hyphen ibus ico
- jpeg2k json nls mono opengl +pdf physics pmaps postscript psd pulseaudio raw scim
- sdl +sound +svg +system-lz4 systemd tga tgv tiff tslib unwind v4l vnc wayland webp xcf
- xim xpm xpresent zeroconf"
-
-REQUIRED_USE="${LUA_REQUIRED_USE}
- ?? ( elogind systemd )
- ?? ( fbcon tslib )
- drm? ( wayland )
- examples? ( eet svg )
- ibus? ( glib )
- opengl? ( X )
- pulseaudio? ( sound )
- xim? ( X )
- xpresent? ( X )"
-
-# Requires everything to be enabled unconditionally.
-RESTRICT="test"
-
-RDEPEND="${LUA_DEPS}
- !x11-themes/e-flat-theme
- dev-libs/libinput:=
- net-misc/curl
- media-libs/giflib:=
- media-libs/libpng:0=
- sys-apps/dbus
- sys-libs/zlib
- virtual/jpeg
- X? (
- !opengl? ( media-libs/mesa[egl(+),gles2] )
- media-libs/freetype
- x11-libs/libX11
- x11-libs/libXScrnSaver
- x11-libs/libXcomposite
- x11-libs/libXcursor
- x11-libs/libXdamage
- x11-libs/libXext
- x11-libs/libXfixes
- x11-libs/libXi
- x11-libs/libXinerama
- x11-libs/libXrandr
- x11-libs/libXrender
- x11-libs/libXtst
- x11-libs/libxkbcommon
- wayland? ( x11-libs/libxkbcommon[X] )
- )
- avif? ( media-libs/libavif:= )
- connman? ( net-misc/connman )
- drm? (
- dev-libs/libinput:=
- dev-libs/wayland
- media-libs/mesa[gbm(+)]
- x11-libs/libdrm
- x11-libs/libxkbcommon
- )
- elogind? (
- sys-auth/elogind
- virtual/libudev:=
- )
- fontconfig? ( media-libs/fontconfig )
- fribidi? ( dev-libs/fribidi )
- glib? ( dev-libs/glib:2 )
- gnutls? ( net-libs/gnutls:= )
- !gnutls? ( dev-libs/openssl:0= )
- gstreamer? (
- media-libs/gstreamer:1.0
- media-libs/gst-plugins-base:1.0
- )
- harfbuzz? ( media-libs/harfbuzz:= )
- heif? ( media-libs/libheif:= )
- hyphen? ( dev-libs/hyphen )
- ibus? ( app-i18n/ibus )
- jpeg2k? ( media-libs/openjpeg:= )
- json? ( >=media-libs/rlottie-0.0.1_pre20200424:= )
- mono? ( dev-lang/mono )
- opengl? ( virtual/opengl )
- pdf? ( app-text/poppler:=[cxx] )
- physics? ( sci-physics/bullet:= )
- postscript? ( app-text/libspectre )
- pulseaudio? ( media-sound/pulseaudio )
- raw? ( media-libs/libraw:= )
- scim? ( app-i18n/scim )
- sdl? ( media-libs/libsdl2 )
- sound? ( media-libs/libsndfile )
- svg? ( gnome-base/librsvg:2 )
- system-lz4? ( app-arch/lz4:= )
- systemd? ( sys-apps/systemd:= )
- tiff? ( media-libs/tiff )
- tslib? ( x11-libs/tslib:= )
- unwind? ( sys-libs/libunwind:= )
- v4l? ( media-libs/libv4l )
- vnc? ( net-libs/libvncserver )
- wayland? (
- dev-libs/wayland
- media-libs/mesa[gles2,wayland]
- x11-libs/libxkbcommon
- )
- webp? ( media-libs/libwebp:= )
- xpm? ( x11-libs/libXpm )
- xpresent? ( x11-libs/libXpresent )
- zeroconf? ( net-dns/avahi )"
-DEPEND="${RDEPEND}"
-BDEPEND="${PYTHON_DEPS}
- virtual/pkgconfig
- nls? ( sys-devel/gettext )
- wayland? ( dev-util/wayland-scanner )"
-
-pkg_setup() {
- # Deprecated, provided for backward-compatibility. Everything is moved to libefreet.so.
- QA_FLAGS_IGNORED="/usr/$(get_libdir)/libefreet_trash.so.${PV}
- /usr/$(get_libdir)/libefreet_mime.so.${PV}"
-
- python-any-r1_pkg_setup
-}
-
-src_prepare() {
- default
-
- # Remove automagic unwind configure option, #743154
- if ! use unwind; then
- sed -i "/config_h.set('HAVE_UNWIND/,/eina_ext_deps += unwind/d" src/lib/eina/meson.build ||
- die "Failed to remove libunwind dep"
- fi
-
- # Fixup Doxyfile
- pushd "${DOCS_DIR}" || die
- cp Doxyfile.in Doxyfile || die
- sed -i \
- -e "s/@PACKAGE_VERSION@/${PV}/g" \
- -e "s/@top_builddir@/../g" \
- -e "s/@top_srcdir@/../g" \
- -e "s/@srcdir@/./g" \
- Doxyfile || die
- popd || die
-
- # Fix python shebangs for python-exec[-native-symlinks], #764086
- local shebangs=($(grep -rl "#!/usr/bin/env python3" || die))
- python_fix_shebang -q ${shebangs[*]}
-}
-
-src_configure() {
- local emesonargs=(
- --buildtype=plain
-
- -D buffer=false
- -D build-tests=false
- -D cocoa=false
- -D drm-deprecated=false
- -D g-mainloop=false
- -D mono-beta=false
- -D dotnet=false
- -D pixman=false
- -D wl-deprecated=false
- -D dotnet-stylecop-severity=Warning
-
- -D edje-sound-and-video=true
- -D eeze=true
- -D input=true
- -D install-eo-files=true
- -D libmount=true
- -D native-arch-optimization=true
- -D xinput2=true
- -D xinput22=true
-
- $(meson_use X x11)
- $(meson_use debug debug-threads)
- $(meson_use drm)
- $(meson_use examples build-examples)
- $(meson_use fbcon fb)
- $(meson_use fontconfig)
- $(meson_use fribidi)
- $(meson_use glib)
- $(meson_use gstreamer)
- $(meson_use harfbuzz)
- $(meson_use hyphen)
- $(meson_use lua_single_target_luajit elua)
- $(meson_use nls)
- $(meson_use physics)
- $(meson_use pulseaudio)
- $(meson_use sdl)
- $(meson_use sound audio)
- $(meson_use tslib)
- $(meson_use v4l v4l2)
- $(meson_use vnc vnc-server)
- $(meson_use wayland wl)
- $(meson_use xpresent)
- $(meson_use zeroconf avahi)
-
- $(meson_use !system-lz4 embedded-lz4)
- )
-
- if use elogind || use systemd; then
- emesonargs+=( -D systemd=true )
- else
- emesonargs+=( -D systemd=false )
- fi
-
- if use wayland; then
- emesonargs+=( -D opengl=es-egl )
- elif ! use wayland && use opengl; then
- emesonargs+=( -D opengl=full )
- elif ! use wayland && use X && ! use opengl; then
- emesonargs+=( -D opengl=es-egl )
- else
- emesonargs+=( -D opengl=none )
- fi
-
- if use gnutls; then
- emesonargs+=( -D crypto=gnutls )
- else
- emesonargs+=( -D crypto=openssl )
- fi
-
- if use connman; then
- emesonargs+=( -D network-backend=connman )
- else
- emesonargs+=( -D network-backend=none )
- fi
-
- local disabledEvasLoaders=""
- ! use avif && disabledEvasLoaders="avif,"
- ! use bmp && disabledEvasLoaders+="bmp,wbmp,"
- ! use dds && disabledEvasLoaders+="dds,"
- ! use eet && disabledEvasLoaders+="eet,"
- ! use gstreamer && disabledEvasLoaders+="gst,"
- ! use heif && disabledEvasLoaders+="heif,"
- ! use ico && disabledEvasLoaders+="ico,"
- ! use jpeg2k && disabledEvasLoaders+="jp2k,"
- ! use json && disabledEvasLoaders+="json,"
- ! use pdf && disabledEvasLoaders+="pdf,"
- ! use pmaps && disabledEvasLoaders+="pmaps,"
- ! use postscript && disabledEvasLoaders+="ps,"
- ! use psd && disabledEvasLoaders+="psd,"
- ! use raw && disabledEvasLoaders+="raw,"
- ! use svg && disabledEvasLoaders+="rsvg,svg,"
- ! use tga && disabledEvasLoaders+="tga,"
- ! use tgv && disabledEvasLoaders+="tgv,"
- ! use tiff && disabledEvasLoaders+="tiff,"
- ! use webp && disabledEvasLoaders+="webp,"
- ! use xcf && disabledEvasLoaders+="xcf,"
- ! use xpm && disabledEvasLoaders+="xpm,"
- [[ ! -z "$disabledEvasLoaders" ]] && disabledEvasLoaders=${disabledEvasLoaders::-1}
- emesonargs+=( -D evas-loaders-disabler="${disabledEvasLoaders}" )
-
- local disabledImfLoaders=""
- ! use ibus && disabledImfLoaders+="ibus,"
- ! use scim && disabledImfLoaders+="scim,"
- ! use xim && disabledImfLoaders+="xim,"
- [[ ! -z "$disabledImfLoaders" ]] && disabledImfLoaders=${disabledImfLoaders::-1}
- emesonargs+=( -D ecore-imf-loaders-disabler="${disabledImfLoaders}" )
-
- local bindingsList="cxx,"
- use lua_single_target_luajit && bindingsList+="lua,"
- use mono && bindingsList+="mono,"
- [[ ! -z "$bindingsList" ]] && bindingsList=${bindingsList::-1}
- emesonargs+=( -D bindings="${bindingsList}" )
-
- local luaChoice=""
- if use lua_single_target_luajit; then
- luaChoice+="luajit"
- else
- luaChoice+="lua"
- fi
- emesonargs+=( -D lua-interpreter="${luaChoice}" )
-
- # Not all arm CPU's have neon instruction set, #722552
- if use arm && ! use cpu_flags_arm_neon; then
- emesonargs+=( -D native-arch-optimization=false )
- fi
-
- meson_src_configure
-}
-
-src_compile() {
- docs_compile
- meson_src_compile
-}
-
-src_install() {
- meson_src_install
-
- if use examples; then
- docompress -x /usr/share/doc/${PF}/examples/
- dodoc -r "${BUILD_DIR}"/src/examples/
- fi
-}
diff --git a/dev-libs/efl/efl-1.27.0.ebuild b/dev-libs/efl/efl-1.27.0.ebuild
new file mode 100644
index 000000000000..2cbdc3394a50
--- /dev/null
+++ b/dev-libs/efl/efl-1.27.0.ebuild
@@ -0,0 +1,296 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+LUA_REQ_USE="deprecated(+)"
+LUA_COMPAT=( lua5-{1,2} luajit )
+
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit lua-single meson python-any-r1 xdg
+
+DESCRIPTION="Enlightenment Foundation Libraries all-in-one package"
+HOMEPAGE="https://www.enlightenment.org"
+SRC_URI="https://download.enlightenment.org/rel/libs/${PN}/${P}.tar.xz"
+
+LICENSE="BSD-2 GPL-2 LGPL-2.1 ZLIB"
+SLOT="0"
+KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv x86"
+IUSE="+X avif bmp connman cpu_flags_arm_neon dds debug doc drm +eet efl-one elogind examples fbcon
+ +fontconfig fribidi gif glib +gstreamer harfbuzz heif hyphen ibus ico jpeg2k jpegxl json
+ nls mono opengl +pdf physics pmaps postscript psd pulseaudio raw scim sdl +sound +svg
+ +system-lz4 systemd tga tgv tiff tslib unwind v4l vnc wayland webp xcf xim xpm xpresent
+ zeroconf"
+
+REQUIRED_USE="${LUA_REQUIRED_USE}
+ ?? ( elogind systemd )
+ ?? ( fbcon tslib )
+ drm? ( wayland )
+ examples? ( eet svg )
+ gstreamer? ( sound )
+ ibus? ( glib )
+ opengl? ( X )
+ pulseaudio? ( sound )
+ xim? ( X )
+ xpresent? ( X )"
+
+# Requires everything to be enabled unconditionally.
+RESTRICT="test"
+
+RDEPEND="${LUA_DEPS}
+ !x11-themes/e-flat-theme
+ dev-libs/libinput:=
+ dev-libs/openssl:0=
+ net-misc/curl
+ media-libs/giflib:=
+ media-libs/libjpeg-turbo:=
+ media-libs/libpng:=
+ sys-apps/dbus
+ sys-libs/zlib
+ X? (
+ !opengl? ( media-libs/mesa[egl(+),gles2] )
+ media-libs/freetype
+ x11-libs/libX11
+ x11-libs/libXScrnSaver
+ x11-libs/libXcomposite
+ x11-libs/libXcursor
+ x11-libs/libXdamage
+ x11-libs/libXext
+ x11-libs/libXfixes
+ x11-libs/libXi
+ x11-libs/libXinerama
+ x11-libs/libXrandr
+ x11-libs/libXrender
+ x11-libs/libXtst
+ x11-libs/libxkbcommon
+ wayland? ( x11-libs/libxkbcommon[X] )
+ )
+ avif? ( media-libs/libavif:= )
+ connman? ( net-misc/connman )
+ drm? (
+ dev-libs/libinput:=
+ dev-libs/wayland
+ media-libs/mesa[gbm(+)]
+ x11-libs/libdrm
+ x11-libs/libxkbcommon
+ )
+ elogind? (
+ sys-auth/elogind
+ virtual/libudev:=
+ )
+ fontconfig? ( media-libs/fontconfig )
+ fribidi? ( dev-libs/fribidi )
+ glib? ( dev-libs/glib:2 )
+ gstreamer? (
+ media-libs/gstreamer:1.0
+ media-libs/gst-plugins-base:1.0
+ )
+ harfbuzz? ( media-libs/harfbuzz:= )
+ heif? ( media-libs/libheif:= )
+ hyphen? ( dev-libs/hyphen )
+ ibus? ( app-i18n/ibus )
+ jpeg2k? ( media-libs/openjpeg:= )
+ jpegxl? ( media-libs/libjxl:= )
+ json? ( >=media-libs/rlottie-0.0.1_pre20200424:= )
+ mono? ( dev-lang/mono )
+ opengl? ( virtual/opengl )
+ pdf? ( app-text/poppler:=[cxx] )
+ physics? ( sci-physics/bullet:= )
+ postscript? ( app-text/libspectre )
+ pulseaudio? ( media-libs/libpulse )
+ raw? ( media-libs/libraw:= )
+ scim? ( app-i18n/scim )
+ sdl? ( media-libs/libsdl2 )
+ sound? ( media-libs/libsndfile )
+ svg? ( gnome-base/librsvg:2 )
+ system-lz4? ( app-arch/lz4:= )
+ systemd? ( sys-apps/systemd:= )
+ tiff? ( media-libs/tiff:= )
+ tslib? ( x11-libs/tslib:= )
+ unwind? ( sys-libs/libunwind:= )
+ v4l? ( media-libs/libv4l )
+ vnc? ( net-libs/libvncserver )
+ wayland? (
+ dev-libs/wayland
+ media-libs/mesa[gles2,wayland]
+ x11-libs/libxkbcommon
+ )
+ webp? ( media-libs/libwebp:= )
+ xpm? ( x11-libs/libXpm )
+ xpresent? ( x11-libs/libXpresent )
+ zeroconf? ( net-dns/avahi )"
+DEPEND="${RDEPEND}
+ X? ( x11-base/xorg-proto )
+ wayland? ( dev-libs/wayland-protocols )"
+BDEPEND="${PYTHON_DEPS}
+ virtual/pkgconfig
+ doc? ( app-text/doxygen )
+ examples? ( sys-devel/gettext )
+ mono? ( dev-build/cmake )
+ nls? ( sys-devel/gettext )
+ wayland? ( dev-util/wayland-scanner )"
+
+pkg_setup() {
+ # Deprecated, provided for backward-compatibility. Everything is moved to libefreet.so.
+ QA_FLAGS_IGNORED="/usr/$(get_libdir)/libefreet_trash.so.${PV}
+ /usr/$(get_libdir)/libefreet_mime.so.${PV}"
+
+ python-any-r1_pkg_setup
+}
+
+src_prepare() {
+ default
+
+ # Remove automagic unwind configure option, #743154
+ if ! use unwind; then
+ sed -i "/config_h.set('HAVE_UNWIND/,/eina_ext_deps += unwind/d" src/lib/eina/meson.build ||
+ die "Failed to remove libunwind dep"
+ fi
+
+ # Fix python shebangs for python-exec[-native-symlinks], #764086
+ local shebangs=($(grep -rl "#!/usr/bin/env python3" || die))
+ python_fix_shebang -q ${shebangs[*]}
+}
+
+src_configure() {
+ local emesonargs=(
+ -D buffer=false
+ -D build-tests=false
+ -D cocoa=false
+ -D drm-deprecated=false
+ -D g-mainloop=false
+ -D mono-beta=false
+ -D dotnet=false
+ -D pixman=false
+ -D wl-deprecated=false
+
+ -D edje-sound-and-video=true
+ -D eeze=true
+ -D input=true
+ -D install-eo-files=true
+ -D libmount=true
+ -D native-arch-optimization=true
+ -D xinput2=true
+ -D xinput22=true
+
+ -D crypto=openssl
+ -D dotnet-stylecop-severity=Warning
+
+ $(meson_use X x11)
+ $(meson_use debug debug-threads)
+ $(meson_use doc docs)
+ $(meson_use drm)
+ $(meson_use examples build-examples)
+ $(meson_use fbcon fb)
+ $(meson_use fontconfig)
+ $(meson_use fribidi)
+ $(meson_use glib)
+ $(meson_use gstreamer)
+ $(meson_use harfbuzz)
+ $(meson_use hyphen)
+ $(meson_use lua_single_target_luajit elua)
+ $(meson_use nls)
+ $(meson_use physics)
+ $(meson_use pulseaudio)
+ $(meson_use sdl)
+ $(meson_use sound audio)
+ $(meson_use tslib)
+ $(meson_use v4l v4l2)
+ $(meson_use vnc vnc-server)
+ $(meson_use wayland wl)
+ $(meson_use xpresent)
+ $(meson_use zeroconf avahi)
+
+ $(meson_use !system-lz4 embedded-lz4)
+ )
+
+ if use elogind || use systemd; then
+ emesonargs+=( -D systemd=true )
+ else
+ emesonargs+=( -D systemd=false )
+ fi
+
+ if use wayland; then
+ emesonargs+=( -D opengl=es-egl )
+ elif ! use wayland && use opengl; then
+ emesonargs+=( -D opengl=full )
+ elif ! use wayland && use X && ! use opengl; then
+ emesonargs+=( -D opengl=es-egl )
+ else
+ emesonargs+=( -D opengl=none )
+ fi
+
+ if use connman; then
+ emesonargs+=( -D network-backend=connman )
+ else
+ emesonargs+=( -D network-backend=none )
+ fi
+
+ local disabledEvasLoaders=""
+ ! use avif && disabledEvasLoaders="avif,"
+ ! use bmp && disabledEvasLoaders+="bmp,wbmp,"
+ ! use dds && disabledEvasLoaders+="dds,"
+ ! use eet && disabledEvasLoaders+="eet,"
+ ! use gstreamer && disabledEvasLoaders+="gst,"
+ ! use heif && disabledEvasLoaders+="heif,"
+ ! use ico && disabledEvasLoaders+="ico,"
+ ! use jpeg2k && disabledEvasLoaders+="jp2k,"
+ ! use jpegxl && disabledEvasLoaders+="jxl,"
+ ! use json && disabledEvasLoaders+="json,"
+ ! use pdf && disabledEvasLoaders+="pdf,"
+ ! use pmaps && disabledEvasLoaders+="pmaps,"
+ ! use postscript && disabledEvasLoaders+="ps,"
+ ! use psd && disabledEvasLoaders+="psd,"
+ ! use raw && disabledEvasLoaders+="raw,"
+ ! use svg && disabledEvasLoaders+="rsvg,svg,"
+ ! use tga && disabledEvasLoaders+="tga,"
+ ! use tgv && disabledEvasLoaders+="tgv,"
+ ! use tiff && disabledEvasLoaders+="tiff,"
+ ! use webp && disabledEvasLoaders+="webp,"
+ ! use xcf && disabledEvasLoaders+="xcf,"
+ ! use xpm && disabledEvasLoaders+="xpm,"
+ [[ ! -z "$disabledEvasLoaders" ]] && disabledEvasLoaders=${disabledEvasLoaders::-1}
+ emesonargs+=( -D evas-loaders-disabler="${disabledEvasLoaders}" )
+
+ local disabledImfLoaders=""
+ ! use ibus && disabledImfLoaders+="ibus,"
+ ! use scim && disabledImfLoaders+="scim,"
+ ! use xim && disabledImfLoaders+="xim,"
+ [[ ! -z "$disabledImfLoaders" ]] && disabledImfLoaders=${disabledImfLoaders::-1}
+ emesonargs+=( -D ecore-imf-loaders-disabler="${disabledImfLoaders}" )
+
+ local bindingsList="cxx,"
+ use lua_single_target_luajit && bindingsList+="lua,"
+ use mono && bindingsList+="mono,"
+ [[ ! -z "$bindingsList" ]] && bindingsList=${bindingsList::-1}
+ emesonargs+=( -D bindings="${bindingsList}" )
+
+ local luaChoice=""
+ if use lua_single_target_luajit; then
+ luaChoice+="luajit"
+ else
+ luaChoice+="lua"
+ fi
+ emesonargs+=( -D lua-interpreter="${luaChoice}" )
+
+ # Not all arm CPU's have neon instruction set, #722552
+ if use arm && ! use cpu_flags_arm_neon; then
+ emesonargs+=( -D native-arch-optimization=false )
+ fi
+
+ meson_src_configure
+}
+
+src_compile() {
+ meson_src_compile
+}
+
+src_install() {
+ meson_src_install
+
+ if use examples; then
+ docompress -x /usr/share/doc/${PF}/examples/
+ dodoc -r "${BUILD_DIR}"/src/examples/
+ fi
+}
diff --git a/dev-libs/efl/files/efl-1.25.1-libavif-fix.patch b/dev-libs/efl/files/efl-1.25.1-libavif-fix.patch
deleted file mode 100644
index ab11790f1b79..000000000000
--- a/dev-libs/efl/files/efl-1.25.1-libavif-fix.patch
+++ /dev/null
@@ -1,71 +0,0 @@
-From 00f5eed1d2390d204c83a2cb78a37531f6bbe49c Mon Sep 17 00:00:00 2001
-From: "Carsten Haitzler (Rasterman)" <raster@rasterman.com>
-Date: Fri, 18 Dec 2020 11:16:38 +0000
-Subject: evas - avif - fix for 0.8.2 libavif that broke api
-
-also require 0.8.2 ... as well - no point trying to support older
-versions forever and this is still experimental.
-
-fixes T8844
-@fix
----
- src/modules/evas/image_loaders/avif/evas_image_load_avif.c | 14 ++++----------
- 1 file changed, 4 insertions(+), 10 deletions(-)
-
-(limited to 'src/modules/evas/image_loaders/avif/evas_image_load_avif.c')
-
-diff --git a/src/modules/evas/image_loaders/avif/evas_image_load_avif.c b/src/modules/evas/image_loaders/avif/evas_image_load_avif.c
-index 34b6da9bd3..f7cfe0ef03 100644
---- a/src/modules/evas/image_loaders/avif/evas_image_load_avif.c
-+++ b/src/modules/evas/image_loaders/avif/evas_image_load_avif.c
-@@ -43,7 +43,6 @@ evas_image_load_file_head_avif_internal(Evas_Loader_Internal *loader,
- int *error)
- {
- Evas_Image_Animated *animated;
-- avifROData raw;
- avifDecoder *decoder;
- avifResult res;
- Eina_Bool ret;
-@@ -55,9 +54,6 @@ evas_image_load_file_head_avif_internal(Evas_Loader_Internal *loader,
- prop->h = 0;
- prop->alpha = EINA_FALSE;
-
-- raw.size = length;
-- raw.data = (const uint8_t *)map;
--
- decoder = avifDecoderCreate();
- if (!decoder)
- {
-@@ -65,7 +61,8 @@ evas_image_load_file_head_avif_internal(Evas_Loader_Internal *loader,
- return ret;
- }
-
-- res = avifDecoderParse(decoder, &raw);
-+ avifDecoderSetIOMemory(decoder, (const uint8_t *)map, length);
-+ res = avifDecoderParse(decoder);
- if (res != AVIF_RESULT_OK)
- {
- ERR("avif file format invalid");
-@@ -141,7 +138,6 @@ evas_image_load_file_data_avif_internal(Evas_Loader_Internal *loader,
- decoder = loader->decoder;
- if (!decoder)
- {
-- avifROData raw;
- decoder = avifDecoderCreate();
- if (!decoder)
- {
-@@ -149,10 +145,8 @@ evas_image_load_file_data_avif_internal(Evas_Loader_Internal *loader,
- return EINA_FALSE;
- }
-
-- raw.size = length;
-- raw.data = (const uint8_t *)map;
--
-- res = avifDecoderParse(decoder, &raw);
-+ avifDecoderSetIOMemory(decoder, (const uint8_t *)map, length);
-+ res = avifDecoderParse(decoder);
- if (res != AVIF_RESULT_OK)
- {
- *error = EVAS_LOAD_ERROR_GENERIC;
---
-cgit v1.2.1
diff --git a/dev-libs/efl/metadata.xml b/dev-libs/efl/metadata.xml
index 7d086589bd6a..2a3d3a291099 100644
--- a/dev-libs/efl/metadata.xml
+++ b/dev-libs/efl/metadata.xml
@@ -6,7 +6,6 @@
<name>Joonas Niilola</name>
</maintainer>
<use>
- <flag name="avif">Enable AVIF image loader</flag>
<flag name="bmp">Enable WBMP image loader</flag>
<flag name="dds">Enable DDS image loader</flag>
<flag name="drm">Enable DRM engine</flag>
@@ -15,7 +14,6 @@
<flag name="fribidi">Enable bidirectional text support</flag>
<flag name="glib">Enable <pkg>dev-libs/glib</pkg> support</flag>
<flag name="harfbuzz">Enable complex text shaping and layout support</flag>
- <flag name="heif">Enable HEIF image loader</flag>
<flag name="hyphen">Enable text hyphenation support</flag>
<flag name="ibus">Enable Intelligent Input Bus</flag>
<flag name="ico">Enable Ico image loader</flag>
diff --git a/dev-libs/elfutils/Manifest b/dev-libs/elfutils/Manifest
index 6af4e92e7b9e..c9977594e891 100644
--- a/dev-libs/elfutils/Manifest
+++ b/dev-libs/elfutils/Manifest
@@ -1,4 +1,4 @@
-DIST elfutils-0.185-patches.tar.gz 7625 BLAKE2B 92aff147aa7e45976863e8129e25ecad74ad9bca231c9223897094c5933c3b350eb525a203b492d80c1eabee3b3808b43e30bdb879d7173eac968afa2005e97c SHA512 3f253c4de97190731ac157044572912b76df80f9473f3df335f0383dad6409f987593a749c5284672cf1b20241ac3ed9d77b126f730aaf594725703b6a426906
-DIST elfutils-0.185.tar.bz2 9187627 BLAKE2B 57cfa7e4060975c4bf6170dbd354687a19a92f7069c060db1ac2fa4da5a9d34e8bddd07c7ce376b5c28b5670ad5b8c1df795164cbcfb600a44cf1db60c20c4af SHA512 34de0de1355b11740e036e0fc64f2fc063587c8eb121b19216ee5548d3f0f268d8fc3995176c47190466b9d881007cfa11a9d01e9a50e38af6119492bf8bb47f
-DIST elfutils-0.186-patches.tar.gz 3323 BLAKE2B 360365597d3a08d6f4fe843d04bcddd07a44ca93dae2034615abc450517e1be21c81a55aa379c409902e134ae795b38bb7461c65cdba3934ac7ef1e4e0e53091 SHA512 e2d427be505fdc416751a1fbc3bb4f39577859d94ce43990faa83c135fe36be2ddb3a2ef0f1020cfa37060e6d43dc7b8cf3db0d07d62b31bf29cb9a4a5945ce1
-DIST elfutils-0.186.tar.bz2 9230491 BLAKE2B 49573d0a1f3519eab81d1ba3e94354cbc0935a36a94a3fdb22fe223a47b78cca8fd6e322870b0e335a809529fa6f54180b13c67936dec0242123c54ba20c9fc9 SHA512 c9180b27ec62935f18b9431268d176f6023d1bb938731d2af6e7626ae460af6608a70ba68483aa1ec7e6cb0fa0528b661ca8b68bc4f58ea8e18af527c5950c78
+DIST elfutils-0.190.tar.bz2 9162766 BLAKE2B 9934aff08f1898377708b28595fb52130ef9f80408132ac7d306845b10672ba45cf1ac69783da07b3eea9fd647741d44da45b8b2626c45a768cb2844c6186513 SHA512 9c4f5328097e028286c42f29e39dc3d80914b656cdfbbe05b639e91bc787ae8ae64dd4d69a6e317ce30c01648ded10281b86a51e718295f4c589df1225a48102
+DIST elfutils-0.190.tar.bz2.sig 310 BLAKE2B d6a2d490aa6815ed9a7c3624050716ebf7c50465af9907d471d47aa3b57590faf9b9ee03de127c6b3bdffa6948414aab6aa8c784ce29570f76bb03ee2021c062 SHA512 7cd88c19402a959679204a5b01ddd48720e224b84268d0d7452f0f1433150b97dd02288fac204fbd5e2fd6f227473bfe62205b350d5fe2e17addf45fb452eed6
+DIST elfutils-0.191.tar.bz2 9310088 BLAKE2B 2a7ad251369eca7ba609ab8644181fd479ad8596ee58dc068398ca22be25a978e96b81a10a92a5555d7574fd1b9227c8d54fb41dceb4025aedfc6ae32870bbca SHA512 e22d85f25317a79b36d370347e50284c9120c86f9830f08791b7b6a7b4ad89b9bf4c7c71129133b8d193a0edffb2a2c17987b7e48428b9670aff5ce918777e04
+DIST elfutils-0.191.tar.bz2.sig 310 BLAKE2B 5afee19515a115d4ca6d1e0c4a49eca84bb4b911687492934e939a80ac75b7fcea9b6bf5fc0f2248a4c64ef09bd5af9dfc60c72410cba33b78444c38443ad279 SHA512 ab030739d95d13abb84cf4dc6c5407e51d0bd0bca108e27654a1830371694181a1b6f115fdbb4ae0772390f54f1c4811e5ae26b38fdcfd3275177a3716adfd22
diff --git a/dev-libs/elfutils/elfutils-0.185.ebuild b/dev-libs/elfutils/elfutils-0.185.ebuild
deleted file mode 100644
index 26aeca00e2e8..000000000000
--- a/dev-libs/elfutils/elfutils-0.185.ebuild
+++ /dev/null
@@ -1,95 +0,0 @@
-# Copyright 2003-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit flag-o-matic multilib-minimal
-
-DESCRIPTION="Libraries/utilities to handle ELF objects (drop in replacement for libelf)"
-HOMEPAGE="http://elfutils.org/"
-SRC_URI="https://sourceware.org/elfutils/ftp/${PV}/${P}.tar.bz2"
-SRC_URI+=" https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${PN}-0.185-patches.tar.gz"
-
-LICENSE="|| ( GPL-2+ LGPL-3+ ) utils? ( GPL-3+ )"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux"
-IUSE="bzip2 lzma nls static-libs test +threads +utils valgrind zstd"
-
-RDEPEND=">=sys-libs/zlib-1.2.8-r1[static-libs?,${MULTILIB_USEDEP}]
- bzip2? ( >=app-arch/bzip2-1.0.6-r4[static-libs?,${MULTILIB_USEDEP}] )
- lzma? ( >=app-arch/xz-utils-5.0.5-r1[static-libs?,${MULTILIB_USEDEP}] )
- zstd? ( app-arch/zstd:=[static-libs?,${MULTILIB_USEDEP}] )
- elibc_musl? (
- dev-libs/libbsd
- sys-libs/argp-standalone
- sys-libs/fts-standalone
- sys-libs/obstack-standalone
- )
- !dev-libs/libelf
-"
-DEPEND="${RDEPEND}
- valgrind? ( dev-util/valgrind )
-"
-BDEPEND="nls? ( sys-devel/gettext )
- >=sys-devel/flex-2.5.4a
- sys-devel/m4
-"
-RESTRICT="!test? ( test )"
-
-PATCHES=(
- "${WORKDIR}"/${PN}-0.185-patches/
-)
-
-src_prepare() {
- default
-
- if use elibc_musl; then
- eapply "${WORKDIR}"/${PN}-0.185-patches/musl/
- fi
-
- if ! use static-libs; then
- sed -i -e '/^lib_LIBRARIES/s:=.*:=:' -e '/^%.os/s:%.o$::' lib{asm,dw,elf}/Makefile.in || die
- fi
- # https://sourceware.org/PR23914
- sed -i 's:-Werror::' */Makefile.in || die
-}
-
-src_configure() {
- use test && append-flags -g #407135
-
- # Symbol aliases are implemented as asm statements.
- # Will require porting: https://gcc.gnu.org/PR48200
- filter-flags '-flto*'
-
- multilib-minimal_src_configure
-}
-
-multilib_src_configure() {
- ECONF_SOURCE="${S}" econf \
- $(use_enable nls) \
- $(use_enable threads thread-safety) \
- $(use_enable valgrind) \
- --disable-debuginfod \
- --disable-libdebuginfod \
- --program-prefix="eu-" \
- --with-zlib \
- $(use_with bzip2 bzlib) \
- $(use_with lzma) \
- $(use_with zstd)
-}
-
-multilib_src_test() {
- env LD_LIBRARY_PATH="${BUILD_DIR}/libelf:${BUILD_DIR}/libebl:${BUILD_DIR}/libdw:${BUILD_DIR}/libasm" \
- LC_ALL="C" \
- emake check VERBOSE=1
-}
-
-multilib_src_install_all() {
- einstalldocs
- dodoc NOTES
- # These build quick, and are needed for most tests, so don't
- # disable their building when the USE flag is disabled.
- if ! use utils; then
- rm -rf "${ED}"/usr/bin || die
- fi
-}
diff --git a/dev-libs/elfutils/elfutils-0.186.ebuild b/dev-libs/elfutils/elfutils-0.186.ebuild
deleted file mode 100644
index 1cb034762231..000000000000
--- a/dev-libs/elfutils/elfutils-0.186.ebuild
+++ /dev/null
@@ -1,96 +0,0 @@
-# Copyright 2003-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit flag-o-matic multilib-minimal
-
-DESCRIPTION="Libraries/utilities to handle ELF objects (drop in replacement for libelf)"
-HOMEPAGE="https://elfutils.org/"
-SRC_URI="https://sourceware.org/elfutils/ftp/${PV}/${P}.tar.bz2"
-SRC_URI+=" https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${PN}-0.186-patches.tar.gz"
-
-LICENSE="|| ( GPL-2+ LGPL-3+ ) utils? ( GPL-3+ )"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux"
-IUSE="bzip2 lzma nls static-libs test +threads +utils valgrind zstd"
-
-RDEPEND=">=sys-libs/zlib-1.2.8-r1[static-libs?,${MULTILIB_USEDEP}]
- bzip2? ( >=app-arch/bzip2-1.0.6-r4[static-libs?,${MULTILIB_USEDEP}] )
- lzma? ( >=app-arch/xz-utils-5.0.5-r1[static-libs?,${MULTILIB_USEDEP}] )
- zstd? ( app-arch/zstd:=[static-libs?,${MULTILIB_USEDEP}] )
- elibc_musl? (
- dev-libs/libbsd
- sys-libs/argp-standalone
- sys-libs/fts-standalone
- sys-libs/obstack-standalone
- )
- !dev-libs/libelf
-"
-DEPEND="${RDEPEND}
- valgrind? ( dev-util/valgrind )
-"
-BDEPEND="nls? ( sys-devel/gettext )
- >=sys-devel/flex-2.5.4a
- sys-devel/m4
-"
-RESTRICT="!test? ( test )"
-
-PATCHES=(
- "${WORKDIR}"/${PN}-0.186-patches/
-)
-
-src_prepare() {
- default
-
- if use elibc_musl; then
- eapply "${WORKDIR}"/${PN}-0.186-patches/musl/
- fi
-
- if ! use static-libs; then
- sed -i -e '/^lib_LIBRARIES/s:=.*:=:' -e '/^%.os/s:%.o$::' lib{asm,dw,elf}/Makefile.in || die
- fi
-
- # https://sourceware.org/PR23914
- sed -i 's:-Werror::' */Makefile.in || die
-}
-
-src_configure() {
- use test && append-flags -g #407135
-
- # Symbol aliases are implemented as asm statements.
- # Will require porting: https://gcc.gnu.org/PR48200
- filter-flags '-flto*'
-
- multilib-minimal_src_configure
-}
-
-multilib_src_configure() {
- ECONF_SOURCE="${S}" econf \
- $(use_enable nls) \
- $(use_enable threads thread-safety) \
- $(use_enable valgrind) \
- --disable-debuginfod \
- --disable-libdebuginfod \
- --program-prefix="eu-" \
- --with-zlib \
- $(use_with bzip2 bzlib) \
- $(use_with lzma) \
- $(use_with zstd)
-}
-
-multilib_src_test() {
- env LD_LIBRARY_PATH="${BUILD_DIR}/libelf:${BUILD_DIR}/libebl:${BUILD_DIR}/libdw:${BUILD_DIR}/libasm" \
- LC_ALL="C" \
- emake check VERBOSE=1
-}
-
-multilib_src_install_all() {
- einstalldocs
- dodoc NOTES
- # These build quick, and are needed for most tests, so don't
- # disable their building when the USE flag is disabled.
- if ! use utils; then
- rm -rf "${ED}"/usr/bin || die
- fi
-}
diff --git a/dev-libs/elfutils/elfutils-0.190.ebuild b/dev-libs/elfutils/elfutils-0.190.ebuild
new file mode 100644
index 000000000000..48128a1d751e
--- /dev/null
+++ b/dev-libs/elfutils/elfutils-0.190.ebuild
@@ -0,0 +1,120 @@
+# Copyright 2003-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/elfutils.gpg
+inherit flag-o-matic multilib-minimal verify-sig
+
+DESCRIPTION="Libraries/utilities to handle ELF objects (drop in replacement for libelf)"
+HOMEPAGE="https://sourceware.org/elfutils/"
+SRC_URI="https://sourceware.org/elfutils/ftp/${PV}/${P}.tar.bz2"
+SRC_URI+=" verify-sig? ( https://sourceware.org/elfutils/ftp/${PV}/${P}.tar.bz2.sig )"
+
+LICENSE="|| ( GPL-2+ LGPL-3+ ) utils? ( GPL-3+ )"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux"
+IUSE="bzip2 debuginfod lzma nls static-libs test +utils zstd"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ !dev-libs/libelf
+ >=sys-libs/zlib-1.2.8-r1[static-libs?,${MULTILIB_USEDEP}]
+ bzip2? ( >=app-arch/bzip2-1.0.6-r4[static-libs?,${MULTILIB_USEDEP}] )
+ debuginfod? (
+ app-arch/libarchive:=
+ dev-db/sqlite:3=
+ net-libs/libmicrohttpd:=
+
+ net-misc/curl[static-libs?,${MULTILIB_USEDEP}]
+ )
+ lzma? ( >=app-arch/xz-utils-5.0.5-r1[static-libs?,${MULTILIB_USEDEP}] )
+ zstd? ( app-arch/zstd:=[static-libs?,${MULTILIB_USEDEP}] )
+ elibc_musl? (
+ dev-libs/libbsd
+ sys-libs/argp-standalone
+ sys-libs/fts-standalone
+ sys-libs/obstack-standalone
+ )
+"
+DEPEND="
+ ${RDEPEND}
+"
+BDEPEND="
+ app-alternatives/lex
+ sys-devel/m4
+ virtual/pkgconfig
+ nls? ( sys-devel/gettext )
+ verify-sig? ( sec-keys/openpgp-keys-elfutils )
+"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-0.189-musl-aarch64-regs.patch
+ "${FILESDIR}"/${PN}-0.189-musl-macros.patch
+)
+
+src_prepare() {
+ default
+
+ if ! use static-libs; then
+ sed -i -e '/^lib_LIBRARIES/s:=.*:=:' -e '/^%.os/s:%.o$::' lib{asm,dw,elf}/Makefile.in || die
+ fi
+
+ # https://sourceware.org/PR23914
+ sed -i 's:-Werror::' */Makefile.in || die
+}
+
+src_configure() {
+ # bug #407135
+ use test && append-flags -g
+
+ # bug 660738
+ filter-flags -fno-asynchronous-unwind-tables
+
+ multilib-minimal_src_configure
+}
+
+multilib_src_configure() {
+ local myeconfargs=(
+ $(use_enable nls)
+ $(multilib_native_use_enable debuginfod)
+ $(use_enable debuginfod libdebuginfod)
+
+ # explicitly disable thread safety, it's not recommended by upstream
+ # doesn't build either on musl.
+ --disable-thread-safety
+
+ # Valgrind option is just for running tests under it; dodgy under sandbox
+ # and indeed even w/ glibc with newer instructions.
+ --disable-valgrind
+ --program-prefix="eu-"
+ --with-zlib
+ $(use_with bzip2 bzlib)
+ $(use_with lzma)
+ $(use_with zstd)
+ )
+
+ # Needed because sets alignment macro
+ is-flagq -fsanitize=address && myeconfargs+=( --enable-sanitize-address )
+ is-flagq -fsanitize=undefined && myeconfargs+=( --enable-sanitize-undefined )
+
+ ECONF_SOURCE="${S}" econf "${myeconfargs[@]}"
+}
+
+multilib_src_test() {
+ env LD_LIBRARY_PATH="${BUILD_DIR}/libelf:${BUILD_DIR}/libebl:${BUILD_DIR}/libdw:${BUILD_DIR}/libasm" \
+ LC_ALL="C" \
+ emake check VERBOSE=1
+}
+
+multilib_src_install_all() {
+ einstalldocs
+
+ dodoc NOTES
+
+ # These build quick, and are needed for most tests, so don't
+ # disable their building when the USE flag is disabled.
+ if ! use utils; then
+ rm -rf "${ED}"/usr/bin || die
+ fi
+}
diff --git a/dev-libs/elfutils/elfutils-0.191.ebuild b/dev-libs/elfutils/elfutils-0.191.ebuild
new file mode 100644
index 000000000000..2825aaf9a27c
--- /dev/null
+++ b/dev-libs/elfutils/elfutils-0.191.ebuild
@@ -0,0 +1,120 @@
+# Copyright 2003-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/elfutils.gpg
+inherit flag-o-matic multilib-minimal verify-sig
+
+DESCRIPTION="Libraries/utilities to handle ELF objects (drop in replacement for libelf)"
+HOMEPAGE="https://sourceware.org/elfutils/"
+SRC_URI="https://sourceware.org/elfutils/ftp/${PV}/${P}.tar.bz2"
+SRC_URI+=" verify-sig? ( https://sourceware.org/elfutils/ftp/${PV}/${P}.tar.bz2.sig )"
+
+LICENSE="|| ( GPL-2+ LGPL-3+ ) utils? ( GPL-3+ )"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux"
+IUSE="bzip2 debuginfod lzma nls static-libs test +utils zstd"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ !dev-libs/libelf
+ >=sys-libs/zlib-1.2.8-r1[static-libs?,${MULTILIB_USEDEP}]
+ bzip2? ( >=app-arch/bzip2-1.0.6-r4[static-libs?,${MULTILIB_USEDEP}] )
+ debuginfod? (
+ app-arch/libarchive:=
+ dev-db/sqlite:3=
+ net-libs/libmicrohttpd:=
+
+ net-misc/curl[static-libs?,${MULTILIB_USEDEP}]
+ )
+ lzma? ( >=app-arch/xz-utils-5.0.5-r1[static-libs?,${MULTILIB_USEDEP}] )
+ zstd? ( app-arch/zstd:=[static-libs?,${MULTILIB_USEDEP}] )
+ elibc_musl? (
+ dev-libs/libbsd
+ sys-libs/argp-standalone
+ sys-libs/fts-standalone
+ sys-libs/obstack-standalone
+ )
+"
+DEPEND="
+ ${RDEPEND}
+"
+BDEPEND="
+ app-alternatives/lex
+ sys-devel/m4
+ virtual/pkgconfig
+ nls? ( sys-devel/gettext )
+ verify-sig? ( >=sec-keys/openpgp-keys-elfutils-20240301 )
+"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-0.189-musl-aarch64-regs.patch
+ "${FILESDIR}"/${PN}-0.191-musl-macros.patch
+)
+
+src_prepare() {
+ default
+
+ if ! use static-libs; then
+ sed -i -e '/^lib_LIBRARIES/s:=.*:=:' -e '/^%.os/s:%.o$::' lib{asm,dw,elf}/Makefile.in || die
+ fi
+
+ # https://sourceware.org/PR23914
+ sed -i 's:-Werror::' */Makefile.in || die
+}
+
+src_configure() {
+ # bug #407135
+ use test && append-flags -g
+
+ # bug 660738
+ filter-flags -fno-asynchronous-unwind-tables
+
+ multilib-minimal_src_configure
+}
+
+multilib_src_configure() {
+ local myeconfargs=(
+ $(use_enable nls)
+ $(multilib_native_use_enable debuginfod)
+ $(use_enable debuginfod libdebuginfod)
+
+ # explicitly disable thread safety, it's not recommended by upstream
+ # doesn't build either on musl.
+ --disable-thread-safety
+
+ # Valgrind option is just for running tests under it; dodgy under sandbox
+ # and indeed even w/ glibc with newer instructions.
+ --disable-valgrind
+ --program-prefix="eu-"
+ --with-zlib
+ $(use_with bzip2 bzlib)
+ $(use_with lzma)
+ $(use_with zstd)
+ )
+
+ # Needed because sets alignment macro
+ is-flagq -fsanitize=address && myeconfargs+=( --enable-sanitize-address )
+ is-flagq -fsanitize=undefined && myeconfargs+=( --enable-sanitize-undefined )
+
+ ECONF_SOURCE="${S}" econf "${myeconfargs[@]}"
+}
+
+multilib_src_test() {
+ env LD_LIBRARY_PATH="${BUILD_DIR}/libelf:${BUILD_DIR}/libebl:${BUILD_DIR}/libdw:${BUILD_DIR}/libasm" \
+ LC_ALL="C" \
+ emake check VERBOSE=1
+}
+
+multilib_src_install_all() {
+ einstalldocs
+
+ dodoc NOTES
+
+ # These build quick, and are needed for most tests, so don't
+ # disable their building when the USE flag is disabled.
+ if ! use utils; then
+ rm -rf "${ED}"/usr/bin || die
+ fi
+}
diff --git a/dev-libs/elfutils/files/elfutils-0.189-musl-aarch64-regs.patch b/dev-libs/elfutils/files/elfutils-0.189-musl-aarch64-regs.patch
new file mode 100644
index 000000000000..222c0527b689
--- /dev/null
+++ b/dev-libs/elfutils/files/elfutils-0.189-musl-aarch64-regs.patch
@@ -0,0 +1,57 @@
+https://www.sourceware.org/bugzilla/show_bug.cgi?id=25832
+https://cgit.openembedded.org/openembedded-core/plain/meta/recipes-devtools/elfutils/files/0006-Fix-build-on-aarch64-musl.patch
+https://bugs.gentoo.org/693772
+
+Other variants/links:
+https://git.alpinelinux.org/aports/tree/main/elfutils/fix-aarch64_fregs.patch
+https://github.com/gentoo/musl/blob/6450482b9b4463b57ac249c63b7ed796e9874c40/dev-libs/elfutils/files/0.178/fix-aarch64_fregs.patch
+
+From: Hongxu Jia <hongxu.jia@windriver.com>
+Date: Tue, 15 Aug 2017 17:27:30 +0800
+Subject: [PATCH] Fix build on aarch64/musl
+
+Errors
+
+invalid operands to binary & (have 'long double' and 'unsigned int')
+
+error: redefinition
+ of 'struct iovec'
+ struct iovec { void *iov_base; size_t iov_len; };
+ ^
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+Rebase to 0.170
+Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
+
+--- a/backends/aarch64_initreg.c
++++ b/backends/aarch64_initreg.c
+@@ -33,7 +33,7 @@
+ #include "system.h"
+ #include <assert.h>
+ #if defined(__aarch64__) && defined(__linux__)
+-# include <linux/uio.h>
++# include <sys/uio.h>
+ # include <sys/user.h>
+ # include <sys/ptrace.h>
+ /* Deal with old glibc defining user_pt_regs instead of user_regs_struct. */
+@@ -82,7 +82,7 @@ aarch64_set_initial_registers_tid (pid_t tid __attribute__ ((unused)),
+
+ Dwarf_Word dwarf_fregs[32];
+ for (int r = 0; r < 32; r++)
+- dwarf_fregs[r] = fregs.vregs[r] & 0xFFFFFFFF;
++ dwarf_fregs[r] = (unsigned int)fregs.vregs[r] & 0xFFFFFFFF;
+
+ if (! setfunc (64, 32, dwarf_fregs, arg))
+ return false;
+--- a/backends/arm_initreg.c
++++ b/backends/arm_initreg.c
+@@ -38,7 +38,7 @@
+ #endif
+
+ #ifdef __aarch64__
+-# include <linux/uio.h>
++# include <sys/uio.h>
+ # include <sys/user.h>
+ # include <sys/ptrace.h>
+ /* Deal with old glibc defining user_pt_regs instead of user_regs_struct. */
diff --git a/dev-libs/elfutils/files/elfutils-0.189-musl-macros.patch b/dev-libs/elfutils/files/elfutils-0.189-musl-macros.patch
new file mode 100644
index 000000000000..97c6c1dcd62e
--- /dev/null
+++ b/dev-libs/elfutils/files/elfutils-0.189-musl-macros.patch
@@ -0,0 +1,86 @@
+May not be required (or at least some hunks) with next release (0.186?)
+
+https://git.alpinelinux.org/aports/plain/main/elfutils/musl-macros.patch
+--- a/lib/libeu.h
++++ b/lib/libeu.h
+@@ -31,6 +31,27 @@
+
+ #include <stddef.h>
+ #include <stdint.h>
++#include <unistd.h>
++#include <alloca.h>
++#include <string.h>
++
++#ifndef TEMP_FAILURE_RETRY
++#define TEMP_FAILURE_RETRY(expression) \
++ (__extension__ \
++ ({ long int __result; \
++ do __result = (long int) (expression); \
++ while (__result == -1L && errno == EINTR); \
++ __result; }))
++#endif
++
++#ifndef strndupa
++#define strndupa(s, n) \
++ (__extension__ ({const char *__in = (s); \
++ size_t __len = strnlen (__in, (n)) + 1; \
++ char *__out = (char *) alloca (__len); \
++ __out[__len-1] = '\0'; \
++ (char *) memcpy (__out, __in, __len-1);}))
++#endif
+
+ extern void *xmalloc (size_t) __attribute__ ((__malloc__));
+ extern void *xcalloc (size_t, size_t) __attribute__ ((__malloc__));
+--- a/src/arlib.h
++++ b/src/arlib.h
+@@ -29,6 +29,16 @@
+ #include <stdint.h>
+ #include <sys/types.h>
+
++#if !defined(ACCESSPERMS)
++# define ACCESSPERMS (S_IRWXU|S_IRWXG|S_IRWXO) /* 0777 */
++#endif
++#if !defined(ALLPERMS)
++# define ALLPERMS (S_ISUID|S_ISGID|S_ISVTX|S_IRWXU|S_IRWXG|S_IRWXO) /* 07777 */
++#endif
++#if !defined(DEFFILEMODE)
++# define DEFFILEMODE (S_IRUSR|S_IWUSR|S_IRGRP|S_IWGRP|S_IROTH|S_IWOTH)/* 0666*/
++#endif
++
+
+ /* State of -D/-U flags. */
+ extern bool arlib_deterministic_output;
+--- a/src/elfcompress.c
++++ b/src/elfcompress.c
+@@ -37,6 +37,14 @@
+ #include "libeu.h"
+ #include "printversion.h"
+
++#if !defined(FNM_EXTMATCH)
++# define FNM_EXTMATCH 0
++#endif
++
++#if !defined(ALLPERMS)
++# define ALLPERMS (S_ISUID|S_ISGID|S_ISVTX|S_IRWXU|S_IRWXG|S_IRWXO) /* 07777 */
++#endif
++
+ /* Name and version of program. */
+ ARGP_PROGRAM_VERSION_HOOK_DEF = print_version;
+
+--- a/src/strip.c
++++ b/src/strip.c
+@@ -45,6 +45,14 @@
+ #include <system.h>
+ #include <printversion.h>
+
++#if !defined(FNM_EXTMATCH)
++# define FNM_EXTMATCH 0
++#endif
++
++#if !defined(ACCESSPERMS)
++#define ACCESSPERMS (S_IRWXU|S_IRWXG|S_IRWXO)
++#endif
++
+ typedef uint8_t GElf_Byte;
+
+ /* Name and version of program. */
diff --git a/dev-libs/elfutils/files/elfutils-0.191-musl-macros.patch b/dev-libs/elfutils/files/elfutils-0.191-musl-macros.patch
new file mode 100644
index 000000000000..6e0912c5ce9a
--- /dev/null
+++ b/dev-libs/elfutils/files/elfutils-0.191-musl-macros.patch
@@ -0,0 +1,14 @@
+https://git.alpinelinux.org/aports/plain/main/elfutils/musl-macros.patch
+--- a/lib/system.h
++++ b/lib/system.h
+@@ -56,6 +56,10 @@ void error(int status, int errnum, const char *format, ...);
+ #error "err.h or error.h must be available"
+ #endif
+
++#if !defined(FNM_EXTMATCH)
++# define FNM_EXTMATCH 0
++#endif
++
+ /* error (EXIT_FAILURE, ...) should be noreturn but on some systems it
+ isn't. This may cause warnings about code that should not be reachable.
+ So have an explicit error_exit wrapper that is noreturn (because it
diff --git a/dev-libs/elfutils/metadata.xml b/dev-libs/elfutils/metadata.xml
index a420f7e0a9e6..05def2bfd0b3 100644
--- a/dev-libs/elfutils/metadata.xml
+++ b/dev-libs/elfutils/metadata.xml
@@ -7,9 +7,8 @@
</maintainer>
<use>
<flag name="lzma">Support automatic decompression of LZMA-compressed files and kernel images</flag>
- <flag name="threads">Build the libraries with thread safe support</flag>
<flag name="utils">Install command-line utilities (all the eu-* programs)</flag>
- <flag name="valgrind">Add support for memory debugging using <pkg>dev-util/valgrind</pkg></flag>
+ <flag name="debuginfod">Enable debuginfod support, both the debuginfod server and the libdebuginfod client library</flag>
</use>
<upstream>
<remote-id type="cpe">cpe:/a:elfutils_project:elfutils</remote-id>
diff --git a/dev-libs/ell/Manifest b/dev-libs/ell/Manifest
index b38ecba57e59..00e0106f2d9e 100644
--- a/dev-libs/ell/Manifest
+++ b/dev-libs/ell/Manifest
@@ -1,3 +1,2 @@
-DIST ell-0.46.tar.xz 531420 BLAKE2B aea36c7faf75bdc282805e4c003877cfe3fc8ff31fcb1ec85a666481b5d574091876b5021259797411d102d7ae6057a79a600e89fa34da038d44863a840db78a SHA512 20a25dbcb7c93a7c29a87cd07ab6124d0915d382f588e2a808e3f7e330d00a6769f40d91264d505408eeae3c6d07ce3917e04d843b4d04c73cc7c9f01395ecc4
-DIST ell-0.47.tar.xz 531432 BLAKE2B 74c4a9d40f42eca3b105fa2433b3c8472df24bb185dacfba8f4978edeac79b94a1c7ef3c009eed3a3303125e7f3f26e08e046ebb1d913870d4f298806dc34119 SHA512 103708ea625d8eb63e5a662fc7fdd0f59cd3610c4d6de7ac2cceef89e30f8896d14a7b756047a3b046035544bcf80992aec786f06678047895cf0e3c791b8daa
-DIST ell-0.48.tar.xz 528916 BLAKE2B 3ab2a90afdedd0ebc8ac0efd69f52189a93f408db7b35e3a1a85e72ebe5884ed0c833ff1835b390925a406147d207b99328388f09124c34b935fc84f33e93339 SHA512 481b94c0aac91f26c9e618db2590f132265c07460e86c443ecac033a78566ce0e86a7c8f0ab7b2a954073ebbe66ed0303281776b82f751fa2b4d3aaf40e55dc2
+DIST ell-0.62.tar.xz 567188 BLAKE2B f7539c5f6eac6150d10b317ec5c5296e2005130c34e43c60cb1ac758fd629b00de81da6ff816031c486986732a707e81eb71ec3dd9dbfafd1e7af53ffd73eca1 SHA512 f0019cddba737879f2567b0295ec4cdf8589b989fdaba70a885253140f742e67e33abfe25fabbf8ecfd5c61336ec9cfe359193e0579b9120a66b13e9593beabf
+DIST ell-0.64.tar.xz 567908 BLAKE2B 8f49441b0775626170a682d88c704292d2141fa7ad6427e410f96f0d863d60298178c4216194c575b83db1dc4c067665fdb89eb6af4afb17a93d1b47c0bcc2ab SHA512 21035965b6c9d5fced834b8ff232e3c2113ed2061c9e07a2e1a2acddd964e861dfa25d115b8a367e5c980ba7e356a557b750e1abd3f19bcc4456840157114928
diff --git a/dev-libs/ell/ell-0.46.ebuild b/dev-libs/ell/ell-0.46.ebuild
deleted file mode 100644
index 21c528b64073..000000000000
--- a/dev-libs/ell/ell-0.46.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
-
-inherit flag-o-matic linux-info multilib-minimal
-
-DESCRIPTION="Embedded Linux Library provides core, low-level functionality for system daemons"
-HOMEPAGE="https://01.org/ell"
-if [[ "${PV}" == *9999 ]] ; then
- inherit autotools git-r3
- EGIT_REPO_URI="https://git.kernel.org/pub/scm/libs/ell/ell.git"
-else
- SRC_URI="https://mirrors.edge.kernel.org/pub/linux/libs/${PN}/${P}.tar.xz"
- KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ppc ppc64 ~riscv ~sparc x86"
-fi
-LICENSE="LGPL-2.1"
-SLOT="0"
-
-IUSE="pie test"
-RESTRICT="!test? ( test )"
-
-RDEPEND=""
-DEPEND="test? ( sys-apps/dbus )"
-
-CONFIG_CHECK="
- ~TIMERFD
- ~EVENTFD
- ~CRYPTO_USER_API
- ~CRYPTO_USER_API_HASH
- ~CRYPTO_MD5
- ~CRYPTO_SHA1
- ~KEY_DH_OPERATIONS
-"
-
-src_prepare() {
- default
- [[ "${PV}" == *9999 ]] && eautoreconf
-}
-
-multilib_src_configure() {
- append-cflags "-fsigned-char" #662694
- local myeconfargs=(
- $(use_enable pie)
- )
- ECONF_SOURCE="${S}" econf "${myeconfargs[@]}"
-}
-
-multilib_src_install_all() {
- local DOCS=( ChangeLog README )
- einstalldocs
-
- find "${ED}" -name "*.la" -delete || die
-}
diff --git a/dev-libs/ell/ell-0.47.ebuild b/dev-libs/ell/ell-0.47.ebuild
deleted file mode 100644
index 56c48e4f83d1..000000000000
--- a/dev-libs/ell/ell-0.47.ebuild
+++ /dev/null
@@ -1,54 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit flag-o-matic linux-info multilib-minimal
-
-DESCRIPTION="Embedded Linux Library provides core, low-level functionality for system daemons"
-HOMEPAGE="https://01.org/ell"
-if [[ "${PV}" == *9999 ]] ; then
- inherit autotools git-r3
- EGIT_REPO_URI="https://git.kernel.org/pub/scm/libs/ell/ell.git"
-else
- SRC_URI="https://mirrors.edge.kernel.org/pub/linux/libs/${PN}/${P}.tar.xz"
- KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86"
-fi
-LICENSE="LGPL-2.1"
-SLOT="0"
-
-IUSE="pie test"
-RESTRICT="!test? ( test )"
-
-RDEPEND=""
-DEPEND="test? ( sys-apps/dbus )"
-
-CONFIG_CHECK="
- ~TIMERFD
- ~EVENTFD
- ~CRYPTO_USER_API
- ~CRYPTO_USER_API_HASH
- ~CRYPTO_MD5
- ~CRYPTO_SHA1
- ~KEY_DH_OPERATIONS
-"
-
-src_prepare() {
- default
- [[ "${PV}" == *9999 ]] && eautoreconf
-}
-
-multilib_src_configure() {
- append-cflags "-fsigned-char" #662694
- local myeconfargs=(
- $(use_enable pie)
- )
- ECONF_SOURCE="${S}" econf "${myeconfargs[@]}"
-}
-
-multilib_src_install_all() {
- local DOCS=( ChangeLog README )
- einstalldocs
-
- find "${ED}" -name "*.la" -delete || die
-}
diff --git a/dev-libs/ell/ell-0.48.ebuild b/dev-libs/ell/ell-0.48.ebuild
deleted file mode 100644
index 56c48e4f83d1..000000000000
--- a/dev-libs/ell/ell-0.48.ebuild
+++ /dev/null
@@ -1,54 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit flag-o-matic linux-info multilib-minimal
-
-DESCRIPTION="Embedded Linux Library provides core, low-level functionality for system daemons"
-HOMEPAGE="https://01.org/ell"
-if [[ "${PV}" == *9999 ]] ; then
- inherit autotools git-r3
- EGIT_REPO_URI="https://git.kernel.org/pub/scm/libs/ell/ell.git"
-else
- SRC_URI="https://mirrors.edge.kernel.org/pub/linux/libs/${PN}/${P}.tar.xz"
- KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86"
-fi
-LICENSE="LGPL-2.1"
-SLOT="0"
-
-IUSE="pie test"
-RESTRICT="!test? ( test )"
-
-RDEPEND=""
-DEPEND="test? ( sys-apps/dbus )"
-
-CONFIG_CHECK="
- ~TIMERFD
- ~EVENTFD
- ~CRYPTO_USER_API
- ~CRYPTO_USER_API_HASH
- ~CRYPTO_MD5
- ~CRYPTO_SHA1
- ~KEY_DH_OPERATIONS
-"
-
-src_prepare() {
- default
- [[ "${PV}" == *9999 ]] && eautoreconf
-}
-
-multilib_src_configure() {
- append-cflags "-fsigned-char" #662694
- local myeconfargs=(
- $(use_enable pie)
- )
- ECONF_SOURCE="${S}" econf "${myeconfargs[@]}"
-}
-
-multilib_src_install_all() {
- local DOCS=( ChangeLog README )
- einstalldocs
-
- find "${ED}" -name "*.la" -delete || die
-}
diff --git a/dev-libs/ell/ell-0.62.ebuild b/dev-libs/ell/ell-0.62.ebuild
new file mode 100644
index 000000000000..aaabc3bdf016
--- /dev/null
+++ b/dev-libs/ell/ell-0.62.ebuild
@@ -0,0 +1,54 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit flag-o-matic linux-info
+
+DESCRIPTION="Embedded Linux Library provides core, low-level functionality for system daemons"
+HOMEPAGE="https://git.kernel.org/pub/scm/libs/ell/ell.git"
+if [[ "${PV}" == *9999 ]] ; then
+ inherit autotools git-r3
+ EGIT_REPO_URI="https://git.kernel.org/pub/scm/libs/ell/ell.git"
+else
+ SRC_URI="https://mirrors.edge.kernel.org/pub/linux/libs/${PN}/${P}.tar.xz"
+ KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~sparc x86"
+fi
+LICENSE="LGPL-2.1+"
+SLOT="0"
+
+IUSE="pie test"
+RESTRICT="!test? ( test )"
+
+DEPEND="test? ( sys-apps/dbus )"
+
+CONFIG_CHECK="
+ ~TIMERFD
+ ~EVENTFD
+ ~CRYPTO_USER_API
+ ~CRYPTO_USER_API_HASH
+ ~CRYPTO_MD5
+ ~CRYPTO_SHA1
+ ~KEY_DH_OPERATIONS
+"
+
+src_prepare() {
+ default
+ sed -i -e "s#/tmp/ell-test-bus#/tmp/ell-test-bus-$(uuidgen)#" \
+ unit/test-dbus*.c unit/dbus.conf || die
+ [[ "${PV}" == *9999 ]] && eautoreconf
+}
+
+src_configure() {
+ append-cflags "-fsigned-char" #662694
+ local myeconfargs=(
+ $(use_enable pie)
+ )
+ econf "${myeconfargs[@]}"
+}
+
+src_install() {
+ default
+
+ find "${ED}" -name "*.la" -delete || die
+}
diff --git a/dev-libs/ell/ell-0.64.ebuild b/dev-libs/ell/ell-0.64.ebuild
new file mode 100644
index 000000000000..966be50f1a4d
--- /dev/null
+++ b/dev-libs/ell/ell-0.64.ebuild
@@ -0,0 +1,54 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit flag-o-matic linux-info
+
+DESCRIPTION="Embedded Linux Library provides core, low-level functionality for system daemons"
+HOMEPAGE="https://git.kernel.org/pub/scm/libs/ell/ell.git"
+if [[ "${PV}" == *9999 ]] ; then
+ inherit autotools git-r3
+ EGIT_REPO_URI="https://git.kernel.org/pub/scm/libs/ell/ell.git"
+else
+ SRC_URI="https://mirrors.edge.kernel.org/pub/linux/libs/${PN}/${P}.tar.xz"
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86"
+fi
+LICENSE="LGPL-2.1+"
+SLOT="0"
+
+IUSE="pie test"
+RESTRICT="!test? ( test )"
+
+DEPEND="test? ( sys-apps/dbus )"
+
+CONFIG_CHECK="
+ ~TIMERFD
+ ~EVENTFD
+ ~CRYPTO_USER_API
+ ~CRYPTO_USER_API_HASH
+ ~CRYPTO_MD5
+ ~CRYPTO_SHA1
+ ~KEY_DH_OPERATIONS
+"
+
+src_prepare() {
+ default
+ sed -i -e "s#/tmp/ell-test-bus#/tmp/ell-test-bus-$(uuidgen)#" \
+ unit/test-dbus*.c unit/dbus.conf || die
+ [[ "${PV}" == *9999 ]] && eautoreconf
+}
+
+src_configure() {
+ append-cflags "-fsigned-char" #662694
+ local myeconfargs=(
+ $(use_enable pie)
+ )
+ econf "${myeconfargs[@]}"
+}
+
+src_install() {
+ default
+
+ find "${ED}" -name "*.la" -delete || die
+}
diff --git a/dev-libs/ell/ell-9999.ebuild b/dev-libs/ell/ell-9999.ebuild
index 56c48e4f83d1..367a5a212600 100644
--- a/dev-libs/ell/ell-9999.ebuild
+++ b/dev-libs/ell/ell-9999.ebuild
@@ -1,26 +1,25 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
-inherit flag-o-matic linux-info multilib-minimal
+inherit flag-o-matic linux-info
DESCRIPTION="Embedded Linux Library provides core, low-level functionality for system daemons"
-HOMEPAGE="https://01.org/ell"
+HOMEPAGE="https://git.kernel.org/pub/scm/libs/ell/ell.git"
if [[ "${PV}" == *9999 ]] ; then
inherit autotools git-r3
EGIT_REPO_URI="https://git.kernel.org/pub/scm/libs/ell/ell.git"
else
SRC_URI="https://mirrors.edge.kernel.org/pub/linux/libs/${PN}/${P}.tar.xz"
- KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86"
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86"
fi
-LICENSE="LGPL-2.1"
+LICENSE="LGPL-2.1+"
SLOT="0"
IUSE="pie test"
RESTRICT="!test? ( test )"
-RDEPEND=""
DEPEND="test? ( sys-apps/dbus )"
CONFIG_CHECK="
@@ -35,20 +34,21 @@ CONFIG_CHECK="
src_prepare() {
default
+ sed -i -e "s#/tmp/ell-test-bus#/tmp/ell-test-bus-$(uuidgen)#" \
+ unit/test-dbus*.c unit/dbus.conf || die
[[ "${PV}" == *9999 ]] && eautoreconf
}
-multilib_src_configure() {
+src_configure() {
append-cflags "-fsigned-char" #662694
local myeconfargs=(
$(use_enable pie)
)
- ECONF_SOURCE="${S}" econf "${myeconfargs[@]}"
+ econf "${myeconfargs[@]}"
}
-multilib_src_install_all() {
- local DOCS=( ChangeLog README )
- einstalldocs
+src_install() {
+ default
find "${ED}" -name "*.la" -delete || die
}
diff --git a/dev-libs/eventlog/eventlog-0.2.12.ebuild b/dev-libs/eventlog/eventlog-0.2.12.ebuild
index 528c481f39e5..63c44c31efbd 100644
--- a/dev-libs/eventlog/eventlog-0.2.12.ebuild
+++ b/dev-libs/eventlog/eventlog-0.2.12.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
@@ -7,7 +7,7 @@ inherit libtool
DESCRIPTION="Support library for syslog-ng"
HOMEPAGE="http://www.balabit.com/products/syslog_ng/"
-SRC_URI="http://www.balabit.com/downloads/files/eventlog/0.2//eventlog_${PV}.tar.gz"
+SRC_URI="http://www.balabit.com/downloads/files/eventlog/$(ver_cut 1-2)/eventlog_${PV}.tar.gz"
LICENSE="BSD"
SLOT="0"
diff --git a/dev-libs/expat/Manifest b/dev-libs/expat/Manifest
index 6c2601c3fde7..d78c6592adc9 100644
--- a/dev-libs/expat/Manifest
+++ b/dev-libs/expat/Manifest
@@ -1 +1,4 @@
-DIST expat-2.4.3.tar.xz 451012 BLAKE2B 4c0200837ea0054a88d2a2606486482f234e4b4f6b5f16134bf2a4b7b61457b12d534c6be3f16d28f6926f896d00177ef53a947a0a6c3ad11ff024a8e76edf84 SHA512 62a7fe751f6846deec4b04fd2c2ca8ed9e139fa27cda0e3fe7f8f05107caaed70597aed17b45c49d30a60c8a0c6beae1317dd5f24240640310951aabb16dbcb7
+DIST expat-2.5.0.tar.xz 460560 BLAKE2B 670298d076ff3b512a0212170d40cb04c601a11d6b152f215a5302ad3238c69c2386393d7a6c70bc284be35ce97bf27d87115c3391f4bc17406e509d739d3e31 SHA512 2da73b991b7c0c54440485c787e5edeb3567230204e31b3cac1c3a6713ec6f9f1554d3afffc0f8336168dfd5df02db4a69bcf21b4d959723d14162d13ab87516
+DIST expat-2.6.0.tar.xz 483448 BLAKE2B 2f0117317bde4e03d8662bcac1ff6c2bbb1af694846b21a82ac12d11ccd43032b481af72fa35298c3cb19b7426dba6a67e703904ca7b05663ffd854a42348bd0 SHA512 d6f1c4a1a2ec8ffc04c04d6767cc8dd7dea3d132d10b8a2c45c5bfb405893c75db032b87a56cc88300b61c961dd7f9782b93aa74dddc7e66f25acb0c6c82b1fd
+DIST expat-2.6.1.tar.xz 484000 BLAKE2B 21a177ae8d70ca1bf41cae75c299a3021a9fc1b9d5eb01eb2945b16d7b24dcbeabad855379bdd8a14de804e1a1648105ce03b505f68c2beb4096a81020e35848 SHA512 fcd7e04e9411799c48b7d08ea07808a0809d034453a0649d9a79ed09000f1a11e5082a034089fc0c0acd2789e85bdf1deb2a94d8e3e33791bbfed66ce7207bcc
+DIST expat-2.6.2.tar.xz 485236 BLAKE2B aae019270e1ab233fe8480b7eaa77f648f23ef3383dc772dc946cb13163067431716dc5446862eb502315fd089f2f52f3d476589b74a97e462575cd54df44db4 SHA512 47b60967d6346d330dded87ea1a2957aa7d34dd825043386a89aa131054714f618ede57bfe97cf6caa40582a4bc67e198d2a915e7d8dbe8ee4f581857c2e3c2e
diff --git a/dev-libs/expat/expat-2.4.3.ebuild b/dev-libs/expat/expat-2.4.3.ebuild
deleted file mode 100644
index 8db61e9898d3..000000000000
--- a/dev-libs/expat/expat-2.4.3.ebuild
+++ /dev/null
@@ -1,94 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-AUTOTOOLS_AUTO_DEPEND=no
-AT_NOEAUTOHEADER=yes # because expat_config.h.in would need post-processing
-inherit autotools multilib-minimal
-
-DESCRIPTION="Stream-oriented XML parser library"
-HOMEPAGE="https://libexpat.github.io/"
-SRC_URI="https://github.com/libexpat/libexpat/releases/download/R_${PV//\./_}/expat-${PV}.tar.xz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris ~x86-winnt"
-IUSE="examples static-libs unicode"
-BDEPEND="unicode? ( ${AUTOTOOLS_DEPEND} )"
-
-DOCS=( README.md )
-
-src_prepare() {
- default
-
- # fix interpreter to be a recent/good shell
- sed -i -e "1s:/bin/sh:${BASH}:" conftools/get-version.sh || die
- if use unicode; then
- cp -R "${S}" "${S}"w || die
- pushd "${S}"w >/dev/null
- find -name Makefile.am \
- -exec sed \
- -e 's,libexpat\.la,libexpatw.la,' \
- -e 's,libexpat_la,libexpatw_la,' \
- -i {} + || die
- eautoreconf
- popd >/dev/null
- fi
-}
-
-multilib_src_configure() {
- local myconf="$(use_enable static-libs static) --without-docbook"
-
- mkdir -p "${BUILD_DIR}"w || die
-
- if use unicode; then
- pushd "${BUILD_DIR}"w >/dev/null
- CPPFLAGS="${CPPFLAGS} -DXML_UNICODE" ECONF_SOURCE="${S}"w econf ${myconf}
- popd >/dev/null
- fi
-
- ECONF_SOURCE="${S}" econf ${myconf}
-}
-
-multilib_src_compile() {
- emake
-
- if use unicode; then
- pushd "${BUILD_DIR}"w >/dev/null
- emake -C lib
- popd >/dev/null
- fi
-}
-
-multilib_src_install() {
- emake install DESTDIR="${D}"
-
- if use unicode; then
- pushd "${BUILD_DIR}"w >/dev/null
- emake -C lib install DESTDIR="${D}"
- popd >/dev/null
-
- pushd "${ED}"/usr/$(get_libdir)/pkgconfig >/dev/null
- cp expat.pc expatw.pc
- sed -i -e '/^Libs/s:-lexpat:&w:' expatw.pc || die
- popd >/dev/null
- fi
-}
-
-multilib_src_install_all() {
- einstalldocs
-
- doman doc/xmlwf.1
-
- # Note: Use of HTML_DOCS would add unwanted "doc" subfolder
- docinto html
- dodoc doc/*.{css,html}
-
- if use examples; then
- docinto examples
- dodoc examples/*.c
- docompress -x usr/share/doc/${PF}/examples
- fi
-
- find "${D}" -name '*.la' -type f -delete || die
-}
diff --git a/dev-libs/expat/expat-2.5.0.ebuild b/dev-libs/expat/expat-2.5.0.ebuild
new file mode 100644
index 000000000000..16e5df511891
--- /dev/null
+++ b/dev-libs/expat/expat-2.5.0.ebuild
@@ -0,0 +1,95 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+AUTOTOOLS_AUTO_DEPEND=no
+AT_NOEAUTOHEADER=yes # because expat_config.h.in would need post-processing
+inherit autotools multilib-minimal
+
+DESCRIPTION="Stream-oriented XML parser library"
+HOMEPAGE="https://libexpat.github.io/"
+SRC_URI="https://github.com/libexpat/libexpat/releases/download/R_${PV//\./_}/expat-${PV}.tar.xz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+IUSE="examples static-libs test unicode"
+RESTRICT="!test? ( test )"
+BDEPEND="unicode? ( ${AUTOTOOLS_DEPEND} )"
+
+DOCS=( README.md )
+
+src_prepare() {
+ default
+
+ # fix interpreter to be a recent/good shell
+ sed -i -e "1s:/bin/sh:${BASH}:" conftools/get-version.sh || die
+ if use unicode; then
+ cp -R "${S}" "${S}"w || die
+ pushd "${S}"w >/dev/null
+ find -name Makefile.am \
+ -exec sed \
+ -e 's,libexpat\.la,libexpatw.la,' \
+ -e 's,libexpat_la,libexpatw_la,' \
+ -i {} + || die
+ eautoreconf
+ popd >/dev/null
+ fi
+}
+
+multilib_src_configure() {
+ local myconf="$(use_with test tests) $(use_enable static-libs static) --without-docbook"
+
+ mkdir -p "${BUILD_DIR}"w || die
+
+ if use unicode; then
+ pushd "${BUILD_DIR}"w >/dev/null
+ CPPFLAGS="${CPPFLAGS} -DXML_UNICODE" ECONF_SOURCE="${S}"w econf ${myconf}
+ popd >/dev/null
+ fi
+
+ ECONF_SOURCE="${S}" econf ${myconf}
+}
+
+multilib_src_compile() {
+ emake
+
+ if use unicode; then
+ pushd "${BUILD_DIR}"w >/dev/null
+ emake -C lib
+ popd >/dev/null
+ fi
+}
+
+multilib_src_install() {
+ emake install DESTDIR="${D}"
+
+ if use unicode; then
+ pushd "${BUILD_DIR}"w >/dev/null
+ emake -C lib install DESTDIR="${D}"
+ popd >/dev/null
+
+ pushd "${ED}"/usr/$(get_libdir)/pkgconfig >/dev/null
+ cp expat.pc expatw.pc
+ sed -i -e '/^Libs/s:-lexpat:&w:' expatw.pc || die
+ popd >/dev/null
+ fi
+}
+
+multilib_src_install_all() {
+ einstalldocs
+
+ doman doc/xmlwf.1
+
+ # Note: Use of HTML_DOCS would add unwanted "doc" subfolder
+ docinto html
+ dodoc doc/*.{css,html}
+
+ if use examples; then
+ docinto examples
+ dodoc examples/*.c
+ docompress -x usr/share/doc/${PF}/examples
+ fi
+
+ find "${D}" -name '*.la' -type f -delete || die
+}
diff --git a/dev-libs/expat/expat-2.6.0.ebuild b/dev-libs/expat/expat-2.6.0.ebuild
new file mode 100644
index 000000000000..62135af6a17a
--- /dev/null
+++ b/dev-libs/expat/expat-2.6.0.ebuild
@@ -0,0 +1,95 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+AUTOTOOLS_AUTO_DEPEND=no
+AT_NOEAUTOHEADER=yes # because expat_config.h.in would need post-processing
+inherit autotools multilib-minimal
+
+DESCRIPTION="Stream-oriented XML parser library"
+HOMEPAGE="https://libexpat.github.io/"
+SRC_URI="https://github.com/libexpat/libexpat/releases/download/R_${PV//\./_}/expat-${PV}.tar.xz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+IUSE="examples static-libs test unicode"
+RESTRICT="!test? ( test )"
+BDEPEND="unicode? ( ${AUTOTOOLS_DEPEND} )"
+
+DOCS=( README.md )
+
+src_prepare() {
+ default
+
+ # fix interpreter to be a recent/good shell
+ sed -i -e "1s:/bin/sh:${BASH}:" conftools/get-version.sh || die
+ if use unicode; then
+ cp -R "${S}" "${S}"w || die
+ pushd "${S}"w >/dev/null
+ find -name Makefile.am \
+ -exec sed \
+ -e 's,libexpat\.la,libexpatw.la,' \
+ -e 's,libexpat_la,libexpatw_la,' \
+ -i {} + || die
+ eautoreconf
+ popd >/dev/null
+ fi
+}
+
+multilib_src_configure() {
+ local myconf="$(use_with test tests) $(use_enable static-libs static) --without-docbook"
+
+ mkdir -p "${BUILD_DIR}"w || die
+
+ if use unicode; then
+ pushd "${BUILD_DIR}"w >/dev/null
+ CPPFLAGS="${CPPFLAGS} -DXML_UNICODE" ECONF_SOURCE="${S}"w econf ${myconf}
+ popd >/dev/null
+ fi
+
+ ECONF_SOURCE="${S}" econf ${myconf}
+}
+
+multilib_src_compile() {
+ emake
+
+ if use unicode; then
+ pushd "${BUILD_DIR}"w >/dev/null
+ emake -C lib
+ popd >/dev/null
+ fi
+}
+
+multilib_src_install() {
+ emake install DESTDIR="${D}"
+
+ if use unicode; then
+ pushd "${BUILD_DIR}"w >/dev/null
+ emake -C lib install DESTDIR="${D}"
+ popd >/dev/null
+
+ pushd "${ED}"/usr/$(get_libdir)/pkgconfig >/dev/null
+ cp expat.pc expatw.pc
+ sed -i -e '/^Libs/s:-lexpat:&w:' expatw.pc || die
+ popd >/dev/null
+ fi
+}
+
+multilib_src_install_all() {
+ einstalldocs
+
+ doman doc/xmlwf.1
+
+ # Note: Use of HTML_DOCS would add unwanted "doc" subfolder
+ docinto html
+ dodoc doc/*.{css,html}
+
+ if use examples; then
+ docinto examples
+ dodoc examples/*.c
+ docompress -x usr/share/doc/${PF}/examples
+ fi
+
+ find "${D}" -name '*.la' -type f -delete || die
+}
diff --git a/dev-libs/expat/expat-2.6.1.ebuild b/dev-libs/expat/expat-2.6.1.ebuild
new file mode 100644
index 000000000000..0eded1ee056a
--- /dev/null
+++ b/dev-libs/expat/expat-2.6.1.ebuild
@@ -0,0 +1,101 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+AUTOTOOLS_AUTO_DEPEND=no
+AT_NOEAUTOHEADER=yes # because expat_config.h.in would need post-processing
+inherit autotools multilib-minimal
+
+DESCRIPTION="Stream-oriented XML parser library"
+HOMEPAGE="https://libexpat.github.io/"
+SRC_URI="https://github.com/libexpat/libexpat/releases/download/R_${PV//\./_}/expat-${PV}.tar.xz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+IUSE="examples static-libs test unicode"
+RESTRICT="!test? ( test )"
+BDEPEND="unicode? ( ${AUTOTOOLS_DEPEND} )"
+
+DOCS=( README.md )
+
+QA_CONFIG_IMPL_DECL_SKIP=(
+ # https://bugs.gentoo.org/906384
+ arc4random
+ arc4random_buf
+)
+
+src_prepare() {
+ default
+
+ # fix interpreter to be a recent/good shell
+ sed -i -e "1s:/bin/sh:${BASH}:" conftools/get-version.sh || die
+ if use unicode; then
+ cp -R "${S}" "${S}"w || die
+ pushd "${S}"w >/dev/null
+ find -name Makefile.am \
+ -exec sed \
+ -e 's,libexpat\.la,libexpatw.la,' \
+ -e 's,libexpat_la,libexpatw_la,' \
+ -i {} + || die
+ eautoreconf
+ popd >/dev/null
+ fi
+}
+
+multilib_src_configure() {
+ local myconf="$(use_with test tests) $(use_enable static-libs static) --without-docbook"
+
+ mkdir -p "${BUILD_DIR}"w || die
+
+ if use unicode; then
+ pushd "${BUILD_DIR}"w >/dev/null
+ CPPFLAGS="${CPPFLAGS} -DXML_UNICODE" ECONF_SOURCE="${S}"w econf ${myconf}
+ popd >/dev/null
+ fi
+
+ ECONF_SOURCE="${S}" econf ${myconf}
+}
+
+multilib_src_compile() {
+ emake
+
+ if use unicode; then
+ pushd "${BUILD_DIR}"w >/dev/null
+ emake -C lib
+ popd >/dev/null
+ fi
+}
+
+multilib_src_install() {
+ emake install DESTDIR="${D}"
+
+ if use unicode; then
+ pushd "${BUILD_DIR}"w >/dev/null
+ emake -C lib install DESTDIR="${D}"
+ popd >/dev/null
+
+ pushd "${ED}"/usr/$(get_libdir)/pkgconfig >/dev/null
+ cp expat.pc expatw.pc
+ sed -i -e '/^Libs/s:-lexpat:&w:' expatw.pc || die
+ popd >/dev/null
+ fi
+}
+
+multilib_src_install_all() {
+ einstalldocs
+
+ doman doc/xmlwf.1
+
+ # Note: Use of HTML_DOCS would add unwanted "doc" subfolder
+ docinto html
+ dodoc doc/*.{css,html}
+
+ if use examples; then
+ docinto examples
+ dodoc examples/*.c
+ docompress -x usr/share/doc/${PF}/examples
+ fi
+
+ find "${D}" -name '*.la' -type f -delete || die
+}
diff --git a/dev-libs/expat/expat-2.6.2.ebuild b/dev-libs/expat/expat-2.6.2.ebuild
new file mode 100644
index 000000000000..0eded1ee056a
--- /dev/null
+++ b/dev-libs/expat/expat-2.6.2.ebuild
@@ -0,0 +1,101 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+AUTOTOOLS_AUTO_DEPEND=no
+AT_NOEAUTOHEADER=yes # because expat_config.h.in would need post-processing
+inherit autotools multilib-minimal
+
+DESCRIPTION="Stream-oriented XML parser library"
+HOMEPAGE="https://libexpat.github.io/"
+SRC_URI="https://github.com/libexpat/libexpat/releases/download/R_${PV//\./_}/expat-${PV}.tar.xz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+IUSE="examples static-libs test unicode"
+RESTRICT="!test? ( test )"
+BDEPEND="unicode? ( ${AUTOTOOLS_DEPEND} )"
+
+DOCS=( README.md )
+
+QA_CONFIG_IMPL_DECL_SKIP=(
+ # https://bugs.gentoo.org/906384
+ arc4random
+ arc4random_buf
+)
+
+src_prepare() {
+ default
+
+ # fix interpreter to be a recent/good shell
+ sed -i -e "1s:/bin/sh:${BASH}:" conftools/get-version.sh || die
+ if use unicode; then
+ cp -R "${S}" "${S}"w || die
+ pushd "${S}"w >/dev/null
+ find -name Makefile.am \
+ -exec sed \
+ -e 's,libexpat\.la,libexpatw.la,' \
+ -e 's,libexpat_la,libexpatw_la,' \
+ -i {} + || die
+ eautoreconf
+ popd >/dev/null
+ fi
+}
+
+multilib_src_configure() {
+ local myconf="$(use_with test tests) $(use_enable static-libs static) --without-docbook"
+
+ mkdir -p "${BUILD_DIR}"w || die
+
+ if use unicode; then
+ pushd "${BUILD_DIR}"w >/dev/null
+ CPPFLAGS="${CPPFLAGS} -DXML_UNICODE" ECONF_SOURCE="${S}"w econf ${myconf}
+ popd >/dev/null
+ fi
+
+ ECONF_SOURCE="${S}" econf ${myconf}
+}
+
+multilib_src_compile() {
+ emake
+
+ if use unicode; then
+ pushd "${BUILD_DIR}"w >/dev/null
+ emake -C lib
+ popd >/dev/null
+ fi
+}
+
+multilib_src_install() {
+ emake install DESTDIR="${D}"
+
+ if use unicode; then
+ pushd "${BUILD_DIR}"w >/dev/null
+ emake -C lib install DESTDIR="${D}"
+ popd >/dev/null
+
+ pushd "${ED}"/usr/$(get_libdir)/pkgconfig >/dev/null
+ cp expat.pc expatw.pc
+ sed -i -e '/^Libs/s:-lexpat:&w:' expatw.pc || die
+ popd >/dev/null
+ fi
+}
+
+multilib_src_install_all() {
+ einstalldocs
+
+ doman doc/xmlwf.1
+
+ # Note: Use of HTML_DOCS would add unwanted "doc" subfolder
+ docinto html
+ dodoc doc/*.{css,html}
+
+ if use examples; then
+ docinto examples
+ dodoc examples/*.c
+ docompress -x usr/share/doc/${PF}/examples
+ fi
+
+ find "${D}" -name '*.la' -type f -delete || die
+}
diff --git a/dev-libs/expat/metadata.xml b/dev-libs/expat/metadata.xml
index efb0331871fb..836db9ed3542 100644
--- a/dev-libs/expat/metadata.xml
+++ b/dev-libs/expat/metadata.xml
@@ -11,6 +11,7 @@
</maintainer>
<upstream>
<remote-id type="cpe">cpe:/a:libexpat:expat</remote-id>
+ <remote-id type="github">libexpat/libexpat</remote-id>
<remote-id type="sourceforge">expat</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-libs/faxpp/faxpp-0.4-r1.ebuild b/dev-libs/faxpp/faxpp-0.4-r1.ebuild
deleted file mode 100644
index 60af37fc3cee..000000000000
--- a/dev-libs/faxpp/faxpp-0.4-r1.ebuild
+++ /dev/null
@@ -1,32 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-DESCRIPTION="Small, fast and conformant XML pull parser written in C"
-HOMEPAGE="http://faxpp.sourceforge.net/"
-SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE="doc examples"
-
-src_configure() {
- econf --disable-static
-}
-
-src_install() {
- default
-
- if use doc; then
- docinto html
- dodoc -r docs/api/
- fi
- if use examples; then
- insinto /usr/share/doc/${PF}
- doins -r examples
- fi
-
- find "${ED}" -name '*.la' -delete || die
-}
diff --git a/dev-libs/faxpp/faxpp-0.4-r2.ebuild b/dev-libs/faxpp/faxpp-0.4-r2.ebuild
new file mode 100644
index 000000000000..50aaf74f8139
--- /dev/null
+++ b/dev-libs/faxpp/faxpp-0.4-r2.ebuild
@@ -0,0 +1,32 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DESCRIPTION="Small, fast and conformant XML pull parser written in C"
+HOMEPAGE="http://faxpp.sourceforge.net/"
+SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="doc examples"
+
+src_configure() {
+ econf --disable-static
+}
+
+src_install() {
+ default
+
+ if use doc; then
+ docinto html
+ dodoc -r docs/api/
+ fi
+ if use examples; then
+ dodoc -r examples
+ docompress -x /usr/share/doc/${PF}/examples
+ fi
+
+ find "${ED}" -name '*.la' -delete || die
+}
diff --git a/dev-libs/fcgi/fcgi-2.4.1_pre0910052249-r2.ebuild b/dev-libs/fcgi/fcgi-2.4.1_pre0910052249-r2.ebuild
index 9c62e11a3867..e2d71c2c0bf6 100644
--- a/dev-libs/fcgi/fcgi-2.4.1_pre0910052249-r2.ebuild
+++ b/dev-libs/fcgi/fcgi-2.4.1_pre0910052249-r2.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
@@ -7,11 +7,11 @@ inherit autotools
DESCRIPTION="FastCGI Developer's Kit"
HOMEPAGE="http://www.fastcgi.com/"
-SRC_URI="http://www.fastcgi.com/dist/fcgi-2.4.1-SNAP-0910052249.tar.gz"
+SRC_URI="http://www.fastcgi.com/dist/fcgi-$(ver_cut 1-3)-SNAP-$(ver_cut 5).tar.gz"
LICENSE="FastCGI"
SLOT="0"
-KEYWORDS="~alpha amd64 arm ~arm64 ~hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos"
+KEYWORDS="~alpha amd64 arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos"
IUSE="html"
S="${WORKDIR}/${PN}-2.4.1-SNAP-0910052249"
diff --git a/dev-libs/fddl/metadata.xml b/dev-libs/fddl/metadata.xml
index 809663b4afbd..6e901b3d6de1 100644
--- a/dev-libs/fddl/metadata.xml
+++ b/dev-libs/fddl/metadata.xml
@@ -1,10 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <email>zlogene@gentoo.org</email>
- <name>Mikle Kolyada</name>
- </maintainer>
+ <!-- maintainer-needed -->
<upstream>
<remote-id type="github">atomopawn/FDDL</remote-id>
<remote-id type="sourceforge">itval</remote-id>
diff --git a/dev-libs/ferrisloki/ferrisloki-3.0.13-r2.ebuild b/dev-libs/ferrisloki/ferrisloki-3.0.13-r2.ebuild
deleted file mode 100644
index 3fdf609652cb..000000000000
--- a/dev-libs/ferrisloki/ferrisloki-3.0.13-r2.ebuild
+++ /dev/null
@@ -1,49 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit flag-o-matic
-
-DESCRIPTION="Loki C++ library from Modern C++ Design"
-HOMEPAGE="http://www.libferris.com/"
-SRC_URI="mirror://sourceforge/witme/${P}.tar.bz2"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="amd64 ~ppc x86 ~amd64-linux ~x86-linux"
-IUSE="static-libs"
-
-RDEPEND="
- >=dev-libs/libsigc++-2.6:2"
-DEPEND="${RDEPEND}
- virtual/pkgconfig"
-
-src_prepare() {
- default
-
- # derice this damn configure script
- sed -i \
- -e '/^CFLAGS/{s: -O3 : :g;s:-Wl,-O1 -Wl,--hash-style=both::;}' \
- -e 's:-lstlport_gcc:-lstlport:' \
- configure || die
-
- # Fix building with libsigc++-2.6
- find -name '*.h' -exec sed -i '/sigc++\/object.h/d' {} + || die
- find -name '*.hh' -exec sed -i '/sigc++\/object.h/d' {} + || die
-}
-
-src_configure() {
- append-cxxflags -std=c++11
-
- econf \
- --disable-stlport \
- $(use_enable static-libs static)
-}
-
-src_install() {
- default
-
- # package provides .pc files
- find "${D}" -name '*.la' -delete || die
-}
diff --git a/dev-libs/ferrisloki/ferrisloki-3.0.13-r3.ebuild b/dev-libs/ferrisloki/ferrisloki-3.0.13-r3.ebuild
new file mode 100644
index 000000000000..21e0d7a44d11
--- /dev/null
+++ b/dev-libs/ferrisloki/ferrisloki-3.0.13-r3.ebuild
@@ -0,0 +1,40 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit flag-o-matic autotools
+
+DESCRIPTION="Loki C++ library from Modern C++ Design"
+HOMEPAGE="https://data-room-software.org/libferris/"
+SRC_URI="mirror://sourceforge/witme/${P}.tar.bz2"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 ~ppc x86 ~amd64-linux ~x86-linux"
+
+RDEPEND=">=dev-libs/libsigc++-2.6:2"
+DEPEND="${RDEPEND}"
+BDEPEND="virtual/pkgconfig"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-3.0.13-r3-configure-libsigc.patch
+)
+
+src_prepare() {
+ default
+ eautoreconf
+}
+
+src_configure() {
+ append-cxxflags -std=c++11
+
+ econf
+}
+
+src_install() {
+ default
+
+ # package provides .pc files
+ find "${ED}" -name '*.la' -delete || die
+}
diff --git a/dev-libs/ferrisloki/files/ferrisloki-3.0.13-r3-configure-libsigc.patch b/dev-libs/ferrisloki/files/ferrisloki-3.0.13-r3-configure-libsigc.patch
new file mode 100644
index 000000000000..7c543a91d405
--- /dev/null
+++ b/dev-libs/ferrisloki/files/ferrisloki-3.0.13-r3-configure-libsigc.patch
@@ -0,0 +1,97 @@
+Rollup of src_prepare() from previous revisions plus additional fixes
+
+ * derice damn configure script
+ * fix building with libsgc++-2.6
+ * fix building with /bin/sh -> dash (bug #886619)
+--- a/configure.in
++++ b/configure.in
+@@ -1,4 +1,5 @@
+ AC_INIT(ferrisloki, 3.0.13)
++AC_CONFIG_MACRO_DIR([macros])
+
+ PACKAGE=$PACKAGE_NAME
+ VERSION=$PACKAGE_VERSION
+@@ -45,9 +46,6 @@ AC_STDC_HEADERS
+ #AC_ARG_PROGRAM
+ AM_PROG_LIBTOOL
+
+-STLPORT_CFLAGS=""
+-STLPORT_LDFLAGS=""
+-
+ ###############################################################################
+ ###############################################################################
+ ###############################################################################
+@@ -57,12 +55,6 @@ AM_FERRIS_SIGC2( 2.0.0 )
+
+ ###############################################################################
+
+-CFLAGS=" $STLPORT_CFLAGS $CXXFLAGS -DNDEBUG "
+-CXXFLAGS=" $STLPORT_CFLAGS $CXXFLAGS -DNDEBUG "
+-LDFLAGS=" $STLPORT_LDFLAGS $LDFLAGS"
+-AC_SUBST(CFLAGS)
+-AC_SUBST(CPPFLAGS)
+-AC_SUBST(LDFLAGS)
+ AC_SUBST(CXXFLAGS)
+ AC_SUBST(CXXCPPFLAGS)
+
+--- a/macros/ferrismacros.m4
++++ b/macros/ferrismacros.m4
+@@ -303,30 +303,6 @@ if test x"$have_stlport" = xno; then
+
+ AC_LANG_CPLUSPLUS
+ STLPORT_IO64_CFLAGS=" -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 "
+-
+- AC_CHECK_PROG( have_stlportcfg, stlport-config, yes, no )
+-
+- if test "$have_stlportcfg" = yes; then
+-
+-# AC_PATH_GENERIC( STLPORT, 4.5, [ have_stlport=yes ], [foo=2] )
+- stlport_installed_version=`stlport-config --version`
+-
+- # Calculate the available version number
+- [f_tmp=( `echo $stlport_installed_version | sed 's/[^0-9]\+/ /g'` )]
+- [f_tmp=$(( 1000000 * ${f_tmp[0]:-0} + 1000 * ${f_tmp[1]:-0} + ${f_tmp[2]:-0} ))]
+-
+- [freq_version=( `echo $stlport_required_version | sed 's/[^0-9]\+/ /g'` )]
+- [freq_version=$(( 1000000 * ${freq_version[0]:-0} + 1000 * ${freq_version[1]:-0} + ${freq_version[2]:-0} ))]
+-
+- if test $freq_version -gt $f_tmp ; then
+- AC_MSG_WARN([STLPort version $1 is required, you have $stlport_installed_version])
+- else
+- have_stlport=yes
+- STLPORT_LIBS=" `stlport-config --libs` -lpthread "
+- STLPORT_CFLAGS=" `stlport-config --cflags` "
+- AM_FERRIS_STLPORT_INTERNAL_TRYLINK( [have_stlport=yes], [have_stlport=no] )
+- fi
+- fi
+ fi
+
+ if test x"$have_stlport" = xno; then
+@@ -442,15 +418,11 @@ dnl
+ stlport_required_version=$1
+ have_stlport=no
+
+-attempt_to_use_stlport=yes
++attempt_to_use_stlport=no
+ AC_ARG_ENABLE(stlport,
+ [--disable-stlport Don't use STLport even if it is detected],
+ [
+- if test x$enableval = xyes; then
+- attempt_to_use_stlport=yes
+- else
+- attempt_to_use_stlport=no
+- fi
++ attempt_to_use_stlport=no
+ ])
+
+ echo "attempt_to_use_stlport:${attempt_to_use_stlport}"
+--- a/src/Extensions.hh
++++ b/src/Extensions.hh
+@@ -29,7 +29,6 @@
+ ******************************************************************************/
+
+ #include <sigc++/signal.h>
+-#include <sigc++/object.h>
+ #include <loki/SmartPtr.h>
+ #include <loki/SmallObj.h>
+
diff --git a/dev-libs/ffcall/Manifest b/dev-libs/ffcall/Manifest
index 70f09ecda210..956d5f041533 100644
--- a/dev-libs/ffcall/Manifest
+++ b/dev-libs/ffcall/Manifest
@@ -1,2 +1 @@
-DIST libffcall-2.1.tar.gz 943235 BLAKE2B ae82663174db084e830b6ff77ceedf8641b3edeb7800952ac4e2772d9033da3e45f46159e6fdae86615dc69fceba39f48d6c75e6cbd41be98f1986fa69d50b3b SHA512 da73375fb45b7d764c06437a517c2a90abf7d5de6afe0a8ca19e6dfafd2a8c7107e39d230ecbc8edfdd5926b16a0c13b7bb9319287047c47de1241b2f6ae805e
DIST libffcall-2.4.tar.gz 1253767 BLAKE2B 669bf556f082b533eb7d71ebc6fadeac464b1a6054ac8078c9315678929bcfb8ad4b7376b345bcfbb5d2caf9d45179012d4bb5a08ad675f475f58570ae96b7ae SHA512 c9451662764a888e3be21499c29673bfb0e1df4915814da3506db5d395a2b00ea2f0c08d1c9dffebf030179f9347794876ec6ec9e6710b4fc70fd760960335e6
diff --git a/dev-libs/ffcall/ffcall-2.1.ebuild b/dev-libs/ffcall/ffcall-2.1.ebuild
deleted file mode 100644
index de9d512e1b78..000000000000
--- a/dev-libs/ffcall/ffcall-2.1.ebuild
+++ /dev/null
@@ -1,60 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit flag-o-matic
-
-MY_PV="libffcall-${PV}"
-
-DESCRIPTION="Build foreign function call interfaces in embedded interpreter"
-HOMEPAGE="https://www.gnu.org/software/libffcall/"
-SRC_URI="mirror://gnu/libffcall/${MY_PV}.tar.gz"
-
-# "Ffcall is under GNU GPL. As a special exception, if used in GNUstep
-# or in derivate works of GNUstep, the included parts of ffcall are
-# under GNU LGPL." -ffcall author
-LICENSE="GPL-2+"
-SLOT="0"
-KEYWORDS="~alpha amd64 ~arm64 ~hppa ~ia64 ppc ~ppc64 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~sparc-solaris ~x86-solaris"
-
-S="${WORKDIR}"/${MY_PV}
-
-src_prepare() {
- # The build system is a strange mix of autogenerated
- # files and manual tweaks on top. Uses $CFLAGS / $LDFLAGS randomly.
- # We are adding them consistently here and a bit over the top:
- # bugs: #334581
-
- for mfi in {,*/,*/*/,}Makefile.in
- do
- einfo "Patching '${mfi}'"
- # usually uses only assembler here, but -march=
- # and -Wa, are a must to pass here.
- sed -e 's/$(CC) /&$(CFLAGS) /g' \
- -i "${mfi}" || die
- done
- eapply_user
-}
-
-src_configure() {
- append-flags -fPIC
-
- # Doc goes in datadir
- econf \
- --datadir="${EPREFIX}"/usr/share/doc/${PF} \
- --enable-shared \
- --disable-static
-}
-
-src_compile() {
- # TODO. Remove -j1
- emake -j1
-}
-
-src_install() {
- dodoc NEWS README
- dodir /usr/share/man
- default
- find "${ED}" -name '*.la' -delete || die
-}
diff --git a/dev-libs/ffcall/ffcall-2.4-r1.ebuild b/dev-libs/ffcall/ffcall-2.4-r1.ebuild
new file mode 100644
index 000000000000..cd0ba85f08fd
--- /dev/null
+++ b/dev-libs/ffcall/ffcall-2.4-r1.ebuild
@@ -0,0 +1,67 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit flag-o-matic
+
+MY_PV="libffcall-${PV}"
+
+DESCRIPTION="Build foreign function call interfaces in embedded interpreter"
+HOMEPAGE="https://www.gnu.org/software/libffcall/"
+SRC_URI="mirror://gnu/libffcall/${MY_PV}.tar.gz"
+S="${WORKDIR}"/${MY_PV}
+
+# "Ffcall is under GNU GPL. As a special exception, if used in GNUstep
+# or in derivate works of GNUstep, the included parts of ffcall are
+# under GNU LGPL." -ffcall author
+LICENSE="GPL-2+"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos"
+
+PATCHES=(
+ # bug 842915, drop on next version bump
+ "${FILESDIR}"/${PN}-2.4-vacall-riscv-pic.patch
+ "${FILESDIR}"/${PN}-2.4-slibtool.patch # 776976
+)
+
+src_prepare() {
+ # The build system is a strange mix of autogenerated
+ # files and manual tweaks on top. Uses $CFLAGS / $LDFLAGS randomly.
+ # We are adding them consistently here and a bit over the top:
+ # bugs: #334581
+ local mfi
+ for mfi in {,*/,*/*/,}Makefile.in ; do
+ einfo "Patching '${mfi}'"
+ # usually uses only assembler here, but -march=
+ # and -Wa, are a must to pass here.
+ sed -e 's/$(CC) /&$(CFLAGS) /g' \
+ -i "${mfi}" || die
+ done
+
+ default
+}
+
+src_configure() {
+ append-flags -fPIC
+
+ # Doc goes in datadir
+ econf \
+ --datadir="${EPREFIX}"/usr/share/doc/${PF} \
+ --enable-shared \
+ --disable-static
+}
+
+src_compile() {
+ # TODO. Remove -j1
+ emake -j1
+}
+
+src_install() {
+ dodoc NEWS README
+ dodir /usr/share/man
+
+ default
+
+ find "${ED}" -name '*.la' -delete || die
+}
diff --git a/dev-libs/ffcall/ffcall-2.4.ebuild b/dev-libs/ffcall/ffcall-2.4.ebuild
index 84fa806a52d6..1b41ad034e33 100644
--- a/dev-libs/ffcall/ffcall-2.4.ebuild
+++ b/dev-libs/ffcall/ffcall-2.4.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
@@ -17,7 +17,12 @@ S="${WORKDIR}"/${MY_PV}
# under GNU LGPL." -ffcall author
LICENSE="GPL-2+"
SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~sparc-solaris ~x86-solaris"
+KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ppc ppc64 ~riscv sparc x86 ~amd64-linux ~x86-linux ~ppc-macos"
+
+PATCHES=(
+ # bug 842915, drop on next version bump
+ "${FILESDIR}"/${PN}-2.4-vacall-riscv-pic.patch
+)
src_prepare() {
# The build system is a strange mix of autogenerated
@@ -33,7 +38,7 @@ src_prepare() {
-i "${mfi}" || die
done
- eapply_user
+ default
}
src_configure() {
diff --git a/dev-libs/ffcall/files/ffcall-2.4-slibtool.patch b/dev-libs/ffcall/files/ffcall-2.4-slibtool.patch
new file mode 100644
index 000000000000..73c896c4f211
--- /dev/null
+++ b/dev-libs/ffcall/files/ffcall-2.4-slibtool.patch
@@ -0,0 +1,86 @@
+Bug: https://bugs.gentoo.org/776976
+Upstream-ML: https://lists.gnu.org/archive/html/libffcall/2022-07/msg00000.html
+
+From: orbea <orbea@riseup.net>
+Date: Wed, 13 Jul 2022 17:45:05 -0700
+Subject: [PATCH] build: Fix the build with slibtool
+
+Using symlinks to create dummy .lo files does not work with slibtool
+which tries to find the corresponding .o file which doesn't exist.
+
+Its better to use the real .lo file instead.
+--- a/Makefile.in
++++ b/Makefile.in
+@@ -2,6 +2,8 @@
+
+ #### Start of system configuration section. ####
+
++CPU = @HOST_CPU_C_ABI@
++
+ # Directories used by "make":
+ srcdir = @srcdir@
+
+@@ -69,8 +71,8 @@ ffcall-version.h : $(srcdir)/ffcall-version.in.h
+ ffcall-version.lo : $(srcdir)/ffcall-version.c ffcall-version.h config.h
+ $(LIBTOOL_COMPILE) $(CC) $(CFLAGS) $(CFLAGS) $(INCLUDES) $(CPPFLAGS) $(CFLAGS) -c $(srcdir)/ffcall-version.c
+
+-libffcall.la : ffcall-version.lo avcall/avcall.lo avcall/avcall-libapi.lo avcall/avcall-structcpy.lo callback/vacall_r/libvacall.la callback/trampoline_r/libtrampoline.la callback/callback-libapi.lo
+- $(LIBTOOL_LINK) $(CC) $(CFLAGS) $(CFLAGS) -o libffcall.la -rpath $(libdir) -no-undefined -export-symbols-regex $(LIBFFCALL_EXPORTED_SYMBOLS_REGEX) -version-info $(LIBFFCALL_VERSION_INFO) ffcall-version.lo avcall/avcall.lo avcall/avcall-libapi.lo avcall/avcall-structcpy.lo callback/vacall_r/vacall.lo callback/vacall_r/vacall-libapi.lo callback/vacall_r/vacall-structcpy.lo callback/trampoline_r/*.lo callback/callback-libapi.lo gnulib-lib/libgnu.la $(LDFLAGS) $(LTLIBTHREAD)
++libffcall.la : ffcall-version.lo avcall/avcall-$(CPU).lo avcall/avcall-libapi.lo avcall/avcall-structcpy.lo callback/vacall_r/libvacall.la callback/trampoline_r/libtrampoline.la callback/callback-libapi.lo
++ $(LIBTOOL_LINK) $(CC) $(CFLAGS) $(CFLAGS) -o libffcall.la -rpath $(libdir) -no-undefined -export-symbols-regex $(LIBFFCALL_EXPORTED_SYMBOLS_REGEX) -version-info $(LIBFFCALL_VERSION_INFO) ffcall-version.lo avcall/avcall-$(CPU).lo avcall/avcall-libapi.lo avcall/avcall-structcpy.lo callback/vacall_r/vacall-$(CPU).lo callback/vacall_r/vacall-libapi.lo callback/vacall_r/vacall-structcpy.lo callback/trampoline_r/*.lo callback/callback-libapi.lo gnulib-lib/libgnu.la $(LDFLAGS) $(LTLIBTHREAD)
+
+ install : force
+ mkdir -p $(DESTDIR)$(prefix)
+--- a/avcall/Makefile.in
++++ b/avcall/Makefile.in
+@@ -58,7 +58,7 @@ SHELL = /bin/sh
+ # Needed by $(LIBTOOL).
+ top_builddir = ..
+
+-OBJECTS = avcall.lo avcall-libapi.lo avcall-structcpy.lo avcall-compat.lo
++OBJECTS = avcall-$(CPU).lo avcall-libapi.lo avcall-structcpy.lo avcall-compat.lo
+
+ # Limit the set of exported symbols, on those platforms where libtool supports it.
+ # Currently this does not exclude any symbol; maybe sometime in the future...
+@@ -70,11 +70,6 @@ LIBAVCALL_VERSION_INFO = 2:0:1
+
+ all : $(OBJECTS) libavcall.la $(srcdir)/avcall.3 $(srcdir)/avcall.html
+
+-avcall.lo : avcall-$(CPU).lo
+- $(RM) avcall.lo avcall.@OBJEXT@
+- $(LN) avcall-$(CPU).lo avcall.lo
+- if test -f avcall-$(CPU).@OBJEXT@; then $(LN) avcall-$(CPU).@OBJEXT@ avcall.@OBJEXT@; fi
+-
+ @IFNOT_MSVC@avcall-i386.lo : avcall-i386.s
+ @IFNOT_MSVC@ $(LIBTOOL_COMPILE) $(CC) $(CFLAGS) @GCC_X_NONE@ -c avcall-i386.s
+
+--- a/callback/Makefile.in
++++ b/callback/Makefile.in
+@@ -77,7 +77,7 @@ callback-compat.lo : $(srcdir)/callback-compat.c ../config.h
+ $(LIBTOOL_COMPILE) $(CC) $(CFLAGS) $(INCLUDES) $(CPPFLAGS) $(CFLAGS) -c $(srcdir)/callback-compat.c
+
+ libcallback.la : vacall_r/libvacall.la trampoline_r/libtrampoline.la callback-libapi.lo callback-compat.lo
+- $(LIBTOOL_LINK) $(CC) $(CFLAGS) -o libcallback.la -rpath $(libdir) -no-undefined -export-symbols-regex $(LIBCALLBACK_EXPORTED_SYMBOLS_REGEX) -version-info $(LIBCALLBACK_VERSION_INFO) vacall_r/vacall.lo vacall_r/vacall-libapi.lo vacall_r/vacall-structcpy.lo trampoline_r/*.lo callback-libapi.lo callback-compat.lo ../gnulib-lib/libgnu.la $(LDFLAGS) $(LTLIBTHREAD)
++ $(LIBTOOL_LINK) $(CC) $(CFLAGS) -o libcallback.la -rpath $(libdir) -no-undefined -export-symbols-regex $(LIBCALLBACK_EXPORTED_SYMBOLS_REGEX) -version-info $(LIBCALLBACK_VERSION_INFO) vacall_r/vacall-$(CPU).lo vacall_r/vacall-libapi.lo vacall_r/vacall-structcpy.lo trampoline_r/*.lo callback-libapi.lo callback-compat.lo ../gnulib-lib/libgnu.la $(LDFLAGS) $(LTLIBTHREAD)
+
+ # Installs the library and include files only. Typically called with only
+ # $(libdir) and $(includedir) - don't use $(prefix) and $(exec_prefix) here.
+--- a/callback/vacall_r/Makefile.in
++++ b/callback/vacall_r/Makefile.in
+@@ -54,15 +54,10 @@ SHELL = /bin/sh
+ # Needed by $(LIBTOOL).
+ top_builddir = ../..
+
+-OBJECTS = vacall.lo vacall-libapi.lo vacall-structcpy.lo
++OBJECTS = vacall-$(CPU).lo vacall-libapi.lo vacall-structcpy.lo
+
+ all : $(OBJECTS) libvacall.la
+
+-vacall.lo : vacall-$(CPU).lo
+- $(RM) vacall.lo vacall.@OBJEXT@
+- $(LN) vacall-$(CPU).lo vacall.lo
+- if test -f vacall-$(CPU).@OBJEXT@; then $(LN) vacall-$(CPU).@OBJEXT@ vacall.@OBJEXT@; fi
+-
+ @IFNOT_MSVC@vacall-i386.lo : vacall-i386.s
+ @IFNOT_MSVC@ $(LIBTOOL_COMPILE) $(CC) $(CFLAGS) @GCC_X_NONE@ -c vacall-i386.s
+
diff --git a/dev-libs/ffcall/files/ffcall-2.4-vacall-riscv-pic.patch b/dev-libs/ffcall/files/ffcall-2.4-vacall-riscv-pic.patch
new file mode 100644
index 000000000000..2bad9a403997
--- /dev/null
+++ b/dev-libs/ffcall/files/ffcall-2.4-vacall-riscv-pic.patch
@@ -0,0 +1,792 @@
+https://bugs.gentoo.org/842915
+Taken from https://alpha.gnu.org/gnu/libffcall/libffcall-2.4-20220508.tar.gz
+
+diff -ruN libffcall-2.4/vacall/Makefile.devel libffcall-2.4-20220508/vacall/Makefile.devel
+--- libffcall-2.4/vacall/Makefile.devel 2021-06-12 23:11:57.000000000 +0800
++++ libffcall-2.4-20220508/vacall/Makefile.devel 2022-05-08 23:28:37.266397740 +0800
+@@ -267,15 +267,21 @@
+ vacall-riscv32-ilp32d-linux.s : vacall-riscv32.c vacall-internal.h vacall.h $(THISFILE)
+ $(CROSS_TOOL) riscv32-linux gcc-7.3.0 $(GCCFLAGS) -D__riscv32__ -S vacall-riscv32.c -o vacall-riscv32-ilp32d-linux.s
+
+-vacall-riscv32-ilp32d-macro.S : vacall-riscv32-ilp32d-linux.s ../common/asm-riscv.sh ../common/noexecstack.h $(THISFILE)
+- (../common/asm-riscv.sh < vacall-riscv32-ilp32d-linux.s ; cat ../common/noexecstack.h) > vacall-riscv32-ilp32d-macro.S
++vacall-riscv32-ilp32d-linux-pic.s : vacall-riscv32.c vacall-internal.h vacall.h $(THISFILE)
++ $(CROSS_TOOL) riscv32-linux gcc-7.3.0 $(GCCFLAGS) -fPIC -D__riscv32__ -S vacall-riscv32.c -o vacall-riscv32-ilp32d-linux-pic.s
++
++vacall-riscv32-ilp32d-macro.S : vacall-riscv32-ilp32d-linux.s vacall-riscv32-ilp32d-linux-pic.s ../common/asm-riscv.sh ../common/noexecstack.h $(THISFILE)
++ (echo '#ifdef __PIC__' ; ../common/asm-riscv.sh < vacall-riscv32-ilp32d-linux-pic.s ; echo '#else' ; ../common/asm-riscv.sh < vacall-riscv32-ilp32d-linux.s ; echo '#endif' ; cat ../common/noexecstack.h) > vacall-riscv32-ilp32d-macro.S
+
+
+ vacall-riscv64-lp64d-linux.s : vacall-riscv64.c vacall-internal.h vacall.h $(THISFILE)
+ $(CROSS_TOOL) riscv64-linux gcc-7.3.0 $(GCCFLAGS) -D__riscv64__ -S vacall-riscv64.c -o vacall-riscv64-lp64d-linux.s
+
+-vacall-riscv64-lp64d-macro.S : vacall-riscv64-lp64d-linux.s ../common/asm-riscv.sh ../common/noexecstack.h $(THISFILE)
+- (../common/asm-riscv.sh < vacall-riscv64-lp64d-linux.s ; cat ../common/noexecstack.h) > vacall-riscv64-lp64d-macro.S
++vacall-riscv64-lp64d-linux-pic.s : vacall-riscv64.c vacall-internal.h vacall.h $(THISFILE)
++ $(CROSS_TOOL) riscv64-linux gcc-7.3.0 $(GCCFLAGS) -fPIC -D__riscv64__ -S vacall-riscv64.c -o vacall-riscv64-lp64d-linux-pic.s
++
++vacall-riscv64-lp64d-macro.S : vacall-riscv64-lp64d-linux.s vacall-riscv64-lp64d-linux-pic.s ../common/asm-riscv.sh ../common/noexecstack.h $(THISFILE)
++ (echo '#ifdef __PIC__' ; ../common/asm-riscv.sh < vacall-riscv64-lp64d-linux-pic.s ; echo '#else' ; ../common/asm-riscv.sh < vacall-riscv64-lp64d-linux.s ; echo '#endif' ; cat ../common/noexecstack.h) > vacall-riscv64-lp64d-macro.S
+
+
+ # --------------- Rules for debugging test failures ---------------
+diff -ruN libffcall-2.4/vacall/Makefile.in libffcall-2.4-20220508/vacall/Makefile.in
+--- libffcall-2.4/vacall/Makefile.in 2021-06-12 23:11:57.000000000 +0800
++++ libffcall-2.4-20220508/vacall/Makefile.in 2022-05-08 23:29:18.347087098 +0800
+@@ -354,8 +354,8 @@
+ vacall-powerpc-aix.s \
+ vacall-powerpc-linux.s vacall-powerpc-linux-macro.S vacall-powerpc-macos.s vacall-powerpc-sysv4-macro.S \
+ vacall-powerpc64.c vacall-powerpc64-aix.s vacall-powerpc64-linux.S vacall-powerpc64-elfv2-linux.S \
+- vacall-riscv32.c vacall-riscv32-ilp32d-linux.s vacall-riscv32-ilp32d-macro.S \
+- vacall-riscv64.c vacall-riscv64-lp64d-linux.s vacall-riscv64-lp64d-macro.S \
++ vacall-riscv32.c vacall-riscv32-ilp32d-linux.s vacall-riscv32-ilp32d-linux-pic.s vacall-riscv32-ilp32d-macro.S \
++ vacall-riscv64.c vacall-riscv64-lp64d-linux.s vacall-riscv64-lp64d-linux-pic.s vacall-riscv64-lp64d-macro.S \
+ vacall-s390.c vacall-s390-linux.s vacall-s390-macro.S \
+ vacall-s390x.c vacall-s390x-linux.s vacall-s390x-macro.S \
+ vacall-sparc.c vacall-sparc-linux.s vacall-sparc-linux-pic.s vacall-sparc-macro.S \
+diff -ruN libffcall-2.4/vacall/vacall-riscv32-ilp32d-linux-pic.s libffcall-2.4-20220508/vacall/vacall-riscv32-ilp32d-linux-pic.s
+--- libffcall-2.4/vacall/vacall-riscv32-ilp32d-linux-pic.s 1970-01-01 08:00:00.000000000 +0800
++++ libffcall-2.4-20220508/vacall/vacall-riscv32-ilp32d-linux-pic.s 2022-05-08 19:41:49.000000000 +0800
+@@ -0,0 +1,163 @@
++ .file "vacall-riscv32.c"
++ .option pic
++ .text
++ .align 1
++ .globl vacall_receiver
++ .type vacall_receiver, @function
++vacall_receiver:
++ add sp,sp,-208
++ sw ra,188(sp)
++ sw s0,184(sp)
++ add s0,sp,192
++ la t1,vacall_function
++ lw t1,0(t1)
++ sw a0,-148(s0)
++ add a0,s0,16
++ sw a7,12(s0)
++ sw a1,-144(s0)
++ sw a2,-140(s0)
++ sw a3,-136(s0)
++ sw a4,-132(s0)
++ sw a5,-128(s0)
++ sw a6,-124(s0)
++ sw a7,-120(s0)
++ fsw fa0,-112(s0)
++ fsw fa1,-108(s0)
++ fsw fa2,-104(s0)
++ fsw fa3,-100(s0)
++ fsw fa4,-96(s0)
++ fsw fa5,-92(s0)
++ fsw fa6,-88(s0)
++ fsw fa7,-84(s0)
++ fsd fa0,-80(s0)
++ fsd fa1,-72(s0)
++ fsd fa2,-64(s0)
++ fsd fa3,-56(s0)
++ fsd fa4,-48(s0)
++ fsd fa5,-40(s0)
++ fsd fa6,-32(s0)
++ fsd fa7,-24(s0)
++ sw a0,-168(s0)
++ sw zero,-184(s0)
++ sw zero,-164(s0)
++ sw zero,-160(s0)
++ add a0,s0,-184
++ sw zero,-152(s0)
++ sw zero,-116(s0)
++ jalr t1
++ lw t1,-160(s0)
++ beqz t1,.L1
++ li t3,1
++ beq t1,t3,.L22
++ li t3,2
++ beq t1,t3,.L25
++ li t3,3
++ beq t1,t3,.L22
++ li t3,4
++ beq t1,t3,.L26
++ li t3,5
++ beq t1,t3,.L27
++ li t3,6
++ beq t1,t3,.L23
++ li t3,7
++ beq t1,t3,.L23
++ li t3,8
++ beq t1,t3,.L23
++ li t3,9
++ beq t1,t3,.L23
++ add t3,t1,-10
++ li t4,1
++ bleu t3,t4,.L28
++ li t3,12
++ beq t1,t3,.L29
++ li t3,13
++ beq t1,t3,.L30
++ li t3,14
++ beq t1,t3,.L23
++ li t3,15
++ bne t1,t3,.L1
++ lw t1,-184(s0)
++ and t1,t1,2
++ beqz t1,.L1
++ lw t3,-156(s0)
++ li t1,7
++ add t5,t3,-1
++ bgtu t5,t1,.L1
++ lw t1,-164(s0)
++ lbu t5,0(t1)
++ mv a0,t5
++ beq t3,t4,.L1
++ lbu t4,1(t1)
++ li t6,2
++ sll t4,t4,8
++ or t5,t4,t5
++ mv a0,t5
++ beq t3,t6,.L1
++ lbu t4,2(t1)
++ li t6,3
++ sll t4,t4,16
++ or t4,t4,t5
++ mv a0,t4
++ beq t3,t6,.L1
++ lbu a0,3(t1)
++ li t5,4
++ sll a0,a0,24
++ or a0,a0,t4
++ beq t3,t5,.L1
++ lbu t5,4(t1)
++ li t4,5
++ mv a1,t5
++ beq t3,t4,.L1
++ lbu t4,5(t1)
++ li t6,6
++ sll t4,t4,8
++ or t5,t4,t5
++ mv a1,t5
++ beq t3,t6,.L1
++ lbu t4,6(t1)
++ li t6,8
++ sll t4,t4,16
++ or t4,t4,t5
++ mv a1,t4
++ bne t3,t6,.L1
++ lbu a1,7(t1)
++ sll a1,a1,24
++ or a1,a1,t4
++.L1:
++ lw ra,188(sp)
++ lw s0,184(sp)
++ add sp,sp,208
++ jr ra
++.L22:
++ lbu a0,-176(s0)
++ lw ra,188(sp)
++ lw s0,184(sp)
++ add sp,sp,208
++ jr ra
++.L23:
++ lw a0,-176(s0)
++ j .L1
++.L25:
++ lb a0,-176(s0)
++ lw ra,188(sp)
++ lw s0,184(sp)
++ add sp,sp,208
++ jr ra
++.L26:
++ lh a0,-176(s0)
++ j .L1
++.L27:
++ lhu a0,-176(s0)
++ j .L1
++.L28:
++ lw a0,-176(s0)
++ lw a1,-172(s0)
++ j .L1
++.L29:
++ flw fa0,-176(s0)
++ j .L1
++.L30:
++ fld fa0,-176(s0)
++ j .L1
++ .size vacall_receiver, .-vacall_receiver
++ .ident "GCC: (GNU) 7.3.0"
+diff -ruN libffcall-2.4/vacall/vacall-riscv32-ilp32d-macro.S libffcall-2.4-20220508/vacall/vacall-riscv32-ilp32d-macro.S
+--- libffcall-2.4/vacall/vacall-riscv32-ilp32d-macro.S 2021-06-13 02:30:16.000000000 +0800
++++ libffcall-2.4-20220508/vacall/vacall-riscv32-ilp32d-macro.S 2022-05-08 19:41:49.000000000 +0800
+@@ -1,3 +1,167 @@
++#ifdef __PIC__
++ .file "vacall-riscv32.c"
++ .option pic
++ .text
++ .align 1
++ .globl vacall_receiver
++ .type vacall_receiver, @function
++vacall_receiver:
++ add sp,sp,-208
++ sw ra,188(sp)
++ sw s0,184(sp)
++ add s0,sp,192
++ la t1,vacall_function
++ lw t1,0(t1)
++ sw a0,-148(s0)
++ add a0,s0,16
++ sw a7,12(s0)
++ sw a1,-144(s0)
++ sw a2,-140(s0)
++ sw a3,-136(s0)
++ sw a4,-132(s0)
++ sw a5,-128(s0)
++ sw a6,-124(s0)
++ sw a7,-120(s0)
++ fsw fa0,-112(s0)
++ fsw fa1,-108(s0)
++ fsw fa2,-104(s0)
++ fsw fa3,-100(s0)
++ fsw fa4,-96(s0)
++ fsw fa5,-92(s0)
++ fsw fa6,-88(s0)
++ fsw fa7,-84(s0)
++ fsd fa0,-80(s0)
++ fsd fa1,-72(s0)
++ fsd fa2,-64(s0)
++ fsd fa3,-56(s0)
++ fsd fa4,-48(s0)
++ fsd fa5,-40(s0)
++ fsd fa6,-32(s0)
++ fsd fa7,-24(s0)
++ sw a0,-168(s0)
++ sw zero,-184(s0)
++ sw zero,-164(s0)
++ sw zero,-160(s0)
++ add a0,s0,-184
++ sw zero,-152(s0)
++ sw zero,-116(s0)
++ jalr t1
++ lw t1,-160(s0)
++ beqz t1,.L1
++ li t3,1
++ beq t1,t3,.L22
++ li t3,2
++ beq t1,t3,.L25
++ li t3,3
++ beq t1,t3,.L22
++ li t3,4
++ beq t1,t3,.L26
++ li t3,5
++ beq t1,t3,.L27
++ li t3,6
++ beq t1,t3,.L23
++ li t3,7
++ beq t1,t3,.L23
++ li t3,8
++ beq t1,t3,.L23
++ li t3,9
++ beq t1,t3,.L23
++ add t3,t1,-10
++ li t4,1
++ bleu t3,t4,.L28
++ li t3,12
++ beq t1,t3,.L29
++ li t3,13
++ beq t1,t3,.L30
++ li t3,14
++ beq t1,t3,.L23
++ li t3,15
++ bne t1,t3,.L1
++ lw t1,-184(s0)
++ and t1,t1,2
++ beqz t1,.L1
++ lw t3,-156(s0)
++ li t1,7
++ add t5,t3,-1
++ bgtu t5,t1,.L1
++ lw t1,-164(s0)
++ lbu t5,0(t1)
++ mv a0,t5
++ beq t3,t4,.L1
++ lbu t4,1(t1)
++ li t6,2
++ sll t4,t4,8
++ or t5,t4,t5
++ mv a0,t5
++ beq t3,t6,.L1
++ lbu t4,2(t1)
++ li t6,3
++ sll t4,t4,16
++ or t4,t4,t5
++ mv a0,t4
++ beq t3,t6,.L1
++ lbu a0,3(t1)
++ li t5,4
++ sll a0,a0,24
++ or a0,a0,t4
++ beq t3,t5,.L1
++ lbu t5,4(t1)
++ li t4,5
++ mv a1,t5
++ beq t3,t4,.L1
++ lbu t4,5(t1)
++ li t6,6
++ sll t4,t4,8
++ or t5,t4,t5
++ mv a1,t5
++ beq t3,t6,.L1
++ lbu t4,6(t1)
++ li t6,8
++ sll t4,t4,16
++ or t4,t4,t5
++ mv a1,t4
++ bne t3,t6,.L1
++ lbu a1,7(t1)
++ sll a1,a1,24
++ or a1,a1,t4
++.L1:
++ lw ra,188(sp)
++ lw s0,184(sp)
++ add sp,sp,208
++ jr ra
++.L22:
++ lbu a0,-176(s0)
++ lw ra,188(sp)
++ lw s0,184(sp)
++ add sp,sp,208
++ jr ra
++.L23:
++ lw a0,-176(s0)
++ j .L1
++.L25:
++ lb a0,-176(s0)
++ lw ra,188(sp)
++ lw s0,184(sp)
++ add sp,sp,208
++ jr ra
++.L26:
++ lh a0,-176(s0)
++ j .L1
++.L27:
++ lhu a0,-176(s0)
++ j .L1
++.L28:
++ lw a0,-176(s0)
++ lw a1,-172(s0)
++ j .L1
++.L29:
++ flw fa0,-176(s0)
++ j .L1
++.L30:
++ fld fa0,-176(s0)
++ j .L1
++ .size vacall_receiver, .-vacall_receiver
++#else
+ .file "vacall-riscv32.c"
+ .option nopic
+ .text
+@@ -160,6 +324,7 @@
+ fld fa0,-176(s0)
+ j .L1
+ .size vacall_receiver, .-vacall_receiver
++#endif
+ #if defined __linux__ || defined __FreeBSD__ || defined __FreeBSD_kernel__ || defined __DragonFly__
+ .section .note.GNU-stack,"",@progbits
+ #endif
+diff -ruN libffcall-2.4/vacall/vacall-riscv64-lp64d-linux-pic.s libffcall-2.4-20220508/vacall/vacall-riscv64-lp64d-linux-pic.s
+--- libffcall-2.4/vacall/vacall-riscv64-lp64d-linux-pic.s 1970-01-01 08:00:00.000000000 +0800
++++ libffcall-2.4-20220508/vacall/vacall-riscv64-lp64d-linux-pic.s 2022-05-08 19:41:49.000000000 +0800
+@@ -0,0 +1,190 @@
++ .file "vacall-riscv64.c"
++ .option pic
++ .text
++ .align 1
++ .globl vacall_receiver
++ .type vacall_receiver, @function
++vacall_receiver:
++ add sp,sp,-288
++ sd ra,264(sp)
++ sd s0,256(sp)
++ sd s1,248(sp)
++ add s0,sp,272
++ la t1,vacall_function
++ ld t1,0(t1)
++ sd a0,-200(s0)
++ add a0,s0,16
++ sd a7,8(s0)
++ sd a1,-192(s0)
++ sd a2,-184(s0)
++ sd a3,-176(s0)
++ sd a4,-168(s0)
++ sd a5,-160(s0)
++ sd a6,-152(s0)
++ sd a7,-144(s0)
++ fsw fa0,-132(s0)
++ fsw fa1,-128(s0)
++ fsw fa2,-124(s0)
++ fsw fa3,-120(s0)
++ fsw fa4,-116(s0)
++ fsw fa5,-112(s0)
++ fsw fa6,-108(s0)
++ fsw fa7,-104(s0)
++ fsd fa0,-96(s0)
++ fsd fa1,-88(s0)
++ fsd fa2,-80(s0)
++ fsd fa3,-72(s0)
++ fsd fa4,-64(s0)
++ fsd fa5,-56(s0)
++ fsd fa6,-48(s0)
++ fsd fa7,-40(s0)
++ sd a0,-240(s0)
++ sw zero,-264(s0)
++ sd zero,-232(s0)
++ add a0,s0,-264
++ sw zero,-224(s0)
++ sw zero,-208(s0)
++ sw zero,-136(s0)
++ jalr t1
++ lw t1,-224(s0)
++ beqz t1,.L1
++ li t3,1
++ beq t1,t3,.L25
++ li t3,2
++ beq t1,t3,.L29
++ li t3,3
++ beq t1,t3,.L25
++ li t3,4
++ beq t1,t3,.L30
++ li t3,5
++ beq t1,t3,.L31
++ li t3,6
++ beq t1,t3,.L32
++ li t3,7
++ beq t1,t3,.L33
++ and t3,t1,-3
++ li t4,8
++ beq t3,t4,.L27
++ li t4,9
++ beq t3,t4,.L27
++ li t3,12
++ beq t1,t3,.L34
++ li t3,13
++ beq t1,t3,.L35
++ li t3,14
++ beq t1,t3,.L27
++ li t3,15
++ bne t1,t3,.L1
++ lw t3,-264(s0)
++ and t3,t3,1024
++ beqz t3,.L1
++ ld t0,-216(s0)
++ add t3,t0,-1
++ bgtu t3,t1,.L1
++ ld t5,-232(s0)
++ li s1,8
++ and t6,t5,7
++ add t2,t0,t6
++ and t5,t5,-8
++ sext.w t6,t6
++ sllw t1,t2,3
++ ld t4,0(t5)
++ sll t3,t6,3
++ bgtu t0,s1,.L15
++ bgtu t2,s1,.L16
++ addw t1,t1,-1
++ li a0,2
++ sll a0,a0,t1
++ add a0,a0,-1
++ and a0,a0,t4
++ sra a0,a0,t3
++.L1:
++ ld ra,264(sp)
++ ld s0,256(sp)
++ ld s1,248(sp)
++ add sp,sp,288
++ jr ra
++.L25:
++ lbu a0,-256(s0)
++ ld ra,264(sp)
++ ld s0,256(sp)
++ ld s1,248(sp)
++ add sp,sp,288
++ jr ra
++.L29:
++ lb a0,-256(s0)
++ ld ra,264(sp)
++ ld s0,256(sp)
++ ld s1,248(sp)
++ add sp,sp,288
++ jr ra
++.L30:
++ lh a0,-256(s0)
++ j .L1
++.L33:
++ lwu a0,-256(s0)
++ j .L1
++.L31:
++ lhu a0,-256(s0)
++ j .L1
++.L27:
++ ld a0,-256(s0)
++ j .L1
++.L32:
++ lw a0,-256(s0)
++ j .L1
++.L34:
++ flw fa0,-256(s0)
++ j .L1
++.L35:
++ fld fa0,-256(s0)
++ j .L1
++.L15:
++ li s1,16
++ sra t4,t4,t3
++ ld t0,8(t5)
++ bleu t2,s1,.L36
++ li a1,-8
++ mulw t6,a1,t6
++ addw t1,t1,-129
++ ld a0,16(t5)
++ li a1,2
++ sll a1,a1,t1
++ add a1,a1,-1
++ and a1,a1,a0
++ sra t3,t0,t3
++ addw t1,t6,64
++ sll a0,t0,t1
++ sll a1,a1,t1
++ or a0,a0,t4
++ or a1,a1,t3
++ j .L1
++.L16:
++ li a0,-8
++ mulw t6,a0,t6
++ addw t1,t1,-65
++ ld t5,8(t5)
++ li a0,2
++ sll a0,a0,t1
++ add a0,a0,-1
++ and a0,a0,t5
++ sra t4,t4,t3
++ sll a0,a0,t6
++ or a0,a0,t4
++ j .L1
++.L36:
++ li a1,-4
++ mulw t6,a1,t6
++ addw t1,t1,-65
++ li a0,2
++ sll a0,a0,t1
++ add a0,a0,-1
++ and a0,a0,t0
++ sra a1,a0,t3
++ addw t1,t6,32
++ sll a0,a0,t1
++ sll a0,a0,t1
++ or a0,a0,t4
++ j .L1
++ .size vacall_receiver, .-vacall_receiver
++ .ident "GCC: (GNU) 7.3.0"
+diff -ruN libffcall-2.4/vacall/vacall-riscv64-lp64d-macro.S libffcall-2.4-20220508/vacall/vacall-riscv64-lp64d-macro.S
+--- libffcall-2.4/vacall/vacall-riscv64-lp64d-macro.S 2021-06-13 02:30:16.000000000 +0800
++++ libffcall-2.4-20220508/vacall/vacall-riscv64-lp64d-macro.S 2022-05-08 19:41:49.000000000 +0800
+@@ -1,3 +1,194 @@
++#ifdef __PIC__
++ .file "vacall-riscv64.c"
++ .option pic
++ .text
++ .align 1
++ .globl vacall_receiver
++ .type vacall_receiver, @function
++vacall_receiver:
++ add sp,sp,-288
++ sd ra,264(sp)
++ sd s0,256(sp)
++ sd s1,248(sp)
++ add s0,sp,272
++ la t1,vacall_function
++ ld t1,0(t1)
++ sd a0,-200(s0)
++ add a0,s0,16
++ sd a7,8(s0)
++ sd a1,-192(s0)
++ sd a2,-184(s0)
++ sd a3,-176(s0)
++ sd a4,-168(s0)
++ sd a5,-160(s0)
++ sd a6,-152(s0)
++ sd a7,-144(s0)
++ fsw fa0,-132(s0)
++ fsw fa1,-128(s0)
++ fsw fa2,-124(s0)
++ fsw fa3,-120(s0)
++ fsw fa4,-116(s0)
++ fsw fa5,-112(s0)
++ fsw fa6,-108(s0)
++ fsw fa7,-104(s0)
++ fsd fa0,-96(s0)
++ fsd fa1,-88(s0)
++ fsd fa2,-80(s0)
++ fsd fa3,-72(s0)
++ fsd fa4,-64(s0)
++ fsd fa5,-56(s0)
++ fsd fa6,-48(s0)
++ fsd fa7,-40(s0)
++ sd a0,-240(s0)
++ sw zero,-264(s0)
++ sd zero,-232(s0)
++ add a0,s0,-264
++ sw zero,-224(s0)
++ sw zero,-208(s0)
++ sw zero,-136(s0)
++ jalr t1
++ lw t1,-224(s0)
++ beqz t1,.L1
++ li t3,1
++ beq t1,t3,.L25
++ li t3,2
++ beq t1,t3,.L29
++ li t3,3
++ beq t1,t3,.L25
++ li t3,4
++ beq t1,t3,.L30
++ li t3,5
++ beq t1,t3,.L31
++ li t3,6
++ beq t1,t3,.L32
++ li t3,7
++ beq t1,t3,.L33
++ and t3,t1,-3
++ li t4,8
++ beq t3,t4,.L27
++ li t4,9
++ beq t3,t4,.L27
++ li t3,12
++ beq t1,t3,.L34
++ li t3,13
++ beq t1,t3,.L35
++ li t3,14
++ beq t1,t3,.L27
++ li t3,15
++ bne t1,t3,.L1
++ lw t3,-264(s0)
++ and t3,t3,1024
++ beqz t3,.L1
++ ld t0,-216(s0)
++ add t3,t0,-1
++ bgtu t3,t1,.L1
++ ld t5,-232(s0)
++ li s1,8
++ and t6,t5,7
++ add t2,t0,t6
++ and t5,t5,-8
++ sext.w t6,t6
++ sllw t1,t2,3
++ ld t4,0(t5)
++ sll t3,t6,3
++ bgtu t0,s1,.L15
++ bgtu t2,s1,.L16
++ addw t1,t1,-1
++ li a0,2
++ sll a0,a0,t1
++ add a0,a0,-1
++ and a0,a0,t4
++ sra a0,a0,t3
++.L1:
++ ld ra,264(sp)
++ ld s0,256(sp)
++ ld s1,248(sp)
++ add sp,sp,288
++ jr ra
++.L25:
++ lbu a0,-256(s0)
++ ld ra,264(sp)
++ ld s0,256(sp)
++ ld s1,248(sp)
++ add sp,sp,288
++ jr ra
++.L29:
++ lb a0,-256(s0)
++ ld ra,264(sp)
++ ld s0,256(sp)
++ ld s1,248(sp)
++ add sp,sp,288
++ jr ra
++.L30:
++ lh a0,-256(s0)
++ j .L1
++.L33:
++ lwu a0,-256(s0)
++ j .L1
++.L31:
++ lhu a0,-256(s0)
++ j .L1
++.L27:
++ ld a0,-256(s0)
++ j .L1
++.L32:
++ lw a0,-256(s0)
++ j .L1
++.L34:
++ flw fa0,-256(s0)
++ j .L1
++.L35:
++ fld fa0,-256(s0)
++ j .L1
++.L15:
++ li s1,16
++ sra t4,t4,t3
++ ld t0,8(t5)
++ bleu t2,s1,.L36
++ li a1,-8
++ mulw t6,a1,t6
++ addw t1,t1,-129
++ ld a0,16(t5)
++ li a1,2
++ sll a1,a1,t1
++ add a1,a1,-1
++ and a1,a1,a0
++ sra t3,t0,t3
++ addw t1,t6,64
++ sll a0,t0,t1
++ sll a1,a1,t1
++ or a0,a0,t4
++ or a1,a1,t3
++ j .L1
++.L16:
++ li a0,-8
++ mulw t6,a0,t6
++ addw t1,t1,-65
++ ld t5,8(t5)
++ li a0,2
++ sll a0,a0,t1
++ add a0,a0,-1
++ and a0,a0,t5
++ sra t4,t4,t3
++ sll a0,a0,t6
++ or a0,a0,t4
++ j .L1
++.L36:
++ li a1,-4
++ mulw t6,a1,t6
++ addw t1,t1,-65
++ li a0,2
++ sll a0,a0,t1
++ add a0,a0,-1
++ and a0,a0,t0
++ sra a1,a0,t3
++ addw t1,t6,32
++ sll a0,a0,t1
++ sll a0,a0,t1
++ or a0,a0,t4
++ j .L1
++ .size vacall_receiver, .-vacall_receiver
++#else
+ .file "vacall-riscv64.c"
+ .option nopic
+ .text
+@@ -187,6 +378,7 @@
+ or a0,a0,t4
+ j .L1
+ .size vacall_receiver, .-vacall_receiver
++#endif
+ #if defined __linux__ || defined __FreeBSD__ || defined __FreeBSD_kernel__ || defined __DragonFly__
+ .section .note.GNU-stack,"",@progbits
+ #endif
diff --git a/dev-libs/flatbuffers/Manifest b/dev-libs/flatbuffers/Manifest
index 7bb90e6d049c..080fa756df8b 100644
--- a/dev-libs/flatbuffers/Manifest
+++ b/dev-libs/flatbuffers/Manifest
@@ -1 +1 @@
-DIST flatbuffers-2.0.0.tar.gz 1538022 BLAKE2B ccd827a43da39cf831727b439beed0cea216cdf50dbfe70954854bbe388b2c47ed4e78cc87e3fc0d5568034b13baa2ea96480914cc8129747bccbf8ea928847c SHA512 26a06b572c0e4c9685743bd2d2162ac7dcd74b9324624cc3f3ef5b154c0cee7c52a04b77cdc184245d2d6ae38dfdcc4fd66001c318aa8ca001d2bf1d85d66a89
+DIST flatbuffers-24.3.25.gh.tar.gz 2297829 BLAKE2B f3a5a94119a1b1b63fba9126e1cdff7ab712996bfc0d65626a679405f62dfa722bc5de244ef775fba336224b60feff3aa27acf54bed027c4013590b4afbefe7c SHA512 e2a614f4fc526ce07bfe1e1bc79efd3c87acbdb93aee7b42994d4855abd2593f36b5ca1edb53c7dcd470d5fbe14a3e394bd75dcebb4458cc0aeb33d622a3c662
diff --git a/dev-libs/flatbuffers/flatbuffers-2.0.0-r1.ebuild b/dev-libs/flatbuffers/flatbuffers-2.0.0-r1.ebuild
deleted file mode 100644
index 66d76389cfc2..000000000000
--- a/dev-libs/flatbuffers/flatbuffers-2.0.0-r1.ebuild
+++ /dev/null
@@ -1,33 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit cmake
-
-DESCRIPTION="Memory efficient serialization library"
-HOMEPAGE="https://google.github.io/flatbuffers/"
-SRC_URI="https://github.com/google/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="Apache-2.0"
-# From 1.2.0->2.0.0, incremented SONAME, although the interface didn't actually change.
-# (Apparently to adopt semver.)
-SLOT="0/2"
-KEYWORDS="amd64 ~arm arm64 x86"
-IUSE="static-libs test"
-
-RESTRICT="!test? ( test )"
-
-DOCS=( readme.md )
-
-src_configure() {
- local mycmakeargs=(
- -DFLATBUFFERS_BUILD_FLATLIB=$(usex static-libs)
- -DFLATBUFFERS_BUILD_SHAREDLIB=ON
- -DFLATBUFFERS_BUILD_TESTS=$(usex test)
- )
-
- use elibc_musl && mycmakeargs+=( -DFLATBUFFERS_LOCALE_INDEPENDENT=0 )
-
- cmake_src_configure
-}
diff --git a/dev-libs/flatbuffers/flatbuffers-24.3.25.ebuild b/dev-libs/flatbuffers/flatbuffers-24.3.25.ebuild
new file mode 100644
index 000000000000..ead2e8a0a127
--- /dev/null
+++ b/dev-libs/flatbuffers/flatbuffers-24.3.25.ebuild
@@ -0,0 +1,33 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+DESCRIPTION="Memory efficient serialization library"
+HOMEPAGE="
+ https://flatbuffers.dev/
+ https://github.com/google/flatbuffers/
+"
+SRC_URI="
+ https://github.com/google/flatbuffers/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="Apache-2.0"
+SLOT="0/${PV}"
+KEYWORDS="amd64 ~arm arm64 ~loong ~riscv x86"
+IUSE="static-libs test"
+RESTRICT="!test? ( test )"
+
+src_configure() {
+ local mycmakeargs=(
+ -DFLATBUFFERS_BUILD_FLATLIB=$(usex static-libs)
+ -DFLATBUFFERS_BUILD_SHAREDLIB=ON
+ -DFLATBUFFERS_BUILD_TESTS=$(usex test)
+ -DFLATBUFFERS_BUILD_BENCHMARKS=OFF
+ )
+
+ cmake_src_configure
+}
diff --git a/dev-libs/flatbuffers/metadata.xml b/dev-libs/flatbuffers/metadata.xml
index 7351ad7bcae6..3349130b9b78 100644
--- a/dev-libs/flatbuffers/metadata.xml
+++ b/dev-libs/flatbuffers/metadata.xml
@@ -1,11 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="project">
- <email>kde@gentoo.org</email>
- <name>Gentoo KDE Project</name>
+ <maintainer type="person">
+ <email>mgorny@gentoo.org</email>
+ <name>Michał Górny</name>
</maintainer>
<upstream>
<remote-id type="github">google/flatbuffers</remote-id>
+ <remote-id type="cpe">cpe:/a:google:flatbuffers</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-libs/folks/Manifest b/dev-libs/folks/Manifest
index 6d69ee3bf2b3..f63189255e12 100644
--- a/dev-libs/folks/Manifest
+++ b/dev-libs/folks/Manifest
@@ -1,2 +1,3 @@
-DIST folks-0.15.3.tar.xz 491432 BLAKE2B f11123a2c41c4a36c002b26f3c3616d62e4a74bbddbde84643143404497c8e3c31d8cafc8bff0ba4714606259aaa6f7adf352ba4bb98a20c75a181ee68bfda3a SHA512 dd54aef470990974bfc9b22fb83c868ca9674608ccfddeea1bb7507dfc77d7d12a43d43462957b0bb99bf249c13868ba7326f7fd7e38de8802a3ba54e33d8d58
-DIST folks-0.15.4.tar.xz 493004 BLAKE2B 0e067a39b4e89e8fa41b20f37c774e56fcb1e0c8de23798ced647177b0d9329509ae3c03ff85a00464887deb4ce275c96b2fcf50aa2dd44af02e20b6ee45fe65 SHA512 4dbd0bb82d56a8cb179ab8148ce531817ccd55bd40f8b562eb0d77555b264e5190669b356ff009c81a963fdcacaabc02fe871bf0c3c668a648f2c820da76f25c
+DIST folks-0.15.6.tar.xz 497968 BLAKE2B bb9237fae05a748a18a85d29034e879947c4ffcc1d3dbe7277c8e1f41e6e9c9ec27170e9e7d2ccb6dcc89789d331f7f320648620636e1ee54685906fc67ba4f9 SHA512 8d77c3b4c963d88877798b24da9edd977b3ac4b18568ed75885fa87bf81e0e8f29dc8232352e3fefc0bf2c9bb8ca6cea984d87d946a3892963a158bd4f45dc30
+DIST folks-0.15.7.tar.xz 502128 BLAKE2B b93146b216dd31dbc07cf770130593f830c01568aff3424bf4d0d8588ac651ea225ed6d3b38b9855d82dbef168605145a3a3de49706dd2ab31a4d368636dddf0 SHA512 52657b45678aa2418a44b0c8d332ac207eff18b02ca5c0d1491bdf8bae6552f30f2b6435804adc2a5fa66997f2cea09bdfe399dfaf52f3d8b7a5bde11b137c35
+DIST folks-0.15.9.tar.xz 506044 BLAKE2B e239c0ca3b51a5452620f5abaf37b34413b0a5ee867cc682214abd00c21d6375abf1a31755acd69360e47604c61572a63ffbe91f38485be1a83685a98aa34cd0 SHA512 8b1f0afaaf0907a9609863ec913eab75c7f60e3d1fd54e553fdb8d425f33cfb6043171bc5b7cc1dc66b1de702e1a8f5dd229c707d99af47dd3926ec0588c87fd
diff --git a/dev-libs/folks/files/0.15.7-bluez-tests-dbusmock-0.30.1.patch b/dev-libs/folks/files/0.15.7-bluez-tests-dbusmock-0.30.1.patch
new file mode 100644
index 000000000000..7ab37e0b1bc2
--- /dev/null
+++ b/dev-libs/folks/files/0.15.7-bluez-tests-dbusmock-0.30.1.patch
@@ -0,0 +1,28 @@
+From 9c3212cd6c3f4157e1b9afa5c90d054de1418acf Mon Sep 17 00:00:00 2001
+From: Niels De Graef <ndegraef@redhat.com>
+Date: Fri, 12 Jan 2024 22:57:42 +0100
+Subject: [PATCH] Revert "tests/bluez: Follow PairDevice() API change"
+
+This reverts commit b6b7d41aad9e36e0d0e6ec9822ed2e310923c8fd.
+
+See https://github.com/martinpitt/python-dbusmock/pull/192
+---
+ tests/lib/bluez/backend.vala | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/tests/lib/bluez/backend.vala b/tests/lib/bluez/backend.vala
+index 72c688d3..023117e6 100644
+--- a/tests/lib/bluez/backend.vala
++++ b/tests/lib/bluez/backend.vala
+@@ -39,7 +39,7 @@ namespace org
+
+ [DBus (name = "PairDevice")]
+ public abstract void pair_device (string adapter_device_name,
+- string device_address, int class_=5898764) throws GLib.Error;
++ string device_address) throws GLib.Error;
+
+ [DBus (name = "BlockDevice")]
+ public abstract void block_device (string adapter_device_name,
+--
+GitLab
+
diff --git a/dev-libs/folks/files/folks-0.15.6-implicit-decl.patch b/dev-libs/folks/files/folks-0.15.6-implicit-decl.patch
new file mode 100644
index 000000000000..f61d655343e4
--- /dev/null
+++ b/dev-libs/folks/files/folks-0.15.6-implicit-decl.patch
@@ -0,0 +1,61 @@
+From 127bacf86b7ef639c37dd07afc0bf848c005c3c2 Mon Sep 17 00:00:00 2001
+From: Mohammed Anas <triallax@tutanota.com>
+Date: Sun, 14 Jan 2024 03:27:31 +0000
+Subject: [PATCH] build: add missing API declaration -include to dummy and EDS
+ backends
+
+In 7a9c8133468c1f8eb7fbb0e68a6a7e061b9452fb, the original
+`-include redeclare-internal-api.h` was added for autotools. It is
+necessary due to vala internals that require guaranteeing a private
+ABI's prototype is available when compiling folks, even though vala
+doesn't generate that prototype.
+
+During the port to meson, this `-include` was dropped.
+
+Without it, `-Werror=implicit-function-declaration` will cause folks to
+fail to compile. Implicit function declarations are a terrible feature
+-- they were part of c89, but c99 removed them without a deprecation
+because they were too dangerous to use, notable in a language that
+doesn't like to remove features even *with* a deprecation.
+
+For over two decades, compilers have, by default, allowed this invalid C
+anyways, on the grounds that it commonly existed, but modern compilers
+are finally starting to enforce this. It will become a fatal error by
+default in gcc 14, and clang 16.
+
+Folks got this right all the way back in 2013; it disappeared by
+accident. Let's restore it as originally intended.
+---
+Upstream: https://gitlab.gnome.org/GNOME/folks/-/merge_requests/68
+
+ backends/dummy/lib/meson.build | 1 +
+ backends/eds/lib/meson.build | 1 +
+ 2 files changed, 2 insertions(+)
+
+diff --git a/backends/dummy/lib/meson.build b/backends/dummy/lib/meson.build
+index 32448f35..eacc0e7a 100644
+--- a/backends/dummy/lib/meson.build
++++ b/backends/dummy/lib/meson.build
+@@ -23,6 +23,7 @@ dummy_backendlib_vala_flags = [
+
+ dummy_backendlib_c_flags = [
+ '-include', 'config.h',
++ '-include', 'folks/redeclare-internal-api.h',
+ '-DBACKEND_NAME="@0@"'.format(dummy_backend_name),
+ '-DG_LOG_DOMAIN="@0@"'.format(dummy_backend_name),
+ ]
+diff --git a/backends/eds/lib/meson.build b/backends/eds/lib/meson.build
+index 3e3db84c..68d803b3 100644
+--- a/backends/eds/lib/meson.build
++++ b/backends/eds/lib/meson.build
+@@ -40,6 +40,7 @@ endif
+
+ eds_backendlib_c_flags = [
+ '-include', 'config.h',
++ '-include', 'folks/redeclare-internal-api.h',
+ '-DBACKEND_NAME="@0@"'.format(eds_backend_name),
+ '-DG_LOG_DOMAIN="@0@"'.format(eds_backend_name),
+ ]
+--
+GitLab
+
diff --git a/dev-libs/folks/folks-0.15.3.ebuild b/dev-libs/folks/folks-0.15.3.ebuild
deleted file mode 100644
index ab69961fd1bc..000000000000
--- a/dev-libs/folks/folks-0.15.3.ebuild
+++ /dev/null
@@ -1,96 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-VALA_USE_DEPEND="vapigen"
-VALA_MIN_API_VERSION="0.48"
-PYTHON_COMPAT=( python3_{7..10} )
-
-inherit gnome.org gnome2-utils meson python-any-r1 vala xdg
-
-DESCRIPTION="Library for aggregating people from multiple sources"
-HOMEPAGE="https://wiki.gnome.org/Projects/Folks https://gitlab.gnome.org/GNOME/folks"
-
-LICENSE="LGPL-2.1+"
-SLOT="0/26" # subslot = libfolks soname version
-KEYWORDS="~alpha amd64 ~arm ~arm64 ~ia64 ~ppc ~ppc64 ~riscv ~sparc x86 ~x86-linux"
-
-IUSE="bluetooth eds +telepathy test utils"
-REQUIRED_USE="bluetooth? ( eds )"
-RESTRICT="!test? ( test )"
-
-DEPEND="
- >=dev-libs/glib-2.58:2
- >=dev-libs/libgee-0.10:0.8[introspection]
- >=dev-libs/gobject-introspection-1.54:=
- telepathy? (
- >=net-libs/telepathy-glib-0.19.9
- dev-libs/dbus-glib
- )
- eds? ( >=gnome-extra/evolution-data-server-3.38:= )
- dev-libs/libxml2:2
- utils? ( sys-libs/readline:0= )
-"
-# telepathy-mission-control needed at runtime; it is used by the telepathy
-# backend via telepathy-glib's AccountManager binding.
-RDEPEND="${DEPEND}
- bluetooth? ( >=net-wireless/bluez-5[obex] )
- telepathy? ( net-im/telepathy-mission-control )
-"
-BDEPEND="
- ${PYTHON_DEPS}
- >=sys-devel/gettext-0.19.8
- virtual/pkgconfig
- $(vala_depend)
- telepathy? ( net-libs/telepathy-glib[vala] )
- eds? ( gnome-extra/evolution-data-server[vala] )
- test? (
- sys-apps/dbus
- bluetooth? (
- $(python_gen_any_dep '
- dev-python/python-dbusmock[${PYTHON_USEDEP}]
- ')
- )
- )
-"
-
-python_check_deps() {
- if use test && use bluetooth; then
- has_version "dev-python/python-dbusmock[${PYTHON_USEDEP}]"
- fi
-}
-
-src_prepare() {
- vala_src_prepare
- xdg_src_prepare
-}
-
-src_configure() {
- local emesonargs=(
- $(meson_use bluetooth bluez_backend)
- $(meson_use eds eds_backend)
- $(meson_use eds ofono_backend)
- $(meson_use telepathy telepathy_backend)
- -Dzeitgeist=false # last rited package
- -Dimport_tool=true
- $(meson_use utils inspect_tool)
- $(meson_use test tests)
- -Dinstalled_tests=false
- -Ddocs=false # Needs find_program sedding to specific version; only dev docs, don't bother
- )
- meson_src_configure
-}
-
-src_test() {
- dbus-run-session meson test -C "${BUILD_DIR}" -t 5
-}
-
-pkg_postinst() {
- xdg_pkg_postinst
- gnome2_schemas_update
-}
-
-pkg_postrm() {
- xdg_pkg_postrm
- gnome2_schemas_update
-}
diff --git a/dev-libs/folks/folks-0.15.4.ebuild b/dev-libs/folks/folks-0.15.4.ebuild
deleted file mode 100644
index 7d90012d5b65..000000000000
--- a/dev-libs/folks/folks-0.15.4.ebuild
+++ /dev/null
@@ -1,96 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-VALA_USE_DEPEND="vapigen"
-VALA_MIN_API_VERSION="0.48"
-PYTHON_COMPAT=( python3_{7..10} )
-
-inherit gnome.org gnome2-utils meson python-any-r1 vala xdg
-
-DESCRIPTION="Library for aggregating people from multiple sources"
-HOMEPAGE="https://wiki.gnome.org/Projects/Folks https://gitlab.gnome.org/GNOME/folks"
-
-LICENSE="LGPL-2.1+"
-SLOT="0/26" # subslot = libfolks soname version
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ia64 ~ppc ~ppc64 ~riscv ~sparc ~x86 ~x86-linux"
-
-IUSE="bluetooth eds +telepathy test utils"
-REQUIRED_USE="bluetooth? ( eds )"
-RESTRICT="!test? ( test )"
-
-DEPEND="
- >=dev-libs/glib-2.58:2
- >=dev-libs/libgee-0.10:0.8[introspection]
- >=dev-libs/gobject-introspection-1.54:=
- telepathy? (
- >=net-libs/telepathy-glib-0.19.9
- dev-libs/dbus-glib
- )
- eds? ( >=gnome-extra/evolution-data-server-3.38:= )
- dev-libs/libxml2:2
- utils? ( sys-libs/readline:0= )
-"
-# telepathy-mission-control needed at runtime; it is used by the telepathy
-# backend via telepathy-glib's AccountManager binding.
-RDEPEND="${DEPEND}
- bluetooth? ( >=net-wireless/bluez-5[obex] )
- telepathy? ( net-im/telepathy-mission-control )
-"
-BDEPEND="
- ${PYTHON_DEPS}
- >=sys-devel/gettext-0.19.8
- virtual/pkgconfig
- $(vala_depend)
- telepathy? ( net-libs/telepathy-glib[vala] )
- eds? ( gnome-extra/evolution-data-server[vala] )
- test? (
- sys-apps/dbus
- bluetooth? (
- $(python_gen_any_dep '
- dev-python/python-dbusmock[${PYTHON_USEDEP}]
- ')
- )
- )
-"
-
-python_check_deps() {
- if use test && use bluetooth; then
- has_version "dev-python/python-dbusmock[${PYTHON_USEDEP}]"
- fi
-}
-
-src_prepare() {
- vala_src_prepare
- xdg_src_prepare
-}
-
-src_configure() {
- local emesonargs=(
- $(meson_use bluetooth bluez_backend)
- $(meson_use eds eds_backend)
- $(meson_use eds ofono_backend)
- $(meson_use telepathy telepathy_backend)
- -Dzeitgeist=false # last rited package
- -Dimport_tool=true
- $(meson_use utils inspect_tool)
- $(meson_use test tests)
- -Dinstalled_tests=false
- -Ddocs=false # Needs find_program sedding to specific version; only dev docs, don't bother
- )
- meson_src_configure
-}
-
-src_test() {
- dbus-run-session meson test -C "${BUILD_DIR}" -t 5
-}
-
-pkg_postinst() {
- xdg_pkg_postinst
- gnome2_schemas_update
-}
-
-pkg_postrm() {
- xdg_pkg_postrm
- gnome2_schemas_update
-}
diff --git a/dev-libs/folks/folks-0.15.6-r1.ebuild b/dev-libs/folks/folks-0.15.6-r1.ebuild
new file mode 100644
index 000000000000..a01a4476a16d
--- /dev/null
+++ b/dev-libs/folks/folks-0.15.6-r1.ebuild
@@ -0,0 +1,102 @@
+# 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 gnome2-utils meson python-any-r1 vala xdg
+
+DESCRIPTION="Library for aggregating people from multiple sources"
+HOMEPAGE="https://wiki.gnome.org/Projects/Folks https://gitlab.gnome.org/GNOME/folks"
+
+LICENSE="LGPL-2.1+"
+SLOT="0/26" # subslot = libfolks soname version
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ia64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86 ~x86-linux"
+
+IUSE="bluetooth eds telepathy test utils"
+REQUIRED_USE="bluetooth? ( eds )"
+RESTRICT="!test? ( test )"
+
+DEPEND="
+ >=dev-libs/glib-2.58:2
+ >=dev-libs/libgee-0.10:0.8[introspection]
+ >=dev-libs/gobject-introspection-1.54:=
+ telepathy? (
+ >=net-libs/telepathy-glib-0.19.9
+ dev-libs/dbus-glib
+ )
+ eds? ( >=gnome-extra/evolution-data-server-3.38:= )
+ dev-libs/libxml2:2
+ utils? ( sys-libs/readline:0= )
+"
+# telepathy-mission-control needed at runtime; it is used by the telepathy
+# backend via telepathy-glib's AccountManager binding.
+RDEPEND="${DEPEND}
+ bluetooth? ( >=net-wireless/bluez-5[obex] )
+ telepathy? ( net-im/telepathy-mission-control )
+"
+BDEPEND="
+ ${PYTHON_DEPS}
+ >=sys-devel/gettext-0.19.8
+ virtual/pkgconfig
+ $(vala_depend)
+ telepathy? ( net-libs/telepathy-glib[vala] )
+ eds? ( gnome-extra/evolution-data-server[vala] )
+ test? (
+ sys-apps/dbus
+ bluetooth? (
+ $(python_gen_any_dep '
+ dev-python/python-dbusmock[${PYTHON_USEDEP}]
+ ')
+ )
+ )
+"
+
+PATCHES=(
+ # implicit function declaration (Modern C porting):
+ # - https://bugs.gentoo.org/920098
+ # - https://gitlab.gnome.org/GNOME/folks/-/merge_requests/68
+ "${FILESDIR}"/folks-0.15.6-implicit-decl.patch
+)
+
+python_check_deps() {
+ if use test && use bluetooth; then
+ python_has_version "dev-python/python-dbusmock[${PYTHON_USEDEP}]"
+ fi
+}
+
+src_prepare() {
+ default
+ vala_setup
+ xdg_environment_reset
+}
+
+src_configure() {
+ local emesonargs=(
+ $(meson_use bluetooth bluez_backend)
+ $(meson_use eds eds_backend)
+ $(meson_use eds ofono_backend)
+ $(meson_use telepathy telepathy_backend)
+ -Dzeitgeist=false # last rited package
+ -Dimport_tool=true
+ $(meson_use utils inspect_tool)
+ $(meson_use test tests)
+ -Dinstalled_tests=false
+ -Ddocs=false # Needs find_program sedding to specific version; only dev docs, don't bother
+ )
+ meson_src_configure
+}
+
+src_test() {
+ dbus-run-session meson test -C "${BUILD_DIR}" -t 5
+}
+
+pkg_postinst() {
+ xdg_pkg_postinst
+ gnome2_schemas_update
+}
+
+pkg_postrm() {
+ xdg_pkg_postrm
+ gnome2_schemas_update
+}
diff --git a/dev-libs/folks/folks-0.15.6.ebuild b/dev-libs/folks/folks-0.15.6.ebuild
new file mode 100644
index 000000000000..45afd5a484b8
--- /dev/null
+++ b/dev-libs/folks/folks-0.15.6.ebuild
@@ -0,0 +1,95 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+PYTHON_COMPAT=( python3_{9..11} )
+
+inherit gnome.org gnome2-utils meson python-any-r1 vala xdg
+
+DESCRIPTION="Library for aggregating people from multiple sources"
+HOMEPAGE="https://wiki.gnome.org/Projects/Folks https://gitlab.gnome.org/GNOME/folks"
+
+LICENSE="LGPL-2.1+"
+SLOT="0/26" # subslot = libfolks soname version
+KEYWORDS="~alpha amd64 ~arm arm64 ~ia64 ~loong ~ppc ~ppc64 ~riscv ~sparc x86 ~x86-linux"
+
+IUSE="bluetooth eds telepathy test utils"
+REQUIRED_USE="bluetooth? ( eds )"
+RESTRICT="!test? ( test )"
+
+DEPEND="
+ >=dev-libs/glib-2.58:2
+ >=dev-libs/libgee-0.10:0.8[introspection]
+ >=dev-libs/gobject-introspection-1.54:=
+ telepathy? (
+ >=net-libs/telepathy-glib-0.19.9
+ dev-libs/dbus-glib
+ )
+ eds? ( >=gnome-extra/evolution-data-server-3.38:= )
+ dev-libs/libxml2:2
+ utils? ( sys-libs/readline:0= )
+"
+# telepathy-mission-control needed at runtime; it is used by the telepathy
+# backend via telepathy-glib's AccountManager binding.
+RDEPEND="${DEPEND}
+ bluetooth? ( >=net-wireless/bluez-5[obex] )
+ telepathy? ( net-im/telepathy-mission-control )
+"
+BDEPEND="
+ ${PYTHON_DEPS}
+ >=sys-devel/gettext-0.19.8
+ virtual/pkgconfig
+ $(vala_depend)
+ telepathy? ( net-libs/telepathy-glib[vala] )
+ eds? ( gnome-extra/evolution-data-server[vala] )
+ test? (
+ sys-apps/dbus
+ bluetooth? (
+ $(python_gen_any_dep '
+ dev-python/python-dbusmock[${PYTHON_USEDEP}]
+ ')
+ )
+ )
+"
+
+python_check_deps() {
+ if use test && use bluetooth; then
+ python_has_version "dev-python/python-dbusmock[${PYTHON_USEDEP}]"
+ fi
+}
+
+src_prepare() {
+ default
+ vala_setup
+ xdg_environment_reset
+}
+
+src_configure() {
+ local emesonargs=(
+ $(meson_use bluetooth bluez_backend)
+ $(meson_use eds eds_backend)
+ $(meson_use eds ofono_backend)
+ $(meson_use telepathy telepathy_backend)
+ -Dzeitgeist=false # last rited package
+ -Dimport_tool=true
+ $(meson_use utils inspect_tool)
+ $(meson_use test tests)
+ -Dinstalled_tests=false
+ -Ddocs=false # Needs find_program sedding to specific version; only dev docs, don't bother
+ )
+ meson_src_configure
+}
+
+src_test() {
+ dbus-run-session meson test -C "${BUILD_DIR}" -t 5
+}
+
+pkg_postinst() {
+ xdg_pkg_postinst
+ gnome2_schemas_update
+}
+
+pkg_postrm() {
+ xdg_pkg_postrm
+ gnome2_schemas_update
+}
diff --git a/dev-libs/folks/folks-0.15.7.ebuild b/dev-libs/folks/folks-0.15.7.ebuild
new file mode 100644
index 000000000000..321ca83f3284
--- /dev/null
+++ b/dev-libs/folks/folks-0.15.7.ebuild
@@ -0,0 +1,106 @@
+# 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 gnome2-utils meson python-any-r1 vala xdg
+
+DESCRIPTION="Library for aggregating people from multiple sources"
+HOMEPAGE="https://wiki.gnome.org/Projects/Folks https://gitlab.gnome.org/GNOME/folks"
+
+LICENSE="LGPL-2.1+"
+SLOT="0/26" # subslot = libfolks soname version
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ia64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86 ~x86-linux"
+
+IUSE="bluetooth eds telepathy test utils"
+REQUIRED_USE="bluetooth? ( eds )"
+RESTRICT="!test? ( test )"
+
+DEPEND="
+ >=dev-libs/glib-2.58:2
+ >=dev-libs/libgee-0.10:0.8[introspection]
+ >=dev-libs/gobject-introspection-1.54:=
+ telepathy? (
+ >=net-libs/telepathy-glib-0.19.9
+ dev-libs/dbus-glib
+ )
+ eds? ( >=gnome-extra/evolution-data-server-3.38:= )
+ dev-libs/libxml2:2
+ utils? ( sys-libs/readline:0= )
+"
+# telepathy-mission-control needed at runtime; it is used by the telepathy
+# backend via telepathy-glib's AccountManager binding.
+RDEPEND="${DEPEND}
+ bluetooth? ( >=net-wireless/bluez-5[obex] )
+ telepathy? ( net-im/telepathy-mission-control )
+"
+BDEPEND="
+ ${PYTHON_DEPS}
+ >=sys-devel/gettext-0.19.8
+ virtual/pkgconfig
+ $(vala_depend)
+ telepathy? ( net-libs/telepathy-glib[vala] )
+ eds? ( gnome-extra/evolution-data-server[vala] )
+ test? (
+ sys-apps/dbus
+ bluetooth? (
+ $(python_gen_any_dep '
+ >=dev-python/python-dbusmock-0.30.1[${PYTHON_USEDEP}]
+ ')
+ )
+ )
+"
+
+PATCHES=(
+ # implicit function declaration (Modern C porting):
+ # - https://bugs.gentoo.org/920098
+ # - https://gitlab.gnome.org/GNOME/folks/-/merge_requests/68
+ "${FILESDIR}"/folks-0.15.6-implicit-decl.patch
+ # Fix BluezBackend tests with python-dbusmock-0.30.1 and newer
+ "${FILESDIR}"/${PV}-bluez-tests-dbusmock-0.30.1.patch
+)
+
+python_check_deps() {
+ if use test && use bluetooth; then
+ python_has_version ">=dev-python/python-dbusmock-0.30.1[${PYTHON_USEDEP}]"
+ fi
+}
+
+src_prepare() {
+ default
+ vala_setup
+ xdg_environment_reset
+}
+
+src_configure() {
+ local emesonargs=(
+ $(meson_use bluetooth bluez_backend)
+ $(meson_use eds eds_backend)
+ $(meson_use eds ofono_backend)
+ $(meson_use telepathy telepathy_backend)
+ -Dzeitgeist=false # last rited package
+ -Dimport_tool=true
+ $(meson_use utils inspect_tool)
+ $(meson_use test tests)
+ -Dinstalled_tests=false
+ -Ddocs=false # Needs find_program sedding to specific version; only dev docs, don't bother
+ )
+ meson_src_configure
+}
+
+src_test() {
+ # Avoid warnings when /etc/profile.d/flatpak.sh from flatpak modified XDG_DATA_DIRS
+ export XDG_DATA_DIRS="${EPREFIX}"/usr/share
+ dbus-run-session meson test -C "${BUILD_DIR}" -t 5 || die "tests failed"
+}
+
+pkg_postinst() {
+ xdg_pkg_postinst
+ gnome2_schemas_update
+}
+
+pkg_postrm() {
+ xdg_pkg_postrm
+ gnome2_schemas_update
+}
diff --git a/dev-libs/folks/folks-0.15.9.ebuild b/dev-libs/folks/folks-0.15.9.ebuild
new file mode 100644
index 000000000000..99693b318313
--- /dev/null
+++ b/dev-libs/folks/folks-0.15.9.ebuild
@@ -0,0 +1,97 @@
+# 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 gnome2-utils meson python-any-r1 vala xdg
+
+DESCRIPTION="Library for aggregating people from multiple sources"
+HOMEPAGE="https://wiki.gnome.org/Projects/Folks https://gitlab.gnome.org/GNOME/folks"
+
+LICENSE="LGPL-2.1+"
+SLOT="0/26" # subslot = libfolks soname version
+KEYWORDS="~alpha amd64 ~arm ~arm64 ~ia64 ~loong ~ppc ~ppc64 ~riscv ~sparc x86 ~x86-linux"
+
+IUSE="bluetooth eds telepathy test utils"
+REQUIRED_USE="bluetooth? ( eds )"
+RESTRICT="!test? ( test )"
+
+DEPEND="
+ >=dev-libs/glib-2.58:2
+ >=dev-libs/libgee-0.10:0.8[introspection]
+ >=dev-libs/gobject-introspection-1.54:=
+ telepathy? (
+ >=net-libs/telepathy-glib-0.19.9
+ dev-libs/dbus-glib
+ )
+ eds? ( >=gnome-extra/evolution-data-server-3.38:= )
+ dev-libs/libxml2:2
+ utils? ( sys-libs/readline:0= )
+"
+# telepathy-mission-control needed at runtime; it is used by the telepathy
+# backend via telepathy-glib's AccountManager binding.
+RDEPEND="${DEPEND}
+ bluetooth? ( >=net-wireless/bluez-5[obex] )
+ telepathy? ( net-im/telepathy-mission-control )
+"
+BDEPEND="
+ ${PYTHON_DEPS}
+ >=sys-devel/gettext-0.19.8
+ virtual/pkgconfig
+ $(vala_depend)
+ telepathy? ( net-libs/telepathy-glib[vala] )
+ eds? ( gnome-extra/evolution-data-server[vala] )
+ test? (
+ sys-apps/dbus
+ bluetooth? (
+ $(python_gen_any_dep '
+ >=dev-python/python-dbusmock-0.30.1[${PYTHON_USEDEP}]
+ ')
+ )
+ )
+"
+
+python_check_deps() {
+ if use test && use bluetooth; then
+ python_has_version ">=dev-python/python-dbusmock-0.30.1[${PYTHON_USEDEP}]"
+ fi
+}
+
+src_prepare() {
+ default
+ vala_setup
+ xdg_environment_reset
+}
+
+src_configure() {
+ local emesonargs=(
+ $(meson_use bluetooth bluez_backend)
+ $(meson_use eds eds_backend)
+ $(meson_use eds ofono_backend)
+ $(meson_use telepathy telepathy_backend)
+ -Dzeitgeist=false # last rited package
+ -Dimport_tool=true
+ $(meson_use utils inspect_tool)
+ $(meson_use test tests)
+ -Dinstalled_tests=false
+ -Ddocs=false # Needs find_program sedding to specific version; only dev docs, don't bother
+ )
+ meson_src_configure
+}
+
+src_test() {
+ # Avoid warnings when /etc/profile.d/flatpak.sh from flatpak modified XDG_DATA_DIRS
+ export XDG_DATA_DIRS="${EPREFIX}"/usr/share
+ dbus-run-session meson test -C "${BUILD_DIR}" -t 5 || die "tests failed"
+}
+
+pkg_postinst() {
+ xdg_pkg_postinst
+ gnome2_schemas_update
+}
+
+pkg_postrm() {
+ xdg_pkg_postrm
+ gnome2_schemas_update
+}
diff --git a/dev-libs/folks/metadata.xml b/dev-libs/folks/metadata.xml
index 594d5fe04cab..96c6f3f743fd 100644
--- a/dev-libs/folks/metadata.xml
+++ b/dev-libs/folks/metadata.xml
@@ -1,12 +1,15 @@
<?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>
-<use>
- <flag name="telepathy">Load contacts from the Telepathy framework</flag>
- <flag name="utils">Build the folks-inspect utility</flag>
-</use>
+ <maintainer type="project">
+ <email>gnome@gentoo.org</email>
+ <name>Gentoo GNOME Desktop</name>
+ </maintainer>
+ <use>
+ <flag name="telepathy">Load contacts from the Telepathy framework</flag>
+ <flag name="utils">Build the folks-inspect utility</flag>
+ </use>
+ <upstream>
+ <remote-id type="gnome-gitlab">GNOME/folks</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/dev-libs/foma/Manifest b/dev-libs/foma/Manifest
index 81077719d2a4..3ead4d9f91d4 100644
--- a/dev-libs/foma/Manifest
+++ b/dev-libs/foma/Manifest
@@ -1 +1 @@
-DIST foma-0.9.18.tar.gz 337134 BLAKE2B b7f1eeaeaa21096f8077f0e81f3c57c49bbba30afe8db280089c40ed6cf475df33a6899fd2b6929d3f58fe8b3660a92566ae41f2bd5d8a46dacc073b48caf030 SHA512 17df4c070d1460855804aa63f97cc4a0d9568755e93de0de80821625faab7a3994a260650c5e8f43f80b5a0702dadb0cfe57136ab50eb2a9946f118991205b1a
+DIST foma-0.10.0_p20220612.tar.gz 179778 BLAKE2B f96bf46404ead44725b609953a01a3966506af98d82e925e981cef65b3f0dc7ae3414ad96df911e380f1f565f9c11ea3f85e93fa5962cc52db5e451d2f39d37c SHA512 4539c937bd20f74dee5274126cc3a950873a87364d0fcbf02e674eca5ef049badb1b2774c2975ec7969f7f24ccffb7dd17842840e3a818b1503957374ceff048
diff --git a/dev-libs/foma/files/foma-0.10-0-fix-BOM_codes-initializer.patch b/dev-libs/foma/files/foma-0.10-0-fix-BOM_codes-initializer.patch
new file mode 100644
index 000000000000..0aeb26ea9ef3
--- /dev/null
+++ b/dev-libs/foma/files/foma-0.10-0-fix-BOM_codes-initializer.patch
@@ -0,0 +1,41 @@
+From 9a99d2d41809422080606bb49531b38ce1e2111a Mon Sep 17 00:00:00 2001
+From: Florian Weimer <fweimer@redhat.com>
+Date: Thu, 4 Jan 2024 17:15:27 +0100
+Subject: [PATCH] Fix BOM_codes initializer
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Future compilers will reject the current initializer:
+
+io.c:1002:7: error: initialization of ‘char’ from ‘void *’ makes integer from pointer without a cast
+ 1002 | { NULL, 0, NULL },
+ | ^~~~
+io.c:1002:16: error: initialization of ‘char’ from ‘void *’ makes integer from pointer without a cast
+ 1002 | { NULL, 0, NULL },
+ | ^~~~
+io.c:996:26: warning: missing braces around initializer [-Wmissing-braces]
+ 996 | static BOM BOM_codes[] = {
+ | ^
+io.c:996:26: warning: missing braces around initializer [-Wmissing-braces]
+
+
+The reason is that NULL is usually a pointer constant, which is not
+a valid expression for a character.
+---
+ foma/io.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/foma/io.c b/foma/io.c
+index b7bf69b..da1c57a 100644
+--- a/foma/io.c
++++ b/foma/io.c
+@@ -999,7 +999,7 @@ static BOM BOM_codes[] = {
+ { { 0x00, 0x00, 0xFE, 0xFF }, 4, "UTF-32BE" },
+ { { 0xFF, 0xFE }, 2, "UTF16-LE" },
+ { { 0xFE, 0xFF }, 2, "UTF16-BE" },
+- { NULL, 0, NULL },
++ { { 0, } , 0, NULL },
+ };
+
+ BOM *check_BOM(char *buffer) {
diff --git a/dev-libs/foma/files/foma-0.10.0-gcc-13-fixes.patch b/dev-libs/foma/files/foma-0.10.0-gcc-13-fixes.patch
new file mode 100644
index 000000000000..32a33cdc6af4
--- /dev/null
+++ b/dev-libs/foma/files/foma-0.10.0-gcc-13-fixes.patch
@@ -0,0 +1,149 @@
+From 24fa34e5f3731e2e6995fba25e31a2dbb9df8bb4 Mon Sep 17 00:00:00 2001
+From: Tino Didriksen <mail@tinodidriksen.com>
+Date: Thu, 15 Jun 2023 08:44:54 +0000
+Subject: [PATCH] Fixes for GCC 13 (see https://bugs.debian.org/1037663) and
+ Visual Studio
+
+---
+ foma/cgflookup.c | 2 +-
+ foma/constructions.c | 2 +-
+ foma/flookup.c | 2 +-
+ foma/foma.h | 2 +-
+ foma/fomalib.h | 2 +-
+ foma/iface.c | 4 ++--
+ foma/regex.l | 2 +-
+ foma/regex.y | 7 +++++--
+ foma/spelling.c | 2 +-
+ 9 files changed, 14 insertions(+), 11 deletions(-)
+
+diff --git a/foma/cgflookup.c b/foma/cgflookup.c
+index 1cc11be..1bdfddb 100644
+--- a/foma/cgflookup.c
++++ b/foma/cgflookup.c
+@@ -71,7 +71,7 @@ static FILE *INFILE;
+ static struct lookup_chain *chain_head, *chain_tail, *chain_new, *chain_pos;
+ static fsm_read_binary_handle fsrh;
+
+-static char *(*applyer)() = &apply_up; /* Default apply direction = up */
++static char *(*applyer)(struct apply_handle *h, char *word) = &apply_up; /* Default apply direction = up */
+ static void handle_line(char *s);
+ static void app_print(char *result);
+ static char *get_next_line();
+diff --git a/foma/constructions.c b/foma/constructions.c
+index dec4087..ca66db4 100644
+--- a/foma/constructions.c
++++ b/foma/constructions.c
+@@ -41,7 +41,7 @@ int sort_cmp(const void *a, const void *b) {
+ return (((const struct fsm_state *)a)->state_no - ((const struct fsm_state *)b)->state_no);
+ }
+
+-INLINE int add_fsm_arc(struct fsm_state *fsm, int offset, int state_no, int in, int out, int target, int final_state, int start_state);
++int add_fsm_arc(struct fsm_state *fsm, int offset, int state_no, int in, int out, int target, int final_state, int start_state);
+
+ struct fsm *fsm_kleene_closure(struct fsm *net, int optionality);
+
+diff --git a/foma/flookup.c b/foma/flookup.c
+index 971549d..ecd3db3 100644
+--- a/foma/flookup.c
++++ b/foma/flookup.c
+@@ -77,7 +77,7 @@ static FILE *INFILE;
+ static struct lookup_chain *chain_head, *chain_tail, *chain_new, *chain_pos;
+ static fsm_read_binary_handle fsrh;
+
+-static char *(*applyer)() = &apply_up; /* Default apply direction = up */
++static char *(*applyer)(struct apply_handle *h, char *word) = &apply_up; /* Default apply direction = up */
+ static void handle_line(char *s);
+ static void app_print(char *result);
+ static char *get_next_line();
+diff --git a/foma/foma.h b/foma/foma.h
+index 06cb9f7..f5a5bfb 100644
+--- a/foma/foma.h
++++ b/foma/foma.h
+@@ -113,7 +113,7 @@ void iface_print_shortest_string();
+ void iface_print_shortest_string_size();
+ void iface_print_name(void);
+ void iface_quit(void);
+-void iface_apply_random(char *(*applyer)(), int limit);
++void iface_apply_random(char *(*applyer)(struct apply_handle *h), int limit);
+ void iface_random_lower(int limit);
+ void iface_random_upper(int limit);
+ void iface_random_words(int limit);
+diff --git a/foma/fomalib.h b/foma/fomalib.h
+index 6f0218a..d937d15 100644
+--- a/foma/fomalib.h
++++ b/foma/fomalib.h
+@@ -307,7 +307,7 @@ FEXPORT struct fsm *flag_eliminate(struct fsm *net, char *name);
+ FEXPORT struct fsm *flag_twosided(struct fsm *net);
+
+ /* Compile a rewrite rule */
+-FEXPORT struct fsm *fsm_rewrite();
++FEXPORT struct fsm *fsm_rewrite(struct rewrite_set *all_rules);
+
+ /* Boolean tests */
+ FEXPORT int fsm_isempty(struct fsm *net);
+diff --git a/foma/iface.c b/foma/iface.c
+index f41e3ce..7ebd569 100644
+--- a/foma/iface.c
++++ b/foma/iface.c
+@@ -790,7 +790,7 @@ void iface_random_words(int limit) {
+ iface_apply_random(&apply_random_words, limit);
+ }
+
+-void iface_apply_random(char *(*applyer)(), int limit) {
++void iface_apply_random(char *(*applyer)(struct apply_handle *h), int limit) {
+ char *result;
+ struct apply_handle *ah;
+ int i;
+@@ -1230,7 +1230,7 @@ void iface_words_file(char *filename, int type) {
+ /* type 0 (words), 1 (upper-words), 2 (lower-words) */
+ FILE *outfile;
+ char *result;
+- static char *(*applyer)() = &apply_words;
++ static char *(*applyer)(struct apply_handle *h) = &apply_words;
+ struct apply_handle *ah;
+
+ if (type == 1) {
+diff --git a/foma/regex.l b/foma/regex.l
+index c303a40..8e3f1e5 100644
+--- a/foma/regex.l
++++ b/foma/regex.l
+@@ -49,7 +49,7 @@ struct parser_vars {
+ struct parser_vars parservarstack[MAX_PARSE_DEPTH];
+ int g_parse_depth = 0;
+
+-extern int yyparse();
++extern int yyparse(void *scanner, struct defined_networks *defined_nets, struct defined_functions *defined_funcs);
+ extern int get_iface_lineno(void);
+ extern int rewrite, rule_direction, substituting;
+ extern struct fsmcontexts *contexts;
+diff --git a/foma/regex.y b/foma/regex.y
+index eb00e5e..60ab2a4 100644
+--- a/foma/regex.y
++++ b/foma/regex.y
+@@ -21,8 +21,11 @@
+ #include <string.h>
+ #include "foma.h"
+ #define MAX_F_RECURSION 100
+-extern int yyerror();
+-extern int yylex();
++typedef void* yyscan_t;
++typedef struct YYLTYPE YYLTYPE;
++typedef union YYSTYPE YYSTYPE;
++extern int yyerror(YYLTYPE* yylloc, yyscan_t scanner, struct defined_networks *defined_nets, struct defined_functions *defined_funcs, char *msg);
++extern int yylex(YYSTYPE * yylval_param, YYLTYPE * yylloc_param , yyscan_t yyscanner);
+ extern int my_yyparse(char *my_string, int lineno, struct defined_networks *defined_nets, struct defined_functions *defined_funcs);
+ struct fsm *current_parse;
+ int rewrite, rule_direction;
+diff --git a/foma/spelling.c b/foma/spelling.c
+index ab11e98..ac92bd0 100644
+--- a/foma/spelling.c
++++ b/foma/spelling.c
+@@ -37,7 +37,7 @@
+ #define min_(X, Y) ((X) < (Y) ? (X) : (Y))
+
+ static int calculate_h(struct apply_med_handle *medh, int *intword, int currpos, int state);
+-static struct astarnode *node_delete_min();
++static struct astarnode *node_delete_min(struct apply_med_handle *medh);
+ int node_insert(struct apply_med_handle *medh, int wordpos, int fsmstate, int g, int h, int in, int out, int parent);
+
+ char *print_sym(int sym, struct sigma *sigma) {
diff --git a/dev-libs/foma/files/foma-0.9.18-clean-makefile.patch b/dev-libs/foma/files/foma-0.9.18-clean-makefile.patch
deleted file mode 100644
index 0ed1b811fc67..000000000000
--- a/dev-libs/foma/files/foma-0.9.18-clean-makefile.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-diff -Naur a/Makefile b/Makefile
---- a/Makefile 2015-06-13 06:24:02.000000000 +0300
-+++ b/Makefile 2019-09-08 09:24:22.127655912 +0300
-@@ -1,21 +1,16 @@
--prefix = /usr/local
-+prefix = /usr
- exec_prefix = $(prefix)
- libdir = $(exec_prefix)/lib
- bindir = $(exec_prefix)/bin
- includedir = $(prefix)/include
-
- VERSION = 0.9.18
--CC = gcc
--RANLIB = ranlib
- YACC = bison -v
- LEX = flex -8
- LEXCLEX = flex -8 --prefix=lexc
- LEXIFACE = flex -8 --prefix=interface
- LEXCMATRIX = flex -8 --prefix=cmatrix
- RM = /bin/rm -f
--LDFLAGS = -lreadline -lz -ltermcap
--FLOOKUPLDFLAGS = libfoma.a -lz
--CFLAGS = -O3 -Wall -D_GNU_SOURCE -std=c99 -fvisibility=hidden -fPIC
- FOMAOBJS = foma.o stack.o iface.o lex.interface.o
- LIBOBJS = int_stack.o define.o determinize.o apply.o rewrite.o lexcread.o topsort.o flags.o minimize.o reverse.o extract.o sigma.o io.o structures.o constructions.o coaccessible.o utf8.o spelling.o dynarray.o mem.o stringhash.o trie.o lex.lexc.o lex.yy.o lex.cmatrix.o regex.o
-
-@@ -82,7 +77,7 @@
- if test -f $(libdir)/$(SHAREDLIB); then rm $(libdir)/$(SHAREDLIB); fi
- if test -f $(libdir)/$(SHAREDLIBM); then rm $(libdir)/$(SHAREDLIBM); fi
- cd $(libdir); ln -s $(SHAREDLIBV) $(SHAREDLIB); cd $(libdir); \
-- ln -s $(SHAREDLIBV) $(SHAREDLIBM); (ldconfig || true) \
-+ ln -s $(SHAREDLIBV) $(SHAREDLIBM); \
- >/dev/null 2>&1; \
-
- $(OBJS): foma.h
diff --git a/dev-libs/foma/foma-0.10.0_p20220612-r1.ebuild b/dev-libs/foma/foma-0.10.0_p20220612-r1.ebuild
new file mode 100644
index 000000000000..ebeb755f4410
--- /dev/null
+++ b/dev-libs/foma/foma-0.10.0_p20220612-r1.ebuild
@@ -0,0 +1,37 @@
+# Copyright 2022-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+MY_COMMIT="9e8c3df573015a26c84e113ba710ef3d57c8e777"
+
+DESCRIPTION="Multi-purpose finite-state toolkit"
+HOMEPAGE="https://fomafst.github.io/ https://github.com/mhulden/foma"
+SRC_URI="https://github.com/mhulden/foma/archive/${MY_COMMIT}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0/0.10"
+KEYWORDS="amd64 x86"
+
+BDEPEND="app-alternatives/yacc
+ app-alternatives/lex"
+DEPEND="sys-libs/readline:=
+ sys-libs/zlib"
+RDEPEND="${DEPEND}"
+
+S="${WORKDIR}/foma-${MY_COMMIT}/foma"
+
+src_prepare() {
+ cmake_src_prepare
+
+ cd "${WORKDIR}/foma-${MY_COMMIT}" || die
+ eapply "${FILESDIR}"/foma-0.10.0-gcc-13-fixes.patch
+ eapply "${FILESDIR}"/foma-0.10-0-fix-BOM_codes-initializer.patch
+}
+
+src_install() {
+ cmake_src_install
+ find "${D}" -name '*.a' -delete || die
+}
diff --git a/dev-libs/foma/foma-0.9.18-r1.ebuild b/dev-libs/foma/foma-0.9.18-r1.ebuild
deleted file mode 100644
index bc5c9d290e3c..000000000000
--- a/dev-libs/foma/foma-0.9.18-r1.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
-
-inherit flag-o-matic toolchain-funcs
-
-DESCRIPTION="A set of utilities for constructing finite-state automata and transducers"
-HOMEPAGE="https://github.com/mhulden/foma"
-SRC_URI="https://bitbucket.org/mhulden/foma/downloads/${P}.tar.gz"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="amd64 x86"
-
-DEPEND="sys-libs/readline:=
- sys-libs/zlib"
-RDEPEND="${DEPEND}"
-
-PATCHES=( "${FILESDIR}/foma-0.9.18-clean-makefile.patch" )
-
-src_prepare() {
- default
-
- # Install to correct libdir
- sed "s|/lib|/$(get_libdir)|" -i Makefile || die
-
- append-cflags -fcommon
-}
-
-src_compile() {
- export CC="$(tc-getCC)"
- export RANLIB="$(tc-getRANLIB)"
-
- export CFLAGS="${CFLAGS} -Wl,--as-needed -D_GNU_SOURCE -std=c99 -fvisibility=hidden -fPIC"
- export FLOOKUPLDFLAGS="${LDFLAGS} libfoma.a -lz"
- export LDFLAGS="${LDFLAGS} -lreadline -lz -lncurses"
-
- default
-}
-
-src_install() {
- emake prefix="${D}"/usr install
- einstalldocs
- find "${D}" -name '*.a' -delete || die
-}
diff --git a/dev-libs/foma/metadata.xml b/dev-libs/foma/metadata.xml
index a1fbf3c0c993..88d2163e2a86 100644
--- a/dev-libs/foma/metadata.xml
+++ b/dev-libs/foma/metadata.xml
@@ -5,4 +5,7 @@
<email>juippis@gentoo.org</email>
<name>Joonas Niilola</name>
</maintainer>
+ <upstream>
+ <remote-id type="github">mhulden/foma</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/dev-libs/freexl/Manifest b/dev-libs/freexl/Manifest
index 738d63c9261f..a7a8e79184ae 100644
--- a/dev-libs/freexl/Manifest
+++ b/dev-libs/freexl/Manifest
@@ -1,2 +1,3 @@
DIST freexl-1.0.5.tar.gz 938994 BLAKE2B a3d2667271f6ab3de61a90f75ba8f7a645c5eddcd7f6d452fbbd59dc211c4676bdef7f7772235f60898de1e0a6d2e4951a3eadf77c4766bf938f5d8465f9de42 SHA512 86d742f58353be1f3ab683899a4d914845250b481acc078c769ef337d0a6ea24d25501a3e7c73b95904c6839ddd35f53e58ad4eee0c3b433caa84db0a8c6462b
DIST freexl-1.0.6.tar.gz 941179 BLAKE2B e0b04e66c56d3a2805eed3f86442269843a2ccf7133669b9506a1812562396f2b5bbc04e29c9f829d9df6e627fa31b87fccc5407275ffb205ff498bd47bc4b89 SHA512 efbbe261e57d5c05167ad8e1d5a5b348a7e702c0a4030b18dd2a8c60a38332caccbb073ff604bdf5bafac827310b41c7b79f9fa519ea512d6de2eafd9c1f71f6
+DIST freexl-2.0.0.tar.gz 991565 BLAKE2B 1fcb894b61fce05feeb89d36547291edb98ef8f2c40145e513d0f1f58357a3443b0a93b0c0283f0040b0687d980c5f165b1a080a9955814412cddc47bd550010 SHA512 663ccc321c2f0dcab8ad9255b2a77066c2046d531a0aa723fb114301fa27b53bf980787dd2548c46541036eceef988c5eedf2bec053adf628929470e67ddc17a
diff --git a/dev-libs/freexl/freexl-1.0.6.ebuild b/dev-libs/freexl/freexl-1.0.6.ebuild
index cc7c1fda2005..04dcf301b20e 100644
--- a/dev-libs/freexl/freexl-1.0.6.ebuild
+++ b/dev-libs/freexl/freexl-1.0.6.ebuild
@@ -1,8 +1,10 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
+inherit libtool
+
DESCRIPTION="Simple XLS data extraction library"
HOMEPAGE="https://www.gaia-gis.it/fossil/freexl/index"
SRC_URI="https://www.gaia-gis.it/gaia-sins/${PN}-sources/${P}.tar.gz"
@@ -14,6 +16,11 @@ KEYWORDS="amd64 ~arm arm64 ~ia64 ppc ppc64 ~riscv x86"
DEPEND="virtual/libiconv"
RDEPEND="${DEPEND}"
+src_prepare() {
+ default
+ elibtoolize
+}
+
src_configure() {
econf --disable-static
}
diff --git a/dev-libs/freexl/freexl-2.0.0-r1.ebuild b/dev-libs/freexl/freexl-2.0.0-r1.ebuild
new file mode 100644
index 000000000000..c13a8a75b37f
--- /dev/null
+++ b/dev-libs/freexl/freexl-2.0.0-r1.ebuild
@@ -0,0 +1,36 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit libtool
+
+DESCRIPTION="Simple XLS data extraction library"
+HOMEPAGE="https://www.gaia-gis.it/fossil/freexl/index"
+SRC_URI="https://www.gaia-gis.it/gaia-sins/${PN}-sources/${P}.tar.gz"
+
+LICENSE="|| ( MPL-1.1 GPL-2+ LGPL-2.1+ )"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ia64 ~ppc ~ppc64 ~riscv ~x86"
+
+DEPEND="
+ dev-libs/expat
+ sys-libs/zlib[minizip]
+ virtual/libiconv
+"
+RDEPEND="${DEPEND}"
+
+src_prepare() {
+ default
+ elibtoolize
+}
+
+src_configure() {
+ econf --enable-xmldocs
+}
+
+src_install() {
+ default
+
+ find "${ED}" -name '*.la' -type f -delete || die
+}
diff --git a/dev-libs/fribidi/Manifest b/dev-libs/fribidi/Manifest
index ba465f4e4bb1..0c2bd2c704d2 100644
--- a/dev-libs/fribidi/Manifest
+++ b/dev-libs/fribidi/Manifest
@@ -1,2 +1 @@
-DIST fribidi-1.0.10.tar.xz 1147588 BLAKE2B e40e16b4b6167d0c7cc26b72ed21a7b4b2ba78dcce56eaf5dee94835cd2d4770401ac17bc2b5f13227e41e8f19513a0616f49edab07ea8fb2969eab30e24f653 SHA512 cb51920012c3c7507c17e2beb1dbbcfb8d7c6404e4cb54b260a332754a0d5b103d8834d77e8795651b3f38069c9bd2e9914c21b001411a72f9ffe1ec1ef2f360
-DIST fribidi-1.0.11.tar.xz 1077004 BLAKE2B 9de3e170e2b6cf90623c711e16f6595f6ca91e14707cbfd36dda7df92689ea79ec36c4b658199e9046eedd07c9ebfde18617525c83cf4b0e9e2ccb4d9f82ed84 SHA512 6afde86784de06759f18235ccb44f23261a975f7cce0021b16755065a6a8ed84d7d5fb7fdcaadd691b48011efb4bfc2ee67555e5133a294a418cca1a0c85476c
+DIST fribidi-1.0.13.tar.xz 1170100 BLAKE2B 8cc31220304ddbdeb0047b30ed9084921920b32ad3f1bdcf29ecbb2fafbd430c391bc99bb7f205546ff8482aea1ef7ed369da71deb3474aa623fc2aeace1b62a SHA512 09357d842ff9e05b918f826e28e4a25ad996e17f73242ee9ce53fae9f37ec6c639f9cae4271577f6e0269f34265afc893858225c4a94610f0a6ee7580fb1fe07
diff --git a/dev-libs/fribidi/fribidi-1.0.10.ebuild b/dev-libs/fribidi/fribidi-1.0.10.ebuild
deleted file mode 100644
index c05c3f823854..000000000000
--- a/dev-libs/fribidi/fribidi-1.0.10.ebuild
+++ /dev/null
@@ -1,42 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit multilib-minimal toolchain-funcs
-
-DESCRIPTION="A free implementation of the unicode bidirectional algorithm"
-HOMEPAGE="https://fribidi.org/"
-SRC_URI="https://github.com/fribidi/fribidi/releases/download/v${PV}/${P}.tar.xz"
-
-LICENSE="LGPL-2.1+"
-SLOT="0"
-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"
-
-RDEPEND=""
-DEPEND=""
-BDEPEND="
- virtual/pkgconfig
-"
-
-DOCS=( AUTHORS NEWS ChangeLog THANKS ) # README points at README.md which wasn't disted with EAPI-7
-
-src_prepare() {
- default
-
- export CC_FOR_BUILD="$(tc-getBUILD_CC)"
-}
-
-multilib_src_configure() {
- local myeconfargs=(
- --enable-shared
- --disable-static
- --disable-debug
- )
- ECONF_SOURCE="${S}" econf "${myeconfargs[@]}"
-}
-
-multilib_src_install_all() {
- einstalldocs
- find "${ED}" -name '*.la' -delete || die
-}
diff --git a/dev-libs/fribidi/fribidi-1.0.11.ebuild b/dev-libs/fribidi/fribidi-1.0.11.ebuild
deleted file mode 100644
index 2022757529b3..000000000000
--- a/dev-libs/fribidi/fribidi-1.0.11.ebuild
+++ /dev/null
@@ -1,29 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit meson-multilib
-
-DESCRIPTION="A free implementation of the unicode bidirectional algorithm"
-HOMEPAGE="https://fribidi.org/"
-SRC_URI="https://github.com/fribidi/fribidi/releases/download/v${PV}/${P}.tar.xz"
-
-LICENSE="LGPL-2.1+"
-SLOT="0"
-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"
-
-IUSE="doc test"
-RESTRICT="!test? ( test )"
-
-BDEPEND="virtual/pkgconfig"
-
-multilib_src_configure() {
- local emesonargs=(
- -Ddeprecated=true
- $(meson_native_use_bool doc docs)
- -Dbin=true
- $(meson_use test tests)
- )
- meson_src_configure
-}
diff --git a/dev-libs/fribidi/fribidi-1.0.13.ebuild b/dev-libs/fribidi/fribidi-1.0.13.ebuild
new file mode 100644
index 000000000000..d752a04351c7
--- /dev/null
+++ b/dev-libs/fribidi/fribidi-1.0.13.ebuild
@@ -0,0 +1,29 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit meson-multilib
+
+DESCRIPTION="A free implementation of the unicode bidirectional algorithm"
+HOMEPAGE="https://fribidi.org/"
+SRC_URI="https://github.com/fribidi/fribidi/releases/download/v${PV}/${P}.tar.xz"
+
+LICENSE="LGPL-2.1+"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+
+IUSE="doc test"
+RESTRICT="!test? ( test )"
+
+BDEPEND="virtual/pkgconfig"
+
+multilib_src_configure() {
+ local emesonargs=(
+ -Ddeprecated=true
+ $(meson_native_use_bool doc docs)
+ -Dbin=true
+ $(meson_use test tests)
+ )
+ meson_src_configure
+}
diff --git a/dev-libs/fribidi/metadata.xml b/dev-libs/fribidi/metadata.xml
index 78c8c56a73f2..c6ade3b9c98b 100644
--- a/dev-libs/fribidi/metadata.xml
+++ b/dev-libs/fribidi/metadata.xml
@@ -7,5 +7,6 @@
</maintainer>
<upstream>
<remote-id type="cpe">cpe:/a:fribidi:gnu_fribidi</remote-id>
+ <remote-id type="github">fribidi/fribidi</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-libs/fstrm/Manifest b/dev-libs/fstrm/Manifest
index e3728779fae9..25c23e7b0a01 100644
--- a/dev-libs/fstrm/Manifest
+++ b/dev-libs/fstrm/Manifest
@@ -1,2 +1 @@
-DIST fstrm-0.6.0.tar.gz 135214 BLAKE2B 237b371450ea2e92e466aaeab2d6ebf9ba7c6bbf14d1517431818b01a2609c1765299bb576bb3a4a3a99a9ce7644992c3f5eaf82c01d903a1bad358d49ed47b4 SHA512 8e327f40fb49b36998d8bb9353b30b9924630b85adf1e4462ce4b456daa7eea727892a59f43ddd48de5bf5059a450fef54726b09af6d7f210fa182c4055d65f4
DIST fstrm-0.6.1.tar.gz 135425 BLAKE2B 607852bd6bd18d2dc4e862c7425882274710674da1edb3a525b409f5eff9cb46748f8e5b7b1e88ab180ddfed7a19ee41aaa9551d70331ac80ff178ffa0b4ca98 SHA512 7bf2728e2d0d1fdbd4e93069ddb03a01dc56909dbac57650ed530c80f761170b257c7191a3d789d4661df1f09c15594f20ec93a4eb5e5deb7ea3a7eabe56806c
diff --git a/dev-libs/fstrm/fstrm-0.6.0.ebuild b/dev-libs/fstrm/fstrm-0.6.0.ebuild
deleted file mode 100644
index 8e91891c7a2e..000000000000
--- a/dev-libs/fstrm/fstrm-0.6.0.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 autotools multilib-minimal
-
-DESCRIPTION="Frame Streams implementation in C"
-HOMEPAGE="https://github.com/farsightsec/fstrm"
-SRC_URI="https://github.com/farsightsec/fstrm/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~mips ppc ppc64 ~s390 ~sparc x86"
-IUSE="static-libs utils"
-
-BDEPEND="virtual/pkgconfig"
-RDEPEND="utils? ( dev-libs/libevent:=[${MULTILIB_USEDEP}] )"
-DEPEND="${RDEPEND}"
-
-src_prepare() {
- default
- eautoreconf
- multilib_copy_sources
-}
-
-multilib_src_configure() {
- econf \
- $(use_enable static-libs static) \
- $(use_enable utils programs)
-}
-
-multilib_src_install_all() {
- default
- find "${ED}" -name '*.la' -delete || die
-}
diff --git a/dev-libs/gdl/gdl-3.40.0.ebuild b/dev-libs/gdl/gdl-3.40.0.ebuild
index 0f17845ee18c..6ed8a7bafa1a 100644
--- a/dev-libs/gdl/gdl-3.40.0.ebuild
+++ b/dev-libs/gdl/gdl-3.40.0.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
@@ -10,7 +10,7 @@ HOMEPAGE="https://gitlab.gnome.org/GNOME/gdl"
LICENSE="LGPL-2.1+"
SLOT="3/5" # subslot = libgdl-3 soname version
IUSE="+introspection"
-KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ppc ppc64 ~riscv ~s390 ~sparc x86"
+KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 ~sparc x86"
RDEPEND="
dev-libs/glib:2
@@ -19,7 +19,7 @@ RDEPEND="
introspection? ( >=dev-libs/gobject-introspection-0.6.7:= )
"
DEPEND="${RDEPEND}
- >=dev-util/gtk-doc-am-1.4
+ >=dev-build/gtk-doc-am-1.4
"
BDEPEND="
>=dev-util/intltool-0.40.4
diff --git a/dev-libs/gdl/metadata.xml b/dev-libs/gdl/metadata.xml
index 7b343b06be8a..a01ad86d029c 100644
--- a/dev-libs/gdl/metadata.xml
+++ b/dev-libs/gdl/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/gdl</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/dev-libs/geoip/geoip-1.6.12-r1.ebuild b/dev-libs/geoip/geoip-1.6.12-r1.ebuild
index fd7343e19b73..58c49aba7519 100644
--- a/dev-libs/geoip/geoip-1.6.12-r1.ebuild
+++ b/dev-libs/geoip/geoip-1.6.12-r1.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
@@ -13,7 +13,7 @@ S="${WORKDIR}/${PN}-api-c-${PV}"
# GPL-2 for md5.c - part of libGeoIPUpdate, MaxMind for GeoLite Country db
LICENSE="LGPL-2.1 GPL-2 MaxMind2"
SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux"
IUSE="static-libs"
RESTRICT="test"
diff --git a/dev-libs/gf-complete/gf-complete-2.0.0-r1.ebuild b/dev-libs/gf-complete/gf-complete-2.0.0-r1.ebuild
index 50550ea6c716..ed99fb6e058e 100644
--- a/dev-libs/gf-complete/gf-complete-2.0.0-r1.ebuild
+++ b/dev-libs/gf-complete/gf-complete-2.0.0-r1.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"
@@ -15,9 +15,6 @@ SLOT="0"
KEYWORDS="amd64 ~arm ~arm64 ~ppc ~ppc64 x86"
IUSE=""
-DEPEND=""
-RDEPEND="${DEPEND}"
-
src_prepare() {
sed -i -e 's/ -O3 $(SIMD_FLAGS)//g' src/Makefile.am tools/Makefile.am test/Makefile.am examples/Makefile.am|| die
eapply_user
diff --git a/dev-libs/gf2x/files/gf2x-1.3.0-configure-clang16.patch b/dev-libs/gf2x/files/gf2x-1.3.0-configure-clang16.patch
new file mode 100644
index 000000000000..df085ef3b694
--- /dev/null
+++ b/dev-libs/gf2x/files/gf2x-1.3.0-configure-clang16.patch
@@ -0,0 +1,28 @@
+https://bugs.gentoo.org/879663
+https://gitlab.inria.fr/gf2x/gf2x/-/commit/a2f0fd388c12ca0b9f4525c6cfbc515418dcbaf8
+
+From a2f0fd388c12ca0b9f4525c6cfbc515418dcbaf8 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Emmanuel=20Thom=C3=A9?= <Emmanuel.Thome@inria.fr>
+Date: Thu, 17 Sep 2020 23:40:54 +0200
+Subject: [PATCH] fix #include in configure test
+
+See there: https://trac.sagemath.org/ticket/30494
+--- a/config/acinclude.m4
++++ b/config/acinclude.m4
+@@ -661,6 +661,7 @@ AC_DEFUN([GF2X_PROG_CC_FOR_BUILD_WORKS],
+ # remove anything that might look like compiler output to our "||" expression
+ rm -f conftest* a.out b.out a.exe a_out.exe
+ cat >conftest.c <<EOF
++#include <stdlib.h>
+ int
+ main ()
+ {
+@@ -699,6 +700,7 @@ AC_DEFUN([GF2X_PROG_EXEEXT_FOR_BUILD],
+ AC_CACHE_CHECK([for build system executable suffix],
+ gf2x_cv_prog_exeext_for_build,
+ [cat >conftest.c <<EOF
++#include <stdlib.h>
+ int
+ main ()
+ {
+GitLab
diff --git a/dev-libs/gf2x/gf2x-1.3.0-r1.ebuild b/dev-libs/gf2x/gf2x-1.3.0-r1.ebuild
new file mode 100644
index 000000000000..1054fa5e2557
--- /dev/null
+++ b/dev-libs/gf2x/gf2x-1.3.0-r1.ebuild
@@ -0,0 +1,62 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit autotools
+
+DESCRIPTION="C/C++ routines for fast arithmetic in GF(2)[x]"
+HOMEPAGE="https://gitlab.inria.fr/thome/gf2x/ https://gforge.inria.fr/projects/gf2x/"
+# The Gitlab release is missing the autotools files.
+SRC_URI="https://gforge.inria.fr/frs/download.php/38243/${P}.tar.gz"
+
+# License is tricky, see their README
+LICENSE="GPL-3+ GPL-2+"
+SLOT="0/3" # soname major version, defined in configure.ac
+KEYWORDS="amd64 arm64 ~loong ppc ~ppc64 ~riscv x86 ~amd64-linux ~x86-linux ~ppc-macos"
+IUSE="fft static-libs custom-tune"
+IUSE_CPU_FLAGS=" pclmul sse2 sse3 sse4_1 ssse3"
+IUSE+=" ${IUSE_CPU_FLAGS// / cpu_flags_x86_}"
+
+PATCHES=(
+ "${FILESDIR}/fno-common.patch"
+ "${FILESDIR}/${P}-0001-src-tunefft.c-add-include-statement-for-MIN-and-MAX.patch"
+ "${FILESDIR}/${P}-configure-clang16.patch"
+)
+
+src_prepare() {
+ default
+ # fix for cross-compiling, avoid ABI detection
+ sed -e 's/VERIFY_WORDSIZE(\[$ABI\].*/echo "skipping ABI check"/' \
+ -e 's/AC_MSG_ERROR(\[already_t.*/echo "skipping ABI check"/' \
+ -i configure.ac || die
+ eautoreconf
+}
+
+src_configure() {
+ econf \
+ $(use_enable cpu_flags_x86_sse2 sse2) \
+ $(use_enable cpu_flags_x86_sse3 sse3) \
+ $(use_enable cpu_flags_x86_ssse3 ssse3) \
+ $(use_enable cpu_flags_x86_sse4_1 sse41) \
+ $(use_enable cpu_flags_x86_pclmul pclmul) \
+ $(use_enable fft fft-interface) \
+ $(use_enable static-libs static)
+}
+
+src_compile() {
+ emake
+ if use custom-tune; then
+ einfo "Starting tuning"
+ emake tune-lowlevel
+ emake tune-toom
+ use fft && emake tune-fft
+ fi
+}
+
+src_install() {
+ default
+ if ! use static-libs; then
+ find "${ED}" -name '*.la' -delete || die
+ fi
+}
diff --git a/dev-libs/gf2x/gf2x-1.3.0.ebuild b/dev-libs/gf2x/gf2x-1.3.0.ebuild
deleted file mode 100644
index feae5757c6c9..000000000000
--- a/dev-libs/gf2x/gf2x-1.3.0.ebuild
+++ /dev/null
@@ -1,60 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit autotools
-
-DESCRIPTION="C/C++ routines for fast arithmetic in GF(2)[x]"
-HOMEPAGE="https://gitlab.inria.fr/thome/gf2x/ https://gforge.inria.fr/projects/gf2x/"
-# The Gitlab release is missing the autotools files.
-SRC_URI="https://gforge.inria.fr/frs/download.php/38243/${P}.tar.gz"
-
-LICENSE="GPL-2"
-SLOT="0/3" # soname major version, defined in configure.ac
-KEYWORDS="amd64 ~arm64 ppc ~riscv x86 ~amd64-linux ~x86-linux ~ppc-macos"
-IUSE="fft static-libs custom-tune"
-IUSE_CPU_FLAGS=" pclmul sse2 sse3 sse4_1 ssse3"
-IUSE+=" ${IUSE_CPU_FLAGS// / cpu_flags_x86_}"
-
-PATCHES=(
- "${FILESDIR}/fno-common.patch"
- "${FILESDIR}/${P}-0001-src-tunefft.c-add-include-statement-for-MIN-and-MAX.patch"
-)
-
-src_prepare() {
- default
- # fix for cross-compiling, avoid ABI detection
- sed -e 's/VERIFY_WORDSIZE(\[$ABI\].*/echo "skipping ABI check"/' \
- -e 's/AC_MSG_ERROR(\[already_t.*/echo "skipping ABI check"/' \
- -i configure.ac || die
- eautoreconf
-}
-
-src_configure() {
- econf \
- $(use_enable cpu_flags_x86_sse2 sse2) \
- $(use_enable cpu_flags_x86_sse3 sse3) \
- $(use_enable cpu_flags_x86_ssse3 ssse3) \
- $(use_enable cpu_flags_x86_sse4_1 sse41) \
- $(use_enable cpu_flags_x86_pclmul pclmul) \
- $(use_enable fft fft-interface) \
- $(use_enable static-libs static)
-}
-
-src_compile() {
- emake
- if use custom-tune; then
- einfo "Starting tuning"
- emake tune-lowlevel
- emake tune-toom
- use fft && emake tune-fft
- fi
-}
-
-src_install() {
- default
- if ! use static-libs; then
- find "${ED}" -name '*.la' -delete || die
- fi
-}
diff --git a/dev-libs/girara/Manifest b/dev-libs/girara/Manifest
index 3173af0776fa..7db83ba1feba 100644
--- a/dev-libs/girara/Manifest
+++ b/dev-libs/girara/Manifest
@@ -1,2 +1,2 @@
-DIST girara-0.3.5.tar.xz 60488 BLAKE2B 2d0f2f0635e8e8906810b1425191f5d70b7f9af0985c461bd90654e83d87ad698da225d70064438fed4473295aca8dbd26c4ce1efd96f8a7399e7145b1f8c111 SHA512 e7c5bf887b29767878502224ad45d62e43b3da91bd8e754603256550d4f0126f1493f0fb7473a4ebb8cc5909306564249c6a60e99eba2b0b417b98c728fcdc84
-DIST girara-0.3.6.tar.xz 60056 BLAKE2B 4a9f651e2127c7924cd3e55c7f955b3f80b90849b5ee06f2785388ae3adbb8910bb90e59f934f426fdb6d8e7d797ac82a52bc7b05becff56e1aff610e5e56081 SHA512 e9496b1bb629d59377ed1fee8a2fab2c7e5d60845e6777ed9bb796e1843fea20abda32d7de885f01e892654ea996490403c442021528b6b4f2aa50cf54d74c42
+DIST girara-0.4.0.tar.xz 60804 BLAKE2B 4653986945b89c87c597f20425c0009473679578b9a92fd3f4480aa2decc5dcbb2c1a2b0db07bef67c818c2e2940b6c363da0020fa24e7001be13cb68e2ba945 SHA512 a8753231cb9de7d60ddaf6e7b19537f23ce447be5885725c982e395068466089fca46980d413cc4ea8e4a8059ccd4615366297600bcf7ef5bddf02d649703dec
+DIST girara-0.4.2.tar.xz 61468 BLAKE2B 7be287045c269c8a1f2b51b14f0b7f840d7d5929f81c27410a86653943f73b07a1ce16c5a5fe420e7df6f02d4f426b48a622d4cf483dc5065cd8551e273d8fcf SHA512 70dddf8998e37acce25325ddeb5a9b5c5844669b51320733d9d7a572831f28c72207aa6d608b7a856969d7fd0785cbab076596b814eb2e9ef37bf49bb5d476ae
diff --git a/dev-libs/girara/girara-0.3.5.ebuild b/dev-libs/girara/girara-0.3.5.ebuild
deleted file mode 100644
index 67aab558816f..000000000000
--- a/dev-libs/girara/girara-0.3.5.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
-
-inherit meson virtualx
-
-DESCRIPTION="UI library that focuses on simplicity and minimalism"
-HOMEPAGE="https://pwmt.org/projects/girara/"
-
-if [[ ${PV} == *999 ]]; then
- inherit git-r3
- EGIT_REPO_URI="https://git.pwmt.org/pwmt/${PN}.git"
- EGIT_BRANCH="develop"
-else
- SRC_URI="https://pwmt.org/projects/girara/download/${P}.tar.xz"
- KEYWORDS="amd64 arm ~riscv x86"
-fi
-
-LICENSE="ZLIB"
-SLOT="0"
-IUSE="doc libnotify test"
-
-RESTRICT="!test? ( test )"
-
-DEPEND="dev-libs/glib:2
- dev-libs/json-c:=
- >=x11-libs/gtk+-3.20:3
- libnotify? ( x11-libs/libnotify )"
-RDEPEND="${DEPEND}"
-BDEPEND="doc? ( app-doc/doxygen )
- test? ( dev-libs/check )
- virtual/pkgconfig"
-
-src_configure() {
- local emesonargs=(
- -Djson=enabled
- -Ddocs=$(usex doc enabled disabled)
- -Dnotify=$(usex libnotify enabled disabled)
- )
- meson_src_configure
-}
-
-src_test() {
- virtx meson_src_test
-}
diff --git a/dev-libs/girara/girara-0.3.6.ebuild b/dev-libs/girara/girara-0.3.6.ebuild
deleted file mode 100644
index 67aab558816f..000000000000
--- a/dev-libs/girara/girara-0.3.6.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
-
-inherit meson virtualx
-
-DESCRIPTION="UI library that focuses on simplicity and minimalism"
-HOMEPAGE="https://pwmt.org/projects/girara/"
-
-if [[ ${PV} == *999 ]]; then
- inherit git-r3
- EGIT_REPO_URI="https://git.pwmt.org/pwmt/${PN}.git"
- EGIT_BRANCH="develop"
-else
- SRC_URI="https://pwmt.org/projects/girara/download/${P}.tar.xz"
- KEYWORDS="amd64 arm ~riscv x86"
-fi
-
-LICENSE="ZLIB"
-SLOT="0"
-IUSE="doc libnotify test"
-
-RESTRICT="!test? ( test )"
-
-DEPEND="dev-libs/glib:2
- dev-libs/json-c:=
- >=x11-libs/gtk+-3.20:3
- libnotify? ( x11-libs/libnotify )"
-RDEPEND="${DEPEND}"
-BDEPEND="doc? ( app-doc/doxygen )
- test? ( dev-libs/check )
- virtual/pkgconfig"
-
-src_configure() {
- local emesonargs=(
- -Djson=enabled
- -Ddocs=$(usex doc enabled disabled)
- -Dnotify=$(usex libnotify enabled disabled)
- )
- meson_src_configure
-}
-
-src_test() {
- virtx meson_src_test
-}
diff --git a/dev-libs/girara/girara-0.4.0-r1.ebuild b/dev-libs/girara/girara-0.4.0-r1.ebuild
new file mode 100644
index 000000000000..cd469d5dc7e7
--- /dev/null
+++ b/dev-libs/girara/girara-0.4.0-r1.ebuild
@@ -0,0 +1,62 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit meson virtualx
+
+DESCRIPTION="UI library that focuses on simplicity and minimalism"
+HOMEPAGE="https://pwmt.org/projects/girara/"
+
+if [[ ${PV} == *9999 ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://git.pwmt.org/pwmt/${PN}.git"
+ EGIT_BRANCH="develop"
+else
+ SRC_URI="https://pwmt.org/projects/girara/download/${P}.tar.xz"
+ KEYWORDS="amd64 arm ~riscv x86"
+fi
+
+LICENSE="ZLIB"
+SLOT="0"
+IUSE="doc libnotify test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ app-accessibility/at-spi2-core
+ dev-libs/glib:2
+ dev-libs/json-glib:=
+ media-libs/harfbuzz:=
+ x11-libs/cairo[glib]
+ x11-libs/gdk-pixbuf
+ >=x11-libs/gtk+-3.20:3
+ x11-libs/pango
+ libnotify? ( x11-libs/libnotify )
+"
+DEPEND="
+ ${RDEPEND}
+ test? ( x11-base/xorg-proto )
+"
+# Tests are run under virtx
+BDEPEND="
+ virtual/pkgconfig
+ doc? ( app-text/doxygen )
+ test? (
+ dev-libs/check
+ x11-libs/gtk+:3[X]
+ )
+"
+
+src_configure() {
+ local -a emesonargs=(
+ -Djson=enabled
+ $(meson_feature doc docs)
+ $(meson_feature libnotify notify)
+ )
+ meson_src_configure
+}
+
+src_test() {
+ # TODO: run test on wayland
+ virtx meson_src_test
+}
diff --git a/dev-libs/girara/girara-0.4.2.ebuild b/dev-libs/girara/girara-0.4.2.ebuild
new file mode 100644
index 000000000000..d3394bfb8b18
--- /dev/null
+++ b/dev-libs/girara/girara-0.4.2.ebuild
@@ -0,0 +1,63 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit meson virtualx
+
+DESCRIPTION="UI library that focuses on simplicity and minimalism"
+HOMEPAGE="https://pwmt.org/projects/girara/"
+
+if [[ ${PV} == *9999 ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://git.pwmt.org/pwmt/${PN}.git"
+ EGIT_BRANCH="develop"
+else
+ SRC_URI="https://pwmt.org/projects/girara/download/${P}.tar.xz"
+ KEYWORDS="amd64 arm ~arm64 ~riscv x86"
+fi
+
+LICENSE="ZLIB"
+SLOT="0"
+IUSE="doc libnotify test"
+
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ app-accessibility/at-spi2-core
+ dev-libs/glib:2
+ dev-libs/json-glib:=
+ media-libs/harfbuzz:=
+ x11-libs/cairo[glib]
+ x11-libs/gdk-pixbuf
+ >=x11-libs/gtk+-3.20:3
+ x11-libs/pango
+ libnotify? ( x11-libs/libnotify )
+"
+# Tests are run under virtx
+DEPEND="
+ ${RDEPEND}
+ test? (
+ dev-libs/check
+ x11-base/xorg-proto
+ x11-libs/gtk+:3[X]
+ )
+"
+BDEPEND="
+ virtual/pkgconfig
+ doc? ( app-text/doxygen )
+"
+
+src_configure() {
+ local -a emesonargs=(
+ -Djson=enabled
+ $(meson_feature doc docs)
+ $(meson_feature libnotify notify)
+ )
+ meson_src_configure
+}
+
+src_test() {
+ # TODO: run test on wayland
+ virtx meson_src_test
+}
diff --git a/dev-libs/girara/girara-9999.ebuild b/dev-libs/girara/girara-9999.ebuild
index 52f9e4952594..6b506349dbaa 100644
--- a/dev-libs/girara/girara-9999.ebuild
+++ b/dev-libs/girara/girara-9999.ebuild
@@ -1,19 +1,19 @@
-# 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 meson virtualx
DESCRIPTION="UI library that focuses on simplicity and minimalism"
HOMEPAGE="https://pwmt.org/projects/girara/"
-if [[ ${PV} == *999 ]]; then
+if [[ ${PV} == *9999 ]]; then
inherit git-r3
EGIT_REPO_URI="https://git.pwmt.org/pwmt/${PN}.git"
EGIT_BRANCH="develop"
else
- SRC_URI="https://github.com/pwmt/girara/archive/${PV}.tar.gz -> ${P}.tar.gz"
+ SRC_URI="https://pwmt.org/projects/girara/download/${P}.tar.xz"
KEYWORDS="~amd64 ~arm ~riscv ~x86"
fi
@@ -23,32 +23,41 @@ IUSE="doc libnotify test"
RESTRICT="!test? ( test )"
-RDEPEND="dev-libs/glib:2
- dev-libs/json-c:=
- >=x11-libs/gtk+-3.20:3
- >=x11-libs/pango-1.14
- libnotify? ( x11-libs/libnotify )"
-
-DEPEND="${RDEPEND}
- doc? ( app-doc/doxygen )
- test? ( dev-libs/check )"
-
-BDEPEND="virtual/pkgconfig"
-
-src_prepare() {
- default
- sed -i -e '/'-Werror.*'/d' meson.build || die "sed failed"
-}
+RDEPEND="
+ app-accessibility/at-spi2-core
+ dev-libs/glib:2
+ dev-libs/json-glib:=
+ media-libs/harfbuzz:=
+ x11-libs/cairo[glib]
+ x11-libs/gdk-pixbuf
+ >=x11-libs/gtk+-3.20:3
+ x11-libs/pango
+ libnotify? ( x11-libs/libnotify )
+"
+# Tests are run under virtx
+DEPEND="
+ ${RDEPEND}
+ test? (
+ dev-libs/check
+ x11-base/xorg-proto
+ x11-libs/gtk+:3[X]
+ )
+"
+BDEPEND="
+ virtual/pkgconfig
+ doc? ( app-text/doxygen )
+"
src_configure() {
- local emesonargs=(
+ local -a emesonargs=(
-Djson=enabled
- -Ddocs=$(usex doc enabled disabled)
- -Dnotify=$(usex libnotify enabled disabled)
- )
- meson_src_configure
+ $(meson_feature doc docs)
+ $(meson_feature libnotify notify)
+ )
+ meson_src_configure
}
src_test() {
+ # TODO: run test on wayland
virtx meson_src_test
}
diff --git a/dev-libs/girara/metadata.xml b/dev-libs/girara/metadata.xml
index 71bb9e0c6245..daab629eec23 100644
--- a/dev-libs/girara/metadata.xml
+++ b/dev-libs/girara/metadata.xml
@@ -1,18 +1,25 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <!-- maintainer-needed -->
+ <maintainer type="person" proxied="yes">
+ <email>leohdz172@proton.me</email>
+ <name>Leonardo Hernández Hernández</name>
+ </maintainer>
+ <maintainer type="project" proxied="proxy">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+ </maintainer>
<upstream>
<maintainer status="active">
- <email>mlq@pwmt.org</email>
- <name>Moritz Lipp</name>
- </maintainer>
- <maintainer status="active">
- <email>sebastian+dev@ramacher.at</email>
- <name>Sebastian Ramacher</name>
+ <email>mlq@pwmt.org</email>
+ <name>Moritz Lipp</name>
</maintainer>
- <changelog>http://pwmt.org/projects/girara/download/</changelog>
- <doc lang="en">http://pwmt.org/projects/girara/</doc>
- <bugs-to>http://bugs.pwmt.org/</bugs-to>
+ <maintainer status="active">
+ <email>sebastian+dev@ramacher.at</email>
+ <name>Sebastian Ramacher</name>
+ </maintainer>
+ <changelog>http://pwmt.org/projects/girara/download/</changelog>
+ <doc lang="en">http://pwmt.org/projects/girara/</doc>
+ <bugs-to>http://bugs.pwmt.org/</bugs-to>
</upstream>
</pkgmetadata>
diff --git a/dev-libs/gjs/Manifest b/dev-libs/gjs/Manifest
index 25e110f33d7a..0967ffcbbf05 100644
--- a/dev-libs/gjs/Manifest
+++ b/dev-libs/gjs/Manifest
@@ -1,3 +1 @@
-DIST gjs-1.64.4.tar.xz 422496 BLAKE2B a96211f7240336dbb30c6965e405f59ee72e4288842837da8da8c6d3c59b7e04ebb6c7a8b0b02d38601c162ffdf1a1fef9f13e4db720c4c483f4a39dffd5dbb4 SHA512 21a15d7106ad6584fb1f02cb0a0a4cab211a3540adb8f2c03d35c211e3946b81935000a52351fedd95a18a7ff6b7f96e665fcafa3c411ff79f2b6cb332c82b42
-DIST gjs-1.68.4.tar.xz 559768 BLAKE2B 0e5f2cbb5b93c7ddc05916c95f23d9438c8e76bc2eb35c11eca5414d9f4327e0c99ec9c85795880bd478de5e3655da0f7e9223ba4c3f7c8d5685bdb4a00920d5 SHA512 c610abfa701c0a61ffa6916ec5ebcd07b1dcb04607d74ab0b6d30583da27d60f9993e037fab73e66e1580d644d3a57f0a479f55a09e3bf56fea7f17367c787b3
-DIST gjs-1.70.0.tar.xz 595292 BLAKE2B fc06f4b397350daf19a532a3ec3c2851e106bc76dda41d4a9c32b2718a6f5add1bf0c1066ba9cc5aaeeb192cb4f0a0e3dba1c16826fb3157c0a1e0a8bfe88606 SHA512 e32ee511c34fa9af210061a106d42de67d40c20f398dfacc541db0323bb4a499f2552aa28028eba16ec42afd4dec5a0cea4292155a66b966c3731ded45b23cb4
+DIST gjs-1.78.5.tar.xz 656168 BLAKE2B e1458d000998b66fda90e448ca487e591729e003c3e11a939dc474958b6de55783d41db8de5b243a329361f12acc15a8e84f4131650705becb046b68c54a24a2 SHA512 bb25e52dff53bfbde6d2329027d4ff68849740cf753da58f9bdf5a19ea7b029e2517d67978f461f16660dd1aa48b223798e9c0a24cde0ccb62060e4a0c83a02e
diff --git a/dev-libs/gjs/gjs-1.64.4.ebuild b/dev-libs/gjs/gjs-1.64.4.ebuild
deleted file mode 100644
index 8c6b028bbd65..000000000000
--- a/dev-libs/gjs/gjs-1.64.4.ebuild
+++ /dev/null
@@ -1,47 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit gnome.org meson virtualx
-
-DESCRIPTION="Javascript bindings for GNOME"
-HOMEPAGE="https://wiki.gnome.org/Projects/Gjs"
-
-LICENSE="MIT || ( MPL-1.1 LGPL-2+ GPL-2+ )"
-SLOT="0"
-IUSE="+cairo examples gtk readline +sysprof test"
-KEYWORDS="~alpha amd64 arm arm64 ~ia64 ppc ppc64 sparc x86"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- >=dev-libs/glib-2.58.0
- dev-libs/libffi:=
- >=dev-libs/gobject-introspection-1.61.2:=
- dev-lang/spidermonkey:68
- cairo? ( x11-libs/cairo[X] )
- readline? ( sys-libs/readline:0= )
-"
-DEPEND="${RDEPEND}
- sysprof? ( >=dev-util/sysprof-capture-3.33.2:3 )
- virtual/pkgconfig
- test? ( sys-apps/dbus
- >=x11-libs/gtk+-3.20:3[introspection] )
-"
-
-src_configure() {
- # FIXME: add systemtap/dtrace support, like in glib:2
- local emesonargs=(
- $(meson_feature cairo)
- $(meson_feature readline)
- $(meson_feature sysprof profiler)
- -Dinstalled_tests=false
- $(meson_use !test skip_dbus_tests)
- $(meson_use !test skip_gtk_tests)
- )
- meson_src_configure
-}
-
-src_test() {
- virtx meson_src_test
-}
diff --git a/dev-libs/gjs/gjs-1.68.4.ebuild b/dev-libs/gjs/gjs-1.68.4.ebuild
deleted file mode 100644
index 433139d0b4bd..000000000000
--- a/dev-libs/gjs/gjs-1.68.4.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 gnome.org meson virtualx
-
-DESCRIPTION="Javascript bindings for GNOME"
-HOMEPAGE="https://wiki.gnome.org/Projects/Gjs"
-
-LICENSE="MIT || ( MPL-1.1 LGPL-2+ GPL-2+ )"
-SLOT="0"
-IUSE="+cairo examples gtk readline sysprof test"
-KEYWORDS="amd64 arm arm64 ppc64 ~riscv x86"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- >=dev-libs/glib-2.66.0
- dev-libs/libffi:=
- >=dev-libs/gobject-introspection-1.66.1:=
- dev-lang/spidermonkey:78
- cairo? ( x11-libs/cairo[X,svg] )
- readline? ( sys-libs/readline:0= )
-"
-DEPEND="${RDEPEND}
- sysprof? ( >=dev-util/sysprof-capture-3.40.1:4 )
- test? ( sys-apps/dbus
- >=x11-libs/gtk+-3.20:3[introspection] )
-"
-BDEPEND="
- virtual/pkgconfig
-"
-
-src_configure() {
- # FIXME: add systemtap/dtrace support, like in glib:2
- local emesonargs=(
- $(meson_feature cairo)
- $(meson_feature readline)
- $(meson_feature sysprof profiler)
- -Dinstalled_tests=false
- $(meson_use !test skip_dbus_tests)
- $(meson_use !test skip_gtk_tests)
- )
- meson_src_configure
-}
-
-src_test() {
- virtx meson_src_test
-}
diff --git a/dev-libs/gjs/gjs-1.70.0.ebuild b/dev-libs/gjs/gjs-1.70.0.ebuild
deleted file mode 100644
index 1322c5b817b2..000000000000
--- a/dev-libs/gjs/gjs-1.70.0.ebuild
+++ /dev/null
@@ -1,51 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit flag-o-matic gnome.org meson virtualx
-
-DESCRIPTION="Javascript bindings for GNOME"
-HOMEPAGE="https://wiki.gnome.org/Projects/Gjs"
-
-LICENSE="MIT || ( MPL-1.1 LGPL-2+ GPL-2+ )"
-SLOT="0"
-IUSE="+cairo examples gtk readline sysprof test"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- >=dev-libs/glib-2.66.0
- dev-libs/libffi:=
- >=dev-libs/gobject-introspection-1.66.1:=
- >=dev-lang/spidermonkey-78.2.0:78
- cairo? ( x11-libs/cairo[X,svg] )
- readline? ( sys-libs/readline:0= )
-"
-DEPEND="${RDEPEND}
- sysprof? ( >=dev-util/sysprof-capture-3.40.1:4 )
- test? ( sys-apps/dbus
- >=x11-libs/gtk+-3.20:3[introspection] )
-"
-BDEPEND="
- virtual/pkgconfig
-"
-
-src_configure() {
- append-cppflags -DG_DISABLE_CAST_CHECKS
-
- # FIXME: add systemtap/dtrace support, like in glib:2
- local emesonargs=(
- $(meson_feature cairo)
- $(meson_feature readline)
- $(meson_feature sysprof profiler)
- -Dinstalled_tests=false
- $(meson_use !test skip_dbus_tests)
- $(meson_use !test skip_gtk_tests)
- )
- meson_src_configure
-}
-
-src_test() {
- virtx meson_src_test
-}
diff --git a/dev-libs/gjs/gjs-1.78.5.ebuild b/dev-libs/gjs/gjs-1.78.5.ebuild
new file mode 100644
index 000000000000..805b43049029
--- /dev/null
+++ b/dev-libs/gjs/gjs-1.78.5.ebuild
@@ -0,0 +1,68 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit flag-o-matic gnome.org meson virtualx
+
+DESCRIPTION="Javascript bindings for GNOME"
+HOMEPAGE="https://wiki.gnome.org/Projects/Gjs https://gitlab.gnome.org/GNOME/gjs"
+
+LICENSE="MIT || ( MPL-1.1 LGPL-2+ GPL-2+ )"
+SLOT="0"
+IUSE="+cairo examples readline sysprof test"
+KEYWORDS="amd64 arm arm64 ~loong ppc ppc64 ~riscv x86"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ >=dev-libs/glib-2.66.0:2
+ dev-libs/libffi:=
+ >=dev-libs/gobject-introspection-1.71.1:=
+ dev-lang/spidermonkey:115
+ cairo? ( x11-libs/cairo[X,glib] )
+ readline? ( sys-libs/readline:0= )
+"
+DEPEND="${RDEPEND}
+ sysprof? ( >=dev-util/sysprof-capture-3.40.1:4 )
+ test? (
+ sys-apps/dbus
+ >=x11-libs/gtk+-3.20:3[introspection]
+ )
+"
+BDEPEND="
+ virtual/pkgconfig
+"
+
+src_configure() {
+ append-cppflags -DG_DISABLE_CAST_CHECKS
+
+ # On musl, it's required that either gjs, pixman or gnome-shell to be built
+ # with a larger stack otherwise librsvg fails to render a particular SVG, as
+ # a result we fail to get gdm or gnome-shell running (greeted with a fail
+ # whale screen). The bug has been reported to librsvg. This is ideally just
+ # a temporary workaround until we understand what exactly needs a larger
+ # stack size, as it's not sufficient to do just librsvg.
+ #
+ # Please refer to:
+ # https://gitlab.gnome.org/GNOME/librsvg/-/issues/686
+ # https://gitlab.gnome.org/GNOME/librsvg/-/issues/874
+ #
+ # TODO: Find an actual fix instead of increasing the stack
+ use elibc_musl && append-ldflags -Wl,-z,stack-size=2097152
+
+ # FIXME: add systemtap/dtrace support, like in glib:2
+ local emesonargs=(
+ $(meson_feature cairo)
+ $(meson_feature readline)
+ $(meson_feature sysprof profiler)
+ -Dinstalled_tests=false
+ $(meson_use !test skip_dbus_tests)
+ $(meson_use !test skip_gtk_tests)
+ -Db_pch=True # TODO this has to go
+ )
+ meson_src_configure
+}
+
+src_test() {
+ virtx meson_src_test
+}
diff --git a/dev-libs/gjs/metadata.xml b/dev-libs/gjs/metadata.xml
index 0cf2f6cd932c..cc6371730cc6 100644
--- a/dev-libs/gjs/metadata.xml
+++ b/dev-libs/gjs/metadata.xml
@@ -8,4 +8,7 @@
<use>
<flag name="sysprof">Enable profiling data capture support using <pkg>dev-util/sysprof-capture</pkg></flag>
</use>
+ <upstream>
+ <remote-id type="gnome-gitlab">GNOME/gjs</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/dev-libs/glib/Manifest b/dev-libs/glib/Manifest
index 396586df4c65..b5a930af82f4 100644
--- a/dev-libs/glib/Manifest
+++ b/dev-libs/glib/Manifest
@@ -1,2 +1,3 @@
-DIST glib-2.70.2.tar.xz 4822356 BLAKE2B 63b1f4e05f26cd51c3345bb042e2175ebcdb22afa3fef85bccae530581a378070e6c7ea48eb957bcc73142ea228ddb70bdac2679ca2f81155a668560397aaa37 SHA512 872e3f06f87f21a32446b41aac7454fd6bf4d665c753121f6e9772cddebc592b79d88713fc6b8d510636af9f9c4528a9d508d8c4225c6dfeb928390120fb4809
-DIST glib-2.70.3.tar.xz 4824700 BLAKE2B ba84333b3ad27c0092ebd8bfe31a522d30ef8b18e7483123da6e353bb572f8a58307e23758e93ac95eb781b4d5ff86f20d84eedc1ac6e72af85822f2891bcea0 SHA512 d0e58ea71575e30707b6eda0a5231bc9bd202bcd7a0293fed9e378252a9e430e219b82cd8a12eaab41bb0a0605bb9f3a1cdb8db6766cd42bac8ca9bd9885b80a
+DIST glib-2.76.4.tar.xz 5274356 BLAKE2B c9ceb514ea81e1e6ab2d0efc82c48c0d8ae6c997fd0e3c56d47a5174b027f785b58266fff73b1d1132e272305126fbff22e3c65d47de46224cd12fa49796d5bc SHA512 f76932dc5090a44880373228e2b162f338415d06f7c90f2950eab1a43bb191c56a1797da4d377594f6a999197fef4defb848039259cfa4105bb68288a928f5b7
+DIST glib-2.78.3.tar.xz 5321388 BLAKE2B 6ef754b15e1ce4377eafdfc317025ac65c3d8010a8816a0cef786cec9da2af9f7d7d1da735c971ab8c848b2dcec050330e5b0fdceb156a36d739848e6160cd19 SHA512 9c1af75fb973d23ce0286d5b7836eea45f9628c148ced5ac10e10abceda05024ae4c57f01439824d3287d986527500b7b959828b630b6e4a3314b5224f4d7246
+DIST glib-2.78.4.tar.xz 5331892 BLAKE2B ada7134597d7d863e581a2bb1097ac07a63b27b53309aadab5b1d3686327ee718ad8c5c07af3fce5cc12328e728fc2c4df5fd9e69f431fa00dc634062ef7f926 SHA512 6f3a06e10e7373a2dbf0688512de4126472fb73cbec488b7983b5ffecff09c64d7e1ca462f892e8f215d3d277d103ca802bad7ef0bd0f91edf26fc6ce67187b6
diff --git a/dev-libs/glib/files/glib-2.78.4-distutils.patch b/dev-libs/glib/files/glib-2.78.4-distutils.patch
new file mode 100644
index 000000000000..70ceebcf7095
--- /dev/null
+++ b/dev-libs/glib/files/glib-2.78.4-distutils.patch
@@ -0,0 +1,36 @@
+https://bugs.gentoo.org/922654
+https://gitlab.gnome.org/GNOME/glib/-/issues/3134
+https://gitlab.gnome.org/GNOME/glib/-/commit/6ef967a0f930ce37a8c9b5aff969693b34714291
+
+[sam: Trimmed the CI changes.]
+
+From 6ef967a0f930ce37a8c9b5aff969693b34714291 Mon Sep 17 00:00:00 2001
+From: Jordan Williams <jordan@jwillikers.com>
+Date: Fri, 1 Dec 2023 09:53:50 -0600
+Subject: [PATCH] Switch from the deprecated distutils module to the packaging
+ module
+
+The distutils module was removed in Python 3.12.
+---
+
+--- a/gio/gdbus-2.0/codegen/utils.py
++++ b/gio/gdbus-2.0/codegen/utils.py
+@@ -19,7 +19,7 @@
+ #
+ # Author: David Zeuthen <davidz@redhat.com>
+
+-import distutils.version
++import packaging.version
+ import os
+ import sys
+
+@@ -166,4 +166,4 @@ def version_cmp_key(key):
+ v = str(key[0])
+ else:
+ v = "0"
+- return (distutils.version.LooseVersion(v), key[1])
++ return (packaging.version.Version(v), key[1])
+--
+GitLab
+
+
diff --git a/dev-libs/glib/files/glib-2.78.4-libpcre2-10.43.patch b/dev-libs/glib/files/glib-2.78.4-libpcre2-10.43.patch
new file mode 100644
index 000000000000..27dce8f40607
--- /dev/null
+++ b/dev-libs/glib/files/glib-2.78.4-libpcre2-10.43.patch
@@ -0,0 +1,45 @@
+https://gitlab.gnome.org/GNOME/glib/-/merge_requests/3945
+
+From cce3ae98a2c1966719daabff5a4ec6cf94a846f6 Mon Sep 17 00:00:00 2001
+From: Philip Withnall <pwithnall@gnome.org>
+Date: Mon, 26 Feb 2024 16:55:44 +0000
+Subject: [PATCH] tests: Remove variable-length lookbehind tests for GRegex
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+PCRE2 10.43 has now introduced support for variable-length lookbehind,
+so these tests now fail if GLib is built against PCRE2 10.43 or higher.
+
+See
+https://github.com/PCRE2Project/pcre2/blob/e8db6fa7137f4c6f66cb87e0a3c9467252ec1ef7/ChangeLog#L94.
+
+Rather than making the tests conditional on the version of PCRE2 in use,
+just remove them. They are mostly testing the PCRE2 code rather than
+any code in GLib, so don’t have much value.
+
+This should fix CI runs on msys2-mingw32, which updated to PCRE2 10.43 2
+days ago.
+
+Signed-off-by: Philip Withnall <pwithnall@gnome.org>
+--- a/glib/tests/regex.c
++++ b/glib/tests/regex.c
+@@ -1885,16 +1885,6 @@ test_lookbehind (void)
+ g_match_info_free (match);
+ g_regex_unref (regex);
+
+- regex = g_regex_new ("(?<!dogs?|cats?) x", G_REGEX_OPTIMIZE, G_REGEX_MATCH_DEFAULT, &error);
+- g_assert (regex == NULL);
+- g_assert_error (error, G_REGEX_ERROR, G_REGEX_ERROR_VARIABLE_LENGTH_LOOKBEHIND);
+- g_clear_error (&error);
+-
+- regex = g_regex_new ("(?<=ab(c|de)) foo", G_REGEX_OPTIMIZE, G_REGEX_MATCH_DEFAULT, &error);
+- g_assert (regex == NULL);
+- g_assert_error (error, G_REGEX_ERROR, G_REGEX_ERROR_VARIABLE_LENGTH_LOOKBEHIND);
+- g_clear_error (&error);
+-
+ regex = g_regex_new ("(?<=abc|abde)foo", G_REGEX_OPTIMIZE, G_REGEX_MATCH_DEFAULT, &error);
+ g_assert (regex);
+ g_assert_no_error (error);
+--
+GitLab
diff --git a/dev-libs/glib/glib-2.70.2.ebuild b/dev-libs/glib/glib-2.70.2.ebuild
deleted file mode 100644
index 2019f4a6893a..000000000000
--- a/dev-libs/glib/glib-2.70.2.ebuild
+++ /dev/null
@@ -1,282 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-PYTHON_COMPAT=( python3_{7..10} )
-
-inherit flag-o-matic gnome.org gnome2-utils linux-info meson-multilib multilib python-any-r1 toolchain-funcs xdg
-
-DESCRIPTION="The GLib library of C routines"
-HOMEPAGE="https://www.gtk.org/"
-
-LICENSE="LGPL-2.1+"
-SLOT="2"
-IUSE="dbus debug +elf fam gtk-doc +mime selinux static-libs sysprof systemtap test utils xattr"
-RESTRICT="!test? ( test )"
-REQUIRED_USE="gtk-doc? ( test )" # Bug #777636
-
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux"
-
-# * elfutils (via libelf) does not build on Windows. gresources are not embedded
-# within ELF binaries on that platform anyway and inspecting ELF binaries from
-# other platforms is not that useful so exclude the dependency in this case.
-# * Technically static-libs is needed on zlib, util-linux and perhaps more, but
-# these are used by GIO, which glib[static-libs] consumers don't really seem
-# to need at all, thus not imposing the deps for now and once some consumers
-# are actually found to static link libgio-2.0.a, we can revisit and either add
-# them or just put the (build) deps in that rare consumer instead of recursive
-# RDEPEND here (due to lack of recursive DEPEND).
-RDEPEND="
- !<dev-util/gdbus-codegen-${PV}
- >=virtual/libiconv-0-r1[${MULTILIB_USEDEP}]
- >=dev-libs/libpcre-8.31:3[${MULTILIB_USEDEP},static-libs?]
- >=dev-libs/libffi-3.0.13-r1:=[${MULTILIB_USEDEP}]
- >=sys-libs/zlib-1.2.8-r1[${MULTILIB_USEDEP}]
- >=virtual/libintl-0-r2[${MULTILIB_USEDEP}]
- kernel_linux? ( >=sys-apps/util-linux-2.23[${MULTILIB_USEDEP}] )
- selinux? ( >=sys-libs/libselinux-2.2.2-r5[${MULTILIB_USEDEP}] )
- xattr? ( !elibc_glibc? ( >=sys-apps/attr-2.4.47-r1[${MULTILIB_USEDEP}] ) )
- elf? ( virtual/libelf:0= )
- fam? ( >=virtual/fam-0-r1[${MULTILIB_USEDEP}] )
- sysprof? ( >=dev-util/sysprof-capture-3.40.1:4[${MULTILIB_USEDEP}] )
-"
-DEPEND="${RDEPEND}"
-# libxml2 used for optional tests that get automatically skipped
-BDEPEND="
- app-text/docbook-xsl-stylesheets
- dev-libs/libxslt
- >=sys-devel/gettext-0.19.8
- gtk-doc? ( >=dev-util/gtk-doc-1.33
- app-text/docbook-xml-dtd:4.2
- app-text/docbook-xml-dtd:4.5 )
- systemtap? ( >=dev-util/systemtap-1.3 )
- ${PYTHON_DEPS}
- test? ( >=sys-apps/dbus-1.2.14 )
- virtual/pkgconfig
-"
-# TODO: >=dev-util/gdbus-codegen-${PV} test dep once we modify gio/tests/meson.build to use external gdbus-codegen
-
-PDEPEND="
- dbus? ( gnome-base/dconf )
- mime? ( x11-misc/shared-mime-info )
-"
-# shared-mime-info needed for gio/xdgmime, bug #409481
-# dconf is needed to be able to save settings, bug #498436
-
-MULTILIB_CHOST_TOOLS=(
- /usr/bin/gio-querymodules$(get_exeext)
-)
-
-PATCHES=(
- "${FILESDIR}"/${PN}-2.64.1-mark-gdbus-server-auth-test-flaky.patch
-)
-
-pkg_setup() {
- if use kernel_linux ; then
- CONFIG_CHECK="~INOTIFY_USER"
- if use test ; then
- CONFIG_CHECK="~IPV6"
- WARNING_IPV6="Your kernel needs IPV6 support for running some tests, skipping them."
- fi
- linux-info_pkg_setup
- fi
- python-any-r1_pkg_setup
-}
-
-src_prepare() {
- if use test; then
- # TODO: Review the test exclusions, especially now with meson
- # Disable tests requiring dev-util/desktop-file-utils when not installed, bug #286629, upstream bug #629163
- if ! has_version dev-util/desktop-file-utils ; then
- ewarn "Some tests will be skipped due dev-util/desktop-file-utils not being present on your system,"
- ewarn "think on installing it to get these tests run."
- sed -i -e "/appinfo\/associations/d" gio/tests/appinfo.c || die
- sed -i -e "/g_test_add_func/d" gio/tests/desktop-app-info.c || die
- fi
-
- # gdesktopappinfo requires existing terminal (gnome-terminal or any
- # other), falling back to xterm if one doesn't exist
- #if ! has_version x11-terms/xterm && ! has_version x11-terms/gnome-terminal ; then
- # ewarn "Some tests will be skipped due to missing terminal program"
- # These tests seem to sometimes fail even with a terminal; skip for now and reevulate with meson
- # Also try https://gitlab.gnome.org/GNOME/glib/issues/1601 once ready for backport (or in a bump) and file new issue if still fails
- sed -i -e "/appinfo\/launch/d" gio/tests/appinfo.c || die
- # desktop-app-info/launch* might fail similarly
- sed -i -e "/desktop-app-info\/launch-as-manager/d" gio/tests/desktop-app-info.c || die
- #fi
-
- # https://bugzilla.gnome.org/show_bug.cgi?id=722604
- sed -i -e "/timer\/stop/d" glib/tests/timer.c || die
- sed -i -e "/timer\/basic/d" glib/tests/timer.c || die
-
- ewarn "Tests for search-utils have been skipped"
- sed -i -e "/search-utils/d" glib/tests/meson.build || die
-
- # Play nice with network-sandbox, but this approach would defeat the purpose of the test
- #sed -i -e "s/localhost/127.0.0.1/g" gio/tests/gsocketclient-slow.c || die
- else
- # Don't build tests, also prevents extra deps, bug #512022
- sed -i -e '/subdir.*tests/d' {.,gio,glib}/meson.build || die
- fi
-
- # Don't build fuzzing binaries - not used
- sed -i -e '/subdir.*fuzzing/d' meson.build || die
-
- # gdbus-codegen is a separate package
- sed -i -e '/install_dir/d' gio/gdbus-2.0/codegen/meson.build || die
-
- # Same kind of meson-0.50 issue with some installed-tests files; will likely be fixed upstream soon
- sed -i -e '/install_dir/d' gio/tests/meson.build || die
-
- cat > "${T}/glib-test-ld-wrapper" <<-EOF
- #!/usr/bin/env sh
- exec \${LD:-ld} "\$@"
- EOF
- chmod a+x "${T}/glib-test-ld-wrapper" || die
- sed -i -e "s|'ld'|'${T}/glib-test-ld-wrapper'|g" gio/tests/meson.build || die
-
- xdg_src_prepare
- gnome2_environment_reset
- # TODO: python_name sedding for correct python shebang? Might be relevant mainly for glib-utils only
-}
-
-multilib_src_configure() {
- if use debug; then
- append-cflags -DG_ENABLE_DEBUG
- else
- append-cflags -DG_DISABLE_CAST_CHECKS # https://gitlab.gnome.org/GNOME/glib/issues/1833
- fi
-
- # TODO: figure a way to pass appropriate values for all cross properties that glib uses (search for get_cross_property)
- #if tc-is-cross-compiler ; then
- # https://bugzilla.gnome.org/show_bug.cgi?id=756473
- # TODO-meson: This should be in meson cross file as 'growing_stack' property; and more, look at get_cross_property
- #case ${CHOST} in
- #hppa*|metag*) export glib_cv_stack_grows=yes ;;
- #*) export glib_cv_stack_grows=no ;;
- #esac
- #fi
-
- local emesonargs=(
- -Ddefault_library=$(usex static-libs both shared)
- $(meson_feature selinux)
- $(meson_use xattr)
- -Dlibmount=enabled # only used if host_system == 'linux'
- -Dman=true
- $(meson_use systemtap dtrace)
- $(meson_use systemtap)
- $(meson_feature sysprof)
- $(meson_native_use_bool gtk-doc gtk_doc)
- $(meson_use fam)
- $(meson_use test tests)
- -Dinstalled_tests=false
- -Dnls=enabled
- -Doss_fuzz=disabled
- $(meson_native_use_feature elf libelf)
- )
- meson_src_configure
-}
-
-multilib_src_test() {
- export XDG_CONFIG_DIRS=/etc/xdg
- export XDG_DATA_DIRS=/usr/local/share:/usr/share
- export G_DBUS_COOKIE_SHA1_KEYRING_DIR="${T}/temp"
- export LC_TIME=C # bug #411967
- unset GSETTINGS_BACKEND # bug #596380
- python_setup
-
- # Related test is a bit nitpicking
- mkdir "$G_DBUS_COOKIE_SHA1_KEYRING_DIR"
- chmod 0700 "$G_DBUS_COOKIE_SHA1_KEYRING_DIR"
-
- meson_src_test --timeout-multiplier 2 --no-suite flaky
-}
-
-multilib_src_install() {
- meson_src_install
- keepdir /usr/$(get_libdir)/gio/modules
-}
-
-multilib_src_install_all() {
- # These are installed by dev-util/glib-utils
- # TODO: With patching we might be able to get rid of the python-any deps and removals, and test depend on glib-utils instead; revisit now with meson
- rm "${ED}/usr/bin/glib-genmarshal" || die
- rm "${ED}/usr/share/man/man1/glib-genmarshal.1" || die
- rm "${ED}/usr/bin/glib-mkenums" || die
- rm "${ED}/usr/share/man/man1/glib-mkenums.1" || die
- rm "${ED}/usr/bin/gtester-report" || die
- rm "${ED}/usr/share/man/man1/gtester-report.1" || die
- # gdbus-codegen manpage installed by dev-util/gdbus-codegen
- rm "${ED}/usr/share/man/man1/gdbus-codegen.1" || die
-}
-
-pkg_preinst() {
- xdg_pkg_preinst
-
- # Make gschemas.compiled belong to glib alone
- local cache="/usr/share/glib-2.0/schemas/gschemas.compiled"
-
- if [[ -e ${EROOT}${cache} ]]; then
- cp "${EROOT}"${cache} "${ED}"/${cache} || die
- else
- touch "${ED}"${cache} || die
- fi
-
- multilib_pkg_preinst() {
- # Make giomodule.cache belong to glib alone
- local cache="/usr/$(get_libdir)/gio/modules/giomodule.cache"
-
- if [[ -e ${EROOT}${cache} ]]; then
- cp "${EROOT}"${cache} "${ED}"${cache} || die
- else
- touch "${ED}"${cache} || die
- fi
- }
-
- # Don't run the cache ownership when cross-compiling, as it would end up with an empty cache
- # file due to inability to create it and GIO might not look at any of the modules there
- if ! tc-is-cross-compiler ; then
- multilib_foreach_abi multilib_pkg_preinst
- fi
-}
-
-pkg_postinst() {
- xdg_pkg_postinst
- # glib installs no schemas itself, but we force update for fresh install in case
- # something has dropped in a schemas file without direct glib dep; and for upgrades
- # in case the compiled schema format could have changed
- gnome2_schemas_update
-
- multilib_pkg_postinst() {
- gnome2_giomodule_cache_update \
- || die "Update GIO modules cache failed (for ${ABI})"
- }
- if ! tc-is-cross-compiler ; then
- multilib_foreach_abi multilib_pkg_postinst
- else
- ewarn "Updating of GIO modules cache skipped due to cross-compilation."
- ewarn "You might want to run gio-querymodules manually on the target for"
- ewarn "your final image for performance reasons and re-run it when packages"
- ewarn "installing GIO modules get upgraded or added to the image."
- fi
-
- for v in ${REPLACING_VERSIONS}; do
- if ver_test "$v" "-lt" "2.63.6"; then
- ewarn "glib no longer installs the gio-launch-desktop binary. You may need"
- ewarn "to restart your session for \"Open With\" dialogs to work."
- fi
- done
-}
-
-pkg_postrm() {
- xdg_pkg_postrm
- gnome2_schemas_update
-
- if [[ -z ${REPLACED_BY_VERSION} ]]; then
- multilib_pkg_postrm() {
- rm -f "${EROOT}"/usr/$(get_libdir)/gio/modules/giomodule.cache
- }
- multilib_foreach_abi multilib_pkg_postrm
- rm -f "${EROOT}"/usr/share/glib-2.0/schemas/gschemas.compiled
- fi
-}
diff --git a/dev-libs/glib/glib-2.70.3.ebuild b/dev-libs/glib/glib-2.70.3.ebuild
deleted file mode 100644
index 3db8a09e3f72..000000000000
--- a/dev-libs/glib/glib-2.70.3.ebuild
+++ /dev/null
@@ -1,282 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-PYTHON_COMPAT=( python3_{7..10} )
-
-inherit flag-o-matic gnome.org gnome2-utils linux-info meson-multilib multilib python-any-r1 toolchain-funcs xdg
-
-DESCRIPTION="The GLib library of C routines"
-HOMEPAGE="https://www.gtk.org/"
-
-LICENSE="LGPL-2.1+"
-SLOT="2"
-IUSE="dbus debug +elf fam gtk-doc +mime selinux static-libs sysprof systemtap test utils xattr"
-RESTRICT="!test? ( test )"
-REQUIRED_USE="gtk-doc? ( test )" # Bug #777636
-
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux"
-
-# * elfutils (via libelf) does not build on Windows. gresources are not embedded
-# within ELF binaries on that platform anyway and inspecting ELF binaries from
-# other platforms is not that useful so exclude the dependency in this case.
-# * Technically static-libs is needed on zlib, util-linux and perhaps more, but
-# these are used by GIO, which glib[static-libs] consumers don't really seem
-# to need at all, thus not imposing the deps for now and once some consumers
-# are actually found to static link libgio-2.0.a, we can revisit and either add
-# them or just put the (build) deps in that rare consumer instead of recursive
-# RDEPEND here (due to lack of recursive DEPEND).
-RDEPEND="
- !<dev-util/gdbus-codegen-${PV}
- >=virtual/libiconv-0-r1[${MULTILIB_USEDEP}]
- >=dev-libs/libpcre-8.31:3[${MULTILIB_USEDEP},static-libs?]
- >=dev-libs/libffi-3.0.13-r1:=[${MULTILIB_USEDEP}]
- >=sys-libs/zlib-1.2.8-r1[${MULTILIB_USEDEP}]
- >=virtual/libintl-0-r2[${MULTILIB_USEDEP}]
- kernel_linux? ( >=sys-apps/util-linux-2.23[${MULTILIB_USEDEP}] )
- selinux? ( >=sys-libs/libselinux-2.2.2-r5[${MULTILIB_USEDEP}] )
- xattr? ( !elibc_glibc? ( >=sys-apps/attr-2.4.47-r1[${MULTILIB_USEDEP}] ) )
- elf? ( virtual/libelf:0= )
- fam? ( >=virtual/fam-0-r1[${MULTILIB_USEDEP}] )
- sysprof? ( >=dev-util/sysprof-capture-3.40.1:4[${MULTILIB_USEDEP}] )
-"
-DEPEND="${RDEPEND}"
-# libxml2 used for optional tests that get automatically skipped
-BDEPEND="
- app-text/docbook-xsl-stylesheets
- dev-libs/libxslt
- >=sys-devel/gettext-0.19.8
- gtk-doc? ( >=dev-util/gtk-doc-1.33
- app-text/docbook-xml-dtd:4.2
- app-text/docbook-xml-dtd:4.5 )
- systemtap? ( >=dev-util/systemtap-1.3 )
- ${PYTHON_DEPS}
- test? ( >=sys-apps/dbus-1.2.14 )
- virtual/pkgconfig
-"
-# TODO: >=dev-util/gdbus-codegen-${PV} test dep once we modify gio/tests/meson.build to use external gdbus-codegen
-
-PDEPEND="
- dbus? ( gnome-base/dconf )
- mime? ( x11-misc/shared-mime-info )
-"
-# shared-mime-info needed for gio/xdgmime, bug #409481
-# dconf is needed to be able to save settings, bug #498436
-
-MULTILIB_CHOST_TOOLS=(
- /usr/bin/gio-querymodules$(get_exeext)
-)
-
-PATCHES=(
- "${FILESDIR}"/${PN}-2.64.1-mark-gdbus-server-auth-test-flaky.patch
-)
-
-pkg_setup() {
- if use kernel_linux ; then
- CONFIG_CHECK="~INOTIFY_USER"
- if use test ; then
- CONFIG_CHECK="~IPV6"
- WARNING_IPV6="Your kernel needs IPV6 support for running some tests, skipping them."
- fi
- linux-info_pkg_setup
- fi
- python-any-r1_pkg_setup
-}
-
-src_prepare() {
- if use test; then
- # TODO: Review the test exclusions, especially now with meson
- # Disable tests requiring dev-util/desktop-file-utils when not installed, bug #286629, upstream bug #629163
- if ! has_version dev-util/desktop-file-utils ; then
- ewarn "Some tests will be skipped due dev-util/desktop-file-utils not being present on your system,"
- ewarn "think on installing it to get these tests run."
- sed -i -e "/appinfo\/associations/d" gio/tests/appinfo.c || die
- sed -i -e "/g_test_add_func/d" gio/tests/desktop-app-info.c || die
- fi
-
- # gdesktopappinfo requires existing terminal (gnome-terminal or any
- # other), falling back to xterm if one doesn't exist
- #if ! has_version x11-terms/xterm && ! has_version x11-terms/gnome-terminal ; then
- # ewarn "Some tests will be skipped due to missing terminal program"
- # These tests seem to sometimes fail even with a terminal; skip for now and reevulate with meson
- # Also try https://gitlab.gnome.org/GNOME/glib/issues/1601 once ready for backport (or in a bump) and file new issue if still fails
- sed -i -e "/appinfo\/launch/d" gio/tests/appinfo.c || die
- # desktop-app-info/launch* might fail similarly
- sed -i -e "/desktop-app-info\/launch-as-manager/d" gio/tests/desktop-app-info.c || die
- #fi
-
- # https://bugzilla.gnome.org/show_bug.cgi?id=722604
- sed -i -e "/timer\/stop/d" glib/tests/timer.c || die
- sed -i -e "/timer\/basic/d" glib/tests/timer.c || die
-
- ewarn "Tests for search-utils have been skipped"
- sed -i -e "/search-utils/d" glib/tests/meson.build || die
-
- # Play nice with network-sandbox, but this approach would defeat the purpose of the test
- #sed -i -e "s/localhost/127.0.0.1/g" gio/tests/gsocketclient-slow.c || die
- else
- # Don't build tests, also prevents extra deps, bug #512022
- sed -i -e '/subdir.*tests/d' {.,gio,glib}/meson.build || die
- fi
-
- # Don't build fuzzing binaries - not used
- sed -i -e '/subdir.*fuzzing/d' meson.build || die
-
- # gdbus-codegen is a separate package
- sed -i -e '/install_dir/d' gio/gdbus-2.0/codegen/meson.build || die
-
- # Same kind of meson-0.50 issue with some installed-tests files; will likely be fixed upstream soon
- sed -i -e '/install_dir/d' gio/tests/meson.build || die
-
- cat > "${T}/glib-test-ld-wrapper" <<-EOF
- #!/usr/bin/env sh
- exec \${LD:-ld} "\$@"
- EOF
- chmod a+x "${T}/glib-test-ld-wrapper" || die
- sed -i -e "s|'ld'|'${T}/glib-test-ld-wrapper'|g" gio/tests/meson.build || die
-
- xdg_src_prepare
- gnome2_environment_reset
- # TODO: python_name sedding for correct python shebang? Might be relevant mainly for glib-utils only
-}
-
-multilib_src_configure() {
- if use debug; then
- append-cflags -DG_ENABLE_DEBUG
- else
- append-cflags -DG_DISABLE_CAST_CHECKS # https://gitlab.gnome.org/GNOME/glib/issues/1833
- fi
-
- # TODO: figure a way to pass appropriate values for all cross properties that glib uses (search for get_cross_property)
- #if tc-is-cross-compiler ; then
- # https://bugzilla.gnome.org/show_bug.cgi?id=756473
- # TODO-meson: This should be in meson cross file as 'growing_stack' property; and more, look at get_cross_property
- #case ${CHOST} in
- #hppa*|metag*) export glib_cv_stack_grows=yes ;;
- #*) export glib_cv_stack_grows=no ;;
- #esac
- #fi
-
- local emesonargs=(
- -Ddefault_library=$(usex static-libs both shared)
- $(meson_feature selinux)
- $(meson_use xattr)
- -Dlibmount=enabled # only used if host_system == 'linux'
- -Dman=true
- $(meson_use systemtap dtrace)
- $(meson_use systemtap)
- $(meson_feature sysprof)
- $(meson_native_use_bool gtk-doc gtk_doc)
- $(meson_use fam)
- $(meson_use test tests)
- -Dinstalled_tests=false
- -Dnls=enabled
- -Doss_fuzz=disabled
- $(meson_native_use_feature elf libelf)
- )
- meson_src_configure
-}
-
-multilib_src_test() {
- export XDG_CONFIG_DIRS=/etc/xdg
- export XDG_DATA_DIRS=/usr/local/share:/usr/share
- export G_DBUS_COOKIE_SHA1_KEYRING_DIR="${T}/temp"
- export LC_TIME=C # bug #411967
- unset GSETTINGS_BACKEND # bug #596380
- python_setup
-
- # Related test is a bit nitpicking
- mkdir "$G_DBUS_COOKIE_SHA1_KEYRING_DIR"
- chmod 0700 "$G_DBUS_COOKIE_SHA1_KEYRING_DIR"
-
- meson_src_test --timeout-multiplier 2 --no-suite flaky
-}
-
-multilib_src_install() {
- meson_src_install
- keepdir /usr/$(get_libdir)/gio/modules
-}
-
-multilib_src_install_all() {
- # These are installed by dev-util/glib-utils
- # TODO: With patching we might be able to get rid of the python-any deps and removals, and test depend on glib-utils instead; revisit now with meson
- rm "${ED}/usr/bin/glib-genmarshal" || die
- rm "${ED}/usr/share/man/man1/glib-genmarshal.1" || die
- rm "${ED}/usr/bin/glib-mkenums" || die
- rm "${ED}/usr/share/man/man1/glib-mkenums.1" || die
- rm "${ED}/usr/bin/gtester-report" || die
- rm "${ED}/usr/share/man/man1/gtester-report.1" || die
- # gdbus-codegen manpage installed by dev-util/gdbus-codegen
- rm "${ED}/usr/share/man/man1/gdbus-codegen.1" || die
-}
-
-pkg_preinst() {
- xdg_pkg_preinst
-
- # Make gschemas.compiled belong to glib alone
- local cache="/usr/share/glib-2.0/schemas/gschemas.compiled"
-
- if [[ -e ${EROOT}${cache} ]]; then
- cp "${EROOT}"${cache} "${ED}"/${cache} || die
- else
- touch "${ED}"${cache} || die
- fi
-
- multilib_pkg_preinst() {
- # Make giomodule.cache belong to glib alone
- local cache="/usr/$(get_libdir)/gio/modules/giomodule.cache"
-
- if [[ -e ${EROOT}${cache} ]]; then
- cp "${EROOT}"${cache} "${ED}"${cache} || die
- else
- touch "${ED}"${cache} || die
- fi
- }
-
- # Don't run the cache ownership when cross-compiling, as it would end up with an empty cache
- # file due to inability to create it and GIO might not look at any of the modules there
- if ! tc-is-cross-compiler ; then
- multilib_foreach_abi multilib_pkg_preinst
- fi
-}
-
-pkg_postinst() {
- xdg_pkg_postinst
- # glib installs no schemas itself, but we force update for fresh install in case
- # something has dropped in a schemas file without direct glib dep; and for upgrades
- # in case the compiled schema format could have changed
- gnome2_schemas_update
-
- multilib_pkg_postinst() {
- gnome2_giomodule_cache_update \
- || die "Update GIO modules cache failed (for ${ABI})"
- }
- if ! tc-is-cross-compiler ; then
- multilib_foreach_abi multilib_pkg_postinst
- else
- ewarn "Updating of GIO modules cache skipped due to cross-compilation."
- ewarn "You might want to run gio-querymodules manually on the target for"
- ewarn "your final image for performance reasons and re-run it when packages"
- ewarn "installing GIO modules get upgraded or added to the image."
- fi
-
- for v in ${REPLACING_VERSIONS}; do
- if ver_test "$v" "-lt" "2.63.6"; then
- ewarn "glib no longer installs the gio-launch-desktop binary. You may need"
- ewarn "to restart your session for \"Open With\" dialogs to work."
- fi
- done
-}
-
-pkg_postrm() {
- xdg_pkg_postrm
- gnome2_schemas_update
-
- if [[ -z ${REPLACED_BY_VERSION} ]]; then
- multilib_pkg_postrm() {
- rm -f "${EROOT}"/usr/$(get_libdir)/gio/modules/giomodule.cache
- }
- multilib_foreach_abi multilib_pkg_postrm
- rm -f "${EROOT}"/usr/share/glib-2.0/schemas/gschemas.compiled
- fi
-}
diff --git a/dev-libs/glib/glib-2.76.4.ebuild b/dev-libs/glib/glib-2.76.4.ebuild
new file mode 100644
index 000000000000..51da7bfa347f
--- /dev/null
+++ b/dev-libs/glib/glib-2.76.4.ebuild
@@ -0,0 +1,312 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+PYTHON_REQ_USE="xml(+)"
+PYTHON_COMPAT=( python3_{10..11} )
+
+inherit gnome.org gnome2-utils linux-info meson-multilib multilib python-any-r1 toolchain-funcs xdg
+
+DESCRIPTION="The GLib library of C routines"
+HOMEPAGE="https://www.gtk.org/"
+
+LICENSE="LGPL-2.1+"
+SLOT="2"
+IUSE="dbus debug +elf gtk-doc +mime selinux static-libs sysprof systemtap test utils xattr"
+RESTRICT="!test? ( test )"
+REQUIRED_USE="gtk-doc? ( test )" # Bug #777636
+
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+
+# * elfutils (via libelf) does not build on Windows. gresources are not embedded
+# within ELF binaries on that platform anyway and inspecting ELF binaries from
+# other platforms is not that useful so exclude the dependency in this case.
+# * Technically static-libs is needed on zlib, util-linux and perhaps more, but
+# these are used by GIO, which glib[static-libs] consumers don't really seem
+# to need at all, thus not imposing the deps for now and once some consumers
+# are actually found to static link libgio-2.0.a, we can revisit and either add
+# them or just put the (build) deps in that rare consumer instead of recursive
+# RDEPEND here (due to lack of recursive DEPEND).
+RDEPEND="
+ !<dev-util/gdbus-codegen-${PV}
+ >=virtual/libiconv-0-r1[${MULTILIB_USEDEP}]
+ >=dev-libs/libpcre2-10.32:0=[${MULTILIB_USEDEP},unicode(+),static-libs?]
+ >=dev-libs/libffi-3.0.13-r1:=[${MULTILIB_USEDEP}]
+ >=sys-libs/zlib-1.2.8-r1[${MULTILIB_USEDEP}]
+ >=virtual/libintl-0-r2[${MULTILIB_USEDEP}]
+ kernel_linux? ( >=sys-apps/util-linux-2.23[${MULTILIB_USEDEP}] )
+ selinux? ( >=sys-libs/libselinux-2.2.2-r5[${MULTILIB_USEDEP}] )
+ xattr? ( !elibc_glibc? ( >=sys-apps/attr-2.4.47-r1[${MULTILIB_USEDEP}] ) )
+ elf? ( virtual/libelf:0= )
+ sysprof? ( >=dev-util/sysprof-capture-3.40.1:4[${MULTILIB_USEDEP}] )
+"
+DEPEND="${RDEPEND}"
+# libxml2 used for optional tests that get automatically skipped
+BDEPEND="
+ app-text/docbook-xsl-stylesheets
+ dev-libs/libxslt
+ >=sys-devel/gettext-0.19.8
+ gtk-doc? ( >=dev-util/gtk-doc-1.33
+ app-text/docbook-xml-dtd:4.2
+ app-text/docbook-xml-dtd:4.5 )
+ systemtap? ( >=dev-debug/systemtap-1.3 )
+ ${PYTHON_DEPS}
+ test? ( >=sys-apps/dbus-1.2.14 )
+ virtual/pkgconfig
+"
+# TODO: >=dev-util/gdbus-codegen-${PV} test dep once we modify gio/tests/meson.build to use external gdbus-codegen
+
+PDEPEND="
+ dbus? ( gnome-base/dconf )
+ mime? ( x11-misc/shared-mime-info )
+"
+# shared-mime-info needed for gio/xdgmime, bug #409481
+# dconf is needed to be able to save settings, bug #498436
+
+MULTILIB_CHOST_TOOLS=(
+ /usr/bin/gio-querymodules$(get_exeext)
+)
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-2.64.1-mark-gdbus-server-auth-test-flaky.patch
+)
+
+pkg_setup() {
+ if use kernel_linux ; then
+ CONFIG_CHECK="~INOTIFY_USER"
+ if use test ; then
+ CONFIG_CHECK="~IPV6"
+ WARNING_IPV6="Your kernel needs IPV6 support for running some tests, skipping them."
+ fi
+ linux-info_pkg_setup
+ fi
+ python-any-r1_pkg_setup
+}
+
+src_prepare() {
+ if use test; then
+ # TODO: Review the test exclusions, especially now with meson
+ # Disable tests requiring dev-util/desktop-file-utils when not installed, bug #286629, upstream bug #629163
+ if ! has_version dev-util/desktop-file-utils ; then
+ ewarn "Some tests will be skipped due dev-util/desktop-file-utils not being present on your system,"
+ ewarn "think on installing it to get these tests run."
+ sed -i -e "/appinfo\/associations/d" gio/tests/appinfo.c || die
+ sed -i -e "/g_test_add_func/d" gio/tests/desktop-app-info.c || die
+ fi
+
+ # gdesktopappinfo requires existing terminal (gnome-terminal or any
+ # other), falling back to xterm if one doesn't exist
+ #if ! has_version x11-terms/xterm && ! has_version x11-terms/gnome-terminal ; then
+ # ewarn "Some tests will be skipped due to missing terminal program"
+ # These tests seem to sometimes fail even with a terminal; skip for now and reevulate with meson
+ # Also try https://gitlab.gnome.org/GNOME/glib/issues/1601 once ready
+ # for backport (or in a bump) and file new issue if still fails
+ sed -i -e "/appinfo\/launch/d" gio/tests/appinfo.c || die
+ # desktop-app-info/launch* might fail similarly
+ sed -i -e "/desktop-app-info\/launch-as-manager/d" gio/tests/desktop-app-info.c || die
+ #fi
+
+ # https://bugzilla.gnome.org/show_bug.cgi?id=722604
+ sed -i -e "/timer\/stop/d" glib/tests/timer.c || die
+ sed -i -e "/timer\/basic/d" glib/tests/timer.c || die
+
+ ewarn "Tests for search-utils have been skipped"
+ sed -i -e "/search-utils/d" glib/tests/meson.build || die
+
+ # Play nice with network-sandbox, but this approach would defeat the purpose of the test
+ #sed -i -e "s/localhost/127.0.0.1/g" gio/tests/gsocketclient-slow.c || die
+ else
+ # Don't build tests, also prevents extra deps, bug #512022
+ sed -i -e '/subdir.*tests/d' {.,gio,glib}/meson.build || die
+ fi
+
+ # Don't build fuzzing binaries - not used
+ sed -i -e '/subdir.*fuzzing/d' meson.build || die
+
+ # gdbus-codegen is a separate package
+ sed -i -e '/install_dir/d' gio/gdbus-2.0/codegen/meson.build || die
+
+ # Same kind of meson-0.50 issue with some installed-tests files; will likely be fixed upstream soon
+ sed -i -e '/install_dir/d' gio/tests/meson.build || die
+
+ cat > "${T}/glib-test-ld-wrapper" <<-EOF
+ #!/usr/bin/env sh
+ exec \${LD:-ld} "\$@"
+ EOF
+ chmod a+x "${T}/glib-test-ld-wrapper" || die
+ sed -i -e "s|'ld'|'${T}/glib-test-ld-wrapper'|g" gio/tests/meson.build || die
+
+ # make default sane for us
+ if use prefix ; then
+ sed -i -e "s:/usr/local:${EPREFIX}/usr:" gio/xdgmime/xdgmime.c || die
+ # bug #308609, without path, bug #314057
+ export PERL=perl
+ fi
+
+ if [[ ${CHOST} == *-solaris* ]] ; then
+ # fix standards conflicts
+ sed -i \
+ -e 's/\<\(_XOPEN_SOURCE_EXTENDED\)\>/_POSIX_PTHREAD_SEMANTICS/' \
+ -e '/\<_XOPEN_SOURCE\>/s/\<2\>/600/' \
+ meson.build || die
+ sed -i -e '/#define\s\+_POSIX_SOURCE/d' \
+ glib/giounix.c || die
+ fi
+
+ # disable native macOS integrations
+ sed -i -e '/glib_conf.set(.HAVE_\(CARBON\|COCOA\).,/s/true/false/' \
+ meson.build || die
+ sed -i \
+ -e '/AvailabilityMacros.h/d' \
+ gio/giomodule.c || die
+
+ default
+ gnome2_environment_reset
+ # TODO: python_name sedding for correct python shebang? Might be relevant mainly for glib-utils only
+}
+
+multilib_src_configure() {
+ # TODO: figure a way to pass appropriate values for all cross properties
+ # that glib uses (search for get_cross_property)
+ #if tc-is-cross-compiler ; then
+ # https://bugzilla.gnome.org/show_bug.cgi?id=756473
+ # TODO-meson: This should be in meson cross file as 'growing_stack'
+ # property; and more, look at get_cross_property
+ #case ${CHOST} in
+ #hppa*|metag*) export glib_cv_stack_grows=yes ;;
+ #*) export glib_cv_stack_grows=no ;;
+ #esac
+ #fi
+
+ local emesonargs=(
+ -Dbuildtype=$(usex debug debug plain)
+ -Ddefault_library=$(usex static-libs both shared)
+ -Druntime_dir="${EPREFIX}"/run
+ $(meson_feature selinux)
+ $(meson_use xattr)
+ -Dlibmount=enabled # only used if host_system == 'linux'
+ -Dman=true
+ $(meson_use systemtap dtrace)
+ $(meson_use systemtap)
+ $(meson_feature sysprof)
+ $(meson_native_use_bool gtk-doc gtk_doc)
+ $(meson_use test tests)
+ -Dinstalled_tests=false
+ -Dnls=enabled
+ -Doss_fuzz=disabled
+ $(meson_native_use_feature elf libelf)
+ -Dmultiarch=false
+ )
+ meson_src_configure
+}
+
+multilib_src_test() {
+ export XDG_CONFIG_DIRS=/etc/xdg
+ export XDG_DATA_DIRS=/usr/local/share:/usr/share
+ export G_DBUS_COOKIE_SHA1_KEYRING_DIR="${T}/temp"
+ export LC_TIME=C # bug #411967
+ export TZ=UTC
+ unset GSETTINGS_BACKEND # bug #596380
+ python_setup
+
+ # https://bugs.gentoo.org/839807
+ local -x SANDBOX_PREDICT=${SANDBOX_PREDICT}
+ addpredict /usr/b
+
+ # Related test is a bit nitpicking
+ mkdir "$G_DBUS_COOKIE_SHA1_KEYRING_DIR"
+ chmod 0700 "$G_DBUS_COOKIE_SHA1_KEYRING_DIR"
+
+ meson_src_test --timeout-multiplier 2 --no-suite flaky
+}
+
+multilib_src_install() {
+ meson_src_install
+ keepdir /usr/$(get_libdir)/gio/modules
+}
+
+multilib_src_install_all() {
+ # These are installed by dev-util/glib-utils
+ # TODO: With patching we might be able to get rid of the python-any deps
+ # and removals, and test depend on glib-utils instead; revisit now with
+ # meson
+ rm "${ED}/usr/bin/glib-genmarshal" || die
+ rm "${ED}/usr/share/man/man1/glib-genmarshal.1" || die
+ rm "${ED}/usr/bin/glib-mkenums" || die
+ rm "${ED}/usr/share/man/man1/glib-mkenums.1" || die
+ rm "${ED}/usr/bin/gtester-report" || die
+ rm "${ED}/usr/share/man/man1/gtester-report.1" || die
+ # gdbus-codegen manpage installed by dev-util/gdbus-codegen
+ rm "${ED}/usr/share/man/man1/gdbus-codegen.1" || die
+}
+
+pkg_preinst() {
+ xdg_pkg_preinst
+
+ # Make gschemas.compiled belong to glib alone
+ local cache="/usr/share/glib-2.0/schemas/gschemas.compiled"
+
+ if [[ -e ${EROOT}${cache} ]]; then
+ cp "${EROOT}"${cache} "${ED}"/${cache} || die
+ else
+ touch "${ED}"${cache} || die
+ fi
+
+ multilib_pkg_preinst() {
+ # Make giomodule.cache belong to glib alone
+ local cache="/usr/$(get_libdir)/gio/modules/giomodule.cache"
+
+ if [[ -e ${EROOT}${cache} ]]; then
+ cp "${EROOT}"${cache} "${ED}"${cache} || die
+ else
+ touch "${ED}"${cache} || die
+ fi
+ }
+
+ # Don't run the cache ownership when cross-compiling, as it would end up with an empty cache
+ # file due to inability to create it and GIO might not look at any of the modules there
+ if ! tc-is-cross-compiler ; then
+ multilib_foreach_abi multilib_pkg_preinst
+ fi
+}
+
+pkg_postinst() {
+ xdg_pkg_postinst
+ # glib installs no schemas itself, but we force update for fresh install in case
+ # something has dropped in a schemas file without direct glib dep; and for upgrades
+ # in case the compiled schema format could have changed
+ gnome2_schemas_update
+
+ multilib_pkg_postinst() {
+ gnome2_giomodule_cache_update \
+ || die "Update GIO modules cache failed (for ${ABI})"
+ }
+ if ! tc-is-cross-compiler ; then
+ multilib_foreach_abi multilib_pkg_postinst
+ else
+ ewarn "Updating of GIO modules cache skipped due to cross-compilation."
+ ewarn "You might want to run gio-querymodules manually on the target for"
+ ewarn "your final image for performance reasons and re-run it when packages"
+ ewarn "installing GIO modules get upgraded or added to the image."
+ fi
+
+ for v in ${REPLACING_VERSIONS}; do
+ if ver_test "$v" "-lt" "2.63.6"; then
+ ewarn "glib no longer installs the gio-launch-desktop binary. You may need"
+ ewarn "to restart your session for \"Open With\" dialogs to work."
+ fi
+ done
+}
+
+pkg_postrm() {
+ xdg_pkg_postrm
+ gnome2_schemas_update
+
+ if [[ -z ${REPLACED_BY_VERSION} ]]; then
+ multilib_pkg_postrm() {
+ rm -f "${EROOT}"/usr/$(get_libdir)/gio/modules/giomodule.cache
+ }
+ multilib_foreach_abi multilib_pkg_postrm
+ rm -f "${EROOT}"/usr/share/glib-2.0/schemas/gschemas.compiled
+ fi
+}
diff --git a/dev-libs/glib/glib-2.78.3.ebuild b/dev-libs/glib/glib-2.78.3.ebuild
new file mode 100644
index 000000000000..51da7bfa347f
--- /dev/null
+++ b/dev-libs/glib/glib-2.78.3.ebuild
@@ -0,0 +1,312 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+PYTHON_REQ_USE="xml(+)"
+PYTHON_COMPAT=( python3_{10..11} )
+
+inherit gnome.org gnome2-utils linux-info meson-multilib multilib python-any-r1 toolchain-funcs xdg
+
+DESCRIPTION="The GLib library of C routines"
+HOMEPAGE="https://www.gtk.org/"
+
+LICENSE="LGPL-2.1+"
+SLOT="2"
+IUSE="dbus debug +elf gtk-doc +mime selinux static-libs sysprof systemtap test utils xattr"
+RESTRICT="!test? ( test )"
+REQUIRED_USE="gtk-doc? ( test )" # Bug #777636
+
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+
+# * elfutils (via libelf) does not build on Windows. gresources are not embedded
+# within ELF binaries on that platform anyway and inspecting ELF binaries from
+# other platforms is not that useful so exclude the dependency in this case.
+# * Technically static-libs is needed on zlib, util-linux and perhaps more, but
+# these are used by GIO, which glib[static-libs] consumers don't really seem
+# to need at all, thus not imposing the deps for now and once some consumers
+# are actually found to static link libgio-2.0.a, we can revisit and either add
+# them or just put the (build) deps in that rare consumer instead of recursive
+# RDEPEND here (due to lack of recursive DEPEND).
+RDEPEND="
+ !<dev-util/gdbus-codegen-${PV}
+ >=virtual/libiconv-0-r1[${MULTILIB_USEDEP}]
+ >=dev-libs/libpcre2-10.32:0=[${MULTILIB_USEDEP},unicode(+),static-libs?]
+ >=dev-libs/libffi-3.0.13-r1:=[${MULTILIB_USEDEP}]
+ >=sys-libs/zlib-1.2.8-r1[${MULTILIB_USEDEP}]
+ >=virtual/libintl-0-r2[${MULTILIB_USEDEP}]
+ kernel_linux? ( >=sys-apps/util-linux-2.23[${MULTILIB_USEDEP}] )
+ selinux? ( >=sys-libs/libselinux-2.2.2-r5[${MULTILIB_USEDEP}] )
+ xattr? ( !elibc_glibc? ( >=sys-apps/attr-2.4.47-r1[${MULTILIB_USEDEP}] ) )
+ elf? ( virtual/libelf:0= )
+ sysprof? ( >=dev-util/sysprof-capture-3.40.1:4[${MULTILIB_USEDEP}] )
+"
+DEPEND="${RDEPEND}"
+# libxml2 used for optional tests that get automatically skipped
+BDEPEND="
+ app-text/docbook-xsl-stylesheets
+ dev-libs/libxslt
+ >=sys-devel/gettext-0.19.8
+ gtk-doc? ( >=dev-util/gtk-doc-1.33
+ app-text/docbook-xml-dtd:4.2
+ app-text/docbook-xml-dtd:4.5 )
+ systemtap? ( >=dev-debug/systemtap-1.3 )
+ ${PYTHON_DEPS}
+ test? ( >=sys-apps/dbus-1.2.14 )
+ virtual/pkgconfig
+"
+# TODO: >=dev-util/gdbus-codegen-${PV} test dep once we modify gio/tests/meson.build to use external gdbus-codegen
+
+PDEPEND="
+ dbus? ( gnome-base/dconf )
+ mime? ( x11-misc/shared-mime-info )
+"
+# shared-mime-info needed for gio/xdgmime, bug #409481
+# dconf is needed to be able to save settings, bug #498436
+
+MULTILIB_CHOST_TOOLS=(
+ /usr/bin/gio-querymodules$(get_exeext)
+)
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-2.64.1-mark-gdbus-server-auth-test-flaky.patch
+)
+
+pkg_setup() {
+ if use kernel_linux ; then
+ CONFIG_CHECK="~INOTIFY_USER"
+ if use test ; then
+ CONFIG_CHECK="~IPV6"
+ WARNING_IPV6="Your kernel needs IPV6 support for running some tests, skipping them."
+ fi
+ linux-info_pkg_setup
+ fi
+ python-any-r1_pkg_setup
+}
+
+src_prepare() {
+ if use test; then
+ # TODO: Review the test exclusions, especially now with meson
+ # Disable tests requiring dev-util/desktop-file-utils when not installed, bug #286629, upstream bug #629163
+ if ! has_version dev-util/desktop-file-utils ; then
+ ewarn "Some tests will be skipped due dev-util/desktop-file-utils not being present on your system,"
+ ewarn "think on installing it to get these tests run."
+ sed -i -e "/appinfo\/associations/d" gio/tests/appinfo.c || die
+ sed -i -e "/g_test_add_func/d" gio/tests/desktop-app-info.c || die
+ fi
+
+ # gdesktopappinfo requires existing terminal (gnome-terminal or any
+ # other), falling back to xterm if one doesn't exist
+ #if ! has_version x11-terms/xterm && ! has_version x11-terms/gnome-terminal ; then
+ # ewarn "Some tests will be skipped due to missing terminal program"
+ # These tests seem to sometimes fail even with a terminal; skip for now and reevulate with meson
+ # Also try https://gitlab.gnome.org/GNOME/glib/issues/1601 once ready
+ # for backport (or in a bump) and file new issue if still fails
+ sed -i -e "/appinfo\/launch/d" gio/tests/appinfo.c || die
+ # desktop-app-info/launch* might fail similarly
+ sed -i -e "/desktop-app-info\/launch-as-manager/d" gio/tests/desktop-app-info.c || die
+ #fi
+
+ # https://bugzilla.gnome.org/show_bug.cgi?id=722604
+ sed -i -e "/timer\/stop/d" glib/tests/timer.c || die
+ sed -i -e "/timer\/basic/d" glib/tests/timer.c || die
+
+ ewarn "Tests for search-utils have been skipped"
+ sed -i -e "/search-utils/d" glib/tests/meson.build || die
+
+ # Play nice with network-sandbox, but this approach would defeat the purpose of the test
+ #sed -i -e "s/localhost/127.0.0.1/g" gio/tests/gsocketclient-slow.c || die
+ else
+ # Don't build tests, also prevents extra deps, bug #512022
+ sed -i -e '/subdir.*tests/d' {.,gio,glib}/meson.build || die
+ fi
+
+ # Don't build fuzzing binaries - not used
+ sed -i -e '/subdir.*fuzzing/d' meson.build || die
+
+ # gdbus-codegen is a separate package
+ sed -i -e '/install_dir/d' gio/gdbus-2.0/codegen/meson.build || die
+
+ # Same kind of meson-0.50 issue with some installed-tests files; will likely be fixed upstream soon
+ sed -i -e '/install_dir/d' gio/tests/meson.build || die
+
+ cat > "${T}/glib-test-ld-wrapper" <<-EOF
+ #!/usr/bin/env sh
+ exec \${LD:-ld} "\$@"
+ EOF
+ chmod a+x "${T}/glib-test-ld-wrapper" || die
+ sed -i -e "s|'ld'|'${T}/glib-test-ld-wrapper'|g" gio/tests/meson.build || die
+
+ # make default sane for us
+ if use prefix ; then
+ sed -i -e "s:/usr/local:${EPREFIX}/usr:" gio/xdgmime/xdgmime.c || die
+ # bug #308609, without path, bug #314057
+ export PERL=perl
+ fi
+
+ if [[ ${CHOST} == *-solaris* ]] ; then
+ # fix standards conflicts
+ sed -i \
+ -e 's/\<\(_XOPEN_SOURCE_EXTENDED\)\>/_POSIX_PTHREAD_SEMANTICS/' \
+ -e '/\<_XOPEN_SOURCE\>/s/\<2\>/600/' \
+ meson.build || die
+ sed -i -e '/#define\s\+_POSIX_SOURCE/d' \
+ glib/giounix.c || die
+ fi
+
+ # disable native macOS integrations
+ sed -i -e '/glib_conf.set(.HAVE_\(CARBON\|COCOA\).,/s/true/false/' \
+ meson.build || die
+ sed -i \
+ -e '/AvailabilityMacros.h/d' \
+ gio/giomodule.c || die
+
+ default
+ gnome2_environment_reset
+ # TODO: python_name sedding for correct python shebang? Might be relevant mainly for glib-utils only
+}
+
+multilib_src_configure() {
+ # TODO: figure a way to pass appropriate values for all cross properties
+ # that glib uses (search for get_cross_property)
+ #if tc-is-cross-compiler ; then
+ # https://bugzilla.gnome.org/show_bug.cgi?id=756473
+ # TODO-meson: This should be in meson cross file as 'growing_stack'
+ # property; and more, look at get_cross_property
+ #case ${CHOST} in
+ #hppa*|metag*) export glib_cv_stack_grows=yes ;;
+ #*) export glib_cv_stack_grows=no ;;
+ #esac
+ #fi
+
+ local emesonargs=(
+ -Dbuildtype=$(usex debug debug plain)
+ -Ddefault_library=$(usex static-libs both shared)
+ -Druntime_dir="${EPREFIX}"/run
+ $(meson_feature selinux)
+ $(meson_use xattr)
+ -Dlibmount=enabled # only used if host_system == 'linux'
+ -Dman=true
+ $(meson_use systemtap dtrace)
+ $(meson_use systemtap)
+ $(meson_feature sysprof)
+ $(meson_native_use_bool gtk-doc gtk_doc)
+ $(meson_use test tests)
+ -Dinstalled_tests=false
+ -Dnls=enabled
+ -Doss_fuzz=disabled
+ $(meson_native_use_feature elf libelf)
+ -Dmultiarch=false
+ )
+ meson_src_configure
+}
+
+multilib_src_test() {
+ export XDG_CONFIG_DIRS=/etc/xdg
+ export XDG_DATA_DIRS=/usr/local/share:/usr/share
+ export G_DBUS_COOKIE_SHA1_KEYRING_DIR="${T}/temp"
+ export LC_TIME=C # bug #411967
+ export TZ=UTC
+ unset GSETTINGS_BACKEND # bug #596380
+ python_setup
+
+ # https://bugs.gentoo.org/839807
+ local -x SANDBOX_PREDICT=${SANDBOX_PREDICT}
+ addpredict /usr/b
+
+ # Related test is a bit nitpicking
+ mkdir "$G_DBUS_COOKIE_SHA1_KEYRING_DIR"
+ chmod 0700 "$G_DBUS_COOKIE_SHA1_KEYRING_DIR"
+
+ meson_src_test --timeout-multiplier 2 --no-suite flaky
+}
+
+multilib_src_install() {
+ meson_src_install
+ keepdir /usr/$(get_libdir)/gio/modules
+}
+
+multilib_src_install_all() {
+ # These are installed by dev-util/glib-utils
+ # TODO: With patching we might be able to get rid of the python-any deps
+ # and removals, and test depend on glib-utils instead; revisit now with
+ # meson
+ rm "${ED}/usr/bin/glib-genmarshal" || die
+ rm "${ED}/usr/share/man/man1/glib-genmarshal.1" || die
+ rm "${ED}/usr/bin/glib-mkenums" || die
+ rm "${ED}/usr/share/man/man1/glib-mkenums.1" || die
+ rm "${ED}/usr/bin/gtester-report" || die
+ rm "${ED}/usr/share/man/man1/gtester-report.1" || die
+ # gdbus-codegen manpage installed by dev-util/gdbus-codegen
+ rm "${ED}/usr/share/man/man1/gdbus-codegen.1" || die
+}
+
+pkg_preinst() {
+ xdg_pkg_preinst
+
+ # Make gschemas.compiled belong to glib alone
+ local cache="/usr/share/glib-2.0/schemas/gschemas.compiled"
+
+ if [[ -e ${EROOT}${cache} ]]; then
+ cp "${EROOT}"${cache} "${ED}"/${cache} || die
+ else
+ touch "${ED}"${cache} || die
+ fi
+
+ multilib_pkg_preinst() {
+ # Make giomodule.cache belong to glib alone
+ local cache="/usr/$(get_libdir)/gio/modules/giomodule.cache"
+
+ if [[ -e ${EROOT}${cache} ]]; then
+ cp "${EROOT}"${cache} "${ED}"${cache} || die
+ else
+ touch "${ED}"${cache} || die
+ fi
+ }
+
+ # Don't run the cache ownership when cross-compiling, as it would end up with an empty cache
+ # file due to inability to create it and GIO might not look at any of the modules there
+ if ! tc-is-cross-compiler ; then
+ multilib_foreach_abi multilib_pkg_preinst
+ fi
+}
+
+pkg_postinst() {
+ xdg_pkg_postinst
+ # glib installs no schemas itself, but we force update for fresh install in case
+ # something has dropped in a schemas file without direct glib dep; and for upgrades
+ # in case the compiled schema format could have changed
+ gnome2_schemas_update
+
+ multilib_pkg_postinst() {
+ gnome2_giomodule_cache_update \
+ || die "Update GIO modules cache failed (for ${ABI})"
+ }
+ if ! tc-is-cross-compiler ; then
+ multilib_foreach_abi multilib_pkg_postinst
+ else
+ ewarn "Updating of GIO modules cache skipped due to cross-compilation."
+ ewarn "You might want to run gio-querymodules manually on the target for"
+ ewarn "your final image for performance reasons and re-run it when packages"
+ ewarn "installing GIO modules get upgraded or added to the image."
+ fi
+
+ for v in ${REPLACING_VERSIONS}; do
+ if ver_test "$v" "-lt" "2.63.6"; then
+ ewarn "glib no longer installs the gio-launch-desktop binary. You may need"
+ ewarn "to restart your session for \"Open With\" dialogs to work."
+ fi
+ done
+}
+
+pkg_postrm() {
+ xdg_pkg_postrm
+ gnome2_schemas_update
+
+ if [[ -z ${REPLACED_BY_VERSION} ]]; then
+ multilib_pkg_postrm() {
+ rm -f "${EROOT}"/usr/$(get_libdir)/gio/modules/giomodule.cache
+ }
+ multilib_foreach_abi multilib_pkg_postrm
+ rm -f "${EROOT}"/usr/share/glib-2.0/schemas/gschemas.compiled
+ fi
+}
diff --git a/dev-libs/glib/glib-2.78.4-r1.ebuild b/dev-libs/glib/glib-2.78.4-r1.ebuild
new file mode 100644
index 000000000000..f1a94faa0074
--- /dev/null
+++ b/dev-libs/glib/glib-2.78.4-r1.ebuild
@@ -0,0 +1,321 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+PYTHON_REQ_USE="xml(+)"
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit gnome.org gnome2-utils linux-info meson-multilib multilib python-any-r1 toolchain-funcs xdg
+
+DESCRIPTION="The GLib library of C routines"
+HOMEPAGE="https://www.gtk.org/"
+
+LICENSE="LGPL-2.1+"
+SLOT="2"
+IUSE="dbus debug +elf gtk-doc +mime selinux static-libs sysprof systemtap test utils xattr"
+RESTRICT="!test? ( test )"
+REQUIRED_USE="gtk-doc? ( test )" # Bug #777636
+
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+
+# * elfutils (via libelf) does not build on Windows. gresources are not embedded
+# within ELF binaries on that platform anyway and inspecting ELF binaries from
+# other platforms is not that useful so exclude the dependency in this case.
+# * Technically static-libs is needed on zlib, util-linux and perhaps more, but
+# these are used by GIO, which glib[static-libs] consumers don't really seem
+# to need at all, thus not imposing the deps for now and once some consumers
+# are actually found to static link libgio-2.0.a, we can revisit and either add
+# them or just put the (build) deps in that rare consumer instead of recursive
+# RDEPEND here (due to lack of recursive DEPEND).
+RDEPEND="
+ !<dev-util/gdbus-codegen-${PV}
+ >=virtual/libiconv-0-r1[${MULTILIB_USEDEP}]
+ >=dev-libs/libpcre2-10.32:0=[${MULTILIB_USEDEP},unicode(+),static-libs?]
+ >=dev-libs/libffi-3.0.13-r1:=[${MULTILIB_USEDEP}]
+ >=sys-libs/zlib-1.2.8-r1[${MULTILIB_USEDEP}]
+ >=virtual/libintl-0-r2[${MULTILIB_USEDEP}]
+ kernel_linux? ( >=sys-apps/util-linux-2.23[${MULTILIB_USEDEP}] )
+ selinux? ( >=sys-libs/libselinux-2.2.2-r5[${MULTILIB_USEDEP}] )
+ xattr? ( !elibc_glibc? ( >=sys-apps/attr-2.4.47-r1[${MULTILIB_USEDEP}] ) )
+ elf? ( virtual/libelf:0= )
+ sysprof? ( >=dev-util/sysprof-capture-3.40.1:4[${MULTILIB_USEDEP}] )
+"
+DEPEND="${RDEPEND}"
+# libxml2 used for optional tests that get automatically skipped
+BDEPEND="
+ app-text/docbook-xsl-stylesheets
+ dev-libs/libxslt
+ >=sys-devel/gettext-0.19.8
+ gtk-doc? ( >=dev-util/gtk-doc-1.33
+ app-text/docbook-xml-dtd:4.2
+ app-text/docbook-xml-dtd:4.5 )
+ systemtap? ( >=dev-debug/systemtap-1.3 )
+ ${PYTHON_DEPS}
+ $(python_gen_any_dep '
+ dev-python/packaging[${PYTHON_USEDEP}]
+ ')
+ test? ( >=sys-apps/dbus-1.2.14 )
+ virtual/pkgconfig
+"
+# TODO: >=dev-util/gdbus-codegen-${PV} test dep once we modify gio/tests/meson.build to use external gdbus-codegen
+
+PDEPEND="
+ dbus? ( gnome-base/dconf )
+ mime? ( x11-misc/shared-mime-info )
+"
+# shared-mime-info needed for gio/xdgmime, bug #409481
+# dconf is needed to be able to save settings, bug #498436
+
+MULTILIB_CHOST_TOOLS=(
+ /usr/bin/gio-querymodules$(get_exeext)
+)
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-2.64.1-mark-gdbus-server-auth-test-flaky.patch
+ "${FILESDIR}"/${PN}-2.78.4-distutils.patch
+ "${FILESDIR}"/${PN}-2.78.4-libpcre2-10.43.patch
+)
+
+python_check_deps() {
+ python_has_version "dev-python/packaging[${PYTHON_USEDEP}]"
+}
+
+pkg_setup() {
+ if use kernel_linux ; then
+ CONFIG_CHECK="~INOTIFY_USER"
+ if use test ; then
+ CONFIG_CHECK="~IPV6"
+ WARNING_IPV6="Your kernel needs IPV6 support for running some tests, skipping them."
+ fi
+ linux-info_pkg_setup
+ fi
+ python-any-r1_pkg_setup
+}
+
+src_prepare() {
+ if use test; then
+ # TODO: Review the test exclusions, especially now with meson
+ # Disable tests requiring dev-util/desktop-file-utils when not installed, bug #286629, upstream bug #629163
+ if ! has_version dev-util/desktop-file-utils ; then
+ ewarn "Some tests will be skipped due dev-util/desktop-file-utils not being present on your system,"
+ ewarn "think on installing it to get these tests run."
+ sed -i -e "/appinfo\/associations/d" gio/tests/appinfo.c || die
+ sed -i -e "/g_test_add_func/d" gio/tests/desktop-app-info.c || die
+ fi
+
+ # gdesktopappinfo requires existing terminal (gnome-terminal or any
+ # other), falling back to xterm if one doesn't exist
+ #if ! has_version x11-terms/xterm && ! has_version x11-terms/gnome-terminal ; then
+ # ewarn "Some tests will be skipped due to missing terminal program"
+ # These tests seem to sometimes fail even with a terminal; skip for now and reevulate with meson
+ # Also try https://gitlab.gnome.org/GNOME/glib/issues/1601 once ready
+ # for backport (or in a bump) and file new issue if still fails
+ sed -i -e "/appinfo\/launch/d" gio/tests/appinfo.c || die
+ # desktop-app-info/launch* might fail similarly
+ sed -i -e "/desktop-app-info\/launch-as-manager/d" gio/tests/desktop-app-info.c || die
+ #fi
+
+ # https://bugzilla.gnome.org/show_bug.cgi?id=722604
+ sed -i -e "/timer\/stop/d" glib/tests/timer.c || die
+ sed -i -e "/timer\/basic/d" glib/tests/timer.c || die
+
+ ewarn "Tests for search-utils have been skipped"
+ sed -i -e "/search-utils/d" glib/tests/meson.build || die
+
+ # Play nice with network-sandbox, but this approach would defeat the purpose of the test
+ #sed -i -e "s/localhost/127.0.0.1/g" gio/tests/gsocketclient-slow.c || die
+ else
+ # Don't build tests, also prevents extra deps, bug #512022
+ sed -i -e '/subdir.*tests/d' {.,gio,glib}/meson.build || die
+ fi
+
+ # Don't build fuzzing binaries - not used
+ sed -i -e '/subdir.*fuzzing/d' meson.build || die
+
+ # gdbus-codegen is a separate package
+ sed -i -e '/install_dir/d' gio/gdbus-2.0/codegen/meson.build || die
+
+ # Same kind of meson-0.50 issue with some installed-tests files; will likely be fixed upstream soon
+ sed -i -e '/install_dir/d' gio/tests/meson.build || die
+
+ cat > "${T}/glib-test-ld-wrapper" <<-EOF
+ #!/usr/bin/env sh
+ exec \${LD:-ld} "\$@"
+ EOF
+ chmod a+x "${T}/glib-test-ld-wrapper" || die
+ sed -i -e "s|'ld'|'${T}/glib-test-ld-wrapper'|g" gio/tests/meson.build || die
+
+ # make default sane for us
+ if use prefix ; then
+ sed -i -e "s:/usr/local:${EPREFIX}/usr:" gio/xdgmime/xdgmime.c || die
+ # bug #308609, without path, bug #314057
+ export PERL=perl
+ fi
+
+ if [[ ${CHOST} == *-solaris* ]] ; then
+ # fix standards conflicts
+ sed -i \
+ -e 's/\<\(_XOPEN_SOURCE_EXTENDED\)\>/_POSIX_PTHREAD_SEMANTICS/' \
+ -e '/\<_XOPEN_SOURCE\>/s/\<2\>/600/' \
+ meson.build || die
+ sed -i -e '/#define\s\+_POSIX_SOURCE/d' \
+ glib/giounix.c || die
+ fi
+
+ # disable native macOS integrations
+ sed -i -e '/glib_conf.set(.HAVE_\(CARBON\|COCOA\).,/s/true/false/' \
+ meson.build || die
+ sed -i \
+ -e '/AvailabilityMacros.h/d' \
+ gio/giomodule.c || die
+
+ default
+ gnome2_environment_reset
+ # TODO: python_name sedding for correct python shebang? Might be relevant mainly for glib-utils only
+}
+
+multilib_src_configure() {
+ # TODO: figure a way to pass appropriate values for all cross properties
+ # that glib uses (search for get_cross_property)
+ #if tc-is-cross-compiler ; then
+ # https://bugzilla.gnome.org/show_bug.cgi?id=756473
+ # TODO-meson: This should be in meson cross file as 'growing_stack'
+ # property; and more, look at get_cross_property
+ #case ${CHOST} in
+ #hppa*|metag*) export glib_cv_stack_grows=yes ;;
+ #*) export glib_cv_stack_grows=no ;;
+ #esac
+ #fi
+
+ local emesonargs=(
+ $(meson_feature debug glib_debug)
+ -Ddefault_library=$(usex static-libs both shared)
+ -Druntime_dir="${EPREFIX}"/run
+ $(meson_feature selinux)
+ $(meson_use xattr)
+ -Dlibmount=enabled # only used if host_system == 'linux'
+ -Dman=true
+ $(meson_use systemtap dtrace)
+ $(meson_use systemtap)
+ $(meson_feature sysprof)
+ $(meson_native_use_bool gtk-doc gtk_doc)
+ $(meson_use test tests)
+ -Dinstalled_tests=false
+ -Dnls=enabled
+ -Doss_fuzz=disabled
+ $(meson_native_use_feature elf libelf)
+ -Dmultiarch=false
+ )
+ meson_src_configure
+}
+
+multilib_src_test() {
+ export XDG_CONFIG_DIRS=/etc/xdg
+ export XDG_DATA_DIRS=/usr/local/share:/usr/share
+ export G_DBUS_COOKIE_SHA1_KEYRING_DIR="${T}/temp"
+ export LC_TIME=C # bug #411967
+ export TZ=UTC
+ unset GSETTINGS_BACKEND # bug #596380
+ python_setup
+
+ # https://bugs.gentoo.org/839807
+ local -x SANDBOX_PREDICT=${SANDBOX_PREDICT}
+ addpredict /usr/b
+
+ # Related test is a bit nitpicking
+ mkdir "$G_DBUS_COOKIE_SHA1_KEYRING_DIR"
+ chmod 0700 "$G_DBUS_COOKIE_SHA1_KEYRING_DIR"
+
+ meson_src_test --timeout-multiplier 2 --no-suite flaky
+}
+
+multilib_src_install() {
+ meson_src_install
+ keepdir /usr/$(get_libdir)/gio/modules
+}
+
+multilib_src_install_all() {
+ # These are installed by dev-util/glib-utils
+ # TODO: With patching we might be able to get rid of the python-any deps
+ # and removals, and test depend on glib-utils instead; revisit now with
+ # meson
+ rm "${ED}/usr/bin/glib-genmarshal" || die
+ rm "${ED}/usr/share/man/man1/glib-genmarshal.1" || die
+ rm "${ED}/usr/bin/glib-mkenums" || die
+ rm "${ED}/usr/share/man/man1/glib-mkenums.1" || die
+ rm "${ED}/usr/bin/gtester-report" || die
+ rm "${ED}/usr/share/man/man1/gtester-report.1" || die
+ # gdbus-codegen manpage installed by dev-util/gdbus-codegen
+ rm "${ED}/usr/share/man/man1/gdbus-codegen.1" || die
+}
+
+pkg_preinst() {
+ xdg_pkg_preinst
+
+ # Make gschemas.compiled belong to glib alone
+ local cache="/usr/share/glib-2.0/schemas/gschemas.compiled"
+
+ if [[ -e ${EROOT}${cache} ]]; then
+ cp "${EROOT}"${cache} "${ED}"/${cache} || die
+ else
+ touch "${ED}"${cache} || die
+ fi
+
+ multilib_pkg_preinst() {
+ # Make giomodule.cache belong to glib alone
+ local cache="/usr/$(get_libdir)/gio/modules/giomodule.cache"
+
+ if [[ -e ${EROOT}${cache} ]]; then
+ cp "${EROOT}"${cache} "${ED}"${cache} || die
+ else
+ touch "${ED}"${cache} || die
+ fi
+ }
+
+ # Don't run the cache ownership when cross-compiling, as it would end up with an empty cache
+ # file due to inability to create it and GIO might not look at any of the modules there
+ if ! tc-is-cross-compiler ; then
+ multilib_foreach_abi multilib_pkg_preinst
+ fi
+}
+
+pkg_postinst() {
+ xdg_pkg_postinst
+ # glib installs no schemas itself, but we force update for fresh install in case
+ # something has dropped in a schemas file without direct glib dep; and for upgrades
+ # in case the compiled schema format could have changed
+ gnome2_schemas_update
+
+ multilib_pkg_postinst() {
+ gnome2_giomodule_cache_update \
+ || die "Update GIO modules cache failed (for ${ABI})"
+ }
+ if ! tc-is-cross-compiler ; then
+ multilib_foreach_abi multilib_pkg_postinst
+ else
+ ewarn "Updating of GIO modules cache skipped due to cross-compilation."
+ ewarn "You might want to run gio-querymodules manually on the target for"
+ ewarn "your final image for performance reasons and re-run it when packages"
+ ewarn "installing GIO modules get upgraded or added to the image."
+ fi
+
+ for v in ${REPLACING_VERSIONS}; do
+ if ver_test "$v" "-lt" "2.63.6"; then
+ ewarn "glib no longer installs the gio-launch-desktop binary. You may need"
+ ewarn "to restart your session for \"Open With\" dialogs to work."
+ fi
+ done
+}
+
+pkg_postrm() {
+ xdg_pkg_postrm
+ gnome2_schemas_update
+
+ if [[ -z ${REPLACED_BY_VERSION} ]]; then
+ multilib_pkg_postrm() {
+ rm -f "${EROOT}"/usr/$(get_libdir)/gio/modules/giomodule.cache
+ }
+ multilib_foreach_abi multilib_pkg_postrm
+ rm -f "${EROOT}"/usr/share/glib-2.0/schemas/gschemas.compiled
+ fi
+}
diff --git a/dev-libs/glib/metadata.xml b/dev-libs/glib/metadata.xml
index 666314897afa..30120d5d64c7 100644
--- a/dev-libs/glib/metadata.xml
+++ b/dev-libs/glib/metadata.xml
@@ -1,39 +1,40 @@
<?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>
- <use>
- <flag name="dbus">
- Enable dependencies required by glib libraries
- using dbus service to manage settings saving
- </flag>
- <flag name="elf">
- Enable support for listing and extracting from
- ELF resource files with gresource tool
- </flag>
- <flag name="mime">
- Pull in shared MIME database that many glib-based
- applications require at runtime to detect or open files. Warning:
- do not disable this flag unless installing on a headless server.
- </flag>
- <flag name="systemtap">
- Build support for profiling and tracing using
- <pkg>dev-util/systemtap</pkg>
- </flag>
- <flag name="sysprof">
- Enable profiling data capture support using
- <pkg>dev-util/sysprof-capture</pkg>
- </flag>
- <flag name="utils">
- Install gtester-report utility to generate test
- report files for your software; build gresource utility with
- ELF support.
- </flag>
- </use>
- <upstream>
- <remote-id type="cpe">cpe:/a:gnome:glib</remote-id>
- </upstream>
+ <maintainer type="project">
+ <email>gnome@gentoo.org</email>
+ <name>Gentoo GNOME Desktop</name>
+ </maintainer>
+ <use>
+ <flag name="dbus">
+ Enable dependencies required by glib libraries
+ using dbus service to manage settings saving
+ </flag>
+ <flag name="elf">
+ Enable support for listing and extracting from
+ ELF resource files with gresource tool
+ </flag>
+ <flag name="mime">
+ Pull in shared MIME database that many glib-based
+ applications require at runtime to detect or open files. Warning:
+ do not disable this flag unless installing on a headless server.
+ </flag>
+ <flag name="systemtap">
+ Build support for profiling and tracing using
+ <pkg>dev-debug/systemtap</pkg>
+ </flag>
+ <flag name="sysprof">
+ Enable profiling data capture support using
+ <pkg>dev-util/sysprof-capture</pkg>
+ </flag>
+ <flag name="utils">
+ Install gtester-report utility to generate test
+ report files for your software; build gresource utility with
+ ELF support.
+ </flag>
+ </use>
+ <upstream>
+ <remote-id type="cpe">cpe:/a:gnome:glib</remote-id>
+ <remote-id type="gnome-gitlab">GNOME/glib</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/dev-libs/gmime/Manifest b/dev-libs/gmime/Manifest
index d31b5244897a..f608314fdb57 100644
--- a/dev-libs/gmime/Manifest
+++ b/dev-libs/gmime/Manifest
@@ -1,2 +1,2 @@
DIST gmime-2.6.23.tar.xz 5216588 BLAKE2B e173a7dbd418663ebbc55b856359bf9286c3791827f9b7f89da48dd7c3609e77312546f9489c08d34a7dcaeb78659789809d5fafc1323cbae9b9f1c4a316c659 SHA512 2ff6718b7a555cd5b34848399f29c7d0aa5a15e1f3cb46e9258c499e874191ee00f41b737386805d3000bad34367d174a25c45d38ba90cba7902400e733afa14
-DIST gmime-3.2.7.tar.xz 2227048 BLAKE2B 7fba57640038f34bd45ecba1067b6db131705310b62a74da1fa3d575993bbc6cc1dce4e3d219dd42033775e0a90f2b2acc86b1094f96f03a7532eae1b69e63ae SHA512 2c8fecd6eb74c9e956c419ce111bef6280916ea3756a534b6b800a273f0fff260717cda7fefd4bd4c6ddb27973112ec6e73fa971fa74bb9aa04cfe587d45f10b
+DIST gmime-3.2.14.tar.xz 2231340 BLAKE2B bbe147151349c626d92890783a3fccd4b1156b5a9fc305812447f28ec34d5d7694a702f99865ad5ef41737eb4e0d0c08d879e4525f58c272972531c51d436fd6 SHA512 d6127a8567f96784b3f975452cd43a4ef6c8921845feb11974f785576f7ef138f25d20d0f309022893ca445fffb000b4dc98bf65ff3a781ececd5c16b1f0e9c6
diff --git a/dev-libs/gmime/gmime-2.6.23-r1.ebuild b/dev-libs/gmime/gmime-2.6.23-r1.ebuild
deleted file mode 100644
index 6c2ade626ef3..000000000000
--- a/dev-libs/gmime/gmime-2.6.23-r1.ebuild
+++ /dev/null
@@ -1,65 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-VALA_USE_DEPEND="vapigen"
-
-inherit gnome2 vala flag-o-matic
-
-DESCRIPTION="Utilities for creating and parsing messages using MIME"
-HOMEPAGE="http://spruce.sourceforge.net/gmime/"
-
-SLOT="2.6"
-LICENSE="LGPL-2.1"
-KEYWORDS="~alpha amd64 arm ~arm64 ~hppa ~ia64 ppc ppc64 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-solaris ~x86-solaris"
-IUSE="doc smime static-libs test vala"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- >=dev-libs/glib-2.32.0:2
- sys-libs/zlib
- smime? ( >=app-crypt/gpgme-1.1.6:1= )
- vala? (
- $(vala_depend)
- >=dev-libs/gobject-introspection-1.30.0:= )
-"
-DEPEND="${RDEPEND}
- >=dev-util/gtk-doc-am-1.8
- virtual/libiconv
- virtual/pkgconfig
- doc? ( app-text/docbook-sgml-utils )
- test? ( app-crypt/gnupg )
-"
-# gnupg is needed for tests if --enable-cryptography is enabled, which we do unconditionally
-
-src_prepare() {
- gnome2_src_prepare
- use vala && vala_src_prepare
-}
-
-src_configure() {
- [[ ${CHOST} == *-solaris* ]] && append-libs iconv
- gnome2_src_configure \
- --enable-cryptography \
- --disable-strict-parser \
- --disable-mono \
- $(use_enable smime) \
- $(use_enable static-libs static) \
- $(use_enable vala)
-}
-
-src_compile() {
- gnome2_src_compile
- if use doc; then
- emake -C docs/tutorial html
- fi
-}
-
-src_install() {
- gnome2_src_install
-
- if use doc ; then
- docinto tutorial
- dodoc -r docs/tutorial/html/
- fi
-}
diff --git a/dev-libs/gmime/gmime-2.6.23-r2.ebuild b/dev-libs/gmime/gmime-2.6.23-r2.ebuild
new file mode 100644
index 000000000000..70d99c7da07e
--- /dev/null
+++ b/dev-libs/gmime/gmime-2.6.23-r2.ebuild
@@ -0,0 +1,55 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+VALA_USE_DEPEND="vapigen"
+inherit flag-o-matic gnome2 vala
+
+DESCRIPTION="Library for creating and parsing MIME messages"
+HOMEPAGE="http://spruce.sourceforge.net/gmime/"
+
+LICENSE="LGPL-2.1"
+SLOT="2.6"
+KEYWORDS="~alpha amd64 arm ~arm64 ~hppa ~ia64 ppc ppc64 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-solaris"
+IUSE="doc smime test vala"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ dev-libs/glib:2
+ sys-libs/zlib
+ smime? ( >=app-crypt/gpgme-1.1.6:= )
+ vala? ( >=dev-libs/gobject-introspection-1.30.0:= )
+"
+DEPEND="${RDEPEND}
+ virtual/libiconv
+"
+BDEPEND="
+ >=dev-build/gtk-doc-am-1.8
+ virtual/pkgconfig
+ doc? ( app-text/docbook-sgml-utils )
+ test? ( app-crypt/gnupg )
+ vala? ( $(vala_depend) )
+"
+# gnupg is needed for tests if --enable-cryptography is enabled, which we do unconditionally
+
+src_configure() {
+ use vala && vala_setup
+
+ [[ ${CHOST} == *-solaris* ]] && append-libs iconv
+ gnome2_src_configure \
+ --enable-cryptography \
+ --disable-strict-parser \
+ --disable-mono \
+ $(use_enable smime) \
+ $(use_enable vala)
+}
+
+src_compile() {
+ gnome2_src_compile
+
+ if use doc; then
+ emake -C docs/tutorial html
+ HTML_DOCS=( docs/tutorial/html/. )
+ fi
+}
diff --git a/dev-libs/gmime/gmime-3.2.14.ebuild b/dev-libs/gmime/gmime-3.2.14.ebuild
new file mode 100644
index 000000000000..209667ccf128
--- /dev/null
+++ b/dev-libs/gmime/gmime-3.2.14.ebuild
@@ -0,0 +1,70 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit flag-o-matic gnome2 vala
+
+DESCRIPTION="Library for creating and parsing MIME messages"
+HOMEPAGE="https://github.com/jstedfast/gmime http://spruce.sourceforge.net/gmime/"
+SRC_URI="https://github.com/jstedfast/${PN}/releases/download/${PV}/${P}.tar.xz"
+
+SLOT="3.0"
+LICENSE="LGPL-2.1+"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ppc ppc64 ~riscv sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
+IUSE="crypt doc idn test +vala"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ >=dev-libs/glib-2.68.0:2
+ sys-libs/zlib
+ crypt? ( >=app-crypt/gpgme-1.8.0:= )
+ idn? ( net-dns/libidn2:= )
+ vala? (
+ $(vala_depend)
+ >=dev-libs/gobject-introspection-1.30.0:=
+ )
+"
+DEPEND="${RDEPEND}
+ virtual/libiconv
+"
+BDEPEND="
+ >=dev-build/gtk-doc-am-1.8
+ virtual/pkgconfig
+ doc? ( app-text/docbook-sgml-utils )
+"
+
+src_prepare() {
+ gnome2_src_prepare
+ use vala && vala_setup
+}
+
+src_configure() {
+ if [[ ${CHOST} == *-solaris* ]]; then
+ # bug #???, why not use --with-libiconv
+ append-libs iconv
+ fi
+
+ gnome2_src_configure \
+ --enable-largefile \
+ $(use_enable crypt crypto) \
+ $(use_enable vala) \
+ $(use_with idn libidn) \
+ $(usex doc "" DB2HTML=)
+}
+
+src_compile() {
+ gnome2_src_compile
+ if use doc; then
+ emake -C docs/tutorial html
+ fi
+}
+
+src_install() {
+ gnome2_src_install
+
+ if use doc ; then
+ docinto tutorial
+ dodoc -r docs/tutorial/html/
+ fi
+}
diff --git a/dev-libs/gmime/gmime-3.2.7.ebuild b/dev-libs/gmime/gmime-3.2.7.ebuild
deleted file mode 100644
index 6806355fa243..000000000000
--- a/dev-libs/gmime/gmime-3.2.7.ebuild
+++ /dev/null
@@ -1,69 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-VALA_USE_DEPEND="vapigen"
-
-inherit flag-o-matic gnome2 vala
-
-DESCRIPTION="Utilities for creating and parsing messages using MIME"
-HOMEPAGE="https://gitlab.gnome.org/GNOME/gmime http://spruce.sourceforge.net/gmime/"
-
-SLOT="3.0"
-LICENSE="LGPL-2.1+"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ppc ppc64 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris ~x86-solaris"
-IUSE="crypt doc idn static-libs test +vala"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- >=dev-libs/glib-2.32.0:2
- sys-libs/zlib
- crypt? ( >=app-crypt/gpgme-1.8.0:1= )
- idn? ( net-dns/libidn2:= )
- vala? (
- $(vala_depend)
- >=dev-libs/gobject-introspection-1.30.0:= )
-"
-DEPEND="${RDEPEND}
- >=dev-util/gtk-doc-am-1.8
- virtual/libiconv
- virtual/pkgconfig
- doc? ( app-text/docbook-sgml-utils )
- test? ( app-crypt/gnupg )
-"
-# gnupg is needed for tests if --enable-cryptography is enabled, which we do unconditionally
-
-src_prepare() {
- gnome2_src_prepare
- use vala && vala_src_prepare
-}
-
-src_configure() {
- if [[ ${CHOST} == *-solaris* ]]; then
- # bug #???, why not use --with-libiconv
- append-libs iconv
- fi
-
- gnome2_src_configure \
- $(use_enable crypt crypto) \
- $(use_enable static-libs static) \
- $(use_enable vala) \
- $(use_with idn libidn) \
- $(usex doc "" DB2HTML=)
-}
-
-src_compile() {
- gnome2_src_compile
- if use doc; then
- emake -C docs/tutorial html
- fi
-}
-
-src_install() {
- gnome2_src_install
-
- if use doc ; then
- docinto tutorial
- dodoc -r docs/tutorial/html/
- fi
-}
diff --git a/dev-libs/gmime/metadata.xml b/dev-libs/gmime/metadata.xml
index 424677eef0fb..eb5f60282131 100644
--- a/dev-libs/gmime/metadata.xml
+++ b/dev-libs/gmime/metadata.xml
@@ -1,14 +1,14 @@
<?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">spruce</remote-id>
- </upstream>
- <use>
- <flag name="smime">Enable experimental S/MIME support</flag>
- </use>
+ <maintainer type="project">
+ <email>gnome@gentoo.org</email>
+ <name>Gentoo GNOME Desktop</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">jstedfast/gmime</remote-id>
+ </upstream>
+ <use>
+ <flag name="smime">Enable experimental S/MIME support</flag>
+ </use>
</pkgmetadata>
diff --git a/dev-libs/gmp/Manifest b/dev-libs/gmp/Manifest
index 846b78dc7601..9ad925e475bf 100644
--- a/dev-libs/gmp/Manifest
+++ b/dev-libs/gmp/Manifest
@@ -1,3 +1,2 @@
-DIST gmp-6.2.1-arm64-darwin.patch.bz2 2520 BLAKE2B 3d4e9dbd29dc9aa81f0c9e0de4a5904c989d54148c9e3dcc5097a43b3fb1ecd17802dacfc71ee131c0805a345f5dce9009e88439758d3a0ed8b3a88526353b4a SHA512 72d49f09c3facd75036c945e076207e72e5673ba9605999c32a122e43e8b970ed646c8ca8f07acbb62bff5e7c387d4c8e1f73ca73e50ac3f574b5f6471d66d56
-DIST gmp-6.2.1.tar.xz 2027316 BLAKE2B c0d85f175392a50cfa01bc6b0a312b235946ad8b4f6f84f6dabd33d7a6f2cc75c9b0e1e33057be07750bfa0145b7c4cf3b6188a5be6ca9d7271ec2276c84ebcb SHA512 c99be0950a1d05a0297d65641dd35b75b74466f7bf03c9e8a99895a3b2f9a0856cd17887738fa51cf7499781b65c049769271cbcb77d057d2e9f1ec52e07dd84
+DIST gmp-6.3.0.tar.xz 2094196 BLAKE2B a865129e2b3f634ec5bad7f97ed89532e43f5662ac47a7d8ab7f0df8c9f8d0886bd984651422e2573c2163bca69c0547c248147ec90880accbd53db97dc0ddee SHA512 e85a0dab5195889948a3462189f0e0598d331d3457612e2d3350799dba2e244316d256f8161df5219538eb003e4b5343f989aaa00f96321559063ed8c8f29fd2
DIST gmp-man-6.2.1.pdf 827583 BLAKE2B 9aa25457a3c488e37cc7d54d825253ab749a3780919570579b319cf607001de50b212ca387b70213abcc5ab428b4525bdb9cd8ae932798a2d7928da98ce3f353 SHA512 f2d9d02e97975355ef490e921fedc94fb7687c3661eec8fa2e94a1622b6e59b17b3879eb3ec1f2df8edac100f727175144d107f4c49c602b773c43bc9e91dbcb
diff --git a/dev-libs/gmp/files/gmp-6.2.1-CVE-2021-43618.patch b/dev-libs/gmp/files/gmp-6.2.1-CVE-2021-43618.patch
deleted file mode 100644
index 90129ec5b2bd..000000000000
--- a/dev-libs/gmp/files/gmp-6.2.1-CVE-2021-43618.patch
+++ /dev/null
@@ -1,17 +0,0 @@
-https://bugs.gentoo.org/823804
-https://gmplib.org/repo/gmp-6.2/rev/561a9c25298e
---- a/mpz/inp_raw.c
-+++ b/mpz/inp_raw.c
-@@ -88,8 +88,11 @@ mpz_inp_raw (mpz_ptr x, FILE *fp)
-
- abs_csize = ABS (csize);
-
-+ if (UNLIKELY (abs_csize > ~(mp_bitcnt_t) 0 / 8))
-+ return 0; /* Bit size overflows */
-+
- /* round up to a multiple of limbs */
-- abs_xsize = BITS_TO_LIMBS (abs_csize*8);
-+ abs_xsize = BITS_TO_LIMBS ((mp_bitcnt_t) abs_csize * 8);
-
- if (abs_xsize != 0)
- {
diff --git a/dev-libs/gmp/gmp-6.2.1-r1.ebuild b/dev-libs/gmp/gmp-6.2.1-r1.ebuild
deleted file mode 100644
index 8f30f9f28ee6..000000000000
--- a/dev-libs/gmp/gmp-6.2.1-r1.ebuild
+++ /dev/null
@@ -1,108 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit libtool multilib-minimal toolchain-funcs
-
-MY_PV=${PV/_p*}
-MY_PV=${MY_PV/_/-}
-MANUAL_PV=${MY_PV}
-MANUAL_PV=6.2.1
-MY_P=${PN}-${MY_PV}
-PLEVEL=${PV/*p}
-DESCRIPTION="Library for arbitrary-precision arithmetic on different type of numbers"
-HOMEPAGE="https://gmplib.org/"
-SRC_URI="ftp://ftp.gmplib.org/pub/${MY_P}/${MY_P}.tar.xz
- mirror://gnu/${PN}/${MY_P}.tar.xz
- doc? ( https://gmplib.org/${PN}-man-${MANUAL_PV}.pdf )"
-
-LICENSE="|| ( LGPL-3+ GPL-2+ )"
-# The subslot reflects the C & C++ SONAMEs.
-SLOT="0/10.4"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-IUSE="+asm doc +cxx pic static-libs"
-
-BDEPEND="sys-devel/m4
- app-arch/xz-utils"
-
-S=${WORKDIR}/${MY_P%a}
-
-DOCS=( AUTHORS ChangeLog NEWS README doc/configuration doc/isa_abi_headache )
-HTML_DOCS=( doc )
-MULTILIB_WRAPPED_HEADERS=( /usr/include/gmp.h )
-
-PATCHES=(
- "${FILESDIR}"/${PN}-6.1.0-noexecstack-detect.patch
- "${FILESDIR}"/${PN}-6.2.1-no-zarch.patch
-)
-
-src_prepare() {
- default
-
- # We cannot run autotools here as gcc depends on this package
- elibtoolize
-
- # bug #536894
- if [[ ${CHOST} == *-darwin* ]] ; then
- eapply "${FILESDIR}"/${PN}-6.1.2-gcc-apple-4.0.1.patch
- fi
-
- # GMP uses the "ABI" env var during configure as does Gentoo (econf).
- # So, to avoid patching the source constantly, wrap things up.
- mv configure configure.wrapped || die
- cat <<-\EOF > configure
- #!/usr/bin/env sh
- exec env ABI="${GMPABI}" "$0.wrapped" "$@"
- EOF
-
- # Patches to original configure might have lost the +x bit.
- chmod a+rx configure{,.wrapped} || die
-}
-
-multilib_src_configure() {
- # Because of our 32-bit userland, 1.0 is the only HPPA ABI that works
- # https://gmplib.org/manual/ABI-and-ISA.html#ABI-and-ISA (bug #344613)
- if [[ ${CHOST} == hppa2.0-* ]] ; then
- GMPABI="1.0"
- fi
-
- # ABI mappings (needs all architectures supported)
- case ${ABI} in
- 32|x86) GMPABI=32;;
- 64|amd64|n64) GMPABI=64;;
- [onx]32) GMPABI=${ABI};;
- esac
- export GMPABI
-
- tc-export CC
-
- # --with-pic forces static libraries to be built as PIC
- # and without TEXTRELs. musl does not support TEXTRELs: bug #707332
- ECONF_SOURCE="${S}" econf \
- CC_FOR_BUILD="$(tc-getBUILD_CC)" \
- --localstatedir="${EPREFIX}"/var/state/gmp \
- --enable-shared \
- $(use_enable asm assembly) \
- $(use_enable cxx) \
- $(use pic && echo --with-pic) \
- $(use_enable static-libs static)
-}
-
-multilib_src_install() {
- emake DESTDIR="${D}" install
-
- # Should be a standalone lib
- rm -f "${ED}"/usr/$(get_libdir)/libgmp.la
-
- # This requires libgmp
- local la="${ED}/usr/$(get_libdir)/libgmpxx.la"
- if ! use static-libs ; then
- rm -f "${la}"
- fi
-}
-
-multilib_src_install_all() {
- einstalldocs
- use doc && cp "${DISTDIR}"/gmp-man-${MANUAL_PV}.pdf "${ED}"/usr/share/doc/${PF}/
-}
diff --git a/dev-libs/gmp/gmp-6.2.1-r2.ebuild b/dev-libs/gmp/gmp-6.2.1-r2.ebuild
deleted file mode 100644
index 9f52d12e043a..000000000000
--- a/dev-libs/gmp/gmp-6.2.1-r2.ebuild
+++ /dev/null
@@ -1,111 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit libtool multilib-minimal toolchain-funcs
-
-MY_PV=${PV/_p*}
-MY_PV=${MY_PV/_/-}
-MANUAL_PV=${MY_PV}
-MANUAL_PV=6.2.1
-MY_P=${PN}-${MY_PV}
-PLEVEL=${PV/*p}
-DESCRIPTION="Library for arbitrary-precision arithmetic on different type of numbers"
-HOMEPAGE="https://gmplib.org/"
-SRC_URI="ftp://ftp.gmplib.org/pub/${MY_P}/${MY_P}.tar.xz
- mirror://gnu/${PN}/${MY_P}.tar.xz
- doc? ( https://gmplib.org/${PN}-man-${MANUAL_PV}.pdf )"
-SRC_URI+=" https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${P}-arm64-darwin.patch.bz2"
-
-LICENSE="|| ( LGPL-3+ GPL-2+ )"
-# The subslot reflects the C & C++ SONAMEs.
-SLOT="0/10.4"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-IUSE="+asm doc +cxx pic static-libs"
-
-BDEPEND="sys-devel/m4
- app-arch/xz-utils"
-
-S=${WORKDIR}/${MY_P%a}
-
-DOCS=( AUTHORS ChangeLog NEWS README doc/configuration doc/isa_abi_headache )
-HTML_DOCS=( doc )
-MULTILIB_WRAPPED_HEADERS=( /usr/include/gmp.h )
-
-PATCHES=(
- "${FILESDIR}"/${PN}-6.1.0-noexecstack-detect.patch
- "${FILESDIR}"/${PN}-6.2.1-no-zarch.patch
- "${WORKDIR}"/${P}-arm64-darwin.patch
- "${FILESDIR}"/${P}-CVE-2021-43618.patch
-)
-
-src_prepare() {
- default
-
- # We cannot run autotools here as gcc depends on this package
- elibtoolize
-
- # bug #536894
- if [[ ${CHOST} == *-darwin* ]] ; then
- eapply "${FILESDIR}"/${PN}-6.1.2-gcc-apple-4.0.1.patch
- fi
-
- # GMP uses the "ABI" env var during configure as does Gentoo (econf).
- # So, to avoid patching the source constantly, wrap things up.
- mv configure configure.wrapped || die
- cat <<-\EOF > configure
- #!/usr/bin/env sh
- exec env ABI="${GMPABI}" "$0.wrapped" "$@"
- EOF
-
- # Patches to original configure might have lost the +x bit.
- chmod a+rx configure{,.wrapped} || die
-}
-
-multilib_src_configure() {
- # Because of our 32-bit userland, 1.0 is the only HPPA ABI that works
- # https://gmplib.org/manual/ABI-and-ISA.html#ABI-and-ISA (bug #344613)
- if [[ ${CHOST} == hppa2.0-* ]] ; then
- GMPABI="1.0"
- fi
-
- # ABI mappings (needs all architectures supported)
- case ${ABI} in
- 32|x86) GMPABI=32;;
- 64|amd64|n64) GMPABI=64;;
- [onx]32) GMPABI=${ABI};;
- esac
- export GMPABI
-
- tc-export CC
-
- # --with-pic forces static libraries to be built as PIC
- # and without TEXTRELs. musl does not support TEXTRELs: bug #707332
- ECONF_SOURCE="${S}" econf \
- CC_FOR_BUILD="$(tc-getBUILD_CC)" \
- --localstatedir="${EPREFIX}"/var/state/gmp \
- --enable-shared \
- $(use_enable asm assembly) \
- $(use_enable cxx) \
- $(use pic && echo --with-pic) \
- $(use_enable static-libs static)
-}
-
-multilib_src_install() {
- emake DESTDIR="${D}" install
-
- # Should be a standalone lib
- rm -f "${ED}"/usr/$(get_libdir)/libgmp.la
-
- # This requires libgmp
- local la="${ED}/usr/$(get_libdir)/libgmpxx.la"
- if ! use static-libs ; then
- rm -f "${la}"
- fi
-}
-
-multilib_src_install_all() {
- einstalldocs
- use doc && cp "${DISTDIR}"/gmp-man-${MANUAL_PV}.pdf "${ED}"/usr/share/doc/${PF}/
-}
diff --git a/dev-libs/gmp/gmp-6.3.0-r1.ebuild b/dev-libs/gmp/gmp-6.3.0-r1.ebuild
new file mode 100644
index 000000000000..ee4311e99aaa
--- /dev/null
+++ b/dev-libs/gmp/gmp-6.3.0-r1.ebuild
@@ -0,0 +1,193 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit gnuconfig libtool flag-o-matic multilib-minimal toolchain-funcs
+
+MY_PV=${PV/_p*}
+MY_PV=${MY_PV/_/-}
+
+MANUAL_PV=6.2.1
+
+MY_P=${PN}-${MY_PV}
+PLEVEL=${PV/*p}
+
+DESCRIPTION="Library for arbitrary-precision arithmetic on different type of numbers"
+HOMEPAGE="https://gmplib.org/"
+SRC_URI="
+ https://gmplib.org/download/gmp/${MY_P}.tar.xz
+ mirror://gnu/${PN}/${MY_P}.tar.xz
+ doc? ( https://gmplib.org/${PN}-man-${MANUAL_PV}.pdf )
+"
+S="${WORKDIR}"/${MY_P%a}
+
+LICENSE="|| ( LGPL-3+ GPL-2+ )"
+# The subslot reflects the C & C++ SONAMEs.
+SLOT="0/10.4"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+IUSE="+asm doc +cpudetection +cxx pic static-libs"
+REQUIRED_USE="cpudetection? ( asm )"
+RESTRICT="!cpudetection? ( bindist )"
+
+BDEPEND="
+ app-arch/xz-utils
+ sys-devel/m4
+"
+
+DOCS=( AUTHORS ChangeLog NEWS README doc/configuration doc/isa_abi_headache )
+HTML_DOCS=( doc )
+
+MULTILIB_WRAPPED_HEADERS=( /usr/include/gmp.h )
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-6.1.0-noexecstack-detect.patch
+ "${FILESDIR}"/${PN}-6.2.1-no-zarch.patch
+)
+
+pkg_pretend() {
+ if use cpudetection && ! use amd64 && ! use x86 ; then
+ elog "Using generic C implementation on non-amd64/x86 with USE=cpudetection"
+ elog "--enable-fat is a no-op on alternative arches."
+ elog "To obtain an optimized build, set USE=-cpudetection, but binpkgs should not then be made."
+ fi
+}
+
+src_prepare() {
+ default
+
+ # We cannot run autotools here as gcc depends on this package
+ elibtoolize
+
+ # bug #536894
+ if [[ ${CHOST} == *-darwin* ]] ; then
+ eapply "${FILESDIR}"/${PN}-6.1.2-gcc-apple-4.0.1.patch
+ fi
+
+ # GMP uses the "ABI" env var during configure as does Gentoo (econf).
+ # So, to avoid patching the source constantly, wrap things up.
+ mv configure configure.wrapped || die
+ cat <<-\EOF > configure
+ #!/usr/bin/env sh
+ exec env ABI="${GMPABI}" "$0.wrapped" "$@"
+ EOF
+
+ # Patches to original configure might have lost the +x bit.
+ chmod a+rx configure{,.wrapped} || die
+
+ # Save the upstream files named config.{guess,sub} which are
+ # wrappers around the gnuconfig versions.
+ mkdir "${T}"/gmp-gnuconfig || die
+ mv config.guess "${T}"/gmp-gnuconfig/config.guess || die
+ mv config.sub "${T}"/gmp-gnuconfig/config.sub || die
+ # Grab fresh copies from gnuconfig.
+ touch config.guess config.sub || die
+ gnuconfig_update
+ # Rename the fresh copies to the filenames the wrappers from GMP
+ # expect.
+ mv config.guess configfsf.guess || die
+ mv config.sub configfsf.sub || die
+}
+
+multilib_src_configure() {
+ # Generally a very fragile package
+ strip-flags
+ # Miscompiled with LTO at least on arm64, bug #889948
+ # 6.3.0 says it now supports LTO, but needs retesting on a variety
+ # of platforms. Fix was maybe https://gmplib.org/repo/gmp-6.3/rev/9c324044f4b5.
+ filter-lto
+
+ # Because of our 32-bit userland, 1.0 is the only HPPA ABI that works
+ # https://gmplib.org/manual/ABI-and-ISA.html#ABI-and-ISA (bug #344613)
+ if [[ ${CHOST} == hppa2.0-* ]] ; then
+ GMPABI="1.0"
+ fi
+
+ # ABI mappings (needs all architectures supported)
+ case ${ABI} in
+ 32|x86) GMPABI=32;;
+ 64|amd64|n64) GMPABI=64;;
+ [onx]32) GMPABI=${ABI};;
+ esac
+ export GMPABI
+
+ tc-export CC
+
+ # https://gmplib.org/manual/Notes-for-Package-Builds
+ local myeconfargs=(
+ CC_FOR_BUILD="$(tc-getBUILD_CC)"
+
+ --localstatedir="${EPREFIX}"/var/state/gmp
+ --enable-shared
+
+ $(use_enable asm assembly)
+ # fat is needed to avoid gmp installing either purely generic
+ # or specific-to-used-CPU (which our config.guess refresh prevents at the moment).
+ # Both Fedora and opensuse use this option to tackle the issue, bug #883201.
+ #
+ # This only works for amd64/x86, so to get accelerated performance
+ # (i.e. not using the generic C), one needs USE=-cpudetection if
+ # on non-amd64/x86.
+ #
+ # (We do not mask USE=cpudetection on !amd64/x86 because we want
+ # the flag to be useful on other arches to allow opting out of the
+ # config.guess logic below.)
+ $(use_enable cpudetection fat)
+ $(use_enable cxx)
+ $(use_enable static-libs static)
+
+ # --with-pic forces static libraries to be built as PIC
+ # and without TEXTRELs. musl does not support TEXTRELs: bug #707332
+ $(use pic && echo --with-pic)
+
+ # XXX: In the past, we had PGO support with upstream's 'tuneup' script
+ # per https://gmplib.org/manual/Performance-optimization, but we had
+ # a variety of issues with it: bug #454912, bug #650558, and bug #658688.
+ )
+
+ # Move the wrappers from GMP back into place (may have been destroyed by previous econf run)
+ cp "${T}"/gmp-gnuconfig/config.guess "${S}"/config.guess || die
+ cp "${T}"/gmp-gnuconfig/config.sub "${S}"/config.sub || die
+
+ # See bug #883201 again.
+ if ! use cpudetection && ! tc-is-cross-compiler ; then
+ local gmp_host=$("${S}"/config.guess || die "failed to run config.guess")
+
+ if [[ -z ${gmp_host} ]] ; then
+ die "Empty result from GMP's custom config.guess!"
+ fi
+
+ einfo "GMP guessed processor type: ${gmp_host}"
+ ewarn "This build will only work on this machine. Enable USE=cpudetection for binary packages!"
+ export ac_cv_build="${gmp_host}"
+ export ac_cv_host="${gmp_host}"
+ fi
+
+ # Clang with -fsanitize=address may emit weird section names in its asm,
+ # which causes gmp's configure checks to select a broken way of
+ # specifying `.rodata`. Disable this feature, which was introduced in
+ # Clang 15 (and defaulted to on in Clang 18).
+ if tc-is-clang && [[ "$(clang-major-version)" -ge 15 ]]; then
+ append-cxxflags "-fno-sanitize-address-globals-dead-stripping"
+ fi
+
+ ECONF_SOURCE="${S}" econf "${myeconfargs[@]}"
+}
+
+multilib_src_install() {
+ emake DESTDIR="${D}" install
+
+ # Should be a standalone lib
+ rm -f "${ED}"/usr/$(get_libdir)/libgmp.la
+
+ # This requires libgmp
+ local la="${ED}/usr/$(get_libdir)/libgmpxx.la"
+ if ! use static-libs ; then
+ rm -f "${la}" || die
+ fi
+}
+
+multilib_src_install_all() {
+ einstalldocs
+ use doc && cp "${DISTDIR}"/gmp-man-${MANUAL_PV}.pdf "${ED}"/usr/share/doc/${PF}/
+}
diff --git a/dev-libs/gmp/metadata.xml b/dev-libs/gmp/metadata.xml
index e98fbcba6811..c85682bf90a4 100644
--- a/dev-libs/gmp/metadata.xml
+++ b/dev-libs/gmp/metadata.xml
@@ -1,15 +1,26 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
-<maintainer type="project">
- <email>toolchain@gentoo.org</email>
- <name>Gentoo Toolchain Project</name>
-</maintainer>
-<use>
- <flag name="asm">Enable use of hand optimized assembly routines (faster execution)</flag>
- <flag name="pic">Force static libraries to be built as PIC to avoid TEXTRELs.</flag>
-</use>
-<upstream>
- <remote-id type="cpe">cpe:/a:gmplib:gmp</remote-id>
-</upstream>
+ <maintainer type="project">
+ <email>toolchain@gentoo.org</email>
+ <name>Gentoo Toolchain Project</name>
+ </maintainer>
+ <use>
+ <flag name="cpudetection">
+ Enables runtime CPU detection (useful for binpkgs, compatibility on other CPUs).
+
+ This only works on amd64/x86 at present.
+
+ If this flag is enabled, GMP will work on a variety of amd64/x86 CPUs and load accelerated
+ routines for use at runtime depending on the CPU in use. This makes it suitable
+ for binary packages (binpkgs).
+
+ If this flag is disabled, GMP will be tuned for the CPU being used at build-time
+ and may not be usable on other machines.
+ </flag>
+ <flag name="pic">Force static libraries to be built as PIC to avoid TEXTRELs.</flag>
+ </use>
+ <upstream>
+ <remote-id type="cpe">cpe:/a:gmplib:gmp</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/dev-libs/gnulib/Manifest b/dev-libs/gnulib/Manifest
index 39d4a175c2a9..66669df08883 100644
--- a/dev-libs/gnulib/Manifest
+++ b/dev-libs/gnulib/Manifest
@@ -1 +1,2 @@
-DIST gnulib-b451121ab45497e78cb6f612c8673a9705193391.tar.gz 6666079 BLAKE2B e7d3b9478697067b57ab198e044f3c854128d5fe390d30947829ce4f34c695a748668c33ae19690e9927fff6df3e194a3160cb4adb7cf47235c603241c66889a SHA512 f6e165cfc0a3999c778d9f43ffc90ff9b569a77ff1e54ff5c50b12b0eddf262c24da8cd2719548574e0397535bb0eb835eef603cc74769f7876ef9db101bebec
+DIST gnulib-5293ada82e1ea38e9e5cdd3724c73204d703f07b.tar.xz 4721720 BLAKE2B d0c70f4f33cbc3b7fcbef6ebe67d4ebac2a89fe8e9b1598fa00f0292ce2bc528ed6f5be123072c43c52f1234266bb6fb96b7881839ff884a39d2bce58a9f3ad7 SHA512 0f1822fb579649c3cd09ca8e69334d425f2024d780a98d7bbf38d26f36f174036fa066635513485ddd6e2ad485c7060ae9b101c1595891307a382e6aa9bc4226
+DIST gnulib-5b92dd0a45c8d27f13a21076b57095ea5e220870.tar.xz 5058128 BLAKE2B 8bf17315962292790a4279fe39a07595656bb5a5b5c7273efe18c4b798dfcbc5ab39eed5b235e8313873b521dfb04998230a879985908ee4e21b59870d52191b SHA512 786c512159db7b0d6905b77ca193397479db94b3ef7ccf96876773b1942fdb7608ab82ceaa16ecba6ed8229de06d844b0d0b7a85dd672f88f46efc3361e28637
diff --git a/dev-libs/gnulib/gnulib-2019.03.17.09.24.57.ebuild b/dev-libs/gnulib/gnulib-2019.03.17.09.24.57.ebuild
deleted file mode 100644
index f8ff711142ef..000000000000
--- a/dev-libs/gnulib/gnulib-2019.03.17.09.24.57.ebuild
+++ /dev/null
@@ -1,43 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-GIT_TAG="b451121ab45497e78cb6f612c8673a9705193391"
-
-DESCRIPTION="Library of common routines intended to be shared"
-HOMEPAGE="https://www.gnu.org/software/gnulib"
-SRC_URI="https://git.savannah.gnu.org/cgit/${PN}.git/snapshot/${PN}-${GIT_TAG}.tar.gz"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-IUSE="doc"
-
-S="${WORKDIR}/${PN}-${GIT_TAG}"
-
-src_compile() {
- if use doc; then
- emake -C doc info html
- fi
-}
-
-src_install() {
- dodoc README ChangeLog
-
- insinto /usr/share/${PN}
- doins -r build-aux
- doins -r doc
- doins -r lib
- doins -r m4
- doins -r modules
- doins -r tests
- doins -r top
-
- # install the real script
- exeinto /usr/share/${PN}
- doexe gnulib-tool
-
- # create and install the wrapper
- dosym ../share/${PN}/gnulib-tool /usr/bin/gnulib-tool
-}
diff --git a/dev-libs/gnulib/gnulib-2022.05.26.07.24.56.ebuild b/dev-libs/gnulib/gnulib-2022.05.26.07.24.56.ebuild
new file mode 100644
index 000000000000..c94405ca93aa
--- /dev/null
+++ b/dev-libs/gnulib/gnulib-2022.05.26.07.24.56.ebuild
@@ -0,0 +1,43 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+GIT_TAG="5293ada82e1ea38e9e5cdd3724c73204d703f07b"
+
+DESCRIPTION="Library of common routines intended to be shared"
+HOMEPAGE="https://www.gnu.org/software/gnulib"
+SRC_URI="https://git.savannah.gnu.org/cgit/${PN}.git/snapshot/${PN}-${GIT_TAG}.tar.xz"
+
+LICENSE="GPL-3+ LGPL-2.1+ FDL-1.3+"
+SLOT="0"
+KEYWORDS="~arm64-macos ~x64-macos ~x64-solaris"
+IUSE="doc"
+
+S="${WORKDIR}/${PN}-${GIT_TAG}"
+
+src_compile() {
+ if use doc; then
+ emake -C doc info html
+ fi
+}
+
+src_install() {
+ dodoc README ChangeLog
+
+ insinto /usr/share/${PN}
+ doins -r build-aux
+ doins -r doc
+ doins -r lib
+ doins -r m4
+ doins -r modules
+ doins -r tests
+ doins -r top
+
+ # install the real script
+ exeinto /usr/share/${PN}
+ doexe gnulib-tool
+
+ # create and install the wrapper
+ dosym ../share/${PN}/gnulib-tool /usr/bin/gnulib-tool
+}
diff --git a/dev-libs/gnulib/gnulib-2024.01.01.10.31.48.ebuild b/dev-libs/gnulib/gnulib-2024.01.01.10.31.48.ebuild
new file mode 100644
index 000000000000..fca8f100970f
--- /dev/null
+++ b/dev-libs/gnulib/gnulib-2024.01.01.10.31.48.ebuild
@@ -0,0 +1,43 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+GIT_TAG="5b92dd0a45c8d27f13a21076b57095ea5e220870"
+
+DESCRIPTION="Library of common routines intended to be shared"
+HOMEPAGE="https://www.gnu.org/software/gnulib"
+SRC_URI="https://git.savannah.gnu.org/cgit/${PN}.git/snapshot/${PN}-${GIT_TAG}.tar.xz"
+
+LICENSE="GPL-3+ LGPL-2.1+ FDL-1.3+"
+SLOT="0"
+KEYWORDS="~arm64-macos ~x64-macos ~x64-solaris"
+IUSE="doc"
+
+S="${WORKDIR}/${PN}-${GIT_TAG}"
+
+src_compile() {
+ if use doc; then
+ emake -C doc info html
+ fi
+}
+
+src_install() {
+ dodoc README ChangeLog
+
+ insinto /usr/share/${PN}
+ doins -r build-aux
+ doins -r doc
+ doins -r lib
+ doins -r m4
+ doins -r modules
+ doins -r tests
+ doins -r top
+
+ # install the real script
+ exeinto /usr/share/${PN}
+ doexe gnulib-tool
+
+ # create and install the wrapper
+ dosym ../share/${PN}/gnulib-tool /usr/bin/gnulib-tool
+}
diff --git a/dev-libs/gnulib/gnulib-9999-r1.ebuild b/dev-libs/gnulib/gnulib-9999-r1.ebuild
index 394e16ee666b..10bc9a526f5a 100644
--- a/dev-libs/gnulib/gnulib-9999-r1.ebuild
+++ b/dev-libs/gnulib/gnulib-9999-r1.ebuild
@@ -1,7 +1,7 @@
-# Copyright 1999-2017 Gentoo Foundation
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=6
+EAPI=8
inherit git-r3
@@ -9,7 +9,7 @@ DESCRIPTION="Gnulib is a library of common routines intended to be shared at the
HOMEPAGE="https://www.gnu.org/software/gnulib"
EGIT_REPO_URI="https://git.savannah.gnu.org/r/${PN}.git"
-LICENSE="GPL-2"
+LICENSE="GPL-3+ LGPL-2.1+ FDL-1.3+"
SLOT="0"
KEYWORDS=""
IUSE="doc"
diff --git a/dev-libs/gobject-introspection-common/Manifest b/dev-libs/gobject-introspection-common/Manifest
index b731b07ae141..dcf0501a11b1 100644
--- a/dev-libs/gobject-introspection-common/Manifest
+++ b/dev-libs/gobject-introspection-common/Manifest
@@ -1 +1,2 @@
-DIST gobject-introspection-1.70.0.tar.xz 1029372 BLAKE2B a649ea77b2b7ca392202e21a7f4814aafe57afea7fedb39e78f1df1cd97d0437207c3807a51ece6c9e9bce51fdf961ee7438ccd4efd84b45dbdb57ae19a39272 SHA512 216b376ed423f607e36c723dd6b67975dbfb63c253f2d8bd0b3661e3d69f8c8059cf221db8c5260b0262fad1b7d738f3b2e5fbd51fdbc31e40ccb115c209baf0
+DIST gobject-introspection-1.76.1.tar.xz 1055416 BLAKE2B 2251c34b543c95f95bdec6853c8234db1b2e6271e729eaa5abf28e39c7718b326e0813a1214c62fb4634fd11218c4c856e6651de09081b01c9fcf8f73b8cf316 SHA512 84331a30f8854d2259609650c21aadd6363ea1417a75828bd395f8f4346da1c6d6550cff5f2c9f5f6fd6fbf2a9d27b5880c2ee1616fa905c5f362384d481a916
+DIST gobject-introspection-1.78.1.tar.xz 1060296 BLAKE2B 115cf9ea27cec2d8d3a84081c909b72144fd1568bc316677c26f49652dc93b34fba10701678ad4977dcf97a89f7608545fbd2d73c2503c87635b2102e66ae024 SHA512 a3081882995a762645b04faa71082dbd523bee845519007e48b13235aad8a4cd4c74f0d042a6c17710125f945bd970e4b76e95a559274e294d595e04725a4e97
diff --git a/dev-libs/gobject-introspection-common/gobject-introspection-common-1.70.0.ebuild b/dev-libs/gobject-introspection-common/gobject-introspection-common-1.70.0.ebuild
deleted file mode 100644
index 7a93928973b3..000000000000
--- a/dev-libs/gobject-introspection-common/gobject-introspection-common-1.70.0.ebuild
+++ /dev/null
@@ -1,31 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-GNOME_ORG_MODULE="gobject-introspection"
-
-inherit gnome.org
-
-DESCRIPTION="Build infrastructure for GObject Introspection"
-HOMEPAGE="https://wiki.gnome.org/Projects/GObjectIntrospection"
-
-LICENSE="HPND"
-SLOT="0"
-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"
-IUSE=""
-
-RDEPEND="!<${CATEGORY}/${GNOME_ORG_MODULE}-${PV}"
-# Use !<${PV} because mixing gobject-introspection with different version of -common can cause issues like:
-# https://forums.gentoo.org/viewtopic-p-7421930.html
-
-src_configure() { :; }
-
-src_compile() { :; }
-
-src_install() {
- insinto /usr/share/aclocal
- doins m4/introspection.m4
-
- insinto /usr/share/gobject-introspection-1.0
- doins Makefile.introspection
-}
diff --git a/dev-libs/gobject-introspection-common/gobject-introspection-common-1.76.1.ebuild b/dev-libs/gobject-introspection-common/gobject-introspection-common-1.76.1.ebuild
new file mode 100644
index 000000000000..cf04ae5c7db0
--- /dev/null
+++ b/dev-libs/gobject-introspection-common/gobject-introspection-common-1.76.1.ebuild
@@ -0,0 +1,30 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+GNOME_ORG_MODULE="gobject-introspection"
+
+inherit gnome.org
+
+DESCRIPTION="Build infrastructure for GObject Introspection"
+HOMEPAGE="https://wiki.gnome.org/Projects/GObjectIntrospection"
+
+LICENSE="HPND"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+
+RDEPEND="!<${CATEGORY}/${GNOME_ORG_MODULE}-${PV}"
+# Use !<${PV} because mixing gobject-introspection with different version of -common can cause issues like:
+# https://forums.gentoo.org/viewtopic-p-7421930.html
+
+src_configure() { :; }
+
+src_compile() { :; }
+
+src_install() {
+ insinto /usr/share/aclocal
+ doins m4/introspection.m4
+
+ insinto /usr/share/gobject-introspection-1.0
+ doins Makefile.introspection
+}
diff --git a/dev-libs/gobject-introspection-common/gobject-introspection-common-1.78.1.ebuild b/dev-libs/gobject-introspection-common/gobject-introspection-common-1.78.1.ebuild
new file mode 100644
index 000000000000..ff5affc72f6f
--- /dev/null
+++ b/dev-libs/gobject-introspection-common/gobject-introspection-common-1.78.1.ebuild
@@ -0,0 +1,30 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+GNOME_ORG_MODULE="gobject-introspection"
+
+inherit gnome.org
+
+DESCRIPTION="Build infrastructure for GObject Introspection"
+HOMEPAGE="https://wiki.gnome.org/Projects/GObjectIntrospection"
+
+LICENSE="HPND"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+
+RDEPEND="!<${CATEGORY}/${GNOME_ORG_MODULE}-${PV}"
+# Use !<${PV} because mixing gobject-introspection with different version of -common can cause issues like:
+# https://forums.gentoo.org/viewtopic-p-7421930.html
+
+src_configure() { :; }
+
+src_compile() { :; }
+
+src_install() {
+ insinto /usr/share/aclocal
+ doins m4/introspection.m4
+
+ insinto /usr/share/gobject-introspection-1.0
+ doins Makefile.introspection
+}
diff --git a/dev-libs/gobject-introspection-common/metadata.xml b/dev-libs/gobject-introspection-common/metadata.xml
index 7b343b06be8a..77da9c6e7c5f 100644
--- a/dev-libs/gobject-introspection-common/metadata.xml
+++ b/dev-libs/gobject-introspection-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/gobject-introspection</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/dev-libs/gobject-introspection/Manifest b/dev-libs/gobject-introspection/Manifest
index 4dd84dca0b07..dcf0501a11b1 100644
--- a/dev-libs/gobject-introspection/Manifest
+++ b/dev-libs/gobject-introspection/Manifest
@@ -1,2 +1,2 @@
-DIST gobject-introspection-1.70.0-meson-0.61.patch.bz2 4211 BLAKE2B 0453266900dfdf24da3531d205fe03d8eb5f6e3d76db4b945852453dc46d26a77449f0ddd81bad6df6d8108d8a7369b60a07b7c4f8e0c01811f735da76cf4d56 SHA512 ba5861baaabfe20185d85ccbc02425d1e44c525a5d05c28ee84552c43ab30497bed4e713e6f1b2f9c6508714020b04b5228532e1489e8a732ba99ea61ca950c7
-DIST gobject-introspection-1.70.0.tar.xz 1029372 BLAKE2B a649ea77b2b7ca392202e21a7f4814aafe57afea7fedb39e78f1df1cd97d0437207c3807a51ece6c9e9bce51fdf961ee7438ccd4efd84b45dbdb57ae19a39272 SHA512 216b376ed423f607e36c723dd6b67975dbfb63c253f2d8bd0b3661e3d69f8c8059cf221db8c5260b0262fad1b7d738f3b2e5fbd51fdbc31e40ccb115c209baf0
+DIST gobject-introspection-1.76.1.tar.xz 1055416 BLAKE2B 2251c34b543c95f95bdec6853c8234db1b2e6271e729eaa5abf28e39c7718b326e0813a1214c62fb4634fd11218c4c856e6651de09081b01c9fcf8f73b8cf316 SHA512 84331a30f8854d2259609650c21aadd6363ea1417a75828bd395f8f4346da1c6d6550cff5f2c9f5f6fd6fbf2a9d27b5880c2ee1616fa905c5f362384d481a916
+DIST gobject-introspection-1.78.1.tar.xz 1060296 BLAKE2B 115cf9ea27cec2d8d3a84081c909b72144fd1568bc316677c26f49652dc93b34fba10701678ad4977dcf97a89f7608545fbd2d73c2503c87635b2102e66ae024 SHA512 a3081882995a762645b04faa71082dbd523bee845519007e48b13235aad8a4cd4c74f0d042a6c17710125f945bd970e4b76e95a559274e294d595e04725a4e97
diff --git a/dev-libs/gobject-introspection/files/gobject-introspection-1.78.1-tests-py312.patch b/dev-libs/gobject-introspection/files/gobject-introspection-1.78.1-tests-py312.patch
new file mode 100644
index 000000000000..0b32d8dcfa4d
--- /dev/null
+++ b/dev-libs/gobject-introspection/files/gobject-introspection-1.78.1-tests-py312.patch
@@ -0,0 +1,73 @@
+From fb6f33082a42202c55dc3d5cbc984cc9b6b01629 Mon Sep 17 00:00:00 2001
+From: Emmanuele Bassi <ebassi@gnome.org>
+Date: Mon, 25 Dec 2023 00:06:53 +0000
+Subject: [PATCH] tests: Do not use PYTHONPATH to import giscanner
+
+The PYTHONPATH environment variable will prepend its contents to
+sys.path; since giscanner contains an ast sub-module, we are going to
+cause a collision with Python's own ast module. In some cases, Python
+3.12's distutils compatibility shim will try to import Python's ast,
+which will end up trying to import giscanner.ast instead.
+
+Instead of prepending the giscanner build directory, we can append it,
+and keep the current project layout.
+
+See: #429
+---
+ tests/scanner/meson.build | 2 +-
+ tests/warn/meson.build | 5 +----
+ tests/warn/warningtester.py | 9 +++++++++
+ 3 files changed, 11 insertions(+), 5 deletions(-)
+
+diff --git a/tests/scanner/meson.build b/tests/scanner/meson.build
+index e77c2de03..c92ce6474 100644
+--- a/tests/scanner/meson.build
++++ b/tests/scanner/meson.build
+@@ -1,7 +1,7 @@
+ scanner_test_env = environment()
+ scanner_test_env.prepend('PYTHONPATH', test_env_common_pypath)
+ if test_env_common_path.length() > 0
+- scanner_test_env.prepend('PATH', test_env_common_path)
++ scanner_test_env.prepend('PATH', test_env_common_path)
+ endif
+
+ scanner_test_files = [
+diff --git a/tests/warn/meson.build b/tests/warn/meson.build
+index 9641787f7..c57268081 100644
+--- a/tests/warn/meson.build
++++ b/tests/warn/meson.build
+@@ -23,10 +23,7 @@ warn_tests = [
+ warn_test_env = environment()
+ warn_test_env.set('UNINSTALLED_INTROSPECTION_SRCDIR', source_root)
+ warn_test_env.set('TOP_BUILDDIR', build_root)
+-warn_test_env.set(
+- 'PYTHONPATH',
+- build_root,
+- join_paths(build_root, 'giscanner'))
++warn_test_env.set('GISCANNER_DIR', build_root, build_root / 'giscanner')
+
+ # FIXME: Glib as a subproject (used on Windows mostly).
+ if glib_dep.type_name() == 'pkgconfig'
+diff --git a/tests/warn/warningtester.py b/tests/warn/warningtester.py
+index acb271f23..cce2827b1 100644
+--- a/tests/warn/warningtester.py
++++ b/tests/warn/warningtester.py
+@@ -11,6 +11,15 @@ sys.path.insert(0, path)
+ builtins.__dict__['DATADIR'] = path
+ builtins.__dict__['GIR_DIR'] = path
+
++# We cannot use PYTHONPATH, because it would prepend the giscanner
++# root, and we have an "ast" module that conflicts with Python's
++# own ast. In some cases, Python's distutils ends up importing ast,
++# and that will end up trying to import giscanner.ast
++path = os.getenv('GISCANNER_DIR', None)
++assert path is not None
++for p in path.split(os.pathsep):
++ sys.path.append(p)
++
+ from giscanner.annotationparser import GtkDocCommentBlockParser
+ from giscanner.ast import Include, Namespace
+ from giscanner.introspectablepass import IntrospectablePass
+--
+GitLab
+
diff --git a/dev-libs/gobject-introspection/gobject-introspection-1.70.0.ebuild b/dev-libs/gobject-introspection/gobject-introspection-1.70.0.ebuild
deleted file mode 100644
index 6ee20137414c..000000000000
--- a/dev-libs/gobject-introspection/gobject-introspection-1.70.0.ebuild
+++ /dev/null
@@ -1,82 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{8..10} )
-PYTHON_REQ_USE="xml"
-inherit gnome.org meson python-single-r1 xdg
-
-DESCRIPTION="Introspection system for GObject-based libraries"
-HOMEPAGE="https://wiki.gnome.org/Projects/GObjectIntrospection"
-SRC_URI+=" https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${P}-meson-0.61.patch.bz2"
-
-LICENSE="LGPL-2+ GPL-2+"
-SLOT="0"
-IUSE="doctool gtk-doc test"
-RESTRICT="!test? ( test )"
-REQUIRED_USE="${PYTHON_REQUIRED_USE}"
-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"
-
-# virtual/pkgconfig needed at runtime, bug #505408
-RDEPEND="
- >=dev-libs/gobject-introspection-common-${PV}
- >=dev-libs/glib-2.58.0:2
- dev-libs/libffi:=
- doctool? (
- $(python_gen_cond_dep '
- dev-python/mako[${PYTHON_USEDEP}]
- dev-python/markdown[${PYTHON_USEDEP}]
- ')
- )
- virtual/pkgconfig
- ${PYTHON_DEPS}
-"
-# Wants real bison, not virtual/yacc
-DEPEND="${RDEPEND}
- gtk-doc? ( >=dev-util/gtk-doc-1.19
- app-text/docbook-xml-dtd:4.3
- app-text/docbook-xml-dtd:4.5
- )
- sys-devel/bison
- sys-devel/flex
- test? (
- x11-libs/cairo[glib]
- $(python_gen_cond_dep '
- dev-python/mako[${PYTHON_USEDEP}]
- dev-python/markdown[${PYTHON_USEDEP}]
- ')
- )
-"
-
-PATCHES=(
- "${WORKDIR}"/${P}-meson-0.61.patch
-)
-
-pkg_setup() {
- python-single-r1_pkg_setup
-}
-
-src_configure() {
- local emesonargs=(
- $(meson_feature test cairo)
- $(meson_feature doctool)
- #-Dglib_src_dir
- $(meson_use gtk-doc gtk_doc)
- #-Dcairo_libname
- -Dpython="${EPYTHON}"
- #-Dgir_dir_prefix
- )
- meson_src_configure
-}
-
-src_install() {
- meson_src_install
- python_fix_shebang "${ED}"/usr/bin/
- python_optimize "${ED}"/usr/$(get_libdir)/gobject-introspection/giscanner
-
- # Prevent collision with gobject-introspection-common
- rm -v "${ED}"/usr/share/aclocal/introspection.m4 \
- "${ED}"/usr/share/gobject-introspection-1.0/Makefile.introspection || die
- rmdir "${ED}"/usr/share/aclocal || die
-}
diff --git a/dev-libs/gobject-introspection/gobject-introspection-1.76.1.ebuild b/dev-libs/gobject-introspection/gobject-introspection-1.76.1.ebuild
new file mode 100644
index 000000000000..dd5dc146ec03
--- /dev/null
+++ b/dev-libs/gobject-introspection/gobject-introspection-1.76.1.ebuild
@@ -0,0 +1,79 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{9..11} )
+PYTHON_REQ_USE="xml(+)"
+inherit gnome.org meson python-single-r1 xdg
+
+DESCRIPTION="Introspection system for GObject-based libraries"
+HOMEPAGE="https://wiki.gnome.org/Projects/GObjectIntrospection"
+
+LICENSE="LGPL-2+ GPL-2+"
+SLOT="0"
+IUSE="doctool gtk-doc test"
+RESTRICT="!test? ( test )"
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+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"
+
+# virtual/pkgconfig needed at runtime, bug #505408
+RDEPEND="
+ >=dev-libs/gobject-introspection-common-${PV}
+ >=dev-libs/glib-2.75.0:2
+ dev-libs/libffi:=
+ doctool? (
+ $(python_gen_cond_dep '
+ dev-python/mako[${PYTHON_USEDEP}]
+ dev-python/markdown[${PYTHON_USEDEP}]
+ ')
+ )
+ virtual/pkgconfig
+ ${PYTHON_DEPS}
+"
+# Wants real bison, not app-alternatives/yacc
+DEPEND="${RDEPEND}"
+BDEPEND="
+ gtk-doc? (
+ >=dev-util/gtk-doc-1.19
+ app-text/docbook-xml-dtd:4.3
+ app-text/docbook-xml-dtd:4.5
+ )
+ sys-devel/bison
+ app-alternatives/lex
+ test? (
+ x11-libs/cairo[glib]
+ $(python_gen_cond_dep '
+ dev-python/mako[${PYTHON_USEDEP}]
+ dev-python/markdown[${PYTHON_USEDEP}]
+ ')
+ )
+"
+
+pkg_setup() {
+ python-single-r1_pkg_setup
+}
+
+src_configure() {
+ local emesonargs=(
+ $(meson_feature test cairo)
+ $(meson_feature doctool)
+ #-Dglib_src_dir
+ $(meson_use gtk-doc gtk_doc)
+ #-Dcairo_libname
+ -Dpython="${EPYTHON}"
+ #-Dgir_dir_prefix
+ )
+ meson_src_configure
+}
+
+src_install() {
+ meson_src_install
+ python_fix_shebang "${ED}"/usr/bin/
+ python_optimize "${ED}"/usr/$(get_libdir)/gobject-introspection/giscanner
+
+ # Prevent collision with gobject-introspection-common
+ rm -v "${ED}"/usr/share/aclocal/introspection.m4 \
+ "${ED}"/usr/share/gobject-introspection-1.0/Makefile.introspection || die
+ rmdir "${ED}"/usr/share/aclocal || die
+}
diff --git a/dev-libs/gobject-introspection/gobject-introspection-1.78.1.ebuild b/dev-libs/gobject-introspection/gobject-introspection-1.78.1.ebuild
new file mode 100644
index 000000000000..e54b7e1668da
--- /dev/null
+++ b/dev-libs/gobject-introspection/gobject-introspection-1.78.1.ebuild
@@ -0,0 +1,84 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..12} )
+PYTHON_REQ_USE="xml(+)"
+inherit gnome.org meson python-single-r1 xdg
+
+DESCRIPTION="Introspection system for GObject-based libraries"
+HOMEPAGE="https://gi.readthedocs.io"
+
+LICENSE="LGPL-2+ GPL-2+"
+SLOT="0"
+IUSE="doctool gtk-doc test"
+RESTRICT="!test? ( test )"
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+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"
+
+# virtual/pkgconfig needed at runtime, bug #505408
+RDEPEND="
+ >=dev-libs/gobject-introspection-common-${PV}
+ >=dev-libs/glib-2.$(($(ver_cut 2) - 1)).0:2
+ dev-libs/libffi:=
+ $(python_gen_cond_dep '
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ ' 3.12)
+ doctool? (
+ $(python_gen_cond_dep '
+ dev-python/mako[${PYTHON_USEDEP}]
+ dev-python/markdown[${PYTHON_USEDEP}]
+ ')
+ )
+ virtual/pkgconfig
+ ${PYTHON_DEPS}
+"
+# Wants real bison, not app-alternatives/yacc
+DEPEND="${RDEPEND}"
+BDEPEND="
+ gtk-doc? (
+ >=dev-util/gtk-doc-1.19
+ app-text/docbook-xml-dtd:4.3
+ app-text/docbook-xml-dtd:4.5
+ )
+ sys-devel/bison
+ app-alternatives/lex
+ test? (
+ x11-libs/cairo[glib]
+ $(python_gen_cond_dep '
+ dev-python/mako[${PYTHON_USEDEP}]
+ dev-python/markdown[${PYTHON_USEDEP}]
+ ')
+ )
+"
+
+PATCHES=( "${FILESDIR}/${P}-tests-py312.patch" )
+
+pkg_setup() {
+ python-single-r1_pkg_setup
+}
+
+src_configure() {
+ local emesonargs=(
+ $(meson_feature test cairo)
+ $(meson_feature doctool)
+ #-Dglib_src_dir
+ $(meson_use gtk-doc gtk_doc)
+ #-Dcairo_libname
+ -Dpython="${EPYTHON}"
+ #-Dgir_dir_prefix
+ )
+ meson_src_configure
+}
+
+src_install() {
+ meson_src_install
+ python_fix_shebang "${ED}"/usr/bin/
+ python_optimize "${ED}"/usr/$(get_libdir)/gobject-introspection/giscanner
+
+ # Prevent collision with gobject-introspection-common
+ rm -v "${ED}"/usr/share/aclocal/introspection.m4 \
+ "${ED}"/usr/share/gobject-introspection-1.0/Makefile.introspection || die
+ rmdir "${ED}"/usr/share/aclocal || die
+}
diff --git a/dev-libs/gobject-introspection/metadata.xml b/dev-libs/gobject-introspection/metadata.xml
index 031ee5f1fb17..ba6ebec84084 100644
--- a/dev-libs/gobject-introspection/metadata.xml
+++ b/dev-libs/gobject-introspection/metadata.xml
@@ -1,12 +1,14 @@
<?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>
-<use>
- <flag name="doctool">Install g-ir-doc-tool for generating documentation
- from introspected data</flag>
-</use>
+ <maintainer type="project">
+ <email>gnome@gentoo.org</email>
+ <name>Gentoo GNOME Desktop</name>
+ </maintainer>
+ <use>
+ <flag name="doctool">Install g-ir-doc-tool for generating documentation from introspected data</flag>
+ </use>
+ <upstream>
+ <remote-id type="gnome-gitlab">GNOME/gobject-introspection</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/dev-libs/gom/gom-0.4.ebuild b/dev-libs/gom/gom-0.4.ebuild
index 52fa3b3e814a..586b7eb92c0f 100644
--- a/dev-libs/gom/gom-0.4.ebuild
+++ b/dev-libs/gom/gom-0.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
GCONF_DEBUG="yes"
-PYTHON_COMPAT=( python3_{7..9} )
+PYTHON_COMPAT=( python3_{9..11} )
inherit gnome.org meson python-r1
@@ -12,7 +12,7 @@ HOMEPAGE="https://wiki.gnome.org/Projects/Gom"
LICENSE="LGPL-2+"
SLOT="0"
-KEYWORDS="~alpha amd64 ~arm arm64 ~ia64 ~ppc ~ppc64 ~riscv ~sparc x86"
+KEYWORDS="~alpha amd64 ~arm arm64 ~ia64 ~loong ~ppc ~ppc64 ~riscv ~sparc x86"
IUSE="gtk-doc +introspection python test"
RESTRICT="!test? ( test )"
REQUIRED_USE="python? ( introspection ${PYTHON_REQUIRED_USE} )"
diff --git a/dev-libs/gom/metadata.xml b/dev-libs/gom/metadata.xml
index 7b343b06be8a..6bfec25d5bcb 100644
--- a/dev-libs/gom/metadata.xml
+++ b/dev-libs/gom/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/gom</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/dev-libs/gost-engine/Manifest b/dev-libs/gost-engine/Manifest
index 2ffd9edb4a36..76ae036375c7 100644
--- a/dev-libs/gost-engine/Manifest
+++ b/dev-libs/gost-engine/Manifest
@@ -1,2 +1,4 @@
-DIST gost-engine-1.1.0.3_p20181031.tar.gz 473151 BLAKE2B fb8dc737c3bda181de168d918744d6e036886753e70cfcd0516499dd5d9a1ba3af0d44d26fc50570318375a142adfec532327dc57fac5996266b12551631b5fd SHA512 9f0df3c48191aea75d3fee5b5886ba32451889bdbb97c5e540f14a57d8d41606d858769a70b51c0c2c958565b347c5a613004e7c3f81658281d6a3eecd030707
-DIST gost-engine-3.0.0.tar.gz 1634392 BLAKE2B a97150e8d3d30df487d63e0b1016e21b719f951c37646239492a89462169f8712bc5ffb335653b26778104644bb1175f5e17afffd8ba0422d8ec748ea59e3f0d SHA512 180cfbd013bf9959659744c49c886afa67911e1722db1dc3189f94f5320a51fc3b48ed937e57cdfe33f0e63cbf3597a41483fbda534fb8932997f21bebb1bb73
+DIST gost-engine-3.0.1.tar.gz 1645245 BLAKE2B 713a7343f9c11feec361dd2828b00dd7d47518f5a1b047a6e11f8d8eea206ce9058ace1bd70e12b4cb2200789eb8209de671cb5e2692e95391b4e7a82d0badc2 SHA512 eb9fb126393cfe23bcef0f45c05b38d39aadd8909419ebcf6dab4800bd7372b63891e9061f8e70686f8ba5cd58669681895b36320ed6a8cc0ca1ff037aa73b85
+DIST gost-engine-3.0.2.tar.gz 1654695 BLAKE2B 76a14b6a33e7457dc879f45e5f8c1a0db633561269ba156ea1cad9d00dd082196382fb952706ced736ca7da6cfd698533b3f5483ad09f3b93748acd03c4a15ac SHA512 f8e7709df806e5d0a715e3f4f97644f7db4612a868201e730ab2ec62a3099f5c9136af6e4cc4ed5c69fe4ed25ce72b50d29fcf8c961cb3a9e9fa2e1fa8242c9b
+DIST gost-engine-3.0.3.tar.gz 1654715 BLAKE2B e2adfeafb38a35eb72fea583ec2fffa48431fda4fbb4d940d9e495a3d94ad273ecdfa131a117626d8fcc300a62ef7e5173879dac027a962f45b1363ee59e1715 SHA512 3a66e95b743475f36372b51de852caa442ff423110668e7ba082f93f7c7d151a5d19db7f3ddbd4dae4af4578cdf0e50c099b71dcc6d7e8f049cbfb3fb28f567a
+DIST libprov-8a126e09547630ef900177625626b6156052f0ee.tar.gz 5693 BLAKE2B e2c9c1a6c31532ea830c94bca9a7e2f0c0d0688c628ba0851ff541a0d9fd9aa727c5ed9b78901032e928ea8cfb63483d3bfeadac40c61ddd990df00e2c7d3cd9 SHA512 4633ca9ad21585483dbaf28e416f0f3416c814bb41b0ccf036e438275d83393e70ed1c2cd0298fc87d8e928074a7afcf3971a0d790014cc0d200c92bb2defe4d
diff --git a/dev-libs/gost-engine/files/gost-engine-3.0.1-fix-cmake-path.patch b/dev-libs/gost-engine/files/gost-engine-3.0.1-fix-cmake-path.patch
new file mode 100644
index 000000000000..3d6d7efc9384
--- /dev/null
+++ b/dev-libs/gost-engine/files/gost-engine-3.0.1-fix-cmake-path.patch
@@ -0,0 +1,27 @@
+From 2b22503cf83c56f27719eccce013999203e69db0 Mon Sep 17 00:00:00 2001
+From: Craig Andrews <candrews@integralblue.com>
+Date: Tue, 3 Jan 2023 17:42:02 -0500
+Subject: [PATCH] Correct CMake files installation path
+
+install(EXPORT GostEngineConfig DESTINATION share/cmake/GostEngine) will to a path like this:
+/usr/GostEngine/share/cmake/GostEngine/GostEngineConfig.cmake
+which is not standard or expected. These files should be installed to:
+/usr/share/cmake/GostEngine/GostEngineConfig.cmake
+which can be done by changing the installation line to:
+install(EXPORT GostEngineConfig DESTINATION share/cmake/GostEngine)
+---
+ CMakeLists.txt | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 5053ae45..cae27c3b 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -449,5 +449,5 @@ if (MSVC)
+ install(FILES $<TARGET_PDB_FILE:gost_prov>
+ EXPORT GostProviderConfig DESTINATION ${OPENSSL_MODULES_DIR} OPTIONAL)
+ endif()
+-install(EXPORT GostEngineConfig DESTINATION GostEngine/share/cmake/GostEngine)
+-install(EXPORT GostProviderConfig DESTINATION GostEngine/share/cmake/GostProvider)
++install(EXPORT GostEngineConfig DESTINATION share/cmake/GostEngine)
++install(EXPORT GostProviderConfig DESTINATION share/cmake/GostProvider)
diff --git a/dev-libs/gost-engine/gost-engine-1.1.0.3_p20181031-r2.ebuild b/dev-libs/gost-engine/gost-engine-1.1.0.3_p20181031-r2.ebuild
deleted file mode 100644
index 449f37079b65..000000000000
--- a/dev-libs/gost-engine/gost-engine-1.1.0.3_p20181031-r2.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
-
-inherit cmake
-
-DESCRIPTION="A reference implementation of the Russian GOST crypto algorithms for OpenSSL"
-HOMEPAGE="https://github.com/gost-engine/engine"
-IUSE="test"
-RESTRICT="!test? ( test )"
-SLOT="0/${PV}"
-
-COMMON_DEPEND=">=dev-libs/openssl-1.1.1:0="
-DEPEND="${COMMON_DEPEND}
- virtual/pkgconfig
- test? (
- dev-lang/perl
- )"
-RDEPEND="${COMMON_DEPEND}"
-
-LICENSE="openssl"
-
-DOCS=( INSTALL.md README.gost README.md )
-
-if [[ ${PV} == "9999" ]] ; then
- SRC_URI=""
- EGIT_REPO_URI="https://github.com/gost-engine/engine.git"
- inherit git-r3
-else
- KEYWORDS="~amd64 ~hppa"
- SRC_URI="https://github.com/gost-engine/engine/archive/e5cc3684f3b3ad40e186e23b00b253d234df92ab.tar.gz -> ${P}.tar.gz"
- S="${WORKDIR}/engine-e5cc3684f3b3ad40e186e23b00b253d234df92ab"
-fi
-
-src_prepare() {
- cmake_src_prepare
- sed 's:Werror:Wno-error:g' -i "${S}/CMakeLists.txt" || die
-}
diff --git a/dev-libs/gost-engine/gost-engine-3.0.0.ebuild b/dev-libs/gost-engine/gost-engine-3.0.0.ebuild
deleted file mode 100644
index 806e85ca5b2d..000000000000
--- a/dev-libs/gost-engine/gost-engine-3.0.0.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
-
-inherit cmake
-
-DESCRIPTION="A reference implementation of the Russian GOST crypto algorithms for OpenSSL"
-HOMEPAGE="https://github.com/gost-engine/engine"
-IUSE="test"
-RESTRICT="!test? ( test )"
-SLOT="0/${PV}"
-
-COMMON_DEPEND=">=dev-libs/openssl-3.0.0:0="
-DEPEND="${COMMON_DEPEND}
- virtual/pkgconfig
- test? (
- dev-lang/perl
- )"
-RDEPEND="${COMMON_DEPEND}"
-
-LICENSE="openssl"
-
-DOCS=( INSTALL.md README.gost README.md )
-
-if [[ ${PV} == "9999" ]] ; then
- SRC_URI=""
- EGIT_REPO_URI="https://github.com/gost-engine/engine.git"
- inherit git-r3
-else
- KEYWORDS="~amd64 ~hppa"
- SRC_URI="https://github.com/gost-engine/engine/archive/v${PV}.tar.gz -> ${P}.tar.gz"
- S="${WORKDIR}/engine-${PV}"
-fi
-
-src_prepare() {
- cmake_src_prepare
- sed 's:Werror:Wno-error:g' -i "${S}/CMakeLists.txt" || die
-}
diff --git a/dev-libs/gost-engine/gost-engine-3.0.1-r1.ebuild b/dev-libs/gost-engine/gost-engine-3.0.1-r1.ebuild
new file mode 100644
index 000000000000..892b8bb3cdd6
--- /dev/null
+++ b/dev-libs/gost-engine/gost-engine-3.0.1-r1.ebuild
@@ -0,0 +1,46 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+DESCRIPTION="A reference implementation of the Russian GOST crypto algorithms for OpenSSL"
+HOMEPAGE="https://github.com/gost-engine/engine"
+IUSE="test"
+RESTRICT="!test? ( test )"
+SLOT="0/${PV}"
+
+COMMON_DEPEND=">=dev-libs/openssl-3.0.0:0="
+DEPEND="${COMMON_DEPEND}
+ virtual/pkgconfig
+ test? (
+ dev-lang/perl
+ )"
+RDEPEND="${COMMON_DEPEND}"
+
+LICENSE="openssl"
+
+DOCS=( INSTALL.md README.gost README.md )
+
+PATCHES=(
+ "${FILESDIR}/${P}-fix-cmake-path.patch"
+)
+
+LIBPROV_COMMIT="8a126e09547630ef900177625626b6156052f0ee"
+if [[ ${PV} == "9999" ]] ; then
+ SRC_URI=""
+ EGIT_REPO_URI="https://github.com/gost-engine/engine.git"
+ inherit git-r3
+else
+ KEYWORDS="~amd64 ~hppa"
+ SRC_URI="https://github.com/gost-engine/engine/archive/v${PV}.tar.gz -> ${P}.tar.gz
+ https://github.com/provider-corner/libprov/archive/${LIBPROV_COMMIT}.tar.gz -> libprov-${LIBPROV_COMMIT}.tar.gz"
+ S="${WORKDIR}/engine-${PV}"
+fi
+
+src_prepare() {
+ cp -R "${WORKDIR}/libprov-${LIBPROV_COMMIT}/." "${S}/libprov" || die
+ cmake_src_prepare
+ sed 's:Werror:Wno-error:g' -i "${S}/CMakeLists.txt" || die
+}
diff --git a/dev-libs/gost-engine/gost-engine-3.0.1.ebuild b/dev-libs/gost-engine/gost-engine-3.0.1.ebuild
new file mode 100644
index 000000000000..a66a0b40c861
--- /dev/null
+++ b/dev-libs/gost-engine/gost-engine-3.0.1.ebuild
@@ -0,0 +1,42 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+DESCRIPTION="A reference implementation of the Russian GOST crypto algorithms for OpenSSL"
+HOMEPAGE="https://github.com/gost-engine/engine"
+IUSE="test"
+RESTRICT="!test? ( test )"
+SLOT="0/${PV}"
+
+COMMON_DEPEND=">=dev-libs/openssl-3.0.0:0="
+DEPEND="${COMMON_DEPEND}
+ virtual/pkgconfig
+ test? (
+ dev-lang/perl
+ )"
+RDEPEND="${COMMON_DEPEND}"
+
+LICENSE="openssl"
+
+DOCS=( INSTALL.md README.gost README.md )
+
+LIBPROV_COMMIT="8a126e09547630ef900177625626b6156052f0ee"
+if [[ ${PV} == "9999" ]] ; then
+ SRC_URI=""
+ EGIT_REPO_URI="https://github.com/gost-engine/engine.git"
+ inherit git-r3
+else
+ KEYWORDS="~amd64 ~hppa"
+ SRC_URI="https://github.com/gost-engine/engine/archive/v${PV}.tar.gz -> ${P}.tar.gz
+ https://github.com/provider-corner/libprov/archive/${LIBPROV_COMMIT}.tar.gz -> libprov-${LIBPROV_COMMIT}.tar.gz"
+ S="${WORKDIR}/engine-${PV}"
+fi
+
+src_prepare() {
+ cp -R "${WORKDIR}/libprov-${LIBPROV_COMMIT}/." "${S}/libprov" || die
+ cmake_src_prepare
+ sed 's:Werror:Wno-error:g' -i "${S}/CMakeLists.txt" || die
+}
diff --git a/dev-libs/gost-engine/gost-engine-3.0.2.ebuild b/dev-libs/gost-engine/gost-engine-3.0.2.ebuild
new file mode 100644
index 000000000000..a66a0b40c861
--- /dev/null
+++ b/dev-libs/gost-engine/gost-engine-3.0.2.ebuild
@@ -0,0 +1,42 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+DESCRIPTION="A reference implementation of the Russian GOST crypto algorithms for OpenSSL"
+HOMEPAGE="https://github.com/gost-engine/engine"
+IUSE="test"
+RESTRICT="!test? ( test )"
+SLOT="0/${PV}"
+
+COMMON_DEPEND=">=dev-libs/openssl-3.0.0:0="
+DEPEND="${COMMON_DEPEND}
+ virtual/pkgconfig
+ test? (
+ dev-lang/perl
+ )"
+RDEPEND="${COMMON_DEPEND}"
+
+LICENSE="openssl"
+
+DOCS=( INSTALL.md README.gost README.md )
+
+LIBPROV_COMMIT="8a126e09547630ef900177625626b6156052f0ee"
+if [[ ${PV} == "9999" ]] ; then
+ SRC_URI=""
+ EGIT_REPO_URI="https://github.com/gost-engine/engine.git"
+ inherit git-r3
+else
+ KEYWORDS="~amd64 ~hppa"
+ SRC_URI="https://github.com/gost-engine/engine/archive/v${PV}.tar.gz -> ${P}.tar.gz
+ https://github.com/provider-corner/libprov/archive/${LIBPROV_COMMIT}.tar.gz -> libprov-${LIBPROV_COMMIT}.tar.gz"
+ S="${WORKDIR}/engine-${PV}"
+fi
+
+src_prepare() {
+ cp -R "${WORKDIR}/libprov-${LIBPROV_COMMIT}/." "${S}/libprov" || die
+ cmake_src_prepare
+ sed 's:Werror:Wno-error:g' -i "${S}/CMakeLists.txt" || die
+}
diff --git a/dev-libs/gost-engine/gost-engine-3.0.3.ebuild b/dev-libs/gost-engine/gost-engine-3.0.3.ebuild
new file mode 100644
index 000000000000..a66a0b40c861
--- /dev/null
+++ b/dev-libs/gost-engine/gost-engine-3.0.3.ebuild
@@ -0,0 +1,42 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+DESCRIPTION="A reference implementation of the Russian GOST crypto algorithms for OpenSSL"
+HOMEPAGE="https://github.com/gost-engine/engine"
+IUSE="test"
+RESTRICT="!test? ( test )"
+SLOT="0/${PV}"
+
+COMMON_DEPEND=">=dev-libs/openssl-3.0.0:0="
+DEPEND="${COMMON_DEPEND}
+ virtual/pkgconfig
+ test? (
+ dev-lang/perl
+ )"
+RDEPEND="${COMMON_DEPEND}"
+
+LICENSE="openssl"
+
+DOCS=( INSTALL.md README.gost README.md )
+
+LIBPROV_COMMIT="8a126e09547630ef900177625626b6156052f0ee"
+if [[ ${PV} == "9999" ]] ; then
+ SRC_URI=""
+ EGIT_REPO_URI="https://github.com/gost-engine/engine.git"
+ inherit git-r3
+else
+ KEYWORDS="~amd64 ~hppa"
+ SRC_URI="https://github.com/gost-engine/engine/archive/v${PV}.tar.gz -> ${P}.tar.gz
+ https://github.com/provider-corner/libprov/archive/${LIBPROV_COMMIT}.tar.gz -> libprov-${LIBPROV_COMMIT}.tar.gz"
+ S="${WORKDIR}/engine-${PV}"
+fi
+
+src_prepare() {
+ cp -R "${WORKDIR}/libprov-${LIBPROV_COMMIT}/." "${S}/libprov" || die
+ cmake_src_prepare
+ sed 's:Werror:Wno-error:g' -i "${S}/CMakeLists.txt" || die
+}
diff --git a/dev-libs/gost-engine/gost-engine-9999.ebuild b/dev-libs/gost-engine/gost-engine-9999.ebuild
index fd08e96d4a63..a66a0b40c861 100644
--- a/dev-libs/gost-engine/gost-engine-9999.ebuild
+++ b/dev-libs/gost-engine/gost-engine-9999.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 cmake
@@ -11,7 +11,7 @@ IUSE="test"
RESTRICT="!test? ( test )"
SLOT="0/${PV}"
-COMMON_DEPEND=">=dev-libs/openssl-1.1.1:0="
+COMMON_DEPEND=">=dev-libs/openssl-3.0.0:0="
DEPEND="${COMMON_DEPEND}
virtual/pkgconfig
test? (
@@ -23,17 +23,20 @@ LICENSE="openssl"
DOCS=( INSTALL.md README.gost README.md )
+LIBPROV_COMMIT="8a126e09547630ef900177625626b6156052f0ee"
if [[ ${PV} == "9999" ]] ; then
SRC_URI=""
EGIT_REPO_URI="https://github.com/gost-engine/engine.git"
inherit git-r3
else
KEYWORDS="~amd64 ~hppa"
- SRC_URI="https://github.com/gost-engine/engine/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+ SRC_URI="https://github.com/gost-engine/engine/archive/v${PV}.tar.gz -> ${P}.tar.gz
+ https://github.com/provider-corner/libprov/archive/${LIBPROV_COMMIT}.tar.gz -> libprov-${LIBPROV_COMMIT}.tar.gz"
S="${WORKDIR}/engine-${PV}"
fi
src_prepare() {
+ cp -R "${WORKDIR}/libprov-${LIBPROV_COMMIT}/." "${S}/libprov" || die
cmake_src_prepare
sed 's:Werror:Wno-error:g' -i "${S}/CMakeLists.txt" || die
}
diff --git a/dev-libs/granite/Manifest b/dev-libs/granite/Manifest
index 315b9b62a856..abee51b5481a 100644
--- a/dev-libs/granite/Manifest
+++ b/dev-libs/granite/Manifest
@@ -1,3 +1 @@
-DIST granite-5.2.5.tar.gz 392987 BLAKE2B 507c3b810b750257a66195b45842a7664eb544f86a8606124d30d277c03680296f1ace7a9233d6e094ad5ce3357564e13b61d946f8ed926ccf22a5d9b5e98648 SHA512 64a08293bc4b33d77206c7070b4e2002dd8e2da8a358e43074b681a9228790dcb342d3a705cfc0309a7e1e7f498a2a656e972c2fee085ba99fb5214e33758fc3
-DIST granite-6.0.0.tar.gz 442902 BLAKE2B b142e13467f88522b910338f7921801914186ae567e99dc640474f0edff2ee464ff98c755fac742cabee90dba55a302e1642fc65989f50fe4d0eebc509b5c78d SHA512 7e856eed992a81b896c39c753897f95997682a8c754d33c0c4b032645a77d191111767968e07831948786088fb0cc52441551ce1c5f585f58a25cc147196f0e4
DIST granite-6.2.0.tar.gz 462780 BLAKE2B bb0df3649eab212e36a20ebd365521fc4ad87d1d10e54155905585fdb39874525b3a59ec2b9a1fd19a427c9a67a94bc6e4df433560a6208370dd90d27125e24f SHA512 4d9c21a653505812c8d99508166b411d1931bd251bf51c4bff8e6a0d905b5efc60832f3e7fbf6f8d52b67b55edf299969865542db33a8276b90e05b3b4731a87
diff --git a/dev-libs/granite/granite-5.2.5-r1.ebuild b/dev-libs/granite/granite-5.2.5-r1.ebuild
deleted file mode 100644
index 56f8f0eaaf6f..000000000000
--- a/dev-libs/granite/granite-5.2.5-r1.ebuild
+++ /dev/null
@@ -1,79 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-VALA_MIN_API_VERSION=0.40
-BUILD_DIR="${WORKDIR}/${P}-build"
-
-inherit meson vala xdg
-
-DESCRIPTION="Elementary OS library that extends GTK+"
-HOMEPAGE="https://github.com/elementary/granite"
-SRC_URI="https://github.com/elementary/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="LGPL-3+"
-SLOT="0"
-KEYWORDS="amd64 ~arm x86"
-IUSE="doc test"
-RESTRICT="!test? ( test )"
-
-BDEPEND="
- $(vala_depend)
- virtual/pkgconfig
- doc? (
- >=dev-lang/vala-0.40.20[valadoc]
- dev-util/gtk-doc
- )
-"
-DEPEND="
- >=dev-libs/glib-2.50:2
- dev-libs/libgee:0.8[introspection]
- >=x11-libs/gtk+-3.22:3[introspection]
-"
-RDEPEND="${DEPEND}"
-
-src_prepare() {
- default
- vala_src_prepare
- if use doc; then
- sed -i \
- "s/find_program('valadoc')/find_program('valadoc-$(vala_best_api_version)')/g" \
- doc/meson.build || die "Failed to replace valadoc"
- local doc_sed_list=(
- "lib/Widgets/AboutDialog.vala"
- "lib/Widgets/AlertView.vala"
- "lib/Widgets/AsyncImage.vala"
- "lib/Widgets/Avatar.vala"
- "lib/Widgets/CellRendererBadge.vala"
- "lib/Widgets/DynamicNotebook.vala"
- "lib/Widgets/MessageDialog.vala"
- "lib/Widgets/ModeButton.vala"
- "lib/Widgets/OverlayBar.vala"
- "lib/Widgets/SeekBar.vala"
- "lib/Widgets/StorageBar.vala"
- "lib/Widgets/Toast.vala"
- "lib/Widgets/Welcome.vala"
- )
- for src_file in "${doc_sed_list[@]}"; do
- sed -ie "s@{{../doc@{{${BUILD_DIR}/doc@g" \
- "./${src_file}" || die "Failed to fix docs for ./${src_file}"
- done
- fi
-}
-
-src_configure() {
- local emesonargs=(
- $(meson_use doc documentation)
- )
- meson_src_configure
-
- if use doc; then
- cp -r ./doc/images "${BUILD_DIR}/doc/" || die "Failed to copy doc images"
- fi
-}
-
-src_install() {
- use doc && local HTML_DOCS=( "${BUILD_DIR}/doc/granite/html/." )
- meson_src_install
-}
diff --git a/dev-libs/granite/granite-6.0.0.ebuild b/dev-libs/granite/granite-6.0.0.ebuild
deleted file mode 100644
index 219a9015fa54..000000000000
--- a/dev-libs/granite/granite-6.0.0.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
-
-VALA_MIN_API_VERSION=0.40
-BUILD_DIR="${WORKDIR}/${P}-build"
-
-inherit meson vala xdg
-
-DESCRIPTION="Elementary OS library that extends GTK+"
-HOMEPAGE="https://github.com/elementary/granite"
-SRC_URI="https://github.com/elementary/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="LGPL-3+"
-SLOT="0"
-KEYWORDS="amd64 arm x86"
-
-BDEPEND="
- $(vala_depend)
- virtual/pkgconfig
-"
-DEPEND="
- >=dev-libs/glib-2.50:2
- >=x11-libs/gtk+-3.22:3[introspection]
- dev-libs/libgee:0.8[introspection]
-"
-RDEPEND="${DEPEND}"
-
-src_prepare() {
- default
- vala_src_prepare
-}
-
-src_configure() {
- # docs disabled due to: https://github.com/elementary/granite/issues/482
- local emesonargs=(
- -Ddocumentation=false
- )
- meson_src_configure
-}
diff --git a/dev-libs/granite/granite-6.2.0.ebuild b/dev-libs/granite/granite-6.2.0.ebuild
index 2f782968adcf..ea04f52fa625 100644
--- a/dev-libs/granite/granite-6.2.0.ebuild
+++ b/dev-libs/granite/granite-6.2.0.ebuild
@@ -1,9 +1,8 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
-VALA_MIN_API_VERSION=0.40
BUILD_DIR="${WORKDIR}/${P}-build"
inherit meson vala xdg
@@ -14,7 +13,7 @@ SRC_URI="https://github.com/elementary/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz
LICENSE="LGPL-3+"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm ~x86"
+KEYWORDS="amd64 arm x86"
BDEPEND="
$(vala_depend)
diff --git a/dev-libs/grantlee/Manifest b/dev-libs/grantlee/Manifest
index d56c4763280d..6e84d3fdb86d 100644
--- a/dev-libs/grantlee/Manifest
+++ b/dev-libs/grantlee/Manifest
@@ -1 +1 @@
-DIST grantlee-5.2.0.tar.gz 1166467 BLAKE2B 89f66fefe3c5bbd087cdaed0f83a6b9ca2456629465dfd68d32c6f316d6d4533ece09e5a1444833897c70abbeb8258e0ca9faba09388dcbf40245c04f72f5040 SHA512 94b53d103aa775e6d45357d44d5634a5214d12ea7178d251fda30c5a88ddc2682ae44501ee8b7dc475793b84fa0998eb0bc13eea3f2e10ab29b1489db6ea60bd
+DIST grantlee-5.3.0.tar.gz 1176075 BLAKE2B a3418250845b39c4766dd19a1f423f18ca7393f675d0045477b345e589d5649f1cc332f9c228e9e9317bdf356992e533cfabe62bcfb50c40ffa38be9b5009013 SHA512 8018c92e1001e039243b4a22a790907b53bff21e062c7e3ee63d1e2de4ce7bccc4a7580fc4ec2e61dc2f7131ac336d46f76e2f03a7314c1547b8744842c0a02a
diff --git a/dev-libs/grantlee/files/grantlee-5.2.0-slot.patch b/dev-libs/grantlee/files/grantlee-5.2.0-slot.patch
deleted file mode 100644
index 9490df2327ec..000000000000
--- a/dev-libs/grantlee/files/grantlee-5.2.0-slot.patch
+++ /dev/null
@@ -1,67 +0,0 @@
-From 0bf2a3f667a958b3cc7859cc2fe60ca8a7ccac08 Mon Sep 17 00:00:00 2001
-From: Andreas Sturmlechner <asturm@gentoo.org>
-Date: Sat, 30 Nov 2019 11:55:33 +0100
-Subject: [PATCH] Install headers to a custom location to permit slotting
-
-That was previously necessary with Qt4 version, let's keep it while
-Qt6 is around the corner.
-
-Amended with target_include_directories fix by jospezial.
-
----
- templates/lib/CMakeLists.txt | 5 +++--
- textdocument/lib/CMakeLists.txt | 5 +++--
- 2 files changed, 6 insertions(+), 4 deletions(-)
-
-diff --git a/templates/lib/CMakeLists.txt b/templates/lib/CMakeLists.txt
-index 5058481..3ef29a4 100644
---- a/templates/lib/CMakeLists.txt
-+++ b/templates/lib/CMakeLists.txt
-@@ -101,6 +101,7 @@ if (Qt5Qml_FOUND)
-
- target_sources(Grantlee_Templates PRIVATE ${scriptabletags_SRCS})
- target_include_directories(Grantlee_Templates PRIVATE ../scriptabletags)
-+ target_include_directories(Grantlee_Templates INTERFACE "$<INSTALL_INTERFACE:include/grantlee5>")
- target_link_libraries(Grantlee_Templates
- PRIVATE Qt5::Qml
- )
-@@ -152,10 +153,10 @@ install(FILES
- token.h
- util.h
- variable.h
-- DESTINATION include/grantlee COMPONENT Templates
-+ DESTINATION include/grantlee5/grantlee COMPONENT Templates
- )
-
- install(FILES
- grantlee_templates.h
-- DESTINATION include COMPONENT Templates
-+ DESTINATION include/grantlee5 COMPONENT Templates
- )
-diff --git a/textdocument/lib/CMakeLists.txt b/textdocument/lib/CMakeLists.txt
-index 2c5a96f..c42d32a 100644
---- a/textdocument/lib/CMakeLists.txt
-+++ b/textdocument/lib/CMakeLists.txt
-@@ -34,6 +34,7 @@ if (CMAKE_GENERATOR MATCHES "Visual Studio")
- )
- endforeach()
- endif()
-+target_include_directories(Grantlee_TextDocument INTERFACE "$<INSTALL_INTERFACE:include/grantlee5>")
-
- target_link_libraries(Grantlee_TextDocument
- PUBLIC Qt5::Gui
-@@ -59,10 +60,10 @@ install(FILES
- texthtmlbuilder.h
- mediawikimarkupbuilder.h
- ${CMAKE_CURRENT_BINARY_DIR}/grantlee_textdocument_export.h
-- DESTINATION include/grantlee COMPONENT TextDocument
-+ DESTINATION include/grantlee5/grantlee COMPONENT TextDocument
- )
-
- install(FILES
- grantlee_textdocument.h
-- DESTINATION include COMPONENT TextDocument
-+ DESTINATION include/grantlee5 COMPONENT TextDocument
- )
---
-2.24.0
diff --git a/dev-libs/grantlee/files/grantlee-5.3.0-slot.patch b/dev-libs/grantlee/files/grantlee-5.3.0-slot.patch
new file mode 100644
index 000000000000..444274b0992c
--- /dev/null
+++ b/dev-libs/grantlee/files/grantlee-5.3.0-slot.patch
@@ -0,0 +1,65 @@
+From f9dda5f8a81c18c59eabcea515084253c284803a Mon Sep 17 00:00:00 2001
+From: Andreas Sturmlechner <asturm@gentoo.org>
+Date: Sat, 30 Nov 2019 11:55:33 +0100
+Subject: [PATCH] Install headers to a custom location to permit slotting
+
+That was previously necessary with Qt4 version, let's keep it while
+Qt6 is around the corner.
+---
+ templates/lib/CMakeLists.txt | 5 +++--
+ textdocument/lib/CMakeLists.txt | 5 +++--
+ 2 files changed, 6 insertions(+), 4 deletions(-)
+
+diff --git a/templates/lib/CMakeLists.txt b/templates/lib/CMakeLists.txt
+index 07a192c..9049bdc 100644
+--- a/templates/lib/CMakeLists.txt
++++ b/templates/lib/CMakeLists.txt
+@@ -101,6 +101,7 @@ if (Qt5Qml_FOUND OR Qt6Qml_FOUND)
+
+ target_sources(Grantlee_Templates PRIVATE ${scriptabletags_SRCS})
+ target_include_directories(Grantlee_Templates PRIVATE ../scriptabletags)
++ target_include_directories(Grantlee_Templates INTERFACE "$<INSTALL_INTERFACE:include/grantlee5>")
+ if (GRANTLEE_BUILD_WITH_QT6)
+ target_link_libraries(Grantlee_Templates
+ PRIVATE Qt6::Qml
+@@ -164,10 +165,10 @@ install(FILES
+ token.h
+ util.h
+ variable.h
+- DESTINATION include/grantlee COMPONENT Templates
++ DESTINATION include/grantlee5/grantlee COMPONENT Templates
+ )
+
+ install(FILES
+ grantlee_templates.h
+- DESTINATION include COMPONENT Templates
++ DESTINATION include/grantlee5 COMPONENT Templates
+ )
+diff --git a/textdocument/lib/CMakeLists.txt b/textdocument/lib/CMakeLists.txt
+index a472267..8134d83 100644
+--- a/textdocument/lib/CMakeLists.txt
++++ b/textdocument/lib/CMakeLists.txt
+@@ -34,6 +34,7 @@ if (CMAKE_GENERATOR MATCHES "Visual Studio")
+ )
+ endforeach()
+ endif()
++target_include_directories(Grantlee_TextDocument INTERFACE "$<INSTALL_INTERFACE:include/grantlee5>")
+
+ if (GRANTLEE_BUILD_WITH_QT6)
+ target_link_libraries(Grantlee_TextDocument
+@@ -65,10 +66,10 @@ install(FILES
+ texthtmlbuilder.h
+ mediawikimarkupbuilder.h
+ ${CMAKE_CURRENT_BINARY_DIR}/grantlee_textdocument_export.h
+- DESTINATION include/grantlee COMPONENT TextDocument
++ DESTINATION include/grantlee5/grantlee COMPONENT TextDocument
+ )
+
+ install(FILES
+ grantlee_textdocument.h
+- DESTINATION include COMPONENT TextDocument
++ DESTINATION include/grantlee5 COMPONENT TextDocument
+ )
+--
+2.37.3
+
diff --git a/dev-libs/grantlee/grantlee-5.2.0.ebuild b/dev-libs/grantlee/grantlee-5.2.0.ebuild
deleted file mode 100644
index e492ed26878c..000000000000
--- a/dev-libs/grantlee/grantlee-5.2.0.ebuild
+++ /dev/null
@@ -1,60 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-VIRTUALX_REQUIRED="test"
-inherit cmake virtualx
-
-DESCRIPTION="C++ string template engine based on the Django template system"
-HOMEPAGE="https://github.com/steveire/grantlee"
-SRC_URI="http://downloads.grantlee.org/${P}.tar.gz"
-
-LICENSE="LGPL-2.1+"
-SLOT="5"
-KEYWORDS="amd64 ~arm arm64 ~ppc ~ppc64 ~riscv x86"
-IUSE="debug doc test"
-
-BDEPEND="
- doc? ( app-doc/doxygen[dot] )
- test? ( dev-qt/linguist-tools:5 )
-"
-RDEPEND="
- dev-qt/qtcore:5
- dev-qt/qtdeclarative:5
- dev-qt/qtgui:5
-"
-DEPEND="${RDEPEND}
- test? ( dev-qt/qttest:5 )
-"
-
-RESTRICT+=" !test? ( test )"
-
-PATCHES=(
- "${FILESDIR}/${PN}-0.3.0-nonfatal-warnings.patch"
- "${FILESDIR}/${P}-slot.patch"
-)
-
-src_configure() {
- local mycmakeargs=(
- -DBUILD_TESTS=$(usex test)
- )
-
- cmake_src_configure
-}
-
-src_compile() {
- cmake_src_compile
-
- use doc && cmake_src_compile docs
-}
-
-src_test() {
- virtx cmake_src_test
-}
-
-src_install() {
- use doc && local HTML_DOCS=("${BUILD_DIR}/apidox/")
-
- cmake_src_install
-}
diff --git a/dev-libs/grantlee/grantlee-5.3.0.ebuild b/dev-libs/grantlee/grantlee-5.3.0.ebuild
new file mode 100644
index 000000000000..e44ee2d5e392
--- /dev/null
+++ b/dev-libs/grantlee/grantlee-5.3.0.ebuild
@@ -0,0 +1,61 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+VIRTUALX_REQUIRED="test"
+inherit cmake virtualx
+
+DESCRIPTION="C++ string template engine based on the Django template system"
+HOMEPAGE="https://github.com/steveire/grantlee"
+SRC_URI="http://downloads.grantlee.org/${P}.tar.gz"
+
+LICENSE="LGPL-2.1+"
+SLOT="5"
+KEYWORDS="amd64 ~arm arm64 ~loong ~ppc ~ppc64 ~riscv x86"
+IUSE="debug doc test"
+
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ dev-qt/qtcore:5
+ dev-qt/qtdeclarative:5
+ dev-qt/qtgui:5
+"
+DEPEND="${RDEPEND}
+ test? ( dev-qt/qttest:5 )
+"
+BDEPEND="
+ doc? ( app-text/doxygen[dot] )
+ test? ( dev-qt/linguist-tools:5 )
+"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-0.3.0-nonfatal-warnings.patch"
+ "${FILESDIR}/${P}-slot.patch" # TODO: Qt5 specific
+)
+
+src_configure() {
+ local mycmakeargs=(
+ -DGRANTLEE_BUILD_WITH_QT6=OFF
+ -DBUILD_TESTS=$(usex test)
+ )
+
+ cmake_src_configure
+}
+
+src_compile() {
+ cmake_src_compile
+
+ use doc && cmake_src_compile docs
+}
+
+src_test() {
+ virtx cmake_src_test
+}
+
+src_install() {
+ use doc && local HTML_DOCS=("${BUILD_DIR}/apidox/")
+
+ cmake_src_install
+}
diff --git a/dev-libs/gtx/Manifest b/dev-libs/gtx/Manifest
deleted file mode 100644
index e96fff0af041..000000000000
--- a/dev-libs/gtx/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST gtx-0.2.2.tar.gz 306024 BLAKE2B 861e5e729edc376b104906dbefe7f79e018a61dac3fefa2b260a869324b9ad88f002c64bb753d06cff93d58102c8f35e052ff18129c5c97da45f0abff6d78718 SHA512 737e21c66388f520c9d6812f3478e583940e9558646b4f3281306e3a946d4fb87719a48c1ac5fb1e38e9e465dfd1f82dea90badb3b321c0ee6b1dd105a9329cb
diff --git a/dev-libs/gtx/files/gtx-0.2.2-debug.patch b/dev-libs/gtx/files/gtx-0.2.2-debug.patch
deleted file mode 100644
index 73f6dfaaad2e..000000000000
--- a/dev-libs/gtx/files/gtx-0.2.2-debug.patch
+++ /dev/null
@@ -1,40 +0,0 @@
- Makefile.am | 3 +--
- examples/Makefile.am | 5 ++---
- src/Makefile.am | 3 +--
- 3 files changed, 4 insertions(+), 7 deletions(-)
-
-diff --git a/examples/Makefile.am b/examples/Makefile.am
-index e6bba05..67274c1 100644
---- a/examples/Makefile.am
-+++ b/examples/Makefile.am
-@@ -8,8 +8,7 @@ noinst_PROGRAMS = \
- command
-
- AM_CFLAGS =\
-- -Wall \
-- -g
-+ -Wall
-
- simple_SOURCES = \
- simple.c
-@@ -30,4 +29,4 @@ command_SOURCES = \
-
- command_LDADD = \
- $(GTX_LIBS) \
-- $(top_builddir)/src/libgtx.la
-\ No newline at end of file
-+ $(top_builddir)/src/libgtx.la
-diff --git a/src/Makefile.am b/src/Makefile.am
-index f5f873e..a40d772 100644
---- a/src/Makefile.am
-+++ b/src/Makefile.am
-@@ -4,8 +4,7 @@ INCLUDES = \
- $(GTX_CFLAGS)
-
- AM_CFLAGS =\
-- -Wall \
-- -g
-+ -Wall
-
- #
- # Headers to be installed
diff --git a/dev-libs/gtx/files/gtx-0.2.2-docdir.patch b/dev-libs/gtx/files/gtx-0.2.2-docdir.patch
deleted file mode 100644
index e6f9a196f9f5..000000000000
--- a/dev-libs/gtx/files/gtx-0.2.2-docdir.patch
+++ /dev/null
@@ -1,16 +0,0 @@
- Makefile.am | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/Makefile.am b/Makefile.am
-index aa401dc..4d99442 100644
---- a/Makefile.am
-+++ b/Makefile.am
-@@ -5,7 +5,7 @@ SUBDIRS = \
- pkgconfigdir = $(libdir)/pkgconfig
- pkgconfig_DATA = gtx.pc
-
--gtxdocdir = ${prefix}/doc/gtx
-+gtxdocdir = ${docdir}
-
- gtxdoc_DATA = \
- README \
diff --git a/dev-libs/gtx/files/gtx-0.2.2-glib.h.patch b/dev-libs/gtx/files/gtx-0.2.2-glib.h.patch
deleted file mode 100644
index 0efab61e9b1f..000000000000
--- a/dev-libs/gtx/files/gtx-0.2.2-glib.h.patch
+++ /dev/null
@@ -1,15 +0,0 @@
- src/gtx.h | 1 -
- 1 file changed, 1 deletion(-)
-
-diff --git a/src/gtx.h b/src/gtx.h
-index 57bee60..ab128b0 100644
---- a/src/gtx.h
-+++ b/src/gtx.h
-@@ -24,7 +24,6 @@
- #define __GTX_H__
-
- #include <glib.h>
--#include <glib/gtestutils.h>
- #include <glib-object.h>
-
- G_BEGIN_DECLS
diff --git a/dev-libs/gtx/gtx-0.2.2-r1.ebuild b/dev-libs/gtx/gtx-0.2.2-r1.ebuild
deleted file mode 100644
index 492d15006d16..000000000000
--- a/dev-libs/gtx/gtx-0.2.2-r1.ebuild
+++ /dev/null
@@ -1,43 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit autotools
-
-DESCRIPTION="Small collection of functions intended to enhance the GLib testing framework"
-HOMEPAGE="https://launchpad.net/gtx"
-SRC_URI="https://launchpad.net/gtx/trunk/${PV}/+download/${P}.tar.gz"
-
-SLOT="0"
-LICENSE="LGPL-2.1"
-KEYWORDS="~alpha amd64 ~arm ~ia64 ~ppc ~ppc64 ~sparc x86 ~amd64-linux ~x86-linux"
-IUSE="debug"
-
-RDEPEND="dev-libs/glib:2"
-DEPEND="${RDEPEND}"
-
-PATCHES=(
- "${FILESDIR}"/${P}-docdir.patch
- "${FILESDIR}"/${P}-debug.patch
- "${FILESDIR}"/${P}-glib.h.patch )
-
-src_prepare() {
- default
- eautoreconf
-}
-
-src_configure() {
- local myeconfargs=(
- $(use_enable debug)
- )
-
- econf "${myeconfargs[@]}"
-}
-
-src_install() {
- default
-
- find "${ED}" -name '*.a' -delete || die
- find "${ED}" -name '*.la' -delete || die
-}
diff --git a/dev-libs/gtx/metadata.xml b/dev-libs/gtx/metadata.xml
deleted file mode 100644
index bd668f42c8be..000000000000
--- a/dev-libs/gtx/metadata.xml
+++ /dev/null
@@ -1,16 +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>
- <longdescription>
-GTX is a small collection of convenience functions intended to enhance the GLib
-testing framework. With specific emphasis on easing the pain of writing test
-cases for asynchronous interactions.
-</longdescription>
- <upstream>
- <remote-id type="launchpad">gtx</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/dev-libs/gumbo/Manifest b/dev-libs/gumbo/Manifest
index 92f34548dc06..170e614ce6f0 100644
--- a/dev-libs/gumbo/Manifest
+++ b/dev-libs/gumbo/Manifest
@@ -1 +1,3 @@
DIST gumbo-0.10.1.tar.gz 2119285 BLAKE2B 21a8dd479bcc568842ce85782d4de903c1b79d842dd5381c01fd7b7ee802872484bf8b647edde9c2a4939404a4d042e920633f4d337870cd9f4197a90b158ffd SHA512 bb1fb55cd07076ab6a9f38dc14db50397dbdca9a04ace4895dfba8b8cbc09038a96e26070c09c75fa929ada2e815affe233c1e2ecd8afe2aba6201647cf277d1
+DIST gumbo-0.11.0.tar.gz 2119456 BLAKE2B 9da25c08e94af6f33b7e6e66017da9b7780a5f58aef7eac7d03bdf98c415e13252377dadd4f6fe3b8ddcf7d2aea8d4aff6edac181ea8cf8a4fa152f7c711e107 SHA512 7fdfee66db32dfda70bb1f2069b9bf59f2293fd30e1360d7adcced68e894a42e42e2e5de05204ea4ee30cb8d680fd48b66400a68710fe5f00fb3c84004c85928
+DIST gumbo-0.12.1.tar.gz 2115338 BLAKE2B 8c2d119ff622bb07a2d4f0a04b4e3d1db1d3609632f540618dcb47a94f3b0ef4bb72fae8f74e2dbe43b4a2311421eee5b4d371475efda068a04ac5e8f8b9b304 SHA512 df74bf00b20152306b71db5659d4bf35ef6098ad6937925301ee48c96772607d2ab8e49a5b262caa27a72d5f267762c85e1434690e6abbf7e67d63c4713346d7
diff --git a/dev-libs/gumbo/gumbo-0.10.1.ebuild b/dev-libs/gumbo/gumbo-0.10.1.ebuild
index 95eaeca08e51..5ec776128dff 100644
--- a/dev-libs/gumbo/gumbo-0.10.1.ebuild
+++ b/dev-libs/gumbo/gumbo-0.10.1.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
@@ -11,12 +11,12 @@ SRC_URI="https://github.com/google/gumbo-parser/archive/v${PV}.tar.gz -> ${P}.ta
LICENSE="Apache-2.0"
SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ppc ppc64 ~riscv ~s390 x86 ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~ppc-macos ~x64-macos ~x64-solaris"
IUSE="doc test"
RESTRICT="!test? ( test )"
DEPEND="test? ( dev-cpp/gtest )"
-BDEPEND="doc? ( app-doc/doxygen )"
+BDEPEND="doc? ( app-text/doxygen )"
S="${WORKDIR}/gumbo-parser-${PV}"
diff --git a/dev-libs/gumbo/gumbo-0.11.0.ebuild b/dev-libs/gumbo/gumbo-0.11.0.ebuild
new file mode 100644
index 000000000000..6f628ab1e141
--- /dev/null
+++ b/dev-libs/gumbo/gumbo-0.11.0.ebuild
@@ -0,0 +1,41 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools
+
+DESCRIPTION="The HTML5 parsing algorithm implemented as a pure C99 library"
+HOMEPAGE="https://codeberg.org/grisha/gumbo-parser"
+SRC_URI="https://codeberg.org/grisha/gumbo-parser/archive/${PV}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/gumbo-parser"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~ppc-macos ~x64-macos ~x64-solaris"
+IUSE="doc test"
+RESTRICT="!test? ( test )"
+
+DEPEND="test? ( dev-cpp/gtest )"
+BDEPEND="doc? ( app-text/doxygen )"
+
+src_prepare() {
+ default
+ eautoreconf
+}
+
+src_compile() {
+ default
+
+ if use doc; then
+ doxygen || die "doxygen failed"
+ HTML_DOCS=( docs/html/. )
+ fi
+}
+
+src_install() {
+ default
+ use doc && doman docs/man/man3/*
+
+ find "${ED}" -name '*.la' -delete || die
+}
diff --git a/dev-libs/gumbo/gumbo-0.12.1.ebuild b/dev-libs/gumbo/gumbo-0.12.1.ebuild
new file mode 100644
index 000000000000..b8e91112d147
--- /dev/null
+++ b/dev-libs/gumbo/gumbo-0.12.1.ebuild
@@ -0,0 +1,41 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools
+
+DESCRIPTION="The HTML5 parsing algorithm implemented as a pure C99 library"
+HOMEPAGE="https://codeberg.org/grisha/gumbo-parser"
+SRC_URI="https://codeberg.org/grisha/gumbo-parser/archive/${PV}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/gumbo-parser"
+
+LICENSE="Apache-2.0"
+SLOT="0/2" # gumbo SONAME
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~ppc-macos ~x64-macos ~x64-solaris"
+IUSE="doc test"
+RESTRICT="!test? ( test )"
+
+DEPEND="test? ( dev-cpp/gtest )"
+BDEPEND="doc? ( app-text/doxygen )"
+
+src_prepare() {
+ default
+ eautoreconf
+}
+
+src_compile() {
+ default
+
+ if use doc; then
+ doxygen || die "doxygen failed"
+ HTML_DOCS=( docs/html/. )
+ fi
+}
+
+src_install() {
+ default
+ use doc && doman docs/man/man3/*
+
+ find "${ED}" -name '*.la' -delete || die
+}
diff --git a/dev-libs/gumbo/metadata.xml b/dev-libs/gumbo/metadata.xml
index a2faadedd5a5..bf5592871976 100644
--- a/dev-libs/gumbo/metadata.xml
+++ b/dev-libs/gumbo/metadata.xml
@@ -1,10 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <email>graaff@gentoo.org</email>
- </maintainer>
- <upstream>
- <remote-id type="github">google/gumbo-parser#readme</remote-id>
- </upstream>
+ <maintainer type="person" proxied="yes">
+ <email>contact@hacktivis.me</email>
+ <name>Haelwenn (lanodan) Monnier</name>
+ </maintainer>
+ <maintainer type="project" proxied="proxy">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+ </maintainer>
</pkgmetadata>
diff --git a/dev-libs/half/metadata.xml b/dev-libs/half/metadata.xml
index e74d41fd607c..b71bc2af0234 100644
--- a/dev-libs/half/metadata.xml
+++ b/dev-libs/half/metadata.xml
@@ -12,4 +12,7 @@
<email>xgreenlandforwyy@gmail.com</email>
<name>Yiyang Wu</name>
</maintainer>
+ <upstream>
+ <remote-id type="github">ROCm/half</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/dev-libs/heatshrink/Manifest b/dev-libs/heatshrink/Manifest
new file mode 100644
index 000000000000..b2379309357b
--- /dev/null
+++ b/dev-libs/heatshrink/Manifest
@@ -0,0 +1 @@
+DIST heatshrink-0.4.1.tar.gz 36945 BLAKE2B 526e3f88ddaec8116e5eef1a73a4450454ca808545dfe4a36069be8a0d771ca92c850c51f9b3c3e73f244454ba17d03da8fb0be4849728300c7eb8181e39651e SHA512 bb9610b963da0762b1ac21d0907f3801b525431abff495b66cadc244a2b2b334441de2b14442b722bfeb56cb4459fe4021eae0d0454f9e26a80e6efa11f079d2
diff --git a/dev-libs/heatshrink/files/heatshrink-0.4.1-cmake.patch b/dev-libs/heatshrink/files/heatshrink-0.4.1-cmake.patch
new file mode 100644
index 000000000000..3230949b84bf
--- /dev/null
+++ b/dev-libs/heatshrink/files/heatshrink-0.4.1-cmake.patch
@@ -0,0 +1,108 @@
+diff -urN heatshrink-0.4.1.orig/CMakeLists.txt heatshrink-0.4.1/CMakeLists.txt
+--- heatshrink-0.4.1.orig/CMakeLists.txt 1970-01-01 03:00:00.000000000 +0300
++++ heatshrink-0.4.1/CMakeLists.txt 2024-02-01 15:11:32.356696150 +0300
+@@ -0,0 +1,93 @@
++cmake_minimum_required(VERSION 3.10)
++
++project(heatshrink LANGUAGES C VERSION 0.4.1)
++
++set(CMAKE_C_STANDARD 99)
++set(CMAKE_C_STANDARD_REQUIRED ON)
++set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS ON)
++
++add_library(${PROJECT_NAME} heatshrink_decoder.c heatshrink_encoder.c)
++add_library(${PROJECT_NAME}_dynalloc heatshrink_decoder.c heatshrink_encoder.c)
++
++find_library(MATH_LIBRARY m) # Business as usual
++if(MATH_LIBRARY)
++ target_link_libraries(${PROJECT_NAME} PUBLIC ${MATH_LIBRARY})
++endif()
++
++target_include_directories(${PROJECT_NAME} PUBLIC $<INSTALL_INTERFACE:include>)
++target_include_directories(${PROJECT_NAME}_dynalloc PUBLIC $<INSTALL_INTERFACE:include>)
++
++target_compile_definitions(${PROJECT_NAME} PUBLIC HEATSHRINK_DYNAMIC_ALLOC=0)
++target_compile_definitions(${PROJECT_NAME}_dynalloc PUBLIC HEATSHRINK_DYNAMIC_ALLOC=1)
++
++if (UNIX)
++ add_executable(${PROJECT_NAME}_cmd heatshrink.c)
++ target_link_libraries(${PROJECT_NAME}_cmd ${PROJECT_NAME}_dynalloc)
++ set_target_properties(${PROJECT_NAME}_cmd PROPERTIES OUTPUT_NAME ${PROJECT_NAME})
++endif ()
++
++foreach (tgt ${PROJECT_NAME} ${PROJECT_NAME}_dynalloc)
++ set_target_properties(${tgt}
++ PROPERTIES
++ VERSION ${PROJECT_VERSION}
++ SOVERSION ${PROJECT_VERSION})
++endforeach()
++
++# Installation and export:
++
++include(CMakePackageConfigHelpers)
++
++write_basic_package_version_file(
++ "${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}ConfigVersion.cmake"
++ VERSION ${PROJECT_VERSION}
++ COMPATIBILITY AnyNewerVersion
++)
++
++set(_exported_targets ${PROJECT_NAME} ${PROJECT_NAME}_dynalloc)
++if (UNIX)
++ list(APPEND _exported_targets ${PROJECT_NAME}_cmd)
++endif ()
++
++install(TARGETS ${_exported_targets}
++ EXPORT ${PROJECT_NAME}Targets
++)
++
++export(EXPORT ${PROJECT_NAME}Targets
++ FILE "${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}Targets.cmake"
++ NAMESPACE ${PROJECT_NAME}::
++)
++
++include(GNUInstallDirs)
++set(ConfigPackageLocation ${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME})
++
++configure_package_config_file(${CMAKE_CURRENT_SOURCE_DIR}/Config.cmake.in
++ "${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}Config.cmake"
++ INSTALL_DESTINATION ${ConfigPackageLocation}
++)
++
++install(
++ FILES
++ heatshrink_common.h
++ heatshrink_config.h
++ heatshrink_encoder.h
++ heatshrink_decoder.h
++ DESTINATION
++ include/${PROJECT_NAME}
++ )
++
++install(EXPORT ${PROJECT_NAME}Targets
++ FILE
++ ${PROJECT_NAME}Targets.cmake
++ NAMESPACE
++ ${PROJECT_NAME}::
++ DESTINATION
++ ${ConfigPackageLocation}
++)
++
++install(
++ FILES
++ "${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}Config.cmake"
++ "${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}ConfigVersion.cmake"
++ DESTINATION
++ ${ConfigPackageLocation}
++)
+\ В конце файла нет новой строки
+diff -urN heatshrink-0.4.1.orig/Config.cmake.in heatshrink-0.4.1/Config.cmake.in
+--- heatshrink-0.4.1.orig/Config.cmake.in 1970-01-01 03:00:00.000000000 +0300
++++ heatshrink-0.4.1/Config.cmake.in 2024-02-01 15:11:32.356696150 +0300
+@@ -0,0 +1,5 @@
++@PACKAGE_INIT@
++
++if (EXISTS ${CMAKE_CURRENT_LIST_DIR}/@PROJECT_NAME@Targets.cmake)
++ include("${CMAKE_CURRENT_LIST_DIR}/@PROJECT_NAME@Targets.cmake")
++endif ()
+\ В конце файла нет новой строки
diff --git a/dev-libs/heatshrink/heatshrink-0.4.1.ebuild b/dev-libs/heatshrink/heatshrink-0.4.1.ebuild
new file mode 100644
index 000000000000..2bda58d0cefa
--- /dev/null
+++ b/dev-libs/heatshrink/heatshrink-0.4.1.ebuild
@@ -0,0 +1,16 @@
+# Copyright 2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+DESCRIPTION="A data compression/decompression library for embedded/real-time systems"
+HOMEPAGE="https://github.com/atomicobject/heatshrink"
+SRC_URI="https://github.com/atomicobject/${PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="ISC"
+SLOT="0"
+KEYWORDS="amd64 ~arm64 ~x86"
+
+PATCHES=( "${FILESDIR}/${P}-cmake.patch" )
diff --git a/dev-libs/heatshrink/metadata.xml b/dev-libs/heatshrink/metadata.xml
new file mode 100644
index 000000000000..df9f753c622a
--- /dev/null
+++ b/dev-libs/heatshrink/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="project">
+ <email>3dprint@gentoo.org</email>
+ <name>Gentoo 3D Printer Project</name>
+ </maintainer>
+ <maintainer type="person">
+ <email>alexxy@gentoo.org</email>
+ <name>Alexey Shvetsov</name>
+ </maintainer>
+ <upstream>
+ <bugs-to>https://github.com/atomicobject/heatshrink/issues</bugs-to>
+ <remote-id type="github">atomicobject/heatshrink</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/hidapi/Manifest b/dev-libs/hidapi/Manifest
index 6de08b4220b1..3bece08534c5 100644
--- a/dev-libs/hidapi/Manifest
+++ b/dev-libs/hidapi/Manifest
@@ -1,2 +1,2 @@
-DIST hidapi-0.11.0.tgz 232631 BLAKE2B 770c0663b007aa36580af217d0d38be72923e0ad84cee137594ca3e174e589cebb9188003a50999e1c561b0e4e9ca68bd1af29029b89fde2b0a46020b12f9744 SHA512 0de4abc963600d159ce231416c468b9e81a8361e4d2c2202988d6eb2e58a923700e9b9be639fbddc6bc14625131848409e2e88dbc4b34a1f8a726c8fa4692d92
-DIST hidapi-0.8.0_rc1_p20140719.tgz 103079 BLAKE2B f40a4c17cb8c5eed41f4eea84fac46a879ec2057f28212aa43c8fd718ceea68d760785cb4f4e2ea3bcd2a4345b65d75d0d278b93697ec61963be9270684a15cb SHA512 204934a707da4e67b834823650b0cfd9be7b413972071129cc5aeeb93465834dde2f5ee23283c55d35b56e3aed8b7ad5fe947399839081f4d895fb65c8cd3e3d
+DIST hidapi-0.13.1.tgz 244666 BLAKE2B b3406114f8dd8b192eecac1673592866f930688af8023819d20f73c76226f0829c8d68f4b47051b4836ce4348fc3bbad8f9849f1d565563dcd0f993df43de4ca SHA512 07b224b9b5146caf693e6d67514fed236436ed68f38a3ada98ebf8352dfaa4e175f576902affb4b79da1bb8c9b47a1ee0831a93c7d3d210e93faee24632f7d53
+DIST hidapi-0.14.0.tgz 348221 BLAKE2B 6472bfe5863d75a8901983a763191f3b6c18c25934b652b79f33141a6818619f816d35ed2480435254cecc51598d1e07e53c8c8c4f35a10cf28c1e4374bb450d SHA512 66a045144f90b41438898b82f0398e80223323ebfe6e4f197d2713696bb3ae60f36aea5a37a9999b34b12294783fd7e4c28c6e785462559cbe21276009da1eac
diff --git a/dev-libs/hidapi/files/hidapi-0.8.0_rc1_p20140719-autoconf-2.70.patch b/dev-libs/hidapi/files/hidapi-0.8.0_rc1_p20140719-autoconf-2.70.patch
deleted file mode 100644
index ad79a05cb14b..000000000000
--- a/dev-libs/hidapi/files/hidapi-0.8.0_rc1_p20140719-autoconf-2.70.patch
+++ /dev/null
@@ -1,11 +0,0 @@
-https://bugs.gentoo.org/750983
---- a/configure.ac
-+++ b/configure.ac
-@@ -20,7 +20,6 @@ LTLDFLAGS="-version-info ${lt_current}:${lt_revision}:${lt_age}"
-
- AC_CONFIG_MACRO_DIR([m4])
- AM_INIT_AUTOMAKE([foreign -Wall -Werror])
--AC_CONFIG_MACRO_DIR([m4])
-
- m4_ifdef([AM_PROG_AR], [AM_PROG_AR])
- LT_INIT
diff --git a/dev-libs/hidapi/hidapi-0.11.0.ebuild b/dev-libs/hidapi/hidapi-0.11.0.ebuild
deleted file mode 100644
index 1ed0ca0f94db..000000000000
--- a/dev-libs/hidapi/hidapi-0.11.0.ebuild
+++ /dev/null
@@ -1,62 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit autotools multilib-minimal
-
-DESCRIPTION="A multi-platform library for USB and Bluetooth HID-Class devices"
-HOMEPAGE="https://github.com/libusb/hidapi"
-SRC_URI="https://github.com/libusb/hidapi/archive/${P}.tar.gz -> ${P}.tgz"
-
-LICENSE="|| ( BSD GPL-3 HIDAPI )"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~x86"
-IUSE="doc fox"
-
-RDEPEND="
- virtual/libusb:1[${MULTILIB_USEDEP}]
- virtual/libudev:0[${MULTILIB_USEDEP}]"
-DEPEND="${RDEPEND}
- fox? ( x11-libs/fox )"
-BDEPEND="
- virtual/pkgconfig
- doc? ( app-doc/doxygen )"
-
-S="${WORKDIR}/${PN}-${P}"
-
-src_prepare() {
- default
-
- if ! use fox; then
- sed -i -e 's:PKG_CHECK_MODULES(\[fox\], .*):AC_SUBST(fox_CFLAGS,[ ])AC_SUBST(fox_LIBS,[ ]):' configure.ac || die
- fi
-
- # Portage handles license texts itself, no need to install them
- sed -i -e 's/LICENSE.*/ # blank/' Makefile.am || die
-
- eautoreconf
-}
-
-multilib_src_configure() {
- ECONF_SOURCE="${S}" econf \
- --disable-static \
- $(multilib_native_use_enable fox testgui)
-}
-
-multilib_src_compile() {
- default
- if use doc && multilib_is_native_abi; then
- doxygen "${S}/doxygen/Doxyfile" || die
- fi
-}
-
-multilib_src_install() {
- emake install DESTDIR="${D}"
- find "${D}" -name '*.la' -delete || die
-
- if use doc && multilib_is_native_abi; then
- local HTML_DOCS=( html/. )
- fi
- einstalldocs
-}
diff --git a/dev-libs/hidapi/hidapi-0.13.1-r1.ebuild b/dev-libs/hidapi/hidapi-0.13.1-r1.ebuild
new file mode 100644
index 000000000000..2e02a10b8d7d
--- /dev/null
+++ b/dev-libs/hidapi/hidapi-0.13.1-r1.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="A multi-platform library for USB and Bluetooth HID-Class devices"
+HOMEPAGE="https://github.com/libusb/hidapi"
+SRC_URI="https://github.com/libusb/hidapi/archive/${P}.tar.gz -> ${P}.tgz"
+
+LICENSE="|| ( BSD GPL-3 HIDAPI )"
+SLOT="0"
+KEYWORDS="amd64 arm arm64 ~loong ppc ppc64 ~riscv x86"
+IUSE="doc"
+
+DEPEND="
+ virtual/libusb:1[${MULTILIB_USEDEP}]
+ virtual/libudev:0[${MULTILIB_USEDEP}]"
+RDEPEND="${DEPEND}"
+BDEPEND="
+ doc? ( app-text/doxygen )"
+
+S="${WORKDIR}/${PN}-${P}"
+
+multilib_src_configure() {
+ append-lfs-flags
+
+ cmake_src_configure
+}
+
+multilib_src_compile() {
+ cmake_src_compile
+
+ if use doc && multilib_is_native_abi; then
+ cd "${S}/doxygen"
+ doxygen Doxyfile || die
+ fi
+}
+
+multilib_src_install() {
+ cmake_src_install
+
+ if use doc && multilib_is_native_abi; then
+ local HTML_DOCS=( "${S}/doxygen/html/." )
+ fi
+ einstalldocs
+}
diff --git a/dev-libs/hidapi/hidapi-0.14.0.ebuild b/dev-libs/hidapi/hidapi-0.14.0.ebuild
new file mode 100644
index 000000000000..8713c3db7850
--- /dev/null
+++ b/dev-libs/hidapi/hidapi-0.14.0.ebuild
@@ -0,0 +1,52 @@
+# 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="A multi-platform library for USB and Bluetooth HID-Class devices"
+HOMEPAGE="https://github.com/libusb/hidapi"
+SRC_URI="https://github.com/libusb/hidapi/archive/${P}.tar.gz -> ${P}.tgz"
+S="${WORKDIR}/${PN}-${P}"
+
+LICENSE="|| ( BSD GPL-3 HIDAPI )"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86"
+IUSE="doc"
+
+DEPEND="
+ virtual/libusb:1[${MULTILIB_USEDEP}]
+ virtual/libudev:0[${MULTILIB_USEDEP}]
+"
+RDEPEND="${DEPEND}"
+BDEPEND="doc? ( app-text/doxygen )"
+
+multilib_src_configure() {
+ append-lfs-flags
+
+ local mycmakeargs=(
+ # Doesn't do anything as of 0.14.0
+ -DHIDAPI_WITH_TESTS=OFF
+ )
+
+ cmake_src_configure
+}
+
+multilib_src_compile() {
+ cmake_src_compile
+
+ if use doc && multilib_is_native_abi; then
+ cd "${S}/doxygen" || die
+ doxygen Doxyfile || die
+ fi
+}
+
+multilib_src_install() {
+ cmake_src_install
+
+ if use doc && multilib_is_native_abi; then
+ local HTML_DOCS=( "${S}/doxygen/html/." )
+ fi
+ einstalldocs
+}
diff --git a/dev-libs/hidapi/hidapi-0.8.0_rc1_p20140719-r1.ebuild b/dev-libs/hidapi/hidapi-0.8.0_rc1_p20140719-r1.ebuild
deleted file mode 100644
index 5c9c71641234..000000000000
--- a/dev-libs/hidapi/hidapi-0.8.0_rc1_p20140719-r1.ebuild
+++ /dev/null
@@ -1,70 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit autotools multilib-minimal
-
-# If github is desired, the following may be used.
-#EGIT_REPO_URI="https://github.com/signal11/hidapi.git"
-#EGIT_BRANCH="master"
-EGIT_COMMIT="d17db57b9d4354752e0af42f5f33007a42ef2906"
-
-DESCRIPTION="A multi-platform library for USB and Bluetooth HID-Class devices"
-HOMEPAGE="http://www.signal11.us/oss/hidapi/"
-SRC_URI="https://github.com/signal11/${PN}/archive/${EGIT_COMMIT}.tar.gz -> ${P}.tgz"
-# When 0.8.0 is officially available the following link should be used.
-#SRC_URI="https://github.com/downloads/signal11/${PN}/${P}.zip"
-
-LICENSE="|| ( BSD GPL-3 HIDAPI )"
-SLOT="0"
-KEYWORDS="amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv x86"
-IUSE="doc fox"
-
-RDEPEND="
- virtual/libusb:1[${MULTILIB_USEDEP}]
- virtual/libudev:0[${MULTILIB_USEDEP}]"
-DEPEND="${RDEPEND}
- fox? ( x11-libs/fox )"
-BDEPEND="
- virtual/pkgconfig
- doc? ( app-doc/doxygen )"
-
-S="${WORKDIR}/${PN}-${EGIT_COMMIT}"
-
-PATCHES=( "${FILESDIR}"/${P}-autoconf-2.70.patch )
-
-src_prepare() {
- default
-
- if ! use fox; then
- sed -i -e 's:PKG_CHECK_MODULES(\[fox\], .*):AC_SUBST(fox_CFLAGS,[ ])AC_SUBST(fox_LIBS,[ ]):' configure.ac || die
- fi
-
- # Fix bashisms in the configure.ac file.
- sed -i -e 's:\([A-Z_]\+\)+="\(.*\)":\1="${\1}\2":g' \
- -e 's:\([A-Z_]\+\)+=`\(.*\)`:\1="${\1}\2":g' configure.ac || die
-
- # Portage handles license texts itself, no need to install them
- sed -i -e 's/LICENSE.*/ # blank/' Makefile.am || die
-
- eautoreconf
-}
-
-multilib_src_configure() {
- ECONF_SOURCE="${S}" econf \
- --disable-static \
- $(multilib_native_use_enable fox testgui)
-}
-
-multilib_src_install_all() {
- if use doc; then
- doxygen doxygen/Doxyfile || die
- HTML_DOCS=( html/. )
- fi
-
- einstalldocs
-
- # no static archives
- find "${ED}" -name '*.la' -delete || die
-}
diff --git a/dev-libs/hidapi/metadata.xml b/dev-libs/hidapi/metadata.xml
index 367daf9904e6..2493acc7ce5b 100644
--- a/dev-libs/hidapi/metadata.xml
+++ b/dev-libs/hidapi/metadata.xml
@@ -1,18 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person" proxied="yes">
- <email>luke-jr+gentoobugs@utopios.org</email>
- <name>Luke Dashjr</name>
- </maintainer>
- <maintainer type="project" proxied="proxy">
- <email>proxy-maint@gentoo.org</email>
- <name>Proxy Maintainers</name>
- </maintainer>
- <use>
- <flag name="fox">Build a x11-libs/fox GUI</flag>
- </use>
+ <!-- maintainer-needed -->
<upstream>
- <remote-id type="github">signal11/hidapi</remote-id>
+ <remote-id type="github">libusb/hidapi</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-libs/hiredis/Manifest b/dev-libs/hiredis/Manifest
index 5fea35cb08ca..171a4ffec6a0 100644
--- a/dev-libs/hiredis/Manifest
+++ b/dev-libs/hiredis/Manifest
@@ -1,2 +1,2 @@
-DIST hiredis-0.14.1.tar.gz 64372 BLAKE2B 9846b05e21bfadb876e26ab45bf5c29a3283b602ef725dfbd877815be690bb5579551f0c452e1d8abf9ae985f6b71408a3b86b343ca5d6dce58dd4897640996a SHA512 a7310f2d65075df0c17636a0220e16487759471a3442b1de2595ab747565f6b6262e37131613b13e396b31050bcbe5529c35d420cd43fd7d500d9d563d469c4f
DIST hiredis-1.0.2.tar.gz 98139 BLAKE2B 86d872cfec3d4e925d5d68e4f4faf1301aa6d706bd0406a8080471e14afc2c25db13b9a0937d29baccd457611af8e46922b5379183c7470c9ae1860aac3af096 SHA512 86497a1c21869bbe535378885eee6dbd594ef96325966511a3513f81e501af0f5ac7fed864f3230372f3ac7a23c05bad477fa5aa90b9747c9fb1408028174f9b
+DIST hiredis-1.1.0.tar.gz 122002 BLAKE2B 74c23816e59ea241c68640f99970ae68536a1cd605ac1a7146bf52e355f5f74b3d39fb81be02741cf776c06b47b9d5acc7ec66bfdcf802dec3ed68fb28a82b1b SHA512 9dad012c144ed24de6aa413a3a10d19a9d0d9ece18dbc388406cd86c5b98cb66c76c586cb559c601ed13a75051d8921dc2882534cc3605513fde47d57276c3bb
diff --git a/dev-libs/hiredis/files/hiredis-0.13.3-disable-network-tests.patch b/dev-libs/hiredis/files/hiredis-0.13.3-disable-network-tests.patch
deleted file mode 100644
index 000e2537b5a0..000000000000
--- a/dev-libs/hiredis/files/hiredis-0.13.3-disable-network-tests.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-diff --git test.c test.c
-index 8fde554..89ed6a0 100644
---- a/test.c
-+++ b/test.c
-@@ -343,6 +343,7 @@ static void test_free_null(void) {
- static void test_blocking_connection_errors(void) {
- redisContext *c;
-
-+#if 0
- test("Returns error when host cannot be resolved: ");
- c = redisConnect((char*)"idontexist.test", 6379);
- test_cond(c->err == REDIS_ERR_OTHER &&
-@@ -353,6 +354,7 @@ static void test_blocking_connection_errors(void) {
- strcmp(c->errstr,"Temporary failure in name resolution") == 0 ||
- strcmp(c->errstr,"no address associated with name") == 0));
- redisFree(c);
-+#endif
-
- test("Returns error when the port is not open: ");
- c = redisConnect((char*)"localhost", 1);
-@@ -773,6 +775,7 @@ int main(int argc, char **argv) {
- test_blocking_connection_errors();
- test_free_null();
-
-+#if 0
- printf("\nTesting against TCP connection (%s:%d):\n", cfg.tcp.host, cfg.tcp.port);
- cfg.type = CONN_TCP;
- test_blocking_connection(cfg);
-@@ -781,6 +784,7 @@ int main(int argc, char **argv) {
- test_invalid_timeout_errors(cfg);
- test_append_formatted_commands(cfg);
- if (throughput) test_throughput(cfg);
-+#endif
-
- printf("\nTesting against Unix socket connection (%s):\n", cfg.unix.path);
- cfg.type = CONN_UNIX;
diff --git a/dev-libs/hiredis/files/hiredis-0.14.1-honor-AR.patch b/dev-libs/hiredis/files/hiredis-0.14.1-honor-AR.patch
deleted file mode 100644
index 0bfcf0988e81..000000000000
--- a/dev-libs/hiredis/files/hiredis-0.14.1-honor-AR.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/Makefile
-+++ b/Makefile
-@@ -51,7 +51,7 @@ DYLIB_MAJOR_NAME=$(LIBNAME).$(DYLIBSUFFIX).$(HIREDIS_MAJOR)
- DYLIBNAME=$(LIBNAME).$(DYLIBSUFFIX)
- DYLIB_MAKE_CMD=$(CC) -shared -Wl,-soname,$(DYLIB_MINOR_NAME) -o $(DYLIBNAME) $(LDFLAGS)
- STLIBNAME=$(LIBNAME).$(STLIBSUFFIX)
--STLIB_MAKE_CMD=ar rcs $(STLIBNAME)
-+STLIB_MAKE_CMD=$(AR) rcs $(STLIBNAME)
-
- # Platform-specific overrides
- uname_S := $(shell sh -c 'uname -s 2>/dev/null || echo not')
diff --git a/dev-libs/hiredis/hiredis-0.14.1.ebuild b/dev-libs/hiredis/hiredis-0.14.1.ebuild
deleted file mode 100644
index 8711e421b030..000000000000
--- a/dev-libs/hiredis/hiredis-0.14.1.ebuild
+++ /dev/null
@@ -1,83 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit toolchain-funcs
-
-DESCRIPTION="Minimalistic C client library for the Redis database"
-HOMEPAGE="https://github.com/redis/hiredis"
-SRC_URI="https://github.com/redis/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0/0.14"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ppc ppc64 ~s390 sparc x86 ~x64-solaris"
-IUSE="examples static-libs test"
-RESTRICT="!test? ( test )"
-
-DEPEND="test? ( dev-db/redis )"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-0.13.3-disable-network-tests.patch
- "${FILESDIR}"/${PN}-0.14.1-honor-AR.patch
-)
-
-src_prepare() {
- default
-
- # use GNU ld syntax on Solaris
- sed -i -e '/DYLIB_MAKE_CMD=.* -G/d' Makefile || die
-}
-
-_build() {
- emake \
- AR="$(tc-getAR)" \
- CC="$(tc-getCC)" \
- PREFIX="${EPREFIX}/usr" \
- LIBRARY_PATH="$(get_libdir)" \
- DEBUG_FLAGS= \
- OPTIMIZATION= \
- "$@"
-}
-
-src_compile() {
- # The static lib re-uses the same objects as the shared lib, so
- # overhead is low w/creating it all the time. It's also needed
- # by the tests.
- _build dynamic static hiredis.pc
-}
-
-src_test() {
- local REDIS_PID="${T}"/hiredis.pid
- local REDIS_SOCK="${T}"/hiredis.sock
- local REDIS_PORT=56379
- local REDIS_TEST_CONFIG="daemonize yes
- pidfile ${REDIS_PID}
- port ${REDIS_PORT}
- bind 127.0.0.1
- unixsocket //${REDIS_SOCK}"
-
- _build hiredis-test
-
- "${EPREFIX}"/usr/sbin/redis-server - <<< "${REDIS_TEST_CONFIG}" || die
- ./hiredis-test -h 127.0.0.1 -p ${REDIS_PID} -s ${REDIS_SOCK}
- local ret=$?
-
- kill "$(<"${REDIS_PID}")" || die
- [[ ${ret} != "0" ]] && die "tests failed"
-}
-
-src_install() {
- _build PREFIX="${ED}/usr" install
-
- if ! use static-libs ; then
- find "${ED}" -name '*.a' -delete || die
- fi
-
- insinto /usr/$(get_libdir)/pkgconfig
- doins ${PN}.pc
-
- local DOCS=( CHANGELOG.md README.md )
- use examples && DOCS+=( examples )
- einstalldocs
-}
diff --git a/dev-libs/hiredis/hiredis-1.0.2-r1.ebuild b/dev-libs/hiredis/hiredis-1.0.2-r1.ebuild
deleted file mode 100644
index 5ff9381ea657..000000000000
--- a/dev-libs/hiredis/hiredis-1.0.2-r1.ebuild
+++ /dev/null
@@ -1,89 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit toolchain-funcs
-
-DESCRIPTION="Minimalistic C client library for the Redis database"
-HOMEPAGE="https://github.com/redis/hiredis"
-SRC_URI="https://github.com/redis/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="BSD"
-# 1.0.1 erroneously bumped SONAME but we're stuck with it now. Force another
-# rebuild so everybody is on the right one though (1.0.0).
-SLOT="0/1.0.2"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ppc ppc64 ~riscv ~s390 sparc x86 ~x64-solaris"
-IUSE="examples ssl static-libs test"
-RESTRICT="!test? ( test )"
-
-DEPEND="ssl? ( dev-libs/openssl:= )"
-RDEPEND="${RDEPEND}"
-BDEPEND="test? ( dev-db/redis )"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-1.0.0-disable-network-tests.patch
-)
-
-src_prepare() {
- default
-
- # use GNU ld syntax on Solaris
- sed -i -e '/DYLIB_MAKE_CMD=.* -G/d' Makefile || die
-}
-
-_build() {
- emake \
- AR="$(tc-getAR)" \
- CC="$(tc-getCC)" \
- PREFIX="${EPREFIX}/usr" \
- LIBRARY_PATH="$(get_libdir)" \
- USE_SSL=$(usex ssl 1 0) \
- DEBUG_FLAGS= \
- OPTIMIZATION= \
- "$@"
-}
-
-src_compile() {
- # The static lib re-uses the same objects as the shared lib, so
- # overhead is low w/creating it all the time. It's also needed
- # by the tests.
- _build dynamic static hiredis.pc
-}
-
-src_test() {
- local REDIS_PID="${T}"/hiredis.pid
- local REDIS_SOCK="${T}"/hiredis.sock
- local REDIS_PORT=56379
- local REDIS_TEST_CONFIG="
- daemonize yes
- pidfile ${REDIS_PID}
- port ${REDIS_PORT}
- bind 127.0.0.1
- unixsocket //${REDIS_SOCK}
- "
-
- _build hiredis-test
-
- "${EPREFIX}"/usr/sbin/redis-server - <<< "${REDIS_TEST_CONFIG}" || die
- ./hiredis-test -h 127.0.0.1 -p ${REDIS_PID} -s ${REDIS_SOCK}
- local ret=$?
-
- kill "$(<"${REDIS_PID}")" || die
- [[ ${ret} != "0" ]] && die "tests failed"
-}
-
-src_install() {
- _build PREFIX="${ED}/usr" install
-
- if ! use static-libs ; then
- find "${ED}" -name '*.a' -delete || die
- fi
-
- insinto /usr/$(get_libdir)/pkgconfig
- doins ${PN}.pc
-
- local DOCS=( CHANGELOG.md README.md )
- use examples && DOCS+=( examples )
- einstalldocs
-}
diff --git a/dev-libs/hiredis/hiredis-1.0.2-r3.ebuild b/dev-libs/hiredis/hiredis-1.0.2-r3.ebuild
new file mode 100644
index 000000000000..b990a555460f
--- /dev/null
+++ b/dev-libs/hiredis/hiredis-1.0.2-r3.ebuild
@@ -0,0 +1,89 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit toolchain-funcs
+
+DESCRIPTION="Minimalistic C client library for the Redis database"
+HOMEPAGE="https://github.com/redis/hiredis"
+SRC_URI="https://github.com/redis/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="BSD"
+# 1.0.1 erroneously bumped SONAME but we're stuck with it now. Force another
+# rebuild so everybody is on the right one though (1.0.0).
+SLOT="0/1.0.2"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ppc ppc64 ~riscv ~s390 sparc x86 ~x64-solaris"
+IUSE="examples ssl static-libs test"
+RESTRICT="!test? ( test )"
+
+DEPEND="ssl? ( dev-libs/openssl:= )"
+RDEPEND="${DEPEND}"
+BDEPEND="test? ( dev-db/redis )"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-1.0.0-disable-network-tests.patch
+)
+
+src_prepare() {
+ default
+
+ # use GNU ld syntax on Solaris
+ sed -i -e '/DYLIB_MAKE_CMD=.* -G/d' Makefile || die
+}
+
+_build() {
+ emake \
+ AR="$(tc-getAR)" \
+ CC="$(tc-getCC)" \
+ PREFIX="${EPREFIX}/usr" \
+ LIBRARY_PATH="$(get_libdir)" \
+ USE_SSL=$(usex ssl 1 0) \
+ DEBUG_FLAGS= \
+ OPTIMIZATION= \
+ "$@"
+}
+
+src_compile() {
+ # The static lib re-uses the same objects as the shared lib, so
+ # overhead is low w/creating it all the time. It's also needed
+ # by the tests.
+ _build dynamic static hiredis{,_ssl}.pc
+}
+
+src_test() {
+ local REDIS_PID="${T}"/hiredis.pid
+ local REDIS_SOCK="${T}"/hiredis.sock
+ local REDIS_PORT=56379
+ local REDIS_TEST_CONFIG="
+ daemonize yes
+ pidfile ${REDIS_PID}
+ port ${REDIS_PORT}
+ bind 127.0.0.1
+ unixsocket //${REDIS_SOCK}
+ "
+
+ _build hiredis-test
+
+ "${EPREFIX}"/usr/sbin/redis-server - <<< "${REDIS_TEST_CONFIG}" || die
+ ./hiredis-test -h 127.0.0.1 -p ${REDIS_PID} -s ${REDIS_SOCK}
+ local ret=$?
+
+ kill "$(<"${REDIS_PID}")" || die
+ [[ ${ret} != "0" ]] && die "tests failed"
+}
+
+src_install() {
+ _build PREFIX="${ED}/usr" install
+
+ if ! use static-libs ; then
+ find "${ED}" -name '*.a' -delete || die
+ fi
+
+ insinto /usr/$(get_libdir)/pkgconfig
+ doins ${PN}.pc
+
+ local DOCS=( CHANGELOG.md README.md )
+ use examples && DOCS+=( examples )
+ einstalldocs
+}
diff --git a/dev-libs/hiredis/hiredis-1.1.0-r1.ebuild b/dev-libs/hiredis/hiredis-1.1.0-r1.ebuild
new file mode 100644
index 000000000000..193ec8133864
--- /dev/null
+++ b/dev-libs/hiredis/hiredis-1.1.0-r1.ebuild
@@ -0,0 +1,96 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit toolchain-funcs
+
+DESCRIPTION="Minimalistic C client library for the Redis database"
+HOMEPAGE="https://github.com/redis/hiredis"
+SRC_URI="https://github.com/redis/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="BSD"
+# Always check "Upgrading from ..." in README
+# e.g. https://github.com/redis/hiredis#upgrading-to-110
+SLOT="0/$(ver_cut 1-2)"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~s390 sparc ~x86 ~x64-solaris"
+IUSE="examples ssl static-libs test"
+RESTRICT="!test? ( test )"
+
+DEPEND="ssl? ( dev-libs/openssl:= )"
+RDEPEND="${DEPEND}"
+BDEPEND="
+ test? (
+ dev-db/redis
+ dev-libs/libevent
+ )
+"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-1.0.0-disable-network-tests.patch
+)
+
+src_prepare() {
+ default
+
+ # use GNU ld syntax on Solaris
+ sed -i -e '/DYLIB_MAKE_CMD=.* -G/d' Makefile || die
+}
+
+_build() {
+ emake \
+ AR="$(tc-getAR)" \
+ CC="$(tc-getCC)" \
+ PREFIX="${EPREFIX}/usr" \
+ LIBRARY_PATH="$(get_libdir)" \
+ USE_SSL=$(usex ssl 1 0) \
+ TEST_ASYNC=$(usex test 1 0) \
+ DEBUG_FLAGS= \
+ OPTIMIZATION= \
+ "$@"
+}
+
+src_compile() {
+ # The static lib re-uses the same objects as the shared lib, so
+ # overhead is low w/creating it all the time. It's also needed
+ # by the tests.
+ _build dynamic static hiredis{,_ssl}.pc
+}
+
+src_test() {
+ # Compare with https://github.com/redis/hiredis/blob/648763c36e9f6493b13a77da35eb33ef0652b4e2/Makefile#L32
+ local REDIS_PID="${T}"/hiredis.pid
+ local REDIS_SOCK="${T}"/hiredis.sock
+ local REDIS_PORT=56379
+ local REDIS_TEST_CONFIG="
+ daemonize yes
+ pidfile ${REDIS_PID}
+ port ${REDIS_PORT}
+ bind 127.0.0.1
+ unixsocket //${REDIS_SOCK}
+ "
+
+ _build hiredis-test
+
+ "${EPREFIX}"/usr/sbin/redis-server - <<< "${REDIS_TEST_CONFIG}" || die
+ ./hiredis-test -h 127.0.0.1 -p ${REDIS_PID} -s ${REDIS_SOCK}
+ local ret=$?
+
+ kill "$(<"${REDIS_PID}")" || die
+ [[ ${ret} != "0" ]] && die "tests failed"
+}
+
+src_install() {
+ _build PREFIX="${ED}/usr" install
+
+ if ! use static-libs ; then
+ find "${ED}" -name '*.a' -delete || die
+ fi
+
+ insinto /usr/$(get_libdir)/pkgconfig
+ doins ${PN}.pc
+
+ local DOCS=( CHANGELOG.md README.md )
+ use examples && DOCS+=( examples )
+ einstalldocs
+}
diff --git a/dev-libs/http-fetcher/files/http-fetcher-1.1.0-underquoted-http-fetcher-macro.patch b/dev-libs/http-fetcher/files/http-fetcher-1.1.0-underquoted-http-fetcher-macro.patch
new file mode 100644
index 000000000000..2135de07851e
--- /dev/null
+++ b/dev-libs/http-fetcher/files/http-fetcher-1.1.0-underquoted-http-fetcher-macro.patch
@@ -0,0 +1,13 @@
+https://bugs.gentoo.org/876911
+https://bugs.gentoo.org/299940
+--- a/http-fetcher.m4
++++ b/http-fetcher.m4
+@@ -10,7 +10,7 @@ dnl understanding is that this should only be done if necessary.
+ dnl The macro also adds the appropriate -L and -I values to CFLAGS so that
+ dnl headers are found and libraries are linked.
+ dnl
+-AC_DEFUN(AC_PATH_HFETCHER,
++AC_DEFUN([AC_PATH_HFETCHER],
+ [dnl
+
+ darwin=no;
diff --git a/dev-libs/http-fetcher/http-fetcher-1.1.0-r1.ebuild b/dev-libs/http-fetcher/http-fetcher-1.1.0-r1.ebuild
deleted file mode 100644
index 0d694ccc9dd4..000000000000
--- a/dev-libs/http-fetcher/http-fetcher-1.1.0-r1.ebuild
+++ /dev/null
@@ -1,38 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit autotools
-
-MY_P="${P/-/_}"
-
-DESCRIPTION="Library for downloading files via HTTP using the GET method"
-HOMEPAGE="http://http-fetcher.sourceforge.net"
-SRC_URI="mirror://sourceforge/${PN}/${MY_P}.tar.gz"
-LICENSE="LGPL-2.1"
-
-SLOT="0"
-KEYWORDS="~alpha amd64 ppc x86"
-IUSE="debug"
-
-S="${WORKDIR}/${MY_P}"
-
-src_prepare() {
- default
- eautoreconf
-}
-
-src_configure() {
- econf \
- --disable-strict \
- --disable-static \
- $(use_enable debug)
-}
-
-src_install() {
- default
- dodoc -r docs/html/*.html docs/index.html README ChangeLog CREDITS INSTALL
-
- find "${ED}" -name '*.la' -delete || die
-}
diff --git a/dev-libs/http-fetcher/http-fetcher-1.1.0-r2.ebuild b/dev-libs/http-fetcher/http-fetcher-1.1.0-r2.ebuild
new file mode 100644
index 000000000000..97ad5484327a
--- /dev/null
+++ b/dev-libs/http-fetcher/http-fetcher-1.1.0-r2.ebuild
@@ -0,0 +1,41 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools
+
+MY_P="${P/-/_}"
+
+DESCRIPTION="Library for downloading files via HTTP using the GET method"
+HOMEPAGE="http://http-fetcher.sourceforge.net"
+SRC_URI="mirror://sourceforge/${PN}/${MY_P}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~alpha amd64 ppc x86"
+IUSE="debug"
+
+S="${WORKDIR}/${MY_P}"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-1.1.0-underquoted-http-fetcher-macro.patch
+)
+
+src_prepare() {
+ default
+ eautoreconf
+}
+
+src_configure() {
+ econf \
+ --disable-strict \
+ $(use_enable debug)
+}
+
+src_install() {
+ default
+ dodoc -r docs/html/*.html docs/index.html README ChangeLog CREDITS INSTALL
+
+ find "${ED}" -name '*.la' -delete || die
+}
diff --git a/dev-libs/http-fetcher/metadata.xml b/dev-libs/http-fetcher/metadata.xml
index d43c15f4310e..954ebaf0701a 100644
--- a/dev-libs/http-fetcher/metadata.xml
+++ b/dev-libs/http-fetcher/metadata.xml
@@ -1,10 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <email>monsieurp@gentoo.org</email>
- <name>Patrice Clement</name>
- </maintainer>
+ <!-- maintainer-needed -->
<upstream>
<remote-id type="sourceforge">http-fetcher</remote-id>
</upstream>
diff --git a/dev-libs/hyperscan/Manifest b/dev-libs/hyperscan/Manifest
deleted file mode 100644
index 583b450ea304..000000000000
--- a/dev-libs/hyperscan/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST hyperscan-5.4.0.tar.gz 1844963 BLAKE2B 1a5af88655854b4c1ec58e6663b6c9c4b6fca0aa9d3e4daad3992daf911b8f359f48a95b65e4f05c71aa644e0271471d016fafaca05d547b838a9c52ea016e27 SHA512 cfec3f43b9e8b3fbb2e761927f3a173c1230f2688da710ec7708f2941ce6f550a1d3cb48b0b0e2ccf709807390117a7e40047cb99190bcc341f37eb3da13ae62
diff --git a/dev-libs/hyperscan/hyperscan-5.4.0.ebuild b/dev-libs/hyperscan/hyperscan-5.4.0.ebuild
deleted file mode 100644
index 9e3f43300d71..000000000000
--- a/dev-libs/hyperscan/hyperscan-5.4.0.ebuild
+++ /dev/null
@@ -1,57 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{8..9} )
-
-inherit cmake flag-o-matic python-any-r1
-
-DESCRIPTION="High-performance regular expression matching library"
-SRC_URI="https://github.com/intel/hyperscan/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-HOMEPAGE="https://www.hyperscan.io/ https://github.com/intel/hyperscan"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="-* amd64 x86"
-IUSE="cpu_flags_x86_avx2 cpu_flags_x86_ssse3 static-libs"
-
-RDEPEND="dev-libs/boost:="
-DEPEND="${RDEPEND}"
-BDEPEND="
- ${PYTHON_DEPS}
- dev-util/ragel
-"
-
-# We can't default this to on as it's against the expectation of
-# how CPU_FLAGS_* work for users.
-REQUIRED_USE="cpu_flags_x86_ssse3"
-
-src_prepare() {
- # Respect user -O flags
- sed -i '/set(OPT_CX*_FLAG/d' CMakeLists.txt || die
-
- # upstream workaround
- append-cxxflags -Wno-redundant-move
- cmake_src_prepare
-}
-
-src_configure() {
- use cpu_flags_x86_ssse3 && append-flags -mssse3
- use cpu_flags_x86_avx2 && append-flags -mavx2
-
- # Temporary, see #772086#c1 and associated PR
- CMAKE_BUILD_TYPE="Release"
-
- local mycmakeargs=(
- -DBUILD_SHARED_LIBS=$(usex static-libs OFF ON)
- -DBUILD_STATIC_AND_SHARED=$(usex static-libs ON OFF)
- -DBUILD_EXAMPLES=OFF
- -DFAT_RUNTIME=false
- )
- cmake_src_configure
-}
-
-src_test() {
- "${BUILD_DIR}"/bin/unit-hyperscan || die
-}
diff --git a/dev-libs/hyperscan/metadata.xml b/dev-libs/hyperscan/metadata.xml
deleted file mode 100644
index 7d408e90b66e..000000000000
--- a/dev-libs/hyperscan/metadata.xml
+++ /dev/null
@@ -1,19 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="person" proxied="yes">
- <email>c@roessner.co</email>
- <name>Christian Roessner</name>
- </maintainer>
- <maintainer type="person" proxied="yes">
- <email>arkamar@atlas.cz</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">01org/hyperscan</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/dev-libs/hyphen/files/hyphen-2.8.8-mawk.patch b/dev-libs/hyphen/files/hyphen-2.8.8-mawk.patch
new file mode 100644
index 000000000000..a378db8d40ae
--- /dev/null
+++ b/dev-libs/hyphen/files/hyphen-2.8.8-mawk.patch
@@ -0,0 +1,47 @@
+https://github.com/hunspell/hyphen/commit/3d05509b7ce8c350f4476830b00241025eeae329
+https://github.com/hunspell/hyphen/pull/12
+
+From 3d05509b7ce8c350f4476830b00241025eeae329 Mon Sep 17 00:00:00 2001
+From: Philip Chimento <philip.chimento@gmail.com>
+Date: Sat, 12 Nov 2016 00:36:06 -0800
+Subject: [PATCH] More portable awk script
+
+gensub() is specific to gawk, this uses gsub() instead in order to build
+on platforms that don't have gawk such as macOS.
+---
+ lig.awk | 22 ++++++++++++++--------
+ 1 file changed, 14 insertions(+), 8 deletions(-)
+
+diff --git a/lig.awk b/lig.awk
+index 6737170..4ea5e46 100644
+--- a/lig.awk
++++ b/lig.awk
+@@ -24,14 +24,20 @@ c=b
+ c!=b { print c }
+
+ /f[1-9]?$/ {
+- print gensub("f[1-9]?$", "ff", "g", b);
+- if (c!=b) print gensub("f[1-9]?$", "ff", "g", c);
+-
+- print gensub("f[1-9]?$", "fi", "g", b);
+- if (c!=b) print gensub("f[1-9]?$", "fi", "g", c);
+-
+- print gensub("f[1-9]?$", "fl", "g", b);
+- if (c!=b) print gensub("f[1-9]?$", "fl", "g", c);
++ out=b; gsub("f[1-9]?$", "ff", out); print out
++ if (c!=b) {
++ out=c; gsub("f[1-9]?$", "ff", out); print out
++ }
++
++ out=b; gsub("f[1-9]?$", "fi", out); print out
++ if (c!=b) {
++ out=c; gsub("f[1-9]?$", "fi", out); print out
++ }
++
++ out=b; gsub("f[1-9]?$", "fl", out); print out
++ if (c!=b) {
++ out=c; gsub("f[1-9]?$", "fl", out); print out
++ }
+ }
+
+
diff --git a/dev-libs/hyphen/hyphen-2.8.8-r1.ebuild b/dev-libs/hyphen/hyphen-2.8.8-r1.ebuild
deleted file mode 100644
index 85909793c2f8..000000000000
--- a/dev-libs/hyphen/hyphen-2.8.8-r1.ebuild
+++ /dev/null
@@ -1,34 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-DESCRIPTION="ALTLinux hyphenation library"
-HOMEPAGE="http://hunspell.github.io/"
-SRC_URI="mirror://sourceforge/hunspell/${P}.tar.gz"
-
-LICENSE="GPL-2 LGPL-2.1 MPL-1.1"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ppc ppc64 ~riscv ~sparc x86 ~amd64-linux ~x86-linux"
-IUSE="static-libs"
-
-DEPEND="app-text/hunspell"
-RDEPEND="${DEPEND}"
-BDEPEND="dev-lang/perl"
-
-DOCS=( AUTHORS ChangeLog NEWS README{,.nonstandard,.hyphen,.compound} THANKS TODO )
-
-src_configure() {
- econf $(use_enable static-libs static)
-}
-
-src_install() {
- default
-
- docinto pdf
- dodoc doc/*.pdf
-
- rm -r "${ED}"/usr/share/hyphen || die
- # bug #775587
- rm -f "${ED}/usr/$(get_libdir)/libhyphen.la" || die
-}
diff --git a/dev-libs/hyphen/hyphen-2.8.8-r2.ebuild b/dev-libs/hyphen/hyphen-2.8.8-r2.ebuild
new file mode 100644
index 000000000000..f53aaa413168
--- /dev/null
+++ b/dev-libs/hyphen/hyphen-2.8.8-r2.ebuild
@@ -0,0 +1,38 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DESCRIPTION="ALTLinux hyphenation library"
+HOMEPAGE="https://hunspell.github.io/"
+SRC_URI="mirror://sourceforge/hunspell/${P}.tar.gz"
+
+LICENSE="GPL-2 LGPL-2.1 MPL-1.1"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ppc ppc64 ~riscv ~sparc x86 ~amd64-linux ~x86-linux"
+IUSE="static-libs"
+
+DEPEND="app-text/hunspell"
+RDEPEND="${DEPEND}"
+BDEPEND="dev-lang/perl"
+
+DOCS=( AUTHORS ChangeLog NEWS README{,.nonstandard,.hyphen,.compound} THANKS TODO )
+
+PATCHES=(
+ "${FILESDIR}"/${P}-mawk.patch
+)
+
+src_configure() {
+ econf $(use_enable static-libs static)
+}
+
+src_install() {
+ default
+
+ docinto pdf
+ dodoc doc/*.pdf
+
+ rm -r "${ED}"/usr/share/hyphen || die
+ # bug #775587
+ rm -f "${ED}/usr/$(get_libdir)/libhyphen.la" || die
+}
diff --git a/dev-libs/hyphen/metadata.xml b/dev-libs/hyphen/metadata.xml
index 8acbf740b37a..eae9e8117d60 100644
--- a/dev-libs/hyphen/metadata.xml
+++ b/dev-libs/hyphen/metadata.xml
@@ -7,5 +7,6 @@
</maintainer>
<upstream>
<remote-id type="sourceforge">hunspell</remote-id>
+ <remote-id type="github">hunspell/hyphen</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-libs/hyprland-protocols/Manifest b/dev-libs/hyprland-protocols/Manifest
new file mode 100644
index 000000000000..d7acf48d63d2
--- /dev/null
+++ b/dev-libs/hyprland-protocols/Manifest
@@ -0,0 +1 @@
+DIST hyprland-protocols-0.2.gh.tar.gz 6342 BLAKE2B a5179bc465156043903a5f17b1a4593ca15694ef22c52b1ba8a306d3680f1443a3c2ccf5947ace533244cc5b19ce02e8f3014053984f121f8e049882c1e21fa0 SHA512 cd1f9309a69236d6fd2ffc1a09f5f8a1196f357367779c08f30aeaaca7646be364c40fa8c207751012873085d24581fe7b7252c825e89958c20adfb48b029274
diff --git a/dev-libs/hyprland-protocols/hyprland-protocols-0.2-r1.ebuild b/dev-libs/hyprland-protocols/hyprland-protocols-0.2-r1.ebuild
new file mode 100644
index 000000000000..0de43fcf06fb
--- /dev/null
+++ b/dev-libs/hyprland-protocols/hyprland-protocols-0.2-r1.ebuild
@@ -0,0 +1,25 @@
+# Copyright 2023-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit meson
+
+DESCRIPTION="Wayland protocol extensions for Hyprland"
+HOMEPAGE="https://github.com/hyprwm/hyprland-protocols"
+
+if [[ ${PV} == 9999 ]]; then
+ EGIT_REPO_URI="https://github.com/hyprwm/${PN}.git"
+ inherit git-r3
+else
+ SRC_URI="https://github.com/hyprwm/${PN}/archive/v${PV}.tar.gz -> ${P}.gh.tar.gz"
+ KEYWORDS="amd64 ~riscv"
+fi
+
+LICENSE="BSD"
+SLOT="0"
+
+BDEPEND="
+ dev-util/wayland-scanner
+ virtual/pkgconfig
+"
diff --git a/dev-libs/hyprland-protocols/hyprland-protocols-9999.ebuild b/dev-libs/hyprland-protocols/hyprland-protocols-9999.ebuild
new file mode 100644
index 000000000000..0de43fcf06fb
--- /dev/null
+++ b/dev-libs/hyprland-protocols/hyprland-protocols-9999.ebuild
@@ -0,0 +1,25 @@
+# Copyright 2023-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit meson
+
+DESCRIPTION="Wayland protocol extensions for Hyprland"
+HOMEPAGE="https://github.com/hyprwm/hyprland-protocols"
+
+if [[ ${PV} == 9999 ]]; then
+ EGIT_REPO_URI="https://github.com/hyprwm/${PN}.git"
+ inherit git-r3
+else
+ SRC_URI="https://github.com/hyprwm/${PN}/archive/v${PV}.tar.gz -> ${P}.gh.tar.gz"
+ KEYWORDS="amd64 ~riscv"
+fi
+
+LICENSE="BSD"
+SLOT="0"
+
+BDEPEND="
+ dev-util/wayland-scanner
+ virtual/pkgconfig
+"
diff --git a/dev-libs/hyprland-protocols/metadata.xml b/dev-libs/hyprland-protocols/metadata.xml
new file mode 100644
index 000000000000..1273be6af080
--- /dev/null
+++ b/dev-libs/hyprland-protocols/metadata.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person" proxied="yes">
+ <email>julien@jroy.ca</email>
+ <name>Julien Roy</name>
+ </maintainer>
+ <maintainer type="project" proxied="proxy">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">hyprwm/hyprland-protocols</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/hyprlang/Manifest b/dev-libs/hyprlang/Manifest
new file mode 100644
index 000000000000..6e10a09ae087
--- /dev/null
+++ b/dev-libs/hyprlang/Manifest
@@ -0,0 +1,3 @@
+DIST hyprlang-0.4.2.gh.tar.gz 54441 BLAKE2B f87c91ba86fa1e7af1d895d00f537fdd3f3c379a4dd06761cd9bf032b751ee69d9a46863b823aa42cf8d4c0e7e07f543ee583f7ac4978911374f34cce640ff72 SHA512 4e98fa369130f4453d270053d5b3a36587ab77b2948125cffab59ac00267ea43aa5368d177e5862ef57a3c8471ad290889b83cf82ad08fcf35872172ee128963
+DIST hyprlang-0.5.0.gh.tar.gz 54809 BLAKE2B d5d83188b4cce021901182d94bcc6466949e6504053217cbf3324f7362e8a9d7cef2040949a172a35b41d9c0de981618d343edd21a70ab8a8005b573f5799e05 SHA512 9e80b936d977d46f9c1a0fc4733c89fb1cf521c767295891427f1ab358f8373839db3fad823f8abfca9d344350813361504f70aa3f6e109b523ab8ec2c3fa833
+DIST hyprlang-0.5.1.gh.tar.gz 56237 BLAKE2B 1d93362d4e121dc0d6e18d27456be71bed088d79646a92a74e41af7ebefd511cef05c12034eb679fd1849c3c95e50e425a52a42da75f274bf39d2956d6bd6d5e SHA512 92bf1e79c41c33e09de25f45e8abfe753736521be06fee298875a68072761bf0254d06d2d312a12b2ae750d8710f50d1666f1b3fbbb95c338398f2b9e80ce454
diff --git a/dev-libs/hyprlang/hyprlang-0.4.2.ebuild b/dev-libs/hyprlang/hyprlang-0.4.2.ebuild
new file mode 100644
index 000000000000..4c7b562223db
--- /dev/null
+++ b/dev-libs/hyprlang/hyprlang-0.4.2.ebuild
@@ -0,0 +1,14 @@
+# Copyright 2023-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+DESCRIPTION="Official implementation library for the hypr config language"
+HOMEPAGE="https://github.com/hyprwm/hyprlang"
+SRC_URI="https://github.com/hyprwm/${PN}/archive/v${PV}.tar.gz -> ${P}.gh.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~riscv"
diff --git a/dev-libs/hyprlang/hyprlang-0.5.0.ebuild b/dev-libs/hyprlang/hyprlang-0.5.0.ebuild
new file mode 100644
index 000000000000..9884a4ce9a12
--- /dev/null
+++ b/dev-libs/hyprlang/hyprlang-0.5.0.ebuild
@@ -0,0 +1,14 @@
+# Copyright 2023-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+DESCRIPTION="Official implementation library for the hypr config language"
+HOMEPAGE="https://github.com/hyprwm/hyprlang"
+SRC_URI="https://github.com/hyprwm/${PN}/archive/v${PV}.tar.gz -> ${P}.gh.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="amd64 ~riscv"
diff --git a/dev-libs/hyprlang/hyprlang-0.5.1.ebuild b/dev-libs/hyprlang/hyprlang-0.5.1.ebuild
new file mode 100644
index 000000000000..4c7b562223db
--- /dev/null
+++ b/dev-libs/hyprlang/hyprlang-0.5.1.ebuild
@@ -0,0 +1,14 @@
+# Copyright 2023-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+DESCRIPTION="Official implementation library for the hypr config language"
+HOMEPAGE="https://github.com/hyprwm/hyprlang"
+SRC_URI="https://github.com/hyprwm/${PN}/archive/v${PV}.tar.gz -> ${P}.gh.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~riscv"
diff --git a/dev-libs/hyprlang/metadata.xml b/dev-libs/hyprlang/metadata.xml
new file mode 100644
index 000000000000..9cd0a7a6e284
--- /dev/null
+++ b/dev-libs/hyprlang/metadata.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person" proxied="yes">
+ <email>julien@jroy.ca</email>
+ <name>Julien Roy</name>
+ </maintainer>
+ <maintainer type="project" proxied="proxy">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+ </maintainer>
+ <longdescription>
+The hypr configuration language is an extremely efficient, yet easy to work with, configuration language for linux applications.
+
+It's user-friendly, easy to grasp, and easy to implement.
+ </longdescription>
+ <upstream>
+ <bugs-to>https://github.com/hyprwm/hyprlang/issues</bugs-to>
+ <changelog>https://github.com/hyprwm/hyprlang/releases</changelog>
+ <remote-id type="github">hyprwm/hyprlang</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/icinga-php-library/Manifest b/dev-libs/icinga-php-library/Manifest
index 5187c97da7f9..381ce67ae809 100644
--- a/dev-libs/icinga-php-library/Manifest
+++ b/dev-libs/icinga-php-library/Manifest
@@ -1 +1,4 @@
+DIST icinga-php-library-0.10.0.tar.gz 2756161 BLAKE2B 327b9e2939dc4c511fb282faae0b7ca1801d22bd0fac38b9f694dc924e26d6bdd469d0118ef44e93a42d5480b2bb15ff5ec6aec19e00e5ae33c9c40d78643f9f SHA512 9619e5b68bb58f7f6264633ca1a24de84dcd78626d4675ecbf3fbe8601031ffcbc4c227e9029d5ad87e1be04cad562c93911fdcbda889046cdb9a416dd195530
+DIST icinga-php-library-0.13.0.tar.gz 3250696 BLAKE2B ba644fd02a165cef7167062a73b595aa3218748f6f937be4b666fcabe7536c6dd2f9747689c86e5f85ea3d38bcb6d4b9fbd30f2c883ce1678fb4f536fd91694d SHA512 e811b66f9550972fc64f435b3a8fc7d263a2c1d0db86d34dd0179ee5c78babb2e19cd934e53a46d4e860d0bdc336619e9b67824cc4273ea049bea321a176acd4
DIST icinga-php-library-0.6.1.tar.gz 2159137 BLAKE2B 93287845a6c06653faca1850b18c880d023d4bf22c707616a21b92bd252661c811a33c7515fbf19a06936358244c7703bae83cc2e44dee460fe7a46bfa82d345 SHA512 64800727e60630224993bda89494921a3e10f14ccb43b8f57d023b372806ce9253cdf7f6e933df8b494ef0369784714ac857fb288f7f08880c29e8643f25e2ec
+DIST icinga-php-library-0.8.1.tar.gz 2183054 BLAKE2B 56108f3251211c05ba29827ece49ea1b27bc22b0f0ae459a2f34d5f2ed106ebac1e14c15e1f69c4a3d862d163a0e1265ccb9e5ab0123e24a18e72549af1ee951 SHA512 3da7ad25c569651bc29757a89971d9dfce4cae177619ef70bcb93f1c155400b68ee8b76279b4914454edef41de0cb4d729c47446df622b04494987e0bf4e1098
diff --git a/dev-libs/icinga-php-library/icinga-php-library-0.10.0.ebuild b/dev-libs/icinga-php-library/icinga-php-library-0.10.0.ebuild
new file mode 100644
index 000000000000..c2b93055e450
--- /dev/null
+++ b/dev-libs/icinga-php-library/icinga-php-library-0.10.0.ebuild
@@ -0,0 +1,23 @@
+# Copyright 2021-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DESCRIPTION="Icinga PHP libraries for Icinga Web 2"
+HOMEPAGE="https://github.com/Icinga/icinga-php-library"
+MY_GITHUB_AUTHOR="Icinga"
+SRC_URI="https://github.com/${MY_GITHUB_AUTHOR}/${PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+DEPEND="dev-lang/php:*"
+RDEPEND="${DEPEND}"
+BDEPEND=""
+
+src_install() {
+ insinto "/usr/share/icinga-php/ipl"
+ cd "${S}"
+ doins -r *
+}
diff --git a/dev-libs/icinga-php-library/icinga-php-library-0.13.0.ebuild b/dev-libs/icinga-php-library/icinga-php-library-0.13.0.ebuild
new file mode 100644
index 000000000000..a4f2138aa497
--- /dev/null
+++ b/dev-libs/icinga-php-library/icinga-php-library-0.13.0.ebuild
@@ -0,0 +1,23 @@
+# Copyright 2021-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DESCRIPTION="Icinga PHP libraries for Icinga Web 2"
+HOMEPAGE="https://github.com/Icinga/icinga-php-library"
+MY_GITHUB_AUTHOR="Icinga"
+SRC_URI="https://github.com/${MY_GITHUB_AUTHOR}/${PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 x86"
+
+DEPEND="dev-lang/php:*"
+RDEPEND="${DEPEND}"
+BDEPEND=""
+
+src_install() {
+ insinto "/usr/share/icinga-php/ipl"
+ cd "${S}"
+ doins -r *
+}
diff --git a/dev-libs/icinga-php-library/icinga-php-library-0.8.1.ebuild b/dev-libs/icinga-php-library/icinga-php-library-0.8.1.ebuild
new file mode 100644
index 000000000000..e070fef06505
--- /dev/null
+++ b/dev-libs/icinga-php-library/icinga-php-library-0.8.1.ebuild
@@ -0,0 +1,23 @@
+# Copyright 2021-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+DESCRIPTION="Icinga PHP libraries for Icinga Web 2"
+HOMEPAGE="https://github.com/Icinga/icinga-php-library"
+MY_GITHUB_AUTHOR="Icinga"
+SRC_URI="https://github.com/${MY_GITHUB_AUTHOR}/${PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 x86"
+
+DEPEND="dev-lang/php:*"
+RDEPEND="${DEPEND}"
+BDEPEND=""
+
+src_install() {
+ insinto "/usr/share/icinga-php/ipl"
+ cd "${S}"
+ doins -r *
+}
diff --git a/dev-libs/icinga-php-thirdparty/Manifest b/dev-libs/icinga-php-thirdparty/Manifest
index 7af52bb80e93..af9673e72790 100644
--- a/dev-libs/icinga-php-thirdparty/Manifest
+++ b/dev-libs/icinga-php-thirdparty/Manifest
@@ -1 +1,3 @@
DIST icinga-php-thirdparty-0.10.0.tar.gz 576508 BLAKE2B 3e07262415340c413bf79aa3031cf3679f0374c85dad9c41ffed78f65379837fc87df8433ea201b02455bde5c1fee1406f5b149b9d5b39cd726407657bdafb54 SHA512 3f5b6caad23860cecf5f06d165b01211af5284cb3dcb635bdcf4c2118b03c96de40a6d86cd0bccbe0f817ae87cc5d09aa2709ca90f55b948cf975c69dc234e95
+DIST icinga-php-thirdparty-0.11.0.tar.gz 764914 BLAKE2B b9fbe66252edf5f504feab16392c60f4edf142d3644d13c29ba4f0291df40f8b4e3163f6bb97d944827a8a3d88728b5bf1c05ad193a078f889ba917714746c00 SHA512 5a2b9218a0426de6b560845db36e8e113a8be786eaf4ab57ff4f5e0ef485dc426cb0f203b4b45c3b791adb852098b64f2a0099c9909506594502edb2b4d4ee35
+DIST icinga-php-thirdparty-0.12.0.tar.gz 14204157 BLAKE2B f8a084cf0299dcca2e90ef97982c46d38f8ccd1c25d87e7106b22f4b91f49f9bbed8c31bf51af10083be28283d93be8d54c083450fd9563f4cc09cf35cdb270a SHA512 c087261712d486fba026128d7fd06590e824024d192d4d5feea902dbdb7134fca7b0e1d82aa4a5246859ca55303a6aed40a57b5aaf37e6652abb68549c8c48ea
diff --git a/dev-libs/icinga-php-thirdparty/icinga-php-thirdparty-0.10.0-r1.ebuild b/dev-libs/icinga-php-thirdparty/icinga-php-thirdparty-0.10.0-r1.ebuild
index 27a8b44d5df1..4bbb21e3af1a 100644
--- a/dev-libs/icinga-php-thirdparty/icinga-php-thirdparty-0.10.0-r1.ebuild
+++ b/dev-libs/icinga-php-thirdparty/icinga-php-thirdparty-0.10.0-r1.ebuild
@@ -1,10 +1,10 @@
-# Copyright 2021 Gentoo Authors
+# Copyright 2021-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
DESCRIPTION="Icinga PHP libraries for Icinga Web 2"
-HOMEPAGE="https://github.com/Icinga/icinga-php-library"
+HOMEPAGE="https://github.com/Icinga/icinga-php-thirdparty"
SRC_URI="https://github.com/Icinga/${PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="MIT"
diff --git a/dev-libs/icinga-php-thirdparty/icinga-php-thirdparty-0.11.0.ebuild b/dev-libs/icinga-php-thirdparty/icinga-php-thirdparty-0.11.0.ebuild
new file mode 100644
index 000000000000..4bbb21e3af1a
--- /dev/null
+++ b/dev-libs/icinga-php-thirdparty/icinga-php-thirdparty-0.11.0.ebuild
@@ -0,0 +1,22 @@
+# Copyright 2021-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+DESCRIPTION="Icinga PHP libraries for Icinga Web 2"
+HOMEPAGE="https://github.com/Icinga/icinga-php-thirdparty"
+SRC_URI="https://github.com/Icinga/${PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 x86"
+
+DEPEND="dev-lang/php:*"
+RDEPEND="${DEPEND}"
+BDEPEND=""
+
+src_install() {
+ insinto "/usr/share/icinga-php/vendor"
+ cd "${S}"
+ doins -r *
+}
diff --git a/dev-libs/icinga-php-thirdparty/icinga-php-thirdparty-0.12.0.ebuild b/dev-libs/icinga-php-thirdparty/icinga-php-thirdparty-0.12.0.ebuild
new file mode 100644
index 000000000000..9b47ddec8290
--- /dev/null
+++ b/dev-libs/icinga-php-thirdparty/icinga-php-thirdparty-0.12.0.ebuild
@@ -0,0 +1,22 @@
+# Copyright 2021-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DESCRIPTION="Icinga PHP libraries for Icinga Web 2"
+HOMEPAGE="https://github.com/Icinga/icinga-php-thirdparty"
+SRC_URI="https://github.com/Icinga/${PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 x86"
+
+DEPEND="dev-lang/php:*"
+RDEPEND="${DEPEND}"
+BDEPEND=""
+
+src_install() {
+ insinto "/usr/share/icinga-php/vendor"
+ cd "${S}"
+ doins -r *
+}
diff --git a/dev-libs/icu-layoutex/Manifest b/dev-libs/icu-layoutex/Manifest
index 820d3604cb0b..821057a1856d 100644
--- a/dev-libs/icu-layoutex/Manifest
+++ b/dev-libs/icu-layoutex/Manifest
@@ -1,2 +1,2 @@
-DIST icu4c-69_1-src.tgz 24814903 BLAKE2B ef95a04e238f0de96e969d580ef64000ab04a4a0003e8f31fd02baab35387d5ab2c4d792ae0d14f3de8e48aa28570237ccd67fb32e03b13d1572e4a995b1de76 SHA512 d4aeb781715144ea6e3c6b98df5bbe0490bfa3175221a1d667f3e6851b7bd4a638fa4a37d4a921ccb31f02b5d15a6dded9464d98051964a86f7b1cde0ff0aab7
-DIST icu4c-70_1-src.tgz 25449582 BLAKE2B e229376ee45322db99aa963465048ab5e694ce9f0ba335f071817198238de21fcd77dfe3e86ea1394790e2a3b6d96772d1b98cb7dccd6462a9dd05c0ab7bdef0 SHA512 0b26ae7207155cb65a8fdb25f7b2fa4431e74b12bccbed0884a17feaae3c96833d12451064dd152197fd6ea5fd3adfd95594284a463e66c82e0d860f645880c9
+DIST icu4c-74_2-src.tgz 26529443 BLAKE2B 08790dd3634037177eaec428651afe0da1f71dbad3423bde7ea5a6d49eab5dc011f72b175760fc55f6d8d7d820f7f3dfc369a80a1f7cb2f9f933644beb3d3711 SHA512 e6c7876c0f3d756f3a6969cad9a8909e535eeaac352f3a721338b9cbd56864bf7414469d29ec843462997815d2ca9d0dab06d38c37cdd4d8feb28ad04d8781b0
+DIST icu4c-74_2-src.tgz.asc 659 BLAKE2B 0723204ce19d7bd4b1989e00b5ab084cc5b154c214129632a7f7ce31c151c8a4b9e0033d49872db728a3787809dbad2320f1d848561c84f94797c7e006749b94 SHA512 b249a61aba711b34599c3c0fbc113a52a83e59cb7bbda914ca74f534c1f474e6821d663dc7f078608b24393703654a43c2b793ca3d3f3be761393b6a73862ecc
diff --git a/dev-libs/icu-layoutex/icu-layoutex-69.1.ebuild b/dev-libs/icu-layoutex/icu-layoutex-69.1.ebuild
deleted file mode 100644
index 0e04c50bbdea..000000000000
--- a/dev-libs/icu-layoutex/icu-layoutex-69.1.ebuild
+++ /dev/null
@@ -1,109 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit autotools flag-o-matic multilib-minimal toolchain-funcs
-
-DESCRIPTION="External layout part of International Components for Unicode"
-HOMEPAGE="http://www.icu-project.org/"
-SRC_URI="https://github.com/unicode-org/icu/releases/download/release-${PV//./-}/icu4c-${PV//./_}-src.tgz"
-
-LICENSE="BSD"
-SLOT="0/${PV}"
-KEYWORDS="~alpha amd64 ~arm64 ~hppa ~ia64 ppc ppc64 sparc x86"
-IUSE="debug static-libs"
-
-BDEPEND="
- virtual/pkgconfig
-"
-DEPEND="
- ~dev-libs/icu-${PV}[${MULTILIB_USEDEP}]
- dev-libs/icu-le-hb[${MULTILIB_USEDEP}]
-"
-RDEPEND="${DEPEND}"
-
-S="${WORKDIR}/${PN/-layoutex}/source"
-
-PATCHES=(
- "${FILESDIR}/${PN}-65.1-remove-bashisms.patch"
-)
-
-src_prepare() {
- # apply patches
- default
-
- # Disable renaming as it is stupid thing to do
- sed -i \
- -e "s/#define U_DISABLE_RENAMING 0/#define U_DISABLE_RENAMING 1/" \
- common/unicode/uconfig.h || die
-
- # Fix linking of icudata
- sed -i \
- -e "s:LDFLAGSICUDT=-nodefaultlibs -nostdlib:LDFLAGSICUDT=:" \
- config/mh-linux || die
-
- eautoreconf
-}
-
-src_configure() {
- # Use C++14
- append-cxxflags -std=c++14
-
- if tc-is-cross-compiler; then
- mkdir "${WORKDIR}"/host || die
- pushd "${WORKDIR}"/host >/dev/null || die
-
- CFLAGS="" CXXFLAGS="" ASFLAGS="" LDFLAGS="" \
- CC="$(tc-getBUILD_CC)" CXX="$(tc-getBUILD_CXX)" AR="$(tc-getBUILD_AR)" \
- RANLIB="$(tc-getBUILD_RANLIB)" LD="$(tc-getBUILD_LD)" \
- "${S}"/configure --disable-renaming --disable-debug \
- --disable-samples --enable-static || die
- emake
-
- popd >/dev/null || die
- fi
-
- multilib-minimal_src_configure
-}
-
-multilib_src_configure() {
- local myeconfargs=(
- --disable-renaming
- --disable-samples
- --enable-layoutex
- $(use_enable debug)
- $(use_enable static-libs static)
- )
-
- tc-is-cross-compiler && myeconfargs+=(
- --with-cross-build="${WORKDIR}"/host
- )
-
- # icu tries to use clang by default
- tc-export CC CXX
-
- ECONF_SOURCE="${S}" econf "${myeconfargs[@]}"
-}
-
-multilib_src_test() {
- # INTLTEST_OPTS: intltest options
- # -e: Exhaustive testing
- # -l: Reporting of memory leaks
- # -v: Increased verbosity
- # IOTEST_OPTS: iotest options
- # -e: Exhaustive testing
- # -v: Increased verbosity
- # CINTLTST_OPTS: cintltst options
- # -e: Exhaustive testing
- # -v: Increased verbosity
- pushd layoutex &>/dev/null || die
- emake -j1 VERBOSE="1" check
- popd &>/dev/null || die
-}
-
-multilib_src_install() {
- pushd layoutex &>/dev/null || die
- default
- popd &>/dev/null || die
-}
diff --git a/dev-libs/icu-layoutex/icu-layoutex-70.1.ebuild b/dev-libs/icu-layoutex/icu-layoutex-70.1.ebuild
deleted file mode 100644
index 0fad8d95c72a..000000000000
--- a/dev-libs/icu-layoutex/icu-layoutex-70.1.ebuild
+++ /dev/null
@@ -1,106 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit autotools flag-o-matic multilib-minimal toolchain-funcs
-
-DESCRIPTION="External layout part of International Components for Unicode"
-HOMEPAGE="https://icu-project.org/"
-SRC_URI="https://github.com/unicode-org/icu/releases/download/release-${PV//./-}/icu4c-${PV//./_}-src.tgz"
-S="${WORKDIR}/${PN/-layoutex}/source"
-
-LICENSE="BSD"
-SLOT="0/${PV}"
-KEYWORDS="~alpha ~amd64 ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86"
-IUSE="debug static-libs"
-
-DEPEND="
- ~dev-libs/icu-${PV}[${MULTILIB_USEDEP}]
- dev-libs/icu-le-hb[${MULTILIB_USEDEP}]
-"
-RDEPEND="${DEPEND}"
-BDEPEND="
- virtual/pkgconfig
-"
-
-PATCHES=( "${FILESDIR}/${PN}-65.1-remove-bashisms.patch" )
-
-src_prepare() {
- # apply patches
- default
-
- # Disable renaming as it is stupid thing to do
- sed -i \
- -e "s/#define U_DISABLE_RENAMING 0/#define U_DISABLE_RENAMING 1/" \
- common/unicode/uconfig.h || die
-
- # Fix linking of icudata
- sed -i \
- -e "s:LDFLAGSICUDT=-nodefaultlibs -nostdlib:LDFLAGSICUDT=:" \
- config/mh-linux || die
-
- eautoreconf
-}
-
-src_configure() {
- # Use C++14
- append-cxxflags -std=c++14
-
- if tc-is-cross-compiler; then
- mkdir "${WORKDIR}"/host || die
- pushd "${WORKDIR}"/host >/dev/null || die
-
- CFLAGS="" CXXFLAGS="" ASFLAGS="" LDFLAGS="" \
- CC="$(tc-getBUILD_CC)" CXX="$(tc-getBUILD_CXX)" AR="$(tc-getBUILD_AR)" \
- RANLIB="$(tc-getBUILD_RANLIB)" LD="$(tc-getBUILD_LD)" \
- "${S}"/configure --disable-renaming --disable-debug \
- --disable-samples --enable-static || die
- emake
-
- popd >/dev/null || die
- fi
-
- multilib-minimal_src_configure
-}
-
-multilib_src_configure() {
- local myeconfargs=(
- --disable-renaming
- --disable-samples
- --enable-layoutex
- $(use_enable debug)
- $(use_enable static-libs static)
- )
-
- tc-is-cross-compiler && myeconfargs+=(
- --with-cross-build="${WORKDIR}"/host
- )
-
- # icu tries to use clang by default
- tc-export CC CXX
-
- ECONF_SOURCE="${S}" econf "${myeconfargs[@]}"
-}
-
-multilib_src_test() {
- # INTLTEST_OPTS: intltest options
- # -e: Exhaustive testing
- # -l: Reporting of memory leaks
- # -v: Increased verbosity
- # IOTEST_OPTS: iotest options
- # -e: Exhaustive testing
- # -v: Increased verbosity
- # CINTLTST_OPTS: cintltst options
- # -e: Exhaustive testing
- # -v: Increased verbosity
- pushd layoutex &>/dev/null || die
- emake -j1 VERBOSE="1" check
- popd &>/dev/null || die
-}
-
-multilib_src_install() {
- pushd layoutex &>/dev/null || die
- default
- popd &>/dev/null || die
-}
diff --git a/dev-libs/icu-layoutex/icu-layoutex-74.2.ebuild b/dev-libs/icu-layoutex/icu-layoutex-74.2.ebuild
new file mode 100644
index 000000000000..7908351f0cf1
--- /dev/null
+++ b/dev-libs/icu-layoutex/icu-layoutex-74.2.ebuild
@@ -0,0 +1,133 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# Please bump with dev-libs/icu
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/icu.asc
+inherit autotools flag-o-matic multilib-minimal toolchain-funcs verify-sig
+
+MY_PV=${PV/_rc/-rc}
+MY_PV=${MY_PV//./_}
+
+DESCRIPTION="External layout part of International Components for Unicode"
+HOMEPAGE="https://icu.unicode.org/"
+SRC_URI="https://github.com/unicode-org/icu/releases/download/release-${MY_PV/_/-}/icu4c-${MY_PV/-rc/rc}-src.tgz"
+SRC_URI+=" verify-sig? ( https://github.com/unicode-org/icu/releases/download/release-${MY_PV/_/-}/icu4c-${MY_PV/-rc/rc}-src.tgz.asc )"
+S="${WORKDIR}"/${PN/-layoutex}/source
+
+LICENSE="BSD"
+SLOT="0/${PV%.*}.1"
+if [[ ${PV} != *_rc* ]] ; then
+ KEYWORDS="~alpha amd64 ~arm64 ~hppa ~ia64 ppc ppc64 sparc x86"
+fi
+IUSE="debug static-libs test"
+RESTRICT="!test? ( test )"
+
+DEPEND="
+ ~dev-libs/icu-${PV}[${MULTILIB_USEDEP}]
+ dev-libs/icu-le-hb[${MULTILIB_USEDEP}]
+"
+RDEPEND="${DEPEND}"
+BDEPEND="
+ virtual/pkgconfig
+ verify-sig? ( >=sec-keys/openpgp-keys-icu-20221020 )
+"
+
+PATCHES=( "${FILESDIR}/${PN}-65.1-remove-bashisms.patch" )
+
+src_prepare() {
+ default
+
+ # Disable renaming as it assumes stable ABI and that consumers
+ # won't use unofficial APIs. We need this despite the configure argument.
+ sed -i \
+ -e "s/#define U_DISABLE_RENAMING 0/#define U_DISABLE_RENAMING 1/" \
+ common/unicode/uconfig.h || die
+
+ # Fix linking of icudata
+ sed -i \
+ -e "s:LDFLAGSICUDT=-nodefaultlibs -nostdlib:LDFLAGSICUDT=:" \
+ config/mh-linux || die
+
+ eautoreconf
+}
+
+src_configure() {
+ MAKEOPTS+=" VERBOSE=1"
+
+ # ICU tries to append -std=c++11 without this, so as of 71.1,
+ # despite GCC 9+ using c++14 (or gnu++14) and GCC 11+ using gnu++17,
+ # we still need this.
+ append-cxxflags -std=c++14
+
+ if tc-is-cross-compiler; then
+ mkdir "${WORKDIR}"/host || die
+ pushd "${WORKDIR}"/host >/dev/null || die
+
+ CFLAGS="" CXXFLAGS="" ASFLAGS="" LDFLAGS="" \
+ CC="$(tc-getBUILD_CC)" CXX="$(tc-getBUILD_CXX)" AR="$(tc-getBUILD_AR)" \
+ RANLIB="$(tc-getBUILD_RANLIB)" LD="$(tc-getBUILD_LD)" \
+ "${S}"/configure --disable-renaming --disable-debug \
+ --disable-samples --enable-static || die
+ emake
+
+ popd >/dev/null || die
+ fi
+
+ multilib-minimal_src_configure
+}
+
+multilib_src_configure() {
+ local myeconfargs=(
+ --disable-renaming
+ # We want a minimal build as this is just for layoutex
+ # so we disable as much as possible
+ --disable-samples
+ --disable-extras
+ --disable-icuio
+
+ # This is icu-layoutex, so..
+ --enable-layoutex
+
+ $(use_enable debug)
+ $(use_enable static-libs static)
+
+ # Need tools for tests, otherwise get this in configure:
+ # "## Note: you have disabled ICU's tools. This ICU cannot build its own data or tests.
+ # ## Expect build failures in the 'data', 'test', and other directories."
+ # ... although layoutex has no tests right now anyway, but let's keep this
+ # for the future.
+ $(use_enable test tools)
+ $(use_enable test tests)
+ )
+
+ tc-is-cross-compiler && myeconfargs+=(
+ --with-cross-build="${WORKDIR}"/host
+ )
+
+ # icu tries to use clang by default
+ tc-export CC CXX
+
+ ECONF_SOURCE="${S}" econf "${myeconfargs[@]}"
+}
+
+multilib_src_test() {
+ # INTLTEST_OPTS: intltest options
+ # -e: Exhaustive testing
+ # -l: Reporting of memory leaks
+ # -v: Increased verbosity
+ # IOTEST_OPTS: iotest options
+ # -e: Exhaustive testing
+ # -v: Increased verbosity
+ # CINTLTST_OPTS: cintltst options
+ # -e: Exhaustive testing
+ # -v: Increased verbosity
+ emake -C layoutex VERBOSE="1" check
+}
+
+multilib_src_install() {
+ pushd layoutex &>/dev/null || die
+ default
+ popd &>/dev/null || die
+}
diff --git a/dev-libs/icu-layoutex/metadata.xml b/dev-libs/icu-layoutex/metadata.xml
index 9d1459047c12..607468902fd7 100644
--- a/dev-libs/icu-layoutex/metadata.xml
+++ b/dev-libs/icu-layoutex/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">
- <email>polynomial-c@gentoo.org</email>
- <name>Lars Wendler</name>
- </maintainer>
- <maintainer type="project">
- <email>office@gentoo.org</email>
- <name>Gentoo Office project</name>
- </maintainer>
+ <maintainer type="project">
+ <email>office@gentoo.org</email>
+ <name>Gentoo Office project</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">unicode-org/icu</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/dev-libs/icu-le-hb/Manifest b/dev-libs/icu-le-hb/Manifest
index 7770507eacdd..3c7d06f31db3 100644
--- a/dev-libs/icu-le-hb/Manifest
+++ b/dev-libs/icu-le-hb/Manifest
@@ -1 +1 @@
-DIST icu-le-hb-1.0.3.tar.gz 39352 BLAKE2B 7cc2e56b6ac334e0f9c259d4f9d0356480c1ae4eb647610ebfb81ee9b1bc0326f1dba68991e2893cc9b029ea53705cc0936cbbf29e74ab4ef336f58f5e8b47ab SHA512 06dff69bc17c39c13bd5bc801dbe09e2dc2f0cdf1acd774fa863e09f4a65820b2f330d4836da6748c077365f685fa74452ec1924785e3191cc2925036803cbb4
+DIST icu-le-hb-1.2.3.tar.gz 45191 BLAKE2B 14ad8592a27ff8673d9609a689bedf5094c127bb9cb638a1e65c1fcb6e22e8c488f89e55af5578cd4961a34feafffd5df9cdedb20dfc7edcc4d6f63aec1eff0f SHA512 c1450e28c1984a409cacc2b675ab91fa0e80edfbbfb201913cb83e435fd30f3a3ad78ca32f8cf092c5f056f2812b899ceb4471b36ef975faf5be892d305a1efd
diff --git a/dev-libs/icu-le-hb/files/icu-le-hb-1.0.3-icu68.patch b/dev-libs/icu-le-hb/files/icu-le-hb-1.0.3-icu68.patch
deleted file mode 100644
index 9aa6958faff9..000000000000
--- a/dev-libs/icu-le-hb/files/icu-le-hb-1.0.3-icu68.patch
+++ /dev/null
@@ -1,58 +0,0 @@
-From c0a0a85833cdcceb636dbe986f39a43ac40f839f Mon Sep 17 00:00:00 2001
-From: Lars Wendler <polynomial-c@gentoo.org>
-Date: Fri, 30 Oct 2020 15:04:44 +0100
-Subject: [PATCH] Fix build with icu-68.1
-
-icu-68.1 removed public macro definitions for TRUE and FALSE
-
-Signed-off-by: Lars Wendler <polynomial-c@gentoo.org>
----
- src/LEFontInstance.cpp | 2 +-
- src/LEGlyphStorage.cpp | 2 +-
- src/LEInsertionList.cpp | 4 ++--
- 3 files changed, 4 insertions(+), 4 deletions(-)
-
-diff --git a/src/LEFontInstance.cpp b/src/LEFontInstance.cpp
-index e5595f2..89bc3ed 100644
---- a/src/LEFontInstance.cpp
-+++ b/src/LEFontInstance.cpp
-@@ -79,7 +79,7 @@ void LEFontInstance::mapCharsToGlyphs(const LEUnicode chars[], le_int32 offset,
-
- LEGlyphID LEFontInstance::mapCharToGlyph(LEUnicode32 ch, const LECharMapper *mapper) const
- {
-- return mapCharToGlyph(ch, mapper, TRUE);
-+ return mapCharToGlyph(ch, mapper, true);
- }
-
- LEGlyphID LEFontInstance::mapCharToGlyph(LEUnicode32 ch, const LECharMapper *mapper, le_bool filterZeroWidth) const
-diff --git a/src/LEGlyphStorage.cpp b/src/LEGlyphStorage.cpp
-index bac403a..b537676 100644
---- a/src/LEGlyphStorage.cpp
-+++ b/src/LEGlyphStorage.cpp
-@@ -659,7 +659,7 @@ le_bool LEGlyphStorage::applyInsertion(le_int32 atPosition, le_int32 count, LEGl
- // just got replaced by the insertion
- fSrcIndex -= 1;
-
-- return FALSE;
-+ return false;
- }
-
- U_NAMESPACE_END
-diff --git a/src/LEInsertionList.cpp b/src/LEInsertionList.cpp
-index c64b8a1..3e39952 100644
---- a/src/LEInsertionList.cpp
-+++ b/src/LEInsertionList.cpp
-@@ -86,11 +86,11 @@ le_bool LEInsertionList::applyInsertions(LEInsertionCallback *callback)
- {
- for (InsertionRecord *rec = head; rec != NULL; rec = rec->next) {
- if (callback->applyInsertion(rec->position, rec->count, rec->glyphs)) {
-- return TRUE;
-+ return true;
- }
- }
-
-- return FALSE;
-+ return false;
- }
-
- U_NAMESPACE_END
diff --git a/dev-libs/icu-le-hb/icu-le-hb-1.0.3-r1.ebuild b/dev-libs/icu-le-hb/icu-le-hb-1.0.3-r1.ebuild
deleted file mode 100644
index 216af66e6d62..000000000000
--- a/dev-libs/icu-le-hb/icu-le-hb-1.0.3-r1.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 autotools multilib-minimal
-
-DESCRIPTION="ICU Layout Engine API on top of HarfBuzz shaping library"
-HOMEPAGE="http://www.harfbuzz.org https://github.com/behdad/icu-le-hb"
-SRC_URI="https://github.com/behdad/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="icu"
-SLOT="0"
-
-KEYWORDS="~alpha amd64 ~arm64 ~hppa ~ia64 ppc ppc64 sparc x86"
-IUSE=""
-
-# dev-libs/icu is not linked into icu-le-hb but the latter still needs
-# to be rebuilt on dev-libs/icu upgrades (see bug #621786).
-RDEPEND="
- >=dev-libs/icu-58.1:=[${MULTILIB_USEDEP}]
- media-libs/harfbuzz:=[${MULTILIB_USEDEP}]
-"
-
-DEPEND="${RDEPEND}"
-BDEPEND="
- virtual/pkgconfig
-"
-
-PATCHES=(
- "${FILESDIR}/${P}-icu68.patch" #751931
-)
-
-src_prepare() {
- default
- eautoreconf
-}
-
-multilib_src_configure() {
- ECONF_SOURCE="${S}" econf --disable-static
-}
-
-multilib_src_install_all() {
- find "${ED}" -type f -name "*.la" -delete || die
-}
diff --git a/dev-libs/icu-le-hb/icu-le-hb-1.2.3.ebuild b/dev-libs/icu-le-hb/icu-le-hb-1.2.3.ebuild
new file mode 100644
index 000000000000..82880f80c86f
--- /dev/null
+++ b/dev-libs/icu-le-hb/icu-le-hb-1.2.3.ebuild
@@ -0,0 +1,38 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools multilib-minimal
+
+DESCRIPTION="ICU Layout Engine API on top of HarfBuzz shaping library"
+HOMEPAGE="https://github.com/harfbuzz/harfbuzz
+https://github.com/harfbuzz/icu-le-hb"
+SRC_URI="https://github.com/behdad/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="icu"
+SLOT="0"
+KEYWORDS="~alpha amd64 ~arm64 ~hppa ~ia64 ppc ppc64 sparc x86"
+IUSE=""
+
+# dev-libs/icu is not linked into icu-le-hb but the latter still needs
+# to be rebuilt on dev-libs/icu upgrades (see bug #621786).
+RDEPEND="
+ dev-libs/icu:=[${MULTILIB_USEDEP}]
+ media-libs/harfbuzz:=[${MULTILIB_USEDEP}]
+"
+DEPEND="${RDEPEND}"
+BDEPEND="virtual/pkgconfig"
+
+src_prepare() {
+ default
+ eautoreconf
+}
+
+multilib_src_configure() {
+ ECONF_SOURCE="${S}" econf
+}
+
+multilib_src_install_all() {
+ find "${ED}" -type f -name "*.la" -delete || die
+}
diff --git a/dev-libs/icu-le-hb/metadata.xml b/dev-libs/icu-le-hb/metadata.xml
index f0ddb1814491..cdf9518f649c 100644
--- a/dev-libs/icu-le-hb/metadata.xml
+++ b/dev-libs/icu-le-hb/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>polynomial-c@gentoo.org</email>
- <name>Lars Wendler</name>
- </maintainer>
<maintainer type="project">
<email>office@gentoo.org</email>
<name>Gentoo Office project</name>
diff --git a/dev-libs/icu/Manifest b/dev-libs/icu/Manifest
index 820d3604cb0b..821057a1856d 100644
--- a/dev-libs/icu/Manifest
+++ b/dev-libs/icu/Manifest
@@ -1,2 +1,2 @@
-DIST icu4c-69_1-src.tgz 24814903 BLAKE2B ef95a04e238f0de96e969d580ef64000ab04a4a0003e8f31fd02baab35387d5ab2c4d792ae0d14f3de8e48aa28570237ccd67fb32e03b13d1572e4a995b1de76 SHA512 d4aeb781715144ea6e3c6b98df5bbe0490bfa3175221a1d667f3e6851b7bd4a638fa4a37d4a921ccb31f02b5d15a6dded9464d98051964a86f7b1cde0ff0aab7
-DIST icu4c-70_1-src.tgz 25449582 BLAKE2B e229376ee45322db99aa963465048ab5e694ce9f0ba335f071817198238de21fcd77dfe3e86ea1394790e2a3b6d96772d1b98cb7dccd6462a9dd05c0ab7bdef0 SHA512 0b26ae7207155cb65a8fdb25f7b2fa4431e74b12bccbed0884a17feaae3c96833d12451064dd152197fd6ea5fd3adfd95594284a463e66c82e0d860f645880c9
+DIST icu4c-74_2-src.tgz 26529443 BLAKE2B 08790dd3634037177eaec428651afe0da1f71dbad3423bde7ea5a6d49eab5dc011f72b175760fc55f6d8d7d820f7f3dfc369a80a1f7cb2f9f933644beb3d3711 SHA512 e6c7876c0f3d756f3a6969cad9a8909e535eeaac352f3a721338b9cbd56864bf7414469d29ec843462997815d2ca9d0dab06d38c37cdd4d8feb28ad04d8781b0
+DIST icu4c-74_2-src.tgz.asc 659 BLAKE2B 0723204ce19d7bd4b1989e00b5ab084cc5b154c214129632a7f7ce31c151c8a4b9e0033d49872db728a3787809dbad2320f1d848561c84f94797c7e006749b94 SHA512 b249a61aba711b34599c3c0fbc113a52a83e59cb7bbda914ca74f534c1f474e6821d663dc7f078608b24393703654a43c2b793ca3d3f3be761393b6a73862ecc
diff --git a/dev-libs/icu/files/icu-69.1-fix-ub-units.patch b/dev-libs/icu/files/icu-69.1-fix-ub-units.patch
deleted file mode 100644
index 6847d5851557..000000000000
--- a/dev-libs/icu/files/icu-69.1-fix-ub-units.patch
+++ /dev/null
@@ -1,23 +0,0 @@
-https://github.com/unicode-org/icu/pull/1715
-https://bugs.gentoo.org/788112
-
-From 29f1188d191a7a75ac7ffa4bfa390f625da39c53 Mon Sep 17 00:00:00 2001
-From: Andreas Schwab <schwab@suse.de>
-Date: Tue, 11 May 2021 19:04:24 +0200
-Subject: [PATCH] ICU-21613 Fix undefined behaviour in
- ComplexUnitsConverter::applyRounder
-
---- a/i18n/units_complexconverter.cpp
-+++ b/i18n/units_complexconverter.cpp
-@@ -237,6 +237,11 @@ void ComplexUnitsConverter::applyRounder(MaybeStackArray<int64_t, 5> &intValues,
- }
- quantity = decimalQuantity.toDouble();
-
-+ if (uprv_isNaN(quantity) || uprv_isInfinite(quantity)) {
-+ // Do nothing for non-finite values, since conversion to int64_t is undefined
-+ return;
-+ }
-+
- int32_t lastIndex = unitsConverters_.length() - 1;
- if (lastIndex == 0) {
- // Only one element, no need to bubble up the carry
diff --git a/dev-libs/icu/files/icu-70.1-fix-ucptrietest.patch b/dev-libs/icu/files/icu-70.1-fix-ucptrietest.patch
deleted file mode 100644
index 05d390a1284a..000000000000
--- a/dev-libs/icu/files/icu-70.1-fix-ucptrietest.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-Fixes test failure on arm.
-
-https://github.com/unicode-org/icu/pull/1925
-https://unicode-org.atlassian.net/browse/ICU-21793
-
-From: =?UTF-8?q?J=C3=A9r=C3=A9my=20Lal?= <kapouer@melix.org>
-Date: Wed, 3 Nov 2021 02:31:18 +0100
-Subject: [PATCH] ICU-21793 Fix ucptrietest golden diff
-
---- a/tools/toolutil/toolutil.cpp
-+++ b/tools/toolutil/toolutil.cpp
-@@ -228,18 +228,19 @@ uprv_compareGoldenFiles(
- std::ifstream ifs(goldenFilePath, std::ifstream::in);
- int32_t pos = 0;
- char c;
-- while ((c = ifs.get()) != std::char_traits<char>::eof() && pos < bufferLen) {
-+ while (ifs.get(c) && pos < bufferLen) {
- if (c != buffer[pos]) {
- // Files differ at this position
-- return pos;
-+ break;
- }
- pos++;
- }
-- if (pos < bufferLen || c != std::char_traits<char>::eof()) {
-- // Files are different lengths
-- return pos;
-+ if (pos == bufferLen && ifs.eof()) {
-+ // Files are same lengths
-+ pos = -1;
- }
-- return -1;
-+ ifs.close();
-+ return pos;
- }
-
- /*U_CAPI UDate U_EXPORT2
-
diff --git a/dev-libs/icu/icu-69.1-r1.ebuild b/dev-libs/icu/icu-69.1-r1.ebuild
deleted file mode 100644
index 6f632a02fd23..000000000000
--- a/dev-libs/icu/icu-69.1-r1.ebuild
+++ /dev/null
@@ -1,150 +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 autotools flag-o-matic multilib-minimal python-any-r1 toolchain-funcs
-
-DESCRIPTION="International Components for Unicode"
-HOMEPAGE="http://site.icu-project.org/"
-SRC_URI="https://github.com/unicode-org/icu/releases/download/release-${PV//./-}/icu4c-${PV//./_}-src.tgz"
-
-LICENSE="BSD"
-
-SLOT="0/${PV}"
-
-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 ~x86-winnt"
-IUSE="debug doc examples static-libs"
-
-BDEPEND="${PYTHON_DEPS}
- virtual/pkgconfig
- doc? ( app-doc/doxygen[dot] )
-"
-
-S="${WORKDIR}/${PN}/source"
-
-MULTILIB_CHOST_TOOLS=(
- /usr/bin/icu-config
-)
-
-PATCHES=(
- "${FILESDIR}/${PN}-65.1-remove-bashisms.patch"
- "${FILESDIR}/${PN}-64.2-darwin.patch"
- "${FILESDIR}/${PN}-68.1-nonunicode.patch"
- # Should be in the next rleease, but check
- # https://bugs.gentoo.org/788112
- "${FILESDIR}/${PN}-69.1-fix-ub-units.patch"
-)
-
-src_prepare() {
- default
-
- local variable
-
- # Disable renaming as it is stupid thing to do
- sed -i \
- -e "s/#define U_DISABLE_RENAMING 0/#define U_DISABLE_RENAMING 1/" \
- common/unicode/uconfig.h || die
-
- # Fix linking of icudata
- sed -i \
- -e "s:LDFLAGSICUDT=-nodefaultlibs -nostdlib:LDFLAGSICUDT=:" \
- config/mh-linux || die
-
- # Append doxygen configuration to configure
- sed -i \
- -e 's:icudefs.mk:icudefs.mk Doxyfile:' \
- configure.ac || die
-
- eautoreconf
-}
-
-src_configure() {
- append-cxxflags -std=c++14
-
- if tc-is-cross-compiler; then
- mkdir "${WORKDIR}"/host || die
- pushd "${WORKDIR}"/host >/dev/null || die
-
- CFLAGS="" CXXFLAGS="" ASFLAGS="" LDFLAGS="" \
- CC="$(tc-getBUILD_CC)" CXX="$(tc-getBUILD_CXX)" AR="$(tc-getBUILD_AR)" \
- RANLIB="$(tc-getBUILD_RANLIB)" LD="$(tc-getBUILD_LD)" \
- "${S}"/configure --disable-renaming --disable-debug \
- --disable-samples --enable-static || die
- emake
-
- popd >/dev/null || die
- fi
-
- multilib-minimal_src_configure
-}
-
-multilib_src_configure() {
- local myeconfargs=(
- --disable-renaming
- --disable-samples
- --disable-layoutex
- $(use_enable debug)
- $(use_enable static-libs static)
- $(multilib_native_use_enable examples samples)
- )
-
- tc-is-cross-compiler && myeconfargs+=(
- --with-cross-build="${WORKDIR}"/host
- )
-
- # work around cross-endian testing failures with LTO #757681
- if tc-is-cross-compiler && is-flagq '-flto*' ; then
- myeconfargs+=( --disable-strict )
- fi
-
- # icu tries to use clang by default
- tc-export CC CXX
-
- # make sure we configure with the same shell as we run icu-config
- # with, or ECHO_N, ECHO_T and ECHO_C will be wrongly defined
- export CONFIG_SHELL="${EPREFIX}/bin/sh"
- # probably have no /bin/sh in prefix-chain
- [[ -x ${CONFIG_SHELL} ]] || CONFIG_SHELL="${BASH}"
-
- ECONF_SOURCE="${S}" econf "${myeconfargs[@]}"
-}
-
-multilib_src_compile() {
- default
-
- if multilib_is_native_abi && use doc; then
- doxygen -u Doxyfile || die
- doxygen Doxyfile || die
- fi
-}
-
-multilib_src_test() {
- # INTLTEST_OPTS: intltest options
- # -e: Exhaustive testing
- # -l: Reporting of memory leaks
- # -v: Increased verbosity
- # IOTEST_OPTS: iotest options
- # -e: Exhaustive testing
- # -v: Increased verbosity
- # CINTLTST_OPTS: cintltst options
- # -e: Exhaustive testing
- # -v: Increased verbosity
- emake -j1 VERBOSE="1" check
-}
-
-multilib_src_install() {
- default
-
- if multilib_is_native_abi && use doc; then
- docinto html
- dodoc -r doc/html/*
- fi
-}
-
-multilib_src_install_all() {
- einstalldocs
- docinto html
- dodoc ../readme.html
-}
diff --git a/dev-libs/icu/icu-70.1-r1.ebuild b/dev-libs/icu/icu-70.1-r1.ebuild
deleted file mode 100644
index c2095a985a40..000000000000
--- a/dev-libs/icu/icu-70.1-r1.ebuild
+++ /dev/null
@@ -1,146 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..10} )
-inherit autotools flag-o-matic multilib-minimal python-any-r1 toolchain-funcs
-
-DESCRIPTION="International Components for Unicode"
-HOMEPAGE="https://icu.unicode.org/"
-SRC_URI="https://github.com/unicode-org/icu/releases/download/release-${PV//./-}/icu4c-${PV//./_}-src.tgz"
-S="${WORKDIR}/${PN}/source"
-
-LICENSE="BSD"
-SLOT="0/${PV}"
-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 ~x86-winnt"
-IUSE="debug doc examples static-libs"
-
-BDEPEND="${PYTHON_DEPS}
- sys-devel/autoconf-archive
- virtual/pkgconfig
- doc? ( app-doc/doxygen[dot] )
-"
-
-MULTILIB_CHOST_TOOLS=(
- /usr/bin/icu-config
-)
-
-PATCHES=(
- "${FILESDIR}/${PN}-65.1-remove-bashisms.patch"
- "${FILESDIR}/${PN}-64.2-darwin.patch"
- "${FILESDIR}/${PN}-68.1-nonunicode.patch"
- # Should both be in the next release, but check
- # https://bugs.gentoo.org/788112
- "${FILESDIR}/${PN}-69.1-fix-ub-units.patch"
- "${FILESDIR}/${PN}-70.1-fix-ucptrietest.patch"
-)
-
-src_prepare() {
- default
-
- # Disable renaming as it is stupid thing to do
- sed -i \
- -e "s/#define U_DISABLE_RENAMING 0/#define U_DISABLE_RENAMING 1/" \
- common/unicode/uconfig.h || die
-
- # Fix linking of icudata
- sed -i \
- -e "s:LDFLAGSICUDT=-nodefaultlibs -nostdlib:LDFLAGSICUDT=:" \
- config/mh-linux || die
-
- # Append doxygen configuration to configure
- sed -i \
- -e 's:icudefs.mk:icudefs.mk Doxyfile:' \
- configure.ac || die
-
- eautoreconf
-}
-
-src_configure() {
- append-cxxflags -std=c++14
-
- if tc-is-cross-compiler; then
- mkdir "${WORKDIR}"/host || die
- pushd "${WORKDIR}"/host >/dev/null || die
-
- CFLAGS="" CXXFLAGS="" ASFLAGS="" LDFLAGS="" \
- CC="$(tc-getBUILD_CC)" CXX="$(tc-getBUILD_CXX)" AR="$(tc-getBUILD_AR)" \
- RANLIB="$(tc-getBUILD_RANLIB)" LD="$(tc-getBUILD_LD)" \
- "${S}"/configure --disable-renaming --disable-debug \
- --disable-samples --enable-static || die
- emake
-
- popd >/dev/null || die
- fi
-
- multilib-minimal_src_configure
-}
-
-multilib_src_configure() {
- local myeconfargs=(
- --disable-renaming
- --disable-samples
- --disable-layoutex
- $(use_enable debug)
- $(use_enable static-libs static)
- $(multilib_native_use_enable examples samples)
- )
-
- tc-is-cross-compiler && myeconfargs+=(
- --with-cross-build="${WORKDIR}"/host
- )
-
- # work around cross-endian testing failures with LTO #757681
- if tc-is-cross-compiler && is-flagq '-flto*' ; then
- myeconfargs+=( --disable-strict )
- fi
-
- # icu tries to use clang by default
- tc-export CC CXX
-
- # make sure we configure with the same shell as we run icu-config
- # with, or ECHO_N, ECHO_T and ECHO_C will be wrongly defined
- export CONFIG_SHELL="${EPREFIX}/bin/sh"
- # probably have no /bin/sh in prefix-chain
- [[ -x ${CONFIG_SHELL} ]] || CONFIG_SHELL="${BASH}"
-
- ECONF_SOURCE="${S}" econf "${myeconfargs[@]}"
-}
-
-multilib_src_compile() {
- default
-
- if multilib_is_native_abi && use doc; then
- doxygen -u Doxyfile || die
- doxygen Doxyfile || die
- fi
-}
-
-multilib_src_test() {
- # INTLTEST_OPTS: intltest options
- # -e: Exhaustive testing
- # -l: Reporting of memory leaks
- # -v: Increased verbosity
- # IOTEST_OPTS: iotest options
- # -e: Exhaustive testing
- # -v: Increased verbosity
- # CINTLTST_OPTS: cintltst options
- # -e: Exhaustive testing
- # -v: Increased verbosity
- emake -j1 VERBOSE="1" check
-}
-
-multilib_src_install() {
- default
-
- if multilib_is_native_abi && use doc; then
- docinto html
- dodoc -r doc/html/*
- fi
-}
-
-multilib_src_install_all() {
- local HTML_DOCS=( ../readme.html )
- einstalldocs
-}
diff --git a/dev-libs/icu/icu-74.2.ebuild b/dev-libs/icu/icu-74.2.ebuild
new file mode 100644
index 000000000000..dcfd9ddc6d2b
--- /dev/null
+++ b/dev-libs/icu/icu-74.2.ebuild
@@ -0,0 +1,184 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# Please bump with dev-libs/icu-layoutex
+
+PYTHON_COMPAT=( python3_{10..12} )
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/icu.asc
+inherit autotools flag-o-matic multilib-minimal python-any-r1 toolchain-funcs verify-sig
+
+MY_PV=${PV/_rc/-rc}
+MY_PV=${MY_PV//./_}
+
+DESCRIPTION="International Components for Unicode"
+HOMEPAGE="https://icu.unicode.org/"
+SRC_URI="https://github.com/unicode-org/icu/releases/download/release-${MY_PV/_/-}/icu4c-${MY_PV/-rc/rc}-src.tgz"
+SRC_URI+=" verify-sig? ( https://github.com/unicode-org/icu/releases/download/release-${MY_PV/_/-}/icu4c-${MY_PV/-rc/rc}-src.tgz.asc )"
+S="${WORKDIR}"/${PN}/source
+
+if [[ ${PV} != *_rc* ]] ; then
+ 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
+LICENSE="BSD"
+SLOT="0/${PV%.*}.1"
+IUSE="debug doc examples static-libs test"
+RESTRICT="!test? ( test )"
+
+BDEPEND="
+ ${PYTHON_DEPS}
+ dev-build/autoconf-archive
+ virtual/pkgconfig
+ doc? ( app-text/doxygen[dot] )
+ verify-sig? ( >=sec-keys/openpgp-keys-icu-20221020 )
+"
+
+MULTILIB_CHOST_TOOLS=(
+ /usr/bin/icu-config
+)
+
+PATCHES=(
+ "${FILESDIR}/${PN}-65.1-remove-bashisms.patch"
+ "${FILESDIR}/${PN}-64.2-darwin.patch"
+ "${FILESDIR}/${PN}-68.1-nonunicode.patch"
+)
+
+src_prepare() {
+ default
+
+ # Disable renaming as it assumes stable ABI and that consumers
+ # won't use unofficial APIs. We need this despite the configure argument.
+ sed -i \
+ -e "s/#define U_DISABLE_RENAMING 0/#define U_DISABLE_RENAMING 1/" \
+ common/unicode/uconfig.h || die
+
+ # Fix linking of icudata
+ sed -i \
+ -e "s:LDFLAGSICUDT=-nodefaultlibs -nostdlib:LDFLAGSICUDT=:" \
+ config/mh-linux || die
+
+ # Append doxygen configuration to configure
+ sed -i \
+ -e 's:icudefs.mk:icudefs.mk Doxyfile:' \
+ configure.ac || die
+
+ eautoreconf
+}
+
+src_configure() {
+ MAKEOPTS+=" VERBOSE=1"
+
+ # -Werror=odr
+ # https://bugs.gentoo.org/866947
+ # https://unicode-org.atlassian.net/browse/ICU-22001
+ #
+ # Only present in testsuite, but unfortunately that means we cannot...
+ # test... LTO support.
+ filter-lto
+
+ # ICU tries to append -std=c++11 without this, so as of 71.1,
+ # despite GCC 9+ using c++14 (or gnu++14) and GCC 11+ using gnu++17,
+ # we still need this.
+ append-cxxflags -std=c++14
+
+ if tc-is-cross-compiler; then
+ mkdir "${WORKDIR}"/host || die
+ pushd "${WORKDIR}"/host >/dev/null || die
+
+ CFLAGS="" CXXFLAGS="" ASFLAGS="" LDFLAGS="" \
+ CC="$(tc-getBUILD_CC)" CXX="$(tc-getBUILD_CXX)" AR="$(tc-getBUILD_AR)" \
+ RANLIB="$(tc-getBUILD_RANLIB)" LD="$(tc-getBUILD_LD)" \
+ "${S}"/configure --disable-renaming --disable-debug \
+ --disable-samples --enable-static || die
+ emake
+
+ popd >/dev/null || die
+ fi
+
+ multilib-minimal_src_configure
+}
+
+multilib_src_configure() {
+ local myeconfargs=(
+ --disable-renaming
+ --disable-samples
+ # TODO: Merge with dev-libs/icu-layoutex
+ # Planned to do this w/ 73.2 but seem to get test failures
+ # only with --enable-layoutex.
+ --disable-layoutex
+ $(use_enable debug)
+ $(use_enable static-libs static)
+ $(use_enable test tests)
+ $(multilib_native_use_enable examples samples)
+ )
+
+ #if use test ; then
+ # myeconfargs+=(
+ # --enable-extras
+ # --enable-tools
+ # )
+ #else
+ # myeconfargs+=(
+ # $(multilib_native_enable extras)
+ # $(multilib_native_enable tools)
+ # )
+ #fi
+
+ tc-is-cross-compiler && myeconfargs+=(
+ --with-cross-build="${WORKDIR}"/host
+ )
+
+ # Work around cross-endian testing failures with LTO, bug #757681
+ if tc-is-cross-compiler && tc-is-lto ; then
+ myeconfargs+=( --disable-strict )
+ fi
+
+ # ICU tries to use clang by default
+ tc-export CC CXX
+
+ # Make sure we configure with the same shell as we run icu-config
+ # with, or ECHO_N, ECHO_T and ECHO_C will be wrongly defined
+ export CONFIG_SHELL="${EPREFIX}/bin/sh"
+ # Probably have no /bin/sh in prefix-chain
+ [[ -x ${CONFIG_SHELL} ]] || CONFIG_SHELL="${BASH}"
+
+ ECONF_SOURCE="${S}" econf "${myeconfargs[@]}"
+}
+
+multilib_src_compile() {
+ default
+
+ if multilib_is_native_abi && use doc; then
+ doxygen -u Doxyfile || die
+ doxygen Doxyfile || die
+ fi
+}
+
+multilib_src_test() {
+ # INTLTEST_OPTS: intltest options
+ # -e: Exhaustive testing
+ # -l: Reporting of memory leaks
+ # -v: Increased verbosity
+ # IOTEST_OPTS: iotest options
+ # -e: Exhaustive testing
+ # -v: Increased verbosity
+ # CINTLTST_OPTS: cintltst options
+ # -e: Exhaustive testing
+ # -v: Increased verbosity
+ emake check
+}
+
+multilib_src_install() {
+ default
+
+ if multilib_is_native_abi && use doc; then
+ docinto html
+ dodoc -r doc/html/*
+ fi
+}
+
+multilib_src_install_all() {
+ local HTML_DOCS=( ../readme.html )
+ einstalldocs
+}
diff --git a/dev-libs/icu/metadata.xml b/dev-libs/icu/metadata.xml
index f632b40c7d8a..607468902fd7 100644
--- a/dev-libs/icu/metadata.xml
+++ b/dev-libs/icu/metadata.xml
@@ -5,4 +5,7 @@
<email>office@gentoo.org</email>
<name>Gentoo Office project</name>
</maintainer>
+ <upstream>
+ <remote-id type="github">unicode-org/icu</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/dev-libs/igraph/Manifest b/dev-libs/igraph/Manifest
index 2fd473bbb838..51f9f26da78d 100644
--- a/dev-libs/igraph/Manifest
+++ b/dev-libs/igraph/Manifest
@@ -1,3 +1,3 @@
-DIST igraph-0.8.5.tar.gz 3303252 BLAKE2B 9aa920e39a1ef76376eb9a88b6d24e2d051aa22807d4e9bbac49fd1708c59f821d2d4ec55dc96a89de84dfc3ca394e3de9f60704b7f3880a40128863b209d0d6 SHA512 eeb7a21b3a0551e47c178e568811a415e39afb2cc99be39905a15d667fa59564e83979111e1ea5d93636d5b0c7dcbed18728f03aa7ee4d83f96c45af52de8370
-DIST igraph-0.9.2.tar.gz 3805091 BLAKE2B aa0e140a9dc8e1005f7f9265aef5880c071fab63c5914c8d93fc7adcbda84d7088678cdb6c277d40bc5998140c70d4a3b359517a4e3583153d1d7233ae8ba42d SHA512 8feb0c23c28e62f1e538fc41917e941f45421060b6240653ee03153b13551c454be019343a314b7913edb9c908518a131034c8e2098d9dd8e5c923fb84d195b3
-DIST igraph-0.9.4.tar.gz 3823988 BLAKE2B c62f15fd227a83da8a78c2bf569874e290c0f8ffd8c69353de1ff2fbd5dff290eceff2462495efc86f44303f3d9d0d397eba720a743da6c118dacb9eeff1b2b8 SHA512 1188d69b95f581d7dac5874dcdb2d1b1a322e39b275c6f092c199ed6214def814062bd46d573bdaa4bc8f4514d6840c6e93dedbe0f6c99a15de33cbc39356573
+DIST igraph-0.10.10.tar.gz 4336247 BLAKE2B cef87afe544d09446c999894c44e1d56120cac74b6af5d749835fbf60e5ae0f1676d6754e084f167d23718c6ce9f7b8cee159d3d670d1d5f1f495775c7b0d2f0 SHA512 d4b8d29f9c39f8390c442877183e64c442fccbc6a02b3aed5c1d8871ca5998d1a168f392f8dde26a8c3593ed6c09a66a200ac1155fbde87d368b101011bb122c
+DIST igraph-0.10.11.tar.gz 4349830 BLAKE2B 3aae088115148d1f965a52f01c950000097520fb0a150d2ad1fabb96cff434a9b548a6c17a10b9e0ebad3a577c2423ac5260cd28223147d3dc71b0d4fe139a95 SHA512 d6978589f12ed20b87777394b46f47b4ffc045ef693e5b4fc90163b9482361b2bf0ed2bb04aa99bf4a0653f7e4355cd480b0a165213d90ff7188ef6c86147c86
+DIST igraph-0.10.4.tar.gz 4279321 BLAKE2B 4e1fc8e8d6dd38cdb24ec564f51f2924e457376c258497b51d7dd4cec88d2226d5b202cdcfa69560e43fdb3cbd49656511178acd2ed705b4af26b1947a92f1ab SHA512 71bcec5f0ba100aae7614753f9232a4221580b822b4dc120e3a80eab59d70c42aedddb00728eb13faf7e522332c514c2e030314c416ded8a70e5de990ea8039b
diff --git a/dev-libs/igraph/files/808c083fbe661207ee8f0fcd3be5096b5dc17d0d.patch b/dev-libs/igraph/files/808c083fbe661207ee8f0fcd3be5096b5dc17d0d.patch
new file mode 100644
index 000000000000..4bf0f2c6c3a9
--- /dev/null
+++ b/dev-libs/igraph/files/808c083fbe661207ee8f0fcd3be5096b5dc17d0d.patch
@@ -0,0 +1,35 @@
+From 808c083fbe661207ee8f0fcd3be5096b5dc17d0d Mon Sep 17 00:00:00 2001
+From: David Seifert <soap@gentoo.org>
+Date: Tue, 5 Mar 2024 14:54:46 +0100
+Subject: [PATCH] Fix `-Wstrict-aliasing`
+
+* Casting a `uint64_t*` to `double*` invokes undefined behavior, since
+ it violates the strict aliasing rules of ISO C. Instead of casting
+ pointers, let's read through a union which is supported by C and
+ yields the same performant assembly code.
+
+Closes: https://bugs.gentoo.org/924864
+---
+ src/random/random.c | 9 +++++++--
+ 1 file changed, 7 insertions(+), 2 deletions(-)
+
+diff --git a/src/random/random.c b/src/random/random.c
+index 8f2d0898aa..b5b44451ae 100644
+--- a/src/random/random.c
++++ b/src/random/random.c
+@@ -681,8 +681,13 @@ igraph_real_t igraph_rng_get_unif01(igraph_rng_t *rng) {
+ * Then we subtract 1 to arrive at the [0; 1) interval. This is fast
+ * but we lose one bit of precision as there are 2^53 possible doubles
+ * between 0 and 1. */
+- uint64_t r = (igraph_i_rng_get_random_bits_uint64(rng, 52) & 0xFFFFFFFFFFFFFull) | 0x3FF0000000000000ull;
+- return *(double *)(&r) - 1.0;
++ union {
++ uint64_t as_uint64_t;
++ double as_double;
++ } value;
++ value.as_uint64_t =
++ (igraph_i_rng_get_random_bits_uint64(rng, 52) & 0xFFFFFFFFFFFFFull) | 0x3FF0000000000000ull;
++ return value.as_double - 1.0;
+ }
+ }
+
diff --git a/dev-libs/igraph/files/igraph-0.8.2-unbundle.patch b/dev-libs/igraph/files/igraph-0.8.2-unbundle.patch
deleted file mode 100644
index 859c6387b7f5..000000000000
--- a/dev-libs/igraph/files/igraph-0.8.2-unbundle.patch
+++ /dev/null
@@ -1,150 +0,0 @@
-diff --git a/configure.ac b/configure.ac
-index b422caf..dae8647 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -333,6 +333,8 @@ else
- internal_glpk=no
- fi
-
-+PKG_CHECK_MODULES([CS],[cxsparse])
-+
- # Link time optimization feature in newer gcc/g++
- # based on http://svn.r-project.org/R/trunk/configure.ac
- AC_ARG_ENABLE([lto],
-diff --git a/examples/simple/igraph_sparsemat2.c b/examples/simple/igraph_sparsemat2.c
-index 24877c2..0f4b45c 100644
---- a/examples/simple/igraph_sparsemat2.c
-+++ b/examples/simple/igraph_sparsemat2.c
-@@ -21,7 +21,7 @@
-
- */
-
--#include <cs/cs.h>
-+#include <cs.h>
- #include <igraph.h>
- #include "igraph_blas_internal.h"
- #include "igraph_arpack_internal.h"
-diff --git a/examples/simple/igraph_sparsemat3.c b/examples/simple/igraph_sparsemat3.c
-index 09329f0..31d4f1f 100644
---- a/examples/simple/igraph_sparsemat3.c
-+++ b/examples/simple/igraph_sparsemat3.c
-@@ -21,7 +21,7 @@
-
- */
-
--#include <cs/cs.h>
-+#include <cs.h>
- #include <igraph.h>
-
- int permute(const igraph_matrix_t *M,
-diff --git a/examples/simple/igraph_sparsemat4.c b/examples/simple/igraph_sparsemat4.c
-index 3a33979..c0ea489 100644
---- a/examples/simple/igraph_sparsemat4.c
-+++ b/examples/simple/igraph_sparsemat4.c
-@@ -21,7 +21,7 @@
-
- */
-
--#include <cs/cs.h>
-+#include <cs.h>
- #include <igraph.h>
-
- igraph_bool_t check_solution(const igraph_sparsemat_t *A,
-diff --git a/src/Makefile.am b/src/Makefile.am
-index f9d02d2..8ab3385 100644
---- a/src/Makefile.am
-+++ b/src/Makefile.am
-@@ -9,9 +9,6 @@ AM_YFLAGS = -d
-
- lib_LTLIBRARIES = libigraph.la
-
--include lapack/blas.inc
--include lapack/lapack.inc
--include lapack/arpack.inc
- include plfit/plfit.inc
-
- F2C = f2c/abort_.c f2c/dolio.c f2c/r_sin.c\
-@@ -99,8 +96,6 @@ if INTERNAL_ARPACK
- ARPACK_LIB = libarpack.la
- endif
-
--include ../optional/glpk/glpk.inc
--
- if INTERNAL_GLPK
- libglpk_la_SOURCES = $(GLPK)
- libglpk_la_CFLAGS = -I$(top_srcdir)/optional/glpk
-@@ -365,7 +360,7 @@ SOURCES = basic_query.c games.c cocitation.c iterators.c \
- drl_layout_3d.cpp drl_graph_3d.cpp \
- DensityGrid_3d.cpp \
- foreign-dl-parser.y foreign-dl-lexer.l \
-- $(CS) sparsemat.c mixing.c bigint.c bignum.c \
-+ sparsemat.c mixing.c bigint.c bignum.c \
- version.c optimal_modularity.c \
- igraph_fixed_vectorlist.c separators.c \
- igraph_marked_queue.c igraph_estack.c st-cuts.c \
-@@ -408,7 +403,7 @@ libigraph_la_CXXFLAGS = -I$(top_srcdir)/include -I$(top_builddir)/include $(W
- libigraph_la_LDFLAGS = -no-undefined
- libigraph_la_LIBADD = -lm $(XML2_LIBS) $(F2C_LIB) $(BLAS_LIB) \
- $(LAPACK_LIB) $(ARPACK_LIB) $(GLPK_LIB) $(PRPACK_LIB) \
-- $(PLFIT_LIB)
-+ $(PLFIT_LIB) $(CS_LIBS)
-
- if INTERNAL_GLPK
- libigraph_la_CFLAGS += -I$(top_srcdir)/optional/glpk
-diff --git a/src/Makefile.in b/src/Makefile.in
-index 56703d4..cc30d48 100644
---- a/src/Makefile.in
-+++ b/src/Makefile.in
-@@ -2411,7 +2411,7 @@ SOURCES = basic_query.c games.c cocitation.c iterators.c \
- gengraph_powerlaw.cpp gengraph_random.cpp decomposition.c \
- bipartite.c drl_layout_3d.cpp drl_graph_3d.cpp \
- DensityGrid_3d.cpp foreign-dl-parser.y foreign-dl-lexer.l \
-- $(CS) sparsemat.c mixing.c bigint.c bignum.c version.c \
-+ sparsemat.c mixing.c bigint.c bignum.c version.c \
- optimal_modularity.c igraph_fixed_vectorlist.c separators.c \
- igraph_marked_queue.c igraph_estack.c st-cuts.c \
- cohesive_blocks.c statusbar.c lapack.c complex.c eigen.c \
-diff --git a/src/sparsemat.c b/src/sparsemat.c
-index 0ed4678..4fb724d 100644
---- a/src/sparsemat.c
-+++ b/src/sparsemat.c
-@@ -23,7 +23,7 @@
-
- #include "config.h"
-
--#include "cs/cs.h"
-+#include <cs.h>
-
- #include "igraph_sparsemat.h"
- #include "igraph_error.h"
-diff --git a/tests/Makefile.am b/tests/Makefile.am
-index d350f11..31a1f5a 100644
---- a/tests/Makefile.am
-+++ b/tests/Makefile.am
-@@ -13,7 +13,7 @@ $(srcdir)/package.m4: $(top_srcdir)/configure.ac
- echo 'm4_define([AT_PACKAGE_BUGREPORT], [@PACKAGE_BUGREPORT@])'; \
- } >$(srcdir)/package.m4
-
--EXTRA_DIST += package.m4
-+#EXTRA_DIST += package.m4
-
- TESTSUITE_AT = \
- testsuite.at \
-diff --git a/tests/mt.at b/tests/mt.at
-index 050974a..b154ce1 100644
---- a/tests/mt.at
-+++ b/tests/mt.at
-@@ -23,11 +23,11 @@ AT_BANNER([[Thread-safety tests]])
-
- AT_SETUP([Simple error handling test :])
- AT_KEYWORDS([thread-safe])
--AT_COMPILE_CHECK([simple/tls1.c], [], [], [], [-lpthread])
-+AT_COMPILE_CHECK([simple/tls1.c], [], [], [], [-lpthread $(${PKG_CONFIG} --libs arpack)])
- AT_CLEANUP
-
- AT_SETUP([Thread-safe ARPACK:])
- AT_KEYWORDS([thread-safe ARPACK])
- AT_COMPILE_CHECK([simple/tls2.c], [simple/tls2.out], [], [internal],
-- [-lpthread])
-+ [-lpthread $(${PKG_CONFIG} --libs arpack)])
- AT_CLEANUP
diff --git a/dev-libs/igraph/files/igraph-0.9.2-disable-broken-tests.patch b/dev-libs/igraph/files/igraph-0.9.2-disable-broken-tests.patch
deleted file mode 100644
index 9bf9ed7bc764..000000000000
--- a/dev-libs/igraph/files/igraph-0.9.2-disable-broken-tests.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-upstream issue - https://github.com/igraph/igraph/issues/1694
-
---- a/tests/CMakeLists.txt
-+++ b/tests/CMakeLists.txt
-@@ -678,10 +678,8 @@ add_examples(
- FOLDER examples/simple NAMES
- igraph_scg_grouping
- igraph_scg_grouping2
-- igraph_scg_grouping3
- igraph_scg_grouping4
- igraph_scg_semiprojectors
-- igraph_scg_semiprojectors2
- igraph_scg_semiprojectors3
- scg
- )
diff --git a/dev-libs/igraph/igraph-0.10.10.ebuild b/dev-libs/igraph/igraph-0.10.10.ebuild
new file mode 100644
index 000000000000..f270109ee806
--- /dev/null
+++ b/dev-libs/igraph/igraph-0.10.10.ebuild
@@ -0,0 +1,53 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+DESCRIPTION="Creating and manipulating undirected and directed graphs"
+HOMEPAGE="https://igraph.org/"
+SRC_URI="https://github.com/igraph/igraph/releases/download/${PV}/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0/0"
+KEYWORDS="~amd64 ~x86"
+
+IUSE="debug test threads"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ dev-libs/gmp:0=
+ dev-libs/libxml2
+ sci-libs/arpack
+ sci-mathematics/glpk:=
+ sci-mathematics/plfit
+ virtual/blas
+ virtual/lapack"
+DEPEND="${RDEPEND}"
+
+PATCHES=(
+ # backport fix for strict-aliasing
+ "${FILESDIR}"/808c083fbe661207ee8f0fcd3be5096b5dc17d0d.patch
+)
+
+src_configure() {
+ local mycmakeargs=(
+ -DUSE_CCACHE=OFF
+ -DIGRAPH_GLPK_SUPPORT=ON
+ -DIGRAPH_GRAPHML_SUPPORT=ON
+ -DIGRAPH_USE_INTERNAL_ARPACK=OFF
+ -DIGRAPH_USE_INTERNAL_BLAS=OFF
+ -DIGRAPH_USE_INTERNAL_GLPK=OFF
+ -DIGRAPH_USE_INTERNAL_GMP=OFF
+ -DIGRAPH_USE_INTERNAL_LAPACK=OFF
+ -DIGRAPH_USE_INTERNAL_PLFIT=OFF
+ -DIGRAPH_ENABLE_TLS=$(usex threads)
+ -DBUILD_TESTING=$(usex test)
+ )
+ cmake_src_configure
+}
+
+src_test() {
+ cmake_build check
+}
diff --git a/dev-libs/igraph/igraph-0.10.11.ebuild b/dev-libs/igraph/igraph-0.10.11.ebuild
new file mode 100644
index 000000000000..2056002ac6f3
--- /dev/null
+++ b/dev-libs/igraph/igraph-0.10.11.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
+
+DESCRIPTION="Creating and manipulating undirected and directed graphs"
+HOMEPAGE="https://igraph.org/"
+SRC_URI="https://github.com/igraph/igraph/releases/download/${PV}/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0/0"
+KEYWORDS="~amd64 ~x86"
+
+IUSE="debug test threads"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ dev-libs/gmp:0=
+ dev-libs/libxml2
+ sci-libs/arpack
+ sci-mathematics/glpk:=
+ sci-mathematics/plfit
+ virtual/blas
+ virtual/lapack"
+DEPEND="${RDEPEND}"
+
+src_configure() {
+ local mycmakeargs=(
+ -DUSE_CCACHE=OFF
+ -DIGRAPH_GLPK_SUPPORT=ON
+ -DIGRAPH_GRAPHML_SUPPORT=ON
+ -DIGRAPH_USE_INTERNAL_ARPACK=OFF
+ -DIGRAPH_USE_INTERNAL_BLAS=OFF
+ -DIGRAPH_USE_INTERNAL_GLPK=OFF
+ -DIGRAPH_USE_INTERNAL_GMP=OFF
+ -DIGRAPH_USE_INTERNAL_LAPACK=OFF
+ -DIGRAPH_USE_INTERNAL_PLFIT=OFF
+ -DIGRAPH_ENABLE_TLS=$(usex threads)
+ -DBUILD_TESTING=$(usex test)
+ )
+ cmake_src_configure
+}
+
+src_test() {
+ cmake_build check
+}
diff --git a/dev-libs/igraph/igraph-0.10.4-r1.ebuild b/dev-libs/igraph/igraph-0.10.4-r1.ebuild
new file mode 100644
index 000000000000..fd9d1d6f77ec
--- /dev/null
+++ b/dev-libs/igraph/igraph-0.10.4-r1.ebuild
@@ -0,0 +1,54 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake flag-o-matic
+
+DESCRIPTION="Creating and manipulating undirected and directed graphs"
+HOMEPAGE="https://igraph.org/"
+SRC_URI="https://github.com/igraph/igraph/releases/download/${PV}/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0/0"
+KEYWORDS="amd64 x86"
+
+IUSE="debug test threads"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ dev-libs/gmp:0=
+ dev-libs/libxml2
+ sci-libs/arpack
+ sci-mathematics/glpk:=
+ sci-mathematics/plfit
+ virtual/blas
+ virtual/lapack"
+DEPEND="${RDEPEND}"
+
+src_configure() {
+ # -Werror=strict-aliasing
+ #
+ # Fixed in upstream git master.
+ append-flags -fno-strict-aliasing
+ filter-lto
+
+ local mycmakeargs=(
+ -DUSE_CCACHE=OFF
+ -DIGRAPH_GLPK_SUPPORT=ON
+ -DIGRAPH_GRAPHML_SUPPORT=ON
+ -DIGRAPH_USE_INTERNAL_ARPACK=OFF
+ -DIGRAPH_USE_INTERNAL_BLAS=OFF
+ -DIGRAPH_USE_INTERNAL_GLPK=OFF
+ -DIGRAPH_USE_INTERNAL_GMP=OFF
+ -DIGRAPH_USE_INTERNAL_LAPACK=OFF
+ -DIGRAPH_USE_INTERNAL_PLFIT=OFF
+ -DIGRAPH_ENABLE_TLS=$(usex threads)
+ -DBUILD_TESTING=$(usex test)
+ )
+ cmake_src_configure
+}
+
+src_test() {
+ cmake_build check
+}
diff --git a/dev-libs/igraph/igraph-0.8.5.ebuild b/dev-libs/igraph/igraph-0.8.5.ebuild
deleted file mode 100644
index 1bce379e3060..000000000000
--- a/dev-libs/igraph/igraph-0.8.5.ebuild
+++ /dev/null
@@ -1,59 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit autotools toolchain-funcs
-
-DESCRIPTION="Creating and manipulating undirected and directed graphs"
-HOMEPAGE="http://www.igraph.org/"
-SRC_URI="https://github.com/igraph/igraph/releases/download/${PV}/${P}.tar.gz"
-
-LICENSE="GPL-2"
-SLOT="0/0"
-KEYWORDS="amd64 x86"
-IUSE="debug"
-
-RDEPEND="
- dev-libs/gmp:0=
- dev-libs/libxml2
- sci-libs/arpack
- sci-libs/cxsparse
- sci-mathematics/glpk:=
- virtual/blas
- virtual/lapack"
-DEPEND="${RDEPEND}"
-BDEPEND="virtual/pkgconfig"
-
-PATCHES=( "${FILESDIR}"/${PN}-0.8.2-unbundle.patch )
-
-src_prepare() {
- default
- rm -r src/lapack optional/glpk src/cs || die
- eautoreconf
-}
-
-src_configure() {
- # even with --with-external-f2c
- # we don't need f2c as none of
- # arpack lapack blas
- # are internal
- tc-export PKG_CONFIG
- econf \
- $(use_enable debug) \
- --enable-gmp \
- --disable-static \
- --disable-tls \
- --with-external-arpack \
- --with-external-blas \
- --with-external-lapack \
- --with-external-f2c \
- --with-external-glpk
-}
-
-src_install() {
- default
-
- # no static archives
- find "${ED}" -name '*.la' -delete || die
-}
diff --git a/dev-libs/igraph/igraph-0.9.2.ebuild b/dev-libs/igraph/igraph-0.9.2.ebuild
deleted file mode 100644
index 7d9cab598422..000000000000
--- a/dev-libs/igraph/igraph-0.9.2.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="Creating and manipulating undirected and directed graphs"
-HOMEPAGE="http://www.igraph.org/"
-SRC_URI="https://github.com/igraph/igraph/releases/download/${PV}/${P}.tar.gz"
-
-LICENSE="GPL-2"
-SLOT="0/0"
-KEYWORDS="~amd64 ~x86"
-IUSE="debug test threads"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- dev-libs/gmp:0=
- dev-libs/libxml2
- sci-libs/arpack
- sci-libs/cxsparse
- sci-mathematics/glpk:=
- virtual/blas
- virtual/lapack"
-DEPEND="${RDEPEND}"
-
-PATCHES=( "${FILESDIR}"/${PN}-0.9.2-disable-broken-tests.patch )
-
-src_configure() {
- local mycmakeargs=(
- -DUSE_CCACHE=OFF
- -DIGRAPH_GLPK_SUPPORT=ON
- -DIGRAPH_GRAPHML_SUPPORT=ON
- -DIGRAPH_USE_INTERNAL_ARPACK=OFF
- -DIGRAPH_USE_INTERNAL_BLAS=OFF
- -DIGRAPH_USE_INTERNAL_CXSPARSE=OFF
- -DIGRAPH_USE_INTERNAL_GLPK=OFF
- -DIGRAPH_USE_INTERNAL_GMP=OFF
- -DIGRAPH_USE_INTERNAL_LAPACK=OFF
- -DIGRAPH_ENABLE_TLS=$(usex threads)
- -DBUILD_TESTING=$(usex test)
- )
- cmake_src_configure
-}
-
-src_test() {
- cmake_build check
-}
diff --git a/dev-libs/igraph/igraph-0.9.4.ebuild b/dev-libs/igraph/igraph-0.9.4.ebuild
deleted file mode 100644
index 7d9cab598422..000000000000
--- a/dev-libs/igraph/igraph-0.9.4.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="Creating and manipulating undirected and directed graphs"
-HOMEPAGE="http://www.igraph.org/"
-SRC_URI="https://github.com/igraph/igraph/releases/download/${PV}/${P}.tar.gz"
-
-LICENSE="GPL-2"
-SLOT="0/0"
-KEYWORDS="~amd64 ~x86"
-IUSE="debug test threads"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- dev-libs/gmp:0=
- dev-libs/libxml2
- sci-libs/arpack
- sci-libs/cxsparse
- sci-mathematics/glpk:=
- virtual/blas
- virtual/lapack"
-DEPEND="${RDEPEND}"
-
-PATCHES=( "${FILESDIR}"/${PN}-0.9.2-disable-broken-tests.patch )
-
-src_configure() {
- local mycmakeargs=(
- -DUSE_CCACHE=OFF
- -DIGRAPH_GLPK_SUPPORT=ON
- -DIGRAPH_GRAPHML_SUPPORT=ON
- -DIGRAPH_USE_INTERNAL_ARPACK=OFF
- -DIGRAPH_USE_INTERNAL_BLAS=OFF
- -DIGRAPH_USE_INTERNAL_CXSPARSE=OFF
- -DIGRAPH_USE_INTERNAL_GLPK=OFF
- -DIGRAPH_USE_INTERNAL_GMP=OFF
- -DIGRAPH_USE_INTERNAL_LAPACK=OFF
- -DIGRAPH_ENABLE_TLS=$(usex threads)
- -DBUILD_TESTING=$(usex test)
- )
- cmake_src_configure
-}
-
-src_test() {
- cmake_build check
-}
diff --git a/dev-libs/igraph/metadata.xml b/dev-libs/igraph/metadata.xml
index a6e6a6af683c..ba6444db0beb 100644
--- a/dev-libs/igraph/metadata.xml
+++ b/dev-libs/igraph/metadata.xml
@@ -13,5 +13,6 @@
</maintainer>
<upstream>
<remote-id type="sourceforge">igraph</remote-id>
+ <remote-id type="github">igraph/igraph</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-libs/iksemel/iksemel-1.4-r1.ebuild b/dev-libs/iksemel/iksemel-1.4-r1.ebuild
deleted file mode 100644
index e74f7323fa59..000000000000
--- a/dev-libs/iksemel/iksemel-1.4-r1.ebuild
+++ /dev/null
@@ -1,44 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit autotools
-
-DESCRIPTION="eXtensible Markup Language parser library designed for Jabber applications"
-HOMEPAGE="https://github.com/meduketto/iksemel"
-SRC_URI="https://${PN}.googlecode.com/files/${P}.tar.gz"
-
-LICENSE="LGPL-2.1"
-SLOT="0"
-KEYWORDS="amd64 ~arm ~arm64 ppc ~ppc64 x86"
-IUSE="ssl static-libs"
-
-RDEPEND="ssl? ( net-libs/gnutls:= )"
-DEPEND="${RDEPEND}
- ssl? ( virtual/pkgconfig )"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-1.3-gnutls-2.8.patch
- "${FILESDIR}"/${PN}-1.4-gnutls-3.4.patch
- "${FILESDIR}"/${PN}-1.4-ikstack.patch
-)
-
-src_prepare() {
- default
- eautoreconf
-}
-
-src_configure() {
- econf \
- $(use_with ssl gnutls) \
- $(use_enable static-libs static)
-}
-
-src_install() {
- default
- dodoc HACKING
-
- # package installs .pc files
- find "${D}" -name '*.la' -delete || die
-}
diff --git a/dev-libs/iksemel/iksemel-1.4-r2.ebuild b/dev-libs/iksemel/iksemel-1.4-r2.ebuild
new file mode 100644
index 000000000000..373d63c51a00
--- /dev/null
+++ b/dev-libs/iksemel/iksemel-1.4-r2.ebuild
@@ -0,0 +1,42 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools
+
+DESCRIPTION="eXtensible Markup Language parser library designed for Jabber applications"
+HOMEPAGE="https://github.com/meduketto/iksemel"
+SRC_URI="https://${PN}.googlecode.com/files/${P}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="amd64 ~arm ~arm64 ppc ~ppc64 ~sparc x86"
+IUSE="ssl"
+
+RDEPEND="ssl? ( net-libs/gnutls:= )"
+DEPEND="${RDEPEND}"
+BDEPEND="ssl? ( virtual/pkgconfig )"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-1.3-gnutls-2.8.patch
+ "${FILESDIR}"/${PN}-1.4-gnutls-3.4.patch
+ "${FILESDIR}"/${PN}-1.4-ikstack.patch
+)
+
+src_prepare() {
+ default
+ eautoreconf
+}
+
+src_configure() {
+ econf $(use_with ssl gnutls)
+}
+
+src_install() {
+ default
+ dodoc HACKING
+
+ # package installs .pc files
+ find "${ED}" -name '*.la' -delete || die
+}
diff --git a/dev-libs/imath/Manifest b/dev-libs/imath/Manifest
index 02adfd733ca7..e3a201e2cc3d 100644
--- a/dev-libs/imath/Manifest
+++ b/dev-libs/imath/Manifest
@@ -1,2 +1,3 @@
-DIST imath-3.1.1.tar.gz 568231 BLAKE2B a1210b5f6ff4723a133d317c2b40338e387973a1409868a218192a53778b86a0912c77911bdf76286a6ed6931175aec38bf24ddc0c76eed3375b7a2945dba124 SHA512 b2f4cc21e44094ef139a1f04bb997c7e41770ff886457fff00d65ca477ba579c86fd5fbd465998c4519855fcb34328ac834d84d0d011f758f56a20ef79e9ca3d
-DIST imath-3.1.3.tar.gz 570840 BLAKE2B b037c9bdee87f58c7a2be9dbda52c89c26eba25fe07342710578f9eef4b90a49b9d5dc5451702c960ae94427d7f748b79b81b7fc9ad350d2252e9e4bf6a1d6cc SHA512 a11f5e736bc49098d735c7903f186c15b03efbec082a8cf2e6635546368035cec0d36c7ae64bfd01bd8eeffb2dd247b8dab19e440a3e1fe33008edacc1268f75
+DIST imath-3.1.11.tar.gz 596585 BLAKE2B d5fc8d7607070bc96619e74eb67c60048695023c1baa715e3ab5de84a49bf1f7381cc19e3a047b75f8520e20a9976c58503b2063feb2add7b6dfcc7c73e13ad7 SHA512 0bc86bea3a2aca89d02b501b4fba3c13ca861e914cec558e820fe9e4c43ab14cac34e31ff278b8c35b5fe76f7bea32f2c8105c0d33eb92224eb23d42d7a402e9
+DIST imath-3.1.6.tar.gz 573255 BLAKE2B c4d5a785a2aed9c5b9b1441ab016a5cf47abeb1d44c0625f0654e8c4d1e47dddddd62c61f83fd7b160beae8aaf5db9350d2a3bc43754e795fe75b10c4836a1b8 SHA512 c099a291ed7fd7702a7609575f2f3d2ed7f95256c23c2180e2ef1f76ceb07734365f57da5244b1d6cec81ca9859864eb4c9236df02a64aa783af6639a3b59acd
+DIST imath-3.1.9.tar.gz 598497 BLAKE2B fe3afce26c19f5ddace3c420f9b83caca7b4c75902820fc2182ef9fb9f4d27581f27ca72262b63d65f794eeb73af55782412ba846d142072e0090ff7224d8960 SHA512 ad96b2ac306fc13c01e8ea3256f885499c3f545be327feaba0f5e093b70b544bcca6f8b353fa7e35107aae515c19caced44331a95d0414f367ead4691ec73564
diff --git a/dev-libs/imath/files/imath-3.1.1-0001-changes-needed-for-proper-slotting.patch b/dev-libs/imath/files/imath-3.1.1-0001-changes-needed-for-proper-slotting.patch
deleted file mode 100644
index baa6a84bfb83..000000000000
--- a/dev-libs/imath/files/imath-3.1.1-0001-changes-needed-for-proper-slotting.patch
+++ /dev/null
@@ -1,162 +0,0 @@
-From 19073a8ed52dbc02b64be4cb55a6203dbf36707e Mon Sep 17 00:00:00 2001
-From: Bernd Waibel <waebbl-gentoo@posteo.net>
-Date: Sat, 24 Jul 2021 22:28:34 +0200
-Subject: [PATCH] changes needed for proper slotting
-
-Signed-off-by: Bernd Waibel <waebbl-gentoo@posteo.net>
----
- config/CMakeLists.txt | 6 +++---
- config/Imath.pc.in | 4 ++--
- config/LibraryDefine.cmake | 8 ++++----
- src/python/PyImath.pc.in | 4 ++--
- src/python/PyImathNumpy/CMakeLists.txt | 2 +-
- src/python/config/CMakeLists.txt | 4 ++--
- src/python/config/ModuleDefine.cmake | 6 +++---
- 7 files changed, 17 insertions(+), 17 deletions(-)
-
-diff --git a/config/CMakeLists.txt b/config/CMakeLists.txt
-index d51c25b..63cc98d 100644
---- a/config/CMakeLists.txt
-+++ b/config/CMakeLists.txt
-@@ -60,7 +60,7 @@ include(CMakePackageConfigHelpers)
-
- configure_package_config_file(ImathConfig.cmake.in
- ${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}Config.cmake
-- INSTALL_DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME}
-+ INSTALL_DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${IMATH_OUTPUT_SUBDIR}
- )
-
- write_basic_package_version_file("${PROJECT_NAME}ConfigVersion.cmake"
-@@ -70,11 +70,11 @@ write_basic_package_version_file("${PROJECT_NAME}ConfigVersion.cmake"
-
- install(FILES ${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}Config.cmake
- ${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}ConfigVersion.cmake
-- DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME}
-+ DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${IMATH_OUTPUT_SUBDIR}
- )
-
- install(EXPORT ${PROJECT_NAME}
-- DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME}
-+ DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${IMATH_OUTPUT_SUBDIR}
- FILE ${PROJECT_NAME}Targets.cmake
- NAMESPACE ${PROJECT_NAME}::
- EXPORT_LINK_INTERFACE_LIBRARIES
-diff --git a/config/Imath.pc.in b/config/Imath.pc.in
-index df11cfd..6eb4f40 100644
---- a/config/Imath.pc.in
-+++ b/config/Imath.pc.in
-@@ -5,7 +5,7 @@
-
- prefix=@prefix@
- exec_prefix=@exec_prefix@
--libdir=@libdir@
-+libdir=@libdir@/@IMATH_OUTPUT_SUBDIR@
- includedir=@includedir@
- libsuffix=@LIB_SUFFIX_DASH@
- Name: Imath
-@@ -14,4 +14,4 @@ Version: @IMATH_VERSION@
- Requires:
- Conflicts:
- Libs: -L${libdir} -lImath${libsuffix}
--Cflags: -I${includedir} -I${includedir}/Imath
-+Cflags: -I${includedir} -I${includedir}/@IMATH_OUTPUT_SUBDIR@
-diff --git a/config/LibraryDefine.cmake b/config/LibraryDefine.cmake
-index 4868954..60b6532 100644
---- a/config/LibraryDefine.cmake
-+++ b/config/LibraryDefine.cmake
-@@ -87,8 +87,8 @@ function(IMATH_DEFINE_LIBRARY libname)
- install(TARGETS ${libname}
- EXPORT ${PROJECT_NAME}
- RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
-- LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
-- ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
-+ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}/${IMATH_OUTPUT_SUBDIR}
-+ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}/${IMATH_OUTPUT_SUBDIR}
- INCLUDES DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}
- PUBLIC_HEADER
- DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/${IMATH_OUTPUT_SUBDIR}
-@@ -101,8 +101,8 @@ function(IMATH_DEFINE_LIBRARY libname)
- install(CODE "execute_process(COMMAND ${CMAKE_COMMAND} -E chdir \"\$ENV\{DESTDIR\}${CMAKE_INSTALL_FULL_BINDIR}\" ${CMAKE_COMMAND} -E create_symlink ${verlibname} ${baselibname})")
- install(CODE "message(STATUS \"Creating symlink ${CMAKE_INSTALL_FULL_BINDIR}/${baselibname} -> ${verlibname}\")")
- else()
-- install(CODE "execute_process(COMMAND ${CMAKE_COMMAND} -E chdir \"\$ENV\{DESTDIR\}${CMAKE_INSTALL_FULL_LIBDIR}\" ${CMAKE_COMMAND} -E create_symlink ${verlibname} ${baselibname})")
-- install(CODE "message(STATUS \"Creating symlink ${CMAKE_INSTALL_FULL_LIBDIR}/${baselibname} -> ${verlibname}\")")
-+ install(CODE "execute_process(COMMAND ${CMAKE_COMMAND} -E chdir \"\$ENV\{DESTDIR\}${CMAKE_INSTALL_FULL_LIBDIR}/${IMATH_OUTPUT_SUBDIR}\" ${CMAKE_COMMAND} -E create_symlink ${verlibname} ${baselibname})")
-+ install(CODE "message(STATUS \"Creating symlink ${CMAKE_INSTALL_FULL_LIBDIR}/${IMATH_OUTPUT_SUBDIR}/${baselibname} -> ${verlibname}\")")
- endif()
- set(verlibname)
- set(baselibname)
-diff --git a/src/python/PyImath.pc.in b/src/python/PyImath.pc.in
-index 8e8de6f..1902660 100644
---- a/src/python/PyImath.pc.in
-+++ b/src/python/PyImath.pc.in
-@@ -5,7 +5,7 @@
-
- prefix=@prefix@
- exec_prefix=@exec_prefix@
--libdir=@libdir@
-+libdir=@libdir@/@IMATH_OUTPUT_SUBDIR@
- includedir=@includedir@
- libsuffix=@LIB_SUFFIX_DASH@
-
-@@ -13,4 +13,4 @@ Name: PyImath
- Description: Python bindings for the Imath libraries
- Version: @IMATH_VERSION@
- Libs: -L${libdir} -lImath${libsuffix} -lPyImath@PYIMATH_LIB_PYTHONVER_ROOT@@Python_VERSION_MAJOR@_@Python_VERSION_MINOR@${libsuffix}
--Cflags: -I${includedir} -I${includedir}/Imath
-+Cflags: -I${includedir} -I${includedir}/@IMATH_OUTPUT_SUBDIR@
-diff --git a/src/python/PyImathNumpy/CMakeLists.txt b/src/python/PyImathNumpy/CMakeLists.txt
-index 7b4f6b2..8f7fd70 100644
---- a/src/python/PyImathNumpy/CMakeLists.txt
-+++ b/src/python/PyImathNumpy/CMakeLists.txt
-@@ -48,5 +48,5 @@ if(TARGET Python3::Python AND
- LIBRARY_OUTPUT_NAME "imathnumpy"
- DEBUG_POSTFIX ""
- )
-- install(TARGETS imathnumpy_python3 DESTINATION ${PyImath_Python3_SITEARCH_REL})
-+ install(TARGETS imathnumpy_python3 DESTINATION ${PyImath_Python3_SITEARCH_REL}/${IMATH_OUTPUT_SUBDIR})
- endif()
-diff --git a/src/python/config/CMakeLists.txt b/src/python/config/CMakeLists.txt
-index 4f796df..15d7026 100644
---- a/src/python/config/CMakeLists.txt
-+++ b/src/python/config/CMakeLists.txt
-@@ -41,10 +41,10 @@ write_basic_package_version_file("${PROJECT_NAME}ConfigVersion.cmake"
- COMPATIBILITY SameMajorVersion
- )
- install(FILES ${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}ConfigVersion.cmake
-- DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME}
-+ DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${IMATH_OUTPUT_SUBDIR}
- )
- install(EXPORT ${PROJECT_NAME}
-- DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME}
-+ DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${IMATH_OUTPUT_SUBDIR}
- FILE ${PROJECT_NAME}Config.cmake
- NAMESPACE ${PROJECT_NAME}::
- EXPORT_LINK_INTERFACE_LIBRARIES
-diff --git a/src/python/config/ModuleDefine.cmake b/src/python/config/ModuleDefine.cmake
-index 7e30614..40d9032 100644
---- a/src/python/config/ModuleDefine.cmake
-+++ b/src/python/config/ModuleDefine.cmake
-@@ -54,8 +54,8 @@ function(PYIMATH_ADD_LIBRARY_PRIV libname)
- install(TARGETS ${libname}
- EXPORT ${PROJECT_NAME}
- RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
-- LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
-- ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
-+ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}/${IMATH_OUTPUT_SUBDIR}
-+ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}/${IMATH_OUTPUT_SUBDIR}
- )
- endfunction()
-
-@@ -154,7 +154,7 @@ function(PYIMATH_DEFINE_MODULE modname)
- LIBRARY_OUTPUT_NAME "${modname}"
- DEBUG_POSTFIX ""
- )
-- install(TARGETS ${modname}_python3 DESTINATION ${PyImath_Python3_SITEARCH_REL})
-+ install(TARGETS ${modname}_python3 DESTINATION ${PyImath_Python3_SITEARCH_REL}/${IMATH_OUTPUT_SUBDIR})
- endif()
- endif()
- endfunction()
---
-2.32.0
-
diff --git a/dev-libs/imath/imath-3.1.1.ebuild b/dev-libs/imath/imath-3.1.1.ebuild
deleted file mode 100644
index 82fabc71d73a..000000000000
--- a/dev-libs/imath/imath-3.1.1.ebuild
+++ /dev/null
@@ -1,92 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{8..10} )
-
-inherit cmake python-single-r1
-
-MY_PN="${PN^}"
-
-DESCRIPTION="Imath basic math package"
-HOMEPAGE="https://imath.readthedocs.io"
-SRC_URI="https://github.com/AcademySoftwareFoundation/${MY_PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
-# re-keywording needed for (according to ilmbase keywords):
-# ~mips ~x64-macos ~x86-solaris
-KEYWORDS="amd64 ~arm arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux"
-S="${WORKDIR}/${MY_PN}-${PV}"
-
-LICENSE="BSD"
-SLOT="3/29"
-IUSE="doc large-stack python static-libs test"
-REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
-RESTRICT="!test? ( test )"
-
-# blocker due to file collision #803347
-RDEPEND="
- !dev-libs/imath:0
- sys-libs/zlib
- python? (
- ${PYTHON_DEPS}
- $(python_gen_cond_dep '
- dev-libs/boost:=[python,${PYTHON_USEDEP}]
- dev-python/numpy[${PYTHON_USEDEP}]
- ')
- )
-"
-DEPEND="${RDEPEND}"
-BDEPEND="
- virtual/pkgconfig
- doc? ( $(python_gen_cond_dep 'dev-python/breathe[${PYTHON_USEDEP}]') )
- python? ( ${PYTHON_DEPS} )
-"
-
-PATCHES=( "${FILESDIR}"/${P}-0001-changes-needed-for-proper-slotting.patch )
-DOCS=( CHANGES.md CONTRIBUTORS.md README.md SECURITY.md docs/PortingGuide2-3.md )
-
-pkg_setup() {
- use python && python-single-r1_pkg_setup
-}
-
-src_configure() {
- local majorver=$(ver_cut 1)
-
- local mycmakeargs=(
- -DBUILD_SHARED_LIBS=$(usex !static-libs)
- -DIMATH_ENABLE_LARGE_STACK=$(usex large-stack)
- -DIMATH_HALF_USE_LOOKUP_TABLE=ON
- -DIMATH_INSTALL_PKG_CONFIG=ON
- -DIMATH_OUTPUT_SUBDIR="${MY_PN}-${majorver}"
- -DIMATH_USE_CLANG_TIDY=OFF
- -DIMATH_USE_NOEXCEPT=ON
- )
- if use python; then
- mycmakeargs+=(
- # temp. disable for finding libboost_python310, #803032
- #-DBoost_NO_BOOST_CMAKE=OFF
- -DPYTHON=ON
- -DPython3_EXECUTABLE="${PYTHON}"
- -DPython3_INCLUDE_DIR=$(python_get_includedir)
- -DPython3_LIBRARY=$(python_get_library_path)
- )
- fi
-
- cmake_src_configure
-}
-
-src_compile() {
- cmake_src_compile
-
- if use doc; then
- pushd "${S}"/docs 2>/dev/null || die
- doxygen || die
- emake html
- popd 2>/dev/null || die
- fi
-}
-
-src_install() {
- use doc && HTML_DOCS=( "${S}/docs/_build/html/." )
- cmake_src_install
-}
diff --git a/dev-libs/imath/imath-3.1.11.ebuild b/dev-libs/imath/imath-3.1.11.ebuild
new file mode 100644
index 000000000000..6da867303ab9
--- /dev/null
+++ b/dev-libs/imath/imath-3.1.11.ebuild
@@ -0,0 +1,81 @@
+# 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-single-r1
+
+MY_PN=${PN^}
+
+DESCRIPTION="Imath basic math package"
+HOMEPAGE="https://imath.readthedocs.io"
+SRC_URI="https://github.com/AcademySoftwareFoundation/${MY_PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/${MY_PN}-${PV}"
+
+LICENSE="BSD"
+SLOT="3/29"
+KEYWORDS="amd64 ~arm arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc x86 ~amd64-linux ~x86-linux"
+IUSE="doc large-stack python test"
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ sys-libs/zlib
+ python? (
+ ${PYTHON_DEPS}
+ $(python_gen_cond_dep '
+ dev-libs/boost:=[python,${PYTHON_USEDEP}]
+ dev-python/numpy[${PYTHON_USEDEP}]
+ ')
+ )
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ virtual/pkgconfig
+ doc? (
+ app-text/doxygen
+ $(python_gen_cond_dep '
+ dev-python/breathe[${PYTHON_USEDEP}]
+ dev-python/sphinx[${PYTHON_USEDEP}]
+ dev-python/sphinx-press-theme[${PYTHON_USEDEP}]
+ ')
+ )
+ python? ( ${PYTHON_DEPS} )
+"
+
+DOCS=( CHANGES.md CONTRIBUTORS.md README.md SECURITY.md )
+
+pkg_setup() {
+ use python && python-single-r1_pkg_setup
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DBUILD_WEBSITE=$(usex doc)
+ -DIMATH_ENABLE_LARGE_STACK=$(usex large-stack)
+ # the following options are at their default value
+ -DIMATH_HALF_USE_LOOKUP_TABLE=ON
+ -DIMATH_INSTALL_PKG_CONFIG=ON
+ -DIMATH_USE_CLANG_TIDY=OFF
+ -DIMATH_USE_DEFAULT_VISIBILITY=OFF
+ -DIMATH_USE_NOEXCEPT=ON
+ )
+ if use python; then
+ mycmakeargs+=(
+ -DBoost_NO_BOOST_CMAKE=OFF
+ -DPYTHON=ON
+ -DPython3_EXECUTABLE="${PYTHON}"
+ -DPython3_INCLUDE_DIR="$(python_get_includedir)"
+ -DPython3_LIBRARY="$(python_get_library_path)"
+ )
+ fi
+
+ cmake_src_configure
+}
+
+src_install() {
+ use doc && HTML_DOCS=( "${BUILD_DIR}/website/sphinx/." )
+ cmake_src_install
+}
diff --git a/dev-libs/imath/imath-3.1.3.ebuild b/dev-libs/imath/imath-3.1.3.ebuild
deleted file mode 100644
index 94fa189368ba..000000000000
--- a/dev-libs/imath/imath-3.1.3.ebuild
+++ /dev/null
@@ -1,76 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..10} )
-
-inherit cmake python-single-r1
-
-MY_PN="${PN^}"
-
-DESCRIPTION="Imath basic math package"
-HOMEPAGE="https://imath.readthedocs.io"
-SRC_URI="https://github.com/AcademySoftwareFoundation/${MY_PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
-# re-keywording needed for (according to ilmbase keywords): ~x64-macos ~x86-solaris
-KEYWORDS="amd64 ~arm arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux"
-S="${WORKDIR}/${MY_PN}-${PV}"
-
-LICENSE="BSD"
-SLOT="3/29"
-IUSE="doc large-stack python static-libs test"
-REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
-RESTRICT="!test? ( test )"
-
-# blocker due to file collision #803347
-RDEPEND="
- !dev-libs/imath:0
- sys-libs/zlib
- python? (
- ${PYTHON_DEPS}
- $(python_gen_cond_dep '
- dev-libs/boost:=[python,${PYTHON_USEDEP}]
- dev-python/numpy[${PYTHON_USEDEP}]
- ')
- )
-"
-DEPEND="${RDEPEND}"
-BDEPEND="
- virtual/pkgconfig
- doc? ( $(python_gen_cond_dep 'dev-python/breathe[${PYTHON_USEDEP}]') )
- python? ( ${PYTHON_DEPS} )
-"
-
-PATCHES=( "${FILESDIR}"/${PN}-3.1.1-0001-changes-needed-for-proper-slotting.patch )
-DOCS=( CHANGES.md CONTRIBUTORS.md README.md SECURITY.md docs/PortingGuide2-3.md )
-
-pkg_setup() {
- use python && python-single-r1_pkg_setup
-}
-
-src_configure() {
- local majorver=$(ver_cut 1)
-
- local mycmakeargs=(
- -DBUILD_SHARED_LIBS=$(usex !static-libs)
- -DDOCS=$(usex doc)
- -DIMATH_ENABLE_LARGE_STACK=$(usex large-stack)
- -DIMATH_HALF_USE_LOOKUP_TABLE=ON
- -DIMATH_INSTALL_PKG_CONFIG=ON
- -DIMATH_OUTPUT_SUBDIR="${MY_PN}-${majorver}"
- -DIMATH_USE_CLANG_TIDY=OFF
- -DIMATH_USE_NOEXCEPT=ON
- )
- if use python; then
- mycmakeargs+=(
- # temp. disable for finding libboost_python310, #803032
-# -DBoost_NO_BOOST_CMAKE=OFF
- -DPYTHON=ON
- -DPython3_EXECUTABLE="${PYTHON}"
- -DPython3_INCLUDE_DIR=$(python_get_includedir)
- -DPython3_LIBRARY=$(python_get_library_path)
- )
- fi
-
- cmake_src_configure
-}
diff --git a/dev-libs/imath/imath-3.1.6.ebuild b/dev-libs/imath/imath-3.1.6.ebuild
new file mode 100644
index 000000000000..35006aa943a2
--- /dev/null
+++ b/dev-libs/imath/imath-3.1.6.ebuild
@@ -0,0 +1,69 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{9..11} )
+
+inherit cmake python-single-r1
+
+MY_PN="${PN^}"
+
+DESCRIPTION="Imath basic math package"
+HOMEPAGE="https://imath.readthedocs.io"
+SRC_URI="https://github.com/AcademySoftwareFoundation/${MY_PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
+# re-keywording needed for (according to ilmbase keywords): ~x64-macos ~x86-solaris
+KEYWORDS="amd64 ~arm arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc x86 ~amd64-linux ~x86-linux"
+S="${WORKDIR}/${MY_PN}-${PV}"
+
+LICENSE="BSD"
+SLOT="3/29"
+IUSE="doc large-stack python test"
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+RESTRICT="!test? ( test )"
+
+# blocker due to file collision #803347
+RDEPEND="
+ sys-libs/zlib
+ python? (
+ ${PYTHON_DEPS}
+ $(python_gen_cond_dep '
+ dev-libs/boost:=[python,${PYTHON_USEDEP}]
+ dev-python/numpy[${PYTHON_USEDEP}]
+ ')
+ )
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ virtual/pkgconfig
+ doc? ( $(python_gen_cond_dep 'dev-python/breathe[${PYTHON_USEDEP}]') )
+ python? ( ${PYTHON_DEPS} )
+"
+
+DOCS=( CHANGES.md CONTRIBUTORS.md README.md SECURITY.md docs/PortingGuide2-3.md )
+
+pkg_setup() {
+ use python && python-single-r1_pkg_setup
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DDOCS=$(usex doc)
+ -DIMATH_ENABLE_LARGE_STACK=$(usex large-stack)
+ -DIMATH_HALF_USE_LOOKUP_TABLE=ON
+ -DIMATH_INSTALL_PKG_CONFIG=ON
+ -DIMATH_USE_CLANG_TIDY=OFF
+ -DIMATH_USE_NOEXCEPT=ON
+ )
+ if use python; then
+ mycmakeargs+=(
+ -DBoost_NO_BOOST_CMAKE=OFF
+ -DPYTHON=ON
+ -DPython3_EXECUTABLE="${PYTHON}"
+ -DPython3_INCLUDE_DIR=$(python_get_includedir)
+ -DPython3_LIBRARY=$(python_get_library_path)
+ )
+ fi
+
+ cmake_src_configure
+}
diff --git a/dev-libs/imath/imath-3.1.9.ebuild b/dev-libs/imath/imath-3.1.9.ebuild
new file mode 100644
index 000000000000..875d9a2d87d1
--- /dev/null
+++ b/dev-libs/imath/imath-3.1.9.ebuild
@@ -0,0 +1,70 @@
+# 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-single-r1
+
+MY_PN="${PN^}"
+
+DESCRIPTION="Imath basic math package"
+HOMEPAGE="https://imath.readthedocs.io"
+SRC_URI="https://github.com/AcademySoftwareFoundation/${MY_PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
+KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux"
+S="${WORKDIR}/${MY_PN}-${PV}"
+
+LICENSE="BSD"
+SLOT="3/29"
+IUSE="large-stack python test"
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+RESTRICT="!test? ( test )"
+
+# blocker due to file collision #803347
+RDEPEND="
+ sys-libs/zlib
+ python? (
+ ${PYTHON_DEPS}
+ $(python_gen_cond_dep '
+ dev-libs/boost:=[python,${PYTHON_USEDEP}]
+ dev-python/numpy[${PYTHON_USEDEP}]
+ ')
+ )
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ virtual/pkgconfig
+ python? ( ${PYTHON_DEPS} )
+"
+
+DOCS=( CHANGES.md CONTRIBUTORS.md README.md SECURITY.md docs/PortingGuide2-3.md )
+
+pkg_setup() {
+ use python && python-single-r1_pkg_setup
+}
+
+src_configure() {
+ local mycmakeargs=(
+ # requires press theme, not available in ::gentoo
+ -DBUILD_DOCS=OFF
+ -DIMATH_ENABLE_LARGE_STACK=$(usex large-stack)
+ # the following options are at their default value
+ -DIMATH_HALF_USE_LOOKUP_TABLE=ON
+ -DIMATH_INSTALL_PKG_CONFIG=ON
+ -DIMATH_USE_CLANG_TIDY=OFF
+ -DIMATH_USE_DEFAULT_VISIBILITY=OFF
+ -DIMATH_USE_NOEXCEPT=ON
+ )
+ if use python; then
+ mycmakeargs+=(
+ -DBoost_NO_BOOST_CMAKE=OFF
+ -DPYTHON=ON
+ -DPython3_EXECUTABLE="${PYTHON}"
+ -DPython3_INCLUDE_DIR=$(python_get_includedir)
+ -DPython3_LIBRARY=$(python_get_library_path)
+ )
+ fi
+
+ cmake_src_configure
+}
diff --git a/dev-libs/imath/metadata.xml b/dev-libs/imath/metadata.xml
index e8c22a1a5aea..2f3f4ae00b0c 100644
--- a/dev-libs/imath/metadata.xml
+++ b/dev-libs/imath/metadata.xml
@@ -2,8 +2,8 @@
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person" proxied="yes">
- <email>waebbl-gentoo@posteo.net</email>
- <name>Bernd Waibel</name>
+ <email>negril.nx+gentoo@gmail.com</email>
+ <name>Paul Zander</name>
</maintainer>
<maintainer type="project" proxied="proxy">
<email>proxy-maint@gentoo.org</email>
diff --git a/dev-libs/inih/Manifest b/dev-libs/inih/Manifest
index e19e85d2c827..52b0f107e155 100644
--- a/dev-libs/inih/Manifest
+++ b/dev-libs/inih/Manifest
@@ -1 +1,2 @@
-DIST inih-53.tar.gz 16984 BLAKE2B 1242e6273c9dd9a11ea026a3495a487b2aa72d8e01f34304d8568c88897ae9c9bb425246f992dc16f4dc2210ec14c597d0ef595cec84ff98a5d6101ee5a643b9 SHA512 99bc40c294b521e9973184bfb30d60c129735991f33b387b3d023827a34672b0489eadf91e38895ea725168dbc7b27bb02c1975debe7573b4b209d0e947b2100
+DIST inih-57.tar.gz 18954 BLAKE2B df2e2a14b4186616071f6ad2a64e0423148fb9a4624a74d4b16845a4a12eb72b1965f1314b92a710b80cc68d85dbe4ef09d6db159b76be856a4041f21a8c520c SHA512 9f758df876df54ed7e228fd82044f184eefbe47e806cd1e6d62e1b0ea28e2c08e67fa743042d73b4baef0b882480e6afe2e72878b175822eb2bdbb6d89c0e411
+DIST inih-58.tar.gz 19964 BLAKE2B ba71b21b30c039df026adbd29b422b064934046ced21a37479421e866b73969826dc1fea4e3bc0c5ea427248c774d8f80b83056c54769d454bafa2f336d08024 SHA512 d69f488299c1896e87ddd3dd20cd9db5848da7afa4c6159b8a99ba9a5d33f35cadfdb9f65d6f2fe31decdbadb8b43bf610ff2699df475e1f9ff045e343ac26ae
diff --git a/dev-libs/inih/inih-53.ebuild b/dev-libs/inih/inih-53.ebuild
deleted file mode 100644
index 0c65d26f1690..000000000000
--- a/dev-libs/inih/inih-53.ebuild
+++ /dev/null
@@ -1,37 +0,0 @@
-# Copyright 2020-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit meson-multilib
-
-DESCRIPTION="inih (INI not invented here) simple .INI file parser"
-HOMEPAGE="https://github.com/benhoyt/inih"
-
-SRC_URI="https://github.com/benhoyt/inih/archive/r${PV}.tar.gz -> ${P}.tar.gz"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~mips ppc ppc64 ~riscv ~s390 sparc x86"
-
-LICENSE="BSD"
-SLOT="0"
-
-IUSE="static-libs"
-
-S="${WORKDIR}/inih-r${PV}"
-
-multilib_src_configure() {
- local emesonargs=(
- -Ddefault_library=$(usex static-libs both shared)
- -Ddistro_install=true
- -Dwith_INIReader=true
- )
-
- meson_src_configure
-}
-
-multilib_src_install_all() {
- local DOCS=(
- LICENSE.txt
- README.md
- )
- einstalldocs
-}
diff --git a/dev-libs/inih/inih-57-r1.ebuild b/dev-libs/inih/inih-57-r1.ebuild
new file mode 100644
index 000000000000..98e9528ea2d5
--- /dev/null
+++ b/dev-libs/inih/inih-57-r1.ebuild
@@ -0,0 +1,30 @@
+# Copyright 2020-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# Tests not wired up to meson and don't seem to be intended for downstream use yet
+# e.g. hardcoding gcc, just a shell script
+
+inherit meson-multilib
+
+DESCRIPTION="inih (INI not invented here) simple .INI file parser"
+HOMEPAGE="https://github.com/benhoyt/inih"
+SRC_URI="https://github.com/benhoyt/inih/archive/r${PV}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}"/inih-r${PV}
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86"
+
+DOCS=( README.md )
+
+src_configure() {
+ local emesonargs=(
+ -Ddefault_library=shared
+ -Ddistro_install=true
+ -Dwith_INIReader=true
+ )
+
+ meson-multilib_src_configure
+}
diff --git a/dev-libs/inih/inih-58.ebuild b/dev-libs/inih/inih-58.ebuild
new file mode 100644
index 000000000000..24cf8b3e6eba
--- /dev/null
+++ b/dev-libs/inih/inih-58.ebuild
@@ -0,0 +1,30 @@
+# Copyright 2020-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# Tests not wired up to meson and don't seem to be intended for downstream use yet
+# e.g. hardcoding gcc, just a shell script
+
+inherit meson-multilib
+
+DESCRIPTION="inih (INI not invented here) simple .INI file parser"
+HOMEPAGE="https://github.com/benhoyt/inih"
+SRC_URI="https://github.com/benhoyt/inih/archive/r${PV}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}"/inih-r${PV}
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86"
+
+DOCS=( README.md )
+
+src_configure() {
+ local emesonargs=(
+ -Ddefault_library=shared
+ -Ddistro_install=true
+ -Dwith_INIReader=true
+ )
+
+ meson-multilib_src_configure
+}
diff --git a/dev-libs/iniparser/files/iniparser-4.1-CVE-null-getstring.patch b/dev-libs/iniparser/files/iniparser-4.1-CVE-null-getstring.patch
new file mode 100644
index 000000000000..bf3c035fda07
--- /dev/null
+++ b/dev-libs/iniparser/files/iniparser-4.1-CVE-null-getstring.patch
@@ -0,0 +1,43 @@
+From ace9871f65d11b5d73f0b9ee8cf5d2807439442d Mon Sep 17 00:00:00 2001
+From: Antonio <antoniolrt@gmail.com>
+Date: Fri, 2 Jun 2023 15:03:10 -0300
+Subject: [PATCH] Handle null return from iniparser_getstring
+
+Fix handling of NULL returns from iniparser_getstring in
+iniparser_getboolean, iniparser_getlongint and iniparser_getdouble,
+avoiding a crash.
+---
+ src/iniparser.c | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/src/iniparser.c b/src/iniparser.c
+index f1d1658..dbceb20 100644
+--- a/src/iniparser.c
++++ b/src/iniparser.c
+@@ -456,7 +456,7 @@ long int iniparser_getlongint(const dictionary * d, const char * key, long int n
+ const char * str ;
+
+ str = iniparser_getstring(d, key, INI_INVALID_KEY);
+- if (str==INI_INVALID_KEY) return notfound ;
++ if (str==NULL || str==INI_INVALID_KEY) return notfound ;
+ return strtol(str, NULL, 0);
+ }
+
+@@ -511,7 +511,7 @@ double iniparser_getdouble(const dictionary * d, const char * key, double notfou
+ const char * str ;
+
+ str = iniparser_getstring(d, key, INI_INVALID_KEY);
+- if (str==INI_INVALID_KEY) return notfound ;
++ if (str==NULL || str==INI_INVALID_KEY) return notfound ;
+ return atof(str);
+ }
+
+@@ -553,7 +553,7 @@ int iniparser_getboolean(const dictionary * d, const char * key, int notfound)
+ const char * c ;
+
+ c = iniparser_getstring(d, key, INI_INVALID_KEY);
+- if (c==INI_INVALID_KEY) return notfound ;
++ if (c==NULL || c==INI_INVALID_KEY) return notfound ;
+ if (c[0]=='y' || c[0]=='Y' || c[0]=='1' || c[0]=='t' || c[0]=='T') {
+ ret = 1 ;
+ } else if (c[0]=='n' || c[0]=='N' || c[0]=='0' || c[0]=='f' || c[0]=='F') {
diff --git a/dev-libs/iniparser/iniparser-3.1-r2.ebuild b/dev-libs/iniparser/iniparser-3.1-r2.ebuild
deleted file mode 100644
index 43064dc3c80b..000000000000
--- a/dev-libs/iniparser/iniparser-3.1-r2.ebuild
+++ /dev/null
@@ -1,55 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit autotools multilib-minimal
-
-DESCRIPTION="A free stand-alone ini file parsing library"
-HOMEPAGE="http://ndevilla.free.fr/iniparser/"
-SRC_URI="http://ndevilla.free.fr/iniparser/${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-IUSE="doc examples"
-# the tests are rather examples than tests, no point in running them
-RESTRICT="test"
-
-BDEPEND="doc? ( app-doc/doxygen )"
-
-S="${WORKDIR}/${PN}"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-3.0b-cpp.patch
- "${FILESDIR}"/${PN}-3.0-autotools.patch
- "${FILESDIR}"/${PN}-4.0-out-of-bounds-read.patch
-)
-
-src_prepare() {
- default
- eautoreconf
-}
-
-multilib_src_configure() {
- ECONF_SOURCE="${S}" econf \
- --disable-static
-}
-
-multilib_src_install_all() {
- if use doc; then
- emake -C doc
- HTML_DOCS=( html/. )
- fi
-
- einstalldocs
-
- if use examples; then
- docinto examples
- dodoc test/*.{c,ini,py}
- docompress -x /usr/share/doc/${PF}/examples
- fi
-
- # no static archives
- find "${ED}" -name '*.la' -delete || die
-}
diff --git a/dev-libs/iniparser/iniparser-3.1-r3.ebuild b/dev-libs/iniparser/iniparser-3.1-r3.ebuild
new file mode 100644
index 000000000000..4e8762123d45
--- /dev/null
+++ b/dev-libs/iniparser/iniparser-3.1-r3.ebuild
@@ -0,0 +1,50 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools
+
+DESCRIPTION="A free stand-alone ini file parsing library"
+HOMEPAGE="http://ndevilla.free.fr/iniparser/"
+SRC_URI="http://ndevilla.free.fr/iniparser/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
+IUSE="doc examples"
+# the tests are rather examples than tests, no point in running them
+RESTRICT="test"
+
+BDEPEND="doc? ( app-text/doxygen )"
+
+S="${WORKDIR}/${PN}"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-3.0b-cpp.patch
+ "${FILESDIR}"/${PN}-3.0-autotools.patch
+ "${FILESDIR}"/${PN}-4.0-out-of-bounds-read.patch
+)
+
+src_prepare() {
+ default
+ eautoreconf
+}
+
+src_install() {
+ if use doc; then
+ emake -C doc
+ HTML_DOCS=( html/. )
+ fi
+
+ default
+
+ if use examples; then
+ docinto examples
+ dodoc test/*.{c,ini,py}
+ docompress -x /usr/share/doc/${PF}/examples
+ fi
+
+ # No static archives
+ find "${ED}" -name '*.la' -delete || die
+}
diff --git a/dev-libs/iniparser/iniparser-4.1-r1.ebuild b/dev-libs/iniparser/iniparser-4.1-r1.ebuild
new file mode 100644
index 000000000000..0540dd973ed7
--- /dev/null
+++ b/dev-libs/iniparser/iniparser-4.1-r1.ebuild
@@ -0,0 +1,75 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit toolchain-funcs flag-o-matic
+
+DESCRIPTION="A free stand-alone ini file parsing library"
+HOMEPAGE="https://github.com/ndevilla/iniparser"
+SRC_URI="https://github.com/ndevilla/iniparser/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="4"
+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"
+IUSE="doc examples"
+
+BDEPEND="doc? ( app-text/doxygen )"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-CVE-null-getstring.patch # upstream, bug #907928
+)
+
+_newlib_so_with_symlinks() {
+ local source="${1}" base="${2}" current="${3}" revision="${4}" age="${5}"
+
+ newlib.so ${source} ${base}.so.${current}.${revision}.${age}
+ local i
+ for i in ".${current}" '' ; do
+ dosym ${base}.so.${current}.${revision}.${age} /usr/$(get_libdir)/${base}.so${i}
+ done
+}
+
+src_prepare() {
+ default
+ rm -r html || die
+}
+
+src_configure() {
+ append-lfs-flags
+}
+
+_emake() {
+ emake CC="$(tc-getCC)" AR="$(tc-getAR)" V=1 \
+ SO_TARGET=lib${PN}${SLOT}.so.1 \
+ ADDITIONAL_CFLAGS= \
+ "$@"
+}
+
+src_compile() {
+ _emake
+}
+
+src_test() {
+ _emake -C test
+}
+
+src_install() {
+ _newlib_so_with_symlinks lib${PN}${SLOT}.so.1 lib${PN}${SLOT} 1 0 0
+
+ insinto /usr/include/${PN}${SLOT}
+ doins src/*.h
+
+ if use doc; then
+ emake -C doc
+ HTML_DOCS=( html/. )
+ fi
+
+ if use examples; then
+ docinto examples
+ dodoc -r example/.
+ docompress -x /usr/share/doc/${PF}/examples
+ fi
+
+ einstalldocs
+}
diff --git a/dev-libs/iniparser/iniparser-4.1.ebuild b/dev-libs/iniparser/iniparser-4.1.ebuild
deleted file mode 100644
index d964286c74f8..000000000000
--- a/dev-libs/iniparser/iniparser-4.1.ebuild
+++ /dev/null
@@ -1,71 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit toolchain-funcs flag-o-matic
-
-DESCRIPTION="A free stand-alone ini file parsing library"
-HOMEPAGE="https://github.com/ndevilla/iniparser"
-SRC_URI="https://github.com/ndevilla/iniparser/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="4"
-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"
-IUSE="doc examples"
-
-BDEPEND="doc? ( app-doc/doxygen )"
-
-_newlib_so_with_symlinks() {
- local source="${1}" base="${2}" current="${3}" revision="${4}" age="${5}"
-
- newlib.so ${source} ${base}.so.${current}.${revision}.${age}
- local i
- for i in ".${current}" '' ; do
- dosym ${base}.so.${current}.${revision}.${age} /usr/$(get_libdir)/${base}.so${i}
- done
-}
-
-src_prepare() {
- default
- rm -r html || die
-}
-
-src_configure() {
- append-lfs-flags
-}
-
-_emake() {
- emake CC="$(tc-getCC)" AR="$(tc-getAR)" V=1 \
- SO_TARGET=lib${PN}${SLOT}.so.1 \
- ADDITIONAL_CFLAGS= \
- "$@"
-}
-
-src_compile() {
- _emake
-}
-
-src_test() {
- _emake -C test
-}
-
-src_install() {
- _newlib_so_with_symlinks lib${PN}${SLOT}.so.1 lib${PN}${SLOT} 1 0 0
-
- insinto /usr/include/${PN}${SLOT}
- doins src/*.h
-
- if use doc; then
- emake -C doc
- HTML_DOCS=( html/. )
- fi
-
- if use examples; then
- docinto examples
- dodoc -r example/.
- docompress -x /usr/share/doc/${PF}/examples
- fi
-
- einstalldocs
-}
diff --git a/dev-libs/iniparser/metadata.xml b/dev-libs/iniparser/metadata.xml
index d34e989567aa..3b48e648fba0 100644
--- a/dev-libs/iniparser/metadata.xml
+++ b/dev-libs/iniparser/metadata.xml
@@ -5,10 +5,6 @@
<email>samba@gentoo.org</email>
<name>Samba Team</name>
</maintainer>
- <maintainer type="person">
- <email>grobian@gentoo.org</email>
- <name>Fabian Groffen</name>
- </maintainer>
<upstream>
<remote-id type="github">ndevilla/iniparser</remote-id>
</upstream>
diff --git a/dev-libs/injeqt/Manifest b/dev-libs/injeqt/Manifest
deleted file mode 100644
index 9ac91cb6c7eb..000000000000
--- a/dev-libs/injeqt/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST injeqt-1.2.0.tar.gz 73787 BLAKE2B 1b265c14a04dff8380297905f1b717c09baff6e24aedf473a36ff37be83d7e58b7ccae7df0eaf9690cee8c40d5646cb0af43a54427630db5595a9fa59d10e194 SHA512 4783f662af3b7711ef639695350bf136e84a218c8e2f0ddd8a44cb9790e1db5dcb69168fd46c21a82bd76eaebc01e5067e11be87823409d6ca032d2b95bfb880
diff --git a/dev-libs/injeqt/files/injeqt-1.2.0-gcc7.patch b/dev-libs/injeqt/files/injeqt-1.2.0-gcc7.patch
deleted file mode 100644
index 33e51ce739e0..000000000000
--- a/dev-libs/injeqt/files/injeqt-1.2.0-gcc7.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-From de025e0c472bdb2fcabbc9dc2fd443b91ab28e28 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Bart=C5=82omiej=20Burdukiewicz?=
- <bartlomiej.burdukiewicz@gmail.com>
-Date: Wed, 24 May 2017 18:52:20 +0200
-Subject: [PATCH] fix compilation for GCC 7.1.0
-
----
- src/internal/containers.h | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/src/internal/containers.h b/src/internal/containers.h
-index 8da4298..78dd212 100644
---- a/src/internal/containers.h
-+++ b/src/internal/containers.h
-@@ -23,6 +23,7 @@
- #include "internal.h"
-
- #include <algorithm>
-+#include <functional>
- #include <vector>
-
- /**
diff --git a/dev-libs/injeqt/files/injeqt-1.2.0-no-Werror.patch b/dev-libs/injeqt/files/injeqt-1.2.0-no-Werror.patch
deleted file mode 100644
index ffb8aae9b1b7..000000000000
--- a/dev-libs/injeqt/files/injeqt-1.2.0-no-Werror.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -ruN injeqt-1.2.0/CMakeLists.txt injeqt-my/CMakeLists.txt
---- injeqt-1.2.0/CMakeLists.txt 2017-04-21 11:40:08.000000000 +0200
-+++ injeqt-my/CMakeLists.txt 2020-10-14 02:04:12.645803149 +0200
-@@ -37,7 +37,7 @@
- cmake_policy (SET CMP0043 NEW)
- endif ()
-
--set (WARNINGS "-Werror -W -Wall -Wextra -Wundef -Wunused -Wuninitialized -Wcast-align -Wpointer-arith -Woverloaded-virtual -Wnon-virtual-dtor -fno-common")
-+set (WARNINGS "-W -Wall -Wextra -Wundef -Wunused -Wuninitialized -Wcast-align -Wpointer-arith -Woverloaded-virtual -Wnon-virtual-dtor -fno-common")
- set (VISIBILITY "-fvisibility=hidden -fvisibility-inlines-hidden")
- set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 ${WARNINGS} ${VISIBILITY}")
-
diff --git a/dev-libs/injeqt/injeqt-1.2.0.ebuild b/dev-libs/injeqt/injeqt-1.2.0.ebuild
deleted file mode 100644
index 42410678e47c..000000000000
--- a/dev-libs/injeqt/injeqt-1.2.0.ebuild
+++ /dev/null
@@ -1,38 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit cmake-utils
-
-DESCRIPTION="Dependency injection framework for Qt5"
-HOMEPAGE="https://github.com/vogel/injeqt"
-SRC_URI="https://github.com/vogel/injeqt/archive/${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="LGPL-2.1"
-SLOT="0"
-KEYWORDS="amd64 x86"
-IUSE="test"
-
-RDEPEND="
- >=dev-qt/qtcore-5.4.2:5
-"
-DEPEND="${RDEPEND}
- test? ( >=dev-qt/qttest-5.4.2:5 )
-"
-
-# https://github.com/vogel/injeqt/issues/18
-RESTRICT=test
-
-PATCHES=(
- "${FILESDIR}/${P}-gcc7.patch"
- "${FILESDIR}/${PN}-1.2.0-no-Werror.patch"
-)
-
-src_configure() {
- local mycmakeargs=(
- -DDISABLE_EXAMPLES=ON
- -DDISABLE_TESTS=$(usex !test)
- )
- cmake-utils_src_configure
-}
diff --git a/dev-libs/injeqt/metadata.xml b/dev-libs/injeqt/metadata.xml
deleted file mode 100644
index f55520d1290a..000000000000
--- a/dev-libs/injeqt/metadata.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="person">
- <email>reavertm@gentoo.org</email>
- <name>Maciej Mrozowski</name>
- </maintainer>
- <upstream>
- <remote-id type="github">vogel/injeqt</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/dev-libs/intel-compute-runtime/Manifest b/dev-libs/intel-compute-runtime/Manifest
index 6dafd299d6dc..bd9666305d2e 100644
--- a/dev-libs/intel-compute-runtime/Manifest
+++ b/dev-libs/intel-compute-runtime/Manifest
@@ -1,2 +1,2 @@
-DIST intel-compute-runtime-21.46.21636.tar.gz 4878855 BLAKE2B 0ada296b36567038b2abeba50c2dae6604981f00cdfc0d5d9d197c793534c887fa1d321ced34b37cf6760bdc9e2b8769cdc24fe3884036b78b983660c90b1ee7 SHA512 a63436d049737b955f0e23bbfc78684f665f3d1a668120e803165839792144154f3f42a52c6533611711592ba6e41408d81196a61e318746b1dae1392d1d29ac
-DIST intel-compute-runtime-21.50.21939.tar.gz 5106368 BLAKE2B 3a8613c7178975bf930f0ccbed06d31952f05c8316e7735db759a7bcc8b81b5bd3040af62bae6e63fc9781ce2e6e8f035751cd6696b4c7cfbb6025f3d4fcfd8b SHA512 cabcb0fb9816ca8e6b93fa069c73926ccdaf3803c073b11f62477f80d38af49a7b4e814765a40e3daae50a6159560872c5b5123f64e68a570556c80d47a120c9
+DIST intel-compute-runtime-24.05.28454.17.tar.gz 6963009 BLAKE2B ca4840dedbea06bba7933ba74658eee602a6de19d35ec4baac1d41d5eb3041f16a4e7e82072f98961d19d2e7f97b9f3ad698ff84532f009537d23d7970162fc5 SHA512 f70967c649e7a17eab7fa550a2b344333357717021c16e3116eb47be45ea806bb0fc64795dad21027e7f055318f1e05c9e726c3e735dc3b7336de1839f6eae8e
+DIST intel-compute-runtime-24.13.29138.7.tar.gz 7056376 BLAKE2B e09c0a8e4b3f31b53879430401074f9861dc9384524dfe6c2bd87c9f12cd064688b08da1eefc7f9453141b008181bb66f187e4bf8f1fe0db8df4946b3cca6313 SHA512 01b3ded0d42c439314f83e9eac45dcdaaa401128fa83836d2cee4514351b8b43ae0b19a6485a16f5f08ef0d76595e6ee749fe1fff9a5ee04677e3d5ef33408da
diff --git a/dev-libs/intel-compute-runtime/files/intel-compute-runtime-21.31.20514-no_Werror.patch b/dev-libs/intel-compute-runtime/files/intel-compute-runtime-21.31.20514-no_Werror.patch
deleted file mode 100644
index bd77b7c4e9ab..000000000000
--- a/dev-libs/intel-compute-runtime/files/intel-compute-runtime-21.31.20514-no_Werror.patch
+++ /dev/null
@@ -1,10 +0,0 @@
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -868,7 +868,6 @@
- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-noexcept-type") # Added for gtest
- endif()
- endif()
-- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Werror")
-
- if(USE_SANITIZE_UB)
- check_cxx_compiler_flag(-fsanitize=undefined COMPILER_SUPPORTS_UNDEFINED_BEHAVIOR_SANITIZER)
diff --git a/dev-libs/intel-compute-runtime/files/intel-compute-runtime-22.24.23453-remove-fortify-sources.patch b/dev-libs/intel-compute-runtime/files/intel-compute-runtime-22.24.23453-remove-fortify-sources.patch
new file mode 100644
index 000000000000..dc0ab96dde0c
--- /dev/null
+++ b/dev-libs/intel-compute-runtime/files/intel-compute-runtime-22.24.23453-remove-fortify-sources.patch
@@ -0,0 +1,20 @@
+diff --git a/compute-runtime-22.24.23453/CMakeLists.txt b/compute-runtime-22.24.23453/CMakeLists.txt
+index f227808..83075f9 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -702,7 +702,6 @@ if("${CMAKE_BUILD_TYPE}" STREQUAL "Release")
+ else()
+ if(${CMAKE_CXX_COMPILER_ID} STREQUAL "Clang")
+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fstack-protector-strong")
+- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -O2 -D_FORTIFY_SOURCE=2")
+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wformat -Wformat-security")
+ else()
+ # gcc, g++ only
+@@ -711,7 +710,6 @@ if("${CMAKE_BUILD_TYPE}" STREQUAL "Release")
+ else()
+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fstack-protector-strong")
+ endif()
+- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -O2 -D_FORTIFY_SOURCE=2")
+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wformat -Wformat-security")
+ set(CMAKE_SHARED_LINKER_FLAGS_RELEASE "${CMAKE_SHARED_LINKER_FLAGS_RELEASE} -Wl,-z,noexecstack")
+ set(CMAKE_SHARED_LINKER_FLAGS_RELEASE "${CMAKE_SHARED_LINKER_FLAGS_RELEASE} -Wl,-z,relro")
diff --git a/dev-libs/intel-compute-runtime/intel-compute-runtime-21.46.21636-r1.ebuild b/dev-libs/intel-compute-runtime/intel-compute-runtime-21.46.21636-r1.ebuild
deleted file mode 100644
index 18023bba0b18..000000000000
--- a/dev-libs/intel-compute-runtime/intel-compute-runtime-21.46.21636-r1.ebuild
+++ /dev/null
@@ -1,61 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit cmake
-
-MY_PN="${PN/intel-/}"
-MY_P="${MY_PN}-${PV}"
-
-DESCRIPTION="Intel Graphics Compute Runtime for oneAPI Level Zero and OpenCL Driver"
-HOMEPAGE="https://github.com/intel/compute-runtime"
-SRC_URI="https://github.com/intel/${MY_PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
-S="${WORKDIR}/${MY_P}"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64"
-IUSE="+l0 +vaapi"
-
-RDEPEND="
- dev-libs/libnl:3
- dev-libs/libxml2:2
- >=dev-util/intel-graphics-compiler-1.0.8744
- >=dev-util/intel-graphics-system-controller-0.2.4
- >=media-libs/gmmlib-21.2.1:=
- >=virtual/opencl-3
- l0? ( >=dev-libs/level-zero-1.6.2 )
- vaapi? (
- x11-libs/libdrm[video_cards_intel]
- x11-libs/libva
- )
-"
-
-# for Khronos OpenGL headers
-DEPEND="
- ${RDEPEND}
- media-libs/mesa
-"
-
-BDEPEND="virtual/pkgconfig"
-
-DOCS=( "README.md" "FAQ.md" )
-
-PATCHES=( "${FILESDIR}/${PN}-21.31.20514-no_Werror.patch" )
-
-src_configure() {
- local mycmakeargs=(
- -DBUILD_WITH_L0="$(usex l0)"
- -DDISABLE_LIBVA="$(usex !vaapi)"
- -DKHRONOS_GL_HEADERS_DIR="${ESYSROOT}/usr/include"
- -DOCL_ICD_VENDORDIR="${EPREFIX}/etc/OpenCL/vendors"
-
- # If enabled, tests are automatically run during
- # the compile phase and we cannot run them because
- # they require permissions to access the hardware.
- -DSKIP_UNIT_TESTS="ON"
- )
-
- cmake_src_configure
-}
diff --git a/dev-libs/intel-compute-runtime/intel-compute-runtime-21.50.21939.ebuild b/dev-libs/intel-compute-runtime/intel-compute-runtime-21.50.21939.ebuild
deleted file mode 100644
index 211c859a70c9..000000000000
--- a/dev-libs/intel-compute-runtime/intel-compute-runtime-21.50.21939.ebuild
+++ /dev/null
@@ -1,61 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit cmake
-
-MY_PN="${PN/intel-/}"
-MY_P="${MY_PN}-${PV}"
-
-DESCRIPTION="Intel Graphics Compute Runtime for oneAPI Level Zero and OpenCL Driver"
-HOMEPAGE="https://github.com/intel/compute-runtime"
-SRC_URI="https://github.com/intel/${MY_PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
-S="${WORKDIR}/${MY_P}"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64"
-IUSE="+l0 +vaapi"
-
-RDEPEND="
- dev-libs/libnl:3
- dev-libs/libxml2:2
- >=dev-util/intel-graphics-compiler-1.0.9389
- >=dev-util/intel-graphics-system-controller-0.2.4
- >=media-libs/gmmlib-21.2.1:=
- >=virtual/opencl-3
- l0? ( >=dev-libs/level-zero-1.6.2 )
- vaapi? (
- x11-libs/libdrm[video_cards_intel]
- x11-libs/libva
- )
-"
-
-# for Khronos OpenGL headers
-DEPEND="
- ${RDEPEND}
- media-libs/mesa
-"
-
-BDEPEND="virtual/pkgconfig"
-
-DOCS=( "README.md" "FAQ.md" )
-
-PATCHES=( "${FILESDIR}/${PN}-21.31.20514-no_Werror.patch" )
-
-src_configure() {
- local mycmakeargs=(
- -DBUILD_WITH_L0="$(usex l0)"
- -DDISABLE_LIBVA="$(usex !vaapi)"
- -DKHRONOS_GL_HEADERS_DIR="${ESYSROOT}/usr/include"
- -DOCL_ICD_VENDORDIR="${EPREFIX}/etc/OpenCL/vendors"
-
- # If enabled, tests are automatically run during
- # the compile phase and we cannot run them because
- # they require permissions to access the hardware.
- -DSKIP_UNIT_TESTS="ON"
- )
-
- cmake_src_configure
-}
diff --git a/dev-libs/intel-compute-runtime/intel-compute-runtime-24.05.28454.17-r1.ebuild b/dev-libs/intel-compute-runtime/intel-compute-runtime-24.05.28454.17-r1.ebuild
new file mode 100644
index 000000000000..6cc55d2ef71c
--- /dev/null
+++ b/dev-libs/intel-compute-runtime/intel-compute-runtime-24.05.28454.17-r1.ebuild
@@ -0,0 +1,84 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+CMAKE_BUILD_TYPE="Release"
+MY_PN="${PN/intel-/}"
+MY_P="${MY_PN}-${PV}"
+
+inherit cmake flag-o-matic
+
+DESCRIPTION="Intel Graphics Compute Runtime for oneAPI Level Zero and OpenCL Driver"
+HOMEPAGE="https://github.com/intel/compute-runtime"
+SRC_URI="https://github.com/intel/${MY_PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/${MY_P}"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64"
+IUSE="+l0 +vaapi"
+
+RDEPEND="
+ >=dev-util/intel-graphics-compiler-1.0.15985.15
+ >=media-libs/gmmlib-22.3.17:=
+"
+
+DEPEND="
+ ${RDEPEND}
+ dev-libs/intel-metrics-discovery:=
+ dev-libs/intel-metrics-library:=
+ dev-libs/libnl:3
+ dev-libs/libxml2:2
+ >=dev-util/intel-graphics-system-controller-0.8.16:=
+ media-libs/mesa
+ >=virtual/opencl-3
+ l0? ( >=dev-libs/level-zero-1.16.1:= )
+ vaapi? (
+ x11-libs/libdrm[video_cards_intel]
+ media-libs/libva
+ )
+"
+
+BDEPEND="virtual/pkgconfig"
+
+DOCS=( "README.md" "FAQ.md" )
+
+PATCHES=(
+ "${FILESDIR}/${PN}-22.24.23453-remove-fortify-sources.patch"
+)
+
+src_prepare() {
+ # Remove '-Werror' from default
+ sed -e '/Werror/d' -i CMakeLists.txt || die
+
+ cmake_src_prepare
+}
+
+src_configure() {
+ # See https://github.com/intel/compute-runtime/issues/531
+ filter-lto
+
+ local mycmakeargs=(
+ -DCCACHE_ALLOWED="OFF"
+ -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr"
+ -DCMAKE_INSTALL_LIBDIR="$(get_libdir)"
+ -DBUILD_WITH_L0="$(usex l0)"
+ -DDISABLE_LIBVA="$(usex !vaapi)"
+ -DNEO__METRICS_LIBRARY_INCLUDE_DIR="${ESYSROOT}/usr/include"
+ -DKHRONOS_GL_HEADERS_DIR="${ESYSROOT}/usr/include"
+ -DOCL_ICD_VENDORDIR="${EPREFIX}/etc/OpenCL/vendors"
+ -DSUPPORT_DG1="ON"
+ -Wno-dev
+
+ # See https://github.com/intel/intel-graphics-compiler/issues/204
+ # -DNEO_DISABLE_BUILTINS_COMPILATION="ON"
+
+ # If enabled, tests are automatically run during
+ # the compile phase and we cannot run them because
+ # they require permissions to access the hardware.
+ -DSKIP_UNIT_TESTS="1"
+ )
+
+ cmake_src_configure
+}
diff --git a/dev-libs/intel-compute-runtime/intel-compute-runtime-24.13.29138.7.ebuild b/dev-libs/intel-compute-runtime/intel-compute-runtime-24.13.29138.7.ebuild
new file mode 100644
index 000000000000..717beccf91d2
--- /dev/null
+++ b/dev-libs/intel-compute-runtime/intel-compute-runtime-24.13.29138.7.ebuild
@@ -0,0 +1,84 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+CMAKE_BUILD_TYPE="Release"
+MY_PN="${PN/intel-/}"
+MY_P="${MY_PN}-${PV}"
+
+inherit cmake flag-o-matic
+
+DESCRIPTION="Intel Graphics Compute Runtime for oneAPI Level Zero and OpenCL Driver"
+HOMEPAGE="https://github.com/intel/compute-runtime"
+SRC_URI="https://github.com/intel/${MY_PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/${MY_P}"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="+l0 +vaapi"
+
+RDEPEND="
+ >=dev-util/intel-graphics-compiler-1.0.15985.15
+ >=media-libs/gmmlib-22.3.17:=
+"
+
+DEPEND="
+ ${RDEPEND}
+ dev-libs/intel-metrics-discovery:=
+ dev-libs/intel-metrics-library:=
+ dev-libs/libnl:3
+ dev-libs/libxml2:2
+ >=dev-util/intel-graphics-system-controller-0.8.16:=
+ media-libs/mesa
+ >=virtual/opencl-3
+ l0? ( >=dev-libs/level-zero-1.16.1:= )
+ vaapi? (
+ x11-libs/libdrm[video_cards_intel]
+ media-libs/libva
+ )
+"
+
+BDEPEND="virtual/pkgconfig"
+
+DOCS=( "README.md" "FAQ.md" )
+
+PATCHES=(
+ "${FILESDIR}/${PN}-22.24.23453-remove-fortify-sources.patch"
+)
+
+src_prepare() {
+ # Remove '-Werror' from default
+ sed -e '/Werror/d' -i CMakeLists.txt || die
+
+ cmake_src_prepare
+}
+
+src_configure() {
+ # See https://github.com/intel/compute-runtime/issues/531
+ filter-lto
+
+ local mycmakeargs=(
+ -DCCACHE_ALLOWED="OFF"
+ -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr"
+ -DCMAKE_INSTALL_LIBDIR="$(get_libdir)"
+ -DBUILD_WITH_L0="$(usex l0)"
+ -DDISABLE_LIBVA="$(usex !vaapi)"
+ -DNEO__METRICS_LIBRARY_INCLUDE_DIR="${ESYSROOT}/usr/include"
+ -DKHRONOS_GL_HEADERS_DIR="${ESYSROOT}/usr/include"
+ -DOCL_ICD_VENDORDIR="${EPREFIX}/etc/OpenCL/vendors"
+ -DSUPPORT_DG1="ON"
+ -Wno-dev
+
+ # See https://github.com/intel/intel-graphics-compiler/issues/204
+ # -DNEO_DISABLE_BUILTINS_COMPILATION="ON"
+
+ # If enabled, tests are automatically run during
+ # the compile phase and we cannot run them because
+ # they require permissions to access the hardware.
+ -DSKIP_UNIT_TESTS="1"
+ )
+
+ cmake_src_configure
+}
diff --git a/dev-libs/intel-metrics-discovery/Manifest b/dev-libs/intel-metrics-discovery/Manifest
new file mode 100644
index 000000000000..7adc5c3b7fe9
--- /dev/null
+++ b/dev-libs/intel-metrics-discovery/Manifest
@@ -0,0 +1,2 @@
+DIST metrics-discovery-1.12.170.tar.gz 4932048 BLAKE2B c4cf382ff29de4319f44863e0e45a0bb424c3f8af93c198723941c35f579e4d25252c99e6726d724483eae74e50a6315933106aa3e3bba8dad1af9a7ed8284fe SHA512 b4bb4465a059c7222b830ae3541eb1d6171d91f03ec131c1f8a079f6e8b2aed7c9f00899ae23744b986e070897eb135eaa4eff882d1cb173c80d6d2ce1ba3955
+DIST metrics-discovery-1.12.171.tar.gz 5219784 BLAKE2B 3927ad270060543d3dbca9e32abfa83661597313a54bec591098c7f0b48443326d4bc3c13f600b8b53ba4ca2850c15c2c2bee7dc117ca38de9bad3c5b4f8d8b5 SHA512 7c08841e86af29465c2d09788d7230bd9401eb02c35eb0e582db68a389c6e867cbb2f9eb38876cd00ffa519633a16c804454d43efd8c32fb61e39bada202708f
diff --git a/dev-libs/intel-metrics-discovery/files/intel-metrics-discovery-1.12.170-revert-definitions.patch b/dev-libs/intel-metrics-discovery/files/intel-metrics-discovery-1.12.170-revert-definitions.patch
new file mode 100644
index 000000000000..e8d1d5821e46
--- /dev/null
+++ b/dev-libs/intel-metrics-discovery/files/intel-metrics-discovery-1.12.170-revert-definitions.patch
@@ -0,0 +1,24 @@
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -443,7 +443,7 @@
+ if ("${BUILD_TYPE}" STREQUAL "release")
+ add_definitions(-DNDEBUG)
+ # security compiler flags
+- add_definitions(-O2 -D_FORTIFY_SOURCE=2 -Wformat)
++ add_definitions(-Wformat)
+ elseif ("${BUILD_TYPE}" STREQUAL "release-internal" OR
+ "${BUILD_TYPE}" STREQUAL "releaseinternal")
+ add_definitions(-D_RELEASE_INTERNAL)
+@@ -467,12 +467,7 @@
+ "${BUILD_TYPE}" STREQUAL "release-internal" OR
+ "${BUILD_TYPE}" STREQUAL "releaseinternal")
+ add_definitions(-Werror=format-security) # treat format string security warnings as errors
+- add_definitions(-Werror) # treat warning as errors
+ add_definitions(-fvisibility=hidden) # to disable exporting internal symbols (by default gcc exports all symbols)
+- add_definitions(-flto) # enables Link-Time Optimization (LTO)
+- add_definitions(-fPIC) # generates position-independent code during the compilation phase
+- add_definitions(-fPIE) # generates position-independent executables during the compilation phase
+- add_definitions(-pie) # produces position-independent executables during the linking phase
+ elseif ("${BUILD_TYPE}" STREQUAL "debug")
+ add_definitions(-g)
+ endif ()
diff --git a/dev-libs/intel-metrics-discovery/intel-metrics-discovery-1.12.170.ebuild b/dev-libs/intel-metrics-discovery/intel-metrics-discovery-1.12.170.ebuild
new file mode 100644
index 000000000000..728ed054c227
--- /dev/null
+++ b/dev-libs/intel-metrics-discovery/intel-metrics-discovery-1.12.170.ebuild
@@ -0,0 +1,29 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+CMAKE_BUILD_TYPE="Release"
+MY_PN="${PN/intel-/}"
+MY_P="${MY_PN}-${PV}"
+
+inherit cmake
+
+DESCRIPTION="A user mode library that provides access to GPU performance data"
+HOMEPAGE="https://github.com/intel/metrics-discovery"
+SRC_URI="https://github.com/intel/${MY_PN}/archive/refs/tags/${MY_P}.tar.gz"
+S="${WORKDIR}/${MY_PN}-${MY_P}"
+
+LICENSE="MIT"
+SLOT="0/${PV}"
+KEYWORDS="amd64"
+
+DEPEND="x11-libs/libdrm"
+RDEPEND="${DEPEND}"
+
+PATCHES=( "${FILESDIR}/${PN}-1.12.170-revert-definitions.patch" )
+
+src_configure() {
+ local mycmakeargs=( -DLINUX_DISTRO="Gentoo" )
+ cmake_src_configure
+}
diff --git a/dev-libs/intel-metrics-discovery/intel-metrics-discovery-1.12.171.ebuild b/dev-libs/intel-metrics-discovery/intel-metrics-discovery-1.12.171.ebuild
new file mode 100644
index 000000000000..1aa1fe8dda1b
--- /dev/null
+++ b/dev-libs/intel-metrics-discovery/intel-metrics-discovery-1.12.171.ebuild
@@ -0,0 +1,29 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+CMAKE_BUILD_TYPE="Release"
+MY_PN="${PN/intel-/}"
+MY_P="${MY_PN}-${PV}"
+
+inherit cmake
+
+DESCRIPTION="A user mode library that provides access to GPU performance data"
+HOMEPAGE="https://github.com/intel/metrics-discovery"
+SRC_URI="https://github.com/intel/${MY_PN}/archive/refs/tags/${MY_P}.tar.gz"
+S="${WORKDIR}/${MY_PN}-${MY_P}"
+
+LICENSE="MIT"
+SLOT="0/${PV}"
+KEYWORDS="~amd64"
+
+DEPEND="x11-libs/libdrm"
+RDEPEND="${DEPEND}"
+
+PATCHES=( "${FILESDIR}/${PN}-1.12.170-revert-definitions.patch" )
+
+src_configure() {
+ local mycmakeargs=( -DLINUX_DISTRO="Gentoo" )
+ cmake_src_configure
+}
diff --git a/dev-libs/intel-metrics-discovery/metadata.xml b/dev-libs/intel-metrics-discovery/metadata.xml
new file mode 100644
index 000000000000..446f29fca8dd
--- /dev/null
+++ b/dev-libs/intel-metrics-discovery/metadata.xml
@@ -0,0 +1,25 @@
+<?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@taujhe.de</email>
+ <name>Jan Henke</name>
+ </maintainer>
+ <maintainer type="project" proxied="proxy">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+ </maintainer>
+ <maintainer type="person">
+ <email>conikost@gentoo.org</email>
+ <name>Conrad Kostecki</name>
+ </maintainer>
+ <longdescription>
+ This software is a user mode library that
+ provides access to GPU performance data.
+ The library has OS abstraction layer that
+ allows for interoperability in different environments.
+ </longdescription>
+ <upstream>
+ <remote-id type="github">intel/metrics-discovery</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/intel-metrics-library/Manifest b/dev-libs/intel-metrics-library/Manifest
new file mode 100644
index 000000000000..7ca21434191c
--- /dev/null
+++ b/dev-libs/intel-metrics-library/Manifest
@@ -0,0 +1,2 @@
+DIST metrics-library-1.0.156.tar.gz 253010 BLAKE2B c00c58c35f83672ad19cdff64f5df8193543de76c071cd6a9c41de434b635051d90f143aa8a8e5b45d36153b73371c2e77c9b3f4df7104ae54bffd784cd37fa3 SHA512 16a50c62c1d87f4e830f5a916ed95882c04d257f8daf3b8d2f8fb7d8887fe899b9f35429fefe19dc99e0b485d6b1e98cfa4082d793cc867f07ceac68284afb81
+DIST metrics-library-1.0.161.tar.gz 250352 BLAKE2B 5b991aadd5ed477a478763111bdac96374b99dd657db58403753b4504214d703e26156fd65c1ce10eae98bd63f117d6e3e83b178aadc610948b3163b91d1cb7b SHA512 0a6b51bcdd24402b47823465739a64d264a24a17ccbbf950b71d3d3374a5a3cc31726cb5918ad67c16d693e21a2f8eba91f1f8815ed1c6d5ef89163cabeefdf9
diff --git a/dev-libs/intel-metrics-library/intel-metrics-library-1.0.156.ebuild b/dev-libs/intel-metrics-library/intel-metrics-library-1.0.156.ebuild
new file mode 100644
index 000000000000..553a918ad5e3
--- /dev/null
+++ b/dev-libs/intel-metrics-library/intel-metrics-library-1.0.156.ebuild
@@ -0,0 +1,27 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+CMAKE_BUILD_TYPE="Release"
+MY_PN="${PN/intel-/}"
+MY_P="${MY_PN}-${PV}"
+
+inherit cmake
+
+DESCRIPTION="User mode driver helper library that provides access to GPU performance counters"
+HOMEPAGE="https://github.com/intel/metrics-library"
+SRC_URI="https://github.com/intel/${MY_PN}/archive/refs/tags/${MY_P}.tar.gz"
+S="${WORKDIR}/${MY_PN}-${MY_P}"
+
+LICENSE="MIT"
+SLOT="0/${PV}"
+KEYWORDS="amd64"
+
+DEPEND="x11-libs/libdrm"
+RDEPEND="${DEPEND}"
+
+src_prepare() {
+ sed -e '/-Werror/d' -i CMakeLists.txt || die
+ cmake_src_prepare
+}
diff --git a/dev-libs/intel-metrics-library/intel-metrics-library-1.0.161.ebuild b/dev-libs/intel-metrics-library/intel-metrics-library-1.0.161.ebuild
new file mode 100644
index 000000000000..86657df2d0c0
--- /dev/null
+++ b/dev-libs/intel-metrics-library/intel-metrics-library-1.0.161.ebuild
@@ -0,0 +1,27 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+CMAKE_BUILD_TYPE="Release"
+MY_PN="${PN/intel-/}"
+MY_P="${MY_PN}-${PV}"
+
+inherit cmake
+
+DESCRIPTION="User mode driver helper library that provides access to GPU performance counters"
+HOMEPAGE="https://github.com/intel/metrics-library"
+SRC_URI="https://github.com/intel/${MY_PN}/archive/refs/tags/${MY_P}.tar.gz"
+S="${WORKDIR}/${MY_PN}-${MY_P}"
+
+LICENSE="MIT"
+SLOT="0/${PV}"
+KEYWORDS="~amd64"
+
+DEPEND="x11-libs/libdrm"
+RDEPEND="${DEPEND}"
+
+src_prepare() {
+ sed -e '/-Werror/d' -i CMakeLists.txt || die
+ cmake_src_prepare
+}
diff --git a/dev-libs/intel-metrics-library/metadata.xml b/dev-libs/intel-metrics-library/metadata.xml
new file mode 100644
index 000000000000..f431a6dd5217
--- /dev/null
+++ b/dev-libs/intel-metrics-library/metadata.xml
@@ -0,0 +1,28 @@
+<?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@taujhe.de</email>
+ <name>Jan Henke</name>
+ </maintainer>
+ <maintainer type="project" proxied="proxy">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+ </maintainer>
+ <maintainer type="person">
+ <email>conikost@gentoo.org</email>
+ <name>Conrad Kostecki</name>
+ </maintainer>
+ <longdescription>
+ This software is a user mode driver helper library
+ that provides access to GPU performance counters.
+
+ Supported Platforms are:
+ * Intel Processors with Gen9 graphics devices
+ * Intel Processors with Gen11 graphics devices
+ * Intel Processors with Gen12 graphics devices
+ </longdescription>
+ <upstream>
+ <remote-id type="github">intel/metrics-library</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/intel-vc-intrinsics/Manifest b/dev-libs/intel-vc-intrinsics/Manifest
new file mode 100644
index 000000000000..e15621065f10
--- /dev/null
+++ b/dev-libs/intel-vc-intrinsics/Manifest
@@ -0,0 +1 @@
+DIST intel-vc-intrinsics-0.18.0.tar.gz 145201 BLAKE2B 2260949a134cd5dff9e0c2be3dd594b4e780f69f897c3966abc3c5787f0acc1a21d70d91d5825b6b81a9b64de5c0ae1079cc136dbec638757212c0e21ac9fed0 SHA512 db68f1b95bfa1c861bb2788161f355b196cb7f93d86eb9f8bee4dfe77771660985fd6615fc616b79e5823b0d0712c30597c30b9a4be56f7c5bc46626a87fbcda
diff --git a/dev-libs/intel-vc-intrinsics/intel-vc-intrinsics-0.18.0.ebuild b/dev-libs/intel-vc-intrinsics/intel-vc-intrinsics-0.18.0.ebuild
new file mode 100644
index 000000000000..30d735ec61b1
--- /dev/null
+++ b/dev-libs/intel-vc-intrinsics/intel-vc-intrinsics-0.18.0.ebuild
@@ -0,0 +1,39 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+CMAKE_BUILD_TYPE="Release"
+LLVM_COMPAT=( {15..17} )
+MY_PN="${PN/intel-/}"
+MY_P="${MY_PN}-${PV}"
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit cmake llvm-r1 python-any-r1
+
+DESCRIPTION="A set of new intrinsics on top of core LLVM IR instructions"
+HOMEPAGE="https://github.com/intel/vc-intrinsics"
+SRC_URI="https://github.com/intel/${MY_PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/${MY_P}"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64"
+
+DEPEND="
+ dev-libs/libxml2:2=
+ $(llvm_gen_dep '
+ sys-devel/llvm:${LLVM_SLOT}
+ ')
+ sys-libs/zlib
+"
+RDEPEND="${DEPEND}"
+BDEPEND="${PYTHON_DEPS}"
+
+src_configure() {
+ local mycmakeargs=(
+ -DLLVM_DIR="$(get_llvm_prefix)"
+ )
+
+ cmake_src_configure
+}
diff --git a/dev-libs/intel-vc-intrinsics/metadata.xml b/dev-libs/intel-vc-intrinsics/metadata.xml
new file mode 100644
index 000000000000..923708506038
--- /dev/null
+++ b/dev-libs/intel-vc-intrinsics/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" proxied="yes">
+ <email>gentoo@taujhe.de</email>
+ <name>Jan Henke</name>
+ </maintainer>
+ <maintainer type="project" proxied="proxy">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+ </maintainer>
+ <maintainer type="person">
+ <email>conikost@gentoo.org</email>
+ <name>Conrad Kostecki</name>
+ </maintainer>
+ <longdescription>
+ VC Intrinsics project contains a set of new intrinsics on
+ top of core LLVM IR instructions that represent SIMD semantics
+ of a program targeting GPU.
+ </longdescription>
+ <upstream>
+ <remote-id type="github">intel/vc-intrinsics</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/isa-l/Manifest b/dev-libs/isa-l/Manifest
index 6f03ccf55882..bfbf741347fa 100644
--- a/dev-libs/isa-l/Manifest
+++ b/dev-libs/isa-l/Manifest
@@ -1 +1,2 @@
DIST isa-l-2.30.0.tar.gz 649389 BLAKE2B 3364733d61ce16c91891b6da63d2b4fb2bc004761c91f2076a9a6441adaea24af43b6d32caec011c06206e3811e8c9639f8ceaac89fe97800144c7f78c80c350 SHA512 d3ecfb7326097534b06a74b584100336509525ae7cadc6112d0c27e3d8704f3810e18f583d3cc33fa266bfec96db023607622b22ddbf17988ec4bf1bb3b3b9b2
+DIST isa-l-2.31.0.tar.gz 705375 BLAKE2B 80e0c7f7351e4765393fc5734452ab00d84a84fd017a529a0b96d594c045e7e1c23957d292a56fc449e611dc29f3d4cc2a66c75055d1a7fbb31ca1d6f5c4650a SHA512 bbda3cf84e12352728c16d043ae71160569bff9540928eebb986e22d570176162a7f74fba9423d2349d014df061c09fc084343fbc51077415cfae9f692906dd8
diff --git a/dev-libs/isa-l/files/isa-l-2.30.0_fix-shebang.patch b/dev-libs/isa-l/files/isa-l-2.30.0_fix-shebang.patch
new file mode 100644
index 000000000000..e7db25d5a8ec
--- /dev/null
+++ b/dev-libs/isa-l/files/isa-l-2.30.0_fix-shebang.patch
@@ -0,0 +1,26 @@
+From c0231591aa884754830e786cc75847b7c6c46d89 Mon Sep 17 00:00:00 2001
+From: orbea <orbea@riseup.net>
+Date: Sat, 9 Mar 2024 11:32:14 -0800
+Subject: [PATCH] tools: fix shebang
+
+This causes a build failure with slibtool.
+
+Gentoo issue: https://bugs.gentoo.org/829500
+
+Signed-off-by: orbea <orbea@riseup.net>
+--- a/tools/nasm-filter.sh
++++ b/tools/nasm-filter.sh
+@@ -1,4 +1,4 @@
+-#/bin/sh
++#!/bin/sh
+
+ # Filter out unnecessary options added by automake
+
+--- a/tools/yasm-filter.sh
++++ b/tools/yasm-filter.sh
+@@ -1,4 +1,4 @@
+-#/bin/sh
++#!/bin/sh
+
+ # Filter out unnecessary options added by automake
+
diff --git a/dev-libs/isa-l/files/isa-l-2.30.0_makefile-x86.patch b/dev-libs/isa-l/files/isa-l-2.30.0_makefile-x86.patch
new file mode 100644
index 000000000000..34b60337fe8f
--- /dev/null
+++ b/dev-libs/isa-l/files/isa-l-2.30.0_makefile-x86.patch
@@ -0,0 +1,12 @@
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -64,8 +64,7 @@
+ endif
+
+ if CPU_X86_32
+-libisal_la_SOURCES += ${lsrc_x86_32}
+-other_tests += ${other_tests_x86_32}
++libisal_la_SOURCES += ${lsrc_base_aliases}
+ endif
+
+ if CPU_AARCH64
diff --git a/dev-libs/isa-l/files/isa-l-2.31.0_makefile-no-D.patch b/dev-libs/isa-l/files/isa-l-2.31.0_makefile-no-D.patch
new file mode 100644
index 000000000000..bb99550b2426
--- /dev/null
+++ b/dev-libs/isa-l/files/isa-l-2.31.0_makefile-no-D.patch
@@ -0,0 +1,16 @@
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -136,11 +136,11 @@
+ EXTRA_DIST += tools/yasm-filter.sh tools/nasm-filter.sh
+ EXTRA_DIST += tools/yasm-cet-filter.sh tools/nasm-cet-filter.sh
+
+-AM_CFLAGS = ${my_CFLAGS} ${INCLUDE} $(src_include) ${ARCH} ${D}
++AM_CFLAGS = ${my_CFLAGS} ${INCLUDE} $(src_include) ${ARCH} ${DIST_D}
+ if CPU_AARCH64
+ AM_CCASFLAGS = ${AM_CFLAGS}
+ else
+-AM_CCASFLAGS = ${yasm_args} ${INCLUDE} ${src_include} ${DEFS} ${D}
++AM_CCASFLAGS = ${yasm_args} ${INCLUDE} ${src_include} ${DEFS} ${DIST_D}
+ endif
+
+ .asm.s:
diff --git a/dev-libs/isa-l/files/isa-l-2.31.0_makefile-x86.patch b/dev-libs/isa-l/files/isa-l-2.31.0_makefile-x86.patch
new file mode 100644
index 000000000000..97965a7a9d2c
--- /dev/null
+++ b/dev-libs/isa-l/files/isa-l-2.31.0_makefile-x86.patch
@@ -0,0 +1,12 @@
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -67,8 +67,7 @@
+
+ if CPU_X86_32
+ ARCH=-Dx86_32
+-libisal_la_SOURCES += ${lsrc_x86_32}
+-other_tests += ${other_tests_x86_32}
++libisal_la_SOURCES += ${lsrc_base_aliases}
+ endif
+
+ if CPU_AARCH64
diff --git a/dev-libs/isa-l/files/isa-l-2.31.0_user-ldflags.patch b/dev-libs/isa-l/files/isa-l-2.31.0_user-ldflags.patch
new file mode 100644
index 000000000000..5162563b3646
--- /dev/null
+++ b/dev-libs/isa-l/files/isa-l-2.31.0_user-ldflags.patch
@@ -0,0 +1,10 @@
+--- a/configure.ac
++++ b/configure.ac
+@@ -83,6 +83,7 @@
+ -Wl,-z,noexecstack \
+ -Wl,-z,relro \
+ -Wl,-z,now \
++${LDFLAGS} \
+ "
+ AC_MSG_CHECKING([if $LD supports $LDFLAGS])
+ AC_LINK_IFELSE([AC_LANG_PROGRAM([[]], [[
diff --git a/dev-libs/isa-l/isa-l-2.30.0-r1.ebuild b/dev-libs/isa-l/isa-l-2.30.0-r1.ebuild
index 793f5856db3f..e80e64915e67 100644
--- a/dev-libs/isa-l/isa-l-2.30.0-r1.ebuild
+++ b/dev-libs/isa-l/isa-l-2.30.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=8
@@ -11,28 +11,41 @@ SRC_URI="https://github.com/intel/${PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.
LICENSE="BSD"
SLOT="0"
-KEYWORDS="~amd64 ~riscv"
+KEYWORDS="amd64 ~arm ~arm64 ~riscv -x86"
IUSE="cpu_flags_x86_avx512f"
# AVX512 support in yasm is still work in progress
-BDEPEND="amd64? (
- cpu_flags_x86_avx512f? ( >=dev-lang/nasm-2.13 )
- !cpu_flags_x86_avx512f? ( || (
- >=dev-lang/nasm-2.11.01
- >=dev-lang/yasm-1.2.0
- ) )
-)"
+BDEPEND="
+ amd64? (
+ cpu_flags_x86_avx512f? ( >=dev-lang/nasm-2.13 )
+ !cpu_flags_x86_avx512f? ( || (
+ >=dev-lang/nasm-2.11.01
+ >=dev-lang/yasm-1.2.0
+ ) )
+ )
+ x86? (
+ cpu_flags_x86_avx512f? ( >=dev-lang/nasm-2.13 )
+ !cpu_flags_x86_avx512f? ( || (
+ >=dev-lang/nasm-2.11.01
+ >=dev-lang/yasm-1.2.0
+ ) )
+ )
+"
PATCHES=(
+ "${FILESDIR}"/${PN}-2.30.0_fix-shebang.patch
"${FILESDIR}"/${PN}-2.30.0_makefile-no-D.patch
+ "${FILESDIR}"/${PN}-2.30.0_makefile-x86.patch
)
src_prepare() {
default
- # isa-l does not support arbitrary assemblers on amd64 (and presumably x86),
+ # isa-l does not support arbitrary assemblers on amd64 and x86,
# it must be either nasm or yasm.
- use amd64 && unset AS
+ if use amd64 || use x86; then
+ unset AS
+ fi
eautoreconf
}
diff --git a/dev-libs/isa-l/isa-l-2.31.0.ebuild b/dev-libs/isa-l/isa-l-2.31.0.ebuild
new file mode 100644
index 000000000000..2ba069c9d386
--- /dev/null
+++ b/dev-libs/isa-l/isa-l-2.31.0.ebuild
@@ -0,0 +1,57 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools
+
+DESCRIPTION="Intelligent Storage Acceleration Library"
+HOMEPAGE="https://github.com/intel/isa-l"
+SRC_URI="https://github.com/intel/${PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~x86"
+IUSE="cpu_flags_x86_avx512f"
+
+# AVX512 support in yasm is still work in progress
+BDEPEND="
+ amd64? (
+ cpu_flags_x86_avx512f? ( >=dev-lang/nasm-2.13 )
+ !cpu_flags_x86_avx512f? ( || (
+ >=dev-lang/nasm-2.11.01
+ >=dev-lang/yasm-1.2.0
+ ) )
+ )
+ x86? (
+ cpu_flags_x86_avx512f? ( >=dev-lang/nasm-2.13 )
+ !cpu_flags_x86_avx512f? ( || (
+ >=dev-lang/nasm-2.11.01
+ >=dev-lang/yasm-1.2.0
+ ) )
+ )
+"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-2.30.0_fix-shebang.patch
+ "${FILESDIR}"/${PN}-2.31.0_makefile-no-D.patch
+ "${FILESDIR}"/${PN}-2.31.0_makefile-x86.patch
+ "${FILESDIR}"/${PN}-2.31.0_user-ldflags.patch
+)
+
+src_prepare() {
+ default
+
+ # isa-l does not support arbitrary assemblers on amd64 and x86,
+ # it must be either nasm or yasm.
+ if use amd64 || use x86; then
+ unset AS
+ fi
+
+ eautoreconf
+}
+
+src_install() {
+ default
+ find "${ED}" -name '*.la' -delete || die
+}
diff --git a/dev-libs/isa-l_crypto/Manifest b/dev-libs/isa-l_crypto/Manifest
new file mode 100644
index 000000000000..4934b64eadcb
--- /dev/null
+++ b/dev-libs/isa-l_crypto/Manifest
@@ -0,0 +1 @@
+DIST isa-l_crypto-2.24.0.tar.gz 687392 BLAKE2B 10b5e820f9e9d25f0f013d4cfe832760363bf1f1f2759a94f733b25ebd62b52a98262969e24be1ba86d132ee6eaefc9e64c99cceb4f9ba206c848b9aeb45f9d8 SHA512 f72800a8ff9c0b2bfdd88cb6780db91bfd5763af04a6318aa3acaff0b1326e3348cb3a4aff17c99636eb291d1ff6249dcf896392a2450adacd83ddbf4c7299da
diff --git a/dev-libs/isa-l_crypto/files/isa-l_crypto-2.24.0_fix-shebang.patch b/dev-libs/isa-l_crypto/files/isa-l_crypto-2.24.0_fix-shebang.patch
new file mode 100644
index 000000000000..fc26b792aacf
--- /dev/null
+++ b/dev-libs/isa-l_crypto/files/isa-l_crypto-2.24.0_fix-shebang.patch
@@ -0,0 +1,26 @@
+From b7158c5382163385ef08edec8021da259bf7afe4 Mon Sep 17 00:00:00 2001
+From: orbea <orbea@riseup.net>
+Date: Sat, 9 Mar 2024 11:34:23 -0800
+Subject: [PATCH] tools: fix shebang
+
+This causes a build failure with slibtool.
+
+Gentoo issue: https://bugs.gentoo.org/924403
+
+Signed-off-by: orbea <orbea@riseup.net>
+--- a/tools/nasm-filter.sh
++++ b/tools/nasm-filter.sh
+@@ -1,4 +1,4 @@
+-#/bin/sh
++#!/bin/sh
+
+ # Filter out unnecessary options added by automake
+
+--- a/tools/yasm-filter.sh
++++ b/tools/yasm-filter.sh
+@@ -1,4 +1,4 @@
+-#/bin/sh
++#!/bin/sh
+
+ # Filter out unnecessary options added by automake
+
diff --git a/dev-libs/isa-l_crypto/files/isa-l_crypto-2.24.0_makefile-no-D.patch b/dev-libs/isa-l_crypto/files/isa-l_crypto-2.24.0_makefile-no-D.patch
new file mode 100644
index 000000000000..dec1420e4d31
--- /dev/null
+++ b/dev-libs/isa-l_crypto/files/isa-l_crypto-2.24.0_makefile-no-D.patch
@@ -0,0 +1,13 @@
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -136,8 +136,8 @@
+ EXTRA_DIST += tools/yasm-filter.sh tools/nasm-filter.sh
+ EXTRA_DIST += tools/yasm-cet-filter.sh tools/nasm-cet-filter.sh
+
+-AM_CFLAGS = ${my_CFLAGS} ${INCLUDE} $(src_include) ${D}
+-AM_CCASFLAGS = ${yasm_args} ${INCLUDE} $(src_include) ${DEFS} ${D}
++AM_CFLAGS = ${my_CFLAGS} ${INCLUDE} $(src_include) ${DIST_D}
++AM_CCASFLAGS = ${yasm_args} ${INCLUDE} $(src_include) ${DEFS} ${DIST_D}
+
+ .asm.s:
+ @echo " MKTMP " $@;
diff --git a/dev-libs/isa-l_crypto/isa-l_crypto-2.24.0.ebuild b/dev-libs/isa-l_crypto/isa-l_crypto-2.24.0.ebuild
new file mode 100644
index 000000000000..fba607e71b42
--- /dev/null
+++ b/dev-libs/isa-l_crypto/isa-l_crypto-2.24.0.ebuild
@@ -0,0 +1,44 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools
+
+DESCRIPTION="Intelligent Storage Acceleration Library - cryptographic components"
+HOMEPAGE="https://github.com/intel/isa-l_crypto"
+SRC_URI="https://github.com/intel/${PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="cpu_flags_x86_avx512f"
+
+# AVX512 support in yasm is still work in progress
+BDEPEND="amd64? (
+ cpu_flags_x86_avx512f? ( >=dev-lang/nasm-2.13 )
+ !cpu_flags_x86_avx512f? ( || (
+ >=dev-lang/nasm-2.11.01
+ >=dev-lang/yasm-1.2.0
+ ) )
+)"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-2.24.0_fix-shebang.patch
+ "${FILESDIR}"/${PN}-2.24.0_makefile-no-D.patch
+)
+
+src_prepare() {
+ default
+
+ # isa-l does not support arbitrary assemblers on amd64 (and presumably x86),
+ # it must be either nasm or yasm.
+ use amd64 && unset AS
+
+ eautoreconf
+}
+
+src_install() {
+ default
+ find "${ED}" -name '*.la' -delete || die
+}
diff --git a/dev-libs/isa-l_crypto/metadata.xml b/dev-libs/isa-l_crypto/metadata.xml
new file mode 100644
index 000000000000..aed47168584f
--- /dev/null
+++ b/dev-libs/isa-l_crypto/metadata.xml
@@ -0,0 +1,21 @@
+<?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>
+ <longdescription>
+ ISA-L_crypto is a collection of optimized low-level functions targeting storage applications. ISA-L_crypto includes:
+ * Multi-buffer hashes - run multiple hash jobs together on one core for much better throughput than single-buffer versions.
+ * SHA1, SHA256, SHA512, MD5, SM3
+ * Multi-hash - Get the performance of multi-buffer hashing with a single-buffer interface.
+ * Multi-hash + murmur - run both together.
+ * AES - block ciphers
+ * XTS, GCM, CBC
+ * Rolling hash - Hash input in a window which moves through the input
+ </longdescription>
+ <upstream>
+ <remote-id type="github">intel/isa-l_crypto</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/isl/Manifest b/dev-libs/isl/Manifest
index efecf2e95178..0d86e71006ab 100644
--- a/dev-libs/isl/Manifest
+++ b/dev-libs/isl/Manifest
@@ -1 +1 @@
-DIST isl-0.24.tar.xz 1930956 BLAKE2B 39cbfd18ad05778e3a5a44429261b45e4abc3efe7730ee890674d968890fe5e52c73bc1f8d271c7c3bc72d5754e3f7fcb209bd139e823d19cb9ea4ce1440164d SHA512 ff6bdcff839e1cd473f2a0c1e4dd4a3612ec6fee4544ccbc62b530a7248db2cf93b4b99bf493a86ddf2aba00e768927265d5d411f92061ea85fd7929073428e8
+DIST isl-0.26.tar.xz 2035560 BLAKE2B 2cfe2e0774a991d2385e66f58490c5454382cabc82d74eb4bbe5a603293b7bdc34ca3b087f0884f9da319c447747edc76275ecaf2f171237939f9c7d3c52ced7 SHA512 9b5ec16d14e48f9ac9bf9cd379d3022959cfc617ade9e0d4caf2862299564fecba09d67dbdf1a4071f2f743a4fd0fabd0b0c3d15f5cddfe7226cdd5d6c2a0c66
diff --git a/dev-libs/isl/files/isl-0.19-gdb-autoload-dir.patch b/dev-libs/isl/files/isl-0.19-gdb-autoload-dir.patch
deleted file mode 100644
index 6f8111707e82..000000000000
--- a/dev-libs/isl/files/isl-0.19-gdb-autoload-dir.patch
+++ /dev/null
@@ -1,17 +0,0 @@
-diff -Naur isl-0.19.orig/Makefile.in isl-0.19/Makefile.in
---- isl-0.19.orig/Makefile.in 2018-03-03 11:32:15.000000000 -0500
-+++ isl-0.19/Makefile.in 2018-03-10 17:29:30.039182728 -0500
-@@ -2269,10 +2269,10 @@
- case $$libisl in \
- '') echo Cannot find isl library name. GDB bindings not installed.;; \
- *) echo $(INSTALL_DATA) $(srcdir)/libisl-gdb.py \
-- $(DESTDIR)$(libdir)/$$libisl-gdb.py; \
-- test -z "$(libdir)" || $(MKDIR_P) "$(DESTDIR)$(libdir)"; \
-+ $(DESTDIR)$(prefix)/share/gdb/auto-load$(libdir)/$$libisl-gdb.py; \
-+ test -z "$(libdir)" || $(MKDIR_P) "$(DESTDIR)$(prefix)/share/gdb/auto-load$(libdir)"; \
- $(INSTALL_DATA) $(srcdir)/libisl-gdb.py \
-- $(DESTDIR)$(libdir)/$$libisl-gdb.py; \
-+ $(DESTDIR)$(prefix)/share/gdb/auto-load$(libdir)/$$libisl-gdb.py; \
- esac
-
- uninstall-local:
diff --git a/dev-libs/isl/files/isl-0.24-nobash.patch b/dev-libs/isl/files/isl-0.24-nobash.patch
deleted file mode 100644
index 226daa551c70..000000000000
--- a/dev-libs/isl/files/isl-0.24-nobash.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-Fix-by: Matt Whitlock
-Bug: https://bugs.gentoo.org/786564
---- a/configure.ac 2020-11-01 13:53:47.000000000 +0000
-+++ b/configure.ac 2021-04-28 19:34:28.615119537 +0000
-@@ -83,8 +83,8 @@
- AM_CONDITIONAL(GMP_FOR_MP, test x$with_int = xgmp)
-
- AM_CONDITIONAL(HAVE_CXX11, test "x$HAVE_CXX11" = "x1")
--AM_CONDITIONAL(SMALL_INT_OPT, test "x$with_int" == "ximath-32")
--AS_IF([test "x$with_int" == "ximath-32"], [
-+AM_CONDITIONAL(SMALL_INT_OPT, test "x$with_int" = "ximath-32")
-+AS_IF([test "x$with_int" = "ximath-32"], [
- AC_DEFINE([USE_SMALL_INT_OPT], [], [Use small integer optimization])
- ])
-
---- a/configure 2020-11-01 13:53:55.000000000 +0000
-+++ b/configure 2021-04-28 19:34:29.246125644 +0000
-@@ -20654,7 +20654,7 @@
- HAVE_CXX11_FALSE=
- fi
-
-- if test "x$with_int" == "ximath-32"; then
-+ if test "x$with_int" = "ximath-32"; then
- SMALL_INT_OPT_TRUE=
- SMALL_INT_OPT_FALSE='#'
- else
-@@ -20662,7 +20662,7 @@
- SMALL_INT_OPT_FALSE=
- fi
-
--if test "x$with_int" == "ximath-32"; then :
-+if test "x$with_int" = "ximath-32"; then :
-
-
- $as_echo "#define USE_SMALL_INT_OPT /**/" >>confdefs.h
diff --git a/dev-libs/isl/isl-0.24-r2.ebuild b/dev-libs/isl/isl-0.24-r2.ebuild
deleted file mode 100644
index e53ed5190253..000000000000
--- a/dev-libs/isl/isl-0.24-r2.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
-
-inherit autotools multilib multilib-minimal preserve-libs toolchain-funcs
-
-DESCRIPTION="A library for manipulating integer points bounded by linear constraints"
-HOMEPAGE="http://isl.gforge.inria.fr/ https://libisl.sourceforge.io/"
-SRC_URI="http://isl.gforge.inria.fr/${P}.tar.xz https://libisl.sourceforge.io/${P}.tar.xz"
-
-LICENSE="LGPL-2.1"
-SLOT="0/23"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-IUSE="static-libs"
-
-RDEPEND=">=dev-libs/gmp-5.1.3-r1:=[${MULTILIB_USEDEP}]"
-DEPEND="${RDEPEND}"
-BDEPEND="
- app-arch/xz-utils
- virtual/pkgconfig"
-
-DOCS=( ChangeLog AUTHORS doc/manual.pdf )
-
-PATCHES=(
- "${FILESDIR}"/${PN}-0.24-gdb-autoload-dir.patch
- "${FILESDIR}"/${PN}-0.24-nobash.patch
- "${FILESDIR}"/${PN}-0.24-respect-flags.patch
-)
-
-src_prepare() {
- default
-
- eautoreconf
-}
-
-multilib_src_configure() {
- local econf_opts=(
- $(use_enable static-libs static)
-
- # AX_PROG_CC_FOR_BUILD deficiency:
- # https://wiki.gentoo.org/wiki/Project:Toolchain/use_native_symlinks
- CC_FOR_BUILD="$(tc-getBUILD_CC)"
- )
-
- if ! tc-is-cross-compiler; then
- # Incorrect CFLAGS handling as CFLAGS_FOR_BUILD
- # even for native builds. As a result -O3 is being used
- # regardless of user's CFLAGS.
- econf_opts+=(
- CFLAGS_FOR_BUILD="${CFLAGS}"
- )
- fi
-
- ECONF_SOURCE="${S}" econf "${econf_opts[@]}"
-}
-
-multilib_src_install_all() {
- einstalldocs
-
- find "${ED}" -type f -name '*.la' -delete || die
-}
-
-pkg_preinst() {
- preserve_old_lib \
- /usr/$(get_libdir)/libisl$(get_libname 14) \
- /usr/$(get_libdir)/libisl$(get_libname 15) \
- /usr/$(get_libdir)/libisl$(get_libname 19) \
- /usr/$(get_libdir)/libisl$(get_libname 21) \
- /usr/$(get_libdir)/libisl$(get_libname 22)
-}
-
-pkg_postinst() {
- preserve_old_lib_notify \
- /usr/$(get_libdir)/libisl$(get_libname 14) \
- /usr/$(get_libdir)/libisl$(get_libname 15) \
- /usr/$(get_libdir)/libisl$(get_libname 19) \
- /usr/$(get_libdir)/libisl$(get_libname 21) \
- /usr/$(get_libdir)/libisl$(get_libname 22)
-}
diff --git a/dev-libs/isl/isl-0.24.ebuild b/dev-libs/isl/isl-0.24.ebuild
deleted file mode 100644
index 3c45913215e2..000000000000
--- a/dev-libs/isl/isl-0.24.ebuild
+++ /dev/null
@@ -1,73 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit multilib-minimal preserve-libs toolchain-funcs
-
-DESCRIPTION="A library for manipulating integer points bounded by linear constraints"
-HOMEPAGE="http://isl.gforge.inria.fr/ https://libisl.sourceforge.io/"
-SRC_URI="http://isl.gforge.inria.fr/${P}.tar.xz https://libisl.sourceforge.io/${P}.tar.xz"
-
-LICENSE="LGPL-2.1"
-SLOT="0/23"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-IUSE="static-libs"
-
-RDEPEND=">=dev-libs/gmp-5.1.3-r1[${MULTILIB_USEDEP}]"
-DEPEND="${RDEPEND}"
-BDEPEND="
- app-arch/xz-utils
- virtual/pkgconfig"
-
-DOCS=( ChangeLog AUTHORS doc/manual.pdf )
-
-PATCHES=(
- "${FILESDIR}"/${PN}-0.19-gdb-autoload-dir.patch
- "${FILESDIR}"/${PN}-0.24-nobash.patch
-)
-
-multilib_src_configure() {
- local econf_opts=(
- $(use_enable static-libs static)
-
- # AX_PROG_CC_FOR_BUILD deficiency:
- # https://wiki.gentoo.org/wiki/Project:Toolchain/use_native_symlinks
- CC_FOR_BUILD="$(tc-getBUILD_CC)"
- )
-
- if ! tc-is-cross-compiler; then
- # Incorrect CFLAGS handling as CFLAGS_FOR_BUILD
- # even for native builds. As a result -O3 is being used
- # regardless of user's CFLAGS.
- econf_opts+=(
- CFLAGS_FOR_BUILD="${CFLAGS}"
- )
- fi
-
- ECONF_SOURCE="${S}" econf "${econf_opts[@]}"
-}
-
-multilib_src_install_all() {
- einstalldocs
-
- find "${ED}" -type f -name '*.la' -delete || die
-}
-
-pkg_preinst() {
- preserve_old_lib \
- /usr/$(get_libdir)/libisl$(get_libname 14) \
- /usr/$(get_libdir)/libisl$(get_libname 15) \
- /usr/$(get_libdir)/libisl$(get_libname 19) \
- /usr/$(get_libdir)/libisl$(get_libname 21) \
- /usr/$(get_libdir)/libisl$(get_libname 22)
-}
-
-pkg_postinst() {
- preserve_old_lib_notify \
- /usr/$(get_libdir)/libisl$(get_libname 14) \
- /usr/$(get_libdir)/libisl$(get_libname 15) \
- /usr/$(get_libdir)/libisl$(get_libname 19) \
- /usr/$(get_libdir)/libisl$(get_libname 21) \
- /usr/$(get_libdir)/libisl$(get_libname 22)
-}
diff --git a/dev-libs/isl/isl-0.26.ebuild b/dev-libs/isl/isl-0.26.ebuild
new file mode 100644
index 000000000000..96dbce5b2ff6
--- /dev/null
+++ b/dev-libs/isl/isl-0.26.ebuild
@@ -0,0 +1,78 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools multilib multilib-minimal preserve-libs toolchain-funcs
+
+DESCRIPTION="A library for manipulating integer points bounded by linear constraints"
+HOMEPAGE="https://libisl.sourceforge.io/"
+SRC_URI="https://libisl.sourceforge.io/${P}.tar.xz"
+
+LICENSE="LGPL-2.1"
+SLOT="0/23"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~ppc-macos ~x64-macos ~x64-solaris"
+IUSE="static-libs"
+
+RDEPEND=">=dev-libs/gmp-5.1.3-r1:=[${MULTILIB_USEDEP}]"
+DEPEND="${RDEPEND}"
+BDEPEND="app-arch/xz-utils
+ virtual/pkgconfig"
+
+DOCS=( ChangeLog AUTHORS doc/manual.pdf )
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-0.24-gdb-autoload-dir.patch
+ "${FILESDIR}"/${PN}-0.24-respect-flags.patch
+)
+
+src_prepare() {
+ default
+
+ eautoreconf
+}
+
+multilib_src_configure() {
+ local econf_opts=(
+ $(use_enable static-libs static)
+
+ # AX_PROG_CC_FOR_BUILD deficiency:
+ # https://wiki.gentoo.org/wiki/Project:Toolchain/use_native_symlinks
+ CC_FOR_BUILD="$(tc-getBUILD_CC)"
+ )
+
+ if ! tc-is-cross-compiler; then
+ # Incorrect CFLAGS handling as CFLAGS_FOR_BUILD
+ # even for native builds. As a result -O3 is being used
+ # regardless of user's CFLAGS.
+ econf_opts+=(
+ CFLAGS_FOR_BUILD="${CFLAGS}"
+ )
+ fi
+
+ ECONF_SOURCE="${S}" econf "${econf_opts[@]}"
+}
+
+multilib_src_install_all() {
+ einstalldocs
+
+ find "${ED}" -type f -name '*.la' -delete || die
+}
+
+pkg_preinst() {
+ preserve_old_lib \
+ /usr/$(get_libdir)/libisl$(get_libname 14) \
+ /usr/$(get_libdir)/libisl$(get_libname 15) \
+ /usr/$(get_libdir)/libisl$(get_libname 19) \
+ /usr/$(get_libdir)/libisl$(get_libname 21) \
+ /usr/$(get_libdir)/libisl$(get_libname 22)
+}
+
+pkg_postinst() {
+ preserve_old_lib_notify \
+ /usr/$(get_libdir)/libisl$(get_libname 14) \
+ /usr/$(get_libdir)/libisl$(get_libname 15) \
+ /usr/$(get_libdir)/libisl$(get_libname 19) \
+ /usr/$(get_libdir)/libisl$(get_libname 21) \
+ /usr/$(get_libdir)/libisl$(get_libname 22)
+}
diff --git a/dev-libs/ivykis/Manifest b/dev-libs/ivykis/Manifest
index dc0ee971361f..8c0abd3b537c 100644
--- a/dev-libs/ivykis/Manifest
+++ b/dev-libs/ivykis/Manifest
@@ -1 +1,2 @@
DIST ivykis-0.42.4.tar.gz 656775 BLAKE2B 9b85dacb74eae99907999d5181029a824c5f0d6aabb41d892353723318f9ff6fc1a2a6296224c7ee407510f7354f2ee934d40b9627a0fd13489bf53b8ff7f115 SHA512 26f4fa28582555004cbe1d80cb042f93deb42b195c7d563ce4048ace25c74bb558455d98d2d8e0e59534fabb2dff6503aff16d0feb7a05fd835b63432f080286
+DIST ivykis-0.43.tar.gz 669349 BLAKE2B da76afeb23888c86748130bb54b6dacd824666439a656c3938fa16c5c010db90c0b31126a5d3b4eb541fa1d2a17aaf0eb785b90cc63ec40972d0bf422b40a169 SHA512 75bf3878afb76f97ef5327005f58e97d13ba9a67eb5230c25b4a0ec3332f8e3e027f93fc5758554e056c3a00bcfb776862a0263bf251c97cc654b8d0570dafe9
diff --git a/dev-libs/ivykis/ivykis-0.42.4.ebuild b/dev-libs/ivykis/ivykis-0.42.4.ebuild
index 757e5ebb5fb3..a6a90eaa1e4a 100644
--- a/dev-libs/ivykis/ivykis-0.42.4.ebuild
+++ b/dev-libs/ivykis/ivykis-0.42.4.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2020 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/buytenh/ivykis/archive/v${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="LGPL-2.1"
SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~mips ppc ppc64 ~riscv ~s390 sparc x86"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86"
IUSE="static-libs"
src_prepare() {
@@ -21,7 +21,9 @@ src_prepare() {
}
src_configure() {
- econf $(use_enable static-libs static)
+ econf \
+ --cache-file="${S}"/config.cache \
+ $(use_enable static-libs static)
}
src_install() {
diff --git a/dev-libs/ivykis/ivykis-0.43.ebuild b/dev-libs/ivykis/ivykis-0.43.ebuild
new file mode 100644
index 000000000000..8123da4967da
--- /dev/null
+++ b/dev-libs/ivykis/ivykis-0.43.ebuild
@@ -0,0 +1,33 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools
+
+DESCRIPTION="Library for asynchronous I/O readiness notification"
+HOMEPAGE="https://github.com/buytenh/ivykis"
+SRC_URI="https://github.com/buytenh/ivykis/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+IUSE="static-libs"
+
+src_prepare() {
+ default
+
+ eautoreconf
+}
+
+src_configure() {
+ econf \
+ --cache-file="${S}"/config.cache \
+ $(use_enable static-libs static)
+}
+
+src_install() {
+ default
+
+ find "${ED}" -name "*.la" -delete || die
+}
diff --git a/dev-libs/jansson/Manifest b/dev-libs/jansson/Manifest
index 8d590df3b22b..24fa3b4d26fe 100644
--- a/dev-libs/jansson/Manifest
+++ b/dev-libs/jansson/Manifest
@@ -1,2 +1 @@
-DIST jansson-2.13.1.tar.gz 531924 BLAKE2B e627bd2ba69bf01b053ff13dee903056db86999f774d6863517e67cef7dc9ddcaa747f2edca9de86bd83f37940a394ac9907f7d58069607ee529af08d8514d57 SHA512 e32be6665e41cf1763608c2f1ac4ce0824d4d7ffa5f4a5824cefde279250fdd399d49ba93d8894e16a473731f629b846554654347f027ca9a0a96ed047f10192
-DIST jansson-2.14.tar.gz 535618 BLAKE2B eb514ff222444d4c0d1ef6b99150e3e43bd4d7a1bec3d66e5ece8bc59ac19a0898d9eb061cacad52afda7fe172ec6df46b5a90952707422f56daae53f82c9427 SHA512 5a592776c7ba8c0b1f5efaf813f77948bbc4bda168a72d221d176af0cf61038e26c1f30795433be10e2fc5069d5763d11852a8574774906a9f8ad261ac30109c
+DIST jansson-2.14.tar.bz2 434481 BLAKE2B b7b7e98360fd73f7925b88e3729a7a18307b4f05fed4b37659d24ddc03208469471d508dcd245534f73af3b5e93f595e49e3cb2c99733955b03d471bd5a32f15 SHA512 1a659c0f41b0672757c13ebd16bd10ad7d6484366aefda078aa816266ce4f5638bc121f1ce8c4234b0b9f201ea73c227b9084125857452cbcba058a111e4a6fd
diff --git a/dev-libs/jansson/files/jansson-2.13.1-sphinx3.patch b/dev-libs/jansson/files/jansson-2.13.1-sphinx3.patch
deleted file mode 100644
index e611896e9c4e..000000000000
--- a/dev-libs/jansson/files/jansson-2.13.1-sphinx3.patch
+++ /dev/null
@@ -1,269 +0,0 @@
-Rebase pull request #543 onto v2.13.1
-
-Allows jansson documentation to compile with Sphinx-3.0
-
-Squashed commit messages below:
-
-
-pick 798d40c doc: convert refcounting directive to a class
-
-Directive functions are no longer supported in Sphinx-3.0
-but directive classes have been supported since early 1.x
-
-
-pick 9431889 doc: do not use references for standard C types or file names
-
-Use double-backtick quoting instead. It has the same effect
-(because these links had nowhere to link to) but it does not
-result in loud warnings about broken references by default with Sphinx-3.x.
-
-
-pick c329fd7 doc: add return types for function-like macros
-
-The Sphinx-3.0 c:function:: directive requires the return type.
-
-Sphinx-3.0 also adds function-like macro support to the c:macro::
-directive, which Sphinx-1.x and Sphinx-2.x do not support, but it
-is probably a good idea to keep compatibility with slightly older
-Sphinx for now.
-
-diff --git a/CHANGES b/CHANGES
-index a374a86..256fde1 100644
---- a/CHANGES
-+++ b/CHANGES
-@@ -8,7 +8,7 @@ Released 2020-05-07
- - Include `jansson_version_str()` and `jansson_version_cmp()` in
- shared library. (#534)
-
-- - Include `scripts/` in tarball. (#535)
-+ - Include ``scripts/`` in tarball. (#535)
-
-
- Version 2.13
-@@ -127,7 +127,7 @@ Released 2018-02-09
-
- - Work around gcc's -Wimplicit-fallthrough.
-
-- - Fix CMake detection of `sys/types.h` header (#375).
-+ - Fix CMake detection of ``sys/types.h`` header (#375).
-
- - Fix `jansson.pc` generated by CMake to be more consistent with the one
- generated using GNU Autotools (#368).
-diff --git a/doc/apiref.rst b/doc/apiref.rst
-index c3a814f..94c5726 100644
---- a/doc/apiref.rst
-+++ b/doc/apiref.rst
-@@ -145,33 +145,33 @@ Type
- .. function:: int json_typeof(const json_t *json)
-
- Return the type of the JSON value (a :type:`json_type` cast to
-- :type:`int`). *json* MUST NOT be *NULL*. This function is actually
-+ ``int``). *json* MUST NOT be *NULL*. This function is actually
- implemented as a macro for speed.
-
--.. function:: json_is_object(const json_t *json)
-- json_is_array(const json_t *json)
-- json_is_string(const json_t *json)
-- json_is_integer(const json_t *json)
-- json_is_real(const json_t *json)
-- json_is_true(const json_t *json)
-- json_is_false(const json_t *json)
-- json_is_null(const json_t *json)
-+.. function:: int json_is_object(const json_t *json)
-+ int json_is_array(const json_t *json)
-+ int json_is_string(const json_t *json)
-+ int json_is_integer(const json_t *json)
-+ int json_is_real(const json_t *json)
-+ int json_is_true(const json_t *json)
-+ int json_is_false(const json_t *json)
-+ int json_is_null(const json_t *json)
-
- These functions (actually macros) return true (non-zero) for values
- of the given type, and false (zero) for values of other types and
- for *NULL*.
-
--.. function:: json_is_number(const json_t *json)
-+.. function:: int json_is_number(const json_t *json)
-
- Returns true for values of types ``JSON_INTEGER`` and
- ``JSON_REAL``, and false for other types and for *NULL*.
-
--.. function:: json_is_boolean(const json_t *json)
-+.. function:: int json_is_boolean(const json_t *json)
-
- Returns true for types ``JSON_TRUE`` and ``JSON_FALSE``, and false
- for values of other types and for *NULL*.
-
--.. function:: json_boolean_value(const json_t *json)
-+.. function:: int json_boolean_value(const json_t *json)
-
- Alias of :func:`json_is_true()`, i.e. returns 1 for ``JSON_TRUE``
- and 0 otherwise.
-@@ -594,7 +594,7 @@ A JSON array is an ordered collection of other JSON values.
- Appends all elements in *other_array* to the end of *array*.
- Returns 0 on success and -1 on error.
-
--.. function:: json_array_foreach(array, index, value)
-+.. function:: void json_array_foreach(array, index, value)
-
- Iterate over every element of ``array``, running the block
- of code that follows each time with the proper values set to
-@@ -732,11 +732,11 @@ allowed in object keys.
- recursively merged with the corresponding values in *object* if they are also
- objects, instead of overwriting them. Returns 0 on success or -1 on error.
-
--.. function:: json_object_foreach(object, key, value)
-+.. function:: void json_object_foreach(object, key, value)
-
- Iterate over every key-value pair of ``object``, running the block
- of code that follows each time with the proper values set to
-- variables ``key`` and ``value``, of types :type:`const char *` and
-+ variables ``key`` and ``value``, of types ``const char *`` and
- :type:`json_t *` respectively. Example::
-
- /* obj is a JSON object */
-@@ -764,7 +764,7 @@ allowed in object keys.
- .. versionadded:: 2.3
-
-
--.. function:: json_object_foreach_safe(object, tmp, key, value)
-+.. function:: void json_object_foreach_safe(object, tmp, key, value)
-
- Like :func:`json_object_foreach()`, but it's safe to call
- ``json_object_del(object, key)`` during iteration. You need to pass
-@@ -1488,17 +1488,17 @@ arguments.
- Output a JSON null value. No argument is consumed.
-
- ``b`` (boolean) [int]
-- Convert a C :type:`int` to JSON boolean value. Zero is converted
-+ Convert a C ``int`` to JSON boolean value. Zero is converted
- to ``false`` and non-zero to ``true``.
-
- ``i`` (integer) [int]
-- Convert a C :type:`int` to JSON integer.
-+ Convert a C ``int`` to JSON integer.
-
- ``I`` (integer) [json_int_t]
- Convert a C :type:`json_int_t` to JSON integer.
-
- ``f`` (real) [double]
-- Convert a C :type:`double` to JSON real.
-+ Convert a C ``double`` to JSON real.
-
- ``o`` (any value) [json_t \*]
- Output any given JSON value as-is. If the value is added to an
-@@ -1625,20 +1625,20 @@ type whose address should be passed.
- Expect a JSON null value. Nothing is extracted.
-
- ``b`` (boolean) [int]
-- Convert a JSON boolean value to a C :type:`int`, so that ``true``
-+ Convert a JSON boolean value to a C ``int``, so that ``true``
- is converted to 1 and ``false`` to 0.
-
- ``i`` (integer) [int]
-- Convert a JSON integer to C :type:`int`.
-+ Convert a JSON integer to C ``int``.
-
- ``I`` (integer) [json_int_t]
- Convert a JSON integer to C :type:`json_int_t`.
-
- ``f`` (real) [double]
-- Convert a JSON real to C :type:`double`.
-+ Convert a JSON real to C ``double``.
-
- ``F`` (integer or real) [double]
-- Convert a JSON number (integer or real) to C :type:`double`.
-+ Convert a JSON number (integer or real) to C ``double``.
-
- ``o`` (any value) [json_t \*]
- Store a JSON value with no conversion to a :type:`json_t` pointer.
-diff --git a/doc/ext/refcounting.py b/doc/ext/refcounting.py
-index bba2684..e72c481 100644
---- a/doc/ext/refcounting.py
-+++ b/doc/ext/refcounting.py
-@@ -24,8 +24,8 @@
- """
-
- from docutils import nodes
-+from docutils.parsers.rst import Directive
-
--class refcounting(nodes.emphasis): pass
-
- def visit(self, node):
- self.visit_emphasis(node)
-@@ -40,16 +40,25 @@ def html_depart(self, node):
- self.body.append('</em>')
-
-
--def refcounting_directive(name, arguments, options, content, lineno,
-- content_offset, block_text, state, state_machine):
-- if arguments[0] == 'borrow':
-- text = 'Return value: Borrowed reference.'
-- elif arguments[0] == 'new':
-- text = 'Return value: New reference.'
-- else:
-- raise Error('Valid arguments: new, borrow')
-+class refcounting(nodes.emphasis):
-+ pass
-+
-+class refcounting_directive(Directive):
-+ has_content = False
-+ required_arguments = 1
-+ optional_arguments = 0
-+ final_argument_whitespace = False
-+
-+ def run(self):
-+ if self.arguments[0] == 'borrow':
-+ text = 'Return value: Borrowed reference.'
-+ elif self.arguments[0] == 'new':
-+ text = 'Return value: New reference.'
-+ else:
-+ raise Error('Valid arguments: new, borrow')
-+
-+ return [refcounting(text, text)]
-
-- return [refcounting(text, text)]
-
- def setup(app):
- app.add_node(refcounting,
-@@ -57,4 +66,4 @@ def setup(app):
- latex=(visit, depart),
- text=(visit, depart),
- man=(visit, depart))
-- app.add_directive('refcounting', refcounting_directive, 0, (1, 0, 0))
-+ app.add_directive('refcounting', refcounting_directive)
-diff --git a/doc/upgrading.rst b/doc/upgrading.rst
-index 9b49046..94ff7de 100644
---- a/doc/upgrading.rst
-+++ b/doc/upgrading.rst
-@@ -47,13 +47,13 @@ List of Incompatible Changes
-
- **Underlying type of JSON integers**
- The underlying C type of JSON integers has been changed from
-- :type:`int` to the widest available signed integer type, i.e.
-- :type:`long long` or :type:`long`, depending on whether
-- :type:`long long` is supported on your system or not. This makes
-+ ``int`` to the widest available signed integer type, i.e.
-+ ``long long`` or ``long``, depending on whether
-+ ``long long`` is supported on your system or not. This makes
- the whole 64-bit integer range available on most modern systems.
-
- ``jansson.h`` has a typedef :type:`json_int_t` to the underlying
-- integer type. :type:`int` should still be used in most cases when
-+ integer type. ``int`` should still be used in most cases when
- dealing with smallish JSON integers, as the compiler handles
- implicit type coercion. Only when the full 64-bit range is needed,
- :type:`json_int_t` should be explicitly used.
-@@ -69,8 +69,8 @@ List of Incompatible Changes
-
- **Unsigned integers in API functions**
- Version 2.0 unifies unsigned integer usage in the API. All uses of
-- :type:`unsigned int` and :type:`unsigned long` have been replaced
-- with :type:`size_t`. This includes flags, container sizes, etc.
-+ ``unsigned int`` and ``unsigned long`` have been replaced
-+ with ``size_t``. This includes flags, container sizes, etc.
- This should not require source code changes, as both
-- :type:`unsigned int` and :type:`unsigned long` are usually
-- compatible with :type:`size_t`.
-+ ``unsigned int`` and ``unsigned long`` are usually
-+ compatible with ``size_t``.
diff --git a/dev-libs/jansson/files/jansson-2.14-default-symver-test.patch b/dev-libs/jansson/files/jansson-2.14-default-symver-test.patch
new file mode 100644
index 000000000000..0da70dc5afcb
--- /dev/null
+++ b/dev-libs/jansson/files/jansson-2.14-default-symver-test.patch
@@ -0,0 +1,55 @@
+From https://github.com/akheron/jansson/pull/666/commits/1e2ac681e5f39fc7a7e8b8deb2162a93976d4622 Mon Sep 17 00:00:00 2001
+From: Violet Purcell <vimproved@inventati.org>
+Date: Wed, 11 Oct 2023 20:51:57 -0400
+Subject: [PATCH] Port check for --default-symver to autoconf
+
+This commit ports the configure check for -Wl,--default-symver that is
+present in CMake to autoconf. This fixes building Jansson via autoconf
+with non-bfd linkers on glibc systems.
+
+Signed-off-by: Violet Purcell <vimproved@inventati.org>
+--- a/configure.ac
++++ b/configure.ac
+@@ -25,6 +25,9 @@ AC_TYPE_UINT16_T
+ AC_TYPE_UINT8_T
+ AC_TYPE_LONG_LONG_INT
+
++jansson_soversion="4"
++AC_SUBST([jansson_soversion])
++
+ AC_C_INLINE
+ case $ac_cv_c_inline in
+ yes) json_inline=inline;;
+@@ -138,8 +141,12 @@ AS_IF([test "x$with_Bsymbolic" = "xyes"], [JSON_BSYMBOLIC_LDFLAGS=-Wl[,]-Bsymbol
+ AC_SUBST(JSON_BSYMBOLIC_LDFLAGS)
+
+ # Enable symbol versioning on GNU libc
++m4_pattern_forbid([^AX_CHECK_LINK_FLAG$])
+ JSON_SYMVER_LDFLAGS=
+-AC_CHECK_DECL([__GLIBC__], [JSON_SYMVER_LDFLAGS=-Wl,--default-symver])
++AC_CHECK_DECL([__GLIBC__],
++ [AX_CHECK_LINK_FLAG([-Wl,--default-symver],
++ [JSON_SYMVER_LDFLAGS=-Wl,--default-symver],
++ [JSON_SYMVER_LDFLAGS=-Wl,--version-script,$ac_abs_confdir/jansson.sym])])
+ AC_SUBST([JSON_SYMVER_LDFLAGS])
+
+ AC_ARG_ENABLE([ossfuzzers],
+@@ -168,6 +175,7 @@ AC_SUBST([AM_CFLAGS])
+
+ AC_CONFIG_FILES([
+ jansson.pc
++ jansson.sym
+ Makefile
+ doc/Makefile
+ src/Makefile
+--- /dev/null
++++ b/jansson.sym.in
+@@ -0,0 +1,5 @@
++JANSSON_@jansson_soversion@ {
++ global:
++ *;
++};
++
+--
+2.42.0
+
diff --git a/dev-libs/jansson/jansson-2.13.1-r1.ebuild b/dev-libs/jansson/jansson-2.13.1-r1.ebuild
deleted file mode 100644
index 0ea1a8080ff6..000000000000
--- a/dev-libs/jansson/jansson-2.13.1-r1.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 multilib-minimal
-
-DESCRIPTION="C library for encoding, decoding and manipulating JSON data"
-HOMEPAGE="https://www.digip.org/jansson/"
-SRC_URI="https://www.digip.org/jansson/releases/${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-macos"
-IUSE="doc static-libs"
-
-BDEPEND="doc? ( dev-python/sphinx )"
-
-PATCHES=(
- # dev-libs/jansson-2.13.1[doc]: fails to build with >=sphinx-3.0, #731668
- "${FILESDIR}/${P}-sphinx3.patch"
-)
-
-multilib_src_configure() {
- ECONF_SOURCE="${S}" econf $(use_enable static-libs static)
-}
-
-multilib_src_compile() {
- default
-
- if multilib_is_native_abi && use doc ; then
- emake html
- HTML_DOCS=( "${BUILD_DIR}"/doc/_build/html/. )
- fi
-}
-
-multilib_src_install() {
- default
-
- find "${D}" -name '*.la' -delete || die
-}
diff --git a/dev-libs/jansson/jansson-2.14-r1.ebuild b/dev-libs/jansson/jansson-2.14-r1.ebuild
new file mode 100644
index 000000000000..f19ea8be4b1a
--- /dev/null
+++ b/dev-libs/jansson/jansson-2.14-r1.ebuild
@@ -0,0 +1,42 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit toolchain-funcs
+
+DESCRIPTION="C library for encoding, decoding and manipulating JSON data"
+HOMEPAGE="https://www.digip.org/jansson/"
+SRC_URI="https://github.com/akheron/jansson/releases/download/v${PV}/${P}.tar.bz2"
+
+LICENSE="MIT"
+SLOT="0/4"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-macos"
+IUSE="doc static-libs"
+
+BDEPEND="
+ sys-devel/binutils
+ doc? ( dev-python/sphinx )"
+
+PATCHES=( "${FILESDIR}/${P}-test-symbols.patch" )
+
+src_configure() {
+ tc-ld-force-bfd
+
+ econf $(use_enable static-libs static)
+}
+
+src_compile() {
+ default
+
+ if use doc ; then
+ emake html
+ HTML_DOCS=( doc/_build/html/. )
+ fi
+}
+
+src_install() {
+ default
+
+ find "${ED}" -name '*.la' -delete || die
+}
diff --git a/dev-libs/jansson/jansson-2.14-r2.ebuild b/dev-libs/jansson/jansson-2.14-r2.ebuild
new file mode 100644
index 000000000000..b2f6ab300708
--- /dev/null
+++ b/dev-libs/jansson/jansson-2.14-r2.ebuild
@@ -0,0 +1,49 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools
+
+DESCRIPTION="C library for encoding, decoding and manipulating JSON data"
+HOMEPAGE="https://www.digip.org/jansson/"
+SRC_URI="https://github.com/akheron/jansson/releases/download/v${PV}/${P}.tar.bz2"
+
+LICENSE="MIT"
+SLOT="0/4"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos"
+IUSE="doc static-libs"
+
+BDEPEND="
+ dev-build/autoconf-archive
+ doc? ( dev-python/sphinx )
+"
+
+PATCHES=(
+ "${FILESDIR}/${P}-default-symver-test.patch"
+ "${FILESDIR}/${P}-test-symbols.patch"
+)
+
+src_prepare() {
+ default
+ eautoreconf
+}
+
+src_configure() {
+ econf $(use_enable static-libs static)
+}
+
+src_compile() {
+ default
+
+ if use doc ; then
+ emake html
+ HTML_DOCS=( doc/_build/html/. )
+ fi
+}
+
+src_install() {
+ default
+
+ find "${ED}" -name '*.la' -delete || die
+}
diff --git a/dev-libs/jansson/jansson-2.14.ebuild b/dev-libs/jansson/jansson-2.14.ebuild
deleted file mode 100644
index 42760f311531..000000000000
--- a/dev-libs/jansson/jansson-2.14.ebuild
+++ /dev/null
@@ -1,40 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit multilib-minimal toolchain-funcs
-
-DESCRIPTION="C library for encoding, decoding and manipulating JSON data"
-HOMEPAGE="https://www.digip.org/jansson/"
-SRC_URI="https://github.com/akheron/jansson/releases/download/v${PV}/${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0/4"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-macos"
-IUSE="doc static-libs"
-
-BDEPEND="doc? ( dev-python/sphinx )"
-
-PATCHES=( "${FILESDIR}/${P}-test-symbols.patch" )
-
-multilib_src_configure() {
- tc-ld-force-bfd
-
- ECONF_SOURCE="${S}" econf $(use_enable static-libs static)
-}
-
-multilib_src_compile() {
- default
-
- if multilib_is_native_abi && use doc ; then
- emake html
- HTML_DOCS=( "${BUILD_DIR}"/doc/_build/html/. )
- fi
-}
-
-multilib_src_install() {
- default
-
- find "${D}" -name '*.la' -delete || die
-}
diff --git a/dev-libs/jansson/metadata.xml b/dev-libs/jansson/metadata.xml
index eef0308f67c9..bbfcf37ef5f2 100644
--- a/dev-libs/jansson/metadata.xml
+++ b/dev-libs/jansson/metadata.xml
@@ -9,4 +9,7 @@
<email>proxy-maint@gentoo.org</email>
<name>Proxy Maintainers</name>
</maintainer>
+ <upstream>
+ <remote-id type="github">akheron/jansson</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/dev-libs/jemalloc/Manifest b/dev-libs/jemalloc/Manifest
index e9979c395b76..1f6abdde6487 100644
--- a/dev-libs/jemalloc/Manifest
+++ b/dev-libs/jemalloc/Manifest
@@ -1 +1 @@
-DIST jemalloc-5.2.1.tar.bz2 554279 BLAKE2B 52cb8cd5e5807a750a7e5e9ee005afd61144d821d7f7029a5eca998fd61787a7271338dee3de586ddf93f5fdbddc2c2ca03ba64375a70096f273a6aa173da431 SHA512 0bbb77564d767cef0c6fe1b97b705d368ddb360d55596945aea8c3ba5889fbce10479d85ad492c91d987caacdbbdccc706aa3688e321460069f00c05814fae02
+DIST jemalloc-5.3.0.tar.bz2 736023 BLAKE2B 9ff51616c3fb086d7cc021c59b83e5f0304d886993f4b5194a6956ffaf742cc509d08a2cf81ead6966c39a44f35621b57550f4a5c726c4508fd2c86c7c056ab0 SHA512 22907bb052096e2caffb6e4e23548aecc5cc9283dce476896a2b1127eee64170e3562fa2e7db9571298814a7a2c7df6e8d1fbe152bd3f3b0c1abec22a2de34b1
diff --git a/dev-libs/jemalloc/files/jemalloc-5.2.0-gentoo-fixups.patch b/dev-libs/jemalloc/files/jemalloc-5.2.0-gentoo-fixups.patch
deleted file mode 100644
index 2e7fd0da67b1..000000000000
--- a/dev-libs/jemalloc/files/jemalloc-5.2.0-gentoo-fixups.patch
+++ /dev/null
@@ -1,54 +0,0 @@
-From 482a28e74f9b3c83bef6499842f1191c04ae80d9 Mon Sep 17 00:00:00 2001
-From: Jory Pratt <anarchy@gentoo.org>
-Date: Tue, 23 Apr 2019 10:04:19 -0500
-Subject: [PATCH] Don't override user cflags, disable html_doc from being
- installed
-
-Signed-off-by: Jory Pratt <anarchy@gentoo.org>
----
- Makefile.in | 2 +-
- configure.ac | 15 ---------------
- 2 files changed, 1 insertion(+), 16 deletions(-)
-
-diff --git a/Makefile.in b/Makefile.in
-index 0777f6a..31767b6 100644
---- a/Makefile.in
-+++ b/Makefile.in
-@@ -511,7 +511,7 @@ install_doc_man:
- $(INSTALL) -m 644 $$d $(MANDIR)/man3; \
- done
-
--install_doc: build_doc install_doc_html install_doc_man
-+install_doc: build_doc install_doc_man
-
- install: install_bin install_include install_lib install_doc
-
-diff --git a/configure.ac b/configure.ac
-index 96f76d3..f716ebd 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -1108,21 +1108,6 @@ if test "x$enable_debug" = "x1" ; then
- fi
- AC_SUBST([enable_debug])
-
--dnl Only optimize if not debugging.
--if test "x$enable_debug" = "x0" ; then
-- if test "x$GCC" = "xyes" ; then
-- JE_CFLAGS_ADD([-O3])
-- JE_CXXFLAGS_ADD([-O3])
-- JE_CFLAGS_ADD([-funroll-loops])
-- elif test "x$je_cv_msvc" = "xyes" ; then
-- JE_CFLAGS_ADD([-O2])
-- JE_CXXFLAGS_ADD([-O2])
-- else
-- JE_CFLAGS_ADD([-O])
-- JE_CXXFLAGS_ADD([-O])
-- fi
--fi
--
- dnl Enable statistics calculation by default.
- AC_ARG_ENABLE([stats],
- [AS_HELP_STRING([--disable-stats],
---
-2.21.0
-
diff --git a/dev-libs/jemalloc/files/jemalloc-5.3.0-backport-pr-2312.patch b/dev-libs/jemalloc/files/jemalloc-5.3.0-backport-pr-2312.patch
new file mode 100644
index 000000000000..8867eeb3b2c1
--- /dev/null
+++ b/dev-libs/jemalloc/files/jemalloc-5.3.0-backport-pr-2312.patch
@@ -0,0 +1,160 @@
+This backports https://github.com/jemalloc/jemalloc/pull/2312, which
+I opened after discussion with upstream in
+https://github.com/jemalloc/jemalloc/issues/2305, where they explicitly
+clarify that the HPA feature is not tested, not supported, and not
+intended for use on non-x86 platforms.
+
+From: matoro <matoro@users.noreply.github.com>
+Date: Wed, 27 Jul 2022 11:13:35 -0400
+Subject: [PATCH] Support HPA only on x86
+
+This can be overridden with -DHPA_SUPPORTED.
+
+Unfortunately has to be implemented using preprocessor macros, can't use
+test_skip_if because the test name string is already corrupted by that
+time. See https://github.com/jemalloc/jemalloc/issues/2305
+---
+ include/jemalloc/internal/hpa.h | 27 +++++++++++++++++++++++++++
+ src/hpa.c | 7 +------
+ test/include/test/test.h | 9 +++++++++
+ test/unit/psset.c | 14 ++++++++++++++
+ 4 files changed, 51 insertions(+), 6 deletions(-)
+
+diff --git a/include/jemalloc/internal/hpa.h b/include/jemalloc/internal/hpa.h
+index f3562853e..3d389a644 100644
+--- a/include/jemalloc/internal/hpa.h
++++ b/include/jemalloc/internal/hpa.h
+@@ -7,6 +7,33 @@
+ #include "jemalloc/internal/pai.h"
+ #include "jemalloc/internal/psset.h"
+
++/*
++ * The HPA_SUPPORTED macro is not a technical indicator of whether HPA
++ * theoretically functions on the platform, but rather whether the platform is
++ * tested/supported for using HPA on by the jemalloc developers.
++ */
++#ifdef HPA_SUPPORTED
++#warning "Force-enabling HPA support. Do NOT report issues to jemalloc developers."
++#else
++#define HPA_SUPPORTED 1
++
++/*
++ * At least until the API and implementation is somewhat settled, we
++ * don't want to try to debug the VM subsystem on the hardest-to-test
++ * platform.
++ */
++#ifdef _WIN32
++#undef HPA_SUPPORTED
++#endif
++
++/*
++ * https://github.com/jemalloc/jemalloc/issues/2305#issuecomment-1195917164
++ */
++#if !defined(__x86_64__) && !defined(__i386__)
++#undef HPA_SUPPORTED
++#endif
++#endif
++
+ typedef struct hpa_central_s hpa_central_t;
+ struct hpa_central_s {
+ /*
+diff --git a/src/hpa.c b/src/hpa.c
+index 7e2aeba0c..0a9946b9e 100644
+--- a/src/hpa.c
++++ b/src/hpa.c
+@@ -25,12 +25,7 @@ static uint64_t hpa_time_until_deferred_work(tsdn_t *tsdn, pai_t *self);
+
+ bool
+ hpa_supported() {
+-#ifdef _WIN32
+- /*
+- * At least until the API and implementation is somewhat settled, we
+- * don't want to try to debug the VM subsystem on the hardest-to-test
+- * platform.
+- */
++#ifndef HPA_SUPPORTED
+ return false;
+ #endif
+ if (!pages_can_hugify) {
+diff --git a/test/include/test/test.h b/test/include/test/test.h
+index d4b65912d..7fa56f7be 100644
+--- a/test/include/test/test.h
++++ b/test/include/test/test.h
+@@ -546,6 +546,15 @@ static void \
+ f(void) { \
+ p_test_init(#f);
+
++#define TEST_SKIP(f) \
++static void \
++f(void) { \
++ p_test_init(#f); \
++ test_skip("%s:%s:%d: Test skipped: ", \
++ __func__, __FILE__, __LINE__); \
++ p_test_fini(); \
++}
++
+ #define TEST_END \
+ goto label_test_end; \
+ label_test_end: \
+diff --git a/test/unit/psset.c b/test/unit/psset.c
+index 6ff720129..af764d3a3 100644
+--- a/test/unit/psset.c
++++ b/test/unit/psset.c
+@@ -276,6 +276,7 @@ TEST_BEGIN(test_evict) {
+ }
+ TEST_END
+
++#ifdef HPA_SUPPORTED
+ TEST_BEGIN(test_multi_pageslab) {
+ bool err;
+ hpdata_t *ps;
+@@ -338,6 +339,9 @@ TEST_BEGIN(test_multi_pageslab) {
+ expect_false(err, "Allocation should have succeeded");
+ }
+ TEST_END
++#else
++TEST_SKIP(test_multi_pageslab)
++#endif
+
+ static void
+ stats_expect_empty(psset_bin_stats_t *stats) {
+@@ -427,6 +431,7 @@ TEST_END
+ * (There's nothing magic about these numbers; it's just useful to share the
+ * setup between the oldest fit and the insert/remove test).
+ */
++#ifdef HPA_SUPPORTED
+ static void
+ init_test_pageslabs(psset_t *psset, hpdata_t *pageslab,
+ hpdata_t *worse_pageslab, edata_t *alloc, edata_t *worse_alloc) {
+@@ -472,7 +477,9 @@ init_test_pageslabs(psset_t *psset, hpdata_t *pageslab,
+ &alloc[HUGEPAGE_PAGES - 1]);
+ expect_ptr_null(evicted, "Unexpected eviction");
+ }
++#endif
+
++#ifdef HPA_SUPPORTED
+ TEST_BEGIN(test_oldest_fit) {
+ bool err;
+ edata_t alloc[HUGEPAGE_PAGES];
+@@ -495,7 +502,11 @@ TEST_BEGIN(test_oldest_fit) {
+ "Allocated from the wrong pageslab");
+ }
+ TEST_END
++#else
++TEST_SKIP(test_oldest_fit)
++#endif
+
++#ifdef HPA_SUPPORTED
+ TEST_BEGIN(test_insert_remove) {
+ bool err;
+ hpdata_t *ps;
+@@ -541,6 +552,9 @@ TEST_BEGIN(test_insert_remove) {
+ expect_true(err, "psset should be empty, but an alloc succeeded");
+ }
+ TEST_END
++#else
++TEST_SKIP(test_insert_remove)
++#endif
+
+ TEST_BEGIN(test_purge_prefers_nonhuge) {
+ /*
diff --git a/dev-libs/jemalloc/files/jemalloc-5.3.0-backport-pr-2338.patch b/dev-libs/jemalloc/files/jemalloc-5.3.0-backport-pr-2338.patch
new file mode 100644
index 000000000000..6d4d4a11f741
--- /dev/null
+++ b/dev-libs/jemalloc/files/jemalloc-5.3.0-backport-pr-2338.patch
@@ -0,0 +1,83 @@
+Backport Musl fixes from PR #2338.
+
+Upstream PR: https://github.com/jemalloc/jemalloc/pull/2338
+Upstream commits: https://github.com/jemalloc/jemalloc/commit/45249cf5a9cfa13c2c62e68e272a391721523b4b, https://github.com/jemalloc/jemalloc/commit/aba1645f2d65a3b5c46958d7642b46ab3c142cf3
+
+From aba1645f2d65a3b5c46958d7642b46ab3c142cf3 Mon Sep 17 00:00:00 2001
+From: Marvin Schmidt <marv@exherbo.org>
+Date: Tue, 27 Sep 2022 07:03:14 +0200
+Subject: [PATCH] configure: Handle *-linux-musl* hosts properly
+
+This is the same as the `*-*-linux*` case with the two exceptions that
+we don't set glibc=1 and don't define JEMALLOC_USE_CXX_THROW
+---
+ configure.ac | 13 +++++++++++++
+ 1 file changed, 13 insertions(+)
+
+diff --git a/configure.ac b/configure.ac
+index 2bbf7d54a..f38b72d64 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -723,6 +723,19 @@ case "${host}" in
+ fi
+ zero_realloc_default_free="1"
+ ;;
++ *-*-linux-musl*)
++ dnl syscall(2) and secure_getenv(3) are exposed by _GNU_SOURCE.
++ JE_APPEND_VS(CPPFLAGS, -D_GNU_SOURCE)
++ abi="elf"
++ AC_DEFINE([JEMALLOC_PURGE_MADVISE_DONTNEED_ZEROS], [ ], [ ])
++ AC_DEFINE([JEMALLOC_HAS_ALLOCA_H], [ ], [ ])
++ AC_DEFINE([JEMALLOC_PROC_SYS_VM_OVERCOMMIT_MEMORY], [ ], [ ])
++ AC_DEFINE([JEMALLOC_THREADED_INIT], [ ], [ ])
++ if test "${LG_SIZEOF_PTR}" = "3"; then
++ default_retain="1"
++ fi
++ zero_realloc_default_free="1"
++ ;;
+ *-*-linux*)
+ dnl syscall(2) and secure_getenv(3) are exposed by _GNU_SOURCE.
+ JE_APPEND_VS(CPPFLAGS, -D_GNU_SOURCE)
+
+From 45249cf5a9cfa13c2c62e68e272a391721523b4b Mon Sep 17 00:00:00 2001
+From: Marvin Schmidt <marv@exherbo.org>
+Date: Tue, 27 Sep 2022 07:00:13 +0200
+Subject: [PATCH] Fix exception specification error for hosts using musl libc
+
+It turns out that the previous commit did not suffice since the
+JEMALLOC_SYS_NOTHROW definition also causes the same exception specification
+errors as JEMALLOC_USE_CXX_THROW did:
+```
+x86_64-pc-linux-musl-cc -std=gnu11 -Werror=unknown-warning-option -Wall -Wextra -Wshorten-64-to-32 -Wsign-compare -Wundef -Wno-format-zero-length -Wpointer-
+arith -Wno-missing-braces -Wno-missing-field-initializers -pipe -g3 -fvisibility=hidden -Wimplicit-fallthrough -O3 -funroll-loops -march=native -O2 -pipe -c -march=native -O2 -pipe -D_GNU_SOURCE -D_REENTRANT -Iinclude -Iinclude -o src/background_thread.o src/background_thread.c
+In file included from src/jemalloc_cpp.cpp:9:
+In file included from include/jemalloc/internal/jemalloc_preamble.h:27:
+include/jemalloc/internal/../jemalloc.h:254:32: error: exception specification in declaration does not match previous declaration
+ void JEMALLOC_SYS_NOTHROW *je_malloc(size_t size)
+ ^
+include/jemalloc/internal/../jemalloc.h:75:21: note: expanded from macro 'je_malloc'
+ ^
+/usr/x86_64-pc-linux-musl/include/stdlib.h:40:7: note: previous declaration is here
+void *malloc (size_t);
+ ^
+```
+
+On systems using the musl C library we have to omit the exception specification
+on malloc function family like it's done for MacOS, FreeBSD and OpenBSD.
+---
+ include/jemalloc/jemalloc_macros.h.in | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/include/jemalloc/jemalloc_macros.h.in b/include/jemalloc/jemalloc_macros.h.in
+index 2de3f27de..05d996be2 100644
+--- a/include/jemalloc/jemalloc_macros.h.in
++++ b/include/jemalloc/jemalloc_macros.h.in
+@@ -142,7 +142,7 @@
+ # define JEMALLOC_COLD
+ #endif
+
+-#if (defined(__APPLE__) || defined(__FreeBSD__)) && !defined(JEMALLOC_NO_RENAME)
++#if (defined(__APPLE__) || defined(__FreeBSD__) || (defined(__linux__) && !defined(__GLIBC__))) && !defined(JEMALLOC_NO_RENAME)
+ # define JEMALLOC_SYS_NOTHROW
+ #else
+ # define JEMALLOC_SYS_NOTHROW JEMALLOC_NOTHROW
diff --git a/dev-libs/jemalloc/files/jemalloc-5.3.0-gentoo-fixups.patch b/dev-libs/jemalloc/files/jemalloc-5.3.0-gentoo-fixups.patch
new file mode 100644
index 000000000000..e500a63225f0
--- /dev/null
+++ b/dev-libs/jemalloc/files/jemalloc-5.3.0-gentoo-fixups.patch
@@ -0,0 +1,43 @@
+This is jemalloc-5.2.0-gentoo-fixups.patch, rebased on top of upstream commit
+https://github.com/jemalloc/jemalloc/commit/ed5fc14b28ca62a6.
+From: Jory Pratt <anarchy@gentoo.org>
+Date: Tue, 23 Apr 2019 10:04:19 -0500
+Subject: [PATCH] Don't override user cflags, disable html_doc from being
+ installed
+
+Signed-off-by: Jory Pratt <anarchy@gentoo.org>
+--- a/Makefile.in
++++ b/Makefile.in
+@@ -603,7 +603,7 @@ install_doc_man: build_doc_man
+ $(INSTALL) -v -m 644 $$d $(MANDIR)/man3; \
+ done
+
+-install_doc: install_doc_html install_doc_man
++install_doc: install_doc_man
+
+ install: install_bin install_include install_lib
+
+--- a/configure.ac
++++ b/configure.ac
+@@ -1220,21 +1220,6 @@ if test "x$enable_debug" = "x1" ; then
+ fi
+ AC_SUBST([enable_debug])
+
+-dnl Only optimize if not debugging.
+-if test "x$enable_debug" = "x0" ; then
+- if test "x$GCC" = "xyes" ; then
+- JE_CFLAGS_ADD([-O3])
+- JE_CXXFLAGS_ADD([-O3])
+- JE_CFLAGS_ADD([-funroll-loops])
+- elif test "x$je_cv_msvc" = "xyes" ; then
+- JE_CFLAGS_ADD([-O2])
+- JE_CXXFLAGS_ADD([-O2])
+- else
+- JE_CFLAGS_ADD([-O])
+- JE_CXXFLAGS_ADD([-O])
+- fi
+-fi
+-
+ dnl Enable statistics calculation by default.
+ AC_ARG_ENABLE([stats],
+ [AS_HELP_STRING([--disable-stats],
diff --git a/dev-libs/jemalloc/jemalloc-5.2.1-r1.ebuild b/dev-libs/jemalloc/jemalloc-5.2.1-r1.ebuild
deleted file mode 100644
index 9494b7067186..000000000000
--- a/dev-libs/jemalloc/jemalloc-5.2.1-r1.ebuild
+++ /dev/null
@@ -1,50 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-
-inherit autotools multilib-minimal
-
-DESCRIPTION="Jemalloc is a general-purpose scalable concurrent allocator"
-HOMEPAGE="http://jemalloc.net/ https://github.com/jemalloc/jemalloc"
-SRC_URI="https://github.com/jemalloc/jemalloc/releases/download/${PV}/${P}.tar.bz2"
-
-LICENSE="BSD"
-SLOT="0/2"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ppc ppc64 ~riscv ~s390 x86 ~amd64-linux ~x86-linux ~x64-macos ~x64-solaris"
-IUSE="debug lazy-lock prof static-libs stats xmalloc"
-HTML_DOCS=( doc/jemalloc.html )
-PATCHES=( "${FILESDIR}/${PN}-5.2.0-gentoo-fixups.patch" )
-
-MULTILIB_WRAPPED_HEADERS=( /usr/include/jemalloc/jemalloc.h )
-
-src_prepare() {
- default
- eautoreconf
-}
-
-multilib_src_configure() {
- ECONF_SOURCE="${S}" \
- econf \
- $(use_enable debug) \
- $(use_enable lazy-lock) \
- $(use_enable prof) \
- $(use_enable stats) \
- $(use_enable xmalloc)
-}
-
-multilib_src_install() {
- # Copy man file which the Makefile looks for
- cp "${S}/doc/jemalloc.3" "${BUILD_DIR}/doc" || die
- emake DESTDIR="${D}" install
-}
-
-multilib_src_install_all() {
- if [[ ${CHOST} == *-darwin* ]] ; then
- # fixup install_name, #437362
- install_name_tool \
- -id "${EPREFIX}"/usr/$(get_libdir)/libjemalloc.2.dylib \
- "${ED}"/usr/$(get_libdir)/libjemalloc.2.dylib || die
- fi
- use static-libs || find "${ED}" -name '*.a' -delete
-}
diff --git a/dev-libs/jemalloc/jemalloc-5.3.0-r1.ebuild b/dev-libs/jemalloc/jemalloc-5.3.0-r1.ebuild
new file mode 100644
index 000000000000..341374a74d7f
--- /dev/null
+++ b/dev-libs/jemalloc/jemalloc-5.3.0-r1.ebuild
@@ -0,0 +1,57 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="8"
+
+inherit autotools multilib-minimal
+
+DESCRIPTION="Jemalloc is a general-purpose scalable concurrent allocator"
+HOMEPAGE="http://jemalloc.net/ https://github.com/jemalloc/jemalloc"
+SRC_URI="https://github.com/jemalloc/jemalloc/releases/download/${PV}/${P}.tar.bz2"
+
+LICENSE="BSD"
+SLOT="0/2"
+#KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~ppc ~ppc64 ~riscv ~s390 ~x86 ~amd64-linux ~x86-linux ~x64-macos ~x64-solaris"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86"
+IUSE="debug lazy-lock prof stats xmalloc"
+HTML_DOCS=( doc/jemalloc.html )
+PATCHES=(
+ "${FILESDIR}/${PN}-5.3.0-gentoo-fixups.patch"
+ "${FILESDIR}/${PN}-5.3.0-backport-pr-2312.patch"
+ "${FILESDIR}/${PN}-5.3.0-backport-pr-2338.patch"
+)
+
+MULTILIB_WRAPPED_HEADERS=( /usr/include/jemalloc/jemalloc.h )
+
+src_prepare() {
+ default
+ eautoreconf
+}
+
+multilib_src_configure() {
+ local myconf=(
+ $(use_enable debug)
+ $(use_enable lazy-lock)
+ $(use_enable prof)
+ $(use_enable stats)
+ $(use_enable xmalloc)
+ )
+
+ ECONF_SOURCE="${S}" econf "${myconf[@]}"
+}
+
+multilib_src_install() {
+ # Copy man file which the Makefile looks for
+ cp "${S}/doc/jemalloc.3" "${BUILD_DIR}/doc" || die
+ emake DESTDIR="${D}" install
+}
+
+multilib_src_install_all() {
+ if [[ ${CHOST} == *-darwin* ]] ; then
+ # fixup install_name, #437362
+ install_name_tool \
+ -id "${EPREFIX}"/usr/$(get_libdir)/libjemalloc.2.dylib \
+ "${ED}"/usr/$(get_libdir)/libjemalloc.2.dylib || die
+ fi
+ find "${ED}" -name '*.a' -delete || die
+}
diff --git a/dev-libs/jemalloc/metadata.xml b/dev-libs/jemalloc/metadata.xml
index 191801f77250..022926696913 100644
--- a/dev-libs/jemalloc/metadata.xml
+++ b/dev-libs/jemalloc/metadata.xml
@@ -1,9 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="project">
- <email>mozilla@gentoo.org</email>
- <name>Gentoo Mozilla Team</name>
+ <maintainer type="person">
+ <email>kumba@gentoo.org</email>
+ <name>Joshua Kinard</name>
</maintainer>
<use>
<flag name="lazy-lock">Enable lazy locking (only lock when multi-threaded)</flag>
diff --git a/dev-libs/json-c/Manifest b/dev-libs/json-c/Manifest
index 99ea09eff23f..31bdc97c1853 100644
--- a/dev-libs/json-c/Manifest
+++ b/dev-libs/json-c/Manifest
@@ -1 +1 @@
-DIST json-c-0.15.tar.gz 361488 BLAKE2B ae34f6dd45ebee55e6413ecb234e48fa5ae1c17e6fa12462aaaa04e8801457060e176abe90d76d04ad0ee9b903ff467bc3b8ed5816792da175aad8862b9d168e SHA512 dc01298bcc78f0f31a34f5fcfe45c0feebfd88518e97fb4f96f1a652f71ccdd303415a4c7bf5b573bdcbcca80428281f0dfccefc6545ea3a7f18dbb819332f34
+DIST json-c-0.17.tar.gz 390045 BLAKE2B 26be25141447f2b652fa09d7096141a8bf7992469bcc53b275c1bc0108fc36a8898a8185c381218d3146d00fa03bdd0b837be073410fc93af943b5f083dbaa69 SHA512 4cbedd559502bf9014cfcd1d0bb8bb80d2abac4e969d95d4170123cd9cbafb0756b913fdbb83f666d14f674d6539a60ed1c5d0eb03c36b8037a2e00dc1636e19
diff --git a/dev-libs/json-c/json-c-0.15.ebuild b/dev-libs/json-c/json-c-0.15.ebuild
deleted file mode 100644
index 70e366eb88de..000000000000
--- a/dev-libs/json-c/json-c-0.15.ebuild
+++ /dev/null
@@ -1,50 +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="A JSON implementation in C"
-HOMEPAGE="https://github.com/json-c/json-c/wiki"
-SRC_URI="https://s3.amazonaws.com/json-c_releases/releases/${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0/5"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos"
-IUSE="cpu_flags_x86_rdrand doc static-libs threads"
-
-BDEPEND="doc? ( >=app-doc/doxygen-1.8.13 )"
-
-MULTILIB_WRAPPED_HEADERS=(
- /usr/include/json-c/config.h
-)
-
-src_prepare() {
- cmake_src_prepare
-}
-
-multilib_src_configure() {
- local mycmakeargs=(
- -DBUILD_STATIC_LIBS=$(usex static-libs)
- -DDISABLE_WERROR=ON
- -DENABLE_RDRAND=$(usex cpu_flags_x86_rdrand)
- -DENABLE_THREADING=$(usex threads)
- )
-
- cmake_src_configure
-}
-
-multilib_src_compile() {
- cmake_src_compile
-}
-
-multilib_src_test() {
- multilib_is_native_abi && cmake_src_test
-}
-
-multilib_src_install_all() {
- use doc && HTML_DOCS=( "${S}"/doc/html/. )
- einstalldocs
-}
diff --git a/dev-libs/json-c/json-c-0.17.ebuild b/dev-libs/json-c/json-c-0.17.ebuild
new file mode 100644
index 000000000000..6fb6f4f13f3a
--- /dev/null
+++ b/dev-libs/json-c/json-c-0.17.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-multilib
+
+DESCRIPTION="A JSON implementation in C"
+HOMEPAGE="https://github.com/json-c/json-c/wiki"
+SRC_URI="https://s3.amazonaws.com/json-c_releases/releases/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0/5"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos"
+IUSE="cpu_flags_x86_rdrand static-libs threads"
+
+MULTILIB_WRAPPED_HEADERS=(
+ /usr/include/json-c/config.h
+)
+
+multilib_src_configure() {
+ # Tests use Valgrind automagically otherwise (bug #927027)
+ export USE_VALGRIND=0
+
+ local mycmakeargs=(
+ # apps are not installed, so disable unconditionally.
+ # https://github.com/json-c/json-c/blob/json-c-0.17-20230812/apps/CMakeLists.txt#L119...L121
+ -DBUILD_APPS=OFF
+ -DBUILD_STATIC_LIBS=$(usex static-libs)
+ -DDISABLE_EXTRA_LIBS=ON
+ -DDISABLE_WERROR=ON
+ -DENABLE_RDRAND=$(usex cpu_flags_x86_rdrand)
+ -DENABLE_THREADING=$(usex threads)
+ )
+
+ cmake_src_configure
+}
+
+multilib_src_test() {
+ multilib_is_native_abi && cmake_src_test
+}
+
+multilib_src_install_all() {
+ HTML_DOCS=( "${S}"/doc/html/. )
+ einstalldocs
+}
diff --git a/dev-libs/json-c/json-c-9999.ebuild b/dev-libs/json-c/json-c-9999.ebuild
index effac5b4d6ca..2ee46fcafda5 100644
--- a/dev-libs/json-c/json-c-9999.ebuild
+++ b/dev-libs/json-c/json-c-9999.ebuild
@@ -1,10 +1,9 @@
-# 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
-CMAKE_ECLASS=cmake
-inherit cmake-multilib git-r3
+inherit cmake-multilib git-r3 multibuild
DESCRIPTION="A JSON implementation in C"
HOMEPAGE="https://github.com/json-c/json-c/wiki"
@@ -14,22 +13,25 @@ LICENSE="MIT"
SLOT="0/5"
IUSE="cpu_flags_x86_rdrand doc static-libs threads"
-BDEPEND="doc? ( >=app-doc/doxygen-1.8.13 )"
+BDEPEND="doc? ( >=app-text/doxygen-1.8.13 )"
MULTILIB_WRAPPED_HEADERS=(
/usr/include/json-c/config.h
)
-src_prepare() {
- cmake_src_prepare
-}
-
multilib_src_configure() {
+ # Tests use Valgrind automagically otherwise (bug #927027)
+ export USE_VALGRIND=0
+
local mycmakeargs=(
+ # apps are not installed, so disable unconditionally.
+ # https://github.com/json-c/json-c/blob/json-c-0.17-20230812/apps/CMakeLists.txt#L119...L121
+ -DBUILD_APPS=OFF
+ -DBUILD_STATIC_LIBS=$(usex static-libs)
+ -DDISABLE_EXTRA_LIBS=ON
-DDISABLE_WERROR=ON
- -DENABLE_THREADING=$(usex threads)
-DENABLE_RDRAND=$(usex cpu_flags_x86_rdrand)
- -DBUILD_STATIC_LIBS=$(usex static-libs)
+ -DENABLE_THREADING=$(usex threads)
)
cmake_src_configure
@@ -37,14 +39,18 @@ multilib_src_configure() {
multilib_src_compile() {
cmake_src_compile
- use doc && doxygen doc/Doxyfile
+ if use doc && multilib_is_native_abi; then
+ cmake_build doc
+ fi
}
multilib_src_test() {
multilib_is_native_abi && cmake_src_test
}
-multilib_src_install_all() {
- use doc && HTML_DOCS=( "${BUILD_DIR}-abi_x86_64.amd64"/doc/html/. )
- einstalldocs
+multilib_src_install() {
+ if multilib_is_native_abi; then
+ use doc && HTML_DOCS=( "${BUILD_DIR}"/doc/html/. )
+ einstalldocs
+ fi
}
diff --git a/dev-libs/json-glib/Manifest b/dev-libs/json-glib/Manifest
index 512f29b5a12e..d0d6ff42a81d 100644
--- a/dev-libs/json-glib/Manifest
+++ b/dev-libs/json-glib/Manifest
@@ -1 +1 @@
-DIST json-glib-1.6.6.tar.xz 1306232 BLAKE2B 93814dad74ef61ef265e348e9e145ceb63c950f1e9ecda23fbaad24e291a1cbfc690e287ccc8959fd7c056634f80815ef54fa2c75b09ebd3e158f3fa4df1c8e7 SHA512 b9a737e4ba3ecdfb9cb8f5fb751cc74e5b1553664d3088c44a1f9e5396d4037958af214dcd290ddf5af98088f46167e10e371e134e1de5cbb7aec84c5c0fd017
+DIST json-glib-1.8.0.tar.xz 157300 BLAKE2B eef0344c353bb9288efb700a6041342379627b924a042263e011f21140166b57b108f6816e80ac692159b49943f9c1afeb722efafa34e8c60f2fcdf53a0dc034 SHA512 e4fe16bb7c5b72fcf9c0966ac1903ff0cd74ec8eab891db4b94e92353bdcb57b24613b6c2cce7bfa1996603c367d1b4939c12209369dfb915aac0f3804a3a900
diff --git a/dev-libs/json-glib/json-glib-1.6.6-r1.ebuild b/dev-libs/json-glib/json-glib-1.6.6-r1.ebuild
deleted file mode 100644
index f8da05466a2a..000000000000
--- a/dev-libs/json-glib/json-glib-1.6.6-r1.ebuild
+++ /dev/null
@@ -1,58 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-inherit gnome.org meson-multilib xdg-utils
-
-DESCRIPTION="Library providing GLib serialization and deserialization for the JSON format"
-HOMEPAGE="https://wiki.gnome.org/Projects/JsonGlib"
-
-LICENSE="LGPL-2.1+"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~mips ppc ppc64 ~riscv ~s390 sparc x86"
-IUSE="gtk-doc +introspection"
-
-RDEPEND="
- >=dev-libs/glib-2.54.0:2[${MULTILIB_USEDEP}]
- introspection? ( >=dev-libs/gobject-introspection-0.9.5:= )
-"
-DEPEND="${RDEPEND}"
-# TODO: Can we use a newer docbook-xml-dtd, or is one needed at all?
-BDEPEND="
- ~app-text/docbook-xml-dtd-4.1.2
- app-text/docbook-xsl-stylesheets
- dev-libs/libxslt
- dev-util/glib-utils
- gtk-doc? ( >=dev-util/gi-docgen-2021.6 )
- >=sys-devel/gettext-0.18
- virtual/pkgconfig
-"
-
-src_prepare() {
- xdg_environment_reset
- default
- # Disable installed-tests; this also indirectly removes build_aux/gen-installed-test.py calls, thus not needing python-any-r1.eclass
- sed -e 's/install: true/install: false/g' -i json-glib/tests/meson.build || die
- sed -e '/install_data/d' -i json-glib/tests/meson.build || die
-}
-
-multilib_src_configure() {
- local emesonargs=(
- # Never use gi-docgen subproject
- --wrap-mode nofallback
-
- $(meson_native_use_feature introspection)
- $(meson_native_use_feature gtk-doc gtk_doc)
- $(meson_native_true man)
- )
- meson_src_configure
-}
-
-multilib_src_install_all() {
- einstalldocs
- if use gtk-doc ; then
- # Move to location that <devhelp-41 will see, reconsider once devhelp-41 is stable
- mkdir -p "${ED}"/usr/share/gtk-doc/html || die
- mv "${ED}"/usr/share/doc/json-glib-1.0 "${ED}"/usr/share/gtk-doc/html/ || die
- fi
-}
diff --git a/dev-libs/json-glib/json-glib-1.8.0.ebuild b/dev-libs/json-glib/json-glib-1.8.0.ebuild
new file mode 100644
index 000000000000..b08e122f0bc6
--- /dev/null
+++ b/dev-libs/json-glib/json-glib-1.8.0.ebuild
@@ -0,0 +1,65 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+inherit gnome.org meson-multilib xdg-utils
+
+DESCRIPTION="Library providing GLib serialization and deserialization for the JSON format"
+HOMEPAGE="https://wiki.gnome.org/Projects/JsonGlib"
+
+LICENSE="LGPL-2.1+"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86"
+IUSE="gtk-doc +introspection nls test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ >=dev-libs/glib-2.54.0:2[${MULTILIB_USEDEP}]
+ introspection? ( >=dev-libs/gobject-introspection-0.9.5:= )
+"
+DEPEND="${RDEPEND}"
+# TODO: Can we use a newer docbook-xml-dtd, or is one needed at all?
+BDEPEND="
+ ~app-text/docbook-xml-dtd-4.1.2
+ app-text/docbook-xsl-stylesheets
+ dev-libs/libxslt
+ dev-util/glib-utils
+ gtk-doc? ( >=dev-util/gi-docgen-2021.6 )
+ >=sys-devel/gettext-0.18
+ virtual/pkgconfig
+"
+
+src_prepare() {
+ xdg_environment_reset
+ default
+
+ # Disable installed-tests; this also indirectly removes
+ # build_aux/gen-installed-test.py calls, thus not needing
+ # python-any-r1.eclass
+ sed -e 's/install: true/install: false/g' -i json-glib/tests/meson.build || die
+ sed -e '/install_data/d' -i json-glib/tests/meson.build || die
+}
+
+multilib_src_configure() {
+ local emesonargs=(
+ # Never use gi-docgen subproject
+ --wrap-mode nofallback
+
+ $(meson_native_use_feature introspection)
+ $(meson_native_use_feature gtk-doc gtk_doc)
+ $(meson_native_true man)
+
+ $(meson_feature nls)
+ $(meson_use test tests)
+ )
+ meson_src_configure
+}
+
+multilib_src_install_all() {
+ einstalldocs
+ if use gtk-doc ; then
+ # Move to location that <devhelp-41 will see, reconsider once devhelp-41 is stable
+ mkdir -p "${ED}"/usr/share/gtk-doc/html || die
+ mv "${ED}"/usr/share/doc/json-glib-1.0 "${ED}"/usr/share/gtk-doc/html/ || die
+ fi
+}
diff --git a/dev-libs/json-glib/metadata.xml b/dev-libs/json-glib/metadata.xml
index b22a0e7839e3..489464083a6c 100644
--- a/dev-libs/json-glib/metadata.xml
+++ b/dev-libs/json-glib/metadata.xml
@@ -1,15 +1,33 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <email>voyageur@gentoo.org</email>
- <name>Bernard Cafarelli</name>
- </maintainer>
- <maintainer type="project">
- <email>gnome@gentoo.org</email>
- <name>Gentoo GNOME Desktop</name>
- </maintainer>
- <longdescription>JSON-GLib is a library providing serialization and deserialization support for the JavaScript Object Notation (JSON) format described by RFC 4627. Many high-level languages already provide native modules for parsing, generating and manipulating JSON data streams. JSON-GLib is a C library based on GLib and released under the terms of the GNU Lesser General Public License version 2.1. It provides a parser and a generator GObject classes and various wrappers for the complex data types employed by JSON, such as arrays and objects.
+ <maintainer type="person">
+ <email>voyageur@gentoo.org</email>
+ <name>Bernard Cafarelli</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>gnome@gentoo.org</email>
+ <name>Gentoo GNOME Desktop</name>
+ </maintainer>
+ <longdescription>
+ JSON-GLib is a library providing serialization and deserialization support
+ for the JavaScript Object Notation (JSON) format described by RFC 4627. Many
+ high-level languages already provide native modules for parsing, generating
+ and manipulating JSON data streams. JSON-GLib is a C library based on GLib
+ and released under the terms of the GNU Lesser General Public License
+ version 2.1. It provides a parser and a generator GObject classes and
+ various wrappers for the complex data types employed by JSON, such as arrays
+ and objects.
-JSON-GLib uses GLib native data types and the generic value container GValue for ease of development. It also provides integration with the GObject classes for direct serialization into, and deserialization from, JSON data streams.</longdescription>
+ JSON-GLib uses GLib native data types and the generic value container GValue
+ for ease of development. It also provides integration with the GObject
+ classes for direct serialization into, and deserialization from, JSON data
+ streams.
+ </longdescription>
+ <use>
+ <flag name="nls">Enable native language support (translations)</flag>
+ </use>
+ <upstream>
+ <remote-id type="gnome-gitlab">GNOME/json-glib</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/dev-libs/json-parser/Manifest b/dev-libs/json-parser/Manifest
new file mode 100644
index 000000000000..ac3d8c8c0ff7
--- /dev/null
+++ b/dev-libs/json-parser/Manifest
@@ -0,0 +1 @@
+DIST json-parser-1.1.0_p20211208.tar.gz 51479 BLAKE2B 31ce7929c1de829e312dfc855365d8851ad7c2ce31379d3ab4b4937291e2ec367c7692ecb11b781d0647e5dc38008e4e7bd122d9edaafd1c393a1cbf765117b9 SHA512 cbe6690a70ada1906b2c208fcbe03fe5a14651660ece9ba933a3160ea027c6dd9507189e1c63052059c3a00b2e2a59dbc65fa668a287455d438aa4453eecf22f
diff --git a/dev-libs/json-parser/files/json-parser-1.1.0-pkgconfig-libdir.patch b/dev-libs/json-parser/files/json-parser-1.1.0-pkgconfig-libdir.patch
new file mode 100644
index 000000000000..094f8f985dec
--- /dev/null
+++ b/dev-libs/json-parser/files/json-parser-1.1.0-pkgconfig-libdir.patch
@@ -0,0 +1,22 @@
+Upstream-PR: https://github.com/json-parser/json-parser/pull/164
+
+diff --git a/Makefile.in b/Makefile.in
+index 8938230..b7539f7 100644
+--- a/Makefile.in
++++ b/Makefile.in
+@@ -43,9 +43,9 @@ clean:
+ rm -f libjsonparser.$(SO_EXT) libjsonparser.a json.o
+
+ install-shared: libjsonparser.$(SO_EXT)
+- @echo Installing pkgconfig module: $(datadir)/pkgconfig/json-parser.pc
+- @install -d $(datadir)/pkgconfig/ || true
+- @install -m 0644 json-parser.pc $(datadir)/pkgconfig/json-parser.pc
++ @echo Installing pkgconfig module: $(libdir)/pkgconfig/json-parser.pc
++ @install -d $(libdir)/pkgconfig/ || true
++ @install -m 0644 json-parser.pc $(libdir)/pkgconfig/json-parser.pc
+ @echo Installing shared library: $(libdir)/libjsonparser.$(SO_EXT)
+ @install -d $(libdir) || true
+ @install -m 0755 libjsonparser.$(SO_EXT) $(libdir)/$(REAL_NAME)
+--
+2.35.1
+
diff --git a/dev-libs/json-parser/json-parser-1.1.0_p20211208.ebuild b/dev-libs/json-parser/json-parser-1.1.0_p20211208.ebuild
new file mode 100644
index 000000000000..2f60fe0f3b4c
--- /dev/null
+++ b/dev-libs/json-parser/json-parser-1.1.0_p20211208.ebuild
@@ -0,0 +1,82 @@
+# Copyright 2022-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_OPTIONAL=1
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit distutils-r1 edo toolchain-funcs
+
+COMMIT="531a49062975d6d2cd5d69b75ad5481a8c0e18c5"
+
+DESCRIPTION="Very low footprint JSON parser written in portable ANSI C"
+HOMEPAGE="https://github.com/json-parser/json-parser"
+SRC_URI="https://github.com/json-parser/json-parser/archive/${COMMIT}.tar.gz -> ${P}.tar.gz"
+
+S="${WORKDIR}/${PN}-${COMMIT}"
+
+LICENSE="BSD-2"
+SLOT="0/$(ver_cut 1-2)"
+KEYWORDS="amd64 arm arm64 ~loong ppc ppc64 ~riscv x86"
+IUSE="python"
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+
+RDEPEND="
+ python? ( ${PYTHON_DEPS} )
+"
+BDEPEND="
+ python? (
+ ${PYTHON_DEPS}
+ ${DISTUTILS_DEPS}
+ dev-python/cython[${PYTHON_USEDEP}]
+ )
+"
+
+PATCHES=( "${FILESDIR}/${PN}-1.1.0-pkgconfig-libdir.patch" )
+
+wrap_python() {
+ local phase=$1
+ shift
+
+ if use python; then
+ pushd bindings/python || die
+ distutils-r1_${phase} "${@}"
+ popd
+ fi
+}
+
+src_prepare() {
+ default
+ wrap_python ${FUNCNAME}
+}
+
+src_configure() {
+ default
+ wrap_python ${FUNCNAME}
+}
+
+src_compile() {
+ default
+ wrap_python ${FUNCNAME}
+}
+
+python_test() {
+ "${EPYTHON}" test.py || die "Tests failed with ${EPYTHON}"
+}
+
+src_test() {
+ edo $(tc-getCC) ${CFLAGS} -I. ${CPPFLAGS} ${LDFLAGS} -o tests/test tests/test.c json.o -lm
+ pushd tests > /dev/null || die
+ edo ./test
+ use python && distutils-r1_src_test
+ popd
+}
+
+src_install() {
+ emake DESTDIR="${D}" install-shared
+ dodoc README.md AUTHORS
+ wrap_python ${FUNCNAME}
+}
diff --git a/dev-libs/json-parser/metadata.xml b/dev-libs/json-parser/metadata.xml
new file mode 100644
index 000000000000..7cd44cd50b42
--- /dev/null
+++ b/dev-libs/json-parser/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>arkamar@gentoo.org</email>
+ <name>Petr Vaněk</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">json-parser/json-parser</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/jsoncpp/jsoncpp-1.9.5.ebuild b/dev-libs/jsoncpp/jsoncpp-1.9.5.ebuild
index 1b59c6bf27c2..308182dcfcfd 100644
--- a/dev-libs/jsoncpp/jsoncpp-1.9.5.ebuild
+++ b/dev-libs/jsoncpp/jsoncpp-1.9.5.ebuild
@@ -1,27 +1,29 @@
-# 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 meson python-any-r1
DESCRIPTION="C++ JSON reader and writer"
-HOMEPAGE="https://github.com/open-source-parsers/jsoncpp"
+HOMEPAGE="https://github.com/open-source-parsers/jsoncpp/"
SRC_URI="
https://github.com/open-source-parsers/${PN}/archive/${PV}.tar.gz
- -> ${P}.tar.gz"
+ -> ${P}.tar.gz
+"
LICENSE="|| ( public-domain MIT )"
SLOT="0/25"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-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 ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
IUSE="doc test"
RESTRICT="!test? ( test )"
BDEPEND="
${PYTHON_DEPS}
- doc? ( app-doc/doxygen )"
-RDEPEND=""
+ doc? ( app-text/doxygen )
+"
src_configure() {
local emesonargs=(
diff --git a/dev-libs/jsoncpp/metadata.xml b/dev-libs/jsoncpp/metadata.xml
index 1fa93a6cf35d..f95a91798792 100644
--- a/dev-libs/jsoncpp/metadata.xml
+++ b/dev-libs/jsoncpp/metadata.xml
@@ -6,6 +6,7 @@
<name>Michał Górny</name>
</maintainer>
<upstream>
+ <remote-id type="cpe">cpe:/a:jsoncpp_project:jsoncpp</remote-id>
<remote-id type="github">open-source-parsers/jsoncpp</remote-id>
<remote-id type="sourceforge">jsoncpp</remote-id>
</upstream>
diff --git a/dev-libs/jsonrpc-glib/Manifest b/dev-libs/jsonrpc-glib/Manifest
index 0137d1391f72..5178283368c0 100644
--- a/dev-libs/jsonrpc-glib/Manifest
+++ b/dev-libs/jsonrpc-glib/Manifest
@@ -1 +1 @@
-DIST jsonrpc-glib-3.40.0.tar.xz 42392 BLAKE2B 106d010d5615d6c4a3e1fdc314d1d63be0b76424aca4c6e3771c21e75b79dca5f524e711c99fe1175797644e11d0458317bfa1f363a5abd296dab5b3f95dd708 SHA512 5d4fae86e7eeb029a8daf3eff26107a374ba1b68caa2862563e8d9854913ae306448f4c712be6f0f82961031f1b618aaba7ded154f81b4a023fa366c71f1b887
+DIST jsonrpc-glib-3.44.0.tar.xz 42580 BLAKE2B 7a72aefc092eb0a17c6935323e9157c7bc07cfec766ede11c369651da95b5ff77ead09977f38b7c91b4bbcd04e7adb81d95e9eefe976f739502c1720a477efec SHA512 85962af18cb62af7c4dfa37289cf53ba9c905ee00994cc6bcc2679f1e0f79ea0b134386179dd2417e6166777d65f025959d6d258aa279bbfb1f4cacceeede7af
diff --git a/dev-libs/jsonrpc-glib/jsonrpc-glib-3.40.0.ebuild b/dev-libs/jsonrpc-glib/jsonrpc-glib-3.40.0.ebuild
deleted file mode 100644
index 063b0c60669a..000000000000
--- a/dev-libs/jsonrpc-glib/jsonrpc-glib-3.40.0.ebuild
+++ /dev/null
@@ -1,46 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit gnome.org meson xdg vala
-
-DESCRIPTION="JSON-RPC library for GLib"
-HOMEPAGE="https://gitlab.gnome.org/GNOME/jsonrpc-glib"
-
-LICENSE="LGPL-2.1+"
-SLOT="0/1"
-KEYWORDS="amd64 x86"
-
-IUSE="gtk-doc +introspection test vala"
-REQUIRED_USE="vala? ( introspection )"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- dev-libs/glib:2
- dev-libs/json-glib[introspection?]
- introspection? ( dev-libs/gobject-introspection:= )
-"
-DEPEND="${RDEPEND}"
-BDEPEND="
- vala? ( $(vala_depend) )
- dev-util/glib-utils
- virtual/pkgconfig
- gtk-doc? ( dev-util/gtk-doc )
-"
-
-src_prepare() {
- use vala && vala_src_prepare
- xdg_src_prepare
-}
-
-src_configure() {
- local emesonargs=(
- -Denable_profiling=false # -pg passing
- $(meson_use introspection with_introspection)
- $(meson_use vala with_vapi)
- $(meson_use gtk-doc enable_gtk_doc)
- $(meson_use test enable_tests)
- )
- meson_src_configure
-}
diff --git a/dev-libs/jsonrpc-glib/jsonrpc-glib-3.44.0.ebuild b/dev-libs/jsonrpc-glib/jsonrpc-glib-3.44.0.ebuild
new file mode 100644
index 000000000000..96f429f0afcd
--- /dev/null
+++ b/dev-libs/jsonrpc-glib/jsonrpc-glib-3.44.0.ebuild
@@ -0,0 +1,58 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit gnome.org meson vala
+
+DESCRIPTION="JSON-RPC library for GLib"
+HOMEPAGE="https://gitlab.gnome.org/GNOME/jsonrpc-glib"
+
+LICENSE="LGPL-2.1+"
+SLOT="0/1"
+KEYWORDS="amd64 ~arm64 x86"
+
+IUSE="gtk-doc +introspection test vala"
+REQUIRED_USE="
+ gtk-doc? ( introspection )
+ vala? ( introspection )
+"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ dev-libs/glib:2
+ dev-libs/json-glib[introspection?]
+ introspection? ( dev-libs/gobject-introspection:= )
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ vala? ( $(vala_depend) )
+ dev-util/glib-utils
+ virtual/pkgconfig
+ gtk-doc? ( dev-util/gi-docgen )
+"
+
+src_prepare() {
+ default
+ use vala && vala_setup
+}
+
+src_configure() {
+ local emesonargs=(
+ -Denable_profiling=false # -pg passing
+ $(meson_use introspection with_introspection)
+ $(meson_use vala with_vapi)
+ $(meson_use gtk-doc enable_gtk_doc)
+ $(meson_use test enable_tests)
+ )
+ meson_src_configure
+}
+
+src_install() {
+ meson_src_install
+
+ if use gtk-doc; then
+ mkdir -p "${ED}"/usr/share/gtk-doc/html/ || die
+ mv "${ED}"/usr/share/doc/${PN} "${ED}"/usr/share/gtk-doc/html/ || die
+ fi
+}
diff --git a/dev-libs/jsonrpc-glib/metadata.xml b/dev-libs/jsonrpc-glib/metadata.xml
index a585995a68f3..996a7e66c359 100644
--- a/dev-libs/jsonrpc-glib/metadata.xml
+++ b/dev-libs/jsonrpc-glib/metadata.xml
@@ -1,11 +1,16 @@
<?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>
- <longdescription>Jsonrpc-GLib is a JSON-RPC library for GLib. It includes support for
- communicating as both a JSON-RPC client and server. Additionally, it
- supports upgrating connections to use GVariant for less runtime overhead.</longdescription>
+ <maintainer type="project">
+ <email>gnome@gentoo.org</email>
+ <name>Gentoo GNOME Desktop</name>
+ </maintainer>
+ <longdescription>
+ Jsonrpc-GLib is a JSON-RPC library for GLib. It includes support for
+ communicating as both a JSON-RPC client and server. Additionally, it
+ supports upgrating connections to use GVariant for less runtime overhead.
+ </longdescription>
+ <upstream>
+ <remote-id type="gnome-gitlab">GNOME/jsonrpc-glib</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/dev-libs/jthread/jthread-1.3.3-r1.ebuild b/dev-libs/jthread/jthread-1.3.3-r1.ebuild
new file mode 100644
index 000000000000..d3d9dfc88a32
--- /dev/null
+++ b/dev-libs/jthread/jthread-1.3.3-r1.ebuild
@@ -0,0 +1,23 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+DESCRIPTION="JThread provides some classes to make use of threads easy on different platforms"
+HOMEPAGE="https://research.edm.uhasselt.be/jori/page/CS/Jthread.html"
+SRC_URI="https://research.edm.uhasselt.be/jori/${PN}/${P}.tar.bz2"
+
+LICENSE="MIT"
+SLOT="0/${PV}"
+KEYWORDS="amd64 x86"
+
+DOCS=( ChangeLog README.md doc/manual.tex )
+
+src_prepare() {
+ # Do not build static library
+ sed -i -e '/jthread-static/d' src/CMakeLists.txt || die 'sed on src/CMakeLists.txt failed'
+
+ cmake_src_prepare
+}
diff --git a/dev-libs/jthread/jthread-1.3.3.ebuild b/dev-libs/jthread/jthread-1.3.3.ebuild
deleted file mode 100644
index 3a5c2032dd48..000000000000
--- a/dev-libs/jthread/jthread-1.3.3.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
-
-CMAKE_ECLASS=cmake
-inherit cmake-multilib
-
-DESCRIPTION="JThread provides some classes to make use of threads easy on different platforms"
-HOMEPAGE="https://research.edm.uhasselt.be/jori/page/CS/Jthread.html"
-SRC_URI="https://research.edm.uhasselt.be/jori/${PN}/${P}.tar.bz2"
-
-LICENSE="MIT"
-SLOT="0/${PV}"
-KEYWORDS="amd64 x86"
-
-IUSE="static-libs"
-
-DOCS=( ChangeLog README.md doc/manual.tex )
-
-src_prepare() {
- # do not build static library, if it is not requested
- if ! use static-libs; then
- sed -i -e '/jthread-static/d' src/CMakeLists.txt || die 'sed on src/CMakeLists.txt failed'
- fi
- cmake_src_prepare
-}
diff --git a/dev-libs/jthread/metadata.xml b/dev-libs/jthread/metadata.xml
index a3862b8ec2fc..115e9d64a669 100644
--- a/dev-libs/jthread/metadata.xml
+++ b/dev-libs/jthread/metadata.xml
@@ -1,8 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <email>pinkbyte@gentoo.org</email>
- <name>Sergey Popov</name>
- </maintainer>
+ <!-- maintainer-needed -->
</pkgmetadata>
diff --git a/dev-libs/judy/judy-1.0.5-r2.ebuild b/dev-libs/judy/judy-1.0.5-r2.ebuild
deleted file mode 100644
index 09e76a1992a8..000000000000
--- a/dev-libs/judy/judy-1.0.5-r2.ebuild
+++ /dev/null
@@ -1,34 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit autotools multilib-minimal
-
-DESCRIPTION="A C library that implements a dynamic array"
-HOMEPAGE="http://judy.sourceforge.net/"
-SRC_URI="mirror://sourceforge/judy/Judy-${PV}.tar.gz"
-
-LICENSE="LGPL-2.1"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ppc ppc64 ~s390 sparc x86"
-IUSE="static-libs"
-DOCS=( AUTHORS ChangeLog README )
-
-src_prepare() {
- eapply -p0 "${FILESDIR}/${P}-parallel-make.patch"
- eapply "${FILESDIR}/${P}-gcc49.patch"
- sed -i 's/AM_CONFIG_HEADER/AC_CONFIG_HEADERS/g' configure.ac || die
- eapply_user
- eautoreconf
- multilib_copy_sources
-}
-
-multilib_src_configure() {
- ECONF_SOURCE=${BUILD_DIR} econf $(use_enable static-libs static)
-}
-
-multilib_src_install_all() {
- einstalldocs
- find "${ED}" -name '*.la' -delete || die
-}
diff --git a/dev-libs/judy/judy-1.0.5-r3.ebuild b/dev-libs/judy/judy-1.0.5-r3.ebuild
deleted file mode 100644
index b730c174159e..000000000000
--- a/dev-libs/judy/judy-1.0.5-r3.ebuild
+++ /dev/null
@@ -1,34 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit autotools multilib-minimal
-
-DESCRIPTION="A C library that implements a dynamic array"
-HOMEPAGE="http://judy.sourceforge.net/"
-SRC_URI="mirror://sourceforge/judy/Judy-${PV}.tar.gz"
-
-LICENSE="LGPL-2.1"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
-IUSE="static-libs"
-DOCS=( AUTHORS ChangeLog README )
-
-src_prepare() {
- eapply -p0 "${FILESDIR}/${P}-parallel-make.patch"
- eapply "${FILESDIR}/${P}-gcc49.patch"
- sed -i 's/AM_CONFIG_HEADER/AC_CONFIG_HEADERS/g' configure.ac || die
- eapply_user
- eautoreconf
- multilib_copy_sources
-}
-
-multilib_src_configure() {
- ECONF_SOURCE=${BUILD_DIR} econf $(use_enable static-libs static)
-}
-
-multilib_src_install_all() {
- einstalldocs
- find "${ED}" -name '*.la' -delete || die
-}
diff --git a/dev-libs/judy/judy-1.0.5-r4.ebuild b/dev-libs/judy/judy-1.0.5-r4.ebuild
new file mode 100644
index 000000000000..6dc71de7e895
--- /dev/null
+++ b/dev-libs/judy/judy-1.0.5-r4.ebuild
@@ -0,0 +1,27 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools
+
+DESCRIPTION="A C library that implements a dynamic array"
+HOMEPAGE="http://judy.sourceforge.net/"
+SRC_URI="mirror://sourceforge/judy/Judy-${PV}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86"
+
+src_prepare() {
+ eapply -p0 "${FILESDIR}/${P}-parallel-make.patch"
+ eapply "${FILESDIR}/${P}-gcc49.patch"
+ sed -i 's/AM_CONFIG_HEADER/AC_CONFIG_HEADERS/g' configure.ac || die
+ eapply_user
+ eautoreconf
+}
+
+src_install() {
+ default
+ find "${ED}" -name '*.la' -delete || die
+}
diff --git a/dev-libs/judy/metadata.xml b/dev-libs/judy/metadata.xml
index 61d3437afe43..a6a6cd45139a 100644
--- a/dev-libs/judy/metadata.xml
+++ b/dev-libs/judy/metadata.xml
@@ -1,10 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <email>grknight@gentoo.org</email>
- <name>Brian Evans</name>
- </maintainer>
+ <!-- maintainer-needed -->
<upstream>
<remote-id type="sourceforge">judy</remote-id>
</upstream>
diff --git a/dev-libs/kasync/Manifest b/dev-libs/kasync/Manifest
deleted file mode 100644
index 78213d647eba..000000000000
--- a/dev-libs/kasync/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST kasync-0.3.0.tar.xz 29060 BLAKE2B 0d2eeeeb296db7162426848c5467ee51e3530f0cef97cc345231fbde3225bc29736458c7e62938c7c9773742a9e4d3ed1f9545ac9d570cc5324321bc4e694e3a SHA512 a521862bafdff2931a3f01ef4393c6ae8f3c4655bb58dc2ddb4fde5f443d67b1a23d0c21491b2099ad6dae53d8894588b49299c45d334956b36ccedf94b17f9d
diff --git a/dev-libs/kasync/kasync-0.3.0.ebuild b/dev-libs/kasync/kasync-0.3.0.ebuild
deleted file mode 100644
index d0bffd7cf58e..000000000000
--- a/dev-libs/kasync/kasync-0.3.0.ebuild
+++ /dev/null
@@ -1,18 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-ECM_TEST="forceoptional"
-inherit ecm kde.org
-
-DESCRIPTION="C++ library for controlling asynchronous tasks"
-HOMEPAGE="https://api.kde.org/kasync/html/index.html"
-
-if [[ ${KDE_BUILD_TYPE} = release ]]; then
- SRC_URI="mirror://kde/unstable/${PN}/${PV}/src/${P}.tar.xz"
- KEYWORDS="~amd64"
-fi
-
-LICENSE="LGPL-2+"
-SLOT="5"
diff --git a/dev-libs/kasync/metadata.xml b/dev-libs/kasync/metadata.xml
deleted file mode 100644
index d925f2439758..000000000000
--- a/dev-libs/kasync/metadata.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="project">
- <email>kde@gentoo.org</email>
- <name>Gentoo KDE Project</name>
- </maintainer>
- <upstream>
- <bugs-to>https://bugs.kde.org/</bugs-to>
- </upstream>
-</pkgmetadata>
diff --git a/dev-libs/kdiagram/Manifest b/dev-libs/kdiagram/Manifest
index cd8812c9005c..2d062d7d8781 100644
--- a/dev-libs/kdiagram/Manifest
+++ b/dev-libs/kdiagram/Manifest
@@ -1 +1,2 @@
DIST kdiagram-2.8.0.tar.xz 691044 BLAKE2B c7b3a4ba992192b34d8cda90bb50a495cb88f8456ca1109140841fd885b710ce1193868be148c25f813c2d26dd7365999bdd8572e66163f0d5d1a169afc3e448 SHA512 d981bce4feeb65038772125e5af1c096537ec87991fdb93d9a91dd5c9f089b1001647c8a63b209683a67b2d7b3aadeb7dd6279261eefaf6b6e046d0ab72723ec
+DIST kdiagram-3.0.1.tar.xz 693440 BLAKE2B b11698eb94392208233fc5da64bca5496cc9b91f5e603aee6e0fa896d2180c140ac988763b96078b9ffbc1baba94c82b158c483b6f9f6d31cfff188293e9ca98 SHA512 767c5ba0a4dfcc8b5a5bbf1c65b30bb391537024618b29ea5d5d09da04f85e2665cad60a7477e1cebeed0606e17c992cba0af7a89c76699063bb47e741ea8e20
diff --git a/dev-libs/kdiagram/kdiagram-2.8.0.ebuild b/dev-libs/kdiagram/kdiagram-2.8.0.ebuild
index 0beab250c973..38d7c295dada 100644
--- a/dev-libs/kdiagram/kdiagram-2.8.0.ebuild
+++ b/dev-libs/kdiagram/kdiagram-2.8.0.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
ECM_EXAMPLES="true"
ECM_QTHELP="true"
@@ -25,9 +25,6 @@ SLOT="5"
REQUIRED_USE="test? ( examples )"
-BDEPEND="
- >=dev-qt/linguist-tools-${QTMIN}:5
-"
DEPEND="
>=dev-qt/qtgui-${QTMIN}:5
>=dev-qt/qtprintsupport-${QTMIN}:5
@@ -35,3 +32,4 @@ DEPEND="
>=dev-qt/qtwidgets-${QTMIN}:5
"
RDEPEND="${DEPEND}"
+BDEPEND=">=dev-qt/linguist-tools-${QTMIN}:5"
diff --git a/dev-libs/kdiagram/kdiagram-3.0.1.ebuild b/dev-libs/kdiagram/kdiagram-3.0.1.ebuild
new file mode 100644
index 000000000000..8ec47c4432e1
--- /dev/null
+++ b/dev-libs/kdiagram/kdiagram-3.0.1.ebuild
@@ -0,0 +1,33 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+ECM_EXAMPLES="true"
+ECM_QTHELP="true"
+ECM_TEST="true"
+KDE_ORG_CATEGORY="graphics"
+KFMIN=5.245.0
+QTMIN=6.6.2
+inherit ecm kde.org
+
+DESCRIPTION="Powerful libraries (KChart, KGantt) for creating business diagrams"
+HOMEPAGE="https://api.kde.org/kdiagram/index.html
+https://www.kdab.com/development-resources/qt-tools/kd-chart/"
+
+if [[ ${KDE_BUILD_TYPE} = release ]]; then
+ SRC_URI="mirror://kde/stable/${PN}/${PV}/${P}.tar.xz"
+ KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
+fi
+
+LICENSE="GPL-2" # TODO CHECK
+SLOT="6"
+
+REQUIRED_USE="test? ( examples )"
+
+DEPEND="
+ >=dev-qt/qtbase-${QTMIN}:6[gui,widgets]
+ >=dev-qt/qtsvg-${QTMIN}:6
+"
+RDEPEND="${DEPEND}"
+BDEPEND=">=dev-qt/qttools-${QTMIN}:6[linguist]"
diff --git a/dev-libs/keybinder/keybinder-0.3.2-r300.ebuild b/dev-libs/keybinder/keybinder-0.3.2-r300.ebuild
index 5e606445e31c..2c67fe8c2a15 100644
--- a/dev-libs/keybinder/keybinder-0.3.2-r300.ebuild
+++ b/dev-libs/keybinder/keybinder-0.3.2-r300.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
@@ -11,7 +11,7 @@ S=${WORKDIR}/${MY_P}
LICENSE="MIT"
SLOT="3"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ppc ppc64 ~riscv x86"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv x86"
IUSE="+introspection"
RDEPEND="x11-libs/gtk+:3[X]
diff --git a/dev-libs/keystone/files/keystone-0.9.2-strict-prototypes.patch b/dev-libs/keystone/files/keystone-0.9.2-strict-prototypes.patch
new file mode 100644
index 000000000000..6f41ba1841b4
--- /dev/null
+++ b/dev-libs/keystone/files/keystone-0.9.2-strict-prototypes.patch
@@ -0,0 +1,156 @@
+commit 3717a45601835ddce9f0c21c6552aef5b4a6383b
+Upstream: https://github.com/keystone-engine/keystone/pull/563
+Author: Mario Haustein <mario.haustein@hrz.tu-chemnitz.de>
+Date: Sun Oct 8 13:59:08 2023 +0200
+
+ use full prototypes for functions without parameters
+
+--- a/bindings/ruby/keystone_gem/ext/keystone.c
++++ b/bindings/ruby/keystone_gem/ext/keystone.c
+@@ -27,7 +27,7 @@ VALUE KsClass = Qnil;
+ VALUE KsError = Qnil;
+
+
+-void Init_keystone() {
++void Init_keystone(void) {
+ rb_require("keystone/keystone_const");
+ KeystoneModule = rb_define_module("Keystone");
+ KsError = rb_define_class_under(KeystoneModule, "KsError", rb_eStandardError);
+--- a/llvm/cmake/config-ix.cmake
++++ b/llvm/cmake/config-ix.cmake
+@@ -35,7 +35,7 @@ function(check_type_exists type files variable)
+ add_cxx_include(includes "${files}")
+ CHECK_CXX_SOURCE_COMPILES("
+ ${includes} ${type} typeVar;
+- int main() {
++ int main(void) {
+ return 0;
+ }
+ " ${variable})
+@@ -83,7 +83,7 @@ check_include_file(histedit.h HAVE_HISTEDIT_H)
+ check_cxx_source_compiles("
+ #include <stddef.h>
+ #include <cxxabi.h>
+-int main() { return 0; }
++int main(void) { return 0; }
+ " HAVE_CXXABI_H)
+
+ # library checks
+@@ -414,7 +414,7 @@ if( PURE_WINDOWS )
+ #include <imagehlp.h>
+ extern \"C\" void foo(PENUMLOADED_MODULES_CALLBACK);
+ extern \"C\" void foo(BOOL(CALLBACK*)(PCSTR,ULONG_PTR,ULONG,PVOID));
+- int main(){return 0;}"
++ int main(void){return 0;}"
+ HAVE_ELMCB_PCSTR)
+ if( HAVE_ELMCB_PCSTR )
+ set(WIN32_ELMCB_PCSTR "PCSTR")
+--- a/llvm/cmake/config.guess
++++ b/llvm/cmake/config.guess
+@@ -539,7 +539,7 @@ EOF
+ sed 's/^ //' << EOF >$dummy.c
+ #include <sys/systemcfg.h>
+
+- main()
++ int main(void)
+ {
+ if (!__power_pc())
+ exit(1);
+@@ -622,7 +622,7 @@ EOF
+ #include <stdlib.h>
+ #include <unistd.h>
+
+- int main ()
++ int main (void)
+ {
+ #if defined(_SC_KERNEL_BITS)
+ long bits = sysconf(_SC_KERNEL_BITS);
+@@ -684,8 +684,8 @@ EOF
+ eval $set_cc_for_build
+ sed 's/^ //' << EOF >$dummy.c
+ #include <unistd.h>
+- int
+- main ()
++
++ int main (void)
+ {
+ long cpu = sysconf (_SC_CPU_VERSION);
+ /* The order matters, because CPU_IS_HP_MC68K erroneously returns
+@@ -1338,7 +1338,7 @@ cat >$dummy.c <<EOF
+ # include <sys/types.h>
+ # include <sys/utsname.h>
+ #endif
+-main ()
++int main (void)
+ {
+ #if defined (sony)
+ #if defined (MIPSEB)
+--- a/llvm/cmake/modules/CheckAtomic.cmake
++++ b/llvm/cmake/modules/CheckAtomic.cmake
+@@ -11,7 +11,7 @@ function(check_working_cxx_atomics varname)
+ CHECK_CXX_SOURCE_COMPILES("
+ #include <atomic>
+ std::atomic<int> x;
+-int main() {
++int main(void) {
+ return x;
+ }
+ " ${varname})
+@@ -46,7 +46,7 @@ CHECK_CXX_SOURCE_COMPILES("
+ #include <Intrin.h> /* Workaround for PR19898. */
+ #include <windows.h>
+ #endif
+-int main() {
++int main(void) {
+ #ifdef _MSC_VER
+ volatile LONG val = 1;
+ MemoryBarrier();
+--- a/llvm/cmake/modules/HandleLLVMOptions.cmake
++++ b/llvm/cmake/modules/HandleLLVMOptions.cmake
+@@ -37,7 +37,7 @@ if(NOT LLVM_FORCE_USE_OLD_TOOLCHAIN)
+ check_cxx_source_compiles("
+ #include <atomic>
+ std::atomic<float> x(0.0f);
+-int main() { return (float)x; }"
++int main(void) { return (float)x; }"
+ LLVM_NO_OLD_LIBSTDCXX)
+ if(NOT LLVM_NO_OLD_LIBSTDCXX)
+ message(FATAL_ERROR "Host Clang must be able to find libstdc++4.7 or newer!")
+@@ -457,7 +457,7 @@ elseif( LLVM_COMPILER_IS_GCC_COMPATIBLE )
+ set(CMAKE_REQUIRED_FLAGS "${CMAKE_REQUIRED_FLAGS} -std=c++11 -Werror=non-virtual-dtor")
+ CHECK_CXX_SOURCE_COMPILES("class base {public: virtual void anchor();protected: ~base();};
+ class derived final : public base { public: ~derived();};
+- int main() { return 0; }"
++ int main(void) { return 0; }"
+ CXX_WONT_WARN_ON_FINAL_NONVIRTUALDTOR)
+ set(CMAKE_REQUIRED_FLAGS ${OLD_CMAKE_REQUIRED_FLAGS})
+ append_if(CXX_WONT_WARN_ON_FINAL_NONVIRTUALDTOR
+@@ -471,7 +471,7 @@ elseif( LLVM_COMPILER_IS_GCC_COMPATIBLE )
+ # line is also a // comment.
+ set(OLD_CMAKE_REQUIRED_FLAGS ${CMAKE_REQUIRED_FLAGS})
+ set(CMAKE_REQUIRED_FLAGS "${CMAKE_REQUIRED_FLAGS} -Werror -Wcomment")
+- CHECK_C_SOURCE_COMPILES("// \\\\\\n//\\nint main() {return 0;}"
++ CHECK_C_SOURCE_COMPILES("// \\\\\\n//\\nint main(void) {return 0;}"
+ C_WCOMMENT_ALLOWS_LINE_WRAP)
+ set(CMAKE_REQUIRED_FLAGS ${OLD_CMAKE_REQUIRED_FLAGS})
+ if (NOT C_WCOMMENT_ALLOWS_LINE_WRAP)
+@@ -508,7 +508,7 @@ elseif( LLVM_COMPILER_IS_GCC_COMPATIBLE )
+ #include <cassert>
+ #define NDEBUG
+ #include <cassert>
+- int main() { assert(this code is not compiled); }"
++ int main(void) { assert(this code is not compiled); }"
+ CXX_SUPPORTS_MODULES)
+ set(CMAKE_REQUIRED_FLAGS ${OLD_CMAKE_REQUIRED_FLAGS})
+ if (CXX_SUPPORTS_MODULES)
+--- a/samples/sample.c
++++ b/samples/sample.c
+@@ -61,7 +61,7 @@ static bool sym_resolver(const char *symbol, uint64_t *value)
+ }
+
+ // test symbol resolver to handle missing symbols
+-static int test_sym_resolver()
++static int test_sym_resolver(void)
+ {
+ ks_engine *ks;
+ ks_err err;
diff --git a/dev-libs/keystone/keystone-0.9.2-r2.ebuild b/dev-libs/keystone/keystone-0.9.2-r2.ebuild
new file mode 100644
index 000000000000..1ca6a8f4b3fe
--- /dev/null
+++ b/dev-libs/keystone/keystone-0.9.2-r2.ebuild
@@ -0,0 +1,98 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_OPTIONAL=1
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit cmake distutils-r1
+
+DESCRIPTION="assembly/assembler framework + bindings"
+HOMEPAGE="https://www.keystone-engine.org/"
+
+if [[ ${PV} == 9999* ]]; then
+ EGIT_REPO_URI="https://github.com/keystone-engine/keystone.git"
+ inherit git-r3
+else
+ SRC_URI="https://github.com/keystone-engine/keystone/archive/${PV/_rc/-rc}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="amd64 ~arm ~arm64 ~ppc ~ppc64 x86"
+fi
+S="${WORKDIR}"/${P/_rc/-rc}
+
+LICENSE="GPL-2"
+SLOT="0"
+
+# Keep in sync with llvm/CMakeLists.txt
+KEYSTONE_TARGETS="AArch64 ARM Hexagon Mips PowerPC Sparc SystemZ X86"
+
+IUSE="python"
+
+RDEPEND="
+ python? ( ${PYTHON_DEPS} )
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ python?
+ (
+ ${DISTUTILS_DEPS}
+ ${PYTHON_DEPS}
+ )
+"
+
+RESTRICT=test # only regression tests
+
+REQUIRED_USE="
+ python? ( ${PYTHON_REQUIRED_USE} )
+"
+
+# Upstream doesn't flag patch releases (bug 858395)
+QA_PKGCONFIG_VERSION="$(ver_cut 1-2)"
+
+wrap_python() {
+ if use python; then
+ pushd bindings/python >/dev/null || die
+ distutils-r1_${1} "$@"
+ popd >/dev/null || die
+ fi
+}
+
+pkg_setup() {
+ python_setup
+}
+
+src_prepare() {
+ default
+
+ sed -i '/NOT uppercase_CMAKE_BUILD_TYPE MATCHES/ s/DEBUG/GENTOO|DEBUG/' \
+ llvm/CMakeLists.txt || die
+ cmake_src_prepare
+ wrap_python ${FUNCNAME}
+}
+
+src_configure() {
+ local libdir="$(get_libdir)"
+ local mycmakeargs=(
+ -DCMAKE_CONFIGURATION_TYPES="Gentoo"
+ -DLLVM_LIBDIR_SUFFIX=${libdir#lib}
+ -DBUILD_SHARED_LIBS=ON
+ -DLLVM_TARGETS_TO_BUILD="${KEYSTONE_TARGETS// /;}"
+ -DLLVM_HOST_TRIPLE="${CHOST}"
+ -DPYTHON_EXECUTABLE="${PYTHON}"
+ )
+
+ cmake_src_configure
+ wrap_python ${FUNCNAME}
+}
+
+src_compile() {
+ cmake_src_compile
+ wrap_python ${FUNCNAME}
+}
+
+src_install() {
+ cmake_src_install
+ wrap_python ${FUNCNAME}
+}
diff --git a/dev-libs/keystone/keystone-0.9.2-r3.ebuild b/dev-libs/keystone/keystone-0.9.2-r3.ebuild
new file mode 100644
index 000000000000..0edae53eacbe
--- /dev/null
+++ b/dev-libs/keystone/keystone-0.9.2-r3.ebuild
@@ -0,0 +1,103 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_OPTIONAL=1
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit cmake distutils-r1 flag-o-matic
+
+DESCRIPTION="assembly/assembler framework + bindings"
+HOMEPAGE="https://www.keystone-engine.org/"
+
+if [[ ${PV} == 9999* ]]; then
+ EGIT_REPO_URI="https://github.com/keystone-engine/keystone.git"
+ inherit git-r3
+else
+ SRC_URI="https://github.com/keystone-engine/keystone/archive/${PV/_rc/-rc}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="amd64 ~arm ~arm64 ~ppc ~ppc64 x86"
+fi
+S="${WORKDIR}"/${P/_rc/-rc}
+
+LICENSE="GPL-2"
+SLOT="0"
+
+# Keep in sync with llvm/CMakeLists.txt
+KEYSTONE_TARGETS="AArch64 ARM Hexagon Mips PowerPC Sparc SystemZ X86"
+
+IUSE="python"
+
+RDEPEND="
+ python? ( ${PYTHON_DEPS} )
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ python?
+ (
+ ${DISTUTILS_DEPS}
+ ${PYTHON_DEPS}
+ )
+"
+
+RESTRICT=test # only regression tests
+
+REQUIRED_USE="
+ python? ( ${PYTHON_REQUIRED_USE} )
+"
+
+PATCHES=(
+ "${FILESDIR}/${P}-strict-prototypes.patch"
+)
+
+# Upstream doesn't flag patch releases (bug 858395)
+QA_PKGCONFIG_VERSION="$(ver_cut 1-2)"
+
+wrap_python() {
+ if use python; then
+ pushd bindings/python >/dev/null || die
+ distutils-r1_${1} "$@"
+ popd >/dev/null || die
+ fi
+}
+
+pkg_setup() {
+ python_setup
+}
+
+src_prepare() {
+ sed -i '/NOT uppercase_CMAKE_BUILD_TYPE MATCHES/ s/DEBUG/GENTOO|DEBUG/' \
+ llvm/CMakeLists.txt || die
+ cmake_src_prepare
+ wrap_python ${FUNCNAME}
+}
+
+src_configure() {
+ # ODR violations in bundled LLVM (bug #924866)
+ filter-lto
+
+ local libdir="$(get_libdir)"
+ local mycmakeargs=(
+ -DCMAKE_CONFIGURATION_TYPES="Gentoo"
+ -DLLVM_LIBDIR_SUFFIX=${libdir#lib}
+ -DBUILD_SHARED_LIBS=ON
+ -DLLVM_TARGETS_TO_BUILD="${KEYSTONE_TARGETS// /;}"
+ -DLLVM_HOST_TRIPLE="${CHOST}"
+ -DPYTHON_EXECUTABLE="${PYTHON}"
+ )
+
+ cmake_src_configure
+ wrap_python ${FUNCNAME}
+}
+
+src_compile() {
+ cmake_src_compile
+ wrap_python ${FUNCNAME}
+}
+
+src_install() {
+ cmake_src_install
+ wrap_python ${FUNCNAME}
+}
diff --git a/dev-libs/keystone/keystone-0.9.2.ebuild b/dev-libs/keystone/keystone-0.9.2.ebuild
deleted file mode 100644
index 7ef25cfa1b43..000000000000
--- a/dev-libs/keystone/keystone-0.9.2.ebuild
+++ /dev/null
@@ -1,84 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-LLVM_MAX_SLOT=12
-DISTUTILS_OPTIONAL=1
-PYTHON_COMPAT=( python3_{8,9,10} )
-
-inherit cmake distutils-r1 llvm
-
-DESCRIPTION="assembly/assembler framework + bindings"
-HOMEPAGE="https://www.keystone-engine.org/"
-
-if [[ ${PV} == 9999* ]]; then
- EGIT_REPO_URI="https://github.com/keystone-engine/keystone.git"
- inherit git-r3
-else
- SRC_URI="https://github.com/keystone-engine/keystone/archive/${PV/_rc/-rc}.tar.gz -> ${P}.tar.gz"
- KEYWORDS="~amd64 ~arm ~ppc64 ~x86"
-fi
-
-LICENSE="GPL-2"
-SLOT="0"
-
-# Keep in sync with llvm/CMakeLists.txt, subset of sys-devel/llvm
-ALL_LLVM_TARGETS=( AArch64 ARM Hexagon Mips PowerPC Sparc SystemZ X86 )
-ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
-LLVM_TARGET_USEDEPS=${ALL_LLVM_TARGETS[@]/%/?}
-
-IUSE="python ${ALL_LLVM_TARGETS[*]}"
-
-RDEPEND="
- <sys-devel/llvm-$((${LLVM_MAX_SLOT} + 1)):=[${LLVM_TARGET_USEDEPS// /,}]
- python? ( ${PYTHON_DEPS} )
-"
-DEPEND="${RDEPEND}"
-
-REQUIRED_USE="
- || ( ${ALL_LLVM_TARGETS[*]} )
- python? ( ${PYTHON_REQUIRED_USE} )
-"
-
-S=${WORKDIR}/${P/_rc/-rc}
-
-wrap_python() {
- if use python; then
- pushd bindings/python >/dev/null || die
- distutils-r1_${1} "$@"
- popd >/dev/null || die
- fi
-}
-
-src_prepare() {
- default
- sed -i '/NOT uppercase_CMAKE_BUILD_TYPE MATCHES/ s/DEBUG/GENTOO|DEBUG/' \
- llvm/CMakeLists.txt || die
- cmake_src_prepare
- wrap_python ${FUNCNAME}
-}
-
-src_configure() {
- local libdir="$(get_libdir)"
- local mycmakeargs=(
- -DCMAKE_CONFIGURATION_TYPES="Gentoo"
- -DLLVM_LIBDIR_SUFFIX=${libdir#lib}
- -DBUILD_SHARED_LIBS=ON
- -DLLVM_TARGETS_TO_BUILD="${LLVM_TARGETS// /;}"
- -DLLVM_HOST_TRIPLE="${CHOST}"
- )
-
- cmake_src_configure
- wrap_python ${FUNCNAME}
-}
-
-src_compile() {
- cmake_src_compile
- wrap_python ${FUNCNAME}
-}
-
-src_install() {
- cmake_src_install
- wrap_python ${FUNCNAME}
-}
diff --git a/dev-libs/keystone/keystone-9999.ebuild b/dev-libs/keystone/keystone-9999.ebuild
index 7ef25cfa1b43..c1e7b73fa5d4 100644
--- a/dev-libs/keystone/keystone-9999.ebuild
+++ b/dev-libs/keystone/keystone-9999.ebuild
@@ -1,13 +1,14 @@
-# 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
-LLVM_MAX_SLOT=12
+DISTUTILS_EXT=1
DISTUTILS_OPTIONAL=1
-PYTHON_COMPAT=( python3_{8,9,10} )
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..12} )
-inherit cmake distutils-r1 llvm
+inherit cmake distutils-r1 flag-o-matic
DESCRIPTION="assembly/assembler framework + bindings"
HOMEPAGE="https://www.keystone-engine.org/"
@@ -17,31 +18,38 @@ if [[ ${PV} == 9999* ]]; then
inherit git-r3
else
SRC_URI="https://github.com/keystone-engine/keystone/archive/${PV/_rc/-rc}.tar.gz -> ${P}.tar.gz"
- KEYWORDS="~amd64 ~arm ~ppc64 ~x86"
+ KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~x86"
fi
+S="${WORKDIR}"/${P/_rc/-rc}
LICENSE="GPL-2"
SLOT="0"
-# Keep in sync with llvm/CMakeLists.txt, subset of sys-devel/llvm
-ALL_LLVM_TARGETS=( AArch64 ARM Hexagon Mips PowerPC Sparc SystemZ X86 )
-ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
-LLVM_TARGET_USEDEPS=${ALL_LLVM_TARGETS[@]/%/?}
+# Keep in sync with llvm/CMakeLists.txt
+KEYSTONE_TARGETS="AArch64 ARM Hexagon Mips PowerPC Sparc SystemZ X86"
-IUSE="python ${ALL_LLVM_TARGETS[*]}"
+IUSE="python"
RDEPEND="
- <sys-devel/llvm-$((${LLVM_MAX_SLOT} + 1)):=[${LLVM_TARGET_USEDEPS// /,}]
python? ( ${PYTHON_DEPS} )
"
DEPEND="${RDEPEND}"
+BDEPEND="
+ python?
+ (
+ ${DISTUTILS_DEPS}
+ ${PYTHON_DEPS}
+ )
+"
+
+RESTRICT=test # only regression tests
REQUIRED_USE="
- || ( ${ALL_LLVM_TARGETS[*]} )
python? ( ${PYTHON_REQUIRED_USE} )
"
-S=${WORKDIR}/${P/_rc/-rc}
+# Upstream doesn't flag patch releases (bug 858395)
+QA_PKGCONFIG_VERSION="$(ver_cut 1-2)"
wrap_python() {
if use python; then
@@ -51,8 +59,11 @@ wrap_python() {
fi
}
+pkg_setup() {
+ python_setup
+}
+
src_prepare() {
- default
sed -i '/NOT uppercase_CMAKE_BUILD_TYPE MATCHES/ s/DEBUG/GENTOO|DEBUG/' \
llvm/CMakeLists.txt || die
cmake_src_prepare
@@ -60,13 +71,17 @@ src_prepare() {
}
src_configure() {
+ # ODR violations in bundled LLVM (bug #924866)
+ filter-lto
+
local libdir="$(get_libdir)"
local mycmakeargs=(
-DCMAKE_CONFIGURATION_TYPES="Gentoo"
-DLLVM_LIBDIR_SUFFIX=${libdir#lib}
-DBUILD_SHARED_LIBS=ON
- -DLLVM_TARGETS_TO_BUILD="${LLVM_TARGETS// /;}"
+ -DLLVM_TARGETS_TO_BUILD="${KEYSTONE_TARGETS// /;}"
-DLLVM_HOST_TRIPLE="${CHOST}"
+ -DPYTHON_EXECUTABLE="${PYTHON}"
)
cmake_src_configure
diff --git a/dev-libs/keystone/metadata.xml b/dev-libs/keystone/metadata.xml
index 2393af55ec39..3ce5bd725949 100644
--- a/dev-libs/keystone/metadata.xml
+++ b/dev-libs/keystone/metadata.xml
@@ -1,7 +1,14 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <!-- maintainer-needed -->
+ <maintainer type="person" proxied="yes">
+ <email>mario.haustein@hrz.tu-chemnitz.de</email>
+ <name>Mario Haustein</name>
+ </maintainer>
+ <maintainer type="project" proxied="proxy">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+ </maintainer>
<upstream>
<remote-id type="github">keystone-engine/keystone</remote-id>
</upstream>
diff --git a/dev-libs/kirigami-addons/Manifest b/dev-libs/kirigami-addons/Manifest
new file mode 100644
index 000000000000..0b9bf3bd2ae6
--- /dev/null
+++ b/dev-libs/kirigami-addons/Manifest
@@ -0,0 +1,2 @@
+DIST kirigami-addons-0.11.0.tar.xz 136692 BLAKE2B 26301176ddeaea3aec351207e82dc28a56e465aa6bc6d3bfd23b1feaa5d14cc0821a4c39fdf5eee3d134a8ed9bbcb5e503ee31d3864185c57bb0fcb788744f2d SHA512 f5a721eee6d0ebd37e67cdb5f89aba81136eb4ac23bc042b7d9bedd6a33f96f913353e1d83ec91e6997a8eea5e2834d9203eb7cd286eed1157149ecedeab6b89
+DIST kirigami-addons-1.1.0.tar.xz 1029104 BLAKE2B 0053b68330c6288379b8cb123278feecfa1f5152f8f06ce89d3b74084bcd382917d474e004b9b4b71049bf80d6de8a80420d3d05dfd437507f41d2dcc51407e1 SHA512 c5f73203b8befe46e5a0029469ec2ffb5b50e3e9c1d7ff426b4d7a1067f8135d3694fd7cbbe8930cac55f57a63c87dcb64334eb580ab47c1275388e72e6bfc46
diff --git a/dev-libs/kirigami-addons/kirigami-addons-0.11.0.ebuild b/dev-libs/kirigami-addons/kirigami-addons-0.11.0.ebuild
new file mode 100644
index 000000000000..b50294cd36ab
--- /dev/null
+++ b/dev-libs/kirigami-addons/kirigami-addons-0.11.0.ebuild
@@ -0,0 +1,48 @@
+# Copyright 2021-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+ECM_QTHELP=true
+ECM_TEST=true
+KFMIN=5.106.0
+QTMIN=5.15.9
+inherit ecm kde.org
+
+if [[ ${KDE_BUILD_TYPE} = release ]]; then
+ SRC_URI="mirror://kde/stable/${PN}/${P}.tar.xz"
+ KEYWORDS="amd64 arm64 ~loong ~ppc64 ~riscv x86"
+fi
+
+DESCRIPTION="Visual end user components for Kirigami-based applications"
+HOMEPAGE="https://invent.kde.org/libraries/kirigami-addons"
+
+LICENSE="|| ( GPL-2 GPL-3 LGPL-3 ) LGPL-2.1+"
+SLOT="5"
+IUSE=""
+
+# would profit from VIRTUALX_REQUIRED=test, but then still requires
+# org.qt-project.qt.mediaplayer service and fails, bug 911186
+RESTRICT="test"
+
+COMMON_DEPEND="
+ >=dev-qt/qtdeclarative-${QTMIN}:5
+ >=dev-qt/qtgui-${QTMIN}:5
+ >=dev-qt/qtquickcontrols2-${QTMIN}:5
+ >=kde-frameworks/ki18n-${KFMIN}:5
+ >=kde-frameworks/kirigami-${KFMIN}:5
+"
+RDEPEND="${COMMON_DEPEND}
+ >=dev-qt/qtgraphicaleffects-${QTMIN}:5
+ >=kde-plasma/libplasma-${KFMIN}:5
+ >=kde-frameworks/qqc2-desktop-style-${KFMIN}:5
+"
+DEPEND="${COMMON_DEPEND}
+ test? (
+ >=dev-qt/qtmultimedia-${QTMIN}:5[gstreamer,qml]
+ media-libs/gst-plugins-base:1.0[ogg,vorbis]
+ media-libs/gst-plugins-bad:1.0
+ media-libs/gst-plugins-good:1.0
+ x11-themes/sound-theme-freedesktop
+ )
+"
diff --git a/dev-libs/kirigami-addons/kirigami-addons-1.1.0.ebuild b/dev-libs/kirigami-addons/kirigami-addons-1.1.0.ebuild
new file mode 100644
index 000000000000..5bfa60a1d24a
--- /dev/null
+++ b/dev-libs/kirigami-addons/kirigami-addons-1.1.0.ebuild
@@ -0,0 +1,44 @@
+# Copyright 2021-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+ECM_QTHELP="true"
+ECM_TEST="true"
+KFMIN=6.0.0
+QTMIN=6.6.2
+inherit ecm kde.org
+
+if [[ ${KDE_BUILD_TYPE} = release ]]; then
+ SRC_URI="mirror://kde/stable/${PN}/${P}.tar.xz"
+ KEYWORDS="~amd64"
+fi
+
+DESCRIPTION="Visual end user components for Kirigami-based applications"
+HOMEPAGE="https://invent.kde.org/libraries/kirigami-addons"
+
+LICENSE="|| ( GPL-2 GPL-3 LGPL-3 ) LGPL-2.1+"
+SLOT="6"
+IUSE=""
+
+# would profit from VIRTUALX_REQUIRED=test, but then still requires
+# org.qt-project.qt.mediaplayer service and fails, bug 911186
+RESTRICT="test"
+
+COMMON_DEPEND="
+ >=dev-qt/qtbase-${QTMIN}:6[gui]
+ >=dev-qt/qtdeclarative-${QTMIN}:6
+ >=kde-frameworks/ki18n-${KFMIN}:6
+ >=kde-frameworks/kirigami-${KFMIN}:6
+"
+RDEPEND="${COMMON_DEPEND}
+ >=dev-qt/qt5compat-${QTMIN}:6[qml]
+ >=kde-frameworks/qqc2-desktop-style-${KFMIN}:6
+ kde-plasma/libplasma:6
+"
+DEPEND="${COMMON_DEPEND}
+ test? (
+ >=dev-qt/qtmultimedia-${QTMIN}:6[qml]
+ x11-themes/sound-theme-freedesktop
+ )
+"
diff --git a/dev-libs/kirigami-addons/metadata.xml b/dev-libs/kirigami-addons/metadata.xml
new file mode 100644
index 000000000000..ec655e157c6c
--- /dev/null
+++ b/dev-libs/kirigami-addons/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="project">
+ <email>kde@gentoo.org</email>
+ <name>Gentoo KDE Project</name>
+ </maintainer>
+ <upstream>
+ <bugs-to>https://bugs.kde.org/</bugs-to>
+ <remote-id type="kde-invent">libraries/kirigami-addons</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/kopeninghours/Manifest b/dev-libs/kopeninghours/Manifest
index 31ebec20b179..32e382728b50 100644
--- a/dev-libs/kopeninghours/Manifest
+++ b/dev-libs/kopeninghours/Manifest
@@ -1,2 +1,2 @@
-DIST kopeninghours-21.08.3.tar.xz 65904 BLAKE2B 88169a5881a49fbb6728d706585d2e2d4c88d2eb66360917c1d0cef0cb7239de378d69afc1970f038e9c52756fe6097d5e423577a29e77c071e0b5ad54b7c6c2 SHA512 9fe8181b4c4e9427a6eba133a51b119e86378933ebf5bdbfe5a78c711837ccdbaa8baa04cb10e234febe7596c7e7e515dda8e09f8568bd785b0a3e061f6d8bcf
-DIST kopeninghours-21.12.1.tar.xz 68732 BLAKE2B a6de2313bf75d1067fb69830e185f975723b9ee314f2bd8e502f28f8a39f4878202b9f9c7a11164dbe9b05b5696f8876fe156b8218ce20808a52991a135ac360 SHA512 8970816f0f679a4d7a0f756e6dea08605d142c5590b9178d6e8468c377b8bb71f39786d3cf7db71b7a2ff0bfe4d3e042722bde41ae09395beb9b45225cc9cb8f
+DIST kopeninghours-23.08.5.tar.xz 72568 BLAKE2B 84e418d95f4a7261786a101882000bed0ca721931cc419e0330edb0f659e38459063d49c75ca643d169e9326ed66694130cfeebef51183c89e02efd02f6f3133 SHA512 a95cd3c446699d8bd95f2f746cb8b4187c7d2027067e5c731afe371a3313a5569780110e8acbf52d125da673aff4b2567da9f2b8c07a4412cf1d7540baad7a14
+DIST kopeninghours-24.02.2.tar.xz 73660 BLAKE2B 779ea9c966c7223e80bb88120d6cfc581597d5b27c1e716fd30d21815814dfd406ae2c904c772a4ef0e97b1f951c1e82a4572d4c0ce995d6f79c75905a7eca07 SHA512 1540dc045e65c9751c5571b3e2c170f03474282c8e342c41af3101034bdddc8af9e9de17b63b0f3515672b0fcb8a821f5a5acfa074814639f3957aed9e53d857
diff --git a/dev-libs/kopeninghours/files/kopeninghours-21.03.90-boostpython.patch b/dev-libs/kopeninghours/files/kopeninghours-21.03.90-boostpython.patch
deleted file mode 100644
index 939bcbcd9e37..000000000000
--- a/dev-libs/kopeninghours/files/kopeninghours-21.03.90-boostpython.patch
+++ /dev/null
@@ -1,79 +0,0 @@
-From fd7c2e1f3797c1a67dc6346dfcb192f042cb19e8 Mon Sep 17 00:00:00 2001
-From: Andreas Sturmlechner <asturm@gentoo.org>
-Date: Sun, 11 Apr 2021 14:33:48 +0200
-Subject: [PATCH] Use FindPython3 w/ Python3_SITELIB, add
- BOOSTPYTHON_VERSION_MAJOR_MINOR
-
-- Use BOOSTPYTHON_VERSION_MAJOR_MINOR to inject desired python target
-- Drop deprecated PythonLibs
-- Use FindPython3 with Python3_SITELIB for correct install location
-
-Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
----
- CMakeLists.txt | 16 +++++-----------
- PyKOpeningHours/CMakeLists.txt | 10 ++++------
- 2 files changed, 9 insertions(+), 17 deletions(-)
-
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 7c50b40..a9a9328 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -1,7 +1,7 @@
- # SPDX-FileCopyrightText: 2020 Volker Krause <vkrause@kde.org>
- # SPDX-License-Identifier: BSD-3-Clause
-
--cmake_minimum_required(VERSION 3.5)
-+cmake_minimum_required(VERSION 3.12)
-
- # KDE Application Version, managed by release script
- set (RELEASE_SERVICE_VERSION_MAJOR "21")
-@@ -56,22 +56,16 @@ set_package_properties(FLEX PROPERTIES PURPOSE "Lexer generator for parsing open
- find_package(BISON REQUIRED)
- set_package_properties(BISON PROPERTIES PURPOSE "Grammar generator for parsing opening hours expressions")
-
--find_package(PythonLibs 3.6 MODULE)
--if (PythonLibs_FOUND)
-- # Extract major/minor python version
-- string(REPLACE "." ";" VERSION_LIST ${PYTHONLIBS_VERSION_STRING})
-- list(GET VERSION_LIST 0 PYTHONLIBS_VERSION_MAJOR)
-- list(GET VERSION_LIST 1 PYTHONLIBS_VERSION_MINOR)
--
-- # boost-python requires exact version number
-- find_package(Boost COMPONENTS python${PYTHONLIBS_VERSION_MAJOR}${PYTHONLIBS_VERSION_MINOR} MODULE)
--endif()
-+set(BOOSTPYTHON_VERSION_MAJOR_MINOR python36 CACHE STRING "Version of BoostPython to feed CMake's FindBoost")
-+# boost-python requires exact version number
-+find_package(Boost 1.70 COMPONENTS ${BOOSTPYTHON_VERSION_MAJOR_MINOR} MODULE)
-
- add_definitions(-DQT_DISABLE_DEPRECATED_BEFORE=0x050d00)
- add_definitions(-DKF_DISABLE_DEPRECATED_BEFORE_AND_AT=0x054400)
- add_definitions(-DQT_NO_FOREACH)
- add_subdirectory(src)
- if (Boost_FOUND)
-+ find_package(Python3 3.6 COMPONENTS Development)
- add_subdirectory(PyKOpeningHours)
- endif()
-
-diff --git a/PyKOpeningHours/CMakeLists.txt b/PyKOpeningHours/CMakeLists.txt
-index 771cedf..e755ea7 100644
---- a/PyKOpeningHours/CMakeLists.txt
-+++ b/PyKOpeningHours/CMakeLists.txt
-@@ -21,11 +21,9 @@ kde_target_enable_exceptions(PyKOpeningHours PRIVATE)
- target_compile_definitions(PyKOpeningHours PRIVATE KOPENINGHOURS_VALIDATOR_ONLY)
-
- # Set up the libraries and header search paths for this target
--target_link_libraries(PyKOpeningHours PUBLIC ${Boost_LIBRARIES} ${PYTHON_LIBRARIES} KOpeningHours)
--target_include_directories(PyKOpeningHours PRIVATE ${PYTHON_INCLUDE_DIRS})
-+target_link_libraries(PyKOpeningHours PUBLIC Boost::${BOOSTPYTHON_VERSION_MAJOR_MINOR} ${Python3_LIBRARIES} KOpeningHours)
-+target_include_directories(PyKOpeningHours PRIVATE ${Python3_INCLUDE_DIRS})
-
--set(_install_dir lib/python${PYTHONLIBS_VERSION_MAJOR}.${PYTHONLIBS_VERSION_MINOR}/site-packages)
--
--install(TARGETS PyKOpeningHours DESTINATION ${_install_dir}/PyKOpeningHours)
--install(FILES PyKOpeningHours.pyi __init__.py DESTINATION ${_install_dir}/PyKOpeningHours)
-+install(TARGETS PyKOpeningHours DESTINATION ${Python3_SITELIB}/PyKOpeningHours)
-+install(FILES PyKOpeningHours.pyi __init__.py DESTINATION ${Python3_SITELIB}/PyKOpeningHours)
-
---
-2.31.1
-
diff --git a/dev-libs/kopeninghours/files/kopeninghours-22.04.0-boostpython.patch b/dev-libs/kopeninghours/files/kopeninghours-22.04.0-boostpython.patch
new file mode 100644
index 000000000000..d51fb7d45ff8
--- /dev/null
+++ b/dev-libs/kopeninghours/files/kopeninghours-22.04.0-boostpython.patch
@@ -0,0 +1,79 @@
+From fd7c2e1f3797c1a67dc6346dfcb192f042cb19e8 Mon Sep 17 00:00:00 2001
+From: Andreas Sturmlechner <asturm@gentoo.org>
+Date: Sun, 11 Apr 2021 14:33:48 +0200
+Subject: [PATCH] Use FindPython3 w/ Python3_SITELIB, add
+ BOOSTPYTHON_VERSION_MAJOR_MINOR
+
+- Use BOOSTPYTHON_VERSION_MAJOR_MINOR to inject desired python target
+- Drop deprecated PythonLibs
+- Use FindPython3 with Python3_SITELIB for correct install location
+
+Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
+---
+ CMakeLists.txt | 16 +++++-----------
+ PyKOpeningHours/CMakeLists.txt | 10 ++++------
+ 2 files changed, 9 insertions(+), 17 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 7c50b40..a9a9328 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -1,7 +1,7 @@
+ # SPDX-FileCopyrightText: 2020 Volker Krause <vkrause@kde.org>
+ # SPDX-License-Identifier: BSD-3-Clause
+
+-cmake_minimum_required(VERSION 3.5)
++cmake_minimum_required(VERSION 3.12)
+
+ # KDE Application Version, managed by release script
+ set (RELEASE_SERVICE_VERSION_MAJOR "22")
+@@ -56,22 +56,16 @@ set_package_properties(FLEX PROPERTIES PURPOSE "Lexer generator for parsing open
+ find_package(BISON REQUIRED)
+ set_package_properties(BISON PROPERTIES PURPOSE "Grammar generator for parsing opening hours expressions")
+
+-find_package(PythonLibs 3.6 MODULE)
+-if (PythonLibs_FOUND)
+- # Extract major/minor python version
+- string(REPLACE "." ";" VERSION_LIST ${PYTHONLIBS_VERSION_STRING})
+- list(GET VERSION_LIST 0 PYTHONLIBS_VERSION_MAJOR)
+- list(GET VERSION_LIST 1 PYTHONLIBS_VERSION_MINOR)
+-
+- # boost-python requires exact version number
+- find_package(Boost COMPONENTS python${PYTHONLIBS_VERSION_MAJOR}${PYTHONLIBS_VERSION_MINOR} MODULE)
+-endif()
++set(BOOSTPYTHON_VERSION_MAJOR_MINOR python36 CACHE STRING "Version of BoostPython to feed CMake's FindBoost")
++# boost-python requires exact version number
++find_package(Boost 1.70 COMPONENTS ${BOOSTPYTHON_VERSION_MAJOR_MINOR} MODULE)
+
+ add_definitions(-DQT_DISABLE_DEPRECATED_BEFORE=0x050d00)
+ add_definitions(-DKF_DISABLE_DEPRECATED_BEFORE_AND_AT=0x054400)
+ add_definitions(-DQT_NO_FOREACH)
+ add_subdirectory(src)
+ if (Boost_FOUND)
++ find_package(Python3 3.6 COMPONENTS Development)
+ add_subdirectory(PyKOpeningHours)
+ endif()
+
+diff --git a/PyKOpeningHours/CMakeLists.txt b/PyKOpeningHours/CMakeLists.txt
+index 771cedf..e755ea7 100644
+--- a/PyKOpeningHours/CMakeLists.txt
++++ b/PyKOpeningHours/CMakeLists.txt
+@@ -21,11 +21,9 @@ kde_target_enable_exceptions(PyKOpeningHours PRIVATE)
+ target_compile_definitions(PyKOpeningHours PRIVATE KOPENINGHOURS_VALIDATOR_ONLY)
+
+ # Set up the libraries and header search paths for this target
+-target_link_libraries(PyKOpeningHours PUBLIC ${Boost_LIBRARIES} ${PYTHON_LIBRARIES} KOpeningHours)
+-target_include_directories(PyKOpeningHours PRIVATE ${Boost_INCLUDE_DIR} ${PYTHON_INCLUDE_DIRS})
++target_link_libraries(PyKOpeningHours PUBLIC Boost::${BOOSTPYTHON_VERSION_MAJOR_MINOR} ${Python3_LIBRARIES} KOpeningHours)
++target_include_directories(PyKOpeningHours PRIVATE ${Boost_INCLUDE_DIR} ${Python3_INCLUDE_DIRS})
+
+-set(_install_dir lib/python${PYTHONLIBS_VERSION_MAJOR}.${PYTHONLIBS_VERSION_MINOR}/site-packages)
+-
+-install(TARGETS PyKOpeningHours DESTINATION ${_install_dir}/PyKOpeningHours)
+-install(FILES PyKOpeningHours.pyi __init__.py DESTINATION ${_install_dir}/PyKOpeningHours)
++install(TARGETS PyKOpeningHours DESTINATION ${Python3_SITELIB}/PyKOpeningHours)
++install(FILES PyKOpeningHours.pyi __init__.py DESTINATION ${Python3_SITELIB}/PyKOpeningHours)
+
+--
+2.31.1
+
diff --git a/dev-libs/kopeninghours/kopeninghours-21.08.3.ebuild b/dev-libs/kopeninghours/kopeninghours-21.08.3.ebuild
deleted file mode 100644
index bd46d6ad91b3..000000000000
--- a/dev-libs/kopeninghours/kopeninghours-21.08.3.ebuild
+++ /dev/null
@@ -1,64 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-ECM_TEST="true"
-KDE_GEAR="true"
-PVCUT=$(ver_cut 1-3)
-KFMIN=5.84.0
-QTMIN=5.15.2
-PYTHON_COMPAT=( python3_{8..10} )
-inherit ecm kde.org python-single-r1
-
-DESCRIPTION="Library for parsing and evaluating OSM opening hours expressions"
-HOMEPAGE="https://api.kde.org/kopeninghours/html/index.html
-https://invent.kde.org/libraries/kopeninghours"
-
-LICENSE="LGPL-2+"
-SLOT="5"
-KEYWORDS="~amd64"
-IUSE="python"
-
-REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
-
-DEPEND="
- >=dev-libs/kpublictransport-${PVCUT}:5
- >=dev-qt/qtdeclarative-${QTMIN}:5
- >=kde-frameworks/kholidays-${KFMIN}:5
- >=kde-frameworks/ki18n-${KFMIN}:5
- sys-libs/zlib
- python? (
- $(python_gen_cond_dep '
- >=dev-libs/boost-1.70:=[python,${PYTHON_USEDEP}]
- ')
- )
-"
-RDEPEND="${DEPEND}
- ${PYTHON_DEPS}
- >=dev-qt/qtquickcontrols2-${QTMIN}:5
-"
-BDEPEND="
- sys-devel/bison
- sys-devel/flex
-"
-
-PATCHES=( "${FILESDIR}"/${PN}-21.03.90-boostpython.patch )
-
-pkg_setup() {
- ecm_pkg_setup
- python_setup
-}
-
-src_configure() {
- local mycmakeargs=(
- -DBOOSTPYTHON_VERSION_MAJOR_MINOR=${EPYTHON}
- $(cmake_use_find_package python Boost)
- )
- ecm_src_configure
-}
-
-src_install() {
- ecm_src_install
- python_optimize
-}
diff --git a/dev-libs/kopeninghours/kopeninghours-21.12.1.ebuild b/dev-libs/kopeninghours/kopeninghours-21.12.1.ebuild
deleted file mode 100644
index 5d70c6f06c47..000000000000
--- a/dev-libs/kopeninghours/kopeninghours-21.12.1.ebuild
+++ /dev/null
@@ -1,65 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-ECM_QTHELP="true"
-ECM_TEST="true"
-KDE_GEAR="true"
-PVCUT=$(ver_cut 1-3)
-KFMIN=5.88.0
-QTMIN=5.15.2
-PYTHON_COMPAT=( python3_{8..10} )
-inherit ecm kde.org python-single-r1
-
-DESCRIPTION="Library for parsing and evaluating OSM opening hours expressions"
-HOMEPAGE="https://api.kde.org/kopeninghours/html/index.html
-https://invent.kde.org/libraries/kopeninghours"
-
-LICENSE="LGPL-2+"
-SLOT="5"
-KEYWORDS="~amd64"
-IUSE="python"
-
-REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
-
-DEPEND="
- >=dev-libs/kpublictransport-${PVCUT}:5
- >=dev-qt/qtdeclarative-${QTMIN}:5
- >=kde-frameworks/kholidays-${KFMIN}:5
- >=kde-frameworks/ki18n-${KFMIN}:5
- sys-libs/zlib
- python? (
- $(python_gen_cond_dep '
- >=dev-libs/boost-1.70:=[python,${PYTHON_USEDEP}]
- ')
- )
-"
-RDEPEND="${DEPEND}
- ${PYTHON_DEPS}
- >=dev-qt/qtquickcontrols2-${QTMIN}:5
-"
-BDEPEND="
- sys-devel/bison
- sys-devel/flex
-"
-
-PATCHES=( "${FILESDIR}"/${PN}-21.03.90-boostpython.patch )
-
-pkg_setup() {
- ecm_pkg_setup
- python_setup
-}
-
-src_configure() {
- local mycmakeargs=(
- -DBOOSTPYTHON_VERSION_MAJOR_MINOR=${EPYTHON}
- $(cmake_use_find_package python Boost)
- )
- ecm_src_configure
-}
-
-src_install() {
- ecm_src_install
- python_optimize
-}
diff --git a/dev-libs/kopeninghours/kopeninghours-23.08.5.ebuild b/dev-libs/kopeninghours/kopeninghours-23.08.5.ebuild
new file mode 100644
index 000000000000..0ced49ce9bd3
--- /dev/null
+++ b/dev-libs/kopeninghours/kopeninghours-23.08.5.ebuild
@@ -0,0 +1,64 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+ECM_QTHELP="true"
+ECM_TEST="true"
+PVCUT=$(ver_cut 1-3)
+KFMIN=5.106.0
+QTMIN=5.15.9
+PYTHON_COMPAT=( python3_{10..12} )
+inherit ecm gear.kde.org python-single-r1
+
+DESCRIPTION="Library for parsing and evaluating OSM opening hours expressions"
+HOMEPAGE="https://api.kde.org/kopeninghours/html/index.html
+https://invent.kde.org/libraries/kopeninghours"
+
+LICENSE="LGPL-2+"
+SLOT="5"
+KEYWORDS="~amd64"
+IUSE="python"
+
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+
+DEPEND="
+ >=dev-libs/kpublictransport-${PVCUT}:5
+ >=dev-qt/qtdeclarative-${QTMIN}:5
+ >=kde-frameworks/kholidays-${KFMIN}:5
+ >=kde-frameworks/ki18n-${KFMIN}:5
+ sys-libs/zlib
+ python? (
+ $(python_gen_cond_dep '
+ >=dev-libs/boost-1.70:=[python,${PYTHON_USEDEP}]
+ ')
+ )
+"
+RDEPEND="${DEPEND}
+ ${PYTHON_DEPS}
+ >=dev-qt/qtquickcontrols2-${QTMIN}:5
+"
+BDEPEND="
+ app-alternatives/lex
+ app-alternatives/yacc
+"
+
+PATCHES=( "${FILESDIR}"/${PN}-22.04.0-boostpython.patch )
+
+pkg_setup() {
+ ecm_pkg_setup
+ python_setup
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DBOOSTPYTHON_VERSION_MAJOR_MINOR=${EPYTHON}
+ $(cmake_use_find_package python Boost)
+ )
+ ecm_src_configure
+}
+
+src_install() {
+ ecm_src_install
+ python_optimize
+}
diff --git a/dev-libs/kopeninghours/kopeninghours-24.02.2.ebuild b/dev-libs/kopeninghours/kopeninghours-24.02.2.ebuild
new file mode 100644
index 000000000000..796172457765
--- /dev/null
+++ b/dev-libs/kopeninghours/kopeninghours-24.02.2.ebuild
@@ -0,0 +1,63 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+ECM_QTHELP="true"
+ECM_TEST="true"
+PVCUT=$(ver_cut 1-3)
+KFMIN=6.0.0
+QTMIN=6.6.2
+PYTHON_COMPAT=( python3_{10..12} )
+inherit ecm gear.kde.org python-single-r1
+
+DESCRIPTION="Library for parsing and evaluating OSM opening hours expressions"
+HOMEPAGE="https://api.kde.org/kopeninghours/html/index.html
+https://invent.kde.org/libraries/kopeninghours"
+
+LICENSE="LGPL-2+"
+SLOT="6"
+KEYWORDS="~amd64"
+IUSE="python"
+
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+
+DEPEND="
+ >=dev-libs/kpublictransport-${PVCUT}:6
+ >=dev-qt/qtdeclarative-${QTMIN}:6
+ >=kde-frameworks/kholidays-${KFMIN}:6
+ >=kde-frameworks/ki18n-${KFMIN}:6
+ sys-libs/zlib
+ python? (
+ $(python_gen_cond_dep '
+ >=dev-libs/boost-1.70:=[python,${PYTHON_USEDEP}]
+ ')
+ )
+"
+RDEPEND="${DEPEND}
+ ${PYTHON_DEPS}
+"
+BDEPEND="
+ app-alternatives/lex
+ app-alternatives/yacc
+"
+
+PATCHES=( "${FILESDIR}"/${PN}-22.04.0-boostpython.patch )
+
+pkg_setup() {
+ ecm_pkg_setup
+ python_setup
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DBOOSTPYTHON_VERSION_MAJOR_MINOR=${EPYTHON}
+ $(cmake_use_find_package python Boost)
+ )
+ ecm_src_configure
+}
+
+src_install() {
+ ecm_src_install
+ python_optimize
+}
diff --git a/dev-libs/kopeninghours/metadata.xml b/dev-libs/kopeninghours/metadata.xml
index d925f2439758..4dee22b2e449 100644
--- a/dev-libs/kopeninghours/metadata.xml
+++ b/dev-libs/kopeninghours/metadata.xml
@@ -7,5 +7,6 @@
</maintainer>
<upstream>
<bugs-to>https://bugs.kde.org/</bugs-to>
+ <remote-id type="kde-invent">libraries/kopeninghours</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-libs/kosmindoormap/Manifest b/dev-libs/kosmindoormap/Manifest
index 98caa1eb55b7..47921034114d 100644
--- a/dev-libs/kosmindoormap/Manifest
+++ b/dev-libs/kosmindoormap/Manifest
@@ -1,2 +1,2 @@
-DIST kosmindoormap-21.08.3.tar.xz 342772 BLAKE2B e30c0645105627b304162187ac9c84e8ebef0bbf5db17b28c1239428ec982eed526a7f29f7e543d1c1fb660d90d641358c1d0e8b1c6d6c40c5b11e471b25be52 SHA512 3a2337b433c25c16f2e69ab1a42e9324e8e176eaf85094a08d95a542af479e65637544a8486d481a3fe811e5c90aee1bcf803d92f3225db7c53c75840247e642
-DIST kosmindoormap-21.12.1.tar.xz 351084 BLAKE2B be7445e3163d506a17502dc69d71f43df1a260c5f0afd1f5ce82d2cc40a5f7b9c7cd82db1a53b03bf53354292ae2dfa17038ca106ce5ca8bf3cd208f92d78484 SHA512 bea94bc11af528b1f82dcbf12a2c04ecb3c123634e3ccf02209e3e73dea60ae44d53e17a10c0f3a485fc94c1982bdf4bcbdea0760d4d16e748a8c2d75b12c8ca
+DIST kosmindoormap-23.08.5.tar.xz 384948 BLAKE2B 0936fe42b0c370dc0c57d475aa771784c75e8350e2d563140c027d047514840f99d6697e36fde027da11e22a92239b6403cf1b18a37aa8e09a3f8814cb6931c8 SHA512 9128cccbd56f51b1e8ad7f7151db0de8952a8348fb74afe3eefeb085979b26d95d1699f260d744c4f3ea5d815109f998829625db480194a8539e782e8c32537c
+DIST kosmindoormap-24.02.2.tar.xz 634668 BLAKE2B 785804d28905657d476a52c727e337abdb97900cff57880126dfbc920b3a2fb3264f0a6bf6b4186f88977db55c63b9e8f655af815931eec3b8784c2777ca3a8e SHA512 1edde1b613758f20028f3b92d517e8126712e069651d1e349cddb73676218d60e84e29412e7ae397dd892501a4ef116c0b7a17e976d378904e2c820edd049d5a
diff --git a/dev-libs/kosmindoormap/kosmindoormap-21.08.3.ebuild b/dev-libs/kosmindoormap/kosmindoormap-21.08.3.ebuild
deleted file mode 100644
index f8dbb4b729a5..000000000000
--- a/dev-libs/kosmindoormap/kosmindoormap-21.08.3.ebuild
+++ /dev/null
@@ -1,48 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-ECM_TEST="true"
-KDE_GEAR="true"
-PVCUT=$(ver_cut 1-3)
-KFMIN=5.84.0
-QTMIN=5.15.2
-inherit ecm kde.org
-
-DESCRIPTION="Data Model and Extraction System for Travel Reservation information"
-HOMEPAGE="https://invent.kde.org/libraries/kosmindoormap"
-
-LICENSE="LGPL-2+"
-SLOT="5"
-KEYWORDS="~amd64"
-IUSE="+openinghours"
-
-COMMON_DEPEND="
- >=dev-libs/kpublictransport-${PVCUT}:5
- dev-libs/protobuf:=
- >=dev-qt/qtdeclarative-${QTMIN}:5
- >=dev-qt/qtgui-${QTMIN}:5
- >=dev-qt/qtnetwork-${QTMIN}:5
- >=kde-frameworks/ki18n-${KFMIN}:5
- sys-libs/zlib
- openinghours? ( >=dev-libs/kopeninghours-${PVCUT}:5 )
-"
-DEPEND="${COMMON_DEPEND}
- test? ( >=dev-qt/qtwidgets-${QTMIN}:5 )
-"
-RDEPEND="${COMMON_DEPEND}
- >=dev-qt/qtquickcontrols2-${QTMIN}:5
-"
-BDEPEND="
- sys-devel/bison
- sys-devel/flex
-"
-
-src_configure() {
- local mycmakeargs=(
- -DCMAKE_DISABLE_FIND_PACKAGE_OsmTools=ON # we have no use for it
- $(cmake_use_find_package openinghours KOpeningHours)
- )
- ecm_src_configure
-}
diff --git a/dev-libs/kosmindoormap/kosmindoormap-21.12.1.ebuild b/dev-libs/kosmindoormap/kosmindoormap-21.12.1.ebuild
deleted file mode 100644
index f125124502bd..000000000000
--- a/dev-libs/kosmindoormap/kosmindoormap-21.12.1.ebuild
+++ /dev/null
@@ -1,48 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-ECM_TEST="true"
-KDE_GEAR="true"
-PVCUT=$(ver_cut 1-3)
-KFMIN=5.88.0
-QTMIN=5.15.2
-inherit ecm kde.org
-
-DESCRIPTION="Data Model and Extraction System for Travel Reservation information"
-HOMEPAGE="https://invent.kde.org/libraries/kosmindoormap"
-
-LICENSE="LGPL-2+"
-SLOT="5"
-KEYWORDS="~amd64"
-IUSE="+openinghours"
-
-COMMON_DEPEND="
- >=dev-libs/kpublictransport-${PVCUT}:5
- dev-libs/protobuf:=
- >=dev-qt/qtdeclarative-${QTMIN}:5
- >=dev-qt/qtgui-${QTMIN}:5
- >=dev-qt/qtnetwork-${QTMIN}:5
- >=kde-frameworks/ki18n-${KFMIN}:5
- sys-libs/zlib
- openinghours? ( >=dev-libs/kopeninghours-${PVCUT}:5 )
-"
-DEPEND="${COMMON_DEPEND}
- test? ( >=dev-qt/qtwidgets-${QTMIN}:5 )
-"
-RDEPEND="${COMMON_DEPEND}
- >=dev-qt/qtquickcontrols2-${QTMIN}:5
-"
-BDEPEND="
- sys-devel/bison
- sys-devel/flex
-"
-
-src_configure() {
- local mycmakeargs=(
- -DCMAKE_DISABLE_FIND_PACKAGE_OsmTools=ON # we have no use for it
- $(cmake_use_find_package openinghours KOpeningHours)
- )
- ecm_src_configure
-}
diff --git a/dev-libs/kosmindoormap/kosmindoormap-23.08.5.ebuild b/dev-libs/kosmindoormap/kosmindoormap-23.08.5.ebuild
new file mode 100644
index 000000000000..132e337c3522
--- /dev/null
+++ b/dev-libs/kosmindoormap/kosmindoormap-23.08.5.ebuild
@@ -0,0 +1,47 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+ECM_TEST="true"
+PVCUT=$(ver_cut 1-3)
+KFMIN=5.106.0
+QTMIN=5.15.9
+inherit ecm gear.kde.org
+
+DESCRIPTION="Data Model and Extraction System for Travel Reservation information"
+HOMEPAGE="https://invent.kde.org/libraries/kosmindoormap"
+
+LICENSE="LGPL-2+"
+SLOT="5"
+KEYWORDS="~amd64"
+IUSE="+openinghours"
+
+COMMON_DEPEND="
+ >=dev-libs/kpublictransport-${PVCUT}:5
+ dev-libs/protobuf:=
+ >=dev-qt/qtdeclarative-${QTMIN}:5
+ >=dev-qt/qtgui-${QTMIN}:5
+ >=dev-qt/qtnetwork-${QTMIN}:5
+ >=kde-frameworks/ki18n-${KFMIN}:5
+ sys-libs/zlib
+ openinghours? ( >=dev-libs/kopeninghours-${PVCUT}:5 )
+"
+DEPEND="${COMMON_DEPEND}
+ test? ( >=dev-qt/qtwidgets-${QTMIN}:5 )
+"
+RDEPEND="${COMMON_DEPEND}
+ >=dev-qt/qtquickcontrols2-${QTMIN}:5
+"
+BDEPEND="
+ app-alternatives/lex
+ app-alternatives/yacc
+"
+
+src_configure() {
+ local mycmakeargs=(
+ -DCMAKE_DISABLE_FIND_PACKAGE_OsmTools=ON # we have no use for it
+ $(cmake_use_find_package openinghours KOpeningHours)
+ )
+ ecm_src_configure
+}
diff --git a/dev-libs/kosmindoormap/kosmindoormap-24.02.2.ebuild b/dev-libs/kosmindoormap/kosmindoormap-24.02.2.ebuild
new file mode 100644
index 000000000000..48e9a9cd47c9
--- /dev/null
+++ b/dev-libs/kosmindoormap/kosmindoormap-24.02.2.ebuild
@@ -0,0 +1,48 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+ECM_TEST="true"
+PVCUT=$(ver_cut 1-3)
+KFMIN=6.0.0
+QTMIN=6.6.2
+inherit ecm gear.kde.org
+
+DESCRIPTION="Data Model and Extraction System for Travel Reservation information"
+HOMEPAGE="https://invent.kde.org/libraries/kosmindoormap"
+
+LICENSE="LGPL-2+"
+SLOT="6"
+KEYWORDS="~amd64"
+IUSE="+gui"
+
+# kservice is optional and only used to find and open josm
+RDEPEND="
+ dev-libs/protobuf:=
+ >=dev-qt/qtbase-${QTMIN}:6[gui?,network]
+ sys-libs/zlib
+ gui? (
+ >=dev-libs/kopeninghours-${PVCUT}:6
+ >=dev-libs/kpublictransport-${PVCUT}:6
+ >=dev-qt/qtdeclarative-${QTMIN}:6
+ >=kde-frameworks/kcoreaddons-${KFMIN}:6
+ >=kde-frameworks/ki18n-${KFMIN}:6
+ >=kde-frameworks/kservice-${KFMIN}:6
+ )
+"
+DEPEND="${RDEPEND}
+ test? ( >=dev-qt/qtbase-${QTMIN}:6[widgets] )
+"
+BDEPEND="
+ app-alternatives/lex
+ app-alternatives/yacc
+"
+
+src_configure() {
+ local mycmakeargs=(
+ -DBUILD_TOOLS_ONLY=$(usex !gui)
+ -DCMAKE_DISABLE_FIND_PACKAGE_OsmTools=ON # we have no use for it
+ )
+ ecm_src_configure
+}
diff --git a/dev-libs/kosmindoormap/metadata.xml b/dev-libs/kosmindoormap/metadata.xml
index d5abc837abc7..51bb95c924f5 100644
--- a/dev-libs/kosmindoormap/metadata.xml
+++ b/dev-libs/kosmindoormap/metadata.xml
@@ -7,6 +7,7 @@
</maintainer>
<upstream>
<bugs-to>https://bugs.kde.org/</bugs-to>
+ <remote-id type="kde-invent">libraries/kosmindoormap</remote-id>
</upstream>
<use>
<flag name="openinghours">Enable support for highlighting currently open amenities/shops/etc.</flag>
diff --git a/dev-libs/kpathsea/Manifest b/dev-libs/kpathsea/Manifest
index de858079677b..847ee8136b74 100644
--- a/dev-libs/kpathsea/Manifest
+++ b/dev-libs/kpathsea/Manifest
@@ -1,4 +1,7 @@
DIST kpathsea-texmf.d-11.tar.xz 12616 BLAKE2B f64dcaae859d6c95d534907f69519428973fad5b7a734eec269b3cc89fc2ae527a459b4ae4d966a3394d6a95f40fac16841f59f9f6cabf2a07dcdcb98a14cba9 SHA512 eec72ecc35edd47bd9a5762f0d06212e4625eea1ee2ffc36f93885b548ca6c4e0eb65345a1ec050f3f838aed5128bb32eda509b5aadbad6643469b4955441f22
+DIST kpathsea.doc.r68516.tar.xz 1040300 BLAKE2B f62e86600b7eef2edba9a1fc77d8bb1fe7ee7f6839cc541e976381c2435fe4e18c410edb1c422f9a56e838cf481f38398305c8691f55ce6ee8728ed4cd21862b SHA512 de1946896816d6ece6ac8632d8ca0d04212c34ef98009aaca5c7ec593f1c932e67c591d85b12406c7be6f142a59a03345d78279492857502ab2696af76bd35db
+DIST kpathsea.r68516.tar.xz 32592 BLAKE2B b59e2ec011d34c6378a1815fd2041107bed0b66a01af4b138322bbca5504b9e1418d50463d2b6fca7d581eaa5c033509a7b63bb0060a566735cd9556f51def59 SHA512 3a0e08fd9a7635e282e0fa010594358488e03db40faa305c309f28d307d475573696f3b6091b84eca96e9f25870ccab9ff549cdcc1412e610f6ca8474154b9f9
DIST texlive-20210325-source.tar.xz 54837368 BLAKE2B 66bd4bdd43ff53513004b9b9b90ababa0ab5efcf183a27864a3d39cde9cf90721456bda90c49ad6014f4b12d2e6293feaf9a8b152b85a89ffaa96bf5056347df SHA512 afd6eb24efaeac7c58d43ff24162aece919079a9ae02934509f068c7a3828223c33c14d9db11ff7fea3560b08a06f352446ba7f845eefb4a56a87b96f088f213
+DIST texlive-20230311-source.tar.xz 68359984 BLAKE2B 6263e8d3e066db96f071138f2442b1ed7e1f3db7e6d261cdeb9a7e6e636c6e6ed45305c6bda3ab6f9a439c92eabf32a79bf6e371d16b747eebbc05ee47b85035 SHA512 93ac43f3055fee0103a6cfceea18d39ece63984914f3af9ad76da218f2d568852d9b987d1c9647c1497b985e4ffa297ef97dc2d50d3e90f62b03ad685af31d96
DIST tl-kpathsea-2021.tar.xz 32308 BLAKE2B 83052cefc5699d46ce104e4379d39eee8e86b514d25245a6104fc9940accf131790ae144ca11dbd3b99a31a06017495bb5a53afb1e49da71a2c9eec008200653 SHA512 398358b84ecb81fece969fbd3521b093f7e791feec828c218e6371c26d57956491328999517a65711d45dfb04c83fd643ef0fad6a0153590866eddf485d5c575
DIST tl-kpathsea.doc-2021.tar.xz 1066608 BLAKE2B 798ccf9953e4fa2037f81b56dfa30cf99c56c17e2942d5a0f2041b871958284f05150e5d7631b542896190f178327f009130e6bb07f60e8173ec1e9f12c4cda9 SHA512 8ecccee7ad99220f91139dcd9c2ce0bd19eb0e2fe74f0a965f68e59a28bd3de454624d6e014ef2a5c481a537acb95b08a9546a79abd8df429300043ecf973545
diff --git a/dev-libs/kpathsea/files/kpathsea-6.3.3_p20210325-Fix-Wimplicit-function-declaration.patch b/dev-libs/kpathsea/files/kpathsea-6.3.3_p20210325-Fix-Wimplicit-function-declaration.patch
new file mode 100644
index 000000000000..89cf314856ae
--- /dev/null
+++ b/dev-libs/kpathsea/files/kpathsea-6.3.3_p20210325-Fix-Wimplicit-function-declaration.patch
@@ -0,0 +1,31 @@
+Sent upstream to tlbuild mailing list. Not yet in archive.
+
+From: Sam James <sam@gentoo.org>
+Date: Fri, 4 Nov 2022 04:58:38 +0000
+Subject: [PATCH] Fix -Wimplicit-function-declaration
+
+Add <stdlib.h> includes for exit(). Clang 16 makes -Wimplicit-function-declaration an error by default.
+
+Signed-off-by: Sam James <sam@gentoo.org>
+--- a/configure.ac
++++ b/configure.ac
+@@ -45,7 +45,8 @@ if test "x$ac_cv_func_getcwd" = xyes; then
+ # We only need to run this if we have getcwd.
+ AC_CACHE_CHECK([whether getcwd uses fork or vfork],
+ [kb_cv_func_getcwd_forks],
+- [AC_RUN_IFELSE([AC_LANG_PROGRAM([[int fork() { exit(1); }
++ [AC_RUN_IFELSE([AC_LANG_PROGRAM([[#include <stdlib.h>
++ int fork() { exit(1); }
+ int vfork() { exit(1); }
+ extern char *getcwd();
+ char path[100];]],
+--- a/configure
++++ b/configure
+@@ -13920,6 +13920,7 @@ else
+ else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+ /* end confdefs.h. */
++#include <stdlib.h>
+ int fork() { exit(1); }
+ int vfork() { exit(1); }
+ extern char *getcwd();
diff --git a/dev-libs/kpathsea/files/kpathsea-6.3.3_p20210325-Fix-slibtool-test.patch b/dev-libs/kpathsea/files/kpathsea-6.3.3_p20210325-Fix-slibtool-test.patch
new file mode 100644
index 000000000000..39a7fafb6fda
--- /dev/null
+++ b/dev-libs/kpathsea/files/kpathsea-6.3.3_p20210325-Fix-slibtool-test.patch
@@ -0,0 +1,47 @@
+https://bugs.gentoo.org/924405
+https://github.com/TeX-Live/texlive-source/pull/65
+https://github.com/TeX-Live/texlive-source/commit/9c4aec9b1b85f3f0e336914d65d55ca6263c5526
+
+From 9c4aec9b1b85f3f0e336914d65d55ca6263c5526 Mon Sep 17 00:00:00 2001
+From: Karl Berry <karl@freefriends.org>
+Date: Thu, 22 Feb 2024 23:41:54 +0000
+Subject: [PATCH] make kpsereadlink.test generic, instead of depending on
+ libtool
+
+git-svn-id: svn://tug.org/texlive/trunk/Build/source@70081 c570f23f-e606-0410-a88d-b1316a301751
+---
+ texk/kpathsea/tests/kpsereadlink.test | 17 +++++++++++++----
+ 1 files changed, 13 insertions(+), 4 deletions(-)
+
+diff --git a/tests/kpsereadlink.test b/tests/kpsereadlink.test
+index 3b3570aa8d..2e1a852494 100755
+--- a/tests/kpsereadlink.test
++++ b/tests/kpsereadlink.test
+@@ -1,14 +1,23 @@
+ #! /bin/sh -vx
+ # $Id$
+-# Copyright 2017 Karl Berry <tex-live@tug.org>
++# Copyright 2017-2024 Karl Berry <tex-live@tug.org>
+ # Copyright 2010 Peter Breitenlohner <tex-live@tug.org>
+ # You may freely use, modify and/or distribute this file.
+
++test -n "$LN_S" || LN_S="ln -s" # standalone testing
++
+ test "x$LN_S" = 'xln -s' || exit 77
+
+-./kpsereadlink $LT_OBJDIR/libkpathsea.lai && exit 1
++rm -f readlink_test_file readlink_test_symlink
++
++touch readlink_test_file
++
++$LN_S readlink_test_file readlink_test_symlink || exit 1
++
++./kpsereadlink readlink_test_file && exit 1
+
+-link=`./kpsereadlink $LT_OBJDIR/libkpathsea.la` || exit 1
++link=`./kpsereadlink readlink_test_symlink` || exit 1
+
+-test "x$link" = x../libkpathsea.la || exit 1
++test "x$link" = xreadlink_test_file || exit 1
+
++rm -f readlink_test_file readlink_test_symlink
diff --git a/dev-libs/kpathsea/kpathsea-6.3.3_p20210325-r1.ebuild b/dev-libs/kpathsea/kpathsea-6.3.3_p20210325-r1.ebuild
new file mode 100644
index 000000000000..5109ca86e025
--- /dev/null
+++ b/dev-libs/kpathsea/kpathsea-6.3.3_p20210325-r1.ebuild
@@ -0,0 +1,111 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit texlive-common libtool prefix tmpfiles
+
+TEXMFD_VERSION="11"
+
+DESCRIPTION="Path searching library for TeX-related files"
+HOMEPAGE="https://tug.org/texlive/"
+SRC_URI="https://dev.gentoo.org/~sam/distfiles/texlive/texlive-${PV#*_p}-source.tar.xz
+ https://dev.gentoo.org/~sam/distfiles/texlive/${PN}-texmf.d-${TEXMFD_VERSION}.tar.xz"
+
+LICENSE="GPL-2"
+SLOT="0/${PV%_p*}"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
+IUSE="doc source static-libs"
+
+S=${WORKDIR}/texlive-${PV#*_p}-source/texk/${PN}
+
+TL_VERSION=2021
+EXTRA_TL_MODULES="kpathsea"
+EXTRA_TL_DOC_MODULES="kpathsea.doc"
+
+for i in ${EXTRA_TL_MODULES} ; do
+ SRC_URI="${SRC_URI} https://dev.gentoo.org/~sam/distfiles/texlive/tl-${i}-${TL_VERSION}.tar.xz"
+done
+
+SRC_URI="${SRC_URI} doc? ( "
+for i in ${EXTRA_TL_DOC_MODULES} ; do
+ SRC_URI="${SRC_URI} https://dev.gentoo.org/~sam/distfiles/texlive/tl-${i}-${TL_VERSION}.tar.xz"
+done
+SRC_URI="${SRC_URI} ) "
+
+TEXMF_PATH=/usr/share/texmf-dist
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-6.3.3_p20210325-Fix-Wimplicit-function-declaration.patch
+ "${FILESDIR}"/${PN}-6.3.3_p20210325-Fix-slibtool-test.patch #924405
+)
+
+src_prepare() {
+ default
+ cd "${WORKDIR}/texlive-${PV#*_p}-source" || die
+ S="${WORKDIR}/texlive-${PV#*_p}-source" elibtoolize
+ cp "${FILESDIR}/texmf-update-r2" "${S}"/texmf-update || die
+ eprefixify "${S}"/texmf-update
+}
+
+src_configure() {
+ # Too many regexps use A-Z a-z constructs, what causes problems with locales
+ # that don't have the same alphabetical order than ascii. Bug #347798
+ # So we set LC_ALL to C in order to avoid problems.
+ export LC_ALL=C
+
+ # Disable largefile because it seems to cause problems on big endian 32 bits
+ # systems...
+ econf \
+ --disable-largefile \
+ $(use_enable static-libs static)
+}
+
+src_install() {
+ emake DESTDIR="${D}" web2cdir="${EPREFIX}/usr/share/texmf-dist/web2c" install
+ find "${D}" -name '*.la' -delete || die
+
+ dodir /usr/share # just in case
+ cp -pR "${WORKDIR}"/texmf-dist "${ED}/usr/share/" || die "failed to install texmf trees"
+ if use source ; then
+ cp -pR "${WORKDIR}"/tlpkg "${ED}/usr/share/" || die "failed to install tlpkg files"
+ fi
+
+ # Take care of fmtutil.cnf and texmf.cnf
+ dodir /etc/texmf/{fmtutil.d,texmf.d}
+
+ # Remove default texmf.cnf to ship our own, greatly based on texlive dvd's
+ # texmf.cnf
+ # It will also be generated from /etc/texmf/texmf.d files by texmf-update
+ rm -f "${ED}${TEXMF_PATH}/web2c/texmf.cnf" || die
+
+ insinto /etc/texmf/texmf.d
+ doins "${WORKDIR}/texmf.d/"*.cnf
+
+ # Remove fmtutil.cnf, it will be regenerated from /etc/texmf/fmtutil.d files
+ # by texmf-update
+ rm -f "${ED}${TEXMF_PATH}/web2c/fmtutil.cnf" || die
+
+ dosym ../../../../etc/texmf/web2c/fmtutil.cnf ${TEXMF_PATH}/web2c/fmtutil.cnf
+ dosym ../../../../etc/texmf/web2c/texmf.cnf ${TEXMF_PATH}/web2c/texmf.cnf
+
+ newsbin "${S}/texmf-update" texmf-update
+
+ # Keep it as that's where the formats will go
+ keepdir /var/lib/texmf
+
+ dodoc ChangeLog NEWS PROJECTS README
+
+ # The default configuration expects it to be world writable, bug #266680
+ # People can still change it with texconfig though.
+ dotmpfiles "${FILESDIR}"/kpathsea.conf
+}
+
+pkg_postinst() {
+ tmpfiles_process kpathsea.conf
+ etexmf-update
+}
+
+pkg_postrm() {
+ etexmf-update
+}
diff --git a/dev-libs/kpathsea/kpathsea-6.3.3_p20210325.ebuild b/dev-libs/kpathsea/kpathsea-6.3.3_p20210325.ebuild
deleted file mode 100644
index 8c4a6a6153cb..000000000000
--- a/dev-libs/kpathsea/kpathsea-6.3.3_p20210325.ebuild
+++ /dev/null
@@ -1,106 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit texlive-common libtool prefix tmpfiles
-
-TEXMFD_VERSION="11"
-
-DESCRIPTION="Path searching library for TeX-related files"
-HOMEPAGE="http://tug.org/texlive/"
-SRC_URI="https://dev.gentoo.org/~zlogene/distfiles/texlive/texlive-${PV#*_p}-source.tar.xz
- https://dev.gentoo.org/~zlogene/distfiles/texlive/${PN}-texmf.d-${TEXMFD_VERSION}.tar.xz"
-
-LICENSE="GPL-2"
-SLOT="0/${PV%_p*}"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-IUSE="doc source static-libs"
-
-S=${WORKDIR}/texlive-${PV#*_p}-source/texk/${PN}
-
-TL_VERSION=2021
-EXTRA_TL_MODULES="kpathsea"
-EXTRA_TL_DOC_MODULES="kpathsea.doc"
-
-for i in ${EXTRA_TL_MODULES} ; do
- SRC_URI="${SRC_URI} https://dev.gentoo.org/~zlogene/distfiles/texlive/tl-${i}-${TL_VERSION}.tar.xz"
-done
-
-SRC_URI="${SRC_URI} doc? ( "
-for i in ${EXTRA_TL_DOC_MODULES} ; do
- SRC_URI="${SRC_URI} https://dev.gentoo.org/~zlogene/distfiles/texlive/tl-${i}-${TL_VERSION}.tar.xz"
-done
-SRC_URI="${SRC_URI} ) "
-
-TEXMF_PATH=/usr/share/texmf-dist
-
-src_prepare() {
- default
- cd "${WORKDIR}/texlive-${PV#*_p}-source" || die
- S="${WORKDIR}/texlive-${PV#*_p}-source" elibtoolize
- cp "${FILESDIR}/texmf-update-r2" "${S}"/texmf-update || die
- eprefixify "${S}"/texmf-update
-}
-
-src_configure() {
- # Too many regexps use A-Z a-z constructs, what causes problems with locales
- # that don't have the same alphabetical order than ascii. Bug #347798
- # So we set LC_ALL to C in order to avoid problems.
- export LC_ALL=C
-
- # Disable largefile because it seems to cause problems on big endian 32 bits
- # systems...
- econf \
- --disable-largefile \
- $(use_enable static-libs static)
-}
-
-src_install() {
- emake DESTDIR="${D}" web2cdir="${EPREFIX}/usr/share/texmf-dist/web2c" install
- find "${D}" -name '*.la' -delete || die
-
- dodir /usr/share # just in case
- cp -pR "${WORKDIR}"/texmf-dist "${ED}/usr/share/" || die "failed to install texmf trees"
- if use source ; then
- cp -pR "${WORKDIR}"/tlpkg "${ED}/usr/share/" || die "failed to install tlpkg files"
- fi
-
- # Take care of fmtutil.cnf and texmf.cnf
- dodir /etc/texmf/{fmtutil.d,texmf.d}
-
- # Remove default texmf.cnf to ship our own, greatly based on texlive dvd's
- # texmf.cnf
- # It will also be generated from /etc/texmf/texmf.d files by texmf-update
- rm -f "${ED}${TEXMF_PATH}/web2c/texmf.cnf" || die
-
- insinto /etc/texmf/texmf.d
- doins "${WORKDIR}/texmf.d/"*.cnf
-
- # Remove fmtutil.cnf, it will be regenerated from /etc/texmf/fmtutil.d files
- # by texmf-update
- rm -f "${ED}${TEXMF_PATH}/web2c/fmtutil.cnf" || die
-
- dosym ../../../../etc/texmf/web2c/fmtutil.cnf ${TEXMF_PATH}/web2c/fmtutil.cnf
- dosym ../../../../etc/texmf/web2c/texmf.cnf ${TEXMF_PATH}/web2c/texmf.cnf
-
- newsbin "${S}/texmf-update" texmf-update
-
- # Keep it as that's where the formats will go
- keepdir /var/lib/texmf
-
- dodoc ChangeLog NEWS PROJECTS README
-
- # The default configuration expects it to be world writable, bug #266680
- # People can still change it with texconfig though.
- dotmpfiles "${FILESDIR}"/kpathsea.conf
-}
-
-pkg_postinst() {
- tmpfiles_process kpathsea.conf
- etexmf-update
-}
-
-pkg_postrm() {
- etexmf-update
-}
diff --git a/dev-libs/kpathsea/kpathsea-6.3.5_p20230311.ebuild b/dev-libs/kpathsea/kpathsea-6.3.5_p20230311.ebuild
new file mode 100644
index 000000000000..68931dd7899a
--- /dev/null
+++ b/dev-libs/kpathsea/kpathsea-6.3.5_p20230311.ebuild
@@ -0,0 +1,106 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit texlive-common libtool prefix tmpfiles
+
+TEXMFD_VERSION="11"
+MY_SOURCE_FILE="texlive-${PV#*_p}-source.tar.xz"
+
+DESCRIPTION="Path searching library for TeX-related files"
+HOMEPAGE="https://tug.org/texlive/"
+SRC_URI="
+ https://mirrors.ctan.org/systems/texlive/Source/${MY_SOURCE_FILE}
+ https://dev.gentoo.org/~flow/distfiles/texlive/${MY_SOURCE_FILE}
+ https://dev.gentoo.org/~sam/distfiles/texlive/${PN}-texmf.d-${TEXMFD_VERSION}.tar.xz
+"
+
+LICENSE="LGPL-2.1"
+SLOT="0/${PV%_p*}"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
+IUSE="doc source static-libs"
+
+S=${WORKDIR}/texlive-${PV#*_p}-source/texk/${PN}
+
+TL_REVISION=68516
+EXTRA_TL_MODULES="kpathsea.r${TL_REVISION}"
+EXTRA_TL_DOC_MODULES="kpathsea.doc.r${TL_REVISION}"
+
+texlive-common_append_to_src_uri EXTRA_TL_MODULES
+
+SRC_URI="${SRC_URI} doc? ( "
+texlive-common_append_to_src_uri EXTRA_TL_DOC_MODULES
+SRC_URI="${SRC_URI} ) "
+
+TEXMF_PATH=/usr/share/texmf-dist
+
+src_prepare() {
+ default
+ cd "${WORKDIR}/texlive-${PV#*_p}-source" || die
+ S="${WORKDIR}/texlive-${PV#*_p}-source" elibtoolize
+ cp "${FILESDIR}/texmf-update-r2" "${S}"/texmf-update || die
+ eprefixify "${S}"/texmf-update
+}
+
+src_configure() {
+ # Too many regexps use A-Z a-z constructs, what causes problems with locales
+ # that don't have the same alphabetical order than ascii. Bug #347798
+ # So we set LC_ALL to C in order to avoid problems.
+ export LC_ALL=C
+
+ # Disable largefile because it seems to cause problems on big endian 32 bits
+ # systems...
+ econf \
+ --disable-largefile \
+ "$(use_enable static-libs static)"
+}
+
+src_install() {
+ emake DESTDIR="${D}" web2cdir="${EPREFIX}/usr/share/texmf-dist/web2c" install
+ find "${D}" -name '*.la' -delete || die
+
+ dodir /usr/share # just in case
+ cp -pR "${WORKDIR}"/texmf-dist "${ED}/usr/share/" || die "failed to install texmf trees"
+ if use source ; then
+ cp -pR "${WORKDIR}"/tlpkg "${ED}/usr/share/" || die "failed to install tlpkg files"
+ fi
+
+ # Take care of fmtutil.cnf and texmf.cnf
+ dodir /etc/texmf/{fmtutil.d,texmf.d}
+
+ # Remove default texmf.cnf to ship our own, greatly based on texlive dvd's
+ # texmf.cnf
+ # It will also be generated from /etc/texmf/texmf.d files by texmf-update
+ rm -f "${ED}${TEXMF_PATH}/web2c/texmf.cnf" || die
+
+ insinto /etc/texmf/texmf.d
+ doins "${WORKDIR}/texmf.d/"*.cnf
+
+ # Remove fmtutil.cnf, it will be regenerated from /etc/texmf/fmtutil.d files
+ # by texmf-update
+ rm -f "${ED}${TEXMF_PATH}/web2c/fmtutil.cnf" || die
+
+ dosym ../../../../etc/texmf/web2c/fmtutil.cnf ${TEXMF_PATH}/web2c/fmtutil.cnf
+ dosym ../../../../etc/texmf/web2c/texmf.cnf ${TEXMF_PATH}/web2c/texmf.cnf
+
+ newsbin "${S}/texmf-update" texmf-update
+
+ # Keep it as that's where the formats will go
+ keepdir /var/lib/texmf
+
+ dodoc ChangeLog NEWS PROJECTS README
+
+ # The default configuration expects it to be world writable, bug #266680
+ # People can still change it with texconfig though.
+ dotmpfiles "${FILESDIR}"/kpathsea.conf
+}
+
+pkg_postinst() {
+ tmpfiles_process kpathsea.conf
+ etexmf-update
+}
+
+pkg_postrm() {
+ etexmf-update
+}
diff --git a/dev-libs/kpathsea/metadata.xml b/dev-libs/kpathsea/metadata.xml
index 52546db07960..08ee5edcf6b4 100644
--- a/dev-libs/kpathsea/metadata.xml
+++ b/dev-libs/kpathsea/metadata.xml
@@ -5,8 +5,11 @@
<email>aballier@gentoo.org</email>
<name>Alexis Ballier</name>
</maintainer>
-<maintainer type="project">
+ <maintainer type="project">
<email>tex@gentoo.org</email>
<name>Gentoo TeX Project</name>
</maintainer>
+ <upstream>
+ <remote-id type="github">TeX-Live/texlive-source</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/dev-libs/kpeoplevcard/files/kpeoplevcard-0.1-emit-initial-fetch-complete-signal.patch b/dev-libs/kpeoplevcard/files/kpeoplevcard-0.1-emit-initial-fetch-complete-signal.patch
new file mode 100644
index 000000000000..3f16d9f5b674
--- /dev/null
+++ b/dev-libs/kpeoplevcard/files/kpeoplevcard-0.1-emit-initial-fetch-complete-signal.patch
@@ -0,0 +1,29 @@
+From 778d03445f41c536f2ca9116ee6acb5f4f01b868 Mon Sep 17 00:00:00 2001
+From: Dimitar Petrovski <dimeptr@gmail.com>
+Date: Mon, 6 Jul 2020 18:36:31 +0200
+Subject: [PATCH] Emit the Initial Fetch Complete signal
+
+BUG: 423845
+The plugin does not emit the initialFetchComplete signal which seems
+needed by AllContactsMonitor and PersonsModel does not get initialized
+since it waitd for the signal from all plugins
+---
+ src/kpeoplevcard.cpp | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/src/kpeoplevcard.cpp b/src/kpeoplevcard.cpp
+index bfaf71e..20531f6 100644
+--- a/src/kpeoplevcard.cpp
++++ b/src/kpeoplevcard.cpp
+@@ -153,6 +153,8 @@ KPeopleVCard::KPeopleVCard()
+
+ processDirectory(QFileInfo(*vcardsLocation));
+
++ emitInitialFetchComplete(true);
++
+ connect(m_fs, &KDirWatch::dirty, this, [this](const QString& path) {
+ const QFileInfo fi(path);
+ if (fi.isFile())
+--
+GitLab
+
diff --git a/dev-libs/kpeoplevcard/kpeoplevcard-0.1-r1.ebuild b/dev-libs/kpeoplevcard/kpeoplevcard-0.1-r1.ebuild
new file mode 100644
index 000000000000..2fc43960289e
--- /dev/null
+++ b/dev-libs/kpeoplevcard/kpeoplevcard-0.1-r1.ebuild
@@ -0,0 +1,34 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+KDE_ORG_CATEGORY="pim"
+KFMIN=5.82.0
+QTMIN=5.15.2
+inherit ecm kde.org
+
+DESCRIPTION="Library to expose vcards to KPeople"
+HOMEPAGE="https://invent.kde.org/pim/kpeoplevcard"
+
+if [[ ${KDE_BUILD_TYPE} = release ]]; then
+ SRC_URI="mirror://kde/stable/${PN}/${PV}/${P}.tar.xz"
+ KEYWORDS="amd64 arm64 ~ppc64 x86"
+fi
+
+LICENSE="LGPL-2.1+"
+SLOT="5"
+
+DEPEND="
+ >=dev-qt/qtgui-${QTMIN}:5
+ >=dev-qt/qtwidgets-${QTMIN}:5
+ >=kde-frameworks/kcontacts-${KFMIN}:5
+ >=kde-frameworks/kcoreaddons-${KFMIN}:5
+ >=kde-frameworks/ki18n-${KFMIN}:5
+ >=kde-frameworks/kpeople-${KFMIN}:5
+"
+RDEPEND="${DEPEND}"
+
+PATCHES=(
+ "${FILESDIR}/${P}-emit-initial-fetch-complete-signal.patch" # KDE-bug 423845
+)
diff --git a/dev-libs/kpeoplevcard/kpeoplevcard-0.1.ebuild b/dev-libs/kpeoplevcard/kpeoplevcard-0.1.ebuild
deleted file mode 100644
index 1d705d08d4ab..000000000000
--- a/dev-libs/kpeoplevcard/kpeoplevcard-0.1.ebuild
+++ /dev/null
@@ -1,28 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-KFMIN=5.64.0
-QTMIN=5.12.3
-inherit ecm kde.org
-
-DESCRIPTION="Library to expose vcards to KPeople"
-HOMEPAGE="https://invent.kde.org/pim/kpeoplevcard"
-
-if [[ ${KDE_BUILD_TYPE} = release ]]; then
- SRC_URI="mirror://kde/stable/${PN}/${PV}/${P}.tar.xz"
- KEYWORDS="amd64 arm64 ~ppc64 x86"
-fi
-
-LICENSE="LGPL-2.1+"
-SLOT="5"
-
-DEPEND="
- >=dev-qt/qtgui-${QTMIN}:5
- >=dev-qt/qtwidgets-${QTMIN}:5
- >=kde-frameworks/kcontacts-${KFMIN}:5
- >=kde-frameworks/kcoreaddons-${KFMIN}:5
- >=kde-frameworks/kpeople-${KFMIN}:5
-"
-RDEPEND="${DEPEND}"
diff --git a/dev-libs/kproperty/kproperty-3.2.0.ebuild b/dev-libs/kproperty/kproperty-3.2.0.ebuild
index d0bd58ebea0e..5772edfe9e63 100644
--- a/dev-libs/kproperty/kproperty-3.2.0.ebuild
+++ b/dev-libs/kproperty/kproperty-3.2.0.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
ECM_QTHELP="true"
ECM_TEST="true" # build system adds autotests dir based on BUILD_TESTING value
@@ -20,6 +20,9 @@ fi
LICENSE="LGPL-2+"
SLOT="5/4"
+# tests require installed headers, bug 636108
+RESTRICT="test"
+
DEPEND="
>=dev-qt/qtgui-${QTMIN}:5
>=dev-qt/qtwidgets-${QTMIN}:5
@@ -29,6 +32,3 @@ DEPEND="
>=kde-frameworks/kwidgetsaddons-${KFMIN}:5
"
RDEPEND="${DEPEND}"
-
-# tests require installed headers, bug 636108
-RESTRICT+=" test"
diff --git a/dev-libs/kpublictransport/Manifest b/dev-libs/kpublictransport/Manifest
index 9ddecf9cfe5e..11edbabf08c1 100644
--- a/dev-libs/kpublictransport/Manifest
+++ b/dev-libs/kpublictransport/Manifest
@@ -1,2 +1,2 @@
-DIST kpublictransport-21.08.3.tar.xz 411364 BLAKE2B 46d4681e98037d84d5813c62f13d76831922f9b2a3c04a51885292d702fa569f276dbd00056ee79cfecfebc4597d1ddde3c497b2d72e585ec5c14006253944e5 SHA512 bcd422855de8f224f7a30f09cd95345bd8637d3fb7a32ba0a7efe5c4bd350aed02cd6d8f186b4bfb467d50ce4ae927f360ccb5d188dadfbfa4e498ca4665df72
-DIST kpublictransport-21.12.1.tar.xz 480640 BLAKE2B 208cbf7fd778efb710108ba02f70ddf4bd3fc699d36e8e615cd5a4504c08a86ed9ae621ab70d5e92c55bc121a36dae4ea39947f0901d2c39fcd58e33a7a01fe7 SHA512 fb6c03fcd97d9578eca176e50d47599d7a5b899b7d874f7ded6f63ffbd75cec305b63efd0db4870b0d8af77c513bbccf8f8d01233a486959740fa490884e4ede
+DIST kpublictransport-23.08.5.tar.xz 572952 BLAKE2B 9628dfba5f73b76594b3bb97b7e4996267f9bb7f9acc024de003e28dd9754bf1c7226eb85aeae27784752356688abe28ec85b93b028c863f2c8edf9d645fd54d SHA512 43c58c14ee5827579ffcf97c42c4ac844f49c05f5e68f441c6d3d2a32bf074de08f7daf14b3ca32b25101215943601204837e5ad4e7841cd9984745769b4008f
+DIST kpublictransport-24.02.2.tar.xz 605964 BLAKE2B 8587067e083d4aab15a015e0bd67964995823737213efb3770a05d90fd207262e9ff43abdf967f3164ca40dac25ef53c97ac96d3cf9cc5df05d59866cf060c41 SHA512 5de51775833138879e943a910d8221423dbc68fa4471795e96a0c1fc709f7fd35fa45632a3dc87173d03fa89dcca27e300313e28ef2656b1e7acb7e36e0ececb
diff --git a/dev-libs/kpublictransport/kpublictransport-21.08.3-r1.ebuild b/dev-libs/kpublictransport/kpublictransport-21.08.3-r1.ebuild
deleted file mode 100644
index 8d89997fd5f0..000000000000
--- a/dev-libs/kpublictransport/kpublictransport-21.08.3-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=8
-
-ECM_TEST="true"
-KDE_GEAR="true"
-KFMIN=5.84.0
-QTMIN=5.15.2
-inherit ecm kde.org
-
-DESCRIPTION="Library for accessing public transport timetables and other information"
-HOMEPAGE="https://invent.kde.org/libraries/kpublictransport
- https://www.volkerkrause.eu/2019/03/02/kpublictransport-introduction.html"
-
-LICENSE="LGPL-2+"
-SLOT="5"
-KEYWORDS="~amd64"
-IUSE=""
-
-RDEPEND="
- dev-libs/protobuf:=
- >=dev-qt/qtdeclarative-${QTMIN}:5
- >=dev-qt/qtgui-${QTMIN}:5
- >=dev-qt/qtnetwork-${QTMIN}:5[ssl]
- sys-libs/zlib
-"
-DEPEND="${RDEPEND}
- test? ( >=dev-qt/qtwidgets-${QTMIN}:5 )
-"
-
-src_configure() {
- local mycmakeargs=(
- -DCMAKE_DISABLE_FIND_PACKAGE_OsmTools=ON # we have no use for it
- )
- ecm_src_configure
-}
diff --git a/dev-libs/kpublictransport/kpublictransport-21.12.1.ebuild b/dev-libs/kpublictransport/kpublictransport-21.12.1.ebuild
deleted file mode 100644
index 1b4c7df1e026..000000000000
--- a/dev-libs/kpublictransport/kpublictransport-21.12.1.ebuild
+++ /dev/null
@@ -1,38 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-ECM_QTHELP="true"
-ECM_TEST="true"
-KDE_GEAR="true"
-KFMIN=5.88.0
-QTMIN=5.15.2
-inherit ecm kde.org
-
-DESCRIPTION="Library for accessing public transport timetables and other information"
-HOMEPAGE="https://invent.kde.org/libraries/kpublictransport
- https://www.volkerkrause.eu/2019/03/02/kpublictransport-introduction.html"
-
-LICENSE="LGPL-2+"
-SLOT="5"
-KEYWORDS="~amd64"
-IUSE=""
-
-RDEPEND="
- dev-libs/protobuf:=
- >=dev-qt/qtdeclarative-${QTMIN}:5
- >=dev-qt/qtgui-${QTMIN}:5
- >=dev-qt/qtnetwork-${QTMIN}:5[ssl]
- sys-libs/zlib
-"
-DEPEND="${RDEPEND}
- test? ( >=dev-qt/qtwidgets-${QTMIN}:5 )
-"
-
-src_configure() {
- local mycmakeargs=(
- -DCMAKE_DISABLE_FIND_PACKAGE_OsmTools=ON # we have no use for it
- )
- ecm_src_configure
-}
diff --git a/dev-libs/kpublictransport/kpublictransport-23.08.5.ebuild b/dev-libs/kpublictransport/kpublictransport-23.08.5.ebuild
new file mode 100644
index 000000000000..b769c4eea8e6
--- /dev/null
+++ b/dev-libs/kpublictransport/kpublictransport-23.08.5.ebuild
@@ -0,0 +1,40 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+ECM_QTHELP="true"
+ECM_TEST="true"
+KFMIN=5.106.0
+QTMIN=5.15.9
+inherit ecm gear.kde.org
+
+DESCRIPTION="Library for accessing public transport timetables and other information"
+HOMEPAGE="https://invent.kde.org/libraries/kpublictransport
+ https://www.volkerkrause.eu/2019/03/02/kpublictransport-introduction.html"
+
+LICENSE="LGPL-2+"
+SLOT="5"
+KEYWORDS="~amd64"
+IUSE="networkmanager"
+
+RDEPEND="
+ dev-libs/protobuf:=
+ >=dev-qt/qtdeclarative-${QTMIN}:5
+ >=dev-qt/qtgui-${QTMIN}:5
+ >=dev-qt/qtnetwork-${QTMIN}:5[ssl]
+ >=kde-frameworks/ki18n-${KFMIN}:5
+ sys-libs/zlib
+ networkmanager? ( >=kde-frameworks/networkmanager-qt-${KFMIN}:5 )
+"
+DEPEND="${RDEPEND}
+ test? ( >=dev-qt/qtwidgets-${QTMIN}:5 )
+"
+
+src_configure() {
+ local mycmakeargs=(
+ -DCMAKE_DISABLE_FIND_PACKAGE_OsmTools=ON # we have no use for it
+ $(cmake_use_find_package networkmanager KF5NetworkManagerQt)
+ )
+ ecm_src_configure
+}
diff --git a/dev-libs/kpublictransport/kpublictransport-24.02.2.ebuild b/dev-libs/kpublictransport/kpublictransport-24.02.2.ebuild
new file mode 100644
index 000000000000..d68e9ad160b2
--- /dev/null
+++ b/dev-libs/kpublictransport/kpublictransport-24.02.2.ebuild
@@ -0,0 +1,39 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+ECM_QTHELP="true"
+ECM_TEST="true"
+KFMIN=6.0.0
+QTMIN=6.6.2
+inherit ecm gear.kde.org
+
+DESCRIPTION="Library for accessing public transport timetables and other information"
+HOMEPAGE="https://invent.kde.org/libraries/kpublictransport
+ https://www.volkerkrause.eu/2019/03/02/kpublictransport-introduction.html"
+
+LICENSE="LGPL-2+"
+SLOT="6"
+KEYWORDS="~amd64"
+IUSE="networkmanager"
+
+RDEPEND="
+ dev-libs/protobuf:=
+ >=dev-qt/qtbase-${QTMIN}:6[gui,network,ssl]
+ >=dev-qt/qtdeclarative-${QTMIN}:6
+ >=kde-frameworks/ki18n-${KFMIN}:6
+ sys-libs/zlib
+ networkmanager? ( >=kde-frameworks/networkmanager-qt-${KFMIN}:6 )
+"
+DEPEND="${RDEPEND}
+ test? ( >=dev-qt/qtbase-${QTMIN}:6[widgets] )
+"
+
+src_configure() {
+ local mycmakeargs=(
+ -DCMAKE_DISABLE_FIND_PACKAGE_OsmTools=ON # we have no use for it
+ $(cmake_use_find_package networkmanager KF6NetworkManagerQt)
+ )
+ ecm_src_configure
+}
diff --git a/dev-libs/kpublictransport/metadata.xml b/dev-libs/kpublictransport/metadata.xml
index d925f2439758..30e480919694 100644
--- a/dev-libs/kpublictransport/metadata.xml
+++ b/dev-libs/kpublictransport/metadata.xml
@@ -7,5 +7,6 @@
</maintainer>
<upstream>
<bugs-to>https://bugs.kde.org/</bugs-to>
+ <remote-id type="kde-invent">libraries/kpublictransport</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-libs/kreport/files/kreport-3.2.0-Q_REQUIRED_RESULT-placing.patch b/dev-libs/kreport/files/kreport-3.2.0-Q_REQUIRED_RESULT-placing.patch
new file mode 100644
index 000000000000..bb90243c688e
--- /dev/null
+++ b/dev-libs/kreport/files/kreport-3.2.0-Q_REQUIRED_RESULT-placing.patch
@@ -0,0 +1,54 @@
+From b37de83728dc7463dea37f71417560ae602f615d Mon Sep 17 00:00:00 2001
+From: Jaroslaw Staniek <staniek@kde.org>
+Date: Sat, 1 Feb 2020 19:07:52 +0100
+Subject: [PATCH] TRIVIAL Move Q_REQUIRED_RESULT to correct place
+
+This can fix builds for newer MSVC
+---
+ src/common/KReportDataSource.h | 2 +-
+ src/common/KReportPluginManager.h | 2 +-
+ src/wrtembed/KReportDesigner.h | 2 +-
+ 3 files changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/src/common/KReportDataSource.h b/src/common/KReportDataSource.h
+index 4761af6c..89490b47 100644
+--- a/src/common/KReportDataSource.h
++++ b/src/common/KReportDataSource.h
+@@ -124,7 +124,7 @@ public:
+ //! Creates a new instance with data source. Default implementation returns @c nullptr.
+ //! @a source is implementation-specific identifier.
+ //! Owner of the returned pointer is the caller.
+- virtual KReportDataSource* create(const QString &source) const Q_REQUIRED_RESULT;
++ virtual Q_REQUIRED_RESULT KReportDataSource* create(const QString &source) const;
+
+ private:
+ Q_DISABLE_COPY(KReportDataSource)
+diff --git a/src/common/KReportPluginManager.h b/src/common/KReportPluginManager.h
+index a8c4efcf..9ea01804 100644
+--- a/src/common/KReportPluginManager.h
++++ b/src/common/KReportPluginManager.h
+@@ -49,7 +49,7 @@ class KREPORT_EXPORT KReportPluginManager : public QObject
+
+ KReportPluginInterface* plugin(const QString& id) const;
+
+- QList<QAction*> createActions(QObject *parent) Q_REQUIRED_RESULT;
++ Q_REQUIRED_RESULT QList<QAction*> createActions(QObject *parent);
+
+ private:
+ // class for access to the constructor
+diff --git a/src/wrtembed/KReportDesigner.h b/src/wrtembed/KReportDesigner.h
+index 404c8fd4..b5b64a30 100644
+--- a/src/wrtembed/KReportDesigner.h
++++ b/src/wrtembed/KReportDesigner.h
+@@ -106,7 +106,7 @@ public:
+ @return Pointer to a new report section section object, ownership is transferred to
+ the caller
+ */
+- KReportDesignerSection* createSection() Q_REQUIRED_RESULT;
++ Q_REQUIRED_RESULT KReportDesignerSection* createSection();
+
+ /**
+ @brief Deletes the section specified
+--
+GitLab
+
diff --git a/dev-libs/kreport/files/kreport-3.2.0-fix-cmake-config.patch b/dev-libs/kreport/files/kreport-3.2.0-fix-cmake-config.patch
new file mode 100644
index 000000000000..625a05bd7f21
--- /dev/null
+++ b/dev-libs/kreport/files/kreport-3.2.0-fix-cmake-config.patch
@@ -0,0 +1,35 @@
+From 4ce3e8a857f2540909e1c23b73beef62eb3ab5fa Mon Sep 17 00:00:00 2001
+From: jordi fita i mas <jfita@infoblitz.com>
+Date: Sat, 11 Apr 2020 22:37:20 +0200
+Subject: [PATCH] Add Qt5PrintSupport and KF5CoreAddons dependencies to CMake
+ config
+
+Reviewers: staniek
+
+Reviewed By: staniek
+
+Subscribers: staniek
+
+Tags: #kreport
+
+Differential Revision: https://phabricator.kde.org/D28736
+---
+ src/KReportConfig.cmake.in | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/src/KReportConfig.cmake.in b/src/KReportConfig.cmake.in
+index 7d74122b..9828fcc1 100644
+--- a/src/KReportConfig.cmake.in
++++ b/src/KReportConfig.cmake.in
+@@ -20,6 +20,8 @@ include(CMakeFindDependencyMacro)
+ find_dependency(Qt5Core @REQUIRED_QT_VERSION@)
+ find_dependency(Qt5Widgets @REQUIRED_QT_VERSION@)
+ find_dependency(Qt5Xml @REQUIRED_QT_VERSION@)
++find_dependency(Qt5PrintSupport @REQUIRED_QT_VERSION@)
++find_dependency(KF5CoreAddons @REQUIRED_KF5_VERSION@)
+ find_dependency(KPropertyWidgets @REQUIRED_KPROPERTY_VERSION@)
+
+ include("${CMAKE_CURRENT_LIST_DIR}/KReportTargets.cmake")
+--
+GitLab
+
diff --git a/dev-libs/kreport/files/kreport-3.2.0-fix-insane-delay.patch b/dev-libs/kreport/files/kreport-3.2.0-fix-insane-delay.patch
new file mode 100644
index 000000000000..cf059f0ca829
--- /dev/null
+++ b/dev-libs/kreport/files/kreport-3.2.0-fix-insane-delay.patch
@@ -0,0 +1,166 @@
+From 779479c5474e080a857b2d80bdc86b9cab6531a0 Mon Sep 17 00:00:00 2001
+From: Jaroslaw Staniek <staniek@kde.org>
+Date: Fri, 1 Nov 2019 19:54:00 +0100
+Subject: [PATCH] Fix insane delay in report items creation
+
+Summary:
+Fix insane delay in report items creation by not instantiating hi-resolution QPrinter object for each item.
+
+To be honest I am not understanding the whole word-wrapping algorithm used here.
+
+Test Plan:
+Approach 1: Run KEXI and create report with large number of pages. Use at
+least one text element.
+Before the fix there's noticeable O(N) delay.
+
+Approach 2: Also if we enter static value for the text item the kreportexample
+app, there is noticeable delay on each key press before this fix.
+
+Expected: all is smooth after the fix.
+
+Reviewers: piggz
+
+Reviewed By: piggz
+
+Subscribers: Kexi-Devel-list
+
+Tags: #kreport
+
+Differential Revision: https://phabricator.kde.org/D25108
+---
+ src/CMakeLists.txt | 2 ++
+ src/common/KReportUtils_p.cpp | 14 +++++++++++---
+ src/common/KReportUtils_p.h | 12 +++++++++++-
+ src/items/text/KReportItemText.cpp | 11 ++++++-----
+ 4 files changed, 30 insertions(+), 9 deletions(-)
+
+diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
+index e15d5ca6..1cf0b389 100644
+--- a/src/CMakeLists.txt
++++ b/src/CMakeLists.txt
+@@ -198,6 +198,8 @@ target_link_libraries(KReportUtilsPrivate
+ Qt5::Widgets
+ KF5::ConfigGui
+ KF5::WidgetsAddons
++ PRIVATE
++ Qt5::PrintSupport
+ )
+
+ ecm_setup_version(${PROJECT_VERSION}
+diff --git a/src/common/KReportUtils_p.cpp b/src/common/KReportUtils_p.cpp
+index 5ac288bb..0fd90c2f 100644
+--- a/src/common/KReportUtils_p.cpp
++++ b/src/common/KReportUtils_p.cpp
+@@ -1,5 +1,5 @@
+ /* This file is part of the KDE project
+- Copyright (C) 2015-2016 Jarosław Staniek <staniek@kde.org>
++ Copyright (C) 2015-2019 Jarosław Staniek <staniek@kde.org>
+ Copyright (C) 2016 Adam Pigg <adam@piggz.co.uk>
+
+ This library is free software; you can redistribute it and/or
+@@ -26,13 +26,14 @@
+ #include <KMessageBox>
+
+ #include <QApplication>
++#include <QDebug>
+ #include <QDir>
+ #include <QFileInfo>
++#include <QGlobalStatic>
++#include <QPrinter>
+ #include <QRegularExpression>
+ #include <QResource>
+ #include <QStandardPaths>
+-#include <QDebug>
+-#include <QGlobalStatic>
+
+ #ifdef Q_WS_X11
+ #include <QX11Info>
+@@ -329,6 +330,13 @@ int dpiY()
+ return s_instance->m_dpiY;
+ }
+
++Q_GLOBAL_STATIC_WITH_ARGS(QPrinter, s_printerInstance, (QPrinter::HighResolution))
++
++QPrinter* highResolutionPrinter()
++{
++ return s_printerInstance;
++}
++
+ PageLayout::PageLayout() : QPageLayout(QPageSize(QPageSize::A4), QPageLayout::Portrait, QMarginsF(0,0,0,0))
+ {
+ }
+diff --git a/src/common/KReportUtils_p.h b/src/common/KReportUtils_p.h
+index 1d223f6e..9e4b111b 100644
+--- a/src/common/KReportUtils_p.h
++++ b/src/common/KReportUtils_p.h
+@@ -1,5 +1,5 @@
+ /* This file is part of the KDE project
+- Copyright (C) 2015-2016 Jarosław Staniek <staniek@kde.org>
++ Copyright (C) 2015-2019 Jarosław Staniek <staniek@kde.org>
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+@@ -26,6 +26,8 @@
+ #include <QRect>
+ #include <QStandardPaths>
+
++class QPrinter;
++
+ const bool DEFAULT_SHOW_GRID = true;
+ const bool DEFAULT_SNAP_TO_GRID = true;
+ const int DEFAULT_GRID_DIVISIONS = 4;
+@@ -173,6 +175,14 @@ int dpiX();
+
+ int dpiY();
+
++/*!
++ * Returns a high-resolution printer
++ *
++ * The QPrinter(QPrinter::HighResolution)) instance is created on first call.
++ * The global printer helps to optimize access to QPrinter when report items need it.
++ */
++QPrinter* highResolutionPrinter();
++
+ //! This class is wrapper that fixes a critical QTBUG-47551 bug in default constructor of QPageLayout
+ //! Default constructor of QPageLayout does not initialize units.
+ //! https://bugreports.qt.io/browse/QTBUG-47551
+diff --git a/src/items/text/KReportItemText.cpp b/src/items/text/KReportItemText.cpp
+index 29f63998..e05088fa 100644
+--- a/src/items/text/KReportItemText.cpp
++++ b/src/items/text/KReportItemText.cpp
+@@ -1,5 +1,6 @@
+ /* This file is part of the KDE project
+ * Copyright (C) 2007-2008 by Adam Pigg (adam@piggz.co.uk)
++ * Copyright (C) 2019 Jarosław Staniek <staniek@kde.org>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+@@ -17,8 +18,9 @@
+
+ #include "KReportItemText.h"
+ #include "KReportRenderObjects.h"
+-#include "kreportplugin_debug.h"
+ #include "KReportUtils.h"
++#include "KReportUtils_p.h"
++#include "kreportplugin_debug.h"
+
+ #include <KPropertyListData>
+ #include <KPropertySet>
+@@ -217,11 +219,10 @@ int KReportItemText::renderSimpleData(OROPage *page, OROSection *section, const
+ int pos = 0;
+ QChar separator;
+ QRegularExpression re(QLatin1String("\\s"));
+- QPrinter prnt(QPrinter::HighResolution);
+- QFontMetricsF fm(font(), &prnt);
++ const QFontMetricsF fm(font(), KReportPrivate::highResolutionPrinter());
+
+- // int intRectWidth = (int)(trf.width() * prnt.resolution()) - 10;
+- int intRectWidth = (int)((size().width() / 72) * prnt.resolution());
++ const int intRectWidth
++ = (int)((size().width() / 72) * KReportPrivate::highResolutionPrinter()->resolution());
+ int intLineCounter = 0;
+ qreal intBaseTop = trf.top();
+ qreal intRectHeight = trf.height();
+--
+GitLab
+
diff --git a/dev-libs/kreport/files/kreport-3.2.0-gcc12.patch b/dev-libs/kreport/files/kreport-3.2.0-gcc12.patch
new file mode 100644
index 000000000000..ce48a27f1dc3
--- /dev/null
+++ b/dev-libs/kreport/files/kreport-3.2.0-gcc12.patch
@@ -0,0 +1,26 @@
+From 4b4b94f0bafcb49cefb1e453edd04a46d6ceacce Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?=C3=96mer=20Fad=C4=B1l=20Usta?= <omerusta@gmail.com>
+Date: Thu, 12 May 2022 05:01:48 +0000
+Subject: [PATCH] Fix build with GCC 12 (standard attributes in middle of
+ decl-specifiers)
+
+---
+ src/common/KReportDataSource.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/common/KReportDataSource.h b/src/common/KReportDataSource.h
+index 89490b47..0e45b644 100644
+--- a/src/common/KReportDataSource.h
++++ b/src/common/KReportDataSource.h
+@@ -124,7 +124,7 @@ public:
+ //! Creates a new instance with data source. Default implementation returns @c nullptr.
+ //! @a source is implementation-specific identifier.
+ //! Owner of the returned pointer is the caller.
+- virtual Q_REQUIRED_RESULT KReportDataSource* create(const QString &source) const;
++ Q_REQUIRED_RESULT virtual KReportDataSource* create(const QString &source) const;
+
+ private:
+ Q_DISABLE_COPY(KReportDataSource)
+--
+GitLab
+
diff --git a/dev-libs/kreport/kreport-3.2.0-r2.ebuild b/dev-libs/kreport/kreport-3.2.0-r2.ebuild
deleted file mode 100644
index 2b551fa4ddae..000000000000
--- a/dev-libs/kreport/kreport-3.2.0-r2.ebuild
+++ /dev/null
@@ -1,56 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-ECM_QTHELP="true"
-ECM_TEST="true"
-PYTHON_COMPAT=( python3_{7,8,9} )
-KFMIN=5.74.0
-QTMIN=5.15.1
-VIRTUALX_REQUIRED="test"
-inherit ecm kde.org python-any-r1
-
-DESCRIPTION="Framework for creation and generation of reports in multiple formats"
-HOMEPAGE="https://community.kde.org/KReport"
-
-if [[ ${KDE_BUILD_TYPE} = release ]]; then
- SRC_URI="mirror://kde/stable/${PN}/src/${P}.tar.xz"
- KEYWORDS="amd64 x86"
-fi
-
-LICENSE="LGPL-2+"
-SLOT="5/4"
-IUSE="marble +scripting"
-
-RDEPEND="
- >=dev-libs/kproperty-${PV}:5=
- >=dev-qt/qtgui-${QTMIN}:5
- >=dev-qt/qtprintsupport-${QTMIN}:5
- >=dev-qt/qtwidgets-${QTMIN}:5
- >=dev-qt/qtxml-${QTMIN}:5
- >=kde-frameworks/kconfig-${KFMIN}:5
- >=kde-frameworks/kcoreaddons-${KFMIN}:5
- >=kde-frameworks/kguiaddons-${KFMIN}:5
- >=kde-frameworks/kwidgetsaddons-${KFMIN}:5
- marble? ( kde-apps/marble:5= )
- scripting? ( >=dev-qt/qtdeclarative-${QTMIN}:5 )
-"
-DEPEND="${RDEPEND}
- ${PYTHON_DEPS}
-"
-
-PATCHES=( "${FILESDIR}/${P}-gcc10.patch" )
-
-pkg_setup() {
- python-any-r1_pkg_setup
- ecm_pkg_setup
-}
-
-src_configure() {
- local mycmakeargs=(
- $(cmake_use_find_package marble Marble)
- -DKREPORT_SCRIPTING=$(usex scripting)
- )
- ecm_src_configure
-}
diff --git a/dev-libs/kreport/kreport-3.2.0-r3.ebuild b/dev-libs/kreport/kreport-3.2.0-r3.ebuild
new file mode 100644
index 000000000000..de7477e25d74
--- /dev/null
+++ b/dev-libs/kreport/kreport-3.2.0-r3.ebuild
@@ -0,0 +1,63 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+ECM_QTHELP="true"
+ECM_TEST="true"
+PYTHON_COMPAT=( python3_{9..11} )
+KFMIN=5.82.0
+QTMIN=5.15.2
+VIRTUALX_REQUIRED="test"
+inherit ecm kde.org python-any-r1
+
+DESCRIPTION="Framework for creation and generation of reports in multiple formats"
+HOMEPAGE="https://community.kde.org/KReport"
+
+if [[ ${KDE_BUILD_TYPE} = release ]]; then
+ SRC_URI="mirror://kde/stable/${PN}/src/${P}.tar.xz"
+ KEYWORDS="amd64 x86"
+fi
+
+LICENSE="LGPL-2+"
+SLOT="5/4"
+IUSE="marble +scripting"
+
+RDEPEND="
+ >=dev-libs/kproperty-${PV}:5=
+ >=dev-qt/qtgui-${QTMIN}:5
+ >=dev-qt/qtprintsupport-${QTMIN}:5
+ >=dev-qt/qtwidgets-${QTMIN}:5
+ >=dev-qt/qtxml-${QTMIN}:5
+ >=kde-frameworks/kconfig-${KFMIN}:5
+ >=kde-frameworks/kcoreaddons-${KFMIN}:5
+ >=kde-frameworks/kguiaddons-${KFMIN}:5
+ >=kde-frameworks/kwidgetsaddons-${KFMIN}:5
+ marble? ( kde-apps/marble:5= )
+ scripting? ( >=dev-qt/qtdeclarative-${QTMIN}:5 )
+"
+DEPEND="${RDEPEND}
+ ${PYTHON_DEPS}
+"
+
+PATCHES=(
+ "${FILESDIR}/${P}-gcc10.patch"
+ "${FILESDIR}/${P}-fix-insane-delay.patch"
+ "${FILESDIR}/${P}-fix-cmake-config.patch"
+ "${FILESDIR}/${P}-Q_REQUIRED_RESULT-placing.patch" # gcc12-patch dep
+ "${FILESDIR}/${P}-gcc12.patch"
+)
+
+pkg_setup() {
+ python-any-r1_pkg_setup
+ ecm_pkg_setup
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt5WebKitWidgets=ON
+ $(cmake_use_find_package marble Marble)
+ -DKREPORT_SCRIPTING=$(usex scripting)
+ )
+ ecm_src_configure
+}
diff --git a/dev-libs/ktextaddons/Manifest b/dev-libs/ktextaddons/Manifest
new file mode 100644
index 000000000000..a4c0d979b06f
--- /dev/null
+++ b/dev-libs/ktextaddons/Manifest
@@ -0,0 +1,2 @@
+DIST ktextaddons-1.2.1.tar.xz 392132 BLAKE2B 63a3dcbca0e49fab246f6a76266529e90ec73209e5dd2464884b9b0071867d10ff017b91faa321a8738e63c90c6bd6c4c8ad708a4a944595eba4a7f0aa4934d2 SHA512 44a0aa56a92594031576d2e37e7bc526444f64cebd9b5add8bd382e72fc30b222075bee4d61cc358da61f4db266cd0a339717bd9d90b21e38993371cb1408db9
+DIST ktextaddons-1.5.4.tar.xz 471052 BLAKE2B 9f2730d0e1f71606b60c2469bd06790a8a1fadd7e30526ed94125d8eb897a08be549ac05bd9af9651dadf5ef95fa71249c5802e40fce43f28c82c2cd8f121e04 SHA512 76829c265c68e374fc7012c270a0328bb9d724d78165f0bda8da126994a5eb692af0b66b93e1151af3fc3e1755bbedfabcae73b60bb47c871181d2d50530e243
diff --git a/dev-libs/ktextaddons/ktextaddons-1.2.1.ebuild b/dev-libs/ktextaddons/ktextaddons-1.2.1.ebuild
new file mode 100644
index 000000000000..88de23ac551d
--- /dev/null
+++ b/dev-libs/ktextaddons/ktextaddons-1.2.1.ebuild
@@ -0,0 +1,48 @@
+# Copyright 2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+ECM_DESIGNERPLUGIN="true"
+ECM_QTHELP="true"
+ECM_TEST="true"
+KFMIN=5.103.0
+QTMIN=5.15.5
+VIRTUALX_REQUIRED="test"
+inherit ecm kde.org
+
+DESCRIPTION="Various text handling addons"
+HOMEPAGE="https://invent.kde.org/libraries/ktextaddons"
+
+if [[ ${KDE_BUILD_TYPE} = release ]]; then
+ SRC_URI="mirror://kde/stable/${PN}/${P}.tar.xz"
+ KEYWORDS="amd64 arm64 ~ppc64 ~riscv x86"
+fi
+
+LICENSE="LGPL-2+"
+SLOT="5"
+IUSE="speech"
+
+RESTRICT="test"
+
+RDEPEND="
+ dev-libs/qtkeychain:=[qt5(+)]
+ >=dev-qt/qtgui-${QTMIN}:5
+ >=dev-qt/qtnetwork-${QTMIN}:5
+ >=dev-qt/qtwidgets-${QTMIN}:5
+ >=kde-frameworks/kconfig-${KFMIN}:5
+ >=kde-frameworks/kconfigwidgets-${KFMIN}:5
+ >=kde-frameworks/kcoreaddons-${KFMIN}:5
+ >=kde-frameworks/ki18n-${KFMIN}:5
+ >=kde-frameworks/kwidgetsaddons-${KFMIN}:5
+ >=kde-frameworks/kxmlgui-${KFMIN}:5
+ speech? ( >=dev-qt/qtspeech-${QTMIN}:5 )
+"
+DEPEND="${RDEPEND}"
+
+src_configure() {
+ local mycmakeargs=(
+ $(cmake_use_find_package speech Qt5TextToSpeech)
+ )
+ ecm_src_configure
+}
diff --git a/dev-libs/ktextaddons/ktextaddons-1.5.4.ebuild b/dev-libs/ktextaddons/ktextaddons-1.5.4.ebuild
new file mode 100644
index 000000000000..cc272fa5c8ee
--- /dev/null
+++ b/dev-libs/ktextaddons/ktextaddons-1.5.4.ebuild
@@ -0,0 +1,50 @@
+# Copyright 2023-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+ECM_DESIGNERPLUGIN="true"
+ECM_QTHELP="true"
+ECM_TEST="true"
+KFMIN=5.245.0
+QTMIN=6.6.2
+inherit ecm kde.org
+
+DESCRIPTION="Various text handling addons"
+HOMEPAGE="https://invent.kde.org/libraries/ktextaddons"
+
+if [[ ${KDE_BUILD_TYPE} = release ]]; then
+ SRC_URI="mirror://kde/stable/${PN}/${P}.tar.xz"
+ KEYWORDS="~amd64"
+fi
+
+LICENSE="LGPL-2+"
+SLOT="6"
+IUSE="speech"
+
+RESTRICT="test"
+
+DEPEND="
+ >=dev-libs/qtkeychain-0.14.1-r1:=[qt6]
+ >=dev-qt/qtbase-${QTMIN}:6[gui,network,widgets]
+ >=dev-qt/qtmultimedia-${QTMIN}:6
+ >=kde-frameworks/karchive-${KFMIN}:6
+ >=kde-frameworks/kconfig-${KFMIN}:6
+ >=kde-frameworks/kconfigwidgets-${KFMIN}:6
+ >=kde-frameworks/kcoreaddons-${KFMIN}:6
+ >=kde-frameworks/ki18n-${KFMIN}:6
+ >=kde-frameworks/kio-${KFMIN}:6
+ >=kde-frameworks/sonnet-${KFMIN}:6
+ >=kde-frameworks/syntax-highlighting-${KFMIN}:6
+ speech? ( >=dev-qt/qtspeech-${QTMIN}:6 )
+"
+RDEPEND="${DEPEND}
+ !${CATEGORY}/${PN}:5
+"
+
+src_configure() {
+ local mycmakeargs=(
+ $(cmake_use_find_package speech Qt6TextToSpeech)
+ )
+ ecm_src_configure
+}
diff --git a/dev-libs/ktextaddons/metadata.xml b/dev-libs/ktextaddons/metadata.xml
new file mode 100644
index 000000000000..fe672f377cfd
--- /dev/null
+++ b/dev-libs/ktextaddons/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="project">
+ <email>kde@gentoo.org</email>
+ <name>Gentoo KDE Project</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="kde-invent">libraries/ktextaddons</remote-id>
+ <bugs-to>https://bugs.kde.org/</bugs-to>
+ </upstream>
+ <use>
+ <flag name="designer">Build plugins for <pkg>dev-qt/designer</pkg></flag>
+ </use>
+</pkgmetadata>
diff --git a/dev-libs/kuserfeedback/Manifest b/dev-libs/kuserfeedback/Manifest
deleted file mode 100644
index 5b106a00711e..000000000000
--- a/dev-libs/kuserfeedback/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST kuserfeedback-1.0.0.tar.xz 187784 BLAKE2B 24acb6c1f143a0811a84c7d4f5ffe923df2fe94b0d13e361870d308b65ee8be747cef1a2ab719c6023b4f5885fb9970620a2a5da0d073e70b1e4912c6f64c5d1 SHA512 d45c45b3f7b50f7ff3e5e5ae7e6a4cd68c0aa444553d0c44a969ae17e51ef5114ab6401c8ce65744ec3d635cb2edc7a127187547f01f4954faa55087c702dea7
diff --git a/dev-libs/kuserfeedback/kuserfeedback-1.0.0.ebuild b/dev-libs/kuserfeedback/kuserfeedback-1.0.0.ebuild
deleted file mode 100644
index 85edbc6aa810..000000000000
--- a/dev-libs/kuserfeedback/kuserfeedback-1.0.0.ebuild
+++ /dev/null
@@ -1,58 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-ECM_TEST="forceoptional"
-KFMIN=5.60.0
-QTMIN=5.12.3
-VIRTUALX_REQUIRED="test"
-inherit ecm kde.org
-
-DESCRIPTION="Framework to collect user feedback for applications via telemetry and surveys"
-
-if [[ ${KDE_BUILD_TYPE} = release ]]; then
- SRC_URI="mirror://kde/stable/${PN}/${P}.tar.xz"
- KEYWORDS="amd64 ~arm arm64 ~ppc64 ~riscv x86"
-fi
-
-LICENSE="MIT"
-SLOT="5"
-IUSE="doc"
-
-BDEPEND="
- sys-devel/bison
- sys-devel/flex
- doc? (
- >=dev-qt/qdoc-${QTMIN}:5
- >=dev-qt/qthelp-${QTMIN}:5
- )
-"
-DEPEND="
- >=dev-qt/qtcharts-${QTMIN}:5
- >=dev-qt/qtdeclarative-${QTMIN}:5
- >=dev-qt/qtgui-${QTMIN}:5
- >=dev-qt/qtnetwork-${QTMIN}:5
- >=dev-qt/qtprintsupport-${QTMIN}:5
- >=dev-qt/qtsql-${QTMIN}:5
- >=dev-qt/qtsvg-${QTMIN}:5
- >=dev-qt/qtwidgets-${QTMIN}:5
- >=kde-frameworks/kconfig-${KFMIN}:5
- >=kde-frameworks/kcoreaddons-${KFMIN}:5
- >=kde-frameworks/kdeclarative-${KFMIN}:5
- >=kde-frameworks/kguiaddons-${KFMIN}:5
- >=kde-frameworks/kwidgetsaddons-${KFMIN}:5
-"
-RDEPEND="${DEPEND}"
-
-src_configure() {
- local mycmakeargs=(
- # disable server application
- -DENABLE_PHP=NO
- -DENABLE_PHP_UNIT=NO
- -DENABLE_SURVEY_TARGET_EXPRESSIONS=YES
- -DENABLE_DOCS=$(usex doc)
- )
-
- ecm_src_configure
-}
diff --git a/dev-libs/kuserfeedback/metadata.xml b/dev-libs/kuserfeedback/metadata.xml
deleted file mode 100644
index d925f2439758..000000000000
--- a/dev-libs/kuserfeedback/metadata.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="project">
- <email>kde@gentoo.org</email>
- <name>Gentoo KDE Project</name>
- </maintainer>
- <upstream>
- <bugs-to>https://bugs.kde.org/</bugs-to>
- </upstream>
-</pkgmetadata>
diff --git a/dev-libs/kweathercore/Manifest b/dev-libs/kweathercore/Manifest
new file mode 100644
index 000000000000..c9ad5a139be3
--- /dev/null
+++ b/dev-libs/kweathercore/Manifest
@@ -0,0 +1,2 @@
+DIST kweathercore-0.7.tar.xz 57016 BLAKE2B c9fb519e681b5570a60daf224b75f98616a406b1fbdfff49baa771d55031a8f893fdac9cbfed71dedac8f06dc9a11033171f2e22bfc15285e323185a46149c83 SHA512 385514d6ca499db12f243c443e6815b1a5458f4a87da962ea73c5f324c58614fbc854d21d6e5359ee69e7766e75c9144966fd953639a51a09f56a8461d158da8
+DIST kweathercore-0.8.0.tar.xz 76420 BLAKE2B ea0ec5ab24196ce5fa10811c9e54722606121a2176f354320b29121987905d9f6c25f1c332573d8cc2ee3c1bd324fd30d3c94644963431a77dcca3606487992a SHA512 eed813f528422969aed17b831bf6153e49595cf148bb9bda477acdf76d41922eededa55f312d075ccf7bece9e8291dddc0efc92713073fc3c99f438cc0844b69
diff --git a/dev-libs/kweathercore/kweathercore-0.7.ebuild b/dev-libs/kweathercore/kweathercore-0.7.ebuild
new file mode 100644
index 000000000000..05ef902e19e9
--- /dev/null
+++ b/dev-libs/kweathercore/kweathercore-0.7.ebuild
@@ -0,0 +1,35 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+ECM_NONGUI="true"
+ECM_QTHELP="true"
+ECM_TEST="true"
+KFMIN=5.99.0
+QTMIN=5.15.5
+inherit ecm kde.org
+
+DESCRIPTION="Library for retrieval of weather information including forecasts and alerts"
+
+if [[ ${KDE_BUILD_TYPE} = release ]]; then
+ SRC_URI="mirror://kde/stable/${PN}/${PV}/${P}.tar.xz"
+ KEYWORDS="amd64 arm64 ~loong ~ppc64 x86"
+fi
+LICENSE="LGPL-2+"
+SLOT="5"
+
+DEPEND="
+ >=dev-qt/qtnetwork-${QTMIN}:5
+ >=dev-qt/qtpositioning-${QTMIN}:5
+ >=kde-frameworks/kholidays-${KFMIN}:5
+ >=kde-frameworks/ki18n-${KFMIN}:5
+"
+RDEPEND="${DEPEND}"
+
+src_test() {
+ local myctestargs=(
+ -E "locationquerytest"
+ )
+ ecm_src_test
+}
diff --git a/dev-libs/kweathercore/kweathercore-0.8.0.ebuild b/dev-libs/kweathercore/kweathercore-0.8.0.ebuild
new file mode 100644
index 000000000000..6df1fd3bbffd
--- /dev/null
+++ b/dev-libs/kweathercore/kweathercore-0.8.0.ebuild
@@ -0,0 +1,35 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+ECM_NONGUI="true"
+ECM_QTHELP="true"
+ECM_TEST="true"
+KFMIN=5.245.0
+QTMIN=6.6.2
+inherit ecm kde.org
+
+DESCRIPTION="Library for retrieval of weather information including forecasts and alerts"
+
+if [[ ${KDE_BUILD_TYPE} = release ]]; then
+ SRC_URI="mirror://kde/stable/${PN}/${PV}/${P}.tar.xz"
+ KEYWORDS="~amd64"
+fi
+LICENSE="LGPL-2+"
+SLOT="6"
+
+DEPEND="
+ >=dev-qt/qtbase-${QTMIN}:6[network]
+ >=dev-qt/qtpositioning-${QTMIN}:6
+ >=kde-frameworks/kholidays-${KFMIN}:6
+ >=kde-frameworks/ki18n-${KFMIN}:6
+"
+RDEPEND="${DEPEND}"
+
+src_test() {
+ local myctestargs=(
+ -E "locationquerytest"
+ )
+ ecm_src_test
+}
diff --git a/dev-libs/kweathercore/metadata.xml b/dev-libs/kweathercore/metadata.xml
new file mode 100644
index 000000000000..474c349df8f3
--- /dev/null
+++ b/dev-libs/kweathercore/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="project">
+ <email>kde@gentoo.org</email>
+ <name>Gentoo KDE Project</name>
+ </maintainer>
+ <upstream>
+ <bugs-to>https://bugs.kde.org/</bugs-to>
+ <remote-id type="kde-invent">libraries/kweathercore</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/leatherman/Manifest b/dev-libs/leatherman/Manifest
index 507b8797507e..7ca6271a9449 100644
--- a/dev-libs/leatherman/Manifest
+++ b/dev-libs/leatherman/Manifest
@@ -1,2 +1,2 @@
-DIST leatherman-1.12.6.tar.gz 818106 BLAKE2B 056ea52c355cf178e16be03f2a4fb54bf0e6aece4045545e7e45c50664e711db2bb756f56c9cd33a6dfe1de24c4ecb98766d4bd158ffb7757958274ba38f76db SHA512 4e2a1ee2e7226224f115648a78bc3e4798ef0528ef32e01d1e7ebcbeb1250fd6ed88001c9db21456feeef3bd6ff201b0fd68fd5feb2671a66d13519dd3454386
-DIST leatherman-1.12.7.tar.gz 815838 BLAKE2B 21284f5128c9264b751011b1d68c6baf553037612cab39cc339920091ae42980f6c3920f5b339d4cba31a40b190fa73d779f45dcc30b78e866708c3178ac6699 SHA512 dd763bf89d8356aa00805817af7029ee77452a9210b6aded16ac1434f233fbba9b41014ab55a076773f50da6d16e1cffae50e2a23d1c4b336df9cc88c05ede56
+DIST leatherman-1.12.12.tar.gz 818006 BLAKE2B b8174da6ae3f981b9ef44728069502264585b6ec8602125e54e2747c6f4ce1755979c4c7337af176bba234dcb6415acdbdff69b1a4c60ec87b69892043b91353 SHA512 b4041ec59dd716e599c12c31dd5401542efe0739abfc9d508b56dc759ca9bdeb29daac87b626d416f5339fca8909cfa98653a24a39b32bb1cd04baf99c6f1d92
+DIST leatherman-1.12.13.tar.gz 818810 BLAKE2B 3caf99e7a266703e4c84797ecdb5f4006474c5bc7014dee2dddcbf51ec38c0337027c8ee49c52a54d68450abf57605a8482b52d6a63a0fe5f4eeb554adea90c7 SHA512 5d45036839270690f8f6649ea82d3800eec89a6fff92416a2e9831a177a1ddd6b42a33bc8af94a410c65c768c962b5fafc696f579f3de411b41cb5ae88b1372f
diff --git a/dev-libs/leatherman/files/leatherman-1.12.6-SIGSTKSZ.patch b/dev-libs/leatherman/files/leatherman-1.12.6-SIGSTKSZ.patch
deleted file mode 100644
index e6c7349e814b..000000000000
--- a/dev-libs/leatherman/files/leatherman-1.12.6-SIGSTKSZ.patch
+++ /dev/null
@@ -1,45 +0,0 @@
-diff -Naur a/src/Catch-1.10.0/single_include/catch.hpp b/src/Catch-1.10.0/single_include/catch.hpp
---- a/src/Catch-1.10.0/single_include/catch.hpp 2021-07-05 07:30:43.000000000 -0500
-+++ b/src/Catch-1.10.0/single_include/catch.hpp 2021-12-17 01:34:41.000000000 -0600
-@@ -6447,6 +6447,14 @@
-
- # else // CATCH_CONFIG_POSIX_SIGNALS is defined
-
-+# if defined(_SC_SIGSTKSZ_SOURCE) || defined(_GNU_SOURCE)
-+// on glibc > 2.33 this is no longer constant, see
-+// https://sourceware.org/git/?p=glibc.git;a=blob;f=NEWS;h=85e84fe53699fe9e392edffa993612ce08b2954a;hb=HEAD
-+static constexpr std::size_t sigStackSize = 32768;
-+# else
-+static constexpr std::size_t sigStackSize = 32768 >= MINSIGSTKSZ ? 32768 : MINSIGSTKSZ;
-+# endif
-+
- #include <signal.h>
-
- namespace Catch {
-@@ -6470,7 +6478,7 @@
- static bool isSet;
- static struct sigaction oldSigActions [sizeof(signalDefs)/sizeof(SignalDefs)];
- static stack_t oldSigStack;
-- static char altStackMem[SIGSTKSZ];
-+ static char altStackMem[sigStackSize];
-
- static void handleSignal( int sig ) {
- std::string name = "<unknown signal>";
-@@ -6490,7 +6498,7 @@
- isSet = true;
- stack_t sigStack;
- sigStack.ss_sp = altStackMem;
-- sigStack.ss_size = SIGSTKSZ;
-+ sigStack.ss_size = sigStackSize;
- sigStack.ss_flags = 0;
- sigaltstack(&sigStack, &oldSigStack);
- struct sigaction sa = { 0 };
-@@ -6521,7 +6529,7 @@
- bool FatalConditionHandler::isSet = false;
- struct sigaction FatalConditionHandler::oldSigActions[sizeof(signalDefs)/sizeof(SignalDefs)] = {};
- stack_t FatalConditionHandler::oldSigStack = {};
-- char FatalConditionHandler::altStackMem[SIGSTKSZ] = {};
-+ char FatalConditionHandler::altStackMem[sigStackSize] = {};
-
- } // namespace Catch
-
diff --git a/dev-libs/leatherman/files/shared_nowide.patch b/dev-libs/leatherman/files/shared_nowide.patch
deleted file mode 100644
index 4f5f67045fb6..000000000000
--- a/dev-libs/leatherman/files/shared_nowide.patch
+++ /dev/null
@@ -1,108 +0,0 @@
-diff --git a/nowide/CMakeLists.txt b/nowide/CMakeLists.txt
-index ff9dba6..5d1b9ce 100644
---- a/nowide/CMakeLists.txt
-+++ b/nowide/CMakeLists.txt
-@@ -1,7 +1,5 @@
- find_package(Boost 1.54 REQUIRED)
-
--add_leatherman_includes(${Boost_INCLUDE_DIRS} "${CMAKE_CURRENT_SOURCE_DIR}/../vendor/nowide/include")
--add_leatherman_headers(../vendor/nowide/include/boost)
- if(WIN32)
- add_leatherman_library(../vendor/nowide/src/iostream.cpp)
- endif()
---- leatherman-1.10.0/execution/CMakeLists.txt~ 2020-06-03 10:30:05.027479897 +0100
-+++ leatherman-1.10.0/execution/CMakeLists.txt 2020-06-03 10:30:18.871483297 +0100
-@@ -1,4 +1,4 @@
--find_package(Boost 1.54 REQUIRED COMPONENTS regex filesystem system)
-+find_package(Boost 1.73 REQUIRED COMPONENTS regex filesystem system nowide)
-
- add_leatherman_deps("${Boost_LIBRARIES}")
- if ("${CMAKE_SYSTEM_NAME}" MATCHES "SunOS")
-@@ -10,7 +10,6 @@
- add_leatherman_includes("${Boost_INCLUDE_DIRS}")
-
- leatherman_dependency(util)
--leatherman_dependency(nowide)
- leatherman_dependency(locale)
- leatherman_dependency(logging)
- leatherman_dependency(file_util)
---- leatherman-1.10.0/file_util/CMakeLists.txt~ 2020-06-03 10:30:05.031479898 +0100
-+++ leatherman-1.10.0/file_util/CMakeLists.txt 2020-06-03 10:31:04.550494516 +0100
-@@ -1,9 +1,8 @@
--find_package(Boost 1.54 REQUIRED COMPONENTS regex filesystem system)
-+find_package(Boost 1.73 REQUIRED COMPONENTS regex filesystem system nowide)
-
- add_leatherman_deps("${Boost_LIBRARIES}")
- add_leatherman_includes("${Boost_INCLUDE_DIRS}")
-
--leatherman_dependency(nowide)
- leatherman_dependency(locale)
- leatherman_dependency(logging)
- leatherman_dependency(util)
---- leatherman-1.10.0/logging/CMakeLists.txt~ 2020-06-03 10:30:05.035479898 +0100
-+++ leatherman-1.10.0/logging/CMakeLists.txt 2020-06-03 10:30:19.092483352 +0100
-@@ -4,7 +4,6 @@
- add_leatherman_deps(${Boost_LIBRARIES} ${CMAKE_THREAD_LIBS_INIT})
- add_leatherman_includes("${Boost_INCLUDE_DIRS}")
-
--leatherman_dependency(nowide)
- leatherman_dependency(locale)
-
- if (CMAKE_SYSTEM_NAME MATCHES "Linux" OR CMAKE_SYSTEM_NAME MATCHES "SunOS")
---- leatherman-1.10.0/tests/CMakeLists.txt~ 2020-06-02 23:24:17.146002133 +0100
-+++ leatherman-1.10.0/tests/CMakeLists.txt 2020-06-02 23:26:17.780054923 +0100
-@@ -1,8 +1,8 @@
--set(BOOST_REQUIRED_COMPONENTS system date_time chrono log log_setup thread filesystem regex)
-+set(BOOST_REQUIRED_COMPONENTS system date_time chrono log log_setup thread filesystem regex nowide)
- if (LEATHERMAN_USE_LOCALES)
- set(BOOST_REQUIRED_COMPONENTS ${BOOST_REQUIRED_COMPONENTS} locale)
- endif()
--find_package(Boost "1.54" REQUIRED COMPONENTS ${BOOST_REQUIRED_COMPONENTS})
-+find_package(Boost "1.73" REQUIRED COMPONENTS ${BOOST_REQUIRED_COMPONENTS})
-
- include_directories(BEFORE ${LEATHERMAN_CATCH_INCLUDE} ${LEATHERMAN_INCLUDE_DIRS})
- add_executable(leatherman_test main.cc ${LEATHERMAN_TEST_SRCS})
---- leatherman-1.10.0/util/CMakeLists.txt~ 2020-06-03 10:05:44.277172451 +0100
-+++ leatherman-1.10.0/util/CMakeLists.txt 2020-06-03 10:06:52.969185017 +0100
-@@ -1,10 +1,8 @@
--find_package(Boost 1.54 REQUIRED date_time chrono system)
-+find_package(Boost 1.73 REQUIRED date_time chrono system nowide)
-
- add_leatherman_deps(${Boost_LIBRARIES})
- add_leatherman_includes("${Boost_INCLUDE_DIRS}")
-
--leatherman_dependency(nowide)
--
- if(WIN32)
- set(PLATFORM_SRCS "src/windows/time.cc" "src/windows/environment.cc" "src/windows/scoped_handle.cc")
- set(PLATFORM_TESTS "tests/windows/environment.cc")
---- leatherman-1.10.0/file_util/src/file.cc~ 2019-12-14 20:46:29.000000000 +0000
-+++ leatherman-1.10.0/file_util/src/file.cc 2020-06-02 22:42:45.100963441 +0100
-@@ -1,6 +1,6 @@
- #include <leatherman/file_util/file.hpp>
- #include <boost/nowide/fstream.hpp>
--#include <boost/nowide/cenv.hpp>
-+#include <boost/nowide/cstdlib.hpp>
- #include <boost/filesystem.hpp>
- #include <sstream>
- #include <leatherman/logging/logging.hpp>
---- leatherman-1.10.0/util/src/environment.cc~ 2019-12-14 20:46:29.000000000 +0000
-+++ leatherman-1.10.0/util/src/environment.cc 2020-06-02 22:42:45.101963441 +0100
-@@ -1,5 +1,6 @@
- #include <leatherman/util/environment.hpp>
--#include <boost/nowide/cenv.hpp>
-+#include <boost/nowide/cstdlib.hpp>
-+#include <boost/system/error_code.hpp>
-
- using namespace std;
-
---- leatherman-1.10.0/util/tests/environment.cc~ 2019-12-14 20:46:29.000000000 +0000
-+++ leatherman-1.10.0/util/tests/environment.cc 2020-06-02 22:42:45.103963442 +0100
-@@ -1,6 +1,6 @@
- #include <catch.hpp>
- #include <leatherman/util/environment.hpp>
--#include <boost/nowide/cenv.hpp>
-+#include <boost/nowide/cstdlib.hpp>
-
- using namespace std;
- using namespace leatherman::util;
diff --git a/dev-libs/leatherman/leatherman-1.12.12.ebuild b/dev-libs/leatherman/leatherman-1.12.12.ebuild
new file mode 100644
index 000000000000..8f059cdc447e
--- /dev/null
+++ b/dev-libs/leatherman/leatherman-1.12.12.ebuild
@@ -0,0 +1,56 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit cmake
+
+DESCRIPTION="A C++ toolkit"
+HOMEPAGE="https://github.com/puppetlabs/leatherman"
+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 static-libs test"
+#RESTRICT="!test? ( test )"
+RESTRICT="test" # restricted til we don't need the shared_nowide patch
+
+RDEPEND="dev-libs/boost:=[nls]
+ net-misc/curl"
+DEPEND="${RDEPEND}"
+
+PATCHES=(
+ "${FILESDIR}"/portage-sandbox-test-fix.patch
+ "${FILESDIR}"/1.12.2-shared_nowide.patch
+)
+
+src_prepare() {
+ sed -i 's/\-Werror\ //g' "cmake/cflags.cmake" || die
+ # vendored boost lib conflicts with boost 1.73 and above
+ cmake_src_prepare
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DCMAKE_VERBOSE_MAKEFILE=ON
+ -DCMAKE_BUILD_TYPE=None
+ -DLEATHERMAN_ENABLE_TESTING=$(usex test)
+ # We depend on Boost with nls, so this is always true
+ -DLEATHERMAN_USE_ICU=ON
+
+ -DLEATHERMAN_SHARED=$(usex !static-libs)
+ )
+
+ if use debug; then
+ mycmakeargs+=(
+ -DCMAKE_BUILD_TYPE=Debug
+ )
+ fi
+
+ cmake_src_configure
+}
+
+src_test() {
+ "${WORKDIR}/${P}"_build/bin/leatherman_test || die
+}
diff --git a/dev-libs/leatherman/leatherman-1.12.13.ebuild b/dev-libs/leatherman/leatherman-1.12.13.ebuild
new file mode 100644
index 000000000000..7508537d3159
--- /dev/null
+++ b/dev-libs/leatherman/leatherman-1.12.13.ebuild
@@ -0,0 +1,56 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit cmake
+
+DESCRIPTION="A C++ toolkit"
+HOMEPAGE="https://github.com/puppetlabs/leatherman"
+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 static-libs test"
+#RESTRICT="!test? ( test )"
+RESTRICT="test" # restricted til we don't need the shared_nowide patch
+
+RDEPEND="dev-libs/boost:=[nls]
+ net-misc/curl"
+DEPEND="${RDEPEND}"
+
+PATCHES=(
+ "${FILESDIR}"/portage-sandbox-test-fix.patch
+ "${FILESDIR}"/1.12.2-shared_nowide.patch
+)
+
+src_prepare() {
+ sed -i 's/\-Werror\ //g' "cmake/cflags.cmake" || die
+ # vendored boost lib conflicts with boost 1.73 and above
+ cmake_src_prepare
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DCMAKE_VERBOSE_MAKEFILE=ON
+ -DCMAKE_BUILD_TYPE=None
+ -DLEATHERMAN_ENABLE_TESTING=$(usex test)
+ # We depend on Boost with nls, so this is always true
+ -DLEATHERMAN_USE_ICU=ON
+
+ -DLEATHERMAN_SHARED=$(usex !static-libs)
+ )
+
+ if use debug; then
+ mycmakeargs+=(
+ -DCMAKE_BUILD_TYPE=Debug
+ )
+ fi
+
+ cmake_src_configure
+}
+
+src_test() {
+ "${WORKDIR}/${P}"_build/bin/leatherman_test || die
+}
diff --git a/dev-libs/leatherman/leatherman-1.12.6-r1.ebuild b/dev-libs/leatherman/leatherman-1.12.6-r1.ebuild
deleted file mode 100644
index 33604a38cdae..000000000000
--- a/dev-libs/leatherman/leatherman-1.12.6-r1.ebuild
+++ /dev/null
@@ -1,60 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit cmake
-
-DESCRIPTION="A C++ toolkit"
-HOMEPAGE="https://github.com/puppetlabs/leatherman"
-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 static-libs test"
-#RESTRICT="!test? ( test )"
-RESTRICT="test" # restricted til we don't need the shared_nowide patch
-
-RDEPEND=">=dev-libs/boost-1.73:=[nls]
- net-misc/curl"
-DEPEND="${RDEPEND}"
-
-PATCHES=(
- "${FILESDIR}"/portage-sandbox-test-fix.patch
- "${FILESDIR}"/1.12.2-shared_nowide.patch
-)
-
-src_prepare() {
- sed -i 's/\-Werror\ //g' "cmake/cflags.cmake" || die
- # vendored boost lib conflicts with boost 1.73 and above
- cmake_src_prepare
-}
-
-src_configure() {
- local mycmakeargs=(
- -DCMAKE_VERBOSE_MAKEFILE=ON
- -DCMAKE_BUILD_TYPE=None
- -DLEATHERMAN_ENABLE_TESTING=$(usex test)
- # We depend on Boost with nls, so this is always true
- -DLEATHERMAN_USE_ICU=ON
-
- -DLEATHERMAN_SHARED=$(usex !static-libs)
- )
-
- if use debug; then
- mycmakeargs+=(
- -DCMAKE_BUILD_TYPE=Debug
- )
- fi
-
- cmake_src_configure
-}
-
-src_test() {
- "${WORKDIR}/${P}"_build/bin/leatherman_test || die
-}
-
-src_install() {
- cmake_src_install
-}
diff --git a/dev-libs/leatherman/leatherman-1.12.6-r2.ebuild b/dev-libs/leatherman/leatherman-1.12.6-r2.ebuild
deleted file mode 100644
index 3a12d519ae1c..000000000000
--- a/dev-libs/leatherman/leatherman-1.12.6-r2.ebuild
+++ /dev/null
@@ -1,62 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit cmake
-
-DESCRIPTION="A C++ toolkit"
-HOMEPAGE="https://github.com/puppetlabs/leatherman"
-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 static-libs test"
-#RESTRICT="!test? ( test )"
-RESTRICT="test" # restricted til we don't need the shared_nowide patch
-
-RDEPEND=">=dev-libs/boost-1.73:=[nls]
- net-misc/curl"
-DEPEND="${RDEPEND}"
-
-PATCHES=(
- "${FILESDIR}"/portage-sandbox-test-fix.patch
- "${FILESDIR}"/1.12.2-shared_nowide.patch
-)
-
-src_prepare() {
- sed -i 's/\-Werror\ //g' "cmake/cflags.cmake" || die
- # vendored boost lib conflicts with boost 1.73 and above
- cmake_src_prepare
-}
-
-src_configure() {
- local mycmakeargs=(
- -DCMAKE_VERBOSE_MAKEFILE=ON
- -DCMAKE_BUILD_TYPE=None
- -DLEATHERMAN_ENABLE_TESTING=$(usex test)
- # We depend on Boost with nls, so this is always true
- -DLEATHERMAN_USE_ICU=ON
-
- -DLEATHERMAN_SHARED=$(usex !static-libs)
- )
-
- if use debug; then
- mycmakeargs+=(
- -DCMAKE_BUILD_TYPE=Debug
- )
- fi
-
- cmake_src_configure
- cd "${BUILD_DIR}"
- eapply "${FILESDIR}"/${P}-SIGSTKSZ.patch
-}
-
-src_test() {
- "${WORKDIR}/${P}"_build/bin/leatherman_test || die
-}
-
-src_install() {
- cmake_src_install
-}
diff --git a/dev-libs/leatherman/leatherman-1.12.7.ebuild b/dev-libs/leatherman/leatherman-1.12.7.ebuild
deleted file mode 100644
index ec52f32f8a1a..000000000000
--- a/dev-libs/leatherman/leatherman-1.12.7.ebuild
+++ /dev/null
@@ -1,56 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit cmake
-
-DESCRIPTION="A C++ toolkit"
-HOMEPAGE="https://github.com/puppetlabs/leatherman"
-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 ~sparc ~x86"
-IUSE="debug static-libs test"
-#RESTRICT="!test? ( test )"
-RESTRICT="test" # restricted til we don't need the shared_nowide patch
-
-RDEPEND=">=dev-libs/boost-1.73:=[nls]
- net-misc/curl"
-DEPEND="${RDEPEND}"
-
-PATCHES=(
- "${FILESDIR}"/portage-sandbox-test-fix.patch
- "${FILESDIR}"/1.12.2-shared_nowide.patch
-)
-
-src_prepare() {
- sed -i 's/\-Werror\ //g' "cmake/cflags.cmake" || die
- # vendored boost lib conflicts with boost 1.73 and above
- cmake_src_prepare
-}
-
-src_configure() {
- local mycmakeargs=(
- -DCMAKE_VERBOSE_MAKEFILE=ON
- -DCMAKE_BUILD_TYPE=None
- -DLEATHERMAN_ENABLE_TESTING=$(usex test)
- # We depend on Boost with nls, so this is always true
- -DLEATHERMAN_USE_ICU=ON
-
- -DLEATHERMAN_SHARED=$(usex !static-libs)
- )
-
- if use debug; then
- mycmakeargs+=(
- -DCMAKE_BUILD_TYPE=Debug
- )
- fi
-
- cmake_src_configure
-}
-
-src_test() {
- "${WORKDIR}/${P}"_build/bin/leatherman_test || die
-}
diff --git a/dev-libs/level-zero/Manifest b/dev-libs/level-zero/Manifest
index f54f4c2a5c76..f17819ae97f2 100644
--- a/dev-libs/level-zero/Manifest
+++ b/dev-libs/level-zero/Manifest
@@ -1,2 +1,2 @@
-DIST level-zero-1.7.4.tar.gz 395803 BLAKE2B 09b977cbd7bd438daeb1cf4b97c4a6e586239b01a873604282a925458e8c2abb896dbce7e3199cc27ef4e85fa6dbae8b77186bedc9f942427c81aa2bdf81c97c SHA512 270c273fa7f3a90d3a3af8d7882c8dfca684eeeab9b6c01b9145aa802186d8a1a5eaaf1afd720fb12be3a6338a4d95698bb5dd175abb96b4c2916c94e4f4771c
-DIST level-zero-1.7.9.tar.gz 396946 BLAKE2B c0b09e5318d5ba430b760d28d0f0943f8de910eaa0acc6477947ef4d6e0dc8af6ba3e1f8b2728e6fd9e763f038d1a22acd8c1d23eaac2e6fafa1f1f6913a91cd SHA512 65721d00de32d4b483eeca2b9f803a05724619afc46f664d6d5fb344fcff6a053a9a23daf24ab0fa05f598c7fde3e91c6b350fb9e8bf6ea38c596dbfe42fadc1
+DIST level-zero-1.16.1.tar.gz 999641 BLAKE2B 845964416526428d4848ccc3beebf0eac426ba39ce292cea3dced13803dbeb1d4393930b46a60fc2c59dc9e2f4bba1188b211a57574c58fb7180c44b7a8a028b SHA512 c53b5663494613b7a536816bf8367895aa055ce74d9abc8e8aacc3efb7c081de60480d03693861e2b348698b7da6224ac21fb590bf9311d342a19ca4f416b051
+DIST level-zero-1.16.14.tar.gz 1001744 BLAKE2B a02d3b04a127bb43a3b2507c00f6c536d319d11e6196ad347f3d82a22d11f094118b5115589f463945b8763c9fb5c22a09965c637e72b14c7364813f8d69e05f SHA512 8c80d75909398245c0173a4198748d1a1e469e21a09138f60b314061ff556e7f529807e02c6ec1f3a47f2871e17c24b7be6d363810a25fee11e73b5c97c7c62a
diff --git a/dev-libs/level-zero/level-zero-1.16.1.ebuild b/dev-libs/level-zero/level-zero-1.16.1.ebuild
new file mode 100644
index 000000000000..2633bc02fc74
--- /dev/null
+++ b/dev-libs/level-zero/level-zero-1.16.1.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="oneAPI Level Zero headers, loader and validation layer"
+HOMEPAGE="https://github.com/oneapi-src/level-zero"
+SRC_URI="https://github.com/oneapi-src/${PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0/${PV}"
+KEYWORDS="amd64"
+
+src_prepare() {
+ # Don't hardcore -Werror
+ sed -e 's/-Werror//g' -i CMakeLists.txt || die
+
+ cmake_src_prepare
+
+ # According to upstream, release tarballs should contain this file but at least
+ # some of them do not. Fortunately it is trivial to make one ourselves.
+ echo "$(ver_cut 3)" > "${S}"/VERSION_PATCH || die
+}
diff --git a/dev-libs/level-zero/level-zero-1.16.14.ebuild b/dev-libs/level-zero/level-zero-1.16.14.ebuild
new file mode 100644
index 000000000000..4afcd285ad24
--- /dev/null
+++ b/dev-libs/level-zero/level-zero-1.16.14.ebuild
@@ -0,0 +1,27 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+DESCRIPTION="oneAPI Level Zero headers, loader and validation layer"
+HOMEPAGE="https://github.com/oneapi-src/level-zero"
+SRC_URI="https://github.com/oneapi-src/${PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0/${PV}"
+KEYWORDS="~amd64"
+
+DEPEND="dev-libs/spdlog:="
+
+src_prepare() {
+ # Don't hardcore -Werror
+ sed -e 's/-Werror//g' -i CMakeLists.txt || die
+
+ cmake_src_prepare
+
+ # According to upstream, release tarballs should contain this file but at least
+ # some of them do not. Fortunately it is trivial to make one ourselves.
+ echo "$(ver_cut 3)" > "${S}"/VERSION_PATCH || die
+}
diff --git a/dev-libs/level-zero/level-zero-1.7.4.ebuild b/dev-libs/level-zero/level-zero-1.7.4.ebuild
deleted file mode 100644
index af873cd942fa..000000000000
--- a/dev-libs/level-zero/level-zero-1.7.4.ebuild
+++ /dev/null
@@ -1,22 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit cmake
-
-DESCRIPTION="oneAPI Level Zero headers, loader and validation layer"
-HOMEPAGE="https://github.com/oneapi-src/level-zero"
-SRC_URI="https://github.com/oneapi-src/${PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64"
-
-src_prepare() {
- cmake_src_prepare
-
- # According to upstream, release tarballs should contain this file but at least
- # some of them do not. Fortunately it is trivial to make one ourselves.
- echo "$(ver_cut 3)" > "${S}"/VERSION_PATCH || die
-}
diff --git a/dev-libs/level-zero/level-zero-1.7.9.ebuild b/dev-libs/level-zero/level-zero-1.7.9.ebuild
deleted file mode 100644
index 84d0079b1c54..000000000000
--- a/dev-libs/level-zero/level-zero-1.7.9.ebuild
+++ /dev/null
@@ -1,22 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit cmake
-
-DESCRIPTION="oneAPI Level Zero headers, loader and validation layer"
-HOMEPAGE="https://github.com/oneapi-src/level-zero"
-SRC_URI="https://github.com/oneapi-src/${PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64"
-
-src_prepare() {
- cmake_src_prepare
-
- # According to upstream, release tarballs should contain this file but at least
- # some of them do not. Fortunately it is trivial to make one ourselves.
- echo "$(ver_cut 3)" > "${S}"/VERSION_PATCH || die
-}
diff --git a/dev-libs/leveldb/leveldb-1.23-r1.ebuild b/dev-libs/leveldb/leveldb-1.23-r1.ebuild
deleted file mode 100644
index 498da29525eb..000000000000
--- a/dev-libs/leveldb/leveldb-1.23-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=7
-
-inherit cmake
-
-DESCRIPTION="A fast key-value storage library written at Google"
-HOMEPAGE="https://github.com/google/leveldb"
-SRC_URI="https://github.com/google/${PN}/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0/1"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux"
-IUSE="+crc32c +snappy +tcmalloc test"
-
-RESTRICT="!test? ( test )"
-
-DEPEND="crc32c? ( dev-libs/crc32c )
- snappy? ( app-arch/snappy )
- tcmalloc? ( dev-util/google-perftools )"
-RDEPEND="${DEPEND}"
-BDEPEND="test? ( dev-cpp/gtest )"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-1.23-system-testdeps.patch
- "${FILESDIR}"/${PN}-1.23-remove-benchmark-dep.patch
-)
-
-src_configure() {
- local mycmakeargs=(
- -DBUILD_SHARED_LIBS=ON
- -DLEVELDB_BUILD_BENCHMARKS=OFF
- -DLEVELDB_BUILD_TESTS=$(usex test)
- )
- cmake_src_configure
-}
diff --git a/dev-libs/leveldb/leveldb-1.23-r2.ebuild b/dev-libs/leveldb/leveldb-1.23-r2.ebuild
deleted file mode 100644
index e2d33904d152..000000000000
--- a/dev-libs/leveldb/leveldb-1.23-r2.ebuild
+++ /dev/null
@@ -1,42 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit cmake
-
-DESCRIPTION="A fast key-value storage library written at Google"
-HOMEPAGE="https://github.com/google/leveldb"
-SRC_URI="https://github.com/google/${PN}/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0/1"
-KEYWORDS="~amd64 ~arm ~arm64 ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux"
-IUSE="+crc32c +snappy +tcmalloc test"
-
-RESTRICT="!test? ( test )"
-
-DEPEND="crc32c? ( dev-libs/crc32c )
- snappy? ( app-arch/snappy )
- tcmalloc? ( dev-util/google-perftools )"
-RDEPEND="${DEPEND}"
-BDEPEND="test? ( dev-cpp/gtest )"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-1.23-system-testdeps.patch
- "${FILESDIR}"/${PN}-1.23-remove-benchmark-dep.patch
-)
-
-src_prepare() {
- sed -e '/fno-rtti/d' -i CMakeLists.txt || die
- cmake_src_prepare
-}
-
-src_configure() {
- local mycmakeargs=(
- -DBUILD_SHARED_LIBS=ON
- -DLEVELDB_BUILD_BENCHMARKS=OFF
- -DLEVELDB_BUILD_TESTS=$(usex test)
- )
- cmake_src_configure
-}
diff --git a/dev-libs/leveldb/leveldb-1.23-r6.ebuild b/dev-libs/leveldb/leveldb-1.23-r6.ebuild
new file mode 100644
index 000000000000..c963638d5fd9
--- /dev/null
+++ b/dev-libs/leveldb/leveldb-1.23-r6.ebuild
@@ -0,0 +1,51 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+DESCRIPTION="A fast key-value storage library written at Google"
+HOMEPAGE="https://github.com/google/leveldb"
+SRC_URI="https://github.com/google/${PN}/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0/1"
+KEYWORDS="amd64 arm arm64 ~loong ~mips ppc ppc64 ~riscv ~sparc x86 ~amd64-linux ~x86-linux"
+IUSE="+snappy +tcmalloc test"
+RESTRICT="!test? ( test )"
+
+DEPEND="
+ dev-libs/crc32c
+ snappy? ( app-arch/snappy:= )
+ tcmalloc? ( dev-util/google-perftools:=[-minimal] )
+"
+RDEPEND="${DEPEND}"
+BDEPEND="test? ( dev-cpp/gtest )"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-1.23-system-testdeps.patch
+ "${FILESDIR}"/${PN}-1.23-remove-benchmark-dep.patch
+)
+
+src_prepare() {
+ sed -e '/fno-rtti/d' -i CMakeLists.txt || die
+ cmake_src_prepare
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DCMAKE_CXX_STANDARD=14 # C++14 or later required for >=gtest-1.13.0
+ -DHAVE_CRC32C=ON
+ -DLEVELDB_BUILD_BENCHMARKS=OFF
+ -DHAVE_SNAPPY=$(usex snappy)
+ -DHAVE_TCMALLOC=$(usex tcmalloc)
+ -DLEVELDB_BUILD_TESTS=$(usex test)
+ -DHAVE_CLANG_THREAD_SAFETY=OFF # adds -Werror to current build and all revdeps
+ )
+ cmake_src_configure
+}
+
+src_test() {
+ TEST_TMPDIR="${T}" TEMP="${T}" cmake_src_test
+}
diff --git a/dev-libs/leveldb/metadata.xml b/dev-libs/leveldb/metadata.xml
index e937f6bb5998..0c3bde759c88 100644
--- a/dev-libs/leveldb/metadata.xml
+++ b/dev-libs/leveldb/metadata.xml
@@ -9,7 +9,4 @@
<remote-id type="github">google/leveldb</remote-id>
<bugs-to>https://github.com/google/leveldb/issues</bugs-to>
</upstream>
- <use>
- <flag name="crc32c">Link against <pkg>dev-libs/crc32c</pkg> for accelerated CRC32C calculation</flag>
- </use>
</pkgmetadata>
diff --git a/dev-libs/libIDL/libIDL-0.8.14-r2.ebuild b/dev-libs/libIDL/libIDL-0.8.14-r2.ebuild
deleted file mode 100644
index b8846164f94a..000000000000
--- a/dev-libs/libIDL/libIDL-0.8.14-r2.ebuild
+++ /dev/null
@@ -1,35 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-GNOME_TARBALL_SUFFIX="bz2"
-
-inherit gnome2 multilib-minimal
-
-DESCRIPTION="CORBA tree builder"
-HOMEPAGE="https://www.gnome.org/"
-
-LICENSE="LGPL-2"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm ~arm64 ~hppa ~ia64 ~mips ppc ppc64 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris ~x86-winnt"
-IUSE=""
-
-RDEPEND=">=dev-libs/glib-2.44.1-r1:2[${MULTILIB_USEDEP}]"
-DEPEND="${RDEPEND}
- sys-devel/flex
- virtual/yacc
- virtual/pkgconfig
-"
-
-multilib_src_configure() {
- local ECONF_SOURCE="${S}"
- gnome2_src_configure --disable-static
-}
-
-multilib_src_compile() {
- gnome2_src_compile
-}
-
-multilib_src_install() {
- gnome2_src_install
-}
diff --git a/dev-libs/libIDL/libIDL-0.8.14-r4.ebuild b/dev-libs/libIDL/libIDL-0.8.14-r4.ebuild
new file mode 100644
index 000000000000..16db90846d23
--- /dev/null
+++ b/dev-libs/libIDL/libIDL-0.8.14-r4.ebuild
@@ -0,0 +1,21 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+GNOME_TARBALL_SUFFIX="bz2"
+inherit gnome2
+
+DESCRIPTION="CORBA tree builder"
+HOMEPAGE="https://www.gnome.org/"
+
+LICENSE="LGPL-2"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm ~arm64 ~hppa ~ia64 ~mips ppc ppc64 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
+
+RDEPEND=">=dev-libs/glib-2.44.1-r1:2"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ app-alternatives/lex
+ app-alternatives/yacc
+ virtual/pkgconfig"
diff --git a/dev-libs/libaio/Manifest b/dev-libs/libaio/Manifest
index e956615f88e3..9c1b05bdcfc7 100644
--- a/dev-libs/libaio/Manifest
+++ b/dev-libs/libaio/Manifest
@@ -1 +1 @@
-DIST libaio-0.3.112.tar.gz 46977 BLAKE2B 088f3b195a65bdc97ae2318e47af17c65259ed3208dca7bfef93c81a800602085e5b2078dbd436c740be316d0ebd923a1b3b7c0808257e2e7c7fb0f7ae1e0dba SHA512 5f984529c9f747a6c82f1e4457fc0832bb1fc299ae6e700f2ac5a8ea7b9bfc6ea1e75809728cc115a020cff6685ed1f4e38c6aeacc1ea98dfccce04dd19dafaa
+DIST libaio-0.3.113.tar.gz 49980 BLAKE2B 2379c88670310b36942563d10f29dfcba0f49391952ffe7fe18b0c917f33ef610405fe13297d1dbb34b7ad1d3066d4a32587a7fb20babba2f264cfc2ab289e57 SHA512 65c30a102433bf8386581b03fc706d84bd341be249fbdee11a032b237a7b239e8c27413504fef15e2797b1acd67f752526637005889590ecb380e2e120ab0b71
diff --git a/dev-libs/libaio/files/libaio-0.3.111-optional-werror.patch b/dev-libs/libaio/files/libaio-0.3.111-optional-werror.patch
deleted file mode 100644
index 5b6f91e56d98..000000000000
--- a/dev-libs/libaio/files/libaio-0.3.111-optional-werror.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-From ebe62b178f3e5fcde8a311e64aaffe62099204a5 Mon Sep 17 00:00:00 2001
-From: Mike Frysinger <vapier@gentoo.org>
-Date: Sun, 21 Apr 2019 12:44:26 +0200
-Subject: [PATCH] make -Werror into an optional flag
-
-This lets distros disable the flag as random errors might come up with
-different compiler flags and older/newer toolchain versions.
-
-Signed-off-by: Mike Frysinger <vapier@gentoo.org>
----
- harness/Makefile | 3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
-
-diff --git a/harness/Makefile b/harness/Makefile
-index f477737..a155c4b 100644
---- a/harness/Makefile
-+++ b/harness/Makefile
-@@ -6,7 +6,8 @@ PROGS:=$(PARTPROGS) $(EXTRAPROGS)
- HARNESS_SRCS:=main.c
- # io_queue.c
-
--CFLAGS+=-Wall -Werror -I../src -g -O2 -DPAGE_SIZE=$(shell getconf PAGESIZE)
-+CFLAGS_WERROR?=-Werror
-+CFLAGS+=-Wall $(CFLAGS_WERROR) -I../src -g -O2 -DPAGE_SIZE=$(shell getconf PAGESIZE)
- #-lpthread -lrt
-
- all: $(PROGS)
---
-2.21.0
-
diff --git a/dev-libs/libaio/files/libaio-0.3.112-respect-LDFLAGS.patch b/dev-libs/libaio/files/libaio-0.3.112-respect-LDFLAGS.patch
deleted file mode 100644
index 20e23874fb6b..000000000000
--- a/dev-libs/libaio/files/libaio-0.3.112-respect-LDFLAGS.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-We need to place LDFLAGS earlier to ensure e.g. as-needed works correctly.
---- a/src/Makefile
-+++ b/src/Makefile
-@@ -56,7 +56,7 @@ libaio.a: $(libaio_objs)
- $(RANLIB) libaio.a
-
- $(libname): $(libaio_sobjs) libaio.map
-- $(CC) $(SO_CFLAGS) -Wl,--version-script=libaio.map -Wl,-soname=$(soname) -o $@ $(libaio_sobjs) $(LINK_FLAGS)
-+ $(CC) $(SO_CFLAGS) $(LINK_FLAGS) -Wl,--version-script=libaio.map -Wl,-soname=$(soname) -o $@ $(libaio_sobjs)
-
- install: $(all_targets)
- install -D -m 644 libaio.h $(includedir)/libaio.h
-
diff --git a/dev-libs/libaio/files/libaio-0.3.113-32-bit-tests.patch b/dev-libs/libaio/files/libaio-0.3.113-32-bit-tests.patch
new file mode 100644
index 000000000000..e8ad07a5cde5
--- /dev/null
+++ b/dev-libs/libaio/files/libaio-0.3.113-32-bit-tests.patch
@@ -0,0 +1,31 @@
+https://pagure.io/libaio/pull-request/22.patch
+https://pagure.io/libaio/pull-request/22
+https://pagure.io/libaio/issue/21
+
+From b8eadc9f89e8f7ab0338eacda9f98a6caea76883 Mon Sep 17 00:00:00 2001
+From: Andreas Baumann <mail@andreasbaumann.cc>
+Date: Jun 02 2022 11:33:11 +0000
+Subject: harness: use off64_t instead of off_t in test 23.t (EINVAL on 32-bit)
+
+--- a/harness/cases/23.t
++++ b/harness/cases/23.t
+@@ -72,7 +72,7 @@ static void fail_errno(const char *format, ...)
+ static void *thrproc2(void *arg)
+ {
+ for (;;) {
+- off_t offset = 0;
++ off64_t offset = 0;
+
+ pthread_barrier_wait(&barrier);
+ if (exiting)
+@@ -92,7 +92,7 @@ static void *thrproc3(void *arg)
+ {
+ for (;;) {
+ char c;
+- off_t offset = 0;
++ off64_t offset = 0;
+
+ pthread_barrier_wait(&barrier);
+ if (exiting)
+
+
diff --git a/dev-libs/libaio/files/libaio-0.3.113-respect-LDFLAGS.patch b/dev-libs/libaio/files/libaio-0.3.113-respect-LDFLAGS.patch
new file mode 100644
index 000000000000..f9ac2037ff91
--- /dev/null
+++ b/dev-libs/libaio/files/libaio-0.3.113-respect-LDFLAGS.patch
@@ -0,0 +1,12 @@
+We need to place LDFLAGS earlier to ensure e.g. as-needed works correctly.
+--- a/src/Makefile
++++ b/src/Makefile
+@@ -56,7 +56,7 @@ libaio.a: $(libaio_objs)
+
+ $(libname): $(libaio_sobjs) libaio.map
+ $(CC) $(CFLAGS) -c struct_offsets.c
+- $(CC) $(SO_CFLAGS) -Wl,--version-script=libaio.map -Wl,-soname=$(soname) -o $@ $(libaio_sobjs) $(LINK_FLAGS)
++ $(CC) $(SO_CFLAGS) $(LINK_FLAGS) -Wl,--version-script=libaio.map -Wl,-soname=$(soname) -o $@ $(libaio_sobjs)
+
+ install: $(all_targets)
+ install -D -m 644 libaio.h $(includedir)/libaio.h
diff --git a/dev-libs/libaio/libaio-0.3.112.ebuild b/dev-libs/libaio/libaio-0.3.112.ebuild
deleted file mode 100644
index a83b08bd9822..000000000000
--- a/dev-libs/libaio/libaio-0.3.112.ebuild
+++ /dev/null
@@ -1,87 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-
-inherit multilib-minimal toolchain-funcs flag-o-matic usr-ldscript
-
-DESCRIPTION="Asynchronous input/output library that uses the kernels native interface"
-HOMEPAGE="https://pagure.io/libaio"
-if [[ "${PV}" == 9999 ]] ; then
- inherit git-r3
- EGIT_REPO_URI="https://pagure.io/libaio.git"
-else
- SRC_URI="https://releases.pagure.org/${PN}/${P}.tar.gz"
- KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux"
-fi
-LICENSE="LGPL-2"
-SLOT="0"
-IUSE="static-libs test"
-RESTRICT="!test? ( test )"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-0.3.112-cppflags.patch
- "${FILESDIR}"/${PN}-0.3.111-optional-werror.patch
- "${FILESDIR}"/${PN}-0.3.112-respect-LDFLAGS.patch
-)
-
-src_prepare() {
- default
-
- local sed_args=(
- -e "/^prefix=/s:/usr:${EPREFIX}/usr:"
- -e '/^libdir=/s:lib$:$(ABI_LIBDIR):'
- )
- if ! use static-libs; then
- sed_args+=( -e '/\tinstall .*\/libaio.a/d' )
- # Tests require the static library to be built.
- use test || sed_args+=( -e '/^all_targets +=/s/ libaio.a//' )
- fi
- sed -i "${sed_args[@]}" src/Makefile Makefile || die
-
- multilib_copy_sources
-}
-
-multilib_src_configure() {
- if use arm ; then
- # When building for thumb, we can't allow frame pointers.
- # http://crbug.com/464517
- if $(tc-getCPP) ${CFLAGS} ${CPPFLAGS} - <<<$'#ifndef __thumb__\n#error\n#endif' >&/dev/null ; then
- append-flags -fomit-frame-pointer
- fi
- fi
-}
-
-_emake() {
- CC=$(tc-getCC) \
- AR=$(tc-getAR) \
- RANLIB=$(tc-getRANLIB) \
- ABI_LIBDIR=$(get_libdir) \
- CFLAGS_WERROR= \
- emake "$@"
-}
-
-multilib_src_compile() {
- _emake
-}
-
-multilib_src_test() {
- mkdir -p testdir || die
- # 'make check' breaks with sandbox, 'make partcheck' works
- _emake partcheck prefix="${S}/src" libdir="${S}/src"
-}
-
-multilib_src_install() {
- _emake install DESTDIR="${D}"
-}
-
-multilib_src_install_all() {
- doman man/*
- dodoc ChangeLog TODO
-
- # move crap to / for multipath-tools #325355
- gen_usr_ldscript -a aio
-
- # This lib is a bare minimal shim on top of kernel syscalls.
- export QA_DT_NEEDED=$(find "${ED}" -type f -name 'libaio.so.*' -printf '/%P\n')
-}
diff --git a/dev-libs/libaio/libaio-0.3.113-r1.ebuild b/dev-libs/libaio/libaio-0.3.113-r1.ebuild
new file mode 100644
index 000000000000..0206e9375e8f
--- /dev/null
+++ b/dev-libs/libaio/libaio-0.3.113-r1.ebuild
@@ -0,0 +1,91 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit multilib-minimal toolchain-funcs flag-o-matic
+
+DESCRIPTION="Asynchronous input/output library that uses the kernels native interface"
+HOMEPAGE="https://pagure.io/libaio"
+
+if [[ ${PV} == 9999 ]] ; then
+ inherit git-r3
+ EGIT_REPO_URI="https://pagure.io/libaio.git"
+else
+ SRC_URI="https://releases.pagure.org/${PN}/${P}.tar.gz"
+ KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux"
+fi
+
+LICENSE="LGPL-2"
+SLOT="0"
+IUSE="static-libs test"
+RESTRICT="!test? ( test )"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-0.3.112-cppflags.patch
+ "${FILESDIR}"/${PN}-0.3.113-respect-LDFLAGS.patch
+ "${FILESDIR}"/${PN}-0.3.113-32-bit-tests.patch
+)
+
+src_prepare() {
+ default
+
+ local sed_args=(
+ -e "/^prefix=/s:/usr:${EPREFIX}/usr:"
+ -e '/^libdir=/s:lib$:$(ABI_LIBDIR):'
+ -e 's:-Werror ::'
+ )
+ if ! use static-libs; then
+ sed_args+=( -e '/\tinstall .*\/libaio.a/d' )
+ # Tests require the static library to be built.
+ use test || sed_args+=( -e '/^all_targets +=/s/ libaio.a//' )
+ fi
+ sed -i "${sed_args[@]}" src/Makefile harness/Makefile Makefile || die
+
+ multilib_copy_sources
+}
+
+multilib_src_configure() {
+ # Upstream aren't interested in fixing: bug #855698
+ filter-lto
+
+ if use arm ; then
+ # When building for thumb, we can't allow frame pointers.
+ # http://crbug.com/464517
+ if $(tc-getCPP) ${CFLAGS} ${CPPFLAGS} - <<<$'#ifndef __thumb__\n#error\n#endif' >&/dev/null ; then
+ append-flags -fomit-frame-pointer
+ fi
+ fi
+}
+
+_emake() {
+ CC="$(tc-getCC)" \
+ AR="$(tc-getAR)" \
+ RANLIB="$(tc-getRANLIB)" \
+ ABI_LIBDIR="$(get_libdir)" \
+ CFLAGS_WERROR= \
+ emake "$@"
+}
+
+multilib_src_compile() {
+ _emake
+}
+
+multilib_src_test() {
+ mkdir -p testdir || die
+
+ # 'make check' breaks with sandbox, 'make partcheck' works
+ _emake partcheck prefix="${S}/src" libdir="${S}/src"
+}
+
+multilib_src_install() {
+ _emake install DESTDIR="${D}"
+}
+
+multilib_src_install_all() {
+ doman man/*
+ dodoc ChangeLog TODO
+
+ # This lib is a bare minimal shim on top of kernel syscalls.
+ export QA_DT_NEEDED=$(find "${ED}" -type f -name 'libaio.so.*' -printf '/%P\n')
+}
diff --git a/dev-libs/libaio/libaio-0.3.113.ebuild b/dev-libs/libaio/libaio-0.3.113.ebuild
new file mode 100644
index 000000000000..b622dac3a81e
--- /dev/null
+++ b/dev-libs/libaio/libaio-0.3.113.ebuild
@@ -0,0 +1,92 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit multilib-minimal toolchain-funcs flag-o-matic usr-ldscript
+
+DESCRIPTION="Asynchronous input/output library that uses the kernels native interface"
+HOMEPAGE="https://pagure.io/libaio"
+if [[ ${PV} == 9999 ]] ; then
+ inherit git-r3
+ EGIT_REPO_URI="https://pagure.io/libaio.git"
+else
+ SRC_URI="https://releases.pagure.org/${PN}/${P}.tar.gz"
+ KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux"
+fi
+LICENSE="LGPL-2"
+SLOT="0"
+IUSE="static-libs test"
+RESTRICT="!test? ( test )"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-0.3.112-cppflags.patch
+ "${FILESDIR}"/${PN}-0.3.113-respect-LDFLAGS.patch
+ "${FILESDIR}"/${PN}-0.3.113-32-bit-tests.patch
+)
+
+src_prepare() {
+ default
+
+ local sed_args=(
+ -e "/^prefix=/s:/usr:${EPREFIX}/usr:"
+ -e '/^libdir=/s:lib$:$(ABI_LIBDIR):'
+ -e 's:-Werror ::'
+ )
+ if ! use static-libs; then
+ sed_args+=( -e '/\tinstall .*\/libaio.a/d' )
+ # Tests require the static library to be built.
+ use test || sed_args+=( -e '/^all_targets +=/s/ libaio.a//' )
+ fi
+ sed -i "${sed_args[@]}" src/Makefile harness/Makefile Makefile || die
+
+ multilib_copy_sources
+}
+
+multilib_src_configure() {
+ # Upstream aren't interested in fixing: bug #855698
+ filter-lto
+
+ if use arm ; then
+ # When building for thumb, we can't allow frame pointers.
+ # http://crbug.com/464517
+ if $(tc-getCPP) ${CFLAGS} ${CPPFLAGS} - <<<$'#ifndef __thumb__\n#error\n#endif' >&/dev/null ; then
+ append-flags -fomit-frame-pointer
+ fi
+ fi
+}
+
+_emake() {
+ CC="$(tc-getCC)" \
+ AR="$(tc-getAR)" \
+ RANLIB="$(tc-getRANLIB)" \
+ ABI_LIBDIR="$(get_libdir)" \
+ CFLAGS_WERROR= \
+ emake "$@"
+}
+
+multilib_src_compile() {
+ _emake
+}
+
+multilib_src_test() {
+ mkdir -p testdir || die
+
+ # 'make check' breaks with sandbox, 'make partcheck' works
+ _emake partcheck prefix="${S}/src" libdir="${S}/src"
+}
+
+multilib_src_install() {
+ _emake install DESTDIR="${D}"
+}
+
+multilib_src_install_all() {
+ doman man/*
+ dodoc ChangeLog TODO
+
+ # move to / for multipath-tools, bug #325355
+ gen_usr_ldscript -a aio
+
+ # This lib is a bare minimal shim on top of kernel syscalls.
+ export QA_DT_NEEDED=$(find "${ED}" -type f -name 'libaio.so.*' -printf '/%P\n')
+}
diff --git a/dev-libs/libaio/libaio-9999.ebuild b/dev-libs/libaio/libaio-9999.ebuild
index 232c53681871..9066780e1381 100644
--- a/dev-libs/libaio/libaio-9999.ebuild
+++ b/dev-libs/libaio/libaio-9999.ebuild
@@ -1,19 +1,21 @@
-# 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 multilib-minimal toolchain-funcs flag-o-matic usr-ldscript
+inherit multilib-minimal toolchain-funcs flag-o-matic
DESCRIPTION="Asynchronous input/output library that uses the kernels native interface"
HOMEPAGE="https://pagure.io/libaio"
-if [[ "${PV}" == 9999 ]] ; then
+
+if [[ ${PV} == 9999 ]] ; then
inherit git-r3
EGIT_REPO_URI="https://pagure.io/libaio.git"
else
SRC_URI="https://releases.pagure.org/${PN}/${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
+
LICENSE="LGPL-2"
SLOT="0"
IUSE="static-libs test"
@@ -21,8 +23,7 @@ RESTRICT="!test? ( test )"
PATCHES=(
"${FILESDIR}"/${PN}-0.3.112-cppflags.patch
- "${FILESDIR}"/${PN}-0.3.111-optional-werror.patch
- "${FILESDIR}"/${PN}-0.3.112-respect-LDFLAGS.patch
+ "${FILESDIR}"/${PN}-0.3.113-respect-LDFLAGS.patch
)
src_prepare() {
@@ -31,18 +32,22 @@ src_prepare() {
local sed_args=(
-e "/^prefix=/s:/usr:${EPREFIX}/usr:"
-e '/^libdir=/s:lib$:$(ABI_LIBDIR):'
+ -e 's:-Werror ::'
)
if ! use static-libs; then
sed_args+=( -e '/\tinstall .*\/libaio.a/d' )
# Tests require the static library to be built.
use test || sed_args+=( -e '/^all_targets +=/s/ libaio.a//' )
fi
- sed -i "${sed_args[@]}" src/Makefile Makefile || die
+ sed -i "${sed_args[@]}" src/Makefile harness/Makefile Makefile || die
multilib_copy_sources
}
multilib_src_configure() {
+ # Upstream aren't interested in fixing: bug #855698
+ filter-lto
+
if use arm ; then
# When building for thumb, we can't allow frame pointers.
# http://crbug.com/464517
@@ -53,10 +58,10 @@ multilib_src_configure() {
}
_emake() {
- CC=$(tc-getCC) \
- AR=$(tc-getAR) \
- RANLIB=$(tc-getRANLIB) \
- ABI_LIBDIR=$(get_libdir) \
+ CC="$(tc-getCC)" \
+ AR="$(tc-getAR)" \
+ RANLIB="$(tc-getRANLIB)" \
+ ABI_LIBDIR="$(get_libdir)" \
CFLAGS_WERROR= \
emake "$@"
}
@@ -67,6 +72,7 @@ multilib_src_compile() {
multilib_src_test() {
mkdir -p testdir || die
+
# 'make check' breaks with sandbox, 'make partcheck' works
_emake partcheck prefix="${S}/src" libdir="${S}/src"
}
@@ -79,9 +85,6 @@ multilib_src_install_all() {
doman man/*
dodoc ChangeLog TODO
- # move crap to / for multipath-tools #325355
- gen_usr_ldscript -a aio
-
# This lib is a bare minimal shim on top of kernel syscalls.
export QA_DT_NEEDED=$(find "${ED}" -type f -name 'libaio.so.*' -printf '/%P\n')
}
diff --git a/dev-libs/libaio/metadata.xml b/dev-libs/libaio/metadata.xml
index 8035a4003e48..9a4bc45597b3 100644
--- a/dev-libs/libaio/metadata.xml
+++ b/dev-libs/libaio/metadata.xml
@@ -5,6 +5,9 @@
<email>base-system@gentoo.org</email>
<name>Gentoo Base System</name>
</maintainer>
+ <upstream>
+ <remote-id type="cpe">cpe:/a:libaio_project:libaio</remote-id>
+ </upstream>
<longdescription>
Library to provide user-level kernel Asynchronous I/O (AIO)
support for Linux (needs kernel patches as of 2.6.12)
diff --git a/dev-libs/libansilove/Manifest b/dev-libs/libansilove/Manifest
index 277f9b6f7e6f..00486a178c58 100644
--- a/dev-libs/libansilove/Manifest
+++ b/dev-libs/libansilove/Manifest
@@ -1 +1 @@
-DIST libansilove-1.2.8.tar.gz 59695 BLAKE2B 4be4fb1f7277cc53bdc31399b429fc142cd3b87933da4c87604fe290b8697dd4c3d03a4c77bbac62648b0b8b0da509b5f7b17d2867e2e9e56eaf00674219fff3 SHA512 99df7fa0e5f2eb26a95b5073587e957378163fcab9ca828f7d6eca79dcb92463b1788285813c4fed6bfc9ee753c425fd34968e5e08999bc63fe6c4ba5939198f
+DIST libansilove-1.4.1.tar.gz 62359 BLAKE2B dd08b0167088ed312dd1f78e7e862ff4e19961670bd5e130bc584b7a4764cd3754cf9890679b8719e1ac4128b884872776e6f8ec3534f585944e791d1b3f04a6 SHA512 2e299aa0eaf1df457d26bde1a8e0d5df1670e7a48e492cd3d2600e546d365e159da5bf6dda68d4056886d01b426747380428f3575c29b4c0ff759be3790fdf77
diff --git a/dev-libs/libansilove/libansilove-1.2.8.ebuild b/dev-libs/libansilove/libansilove-1.2.8.ebuild
deleted file mode 100644
index d3dabfe51f2b..000000000000
--- a/dev-libs/libansilove/libansilove-1.2.8.ebuild
+++ /dev/null
@@ -1,23 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit cmake
-
-DESCRIPTION="library to convert ANSi and artscene related file formats into PNG images"
-HOMEPAGE="https://github.com/ansilove/libansilove"
-
-if [[ "${PV}" == *9999* ]]; then
- inherit git-r3
- EGIT_REPO_URI="https://github.com/ansilove/${PN}.git"
-else
- SRC_URI="https://github.com/ansilove/${PN}/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz"
- KEYWORDS="~amd64 ~arm ~arm64 ~riscv"
-fi
-
-LICENSE="BSD-2"
-SLOT="0"
-
-RDEPEND="media-libs/gd:2=[png]"
-DEPEND="${RDEPEND}"
diff --git a/dev-libs/libansilove/libansilove-1.4.1.ebuild b/dev-libs/libansilove/libansilove-1.4.1.ebuild
new file mode 100644
index 000000000000..28dc9621d63d
--- /dev/null
+++ b/dev-libs/libansilove/libansilove-1.4.1.ebuild
@@ -0,0 +1,23 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+DESCRIPTION="library to convert ANSi and artscene related file formats into PNG images"
+HOMEPAGE="https://github.com/ansilove/libansilove"
+
+if [[ "${PV}" == *9999* ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/ansilove/${PN}.git"
+else
+ SRC_URI="https://github.com/ansilove/${PN}/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="amd64 ~arm ~arm64 ~riscv ~x86"
+fi
+
+LICENSE="BSD-2"
+SLOT="0"
+
+RDEPEND="media-libs/gd:2=[png]"
+DEPEND="${RDEPEND}"
diff --git a/dev-libs/libansilove/libansilove-9999.ebuild b/dev-libs/libansilove/libansilove-9999.ebuild
index 7d64d5664add..dd28dd03edd7 100644
--- a/dev-libs/libansilove/libansilove-9999.ebuild
+++ b/dev-libs/libansilove/libansilove-9999.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
@@ -13,7 +13,7 @@ if [[ "${PV}" == *9999* ]]; then
EGIT_REPO_URI="https://github.com/ansilove/${PN}.git"
else
SRC_URI="https://github.com/ansilove/${PN}/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz"
- KEYWORDS="~amd64 ~riscv"
+ KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~x86"
fi
LICENSE="BSD-2"
diff --git a/dev-libs/libappindicator/Manifest b/dev-libs/libappindicator/Manifest
index dd1b5ead3d13..ba1472b33390 100644
--- a/dev-libs/libappindicator/Manifest
+++ b/dev-libs/libappindicator/Manifest
@@ -1,2 +1 @@
-DIST libappindicator-12.10.0.tar.gz 535562 BLAKE2B a05dc839aaea9fb3fda118d16aac0eb5c35e6c5095a83eb5e8a2af4902bc1da14960fbd57d3cda5d4d5d874023549ce83657a515aa9ee16a54cadfa81062d993 SHA512 317a22a23c8ed84e74207b64b2e9683992d1fb7208176637a051dfe925974f966d1cfa31e650b45eaf839ab61641dee8fbebc8a07882a09b0dd766d88b8d5b9a
DIST libappindicator_12.10.1+20.10.20200706.1.orig.tar.gz 75204 BLAKE2B ccc7909f25946413cf39275d8565afca253b3a2676272e4d3833f030a114e7be695fe958d2d99868a20d03a2b9c4a1fcd7fdfba07325b7a9f7f39879851e0366 SHA512 cc60875b1c4ab06348eece442a59a4057d7e13f25605435902242558e8dd5e66aeeee6725b9bd2662ef89052d3614dc4577ed8c233e9b84236a75e771aa67352
diff --git a/dev-libs/libappindicator/files/libappindicator-12.10.0-conditional-py-bindings.patch b/dev-libs/libappindicator/files/libappindicator-12.10.0-conditional-py-bindings.patch
deleted file mode 100644
index c916d9ba2cf6..000000000000
--- a/dev-libs/libappindicator/files/libappindicator-12.10.0-conditional-py-bindings.patch
+++ /dev/null
@@ -1,72 +0,0 @@
---- a/bindings/Makefile.am 2015-07-10 10:04:18.091199191 +0200
-+++ b/bindings/Makefile.am 2015-07-10 10:19:47.047974439 +0200
-@@ -3,8 +3,10 @@
- vala
- else
- SUBDIRS = \
-- python \
- vala
-+if HAS_PYTHON
-+SUBDIRS += python
-+endif
- endif
-
- if HAS_MONO
---- a/configure.ac 2015-07-16 13:28:41.007502838 +0200
-+++ b/configure.ac_new 2015-07-16 13:53:18.118602877 +0200
-@@ -188,25 +188,37 @@
- PYGTK_REQUIRED=2.14.0
- PYGOBJECT_REQUIRED=0.22
-
--AM_PATH_PYTHON(2.3.5)
--AM_CHECK_PYTHON_HEADERS(,[AC_MSG_ERROR(could not find Python headers)])
-+AC_ARG_ENABLE([python],
-+ AC_HELP_STRING([--enable-python], [Enable python for GTK2 build]),,
-+ [enable_python=yes])
-
--PKG_CHECK_MODULES(APPINDICATOR_PYTHON,
-+if test x"$with_gtk" = x"3" ; then
-+ enable_python=no
-+fi
-+
-+AM_CONDITIONAL(HAS_PYTHON, test x"${enable_python}" != x"no")
-+
-+if test x"$enable_python" != x"no" ; then
-+ AM_PATH_PYTHON(2.3.5)
-+ AM_CHECK_PYTHON_HEADERS(,[AC_MSG_ERROR(could not find Python headers)])
-+
-+ PKG_CHECK_MODULES(APPINDICATOR_PYTHON,
- [
- pygtk-2.0 >= $PYGTK_REQUIRED
- gtk+-2.0 >= $GTK_REQUIRED_VERSION
- pygobject-2.0 >= $PYGOBJECT_REQUIRED
- ])
-
--AC_MSG_CHECKING(for pygtk defs)
--PYGTK_DEFSDIR=`$PKG_CONFIG --variable=defsdir pygtk-2.0`
--AC_SUBST(PYGTK_DEFSDIR)
--AC_MSG_RESULT($PYGTK_DEFSDIR)
--
--AC_MSG_CHECKING(for pygtk codegen)
--PYGTK_CODEGEN="$PYTHON `$PKG_CONFIG --variable=codegendir pygtk-2.0`/codegen.py"
--AC_SUBST(PYGTK_CODEGEN)
--AC_MSG_RESULT($PYGTK_CODEGEN)
-+ AC_MSG_CHECKING(for pygtk defs)
-+ PYGTK_DEFSDIR=`$PKG_CONFIG --variable=defsdir pygtk-2.0`
-+ AC_SUBST(PYGTK_DEFSDIR)
-+ AC_MSG_RESULT($PYGTK_DEFSDIR)
-+
-+ AC_MSG_CHECKING(for pygtk codegen)
-+ PYGTK_CODEGEN="$PYTHON `$PKG_CONFIG --variable=codegendir pygtk-2.0`/codegen.py"
-+ AC_SUBST(PYGTK_CODEGEN)
-+ AC_MSG_RESULT($PYGTK_CODEGEN)
-+fi
-
- #########################
- # Check if build tests
-@@ -278,4 +290,5 @@
- Tests: $enable_tests
- Mono tests: $have_nunit
- gcov: $use_gcov
-+ Python: $enable_python
- ])
diff --git a/dev-libs/libappindicator/files/libappindicator-12.10.0-lp1867996-fix-g-signal-emit.patch b/dev-libs/libappindicator/files/libappindicator-12.10.0-lp1867996-fix-g-signal-emit.patch
deleted file mode 100644
index bea1274ed243..000000000000
--- a/dev-libs/libappindicator/files/libappindicator-12.10.0-lp1867996-fix-g-signal-emit.patch
+++ /dev/null
@@ -1,74 +0,0 @@
---- a/src/app-indicator.c 2012-07-11 13:28:34.415113869 -0400
-+++ b/src/app-indicator.c 2020-03-19 12:14:47.813191652 -0400
-@@ -443,7 +443,7 @@
- G_STRUCT_OFFSET (AppIndicatorClass, new_icon),
- NULL, NULL,
- g_cclosure_marshal_VOID__VOID,
-- G_TYPE_NONE, 0, G_TYPE_NONE);
-+ G_TYPE_NONE, 0);
-
- /**
- * AppIndicator::new-attention-icon:
-@@ -457,7 +457,7 @@
- G_STRUCT_OFFSET (AppIndicatorClass, new_attention_icon),
- NULL, NULL,
- g_cclosure_marshal_VOID__VOID,
-- G_TYPE_NONE, 0, G_TYPE_NONE);
-+ G_TYPE_NONE, 0);
-
- /**
- * AppIndicator::new-status:
-@@ -505,7 +505,7 @@
- G_STRUCT_OFFSET (AppIndicatorClass, connection_changed),
- NULL, NULL,
- g_cclosure_marshal_VOID__BOOLEAN,
-- G_TYPE_NONE, 1, G_TYPE_BOOLEAN, G_TYPE_NONE);
-+ G_TYPE_NONE, 1, G_TYPE_BOOLEAN);
-
- /**
- * AppIndicator::new-icon-theme-path:
-@@ -1175,7 +1175,7 @@
- gchar * guide = priv->label_guide != NULL ? priv->label_guide : "";
-
- g_signal_emit(G_OBJECT(self), signals[NEW_LABEL], 0,
-- label, guide, TRUE);
-+ label, guide);
- if (priv->dbus_registration != 0 && priv->connection != NULL) {
- GError * error = NULL;
-
-@@ -1490,7 +1490,7 @@
- static void
- theme_changed_cb (GtkIconTheme * theme, gpointer user_data)
- {
-- g_signal_emit (user_data, signals[NEW_ICON], 0, TRUE);
-+ g_signal_emit (user_data, signals[NEW_ICON], 0);
-
- AppIndicator * self = (AppIndicator *)user_data;
- AppIndicatorPrivate *priv = self->priv;
-@@ -1904,7 +1904,7 @@
- }
-
- if (changed) {
-- g_signal_emit (self, signals[NEW_ATTENTION_ICON], 0, TRUE);
-+ g_signal_emit (self, signals[NEW_ATTENTION_ICON], 0);
-
- if (self->priv->dbus_registration != 0 && self->priv->connection != NULL) {
- GError * error = NULL;
-@@ -1982,7 +1982,7 @@
- }
-
- if (changed) {
-- g_signal_emit (self, signals[NEW_ICON], 0, TRUE);
-+ g_signal_emit (self, signals[NEW_ICON], 0);
-
- if (self->priv->dbus_registration != 0 && self->priv->connection != NULL) {
- GError * error = NULL;
-@@ -2048,7 +2048,7 @@
-
- self->priv->icon_theme_path = g_strdup(icon_theme_path);
-
-- g_signal_emit (self, signals[NEW_ICON_THEME_PATH], 0, self->priv->icon_theme_path, TRUE);
-+ g_signal_emit (self, signals[NEW_ICON_THEME_PATH], 0, self->priv->icon_theme_path);
-
- if (self->priv->dbus_registration != 0 && self->priv->connection != NULL) {
- GError * error = NULL;
diff --git a/dev-libs/libappindicator/files/libappindicator-12.10.0-lp1867996-fix-iterate-search-path.patch b/dev-libs/libappindicator/files/libappindicator-12.10.0-lp1867996-fix-iterate-search-path.patch
deleted file mode 100644
index 34471fbfa265..000000000000
--- a/dev-libs/libappindicator/files/libappindicator-12.10.0-lp1867996-fix-iterate-search-path.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/src/app-indicator.c 2020-10-31 03:31:51.966830232 -0700
-+++ b/src/app-indicator.c 2020-10-31 03:36:04.252822972 -0700
-@@ -1606,7 +1606,7 @@ status_icon_changes (AppIndicator * self
- gint n_elements, i;
- gboolean found=FALSE;
- gtk_icon_theme_get_search_path(icon_theme, &path, &n_elements);
-- for (i=0; i< n_elements || path[i] == NULL; i++) {
-+ for (i=0; i< n_elements; i++) {
- if(g_strcmp0(path[i], self->priv->icon_theme_path) == 0) {
- found=TRUE;
- break;
diff --git a/dev-libs/libappindicator/files/libappindicator-12.10.0-vala-inherit.patch b/dev-libs/libappindicator/files/libappindicator-12.10.0-vala-inherit.patch
deleted file mode 100644
index e71cb690c15e..000000000000
--- a/dev-libs/libappindicator/files/libappindicator-12.10.0-vala-inherit.patch
+++ /dev/null
@@ -1,14 +0,0 @@
-# http://bazaar.launchpad.net/~indicator-applet-developers/libappindicator/trunk.12.10/revision/244
-=== modified file 'bindings/vala/appindicator-0.1-custom.vala'
---- a/bindings/vala/appindicator-0.1-custom.vala 2011-09-23 15:46:27 +0000
-+++ b/bindings/vala/appindicator-0.1-custom.vala 2012-10-10 23:33:35 +0000
-@@ -23,7 +23,7 @@
- */
-
- namespace AppIndicator {
-- [CCode (type_check_function = "IS_APP_INDICATOR")]
-+ [CCode (type_check_function = "IS_APP_INDICATOR", type_id = "app_indicator_get_type ()")]
- public class Indicator : GLib.Object {
- }
- }
-
diff --git a/dev-libs/libappindicator/libappindicator-12.10.0-r301.ebuild b/dev-libs/libappindicator/libappindicator-12.10.0-r301.ebuild
deleted file mode 100644
index 21db99eac660..000000000000
--- a/dev-libs/libappindicator/libappindicator-12.10.0-r301.ebuild
+++ /dev/null
@@ -1,76 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-VALA_USE_DEPEND="vapigen"
-
-inherit autotools multilib-minimal vala xdg-utils
-
-DESCRIPTION="A library to allow applications to export a menu into the Unity Menu bar"
-HOMEPAGE="https://launchpad.net/libappindicator"
-SRC_URI="https://launchpad.net/${PN}/${PV%.*}/${PV}/+download/${P}.tar.gz"
-
-LICENSE="LGPL-2.1 LGPL-3"
-SLOT="3"
-KEYWORDS="~alpha amd64 ~arm ~arm64 ~ia64 ~ppc64 x86"
-IUSE="+introspection"
-
-RDEPEND="
- >=dev-libs/dbus-glib-0.98[${MULTILIB_USEDEP}]
- >=dev-libs/glib-2.26:2[${MULTILIB_USEDEP}]
- >=dev-libs/libdbusmenu-0.6.2[gtk3,${MULTILIB_USEDEP}]
- >=dev-libs/libindicator-12.10.0:3[${MULTILIB_USEDEP}]
- >=x11-libs/gtk+-3.2:3[${MULTILIB_USEDEP},introspection?]
- introspection? ( >=dev-libs/gobject-introspection-1:= )
-"
-DEPEND="${RDEPEND}
- introspection? ( $(vala_depend) )
- dev-util/gtk-doc-am
- virtual/pkgconfig
-"
-
-PATCHES=(
- "${FILESDIR}"/${P}-conditional-py-bindings.patch
- # http://bazaar.launchpad.net/~indicator-applet-developers/libappindicator/trunk.12.10/revision/244
- "${FILESDIR}"/${P}-vala-inherit.patch
- # https://bugs.launchpad.net/archlinux/+source/libappindicator/+bug/1867996
- "${FILESDIR}"/${P}-lp1867996-fix-g-signal-emit.patch
- "${FILESDIR}"/${P}-lp1867996-fix-iterate-search-path.patch
-)
-
-src_prepare() {
- default
-
- xdg_environment_reset
- export MAKEOPTS+=" -j1" #638782
-
- # Don't use -Werror
- sed -i -e 's/ -Werror//' {src,tests}/Makefile.{am,in} || die
-
- eautoreconf
-
- # Disable MONO for now because of https://bugs.gentoo.org/382491
- sed -i -e '/^MONO_REQUIRED_VERSION/s:=.*:=9999:' configure || die
-}
-
-multilib_src_configure() {
- if multilib_is_native_abi; then
- local -x VALAC VALA_API_GEN VAPIGEN_VAPIDIR PKG_CONFIG_PATH
- use introspection && vala_src_prepare && export VALA_API_GEN="${VAPIGEN}"
- fi
-
- ECONF_SOURCE="${S}" \
- econf \
- --disable-static \
- --with-gtk=3 \
- $(multilib_native_use_enable introspection)
-}
-
-multilib_src_install() {
- emake -j1 DESTDIR="${D}" install
-}
-
-multilib_src_install_all() {
- einstalldocs
- find "${ED}" -name '*.la' -delete || die
-}
diff --git a/dev-libs/libappindicator/libappindicator-12.10.1_p20200706.ebuild b/dev-libs/libappindicator/libappindicator-12.10.1_p20200706.ebuild
index 3595bdcc5389..c21d074835d9 100644
--- a/dev-libs/libappindicator/libappindicator-12.10.1_p20200706.ebuild
+++ b/dev-libs/libappindicator/libappindicator-12.10.1_p20200706.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
@@ -15,7 +15,7 @@ SRC_URI="mirror://ubuntu/pool/main/liba/${PN}/${PN}_${MY_PV}+20.10.${PATCH_VERSI
LICENSE="LGPL-2.1 LGPL-3"
SLOT="3"
-KEYWORDS="~alpha amd64 ~arm ~arm64 ~ia64 ~ppc64 ~riscv x86"
+KEYWORDS="~alpha amd64 arm arm64 ~ia64 ~loong ppc ppc64 ~riscv ~sparc x86"
IUSE="+introspection test"
RDEPEND="
@@ -30,7 +30,7 @@ DEPEND="${RDEPEND}"
BDEPEND="
introspection? ( $(vala_depend) )
>=dev-util/gtk-doc-1.14
- >=dev-util/gtk-doc-am-1.14
+ >=dev-build/gtk-doc-am-1.14
virtual/pkgconfig
test? ( dev-util/dbus-test-runner )
"
diff --git a/dev-libs/libarcus/Manifest b/dev-libs/libarcus/Manifest
deleted file mode 100644
index e35f65c36508..000000000000
--- a/dev-libs/libarcus/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST libarcus-4.9.1.tar.gz 31967 BLAKE2B 2ee827c3f1f592ac1efa7557a2cbfa9cf9fd2d43a7be7fd803f94f7b51c9a03be1078d3df319e1bbe2bc37b6ec3a1c6f16996c4e3b6251dd06f6031dd32ad2a9 SHA512 5124b80647cb0715ad94c5eaaeac797a867319de9a8064b689783fdb28598903a69e3a61393db90f5e0b3d10ee30aed844170cab63dc4b7c70509d5129a17cdd
diff --git a/dev-libs/libarcus/files/libarcus-4.8.0-deprecated-protobuf-calls.patch b/dev-libs/libarcus/files/libarcus-4.8.0-deprecated-protobuf-calls.patch
deleted file mode 100644
index 659885d406e3..000000000000
--- a/dev-libs/libarcus/files/libarcus-4.8.0-deprecated-protobuf-calls.patch
+++ /dev/null
@@ -1,30 +0,0 @@
---- a/src/Socket_p.h
-+++ b/src/Socket_p.h
-@@ -128,9 +128,6 @@
-
- static const int keep_alive_rate = 500; //Number of milliseconds between sending keepalive packets
-
-- // This value determines when protobuf should warn about very large messages.
-- static const int message_size_warning = 400 * 1048576;
--
- // This value determines when protobuf should error out because the message is too large.
- // Due to the way Protobuf is implemented, messages large than 512MiB will cause issues.
- static const int message_size_maximum = 500 * 1048576;
-@@ -362,7 +359,7 @@
- return;
- }
-
-- uint32_t message_size = message->ByteSize();
-+ uint32_t message_size = message->ByteSizeLong();
- if(platform_socket.writeUInt32(message_size) == -1)
- {
- error(ErrorCode::SendFailedError, "Could not send message size");
-@@ -548,7 +545,7 @@
-
- google::protobuf::io::ArrayInputStream array(wire_message->data, wire_message->size);
- google::protobuf::io::CodedInputStream stream(&array);
-- stream.SetTotalBytesLimit(message_size_maximum, message_size_warning);
-+ stream.SetTotalBytesLimit(message_size_maximum);
- if(!message->ParseFromCodedStream(&stream))
- {
- error(ErrorCode::ParseFailedError, "Failed to parse message:" + std::string(wire_message->data));
diff --git a/dev-libs/libarcus/libarcus-4.9.1.ebuild b/dev-libs/libarcus/libarcus-4.9.1.ebuild
deleted file mode 100644
index ce9da7cb6141..000000000000
--- a/dev-libs/libarcus/libarcus-4.9.1.ebuild
+++ /dev/null
@@ -1,56 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{8..10} )
-
-inherit cmake python-single-r1
-
-MY_PN="libArcus"
-
-DESCRIPTION="This library facilitates communication between Cura and its backend"
-HOMEPAGE="https://github.com/Ultimaker/libArcus"
-SRC_URI="https://github.com/Ultimaker/${MY_PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="LGPL-3"
-SLOT="0/3"
-KEYWORDS="~amd64 ~arm64 ~x86"
-IUSE="examples +python static-libs"
-REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
-
-RDEPEND="${PYTHON_DEPS}
- dev-libs/protobuf:=
- $(python_gen_cond_dep '
- <dev-python/sip-5[${PYTHON_USEDEP}]
- python? ( dev-python/protobuf-python[${PYTHON_USEDEP}] )
- ')"
-DEPEND="${RDEPEND}"
-
-S="${WORKDIR}/${MY_PN}-${PV}"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-4.8.0-deprecated-protobuf-calls.patch
-)
-
-pkg_setup() {
- use python && python-single-r1_pkg_setup
-}
-
-src_prepare() {
- # Find SIP for current python version, not the latest installed
- sed -i "s/find_package(Python3 3.4 REQUIRED/find_package(Python3 ${EPYTHON##python} EXACT REQUIRED/g" \
- CMakeLists.txt cmake/FindSIP.cmake || die
-
- cmake_src_prepare
-}
-
-src_configure() {
- local mycmakeargs=(
- -DBUILD_EXAMPLES=$(usex examples ON OFF)
- -DBUILD_PYTHON=$(usex python ON OFF)
- -DBUILD_STATIC=$(usex static-libs ON OFF)
- )
-
- cmake_src_configure
-}
diff --git a/dev-libs/libarcus/metadata.xml b/dev-libs/libarcus/metadata.xml
deleted file mode 100644
index 9a422ca8d704..000000000000
--- a/dev-libs/libarcus/metadata.xml
+++ /dev/null
@@ -1,36 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="project">
- <email>3dprint@gentoo.org</email>
- <name>Gentoo 3D Printer Project</name>
- </maintainer>
- <maintainer type="person">
- <email>alexxy@gentoo.org</email>
- <name>Alexey Shvetsov</name>
- </maintainer>
- <maintainer type="project" proxied="proxy">
- <email>proxy-maint@gentoo.org</email>
- <name>Proxy Maintainers</name>
- </maintainer>
- <maintainer type="person" proxied="yes">
- <email>mathy@vanvoorden.be</email>
- <name>Mathy Vanvoorden</name>
- </maintainer>
- <maintainer type="person" proxied="yes">
- <email>perlovka@gmail.com</email>
- <name>Michael Perlov</name>
- </maintainer>
- <longdescription>
- This library contains C++ code and Python3 bindings for creating a socket in a thread and using this socket to
- send and receive messages based on the Protocol Buffers library.
- It is designed to facilitate the communication between Cura and its backend and similar code.
- </longdescription>
- <slots>
- <subslots>soname major version number</subslots>
- </slots>
- <upstream>
- <bugs-to>https://github.com/Ultimaker/libArcus/issues</bugs-to>
- <remote-id type="github">Ultimaker/libArcus</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/dev-libs/libassuan/Manifest b/dev-libs/libassuan/Manifest
index 29c8687e0d4e..368e73babfb3 100644
--- a/dev-libs/libassuan/Manifest
+++ b/dev-libs/libassuan/Manifest
@@ -1,3 +1,4 @@
-DIST libassuan-2.5.3.tar.bz2 572348 BLAKE2B ae3a5a9a03e85d62cf87271cd4a0718a2b89a4f90ea814837913e4b2bb6e5af9746e766d99685cc0cc3a801efaee597e491a2bc03d42ac26059580ea4680fd7a SHA512 e7ccb651ea75b07b2e687d48d86d0ab83cba8e2af7f30da2aec794808e13e6ec93f21d607db50d3431f1c23cb3a07a2793b71170e69fa2f5a82cffb81961f617
-DIST libassuan-2.5.4.tar.bz2 574039 BLAKE2B 2eec42c47840741a4726fc35c3ed04300e5fbcd37f808b121534aeaa04d0d0f609a30ad48cfbe33a81ee4b2ebbb822b9a48a5c602268f1b802bf5d7d19d72e9c SHA512 764993d5311c24f0c0f970016e903e1a16783a2050c42072dbc1bc4f350f119e53b0be17ed6df25a0086bc9f8c25ee4f3134330577968480997263f95e05594f
-DIST libassuan-2.5.5.tar.bz2 572263 BLAKE2B 24952e97c757b97c387ab4c2c4bf7b040f2874e9326c129805c7f5326fa14d80e083b0842e336a635531a2c8d4a66d428c816bae6b175f1c4518add1ffa3554d SHA512 70117f77aa43bbbe0ed28da5ef23834c026780a74076a92ec775e30f851badb423e9a2cb9e8d142c94e4f6f8a794988c1b788fd4bd2271e562071adf0ab16403
+DIST libassuan-2.5.6.tar.bz2 577012 BLAKE2B 462af1eab69e157f65f8134a492cde01dd1e0ee00609f2c2585e742fb9c5532b3fd96054b4fb7449e305690f70aa7a120085db42e2de2e3b0ef8b1603e7e5846 SHA512 dcca942d222a2c226a7e34ba7988ee0c3c55bd6032166eb472caf2053db89aeeea7a40e93d8c2887c7ee73c5f838e8b0725e8cfb595accc1606646559362f7ee
+DIST libassuan-2.5.6.tar.bz2.sig 119 BLAKE2B 379c6566b2369550bfc4b4616fb71ebdbd9947c183488e2af2261db79be3fc34c5691918f3c560b46c20e02e1aa46c44ee31c1fa3727d191f5801831d34e6721 SHA512 c7765530618128a12f1118278d35d8c33d32b560073dbd691cb92c0d94b75fd5fde65cd3f5db717ddfb907b266fdddc1e7a1e2b15b1b89b7470941dbde8162e3
+DIST libassuan-2.5.7.tar.bz2 605076 BLAKE2B 67cb01b7ed9be13a52a37db439666bb8eb709cc63204fe250ff57854459aa8b36655479e887b285fe9ad799c49e66f176f971ab3a871e114cfb217a1f2968d16 SHA512 ca33bd0325bbebccb63b6a84cc0aa5c85b25c6275a68df83aeb3f3729b2cd38220198a941c3479bd461f16b7ddb6b558c0664697ca3153c7fb430544303d773f
+DIST libassuan-2.5.7.tar.bz2.sig 238 BLAKE2B c30005d67cac32857a0dd59dc8a2b9d0d166c6cd6a413742a1d3117c050e9b1b2b96cc4c470fc3e5693ce4c5a422e2cb008b40ef7883a7d039dc9a2234229265 SHA512 b7a798da0e1252acecf8b58b9cc30a5f10fa432d2581c190e4fb064fcf10e9a1b9e07e86c73ee16f0f25ad0e782fac21142875a06487f612268be7f1a09cc1a9
diff --git a/dev-libs/libassuan/libassuan-2.5.3.ebuild b/dev-libs/libassuan/libassuan-2.5.3.ebuild
deleted file mode 100644
index 345ce33518f8..000000000000
--- a/dev-libs/libassuan/libassuan-2.5.3.ebuild
+++ /dev/null
@@ -1,48 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit libtool
-
-DESCRIPTION="IPC library used by GnuPG and GPGME"
-HOMEPAGE="https://www.gnupg.org/related_software/libassuan/index.en.html"
-SRC_URI="mirror://gnupg/${PN}/${P}.tar.bz2"
-
-LICENSE="GPL-3 LGPL-2.1"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-
-# Note: On each bump, update dep bounds on each version from configure.ac!
-RDEPEND=">=dev-libs/libgpg-error-1.8"
-DEPEND="${RDEPEND}"
-
-src_prepare() {
- default
-
- if [[ ${CHOST} == *-solaris* ]] ; then
- elibtoolize
-
- # fix standards conflict
- sed -i \
- -e '/_XOPEN_SOURCE/s/500/600/' \
- -e 's/_XOPEN_SOURCE_EXTENDED/_NO&/' \
- -e 's/__EXTENSIONS__/_NO&/' \
- configure || die
- fi
-}
-
-src_configure() {
- local myeconfargs=(
- --disable-static
- GPG_ERROR_CONFIG="${ESYSROOT}/usr/bin/${CHOST}-gpg-error-config"
- $("${S}/configure" --help | grep -o -- '--without-.*-prefix')
- )
- econf "${myeconfargs[@]}"
-}
-
-src_install() {
- default
- # ppl need to use libassuan-config for --cflags and --libs
- find "${ED}" -type f -name '*.la' -delete || die
-}
diff --git a/dev-libs/libassuan/libassuan-2.5.4.ebuild b/dev-libs/libassuan/libassuan-2.5.4.ebuild
deleted file mode 100644
index bdc2724f1d1c..000000000000
--- a/dev-libs/libassuan/libassuan-2.5.4.ebuild
+++ /dev/null
@@ -1,48 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit libtool
-
-DESCRIPTION="IPC library used by GnuPG and GPGME"
-HOMEPAGE="https://www.gnupg.org/related_software/libassuan/index.en.html"
-SRC_URI="mirror://gnupg/${PN}/${P}.tar.bz2"
-
-LICENSE="GPL-3 LGPL-2.1"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-
-# Note: On each bump, update dep bounds on each version from configure.ac!
-RDEPEND=">=dev-libs/libgpg-error-1.17"
-DEPEND="${RDEPEND}"
-
-src_prepare() {
- default
-
- if [[ ${CHOST} == *-solaris* ]] ; then
- elibtoolize
-
- # fix standards conflict
- sed -i \
- -e '/_XOPEN_SOURCE/s/500/600/' \
- -e 's/_XOPEN_SOURCE_EXTENDED/_NO&/' \
- -e 's/__EXTENSIONS__/_NO&/' \
- configure || die
- fi
-}
-
-src_configure() {
- local myeconfargs=(
- --disable-static
- GPG_ERROR_CONFIG="${ESYSROOT}/usr/bin/${CHOST}-gpg-error-config"
- $("${S}/configure" --help | grep -o -- '--without-.*-prefix')
- )
- econf "${myeconfargs[@]}"
-}
-
-src_install() {
- default
- # ppl need to use libassuan-config for --cflags and --libs
- find "${ED}" -type f -name '*.la' -delete || die
-}
diff --git a/dev-libs/libassuan/libassuan-2.5.5.ebuild b/dev-libs/libassuan/libassuan-2.5.5.ebuild
deleted file mode 100644
index 684fa24b72a5..000000000000
--- a/dev-libs/libassuan/libassuan-2.5.5.ebuild
+++ /dev/null
@@ -1,48 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit libtool
-
-DESCRIPTION="IPC library used by GnuPG and GPGME"
-HOMEPAGE="https://www.gnupg.org/related_software/libassuan/index.en.html"
-SRC_URI="mirror://gnupg/${PN}/${P}.tar.bz2"
-
-LICENSE="GPL-3 LGPL-2.1"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-
-# Note: On each bump, update dep bounds on each version from configure.ac!
-RDEPEND=">=dev-libs/libgpg-error-1.17"
-DEPEND="${RDEPEND}"
-
-src_prepare() {
- default
-
- if [[ ${CHOST} == *-solaris* ]] ; then
- elibtoolize
-
- # fix standards conflict
- sed -i \
- -e '/_XOPEN_SOURCE/s/500/600/' \
- -e 's/_XOPEN_SOURCE_EXTENDED/_NO&/' \
- -e 's/__EXTENSIONS__/_NO&/' \
- configure || die
- fi
-}
-
-src_configure() {
- local myeconfargs=(
- --disable-static
- GPG_ERROR_CONFIG="${ESYSROOT}/usr/bin/${CHOST}-gpg-error-config"
- $("${S}/configure" --help | grep -o -- '--without-.*-prefix')
- )
- econf "${myeconfargs[@]}"
-}
-
-src_install() {
- default
- # ppl need to use libassuan-config for --cflags and --libs
- find "${ED}" -type f -name '*.la' -delete || die
-}
diff --git a/dev-libs/libassuan/libassuan-2.5.6.ebuild b/dev-libs/libassuan/libassuan-2.5.6.ebuild
new file mode 100644
index 000000000000..b6dc422ad71e
--- /dev/null
+++ b/dev-libs/libassuan/libassuan-2.5.6.ebuild
@@ -0,0 +1,56 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# Maintainers should:
+# 1. Join the "Gentoo" project at https://dev.gnupg.org/project/view/27/
+# 2. Subscribe to release tasks like https://dev.gnupg.org/T6159
+# (find the one for the current release then subscribe to it +
+# any subsequent ones linked within so you're covered for a while.)
+
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/gnupg.asc
+inherit libtool verify-sig
+
+DESCRIPTION="IPC library used by GnuPG and GPGME"
+HOMEPAGE="https://www.gnupg.org/related_software/libassuan/index.en.html"
+SRC_URI="mirror://gnupg/${PN}/${P}.tar.bz2"
+SRC_URI+=" verify-sig? ( mirror://gnupg/${PN}/${P}.tar.bz2.sig )"
+
+LICENSE="GPL-3 LGPL-2.1"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+
+# Note: On each bump, update dep bounds on each version from configure.ac!
+RDEPEND=">=dev-libs/libgpg-error-1.33"
+DEPEND="${RDEPEND}"
+BDEPEND="verify-sig? ( sec-keys/openpgp-keys-gnupg )"
+
+src_prepare() {
+ default
+
+ if [[ ${CHOST} == *-solaris* ]] ; then
+ elibtoolize
+
+ # fix standards conflict
+ sed -i \
+ -e '/_XOPEN_SOURCE/s/500/600/' \
+ -e 's/_XOPEN_SOURCE_EXTENDED/_NO&/' \
+ -e 's/__EXTENSIONS__/_NO&/' \
+ configure || die
+ fi
+}
+
+src_configure() {
+ local myeconfargs=(
+ GPG_ERROR_CONFIG="${ESYSROOT}/usr/bin/${CHOST}-gpg-error-config"
+ $("${S}/configure" --help | grep -o -- '--without-.*-prefix')
+ )
+ econf "${myeconfargs[@]}"
+}
+
+src_install() {
+ default
+ # ppl need to use libassuan-config for --cflags and --libs
+ find "${ED}" -type f -name '*.la' -delete || die
+}
diff --git a/dev-libs/libassuan/libassuan-2.5.7.ebuild b/dev-libs/libassuan/libassuan-2.5.7.ebuild
new file mode 100644
index 000000000000..9ad4f60dc2ee
--- /dev/null
+++ b/dev-libs/libassuan/libassuan-2.5.7.ebuild
@@ -0,0 +1,56 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# Maintainers should:
+# 1. Join the "Gentoo" project at https://dev.gnupg.org/project/view/27/
+# 2. Subscribe to release tasks like https://dev.gnupg.org/T6159
+# (find the one for the current release then subscribe to it +
+# any subsequent ones linked within so you're covered for a while.)
+
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/gnupg.asc
+inherit libtool verify-sig
+
+DESCRIPTION="IPC library used by GnuPG and GPGME"
+HOMEPAGE="https://www.gnupg.org/related_software/libassuan/index.en.html"
+SRC_URI="mirror://gnupg/${PN}/${P}.tar.bz2"
+SRC_URI+=" verify-sig? ( mirror://gnupg/${PN}/${P}.tar.bz2.sig )"
+
+LICENSE="GPL-3 LGPL-2.1"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+
+# Note: On each bump, update dep bounds on each version from configure.ac!
+RDEPEND=">=dev-libs/libgpg-error-1.33"
+DEPEND="${RDEPEND}"
+BDEPEND="verify-sig? ( sec-keys/openpgp-keys-gnupg )"
+
+src_prepare() {
+ default
+
+ if [[ ${CHOST} == *-solaris* ]] ; then
+ elibtoolize
+
+ # fix standards conflict
+ sed -i \
+ -e '/_XOPEN_SOURCE/s/500/600/' \
+ -e 's/_XOPEN_SOURCE_EXTENDED/_NO&/' \
+ -e 's/__EXTENSIONS__/_NO&/' \
+ configure || die
+ fi
+}
+
+src_configure() {
+ local myeconfargs=(
+ GPG_ERROR_CONFIG="${ESYSROOT}/usr/bin/${CHOST}-gpg-error-config"
+ $("${S}/configure" --help | grep -o -- '--without-.*-prefix')
+ )
+ econf "${myeconfargs[@]}"
+}
+
+src_install() {
+ default
+ # ppl need to use libassuan-config for --cflags and --libs
+ find "${ED}" -type f -name '*.la' -delete || die
+}
diff --git a/dev-libs/libassuan/metadata.xml b/dev-libs/libassuan/metadata.xml
index 7f2a3782fd3d..2a5683490ac8 100644
--- a/dev-libs/libassuan/metadata.xml
+++ b/dev-libs/libassuan/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="person">
- <name>Lars Wendler</name>
- <email>polynomial-c@gentoo.org</email>
-</maintainer>
-<longdescription>
+ <maintainer type="project">
+ <email>base-system@gentoo.org</email>
+ <name>Gentoo Base System</name>
+ </maintainer>
+ <longdescription>
In an ideal world, Assuan is irrelevant. Assuan's primary use is to
allow a client to interact with a non-persistent server. Using Assuan,
this is accomplished by forking a subprocess and communicating with it
@@ -15,5 +15,5 @@ across several transactions: not only is there a penalty for an
increased number of context switches, but also a significant amount of
data is MEMCPYed from the client to a file descriptor and from the file
descriptor to the server.
-</longdescription>
+ </longdescription>
</pkgmetadata>
diff --git a/dev-libs/libatasmart/libatasmart-0.19_p5.ebuild b/dev-libs/libatasmart/libatasmart-0.19_p5.ebuild
index b25a58b51f21..488991a76989 100644
--- a/dev-libs/libatasmart/libatasmart-0.19_p5.ebuild
+++ b/dev-libs/libatasmart/libatasmart-0.19_p5.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
@@ -12,7 +12,7 @@ SRC_URI="mirror://debian/pool/main/liba/${PN}/${PN}_${PV/_p*}.orig.tar.xz
LICENSE="LGPL-2.1"
SLOT="0/4"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ppc ppc64 ~riscv sparc x86"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv sparc x86"
IUSE="static-libs"
RDEPEND="virtual/libudev:="
diff --git a/dev-libs/libatomic_ops/Manifest b/dev-libs/libatomic_ops/Manifest
index 042455732fad..4de74f9694cb 100644
--- a/dev-libs/libatomic_ops/Manifest
+++ b/dev-libs/libatomic_ops/Manifest
@@ -1 +1 @@
-DIST libatomic_ops-7.6.12.tar.gz 506313 BLAKE2B 8f80773390479a36e06447594c8558ed337eef5b18ae0b0779722647dcde49b61b23e656acbc935714245d80e40c5cde1c164f0524a97dcc53972051d5891239 SHA512 bbf98a38a80c8fe6b7eab773967edc55b8d48be32b36ed827fb835ee3dcd96d5ec1dc97149714e015e93a0a5b9fc03595797663fdb5a0f673869ea8bfe640df5
+DIST libatomic_ops-7.8.2.tar.gz 524637 BLAKE2B 1faaedc52106b9d240085beb364a257de28ba5dba4141d2b6a7660a93c59ed7b4e1371ea4a8212b32a11805a15992c7b5ba4e748b2d194e8cc06fe20d91d5e14 SHA512 0559087c99b941990f189ea4ed5b3b371faf086bc1d517da6b878ba609c200eef24358768fd4361900101cdb474e28cea8408eb0b0222d23ef3154ce77f6acc0
diff --git a/dev-libs/libatomic_ops/libatomic_ops-7.6.12.ebuild b/dev-libs/libatomic_ops/libatomic_ops-7.6.12.ebuild
deleted file mode 100644
index 9216699224d4..000000000000
--- a/dev-libs/libatomic_ops/libatomic_ops-7.6.12.ebuild
+++ /dev/null
@@ -1,25 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit multilib-minimal
-
-DESCRIPTION="Implementation for atomic memory update operations"
-HOMEPAGE="https://github.com/ivmai/libatomic_ops/"
-SRC_URI="https://github.com/ivmai/${PN}/releases/download/v${PV}/${P}.tar.gz"
-
-LICENSE="MIT boehm-gc GPL-2+"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-
-multilib_src_configure() {
- ECONF_SOURCE="${S}" econf \
- --disable-static \
- --enable-shared
-}
-
-multilib_src_install() {
- default
- find "${ED}" -name '*.la' -delete || die
-}
diff --git a/dev-libs/libatomic_ops/libatomic_ops-7.8.2.ebuild b/dev-libs/libatomic_ops/libatomic_ops-7.8.2.ebuild
new file mode 100644
index 000000000000..594b3890a0dd
--- /dev/null
+++ b/dev-libs/libatomic_ops/libatomic_ops-7.8.2.ebuild
@@ -0,0 +1,31 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit libtool multilib-minimal
+
+DESCRIPTION="Implementation for atomic memory update operations"
+HOMEPAGE="https://github.com/ivmai/libatomic_ops"
+SRC_URI="https://github.com/ivmai/libatomic_ops/releases/download/v${PV}/${P}.tar.gz"
+
+# See doc/LICENSING.txt
+LICENSE="MIT boehm-gc GPL-2+"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+
+src_prepare() {
+ default
+ # ensure LTO patches are applied
+ elibtoolize
+}
+
+multilib_src_configure() {
+ ECONF_SOURCE="${S}" econf --enable-shared
+}
+
+multilib_src_install() {
+ default
+
+ find "${ED}" -name '*.la' -delete || die
+}
diff --git a/dev-libs/libax25/Manifest b/dev-libs/libax25/Manifest
index 650416feb4de..8a06ae2c6e3f 100644
--- a/dev-libs/libax25/Manifest
+++ b/dev-libs/libax25/Manifest
@@ -1 +1 @@
-DIST libax25-0.0.12-rc5.tar.gz 360123 BLAKE2B 55b1797977e5bb508aed67b43665cefdb7b296c6f2fc5d68f2e59e20da4833cd19030c1fa6deee4d463135a5eb4a944c2c779a47570e5cbfb10fd640f8c00bf2 SHA512 01aaf1ef5be7a347ec702f890e26e7cad02eff1cc8b4932fe9452cab8012bb0d7cd25f74871d83f188f22a3a5fd600ec57131ddb540a6c746908bf47e42f958f
+DIST libax25-0.0.12-rc5.tar.xz 247072 BLAKE2B 9d39e1fc5489e9bdd78b8f5a3eb033e7561922a44de8da4c08b14a890c1d2bf24e5ee63dbc3cce4ec8195ac857948a262e40bf379341e24bfb8f1d8a4c391ab4 SHA512 2e5b46b065763a47ee1d92866ee108390661adbd0ac9ececa5abf3e34ebf3bc9c8a1d082b16fc89e0bbc868b551dd894991c687f4c753b67e533e81b80dd1da0
diff --git a/dev-libs/libax25/files/libax25-0.0.12_rc5-musl.patch b/dev-libs/libax25/files/libax25-0.0.12_rc5-musl.patch
new file mode 100644
index 000000000000..2507d25ea83b
--- /dev/null
+++ b/dev-libs/libax25/files/libax25-0.0.12_rc5-musl.patch
@@ -0,0 +1,23 @@
+As MUSL libc does not provide netax25/ax25.h, netrom/netrom.h and
+netrose/rose.h instatll substitute files uncondiditionally. See bug #907465
+
+diff --git a/Makefile.am b/Makefile.am
+index 0ff5f37..517e084 100644
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -7,15 +7,9 @@ libax25ioincludedir = $(includedir)
+ AM_CPPFLAGS = -DAX25_SYSCONFDIR=\""$(sysconfdir)/ax25/"\" \
+ -DAX25_LOCALSTATEDIR=\""$(localstatedir)/ax25/"\"
+
+-if !AX25_H
+ USE_LIBAX25_AX25_H = netax25/ax25.h
+-endif
+-if !NETROM_H
+ USE_LIBAX25_NETROM_H = netrom/netrom.h
+-endif
+-if !ROSE_H
+ USE_LIBAX25_ROSE_H = netrose/rose.h
+-endif
+
+ nobase_libax25include_HEADERS = \
+ netax25/axlib.h \
diff --git a/dev-libs/libax25/libax25-0.0.12_rc5.ebuild b/dev-libs/libax25/libax25-0.0.12_rc5.ebuild
index 8e5aa531773e..3eea73794bff 100644
--- a/dev-libs/libax25/libax25-0.0.12_rc5.ebuild
+++ b/dev-libs/libax25/libax25-0.0.12_rc5.ebuild
@@ -1,13 +1,15 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
MY_P=${PN}-$(ver_rs 3 '-')
+inherit autotools
+
DESCRIPTION="AX.25 library for hamradio applications"
HOMEPAGE="http://www.linux-ax25.org/"
-SRC_URI="http://www.linux-ax25.org/pub/${PN}/${MY_P}.tar.gz"
+SRC_URI="http://www.linux-ax25.org/pub/${PN}/${MY_P}.tar.xz"
LICENSE="LGPL-2+"
SLOT="0"
@@ -16,6 +18,12 @@ IUSE="static-libs"
S=${WORKDIR}/${MY_P}
+src_prepare() {
+ use elibc_musl && eapply "${FILESDIR}/${P}-musl.patch"
+ eapply_user
+ eautoreconf
+}
+
src_configure() {
econf $(use_enable static-libs static)
}
diff --git a/dev-libs/libayatana-appindicator/Manifest b/dev-libs/libayatana-appindicator/Manifest
new file mode 100644
index 000000000000..79449f152a58
--- /dev/null
+++ b/dev-libs/libayatana-appindicator/Manifest
@@ -0,0 +1,2 @@
+DIST libayatana-appindicator-0.5.91.tar.gz 158269 BLAKE2B e1df60ce2b3ff5712cabf627a54e0767dcbc94d4e11c96a18fd20079642e6d033bfdd9e57d12235c72075cef1d711f5b042fb0a6282a6120018c8cdcc3b4033c SHA512 cc8631814c881640bf2de91a43205c3405fd1fefcd7d58f259171d0926bf7ab08f9361076f4eea1dd8876e8931f9c9230babd3a328f34dc298bc9c4ff004f8ee
+DIST libayatana-appindicator-0.5.92.tar.gz 159271 BLAKE2B 22edc6060daa1a225d025c326853493eca05809e8bff8b42a010b17ac8cc5684f4ff33cd24412230ddeaa44ac1b323f9c92f9249de44453ea243b2bb0cb54e0a SHA512 69f4eeeae55665608441f31bf354b22f393e25b3ed46873b98d0231960b4f2fb38c7902c559289f086b018b9596a634f2b2ee97b7ed12ded2a7a790c5d476f9f
diff --git a/dev-libs/libayatana-appindicator/libayatana-appindicator-0.5.91.ebuild b/dev-libs/libayatana-appindicator/libayatana-appindicator-0.5.91.ebuild
new file mode 100644
index 000000000000..f3da2257bf37
--- /dev/null
+++ b/dev-libs/libayatana-appindicator/libayatana-appindicator-0.5.91.ebuild
@@ -0,0 +1,51 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+VALA_USE_DEPEND="vapigen"
+
+inherit cmake vala virtualx
+
+DESCRIPTION="Ayatana Application Indicators (Shared Library)"
+HOMEPAGE="https://github.com/AyatanaIndicators/libayatana-appindicator"
+SRC_URI="https://github.com/AyatanaIndicators/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-3 LGPL-2 LGPL-3"
+SLOT="0"
+KEYWORDS="amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv x86"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ >=dev-libs/glib-2.37:2
+ >=x11-libs/gtk+-3.24:3[introspection]
+ dev-libs/libdbusmenu[gtk3]
+ >=dev-libs/libayatana-indicator-0.8.4
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ $(vala_depend)
+ test? ( dev-util/dbus-test-runner )
+"
+
+src_prepare() {
+ vala_setup
+ cmake_src_prepare
+}
+
+src_configure() {
+ local mycmakeargs+=(
+ -DVALA_COMPILER="${VALAC}"
+ -DVAPI_GEN="${VAPIGEN}"
+ -DENABLE_TESTS="$(usex test)"
+ -DENABLE_GTKDOC=OFF
+ -DENABLE_BINDINGS_MONO=OFF
+ -DFLAVOUR_GTK2=OFF
+ -DFLAVOUR_GTK3=ON
+ )
+ cmake_src_configure
+}
+
+src_test() {
+ virtx cmake_src_test
+}
diff --git a/dev-libs/libayatana-appindicator/libayatana-appindicator-0.5.92.ebuild b/dev-libs/libayatana-appindicator/libayatana-appindicator-0.5.92.ebuild
new file mode 100644
index 000000000000..d329725ff139
--- /dev/null
+++ b/dev-libs/libayatana-appindicator/libayatana-appindicator-0.5.92.ebuild
@@ -0,0 +1,51 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+VALA_USE_DEPEND="vapigen"
+
+inherit cmake vala virtualx
+
+DESCRIPTION="Ayatana Application Indicators (Shared Library)"
+HOMEPAGE="https://github.com/AyatanaIndicators/libayatana-appindicator"
+SRC_URI="https://github.com/AyatanaIndicators/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-3 LGPL-2 LGPL-3"
+SLOT="0"
+KEYWORDS="amd64 ~arm arm64 ~loong ppc ppc64 ~riscv ~sparc x86"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ >=dev-libs/glib-2.37:2
+ >=x11-libs/gtk+-3.24:3[introspection]
+ dev-libs/libdbusmenu[gtk3]
+ >=dev-libs/libayatana-indicator-0.8.4
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ $(vala_depend)
+ test? ( dev-util/dbus-test-runner )
+"
+
+src_prepare() {
+ vala_setup
+ cmake_src_prepare
+}
+
+src_configure() {
+ local mycmakeargs+=(
+ -DVALA_COMPILER="${VALAC}"
+ -DVAPI_GEN="${VAPIGEN}"
+ -DENABLE_TESTS="$(usex test)"
+ -DENABLE_GTKDOC=OFF
+ -DENABLE_BINDINGS_MONO=OFF
+ -DFLAVOUR_GTK2=OFF
+ -DFLAVOUR_GTK3=ON
+ )
+ cmake_src_configure
+}
+
+src_test() {
+ virtx cmake_src_test
+}
diff --git a/dev-libs/libayatana-appindicator/metadata.xml b/dev-libs/libayatana-appindicator/metadata.xml
new file mode 100644
index 000000000000..0ba2545e6bf4
--- /dev/null
+++ b/dev-libs/libayatana-appindicator/metadata.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>pacho@gentoo.org</email>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">AyatanaIndicators/libayatana-appindicator</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/libayatana-indicator/Manifest b/dev-libs/libayatana-indicator/Manifest
new file mode 100644
index 000000000000..ddfbc4da30ca
--- /dev/null
+++ b/dev-libs/libayatana-indicator/Manifest
@@ -0,0 +1 @@
+DIST libayatana-indicator-0.9.3.tar.gz 149890 BLAKE2B c15ec72218814d9a33ab8cf654222ff7e05980de5cb175904041973d1ef9506c56a89e5fa8d41c1eaa2367f93a57e056010e23b87c2533cc7e731fbdfb23ef85 SHA512 cc2dd1e304e657cd8497d3107e7993122db6bbcf28c25dc1b41b250831cb76507226b5673abbd65bc954cbd5c3851df5528135df45d1cbb3de85c0c87c279452
diff --git a/dev-libs/libayatana-indicator/libayatana-indicator-0.9.3.ebuild b/dev-libs/libayatana-indicator/libayatana-indicator-0.9.3.ebuild
new file mode 100644
index 000000000000..1780035a631f
--- /dev/null
+++ b/dev-libs/libayatana-indicator/libayatana-indicator-0.9.3.ebuild
@@ -0,0 +1,50 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+VALA_USE_DEPEND="vapigen"
+
+inherit cmake vala virtualx
+
+DESCRIPTION="Ayatana Application Indicators (Shared Library)"
+HOMEPAGE="https://github.com/AyatanaIndicators/libayatana-indicator"
+SRC_URI="https://github.com/AyatanaIndicators/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="3"
+KEYWORDS="~alpha amd64 arm arm64 ~loong ppc ppc64 ~riscv ~sparc x86"
+
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ dev-libs/dbus-glib
+ >=dev-libs/glib-2.58:2
+ >=x11-libs/gtk+-3.24:3[introspection]
+ >=dev-libs/ayatana-ido-0.8.2
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ $(vala_depend)
+ test? ( dev-util/dbus-test-runner )
+"
+
+src_prepare() {
+ cmake_src_prepare
+ vala_setup
+}
+
+src_configure() {
+ local mycmakeargs+=(
+ -DFLAVOUR_GTK2=OFF
+ -DFLAVOUR_GTK3=ON
+ -DENABLE_IDO=ON
+ -DENABLE_LOADER=ON
+ -DENABLE_TESTS="$(usex test)"
+ )
+ cmake_src_configure
+}
+
+src_test() {
+ virtx cmake_src_test
+}
diff --git a/dev-libs/libayatana-indicator/metadata.xml b/dev-libs/libayatana-indicator/metadata.xml
new file mode 100644
index 000000000000..91662a44cc6d
--- /dev/null
+++ b/dev-libs/libayatana-indicator/metadata.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>pacho@gentoo.org</email>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">AyatanaIndicators/libayatana-indicator</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/libb64/Manifest b/dev-libs/libb64/Manifest
index de017bb98a03..fba6447a9e17 100644
--- a/dev-libs/libb64/Manifest
+++ b/dev-libs/libb64/Manifest
@@ -1,2 +1 @@
-DIST libb64-1.2.1.zip 23316 BLAKE2B 1e3aa08679e363d61b7a0a77bfe909c0fc80411bf2c7b0f35e7a8a692a25585a37303ea0f010600c0e07e0419f016fe60f88851eebb26d044e7dbaf3d02726a0 SHA512 8b1e5c8086a38be82471b5f37393f3f236c923f4a2bb737209a297cbab32a9f0a5c4af4ac912c695f0f7d8ff9458d97ce0d01092fbacbfe7181e4fd816e2153d
DIST libb64-2.0.0.1.tar.gz 15766 BLAKE2B 45e3cab768cae39758d146cd84b72a7644592e55553be9c11ed1e83c3acbf4ed05cd00bbd59371b9e71cd53012149f25c371769afba7fbdaafdf561a297247c8 SHA512 72c2fd4c81575b505f4851cd3820b6a2d8e78cd031a1ed138ffe5667ca711558f43b515428971966f7a73ace7c9951f1f0b39c362a59fe4691958875775cce23
diff --git a/dev-libs/libb64/libb64-1.2.1.ebuild b/dev-libs/libb64/libb64-1.2.1.ebuild
deleted file mode 100644
index 05a3299dffda..000000000000
--- a/dev-libs/libb64/libb64-1.2.1.ebuild
+++ /dev/null
@@ -1,28 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-DESCRIPTION="Fast Base64 encoding/decoding routines"
-HOMEPAGE="http://libb64.sourceforge.net/"
-SRC_URI="mirror://sourceforge/${PN}/${P}.zip"
-
-LICENSE="CC-PD"
-# static library, so always rebuild
-SLOT="0/${PVR}"
-KEYWORDS="~amd64 ~x86"
-IUSE=""
-
-DEPEND="app-arch/unzip"
-
-src_compile() {
- # override -O3, -Werror non-sense
- emake -C src CFLAGS="${CFLAGS} -I../include"
-}
-
-src_install() {
- dolib src/libb64.a
- insinto /usr/include
- doins -r include/b64
- dodoc AUTHORS BENCHMARKS CHANGELOG README
-}
diff --git a/dev-libs/libb64/libb64-2.0.0.1.ebuild b/dev-libs/libb64/libb64-2.0.0.1.ebuild
index a99722ebba95..488d25f845a4 100644
--- a/dev-libs/libb64/libb64-2.0.0.1.ebuild
+++ b/dev-libs/libb64/libb64-2.0.0.1.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="
LICENSE="CC-PD"
# static library, so always rebuild
SLOT="0/${PVR}"
-KEYWORDS="~amd64 ~x86"
+KEYWORDS="amd64 x86"
BDEPEND="app-arch/unzip"
diff --git a/dev-libs/libbase58/libbase58-0.1.4-r1.ebuild b/dev-libs/libbase58/libbase58-0.1.4-r1.ebuild
deleted file mode 100644
index 80dc047c83be..000000000000
--- a/dev-libs/libbase58/libbase58-0.1.4-r1.ebuild
+++ /dev/null
@@ -1,56 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit autotools multilib-minimal
-
-DESCRIPTION="C implementation of Bitcoin's base58 encoding"
-HOMEPAGE="https://github.com/luke-jr/libbase58"
-LICENSE="MIT"
-
-SRC_URI="https://github.com/luke-jr/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-SLOT="0/0"
-KEYWORDS="amd64 ~arm ~mips ~ppc ~ppc64 x86"
-IUSE="test tools"
-RESTRICT="!test? ( test )"
-
-# NOTE: If not testing, we don't need non-native libgcrypt
-RDEPEND="tools? ( dev-libs/libgcrypt )"
-DEPEND="${RDEPEND}
- test? (
- app-editors/vim-core
- dev-libs/libgcrypt[${MULTILIB_USEDEP}]
- )
-"
-
-src_prepare() {
- eapply_user
- eautoreconf
-
- # NOTE: Needed because test suite uses srcdir instead of builddir to set PATH and for
- # multilib support.
- multilib_copy_sources
-}
-
-multilib_src_configure() {
- local myeconf=(
- --disable-static
- LIBGCRYPT_CONFIG="${EPREFIX}/usr/bin/${CHOST}-libgcrypt-config"
- )
- if multilib_is_native_abi && use tools; then
- myeconf+=( --enable-tool )
- elif use test; then
- myeconf+=( --enable-tool --bindir='/TRASH' )
- else
- myeconf+=( --disable-tool )
- fi
- econf "${myeconf[@]}"
-}
-
-multilib_src_install_all() {
- if use test; then
- # It's hard to control this directory with multilib_is_native_abi && use tools, hence -f.
- rm -rf "${ED}/TRASH" || die
- fi
-}
diff --git a/dev-libs/libbase58/libbase58-0.1.4-r2.ebuild b/dev-libs/libbase58/libbase58-0.1.4-r2.ebuild
new file mode 100644
index 000000000000..11e8cf11ea37
--- /dev/null
+++ b/dev-libs/libbase58/libbase58-0.1.4-r2.ebuild
@@ -0,0 +1,56 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools
+
+DESCRIPTION="C implementation of Bitcoin's base58 encoding"
+HOMEPAGE="https://github.com/luke-jr/libbase58"
+SRC_URI="https://github.com/luke-jr/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0/0"
+KEYWORDS="amd64 ~arm ~mips ~ppc ~ppc64 x86"
+IUSE="test tools"
+RESTRICT="!test? ( test )"
+
+# NOTE: If not testing, we don't need non-native libgcrypt
+RDEPEND="tools? ( dev-libs/libgcrypt )"
+DEPEND="${RDEPEND}
+ test? (
+ app-editors/vim-core
+ dev-libs/libgcrypt
+ )
+"
+
+src_prepare() {
+ default
+
+ eautoreconf
+}
+
+src_configure() {
+ local myeconf=(
+ LIBGCRYPT_CONFIG="${EPREFIX}/usr/bin/${CHOST}-libgcrypt-config"
+ )
+
+ if use tools; then
+ myeconf+=( --enable-tool )
+ elif use test; then
+ myeconf+=( --enable-tool --bindir='/TRASH' )
+ else
+ myeconf+=( --disable-tool )
+ fi
+
+ econf "${myeconf[@]}"
+}
+
+src_install() {
+ default
+
+ if use test; then
+ # It's hard to control this directory with multilib_is_native_abi && use tools, hence -f.
+ rm -rf "${ED}/TRASH" || die
+ fi
+}
diff --git a/dev-libs/libbase58/metadata.xml b/dev-libs/libbase58/metadata.xml
index c8ade03b78c8..00b60a2b3db0 100644
--- a/dev-libs/libbase58/metadata.xml
+++ b/dev-libs/libbase58/metadata.xml
@@ -1,14 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <email>blueness@gentoo.org</email>
- <name>Anthony G. Basile</name>
- </maintainer>
- <maintainer type="person" proxied="yes">
- <email>luke-jr+gentoobugs@utopios.org</email>
- <name>Luke Dashjr</name>
- </maintainer>
+ <!-- maintainer-needed -->
<use>
<flag name="tools">Build command line base58 tool</flag>
</use>
diff --git a/dev-libs/libbpf/Manifest b/dev-libs/libbpf/Manifest
index f7baf5561cb2..2cbf2e2cd5bc 100644
--- a/dev-libs/libbpf/Manifest
+++ b/dev-libs/libbpf/Manifest
@@ -1 +1,4 @@
-DIST libbpf-0.6.1.tar.gz 858232 BLAKE2B 239e7bf47c24d09eb8e177e61d00bd834a0155c8773918246514858fe27688911f79dc4a22d02ab256c7c137010875f8d39d4fec9cecfd7a2b77e6b4df7610ea SHA512 5a8ca70c571fb306dd280f0526db48b78b13b57b4012f7bd3933d6e07d5e41e9370b2db6ed9bbc283c6dcbb21036810bf3093f462906b66557ce0d850c89083a
+DIST libbpf-0.8.1.tar.gz 942702 BLAKE2B 084be7d4258500fa894560ed2e52821addcc5d150dcd77fd646271b614d788b7931271be9c3e46fdbc4ed93d053ea3e09023158a8e4a31f9452d10dcb0677b58 SHA512 e3bb602f55215a4f030e564af7321ba6338937c426fcaee478b607f88b0c773c40a0c3f59a2b345bda951a19e79061733f8a3fdc10a6292e92782e65754b584a
+DIST libbpf-1.2.2.tar.gz 1000104 BLAKE2B 45a2ceabd38b3ea55f466de68d0806df6ae802b509063ca12d670ba972bac3dc5c7e518e8c9904915dbc9877c27ea892a7b857aa03d4e86016969b2d278b0b4a SHA512 bc7620207e6f521b9b5baab00bd81346084b8eabf81bff3ec24e5367d389f2a331a0b082798f8bb5d4fea836c3c0cc961fc881abc3a4e05d91152150bdfe47be
+DIST libbpf-1.3.0.tar.gz 999282 BLAKE2B 5ee0a45cd06be482c9523ec2a9bb26cf12b89df23f515b037badda868770069d5ffb751c011222b86b1d43034a1cdd537cb263883ed0645641548adc9c9896eb SHA512 59990189538e47765542e9ed6e88bc78c9d29bc077b5666bb1303cf15579c90b3d35a0d631b9bbd4bff2708243dc91d901bd68c119fb74dfd10a3e1066aa9acc
+DIST libbpf-1.4.0.tar.gz 1015490 BLAKE2B 46932f972201581f9f5be98063888216fd522ac549561efdec09603dfcbf0132418f50c2aed80d656fd25b235a9dc3b4ffe459cab9445a8508a7af620989072f SHA512 400c91a4870be8bb115f7abcc12c460700980fb6a3afdf43c885b1cdbe28fed1d37142d3987a85e12b4c565787a48f5cd0b07cafff067d91902d70713528929f
diff --git a/dev-libs/libbpf/libbpf-0.6.1.ebuild b/dev-libs/libbpf/libbpf-0.6.1.ebuild
deleted file mode 100644
index f4feea29582b..000000000000
--- a/dev-libs/libbpf/libbpf-0.6.1.ebuild
+++ /dev/null
@@ -1,51 +0,0 @@
-# Copyright 2019-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit flag-o-matic toolchain-funcs
-
-if [[ ${PV} =~ [9]{4,} ]]; then
- inherit git-r3
- EGIT_REPO_URI="https://github.com/libbpf/libbpf.git"
-else
- SRC_URI="https://github.com/${PN}/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
- KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
-fi
-S="${WORKDIR}/${P}/src"
-
-DESCRIPTION="Stand-alone build of libbpf from the Linux kernel"
-HOMEPAGE="https://github.com/libbpf/libbpf"
-
-LICENSE="GPL-2 LGPL-2.1 BSD-2"
-SLOT="0/$(ver_cut 1-2 ${PV})"
-IUSE="static-libs"
-
-DEPEND="
- sys-kernel/linux-headers
- virtual/libelf
-"
-RDEPEND="${DEPEND}"
-
-PATCHES=(
- "${FILESDIR}"/libbpf-9999-paths.patch
-)
-
-src_configure() {
- append-cflags -fPIC
- tc-export CC AR
- export LIBSUBDIR="$(get_libdir)" V=1
-}
-
-src_install() {
- emake \
- DESTDIR="${D}" \
- install install_uapi_headers
-
- if ! use static-libs; then
- find "${ED}" -name '*.a' -delete || die
- fi
-
- insinto /usr/$(get_libdir)/pkgconfig
- doins ${PN}.pc
-}
diff --git a/dev-libs/libbpf/libbpf-0.8.1.ebuild b/dev-libs/libbpf/libbpf-0.8.1.ebuild
new file mode 100644
index 000000000000..ca787e88d5fe
--- /dev/null
+++ b/dev-libs/libbpf/libbpf-0.8.1.ebuild
@@ -0,0 +1,54 @@
+# Copyright 2019-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit flag-o-matic toolchain-funcs
+
+if [[ ${PV} =~ [9]{4,} ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/libbpf/libbpf.git"
+else
+ SRC_URI="https://github.com/${PN}/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
+fi
+S="${WORKDIR}/${P}/src"
+
+DESCRIPTION="Stand-alone build of libbpf from the Linux kernel"
+HOMEPAGE="https://github.com/libbpf/libbpf"
+
+LICENSE="GPL-2 LGPL-2.1 BSD-2"
+SLOT="0/$(ver_cut 1-2 ${PV})"
+IUSE="static-libs"
+
+DEPEND="
+ sys-kernel/linux-headers
+ virtual/libelf
+"
+RDEPEND="${DEPEND}"
+
+PATCHES=(
+ "${FILESDIR}"/libbpf-9999-paths.patch
+)
+
+src_configure() {
+ append-cflags -fPIC
+ tc-export CC AR
+ export LIBSUBDIR="$(get_libdir)"
+ export PREFIX="${EPREFIX}/usr"
+ export V=1
+}
+
+src_install() {
+ emake \
+ DESTDIR="${D}" \
+ LIBSUBDIR="${LIBSUBDIR}" \
+ install install_uapi_headers
+
+ if ! use static-libs; then
+ find "${ED}" -name '*.a' -delete || die
+ fi
+
+ insinto /usr/$(get_libdir)/pkgconfig
+ doins ${PN}.pc
+}
diff --git a/dev-libs/libbpf/libbpf-1.2.2.ebuild b/dev-libs/libbpf/libbpf-1.2.2.ebuild
new file mode 100644
index 000000000000..a82b4169cdc1
--- /dev/null
+++ b/dev-libs/libbpf/libbpf-1.2.2.ebuild
@@ -0,0 +1,54 @@
+# Copyright 2019-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit flag-o-matic toolchain-funcs
+
+if [[ ${PV} =~ [9]{4,} ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/libbpf/libbpf.git"
+else
+ SRC_URI="https://github.com/${PN}/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
+fi
+S="${WORKDIR}/${P}/src"
+
+DESCRIPTION="Stand-alone build of libbpf from the Linux kernel"
+HOMEPAGE="https://github.com/libbpf/libbpf"
+
+LICENSE="GPL-2 LGPL-2.1 BSD-2"
+SLOT="0/$(ver_cut 1-2)"
+IUSE="static-libs"
+
+DEPEND="
+ sys-kernel/linux-headers
+ virtual/libelf"
+RDEPEND="${DEPEND}"
+BDEPEND="virtual/pkgconfig"
+
+PATCHES=(
+ "${FILESDIR}"/libbpf-9999-paths.patch
+)
+
+src_configure() {
+ append-cflags -fPIC
+ tc-export CC AR PKG_CONFIG
+ export LIBSUBDIR="$(get_libdir)"
+ export PREFIX="${EPREFIX}/usr"
+ export V=1
+}
+
+src_install() {
+ emake \
+ DESTDIR="${D}" \
+ LIBSUBDIR="${LIBSUBDIR}" \
+ install install_uapi_headers
+
+ if ! use static-libs; then
+ find "${ED}" -name '*.a' -delete || die
+ fi
+
+ insinto /usr/$(get_libdir)/pkgconfig
+ doins ${PN}.pc
+}
diff --git a/dev-libs/libbpf/libbpf-1.3.0.ebuild b/dev-libs/libbpf/libbpf-1.3.0.ebuild
new file mode 100644
index 000000000000..bc00c0ee5ab7
--- /dev/null
+++ b/dev-libs/libbpf/libbpf-1.3.0.ebuild
@@ -0,0 +1,65 @@
+# Copyright 2019-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit flag-o-matic toolchain-funcs
+
+if [[ ${PV} =~ [9]{4,} ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/libbpf/libbpf.git"
+else
+ SRC_URI="https://github.com/${PN}/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
+fi
+S="${WORKDIR}/${P}/src"
+
+DESCRIPTION="Stand-alone build of libbpf from the Linux kernel"
+HOMEPAGE="https://github.com/libbpf/libbpf"
+
+LICENSE="GPL-2 LGPL-2.1 BSD-2"
+SLOT="0/$(ver_cut 1-2)"
+IUSE="static-libs"
+
+DEPEND="
+ sys-kernel/linux-headers
+ virtual/libelf
+"
+RDEPEND="
+ ${DEPEND}
+"
+BDEPEND="
+ virtual/pkgconfig
+"
+
+DOCS=(
+ ../{README,SYNC}.md
+)
+
+PATCHES=(
+ "${FILESDIR}"/libbpf-9999-paths.patch
+)
+
+src_configure() {
+ append-cflags -fPIC
+ tc-export CC AR PKG_CONFIG
+ export LIBSUBDIR="$(get_libdir)"
+ export PREFIX="${EPREFIX}/usr"
+ export V=1
+}
+
+src_install() {
+ emake \
+ DESTDIR="${D}" \
+ LIBSUBDIR="${LIBSUBDIR}" \
+ install install_uapi_headers
+
+ if ! use static-libs; then
+ find "${ED}" -name '*.a' -delete || die
+ fi
+
+ dodoc "${DOCS[@]}"
+
+ insinto /usr/$(get_libdir)/pkgconfig
+ doins ${PN}.pc
+}
diff --git a/dev-libs/libbpf/libbpf-1.4.0.ebuild b/dev-libs/libbpf/libbpf-1.4.0.ebuild
new file mode 100644
index 000000000000..6cd9245fc9a6
--- /dev/null
+++ b/dev-libs/libbpf/libbpf-1.4.0.ebuild
@@ -0,0 +1,65 @@
+# Copyright 2019-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit flag-o-matic toolchain-funcs
+
+DESCRIPTION="Stand-alone build of libbpf from the Linux kernel"
+HOMEPAGE="https://github.com/libbpf/libbpf"
+
+if [[ ${PV} =~ [9]{4,} ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/libbpf/libbpf.git"
+else
+ SRC_URI="https://github.com/${PN}/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+fi
+S="${WORKDIR}/${P}/src"
+
+LICENSE="GPL-2 LGPL-2.1 BSD-2"
+SLOT="0/$(ver_cut 1-2 ${PV})"
+IUSE="static-libs"
+
+DEPEND="
+ sys-kernel/linux-headers
+ virtual/libelf
+"
+RDEPEND="
+ ${DEPEND}
+"
+BDEPEND="
+ virtual/pkgconfig
+"
+
+DOCS=(
+ ../{README,SYNC}.md
+)
+
+PATCHES=(
+ "${FILESDIR}"/libbpf-9999-paths.patch
+)
+
+src_configure() {
+ append-cflags -fPIC
+ tc-export CC AR PKG_CONFIG
+ export LIBSUBDIR="$(get_libdir)"
+ export PREFIX="${EPREFIX}/usr"
+ export V=1
+}
+
+src_install() {
+ emake \
+ DESTDIR="${D}" \
+ LIBSUBDIR="${LIBSUBDIR}" \
+ install install_uapi_headers
+
+ if ! use static-libs; then
+ find "${ED}" -name '*.a' -delete || die
+ fi
+
+ dodoc "${DOCS[@]}"
+
+ insinto /usr/$(get_libdir)/pkgconfig
+ doins ${PN}.pc
+}
diff --git a/dev-libs/libbpf/libbpf-9999.ebuild b/dev-libs/libbpf/libbpf-9999.ebuild
index 2b8fd07a6a92..a666bd28bfd5 100644
--- a/dev-libs/libbpf/libbpf-9999.ebuild
+++ b/dev-libs/libbpf/libbpf-9999.ebuild
@@ -1,30 +1,40 @@
-# Copyright 2019-2021 Gentoo Authors
+# Copyright 2019-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit flag-o-matic toolchain-funcs
+DESCRIPTION="Stand-alone build of libbpf from the Linux kernel"
+HOMEPAGE="https://github.com/libbpf/libbpf"
+
if [[ ${PV} =~ [9]{4,} ]]; then
inherit git-r3
EGIT_REPO_URI="https://github.com/libbpf/libbpf.git"
else
SRC_URI="https://github.com/${PN}/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
- KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
fi
S="${WORKDIR}/${P}/src"
-DESCRIPTION="Stand-alone build of libbpf from the Linux kernel"
-HOMEPAGE="https://github.com/libbpf/libbpf"
-
LICENSE="GPL-2 LGPL-2.1 BSD-2"
-SLOT="0/${PV}"
+SLOT="0/$(ver_cut 1-2)"
IUSE="static-libs"
DEPEND="
sys-kernel/linux-headers
- virtual/libelf"
-RDEPEND="${DEPEND}"
+ virtual/libelf
+"
+RDEPEND="
+ ${DEPEND}
+"
+BDEPEND="
+ virtual/pkgconfig
+"
+
+DOCS=(
+ ../{README,SYNC}.md
+)
PATCHES=(
"${FILESDIR}"/libbpf-9999-paths.patch
@@ -32,20 +42,24 @@ PATCHES=(
src_configure() {
append-cflags -fPIC
- tc-export CC AR
+ tc-export CC AR PKG_CONFIG
export LIBSUBDIR="$(get_libdir)"
+ export PREFIX="${EPREFIX}/usr"
export V=1
}
src_install() {
emake \
DESTDIR="${D}" \
+ LIBSUBDIR="${LIBSUBDIR}" \
install install_uapi_headers
if ! use static-libs; then
find "${ED}" -name '*.a' -delete || die
fi
+ dodoc "${DOCS[@]}"
+
insinto /usr/$(get_libdir)/pkgconfig
doins ${PN}.pc
}
diff --git a/dev-libs/libbsd/Manifest b/dev-libs/libbsd/Manifest
index c47ce9ccb000..5feead1ee32f 100644
--- a/dev-libs/libbsd/Manifest
+++ b/dev-libs/libbsd/Manifest
@@ -1,2 +1,4 @@
-DIST libbsd-0.11.3.tar.xz 399712 BLAKE2B 1af04b8fcbc0bfa59fba549639d61a33ac934fe7ee42b506d1b0452e0b836b0bfdd3d8739de90465be46fe6a9d326a2d11bcf72280aa19ccba81db5da6d63d89 SHA512 a7015ea1ffa3766b1a4690526a25231898ad8275149b31fb6801082450172249997c36165626d101ffce53b59767a46676eebc0806426922fe4e773a0376c1f5
-DIST libbsd-0.11.5.tar.xz 409972 BLAKE2B 00c89ad1be351e7851538eac2744f5aef87b5937330d514d17af8a20a04bc6eab0e2bda61d0080da1d1439306b3b191ab68b4bc4cd8558ff0adfe402bfbf5b52 SHA512 c52c19eddd53630aca14f9f6221f7b84aa9cc798b4bb91e867822b161793313aab872ac1c0350d29312a72fee6e2061f3910ff918b724ec171d8c9de5837c841
+DIST libbsd-0.11.8.tar.xz 432376 BLAKE2B b2b9496423f177af7cba3c55c071b58a314ad987bd04fee5c93dc1885a501a923048f676d00dcb70c8cfa37de775c6ec64224dfecce1d0eaed50b8c27ec0c001 SHA512 0173fc20e2471f96bc6677500a02fbccef7463e023445f47681843c9a94b1fa9970c5af7d2f87f1a1e7f8a7bb60112988defc073828fd2a0dcd0e66e44e67295
+DIST libbsd-0.11.8.tar.xz.asc 931 BLAKE2B 3841b81fa8bcdf0e27a41c769691dbefbb82073a18e3a30580794e0242c903bd0b512d31d6e897f8fa98ef3a3cf0dc08a413040ead00caa63f0b993396e1f2fe SHA512 a24355f9151f1da62e1f4f37280eec57ee7a32205b493d973d59231382c878e4373d4cf83ec41612536ef9361fe43e68331217c96c59b6741e7827272369ff2c
+DIST libbsd-0.12.1.tar.xz 444048 BLAKE2B 74af2c1f3254fe1e1527c31c5518a8097e9f3a377c497bdb40df262ae00e2244ae460c8f5df6c6533f83c02eaa08621ef1cfbc2a83b9bb28bd77433ff7c088bd SHA512 c45c7861b63295c118f53ce868437ad73887b6764708d0a348b796f5abe2cefc9adbb0dd3be23f6348d6bf63a9920a13b7f90d065299cac5a05ce0376211073a
+DIST libbsd-0.12.1.tar.xz.asc 833 BLAKE2B 962f17396b7c74d8ce30925ed65e9b127b576730f580d9411af258c677f6b723e38060ec0af9a8defa54166385502654b721ae48c69ef1465ecadbfbe8c54f07 SHA512 f6c545317b9fe06ce6cfd34e579a5959524ad40f2b25d13617888dd9b79cd5b483e7d24aead540a0bf30a71cd11cc7ca932f41ae60a797b0e881474de9f30543
diff --git a/dev-libs/libbsd/libbsd-0.11.3.ebuild b/dev-libs/libbsd/libbsd-0.11.3.ebuild
deleted file mode 100644
index 1551e7d7f73d..000000000000
--- a/dev-libs/libbsd/libbsd-0.11.3.ebuild
+++ /dev/null
@@ -1,42 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit multilib-minimal
-
-DESCRIPTION="Library to provide useful functions commonly found on BSD systems"
-HOMEPAGE="https://libbsd.freedesktop.org/wiki/ https://gitlab.freedesktop.org/libbsd/libbsd"
-SRC_URI="https://${PN}.freedesktop.org/releases/${P}.tar.xz"
-
-LICENSE="BSD BSD-2 BSD-4 ISC"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux"
-IUSE="static-libs"
-
-RDEPEND="app-crypt/libmd[${MULTILIB_USEDEP}]"
-DEPEND="${RDEPEND}
- >=sys-kernel/linux-headers-3.17
-"
-
-pkg_setup() {
- local f="${EROOT}/usr/$(get_libdir)/${PN}.a"
- if ! has_version ${CATEGORY}/${PN}; then
- if [[ -e ${f} ]]; then
- eerror "${m}"
- die "You need to remove ${f} by hand or re-emerge sys-libs/glibc first."
- fi
- fi
-}
-
-multilib_src_configure() {
- # The build system will install libbsd-ctor.a despite of USE="-static-libs"
- # which is correct, see:
- # https://gitlab.freedesktop.org/libbsd/libbsd/commit/c5b959028734ca2281250c85773d9b5e1d259bc8
- ECONF_SOURCE="${S}" econf $(use_enable static-libs static)
-}
-
-multilib_src_install() {
- emake DESTDIR="${D}" install
- find "${ED}" -type f -name "*.la" -delete || die
-}
diff --git a/dev-libs/libbsd/libbsd-0.11.5.ebuild b/dev-libs/libbsd/libbsd-0.11.5.ebuild
deleted file mode 100644
index 55d75e728bd8..000000000000
--- a/dev-libs/libbsd/libbsd-0.11.5.ebuild
+++ /dev/null
@@ -1,33 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit multilib-minimal
-
-DESCRIPTION="Library to provide useful functions commonly found on BSD systems"
-HOMEPAGE="https://libbsd.freedesktop.org/wiki/ https://gitlab.freedesktop.org/libbsd/libbsd"
-SRC_URI="https://${PN}.freedesktop.org/releases/${P}.tar.xz"
-
-LICENSE="BSD BSD-2 BSD-4 ISC"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux"
-IUSE="static-libs"
-
-RDEPEND="app-crypt/libmd[${MULTILIB_USEDEP}]"
-DEPEND="${RDEPEND}
- >=sys-kernel/linux-headers-3.17
-"
-
-multilib_src_configure() {
- # The build system will install libbsd-ctor.a despite of USE="-static-libs"
- # which is correct, see:
- # https://gitlab.freedesktop.org/libbsd/libbsd/commit/c5b959028734ca2281250c85773d9b5e1d259bc8
- ECONF_SOURCE="${S}" econf $(use_enable static-libs static)
-}
-
-multilib_src_install() {
- emake DESTDIR="${D}" install
-
- find "${ED}" -type f -name "*.la" -delete || die
-}
diff --git a/dev-libs/libbsd/libbsd-0.11.8.ebuild b/dev-libs/libbsd/libbsd-0.11.8.ebuild
new file mode 100644
index 000000000000..80ccbf78eae3
--- /dev/null
+++ b/dev-libs/libbsd/libbsd-0.11.8.ebuild
@@ -0,0 +1,50 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/guillemjover.asc
+inherit flag-o-matic multilib multilib-minimal verify-sig
+
+DESCRIPTION="Library to provide useful functions commonly found on BSD systems"
+HOMEPAGE="https://libbsd.freedesktop.org/wiki/ https://gitlab.freedesktop.org/libbsd/libbsd"
+SRC_URI="https://${PN}.freedesktop.org/releases/${P}.tar.xz"
+SRC_URI+=" verify-sig? ( https://${PN}.freedesktop.org/releases/${P}.tar.xz.asc )"
+
+LICENSE="BEER-WARE BSD BSD-2 BSD-4 ISC MIT"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux"
+IUSE="static-libs"
+
+RDEPEND="app-crypt/libmd[${MULTILIB_USEDEP}]"
+DEPEND="
+ ${RDEPEND}
+ >=sys-kernel/linux-headers-3.17
+"
+BDEPEND="verify-sig? ( sec-keys/openpgp-keys-guillemjover )"
+
+multilib_src_configure() {
+ # Broken (still) with lld-17 (bug #922342, bug #915068)
+ append-ldflags $(test-flags-CCLD -Wl,--undefined-version)
+
+ # bug #911726
+ filter-flags -fno-semantic-interposition
+
+ # The build system will install libbsd-ctor.a despite USE="-static-libs"
+ # which is correct, see:
+ # https://gitlab.freedesktop.org/libbsd/libbsd/commit/c5b959028734ca2281250c85773d9b5e1d259bc8
+ ECONF_SOURCE="${S}" econf $(use_enable static-libs static)
+}
+
+multilib_src_install() {
+ emake DESTDIR="${D}" install
+
+ find "${ED}" -type f -name "*.la" -delete || die
+
+ # ld scripts on standalone prefix (RAP) systems should have the prefix
+ # stripped from any paths, as the sysroot is automatically prepended.
+ local ldscript=${ED}/usr/$(get_libdir)/${PN}$(get_libname)
+ if use prefix && ! use prefix-guest && grep -qIF "ld script" "${ldscript}" 2>/dev/null; then
+ sed -i "s|${EPREFIX}/|/|g" "${ldscript}" || die
+ fi
+}
diff --git a/dev-libs/libbsd/libbsd-0.12.1.ebuild b/dev-libs/libbsd/libbsd-0.12.1.ebuild
new file mode 100644
index 000000000000..730ba456ac1e
--- /dev/null
+++ b/dev-libs/libbsd/libbsd-0.12.1.ebuild
@@ -0,0 +1,48 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/guillemjover.asc
+inherit flag-o-matic multilib multilib-minimal verify-sig
+
+DESCRIPTION="Library to provide useful functions commonly found on BSD systems"
+HOMEPAGE="https://libbsd.freedesktop.org/wiki/ https://gitlab.freedesktop.org/libbsd/libbsd"
+SRC_URI="https://${PN}.freedesktop.org/releases/${P}.tar.xz"
+SRC_URI+=" verify-sig? ( https://${PN}.freedesktop.org/releases/${P}.tar.xz.asc )"
+
+LICENSE="BEER-WARE BSD BSD-2 BSD-4 ISC MIT"
+SLOT="0"
+# Unkeyworded until figured out a solution for bug #925663
+#KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux"
+IUSE="static-libs"
+
+RDEPEND="app-crypt/libmd[${MULTILIB_USEDEP}]"
+DEPEND="
+ ${RDEPEND}
+ >=sys-kernel/linux-headers-3.17
+"
+BDEPEND="verify-sig? ( sec-keys/openpgp-keys-guillemjover )"
+
+multilib_src_configure() {
+ # bug #911726
+ filter-flags -fno-semantic-interposition
+
+ # The build system will install libbsd-ctor.a despite USE="-static-libs"
+ # which is correct, see:
+ # https://gitlab.freedesktop.org/libbsd/libbsd/commit/c5b959028734ca2281250c85773d9b5e1d259bc8
+ ECONF_SOURCE="${S}" econf $(use_enable static-libs static)
+}
+
+multilib_src_install() {
+ emake DESTDIR="${D}" install
+
+ find "${ED}" -type f -name "*.la" -delete || die
+
+ # ld scripts on standalone prefix (RAP) systems should have the prefix
+ # stripped from any paths, as the sysroot is automatically prepended.
+ local ldscript=${ED}/usr/$(get_libdir)/${PN}$(get_libname)
+ if use prefix && ! use prefix-guest && grep -qIF "ld script" "${ldscript}" 2>/dev/null; then
+ sed -i "s|${EPREFIX}/|/|g" "${ldscript}" || die
+ fi
+}
diff --git a/dev-libs/libbsd/metadata.xml b/dev-libs/libbsd/metadata.xml
index 822dbca25564..f7d2c3e6ba07 100644
--- a/dev-libs/libbsd/metadata.xml
+++ b/dev-libs/libbsd/metadata.xml
@@ -2,10 +2,15 @@
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
+ <email>base-system@gentoo.org</email>
+ <name>Gentoo Base System</name>
+ </maintainer>
+ <maintainer type="project">
<email>freedesktop-bugs@gentoo.org</email>
<name>Gentoo Freedesktop Project</name>
</maintainer>
<upstream>
<remote-id type="cpe">cpe:/a:libbsd:libbsd</remote-id>
+ <remote-id type="freedesktop-gitlab">libbsd/libbsd</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-libs/libbson/Manifest b/dev-libs/libbson/Manifest
index 14ac1b166010..761865c04ae0 100644
--- a/dev-libs/libbson/Manifest
+++ b/dev-libs/libbson/Manifest
@@ -1 +1,2 @@
DIST libbson-1.18.0.tar.gz 7246954 BLAKE2B 9418ab2e132f8a8c582bcbea8c7b090e9e45e34219845d8f6b7a99d4ebfb17ef2eec2223504e9a4ab7f51ca01e904a7f3bb04bf9f8bf20c010ab9f82894a728e SHA512 c970f347689916172a957fc431b307bab3cb63367d4b39c49745c75b9fa84f0035db934c551570a4141733fc1bc6b33b118911c3b69ecdea797f19312b213606
+DIST libbson-1.24.4.tar.gz 7916661 BLAKE2B e361b52bf16eed7437428b0481d792ecf2f9cc283fdd6f23916d4a3ffb1b7d7c9ea7a7c4cf5f369e21fb6d4f564b91e07ac2ee44656855993218593dc4f1c166 SHA512 3563c061565d17a76581e188f6e184d7e41f2729812c8815afd34e03ebe6c1d25d7498a2cb1b599a09d24f6268c36473ef5113a14c7585a1532c9abf2e56e936
diff --git a/dev-libs/libbson/libbson-1.18.0.ebuild b/dev-libs/libbson/libbson-1.18.0.ebuild
index 6d665fd56c4c..6d3d8b168b13 100644
--- a/dev-libs/libbson/libbson-1.18.0.ebuild
+++ b/dev-libs/libbson/libbson-1.18.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
@@ -11,7 +11,7 @@ SRC_URI="https://github.com/mongodb/mongo-c-driver/releases/download/${PV}/mongo
LICENSE="Apache-2.0"
SLOT="0"
-KEYWORDS="amd64 ~hppa ~ppc ~riscv ~sparc x86"
+KEYWORDS="amd64 ~arm64 ~hppa ~loong ~ppc ~riscv ~sparc x86"
IUSE="examples static-libs"
DEPEND="dev-python/sphinx"
diff --git a/dev-libs/libbson/libbson-1.24.4.ebuild b/dev-libs/libbson/libbson-1.24.4.ebuild
new file mode 100644
index 000000000000..b21689d766dc
--- /dev/null
+++ b/dev-libs/libbson/libbson-1.24.4.ebuild
@@ -0,0 +1,49 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+DESCRIPTION="Library routines related to building,parsing and iterating BSON documents"
+HOMEPAGE="https://github.com/mongodb/mongo-c-driver/tree/master/src/libbson"
+SRC_URI="https://github.com/mongodb/mongo-c-driver/releases/download/${PV}/mongo-c-driver-${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~hppa ~loong ~ppc ~riscv ~sparc ~x86"
+IUSE="examples static-libs"
+
+BDEPEND="dev-python/sphinx"
+
+S="${WORKDIR}/mongo-c-driver-${PV}"
+
+src_prepare() {
+ cmake_src_prepare
+
+ # remove doc files
+ sed -i '/^\s*install\s*(FILES COPYING NEWS/,/^\s*)/ {d}' CMakeLists.txt || die
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DENABLE_BSON=ON
+ -DENABLE_EXAMPLES=OFF
+ -DENABLE_MAN_PAGES=ON
+ -DENABLE_MONGOC=OFF
+ -DENABLE_TESTS=OFF
+ -DENABLE_STATIC="$(usex static-libs ON OFF)"
+ -DENABLE_UNINSTALL=OFF
+ )
+
+ cmake_src_configure
+}
+
+src_install() {
+ if use examples; then
+ docinto examples
+ dodoc src/libbson/examples/*.c
+ fi
+
+ cmake_src_install
+}
diff --git a/dev-libs/libbson/metadata.xml b/dev-libs/libbson/metadata.xml
index 4969d78d9fe6..c01295da36f6 100644
--- a/dev-libs/libbson/metadata.xml
+++ b/dev-libs/libbson/metadata.xml
@@ -6,6 +6,6 @@
<name>Ultrabug</name>
</maintainer>
<upstream>
- <remote-id type="github">mongodb/libbson</remote-id>
+ <remote-id type="github">mongodb/mongo-c-driver</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-libs/libburn/Manifest b/dev-libs/libburn/Manifest
index 41ad895201dc..6694916106ef 100644
--- a/dev-libs/libburn/Manifest
+++ b/dev-libs/libburn/Manifest
@@ -1 +1 @@
-DIST libburn-1.5.4.tar.gz 991212 BLAKE2B 3fd4aa70eed2c9d0d33ef8bb967cd6208f1561aeebe8bc2b222fa4639fa3c215d49ee5ed3efc32813221fc4a9016ec9a3cabdcd8ae052d161794c0af11c7e6ee SHA512 dd7b14093e62e2c02011955c24e01d70ed78969b14faf7e5a63c0da97a80c438b628922532eb135af7dea8ee7c7b83554b3354160306dad852ce5bf6eb1d5ac9
+DIST libburn-1.5.6.tar.gz 995353 BLAKE2B 2c4b2e0a191c2a02327177bc5acd418d14a0c6eb9de065de171b0c4240a8bd7746ab2fd775fa1f0433bc1fe98dd47620524ec2954f4aa0f2015557cf881a5d3f SHA512 549cb25310aac5ce445639374d84f0c09fb1fdd70be97479588775e5afcc12dd0655c5bf51bd3f1bf8c06a66b318fd1e709dcfd72845e795ffaf353ea621accd
diff --git a/dev-libs/libburn/libburn-1.5.4.ebuild b/dev-libs/libburn/libburn-1.5.4.ebuild
deleted file mode 100644
index 0d4edbf7a916..000000000000
--- a/dev-libs/libburn/libburn-1.5.4.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
-
-DESCRIPTION="Open-source library for reading, mastering and writing optical discs"
-HOMEPAGE="https://dev.lovelyhq.com/libburnia/web/wiki/Libburn"
-SRC_URI="http://files.libburnia-project.org/releases/${P}.tar.gz"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ppc ppc64 ~riscv sparc x86"
-IUSE="debug static-libs"
-
-BDEPEND="
- virtual/pkgconfig
-"
-RDEPEND=""
-DEPEND="
- ${RDEPEND}
-"
-
-src_configure() {
- econf \
- $(use_enable static-libs static) \
- --disable-ldconfig-at-install \
- $(use_enable debug)
-}
-
-src_install() {
- default
-
- dodoc CONTRIBUTORS doc/{comments,*.txt}
-
- docinto cdrskin
- dodoc cdrskin/{*.txt,README}
- docinto cdrskin/html
- dodoc cdrskin/cdrskin_eng.html
-
- find "${D}" -name '*.la' -delete || die
-}
diff --git a/dev-libs/libburn/libburn-1.5.6-r1.ebuild b/dev-libs/libburn/libburn-1.5.6-r1.ebuild
new file mode 100644
index 000000000000..d669c0ff6bfd
--- /dev/null
+++ b/dev-libs/libburn/libburn-1.5.6-r1.ebuild
@@ -0,0 +1,49 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools
+
+DESCRIPTION="Open-source library for reading, mastering and writing optical discs"
+HOMEPAGE="https://dev.lovelyhq.com/libburnia/web/wiki/Libburn"
+SRC_URI="https://files.libburnia-project.org/releases/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ppc ppc64 ~riscv ~s390 sparc x86"
+IUSE="debug static-libs"
+
+BDEPEND="
+ virtual/pkgconfig
+"
+DEPEND="
+ ${RDEPEND}
+"
+
+src_prepare() {
+ default
+
+ # Ancient libtool version in 1.5.6 at least (debian's 2.4.2-1.11)
+ eautoreconf
+}
+
+src_configure() {
+ econf \
+ $(use_enable static-libs static) \
+ --disable-ldconfig-at-install \
+ $(use_enable debug)
+}
+
+src_install() {
+ default
+
+ dodoc CONTRIBUTORS doc/{comments,*.txt}
+
+ docinto cdrskin
+ dodoc cdrskin/{*.txt,README}
+ docinto cdrskin/html
+ dodoc cdrskin/cdrskin_eng.html
+
+ find "${D}" -name '*.la' -delete || die
+}
diff --git a/dev-libs/libburn/libburn-1.5.6.ebuild b/dev-libs/libburn/libburn-1.5.6.ebuild
new file mode 100644
index 000000000000..3af82ed1e139
--- /dev/null
+++ b/dev-libs/libburn/libburn-1.5.6.ebuild
@@ -0,0 +1,40 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DESCRIPTION="Open-source library for reading, mastering and writing optical discs"
+HOMEPAGE="https://dev.lovelyhq.com/libburnia/web/wiki/Libburn"
+SRC_URI="https://files.libburnia-project.org/releases/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ppc ppc64 ~riscv ~s390 sparc x86"
+IUSE="debug static-libs"
+
+BDEPEND="
+ virtual/pkgconfig
+"
+DEPEND="
+ ${RDEPEND}
+"
+
+src_configure() {
+ econf \
+ $(use_enable static-libs static) \
+ --disable-ldconfig-at-install \
+ $(use_enable debug)
+}
+
+src_install() {
+ default
+
+ dodoc CONTRIBUTORS doc/{comments,*.txt}
+
+ docinto cdrskin
+ dodoc cdrskin/{*.txt,README}
+ docinto cdrskin/html
+ dodoc cdrskin/cdrskin_eng.html
+
+ find "${D}" -name '*.la' -delete || die
+}
diff --git a/dev-libs/libbytesize/Manifest b/dev-libs/libbytesize/Manifest
index d6c8e2acba8e..3458e34920ce 100644
--- a/dev-libs/libbytesize/Manifest
+++ b/dev-libs/libbytesize/Manifest
@@ -1,2 +1,2 @@
-DIST libbytesize-2.5.tar.gz 439194 BLAKE2B 8d2cd82cea1e95f3368eed5855abfbc89b410fe1d627f7cbe69974f0d1fc89b600c93ad242816a37c3585b8318fcce77ef0fe6ab349d10f34a8be4c69303e343 SHA512 730d9c84bfc7199424fa34de5037dd9187d60c1f32d82cedc3e395167bf39a98a3b7f20b15f154206e797144c11de05ae0f606e0af6a2157ed946f138a346ad6
-DIST libbytesize-2.6.tar.gz 444795 BLAKE2B 5f89b2c614ebdd8efd3ac0841ad99c32309bdb33236373a0c9b007415a2f40ff30a0edcecb56947f2f41403cabb6a6bff68c2e4ce52e322df15d6daa3e10d2af SHA512 f6e72b763216c54c08318d090d604791c61cd5a3e683ffbe6e9d01de850661bd4e8a3adeb85c6fd0fb60244e2e128292cbae06c0aa2d1fe9f34104e64af8210e
+DIST libbytesize-2.10.tar.gz 458804 BLAKE2B 413a45bebf8394e0557c2e1ef7e1f4348fa6dfa52c697599886d70292ea8b2e1b17402e787afaeb8fecd84e3a37a6c0c39440fa22a556dcaba3f419ee17e1b0e SHA512 9e52b9a756a5b4ee6e23a7a20fd0c6ca2a65ff31f38ddc7545d6838fe9a3da0ee0bd7491cb268f071c950fbeb8d65c707423d285cc3548038b3a2d3aa7f0de48
+DIST libbytesize-2.9.tar.gz 458737 BLAKE2B d2e47b520cf2669131816f069d8ebeb946be02bc04acc676579f12e798fcb2aa176fd25e6bb77dd1e6b274ec0762498df5df18d88c627653accc426a7e268f36 SHA512 6def6bebe33344e6d6ce1a636bcd200a9d28ed5c4e5ce5dfbfd94c4d92ba37512ef1ee4f12716af0d6a402d5285e60df1ee629ecf31cf7d0b59990c524384fd1
diff --git a/dev-libs/libbytesize/files/libbytesize-2.6-configure-bashism.patch b/dev-libs/libbytesize/files/libbytesize-2.6-configure-bashism.patch
deleted file mode 100644
index 5fe0f095eaca..000000000000
--- a/dev-libs/libbytesize/files/libbytesize-2.6-configure-bashism.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-https://github.com/storaged-project/libbytesize/pull/102
-
-From: Sam James <sam@gentoo.org>
-Date: Fri, 24 Dec 2021 07:58:47 +0000
-Subject: [PATCH] build: avoid bashisms in configure
-
-configure needs to be executable by a POSIX-compliant shell (/bin/sh)
-and while this is often Bash, which tolerates non-POSIX statements, it
-might sometimes be e.g. dash which doesn't.
-
-Signed-off-by: Sam James <sam@gentoo.org>
---- a/configure.ac
-+++ b/configure.ac
-@@ -59,7 +59,7 @@ AC_ARG_WITH([python3],
- AC_SUBST(WITH_PYTHON3, 0)
- if test "x$with_python3" != "xno"; then
- AC_PATH_PROG([python3], [python3], [no])
-- AS_IF([test "x$python3" == "xno"],
-+ AS_IF([test "x$python3" = "xno"],
- [if test "x$with_python3" = "xyes"; then
- LIBBYTESIZE_SOFT_FAILURE([Python3 support requested, but python3 is not available])
- fi],
-@@ -77,7 +77,7 @@ AC_ARG_WITH([gtk-doc],
- AC_SUBST(WITH_GTK_DOC, 0)
- if test "x$with_gtk_doc" != "xno"; then
- AC_PATH_PROG([gtkdoc_scan], [gtkdoc-scan], [no])
-- AS_IF([test "x$gtkdoc_scan" == "xno"],
-+ AS_IF([test "x$gtkdoc_scan" = "xno"],
- [if test "x$with_gtk_doc" = "xyes"; then
- LIBBYTESIZE_SOFT_FAILURE([Building documentation with gtk-doc requested, but not available])
- fi],
diff --git a/dev-libs/libbytesize/libbytesize-2.10.ebuild b/dev-libs/libbytesize/libbytesize-2.10.ebuild
new file mode 100644
index 000000000000..e0ffbc9de484
--- /dev/null
+++ b/dev-libs/libbytesize/libbytesize-2.10.ebuild
@@ -0,0 +1,88 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit autotools python-r1
+
+DESCRIPTION="Tiny library providing a C \"class\" for working with arbitrary big byte sizes"
+HOMEPAGE="https://github.com/storaged-project/libbytesize"
+SRC_URI="https://github.com/storaged-project/libbytesize/releases/download/${PV}/${P}.tar.gz"
+
+LICENSE="LGPL-2+"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 ~ia64 ~loong ~mips ppc ppc64 ~riscv ~sparc x86"
+IUSE="doc python test tools"
+RESTRICT="!test? ( test )"
+
+REQUIRED_USE="
+ python? ( ${PYTHON_REQUIRED_USE} )
+ tools? ( python )
+"
+
+RDEPEND="
+ dev-libs/gmp:=
+ dev-libs/mpfr:=
+ dev-libs/libpcre2:=
+ python? ( ${PYTHON_DEPS} )
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ sys-devel/gettext
+ doc? (
+ dev-util/gtk-doc
+ virtual/pkgconfig
+ )
+ test? (
+ dev-python/pocketlint[${PYTHON_USEDEP}]
+ dev-python/polib[${PYTHON_USEDEP}]
+ )
+"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-2.4-no_Werror.patch"
+)
+
+python_do() {
+ if use python ; then
+ python_foreach_impl run_in_build_dir "$@"
+ else
+ "$@"
+ fi
+}
+
+src_prepare() {
+ default
+ eautoreconf
+}
+
+src_configure() {
+ local myeconfargs=(
+ $(use_with doc gtk-doc)
+ $(use_with python python3)
+ $(use_with tools)
+ )
+ local ECONF_SOURCE="${S}"
+ python_do econf "${myeconfargs[@]}"
+}
+
+src_compile() {
+ python_do emake
+}
+
+src_test() {
+ python_do emake check
+}
+
+install_helper() {
+ emake DESTDIR="${D}" install
+ use python && python_optimize
+}
+
+src_install() {
+ python_do install_helper
+ einstalldocs
+ find "${ED}" -name "*.la" -type f -delete || die
+}
diff --git a/dev-libs/libbytesize/libbytesize-2.5.ebuild b/dev-libs/libbytesize/libbytesize-2.5.ebuild
deleted file mode 100644
index 9afd519fb6c1..000000000000
--- a/dev-libs/libbytesize/libbytesize-2.5.ebuild
+++ /dev/null
@@ -1,89 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{8..10} )
-
-inherit autotools python-r1
-
-DESCRIPTION="Tiny library providing a C \"class\" for working with arbitrary big sizes in bytes"
-HOMEPAGE="https://github.com/storaged-project/libbytesize"
-SRC_URI="https://github.com/storaged-project/libbytesize/releases/download/${PV}/${P}.tar.gz"
-LICENSE="LGPL-2+"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~ia64 ~mips ppc ppc64 ~riscv sparc x86"
-IUSE="doc python test tools"
-
-REQUIRED_USE="
- python? ( ${PYTHON_REQUIRED_USE} )
- tools? ( python )
-"
-
-RDEPEND="
- dev-libs/gmp:0=
- dev-libs/mpfr:=
- dev-libs/libpcre2
- python? ( ${PYTHON_DEPS} )
-"
-
-DEPEND="${RDEPEND}"
-
-BDEPEND="
- sys-devel/gettext
- doc? ( dev-util/gtk-doc )
- test? (
- dev-python/pocketlint[${PYTHON_USEDEP}]
- dev-python/polib[${PYTHON_USEDEP}]
- )
-"
-
-DOCS=( README.md )
-
-RESTRICT="test"
-
-PATCHES=(
- "${FILESDIR}/${PN}-2.4-no_Werror.patch"
-)
-
-python_do() {
- if use python; then
- python_foreach_impl run_in_build_dir "$@"
- else
- "$@"
- fi
-}
-
-src_prepare() {
- default
- eautoreconf
-}
-
-src_configure() {
- local myeconfargs=(
- $(use_with doc gtk-doc)
- $(use_with python python3)
- $(use_with tools)
- )
- local ECONF_SOURCE="${S}"
- CONFIG_SHELL="${BROOT}/bin/bash" python_do econf "${myeconfargs[@]}"
-}
-
-src_compile() {
- python_do emake
-}
-
-src_test() {
- python_do emake check
-}
-
-install_helper() {
- emake DESTDIR="${D}" install
- use python && python_optimize
-}
-
-src_install() {
- python_do install_helper
- einstalldocs
- find "${ED}" -name "*.la" -type f -delete || die
-}
diff --git a/dev-libs/libbytesize/libbytesize-2.6.ebuild b/dev-libs/libbytesize/libbytesize-2.6.ebuild
deleted file mode 100644
index 84be8f1ddd9e..000000000000
--- a/dev-libs/libbytesize/libbytesize-2.6.ebuild
+++ /dev/null
@@ -1,90 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{8..10} )
-
-inherit autotools python-r1
-
-DESCRIPTION="Tiny library providing a C \"class\" for working with arbitrary big sizes in bytes"
-HOMEPAGE="https://github.com/storaged-project/libbytesize"
-SRC_URI="https://github.com/storaged-project/libbytesize/releases/download/${PV}/${P}.tar.gz"
-LICENSE="LGPL-2+"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ia64 ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86"
-IUSE="doc python test tools"
-
-REQUIRED_USE="
- python? ( ${PYTHON_REQUIRED_USE} )
- tools? ( python )
-"
-
-RDEPEND="
- dev-libs/gmp:0=
- dev-libs/mpfr:=
- dev-libs/libpcre2
- python? ( ${PYTHON_DEPS} )
-"
-
-DEPEND="${RDEPEND}"
-
-BDEPEND="
- sys-devel/gettext
- doc? ( dev-util/gtk-doc )
- test? (
- dev-python/pocketlint[${PYTHON_USEDEP}]
- dev-python/polib[${PYTHON_USEDEP}]
- )
-"
-
-DOCS=( README.md )
-
-RESTRICT="test"
-
-PATCHES=(
- "${FILESDIR}/${PN}-2.4-no_Werror.patch"
- "${FILESDIR}/${PN}-2.6-configure-bashism.patch"
-)
-
-python_do() {
- if use python; then
- python_foreach_impl run_in_build_dir "$@"
- else
- "$@"
- fi
-}
-
-src_prepare() {
- default
- eautoreconf
-}
-
-src_configure() {
- local myeconfargs=(
- $(use_with doc gtk-doc)
- $(use_with python python3)
- $(use_with tools)
- )
- local ECONF_SOURCE="${S}"
- python_do econf "${myeconfargs[@]}"
-}
-
-src_compile() {
- python_do emake
-}
-
-src_test() {
- python_do emake check
-}
-
-install_helper() {
- emake DESTDIR="${D}" install
- use python && python_optimize
-}
-
-src_install() {
- python_do install_helper
- einstalldocs
- find "${ED}" -name "*.la" -type f -delete || die
-}
diff --git a/dev-libs/libbytesize/libbytesize-2.9.ebuild b/dev-libs/libbytesize/libbytesize-2.9.ebuild
new file mode 100644
index 000000000000..4cb4753960a9
--- /dev/null
+++ b/dev-libs/libbytesize/libbytesize-2.9.ebuild
@@ -0,0 +1,91 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# py3.12 blocked by the massive dependency tree of dev-python/pocketlint
+PYTHON_COMPAT=( python3_{10..11} )
+
+inherit autotools python-r1
+
+DESCRIPTION="Tiny library providing a C \"class\" for working with arbitrary big byte sizes"
+HOMEPAGE="https://github.com/storaged-project/libbytesize"
+SRC_URI="https://github.com/storaged-project/libbytesize/releases/download/${PV}/${P}.tar.gz"
+
+LICENSE="LGPL-2+"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 ~ia64 ~loong ~mips ppc ppc64 ~riscv sparc x86"
+IUSE="doc python test tools"
+RESTRICT="!test? ( test )"
+
+REQUIRED_USE="
+ python? ( ${PYTHON_REQUIRED_USE} )
+ tools? ( python )
+"
+
+RDEPEND="
+ dev-libs/gmp:=
+ dev-libs/mpfr:=
+ dev-libs/libpcre2:=
+ python? ( ${PYTHON_DEPS} )
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ sys-devel/gettext
+ doc? (
+ dev-util/gtk-doc
+ virtual/pkgconfig
+ )
+ test? (
+ dev-python/pocketlint[${PYTHON_USEDEP}]
+ dev-python/polib[${PYTHON_USEDEP}]
+ )
+"
+
+DOCS=( README.md )
+
+PATCHES=(
+ "${FILESDIR}/${PN}-2.4-no_Werror.patch"
+)
+
+python_do() {
+ if use python ; then
+ python_foreach_impl run_in_build_dir "$@"
+ else
+ "$@"
+ fi
+}
+
+src_prepare() {
+ default
+ eautoreconf
+}
+
+src_configure() {
+ local myeconfargs=(
+ $(use_with doc gtk-doc)
+ $(use_with python python3)
+ $(use_with tools)
+ )
+ local ECONF_SOURCE="${S}"
+ python_do econf "${myeconfargs[@]}"
+}
+
+src_compile() {
+ python_do emake
+}
+
+src_test() {
+ python_do emake check
+}
+
+install_helper() {
+ emake DESTDIR="${D}" install
+ use python && python_optimize
+}
+
+src_install() {
+ python_do install_helper
+ einstalldocs
+ find "${ED}" -name "*.la" -type f -delete || die
+}
diff --git a/dev-libs/libbytesize/metadata.xml b/dev-libs/libbytesize/metadata.xml
index 75f6ddb108b0..aca3155bc462 100644
--- a/dev-libs/libbytesize/metadata.xml
+++ b/dev-libs/libbytesize/metadata.xml
@@ -1,14 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <email>polynomial-c@gentoo.org</email>
- <name>Lars Wendler</name>
- </maintainer>
+ <!-- maintainer-needed -->
<use>
<flag name="tools">Build bscalc python CLI tool</flag>
</use>
<upstream>
- <remote-id type="github">rhinstaller/libbytesize</remote-id>
+ <remote-id type="github">storaged-project/libbytesize</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-libs/libcbor/Manifest b/dev-libs/libcbor/Manifest
index e77da9690b99..1fa282b57312 100644
--- a/dev-libs/libcbor/Manifest
+++ b/dev-libs/libcbor/Manifest
@@ -1,2 +1 @@
-DIST libcbor-0.8.0.tar.gz 267044 BLAKE2B e8548e7351984ebdcbeb5f13a7ca35412c3f3f05e2a44a5438d57b90bdcdc51f5265953163106f90ade911a96af665956ebeba7ed1c48cf207acf6d683af5606 SHA512 694d2d3a78d80072f96e0afb73590ca1f3572e41d2117330ef4313ed06271743b048d3ba3259c6ffe9a802d5e441379d0e54787d1d42fed08dc81ac4f06c6dbc
-DIST libcbor-0.9.0.tar.gz 275405 BLAKE2B 7e78722650c702552dda4844615c454989281abe8c45ba3c9168af16e9d440a1b7e4e0c9afd89faa48e74ba85dcbe0c7733eec3e44fdafc0ca340e97574fe274 SHA512 710239f69d770212a82e933e59df1aba0fb3ec516ef6666a366f30a950565a52981b0d46ca7e0eea739f5785d79cc21fc19acd857a4a0b135f4f6aa3ef5fd3b0
+DIST libcbor-0.10.2.tar.gz 289450 BLAKE2B 3ef2d7fd7942ff32acbe59db6a4b68ad72dde3af4675ef2ee3c93666360554d6e9a29392dbc4fb3029f9ff821f536b90bfd1c522c9c9c2298ab511322fb53d37 SHA512 23c6177443778d4b4833ec7ed0d0e639a0d4863372e3a38d772fdce2673eae6d5cb2a31a2a021d1a699082ea53494977c907fd0e94149b97cb23a4b6d039228a
diff --git a/dev-libs/libcbor/libcbor-0.10.2.ebuild b/dev-libs/libcbor/libcbor-0.10.2.ebuild
new file mode 100644
index 000000000000..83c83a5ed6ba
--- /dev/null
+++ b/dev-libs/libcbor/libcbor-0.10.2.ebuild
@@ -0,0 +1,69 @@
+# Copyright 2020-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{9..11} )
+inherit python-any-r1 cmake
+
+DESCRIPTION="CBOR protocol implementation for C and others"
+HOMEPAGE="https://github.com/pjk/libcbor"
+SRC_URI="https://github.com/PJK/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0/$(ver_cut 1-2)"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
+IUSE="doc test"
+
+BDEPEND="
+ doc? (
+ $(python_gen_any_dep '
+ dev-python/sphinx[${PYTHON_USEDEP}]
+ dev-python/sphinx-rtd-theme[${PYTHON_USEDEP}]
+ dev-python/breathe[${PYTHON_USEDEP}]
+ ')
+ )
+ test? ( dev-util/cmocka )
+"
+
+RESTRICT="!test? ( test )"
+
+python_check_deps() {
+ python_has_version \
+ "dev-python/sphinx[${PYTHON_USEDEP}]" \
+ "dev-python/sphinx-rtd-theme[${PYTHON_USEDEP}]" \
+ "dev-python/breathe[${PYTHON_USEDEP}]"
+}
+
+pkg_setup() {
+ use doc && python-any-r1_pkg_setup
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DCMAKE_BUILD_TYPE=Release
+ -DWITH_TESTS=$(usex test 'ON' 'OFF')
+ )
+
+ cmake_src_configure
+}
+
+src_compile() {
+ cmake_src_compile
+
+ if use doc; then
+ mkdir -p doc/build || die
+ pushd doc >/dev/null || die
+ emake -j1 html man
+ popd >/dev/null || die
+ fi
+}
+
+src_install() {
+ cmake_src_install
+
+ if use doc; then
+ dodoc -r doc/build/html
+ doman doc/build/man/*
+ fi
+}
diff --git a/dev-libs/libcbor/libcbor-0.8.0.ebuild b/dev-libs/libcbor/libcbor-0.8.0.ebuild
deleted file mode 100644
index 78a7fa5584d4..000000000000
--- a/dev-libs/libcbor/libcbor-0.8.0.ebuild
+++ /dev/null
@@ -1,68 +0,0 @@
-# Copyright 2020-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-CMAKE_MAKEFILE_GENERATOR="emake"
-PYTHON_COMPAT=( python3_{8..9} )
-inherit python-any-r1 cmake
-
-DESCRIPTION="CBOR protocol implementation for C and others"
-HOMEPAGE="https://github.com/pjk/libcbor"
-SRC_URI="https://github.com/PJK/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0/$(ver_cut 1-2)"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~m68k ppc ppc64 ~riscv ~s390 sparc x86"
-IUSE="+custom-alloc doc test"
-
-BDEPEND="
- doc? (
- $(python_gen_any_dep '
- dev-python/sphinx[${PYTHON_USEDEP}]
- dev-python/sphinx_rtd_theme[${PYTHON_USEDEP}]
- dev-python/breathe[${PYTHON_USEDEP}]
- ')
- )
- test? ( dev-util/cmocka )
-"
-
-RESTRICT="!test? ( test )"
-
-python_check_deps() {
- has_version "dev-python/sphinx[${PYTHON_USEDEP}]" && \
- has_version "dev-python/breathe[${PYTHON_USEDEP}]"
-}
-
-pkg_setup() {
- use doc && python-any-r1_pkg_setup
-}
-
-src_configure() {
- local -a mycmakeargs=(
- -DCMAKE_BUILD_TYPE=Release
- -DCBOR_CUSTOM_ALLOC=$(usex custom-alloc 'ON' 'OFF')
- -DWITH_TESTS=$(usex test 'ON' 'OFF')
- )
-
- cmake_src_configure
-}
-
-src_compile() {
- cmake_src_compile
-
- if use doc; then
- pushd doc >/dev/null || die
- emake html man
- popd >/dev/null || die
- fi
-}
-
-src_install() {
- cmake_src_install
-
- if use doc; then
- dodoc -r doc/build/html
- doman doc/build/man/*
- fi
-}
diff --git a/dev-libs/libcbor/libcbor-0.9.0.ebuild b/dev-libs/libcbor/libcbor-0.9.0.ebuild
deleted file mode 100644
index a48480af6a93..000000000000
--- a/dev-libs/libcbor/libcbor-0.9.0.ebuild
+++ /dev/null
@@ -1,68 +0,0 @@
-# Copyright 2020-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-CMAKE_MAKEFILE_GENERATOR="emake"
-PYTHON_COMPAT=( python3_{8..10} )
-inherit python-any-r1 cmake
-
-DESCRIPTION="CBOR protocol implementation for C and others"
-HOMEPAGE="https://github.com/pjk/libcbor"
-SRC_URI="https://github.com/PJK/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0/$(ver_cut 1-2)"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
-IUSE="+custom-alloc doc test"
-
-BDEPEND="
- doc? (
- $(python_gen_any_dep '
- dev-python/sphinx[${PYTHON_USEDEP}]
- dev-python/sphinx_rtd_theme[${PYTHON_USEDEP}]
- dev-python/breathe[${PYTHON_USEDEP}]
- ')
- )
- test? ( dev-util/cmocka )
-"
-
-RESTRICT="!test? ( test )"
-
-python_check_deps() {
- has_version "dev-python/sphinx[${PYTHON_USEDEP}]" && \
- has_version "dev-python/breathe[${PYTHON_USEDEP}]"
-}
-
-pkg_setup() {
- use doc && python-any-r1_pkg_setup
-}
-
-src_configure() {
- local -a mycmakeargs=(
- -DCMAKE_BUILD_TYPE=Release
- -DCBOR_CUSTOM_ALLOC=$(usex custom-alloc 'ON' 'OFF')
- -DWITH_TESTS=$(usex test 'ON' 'OFF')
- )
-
- cmake_src_configure
-}
-
-src_compile() {
- cmake_src_compile
-
- if use doc; then
- pushd doc >/dev/null || die
- emake html man
- popd >/dev/null || die
- fi
-}
-
-src_install() {
- cmake_src_install
-
- if use doc; then
- dodoc -r doc/build/html
- doman doc/build/man/*
- fi
-}
diff --git a/dev-libs/libcbor/metadata.xml b/dev-libs/libcbor/metadata.xml
index aa7e25a7ee78..8ce035a8ef63 100644
--- a/dev-libs/libcbor/metadata.xml
+++ b/dev-libs/libcbor/metadata.xml
@@ -5,7 +5,7 @@
<email>base-system@gentoo.org</email>
<name>Gentoo Base System</name>
</maintainer>
- <use>
- <flag name="custom-alloc">Custom, dynamically defined allocator support</flag>
- </use>
+ <upstream>
+ <remote-id type="github">pjk/libcbor</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/dev-libs/libcdada/Manifest b/dev-libs/libcdada/Manifest
index 383c147f9724..14182df179d9 100644
--- a/dev-libs/libcdada/Manifest
+++ b/dev-libs/libcdada/Manifest
@@ -1,2 +1 @@
-DIST libcdada-0.3.4.tar.gz 1772957 BLAKE2B 5a7b24e7e033807586a30beb35a304b37262e8e673a02f307af63606b2119e3c76b2ed90cec6f494cac26f77aaafd1756d69c5043cf9adfd6a42cd0db76b4298 SHA512 363f2ebe9a054a6356040bb68460321ffb6dc0f66dfd2f95d275864135bed715e12bb6bbbffe11d665020a119033cd80d6bf323020760339664f1b7a4f1ae9ca
-DIST libcdada-0.3.5.tar.gz 1776937 BLAKE2B 55280e28d2fa6235ac95020b07853748a4551f1c1c2e65b12585064c4fa952dd310b54d5f95f986cea12018d452e1fb086d8bc3c944b169d5aeb280b78f25007 SHA512 4f3d022e54573c4dd0a39d8ef7d097bb209834ba56ec30003ef257e0496c7a08e50a432d0a4a40f019f06feab806cab81ee5ace9c92193266d5ec82cddad3269
+DIST libcdada-0.4.0.tar.gz 1777257 BLAKE2B 26e24fa513ab4a290a7632b4f56c102dc45cd9d34d4a7b7464f58aaee596b5ac3c8172080144d3f3c5cbcf5790f29e74b020f11cea943223e5933c2a7db66f8b SHA512 370a40a070df6783b5f44373bd09751660d51698095fa0ace38943a0331f90a55d131de50180b9ca9597361b7712dbcb350fde77a0e0489c47e4358fec61458b
diff --git a/dev-libs/libcdada/libcdada-0.3.4-r2.ebuild b/dev-libs/libcdada/libcdada-0.3.4-r2.ebuild
deleted file mode 100644
index fc96ac0f21fa..000000000000
--- a/dev-libs/libcdada/libcdada-0.3.4-r2.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
-
-PYTHON_COMPAT=( python3_{7..9} )
-inherit autotools python-any-r1
-
-DESCRIPTION="Basic data structures in C"
-HOMEPAGE="https://github.com/msune/libcdada"
-SRC_URI="https://github.com/msune/${PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="BSD-2"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE="test"
-RESTRICT="!test? ( test )"
-
-BDEPEND="test? ( ${PYTHON_DEPS} )"
-
-PATCHES=( "${FILESDIR}/${PN}-${PV}-Werror.patch" )
-
-pkg_setup() {
- use test && python-any-r1_pkg_setup
-}
-
-src_prepare() {
- default
- if ! use test; then
- sed -ie "/SUBDIRS/s/test //" Makefile.am || die
- fi
- eautoreconf
-}
-
-src_configure() {
- local myeconfargs=(
- --disable-valgrind
- )
-
- econf "${myeconfargs[@]}"
-}
-
-src_install() {
- default
- find "${ED}" \( -name "*.a" -o -name "*.la" \) -delete || die
-}
diff --git a/dev-libs/libcdada/libcdada-0.3.5.ebuild b/dev-libs/libcdada/libcdada-0.3.5.ebuild
deleted file mode 100644
index 6a1c7ec68867..000000000000
--- a/dev-libs/libcdada/libcdada-0.3.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=8
-
-PYTHON_COMPAT=( python3_{8..10} )
-inherit autotools python-any-r1
-
-DESCRIPTION="Basic data structures in C"
-HOMEPAGE="https://github.com/msune/libcdada"
-SRC_URI="https://github.com/msune/${PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="BSD-2"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE="test"
-RESTRICT="!test? ( test )"
-
-BDEPEND="test? ( ${PYTHON_DEPS} )"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-0.3.4-Werror.patch
- "${FILESDIR}"/${PN}-0.3.5-respect-CFLAGS.patch
-)
-
-pkg_setup() {
- use test && python-any-r1_pkg_setup
-}
-
-src_prepare() {
- default
-
- eautoreconf
-}
-
-src_configure() {
- local myeconfargs=(
- $(use_with test tests)
-
- # Needed for tests. We throw them away in src_install anyway.
- --enable-static
-
- --disable-valgrind
- --without-examples
- )
-
- econf "${myeconfargs[@]}"
-}
-
-src_install() {
- default
-
- find "${ED}" \( -name "*.a" -o -name "*.la" \) -delete || die
-}
diff --git a/dev-libs/libcdada/libcdada-0.4.0.ebuild b/dev-libs/libcdada/libcdada-0.4.0.ebuild
new file mode 100644
index 000000000000..754eed86424d
--- /dev/null
+++ b/dev-libs/libcdada/libcdada-0.4.0.ebuild
@@ -0,0 +1,53 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{9..11} )
+inherit autotools python-any-r1
+
+DESCRIPTION="Basic data structures in C"
+HOMEPAGE="https://github.com/msune/libcdada"
+SRC_URI="https://github.com/msune/${PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="BSD-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="test"
+RESTRICT="!test? ( test )"
+BDEPEND="test? ( ${PYTHON_DEPS} )"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-0.3.4-Werror.patch
+ "${FILESDIR}"/${PN}-0.3.5-respect-CFLAGS.patch
+)
+
+pkg_setup() {
+ use test && python-any-r1_pkg_setup
+}
+
+src_prepare() {
+ default
+
+ eautoreconf
+}
+
+src_configure() {
+ local myeconfargs=(
+ $(use_with test tests)
+
+ # Needed for tests. We throw them away in src_install anyway.
+ --enable-static
+
+ --disable-valgrind
+ --without-examples
+ )
+
+ econf "${myeconfargs[@]}"
+}
+
+src_install() {
+ default
+
+ find "${ED}" \( -name "*.a" -o -name "*.la" \) -delete || die
+}
diff --git a/dev-libs/libcdio-paranoia/libcdio-paranoia-2.0.1.ebuild b/dev-libs/libcdio-paranoia/libcdio-paranoia-2.0.1.ebuild
index 2492b4825207..53d9dcb9f3d6 100644
--- a/dev-libs/libcdio-paranoia/libcdio-paranoia-2.0.1.ebuild
+++ b/dev-libs/libcdio-paranoia/libcdio-paranoia-2.0.1.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
@@ -16,7 +16,7 @@ SRC_URI="mirror://gnu/${PN%-*}/${MY_P}.tar.bz2"
# clause "or later" so we use LGPL-2.1 without +
LICENSE="GPL-3+ GPL-2+ LGPL-2.1"
SLOT="0/2" # soname version
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ppc ppc64 ~riscv sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~x86-solaris"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
IUSE="+cxx static-libs test"
RDEPEND="app-eselect/eselect-cdparanoia
diff --git a/dev-libs/libcdio/Manifest b/dev-libs/libcdio/Manifest
index abf85af3b16a..5c2a9619040b 100644
--- a/dev-libs/libcdio/Manifest
+++ b/dev-libs/libcdio/Manifest
@@ -1,2 +1 @@
-DIST libcdio-2.0.0.tar.gz 2354813 BLAKE2B d3ebf9a20004cc8c75d1e6f97a2cea68f490517e34a4cf84f343d717e49cbb9cd612a3c6911894501f16373e3222e7fc6d175fd6d93d1c967cd21502716b22f8 SHA512 8f48cc71d28b427b16f48e50bcaf0aea171055c72a9aeee383ac4374eee1d3d288323814c3a3f308a9ba097aa815319429c1931072897985a3b02b814766fd4f
DIST libcdio-2.1.0.tar.bz2 1759040 BLAKE2B 4859fc545cf81246279b7b0434c02916e874681b40d00f8253fd7837941a34c5a717a81b1c3b1714153ad343e03c28668984f6fd5647662ec4e6759752326cb0 SHA512 c290821da55fd9ae366670a58857aa6efcebc9f25b7caea063cf12f9cbda84fe770c5f59f972227fda50517ca58c5f39c0137daa0f93179e3daa45303d8b610f
diff --git a/dev-libs/libcdio/files/libcdio-2.0.0-iso-ioleak.patch b/dev-libs/libcdio/files/libcdio-2.0.0-iso-ioleak.patch
deleted file mode 100644
index 17732104c3d1..000000000000
--- a/dev-libs/libcdio/files/libcdio-2.0.0-iso-ioleak.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-From 8c0de2d3f0324ecf3fd135589589dcd783c15556 Mon Sep 17 00:00:00 2001
-From: rocky <rocky@gnu.org>
-Date: Fri, 16 Feb 2018 09:14:17 -0500
-Subject: Fix small I/O leak when we can't read ISO file
-
-See Savannah bug #53170. Thanks to David Binderman.
----
- src/iso-read.c | 8 ++++++--
- 1 file changed, 6 insertions(+), 2 deletions(-)
-
-diff --git a/src/iso-read.c b/src/iso-read.c
-index 0541e27..8647485 100644
---- a/src/iso-read.c
-+++ b/src/iso-read.c
-@@ -1,5 +1,6 @@
- /*
-- Copyright (C) 2004-2006, 2008, 2012-2013, 2017 Rocky Bernstein <rocky@gnu.org>
-+ Copyright (C) 2004-2006, 2008, 2012-2013, 2017-2018 Rocky Bernstein
-+ <rocky@gnu.org>
-
- This program is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
-@@ -364,7 +365,10 @@ main(int argc, char *argv[])
- ret = read_iso_file (opts.iso9660_image, opts.file_name,
- outfd, &bytes_written);
- }
-- if (ret != 0) return ret;
-+ if (ret != 0) {
-+ fclose (outfd);
-+ return ret;
-+ }
-
- fflush (outfd);
-
---
-cgit v1.0-41-gc330
-
diff --git a/dev-libs/libcdio/files/libcdio-2.1.0-realpath-test-fix.patch b/dev-libs/libcdio/files/libcdio-2.1.0-realpath-test-fix.patch
new file mode 100644
index 000000000000..10325682aec2
--- /dev/null
+++ b/dev-libs/libcdio/files/libcdio-2.1.0-realpath-test-fix.patch
@@ -0,0 +1,48 @@
+https://bugs.gentoo.org/834342
+https://git.savannah.gnu.org/cgit/libcdio.git/commit/?id=56335fff0f21d294cd0e478d49542a43e9495ed0
+
+From 56335fff0f21d294cd0e478d49542a43e9495ed0 Mon Sep 17 00:00:00 2001
+From: "R. Bernstein" <rocky@gnu.org>
+Date: Wed, 24 Aug 2022 14:34:33 -0400
+Subject: Correct realpath test failure
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+See https://savannah.gnu.org/bugs/?62948
+Patch courtesy of Martin Liška <marxin>
+--- a/test/driver/realpath.c
++++ b/test/driver/realpath.c
+@@ -1,5 +1,7 @@
+ /* -*- C -*-
+- Copyright (C) 2010-2012, 2015, 2017 Rocky Bernstein <rocky@gnu.org>
++
++ Copyright (C) 2010-2012, 2015, 2017, 2022 Rocky Bernstein
++ <rocky@gnu.org>
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+@@ -175,16 +177,17 @@ main(int argc, const char *argv[])
+ rc = check_rc(symlink(psz_symlink_file, psz_symlink_file),
+ "symlink", psz_symlink_file);
+ if (0 == rc) {
+- cdio_realpath(psz_symlink_file, psz_file_check);
+- if (0 != strncmp(psz_file_check, symlink_file, PATH_MAX)) {
++ char *retvalue = cdio_realpath(psz_symlink_file, psz_file_check);
++ if (0 != retvalue) {
++ if (0 != strncmp(psz_file_check, symlink_file, PATH_MAX)) {
+ fprintf(stderr, "direct cdio_realpath cycle test failed. %s vs %s\n",
+ psz_file_check, symlink_file);
+ rc = 5;
+ goto err_exit;
++ }
++ check_rc(unlink(psz_symlink_file), "unlink", psz_symlink_file);
+ }
+- check_rc(unlink(psz_symlink_file), "unlink", psz_symlink_file);
+ }
+-
+ }
+
+ check_rc(unlink(psz_orig_file), "unlink", psz_orig_file);
+--
+cgit v1.1
diff --git a/dev-libs/libcdio/libcdio-2.0.0-r1.ebuild b/dev-libs/libcdio/libcdio-2.0.0-r1.ebuild
deleted file mode 100644
index 4144e54f2f0d..000000000000
--- a/dev-libs/libcdio/libcdio-2.0.0-r1.ebuild
+++ /dev/null
@@ -1,76 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit autotools libtool multilib-minimal toolchain-funcs
-
-DESCRIPTION="A library to encapsulate CD-ROM reading and control"
-HOMEPAGE="https://www.gnu.org/software/libcdio/"
-SRC_URI="mirror://gnu/${PN}/${P}.tar.gz"
-
-LICENSE="GPL-3"
-SLOT="0/18" # subslot is based on SONAME
-KEYWORDS="~alpha amd64 arm ~arm64 ~hppa ~ia64 ~mips ppc ppc64 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~x86-solaris"
-IUSE="cddb +cxx minimal static-libs test"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- !minimal? (
- >=sys-libs/ncurses-5.7-r7:0=
- cddb? ( >=media-libs/libcddb-1.3.2 )
- )
- >=virtual/libiconv-0-r1[${MULTILIB_USEDEP}]
-"
-DEPEND="${RDEPEND}
- sys-apps/sed
- sys-devel/gettext
- virtual/pkgconfig
- test? ( dev-lang/perl )
-"
-
-DOCS=( AUTHORS ChangeLog NEWS README{,.libcdio} THANKS TODO )
-
-MULTILIB_WRAPPED_HEADERS=(
- /usr/include/cdio/cdio_config.h
- /usr/include/cdio/version.h
-)
-
-PATCHES=( "${FILESDIR}/${P}-iso-ioleak.patch" )
-
-src_prepare() {
- default
-
- eautoreconf
-
- sed \
- -e "s:-lncurses:$($(tc-getPKG_CONFIG) --libs ncurses):g" \
- -i configure || die
-
- elibtoolize # to prevent -L/usr/lib ending up in the linker line wrt 499510
-}
-
-multilib_src_configure() {
- local util_switch
- if ! multilib_is_native_abi || use minimal ; then
- util_switch="--without"
- else
- util_switch="--with"
- fi
-
- # Tests fail if ECONF_SOURCE is not relative
- ECONF_SOURCE="../${P}" econf \
- --disable-maintainer-mode \
- $(use_enable cxx) \
- --disable-cpp-progs \
- --disable-example-progs \
- $(use_enable static-libs static) \
- $(use_enable cddb) \
- --disable-vcd-info \
- ${util_switch}-{cd-drive,cd-info,cdda-player,cd-read,iso-info,iso-read}
-}
-
-multilib_src_install_all() {
- einstalldocs
- find "${ED}" -name '*.la' -delete || die
-}
diff --git a/dev-libs/libcdio/libcdio-2.1.0-r1.ebuild b/dev-libs/libcdio/libcdio-2.1.0-r1.ebuild
index 16cc3dc36ed7..6f2f17a4791e 100644
--- a/dev-libs/libcdio/libcdio-2.1.0-r1.ebuild
+++ b/dev-libs/libcdio/libcdio-2.1.0-r1.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=7
-inherit autotools libtool multilib-minimal
+inherit autotools flag-o-matic libtool multilib-minimal
DESCRIPTION="A library to encapsulate CD-ROM reading and control"
HOMEPAGE="https://www.gnu.org/software/libcdio/"
@@ -11,7 +11,7 @@ SRC_URI="mirror://gnu/${PN}/${P}.tar.bz2"
LICENSE="GPL-3"
SLOT="0/19" # subslot is based on SONAME
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ppc ppc64 ~riscv sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~x86-solaris"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
IUSE="cddb +cxx minimal static-libs test"
RESTRICT="!test? ( test )"
@@ -24,7 +24,6 @@ RDEPEND="
"
DEPEND="${RDEPEND}"
BDEPEND="
- sys-apps/sed
sys-devel/gettext
virtual/pkgconfig
test? ( dev-lang/perl )
@@ -39,17 +38,25 @@ MULTILIB_WRAPPED_HEADERS=(
PATCHES=(
"${FILESDIR}/${PN}-2.1.0-ncurses_pkgconfig.patch"
+ "${FILESDIR}/${P}-realpath-test-fix.patch"
)
src_prepare() {
default
eautoreconf
-
- elibtoolize # to prevent -L/usr/lib ending up in the linker line wrt 499510
+ elibtoolize # to prevent -L/usr/lib ending up in the linker line wrt #499510
}
multilib_src_configure() {
+ # -Werror=lto-type-mismatch
+ # https://bugs.gentoo.org/855701
+ # https://savannah.gnu.org/bugs/index.php?65458
+ filter-lto
+
+ # Workaround for LLD 17, drop after 2.1.0 (bug #915826)
+ append-ldflags $(test-flags-CCLD -Wl,--undefined-version)
+
local util_switch
if ! multilib_is_native_abi || use minimal ; then
util_switch="--without"
diff --git a/dev-libs/libcdio/metadata.xml b/dev-libs/libcdio/metadata.xml
index bc4c2d22d578..af69d3a4320d 100644
--- a/dev-libs/libcdio/metadata.xml
+++ b/dev-libs/libcdio/metadata.xml
@@ -12,4 +12,7 @@
none of the command-line utilities are built, nor is the CDDA library.
</flag>
</use>
+ <upstream>
+ <remote-id type="savannah">libcdio</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/dev-libs/libcec/Manifest b/dev-libs/libcec/Manifest
index e40cd603a8c8..a67ecd5cbf8e 100644
--- a/dev-libs/libcec/Manifest
+++ b/dev-libs/libcec/Manifest
@@ -1,3 +1 @@
-DIST libcec-4.0.4.tar.gz 344976 BLAKE2B ce88730ee6e9f57a3f874dd47343e8bb12bd9d3644b58703f0b797bfe656fa25461e6847db4023fec92d9e9740f0e58b59a203258d39d8883b8ae9cde147f455 SHA512 8991ba96fe9a87e5e1f63ff87f77fc0fc3b735c537e2ee6cb004fdc264d75cecd043e39b49cf9e64aeadd24bb1fb57911d9c4bd6c494d9ba4035d7320c268116
-DIST libcec-4.0.7.tar.gz 355249 BLAKE2B 5f742364804d0d10cfcd71635645d33c3dfde200e79332470d2b5b2e64966834a0604d4684ad5919a00aaf60f05f4dbbbc9ce13a0dcf0ba4fa11d1f6a0391673 SHA512 424540a45f9cae3d5dcccc615d487c45033f9cdeb665b8176832495597e2cd58ef7681e13b52f6a32f8a40e1146c04a1a383f5785ea1e731c5c517a9a7843a81
DIST libcec-6.0.2.tar.gz 355807 BLAKE2B 007530d839493355f283992a4390550d6ddd432977d7489c17087f7e5bb6f503c35e967ed6a620d55e2e7c25ce10814f360d146a28b860cdcdd108fae152f896 SHA512 c16ac268e67b01d4e35fad644e5927e1d9fc7bcaeff698ac5f0eadd31ec63a0bef2a2b2bc37860d1571e1e0cdc55911c2de468c661c7c7ae1d492f80188035cb
diff --git a/dev-libs/libcec/files/libcec-6.0.2-musl-nullptr.patch b/dev-libs/libcec/files/libcec-6.0.2-musl-nullptr.patch
new file mode 100644
index 000000000000..d161e20c130d
--- /dev/null
+++ b/dev-libs/libcec/files/libcec-6.0.2-musl-nullptr.patch
@@ -0,0 +1,29 @@
+https://github.com/Pulse-Eight/libcec/pull/599
+
+From 452b2049b2ee3e73968c603e5524b2d349ac0c3e Mon Sep 17 00:00:00 2001
+From: psykose <alice@ayaya.dev>
+Date: Sat, 9 Apr 2022 17:59:11 +0000
+Subject: [PATCH] cecloader.h: fix null return
+
+returning NULL is invalid for a return type of bool when NULL is defined
+as `nullptr` instead of 0L
+--- a/include/cecloader.h
++++ b/include/cecloader.h
+@@ -172,7 +172,7 @@ bool LibCecBootloader(const char *strLib = NULL)
+ if (!g_libCEC)
+ {
+ std::cout << dlerror() << std::endl;
+- return NULL;
++ return false;
+ }
+ }
+
+@@ -181,7 +181,7 @@ bool LibCecBootloader(const char *strLib = NULL)
+ if (!LibCecBootloader)
+ {
+ std::cout << "cannot find CECStartBootloader" << std::endl;
+- return NULL;
++ return false;
+ }
+
+ bool bReturn = LibCecBootloader();
diff --git a/dev-libs/libcec/libcec-4.0.4-r1.ebuild b/dev-libs/libcec/libcec-4.0.4-r1.ebuild
deleted file mode 100644
index 7042dfd820b5..000000000000
--- a/dev-libs/libcec/libcec-4.0.4-r1.ebuild
+++ /dev/null
@@ -1,78 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python{3_7,3_8} )
-MY_PV=${PV/_p/-}
-MY_P=${PN}-${MY_PV}
-
-inherit cmake linux-info python-single-r1 toolchain-funcs
-
-DESCRIPTION="Library for communicating with the Pulse-Eight USB HDMI-CEC Adaptor"
-HOMEPAGE="http://libcec.pulse-eight.com"
-SRC_URI="https://github.com/Pulse-Eight/${PN}/archive/${MY_P}.tar.gz"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="amd64 ~arm ~arm64 x86"
-IUSE="cubox exynos python raspberry-pi +xrandr"
-REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
-
-RDEPEND="virtual/udev
- >=dev-libs/libplatform-2.0.0
- sys-libs/ncurses:=
- raspberry-pi? ( >=media-libs/raspberrypi-userland-0_pre20160305-r1 )
- xrandr? ( x11-libs/libXrandr )
- python? ( ${PYTHON_DEPS} )"
-DEPEND="${RDEPEND}
- python? ( dev-lang/swig )
- virtual/pkgconfig"
-
-CONFIG_CHECK="~USB_ACM"
-
-S="${WORKDIR}/${PN}-${MY_P}"
-
-pkg_pretend() {
- linux-info_pkg_setup
-}
-
-pkg_setup() {
- linux-info_pkg_setup
- use python && python-single-r1_pkg_setup
-}
-
-src_prepare() {
- cmake_src_prepare
-
- # Do not hardcode the python libpath #577612
- sed -i \
- -e '/DESTINATION/s:lib/python${PYTHON_VERSION}/dist-packages:${PYTHON_SITEDIR}:' \
- src/libcec/cmake/CheckPlatformSupport.cmake || die
-
- use python || cmake_comment_add_subdirectory "src/pyCecClient"
-}
-
-src_configure() {
- local mycmakeargs=(
- -DSKIP_PYTHON_WRAPPER=$(usex !python)
- -DHAVE_EXYNOS_API=$(usex exynos)
- -DHAVE_TDA995X_API=$(usex cubox)
- -DHAVE_RPI_API=$(usex raspberry-pi)
- )
-
- # raspberrypi-userland itself does not provide .pc file so using
- # bcm_host.pc instead
- use raspberry-pi && mycmakeargs+=(
- -DRPI_INCLUDE_DIR=$( $(tc-getPKG_CONFIG) --variable=includedir bcm_host) \
- -DRPI_LIB_DIR=$( $(tc-getPKG_CONFIG) --variable=libdir bcm_host)
- )
-
- cmake_src_configure
-}
-
-pkg_postinst() {
- elog "You will need to ensure the user running your CEC client has"
- elog "read/write access to the device. You can ensure this by adding"
- elog "them to the uucp group"
-}
diff --git a/dev-libs/libcec/libcec-4.0.7.ebuild b/dev-libs/libcec/libcec-4.0.7.ebuild
deleted file mode 100644
index f3723dd903c0..000000000000
--- a/dev-libs/libcec/libcec-4.0.7.ebuild
+++ /dev/null
@@ -1,123 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python{3_7,3_8} )
-MY_PV=${PV/_p/-}
-MY_P=${PN}-${MY_PV}
-
-inherit cmake linux-info python-single-r1 toolchain-funcs
-
-DESCRIPTION="Library for communicating with the Pulse-Eight USB HDMI-CEC Adaptor"
-HOMEPAGE="http://libcec.pulse-eight.com"
-SRC_URI="https://github.com/Pulse-Eight/${PN}/archive/${MY_P}.tar.gz"
-
-LICENSE="GPL-2+"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~x86"
-IUSE="cubox exynos python raspberry-pi kernel-cec tools +xrandr udev"
-REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
-
-RDEPEND="udev? ( virtual/udev )
- >=dev-libs/libplatform-2.0.0
- tools? ( sys-libs/ncurses:= )
- raspberry-pi? ( >=media-libs/raspberrypi-userland-0_pre20160305-r1 )
- xrandr? ( x11-libs/libXrandr )
- python? ( ${PYTHON_DEPS} )"
-DEPEND="${RDEPEND}
- python? ( dev-lang/swig )"
-
-BDEPEND="virtual/pkgconfig"
-
-CONFIG_CHECK="~USB_ACM"
-
-S="${WORKDIR}/${PN}-${MY_P}"
-
-PATCHES=(
- "${FILESDIR}/${PN}-4.0.7-no-override-udev.patch"
- )
-
-pkg_pretend() {
- use udev || CONFIG_CHECK+=" ~SYSFS"
- ERROR_SYSFS="When using libcec build without udev, kernel config option CONFIG_SYSFS is required to automatically detect P8 USB-CEC adapter port number"
-
- linux-info_pkg_setup
-}
-
-pkg_setup() {
- linux-info_pkg_setup
- use python && python-single-r1_pkg_setup
-}
-
-src_prepare() {
- cmake_src_prepare
-
- # Do not hardcode the python libpath #577612
- sed -i \
- -e '/DESTINATION/s:"lib/python${PYTHON_VERSION}/${PYTHON_PKG_DIR}":${PYTHON_SITEDIR}:' \
- src/libcec/cmake/CheckPlatformSupport.cmake || die
-
- sed -Ee 's|[ ~]?#DIST#;?||g' debian/changelog.in > ChangeLog || die
-
- (use tools && use python) || cmake_comment_add_subdirectory "src/pyCecClient"
-
- if ! use tools; then
- cmake_comment_add_subdirectory "src/cec-client"
- cmake_comment_add_subdirectory "src/cecc-client"
- sed -i -Ee 's|add_dependencies\(cecc?-client cec\)|#DO NOT BUILD \0|' \
- CMakeLists.txt || die
- fi
-}
-
-src_configure() {
- local mycmakeargs=(
- -DHAVE_LINUX_API=$(usex kernel-cec ON OFF)
- -DHAVE_LIBUDEV=$(usex udev ON OFF)
- -DSKIP_PYTHON_WRAPPER=$(usex python OFF ON)
- -DHAVE_EXYNOS_API=$(usex exynos ON OFF)
- -DHAVE_TDA995X_API=$(usex cubox ON OFF)
- -DHAVE_RPI_API=$(usex raspberry-pi ON OFF)
- )
-
- if linux_config_exists && linux_chkconfig_present SYSFS; then
- mycmakeargs+=( -DHAVE_P8_USB_DETECT=ON )
- fi
-
- # raspberrypi-userland itself does not provide .pc file so using
- # bcm_host.pc instead
- use raspberry-pi && mycmakeargs+=(
- -DRPI_INCLUDE_DIR=$( $(tc-getPKG_CONFIG) --variable=includedir bcm_host) \
- -DRPI_LIB_DIR=$( $(tc-getPKG_CONFIG) --variable=libdir bcm_host)
- )
-
- cmake_src_configure
-}
-
-src_compile() {
- cmake_src_compile
-
- if use udev; then
- cp "${S}/debian/pulse-eight-usb-cec.udev" \
- "${BUILD_DIR}/65-pulse-eight-usb-cec.udev" || die
- fi
-}
-
-src_install() {
- cmake_src_install
-
- use python && python_optimize "${D}$(python_get_sitedir)"
-
- use tools && doman debian/cec-client.1
-
- if use udev; then
- insinto /lib/udev/rules.d
- doins "${BUILD_DIR}/65-pulse-eight-usb-cec.udev"
- fi
-}
-
-pkg_postinst() {
- elog "You will need to ensure the user running your CEC client has"
- elog "read/write access to the device. You can ensure this by adding"
- elog "them to the uucp group"
-}
diff --git a/dev-libs/libcec/libcec-6.0.2-r1.ebuild b/dev-libs/libcec/libcec-6.0.2-r1.ebuild
new file mode 100644
index 000000000000..f6382bb14788
--- /dev/null
+++ b/dev-libs/libcec/libcec-6.0.2-r1.ebuild
@@ -0,0 +1,131 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{9..11} )
+MY_PV=${PV/_p/-}
+MY_P=${PN}-${MY_PV}
+
+inherit cmake linux-info python-single-r1 toolchain-funcs udev
+
+DESCRIPTION="Library for communicating with the Pulse-Eight USB HDMI-CEC Adaptor"
+HOMEPAGE="https://libcec.pulse-eight.com"
+SRC_URI="https://github.com/Pulse-Eight/${PN}/archive/${MY_P}.tar.gz"
+S="${WORKDIR}/${PN}-${MY_P}"
+
+LICENSE="GPL-2+"
+SLOT="0"
+KEYWORDS="amd64 ~arm arm64 ~riscv x86"
+IUSE="cubox exynos kernel-cec python raspberry-pi tools udev +xrandr"
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+
+RDEPEND=">=dev-libs/libplatform-2.0.0
+ python? ( ${PYTHON_DEPS} )
+ raspberry-pi? ( >=media-libs/raspberrypi-userland-0_pre20160305-r1 )
+ udev? ( virtual/udev )
+ xrandr? (
+ x11-libs/libX11
+ x11-libs/libXrandr
+ )
+
+"
+DEPEND="${RDEPEND}
+ python? ( dev-lang/swig )"
+BDEPEND="virtual/pkgconfig"
+
+CONFIG_CHECK="~USB_ACM"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-4.0.7-no-override-udev.patch"
+ "${FILESDIR}/${PN}-6.0.2-musl-nullptr.patch"
+)
+
+pkg_pretend() {
+ use udev || CONFIG_CHECK+=" ~SYSFS"
+ ERROR_SYSFS="When using libcec build without udev, kernel config option CONFIG_SYSFS is required to automatically detect P8 USB-CEC adapter port number"
+
+ linux-info_pkg_setup
+}
+
+pkg_setup() {
+ linux-info_pkg_setup
+ use python && python-single-r1_pkg_setup
+}
+
+src_prepare() {
+ cmake_src_prepare
+
+ # Do not hardcode the python libpath #577612
+ sed -i \
+ -e '/DESTINATION/s:"lib/python${PYTHON_VERSION}/${PYTHON_PKG_DIR}":${PYTHON_SITEDIR}:' \
+ src/libcec/cmake/CheckPlatformSupport.cmake || die
+
+ sed -Ee 's|[ ~]?#DIST#;?||g' debian/changelog.in > ChangeLog || die
+
+ (use tools && use python) || cmake_comment_add_subdirectory "src/pyCecClient"
+
+ if ! use tools; then
+ cmake_comment_add_subdirectory "src/cec-client"
+ cmake_comment_add_subdirectory "src/cecc-client"
+ sed -i -Ee 's|add_dependencies\(cecc?-client cec\)|#DO NOT BUILD \0|' \
+ CMakeLists.txt || die
+ fi
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DHAVE_LINUX_API=$(usex kernel-cec ON OFF)
+ -DHAVE_LIBUDEV=$(usex udev ON OFF)
+ -DSKIP_PYTHON_WRAPPER=$(usex python OFF ON)
+ -DHAVE_EXYNOS_API=$(usex exynos ON OFF)
+ -DHAVE_TDA995X_API=$(usex cubox ON OFF)
+ -DHAVE_RPI_API=$(usex raspberry-pi ON OFF)
+ )
+
+ if linux_config_exists && linux_chkconfig_present SYSFS; then
+ mycmakeargs+=( -DHAVE_P8_USB_DETECT=ON )
+ fi
+
+ # raspberrypi-userland itself does not provide .pc file so using
+ # bcm_host.pc instead
+ use raspberry-pi && mycmakeargs+=(
+ -DRPI_INCLUDE_DIR=$( $(tc-getPKG_CONFIG) --variable=includedir bcm_host) \
+ -DRPI_LIB_DIR=$( $(tc-getPKG_CONFIG) --variable=libdir bcm_host)
+ )
+
+ cmake_src_configure
+}
+
+src_compile() {
+ cmake_src_compile
+
+ if use udev ; then
+ sed '/2548/ s/SUBSYSTEM/SUBSYSTEMS/; s/$/, GROUP="video"/;' "${S}/debian/pulse-eight-usb-cec.udev" > \
+ "${BUILD_DIR}/65-pulse-eight-usb-cec.rules" || die
+ fi
+}
+
+src_install() {
+ cmake_src_install
+
+ use python && python_optimize "${D}$(python_get_sitedir)"
+
+ use tools && doman debian/cec-client.1
+
+ if use udev; then
+ udev_dorules "${BUILD_DIR}/65-pulse-eight-usb-cec.rules"
+ fi
+}
+
+pkg_postrm() {
+ use udev && udev_reload
+}
+
+pkg_postinst() {
+ use udev && udev_reload
+
+ elog "You will need to ensure the user running your CEC client has"
+ elog "read/write access to the device. You can ensure this by adding"
+ elog "them to the video group"
+}
diff --git a/dev-libs/libcec/libcec-6.0.2-r2.ebuild b/dev-libs/libcec/libcec-6.0.2-r2.ebuild
new file mode 100644
index 000000000000..9d3d2bf12bb9
--- /dev/null
+++ b/dev-libs/libcec/libcec-6.0.2-r2.ebuild
@@ -0,0 +1,123 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{9..11} )
+MY_PV=${PV/_p/-}
+MY_P=${PN}-${MY_PV}
+
+inherit cmake linux-info python-single-r1 toolchain-funcs udev
+
+DESCRIPTION="Library for communicating with the Pulse-Eight USB HDMI-CEC Adaptor"
+HOMEPAGE="https://libcec.pulse-eight.com"
+SRC_URI="https://github.com/Pulse-Eight/${PN}/archive/${MY_P}.tar.gz"
+S="${WORKDIR}/${PN}-${MY_P}"
+
+LICENSE="GPL-2+"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~x86"
+IUSE="cubox exynos kernel-cec python tools udev +xrandr"
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+
+RDEPEND=">=dev-libs/libplatform-2.0.0
+ python? ( ${PYTHON_DEPS} )
+ udev? ( virtual/udev )
+ xrandr? (
+ x11-libs/libX11
+ x11-libs/libXrandr
+ )
+
+"
+DEPEND="${RDEPEND}
+ python? ( dev-lang/swig )"
+BDEPEND="virtual/pkgconfig"
+
+CONFIG_CHECK="~USB_ACM"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-4.0.7-no-override-udev.patch"
+ "${FILESDIR}/${PN}-6.0.2-musl-nullptr.patch"
+)
+
+pkg_pretend() {
+ use udev || CONFIG_CHECK+=" ~SYSFS"
+ ERROR_SYSFS="When using libcec build without udev, kernel config option CONFIG_SYSFS is required to automatically detect P8 USB-CEC adapter port number"
+
+ linux-info_pkg_setup
+}
+
+pkg_setup() {
+ linux-info_pkg_setup
+ use python && python-single-r1_pkg_setup
+}
+
+src_prepare() {
+ cmake_src_prepare
+
+ # Do not hardcode the python libpath #577612
+ sed -i \
+ -e '/DESTINATION/s:"lib/python${PYTHON_VERSION}/${PYTHON_PKG_DIR}":${PYTHON_SITEDIR}:' \
+ src/libcec/cmake/CheckPlatformSupport.cmake || die
+
+ sed -Ee 's|[ ~]?#DIST#;?||g' debian/changelog.in > ChangeLog || die
+
+ (use tools && use python) || cmake_comment_add_subdirectory "src/pyCecClient"
+
+ if ! use tools; then
+ cmake_comment_add_subdirectory "src/cec-client"
+ cmake_comment_add_subdirectory "src/cecc-client"
+ sed -i -Ee 's|add_dependencies\(cecc?-client cec\)|#DO NOT BUILD \0|' \
+ CMakeLists.txt || die
+ fi
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DHAVE_LINUX_API=$(usex kernel-cec ON OFF)
+ -DHAVE_LIBUDEV=$(usex udev ON OFF)
+ -DSKIP_PYTHON_WRAPPER=$(usex python OFF ON)
+ -DHAVE_EXYNOS_API=$(usex exynos ON OFF)
+ -DHAVE_TDA995X_API=$(usex cubox ON OFF)
+ -DHAVE_RPI_API=OFF
+ )
+
+ if linux_config_exists && linux_chkconfig_present SYSFS; then
+ mycmakeargs+=( -DHAVE_P8_USB_DETECT=ON )
+ fi
+
+ cmake_src_configure
+}
+
+src_compile() {
+ cmake_src_compile
+
+ if use udev ; then
+ sed '/2548/ s/SUBSYSTEM/SUBSYSTEMS/; s/$/, GROUP="video"/;' "${S}/debian/pulse-eight-usb-cec.udev" > \
+ "${BUILD_DIR}/65-pulse-eight-usb-cec.rules" || die
+ fi
+}
+
+src_install() {
+ cmake_src_install
+
+ use python && python_optimize "${D}$(python_get_sitedir)"
+
+ use tools && doman debian/cec-client.1
+
+ if use udev; then
+ udev_dorules "${BUILD_DIR}/65-pulse-eight-usb-cec.rules"
+ fi
+}
+
+pkg_postrm() {
+ use udev && udev_reload
+}
+
+pkg_postinst() {
+ use udev && udev_reload
+
+ elog "You will need to ensure the user running your CEC client has"
+ elog "read/write access to the device. You can ensure this by adding"
+ elog "them to the video group"
+}
diff --git a/dev-libs/libcec/libcec-6.0.2.ebuild b/dev-libs/libcec/libcec-6.0.2.ebuild
deleted file mode 100644
index 80507a293bfb..000000000000
--- a/dev-libs/libcec/libcec-6.0.2.ebuild
+++ /dev/null
@@ -1,123 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{8..10} )
-MY_PV=${PV/_p/-}
-MY_P=${PN}-${MY_PV}
-
-inherit cmake linux-info python-single-r1 toolchain-funcs
-
-DESCRIPTION="Library for communicating with the Pulse-Eight USB HDMI-CEC Adaptor"
-HOMEPAGE="http://libcec.pulse-eight.com"
-SRC_URI="https://github.com/Pulse-Eight/${PN}/archive/${MY_P}.tar.gz"
-
-LICENSE="GPL-2+"
-SLOT="0"
-KEYWORDS="amd64 ~arm arm64 x86"
-IUSE="cubox exynos python raspberry-pi kernel-cec tools +xrandr udev"
-REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
-
-RDEPEND=">=dev-libs/libplatform-2.0.0
- python? ( ${PYTHON_DEPS} )
- raspberry-pi? ( >=media-libs/raspberrypi-userland-0_pre20160305-r1 )
- tools? ( sys-libs/ncurses:= )
- udev? ( virtual/udev )
- xrandr? ( x11-libs/libXrandr )
-"
-DEPEND="${RDEPEND}
- python? ( dev-lang/swig )"
-BDEPEND="virtual/pkgconfig"
-
-CONFIG_CHECK="~USB_ACM"
-
-S="${WORKDIR}/${PN}-${MY_P}"
-
-PATCHES=(
- "${FILESDIR}/${PN}-4.0.7-no-override-udev.patch"
-)
-
-pkg_pretend() {
- use udev || CONFIG_CHECK+=" ~SYSFS"
- ERROR_SYSFS="When using libcec build without udev, kernel config option CONFIG_SYSFS is required to automatically detect P8 USB-CEC adapter port number"
-
- linux-info_pkg_setup
-}
-
-pkg_setup() {
- linux-info_pkg_setup
- use python && python-single-r1_pkg_setup
-}
-
-src_prepare() {
- cmake_src_prepare
-
- # Do not hardcode the python libpath #577612
- sed -i \
- -e '/DESTINATION/s:"lib/python${PYTHON_VERSION}/${PYTHON_PKG_DIR}":${PYTHON_SITEDIR}:' \
- src/libcec/cmake/CheckPlatformSupport.cmake || die
-
- sed -Ee 's|[ ~]?#DIST#;?||g' debian/changelog.in > ChangeLog || die
-
- (use tools && use python) || cmake_comment_add_subdirectory "src/pyCecClient"
-
- if ! use tools; then
- cmake_comment_add_subdirectory "src/cec-client"
- cmake_comment_add_subdirectory "src/cecc-client"
- sed -i -Ee 's|add_dependencies\(cecc?-client cec\)|#DO NOT BUILD \0|' \
- CMakeLists.txt || die
- fi
-}
-
-src_configure() {
- local mycmakeargs=(
- -DHAVE_LINUX_API=$(usex kernel-cec ON OFF)
- -DHAVE_LIBUDEV=$(usex udev ON OFF)
- -DSKIP_PYTHON_WRAPPER=$(usex python OFF ON)
- -DHAVE_EXYNOS_API=$(usex exynos ON OFF)
- -DHAVE_TDA995X_API=$(usex cubox ON OFF)
- -DHAVE_RPI_API=$(usex raspberry-pi ON OFF)
- )
-
- if linux_config_exists && linux_chkconfig_present SYSFS; then
- mycmakeargs+=( -DHAVE_P8_USB_DETECT=ON )
- fi
-
- # raspberrypi-userland itself does not provide .pc file so using
- # bcm_host.pc instead
- use raspberry-pi && mycmakeargs+=(
- -DRPI_INCLUDE_DIR=$( $(tc-getPKG_CONFIG) --variable=includedir bcm_host) \
- -DRPI_LIB_DIR=$( $(tc-getPKG_CONFIG) --variable=libdir bcm_host)
- )
-
- cmake_src_configure
-}
-
-src_compile() {
- cmake_src_compile
-
- if use udev ; then
- cp "${S}/debian/pulse-eight-usb-cec.udev" \
- "${BUILD_DIR}/65-pulse-eight-usb-cec.udev" || die
- fi
-}
-
-src_install() {
- cmake_src_install
-
- use python && python_optimize "${D}$(python_get_sitedir)"
-
- use tools && doman debian/cec-client.1
-
- if use udev; then
- insinto /lib/udev/rules.d
- doins "${BUILD_DIR}/65-pulse-eight-usb-cec.udev"
- fi
-}
-
-pkg_postinst() {
- elog "You will need to ensure the user running your CEC client has"
- elog "read/write access to the device. You can ensure this by adding"
- elog "them to the uucp group"
-}
diff --git a/dev-libs/libcgroup/Manifest b/dev-libs/libcgroup/Manifest
index b9417a00e1e3..48d5b3481552 100644
--- a/dev-libs/libcgroup/Manifest
+++ b/dev-libs/libcgroup/Manifest
@@ -1,2 +1,3 @@
DIST libcgroup-0.41.tar.bz2 500120 BLAKE2B 3410b430aa58613b5b9abedba05bef99b1b8a1fd619d55fb446ab951e052a336efc918879217055bceee886a03d97c3ff46028a87e8231212653a886cfb80521 SHA512 1aedb02cd2ce3bc2e2a328a247a92976ad0978ca4d3aee4eb671fbcc6bb270348efc78dcf84f27fc500f8bfb9bb57c7d6e4d429ef2bc69e4e5118b7cd895a6bd
-DIST libcgroup-2.0.tar.bz2 953191 BLAKE2B d4fe008a51a4f90047210a3c8e4ce48b1c4a126111ccc7fe919404b1782ea764404894a43a651e0d6b2674d02fb031cb56cf7a689c57600d856c03536524bb63 SHA512 b2c5d1128536bf49782415df2d1530cf48bdb287e5d2abdee68f9fa780d995d9bae79f97da5f0c437130d66054c96301b319cd1631a3b0efbc5bfe1e3414dc4b
+DIST libcgroup-3.0.0.tar.gz 1125800 BLAKE2B 5d4999ac513de756ffe741d2e959c01d8500a2000f521dff31832e1ef545869fb9c8ae1c78d05aaa051e7e6e68266bd57a751ba3aa897966a83ff50128090ba5 SHA512 1e8a7c9a71d928ab0e354254b007b30fc159a30e441bd52a03ded142420c94e130594bb512680c62fc22f5193934fb78afc31453342b032d1db3197fd4c3e606
+DIST libcgroup-3.1.0.tar.gz 1223547 BLAKE2B 3cd3ca779b4453df71aba584ad8fe654fb55478ad89b36ba5deccf46e3ef331b11dc32a9a72dfa525784558701a72fd0777e05275233e599015ae93269661534 SHA512 84272e811422f2105e275ccadbd333fe6da495da5504cd97acd3101718e27b52e0f56b62f847933b32d613e15c170d1b998d85a89c1591e8ce37c33043f3e00b
diff --git a/dev-libs/libcgroup/files/cgconfig.confd-r2 b/dev-libs/libcgroup/files/cgconfig.confd-r2
new file mode 100644
index 000000000000..2770c85e2ee1
--- /dev/null
+++ b/dev-libs/libcgroup/files/cgconfig.confd-r2
@@ -0,0 +1,8 @@
+# /etc/conf.d/cgconfig: config file for /etc/init.d/cgconfig
+
+# Configuration file location
+CG_CONFIGFILE="/etc/cgroup/cgconfig.conf"
+CG_CONFIGDIR="/etc/cgroup/cgconfig.d"
+
+# Enable calssifying pid according to rules if necessary
+CG_CLASSIFY=No
diff --git a/dev-libs/libcgroup/files/cgconfig.initd-r2 b/dev-libs/libcgroup/files/cgconfig.initd-r2
new file mode 100644
index 000000000000..aaf3ea88031b
--- /dev/null
+++ b/dev-libs/libcgroup/files/cgconfig.initd-r2
@@ -0,0 +1,53 @@
+#!/sbin/openrc-run
+# Copyright 1999-2023 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+CGCONFIGPARSER="/usr/sbin/cgconfigparser"
+CGCLASSIFY="/usr/bin/cgclassify"
+: "${CG_CONFIGFILE:=/etc/cgroup/cgconfig.conf}"
+: "${CG_CONFIGDIR:=/etc/cgroup/cgconfig.d}"
+description="Control Group Configuration Service"
+
+start()
+{
+ ebegin "Setting up CGroups"
+ "${CGCONFIGPARSER}" "--load=${CG_CONFIGFILE}" "--load-directory=${CG_CONFIGDIR}" >/dev/null 2>&1
+ eend "$?"
+}
+
+start_post()
+{
+ # Classify PID according to the rules if requested
+ yesno "${CG_CLASSIFY}" || return 0
+ ebegin "Classifying PID to CGroups"
+ local pid
+ for pid in $(pgrep ''); do
+ ${CGCLASSIFY} ${pid} || einfo "Classifying ${pid} failed"
+ done
+ eend "$?"
+}
+
+stop()
+{
+ cgconfig_umount
+}
+
+cgconfig_umount()
+{
+ local ctrl eq mnt_pnt mnt_pts
+
+ while read ctrl eq mnt_pnt; do
+ case "${ctrl}" in
+ (\#*) continue ;;
+ (mount*) mnt_pts=true;;
+ (\}*) mnt_pts= ;;
+ (*)
+ [ -n "${mnt_pts}" ] || continue
+ mnt_pnt="${mnt_pnt%;}"
+ ebegin "Unmounting ${mnt_pnt}"
+ umount "${mnt_pnt}"
+ eend "$?"
+ ;;
+ esac
+ done < "${CG_CONFIGFILE}"
+}
diff --git a/dev-libs/libcgroup/files/libcgroup-3.0.0-configure-bashism.patch b/dev-libs/libcgroup/files/libcgroup-3.0.0-configure-bashism.patch
new file mode 100644
index 000000000000..1401953b53a7
--- /dev/null
+++ b/dev-libs/libcgroup/files/libcgroup-3.0.0-configure-bashism.patch
@@ -0,0 +1,35 @@
+https://github.com/libcgroup/libcgroup/pull/243
+
+From a363c163fdeb48e0536545ece856899ed97e99b2 Mon Sep 17 00:00:00 2001
+From: Sam James <sam@gentoo.org>
+Date: Sat, 10 Sep 2022 13:52:57 +0100
+Subject: [PATCH] configure.ac: fix bashism
+
+configure scripts need to be runnable with a POSIX-compliant /bin/sh.
+
+On many (but not all!) systems, /bin/sh is provided by Bash, so errors
+like this aren't spotted. Notably Debian defaults to /bin/sh provided
+by dash which doesn't tolerate such bashisms as '=='.
+
+This retains compatibility with bash.
+
+Fixes configure warnings/errors like:
+```
+checking whether to build static libraries... no
+./configure: 14089: test: xno: unexpected operator
+checking for x86_64-pc-linux-gnu-g++... x86_64-pc-linux-gnu-g++
+```
+
+Signed-off-by: Sam James <sam@gentoo.org>
+--- a/configure.ac
++++ b/configure.ac
+@@ -137,7 +137,7 @@ AC_ARG_ENABLE([opaque-hierarchy],
+ AC_ARG_ENABLE([tests],
+ [AS_HELP_STRING([--enable-tests],[compile libcgroup tests [default=yes]])],
+ [
+- if test "x$enableval" == xno; then
++ if test "x$enableval" = xno; then
+ with_tests=false
+ else
+ with_tests=true
+
diff --git a/dev-libs/libcgroup/files/libcgroup-3.0.0-musl-strerror_r.patch b/dev-libs/libcgroup/files/libcgroup-3.0.0-musl-strerror_r.patch
new file mode 100644
index 000000000000..cc1b0688c79b
--- /dev/null
+++ b/dev-libs/libcgroup/files/libcgroup-3.0.0-musl-strerror_r.patch
@@ -0,0 +1,45 @@
+https://github.com/libcgroup/libcgroup/pull/236
+
+From d190c0c548b3219b75e4c399aa89186e77bbe270 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 23 Aug 2022 20:03:09 -0700
+Subject: [PATCH] api: Use GNU strerror_r when available
+
+GNU strerror_r is only available in glibc, musl impelents the XSI
+version which is slightly different, therefore check if GNU version is
+available before using it, otherwise use the XSI compliant version.
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+--- a/configure.ac
++++ b/configure.ac
+@@ -183,6 +183,11 @@ AC_FUNC_REALLOC
+ AC_FUNC_STAT
+ AC_CHECK_FUNCS([getmntent hasmntopt memset mkdir rmdir strdup])
+
++orig_CFLAGS="$CFLAGS"
++CFLAGS="$CFLAGS -D_GNU_SOURCE"
++AC_FUNC_STRERROR_R
++CFLAGS="$orig_CFLAGS"
++
+ AC_SEARCH_LIBS(
+ [fts_open],
+ [fts],
+--- a/src/api.c
++++ b/src/api.c
+@@ -4571,9 +4571,13 @@ const char *cgroup_strerror(int code)
+ {
+ int idx = code % ECGROUPNOTCOMPILED;
+
+- if (code == ECGOTHER)
++ if (code == ECGOTHER) {
++#ifdef STRERROR_R_CHAR_P
+ return strerror_r(cgroup_get_last_errno(), errtext, MAXLEN);
+-
++#else
++ return strerror_r(cgroup_get_last_errno(), errtext, sizeof (errtext)) ? "unknown error" : errtext;
++#endif
++ }
+ if (idx >= sizeof(cgroup_strerror_codes)/sizeof(cgroup_strerror_codes[0]))
+ return "Invalid error code";
+
+
diff --git a/dev-libs/libcgroup/libcgroup-0.41-r6.ebuild b/dev-libs/libcgroup/libcgroup-0.41-r6.ebuild
index 48d67cfb1185..0c4c21f022b8 100644
--- a/dev-libs/libcgroup/libcgroup-0.41-r6.ebuild
+++ b/dev-libs/libcgroup/libcgroup-0.41-r6.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -20,18 +20,19 @@ REQUIRED_USE="daemon? ( tools )"
RESTRICT="test"
BDEPEND="
- sys-devel/bison
- sys-devel/flex
+ app-alternatives/yacc
+ app-alternatives/lex
elibc_musl? ( sys-libs/fts-standalone )
"
DEPEND="pam? ( sys-libs/pam )"
RDEPEND="${DEPEND}"
PATCHES=(
- "${FILESDIR}"/${P}-replace-DECLS.patch
- "${FILESDIR}"/${P}-replace-INLCUDES.patch
+ "${FILESDIR}"/${P}-replace_DECLS.patch
+ "${FILESDIR}"/${P}-replace_INLCUDES.patch
"${FILESDIR}"/${P}-reorder-headers.patch
"${FILESDIR}"/${P}-remove-umask.patch
+ "${FILESDIR}"/${P}-slibtool.patch
)
pkg_setup() {
@@ -42,14 +43,6 @@ pkg_setup() {
linux-info_pkg_setup
}
-PATCHES=(
- "${FILESDIR}"/${P}-replace_DECLS.patch
- "${FILESDIR}"/${P}-replace_INLCUDES.patch
- "${FILESDIR}"/${P}-reorder-headers.patch
- "${FILESDIR}"/${P}-remove-umask.patch
- "${FILESDIR}"/${P}-slibtool.patch
-)
-
src_prepare() {
default
# Change rules file location
diff --git a/dev-libs/libcgroup/libcgroup-2.0.ebuild b/dev-libs/libcgroup/libcgroup-2.0.ebuild
deleted file mode 100644
index 989fc89b4af8..000000000000
--- a/dev-libs/libcgroup/libcgroup-2.0.ebuild
+++ /dev/null
@@ -1,98 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit autotools flag-o-matic linux-info pam systemd
-
-DESCRIPTION="Tools and libraries to configure and manage kernel control groups"
-HOMEPAGE="https://github.com/libcgroup/libcgroup"
-SRC_URI="https://github.com/${PN}/${PN}/releases/download/v${PV}/${P}.tar.bz2"
-
-LICENSE="LGPL-2.1"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~x86"
-IUSE="+daemon pam static-libs test +tools"
-REQUIRED_USE="daemon? ( tools )"
-
-# Use mount cgroup to build directory
-# sandbox restricted to trivial build,
-RESTRICT="test"
-
-BDEPEND="
- sys-devel/bison
- sys-devel/flex
- elibc_musl? ( sys-libs/fts-standalone )
-"
-DEPEND="pam? ( sys-libs/pam )"
-RDEPEND="${DEPEND}"
-
-pkg_setup() {
- local CONFIG_CHECK="~CGROUPS"
- if use daemon; then
- CONFIG_CHECK="${CONFIG_CHECK} ~CONNECTOR ~PROC_EVENTS"
- fi
- linux-info_pkg_setup
-}
-
-src_prepare() {
- default
-
- # Change rules file location
- find src -name *.c -o -name *.h \
- | xargs sed -i '/^#define/s:/etc/cg:/etc/cgroup/cg:'
- sed -i 's:/etc/cg:/etc/cgroup/cg:' \
- doc/man/cg* samples/*.conf README* || die "sed failed"
-
- # Drop native libcgconfig init config
- sed -i '/^man_MANS/s:cgred.conf.5::' \
- doc/man/Makefile.am || die "sed failed"
-
- # If we're not running tests, don't bother building them.
- if ! use test; then
- sed -i '/^SUBDIRS/s:tests::' Makefile.am || die
- fi
-
- eautoreconf
-}
-
-src_configure() {
- local my_conf
-
- if use pam; then
- my_conf=" --enable-pam-module-dir=$(getpam_mod_dir) "
- fi
-
- use elibc_musl && append-ldflags "-lfts"
- econf \
- $(use_enable static-libs static) \
- $(use_enable daemon) \
- $(use_enable pam) \
- $(use_enable tools) \
- ${my_conf}
-}
-
-src_install() {
- default
- find "${D}" -name '*.la' -delete || die
-
- insinto /etc/cgroup
- doins samples/cgconfig.conf
- doins samples/cgrules.conf
- doins samples/cgsnapshot_blacklist.conf
-
- keepdir /etc/cgroup/cgconfig.d
- keepdir /etc/cgroup/cgrules.d
-
- if use tools; then
- newconfd "${FILESDIR}"/cgconfig.confd-r1 cgconfig
- newinitd "${FILESDIR}"/cgconfig.initd-r1 cgconfig
- systemd_dounit "${FILESDIR}"/cgconfig.service
- systemd_dounit "${FILESDIR}"/cgrules.service
- fi
-
- if use daemon; then
- newconfd "${FILESDIR}"/cgred.confd-r2 cgred
- newinitd "${FILESDIR}"/cgred.initd-r1 cgred
- fi
-}
diff --git a/dev-libs/libcgroup/libcgroup-3.0.0-r1.ebuild b/dev-libs/libcgroup/libcgroup-3.0.0-r1.ebuild
new file mode 100644
index 000000000000..980bb7d03807
--- /dev/null
+++ b/dev-libs/libcgroup/libcgroup-3.0.0-r1.ebuild
@@ -0,0 +1,115 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools flag-o-matic linux-info pam systemd
+
+DESCRIPTION="Tools and libraries to configure and manage kernel control groups"
+HOMEPAGE="https://github.com/libcgroup/libcgroup"
+SRC_URI="https://github.com/libcgroup/libcgroup/releases/download/v$(ver_cut 1-2)/${P}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~x86"
+IUSE="+daemon pam static-libs test +tools"
+REQUIRED_USE="daemon? ( tools )"
+
+# Test failure needs investigation
+RESTRICT="!test? ( test ) test"
+
+BDEPEND="
+ app-alternatives/yacc
+ app-alternatives/lex
+"
+DEPEND="
+ elibc_musl? ( sys-libs/fts-standalone )
+ pam? ( sys-libs/pam )
+"
+RDEPEND="${DEPEND}"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-3.0.0-configure-bashism.patch"
+ "${FILESDIR}/${PN}-3.0.0-musl-strerror_r.patch"
+)
+
+pkg_setup() {
+ local CONFIG_CHECK="~CGROUPS"
+ if use daemon; then
+ CONFIG_CHECK="${CONFIG_CHECK} ~CONNECTOR ~PROC_EVENTS"
+ fi
+ linux-info_pkg_setup
+}
+
+src_prepare() {
+ default
+
+ # Change rules file location
+ find src -name '*.c' -o -name '*.h' -print0 \
+ | xargs -0 sed -i '/^#define/s:/etc/cg:/etc/cgroup/cg:'
+ sed -i 's:/etc/cg:/etc/cgroup/cg:' \
+ doc/man/cg* samples/config/*.conf README* || die "sed failed"
+
+ # Drop native libcgconfig init config
+ sed -i '/^man_MANS/s:cgred.conf.5::' \
+ doc/man/Makefile.am || die "sed failed"
+
+ # If we're not running tests, don't bother building them.
+ if ! use test; then
+ sed -i '/^SUBDIRS/s:tests::' Makefile.am || die
+ fi
+
+ eautoreconf
+}
+
+src_configure() {
+ if use elibc_musl; then
+ append-ldflags -lfts
+ fi
+
+ local myconf=(
+ "$(use_enable static-libs static)"
+ "$(use_enable daemon)"
+ "$(use_enable pam)"
+ "$(use_enable tools)"
+ "$(use_enable test tests)"
+ )
+
+ if use pam; then
+ myconf+=( "--enable-pam-module-dir=$(getpam_mod_dir)" )
+ fi
+
+ econf "${myconf[@]}"
+}
+
+src_test() {
+ # Run just the unit tests rather than the full lot as they
+ # need fewer permissions, no containers, etc.
+ emake -C tests/gunit check
+}
+
+src_install() {
+ default
+
+ find "${ED}" -name '*.la' -delete || die
+
+ insinto /etc/cgroup
+ doins samples/config/cgconfig.conf
+ doins samples/config/cgrules.conf
+ doins samples/config/cgsnapshot_blacklist.conf
+
+ keepdir /etc/cgroup/cgconfig.d
+ keepdir /etc/cgroup/cgrules.d
+
+ if use tools; then
+ newconfd "${FILESDIR}/cgconfig.confd-r2" cgconfig
+ newinitd "${FILESDIR}/cgconfig.initd-r2" cgconfig
+ systemd_dounit "${FILESDIR}/cgconfig.service"
+ systemd_dounit "${FILESDIR}/cgrules.service"
+ fi
+
+ if use daemon; then
+ newconfd "${FILESDIR}/cgred.confd-r2" cgred
+ newinitd "${FILESDIR}/cgred.initd-r1" cgred
+ fi
+}
diff --git a/dev-libs/libcgroup/libcgroup-3.0.0.ebuild b/dev-libs/libcgroup/libcgroup-3.0.0.ebuild
new file mode 100644
index 000000000000..296dd1071c8b
--- /dev/null
+++ b/dev-libs/libcgroup/libcgroup-3.0.0.ebuild
@@ -0,0 +1,113 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools flag-o-matic linux-info pam systemd
+
+DESCRIPTION="Tools and libraries to configure and manage kernel control groups"
+HOMEPAGE="https://github.com/libcgroup/libcgroup"
+SRC_URI="https://github.com/libcgroup/libcgroup/releases/download/v$(ver_cut 1-2)/${P}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="amd64 arm arm64 ~ppc ~ppc64 ~riscv x86"
+IUSE="+daemon pam static-libs test +tools"
+REQUIRED_USE="daemon? ( tools )"
+
+# Test failure needs investigation
+RESTRICT="!test? ( test ) test"
+
+BDEPEND="
+ app-alternatives/yacc
+ app-alternatives/lex
+"
+DEPEND="
+ elibc_musl? ( sys-libs/fts-standalone )
+ pam? ( sys-libs/pam )
+"
+RDEPEND="${DEPEND}"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-3.0.0-configure-bashism.patch
+ "${FILESDIR}"/${PN}-3.0.0-musl-strerror_r.patch
+)
+
+pkg_setup() {
+ local CONFIG_CHECK="~CGROUPS"
+ if use daemon; then
+ CONFIG_CHECK="${CONFIG_CHECK} ~CONNECTOR ~PROC_EVENTS"
+ fi
+ linux-info_pkg_setup
+}
+
+src_prepare() {
+ default
+
+ # Change rules file location
+ find src -name *.c -o -name *.h \
+ | xargs sed -i '/^#define/s:/etc/cg:/etc/cgroup/cg:'
+ sed -i 's:/etc/cg:/etc/cgroup/cg:' \
+ doc/man/cg* samples/config/*.conf README* || die "sed failed"
+
+ # Drop native libcgconfig init config
+ sed -i '/^man_MANS/s:cgred.conf.5::' \
+ doc/man/Makefile.am || die "sed failed"
+
+ # If we're not running tests, don't bother building them.
+ if ! use test; then
+ sed -i '/^SUBDIRS/s:tests::' Makefile.am || die
+ fi
+
+ eautoreconf
+}
+
+src_configure() {
+ use elibc_musl && append-ldflags -lfts
+
+ local my_conf=(
+ $(use_enable static-libs static)
+ $(use_enable daemon)
+ $(use_enable pam)
+ $(use_enable tools)
+ $(use_enable test tests)
+ )
+
+ if use pam; then
+ my_conf+=( --enable-pam-module-dir="$(getpam_mod_dir)" )
+ fi
+
+ econf "${my_conf[@]}"
+}
+
+src_test() {
+ # Run just the unit tests rather than the full lot as they
+ # need fewer permissions, no containers, etc.
+ emake -C tests/gunit check
+}
+
+src_install() {
+ default
+
+ find "${ED}" -name '*.la' -delete || die
+
+ insinto /etc/cgroup
+ doins samples/config/cgconfig.conf
+ doins samples/config/cgrules.conf
+ doins samples/config/cgsnapshot_blacklist.conf
+
+ keepdir /etc/cgroup/cgconfig.d
+ keepdir /etc/cgroup/cgrules.d
+
+ if use tools; then
+ newconfd "${FILESDIR}"/cgconfig.confd-r1 cgconfig
+ newinitd "${FILESDIR}"/cgconfig.initd-r1 cgconfig
+ systemd_dounit "${FILESDIR}"/cgconfig.service
+ systemd_dounit "${FILESDIR}"/cgrules.service
+ fi
+
+ if use daemon; then
+ newconfd "${FILESDIR}"/cgred.confd-r2 cgred
+ newinitd "${FILESDIR}"/cgred.initd-r1 cgred
+ fi
+}
diff --git a/dev-libs/libcgroup/libcgroup-3.1.0.ebuild b/dev-libs/libcgroup/libcgroup-3.1.0.ebuild
new file mode 100644
index 000000000000..9be7fa3c5048
--- /dev/null
+++ b/dev-libs/libcgroup/libcgroup-3.1.0.ebuild
@@ -0,0 +1,116 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools flag-o-matic linux-info pam systemd
+
+DESCRIPTION="Tools and libraries to configure and manage kernel control groups"
+HOMEPAGE="https://github.com/libcgroup/libcgroup"
+SRC_URI="https://github.com/libcgroup/libcgroup/releases/download/v${PV}/${P}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="amd64 arm arm64 ~ppc ~ppc64 ~riscv x86"
+IUSE="+daemon pam static-libs systemd test +tools"
+REQUIRED_USE="daemon? ( tools )"
+
+# Test failure needs investigation
+RESTRICT="!test? ( test ) test"
+
+DEPEND="
+ elibc_musl? ( sys-libs/fts-standalone )
+ pam? ( sys-libs/pam )
+ systemd? ( sys-apps/systemd:= )
+"
+RDEPEND="${DEPEND}"
+BDEPEND="
+ sys-devel/bison
+ sys-devel/flex
+"
+
+pkg_setup() {
+ local CONFIG_CHECK="~CGROUPS"
+ if use daemon; then
+ CONFIG_CHECK="${CONFIG_CHECK} ~CONNECTOR ~PROC_EVENTS"
+ fi
+ linux-info_pkg_setup
+}
+
+src_prepare() {
+ default
+
+ # Change rules file location
+ find src -name '*.c' -o -name '*.h' -print0 \
+ | xargs -0 sed -i '/^#define/s:/etc/cg:/etc/cgroup/cg:'
+ sed -i 's:/etc/cg:/etc/cgroup/cg:' \
+ doc/man/cg* samples/config/*.conf README* || die "sed failed"
+
+ # Drop native libcgconfig init config
+ sed -i '/^man_MANS/s:cgred.conf.5::' \
+ doc/man/Makefile.am || die "sed failed"
+
+ # If we're not running tests, don't bother building them.
+ if ! use test; then
+ sed -i '/^SUBDIRS/s:tests::' Makefile.am || die
+ fi
+
+ eautoreconf
+}
+
+src_configure() {
+ if use elibc_musl; then
+ append-ldflags -lfts
+ fi
+
+ # Needs flex+bison
+ unset LEX YACC
+
+ local myconf=(
+ --disable-python
+ $(use_enable static-libs static)
+ $(use_enable daemon)
+ $(use_enable pam)
+ $(use_enable systemd)
+ $(use_enable tools)
+ $(use_enable test tests)
+ )
+
+ if use pam; then
+ myconf+=( "--enable-pam-module-dir=$(getpam_mod_dir)" )
+ fi
+
+ econf "${myconf[@]}"
+}
+
+src_test() {
+ # Run just the unit tests rather than the full lot as they
+ # need fewer permissions, no containers, etc.
+ emake -C tests/gunit check
+}
+
+src_install() {
+ default
+
+ find "${ED}" -name '*.la' -delete || die
+
+ insinto /etc/cgroup
+ doins samples/config/cgconfig.conf
+ doins samples/config/cgrules.conf
+ doins samples/config/cgsnapshot_denylist.conf
+
+ keepdir /etc/cgroup/cgconfig.d
+ keepdir /etc/cgroup/cgrules.d
+
+ if use tools; then
+ newconfd "${FILESDIR}/cgconfig.confd-r2" cgconfig
+ newinitd "${FILESDIR}/cgconfig.initd-r2" cgconfig
+ systemd_dounit "${FILESDIR}/cgconfig.service"
+ systemd_dounit "${FILESDIR}/cgrules.service"
+ fi
+
+ if use daemon; then
+ newconfd "${FILESDIR}/cgred.confd-r2" cgred
+ newinitd "${FILESDIR}/cgred.initd-r1" cgred
+ fi
+}
diff --git a/dev-libs/libcgroup/metadata.xml b/dev-libs/libcgroup/metadata.xml
index 14096f675784..3774350655b5 100644
--- a/dev-libs/libcgroup/metadata.xml
+++ b/dev-libs/libcgroup/metadata.xml
@@ -1,10 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <email>blueness@gentoo.org</email>
- <name>Anthony G. Basile</name>
- </maintainer>
+ <!-- maintainer-needed -->
<longdescription>
This package provides configuration and command-line tools, as well as a
rules processing daemon for working with kernel control groups.
@@ -14,6 +11,7 @@
<flag name="tools">Install the cgroup rules processing daemon and init/config files.</flag>
</use>
<upstream>
+ <remote-id type="github">libcgroup/libcgroup</remote-id>
<remote-id type="sourceforge">libcg</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-libs/libcharon/Manifest b/dev-libs/libcharon/Manifest
deleted file mode 100644
index f40f4ef9d305..000000000000
--- a/dev-libs/libcharon/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST libcharon-4.9.1.tar.gz 151243 BLAKE2B 8557efe4667a83297a4bcfc8307e2322a379e52d50ad1648d873a923e182b3be1651a13c7402ac041fd134036a75a42e825adf2cc27271af218db44af7e48473 SHA512 41d611f8d3bf0f762a38a00c159104df04b73cd5c4f7e9ebcfe3ac9cdd0c8e31e505c4fd4ef8f8a6f1c02bf882bb3e14ea4e92c8b15169a91cbd1815e36310fa
diff --git a/dev-libs/libcharon/libcharon-4.9.1-r1.ebuild b/dev-libs/libcharon/libcharon-4.9.1-r1.ebuild
deleted file mode 100644
index 6ba209c25452..000000000000
--- a/dev-libs/libcharon/libcharon-4.9.1-r1.ebuild
+++ /dev/null
@@ -1,72 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{8..10} )
-
-inherit cmake python-single-r1
-
-MY_PN="libCharon"
-
-DESCRIPTION="This library facilitates communication between Cura and its backend"
-HOMEPAGE="https://github.com/Ultimaker/libCharon"
-SRC_URI="https://github.com/Ultimaker/${MY_PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="LGPL-3"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~x86"
-
-IUSE="+client +dbus test"
-RESTRICT="!test? ( test )"
-
-REQUIRED_USE="${PYTHON_REQUIRED_USE}"
-RDEPEND="
- ${PYTHON_DEPS}
- dbus? (
- acct-group/ultimaker
- acct-user/ultimaker
- sys-apps/dbus
- )"
-
-DEPEND="${PYTHON_DEPS}
- test? (
- $(python_gen_cond_dep 'dev-python/pytest[${PYTHON_USEDEP}]')
- )"
-
-S="${WORKDIR}/${MY_PN}-${PV}"
-
-src_prepare() {
- # use current python version, not the latest installed
- # fix python install location
- sed -i \
- -e "s:find_package(Python3 3.4 REQUIRED:find_package(Python3 ${EPYTHON##python} EXACT REQUIRED:g" \
- -e "s:lib\${LIB_SUFFIX}/python\${Python3_VERSION_MAJOR}\.\${Python3_VERSION_MINOR}/site-packages:$(python_get_sitedir):g" \
- CMakeLists.txt || die
-
- sed -i -e "s:/usr/lib/python3/dist-packages/Charon/Service/main.py:$(python_get_sitedir)/Charon/Service/main.py:g" service/charon.service || die
-
- cmake_src_prepare
-}
-
-src_configure() {
- local mycmakeargs=(
- -DINSTALL_CLIENT=$(usex client ON OFF)
- -DINSTALL_SERVICE=$(usex dbus ON OFF)
- -DPython3_EXECUTABLE="${PYTHON}"
- )
-
- cmake_src_configure
-}
-
-src_install() {
- cmake_src_install
- python_optimize
-}
-
-pkg_postinst() {
- if use dbus ; then
- elog "To start the Charon File Metadata service at boot, add it to the default runlevel with:"
- elog " systemctl enable charon"
- fi
-}
diff --git a/dev-libs/libcharon/metadata.xml b/dev-libs/libcharon/metadata.xml
deleted file mode 100644
index 5c03eb1028ac..000000000000
--- a/dev-libs/libcharon/metadata.xml
+++ /dev/null
@@ -1,34 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="project">
- <email>3dprint@gentoo.org</email>
- <name>Gentoo 3D Printer Project</name>
- </maintainer>
- <maintainer type="person">
- <email>alexxy@gentoo.org</email>
- <name>Alexey Shvetsov</name>
- </maintainer>
- <maintainer type="project" proxied="proxy">
- <email>proxy-maint@gentoo.org</email>
- <name>Proxy Maintainers</name>
- </maintainer>
- <maintainer type="person" proxied="yes">
- <email>mathy@vanvoorden.be</email>
- <name>Mathy Vanvoorden</name>
- </maintainer>
- <maintainer type="person" proxied="yes">
- <email>perlovka@gmail.com</email>
- <name>Michael Perlov</name>
- </maintainer>
- <longdescription>
- Library to read and write several 3D-printing related file formats including G-Code and Ultimaker File Package (UFP).
- </longdescription>
- <use>
- <flag name="client">Install the charon client library</flag>
- </use>
- <upstream>
- <bugs-to>https://github.com/Ultimaker/libCharon/issues</bugs-to>
- <remote-id type="github">Ultimaker/libCharon</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/dev-libs/libchdr/Manifest b/dev-libs/libchdr/Manifest
deleted file mode 100644
index dac6df146977..000000000000
--- a/dev-libs/libchdr/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST libchdr-0_p20211127.tar.gz 414443 BLAKE2B a728a4ba0fa74883c7cfd43b5ee5147cc54a98370cc663237b5f12742a7859d36fc6c1572a8ec2af6e6bdf602eba4b0028d6fdf8f128320a2fbe60f0868d9f1b SHA512 534f949c8aaab9e307a9a2c1789ca2398dd59c3228a4b9bed62b413e8cc9e2ad11896580c55531dc13f9cd875f142499b52bf793b569a6df740e6d945fb3e17d
diff --git a/dev-libs/libchdr/libchdr-0_p20211127.ebuild b/dev-libs/libchdr/libchdr-0_p20211127.ebuild
deleted file mode 100644
index fb1c7631271e..000000000000
--- a/dev-libs/libchdr/libchdr-0_p20211127.ebuild
+++ /dev/null
@@ -1,28 +0,0 @@
-# Copyright 2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit cmake
-
-CHDR_COMMIT="929a8d6523a7d21ea9e035f43211cd759e072053"
-
-DESCRIPTION="Standalone library for reading MAME's CHDv1-v5 formats"
-HOMEPAGE="https://github.com/rtissera/libchdr/"
-SRC_URI="https://github.com/rtissera/libchdr/archive/${CHDR_COMMIT}.tar.gz -> ${P}.tar.gz"
-S="${WORKDIR}/${PN}-${CHDR_COMMIT}"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-RDEPEND="sys-libs/zlib:="
-DEPEND="${RDEPEND}"
-
-src_configure() {
- local mycmakeargs=(
- -DWITH_SYSTEM_ZLIB=yes
- )
-
- cmake_src_configure
-}
diff --git a/dev-libs/libchdr/metadata.xml b/dev-libs/libchdr/metadata.xml
deleted file mode 100644
index 52316d51b131..000000000000
--- a/dev-libs/libchdr/metadata.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-<?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">rtissera/libchdr</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/dev-libs/libclc/Manifest b/dev-libs/libclc/Manifest
index 528b9de78acb..6dab866d637b 100644
--- a/dev-libs/libclc/Manifest
+++ b/dev-libs/libclc/Manifest
@@ -1,2 +1,13 @@
-DIST llvmorg-13.0.0.tar.gz 147270176 BLAKE2B 628f316b580e1edf3a58d4825b724df759e6ed2a4116802470c04562caefc392fa325c91f388036365a2e45a9595cca6d3557fab12984fc8bcfef29c9116d822 SHA512 8004c05d32b9720fb3391783621690c1df9bd1e97e72cbff9192ed88a84b0acd303b61432145fa917b5b5e548c8cee29b24ef8547dcc8677adf4816e7a8a0eb2
-DIST llvmorg-13.0.1-rc3.tar.gz 147302323 BLAKE2B 9ac2f97568062d7dd618295a68d6e14898fcd69e2bb66290b999ceb8c12132371f4e9b59d8ba2b252e5e5cb249045676b24fc50c117b2afae20abab98f426582 SHA512 88a04ad02af2d41ec21c7a62bad21ee0e627b7276a16795875afd062ed29ac7fb4aadec5b5e48785a6502c9fd797a4b67d648a21f193c9f7602112870b10a3d1
+DIST llvm-project-12735916bd3a63aa9f316af8eebfe9420cfec489.tar.gz 208645973 BLAKE2B 4a64dcaa15cb592634eceb384ecfc11173dbf0285402c32be2b8056374bb8ecef8fa1055fbe353a0836c84b75736cc05f3a14428bc431c18362cfaa7bf96a50a SHA512 ee42f7db322c84dfae3c67ffcfff2ee8d56d6bd4a0412b6bd4f8952ac1da4d57d18fa38011fe514631363b4cc143327be887792dd2e9562942261c99e655d948
+DIST llvm-project-15.0.7.src.tar.xz 110936452 BLAKE2B f3d277e2029157329e5be78b78af36b0826a1dfd9a337992499bf701e33149665bfc47d5e14978e38f342559629a559f8b2ce328705ba34fdf6830f5ae9721a5 SHA512 4836d3603f32e8e54434cbfa8ef33d9d473ac5dc20ebf9c67132653c73f4524931abd1084655eaee5f20bcfcb91bcc4bbc5c4a0b603ad0c9029c556e14dc4c52
+DIST llvm-project-15.0.7.src.tar.xz.sig 566 BLAKE2B 47dc8c82d86237b80c6d85f83a6c9a6e9e174cf8e7f367b071e0cd9481d7cd408e991337c5624e07f3f370f26387c814f212808575ed1c1b58404d3e3836b7df SHA512 fc6891b440dd1175eb8df3790590af8d36bc92301660f84744ae15123475aeb900a151e6a8e7998ded27ec4d86871903ad0b89cd61164943054c2e3bc8d8beb2
+DIST llvm-project-16.0.6.src.tar.xz 118013488 BLAKE2B 95192d39cbd2914e5609db365965f1c00bfea6c2d653b3996bd2acef8a2b37e37f6fc8a9d2b65711ad72657e0ef52c42f733053cf65051e7822f27396c30406d SHA512 89a67ebfbbc764cc456e8825ecfa90707741f8835b1b2adffae0b227ab1fe5ca9cce75b0efaffc9ca8431cae528dc54fd838867a56a2b645344d9e82d19ab1b7
+DIST llvm-project-16.0.6.src.tar.xz.sig 566 BLAKE2B 2060cebd5ed57cb8a86a44238c43dfd4b921649298b10c3d19da308374c1e49869174294e29943c2af459fe06428264e26881d6c1288ebbc48686cc2cf467c7a SHA512 ca249262c7102e0889ec1bdc6f71a3a6f0e7e5d5fbab8abcd6fccd2871e7955eff7af5b055a76006097baf0dfaf2f5069eff3035b3107fc552abdb2481b21447
+DIST llvm-project-17.0.6.src.tar.xz 127838860 BLAKE2B d6ede1a9fda8756995c3e0654111941649e15794179641806f18919f1dc68c41ca0cabd5693b5096d05dccc3a391cd20d34af1137bf8af92ed3117a1ce84d1b2 SHA512 6d85bf749e0d77553cc215cbfa61cec4ac4f4f652847f56f946b6a892a99a5ea40b6ab8b39a9708a035001f007986941ccf17e4635260a8b0c1fa59e78d41e30
+DIST llvm-project-17.0.6.src.tar.xz.sig 438 BLAKE2B 186e75b6a0fbfe1e85408589c149e1800fcc47d685b74e4260018e05cd08bc793d1d1197c9c50e177eea941a3d0c65cb0c583ce6dae449099b920adf8a508ef7 SHA512 f78c55053a6450625f3e95f52c305110b4468a9854fec75831b65b8d6ceee3c9206ab9e63c4b5fda8be9bd344f72cfbdaae0520ed240abd505e08ebeaa25d340
+DIST llvm-project-18.1.3.src.tar.xz 132049300 BLAKE2B 0681177cfe6a65f5cf11942381078388e8f5d9d5a4bb50b040e4c10a3898e7311ff379fcca008e82e4bef225792a38eb77f722c972725b9251a0fda29d8d7ecc SHA512 b8b8a00c560bc7d4c4b5d533b92dbd52f2c0254f0acf687e787e8b7fa780cd5d96f6e9709356d2c406c0b36b186dee4de6b1bc1928a97de0bda863fa873e0783
+DIST llvm-project-18.1.3.src.tar.xz.sig 566 BLAKE2B dcecf41346cc864c6e5bedd3a7db3db4f32a68534364d2537a15ca7e4e2f2d35a22722385ac556d2a4ac48ab37567566094f223534e696299f98040e702146d0 SHA512 b7e50779841891e9ed9de5ed917c5be3209a52a5d98c67a032509ae8fad8a2a882bf619c66d2ee45bb53dfb03d750cb94dc4b2750ec2a8edb0465700d5bc657c
+DIST llvm-project-18.1.4.src.tar.xz 132054668 BLAKE2B 94bbad3b185fd07cbace4eff79aba80fbdd5e072739250e3927fe1848bcf3f8d355eb1f384e57306707eb702acc7ab01b732590735be7950221607664d04b0a6 SHA512 b1b214ae91f3705d8ea345547ad53f1e5d7d884c1eb6958bc41c14ac4b3e407771ccc2b693686ff103c8232c2c3942731d6db9a9cb4f735e6c6a0674739d0b29
+DIST llvm-project-18.1.4.src.tar.xz.sig 566 BLAKE2B b74fd219d7bcdf197b4e711cfbb25c40e9d8d2c7341de0215d8c31f330f396e9c166ff63513829cdc9cef349f08238f66a4dc949fa97958a7af496abae369eaa SHA512 4f456edf4fb454815acaef6855b1a0991f229810a32e9369af83388e37f0ef8964308e1e93bd6216024cdd67e86caaadc8d5794467857cc6fe561c9fa6ca7386
+DIST llvm-project-a8b0ecd2605ff23f495a8af64e06c35f86834e54.tar.gz 208451583 BLAKE2B 3f8557637b9d10ed924cfec0b3e83d85996417df24b317cac55740aa199ef97cf7560fe634debd1dbfc7c9fc25aa2b2643fccaecc4c866481dc57b11eba1d02f SHA512 1f4bf5a8a59582af426ad13cc828e1e482c5c831ed5a4bb0da419ed3cf67e5e485fd36074603ad22328e35be44b8ccd2d92d1382bc7a228fdf38d458a2321e07
+DIST llvm-project-ee284d2da0720dc21191d6f545504cbfcf5dcbcf.tar.gz 208883034 BLAKE2B e37c9f1a6a4d0caa9a3091f979dd09f509d458f8b7b30286c77dd2385aea748b7aac6dd488c79573f82feb655aa321717bd2fb46bba4a12b388b52064f6e13bf SHA512 1335ade87cd2accc47ac47ed2ab302999e375808b158b6c9d31fac9059cbb992d2bdaaadf1fd9a1b37268c1123d43346ea4d150894d6d2e6f80ba790b65b93b1
diff --git a/dev-libs/libclc/libclc-13.0.0.ebuild b/dev-libs/libclc/libclc-13.0.0.ebuild
deleted file mode 100644
index 7844998f92dc..000000000000
--- a/dev-libs/libclc/libclc-13.0.0.ebuild
+++ /dev/null
@@ -1,67 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{8..10} )
-inherit cmake llvm llvm.org python-any-r1
-
-DESCRIPTION="OpenCL C library"
-HOMEPAGE="https://libclc.llvm.org/"
-
-LICENSE="Apache-2.0-with-LLVM-exceptions || ( MIT BSD )"
-SLOT="0"
-KEYWORDS="amd64 x86"
-IUSE_VIDEO_CARDS="video_cards_nvidia video_cards_r600 video_cards_radeonsi"
-IUSE="${IUSE_VIDEO_CARDS}"
-REQUIRED_USE="|| ( ${IUSE_VIDEO_CARDS} )"
-
-LLVM_MAX_SLOT=13
-BDEPEND="
- || (
- sys-devel/clang:13
- sys-devel/clang:12
- sys-devel/clang:11
- sys-devel/clang:10
- )
- ${PYTHON_DEPS}"
-
-LLVM_COMPONENTS=( libclc )
-llvm.org_set_globals
-
-llvm_check_deps() {
- has_version -b "sys-devel/clang:${LLVM_SLOT}"
-}
-
-pkg_setup() {
- # we do not need llvm_pkg_setup
- python-any-r1_pkg_setup
-}
-
-src_configure() {
- local libclc_targets=()
-
- use video_cards_nvidia && libclc_targets+=(
- "nvptx--"
- "nvptx64--"
- "nvptx--nvidiacl"
- "nvptx64--nvidiacl"
- )
- use video_cards_r600 && libclc_targets+=(
- "r600--"
- )
- use video_cards_radeonsi && libclc_targets+=(
- "amdgcn--"
- "amdgcn-mesa-mesa3d"
- "amdgcn--amdhsa"
- )
- # TODO: spirv
- [[ ${#libclc_targets[@]} ]] || die "libclc target missing!"
-
- libclc_targets=${libclc_targets[*]}
- local mycmakeargs=(
- -DLIBCLC_TARGETS_TO_BUILD="${libclc_targets// /;}"
- -DLLVM_CONFIG="$(get_llvm_prefix "${LLVM_MAX_SLOT}")/bin/llvm-config"
- )
- cmake_src_configure
-}
diff --git a/dev-libs/libclc/libclc-13.0.1.9999.ebuild b/dev-libs/libclc/libclc-13.0.1.9999.ebuild
deleted file mode 100644
index de9b38e9f826..000000000000
--- a/dev-libs/libclc/libclc-13.0.1.9999.ebuild
+++ /dev/null
@@ -1,67 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{8..10} )
-inherit cmake llvm llvm.org python-any-r1
-
-DESCRIPTION="OpenCL C library"
-HOMEPAGE="https://libclc.llvm.org/"
-
-LICENSE="Apache-2.0-with-LLVM-exceptions || ( MIT BSD )"
-SLOT="0"
-KEYWORDS=""
-IUSE_VIDEO_CARDS="video_cards_nvidia video_cards_r600 video_cards_radeonsi"
-IUSE="${IUSE_VIDEO_CARDS}"
-REQUIRED_USE="|| ( ${IUSE_VIDEO_CARDS} )"
-
-LLVM_MAX_SLOT=13
-BDEPEND="
- || (
- sys-devel/clang:13
- sys-devel/clang:12
- sys-devel/clang:11
- sys-devel/clang:10
- )
- ${PYTHON_DEPS}"
-
-LLVM_COMPONENTS=( libclc )
-llvm.org_set_globals
-
-llvm_check_deps() {
- has_version -b "sys-devel/clang:${LLVM_SLOT}"
-}
-
-pkg_setup() {
- # we do not need llvm_pkg_setup
- python-any-r1_pkg_setup
-}
-
-src_configure() {
- local libclc_targets=()
-
- use video_cards_nvidia && libclc_targets+=(
- "nvptx--"
- "nvptx64--"
- "nvptx--nvidiacl"
- "nvptx64--nvidiacl"
- )
- use video_cards_r600 && libclc_targets+=(
- "r600--"
- )
- use video_cards_radeonsi && libclc_targets+=(
- "amdgcn--"
- "amdgcn-mesa-mesa3d"
- "amdgcn--amdhsa"
- )
- # TODO: spirv
- [[ ${#libclc_targets[@]} ]] || die "libclc target missing!"
-
- libclc_targets=${libclc_targets[*]}
- local mycmakeargs=(
- -DLIBCLC_TARGETS_TO_BUILD="${libclc_targets// /;}"
- -DLLVM_CONFIG="$(get_llvm_prefix "${LLVM_MAX_SLOT}")/bin/llvm-config"
- )
- cmake_src_configure
-}
diff --git a/dev-libs/libclc/libclc-13.0.1_rc3.ebuild b/dev-libs/libclc/libclc-13.0.1_rc3.ebuild
deleted file mode 100644
index 1da191d1914e..000000000000
--- a/dev-libs/libclc/libclc-13.0.1_rc3.ebuild
+++ /dev/null
@@ -1,67 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{8..10} )
-inherit cmake llvm llvm.org python-any-r1
-
-DESCRIPTION="OpenCL C library"
-HOMEPAGE="https://libclc.llvm.org/"
-
-LICENSE="Apache-2.0-with-LLVM-exceptions || ( MIT BSD )"
-SLOT="0"
-KEYWORDS=""
-IUSE_VIDEO_CARDS="video_cards_nvidia video_cards_r600 video_cards_radeonsi"
-IUSE="${IUSE_VIDEO_CARDS}"
-REQUIRED_USE="|| ( ${IUSE_VIDEO_CARDS} )"
-
-LLVM_MAX_SLOT=13
-BDEPEND="
- || (
- sys-devel/clang:13
- sys-devel/clang:12
- sys-devel/clang:11
- sys-devel/clang:10
- )
- ${PYTHON_DEPS}"
-
-LLVM_COMPONENTS=( libclc )
-llvm.org_set_globals
-
-llvm_check_deps() {
- has_version -b "sys-devel/clang:${LLVM_SLOT}"
-}
-
-pkg_setup() {
- # we do not need llvm_pkg_setup
- python-any-r1_pkg_setup
-}
-
-src_configure() {
- local libclc_targets=()
-
- use video_cards_nvidia && libclc_targets+=(
- "nvptx--"
- "nvptx64--"
- "nvptx--nvidiacl"
- "nvptx64--nvidiacl"
- )
- use video_cards_r600 && libclc_targets+=(
- "r600--"
- )
- use video_cards_radeonsi && libclc_targets+=(
- "amdgcn--"
- "amdgcn-mesa-mesa3d"
- "amdgcn--amdhsa"
- )
- # TODO: spirv
- [[ ${#libclc_targets[@]} ]] || die "libclc target missing!"
-
- libclc_targets=${libclc_targets[*]}
- local mycmakeargs=(
- -DLIBCLC_TARGETS_TO_BUILD="${libclc_targets// /;}"
- -DLLVM_CONFIG="$(get_llvm_prefix "${LLVM_MAX_SLOT}")/bin/llvm-config"
- )
- cmake_src_configure
-}
diff --git a/dev-libs/libclc/libclc-14.0.0.9999.ebuild b/dev-libs/libclc/libclc-14.0.0.9999.ebuild
deleted file mode 100644
index 6d6bb11fbe0a..000000000000
--- a/dev-libs/libclc/libclc-14.0.0.9999.ebuild
+++ /dev/null
@@ -1,68 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{8..10} )
-inherit cmake llvm llvm.org python-any-r1
-
-DESCRIPTION="OpenCL C library"
-HOMEPAGE="https://libclc.llvm.org/"
-
-LICENSE="Apache-2.0-with-LLVM-exceptions || ( MIT BSD )"
-SLOT="0"
-KEYWORDS=""
-IUSE_VIDEO_CARDS="video_cards_nvidia video_cards_r600 video_cards_radeonsi"
-IUSE="${IUSE_VIDEO_CARDS}"
-REQUIRED_USE="|| ( ${IUSE_VIDEO_CARDS} )"
-
-LLVM_MAX_SLOT=14
-BDEPEND="
- || (
- sys-devel/clang:14
- sys-devel/clang:13
- sys-devel/clang:12
- sys-devel/clang:11
- sys-devel/clang:10
- )
- ${PYTHON_DEPS}"
-
-LLVM_COMPONENTS=( libclc )
-llvm.org_set_globals
-
-llvm_check_deps() {
- has_version -b "sys-devel/clang:${LLVM_SLOT}"
-}
-
-pkg_setup() {
- # we do not need llvm_pkg_setup
- python-any-r1_pkg_setup
-}
-
-src_configure() {
- local libclc_targets=()
-
- use video_cards_nvidia && libclc_targets+=(
- "nvptx--"
- "nvptx64--"
- "nvptx--nvidiacl"
- "nvptx64--nvidiacl"
- )
- use video_cards_r600 && libclc_targets+=(
- "r600--"
- )
- use video_cards_radeonsi && libclc_targets+=(
- "amdgcn--"
- "amdgcn-mesa-mesa3d"
- "amdgcn--amdhsa"
- )
- # TODO: spirv
- [[ ${#libclc_targets[@]} ]] || die "libclc target missing!"
-
- libclc_targets=${libclc_targets[*]}
- local mycmakeargs=(
- -DLIBCLC_TARGETS_TO_BUILD="${libclc_targets// /;}"
- -DLLVM_CONFIG="$(get_llvm_prefix "${LLVM_MAX_SLOT}")/bin/llvm-config"
- )
- cmake_src_configure
-}
diff --git a/dev-libs/libclc/libclc-15.0.7.ebuild b/dev-libs/libclc/libclc-15.0.7.ebuild
new file mode 100644
index 000000000000..4032920d3b2a
--- /dev/null
+++ b/dev-libs/libclc/libclc-15.0.7.ebuild
@@ -0,0 +1,81 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{9..11} )
+inherit cmake llvm llvm.org python-any-r1
+
+DESCRIPTION="OpenCL C library"
+HOMEPAGE="https://libclc.llvm.org/"
+
+LICENSE="Apache-2.0-with-LLVM-exceptions || ( MIT BSD )"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="+spirv video_cards_nvidia video_cards_r600 video_cards_radeonsi"
+
+LLVM_MAX_SLOT=15
+BDEPEND="
+ ${PYTHON_DEPS}
+ || (
+ (
+ sys-devel/clang:15
+ spirv? ( dev-util/spirv-llvm-translator:15 )
+ )
+ (
+ sys-devel/clang:14
+ spirv? ( dev-util/spirv-llvm-translator:14 )
+ )
+ (
+ sys-devel/clang:13
+ spirv? ( dev-util/spirv-llvm-translator:13 )
+ )
+ )
+"
+
+LLVM_COMPONENTS=( libclc )
+llvm.org_set_globals
+
+llvm_check_deps() {
+ if use spirv; then
+ has_version -b "dev-util/spirv-llvm-translator:${LLVM_SLOT}" ||
+ return 1
+ fi
+ has_version -b "sys-devel/clang:${LLVM_SLOT}"
+}
+
+pkg_setup() {
+ # we do not need llvm_pkg_setup
+ python-any-r1_pkg_setup
+}
+
+src_configure() {
+ local libclc_targets=()
+
+ use spirv && libclc_targets+=(
+ "spirv-mesa3d-"
+ "spirv64-mesa3d-"
+ )
+ use video_cards_nvidia && libclc_targets+=(
+ "nvptx--"
+ "nvptx64--"
+ "nvptx--nvidiacl"
+ "nvptx64--nvidiacl"
+ )
+ use video_cards_r600 && libclc_targets+=(
+ "r600--"
+ )
+ use video_cards_radeonsi && libclc_targets+=(
+ "amdgcn--"
+ "amdgcn-mesa-mesa3d"
+ "amdgcn--amdhsa"
+ )
+ [[ ${#libclc_targets[@]} ]] || die "libclc target missing!"
+
+ libclc_targets=${libclc_targets[*]}
+ local mycmakeargs=(
+ -DLIBCLC_TARGETS_TO_BUILD="${libclc_targets// /;}"
+ -DLLVM_CONFIG="$(get_llvm_prefix "${LLVM_MAX_SLOT}")/bin/llvm-config"
+ )
+ cmake_src_configure
+}
diff --git a/dev-libs/libclc/libclc-16.0.6.ebuild b/dev-libs/libclc/libclc-16.0.6.ebuild
new file mode 100644
index 000000000000..30f6440953eb
--- /dev/null
+++ b/dev-libs/libclc/libclc-16.0.6.ebuild
@@ -0,0 +1,84 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..12} )
+inherit cmake llvm llvm.org python-any-r1
+
+DESCRIPTION="OpenCL C library"
+HOMEPAGE="https://libclc.llvm.org/"
+
+LICENSE="Apache-2.0-with-LLVM-exceptions || ( MIT BSD )"
+SLOT="0"
+KEYWORDS="amd64 ~riscv x86"
+IUSE="+spirv video_cards_nvidia video_cards_r600 video_cards_radeonsi"
+
+LLVM_MAX_SLOT=16
+BDEPEND="
+ ${PYTHON_DEPS}
+ || (
+ (
+ sys-devel/clang:16
+ spirv? ( dev-util/spirv-llvm-translator:16 )
+ )
+ (
+ sys-devel/clang:15
+ spirv? ( dev-util/spirv-llvm-translator:15 )
+ )
+ (
+ sys-devel/clang:14
+ spirv? ( dev-util/spirv-llvm-translator:14 )
+ )
+ (
+ sys-devel/clang:13
+ spirv? ( dev-util/spirv-llvm-translator:13 )
+ )
+ )
+"
+
+LLVM_COMPONENTS=( libclc )
+llvm.org_set_globals
+
+llvm_check_deps() {
+ if use spirv; then
+ has_version -b "dev-util/spirv-llvm-translator:${LLVM_SLOT}" ||
+ return 1
+ fi
+ has_version -b "sys-devel/clang:${LLVM_SLOT}"
+}
+
+pkg_setup() {
+ llvm_pkg_setup
+ python-any-r1_pkg_setup
+}
+
+src_configure() {
+ local libclc_targets=()
+
+ use spirv && libclc_targets+=(
+ "spirv-mesa3d-"
+ "spirv64-mesa3d-"
+ )
+ use video_cards_nvidia && libclc_targets+=(
+ "nvptx--"
+ "nvptx64--"
+ "nvptx--nvidiacl"
+ "nvptx64--nvidiacl"
+ )
+ use video_cards_r600 && libclc_targets+=(
+ "r600--"
+ )
+ use video_cards_radeonsi && libclc_targets+=(
+ "amdgcn--"
+ "amdgcn-mesa-mesa3d"
+ "amdgcn--amdhsa"
+ )
+ [[ ${#libclc_targets[@]} ]] || die "libclc target missing!"
+
+ libclc_targets=${libclc_targets[*]}
+ local mycmakeargs=(
+ -DLIBCLC_TARGETS_TO_BUILD="${libclc_targets// /;}"
+ )
+ cmake_src_configure
+}
diff --git a/dev-libs/libclc/libclc-17.0.6.ebuild b/dev-libs/libclc/libclc-17.0.6.ebuild
new file mode 100644
index 000000000000..650f9f41f61d
--- /dev/null
+++ b/dev-libs/libclc/libclc-17.0.6.ebuild
@@ -0,0 +1,88 @@
+# 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 llvm llvm.org python-any-r1
+
+DESCRIPTION="OpenCL C library"
+HOMEPAGE="https://libclc.llvm.org/"
+
+LICENSE="Apache-2.0-with-LLVM-exceptions || ( MIT BSD )"
+SLOT="0"
+KEYWORDS="amd64 arm64 ~riscv x86"
+IUSE="+spirv video_cards_nvidia video_cards_r600 video_cards_radeonsi"
+
+LLVM_MAX_SLOT=17
+BDEPEND="
+ ${PYTHON_DEPS}
+ || (
+ (
+ sys-devel/clang:17
+ spirv? ( dev-util/spirv-llvm-translator:17 )
+ )
+ (
+ sys-devel/clang:16
+ spirv? ( dev-util/spirv-llvm-translator:16 )
+ )
+ (
+ sys-devel/clang:15
+ spirv? ( dev-util/spirv-llvm-translator:15 )
+ )
+ (
+ sys-devel/clang:14
+ spirv? ( dev-util/spirv-llvm-translator:14 )
+ )
+ (
+ sys-devel/clang:13
+ spirv? ( dev-util/spirv-llvm-translator:13 )
+ )
+ )
+"
+
+LLVM_COMPONENTS=( libclc )
+llvm.org_set_globals
+
+llvm_check_deps() {
+ if use spirv; then
+ has_version -b "dev-util/spirv-llvm-translator:${LLVM_SLOT}" ||
+ return 1
+ fi
+ has_version -b "sys-devel/clang:${LLVM_SLOT}"
+}
+
+pkg_setup() {
+ llvm_pkg_setup
+ python-any-r1_pkg_setup
+}
+
+src_configure() {
+ local libclc_targets=()
+
+ use spirv && libclc_targets+=(
+ "spirv-mesa3d-"
+ "spirv64-mesa3d-"
+ )
+ use video_cards_nvidia && libclc_targets+=(
+ "nvptx--"
+ "nvptx64--"
+ "nvptx--nvidiacl"
+ "nvptx64--nvidiacl"
+ )
+ use video_cards_r600 && libclc_targets+=(
+ "r600--"
+ )
+ use video_cards_radeonsi && libclc_targets+=(
+ "amdgcn--"
+ "amdgcn-mesa-mesa3d"
+ "amdgcn--amdhsa"
+ )
+ [[ ${#libclc_targets[@]} ]] || die "libclc target missing!"
+
+ libclc_targets=${libclc_targets[*]}
+ local mycmakeargs=(
+ -DLIBCLC_TARGETS_TO_BUILD="${libclc_targets// /;}"
+ )
+ cmake_src_configure
+}
diff --git a/dev-libs/libclc/libclc-18.1.3.ebuild b/dev-libs/libclc/libclc-18.1.3.ebuild
new file mode 100644
index 000000000000..1a8008058811
--- /dev/null
+++ b/dev-libs/libclc/libclc-18.1.3.ebuild
@@ -0,0 +1,62 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+LLVM_COMPAT=( 17 )
+PYTHON_COMPAT=( python3_{10..12} )
+inherit cmake llvm.org llvm-r1 python-any-r1
+
+DESCRIPTION="OpenCL C library"
+HOMEPAGE="https://libclc.llvm.org/"
+
+LICENSE="Apache-2.0-with-LLVM-exceptions || ( MIT BSD )"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~riscv ~x86"
+IUSE="+spirv video_cards_nvidia video_cards_r600 video_cards_radeonsi"
+
+BDEPEND="
+ ${PYTHON_DEPS}
+ $(llvm_gen_dep '
+ sys-devel/clang:${LLVM_SLOT}
+ spirv? ( dev-util/spirv-llvm-translator:${LLVM_SLOT} )
+ ')
+"
+
+LLVM_COMPONENTS=( libclc )
+llvm.org_set_globals
+
+pkg_setup() {
+ llvm-r1_pkg_setup
+ python-any-r1_pkg_setup
+}
+
+src_configure() {
+ local libclc_targets=()
+
+ use spirv && libclc_targets+=(
+ "spirv-mesa3d-"
+ "spirv64-mesa3d-"
+ )
+ use video_cards_nvidia && libclc_targets+=(
+ "nvptx--"
+ "nvptx64--"
+ "nvptx--nvidiacl"
+ "nvptx64--nvidiacl"
+ )
+ use video_cards_r600 && libclc_targets+=(
+ "r600--"
+ )
+ use video_cards_radeonsi && libclc_targets+=(
+ "amdgcn--"
+ "amdgcn-mesa-mesa3d"
+ "amdgcn--amdhsa"
+ )
+ [[ ${#libclc_targets[@]} ]] || die "libclc target missing!"
+
+ libclc_targets=${libclc_targets[*]}
+ local mycmakeargs=(
+ -DLIBCLC_TARGETS_TO_BUILD="${libclc_targets// /;}"
+ )
+ cmake_src_configure
+}
diff --git a/dev-libs/libclc/libclc-18.1.4.ebuild b/dev-libs/libclc/libclc-18.1.4.ebuild
new file mode 100644
index 000000000000..1a8008058811
--- /dev/null
+++ b/dev-libs/libclc/libclc-18.1.4.ebuild
@@ -0,0 +1,62 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+LLVM_COMPAT=( 17 )
+PYTHON_COMPAT=( python3_{10..12} )
+inherit cmake llvm.org llvm-r1 python-any-r1
+
+DESCRIPTION="OpenCL C library"
+HOMEPAGE="https://libclc.llvm.org/"
+
+LICENSE="Apache-2.0-with-LLVM-exceptions || ( MIT BSD )"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~riscv ~x86"
+IUSE="+spirv video_cards_nvidia video_cards_r600 video_cards_radeonsi"
+
+BDEPEND="
+ ${PYTHON_DEPS}
+ $(llvm_gen_dep '
+ sys-devel/clang:${LLVM_SLOT}
+ spirv? ( dev-util/spirv-llvm-translator:${LLVM_SLOT} )
+ ')
+"
+
+LLVM_COMPONENTS=( libclc )
+llvm.org_set_globals
+
+pkg_setup() {
+ llvm-r1_pkg_setup
+ python-any-r1_pkg_setup
+}
+
+src_configure() {
+ local libclc_targets=()
+
+ use spirv && libclc_targets+=(
+ "spirv-mesa3d-"
+ "spirv64-mesa3d-"
+ )
+ use video_cards_nvidia && libclc_targets+=(
+ "nvptx--"
+ "nvptx64--"
+ "nvptx--nvidiacl"
+ "nvptx64--nvidiacl"
+ )
+ use video_cards_r600 && libclc_targets+=(
+ "r600--"
+ )
+ use video_cards_radeonsi && libclc_targets+=(
+ "amdgcn--"
+ "amdgcn-mesa-mesa3d"
+ "amdgcn--amdhsa"
+ )
+ [[ ${#libclc_targets[@]} ]] || die "libclc target missing!"
+
+ libclc_targets=${libclc_targets[*]}
+ local mycmakeargs=(
+ -DLIBCLC_TARGETS_TO_BUILD="${libclc_targets// /;}"
+ )
+ cmake_src_configure
+}
diff --git a/dev-libs/libclc/libclc-19.0.0.9999.ebuild b/dev-libs/libclc/libclc-19.0.0.9999.ebuild
new file mode 100644
index 000000000000..15a69aca7556
--- /dev/null
+++ b/dev-libs/libclc/libclc-19.0.0.9999.ebuild
@@ -0,0 +1,61 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+LLVM_COMPAT=( {15..17} )
+PYTHON_COMPAT=( python3_{10..12} )
+inherit cmake llvm.org llvm-r1 python-any-r1
+
+DESCRIPTION="OpenCL C library"
+HOMEPAGE="https://libclc.llvm.org/"
+
+LICENSE="Apache-2.0-with-LLVM-exceptions || ( MIT BSD )"
+SLOT="0"
+IUSE="+spirv video_cards_nvidia video_cards_r600 video_cards_radeonsi"
+
+BDEPEND="
+ ${PYTHON_DEPS}
+ $(llvm_gen_dep '
+ sys-devel/clang:${LLVM_SLOT}
+ spirv? ( dev-util/spirv-llvm-translator:${LLVM_SLOT} )
+ ')
+"
+
+LLVM_COMPONENTS=( libclc )
+llvm.org_set_globals
+
+pkg_setup() {
+ llvm-r1_pkg_setup
+ python-any-r1_pkg_setup
+}
+
+src_configure() {
+ local libclc_targets=()
+
+ use spirv && libclc_targets+=(
+ "spirv-mesa3d-"
+ "spirv64-mesa3d-"
+ )
+ use video_cards_nvidia && libclc_targets+=(
+ "nvptx--"
+ "nvptx64--"
+ "nvptx--nvidiacl"
+ "nvptx64--nvidiacl"
+ )
+ use video_cards_r600 && libclc_targets+=(
+ "r600--"
+ )
+ use video_cards_radeonsi && libclc_targets+=(
+ "amdgcn--"
+ "amdgcn-mesa-mesa3d"
+ "amdgcn--amdhsa"
+ )
+ [[ ${#libclc_targets[@]} ]] || die "libclc target missing!"
+
+ libclc_targets=${libclc_targets[*]}
+ local mycmakeargs=(
+ -DLIBCLC_TARGETS_TO_BUILD="${libclc_targets// /;}"
+ )
+ cmake_src_configure
+}
diff --git a/dev-libs/libclc/libclc-19.0.0_pre20240330.ebuild b/dev-libs/libclc/libclc-19.0.0_pre20240330.ebuild
new file mode 100644
index 000000000000..15a69aca7556
--- /dev/null
+++ b/dev-libs/libclc/libclc-19.0.0_pre20240330.ebuild
@@ -0,0 +1,61 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+LLVM_COMPAT=( {15..17} )
+PYTHON_COMPAT=( python3_{10..12} )
+inherit cmake llvm.org llvm-r1 python-any-r1
+
+DESCRIPTION="OpenCL C library"
+HOMEPAGE="https://libclc.llvm.org/"
+
+LICENSE="Apache-2.0-with-LLVM-exceptions || ( MIT BSD )"
+SLOT="0"
+IUSE="+spirv video_cards_nvidia video_cards_r600 video_cards_radeonsi"
+
+BDEPEND="
+ ${PYTHON_DEPS}
+ $(llvm_gen_dep '
+ sys-devel/clang:${LLVM_SLOT}
+ spirv? ( dev-util/spirv-llvm-translator:${LLVM_SLOT} )
+ ')
+"
+
+LLVM_COMPONENTS=( libclc )
+llvm.org_set_globals
+
+pkg_setup() {
+ llvm-r1_pkg_setup
+ python-any-r1_pkg_setup
+}
+
+src_configure() {
+ local libclc_targets=()
+
+ use spirv && libclc_targets+=(
+ "spirv-mesa3d-"
+ "spirv64-mesa3d-"
+ )
+ use video_cards_nvidia && libclc_targets+=(
+ "nvptx--"
+ "nvptx64--"
+ "nvptx--nvidiacl"
+ "nvptx64--nvidiacl"
+ )
+ use video_cards_r600 && libclc_targets+=(
+ "r600--"
+ )
+ use video_cards_radeonsi && libclc_targets+=(
+ "amdgcn--"
+ "amdgcn-mesa-mesa3d"
+ "amdgcn--amdhsa"
+ )
+ [[ ${#libclc_targets[@]} ]] || die "libclc target missing!"
+
+ libclc_targets=${libclc_targets[*]}
+ local mycmakeargs=(
+ -DLIBCLC_TARGETS_TO_BUILD="${libclc_targets// /;}"
+ )
+ cmake_src_configure
+}
diff --git a/dev-libs/libclc/libclc-19.0.0_pre20240404.ebuild b/dev-libs/libclc/libclc-19.0.0_pre20240404.ebuild
new file mode 100644
index 000000000000..15a69aca7556
--- /dev/null
+++ b/dev-libs/libclc/libclc-19.0.0_pre20240404.ebuild
@@ -0,0 +1,61 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+LLVM_COMPAT=( {15..17} )
+PYTHON_COMPAT=( python3_{10..12} )
+inherit cmake llvm.org llvm-r1 python-any-r1
+
+DESCRIPTION="OpenCL C library"
+HOMEPAGE="https://libclc.llvm.org/"
+
+LICENSE="Apache-2.0-with-LLVM-exceptions || ( MIT BSD )"
+SLOT="0"
+IUSE="+spirv video_cards_nvidia video_cards_r600 video_cards_radeonsi"
+
+BDEPEND="
+ ${PYTHON_DEPS}
+ $(llvm_gen_dep '
+ sys-devel/clang:${LLVM_SLOT}
+ spirv? ( dev-util/spirv-llvm-translator:${LLVM_SLOT} )
+ ')
+"
+
+LLVM_COMPONENTS=( libclc )
+llvm.org_set_globals
+
+pkg_setup() {
+ llvm-r1_pkg_setup
+ python-any-r1_pkg_setup
+}
+
+src_configure() {
+ local libclc_targets=()
+
+ use spirv && libclc_targets+=(
+ "spirv-mesa3d-"
+ "spirv64-mesa3d-"
+ )
+ use video_cards_nvidia && libclc_targets+=(
+ "nvptx--"
+ "nvptx64--"
+ "nvptx--nvidiacl"
+ "nvptx64--nvidiacl"
+ )
+ use video_cards_r600 && libclc_targets+=(
+ "r600--"
+ )
+ use video_cards_radeonsi && libclc_targets+=(
+ "amdgcn--"
+ "amdgcn-mesa-mesa3d"
+ "amdgcn--amdhsa"
+ )
+ [[ ${#libclc_targets[@]} ]] || die "libclc target missing!"
+
+ libclc_targets=${libclc_targets[*]}
+ local mycmakeargs=(
+ -DLIBCLC_TARGETS_TO_BUILD="${libclc_targets// /;}"
+ )
+ cmake_src_configure
+}
diff --git a/dev-libs/libclc/libclc-19.0.0_pre20240410.ebuild b/dev-libs/libclc/libclc-19.0.0_pre20240410.ebuild
new file mode 100644
index 000000000000..15a69aca7556
--- /dev/null
+++ b/dev-libs/libclc/libclc-19.0.0_pre20240410.ebuild
@@ -0,0 +1,61 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+LLVM_COMPAT=( {15..17} )
+PYTHON_COMPAT=( python3_{10..12} )
+inherit cmake llvm.org llvm-r1 python-any-r1
+
+DESCRIPTION="OpenCL C library"
+HOMEPAGE="https://libclc.llvm.org/"
+
+LICENSE="Apache-2.0-with-LLVM-exceptions || ( MIT BSD )"
+SLOT="0"
+IUSE="+spirv video_cards_nvidia video_cards_r600 video_cards_radeonsi"
+
+BDEPEND="
+ ${PYTHON_DEPS}
+ $(llvm_gen_dep '
+ sys-devel/clang:${LLVM_SLOT}
+ spirv? ( dev-util/spirv-llvm-translator:${LLVM_SLOT} )
+ ')
+"
+
+LLVM_COMPONENTS=( libclc )
+llvm.org_set_globals
+
+pkg_setup() {
+ llvm-r1_pkg_setup
+ python-any-r1_pkg_setup
+}
+
+src_configure() {
+ local libclc_targets=()
+
+ use spirv && libclc_targets+=(
+ "spirv-mesa3d-"
+ "spirv64-mesa3d-"
+ )
+ use video_cards_nvidia && libclc_targets+=(
+ "nvptx--"
+ "nvptx64--"
+ "nvptx--nvidiacl"
+ "nvptx64--nvidiacl"
+ )
+ use video_cards_r600 && libclc_targets+=(
+ "r600--"
+ )
+ use video_cards_radeonsi && libclc_targets+=(
+ "amdgcn--"
+ "amdgcn-mesa-mesa3d"
+ "amdgcn--amdhsa"
+ )
+ [[ ${#libclc_targets[@]} ]] || die "libclc target missing!"
+
+ libclc_targets=${libclc_targets[*]}
+ local mycmakeargs=(
+ -DLIBCLC_TARGETS_TO_BUILD="${libclc_targets// /;}"
+ )
+ cmake_src_configure
+}
diff --git a/dev-libs/libclc/metadata.xml b/dev-libs/libclc/metadata.xml
index 37907a923f2d..7518ab30a1c7 100644
--- a/dev-libs/libclc/metadata.xml
+++ b/dev-libs/libclc/metadata.xml
@@ -2,13 +2,12 @@
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
- <email>x11@gentoo.org</email>
- <name>X11</name>
- </maintainer>
- <maintainer type="project">
<email>llvm@gentoo.org</email>
</maintainer>
<upstream>
- <remote-id type="github">llvm-mirror/libclc</remote-id>
+ <remote-id type="github">llvm/llvm-project</remote-id>
</upstream>
+ <use>
+ <flag name="spirv">Build SPIRV targets</flag>
+ </use>
</pkgmetadata>
diff --git a/dev-libs/libconfig/Manifest b/dev-libs/libconfig/Manifest
index 7edd5b65cf05..fc104704e778 100644
--- a/dev-libs/libconfig/Manifest
+++ b/dev-libs/libconfig/Manifest
@@ -1,2 +1 @@
-DIST libconfig-1.7.2.tar.gz 3017891 BLAKE2B 1b8bc54857feff506d5cd62312a35f0f8a123380567881bdb8241f2232c5281399e4283687a3254b8f43a92b8f7d5ff3f72ec4fd875bf1b9d5d6c7703014cc3c SHA512 9df57355c2d08381b4a0a6366f0db3633fbe8f73c2bb8c370c040b0bae96ce89ee4ac6c17a5a247fed855d890fa383e5b70cb5573fc9cfc62194d5b94e161cee
DIST libconfig-1.7.3.tar.gz 3026416 BLAKE2B 94301be4d6e472fc9daeac7a04074855737ddda94bb5748cd0087fafe192cf674ea1c020808ebf855372188b6b27a57ed185323fa26988bb1fccde0566617cba SHA512 3749bf9eb29bab0f6b14f4fc759f0c419ed27a843842aaabed1ec1fbe0faa8c93322ff875ca1291d69cb28a39ece86d512aec42c2140d566c38c56dc616734f4
diff --git a/dev-libs/libconfig/libconfig-1.7.2.ebuild b/dev-libs/libconfig/libconfig-1.7.2.ebuild
deleted file mode 100644
index 6e8adc1e93eb..000000000000
--- a/dev-libs/libconfig/libconfig-1.7.2.ebuild
+++ /dev/null
@@ -1,51 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit autotools multilib-minimal
-
-DESCRIPTION="Libconfig is a simple library for manipulating structured configuration files"
-HOMEPAGE="
- http://www.hyperrealm.com/libconfig/libconfig.html
- https://github.com/hyperrealm/libconfig
-"
-SRC_URI="https://github.com/hyperrealm/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="LGPL-2.1"
-SLOT="0/11"
-KEYWORDS="amd64 ~arm ~arm64 ~ia64 ~m68k ~mips ppc ~ppc64 ~s390 sparc x86 ~x86-linux"
-IUSE="+cxx static-libs"
-
-DEPEND="
- sys-apps/texinfo
- sys-devel/bison
- sys-devel/libtool
-"
-
-src_prepare() {
- default
- sed -i \
- -e '/sleep 3/d' \
- configure.ac || die
- eautoreconf
- multilib_copy_sources
-}
-
-multilib_src_configure() {
- econf \
- $(use_enable cxx) \
- $(use_enable static-libs static) \
- --disable-examples
-}
-
-multilib_src_test() {
- # It responds to check but that does not work as intended
- emake test
-}
-
-multilib_src_install() {
- default
-
- find "${ED}" -name '*.la' -delete || die
-}
diff --git a/dev-libs/libconfig/libconfig-1.7.3.ebuild b/dev-libs/libconfig/libconfig-1.7.3.ebuild
index 5e436a5f4869..449f75c98860 100644
--- a/dev-libs/libconfig/libconfig-1.7.3.ebuild
+++ b/dev-libs/libconfig/libconfig-1.7.3.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
@@ -7,20 +7,21 @@ inherit autotools multilib-minimal
DESCRIPTION="Libconfig is a simple library for manipulating structured configuration files"
HOMEPAGE="
- http://www.hyperrealm.com/libconfig/libconfig.html
+ https://www.hyperrealm.com/libconfig/libconfig.html
https://github.com/hyperrealm/libconfig
"
SRC_URI="https://github.com/hyperrealm/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="LGPL-2.1"
SLOT="0/11"
-KEYWORDS="amd64 ~arm ~arm64 ~ia64 ~m68k ~mips ppc ~ppc64 ~riscv ~s390 sparc x86 ~x86-linux"
-IUSE="+cxx static-libs"
+KEYWORDS="~alpha amd64 ~arm ~arm64 ~ia64 ~loong ~m68k ~mips ppc ~ppc64 ~riscv ~s390 sparc x86 ~x86-linux"
+IUSE="+cxx static-libs test"
+RESTRICT="!test? ( test )"
DEPEND="
sys-apps/texinfo
- sys-devel/bison
- sys-devel/libtool
+ app-alternatives/yacc
+ dev-build/libtool
"
src_prepare() {
@@ -33,10 +34,14 @@ src_prepare() {
}
multilib_src_configure() {
- econf \
- $(use_enable cxx) \
- $(use_enable static-libs static) \
+ local myeconfargs=(
+ $(use_enable cxx)
+ $(use_enable static-libs static)
+ $(use_enable test tests)
--disable-examples
+ )
+
+ econf "${myeconfargs[@]}"
}
multilib_src_test() {
diff --git a/dev-libs/libconfig/metadata.xml b/dev-libs/libconfig/metadata.xml
index 115e9d64a669..2657107da297 100644
--- a/dev-libs/libconfig/metadata.xml
+++ b/dev-libs/libconfig/metadata.xml
@@ -2,4 +2,7 @@
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<!-- maintainer-needed -->
+ <upstream>
+ <remote-id type="github">hyperrealm/libconfig</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/dev-libs/libcpuid/Manifest b/dev-libs/libcpuid/Manifest
new file mode 100644
index 000000000000..48df6d7ae716
--- /dev/null
+++ b/dev-libs/libcpuid/Manifest
@@ -0,0 +1 @@
+DIST libcpuid-0.6.4.tar.gz 338722 BLAKE2B ad23c13c48b0244f401a60d07fb569712f24b4d1f2bcd16f8d0240c6a39f8afae8944c9d3b4f486d3e1727157d642915c794fc89f9af315a2c4daf64625fdf25 SHA512 5396301d2a5485c6cf15a2fa8eab0ce28d967fe0dcf0776fec3618b963bc786499032150037f6b9123738e094d41583a331bcea25e502b5025ec6f03d318f77e
diff --git a/dev-libs/libcpuid/libcpuid-0.6.4.ebuild b/dev-libs/libcpuid/libcpuid-0.6.4.ebuild
new file mode 100644
index 000000000000..b50a14f5886c
--- /dev/null
+++ b/dev-libs/libcpuid/libcpuid-0.6.4.ebuild
@@ -0,0 +1,37 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=(python3_{9..12})
+
+inherit autotools python-any-r1
+
+DESCRIPTION="A small C library for x86 (and x86_64) CPU detection and feature extraction"
+HOMEPAGE="http://libcpuid.sourceforge.net/"
+SRC_URI="https://github.com/anrieff/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+LICENSE="BSD-2"
+SLOT="0/16"
+KEYWORDS="~amd64"
+IUSE="static-libs test"
+RESTRICT="!test? ( test )"
+
+DEPEND="test? ( ${PYTHON_DEPS} )"
+
+pkg_setup() {
+ use test && python-any-r1_pkg_setup
+}
+
+src_prepare() {
+ default
+ eautoreconf
+}
+
+src_configure() {
+ econf "$(use_enable static-libs static)"
+}
+
+src_install() {
+ default
+ find "${ED}" -name "*.la" -delete || die
+}
diff --git a/dev-libs/libcpuid/metadata.xml b/dev-libs/libcpuid/metadata.xml
new file mode 100644
index 000000000000..eb3dc623eb52
--- /dev/null
+++ b/dev-libs/libcpuid/metadata.xml
@@ -0,0 +1,52 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>bkohler@gentoo.org</email>
+ <name>Ben Kohler</name>
+ </maintainer>
+ <longdescription>
+ <pkg>dev-libs/libcpuid</pkg> is a small C library for x86 (and x86_64)
+ CPU detection and feature extraction. Using it, you can:
+ - get the processor vendor, model, code name, etc.
+ - get information about CPU features such as: number of cores or
+ logical CPUs, cache sizes, CPU clock, etc.
+ - check if the processor implements a specific instruction set such as
+ the SSE2, 3DNow!, etc.
+ - execute the CPUID and RDTSC instructions.
+ - have this all in your commercial application, without getting into
+ trouble.
+ </longdescription>
+ <longdescription lang="fr">
+ <pkg>dev-libs/libcpuid</pkg> est une petite bibliothèque C pour la
+ détection de CPU x86 (et x86_64) et l'extraction de fonctions. En
+ l'utilisant, vous pouvez :
+ - obtenir le vendeur du processeur, le modèle, le nom de code, etc.
+ - obtenir des informations sur les caractéristiques du CPU telles que :
+ le nombre de cœurs ou d'unités logiques, les tailles des caches,
+ l'horloge CPU, etc.
+ - vérifier si le processeur implémente un jeu d'instructions spécifique
+ tel que l'instruction SSE2, 3DNow!, etc.
+ - exécuter les instructions CPUID et RDTSC.
+ - avoir tout cela dans votre application commerciale, sans avoir
+ d'ennuis.
+ </longdescription>
+ <slots>
+ <subslots>Reflect ABI compatibility for libcpuid.so</subslots>
+ </slots>
+ <slots lang="fr">
+ <subslots>
+ Reflétent la compatibilité de l'interface binaire-programme
+ (A.B.I.) de libcpuid.so
+ </subslots>
+ </slots>
+ <upstream>
+ <maintainer status="active">
+ <name>Veselin Georgiev</name>
+ </maintainer>
+ <changelog>https://raw.githubusercontent.com/anrieff/libcpuid/master/ChangeLog</changelog>
+ <doc>http://libcpuid.sourceforge.net/doxy/index.html</doc>
+ <bugs-to>https://github.com/anrieff/libcpuid/issues/</bugs-to>
+ <remote-id type="github">anrieff/libcpuid</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/libcroco/libcroco-0.6.13-r1.ebuild b/dev-libs/libcroco/libcroco-0.6.13-r1.ebuild
index 6dc6bb37f910..e3da950d913c 100644
--- a/dev-libs/libcroco/libcroco-0.6.13-r1.ebuild
+++ b/dev-libs/libcroco/libcroco-0.6.13-r1.ebuild
@@ -1,16 +1,16 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
-inherit gnome2 multilib-minimal
+inherit flag-o-matic gnome2 multilib-minimal
DESCRIPTION="Generic Cascading Style Sheet (CSS) parsing and manipulation toolkit"
HOMEPAGE="https://gitlab.gnome.org/Archive/libcroco"
LICENSE="LGPL-2"
SLOT="0.6"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~x64-solaris ~x86-solaris"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
IUSE="test"
RESTRICT="!test? ( test )"
@@ -20,7 +20,7 @@ RDEPEND="
"
DEPEND="${RDEPEND}"
BDEPEND="
- dev-util/gtk-doc-am
+ dev-build/gtk-doc-am
virtual/pkgconfig
"
@@ -36,6 +36,14 @@ src_prepare() {
gnome2_src_prepare
}
+src_configure() {
+ # bug #855704
+ append-flags -fno-strict-aliasing
+ filter-lto
+
+ multilib-minimal_src_configure
+}
+
multilib_src_configure() {
ECONF_SOURCE=${S} \
gnome2_src_configure \
diff --git a/dev-libs/libcroco/metadata.xml b/dev-libs/libcroco/metadata.xml
index 03f048e38d16..8496381e3f83 100644
--- a/dev-libs/libcroco/metadata.xml
+++ b/dev-libs/libcroco/metadata.xml
@@ -1,19 +1,22 @@
<?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>
-<longdescription>
-The Libcroco project is an effort to build a generic Cascading Style Sheet (CSS) parsing and manipulation toolkit that can be used by GNOME applications in need of CSS support.
+ <maintainer type="project">
+ <email>gnome@gentoo.org</email>
+ <name>Gentoo GNOME Desktop</name>
+ </maintainer>
+ <longdescription>
+ The Libcroco project is an effort to build a generic Cascading Style Sheet
+ (CSS) parsing and manipulation toolkit that can be used by GNOME
+ applications in need of CSS support.
-provided is :
-A parser module with : A SAC like api and A CSSOM like api.
-A CSS2 selection engine
-An XML/CSS layout/rendering engine
-</longdescription>
-<upstream>
- <remote-id type="cpe">cpe:/a:gnome:libcroco</remote-id>
-</upstream>
+ provided is:
+ A parser module with: A SAC like api and A CSSOM like api.
+ A CSS2 selection engine
+ An XML/CSS layout/rendering engine
+ </longdescription>
+ <upstream>
+ <remote-id type="cpe">cpe:/a:gnome:libcroco</remote-id>
+ <remote-id type="gnome-gitlab">Archive/libcroco</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/dev-libs/libcss/Manifest b/dev-libs/libcss/Manifest
index 3eac4c2b2337..6d33e7e03719 100644
--- a/dev-libs/libcss/Manifest
+++ b/dev-libs/libcss/Manifest
@@ -1 +1 @@
-DIST libcss-0.9.1-src.tar.gz 522715 BLAKE2B 32206403f77997e6692eed00c9233e6f49f08efc2515901a8bef7590883e44ef320511368fe5a67968102911d849696a4419735c7f6691f0f272fcc3b9a000d8 SHA512 069b30e74ff03fc91666dd16f22a38effbb3e29f066fd0fbc09efdc26dd8678e3f31adeaf918c5596fb962c56335fb2ecdbde1aa6704fcbdec3c2f97d03e5bbe
+DIST libcss-0.9.2-src.tar.gz 545016 BLAKE2B 4d5f2554e4ffa5cf8fef3046a244e27dba954e48770c28a2ea79b63826dc056e8fa47d006e7ab4ae2048cf706e7adc2a81053eea2cfbe8b0f0bd683610af9632 SHA512 271362a5fcdf0cfeeefd62ed5319a1a27a56839b953255a48c54995dec62001a1a95c4da4bd315751353c989ee6008e671ad6347dd9e5dc714180578dd1d24df
diff --git a/dev-libs/libcss/libcss-0.9.1-r1.ebuild b/dev-libs/libcss/libcss-0.9.1-r1.ebuild
deleted file mode 100644
index 45f4fdb3e481..000000000000
--- a/dev-libs/libcss/libcss-0.9.1-r1.ebuild
+++ /dev/null
@@ -1,51 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit netsurf
-
-DESCRIPTION="CSS parser and selection engine, written in C"
-HOMEPAGE="http://www.netsurf-browser.org/projects/libcss/"
-SRC_URI="https://download.netsurf-browser.org/libs/releases/${P}-src.tar.gz"
-
-LICENSE="MIT"
-SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~x86"
-IUSE="test"
-
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- dev-libs/libparserutils
- dev-libs/libwapcaplet"
-DEPEND="${RDEPEND}
- test? ( dev-lang/perl )"
-BDEPEND="
- >=dev-util/netsurf-buildsystem-1.7-r1
- virtual/pkgconfig"
-
-src_prepare() {
- default
- sed -e '1i#pragma GCC diagnostic ignored "-Wimplicit-fallthrough"' \
- -i src/parse/parse.c src/select/arena_hash.h || die
- sed -e '1i#pragma GCC diagnostic ignored "-Wmaybe-uninitialized"' \
- -i src/parse/parse.c src/select/computed.c || die
-}
-
-_emake() {
- netsurf_define_makeconf
- emake "${NETSURF_MAKECONF[@]}" COMPONENT_TYPE=lib-shared $@
-}
-
-src_compile() {
- _emake
-}
-
-src_test() {
- _emake test
-}
-
-src_install() {
- _emake DESTDIR="${D}" install
-}
diff --git a/dev-libs/libcss/libcss-0.9.2.ebuild b/dev-libs/libcss/libcss-0.9.2.ebuild
new file mode 100644
index 000000000000..36b6fd1f2d52
--- /dev/null
+++ b/dev-libs/libcss/libcss-0.9.2.ebuild
@@ -0,0 +1,43 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit netsurf
+
+DESCRIPTION="CSS parser and selection engine, written in C"
+HOMEPAGE="https://www.netsurf-browser.org/projects/libcss/"
+SRC_URI="https://download.netsurf-browser.org/libs/releases/${P}-src.tar.gz"
+
+LICENSE="MIT"
+SLOT="0/${PV}"
+KEYWORDS="amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~x86"
+IUSE="test"
+
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ dev-libs/libparserutils
+ dev-libs/libwapcaplet"
+DEPEND="${RDEPEND}
+ test? ( dev-lang/perl )"
+BDEPEND="
+ dev-build/netsurf-buildsystem
+ virtual/pkgconfig"
+
+_emake() {
+ netsurf_define_makeconf
+ emake "${NETSURF_MAKECONF[@]}" COMPONENT_TYPE=lib-shared $@
+}
+
+src_compile() {
+ _emake
+}
+
+src_test() {
+ _emake test
+}
+
+src_install() {
+ _emake DESTDIR="${D}" install
+}
diff --git a/dev-libs/libcss/libcss-9999.ebuild b/dev-libs/libcss/libcss-9999.ebuild
new file mode 100644
index 000000000000..55df25e380a3
--- /dev/null
+++ b/dev-libs/libcss/libcss-9999.ebuild
@@ -0,0 +1,46 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit git-r3 netsurf
+
+DESCRIPTION="CSS parser and selection engine, written in C"
+HOMEPAGE="https://www.netsurf-browser.org/projects/libcss/"
+
+EGIT_REPO_URI="https://git.netsurf-browser.org/${PN}.git"
+LICENSE="MIT"
+SLOT="0/${PV}"
+IUSE="test"
+
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ dev-libs/libparserutils
+ dev-libs/libwapcaplet"
+DEPEND="${RDEPEND}
+ test? ( dev-lang/perl )"
+BDEPEND="
+ dev-build/netsurf-buildsystem
+ virtual/pkgconfig"
+
+src_prepare() {
+ default
+}
+
+_emake() {
+ netsurf_define_makeconf
+ emake "${NETSURF_MAKECONF[@]}" COMPONENT_TYPE=lib-shared $@
+}
+
+src_compile() {
+ _emake
+}
+
+src_test() {
+ _emake test
+}
+
+src_install() {
+ _emake DESTDIR="${D}" install
+}
diff --git a/dev-libs/libcss/metadata.xml b/dev-libs/libcss/metadata.xml
index 115e9d64a669..f2908ee10b59 100644
--- a/dev-libs/libcss/metadata.xml
+++ b/dev-libs/libcss/metadata.xml
@@ -1,5 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <!-- maintainer-needed -->
+ <maintainer type="person">
+ <email>mjo@gentoo.org</email>
+ <name>Michael Orlitzky</name>
+ </maintainer>
</pkgmetadata>
diff --git a/dev-libs/libdaemon/libdaemon-0.14-r3.ebuild b/dev-libs/libdaemon/libdaemon-0.14-r3.ebuild
deleted file mode 100644
index 9e21641bd3fa..000000000000
--- a/dev-libs/libdaemon/libdaemon-0.14-r3.ebuild
+++ /dev/null
@@ -1,71 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit autotools multilib-minimal
-
-DESCRIPTION="Simple library for creating daemon processes in C"
-HOMEPAGE="http://0pointer.de/lennart/projects/libdaemon/"
-SRC_URI="http://0pointer.de/lennart/projects/${PN}/${P}.tar.gz"
-
-LICENSE="LGPL-2.1"
-SLOT="0/5"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~mips ppc ppc64 ~riscv ~s390 sparc x86"
-IUSE="doc examples static-libs"
-
-BDEPEND="doc? ( app-doc/doxygen )"
-
-PATCHES=(
- "${FILESDIR}"/${PV}-man-page-typo-fix.patch
-)
-
-src_prepare() {
- default
-
- # Refresh bundled libtool (ltmain.sh)
- # (elibtoolize is insufficient)
- # bug #668404
- eautoreconf
-
- # doxygen is broken with out-of-source builds
- multilib_copy_sources
-}
-
-multilib_src_configure() {
- econf \
- --localstatedir=/var \
- --disable-examples \
- --disable-lynx \
- $(use_enable static-libs static)
-}
-
-multilib_src_compile() {
- emake
-
- if multilib_is_native_abi && use doc; then
- einfo "Building documentation"
- emake doxygen
- fi
-}
-
-multilib_src_install() {
- emake DESTDIR="${D}" install
-
- if multilib_is_native_abi && use doc; then
- docinto html
- dodoc -r doc/README.html doc/style.css doc/reference/html/*
- doman doc/reference/man/man3/*.h.3
- fi
-}
-
-multilib_src_install_all() {
- einstalldocs
-
- find "${ED}" -name '*.la' -delete || die
-
- if use examples; then
- docinto examples
- dodoc examples/testd.c
- fi
-}
diff --git a/dev-libs/libdaemon/libdaemon-0.14-r4.ebuild b/dev-libs/libdaemon/libdaemon-0.14-r4.ebuild
new file mode 100644
index 000000000000..b00a727aee78
--- /dev/null
+++ b/dev-libs/libdaemon/libdaemon-0.14-r4.ebuild
@@ -0,0 +1,64 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools
+
+DESCRIPTION="Simple library for creating daemon processes in C"
+HOMEPAGE="http://0pointer.de/lennart/projects/libdaemon/"
+SRC_URI="http://0pointer.de/lennart/projects/${PN}/${P}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0/5"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86"
+IUSE="doc examples"
+
+BDEPEND="doc? ( app-text/doxygen )"
+
+PATCHES=(
+ "${FILESDIR}"/${PV}-man-page-typo-fix.patch
+)
+
+src_prepare() {
+ default
+
+ # Refresh bundled libtool (ltmain.sh)
+ # (elibtoolize is insufficient)
+ # bug #668404
+ eautoreconf
+}
+
+src_configure() {
+ local myeconfargs=(
+ --localstatedir="${EPREFIX}"/var
+ --disable-examples
+ --disable-lynx
+ )
+
+ econf "${myeconfargs[@]}"
+}
+
+src_compile() {
+ emake
+
+ if use doc; then
+ einfo "Building documentation"
+ emake doxygen
+
+ HTML_DOCS=( doc/README.html doc/style.css doc/reference/html/. )
+ fi
+}
+
+src_install() {
+ default
+
+ use doc && doman doc/reference/man/man3/*.h.3
+
+ find "${ED}" -name '*.la' -delete || die
+
+ if use examples; then
+ docinto examples
+ dodoc examples/testd.c
+ fi
+}
diff --git a/dev-libs/libdazzle/Manifest b/dev-libs/libdazzle/Manifest
index 3b76c88f08d0..00ca5e2ec688 100644
--- a/dev-libs/libdazzle/Manifest
+++ b/dev-libs/libdazzle/Manifest
@@ -1,2 +1 @@
-DIST libdazzle-3.40.0.tar.xz 447648 BLAKE2B fb7916fd7812c03ec63bc804974574bbf6d029596e8364f5f13cde22be330a9356ee250c0d5bfc8742545d410c94b1ad7a1fa0bd5e2f473f67d6c45fe55e8e93 SHA512 23bf0a176fb847ee46a22a96594e9ed60921f104875fd102375445f364b552167778a56dd4929a18b2a7bee1144fd5e07d5cadac3355ac4877cd56838cb5deb2
-DIST libdazzle-3.42.0.tar.xz 450636 BLAKE2B 0a77a9ceeca2af8a001b75dbffa04cd385be89d9fac898e6b90111d240b409a54357d9668ca33e494dbb0ed932f16605f363aa69b92c548981be0db971b67dfe SHA512 db6ac54deba034627726747b8c15472aa2f640617473825698e23ca6527d5b69e9103dd82141e82b7dd7fa8bd57eadf054cdd300d46e1b65ced0fffcbc55a301
+DIST libdazzle-3.44.0.tar.xz 454948 BLAKE2B d42d98e820e7af18fc8c8a75f7b77b5d84f03a367925d16b35fe88fd5a74e69d2f170233dd6986ad47dfc4cdd2f9690323d1053341ecb11e324e758f63a25bba SHA512 eff3f65cbfd4f780afb4bda6137e8d4f1ee2cd0ab21288d07315415944ced1aa2d7ef89c2b7ebb373ac4c46b91d341bed063e9c7d1c21fa083514c8c3c9c518f
diff --git a/dev-libs/libdazzle/libdazzle-3.40.0.ebuild b/dev-libs/libdazzle/libdazzle-3.40.0.ebuild
deleted file mode 100644
index 86eded995e3f..000000000000
--- a/dev-libs/libdazzle/libdazzle-3.40.0.ebuild
+++ /dev/null
@@ -1,61 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit gnome.org meson xdg vala virtualx
-
-DESCRIPTION="Experimental new features for GTK+ and GLib"
-HOMEPAGE="https://gitlab.gnome.org/GNOME/libdazzle"
-
-LICENSE="GPL-3+"
-SLOT="0"
-KEYWORDS="amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~sparc x86"
-
-IUSE="gtk-doc +introspection test +vala"
-REQUIRED_USE="vala? ( introspection )"
-RESTRICT="!test? ( test )"
-
-# We keep newer glib/gtk+ deps to avoid GtkEventControllerMotion backports gettings used
-RDEPEND="
- >=dev-libs/glib-2.56.0:2
- >=x11-libs/gtk+-3.24.0:3[introspection?]
- introspection? ( dev-libs/gobject-introspection:= )
-"
-DEPEND="${RDEPEND}"
-# libxml2 required for glib-compile-resources; glib-utils for glib-mkenums
-BDEPEND="
- >=dev-util/meson-0.49.0
- vala? ( $(vala_depend) )
- dev-libs/libxml2:2
- dev-util/glib-utils
- >=sys-devel/gettext-0.19.8
- virtual/pkgconfig
- gtk-doc? ( dev-util/gtk-doc )
-"
-
-src_prepare() {
- use vala && vala_src_prepare
- xdg_src_prepare
-}
-
-src_configure() {
- local emesonargs=(
- -Denable_tracing=false # extra trace debugging that would make things slower
- -Denable_profiling=false # -pg passing
- # On linux it'll always use a vdso based implementation that is even faster
- # than rdtscp insn, thus never build with rdtscp until we don't support non-linux
- # as the rdtscp using function will never get called anyways.
- -Denable_rdtscp=false
- -Denable_tools=true # /usr/bin/dazzle-list-counters
- $(meson_use introspection with_introspection)
- $(meson_use vala with_vapi)
- $(meson_use gtk-doc enable_gtk_doc)
- $(meson_use test enable_tests)
- )
- meson_src_configure
-}
-
-src_test() {
- virtx meson_src_test
-}
diff --git a/dev-libs/libdazzle/libdazzle-3.42.0.ebuild b/dev-libs/libdazzle/libdazzle-3.42.0.ebuild
deleted file mode 100644
index 0bed8faf85a5..000000000000
--- a/dev-libs/libdazzle/libdazzle-3.42.0.ebuild
+++ /dev/null
@@ -1,61 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit gnome.org meson xdg vala virtualx
-
-DESCRIPTION="Experimental new features for GTK+ and GLib"
-HOMEPAGE="https://gitlab.gnome.org/GNOME/libdazzle"
-
-LICENSE="GPL-3+"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86"
-
-IUSE="gtk-doc +introspection test +vala"
-REQUIRED_USE="vala? ( introspection )"
-RESTRICT="!test? ( test )"
-
-# We keep newer glib/gtk+ deps to avoid GtkEventControllerMotion backports gettings used
-RDEPEND="
- >=dev-libs/glib-2.56.0:2
- >=x11-libs/gtk+-3.24.0:3[introspection?]
- introspection? ( dev-libs/gobject-introspection:= )
-"
-DEPEND="${RDEPEND}"
-# libxml2 required for glib-compile-resources; glib-utils for glib-mkenums
-BDEPEND="
- >=dev-util/meson-0.49.0
- vala? ( $(vala_depend) )
- dev-libs/libxml2:2
- dev-util/glib-utils
- >=sys-devel/gettext-0.19.8
- virtual/pkgconfig
- gtk-doc? ( dev-util/gtk-doc )
-"
-
-src_prepare() {
- use vala && vala_src_prepare
- xdg_src_prepare
-}
-
-src_configure() {
- local emesonargs=(
- -Denable_tracing=false # extra trace debugging that would make things slower
- -Denable_profiling=false # -pg passing
- # On linux it'll always use a vdso based implementation that is even faster
- # than rdtscp insn, thus never build with rdtscp until we don't support non-linux
- # as the rdtscp using function will never get called anyways.
- -Denable_rdtscp=false
- -Denable_tools=true # /usr/bin/dazzle-list-counters
- $(meson_use introspection with_introspection)
- $(meson_use vala with_vapi)
- $(meson_use gtk-doc enable_gtk_doc)
- $(meson_use test enable_tests)
- )
- meson_src_configure
-}
-
-src_test() {
- virtx meson_src_test
-}
diff --git a/dev-libs/libdazzle/libdazzle-3.44.0.ebuild b/dev-libs/libdazzle/libdazzle-3.44.0.ebuild
new file mode 100644
index 000000000000..e1b879ab6776
--- /dev/null
+++ b/dev-libs/libdazzle/libdazzle-3.44.0.ebuild
@@ -0,0 +1,61 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit gnome.org meson vala virtualx
+
+DESCRIPTION="Experimental new features for GTK+ and GLib"
+HOMEPAGE="https://gitlab.gnome.org/GNOME/libdazzle"
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="amd64 ~arm arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc x86"
+
+IUSE="gtk-doc +introspection test +vala"
+REQUIRED_USE="vala? ( introspection )"
+RESTRICT="!test? ( test )"
+
+# We keep newer glib/gtk+ deps to avoid GtkEventControllerMotion backports gettings used
+RDEPEND="
+ >=dev-libs/glib-2.56.0:2
+ >=x11-libs/gtk+-3.24.0:3[introspection?]
+ introspection? ( dev-libs/gobject-introspection:= )
+"
+DEPEND="${RDEPEND}"
+# libxml2 required for glib-compile-resources; glib-utils for glib-mkenums
+BDEPEND="
+ >=dev-build/meson-0.49.0
+ vala? ( $(vala_depend) )
+ dev-libs/libxml2:2
+ dev-util/glib-utils
+ >=sys-devel/gettext-0.19.8
+ virtual/pkgconfig
+ gtk-doc? ( dev-util/gtk-doc )
+"
+
+src_prepare() {
+ default
+ use vala && vala_setup
+}
+
+src_configure() {
+ local emesonargs=(
+ -Denable_tracing=false # extra trace debugging that would make things slower
+ -Denable_profiling=false # -pg passing
+ # On linux it'll always use a vdso based implementation that is even faster
+ # than rdtscp insn, thus never build with rdtscp until we don't support non-linux
+ # as the rdtscp using function will never get called anyways.
+ -Denable_rdtscp=false
+ -Denable_tools=true # /usr/bin/dazzle-list-counters
+ $(meson_use introspection with_introspection)
+ $(meson_use vala with_vapi)
+ $(meson_use gtk-doc enable_gtk_doc)
+ $(meson_use test enable_tests)
+ )
+ meson_src_configure
+}
+
+src_test() {
+ virtx meson_src_test
+}
diff --git a/dev-libs/libdazzle/metadata.xml b/dev-libs/libdazzle/metadata.xml
index 01065172e304..6ca5bc16c6d2 100644
--- a/dev-libs/libdazzle/metadata.xml
+++ b/dev-libs/libdazzle/metadata.xml
@@ -1,12 +1,17 @@
<?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>
- <longdescription>libdazzle is a collection of fancy features for GLib and Gtk+ that aren't quite
- ready or generic enough for use inside those libraries. This is often a proving
- ground for new widget prototypes. Applications such as Builder tend to drive
- development of this project.</longdescription>
+ <maintainer type="project">
+ <email>gnome@gentoo.org</email>
+ <name>Gentoo GNOME Desktop</name>
+ </maintainer>
+ <longdescription>
+ libdazzle is a collection of fancy features for GLib and Gtk+ that aren't
+ quite ready or generic enough for use inside those libraries. This is
+ often a proving ground for new widget prototypes. Applications such as
+ Builder tend to drive development of this project.
+ </longdescription>
+ <upstream>
+ <remote-id type="gnome-gitlab">GNOME/libdazzle</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/dev-libs/libdbh/libdbh-5.0.22.ebuild b/dev-libs/libdbh/libdbh-5.0.22.ebuild
index f24e96b09343..d0cddf9b2621 100644
--- a/dev-libs/libdbh/libdbh-5.0.22.ebuild
+++ b/dev-libs/libdbh/libdbh-5.0.22.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
@@ -16,7 +16,7 @@ SLOT="0"
KEYWORDS="amd64 x86"
BDEPEND="
- dev-util/gtk-doc-am
+ dev-build/gtk-doc-am
virtual/pkgconfig"
S="${WORKDIR}/${MY_P}"
diff --git a/dev-libs/libdbusmenu-lxqt/Manifest b/dev-libs/libdbusmenu-lxqt/Manifest
new file mode 100644
index 000000000000..6d43f2efade3
--- /dev/null
+++ b/dev-libs/libdbusmenu-lxqt/Manifest
@@ -0,0 +1 @@
+DIST libdbusmenu-lxqt-0.1.0.tar.xz 39232 BLAKE2B 7c2741609996a33fb1bffb9aff938130e31ebc6796dcf613ccbb2bbf9bae2290fa09bda9777ebec2b819c7ac2ce04ad086483db409c2809517ce7e41729cd71d SHA512 8c09f9bd4b3c60db1666f5a53ea84c67d2d120b215eca6563c32385387e100fe591cb8653a283750444356c61306cf385507edb6a507b22427eb6f18aa972fb5
diff --git a/dev-libs/libdbusmenu-lxqt/files/libdbusmenu-lxqt-0.1.0-cmake.patch b/dev-libs/libdbusmenu-lxqt/files/libdbusmenu-lxqt-0.1.0-cmake.patch
new file mode 100644
index 000000000000..835e8eb71c86
--- /dev/null
+++ b/dev-libs/libdbusmenu-lxqt/files/libdbusmenu-lxqt-0.1.0-cmake.patch
@@ -0,0 +1,129 @@
+From 1be3710c1032eb8eee9fabc59f05f335aeb2e97c Mon Sep 17 00:00:00 2001
+From: Jimi Huotari <chiitoo@gentoo.org>
+Date: Wed, 20 Mar 2024 21:01:00 +0200
+Subject: [PATCH] cmake: fix pkgconfig libdir path with general cleanup
+
+Also use more GNUInstallDirs.
+
+Adapted from: https://gitweb.gentoo.org/repo/gentoo.git/tree/dev-libs/libdbusmenu-qt/files/libdbusmenu-qt-0.9.3_pre20160218-cmake.patch
+---
+ CMakeLists.txt | 14 ++++++--------
+ cmake/modules/FindQJSON.cmake | 2 +-
+ dbusmenu-lxqt.pc.in | 6 +++---
+ src/CMakeLists.txt | 10 +++++-----
+ 4 files changed, 15 insertions(+), 17 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 3e46428..7bb1e66 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -49,9 +49,7 @@ endif (__DBUSMENU_HAVE_CXX17)
+
+ include(CMakePackageConfigHelpers)
+ include(GNUInstallDirs)
+-set(LIB_DESTINATION "${CMAKE_INSTALL_LIBDIR}")
+-set(CMAKECONFIG_INSTALL_DIR "${LIB_DESTINATION}/cmake/dbusmenu-lxqt")
+-set(INCLUDE_INSTALL_DIR "include/dbusmenu-lxqt")
++set(INCLUDE_INSTALL_DIR "${CMAKE_INSTALL_INCLUDEDIR}/dbusmenu-lxqt")
+
+ # dist targets
+ set(ARCHIVE_NAME libdbusmenu-lxqt-${dbusmenu_lxqt_VERSION})
+@@ -76,7 +74,7 @@ add_dependencies(distcheck dist)
+ configure_file(dbusmenu-lxqt.pc.in ${CMAKE_BINARY_DIR}/dbusmenu-lxqt.pc @ONLY)
+
+ install(FILES ${CMAKE_BINARY_DIR}/dbusmenu-lxqt.pc
+- DESTINATION ${LIB_DESTINATION}/pkgconfig
++ DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig
+ )
+
+ add_subdirectory(src)
+@@ -91,7 +89,7 @@ if(WITH_DOC)
+ )
+
+ install(DIRECTORY ${CMAKE_BINARY_DIR}/html/
+- DESTINATION share/doc/libdbusmenu-lxqt-doc
++ DESTINATION ${CMAKE_INSTALL_DOCDIR}
+ )
+ endif(WITH_DOC)
+
+@@ -99,7 +97,7 @@ endif(WITH_DOC)
+ configure_package_config_file(
+ dbusmenu-lxqt-config.cmake.in
+ ${CMAKE_BINARY_DIR}/dbusmenu-lxqt-config.cmake
+- INSTALL_DESTINATION ${CMAKECONFIG_INSTALL_DIR}
++ INSTALL_DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/dbusmenu-lxqt
+ PATH_VARS INCLUDE_INSTALL_DIR
+ )
+
+@@ -113,6 +111,6 @@ write_basic_package_version_file(
+ install(FILES
+ ${CMAKE_BINARY_DIR}/dbusmenu-lxqt-config.cmake
+ ${CMAKE_BINARY_DIR}/dbusmenu-lxqt-config-version.cmake
+- DESTINATION "${CMAKECONFIG_INSTALL_DIR}"
++ DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/dbusmenu-lxqt"
+ COMPONENT Devel
+ )
+diff --git a/cmake/modules/FindQJSON.cmake b/cmake/modules/FindQJSON.cmake
+index cd007e1..e1371ce 100644
+--- a/cmake/modules/FindQJSON.cmake
++++ b/cmake/modules/FindQJSON.cmake
+@@ -34,7 +34,7 @@ else (QJSON_INCLUDE_DIR AND QJSON_LIBRARIES)
+ qjson/parser.h
+ PATHS
+ ${PC_QJSON_INCLUDE_DIRS}
+- ${INCLUDE_INSTALL_DIR}
++ ${CMAKE_INSTALL_INCLUDEDIR}
+ ${KDE4_INCLUDE_DIR}
+ )
+
+diff --git a/dbusmenu-lxqt.pc.in b/dbusmenu-lxqt.pc.in
+index d437851..60e81ad 100644
+--- a/dbusmenu-lxqt.pc.in
++++ b/dbusmenu-lxqt.pc.in
+@@ -1,7 +1,7 @@
+ prefix=@CMAKE_INSTALL_PREFIX@
+-exec_prefix=@CMAKE_INSTALL_PREFIX@
+-libdir=@CMAKE_INSTALL_PREFIX@/lib
+-includedir=@CMAKE_INSTALL_PREFIX@/include/dbusmenu-lxqt
++exec_prefix=${prefix}
++libdir=@CMAKE_INSTALL_PREFIX@/@CMAKE_INSTALL_LIBDIR@
++includedir=@CMAKE_INSTALL_FULL_INCLUDEDIR@/dbusmenu-lxqt
+
+ Name: libdbusmenu-lxqt
+ Description: Qt implementation of dbusmenu spec
+diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
+index e0d65e5..90b801c 100644
+--- a/src/CMakeLists.txt
++++ b/src/CMakeLists.txt
+@@ -83,23 +83,23 @@ target_link_libraries(dbusmenu-lxqt
+
+ # Make sure linking to the target adds dbusmenu-lxqt install directory
+ target_include_directories(dbusmenu-lxqt
+- INTERFACE "$<INSTALL_INTERFACE:${INCLUDE_INSTALL_DIR}>")
++ INTERFACE "$<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}/dbusmenu-lxqt>")
+
+ install(TARGETS dbusmenu-lxqt
+ EXPORT dbusmenu-lxqt-targets
+- LIBRARY DESTINATION ${LIB_DESTINATION}
++ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
+ RUNTIME DESTINATION bin
+ )
+
+ install(EXPORT dbusmenu-lxqt-targets
+- DESTINATION ${CMAKECONFIG_INSTALL_DIR})
++ DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/dbusmenu-lxqt)
+
+ install(DIRECTORY .
+- DESTINATION ${INCLUDE_INSTALL_DIR}
++ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/dbusmenu-lxqt
+ FILES_MATCHING PATTERN "*.h"
+ PATTERN "*_p.h" EXCLUDE
+ )
+
+ install(FILES ${CMAKE_CURRENT_BINARY_DIR}/dbusmenu_version.h
+- DESTINATION ${INCLUDE_INSTALL_DIR}
++ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/dbusmenu-lxqt
+ )
+--
+2.44.0
+
diff --git a/dev-libs/libdbusmenu-lxqt/libdbusmenu-lxqt-0.1.0.ebuild b/dev-libs/libdbusmenu-lxqt/libdbusmenu-lxqt-0.1.0.ebuild
new file mode 100644
index 000000000000..c21b6f45c981
--- /dev/null
+++ b/dev-libs/libdbusmenu-lxqt/libdbusmenu-lxqt-0.1.0.ebuild
@@ -0,0 +1,24 @@
+# Copyright 2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+DESCRIPTION="LXQt DBusMenu Implementation"
+HOMEPAGE="https://lxqt-project.org/"
+
+if [[ ${PV} = 9999 ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/lxqt/${PN}.git"
+else
+ SRC_URI="https://github.com/lxqt/${PN}/releases/download/${PV}/${P}.tar.xz"
+ KEYWORDS="~amd64"
+fi
+
+LICENSE="LGPL-2"
+SLOT="0"
+
+RDEPEND=">=dev-qt/qtbase-6.6:6[dbus,widgets]"
+
+PATCHES=( "${FILESDIR}/${PN}-0.1.0-cmake.patch" )
diff --git a/dev-libs/libdbusmenu-lxqt/metadata.xml b/dev-libs/libdbusmenu-lxqt/metadata.xml
new file mode 100644
index 000000000000..e11930658310
--- /dev/null
+++ b/dev-libs/libdbusmenu-lxqt/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="project">
+ <email>lxqt@gentoo.org</email>
+ <name>LXQt</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>qt@gentoo.org</email>
+ <name>Gentoo Qt Project</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">lxqt/libdbusmenu-lxqt</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/libdbusmenu-qt/libdbusmenu-qt-0.9.3_pre20160218-r3.ebuild b/dev-libs/libdbusmenu-qt/libdbusmenu-qt-0.9.3_pre20160218-r3.ebuild
index eb4f1fbabce0..f309a0f7391e 100644
--- a/dev-libs/libdbusmenu-qt/libdbusmenu-qt-0.9.3_pre20160218-r3.ebuild
+++ b/dev-libs/libdbusmenu-qt/libdbusmenu-qt-0.9.3_pre20160218-r3.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://launchpad.net/ubuntu/+archive/primary/+files/${PN}_${MY_PV}.ori
LICENSE="LGPL-2"
SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ~ppc ~ppc64 ~riscv x86 ~amd64-linux ~x86-linux"
+KEYWORDS="amd64 ~arm arm64 ~loong ~ppc ppc64 ~riscv x86 ~amd64-linux ~x86-linux"
IUSE=""
DEPEND="
diff --git a/dev-libs/libdbusmenu/libdbusmenu-16.04.0-r1.ebuild b/dev-libs/libdbusmenu/libdbusmenu-16.04.0-r1.ebuild
deleted file mode 100644
index a179f387ee24..000000000000
--- a/dev-libs/libdbusmenu/libdbusmenu-16.04.0-r1.ebuild
+++ /dev/null
@@ -1,146 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-VALA_MIN_API_VERSION=0.16
-VALA_USE_DEPEND=vapigen
-VIRTUALX_REQUIRED=manual
-
-inherit autotools flag-o-matic multilib-minimal vala virtualx xdg-utils
-
-DESCRIPTION="Library to pass menu structure across DBus"
-HOMEPAGE="https://launchpad.net/libdbusmenu"
-SRC_URI="https://launchpad.net/${PN/lib}/${PV%.*}/${PV}/+download/${P}.tar.gz"
-
-LICENSE="LGPL-2.1 LGPL-3"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ppc ppc64 ~riscv sparc x86"
-IUSE="debug gtk gtk3 +introspection test"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- >=dev-libs/dbus-glib-0.100[${MULTILIB_USEDEP}]
- >=dev-libs/glib-2.35.4[${MULTILIB_USEDEP}]
- dev-libs/libxml2[${MULTILIB_USEDEP}]
- gtk? ( x11-libs/gtk+:2[introspection?,${MULTILIB_USEDEP}] )
- gtk3? ( >=x11-libs/gtk+-3.2:3[introspection?,${MULTILIB_USEDEP}] )
- introspection? ( >=dev-libs/gobject-introspection-1 )"
-# tests also have optional dep on valgrind which we do not enforce
-DEPEND="${RDEPEND}
- app-text/gnome-doc-utils
- dev-util/glib-utils
- dev-util/intltool
- sys-devel/gettext
- virtual/pkgconfig
- introspection? ( $(vala_depend) )
- test? (
- >=dev-libs/json-glib-0.13.4[${MULTILIB_USEDEP}]
- >=dev-util/dbus-test-runner-15.04.0_p100
- gtk? ( ${VIRTUALX_DEPEND} )
- gtk3? ( ${VIRTUALX_DEPEND} )
- )"
-
-pkg_setup() {
- xdg_environment_reset
-}
-
-src_prepare() {
- if use introspection; then
- vala_src_prepare
- export VALA_API_GEN="${VAPIGEN}"
- fi
-
- eapply "${FILESDIR}/${P}-configure-fix.patch"
- eapply "${FILESDIR}/${P}-werror.patch"
- eapply_user
- eautoreconf
-}
-
-multilib_src_configure() {
- append-flags -Wno-error #414323
-
- local myconf=(
- --cache-file="${BUILD_DIR}"/config.cache
- --disable-gtk
- --disable-static
- # dumper extra tool is only for GTK+-2.x
- --disable-dumper
- $(multilib_native_use_enable introspection)
- $(multilib_native_use_enable introspection vala)
- $(use_enable debug massivedebugging)
- $(use_enable test tests)
- )
- local ECONF_SOURCE=${S}
- econf "${myconf[@]}"
-
- GTK_VARIANTS=( $(usex gtk 2 '') $(usex gtk3 3 '') )
- local MULTIBUILD_VARIANTS=( "${GTK_VARIANTS[@]}" )
- local top_builddir=${BUILD_DIR}
-
- gtk_configure() {
- local gtkconf=(
- "${myconf[@]}"
- --enable-gtk
- --with-gtk="${MULTIBUILD_VARIANT}"
- )
- mkdir -p "${BUILD_DIR}" || die
- cd "${BUILD_DIR}" || die
- econf "${gtkconf[@]}"
-
- rm -r libdbusmenu-glib || die
- ln -s "${top_builddir}"/libdbusmenu-glib libdbusmenu-glib || die
- }
- [[ ${GTK_VARIANTS[@]} ]] && multibuild_foreach_variant gtk_configure
-}
-
-gtk_emake() {
- emake -C "${BUILD_DIR}"/libdbusmenu-gtk "${@}"
- multilib_is_native_abi && \
- emake -C "${BUILD_DIR}"/docs/libdbusmenu-gtk "${@}"
-}
-
-multilib_src_compile() {
- emake
-
- local MULTIBUILD_VARIANTS=( "${GTK_VARIANTS[@]}" )
- [[ ${GTK_VARIANTS[@]} ]] && multibuild_foreach_variant \
- gtk_emake
-}
-
-multilib_src_test() {
- emake check
-
- gtk_test() {
- # please keep the list of GTK+ tests up-to-date
- emake -C "${BUILD_DIR}"/tests check \
- TESTS="test-gtk-objects-test test-gtk-label
- test-gtk-shortcut test-gtk-reorder test-gtk-remove"
- }
- local MULTIBUILD_VARIANTS=( "${GTK_VARIANTS[@]}" )
- [[ ${GTK_VARIANTS[@]} ]] && virtx multibuild_foreach_variant \
- gtk_test
-}
-
-multilib_src_install() {
- emake -j1 DESTDIR="${D}" install
-
- local MULTIBUILD_VARIANTS=( "${GTK_VARIANTS[@]}" )
- [[ ${GTK_VARIANTS[@]} ]] && multibuild_foreach_variant \
- gtk_emake -j1 install DESTDIR="${D}"
-}
-
-multilib_src_install_all() {
- einstalldocs
- find "${D}" -name '*.la' -delete || die
-}
-
-pkg_preinst() {
- # kill old symlinks that Portage will preserve and break install
- if [[ -L ${EROOT}/usr/share/gtk-doc/html/libdbusmenu-glib ]]; then
- rm -v "${EROOT}/usr/share/gtk-doc/html/libdbusmenu-glib" || die
- fi
- if [[ -L ${EROOT}/usr/share/gtk-doc/html/libdbusmenu-gtk ]]; then
- rm -v "${EROOT}/usr/share/gtk-doc/html/libdbusmenu-gtk" || die
- fi
-}
diff --git a/dev-libs/libdbusmenu/libdbusmenu-16.04.0-r2.ebuild b/dev-libs/libdbusmenu/libdbusmenu-16.04.0-r2.ebuild
new file mode 100644
index 000000000000..63e7a3f93bad
--- /dev/null
+++ b/dev-libs/libdbusmenu/libdbusmenu-16.04.0-r2.ebuild
@@ -0,0 +1,152 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+VALA_USE_DEPEND=vapigen
+VIRTUALX_REQUIRED=manual
+
+inherit autotools flag-o-matic multilib-minimal vala virtualx xdg-utils
+
+DESCRIPTION="Library to pass menu structure across DBus"
+HOMEPAGE="https://launchpad.net/libdbusmenu"
+SRC_URI="https://launchpad.net/${PN/lib}/${PV%.*}/${PV}/+download/${P}.tar.gz"
+
+LICENSE="LGPL-2.1 LGPL-3"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv sparc x86"
+IUSE="debug gtk gtk3 +introspection test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ >=dev-libs/dbus-glib-0.100[${MULTILIB_USEDEP}]
+ >=dev-libs/glib-2.35.4[${MULTILIB_USEDEP}]
+ dev-libs/libxml2[${MULTILIB_USEDEP}]
+ gtk? ( x11-libs/gtk+:2[introspection?,${MULTILIB_USEDEP}] )
+ gtk3? ( >=x11-libs/gtk+-3.2:3[introspection?,${MULTILIB_USEDEP}] )
+ introspection? ( >=dev-libs/gobject-introspection-1 )"
+# tests also have optional dep on valgrind which we do not enforce
+DEPEND="${RDEPEND}"
+BDEPEND="
+ dev-util/glib-utils
+ dev-util/intltool
+ sys-devel/gettext
+ virtual/pkgconfig
+ introspection? ( $(vala_depend) )
+ test? (
+ >=dev-libs/json-glib-0.13.4[${MULTILIB_USEDEP}]
+ >=dev-util/dbus-test-runner-15.04.0_p100
+ gtk? ( ${VIRTUALX_DEPEND} )
+ gtk3? ( ${VIRTUALX_DEPEND} )
+ )"
+
+PATCHES=(
+ "${FILESDIR}/${P}-configure-fix.patch"
+ "${FILESDIR}/${P}-werror.patch"
+)
+
+src_prepare() {
+ default
+
+ xdg_environment_reset
+
+ if use introspection; then
+ vala_setup
+ export VALA_API_GEN="${VAPIGEN}"
+ fi
+
+ eautoreconf
+}
+
+multilib_src_configure() {
+ # bug #414323
+ append-flags -Wno-error
+
+ local myconf=(
+ --cache-file="${BUILD_DIR}"/config.cache
+ --disable-gtk
+ --disable-static
+ # dumper extra tool is only for GTK+-2.x
+ --disable-dumper
+ $(multilib_native_use_enable introspection)
+ $(multilib_native_use_enable introspection vala)
+ $(use_enable debug massivedebugging)
+ $(use_enable test tests)
+ )
+
+ local ECONF_SOURCE="${S}"
+ econf "${myconf[@]}"
+
+ GTK_VARIANTS=( $(usex gtk 2 '') $(usex gtk3 3 '') )
+ local MULTIBUILD_VARIANTS=( "${GTK_VARIANTS[@]}" )
+ local top_builddir=${BUILD_DIR}
+
+ gtk_configure() {
+ local gtkconf=(
+ "${myconf[@]}"
+ --enable-gtk
+ --with-gtk="${MULTIBUILD_VARIANT}"
+ )
+
+ mkdir -p "${BUILD_DIR}" || die
+ cd "${BUILD_DIR}" || die
+ econf "${gtkconf[@]}"
+
+ rm -r libdbusmenu-glib || die
+ ln -s "${top_builddir}"/libdbusmenu-glib libdbusmenu-glib || die
+ }
+
+ [[ ${GTK_VARIANTS[@]} ]] && multibuild_foreach_variant gtk_configure
+}
+
+gtk_emake() {
+ emake -C "${BUILD_DIR}"/libdbusmenu-gtk "${@}"
+ multilib_is_native_abi && \
+ emake -C "${BUILD_DIR}"/docs/libdbusmenu-gtk "${@}"
+}
+
+multilib_src_compile() {
+ emake
+
+ local MULTIBUILD_VARIANTS=( "${GTK_VARIANTS[@]}" )
+ [[ ${GTK_VARIANTS[@]} ]] && multibuild_foreach_variant \
+ gtk_emake
+}
+
+multilib_src_test() {
+ emake check
+
+ gtk_test() {
+ # please keep the list of GTK+ tests up-to-date
+ emake -C "${BUILD_DIR}"/tests check \
+ TESTS="test-gtk-objects-test test-gtk-label
+ test-gtk-shortcut test-gtk-reorder test-gtk-remove"
+ }
+ local MULTIBUILD_VARIANTS=( "${GTK_VARIANTS[@]}" )
+ [[ ${GTK_VARIANTS[@]} ]] && virtx multibuild_foreach_variant \
+ gtk_test
+}
+
+multilib_src_install() {
+ emake -j1 DESTDIR="${D}" install
+
+ local MULTIBUILD_VARIANTS=( "${GTK_VARIANTS[@]}" )
+ [[ ${GTK_VARIANTS[@]} ]] && multibuild_foreach_variant \
+ gtk_emake -j1 install DESTDIR="${D}"
+}
+
+multilib_src_install_all() {
+ einstalldocs
+ find "${D}" -name '*.la' -delete || die
+}
+
+pkg_preinst() {
+ # Kill old symlinks that Portage will preserve and break install
+ if [[ -L ${EROOT}/usr/share/gtk-doc/html/libdbusmenu-glib ]]; then
+ rm -v "${EROOT}/usr/share/gtk-doc/html/libdbusmenu-glib" || die
+ fi
+
+ if [[ -L ${EROOT}/usr/share/gtk-doc/html/libdbusmenu-gtk ]]; then
+ rm -v "${EROOT}/usr/share/gtk-doc/html/libdbusmenu-gtk" || die
+ fi
+}
diff --git a/dev-libs/libdex/Manifest b/dev-libs/libdex/Manifest
new file mode 100644
index 000000000000..873da4389984
--- /dev/null
+++ b/dev-libs/libdex/Manifest
@@ -0,0 +1 @@
+DIST libdex-0.4.3.tar.xz 96820 BLAKE2B 51f6c9a209d8ff19d7e97f4d8cbc9065739f08c555712076c9b6f4d345d56522f31afa1b8dffe8da2cfc128d368d7dc5f6a93757f0fe5cfd0a55de17587d776e SHA512 26691373d560d20cefa3a23e31677259b234cdf623b17b8fb2b6976b03768e86e458d2670aa3b260638b595994f278240e972bf3ff5b765013fb6d3114f46cef
diff --git a/dev-libs/libdex/libdex-0.4.3.ebuild b/dev-libs/libdex/libdex-0.4.3.ebuild
new file mode 100644
index 000000000000..93a7becd291c
--- /dev/null
+++ b/dev-libs/libdex/libdex-0.4.3.ebuild
@@ -0,0 +1,70 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit gnome.org linux-info meson vala
+
+DESCRIPTION="Deferred Execution library for GNOME and GTK"
+HOMEPAGE="https://gitlab.gnome.org/GNOME/libdex"
+
+LICENSE="LGPL-2.1+"
+SLOT="0/1"
+KEYWORDS="amd64 ~arm64 ~x86"
+
+IUSE="+eventfd gtk-doc +introspection +liburing sysprof test vala"
+REQUIRED_USE="
+ gtk-doc? ( introspection )
+ vala? ( introspection )
+"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ >=dev-libs/glib-2.68:2
+ liburing? ( >=sys-libs/liburing-0.7:= )
+ introspection? ( dev-libs/gobject-introspection:= )
+ sysprof? ( dev-util/sysprof-capture:4 )
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ vala? ( $(vala_depend) )
+ dev-util/glib-utils
+ virtual/pkgconfig
+ gtk-doc? ( dev-util/gi-docgen )
+"
+
+pkg_setup() {
+ if use eventfd && linux_config_exists; then
+ if ! linux_chkconfig_present EVENTFD ; then
+ ewarn "CONFIG_EVENTFD must be enabled for USE=eventfd"
+ fi
+ fi
+}
+
+src_prepare() {
+ default
+ use vala && vala_setup
+}
+
+src_configure() {
+ local emesonargs=(
+ $(meson_use gtk-doc docs)
+ -Dexamples=false
+ $(meson_use vala vapi)
+ $(meson_feature introspection)
+ $(meson_use sysprof)
+ $(meson_use test tests)
+ $(meson_feature liburing)
+ $(meson_feature eventfd)
+ )
+ meson_src_configure
+}
+
+src_install() {
+ meson_src_install
+
+ if use gtk-doc; then
+ mkdir -p "${ED}"/usr/share/gtk-doc/html/ || die
+ mv "${ED}"/usr/share/doc/${PN}-1 "${ED}"/usr/share/gtk-doc/html/ || die
+ fi
+}
diff --git a/dev-libs/libdex/metadata.xml b/dev-libs/libdex/metadata.xml
new file mode 100644
index 000000000000..e9adc4891c7f
--- /dev/null
+++ b/dev-libs/libdex/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="project">
+ <email>gnome@gentoo.org</email>
+ <name>Gentoo GNOME Desktop</name>
+ </maintainer>
+ <longdescription>
+ Dex is a library supporting "Deferred Execution" with the explicit
+ goal of integrating with GNOME and GTK-based applications.
+ It provides primatives for supporting futures in a variety of ways
+ with both read-only and writable views. Additionally, integration
+ with existing asynchronous-based APIs is provided through the use
+ of wrapper promises.
+ </longdescription>
+ <upstream>
+ <remote-id type="gnome-gitlab">GNOME/libdex</remote-id>
+ </upstream>
+ <use>
+ <flag name="eventfd">Allow use of eventfd</flag>
+ <flag name="liburing">Allow use of liburing (io_uring)<pkg>sys-libs/liburing</pkg></flag>
+ <flag name="sysprof">Enable profiling data capture support using <pkg>dev-util/sysprof-capture</pkg></flag>
+ </use>
+</pkgmetadata>
diff --git a/dev-libs/libdispatch/Manifest b/dev-libs/libdispatch/Manifest
index aa3b6b67cbee..ccb5d7a76e1d 100644
--- a/dev-libs/libdispatch/Manifest
+++ b/dev-libs/libdispatch/Manifest
@@ -1 +1,3 @@
-DIST libdispatch-5.3.3.tar.gz 591794 BLAKE2B 982b99227a1292d999639e7b16c1382a38dd6799a0ea1b83dd66333d5b6388be809127565fafc7f171dab9d8aa388cf67316d7eb6fa2ae2e1b8ccf660b32f0ab SHA512 b76071e8fac19ef5aed8cb3998b903a17a4f2b9e6b992d22d394212f4d48c4a547fb7a8cf16e4ce2ef17d6b58e253c2d52c6b176c3a874132410215b73332909
+DIST libdispatch-5.7.1.tar.gz 594292 BLAKE2B 67112558b591c6c5f658f31ac7f48cea3eb84bffda0959663cac808e80b593f127fb85dc0a666a6ea636bc70649dd9a9c31cbd619fa0e41a803a2766a4740d85 SHA512 7f04c14cfba214d99ffbb1d6d5ae2d0b83a0e3d3597c886093993f55adef53995477d9d88207ad36facc67cd36c46e1380f57fdc847f9a5f079aa41b820ecf4f
+DIST libdispatch-5.7.3.tar.gz 594295 BLAKE2B 429a5bb52594d4b1e8f3f59c83d88f6faa237acfb4cc24a7e546d95cb3f4559d3e4fe6a0ebaa53ca58f115213bbbcee89081cee91bf3a3668947477807e2f310 SHA512 7d8f40ff7a43ac0367552855317e73e140ba7ff7d2b6494aa772ba052fd7d1a151b0122465b6a82a7e4483e8dd951e77d6b626d63e0997c9a64e3a2bc6d66250
+DIST libdispatch-5.8.tar.gz 594259 BLAKE2B 90853a19c4c99f590bef9a2153157d95c08f97dd234377f6fff488f6d09c9abebef06e4b64512ab1add1ee92912498cdbab44af7ce2c91a0460ba26c452a5b22 SHA512 913885f00c2010a88ceeb2f9414f2b39e9884ca3fd58e927248dcfafa2205560468114de5627e1225d23ea9e3a50e39670b3afd03defba3de54268653888c32c
diff --git a/dev-libs/libdispatch/files/libdispatch-5.3.3-musl.patch b/dev-libs/libdispatch/files/libdispatch-5.3.3-musl.patch
new file mode 100644
index 000000000000..a162b34efc53
--- /dev/null
+++ b/dev-libs/libdispatch/files/libdispatch-5.3.3-musl.patch
@@ -0,0 +1,56 @@
+Fix building with musl libc
+
+https://github.com/apple/swift-corelibs-libdispatch/pull/594/
+https://bugs.gentoo.org/829158
+https://bugs.gentoo.org/833306
+
+--- a/dispatch/source.h
++++ b/dispatch/source.h
+@@ -32,7 +32,7 @@
+ #endif
+
+ #if !defined(_WIN32)
+-#include <sys/signal.h>
++#include <signal.h>
+ #endif
+
+ DISPATCH_ASSUME_NONNULL_BEGIN
+--- a/os/generic_unix_base.h
++++ b/os/generic_unix_base.h
+@@ -25,6 +25,14 @@
+
+ #if __has_include(<sys/cdefs.h>)
+ #include <sys/cdefs.h>
++#else
++#if defined(__cplusplus)
++#define __BEGIN_DECLS extern "C" {
++#define __END_DECLS }
++#else
++#define __BEGIN_DECLS
++#define __END_DECLS
++#endif
+ #endif
+
+ #ifndef API_AVAILABLE
+--- a/src/shims/getprogname.h
++++ b/src/shims/getprogname.h
+@@ -37,7 +37,7 @@
+ static inline char *
+ getprogname(void)
+ {
+-# if HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME
++# if HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME || defined(__linux__)
+ return program_invocation_short_name;
+ # elif defined(__ANDROID__)
+ return __progname;
+--- a/tests/dispatch_test.c
++++ b/tests/dispatch_test.c
+@@ -34,7 +34,7 @@
+ #define HAS_SYS_EVENT_H 1
+ #include <sys/event.h>
+ #else
+-#include <sys/poll.h>
++#include <poll.h>
+ #endif
+ #elif defined(_WIN32)
+ #include <Windows.h>
diff --git a/dev-libs/libdispatch/libdispatch-5.3.3-r1.ebuild b/dev-libs/libdispatch/libdispatch-5.3.3-r1.ebuild
deleted file mode 100644
index 5ec153ddcd8c..000000000000
--- a/dev-libs/libdispatch/libdispatch-5.3.3-r1.ebuild
+++ /dev/null
@@ -1,47 +0,0 @@
-# Copyright 2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit flag-o-matic cmake toolchain-funcs
-
-MY_PN="swift-corelibs-${PN}"
-MY_PV="swift-${PV}-RELEASE"
-
-DESCRIPTION="A library for concurrent code execution on multicore hardware"
-HOMEPAGE="https://github.com/apple/swift-corelibs-libdispatch"
-SRC_URI="https://github.com/apple/${MY_PN}/archive/${MY_PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64 ppc64 ~riscv x86"
-
-DEPEND="!gnustep-base/libobjc2"
-RDEPEND="${DEPEND}"
-BDEPEND="
- sys-devel/clang
- sys-devel/llvm
- virtual/pkgconfig
-"
-
-S="${WORKDIR}/${MY_PN}-${MY_PV}"
-
-PATCHES=( "${FILESDIR}/remove-Werror.patch" )
-
-src_configure () {
- if ! tc-is-clang ; then
- AR=llvm-ar
- CC=${CHOST}-clang
- CXX=${CHOST}-clang++
- NM=llvm-nm
- RANLIB=llvm-ranlib
-
- strip-unsupported-flags
- fi
-
- export HOST_CC="$(tc-getBUILD_CC)"
- export HOST_CXX="$(tc-getBUILD_CXX)"
- tc-export CC CXX LD AR NM OBJDUMP RANLIB PKG_CONFIG
-
- cmake_src_configure
-}
diff --git a/dev-libs/libdispatch/libdispatch-5.7.1.ebuild b/dev-libs/libdispatch/libdispatch-5.7.1.ebuild
new file mode 100644
index 000000000000..da9e6411f534
--- /dev/null
+++ b/dev-libs/libdispatch/libdispatch-5.7.1.ebuild
@@ -0,0 +1,57 @@
+# Copyright 2022-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit flag-o-matic cmake toolchain-funcs
+
+MY_PN="swift-corelibs-${PN}"
+MY_PV="swift-${PV}-RELEASE"
+
+DESCRIPTION="A library for concurrent code execution on multicore hardware"
+HOMEPAGE="https://github.com/apple/swift-corelibs-libdispatch"
+SRC_URI="https://github.com/apple/${MY_PN}/archive/${MY_PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 ~arm64 ppc64 ~riscv x86"
+IUSE="test"
+
+RESTRICT="!test? ( test )"
+
+DEPEND="
+ !gnustep-base/libobjc2
+ !sys-libs/blocksruntime
+"
+RDEPEND="${DEPEND}"
+BDEPEND="
+ sys-devel/clang
+ sys-devel/llvm
+ virtual/pkgconfig
+"
+
+S="${WORKDIR}/${MY_PN}-${MY_PV}"
+
+PATCHES=(
+ "${FILESDIR}/remove-Werror.patch"
+ "${FILESDIR}/libdispatch-5.3.3-musl.patch"
+)
+
+src_configure () {
+ if ! tc-is-clang ; then
+ AR=llvm-ar
+ CC=${CHOST}-clang
+ CXX=${CHOST}-clang++
+ NM=llvm-nm
+ RANLIB=llvm-ranlib
+
+ strip-unsupported-flags
+ fi
+
+ export HOST_CC="$(tc-getBUILD_CC)"
+ export HOST_CXX="$(tc-getBUILD_CXX)"
+ tc-export CC CXX LD AR NM OBJDUMP RANLIB PKG_CONFIG
+
+ local mycmakeargs=( -DBUILD_TESTING=$(usex test) )
+ cmake_src_configure
+}
diff --git a/dev-libs/libdispatch/libdispatch-5.7.3.ebuild b/dev-libs/libdispatch/libdispatch-5.7.3.ebuild
new file mode 100644
index 000000000000..da9e6411f534
--- /dev/null
+++ b/dev-libs/libdispatch/libdispatch-5.7.3.ebuild
@@ -0,0 +1,57 @@
+# Copyright 2022-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit flag-o-matic cmake toolchain-funcs
+
+MY_PN="swift-corelibs-${PN}"
+MY_PV="swift-${PV}-RELEASE"
+
+DESCRIPTION="A library for concurrent code execution on multicore hardware"
+HOMEPAGE="https://github.com/apple/swift-corelibs-libdispatch"
+SRC_URI="https://github.com/apple/${MY_PN}/archive/${MY_PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 ~arm64 ppc64 ~riscv x86"
+IUSE="test"
+
+RESTRICT="!test? ( test )"
+
+DEPEND="
+ !gnustep-base/libobjc2
+ !sys-libs/blocksruntime
+"
+RDEPEND="${DEPEND}"
+BDEPEND="
+ sys-devel/clang
+ sys-devel/llvm
+ virtual/pkgconfig
+"
+
+S="${WORKDIR}/${MY_PN}-${MY_PV}"
+
+PATCHES=(
+ "${FILESDIR}/remove-Werror.patch"
+ "${FILESDIR}/libdispatch-5.3.3-musl.patch"
+)
+
+src_configure () {
+ if ! tc-is-clang ; then
+ AR=llvm-ar
+ CC=${CHOST}-clang
+ CXX=${CHOST}-clang++
+ NM=llvm-nm
+ RANLIB=llvm-ranlib
+
+ strip-unsupported-flags
+ fi
+
+ export HOST_CC="$(tc-getBUILD_CC)"
+ export HOST_CXX="$(tc-getBUILD_CXX)"
+ tc-export CC CXX LD AR NM OBJDUMP RANLIB PKG_CONFIG
+
+ local mycmakeargs=( -DBUILD_TESTING=$(usex test) )
+ cmake_src_configure
+}
diff --git a/dev-libs/libdispatch/libdispatch-5.8.ebuild b/dev-libs/libdispatch/libdispatch-5.8.ebuild
new file mode 100644
index 000000000000..7ccdb7491b88
--- /dev/null
+++ b/dev-libs/libdispatch/libdispatch-5.8.ebuild
@@ -0,0 +1,57 @@
+# Copyright 2022-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit flag-o-matic cmake toolchain-funcs
+
+MY_PN="swift-corelibs-${PN}"
+MY_PV="swift-${PV}-RELEASE"
+
+DESCRIPTION="A library for concurrent code execution on multicore hardware"
+HOMEPAGE="https://github.com/apple/swift-corelibs-libdispatch"
+SRC_URI="https://github.com/apple/${MY_PN}/archive/${MY_PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 ~arm64 ~loong ppc64 ~riscv x86"
+IUSE="test"
+
+RESTRICT="!test? ( test )"
+
+DEPEND="
+ !gnustep-base/libobjc2
+ !sys-libs/blocksruntime
+"
+RDEPEND="${DEPEND}"
+BDEPEND="
+ sys-devel/clang
+ sys-devel/llvm
+ virtual/pkgconfig
+"
+
+S="${WORKDIR}/${MY_PN}-${MY_PV}"
+
+PATCHES=(
+ "${FILESDIR}/remove-Werror.patch"
+ "${FILESDIR}/libdispatch-5.3.3-musl.patch"
+)
+
+src_configure () {
+ if ! tc-is-clang ; then
+ AR=llvm-ar
+ CC=${CHOST}-clang
+ CXX=${CHOST}-clang++
+ NM=llvm-nm
+ RANLIB=llvm-ranlib
+
+ strip-unsupported-flags
+ fi
+
+ export HOST_CC="$(tc-getBUILD_CC)"
+ export HOST_CXX="$(tc-getBUILD_CXX)"
+ tc-export CC CXX LD AR NM OBJDUMP RANLIB PKG_CONFIG
+
+ local mycmakeargs=( -DBUILD_TESTING=$(usex test) )
+ cmake_src_configure
+}
diff --git a/dev-libs/libdispatch/metadata.xml b/dev-libs/libdispatch/metadata.xml
index 148e05a351bd..7e1433ad2dac 100644
--- a/dev-libs/libdispatch/metadata.xml
+++ b/dev-libs/libdispatch/metadata.xml
@@ -1,10 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <email>slashbeast@gentoo.org</email>
- <name>Piotr Karbowski</name>
- </maintainer>
+ <!-- maintainer-needed -->
<upstream>
<remote-id type="github">apple/swift-corelibs-libdispatch</remote-id>
</upstream>
diff --git a/dev-libs/libdivsufsort/libdivsufsort-2.0.1-r1.ebuild b/dev-libs/libdivsufsort/libdivsufsort-2.0.1-r1.ebuild
deleted file mode 100644
index 24cae0397e53..000000000000
--- a/dev-libs/libdivsufsort/libdivsufsort-2.0.1-r1.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
-inherit cmake toolchain-funcs
-
-DESCRIPTION="Suffix-sorting library (for BWT)"
-HOMEPAGE="https://github.com/y-256/libdivsufsort"
-SRC_URI="https://github.com/y-256/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE="openmp"
-
-pkg_pretend() {
- [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
-}
-
-pkg_setup() {
- [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
-}
-
-src_prepare() {
- cmake_src_prepare
-
- # will appreciate saner approach, if there is any
- sed -i -e "s:\(DESTINATION \)lib:\1$(get_libdir):" \
- */CMakeLists.txt || die
-}
-
-src_configure() {
- local mycmakeargs=(
- "-DBUILD_DIVSUFSORT64=ON"
- "-DUSE_OPENMP=$(usex openmp)"
- )
- cmake_src_configure
-}
diff --git a/dev-libs/libdivsufsort/libdivsufsort-2.0.1-r2.ebuild b/dev-libs/libdivsufsort/libdivsufsort-2.0.1-r2.ebuild
new file mode 100644
index 000000000000..700d1a09c135
--- /dev/null
+++ b/dev-libs/libdivsufsort/libdivsufsort-2.0.1-r2.ebuild
@@ -0,0 +1,39 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake toolchain-funcs
+
+DESCRIPTION="Suffix-sorting library (for BWT)"
+HOMEPAGE="https://github.com/y-256/libdivsufsort/"
+SRC_URI="https://github.com/y-256/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="openmp"
+
+pkg_pretend() {
+ [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
+}
+
+pkg_setup() {
+ [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
+}
+
+src_prepare() {
+ cmake_src_prepare
+
+ # will appreciate saner approach, if there is any
+ sed -i -e "s:\(DESTINATION \)lib:\1$(get_libdir):" \
+ */CMakeLists.txt || die
+}
+
+src_configure() {
+ local mycmakeargs=(
+ "-DBUILD_DIVSUFSORT64=ON"
+ "-DUSE_OPENMP=$(usex openmp)"
+ )
+ cmake_src_configure
+}
diff --git a/dev-libs/libdnet/Manifest b/dev-libs/libdnet/Manifest
index dad5f443f912..28153e6d5415 100644
--- a/dev-libs/libdnet/Manifest
+++ b/dev-libs/libdnet/Manifest
@@ -1 +1,4 @@
-DIST libdnet-1.14.tar.gz 520833 BLAKE2B 97e241fc374fc9489e70d440db5e19199f4e653650af85e24af56bbbc0167db1c451349c43fcb630a26c61f8ca15c58f5c879e0d82654e275189ca3e140bb22a SHA512 ce8d95228f5175e4d9a8ff71bb99eb1ccc3ccd599a85dd07adbfd9842fc54066235d362c8060828fb3ba8129d0e1e8e071e93d60d69c6d03be310c80e61cea93
+DIST libdnet-1.16.2.tar.gz 675191 BLAKE2B 04e4533dbe45700decec4755c7db608d0ca68be05431bf44e6984b2c6a4aec55888fc0f0159916c8ac4a60ec5f743047d2a0a541786cd13fda61739bd7eef0fb SHA512 4b1902553a57eeb56952968e15be032de92d8106dc6e0ebf8e10470605c9c2ed69cb015f4057a5c119d01509c6795fc0dcda85a311d14124dddefdeb6223f848
+DIST libdnet-1.16.4.tar.gz 684358 BLAKE2B 40be891c9004288329aaee0c79a29ebf0f095dfaaca4da98fd5ecfd759e22b8d10dc6b906200db1ac5b0a8cfbbea8fbe509da393e60cddeb5f875ad179cdc67a SHA512 6c5556e365047afcc5da3f76b1c99aa70723c076a7cf75c03d96a661a583dfa6d0ab605076e68efffe5ddca2d69875e4bc4938e0874b8aa24915fcfbfe3f3ff9
+DIST libdnet-1.17.0.tar.gz 684645 BLAKE2B b208cb41201145411b1949531cb1ab27b4edc6026b8ca703c24231fdb021f46bfe922eb1da11090c271f439339f5384c93168fad3130ed2f89b3d2eca5c7f89f SHA512 b207b2f61e3759a2b17827eabf37b0eb68cb9fa27418f99ee4efd754b01dfe8504dff465664b14054d54df334195d43963d142c7104dc603b2b8b1491590d2a7
+DIST libdnet-1.18.0.tar.gz 740145 BLAKE2B 67f9257e0a05c6c768609c288de9a8704a7ba9d66142bcf849929fa3dbc7b59e379cef2a917d01d4ccfa63b5dfffaf7225f9c67f94e6e91c528a3066fae8c933 SHA512 c074828a1ecd21c292f9120c7afb6b3c11e967d1e0aaca78e75a5558e96f5e65e0d24b68b8386c33c1c28734a3d30f5857d394796e049d521c8b4a9a2c8dcea9
diff --git a/dev-libs/libdnet/files/libdnet-1.14-ndisc.patch b/dev-libs/libdnet/files/libdnet-1.14-ndisc.patch
deleted file mode 100644
index 439ffb7cb927..000000000000
--- a/dev-libs/libdnet/files/libdnet-1.14-ndisc.patch
+++ /dev/null
@@ -1,796 +0,0 @@
-From 1c324828f4c6c64c9340f169bc059152dba1f998 Mon Sep 17 00:00:00 2001
-From: Stas Grabois <finpushack@gmail.com>
-Date: Sat, 5 Sep 2020 13:15:32 +0300
-Subject: [PATCH] IPv6 support
-
----
- configure | 20 ++++
- configure.ac | 7 ++
- include/dnet.h | 1 +
- include/dnet/Makefile.am | 2 +-
- include/dnet/Makefile.in | 2 +-
- include/dnet/ip6.h | 3 +
- include/dnet/ndisc.h | 35 +++++++
- include/dnet/route.h | 3 +
- src/Makefile.in | 2 +-
- src/intf.c | 101 +++++++++++++-------
- src/ip6.c | 56 +++++++++++
- src/ndisc-linux.c | 197 +++++++++++++++++++++++++++++++++++++++
- src/ndisc-none.c | 55 +++++++++++
- src/route-linux.c | 95 ++++++++++++++++++-
- 14 files changed, 541 insertions(+), 38 deletions(-)
- create mode 100644 include/dnet/ndisc.h
- create mode 100644 src/ndisc-linux.c
- create mode 100644 src/ndisc-none.c
-
---- a/configure
-+++ b/configure
-@@ -22025,6 +22025,26 @@
-
- fi
-
-+if test "$ac_cv_dnet_linux_procfs" = yes ; then
-+ case $LIBOBJS in
-+ "ndisc-linux.$ac_objext" | \
-+ *" ndisc-linux.$ac_objext" | \
-+ "ndisc-linux.$ac_objext "* | \
-+ *" ndisc-linux.$ac_objext "* ) ;;
-+ *) LIBOBJS="$LIBOBJS ndisc-linux.$ac_objext" ;;
-+esac
-+
-+else
-+ case $LIBOBJS in
-+ "ndisc-none.$ac_objext" | \
-+ *" ndisc-none.$ac_objext" | \
-+ "ndisc-none.$ac_objext "* | \
-+ *" ndisc-none.$ac_objext "* ) ;;
-+ *) LIBOBJS="$LIBOBJS ndisc-none.$ac_objext" ;;
-+esac
-+
-+fi
-+
- if test "$ac_cv_header_linux_if_tun_h" = yes ; then
- case $LIBOBJS in
- "tun-linux.$ac_objext" | \
---- a/configure.ac
-+++ b/configure.ac
-@@ -303,6 +303,13 @@
- AC_LIBOBJ([route-none])
- fi
-
-+dnl Check for ndisc interface.
-+if test "$ac_cv_dnet_linux_procfs" = yes ; then
-+ AC_LIBOBJ([ndisc-linux])
-+else
-+ AC_LIBOBJ([ndisc-none])
-+fi
-+
- dnl Check for tun interface.
- if test "$ac_cv_header_linux_if_tun_h" = yes ; then
- AC_LIBOBJ([tun-linux])
---- a/include/dnet.h
-+++ b/include/dnet.h
-@@ -16,6 +16,7 @@
- #include <dnet/ip6.h>
- #include <dnet/addr.h>
- #include <dnet/arp.h>
-+#include <dnet/ndisc.h>
- #include <dnet/icmp.h>
- #include <dnet/tcp.h>
- #include <dnet/udp.h>
---- a/include/dnet/Makefile.am
-+++ b/include/dnet/Makefile.am
-@@ -5,4 +5,4 @@
- dnetincludedir = $(includedir)/dnet
-
- dnetinclude_HEADERS = addr.h arp.h blob.h eth.h fw.h icmp.h intf.h ip.h \
-- ip6.h os.h rand.h route.h tcp.h tun.h udp.h sctp.h
-+ ip6.h os.h rand.h route.h tcp.h tun.h udp.h sctp.h ndisc.h
---- a/include/dnet/Makefile.in
-+++ b/include/dnet/Makefile.in
-@@ -106,7 +106,7 @@
- dnetincludedir = $(includedir)/dnet
-
- dnetinclude_HEADERS = addr.h arp.h blob.h eth.h fw.h icmp.h intf.h ip.h \
-- ip6.h os.h rand.h route.h tcp.h tun.h udp.h sctp.h
-+ ip6.h os.h rand.h route.h tcp.h tun.h udp.h sctp.h ndisc.h
-
- subdir = include/dnet
- mkinstalldirs = $(SHELL) $(top_srcdir)/config/mkinstalldirs
---- a/include/dnet/ip6.h
-+++ b/include/dnet/ip6.h
-@@ -179,6 +179,9 @@
- char *ip6_ntoa(const ip6_addr_t *ip6);
- #define ip6_aton ip6_pton
-
-+ssize_t ip6_add_option(void *buf, size_t len,
-+ int proto, const void *optbuf, size_t optlen);
-+
- void ip6_checksum(void *buf, size_t len);
- __END_DECLS
-
-new file mode 100644
---- a//dev/null
-+++ b/include/dnet/ndisc.h
-@@ -0,0 +1,35 @@
-+/*
-+ * ndisc.c
-+ *
-+ * Kernel arp/ndisc table operations.
-+ *
-+ * Copyright (c) 2000 Dug Song <dugsong@monkey.org>
-+ *
-+ */
-+
-+#ifndef DNET_NDISC_H
-+#define DNET_NDISC_H
-+
-+/*
-+ * NDISC cache entry
-+ */
-+struct ndisc_entry {
-+ int intf_index;
-+ struct addr ndisc_pa; /* protocol address */
-+ struct addr ndisc_ha; /* hardware address */
-+};
-+
-+typedef struct ndisc_handle ndisc_t;
-+
-+typedef int (*ndisc_handler)(const struct ndisc_entry *entry, void *arg);
-+
-+__BEGIN_DECLS
-+ndisc_t *ndisc_open(void);
-+int ndisc_add(ndisc_t *n, const struct ndisc_entry *entry);
-+int ndisc_delete(ndisc_t *n, const struct ndisc_entry *entry);
-+int ndisc_get(ndisc_t *n, struct ndisc_entry *entry);
-+int ndisc_loop(ndisc_t *n, ndisc_handler callback, void *arg);
-+ndisc_t *ndisc_close(ndisc_t *r);
-+__END_DECLS
-+
-+#endif /* DNET_NDISC_H */
---- a/include/dnet/route.h
-+++ b/include/dnet/route.h
-@@ -26,7 +26,10 @@
- __BEGIN_DECLS
- route_t *route_open(void);
- int route_add(route_t *r, const struct route_entry *entry);
-+int route_add_dev(route_t *r, const struct route_entry *entry, const char* dev);
-+int route6_add(route_t *r, const struct route_entry *entry, int intf_index);
- int route_delete(route_t *r, const struct route_entry *entry);
-+int route6_delete(route_t *r, const struct route_entry *entry, int intf_index);
- int route_get(route_t *r, struct route_entry *entry);
- int route_loop(route_t *r, route_handler callback, void *arg);
- route_t *route_close(route_t *r);
---- a/src/Makefile.in
-+++ b/src/Makefile.in
-@@ -144,7 +144,7 @@
- intf-win32.c intf.c ip-cooked.c ip-win32.c ip.c memcmp.c \
- route-bsd.c route-hpux.c route-linux.c route-none.c \
- route-win32.c strlcat.c strlcpy.c strsep.c tun-bsd.c \
-- tun-linux.c tun-none.c tun-solaris.c
-+ tun-linux.c tun-none.c tun-solaris.c ndisc-linux.c ndisc-none.c
- SOURCES = $(libdnet_la_SOURCES)
-
- all: all-am
---- a/src/intf.c
-+++ b/src/intf.c
-@@ -20,6 +20,9 @@
- # define IP_MULTICAST
- #endif
- #include <net/if.h>
-+#ifdef HAVE_NET_IF_DL_H
-+# include <net/if_dl.h>
-+#endif
- #ifdef HAVE_NET_IF_VAR_H
- # include <net/if_var.h>
- #endif
-@@ -79,6 +82,21 @@
- u_char ifcbuf[4192];
- };
-
-+/* TODO: move to .h */
-+union sockunion {
-+#ifdef HAVE_NET_IF_DL_H
-+ struct sockaddr_dl sdl;
-+#endif
-+ struct sockaddr_in sin;
-+#ifdef HAVE_SOCKADDR_IN6
-+ struct sockaddr_in6 sin6;
-+#endif
-+ struct sockaddr sa;
-+#ifdef AF_RAW
-+ struct sockaddr_raw sr;
-+#endif
-+};
-+
- static int
- intf_flags_to_iff(u_short flags, int iff)
- {
-@@ -129,14 +147,10 @@
-
- setsockopt(intf->fd, SOL_SOCKET, SO_BROADCAST,
- (const char *) &one, sizeof(one));
--#ifdef SIOCGIFNETMASK_IN6
- if ((intf->fd6 = socket(AF_INET6, SOCK_DGRAM, 0)) < 0) {
--# ifdef EPROTONOSUPPORT
- if (errno != EPROTONOSUPPORT)
--# endif
- return (intf_close(intf));
- }
--#endif
- }
- return (intf);
- }
-@@ -586,34 +600,50 @@
- return (_intf_get_aliases(intf, entry));
- }
-
-+static int
-+get_max_bits(const struct addr *a)
-+{
-+ if (a->addr_type == ADDR_TYPE_IP) {
-+ return IP_ADDR_BITS;
-+ } else if (a->addr_type == ADDR_TYPE_IP6) {
-+ return IP6_ADDR_BITS;
-+ } else {
-+ return 0;
-+ }
-+}
-+
- static int
- _match_intf_src(const struct intf_entry *entry, void *arg)
- {
-- int matched = 0;
-- int cnt;
- struct intf_entry *save = (struct intf_entry *)arg;
--
-- if (entry->intf_addr.addr_type == ADDR_TYPE_IP &&
-- entry->intf_addr.addr_ip == save->intf_addr.addr_ip) {
-- matched = 1;
-- } else {
-- for (cnt = 0; !matched && cnt < (int) entry->intf_alias_num; cnt++) {
-- if (entry->intf_alias_addrs[cnt].addr_type != ADDR_TYPE_IP)
-- continue;
-- if (entry->intf_alias_addrs[cnt].addr_ip == save->intf_addr.addr_ip)
-- matched = 1;
-- }
-+ int len = save->intf_len < entry->intf_len ? save->intf_len : entry->intf_len;
-+ int i;
-+
-+ struct addr a, saved_addr;
-+
-+ saved_addr = save->intf_addr;
-+ saved_addr.addr_bits = get_max_bits(&saved_addr);
-+
-+ a = entry->intf_addr;
-+ a.addr_bits = get_max_bits(&a);
-+
-+ if (addr_cmp(&a, &saved_addr) == 0) {
-+ memcpy(save, entry, len);
-+ return 1;
- }
-
-- if (matched) {
-- /* XXX - truncated result if entry is too small. */
-- if (save->intf_len < entry->intf_len)
-- memcpy(save, entry, save->intf_len);
-- else
-- memcpy(save, entry, entry->intf_len);
-- return (1);
-+ for (i = 0; i < (int)entry->intf_alias_num; i++) {
-+ a = entry->intf_alias_addrs[i];
-+ a.addr_bits = get_max_bits(&a);
-+
-+ if (addr_cmp(&a, &saved_addr) == 0) {
-+ memcpy(save, entry, len);
-+ save->intf_addr = entry->intf_alias_addrs[i];
-+ return 1;
-+ }
- }
-- return (0);
-+
-+ return 0;
- }
-
- int
-@@ -631,24 +661,27 @@
- int
- intf_get_dst(intf_t *intf, struct intf_entry *entry, struct addr *dst)
- {
-- struct sockaddr_in sin;
-+ union sockunion sun;
- socklen_t n;
-
-- if (dst->addr_type != ADDR_TYPE_IP) {
-+ int fd;
-+
-+ if (dst->addr_type != ADDR_TYPE_IP && dst->addr_type != ADDR_TYPE_IP6) {
- errno = EINVAL;
- return (-1);
- }
-- addr_ntos(dst, (struct sockaddr *)&sin);
-- sin.sin_port = htons(666);
--
-- if (connect(intf->fd, (struct sockaddr *)&sin, sizeof(sin)) < 0)
-+ addr_ntos(dst, (struct sockaddr *)&sun);
-+ sun.sin.sin_port = htons(666);
-+
-+ fd = dst->addr_type == ADDR_TYPE_IP6 ? intf->fd6 : intf->fd;
-+ if (connect(fd, (struct sockaddr *)&sun, sizeof(sun)) < 0)
- return (-1);
-
-- n = sizeof(sin);
-- if (getsockname(intf->fd, (struct sockaddr *)&sin, &n) < 0)
-+ n = sizeof(sun);
-+ if (getsockname(fd, (struct sockaddr *)&sun, &n) < 0)
- return (-1);
-
-- addr_ston((struct sockaddr *)&sin, &entry->intf_addr);
-+ addr_ston((struct sockaddr *)&sun, &entry->intf_addr);
-
- if (intf_loop(intf, _match_intf_src, entry) != 1)
- return (-1);
---- a/src/ip6.c
-+++ b/src/ip6.c
-@@ -9,6 +9,8 @@
- #include "config.h"
-
- #include "dnet.h"
-+#include <string.h>
-+#include <errno.h>
-
- #define IP6_IS_EXT(n) \
- ((n) == IP_PROTO_HOPOPTS || (n) == IP_PROTO_DSTOPTS || \
-@@ -70,3 +72,57 @@
- }
- }
- }
-+
-+ssize_t
-+ip6_add_option(void *buf, size_t len, int proto,
-+ const void *optbuf, size_t optlen)
-+{
-+ struct ip6_hdr *ip6;
-+ struct tcp_hdr *tcp = NULL;
-+ u_char *p;
-+ int hl, datalen, padlen;
-+
-+ if (proto != IP_PROTO_TCP) {
-+ errno = EINVAL;
-+ return (-1);
-+ }
-+
-+ ip6 = (struct ip6_hdr *)buf;
-+ p = (u_char *)buf + IP6_HDR_LEN;
-+
-+ tcp = (struct tcp_hdr *)p;
-+ hl = tcp->th_off << 2;
-+ p = (u_char *)tcp + hl;
-+
-+ datalen = ntohs(ip6->ip6_plen) + IP6_HDR_LEN - (p - (u_char *)buf);
-+
-+ /* Compute padding to next word boundary. */
-+ if ((padlen = 4 - (optlen % 4)) == 4)
-+ padlen = 0;
-+
-+ /* XXX - IP_HDR_LEN_MAX == TCP_HDR_LEN_MAX */
-+ if (hl + optlen + padlen > IP_HDR_LEN_MAX ||
-+ ntohs(ip6->ip6_plen) + IP6_HDR_LEN + optlen + padlen > len) {
-+ errno = EINVAL;
-+ return (-1);
-+ }
-+
-+ /* Shift any existing data. */
-+ if (datalen) {
-+ memmove(p + optlen + padlen, p, datalen);
-+ }
-+ /* XXX - IP_OPT_NOP == TCP_OPT_NOP */
-+ if (padlen) {
-+ memset(p, IP_OPT_NOP, padlen);
-+ p += padlen;
-+ }
-+ memmove(p, optbuf, optlen);
-+ p += optlen;
-+ optlen += padlen;
-+
-+ tcp->th_off = (p - (u_char *)tcp) >> 2;
-+
-+ ip6->ip6_plen = htons(ntohs(ip6->ip6_plen) + optlen);
-+
-+ return (optlen);
-+}
-new file mode 100644
---- a//dev/null
-+++ b/src/ndisc-linux.c
-@@ -0,0 +1,197 @@
-+/*
-+ * ndisc-linux.c
-+ *
-+ * Copyright (c) 2000 Dug Song <dugsong@monkey.org>
-+ *
-+ */
-+
-+#include "config.h"
-+
-+#include <sys/types.h>
-+#include <sys/ioctl.h>
-+#include <sys/socket.h>
-+#include <sys/uio.h>
-+
-+#include <asm/types.h>
-+#include <netinet/in.h>
-+#include <linux/netlink.h>
-+#include <linux/rtnetlink.h>
-+
-+#include <net/route.h>
-+
-+#include <ctype.h>
-+#include <errno.h>
-+#include <stdio.h>
-+#include <stdlib.h>
-+#include <string.h>
-+#include <unistd.h>
-+
-+#include "dnet.h"
-+
-+struct ndisc_handle
-+{
-+ int nlfd;
-+ int seq;
-+};
-+
-+ndisc_t *
-+ndisc_open(void)
-+{
-+ struct sockaddr_nl snl;
-+ ndisc_t *n;
-+
-+ if ((n = calloc(1, sizeof(*n))) != NULL) {
-+ n->nlfd = -1;
-+
-+ if ((n->nlfd = socket(AF_NETLINK, SOCK_RAW,
-+ NETLINK_ROUTE)) < 0)
-+ return (ndisc_close(n));
-+
-+ memset(&snl, 0, sizeof(snl));
-+ snl.nl_family = AF_NETLINK;
-+
-+ if (bind(n->nlfd, (struct sockaddr *)&snl, sizeof(snl)) < 0)
-+ return (ndisc_close(n));
-+ }
-+ return (n);
-+}
-+
-+static int
-+netlink_addattr(struct nlmsghdr *n, int type, const void *data, int data_len)
-+{
-+ int len = RTA_LENGTH(data_len);
-+ struct rtattr *rta;
-+
-+ rta = (struct rtattr *)((uint8_t*)n + NLMSG_ALIGN(n->nlmsg_len));
-+ rta->rta_type = type;
-+ rta->rta_len = len;
-+ memcpy(RTA_DATA(rta), data, data_len);
-+ n->nlmsg_len = NLMSG_ALIGN(n->nlmsg_len) + RTA_ALIGN(len);
-+ return 0;
-+}
-+
-+int
-+ndisc_modify(ndisc_t *n, const struct ndisc_entry *entry, int type, int flags)
-+{
-+ struct nlmsghdr *nmsg;
-+ struct ndmsg *ndm;
-+ struct rtattr *rta;
-+ struct sockaddr_nl snl;
-+ struct iovec iov;
-+ struct msghdr msg;
-+ u_char buf[512];
-+ int i, af, alen;
-+
-+ switch (entry->ndisc_pa.addr_type) {
-+ case ADDR_TYPE_IP:
-+ af = AF_INET;
-+ alen = IP_ADDR_LEN;
-+ break;
-+ case ADDR_TYPE_IP6:
-+ af = AF_INET6;
-+ alen = IP6_ADDR_LEN;
-+ break;
-+ default:
-+ errno = EINVAL;
-+ return (-1);
-+ }
-+ memset(buf, 0, sizeof(buf));
-+
-+ nmsg = (struct nlmsghdr *)buf;
-+ nmsg->nlmsg_len = NLMSG_LENGTH(sizeof(struct ndmsg));
-+ nmsg->nlmsg_flags = NLM_F_REQUEST | flags;
-+ nmsg->nlmsg_type = type;
-+ nmsg->nlmsg_seq = ++n->seq;
-+
-+ nmsg->nlmsg_flags |= NLM_F_ACK;
-+
-+ ndm = (struct ndmsg *)(nmsg + 1);
-+ ndm->ndm_family = af;
-+ ndm->ndm_state = NUD_PERMANENT;
-+ ndm->ndm_ifindex = entry->intf_index;
-+
-+ netlink_addattr(nmsg, NDA_DST, &entry->ndisc_pa.addr_data8[0],
-+ alen);
-+
-+ if (type == RTM_NEWNEIGH) {
-+ netlink_addattr(nmsg, NDA_LLADDR,
-+ &entry->ndisc_ha.addr_data8[0], ETH_ADDR_LEN);
-+ }
-+
-+ memset(&snl, 0, sizeof(snl));
-+ snl.nl_family = AF_NETLINK;
-+
-+ iov.iov_base = nmsg;
-+ iov.iov_len = nmsg->nlmsg_len;
-+
-+ memset(&msg, 0, sizeof(msg));
-+ msg.msg_name = &snl;
-+ msg.msg_namelen = sizeof(snl);
-+ msg.msg_iov = &iov;
-+ msg.msg_iovlen = 1;
-+
-+ if (sendmsg(n->nlfd, &msg, 0) < 0)
-+ return (-1);
-+
-+ iov.iov_base = buf;
-+ iov.iov_len = sizeof(buf);
-+
-+ if ((i = recvmsg(n->nlfd, &msg, 0)) <= 0)
-+ return (-1);
-+
-+ if (nmsg->nlmsg_len < (int)sizeof(*nmsg) || nmsg->nlmsg_len > i ||
-+ nmsg->nlmsg_seq != n->seq) {
-+ errno = EINVAL;
-+ return (-1);
-+ }
-+ if (nmsg->nlmsg_type == NLMSG_ERROR) {
-+ struct nlmsgerr *err = (struct nlmsgerr*)NLMSG_DATA(nmsg);
-+ errno = -err->error;
-+ if (errno == 0) {
-+ return 0;
-+ }
-+
-+ return (-1);
-+ }
-+
-+ return (-1);
-+}
-+
-+int
-+ndisc_add(ndisc_t *n, const struct ndisc_entry *entry)
-+{
-+ return ndisc_modify(n, entry, RTM_NEWNEIGH, NLM_F_CREATE | NLM_F_EXCL);
-+}
-+
-+int
-+ndisc_delete(ndisc_t *n, const struct ndisc_entry *entry)
-+{
-+ return ndisc_modify(n, entry, RTM_DELNEIGH, 0);
-+}
-+
-+int
-+ndisc_get(ndisc_t *n, struct ndisc_entry *entry)
-+{
-+ /* TBD */
-+ errno = ENOSYS;
-+ return (-1);
-+}
-+
-+int
-+nsidc_loop(ndisc_t *n, ndisc_handler callback, void *arg)
-+{
-+ /* TBD */
-+ errno = ENOSYS;
-+ return (-1);
-+}
-+
-+ndisc_t *
-+ndisc_close(ndisc_t *n)
-+{
-+ if (n != NULL) {
-+ if (n->nlfd >= 0)
-+ close(n->nlfd);
-+ free(n);
-+ }
-+ return (NULL);
-+}
-new file mode 100644
---- a//dev/null
-+++ b/src/ndisc-none.c
-@@ -0,0 +1,55 @@
-+/*
-+ * ndisc-linux.c
-+ *
-+ * Copyright (c) 2000 Dug Song <dugsong@monkey.org>
-+ *
-+ */
-+
-+#include "config.h"
-+
-+#include <errno.h>
-+#include <stdio.h>
-+#include <stdlib.h>
-+
-+#include "dnet.h"
-+
-+ndisc_t *
-+ndisc_open(void)
-+{
-+ errno = ENOSYS;
-+ return (NULL);
-+}
-+
-+int
-+ndisc_add(ndisc_t *n, const struct ndisc_entry *entry)
-+{
-+ errno = ENOSYS;
-+ return (-1);
-+}
-+
-+int
-+ndisc_delete(ndisc_t *n, const struct ndisc_entry *entry)
-+{
-+ errno = ENOSYS;
-+ return (-1);
-+}
-+
-+int
-+ndisc_get(ndisc_t *n, struct ndisc_entry *entry)
-+{
-+ errno = ENOSYS;
-+ return (-1);
-+}
-+
-+int
-+nsidc_loop(ndisc_t *n, ndisc_handler callback, void *arg)
-+{
-+ errno = ENOSYS;
-+ return (-1);
-+}
-+
-+ndisc_t *
-+ndisc_close(ndisc_t *n)
-+{
-+ return (NULL);
-+}
---- a/src/route-linux.c
-+++ b/src/route-linux.c
-@@ -39,6 +39,7 @@
-
- struct route_handle {
- int fd;
-+ int fd6;
- int nlfd;
- };
-
-@@ -49,10 +50,13 @@
- route_t *r;
-
- if ((r = calloc(1, sizeof(*r))) != NULL) {
-- r->fd = r->nlfd = -1;
-+ r->fd = r->fd6 = r->nlfd = -1;
-
- if ((r->fd = socket(AF_INET, SOCK_DGRAM, 0)) < 0)
- return (route_close(r));
-+
-+ if ((r->fd6 = socket(AF_INET6, SOCK_DGRAM, 0)) < 0)
-+ return (route_close(r));
-
- if ((r->nlfd = socket(AF_NETLINK, SOCK_RAW,
- NETLINK_ROUTE)) < 0)
-@@ -90,6 +94,67 @@
- return (ioctl(r->fd, SIOCADDRT, &rt));
- }
-
-+int
-+route_add_dev(route_t *r, const struct route_entry *entry, const char* dev)
-+{
-+ struct rtentry rt;
-+ struct addr dst;
-+
-+ memset(&rt, 0, sizeof(rt));
-+ rt.rt_flags = RTF_UP;
-+ rt.rt_dev = (char*)dev;
-+
-+ if (ADDR_ISHOST(&entry->route_dst)) {
-+ rt.rt_flags |= RTF_HOST;
-+ memcpy(&dst, &entry->route_dst, sizeof(dst));
-+ } else
-+ addr_net(&entry->route_dst, &dst);
-+
-+ if (entry->route_gw.addr_ip != 0) {
-+ rt.rt_flags |= RTF_GATEWAY;
-+ }
-+
-+ if (addr_ntos(&dst, &rt.rt_dst) < 0 ||
-+ addr_ntos(&entry->route_gw, &rt.rt_gateway) < 0 ||
-+ addr_btos(entry->route_dst.addr_bits, &rt.rt_genmask) < 0)
-+ return (-1);
-+
-+ int ret = (ioctl(r->fd, SIOCADDRT, &rt));
-+ return ret;
-+}
-+
-+int
-+route6_add(route_t *r, const struct route_entry *entry, int intf_index)
-+{
-+ struct in6_rtmsg rt;
-+ struct addr dst;
-+
-+ memset(&rt, 0, sizeof(rt));
-+ rt.rtmsg_flags = RTF_UP;
-+
-+ if (ADDR_ISHOST(&entry->route_dst)) {
-+ rt.rtmsg_flags |= RTF_HOST;
-+ memcpy(&dst, &entry->route_dst, sizeof(dst));
-+ } else {
-+ addr_net(&entry->route_dst, &dst);
-+ }
-+
-+ rt.rtmsg_dst_len = entry->route_dst.addr_bits;
-+ rt.rtmsg_ifindex = intf_index;
-+ rt.rtmsg_metric = 1;
-+
-+ memcpy(&rt.rtmsg_dst, &dst.addr_ip6, sizeof(rt.rtmsg_dst));
-+
-+ if (!IN6_IS_ADDR_UNSPECIFIED(&entry->route_gw.addr_ip6)) {
-+ rt.rtmsg_flags |= RTF_GATEWAY;
-+ memcpy(&rt.rtmsg_gateway, &entry->route_gw.addr_ip6,
-+ sizeof(rt.rtmsg_gateway));
-+ }
-+
-+ int ret = (ioctl(r->fd6, SIOCADDRT, &rt));
-+ return ret;
-+}
-+
- int
- route_delete(route_t *r, const struct route_entry *entry)
- {
-@@ -112,6 +177,32 @@
- return (ioctl(r->fd, SIOCDELRT, &rt));
- }
-
-+int
-+route6_delete(route_t *r, const struct route_entry *entry, int intf_index)
-+{
-+ struct in6_rtmsg rt;
-+ struct addr dst;
-+
-+ memset(&rt, 0, sizeof(rt));
-+ rt.rtmsg_flags = RTF_UP;
-+
-+ if (ADDR_ISHOST(&entry->route_dst)) {
-+ rt.rtmsg_flags |= RTF_HOST;
-+ memcpy(&dst, &entry->route_dst, sizeof(dst));
-+ } else
-+ addr_net(&entry->route_dst, &dst);
-+
-+ rt.rtmsg_dst_len = entry->route_dst.addr_bits;
-+ rt.rtmsg_ifindex = intf_index;
-+ rt.rtmsg_metric = 1;
-+
-+ memcpy(&rt.rtmsg_dst, &dst, sizeof(rt.rtmsg_dst));
-+ memcpy(&rt.rtmsg_gateway, &entry->route_gw, sizeof(rt.rtmsg_gateway));
-+
-+ int ret = (ioctl(r->fd6, SIOCDELRT, &rt));
-+ return ret;
-+}
-+
- int
- route_get(route_t *r, struct route_entry *entry)
- {
-@@ -278,6 +369,8 @@
- if (r != NULL) {
- if (r->fd >= 0)
- close(r->fd);
-+ if (r->fd6 >= 0)
-+ close(r->fd6);
- if (r->nlfd >= 0)
- close(r->nlfd);
- free(r);
diff --git a/dev-libs/libdnet/files/libdnet-1.14-strlcpy.patch b/dev-libs/libdnet/files/libdnet-1.14-strlcpy.patch
deleted file mode 100644
index abc3a6b0f2d3..000000000000
--- a/dev-libs/libdnet/files/libdnet-1.14-strlcpy.patch
+++ /dev/null
@@ -1,10 +0,0 @@
---- a/python/dnet.c
-+++ b/python/dnet.c
-@@ -22,6 +22,7 @@
- #endif
- __PYX_EXTERN_C double pow(double, double);
- #include "dnet.h"
-+#include "config.h"
-
-
- typedef struct {const char *s; const void **p;} __Pyx_CApiTabEntry; /*proto*/
diff --git a/dev-libs/libdnet/libdnet-1.14-r2.ebuild b/dev-libs/libdnet/libdnet-1.14-r2.ebuild
deleted file mode 100644
index 51b423043d2e..000000000000
--- a/dev-libs/libdnet/libdnet-1.14-r2.ebuild
+++ /dev/null
@@ -1,84 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-AT_M4DIR="config"
-PYTHON_COMPAT=( python3_{8..10} )
-DISTUTILS_OPTIONAL=1
-inherit autotools distutils-r1
-
-DESCRIPTION="simplified, portable interface to several low-level networking routines"
-HOMEPAGE="https://github.com/ofalk/libdnet"
-SRC_URI="https://github.com/ofalk/${PN}/archive/${P}.tar.gz"
-S="${WORKDIR}/${PN}-${P}"
-
-LICENSE="LGPL-2"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm ~arm64 ~hppa ~ia64 ~mips ppc ppc64 ~riscv sparc x86"
-IUSE="python test"
-REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
-RESTRICT="!test? ( test )"
-
-DEPEND="python? ( ${PYTHON_DEPS} )"
-RDEPEND="${DEPEND}"
-BDEPEND="
- python? (
- dev-python/cython[${PYTHON_USEDEP}]
- )
-"
-
-DOCS=( README.md THANKS )
-
-PATCHES=(
- "${FILESDIR}/${PN}-1.14-ndisc.patch"
- "${FILESDIR}/${PN}-1.14-strlcpy.patch"
-)
-
-src_prepare() {
- default
-
- sed -i \
- -e 's/libcheck.a/libcheck.so/g' \
- -e 's|AM_CONFIG_HEADER|AC_CONFIG_HEADERS|g' \
- configure.ac || die
- sed -i \
- -e 's|-L$libdir ||g' \
- dnet-config.in || die
- sed -i \
- -e '/^SUBDIRS/s|python||g' \
- Makefile.am || die
-
- eautoreconf
-
- if use python; then
- cd python || die
- distutils-r1_src_prepare
- fi
-}
-
-src_configure() {
- econf \
- --disable-static \
- $(use_with python)
-}
-
-src_compile() {
- default
- if use python; then
- cd python || die
- distutils-r1_src_compile
- fi
-}
-
-src_install() {
- default
-
- if use python; then
- cd python || die
- unset DOCS
- distutils-r1_src_install
- fi
-
- find "${ED}" -name '*.la' -delete || die
-}
diff --git a/dev-libs/libdnet/libdnet-1.16.2.ebuild b/dev-libs/libdnet/libdnet-1.16.2.ebuild
new file mode 100644
index 000000000000..8ed52eca9704
--- /dev/null
+++ b/dev-libs/libdnet/libdnet-1.16.2.ebuild
@@ -0,0 +1,77 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..11} )
+DISTUTILS_OPTIONAL=1
+inherit autotools distutils-r1
+
+DESCRIPTION="Simplified, portable interface to several low-level networking routines"
+HOMEPAGE="https://github.com/ofalk/libdnet"
+SRC_URI="https://github.com/ofalk/${PN}/archive/${P}.tar.gz"
+S="${WORKDIR}/${PN}-${P}"
+
+LICENSE="LGPL-2"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm ~arm64 ~hppa ~ia64 ~mips ppc ppc64 ~riscv sparc x86"
+IUSE="python"
+
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+
+DEPEND="dev-libs/libbsd
+ python? ( ${PYTHON_DEPS} )"
+RDEPEND="${DEPEND}"
+BDEPEND="python? ( dev-python/cython[${PYTHON_USEDEP}] )"
+
+DOCS=( README.md THANKS )
+
+src_prepare() {
+ default
+
+ sed -i \
+ -e 's/libcheck.a/libcheck.so/g' \
+ configure.ac || die
+ sed -i \
+ -e 's|-L$libdir ||g' \
+ dnet-config.in || die
+ sed -i \
+ -e '/^SUBDIRS/s|python||g' \
+ Makefile.am || die
+
+ # Stale e.g. pkg-config macros w/ bashisms
+ rm aclocal.m4 {config,m4}/libtool.m4 || die
+
+ AT_M4DIR="config" eautoreconf
+
+ if use python; then
+ cd python || die
+ distutils-r1_src_prepare
+ fi
+}
+
+src_configure() {
+ econf \
+ $(use_with python) \
+ --without-check
+}
+
+src_compile() {
+ default
+ if use python; then
+ cd python || die
+ distutils-r1_src_compile
+ fi
+}
+
+src_install() {
+ default
+
+ if use python; then
+ cd python || die
+ unset DOCS
+ distutils-r1_src_install
+ fi
+
+ find "${ED}" -name '*.la' -delete || die
+}
diff --git a/dev-libs/libdnet/libdnet-1.16.4.ebuild b/dev-libs/libdnet/libdnet-1.16.4.ebuild
new file mode 100644
index 000000000000..08f0bd6dfacb
--- /dev/null
+++ b/dev-libs/libdnet/libdnet-1.16.4.ebuild
@@ -0,0 +1,89 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..11} )
+DISTUTILS_EXT=1
+DISTUTILS_OPTIONAL=1
+inherit autotools distutils-r1
+
+DESCRIPTION="Simplified, portable interface to several low-level networking routines"
+HOMEPAGE="https://github.com/ofalk/libdnet"
+SRC_URI="https://github.com/ofalk/${PN}/archive/${P}.tar.gz"
+S="${WORKDIR}/${PN}-${P}"
+
+LICENSE="LGPL-2"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm ~arm64 ~hppa ~ia64 ~mips ppc ppc64 ~riscv sparc x86"
+IUSE="python test"
+RESTRICT="!test? ( test )"
+
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+
+DEPEND="dev-libs/libbsd
+ python? ( ${PYTHON_DEPS} )"
+RDEPEND="${DEPEND}"
+BDEPEND="python? ( dev-python/cython[${PYTHON_USEDEP}] )
+ test? ( dev-libs/check )"
+
+DOCS=( README.md THANKS )
+
+src_prepare() {
+ default
+
+ sed -i \
+ -e 's/libcheck.a/libcheck.so/g' \
+ configure.ac || die
+ sed -i \
+ -e "s/lib\/libcheck/$(get_libdir)\/libcheck/g" \
+ configure.ac || die
+ sed -i \
+ -e 's|-L$libdir ||g' \
+ dnet-config.in || die
+ sed -i \
+ -e '/^SUBDIRS/s|python||g' \
+ Makefile.am || die
+
+ # Stale e.g. pkg-config macros w/ bashisms
+ rm aclocal.m4 {config,m4}/libtool.m4 || die
+
+ AT_M4DIR="config" eautoreconf
+
+ if use python; then
+ cd python || die
+ distutils-r1_src_prepare
+ fi
+}
+
+src_configure() {
+ econf \
+ $(use_with python) \
+ $(use_enable test check)
+}
+
+src_compile() {
+ default
+ if use python; then
+ cd python || die
+ distutils-r1_src_compile
+ fi
+}
+
+src_test() {
+ # https://bugs.gentoo.org/778797#c4
+ # check_ip needs privileges and check_fw can't work on Linux
+ emake check XFAIL_TESTS="check_fw check_ip"
+}
+
+src_install() {
+ default
+
+ if use python; then
+ cd python || die
+ unset DOCS
+ distutils-r1_src_install
+ fi
+
+ find "${ED}" -name '*.la' -delete || die
+}
diff --git a/dev-libs/libdnet/libdnet-1.17.0.ebuild b/dev-libs/libdnet/libdnet-1.17.0.ebuild
new file mode 100644
index 000000000000..fd47d46e0186
--- /dev/null
+++ b/dev-libs/libdnet/libdnet-1.17.0.ebuild
@@ -0,0 +1,93 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..11} )
+DISTUTILS_EXT=1
+DISTUTILS_OPTIONAL=1
+inherit autotools distutils-r1
+
+DESCRIPTION="Simplified, portable interface to several low-level networking routines"
+HOMEPAGE="https://github.com/ofalk/libdnet"
+SRC_URI="https://github.com/ofalk/${PN}/archive/${P}.tar.gz"
+S="${WORKDIR}/${PN}-${P}"
+
+LICENSE="LGPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86"
+IUSE="python test"
+RESTRICT="!test? ( test )"
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+
+DEPEND="
+ dev-libs/libbsd
+ python? ( ${PYTHON_DEPS} )
+"
+RDEPEND="${DEPEND}"
+BDEPEND="
+ python? ( dev-python/cython[${PYTHON_USEDEP}] )
+ test? ( dev-libs/check )
+"
+
+DOCS=( README.md THANKS )
+
+src_prepare() {
+ default
+
+ sed -i \
+ -e 's/libcheck.a/libcheck.so/g' \
+ configure.ac || die
+ sed -i \
+ -e "s/lib\/libcheck/$(get_libdir)\/libcheck/g" \
+ configure.ac || die
+ sed -i \
+ -e 's|-L$libdir ||g' \
+ dnet-config.in || die
+ sed -i \
+ -e '/^SUBDIRS/s|python||g' \
+ Makefile.am || die
+
+ # Stale e.g. pkg-config macros w/ bashisms
+ rm aclocal.m4 {config,m4}/libtool.m4 || die
+
+ AT_M4DIR="config" eautoreconf
+
+ if use python; then
+ cd python || die
+ distutils-r1_src_prepare
+ fi
+}
+
+src_configure() {
+ econf \
+ $(use_with python) \
+ $(use_enable test check)
+}
+
+src_compile() {
+ default
+
+ if use python; then
+ cd python || die
+ distutils-r1_src_compile
+ fi
+}
+
+src_test() {
+ # https://bugs.gentoo.org/778797#c4
+ # check_ip needs privileges and check_fw can't work on Linux
+ emake check XFAIL_TESTS="check_fw check_ip"
+}
+
+src_install() {
+ default
+
+ if use python; then
+ cd python || die
+ unset DOCS
+ distutils-r1_src_install
+ fi
+
+ find "${ED}" -name '*.la' -delete || die
+}
diff --git a/dev-libs/libdnet/libdnet-1.18.0.ebuild b/dev-libs/libdnet/libdnet-1.18.0.ebuild
new file mode 100644
index 000000000000..fd47d46e0186
--- /dev/null
+++ b/dev-libs/libdnet/libdnet-1.18.0.ebuild
@@ -0,0 +1,93 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..11} )
+DISTUTILS_EXT=1
+DISTUTILS_OPTIONAL=1
+inherit autotools distutils-r1
+
+DESCRIPTION="Simplified, portable interface to several low-level networking routines"
+HOMEPAGE="https://github.com/ofalk/libdnet"
+SRC_URI="https://github.com/ofalk/${PN}/archive/${P}.tar.gz"
+S="${WORKDIR}/${PN}-${P}"
+
+LICENSE="LGPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86"
+IUSE="python test"
+RESTRICT="!test? ( test )"
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+
+DEPEND="
+ dev-libs/libbsd
+ python? ( ${PYTHON_DEPS} )
+"
+RDEPEND="${DEPEND}"
+BDEPEND="
+ python? ( dev-python/cython[${PYTHON_USEDEP}] )
+ test? ( dev-libs/check )
+"
+
+DOCS=( README.md THANKS )
+
+src_prepare() {
+ default
+
+ sed -i \
+ -e 's/libcheck.a/libcheck.so/g' \
+ configure.ac || die
+ sed -i \
+ -e "s/lib\/libcheck/$(get_libdir)\/libcheck/g" \
+ configure.ac || die
+ sed -i \
+ -e 's|-L$libdir ||g' \
+ dnet-config.in || die
+ sed -i \
+ -e '/^SUBDIRS/s|python||g' \
+ Makefile.am || die
+
+ # Stale e.g. pkg-config macros w/ bashisms
+ rm aclocal.m4 {config,m4}/libtool.m4 || die
+
+ AT_M4DIR="config" eautoreconf
+
+ if use python; then
+ cd python || die
+ distutils-r1_src_prepare
+ fi
+}
+
+src_configure() {
+ econf \
+ $(use_with python) \
+ $(use_enable test check)
+}
+
+src_compile() {
+ default
+
+ if use python; then
+ cd python || die
+ distutils-r1_src_compile
+ fi
+}
+
+src_test() {
+ # https://bugs.gentoo.org/778797#c4
+ # check_ip needs privileges and check_fw can't work on Linux
+ emake check XFAIL_TESTS="check_fw check_ip"
+}
+
+src_install() {
+ default
+
+ if use python; then
+ cd python || die
+ unset DOCS
+ distutils-r1_src_install
+ fi
+
+ find "${ED}" -name '*.la' -delete || die
+}
diff --git a/dev-libs/libdynd/libdynd-0.7.2-r1.ebuild b/dev-libs/libdynd/libdynd-0.7.2-r1.ebuild
index b83206ebd457..f774ab301982 100644
--- a/dev-libs/libdynd/libdynd-0.7.2-r1.ebuild
+++ b/dev-libs/libdynd/libdynd-0.7.2-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
@@ -6,7 +6,7 @@ EAPI=7
inherit cmake cuda
# change each new libdynd version, to avoid git in tree dependency
-DYND_GIT_SHA1=341d6d91931fdb04ad657d27ed740cf533fc925b
+MY_GIT_SHA1=341d6d91931fdb04ad657d27ed740cf533fc925b
DESCRIPTION="C++ dynamic multi-dimensionnal array library with Python exposure"
HOMEPAGE="http://libdynd.org"
@@ -18,9 +18,9 @@ KEYWORDS="amd64 x86 ~amd64-linux ~x86-linux"
IUSE="cuda doc fftw test"
RESTRICT="!test? ( test )"
-BDEPEND="doc? ( app-doc/doxygen[dot] )"
+BDEPEND="doc? ( app-text/doxygen[dot] )"
RDEPEND="
- dev-libs/c-blosc:0=
+ dev-libs/c-blosc:=
cuda? ( dev-util/nvidia-cuda-toolkit )
fftw? ( sci-libs/fftw:3.0 )
"
@@ -59,7 +59,7 @@ src_prepare() {
src_configure() {
local mycmakeargs=(
- -DDYND_GIT_SHA1="${DYND_GIT_SHA1}"
+ -DDYND_GIT_SHA1="${MY_GIT_SHA1}"
-DDYND_VERSION_STRING="v${PV}"
-DDYND_INSTALL_LIB=ON
-DDYND_SHARED_LIB=ON
diff --git a/dev-libs/libdynd/metadata.xml b/dev-libs/libdynd/metadata.xml
index 97a1c50305a2..dc216a13aea0 100644
--- a/dev-libs/libdynd/metadata.xml
+++ b/dev-libs/libdynd/metadata.xml
@@ -15,9 +15,6 @@
preview development state, and can be thought of as a sandbox where
features are being tried and tweaked to gain experience with them.
</longdescription>
- <use>
- <flag name="cuda">Enable NVIDIA CUDA toolkit support</flag>
- </use>
<upstream>
<remote-id type="github">libdynd/libdynd</remote-id>
</upstream>
diff --git a/dev-libs/libe/Manifest b/dev-libs/libe/Manifest
deleted file mode 100644
index 11215c2a2c70..000000000000
--- a/dev-libs/libe/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST libe-0.11.0.tar.gz 414542 BLAKE2B 5b7c312b837659811cca7e64c0006fb5b3378086b82f44b5819f975a11038cc305338555d60758e1f8435672a855668ab2e6719a4a42c9c7d596ca4d35a1aa5d SHA512 178003b19f5ad2b3503a929bce131d329e5eafba9f46ae3343cf4271e248ef883b84945e642239a7cdc96185e1b975bcf62004831042c2ab232e7813efbb5339
diff --git a/dev-libs/libe/files/libe-0.11.0-strtoul.patch b/dev-libs/libe/files/libe-0.11.0-strtoul.patch
deleted file mode 100644
index e993c593252f..000000000000
--- a/dev-libs/libe/files/libe-0.11.0-strtoul.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/e/convert.h
-+++ b/e/convert.h
-@@ -58,7 +58,7 @@
-
- errno = 0;
- #ifdef _MSC_VER
-- ret = _strtoui64(s.c_str(), &endptr, base);
-+ ret = strtoul(s.c_str(), &endptr, base);
- #else
- ret = strtoull(s.c_str(), &endptr, base);
- #endif
diff --git a/dev-libs/libe/libe-0.11.0.ebuild b/dev-libs/libe/libe-0.11.0.ebuild
deleted file mode 100644
index 45011db72260..000000000000
--- a/dev-libs/libe/libe-0.11.0.ebuild
+++ /dev/null
@@ -1,31 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-DESCRIPTION="Hyperdex libe support library"
-HOMEPAGE="http://hyperdex.org"
-SRC_URI="http://hyperdex.org/src/${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64"
-# bit messy at the moment, next release should fix it I hope
-RESTRICT="test"
-
-RDEPEND="dev-libs/libpo6"
-DEPEND="${RDEPEND}"
-BDEPEND="virtual/pkgconfig"
-
-PATCHES=( "${FILESDIR}"/${PN}-0.11.0-strtoul.patch )
-
-src_configure() {
- econf --disable-static
-}
-
-src_install() {
- default
-
- # no static archives
- find "${D}" -name '*.la' -delete || die
-}
diff --git a/dev-libs/libe/metadata.xml b/dev-libs/libe/metadata.xml
deleted file mode 100644
index 2ce0e74f9864..000000000000
--- a/dev-libs/libe/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="person">
- <email>patrick@gentoo.org</email>
- <name>Patrick Lauer</name>
- </maintainer>
-</pkgmetadata>
diff --git a/dev-libs/libebml/Manifest b/dev-libs/libebml/Manifest
index 24a7da62a0a3..37734bdd9b13 100644
--- a/dev-libs/libebml/Manifest
+++ b/dev-libs/libebml/Manifest
@@ -1 +1,2 @@
-DIST libebml-1.4.2.tar.xz 70484 BLAKE2B e27da59218c6c5655e2b57295b8f0ea8770f92eea4fe65331147a963f45fa8a06cc685af553b8234ca0162acea05b99b7463753044cc49bc815c752223e3b3fa SHA512 b9535b60ba2716053819d48e345f161ad797a74678fdf60797d652da9dfa7cab905669dac744f30a81083341462bac6f2a0e69fa7d80ee59cf7414bffbd667d5
+DIST libebml-1.4.4.tar.xz 64116 BLAKE2B 641cf6b63b4c8c4fab9e746bdf11d35024d5250f4a493d491ffc27441d9e453e58dfce028f865b8b4f200ccf58562d94b07b1593a4d53995ceb6fb2eb37bce1b SHA512 24f2bf51cd71f583bdd3bb33dbf20b5adeb8e96345de3abf3014f3ae1b0610c1bd04b802f26b4a1a26f884a696d6accf784bed1510f12538a6664cbd9ae51d6d
+DIST libebml-1.4.5.tar.xz 64408 BLAKE2B 9e2689cde143b4bcb425617fda45a3b128e3656bf67e59ee960ea6d849c834b57d110d45d6ae6dcf4f6281fb834cadb8d3269331feb4e6bc7579d189718cc087 SHA512 6ee2afd538de8b028a1acd4a0f00a8aa230deac297573d868683e96f22fa4953858d3a1d8ab414ac27757f35699e6149f0aaef6eb4d235baa79226d8f36ccb5c
diff --git a/dev-libs/libebml/files/libebml-1.4.2-header-fixes-for-gcc11.patch b/dev-libs/libebml/files/libebml-1.4.2-header-fixes-for-gcc11.patch
deleted file mode 100644
index c16e1395d605..000000000000
--- a/dev-libs/libebml/files/libebml-1.4.2-header-fixes-for-gcc11.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-From f0bfd53647961e799a43d918c46cf3b6bff89806 Mon Sep 17 00:00:00 2001
-From: Moritz Bunkus <mo@bunkus.online>
-Date: Sat, 27 Feb 2021 20:36:52 +0100
-Subject: [PATCH] include appropriate header files for std::numeric_limits
-
-Fixes #80.
---- a/src/EbmlString.cpp
-+++ b/src/EbmlString.cpp
-@@ -34,6 +34,7 @@
- \author Steve Lhomme <robux4 @ users.sf.net>
- */
- #include <cassert>
-+#include <limits>
-
- #include "ebml/EbmlString.h"
-
---- a/src/EbmlUnicodeString.cpp
-+++ b/src/EbmlUnicodeString.cpp
-@@ -36,6 +36,7 @@
- */
-
- #include <cassert>
-+#include <limits>
-
- #include "ebml/EbmlUnicodeString.h"
-
diff --git a/dev-libs/libebml/libebml-1.4.2.ebuild b/dev-libs/libebml/libebml-1.4.2.ebuild
deleted file mode 100644
index 777b6e12b31f..000000000000
--- a/dev-libs/libebml/libebml-1.4.2.ebuild
+++ /dev/null
@@ -1,18 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit cmake
-
-DESCRIPTION="Extensible binary format library (kinda like XML)"
-HOMEPAGE="https://www.matroska.org/ https://github.com/Matroska-Org/libebml/"
-SRC_URI="https://dl.matroska.org/downloads/${PN}/${P}.tar.xz"
-
-LICENSE="LGPL-2.1"
-SLOT="0/5" # subslot = soname major version
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ppc ppc64 ~riscv sparc x86 ~amd64-linux ~x86-linux ~ppc-macos"
-
-PATCHES=(
- "${FILESDIR}/${P}-header-fixes-for-gcc11.patch"
-)
diff --git a/dev-libs/libebml/libebml-1.4.4.ebuild b/dev-libs/libebml/libebml-1.4.4.ebuild
new file mode 100644
index 000000000000..d7126f8026e9
--- /dev/null
+++ b/dev-libs/libebml/libebml-1.4.4.ebuild
@@ -0,0 +1,14 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+DESCRIPTION="Extensible binary format library (kinda like XML)"
+HOMEPAGE="https://www.matroska.org/ https://github.com/Matroska-Org/libebml/"
+SRC_URI="https://dl.matroska.org/downloads/${PN}/${P}.tar.xz"
+
+LICENSE="LGPL-2.1"
+SLOT="0/5" # subslot = soname major version
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ppc ppc64 ~riscv sparc x86 ~amd64-linux ~x86-linux ~ppc-macos"
diff --git a/dev-libs/libebml/libebml-1.4.5.ebuild b/dev-libs/libebml/libebml-1.4.5.ebuild
new file mode 100644
index 000000000000..7c2f857b9463
--- /dev/null
+++ b/dev-libs/libebml/libebml-1.4.5.ebuild
@@ -0,0 +1,14 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+DESCRIPTION="Extensible binary format library (kinda like XML)"
+HOMEPAGE="https://www.matroska.org/ https://github.com/Matroska-Org/libebml/"
+SRC_URI="https://dl.matroska.org/downloads/${PN}/${P}.tar.xz"
+
+LICENSE="LGPL-2.1"
+SLOT="0/5" # subslot = soname major version
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos"
diff --git a/dev-libs/libedit/Manifest b/dev-libs/libedit/Manifest
index c2af86f2ca37..53a161d35b80 100644
--- a/dev-libs/libedit/Manifest
+++ b/dev-libs/libedit/Manifest
@@ -1 +1 @@
-DIST libedit-20210419-3.1.tar.gz 522387 BLAKE2B 265c7a10905120feb096d147279a9cf7296cf3b19e16ff4a683d7de11305c0d0c7a67fe8652c1b8f16cbaf3e09b7727987bb6839be4657eb41323c0220704969 SHA512 d5e2cdad18d17fb94e839d02b7b7437378bb85986478d4c95e4105a6ac47fcbbd6bdd0a20a83d23455ed9cb1e178d6c0acbe63f4559096afd506f283c2cc00e9
+DIST libedit-20221030-3.1.tar.gz 533261 BLAKE2B f4a9784cfc2a30af2778f0e05b6e45ca489555c3009ba050ea19134670ad71fdd099425dee0526dcbb6a1a84f51bd8014ce2540be0535465cb59ab998753833c SHA512 41eb46feaffa909e8790b9a9e304d5246e82ab366721196126a923d68b4d4964d0a433fe238f9d5e0a00aefb5c8cb66132150792929a793785ad091d91016f97
diff --git a/dev-libs/libedit/libedit-20210419.3.1.ebuild b/dev-libs/libedit/libedit-20210419.3.1.ebuild
deleted file mode 100644
index 0f050c53cb06..000000000000
--- a/dev-libs/libedit/libedit-20210419.3.1.ebuild
+++ /dev/null
@@ -1,43 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-inherit multilib-minimal usr-ldscript
-
-MY_PV=${PV/./-}
-MY_P=${PN}-${MY_PV}
-
-DESCRIPTION="BSD replacement for libreadline"
-HOMEPAGE="https://thrysoee.dk/editline/"
-SRC_URI="https://thrysoee.dk/editline/${MY_P}.tar.gz"
-S=${WORKDIR}/${MY_P}
-
-LICENSE="BSD-2"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
-IUSE="static-libs"
-
-RDEPEND=">=sys-libs/ncurses-5.9-r3[static-libs?,${MULTILIB_USEDEP}]"
-DEPEND=${RDEPEND}
-
-multilib_src_configure() {
- local myconf=(
- $(use_enable static-libs static)
- --enable-widec
- --enable-fast-install
- )
-
- ECONF_SOURCE="${S}" econf "${myconf[@]}"
-}
-
-multilib_src_install() {
- emake DESTDIR="${D}" install
- gen_usr_ldscript -a edit
-}
-
-multilib_src_install_all() {
- einstalldocs
- find "${D}" -name '*.la' -delete || die
- # file collision with sys-libs/readline
- rm "${ED}/usr/share/man/man3/history.3" || die
-}
diff --git a/dev-libs/libedit/libedit-20221030.3.1.ebuild b/dev-libs/libedit/libedit-20221030.3.1.ebuild
new file mode 100644
index 000000000000..0efa3b2f8b95
--- /dev/null
+++ b/dev-libs/libedit/libedit-20221030.3.1.ebuild
@@ -0,0 +1,42 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit multilib-minimal
+
+MY_P=${P/./-}
+DESCRIPTION="BSD replacement for libreadline"
+HOMEPAGE="https://thrysoee.dk/editline/"
+SRC_URI="https://thrysoee.dk/editline/${MY_P}.tar.gz"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
+IUSE="static-libs"
+
+DEPEND="
+ >=sys-libs/ncurses-5.9-r3[static-libs?,${MULTILIB_USEDEP}]
+"
+RDEPEND="
+ ${DEPEND}
+"
+
+QA_PKGCONFIG_VERSION=$(ver_cut 2-3)
+
+multilib_src_configure() {
+ local myconf=(
+ $(use_enable static-libs static)
+ --enable-fast-install
+ )
+
+ ECONF_SOURCE="${S}" econf "${myconf[@]}"
+}
+
+multilib_src_install_all() {
+ einstalldocs
+ find "${D}" -name '*.la' -delete || die
+ # file collision with sys-libs/readline
+ rm "${ED}/usr/share/man/man3/history.3" || die
+}
diff --git a/dev-libs/libee/libee-0.4.1.ebuild b/dev-libs/libee/libee-0.4.1.ebuild
index 9355b1f0a058..0c199a5b8e31 100644
--- a/dev-libs/libee/libee-0.4.1.ebuild
+++ b/dev-libs/libee/libee-0.4.1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -10,17 +10,19 @@ SRC_URI="http://www.libee.org/files/download/${P}.tar.gz"
LICENSE="LGPL-2.1"
SLOT="0"
KEYWORDS="amd64 arm ~arm64 ~hppa x86 ~amd64-linux"
-IUSE="debug"
+IUSE="debug test"
+RESTRICT="!test? ( test )"
RDEPEND="
dev-libs/libxml2
- dev-libs/libestr"
+ dev-libs/libestr
+"
DEPEND="${RDEPEND}"
src_configure() {
econf \
--disable-static \
- --enable-testbench \
+ $(use_enable test testbench) \
$(use_enable debug)
}
diff --git a/dev-libs/libee/metadata.xml b/dev-libs/libee/metadata.xml
index c420a82a567a..85e4ed814fa2 100644
--- a/dev-libs/libee/metadata.xml
+++ b/dev-libs/libee/metadata.xml
@@ -1,8 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
-<maintainer type="person">
- <email>whissi@gentoo.org</email>
- <name>Thomas Deutschmann</name>
-</maintainer>
+<!-- maintainer-needed -->
</pkgmetadata>
diff --git a/dev-libs/libei/Manifest b/dev-libs/libei/Manifest
new file mode 100644
index 000000000000..50c1bf564d9b
--- /dev/null
+++ b/dev-libs/libei/Manifest
@@ -0,0 +1,3 @@
+DIST libei-1.2.0.tar.bz2 174155 BLAKE2B 4b540cb79decd9785f67efa6fa76b984eb7ae2729dd49ac36e240b6a4feb4c54b34626dad93831c873861e3d3fd597c530e7eaaab0150890f0c952a9d75ee178 SHA512 c1d39c2c830df373ff5d7cc3eca330c2d771a26df6f2902d62f639a8a4db9af5370db4b9defe605721dd1f429eae68cbc4249792b3ae26b4c82d269f07a36732
+DIST libei-1.2.1.tar.bz2 174636 BLAKE2B b718d2287e83adb43a8dee9ae06499d780b2a50231e9ce452b6e7bfa9e89e9599058628614fb4325d0cef842d6b29ca68eb38b3e547790cd5a7a0ac14728f250 SHA512 ac8e32a381b9555a6b9becab9217a323d79aeba4b3f11e1dbba9f876d566f232f41d0f299f8cb8e5de6707d0dd91e93872edd81532c971e35d1cf33f9f9063b4
+DIST munit-fbbdf1467eb0d04a6ee465def2e529e4c87f2118.tar.gz 27724 BLAKE2B 9670c9b7a0b5d9ee6ec8df2dea9e241b043964ecf1fa3f6060ad1d16c40ab6afe47f53c6d4a791003e101a0b363263b858e6e4e445f868292753dd1ee7f7e3ce SHA512 26b5599fd12be627a692823ebf496fa446be7ed04a1233fb42e0667c05109b0f804f76646e289ac660fc815baf45f77ec8caf0ff2ea7fb0b4f87f0038a2b971c
diff --git a/dev-libs/libei/libei-1.2.0.ebuild b/dev-libs/libei/libei-1.2.0.ebuild
new file mode 100644
index 000000000000..6959da0ea131
--- /dev/null
+++ b/dev-libs/libei/libei-1.2.0.ebuild
@@ -0,0 +1,98 @@
+# Copyright 2023-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..12} )
+inherit meson python-any-r1
+
+DESCRIPTION="Library for Emulated Input, primarily aimed at the Wayland stack"
+HOMEPAGE="https://gitlab.freedesktop.org/libinput/libei"
+SRC_URI="https://gitlab.freedesktop.org/libinput/${PN}/-/archive/${PV}/${P}.tar.bz2"
+MUNIT_COMMIT="fbbdf1467eb0d04a6ee465def2e529e4c87f2118"
+SRC_URI+=" https://github.com/nemequ/munit/archive/${MUNIT_COMMIT}.tar.gz -> munit-${MUNIT_COMMIT}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 ~sparc x86"
+IUSE="elogind systemd test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ >=dev-libs/libevdev-1.9.902
+ || (
+ systemd? ( >=sys-apps/systemd-237 )
+ elogind? ( >=sys-auth/elogind-237 )
+ sys-libs/basu
+ )
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ virtual/pkgconfig
+ $(python_gen_any_dep '
+ dev-python/attrs[${PYTHON_USEDEP}]
+ dev-python/jinja[${PYTHON_USEDEP}]
+ ')
+ test? (
+ $(python_gen_any_dep '
+ dev-python/pytest[${PYTHON_USEDEP}]
+ dev-python/python-dbusmock[${PYTHON_USEDEP}]
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+ dev-python/structlog[${PYTHON_USEDEP}]
+ ')
+ )
+"
+
+python_check_deps() {
+ if use test; then
+ python_has_version \
+ "dev-python/pytest[${PYTHON_USEDEP}]" \
+ "dev-python/python-dbusmock[${PYTHON_USEDEP}]" \
+ "dev-python/pyyaml[${PYTHON_USEDEP}]" \
+ "dev-python/structlog[${PYTHON_USEDEP}]" \
+ || return 1
+ fi
+ python_has_version \
+ "dev-python/attrs[${PYTHON_USEDEP}]" \
+ "dev-python/jinja[${PYTHON_USEDEP}]" \
+ || return 1
+}
+
+src_unpack() {
+ if [[ -n ${A} ]]; then
+ unpack ${A}
+ mv "${WORKDIR}"/munit-${MUNIT_COMMIT} "${WORKDIR}"/${P}/subprojects/munit || die
+ rm "${WORKDIR}"/${P}/subprojects/munit.wrap || die
+ fi
+}
+
+src_prepare() {
+ default
+
+ sed -i -e 's:^valgrind = .*:valgrind = disabler():g' test/meson.build || die
+}
+
+src_configure() {
+ local emesonargs=(
+ -Ddocumentation=""
+ -Dliboeffis=enabled
+ $(meson_feature test tests)
+ )
+ if use systemd; then
+ emesonargs+=(-Dsd-bus-provider=libsystemd)
+ elif use elogind; then
+ emesonargs+=(-Dsd-bus-provider=libelogind)
+ else
+ emesonargs+=(-Dsd-bus-provider=basu)
+ fi
+ meson_src_configure
+}
+
+src_install() {
+ meson_src_install
+
+ # munit subproject is installed but not wanted
+ if use test; then
+ rm "${ED}"/usr/lib*/libmunit.so || die
+ fi
+}
diff --git a/dev-libs/libei/libei-1.2.1.ebuild b/dev-libs/libei/libei-1.2.1.ebuild
new file mode 100644
index 000000000000..74c5bdf82a84
--- /dev/null
+++ b/dev-libs/libei/libei-1.2.1.ebuild
@@ -0,0 +1,103 @@
+# Copyright 2023-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..12} )
+inherit meson python-any-r1
+
+DESCRIPTION="Library for Emulated Input, primarily aimed at the Wayland stack"
+HOMEPAGE="https://gitlab.freedesktop.org/libinput/libei"
+SRC_URI="https://gitlab.freedesktop.org/libinput/${PN}/-/archive/${PV}/${P}.tar.bz2"
+MUNIT_COMMIT="fbbdf1467eb0d04a6ee465def2e529e4c87f2118"
+SRC_URI+=" https://github.com/nemequ/munit/archive/${MUNIT_COMMIT}.tar.gz -> munit-${MUNIT_COMMIT}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 ~sparc x86"
+IUSE="elogind systemd test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ >=dev-libs/libevdev-1.9.902
+ || (
+ systemd? ( >=sys-apps/systemd-237 )
+ elogind? ( >=sys-auth/elogind-237 )
+ sys-libs/basu
+ )
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ virtual/pkgconfig
+ $(python_gen_any_dep '
+ dev-python/attrs[${PYTHON_USEDEP}]
+ dev-python/jinja[${PYTHON_USEDEP}]
+ ')
+ test? (
+ $(python_gen_any_dep '
+ dev-python/pytest[${PYTHON_USEDEP}]
+ dev-python/python-dbusmock[${PYTHON_USEDEP}]
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+ dev-python/structlog[${PYTHON_USEDEP}]
+ ')
+ )
+"
+
+python_check_deps() {
+ if use test; then
+ python_has_version \
+ "dev-python/pytest[${PYTHON_USEDEP}]" \
+ "dev-python/python-dbusmock[${PYTHON_USEDEP}]" \
+ "dev-python/pyyaml[${PYTHON_USEDEP}]" \
+ "dev-python/structlog[${PYTHON_USEDEP}]" \
+ || return 1
+ fi
+ python_has_version \
+ "dev-python/attrs[${PYTHON_USEDEP}]" \
+ "dev-python/jinja[${PYTHON_USEDEP}]" \
+ || return 1
+}
+
+src_unpack() {
+ if [[ -n ${A} ]]; then
+ unpack ${A}
+ mv "${WORKDIR}"/munit-${MUNIT_COMMIT} "${WORKDIR}"/${P}/subprojects/munit || die
+ rm "${WORKDIR}"/${P}/subprojects/munit.wrap || die
+ fi
+}
+
+src_prepare() {
+ default
+
+ sed -i -e 's:^valgrind = .*:valgrind = disabler():g' test/meson.build || die
+}
+
+src_configure() {
+ local emesonargs=(
+ -Ddocumentation=""
+ -Dliboeffis=enabled
+ $(meson_feature test tests)
+ )
+ if use systemd; then
+ emesonargs+=(-Dsd-bus-provider=libsystemd)
+ elif use elogind; then
+ emesonargs+=(-Dsd-bus-provider=libelogind)
+ else
+ emesonargs+=(-Dsd-bus-provider=basu)
+ fi
+ meson_src_configure
+}
+
+src_test() {
+ # bug #916777
+ meson_src_test --no-suite sigalrm --timeout-multiplier 10
+}
+
+src_install() {
+ meson_src_install
+
+ # munit subproject is installed but not wanted
+ if use test; then
+ rm "${ED}"/usr/lib*/libmunit.so || die
+ fi
+}
diff --git a/dev-libs/libei/metadata.xml b/dev-libs/libei/metadata.xml
new file mode 100644
index 000000000000..4e1ad47f523f
--- /dev/null
+++ b/dev-libs/libei/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>x11@gentoo.org</email>
+ <name>X11</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="freedesktop-gitlab">libinput/libei</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/libelf/libelf-0.8.13-r2.ebuild b/dev-libs/libelf/libelf-0.8.13-r2.ebuild
deleted file mode 100644
index e373fd9b7e46..000000000000
--- a/dev-libs/libelf/libelf-0.8.13-r2.ebuild
+++ /dev/null
@@ -1,48 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="6"
-
-inherit autotools multilib-minimal
-
-DESCRIPTION="A ELF object file access library"
-HOMEPAGE="http://www.mr511.de/software/"
-SRC_URI="http://www.mr511.de/software/${P}.tar.gz"
-
-LICENSE="LGPL-2"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~mips ppc ppc64 sparc x86 ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-IUSE="debug nls"
-
-RDEPEND="!dev-libs/elfutils"
-DEPEND="nls? ( sys-devel/gettext )"
-
-DOCS=( ChangeLog README )
-MULTILIB_WRAPPED_HEADERS=( /usr/include/libelf/sys_elf.h )
-
-src_prepare() {
- eapply "${FILESDIR}/${P}-build.patch"
- eapply_user
- eautoreconf
-}
-
-multilib_src_configure() {
- # prefix might want to play with this; unfortunately the stupid
- # macro used to detect whether we're building ELF is so screwed up
- # that trying to fix it is just a waste of time.
- export mr_cv_target_elf=yes
-
- ECONF_SOURCE="${S}" econf \
- $(use_enable nls) \
- --enable-shared \
- $(use_enable debug)
-}
-
-multilib_src_install() {
- emake \
- prefix="${ED}usr" \
- libdir="${ED}usr/$(get_libdir)" \
- install \
- install-compat \
- -j1
-}
diff --git a/dev-libs/libelf/libelf-0.8.13-r3.ebuild b/dev-libs/libelf/libelf-0.8.13-r3.ebuild
new file mode 100644
index 000000000000..bccbd87625a1
--- /dev/null
+++ b/dev-libs/libelf/libelf-0.8.13-r3.ebuild
@@ -0,0 +1,56 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools multilib-minimal
+
+DESCRIPTION="A ELF object file access library"
+HOMEPAGE="http://www.mr511.de/software/"
+SRC_URI="http://www.mr511.de/software/${P}.tar.gz"
+
+LICENSE="LGPL-2"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~mips ppc ppc64 sparc x86 ~x64-solaris"
+IUSE="debug nls"
+
+RDEPEND="!dev-libs/elfutils"
+DEPEND="${RDEPEND}"
+BDEPEND="nls? ( sys-devel/gettext )"
+
+DOCS=( ChangeLog README )
+
+MULTILIB_WRAPPED_HEADERS=( /usr/include/libelf/sys_elf.h )
+
+PATCHES=(
+ "${FILESDIR}/${P}-build.patch"
+)
+
+src_prepare() {
+ default
+
+ eautoreconf
+}
+
+multilib_src_configure() {
+ # prefix might want to play with this; unfortunately the stupid
+ # macro used to detect whether we're building ELF is so screwed up
+ # that trying to fix it is just a waste of time.
+ export mr_cv_target_elf=yes
+
+ ECONF_SOURCE="${S}" econf \
+ $(use_enable nls) \
+ --enable-shared \
+ $(use_enable debug)
+}
+
+multilib_src_install() {
+ emake \
+ prefix="${ED}/usr" \
+ libdir="${ED}/usr/$(get_libdir)" \
+ install \
+ install-compat \
+ -j1
+
+ find "${D}" -name '*.la' -o -name '*.a' -delete || die
+}
diff --git a/dev-libs/libelf/libelf-0.8.13-r4.ebuild b/dev-libs/libelf/libelf-0.8.13-r4.ebuild
new file mode 100644
index 000000000000..32b59158bf4b
--- /dev/null
+++ b/dev-libs/libelf/libelf-0.8.13-r4.ebuild
@@ -0,0 +1,63 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools multilib-minimal toolchain-funcs
+
+DESCRIPTION="ELF object file access library"
+HOMEPAGE="
+ https://directory.fsf.org/wiki/Libelf
+ https://web.archive.org/web/20190203164512/http://www.mr511.de/software/
+"
+SRC_URI="http://www.mr511.de/software/${P}.tar.gz"
+
+LICENSE="LGPL-2+"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~mips ~ppc ~ppc64 ~sparc ~x86 ~x64-solaris"
+IUSE="debug nls"
+
+RDEPEND="!dev-libs/elfutils"
+DEPEND="${RDEPEND}"
+BDEPEND="nls? ( sys-devel/gettext )"
+
+DOCS=( ChangeLog README )
+
+MULTILIB_WRAPPED_HEADERS=( /usr/include/libelf/sys_elf.h )
+
+PATCHES=(
+ "${FILESDIR}/${P}-build.patch"
+)
+
+src_prepare() {
+ default
+
+ eautoreconf
+}
+
+multilib_src_configure() {
+ # prefix might want to play with this; unfortunately the stupid
+ # macro used to detect whether we're building ELF is so screwed up
+ # that trying to fix it is just a waste of time.
+ export mr_cv_target_elf=yes
+
+ ECONF_SOURCE="${S}" econf \
+ $(use_enable nls) \
+ --enable-shared \
+ $(use_enable debug)
+}
+
+multilib_src_compile() {
+ emake AR="$(tc-getAR)"
+}
+
+multilib_src_install() {
+ emake \
+ prefix="${ED}/usr" \
+ libdir="${ED}/usr/$(get_libdir)" \
+ install \
+ install-compat \
+ -j1
+
+ find "${D}" -name '*.la' -o -name '*.a' -delete || die
+}
diff --git a/dev-libs/libelf/metadata.xml b/dev-libs/libelf/metadata.xml
index 489e730c1c90..115e9d64a669 100644
--- a/dev-libs/libelf/metadata.xml
+++ b/dev-libs/libelf/metadata.xml
@@ -1,8 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <email>blueness@gentoo.org</email>
- <name>Anthony G. Basile</name>
- </maintainer>
+ <!-- maintainer-needed -->
</pkgmetadata>
diff --git a/dev-libs/liberasurecode/Manifest b/dev-libs/liberasurecode/Manifest
index 3fc48722cd31..1ed127df771d 100644
--- a/dev-libs/liberasurecode/Manifest
+++ b/dev-libs/liberasurecode/Manifest
@@ -1 +1 @@
-DIST liberasurecode-1.6.2.tar.gz 210331 BLAKE2B 174141a26872ce1cb57feaeed071f8b0740810a73ec4683e2661f908fc0d58264a01ed87e7a71185f0607cbd23ebfe0141154e082dd96478712f776b764a2631 SHA512 027def96275eac67b32b2e3e7144f3042acbcafe5b27b353eb5944e73b55d34931a11324018f131b2acb381007cc79e31a5afd7390fdc517ed30ee592d6f90d5
+DIST liberasurecode-1.6.3.tar.gz 210599 BLAKE2B d0e9ec0a28d99e109d7dd130283bf986d3fb2f2b0960567ca91b1380ce9c2a12eb14dee683cb2f994f5b3b4820b449c65f5b206f123101b4c2ed7f8910a44627 SHA512 d5daa962324ef19fd195cfa842ec375d9dd5e62e3391b4a1cbf49a850b852b18cfc9be929ab18786d6b839139f6260d5cb4c88a0ba440c06b0e54e04ffb1bee1
diff --git a/dev-libs/liberasurecode/files/0001-configure-fix-basic-syntax-errors-in-the-shell-scrip.patch b/dev-libs/liberasurecode/files/0001-configure-fix-basic-syntax-errors-in-the-shell-scrip.patch
new file mode 100644
index 000000000000..bd1038803122
--- /dev/null
+++ b/dev-libs/liberasurecode/files/0001-configure-fix-basic-syntax-errors-in-the-shell-scrip.patch
@@ -0,0 +1,109 @@
+From b9a8a5b0b8249ca63a785f092bdbb0e0402119fb Mon Sep 17 00:00:00 2001
+From: Eli Schwartz <eschwartz93@gmail.com>
+Date: Mon, 29 Jan 2024 17:57:06 -0500
+Subject: [PATCH] configure: fix basic syntax errors in the shell script
+ programming language
+
+Fixes regression in commit f3a99e81e997cf0d8db47056b36ca2c2e3beee8f
+which prevented successfully running on non-bash shells.
+
+Bash provides the standard `test XXX = YYY` or `[ XXX = YYY ]`
+utilities. It also provides the ability to spell the equals sign as a
+double equals. This does nothing whatsoever -- it adds no new
+functionality to bash, it forbids nothing, it is *literally* an exact
+alias.
+
+It should never be used under any circumstances. All developers must
+immediately forget that it exists. Using it is non-portable and does not
+work in /bin/sh scripts such as configure scripts, and it results in
+dangerous muscle memory when used in bash scripts because it makes
+people unthinkingly use the double equals even in /bin/sh scripts. To
+add insult to injury, it makes scripts take up more disk space (by a
+whole byte! and sometimes even a few bytes...)
+
+Delete this accidental bashism, and restore the ability to get correct
+./configure behavior on systems where /bin/sh is something other than a
+symlink to GNU bash.
+
+Change-Id: I38ee6d19d12cf8702ef394f3ee40f353f749b2c6
+Signed-off-by: Eli Schwartz <eschwartz93@gmail.com>
+---
+ configure.ac | 20 ++++++++++----------
+ 1 file changed, 10 insertions(+), 10 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index 16d4dc4..5497a89 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -3,7 +3,7 @@
+ ################################################################################
+
+ AC_PREREQ([2.61])
+-AC_INIT(liberasurecode, [-],
++AC_INIT(liberasurecode, [-],
+ [tusharsg AT gmail DOT com, kmgreen2 AT gmail DOT com],
+ [], [https://github.com/openstack/liberasurecode])
+ AM_MAINTAINER_MODE([disable])
+@@ -164,42 +164,42 @@ if test x$mmi = xtrue ; then
+
+ SUPPORTED_FLAGS=""
+ $CC - -E -mmmx </dev/null >/dev/null 2>&1
+- if [[ $? == "0" ]]; then
++ if [[ $? = 0 ]]; then
+ SUPPORTED_FLAGS="-mmmx"
+ AC_MSG_RESULT([$CC supports -mmmx])
+ fi
+ $CC - -E -msse </dev/null >/dev/null 2>&1
+- if [[ $? == "0" ]]; then
++ if [[ $? = 0 ]]; then
+ SUPPORTED_FLAGS="$SUPPORTED_FLAGS -msse"
+ AC_MSG_RESULT([$CC supports -msse])
+ fi
+ $CC - -E -msse2 </dev/null >/dev/null 2>&1
+- if [[ $? == "0" ]]; then
++ if [[ $? = 0 ]]; then
+ SUPPORTED_FLAGS="$SUPPORTED_FLAGS -msse2"
+ AC_MSG_RESULT([$CC supports -msse2])
+ fi
+ $CC - -E -msse3 </dev/null >/dev/null 2>&1
+- if [[ $? == "0" ]]; then
++ if [[ $? = 0 ]]; then
+ SUPPORTED_FLAGS="$SUPPORTED_FLAGS -msse3"
+ AC_MSG_RESULT([$CC supports -msse3])
+ fi
+ $CC - -E -mssse3 </dev/null >/dev/null 2>&1
+- if [[ $? == "0" ]]; then
++ if [[ $? = 0 ]]; then
+ SUPPORTED_FLAGS="$SUPPORTED_FLAGS -mssse3"
+ AC_MSG_RESULT([$CC supports -mssse3])
+ fi
+ $CC - -E -msse4.1 </dev/null >/dev/null 2>&1
+- if [[ $? == "0" ]]; then
++ if [[ $? = 0 ]]; then
+ SUPPORTED_FLAGS="$SUPPORTED_FLAGS -msse4.1"
+ AC_MSG_RESULT([$CC supports -msse4.1])
+ fi
+ $CC - -E -msse4.2 </dev/null >/dev/null 2>&1
+- if [[ $? == "0" ]]; then
++ if [[ $? = 0 ]]; then
+ SUPPORTED_FLAGS="$SUPPORTED_FLAGS -msse4.2"
+ AC_MSG_RESULT([$CC supports -msse4.2])
+ fi
+ $CC - -E -mavx </dev/null >/dev/null 2>&1
+- if [[ $? == "0" ]]; then
++ if [[ $? = 0 ]]; then
+ SUPPORTED_FLAGS="$SUPPORTED_FLAGS -mavx"
+ AC_MSG_RESULT([$CC supports -mavx])
+ fi
+@@ -227,7 +227,7 @@ if test x$mmi = xtrue ; then
+ CFLAGS="$CFLAGS $SIMD_FLAGS"
+ fi
+
+-# Certain code may be dependent on 32 vs. 64-bit arch, so add a
++# Certain code may be dependent on 32 vs. 64-bit arch, so add a
+ # flag for 64-bit
+ AC_CHECK_SIZEOF([long])
+ if test "$ac_cv_sizeof_long" -eq 8; then
+--
+2.43.0
+
diff --git a/dev-libs/liberasurecode/liberasurecode-1.6.2.ebuild b/dev-libs/liberasurecode/liberasurecode-1.6.2.ebuild
deleted file mode 100644
index 61a2232df335..000000000000
--- a/dev-libs/liberasurecode/liberasurecode-1.6.2.ebuild
+++ /dev/null
@@ -1,35 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit autotools
-
-DESCRIPTION="Erasure Code API library written in C with pluggable Erasure Code backends"
-HOMEPAGE="https://bitbucket.org/tsg-/liberasurecode/overview"
-SRC_URI="https://github.com/openstack/liberasurecode/archive/${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 ~arm64 x86"
-IUSE="doc static-libs"
-
-DEPEND="doc? ( app-doc/doxygen )"
-
-src_prepare() {
- eapply_user
- eautoreconf
-}
-
-src_configure() {
- econf \
- --htmldir=/usr/share/doc/${PF} \
- --disable-werror \
- $(use_enable doc doxygen) \
- $(use_enable static-libs static)
-}
-
-src_install() {
- default
- find "${ED}" -name '*.la' -delete || die
-}
diff --git a/dev-libs/liberasurecode/liberasurecode-1.6.3.ebuild b/dev-libs/liberasurecode/liberasurecode-1.6.3.ebuild
new file mode 100644
index 000000000000..f600ce77a6a5
--- /dev/null
+++ b/dev-libs/liberasurecode/liberasurecode-1.6.3.ebuild
@@ -0,0 +1,46 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools flag-o-matic
+
+DESCRIPTION="Erasure Code API library written in C with pluggable Erasure Code backends"
+HOMEPAGE="https://bitbucket.org/tsg-/liberasurecode/overview"
+SRC_URI="https://github.com/openstack/liberasurecode/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 ~arm64 x86"
+IUSE="doc static-libs"
+
+DEPEND="doc? ( app-text/doxygen )"
+
+PATCHES=(
+ # bashism in configure.ac
+ # Patch submitted upstream as https://review.opendev.org/c/openstack/liberasurecode/+/907156
+ "${FILESDIR}"/0001-configure-fix-basic-syntax-errors-in-the-shell-scrip.patch
+)
+
+src_prepare() {
+ default
+ eautoreconf
+}
+
+src_configure() {
+
+ # fails with -Werror=lto-type-mismatch
+ # https://bugs.launchpad.net/liberasurecode/+bug/2051613
+ filter-lto
+
+ econf \
+ --htmldir=/usr/share/doc/${PF} \
+ --disable-werror \
+ $(use_enable doc doxygen) \
+ $(use_enable static-libs static)
+}
+
+src_install() {
+ default
+ find "${ED}" -name '*.la' -delete || die
+}
diff --git a/dev-libs/libestr/libestr-0.1.11-r1.ebuild b/dev-libs/libestr/libestr-0.1.11-r1.ebuild
new file mode 100644
index 000000000000..b08226ebeafe
--- /dev/null
+++ b/dev-libs/libestr/libestr-0.1.11-r1.ebuild
@@ -0,0 +1,36 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools
+
+DESCRIPTION="Library for some string essentials"
+HOMEPAGE="https://libestr.adiscon.com/"
+SRC_URI="https://libestr.adiscon.com/files/download/${P}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="amd64 arm arm64 ~hppa ~ia64 ~ppc64 ~riscv ~sparc x86"
+IUSE="debug static-libs test"
+RESTRICT="!test? ( test )"
+
+src_prepare() {
+ default
+ eautoreconf
+}
+
+src_configure() {
+ local myeconfargs=(
+ $(use_enable debug)
+ $(use_enable static-libs static)
+ $(use_enable test testbench)
+ )
+ econf "${myeconfargs[@]}"
+}
+
+src_install() {
+ default
+
+ find "${ED}"/usr/lib* -name '*.la' -delete || die
+}
diff --git a/dev-libs/libestr/libestr-0.1.11.ebuild b/dev-libs/libestr/libestr-0.1.11.ebuild
deleted file mode 100644
index 46bfad9d48e4..000000000000
--- a/dev-libs/libestr/libestr-0.1.11.ebuild
+++ /dev/null
@@ -1,41 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-
-inherit autotools
-
-DESCRIPTION="Library for some string essentials"
-HOMEPAGE="https://libestr.adiscon.com/"
-SRC_URI="https://libestr.adiscon.com/files/download/${P}.tar.gz"
-
-LICENSE="LGPL-2.1"
-SLOT="0"
-KEYWORDS="amd64 arm arm64 ~hppa x86"
-IUSE="debug static-libs test"
-RESTRICT="!test? ( test )"
-
-DEPEND=""
-RDEPEND="${DEPEND}"
-
-src_prepare() {
- default
-
- eautoreconf
-}
-
-src_configure() {
- local myeconfargs=(
- $(use_enable debug)
- $(use_enable static-libs static)
- $(use_enable test testbench)
- )
-
- econf "${myeconfargs[@]}"
-}
-
-src_install() {
- default
-
- find "${ED}"/usr/lib* -name '*.la' -delete || die
-}
diff --git a/dev-libs/libestr/metadata.xml b/dev-libs/libestr/metadata.xml
index ca8f6f06bde4..c9f48fd2bf41 100644
--- a/dev-libs/libestr/metadata.xml
+++ b/dev-libs/libestr/metadata.xml
@@ -1,13 +1,14 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+
<pkgmetadata>
- <maintainer type="person">
- <email>whissi@gentoo.org</email>
- <name>Thomas Deutschmann</name>
- </maintainer>
- <upstream>
- <bugs-to>https://github.com/rsyslog/libestr/issues</bugs-to>
- <remote-id type="github">rsyslog/libestr</remote-id>
- <remote-id type="cpe">cpe:/a:adiscon:libestr</remote-id>
- </upstream>
+ <maintainer type="person">
+ <email>xgqt@gentoo.org</email>
+ <name>Maciej Barć</name>
+ </maintainer>
+ <upstream>
+ <bugs-to>https://github.com/rsyslog/libestr/issues/</bugs-to>
+ <remote-id type="github">rsyslog/libestr</remote-id>
+ <remote-id type="cpe">cpe:/a:adiscon:libestr</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/dev-libs/libev/libev-4.33.ebuild b/dev-libs/libev/libev-4.33.ebuild
index 4b9fb143c7fc..b8ffdb37c3da 100644
--- a/dev-libs/libev/libev-4.33.ebuild
+++ b/dev-libs/libev/libev-4.33.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=7
-inherit autotools multilib-minimal
+inherit autotools flag-o-matic multilib-minimal
DESCRIPTION="A high-performance event loop/event model with lots of feature"
HOMEPAGE="http://software.schmorp.de/pkg/libev.html"
@@ -12,7 +12,7 @@ SRC_URI="http://dist.schmorp.de/libev/${P}.tar.gz
LICENSE="|| ( BSD GPL-2 )"
SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
IUSE="static-libs"
DOCS=( Changes README )
@@ -27,6 +27,14 @@ src_prepare() {
eautoreconf
}
+src_configure() {
+ # See bug #855869 and its large number of dupes in bundled libev copies.
+ filter-lto
+ append-flags -fno-strict-aliasing
+
+ multilib-minimal_src_configure
+}
+
multilib_src_configure() {
ECONF_SOURCE="${S}" \
econf \
diff --git a/dev-libs/libevdev/Manifest b/dev-libs/libevdev/Manifest
index 5d3c22f975b3..2892eb9d590c 100644
--- a/dev-libs/libevdev/Manifest
+++ b/dev-libs/libevdev/Manifest
@@ -1,2 +1 @@
-DIST libevdev-1.11.0.tar.xz 445316 BLAKE2B f3c1aa688d83f4a27abec23f18817bbdb7a5911cc30fab694271f620c23273cf20109598edb0049239e78a173baa20471ad1f25266eff34a50ed8898d7b86080 SHA512 b3c6b4a1532c5142f3684b920dcdd497a5368aec516e8c389e2c8f9d1eaba16c907b2a7f2c82a3c3ff89bb4d0ae5503c736098c095f9f1bc98f0668e99bf639d
-DIST libevdev-1.12.0.tar.xz 443716 BLAKE2B 1df548cc9bc2472c88308eb2794df7d5636d498631b8873a1957f5cc959097235e64f46f61285a3cbe1abbfe1d968946ae181dfcd8150fecfddf212ed7f4e07e SHA512 6c1c1362d5112cdf3816d1f735c27e625f5463ebf10a83d675cd9364c3fb291ebcb91c051da442f1a36ed28ba7dd99af74546707f61274f7d5715c544a0ed04c
+DIST libevdev-1.13.1.tar.xz 455484 BLAKE2B 063eefeebebf5253ce23666e31d67d7268ad97e09f84e0e3a02b1024a92f68e1a4f1fc2508304abf49ab05dba4961b49463b640a18c79ea38ca0c5a9d8bf3e9c SHA512 9b75bad4bc13948854c8dff7a7a46aca6c06d1410ccb000f881bf76055ccac040595c3b24fb1a574be875b5c262eb86820b9ec3383752641bc2047135e5a412f
diff --git a/dev-libs/libevdev/libevdev-1.11.0.ebuild b/dev-libs/libevdev/libevdev-1.11.0.ebuild
deleted file mode 100644
index 39c22f360654..000000000000
--- a/dev-libs/libevdev/libevdev-1.11.0.ebuild
+++ /dev/null
@@ -1,50 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{8..10} )
-
-inherit meson-multilib python-any-r1
-
-DESCRIPTION="Handler library for evdev events"
-HOMEPAGE="https://www.freedesktop.org/wiki/Software/libevdev/ https://gitlab.freedesktop.org/libevdev/libevdev"
-
-if [[ ${PV} == 9999* ]] ; then
- EGIT_REPO_URI="https://gitlab.freedesktop.org/libevdev/libevdev.git"
- inherit git-r3
-else
- SRC_URI="https://www.freedesktop.org/software/libevdev/${P}.tar.xz"
- KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~mips ppc ppc64 ~riscv ~s390 sparc x86"
-fi
-
-LICENSE="MIT"
-SLOT="0"
-IUSE="doc test"
-
-DEPEND="test? ( dev-libs/check[${MULTILIB_USEDEP}] )"
-BDEPEND="
- ${PYTHON_DEPS}
- doc? ( app-doc/doxygen )
- virtual/pkgconfig
-"
-RESTRICT="!test? ( test )"
-
-multilib_src_configure() {
- local emesonargs=(
- $(meson_feature doc documentation)
- $(meson_feature test tests)
- )
- meson_src_configure
-}
-
-multilib_src_test() {
- meson_src_test -t 100
-}
-
-multilib_src_install_all() {
- if use doc; then
- local HTML_DOCS=( doc/html/. )
- einstalldocs
- fi
-}
diff --git a/dev-libs/libevdev/libevdev-1.12.0.ebuild b/dev-libs/libevdev/libevdev-1.12.0.ebuild
deleted file mode 100644
index a0aef1f27654..000000000000
--- a/dev-libs/libevdev/libevdev-1.12.0.ebuild
+++ /dev/null
@@ -1,50 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{8..10} )
-
-inherit meson-multilib python-any-r1
-
-DESCRIPTION="Handler library for evdev events"
-HOMEPAGE="https://www.freedesktop.org/wiki/Software/libevdev/ https://gitlab.freedesktop.org/libevdev/libevdev"
-
-if [[ ${PV} == 9999* ]] ; then
- EGIT_REPO_URI="https://gitlab.freedesktop.org/libevdev/libevdev.git"
- inherit git-r3
-else
- SRC_URI="https://www.freedesktop.org/software/libevdev/${P}.tar.xz"
- KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc x86"
-fi
-
-LICENSE="MIT"
-SLOT="0"
-IUSE="doc test"
-
-DEPEND="test? ( dev-libs/check[${MULTILIB_USEDEP}] )"
-BDEPEND="
- ${PYTHON_DEPS}
- doc? ( app-doc/doxygen )
- virtual/pkgconfig
-"
-RESTRICT="!test? ( test )"
-
-multilib_src_configure() {
- local emesonargs=(
- $(meson_feature doc documentation)
- $(meson_feature test tests)
- )
- meson_src_configure
-}
-
-multilib_src_test() {
- meson_src_test -t 100
-}
-
-multilib_src_install_all() {
- if use doc; then
- local HTML_DOCS=( doc/html/. )
- einstalldocs
- fi
-}
diff --git a/dev-libs/libevdev/libevdev-1.13.1.ebuild b/dev-libs/libevdev/libevdev-1.13.1.ebuild
new file mode 100644
index 000000000000..7178ce1649e7
--- /dev/null
+++ b/dev-libs/libevdev/libevdev-1.13.1.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="Handler library for evdev events"
+HOMEPAGE="https://www.freedesktop.org/wiki/Software/libevdev/ https://gitlab.freedesktop.org/libevdev/libevdev"
+
+if [[ ${PV} == 9999* ]] ; then
+ EGIT_REPO_URI="https://gitlab.freedesktop.org/libevdev/libevdev.git"
+ inherit git-r3
+else
+ SRC_URI="https://www.freedesktop.org/software/libevdev/${P}.tar.xz"
+ KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
+fi
+
+LICENSE="MIT"
+SLOT="0"
+IUSE="doc test"
+
+DEPEND="test? ( dev-libs/check[${MULTILIB_USEDEP}] )"
+BDEPEND="
+ ${PYTHON_DEPS}
+ doc? ( app-text/doxygen )
+ virtual/pkgconfig
+"
+RESTRICT="!test? ( test )"
+
+multilib_src_configure() {
+ local emesonargs=(
+ $(meson_feature doc documentation)
+ $(meson_feature test tests)
+ )
+ meson_src_configure
+}
+
+multilib_src_test() {
+ meson_src_test -t 100
+}
+
+multilib_src_install_all() {
+ if use doc; then
+ local HTML_DOCS=( doc/html/. )
+ einstalldocs
+ fi
+}
diff --git a/dev-libs/libevdev/libevdev-9999.ebuild b/dev-libs/libevdev/libevdev-9999.ebuild
index a5a5af24e1b8..86afaef46cd2 100644
--- a/dev-libs/libevdev/libevdev-9999.ebuild
+++ b/dev-libs/libevdev/libevdev-9999.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=7
-PYTHON_COMPAT=( python3_{8..10} )
+PYTHON_COMPAT=( python3_{9..11} )
inherit meson-multilib python-any-r1
@@ -25,7 +25,7 @@ IUSE="doc test"
DEPEND="test? ( dev-libs/check[${MULTILIB_USEDEP}] )"
BDEPEND="
${PYTHON_DEPS}
- doc? ( app-doc/doxygen )
+ doc? ( app-text/doxygen )
virtual/pkgconfig
"
RESTRICT="!test? ( test )"
diff --git a/dev-libs/libevdev/metadata.xml b/dev-libs/libevdev/metadata.xml
index e17a5bccb78b..86a8c5281be0 100644
--- a/dev-libs/libevdev/metadata.xml
+++ b/dev-libs/libevdev/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>x11@gentoo.org</email>
- <name>X11</name>
-</maintainer>
+ <maintainer type="project">
+ <email>x11@gentoo.org</email>
+ <name>X11</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="freedesktop-gitlab">libevdev/libevdev</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/dev-libs/libevent/Manifest b/dev-libs/libevent/Manifest
index f1f1c08b55bb..cfc3c56e4cb7 100644
--- a/dev-libs/libevent/Manifest
+++ b/dev-libs/libevent/Manifest
@@ -1,2 +1,4 @@
-DIST libevent-2.1.11.tar.gz 1082234 BLAKE2B c6721589834bff027a8149ee0076e1877fba000d1712a405e20030192d9c81b892d0930bc1a4774650bef4cb08c60ac81b5928dc17346492ae7e4ded2125579a SHA512 9d0517b117f128f4f196b19a810524814bab75fa967d533063aaa619d3cf2dca97b443edd5805b764da2993d8e37caa536dce39f68ffcc2a88d32a89204c2de3
-DIST libevent-2.1.12.tar.gz 1100847 BLAKE2B bc1ace15f639ecef2e6b3f95976b8830c1d86f1d06606dd949e2978611fdf9859ed4eb9292d13e6e90e3835063edb94aae64a15c518d5dabe680f37d5a7f5290 SHA512 88d8944cd75cbe78bc4e56a6741ca67c017a3686d5349100f1c74f8a68ac0b6410ce64dff160be4a4ba0696ee29540dfed59aaf3c9a02f0c164b00307fcfe84f
+DIST libevent-2.1.12-stable.tar.gz 1100847 BLAKE2B bc1ace15f639ecef2e6b3f95976b8830c1d86f1d06606dd949e2978611fdf9859ed4eb9292d13e6e90e3835063edb94aae64a15c518d5dabe680f37d5a7f5290 SHA512 88d8944cd75cbe78bc4e56a6741ca67c017a3686d5349100f1c74f8a68ac0b6410ce64dff160be4a4ba0696ee29540dfed59aaf3c9a02f0c164b00307fcfe84f
+DIST libevent-2.1.12-stable.tar.gz.asc 488 BLAKE2B 629109913fe57110d0d78f5a7f18f36a7556b6b438ca65d9ce7c8f1d46e04cb9af4df8d7504d31165b510869154ea3a546e55a83bd7b1247bcfdf7c7d9509312 SHA512 841b57a0f6ba645b1871f257b9929093b11b7d6fd03332e6339adceddda233e78f6190faa2339e2b67b26dc2a56ddd7ce622792820b582168b31a2d1d1854f1f
+DIST libevent-2.2.1-alpha-dev.tar.gz 1166550 BLAKE2B 4ab460a521aab90852ade14c937c06a21f8e5649a1a1dc4114f978a99272deb77b4e05923861e979f4ee5f50e04149d7b8f8e38294279757f27779597f407d79 SHA512 3e0ef283979a30cce11065c3b9a1078f3f006dbab86e8b49f75dc3aac2384085cb74477d95e5bc4e88c0d81ee2359fcd1cf292107d4791de87191019f2fcdfa5
+DIST libevent-2.2.1-alpha-dev.tar.gz.asc 488 BLAKE2B d3e2b2782edd3bcabe42183b5b6647b6e55cd52292813901015a96c6eeec40e1ce57e9be731b2bd027c787f22b8ac5a587b7bed1dff95993bedde8b88fc1e89c SHA512 af720bce0829e806fb8bbb043eaf973fa6765ee17f059367b72344ce111a68f878b7a2fe361e4a3db61c7b4724c7dff19f960636b98e4208e7e27a2a077b8848
diff --git a/dev-libs/libevent/files/libevent-2.1.12-clang16.patch b/dev-libs/libevent/files/libevent-2.1.12-clang16.patch
new file mode 100644
index 000000000000..2ecf2472079f
--- /dev/null
+++ b/dev-libs/libevent/files/libevent-2.1.12-clang16.patch
@@ -0,0 +1,105 @@
+https://bugs.gentoo.org/880381
+https://github.com/libevent/libevent/commit/35375101e741d78bf49642c6929c1eb69a7c3d79
+
+From 35375101e741d78bf49642c6929c1eb69a7c3d79 Mon Sep 17 00:00:00 2001
+From: Azat Khuzhin <azat@libevent.org>
+Date: Fri, 27 Jan 2023 08:57:33 +0100
+Subject: [PATCH] Fixes some new warnings under clang-15
+
+- -Wdeprecated-non-prototype
+
+ /src/le/libevent/strlcpy.c:48:1: warning: a function definition without a prototype is deprecated in all versions of C and is not supported in C2x [-Wdeprecated-non-prototype]
+ event_strlcpy_(dst, src, siz)
+
+- -Wstrict-prototypes
+
+ /src/le/libevent/evthread.c:82:70: warning: a function declaration without a prototype is deprecated in all versions of C [-Wstrict-prototypes]
+ struct evthread_condition_callbacks *evthread_get_condition_callbacks()
+
+- -Wunused-but-set-variable
+
+ /src/le/libevent/test/regress_buffer.c:130:6: warning: variable 'n' set but not used [-Wunused-but-set-variable]
+ int n = 0;
+ ^
+---
+ evthread.c | 4 ++--
+ strlcpy.c | 6 +-----
+ test/regress_buffer.c | 5 -----
+ 3 files changed, 3 insertions(+), 12 deletions(-)
+
+diff --git a/evthread.c b/evthread.c
+index 3eac594d64..c2da914da1 100644
+--- a/evthread.c
++++ b/evthread.c
+@@ -74,12 +74,12 @@ evthread_set_id_callback(unsigned long (*id_fn)(void))
+ evthread_id_fn_ = id_fn;
+ }
+
+-struct evthread_lock_callbacks *evthread_get_lock_callbacks()
++struct evthread_lock_callbacks *evthread_get_lock_callbacks(void)
+ {
+ return evthread_lock_debugging_enabled_
+ ? &original_lock_fns_ : &evthread_lock_fns_;
+ }
+-struct evthread_condition_callbacks *evthread_get_condition_callbacks()
++struct evthread_condition_callbacks *evthread_get_condition_callbacks(void)
+ {
+ return evthread_lock_debugging_enabled_
+ ? &original_cond_fns_ : &evthread_cond_fns_;
+diff --git a/strlcpy.c b/strlcpy.c
+index 3876475f5a..04c74298dc 100644
+--- a/strlcpy.c
++++ b/strlcpy.c
+@@ -44,11 +44,7 @@ static char *rcsid = "$OpenBSD: strlcpy.c,v 1.5 2001/05/13 15:40:16 deraadt Exp
+ * will be copied. Always NUL terminates (unless siz == 0).
+ * Returns strlen(src); if retval >= siz, truncation occurred.
+ */
+-size_t
+-event_strlcpy_(dst, src, siz)
+- char *dst;
+- const char *src;
+- size_t siz;
++size_t event_strlcpy_(char *dst, const char *src, size_t siz)
+ {
+ register char *d = dst;
+ register const char *s = src;
+diff --git a/test/regress_buffer.c b/test/regress_buffer.c
+index 5683810e26..b0a9e0c162 100644
+--- a/test/regress_buffer.c
++++ b/test/regress_buffer.c
+@@ -127,19 +127,16 @@ evbuffer_get_waste(struct evbuffer *buf, size_t *allocatedp, size_t *wastedp, si
+ {
+ struct evbuffer_chain *chain;
+ size_t a, w, u;
+- int n = 0;
+ u = a = w = 0;
+
+ chain = buf->first;
+ /* skip empty at start */
+ while (chain && chain->off==0) {
+- ++n;
+ a += chain->buffer_len;
+ chain = chain->next;
+ }
+ /* first nonempty chain: stuff at the end only is wasted. */
+ if (chain) {
+- ++n;
+ a += chain->buffer_len;
+ u += chain->off;
+ if (chain->next && chain->next->off)
+@@ -148,7 +145,6 @@ evbuffer_get_waste(struct evbuffer *buf, size_t *allocatedp, size_t *wastedp, si
+ }
+ /* subsequent nonempty chains */
+ while (chain && chain->off) {
+- ++n;
+ a += chain->buffer_len;
+ w += (size_t)chain->misalign;
+ u += chain->off;
+@@ -158,7 +154,6 @@ evbuffer_get_waste(struct evbuffer *buf, size_t *allocatedp, size_t *wastedp, si
+ }
+ /* subsequent empty chains */
+ while (chain) {
+- ++n;
+ a += chain->buffer_len;
+ }
+ *allocatedp = a;
diff --git a/dev-libs/libevent/files/libevent-2.1.12-libressl.patch b/dev-libs/libevent/files/libevent-2.1.12-libressl.patch
new file mode 100644
index 000000000000..4c809aface12
--- /dev/null
+++ b/dev-libs/libevent/files/libevent-2.1.12-libressl.patch
@@ -0,0 +1,30 @@
+https://bugs.gentoo.org/903001
+https://github.com/libevent/libevent/issues/1277
+https://github.com/libevent/libevent/pull/1227
+https://github.com/libevent/libevent/commit/883630f76cbf512003b81de25cd96cb75c6cf0f9
+
+From 883630f76cbf512003b81de25cd96cb75c6cf0f9 Mon Sep 17 00:00:00 2001
+From: Theo Buehler <tb@openbsd.org>
+Date: Sun, 21 Nov 2021 21:38:20 +0100
+Subject: [PATCH] Don't define BIO_get_init() for LibreSSL 3.5+
+
+BIO_get_init() is available in LibreSSL 3.5 and later. The BIO type
+will become opaque, so the existing macro will break the build.
+---
+ openssl-compat.h | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/openssl-compat.h b/openssl-compat.h
+index a23e34251b..f5de25539f 100644
+--- a/openssl-compat.h
++++ b/openssl-compat.h
+@@ -40,7 +40,8 @@ static inline BIO_METHOD *BIO_meth_new(int type, const char *name)
+ #endif /* (OPENSSL_VERSION_NUMBER < 0x10100000L) || \
+ (defined(LIBRESSL_VERSION_NUMBER) && LIBRESSL_VERSION_NUMBER < 0x20700000L) */
+
+-#if defined(LIBRESSL_VERSION_NUMBER) && LIBRESSL_VERSION_NUMBER >= 0x20700000L
++#if defined(LIBRESSL_VERSION_NUMBER) && LIBRESSL_VERSION_NUMBER >= 0x20700000L && \
++ LIBRESSL_VERSION_NUMBER < 0x30500000L
+ #define BIO_get_init(b) (b)->init
+ #endif
+
diff --git a/dev-libs/libevent/files/libevent-2.2.1-disable-signalfd.patch b/dev-libs/libevent/files/libevent-2.2.1-disable-signalfd.patch
new file mode 100644
index 000000000000..6dfce3db3497
--- /dev/null
+++ b/dev-libs/libevent/files/libevent-2.2.1-disable-signalfd.patch
@@ -0,0 +1,152 @@
+From 594ab34f1dfc73db85e8f95ec51892cadecaa76c Mon Sep 17 00:00:00 2001
+From: Azat Khuzhin <azat@libevent.org>
+Date: Mon, 10 Jul 2023 10:40:49 +0200
+Subject: [PATCH] Disable signalfd by default
+
+signalfd may behave differently to sigaction/signal, so to avoid
+breaking libevent users (like [1], [2]) disable it by default.
+
+ [1]: https://github.com/tmux/tmux/pull/3621
+ [2]: https://github.com/tmux/tmux/pull/3626
+
+Also signalfd is not that perfect:
+- you need to SIG_BLOCK the signal before
+ - blocked signals are not reset on exec
+ - blocked signals are allowed to coalesce - so in case of multiple
+ signals sent you may get the signal only once (ok for most of the
+ signals, but may be a problem for SIGCHLD, though you may call
+ waitpid() in a loop or use pidfd)
+- and also one implementation problem -
+ sigprocmask is unspecified in a multithreaded process
+
+Refs:
+- https://lwn.net/Articles/415684/
+- https://ldpreload.com/blog/signalfd-is-useless
+
+Refs: https://github.com/libevent/libevent/issues/1460
+Refs: #1342 (cc @dmantipov)
+---
+ CMakeLists.txt | 1 +
+ include/event2/event.h | 6 ++++--
+ signalfd.c | 4 ++--
+ test/include.am | 2 ++
+ test/test.sh | 11 +++++++++--
+ 5 files changed, 18 insertions(+), 6 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index cd41d16e57..9c402ec0c1 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -1509,6 +1509,7 @@ if (NOT EVENT__DISABLE_TESTS)
+ else()
+ add_backend_test(${BACKEND} "${BACKEND_ENV_VARS}")
+ endif()
++ add_backend_test(signalfd_${BACKEND} "${BACKEND_ENV_VARS};EVENT_USE_SIGNALFD=1")
+ endforeach()
+
+ #
+diff --git a/include/event2/event.h b/include/event2/event.h
+index 384a84178b..9b971edf1d 100644
+--- a/include/event2/event.h
++++ b/include/event2/event.h
+@@ -599,9 +599,11 @@ enum event_base_config_flag {
+ */
+ EVENT_BASE_FLAG_EPOLL_DISALLOW_TIMERFD = 0x40,
+
+- /** Do not use signalfd(2) to handle signals even if supported.
++ /** Use signalfd(2) to handle signals over sigaction/signal.
++ *
++ * But note, that in some edge cases signalfd() may works differently.
+ */
+- EVENT_BASE_FLAG_DISALLOW_SIGNALFD = 0x80,
++ EVENT_BASE_FLAG_USE_SIGNALFD = 0x80,
+ };
+
+ /**
+diff --git a/signalfd.c b/signalfd.c
+index 376a04d539..ed31014e5f 100644
+--- a/signalfd.c
++++ b/signalfd.c
+@@ -205,8 +205,8 @@ sigfd_del(struct event_base *base, int signo, short old, short events, void *p)
+ int sigfd_init_(struct event_base *base)
+ {
+ EVUTIL_ASSERT(base != NULL);
+- if ((base->flags & EVENT_BASE_FLAG_DISALLOW_SIGNALFD) ||
+- getenv("EVENT_DISALLOW_SIGNALFD"))
++ if (!(base->flags & EVENT_BASE_FLAG_USE_SIGNALFD) &&
++ !getenv("EVENT_USE_SIGNALFD"))
+ return -1;
+ base->evsigsel = &sigfdops;
+ return 0;
+diff --git a/test/include.am b/test/include.am
+index e061c937b7..9b50759da7 100644
+--- a/test/include.am
++++ b/test/include.am
+@@ -80,6 +80,8 @@ test_runner_changelist: $(top_srcdir)/test/test.sh
+ $(top_srcdir)/test/test.sh -b "" -c
+ test_runner_timerfd_changelist: $(top_srcdir)/test/test.sh
+ $(top_srcdir)/test/test.sh -b "" -T
++test_runner_timerfd_changelist: $(top_srcdir)/test/test.sh
++ $(top_srcdir)/test/test.sh -b "" -S
+
+ DISTCLEANFILES += test/regress.gen.c test/regress.gen.h
+
+diff --git a/test/test.sh b/test/test.sh
+index dfdd2bf098..79362888c5 100755
+--- a/test/test.sh
++++ b/test/test.sh
+@@ -50,6 +50,7 @@ setup () {
+ done
+ unset EVENT_EPOLL_USE_CHANGELIST
+ unset EVENT_PRECISE_TIMER
++ unset EVENT_USE_SIGNALFD
+ }
+
+ announce () {
+@@ -138,10 +139,12 @@ do_test() {
+ EVENT_EPOLL_USE_CHANGELIST=yes; export EVENT_EPOLL_USE_CHANGELIST
+ elif test "$2" = "(timerfd)" ; then
+ EVENT_PRECISE_TIMER=1; export EVENT_PRECISE_TIMER
++ elif test "$2" = "(signalfd)" ; then
++ EVENT_USE_SIGNALFD=1; export EVENT_USE_SIGNALFD
+ elif test "$2" = "(timerfd+changelist)" ; then
+ EVENT_EPOLL_USE_CHANGELIST=yes; export EVENT_EPOLL_USE_CHANGELIST
+ EVENT_PRECISE_TIMER=1; export EVENT_PRECISE_TIMER
+- fi
++ fi
+
+ run_tests
+ }
+@@ -153,6 +156,7 @@ usage()
+ -t - run timerfd test
+ -c - run changelist test
+ -T - run timerfd+changelist test
++ -S - run signalfd test
+ EOL
+ }
+ main()
+@@ -161,13 +165,15 @@ main()
+ timerfd=0
+ changelist=0
+ timerfd_changelist=0
++ signalfd=0
+
+- while getopts "b:tcT" c; do
++ while getopts "b:tcTS" c; do
+ case "$c" in
+ b) backends="$OPTARG";;
+ t) timerfd=1;;
+ c) changelist=1;;
+ T) timerfd_changelist=1;;
++ S) signalfd=1;;
+ ?*) usage && exit 1;;
+ esac
+ done
+@@ -179,6 +185,7 @@ main()
+ [ $timerfd_changelist -eq 0 ] || do_test EPOLL "(timerfd+changelist)"
+ for i in $backends; do
+ do_test $i
++ [ $signalfd -eq 0 ] || do_test $i "(signalfd)"
+ done
+
+ if test "$FAILED" = "yes"; then
diff --git a/dev-libs/libevent/libevent-2.1.11.ebuild b/dev-libs/libevent/libevent-2.1.11.ebuild
deleted file mode 100644
index 17b310f4c5ad..000000000000
--- a/dev-libs/libevent/libevent-2.1.11.ebuild
+++ /dev/null
@@ -1,63 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-inherit multilib-minimal
-
-DESCRIPTION="Library to execute a function when a specific event occurs on a file descriptor"
-HOMEPAGE="
- https://libevent.org/
- https://github.com/libevent/libevent/
-"
-SRC_URI="
- https://github.com/${PN}/${PN}/releases/download/release-${PV/_/-}-stable/${P/_/-}-stable.tar.gz -> ${P}.tar.gz
-"
-LICENSE="BSD"
-
-SLOT="0/2.1-7"
-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 ~x64-solaris ~x86-solaris"
-IUSE="debug +ssl static-libs test +threads"
-RESTRICT="!test? ( test )"
-
-DEPEND="
- ssl? (
- >=dev-libs/openssl-1.0.1h-r2:0=[${MULTILIB_USEDEP}]
- )
-"
-RDEPEND="
- ${DEPEND}
- !<=dev-libs/9libs-1.0
-"
-MULTILIB_WRAPPED_HEADERS=(
- /usr/include/event2/event-config.h
-)
-S=${WORKDIR}/${P/_/-}-stable
-
-multilib_src_configure() {
- # fix out-of-source builds
- mkdir -p test || die
-
- ECONF_SOURCE="${S}" \
- econf \
- --disable-samples \
- $(use_enable debug debug-mode) \
- $(use_enable debug malloc-replacement) \
- $(use_enable ssl openssl) \
- $(use_enable static-libs static) \
- $(use_enable test libevent-regress) \
- $(use_enable threads thread-support)
-}
-
-src_test() {
- # The test suite doesn't quite work (see bug #406801 for the latest
- # installment in a riveting series of reports).
- :
- # emake -C test check | tee "${T}"/tests
-}
-
-DOCS=( ChangeLog{,-1.4,-2.0} )
-
-multilib_src_install_all() {
- einstalldocs
- find "${ED}" -name '*.la' -delete || die
-}
diff --git a/dev-libs/libevent/libevent-2.1.12-r1.ebuild b/dev-libs/libevent/libevent-2.1.12-r1.ebuild
new file mode 100644
index 000000000000..89c1bf1ab732
--- /dev/null
+++ b/dev-libs/libevent/libevent-2.1.12-r1.ebuild
@@ -0,0 +1,90 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit libtool multilib-minimal verify-sig
+
+MY_P="${P}-stable"
+DESCRIPTION="Library to execute a function when a specific event occurs on a file descriptor"
+HOMEPAGE="
+ https://libevent.org/
+ https://github.com/libevent/libevent/
+"
+BASE_URI="https://github.com/libevent/libevent/releases/download/release-${MY_P#*-}"
+SRC_URI="
+ ${BASE_URI}/${MY_P}.tar.gz
+ verify-sig? (
+ ${BASE_URI}/${MY_P}.tar.gz.asc
+ )
+"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="BSD"
+SLOT="0/2.1-7"
+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"
+IUSE="
+ +clock-gettime debug malloc-replacement +ssl static-libs test
+ verbose-debug
+"
+RESTRICT="!test? ( test )"
+
+DEPEND="
+ ssl? (
+ >=dev-libs/openssl-1.0.1h-r2:0=[${MULTILIB_USEDEP}]
+ )
+"
+RDEPEND="
+ ${DEPEND}
+ !<=dev-libs/9libs-1.0
+"
+BDEPEND="
+ verify-sig? (
+ sec-keys/openpgp-keys-libevent
+ )
+"
+
+MULTILIB_WRAPPED_HEADERS=(
+ /usr/include/event2/event-config.h
+)
+PATCHES=(
+ "${FILESDIR}"/${P}-clang16.patch #880381
+ "${FILESDIR}"/${P}-libressl.patch #903001
+)
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/libevent.asc
+
+src_prepare() {
+ default
+ # bug #767472
+ elibtoolize
+}
+
+multilib_src_configure() {
+ # fix out-of-source builds
+ mkdir -p test || die
+
+ ECONF_SOURCE="${S}" \
+ econf \
+ $(use_enable clock-gettime) \
+ $(use_enable debug debug-mode) \
+ $(use_enable malloc-replacement malloc-replacement) \
+ $(use_enable ssl openssl) \
+ $(use_enable static-libs static) \
+ $(use_enable test libevent-regress) \
+ $(use_enable verbose-debug) \
+ --disable-samples
+}
+
+src_test() {
+ # The test suite doesn't quite work (see bug #406801 for the latest
+ # installment in a riveting series of reports).
+ :
+ # emake -C test check | tee "${T}"/tests
+}
+
+DOCS=( ChangeLog{,-1.4,-2.0} )
+
+multilib_src_install_all() {
+ einstalldocs
+ find "${ED}" -name '*.la' -delete || die
+}
diff --git a/dev-libs/libevent/libevent-2.1.12.ebuild b/dev-libs/libevent/libevent-2.1.12.ebuild
deleted file mode 100644
index b25c5ebe459e..000000000000
--- a/dev-libs/libevent/libevent-2.1.12.ebuild
+++ /dev/null
@@ -1,75 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit autotools multilib-minimal
-
-DESCRIPTION="Library to execute a function when a specific event occurs on a file descriptor"
-HOMEPAGE="
- https://libevent.org/
- https://github.com/libevent/libevent/
-"
-SRC_URI="
- https://github.com/${PN}/${PN}/releases/download/release-${PV/_/-}-stable/${P/_/-}-stable.tar.gz -> ${P}.tar.gz
-"
-LICENSE="BSD"
-
-SLOT="0/2.1-7"
-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 ~x64-solaris ~x86-solaris"
-IUSE="
- +clock-gettime debug malloc-replacement +ssl static-libs test
- +threads verbose-debug
-"
-RESTRICT="!test? ( test )"
-
-DEPEND="
- ssl? (
- >=dev-libs/openssl-1.0.1h-r2:0=[${MULTILIB_USEDEP}]
- )
-"
-RDEPEND="
- ${DEPEND}
- !<=dev-libs/9libs-1.0
-"
-MULTILIB_WRAPPED_HEADERS=(
- /usr/include/event2/event-config.h
-)
-S=${WORKDIR}/${P/_/-}-stable
-
-src_prepare() {
- default
- # bug #767472
- elibtoolize
-}
-
-multilib_src_configure() {
- # fix out-of-source builds
- mkdir -p test || die
-
- ECONF_SOURCE="${S}" \
- econf \
- $(use_enable clock-gettime) \
- $(use_enable debug debug-mode) \
- $(use_enable malloc-replacement malloc-replacement) \
- $(use_enable ssl openssl) \
- $(use_enable static-libs static) \
- $(use_enable test libevent-regress) \
- $(use_enable threads thread-support) \
- $(use_enable verbose-debug) \
- --disable-samples
-}
-
-src_test() {
- # The test suite doesn't quite work (see bug #406801 for the latest
- # installment in a riveting series of reports).
- :
- # emake -C test check | tee "${T}"/tests
-}
-
-DOCS=( ChangeLog{,-1.4,-2.0} )
-
-multilib_src_install_all() {
- einstalldocs
- find "${ED}" -name '*.la' -delete || die
-}
diff --git a/dev-libs/libevent/libevent-2.1.9999.ebuild b/dev-libs/libevent/libevent-2.1.9999.ebuild
deleted file mode 100644
index 842a86badc67..000000000000
--- a/dev-libs/libevent/libevent-2.1.9999.ebuild
+++ /dev/null
@@ -1,67 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-inherit autotools git-r3 multilib-minimal
-
-DESCRIPTION="Library to execute a function when a specific event occurs on a file descriptor"
-EGIT_BRANCH="patches-$(ver_cut 1-2)"
-EGIT_REPO_URI="https://github.com/libevent/libevent"
-HOMEPAGE="
- https://libevent.org/
- https://github.com/libevent/libevent
-"
-
-LICENSE="BSD"
-# libevent-2.1.so.6
-SLOT="0/2.1-7"
-KEYWORDS=""
-IUSE="
- +clock-gettime debug malloc-replacement +ssl static-libs test
- +threads verbose-debug
-"
-RESTRICT="test"
-
-DEPEND="
- ssl? (
- >=dev-libs/openssl-1.0.1h-r2:0=[${MULTILIB_USEDEP}]
- )
-"
-RDEPEND="
- ${DEPEND}
- !<=dev-libs/9libs-1.0
-"
-
-MULTILIB_WRAPPED_HEADERS=(
- /usr/include/event2/event-config.h
-)
-DOCS=(
- ChangeLog{,-1.4,-2.0}
-)
-
-src_prepare() {
- default
- eautoreconf
-}
-
-multilib_src_configure() {
- # fix out-of-source builds
- mkdir -p test || die
-
- ECONF_SOURCE="${S}" \
- econf \
- $(use_enable clock-gettime) \
- $(use_enable debug debug-mode) \
- $(use_enable malloc-replacement malloc-replacement) \
- $(use_enable ssl openssl) \
- $(use_enable static-libs static) \
- $(use_enable test libevent-regress) \
- $(use_enable threads thread-support) \
- $(use_enable verbose-debug) \
- --disable-samples
-}
-
-multilib_src_install_all() {
- einstalldocs
- find "${ED}" -name '*.la' -delete || die
-}
diff --git a/dev-libs/libevent/libevent-2.2.1-r2.ebuild b/dev-libs/libevent/libevent-2.2.1-r2.ebuild
new file mode 100644
index 000000000000..64aa2bd59b5c
--- /dev/null
+++ b/dev-libs/libevent/libevent-2.2.1-r2.ebuild
@@ -0,0 +1,83 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit multilib-minimal verify-sig
+
+MY_P="${P}-alpha-dev"
+DESCRIPTION="Library to execute a function when a specific event occurs on a file descriptor"
+HOMEPAGE="
+ https://libevent.org/
+ https://github.com/libevent/libevent/
+"
+BASE_URI="https://github.com/libevent/libevent/releases/download/release-${PV}-alpha"
+SRC_URI="
+ ${BASE_URI}/${MY_P}.tar.gz
+ verify-sig? (
+ ${BASE_URI}/${MY_P}.tar.gz.asc
+ )
+"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="BSD"
+SLOT="0/2.2.1-r2"
+KEYWORDS=""
+IUSE="
+ +clock-gettime debug malloc-replacement mbedtls +ssl static-libs
+ test verbose-debug
+"
+# TODO: hangs
+RESTRICT="test"
+
+DEPEND="
+ mbedtls? ( net-libs/mbedtls:=[${MULTILIB_USEDEP}] )
+ ssl? ( >=dev-libs/openssl-1.0.1h-r2:=[${MULTILIB_USEDEP}] )
+"
+RDEPEND="
+ ${DEPEND}
+"
+BDEPEND="
+ verify-sig? (
+ sec-keys/openpgp-keys-libevent
+ )
+"
+
+DOCS=( README.md ChangeLog{,-1.4,-2.0} whatsnew-2.{0,1}.txt )
+MULTILIB_WRAPPED_HEADERS=(
+ /usr/include/event2/event-config.h
+)
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/libevent.asc
+
+PATCHES=(
+ # signalfd-by-default breaks at least app-misc/tmux
+ # https://github.com/libevent/libevent/pull/1486
+ "${FILESDIR}/${P}-disable-signalfd.patch"
+)
+
+multilib_src_configure() {
+ # fix out-of-source builds
+ mkdir -p test || die
+
+ local ECONF_SOURCE="${S}"
+ local myconf=(
+ $(use_enable clock-gettime)
+ $(use_enable debug debug-mode)
+ $(use_enable malloc-replacement malloc-replacement)
+ $(use_enable mbedtls)
+ $(use_enable ssl openssl)
+ $(use_enable static-libs static)
+ $(use_enable test libevent-regress)
+ $(use_enable verbose-debug)
+ --disable-samples
+ )
+ econf "${myconf[@]}"
+
+ # workaround https://github.com/libevent/libevent/issues/1459
+ sed -i -e 's:@CMAKE_DEBUG_POSTFIX@::' *.pc || die
+}
+
+multilib_src_install_all() {
+ einstalldocs
+ find "${ED}" -name '*.la' -delete || die
+}
diff --git a/dev-libs/libevent/libevent-9999.ebuild b/dev-libs/libevent/libevent-9999.ebuild
index c9777c12daf2..471fb8418bef 100644
--- a/dev-libs/libevent/libevent-9999.ebuild
+++ b/dev-libs/libevent/libevent-9999.ebuild
@@ -1,42 +1,39 @@
-# 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 git-r3 multilib-minimal
DESCRIPTION="Library to execute a function when a specific event occurs on a file descriptor"
-EGIT_REPO_URI="https://github.com/libevent/libevent"
HOMEPAGE="
https://libevent.org/
- https://github.com/libevent/libevent
+ https://github.com/libevent/libevent/
"
+EGIT_REPO_URI="https://github.com/libevent/libevent.git"
LICENSE="BSD"
-SLOT="0"
+SLOT="0/2.2"
KEYWORDS=""
IUSE="
+clock-gettime debug malloc-replacement mbedtls +ssl static-libs
- test +threads verbose-debug
+ test verbose-debug
"
+# TODO: hangs
RESTRICT="test"
DEPEND="
- mbedtls? ( net-libs/mbedtls )
- ssl? (
- >=dev-libs/openssl-1.0.1h-r2:0=[${MULTILIB_USEDEP}]
- )
+ mbedtls? ( net-libs/mbedtls:=[${MULTILIB_USEDEP}] )
+ ssl? ( >=dev-libs/openssl-1.0.1h-r2:=[${MULTILIB_USEDEP}] )
"
RDEPEND="
${DEPEND}
- !<=dev-libs/9libs-1.0
"
+DOCS=( README.md ChangeLog{,-1.4,-2.0} whatsnew-2.{0,1}.txt )
MULTILIB_WRAPPED_HEADERS=(
/usr/include/event2/event-config.h
)
-DOCS=(
- ChangeLog{,-1.4,-2.0}
-)
src_prepare() {
default
@@ -47,18 +44,19 @@ multilib_src_configure() {
# fix out-of-source builds
mkdir -p test || die
- ECONF_SOURCE="${S}" \
- econf \
- $(use_enable clock-gettime) \
- $(use_enable debug debug-mode) \
- $(use_enable malloc-replacement malloc-replacement) \
- $(use_enable mbedtls) \
- $(use_enable ssl openssl) \
- $(use_enable static-libs static) \
- $(use_enable test libevent-regress) \
- $(use_enable threads thread-support) \
- $(use_enable verbose-debug) \
+ local ECONF_SOURCE="${S}"
+ local myconf=(
+ $(use_enable clock-gettime)
+ $(use_enable debug debug-mode)
+ $(use_enable malloc-replacement malloc-replacement)
+ $(use_enable mbedtls)
+ $(use_enable ssl openssl)
+ $(use_enable static-libs static)
+ $(use_enable test libevent-regress)
+ $(use_enable verbose-debug)
--disable-samples
+ )
+ econf "${myconf[@]}"
}
multilib_src_install_all() {
diff --git a/dev-libs/libezV24/files/libezV24-0.1.1-clang16-build-fix.patch b/dev-libs/libezV24/files/libezV24-0.1.1-clang16-build-fix.patch
new file mode 100644
index 000000000000..6579fe476c0f
--- /dev/null
+++ b/dev-libs/libezV24/files/libezV24-0.1.1-clang16-build-fix.patch
@@ -0,0 +1,21 @@
+Bug: https://bugs.gentoo.org/895044
+--- a/ezV24.c
++++ b/ezV24.c
+@@ -42,6 +42,7 @@
+ #include <errno.h>
+ #include <termios.h>
+ #include <sys/ioctl.h>
++#include <sys/param.h>
+
+
+ #define __EZV24_C__
+--- a/snprintf.c
++++ b/snprintf.c
+@@ -61,6 +61,7 @@
+
+ /* From: Id: sprint.c,v 1.5 1995/09/10 18:35:09 chuck Exp */
+
++#define _GNU_SOURCE
+ #include <ctype.h>
+ #include <stdlib.h>
+ #include <stdarg.h>
diff --git a/dev-libs/libezV24/libezV24-0.1.1-r1.ebuild b/dev-libs/libezV24/libezV24-0.1.1-r1.ebuild
deleted file mode 100644
index 87307832e6d5..000000000000
--- a/dev-libs/libezV24/libezV24-0.1.1-r1.ebuild
+++ /dev/null
@@ -1,34 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit toolchain-funcs
-
-DESCRIPTION="library that provides an easy API to Linux serial ports"
-HOMEPAGE="http://ezv24.sourceforge.net"
-SRC_URI="mirror://sourceforge/ezv24/${P}.tar.gz"
-
-LICENSE="GPL-2+"
-SLOT="0"
-KEYWORDS="~alpha amd64 ppc sparc x86"
-
-HTML_DOCS=( api-html/. )
-
-PATCHES=(
- "${FILESDIR}"/${P}-build.patch
- "${FILESDIR}"/${P}-test.patch
-)
-
-src_prepare() {
- tc-export AR CC RANLIB
- default
- sed -i -e 's:__LINUX__:__linux__:' *.c *.h || die
-}
-
-src_install() {
- export NO_LDCONFIG="stupid"
- emake DESTDIR="${D}" PREFIX="${EPREFIX}/usr" \
- LIBDIR="${EPREFIX}/usr/$(get_libdir)" install
- einstalldocs
-}
diff --git a/dev-libs/libezV24/libezV24-0.1.1-r2.ebuild b/dev-libs/libezV24/libezV24-0.1.1-r2.ebuild
new file mode 100644
index 000000000000..e17e282ea685
--- /dev/null
+++ b/dev-libs/libezV24/libezV24-0.1.1-r2.ebuild
@@ -0,0 +1,37 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit toolchain-funcs
+
+DESCRIPTION="library that provides an easy API to Linux serial ports"
+HOMEPAGE="http://ezv24.sourceforge.net"
+SRC_URI="mirror://sourceforge/ezv24/${P}.tar.gz"
+
+LICENSE="GPL-2+"
+SLOT="0"
+KEYWORDS="~alpha amd64 ppc sparc x86"
+
+HTML_DOCS=( api-html/. )
+
+PATCHES=(
+ "${FILESDIR}"/${P}-build.patch
+ "${FILESDIR}"/${P}-test.patch
+)
+
+src_prepare() {
+ default
+
+ tc-export AR CC RANLIB
+ sed -i -e 's:__LINUX__:__linux__:' *.c *.h || die
+}
+
+src_install() {
+ export NO_LDCONFIG="stupid"
+ emake DESTDIR="${D}" PREFIX="${EPREFIX}/usr" \
+ LIBDIR="${EPREFIX}/usr/$(get_libdir)" install
+ einstalldocs
+
+ find "${ED}" -name '*.a' -delete || die
+}
diff --git a/dev-libs/libezV24/libezV24-0.1.1-r3.ebuild b/dev-libs/libezV24/libezV24-0.1.1-r3.ebuild
new file mode 100644
index 000000000000..14ae567deeec
--- /dev/null
+++ b/dev-libs/libezV24/libezV24-0.1.1-r3.ebuild
@@ -0,0 +1,38 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit toolchain-funcs
+
+DESCRIPTION="Library that provides an easy API to Linux serial ports"
+HOMEPAGE="https://ezv24.sourceforge.net"
+SRC_URI="mirror://sourceforge/ezv24/${P}.tar.gz"
+
+LICENSE="GPL-2+"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~ppc ~sparc ~x86"
+
+HTML_DOCS=( api-html/. )
+
+PATCHES=(
+ "${FILESDIR}"/${P}-build.patch
+ "${FILESDIR}"/${P}-test.patch
+ "${FILESDIR}"/${P}-clang16-build-fix.patch
+)
+
+src_prepare() {
+ default
+
+ tc-export AR CC RANLIB
+ sed -i -e 's:__LINUX__:__linux__:' *.c *.h || die
+}
+
+src_install() {
+ export NO_LDCONFIG="stupid"
+ emake DESTDIR="${D}" PREFIX="${EPREFIX}/usr" \
+ LIBDIR="${EPREFIX}/usr/$(get_libdir)" install
+ einstalldocs
+
+ find "${ED}" -name '*.a' -delete || die
+}
diff --git a/dev-libs/libf2c/Manifest b/dev-libs/libf2c/Manifest
index 860e613edbe5..982d923a5c3d 100644
--- a/dev-libs/libf2c/Manifest
+++ b/dev-libs/libf2c/Manifest
@@ -1 +1,2 @@
DIST libf2c-20130927.zip 129082 BLAKE2B 09f818bde8888b569858784c39e93a6a11b3103039f44c3f6a1246b29efb5f8ae6e45f787ed0c2216bea383a79b9554aff30e1fbb00668bbc872b4bc30d87ba8 SHA512 1a12093dec3c250f4775eebd06f1a9144fdb956ea3162202fb67569fdd956ac5591bc563a0726ca65ea10d465efaac1c1d8024d63bc4a4b5c88bf46242607c8a
+DIST libf2c-20240130.zip 130671 BLAKE2B 3e8b989064e677d9725a703870b14531ea045b8ef167b11218687def75068c2b59997726acf4c3e5c0b20e024754f9207ffc9354b6feeb46414b59d99e7ec896 SHA512 596bd0017e0c4b61191200a0bc788777585049eb939c528625349404cc8d9bbd0957efecd79077c487fdff5fc7e435189574b2c495cafaa6006dd2585b13960a
diff --git a/dev-libs/libf2c/files/20240130-link-shared-libf2c-correctly.patch b/dev-libs/libf2c/files/20240130-link-shared-libf2c-correctly.patch
new file mode 100644
index 000000000000..9b58139b91a9
--- /dev/null
+++ b/dev-libs/libf2c/files/20240130-link-shared-libf2c-correctly.patch
@@ -0,0 +1,13 @@
+diff --git a/makefile.u b/makefile.u
+index a1cb700..6d5fb78 100644
+--- a/makefile.u
++++ b/makefile.u
+@@ -88,7 +88,7 @@ libf2c.a: $(OFILES)
+ ## arrange for $DYLD_LIBRARY_PATH to include the directory containing libf2c.so.
+
+ libf2c.so: $(OFILES)
+- $(CC) $(LDFLAGS) -shared -o libf2c.so $(OFILES)
++ $(CC) $(LDFLAGS) -shared -Wl,-soname,libf2c.so.2 -o libf2c.so.2 -lm $(OFILES)
+
+ ### If your system lacks ranlib, you don't need it; see README.
+
diff --git a/dev-libs/libf2c/files/libf2c-20240130-fix-buildsystem.patch b/dev-libs/libf2c/files/libf2c-20240130-fix-buildsystem.patch
new file mode 100644
index 000000000000..1398c843507b
--- /dev/null
+++ b/dev-libs/libf2c/files/libf2c-20240130-fix-buildsystem.patch
@@ -0,0 +1,66 @@
+From c398f9cc0504c33de034e68a8d402a5ad301c19f Mon Sep 17 00:00:00 2001
+From: Eli Schwartz <eschwartz93@gmail.com>
+Date: Sun, 10 Mar 2024 17:54:11 -0400
+Subject: [PATCH] import libf2c-20130927-fix-buildsystem.patch and fix up
+
+---
+ makefile.u | 18 +++++++-----------
+ 1 file changed, 7 insertions(+), 11 deletions(-)
+
+diff --git a/makefile.u b/makefile.u
+index a271e5c..e8c8485 100644
+--- a/makefile.u
++++ b/makefile.u
+@@ -12,16 +12,12 @@
+ # -fPIC
+ # to the CFLAGS = line below.
+
+-.SUFFIXES: .c .o
+-CC = cc
+ SHELL = /bin/sh
+-CFLAGS = -O
+
+ # compile, then strip unnecessary symbols
+ .c.o:
+- $(CC) -c -DSkip_f2c_Undefs $(CFLAGS) $*.c
+- ld -r -x -o $*.xxx $*.o
+- mv $*.xxx $*.o
++ $(CC) -c $(CPPFLAGS) $(CFLAGS) -DSkip_f2c_Undefs $< -o $@
++
+ ## Under Solaris (and other systems that do not understand ld -x),
+ ## omit -x in the ld line above.
+ ## If your system does not have the ld command, comment out
+@@ -72,8 +68,8 @@ OFILES = $(MISC) $(POW) $(CX) $(DCX) $(REAL) $(DBL) $(INT) \
+ all: f2c.h signal1.h sysdep1.h libf2c.a
+
+ libf2c.a: $(OFILES)
+- ar r libf2c.a $?
+- -ranlib libf2c.a
++ $(AR) r libf2c.a $?
++ $(RANLIB) libf2c.a
+
+ ## Shared-library variant: the following rule works on Linux
+ ## systems. Details are system-dependent. Under Linux, -fPIC
+@@ -126,7 +122,7 @@ fio.h: fio.h0 sysdep1.h
+
+ install: libf2c.a
+ cp libf2c.a $(LIBDIR)
+- -ranlib $(LIBDIR)/libf2c.a
++ $(RANLIB) $(LIBDIR)/libf2c.a
+
+ clean:
+ rm -f libf2c.a *.o arith.h signal1.h sysdep1.h
+@@ -186,8 +182,8 @@ xwsne.o: lio.h
+ xwsne.o: fmt.h
+
+ arith.h: arithchk.c
+- $(CC) $(CFLAGS) -DNO_FPINIT arithchk.c -lm ||\
+- $(CC) -DNO_LONG_LONG $(CFLAGS) -DNO_FPINIT arithchk.c -lm
++ $(CC) $(CPPFLAGS) $(CFLAGS) -DNO_FPINIT arithchk.c -lm ||\
++ $(CC) -DNO_LONG_LONG $(CPPFLAGS) $(CFLAGS) -DNO_FPINIT arithchk.c -lm
+ ./a.out >arith.h
+ rm -f a.out arithchk.o
+
+--
+2.43.2
+
diff --git a/dev-libs/libf2c/libf2c-20240130.ebuild b/dev-libs/libf2c/libf2c-20240130.ebuild
new file mode 100644
index 000000000000..1d9da1eeca59
--- /dev/null
+++ b/dev-libs/libf2c/libf2c-20240130.ebuild
@@ -0,0 +1,54 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit flag-o-matic toolchain-funcs
+
+DESCRIPTION="Library that converts FORTRAN to C source"
+HOMEPAGE="http://www.netlib.org/f2c/"
+SRC_URI="http://www.netlib.org/f2c/${PN}.zip -> ${P}.zip"
+
+LICENSE="HPND"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="static-libs"
+
+BDEPEND="app-arch/unzip"
+
+S="${WORKDIR}"
+
+PATCHES=(
+ "${FILESDIR}"/20051004-add-ofiles-dep.patch
+ "${FILESDIR}"/20240130-link-shared-libf2c-correctly.patch
+ "${FILESDIR}"/${PN}-20110801-main.patch
+ "${FILESDIR}"/${PN}-20110801-64bit-long.patch
+ "${FILESDIR}"/${PN}-20240130-fix-buildsystem.patch
+)
+
+src_configure() {
+ tc-export AR CC RANLIB
+}
+
+src_compile() {
+ if use static-libs; then
+ emake -f makefile.u all
+ # Clean up files so we can recompile
+ # with -fPIC for the shared lib
+ rm -v *.o || die "clean failed"
+ fi
+
+ append-cflags -fPIC
+ emake -f makefile.u libf2c.so
+}
+
+src_install() {
+ doheader f2c.h
+
+ dolib.so libf2c.so.2
+ dosym libf2c.so.2 /usr/$(get_libdir)/libf2c.so
+ use static-libs && dolib.a libf2c.a
+
+ einstalldocs
+ dodoc Notice
+}
diff --git a/dev-libs/libfastjson/Manifest b/dev-libs/libfastjson/Manifest
index d05dabe0f415..28091ecbe51e 100644
--- a/dev-libs/libfastjson/Manifest
+++ b/dev-libs/libfastjson/Manifest
@@ -1,2 +1 @@
-DIST libfastjson-0.99.8.tar.gz 433819 BLAKE2B f988c01de8e7becc5a848825c18151fec2b80f81eb5b50e459b1a3bb535f5521fb63e9350eb133eb984f57f42c5f529220a0c9461eb4689e1421ad815c4c4d87 SHA512 1e7eb7eaae2c6ccb78b77ac883808e1d311b03bad083dc72ab7712765a2ed139accd762850d60f54c6fe0ad48c4385714818fd2c8ed76700ce3546e5aff1c823
-DIST libfastjson-0.99.9.tar.gz 436502 BLAKE2B 5ed542f373dee2e28c85f8b48e9d35c7727d7e565c691f90caed7a9ac1192814c6371e03bce18dd9765b4251e6a78b7e612eeb38872d2833cd72021d41fb889a SHA512 90505fba033179aa92f12ac5dbbb071f69f3491de5bbbbb46d553b08ac325448459c9e33ba22ef4f9db0bae4496cca60046eebf6325d70b045c1a0a9845b0d48
+DIST libfastjson-1.2304.0.tar.gz 89477 BLAKE2B 2a24ada8f98b837bc4c6983694354615309913eff69f006933441e5a8e9fc58365ca4bd3e03ebdda60e685cefd7e48739f45c49348899150b9b2923f05a709c6 SHA512 a43dc809c0fc073f8bddaebdf91c996ccfc6275d7dcc312762e8dfb366dc121c7698c316b71bd5b43f2f7e9b3c326c90cfa927ce415824a7d32dd5e6667048ab
diff --git a/dev-libs/libfastjson/libfastjson-0.99.8.ebuild b/dev-libs/libfastjson/libfastjson-0.99.8.ebuild
deleted file mode 100644
index d708a382d6a2..000000000000
--- a/dev-libs/libfastjson/libfastjson-0.99.8.ebuild
+++ /dev/null
@@ -1,40 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="6"
-
-inherit autotools
-
-DESCRIPTION="Fork of the json-c library, which is optimized for liblognorm processing"
-HOMEPAGE="https://www.rsyslog.com/tag/libfastjson/"
-SRC_URI="http://download.rsyslog.com/${PN}/${P}.tar.gz"
-LICENSE="MIT"
-SLOT="0/4.2.0"
-KEYWORDS="amd64 arm arm64 ~hppa sparc x86"
-IUSE="static-libs"
-
-DEPEND=">=sys-devel/autoconf-archive-2015.02.04"
-RDEPEND=""
-
-src_prepare() {
- default
-
- eautoreconf
-}
-
-src_configure() {
- local myeconfargs=(
- --enable-compile-warnings=yes
- $(use_enable static-libs static)
- --disable-rdrand
- )
-
- econf "${myeconfargs[@]}"
-}
-
-src_install() {
- local DOCS=( AUTHORS ChangeLog )
- default
-
- find "${ED}"usr/lib* -name '*.la' -delete || die
-}
diff --git a/dev-libs/libfastjson/libfastjson-0.99.9.ebuild b/dev-libs/libfastjson/libfastjson-0.99.9.ebuild
deleted file mode 100644
index e398fef4b3d2..000000000000
--- a/dev-libs/libfastjson/libfastjson-0.99.9.ebuild
+++ /dev/null
@@ -1,40 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="6"
-
-inherit autotools
-
-DESCRIPTION="Fork of the json-c library, which is optimized for liblognorm processing"
-HOMEPAGE="https://www.rsyslog.com/tag/libfastjson/"
-SRC_URI="http://download.rsyslog.com/${PN}/${P}.tar.gz"
-LICENSE="MIT"
-SLOT="0/4.3.0"
-KEYWORDS="amd64 arm arm64 ~hppa sparc x86"
-IUSE="static-libs"
-
-DEPEND=">=sys-devel/autoconf-archive-2015.02.04"
-RDEPEND=""
-
-src_prepare() {
- default
-
- eautoreconf
-}
-
-src_configure() {
- local myeconfargs=(
- --enable-compile-warnings=yes
- $(use_enable static-libs static)
- --disable-rdrand
- )
-
- econf "${myeconfargs[@]}"
-}
-
-src_install() {
- local DOCS=( AUTHORS ChangeLog )
- default
-
- find "${ED}"usr/lib* -name '*.la' -delete || die
-}
diff --git a/dev-libs/libfastjson/libfastjson-1.2304.0.ebuild b/dev-libs/libfastjson/libfastjson-1.2304.0.ebuild
new file mode 100644
index 000000000000..d5089721f711
--- /dev/null
+++ b/dev-libs/libfastjson/libfastjson-1.2304.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 autotools
+
+DESCRIPTION="Fork of the json-c library, which is optimized for liblognorm processing"
+HOMEPAGE="https://www.rsyslog.com/tag/libfastjson/"
+SRC_URI="https://github.com/rsyslog/${PN}/archive/v${PV}.tar.gz
+ -> ${P}.tar.gz"
+LICENSE="MIT"
+SLOT="0/4.3.0"
+KEYWORDS="amd64 arm arm64 ~hppa ~ia64 ~ppc64 ~riscv sparc x86"
+IUSE="static-libs"
+
+BDEPEND=">=dev-build/autoconf-archive-2015.02.04"
+
+DOCS=( AUTHORS ChangeLog )
+
+src_prepare() {
+ default
+ eautoreconf
+}
+
+src_configure() {
+ local -a myconf=(
+ $(use_enable static-libs static)
+ --disable-rdrand
+ --enable-compile-warnings=yes
+ )
+ econf "${myconf[@]}"
+}
+
+src_install() {
+ default
+
+ find "${ED}"/usr/lib* -name '*.la' -delete || die
+}
diff --git a/dev-libs/libfastjson/metadata.xml b/dev-libs/libfastjson/metadata.xml
index 09a879535239..dcbe41f54074 100644
--- a/dev-libs/libfastjson/metadata.xml
+++ b/dev-libs/libfastjson/metadata.xml
@@ -1,16 +1,22 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+
<pkgmetadata>
- <maintainer type="person">
- <email>whissi@gentoo.org</email>
- <name>Thomas Deutschmann</name>
- </maintainer>
- <slots>
- <subslots>Reflect ABI of libfastjson.so.</subslots>
- </slots>
- <upstream>
- <bugs-to>https://github.com/rsyslog/libfastjson/issues</bugs-to>
- <remote-id type="github">rsyslog/libfastjson</remote-id>
- <remote-id type="cpe">cpe:/a:rsyslog:libfastjson</remote-id>
- </upstream>
+ <maintainer type="person">
+ <email>xgqt@gentoo.org</email>
+ <name>Maciej Barć</name>
+ </maintainer>
+ <longdescription>
+ libfastjson project's aim is: to provide a small library with essential
+ JSON handling functions, sufficiently good json support and be very fast in
+ JSON processing.
+ </longdescription>
+ <slots>
+ <subslots>Reflect ABI of libfastjson.so.</subslots>
+ </slots>
+ <upstream>
+ <bugs-to>https://github.com/rsyslog/libfastjson/issues/</bugs-to>
+ <remote-id type="github">rsyslog/libfastjson</remote-id>
+ <remote-id type="cpe">cpe:/a:rsyslog:libfastjson</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/dev-libs/libffi-compat/libffi-compat-3.2.1-r3.ebuild b/dev-libs/libffi-compat/libffi-compat-3.2.1-r3.ebuild
index 7a9ccdf0119b..f50543480cab 100644
--- a/dev-libs/libffi-compat/libffi-compat-3.2.1-r3.ebuild
+++ b/dev-libs/libffi-compat/libffi-compat-3.2.1-r3.ebuild
@@ -10,7 +10,7 @@ SRC_URI="ftp://sourceware.org/pub/libffi/libffi-${PV}.tar.gz"
LICENSE="MIT"
SLOT="6" # libffi.so.6
-KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
IUSE="debug pax-kernel test"
RESTRICT="!test? ( test )"
diff --git a/dev-libs/libffi-compat/libffi-compat-3.3-r2.ebuild b/dev-libs/libffi-compat/libffi-compat-3.3-r2.ebuild
index 7dd6a32f89c1..8ff355662171 100644
--- a/dev-libs/libffi-compat/libffi-compat-3.3-r2.ebuild
+++ b/dev-libs/libffi-compat/libffi-compat-3.3-r2.ebuild
@@ -2,7 +2,8 @@
# Distributed under the terms of the GNU General Public License v2
EAPI=7
-inherit libtool multilib-minimal
+
+inherit multilib-minimal
DESCRIPTION="a portable, high level programming interface to various calling conventions"
HOMEPAGE="https://sourceware.org/libffi/"
@@ -10,7 +11,7 @@ SRC_URI="https://github.com/libffi/libffi/releases/download/v${PV}/libffi-${PV}.
LICENSE="MIT"
SLOT="7" # SONAME=libffi.so.7
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
IUSE="debug pax-kernel test"
RESTRICT="!test? ( test )"
diff --git a/dev-libs/libffi-compat/metadata.xml b/dev-libs/libffi-compat/metadata.xml
index 4b80b4489b85..3315cb9ddac4 100644
--- a/dev-libs/libffi-compat/metadata.xml
+++ b/dev-libs/libffi-compat/metadata.xml
@@ -38,5 +38,6 @@
</use>
<upstream>
<remote-id type="cpe">cpe:/a:libffi_project:libffi</remote-id>
+ <remote-id type="github">libffi/libffi</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-libs/libffi/Manifest b/dev-libs/libffi/Manifest
index 6351b7c81d9d..8500e7a471b4 100644
--- a/dev-libs/libffi/Manifest
+++ b/dev-libs/libffi/Manifest
@@ -1,2 +1,2 @@
-DIST libffi-3.3.tar.gz 1305466 BLAKE2B cddc40729a30a9bd34d675809f51f8d1b4ccaffa54bc6dd6f7e965f4e260edd34754719f9f6247c8957aeb7cf154d56ce1fe16a54c3f1ad39afbebdf41d23caa SHA512 61513801a156f11420f541d325de697131846487122d6bdcf5491b18b4da788589f5c0bb07e88e396495d3be5830d74e9135595e2b8ddbfe95c448d8597fbd6f
-DIST libffi-3.4.2.tar.gz 1351355 BLAKE2B a8137bc895b819f949fd7705e405be627219c6d1fdef280253330f7407d4a548bb057d7bb0e9225d1767d42f9bf5f0ab3c455db1c3470d7cc876bb7b7d55d308 SHA512 31bad35251bf5c0adb998c88ff065085ca6105cf22071b9bd4b5d5d69db4fadf16cadeec9baca944c4bb97b619b035bb8279de8794b922531fddeb0779eb7fb1
+DIST libffi-3.4.4.tar.gz 1362394 BLAKE2B 189fe1ffe9507f204581b0ab09995dc7e7b761bb4eac7e338e9f5ff81431aebcef6c182c1839c9f9acb2706697a260c67e6d1351cf7e2aed7c4eb5d694f6f8fd SHA512 88680aeb0fa0dc0319e5cd2ba45b4b5a340bc9b4bcf20b1e0613b39cd898f177a3863aa94034d8e23a7f6f44d858a53dcd36d1bb8dee13b751ef814224061889
+DIST libffi-3.4.6.tar.gz 1391684 BLAKE2B af8402a09bdbd59b4e9400d2d71bd5ce98f6f1d981d35d1ab40d77a831b13b32c5bd34ca54ff75999e39f0d8a9c066381fae7a8d6c5216d955e064f929f08b88 SHA512 033d2600e879b83c6bce0eb80f69c5f32aa775bf2e962c9d39fbd21226fa19d1e79173d8eaa0d0157014d54509ea73315ad86842356fc3a303c0831c94c6ab39
diff --git a/dev-libs/libffi/files/libffi-3.2.1-o-tmpfile-eacces.patch b/dev-libs/libffi/files/libffi-3.2.1-o-tmpfile-eacces.patch
deleted file mode 100644
index 92a733cbe823..000000000000
--- a/dev-libs/libffi/files/libffi-3.2.1-o-tmpfile-eacces.patch
+++ /dev/null
@@ -1,17 +0,0 @@
-https://bugs.gentoo.org/529044
-
-deploy this workaround until newer versions of the kernel/C library/libsandbox
-are rolled out into general circulation
-
---- a/src/closures.c
-+++ b/src/closures.c
-@@ -301,7 +301,8 @@ open_temp_exec_file_dir (const char *dir)
- #ifdef O_TMPFILE
- fd = open (dir, flags | O_RDWR | O_EXCL | O_TMPFILE, 0700);
- /* If the running system does not support the O_TMPFILE flag then retry without it. */
-- if (fd != -1 || (errno != EINVAL && errno != EISDIR && errno != EOPNOTSUPP)) {
-+ if (fd != -1 || (errno != EINVAL && errno != EISDIR && errno != EOPNOTSUPP &&
-+ errno != EACCES)) {
- return fd;
- } else {
- errno = 0;
diff --git a/dev-libs/libffi/files/libffi-3.3-compiler-vendor-quote.patch b/dev-libs/libffi/files/libffi-3.3-compiler-vendor-quote.patch
deleted file mode 100644
index db5b69ce2db9..000000000000
--- a/dev-libs/libffi/files/libffi-3.3-compiler-vendor-quote.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-https://bugs.gentoo.org/753299
---- a/testsuite/lib/libffi.exp
-+++ b/testsuite/lib/libffi.exp
-@@ -287,9 +287,6 @@ proc libffi-init { args } {
- verbose "libffi $blddirffi"
-
- # Which compiler are we building with?
-- set tmp [grep "$blddirffi/config.log" "^ax_cv_c_compiler_vendor.*$"]
-- regexp -- {^[^=]*=(.*)$} $tmp nil compiler_vendor
--
- if { [string match $compiler_vendor "gnu"] } {
- set gccdir [lookfor_file $tool_root_dir gcc/libgcc.a]
- if {$gccdir != ""} {
---- a/configure.ac
-+++ b/configure.ac
-@@ -59,6 +59,7 @@ fi
- cat > local.exp <<EOF
- set CC_FOR_TARGET "$CC"
- set CXX_FOR_TARGET "$CXX"
-+set compiler_vendor "$ax_cv_c_compiler_vendor"
- EOF
-
- AM_MAINTAINER_MODE
---- a/configure
-+++ b/configure
-@@ -17402,6 +17402,7 @@ fi
- cat > local.exp <<EOF
- set CC_FOR_TARGET "$CC"
- set CXX_FOR_TARGET "$CXX"
-+set compiler_vendor "$ax_cv_c_compiler_vendor"
- EOF
-
-
diff --git a/dev-libs/libffi/files/libffi-3.3-power7-memcpy-2.patch b/dev-libs/libffi/files/libffi-3.3-power7-memcpy-2.patch
deleted file mode 100644
index d9d47acb618f..000000000000
--- a/dev-libs/libffi/files/libffi-3.3-power7-memcpy-2.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-From 6663047f56c2932a6b10a790f4ac6666dd181326 Mon Sep 17 00:00:00 2001
-From: Anthony Green <green@moxielogic.com>
-Date: Fri, 29 Nov 2019 07:00:35 -0500
-Subject: [PATCH] Address platforms with no __int128.
-
----
- src/powerpc/ffi_linux64.c | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/src/powerpc/ffi_linux64.c b/src/powerpc/ffi_linux64.c
-index de0d033..7364770 100644
---- a/src/powerpc/ffi_linux64.c
-+++ b/src/powerpc/ffi_linux64.c
-@@ -547,9 +547,9 @@ ffi_prep_args64 (extended_cif *ecif, unsigned long *const stack)
- if (next_arg.ul == gpr_end.ul)
- next_arg.ul = rest.ul;
- if (vecarg_count < NUM_VEC_ARG_REGISTERS64 && i < nfixedargs)
-- *vec_base.f128++ = **p_argv.f128;
-+ memcpy (vec_base.f128++, *p_argv.f128, sizeof (float128));
- else
-- *next_arg.f128 = **p_argv.f128;
-+ memcpy (next_arg.f128, *p_argv.f128, sizeof (float128));
- if (++next_arg.f128 == gpr_end.f128)
- next_arg.f128 = rest.f128;
- vecarg_count++;
---
-2.26.0
-
diff --git a/dev-libs/libffi/files/libffi-3.3-power7-memcpy.patch b/dev-libs/libffi/files/libffi-3.3-power7-memcpy.patch
deleted file mode 100644
index 91f9a6f60fae..000000000000
--- a/dev-libs/libffi/files/libffi-3.3-power7-memcpy.patch
+++ /dev/null
@@ -1,42 +0,0 @@
-From e50b9ef8b910fa642ef158f6642e60d54d7ad740 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Sat, 7 Dec 2019 02:34:14 -0800
-Subject: [PATCH] powerpc64: Use memcpy to help platforms with no __int128.
- (#534)
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- src/powerpc/ffi_linux64.c | 8 ++++----
- 1 file changed, 4 insertions(+), 4 deletions(-)
-
-diff --git a/src/powerpc/ffi_linux64.c b/src/powerpc/ffi_linux64.c
-index 7364770..4d50878 100644
---- a/src/powerpc/ffi_linux64.c
-+++ b/src/powerpc/ffi_linux64.c
-@@ -680,9 +680,9 @@ ffi_prep_args64 (extended_cif *ecif, unsigned long *const stack)
- {
- if (vecarg_count < NUM_VEC_ARG_REGISTERS64
- && i < nfixedargs)
-- *vec_base.f128++ = *arg.f128++;
-+ memcpy (vec_base.f128++, arg.f128, sizeof (float128));
- else
-- *next_arg.f128 = *arg.f128++;
-+ memcpy (next_arg.f128, arg.f128++, sizeof (float128));
- if (++next_arg.f128 == gpr_end.f128)
- next_arg.f128 = rest.f128;
- vecarg_count++;
-@@ -986,9 +986,9 @@ ffi_closure_helper_LINUX64 (ffi_cif *cif,
- do
- {
- if (pvec < end_pvec && i < nfixedargs)
-- *to.f128 = *pvec++;
-+ memcpy (to.f128, pvec++, sizeof (float128));
- else
-- *to.f128 = *from.f128;
-+ memcpy (to.f128, from.f128, sizeof (float128));
- to.f128++;
- from.f128++;
- }
---
-2.26.0
-
diff --git a/dev-libs/libffi/files/libffi-3.3-power7.patch b/dev-libs/libffi/files/libffi-3.3-power7.patch
deleted file mode 100644
index 83f518f4c2e3..000000000000
--- a/dev-libs/libffi/files/libffi-3.3-power7.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-https://bugs.gentoo.org/701128
-
-From 2138adb2a5b6a0bc2fe3518e0645eacc89b6f392 Mon Sep 17 00:00:00 2001
-From: Sergei Trofimovich <slyfox@gentoo.org>
-Date: Thu, 28 Nov 2019 00:02:42 +0000
-Subject: [PATCH] powerpc: fix build failure on power7 and older
-
-Build failure looks as:
-```
-libtool: compile: powerpc-unknown-linux-gnu-gcc \
- -O2 -mcpu=powerpc -mtune=powerpc -pipe ... -c src/powerpc/ffi.c ...
-In file included from src/powerpc/ffi.c:33:
-src/powerpc/ffi_powerpc.h:65:9: error: '__int128' is not supported on this target
- 65 | typedef __int128 float128;
- | ^~~~~~~~
-```
-
-The fix avoids using __int128 in favour of aligned char[16].
-
-Closes: https://github.com/libffi/libffi/issues/531
-Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
----
- src/powerpc/ffi_powerpc.h | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
---- a/src/powerpc/ffi_powerpc.h
-+++ b/src/powerpc/ffi_powerpc.h
-@@ -62,7 +62,7 @@ typedef _Float128 float128;
- #elif defined(__FLOAT128__)
- typedef __float128 float128;
- #else
--typedef __int128 float128;
-+typedef char float128[16] __attribute__((aligned(16)));
- #endif
-
- void FFI_HIDDEN ffi_closure_SYSV (void);
---
-2.24.0
-
diff --git a/dev-libs/libffi/files/libffi-3.3-ppc-int128.patch b/dev-libs/libffi/files/libffi-3.3-ppc-int128.patch
deleted file mode 100644
index ed53ae99902f..000000000000
--- a/dev-libs/libffi/files/libffi-3.3-ppc-int128.patch
+++ /dev/null
@@ -1,63 +0,0 @@
-From 4f9e20ac51ce13d46fed3c869e1deb6d9bb89444 Mon Sep 17 00:00:00 2001
-From: Andrew Geissler <geissonator@users.noreply.github.com>
-Date: Fri, 1 May 2020 06:58:30 -0500
-Subject: [PATCH] ffi_powerpc.h: fix build failure with powerpc7 (#561)
-
-This is a patch pulled down from the following:
-https://github.com/buildroot/buildroot/blob/78926f610b1411b03464152472fd430012deb9ac/package/libffi/0004-ffi_powerpc.h-fix-build-failure-with-powerpc7.patch
-
-This issue is being hit on OpenBMC code when pulling the latest
-libffi tag and building on a P8 ppc64le machine. I verified this
-patch fixes the issue we are seeing.
-
-Below is the original commit message:
-
-Sicne commit 73dd43afc8a447ba98ea02e9aad4c6898dc77fb0, build on powerpc7
-fails on:
-
-In file included from ../src/powerpc/ffi.c:33:0:
-../src/powerpc/ffi_powerpc.h:61:9: error: '_Float128' is not supported on this target
- typedef _Float128 float128;
- ^~~~~~~~~
-
-Fix this build failure by checking for __HAVE_FLOAT128 before using
-_Float128, as _Float128 is enabled only on specific conditions, see
-output/host/powerpc64-buildroot-linux-gnu/sysroot/usr/include/bits/floatn.h:
-
- /* Defined to 1 if the current compiler invocation provides a
- floating-point type with the IEEE 754 binary128 format, and this glibc
- includes corresponding *f128 interfaces for it. */
- #if defined _ARCH_PWR8 && defined __LITTLE_ENDIAN__ && (_CALL_ELF == 2) \
- && defined __FLOAT128__ && !defined __NO_LONG_DOUBLE_MATH
- # define __HAVE_FLOAT128 1
- #else
- # define __HAVE_FLOAT128 0
- #endif
-
-Fixes:
- - http://autobuild.buildroot.org/results/5c9dd8fb3b6a128882b6250f197c80232d8a3b53
-
-Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
-Signed-off-by: Andrew Geissler <geissonator@yahoo.com>
-
-Co-authored-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
----
- src/powerpc/ffi_powerpc.h | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/powerpc/ffi_powerpc.h b/src/powerpc/ffi_powerpc.h
-index 8e2f2f0..960a5c4 100644
---- a/src/powerpc/ffi_powerpc.h
-+++ b/src/powerpc/ffi_powerpc.h
-@@ -57,7 +57,7 @@ typedef union
- double d;
- } ffi_dblfl;
-
--#if defined(__FLOAT128_TYPE__)
-+#if defined(__FLOAT128_TYPE__) && defined(__HAVE_FLOAT128)
- typedef _Float128 float128;
- #elif defined(__FLOAT128__)
- typedef __float128 float128;
---
-2.27.0
-
diff --git a/dev-libs/libffi/files/libffi-3.3-ppc-vector-offset.patch b/dev-libs/libffi/files/libffi-3.3-ppc-vector-offset.patch
deleted file mode 100644
index 4bcd27e4f152..000000000000
--- a/dev-libs/libffi/files/libffi-3.3-ppc-vector-offset.patch
+++ /dev/null
@@ -1,53 +0,0 @@
-From 4d6d2866ae43e55325e8ee96561221804602cd7a Mon Sep 17 00:00:00 2001
-From: Samuel Holland <samuel@sholland.org>
-Date: Fri, 21 Feb 2020 21:06:15 -0600
-Subject: [PATCH] Update powerpc sysv assembly for ffi_powerpc.h changes (#541)
-
-Some of the flag bits were moved when adding powerpc64 vector support.
-
-Fixes #536
----
- src/powerpc/sysv.S | 12 +++++-------
- 1 file changed, 5 insertions(+), 7 deletions(-)
-
-diff --git a/src/powerpc/sysv.S b/src/powerpc/sysv.S
-index 1474ce7..df97734 100644
---- a/src/powerpc/sysv.S
-+++ b/src/powerpc/sysv.S
-@@ -104,17 +104,16 @@ ENTRY(ffi_call_SYSV)
- bctrl
-
- /* Now, deal with the return value. */
-- mtcrf 0x01,%r31 /* cr7 */
-+ mtcrf 0x03,%r31 /* cr6-cr7 */
- bt- 31,L(small_struct_return_value)
- bt- 30,L(done_return_value)
- #ifndef __NO_FPRS__
- bt- 29,L(fp_return_value)
- #endif
- stw %r3,0(%r30)
-- bf+ 28,L(done_return_value)
-+ bf+ 27,L(done_return_value)
- stw %r4,4(%r30)
-- mtcrf 0x02,%r31 /* cr6 */
-- bf 27,L(done_return_value)
-+ bf 26,L(done_return_value)
- stw %r5,8(%r30)
- stw %r6,12(%r30)
- /* Fall through... */
-@@ -145,10 +144,9 @@ L(done_return_value):
- #ifndef __NO_FPRS__
- L(fp_return_value):
- .cfi_restore_state
-- bf 28,L(float_return_value)
-+ bf 27,L(float_return_value)
- stfd %f1,0(%r30)
-- mtcrf 0x02,%r31 /* cr6 */
-- bf 27,L(done_return_value)
-+ bf 26,L(done_return_value)
- stfd %f2,8(%r30)
- b L(done_return_value)
- L(float_return_value):
---
-2.27.0
-
diff --git a/dev-libs/libffi/files/libffi-3.3_rc0-ppc-macos-go.patch b/dev-libs/libffi/files/libffi-3.3_rc0-ppc-macos-go.patch
deleted file mode 100644
index 88f9b4557657..000000000000
--- a/dev-libs/libffi/files/libffi-3.3_rc0-ppc-macos-go.patch
+++ /dev/null
@@ -1,79 +0,0 @@
-ffi_darwin: use FFI_GO_CLOSURES guard to avoid unsolvable dependencies
-
-The go calls depend on compilation and link-time signatures and symbols
-which are missing because they aren't build due to FFO_GO_CLOSURES not
-being set.
-
-Signed-off-by: Fabian Groffen <grobian@gentoo.org>
-
---- a/src/powerpc/ffi_darwin.c 2018-04-02 14:21:51.000000000 +0200
-+++ b/src/powerpc/ffi_darwin.c 2018-12-10 13:57:26.000000000 +0100
-@@ -909,8 +909,10 @@
- extern void ffi_call_AIX(extended_cif *, long, unsigned, unsigned *,
- void (*fn)(void), void (*fn2)(void));
-
-+#if FFI_GO_CLOSURES
- extern void ffi_call_go_AIX(extended_cif *, long, unsigned, unsigned *,
- void (*fn)(void), void (*fn2)(void), void *closure);
-+#endif
-
- extern void ffi_call_DARWIN(extended_cif *, long, unsigned, unsigned *,
- void (*fn)(void), void (*fn2)(void), ffi_type*);
-@@ -950,6 +952,7 @@
- }
- }
-
-+#if FFI_GO_CLOSURES
- void
- ffi_call_go (ffi_cif *cif, void (*fn) (void), void *rvalue, void **avalue,
- void *closure)
-@@ -981,6 +984,7 @@
- break;
- }
- }
-+#endif
-
- static void flush_icache(char *);
- static void flush_range(char *, int);
-@@ -1110,6 +1114,7 @@
- return FFI_OK;
- }
-
-+#if FFI_GO_CLOSURES
- ffi_status
- ffi_prep_go_closure (ffi_go_closure* closure,
- ffi_cif* cif,
-@@ -1133,6 +1138,7 @@
- }
- return FFI_OK;
- }
-+#endif
-
- static void
- flush_icache(char *addr)
-@@ -1168,9 +1174,11 @@
- ffi_closure_helper_DARWIN (ffi_closure *, void *,
- unsigned long *, ffi_dblfl *);
-
-+#if FFI_GO_CLOSURES
- ffi_type *
- ffi_go_closure_helper_DARWIN (ffi_go_closure*, void *,
- unsigned long *, ffi_dblfl *);
-+#endif
-
- /* Basically the trampoline invokes ffi_closure_ASM, and on
- entry, r11 holds the address of the closure.
-@@ -1430,6 +1438,7 @@
- closure->user_data, rvalue, pgr, pfr);
- }
-
-+#if FFI_GO_CLOSURES
- ffi_type *
- ffi_go_closure_helper_DARWIN (ffi_go_closure *closure, void *rvalue,
- unsigned long *pgr, ffi_dblfl *pfr)
-@@ -1437,4 +1446,5 @@
- return ffi_closure_helper_common (closure->cif, closure->fun,
- closure, rvalue, pgr, pfr);
- }
-+#endif
-
diff --git a/dev-libs/libffi/files/libffi-3.4.4-hppa-closure-function-ptrs.patch b/dev-libs/libffi/files/libffi-3.4.4-hppa-closure-function-ptrs.patch
new file mode 100644
index 000000000000..065f35e7c4c2
--- /dev/null
+++ b/dev-libs/libffi/files/libffi-3.4.4-hppa-closure-function-ptrs.patch
@@ -0,0 +1,170 @@
+https://github.com/libffi/libffi/commit/e58e22b22386ed0e0a95e97eb8eed016e3f01b02
+
+From e58e22b22386ed0e0a95e97eb8eed016e3f01b02 Mon Sep 17 00:00:00 2001
+From: Anthony Green <green@moxielogic.com>
+Date: Thu, 2 Feb 2023 07:02:53 -0500
+Subject: [PATCH] From Dave Anglin:
+
+A couple of years ago the 32-bit hppa targets were converted from using a trampoline executed on the stack to the function descriptor technique used by ia64. This is more efficient and avoids having to have an executable stack. However, function pointers on 32-bit need the PLABEL bit set in the pointer. It distinguishes between pointers that point directly to the executable code and pointer that point to a function descriptor. We need the later for libffi. But as a result, it is not possible to convert using casts data pointers to function pointers.
+
+The solution at the time was to set the PLABEL bit in hppa closure pointers using FFI_CLOSURE_PTR. However, I realized recently that this was a bad choice. Packages like python-cffi allocate their own closure pointers, so this isn't going to work well there.
+
+A better solution is to leave closure pointers unchanged and only set the PLABEL bit in pointers used to point to executable code.
+
+The attached patch drops the FFI_CLOSURE_PTR and FFI_RESTORE_PTR defines. This allows some cleanup in the hppa closure routines. The FFI_FN define is now used to set the PLABEL bit on hppa. ffi_closure_alloc is modified to set the PLABEL bit in the value set in *code.
+
+I also added a FFI_CL define to convert a function pointer to a closure pointer. It is only used in one test case.
+--- a/include/ffi.h.in
++++ b/include/ffi.h.in
+@@ -361,14 +361,6 @@ typedef struct {
+ FFI_API void *ffi_closure_alloc (size_t size, void **code);
+ FFI_API void ffi_closure_free (void *);
+
+-#if defined(PA_LINUX) || defined(PA_HPUX)
+-#define FFI_CLOSURE_PTR(X) ((void *)((unsigned int)(X) | 2))
+-#define FFI_RESTORE_PTR(X) ((void *)((unsigned int)(X) & ~3))
+-#else
+-#define FFI_CLOSURE_PTR(X) (X)
+-#define FFI_RESTORE_PTR(X) (X)
+-#endif
+-
+ FFI_API ffi_status
+ ffi_prep_closure (ffi_closure*,
+ ffi_cif *,
+@@ -515,8 +507,14 @@ FFI_API
+ ffi_status ffi_get_struct_offsets (ffi_abi abi, ffi_type *struct_type,
+ size_t *offsets);
+
+-/* Useful for eliminating compiler warnings. */
++/* Convert between closure and function pointers. */
++#if defined(PA_LINUX) || defined(PA_HPUX)
++#define FFI_FN(f) ((void (*)(void))((unsigned int)(f) | 2))
++#define FFI_CL(f) ((void *)((unsigned int)(f) & ~3))
++#else
+ #define FFI_FN(f) ((void (*)(void))f)
++#define FFI_CL(f) ((void *)(f))
++#endif
+
+ /* ---- Definitions shared with assembly code ---------------------------- */
+
+--- a/src/closures.c
++++ b/src/closures.c
+@@ -993,23 +993,23 @@ ffi_closure_alloc (size_t size, void **code)
+ if (!code)
+ return NULL;
+
+- ptr = FFI_CLOSURE_PTR (dlmalloc (size));
++ ptr = dlmalloc (size);
+
+ if (ptr)
+ {
+ msegmentptr seg = segment_holding (gm, ptr);
+
+- *code = add_segment_exec_offset (ptr, seg);
++ *code = FFI_FN (add_segment_exec_offset (ptr, seg));
+ if (!ffi_tramp_is_supported ())
+ return ptr;
+
+ ftramp = ffi_tramp_alloc (0);
+ if (ftramp == NULL)
+ {
+- dlfree (FFI_RESTORE_PTR (ptr));
++ dlfree (ptr);
+ return NULL;
+ }
+- *code = ffi_tramp_get_addr (ftramp);
++ *code = FFI_FN (ffi_tramp_get_addr (ftramp));
+ ((ffi_closure *) ptr)->ftramp = ftramp;
+ }
+
+@@ -1050,7 +1050,7 @@ ffi_closure_free (void *ptr)
+ if (ffi_tramp_is_supported ())
+ ffi_tramp_free (((ffi_closure *) ptr)->ftramp);
+
+- dlfree (FFI_RESTORE_PTR (ptr));
++ dlfree (ptr);
+ }
+
+ int
+@@ -1070,16 +1070,20 @@ ffi_tramp_is_present (void *ptr)
+ void *
+ ffi_closure_alloc (size_t size, void **code)
+ {
++ void *c;
++
+ if (!code)
+ return NULL;
+
+- return *code = FFI_CLOSURE_PTR (malloc (size));
++ c = malloc (size);
++ *code = FFI_FN (c);
++ return c;
+ }
+
+ void
+ ffi_closure_free (void *ptr)
+ {
+- free (FFI_RESTORE_PTR (ptr));
++ free (ptr);
+ }
+
+ void *
+--- a/src/pa/ffi.c
++++ b/src/pa/ffi.c
+@@ -445,7 +445,6 @@ ffi_status ffi_closure_inner_pa32(ffi_closure *closure, UINT32 *stack)
+ int i, avn;
+ unsigned int slot = FIRST_ARG_SLOT;
+ register UINT32 r28 asm("r28");
+- ffi_closure *c = (ffi_closure *)FFI_RESTORE_PTR (closure);
+
+ cif = closure->cif;
+
+@@ -548,7 +547,7 @@ ffi_status ffi_closure_inner_pa32(ffi_closure *closure, UINT32 *stack)
+ }
+
+ /* Invoke the closure. */
+- (c->fun) (cif, rvalue, avalue, c->user_data);
++ (closure->fun) (cif, rvalue, avalue, closure->user_data);
+
+ debug(3, "after calling function, ret[0] = %08x, ret[1] = %08x\n", u.ret[0],
+ u.ret[1]);
+@@ -649,8 +648,6 @@ ffi_prep_closure_loc (ffi_closure* closure,
+ void *user_data,
+ void *codeloc)
+ {
+- ffi_closure *c = (ffi_closure *)FFI_RESTORE_PTR (closure);
+-
+ /* The layout of a function descriptor. A function pointer with the PLABEL
+ bit set points to a function descriptor. */
+ struct pa32_fd
+@@ -676,14 +673,14 @@ ffi_prep_closure_loc (ffi_closure* closure,
+ fd = (struct pa32_fd *)((UINT32)ffi_closure_pa32 & ~3);
+
+ /* Setup trampoline. */
+- tramp = (struct ffi_pa32_trampoline_struct *)c->tramp;
++ tramp = (struct ffi_pa32_trampoline_struct *)closure->tramp;
+ tramp->code_pointer = fd->code_pointer;
+ tramp->fake_gp = (UINT32)codeloc & ~3;
+ tramp->real_gp = fd->gp;
+
+- c->cif = cif;
+- c->user_data = user_data;
+- c->fun = fun;
++ closure->cif = cif;
++ closure->user_data = user_data;
++ closure->fun = fun;
+
+ return FFI_OK;
+ }
+--- a/testsuite/libffi.closures/closure_loc_fn0.c
++++ b/testsuite/libffi.closures/closure_loc_fn0.c
+@@ -85,7 +85,7 @@ int main (void)
+
+ #ifndef FFI_EXEC_STATIC_TRAMP
+ /* With static trampolines, the codeloc does not point to closure */
+- CHECK(memcmp(pcl, codeloc, sizeof(*pcl)) == 0);
++ CHECK(memcmp(pcl, FFI_CL(codeloc), sizeof(*pcl)) == 0);
+ #endif
+
+ res = (*((closure_loc_test_type0)codeloc))
+
diff --git a/dev-libs/libffi/files/libffi-3.4.4-hppa-jump-table.patch b/dev-libs/libffi/files/libffi-3.4.4-hppa-jump-table.patch
new file mode 100644
index 000000000000..822a7eb893ec
--- /dev/null
+++ b/dev-libs/libffi/files/libffi-3.4.4-hppa-jump-table.patch
@@ -0,0 +1,289 @@
+https://github.com/libffi/libffi/commit/222abd0c65babe2174b21753217145f5031a8b91
+
+From 222abd0c65babe2174b21753217145f5031a8b91 Mon Sep 17 00:00:00 2001
+From: Anthony Green <green@moxielogic.com>
+Date: Thu, 2 Feb 2023 07:04:55 -0500
+Subject: [PATCH] From Dave Anglin:
+
+This patch is derived from the work done in implementing libffi for 64-bit hppa64-hpux target. Currently, the 32-bit hppa targets do a linear search for the return type of an ffi_call. This is slow and inefficient. A jump table can used to jump directly to the code used to process the return value. In most common cases, the return value can be processed in the jump table itself.
+
+The patch also fixes return handling for FFI_TYPE_UINT8, FFI_TYPE_SINT8, FFI_TYPE_UINT16 and FFI_TYPE_SINT16.
+--- a/src/pa/ffi.c
++++ b/src/pa/ffi.c
+@@ -56,27 +56,12 @@ static inline int ffi_struct_type(ffi_type *t)
+ size_t sz = t->size;
+
+ /* Small structure results are passed in registers,
+- larger ones are passed by pointer. Note that
+- small structures of size 2, 4 and 8 differ from
+- the corresponding integer types in that they have
+- different alignment requirements. */
+-
+- if (sz <= 1)
+- return FFI_TYPE_UINT8;
+- else if (sz == 2)
+- return FFI_TYPE_SMALL_STRUCT2;
+- else if (sz == 3)
+- return FFI_TYPE_SMALL_STRUCT3;
+- else if (sz == 4)
+- return FFI_TYPE_SMALL_STRUCT4;
+- else if (sz == 5)
+- return FFI_TYPE_SMALL_STRUCT5;
+- else if (sz == 6)
+- return FFI_TYPE_SMALL_STRUCT6;
+- else if (sz == 7)
+- return FFI_TYPE_SMALL_STRUCT7;
+- else if (sz <= 8)
+- return FFI_TYPE_SMALL_STRUCT8;
++ larger ones are passed by pointer. Note that small
++ structures differ from the corresponding integer
++ types in that they have different alignment requirements. */
++
++ if (sz <= 8)
++ return -sz;
+ else
+ return FFI_TYPE_STRUCT; /* else, we pass it by pointer. */
+ }
+@@ -556,16 +541,16 @@ ffi_status ffi_closure_inner_pa32(ffi_closure *closure, UINT32 *stack)
+ switch (cif->flags)
+ {
+ case FFI_TYPE_UINT8:
+- *(stack - FIRST_ARG_SLOT) = (UINT8)(u.ret[0] >> 24);
++ *(stack - FIRST_ARG_SLOT) = (UINT8)u.ret[0];
+ break;
+ case FFI_TYPE_SINT8:
+- *(stack - FIRST_ARG_SLOT) = (SINT8)(u.ret[0] >> 24);
++ *(stack - FIRST_ARG_SLOT) = (SINT8)u.ret[0];
+ break;
+ case FFI_TYPE_UINT16:
+- *(stack - FIRST_ARG_SLOT) = (UINT16)(u.ret[0] >> 16);
++ *(stack - FIRST_ARG_SLOT) = (UINT16)u.ret[0];
+ break;
+ case FFI_TYPE_SINT16:
+- *(stack - FIRST_ARG_SLOT) = (SINT16)(u.ret[0] >> 16);
++ *(stack - FIRST_ARG_SLOT) = (SINT16)u.ret[0];
+ break;
+ case FFI_TYPE_INT:
+ case FFI_TYPE_SINT32:
+@@ -590,6 +575,7 @@ ffi_status ffi_closure_inner_pa32(ffi_closure *closure, UINT32 *stack)
+ /* Don't need a return value, done by caller. */
+ break;
+
++ case FFI_TYPE_SMALL_STRUCT1:
+ case FFI_TYPE_SMALL_STRUCT2:
+ case FFI_TYPE_SMALL_STRUCT3:
+ case FFI_TYPE_SMALL_STRUCT4:
+--- a/src/pa/ffitarget.h
++++ b/src/pa/ffitarget.h
+@@ -73,11 +73,22 @@ typedef enum ffi_abi {
+ #define FFI_TRAMPOLINE_SIZE 12
+ #endif
+
+-#define FFI_TYPE_SMALL_STRUCT2 -1
+-#define FFI_TYPE_SMALL_STRUCT3 -2
+-#define FFI_TYPE_SMALL_STRUCT4 -3
+-#define FFI_TYPE_SMALL_STRUCT5 -4
+-#define FFI_TYPE_SMALL_STRUCT6 -5
+-#define FFI_TYPE_SMALL_STRUCT7 -6
+-#define FFI_TYPE_SMALL_STRUCT8 -7
++#define FFI_TYPE_SMALL_STRUCT1 -1
++#define FFI_TYPE_SMALL_STRUCT2 -2
++#define FFI_TYPE_SMALL_STRUCT3 -3
++#define FFI_TYPE_SMALL_STRUCT4 -4
++#define FFI_TYPE_SMALL_STRUCT5 -5
++#define FFI_TYPE_SMALL_STRUCT6 -6
++#define FFI_TYPE_SMALL_STRUCT7 -7
++#define FFI_TYPE_SMALL_STRUCT8 -8
++
++/* linux.S and hpux32.S expect FFI_TYPE_COMPLEX is the last generic type. */
++#define FFI_PA_TYPE_LAST FFI_TYPE_COMPLEX
++
++/* If new generic types are added, the jump tables in linux.S and hpux32.S
++ likely need updating. */
++#if FFI_TYPE_LAST != FFI_PA_TYPE_LAST
++# error "You likely have broken jump tables"
++#endif
++
+ #endif
+
+--- a/src/pa/linux.S
++++ b/src/pa/linux.S
+@@ -103,51 +103,103 @@ ffi_call_pa32:
+
+ /* Prepare to store the result; we need to recover flags and rvalue. */
+ ldw -48(%r3), %r21 /* r21 <- flags */
+- ldw -52(%r3), %r20 /* r20 <- rvalue */
+
+- /* Store the result according to the return type. */
++ /* Adjust flags range from [-8, 15] to [0, 23]. */
++ addi 8, %r21, %r21
+
+-.Lcheckint:
+- comib,<>,n FFI_TYPE_INT, %r21, .Lcheckint8
+- b .Ldone
+- stw %ret0, 0(%r20)
++ blr %r21, %r0
++ ldw -52(%r3), %r20 /* r20 <- rvalue */
+
+-.Lcheckint8:
+- comib,<>,n FFI_TYPE_UINT8, %r21, .Lcheckint16
++ /* Giant jump table */
++ /* 8-byte small struct */
++ b,n .Lsmst8
++ nop
++ /* 7-byte small struct */
++ b,n .Lsmst7
++ nop
++ /* 6-byte small struct */
++ b,n .Lsmst6
++ nop
++ /* 5-byte small struct */
++ b,n .Lsmst5
++ nop
++ /* 4-byte small struct */
++ b,n .Lsmst4
++ nop
++ /* 3-byte small struct */
++ b,n .Lsmst3
++ nop
++ /* 2-byte small struct */
++ b,n .Lsmst2
++ nop
++ /* 1-byte small struct */
+ b .Ldone
+ stb %ret0, 0(%r20)
+-
+-.Lcheckint16:
+- comib,<>,n FFI_TYPE_UINT16, %r21, .Lcheckdbl
++ /* void */
++ b,n .Ldone
++ nop
++ /* int */
+ b .Ldone
+- sth %ret0, 0(%r20)
+-
+-.Lcheckdbl:
+- comib,<>,n FFI_TYPE_DOUBLE, %r21, .Lcheckfloat
++ stw %ret0, 0(%r20)
++ /* float */
++ b .Ldone
++ fstw %fr4L,0(%r20)
++ /* double */
+ b .Ldone
+ fstd %fr4,0(%r20)
+-
+-.Lcheckfloat:
+- comib,<>,n FFI_TYPE_FLOAT, %r21, .Lcheckll
++ /* long double */
+ b .Ldone
+- fstw %fr4L,0(%r20)
++ fstd %fr4,0(%r20)
++ /* unsigned int8 */
++ b .Ldone
++ stw %ret0, 0(%r20)
++ /* sint8 */
++ b .Ldone
++ stw %ret0, 0(%r20)
++ /* unsigned int16 */
++ b .Ldone
++ stw %ret0, 0(%r20)
++ /* sint16 */
++ b .Ldone
++ stw %ret0, 0(%r20)
++ /* unsigned int32 */
++ b .Ldone
++ stw %ret0, 0(%r20)
++ /* sint32 */
++ b .Ldone
++ stw %ret0, 0(%r20)
++ /* unsigned int64 */
++ b,n .Luint64
++ nop
++ /* signed int64 */
++ b,n .Lsint64
++ nop
++ /* large struct */
++ b,n .Ldone
++ nop
++ /* pointer */
++ b .Ldone
++ stw %ret0, 0(%r20)
++ /* complex */
++ b,n .Ldone
++ nop
++
++ /* Store the result according to the return type. */
+
+-.Lcheckll:
+- comib,<>,n FFI_TYPE_UINT64, %r21, .Lchecksmst2
++.Luint64:
++.Lsint64:
+ stw %ret0, 0(%r20)
+ b .Ldone
+ stw %ret1, 4(%r20)
+
+-.Lchecksmst2:
+- comib,<>,n FFI_TYPE_SMALL_STRUCT2, %r21, .Lchecksmst3
++.Lsmst2:
+ /* 2-byte structs are returned in ret0 as ????xxyy. */
+ extru %ret0, 23, 8, %r22
+ stbs,ma %r22, 1(%r20)
+ b .Ldone
+ stb %ret0, 0(%r20)
+
+-.Lchecksmst3:
+- comib,<>,n FFI_TYPE_SMALL_STRUCT3, %r21, .Lchecksmst4
++.Lsmst3:
+ /* 3-byte structs are returned in ret0 as ??xxyyzz. */
+ extru %ret0, 15, 8, %r22
+ stbs,ma %r22, 1(%r20)
+@@ -156,8 +208,7 @@ ffi_call_pa32:
+ b .Ldone
+ stb %ret0, 0(%r20)
+
+-.Lchecksmst4:
+- comib,<>,n FFI_TYPE_SMALL_STRUCT4, %r21, .Lchecksmst5
++.Lsmst4:
+ /* 4-byte structs are returned in ret0 as wwxxyyzz. */
+ extru %ret0, 7, 8, %r22
+ stbs,ma %r22, 1(%r20)
+@@ -168,8 +219,7 @@ ffi_call_pa32:
+ b .Ldone
+ stb %ret0, 0(%r20)
+
+-.Lchecksmst5:
+- comib,<>,n FFI_TYPE_SMALL_STRUCT5, %r21, .Lchecksmst6
++.Lsmst5:
+ /* 5 byte values are returned right justified:
+ ret0 ret1
+ 5: ??????aa bbccddee */
+@@ -183,8 +233,7 @@ ffi_call_pa32:
+ b .Ldone
+ stb %ret1, 0(%r20)
+
+-.Lchecksmst6:
+- comib,<>,n FFI_TYPE_SMALL_STRUCT6, %r21, .Lchecksmst7
++.Lsmst6:
+ /* 6 byte values are returned right justified:
+ ret0 ret1
+ 6: ????aabb ccddeeff */
+@@ -200,8 +249,7 @@ ffi_call_pa32:
+ b .Ldone
+ stb %ret1, 0(%r20)
+
+-.Lchecksmst7:
+- comib,<>,n FFI_TYPE_SMALL_STRUCT7, %r21, .Lchecksmst8
++.Lsmst7:
+ /* 7 byte values are returned right justified:
+ ret0 ret1
+ 7: ??aabbcc ddeeffgg */
+@@ -219,8 +267,7 @@ ffi_call_pa32:
+ b .Ldone
+ stb %ret1, 0(%r20)
+
+-.Lchecksmst8:
+- comib,<>,n FFI_TYPE_SMALL_STRUCT8, %r21, .Ldone
++.Lsmst8:
+ /* 8 byte values are returned right justified:
+ ret0 ret1
+ 8: aabbccdd eeffgghh */
diff --git a/dev-libs/libffi/files/libffi-3.4.4-hppa-large-struct.patch b/dev-libs/libffi/files/libffi-3.4.4-hppa-large-struct.patch
new file mode 100644
index 000000000000..aaf4af368432
--- /dev/null
+++ b/dev-libs/libffi/files/libffi-3.4.4-hppa-large-struct.patch
@@ -0,0 +1,36 @@
+https://github.com/libffi/libffi/commit/c50c16d0bcb58952840184aa83e62c6d912bf779
+
+From c50c16d0bcb58952840184aa83e62c6d912bf779 Mon Sep 17 00:00:00 2001
+From: Anthony Green <green@moxielogic.com>
+Date: Sun, 20 Nov 2022 12:20:40 -0500
+Subject: [PATCH] Fix large struct passing on PA-RISC
+
+--- a/src/pa/ffi.c
++++ b/src/pa/ffi.c
+@@ -376,10 +376,26 @@ extern void ffi_call_pa32(void (*)(UINT32 *, extended_cif *, unsigned),
+ void ffi_call(ffi_cif *cif, void (*fn)(void), void *rvalue, void **avalue)
+ {
+ extended_cif ecif;
++ size_t i, nargs = cif->nargs;
++ ffi_type **arg_types = cif->arg_types;
+
+ ecif.cif = cif;
+ ecif.avalue = avalue;
+
++ /* If we have any large structure arguments, make a copy so we are passing
++ by value. */
++ for (i = 0; i < nargs; i++)
++ {
++ ffi_type *at = arg_types[i];
++ int size = at->size;
++ if (at->type == FFI_TYPE_STRUCT && size > 8)
++ {
++ char *argcopy = alloca (size);
++ memcpy (argcopy, avalue[i], size);
++ avalue[i] = argcopy;
++ }
++ }
++
+ /* If the return value is a struct and we don't have a return
+ value address then we need to make one. */
+
diff --git a/dev-libs/libffi/files/libffi-3.4.4-lld-17.patch b/dev-libs/libffi/files/libffi-3.4.4-lld-17.patch
new file mode 100644
index 000000000000..8e87814b23bf
--- /dev/null
+++ b/dev-libs/libffi/files/libffi-3.4.4-lld-17.patch
@@ -0,0 +1,34 @@
+https://bugs.gentoo.org/915086
+https://github.com/libffi/libffi/pull/800
+
+From 65f6869fd74630a9252ef89971b725b921f17061 Mon Sep 17 00:00:00 2001
+From: Alfred Wingate <parona@protonmail.com>
+Date: Tue, 10 Oct 2023 06:32:02 +0300
+Subject: [PATCH] Put optional symbols behind ifdefs
+
+Signed-off-by: Alfred Wingate <parona@protonmail.com>
+--- a/libffi.map.in
++++ b/libffi.map.in
+@@ -33,7 +33,10 @@ LIBFFI_BASE_8.0 {
+ ffi_raw_to_ptrarray;
+ ffi_raw_size;
+
++#if !FFI_NATIVE_RAW_API
+ ffi_java_raw_call;
++#endif
++
+ ffi_java_ptrarray_to_raw;
+ ffi_java_raw_to_ptrarray;
+ ffi_java_raw_size;
+@@ -62,8 +65,10 @@ LIBFFI_CLOSURE_8.0 {
+ ffi_prep_closure_loc;
+ ffi_prep_raw_closure;
+ ffi_prep_raw_closure_loc;
++#if !FFI_NATIVE_RAW_API
+ ffi_prep_java_raw_closure;
+ ffi_prep_java_raw_closure_loc;
++#endif
+ } LIBFFI_BASE_8.0;
+ #endif
+
+
diff --git a/dev-libs/libffi/files/libffi-3.4.4-sparc-float-typo.patch b/dev-libs/libffi/files/libffi-3.4.4-sparc-float-typo.patch
new file mode 100644
index 000000000000..3768df62df9f
--- /dev/null
+++ b/dev-libs/libffi/files/libffi-3.4.4-sparc-float-typo.patch
@@ -0,0 +1,28 @@
+https://github.com/libffi/libffi/issues/778
+https://bugs.gentoo.org/882071
+
+Fix incorrect type for passing floats. Thanks to Petr Sumbera and Richard Henderson
+for figuring it out on the upstream bug.
+--- a/src/sparc/ffi64.c
++++ b/src/sparc/ffi64.c
+@@ -382,13 +382,19 @@ ffi_prep_args_v9(ffi_cif *cif, unsigned long *argp, void *rvalue, void **avalue)
+ *argp++ = *(SINT32 *)a;
+ break;
+ case FFI_TYPE_UINT32:
+- case FFI_TYPE_FLOAT:
+ *argp++ = *(UINT32 *)a;
+ break;
+ case FFI_TYPE_SINT64:
+ case FFI_TYPE_UINT64:
+ case FFI_TYPE_POINTER:
++ *argp++ = *(UINT64 *)a;
++ break;
++ case FFI_TYPE_FLOAT:
++ flags |= SPARC_FLAG_FP_ARGS;
++ *argp++ = *(UINT32 *)a;
++ break;
+ case FFI_TYPE_DOUBLE:
++ flags |= SPARC_FLAG_FP_ARGS;
+ *argp++ = *(UINT64 *)a;
+ break;
+
diff --git a/dev-libs/libffi/files/libffi-3.4.4-trampoline-c99.patch b/dev-libs/libffi/files/libffi-3.4.4-trampoline-c99.patch
new file mode 100644
index 000000000000..a7728331135e
--- /dev/null
+++ b/dev-libs/libffi/files/libffi-3.4.4-trampoline-c99.patch
@@ -0,0 +1,39 @@
+https://github.com/libffi/libffi/issues/760
+https://github.com/libffi/libffi/commit/ce077e5565366171aa1b4438749b0922fce887a4
+
+From ce077e5565366171aa1b4438749b0922fce887a4 Mon Sep 17 00:00:00 2001
+From: serge-sans-paille <serge.guelton@telecom-bretagne.eu>
+Date: Thu, 2 Feb 2023 14:46:29 +0000
+Subject: [PATCH] Forward declare open_temp_exec_file (#764)
+
+It's defined in closures.c and used in tramp.c.
+Also declare it as an hidden symbol, as it should be.
+
+Co-authored-by: serge-sans-paille <sguelton@mozilla.com>
+--- a/include/ffi_common.h
++++ b/include/ffi_common.h
+@@ -128,6 +128,10 @@ void *ffi_data_to_code_pointer (void *data) FFI_HIDDEN;
+ static trampoline. */
+ int ffi_tramp_is_present (void *closure) FFI_HIDDEN;
+
++/* Return a file descriptor of a temporary zero-sized file in a
++ writable and executable filesystem. */
++int open_temp_exec_file(void) FFI_HIDDEN;
++
+ /* Extended cif, used in callback from assembly routine */
+ typedef struct
+ {
+--- a/src/tramp.c
++++ b/src/tramp.c
+@@ -39,6 +39,10 @@
+ #ifdef __linux__
+ #define _GNU_SOURCE 1
+ #endif
++
++#include <ffi.h>
++#include <ffi_common.h>
++
+ #include <stdio.h>
+ #include <unistd.h>
+ #include <stdlib.h>
+
diff --git a/dev-libs/libffi/libffi-3.3-r2.ebuild b/dev-libs/libffi/libffi-3.3-r2.ebuild
deleted file mode 100644
index 3d1f2530f8fe..000000000000
--- a/dev-libs/libffi/libffi-3.3-r2.ebuild
+++ /dev/null
@@ -1,74 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-inherit multilib-minimal
-
-MY_PV=${PV/_rc/-rc}
-MY_P=${PN}-${MY_PV}
-
-DESCRIPTION="a portable, high level programming interface to various calling conventions"
-HOMEPAGE="https://sourceware.org/libffi/"
-SRC_URI="https://github.com/libffi/libffi/releases/download/v${MY_PV}/${MY_P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0/7" # SONAME=libffi.so.7
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-IUSE="debug pax-kernel static-libs test"
-
-RESTRICT="!test? ( test )"
-
-RDEPEND=""
-DEPEND=""
-BDEPEND="test? ( dev-util/dejagnu )"
-
-DOCS="ChangeLog* README.md"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-3.2.1-o-tmpfile-eacces.patch #529044
- "${FILESDIR}"/${PN}-3.3_rc0-ppc-macos-go.patch
- "${FILESDIR}"/${PN}-3.3-power7.patch
- "${FILESDIR}"/${PN}-3.3-power7-memcpy.patch
- "${FILESDIR}"/${PN}-3.3-power7-memcpy-2.patch
- "${FILESDIR}"/${PN}-3.3-ppc-int128.patch
- "${FILESDIR}"/${PN}-3.3-ppc-vector-offset.patch
- "${FILESDIR}"/${PN}-3.3-compiler-vendor-quote.patch
-)
-
-S=${WORKDIR}/${MY_P}
-
-ECONF_SOURCE=${S}
-
-src_prepare() {
- default
- if [[ ${CHOST} == arm64-*-darwin* ]] ; then
- # ensure we use aarch64 asm, not x86 on arm64
- sed -i -e 's/aarch64\*-\*-\*/arm64*-*-*|&/' \
- configure configure.host || die
- fi
-}
-
-multilib_src_configure() {
- # --includedir= path maintains a few properties:
- # 1. have stable name across libffi versions: some packages like
- # dev-lang/ghc or kde-frameworks/networkmanager-qt embed
- # ${includedir} at build-time. Don't require those to be
- # rebuilt unless SONAME changes. bug #695788
- #
- # We use /usr/.../${PN} (instead of former /usr/.../${P}).
- #
- # 2. have ${ABI}-specific location as ffi.h is target-dependent.
- #
- # We use /usr/$(get_libdir)/... to have ABI identifier.
- econf \
- --includedir="${EPREFIX}"/usr/$(get_libdir)/${PN}/include \
- --disable-multi-os-directory \
- $(use_enable static-libs static) \
- $(use_enable pax-kernel pax_emutramp) \
- $(use_enable debug)
-}
-
-multilib_src_install_all() {
- find "${ED}" -name "*.la" -delete || die
- einstalldocs
-}
diff --git a/dev-libs/libffi/libffi-3.4.2-r1.ebuild b/dev-libs/libffi/libffi-3.4.2-r1.ebuild
deleted file mode 100644
index 492d9b34c625..000000000000
--- a/dev-libs/libffi/libffi-3.4.2-r1.ebuild
+++ /dev/null
@@ -1,73 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit multilib-minimal preserve-libs
-
-MY_PV=${PV/_rc/-rc}
-MY_P=${PN}-${MY_PV}
-
-DESCRIPTION="a portable, high level programming interface to various calling conventions"
-HOMEPAGE="https://sourceware.org/libffi/"
-SRC_URI="https://github.com/libffi/libffi/releases/download/v${MY_PV}/${MY_P}.tar.gz"
-S="${WORKDIR}"/${MY_P}
-
-LICENSE="MIT"
-# This is a core package which is depended on by e.g. Python
-# Please use preserve-libs.eclass in pkg_{pre,post}inst to cover users
-# with FEATURES="-preserved-libs" or another package manager if SONAME
-# changes.
-SLOT="0/8" # SONAME=libffi.so.8
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-IUSE="debug exec-static-trampoline pax-kernel static-libs test"
-
-RESTRICT="!test? ( test )"
-BDEPEND="test? ( dev-util/dejagnu )"
-
-DOCS="ChangeLog* README.md"
-
-ECONF_SOURCE=${S}
-
-src_prepare() {
- default
- if [[ ${CHOST} == arm64-*-darwin* ]] ; then
- # ensure we use aarch64 asm, not x86 on arm64
- sed -i -e 's/aarch64\*-\*-\*/arm64*-*-*|&/' \
- configure configure.host || die
- fi
-}
-
-multilib_src_configure() {
- # --includedir= path maintains a few properties:
- # 1. have stable name across libffi versions: some packages like
- # dev-lang/ghc or kde-frameworks/networkmanager-qt embed
- # ${includedir} at build-time. Don't require those to be
- # rebuilt unless SONAME changes. bug #695788
- #
- # We use /usr/.../${PN} (instead of former /usr/.../${P}).
- #
- # 2. have ${ABI}-specific location as ffi.h is target-dependent.
- #
- # We use /usr/$(get_libdir)/... to have ABI identifier.
- econf \
- --includedir="${EPREFIX}"/usr/$(get_libdir)/${PN}/include \
- --disable-multi-os-directory \
- $(use_enable static-libs static) \
- $(use_enable exec-static-trampoline exec-static-tramp) \
- $(use_enable pax-kernel pax_emutramp) \
- $(use_enable debug)
-}
-
-multilib_src_install_all() {
- find "${ED}" -name "*.la" -delete || die
- einstalldocs
-}
-
-pkg_preinst() {
- preserve_old_lib /usr/$(get_libdir)/libffi.so.7
-}
-
-pkg_postinst() {
- preserve_old_lib_notify /usr/$(get_libdir)/libffi.so.7
-}
diff --git a/dev-libs/libffi/libffi-3.4.4-r3.ebuild b/dev-libs/libffi/libffi-3.4.4-r3.ebuild
new file mode 100644
index 000000000000..835adbe61215
--- /dev/null
+++ b/dev-libs/libffi/libffi-3.4.4-r3.ebuild
@@ -0,0 +1,82 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit multilib-minimal preserve-libs
+
+MY_PV=${PV/_rc/-rc}
+MY_P=${PN}-${MY_PV}
+
+DESCRIPTION="Portable, high level programming interface to various calling conventions"
+HOMEPAGE="https://sourceware.org/libffi/"
+SRC_URI="https://github.com/libffi/libffi/releases/download/v${MY_PV}/${MY_P}.tar.gz"
+S="${WORKDIR}"/${MY_P}
+
+LICENSE="MIT"
+# This is a core package which is depended on by e.g. Python
+# Please use preserve-libs.eclass in pkg_{pre,post}inst to cover users
+# with FEATURES="-preserved-libs" or another package manager if SONAME
+# changes.
+SLOT="0/8" # SONAME=libffi.so.8
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+IUSE="debug exec-static-trampoline pax-kernel static-libs test"
+
+RESTRICT="!test? ( test )"
+BDEPEND="test? ( dev-util/dejagnu )"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-hppa-large-struct.patch
+ "${FILESDIR}"/${P}-hppa-closure-function-ptrs.patch
+ "${FILESDIR}"/${P}-hppa-jump-table.patch
+ "${FILESDIR}"/${P}-sparc-float-typo.patch
+ "${FILESDIR}"/${P}-lld-17.patch
+)
+
+src_prepare() {
+ default
+
+ if [[ ${CHOST} == arm64-*-darwin* ]] ; then
+ # ensure we use aarch64 asm, not x86 on arm64
+ sed -i -e 's/aarch64\*-\*-\*/arm64*-*-*|&/' \
+ configure configure.host || die
+ fi
+}
+
+multilib_src_configure() {
+ # --includedir= path maintains a few properties:
+ # 1. have stable name across libffi versions: some packages like
+ # dev-lang/ghc or kde-frameworks/networkmanager-qt embed
+ # ${includedir} at build-time. Don't require those to be
+ # rebuilt unless SONAME changes. bug #695788
+ #
+ # We use /usr/.../${PN} (instead of former /usr/.../${P}).
+ #
+ # 2. have ${ABI}-specific location as ffi.h is target-dependent.
+ #
+ # We use /usr/$(get_libdir)/... to have ABI identifier.
+ ECONF_SOURCE="${S}" econf \
+ --includedir="${EPREFIX}"/usr/$(get_libdir)/${PN}/include \
+ --disable-multi-os-directory \
+ $(use_enable static-libs static) \
+ $(use_enable exec-static-trampoline exec-static-tramp) \
+ $(use_enable pax-kernel pax_emutramp) \
+ $(use_enable debug)
+}
+
+multilib_src_test() {
+ emake -Onone check
+}
+
+multilib_src_install_all() {
+ einstalldocs
+ find "${ED}" -name "*.la" -delete || die
+}
+
+pkg_preinst() {
+ preserve_old_lib /usr/$(get_libdir)/libffi.so.7
+}
+
+pkg_postinst() {
+ preserve_old_lib_notify /usr/$(get_libdir)/libffi.so.7
+}
diff --git a/dev-libs/libffi/libffi-3.4.4-r4.ebuild b/dev-libs/libffi/libffi-3.4.4-r4.ebuild
new file mode 100644
index 000000000000..a80f5a73f9d6
--- /dev/null
+++ b/dev-libs/libffi/libffi-3.4.4-r4.ebuild
@@ -0,0 +1,83 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit multilib-minimal preserve-libs
+
+MY_PV=${PV/_rc/-rc}
+MY_P=${PN}-${MY_PV}
+
+DESCRIPTION="Portable, high level programming interface to various calling conventions"
+HOMEPAGE="https://sourceware.org/libffi/"
+SRC_URI="https://github.com/libffi/libffi/releases/download/v${MY_PV}/${MY_P}.tar.gz"
+S="${WORKDIR}"/${MY_P}
+
+LICENSE="MIT"
+# This is a core package which is depended on by e.g. Python
+# Please use preserve-libs.eclass in pkg_{pre,post}inst to cover users
+# with FEATURES="-preserved-libs" or another package manager if SONAME
+# changes.
+SLOT="0/8" # SONAME=libffi.so.8
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+IUSE="debug exec-static-trampoline pax-kernel static-libs test"
+
+RESTRICT="!test? ( test )"
+BDEPEND="test? ( dev-util/dejagnu )"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-hppa-large-struct.patch
+ "${FILESDIR}"/${P}-hppa-closure-function-ptrs.patch
+ "${FILESDIR}"/${P}-hppa-jump-table.patch
+ "${FILESDIR}"/${P}-sparc-float-typo.patch
+ "${FILESDIR}"/${P}-lld-17.patch
+ "${FILESDIR}"/${P}-trampoline-c99.patch
+)
+
+src_prepare() {
+ default
+
+ if [[ ${CHOST} == arm64-*-darwin* ]] ; then
+ # ensure we use aarch64 asm, not x86 on arm64
+ sed -i -e 's/aarch64\*-\*-\*/arm64*-*-*|&/' \
+ configure configure.host || die
+ fi
+}
+
+multilib_src_configure() {
+ # --includedir= path maintains a few properties:
+ # 1. have stable name across libffi versions: some packages like
+ # dev-lang/ghc or kde-frameworks/networkmanager-qt embed
+ # ${includedir} at build-time. Don't require those to be
+ # rebuilt unless SONAME changes. bug #695788
+ #
+ # We use /usr/.../${PN} (instead of former /usr/.../${P}).
+ #
+ # 2. have ${ABI}-specific location as ffi.h is target-dependent.
+ #
+ # We use /usr/$(get_libdir)/... to have ABI identifier.
+ ECONF_SOURCE="${S}" econf \
+ --includedir="${EPREFIX}"/usr/$(get_libdir)/${PN}/include \
+ --disable-multi-os-directory \
+ $(use_enable static-libs static) \
+ $(use_enable exec-static-trampoline exec-static-tramp) \
+ $(use_enable pax-kernel pax_emutramp) \
+ $(use_enable debug)
+}
+
+multilib_src_test() {
+ emake -Onone check
+}
+
+multilib_src_install_all() {
+ einstalldocs
+ find "${ED}" -name "*.la" -delete || die
+}
+
+pkg_preinst() {
+ preserve_old_lib /usr/$(get_libdir)/libffi.so.7
+}
+
+pkg_postinst() {
+ preserve_old_lib_notify /usr/$(get_libdir)/libffi.so.7
+}
diff --git a/dev-libs/libffi/libffi-3.4.6.ebuild b/dev-libs/libffi/libffi-3.4.6.ebuild
new file mode 100644
index 000000000000..999a90fa9eaa
--- /dev/null
+++ b/dev-libs/libffi/libffi-3.4.6.ebuild
@@ -0,0 +1,73 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit multilib-minimal preserve-libs
+
+MY_PV=${PV/_rc/-rc}
+MY_P=${PN}-${MY_PV}
+
+DESCRIPTION="Portable, high level programming interface to various calling conventions"
+HOMEPAGE="https://sourceware.org/libffi/"
+SRC_URI="https://github.com/libffi/libffi/releases/download/v${MY_PV}/${MY_P}.tar.gz"
+S="${WORKDIR}"/${MY_P}
+
+LICENSE="MIT"
+# This is a core package which is depended on by e.g. Python.
+# Please use preserve-libs.eclass in pkg_{pre,post}inst to cover users
+# with FEATURES="-preserved-libs" or another package manager if SONAME changes.
+SLOT="0/8" # SONAME=libffi.so.8
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+IUSE="debug exec-static-trampoline pax-kernel static-libs test"
+
+RESTRICT="!test? ( test )"
+BDEPEND="test? ( dev-util/dejagnu )"
+
+src_prepare() {
+ default
+
+ if [[ ${CHOST} == arm64-*-darwin* ]] ; then
+ # ensure we use aarch64 asm, not x86 on arm64
+ sed -i -e 's/aarch64\*-\*-\*/arm64*-*-*|&/' \
+ configure configure.host || die
+ fi
+}
+
+multilib_src_configure() {
+ # --includedir= path maintains a few properties:
+ # 1. have stable name across libffi versions: some packages like
+ # dev-lang/ghc or kde-frameworks/networkmanager-qt embed
+ # ${includedir} at build-time. Don't require those to be
+ # rebuilt unless SONAME changes. bug #695788
+ #
+ # We use /usr/.../${PN} (instead of former /usr/.../${P}).
+ #
+ # 2. have ${ABI}-specific location as ffi.h is target-dependent.
+ #
+ # We use /usr/$(get_libdir)/... to have ABI identifier.
+ ECONF_SOURCE="${S}" econf \
+ --includedir="${EPREFIX}"/usr/$(get_libdir)/${PN}/include \
+ --disable-multi-os-directory \
+ $(use_enable static-libs static) \
+ $(use_enable exec-static-trampoline exec-static-tramp) \
+ $(use_enable pax-kernel pax_emutramp) \
+ $(use_enable debug)
+}
+
+multilib_src_test() {
+ emake -Onone check
+}
+
+multilib_src_install_all() {
+ einstalldocs
+ find "${ED}" -name "*.la" -delete || die
+}
+
+pkg_preinst() {
+ preserve_old_lib /usr/$(get_libdir)/libffi.so.7
+}
+
+pkg_postinst() {
+ preserve_old_lib_notify /usr/$(get_libdir)/libffi.so.7
+}
diff --git a/dev-libs/libffi/metadata.xml b/dev-libs/libffi/metadata.xml
index 53754327cd3f..aa5aa78f433f 100644
--- a/dev-libs/libffi/metadata.xml
+++ b/dev-libs/libffi/metadata.xml
@@ -39,5 +39,6 @@
</use>
<upstream>
<remote-id type="cpe">cpe:/a:libffi_project:libffi</remote-id>
+ <remote-id type="github">libffi/libffi</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-libs/libfido2/Manifest b/dev-libs/libfido2/Manifest
index 748b32b10e7b..d0c8c47b5505 100644
--- a/dev-libs/libfido2/Manifest
+++ b/dev-libs/libfido2/Manifest
@@ -1,2 +1 @@
-DIST libfido2-1.8.0.tar.gz 535947 BLAKE2B 48ca29fc1b582b4c915ce3dac2b3c24b1c71b144681f77f13059a599eb5e38b263442abecacad495e28a6fea63fc98c142a32939bb49a521b6a6a8d4ad0f1ff0 SHA512 dbea52a80068323e9945ef7a6e93ab1438bc4347390fc91694a94669900d4ce4abe95e1b6df90fe8b6b2dde6b5d28d9dc0c6b022c24ccb661f28c30c33417999
-DIST libfido2-1.9.0.tar.gz 576088 BLAKE2B 19d2933178011aebf11b44e12550518937b204a40b781ade565bd2852de6d1bbb88dda90f612e852e4561b7a9db6927df9d0a9f0b4c511208f3ab648b2cf1a9f SHA512 99edf9c52a871ed5dc3ab41ac07ca8a22670e7527c48ed69c096f001651e1e714bc3f1f55e22003cb66670fa4e851095834c2acd0e5b31887fad46bfb9f4b089
+DIST libfido2-1.13.0.tar.gz 652777 BLAKE2B 506e0ecf89825e313fbcb0de59ef0b1a3aab483013f959b391448da0600979780ae76807639231ab8a60eead039471bba707073ec4e259b611d67031ac7713f1 SHA512 90f8452cee4c9cc72241478e697c5c692ccff5ab27752f2f296c3623ee297d1f80a85a359b4d0656c67790084c116aac921894e762eb52d3a79056e5014c03e7
diff --git a/dev-libs/libfido2/files/libfido2-1.12.0-cmakelists.patch b/dev-libs/libfido2/files/libfido2-1.12.0-cmakelists.patch
new file mode 100644
index 000000000000..48dac6268342
--- /dev/null
+++ b/dev-libs/libfido2/files/libfido2-1.12.0-cmakelists.patch
@@ -0,0 +1,35 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index dc31cc0..81528d9 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -272,7 +272,6 @@ else()
+
+ add_compile_options(-Wall)
+ add_compile_options(-Wextra)
+- add_compile_options(-Werror)
+ add_compile_options(-Wshadow)
+ add_compile_options(-Wcast-qual)
+ add_compile_options(-Wwrite-strings)
+@@ -280,7 +279,6 @@ else()
+ add_compile_options(-Wbad-function-cast)
+ add_compile_options(-Wimplicit-fallthrough)
+ add_compile_options(-pedantic)
+- add_compile_options(-pedantic-errors)
+
+ set(EXTRA_CFLAGS "-Wconversion -Wsign-conversion")
+
+diff --git a/man/CMakeLists.txt b/man/CMakeLists.txt
+index cf32a3a..4aa6005 100644
+--- a/man/CMakeLists.txt
++++ b/man/CMakeLists.txt
+@@ -4,10 +4,8 @@
+ # SPDX-License-Identifier: BSD-2-Clause
+
+ find_program(MANDOC_PATH mandoc)
+-find_program(GZIP_PATH gzip)
+
+ message(STATUS "MANDOC_PATH: ${MANDOC_PATH}")
+-message(STATUS "GZIP_PATH: ${GZIP_PATH}")
+
+ list(APPEND MAN_SOURCES
+ eddsa_pk_new.3
diff --git a/dev-libs/libfido2/files/libfido2-1.7.0-cmakelists.patch b/dev-libs/libfido2/files/libfido2-1.7.0-cmakelists.patch
deleted file mode 100644
index 2a1bfc1614db..000000000000
--- a/dev-libs/libfido2/files/libfido2-1.7.0-cmakelists.patch
+++ /dev/null
@@ -1,30 +0,0 @@
---- libfido2-1.7.0/CMakeLists.txt
-+++ libfido2-1.7.0/CMakeLists.txt
-@@ -246,14 +246,12 @@
-
- add_compile_options(-Wall)
- add_compile_options(-Wextra)
-- add_compile_options(-Werror)
- add_compile_options(-Wshadow)
- add_compile_options(-Wcast-qual)
- add_compile_options(-Wwrite-strings)
- add_compile_options(-Wmissing-prototypes)
- add_compile_options(-Wbad-function-cast)
- add_compile_options(-pedantic)
-- add_compile_options(-pedantic-errors)
-
- if(HAVE_SHORTEN_64_TO_32)
- add_compile_options(-Wshorten-64-to-32)
---- libfido2-1.7.0/man/CMakeLists.txt
-+++ libfido2-1.7.0/man/CMakeLists.txt
-@@ -3,10 +3,8 @@
- # license that can be found in the LICENSE file.
-
- find_program(MANDOC_PATH mandoc)
--find_program(GZIP_PATH gzip)
-
- message(STATUS "MANDOC_PATH: ${MANDOC_PATH}")
--message(STATUS "GZIP_PATH: ${GZIP_PATH}")
-
- list(APPEND MAN_SOURCES
- eddsa_pk_new.3
diff --git a/dev-libs/libfido2/libfido2-1.13.0.ebuild b/dev-libs/libfido2/libfido2-1.13.0.ebuild
new file mode 100644
index 000000000000..19f692463f20
--- /dev/null
+++ b/dev-libs/libfido2/libfido2-1.13.0.ebuild
@@ -0,0 +1,64 @@
+# Copyright 2022-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake udev linux-info
+
+DESCRIPTION="Provides library functionality for FIDO 2.0"
+HOMEPAGE="https://github.com/Yubico/libfido2"
+SRC_URI="https://github.com/Yubico/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="BSD-2"
+SLOT="0/1"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
+IUSE="nfc static-libs"
+
+DEPEND="
+ dev-libs/libcbor:=
+ dev-libs/openssl:=
+ sys-libs/zlib:=
+ virtual/libudev:=
+"
+RDEPEND="
+ ${DEPEND}
+ acct-group/plugdev
+"
+BDEPEND="app-text/mandoc"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-1.12.0-cmakelists.patch
+)
+
+pkg_pretend() {
+ CONFIG_CHECK="
+ ~USB_HID
+ ~HIDRAW
+ "
+
+ check_extra_config
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DBUILD_EXAMPLES=OFF
+ -DBUILD_STATIC_LIBS=$(usex static-libs)
+ -DNFC_LINUX=$(usex nfc)
+ )
+
+ cmake_src_configure
+}
+
+src_install() {
+ cmake_src_install
+
+ udev_newrules udev/70-u2f.rules 70-libfido2-u2f.rules
+}
+
+pkg_postinst() {
+ udev_reload
+}
+
+pkg_postrm() {
+ udev_reload
+}
diff --git a/dev-libs/libfido2/libfido2-1.8.0.ebuild b/dev-libs/libfido2/libfido2-1.8.0.ebuild
deleted file mode 100644
index c736e0198436..000000000000
--- a/dev-libs/libfido2/libfido2-1.8.0.ebuild
+++ /dev/null
@@ -1,54 +0,0 @@
-# Copyright 2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit cmake udev linux-info
-
-DESCRIPTION="Provides library functionality for FIDO 2.0"
-HOMEPAGE="https://github.com/Yubico/libfido2"
-SRC_URI="https://github.com/Yubico/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="BSD-2"
-SLOT="0/1"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~m68k ppc ppc64 ~riscv ~s390 sparc x86"
-IUSE="nfc static-libs"
-
-DEPEND="
- dev-libs/libcbor:=
- dev-libs/openssl:0=
- sys-libs/zlib:0=
- virtual/libudev:=
-"
-
-RDEPEND="
- ${DEPEND}
- acct-group/plugdev
-"
-
-PATCHES=(
- "${FILESDIR}/libfido2-1.7.0-cmakelists.patch"
-)
-
-pkg_pretend() {
- CONFIG_CHECK="
- ~USB_HID
- ~HIDRAW
- "
-
- check_extra_config
-}
-
-src_configure() {
- local mycmakeargs=(
- -DBUILD_EXAMPLES=OFF
- -DBUILD_STATIC_LIBS=$(usex static-libs ON OFF)
- -DNFC_LINUX=$(usex nfc ON OFF)
- )
- cmake_src_configure
-}
-
-src_install() {
- cmake_src_install
- udev_newrules udev/70-u2f.rules 70-libfido2-u2f.rules
-}
diff --git a/dev-libs/libfido2/libfido2-1.9.0.ebuild b/dev-libs/libfido2/libfido2-1.9.0.ebuild
deleted file mode 100644
index 3ff00061a391..000000000000
--- a/dev-libs/libfido2/libfido2-1.9.0.ebuild
+++ /dev/null
@@ -1,54 +0,0 @@
-# Copyright 2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit cmake udev linux-info
-
-DESCRIPTION="Provides library functionality for FIDO 2.0"
-HOMEPAGE="https://github.com/Yubico/libfido2"
-SRC_URI="https://github.com/Yubico/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="BSD-2"
-SLOT="0/1"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
-IUSE="nfc static-libs"
-
-DEPEND="
- dev-libs/libcbor:=
- dev-libs/openssl:0=
- sys-libs/zlib:0=
- virtual/libudev:=
-"
-
-RDEPEND="
- ${DEPEND}
- acct-group/plugdev
-"
-
-PATCHES=(
- "${FILESDIR}/libfido2-1.7.0-cmakelists.patch"
-)
-
-pkg_pretend() {
- CONFIG_CHECK="
- ~USB_HID
- ~HIDRAW
- "
-
- check_extra_config
-}
-
-src_configure() {
- local mycmakeargs=(
- -DBUILD_EXAMPLES=OFF
- -DBUILD_STATIC_LIBS=$(usex static-libs ON OFF)
- -DNFC_LINUX=$(usex nfc ON OFF)
- )
- cmake_src_configure
-}
-
-src_install() {
- cmake_src_install
- udev_newrules udev/70-u2f.rules 70-libfido2-u2f.rules
-}
diff --git a/dev-libs/libfido2/metadata.xml b/dev-libs/libfido2/metadata.xml
index db083c992c6a..df607fde9962 100644
--- a/dev-libs/libfido2/metadata.xml
+++ b/dev-libs/libfido2/metadata.xml
@@ -8,4 +8,7 @@
<use>
<flag name="nfc">Enable experimental NFC support</flag>
</use>
+ <upstream>
+ <remote-id type="github">Yubico/libfido2</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/dev-libs/libfilezilla/Manifest b/dev-libs/libfilezilla/Manifest
index e4df8ddf9eff..0979e16d5c42 100644
--- a/dev-libs/libfilezilla/Manifest
+++ b/dev-libs/libfilezilla/Manifest
@@ -1,7 +1,3 @@
-DIST libfilezilla-0.27.1.tar.bz2 568252 BLAKE2B 5ab11e60a3df1e56275b0a1eeb94a91a5e036306c8d65c95ecdf26737ad5c73782d69e50f81749864293bc827b2502988b45a2268bb8020e685a4c864168af5e SHA512 30db720a8fbc806f498aa94ca9bdbbfa6ef04b4b4853e2c38744c2ba26dc8e34d3b006a057dcb527f6d745bf594ccffbb424f9b59dca6d1cb028b0f13bdd466a
-DIST libfilezilla-0.28.0.tar.bz2 572028 BLAKE2B 579881b1bf127f709cdfda61efb71cce3df741152124b74a2f7d718e43d7d71ce678ec6ba10ff61926b275d5b9e69f8df0f9741a0ba1e9b5ff2c51d35472d10a SHA512 e14bc3d5d20c62f0910ab55aa6466590a0d55aedf534e7eb67481a65b372c62fd0015506a1acdc476811aa2c0ce7561f30e79a10f994dfd98014e4ed4b4f471e
-DIST libfilezilla-0.30.0.tar.bz2 578592 BLAKE2B abfef274989b0ba31d9237394aa1e88012e9fe9d071c11e7350e0ada8d5da54d7cdc93f46f65b38fa9a811a638210238f42de99fdd6832f97ede3808723e5d4f SHA512 f05a1ef2be7a6d32a6c5adf8e02f2b17e83deb67bf7c67b1bc1fec539a7235903d91dd3e98412aa1b90f1fcb322cb9ab54d3a1ff4ec44889b4dcdda6984300c9
-DIST libfilezilla-0.31.1.tar.bz2 585070 BLAKE2B b7cd275ee39d5ac62801889adae79515c056a5f838f4348324c0f5a975d3cc45a058b4c7d37f99179efe6808464b7972c31e300ae9e05371134d7a149b5616d5 SHA512 072ae343bc44939deff435078c29954dc60e4bb5079aa705b7445bec17717919d4957858538284e4f131d734439743bd5d39085a618ea41d586be8be887cf2b8
-DIST libfilezilla-0.34.0.tar.bz2 593998 BLAKE2B 3f3563389f4dfe3667c8c1e46d5f4ab76e02f93188bada3c15e974405c49e0d1346813e64457ec5b60bdeca98629e5a05941f76cb375bb229eee759cc6ab5246 SHA512 960908aa570704e983e51e2eaa13a7fb688587bd1f3c37ade6a3f1b3f5379d0b9e5d3c727bcf58f033a1cc0fce2fc34e2fdffdb379ad5be85de917c0a590de22
-DIST libfilezilla-0.34.2.tar.bz2 595072 BLAKE2B b7c5db16ff74ee218eb38e69f029f6c2cad7984f7f27795ec67f9250eb544b259941cd34fc30bc8222aa0fef51e275d4ca0587754386807ecd916ab7c56b6688 SHA512 a749635f7526e307b93002c4044debdcae948bebb73c272ffc98d1997cf160001a7edc6c776656ea927254614c5a3067ebab1ffc92d7b9f97cf5d4542dec8df9
-DIST libfilezilla-0.35.0.tar.bz2 597061 BLAKE2B 3b7e54a5c999ca7a52d90bdc71a237940c7909ff2ca63c28e0ed76e743a15209cfddd66d0de54c157b42524a460079f05cc3af93a54d4b76c2d44e623bab23fe SHA512 685ed22ab8e4c197f26488751bac2b28e72e5dddce0fce4795afabe59a9c1c7775ac92958ad9c15b0717a8e9f4cf4bf44eee61179d8a2194cbc11a7e2564a5c4
+DIST libfilezilla-0.45.0.tar.xz 543340 BLAKE2B c85c07d23381d63c6f959e9721fa898982c692cafcd863cd15da7fce7e486bf2031b0d0e1fb18efeb271d1aa497eabe0dff4c14f8ff89fbe3ed880a737fc8f6e SHA512 304838e8cf6e644378c0727bc8b9d2f87287a646db4cb765a04d156717f8c233b8a34085049e4893ec345a1a1d576f0ba33df705dee022e16ff433cddd926ce0
+DIST libfilezilla-0.46.0.tar.xz 545396 BLAKE2B 9516260054f7b9d0df0cecf41912536c03f824dd7a43cf8eb52ef7690c3f4edb0ba828fb7fe1c016ac3a4db60a9e6b7a7a03cc90de1bac59439c9f989c3eec5d SHA512 721186993b9af7087033d9acd03ecd70a6a567cd46ded0d26e141ffccba5aed31d5095f3a1d56397280a6f75ad53460c9acbbb3650881e57dccd6f67ccbbf9ba
+DIST libfilezilla-0.47.0.tar.xz 551484 BLAKE2B ba35bd990889a779f4c14c5c76c29dc5fed1bb97168e8dec75a59984133d6dbd56850208c55d6549c80dc2069ea007e0a26d7b604dbf9752c6ac018493a96627 SHA512 28af8aeacc5b6b188613c2afebb23477aa0c6908cd2bfe7dc39ba4b69fa67f2d18a64cdefe52968f429b18545fe03c031363b3aa9ed07b2ecb9faa56b1275282
diff --git a/dev-libs/libfilezilla/files/libfilezilla-0.27.1-gcc11.patch b/dev-libs/libfilezilla/files/libfilezilla-0.27.1-gcc11.patch
deleted file mode 100644
index 68f2c7ec9f7b..000000000000
--- a/dev-libs/libfilezilla/files/libfilezilla-0.27.1-gcc11.patch
+++ /dev/null
@@ -1,10 +0,0 @@
---- libfilezilla/lib/buffer.cpp 2020/12/09 13:33:18 10031
-+++ libfilezilla/lib/buffer.cpp 2021/04/27 07:39:32 10225
-@@ -2,6 +2,7 @@
-
- #include <algorithm>
- #include <cstdlib>
-+#include <limits>
-
- #include <string.h>
-
diff --git a/dev-libs/libfilezilla/files/libfilezilla-0.37.1-pthread.patch b/dev-libs/libfilezilla/files/libfilezilla-0.37.1-pthread.patch
new file mode 100644
index 000000000000..6a40cc69c52e
--- /dev/null
+++ b/dev-libs/libfilezilla/files/libfilezilla-0.37.1-pthread.patch
@@ -0,0 +1,13 @@
+diff --git a/configure.ac b/configure.ac
+index 14bb5d0..da45769 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -120,7 +120,7 @@ AC_CHECK_DECLS([pthread_condattr_setclock], [], [], [[#include <pthread.h>]])
+ if test "$windows" = "1"; then
+ libdeps="-lws2_32"
+ else
+- libdeps=-lpthread
++ libdeps=-pthread
+ CHECK_ICONV([libdeps="$libdeps -liconv"])
+
+ CHECK_RANDOM
diff --git a/dev-libs/libfilezilla/files/libfilezilla-0.41.0-gcc13.patch b/dev-libs/libfilezilla/files/libfilezilla-0.41.0-gcc13.patch
new file mode 100644
index 000000000000..19423a7e732e
--- /dev/null
+++ b/dev-libs/libfilezilla/files/libfilezilla-0.41.0-gcc13.patch
@@ -0,0 +1,79 @@
+--- a/lib/libfilezilla/buffer.hpp 2022-02-03 09:53:39.000000000 +0000
++++ b/lib/libfilezilla/buffer.hpp 2023-02-12 19:18:24.678399429 +0000
+@@ -2,6 +2,7 @@
+ #define LIBFILEZILLA_BUFFER_HEADER
+
+ #include "libfilezilla.hpp"
++#include <cstdint>
+
+ #include <vector>
+ #include <type_traits>
+--- a/lib/libfilezilla/hash.hpp 2022-02-03 09:53:39.000000000 +0000
++++ b/lib/libfilezilla/hash.hpp 2023-02-12 19:22:58.938975128 +0000
+@@ -1,3 +1,4 @@
++#include <cstdint>
+ #ifndef LIBFILEZILLA_HASH_HEADER
+ #define LIBFILEZILLA_HASH_HEADER
+
+--- a/lib/libfilezilla/encryption.hpp 2020-08-21 14:35:14.000000000 +0100
++++ b/lib/libfilezilla/encryption.hpp 2023-02-12 19:26:03.514379399 +0000
+@@ -11,7 +11,7 @@
+ */
+
+ #include "libfilezilla.hpp"
+-
++#include <cstdint>
+ #include <vector>
+ #include <string>
+
+--- a/lib/libfilezilla/encode.hpp 2021-12-08 15:09:45.000000000 +0000
++++ b/lib/libfilezilla/encode.hpp 2023-02-12 19:28:38.684399363 +0000
+@@ -2,7 +2,7 @@
+ #define LIBFILEZILLA_ENCODE_HEADER
+
+ #include "libfilezilla.hpp"
+-
++#include <cstdint>
+ #include <string>
+ #include <vector>
+
+--- a/lib/libfilezilla/nonowning_buffer.hpp 2022-07-08 14:18:44.000000000 +0100
++++ b/lib/libfilezilla/nonowning_buffer.hpp 2023-02-12 19:31:09.324359290 +0000
+@@ -2,6 +2,7 @@
+ #define LIBFILEZILLA_NONOWNING_BUFFER_HEADER
+
+ #include "libfilezilla.hpp"
++#include <cstdint>
+
+ /** \file
+ * \brief Declares fz::nonowning_buffer
+--- a/lib/libfilezilla/signature.hpp 2020-07-07 13:06:31.000000000 +0100
++++ b/lib/libfilezilla/signature.hpp 2023-02-12 19:34:00.747588389 +0000
+@@ -8,6 +8,7 @@
+ */
+
+ #include "libfilezilla.hpp"
++#include <cstdint>
+
+ #include <vector>
+ #include <string>
+--- a/lib/libfilezilla/json.hpp 2022-09-05 14:52:21.000000000 +0100
++++ b/lib/libfilezilla/json.hpp 2023-02-12 19:36:07.564236643 +0000
+@@ -9,6 +9,7 @@
+ #include <map>
+ #include <type_traits>
+ #include <variant>
++#include <cstdint>
+
+ namespace fz {
+
+--- a/lib/libfilezilla/string.hpp 2023-01-12 09:41:17.000000000 +0000
++++ b/lib/libfilezilla/string.hpp 2023-02-12 20:14:26.622449014 +0000
+@@ -2,6 +2,7 @@
+ #define LIBFILEZILLA_STRING_HEADER
+
+ #include "libfilezilla.hpp"
++#include <cstdint>
+
+ #include <algorithm>
+ #include <string>
diff --git a/dev-libs/libfilezilla/libfilezilla-0.27.1.ebuild b/dev-libs/libfilezilla/libfilezilla-0.27.1.ebuild
deleted file mode 100644
index bdbb4d9e2d84..000000000000
--- a/dev-libs/libfilezilla/libfilezilla-0.27.1.ebuild
+++ /dev/null
@@ -1,50 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-inherit flag-o-matic
-
-DESCRIPTION="C++ library offering some basic functionality for platform-independent programs"
-HOMEPAGE="https://lib.filezilla-project.org/"
-SRC_URI="https://download.filezilla-project.org/${PN}/${P}.tar.bz2"
-
-LICENSE="GPL-2+"
-SLOT="0/12" # libfilezilla.so version
-KEYWORDS="amd64 ~arm ~ia64 ppc ppc64 x86"
-IUSE="test"
-
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- dev-libs/nettle:0=
- >=net-libs/gnutls-3.5.7:=
-"
-DEPEND="${RDEPEND}
- test? ( dev-util/cppunit )"
-
-PATCHES=( "${FILESDIR}"/${P}-gcc11.patch )
-
-pkg_pretend() {
- if [[ ${MERGE_TYPE} != binary ]]; then
- if ! test-flag-CXX -std=c++14; then
- eerror "${P} requires C++14-capable C++ compiler. Your current compiler"
- eerror "does not seem to support -std=c++14 option. Please upgrade your compiler"
- eerror "to gcc-4.9 or an equivalent version supporting C++14."
- die "Currently active compiler does not support -std=c++14"
- fi
- fi
-}
-
-src_configure() {
- if use ppc || use arm || use hppa; then
- # bug 727652
- append-libs -latomic
- fi
-
- default
-}
-
-src_install() {
- default
- find "${ED}" -type f \( -name "*.a" -o -name "*.la" \) -delete || die
-}
diff --git a/dev-libs/libfilezilla/libfilezilla-0.28.0.ebuild b/dev-libs/libfilezilla/libfilezilla-0.28.0.ebuild
deleted file mode 100644
index f0acd4e96389..000000000000
--- a/dev-libs/libfilezilla/libfilezilla-0.28.0.ebuild
+++ /dev/null
@@ -1,48 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-inherit flag-o-matic
-
-DESCRIPTION="C++ library offering some basic functionality for platform-independent programs"
-HOMEPAGE="https://lib.filezilla-project.org/"
-SRC_URI="https://download.filezilla-project.org/${PN}/${P}.tar.bz2"
-
-LICENSE="GPL-2+"
-SLOT="0/13" # libfilezilla.so version
-KEYWORDS="~amd64 ~arm ~ia64 ~ppc ~ppc64 ~x86"
-IUSE="test"
-
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- dev-libs/nettle:0=
- >=net-libs/gnutls-3.5.7:=
-"
-DEPEND="${RDEPEND}
- test? ( dev-util/cppunit )"
-
-pkg_pretend() {
- if [[ ${MERGE_TYPE} != binary ]]; then
- if ! test-flag-CXX -std=c++14; then
- eerror "${P} requires C++14-capable C++ compiler. Your current compiler"
- eerror "does not seem to support -std=c++14 option. Please upgrade your compiler"
- eerror "to gcc-4.9 or an equivalent version supporting C++14."
- die "Currently active compiler does not support -std=c++14"
- fi
- fi
-}
-
-src_configure() {
- if use ppc || use arm || use hppa; then
- # bug 727652
- append-libs -latomic
- fi
-
- econf --disable-static
-}
-
-src_install() {
- default
- find "${ED}" -type f -name "*.la" -delete || die
-}
diff --git a/dev-libs/libfilezilla/libfilezilla-0.30.0.ebuild b/dev-libs/libfilezilla/libfilezilla-0.30.0.ebuild
deleted file mode 100644
index f0d6428c3e3c..000000000000
--- a/dev-libs/libfilezilla/libfilezilla-0.30.0.ebuild
+++ /dev/null
@@ -1,48 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-inherit flag-o-matic
-
-DESCRIPTION="C++ library offering some basic functionality for platform-independent programs"
-HOMEPAGE="https://lib.filezilla-project.org/"
-SRC_URI="https://download.filezilla-project.org/${PN}/${P}.tar.bz2"
-
-LICENSE="GPL-2+"
-SLOT="0/15" # libfilezilla.so version
-KEYWORDS="~amd64 ~arm ~ia64 ~ppc ~ppc64 ~x86"
-IUSE="test"
-
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- dev-libs/nettle:0=
- >=net-libs/gnutls-3.5.7:=
-"
-DEPEND="${RDEPEND}
- test? ( dev-util/cppunit )"
-
-pkg_pretend() {
- if [[ ${MERGE_TYPE} != binary ]]; then
- if ! test-flag-CXX -std=c++14; then
- eerror "${P} requires C++14-capable C++ compiler. Your current compiler"
- eerror "does not seem to support -std=c++14 option. Please upgrade your compiler"
- eerror "to gcc-4.9 or an equivalent version supporting C++14."
- die "Currently active compiler does not support -std=c++14"
- fi
- fi
-}
-
-src_configure() {
- if use ppc || use arm || use hppa; then
- # bug 727652
- append-libs -latomic
- fi
-
- econf --disable-static
-}
-
-src_install() {
- default
- find "${ED}" -type f -name "*.la" -delete || die
-}
diff --git a/dev-libs/libfilezilla/libfilezilla-0.31.1.ebuild b/dev-libs/libfilezilla/libfilezilla-0.31.1.ebuild
deleted file mode 100644
index 0f53a3a78253..000000000000
--- a/dev-libs/libfilezilla/libfilezilla-0.31.1.ebuild
+++ /dev/null
@@ -1,48 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-inherit flag-o-matic
-
-DESCRIPTION="C++ library offering some basic functionality for platform-independent programs"
-HOMEPAGE="https://lib.filezilla-project.org/"
-SRC_URI="https://download.filezilla-project.org/${PN}/${P}.tar.bz2"
-
-LICENSE="GPL-2+"
-SLOT="0/16" # libfilezilla.so version
-KEYWORDS="~amd64 ~arm ~ia64 ~ppc ~ppc64 ~x86"
-IUSE="test"
-
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- dev-libs/nettle:0=
- >=net-libs/gnutls-3.5.7:=
-"
-DEPEND="${RDEPEND}
- test? ( dev-util/cppunit )"
-
-pkg_pretend() {
- if [[ ${MERGE_TYPE} != binary ]]; then
- if ! test-flag-CXX -std=c++14; then
- eerror "${P} requires C++14-capable C++ compiler. Your current compiler"
- eerror "does not seem to support -std=c++14 option. Please upgrade your compiler"
- eerror "to gcc-4.9 or an equivalent version supporting C++14."
- die "Currently active compiler does not support -std=c++14"
- fi
- fi
-}
-
-src_configure() {
- if use ppc || use arm || use hppa; then
- # bug 727652
- append-libs -latomic
- fi
-
- econf --disable-static
-}
-
-src_install() {
- default
- find "${ED}" -type f -name "*.la" -delete || die
-}
diff --git a/dev-libs/libfilezilla/libfilezilla-0.34.0.ebuild b/dev-libs/libfilezilla/libfilezilla-0.34.0.ebuild
deleted file mode 100644
index 91f14170584c..000000000000
--- a/dev-libs/libfilezilla/libfilezilla-0.34.0.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 flag-o-matic
-
-DESCRIPTION="C++ library offering some basic functionality for platform-independent programs"
-HOMEPAGE="https://lib.filezilla-project.org/"
-SRC_URI="https://download.filezilla-project.org/${PN}/${P}.tar.bz2"
-
-LICENSE="GPL-2+"
-SLOT="0/21" # libfilezilla.so version
-KEYWORDS="~amd64 ~arm ~ia64 ~ppc ~ppc64 ~x86"
-IUSE="test"
-
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- dev-libs/nettle:0=
- >=net-libs/gnutls-3.5.7:=
- virtual/libcrypt:=
-"
-DEPEND="${RDEPEND}
- test? ( dev-util/cppunit )"
-
-pkg_pretend() {
- if [[ ${MERGE_TYPE} != binary ]]; then
- if ! test-flag-CXX -std=c++14; then
- eerror "${P} requires C++14-capable C++ compiler. Your current compiler"
- eerror "does not seem to support -std=c++14 option. Please upgrade your compiler"
- eerror "to gcc-4.9 or an equivalent version supporting C++14."
- die "Currently active compiler does not support -std=c++14"
- fi
- fi
-}
-
-src_configure() {
- if use ppc || use arm || use hppa; then
- # bug 727652
- append-libs -latomic
- fi
-
- econf --disable-static
-}
-
-src_install() {
- default
- find "${ED}" -type f -name "*.la" -delete || die
-}
diff --git a/dev-libs/libfilezilla/libfilezilla-0.34.2.ebuild b/dev-libs/libfilezilla/libfilezilla-0.34.2.ebuild
deleted file mode 100644
index 54125a19723a..000000000000
--- a/dev-libs/libfilezilla/libfilezilla-0.34.2.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 flag-o-matic
-
-DESCRIPTION="C++ library offering some basic functionality for platform-independent programs"
-HOMEPAGE="https://lib.filezilla-project.org/"
-SRC_URI="https://download.filezilla-project.org/${PN}/${P}.tar.bz2"
-
-LICENSE="GPL-2+"
-SLOT="0/22" # libfilezilla.so version
-KEYWORDS="~amd64 ~arm ~ia64 ~ppc ~ppc64 ~x86"
-IUSE="test"
-
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- dev-libs/nettle:0=
- >=net-libs/gnutls-3.5.7:=
- virtual/libcrypt:=
-"
-DEPEND="${RDEPEND}
- test? ( dev-util/cppunit )"
-
-pkg_pretend() {
- if [[ ${MERGE_TYPE} != binary ]]; then
- if ! test-flag-CXX -std=c++14; then
- eerror "${P} requires C++14-capable C++ compiler. Your current compiler"
- eerror "does not seem to support -std=c++14 option. Please upgrade your compiler"
- eerror "to gcc-4.9 or an equivalent version supporting C++14."
- die "Currently active compiler does not support -std=c++14"
- fi
- fi
-}
-
-src_configure() {
- if use ppc || use arm || use hppa; then
- # bug 727652
- append-libs -latomic
- fi
-
- econf --disable-static
-}
-
-src_install() {
- default
- find "${ED}" -type f -name "*.la" -delete || die
-}
diff --git a/dev-libs/libfilezilla/libfilezilla-0.35.0.ebuild b/dev-libs/libfilezilla/libfilezilla-0.35.0.ebuild
deleted file mode 100644
index 4652d201fefd..000000000000
--- a/dev-libs/libfilezilla/libfilezilla-0.35.0.ebuild
+++ /dev/null
@@ -1,49 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-inherit flag-o-matic
-
-DESCRIPTION="C++ library offering some basic functionality for platform-independent programs"
-HOMEPAGE="https://lib.filezilla-project.org/"
-SRC_URI="https://download.filezilla-project.org/${PN}/${P}.tar.bz2"
-
-LICENSE="GPL-2+"
-SLOT="0/23" # libfilezilla.so version
-KEYWORDS="~amd64 ~arm ~ia64 ~ppc ~ppc64 ~x86"
-IUSE="test"
-
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- dev-libs/nettle:0=
- >=net-libs/gnutls-3.5.7:=
- virtual/libcrypt:=
-"
-DEPEND="${RDEPEND}
- test? ( dev-util/cppunit )"
-
-pkg_pretend() {
- if [[ ${MERGE_TYPE} != binary ]]; then
- if ! test-flag-CXX -std=c++14; then
- eerror "${P} requires C++14-capable C++ compiler. Your current compiler"
- eerror "does not seem to support -std=c++14 option. Please upgrade your compiler"
- eerror "to gcc-4.9 or an equivalent version supporting C++14."
- die "Currently active compiler does not support -std=c++14"
- fi
- fi
-}
-
-src_configure() {
- if use ppc || use arm || use hppa; then
- # bug 727652
- append-libs -latomic
- fi
-
- econf --disable-static
-}
-
-src_install() {
- default
- find "${ED}" -type f -name "*.la" -delete || die
-}
diff --git a/dev-libs/libfilezilla/libfilezilla-0.45.0.ebuild b/dev-libs/libfilezilla/libfilezilla-0.45.0.ebuild
new file mode 100644
index 000000000000..c852e5f99a25
--- /dev/null
+++ b/dev-libs/libfilezilla/libfilezilla-0.45.0.ebuild
@@ -0,0 +1,56 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit flag-o-matic
+
+DESCRIPTION="C++ library offering some basic functionality for platform-independent programs"
+HOMEPAGE="https://lib.filezilla-project.org/"
+SRC_URI="https://download.filezilla-project.org/${PN}/${P}.tar.xz"
+
+LICENSE="GPL-2+"
+SLOT="0/41" # libfilezilla.so version
+KEYWORDS="amd64 ~arm ~arm64 ~ia64 ppc ppc64 ~riscv x86"
+IUSE="test"
+
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ dev-libs/nettle:0=
+ >=net-libs/gnutls-3.5.7:=
+ virtual/libcrypt:=
+"
+DEPEND="${RDEPEND}
+ test? ( dev-util/cppunit )"
+BDEPEND="virtual/pkgconfig"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-0.37.1-pthread.patch
+ "${FILESDIR}"/${PN}-0.41.0-gcc13.patch
+)
+
+pkg_pretend() {
+ if [[ ${MERGE_TYPE} != binary ]]; then
+ if ! test-flag-CXX -std=c++14; then
+ eerror "${P} requires C++14-capable C++ compiler. Your current compiler"
+ eerror "does not seem to support -std=c++14 option. Please upgrade your compiler"
+ eerror "to gcc-4.9 or an equivalent version supporting C++14."
+ die "Currently active compiler does not support -std=c++14"
+ fi
+ fi
+}
+
+src_configure() {
+ if use ppc || use arm || use hppa; then
+ # bug 727652
+ append-libs -latomic
+ fi
+
+ econf --disable-static
+}
+
+src_install() {
+ default
+ find "${ED}" -type f -name "*.la" -delete || die
+}
diff --git a/dev-libs/libfilezilla/libfilezilla-0.46.0.ebuild b/dev-libs/libfilezilla/libfilezilla-0.46.0.ebuild
new file mode 100644
index 000000000000..cb786fb49126
--- /dev/null
+++ b/dev-libs/libfilezilla/libfilezilla-0.46.0.ebuild
@@ -0,0 +1,56 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit flag-o-matic
+
+DESCRIPTION="C++ library offering some basic functionality for platform-independent programs"
+HOMEPAGE="https://lib.filezilla-project.org/"
+SRC_URI="https://download.filezilla-project.org/${PN}/${P}.tar.xz"
+
+LICENSE="GPL-2+"
+SLOT="0/42" # libfilezilla.so version
+KEYWORDS="~amd64 ~arm ~arm64 ~ia64 ~ppc ~ppc64 ~riscv ~x86"
+IUSE="test"
+
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ dev-libs/nettle:0=
+ >=net-libs/gnutls-3.5.7:=
+ virtual/libcrypt:=
+"
+DEPEND="${RDEPEND}
+ test? ( dev-util/cppunit )"
+BDEPEND="virtual/pkgconfig"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-0.37.1-pthread.patch
+ "${FILESDIR}"/${PN}-0.41.0-gcc13.patch
+)
+
+pkg_pretend() {
+ if [[ ${MERGE_TYPE} != binary ]]; then
+ if ! test-flag-CXX -std=c++14; then
+ eerror "${P} requires C++14-capable C++ compiler. Your current compiler"
+ eerror "does not seem to support -std=c++14 option. Please upgrade your compiler"
+ eerror "to gcc-4.9 or an equivalent version supporting C++14."
+ die "Currently active compiler does not support -std=c++14"
+ fi
+ fi
+}
+
+src_configure() {
+ if use ppc || use arm || use hppa; then
+ # bug 727652
+ append-libs -latomic
+ fi
+
+ econf --disable-static
+}
+
+src_install() {
+ default
+ find "${ED}" -type f -name "*.la" -delete || die
+}
diff --git a/dev-libs/libfilezilla/libfilezilla-0.47.0.ebuild b/dev-libs/libfilezilla/libfilezilla-0.47.0.ebuild
new file mode 100644
index 000000000000..47f6003dc73b
--- /dev/null
+++ b/dev-libs/libfilezilla/libfilezilla-0.47.0.ebuild
@@ -0,0 +1,56 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit flag-o-matic
+
+DESCRIPTION="C++ library offering some basic functionality for platform-independent programs"
+HOMEPAGE="https://lib.filezilla-project.org/"
+SRC_URI="https://download.filezilla-project.org/${PN}/${P}.tar.xz"
+
+LICENSE="GPL-2+"
+SLOT="0/43" # libfilezilla.so version
+KEYWORDS="~amd64 ~arm ~arm64 ~ia64 ~ppc ~ppc64 ~riscv ~x86"
+IUSE="test"
+
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ dev-libs/nettle:0=
+ >=net-libs/gnutls-3.5.7:=
+ virtual/libcrypt:=
+"
+DEPEND="${RDEPEND}
+ test? ( dev-util/cppunit )"
+BDEPEND="virtual/pkgconfig"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-0.37.1-pthread.patch
+ "${FILESDIR}"/${PN}-0.41.0-gcc13.patch
+)
+
+pkg_pretend() {
+ if [[ ${MERGE_TYPE} != binary ]]; then
+ if ! test-flag-CXX -std=c++14; then
+ eerror "${P} requires C++14-capable C++ compiler. Your current compiler"
+ eerror "does not seem to support -std=c++14 option. Please upgrade your compiler"
+ eerror "to gcc-4.9 or an equivalent version supporting C++14."
+ die "Currently active compiler does not support -std=c++14"
+ fi
+ fi
+}
+
+src_configure() {
+ if use ppc || use arm || use hppa; then
+ # bug 727652
+ append-libs -latomic
+ fi
+
+ econf --disable-static
+}
+
+src_install() {
+ default
+ find "${ED}" -type f -name "*.la" -delete || die
+}
diff --git a/dev-libs/libfilezilla/metadata.xml b/dev-libs/libfilezilla/metadata.xml
index 4c049493554c..f6ca9ca99085 100644
--- a/dev-libs/libfilezilla/metadata.xml
+++ b/dev-libs/libfilezilla/metadata.xml
@@ -6,8 +6,8 @@
<name>Bernard Cafarelli</name>
</maintainer>
<maintainer type="person">
- <email>polynomial-c@gentoo.org</email>
- <name>Lars Wendler</name>
+ <email>dlan@gentoo.org</email>
+ <name>Yixun Lan</name>
</maintainer>
<longdescription>
libfilezilla is a small and modern C++ library, offering some basic functionality to build high-performing, platform-independent programs. Some of the highlights include:
diff --git a/dev-libs/libfmt/Manifest b/dev-libs/libfmt/Manifest
index 1bcda92fef5a..fd77431cdece 100644
--- a/dev-libs/libfmt/Manifest
+++ b/dev-libs/libfmt/Manifest
@@ -1,5 +1,6 @@
-DIST libfmt-7.1.2.tar.gz 769401 BLAKE2B 66a14197a818cbc63e2219eb9f8aeb47cc575a712e3a8e20ad6e2316219bd4661446533f305a1a18b83723d5f530c59dcff17251488c3e811aa090b399bc16ca SHA512 e245a3860df4414ad7ea114d2d5686d0c8ae06fbc45f4af0a232ad4bbf0797e5845d731e307af67aad920d3587e5e424135bffeab09132690edb387c47f4fe15
-DIST libfmt-7.1.3.tar.gz 770029 BLAKE2B 745440a6f5876d47d4651d007d5968f77d8f5ac01ab5ec17ec5851130a5581e2aa7d359ae297ce7318023b0bf386f9c027e3e38c65f297ae874e607253a3493a SHA512 cfb2431de822202f17a6f34a302b1922b9cd696d8d4c27ad50ea08add781d2af9944db987603c2eb294ee7d73054a60cc11d3a0693f7f6db61949f3041cb9517
-DIST libfmt-8.0.0.tar.gz 804902 BLAKE2B 9330acbfb6ab47a484b4dbd3138d11cdd79f4233dfe8fefed41d67118eb19b2c00db5896ee883e2f5ff297170c2eb8dfa001cc6d7c6eff42b6285acd0ea91b5c SHA512 61768bf8b64c430f11536800985509ce436bbbe05cbe1dfb6045cfaf2f859af98eae1019ef602af8fec6946ae25e4d8adb589f0f738666b20beb3afe65ee760c
-DIST libfmt-8.0.1.tar.gz 805616 BLAKE2B b64a4686050a9edb4e5d3ec28a3727a847105ae0b12a89461841e14d6c9c442e391cdcfbca39b2d141d04cdb10d00516ecc8bf605867c792b7d2d6bc99c7b2bc SHA512 643e68d5b2e0e9c83231ab2b0036596a6297b1d9ed6bd7b1172bee4ff134c8af8f09174c06c94225132c1b635b0977ea4ce783748d7bd76a9a0b5ad597456c84
-DIST libfmt-8.1.1.tar.gz 826254 BLAKE2B 8f3eafd72c0eff62cfcf26a8a37e4d89c8f4a2cec6e427e3ea8d0de3010dd6e5e45ce4486335d3b433308a967915b38ca4d422d789ceda4196153329128056b9 SHA512 794a47d7cb352a2a9f2c050a60a46b002e4157e5ad23e15a5afc668e852b1e1847aeee3cda79e266c789ff79310d792060c94976ceef6352e322d60b94e23189
+DIST libfmt-10.0.0.tar.gz 851582 BLAKE2B 4e778fd352ed084b9790b59b4875fc6ed04b7a58a40b3673854dd00763f492cc838970e8faef77b5f9db5e912a2fc77943aedb4ca4afb64a3736129cc4611809 SHA512 6188508d74ca1ed75bf6441b152c07ca83971d3104b37f33784a7b55dfcc614d6243e77e0a14220018586fdb86207cc033eece834e7acd5e0907ed4c97403f3b
+DIST libfmt-10.1.0.tar.gz 849294 BLAKE2B 9e90bdb91ac9f34bf75bcb0c0f45a90ce9d5c27c0a47c2e5c2d09972ab03e6da32e29ddd33761b8347eaa0db0ec79af4f8aac93d3f38c9d9f29b49bb24779467 SHA512 69a7b8584f828528e3bb4b87153449e96df29bd740adcd42a2e3d50ae4a270c80a5eb2c3057337048be5b978094d8bb73bec3378e3b6370748de2b063dd0aa4b
+DIST libfmt-10.1.1.tar.gz 851454 BLAKE2B 8b1237e6de72e81ebf2ad8d3c321b6ae9352bfeeb817d2e7f4541a722cd7ecc9212a2b83276fa0aa901473e1b90a15f487feefb3ea03acdcabdfe6b6f22997a1 SHA512 288c349baac5f96f527d5b1bed0fa5f031aa509b4526560c684281388e91909a280c3262a2474d963b5d1bf7064b1c9930c6677fe54a0d8f86982d063296a54c
+DIST libfmt-10.2.0.tar.gz 854581 BLAKE2B 8d094b9832f3acaaf6cdbbc3b04c7c92e585cd7079afb75b7901126c578a3a3f2094f208fb20444cbec001849cd8f229b3c441be3f11a91470fa04ca42c94177 SHA512 b90f8ab1692fcae9146f8cad5c5c26a2b5ceb6a0460003e01cabe8a75c0aa2fea1c3760dc3214eddaf08984a1695747ea8b1f3124c40c54cbadfd45458fa4b2d
+DIST libfmt-10.2.1.tar.gz 854665 BLAKE2B 7bef719aa99464b5cb608c81ca78e23f3aed81cadfa9ed65246c4983a98f0cadb27983d42929ab4e0b5e264673e38d7658a4f7d5171e624b2431b3c6327071d9 SHA512 27df90c681ec37e55625062a79e3b83589b6d7e94eff37a3b412bb8c1473f757a8adb727603acc9185c3490628269216843b7d7bd5a3cb37f0029da5d1495ffa
+DIST libfmt-9.1.0.tar.gz 837901 BLAKE2B ff1daa43140615b63aeb1ecd0aa1c32d24decfd5006805080293ef3db04d544c0445a30e8da0d985a6f5a25ad48ce4f6ae61e52da5ea4a4d3b031c212da38b18 SHA512 a18442042722dd48e20714ec034a12fcc0576c9af7be5188586970e2edf47529825bdc99af366b1d5891630c8dbf6f63bfa9f012e77ab3d3ed80d1a118e3b2be
diff --git a/dev-libs/libfmt/files/libfmt-8.0.0-no-udl-define.patch b/dev-libs/libfmt/files/libfmt-8.0.0-no-udl-define.patch
deleted file mode 100644
index 83078fa7285c..000000000000
--- a/dev-libs/libfmt/files/libfmt-8.0.0-no-udl-define.patch
+++ /dev/null
@@ -1,56 +0,0 @@
-From ab89d342b5454528bd2b46e7f22c0311906f8ca2 Mon Sep 17 00:00:00 2001
-From: "Jason A. Donenfeld" <Jason@zx2c4.com>
-Date: Tue, 22 Jun 2021 14:34:33 +0200
-Subject: [PATCH] format: do not use udl_{arg,formatter} return types when UDL
- is not in use
-
-The udl_{arg,formatter} structs are only defined when
-FMT_USE_USER_DEFINED_LITERALS is set, so don't try to define things that
-return that struct when it's not defined.
----
- include/fmt/format.h | 9 ++++++---
- 1 file changed, 6 insertions(+), 3 deletions(-)
-
-diff --git a/include/fmt/format.h b/include/fmt/format.h
-index 03ae1c961..92b0f0fc5 100644
---- a/include/fmt/format.h
-+++ b/include/fmt/format.h
-@@ -2730,6 +2730,8 @@ extern template auto snprintf_float<long double>(long double value,
- #endif // FMT_HEADER_ONLY
-
- FMT_END_DETAIL_NAMESPACE
-+
-+#if FMT_USE_USER_DEFINED_LITERALS
- inline namespace literals {
- /**
- \rst
-@@ -2741,18 +2743,18 @@ inline namespace literals {
- fmt::print("Elapsed time: {s:.2f} seconds", "s"_a=1.23);
- \endrst
- */
--#if FMT_USE_NONTYPE_TEMPLATE_PARAMETERS
-+# if FMT_USE_NONTYPE_TEMPLATE_PARAMETERS
- template <detail_exported::fixed_string Str>
- constexpr auto operator""_a()
- -> detail::udl_arg<remove_cvref_t<decltype(Str.data[0])>,
- sizeof(Str.data) / sizeof(decltype(Str.data[0])), Str> {
- return {};
- }
--#else
-+# else
- constexpr auto operator"" _a(const char* s, size_t) -> detail::udl_arg<char> {
- return {s};
- }
--#endif
-+# endif
-
- /**
- \rst
-@@ -2769,6 +2771,7 @@ constexpr auto operator"" _format(const char* s, size_t n)
- return {{s, n}};
- }
- } // namespace literals
-+#endif // FMT_USE_USER_DEFINED_LITERALS
-
- template <typename Locale, FMT_ENABLE_IF(detail::is_locale<Locale>::value)>
- inline auto vformat(const Locale& loc, string_view fmt, format_args args)
diff --git a/dev-libs/libfmt/libfmt-10.0.0.ebuild b/dev-libs/libfmt/libfmt-10.0.0.ebuild
new file mode 100644
index 000000000000..90083087d20e
--- /dev/null
+++ b/dev-libs/libfmt/libfmt-10.0.0.ebuild
@@ -0,0 +1,32 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+DESCRIPTION="Small, safe and fast formatting library"
+HOMEPAGE="https://github.com/fmtlib/fmt"
+
+if [[ ${PV} == *9999 ]] ; then
+ EGIT_REPO_URI="https://github.com/fmtlib/fmt.git"
+ inherit git-r3
+else
+ SRC_URI="https://github.com/fmtlib/fmt/archive/${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~x86"
+ S="${WORKDIR}/fmt-${PV}"
+fi
+
+LICENSE="MIT"
+SLOT="0/${PV}"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+src_configure() {
+ local mycmakeargs=(
+ -DFMT_CMAKE_DIR="$(get_libdir)/cmake/fmt"
+ -DFMT_LIB_DIR="$(get_libdir)"
+ -DFMT_TEST=$(usex test)
+ )
+ cmake_src_configure
+}
diff --git a/dev-libs/libfmt/libfmt-10.1.0.ebuild b/dev-libs/libfmt/libfmt-10.1.0.ebuild
new file mode 100644
index 000000000000..90083087d20e
--- /dev/null
+++ b/dev-libs/libfmt/libfmt-10.1.0.ebuild
@@ -0,0 +1,32 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+DESCRIPTION="Small, safe and fast formatting library"
+HOMEPAGE="https://github.com/fmtlib/fmt"
+
+if [[ ${PV} == *9999 ]] ; then
+ EGIT_REPO_URI="https://github.com/fmtlib/fmt.git"
+ inherit git-r3
+else
+ SRC_URI="https://github.com/fmtlib/fmt/archive/${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~x86"
+ S="${WORKDIR}/fmt-${PV}"
+fi
+
+LICENSE="MIT"
+SLOT="0/${PV}"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+src_configure() {
+ local mycmakeargs=(
+ -DFMT_CMAKE_DIR="$(get_libdir)/cmake/fmt"
+ -DFMT_LIB_DIR="$(get_libdir)"
+ -DFMT_TEST=$(usex test)
+ )
+ cmake_src_configure
+}
diff --git a/dev-libs/libfmt/libfmt-10.1.1.ebuild b/dev-libs/libfmt/libfmt-10.1.1.ebuild
new file mode 100644
index 000000000000..90083087d20e
--- /dev/null
+++ b/dev-libs/libfmt/libfmt-10.1.1.ebuild
@@ -0,0 +1,32 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+DESCRIPTION="Small, safe and fast formatting library"
+HOMEPAGE="https://github.com/fmtlib/fmt"
+
+if [[ ${PV} == *9999 ]] ; then
+ EGIT_REPO_URI="https://github.com/fmtlib/fmt.git"
+ inherit git-r3
+else
+ SRC_URI="https://github.com/fmtlib/fmt/archive/${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~x86"
+ S="${WORKDIR}/fmt-${PV}"
+fi
+
+LICENSE="MIT"
+SLOT="0/${PV}"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+src_configure() {
+ local mycmakeargs=(
+ -DFMT_CMAKE_DIR="$(get_libdir)/cmake/fmt"
+ -DFMT_LIB_DIR="$(get_libdir)"
+ -DFMT_TEST=$(usex test)
+ )
+ cmake_src_configure
+}
diff --git a/dev-libs/libfmt/libfmt-10.2.0.ebuild b/dev-libs/libfmt/libfmt-10.2.0.ebuild
new file mode 100644
index 000000000000..0914ef073c62
--- /dev/null
+++ b/dev-libs/libfmt/libfmt-10.2.0.ebuild
@@ -0,0 +1,32 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+DESCRIPTION="Small, safe and fast formatting library"
+HOMEPAGE="https://github.com/fmtlib/fmt"
+
+if [[ ${PV} == *9999 ]] ; then
+ EGIT_REPO_URI="https://github.com/fmtlib/fmt.git"
+ inherit git-r3
+else
+ SRC_URI="https://github.com/fmtlib/fmt/archive/${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~x86"
+ S="${WORKDIR}/fmt-${PV}"
+fi
+
+LICENSE="MIT"
+SLOT="0/${PV}"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+src_configure() {
+ local mycmakeargs=(
+ -DFMT_CMAKE_DIR="$(get_libdir)/cmake/fmt"
+ -DFMT_LIB_DIR="$(get_libdir)"
+ -DFMT_TEST=$(usex test)
+ )
+ cmake_src_configure
+}
diff --git a/dev-libs/libfmt/libfmt-10.2.1-r1.ebuild b/dev-libs/libfmt/libfmt-10.2.1-r1.ebuild
new file mode 100644
index 000000000000..2dbd37cc402c
--- /dev/null
+++ b/dev-libs/libfmt/libfmt-10.2.1-r1.ebuild
@@ -0,0 +1,33 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake flag-o-matic
+
+DESCRIPTION="Small, safe and fast formatting library"
+HOMEPAGE="https://github.com/fmtlib/fmt"
+
+if [[ ${PV} == *9999 ]] ; then
+ EGIT_REPO_URI="https://github.com/fmtlib/fmt.git"
+ inherit git-r3
+else
+ SRC_URI="https://github.com/fmtlib/fmt/archive/${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~x86"
+ S="${WORKDIR}/fmt-${PV}"
+fi
+
+LICENSE="MIT"
+SLOT="0/${PV}"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+src_configure() {
+ append-lfs-flags
+ local mycmakeargs=(
+ -DFMT_CMAKE_DIR="$(get_libdir)/cmake/fmt"
+ -DFMT_LIB_DIR="$(get_libdir)"
+ -DFMT_TEST=$(usex test)
+ )
+ cmake_src_configure
+}
diff --git a/dev-libs/libfmt/libfmt-10.2.1.ebuild b/dev-libs/libfmt/libfmt-10.2.1.ebuild
new file mode 100644
index 000000000000..0914ef073c62
--- /dev/null
+++ b/dev-libs/libfmt/libfmt-10.2.1.ebuild
@@ -0,0 +1,32 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+DESCRIPTION="Small, safe and fast formatting library"
+HOMEPAGE="https://github.com/fmtlib/fmt"
+
+if [[ ${PV} == *9999 ]] ; then
+ EGIT_REPO_URI="https://github.com/fmtlib/fmt.git"
+ inherit git-r3
+else
+ SRC_URI="https://github.com/fmtlib/fmt/archive/${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~x86"
+ S="${WORKDIR}/fmt-${PV}"
+fi
+
+LICENSE="MIT"
+SLOT="0/${PV}"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+src_configure() {
+ local mycmakeargs=(
+ -DFMT_CMAKE_DIR="$(get_libdir)/cmake/fmt"
+ -DFMT_LIB_DIR="$(get_libdir)"
+ -DFMT_TEST=$(usex test)
+ )
+ cmake_src_configure
+}
diff --git a/dev-libs/libfmt/libfmt-7.1.2.ebuild b/dev-libs/libfmt/libfmt-7.1.2.ebuild
deleted file mode 100644
index 155509d07edf..000000000000
--- a/dev-libs/libfmt/libfmt-7.1.2.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
-
-CMAKE_ECLASS=cmake
-inherit cmake-multilib
-
-DESCRIPTION="Small, safe and fast formatting library"
-HOMEPAGE="https://github.com/fmtlib/fmt"
-
-LICENSE="MIT"
-IUSE="test"
-SLOT="0/$(ver_cut 1)"
-
-if [[ ${PV} == *9999 ]] ; then
- EGIT_REPO_URI="https://github.com/fmtlib/fmt.git"
- inherit git-r3
-else
- SRC_URI="https://github.com/fmtlib/fmt/archive/${PV}.tar.gz -> ${P}.tar.gz"
- KEYWORDS="amd64 arm arm64 ppc ppc64 x86"
- S="${WORKDIR}/fmt-${PV}"
-fi
-
-DEPEND=""
-RDEPEND=""
-RESTRICT="!test? ( test )"
-
-multilib_src_configure() {
- local mycmakeargs=(
- -DFMT_CMAKE_DIR="$(get_libdir)/cmake/fmt"
- -DFMT_LIB_DIR="$(get_libdir)"
- -DFMT_TEST=$(usex test)
- )
- cmake_src_configure
-}
diff --git a/dev-libs/libfmt/libfmt-7.1.3.ebuild b/dev-libs/libfmt/libfmt-7.1.3.ebuild
deleted file mode 100644
index 155509d07edf..000000000000
--- a/dev-libs/libfmt/libfmt-7.1.3.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
-
-CMAKE_ECLASS=cmake
-inherit cmake-multilib
-
-DESCRIPTION="Small, safe and fast formatting library"
-HOMEPAGE="https://github.com/fmtlib/fmt"
-
-LICENSE="MIT"
-IUSE="test"
-SLOT="0/$(ver_cut 1)"
-
-if [[ ${PV} == *9999 ]] ; then
- EGIT_REPO_URI="https://github.com/fmtlib/fmt.git"
- inherit git-r3
-else
- SRC_URI="https://github.com/fmtlib/fmt/archive/${PV}.tar.gz -> ${P}.tar.gz"
- KEYWORDS="amd64 arm arm64 ppc ppc64 x86"
- S="${WORKDIR}/fmt-${PV}"
-fi
-
-DEPEND=""
-RDEPEND=""
-RESTRICT="!test? ( test )"
-
-multilib_src_configure() {
- local mycmakeargs=(
- -DFMT_CMAKE_DIR="$(get_libdir)/cmake/fmt"
- -DFMT_LIB_DIR="$(get_libdir)"
- -DFMT_TEST=$(usex test)
- )
- cmake_src_configure
-}
diff --git a/dev-libs/libfmt/libfmt-8.0.0-r1.ebuild b/dev-libs/libfmt/libfmt-8.0.0-r1.ebuild
deleted file mode 100644
index d489205c5abf..000000000000
--- a/dev-libs/libfmt/libfmt-8.0.0-r1.ebuild
+++ /dev/null
@@ -1,40 +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="Small, safe and fast formatting library"
-HOMEPAGE="https://github.com/fmtlib/fmt"
-
-LICENSE="MIT"
-IUSE="test"
-SLOT="0/$(ver_cut 1)"
-
-if [[ ${PV} == *9999 ]] ; then
- EGIT_REPO_URI="https://github.com/fmtlib/fmt.git"
- inherit git-r3
-else
- SRC_URI="https://github.com/fmtlib/fmt/archive/${PV}.tar.gz -> ${P}.tar.gz"
- KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~x86"
- S="${WORKDIR}/fmt-${PV}"
-fi
-
-DEPEND=""
-RDEPEND=""
-RESTRICT="!test? ( test )"
-
-PATCHES=(
- "${FILESDIR}/${P}-no-udl-define.patch"
-)
-
-multilib_src_configure() {
- local mycmakeargs=(
- -DFMT_CMAKE_DIR="$(get_libdir)/cmake/fmt"
- -DFMT_LIB_DIR="$(get_libdir)"
- -DFMT_TEST=$(usex test)
- )
- cmake_src_configure
-}
diff --git a/dev-libs/libfmt/libfmt-8.0.1-r1.ebuild b/dev-libs/libfmt/libfmt-8.0.1-r1.ebuild
deleted file mode 100644
index d9e236d2dace..000000000000
--- a/dev-libs/libfmt/libfmt-8.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=7
-
-CMAKE_ECLASS=cmake
-inherit cmake-multilib
-
-DESCRIPTION="Small, safe and fast formatting library"
-HOMEPAGE="https://github.com/fmtlib/fmt"
-
-LICENSE="MIT"
-IUSE="test"
-SLOT="0/${PV}"
-
-if [[ ${PV} == *9999 ]] ; then
- EGIT_REPO_URI="https://github.com/fmtlib/fmt.git"
- inherit git-r3
-else
- SRC_URI="https://github.com/fmtlib/fmt/archive/${PV}.tar.gz -> ${P}.tar.gz"
- KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~x86"
- S="${WORKDIR}/fmt-${PV}"
-fi
-
-DEPEND=""
-RDEPEND=""
-RESTRICT="!test? ( test )"
-
-multilib_src_configure() {
- local mycmakeargs=(
- -DFMT_CMAKE_DIR="$(get_libdir)/cmake/fmt"
- -DFMT_LIB_DIR="$(get_libdir)"
- -DFMT_TEST=$(usex test)
- )
- cmake_src_configure
-}
diff --git a/dev-libs/libfmt/libfmt-8.1.1.ebuild b/dev-libs/libfmt/libfmt-8.1.1.ebuild
deleted file mode 100644
index 02ef483ce0e4..000000000000
--- a/dev-libs/libfmt/libfmt-8.1.1.ebuild
+++ /dev/null
@@ -1,36 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-CMAKE_ECLASS=cmake
-inherit cmake-multilib
-
-DESCRIPTION="Small, safe and fast formatting library"
-HOMEPAGE="https://github.com/fmtlib/fmt"
-
-LICENSE="MIT"
-IUSE="test"
-SLOT="0/${PV}"
-
-if [[ ${PV} == *9999 ]] ; then
- EGIT_REPO_URI="https://github.com/fmtlib/fmt.git"
- inherit git-r3
-else
- SRC_URI="https://github.com/fmtlib/fmt/archive/${PV}.tar.gz -> ${P}.tar.gz"
- KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~x86"
- S="${WORKDIR}/fmt-${PV}"
-fi
-
-DEPEND=""
-RDEPEND=""
-RESTRICT="!test? ( test )"
-
-multilib_src_configure() {
- local mycmakeargs=(
- -DFMT_CMAKE_DIR="$(get_libdir)/cmake/fmt"
- -DFMT_LIB_DIR="$(get_libdir)"
- -DFMT_TEST=$(usex test)
- )
- cmake_src_configure
-}
diff --git a/dev-libs/libfmt/libfmt-9.1.0-r1.ebuild b/dev-libs/libfmt/libfmt-9.1.0-r1.ebuild
new file mode 100644
index 000000000000..db30bc50d6d1
--- /dev/null
+++ b/dev-libs/libfmt/libfmt-9.1.0-r1.ebuild
@@ -0,0 +1,32 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+DESCRIPTION="Small, safe and fast formatting library"
+HOMEPAGE="https://github.com/fmtlib/fmt"
+
+if [[ ${PV} == *9999 ]] ; then
+ EGIT_REPO_URI="https://github.com/fmtlib/fmt.git"
+ inherit git-r3
+else
+ SRC_URI="https://github.com/fmtlib/fmt/archive/${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ppc ppc64 ~riscv ~s390 sparc x86"
+ S="${WORKDIR}/fmt-${PV}"
+fi
+
+LICENSE="MIT"
+SLOT="0/${PV}"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+src_configure() {
+ local mycmakeargs=(
+ -DFMT_CMAKE_DIR="$(get_libdir)/cmake/fmt"
+ -DFMT_LIB_DIR="$(get_libdir)"
+ -DFMT_TEST=$(usex test)
+ )
+ cmake_src_configure
+}
diff --git a/dev-libs/libfmt/libfmt-9999.ebuild b/dev-libs/libfmt/libfmt-9999.ebuild
index 02ef483ce0e4..2dbd37cc402c 100644
--- a/dev-libs/libfmt/libfmt-9999.ebuild
+++ b/dev-libs/libfmt/libfmt-9999.ebuild
@@ -1,32 +1,29 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2024 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 flag-o-matic
DESCRIPTION="Small, safe and fast formatting library"
HOMEPAGE="https://github.com/fmtlib/fmt"
-LICENSE="MIT"
-IUSE="test"
-SLOT="0/${PV}"
-
if [[ ${PV} == *9999 ]] ; then
EGIT_REPO_URI="https://github.com/fmtlib/fmt.git"
inherit git-r3
else
SRC_URI="https://github.com/fmtlib/fmt/archive/${PV}.tar.gz -> ${P}.tar.gz"
- KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~x86"
+ KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~x86"
S="${WORKDIR}/fmt-${PV}"
fi
-DEPEND=""
-RDEPEND=""
+LICENSE="MIT"
+SLOT="0/${PV}"
+IUSE="test"
RESTRICT="!test? ( test )"
-multilib_src_configure() {
+src_configure() {
+ append-lfs-flags
local mycmakeargs=(
-DFMT_CMAKE_DIR="$(get_libdir)/cmake/fmt"
-DFMT_LIB_DIR="$(get_libdir)"
diff --git a/dev-libs/libfmt/metadata.xml b/dev-libs/libfmt/metadata.xml
index 1de535ae4683..eb6c368a1f48 100644
--- a/dev-libs/libfmt/metadata.xml
+++ b/dev-libs/libfmt/metadata.xml
@@ -8,5 +8,6 @@
<upstream>
<bugs-to>https://github.com/fmtlib/fmt/issues</bugs-to>
<remote-id type="github">fmtlib/fmt</remote-id>
+ <remote-id type="cpe">cpe:/a:fmt_project:fmt</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-libs/libfstrcmp/files/libfstrcmp-0.7-docdir.patch b/dev-libs/libfstrcmp/files/libfstrcmp-0.7-docdir.patch
new file mode 100644
index 000000000000..197c6220c575
--- /dev/null
+++ b/dev-libs/libfstrcmp/files/libfstrcmp-0.7-docdir.patch
@@ -0,0 +1,140 @@
+https://bugs.gentoo.org/853133
+
+From: orbea <orbea@riseup.net>
+Date: Mon, 20 Jun 2022 07:49:14 -0700
+Subject: [PATCH] build: Support docdir
+
+--- a/Makefile.in
++++ b/Makefile.in
+@@ -31,6 +31,14 @@
+ # Use "./configure --help" for a list of options.
+ #
+
++#
++# the name of the package
++#
++PACKAGE_NAME = @PACKAGE_NAME@
++PACKAGE_STRING = @PACKAGE_STRING@
++PACKAGE_TARNAME = @PACKAGE_TARNAME@
++PACKAGE_VERSION = @PACKAGE_VERSION@
++
+ #
+ # directory containing the source
+ #
+@@ -86,6 +94,16 @@ exec_prefix = @exec_prefix@
+ #
+ bindir = $(DESTDIR)@bindir@
+
++#
++# Where to put the documentation.
++#
++# On a network, this would be shared between all machines on the network. It can
++# be read-only.
++#
++# The $(DESTDIR) is for packaging.
++#
++docdir = $(DESTDIR)@docdir@
++
+ #
+ # Where to put the manuals.
+ #
+@@ -97,7 +115,7 @@ bindir = $(DESTDIR)@bindir@
+ mandir = $(DESTDIR)@mandir@
+
+ # define this to silence ./configure warning
+-datarootdir = $(DESTDIR)@datarootdir@
++datarootdir = @datarootdir@
+
+ #
+ # Where to put the supplementary package executables.
+@@ -164,7 +182,7 @@ etc/building.pdf: etc/building.man man/man1/z_copyright.so
+ ps2pdf etc/building.ps $@
+ rm etc/building.ps
+
+-$(datarootdir)/doc/fstrcmp/building.pdf: .mkdir.__datarootdir__doc_fstrcmp \
++$(docdir)/building.pdf: .mkdir.__datarootdir__doc_fstrcmp \
+ etc/building.pdf
+ $(INSTALL_DATA) etc/building.pdf $@
+
+@@ -175,7 +193,7 @@ etc/readme.pdf: etc/new.0.1.so etc/new.0.2.so etc/new.0.3.so etc/new.0.4.so \
+ ps2pdf etc/readme.ps $@
+ rm etc/readme.ps
+
+-$(datarootdir)/doc/fstrcmp/readme.pdf: .mkdir.__datarootdir__doc_fstrcmp \
++$(docdir)/readme.pdf: .mkdir.__datarootdir__doc_fstrcmp \
+ etc/readme.pdf
+ $(INSTALL_DATA) etc/readme.pdf $@
+
+@@ -191,7 +209,7 @@ etc/reference.pdf: etc/building.man etc/new.0.1.so etc/new.0.2.so \
+ ps2pdf etc/reference.ps $@
+ rm etc/reference.ps
+
+-$(datarootdir)/doc/fstrcmp/reference.pdf: .mkdir.__datarootdir__doc_fstrcmp \
++$(docdir)/reference.pdf: .mkdir.__datarootdir__doc_fstrcmp \
+ etc/reference.pdf
+ $(INSTALL_DATA) etc/reference.pdf $@
+
+@@ -532,14 +550,9 @@ $(libdir)/libfstrcmp.la: .mkdir.__libdir_ lib/libfstrcmp.la
+ @-test -d $(datarootdir) && touch $@
+ @sleep 1
+
+-.mkdir.__datarootdir__doc: .mkdir.__datarootdir_
+- -$(INSTALL_DIR) $(datarootdir)/doc
+- @-test -d $(datarootdir)/doc && touch $@
+- @sleep 1
+-
+-.mkdir.__datarootdir__doc_fstrcmp: .mkdir.__datarootdir__doc
+- -$(INSTALL_DIR) $(datarootdir)/doc/fstrcmp
+- @-test -d $(datarootdir)/doc/fstrcmp && touch $@
++.mkdir.__datarootdir__doc_fstrcmp: .mkdir.__datarootdir_
++ -$(INSTALL_DIR) $(docdir)
++ @-test -d $(docdir) && touch $@
+ @sleep 1
+
+ .mkdir.__includedir_:
+@@ -633,7 +646,7 @@ clean-doc:
+
+ clean-misc:
+ rm -f .bin .mkdir.__bindir_ .mkdir.__datarootdir_
+- rm -f .mkdir.__datarootdir__doc .mkdir.__datarootdir__doc_fstrcmp
++ rm -f .mkdir.__datarootdir__doc_fstrcmp
+ rm -f .mkdir.__includedir_ .mkdir.__libdir_ .mkdir.__libdir__pkgconfig
+ rm -f .mkdir.__mandir_ .mkdir.__mandir__man1 .mkdir.__mandir__man3 core
+ rm -f etc/building.pdf etc/readme.pdf etc/reference.pdf
+@@ -666,9 +679,9 @@ install: install-bin install-doc install-include install-libdir install-man
+
+ install-bin: $(bindir)/fstrcmp$(EXEEXT)
+
+-install-doc: $(datarootdir)/doc/fstrcmp/building.pdf \
+- $(datarootdir)/doc/fstrcmp/readme.pdf \
+- $(datarootdir)/doc/fstrcmp/reference.pdf
++install-doc: $(docdir)/building.pdf \
++ $(docdir)/readme.pdf \
++ $(docdir)/reference.pdf
+
+ install-include: $(includedir)/fstrcmp.h
+
+@@ -687,9 +700,9 @@ install-man: $(mandir)/man1/fstrcmp.1 $(mandir)/man1/fstrcmp_license.1 \
+ $(mandir)/man3/fwcscmp.3 $(mandir)/man3/fwcscmpi.3
+
+ uninstall:
+- rm -f $(bindir)/fstrcmp$(EXEEXT) $(datarootdir)/doc/fstrcmp/building.pdf
+- rm -f $(datarootdir)/doc/fstrcmp/readme.pdf
+- rm -f $(datarootdir)/doc/fstrcmp/reference.pdf $(includedir)/fstrcmp.h
++ rm -f $(bindir)/fstrcmp$(EXEEXT) $(docdir)/building.pdf
++ rm -f $(docdir)/readme.pdf
++ rm -f $(docdir)/reference.pdf $(includedir)/fstrcmp.h
+ rm -f $(libdir)/libfstrcmp.a $(libdir)/libfstrcmp.la
+ rm -f $(libdir)/libfstrcmp.so* $(libdir)/pkgconfig/fstrcmp.pc
+ rm -f $(mandir)/man1/fstrcmp.1 $(mandir)/man1/fstrcmp_license.1
+--- a/configure.ac
++++ b/configure.ac
+@@ -16,7 +16,7 @@ dnl!
+ dnl! You should have received a copy of the GNU General Public License
+ dnl! along with this program. If not, see <http://www.gnu.org/licenses/>.
+ dnl!
+-AC_INIT(install-sh)
++AC_INIT([fstrcmp], [0.7])
+ AC_CONFIG_HEADER(lib/config.h)
+ AC_PROG_CC
+ AC_CANONICAL_HOST
diff --git a/dev-libs/libfstrcmp/files/libfstrcmp-0.7-libtool.patch b/dev-libs/libfstrcmp/files/libfstrcmp-0.7-libtool.patch
new file mode 100644
index 000000000000..4d893a5b2262
--- /dev/null
+++ b/dev-libs/libfstrcmp/files/libfstrcmp-0.7-libtool.patch
@@ -0,0 +1,81 @@
+https://bugs.gentoo.org/778371
+
+From: orbea <orbea@riseup.net>
+Date: Sat, 18 Jun 2022 20:49:52 -0700
+Subject: [PATCH] configure: Use LT_INIT to find libtool
+
+LT_INIT will generate libtool for the build which is required by
+rlibtool to determine if building shared or static libraries.
+
+--- a/Makefile.in
++++ b/Makefile.in
+@@ -37,6 +37,11 @@
+ srcdir = @srcdir@
+ VPATH = @srcdir@
+
++#
++# directory containing the build
++#
++top_builddir = @top_builddir@
++
+ #
+ # the name of the install program to use
+ #
+--- a/configure.ac
++++ b/configure.ac
+@@ -22,7 +22,7 @@ AC_PROG_CC
+ AC_CANONICAL_HOST
+ AC_GNU_SOURCE
+ AC_PROG_INSTALL
+-AC_PROG_RANLIB
++LT_INIT
+ AC_CHECK_PROGS(AR, ar)
+
+ AC_USE_SYSTEM_EXTENSIONS
+@@ -32,6 +32,8 @@ AC_ISC_POSIX
+ AC_OBJEXT
+ AC_EXEEXT
+
++AC_SUBST([top_builddir], [$abs_builddir])
++
+ dnl @synopsis AC_ADD_CFLAGS
+ dnl
+ dnl Add the given option to CFLAGS, if it doesn't break the compiler
+@@ -53,37 +55,6 @@ AC_ADD_CFLAGS(-Wshadow)
+ dnl! AC_ADD_CFLAGS(-Werror)
+ dnl! AC_ADD_CFLAGS([-Wl,--as-needed])
+
+-AC_CHECK_PROGS(LIBTOOL, libtool)
+-
+-if test -z "$LIBTOOL"
+-then
+- AC_MSG_RESULT([
+- You must have GNU Libtool installed to build fstrcmp.
+- Homepage: http://www.gnu.org/software/libtool/])
+- OK=no
+- if apt-get --version > /dev/null 2> /dev/null; then
+- AC_MSG_RESULT([
+- The following command may be used to install it:
+- sudo apt-get install libtool
+- ])
+- OK=yes
+- fi
+- if yum --version > /dev/null 2> /dev/null; then
+- AC_MSG_RESULT([
+- The following command may be used to install it:
+- sudo yum install libtool
+- ])
+- OK=yes
+- fi
+- if test "$OK" != "yes"; then
+- AC_MSG_RESULT([
+- If you are using a package based install, you will need the
+- libtool package.
+- ])
+- fi
+- exit 1
+-fi
+-
+ AC_CHECK_PROGS(GROFF, groff roff)
+ AC_CHECK_PROGS(SOELIM, gsoelim soelim)
+ AC_CHECK_PROGS(REFER, refer grefer)
diff --git a/dev-libs/libfstrcmp/libfstrcmp-0.7-r3.ebuild b/dev-libs/libfstrcmp/libfstrcmp-0.7-r3.ebuild
new file mode 100644
index 000000000000..658767df2545
--- /dev/null
+++ b/dev-libs/libfstrcmp/libfstrcmp-0.7-r3.ebuild
@@ -0,0 +1,49 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools
+
+DESCRIPTION="Make fuzzy comparisons of strings and byte arrays"
+HOMEPAGE="http://fstrcmp.sourceforge.net/"
+SRC_URI="http://fstrcmp.sourceforge.net/fstrcmp-${PV}.D001.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/fstrcmp-${PV}.D001"
+
+LICENSE="GPL-3+"
+SLOT="0"
+IUSE="doc static-libs test"
+KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~x86"
+
+BDEPEND="
+ sys-apps/groff
+ doc? ( app-text/ghostscript-gpl )
+ test? ( app-text/ghostscript-gpl )
+"
+
+RESTRICT="!test? ( test )"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-libtool.patch # 778371
+ "${FILESDIR}"/${P}-docdir.patch # 853133
+)
+
+src_prepare() {
+ default
+ eautoreconf
+}
+
+src_compile() {
+ emake all-bin
+ use doc && emake all-doc
+}
+
+src_install() {
+ emake DESTDIR="${D}" install-bin install-include install-libdir install-man
+ find "${D}" -name '*.la' -delete || die
+ if ! use static-libs ; then
+ find "${D}" -name '*.a' -delete || die
+ fi
+ use doc && emake DESTDIR="${D}" install-doc
+ einstalldocs
+}
diff --git a/dev-libs/libg15/Manifest b/dev-libs/libg15/Manifest
index edf13133fb4b..027d34a75cbe 100644
--- a/dev-libs/libg15/Manifest
+++ b/dev-libs/libg15/Manifest
@@ -1 +1,2 @@
DIST libg15-1.2.7.tar.bz2 232475 BLAKE2B 490193410f2127d4efc0bcf64909514faff2ecce57bba08e1cf53a958ab296a59bc12867bbd14ca1bf866e5f69833d99f4e3ebb7d078ece35725afe2c0dd03ab SHA512 ddffb38f5c3d9ce0cb90b0375c2f5d317a7bb3889fe59d56932a0889c6e15bc2f1e590757d3182eddf7c5bd3101303b332b18fbd37247c20f66e1be256aa93c0
+DIST libg15-3.0.7.tar.bz2 327738 BLAKE2B 3879e8119380fc514e04b63723601a97e1efacda48435ce79815faf2e525482cc0e3b9d6bebf135068f0c9d16b6753b8eb7dfb71bed2cfdb531983283e3fcd8e SHA512 f8f5a363fe6457e9845bea37260d1e8e266503822c554b4c51caeadf3364acb9d76e3535b9ddf633cdde6082f166f8b41141fae3d8f5fe83885b16d228aedb01
diff --git a/dev-libs/libg15/libg15-3.0.7.ebuild b/dev-libs/libg15/libg15-3.0.7.ebuild
new file mode 100644
index 000000000000..0a74e03e1c6a
--- /dev/null
+++ b/dev-libs/libg15/libg15-3.0.7.ebuild
@@ -0,0 +1,37 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+if [[ ${PV} == *9999 ]]; then
+ inherit autotools git-r3
+ EGIT_REPO_URI="https://gitlab.com/menelkir/libg15.git"
+else
+ KEYWORDS="~amd64 ~ppc ~ppc64 ~x86"
+ SRC_URI="https://gitlab.com/menelkir/${PN}/-/archive/${PV}/${P}.tar.bz2"
+fi
+
+DESCRIPTION="The libg15 library gives low-level access to the Logitech G15 keyboard"
+HOMEPAGE="https://gitlab.com/menelkir/libg15"
+
+LICENSE="GPL-2"
+SLOT="0"
+
+RDEPEND="virtual/libusb:0"
+DEPEND="${RDEPEND}"
+
+src_prepare() {
+ default
+ [[ ${PV} == *9999 ]] && eautoreconf
+}
+
+src_configure() {
+ econf --disable-static
+}
+
+src_install() {
+ default
+
+ # no static archives
+ find "${ED}" -type f -name '*.la' -delete || die
+}
diff --git a/dev-libs/libg15/libg15-9999.ebuild b/dev-libs/libg15/libg15-9999.ebuild
index 638cbaf73401..0a74e03e1c6a 100644
--- a/dev-libs/libg15/libg15-9999.ebuild
+++ b/dev-libs/libg15/libg15-9999.ebuild
@@ -1,19 +1,18 @@
-# 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
if [[ ${PV} == *9999 ]]; then
- inherit autotools subversion
- ESVN_PROJECT=g15tools/trunk
- ESVN_REPO_URI="https://svn.code.sf.net/p/g15tools/code/trunk/${PN}"
+ inherit autotools git-r3
+ EGIT_REPO_URI="https://gitlab.com/menelkir/libg15.git"
else
- KEYWORDS="amd64 ppc ppc64 x86"
- SRC_URI="mirror://sourceforge/g15tools/${P}.tar.bz2"
+ KEYWORDS="~amd64 ~ppc ~ppc64 ~x86"
+ SRC_URI="https://gitlab.com/menelkir/${PN}/-/archive/${PV}/${P}.tar.bz2"
fi
DESCRIPTION="The libg15 library gives low-level access to the Logitech G15 keyboard"
-HOMEPAGE="https://sourceforge.net/projects/g15tools/"
+HOMEPAGE="https://gitlab.com/menelkir/libg15"
LICENSE="GPL-2"
SLOT="0"
diff --git a/dev-libs/libg15/metadata.xml b/dev-libs/libg15/metadata.xml
index f545d7a2f439..947c62c9e342 100644
--- a/dev-libs/libg15/metadata.xml
+++ b/dev-libs/libg15/metadata.xml
@@ -4,10 +4,6 @@
<maintainer type="person">
<email>robbat2@gentoo.org</email>
</maintainer>
- <maintainer type="person">
- <email>polynomial-c@gentoo.org</email>
- <name>Lars Wendler</name>
- </maintainer>
<upstream>
<remote-id type="sourceforge">g15tools</remote-id>
</upstream>
diff --git a/dev-libs/libg15render/Manifest b/dev-libs/libg15render/Manifest
index b7b87acab99a..02428fd9f084 100644
--- a/dev-libs/libg15render/Manifest
+++ b/dev-libs/libg15render/Manifest
@@ -1 +1,2 @@
DIST libg15render-1.2.tar.bz2 246034 BLAKE2B 70c21341949186dc65bec7ef0f695c783928ab024e5bd3f83eedc527a501bee64cf0561f5e642e3e9173f063b6f74ecca458262ee9c40a2a8837f197338bbb31 SHA512 960fd6bc6159b1b12e1de3b0c07e5960d7d5056d4927be8eddf89a911e2c97a8677ef41456aa255399e8a86cd354b848fab28a47005ee2d1b6640e0c886deaac
+DIST libg15render-3.0.4.tar.bz2 293668 BLAKE2B 82fece311baf59098d6196b5aa31d6584bf3f610854839e3dcf2318f3e3275ae9394ea2b21576d6e6cc4fffb2440d19b7322704087988de8c47e60d822949758 SHA512 f11470b4c8709b7cab8747d8eca4d55ddf88f6dd0a46f11de78612d6070c8b5ea7188ec1ea0236edbb0e5904e6dffd7c75831d5e00564b3cebf8b9dc58b0100e
diff --git a/dev-libs/libg15render/files/libg15render-3.0.4-docdir.patch b/dev-libs/libg15render/files/libg15render-3.0.4-docdir.patch
new file mode 100644
index 000000000000..781c9b6bfcaf
--- /dev/null
+++ b/dev-libs/libg15render/files/libg15render-3.0.4-docdir.patch
@@ -0,0 +1,25 @@
+From 2900f3f8a90915f59a25c8b3fb27912492e7b044 Mon Sep 17 00:00:00 2001
+From: Lars Wendler <polynomial-c@gentoo.org>
+Date: Sat, 14 May 2022 18:20:24 +0200
+Subject: [PATCH] Makefile.am: Make docdir selectable
+
+---
+ Makefile.am | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/Makefile.am b/Makefile.am
+index 2fdacd7..cf00f1c 100644
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -7,7 +7,7 @@ libg15render_la_LDFLAGS = -version-info 3:0
+ include_HEADERS= libg15render.h
+ EXTRA_DIST = debian libg15render.3
+ man3_MANS = $(top_srcdir)/libg15render.3
+-docdir = $(prefix)/share/doc/$(PACKAGE)-$(VERSION)
++docdir = @docdir@
+ doc_DATA = AUTHORS ChangeLog COPYING NEWS README
+ ACLOCAL_AMFLAGS = -I m4
+
+--
+2.36.1
+
diff --git a/dev-libs/libg15render/files/libg15render-3.0.4-freetype_pkgconfig.patch b/dev-libs/libg15render/files/libg15render-3.0.4-freetype_pkgconfig.patch
new file mode 100644
index 000000000000..54a8fd4c07d3
--- /dev/null
+++ b/dev-libs/libg15render/files/libg15render-3.0.4-freetype_pkgconfig.patch
@@ -0,0 +1,59 @@
+diff --git a/configure.ac b/configure.ac
+index 97338f3..a64f64c 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -13,19 +13,41 @@ AC_PROG_CC
+ LT_INIT
+
+ # Checks for --enable args
+-AC_MSG_CHECKING(whether to enable FreeType2 support)
+-AC_ARG_ENABLE(ttf, [ --enable-ttf enable FreeType2 support],
+- if [[[ "$enableval" = "yes" ]]]; then
+- AC_DEFINE(TTF_SUPPORT, [1], [Define to 1 to enable FreeType2 support])
+- CFLAGS="$CFLAGS `freetype-config --cflags`"
+- FTLIB="-lfreetype"
+- ttf_support="yes"
+- else
+- ttf_support="no"
+- fi,
+- ttf_support="no"
+-)
+-AC_MSG_RESULT($ttf_support)
++AC_ARG_ENABLE(ttf, [ --enable-ttf enable FreeType2 support],,[enable_ttf=no])
++AS_IF([test "x$enable_ttf" != "xno"], [
++ m4_ifdef([PKG_PROG_PKG_CONFIG], [
++ PKG_PROG_PKG_CONFIG
++ PKG_CHECK_MODULES(FREETYPE, freetype2,
++ [
++ AC_DEFINE(TTF_SUPPORT, [1], [Define to 1 to enable FreeType2 support])
++ CFLAGS="$CFLAGS $FREETYPE_CFLAGS"
++ FTLIB="$FREETYPE_LIBS"
++ ], [
++ AS_IF([test "x$enable_ttf" = "xyes"], [
++ AC_MSG_ERROR([Cannot find freetype2])
++ ])
++ ])
++ ], [
++ AC_MSG_CHECKING(whether to enable FreeType2 support)
++ AC_PATH_PROG([FTCONFIG], [freetype-config])
++ AS_IF([test -n "$FTCONFIG" ], [
++ CFLAGS="$CFLAGS `$FTCONFIG --cflags`"
++ FTLIB="-lfreetype"
++ AC_DEFINE(TTF_SUPPORT, [1])
++ AC_MSG_RESULT([yes])
++ ], [
++ AS_IF([test "x$enable_ttf" = "xyes"], [
++ AC_MSG_ERROR([Cannot find freetype-config])
++ ], [
++ AC_DEFINE(TTF_SUPPORT, [0])
++ ])
++ ])
++ AC_MSG_RESULT([no])
++ ]
++ )
++], [
++ AC_MSG_RESULT(No Freetype is being used)
++])
+
+ # Checks for libraries.
+ AC_CHECK_LIB([g15], [writePixmapToLCD], ,AC_MSG_ERROR(["libg15 not found. please install it"]))
diff --git a/dev-libs/libg15render/libg15render-3.0.4.ebuild b/dev-libs/libg15render/libg15render-3.0.4.ebuild
new file mode 100644
index 000000000000..5ac51ead28ff
--- /dev/null
+++ b/dev-libs/libg15render/libg15render-3.0.4.ebuild
@@ -0,0 +1,52 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools
+
+DESCRIPTION="Small library for display text and graphics on a Logitech G15 keyboard"
+HOMEPAGE="https://gitlab.com/menelkir/libg15render"
+if [[ ${PV} == *9999 ]] ; then
+ inherit git-r3
+ EGIT_REPO_URI="https://gitlab.com/menelkir/libg15render.git"
+else
+ SRC_URI="https://gitlab.com/menelkir/${PN}/-/archive/${PV}/${P}.tar.bz2"
+ KEYWORDS="~amd64 ~ppc ~ppc64 ~x86"
+fi
+
+LICENSE="GPL-2"
+SLOT="0"
+IUSE="truetype"
+
+RDEPEND="
+ >=dev-libs/libg15-3.0
+ truetype? ( media-libs/freetype )"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ truetype? ( virtual/pkgconfig )"
+
+PATCHES=(
+ "${FILESDIR}/${P}-freetype_pkgconfig.patch"
+ "${FILESDIR}/${PN}-3.0.4-docdir.patch"
+)
+
+src_prepare() {
+ default
+ eautoreconf
+}
+
+src_configure() {
+ local myeconfargs=(
+ --disable-static
+ $(use_enable truetype ttf)
+ )
+ econf "${myeconfargs[@]}"
+}
+
+src_install() {
+ default
+
+ # no static archives
+ find "${ED}" -type f -name '*.la' -delete || die
+}
diff --git a/dev-libs/libg15render/libg15render-9999.ebuild b/dev-libs/libg15render/libg15render-9999.ebuild
new file mode 100644
index 000000000000..bafaecea0fdc
--- /dev/null
+++ b/dev-libs/libg15render/libg15render-9999.ebuild
@@ -0,0 +1,51 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools
+
+DESCRIPTION="Small library for display text and graphics on a Logitech G15 keyboard"
+HOMEPAGE="https://gitlab.com/menelkir/libg15render"
+if [[ ${PV} == *9999 ]] ; then
+ inherit git-r3
+ EGIT_REPO_URI="https://gitlab.com/menelkir/libg15render.git"
+else
+ SRC_URI="https://gitlab.com/menelkir/${PN}/-/archive/${PV}/${P}.tar.bz2"
+ KEYWORDS="~amd64 ~ppc ~ppc64 ~x86"
+fi
+
+LICENSE="GPL-2"
+SLOT="0"
+IUSE="truetype"
+
+RDEPEND="
+ >=dev-libs/libg15-3.0
+ truetype? ( media-libs/freetype )"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ truetype? ( virtual/pkgconfig )"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-3.0.4-docdir.patch"
+)
+
+src_prepare() {
+ default
+ eautoreconf
+}
+
+src_configure() {
+ local myeconfargs=(
+ --disable-static
+ $(use_enable truetype ttf)
+ )
+ econf "${myeconfargs[@]}"
+}
+
+src_install() {
+ default
+
+ # no static archives
+ find "${ED}" -type f -name '*.la' -delete || die
+}
diff --git a/dev-libs/libg15render/metadata.xml b/dev-libs/libg15render/metadata.xml
index f545d7a2f439..947c62c9e342 100644
--- a/dev-libs/libg15render/metadata.xml
+++ b/dev-libs/libg15render/metadata.xml
@@ -4,10 +4,6 @@
<maintainer type="person">
<email>robbat2@gentoo.org</email>
</maintainer>
- <maintainer type="person">
- <email>polynomial-c@gentoo.org</email>
- <name>Lars Wendler</name>
- </maintainer>
<upstream>
<remote-id type="sourceforge">g15tools</remote-id>
</upstream>
diff --git a/dev-libs/libgamin/files/libgamin-0.1.10-crosscompile-fix.patch b/dev-libs/libgamin/files/libgamin-0.1.10-crosscompile-fix.patch
index ce3a15b5e160..88de87fe6595 100644
--- a/dev-libs/libgamin/files/libgamin-0.1.10-crosscompile-fix.patch
+++ b/dev-libs/libgamin/files/libgamin-0.1.10-crosscompile-fix.patch
@@ -1,5 +1,5 @@
---- configure.in.orig 2009-04-26 23:00:43.445135823 +0300
-+++ configure.in 2009-04-26 23:25:04.042489243 +0300
+--- gamin-0.1.10/configure.in
++++ gamin-0.1.10/configure.in
@@ -389,8 +389,7 @@
AC_MSG_CHECKING(abstract socket namespace)
diff --git a/dev-libs/libgamin/files/libgamin-0.1.10-musl-pthread.patch b/dev-libs/libgamin/files/libgamin-0.1.10-musl-pthread.patch
new file mode 100644
index 000000000000..35ad2602c46b
--- /dev/null
+++ b/dev-libs/libgamin/files/libgamin-0.1.10-musl-pthread.patch
@@ -0,0 +1,33 @@
+https://bugs.gentoo.org/538474
+https://bugzilla.gnome.org/show_bug.cgi?id=588337
+
+From: Felix Janda <felix.janda@posteo.de>
+Date: Mon, 2 Feb 2015 20:08:40 +0100
+Subject: [PATCH] Use PTHREAD_MUTEX_RECURSIVE unconditionally
+
+Previously the nonportable PTHREAD_MUTEX_RECURSIVE_NP had been
+used for portability with glibc. However since 1998 glibc also
+has PTHREAD_MUTEX_RECURSIVE if _XOPEN_SOURCE is >= 500. So we
+can use the portable version for all known systems.
+--- a/libgamin/gam_data.c
++++ b/libgamin/gam_data.c
+@@ -2,6 +2,7 @@
+ * gam_data.c: implementation of the connection data handling of libgamin
+ */
+
++#define _XOPEN_SOURCE 700
+ #include <stdlib.h>
+ #include <string.h> /* for memset */
+ #include <stdio.h>
+@@ -470,11 +471,7 @@ gamin_data_new(void)
+ }
+ if (is_threaded > 0) {
+ pthread_mutexattr_init(&attr);
+-#if defined(linux) || defined(PTHREAD_MUTEX_RECURSIVE_NP)
+- pthread_mutexattr_settype(&attr, PTHREAD_MUTEX_RECURSIVE_NP);
+-#else
+ pthread_mutexattr_settype(&attr, PTHREAD_MUTEX_RECURSIVE);
+-#endif
+ pthread_mutex_init(&ret->lock, &attr);
+ pthread_mutexattr_destroy(&attr);
+ }
diff --git a/dev-libs/libgamin/libgamin-0.1.10-r6.ebuild b/dev-libs/libgamin/libgamin-0.1.10-r6.ebuild
index 5353e67256ce..86fcb2f3bb8d 100644
--- a/dev-libs/libgamin/libgamin-0.1.10-r6.ebuild
+++ b/dev-libs/libgamin/libgamin-0.1.10-r6.ebuild
@@ -17,7 +17,7 @@ SRC_URI="${SRC_URI}
LICENSE="LGPL-2"
SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~x86-solaris"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux"
IUSE="debug static-libs"
RESTRICT="test" # needs gam-server
@@ -59,6 +59,9 @@ src_prepare() {
# Fix possible server deadlock in ih_sub_cancel, upstream bug #667230
epatch "${FILESDIR}/${PN}-0.1.10-deadlock.patch"
+ # Fix musl build, upstream bug #588337
+ epatch "${FILESDIR}/${PN}-0.1.10-musl-pthread.patch"
+
# Drop DEPRECATED flags
sed -i -e 's:-DG_DISABLE_DEPRECATED:$(NULL):g' server/Makefile.am || die
diff --git a/dev-libs/libgamin/libgamin-0.1.10-r7.ebuild b/dev-libs/libgamin/libgamin-0.1.10-r7.ebuild
new file mode 100644
index 000000000000..3e0d9572036a
--- /dev/null
+++ b/dev-libs/libgamin/libgamin-0.1.10-r7.ebuild
@@ -0,0 +1,100 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+GNOME_ORG_MODULE="gamin"
+GNOME_TARBALL_SUFFIX="bz2"
+
+inherit autotools gnome.org multilib-minimal
+
+DESCRIPTION="Library providing the FAM File Alteration Monitor API"
+HOMEPAGE="https://www.gnome.org/~veillard/gamin/"
+SRC_URI="${SRC_URI}
+ mirror://gentoo/gamin-0.1.9-freebsd.patch.bz2
+ https://dev.gentoo.org/~grobian/patches/libgamin-0.1.10-opensolaris.patch.bz2
+ https://pkgconfig.freedesktop.org/releases/pkg-config-0.28.tar.gz" # pkg.m4 for eautoreconf
+
+LICENSE="LGPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux"
+IUSE="debug static-libs"
+
+RESTRICT="test" # needs gam-server
+
+RDEPEND="
+ !app-admin/fam
+ !<app-admin/gamin-0.1.10"
+DEPEND="${RDEPEND}"
+
+src_prepare() {
+ default
+ mv "${WORKDIR}"/pkg-config-*/pkg.m4 "${WORKDIR}"/ || die
+
+ # Fix QA warnings, bug #257281, upstream #466791
+ eapply "${FILESDIR}"/${PN}-0.1.10-compilewarnings.patch
+
+ if [[ ${CHOST} != *-solaris* ]] ; then
+ # Fix compile warnings; bug #188923
+ eapply "${WORKDIR}"/gamin-0.1.9-freebsd.patch
+ else
+ # (Open)Solaris necessary patches (changes configure.in), unfortunately
+ # conflicts with freebsd patch and breaks some linux installs so it must
+ # only be applied if on solaris.
+ eapply -p0 "${WORKDIR}"/${P}-opensolaris.patch
+ fi
+
+ # Fix collision problem due to intermediate library, upstream bug #530635
+ eapply "${FILESDIR}"/${PN}-0.1.10-noinst-lib.patch
+
+ # Fix compilation with latest glib, bug #382783
+ eapply "${FILESDIR}/${PN}-0.1.10-G_CONST_RETURN-removal.patch"
+
+ # Fix crosscompilation issues, bug #267604
+ eapply "${FILESDIR}/${PN}-0.1.10-crosscompile-fix.patch"
+
+ # Enable linux specific features on armel, upstream bug #588338
+ eapply "${FILESDIR}/${P}-armel-features.patch"
+
+ # Fix possible server deadlock in ih_sub_cancel, upstream bug #667230
+ eapply "${FILESDIR}/${PN}-0.1.10-deadlock.patch"
+
+ # Fix musl build, upstream bug #588337
+ eapply "${FILESDIR}/${PN}-0.1.10-musl-pthread.patch"
+
+ # Drop DEPRECATED flags
+ sed -i -e 's:-DG_DISABLE_DEPRECATED:$(NULL):g' server/Makefile.am || die
+
+ sed -i \
+ -e 's:AM_CONFIG_HEADER:AC_CONFIG_HEADERS:' \
+ -e 's:AM_PROG_CC_STDC:AC_PROG_CC:' \
+ configure.in || die #466962
+
+ mv configure.in configure.ac || die
+ # autoconf is required as the user-cflags patch modifies configure.in
+ # however, elibtoolize is also required, so when the above patch is
+ # removed, replace the following call with a call to elibtoolize
+ AT_M4DIR="${WORKDIR}" eautoreconf
+}
+
+multilib_src_configure() {
+ local myconf=(
+ $(use_enable static-libs static)
+ --disable-debug
+ --disable-server
+ $(use_enable kernel_linux inotify)
+ $(use_enable debug debug-api)
+ --without-python
+ )
+ local ECONF_SOURCE=${S}
+
+ econf "${myconf[@]}"
+}
+
+multilib_src_install_all() {
+ DOCS=( AUTHORS ChangeLog README TODO NEWS doc/*txt )
+ HTML_DOCS=( doc/*.{html,gif} )
+ einstalldocs
+
+ find "${ED}" -name '*.la' -delete || die
+}
diff --git a/dev-libs/libgaminggear/libgaminggear-0.15.1.ebuild b/dev-libs/libgaminggear/libgaminggear-0.15.1.ebuild
index d840aa57f738..c7184acf5ab2 100644
--- a/dev-libs/libgaminggear/libgaminggear-0.15.1.ebuild
+++ b/dev-libs/libgaminggear/libgaminggear-0.15.1.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 xdg
@@ -9,6 +9,7 @@ DESCRIPTION="Provides functionality for gaming input devices"
HOMEPAGE="https://sourceforge.net/projects/libgaminggear/"
SRC_URI="mirror://sourceforge/libgaminggear/${P}.tar.bz2"
+
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~amd64 ~x86"
@@ -23,15 +24,13 @@ RDEPEND="
x11-libs/libnotify
x11-libs/pango
"
-
-DEPEND="
- ${RDEPEND}
+DEPEND="${RDEPEND}
dev-libs/libgudev
media-libs/harfbuzz
"
BDEPEND="
dev-util/glib-utils
- doc? ( app-doc/doxygen )
+ doc? ( app-text/doxygen )
"
PATCHES=(
@@ -39,30 +38,9 @@ PATCHES=(
"${FILESDIR}"/${P}-cmake-3.13.patch
)
-# Required because xdg.eclass overrides src_prepare() from cmake.eclass
-src_prepare() {
- cmake_src_prepare
-}
-
src_configure() {
- mycmakeargs=(
+ local mycmakeargs=(
-DWITH_DOC="$(usex doc)"
)
cmake_src_configure
}
-
-src_install() {
- cmake_src_install
-}
-
-pkg_preinst() {
- xdg_pkg_preinst
-}
-
-pkg_postinst() {
- xdg_pkg_postinst
-}
-
-pkg_postrm() {
- xdg_pkg_postrm
-}
diff --git a/dev-libs/libgaminggear/metadata.xml b/dev-libs/libgaminggear/metadata.xml
index dfc863688f72..7b28a38420b3 100644
--- a/dev-libs/libgaminggear/metadata.xml
+++ b/dev-libs/libgaminggear/metadata.xml
@@ -1,10 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <email>polynomial-c@gentoo.org</email>
- <name>Lars Wendler</name>
- </maintainer>
+ <!-- maintainer-needed -->
<upstream>
<remote-id type="sourceforge">libgaminggear</remote-id>
</upstream>
diff --git a/dev-libs/libgcrypt-compat/libgcrypt-compat-1.5.6.ebuild b/dev-libs/libgcrypt-compat/libgcrypt-compat-1.5.6.ebuild
index ec5dee1b148b..2ee712b6b33c 100644
--- a/dev-libs/libgcrypt-compat/libgcrypt-compat-1.5.6.ebuild
+++ b/dev-libs/libgcrypt-compat/libgcrypt-compat-1.5.6.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
@@ -9,11 +9,11 @@ MY_PN="${PN%-compat}"
MY_P="${MY_PN}-${PV}"
DESCRIPTION="Old version of libgcrypt needed by some binaries"
-HOMEPAGE="http://www.gnupg.org/"
+HOMEPAGE="https://www.gnupg.org/"
SRC_URI="mirror://gnupg/${MY_PN}/${MY_P}.tar.bz2"
LICENSE="LGPL-2.1 MIT"
SLOT="11" # soname major version
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~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 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
RDEPEND=">=dev-libs/libgpg-error-1.12[${MULTILIB_USEDEP}]
!dev-libs/libgcrypt:0/11
@@ -44,9 +44,7 @@ multilib_src_configure() {
--without-capabilities
# http://trac.videolan.org/vlc/ticket/620
- # causes bus-errors on sparc64-solaris
$([[ ${CHOST} == *86*-darwin* ]] && echo "--disable-asm")
- $([[ ${CHOST} == sparcv9-*-solaris* ]] && echo "--disable-asm")
)
ECONF_SOURCE="${S}" econf "${myeconfargs[@]}"
}
diff --git a/dev-libs/libgcrypt/Manifest b/dev-libs/libgcrypt/Manifest
index 5a23e33ec52f..2bbd8c896934 100644
--- a/dev-libs/libgcrypt/Manifest
+++ b/dev-libs/libgcrypt/Manifest
@@ -1,3 +1,4 @@
-DIST libgcrypt-1.8.7.tar.bz2 2985660 BLAKE2B cb2132b826f3f3af240e6c9ac5fd992808aa17ce64144d17452591a5b1e402564af82c021b58f5fd620ebeb5894ac9654835f6d8376ec05ee41fc02189dd6825 SHA512 6309d17624d8029848990d225d5924886c951cef691266c8e010fbbb7f678972cee70cbb91d370ad0bcdc8c8761402a090c2c853c9427ec79293624a59da5060
-DIST libgcrypt-1.8.8.tar.bz2 2987685 BLAKE2B 7b590c06d91403f1bbfa108379b3747271e9c83acc5547a4d43ef9ada9b0b7c78654cdc24f6cd0db012d50628ae4ec9320dcb63a901ec2dadde6a7ed56dbed7e SHA512 9861f3b5da3cb013eb79efbf2859864f8c2c11b41484b051c981c45cc0bf1569202838226da10ebddeb7a7b7f39ebd3a95f107b9bf6f908074ccc9a51ea94db8
-DIST libgcrypt-1.9.4.tar.bz2 3239704 BLAKE2B b8244bc12a68955797b0c2b474ac5c95df1014231f7180a2ffa113e3aacedc98eed60ee1e4b30b032a5fcd6a04855ae07142c223906d5db9c28328a71e014f33 SHA512 d0e117ac73c94d70e9521ee1e6328691498cc8328f8c4e21338096908f5c04c7b838966eb63d59494565f4e19f506c07dab4f4d922150d75610d9f7b57abbf60
+DIST libgcrypt-1.10.2.tar.bz2 3795164 BLAKE2B c86b29648664aae3fb694b20ad258828d2cecbb09db2b83df00fbdebd5d74228c92015c50f659c250cb0768ccaef7949294d9b7cdcd47e1387b7dce81d35da19 SHA512 3a850baddfe8ffe8b3e96dc54af3fbb9e1dab204db1f06b9b90b8fbbfb7fb7276260cd1e61ba4dde5a662a2385385007478834e62e95f785d2e3d32652adb29e
+DIST libgcrypt-1.10.2.tar.bz2.sig 119 BLAKE2B 3753134a1ed1fd2bfd2c64f175c3745db02791359646b3f0229c80ce4ccedbb147ee889a6b8c4fe4bf7e9067d804ee18a8411cd347026cd1656ad1d4d5686bec SHA512 9350444a0bcfa49217815a831f2286ccea470311673257bd809eb5dedbe97d2a5543b0bc7fb752312df69adeb7ac5f064e433f2545a8bf3e494027986cd8020c
+DIST libgcrypt-1.10.3.tar.bz2 3783827 BLAKE2B 1a228e02820e886016eb55dee75936c4422a15fb4f95a2f9bcd1e4faac4015d4321c7c8d23f164eb08ece5d62935ab3b3d3104eabfdd22db997ab3e5689dfa6f SHA512 8a8d4c61a6622d8481ceb9edc88ec43f58da32e316f79f8d4775325a48f8936aaa9eb355923b39e2c267b784e9c390600daeb62e0c94f00e30bbadb0d8c0865d
+DIST libgcrypt-1.10.3.tar.bz2.sig 238 BLAKE2B 216baebca91b2e940f60d70a4260b6b6b8221ef88cfb42b020bc7b3743a465ef2cf105316648ed1e689cbbf7d79da421aa9f08b5af21c5b862734cf01f377214 SHA512 73795781a458c334ec6daade1b86ae8b788dd5da0b7198b46b8e54a103c5ec4c65a5dd7e6a9d173d136889f24e7f5721992f59117334f39bd1c8a94e3b55a048
diff --git a/dev-libs/libgcrypt/files/libgcrypt-1.10.2-darwin.patch b/dev-libs/libgcrypt/files/libgcrypt-1.10.2-darwin.patch
new file mode 100644
index 000000000000..6153f1840b97
--- /dev/null
+++ b/dev-libs/libgcrypt/files/libgcrypt-1.10.2-darwin.patch
@@ -0,0 +1,20 @@
+https://dev.gnupg.org/T6442
+
+Patch as suggested by Werned in https://dev.gnupg.org/T6442#169396
+
+--- a/random/rndgetentropy.c
++++ b/random/rndgetentropy.c
+@@ -94,8 +94,13 @@
+ * and might not be applicable on other FIPS modules not running
+ * RHEL kernel.
+ */
++#ifdef GRND_RANDOM
+ nbytes = length < 32 ? length : 32;
+ ret = getrandom (buffer, nbytes, GRND_RANDOM);
++#else
++ ret = -1;
++ gpg_err_set_errno (ENOSYS);
++#endif
+ }
+ else
+ {
diff --git a/dev-libs/libgcrypt/files/libgcrypt-1.10.3-hppa.patch b/dev-libs/libgcrypt/files/libgcrypt-1.10.3-hppa.patch
new file mode 100644
index 000000000000..daa1bba9f439
--- /dev/null
+++ b/dev-libs/libgcrypt/files/libgcrypt-1.10.3-hppa.patch
@@ -0,0 +1,110 @@
+https://bugs.gentoo.org/925284
+https://git.gnupg.org/cgi-bin/gitweb.cgi?p=libgcrypt.git;a=commit;h=75e9bcccb69a9dea67d90840bd295bbd1749cea3
+
+From 75e9bcccb69a9dea67d90840bd295bbd1749cea3 Mon Sep 17 00:00:00 2001
+From: NIIBE Yutaka <gniibe@fsij.org>
+Date: Mon, 4 Mar 2024 09:00:59 +0900
+Subject: [PATCH] mpi: Fix ECC computation on hppa.
+
+* mpi/ec-inline.h [__hppa] (ADD4_LIMB32, SUB4_LIMB32): New.
+* mpi/longlong.h [__hppa] (add_ssaaaa, sub_ddmmss): Add __CLOBBER_CC.
+
+--
+
+Cherry-pick master commit of:
+ b757f4130af987bdfc769b754b6e9e27882c349c
+
+GnuPG-bug-id: 7022
+Signed-off-by: NIIBE Yutaka <gniibe@fsij.org>
+---
+ mpi/ec-inline.h | 40 ++++++++++++++++++++++++++++++++++++++++
+ mpi/longlong.h | 12 ++++++------
+ 2 files changed, 46 insertions(+), 6 deletions(-)
+
+diff --git a/mpi/ec-inline.h b/mpi/ec-inline.h
+index 0ffdf8eb..c24d5352 100644
+--- a/mpi/ec-inline.h
++++ b/mpi/ec-inline.h
+@@ -921,6 +921,46 @@ LIMB64_HILO(mpi_limb_t hi, mpi_limb_t lo)
+
+ #endif /* HAVE_COMPATIBLE_GCC_ARM_PLATFORM_AS */
+
++#if defined (__hppa) && __GNUC__ >= 4
++#define ADD4_LIMB32(A3, A2, A1, A0, B3, B2, B1, B0, C3, C2, C1, C0) \
++ __asm__ ("add %7,%11,%3\n\t" \
++ "addc %6,%10,%2\n\t" \
++ "addc %5,%9,%1\n\t" \
++ "addc %4,%8,%0" \
++ : "=r" (A3), \
++ "=&r" (A2), \
++ "=&r" (A1), \
++ "=&r" (A0) \
++ : "rM" ((mpi_limb_t)(B3)), \
++ "rM" ((mpi_limb_t)(B2)), \
++ "rM" ((mpi_limb_t)(B1)), \
++ "rM" ((mpi_limb_t)(B0)), \
++ "rM" ((mpi_limb_t)(C3)), \
++ "rM" ((mpi_limb_t)(C2)), \
++ "rM" ((mpi_limb_t)(C1)), \
++ "rM" ((mpi_limb_t)(C0)) \
++ : "cc")
++
++#define SUB4_LIMB32(A3, A2, A1, A0, B3, B2, B1, B0, C3, C2, C1, C0) \
++ __asm__ ("sub %7,%11,%3\n\t" \
++ "subb %6,%10,%2\n\t" \
++ "subb %5,%9,%1\n\t" \
++ "subb %4,%8,%0\n\t" \
++ : "=r" (A3), \
++ "=&r" (A2), \
++ "=&r" (A1), \
++ "=&r" (A0) \
++ : "rM" ((mpi_limb_t)(B3)), \
++ "rM" ((mpi_limb_t)(B2)), \
++ "rM" ((mpi_limb_t)(B1)), \
++ "rM" ((mpi_limb_t)(B0)), \
++ "rM" ((mpi_limb_t)(C3)), \
++ "rM" ((mpi_limb_t)(C2)), \
++ "rM" ((mpi_limb_t)(C1)), \
++ "rM" ((mpi_limb_t)(C0)) \
++ : "cc")
++
++#endif /* __hppa */
+
+ /* Common 32-bit arch addition/subtraction macros. */
+
+diff --git a/mpi/longlong.h b/mpi/longlong.h
+index c299534c..1ab70e7e 100644
+--- a/mpi/longlong.h
++++ b/mpi/longlong.h
+@@ -394,23 +394,23 @@ extern UDItype __udiv_qrnnd ();
+ ***************************************/
+ #if defined (__hppa) && W_TYPE_SIZE == 32
+ # define add_ssaaaa(sh, sl, ah, al, bh, bl) \
+- __asm__ (" add %4,%5,%1\n" \
+- " addc %2,%3,%0" \
++ __asm__ ("add %4,%5,%1\n\t" \
++ "addc %2,%3,%0" \
+ : "=r" ((USItype)(sh)), \
+ "=&r" ((USItype)(sl)) \
+ : "%rM" ((USItype)(ah)), \
+ "rM" ((USItype)(bh)), \
+ "%rM" ((USItype)(al)), \
+- "rM" ((USItype)(bl)))
++ "rM" ((USItype)(bl)) __CLOBBER_CC)
+ # define sub_ddmmss(sh, sl, ah, al, bh, bl) \
+- __asm__ (" sub %4,%5,%1\n" \
+- " subb %2,%3,%0" \
++ __asm__ ("sub %4,%5,%1\n\t" \
++ "subb %2,%3,%0" \
+ : "=r" ((USItype)(sh)), \
+ "=&r" ((USItype)(sl)) \
+ : "rM" ((USItype)(ah)), \
+ "rM" ((USItype)(bh)), \
+ "rM" ((USItype)(al)), \
+- "rM" ((USItype)(bl)))
++ "rM" ((USItype)(bl)) __CLOBBER_CC)
+ # if defined (_PA_RISC1_1)
+ # define umul_ppmm(wh, wl, u, v) \
+ do { \
+--
+2.30.2
diff --git a/dev-libs/libgcrypt/files/libgcrypt-1.10.3-x86-refactor.patch b/dev-libs/libgcrypt/files/libgcrypt-1.10.3-x86-refactor.patch
new file mode 100644
index 000000000000..527150671097
--- /dev/null
+++ b/dev-libs/libgcrypt/files/libgcrypt-1.10.3-x86-refactor.patch
@@ -0,0 +1,428 @@
+https://bugs.gentoo.org/915060
+https://git.gnupg.org/cgi-bin/gitweb.cgi?p=libgcrypt.git;a=commit;h=07f0563d325c6589ca1560525d3b22291feec227
+
+From 07f0563d325c6589ca1560525d3b22291feec227 Mon Sep 17 00:00:00 2001
+From: Jussi Kivilinna <jussi.kivilinna@iki.fi>
+Date: Tue, 19 Dec 2023 20:23:47 +0200
+Subject: [PATCH] mpi/ec-inline: refactor i386 assembly to reduce register
+ usage
+
+* mpi/ec-inline.h [__i386__] (ADD2_LIMB32_CARRY_OUT)
+(ADD2_LIMB32_CARRY_IN_OUT, ADD2_LIB32_CARRY_IN, SUB2_LIMB32_CARRY_OUT)
+(SUB2_LIMB32_CARRY_IN_OUT, SUB2_LIB32_CARRY_IN, ADD8_LIMB32)
+(ADD10_LIMB32, ADD14_LIMB32, SUB8_LIMB32, SUB10_LIMB32)
+(SUB14_LIMB32): New.
+[__i386__] (ADD4_LIMB32, ADD6_LIMB32, SUB4_LIMB32, SUB6_LIMB32): Rewrite
+to use new *_CARRY_* macros.
+[BYTES_PER_MPI_LIMB == 4] (ADD4_LIMB64): Use ADD8_LIMB32 if available.
+[BYTES_PER_MPI_LIMB == 4] (ADD5_LIMB64): Use ADD10_LIMB32 if available.
+[BYTES_PER_MPI_LIMB == 4] (ADD7_LIMB64): Use ADD14_LIMB32 if available.
+[BYTES_PER_MPI_LIMB == 4] (SUB4_LIMB64): Use SUB8_LIMB32 if available.
+[BYTES_PER_MPI_LIMB == 4] (SUB5_LIMB64): Use SUB10_LIMB32 if available.
+[BYTES_PER_MPI_LIMB == 4] (SUB7_LIMB64): Use SUB14_LIMB32 if available.
+--
+
+Cherry pick of master commit:
+ 956f1ed4ec6ead59dc56f574f943f1fe25dac723
+
+This commit reduces number register operands and register pressure
+at i386 assembly used in `ec-nist.c` NIST-P192, P224, P256, and P384.
+Performance stays relatively same, with P192 being ~2% slower
+than before and P384 being ~5% faster.
+
+GnuPG-bug-id: T6892
+Signed-off-by: Jussi Kivilinna <jussi.kivilinna@iki.fi>
+---
+ mpi/ec-inline.h | 327 +++++++++++++++++++++++++++++++++---------------
+ 1 file changed, 229 insertions(+), 98 deletions(-)
+
+diff --git a/mpi/ec-inline.h b/mpi/ec-inline.h
+index a07826e3..0ffdf8eb 100644
+--- a/mpi/ec-inline.h
++++ b/mpi/ec-inline.h
+@@ -641,116 +641,192 @@ LIMB64_HILO(mpi_limb_t hi, mpi_limb_t lo)
+ /* i386 addition/subtraction helpers. */
+ #if defined (__i386__) && defined(HAVE_CPU_ARCH_X86) && __GNUC__ >= 4
+
+-#define ADD4_LIMB32(a3, a2, a1, a0, b3, b2, b1, b0, c3, c2, c1, c0) \
+- __asm__ ("addl %11, %3\n" \
+- "adcl %10, %2\n" \
+- "adcl %9, %1\n" \
+- "adcl %8, %0\n" \
+- : "=r" (a3), \
+- "=&r" (a2), \
++#define ADD2_LIMB32_CARRY_OUT(carry, a1, a0, b1, b0, c1, c0) \
++ __asm__ ("addl %7, %2\n" \
++ "adcl %6, %1\n" \
++ "sbbl %0, %0\n" \
++ : "=r" (carry), \
+ "=&r" (a1), \
+ "=&r" (a0) \
+- : "0" ((mpi_limb_t)(b3)), \
+- "1" ((mpi_limb_t)(b2)), \
+- "2" ((mpi_limb_t)(b1)), \
+- "3" ((mpi_limb_t)(b0)), \
+- "g" ((mpi_limb_t)(c3)), \
+- "g" ((mpi_limb_t)(c2)), \
+- "g" ((mpi_limb_t)(c1)), \
+- "g" ((mpi_limb_t)(c0)) \
++ : "0" ((mpi_limb_t)(0)), \
++ "1" ((mpi_limb_t)(b1)), \
++ "2" ((mpi_limb_t)(b0)), \
++ "re" ((mpi_limb_t)(c1)), \
++ "re" ((mpi_limb_t)(c0)) \
+ : "cc")
+
++#define ADD2_LIMB32_CARRY_IN_OUT(a1, a0, b1, b0, c1, c0, carry) \
++ __asm__ ("addl $1, %0\n" \
++ "adcl %7, %2\n" \
++ "adcl %6, %1\n" \
++ "sbbl %0, %0\n" \
++ : "=r" (carry), \
++ "=&r" (a1), \
++ "=&r" (a0) \
++ : "0" ((mpi_limb_t)(carry)), \
++ "1" ((mpi_limb_t)(b1)), \
++ "2" ((mpi_limb_t)(b0)), \
++ "re" ((mpi_limb_t)(c1)), \
++ "re" ((mpi_limb_t)(c0)) \
++ : "cc")
++
++#define ADD2_LIMB32_CARRY_IN(a1, a0, b1, b0, c1, c0, carry) \
++ __asm__ ("addl $1, %2\n" \
++ "adcl %7, %1\n" \
++ "adcl %6, %0\n" \
++ : "=r" (a1), \
++ "=&r" (a0), \
++ "=&g" (carry) \
++ : "0" ((mpi_limb_t)(b1)), \
++ "1" ((mpi_limb_t)(b0)), \
++ "2" ((mpi_limb_t)(carry)), \
++ "re" ((mpi_limb_t)(c1)), \
++ "re" ((mpi_limb_t)(c0)) \
++ : "cc")
++
++#define ADD4_LIMB32(a3, a2, a1, a0, b3, b2, b1, b0, c3, c2, c1, c0) do { \
++ mpi_limb_t __carry4_32; \
++ ADD2_LIMB32_CARRY_OUT(__carry4_32, a1, a0, b1, b0, c1, c0); \
++ ADD2_LIMB32_CARRY_IN(a3, a2, b3, b2, c3, c2, __carry4_32); \
++ } while (0)
++
+ #define ADD6_LIMB32(a5, a4, a3, a2, a1, a0, b5, b4, b3, b2, b1, b0, \
+ c5, c4, c3, c2, c1, c0) do { \
+ mpi_limb_t __carry6_32; \
+- __asm__ ("addl %10, %3\n" \
+- "adcl %9, %2\n" \
+- "adcl %8, %1\n" \
+- "sbbl %0, %0\n" \
+- : "=r" (__carry6_32), \
+- "=&r" (a2), \
+- "=&r" (a1), \
+- "=&r" (a0) \
+- : "0" ((mpi_limb_t)(0)), \
+- "1" ((mpi_limb_t)(b2)), \
+- "2" ((mpi_limb_t)(b1)), \
+- "3" ((mpi_limb_t)(b0)), \
+- "g" ((mpi_limb_t)(c2)), \
+- "g" ((mpi_limb_t)(c1)), \
+- "g" ((mpi_limb_t)(c0)) \
+- : "cc"); \
+- __asm__ ("addl $1, %3\n" \
+- "adcl %10, %2\n" \
+- "adcl %9, %1\n" \
+- "adcl %8, %0\n" \
+- : "=r" (a5), \
+- "=&r" (a4), \
+- "=&r" (a3), \
+- "=&r" (__carry6_32) \
+- : "0" ((mpi_limb_t)(b5)), \
+- "1" ((mpi_limb_t)(b4)), \
+- "2" ((mpi_limb_t)(b3)), \
+- "3" ((mpi_limb_t)(__carry6_32)), \
+- "g" ((mpi_limb_t)(c5)), \
+- "g" ((mpi_limb_t)(c4)), \
+- "g" ((mpi_limb_t)(c3)) \
+- : "cc"); \
++ ADD2_LIMB32_CARRY_OUT(__carry6_32, a1, a0, b1, b0, c1, c0); \
++ ADD2_LIMB32_CARRY_IN_OUT(a3, a2, b3, b2, c3, c2, __carry6_32); \
++ ADD2_LIMB32_CARRY_IN(a5, a4, b5, b4, c5, c4, __carry6_32); \
++ } while (0)
++
++#define ADD8_LIMB32(a7, a6, a5, a4, a3, a2, a1, a0, \
++ b7, b6, b5, b4, b3, b2, b1, b0, \
++ c7, c6, c5, c4, c3, c2, c1, c0) do { \
++ mpi_limb_t __carry8_32; \
++ ADD2_LIMB32_CARRY_OUT(__carry8_32, a1, a0, b1, b0, c1, c0); \
++ ADD2_LIMB32_CARRY_IN_OUT(a3, a2, b3, b2, c3, c2, __carry8_32); \
++ ADD2_LIMB32_CARRY_IN_OUT(a5, a4, b5, b4, c5, c4, __carry8_32); \
++ ADD2_LIMB32_CARRY_IN(a7, a6, b7, b6, c7, c6, __carry8_32); \
+ } while (0)
+
+-#define SUB4_LIMB32(a3, a2, a1, a0, b3, b2, b1, b0, c3, c2, c1, c0) \
+- __asm__ ("subl %11, %3\n" \
+- "sbbl %10, %2\n" \
+- "sbbl %9, %1\n" \
+- "sbbl %8, %0\n" \
+- : "=r" (a3), \
+- "=&r" (a2), \
++#define ADD10_LIMB32(a9, a8, a7, a6, a5, a4, a3, a2, a1, a0, \
++ b9, b8, b7, b6, b5, b4, b3, b2, b1, b0, \
++ c9, c8, c7, c6, c5, c4, c3, c2, c1, c0) do { \
++ mpi_limb_t __carry10_32; \
++ ADD2_LIMB32_CARRY_OUT(__carry10_32, a1, a0, b1, b0, c1, c0); \
++ ADD2_LIMB32_CARRY_IN_OUT(a3, a2, b3, b2, c3, c2, __carry10_32); \
++ ADD2_LIMB32_CARRY_IN_OUT(a5, a4, b5, b4, c5, c4, __carry10_32); \
++ ADD2_LIMB32_CARRY_IN_OUT(a7, a6, b7, b6, c7, c6, __carry10_32); \
++ ADD2_LIMB32_CARRY_IN(a9, a8, b9, b8, c9, c8, __carry10_32); \
++ } while (0)
++
++#define ADD14_LIMB32(a13, a12, a11, a10, a9, a8, a7, \
++ a6, a5, a4, a3, a2, a1, a0, \
++ b13, b12, b11, b10, b9, b8, b7, \
++ b6, b5, b4, b3, b2, b1, b0, \
++ c13, c12, c11, c10, c9, c8, c7, \
++ c6, c5, c4, c3, c2, c1, c0) do { \
++ mpi_limb_t __carry14_32; \
++ ADD2_LIMB32_CARRY_OUT(__carry14_32, a1, a0, b1, b0, c1, c0); \
++ ADD2_LIMB32_CARRY_IN_OUT(a3, a2, b3, b2, c3, c2, __carry14_32); \
++ ADD2_LIMB32_CARRY_IN_OUT(a5, a4, b5, b4, c5, c4, __carry14_32); \
++ ADD2_LIMB32_CARRY_IN_OUT(a7, a6, b7, b6, c7, c6, __carry14_32); \
++ ADD2_LIMB32_CARRY_IN_OUT(a9, a8, b9, b8, c9, c8, __carry14_32); \
++ ADD2_LIMB32_CARRY_IN_OUT(a11, a10, b11, b10, c11, c10, __carry14_32); \
++ ADD2_LIMB32_CARRY_IN(a13, a12, b13, b12, c13, c12, __carry14_32); \
++ } while (0)
++
++#define SUB2_LIMB32_CARRY_OUT(carry, a1, a0, b1, b0, c1, c0) \
++ __asm__ ("subl %7, %2\n" \
++ "sbbl %6, %1\n" \
++ "sbbl %0, %0\n" \
++ : "=r" (carry), \
+ "=&r" (a1), \
+ "=&r" (a0) \
+- : "0" ((mpi_limb_t)(b3)), \
+- "1" ((mpi_limb_t)(b2)), \
+- "2" ((mpi_limb_t)(b1)), \
+- "3" ((mpi_limb_t)(b0)), \
+- "g" ((mpi_limb_t)(c3)), \
+- "g" ((mpi_limb_t)(c2)), \
+- "g" ((mpi_limb_t)(c1)), \
+- "g" ((mpi_limb_t)(c0)) \
++ : "0" ((mpi_limb_t)(0)), \
++ "1" ((mpi_limb_t)(b1)), \
++ "2" ((mpi_limb_t)(b0)), \
++ "re" ((mpi_limb_t)(c1)), \
++ "re" ((mpi_limb_t)(c0)) \
++ : "cc")
++
++#define SUB2_LIMB32_CARRY_IN_OUT(a1, a0, b1, b0, c1, c0, carry) \
++ __asm__ ("addl $1, %0\n" \
++ "sbbl %7, %2\n" \
++ "sbbl %6, %1\n" \
++ "sbbl %0, %0\n" \
++ : "=r" (carry), \
++ "=&r" (a1), \
++ "=&r" (a0) \
++ : "0" ((mpi_limb_t)(carry)), \
++ "1" ((mpi_limb_t)(b1)), \
++ "2" ((mpi_limb_t)(b0)), \
++ "re" ((mpi_limb_t)(c1)), \
++ "re" ((mpi_limb_t)(c0)) \
++ : "cc")
++
++#define SUB2_LIMB32_CARRY_IN(a1, a0, b1, b0, c1, c0, carry) \
++ __asm__ ("addl $1, %2\n" \
++ "sbbl %7, %1\n" \
++ "sbbl %6, %0\n" \
++ : "=r" (a1), \
++ "=&r" (a0), \
++ "=&g" (carry) \
++ : "0" ((mpi_limb_t)(b1)), \
++ "1" ((mpi_limb_t)(b0)), \
++ "2" ((mpi_limb_t)(carry)), \
++ "re" ((mpi_limb_t)(c1)), \
++ "re" ((mpi_limb_t)(c0)) \
+ : "cc")
+
++#define SUB4_LIMB32(a3, a2, a1, a0, b3, b2, b1, b0, c3, c2, c1, c0) do { \
++ mpi_limb_t __carry4_32; \
++ SUB2_LIMB32_CARRY_OUT(__carry4_32, a1, a0, b1, b0, c1, c0); \
++ SUB2_LIMB32_CARRY_IN(a3, a2, b3, b2, c3, c2, __carry4_32); \
++ } while (0)
++
+ #define SUB6_LIMB32(a5, a4, a3, a2, a1, a0, b5, b4, b3, b2, b1, b0, \
+ c5, c4, c3, c2, c1, c0) do { \
+- mpi_limb_t __borrow6_32; \
+- __asm__ ("subl %10, %3\n" \
+- "sbbl %9, %2\n" \
+- "sbbl %8, %1\n" \
+- "sbbl %0, %0\n" \
+- : "=r" (__borrow6_32), \
+- "=&r" (a2), \
+- "=&r" (a1), \
+- "=&r" (a0) \
+- : "0" ((mpi_limb_t)(0)), \
+- "1" ((mpi_limb_t)(b2)), \
+- "2" ((mpi_limb_t)(b1)), \
+- "3" ((mpi_limb_t)(b0)), \
+- "g" ((mpi_limb_t)(c2)), \
+- "g" ((mpi_limb_t)(c1)), \
+- "g" ((mpi_limb_t)(c0)) \
+- : "cc"); \
+- __asm__ ("addl $1, %3\n" \
+- "sbbl %10, %2\n" \
+- "sbbl %9, %1\n" \
+- "sbbl %8, %0\n" \
+- : "=r" (a5), \
+- "=&r" (a4), \
+- "=&r" (a3), \
+- "=&r" (__borrow6_32) \
+- : "0" ((mpi_limb_t)(b5)), \
+- "1" ((mpi_limb_t)(b4)), \
+- "2" ((mpi_limb_t)(b3)), \
+- "3" ((mpi_limb_t)(__borrow6_32)), \
+- "g" ((mpi_limb_t)(c5)), \
+- "g" ((mpi_limb_t)(c4)), \
+- "g" ((mpi_limb_t)(c3)) \
+- : "cc"); \
++ mpi_limb_t __carry6_32; \
++ SUB2_LIMB32_CARRY_OUT(__carry6_32, a1, a0, b1, b0, c1, c0); \
++ SUB2_LIMB32_CARRY_IN_OUT(a3, a2, b3, b2, c3, c2, __carry6_32); \
++ SUB2_LIMB32_CARRY_IN(a5, a4, b5, b4, c5, c4, __carry6_32); \
++ } while (0)
++
++#define SUB8_LIMB32(a7, a6, a5, a4, a3, a2, a1, a0, \
++ b7, b6, b5, b4, b3, b2, b1, b0, \
++ c7, c6, c5, c4, c3, c2, c1, c0) do { \
++ mpi_limb_t __carry8_32; \
++ SUB2_LIMB32_CARRY_OUT(__carry8_32, a1, a0, b1, b0, c1, c0); \
++ SUB2_LIMB32_CARRY_IN_OUT(a3, a2, b3, b2, c3, c2, __carry8_32); \
++ SUB2_LIMB32_CARRY_IN_OUT(a5, a4, b5, b4, c5, c4, __carry8_32); \
++ SUB2_LIMB32_CARRY_IN(a7, a6, b7, b6, c7, c6, __carry8_32); \
++ } while (0)
++
++#define SUB10_LIMB32(a9, a8, a7, a6, a5, a4, a3, a2, a1, a0, \
++ b9, b8, b7, b6, b5, b4, b3, b2, b1, b0, \
++ c9, c8, c7, c6, c5, c4, c3, c2, c1, c0) do { \
++ mpi_limb_t __carry10_32; \
++ SUB2_LIMB32_CARRY_OUT(__carry10_32, a1, a0, b1, b0, c1, c0); \
++ SUB2_LIMB32_CARRY_IN_OUT(a3, a2, b3, b2, c3, c2, __carry10_32); \
++ SUB2_LIMB32_CARRY_IN_OUT(a5, a4, b5, b4, c5, c4, __carry10_32); \
++ SUB2_LIMB32_CARRY_IN_OUT(a7, a6, b7, b6, c7, c6, __carry10_32); \
++ SUB2_LIMB32_CARRY_IN(a9, a8, b9, b8, c9, c8, __carry10_32); \
++ } while (0)
++
++#define SUB14_LIMB32(a13, a12, a11, a10, a9, a8, a7, \
++ a6, a5, a4, a3, a2, a1, a0, \
++ b13, b12, b11, b10, b9, b8, b7, \
++ b6, b5, b4, b3, b2, b1, b0, \
++ c13, c12, c11, c10, c9, c8, c7, \
++ c6, c5, c4, c3, c2, c1, c0) do { \
++ mpi_limb_t __carry14_32; \
++ SUB2_LIMB32_CARRY_OUT(__carry14_32, a1, a0, b1, b0, c1, c0); \
++ SUB2_LIMB32_CARRY_IN_OUT(a3, a2, b3, b2, c3, c2, __carry14_32); \
++ SUB2_LIMB32_CARRY_IN_OUT(a5, a4, b5, b4, c5, c4, __carry14_32); \
++ SUB2_LIMB32_CARRY_IN_OUT(a7, a6, b7, b6, c7, c6, __carry14_32); \
++ SUB2_LIMB32_CARRY_IN_OUT(a9, a8, b9, b8, c9, c8, __carry14_32); \
++ SUB2_LIMB32_CARRY_IN_OUT(a11, a10, b11, b10, c11, c10, __carry14_32); \
++ SUB2_LIMB32_CARRY_IN(a13, a12, b13, b12, c13, c12, __carry14_32); \
+ } while (0)
+
+ #endif /* __i386__ */
+@@ -820,7 +896,6 @@ LIMB64_HILO(mpi_limb_t hi, mpi_limb_t lo)
+ "Ir" ((mpi_limb_t)(C0)) \
+ : "cc")
+
+-
+ #define SUB6_LIMB32(A5, A4, A3, A2, A1, A0, B5, B4, B3, B2, B1, B0, \
+ C5, C4, C3, C2, C1, C0) do { \
+ mpi_limb_t __borrow6_32; \
+@@ -875,7 +950,13 @@ LIMB64_HILO(mpi_limb_t hi, mpi_limb_t lo)
+ C2.hi, C2.lo, C1.hi, C1.lo, C0.hi, C0.lo)
+ #endif
+
+-#if defined(ADD6_LIMB32)
++#if defined(ADD8_LIMB32)
++/* A[0..3] = B[0..3] + C[0..3] */
++#define ADD4_LIMB64(A3, A2, A1, A0, B3, B2, B1, B0, C3, C2, C1, C0) \
++ ADD8_LIMB32(A3.hi, A3.lo, A2.hi, A2.lo, A1.hi, A1.lo, A0.hi, A0.lo, \
++ B3.hi, B3.lo, B2.hi, B2.lo, B1.hi, B1.lo, B0.hi, B0.lo, \
++ C3.hi, C3.lo, C2.hi, C2.lo, C1.hi, C1.lo, C0.hi, C0.lo)
++#elif defined(ADD6_LIMB32)
+ /* A[0..3] = B[0..3] + C[0..3] */
+ #define ADD4_LIMB64(A3, A2, A1, A0, B3, B2, B1, B0, C3, C2, C1, C0) do { \
+ mpi_limb_t __carry4; \
+@@ -888,6 +969,28 @@ LIMB64_HILO(mpi_limb_t hi, mpi_limb_t lo)
+ } while (0)
+ #endif
+
++#if defined(ADD10_LIMB32)
++/* A[0..4] = B[0..4] + C[0..4] */
++#define ADD5_LIMB64(A4, A3, A2, A1, A0, B4, B3, B2, B1, B0, \
++ C4, C3, C2, C1, C0) \
++ ADD10_LIMB32(A4.hi, A4.lo, A3.hi, A3.lo, A2.hi, A2.lo, A1.hi, A1.lo, \
++ A0.hi, A0.lo, B4.hi, B4.lo, B3.hi, B3.lo, B2.hi, B2.lo, \
++ B1.hi, B1.lo, B0.hi, B0.lo, C4.hi, C4.lo, C3.hi, C3.lo, \
++ C2.hi, C2.lo, C1.hi, C1.lo, C0.hi, C0.lo)
++#endif
++
++#if defined(ADD14_LIMB32)
++/* A[0..6] = B[0..6] + C[0..6] */
++#define ADD7_LIMB64(A6, A5, A4, A3, A2, A1, A0, B6, B5, B4, B3, B2, B1, B0, \
++ C6, C5, C4, C3, C2, C1, C0) \
++ ADD14_LIMB32(A6.hi, A6.lo, A5.hi, A5.lo, A4.hi, A4.lo, A3.hi, A3.lo, \
++ A2.hi, A2.lo, A1.hi, A1.lo, A0.hi, A0.lo, B6.hi, B6.lo, \
++ B5.hi, B5.lo, B4.hi, B4.lo, B3.hi, B3.lo, B2.hi, B2.lo, \
++ B1.hi, B1.lo, B0.hi, B0.lo, C6.hi, C6.lo, C5.hi, C5.lo, \
++ C4.hi, C4.lo, C3.hi, C3.lo, C2.hi, C2.lo, C1.hi, C1.lo, \
++ C0.hi, C0.lo)
++#endif
++
+ #if defined(SUB4_LIMB32)
+ /* A[0..1] = B[0..1] - C[0..1] */
+ #define SUB2_LIMB64(A1, A0, B1, B0, C1, C0) \
+@@ -914,7 +1017,13 @@ LIMB64_HILO(mpi_limb_t hi, mpi_limb_t lo)
+ C2.hi, C2.lo, C1.hi, C1.lo, C0.hi, C0.lo)
+ #endif
+
+-#if defined(SUB6_LIMB32)
++#if defined(SUB8_LIMB32)
++/* A[0..3] = B[0..3] - C[0..3] */
++#define SUB4_LIMB64(A3, A2, A1, A0, B3, B2, B1, B0, C3, C2, C1, C0) \
++ SUB8_LIMB32(A3.hi, A3.lo, A2.hi, A2.lo, A1.hi, A1.lo, A0.hi, A0.lo, \
++ B3.hi, B3.lo, B2.hi, B2.lo, B1.hi, B1.lo, B0.hi, B0.lo, \
++ C3.hi, C3.lo, C2.hi, C2.lo, C1.hi, C1.lo, C0.hi, C0.lo)
++#elif defined(SUB6_LIMB32)
+ /* A[0..3] = B[0..3] - C[0..3] */
+ #define SUB4_LIMB64(A3, A2, A1, A0, B3, B2, B1, B0, C3, C2, C1, C0) do { \
+ mpi_limb_t __borrow4; \
+@@ -927,6 +1036,28 @@ LIMB64_HILO(mpi_limb_t hi, mpi_limb_t lo)
+ } while (0)
+ #endif
+
++#if defined(SUB10_LIMB32)
++/* A[0..4] = B[0..4] - C[0..4] */
++#define SUB5_LIMB64(A4, A3, A2, A1, A0, B4, B3, B2, B1, B0, \
++ C4, C3, C2, C1, C0) \
++ SUB10_LIMB32(A4.hi, A4.lo, A3.hi, A3.lo, A2.hi, A2.lo, A1.hi, A1.lo, \
++ A0.hi, A0.lo, B4.hi, B4.lo, B3.hi, B3.lo, B2.hi, B2.lo, \
++ B1.hi, B1.lo, B0.hi, B0.lo, C4.hi, C4.lo, C3.hi, C3.lo, \
++ C2.hi, C2.lo, C1.hi, C1.lo, C0.hi, C0.lo)
++#endif
++
++#if defined(SUB14_LIMB32)
++/* A[0..6] = B[0..6] - C[0..6] */
++#define SUB7_LIMB64(A6, A5, A4, A3, A2, A1, A0, B6, B5, B4, B3, B2, B1, B0, \
++ C6, C5, C4, C3, C2, C1, C0) \
++ SUB14_LIMB32(A6.hi, A6.lo, A5.hi, A5.lo, A4.hi, A4.lo, A3.hi, A3.lo, \
++ A2.hi, A2.lo, A1.hi, A1.lo, A0.hi, A0.lo, B6.hi, B6.lo, \
++ B5.hi, B5.lo, B4.hi, B4.lo, B3.hi, B3.lo, B2.hi, B2.lo, \
++ B1.hi, B1.lo, B0.hi, B0.lo, C6.hi, C6.lo, C5.hi, C5.lo, \
++ C4.hi, C4.lo, C3.hi, C3.lo, C2.hi, C2.lo, C1.hi, C1.lo, \
++ C0.hi, C0.lo)
++#endif
++
+ #endif /* BYTES_PER_MPI_LIMB == 4 */
+
+
+--
+2.30.2
diff --git a/dev-libs/libgcrypt/files/libgcrypt-1.10.3-x86.patch b/dev-libs/libgcrypt/files/libgcrypt-1.10.3-x86.patch
new file mode 100644
index 000000000000..51ea0047c4e4
--- /dev/null
+++ b/dev-libs/libgcrypt/files/libgcrypt-1.10.3-x86.patch
@@ -0,0 +1,94 @@
+https://bugs.gentoo.org/915060
+https://git.gnupg.org/cgi-bin/gitweb.cgi?p=libgcrypt.git;a=commit;h=08b88b4012f7837736b8d29a3689ce3fff2a10c8
+
+From 08b88b4012f7837736b8d29a3689ce3fff2a10c8 Mon Sep 17 00:00:00 2001
+From: Jussi Kivilinna <jussi.kivilinna@iki.fi>
+Date: Sat, 16 Dec 2023 19:50:23 +0200
+Subject: [PATCH] mpi/ec-nist: fix for -Og build failure on i386
+
+* mpi/ec-nist.c (_gcry_mpi_ec_nist256_mod)
+(_gcry_mpi_ec_nist384_mod): Load p_mult constant with carry offset
+to stack.
+--
+
+Cherry pick master commit of:
+ 90097bd2f41c217dc5c666570e5680f432cf92d3
+
+Patch fixes compilation error on i386 with -Og optimization level.
+
+In file included from ../../mpi/ec-nist.c:34:
+../../mpi/ec-nist.c: In function '_gcry_mpi_ec_nist256_mod':
+../../mpi/ec-inline.h:701:3: error: 'asm' operand has impossible constraints
+ 701 | __asm__ ("subl %11, %3\n" \
+ | ^~~~~~~
+../../mpi/ec-inline.h:894:9: note: in expansion of macro 'SUB4_LIMB32'
+ 894 | SUB4_LIMB32(A1.hi, A1.lo, A0.hi, A0.lo, \
+ | ^~~~~~~~~~~
+../../mpi/ec-inline.h:1009:5: note: in expansion of macro 'SUB2_LIMB64'
+ 1009 | SUB2_LIMB64(A4, A3, B4, B3, C4, C3); \
+ | ^~~~~~~~~~~
+../../mpi/ec-nist.c:474:3: note: in expansion of macro 'SUB5_LIMB64'
+ 474 | SUB5_LIMB64 (s[4], s[3], s[2], s[1], s[0],
+ | ^~~~~~~~~~~
+
+Appears that in problematic function, too many registers end up being
+allocated for addressing and there is not enough register left for
+asm input/output (4 registers needed for this block). Problem can be
+workaround by reducing needed addressing registers by pushing
+`p_mult[carry + ...]` values to stack. On other compiler flag levels
+and architectures, compiler should be able to optimize away this
+extra copying and have not effect on performance.
+
+GnuPG-bug-id: T6892
+Signed-off-by: Jussi Kivilinna <jussi.kivilinna@iki.fi>
+---
+ mpi/ec-nist.c | 23 ++++++++++++++++-------
+ 1 file changed, 16 insertions(+), 7 deletions(-)
+
+diff --git a/mpi/ec-nist.c b/mpi/ec-nist.c
+index f792405c..559d02d9 100644
+--- a/mpi/ec-nist.c
++++ b/mpi/ec-nist.c
+@@ -471,11 +471,15 @@ _gcry_mpi_ec_nist256_mod (gcry_mpi_t w, mpi_ec_t ctx)
+
+ carry = LO32_LIMB64(s[4]);
+
++ /* Load values to stack to ease register pressure on i386. */
++ e[0] = p_mult[carry + 4][0];
++ e[1] = p_mult[carry + 4][1];
++ e[2] = p_mult[carry + 4][2];
++ e[3] = p_mult[carry + 4][3];
++ e[4] = p_mult[carry + 4][4];
+ SUB5_LIMB64 (s[4], s[3], s[2], s[1], s[0],
+ s[4], s[3], s[2], s[1], s[0],
+- p_mult[carry + 4][4], p_mult[carry + 4][3],
+- p_mult[carry + 4][2], p_mult[carry + 4][1],
+- p_mult[carry + 4][0]);
++ e[4], e[3], e[2], e[1], e[0]);
+
+ /* Add 1*P */
+ ADD5_LIMB64 (d[4], d[3], d[2], d[1], d[0],
+@@ -749,12 +753,17 @@ _gcry_mpi_ec_nist384_mod (gcry_mpi_t w, mpi_ec_t ctx)
+
+ carry = LO32_LIMB64(s[6]);
+
++ /* Load values to stack to ease register pressure on i386. */
++ x[0] = p_mult[carry + 3][0];
++ x[1] = p_mult[carry + 3][1];
++ x[2] = p_mult[carry + 3][2];
++ x[3] = p_mult[carry + 3][3];
++ x[4] = p_mult[carry + 3][4];
++ x[5] = p_mult[carry + 3][5];
++ x[6] = p_mult[carry + 3][6];
+ SUB7_LIMB64 (s[6], s[5], s[4], s[3], s[2], s[1], s[0],
+ s[6], s[5], s[4], s[3], s[2], s[1], s[0],
+- p_mult[carry + 3][6], p_mult[carry + 3][5],
+- p_mult[carry + 3][4], p_mult[carry + 3][3],
+- p_mult[carry + 3][2], p_mult[carry + 3][1],
+- p_mult[carry + 3][0]);
++ x[6], x[5], x[4], x[3], x[2], x[1], x[0]);
+
+ ADD7_LIMB64 (d[6], d[5], d[4], d[3], d[2], d[1], d[0],
+ s[6], s[5], s[4], s[3], s[2], s[1], s[0],
+--
+2.30.2
diff --git a/dev-libs/libgcrypt/files/libgcrypt-1.6.1-uscore.patch b/dev-libs/libgcrypt/files/libgcrypt-1.6.1-uscore.patch
deleted file mode 100644
index 22bfac3104bc..000000000000
--- a/dev-libs/libgcrypt/files/libgcrypt-1.6.1-uscore.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-The version taken from GnuPG 1.4 assumes any cross-compiled package have
-prefixed underscores, which is not the case; by using libtool's own macro,
-we can avoid the whole issue.
-
---- libgcrypt-1.6.1/configure.ac
-+++ libgcrypt-1.6.1/configure.ac
-@@ -1022,7 +1022,7 @@
- # Check whether underscores in symbols are required. This needs to be
- # done before setting up the assembler stuff.
- #
--GNUPG_SYS_SYMBOL_UNDERSCORE()
-+LT_SYS_SYMBOL_USCORE
-
-
- #################################
---- libgcrypt-1.6.1/mpi/config.links
-+++ libgcrypt-1.6.1/mpi/config.links
-@@ -362,7 +362,7 @@
-
- # Make sysdep.h
- echo '/* created by config.links - do not edit */' >./mpi/sysdep.h
--if test x$ac_cv_sys_symbol_underscore = xyes; then
-+if test x$sys_symbol_underscore = xyes; then
- cat <<EOF >>./mpi/sysdep.h
- #if __STDC__
- #define C_SYMBOL_NAME(name) _##name
diff --git a/dev-libs/libgcrypt/files/libgcrypt-1.9.4-arm-neon-compile-fix.patch b/dev-libs/libgcrypt/files/libgcrypt-1.9.4-arm-neon-compile-fix.patch
deleted file mode 100644
index a42b0e89008a..000000000000
--- a/dev-libs/libgcrypt/files/libgcrypt-1.9.4-arm-neon-compile-fix.patch
+++ /dev/null
@@ -1,44 +0,0 @@
-https://lists.gnupg.org/pipermail/gcrypt-devel/2022-January/005224.html
-
-From bc0b82ad8201a4d7bffa3cf0f5504b72c1011cb1 Mon Sep 17 00:00:00 2001
-From: Sam James <sam@gentoo.org>
-Date: Tue, 18 Jan 2022 12:44:22 +0000
-Subject: [PATCH] cipher/cipher-gcm: fix build failure on ARM NEON
-
-'features' is only defined when relevant CPU features are found, but
-one of the uses below its definition checked for GCM_USE_ARM_NEON which
-wasn't in the guard above it.
-
-i.e. We used to only define 'features' when:
-- GCM_USE_INTEL_PCLMUL
-- GCM_USE_ARM_PMULL
-- GCM_USE_S390X_CRYPTO
-- GCM_USE_PPC_VPMSUM
-- GCM_USE_S390X_CRYPTO
-- GCM_USE_PPC_VPMSUM
-is set.
-
-We were missing GCM_USE_ARM_NEON so when we check for GCM_USE_ARM_NEON
-below, it'd fail as features wasn't defined.
-
-Bug: https://bugs.gentoo.org/831397
----
- cipher/cipher-gcm.c | 3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
-
-diff --git a/cipher/cipher-gcm.c b/cipher/cipher-gcm.c
-index a039c5e9..22834f35 100644
---- a/cipher/cipher-gcm.c
-+++ b/cipher/cipher-gcm.c
-@@ -583,7 +583,8 @@ static void
- setupM (gcry_cipher_hd_t c)
- {
- #if defined(GCM_USE_INTEL_PCLMUL) || defined(GCM_USE_ARM_PMULL) || \
-- defined(GCM_USE_S390X_CRYPTO) || defined(GCM_USE_PPC_VPMSUM)
-+ defined(GCM_USE_ARM_NEON) || defined(GCM_USE_S390X_CRYPTO) || \
-+ defined(GCM_USE_PPC_VPMSUM)
- unsigned int features = _gcry_get_hw_features ();
- #endif
-
---
-2.34.1
diff --git a/dev-libs/libgcrypt/files/libgcrypt-1.9.4-no-fgrep-libgcrypt-config.patch b/dev-libs/libgcrypt/files/libgcrypt-1.9.4-no-fgrep-libgcrypt-config.patch
new file mode 100644
index 000000000000..738eac1631b6
--- /dev/null
+++ b/dev-libs/libgcrypt/files/libgcrypt-1.9.4-no-fgrep-libgcrypt-config.patch
@@ -0,0 +1,21 @@
+https://bugs.gentoo.org/868384
+--- a/src/libgcrypt-config.in
++++ b/src/libgcrypt-config.in
+@@ -154,7 +154,7 @@ if test "$echo_cflags" = "yes"; then
+
+ tmp=""
+ for i in $includes $cflags_final; do
+- if echo "$tmp" | fgrep -v -- "$i" >/dev/null; then
++ if echo "$tmp" | grep -F -v -- "$i" >/dev/null; then
+ tmp="$tmp $i"
+ fi
+ done
+@@ -178,7 +178,7 @@ if test "$echo_libs" = "yes"; then
+
+ tmp=""
+ for i in $libdirs $libs_final; do
+- if echo "$tmp" | fgrep -v -- "$i" >/dev/null; then
++ if echo "$tmp" | grep -F -v -- "$i" >/dev/null; then
+ tmp="$tmp $i"
+ fi
+ done
diff --git a/dev-libs/libgcrypt/libgcrypt-1.10.2.ebuild b/dev-libs/libgcrypt/libgcrypt-1.10.2.ebuild
new file mode 100644
index 000000000000..06b52ad4ddb6
--- /dev/null
+++ b/dev-libs/libgcrypt/libgcrypt-1.10.2.ebuild
@@ -0,0 +1,177 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/gnupg.asc
+inherit autotools flag-o-matic linux-info multilib-minimal toolchain-funcs verify-sig
+
+DESCRIPTION="General purpose crypto library based on the code used in GnuPG"
+HOMEPAGE="https://www.gnupg.org/"
+SRC_URI="mirror://gnupg/${PN}/${P}.tar.bz2"
+SRC_URI+=" verify-sig? ( mirror://gnupg/${PN}/${P}.tar.bz2.sig )"
+
+LICENSE="LGPL-2.1+ GPL-2+ MIT"
+SLOT="0/20" # subslot = soname major version
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+IUSE="+asm cpu_flags_arm_neon cpu_flags_arm_aes cpu_flags_arm_sha1 cpu_flags_arm_sha2 cpu_flags_ppc_altivec cpu_flags_ppc_vsx2 cpu_flags_ppc_vsx3 cpu_flags_x86_aes cpu_flags_x86_avx cpu_flags_x86_avx2 cpu_flags_x86_padlock cpu_flags_x86_sha cpu_flags_x86_sse4_1 doc +getentropy static-libs"
+
+# Build system only has --disable-arm-crypto-support right now
+# If changing this, update src_configure logic too.
+# ARM CPUs seem to, right now, support all-or-nothing for crypto extensions,
+# but this looks like it might change in future. This is just a safety check
+# in case people somehow do have a CPU which only supports some. They must
+# for now disable them all if that's the case.
+REQUIRED_USE="
+ cpu_flags_arm_aes? ( cpu_flags_arm_sha1 cpu_flags_arm_sha2 )
+ cpu_flags_arm_sha1? ( cpu_flags_arm_aes cpu_flags_arm_sha2 )
+ cpu_flags_arm_sha2? ( cpu_flags_arm_aes cpu_flags_arm_sha1 )
+ cpu_flags_ppc_vsx3? ( cpu_flags_ppc_altivec cpu_flags_ppc_vsx2 )
+ cpu_flags_ppc_vsx2? ( cpu_flags_ppc_altivec )
+"
+
+RDEPEND=">=dev-libs/libgpg-error-1.25[${MULTILIB_USEDEP}]
+ getentropy? (
+ kernel_linux? (
+ elibc_glibc? ( >=sys-libs/glibc-2.25 )
+ elibc_musl? ( >=sys-libs/musl-1.1.20 )
+ )
+ )"
+DEPEND="${RDEPEND}"
+BDEPEND="doc? ( virtual/texi2dvi )
+ verify-sig? ( sec-keys/openpgp-keys-gnupg )"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-multilib-syspath.patch
+ "${FILESDIR}"/${PN}-powerpc-darwin.patch
+ "${FILESDIR}"/${PN}-1.9.4-no-fgrep-libgcrypt-config.patch
+ "${FILESDIR}"/${P}-darwin.patch # upstream T6442
+)
+
+MULTILIB_CHOST_TOOLS=(
+ /usr/bin/libgcrypt-config
+)
+
+pkg_pretend() {
+ if [[ ${MERGE_TYPE} == buildonly ]]; then
+ return
+ fi
+ if use kernel_linux && use getentropy; then
+ unset KV_FULL
+ get_running_version
+ if [[ -n ${KV_FULL} ]] && kernel_is -lt 3 17; then
+ eerror "The getentropy function requires the getrandom syscall."
+ eerror "This was introduced in Linux 3.17."
+ eerror "Your system is currently running Linux ${KV_FULL}."
+ eerror "Disable the 'getentropy' USE flag or upgrade your kernel."
+ die "Kernel is too old for getentropy"
+ fi
+ fi
+}
+
+pkg_setup() {
+ :
+}
+
+src_prepare() {
+ default
+ eautoreconf
+}
+
+multilib_src_configure() {
+ if [[ ${CHOST} == *86*-solaris* ]] ; then
+ # ASM code uses GNU ELF syntax, divide in particular, we need to
+ # allow this via ASFLAGS, since we don't have a flag-o-matic
+ # function for that, we'll have to abuse cflags for this
+ append-cflags -Wa,--divide
+ fi
+
+ if [[ ${CHOST} == powerpc* ]] ; then
+ # ./configure does a lot of automagic, prevent that
+ # generic ppc32+ppc64 altivec
+ use cpu_flags_ppc_altivec || local -x gcry_cv_cc_ppc_altivec=no
+ use cpu_flags_ppc_altivec || local -x gcry_cv_cc_ppc_altivec_cflags=no
+ # power8 vector extension, aka arch 2.07 ISA, also checked below via ppc-crypto-support
+ use cpu_flags_ppc_vsx2 || local -x gcry_cv_gcc_inline_asm_ppc_altivec=no
+ # power9 vector extension, aka arch 3.00 ISA
+ use cpu_flags_ppc_vsx3 || local -x gcry_cv_gcc_inline_asm_ppc_arch_3_00=no
+ fi
+
+ # Workaround for GCC < 11.3 bug
+ # https://git.gnupg.org/cgi-bin/gitweb.cgi?p=libgcrypt.git;a=commitdiff;h=0b399721ce9709ae25f9d2050360c5ab2115ae29
+ # https://dev.gnupg.org/T5581
+ # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102124
+ if use arm64 && tc-is-gcc && (($(gcc-major-version) == 11)) &&
+ (($(gcc-minor-version) <= 2)) && (($(gcc-micro-version) == 0)) ; then
+ append-flags -fno-tree-loop-vectorize
+ fi
+
+ # ideally we want !tc-ld-is-bfd for best future-proofing, but it needs
+ # https://github.com/gentoo/gentoo/pull/28355
+ # mold needs this too but right now tc-ld-is-mold is also not available
+ if tc-ld-is-lld; then
+ append-ldflags -Wl,--undefined-version
+ fi
+
+ local myeconfargs=(
+ CC_FOR_BUILD="$(tc-getBUILD_CC)"
+
+ --enable-noexecstack
+ $(use_enable cpu_flags_arm_neon neon-support)
+ # See REQUIRED_USE comment above
+ $(use_enable cpu_flags_arm_aes arm-crypto-support)
+ $(use_enable cpu_flags_ppc_vsx2 ppc-crypto-support)
+ $(use_enable cpu_flags_x86_aes aesni-support)
+ $(use_enable cpu_flags_x86_avx avx-support)
+ $(use_enable cpu_flags_x86_avx2 avx2-support)
+ $(use_enable cpu_flags_x86_padlock padlock-support)
+ $(use_enable cpu_flags_x86_sha shaext-support)
+ $(use_enable cpu_flags_x86_sse4_1 sse41-support)
+ # required for sys-power/suspend[crypt], bug 751568
+ $(use_enable static-libs static)
+
+ # disabled due to various applications requiring privileges
+ # after libgcrypt drops them (bug #468616)
+ --without-capabilities
+
+ # http://trac.videolan.org/vlc/ticket/620
+ $([[ ${CHOST} == *86*-darwin* ]] && echo "--disable-asm")
+
+ $(use asm || echo "--disable-asm")
+
+ GPG_ERROR_CONFIG="${ESYSROOT}/usr/bin/${CHOST}-gpg-error-config"
+ )
+
+ if use kernel_linux; then
+ # --enable-random=getentropy requires getentropy/getrandom.
+ # --enable-random=linux enables legacy code that tries getrandom
+ # and falls back to reading /dev/random.
+ myeconfargs+=( --enable-random=$(usex getentropy getentropy linux) )
+ fi
+
+ ECONF_SOURCE="${S}" econf "${myeconfargs[@]}" \
+ $("${S}/configure" --help | grep -o -- '--without-.*-prefix')
+}
+
+multilib_src_compile() {
+ default
+ multilib_is_native_abi && use doc && VARTEXFONTS="${T}/fonts" emake -C doc gcrypt.pdf
+}
+
+multilib_src_test() {
+ # t-secmem and t-sexp need mlock which requires extra privileges; nspawn
+ # at least disallows that by default.
+ local -x GCRYPT_IN_ASAN_TEST=1
+
+ default
+}
+
+multilib_src_install() {
+ emake DESTDIR="${D}" install
+ multilib_is_native_abi && use doc && dodoc doc/gcrypt.pdf
+}
+
+multilib_src_install_all() {
+ default
+ find "${ED}" -type f -name '*.la' -delete || die
+}
diff --git a/dev-libs/libgcrypt/libgcrypt-1.10.3-r1.ebuild b/dev-libs/libgcrypt/libgcrypt-1.10.3-r1.ebuild
new file mode 100644
index 000000000000..5d8b88fc0846
--- /dev/null
+++ b/dev-libs/libgcrypt/libgcrypt-1.10.3-r1.ebuild
@@ -0,0 +1,175 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/gnupg.asc
+inherit autotools flag-o-matic linux-info multilib-minimal toolchain-funcs verify-sig
+
+DESCRIPTION="General purpose crypto library based on the code used in GnuPG"
+HOMEPAGE="https://www.gnupg.org/"
+SRC_URI="mirror://gnupg/${PN}/${P}.tar.bz2"
+SRC_URI+=" verify-sig? ( mirror://gnupg/${PN}/${P}.tar.bz2.sig )"
+
+LICENSE="LGPL-2.1+ GPL-2+ MIT"
+SLOT="0/20" # subslot = soname major version
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+IUSE="+asm cpu_flags_arm_neon cpu_flags_arm_aes cpu_flags_arm_sha1 cpu_flags_arm_sha2 cpu_flags_ppc_altivec cpu_flags_ppc_vsx2 cpu_flags_ppc_vsx3 cpu_flags_x86_aes cpu_flags_x86_avx cpu_flags_x86_avx2 cpu_flags_x86_padlock cpu_flags_x86_sha cpu_flags_x86_sse4_1 doc +getentropy static-libs"
+
+# Build system only has --disable-arm-crypto-support right now
+# If changing this, update src_configure logic too.
+# ARM CPUs seem to, right now, support all-or-nothing for crypto extensions,
+# but this looks like it might change in future. This is just a safety check
+# in case people somehow do have a CPU which only supports some. They must
+# for now disable them all if that's the case.
+REQUIRED_USE="
+ cpu_flags_arm_aes? ( cpu_flags_arm_sha1 cpu_flags_arm_sha2 )
+ cpu_flags_arm_sha1? ( cpu_flags_arm_aes cpu_flags_arm_sha2 )
+ cpu_flags_arm_sha2? ( cpu_flags_arm_aes cpu_flags_arm_sha1 )
+ cpu_flags_ppc_vsx3? ( cpu_flags_ppc_altivec cpu_flags_ppc_vsx2 )
+ cpu_flags_ppc_vsx2? ( cpu_flags_ppc_altivec )
+"
+
+RDEPEND="
+ >=dev-libs/libgpg-error-1.25[${MULTILIB_USEDEP}]
+ getentropy? (
+ kernel_linux? (
+ elibc_glibc? ( >=sys-libs/glibc-2.25 )
+ elibc_musl? ( >=sys-libs/musl-1.1.20 )
+ )
+ )
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ doc? ( virtual/texi2dvi )
+ verify-sig? ( sec-keys/openpgp-keys-gnupg )
+"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-multilib-syspath.patch
+ "${FILESDIR}"/${PN}-powerpc-darwin.patch
+ "${FILESDIR}"/${PN}-1.9.4-no-fgrep-libgcrypt-config.patch
+)
+
+MULTILIB_CHOST_TOOLS=(
+ /usr/bin/libgcrypt-config
+)
+
+pkg_pretend() {
+ if [[ ${MERGE_TYPE} == buildonly ]]; then
+ return
+ fi
+ if use kernel_linux && use getentropy; then
+ unset KV_FULL
+ get_running_version
+ if [[ -n ${KV_FULL} ]] && kernel_is -lt 3 17; then
+ eerror "The getentropy function requires the getrandom syscall."
+ eerror "This was introduced in Linux 3.17."
+ eerror "Your system is currently running Linux ${KV_FULL}."
+ eerror "Disable the 'getentropy' USE flag or upgrade your kernel."
+ die "Kernel is too old for getentropy"
+ fi
+ fi
+}
+
+pkg_setup() {
+ :
+}
+
+src_prepare() {
+ default
+ eautoreconf
+}
+
+multilib_src_configure() {
+ if [[ ${CHOST} == *86*-solaris* ]] ; then
+ # ASM code uses GNU ELF syntax, divide in particular, we need to
+ # allow this via ASFLAGS, since we don't have a flag-o-matic
+ # function for that, we'll have to abuse cflags for this
+ append-cflags -Wa,--divide
+ fi
+
+ if [[ ${CHOST} == powerpc* ]] ; then
+ # ./configure does a lot of automagic, prevent that
+ # generic ppc32+ppc64 altivec
+ use cpu_flags_ppc_altivec || local -x gcry_cv_cc_ppc_altivec=no
+ use cpu_flags_ppc_altivec || local -x gcry_cv_cc_ppc_altivec_cflags=no
+ # power8 vector extension, aka arch 2.07 ISA, also checked below via ppc-crypto-support
+ use cpu_flags_ppc_vsx2 || local -x gcry_cv_gcc_inline_asm_ppc_altivec=no
+ # power9 vector extension, aka arch 3.00 ISA
+ use cpu_flags_ppc_vsx3 || local -x gcry_cv_gcc_inline_asm_ppc_arch_3_00=no
+ fi
+
+ # Workaround for GCC < 11.3 bug
+ # https://git.gnupg.org/cgi-bin/gitweb.cgi?p=libgcrypt.git;a=commitdiff;h=0b399721ce9709ae25f9d2050360c5ab2115ae29
+ # https://dev.gnupg.org/T5581
+ # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102124
+ if use arm64 && tc-is-gcc && (($(gcc-major-version) == 11)) &&
+ (($(gcc-minor-version) <= 2)) && (($(gcc-micro-version) == 0)) ; then
+ append-flags -fno-tree-loop-vectorize
+ fi
+
+ append-ldflags $(test-flags-CCLD -Wl,--undefined-version)
+
+ local myeconfargs=(
+ CC_FOR_BUILD="$(tc-getBUILD_CC)"
+
+ --enable-noexecstack
+ $(use_enable cpu_flags_arm_neon neon-support)
+ # See REQUIRED_USE comment above
+ $(use_enable cpu_flags_arm_aes arm-crypto-support)
+ $(use_enable cpu_flags_ppc_vsx2 ppc-crypto-support)
+ $(use_enable cpu_flags_x86_aes aesni-support)
+ $(use_enable cpu_flags_x86_avx avx-support)
+ $(use_enable cpu_flags_x86_avx2 avx2-support)
+ $(use_enable cpu_flags_x86_padlock padlock-support)
+ $(use_enable cpu_flags_x86_sha shaext-support)
+ $(use_enable cpu_flags_x86_sse4_1 sse41-support)
+ # required for sys-power/suspend[crypt], bug 751568
+ $(use_enable static-libs static)
+
+ # disabled due to various applications requiring privileges
+ # after libgcrypt drops them (bug #468616)
+ --without-capabilities
+
+ # http://trac.videolan.org/vlc/ticket/620
+ $([[ ${CHOST} == *86*-darwin* ]] && echo "--disable-asm")
+
+ $(use asm || echo "--disable-asm")
+
+ GPG_ERROR_CONFIG="${ESYSROOT}/usr/bin/${CHOST}-gpg-error-config"
+ )
+
+ if use kernel_linux; then
+ # --enable-random=getentropy requires getentropy/getrandom.
+ # --enable-random=linux enables legacy code that tries getrandom
+ # and falls back to reading /dev/random.
+ myeconfargs+=( --enable-random=$(usex getentropy getentropy linux) )
+ fi
+
+ ECONF_SOURCE="${S}" econf "${myeconfargs[@]}" \
+ $("${S}/configure" --help | grep -o -- '--without-.*-prefix')
+}
+
+multilib_src_compile() {
+ default
+ multilib_is_native_abi && use doc && VARTEXFONTS="${T}/fonts" emake -C doc gcrypt.pdf
+}
+
+multilib_src_test() {
+ # t-secmem and t-sexp need mlock which requires extra privileges; nspawn
+ # at least disallows that by default.
+ local -x GCRYPT_IN_ASAN_TEST=1
+
+ default
+}
+
+multilib_src_install() {
+ emake DESTDIR="${D}" install
+ multilib_is_native_abi && use doc && dodoc doc/gcrypt.pdf
+}
+
+multilib_src_install_all() {
+ default
+ find "${ED}" -type f -name '*.la' -delete || die
+}
diff --git a/dev-libs/libgcrypt/libgcrypt-1.10.3-r2.ebuild b/dev-libs/libgcrypt/libgcrypt-1.10.3-r2.ebuild
new file mode 100644
index 000000000000..7b2ed8bd2e29
--- /dev/null
+++ b/dev-libs/libgcrypt/libgcrypt-1.10.3-r2.ebuild
@@ -0,0 +1,178 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/gnupg.asc
+inherit autotools flag-o-matic linux-info multilib-minimal toolchain-funcs verify-sig
+
+DESCRIPTION="General purpose crypto library based on the code used in GnuPG"
+HOMEPAGE="https://www.gnupg.org/"
+SRC_URI="mirror://gnupg/${PN}/${P}.tar.bz2"
+SRC_URI+=" verify-sig? ( mirror://gnupg/${PN}/${P}.tar.bz2.sig )"
+
+LICENSE="LGPL-2.1+ GPL-2+ MIT"
+SLOT="0/20" # subslot = soname major version
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+IUSE="+asm cpu_flags_arm_neon cpu_flags_arm_aes cpu_flags_arm_sha1 cpu_flags_arm_sha2 cpu_flags_ppc_altivec cpu_flags_ppc_vsx2 cpu_flags_ppc_vsx3 cpu_flags_x86_aes cpu_flags_x86_avx cpu_flags_x86_avx2 cpu_flags_x86_padlock cpu_flags_x86_sha cpu_flags_x86_sse4_1 doc +getentropy static-libs"
+
+# Build system only has --disable-arm-crypto-support right now
+# If changing this, update src_configure logic too.
+# ARM CPUs seem to, right now, support all-or-nothing for crypto extensions,
+# but this looks like it might change in future. This is just a safety check
+# in case people somehow do have a CPU which only supports some. They must
+# for now disable them all if that's the case.
+REQUIRED_USE="
+ cpu_flags_arm_aes? ( cpu_flags_arm_sha1 cpu_flags_arm_sha2 )
+ cpu_flags_arm_sha1? ( cpu_flags_arm_aes cpu_flags_arm_sha2 )
+ cpu_flags_arm_sha2? ( cpu_flags_arm_aes cpu_flags_arm_sha1 )
+ cpu_flags_ppc_vsx3? ( cpu_flags_ppc_altivec cpu_flags_ppc_vsx2 )
+ cpu_flags_ppc_vsx2? ( cpu_flags_ppc_altivec )
+"
+
+RDEPEND="
+ >=dev-libs/libgpg-error-1.25[${MULTILIB_USEDEP}]
+ getentropy? (
+ kernel_linux? (
+ elibc_glibc? ( >=sys-libs/glibc-2.25 )
+ elibc_musl? ( >=sys-libs/musl-1.1.20 )
+ )
+ )
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ doc? ( virtual/texi2dvi )
+ verify-sig? ( sec-keys/openpgp-keys-gnupg )
+"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-multilib-syspath.patch
+ "${FILESDIR}"/${PN}-powerpc-darwin.patch
+ "${FILESDIR}"/${PN}-1.9.4-no-fgrep-libgcrypt-config.patch
+ "${FILESDIR}"/${PN}-1.10.3-x86.patch
+ "${FILESDIR}"/${PN}-1.10.3-x86-refactor.patch
+ "${FILESDIR}"/${PN}-1.10.3-hppa.patch
+)
+
+MULTILIB_CHOST_TOOLS=(
+ /usr/bin/libgcrypt-config
+)
+
+pkg_pretend() {
+ if [[ ${MERGE_TYPE} == buildonly ]]; then
+ return
+ fi
+ if use kernel_linux && use getentropy; then
+ unset KV_FULL
+ get_running_version
+ if [[ -n ${KV_FULL} ]] && kernel_is -lt 3 17; then
+ eerror "The getentropy function requires the getrandom syscall."
+ eerror "This was introduced in Linux 3.17."
+ eerror "Your system is currently running Linux ${KV_FULL}."
+ eerror "Disable the 'getentropy' USE flag or upgrade your kernel."
+ die "Kernel is too old for getentropy"
+ fi
+ fi
+}
+
+pkg_setup() {
+ :
+}
+
+src_prepare() {
+ default
+ eautoreconf
+}
+
+multilib_src_configure() {
+ if [[ ${CHOST} == *86*-solaris* ]] ; then
+ # ASM code uses GNU ELF syntax, divide in particular, we need to
+ # allow this via ASFLAGS, since we don't have a flag-o-matic
+ # function for that, we'll have to abuse cflags for this
+ append-cflags -Wa,--divide
+ fi
+
+ if [[ ${CHOST} == powerpc* ]] ; then
+ # ./configure does a lot of automagic, prevent that
+ # generic ppc32+ppc64 altivec
+ use cpu_flags_ppc_altivec || local -x gcry_cv_cc_ppc_altivec=no
+ use cpu_flags_ppc_altivec || local -x gcry_cv_cc_ppc_altivec_cflags=no
+ # power8 vector extension, aka arch 2.07 ISA, also checked below via ppc-crypto-support
+ use cpu_flags_ppc_vsx2 || local -x gcry_cv_gcc_inline_asm_ppc_altivec=no
+ # power9 vector extension, aka arch 3.00 ISA
+ use cpu_flags_ppc_vsx3 || local -x gcry_cv_gcc_inline_asm_ppc_arch_3_00=no
+ fi
+
+ # Workaround for GCC < 11.3 bug
+ # https://git.gnupg.org/cgi-bin/gitweb.cgi?p=libgcrypt.git;a=commitdiff;h=0b399721ce9709ae25f9d2050360c5ab2115ae29
+ # https://dev.gnupg.org/T5581
+ # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102124
+ if use arm64 && tc-is-gcc && (($(gcc-major-version) == 11)) &&
+ (($(gcc-minor-version) <= 2)) && (($(gcc-micro-version) == 0)) ; then
+ append-flags -fno-tree-loop-vectorize
+ fi
+
+ append-ldflags $(test-flags-CCLD -Wl,--undefined-version)
+
+ local myeconfargs=(
+ CC_FOR_BUILD="$(tc-getBUILD_CC)"
+
+ --enable-noexecstack
+ $(use_enable cpu_flags_arm_neon neon-support)
+ # See REQUIRED_USE comment above
+ $(use_enable cpu_flags_arm_aes arm-crypto-support)
+ $(use_enable cpu_flags_ppc_vsx2 ppc-crypto-support)
+ $(use_enable cpu_flags_x86_aes aesni-support)
+ $(use_enable cpu_flags_x86_avx avx-support)
+ $(use_enable cpu_flags_x86_avx2 avx2-support)
+ $(use_enable cpu_flags_x86_padlock padlock-support)
+ $(use_enable cpu_flags_x86_sha shaext-support)
+ $(use_enable cpu_flags_x86_sse4_1 sse41-support)
+ # required for sys-power/suspend[crypt], bug 751568
+ $(use_enable static-libs static)
+
+ # disabled due to various applications requiring privileges
+ # after libgcrypt drops them (bug #468616)
+ --without-capabilities
+
+ # http://trac.videolan.org/vlc/ticket/620
+ $([[ ${CHOST} == *86*-darwin* ]] && echo "--disable-asm")
+
+ $(use asm || echo "--disable-asm")
+
+ GPG_ERROR_CONFIG="${ESYSROOT}/usr/bin/${CHOST}-gpg-error-config"
+ )
+
+ if use kernel_linux; then
+ # --enable-random=getentropy requires getentropy/getrandom.
+ # --enable-random=linux enables legacy code that tries getrandom
+ # and falls back to reading /dev/random.
+ myeconfargs+=( --enable-random=$(usex getentropy getentropy linux) )
+ fi
+
+ ECONF_SOURCE="${S}" econf "${myeconfargs[@]}" \
+ $("${S}/configure" --help | grep -o -- '--without-.*-prefix')
+}
+
+multilib_src_compile() {
+ default
+ multilib_is_native_abi && use doc && VARTEXFONTS="${T}/fonts" emake -C doc gcrypt.pdf
+}
+
+multilib_src_test() {
+ # t-secmem and t-sexp need mlock which requires extra privileges; nspawn
+ # at least disallows that by default.
+ local -x GCRYPT_IN_ASAN_TEST=1
+
+ default
+}
+
+multilib_src_install() {
+ emake DESTDIR="${D}" install
+ multilib_is_native_abi && use doc && dodoc doc/gcrypt.pdf
+}
+
+multilib_src_install_all() {
+ default
+ find "${ED}" -type f -name '*.la' -delete || die
+}
diff --git a/dev-libs/libgcrypt/libgcrypt-1.8.7.ebuild b/dev-libs/libgcrypt/libgcrypt-1.8.7.ebuild
deleted file mode 100644
index 104cd442afc7..000000000000
--- a/dev-libs/libgcrypt/libgcrypt-1.8.7.ebuild
+++ /dev/null
@@ -1,77 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit autotools flag-o-matic multilib-minimal toolchain-funcs
-
-DESCRIPTION="General purpose crypto library based on the code used in GnuPG"
-HOMEPAGE="https://www.gnupg.org/"
-SRC_URI="mirror://gnupg/${PN}/${P}.tar.bz2"
-
-LICENSE="LGPL-2.1 MIT"
-SLOT="0/20" # subslot = soname major version
-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"
-IUSE="doc o-flag-munging static-libs"
-
-RDEPEND=">=dev-libs/libgpg-error-1.25[${MULTILIB_USEDEP}]"
-DEPEND="${RDEPEND}"
-BDEPEND="doc? ( virtual/texi2dvi )"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-1.6.1-uscore.patch
- "${FILESDIR}"/${PN}-multilib-syspath.patch
-)
-
-MULTILIB_CHOST_TOOLS=(
- /usr/bin/libgcrypt-config
-)
-
-src_prepare() {
- default
- eautoreconf
-}
-
-multilib_src_configure() {
- if [[ ${CHOST} == *86*-solaris* ]] ; then
- # ASM code uses GNU ELF syntax, divide in particular, we need to
- # allow this via ASFLAGS, since we don't have a flag-o-matic
- # function for that, we'll have to abuse cflags for this
- append-cflags -Wa,--divide
- fi
- local myeconfargs=(
- CC_FOR_BUILD="$(tc-getBUILD_CC)"
- --enable-noexecstack
- # required for sys-power/suspend[crypt], bug 751568
- $(use_enable static-libs static)
- $(use_enable o-flag-munging O-flag-munging)
-
- # disabled due to various applications requiring privileges
- # after libgcrypt drops them (bug #468616)
- --without-capabilities
-
- # http://trac.videolan.org/vlc/ticket/620
- # causes bus-errors on sparc64-solaris
- $([[ ${CHOST} == *86*-darwin* ]] && echo "--disable-asm")
- $([[ ${CHOST} == sparcv9-*-solaris* ]] && echo "--disable-asm")
-
- GPG_ERROR_CONFIG="${EROOT}/usr/bin/${CHOST}-gpg-error-config"
- )
- ECONF_SOURCE="${S}" econf "${myeconfargs[@]}" \
- $("${S}/configure" --help | grep -o -- '--without-.*-prefix')
-}
-
-multilib_src_compile() {
- default
- multilib_is_native_abi && use doc && VARTEXFONTS="${T}/fonts" emake -C doc gcrypt.pdf
-}
-
-multilib_src_install() {
- emake DESTDIR="${D}" install
- multilib_is_native_abi && use doc && dodoc doc/gcrypt.pdf
-}
-
-multilib_src_install_all() {
- default
- find "${D}" -type f -name '*.la' -delete || die
-}
diff --git a/dev-libs/libgcrypt/libgcrypt-1.8.8.ebuild b/dev-libs/libgcrypt/libgcrypt-1.8.8.ebuild
deleted file mode 100644
index 45f5a784c691..000000000000
--- a/dev-libs/libgcrypt/libgcrypt-1.8.8.ebuild
+++ /dev/null
@@ -1,84 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit autotools flag-o-matic multilib-minimal toolchain-funcs
-
-DESCRIPTION="General purpose crypto library based on the code used in GnuPG"
-HOMEPAGE="https://www.gnupg.org/"
-SRC_URI="mirror://gnupg/${PN}/${P}.tar.bz2"
-
-LICENSE="LGPL-2.1 MIT"
-SLOT="0/20" # subslot = soname major version
-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"
-IUSE="doc o-flag-munging static-libs"
-
-RDEPEND=">=dev-libs/libgpg-error-1.25[${MULTILIB_USEDEP}]"
-DEPEND="${RDEPEND}"
-BDEPEND="doc? ( virtual/texi2dvi )"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-1.6.1-uscore.patch
- "${FILESDIR}"/${PN}-multilib-syspath.patch
-)
-
-MULTILIB_CHOST_TOOLS=(
- /usr/bin/libgcrypt-config
-)
-
-src_prepare() {
- default
-
- eautoreconf
-}
-
-multilib_src_configure() {
- if [[ ${CHOST} == *86*-solaris* ]] ; then
- # ASM code uses GNU ELF syntax, divide in particular, we need to
- # allow this via ASFLAGS, since we don't have a flag-o-matic
- # function for that, we'll have to abuse cflags for this
- append-cflags -Wa,--divide
- fi
-
- local myeconfargs=(
- CC_FOR_BUILD="$(tc-getBUILD_CC)"
-
- --enable-noexecstack
- # disabled due to various applications requiring privileges
- # after libgcrypt drops them (bug #468616)
- --without-capabilities
-
- # required for sys-power/suspend[crypt], bug 751568
- $(use_enable static-libs static)
- $(use_enable o-flag-munging O-flag-munging)
-
- # http://trac.videolan.org/vlc/ticket/620
- # causes bus-errors on sparc64-solaris
- $([[ ${CHOST} == *86*-darwin* ]] && echo "--disable-asm")
- $([[ ${CHOST} == sparcv9-*-solaris* ]] && echo "--disable-asm")
-
- GPG_ERROR_CONFIG="${ESYSROOT}/usr/bin/${CHOST}-gpg-error-config"
- )
-
- ECONF_SOURCE="${S}" econf "${myeconfargs[@]}" \
- $("${S}/configure" --help | grep -o -- '--without-.*-prefix')
-}
-
-multilib_src_compile() {
- default
-
- multilib_is_native_abi && use doc && VARTEXFONTS="${T}/fonts" emake -C doc gcrypt.pdf
-}
-
-multilib_src_install() {
- emake DESTDIR="${D}" install
-
- multilib_is_native_abi && use doc && dodoc doc/gcrypt.pdf
-}
-
-multilib_src_install_all() {
- default
-
- find "${ED}" -type f -name '*.la' -delete || die
-}
diff --git a/dev-libs/libgcrypt/libgcrypt-1.9.4.ebuild b/dev-libs/libgcrypt/libgcrypt-1.9.4.ebuild
deleted file mode 100644
index d148982fb8f4..000000000000
--- a/dev-libs/libgcrypt/libgcrypt-1.9.4.ebuild
+++ /dev/null
@@ -1,117 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit autotools flag-o-matic multilib-minimal toolchain-funcs
-
-DESCRIPTION="General purpose crypto library based on the code used in GnuPG"
-HOMEPAGE="https://www.gnupg.org/"
-SRC_URI="mirror://gnupg/${PN}/${P}.tar.bz2"
-
-LICENSE="LGPL-2.1 MIT"
-SLOT="0/20" # subslot = soname major version
-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"
-IUSE="+asm cpu_flags_arm_neon cpu_flags_arm_aes cpu_flags_arm_sha1 cpu_flags_arm_sha2 cpu_flags_ppc_altivec cpu_flags_ppc_vsx2 cpu_flags_ppc_vsx3 cpu_flags_x86_aes cpu_flags_x86_avx cpu_flags_x86_avx2 cpu_flags_x86_padlock cpu_flags_x86_sha cpu_flags_x86_sse4_1 doc o-flag-munging static-libs"
-
-# Build system only has --disable-arm-crypto-support right now
-# If changing this, update src_configure logic too.
-# ARM CPUs seem to, right now, support all-or-nothing for crypto extensions,
-# but this looks like it might change in future. This is just a safety check
-# in case people somehow do have a CPU which only supports some. They must
-# for now disable them all if that's the case.
-REQUIRED_USE="
- cpu_flags_arm_aes? ( cpu_flags_arm_sha1 cpu_flags_arm_sha2 )
- cpu_flags_arm_sha1? ( cpu_flags_arm_aes cpu_flags_arm_sha2 )
- cpu_flags_arm_sha2? ( cpu_flags_arm_aes cpu_flags_arm_sha1 )
- cpu_flags_ppc_vsx3? ( cpu_flags_ppc_altivec cpu_flags_ppc_vsx2 )
- cpu_flags_ppc_vsx2? ( cpu_flags_ppc_altivec )
-"
-
-RDEPEND=">=dev-libs/libgpg-error-1.25[${MULTILIB_USEDEP}]"
-DEPEND="${RDEPEND}"
-BDEPEND="doc? ( virtual/texi2dvi )"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-multilib-syspath.patch
- "${FILESDIR}"/${PN}-powerpc-darwin.patch
- "${FILESDIR}"/${PN}-1.9.4-arm-neon-compile-fix.patch
-)
-
-MULTILIB_CHOST_TOOLS=(
- /usr/bin/libgcrypt-config
-)
-
-src_prepare() {
- default
- eautoreconf
-}
-
-multilib_src_configure() {
- if [[ ${CHOST} == *86*-solaris* ]] ; then
- # ASM code uses GNU ELF syntax, divide in particular, we need to
- # allow this via ASFLAGS, since we don't have a flag-o-matic
- # function for that, we'll have to abuse cflags for this
- append-cflags -Wa,--divide
- fi
-
- if [[ ${CHOST} == powerpc* ]] ; then
- # ./configure does a lot of automagic, prevent that
- # generic ppc32+ppc64 altivec
- use cpu_flags_ppc_altivec || local -x gcry_cv_cc_ppc_altivec=no
- use cpu_flags_ppc_altivec || local -x gcry_cv_cc_ppc_altivec_cflags=no
- # power8 vector extension, aka arch 2.07 ISA, also checked below via ppc-crypto-support
- use cpu_flags_ppc_vsx2 || local -x gcry_cv_gcc_inline_asm_ppc_altivec=no
- # power9 vector extension, aka arch 3.00 ISA
- use cpu_flags_ppc_vsx3 || local -x gcry_cv_gcc_inline_asm_ppc_arch_3_00=no
- fi
-
- local myeconfargs=(
- CC_FOR_BUILD="$(tc-getBUILD_CC)"
-
- --enable-noexecstack
- $(use_enable cpu_flags_arm_neon neon-support)
- # See REQUIRED_USE comment above
- $(use_enable cpu_flags_arm_aes arm-crypto-support)
- $(use_enable cpu_flags_ppc_vsx2 ppc-crypto-support)
- $(use_enable cpu_flags_x86_aes aesni-support)
- $(use_enable cpu_flags_x86_avx avx-support)
- $(use_enable cpu_flags_x86_avx2 avx2-support)
- $(use_enable cpu_flags_x86_padlock padlock-support)
- $(use_enable cpu_flags_x86_sha shaext-support)
- $(use_enable cpu_flags_x86_sse4_1 sse41-support)
- # required for sys-power/suspend[crypt], bug 751568
- $(use_enable static-libs static)
- $(use_enable o-flag-munging O-flag-munging)
-
- # disabled due to various applications requiring privileges
- # after libgcrypt drops them (bug #468616)
- --without-capabilities
-
- # http://trac.videolan.org/vlc/ticket/620
- # causes bus-errors on sparc64-solaris
- $([[ ${CHOST} == *86*-darwin* ]] && echo "--disable-asm")
- $([[ ${CHOST} == sparcv9-*-solaris* ]] && echo "--disable-asm")
-
- $(use asm || echo "--disable-asm")
-
- GPG_ERROR_CONFIG="${ESYSROOT}/usr/bin/${CHOST}-gpg-error-config"
- )
- ECONF_SOURCE="${S}" econf "${myeconfargs[@]}" \
- $("${S}/configure" --help | grep -o -- '--without-.*-prefix')
-}
-
-multilib_src_compile() {
- default
- multilib_is_native_abi && use doc && VARTEXFONTS="${T}/fonts" emake -C doc gcrypt.pdf
-}
-
-multilib_src_install() {
- emake DESTDIR="${D}" install
- multilib_is_native_abi && use doc && dodoc doc/gcrypt.pdf
-}
-
-multilib_src_install_all() {
- default
- find "${ED}" -type f -name '*.la' -delete || die
-}
diff --git a/dev-libs/libgcrypt/metadata.xml b/dev-libs/libgcrypt/metadata.xml
index afd8e678af72..8d42c0b262c0 100644
--- a/dev-libs/libgcrypt/metadata.xml
+++ b/dev-libs/libgcrypt/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>zlogene@gentoo.org</email>
- <name>Mikle Kolyada</name>
- </maintainer>
<maintainer type="project">
<email>base-system@gentoo.org</email>
<name>Gentoo Base System</name>
@@ -13,7 +9,6 @@
<remote-id type="cpe">cpe:/a:gnupg:libgcrypt</remote-id>
</upstream>
<use>
- <flag name="asm">Enable assembly for optimization</flag>
- <flag name="o-flag-munging">Enable O-flag mangling during build</flag>
+ <flag name="getentropy">Use getentropy function to obtain randomness from the kernel</flag>
</use>
</pkgmetadata>
diff --git a/dev-libs/libgdata/libgdata-0.18.1-r1.ebuild b/dev-libs/libgdata/libgdata-0.18.1-r1.ebuild
new file mode 100644
index 000000000000..2c5e89c2d62c
--- /dev/null
+++ b/dev-libs/libgdata/libgdata-0.18.1-r1.ebuild
@@ -0,0 +1,65 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit gnome.org gnome2-utils meson vala xdg
+
+DESCRIPTION="GLib-based library for accessing online service APIs using the GData protocol"
+HOMEPAGE="https://wiki.gnome.org/Projects/libgdata"
+
+LICENSE="LGPL-2.1+"
+SLOT="0/22" # subslot = libgdata soname version
+
+IUSE="+crypt gnome-online-accounts gtk-doc +introspection test vala"
+REQUIRED_USE="vala? ( introspection )"
+RESTRICT="!test? ( test )"
+
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ppc ppc64 ~riscv sparc x86"
+
+RDEPEND="
+ >=dev-libs/glib-2.44.0:2
+ >=dev-libs/json-glib-0.15[introspection?]
+ >=dev-libs/libxml2-2:2
+ >=net-libs/libsoup-2.55.90:2.4[introspection?,vala?]
+ crypt? ( app-crypt/gcr:0= )
+ gnome-online-accounts? ( >=net-libs/gnome-online-accounts-3.8:=[introspection?,vala?] )
+ introspection? ( >=dev-libs/gobject-introspection-1.54:= )
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ dev-util/glib-utils
+ gtk-doc? ( >=dev-util/gtk-doc-1.25
+ app-text/docbook-xml-dtd:4.3 )
+ >=sys-devel/gettext-0.19.8
+ virtual/pkgconfig
+ test? (
+ >=net-libs/uhttpmock-0.5.0:0
+ >=x11-libs/gdk-pixbuf-2.14:2
+ )
+ vala? ( $(vala_depend) )
+"
+
+src_prepare() {
+ default
+ use vala && vala_src_prepare
+ gnome2_environment_reset
+ # Don't waste time building a couple small demos that aren't installed
+ sed -i -e '/subdir.*demos/d' meson.build || die
+}
+
+src_configure() {
+ local emesonargs=(
+ -Dgtk=disabled # only for demos
+ $(meson_feature crypt gnome)
+ $(meson_feature gnome-online-accounts goa)
+ -Doauth1=disabled
+ $(meson_use test always_build_tests)
+ -Dinstalled_tests=false
+ -Dman=true
+ $(meson_use gtk-doc gtk_doc)
+ $(meson_use introspection)
+ $(meson_use vala vapi)
+ )
+ meson_src_configure
+}
diff --git a/dev-libs/libgdata/libgdata-0.18.1.ebuild b/dev-libs/libgdata/libgdata-0.18.1.ebuild
deleted file mode 100644
index 22e2fce4c0a4..000000000000
--- a/dev-libs/libgdata/libgdata-0.18.1.ebuild
+++ /dev/null
@@ -1,64 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-VALA_USE_DEPEND="vapigen"
-
-inherit gnome.org meson vala xdg
-
-DESCRIPTION="GLib-based library for accessing online service APIs using the GData protocol"
-HOMEPAGE="https://wiki.gnome.org/Projects/libgdata"
-
-LICENSE="LGPL-2.1+"
-SLOT="0/22" # subslot = libgdata soname version
-
-IUSE="+crypt gnome-online-accounts gtk-doc +introspection test vala"
-REQUIRED_USE="vala? ( introspection )"
-RESTRICT="!test? ( test )"
-
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ppc ppc64 ~riscv sparc x86"
-
-RDEPEND="
- >=dev-libs/glib-2.44.0:2
- >=dev-libs/json-glib-0.15[introspection?]
- >=dev-libs/libxml2-2:2
- >=net-libs/libsoup-2.55.90:2.4[introspection?,vala?]
- crypt? ( app-crypt/gcr:= )
- gnome-online-accounts? ( >=net-libs/gnome-online-accounts-3.8:=[introspection?,vala?] )
- introspection? ( >=dev-libs/gobject-introspection-1.54:= )
-"
-DEPEND="${RDEPEND}"
-BDEPEND="
- dev-util/glib-utils
- gtk-doc? ( >=dev-util/gtk-doc-1.25
- app-text/docbook-xml-dtd:4.3 )
- >=sys-devel/gettext-0.19.8
- virtual/pkgconfig
- test? ( >=net-libs/uhttpmock-0.5.0
- >=x11-libs/gdk-pixbuf-2.14:2
- )
- vala? ( $(vala_depend) )
-"
-
-src_prepare() {
- use vala && vala_src_prepare
- xdg_src_prepare
- # Don't waste time building a couple small demos that aren't installed
- sed -i -e '/subdir.*demos/d' meson.build || die
-}
-
-src_configure() {
- local emesonargs=(
- -Dgtk=disabled # only for demos
- $(meson_feature crypt gnome)
- $(meson_feature gnome-online-accounts goa)
- -Doauth1=disabled
- $(meson_use test always_build_tests)
- -Dinstalled_tests=false
- -Dman=true
- $(meson_use gtk-doc gtk_doc)
- $(meson_use introspection)
- $(meson_use vala vapi)
- )
- meson_src_configure
-}
diff --git a/dev-libs/libgdata/metadata.xml b/dev-libs/libgdata/metadata.xml
index 670d43a33227..6a646ad90c56 100644
--- a/dev-libs/libgdata/metadata.xml
+++ b/dev-libs/libgdata/metadata.xml
@@ -1,12 +1,15 @@
<?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>
-<use>
- <flag name="crypt">Use <pkg>app-crypt/gcr</pkg> for keeping tokens and passwords in non-pageable memory for improved security</flag>
- <flag name="gnome-online-accounts">Enable <pkg>net-libs/gnome-online-accounts</pkg> support</flag>
-</use>
+ <maintainer type="project">
+ <email>gnome@gentoo.org</email>
+ <name>Gentoo GNOME Desktop</name>
+ </maintainer>
+ <use>
+ <flag name="crypt">Use <pkg>app-crypt/gcr</pkg> for keeping tokens and passwords in non-pageable memory for improved security</flag>
+ <flag name="gnome-online-accounts">Enable <pkg>net-libs/gnome-online-accounts</pkg> support</flag>
+ </use>
+ <upstream>
+ <remote-id type="gnome-gitlab">GNOME/libgdata</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/dev-libs/libgee/Manifest b/dev-libs/libgee/Manifest
index 5393ade8e324..013768e60b48 100644
--- a/dev-libs/libgee/Manifest
+++ b/dev-libs/libgee/Manifest
@@ -1 +1 @@
-DIST libgee-0.20.4.tar.xz 684068 BLAKE2B b40d37f5d90abb8d96d5e90c67056573960bd54cadfb1cb5daf7fc07147a9e1706e23bf0240b84245c7e1ffb814c5e358f12e974a0d8a038b0179be25f271d90 SHA512 9a4b1db47543e80a6191054fa8fb04a8c07468befe05f738409ede317e64a8b884157bb488b330cd27f3dce3af5eeb7aefb74a180c2913ed8c834d1bde8fe9c5
+DIST libgee-0.20.6.tar.xz 690436 BLAKE2B cdb88719e0e1bceccefd6a824823e6e514bf1f4d6b8cf5330d6d83f781649312b23554c7dfc4a6b4eeb3bbcd81ca42843666d596b85634ff95fc90e90fea44bd SHA512 05176b221274b2a0512b018b93ae730ca750482bbc7a4951376eb868c0a388950371e80a438b5af792ebe4a64b6a38e0c94ca52ebd0fc4539f0fe233e0be5903
diff --git a/dev-libs/libgee/files/libgee-0.20.6-c99-2.patch b/dev-libs/libgee/files/libgee-0.20.6-c99-2.patch
new file mode 100644
index 000000000000..3c55704739e3
--- /dev/null
+++ b/dev-libs/libgee/files/libgee-0.20.6-c99-2.patch
@@ -0,0 +1,55 @@
+https://bugs.gentoo.org/894376
+https://gitlab.gnome.org/GNOME/libgee/-/commit/2f0bbe8987e5eb1390b23ac531c971b202c2ef77
+
+From 2f0bbe8987e5eb1390b23ac531c971b202c2ef77 Mon Sep 17 00:00:00 2001
+From: Rico Tzschichholz <ricotz@ubuntu.com>
+Date: Thu, 13 Apr 2023 23:43:03 +0200
+Subject: [PATCH] Implementations of "G List.get()" should use non-nullable
+ return as defined
+
+--- a/gee/abstractlist.vala
++++ b/gee/abstractlist.vala
+@@ -39,7 +39,7 @@ public abstract class Gee.AbstractList<G> : Gee.AbstractCollection<G>, List<G> {
+ /**
+ * {@inheritDoc}
+ */
+- public abstract new G? get (int index);
++ public abstract new G get (int index);
+
+ /**
+ * {@inheritDoc}
+--- a/gee/concurrentlist.vala
++++ b/gee/concurrentlist.vala
+@@ -170,7 +170,7 @@ public class Gee.ConcurrentList<G> : AbstractList<G> {
+ /**
+ * {@inheritDoc}
+ */
+- public override G? get (int index) {
++ public override G get (int index) {
+ HazardPointer.Context ctx = new HazardPointer.Context ();
+ Utils.Misc.unused (ctx);
+ assert (index >= 0);
+--- a/gee/readonlylist.vala
++++ b/gee/readonlylist.vala
+@@ -74,7 +74,7 @@ internal class Gee.ReadOnlyList<G> : Gee.ReadOnlyCollection<G>, List<G> {
+ /**
+ * {@inheritDoc}
+ */
+- public new G? get (int index) {
++ public new G get (int index) {
+ return ((Gee.List<G>) _collection).get (index);
+ }
+
+--- a/gee/unrolledlinkedlist.vala
++++ b/gee/unrolledlinkedlist.vala
+@@ -158,7 +158,7 @@ public class Gee.UnrolledLinkedList<G> : AbstractBidirList<G>, Queue<G>, Deque<G
+ return new Iterator<G> (this);
+ }
+
+- public override G? get (int index) {
++ public override G get (int index) {
+ assert (index >= 0);
+ assert (index < this._size);
+
+--
+GitLab
diff --git a/dev-libs/libgee/files/libgee-0.20.6-c99.patch b/dev-libs/libgee/files/libgee-0.20.6-c99.patch
new file mode 100644
index 000000000000..99275ff821d7
--- /dev/null
+++ b/dev-libs/libgee/files/libgee-0.20.6-c99.patch
@@ -0,0 +1,43 @@
+https://bugs.gentoo.org/894376
+https://gitlab.gnome.org/GNOME/libgee/-/commit/b33a6627f4fc96938b6015e05849867c472160a8
+
+From b33a6627f4fc96938b6015e05849867c472160a8 Mon Sep 17 00:00:00 2001
+From: Rico Tzschichholz <ricotz@ubuntu.com>
+Date: Sat, 8 Apr 2023 22:39:35 +0200
+Subject: [PATCH] Add more missing generic type arguments
+
+--- a/gee/hashmap.vala
++++ b/gee/hashmap.vala
+@@ -253,7 +253,7 @@ public class Gee.HashMap<K,V> : Gee.AbstractMap<K,V> {
+ for (int i = 0; i < _array_size; i++) {
+ Node<K,V> node = (owned) _nodes[i];
+ while (node != null) {
+- Node next = (owned) node.next;
++ Node<K,V> next = (owned) node.next;
+ node.key = null;
+ node.value = null;
+ node = (owned) next;
+--- a/gee/hashset.vala
++++ b/gee/hashset.vala
+@@ -210,7 +210,7 @@ public class Gee.HashSet<G> : AbstractSet<G> {
+ for (int i = 0; i < _array_size; i++) {
+ Node<G> node = (owned) _nodes[i];
+ while (node != null) {
+- Node next = (owned) node.next;
++ Node<G> next = (owned) node.next;
+ node.key = null;
+ node = (owned) next;
+ }
+--- a/gee/linkedlist.vala
++++ b/gee/linkedlist.vala
+@@ -233,7 +233,7 @@ public class Gee.LinkedList<G> : AbstractBidirList<G>, Queue<G>, Deque<G> {
+ n.next.prev = n;
+ this._head = (owned)n;
+ } else {
+- weak Node prev = this._head;
++ weak Node<G> prev = this._head;
+ for (int i = 0; i < index - 1; i++) {
+ prev = prev.next;
+ }
+--
+GitLab
diff --git a/dev-libs/libgee/libgee-0.20.4.ebuild b/dev-libs/libgee/libgee-0.20.4.ebuild
deleted file mode 100644
index 34b8acf67c9d..000000000000
--- a/dev-libs/libgee/libgee-0.20.4.ebuild
+++ /dev/null
@@ -1,28 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit gnome2
-
-DESCRIPTION="GObject-based interfaces and classes for commonly used data structures"
-HOMEPAGE="https://wiki.gnome.org/Projects/Libgee"
-
-LICENSE="LGPL-2.1+"
-SLOT="0.8/2"
-KEYWORDS="~alpha amd64 arm arm64 ~ia64 ppc ppc64 ~riscv sparc x86 ~x86-linux"
-IUSE="+introspection"
-
-# FIXME: add doc support, requires valadoc
-RDEPEND="
- >=dev-libs/glib-2.36:2
- introspection? ( >=dev-libs/gobject-introspection-0.9.6:= )
-"
-DEPEND="${RDEPEND}"
-BDEPEND="virtual/pkgconfig"
-
-src_configure() {
- gnome2_src_configure \
- $(use_enable introspection) \
- VALAC="$(type -P false)"
-}
diff --git a/dev-libs/libgee/libgee-0.20.6-r1.ebuild b/dev-libs/libgee/libgee-0.20.6-r1.ebuild
new file mode 100644
index 000000000000..758097a11ff8
--- /dev/null
+++ b/dev-libs/libgee/libgee-0.20.6-r1.ebuild
@@ -0,0 +1,43 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit gnome2 vala
+
+DESCRIPTION="GObject-based interfaces and classes for commonly used data structures"
+HOMEPAGE="https://wiki.gnome.org/Projects/Libgee"
+
+LICENSE="LGPL-2.1+"
+SLOT="0.8/2"
+KEYWORDS="~alpha amd64 arm arm64 ~ia64 ~loong ppc ppc64 ~riscv sparc x86 ~x86-linux"
+IUSE="+introspection"
+
+# FIXME: add doc support, requires valadoc
+RDEPEND="
+ >=dev-libs/glib-2.36:2
+ introspection? ( >=dev-libs/gobject-introspection-0.9.6:= )
+"
+DEPEND="
+ ${RDEPEND}
+ $(vala_depend)
+"
+BDEPEND="virtual/pkgconfig"
+
+PATCHES=(
+ "${FILESDIR}"/libgee-0.20.6-c99.patch
+ "${FILESDIR}"/libgee-0.20.6-c99-2.patch
+)
+
+src_prepare() {
+ vala_setup
+ gnome2_src_prepare
+}
+
+src_configure() {
+ # Commented out VALAC="$(type -P false)" for c99 patches
+ # We can drop all the Vala wiring and use the shipped files once
+ # a new release is made.
+ gnome2_src_configure \
+ $(use_enable introspection)
+}
diff --git a/dev-libs/libgee/metadata.xml b/dev-libs/libgee/metadata.xml
index 7b343b06be8a..deb03f934a19 100644
--- a/dev-libs/libgee/metadata.xml
+++ b/dev-libs/libgee/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/libgee</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/dev-libs/libgit2-glib/Manifest b/dev-libs/libgit2-glib/Manifest
index 99cf22959a87..7e08a7a2c53d 100644
--- a/dev-libs/libgit2-glib/Manifest
+++ b/dev-libs/libgit2-glib/Manifest
@@ -1,2 +1 @@
-DIST libgit2-glib-0.99.0.1.tar.xz 140996 BLAKE2B 0c163467ea43ab236b2c856416940b1ed7c93e6ed8ce9980d2d146f0633830ab3765d8bd34bdaab31efdb4096e88e0513c9585b9e06a3efc800d5c32a0d29479 SHA512 48b34ba84b5315d23d0429a684753c3a64c62086d70a67fdb4dfbf8f2ee883f5a90d7e59cfcfd229682794c455b668eb9bd7bf6159d6bfa45a99ddc2461d7c25
-DIST libgit2-glib-1.0.0.1.tar.xz 141664 BLAKE2B a99ad6db55d0d4bee4d7d96b92e92d12712843e41e25e5ab57f5722926fe3e95109a33654d0ab94b7f919bd5d51a0b159dcae720eee763200c964d0327b8a37d SHA512 8e156791783f79d585fa83267a5e14a4a93324fcca75e836478ddd5b5c53d9e827b07a3738c67116478435613639aab0992f32413b9a4de5fc4ff641dd042e80
+DIST libgit2-glib-1.2.0.tar.xz 140576 BLAKE2B f49f808e7f97c45d7df49d780fdf036422b794e551f2e42d934b015fb227b1cb80d5067198a5ef7ac0539460bf6c0eab74025bcf367a0aebb43518448015e22e SHA512 37004e86c663ce5fe1bd54878b908575eb9195c1012e88e39c2efdb0b6cfa1de3d2ed9754cecc1b942d001698870025c87d95856f2a0a9f2d0dba1979b07b1f8
diff --git a/dev-libs/libgit2-glib/files/libgit2-glib-0.99.0.1-vapilink.patch b/dev-libs/libgit2-glib/files/libgit2-glib-0.99.0.1-vapilink.patch
deleted file mode 100644
index a1838b403ab8..000000000000
--- a/dev-libs/libgit2-glib/files/libgit2-glib-0.99.0.1-vapilink.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-From 7f63349fd0405439532f2ff0896a3697c73ccaaf Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
-Date: Thu, 27 Feb 2020 15:20:20 +0100
-Subject: [PATCH] Fix meson_vapi_link.py to respect DESTDIR
-
-Fixes #5
----
- meson.build | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/meson.build b/meson.build
-index 6d314b5..3a423b3 100644
---- a/meson.build
-+++ b/meson.build
-@@ -135,7 +135,7 @@ if enable_vapi
- assert(enable_gir, 'vapi support was requested, but introspection support is mandatory.')
- assert(add_languages('vala', required: false), 'vapi support was requested, but vala not found.')
-
-- meson.add_install_script('meson_vapi_link.py', libgit2_glib_datadir)
-+ meson.add_install_script('meson_vapi_link.py', get_option('datadir'))
- endif
-
- # Check for libgit2 ssh support
---
-2.25.1
-
diff --git a/dev-libs/libgit2-glib/libgit2-glib-0.99.0.1-r2.ebuild b/dev-libs/libgit2-glib/libgit2-glib-0.99.0.1-r2.ebuild
deleted file mode 100644
index 24d9151a5225..000000000000
--- a/dev-libs/libgit2-glib/libgit2-glib-0.99.0.1-r2.ebuild
+++ /dev/null
@@ -1,64 +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} )
-VALA_USE_DEPEND="vapigen"
-
-inherit gnome.org meson python-r1 vala xdg
-
-DESCRIPTION="Git library for GLib"
-HOMEPAGE="https://wiki.gnome.org/Projects/Libgit2-glib"
-
-LICENSE="LGPL-2+"
-SLOT="0"
-KEYWORDS="amd64 ~riscv x86"
-IUSE="gtk-doc python +ssh +vala"
-REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
-
-RDEPEND="
- >=dev-libs/gobject-introspection-1.54:=
- >=dev-libs/glib-2.44.0:2
- >=dev-libs/libgit2-0.26.0:0=[ssh?]
- python? (
- ${PYTHON_DEPS}
- dev-python/pygobject:3[${PYTHON_USEDEP}] )
-"
-DEPEND="${RDEPEND}"
-BDEPEND="
- dev-util/glib-utils
- virtual/pkgconfig
- gtk-doc? ( dev-util/gtk-doc
- app-text/docbook-xml-dtd:4.1.2 )
- vala? ( $(vala_depend) )
-"
-
-PATCHES=(
- "${FILESDIR}"/libgit2-glib-0.99.0.1-vapilink.patch
-)
-
-src_prepare() {
- xdg_src_prepare
- use vala && vala_src_prepare
-}
-
-src_configure() {
- local emesonargs=(
- $(meson_use gtk-doc gtk_doc)
- -Dintrospection=true
- -Dpython=false # we install python scripts manually
- $(meson_use ssh)
- $(meson_use vala vapi)
- )
-
- meson_src_configure
-}
-
-src_install() {
- meson_src_install
-
- if use python ; then
- python_moduleinto gi.overrides
- python_foreach_impl python_domodule libgit2-glib/Ggit.py
- fi
-}
diff --git a/dev-libs/libgit2-glib/libgit2-glib-1.0.0.1.ebuild b/dev-libs/libgit2-glib/libgit2-glib-1.0.0.1.ebuild
deleted file mode 100644
index 72d8c26339c1..000000000000
--- a/dev-libs/libgit2-glib/libgit2-glib-1.0.0.1.ebuild
+++ /dev/null
@@ -1,60 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-PYTHON_COMPAT=( python3_{8..10} )
-VALA_USE_DEPEND="vapigen"
-
-inherit gnome.org meson python-r1 vala xdg
-
-DESCRIPTION="Git library for GLib"
-HOMEPAGE="https://wiki.gnome.org/Projects/Libgit2-glib"
-
-LICENSE="LGPL-2+"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
-IUSE="gtk-doc python +ssh +vala"
-REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
-
-RDEPEND="
- >=dev-libs/gobject-introspection-1.54:=
- >=dev-libs/glib-2.44.0:2
- >=dev-libs/libgit2-0.26.0:0=[ssh?]
- python? (
- ${PYTHON_DEPS}
- dev-python/pygobject:3[${PYTHON_USEDEP}] )
-"
-DEPEND="${RDEPEND}"
-BDEPEND="
- dev-util/glib-utils
- virtual/pkgconfig
- gtk-doc? ( dev-util/gtk-doc
- app-text/docbook-xml-dtd:4.1.2 )
- vala? ( $(vala_depend) )
-"
-
-src_prepare() {
- xdg_src_prepare
- use vala && vala_src_prepare
-}
-
-src_configure() {
- local emesonargs=(
- $(meson_use gtk-doc gtk_doc)
- -Dintrospection=true
- -Dpython=false # we install python scripts manually
- $(meson_use ssh)
- $(meson_use vala vapi)
- )
-
- meson_src_configure
-}
-
-src_install() {
- meson_src_install
-
- if use python ; then
- python_moduleinto gi.overrides
- python_foreach_impl python_domodule libgit2-glib/Ggit.py
- fi
-}
diff --git a/dev-libs/libgit2-glib/libgit2-glib-1.2.0.ebuild b/dev-libs/libgit2-glib/libgit2-glib-1.2.0.ebuild
new file mode 100644
index 000000000000..ecf161614762
--- /dev/null
+++ b/dev-libs/libgit2-glib/libgit2-glib-1.2.0.ebuild
@@ -0,0 +1,64 @@
+# 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 python-r1 vala xdg
+
+DESCRIPTION="Git library for GLib"
+HOMEPAGE="https://wiki.gnome.org/Projects/Libgit2-glib"
+
+LICENSE="LGPL-2+"
+SLOT="0"
+KEYWORDS="amd64 ~arm64 ~ppc64 ~riscv x86"
+IUSE="gtk-doc python +ssh +vala"
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+
+# see bug #927383 wrt libgit2 upper bound
+RDEPEND="
+ >=dev-libs/gobject-introspection-1.54:=
+ >=dev-libs/glib-2.44.0:2
+ >=dev-libs/libgit2-0.26.0:0=[ssh?]
+ <dev-libs/libgit2-1.8.0
+ python? (
+ ${PYTHON_DEPS}
+ dev-python/pygobject:3[${PYTHON_USEDEP}]
+ )
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ dev-util/glib-utils
+ virtual/pkgconfig
+ gtk-doc? ( dev-util/gi-docgen )
+ vala? ( $(vala_depend) )
+"
+
+src_prepare() {
+ default
+
+ sed -i -e '/meson_python_compile.py/d' meson.build || die
+}
+
+src_configure() {
+ local emesonargs=(
+ $(meson_use gtk-doc gtk_doc)
+ -Dintrospection=true
+ -Dpython=false # we install python scripts manually
+ $(meson_use ssh)
+ $(meson_use vala vapi)
+ )
+
+ use vala && vala_setup
+ meson_src_configure
+}
+
+src_install() {
+ meson_src_install
+
+ if use python ; then
+ python_moduleinto gi.overrides
+ python_foreach_impl python_domodule libgit2-glib/Ggit.py
+ fi
+}
diff --git a/dev-libs/libgit2-glib/metadata.xml b/dev-libs/libgit2-glib/metadata.xml
index 954cf460d078..d755c18f7e38 100644
--- a/dev-libs/libgit2-glib/metadata.xml
+++ b/dev-libs/libgit2-glib/metadata.xml
@@ -1,15 +1,18 @@
<?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>
- <maintainer type="project">
- <email>gnome@gentoo.org</email>
- <name>Gentoo GNOME Desktop</name>
- </maintainer>
- <use>
- <flag name="ssh">Enable SSH transport support</flag>
- </use>
+ <maintainer type="person">
+ <email>mgorny@gentoo.org</email>
+ <name>Michał Górny</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>gnome@gentoo.org</email>
+ <name>Gentoo GNOME Desktop</name>
+ </maintainer>
+ <use>
+ <flag name="ssh">Enable SSH transport support</flag>
+ </use>
+ <upstream>
+ <remote-id type="gnome-gitlab">GNOME/libgit2-glib</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/dev-libs/libgit2/Manifest b/dev-libs/libgit2/Manifest
index 4f8bf13b9779..b6be2db7ff21 100644
--- a/dev-libs/libgit2/Manifest
+++ b/dev-libs/libgit2/Manifest
@@ -1 +1,2 @@
-DIST libgit2-1.3.0.tar.gz 5599575 BLAKE2B b701c105bb0a5bdcdd5ed1db180662ad4949c540944664d5d8c2f5d78998f15d15bd3669ae3e3d43bfa1b81207c0a94b7e49fc76e57f4cc8ef791ab26e62fc70 SHA512 842a648a67ff23ba9e6bf14b706ba9081164866e14000ebf3858442b7046925f05e1dbf00a7d740dc4bf32280e260730e23a9492e817094aa90736ae335ee76e
+DIST libgit2-1.7.2.tar.gz 7548186 BLAKE2B c27870124c7e63a37794014a802a6fce46c577313f3b6081580f920fa842a65305b5bc56aa6ab02cf87c533d6052afdc37317f96aa1fd67387b07f52415ccbe3 SHA512 825737e4a1991fba50ea535f15b0e560ebe76ead752e04aeba36925b944d0da77fe9826a70980a1aa3d0bf9afbedfab79dd92e799c9252931384c89ebec9b012
+DIST libgit2-1.8.0.tar.gz 7590126 BLAKE2B f3cc5259a5804bb1e319633269a8c488d7195683e39c178fbe5dc43278736bf15f706c1ca8f72b519ef647033ed11426ea40ceb0dd3ffddae3a35839493d6c54 SHA512 e5634267bd9c6a594c9a954d09c657e7b8aadf213609bf7dd83b99863d0d0c7109a5277617dd508abc2da54ea3f12c2af1908d1aeb73c000e94056e2f3653144
diff --git a/dev-libs/libgit2/libgit2-1.3.0.ebuild b/dev-libs/libgit2/libgit2-1.3.0.ebuild
deleted file mode 100644
index 573a05a4d9b0..000000000000
--- a/dev-libs/libgit2/libgit2-1.3.0.ebuild
+++ /dev/null
@@ -1,72 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..10} )
-inherit cmake python-any-r1
-
-DESCRIPTION="A linkable library for Git"
-HOMEPAGE="https://libgit2.org"
-SRC_URI="https://github.com/${PN}/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-S=${WORKDIR}/${P/_/-}
-
-LICENSE="GPL-2-with-linking-exception"
-SLOT="0/$(ver_cut 1-2)"
-KEYWORDS="amd64 arm arm64 ppc ppc64 ~riscv x86 ~ppc-macos"
-IUSE="examples gssapi +ssh test +threads trace"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- dev-libs/libpcre:=
- net-libs/http-parser:=
- sys-libs/zlib
- dev-libs/openssl:0=
- gssapi? ( virtual/krb5 )
- ssh? ( net-libs/libssh2 )
-"
-DEPEND="${RDEPEND}"
-BDEPEND="
- ${PYTHON_DEPS}
- virtual/pkgconfig
-"
-
-src_prepare() {
- cmake_src_prepare
- # relying on forked http-parser to support some obscure URI form
- sed -i -e '/empty_port/s:test:_&:' tests/network/url/parse.c || die
-}
-
-src_configure() {
- local mycmakeargs=(
- -DBUILD_CLAR=$(usex test)
- -DENABLE_TRACE=$(usex trace ON OFF)
- -DUSE_GSSAPI=$(usex gssapi ON OFF)
- -DUSE_SSH=$(usex ssh)
- -DTHREADSAFE=$(usex threads)
- -DUSE_HTTP_PARSER=system
- )
- cmake_src_configure
-}
-
-src_test() {
- if [[ ${EUID} -eq 0 ]] ; then
- # repo::iterator::fs_preserves_error fails if run as root
- # since root can still access dirs with 0000 perms
- ewarn "Skipping tests: non-root privileges are required for all tests to pass"
- else
- local TEST_VERBOSE=1
- cmake_src_test -R offline
- fi
-}
-
-src_install() {
- cmake_src_install
- dodoc docs/*.{md,txt}
-
- if use examples ; then
- find examples -name '.gitignore' -delete || die
- dodoc -r examples
- docompress -x /usr/share/doc/${PF}/examples
- fi
-}
diff --git a/dev-libs/libgit2/libgit2-1.7.2.ebuild b/dev-libs/libgit2/libgit2-1.7.2.ebuild
new file mode 100644
index 000000000000..e6996dbfbafa
--- /dev/null
+++ b/dev-libs/libgit2/libgit2-1.7.2.ebuild
@@ -0,0 +1,75 @@
+# 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 flag-o-matic python-any-r1
+
+DESCRIPTION="A linkable library for Git"
+HOMEPAGE="https://libgit2.org/"
+SRC_URI="
+ https://github.com/${PN}/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz
+"
+S=${WORKDIR}/${P/_/-}
+
+LICENSE="GPL-2-with-linking-exception"
+SLOT="0/$(ver_cut 1-2)"
+KEYWORDS="amd64 arm arm64 ~loong ppc ppc64 ~riscv ~s390 sparc x86 ~ppc-macos"
+IUSE="examples gssapi +ssh test +threads trace"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ dev-libs/libpcre2:=
+ net-libs/http-parser:=
+ sys-libs/zlib
+ dev-libs/openssl:0=
+ gssapi? ( virtual/krb5 )
+ ssh? ( net-libs/libssh2 )
+"
+DEPEND="
+ ${RDEPEND}
+"
+BDEPEND="
+ ${PYTHON_DEPS}
+ virtual/pkgconfig
+"
+
+src_configure() {
+ local mycmakeargs=(
+ -DBUILD_TESTS=$(usex test)
+ -DUSE_SSH=$(usex ssh)
+ -DUSE_GSSAPI=$(usex gssapi ON OFF)
+ -DUSE_HTTP_PARSER=system
+ -DREGEX_BACKEND=pcre2
+ )
+ # https://bugs.gentoo.org/927821
+ append-flags -fno-strict-aliasing
+ filter-lto
+ # https://bugs.gentoo.org/925207
+ append-lfs-flags
+ cmake_src_configure
+}
+
+src_test() {
+ if [[ ${EUID} -eq 0 ]] ; then
+ # repo::iterator::fs_preserves_error fails if run as root
+ # since root can still access dirs with 0000 perms
+ ewarn "Skipping tests: non-root privileges are required for all tests to pass"
+ else
+ local TEST_VERBOSE=1
+ cmake_src_test -R offline
+ fi
+}
+
+src_install() {
+ cmake_src_install
+ dodoc docs/*.{md,txt}
+
+ if use examples ; then
+ find examples -name '.gitignore' -delete || die
+ dodoc -r examples
+ docompress -x /usr/share/doc/${PF}/examples
+ fi
+}
diff --git a/dev-libs/libgit2/libgit2-1.8.0.ebuild b/dev-libs/libgit2/libgit2-1.8.0.ebuild
new file mode 100644
index 000000000000..e6996dbfbafa
--- /dev/null
+++ b/dev-libs/libgit2/libgit2-1.8.0.ebuild
@@ -0,0 +1,75 @@
+# 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 flag-o-matic python-any-r1
+
+DESCRIPTION="A linkable library for Git"
+HOMEPAGE="https://libgit2.org/"
+SRC_URI="
+ https://github.com/${PN}/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz
+"
+S=${WORKDIR}/${P/_/-}
+
+LICENSE="GPL-2-with-linking-exception"
+SLOT="0/$(ver_cut 1-2)"
+KEYWORDS="amd64 arm arm64 ~loong ppc ppc64 ~riscv ~s390 sparc x86 ~ppc-macos"
+IUSE="examples gssapi +ssh test +threads trace"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ dev-libs/libpcre2:=
+ net-libs/http-parser:=
+ sys-libs/zlib
+ dev-libs/openssl:0=
+ gssapi? ( virtual/krb5 )
+ ssh? ( net-libs/libssh2 )
+"
+DEPEND="
+ ${RDEPEND}
+"
+BDEPEND="
+ ${PYTHON_DEPS}
+ virtual/pkgconfig
+"
+
+src_configure() {
+ local mycmakeargs=(
+ -DBUILD_TESTS=$(usex test)
+ -DUSE_SSH=$(usex ssh)
+ -DUSE_GSSAPI=$(usex gssapi ON OFF)
+ -DUSE_HTTP_PARSER=system
+ -DREGEX_BACKEND=pcre2
+ )
+ # https://bugs.gentoo.org/927821
+ append-flags -fno-strict-aliasing
+ filter-lto
+ # https://bugs.gentoo.org/925207
+ append-lfs-flags
+ cmake_src_configure
+}
+
+src_test() {
+ if [[ ${EUID} -eq 0 ]] ; then
+ # repo::iterator::fs_preserves_error fails if run as root
+ # since root can still access dirs with 0000 perms
+ ewarn "Skipping tests: non-root privileges are required for all tests to pass"
+ else
+ local TEST_VERBOSE=1
+ cmake_src_test -R offline
+ fi
+}
+
+src_install() {
+ cmake_src_install
+ dodoc docs/*.{md,txt}
+
+ if use examples ; then
+ find examples -name '.gitignore' -delete || die
+ dodoc -r examples
+ docompress -x /usr/share/doc/${PF}/examples
+ fi
+}
diff --git a/dev-libs/libglib-testing/Manifest b/dev-libs/libglib-testing/Manifest
new file mode 100644
index 000000000000..e38ca30a1da7
--- /dev/null
+++ b/dev-libs/libglib-testing/Manifest
@@ -0,0 +1 @@
+DIST libglib-testing-0.1.1.tar.xz 30092 BLAKE2B 38a6002054632eda9e4d0543f609367e66af49e9506f8b5b7a36d0ba48093967a9ad77a8877a2d4115ffe36b9d9ec827c1cb0087688a657b3353e2a99c8b677b SHA512 7d88386b8ea372c51fc2b949290e860cc554dd30561e8ab99eb04295d9276b591985f48e9a6267dbbae5a3b93ea820195f61c29a8f5796f9659d9715607c6d45
diff --git a/dev-libs/libglib-testing/libglib-testing-0.1.1.ebuild b/dev-libs/libglib-testing/libglib-testing-0.1.1.ebuild
new file mode 100644
index 000000000000..a6bed38526a3
--- /dev/null
+++ b/dev-libs/libglib-testing/libglib-testing-0.1.1.ebuild
@@ -0,0 +1,26 @@
+# Copyright 2022-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit gnome.org meson
+
+DESCRIPTION="Libglib-testing is a test library providing test harnesses and mock classes"
+HOMEPAGE="https://gitlab.gnome.org/pwithnall/libglib-testing"
+SRC_URI="https://tecnocode.co.uk/downloads/libglib-testing-${PV}.tar.xz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~loong ~x86"
+
+DEPEND=">=dev-libs/glib-2.44:2"
+RDEPEND="${DEPEND}"
+BDEPEND="dev-util/gtk-doc
+ virtual/pkgconfig"
+
+src_configure() {
+ local emesonargs=(
+ -Dinstalled_tests=false
+ )
+ meson_src_configure
+}
diff --git a/dev-libs/libglib-testing/metadata.xml b/dev-libs/libglib-testing/metadata.xml
new file mode 100644
index 000000000000..dbd98707d5ef
--- /dev/null
+++ b/dev-libs/libglib-testing/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>gnome@gentoo.org</email>
+ <name>Gentoo GNOME Desktop</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="gnome-gitlab">pwithnall/libglib-testing</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/libgnome-games-support/Manifest b/dev-libs/libgnome-games-support/Manifest
index 930c643831d2..1caf5f64dede 100644
--- a/dev-libs/libgnome-games-support/Manifest
+++ b/dev-libs/libgnome-games-support/Manifest
@@ -1 +1,2 @@
DIST libgnome-games-support-1.8.2.tar.xz 45328 BLAKE2B 6df5e49629f65a12a683b6c026afa0629132ef3462d714f751fe75595a74dc3d3ab24c50c4a05e893999271ca66cd8395f36fc56ad01139a16b7f0c610fa2def SHA512 6c622b8a64df02be53b56cf8f2da6c9bc866f30042eb61c621db5ab38c4b88e90151c81a71eeba4f8d182b76d581df31f822409e633b45ee928737001f65f16e
+DIST libgnome-games-support-2.0.0.tar.xz 46204 BLAKE2B 3c3399f3912dd2d0e5fda510fe529894862f1922523622b8294ab0a3bb8c4a2055bcd54ace27b2d11e329b6ea6eccd8652832471a7b6b691b73d4081e05e354a SHA512 56d0bafd7cd9b8000c7b8be6ffd8d74ea4ba5164a60490665163d8f86d6f19a34b549eec21ae3a4feecb8313851c32621d8d48638dfdaeea812c5ba7c9447111
diff --git a/dev-libs/libgnome-games-support/libgnome-games-support-1.8.2.ebuild b/dev-libs/libgnome-games-support/libgnome-games-support-1.8.2.ebuild
index 5c6809aaca4e..8ae75e17654a 100644
--- a/dev-libs/libgnome-games-support/libgnome-games-support-1.8.2.ebuild
+++ b/dev-libs/libgnome-games-support/libgnome-games-support-1.8.2.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -10,7 +10,7 @@ HOMEPAGE="https://gitlab.gnome.org/GNOME/libgnome-games-support"
LICENSE="LGPL-3+"
SLOT="1/3"
-KEYWORDS="amd64 ~arm ~arm64 ~riscv x86"
+KEYWORDS="amd64 ~arm arm64 ~loong ~riscv x86"
IUSE=""
# glib dep in meson is 2.40, but vala is passed 2.44 target
diff --git a/dev-libs/libgnome-games-support/libgnome-games-support-2.0.0.ebuild b/dev-libs/libgnome-games-support/libgnome-games-support-2.0.0.ebuild
new file mode 100644
index 000000000000..33cf0b4df7b7
--- /dev/null
+++ b/dev-libs/libgnome-games-support/libgnome-games-support-2.0.0.ebuild
@@ -0,0 +1,32 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit gnome.org meson vala xdg
+
+DESCRIPTION="Library for code common to GNOME games"
+HOMEPAGE="https://gitlab.gnome.org/GNOME/libgnome-games-support"
+
+LICENSE="LGPL-3+"
+SLOT="2/4"
+KEYWORDS="amd64 ~arm arm64 ~loong ~riscv x86"
+
+# glib dep in meson is 2.40, but vala is passed 2.44 target
+RDEPEND="
+ >=dev-libs/libgee-0.14.0:0.8=
+ >=dev-libs/glib-2.44:2
+ >=gui-libs/gtk-4.2:4
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ >=sys-devel/gettext-0.19.8
+ virtual/pkgconfig
+ $(vala_depend)
+"
+
+src_prepare() {
+ default
+ vala_setup
+ xdg_environment_reset
+}
diff --git a/dev-libs/libgnome-games-support/metadata.xml b/dev-libs/libgnome-games-support/metadata.xml
index 7b343b06be8a..2b249aaf1ba5 100644
--- a/dev-libs/libgnome-games-support/metadata.xml
+++ b/dev-libs/libgnome-games-support/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/libgnome-games-support</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/dev-libs/libgnt/libgnt-2.14.3.ebuild b/dev-libs/libgnt/libgnt-2.14.3.ebuild
index d8042983bbe4..04d2ce3f3f6b 100644
--- a/dev-libs/libgnt/libgnt-2.14.3.ebuild
+++ b/dev-libs/libgnt/libgnt-2.14.3.ebuild
@@ -1,9 +1,9 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
-inherit meson
+inherit flag-o-matic meson
DESCRIPTION="Pidgin's GLib Ncurses Toolkit"
HOMEPAGE="https://keep.imfreedom.org/libgnt/libgnt"
@@ -11,7 +11,7 @@ SRC_URI="mirror://sourceforge/pidgin/${P}.tar.xz"
LICENSE="GPL-2"
SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~ia64 ppc ppc64 ~riscv sparc x86 ~amd64-linux ~x86-linux"
+KEYWORDS="~alpha amd64 arm arm64 ~ia64 ~loong ppc ppc64 ~riscv sparc x86 ~amd64-linux ~x86-linux"
IUSE="doc"
RDEPEND="
@@ -32,6 +32,11 @@ PATCHES=(
)
src_configure() {
+ # -Werror=lto-type-mismatch
+ # https://bugs.gentoo.org/855872
+ # https://issues.imfreedom.org/issue/LIBGNT-19/Build-fails-with-LTO
+ filter-lto
+
local emesonargs=(
-Dpython2=false
$(meson_use doc)
diff --git a/dev-libs/libgnt/metadata.xml b/dev-libs/libgnt/metadata.xml
index 2ac0eef8d76b..fd4b4bbf86d7 100644
--- a/dev-libs/libgnt/metadata.xml
+++ b/dev-libs/libgnt/metadata.xml
@@ -1,8 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <email>polynomial-c@gentoo.org</email>
- <name>Lars Wendler</name>
- </maintainer>
+ <!-- maintainer-needed -->
+ <upstream>
+ <remote-id type="sourceforge">pidgin</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/dev-libs/libgpg-error/Manifest b/dev-libs/libgpg-error/Manifest
index 5ddde2c0447c..24f9363b0288 100644
--- a/dev-libs/libgpg-error/Manifest
+++ b/dev-libs/libgpg-error/Manifest
@@ -1,2 +1,4 @@
-DIST libgpg-error-1.42.tar.bz2 973996 BLAKE2B eb3381ec7106cfe5dca333391f473e97b03df83f247d3067e9f933ed7206f826e59d2b74b8c28d41e785ffe1c2980b680470064eb2fa2ff1ee3d8fa8be5b81a8 SHA512 f6d95712a874edefc39a7746062c8037a62801a550560c5b2eab08b5b86987c1de5be60eba5fcb56d35a37db109aa32d07b7eff2bb99800c1c47d2227421a8f4
-DIST libgpg-error-1.43.tar.bz2 999006 BLAKE2B 22c5491ebd43b8010cdd4e82a58443fb8d19d51de9a033d0bb44634a82f033916d5d9fcfe47eb47e64a513521b01ff088838a8979f488cde74e5944c28dec0aa SHA512 36769a62d0b4b219a6d58195bed692e34d3b0313f628b1036055ca34b69332edbe6bcdace9855a60d06e7be5998dc13bf1305d0b2bb211a4d8f701e85040961c
+DIST libgpg-error-1.47.tar.bz2 1020862 BLAKE2B bc04efa0686b1b7d7cdce045fc080c090c1abec60349b673c2e1ce27900483aea090eb6ebcb3fb49a4eed36f18156a12413d5446f739475632f4ed2a2481ff27 SHA512 bbb4b15dae75856ee5b1253568674b56ad155524ae29a075cb5b0a7e74c4af685131775c3ea2226fff2f84ef80855e77aa661645d002b490a795c7ae57b66a30
+DIST libgpg-error-1.47.tar.bz2.sig 119 BLAKE2B d23ea6c38621407c8f9f0c6bde71abd0e50c136d2e5de9a6cef64627f5d398c344a3438995a2405c4ef148ad8638ef7125f34670819957acd7d597370f1630e5 SHA512 09343016eaf7fcc455f8ce533847153a8a9b7c36f375a8ebe71ef5fc2923edf7b70842f834f52c51874e427869487b74a2286ea0112cffad0d72f79cb6d4eceb
+DIST libgpg-error-1.48.tar.bz2 1080417 BLAKE2B 4ced63058586558f4d001bcc468f4bd419b8ec29fbd7dbcaa1a21f959d847c9e12c10c548a0038fd4eac0bdfc9907b61e9f6be71c95fc61c964c649e2415dfd7 SHA512 3e9ea99cfb7d706791eb3349a9356b6bc44a53ef8bfa9a4e89afb5203dad5af3f466a039a1764361c0c7f697a6fa668a21d05ceaeb8e44ec5a11d6468998adf2
+DIST libgpg-error-1.48.tar.bz2.sig 119 BLAKE2B 36e74c520df1740d48630584cb7093413c7974157038dd0e732cb821d6e3b3386a331be9e94a7f19ea10256bd2902d778d52fe1eeab68065ef9dc2625ac2902c SHA512 302091beddab877acf4355f913fae4bd0a795f0a032f47e0e17c58fe1049833116a743d3470669cff59eab2f6d184b143689763cbb4d0f2f9bcab598e09dc12c
diff --git a/dev-libs/libgpg-error/files/libgpg-error-1.37-remove_broken_check.patch b/dev-libs/libgpg-error/files/libgpg-error-1.37-remove_broken_check.patch
deleted file mode 100644
index 2919a9d73be0..000000000000
--- a/dev-libs/libgpg-error/files/libgpg-error-1.37-remove_broken_check.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-This breaks our multilib builds:
-
- Confirm gpg-error-config works... no
- *** Please report to <https://bugs.gnupg.org> with gpg-error-config-test.log
-
---- libgpg-error-1.37/src/Makefile.am
-+++ libgpg-error-1.37/src/Makefile.am
-@@ -338,14 +338,6 @@
- cp gpg-error.h gpgrt.h
-
- gpg-error-config: gpgrt-config gpg-error-config-old
-- @echo $(ECHO_N) "Confirm gpg-error-config works... $(ECHO_C)"
-- @if ./gpg-error-config-test.sh --old-new; then \
-- echo "good"; \
-- else \
-- echo "no"; \
-- echo "*** Please report to <https://bugs.gnupg.org> with gpg-error-config-test.log"; \
-- exit 1; \
-- fi
- cp gpg-error-config-old $@
-
- install-data-local:
diff --git a/dev-libs/libgpg-error/files/libgpg-error-1.42-cross_compile.patch b/dev-libs/libgpg-error/files/libgpg-error-1.42-cross_compile.patch
deleted file mode 100644
index 78d98dd7b3d1..000000000000
--- a/dev-libs/libgpg-error/files/libgpg-error-1.42-cross_compile.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-From 33593864cd54143db594c4237bba41e14179061c Mon Sep 17 00:00:00 2001
-From: David Michael <fedora.dm0@gmail.com>
-Date: Fri, 26 Mar 2021 16:06:50 +0900
-Subject: [PATCH] build: Fix generation of lock-obj-pub.native.h for cross
- build.
-
-* src/gen-lock-obj.sh: Capture echo output with quotes.
-
---
-
-Fixes-commit: 99ae862a96a569724f49a604ebb7d3f6d2c2d374
-Signed-off-by: David Michael <fedora.dm0@gmail.com>
----
- src/gen-lock-obj.sh | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/gen-lock-obj.sh b/src/gen-lock-obj.sh
-index a710f0c..258eec6 100755
---- a/src/gen-lock-obj.sh
-+++ b/src/gen-lock-obj.sh
-@@ -38,7 +38,7 @@
- # AWK=gawk ./gen-lock-obj.sh
- #
-
--if test -n `echo -n`; then
-+if test -n "`echo -n`"; then
- ECHO_C='\c'
- ECHO_N=''
- else
---
-2.11.0
-
diff --git a/dev-libs/libgpg-error/files/libgpg-error-1.44-remove_broken_check.patch b/dev-libs/libgpg-error/files/libgpg-error-1.44-remove_broken_check.patch
new file mode 100644
index 000000000000..043099c097bd
--- /dev/null
+++ b/dev-libs/libgpg-error/files/libgpg-error-1.44-remove_broken_check.patch
@@ -0,0 +1,22 @@
+This breaks our multilib builds:
+
+ Confirm gpg-error-config works... no
+ *** Please report to <https://bugs.gnupg.org> with gpg-error-config-test.log
+
+--- libgpg-error-1.44/src/Makefile.am
++++ libgpg-error-1.44/src/Makefile.am
+@@ -347,14 +347,6 @@
+ cp gpg-error.h gpgrt.h
+
+ gpg-error-config: gpgrt-config gpg-error-config-old gpg-error-config-test.sh
+- @echo $(ECHO_N) "Confirm gpg-error-config works... $(ECHO_C)"
+- @if ./gpg-error-config-test.sh --old-new; then \
+- echo "good"; \
+- else \
+- echo "no"; \
+- echo "*** Please report to <https://bugs.gnupg.org> with gpg-error-config-test.log"; \
+- exit 1; \
+- fi
+ cp gpg-error-config-old $@
+
+ install-data-local:
diff --git a/dev-libs/libgpg-error/files/libgpg-error-1.48-remove_broken_check.patch b/dev-libs/libgpg-error/files/libgpg-error-1.48-remove_broken_check.patch
new file mode 100644
index 000000000000..7ccdb2223a57
--- /dev/null
+++ b/dev-libs/libgpg-error/files/libgpg-error-1.48-remove_broken_check.patch
@@ -0,0 +1,20 @@
+This breaks our multilib builds:
+
+ Confirm gpg-error-config works... no
+ *** Please report to <https://bugs.gnupg.org> with gpg-error-config-test.log
+
+--- a/src/Makefile.am
++++ b/src/Makefile.am
+@@ -318,12 +318,4 @@ gpgrt.h: gpg-error.h
+ cp gpg-error.h gpgrt.h
+
+ gpg-error-config: gpgrt-config gpg-error-config-old gpg-error-config-test.sh
+- @echo $(ECHO_N) "Confirm gpg-error-config works... $(ECHO_C)"
+- @if ./gpg-error-config-test.sh --old-new; then \
+- echo "good"; \
+- else \
+- echo "no"; \
+- echo "*** Please report to <https://bugs.gnupg.org> with gpg-error-config-test.log"; \
+- exit 1; \
+- fi
+ cp gpg-error-config-old $@
diff --git a/dev-libs/libgpg-error/libgpg-error-1.42.ebuild b/dev-libs/libgpg-error/libgpg-error-1.42.ebuild
deleted file mode 100644
index 2168705cf76b..000000000000
--- a/dev-libs/libgpg-error/libgpg-error-1.42.ebuild
+++ /dev/null
@@ -1,66 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit autotools multilib-minimal toolchain-funcs prefix
-
-DESCRIPTION="Contains error handling functions used by GnuPG software"
-HOMEPAGE="https://www.gnupg.org/related_software/libgpg-error"
-SRC_URI="mirror://gnupg/${PN}/${P}.tar.bz2"
-
-LICENSE="GPL-2 LGPL-2.1"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-IUSE="common-lisp nls static-libs"
-
-RDEPEND="nls? ( >=virtual/libintl-0-r1[${MULTILIB_USEDEP}] )"
-DEPEND="${RDEPEND}"
-BDEPEND="nls? ( sys-devel/gettext )"
-
-MULTILIB_CHOST_TOOLS=(
- /usr/bin/gpg-error-config
-)
-MULTILIB_WRAPPED_HEADERS=(
- /usr/include/gpg-error.h
- /usr/include/gpgrt.h
-)
-
-PATCHES=(
- "${FILESDIR}/${PN}-1.37-remove_broken_check.patch"
- "${FILESDIR}/${P}-cross_compile.patch"
-)
-
-src_prepare() {
- default
-
- if use prefix ; then
- # don't hardcode /usr/xpg4/bin/sh as shell on Solaris
- sed -i -e 's/solaris\*/disabled/' configure.ac || die
- fi
-
- # only necessary for as long as we run eautoreconf, configure.ac
- # uses ./autogen.sh to generate PACKAGE_VERSION, but autogen.sh is
- # not a pure /bin/sh script, so it fails on some hosts
- hprefixify -w 1 autogen.sh
- eautoreconf
-}
-
-multilib_src_configure() {
- local myeconfargs=(
- $(multilib_is_native_abi || echo --disable-languages)
- $(use_enable common-lisp languages)
- $(use_enable nls)
- # required for sys-power/suspend[crypt], bug 751568
- $(use_enable static-libs static)
- --enable-threads
- CC_FOR_BUILD="$(tc-getBUILD_CC)"
- $("${S}/configure" --help | grep -o -- '--without-.*-prefix')
- )
- ECONF_SOURCE="${S}" econf "${myeconfargs[@]}"
-}
-
-multilib_src_install_all() {
- einstalldocs
- find "${ED}" -type f -name '*.la' -delete || die
-}
diff --git a/dev-libs/libgpg-error/libgpg-error-1.43.ebuild b/dev-libs/libgpg-error/libgpg-error-1.43.ebuild
deleted file mode 100644
index 2c2c4571892f..000000000000
--- a/dev-libs/libgpg-error/libgpg-error-1.43.ebuild
+++ /dev/null
@@ -1,65 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit autotools multilib-minimal toolchain-funcs prefix
-
-DESCRIPTION="Contains error handling functions used by GnuPG software"
-HOMEPAGE="https://www.gnupg.org/related_software/libgpg-error"
-SRC_URI="mirror://gnupg/${PN}/${P}.tar.bz2"
-
-LICENSE="GPL-2 LGPL-2.1"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-IUSE="common-lisp nls static-libs"
-
-RDEPEND="nls? ( >=virtual/libintl-0-r1[${MULTILIB_USEDEP}] )"
-DEPEND="${RDEPEND}"
-BDEPEND="nls? ( sys-devel/gettext )"
-
-MULTILIB_CHOST_TOOLS=(
- /usr/bin/gpg-error-config
-)
-MULTILIB_WRAPPED_HEADERS=(
- /usr/include/gpg-error.h
- /usr/include/gpgrt.h
-)
-
-PATCHES=(
- "${FILESDIR}/${PN}-1.37-remove_broken_check.patch"
-)
-
-src_prepare() {
- default
-
- if use prefix ; then
- # don't hardcode /usr/xpg4/bin/sh as shell on Solaris
- sed -i -e 's/solaris\*/disabled/' configure.ac || die
- fi
-
- # only necessary for as long as we run eautoreconf, configure.ac
- # uses ./autogen.sh to generate PACKAGE_VERSION, but autogen.sh is
- # not a pure /bin/sh script, so it fails on some hosts
- hprefixify -w 1 autogen.sh
- eautoreconf
-}
-
-multilib_src_configure() {
- local myeconfargs=(
- $(multilib_is_native_abi || echo --disable-languages)
- $(use_enable common-lisp languages)
- $(use_enable nls)
- # required for sys-power/suspend[crypt], bug 751568
- $(use_enable static-libs static)
- --enable-threads
- CC_FOR_BUILD="$(tc-getBUILD_CC)"
- $("${S}/configure" --help | grep -o -- '--without-.*-prefix')
- )
- ECONF_SOURCE="${S}" econf "${myeconfargs[@]}"
-}
-
-multilib_src_install_all() {
- einstalldocs
- find "${ED}" -type f -name '*.la' -delete || die
-}
diff --git a/dev-libs/libgpg-error/libgpg-error-1.47-r1.ebuild b/dev-libs/libgpg-error/libgpg-error-1.47-r1.ebuild
new file mode 100644
index 000000000000..1d2b90ba2690
--- /dev/null
+++ b/dev-libs/libgpg-error/libgpg-error-1.47-r1.ebuild
@@ -0,0 +1,86 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# Maintainers should:
+# 1. Join the "Gentoo" project at https://dev.gnupg.org/project/view/27/
+# 2. Subscribe to release tasks like https://dev.gnupg.org/T6159
+# (find the one for the current release then subscribe to it +
+# any subsequent ones linked within so you're covered for a while.)
+
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/gnupg.asc
+inherit autotools multilib-minimal toolchain-funcs prefix verify-sig
+
+DESCRIPTION="Contains error handling functions used by GnuPG software"
+HOMEPAGE="https://www.gnupg.org/related_software/libgpg-error"
+SRC_URI="mirror://gnupg/${PN}/${P}.tar.bz2"
+SRC_URI+=" verify-sig? ( mirror://gnupg/${PN}/${P}.tar.bz2.sig )"
+
+LICENSE="GPL-2 LGPL-2.1"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+IUSE="common-lisp nls static-libs test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="nls? ( >=virtual/libintl-0-r1[${MULTILIB_USEDEP}] )"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ nls? ( sys-devel/gettext )
+ verify-sig? ( sec-keys/openpgp-keys-gnupg )
+"
+
+MULTILIB_WRAPPED_HEADERS=(
+ /usr/include/gpg-error.h
+ /usr/include/gpgrt.h
+)
+
+MULTILIB_CHOST_TOOLS=(
+ /usr/bin/gpg-error-config
+ /usr/bin/gpgrt-config
+)
+
+PATCHES=(
+ "${FILESDIR}/${PN}-1.44-remove_broken_check.patch"
+)
+
+src_prepare() {
+ default
+
+ if use prefix ; then
+ # don't hardcode /usr/xpg4/bin/sh as shell on Solaris
+ sed -i -e 's/solaris\*/disabled/' configure.ac || die
+ fi
+
+ # only necessary for as long as we run eautoreconf, configure.ac
+ # uses ./autogen.sh to generate PACKAGE_VERSION, but autogen.sh is
+ # not a pure /bin/sh script, so it fails on some hosts
+ sed -i -e "1s:.*:#\!${BASH}:" autogen.sh || die
+ eautoreconf
+}
+
+multilib_src_configure() {
+ local myeconfargs=(
+ $(multilib_is_native_abi || echo --disable-languages)
+ $(use_enable common-lisp languages)
+ $(use_enable nls)
+ # required for sys-power/suspend[crypt], bug 751568
+ $(use_enable static-libs static)
+ $(use_enable test tests)
+
+ # See bug #699206 and its duplicates wrt gpgme-config
+ # Upstream no longer install this by default and we should
+ # seek to disable it at some point.
+ --enable-install-gpg-error-config
+
+ --enable-threads
+ CC_FOR_BUILD="$(tc-getBUILD_CC)"
+ $("${S}/configure" --help | grep -o -- '--without-.*-prefix')
+ )
+ ECONF_SOURCE="${S}" econf "${myeconfargs[@]}"
+}
+
+multilib_src_install_all() {
+ einstalldocs
+ find "${ED}" -type f -name '*.la' -delete || die
+}
diff --git a/dev-libs/libgpg-error/libgpg-error-1.48.ebuild b/dev-libs/libgpg-error/libgpg-error-1.48.ebuild
new file mode 100644
index 000000000000..0939b629b21f
--- /dev/null
+++ b/dev-libs/libgpg-error/libgpg-error-1.48.ebuild
@@ -0,0 +1,86 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# Maintainers should:
+# 1. Join the "Gentoo" project at https://dev.gnupg.org/project/view/27/
+# 2. Subscribe to release tasks like https://dev.gnupg.org/T6159
+# (find the one for the current release then subscribe to it +
+# any subsequent ones linked within so you're covered for a while.)
+
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/gnupg.asc
+inherit autotools multilib-minimal toolchain-funcs verify-sig
+
+DESCRIPTION="Contains error handling functions used by GnuPG software"
+HOMEPAGE="https://www.gnupg.org/related_software/libgpg-error"
+SRC_URI="mirror://gnupg/${PN}/${P}.tar.bz2"
+SRC_URI+=" verify-sig? ( mirror://gnupg/${PN}/${P}.tar.bz2.sig )"
+
+LICENSE="GPL-2 LGPL-2.1"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+IUSE="common-lisp nls static-libs test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="nls? ( >=virtual/libintl-0-r1[${MULTILIB_USEDEP}] )"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ nls? ( sys-devel/gettext )
+ verify-sig? ( sec-keys/openpgp-keys-gnupg )
+"
+
+MULTILIB_WRAPPED_HEADERS=(
+ /usr/include/gpg-error.h
+ /usr/include/gpgrt.h
+)
+
+MULTILIB_CHOST_TOOLS=(
+ /usr/bin/gpg-error-config
+ /usr/bin/gpgrt-config
+)
+
+PATCHES=(
+ "${FILESDIR}/${PN}-1.48-remove_broken_check.patch"
+)
+
+src_prepare() {
+ default
+
+ if use prefix ; then
+ # don't hardcode /usr/xpg4/bin/sh as shell on Solaris
+ sed -i -e 's/solaris\*/disabled/' configure.ac || die
+ fi
+
+ # only necessary for as long as we run eautoreconf, configure.ac
+ # uses ./autogen.sh to generate PACKAGE_VERSION, but autogen.sh is
+ # not a pure /bin/sh script, so it fails on some hosts
+ sed -i -e "1s:.*:#\!${BASH}:" autogen.sh || die
+ eautoreconf
+}
+
+multilib_src_configure() {
+ local myeconfargs=(
+ $(multilib_is_native_abi || echo --disable-languages)
+ $(use_enable common-lisp languages)
+ $(use_enable nls)
+ # required for sys-power/suspend[crypt], bug 751568
+ $(use_enable static-libs static)
+ $(use_enable test tests)
+
+ # See bug #699206 and its duplicates wrt gpgme-config
+ # Upstream no longer install this by default and we should
+ # seek to disable it at some point.
+ --enable-install-gpg-error-config
+
+ --enable-threads
+ CC_FOR_BUILD="$(tc-getBUILD_CC)"
+ $("${S}/configure" --help | grep -o -- '--without-.*-prefix')
+ )
+ ECONF_SOURCE="${S}" econf "${myeconfargs[@]}"
+}
+
+multilib_src_install_all() {
+ einstalldocs
+ find "${ED}" -type f -name '*.la' -delete || die
+}
diff --git a/dev-libs/libgpg-error/metadata.xml b/dev-libs/libgpg-error/metadata.xml
index 6cb5d85f1092..0c03a7f54792 100644
--- a/dev-libs/libgpg-error/metadata.xml
+++ b/dev-libs/libgpg-error/metadata.xml
@@ -1,9 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <name>Lars Wendler</name>
- <email>polynomial-c@gentoo.org</email>
+ <maintainer type="project">
+ <email>base-system@gentoo.org</email>
+ <name>Gentoo Base System</name>
</maintainer>
<use>
<flag name="common-lisp">Install common-lisp files</flag>
diff --git a/dev-libs/libgpiod/Manifest b/dev-libs/libgpiod/Manifest
index 964110df2970..cc79e073bb6f 100644
--- a/dev-libs/libgpiod/Manifest
+++ b/dev-libs/libgpiod/Manifest
@@ -1,2 +1,4 @@
-DIST libgpiod-1.4.1.tar.xz 314936 BLAKE2B 8949c4a96f69a83a479f5951e6f1eb8fee56db700e72320131c365a5d736a48700fb42b7ecc2b676cec54887eaa650075f45ec1f0b803de914958cefd3863db8 SHA512 2a9c58a46fb3c2e2dd15cc4ba52f589b44e5ae4547226eeb68a8e5bea6292d38aaf0889cc639e0979e12e129bb944bb42d9258f10292f59d074660e7c2d56d04
DIST libgpiod-1.6.3.tar.xz 326068 BLAKE2B eda5409f2db3914ede92690589643211eca3002f8dc53a7c48213602f28158084c8eb8061319923f7a51c7d91650ff58b81b059323b5b9133a28b0bb04f6904d SHA512 f7e48662d02904f3f25976d61aa2cf4af0b8a52f65f184f23dfb6916bde9b86634b211f2696d3459a4f902ba5a79621b2fc47d18d487fd7a159018fe8933e370
+DIST libgpiod-1.6.4.tar.xz 334552 BLAKE2B 3bf52dab263638967e0f59c858e22f3d8ec1c9565ba1edd665dff580a883fbc6aa49a944e6df4da8fca9c2df873e222ed4e055c9792ee27d4562b3c2d0c65b79 SHA512 23ea27147039ae34505263dbfbb3ca9985fc671d26e489ccaf150543d4e853f709393f46a8a5a1e682fa91378163bd2db6c689159ef73c3a8d1eeea422eacda0
+DIST libgpiod-2.1.1.tar.xz 421164 BLAKE2B 940f2af832a0fc39accecd9cf76864d05f961c0d2e4899d09dc07670bb2a8d8c2704fa43e29e2163f2b486ba65cadce2114f96cf0e7637afece99c543852305f SHA512 d396f1b8f632c3592b2be37e23e5052f4050ab5c1a9de77de5f97ce50fa3115c119dd69b0bbcf59621e92b775bfc81f18a65cca1e57e022752d28c0e01baff6f
+DIST libgpiod-2.1.tar.xz 421132 BLAKE2B 97f43854070f19b37f4041c08d33c8156d69a3acd73845849f843223d159602ad8aa59096e1c8a3428bf16488272353a5747c6c95b9f729cb11e53ceeb6b29c2 SHA512 1c20a93fb2a6cf66f4690a5784ac1aeb077ca3da23c1942448f045972092468480e13b13174f327b3b7252bef5f23ffd226c990f11529b1151ba2dc318a47e52
diff --git a/dev-libs/libgpiod/files/libgpiod-2.1-libtool.patch b/dev-libs/libgpiod/files/libgpiod-2.1-libtool.patch
new file mode 100644
index 000000000000..efab5084ec8e
--- /dev/null
+++ b/dev-libs/libgpiod/files/libgpiod-2.1-libtool.patch
@@ -0,0 +1,66 @@
+From b10af6b0173e647b54834edff087a5811b6bcfe1 Mon Sep 17 00:00:00 2001
+From: orbea <orbea@riseup.net>
+Date: Wed, 20 Mar 2024 06:49:57 -0700
+Subject: [PATCH] bindings: cxx: link using the libtool archives
+
+When linking with internal dependencies that were built with libtool the
+most reliable method is to use the libtool archive (.la) files.
+
+When building with slibtool it fails when it doesn't find the -lgpiod
+linker flag, but if libgpiod is already installed to the system it will
+be built using the system version instead of the newly built libraries.
+
+Link: https://bugs.gentoo.org/913899
+Signed-off-by: orbea <orbea@riseup.net>
+[Bartosz: fix a typo in tests Makefile]
+Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
+---
+ bindings/cxx/Makefile.am | 2 +-
+ bindings/cxx/examples/Makefile.am | 2 +-
+ bindings/cxx/tests/Makefile.am | 6 +++---
+ 3 files changed, 5 insertions(+), 5 deletions(-)
+
+diff --git a/bindings/cxx/Makefile.am b/bindings/cxx/Makefile.am
+index 1eafaa2c..e2a89cf4 100644
+--- a/bindings/cxx/Makefile.am
++++ b/bindings/cxx/Makefile.am
+@@ -24,8 +24,8 @@ libgpiodcxx_la_CXXFLAGS = -Wall -Wextra -g -std=gnu++17
+ libgpiodcxx_la_CXXFLAGS += -fvisibility=hidden -I$(top_srcdir)/include/
+ libgpiodcxx_la_CXXFLAGS += $(PROFILING_CFLAGS)
+ libgpiodcxx_la_LDFLAGS = -version-info $(subst .,:,$(ABI_CXX_VERSION))
+-libgpiodcxx_la_LDFLAGS += -lgpiod -L$(top_builddir)/lib
+ libgpiodcxx_la_LDFLAGS += $(PROFILING_LDFLAGS)
++libgpiodcxx_la_LIBADD = $(top_builddir)/lib/libgpiod.la
+
+ include_HEADERS = gpiod.hpp
+
+diff --git a/bindings/cxx/examples/Makefile.am b/bindings/cxx/examples/Makefile.am
+index 64ced200..eca4d64a 100644
+--- a/bindings/cxx/examples/Makefile.am
++++ b/bindings/cxx/examples/Makefile.am
+@@ -3,7 +3,7 @@
+
+ AM_CXXFLAGS = -I$(top_srcdir)/bindings/cxx/ -I$(top_srcdir)/include
+ AM_CXXFLAGS += -Wall -Wextra -g -std=gnu++17
+-AM_LDFLAGS = -lgpiodcxx -L$(top_builddir)/bindings/cxx/
++LDADD = $(top_builddir)/bindings/cxx/libgpiodcxx.la
+
+ noinst_PROGRAMS = \
+ async_watch_line_value \
+diff --git a/bindings/cxx/tests/Makefile.am b/bindings/cxx/tests/Makefile.am
+index 02b5b6de..fbf80a10 100644
+--- a/bindings/cxx/tests/Makefile.am
++++ b/bindings/cxx/tests/Makefile.am
+@@ -4,9 +4,9 @@
+ AM_CXXFLAGS = -I$(top_srcdir)/bindings/cxx/ -I$(top_srcdir)/include
+ AM_CXXFLAGS += -I$(top_srcdir)/tests/gpiosim/
+ AM_CXXFLAGS += -Wall -Wextra -g -std=gnu++17 $(CATCH2_CFLAGS)
+-AM_LDFLAGS = -lgpiodcxx -L$(top_builddir)/bindings/cxx/
+-AM_LDFLAGS += -lgpiosim -L$(top_builddir)/tests/gpiosim/
+-AM_LDFLAGS += -pthread
++AM_LDFLAGS = -pthread
++LDADD = $(top_builddir)/bindings/cxx/libgpiodcxx.la
++LDADD += $(top_builddir)/tests/gpiosim/libgpiosim.la
+
+ noinst_PROGRAMS = gpiod-cxx-test
+
diff --git a/dev-libs/libgpiod/libgpiod-1.4.1.ebuild b/dev-libs/libgpiod/libgpiod-1.4.1.ebuild
deleted file mode 100644
index 5d51f888fe65..000000000000
--- a/dev-libs/libgpiod/libgpiod-1.4.1.ebuild
+++ /dev/null
@@ -1,48 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit multilib-minimal
-
-DESCRIPTION="C library and tools for interacting with the linux GPIO character device"
-HOMEPAGE="https://git.kernel.org/pub/scm/libs/libgpiod/libgpiod.git/"
-SRC_URI="https://mirrors.edge.kernel.org/pub/software/libs/libgpiod/${P}.tar.xz"
-
-LICENSE="LGPL-2.1"
-# Reflects the ABI of libgpiod.so
-SLOT="0/1"
-KEYWORDS="amd64 arm arm64 ~riscv x86"
-IUSE="static-libs +tools cxx python test"
-RESTRICT="!test? ( test )"
-
-# --enable-tests enable libgpiod tests [default=no]
-# --enable-bindings-cxx enable C++ bindings [default=no]
-# --enable-bindings-python
-
-multilib_src_configure() {
- local myconf=(
- $(use_enable tools)
- $(use_enable cxx bindings-cxx)
- $(use_enable test tests)
- $(multilib_native_use_enable python bindings-python)
- )
-
- if ! multilib_is_native_abi; then
- myconf+=(
- --disable-tools
- )
- fi
-
- ECONF_SOURCE="${S}" econf "${myconf[@]}"
-}
-
-multilib_src_install() {
- default
-
- find "${D}" -name '*.la' -type f -delete || die
-
- if ! use static-libs; then
- find "${D}" -name "*.a" -delete || die
- fi
-}
diff --git a/dev-libs/libgpiod/libgpiod-1.6.3-r4.ebuild b/dev-libs/libgpiod/libgpiod-1.6.3-r4.ebuild
new file mode 100644
index 000000000000..edd9c253a6f3
--- /dev/null
+++ b/dev-libs/libgpiod/libgpiod-1.6.3-r4.ebuild
@@ -0,0 +1,52 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit linux-info
+
+DESCRIPTION="C library and tools for interacting with the linux GPIO character device"
+HOMEPAGE="https://git.kernel.org/pub/scm/libs/libgpiod/libgpiod.git/"
+SRC_URI="https://mirrors.edge.kernel.org/pub/software/libs/libgpiod/${P}.tar.xz"
+
+LICENSE="LGPL-2.1"
+# Reflects the ABI of libgpiod.so
+SLOT="0/2"
+KEYWORDS="amd64 arm arm64 ~riscv x86"
+IUSE="+tools cxx python test"
+RESTRICT="!test? ( test )"
+
+# --enable-tests enable libgpiod tests [default=no]
+# --enable-bindings-cxx enable C++ bindings [default=no]
+# --enable-bindings-python
+DEPEND="
+ test? (
+ >=dev-libs/glib-2.50
+ >=sys-apps/kmod-18
+ >=sys-apps/util-linux-2.33.1
+ >=virtual/libudev-215
+ )
+"
+
+pkg_setup() {
+ CONFIG_CHECK="~GPIO_CDEV_V1"
+ linux-info_pkg_setup
+}
+
+src_configure() {
+ local myconf=(
+ $(use_enable tools)
+ $(use_enable cxx bindings-cxx)
+ $(use_enable test tests)
+ $(use_enable python bindings-python)
+ )
+
+ econf "${myconf[@]}"
+}
+
+src_install() {
+ default
+
+ find "${D}" -name '*.la' -type f -delete || die
+ find "${D}" -name "*.a" -delete || die
+}
diff --git a/dev-libs/libgpiod/libgpiod-1.6.3.ebuild b/dev-libs/libgpiod/libgpiod-1.6.3.ebuild
deleted file mode 100644
index 8f3fe8c74ec2..000000000000
--- a/dev-libs/libgpiod/libgpiod-1.6.3.ebuild
+++ /dev/null
@@ -1,48 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit multilib-minimal
-
-DESCRIPTION="C library and tools for interacting with the linux GPIO character device"
-HOMEPAGE="https://git.kernel.org/pub/scm/libs/libgpiod/libgpiod.git/"
-SRC_URI="https://mirrors.edge.kernel.org/pub/software/libs/libgpiod/${P}.tar.xz"
-
-LICENSE="LGPL-2.1"
-# Reflects the ABI of libgpiod.so
-SLOT="0/2"
-KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~x86"
-IUSE="static-libs +tools cxx python test"
-RESTRICT="!test? ( test )"
-
-# --enable-tests enable libgpiod tests [default=no]
-# --enable-bindings-cxx enable C++ bindings [default=no]
-# --enable-bindings-python
-
-multilib_src_configure() {
- local myconf=(
- $(use_enable tools)
- $(use_enable cxx bindings-cxx)
- $(use_enable test tests)
- $(multilib_native_use_enable python bindings-python)
- )
-
- if ! multilib_is_native_abi; then
- myconf+=(
- --disable-tools
- )
- fi
-
- ECONF_SOURCE="${S}" econf "${myconf[@]}"
-}
-
-multilib_src_install() {
- default
-
- find "${D}" -name '*.la' -type f -delete || die
-
- if ! use static-libs; then
- find "${D}" -name "*.a" -delete || die
- fi
-}
diff --git a/dev-libs/libgpiod/libgpiod-1.6.4.ebuild b/dev-libs/libgpiod/libgpiod-1.6.4.ebuild
new file mode 100644
index 000000000000..89067dc6f4b6
--- /dev/null
+++ b/dev-libs/libgpiod/libgpiod-1.6.4.ebuild
@@ -0,0 +1,52 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit linux-info
+
+DESCRIPTION="C library and tools for interacting with the linux GPIO character device"
+HOMEPAGE="https://git.kernel.org/pub/scm/libs/libgpiod/libgpiod.git/"
+SRC_URI="https://mirrors.edge.kernel.org/pub/software/libs/libgpiod/${P}.tar.xz"
+
+LICENSE="LGPL-2.1"
+# Reflects the ABI of libgpiod.so
+SLOT="0/2"
+KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~x86"
+IUSE="+tools cxx python test"
+RESTRICT="!test? ( test )"
+
+# --enable-tests enable libgpiod tests [default=no]
+# --enable-bindings-cxx enable C++ bindings [default=no]
+# --enable-bindings-python
+DEPEND="
+ test? (
+ >=dev-libs/glib-2.50
+ >=sys-apps/kmod-18
+ >=sys-apps/util-linux-2.33.1
+ >=virtual/libudev-215
+ )
+"
+
+pkg_setup() {
+ CONFIG_CHECK="~GPIO_CDEV_V1"
+ linux-info_pkg_setup
+}
+
+src_configure() {
+ local myconf=(
+ $(use_enable tools)
+ $(use_enable cxx bindings-cxx)
+ $(use_enable test tests)
+ $(use_enable python bindings-python)
+ )
+
+ econf "${myconf[@]}"
+}
+
+src_install() {
+ default
+
+ find "${D}" -name '*.la' -type f -delete || die
+ find "${D}" -name "*.a" -delete || die
+}
diff --git a/dev-libs/libgpiod/libgpiod-2.1.1.ebuild b/dev-libs/libgpiod/libgpiod-2.1.1.ebuild
new file mode 100644
index 000000000000..f9552379a641
--- /dev/null
+++ b/dev-libs/libgpiod/libgpiod-2.1.1.ebuild
@@ -0,0 +1,67 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools linux-info
+
+DESCRIPTION="C library and tools for interacting with the linux GPIO character device"
+HOMEPAGE="https://git.kernel.org/pub/scm/libs/libgpiod/libgpiod.git/"
+SRC_URI="https://mirrors.edge.kernel.org/pub/software/libs/libgpiod/${P}.tar.xz"
+
+LICENSE="LGPL-2.1"
+# Reflects the ABI of libgpiod.so
+SLOT="0/3"
+KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~x86"
+IUSE="+tools cxx python test"
+RESTRICT="!test? ( test )"
+
+# --enable-tests enable libgpiod tests [default=no]
+# --enable-bindings-cxx enable C++ bindings [default=no]
+# --enable-bindings-python
+# --enable-bindings-rust
+DEPEND="
+ test? (
+ >=dev-libs/glib-2.50
+ >=sys-apps/kmod-18
+ >=sys-apps/util-linux-2.33.1
+ >=virtual/libudev-215
+ cxx? ( <dev-cpp/catch-3.5:0 )
+ )
+"
+
+PATCHES=(
+ # bug 913899
+ "${FILESDIR}"/${PN}-2.1-libtool.patch
+)
+
+pkg_setup() {
+ CONFIG_CHECK="~GPIO_CDEV_V1"
+ linux-info_pkg_setup
+}
+
+src_prepare() {
+ default
+ eautoreconf
+}
+
+src_configure() {
+ local myconf=(
+ $(use_enable tools)
+ $(use_enable cxx bindings-cxx)
+ $(use_enable test tests)
+ $(use_enable python bindings-python)
+ --enable-examples
+ --disable-profiling
+ --disable-bindings-rust
+ )
+
+ econf "${myconf[@]}"
+}
+
+src_install() {
+ default
+
+ find "${D}" -name '*.la' -type f -delete || die
+ find "${D}" -name "*.a" -delete || die
+}
diff --git a/dev-libs/libgpiod/libgpiod-2.1.ebuild b/dev-libs/libgpiod/libgpiod-2.1.ebuild
new file mode 100644
index 000000000000..d3c115ebeb62
--- /dev/null
+++ b/dev-libs/libgpiod/libgpiod-2.1.ebuild
@@ -0,0 +1,66 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools linux-info
+
+DESCRIPTION="C library and tools for interacting with the linux GPIO character device"
+HOMEPAGE="https://git.kernel.org/pub/scm/libs/libgpiod/libgpiod.git/"
+SRC_URI="https://mirrors.edge.kernel.org/pub/software/libs/libgpiod/${P}.tar.xz"
+
+LICENSE="LGPL-2.1"
+# Reflects the ABI of libgpiod.so
+SLOT="0/3"
+KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~x86"
+IUSE="+tools cxx python test"
+RESTRICT="!test? ( test )"
+
+# --enable-tests enable libgpiod tests [default=no]
+# --enable-bindings-cxx enable C++ bindings [default=no]
+# --enable-bindings-python
+# --enable-bindings-rust
+DEPEND="
+ test? (
+ >=dev-libs/glib-2.50
+ >=sys-apps/kmod-18
+ >=sys-apps/util-linux-2.33.1
+ >=virtual/libudev-215
+ )
+"
+
+PATCHES=(
+ # bug 913899
+ "${FILESDIR}"/${PN}-2.1-libtool.patch
+)
+
+pkg_setup() {
+ CONFIG_CHECK="~GPIO_CDEV_V1"
+ linux-info_pkg_setup
+}
+
+src_prepare() {
+ default
+ eautoreconf
+}
+
+src_configure() {
+ local myconf=(
+ $(use_enable tools)
+ $(use_enable cxx bindings-cxx)
+ $(use_enable test tests)
+ $(use_enable python bindings-python)
+ --enable-examples
+ --disable-profiling
+ --disable-bindings-rust
+ )
+
+ econf "${myconf[@]}"
+}
+
+src_install() {
+ default
+
+ find "${D}" -name '*.la' -type f -delete || die
+ find "${D}" -name "*.a" -delete || die
+}
diff --git a/dev-libs/libgpiod/metadata.xml b/dev-libs/libgpiod/metadata.xml
index 4585540f4cb7..08ed90c17a3a 100644
--- a/dev-libs/libgpiod/metadata.xml
+++ b/dev-libs/libgpiod/metadata.xml
@@ -2,8 +2,8 @@
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
- <email>blueness@gentoo.org</email>
- <name>Anthony G. Basile</name>
+ <email>dlan@gentoo.org</email>
+ <name>Yixun Lan</name>
</maintainer>
<use>
<flag name="tools">Build some useful gpio tools that use libgpiod.</flag>
diff --git a/dev-libs/libgrapheme/Manifest b/dev-libs/libgrapheme/Manifest
index 3caacef0b4e6..b1f7e97a6966 100644
--- a/dev-libs/libgrapheme/Manifest
+++ b/dev-libs/libgrapheme/Manifest
@@ -1 +1 @@
-DIST libgrapheme-1.tar.gz 67912 BLAKE2B 62e82018b2a45f7259811fbfbae45741252ffedafa095d8e373d62220fc50141afe359d171b723e007120ac307db540c03cfe6e60ecedf1eea0be5518caa9bcb SHA512 c0f3300d30707266e44ee01f359204720ae1770788cec509b03be914f8581caae144fb72952d111f108ebef21fd96b5ca2cf69463ee569bce4bba8645942ee05
+DIST libgrapheme-2.0.2.tar.gz 846990 BLAKE2B ade6c3ca8481bf3c3e1b1512a3c02caa9f7f2bcb3e9a59f0f3c5af7a1603c2ff2bf4f689d25e47e156d663d95c4e9e209e03504fcde27a9daf1791bc4954663e SHA512 640fb0926f8f46ae98aaba708f8bd1539f7485f150d4b8021195268813ff361ebfc05a49f27ef6eaca9f2051e648912e70b9dac7fbbef84cedefdd4f2cdcb45e
diff --git a/dev-libs/libgrapheme/files/libgrapheme-1-make.patch b/dev-libs/libgrapheme/files/libgrapheme-1-make.patch
deleted file mode 100644
index 363df6cfb51e..000000000000
--- a/dev-libs/libgrapheme/files/libgrapheme-1-make.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-Adjust config.mk variables, fix cross-compilation, and don't run ldconfig.
---- a/Makefile
-+++ b/Makefile
-@@ -68,3 +68,6 @@
- $(GEN):
-- $(CC) -o $@ $(LDFLAGS) $@.o gen/util.o
-+ $(BUILD_CC) -o $@ $(BUILD_LDFLAGS) $@.o gen/util.o
-+
-+gen/%.o:
-+ $(BUILD_CC) -c -o $@ $(BUILD_CFLAGS) $(BUILD_CPPFLAGS) $<
-
-@@ -84,3 +87,3 @@
- libgrapheme.so: $(SRC:=.o)
-- $(CC) -o $@ -shared $?
-+ $(CC) -o $@ -shared $(LDFLAGS) $?
-
-@@ -99,3 +102,2 @@
- cp -f grapheme.h "$(DESTDIR)$(INCPREFIX)"
-- ldconfig || true
-
---- a/config.mk
-+++ b/config.mk
-@@ -13,8 +13,4 @@
- CPPFLAGS = -D_DEFAULT_SOURCE
--CFLAGS = -std=c99 -Os -fPIC -Wall -Wextra -Wpedantic
--LDFLAGS = -s
-+CFLAGS := -std=c99 -fPIC -Wall -Wextra -Wpedantic $(CFLAGS)
-
- # tools
--CC = cc
--AR = ar
--RANLIB = ranlib
diff --git a/dev-libs/libgrapheme/libgrapheme-1.ebuild b/dev-libs/libgrapheme/libgrapheme-1.ebuild
deleted file mode 100644
index 3217f024438d..000000000000
--- a/dev-libs/libgrapheme/libgrapheme-1.ebuild
+++ /dev/null
@@ -1,37 +0,0 @@
-# Copyright 2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit flag-o-matic toolchain-funcs
-
-DESCRIPTION="Unicode string library"
-HOMEPAGE="https://libs.suckless.org/libgrapheme/"
-SRC_URI="https://dl.suckless.org/libgrapheme/${P}.tar.gz"
-
-LICENSE="ISC"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-PATCHES=(
- "${FILESDIR}"/${P}-make.patch
-)
-
-src_configure() {
- tc-export CC AR RANLIB
- tc-export_build_env BUILD_CC # see make.patch
-
- append-ldflags -Wl,--soname=${PN}.so
-}
-
-src_install() {
- local emakeargs=(
- DESTDIR="${D}"
- PREFIX="${EPREFIX}"/usr
- LIBPREFIX="${EPREFIX}"/usr/$(get_libdir)
- )
- emake "${emakeargs[@]}" install
- einstalldocs
-
- rm "${ED}"/usr/$(get_libdir)/${PN}.a || die
-}
diff --git a/dev-libs/libgrapheme/libgrapheme-2.0.2.ebuild b/dev-libs/libgrapheme/libgrapheme-2.0.2.ebuild
new file mode 100644
index 000000000000..ace2ec18de4b
--- /dev/null
+++ b/dev-libs/libgrapheme/libgrapheme-2.0.2.ebuild
@@ -0,0 +1,43 @@
+# Copyright 2021-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit flag-o-matic toolchain-funcs
+
+DESCRIPTION="Unicode string library"
+HOMEPAGE="https://libs.suckless.org/libgrapheme/"
+SRC_URI="https://dl.suckless.org/libgrapheme/${P}.tar.gz"
+
+LICENSE="ISC Unicode-DFS-2016"
+SLOT="0/$(ver_cut 1-2)"
+KEYWORDS="amd64 arm64 x86"
+# upstream suggests keeping the static option, others have requested it too
+IUSE="static-libs"
+
+src_prepare() {
+ default
+
+ append-cflags ${CPPFLAGS}
+ tc-export CC AR RANLIB
+ tc-export_build_env BUILD_CC
+ sed -Ei '/^(BUILD_|)(CC|AR|RANLIB|CFLAGS|LDFLAGS|LDCONFIG).*=/d' config.mk || die
+
+ # does use libc and dropping this avoids QA noise with clang (bug #895068)
+ sed -i 's/-nostdlib //' config.mk || die
+}
+
+src_configure() { :; }
+
+src_install() {
+ local emakeargs=(
+ DESTDIR="${D}"
+ PREFIX="${EPREFIX}"/usr
+ LIBPREFIX="${EPREFIX}"/usr/$(get_libdir)
+ )
+
+ emake "${emakeargs[@]}" install
+ einstalldocs
+
+ use static-libs || rm "${ED}"/usr/$(get_libdir)/${PN}.a || die
+}
diff --git a/dev-libs/libgudev/Manifest b/dev-libs/libgudev/Manifest
index 9ccec2aff812..4b42a0c9e8be 100644
--- a/dev-libs/libgudev/Manifest
+++ b/dev-libs/libgudev/Manifest
@@ -1,2 +1 @@
-DIST libgudev-236.tar.xz 28428 BLAKE2B cee5098f851183131db88812c8a985a3617fec7a2257f3c05ae0f06e423f15efa89801ef0c75cbb6e5ea9fb7a9db3c4d9215a3689e5d1ddb4832ef17442753cf SHA512 b00c30a7d57de8cca92a22f4c4da878c7cce448b1177858cc9ee0b99c5bc4fd0fbd01d8f4f9a9b9ef073af8f51c26533f2e7896c01ed9fed0a2bcfa6b2cfcbc2
-DIST libgudev-237.tar.xz 29060 BLAKE2B 5d39d4d26d8c8b3fa877319c294036294dbda96b340d2d04d7a35449d91b58de876b96b5e3d9423cdf3e1d3e2a94f5a861b1ac1e74a610637e0fc66248c68309 SHA512 2d68981e3ba5c58ee080b6ed5cd5152c1c352b2bdb3ecb5eaf2b91f6800d3369121222a7fe4f82630aabd164069ee7276c52082b2fc2ff5f318481b85b25abc6
+DIST libgudev-238.tar.xz 30548 BLAKE2B 386491e78c82081e89dad897d16ea6733430a67db3f75f2d9fdee5474b074ad6fede9f08e429f4eb6feaa9bbbb982d9d039db738aac5b5ce0ffac2d3a19430d4 SHA512 684061b4fc64a6ea3dd1ac34835279330c7eb2728fad6e3a9d34c0d501be3103d0f96c6d6866c8e257a0027e4f78a6314cb8ba81cda5ddf42ee9ea1a576ec5dc
diff --git a/dev-libs/libgudev/files/libgudev-test-double.patch b/dev-libs/libgudev/files/libgudev-test-double.patch
deleted file mode 100644
index 5d0eb3dab18d..000000000000
--- a/dev-libs/libgudev/files/libgudev-test-double.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-From 6f0503b1930a0776ef45fa7bc87a87e9dc69dacf Mon Sep 17 00:00:00 2001
-From: Mike Gilbert <floppym@gentoo.org>
-Date: Sat, 21 Aug 2021 15:09:58 -0400
-Subject: [PATCH] Skip test-double if the fr_FR.UTF-8 locale is not available
-
-Bug: https://bugs.gentoo.org/809359
----
- tests/test-double.c | 6 +++++-
- 1 file changed, 5 insertions(+), 1 deletion(-)
-
-diff --git a/tests/test-double.c b/tests/test-double.c
-index 0092d8b..7ba3abe 100644
---- a/tests/test-double.c
-+++ b/tests/test-double.c
-@@ -54,7 +54,11 @@ test_double (void)
- int main(int argc, char **argv)
- {
- setlocale (LC_ALL, NULL);
-- setlocale (LC_NUMERIC, "fr_FR.UTF-8");
-+ if (!setlocale (LC_NUMERIC, "fr_FR.UTF-8"))
-+ /* Skip the test if fr_FR.UTF-8 is not available */
-+ /* https://mesonbuild.com/Unit-tests.html#skipped-tests-and-hard-errors */
-+ return 77;
-+
- g_test_init (&argc, &argv, NULL);
-
- g_test_add_func ("/gudev/double", test_double);
---
-2.33.0
-
diff --git a/dev-libs/libgudev/libgudev-236.ebuild b/dev-libs/libgudev/libgudev-236.ebuild
deleted file mode 100644
index 6f66a6b523fa..000000000000
--- a/dev-libs/libgudev/libgudev-236.ebuild
+++ /dev/null
@@ -1,43 +0,0 @@
-# Copyright 2015-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit meson-multilib
-
-DESCRIPTION="GObject bindings for libudev"
-HOMEPAGE="https://wiki.gnome.org/Projects/libgudev"
-SRC_URI="https://download.gnome.org/sources/libgudev/${PV}/${P}.tar.xz"
-
-LICENSE="LGPL-2.1+"
-SLOT="0/0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
-IUSE="introspection"
-
-DEPEND="
- >=dev-libs/glib-2.38.0:2[${MULTILIB_USEDEP}]
- >=virtual/libudev-199:=[${MULTILIB_USEDEP}]
- introspection? ( >=dev-libs/gobject-introspection-1.31.1 )
-"
-RDEPEND="${DEPEND}
-"
-BDEPEND="
- dev-util/glib-utils
- virtual/pkgconfig
-"
-
-src_prepare() {
- default
- # avoid multilib checksum mismatch
- sed -i -e 's:@filename@:gudev/gudevenums.h:' gudev/gudevenumtypes.h.template || die
-}
-
-multilib_src_configure() {
- local emesonargs=(
- $(meson_native_use_feature introspection)
- -Dgtk_doc=false
- -Dtests=disabled # umockdev tests currently don't pass (might need extra setup)
- -Dvapi=disabled
- )
- meson_src_configure
-}
diff --git a/dev-libs/libgudev/libgudev-237-r1.ebuild b/dev-libs/libgudev/libgudev-237-r1.ebuild
deleted file mode 100644
index 0d33ffc69483..000000000000
--- a/dev-libs/libgudev/libgudev-237-r1.ebuild
+++ /dev/null
@@ -1,52 +0,0 @@
-# Copyright 2015-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit meson-multilib
-
-DESCRIPTION="GObject bindings for libudev"
-HOMEPAGE="https://wiki.gnome.org/Projects/libgudev"
-SRC_URI="https://download.gnome.org/sources/libgudev/${PV}/${P}.tar.xz"
-
-LICENSE="LGPL-2.1+"
-SLOT="0/0"
-KEYWORDS="amd64 arm arm64 ~hppa ~ia64 ~mips ppc ppc64 ~riscv ~s390 sparc x86"
-IUSE="introspection test"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- >=dev-libs/glib-2.38.0:2[${MULTILIB_USEDEP}]
- >=virtual/libudev-199:=[${MULTILIB_USEDEP}]
- introspection? ( >=dev-libs/gobject-introspection-1.31.1 )
-"
-DEPEND="${RDEPEND}
- test? ( dev-util/umockdev[${MULTILIB_USEDEP}] )
-"
-BDEPEND="
- dev-util/glib-utils
- virtual/pkgconfig
-"
-
-PATCHES=(
- # https://gitlab.gnome.org/GNOME/libgudev/-/merge_requests/19
- "${FILESDIR}/libgudev-test-double.patch"
-)
-
-multilib_src_configure() {
- local emesonargs=(
- $(meson_native_use_feature introspection)
- -Dgtk_doc=false
- $(meson_feature test tests)
- -Dvapi=disabled
- )
- meson_src_configure
-}
-
-src_test() {
- # libsandbox interferes somehow.
- # There are no access violations, but tests fail.
- # https://bugs.gentoo.org/805449
- local -x SANDBOX_ON=0
- meson-multilib_src_test
-}
diff --git a/dev-libs/libgudev/libgudev-238-r1.ebuild b/dev-libs/libgudev/libgudev-238-r1.ebuild
new file mode 100644
index 000000000000..3d1e02888556
--- /dev/null
+++ b/dev-libs/libgudev/libgudev-238-r1.ebuild
@@ -0,0 +1,47 @@
+# Copyright 2015-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit meson-multilib
+
+DESCRIPTION="GObject bindings for libudev"
+HOMEPAGE="https://wiki.gnome.org/Projects/libgudev"
+SRC_URI="https://download.gnome.org/sources/libgudev/${PV}/${P}.tar.xz"
+
+LICENSE="LGPL-2.1+"
+SLOT="0/0"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86"
+IUSE="introspection test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ >=dev-libs/glib-2.38.0:2[${MULTILIB_USEDEP}]
+ >=virtual/libudev-251:=[sticky-tags(+),${MULTILIB_USEDEP}]
+ introspection? ( >=dev-libs/gobject-introspection-1.31.1 )
+"
+DEPEND="${RDEPEND}
+ test? ( dev-util/umockdev[${MULTILIB_USEDEP}] )
+"
+BDEPEND="
+ dev-util/glib-utils
+ virtual/pkgconfig
+"
+
+multilib_src_configure() {
+ local emesonargs=(
+ $(meson_native_use_feature introspection)
+ -Dgtk_doc=false
+ $(meson_feature test tests)
+ -Dvapi=disabled
+ )
+ meson_src_configure
+}
+
+src_test() {
+ # libsandbox interferes somehow.
+ # There are no access violations, but tests fail.
+ # https://bugs.gentoo.org/805449
+ local -x SANDBOX_ON=0
+ meson-multilib_src_test
+}
diff --git a/dev-libs/libgudev/metadata.xml b/dev-libs/libgudev/metadata.xml
index 18127d6d0a25..3631e95872ff 100644
--- a/dev-libs/libgudev/metadata.xml
+++ b/dev-libs/libgudev/metadata.xml
@@ -1,11 +1,14 @@
<?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>systemd@gentoo.org</email>
- </maintainer>
+ <maintainer type="project">
+ <email>gnome@gentoo.org</email>
+ <name>Gentoo GNOME Desktop</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>systemd@gentoo.org</email>
+ </maintainer>
+ <upstream>
+ <remote-id type="gnome-gitlab">GNOME/libgudev</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/dev-libs/libgusb/Manifest b/dev-libs/libgusb/Manifest
index cf0abdc56587..d58b688bc74c 100644
--- a/dev-libs/libgusb/Manifest
+++ b/dev-libs/libgusb/Manifest
@@ -1,2 +1,2 @@
-DIST libgusb-0.3.10.tar.xz 42972 BLAKE2B 4c49aa15cbbbb56d5ee5b896adb3e34b45332cd846933fd3aa86a645e7d897418d0e7a30d9972980e6527f1e60fc6e579f5df119708a12b3e504ff695c94d922 SHA512 66bd7c292cb9df2799b02acd48dc4b07794e7339ea1bd6473ea512dfec1b8e7e58abbd40f16a2a4805240cc8df4aec050335edb4f4178ad12ac5275438b8ae59
-DIST libgusb-0.3.7.tar.xz 41844 BLAKE2B e0829430a7c4c9372ebc061ca8245ecd6b30f0922e4e37ae41f7f65055e7339b5a3a882c5526ea5e5663be3b7c1ad71fee7da5cffb501d63bd1cda2b618fd40d SHA512 65a35be62bff689621f418abf045f62f946c67488dd021d363ab252b9b3a2380898ec763b374f7da50901945eda666fdcae7cbfda7e143544175d7ade3ebc20d
+DIST libgusb-0.4.7.tar.xz 51448 BLAKE2B 126d7723e7f47cf1ee4780aaf627c15e8e04a95a765f5c68578d6a31ec1d69578af05b6687224399e657dfaf2f983bad5415b05c19c3334cfc7fc06a58f0a27e SHA512 38f8d4989e3adc46013a9e8ca42511c5de9bbaf23a11654eb47d7c9a9c64b90f0213b77916f8ebd1e6c246aaafa0e1574bb72a19170ae9efa2af9e3f86a4e210
+DIST libgusb-0.4.8.tar.xz 51632 BLAKE2B f904bb8a0766a61b0e7d6e5e80d7f0eed5c44537065db2b9bf33cd694fcaa58d93a7cdec37802fd278c2eb7ad2e4de79cd492baa1ead373e31e4d75488999e1e SHA512 b6446761ba4a19b8e7b7fc2bcf26064c89a574c328b794eb3f1723ef71b4100447c5b024bd8163c4e42af935ce0b7e11b93b722871061f7115da0003cc14b001
diff --git a/dev-libs/libgusb/libgusb-0.3.10.ebuild b/dev-libs/libgusb/libgusb-0.3.10.ebuild
deleted file mode 100644
index 7953a2c05123..000000000000
--- a/dev-libs/libgusb/libgusb-0.3.10.ebuild
+++ /dev/null
@@ -1,63 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-VALA_USE_DEPEND="vapigen"
-
-PYTHON_COMPAT=( python3_{8..10} )
-PYTHON_REQ_USE="xml(+)"
-
-inherit meson-multilib python-any-r1 vala
-
-DESCRIPTION="GObject wrapper for libusb"
-HOMEPAGE="https://github.com/hughsie/libgusb"
-SRC_URI="https://people.freedesktop.org/~hughsient/releases/${P}.tar.xz"
-
-LICENSE="LGPL-2.1+"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86"
-
-IUSE="gtk-doc +introspection static-libs test +vala"
-REQUIRED_USE="vala? ( introspection )"
-
-RDEPEND="
- >=dev-libs/glib-2.44.0:2[${MULTILIB_USEDEP}]
- virtual/libusb:1[udev,${MULTILIB_USEDEP}]
- introspection? ( >=dev-libs/gobject-introspection-1.54:= )
- sys-apps/hwdata
-"
-DEPEND="${RDEPEND}"
-BDEPEND="
- $(python_gen_any_dep 'dev-python/setuptools[${PYTHON_USEDEP}]')
- gtk-doc? (
- app-text/docbook-xml-dtd:4.1.2
- app-text/docbook-xml-dtd:4.4
- dev-util/gtk-doc
- )
- vala? ( $(vala_depend) )
- virtual/pkgconfig
-"
-
-RESTRICT="!test? ( test )"
-
-python_check_deps() {
- has_version -b "dev-python/setuptools[${PYTHON_USEDEP}]"
-}
-
-src_prepare() {
- use vala && vala_src_prepare
- default
-}
-
-multilib_src_configure() {
- local emesonargs=(
- -Ddefault_library=$(usex static-libs both shared)
- $(meson_use test tests)
- $(meson_native_use_bool vala vapi)
- -Dusb_ids="${EPREFIX}"/usr/share/hwdata/usb.ids
- $(meson_native_use_bool gtk-doc docs)
- $(meson_native_use_bool introspection)
-
- )
- meson_src_configure
-}
diff --git a/dev-libs/libgusb/libgusb-0.3.7-r1.ebuild b/dev-libs/libgusb/libgusb-0.3.7-r1.ebuild
deleted file mode 100644
index 6fb3c9af5241..000000000000
--- a/dev-libs/libgusb/libgusb-0.3.7-r1.ebuild
+++ /dev/null
@@ -1,63 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-VALA_USE_DEPEND="vapigen"
-
-PYTHON_COMPAT=( python3_{7,8,9} )
-PYTHON_REQ_USE="xml(+)"
-
-inherit meson-multilib python-any-r1 vala
-
-DESCRIPTION="GObject wrapper for libusb"
-HOMEPAGE="https://github.com/hughsie/libgusb"
-SRC_URI="https://people.freedesktop.org/~hughsient/releases/${P}.tar.xz"
-
-LICENSE="LGPL-2.1+"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ppc ppc64 ~riscv ~sparc x86"
-
-IUSE="gtk-doc +introspection static-libs test +vala"
-REQUIRED_USE="vala? ( introspection )"
-
-RDEPEND="
- >=dev-libs/glib-2.44.0:2[${MULTILIB_USEDEP}]
- virtual/libusb:1[udev,${MULTILIB_USEDEP}]
- introspection? ( >=dev-libs/gobject-introspection-1.54:= )
- sys-apps/hwdata
-"
-DEPEND="${RDEPEND}"
-BDEPEND="
- $(python_gen_any_dep 'dev-python/setuptools[${PYTHON_USEDEP}]')
- gtk-doc? (
- app-text/docbook-xml-dtd:4.1.2
- app-text/docbook-xml-dtd:4.4
- dev-util/gtk-doc
- )
- vala? ( $(vala_depend) )
- virtual/pkgconfig
-"
-
-RESTRICT="!test? ( test )"
-
-python_check_deps() {
- has_version -b "dev-python/setuptools[${PYTHON_USEDEP}]"
-}
-
-src_prepare() {
- use vala && vala_src_prepare
- default
-}
-
-multilib_src_configure() {
- local emesonargs=(
- -Ddefault_library=$(usex static-libs both shared)
- $(meson_use test tests)
- $(meson_native_use_bool vala vapi)
- -Dusb_ids="${EPREFIX}"/usr/share/hwdata/usb.ids
- $(meson_native_use_bool gtk-doc docs)
- $(meson_native_use_bool introspection)
-
- )
- meson_src_configure
-}
diff --git a/dev-libs/libgusb/libgusb-0.4.7.ebuild b/dev-libs/libgusb/libgusb-0.4.7.ebuild
new file mode 100644
index 000000000000..986ca1a121f6
--- /dev/null
+++ b/dev-libs/libgusb/libgusb-0.4.7.ebuild
@@ -0,0 +1,72 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..12} )
+PYTHON_REQ_USE="xml(+)"
+
+inherit meson-multilib python-any-r1 vala
+
+DESCRIPTION="GObject wrapper for libusb"
+HOMEPAGE="https://github.com/hughsie/libgusb"
+SRC_URI="https://github.com/hughsie/libgusb/releases/download/${PV}/${P}.tar.xz"
+
+LICENSE="LGPL-2.1+"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv sparc x86"
+
+IUSE="gtk-doc +introspection test +vala"
+REQUIRED_USE="
+ gtk-doc? ( introspection )
+ vala? ( introspection )
+"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ >=dev-libs/glib-2.44.0:2[${MULTILIB_USEDEP}]
+ virtual/libusb:1[udev,${MULTILIB_USEDEP}]
+ >=dev-libs/json-glib-1.1.1[${MULTILIB_USEDEP},introspection?]
+ introspection? ( >=dev-libs/gobject-introspection-1.54:= )
+ sys-apps/hwdata
+"
+DEPEND="${RDEPEND}
+ test? ( >=dev-util/umockdev-0.17.7[${MULTILIB_USEDEP}] )"
+BDEPEND="
+ $(python_gen_any_dep 'dev-python/setuptools[${PYTHON_USEDEP}]')
+ gtk-doc? ( dev-util/gi-docgen )
+ vala? ( $(vala_depend) )
+ virtual/pkgconfig
+"
+
+python_check_deps() {
+ python_has_version "dev-python/setuptools[${PYTHON_USEDEP}]"
+}
+
+src_prepare() {
+ default
+ use vala && vala_setup
+}
+
+multilib_src_configure() {
+ local emesonargs=(
+ -Ddefault_library=shared
+ $(meson_use test tests)
+ $(meson_native_use_bool vala vapi)
+ -Dusb_ids="${EPREFIX}"/usr/share/hwdata/usb.ids
+ $(meson_native_use_bool gtk-doc docs)
+ $(meson_native_use_bool introspection)
+ $(meson_feature test umockdev)
+
+ )
+ meson_src_configure
+}
+
+multilib_src_install_all() {
+ einstalldocs
+
+ if use gtk-doc; then
+ mkdir -p "${ED}"/usr/share/gtk-doc/ || die
+ mv "${ED}"/usr/share/{doc,gtk-doc}/libgusb || die
+ fi
+}
diff --git a/dev-libs/libgusb/libgusb-0.4.8.ebuild b/dev-libs/libgusb/libgusb-0.4.8.ebuild
new file mode 100644
index 000000000000..986ca1a121f6
--- /dev/null
+++ b/dev-libs/libgusb/libgusb-0.4.8.ebuild
@@ -0,0 +1,72 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..12} )
+PYTHON_REQ_USE="xml(+)"
+
+inherit meson-multilib python-any-r1 vala
+
+DESCRIPTION="GObject wrapper for libusb"
+HOMEPAGE="https://github.com/hughsie/libgusb"
+SRC_URI="https://github.com/hughsie/libgusb/releases/download/${PV}/${P}.tar.xz"
+
+LICENSE="LGPL-2.1+"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv sparc x86"
+
+IUSE="gtk-doc +introspection test +vala"
+REQUIRED_USE="
+ gtk-doc? ( introspection )
+ vala? ( introspection )
+"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ >=dev-libs/glib-2.44.0:2[${MULTILIB_USEDEP}]
+ virtual/libusb:1[udev,${MULTILIB_USEDEP}]
+ >=dev-libs/json-glib-1.1.1[${MULTILIB_USEDEP},introspection?]
+ introspection? ( >=dev-libs/gobject-introspection-1.54:= )
+ sys-apps/hwdata
+"
+DEPEND="${RDEPEND}
+ test? ( >=dev-util/umockdev-0.17.7[${MULTILIB_USEDEP}] )"
+BDEPEND="
+ $(python_gen_any_dep 'dev-python/setuptools[${PYTHON_USEDEP}]')
+ gtk-doc? ( dev-util/gi-docgen )
+ vala? ( $(vala_depend) )
+ virtual/pkgconfig
+"
+
+python_check_deps() {
+ python_has_version "dev-python/setuptools[${PYTHON_USEDEP}]"
+}
+
+src_prepare() {
+ default
+ use vala && vala_setup
+}
+
+multilib_src_configure() {
+ local emesonargs=(
+ -Ddefault_library=shared
+ $(meson_use test tests)
+ $(meson_native_use_bool vala vapi)
+ -Dusb_ids="${EPREFIX}"/usr/share/hwdata/usb.ids
+ $(meson_native_use_bool gtk-doc docs)
+ $(meson_native_use_bool introspection)
+ $(meson_feature test umockdev)
+
+ )
+ meson_src_configure
+}
+
+multilib_src_install_all() {
+ einstalldocs
+
+ if use gtk-doc; then
+ mkdir -p "${ED}"/usr/share/gtk-doc/ || die
+ mv "${ED}"/usr/share/{doc,gtk-doc}/libgusb || die
+ fi
+}
diff --git a/dev-libs/libgweather/Manifest b/dev-libs/libgweather/Manifest
index 75a29971b046..9a4ea496fc79 100644
--- a/dev-libs/libgweather/Manifest
+++ b/dev-libs/libgweather/Manifest
@@ -1 +1 @@
-DIST libgweather-40.0.tar.xz 2704404 BLAKE2B 27bc69c350ae91a07307d75b5ea1d03bb251f51bf87d5d54861965b61d7ed825ab708466cbe9d961c4f544b8b17ca6ed37b723c003ce2c1ef020270d6812c61d SHA512 72e295246bf03550039a70bd4bf5b8f06357a6b70e04308c197fba309e406d410a97d128d849d97a29a6a114faa1ef5452e6632870b7ea45223a0c305c228cc1
+DIST libgweather-4.4.2.tar.xz 2827456 BLAKE2B de53257f15b5b0e38bd41ccf69665e701065db85d144853831f409cd1a7116482bb374a858b022f9fb5eb167203bb393fa4a9087ab2c2272ba1b83dec3efcbb0 SHA512 66012af9bc50dfbb8cdb3d8b1ad7c72b5e8e012d8bbaa5a8d7a841f4bd5b2ebe0a490cc7ea256ea5e1d218f328da8826fb2345aa848fd961da271e64cdf330ad
diff --git a/dev-libs/libgweather/files/40.0-autoskip-network-test.patch b/dev-libs/libgweather/files/40.0-autoskip-network-test.patch
deleted file mode 100644
index def65382613b..000000000000
--- a/dev-libs/libgweather/files/40.0-autoskip-network-test.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-From 1d0ae284635ef1975a581b4d73ab497ccbd4532f Mon Sep 17 00:00:00 2001
-From: Mart Raudsepp <leio@gentoo.org>
-Date: Sun, 30 Aug 2020 10:35:13 +0300
-Subject: [PATCH 2/2] tests: Skip metar tests when METAR_SOURCES couldn't be
- resolved
-
----
- libgweather/test_libgweather.c | 5 +++++
- 1 file changed, 5 insertions(+)
-
-diff --git a/libgweather/test_libgweather.c b/libgweather/test_libgweather.c
-index ee13dc7b..7ffaac41 100644
---- a/libgweather/test_libgweather.c
-+++ b/libgweather/test_libgweather.c
-@@ -438,6 +438,11 @@ test_metar_weather_stations (void)
- g_test_message ("SSL/TLS failure, please check your glib-networking installation");
- g_test_failed ();
- return;
-+ } else if (msg->status_code == SOUP_STATUS_CANT_RESOLVE) {
-+ g_test_skip ("Could not resolve " METAR_SOURCES " - network sandboxed?");
-+ g_object_unref (session);
-+ g_object_unref (msg);
-+ return;
- }
- g_assert_cmpint (msg->status_code, >=, 200);
- g_assert_cmpint (msg->status_code, <, 300);
---
-2.26.2
-
diff --git a/dev-libs/libgweather/files/40.0-meson-tweaks.patch b/dev-libs/libgweather/files/40.0-meson-tweaks.patch
deleted file mode 100644
index aa56c592890f..000000000000
--- a/dev-libs/libgweather/files/40.0-meson-tweaks.patch
+++ /dev/null
@@ -1,109 +0,0 @@
-From bbf17eac53c128904190ef2d74176b0717d7d907 Mon Sep 17 00:00:00 2001
-From: Mart Raudsepp <leio@gentoo.org>
-Date: Sat, 23 Feb 2019 12:21:01 +0200
-Subject: [PATCH] build: Provide introspection option and don't build manual
- tests
-
----
- libgweather/meson.build | 21 ++++++++++++++-------
- meson.build | 4 ++++
- meson_options.txt | 2 ++
- 3 files changed, 20 insertions(+), 7 deletions(-)
-
-diff --git a/libgweather/meson.build b/libgweather/meson.build
-index 26f067e6..8f0f9047 100644
---- a/libgweather/meson.build
-+++ b/libgweather/meson.build
-@@ -74,6 +74,15 @@ lib_libgweather = shared_library('gweather-3',
- install: true,
- )
-
-+libgweather_dep = declare_dependency(
-+ sources: [gweather_enum_types[1]],
-+ dependencies: deps_libgweather,
-+ link_with: lib_libgweather,
-+ include_directories: root_inc,
-+)
-+
-+if get_option('introspection')
-+
- gweather_gir = gnome.generate_gir(lib_libgweather,
- sources: introspection_sources,
- dependencies: deps_libgweather,
-@@ -91,13 +100,6 @@ gweather_gir = gnome.generate_gir(lib_libgweather,
- install: true,
- )
-
--libgweather_dep = declare_dependency(
-- sources: [gweather_enum_types[1], gweather_gir],
-- dependencies: deps_libgweather,
-- link_with: lib_libgweather,
-- include_directories: root_inc,
--)
--
- if enable_vala
- gnome.generate_vapi('gweather-3.0',
- sources: gweather_gir[0],
-@@ -106,11 +108,13 @@ if enable_vala
- install: true
- )
- endif
-+endif
-
- test_cargs = ['-DTEST_LOCATIONS="@0@"'.format(locations_bin.full_path()),
- '-DSCHEMASDIR="@0@/schemas"'.format(meson.source_root()),
- '-DSCHEMAS_BUILDDIR="@0@/schemas"'.format(meson.build_root())]
-
-+if false
- executable('test_locations',
- ['test_locations.c'],
- c_args: test_cargs,
-@@ -121,6 +125,7 @@ executable('test_locations_utc',
- c_args: test_cargs,
- dependencies: libgweather_dep,
- install: false)
-+endif
-
- exe = executable('test_libgweather',
- ['test_libgweather.c'],
-@@ -129,6 +134,7 @@ exe = executable('test_libgweather',
- install: false)
- test('test_libgweather', exe, depends: [locations_bin])
-
-+if false
- executable('test_metar',
- ['test_metar.c', gweather_c_sources],
- c_args: test_cargs,
-@@ -144,3 +150,4 @@ executable('test_weather',
- c_args: test_cargs,
- dependencies: libgweather_dep,
- install: false)
-+endif
-diff --git a/meson.build b/meson.build
-index 87f9a7d8..48ff0ca2 100644
---- a/meson.build
-+++ b/meson.build
-@@ -104,6 +104,10 @@ else
- enable_vala = enable_vala != 'false'
- endif
-
-+if enable_vala and not get_option('introspection')
-+ error('Vala bindings require introspection support')
-+endif
-+
- root_inc = include_directories('.')
-
- subdir('data')
-diff --git a/meson_options.txt b/meson_options.txt
-index 19b2c6a7..bf4c5175 100644
---- a/meson_options.txt
-+++ b/meson_options.txt
-@@ -8,3 +8,5 @@ option('enable_vala', type: 'combo', choices : ['true', 'false', 'auto'], value
- description: 'Install vala bindings')
- option('gtk_doc', type: 'boolean', value: false,
- description: 'Whether to generate the API reference')
-+option('introspection', type: 'boolean', value: true,
-+ description: 'generate GObject Introspection data')
---
-2.26.2
-
diff --git a/dev-libs/libgweather/files/40.0-tests-locale.patch b/dev-libs/libgweather/files/40.0-tests-locale.patch
deleted file mode 100644
index ea1f6020152d..000000000000
--- a/dev-libs/libgweather/files/40.0-tests-locale.patch
+++ /dev/null
@@ -1,55 +0,0 @@
-From 6b2801a8195990fdf5166b62f62ddfbad55f11e4 Mon Sep 17 00:00:00 2001
-From: Emmanuele Bassi <ebassi@gnome.org>
-Date: Mon, 9 Mar 2020 12:21:57 +0000
-Subject: [PATCH 1/2] Do not run local-dependent tests with missing locales
-
-Not everyone has all the locales installed all the time, so let's check
-if a locale is available before using it.
----
- libgweather/test_libgweather.c | 12 +++++++++++-
- 1 file changed, 11 insertions(+), 1 deletion(-)
-
-diff --git a/libgweather/test_libgweather.c b/libgweather/test_libgweather.c
-index b10c1f16..ee13dc7b 100644
---- a/libgweather/test_libgweather.c
-+++ b/libgweather/test_libgweather.c
-@@ -678,6 +678,7 @@ test_location_names (void)
- {
- g_autoptr(GWeatherLocation) world = NULL;
- g_autoptr(GWeatherLocation) brussels = NULL;
-+ char *old_locale;
-
- world = gweather_location_get_world ();
- g_assert_nonnull (world);
-@@ -689,10 +690,19 @@ test_location_names (void)
- g_assert_cmpstr (gweather_location_get_english_name (brussels), ==, "Brussels");
- gweather_location_unref (brussels);
-
-+ old_locale = g_strdup (setlocale (LC_ALL, NULL));
- setlocale (LC_ALL, "fr_FR.UTF-8");
-
- g_clear_pointer (&world, gweather_location_unref);
- g_clear_pointer (&brussels, gweather_location_unref);
-+ if (strstr (setlocale (LC_ALL, NULL), "fr_FR.UTF-8") == NULL)
-+ {
-+ g_test_skip ("locale fr_FR.UTF-8 not available, skipping localization tests");
-+ setlocale (LC_ALL, old_locale);
-+ g_free (old_locale);
-+ return;
-+ }
-+
- _gweather_location_reset_world ();
-
- world = gweather_location_get_world ();
-@@ -705,7 +715,7 @@ test_location_names (void)
- g_assert_cmpstr (gweather_location_get_english_name (brussels), ==, "Brussels");
- gweather_location_unref (brussels);
-
-- setlocale (LC_ALL, "");
-+ setlocale (LC_ALL, old_locale);
- g_clear_pointer (&world, gweather_location_unref);
- g_clear_pointer (&brussels, gweather_location_unref);
- _gweather_location_reset_world ();
---
-2.26.2
-
diff --git a/dev-libs/libgweather/libgweather-4.4.2.ebuild b/dev-libs/libgweather/libgweather-4.4.2.ebuild
new file mode 100644
index 000000000000..9df29f888f84
--- /dev/null
+++ b/dev-libs/libgweather/libgweather-4.4.2.ebuild
@@ -0,0 +1,88 @@
+# 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 gnome2-utils meson python-any-r1 vala xdg
+
+DESCRIPTION="Location and timezone database and weather-lookup library"
+HOMEPAGE="https://wiki.gnome.org/Projects/LibGWeather"
+
+LICENSE="GPL-2+"
+SLOT="4/4-0" # subslot = 4-(libgweather-4 soname suffix)
+
+IUSE="gtk-doc +introspection test +vala"
+RESTRICT="!test? ( test )"
+REQUIRED_USE="
+ vala? ( introspection )
+ gtk-doc? ( introspection )
+"
+
+KEYWORDS="~alpha amd64 ~arm arm64 ~ia64 ~loong ~ppc ~ppc64 ~riscv ~sparc x86 ~amd64-linux ~x86-linux"
+
+RDEPEND="
+ >=dev-libs/glib-2.68.0:2
+ >=net-libs/libsoup-2.99.2:3.0
+ sci-geosciences/geocode-glib:2
+ >=dev-libs/libxml2-2.6.0:2
+ dev-libs/json-glib
+ introspection? ( >=dev-libs/gobject-introspection-1.54:= )
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ dev-util/glib-utils
+ gtk-doc? ( >=dev-util/gi-docgen-2021.6 )
+ >=sys-devel/gettext-0.19.8
+ virtual/pkgconfig
+ ${PYTHON_DEPS}
+ $(python_gen_any_dep 'dev-python/pygobject[${PYTHON_USEDEP}]')
+ vala? ( $(vala_depend) )
+"
+
+python_check_deps() {
+ python_has_version -b "dev-python/pygobject[${PYTHON_USEDEP}]"
+}
+
+pkg_setup() {
+ python-any-r1_pkg_setup
+}
+
+src_prepare() {
+ default
+ gnome2_environment_reset
+ use vala && vala_setup
+ # The metar test requires network access
+ if has network-sandbox ${FEATURES}; then
+ sed -i -e '/metar/d' libgweather/tests/meson.build || die
+ fi
+}
+
+src_configure() {
+ local emesonargs=(
+ $(meson_use vala enable_vala)
+ $(meson_use gtk-doc gtk_doc)
+ $(meson_use introspection)
+ $(meson_use test tests)
+ -Dsoup2=false
+ )
+ meson_src_configure
+}
+
+src_install() {
+ meson_src_install
+ if use gtk-doc; then
+ mkdir -p "${ED}"/usr/share/gtk-doc/ || die
+ mv "${ED}"/usr/share/doc/libgweather-4.0 "${ED}"/usr/share/gtk-doc/ || die
+ fi
+}
+
+pkg_postinst() {
+ xdg_pkg_postinst
+ gnome2_schemas_update
+}
+
+pkg_postrm() {
+ xdg_pkg_postrm
+ gnome2_schemas_update
+}
diff --git a/dev-libs/libgweather/libgweather-40.0.ebuild b/dev-libs/libgweather/libgweather-40.0.ebuild
deleted file mode 100644
index 17da947e53e4..000000000000
--- a/dev-libs/libgweather/libgweather-40.0.ebuild
+++ /dev/null
@@ -1,81 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-PYTHON_COMPAT=( python3_{8..10} )
-VALA_USE_DEPEND="vapigen"
-
-inherit gnome.org gnome2-utils meson python-any-r1 vala xdg
-
-DESCRIPTION="Location and timezone database and weather-lookup library"
-HOMEPAGE="https://wiki.gnome.org/Projects/LibGWeather"
-
-LICENSE="GPL-2+"
-SLOT="2/3-16-2" # subslot = 3-(libgweather-3 soname suffix) w/ temporary -2 suffix for silent ABI break after 3.28 without soname bump as per distro-list
-
-IUSE="glade gtk-doc +introspection +vala"
-REQUIRED_USE="vala? ( introspection )"
-
-KEYWORDS="~alpha amd64 ~arm arm64 ~ia64 ~ppc ~ppc64 ~riscv ~sparc x86 ~amd64-linux ~x86-linux ~x86-solaris"
-
-RDEPEND="
- >=dev-libs/glib-2.44.0:2
- >=x11-libs/gtk+-3.13.5:3[introspection?]
- >=net-libs/libsoup-2.44:2.4
- >=dev-libs/libxml2-2.6.0:2
- sci-geosciences/geocode-glib
- >=sys-libs/timezone-data-2010k
-
- glade? ( >=dev-util/glade-3.16:3.10 )
- introspection? ( >=dev-libs/gobject-introspection-1.54:= )
-"
-DEPEND="${RDEPEND}"
-BDEPEND="
- dev-util/glib-utils
- gtk-doc? ( >=dev-util/gtk-doc-1.11
- app-text/docbook-xml-dtd:4.3 )
- >=sys-devel/gettext-0.19.8
- virtual/pkgconfig
- ${PYTHON_DEPS}
- $(python_gen_any_dep 'dev-python/pygobject[${PYTHON_USEDEP}]')
- $(vala_depend)
-"
-
-PATCHES=(
- "${FILESDIR}"/40.0-meson-tweaks.patch # Provide introspection optionality and don't build tests that aren't ran automatically
- "${FILESDIR}"/40.0-tests-locale.patch # Don't fail tests when a locale is not present, https://gitlab.gnome.org/GNOME/libgweather/-/merge_requests/58
- "${FILESDIR}"/40.0-autoskip-network-test.patch
-)
-
-python_check_deps() {
- has_version -b "dev-python/pygobject[${PYTHON_USEDEP}]"
-}
-
-pkg_setup() {
- python-any-r1_pkg_setup
-}
-
-src_prepare() {
- xdg_src_prepare
- vala_src_prepare
-}
-
-src_configure() {
- local emesonargs=(
- $(meson_use glade glade_catalog)
- $(meson_use vala enable_vala)
- $(meson_use gtk-doc gtk_doc)
- $(meson_use introspection)
- )
- meson_src_configure
-}
-
-pkg_postinst() {
- xdg_pkg_postinst
- gnome2_schemas_update
-}
-
-pkg_postrm() {
- xdg_pkg_postrm
- gnome2_schemas_update
-}
diff --git a/dev-libs/libgweather/metadata.xml b/dev-libs/libgweather/metadata.xml
index 08beabc9aa1f..f48e69f0d501 100644
--- a/dev-libs/libgweather/metadata.xml
+++ b/dev-libs/libgweather/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>
- <use>
- <flag name="glade">Installs catalog files for <pkg>dev-util/glade</pkg></flag>
- </use>
+ <maintainer type="project">
+ <email>gnome@gentoo.org</email>
+ <name>Gentoo GNOME Desktop</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="gnome-gitlab">GNOME/libgweather</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/dev-libs/libhid/libhid-0.2.17-r1.ebuild b/dev-libs/libhid/libhid-0.2.17-r1.ebuild
new file mode 100644
index 000000000000..d8047f0c5757
--- /dev/null
+++ b/dev-libs/libhid/libhid-0.2.17-r1.ebuild
@@ -0,0 +1,62 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools
+
+DESCRIPTION="Provides a generic and flexible way to access and interact with USB HID devices"
+HOMEPAGE="https://wiki.gentoo.org/wiki/No_homepage"
+SRC_URI="https://dev.gentoo.org/~conikost/files/${P}.tar.gz"
+
+LICENSE="GPL-2 GPL-2+"
+SLOT="0"
+KEYWORDS="amd64 ppc ppc64 x86"
+IUSE="doc"
+
+RDEPEND="virtual/libusb:0="
+
+DEPEND="${RDEPEND}"
+
+BDEPEND="
+ app-text/docbook-xsl-stylesheets
+ dev-libs/libxslt
+ doc? ( app-text/doxygen )
+"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-0.2.17-configure.patch
+ "${FILESDIR}"/${PN}-0.2.17-man.patch
+)
+
+src_prepare() {
+ default
+
+ eautoreconf
+}
+
+src_configure() {
+ local CONFIG_SHELL="$(type -P bash)"
+ export OS_LDFLAGS="${LDFLAGS}"
+
+ myeconfargs=(
+ "--disable-static"
+ "--disable-swig"
+ "--disable-warnings"
+ "--disable-werror"
+ "$(use_with doc doxygen)"
+ )
+
+ econf ${myeconfargs[@]}
+}
+
+src_install() {
+ default
+
+ if use doc; then
+ docinto html
+ dodoc -r doc/html/.
+ fi
+
+ find "${D}" -name '*.la' -type f -delete || die
+}
diff --git a/dev-libs/libhid/libhid-0.2.17.ebuild b/dev-libs/libhid/libhid-0.2.17.ebuild
deleted file mode 100644
index ee87c17c2674..000000000000
--- a/dev-libs/libhid/libhid-0.2.17.ebuild
+++ /dev/null
@@ -1,61 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit autotools
-
-DESCRIPTION="Provides a generic and flexible way to access and interact with USB HID devices"
-HOMEPAGE="https://wiki.gentoo.org/wiki/No_homepage"
-SRC_URI="https://dev.gentoo.org/~conikost/files/${P}.tar.gz"
-
-LICENSE="GPL-2 GPL-2+"
-SLOT="0"
-KEYWORDS="amd64 ppc ppc64 x86"
-IUSE="doc"
-
-RDEPEND="virtual/libusb:0="
-
-DEPEND="${RDEPEND}"
-
-BDEPEND="
- app-text/docbook-xsl-stylesheets
- dev-libs/libxslt
- doc? ( app-doc/doxygen )
-"
-
-PATCHES=(
- "${FILESDIR}"/${P}-configure.patch
- "${FILESDIR}"/${P}-man.patch
-)
-
-src_prepare() {
- default
-
- eautoreconf
-}
-
-src_configure() {
- export OS_LDFLAGS="${LDFLAGS}"
-
- myeconfargs=(
- "--disable-static"
- "--disable-swig"
- "--disable-warnings"
- "--disable-werror"
- "$(use_with doc doxygen)"
- )
-
- econf ${myeconfargs[@]}
-}
-
-src_install() {
- default
-
- if use doc; then
- docinto html
- dodoc -r doc/html/.
- fi
-
- find "${D}" -name '*.la' -type f -delete || die
-}
diff --git a/dev-libs/libical/Manifest b/dev-libs/libical/Manifest
index 0af2bda6d07c..2a93326acfaa 100644
--- a/dev-libs/libical/Manifest
+++ b/dev-libs/libical/Manifest
@@ -1 +1 @@
-DIST libical-3.0.12.tar.gz 883537 BLAKE2B a67cbf767f5dba7717c80b2ed90f257025544b6fbbd85e4d10712fb63ec5d750c00e9a1d664b0c75f7e833847aeee2fc1412866bf4b599ead663132b3665835f SHA512 e97aec11895d4c51fcb1fe32598f5fc23bbffc26274d1f46e74d1b9a365bea65446563224b852d13a763334eab0375e77cabb5ba535d3b2f89b652bbe24b4517
+DIST libical-3.0.17.tar.gz 909125 BLAKE2B 002eba515280c685db49d7f6781048ca4f86a22fb44a740b459fd8ae8f7dd669cb8a623df16e87913a397fc9b242d75c999e7aea26f09254982d77f1c9f87ac2 SHA512 11fbb4aba7503a3264b0efa30ad56aa923d31ec193bdb0b87b92bc88db9019fa670c8c9ee7998caa3a870e706446a58ead475f31bd703f0d2cb7aabf0f6a3aa7
diff --git a/dev-libs/libical/libical-3.0.12.ebuild b/dev-libs/libical/libical-3.0.12.ebuild
deleted file mode 100644
index a48681327fb0..000000000000
--- a/dev-libs/libical/libical-3.0.12.ebuild
+++ /dev/null
@@ -1,114 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{8..10} )
-VALA_USE_DEPEND="vapigen"
-inherit cmake python-any-r1 vala
-
-DESCRIPTION="Implementation of basic iCAL protocols"
-HOMEPAGE="https://github.com/libical/libical"
-SRC_URI="https://github.com/${PN}/${PN}/releases/download/v${PV}/${P}.tar.gz"
-
-LICENSE="|| ( MPL-2.0 LGPL-2.1 )"
-SLOT="0/3"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ppc ppc64 ~riscv sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x86-solaris"
-IUSE="berkdb doc examples +glib +introspection static-libs test vala"
-
-REQUIRED_USE="introspection? ( glib ) vala? ( introspection )"
-
-RESTRICT="!test? ( test )"
-
-COMMON_DEPEND="
- dev-libs/icu:=
- berkdb? ( sys-libs/db:= )
- glib? ( dev-libs/glib:2 )
-"
-DEPEND="${COMMON_DEPEND}
- glib? ( dev-libs/libxml2:2 )
-"
-RDEPEND="${COMMON_DEPEND}
- sys-libs/timezone-data
-"
-BDEPEND="
- dev-lang/perl
- virtual/pkgconfig
- doc? (
- app-doc/doxygen[dot]
- glib? ( dev-util/gtk-doc )
- )
- introspection? ( dev-libs/gobject-introspection )
- test? (
- ${PYTHON_DEPS}
- glib? ( $(python_gen_any_dep 'dev-python/pygobject:3[${PYTHON_USEDEP}]') )
- )
- vala? ( $(vala_depend) )
-"
-
-DOCS=(
- AUTHORS ReadMe.txt ReleaseNotes.txt TEST THANKS TODO
- doc/{AddingOrModifyingComponents.txt,UsingLibical.md}
-)
-
-PATCHES=(
- "${FILESDIR}/${PN}-3.0.4-tests.patch"
- "${FILESDIR}/${PN}-3.0.11-pkgconfig-libdir.patch"
-)
-
-python_check_deps() {
- has_version "dev-python/pygobject:3[${PYTHON_USEDEP}]"
-}
-
-pkg_setup() {
- use test && python-any-r1_pkg_setup
-}
-
-src_prepare() {
- cmake_src_prepare
- use examples || cmake_comment_add_subdirectory examples
- use vala && vala_src_prepare
-}
-
-src_configure() {
- local mycmakeargs=(
- $(cmake_use_find_package berkdb BDB)
- -DICAL_BUILD_DOCS=$(usex doc)
- -DICAL_GLIB=$(usex glib)
- -DGOBJECT_INTROSPECTION=$(usex introspection)
- -DSHARED_ONLY=$(usex !static-libs)
- -DLIBICAL_BUILD_TESTING=$(usex test)
- -DICAL_GLIB_VAPI=$(usex vala)
- )
- if use vala; then
- mycmakeargs+=(
- -DVALAC="${VALAC}"
- -DVAPIGEN="${VAPIGEN}"
- )
- fi
- cmake_src_configure
-}
-
-src_compile() {
- cmake_src_compile
- use doc && cmake_src_compile docs
-}
-
-src_test() {
- local myctestargs=(
- -E "(icalrecurtest|icalrecurtest-r)" # bug 660282
- )
-
- cmake_src_test
-}
-
-src_install() {
- use doc && local HTML_DOCS=( "${BUILD_DIR}"/apidocs/html/. )
-
- cmake_src_install
-
- if use examples; then
- rm examples/CMakeLists.txt || die
- dodoc -r examples
- fi
-}
diff --git a/dev-libs/libical/libical-3.0.17.ebuild b/dev-libs/libical/libical-3.0.17.ebuild
new file mode 100644
index 000000000000..93d55917bd08
--- /dev/null
+++ b/dev-libs/libical/libical-3.0.17.ebuild
@@ -0,0 +1,117 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{9..11} )
+VALA_USE_DEPEND="vapigen"
+inherit cmake python-any-r1 vala
+
+DESCRIPTION="Implementation of basic iCAL protocols"
+HOMEPAGE="https://github.com/libical/libical"
+SRC_URI="https://github.com/${PN}/${PN}/releases/download/v${PV}/${P}.tar.gz"
+
+LICENSE="|| ( MPL-2.0 LGPL-2.1 )"
+SLOT="0/3"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv sparc x86 ~amd64-linux ~x86-linux ~ppc-macos"
+IUSE="doc examples +glib +introspection static-libs test vala"
+
+REQUIRED_USE="introspection? ( glib ) vala? ( introspection )"
+
+RESTRICT="!test? ( test )"
+
+COMMON_DEPEND="
+ dev-libs/icu:=
+ glib? ( dev-libs/glib:2 )
+"
+DEPEND="${COMMON_DEPEND}
+ glib? ( dev-libs/libxml2:2 )
+"
+RDEPEND="${COMMON_DEPEND}
+ sys-libs/timezone-data
+"
+BDEPEND="
+ dev-lang/perl
+ virtual/pkgconfig
+ doc? (
+ app-text/doxygen[dot]
+ glib? ( dev-util/gtk-doc )
+ )
+ introspection? ( dev-libs/gobject-introspection )
+ test? (
+ ${PYTHON_DEPS}
+ glib? ( $(python_gen_any_dep 'dev-python/pygobject:3[${PYTHON_USEDEP}]') )
+ )
+ vala? ( $(vala_depend) )
+"
+
+DOCS=(
+ AUTHORS README.md ReleaseNotes.txt TEST THANKS TODO
+ doc/{AddingOrModifyingComponents.txt,UsingLibical.md}
+)
+
+PATCHES=(
+ "${FILESDIR}/${PN}-3.0.4-tests.patch"
+ "${FILESDIR}/${PN}-3.0.11-pkgconfig-libdir.patch"
+)
+
+python_check_deps() {
+ python_has_version "dev-python/pygobject:3[${PYTHON_USEDEP}]"
+}
+
+pkg_setup() {
+ use test && python-any-r1_pkg_setup
+}
+
+src_prepare() {
+ cmake_src_prepare
+
+ use examples || cmake_comment_add_subdirectory examples
+ use vala && vala_setup
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DCMAKE_DISABLE_FIND_PACKAGE_BerkeleyDB=ON
+ -DICAL_BUILD_DOCS=$(usex doc)
+ -DICAL_GLIB=$(usex glib)
+ -DGOBJECT_INTROSPECTION=$(usex introspection)
+ -DSHARED_ONLY=$(usex !static-libs)
+ -DLIBICAL_BUILD_TESTING=$(usex test)
+ -DICAL_GLIB_VAPI=$(usex vala)
+ )
+ if use vala; then
+ mycmakeargs+=(
+ -DVALAC="${VALAC}"
+ -DVAPIGEN="${VAPIGEN}"
+ )
+ fi
+ cmake_src_configure
+}
+
+src_compile() {
+ cmake_src_compile
+
+ if use doc; then
+ cmake_src_compile docs
+
+ HTML_DOCS=( "${BUILD_DIR}"/apidocs/html/. )
+ fi
+}
+
+src_test() {
+ local myctestargs=(
+ -E "(icalrecurtest|icalrecurtest-r)" # bug 660282
+ )
+
+ cmake_src_test
+}
+
+src_install() {
+ cmake_src_install
+
+ if use examples; then
+ rm examples/CMakeLists.txt || die
+ dodoc -r examples
+ fi
+}
diff --git a/dev-libs/libical/metadata.xml b/dev-libs/libical/metadata.xml
index 3ef977ba572e..1bf758400523 100644
--- a/dev-libs/libical/metadata.xml
+++ b/dev-libs/libical/metadata.xml
@@ -9,6 +9,6 @@
<remote-id type="github">libical/libical</remote-id>
</upstream>
<use>
- <flag name="glib">Enable dev-libs/glib interface support</flag>
+ <flag name="glib">Enable <pkg>dev-libs/glib</pkg> interface support</flag>
</use>
</pkgmetadata>
diff --git a/dev-libs/libiconv/Manifest b/dev-libs/libiconv/Manifest
index 6d09de8d4734..734dfb0008d2 100644
--- a/dev-libs/libiconv/Manifest
+++ b/dev-libs/libiconv/Manifest
@@ -1,2 +1 @@
-DIST libiconv-1.15.tar.gz 5264188 BLAKE2B 2384dbf8549fa56e841b15b7e2698b83c0ee171cdff13aef48c60eae0bc4f5e7b2e937bc8d5eddf89fba11412d17bebd77bdda7060c177ce9dc9be00172c0c12 SHA512 1233fe3ca09341b53354fd4bfe342a7589181145a1232c9919583a8c9979636855839049f3406f253a9d9829908816bb71fd6d34dd544ba290d6f04251376b1a
-DIST libiconv-1.16.tar.gz 5166734 BLAKE2B 8e7f4d64d757db6c3ffa973c9cebcf20b34f9859a547dbba8cebe3a4865bda86f33c5be197951877c46eff5a7fc00b1b11474fb3baa036f08ac2faf97eca138c SHA512 365dac0b34b4255a0066e8033a8b3db4bdb94b9b57a9dca17ebf2d779139fe935caf51a465d17fd8ae229ec4b926f3f7025264f37243432075e5583925bb77b7
+DIST libiconv-1.17.tar.gz 5413283 BLAKE2B 1d317dd0655c680a2082c38561cdff51ac1a9181d4734a8bb1e86861dfd66f1a6c0846a90b5b88f3b38b1fa9983d9e563551f27e95a8e329896b71becceae52b SHA512 18a09de2d026da4f2d8b858517b0f26d853b21179cf4fa9a41070b2d140030ad9525637dc4f34fc7f27abca8acdc84c6751dfb1d426e78bf92af4040603ced86
diff --git a/dev-libs/libiconv/files/libiconv-1.15-no-aix-tweaks.patch b/dev-libs/libiconv/files/libiconv-1.15-no-aix-tweaks.patch
deleted file mode 100644
index d554d34564de..000000000000
--- a/dev-libs/libiconv/files/libiconv-1.15-no-aix-tweaks.patch
+++ /dev/null
@@ -1,20 +0,0 @@
-http://lists.gnu.org/archive/html/bug-gnu-libiconv/2018-05/msg00004.html
-
---- libiconv-1.15/lib/Makefile.in
-+++ libiconv-1.15/lib/Makefile.in
-@@ -100,12 +100,14 @@
-
- # On AIX, libiconv.a must include the object files of /lib/libiconv.a,
- # otherwise the setlocale() call fails when invoked from executables linked
--# with -rpath $(libdir), even if linked without -liconv.
-+# with -rpath $(libdir), even if linked without -liconv. However, since
-+# the --with-aix-soname flag libtool may not create libiconv.a at all.
- install : all force
- if [ ! -d $(DESTDIR)$(libdir) ] ; then $(mkinstalldirs) $(DESTDIR)$(libdir) ; fi
- $(LIBTOOL_INSTALL) $(INSTALL) libiconv.la $(DESTDIR)$(libdir)/libiconv.la
- case "@host_os@" in \
- aix*) (cd $(DESTDIR)$(libdir) && \
-+ { test -e libiconv.a || exit 0; } && \
- objects=`ar t libiconv.a`" "`ar t /lib/libiconv.a` && \
- ar x libiconv.a && ar x /lib/libiconv.a && \
- ar q libiconv.new.a $$objects && \
diff --git a/dev-libs/libiconv/files/libiconv-1.15-no-gets.patch b/dev-libs/libiconv/files/libiconv-1.15-no-gets.patch
deleted file mode 100644
index 5bc20b377493..000000000000
--- a/dev-libs/libiconv/files/libiconv-1.15-no-gets.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-hack until gzip pulls a newer gnulib version
-
-From 66712c23388e93e5c518ebc8515140fa0c807348 Mon Sep 17 00:00:00 2001
-From: Eric Blake <eblake@redhat.com>
-Date: Thu, 29 Mar 2012 13:30:41 -0600
-Subject: [PATCH] stdio: don't assume gets any more
-
-Gnulib intentionally does not have a gets module, and now that C11
-and glibc have dropped it, we should be more proactive about warning
-any user on a platform that still has a declaration of this dangerous
-interface.
-
---- a/srclib/stdio.in.h
-+++ b/srclib/stdio.in.h
-@@ -744,7 +744,6 @@ _GL_WARN_ON_USE (getline, "getline is un
- removed it. */
- #undef gets
- #if HAVE_RAW_DECL_GETS && !defined __cplusplus
--_GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead");
- #endif
-
- #if @GNULIB_OBSTACK_PRINTF@ || @GNULIB_OBSTACK_PRINTF_POSIX@
diff --git a/dev-libs/libiconv/libiconv-1.15.ebuild b/dev-libs/libiconv/libiconv-1.15.ebuild
deleted file mode 100644
index 6180c813ce14..000000000000
--- a/dev-libs/libiconv/libiconv-1.15.ebuild
+++ /dev/null
@@ -1,61 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="6"
-
-inherit libtool multilib-minimal usr-ldscript
-
-DESCRIPTION="GNU charset conversion library for libc which doesn't implement it"
-HOMEPAGE="https://www.gnu.org/software/libiconv/"
-SRC_URI="mirror://gnu/libiconv/${P}.tar.gz"
-
-LICENSE="LGPL-2+ GPL-3+"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm ~arm64 ~hppa ~ia64 ~m68k ~mips ppc ~ppc64 ~s390 ~sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris ~x86-winnt"
-IUSE="prefix static-libs"
-
-DEPEND="!sys-libs/glibc
- !sys-libs/musl"
-RDEPEND="${DEPEND}"
-
-PATCHES=(
- "${FILESDIR}/${PN}-1.15-no-gets.patch"
- "${FILESDIR}/${PN}-1.15-no-aix-tweaks.patch"
-)
-
-src_prepare() {
- default
- elibtoolize
-}
-
-multilib_src_configure() {
- if use prefix ; then
- # In Prefix we want to have the same header declaration on every
- # platform, so make configure find that it should do
- # "const char * *inbuf"
- export am_cv_func_iconv=no
- fi
- # Disable NLS support because that creates a circular dependency
- # between libiconv and gettext
- ECONF_SOURCE="${S}" \
- econf \
- --docdir="\$(datarootdir)/doc/${PF}/html" \
- --disable-nls \
- --enable-shared \
- $(use_enable static-libs static)
-}
-
-multilib_src_install_all() {
- use static-libs || find "${ED}" -name 'lib*.la' -delete
-
- # Install in /lib as utils installed in /lib like gnutar
- # can depend on this
- gen_usr_ldscript -a iconv charset
-
- # we need to rename our copies #503162
- cd "${ED}"/usr/share/man || die
- local f
- for f in man*/*.[0-9] ; do
- mv "${f}" "${f%/*}/${PN}-${f#*/}" || die
- done
-}
diff --git a/dev-libs/libiconv/libiconv-1.16.ebuild b/dev-libs/libiconv/libiconv-1.16.ebuild
deleted file mode 100644
index 346661c34d79..000000000000
--- a/dev-libs/libiconv/libiconv-1.16.ebuild
+++ /dev/null
@@ -1,52 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit libtool multilib-minimal usr-ldscript
-
-DESCRIPTION="GNU charset conversion library for libc which doesn't implement it"
-HOMEPAGE="https://www.gnu.org/software/libiconv/"
-SRC_URI="mirror://gnu/libiconv/${P}.tar.gz"
-
-LICENSE="LGPL-2+ GPL-3+"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris ~x86-winnt"
-IUSE="prefix static-libs"
-
-DEPEND="!sys-libs/glibc
- !sys-libs/musl"
-RDEPEND="${DEPEND}"
-
-PATCHES=(
- "${FILESDIR}/${PN}-1.15-no-gets.patch"
- "${FILESDIR}/${PN}-1.16-fix-link-install.patch"
-)
-
-multilib_src_configure() {
- if use prefix ; then
- # In Prefix we want to have the same header declaration on every
- # platform, so make configure find that it should do
- # "const char * *inbuf"
- export am_cv_func_iconv=no
- fi
- # Disable NLS support because that creates a circular dependency
- # between libiconv and gettext
- ECONF_SOURCE="${S}" \
- econf \
- --docdir="\$(datarootdir)/doc/${PF}/html" \
- --disable-nls \
- --enable-shared \
- $(use_enable static-libs static)
-}
-
-multilib_src_install_all() {
- use static-libs || find "${ED}" -name 'lib*.la' -delete
-
- # we need to rename our copies #503162
- cd "${ED}"/usr/share/man || die
- local f
- for f in man*/*.[0-9] ; do
- mv "${f}" "${f%/*}/${PN}-${f#*/}" || die
- done
-}
diff --git a/dev-libs/libiconv/libiconv-1.17.ebuild b/dev-libs/libiconv/libiconv-1.17.ebuild
new file mode 100644
index 000000000000..83b6a42dc1c7
--- /dev/null
+++ b/dev-libs/libiconv/libiconv-1.17.ebuild
@@ -0,0 +1,52 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit multilib-minimal
+
+DESCRIPTION="GNU charset conversion library for libc which doesn't implement it"
+HOMEPAGE="https://www.gnu.org/software/libiconv/"
+SRC_URI="mirror://gnu/libiconv/${P}.tar.gz"
+
+LICENSE="LGPL-2.1+ GPL-3+"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm ~arm64 ~hppa ~ia64 ~m68k ~mips ppc ~ppc64 ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+IUSE="prefix static-libs"
+
+DEPEND="!sys-libs/glibc
+ !sys-libs/musl"
+RDEPEND="${DEPEND}"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-1.16-fix-link-install.patch"
+)
+
+multilib_src_configure() {
+ if use prefix ; then
+ # In Prefix we want to have the same header declaration on every
+ # platform, so make configure find that it should do
+ # "const char * *inbuf"
+ export am_cv_func_iconv=no
+ fi
+
+ # Disable NLS support because that creates a circular dependency
+ # between libiconv and gettext
+ ECONF_SOURCE="${S}" \
+ econf \
+ --docdir="\$(datarootdir)/doc/${PF}/html" \
+ --disable-nls \
+ --enable-shared \
+ $(use_enable static-libs static)
+}
+
+multilib_src_install_all() {
+ use static-libs || find "${ED}" -name 'lib*.la' -delete
+
+ # We need to rename our copies, bug #503162
+ cd "${ED}"/usr/share/man || die
+ local f
+ for f in man*/*.[0-9] ; do
+ mv "${f}" "${f%/*}/${PN}-${f#*/}" || die
+ done
+}
diff --git a/dev-libs/libiconv/metadata.xml b/dev-libs/libiconv/metadata.xml
index 0e76a9f8c44f..0f8dd121b00e 100644
--- a/dev-libs/libiconv/metadata.xml
+++ b/dev-libs/libiconv/metadata.xml
@@ -1,13 +1,16 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
-<maintainer type="project">
- <email>prefix@gentoo.org</email>
- <name>Prefix Project</name>
-</maintainer>
-<longdescription lang="en">
-libiconv is a standalone package which implements the iconv() related
-functions as glibc already embed. Libraries and applications needs it
-when built in a non-glibc system.
-</longdescription>
+ <maintainer type="project">
+ <email>prefix@gentoo.org</email>
+ <name>Prefix Project</name>
+ </maintainer>
+ <longdescription lang="en">
+ libiconv is a standalone package which implements the iconv() related
+ functions as glibc already embed. Libraries and applications needs it
+ when built in a non-glibc system.
+ </longdescription>
+ <upstream>
+ <remote-id type="savannah">libiconv</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/dev-libs/libindicate/files/libindicate-0.6.1-no-mono.patch b/dev-libs/libindicate/files/libindicate-0.6.1-no-mono.patch
deleted file mode 100644
index 1743f861f4ba..000000000000
--- a/dev-libs/libindicate/files/libindicate-0.6.1-no-mono.patch
+++ /dev/null
@@ -1,78 +0,0 @@
-Temporary patch to disable mono until new gtk-sharp is in tree wrt bug #382491
-
---- a/bindings/Makefile.am
-+++ b/bindings/Makefile.am
-@@ -1,9 +1,5 @@
- SUBDIRS =
-
--if HAS_MONO
--SUBDIRS += mono
--endif
--
- if HAS_PYTHON
- SUBDIRS += python
- endif
---- a/configure.ac
-+++ b/configure.ac
-@@ -124,61 +124,6 @@
- AC_PATH_PROG([VALA_API_GEN], [vapigen])
-
- ###########################
--# Check for Mono support
--###########################
--
--MONO_REQUIRED_VERSION=1.0
--PKG_CHECK_MODULES(MONO_DEPENDENCY, mono >= $MONO_REQUIRED_VERSION, has_mono=true, has_mono=false)
--
--AC_PATH_PROG(AL, al, no)
--if test "x$AL" = "xno" ; then
-- AC_MSG_NOTICE([No al tool found. You need to install Mono.])
--fi
--
--if test "x$has_mono" = "xtrue" ; then
-- GENERATED_SOURCES=generated/*.cs
-- AC_PATH_PROG(RUNTIME, mono, no)
--
-- if test "x$RUNTIME" != "no" ; then
-- RUNTIME=mono
-- fi
--
-- AC_PATH_PROG(CSC, gmcs, no)
-- LIB_PREFIX=.so
-- LIB_SUFFIX=
--fi
--
--if test "x$CSC" = "xno" ; then
-- AC_MSG_NOTICE([No Mono compiler found.])
--fi
--
--AC_PATH_PROG(GACUTIL, gacutil, no)
--if test "x$GACUTIL" = "xno" ; then
-- AC_MSG_NOTICE([No gacutil tool found])
--fi
--
--AC_SUBST(RUNTIME)
--AC_SUBST(CSC)
--AC_SUBST(GACUTIL)
--AC_SUBST(LIB_PREFIX)
--AC_SUBST(LIB_SUFFIX)
--AC_SUBST(GENERATED_SOURCES)
--
--GLIB_SHARP_REQ_VERSION=2.12.1
--GTK_SHARP_REQ_VERSION=2.12
--PKG_CHECK_MODULES(GTK_SHARP, gtk-sharp-2.0 >= $GTK_SHARP_REQ_VERSION, has_gtksharp=true, has_gtksharp=false)
--AC_SUBST(GTK_SHARP_LIBS)
--AC_SUBST(GTK_SHARP_CFLAGS)
--
--PKG_CHECK_MODULES(GAPI, gapi-2.0 >= $GLIB_SHARP_REQ_VERSION, has_gapi=true, has_gapi=false)
--AC_PATH_PROG(GAPI_PARSER, gapi2-parser, no)
--AC_SUBST(GAPI_PARSER)
--AC_PATH_PROG(GAPI_CODEGEN, gapi2-codegen, no)
--AC_SUBST(GAPI_CODEGEN)
--AC_PATH_PROG(GAPI_FIXUP, gapi2-fixup, no)
--AC_SUBST(GAPI_FIXUP)
--
--###########################
- # Check for Python support
- ###########################
-
diff --git a/dev-libs/libindicate/files/libindicate-12.10.1-autotools.patch b/dev-libs/libindicate/files/libindicate-12.10.1-autotools.patch
new file mode 100644
index 000000000000..ef84aab8cd94
--- /dev/null
+++ b/dev-libs/libindicate/files/libindicate-12.10.1-autotools.patch
@@ -0,0 +1,151 @@
+- Temporary patch to disable mono until new gtk-sharp is in tree wrt bug #382491
+- fix parallel install issue #469032
+- remove -Werror
+- use VAPIGEN from vala.eclass
+
+--- a/bindings/Makefile.am
++++ b/bindings/Makefile.am
+@@ -1,9 +1,5 @@
+ SUBDIRS =
+
+-if HAS_MONO
+-SUBDIRS += mono
+-endif
+-
+ if HAS_PYTHON
+ SUBDIRS += python
+ endif
+--- a/configure.ac
++++ b/configure.ac
+@@ -3,7 +3,7 @@
+
+ AC_PREREQ(2.53)
+
+-AM_CONFIG_HEADER(config.h)
++AC_CONFIG_HEADERS(config.h)
+ AM_INIT_AUTOMAKE(libindicate, 12.10.1)
+
+ AM_MAINTAINER_MODE
+@@ -134,62 +134,7 @@
+ # Vala API Generation
+ ###########################
+
+-AC_PATH_PROG([VALA_API_GEN], [vapigen])
+-
+-###########################
+-# Check for Mono support
+-###########################
+-
+-MONO_REQUIRED_VERSION=1.0
+-PKG_CHECK_MODULES(MONO_DEPENDENCY, mono >= $MONO_REQUIRED_VERSION, has_mono=true, has_mono=false)
+-
+-AC_PATH_PROG(AL, al, no)
+-if test "x$AL" = "xno" ; then
+- AC_MSG_NOTICE([No al tool found. You need to install Mono.])
+-fi
+-
+-if test "x$has_mono" = "xtrue" ; then
+- GENERATED_SOURCES=generated/*.cs
+- AC_PATH_PROG(RUNTIME, mono, no)
+-
+- if test "x$RUNTIME" != "no" ; then
+- RUNTIME=mono
+- fi
+-
+- AC_PATH_PROG(CSC, gmcs, no)
+- LIB_PREFIX=.so
+- LIB_SUFFIX=
+-fi
+-
+-if test "x$CSC" = "xno" ; then
+- AC_MSG_NOTICE([No Mono compiler found.])
+-fi
+-
+-AC_PATH_PROG(GACUTIL, gacutil, no)
+-if test "x$GACUTIL" = "xno" ; then
+- AC_MSG_NOTICE([No gacutil tool found])
+-fi
+-
+-AC_SUBST(RUNTIME)
+-AC_SUBST(CSC)
+-AC_SUBST(GACUTIL)
+-AC_SUBST(LIB_PREFIX)
+-AC_SUBST(LIB_SUFFIX)
+-AC_SUBST(GENERATED_SOURCES)
+-
+-GLIB_SHARP_REQ_VERSION=2.12.1
+-GTK_SHARP_REQ_VERSION=2.12
+-PKG_CHECK_MODULES(GTK_SHARP, gtk-sharp-2.0 >= $GTK_SHARP_REQ_VERSION, has_gtksharp=true, has_gtksharp=false)
+-AC_SUBST(GTK_SHARP_LIBS)
+-AC_SUBST(GTK_SHARP_CFLAGS)
+-
+-PKG_CHECK_MODULES(GAPI, gapi-2.0 >= $GLIB_SHARP_REQ_VERSION, has_gapi=true, has_gapi=false)
+-AC_PATH_PROG(GAPI_PARSER, gapi2-parser, no)
+-AC_SUBST(GAPI_PARSER)
+-AC_PATH_PROG(GAPI_CODEGEN, gapi2-codegen, no)
+-AC_SUBST(GAPI_CODEGEN)
+-AC_PATH_PROG(GAPI_FIXUP, gapi2-fixup, no)
+-AC_SUBST(GAPI_FIXUP)
++AC_PATH_PROG([VAPIGEN], [vapigen])
+
+ ###########################
+ # Check for Python support
+--- a/libindicate/Makefile.am
++++ b/libindicate/Makefile.am
+@@ -74,7 +74,7 @@
+ libindicate_la_CFLAGS = \
+ $(LIBINDICATE_CFLAGS) \
+ $(COVERAGE_CFLAGS) \
+- -Wall -Werror
++ -Wall
+
+ libindicate_la_LIBADD = \
+ $(LIBINDICATE_LIBS)
+@@ -173,7 +173,7 @@
+ vapi_DATA = Indicate-0.7.vapi
+
+ Indicate-0.7.vapi: Indicate-0.7.gir
+- $(VALA_API_GEN) --library=Indicate-0.7 \
++ $(VAPIGEN) --library=Indicate-0.7 \
+ --pkg Dbusmenu-0.4 \
+ $<
+
+--- a/libindicate-gtk/Makefile.am
++++ b/libindicate-gtk/Makefile.am
+@@ -26,8 +26,7 @@
+ indicator.h \
+ listener.h
+
+-libindicate_gtkinclude_HEADERS = \
+- $(indicate_gtk_headers)
++libindicate_gtkinclude_HEADERS =
+
+ libindicate_gtk_la_SOURCES = \
+ $(indicate_gtk_headers) \
+@@ -43,7 +42,7 @@
+ libindicate_gtk_la_CFLAGS = \
+ $(COVERAGE_CFLAGS) \
+ -I $(top_srcdir) \
+- -Wall -Werror \
++ -Wall \
+ $(LIBINDICATEGTK_CFLAGS)
+
+ libindicate_gtk_la_LIBADD = \
+@@ -58,7 +57,7 @@
+ libindicate_gtk3_la_CFLAGS = $(libindicate_gtk_la_CFLAGS)
+ libindicate_gtk3_la_LDFLAGS = $(libindicate_gtk_la_LDFLAGS)
+ libindicate_gtk3_la_SOURCES = $(libindicate_gtk_la_SOURCES)
+-libindicate_gtk3include_HEADERS = $(libindicate_gtkinclude_HEADERS)
++libindicate_gtk3include_HEADERS = $(indicate_gtk_headers)
+ libindicate_gtk3includedir = $(libindicate_gtkincludedir)
+
+ pkgconfig_DATA = indicate-gtk$(VER)-0.7.pc
+@@ -139,7 +138,7 @@
+ vapi_DATA = IndicateGtk$(VER)-0.7.vapi
+
+ IndicateGtk$(VER)-0.7.vapi: IndicateGtk$(VER)-0.7.tmp.gir Makefile.am
+- $(VALA_API_GEN) --library=IndicateGtk$(VER)-0.7 \
++ $(VAPIGEN) --library=IndicateGtk$(VER)-0.7 \
+ --pkg $(GTKVALA) \
+ --pkg Dbusmenu-0.4 \
+ --pkg Indicate-0.7 \
diff --git a/dev-libs/libindicate/files/libindicate-12.10.1-tests-werror.patch b/dev-libs/libindicate/files/libindicate-12.10.1-tests-werror.patch
new file mode 100644
index 000000000000..1f669dbc5ec5
--- /dev/null
+++ b/dev-libs/libindicate/files/libindicate-12.10.1-tests-werror.patch
@@ -0,0 +1,47 @@
+--- a/examples/Makefile.am
++++ b/examples/Makefile.am
+@@ -20,7 +20,7 @@ indicate_and_crash_SOURCES = \
+
+ indicate_and_crash_CFLAGS = \
+ -I $(srcdir)/.. \
+- -Wall -Werror \
++ -Wall \
+ $(LIBINDICATE_CFLAGS)
+
+ indicate_and_crash_LDADD = \
+@@ -32,7 +32,7 @@ indicate_alot_SOURCES = \
+
+ indicate_alot_CFLAGS = \
+ -I $(srcdir)/.. \
+- -Wall -Werror \
++ -Wall \
+ $(LIBINDICATE_CFLAGS)
+
+ indicate_alot_LDADD = \
+@@ -44,7 +44,7 @@ listen_and_print_SOURCES = \
+
+ listen_and_print_CFLAGS = \
+ -I $(srcdir)/.. \
+- -Wall -Werror \
++ -Wall \
+ $(LIBINDICATE_CFLAGS) \
+ $(LIBINDICATEGTK_CFLAGS)
+
+@@ -59,7 +59,7 @@ im_client_SOURCES = \
+
+ im_client_CFLAGS = \
+ -I $(srcdir)/.. \
+- -Wall -Werror \
++ -Wall \
+ $(LIBINDICATE_CFLAGS) \
+ $(LIBINDICATEGTK_CFLAGS)
+
+@@ -74,7 +74,7 @@ show_hide_server_SOURCES = \
+
+ show_hide_server_CFLAGS = \
+ -I $(srcdir)/.. \
+- -Wall -Werror \
++ -Wall \
+ $(LIBINDICATE_CFLAGS)
+
+ show_hide_server_LDADD = \
diff --git a/dev-libs/libindicate/files/libindicate-12.10.1-werror.patch b/dev-libs/libindicate/files/libindicate-12.10.1-werror.patch
deleted file mode 100644
index 9a330caac03c..000000000000
--- a/dev-libs/libindicate/files/libindicate-12.10.1-werror.patch
+++ /dev/null
@@ -1,13 +0,0 @@
---- a/libindicate-gtk/Makefile.am
-+++ b/libindicate-gtk/Makefile.am
-@@ -45,3 +45,3 @@ libindicate_gtk_la_CFLAGS = \
- -I $(top_srcdir) \
-- -Wall -Werror \
-+ -Wall \
- $(LIBINDICATEGTK_CFLAGS)
---- a/libindicate/Makefile.am
-+++ b/libindicate/Makefile.am
-@@ -76,3 +76,3 @@ libindicate_la_CFLAGS = \
- $(COVERAGE_CFLAGS) \
-- -Wall -Werror
-+ -Wall
diff --git a/dev-libs/libindicate/libindicate-12.10.1-r3.ebuild b/dev-libs/libindicate/libindicate-12.10.1-r3.ebuild
deleted file mode 100644
index d0c6402d4d7d..000000000000
--- a/dev-libs/libindicate/libindicate-12.10.1-r3.ebuild
+++ /dev/null
@@ -1,77 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-VALA_MIN_API_VERSION="0.16"
-VALA_USE_DEPEND="vapigen"
-inherit autotools flag-o-matic vala xdg-utils
-
-DESCRIPTION="Library to raise flags on DBus for other components of the desktop"
-HOMEPAGE="https://launchpad.net/libindicate"
-SRC_URI="https://launchpad.net/${PN}/${PV%.*}/${PV}/+download/${P}.tar.gz"
-
-LICENSE="LGPL-2.1 LGPL-3"
-SLOT="3"
-KEYWORDS="~alpha amd64 arm ~hppa ~mips ~ppc ~ppc64 ~riscv sparc x86"
-IUSE="gtk +introspection"
-
-RESTRICT="test" # consequence of the -no-mono.patch
-
-RDEPEND="
- dev-libs/dbus-glib
- dev-libs/glib:2
- dev-libs/libdbusmenu[introspection?]
- dev-libs/libxml2
- gtk? (
- dev-libs/libdbusmenu[gtk3]
- x11-libs/gtk+:3
- )
- introspection? ( >=dev-libs/gobject-introspection-1 )
-"
-DEPEND="${RDEPEND}
- $(vala_depend)
- app-text/gnome-doc-utils
- dev-util/gtk-doc-am
- gnome-base/gnome-common
- virtual/pkgconfig
-"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-0.6.1-no-mono.patch
- "${FILESDIR}"/${PN}-12.10.1-werror.patch
-)
-
-src_prepare() {
- default
- xdg_environment_reset
- vala_src_prepare
-
- sed -i \
- -e "s:vapigen:vapigen-$(vala_best_api_version):" \
- -e "s/AM_CONFIG_HEADER/AC_CONFIG_HEADERS/" \
- configure.ac || die
-
- eautoreconf
-}
-
-src_configure() {
- append-flags -Wno-error
-
- # python bindings are only for GTK+-2.x
- econf \
- --disable-static \
- $(use_enable gtk) \
- $(use_enable introspection) \
- --disable-python \
- --disable-scrollkeeper \
- --with-gtk=3
-}
-
-src_install() {
- # work around failing parallel installation (-j1)
- # until a better fix is available. (bug #469032)
- emake -j1 DESTDIR="${D}" install
- einstalldocs
- find "${D}" -name '*.la' -delete || die
-}
diff --git a/dev-libs/libindicate/libindicate-12.10.1-r4.ebuild b/dev-libs/libindicate/libindicate-12.10.1-r4.ebuild
new file mode 100644
index 000000000000..f4d947713309
--- /dev/null
+++ b/dev-libs/libindicate/libindicate-12.10.1-r4.ebuild
@@ -0,0 +1,71 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+VALA_USE_DEPEND="vapigen"
+
+inherit autotools vala
+
+DESCRIPTION="Library to raise flags on DBus for other components of the desktop"
+HOMEPAGE="https://launchpad.net/libindicate"
+SRC_URI="https://launchpad.net/${PN}/${PV%.*}/${PV}/+download/${P}.tar.gz"
+
+LICENSE="LGPL-2.1 LGPL-3"
+SLOT="3"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~mips ppc ppc64 ~riscv sparc x86"
+IUSE="gtk +introspection test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ dev-libs/dbus-glib
+ dev-libs/glib:2
+ dev-libs/libdbusmenu[introspection?]
+ dev-libs/libxml2
+ gtk? (
+ dev-libs/libdbusmenu[gtk3]
+ x11-libs/gtk+:3
+ )
+ introspection? ( >=dev-libs/gobject-introspection-1 )
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ app-text/gnome-doc-utils
+ dev-build/gtk-doc-am
+ gnome-base/gnome-common
+ virtual/pkgconfig
+ $(vala_depend)
+ test? ( dev-util/dbus-test-runner )
+"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-autotools.patch
+ "${FILESDIR}"/${PN}-12.10.1-tests-werror.patch
+)
+
+src_prepare() {
+ default
+ eautoreconf
+}
+
+src_configure() {
+ vala_setup
+
+ # python bindings are only for GTK+-2.x
+ econf \
+ $(use_enable gtk) \
+ $(use_enable introspection) \
+ $(use_enable test tests) \
+ --disable-python \
+ --disable-scrollkeeper \
+ --with-gtk=3
+}
+
+src_test() {
+ emake check XFAIL_TESTS="test-interests test-interests-multi test-max-indicators test-indicator-display test-indicator-display-half"
+}
+
+src_install() {
+ default
+ find "${ED}" -name '*.la' -delete || die
+}
diff --git a/dev-libs/libindicator/libindicator-12.10.1-r301.ebuild b/dev-libs/libindicator/libindicator-12.10.1-r301.ebuild
index 5b41cde239d7..ffc9b7d517bd 100644
--- a/dev-libs/libindicator/libindicator-12.10.1-r301.ebuild
+++ b/dev-libs/libindicator/libindicator-12.10.1-r301.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
@@ -11,7 +11,7 @@ SRC_URI="https://launchpad.net/${PN}/${PV%.*}/${PV}/+download/${P}.tar.gz"
LICENSE="GPL-3"
SLOT="3"
-KEYWORDS="~alpha amd64 ~arm arm64 ~ia64 ~ppc64 ~riscv x86"
+KEYWORDS="~alpha amd64 arm arm64 ~ia64 ~loong ppc ppc64 ~riscv x86"
IUSE="test"
RESTRICT="!test? ( test )"
diff --git a/dev-libs/libinput/Manifest b/dev-libs/libinput/Manifest
index e530aeac9f58..93761637c86b 100644
--- a/dev-libs/libinput/Manifest
+++ b/dev-libs/libinput/Manifest
@@ -1 +1 @@
-DIST libinput-1.19.3.tar.xz 655164 BLAKE2B a07d91603a3d4e759aad25ee46b11dbee47eb013a2361f1b70acd616fee0ed9660e6fa8773948d6acf3686179fd7aaf76bf8285f3dc3137a4b1b605ec0e4d6d2 SHA512 f4b776d0da78c687ba21b430a04941ac6b43f68970c82ec9f7360358fdea5ed6a873948ce66a25bcdd64d4b95fa4bf705cc24dbc25c7c0f5fd2d0efbd763f298
+DIST libinput-1.25.0.tar.bz2 812020 BLAKE2B 03034b6315c281d7eee6a7bc1f4c799c2c7f74add7a195501de75feb6b98fa8dc601b7573da5586b2b2882c3cfaddfad62f5c1b836402dce1f463bdb2884945d SHA512 b9dc3f3b5f34c82399dfb7ccb5f65d19a596c415f0198b39e3f360f5b87c42124a5355c8d9f6f42cc9ae2d4f9a90fe5da6260136fa83d278048392f93381a84b
diff --git a/dev-libs/libinput/libinput-1.19.3.ebuild b/dev-libs/libinput/libinput-1.19.3.ebuild
deleted file mode 100644
index eb86ae8388e5..000000000000
--- a/dev-libs/libinput/libinput-1.19.3.ebuild
+++ /dev/null
@@ -1,88 +0,0 @@
-# Copyright 2014-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-PYTHON_COMPAT=( python3_{8..10} )
-
-inherit meson python-any-r1 udev
-
-DESCRIPTION="Library to handle input devices in Wayland"
-HOMEPAGE="https://www.freedesktop.org/wiki/Software/libinput/ https://gitlab.freedesktop.org/libinput/libinput"
-SRC_URI="https://www.freedesktop.org/software/${PN}/${P}.tar.xz"
-
-LICENSE="MIT"
-SLOT="0/10"
-[[ "$(ver_cut 3)" -gt 900 ]] || \
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~m68k ppc ppc64 ~riscv ~s390 sparc x86"
-IUSE="doc input_devices_wacom test"
-RESTRICT="!test? ( test )"
-
-BDEPEND="
- virtual/pkgconfig
- doc? (
- $(python_gen_any_dep '
- dev-python/commonmark[${PYTHON_USEDEP}]
- dev-python/recommonmark[${PYTHON_USEDEP}]
- dev-python/sphinx[${PYTHON_USEDEP}]
- >=dev-python/sphinx_rtd_theme-0.2.4[${PYTHON_USEDEP}]
- ')
- >=app-doc/doxygen-1.8.3
- >=media-gfx/graphviz-2.38.0
- )
-"
-# test? ( dev-util/valgrind )
-RDEPEND="
- input_devices_wacom? ( >=dev-libs/libwacom-0.27 )
- >=dev-libs/libevdev-1.9.902
- >=sys-libs/mtdev-1.1
- virtual/libudev:=
- virtual/udev
-"
-DEPEND="${RDEPEND}
- test? ( >=dev-libs/check-0.9.10 )"
-
-python_check_deps() {
- has_version -b "dev-python/commonmark[${PYTHON_USEDEP}]" && \
- has_version -b "dev-python/recommonmark[${PYTHON_USEDEP}]" && \
- has_version -b "dev-python/sphinx[${PYTHON_USEDEP}]" && \
- has_version -b ">=dev-python/sphinx_rtd_theme-0.2.4[${PYTHON_USEDEP}]"
-}
-
-pkg_setup() {
- use doc && python-any-r1_pkg_setup
-}
-
-src_prepare() {
- default
- sed "s@, '-Werror'@@" -i meson.build || die #744250
-}
-
-src_configure() {
- # gui can be built but will not be installed
- local emesonargs=(
- -Ddebug-gui=false
- $(meson_use doc documentation)
- $(meson_use input_devices_wacom libwacom)
- $(meson_use test tests)
- -Dudev-dir="${EPREFIX}$(get_udevdir)"
- )
- meson_src_configure
-}
-
-src_install() {
- meson_src_install
- if use doc ; then
- docinto html
- dodoc -r "${BUILD_DIR}"/Documentation/.
- fi
-}
-
-pkg_postinst() {
- pkgname="dev-python/python-libevdev"
- if [[ -z "${REPLACING_VERSIONS}" ]] && ! has_version "${pkgname}" ; then
- einfo "${pkgname} must be installed to use the"
- einfo "libinput measure and libinput replay tools."
- fi
-
- udevadm hwdb --update --root="${ROOT}"
-}
diff --git a/dev-libs/libinput/libinput-1.25.0.ebuild b/dev-libs/libinput/libinput-1.25.0.ebuild
new file mode 100644
index 000000000000..00fdfcb82be1
--- /dev/null
+++ b/dev-libs/libinput/libinput-1.25.0.ebuild
@@ -0,0 +1,102 @@
+# Copyright 2014-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..12} )
+inherit meson optfeature python-any-r1 udev
+
+DESCRIPTION="Library to handle input devices in Wayland"
+HOMEPAGE="https://www.freedesktop.org/wiki/Software/libinput/ https://gitlab.freedesktop.org/libinput/libinput"
+SRC_URI="https://gitlab.freedesktop.org/${PN}/${PN}/-/archive/${PV}/${P}.tar.bz2"
+
+LICENSE="MIT"
+SLOT="0/10"
+if [[ $(ver_cut 3) -lt 900 ]] ; then
+ KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
+fi
+IUSE="doc input_devices_wacom test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ input_devices_wacom? ( >=dev-libs/libwacom-0.27:= )
+ >=dev-libs/libevdev-1.9.902
+ >=sys-libs/mtdev-1.1
+ virtual/libudev:=
+ virtual/udev
+"
+DEPEND="
+ ${RDEPEND}
+ test? ( >=dev-libs/check-0.9.10 )
+"
+BDEPEND="
+ virtual/pkgconfig
+ doc? (
+ $(python_gen_any_dep '
+ dev-python/commonmark[${PYTHON_USEDEP}]
+ dev-python/recommonmark[${PYTHON_USEDEP}]
+ dev-python/sphinx[${PYTHON_USEDEP}]
+ >=dev-python/sphinx-rtd-theme-0.2.4[${PYTHON_USEDEP}]
+ ')
+ >=app-text/doxygen-1.8.3
+ >=media-gfx/graphviz-2.38.0
+ )
+ test? (
+ $(python_gen_any_dep '
+ dev-python/pytest[${PYTHON_USEDEP}]
+ dev-python/pytest-xdist[${PYTHON_USEDEP}]
+ ')
+ )
+"
+# test? ( dev-debug/valgrind )
+
+python_check_deps() {
+ if use doc; then
+ python_has_version \
+ "dev-python/commonmark[${PYTHON_USEDEP}]" \
+ "dev-python/recommonmark[${PYTHON_USEDEP}]" \
+ "dev-python/sphinx[${PYTHON_USEDEP}]" \
+ ">=dev-python/sphinx-rtd-theme-0.2.4[${PYTHON_USEDEP}]" \
+ || return
+ fi
+ if use test; then
+ python_has_version \
+ "dev-python/pytest[${PYTHON_USEDEP}]" \
+ "dev-python/pytest-xdist[${PYTHON_USEDEP}]" \
+ || return
+ fi
+}
+
+src_prepare() {
+ default
+ sed "s@, '-Werror'@@" -i meson.build || die #744250
+}
+
+src_configure() {
+ # gui can be built but will not be installed
+ local emesonargs=(
+ -Ddebug-gui=false
+ $(meson_use doc documentation)
+ $(meson_use input_devices_wacom libwacom)
+ $(meson_use test tests)
+ -Dudev-dir="${EPREFIX}$(get_udevdir)"
+ )
+ meson_src_configure
+}
+
+src_install() {
+ meson_src_install
+ if use doc ; then
+ docinto html
+ dodoc -r "${BUILD_DIR}"/Documentation/.
+ fi
+}
+
+pkg_postinst() {
+ optfeature "measure and replay tools" dev-python/libevdev
+ udev_reload
+}
+
+pkg_postrm() {
+ udev_reload
+}
diff --git a/dev-libs/libinput/metadata.xml b/dev-libs/libinput/metadata.xml
index c313e0866830..8616f51e8744 100644
--- a/dev-libs/libinput/metadata.xml
+++ b/dev-libs/libinput/metadata.xml
@@ -1,16 +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>x11@gentoo.org</email>
- <name>X11</name>
-</maintainer>
-<maintainer type="person">
- <email>polynomial-c@gentoo.org</email>
- <name>Lars Wendler</name>
-</maintainer>
+ <maintainer type="project">
+ <email>x11@gentoo.org</email>
+ <name>X11</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="freedesktop-gitlab">libinput/libinput</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/dev-libs/libintl/Manifest b/dev-libs/libintl/Manifest
index 61bb66f324f9..fe3a242e1a81 100644
--- a/dev-libs/libintl/Manifest
+++ b/dev-libs/libintl/Manifest
@@ -1 +1,6 @@
-DIST gettext-0.21.tar.gz 24181849 BLAKE2B 2eae99d0916b00b2af6fbc6bf7e309076519a10fea16cd49e7aa29fe8aec1ee7c784c6277281b764dc4abacf400cd3fe461129586303c8cd337db15c76cb4b87 SHA512 bbe590c5dd3580c75bf30ff768da99a88eb8d466ec1ac9eea20be4cab4357ecf72448e6b81b47425e39d50fa6320ba426632914d7898dfebb4f159abc39c31d1
+DIST gettext-0.21.1.tar.xz 10054564 BLAKE2B e994924284b3fd5b3e3bf59d4bf43eb30c9b21cc213dc3b98616b4a9fc321c90911d94d314f323cfffd0d2c3e9371b5b8f7985b9a785adc61617dd042b6f4df5 SHA512 61e93bc9876effd3ca1c4e64ff6ba5bd84b24951ec2cc6f40a0e3248410e60f887552f29ca1f70541fb5524f6a4e8191fed288713c3e280e18922dd5bff1a2c9
+DIST gettext-0.21.1.tar.xz.sig 833 BLAKE2B f673436d315e972f9e110a1b5c8d1b2f20a32fc1b7ce027fcd3bc2fe7a81af183fb8db744cbed1a8c3a6ce1a13d55e19a8e8829fc944960fbfc7efcd9aaed91c SHA512 fba912830c57d0616fb66cf81da0cb7a3ab1e27497c45daa63249d3c9f85182a4f42dfeb1591d8f31c2a340ba0c519f04fd2f05429d1cf26a3ea316d047993d0
+DIST gettext-0.22.4.tar.xz 10255384 BLAKE2B 3f93aa5aef8e40d2e01acaa5aeed11efefd0de43ea26d084a0b9e743019685f7584d8e1bf05c1fd5772a5576d21ee1f052b81366f52c7827b6d14bd4d9890edc SHA512 0f3620b1621b85b3df9e372885c2f040c8a91ec0b2d4e16978459a8a2a152318a0e6f5fefb8d971bad80c437e7ee8ac8c24edc4de0ab86e729528b8a2ac62c51
+DIST gettext-0.22.4.tar.xz.sig 833 BLAKE2B fbb00b53c807934a11263c120861971fffebbd39689eda1fae0fb956476e69c3fb6799440cbf3acfcf43ecea2c134ea4dadb95becbac98badb43e546f3c8e9fb SHA512 a774c98de643b1ea3df645e451878652c2baa5cd786642aa457e6d5f5c44787cb1231eb15ad4390acdf314822633acaffffaa853eb69cbbc72c3b79b547a8854
+DIST gettext-0.22.5.tar.xz 10270724 BLAKE2B 18c383518f5a78b5c04cf76de976524da2a87a892a30d6386778bb4c7dd526ffc3f14f484906c5d3a513b7caf76ea560e53962b325e552182d6940055d798f24 SHA512 a60999bb9d09441f138214d87acb7e59aab81e765bb9253a77c54902681c5de164a5a04de2a9778dfb479dbdefaab2d5de1fbaf6095c555c43e7e9fd7a1c09bd
+DIST gettext-0.22.5.tar.xz.sig 833 BLAKE2B bb3e5ced34ab109f498347a3567103fe3491f69addb4a5ce25bf854fae1a11340eef1a9826b369d2416b53e5f7065aeebdb1609615f064cf7fb4151e82a5b4e5 SHA512 87f1df69206702be928b09a59a19ae4c23072cbc78ea16e76bfc4c929de76a3c0bb8e4eb2c3100c6e7b3b51d23e3b0e484c7e1d576ba7e25fd887934dc9ed8f7
diff --git a/dev-libs/libintl/files/libintl-0.21.1-java-autoconf.patch b/dev-libs/libintl/files/libintl-0.21.1-java-autoconf.patch
new file mode 100644
index 000000000000..a7471ac724c9
--- /dev/null
+++ b/dev-libs/libintl/files/libintl-0.21.1-java-autoconf.patch
@@ -0,0 +1,100 @@
+From b8fc039e4266570f5af5ee1c2cd201369a766f1e Mon Sep 17 00:00:00 2001
+From: Bruno Haible <bruno@clisp.org>
+Date: Tue, 11 Oct 2022 01:54:44 +0200
+Subject: [PATCH] Avoid warnings during configure execution with
+ --disable-java.
+
+Reported by Sam James <sam@cmpct.info>
+in <https://savannah.gnu.org/bugs/?63193>.
+
+* gettext-runtime/configure.ac: Expand gt_JAVACOMP_DISABLED inline.
+* gettext-tools/configure.ac: Expand gt_JAVAEXEC_DISABLED and
+gt_JAVACOMP_DISABLED inline.
+--- a/gettext-runtime/configure.ac
++++ b/gettext-runtime/configure.ac
+@@ -42,7 +42,16 @@ AS_IF([test "$JAVA_CHOICE" != no], [
+ BUILDJAVA=no
+ fi
+ ], [
+- gt_JAVACOMP_DISABLED
++ CONF_JAVAC=
++ HAVE_JAVAC_ENVVAR=
++ HAVE_GCJ_C=
++ HAVE_JAVAC=
++ HAVE_JIKES=
++ AC_SUBST([CONF_JAVAC])
++ AC_SUBST([HAVE_JAVAC_ENVVAR])
++ AC_SUBST([HAVE_GCJ_C])
++ AC_SUBST([HAVE_JAVAC])
++ AC_SUBST([HAVE_JIKES])
+ JAR=
+ BUILDJAVA=no
+ ])
+--- a/gettext-tools/configure.ac
++++ b/gettext-tools/configure.ac
+@@ -43,8 +43,28 @@ AS_IF([test "$JAVA_CHOICE" != no], [
+ BUILDJAVA=no
+ fi
+ ], [
+- gt_JAVAEXEC_DISABLED
+- gt_JAVACOMP_DISABLED
++ CONF_JAVA=
++ HAVE_JAVA_ENVVAR=
++ HAVE_GIJ=
++ HAVE_JAVA=
++ HAVE_JRE=
++ HAVE_JVIEW=
++ AC_SUBST([CONF_JAVA])
++ AC_SUBST([HAVE_JAVA_ENVVAR])
++ AC_SUBST([HAVE_GIJ])
++ AC_SUBST([HAVE_JAVA])
++ AC_SUBST([HAVE_JRE])
++ AC_SUBST([HAVE_JVIEW])
++ CONF_JAVAC=
++ HAVE_JAVAC_ENVVAR=
++ HAVE_GCJ_C=
++ HAVE_JAVAC=
++ HAVE_JIKES=
++ AC_SUBST([CONF_JAVAC])
++ AC_SUBST([HAVE_JAVAC_ENVVAR])
++ AC_SUBST([HAVE_GCJ_C])
++ AC_SUBST([HAVE_JAVAC])
++ AC_SUBST([HAVE_JIKES])
+ JAR=
+ BUILDJAVA=no
+ ])
+diff --git a/gettext-runtime/configure b/gettext-runtime/configure
+index 5e2d593..cf579ff 100755
+--- a/gettext-runtime/configure
++++ b/gettext-runtime/configure
+@@ -7070,7 +7070,11 @@ fi
+
+ else $as_nop
+
+- gt_JAVACOMP_DISABLED
++ CONF_JAVAC=
++ HAVE_JAVAC_ENVVAR=
++ HAVE_GCJ_C=
++ HAVE_JAVAC=
++ HAVE_JIKES=
+ JAR=
+ BUILDJAVA=no
+
+diff --git a/gettext-tools/configure b/gettext-tools/configure
+index f897bc3..3af54cd 100755
+--- a/gettext-tools/configure
++++ b/gettext-tools/configure
+@@ -8718,8 +8718,11 @@ fi
+
+ else $as_nop
+
+- gt_JAVAEXEC_DISABLED
+- gt_JAVACOMP_DISABLED
++ CONF_JAVAC=
++ HAVE_JAVAC_ENVVAR=
++ HAVE_GCJ_C=
++ HAVE_JAVAC=
++ HAVE_JIKES=
+ JAR=
+ BUILDJAVA=no
+
diff --git a/dev-libs/libintl/libintl-0.21.1.ebuild b/dev-libs/libintl/libintl-0.21.1.ebuild
new file mode 100644
index 000000000000..dc28c7d29d59
--- /dev/null
+++ b/dev-libs/libintl/libintl-0.21.1.ebuild
@@ -0,0 +1,96 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+# Note: Keep version bumps in sync with sys-devel/gettext.
+
+EAPI=7
+
+MY_P="gettext-${PV}"
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/gettext.asc
+inherit multilib-minimal libtool usr-ldscript verify-sig
+
+DESCRIPTION="the GNU international library (split out of gettext)"
+HOMEPAGE="https://www.gnu.org/software/gettext/"
+SRC_URI="mirror://gnu/gettext/${MY_P}.tar.xz"
+SRC_URI+=" verify-sig? ( mirror://gnu/gettext/${MY_P}.tar.xz.sig )"
+S="${WORKDIR}/${MY_P}/gettext-runtime"
+
+LICENSE="LGPL-2.1+"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~m68k ~mips ppc ppc64 ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+IUSE="static-libs +threads"
+
+DEPEND=">=virtual/libiconv-0-r1[${MULTILIB_USEDEP}]"
+# Block C libraries known to provide libintl.
+RDEPEND="${DEPEND}
+ !sys-libs/glibc
+ !sys-libs/musl
+ !<sys-devel/gettext-0.19.6-r1"
+BDEPEND="verify-sig? ( sec-keys/openpgp-keys-gettext )"
+
+src_prepare() {
+ default
+
+ cd "${WORKDIR}/${MY_P}" || die
+ eapply "${FILESDIR}"/${P}-java-autoconf.patch
+
+ # gettext-0.21.1-java-autoconf.patch changes
+ # gettext-{runtime,tools}/configure.ac and the corresponding
+ # configure scripts. Avoid regenerating other autotools output.
+ touch -c gettext-{runtime,tools}/{aclocal.m4,Makefile.in,config.h.in,configure} || die
+
+ # Makefile.am adds a dependency on gettext-{runtime,tools}/configure.ac
+ touch -c configure || die
+
+ cd "${S}" || die
+
+ # The libtool files are stored higher up, so make sure we run in the
+ # whole tree and not just the subdir we build.
+ elibtoolize "${WORKDIR}"
+}
+
+multilib_src_configure() {
+ local myconf=(
+ --cache-file="${BUILD_DIR}"/config.cache
+
+ # Emacs support is now in a separate package.
+ --without-emacs
+ --without-lispdir
+ # Normally this controls nls behavior in general, but the libintl
+ # subdir is skipped unless this is explicitly set. ugh.
+ --enable-nls
+ # This magic flag enables libintl.
+ --with-included-gettext
+ # The gettext package provides this library.
+ --disable-c++
+ --disable-libasprintf
+ # No Java until someone cares.
+ --disable-java
+
+ $(use_enable static-libs static)
+ $(use_enable threads)
+ )
+ ECONF_SOURCE="${S}" econf "${myconf[@]}"
+}
+
+multilib_src_compile() {
+ # We only need things in the intl/ subdir.
+ emake -C intl
+}
+
+multilib_src_install() {
+ # We only need things in the intl/ subdir.
+ emake DESTDIR="${D}" install -C intl
+
+ gen_usr_ldscript -a intl
+}
+
+multilib_src_install_all() {
+ if ! use static-libs ; then
+ find "${ED}" -type f -name "*.la" -delete || die
+ fi
+
+ rm -r "${ED}"/usr/share/locale || die
+
+ dodoc AUTHORS ChangeLog NEWS README
+}
diff --git a/dev-libs/libintl/libintl-0.21.ebuild b/dev-libs/libintl/libintl-0.21.ebuild
deleted file mode 100644
index bc6709653098..000000000000
--- a/dev-libs/libintl/libintl-0.21.ebuild
+++ /dev/null
@@ -1,80 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-# Note: Keep version bumps in sync with sys-devel/gettext.
-
-EAPI=7
-
-MY_P="gettext-${PV}"
-
-inherit multilib-minimal libtool usr-ldscript
-
-DESCRIPTION="the GNU international library (split out of gettext)"
-HOMEPAGE="https://www.gnu.org/software/gettext/"
-SRC_URI="mirror://gnu/gettext/${MY_P}.tar.gz"
-
-LICENSE="LGPL-2.1+"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~m68k ~mips ppc ppc64 ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris ~x86-winnt"
-IUSE="static-libs +threads"
-
-DEPEND=">=virtual/libiconv-0-r1[${MULTILIB_USEDEP}]"
-# Block C libraries known to provide libintl.
-RDEPEND="${DEPEND}
- !sys-libs/glibc
- !sys-libs/musl
- !<sys-devel/gettext-0.19.6-r1"
-
-S="${WORKDIR}/${MY_P}/gettext-runtime"
-
-src_prepare() {
- default
-
- # The libtool files are stored higher up, so make sure we run in the
- # whole tree and not just the subdir we build.
- elibtoolize "${WORKDIR}"
-}
-
-multilib_src_configure() {
- local myconf=(
- # Emacs support is now in a separate package.
- --without-emacs
- --without-lispdir
- # Normally this controls nls behavior in general, but the libintl
- # subdir is skipped unless this is explicitly set. ugh.
- --enable-nls
- # This magic flag enables libintl.
- --with-included-gettext
- # The gettext package provides this library.
- --disable-c++
- --disable-libasprintf
- # No Java until someone cares.
- --disable-java
-
- $(use_enable static-libs static)
- $(use_enable threads)
- )
- ECONF_SOURCE="${S}" econf "${myconf[@]}"
-}
-
-multilib_src_compile() {
- # We only need things in the intl/ subdir.
- emake -C intl
-}
-
-multilib_src_install() {
- # We only need things in the intl/ subdir.
- emake DESTDIR="${D}" install -C intl
-
- gen_usr_ldscript -a intl
-}
-
-multilib_src_install_all() {
- if ! use static-libs ; then
- find "${ED}" -type f -name "*.la" -delete || die
- fi
-
- rm -r "${ED}"/usr/share/locale || die
-
- dodoc AUTHORS ChangeLog NEWS README
-}
diff --git a/dev-libs/libintl/libintl-0.22.4.ebuild b/dev-libs/libintl/libintl-0.22.4.ebuild
new file mode 100644
index 000000000000..04a709a15046
--- /dev/null
+++ b/dev-libs/libintl/libintl-0.22.4.ebuild
@@ -0,0 +1,99 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+# Note: Keep version bumps in sync with sys-devel/gettext.
+
+EAPI=8
+
+MY_P="gettext-${PV}"
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/gettext.asc
+inherit multilib-minimal libtool usr-ldscript verify-sig
+
+DESCRIPTION="the GNU international library (split out of gettext)"
+HOMEPAGE="https://www.gnu.org/software/gettext/"
+SRC_URI="
+ mirror://gnu/gettext/${MY_P}.tar.xz
+ verify-sig? ( mirror://gnu/gettext/${MY_P}.tar.xz.sig )
+"
+S="${WORKDIR}/${MY_P}/gettext-runtime"
+
+LICENSE="LGPL-2.1+"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~m68k ~mips ppc ppc64 ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+IUSE="static-libs +threads"
+
+DEPEND=">=virtual/libiconv-0-r1[${MULTILIB_USEDEP}]"
+# Block C libraries known to provide libintl.
+RDEPEND="
+ ${DEPEND}
+ !sys-libs/glibc
+ !sys-libs/musl
+ !<sys-devel/gettext-0.19.6-r1
+"
+BDEPEND="verify-sig? ( sec-keys/openpgp-keys-gettext )"
+
+src_prepare() {
+ default
+
+ cd "${WORKDIR}/${MY_P}" || die
+
+ # gettext-0.21.1-java-autoconf.patch changes
+ # gettext-{runtime,tools}/configure.ac and the corresponding
+ # configure scripts. Avoid regenerating other autotools output.
+ #touch -c gettext-{runtime,tools}/{aclocal.m4,Makefile.in,config.h.in,configure} || die
+ # Makefile.am adds a dependency on gettext-{runtime,tools}/configure.ac
+ #touch -c configure || die
+
+ cd "${S}" || die
+
+ # The libtool files are stored higher up, so make sure we run in the
+ # whole tree and not just the subdir we build.
+ elibtoolize "${WORKDIR}"
+}
+
+multilib_src_configure() {
+ local myconf=(
+ --cache-file="${BUILD_DIR}"/config.cache
+
+ # Emacs support is now in a separate package.
+ --without-emacs
+ --without-lispdir
+ # Normally this controls nls behavior in general, but the libintl
+ # subdir is skipped unless this is explicitly set. ugh.
+ --enable-nls
+ # This magic flag enables libintl.
+ --with-included-gettext
+ # The gettext package provides this library.
+ --disable-c++
+ --disable-libasprintf
+ # No Java until someone cares.
+ --disable-java
+
+ $(use_enable static-libs static)
+ $(use_enable threads)
+ )
+
+ ECONF_SOURCE="${S}" econf "${myconf[@]}"
+}
+
+multilib_src_compile() {
+ # We only need things in the intl/ subdir.
+ emake -C intl
+}
+
+multilib_src_install() {
+ # We only need things in the intl/ subdir.
+ emake DESTDIR="${D}" install -C intl
+
+ gen_usr_ldscript -a intl
+}
+
+multilib_src_install_all() {
+ if ! use static-libs ; then
+ find "${ED}" -type f -name "*.la" -delete || die
+ fi
+
+ rm -r "${ED}"/usr/share/locale || die
+
+ dodoc AUTHORS ChangeLog NEWS README
+}
diff --git a/dev-libs/libintl/libintl-0.22.5.ebuild b/dev-libs/libintl/libintl-0.22.5.ebuild
new file mode 100644
index 000000000000..f3330a38b3c0
--- /dev/null
+++ b/dev-libs/libintl/libintl-0.22.5.ebuild
@@ -0,0 +1,107 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+# Note: Keep version bumps in sync with sys-devel/gettext.
+
+EAPI=8
+
+MY_P="gettext-${PV}"
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/gettext.asc
+inherit multilib-minimal libtool usr-ldscript verify-sig
+
+DESCRIPTION="the GNU international library (split out of gettext)"
+HOMEPAGE="https://www.gnu.org/software/gettext/"
+SRC_URI="
+ mirror://gnu/gettext/${MY_P}.tar.xz
+ verify-sig? ( mirror://gnu/gettext/${MY_P}.tar.xz.sig )
+"
+S="${WORKDIR}/${MY_P}/gettext-runtime"
+
+LICENSE="LGPL-2.1+"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+IUSE="static-libs +threads"
+
+DEPEND=">=virtual/libiconv-0-r1[${MULTILIB_USEDEP}]"
+# Block C libraries known to provide libintl.
+RDEPEND="
+ ${DEPEND}
+ !sys-libs/glibc
+ !sys-libs/musl
+ !<sys-devel/gettext-0.19.6-r1
+"
+BDEPEND="verify-sig? ( sec-keys/openpgp-keys-gettext )"
+
+QA_CONFIG_IMPL_DECL_SKIP=(
+ # bug #898570
+ unreachable
+ MIN
+ alignof
+ static_assert
+)
+
+src_prepare() {
+ default
+
+ cd "${WORKDIR}/${MY_P}" || die
+
+ # gettext-0.21.1-java-autoconf.patch changes
+ # gettext-{runtime,tools}/configure.ac and the corresponding
+ # configure scripts. Avoid regenerating other autotools output.
+ #touch -c gettext-{runtime,tools}/{aclocal.m4,Makefile.in,config.h.in,configure} || die
+ # Makefile.am adds a dependency on gettext-{runtime,tools}/configure.ac
+ #touch -c configure || die
+
+ cd "${S}" || die
+
+ # The libtool files are stored higher up, so make sure we run in the
+ # whole tree and not just the subdir we build.
+ elibtoolize "${WORKDIR}"
+}
+
+multilib_src_configure() {
+ local myconf=(
+ --cache-file="${BUILD_DIR}"/config.cache
+
+ # Emacs support is now in a separate package.
+ --without-emacs
+ --without-lispdir
+ # Normally this controls nls behavior in general, but the libintl
+ # subdir is skipped unless this is explicitly set. ugh.
+ --enable-nls
+ # This magic flag enables libintl.
+ --with-included-gettext
+ # The gettext package provides this library.
+ --disable-c++
+ --disable-libasprintf
+ # No Java until someone cares.
+ --disable-java
+
+ $(use_enable static-libs static)
+ $(use_enable threads)
+ )
+
+ ECONF_SOURCE="${S}" econf "${myconf[@]}"
+}
+
+multilib_src_compile() {
+ # We only need things in the intl/ subdir.
+ emake -C intl
+}
+
+multilib_src_install() {
+ # We only need things in the intl/ subdir.
+ emake DESTDIR="${D}" install -C intl
+
+ gen_usr_ldscript -a intl
+}
+
+multilib_src_install_all() {
+ if ! use static-libs ; then
+ find "${ED}" -type f -name "*.la" -delete || die
+ fi
+
+ rm -r "${ED}"/usr/share/locale || die
+
+ dodoc AUTHORS ChangeLog NEWS README
+}
diff --git a/dev-libs/libisoburn/Manifest b/dev-libs/libisoburn/Manifest
index a9521668870c..34cd3f89bcf2 100644
--- a/dev-libs/libisoburn/Manifest
+++ b/dev-libs/libisoburn/Manifest
@@ -1 +1 @@
-DIST libisoburn-1.5.4.tar.gz 1623904 BLAKE2B 3bb6ba88ad0422e1f3fbefdadb60231ea338a6bb8f39087fd25d58d68a4603c445d5d02b54c0a69897c321b4620f2ceb46eb8899552d2486e579a34f345a9d7f SHA512 5fc8532a13caf6caa5a0711753ca99ee2b3f4d5e2db9b3ed2aeef76714e3ae6de6d9c2db0d8297c0d749c42c5ab84fe92989751d8da24d41457b98656eb1bd86
+DIST libisoburn-1.5.6.tar.gz 1650966 BLAKE2B 56246feb390532588861944944de50fc6e70afa284da78a33e6a1c3a37fdf02cd8362dce2fc59c8f0017cc475eb15db47841759f376342d411d0518e9ba49c9b SHA512 0fc0058aa4cf755f30d5be0de808012978c657348412c7f129b8f8128da41f18216f3e039050a5851b557ffab344cf7dc44df374400ca008e34e2e2524fbd979
diff --git a/dev-libs/libisoburn/libisoburn-1.5.4.ebuild b/dev-libs/libisoburn/libisoburn-1.5.4.ebuild
deleted file mode 100644
index f99f0c93ff92..000000000000
--- a/dev-libs/libisoburn/libisoburn-1.5.4.ebuild
+++ /dev/null
@@ -1,66 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-DESCRIPTION="Creation/expansion of ISO-9660 filesystems on CD/DVD media supported by libburn"
-HOMEPAGE="https://dev.lovelyhq.com/libburnia/web/wiki/Libisoburn"
-SRC_URI="http://files.libburnia-project.org/releases/${P}.tar.gz"
-
-LICENSE="GPL-2 GPL-3"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ppc ppc64 sparc x86"
-IUSE="acl debug external-filters external-filters-setuid frontend-optional
- launch-frontend launch-frontend-setuid libedit readline static-libs xattr zlib"
-
-REQUIRED_USE="frontend-optional? ( || ( launch-frontend launch-frontend-setuid ) )"
-
-BDEPEND="
- virtual/pkgconfig
-"
-RDEPEND="
- >=dev-libs/libburn-1.5.4
- >=dev-libs/libisofs-1.5.4
- readline? ( sys-libs/readline:0= )
- !readline? ( libedit? ( dev-libs/libedit ) )
- acl? ( virtual/acl )
- xattr? ( sys-apps/attr )
- zlib? ( sys-libs/zlib )
- launch-frontend? ( dev-lang/tcl:0 dev-lang/tk:0 )
- launch-frontend-setuid? ( dev-lang/tcl:0 dev-lang/tk:0 )
- frontend-optional? ( dev-tcltk/bwidget )
-"
-DEPEND="
- ${RDEPEND}
-"
-
-src_configure() {
- econf \
- $(use_enable static-libs static) \
- $(use_enable readline libreadline) \
- $(usex readline --disable-libedit $(use_enable libedit)) \
- $(use_enable acl libacl) \
- $(use_enable xattr) \
- $(use_enable zlib) \
- --disable-libjte \
- $(use_enable external-filters) \
- $(use_enable external-filters-setuid) \
- $(use_enable launch-frontend) \
- $(use_enable launch-frontend-setuid) \
- --disable-ldconfig-at-install \
- --enable-pkg-check-modules \
- $(use_enable debug)
-}
-
-src_install() {
- default
-
- dodoc CONTRIBUTORS doc/{comments,*.wiki,startup_file.txt}
-
- docinto frontend
- dodoc frontend/README-tcltk
- docinto xorriso
- dodoc xorriso/{changelog.txt,README_gnu_xorriso}
-
- find "${D}" -name '*.la' -delete || die
-}
diff --git a/dev-libs/libisoburn/libisoburn-1.5.6-r1.ebuild b/dev-libs/libisoburn/libisoburn-1.5.6-r1.ebuild
new file mode 100644
index 000000000000..3bbb20c4a6d4
--- /dev/null
+++ b/dev-libs/libisoburn/libisoburn-1.5.6-r1.ebuild
@@ -0,0 +1,83 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools
+
+DESCRIPTION="Creation/expansion of ISO-9660 filesystems on CD/DVD media supported by libburn"
+HOMEPAGE="https://dev.lovelyhq.com/libburnia/web/wiki/Libisoburn"
+SRC_URI="https://files.libburnia-project.org/releases/${P}.tar.gz"
+
+LICENSE="GPL-2 GPL-3"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ppc ppc64 ~riscv ~s390 sparc x86"
+IUSE="acl debug external-filters external-filters-setuid frontend-optional
+ launch-frontend launch-frontend-setuid libedit readline static-libs xattr zlib"
+
+REQUIRED_USE="frontend-optional? ( || ( launch-frontend launch-frontend-setuid ) )"
+
+BDEPEND="
+ virtual/pkgconfig
+"
+RDEPEND="
+ >=dev-libs/libburn-1.5.6
+ >=dev-libs/libisofs-1.5.6
+ readline? ( sys-libs/readline:0= )
+ !readline? (
+ libedit? ( dev-libs/libedit )
+ )
+ acl? ( virtual/acl )
+ xattr? ( sys-apps/attr )
+ zlib? ( sys-libs/zlib )
+ launch-frontend? (
+ dev-lang/tcl:0
+ dev-lang/tk:0
+ )
+ launch-frontend-setuid? (
+ dev-lang/tcl:0
+ dev-lang/tk:0
+ )
+ frontend-optional? ( dev-tcltk/bwidget )
+"
+DEPEND="
+ ${RDEPEND}
+"
+
+src_prepare() {
+ default
+
+ # Ancient libtool version in 1.5.6 at least (debian's 2.4.2-1.11)
+ eautoreconf
+}
+
+src_configure() {
+ econf \
+ $(use_enable static-libs static) \
+ $(use_enable readline libreadline) \
+ $(usex readline --disable-libedit $(use_enable libedit)) \
+ $(use_enable acl libacl) \
+ $(use_enable xattr) \
+ $(use_enable zlib) \
+ --disable-libjte \
+ $(use_enable external-filters) \
+ $(use_enable external-filters-setuid) \
+ $(use_enable launch-frontend) \
+ $(use_enable launch-frontend-setuid) \
+ --disable-ldconfig-at-install \
+ --enable-pkg-check-modules \
+ $(use_enable debug)
+}
+
+src_install() {
+ default
+
+ dodoc CONTRIBUTORS doc/{comments,*.wiki,startup_file.txt}
+
+ docinto frontend
+ dodoc frontend/README-tcltk
+ docinto xorriso
+ dodoc xorriso/{changelog.txt,README_gnu_xorriso}
+
+ find "${D}" -name '*.la' -delete || die
+}
diff --git a/dev-libs/libisoburn/libisoburn-1.5.6.ebuild b/dev-libs/libisoburn/libisoburn-1.5.6.ebuild
new file mode 100644
index 000000000000..4960500550dc
--- /dev/null
+++ b/dev-libs/libisoburn/libisoburn-1.5.6.ebuild
@@ -0,0 +1,74 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DESCRIPTION="Creation/expansion of ISO-9660 filesystems on CD/DVD media supported by libburn"
+HOMEPAGE="https://dev.lovelyhq.com/libburnia/web/wiki/Libisoburn"
+SRC_URI="https://files.libburnia-project.org/releases/${P}.tar.gz"
+
+LICENSE="GPL-2 GPL-3"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ppc ppc64 ~s390 sparc x86"
+IUSE="acl debug external-filters external-filters-setuid frontend-optional
+ launch-frontend launch-frontend-setuid libedit readline static-libs xattr zlib"
+
+REQUIRED_USE="frontend-optional? ( || ( launch-frontend launch-frontend-setuid ) )"
+
+BDEPEND="
+ virtual/pkgconfig
+"
+RDEPEND="
+ >=dev-libs/libburn-1.5.6
+ >=dev-libs/libisofs-1.5.6
+ readline? ( sys-libs/readline:0= )
+ !readline? (
+ libedit? ( dev-libs/libedit )
+ )
+ acl? ( virtual/acl )
+ xattr? ( sys-apps/attr )
+ zlib? ( sys-libs/zlib )
+ launch-frontend? (
+ dev-lang/tcl:0
+ dev-lang/tk:0
+ )
+ launch-frontend-setuid? (
+ dev-lang/tcl:0
+ dev-lang/tk:0
+ )
+ frontend-optional? ( dev-tcltk/bwidget )
+"
+DEPEND="
+ ${RDEPEND}
+"
+
+src_configure() {
+ econf \
+ $(use_enable static-libs static) \
+ $(use_enable readline libreadline) \
+ $(usex readline --disable-libedit $(use_enable libedit)) \
+ $(use_enable acl libacl) \
+ $(use_enable xattr) \
+ $(use_enable zlib) \
+ --disable-libjte \
+ $(use_enable external-filters) \
+ $(use_enable external-filters-setuid) \
+ $(use_enable launch-frontend) \
+ $(use_enable launch-frontend-setuid) \
+ --disable-ldconfig-at-install \
+ --enable-pkg-check-modules \
+ $(use_enable debug)
+}
+
+src_install() {
+ default
+
+ dodoc CONTRIBUTORS doc/{comments,*.wiki,startup_file.txt}
+
+ docinto frontend
+ dodoc frontend/README-tcltk
+ docinto xorriso
+ dodoc xorriso/{changelog.txt,README_gnu_xorriso}
+
+ find "${D}" -name '*.la' -delete || die
+}
diff --git a/dev-libs/libisofs/Manifest b/dev-libs/libisofs/Manifest
index 40ab662ad1af..0057a3ef40a4 100644
--- a/dev-libs/libisofs/Manifest
+++ b/dev-libs/libisofs/Manifest
@@ -1 +1 @@
-DIST libisofs-1.5.4.tar.gz 870395 BLAKE2B 2cb9d247219c368e9808dbb2b7bcbe22829e78683a6dc6d8a182b54ebfe6d8c8a082990179b784f891fc79f2ed4830f09dd43c64bfdce60cbff6c34fae2150e7 SHA512 a06e834e81081358478cdd27d1dcc6f3bb52ffd2ea57ade59f3ff2f69868fb6886a0b38fd1580d24295b7ed936ac471f107df64d62c1ff42b57dd8ce0810e3f2
+DIST libisofs-1.5.6.pl01.tar.gz 879218 BLAKE2B 466cb1fed6b0a29b2a418dfe7a3ac393d38961b08cf53febfe80f1bf91f891d1c17119a482fb0cb6f44eda0c568b1c00bd7b2eeb028ad749c99451ffb18b7f8b SHA512 7760931abbe508002bd3e7eeb694071425f24316cb11c80a2f162a76c3a1d79c57593b758bc0e540107140fd18714e1bf87ae3a65510956a76a1c09f80453a80
diff --git a/dev-libs/libisofs/libisofs-1.5.4.ebuild b/dev-libs/libisofs/libisofs-1.5.4.ebuild
deleted file mode 100644
index 7a268c49b53a..000000000000
--- a/dev-libs/libisofs/libisofs-1.5.4.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="Open-source library for reading, mastering and writing optical discs"
-HOMEPAGE="https://dev.lovelyhq.com/libburnia/web/wiki/Libisofs"
-SRC_URI="http://files.libburnia-project.org/releases/${P}.tar.gz"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ppc ppc64 ~riscv sparc x86"
-IUSE="acl debug static-libs verbose-debug xattr zlib"
-
-BDEPEND="
- virtual/pkgconfig
-"
-RDEPEND="
- acl? ( virtual/acl )
- xattr? ( sys-apps/attr )
- zlib? ( sys-libs/zlib )
-"
-DEPEND="
- ${RDEPEND}
-"
-
-src_configure() {
- econf \
- $(use_enable static-libs static) \
- $(use_enable debug) \
- $(use_enable verbose-debug) \
- $(use_enable acl libacl) \
- $(use_enable xattr) \
- $(use_enable zlib) \
- --disable-libjte \
- --disable-ldconfig-at-install
-}
-
-src_install() {
- default
-
- dodoc Roadmap doc/{*.txt,Tutorial}
-
- find "${D}" -name '*.la' -delete || die
-}
diff --git a/dev-libs/libisofs/libisofs-1.5.6_p1-r1.ebuild b/dev-libs/libisofs/libisofs-1.5.6_p1-r1.ebuild
new file mode 100644
index 000000000000..0c18fbd5e4be
--- /dev/null
+++ b/dev-libs/libisofs/libisofs-1.5.6_p1-r1.ebuild
@@ -0,0 +1,59 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+MY_PF=${P/_p1/}
+MY_P=${MY_PF}.pl01
+
+inherit autotools
+
+DESCRIPTION="Open-source library for reading, mastering and writing optical discs"
+HOMEPAGE="https://dev.lovelyhq.com/libburnia/web/wiki/Libisofs"
+SRC_URI="https://files.libburnia-project.org/releases/${MY_P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ppc ppc64 ~riscv ~s390 sparc x86"
+IUSE="acl debug static-libs verbose-debug xattr zlib"
+
+BDEPEND="
+ virtual/pkgconfig
+"
+RDEPEND="
+ acl? ( virtual/acl )
+ xattr? ( sys-apps/attr )
+ zlib? ( sys-libs/zlib )
+"
+DEPEND="
+ ${RDEPEND}
+"
+
+S="${WORKDIR}/${MY_PF}"
+
+src_prepare() {
+ default
+
+ # Ancient libtool version in 1.5.6 at least (debian's 2.4.2-1.11)
+ eautoreconf
+}
+
+src_configure() {
+ econf \
+ $(use_enable static-libs static) \
+ $(use_enable debug) \
+ $(use_enable verbose-debug) \
+ $(use_enable acl libacl) \
+ $(use_enable xattr) \
+ $(use_enable zlib) \
+ --disable-libjte \
+ --disable-ldconfig-at-install
+}
+
+src_install() {
+ default
+
+ dodoc Roadmap doc/{*.txt,Tutorial}
+
+ find "${D}" -name '*.la' -delete || die
+}
diff --git a/dev-libs/libisofs/libisofs-1.5.6_p1.ebuild b/dev-libs/libisofs/libisofs-1.5.6_p1.ebuild
new file mode 100644
index 000000000000..a1580127c83c
--- /dev/null
+++ b/dev-libs/libisofs/libisofs-1.5.6_p1.ebuild
@@ -0,0 +1,50 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+MY_PF=${P/_p1/}
+MY_P=${MY_PF}.pl01
+
+DESCRIPTION="Open-source library for reading, mastering and writing optical discs"
+HOMEPAGE="https://dev.lovelyhq.com/libburnia/web/wiki/Libisofs"
+SRC_URI="https://files.libburnia-project.org/releases/${MY_P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ppc ppc64 ~riscv ~s390 sparc x86"
+IUSE="acl debug static-libs verbose-debug xattr zlib"
+
+BDEPEND="
+ virtual/pkgconfig
+"
+RDEPEND="
+ acl? ( virtual/acl )
+ xattr? ( sys-apps/attr )
+ zlib? ( sys-libs/zlib )
+"
+DEPEND="
+ ${RDEPEND}
+"
+
+S="${WORKDIR}/${MY_PF}"
+
+src_configure() {
+ econf \
+ $(use_enable static-libs static) \
+ $(use_enable debug) \
+ $(use_enable verbose-debug) \
+ $(use_enable acl libacl) \
+ $(use_enable xattr) \
+ $(use_enable zlib) \
+ --disable-libjte \
+ --disable-ldconfig-at-install
+}
+
+src_install() {
+ default
+
+ dodoc Roadmap doc/{*.txt,Tutorial}
+
+ find "${D}" -name '*.la' -delete || die
+}
diff --git a/dev-libs/libite/Manifest b/dev-libs/libite/Manifest
index bf873f38e6e3..d4e8a05c5d24 100644
--- a/dev-libs/libite/Manifest
+++ b/dev-libs/libite/Manifest
@@ -1,2 +1 @@
-DIST libite-2.4.0.tar.xz 276008 BLAKE2B dcd721d02d15b6e8dbe84a885548429552eb4a683e51c49d144be2e40922e3f6e6e36f1fb92ec96db148f71068826b3a1f80812d8d5b1bf381a88b1598a3a1a8 SHA512 8e79084b616150dd4de491c6b8441d5043c81cf161bb655a32b6b7f8536682b967f4810870d8af4ae92780dedb7302bbc8db093036493506c88126143cb9bbef
-DIST libite-2.5.1.tar.xz 311436 BLAKE2B f3616b8d51f7a6987c9d4451feec9032b777a0fae4ed37ee68d95fc998bbefb09f84834435466e424f9b2dbe15a18b46d2fa5d7bc0a2307b30556734da06ed71 SHA512 113e7ff59d0e815b1e7bdbee601d5800264226eb7968b49aaf3c1505682058036df96be32ac939bef417313591b18447e12d46c32c0bdaf72a6a9143c22f2127
+DIST libite-2.6.1.tar.xz 318552 BLAKE2B 36716ef4224513ed175c272724f927b03de63587ea611a14ab80ecbe012db4982ed8f96089c0336960de6f1ff57e5a6d1a64db895a613a2b59021bcf0e896b08 SHA512 37320cc7093aad756b574e9415a3a2aed9d76a147720f2b6493a173943b4f2875723c6f4f1d79868e3bd5e312fd545349c7dbcd66a675cee4ee1fa9889bfc2ee
diff --git a/dev-libs/libite/libite-2.4.0.ebuild b/dev-libs/libite/libite-2.4.0.ebuild
deleted file mode 100644
index 2caf2e8389ae..000000000000
--- a/dev-libs/libite/libite-2.4.0.ebuild
+++ /dev/null
@@ -1,22 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-DESCRIPTION="A collection of useful BSD APIs"
-HOMEPAGE="https://github.com/troglobit/libite"
-SRC_URI="https://github.com/troglobit/libite/releases/download/v${PV}/${P}.tar.xz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-src_configure() {
- econf --enable-static=no
-}
-
-src_install() {
- default
- find "${D}" -name '*.la' -delete || die
- rm "${D}/usr/share/doc/${PF}/LICENSE" || die
-}
diff --git a/dev-libs/libite/libite-2.5.1.ebuild b/dev-libs/libite/libite-2.5.1.ebuild
deleted file mode 100644
index 4dc072f41234..000000000000
--- a/dev-libs/libite/libite-2.5.1.ebuild
+++ /dev/null
@@ -1,23 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-DESCRIPTION="A collection of useful BSD APIs"
-HOMEPAGE="https://github.com/troglobit/libite"
-SRC_URI="https://github.com/troglobit/libite/releases/download/v${PV}/${P}.tar.xz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-src_configure() {
- econf --enable-static=no
-}
-
-src_install() {
- default
-
- find "${ED}" -name '*.la' -delete || die
- rm "${ED}"/usr/share/doc/${PF}/LICENSE || die
-}
diff --git a/dev-libs/libite/libite-2.6.1.ebuild b/dev-libs/libite/libite-2.6.1.ebuild
new file mode 100644
index 000000000000..91c25c54e4c0
--- /dev/null
+++ b/dev-libs/libite/libite-2.6.1.ebuild
@@ -0,0 +1,19 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DESCRIPTION="A collection of useful BSD APIs"
+HOMEPAGE="https://github.com/troglobit/libite"
+SRC_URI="https://github.com/troglobit/libite/releases/download/v${PV}/${P}.tar.xz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+
+src_install() {
+ default
+
+ find "${ED}" -name '*.la' -delete || die
+ rm "${ED}"/usr/share/doc/${PF}/LICENSE || die
+}
diff --git a/dev-libs/libixion/Manifest b/dev-libs/libixion/Manifest
index aff640dd2314..f8581813773e 100644
--- a/dev-libs/libixion/Manifest
+++ b/dev-libs/libixion/Manifest
@@ -1,2 +1 @@
-DIST libixion-0.16.1.tar.xz 482500 BLAKE2B 26075c819a952f48c4e136fa28b4ef5075b455dea52d51940e4fc55344e19e404d70b44222631d0b0f85280d09bb8a05955bfcbe0a228b97d72d8f00f1639248 SHA512 979c631e9536f6d2c3ae32f7892756ac8889d27c551d80eb9d519bf912bd323da4b6ecd363fe2719e74e04bc3661e5d56e03a582f68f5293ffcac59b74f4c7de
-DIST libixion-0.17.0.tar.xz 499836 BLAKE2B c8c31b07ad14dd49be259686af3e39e6f5d4aeeb8680030ea7bd2697c8baa72123f2659b3087f224f956612dc444c97e6a6d331fd3deff780981bab4d5b6ad25 SHA512 0acdb2eae5250236a94b1a3344ca990058ea8db7b1e741545bcb7160f9e28d21a3c2ec336621fd590df10188a4d5feadfbb3a63f57e9bfd2cc1bffc04009ffad
+DIST libixion-0.19.0.tar.xz 536540 BLAKE2B 2bd8db83f926d553b1b6c78eb3e735e9911dbdd3cb95105fca04fd560099f38c5e4834d5887b1b0e6d44343e0da9b0fa0264f00c931a6b04b7e4c70996f819b2 SHA512 f06edbcf5ae7459a46e01273952ce6fbc4e8f2b7782c7e07645dc30e102f20f542e449acafc26484765207b10656e0b350f4108cbf1e03947ee7267254cf6f97
diff --git a/dev-libs/libixion/files/libixion-0.16.1-clang.patch b/dev-libs/libixion/files/libixion-0.16.1-clang.patch
deleted file mode 100644
index 802d43e71592..000000000000
--- a/dev-libs/libixion/files/libixion-0.16.1-clang.patch
+++ /dev/null
@@ -1,18 +0,0 @@
-https://gitlab.com/ixion/ixion/-/commit/1992b8ab9c7765b8da06b6054bb3c0ab990c62f7
-https://bugs.gentoo.org/793917
-
-From: Jory Pratt <anarchy@gentoo.org>
-Date: Wed, 2 Jun 2021 10:19:01 -0500
-Subject: [PATCH] Fix nullptr_t for clang/musl users
-
---- a/src/libixion/model_context.cpp
-+++ b/src/libixion/model_context.cpp
-@@ -17,7 +17,7 @@
-
- namespace ixion {
-
--model_context::input_cell::input_cell(nullptr_t) : type(celltype_t::empty) {}
-+model_context::input_cell::input_cell(std::nullptr_t) : type(celltype_t::empty) {}
- model_context::input_cell::input_cell(bool b) : type(celltype_t::boolean)
- {
- value.boolean = b;
diff --git a/dev-libs/libixion/libixion-0.16.1.ebuild b/dev-libs/libixion/libixion-0.16.1.ebuild
deleted file mode 100644
index 0f397c8828ef..000000000000
--- a/dev-libs/libixion/libixion-0.16.1.ebuild
+++ /dev/null
@@ -1,63 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{8..10} )
-inherit python-single-r1
-
-DESCRIPTION="General purpose formula parser & interpreter"
-HOMEPAGE="https://gitlab.com/ixion/ixion"
-
-if [[ ${PV} == *9999 ]]; then
- MDDS_SLOT="1/9999"
- EGIT_REPO_URI="https://gitlab.com/ixion/ixion.git"
- inherit git-r3 autotools
-else
- MDDS_SLOT="1/1.5"
- SRC_URI="https://kohei.us/files/ixion/src/${P}.tar.xz"
- KEYWORDS="amd64 ~arm arm64 ~ppc ~ppc64 x86"
-fi
-
-LICENSE="MIT"
-SLOT="0/0.16" # based on SONAME of libixion.so
-IUSE="debug python +threads"
-
-REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
-
-RDEPEND="
- dev-libs/boost:=
- dev-util/mdds:${MDDS_SLOT}
- python? ( ${PYTHON_DEPS} )
-"
-DEPEND="${RDEPEND}"
-
-PATCHES=(
- "${FILESDIR}"/${P}-clang.patch
-)
-
-pkg_setup() {
- use python && python-single-r1_pkg_setup
-}
-
-src_prepare() {
- default
- [[ ${PV} == *9999 ]] && eautoreconf
-}
-
-src_configure() {
- local myeconfargs=(
- --disable-static
- $(use_enable debug)
- $(use_enable debug debug-utils)
- $(use_enable debug log-debug)
- $(use_enable python)
- $(use_enable threads)
- )
- econf "${myeconfargs[@]}"
-}
-
-src_install() {
- default
- find "${D}" -name '*.la' -type f -delete || die
-}
diff --git a/dev-libs/libixion/libixion-0.17.0.ebuild b/dev-libs/libixion/libixion-0.17.0.ebuild
deleted file mode 100644
index 806058a7ae4f..000000000000
--- a/dev-libs/libixion/libixion-0.17.0.ebuild
+++ /dev/null
@@ -1,60 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8,9} )
-inherit python-single-r1
-
-DESCRIPTION="General purpose formula parser & interpreter"
-HOMEPAGE="https://gitlab.com/ixion/ixion"
-
-if [[ ${PV} == *9999 ]]; then
- MDDS_SLOT="1/9999"
- EGIT_REPO_URI="https://gitlab.com/ixion/ixion.git"
- inherit git-r3 autotools
-else
- MDDS_SLOT="1/2.0"
- SRC_URI="https://kohei.us/files/ixion/src/${P}.tar.xz"
- # Unkeyworded while libreoffice has no release making use of this slot
- # KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~x86"
-fi
-
-LICENSE="MIT"
-SLOT="0/0.17" # based on SONAME of libixion.so
-IUSE="debug python +threads"
-
-REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
-
-RDEPEND="
- dev-libs/boost:=
- dev-util/mdds:${MDDS_SLOT}
- python? ( ${PYTHON_DEPS} )
-"
-DEPEND="${RDEPEND}"
-
-pkg_setup() {
- use python && python-single-r1_pkg_setup
-}
-
-src_prepare() {
- default
- [[ ${PV} == *9999 ]] && eautoreconf
-}
-
-src_configure() {
- local myeconfargs=(
- --disable-static
- $(use_enable debug)
- $(use_enable debug debug-utils)
- $(use_enable debug log-debug)
- $(use_enable python)
- $(use_enable threads)
- )
- econf "${myeconfargs[@]}"
-}
-
-src_install() {
- default
- find "${D}" -name '*.la' -type f -delete || die
-}
diff --git a/dev-libs/libixion/libixion-0.19.0.ebuild b/dev-libs/libixion/libixion-0.19.0.ebuild
new file mode 100644
index 000000000000..13874bfc6440
--- /dev/null
+++ b/dev-libs/libixion/libixion-0.19.0.ebuild
@@ -0,0 +1,57 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..12} )
+inherit python-single-r1
+
+DESCRIPTION="General purpose formula parser & interpreter"
+HOMEPAGE="https://gitlab.com/ixion/ixion"
+
+if [[ ${PV} == *9999* ]]; then
+ MDDS_SLOT="1/3.0"
+ EGIT_REPO_URI="https://gitlab.com/ixion/ixion.git"
+ inherit git-r3 autotools
+else
+ MDDS_SLOT="1/2.1"
+ SRC_URI="https://kohei.us/files/ixion/src/${P}.tar.xz"
+ KEYWORDS="amd64 ~arm arm64 ~loong ~ppc ppc64 ~riscv x86"
+fi
+
+LICENSE="MIT"
+SLOT="0/0.18" # based on SONAME of libixion.so
+IUSE="debug python"
+
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+
+RDEPEND="
+ dev-libs/boost:=
+ dev-util/mdds:${MDDS_SLOT}
+ python? ( ${PYTHON_DEPS} )
+"
+DEPEND="${RDEPEND}"
+
+pkg_setup() {
+ use python && python-single-r1_pkg_setup
+}
+
+src_prepare() {
+ default
+ [[ ${PV} == *9999* ]] && eautoreconf
+}
+
+src_configure() {
+ local myeconfargs=(
+ $(use_enable debug)
+ $(use_enable debug debug-utils)
+ $(use_enable debug log-debug)
+ $(use_enable python)
+ )
+ econf "${myeconfargs[@]}"
+}
+
+src_install() {
+ default
+ find "${D}" -name '*.la' -type f -delete || die
+}
diff --git a/dev-libs/libixion/libixion-9999.ebuild b/dev-libs/libixion/libixion-9999.ebuild
index c9e0cbbd5438..ec4bffd84edf 100644
--- a/dev-libs/libixion/libixion-9999.ebuild
+++ b/dev-libs/libixion/libixion-9999.ebuild
@@ -1,28 +1,27 @@
-# 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 python-single-r1
DESCRIPTION="General purpose formula parser & interpreter"
HOMEPAGE="https://gitlab.com/ixion/ixion"
-if [[ ${PV} == *9999 ]]; then
- MDDS_SLOT="1/9999"
+if [[ ${PV} == *9999* ]]; then
+ MDDS_SLOT="1/3.0"
EGIT_REPO_URI="https://gitlab.com/ixion/ixion.git"
inherit git-r3 autotools
else
- MDDS_SLOT="1/2.0"
+ MDDS_SLOT="1/2.1"
SRC_URI="https://kohei.us/files/ixion/src/${P}.tar.xz"
- KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~x86"
+ KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86"
fi
LICENSE="MIT"
-SLOT="0/0.17" # based on SONAME of libixion.so
-IUSE="debug python +threads"
+SLOT="0/0.20" # based on SONAME of libixion.so
+IUSE="debug python"
REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
@@ -39,17 +38,15 @@ pkg_setup() {
src_prepare() {
default
- [[ ${PV} == *9999 ]] && eautoreconf
+ [[ ${PV} == *9999* ]] && eautoreconf
}
src_configure() {
local myeconfargs=(
- --disable-static
$(use_enable debug)
$(use_enable debug debug-utils)
$(use_enable debug log-debug)
$(use_enable python)
- $(use_enable threads)
)
econf "${myeconfargs[@]}"
}
diff --git a/dev-libs/libjcat/Manifest b/dev-libs/libjcat/Manifest
index 870951f7e2f6..6331f7ea2ef2 100644
--- a/dev-libs/libjcat/Manifest
+++ b/dev-libs/libjcat/Manifest
@@ -1,2 +1,2 @@
-DIST libjcat-0.1.8.tar.gz 64828 BLAKE2B 86ebc635364cd78c05694baf3d5fe7d9bf6764629f4530f5ab8a9502887884b3d5369860806a252493a7a3208367b848e470730fb8c32d4c66cc8eb92df51990 SHA512 058bcf7ddddc7a3cedefcfcef9947c5f318fa806c8673b991be29f36e4fa0e09e51e972c0bebe0404fd92060715f8a497a0c0566d743bf6f3fa71bc3d94688c9
-DIST libjcat-0.1.9.tar.gz 64884 BLAKE2B 30e7c9f6c5fc971144f27bc495443928b8406a199e3a03399f2081a5ec3d09d10261bec6804e8d92c8c4a44ad31f821f302954fee66abe16a6b0b0400b627036 SHA512 d4d51d95edf1223d5876464feb476d3e9a47f60fed7724690d247cb3b759c5adaa04ba71a0221d5e520d0077d52ea6610c0188f2e5c70a323210ad68c134e83d
+DIST libjcat-0.1.14.tar.gz 70018 BLAKE2B 71329e6fc04ef37e5af215c88b4a5a03fbd65143604da57b0357d4bd07896a22a98b9028d8529234655adb37e5cefe226d09d987e798bce17b47fef1e1142d1f SHA512 837a50ad31a736a36bd9df26b151c198e18873df0e7444502b7a6e26a86df15f1df970112f2dd22658960389fdfb78a2c601274e2b5c46ec82fceef5aad778c1
+DIST libjcat-0.2.1.tar.gz 76698 BLAKE2B 62f77c993e47843dddacc9a67b9daac9bd29bef7363ce62125ecd22f9649b8a5ce2de07d74ea6900e9a45feb141caa19761bcffd337530d86a31b6ed94cab164 SHA512 e29fdaae38ade2960ffa7ac3cd41224ccab5fdb351d2ae420ffe0cf0ddb948bba37e9e040cc3046c8593be4622bf018779dfa80f173873b79582061f12c02373
diff --git a/dev-libs/libjcat/files/libjcat-0.1.1-disable_installed_tests.patch b/dev-libs/libjcat/files/libjcat-0.1.1-disable_installed_tests.patch
deleted file mode 100644
index 5cb3e00c6778..000000000000
--- a/dev-libs/libjcat/files/libjcat-0.1.1-disable_installed_tests.patch
+++ /dev/null
@@ -1,46 +0,0 @@
---- a/data/tests/colorhug/meson.build
-+++ b/data/tests/colorhug/meson.build
-@@ -1,3 +1,4 @@
-+if false
- install_data([
- 'firmware.bin',
- 'firmware.bin.asc',
-@@ -5,6 +6,7 @@
- ],
- install_dir: join_paths(installed_test_bindir, 'colorhug'),
- )
-+endif
-
- if get_option('pkcs7')
- # generate self-signed detached signature
-@@ -17,7 +19,7 @@
- '--load-certificate', pkcs7_certificate,
- '--infile', '@INPUT@',
- '--outfile', '@OUTPUT@'],
-- install: true,
-+ install: false,
- install_dir: join_paths(installed_test_bindir, 'colorhug'),
- )
- endif
---- a/data/tests/meson.build
-+++ b/data/tests/meson.build
-@@ -2,7 +2,7 @@
- input : 'libjcat.test.in',
- output : 'libjcat.test',
- configuration : conf,
-- install: true,
-+ install: false,
- install_dir: installed_test_datadir,
- )
-
---- a/libjcat/meson.build
-+++ b/libjcat/meson.build
-@@ -235,7 +235,7 @@
- dependencies : [
- libjcat_deps,
- ],
-- install : true,
-+ install : false,
- install_dir : installed_test_bindir
- )
- test('jcat-self-test', e, env : testdatadirs)
diff --git a/dev-libs/libjcat/files/libjcat-0.1.11-disable_installed_tests.patch b/dev-libs/libjcat/files/libjcat-0.1.11-disable_installed_tests.patch
new file mode 100644
index 000000000000..18ef4000293e
--- /dev/null
+++ b/dev-libs/libjcat/files/libjcat-0.1.11-disable_installed_tests.patch
@@ -0,0 +1,60 @@
+--- a/data/tests/colorhug/meson.build
++++ b/data/tests/colorhug/meson.build
+@@ -1,3 +1,4 @@
++if false
+ install_data([
+ 'firmware.bin',
+ 'firmware.bin.asc',
+@@ -5,6 +6,7 @@
+ ],
+ install_dir: join_paths(installed_test_bindir, 'colorhug'),
+ )
++endif
+
+ if get_option('pkcs7')
+ # generate self-signed detached signature
+@@ -17,7 +19,7 @@
+ '--load-certificate', pkcs7_certificate,
+ '--infile', '@INPUT@',
+ '--outfile', '@OUTPUT@'],
+- install: true,
++ install: false,
+ install_dir: join_paths(installed_test_bindir, 'colorhug'),
+ )
+ endif
+--- a/data/tests/meson.build
++++ b/data/tests/meson.build
+@@ -2,7 +2,7 @@
+ input : 'libjcat.test.in',
+ output : 'libjcat.test',
+ configuration : conf,
+- install: true,
++ install: false,
+ install_dir: installed_test_datadir,
+ )
+
+--- a/data/tests/pki/meson.build
++++ b/data/tests/pki/meson.build
+@@ -1,9 +1,11 @@
++if false
+ install_data([
+ 'GPG-KEY-Linux-Vendor-Firmware-Service',
+ 'LVFS-CA.pem',
+ ],
+ install_dir: join_paths(installed_test_bindir, 'pki'),
+ )
++endif
+
+ # generate certificate
+ pkcs7_config = join_paths(meson.current_source_dir(), 'test.cfg')
+--- a/libjcat/meson.build
++++ b/libjcat/meson.build
+@@ -248,7 +248,7 @@
+ dependencies : [
+ libjcat_deps,
+ ],
+- install : true,
++ install : false,
+ install_dir : installed_test_bindir
+ )
+ test('jcat-self-test', e, env : testdatadirs)
diff --git a/dev-libs/libjcat/libjcat-0.1.14.ebuild b/dev-libs/libjcat/libjcat-0.1.14.ebuild
new file mode 100644
index 000000000000..6ea7c2221b23
--- /dev/null
+++ b/dev-libs/libjcat/libjcat-0.1.14.ebuild
@@ -0,0 +1,68 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..12} )
+PYTHON_REQ_USE="xml(+)"
+
+inherit meson python-any-r1 vala xdg-utils
+
+DESCRIPTION="Library and tool for reading and writing Jcat files"
+HOMEPAGE="https://github.com/hughsie/libjcat"
+SRC_URI="https://github.com/hughsie/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="LGPL-2.1+"
+SLOT="0"
+KEYWORDS="amd64 ~arm ~arm64 ~loong ppc64 ~riscv x86"
+IUSE="+gpg gtk-doc +introspection +man +pkcs7 test vala"
+
+RDEPEND="dev-libs/glib:2
+ dev-libs/json-glib:=
+ gpg? (
+ app-crypt/gpgme:=
+ dev-libs/libgpg-error
+ )
+ introspection? ( dev-libs/gobject-introspection:= )
+ pkcs7? ( net-libs/gnutls )
+ vala? ( dev-lang/vala:= )"
+DEPEND="${RDEPEND}"
+BDEPEND="virtual/pkgconfig
+ $(python_gen_any_dep '
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ ')
+ gtk-doc? ( dev-util/gtk-doc )
+ man? ( sys-apps/help2man )
+ test? ( net-libs/gnutls[tools] )"
+
+RESTRICT="!test? ( test )"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-0.1.11-disable_installed_tests.patch
+)
+
+python_check_deps() {
+ python_has_version -b "dev-python/setuptools[${PYTHON_USEDEP}]"
+}
+
+pkg_setup() {
+ use vala && vala_setup
+}
+
+src_prepare() {
+ xdg_environment_reset
+ default
+}
+
+src_configure() {
+ local emesonargs=(
+ $(meson_use gtk-doc gtkdoc)
+ $(meson_use gpg)
+ $(meson_use introspection)
+ $(meson_use man)
+ $(meson_use pkcs7)
+ $(meson_use test tests)
+ $(meson_use vala vapi)
+ )
+ meson_src_configure
+}
diff --git a/dev-libs/libjcat/libjcat-0.1.8.ebuild b/dev-libs/libjcat/libjcat-0.1.8.ebuild
deleted file mode 100644
index 1740585297c8..000000000000
--- a/dev-libs/libjcat/libjcat-0.1.8.ebuild
+++ /dev/null
@@ -1,65 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{7..10} )
-PYTHON_REQ_USE="xml"
-
-inherit meson python-any-r1 vala xdg-utils
-
-DESCRIPTION="Library and tool for reading and writing Jcat files "
-HOMEPAGE="https://github.com/hughsie/libjcat"
-SRC_URI="https://github.com/hughsie/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="LGPL-2.1+"
-SLOT="0"
-KEYWORDS="amd64 ~arm ~arm64 ~ppc64 ~riscv x86"
-IUSE="+gpg gtk-doc +introspection +man +pkcs7 test vala"
-
-RDEPEND="dev-libs/glib:2
- dev-libs/json-glib:=
- gpg? (
- app-crypt/gpgme
- dev-libs/libgpg-error
- )
- introspection? ( dev-libs/gobject-introspection:= )
- pkcs7? ( net-libs/gnutls )
- vala? ( dev-lang/vala:= )"
-DEPEND="${RDEPEND}"
-BDEPEND="virtual/pkgconfig
- $(python_gen_any_dep '
- dev-python/setuptools[${PYTHON_USEDEP}]
- ')
- gtk-doc? ( dev-util/gtk-doc )
- man? ( sys-apps/help2man )
- test? ( net-libs/gnutls[tools] )"
-
-RESTRICT="!test? ( test )"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-0.1.1-disable_installed_tests.patch
-)
-
-python_check_deps() {
- has_version -b "dev-python/setuptools[${PYTHON_USEDEP}]"
-}
-
-src_prepare() {
- xdg_environment_reset
- use vala && vala_src_prepare
- default
-}
-
-src_configure() {
- local emesonargs=(
- $(meson_use gtk-doc gtkdoc)
- $(meson_use gpg)
- $(meson_use introspection)
- $(meson_use man)
- $(meson_use pkcs7)
- $(meson_use test tests)
- $(meson_use vala vapi)
- )
- meson_src_configure
-}
diff --git a/dev-libs/libjcat/libjcat-0.1.9.ebuild b/dev-libs/libjcat/libjcat-0.1.9.ebuild
deleted file mode 100644
index fe17a3465a41..000000000000
--- a/dev-libs/libjcat/libjcat-0.1.9.ebuild
+++ /dev/null
@@ -1,65 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{8..10} )
-PYTHON_REQ_USE="xml"
-
-inherit meson python-any-r1 vala xdg-utils
-
-DESCRIPTION="Library and tool for reading and writing Jcat files "
-HOMEPAGE="https://github.com/hughsie/libjcat"
-SRC_URI="https://github.com/hughsie/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="LGPL-2.1+"
-SLOT="0"
-KEYWORDS="amd64 ~arm ~arm64 ~ppc64 ~riscv x86"
-IUSE="+gpg gtk-doc +introspection +man +pkcs7 test vala"
-
-RDEPEND="dev-libs/glib:2
- dev-libs/json-glib:=
- gpg? (
- app-crypt/gpgme
- dev-libs/libgpg-error
- )
- introspection? ( dev-libs/gobject-introspection:= )
- pkcs7? ( net-libs/gnutls )
- vala? ( dev-lang/vala:= )"
-DEPEND="${RDEPEND}"
-BDEPEND="virtual/pkgconfig
- $(python_gen_any_dep '
- dev-python/setuptools[${PYTHON_USEDEP}]
- ')
- gtk-doc? ( dev-util/gtk-doc )
- man? ( sys-apps/help2man )
- test? ( net-libs/gnutls[tools] )"
-
-RESTRICT="!test? ( test )"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-0.1.1-disable_installed_tests.patch
-)
-
-python_check_deps() {
- has_version -b "dev-python/setuptools[${PYTHON_USEDEP}]"
-}
-
-src_prepare() {
- xdg_environment_reset
- use vala && vala_src_prepare
- default
-}
-
-src_configure() {
- local emesonargs=(
- $(meson_use gtk-doc gtkdoc)
- $(meson_use gpg)
- $(meson_use introspection)
- $(meson_use man)
- $(meson_use pkcs7)
- $(meson_use test tests)
- $(meson_use vala vapi)
- )
- meson_src_configure
-}
diff --git a/dev-libs/libjcat/libjcat-0.2.1.ebuild b/dev-libs/libjcat/libjcat-0.2.1.ebuild
new file mode 100644
index 000000000000..80d7f848471c
--- /dev/null
+++ b/dev-libs/libjcat/libjcat-0.2.1.ebuild
@@ -0,0 +1,82 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..12} )
+PYTHON_REQ_USE="xml(+)"
+
+inherit meson python-any-r1 vala xdg-utils
+
+DESCRIPTION="Library and tool for reading and writing Jcat files"
+HOMEPAGE="https://github.com/hughsie/libjcat"
+SRC_URI="https://github.com/hughsie/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="LGPL-2.1+"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~x86"
+IUSE="+ed25519 +gpg gtk-doc +introspection +man +pkcs7 test vala"
+
+RDEPEND="dev-libs/glib:2
+ dev-libs/json-glib:=
+ ed25519? (
+ dev-libs/nettle:=
+ net-libs/gnutls:=
+ )
+ gpg? (
+ app-crypt/gpgme:=
+ dev-libs/libgpg-error
+ )
+ introspection? ( dev-libs/gobject-introspection:= )
+ pkcs7? ( net-libs/gnutls:= )
+ vala? ( dev-lang/vala:= )"
+DEPEND="${RDEPEND}"
+BDEPEND="virtual/pkgconfig
+ $(python_gen_any_dep '
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ ')
+ gtk-doc? ( dev-util/gtk-doc )
+ man? ( sys-apps/help2man )
+ test? ( net-libs/gnutls[tools] )"
+
+RESTRICT="!test? ( test )"
+
+python_check_deps() {
+ python_has_version -b "dev-python/setuptools[${PYTHON_USEDEP}]"
+}
+
+pkg_setup() {
+ use vala && vala_setup
+}
+
+src_prepare() {
+ xdg_environment_reset
+ default
+}
+
+src_configure() {
+ local emesonargs=(
+ $(meson_use ed25519)
+ $(meson_use gtk-doc gtkdoc)
+ $(meson_use gpg)
+ $(meson_use introspection)
+ $(meson_use man)
+ $(meson_use pkcs7)
+ $(meson_use test tests)
+ $(meson_use vala vapi)
+ )
+ meson_src_configure
+}
+
+src_install() {
+ meson_src_install
+
+ if use test; then
+ # Preventing tests from being installed in the first place is a moving target,
+ # just axe them all afterwards.
+ rm -rf \
+ "${ED}"/usr/libexec/installed-tests \
+ "${ED}"/usr/share/installed-tests \
+ || die
+ fi
+}
diff --git a/dev-libs/libjcat/metadata.xml b/dev-libs/libjcat/metadata.xml
index a1eb8684ea36..01872545896e 100644
--- a/dev-libs/libjcat/metadata.xml
+++ b/dev-libs/libjcat/metadata.xml
@@ -5,10 +5,6 @@
<email>marecki@gentoo.org</email>
<name>Marek Szuba</name>
</maintainer>
- <maintainer type="person">
- <email>polynomial-c@gentoo.org</email>
- <name>Lars Wendler</name>
- </maintainer>
<longdescription lang="en">
This library allows reading and writing gzip-compressed JSON catalog files,
which can be used to store GPG, PKCS-7 and SHA-256 checksums for each file.
@@ -17,6 +13,8 @@
in Microsoft Windows.
</longdescription>
<use>
+ <flag name="ed25519">Enable ED25519 verification support
+ via <pkg>dev-libs/nettle</pkg> and <pkg>net-libs/gnutls</pkg></flag>
<flag name="gpg">Enable GPG verification support via <pkg>app-crypt/gpgme</pkg></flag>
<flag name="pkcs7">Enable PKCS7 verification support via <pkg>net-libs/gnutls</pkg></flag>
</use>
diff --git a/dev-libs/libjodycode/Manifest b/dev-libs/libjodycode/Manifest
new file mode 100644
index 000000000000..f681f8e69288
--- /dev/null
+++ b/dev-libs/libjodycode/Manifest
@@ -0,0 +1 @@
+DIST libjodycode-3.1.tar.gz 27340 BLAKE2B c084c75a241737c63f33a9a21ea2dc5303d6811fd94db9bd62162eb1ed3fa6e43edbbc1cbfa079f60f8f11a76c052cd825250b2ca34594889da46cbdda1c5248 SHA512 980f1797084594f710cae92b26d10c46a73415d11e89af608c8a87730ea39f497fec0889f9bd88af7c23aa0067dd6642758edc2b2756d9eba6e6a4a50c583751
diff --git a/dev-libs/libjodycode/files/libjodycode-3.0.1-static-lib.patch b/dev-libs/libjodycode/files/libjodycode-3.0.1-static-lib.patch
new file mode 100644
index 000000000000..761aecdf3c59
--- /dev/null
+++ b/dev-libs/libjodycode/files/libjodycode-3.0.1-static-lib.patch
@@ -0,0 +1,12 @@
+diff --git a/Makefile b/Makefile
+index aaf46df..adb8cb2 100644
+--- a/Makefile
++++ b/Makefile
+@@ -168,7 +168,6 @@ installfiles:
+ $(INSTALL_PROGRAM) $(PROGRAM_NAME).$(SO_SUFFIX).$(VERSION) $(DESTDIR)$(LIB_DIR)/$(PROGRAM_NAME).$(SO_SUFFIX).$(VERSION)
+ $(LN) $(PROGRAM_NAME).$(SO_SUFFIX).$(VERSION) $(DESTDIR)$(LIB_DIR)/$(PROGRAM_NAME).$(SO_SUFFIX).$(VERSION_MAJOR)
+ $(LN) $(PROGRAM_NAME).$(SO_SUFFIX).$(VERSION_MAJOR) $(DESTDIR)$(LIB_DIR)/$(PROGRAM_NAME).$(SO_SUFFIX)
+- $(INSTALL_DATA) $(PROGRAM_NAME).a $(DESTDIR)$(LIB_DIR)/$(PROGRAM_NAME).a
+ $(INSTALL_DATA) $(PROGRAM_NAME).h $(DESTDIR)$(INC_DIR)/$(PROGRAM_NAME).h
+ $(INSTALL_DATA) $(PROGRAM_NAME).7 $(DESTDIR)$(MAN7_DIR)/$(PROGRAM_NAME).7
+
diff --git a/dev-libs/libjodycode/libjodycode-3.1.ebuild b/dev-libs/libjodycode/libjodycode-3.1.ebuild
new file mode 100644
index 000000000000..76fa041c7d71
--- /dev/null
+++ b/dev-libs/libjodycode/libjodycode-3.1.ebuild
@@ -0,0 +1,33 @@
+# Copyright 2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DESCRIPTION="Shared code used by several utilities written by Jody Bruchon"
+HOMEPAGE="https://github.com/jbruchon/libjodycode"
+SRC_URI="https://github.com/jbruchon/libjodycode/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64"
+
+# missing test script
+# https://github.com/jbruchon/jdupes/issues/191
+RESTRICT="test"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-3.0.1-static-lib.patch
+)
+
+src_compile() {
+ emake sharedlib
+}
+
+src_install() {
+ emake \
+ DESTDIR="${D}" \
+ LIB_DIR="/usr/$(get_libdir)" \
+ PREFIX="${EPREFIX}"/usr \
+ install
+ einstalldocs
+}
diff --git a/dev-libs/libjodycode/metadata.xml b/dev-libs/libjodycode/metadata.xml
new file mode 100644
index 000000000000..5e6911a2de6c
--- /dev/null
+++ b/dev-libs/libjodycode/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>jakov.petrina@sartura.hr</email>
+ <name>Jakov Petrina</name>
+ </maintainer>
+ <maintainer type="person" proxied="proxy">
+ <email>jsmolic@gentoo.org</email>
+ <name>Jakov Smolić</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">jbruchon/libjodycode</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/libjwt/Manifest b/dev-libs/libjwt/Manifest
new file mode 100644
index 000000000000..c8e0cd1b9089
--- /dev/null
+++ b/dev-libs/libjwt/Manifest
@@ -0,0 +1 @@
+DIST libjwt-1.15.3.tar.gz 108461 BLAKE2B 76b113ba189b23cf254906f85aa16df0a3243554c1930ea8471942072aaa1539814df444e5f1d48693ff5147489b444505358f6bdd84a88928a8ab5f3e036110 SHA512 111052e4a424f3960383ee533503c633b7284e4283e5b50cb8d5ba1fae6012b6f142d58e7230af0ff731329822abc7c3ab551b635b81d1341d3d5025b32dfd9f
diff --git a/dev-libs/libjwt/files/libjwt-1.15.3_multi_ssl_atools.patch b/dev-libs/libjwt/files/libjwt-1.15.3_multi_ssl_atools.patch
new file mode 100644
index 000000000000..1217eb86c4e2
--- /dev/null
+++ b/dev-libs/libjwt/files/libjwt-1.15.3_multi_ssl_atools.patch
@@ -0,0 +1,342 @@
+From: https://github.com/dekeonus/libjwt/tree/feat-multi-ssl
+
+Enables multiple ssl implemtations to be installed at the same time
+default libjwt will default to linking to openssl (if openssl enabled)
+
+
+diff --git a/configure.ac b/configure.ac
+index be848df..3b61e2a 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -6,27 +6,105 @@ LT_INIT([])
+ AC_CONFIG_MACRO_DIR([m4])
+ AC_CONFIG_HEADERS([libjwt/config.h])
+
++AC_SUBST([LIBJWT_LTVERSION], [11:0:9])
+ AC_SUBST([AM_CFLAGS], [-Wall])
+
+-dnl Prefer OpenSSL unless asked to ignore it
++dnl Build with OpenSSL when asked
+ AC_ARG_WITH([openssl],
+- AS_HELP_STRING([--without-openssl], [Ignore presence of OpenSSL libraries and use GnuTLS]))
+-
+-AS_IF([test "x$with_openssl" != "xno"], [
+- PKG_CHECK_MODULES([OPENSSL], [openssl >= 0.9.8])
+- AM_CONDITIONAL([HAVE_OPENSSL], [true])
+-], [
+- PKG_CHECK_MODULES([GNUTLS], [gnutls >= 3.5.8])
+- AM_CONDITIONAL([HAVE_OPENSSL], [false])
++ AS_HELP_STRING([--with-openssl], [Build using OpenSSL library]),
++ [with_openssl=$withval],
++ [blank_openssl=yes])
++
++dnl Build with GnutLS when asked
++AC_ARG_WITH([gnutls],
++ AS_HELP_STRING([--with-gnutls], [Build using GnuTLS library]),
++ [with_gnutls=$withval],
++ [blank_gnutls=yes])
++
++dnl If no with[out]-'ssl' default to openssl
++AS_IF([test "x$blank_openssl" = "xyes" -a "x$blank_gnutls" = "xyes"], [
++ with_openssl=yes
++])
++
++dnl emulate previous build, without-openssl means build with gnutls
++AS_IF([test "x$with_openssl" = "xno" -a "x$blank_gnutls" = "xyes"], [
++ with_gnutls=yes
++])
++
++AC_ARG_ENABLE([multi-ssl], AS_HELP_STRING([--enable-multi-ssl],
++ [Enable multiple ssl library implementations]),
++ [enable_multi_ssl=$enableval],
++ [enable_multi_ssl=no])
++
++AS_IF([test "x$enable_multi_ssl" = "xno"], [
++ AS_IF([test "x$with_openssl" = "xyes" -a "x$with_gnutls" = "xyes"], [
++AC_MSG_ERROR([You need to enable multi-ssl to support multiple ssl implementations concurrently])
++ ])
++])
++AM_CONDITIONAL([MULTI_SSL], [test "x$enable_multi_ssl" = "xyes"])
++
++AS_IF([test "x$with_openssl" = "xyes"], [
++ PKG_CHECK_MODULES([OPENSSL], [openssl >= 0.9.8], [found_openssl=yes])
++])
++AM_CONDITIONAL([HAVE_OPENSSL], [test "x$found_openssl" = "xyes"])
++
++AS_IF([test "x$with_gnutls" = "xyes"], [
++ PKG_CHECK_MODULES([GNUTLS], [gnutls >= 3.5.8], [found_gnutls=yes])
++])
++AM_CONDITIONAL([HAVE_GNUTLS], [test "x$found_gnutls" = "xyes"])
++
++AS_IF([test "x$found_openssl" != "xyes" -a "x$found_gnutls" != "xyes"], [
++ AC_MSG_ERROR([Neither openssl nor gnutls was found])
+ ])
+
++dnl work out default, or only, ssl library
++AC_MSG_CHECKING([which ssl library to use as default])
++AC_ARG_WITH([default-ssl], AS_HELP_STRING([--with-default-ssl@<:@=Lib@:>@],
++ [set default ssl library [openssl|gnutls] for multi-ssl]),
++ [with_default_ssl=$withval],
++ [with_default_ssl=yes])
++dnl note, yes/blank case will require further nesting, if additional ssl lib support added
++AS_CASE([$with_default_ssl],
++ [openssl], [AS_IF([test "x$found_openssl" = "xyes"], [ssl_impl=openssl],
++ [AC_MSG_ERROR([requested default ssl lib openssl, but openssl not found])]
++ )],
++ [gnutls], [AS_IF([test "x$found_gnutls" = "xyes"], [ssl_impl=gnutls],
++ [AC_MSG_ERROR([requested default ssl lib gnutls, but gnutls not found])]
++ )],
++ [no], [AC_MSG_ERROR([unsupported configuration --without-default-ssl])],
++ [yes], [AS_IF([test "x$found_openssl" = "xyes"], [ssl_impl=openssl],
++ [ssl_impl=gnutls])],
++ [AC_MSG_ERROR([Unknown ssl library $with_default_ssl])]
++)
++AC_MSG_RESULT([$ssl_impl])
++
+ AC_ARG_WITH([examples],
+ AS_HELP_STRING([--without-examples], [do not build example programs]),
+- [],
++ [with_examples=$withval],
+ [with_examples=yes])
+
+ AM_CONDITIONAL([BUILD_EXAMPLES], [test "x$with_examples" != "xno"])
+
++dnl should not reach default case, bail out if it triggers
++AS_CASE([$ssl_impl],
++ [openssl], [
++ AC_SUBST([SSL_DEF_LDFLAGS], [$OPENSSL_LDFLAGS])
++ AC_SUBST([SSL_DEF_INCLUDES], [$OPENSSL_INCLUDES])
++ AC_SUBST([SSL_DEF_CFLAGS], [$OPENSSL_CFLAGS])
++ AC_SUBST([SSL_DEF_LIBS], [$OPENSSL_LIBS])
++ ],
++ [gnutls], [
++ AC_SUBST([SSL_DEF_LDFLAGS], [$GNUTLS_LDFLAGS])
++ AC_SUBST([SSL_DEF_INCLUDES], [$GNUTLS_INCLUDES])
++ AC_SUBST([SSL_DEF_CFLAGS], [$GNUTLS_CFLAGS])
++ AC_SUBST([SSL_DEF_LIBS], [$GNUTLS_LIBS])
++ ],
++ [AC_MSG_ERROR([unable to set default ssl library])]
++)
++AM_CONDITIONAL([SSL_DEF_OPENSSL], [test "x$ssl_impl" = "xopenssl"])
++dnl currently unused, for additional ssl implementations
++dnl AM_CONDITIONAL([SSL_DEF_GNUTLS], [test "x$ssl_impl" = "xgnutls"])
++
+ PKG_CHECK_MODULES([JANSSON], [jansson >= 2.0])
+ PKG_CHECK_MODULES([CHECK], [check >= 0.9.4], [true], [true])
+
+@@ -44,6 +122,13 @@ DX_PDF_FEATURE(OFF)
+ DX_PS_FEATURE(OFF)
+ DX_INIT_DOXYGEN($PACKAGE_NAME, doxygen.cfg)
+
++
++AM_COND_IF([MULTI_SSL], [
++ AM_COND_IF([HAVE_OPENSSL],
++ [AC_CONFIG_FILES([libjwt/libjwt-ossl.pc])])
++ AM_COND_IF([HAVE_GNUTLS],
++ [AC_CONFIG_FILES([libjwt/libjwt-gnutls.pc])])
++ ])
+ AC_CONFIG_FILES([
+ Makefile
+ include/Makefile
+diff --git a/libjwt/Makefile.am b/libjwt/Makefile.am
+index 7621428..b837d53 100644
+--- a/libjwt/Makefile.am
++++ b/libjwt/Makefile.am
+@@ -4,17 +4,51 @@ lib_LTLIBRARIES = libjwt.la
+
+ libjwt_la_SOURCES = jwt.c base64.c
+
+-if HAVE_OPENSSL
++if SSL_DEF_OPENSSL
+ libjwt_la_SOURCES += jwt-openssl.c
+ else
++## SSL_DEF_GNUTLS
+ libjwt_la_SOURCES += jwt-gnutls.c
+ endif
+
++if MULTI_SSL
++if HAVE_OPENSSL
++lib_LTLIBRARIES += libjwt-ossl.la
++libjwt_ossl_la_SOURCES = jwt.c base64.c jwt-openssl.c
++endif
++if HAVE_GNUTLS
++lib_LTLIBRARIES += libjwt-gnutls.la
++libjwt_gnutls_la_SOURCES = jwt.c base64.c jwt-gnutls.c
++endif
++endif
++
+ # http://www.gnu.org/software/libtool/manual/html_node/Updating-version-info.html
+-libjwt_la_LDFLAGS = -version-info 11:0:9 $(OPENSSL_LDFLAGS) $(GNUTLS_LDFLAGS) $(JANSSON_LDFLAGS) -no-undefined
+-libjwt_la_CPPFLAGS = -I$(top_srcdir)/include $(OPENSSL_INCLUDES) $(GNUTLS_INCLUDES) $(CODE_COVERAGE_CPPFLAGS) -Wall
+-libjwt_la_CFLAGS = $(JANSSON_CFLAGS) $(OPENSSL_CFLAGS) $(GNUTLS_CFLAGS) $(CODE_COVERAGE_CFLAGS) -D_GNU_SOURCE
+-libjwt_la_LIBADD = $(JANSSON_LIBS) $(OPENSSL_LIBS) $(GNUTLS_LIBS) $(CODE_COVERAGE_LDFLAGS)
++libjwt_la_LDFLAGS = -version-info $(LIBJWT_LTVERSION) $(SSL_DEF_LDFLAGS) $(JANSSON_LDFLAGS) -no-undefined
++libjwt_la_CPPFLAGS = -I$(top_srcdir)/include $(SSL_DEF_INCLUDES) $(CODE_COVERAGE_CPPFLAGS) -Wall
++libjwt_la_CFLAGS = $(JANSSON_CFLAGS) $(SSL_DEF_CFLAGS) $(CODE_COVERAGE_CFLAGS) -D_GNU_SOURCE
++libjwt_la_LIBADD = $(JANSSON_LIBS) $(SSL_DEF_LIBS) $(CODE_COVERAGE_LDFLAGS)
++if MULTI_SSL
++if HAVE_OPENSSL
++libjwt_ossl_la_LDFLAGS = -version-info $(LIBJWT_LTVERSION) $(OPENSSL_LDFLAGS) $(JANSSON_LDFLAGS) -no-undefined
++libjwt_ossl_la_CPPFLAGS = -I$(top_srcdir)/include $(OPENSSL_INCLUDES) $(CODE_COVERAGE_CPPFLAGS) -Wall
++libjwt_ossl_la_CFLAGS = $(JANSSON_CFLAGS) $(OPENSSL_CFLAGS) $(CODE_COVERAGE_CFLAGS) -D_GNU_SOURCE
++libjwt_ossl_la_LIBADD = $(JANSSON_LIBS) $(OPENSSL_LIBS) $(CODE_COVERAGE_LDFLAGS)
++endif
++if HAVE_GNUTLS
++libjwt_gnutls_la_LDFLAGS = -version-info $(LIBJWT_LTVERSION) $(GNUTLS_LDFLAGS) $(JANSSON_LDFLAGS) -no-undefined
++libjwt_gnutls_la_CPPFLAGS = -I$(top_srcdir)/include $(GNUTLS_INCLUDES) $(CODE_COVERAGE_CPPFLAGS) -Wall
++libjwt_gnutls_la_CFLAGS = $(JANSSON_CFLAGS) $(GNUTLS_CFLAGS) $(CODE_COVERAGE_CFLAGS) -D_GNU_SOURCE
++libjwt_gnutls_la_LIBADD = $(JANSSON_LIBS) $(GNUTLS_LIBS) $(CODE_COVERAGE_LDFLAGS)
++endif
++endif
+
+ pkgconfiglibdir = $(libdir)/pkgconfig
+ pkgconfiglib_DATA = libjwt.pc
++if MULTI_SSL
++if HAVE_OPENSSL
++pkgconfiglib_DATA += libjwt-ossl.pc
++endif
++if HAVE_GNUTLS
++pkgconfiglib_DATA += libjwt-gnutls.pc
++endif
++endif
+diff --git a/libjwt/libjwt-gnutls.pc.in b/libjwt/libjwt-gnutls.pc.in
+new file mode 100644
+index 0000000..63962ee
+--- /dev/null
++++ b/libjwt/libjwt-gnutls.pc.in
+@@ -0,0 +1,12 @@
++prefix=@prefix@
++exec_prefix=@exec_prefix@
++libdir=@libdir@
++includedir=@includedir@
++
++Name: @PACKAGE_NAME@
++Description: JWT C Library
++Version: @PACKAGE_VERSION@
++
++Cflags: -I${includedir}
++Libs: -L${libdir} -ljwt-gnutls
++Libs.private: @JANSSON_LIBS@ @GNUTLS_LIBS@
+diff --git a/libjwt/libjwt-ossl.pc.in b/libjwt/libjwt-ossl.pc.in
+new file mode 100644
+index 0000000..98c0ebe
+--- /dev/null
++++ b/libjwt/libjwt-ossl.pc.in
+@@ -0,0 +1,12 @@
++prefix=@prefix@
++exec_prefix=@exec_prefix@
++libdir=@libdir@
++includedir=@includedir@
++
++Name: @PACKAGE_NAME@
++Description: JWT C Library
++Version: @PACKAGE_VERSION@
++
++Cflags: -I${includedir}
++Libs: -L${libdir} -ljwt-ossl
++Libs.private: @JANSSON_LIBS@ @OPENSSL_LIBS@
+diff --git a/libjwt/libjwt.pc.in b/libjwt/libjwt.pc.in
+index 0c81d36..0bb64f4 100644
+--- a/libjwt/libjwt.pc.in
++++ b/libjwt/libjwt.pc.in
+@@ -9,4 +9,4 @@ Version: @PACKAGE_VERSION@
+
+ Cflags: -I${includedir}
+ Libs: -L${libdir} -ljwt
+-Libs.private: @JANSSON_LIBS@ @OPENSSL_LIBS@
++Libs.private: @JANSSON_LIBS@ @SSL_DEF_LIBS@
+diff --git a/tests/Makefile.am b/tests/Makefile.am
+index 58860ac..57a6444 100644
+--- a/tests/Makefile.am
++++ b/tests/Makefile.am
+@@ -10,6 +10,14 @@ TESTS = \
+ jwt_ec \
+ jwt_validate
+
++if MULTI_SSL
++if HAVE_OPENSSL
++include ossl_tests.mk
++endif
++if HAVE_GNUTLS
++include gnutls_tests.mk
++endif
++endif
+ check_PROGRAMS = $(TESTS)
+
+ AM_CPPFLAGS = -I$(top_srcdir)/include
+diff --git a/tests/gnutls_tests.mk b/tests/gnutls_tests.mk
+new file mode 100644
+index 0000000..b16b8ef
+--- /dev/null
++++ b/tests/gnutls_tests.mk
+@@ -0,0 +1,32 @@
++## for jwttest in $(jwttests)
++## do
++## TESTS += $(sslimpl)_$(jwttest)
++## $(sslimpl)_$(jwttest)_SOURCES = $(jwttest).c
++## $(sslimpl)_$(jwttest)_LDADD = -ljwt-$(sslimpl) $(CHECK_LIBS)
++## done
++
++TESTS += gnutls_jwt_new
++gnutls_jwt_new_SOURCES = jwt_new.c
++gnutls_jwt_new_LDADD = -ljwt-gnutls $(CHECK_LIBS)
++TESTS += gnutls_jwt_grant
++gnutls_jwt_grant_SOURCES = jwt_grant.c
++gnutls_jwt_grant_LDADD = -ljwt-gnutls $(CHECK_LIBS)
++TESTS += gnutls_jwt_header
++gnutls_jwt_header_SOURCES = jwt_header.c
++gnutls_jwt_header_LDADD = -ljwt-gnutls $(CHECK_LIBS)
++TESTS += gnutls_jwt_dump
++gnutls_jwt_dump_SOURCES = jwt_dump.c
++gnutls_jwt_dump_LDADD = -ljwt-gnutls $(CHECK_LIBS)
++TESTS += gnutls_jwt_encode
++gnutls_jwt_encode_SOURCES = jwt_encode.c
++gnutls_jwt_encode_LDADD = -ljwt-gnutls $(CHECK_LIBS)
++TESTS += gnutls_jwt_rsa
++gnutls_jwt_rsa_SOURCES = jwt_rsa.c
++gnutls_jwt_rsa_LDADD = -ljwt-gnutls $(CHECK_LIBS)
++TESTS += gnutls_jwt_ec
++gnutls_jwt_ec_SOURCES = jwt_ec.c
++gnutls_jwt_ec_LDADD = -ljwt-gnutls $(CHECK_LIBS)
++TESTS += gnutls_jwt_validate
++gnutls_jwt_validate_SOURCES = jwt_validate.c
++gnutls_jwt_validate_LDADD = -ljwt-gnutls $(CHECK_LIBS)
++
+diff --git a/tests/ossl_tests.mk b/tests/ossl_tests.mk
+new file mode 100644
+index 0000000..5c360c4
+--- /dev/null
++++ b/tests/ossl_tests.mk
+@@ -0,0 +1,32 @@
++## for jwttest in $(jwttests)
++## do
++## TESTS += $(sslimpl)_$(jwttest)
++## $(sslimpl)_$(jwttest)_SOURCES = $(jwttest).c
++## $(sslimpl)_$(jwttest)_LDADD = -ljwt-$(sslimpl) $(CHECK_LIBS)
++## done
++
++TESTS += ossl_jwt_new
++ossl_jwt_new_SOURCES = jwt_new.c
++ossl_jwt_new_LDADD = -ljwt-ossl $(CHECK_LIBS)
++TESTS += ossl_jwt_grant
++ossl_jwt_grant_SOURCES = jwt_grant.c
++ossl_jwt_grant_LDADD = -ljwt-ossl $(CHECK_LIBS)
++TESTS += ossl_jwt_header
++ossl_jwt_header_SOURCES = jwt_header.c
++ossl_jwt_header_LDADD = -ljwt-ossl $(CHECK_LIBS)
++TESTS += ossl_jwt_dump
++ossl_jwt_dump_SOURCES = jwt_dump.c
++ossl_jwt_dump_LDADD = -ljwt-ossl $(CHECK_LIBS)
++TESTS += ossl_jwt_encode
++ossl_jwt_encode_SOURCES = jwt_encode.c
++ossl_jwt_encode_LDADD = -ljwt-ossl $(CHECK_LIBS)
++TESTS += ossl_jwt_rsa
++ossl_jwt_rsa_SOURCES = jwt_rsa.c
++ossl_jwt_rsa_LDADD = -ljwt-ossl $(CHECK_LIBS)
++TESTS += ossl_jwt_ec
++ossl_jwt_ec_SOURCES = jwt_ec.c
++ossl_jwt_ec_LDADD = -ljwt-ossl $(CHECK_LIBS)
++TESTS += ossl_jwt_validate
++ossl_jwt_validate_SOURCES = jwt_validate.c
++ossl_jwt_validate_LDADD = -ljwt-ossl $(CHECK_LIBS)
++
diff --git a/dev-libs/libjwt/libjwt-1.15.3.ebuild b/dev-libs/libjwt/libjwt-1.15.3.ebuild
new file mode 100644
index 000000000000..35757c174d8b
--- /dev/null
+++ b/dev-libs/libjwt/libjwt-1.15.3.ebuild
@@ -0,0 +1,68 @@
+# Copyright 2022-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools
+
+DESCRIPTION="JWT C Library"
+HOMEPAGE="https://github.com/benmcollins/libjwt"
+if [[ ${PV} == 9999 ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/benmcollins/libjwt"
+else
+ SRC_URI="https://github.com/benmcollins/${PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~amd64 ~x86"
+fi
+
+LICENSE="MPL-2.0"
+SLOT="0"
+# openssl / gnutls set which ssl implementations to use (build libjwt-ossl.so / libjwt-gnutls.so)
+# IF openssl is enabled it will be the implementation used for libjwt.so
+# gnutls will only be used for libjwt.so if openssl is disabled
+IUSE="gnutls +openssl test"
+
+REQUIRED_USE="
+ || ( gnutls openssl )
+"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ dev-libs/jansson
+ gnutls? (
+ net-libs/gnutls:=
+ )
+ openssl? (
+ dev-libs/openssl:=
+ )
+"
+
+DEPEND="
+ ${RDEPEND}
+ test? ( dev-libs/check )
+"
+
+PATCHES=(
+ "${FILESDIR}/libjwt-1.15.3_multi_ssl_atools.patch"
+)
+
+src_prepare() {
+ default
+ eautoreconf
+}
+
+src_configure() {
+ local myeconfargs=(
+ --enable-multi-ssl
+ $(use_with gnutls)
+ $(use_with openssl)
+ --with-default-ssl=$(usex openssl openssl gnutls)
+ )
+
+ econf "${myeconfargs[@]}"
+}
+
+src_install() {
+ default
+ find "${ED}" -name '*.la' -delete || die
+}
diff --git a/dev-libs/libjwt/metadata.xml b/dev-libs/libjwt/metadata.xml
new file mode 100644
index 000000000000..b06eda457275
--- /dev/null
+++ b/dev-libs/libjwt/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>jaco@uls.co.za</email>
+ <name>Jaco Kroon</name>
+ </maintainer>
+ <maintainer type="person" proxied="yes">
+ <email>dek.devel@baisenvar.info</email>
+ <name>Bill Prendergast</name>
+ </maintainer>
+ <maintainer type="person" proxied="yes">
+ <email>nic@boet.cc</email>
+ <name>Nic Boet</name>
+ </maintainer>
+ <maintainer type="project" proxied="proxy">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+ </maintainer>
+ <use>
+ <flag name="openssl">Use openssl libs for crypto functions</flag>
+ </use>
+ <upstream>
+ <remote-id type="github">benmcollins/libjwt</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/libkpass/libkpass-6-r1.ebuild b/dev-libs/libkpass/libkpass-6-r1.ebuild
deleted file mode 100644
index 3a2ddb4fdc80..000000000000
--- a/dev-libs/libkpass/libkpass-6-r1.ebuild
+++ /dev/null
@@ -1,25 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-DESCRIPTION="Libkpass is a C implementation to access KeePass 1.x format password databases"
-HOMEPAGE="http://libkpass.sourceforge.net/"
-SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="~amd64"
-IUSE="static-libs"
-
-RDEPEND=">=dev-libs/nettle-2.7.1"
-DEPEND="${RDEPEND}"
-
-src_configure() {
- econf $(use_enable static-libs static)
-}
-
-src_install() {
- default
- use static-libs || rm -f "${ED}"/usr/lib*/${PN}.la
-}
diff --git a/dev-libs/libkpass/libkpass-6-r2.ebuild b/dev-libs/libkpass/libkpass-6-r2.ebuild
new file mode 100644
index 000000000000..a1d6d59750cc
--- /dev/null
+++ b/dev-libs/libkpass/libkpass-6-r2.ebuild
@@ -0,0 +1,26 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DESCRIPTION="Libkpass is a C implementation to access KeePass 1.x format password databases"
+HOMEPAGE="https://sourceforge.net/projects/libkpass/"
+SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="static-libs"
+
+RDEPEND=">=dev-libs/nettle-2.7.1:="
+DEPEND="${RDEPEND}"
+
+src_configure() {
+ econf $(use_enable static-libs static)
+}
+
+src_install() {
+ default
+
+ use static-libs || rm -f "${ED}"/usr/lib*/${PN}.la
+}
diff --git a/dev-libs/libksba/Manifest b/dev-libs/libksba/Manifest
index cc743c60382a..3204285fa2ac 100644
--- a/dev-libs/libksba/Manifest
+++ b/dev-libs/libksba/Manifest
@@ -1,3 +1,4 @@
-DIST libksba-1.5.0.tar.bz2 656518 BLAKE2B 077655031f82ff13c596ad0be0d0f15408a5b793f00e3af3516f4f207285f7d76096216c7bf11d2c46c28eb332cc74df39bef84afb0f47184c8ebdd8cb92a86d SHA512 84383e8b084bf47ac646a9aacb174e510ffcab4b966b649e4351990eaf7ce78cc9d199e6c4f3a1be697888c857ee86ecef949c06156790c7d8d0bd0fb0142721
-DIST libksba-1.5.1.tar.bz2 659280 BLAKE2B f247a2c9545e3c3ae3bbcf50344ca530ef320d12b9a1e301bca086b0e1a69e6b7a88b912b14f862d82e7ad45bf588754db601d987ee42579d8042e68b5108d33 SHA512 156fe6a36daa7b11ce580366ab36a5fceda253413f0057ace791e4f028fd3158a70a3f6ba1d0c824fafee4420d1076864dbd0911606fb65e14c8b2332b6cc92b
-DIST libksba-1.6.0.tar.bz2 662120 BLAKE2B 59bee23f764ab3e0f79fae6074ffe568845b6089ff29b8c5112973490ff5e1436834d5d0b50954ba9fbd6be655f47043a6345181c5c7e552322ceb331d030780 SHA512 a7c76d41dfd8ec6383ac2de3c53848cd9f066b538f6f3cd43175e3c8095df51b96d0a24a573481c0c4856b09b7c224e2b562d88f5c0801e7acfb582ea2739c2b
+DIST libksba-1.6.5.tar.bz2 708400 BLAKE2B 934bde6412de6c1f3062b101930d7b2beac3f6e3f2fbeb5c964a6252b68a3b70c7cb3a48c7eac04b7f1d2ea3c717e1c7e164c1bc6113b46244b9dd130c64b540 SHA512 959312ac0bb2dabcdd22217266daccdf3938d62ff2936c767cade76888757ece1bb6fe79f2c679db03d1baf3919757265d0ded216fee8b8d235e94a70fcf05de
+DIST libksba-1.6.5.tar.bz2.sig 119 BLAKE2B 70f290ed44160af2882b5f2543965e3003dd0fd106ab6eaa1f7dfbb878d1f0402c16f3e802af6be589e501e17d0ead82c03afe73c8353b314c8cafb24e7d4a11 SHA512 e70f136edcf29bf931eccaf930e0ae644fd372e0a6f472599898d2fd5e44e64ab2cea63b0be2b1d9a468f73f607881dfdf06adfe6d1fc9ebd66b21e4c245f837
+DIST libksba-1.6.6.tar.bz2 708510 BLAKE2B 9985b16e946d6b407b5acbf005610cfb2f01d2a733ddff110e329dec8d95bd248cce6e9936d441676a4b06f031cc9122e26146a0f6d36cb343fb9ec16aef3627 SHA512 3b30bef9452ae0c52b4a52e9145fbd6dc57cf7a2b59302e3af063db6b45384e8ed7af62604efd7939b9e0cb5931e946b15609888e9699fafe4acbb0cbf138087
+DIST libksba-1.6.6.tar.bz2.sig 119 BLAKE2B ec4b72d612bb20c280316de7a66ffe697c65caf52e451621b42965d7d5b3e53577fc5b9c41ad5f5c09e42d90654d82afad8462f0baaf757e122fffedcd35d4ce SHA512 5ab4f890819ee3638660fa2ce529223e1798da53508d0cc2db5a9f0b21a242863037f5e81cdf2805e6cafb56e22412005f01cbe7b6344f3eb1a38f7cff98520d
diff --git a/dev-libs/libksba/files/libksba-1.6.0-no-fgrep-ksba-config.patch b/dev-libs/libksba/files/libksba-1.6.0-no-fgrep-ksba-config.patch
new file mode 100644
index 000000000000..7c5f7e85cd0d
--- /dev/null
+++ b/dev-libs/libksba/files/libksba-1.6.0-no-fgrep-ksba-config.patch
@@ -0,0 +1,21 @@
+https://bugs.gentoo.org/868384
+--- a/src/ksba-config.in
++++ b/src/ksba-config.in
+@@ -126,7 +126,7 @@ if test "$echo_cflags" = "yes"; then
+ fi
+ tmp=""
+ for i in $includes $cflags; do
+- if echo "$tmp" | fgrep -v -- "$i" >/dev/null; then
++ if echo "$tmp" | grep -F -v -- "$i" >/dev/null; then
+ tmp="$tmp $i"
+ fi
+ done
+@@ -140,7 +140,7 @@ if test "$echo_libs" = "yes"; then
+ fi
+ tmp=""
+ for i in $libdirs $libs; do
+- if echo "$tmp" | fgrep -v -- "$i" >/dev/null; then
++ if echo "$tmp" | grep -F -v -- "$i" >/dev/null; then
+ tmp="$tmp $i"
+ fi
+ done
diff --git a/dev-libs/libksba/libksba-1.5.0.ebuild b/dev-libs/libksba/libksba-1.5.0.ebuild
deleted file mode 100644
index 32f6d92671c7..000000000000
--- a/dev-libs/libksba/libksba-1.5.0.ebuild
+++ /dev/null
@@ -1,33 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-DESCRIPTION="X.509 and CMS (PKCS#7) library"
-HOMEPAGE="http://www.gnupg.org/related_software/libksba"
-SRC_URI="mirror://gnupg/libksba/${P}.tar.bz2"
-
-LICENSE="LGPL-3+ GPL-2+ GPL-3"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-IUSE="static-libs"
-
-RDEPEND=">=dev-libs/libgpg-error-1.8"
-DEPEND="${RDEPEND}"
-BDEPEND="sys-devel/bison"
-
-src_configure() {
- local myeconfargs=(
- $(use_enable static-libs static)
- GPG_ERROR_CONFIG="${ESYSROOT}/usr/bin/${CHOST}-gpg-error-config"
- LIBGCRYPT_CONFIG="${ESYSROOT}/usr/bin/${CHOST}-libgcrypt-config"
- $("${S}/configure" --help | grep -o -- '--without-.*-prefix')
- )
- econf "${myeconfargs[@]}"
-}
-
-src_install() {
- default
- # ppl need to use lib*-config for --cflags and --libs
- find "${ED}" -type f -name '*.la' -delete || die
-}
diff --git a/dev-libs/libksba/libksba-1.5.1.ebuild b/dev-libs/libksba/libksba-1.5.1.ebuild
deleted file mode 100644
index 32f6d92671c7..000000000000
--- a/dev-libs/libksba/libksba-1.5.1.ebuild
+++ /dev/null
@@ -1,33 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-DESCRIPTION="X.509 and CMS (PKCS#7) library"
-HOMEPAGE="http://www.gnupg.org/related_software/libksba"
-SRC_URI="mirror://gnupg/libksba/${P}.tar.bz2"
-
-LICENSE="LGPL-3+ GPL-2+ GPL-3"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-IUSE="static-libs"
-
-RDEPEND=">=dev-libs/libgpg-error-1.8"
-DEPEND="${RDEPEND}"
-BDEPEND="sys-devel/bison"
-
-src_configure() {
- local myeconfargs=(
- $(use_enable static-libs static)
- GPG_ERROR_CONFIG="${ESYSROOT}/usr/bin/${CHOST}-gpg-error-config"
- LIBGCRYPT_CONFIG="${ESYSROOT}/usr/bin/${CHOST}-libgcrypt-config"
- $("${S}/configure" --help | grep -o -- '--without-.*-prefix')
- )
- econf "${myeconfargs[@]}"
-}
-
-src_install() {
- default
- # ppl need to use lib*-config for --cflags and --libs
- find "${ED}" -type f -name '*.la' -delete || die
-}
diff --git a/dev-libs/libksba/libksba-1.6.0.ebuild b/dev-libs/libksba/libksba-1.6.0.ebuild
deleted file mode 100644
index 35ee0c1d4777..000000000000
--- a/dev-libs/libksba/libksba-1.6.0.ebuild
+++ /dev/null
@@ -1,33 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-DESCRIPTION="X.509 and CMS (PKCS#7) library"
-HOMEPAGE="http://www.gnupg.org/related_software/libksba"
-SRC_URI="mirror://gnupg/libksba/${P}.tar.bz2"
-
-LICENSE="LGPL-3+ GPL-2+ GPL-3"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-IUSE="static-libs"
-
-RDEPEND=">=dev-libs/libgpg-error-1.8"
-DEPEND="${RDEPEND}"
-BDEPEND="sys-devel/bison"
-
-src_configure() {
- local myeconfargs=(
- $(use_enable static-libs static)
- GPG_ERROR_CONFIG="${ESYSROOT}/usr/bin/${CHOST}-gpg-error-config"
- LIBGCRYPT_CONFIG="${ESYSROOT}/usr/bin/${CHOST}-libgcrypt-config"
- $("${S}/configure" --help | grep -o -- '--without-.*-prefix')
- )
- econf "${myeconfargs[@]}"
-}
-
-src_install() {
- default
- # ppl need to use lib*-config for --cflags and --libs
- find "${ED}" -type f -name '*.la' -delete || die
-}
diff --git a/dev-libs/libksba/libksba-1.6.5.ebuild b/dev-libs/libksba/libksba-1.6.5.ebuild
new file mode 100644
index 000000000000..59e606b3c1d1
--- /dev/null
+++ b/dev-libs/libksba/libksba-1.6.5.ebuild
@@ -0,0 +1,62 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# Maintainers should:
+# 1. Join the "Gentoo" project at https://dev.gnupg.org/project/view/27/
+# 2. Subscribe to release tasks like https://dev.gnupg.org/T6159
+# (find the one for the current release then subscribe to it +
+# any subsequent ones linked within so you're covered for a while.)
+
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/gnupg.asc
+# in-source builds are not supported: https://dev.gnupg.org/T6313#166339
+inherit toolchain-funcs out-of-source verify-sig libtool
+
+DESCRIPTION="X.509 and CMS (PKCS#7) library"
+HOMEPAGE="https://www.gnupg.org/related_software/libksba"
+SRC_URI="mirror://gnupg/${PN}/${P}.tar.bz2"
+SRC_URI+=" verify-sig? ( mirror://gnupg/${PN}/${P}.tar.bz2.sig )"
+
+LICENSE="LGPL-3+ GPL-2+ GPL-3"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+IUSE="static-libs"
+
+RDEPEND=">=dev-libs/libgpg-error-1.33"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ app-alternatives/yacc
+ verify-sig? ( sec-keys/openpgp-keys-gnupg )
+"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-1.6.0-no-fgrep-ksba-config.patch
+)
+
+src_prepare() {
+ default
+
+ elibtoolize # necessary on Solaris for shared lib support
+}
+
+my_src_configure() {
+ export CC_FOR_BUILD="$(tc-getBUILD_CC)"
+
+ local myeconfargs=(
+ --disable-valgrind-tests
+ $(use_enable static-libs static)
+
+ GPG_ERROR_CONFIG="${ESYSROOT}/usr/bin/${CHOST}-gpg-error-config"
+ LIBGCRYPT_CONFIG="${ESYSROOT}/usr/bin/${CHOST}-libgcrypt-config"
+ )
+
+ econf "${myeconfargs[@]}"
+}
+
+my_src_install() {
+ default
+
+ # People need to use ksba-config for --cflags and --libs
+ find "${ED}" -type f -name '*.la' -delete || die
+}
diff --git a/dev-libs/libksba/libksba-1.6.6.ebuild b/dev-libs/libksba/libksba-1.6.6.ebuild
new file mode 100644
index 000000000000..59e606b3c1d1
--- /dev/null
+++ b/dev-libs/libksba/libksba-1.6.6.ebuild
@@ -0,0 +1,62 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# Maintainers should:
+# 1. Join the "Gentoo" project at https://dev.gnupg.org/project/view/27/
+# 2. Subscribe to release tasks like https://dev.gnupg.org/T6159
+# (find the one for the current release then subscribe to it +
+# any subsequent ones linked within so you're covered for a while.)
+
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/gnupg.asc
+# in-source builds are not supported: https://dev.gnupg.org/T6313#166339
+inherit toolchain-funcs out-of-source verify-sig libtool
+
+DESCRIPTION="X.509 and CMS (PKCS#7) library"
+HOMEPAGE="https://www.gnupg.org/related_software/libksba"
+SRC_URI="mirror://gnupg/${PN}/${P}.tar.bz2"
+SRC_URI+=" verify-sig? ( mirror://gnupg/${PN}/${P}.tar.bz2.sig )"
+
+LICENSE="LGPL-3+ GPL-2+ GPL-3"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+IUSE="static-libs"
+
+RDEPEND=">=dev-libs/libgpg-error-1.33"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ app-alternatives/yacc
+ verify-sig? ( sec-keys/openpgp-keys-gnupg )
+"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-1.6.0-no-fgrep-ksba-config.patch
+)
+
+src_prepare() {
+ default
+
+ elibtoolize # necessary on Solaris for shared lib support
+}
+
+my_src_configure() {
+ export CC_FOR_BUILD="$(tc-getBUILD_CC)"
+
+ local myeconfargs=(
+ --disable-valgrind-tests
+ $(use_enable static-libs static)
+
+ GPG_ERROR_CONFIG="${ESYSROOT}/usr/bin/${CHOST}-gpg-error-config"
+ LIBGCRYPT_CONFIG="${ESYSROOT}/usr/bin/${CHOST}-libgcrypt-config"
+ )
+
+ econf "${myeconfargs[@]}"
+}
+
+my_src_install() {
+ default
+
+ # People need to use ksba-config for --cflags and --libs
+ find "${ED}" -type f -name '*.la' -delete || die
+}
diff --git a/dev-libs/libksba/metadata.xml b/dev-libs/libksba/metadata.xml
index 965999a77a71..b0d83aa2e489 100644
--- a/dev-libs/libksba/metadata.xml
+++ b/dev-libs/libksba/metadata.xml
@@ -1,8 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <name>Lars Wendler</name>
- <email>polynomial-c@gentoo.org</email>
+ <maintainer type="project">
+ <email>base-system@gentoo.org</email>
+ <name>Gentoo Base System</name>
</maintainer>
- </pkgmetadata>
+</pkgmetadata>
diff --git a/dev-libs/libliftoff/Manifest b/dev-libs/libliftoff/Manifest
new file mode 100644
index 000000000000..a8c10dec1933
--- /dev/null
+++ b/dev-libs/libliftoff/Manifest
@@ -0,0 +1,2 @@
+DIST libliftoff-0.3.0.tar.gz 31691 BLAKE2B 7584518f709b9a6eb975ece00b4e194de2d1e8dde71d831600b13785b8cef86b5e36493068c2345f02b85c20454d88a7cabc6082170591e7769c44f9894fd2be SHA512 696f771aef60a9bcd71e1e2e04b5abea4f3c67a0aae231f360b43cdb5835a2181f482372ab1128fe152b0cb214786f924c33ee9ecf13dfe08c1b260d03d241a4
+DIST libliftoff-0.4.1.tar.gz 36504 BLAKE2B 23e73a9bb10a3c80caa21719bc2b857d612606f68559792731c04bf5b32d072b798e6f1a44da172910fbd2fbe6b439ef27d3848bf5c993a9f2a4d062a1038581 SHA512 4144dda17775a2b6f9f32bb62de9119365e93625ffeb6fb16c49224fcbe76991c18e66382a458ac4a648e5d72879c52be089ef3673e825edc158d73c97c874dc
diff --git a/dev-libs/libliftoff/libliftoff-0.3.0.ebuild b/dev-libs/libliftoff/libliftoff-0.3.0.ebuild
new file mode 100644
index 000000000000..bb61df9cef3f
--- /dev/null
+++ b/dev-libs/libliftoff/libliftoff-0.3.0.ebuild
@@ -0,0 +1,20 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit meson
+
+DESCRIPTION="Lightweight KMS plane library"
+HOMEPAGE="https://gitlab.freedesktop.org/emersion/libliftoff"
+SRC_URI="https://gitlab.freedesktop.org/emersion/${PN}/-/releases/v${PV}/downloads/${P}.tar.gz"
+KEYWORDS="~amd64"
+LICENSE="MIT"
+SLOT="0"
+
+RDEPEND="
+ x11-libs/libdrm
+"
+DEPEND="
+ ${RDEPEND}
+"
diff --git a/dev-libs/libliftoff/libliftoff-0.4.1.ebuild b/dev-libs/libliftoff/libliftoff-0.4.1.ebuild
new file mode 100644
index 000000000000..303b8af4f4d1
--- /dev/null
+++ b/dev-libs/libliftoff/libliftoff-0.4.1.ebuild
@@ -0,0 +1,20 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit meson
+
+DESCRIPTION="Lightweight KMS plane library"
+HOMEPAGE="https://gitlab.freedesktop.org/emersion/libliftoff"
+SRC_URI="https://gitlab.freedesktop.org/emersion/${PN}/-/releases/v${PV}/downloads/${P}.tar.gz"
+KEYWORDS="amd64 ~arm64 ~loong ~ppc64 ~riscv ~x86"
+LICENSE="MIT"
+SLOT="0"
+
+RDEPEND="
+ x11-libs/libdrm
+"
+DEPEND="
+ ${RDEPEND}
+"
diff --git a/dev-libs/libliftoff/metadata.xml b/dev-libs/libliftoff/metadata.xml
new file mode 100644
index 000000000000..96b4fdc27920
--- /dev/null
+++ b/dev-libs/libliftoff/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM 'https://www.gentoo.org/dtd/metadata.dtd'>
+<pkgmetadata>
+ <maintainer type="person">
+ <email>chewi@gentoo.org</email>
+ <name>James Le Cuirot</name>
+ </maintainer>
+</pkgmetadata>
diff --git a/dev-libs/liblinear/Manifest b/dev-libs/liblinear/Manifest
index 202d311a741a..51d7295908e9 100644
--- a/dev-libs/liblinear/Manifest
+++ b/dev-libs/liblinear/Manifest
@@ -1 +1,2 @@
+DIST liblinear-2.46.tar.gz 569001 BLAKE2B d1f9019717b47414c11611a253ca9185d80cb5860e53462f9b4a6f95c99b0d39502ba91827d8afca6e98d279b50ce44cdcfde9a3629f2c5d4773eeb93e17de76 SHA512 94b892a51f85246cad36562f1e4870a22e73c0c6bf237dfcdc50467e93212a6e88a8f7ba36cfd691c031d8ced9ad663f592ef94e309df764d56095cfff7835ce
DIST liblinear-243.tar.gz 565437 BLAKE2B 6367cfbdc040b9183c4993f5340a4d74a8dde48da04ef07f725dc5735073e1b9a7440bad325e9f7527ad76d675dbf3bb47d1d43fc323e1e42ef360d679e816ff SHA512 a0cfa9803285cdfda54752e7addfb210a9ba8f7056cfc8aca13987db7f0bef5fe02d6179eadc829cb243670414da061e6c4cf3d50d682ce392778a0e8cb9e753
diff --git a/dev-libs/liblinear/liblinear-246.ebuild b/dev-libs/liblinear/liblinear-246.ebuild
new file mode 100644
index 000000000000..c19c43ca5fd9
--- /dev/null
+++ b/dev-libs/liblinear/liblinear-246.ebuild
@@ -0,0 +1,61 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit multilib toolchain-funcs
+
+MY_PV="${PV:0:1}.${PV:1}"
+MY_P="${PN}-${MY_PV}"
+
+DESCRIPTION="A Library for Large Linear Classification"
+HOMEPAGE="https://www.csie.ntu.edu.tw/~cjlin/liblinear/ https://github.com/cjlin1/liblinear"
+SRC_URI="https://www.csie.ntu.edu.tw/~cjlin/liblinear/${MY_P}.tar.gz"
+S="${WORKDIR}"/${MY_P}
+
+LICENSE="BSD"
+SLOT="0/5"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-macos"
+
+src_prepare() {
+ default
+
+ sed -i \
+ -e '/^CFLAGS/d;/^CXXFLAGS/d' \
+ blas/Makefile || die
+ sed -i \
+ -e 's|make|$(MAKE)|g' \
+ -e '/$(LIBS)/s|$(CFLAGS)|& $(LDFLAGS)|g' \
+ -e '/^CFLAGS/d;/^CXXFLAGS/d' \
+ -e 's|$(SHARED_LIB_FLAG)|& $(LDFLAGS)|g' \
+ Makefile || die
+
+ # fix install_name on Darwin
+ sed -i \
+ -e '/install_name/s:liblinear.so.$(SHVER):'"${EPREFIX}"'/usr/lib/liblinear.$(SHVER).dylib:' \
+ -e '/LDFLAGS/s:liblinear.so.$(SHVER):liblinear'"$(get_libname '$(SHVER)')"':' \
+ Makefile || die
+}
+
+src_compile() {
+ emake \
+ CC="$(tc-getCC)" \
+ CXX="$(tc-getCXX)" \
+ CFLAGS="${CFLAGS} -fPIC" \
+ CXXFLAGS="${CXXFLAGS} -fPIC" \
+ AR="$(tc-getAR)" \
+ RANLIB="$(tc-getRANLIB)" \
+ lib all
+}
+
+src_install() {
+ dolib.so ${PN}$(get_libname ${SLOT#*/})
+ dosym ${PN}$(get_libname ${SLOT#*/}) /usr/$(get_libdir)/${PN}$(get_libname)
+
+ newbin predict ${PN}-predict
+ newbin train ${PN}-train
+
+ doheader linear.h
+
+ dodoc README
+}
diff --git a/dev-libs/liblist/Manifest b/dev-libs/liblist/Manifest
deleted file mode 100644
index 66420c8739c8..000000000000
--- a/dev-libs/liblist/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST liblist-2.4.tar.bz2 275234 BLAKE2B 2f18d8b85476bd9369ef597553a546450fd33b3f3b4486ca371e6efd810a51b23ca3880300e0ecf826e9a9e8591f2b90a6a0006d224b34552f77416a83f7175e SHA512 814a02e4e47de8d234e592b87156533c30563c64c3a7515712fb9b75119bcee21796232b2a5abf7e4ab892932fa256890ad175aecb75aad8fb4614c6f4fbe3dd
diff --git a/dev-libs/liblist/liblist-2.4-r1.ebuild b/dev-libs/liblist/liblist-2.4-r1.ebuild
deleted file mode 100644
index 4ff0ef02da9f..000000000000
--- a/dev-libs/liblist/liblist-2.4-r1.ebuild
+++ /dev/null
@@ -1,51 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-DESCRIPTION="Generic linked-list manipulation routines, plus queues and stacks"
-HOMEPAGE="http://ohnopub.net/liblist"
-SRC_URI="ftp://ohnopublishing.net/mirror/${P}.tar.bz2"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="amd64 ~ppc ~ppc64 x86 ~amd64-linux"
-IUSE="doc examples"
-
-BDEPEND="
- doc? (
- dev-texlive/texlive-metapost
- media-gfx/transfig
- virtual/latex-base
- )
-"
-
-src_configure() {
- econf \
- --disable-static \
- $(use_enable doc docs) \
- $(use_enable examples)
-}
-
-src_install() {
- default
-
- if use examples; then
- docinto examples
- dodoc examples/{*.c,Makefile,README}
- docinto examples/cache
- dodoc examples/cache/{*.c,README}
- fi
-
- docompress -x /usr/share/doc/${PF}/{list.0,paper.dvi,examples}
-
- # no static archives
- find "${ED}" -name '*.la' -delete || die
-}
-
-pkg_postinst() {
- elog "Note that man pages for this package have been renamed to avoid"
- elog "name collisions with some system functions. However, the libs"
- elog "and header files have not been changed."
- elog "The new names are liblist, lcache, liblist_queue, and liblist_stack."
-}
diff --git a/dev-libs/liblist/metadata.xml b/dev-libs/liblist/metadata.xml
deleted file mode 100644
index 0d62d0d99711..000000000000
--- a/dev-libs/liblist/metadata.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <!--maintainer-needed-->
- <longdescription>
- This package provides generic linked-list manipulation routines. In addition,
- queue and stack abstractions are provided by single header files.
- </longdescription>
-</pkgmetadata>
diff --git a/dev-libs/liblogging/liblogging-1.0.6-r1.ebuild b/dev-libs/liblogging/liblogging-1.0.6-r1.ebuild
index 74f650adc76c..80f243c56d5c 100644
--- a/dev-libs/liblogging/liblogging-1.0.6-r1.ebuild
+++ b/dev-libs/liblogging/liblogging-1.0.6-r1.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
@@ -11,7 +11,7 @@ SRC_URI="http://download.rsyslog.com/liblogging/${P}.tar.gz"
LICENSE="BSD-2"
SLOT="0/0"
-KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~x86"
+KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc64 ~riscv ~sparc ~x86"
IUSE="rfc3195 stdlog systemd"
RDEPEND="systemd? ( sys-apps/systemd )"
diff --git a/dev-libs/liblogging/metadata.xml b/dev-libs/liblogging/metadata.xml
index 500b9c96278a..8dd79362d8cb 100644
--- a/dev-libs/liblogging/metadata.xml
+++ b/dev-libs/liblogging/metadata.xml
@@ -5,10 +5,6 @@
<email>ultrabug@gentoo.org</email>
<name>Ultrabug</name>
</maintainer>
- <maintainer type="person">
- <email>whissi@gentoo.org</email>
- <name>Thomas Deutschmann</name>
- </maintainer>
<use>
<flag name="rfc3195">
Enables RFC 3195 protocol (aka syslog-reliable) support.
diff --git a/dev-libs/liblognorm/files/liblognorm-2.0.6-configure-clang16.patch b/dev-libs/liblognorm/files/liblognorm-2.0.6-configure-clang16.patch
new file mode 100644
index 000000000000..3ba63017e18a
--- /dev/null
+++ b/dev-libs/liblognorm/files/liblognorm-2.0.6-configure-clang16.patch
@@ -0,0 +1,21 @@
+https://bugzilla.redhat.com/show_bug.cgi?id=2141801
+https://src.fedoraproject.org/rpms/liblognorm/c/cdaf4de866002343f4011bb05c71f764258948a7?branch=rawhide
+
+"""
+Submitted to Adiscon via ticket system. See:
+
+ <https://bugzilla.redhat.com/show_bug.cgi?id=2141801>
+"""
+--- a/configure.ac
++++ b/configure.ac
+@@ -38,7 +38,7 @@ m4_ifdef([AX_IS_RELEASE], [
+ # Checks for libraries.
+ save_LIBS=$LIBS
+ LIBS=
+-AC_SEARCH_LIBS(clock_getm4_defn([AC_AUTOCONF_VERSION]), [2.68]time, rt)
++AC_SEARCH_LIBS(clock_gettime, rt)
+ LIBS=$save_LIBS
+
+ # Checks for header files.
+
+
diff --git a/dev-libs/liblognorm/files/liblognorm-2.0.6-sphinx-5.patch b/dev-libs/liblognorm/files/liblognorm-2.0.6-sphinx-5.patch
new file mode 100644
index 000000000000..fde24f8c0677
--- /dev/null
+++ b/dev-libs/liblognorm/files/liblognorm-2.0.6-sphinx-5.patch
@@ -0,0 +1,11 @@
+--- liblognorm.orig/doc/conf.py
++++ liblognorm/doc/conf.py
+@@ -56,7 +56,7 @@ release = '1.1.2'
+
+ # The language for content autogenerated by Sphinx. Refer to documentation
+ # for a list of supported languages.
+-language = None
++language = 'en'
+
+ # There are two options for replacing |today|: either, you set today to some
+ # non-false value, then it is used:
diff --git a/dev-libs/liblognorm/liblognorm-2.0.6-r1.ebuild b/dev-libs/liblognorm/liblognorm-2.0.6-r1.ebuild
new file mode 100644
index 000000000000..0cc8b9bcd877
--- /dev/null
+++ b/dev-libs/liblognorm/liblognorm-2.0.6-r1.ebuild
@@ -0,0 +1,77 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools
+
+DESCRIPTION="Fast samples-based log normalization library"
+HOMEPAGE="https://www.liblognorm.com"
+
+if [[ ${PV} == 9999 ]]; then
+ EGIT_REPO_URI="https://github.com/rsyslog/${PN}.git"
+
+ inherit git-r3
+else
+ SRC_URI="https://www.liblognorm.com/files/download/${P}.tar.gz"
+ KEYWORDS="amd64 arm arm64 ~hppa ~ia64 ~ppc64 ~riscv ~sparc x86 ~amd64-linux"
+fi
+
+LICENSE="LGPL-2.1 Apache-2.0"
+SLOT="0/5.1.0"
+IUSE="debug doc static-libs test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ >=dev-libs/libestr-0.1.3
+ >=dev-libs/libfastjson-0.99.2:=
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ >=dev-build/autoconf-archive-2015.02.04
+ virtual/pkgconfig
+ doc? ( >=dev-python/sphinx-1.2.2 )
+"
+
+DOCS=( ChangeLog )
+
+PATCHES=(
+ "${FILESDIR}/${P}-sphinx-5.patch"
+ "${FILESDIR}/${P}-configure-clang16.patch"
+)
+
+src_prepare() {
+ default
+
+ eautoreconf
+}
+
+src_configure() {
+ # regexp disabled due to https://github.com/rsyslog/liblognorm/issues/143
+ local myeconfargs=(
+ --enable-compile-warnings=yes
+ --disable-Werror
+ $(use_enable doc docs)
+ $(use_enable test testbench)
+ $(use_enable debug)
+ $(use_enable static-libs static)
+ --disable-regexp
+ )
+
+ econf "${myeconfargs[@]}"
+}
+
+src_test() {
+ # When adding new tests via patches we have to make them executable
+ einfo "Adjusting permissions of test scripts ..."
+ find "${S}"/tests -type f -name '*.sh' \! -perm -111 -exec chmod a+x '{}' \; || \
+ die "Failed to adjust test scripts permission"
+
+ emake -j1 check
+}
+
+src_install() {
+ default
+
+ find "${ED}" -name '*.la' -delete || die
+}
diff --git a/dev-libs/liblognorm/liblognorm-2.0.6.ebuild b/dev-libs/liblognorm/liblognorm-2.0.6.ebuild
deleted file mode 100644
index ad0b574934a3..000000000000
--- a/dev-libs/liblognorm/liblognorm-2.0.6.ebuild
+++ /dev/null
@@ -1,73 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="6"
-
-inherit autotools
-
-DESCRIPTION="Fast samples-based log normalization library"
-HOMEPAGE="https://www.liblognorm.com"
-
-if [[ ${PV} == "9999" ]]; then
- EGIT_REPO_URI="https://github.com/rsyslog/${PN}.git"
-
- inherit git-r3
-else
- SRC_URI="https://www.liblognorm.com/files/download/${P}.tar.gz"
- KEYWORDS="amd64 arm arm64 ~hppa x86 ~amd64-linux"
-fi
-
-LICENSE="LGPL-2.1 Apache-2.0"
-SLOT="0/5.1.0"
-IUSE="debug doc static-libs test"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- >=dev-libs/libestr-0.1.3
- >=dev-libs/libfastjson-0.99.2:=
-"
-
-DEPEND="
- ${RDEPEND}
- >=sys-devel/autoconf-archive-2015.02.04
- virtual/pkgconfig
- doc? ( >=dev-python/sphinx-1.2.2 )
-"
-
-DOCS=( ChangeLog )
-
-src_prepare() {
- default
-
- eautoreconf
-}
-
-src_configure() {
- # regexp disabled due to https://github.com/rsyslog/liblognorm/issues/143
- local myeconfargs=(
- --enable-compile-warnings=yes
- --disable-Werror
- $(use_enable doc docs)
- $(use_enable test testbench)
- $(use_enable debug)
- $(use_enable static-libs static)
- --disable-regexp
- )
-
- econf "${myeconfargs[@]}"
-}
-
-src_test() {
- # When adding new tests via patches we have to make them executable
- einfo "Adjusting permissions of test scripts ..."
- find "${S}"/tests -type f -name '*.sh' \! -perm -111 -exec chmod a+x '{}' \; || \
- die "Failed to adjust test scripts permission"
-
- emake --jobs 1 check
-}
-
-src_install() {
- default
-
- find "${ED}"usr/lib* -name '*.la' -delete || die
-}
diff --git a/dev-libs/liblognorm/metadata.xml b/dev-libs/liblognorm/metadata.xml
index 1332094b770c..0a2e9060adfe 100644
--- a/dev-libs/liblognorm/metadata.xml
+++ b/dev-libs/liblognorm/metadata.xml
@@ -1,10 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <email>whissi@gentoo.org</email>
- <name>Thomas Deutschmann</name>
- </maintainer>
+ <!-- maintainer-needed -->
<slots>
<subslots>Reflect ABI of liblognorm.so.</subslots>
</slots>
diff --git a/dev-libs/liblouis/Manifest b/dev-libs/liblouis/Manifest
index 2a111bfcdeb2..1f385d6b1315 100644
--- a/dev-libs/liblouis/Manifest
+++ b/dev-libs/liblouis/Manifest
@@ -1,2 +1,2 @@
-DIST liblouis-3.13.0.tar.gz 14683684 BLAKE2B 9596fac30ee8512498826ea11c3fe4d9dfba6706166938852242533f1fadde9ca8e363ea1364ebb4266b366ee49863d84ad757f8634d90e48dd8c562c31e9e8d SHA512 68f0205dc55a106c5707f959c1c0d3c121dfe62f263a664e6bec0780bee65cce2fb5d7033ae1c8312d1d79f7ccaf650af71906e8651b60f11219758e41051b61
-DIST liblouis-3.17.0.tar.gz 14868166 BLAKE2B 2edc5ef4366e29080d0d138fe45d946730e04dea278a14751106a25862f6266fe0fda492e12f4d2aa7d26d7277a11dfa2eaf8be39cdeffbcf83f2c143922e6d6 SHA512 9511e0f76ef6def3fa30f0bce4df188b2a11251e8ced0a76a92e172026e6751bc19b2c8ccd5789043b65398190a367bca03b3f1449344750e63ebd0fde60b4e3
+DIST liblouis-3.23.0.tar.gz 16738612 BLAKE2B b4508d27eaa9669bb2a1fbaac55edb3a85d3d2df18a8b26f4c9c396579b04614da3b3bcd6af45459d9129d2b81a920262dcb8fef7bee4290752174411fd66109 SHA512 25819758fc987ed378c439c5d40efd2692247a6020a40e5909320021e518e0518f5b022dda4ea5c7006a0f1ce2a4225d4ee1404560987bb2dd83504d58aa09db
+DIST liblouis-3.25.0.tar.gz 16939419 BLAKE2B f67dc1ee3aa9eb32fcf0693b3a31d40c56f048b393785011ec2b4c61611a3ab67d181d1e76148c489e443e3b0c4d5f7846ac1b4810ffa2c6a6e1d081cceab6ae SHA512 4e6456f30e845b955e98346cb94bdd4eaa6aff30f3e29fbd4e91c5bb58d1182c679fbf8afa27d7031c80d5755ae8567b830fa57c175522a038ef18d1bdc0707d
diff --git a/dev-libs/liblouis/liblouis-3.13.0.ebuild b/dev-libs/liblouis/liblouis-3.13.0.ebuild
deleted file mode 100644
index fbbf70e7da5d..000000000000
--- a/dev-libs/liblouis/liblouis-3.13.0.ebuild
+++ /dev/null
@@ -1,75 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{7,8} )
-DISTUTILS_OPTIONAL=1
-inherit distutils-r1
-
-DESCRIPTION="An open-source braille translator and back-translator"
-HOMEPAGE="https://github.com/liblouis/liblouis"
-SRC_URI="https://github.com/liblouis/liblouis/releases/download/v${PV}/${P}.tar.gz"
-
-LICENSE="LGPL-2.1+"
-SLOT="0/20"
-KEYWORDS="~alpha amd64 ~arm arm64 ~ia64 ppc ppc64 ~sparc x86"
-IUSE="python test"
-REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
-RESTRICT="!test? ( test )"
-
-RDEPEND="python? ( ${PYTHON_DEPS} )"
-DEPEND="${RDEPEND}"
-BDEPEND="sys-apps/help2man
- python? ( ${PYTHON_DEPS}
- >=dev-python/setuptools-42.0.2[${PYTHON_USEDEP}]
- )
- test? ( dev-libs/libyaml )
-"
-
-src_prepare() {
- default
-
- if use python; then
- pushd python > /dev/null
- distutils-r1_src_prepare
- popd > /dev/null
- fi
-}
-
-src_configure() {
- econf \
- --enable-ucs4 \
- --disable-static
-}
-
-src_compile() {
- default
-
- if use python; then
- pushd python > /dev/null
- # setup.py imports liblouis to get the version number,
- # and this causes the shared library to be dlopened
- # at build-time. Hack around it with LD_PRELOAD.
- # Thanks ArchLinux.
- LD_PRELOAD+=':../liblouis/.libs/liblouis.so'
- distutils-r1_src_compile
- popd > /dev/null
- fi
-}
-
-src_install() {
- if use python; then
- pushd python > /dev/null
- LD_PRELOAD+=':../liblouis/.libs/liblouis.so' \
- distutils-r1_src_install
- popd > /dev/null
- fi
-
- # These need to be after distutils src_install, or it'll try to install them from under python/ as well
- DOCS=( README AUTHORS NEWS ChangeLog doc/liblouis.txt )
- HTML_DOCS=( doc/liblouis.html )
- default
-
- find "${ED}" -name '*.la' -delete || die
-}
diff --git a/dev-libs/liblouis/liblouis-3.17.0.ebuild b/dev-libs/liblouis/liblouis-3.17.0.ebuild
deleted file mode 100644
index 7eeaf31dbe47..000000000000
--- a/dev-libs/liblouis/liblouis-3.17.0.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
-
-PYTHON_COMPAT=( python3_{8..10} )
-DISTUTILS_OPTIONAL=1
-inherit distutils-r1
-
-DESCRIPTION="An open-source braille translator and back-translator"
-HOMEPAGE="https://github.com/liblouis/liblouis"
-SRC_URI="https://github.com/liblouis/liblouis/releases/download/v${PV}/${P}.tar.gz"
-
-LICENSE="LGPL-2.1+"
-SLOT="0/20"
-KEYWORDS="~alpha amd64 ~arm arm64 ~ia64 ~ppc ~ppc64 ~riscv ~sparc x86"
-IUSE="python test"
-REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
-RESTRICT="!test? ( test )"
-
-RDEPEND="python? ( ${PYTHON_DEPS} )"
-DEPEND="${RDEPEND}"
-BDEPEND="sys-apps/help2man
- python? ( ${PYTHON_DEPS}
- >=dev-python/setuptools-42.0.2[${PYTHON_USEDEP}]
- )
- test? ( dev-libs/libyaml )
-"
-
-src_prepare() {
- default
-
- if use python; then
- pushd python > /dev/null
- distutils-r1_src_prepare
- popd > /dev/null
- fi
-}
-
-src_configure() {
- econf \
- --enable-ucs4 \
- --disable-static
-}
-
-src_compile() {
- default
-
- if use python; then
- pushd python > /dev/null
- # setup.py imports liblouis to get the version number,
- # and this causes the shared library to be dlopened
- # at build-time. Hack around it with LD_PRELOAD.
- # Thanks ArchLinux.
- LD_PRELOAD+=':../liblouis/.libs/liblouis.so'
- distutils-r1_src_compile
- popd > /dev/null
- fi
-}
-
-src_install() {
- if use python; then
- pushd python > /dev/null
- LD_PRELOAD+=':../liblouis/.libs/liblouis.so' \
- distutils-r1_src_install
- popd > /dev/null
- fi
-
- # These need to be after distutils src_install, or it'll try to install them from under python/ as well
- DOCS=( README AUTHORS NEWS ChangeLog doc/liblouis.txt )
- HTML_DOCS=( doc/liblouis.html )
- default
-
- find "${ED}" -name '*.la' -delete || die
-}
diff --git a/dev-libs/liblouis/liblouis-3.23.0.ebuild b/dev-libs/liblouis/liblouis-3.23.0.ebuild
new file mode 100644
index 000000000000..97e257e1a3db
--- /dev/null
+++ b/dev-libs/liblouis/liblouis-3.23.0.ebuild
@@ -0,0 +1,75 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{9..11} )
+DISTUTILS_OPTIONAL=1
+inherit distutils-r1
+
+DESCRIPTION="An open-source braille translator and back-translator"
+HOMEPAGE="https://github.com/liblouis/liblouis"
+SRC_URI="https://github.com/liblouis/liblouis/releases/download/v${PV}/${P}.tar.gz"
+
+LICENSE="LGPL-2.1+"
+SLOT="0/20"
+KEYWORDS="~alpha amd64 ~arm arm64 ~ia64 ~loong ppc ppc64 ~riscv ~sparc x86"
+IUSE="python test"
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+RESTRICT="!test? ( test )"
+
+RDEPEND="python? ( ${PYTHON_DEPS} )"
+DEPEND="${RDEPEND}"
+BDEPEND="sys-apps/help2man
+ python? ( ${PYTHON_DEPS}
+ >=dev-python/setuptools-42.0.2[${PYTHON_USEDEP}]
+ )
+ test? ( dev-libs/libyaml )
+"
+
+src_prepare() {
+ default
+
+ if use python; then
+ pushd python > /dev/null
+ distutils-r1_src_prepare
+ popd > /dev/null
+ fi
+}
+
+src_configure() {
+ econf \
+ --enable-ucs4 \
+ --disable-static
+}
+
+src_compile() {
+ default
+
+ if use python; then
+ pushd python > /dev/null
+ # setup.py imports liblouis to get the version number,
+ # and this causes the shared library to be dlopened
+ # at build-time. Hack around it with LD_PRELOAD.
+ # Thanks ArchLinux.
+ LD_PRELOAD+=':../liblouis/.libs/liblouis.so'
+ distutils-r1_src_compile
+ popd > /dev/null
+ fi
+}
+
+src_install() {
+ if use python; then
+ pushd python > /dev/null
+ LD_PRELOAD+=':../liblouis/.libs/liblouis.so' \
+ distutils-r1_src_install
+ popd > /dev/null
+ fi
+
+ # These need to be after distutils src_install, or it'll try to install them from under python/ as well
+ DOCS=( README AUTHORS NEWS ChangeLog doc/liblouis.txt )
+ HTML_DOCS=( doc/liblouis.html )
+ default
+
+ find "${ED}" -name '*.la' -delete || die
+}
diff --git a/dev-libs/liblouis/liblouis-3.25.0.ebuild b/dev-libs/liblouis/liblouis-3.25.0.ebuild
new file mode 100644
index 000000000000..ae8c9ea52083
--- /dev/null
+++ b/dev-libs/liblouis/liblouis-3.25.0.ebuild
@@ -0,0 +1,94 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..11} )
+DISTUTILS_OPTIONAL=1
+inherit distutils-r1
+
+DESCRIPTION="An open-source braille translator and back-translator"
+HOMEPAGE="https://github.com/liblouis/liblouis"
+SRC_URI="https://github.com/liblouis/liblouis/releases/download/v${PV}/${P}.tar.gz"
+
+LICENSE="LGPL-2.1+"
+SLOT="0/20"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ia64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86"
+IUSE="python test"
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+RESTRICT="!test? ( test )"
+
+RDEPEND="python? ( ${PYTHON_DEPS} )"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ sys-apps/help2man
+ python? ( ${PYTHON_DEPS}
+ >=dev-python/setuptools-42.0.2[${PYTHON_USEDEP}]
+ )
+ test? ( dev-libs/libyaml )
+"
+
+src_prepare() {
+ default
+
+ if use python; then
+ pushd python > /dev/null || die
+ distutils-r1_src_prepare
+ popd > /dev/null || die
+ fi
+}
+
+src_configure() {
+ # -fanalyzer substantially slows down the build and isn't useful for
+ # us. It's useful for upstream as it's static analysis, but it's not
+ # useful when just getting something built.
+ export gl_cv_warn_c__fanalyzer=no
+
+ # CONFIG_SHELL is temporary until https://github.com/liblouis/liblouis/pull/1369
+ # is in a release.
+ CONFIG_SHELL="${BROOT}"/bin/bash econf --enable-ucs4
+}
+
+src_compile() {
+ default
+
+ if use python; then
+ pushd python > /dev/null || die
+ # setup.py imports liblouis to get the version number,
+ # and this causes the shared library to be dlopened
+ # at build-time. Hack around it with LD_PRELOAD.
+ # Thanks ArchLinux.
+ LD_PRELOAD+=":${S}/liblouis/.libs/liblouis.so" distutils-r1_src_compile
+ popd > /dev/null || die
+ fi
+}
+
+src_test() {
+ default
+
+ if use python; then
+ pushd python > /dev/null || die
+ LD_PRELOAD+=":${S}/liblouis/.libs/liblouis.so" distutils-r1_src_test
+ popd > /dev/null || die
+ fi
+}
+
+python_test() {
+ local -x LOUIS_TABLEPATH="${S}"/tables
+ "${EPYTHON}" tests/test_louis.py || die
+}
+
+src_install() {
+ if use python; then
+ pushd python > /dev/null || die
+ LD_PRELOAD+=":${S}/liblouis/.libs/liblouis.so" distutils-r1_src_install
+ popd > /dev/null || die
+ fi
+
+ # These need to be after distutils src_install, or it'll try to install them from under python/ as well
+ DOCS=( README AUTHORS NEWS ChangeLog doc/liblouis.txt )
+ HTML_DOCS=( doc/liblouis.html )
+ default
+
+ find "${ED}" -name '*.la' -delete || die
+}
diff --git a/dev-libs/libltdl/Manifest b/dev-libs/libltdl/Manifest
index 4f2d5bac1893..d36ba6c57618 100644
--- a/dev-libs/libltdl/Manifest
+++ b/dev-libs/libltdl/Manifest
@@ -1 +1 @@
-DIST libtool-2.4.6.tar.xz 973080 BLAKE2B 0865af9f8701ca9dc62eec8294a088d24f4a3ff541bc76acfe7b69f70637d7e8261a17d69f7d54a4177f974c429be68467883a1560edb539061966cbf7d4a356 SHA512 a6eef35f3cbccf2c9e2667f44a476ebc80ab888725eb768e91a3a6c33b8c931afc46eb23efaee76c8696d3e4eed74ab1c71157bcb924f38ee912c8a90a6521a4
+DIST libtool-2.4.7.tar.xz 1016040 BLAKE2B 5e022586337637dd634bd40578ad944bec6e3b8de41f95d55777b90cc88cbc4badb3d76cbf0e638166ece1ea7de828e83590e1e6bac30c1e4b1c254a11a742f2 SHA512 47f4c6de40927254ff9ba452612c0702aea6f4edc7e797f0966c8c6bf0340d533598976cdba17f0bdc64545572e71cd319bbb587aa5f47cd2e7c1d96f873a3da
diff --git a/dev-libs/libltdl/libltdl-2.4.6.ebuild b/dev-libs/libltdl/libltdl-2.4.6.ebuild
deleted file mode 100644
index 31fd0f949972..000000000000
--- a/dev-libs/libltdl/libltdl-2.4.6.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
-
-inherit multilib-minimal
-
-MY_P="libtool-${PV}"
-
-DESCRIPTION="A shared library tool for developers"
-HOMEPAGE="https://www.gnu.org/software/libtool/"
-SRC_URI="mirror://gnu/libtool/${MY_P}.tar.xz"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-IUSE="static-libs"
-# libltdl doesn't have a testsuite.
-RESTRICT="test"
-
-RDEPEND="!<sys-devel/libtool-2.4.3-r2:2"
-BDEPEND="app-arch/xz-utils"
-
-S="${WORKDIR}/${MY_P}/libltdl"
-
-multilib_src_configure() {
- ECONF_SOURCE=${S} \
- econf \
- --enable-ltdl-install \
- $(use_enable static-libs static)
-}
-
-multilib_src_install() {
- emake DESTDIR="${D}" install
-
- # While the libltdl.la file is not used directly, the m4 ltdl logic
- # keys off of its existence when searching for ltdl support. #293921
- #use static-libs || find "${D}" -name libltdl.la -delete
-}
diff --git a/dev-libs/libltdl/libltdl-2.4.7-r1.ebuild b/dev-libs/libltdl/libltdl-2.4.7-r1.ebuild
new file mode 100644
index 000000000000..8cca8705cd0f
--- /dev/null
+++ b/dev-libs/libltdl/libltdl-2.4.7-r1.ebuild
@@ -0,0 +1,40 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+# Please bump with dev-build/libtool.
+
+inherit multilib-minimal flag-o-matic
+
+MY_P="libtool-${PV}"
+
+DESCRIPTION="A shared library tool for developers"
+HOMEPAGE="https://www.gnu.org/software/libtool/"
+SRC_URI="mirror://gnu/libtool/${MY_P}.tar.xz"
+S="${WORKDIR}"/${MY_P}/libltdl
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+IUSE="static-libs"
+# libltdl doesn't have a testsuite. Don't bother trying.
+RESTRICT="test"
+
+BDEPEND="app-arch/xz-utils"
+
+multilib_src_configure() {
+ append-lfs-flags
+ ECONF_SOURCE="${S}" \
+ econf \
+ --enable-ltdl-install \
+ $(use_enable static-libs static)
+}
+
+multilib_src_install() {
+ emake DESTDIR="${D}" install
+
+ # While the libltdl.la file is not used directly, the m4 ltdl logic
+ # keys off of its existence when searching for ltdl support. # bug #293921
+ #use static-libs || find "${D}" -name libltdl.la -delete
+}
diff --git a/dev-libs/liblzw/metadata.xml b/dev-libs/liblzw/metadata.xml
index d4ac7d757337..a2512173cc43 100644
--- a/dev-libs/liblzw/metadata.xml
+++ b/dev-libs/liblzw/metadata.xml
@@ -2,6 +2,7 @@
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
+ <name>Mike Frysinger</name>
<email>vapier@gentoo.org</email>
</maintainer>
<upstream>
diff --git a/dev-libs/libmaa/Manifest b/dev-libs/libmaa/Manifest
index ed68e07bb5e6..79d8e83da802 100644
--- a/dev-libs/libmaa/Manifest
+++ b/dev-libs/libmaa/Manifest
@@ -1 +1,2 @@
DIST libmaa-1.3.2.tar.gz 287198 BLAKE2B 62432f7f21e353c68a0e9b8f843a5a5acafba5c0cc8e745b07596d7dcaaf9adf723342474b95895fbe1cf003d87d856892ea52196808937b4befdc50ce6d0155 SHA512 dde91e8bf1c08515ff4662282d16a03b18a1dfb16eb7b95be980ba398ed1e65d8cd88e58d454e03a03f48a5ecca8bf23b4ebaf475a98630a9178318c12a1b176
+DIST libmaa-1.4.7.tar.gz 173728 BLAKE2B 1201fedf56a92b150f04eedebd3aaf11a63e057b2cc67a3c5402c6a76c7aa5e2c40d7298138f9b510f6c94bc3a67835586ad97b53adf04dd837f404e43dea620 SHA512 6aa0ec6de92d9512152116a2698f5e7d3166631832968d2b7942b8564a4d61ef6eaf304d863e682758636e55a0c5d26fde49db028b18c160abb2286683e8478b
diff --git a/dev-libs/libmaa/files/libmaa-1.3.2-libtool.patch b/dev-libs/libmaa/files/libmaa-1.3.2-libtool.patch
new file mode 100644
index 000000000000..ca04f423a016
--- /dev/null
+++ b/dev-libs/libmaa/files/libmaa-1.3.2-libtool.patch
@@ -0,0 +1,62 @@
+https://bugs.gentoo.org/778464
+
+From: orbea <orbea@riseup.net>
+Date: Fri, 17 Jun 2022 15:59:49 -0700
+Subject: [PATCH] configure: Add missing LT_INIT
+
+--- a/Makefile.in
++++ b/Makefile.in
+@@ -27,6 +27,7 @@ VERSION=$(MAA_MAJOR).$(MAA_MINOR).$(MAA_TEENY)
+ .SUFFIXES:
+ .SUFFIXES: .c .o
+
++top_builddir= @top_builddir@
+ srcdir= @srcdir@
+ VPATH= @srcdir@
+ prefix= @prefix@
+--- a/configure.in
++++ b/configure.in
+@@ -28,6 +28,8 @@ AC_INIT
+ AC_CONFIG_SRCDIR([maa.h])
+ AC_CONFIG_HEADER(config.h)
+
++LT_INIT
++
+ MAA_MAJOR=1
+ MAA_MINOR=3
+ MAA_TEENY=2
+@@ -38,7 +40,6 @@ echo .
+ AC_CANONICAL_HOST
+ AC_PROG_AWK
+ AC_PROG_CC
+-#AC_PROG_LIBTOOL
+ AC_ISC_POSIX
+
+ if test "$CC" = gcc; then
+@@ -57,8 +58,6 @@ AC_CHECK_PROGS(DVIPS,dvips)
+ AC_CHECK_PROGS(REFBIBTEX,refbibtex)
+ AC_CHECK_PROGS(BIBTEX,bibtex)
+
+-AC_CHECK_PROG(LIBTOOL,libtool,libtool)
+-
+ echo .
+ echo Checking for header file support
+
+@@ -110,7 +109,6 @@ AC_SUBST(MAA_TEENY)
+ AC_SUBST(MAA_MINOR)
+ AC_SUBST(MAA_MAJOR)
+ AC_SUBST(AWK)
+-AC_SUBST(LIBTOOL)
+
+ AC_CONFIG_FILES([Makefile doc/Makefile arggram2c])
+
+--- a/doc/Makefile.in
++++ b/doc/Makefile.in
+@@ -22,6 +22,7 @@
+
+ .SUFFIXES:
+
++top_builddir= @top_builddir@
+ srcdir= @srcdir@
+ VPATH= @srcdir@
+ prefix= @prefix@
diff --git a/dev-libs/libmaa/files/libmaa-1.4.7-makefile-respect-flags.patch b/dev-libs/libmaa/files/libmaa-1.4.7-makefile-respect-flags.patch
new file mode 100644
index 000000000000..67ee4d846c6a
--- /dev/null
+++ b/dev-libs/libmaa/files/libmaa-1.4.7-makefile-respect-flags.patch
@@ -0,0 +1,21 @@
+Per mk-configure(7), Makefiles should use CFLAGS0 and CPPFLAGS0 for their
+own flags. This allows setting CFLAGS and CPPFLAGS ourselves during the build
+without clobbering important settings/definitions like MAA_MAJOR.
+--- a/maa/Makefile
++++ b/maa/Makefile
+@@ -22,11 +22,11 @@ arg.o arg.os: ${.OBJDIR}/arggram.c arg.c
+ ${.OBJDIR}/arggram.c: arggram.txt
+ awk -f ${SRCDIR_maa}/arggram2c < ${SRCDIR_maa}/arggram.txt > $@
+
+-CFLAGS += -DMAA_MAJOR=${MAA_MAJOR}
+-CFLAGS += -DMAA_MINOR=${MAA_MINOR}
+-CFLAGS += -DMAA_TEENY=${MAA_TEENY}
++CFLAGS0 += -DMAA_MAJOR=${MAA_MAJOR}
++CFLAGS0 += -DMAA_MINOR=${MAA_MINOR}
++CFLAGS0 += -DMAA_TEENY=${MAA_TEENY}
+
+-CPPFLAGS += -I. -I${.OBJDIR}
++CPPFLAGS0 += -I. -I${.OBJDIR}
+
+ #MAN = maa.1
+
diff --git a/dev-libs/libmaa/libmaa-1.3.2-r1.ebuild b/dev-libs/libmaa/libmaa-1.3.2-r1.ebuild
new file mode 100644
index 000000000000..6e6b092c09bb
--- /dev/null
+++ b/dev-libs/libmaa/libmaa-1.3.2-r1.ebuild
@@ -0,0 +1,32 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit autotools
+
+DESCRIPTION="Library with low-level data structures which are helpful for writing compilers"
+HOMEPAGE="http://www.dict.org/"
+SRC_URI="mirror://sourceforge/dict/${P}.tar.gz"
+
+LICENSE="LGPL-2"
+SLOT="0"
+KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ppc ppc64 ~riscv sparc x86 ~amd64-linux ~x86-linux"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-libtool.patch # 778464
+)
+
+src_prepare() {
+ default
+
+ eautoreconf
+}
+
+src_install() {
+ default
+ dodoc doc/libmaa.600dpi.ps
+
+ # don't want static or libtool archives, #401935
+ find "${D}" \( -name '*.a' -o -name '*.la' \) -delete || die
+}
diff --git a/dev-libs/libmaa/libmaa-1.3.2.ebuild b/dev-libs/libmaa/libmaa-1.3.2.ebuild
deleted file mode 100644
index be5b4c16751d..000000000000
--- a/dev-libs/libmaa/libmaa-1.3.2.ebuild
+++ /dev/null
@@ -1,20 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-DESCRIPTION="Library with low-level data structures which are helpful for writing compilers"
-HOMEPAGE="http://www.dict.org/"
-SRC_URI="mirror://sourceforge/dict/${P}.tar.gz"
-
-LICENSE="LGPL-2"
-SLOT="0"
-KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ppc ppc64 ~riscv sparc x86 ~amd64-linux ~x86-linux"
-
-src_install() {
- default
- dodoc doc/libmaa.600dpi.ps
-
- # don't want static or libtool archives, #401935
- find "${D}" \( -name '*.a' -o -name '*.la' \) -delete || die
-}
diff --git a/dev-libs/libmaa/libmaa-1.4.7.ebuild b/dev-libs/libmaa/libmaa-1.4.7.ebuild
new file mode 100644
index 000000000000..c75763f85f2c
--- /dev/null
+++ b/dev-libs/libmaa/libmaa-1.4.7.ebuild
@@ -0,0 +1,92 @@
+# Copyright 2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit multiprocessing toolchain-funcs
+
+DESCRIPTION="Library with low-level data structures which are helpful for writing compilers"
+HOMEPAGE="http://www.dict.org/"
+SRC_URI="mirror://sourceforge/dict/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0/4"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86"
+
+BDEPEND="dev-util/mk-configure"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-1.4.7-makefile-respect-flags.patch
+)
+
+src_configure() {
+ local jobs="$(makeopts_jobs)"
+ unset MAKEOPTS
+
+ export MAKEOPTS="-j${jobs}"
+ export MAKE=bmake
+
+ MAKEARGS=(
+ AR="$(tc-getAR)"
+ CC="$(tc-getCC)"
+ CXX="$(tc-getCXX)"
+ NM="$(tc-getNM)"
+ OBJCOPY="$(tc-getOBJCOPY)"
+ OBJDUMP="$(tc-getOBJDUMP)"
+ RANLIB="$(tc-getRANLIB)"
+ STRIP="$(tc-getSTRIP)"
+ #SIZE="$(tc-getSIZE)"
+
+ # Don't use LD, use the compiler driver instead
+ LDCOMPILER=yes
+
+ CFLAGS="${CFLAGS}"
+ CXXFLAGS="${CXXFLAGS}"
+ LDFLAGS="${LDFLAGS}"
+
+ # Our toolchain already handles these
+ MKPIE=no
+ USE_SSP=no
+ USE_RELRO=no
+ USE_FORT=no
+
+ # No -Werror
+ WARNERR=no
+
+ INSTALL="${INSTALL:-${BROOT}/usr/bin/install}"
+
+ # Don't calcify compiler settings in installed files
+ MKCOMPILERSETTINGS=yes
+
+ PREFIX="${EPREFIX}/usr"
+ DOCDIR="${EPREFIX}/usr/share/doc/${PF}"
+ INFODIR="${EPREFIX}/usr/share/info"
+ LIBDIR="${EPREFIX}/usr/$(get_libdir)"
+ MANDIR="${EPREFIX}/usr/share/man"
+
+ MKFILESDIR="${BROOT}/usr/share/mk-configure/mk"
+ BUILTINSDIR="${BROOT}/usr/share/mk-configure/builtins"
+ FEATURESDIR="${BROOT}/usr/share/mk-configure/feature"
+ )
+
+ mkcmake "${MAKEARGS[@]}" -j1 configure || die
+}
+
+src_compile() {
+ mkcmake "${MAKEARGS[@]}" all || die
+}
+
+src_test() {
+ mkcmake "${MAKEARGS[@]}" test || die
+}
+
+src_install() {
+ mkcmake "${MAKEARGS[@]}" DESTDIR="${ED}" install
+
+ rm "${ED}"/usr/share/doc/${PF}/LICENSE || die
+
+ dodoc doc/libmaa.600dpi.ps
+
+ # don't want static or libtool archives, #401935
+ find "${D}" \( -name '*.a' -o -name '*.la' \) -delete || die
+}
diff --git a/dev-libs/libmaa/metadata.xml b/dev-libs/libmaa/metadata.xml
index bab7ac2ea3f4..010f65db9531 100644
--- a/dev-libs/libmaa/metadata.xml
+++ b/dev-libs/libmaa/metadata.xml
@@ -13,5 +13,6 @@
</longdescription>
<upstream>
<remote-id type="sourceforge">dict</remote-id>
+ <remote-id type="github">cheusov/dictd</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-libs/libmacaroons/Manifest b/dev-libs/libmacaroons/Manifest
new file mode 100644
index 000000000000..909446e451c7
--- /dev/null
+++ b/dev-libs/libmacaroons/Manifest
@@ -0,0 +1 @@
+DIST libmacaroons-0.3.0.tar.gz 47762 BLAKE2B 69371bb69262a88c736121861d9b136fa444b912d2c3a5d603c5897c8af85e9f4af6a6733e35c126ea44c97cfdd1359e1f41ee97452fa7275850769f2134d825 SHA512 79ae2e515bd673949bc1338f06f5f811a0e853ca61ff995bb4cddaf95e5297e77b012c9975b0bb0dba96520b9a24619a4593e3722e64610f1147e131f8c96de0
diff --git a/dev-libs/libmacaroons/files/libmacaroons-0.3.0-json-c.patch b/dev-libs/libmacaroons/files/libmacaroons-0.3.0-json-c.patch
new file mode 100644
index 000000000000..f11071d3efff
--- /dev/null
+++ b/dev-libs/libmacaroons/files/libmacaroons-0.3.0-json-c.patch
@@ -0,0 +1,38 @@
+
+Fix build with JSON support enabled
+
+--- a/configure.ac
++++ b/configure.ac
+@@ -62,7 +62,7 @@ Please install libjson to continue.
+ ----------------------------------------])
+ fi
+
+- AC_CHECK_HEADER([json/json.h],,[AC_MSG_ERROR([
++ AC_CHECK_HEADER([json-c/json.h],,[AC_MSG_ERROR([
+ ----------------------------------------
+ Macaroons rely upon the libjson library.
+ Please install libjson to continue.
+diff --git a/macaroons.c b/macaroons.c
+index ab296c8..654edfc 100644
+--- a/macaroons.c
++++ b/macaroons.c
+@@ -32,12 +32,17 @@
+
+ /* C */
+ #include <assert.h>
++#include <stdbool.h>
+ #include <stdio.h>
+ #include <string.h>
+
++#define TRUE true
++#define FALSE false
++
+ /* json */
+ #ifdef MACAROONS_JSON_SUPPORT
+-#include <json/json.h>
++#include <json-c/json.h>
++#include <json-c/json_object.h>
+ #endif
+
+ /* macaroons */
+--
diff --git a/dev-libs/libmacaroons/files/libmacaroons-0.3.0-no-python.patch b/dev-libs/libmacaroons/files/libmacaroons-0.3.0-no-python.patch
new file mode 100644
index 000000000000..89293b707bd0
--- /dev/null
+++ b/dev-libs/libmacaroons/files/libmacaroons-0.3.0-no-python.patch
@@ -0,0 +1,91 @@
+
+ Disable Python by force (works only with Python 2.x).
+
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -30,13 +30,8 @@ AM_CPPFLAGS = $(SODIUM_CFLAGS)
+ AM_CFLAGS = -fvisibility=hidden $(SODIUM_CFLAGS) $(WANAL_CFLAGS)
+ AM_CXXFLAGS = -fvisibility=hidden -fvisibility-inlines-hidden $(SODIUM_CFLAGS) $(WANAL_CXXFLAGS)
+
+-AM_DISTCHECK_CONFIGURE_FLAGS = --enable-python-bindings
+ TESTS_ENVIRONMENT = . $(abs_top_srcdir)/test/env.sh "${abs_top_srcdir}" "${abs_top_builddir}" "${VERSION}";
+
+-pyx_verbose = $(pyx_verbose_$(V))
+-pyx_verbose_ = $(pyx_verbose_$(AM_DEFAULT_VERBOSITY))
+-pyx_verbose_0 = @echo " PYX " $@;
+-
+ EXTRA_DIST =
+ EXTRA_DIST += README
+ EXTRA_DIST += LICENSE
+@@ -57,39 +52,3 @@ libmacaroons_la_LDFLAGS = -version-info 0:1:0
+
+ pkgconfigdir = $(libdir)/pkgconfig
+ pkgconfig_DATA = libmacaroons.pc
+-
+-##################################### Tests ####################################
+-
+-EXTRA_DIST += test/env.sh
+-EXTRA_DIST += test/python-hmac-sanity-check
+-EXTRA_DIST += test/python-hmac-sanity-check.sh
+-EXTRA_DIST += test/readme.sh
+-
+-TESTS =
+-TESTS += test/python-hmac-sanity-check.sh
+-#TESTS += test/readme.sh
+-
+-#################################### Python ####################################
+-
+-pyexec_LTLIBRARIES =
+-if ENABLE_PYTHON_BINDINGS
+-pyexec_LTLIBRARIES += bindings/python/macaroons.la
+-endif
+-
+-EXTRA_DIST += bindings/python/macaroons.pyx
+-
+-bindings_python_macaroons_la_SOURCES = bindings/python/macaroons.c
+-bindings_python_macaroons_la_CPPFLAGS =
+-bindings_python_macaroons_la_CPPFLAGS += $(PYTHON_CPPFLAGS)
+-bindings_python_macaroons_la_CPPFLAGS += $(AM_CPPFLAGS)
+-bindings_python_macaroons_la_CPPFLAGS += $(CPPFLAGS)
+-bindings_python_macaroons_la_CFLAGS =
+-bindings_python_macaroons_la_CFLAGS += -fvisibility=default
+-bindings_python_macaroons_la_CFLAGS += -fno-strict-aliasing
+-bindings_python_macaroons_la_CFLAGS += $(CFLAGS)
+-bindings_python_macaroons_la_LIBADD =
+-bindings_python_macaroons_la_LIBADD += libmacaroons.la
+-bindings_python_macaroons_la_LIBADD += $(PYTHON_LDFLAGS)
+-bindings_python_macaroons_la_LDFLAGS = -module -avoid-version -export-symbols-regex initmacaroons $(AM_LDFLAGS) $(LDFLAGS)
+-bindings/python/macaroons.c: bindings/python/macaroons.pyx
+- $(pyx_verbose)cython bindings/python/macaroons.pyx
+--- a/configure.ac
++++ b/configure.ac
+@@ -11,7 +11,6 @@ m4_define([serial_tests], [
+ ])
+ AM_INIT_AUTOMAKE(foreign serial_tests subdir-objects dist-bzip2)
+ m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
+-AM_PATH_PYTHON([2.6])
+ LT_PREREQ([2.2])
+ LT_INIT
+ AC_CONFIG_SRCDIR([macaroons.h])
+@@ -35,13 +34,6 @@ AC_TYPE_SIZE_T
+ # Checks for library functions.
+
+ # Optional components
+-AC_ARG_ENABLE([python_bindings], [AS_HELP_STRING([--enable-python-bindings],
+- [build Python bindings @<:@default: no@:>@])],
+- [python_bindings=${enableval}], [python_bindings=no])
+-if test x"${python_bindings}" = xyes; then
+- AC_PYTHON_DEVEL([>= '2.6'])
+-fi
+-
+ AC_ARG_ENABLE([json_support], [AS_HELP_STRING([--enable-json-support],
+ [enable support for JSON macaroons @<:@default: no@:>@])],
+ [json_support=${enableval}], [json_support=no])
+@@ -69,7 +61,6 @@ Please install libjson to continue.
+ ----------------------------------------])])
+ fi
+
+-AM_CONDITIONAL([ENABLE_PYTHON_BINDINGS], [test x"${python_bindings}" = xyes])
+ AM_CONDITIONAL([ENABLE_JSON_SUPPORT], [test x"${json_support}" = xyes])
+
+ AH_BOTTOM([#include <custom-config.h>])
diff --git a/dev-libs/libmacaroons/libmacaroons-0.3.0-r2.ebuild b/dev-libs/libmacaroons/libmacaroons-0.3.0-r2.ebuild
new file mode 100644
index 000000000000..2b1886a719c3
--- /dev/null
+++ b/dev-libs/libmacaroons/libmacaroons-0.3.0-r2.ebuild
@@ -0,0 +1,42 @@
+# Copyright 2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools
+
+DESCRIPTION="C library for generation and use of macaroons authorization credentials"
+HOMEPAGE="https://github.com/rescrv/libmacaroons"
+SRC_URI="https://github.com/rescrv/libmacaroons/archive/refs/tags/releases/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 x86"
+
+DEPEND="
+ dev-libs/json-c:=
+ dev-libs/libsodium:=
+"
+RDEPEND="${DEPEND}"
+BDEPEND=""
+
+S="${WORKDIR}"/${PN}-releases-${PV}
+
+PATCHES=(
+ "${FILESDIR}"/${P}-json-c.patch
+ "${FILESDIR}"/${P}-no-python.patch
+)
+
+src_prepare() {
+ default
+ eautoreconf
+}
+
+src_configure() {
+ econf --enable-json-support
+}
+
+src_install() {
+ default
+ find "${ED}" -name '*.la' -delete || die
+}
diff --git a/dev-libs/libmacaroons/metadata.xml b/dev-libs/libmacaroons/metadata.xml
new file mode 100644
index 000000000000..5a6c5e0880cc
--- /dev/null
+++ b/dev-libs/libmacaroons/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">
+ <email>amadio@gentoo.org</email>
+ <name>Guilherme Amadio</name>
+ </maintainer>
+ <longdescription lang="en">
+ This library provides an implementation of macaroons, which are flexible
+ authorization tokens that work great in distributed systems. Like cookies,
+ macaroons are bearer tokens that enable applications to ascertain whether
+ their holders' actions are authorized.
+ </longdescription>
+ <upstream>
+ <remote-id type="github">rescrv/libmacaroons</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/libmanette/Manifest b/dev-libs/libmanette/Manifest
index 76f14612826e..232e5955215a 100644
--- a/dev-libs/libmanette/Manifest
+++ b/dev-libs/libmanette/Manifest
@@ -1 +1 @@
-DIST libmanette-0.2.6.tar.xz 43236 BLAKE2B 3b2a6979aa368117fa5d61623c26e6cca61388770ad77e759c3427fcba64d40361b1e1a4f87a2931281edbf5c2943a44c2ee3b0485ef52ddbf183a9e72344892 SHA512 e10a1b3e493a6472b0cf7562e3dfbba839ee69bb878676b2e3521363e9ff7c5df7d379923a4781366797e889f3c8985397080ae606264dc9bd3a4459bce0513c
+DIST libmanette-0.2.7.tar.xz 43928 BLAKE2B 10978109c22defc1fa3361ef08d824ec5a67fda86b020504322fb86db0f7157617daf34db6ddaf0c2221ad9419b04cad07fad17bb6de103b198c7664cee12c4d SHA512 c3ebaba901731d3f106379befba1c4020aa32dcd224ced7f24aab37e547644080202dfcdd0e8cbd0cb6c864410f038e483502d357ab9842ae0f25e9570d120ef
diff --git a/dev-libs/libmanette/libmanette-0.2.6.ebuild b/dev-libs/libmanette/libmanette-0.2.6.ebuild
deleted file mode 100644
index cdf714b17c27..000000000000
--- a/dev-libs/libmanette/libmanette-0.2.6.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 gnome.org gnome2-utils meson vala xdg
-
-DESCRIPTION="Simple GObject game controller library"
-HOMEPAGE="https://gitlab.gnome.org/aplazas/libmanette"
-
-LICENSE="LGPL-2.1+"
-SLOT="0"
-KEYWORDS="amd64 arm arm64 ppc ppc64 ~riscv x86"
-IUSE="gtk-doc +introspection +udev +vala test"
-RESTRICT="!test? ( test )"
-REQUIRED_USE="vala? ( introspection )"
-
-RDEPEND="
- >=dev-libs/glib-2.50:2
- udev? ( dev-libs/libgudev[introspection?] )
- dev-libs/libevdev
- introspection? ( >=dev-libs/gobject-introspection-1.56:= )
-"
-DEPEND="${DEPEND}
- vala? ( $(vala_depend) )
- virtual/pkgconfig
-"
-
-src_prepare() {
- xdg_src_prepare
- use vala && vala_src_prepare
-}
-
-src_configure() {
- local emesonargs=(
- -Ddemos=false
- $(meson_use test build-tests)
- -Dinstall-tests=false
- $(meson_use gtk-doc doc)
- $(meson_use introspection)
- $(meson_use vala vapi)
- $(meson_feature udev gudev)
- )
- meson_src_configure
-}
diff --git a/dev-libs/libmanette/libmanette-0.2.7.ebuild b/dev-libs/libmanette/libmanette-0.2.7.ebuild
new file mode 100644
index 000000000000..10c2fcc7c933
--- /dev/null
+++ b/dev-libs/libmanette/libmanette-0.2.7.ebuild
@@ -0,0 +1,49 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+inherit gnome.org meson vala xdg
+
+DESCRIPTION="Simple GObject game controller library"
+HOMEPAGE="https://gitlab.gnome.org/aplazas/libmanette"
+
+LICENSE="LGPL-2.1+"
+SLOT="0"
+KEYWORDS="amd64 arm arm64 ~loong ppc ppc64 ~riscv x86"
+IUSE="gtk-doc +introspection +udev +vala test"
+RESTRICT="!test? ( test )"
+REQUIRED_USE="vala? ( introspection )"
+
+RDEPEND="
+ >=dev-libs/glib-2.50:2
+ udev? ( dev-libs/libgudev[introspection?] )
+ dev-libs/libevdev
+ introspection? ( >=dev-libs/gobject-introspection-1.56:= )
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ gtk-doc? (
+ dev-util/gtk-doc
+ app-text/docbook-xml-dtd:4.3
+ )
+ vala? ( $(vala_depend) )
+ virtual/pkgconfig
+"
+
+src_prepare() {
+ xdg_src_prepare
+ use vala && vala_src_prepare
+}
+
+src_configure() {
+ local emesonargs=(
+ -Ddemos=false
+ $(meson_use test build-tests)
+ -Dinstall-tests=false
+ $(meson_use gtk-doc doc)
+ $(meson_use introspection)
+ $(meson_use vala vapi)
+ $(meson_feature udev gudev)
+ )
+ meson_src_configure
+}
diff --git a/dev-libs/libmanette/metadata.xml b/dev-libs/libmanette/metadata.xml
index 7b343b06be8a..6fde13aaf331 100644
--- a/dev-libs/libmanette/metadata.xml
+++ b/dev-libs/libmanette/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/libmanette</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/dev-libs/libmateweather/Manifest b/dev-libs/libmateweather/Manifest
index 21f4e9d492a0..15f406c648b3 100644
--- a/dev-libs/libmateweather/Manifest
+++ b/dev-libs/libmateweather/Manifest
@@ -1 +1,2 @@
-DIST libmateweather-1.24.1.tar.xz 2223880 BLAKE2B e9d86e66755760937e71b983adbd61a5d71a311b1550e7ed445e94d4f74efc4f5d4cf1af17558035c74a0c56b598cc7f464f4a011a873a2d00a26ad4c37c8209 SHA512 1e653a167b12593171bb3dcfae3a5e57b3f874b220c34ca4ad2e575da7df424ce8a71f88088f53ec53cf9614d40ecda48b088ef6bede680c0ce81dca35ee1156
+DIST libmateweather-1.26.3.tar.xz 2211104 BLAKE2B b395d05ff462c1d175beba2e143889e771bf98008af724ab648b8aeb3f4760a753d4349d8b66d748242ef2d057811344d8493e12b61d0b2e56e5b3c2067d0eef SHA512 e9285e615e013b7371e738b74647652f5b0abf029f32ba02299e632d882e7d0ff3c41dcac834ddb5b2a4fc93782d67f9764f9abc99a7eb4a26ac07ae12d9cafd
+DIST libmateweather-1.27.1.tar.xz 2203672 BLAKE2B 16a1490eea8d608275b94622ed918332498ebecbe7ddc385095c7b953ed657ead142c4cb0aff8ac8624e6a4ab559e2e54b3e44be10e899889d390023710c0fe8 SHA512 4de78f57768681c77d85dd5cbbea68f4000e37a696b3bd01510a27dceb204b3425db257fe431461eb81fe85395f8c0e072c2821eb6337ef21067734e151a4fcc
diff --git a/dev-libs/libmateweather/libmateweather-1.24.1.ebuild b/dev-libs/libmateweather/libmateweather-1.24.1.ebuild
deleted file mode 100644
index 9db9426bf416..000000000000
--- a/dev-libs/libmateweather/libmateweather-1.24.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=6
-
-MATE_LA_PUNT="yes"
-
-inherit mate
-
-if [[ ${PV} != 9999 ]]; then
- KEYWORDS="amd64 ~arm ~arm64 ~riscv x86"
-fi
-
-DESCRIPTION="MATE library to access weather information from online services"
-LICENSE="LGPL-2.1+ GPL-2+"
-SLOT="0"
-
-IUSE="debug"
-
-COMMON_DEPEND=">=dev-libs/glib-2.50:2
- >=dev-libs/libxml2-2.6:2
- >=net-libs/libsoup-2.54:2.4
- >=sys-libs/timezone-data-2010k:0
- x11-libs/gdk-pixbuf:2
- >=x11-libs/gtk+-3.22:3
-"
-
-RDEPEND="${COMMON_DEPEND}
- virtual/libintl
-"
-
-DEPEND="${COMMON_DEPEND}
- dev-util/gtk-doc
- dev-util/gtk-doc-am
- >=sys-devel/gettext-0.19.8
- >=sys-devel/libtool-2.2.6:2
- virtual/pkgconfig
-"
-
-src_configure() {
- mate_src_configure \
- --enable-locations-compression \
- --disable-all-translations-in-one-xml \
- --disable-icon-update
-}
diff --git a/dev-libs/libmateweather/libmateweather-1.26.3.ebuild b/dev-libs/libmateweather/libmateweather-1.26.3.ebuild
new file mode 100644
index 000000000000..6150436bf89e
--- /dev/null
+++ b/dev-libs/libmateweather/libmateweather-1.26.3.ebuild
@@ -0,0 +1,48 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+MATE_LA_PUNT="yes"
+
+inherit mate
+
+MINOR=$(($(ver_cut 2) % 2))
+if [[ ${MINOR} -eq 0 ]]; then
+ KEYWORDS="amd64 ~arm ~arm64 ~loong ~riscv x86"
+fi
+
+DESCRIPTION="MATE library to access weather information from online services"
+LICENSE="LGPL-2.1+ GPL-2+"
+SLOT="0"
+
+IUSE="debug"
+
+COMMON_DEPEND=">=dev-libs/glib-2.56:2
+ >=dev-libs/libxml2-2.6:2
+ >=net-libs/libsoup-2.54:2.4
+ >=sys-libs/timezone-data-2010k:0
+ x11-libs/gdk-pixbuf:2
+ >=x11-libs/gtk+-3.22:3
+"
+
+RDEPEND="${COMMON_DEPEND}
+ virtual/libintl
+"
+
+DEPEND="${RDEPEND}"
+
+BDEPEND="
+ dev-util/gtk-doc
+ dev-build/gtk-doc-am
+ >=sys-devel/gettext-0.19.8
+ >=dev-build/libtool-2.2.6:2
+ virtual/pkgconfig
+"
+
+src_configure() {
+ mate_src_configure \
+ --enable-locations-compression \
+ --disable-all-translations-in-one-xml \
+ --disable-icon-update
+}
diff --git a/dev-libs/libmateweather/libmateweather-1.27.1.ebuild b/dev-libs/libmateweather/libmateweather-1.27.1.ebuild
new file mode 100644
index 000000000000..bed9fb8fb2dd
--- /dev/null
+++ b/dev-libs/libmateweather/libmateweather-1.27.1.ebuild
@@ -0,0 +1,48 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+MATE_LA_PUNT="yes"
+
+inherit mate
+
+MINOR=$(($(ver_cut 2) % 2))
+if [[ ${MINOR} -eq 0 ]]; then
+ KEYWORDS="~amd64 ~arm ~arm64 ~loong ~riscv ~x86"
+fi
+
+DESCRIPTION="MATE library to access weather information from online services"
+LICENSE="LGPL-2.1+ GPL-2+"
+SLOT="0"
+
+IUSE="debug"
+
+COMMON_DEPEND=">=dev-libs/glib-2.56:2
+ >=dev-libs/libxml2-2.6:2
+ >=net-libs/libsoup-2.54:2.4
+ >=sys-libs/timezone-data-2010k:0
+ x11-libs/gdk-pixbuf:2
+ >=x11-libs/gtk+-3.22:3
+"
+
+RDEPEND="${COMMON_DEPEND}
+ virtual/libintl
+"
+
+DEPEND="${RDEPEND}"
+
+BDEPEND="
+ dev-util/gtk-doc
+ dev-build/gtk-doc-am
+ >=sys-devel/gettext-0.19.8
+ >=dev-build/libtool-2.2.6:2
+ virtual/pkgconfig
+"
+
+src_configure() {
+ mate_src_configure \
+ --enable-locations-compression \
+ --disable-all-translations-in-one-xml \
+ --disable-icon-update
+}
diff --git a/dev-libs/libmateweather/metadata.xml b/dev-libs/libmateweather/metadata.xml
index 5287a89b3db4..bf554ceb7f0f 100644
--- a/dev-libs/libmateweather/metadata.xml
+++ b/dev-libs/libmateweather/metadata.xml
@@ -1,9 +1,17 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="project">
- <email>mate@gentoo.org</email>
- <name>Gentoo MATE Desktop</name>
+ <maintainer type="person" proxied="yes">
+ <email>oz.tiram@gmail.com</email>
+ <name>Oz Tiram</name>
+ </maintainer>
+ <maintainer type="person" proxied="yes">
+ <email>immoloism@gmail.com</email>
+ <name>Ian Jordan</name>
+ </maintainer>
+ <maintainer type="project" proxied="proxy">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
</maintainer>
<upstream>
<remote-id type="github">mate-desktop/libmateweather</remote-id>
diff --git a/dev-libs/libmaxminddb/Manifest b/dev-libs/libmaxminddb/Manifest
index 31ff0e0a0e91..185e4596b630 100644
--- a/dev-libs/libmaxminddb/Manifest
+++ b/dev-libs/libmaxminddb/Manifest
@@ -1,2 +1,3 @@
DIST libmaxminddb-1.5.2.tar.gz 604683 BLAKE2B 4dea7413be59169104adf3dc5dfe3e4f3bdb4639bbb4a0c6365d93216e279d505f01e32f737bf66d9f5b98f65f3eaefa46f630458bd6032a32be8c74acf12a1b SHA512 074ef6b62a74cede7be332eaeff5aa7442f43de92d39ea65b38430f0e1b65a5515f4343894ca5c28a7d50181eaec44e8db7083461b9e12e7014d2d1e0ff033b8
DIST libmaxminddb-1.6.0.tar.gz 605099 BLAKE2B 6868e42b8a166d75f6fa3a1da0fc2bd47a381ff960496ec9348b88c72b1bae180e3c0ce8989149e60d7d9c795d6baedb8e9d984098914064db985f2d201983c2 SHA512 9394e8dd959982d4ef5d15a928d32700722ed9d6c9988d9cc1bf2f4e67de0a53cc6987e90aaef3a6926c9ff36ac378f7a1fe47818fda4f5a3a22539210b2d004
+DIST libmaxminddb-1.7.1.tar.gz 609542 BLAKE2B d67e09aecb1b250bae59c4165571e1ffdbea36e10a9994c5f26b5139fffab35b5e31dbe105b4f60eca3ed694177f623f471231d0b8b9d2777dd0daeb27596f17 SHA512 5ad6e5f20dd0fd094d2e44b950256e3e705f6b7d1a5ffcc08f46d92917a540ac23796c670fdd7292b040fd78d2fe0dc10b16cc07ae941b00140e6301d8c2ac30
diff --git a/dev-libs/libmaxminddb/libmaxminddb-1.7.1.ebuild b/dev-libs/libmaxminddb/libmaxminddb-1.7.1.ebuild
new file mode 100644
index 000000000000..481be5e3800c
--- /dev/null
+++ b/dev-libs/libmaxminddb/libmaxminddb-1.7.1.ebuild
@@ -0,0 +1,46 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit toolchain-funcs
+
+DESCRIPTION="C library for the MaxMind DB file format"
+HOMEPAGE="https://github.com/maxmind/libmaxminddb"
+if [[ ${PV} == *9999 ]] ; then
+ EGIT_REPO_URI="https://github.com/maxmind/libmaxminddb.git"
+ inherit autotools git-r3
+else
+ SRC_URI="https://github.com/maxmind/libmaxminddb/releases/download/${PV}/${P}.tar.gz"
+
+ KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86"
+fi
+
+LICENSE="Apache-2.0"
+SLOT="0/0.0.7"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+DEPEND="test? ( dev-perl/IPC-Run3 )"
+
+DOCS=( Changes.md )
+
+src_prepare() {
+ default
+
+ if [[ ${PV} == *9999 ]] ; then
+ eautoreconf
+ fi
+}
+
+src_configure() {
+ tc-export AR CC
+
+ default
+}
+
+src_install() {
+ default
+
+ find "${ED}" -name '*.la' -delete || die
+}
diff --git a/dev-libs/libmaxminddb/libmaxminddb-9999.ebuild b/dev-libs/libmaxminddb/libmaxminddb-9999.ebuild
index 2428e17f2542..0b83ce40a0f6 100644
--- a/dev-libs/libmaxminddb/libmaxminddb-9999.ebuild
+++ b/dev-libs/libmaxminddb/libmaxminddb-9999.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 toolchain-funcs
@@ -13,7 +13,7 @@ if [[ ${PV} == *9999 ]] ; then
else
SRC_URI="https://github.com/maxmind/libmaxminddb/releases/download/${PV}/${P}.tar.gz"
- KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~s390 ~sparc ~x86"
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
fi
LICENSE="Apache-2.0"
@@ -36,7 +36,7 @@ src_prepare() {
src_configure() {
tc-export AR CC
- econf --disable-static
+ default
}
src_install() {
diff --git a/dev-libs/libmba/files/libmba-0.9.1-clang16-build-fix.patch b/dev-libs/libmba/files/libmba-0.9.1-clang16-build-fix.patch
new file mode 100644
index 000000000000..7ddba14ea3b6
--- /dev/null
+++ b/dev-libs/libmba/files/libmba-0.9.1-clang16-build-fix.patch
@@ -0,0 +1,11 @@
+Bug: https://bugs.gentoo.org/895046
+--- a/src/daemon.c
++++ b/src/daemon.c
+@@ -22,6 +22,7 @@
+ * OTHER DEALINGS IN THE SOFTWARE.
+ */
+
++#define _GNU_SOURCE
+ #include <stdlib.h>
+ #include <stdio.h>
+ #include <errno.h>
diff --git a/dev-libs/libmba/libmba-0.9.1-r4.ebuild b/dev-libs/libmba/libmba-0.9.1-r4.ebuild
deleted file mode 100644
index df4485f0ce4b..000000000000
--- a/dev-libs/libmba/libmba-0.9.1-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
-
-inherit flag-o-matic toolchain-funcs
-
-DESCRIPTION="A library of generic C modules"
-LICENSE="MIT"
-HOMEPAGE="http://www.ioplex.com/~miallen/libmba/"
-SRC_URI="http://www.ioplex.com/~miallen/libmba/dl/${P}.tar.gz"
-
-SLOT="0"
-KEYWORDS="amd64 x86"
-
-PATCHES=(
- "${FILESDIR}"/${P}-qa.patch
- "${FILESDIR}"/${P}-glibc-2.20.patch
-)
-
-src_prepare() {
- default
-
- tc-export CC
- sed -i -e "s:gcc:${CC}:g" mktool.c || die
-
- # prevent reinventing strdup(), wcsdup() and strnlen()
- append-cflags -D_XOPEN_SOURCE=500
-}
-
-src_compile() {
- emake LIBDIR="$(get_libdir)"
-}
-
-src_install() {
- emake DESTDIR="${D}" LIBDIR="$(get_libdir)" install
-
- dodoc README.txt docs/*.txt
- docinto html
- dodoc -r docs/*.html docs/www/* docs/ref
-
- docinto examples
- dodoc -r examples/*
-
- gunzip -v $(find "${ED}" -name '*.[0-9]*.gz') || die
-}
diff --git a/dev-libs/libmba/libmba-0.9.1-r5.ebuild b/dev-libs/libmba/libmba-0.9.1-r5.ebuild
new file mode 100644
index 000000000000..e5e334234cd0
--- /dev/null
+++ b/dev-libs/libmba/libmba-0.9.1-r5.ebuild
@@ -0,0 +1,47 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit flag-o-matic toolchain-funcs
+
+DESCRIPTION="A library of generic C modules"
+LICENSE="MIT"
+HOMEPAGE="https://www.ioplex.com/~miallen/libmba/"
+SRC_URI="https://www.ioplex.com/~miallen/libmba/dl/${P}.tar.gz"
+
+SLOT="0"
+KEYWORDS="amd64 x86"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-qa.patch
+ "${FILESDIR}"/${P}-glibc-2.20.patch
+ "${FILESDIR}"/${P}-clang16-build-fix.patch
+)
+
+src_prepare() {
+ default
+
+ tc-export CC
+ sed -i -e "s:gcc:${CC}:g" mktool.c || die
+
+ # prevent reinventing strdup(), wcsdup() and strnlen()
+ append-cflags -D_XOPEN_SOURCE=500
+}
+
+src_compile() {
+ emake LIBDIR="$(get_libdir)"
+}
+
+src_install() {
+ emake DESTDIR="${D}" LIBDIR="$(get_libdir)" install
+
+ dodoc README.txt docs/*.txt
+ docinto html
+ dodoc -r docs/*.html docs/www/* docs/ref
+
+ docinto examples
+ dodoc -r examples/*
+
+ gunzip -v $(find "${ED}" -name '*.[0-9]*.gz') || die
+}
diff --git a/dev-libs/libmcfp/Manifest b/dev-libs/libmcfp/Manifest
new file mode 100644
index 000000000000..ef373098c4ee
--- /dev/null
+++ b/dev-libs/libmcfp/Manifest
@@ -0,0 +1,2 @@
+DIST libmcfp-1.2.2.tar.gz 14695 BLAKE2B 96590434d712679658c182abc201568549f2614f1621caf61fb641e47199a699937018bf9481e5eddc7086b9ac6c0eb1aaaefbd5c80ceb8406054e6b55050cfe SHA512 586e487a789751d5324ff3b6ef8ae40b0df22909a69fd374baf74c5b9e4223b18cc375ad94e3e5ff71102d9d8eb09023cda50f3ba0f33c3fa63b0eb115536497
+DIST libmcfp-1.2.3.tar.gz 15339 BLAKE2B 726d31c2d753a2554d1dbe44fcc38aa8d8d9c9a7ac7a2f15f33fd6ac76e7f936c285933cd9feccbdcd77b59731bb954471e58feba2debe04045fc6d8a9f0efbf SHA512 d8540fac9777f6f4ead9b20ee4e595a98c81a496f11e7c651e68e5f64f551de86bec6e83fe42e69fa5e30b54ecf4912b72c3534b7695a970a592eff1fb7fb27c
diff --git a/dev-libs/libmcfp/libmcfp-1.2.2.ebuild b/dev-libs/libmcfp/libmcfp-1.2.2.ebuild
new file mode 100644
index 000000000000..3c6bbafb877f
--- /dev/null
+++ b/dev-libs/libmcfp/libmcfp-1.2.2.ebuild
@@ -0,0 +1,25 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+inherit cmake
+
+DESCRIPTION="A library that can collect configuration options from command line arguments"
+HOMEPAGE="https://github.com/mhekkel/libmcfp"
+SRC_URI="https://github.com/mhekkel/${PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="BSD-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+DEPEND="dev-libs/boost:="
+RDEPEND="${DEPEND}"
+
+src_configure() {
+ local mycmakeargs=(
+ -DENABLE_TESTING="$(usex test)"
+ )
+ cmake_src_configure
+}
diff --git a/dev-libs/libmcfp/libmcfp-1.2.3.ebuild b/dev-libs/libmcfp/libmcfp-1.2.3.ebuild
new file mode 100644
index 000000000000..39c57dc4f1bf
--- /dev/null
+++ b/dev-libs/libmcfp/libmcfp-1.2.3.ebuild
@@ -0,0 +1,25 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+inherit cmake
+
+DESCRIPTION="A library that can collect configuration options from command line arguments"
+HOMEPAGE="https://github.com/mhekkel/libmcfp"
+SRC_URI="https://github.com/mhekkel/${PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="BSD-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+DEPEND="dev-libs/boost:="
+RDEPEND="${DEPEND}"
+
+src_configure() {
+ local mycmakeargs=(
+ -DENABLE_TESTING="$(usex test)"
+ )
+ cmake_src_configure
+}
diff --git a/dev-libs/libmcfp/metadata.xml b/dev-libs/libmcfp/metadata.xml
new file mode 100644
index 000000000000..f341f67c6e21
--- /dev/null
+++ b/dev-libs/libmcfp/metadata.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>pacho@gentoo.org</email>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">mhekkel/libmcfp</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/libmcrypt/files/libmcrypt-2.5.8-c99-2.patch b/dev-libs/libmcrypt/files/libmcrypt-2.5.8-c99-2.patch
new file mode 100644
index 000000000000..ba2236de6c42
--- /dev/null
+++ b/dev-libs/libmcrypt/files/libmcrypt-2.5.8-c99-2.patch
@@ -0,0 +1,42 @@
+https://src.fedoraproject.org/rpms/libmcrypt/blob/e02fbd614a5b7ba093e9e15ab322e7eb02d64e3b/f/libmcrypt-configure-c99-2.patch
+
+Fix glitches in the readdir and bcopy probes. They were
+just invalid.
+
+diff --git a/configure b/configure
+index d0fb8783e147654b..4fe7660a16359171 100755
+--- a/configure
++++ b/configure
+@@ -6639,7 +6639,7 @@ fi
+ done
+
+
+-for ac_func in readdir,,
++for ac_func in readdir
+ do
+ as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
+ echo "$as_me:$LINENO: checking for $ac_func" >&5
+@@ -6741,7 +6741,7 @@ fi
+ done
+
+
+-for ac_func in bcopy,,
++for ac_func in bcopy
+ do
+ as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
+ echo "$as_me:$LINENO: checking for $ac_func" >&5
+diff --git a/configure.in b/configure.in
+index a815778931728ec2..f0c9a0e8f73e1153 100644
+--- a/configure.in
++++ b/configure.in
+@@ -204,8 +204,8 @@ AC_FUNC_MEMCMP
+ AC_FUNC_REALLOC
+
+ AC_CHECK_FUNCS([bzero memmove memset mlock readdir_r strchr strdup strrchr])
+-AC_CHECK_FUNCS([readdir,,])
+-AC_CHECK_FUNCS([bcopy,,])
++AC_CHECK_FUNCS([readdir])
++AC_CHECK_FUNCS([bcopy])
+
+ dnl Checks for libraries.
+ AC_C_BIGENDIAN
diff --git a/dev-libs/libmcrypt/files/libmcrypt-2.5.8-c99.patch b/dev-libs/libmcrypt/files/libmcrypt-2.5.8-c99.patch
new file mode 100644
index 000000000000..25c555c99627
--- /dev/null
+++ b/dev-libs/libmcrypt/files/libmcrypt-2.5.8-c99.patch
@@ -0,0 +1,56 @@
+https://src.fedoraproject.org/rpms/libmcrypt/blob/e02fbd614a5b7ba093e9e15ab322e7eb02d64e3b/f/libmcrypt-c99.patch
+
+Add return and argument types to fake prototypes in mcrypt_symb.c.
+This avoids build failures with future compilers that do not support
+implicit function declarations.
+
+Also fix a minor type error in the perminit calls in the Triple DES
+implementation.
+
+Submitted upstream: <https://sourceforge.net/p/mcrypt/patches/15/>
+
+diff --git a/lib/Makefile.am b/lib/Makefile.am
+index a1a09578858aaf3c..a92f150627a1f610 100644
+--- a/lib/Makefile.am
++++ b/lib/Makefile.am
+@@ -23,8 +23,8 @@ mcrypt_symb.c: mcrypt_internal.h
+ @echo "/* This is automatically created. Don't touch... */" >> mcrypt_symb.c
+ @echo "" >> mcrypt_symb.c
+ -@for i in $(EXTRA_ALGOS); do \
+- if test -f ../modules/algorithms/$$i.c; then cat ../modules/algorithms/$$i.c 2>/dev/null|grep define|grep LTX|awk '{print "extern "$$3"();";}' >> mcrypt_symb.c 2>/dev/null; fi; \
+- if test -f ../modules/modes/$$i.c; then cat ../modules/modes/$$i.c 2>/dev/null|grep define|grep LTX|awk '{print "extern "$$3"();";}' >> mcrypt_symb.c 2>/dev/null; fi; \
++ if test -f ../modules/algorithms/$$i.c; then cat ../modules/algorithms/$$i.c 2>/dev/null|grep define|grep LTX|awk '{print "extern void "$$3"(void);";}' >> mcrypt_symb.c 2>/dev/null; fi; \
++ if test -f ../modules/modes/$$i.c; then cat ../modules/modes/$$i.c 2>/dev/null|grep define|grep LTX|awk '{print "extern void "$$3"(void);";}' >> mcrypt_symb.c 2>/dev/null; fi; \
+ done
+ @echo "" >> mcrypt_symb.c
+ @echo "const mcrypt_preloaded mps[] = {" >> mcrypt_symb.c
+diff --git a/lib/Makefile.in b/lib/Makefile.in
+index 1baaa1e94be1abce..e0e690d1c831370f 100644
+--- a/lib/Makefile.in
++++ b/lib/Makefile.in
+@@ -561,8 +561,8 @@ mcrypt_symb.c: mcrypt_internal.h
+ @echo "/* This is automatically created. Don't touch... */" >> mcrypt_symb.c
+ @echo "" >> mcrypt_symb.c
+ -@for i in $(EXTRA_ALGOS); do \
+- if test -f ../modules/algorithms/$$i.c; then cat ../modules/algorithms/$$i.c 2>/dev/null|grep define|grep LTX|awk '{print "extern "$$3"();";}' >> mcrypt_symb.c 2>/dev/null; fi; \
+- if test -f ../modules/modes/$$i.c; then cat ../modules/modes/$$i.c 2>/dev/null|grep define|grep LTX|awk '{print "extern "$$3"();";}' >> mcrypt_symb.c 2>/dev/null; fi; \
++ if test -f ../modules/algorithms/$$i.c; then cat ../modules/algorithms/$$i.c 2>/dev/null|grep define|grep LTX|awk '{print "extern void "$$3"(void);";}' >> mcrypt_symb.c 2>/dev/null; fi; \
++ if test -f ../modules/modes/$$i.c; then cat ../modules/modes/$$i.c 2>/dev/null|grep define|grep LTX|awk '{print "extern void "$$3"(void);";}' >> mcrypt_symb.c 2>/dev/null; fi; \
+ done
+ @echo "" >> mcrypt_symb.c
+ @echo "const mcrypt_preloaded mps[] = {" >> mcrypt_symb.c
+diff --git a/modules/algorithms/tripledes.c b/modules/algorithms/tripledes.c
+index 98e9bd45b4f336b1..2737d2fd8fd02a3f 100644
+--- a/modules/algorithms/tripledes.c
++++ b/modules/algorithms/tripledes.c
+@@ -201,8 +201,8 @@ static int _mcrypt_desinit(TRIPLEDES_KEY * key)
+ spinit(key, 0);
+ spinit(key, 1);
+ spinit(key, 2);
+- perminit(&key->iperm, ip);
+- perminit(&key->fperm, fp);
++ perminit(key->iperm, ip);
++ perminit(key->fperm, fp);
+
+
+ return 0;
diff --git a/dev-libs/libmcrypt/files/libmcrypt-2.5.8-implicit-int.patch b/dev-libs/libmcrypt/files/libmcrypt-2.5.8-implicit-int.patch
new file mode 100644
index 000000000000..98938c7c105f
--- /dev/null
+++ b/dev-libs/libmcrypt/files/libmcrypt-2.5.8-implicit-int.patch
@@ -0,0 +1,33 @@
+https://src.fedoraproject.org/rpms/libmcrypt/blob/rawhide/f/libmcrypt-c99.patch
+
+Add return and argument types to fake prototypes in mcrypt_symb.c.
+This avoids build failures with future compilers that do not support
+implicit function declarations.
+
+--- a/lib/Makefile.am
++++ b/lib/Makefile.am
+@@ -23,8 +23,8 @@ mcrypt_symb.c: mcrypt_internal.h
+ @echo "/* This is automatically created. Don't touch... */" >> mcrypt_symb.c
+ @echo "" >> mcrypt_symb.c
+ -@for i in $(EXTRA_ALGOS); do \
+- if test -f ../modules/algorithms/$$i.c; then cat ../modules/algorithms/$$i.c 2>/dev/null|grep define|grep LTX|awk '{print "extern "$$3"();";}' >> mcrypt_symb.c 2>/dev/null; fi; \
+- if test -f ../modules/modes/$$i.c; then cat ../modules/modes/$$i.c 2>/dev/null|grep define|grep LTX|awk '{print "extern "$$3"();";}' >> mcrypt_symb.c 2>/dev/null; fi; \
++ if test -f ../modules/algorithms/$$i.c; then cat ../modules/algorithms/$$i.c 2>/dev/null|grep define|grep LTX|awk '{print "extern void "$$3"(void);";}' >> mcrypt_symb.c 2>/dev/null; fi; \
++ if test -f ../modules/modes/$$i.c; then cat ../modules/modes/$$i.c 2>/dev/null|grep define|grep LTX|awk '{print "extern void "$$3"(void);";}' >> mcrypt_symb.c 2>/dev/null; fi; \
+ done
+ @echo "" >> mcrypt_symb.c
+ @echo "const mcrypt_preloaded mps[] = {" >> mcrypt_symb.c
+--- a/lib/Makefile.in
++++ b/lib/Makefile.in
+@@ -561,8 +561,8 @@ mcrypt_symb.c: mcrypt_internal.h
+ @echo "/* This is automatically created. Don't touch... */" >> mcrypt_symb.c
+ @echo "" >> mcrypt_symb.c
+ -@for i in $(EXTRA_ALGOS); do \
+- if test -f ../modules/algorithms/$$i.c; then cat ../modules/algorithms/$$i.c 2>/dev/null|grep define|grep LTX|awk '{print "extern "$$3"();";}' >> mcrypt_symb.c 2>/dev/null; fi; \
+- if test -f ../modules/modes/$$i.c; then cat ../modules/modes/$$i.c 2>/dev/null|grep define|grep LTX|awk '{print "extern "$$3"();";}' >> mcrypt_symb.c 2>/dev/null; fi; \
++ if test -f ../modules/algorithms/$$i.c; then cat ../modules/algorithms/$$i.c 2>/dev/null|grep define|grep LTX|awk '{print "extern void "$$3"(void);";}' >> mcrypt_symb.c 2>/dev/null; fi; \
++ if test -f ../modules/modes/$$i.c; then cat ../modules/modes/$$i.c 2>/dev/null|grep define|grep LTX|awk '{print "extern void "$$3"(void);";}' >> mcrypt_symb.c 2>/dev/null; fi; \
+ done
+ @echo "" >> mcrypt_symb.c
+ @echo "const mcrypt_preloaded mps[] = {" >> mcrypt_symb.c
+
diff --git a/dev-libs/libmcrypt/files/libmcrypt-2.5.8-prototypes.patch b/dev-libs/libmcrypt/files/libmcrypt-2.5.8-prototypes.patch
new file mode 100644
index 000000000000..eca6e7793161
--- /dev/null
+++ b/dev-libs/libmcrypt/files/libmcrypt-2.5.8-prototypes.patch
@@ -0,0 +1,35 @@
+diff -up libmcrypt-2.5.8/modules/algorithms/des.c.BAD libmcrypt-2.5.8/modules/algorithms/des.c
+--- libmcrypt-2.5.8/modules/algorithms/des.c.BAD 2008-08-25 17:40:29.000000000 -0400
++++ libmcrypt-2.5.8/modules/algorithms/des.c 2008-08-25 17:40:51.000000000 -0400
+@@ -35,9 +35,12 @@
+
+ /* #define NULL 0 */
+
+-static void permute_ip(), permute_fp(), perminit_ip(), spinit(),
+-perminit_fp();
+-static word32 f();
++static void permute_ip(char *, DES_KEY *, char *);
++static void permute_fp(char *, DES_KEY *, char *);
++static void perminit_ip(DES_KEY *);
++static void spinit(DES_KEY *);
++static void perminit_fp(DES_KEY *);
++static word32 f(DES_KEY *, register word32, register char *);
+
+
+ /* Tables defined in the Data Encryption Standard documents */
+diff -up libmcrypt-2.5.8/modules/algorithms/tripledes.c.BAD libmcrypt-2.5.8/modules/algorithms/tripledes.c
+--- libmcrypt-2.5.8/modules/algorithms/tripledes.c.BAD 2008-08-25 17:40:56.000000000 -0400
++++ libmcrypt-2.5.8/modules/algorithms/tripledes.c 2008-08-25 17:41:13.000000000 -0400
+@@ -36,8 +36,10 @@
+
+ /* #define NULL 0 */
+
+-static void permute(), perminit(), spinit();
+-static word32 f();
++static void permute(char *, char[16][16][8], char *);
++static void perminit(char[16][16][8], char[64]);
++static void spinit(TRIPLEDES_KEY *, int);
++static word32 f(TRIPLEDES_KEY *, int, register word32, register char *);
+
+
+ /* Tables defined in the Data Encryption Standard documents */
diff --git a/dev-libs/libmcrypt/files/libmcrypt-2.5.8-uninitialized.patch b/dev-libs/libmcrypt/files/libmcrypt-2.5.8-uninitialized.patch
new file mode 100644
index 000000000000..f52dc9334b40
--- /dev/null
+++ b/dev-libs/libmcrypt/files/libmcrypt-2.5.8-uninitialized.patch
@@ -0,0 +1,12 @@
+diff -up libmcrypt-2.5.8/modules/algorithms/twofish.c.BAD libmcrypt-2.5.8/modules/algorithms/twofish.c
+--- libmcrypt-2.5.8/modules/algorithms/twofish.c.BAD 2008-08-25 17:38:21.000000000 -0400
++++ libmcrypt-2.5.8/modules/algorithms/twofish.c 2008-08-25 17:38:30.000000000 -0400
+@@ -499,7 +499,7 @@ static void f_rnd(int i, word32* blk, TW
+ /* encrypt a block of text */
+ WIN32DLL_DEFINE void _mcrypt_encrypt(TWI * pkey, word32 * in_blk)
+ {
+- word32 t0, t1, blk[4];
++ word32 t0 = 0, t1 = 0, blk[4];
+ #ifdef WORDS_BIGENDIAN
+ blk[0] = byteswap32(in_blk[0]) ^ pkey->l_key[0];
+ blk[1] = byteswap32(in_blk[1]) ^ pkey->l_key[1];
diff --git a/dev-libs/libmcrypt/libmcrypt-2.5.8-r4.ebuild b/dev-libs/libmcrypt/libmcrypt-2.5.8-r4.ebuild
deleted file mode 100644
index d8332e4f7509..000000000000
--- a/dev-libs/libmcrypt/libmcrypt-2.5.8-r4.ebuild
+++ /dev/null
@@ -1,33 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit autotools
-
-DESCRIPTION="libmcrypt provides uniform interface to access several encryption algorithms"
-HOMEPAGE="http://mcrypt.sourceforge.net/"
-SRC_URI="mirror://sourceforge/mcrypt/${P}.tar.gz"
-
-LICENSE="GPL-2 LGPL-2.1"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ppc ppc64 ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~x86-solaris"
-
-DOCS=(
- AUTHORS NEWS README THANKS TODO ChangeLog
- doc/README.config doc/README.key doc/README.xtea
- doc/example.c
-)
-
-PATCHES=(
- "${FILESDIR}/${P}-rotate-mask.patch"
- "${FILESDIR}/${P}-autoconf-2.70.patch" #775113
-)
-
-src_prepare() {
- default
- mv configure.in configure.ac
- mv libltdl/configure.in libltdl/configure.ac
- sed -i 's/AM_CONFIG_HEADER/AC_CONFIG_HEADERS/g' configure.ac libltdl/configure.ac || die
- eautoreconf # need new libtool for interix (elibtoolize would suffice for freebsd)
-}
diff --git a/dev-libs/libmcrypt/libmcrypt-2.5.8-r6.ebuild b/dev-libs/libmcrypt/libmcrypt-2.5.8-r6.ebuild
new file mode 100644
index 000000000000..592c4a66ef6e
--- /dev/null
+++ b/dev-libs/libmcrypt/libmcrypt-2.5.8-r6.ebuild
@@ -0,0 +1,50 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools flag-o-matic
+
+DESCRIPTION="Provides an uniform interface to access several encryption algorithms"
+HOMEPAGE="https://mcrypt.sourceforge.net"
+SRC_URI="mirror://sourceforge/mcrypt/${P}.tar.gz"
+
+LICENSE="GPL-2+ LGPL-2.1+"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ppc ppc64 ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
+
+DOCS=(
+ AUTHORS NEWS README THANKS TODO ChangeLog
+ doc/README.config doc/README.key doc/README.xtea
+ doc/example.c
+)
+
+PATCHES=(
+ "${FILESDIR}/${P}-rotate-mask.patch"
+ "${FILESDIR}/${P}-autoconf-2.70.patch" #775113
+ # http://sourceforge.net/tracker/index.php?func=detail&aid=1872801&group_id=87941&atid=584895
+ "${FILESDIR}/${P}-uninitialized.patch"
+ "${FILESDIR}/${P}-prototypes.patch"
+ "${FILESDIR}/${P}-implicit-int.patch"
+)
+
+src_prepare() {
+ default
+ mv configure.in configure.ac
+ mv libltdl/configure.in libltdl/configure.ac
+ sed -i 's/AM_CONFIG_HEADER/AC_CONFIG_HEADERS/g' configure.ac libltdl/configure.ac || die
+ eautoreconf # update stale autotools
+}
+
+src_configure() {
+ # LTO type mismatch (bug #924867)
+ append-flags -fno-strict-aliasing
+ filter-lto
+
+ default
+}
+
+src_install() {
+ default
+ find "${ED}" -type f -name '*.la' -delete || die
+}
diff --git a/dev-libs/libmcrypt/libmcrypt-2.5.8-r7.ebuild b/dev-libs/libmcrypt/libmcrypt-2.5.8-r7.ebuild
new file mode 100644
index 000000000000..a92b77a045aa
--- /dev/null
+++ b/dev-libs/libmcrypt/libmcrypt-2.5.8-r7.ebuild
@@ -0,0 +1,53 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools flag-o-matic
+
+DESCRIPTION="Provides an uniform interface to access several encryption algorithms"
+HOMEPAGE="https://mcrypt.sourceforge.net"
+SRC_URI="mirror://sourceforge/mcrypt/${P}.tar.gz"
+
+LICENSE="GPL-2+ LGPL-2.1+"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ppc ppc64 ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
+
+DOCS=(
+ AUTHORS NEWS README THANKS TODO ChangeLog
+ doc/README.config doc/README.key doc/README.xtea
+ doc/example.c
+)
+
+PATCHES=(
+ "${FILESDIR}/${P}-rotate-mask.patch"
+ "${FILESDIR}/${P}-autoconf-2.70.patch" #775113
+ # http://sourceforge.net/tracker/index.php?func=detail&aid=1872801&group_id=87941&atid=584895
+ "${FILESDIR}/${P}-uninitialized.patch"
+ "${FILESDIR}/${P}-prototypes.patch"
+ "${FILESDIR}/${P}-c99.patch"
+ "${FILESDIR}/${P}-c99-2.patch"
+)
+
+src_prepare() {
+ default
+
+ mv configure.in configure.ac || die
+ mv libltdl/configure.in libltdl/configure.ac || die
+ sed -i 's/AM_CONFIG_HEADER/AC_CONFIG_HEADERS/g' configure.ac libltdl/configure.ac || die
+
+ eautoreconf # update stale autotools
+}
+
+src_configure() {
+ # LTO type mismatch (bug #924867)
+ append-flags -fno-strict-aliasing
+ filter-lto
+
+ default
+}
+
+src_install() {
+ default
+ find "${ED}" -type f -name '*.la' -delete || die
+}
diff --git a/dev-libs/libmelf/files/libmelf-0.4.0-r2-ldflags-soname.patch b/dev-libs/libmelf/files/libmelf-0.4.0-r2-ldflags-soname.patch
new file mode 100644
index 000000000000..53e95483838c
--- /dev/null
+++ b/dev-libs/libmelf/files/libmelf-0.4.0-r2-ldflags-soname.patch
@@ -0,0 +1,13 @@
+diff --git a/configure.in b/configure.in
+index b25f195..7a7e320 100644
+--- a/configure.in
++++ b/configure.in
+@@ -25,7 +25,7 @@ AC_MSG_RESULT($cache_sys_os)
+ if test "x$cache_sys_os" = "xSolaris"; then
+ SHAREDEXEC="ld -dy -r -o libmelf.so \${OBJS}"
+ else
+- SHAREDEXEC="\${CC} \${FLAGS} -shared \${OBJS} -o libmelf.so"
++ SHAREDEXEC="\${CC} \${FLAGS} \${LDFLAGS} -shared \${OBJS} -Wl,-soname,libmelf.so -o libmelf.so"
+ fi
+
+ AC_C_BIGENDIAN()
diff --git a/dev-libs/libmelf/libmelf-0.4.0-r1.ebuild b/dev-libs/libmelf/libmelf-0.4.0-r1.ebuild
deleted file mode 100644
index be54175c6c62..000000000000
--- a/dev-libs/libmelf/libmelf-0.4.0-r1.ebuild
+++ /dev/null
@@ -1,56 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit flag-o-matic toolchain-funcs
-
-DESCRIPTION="libmelf is a library interface for manipulating ELF object files"
-HOMEPAGE="http://www.hick.org/code/skape/libmelf/"
-SRC_URI="http://www.hick.org/code/skape/${PN}/${P}.tar.gz"
-
-LICENSE="Artistic"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE="static-libs"
-
-DEPEND=""
-RDEPEND="${DEPEND}"
-
-PATCHES=(
- # This patch was gained from the elfsign-0.2.2 release
- "${FILESDIR}"/${PN}-0.4.1-unfinal-release.patch
- # Cleanup stuff
- "${FILESDIR}"/${PN}-0.4.0-r1-gcc-makefile-cleanup.patch
-)
-
-src_prepare() {
- default
-
- # * QA Notice: The following shared libraries lack a SONAME
- # * /usr/lib64/libmelf.so
- sed 's/\(-shared -fPIC\)/\1 -Wl,-soname,libmelf.so/' -i configure || die
-}
-
-src_configure() {
- tc-export CC AR RANLIB
- append-flags -fPIC
- default
-}
-
-src_compile() {
- emake OPTFLAGS="${CFLAGS}"
-}
-
-src_install() {
- dobin tools/elfres
-
- dolib.so libmelf.so
- use static-libs && dolib.a libmelf.a
-
- insinto /usr/include
- doins melf.h stdelf.h
-
- HTML_DOCS=( docs/html/. )
- einstalldocs
-}
diff --git a/dev-libs/libmelf/libmelf-0.4.0-r2.ebuild b/dev-libs/libmelf/libmelf-0.4.0-r2.ebuild
new file mode 100644
index 000000000000..65754bd9885c
--- /dev/null
+++ b/dev-libs/libmelf/libmelf-0.4.0-r2.ebuild
@@ -0,0 +1,52 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools flag-o-matic toolchain-funcs
+
+DESCRIPTION="libmelf is a library interface for manipulating ELF object files"
+HOMEPAGE="https://www.hick.org/code/skape/libmelf/"
+SRC_URI="https://www.hick.org/code/skape/${PN}/${P}.tar.gz"
+
+LICENSE="Artistic"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="static-libs"
+
+PATCHES=(
+ # This patch was gained from the elfsign-0.2.2 release
+ "${FILESDIR}"/${PN}-0.4.1-unfinal-release.patch
+ # Cleanup stuff
+ "${FILESDIR}"/${PN}-0.4.0-r1-gcc-makefile-cleanup.patch
+ # Respect LDFLAGS when linking, set SONAME
+ "${FILESDIR}"/${PN}-0.4.0-r2-ldflags-soname.patch
+)
+
+src_prepare() {
+ default
+ eautoreconf
+}
+
+src_configure() {
+ tc-export CC AR RANLIB
+ append-flags -fPIC
+ default
+}
+
+src_compile() {
+ emake OPTFLAGS="${CFLAGS}"
+}
+
+src_install() {
+ dobin tools/elfres
+
+ dolib.so libmelf.so
+ use static-libs && dolib.a libmelf.a
+
+ insinto /usr/include
+ doins melf.h stdelf.h
+
+ HTML_DOCS=( docs/html/. )
+ einstalldocs
+}
diff --git a/dev-libs/libmemcached-awesome/Manifest b/dev-libs/libmemcached-awesome/Manifest
new file mode 100644
index 000000000000..e8f4373f3054
--- /dev/null
+++ b/dev-libs/libmemcached-awesome/Manifest
@@ -0,0 +1 @@
+DIST libmemcached-awesome-1.1.4.tar.gz 530337 BLAKE2B b3309e4e7ab737d06255ce9e8d2b8644e2787dca73c0b09de8bbf9c99b8126cb5eee9ef2f7320c312f35ed8e29c70e1c1042dc80587982d9bcb7200d79bba5b2 SHA512 0a10a2431142ec6e4547f82fdd35b55c018264e5f8c39910a65252c3f53d862fb5945e7a671951915aac076767cc995740b3e499eb584017a38eb2d1e82171fb
diff --git a/dev-libs/libmemcached-awesome/libmemcached-awesome-1.1.4.ebuild b/dev-libs/libmemcached-awesome/libmemcached-awesome-1.1.4.ebuild
new file mode 100644
index 000000000000..ef402d87eff8
--- /dev/null
+++ b/dev-libs/libmemcached-awesome/libmemcached-awesome-1.1.4.ebuild
@@ -0,0 +1,47 @@
+# Copyright 2022-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+DESCRIPTION="a C/C++ memcached client library"
+HOMEPAGE="https://github.com/awesomized/libmemcached"
+SRC_URI="https://github.com/awesomized/libmemcached/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/libmemcached-${PV}"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 arm arm64 x86"
+IUSE="+libevent sasl test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="!app-forensics/memdump
+ !dev-libs/libmemcached
+ libevent? ( dev-libs/libevent:= )
+ sasl? ( dev-libs/cyrus-sasl:2 )"
+DEPEND="${RDEPEND}
+ test? ( net-misc/memcached )"
+BDEPEND="app-alternatives/yacc
+ app-alternatives/lex
+ virtual/pkgconfig"
+
+src_configure() {
+ local mycmakeargs=(
+ -DBUILD_TESTING=$(usex test)
+ -DENABLE_DTRACE=OFF
+ -DENABLE_SASL=$(usex sasl)
+ )
+
+ cmake_src_configure
+}
+
+src_test() {
+ local myctestargs=(
+ # memcached_regression_lp583031: needs network, bug #845123
+ # bin/memaslap: tries to use Portage HOMEDIR, bug #845123
+ -E "(memcached_regression_lp583031|bin/memaslap|memcached_udp)"
+ )
+
+ cmake_src_test
+}
diff --git a/dev-libs/libmemcached-awesome/metadata.xml b/dev-libs/libmemcached-awesome/metadata.xml
new file mode 100644
index 000000000000..c65546e91187
--- /dev/null
+++ b/dev-libs/libmemcached-awesome/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>hydrapolic@gmail.com</email>
+ <name>Tomáš Mózes</name>
+ </maintainer>
+ <maintainer type="project" proxied="proxy">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">awesomized/libmemcached</remote-id>
+ </upstream>
+ <use>
+ <flag name="libevent">Use the libevent event loop interface.</flag>
+ <flag name="sasl">Use sasl auth for communications.</flag>
+ </use>
+</pkgmetadata>
diff --git a/dev-libs/libmemcached/libmemcached-1.0.18-r4.ebuild b/dev-libs/libmemcached/libmemcached-1.0.18-r4.ebuild
index 494ea66b4cd5..241101bc2743 100644
--- a/dev-libs/libmemcached/libmemcached-1.0.18-r4.ebuild
+++ b/dev-libs/libmemcached/libmemcached-1.0.18-r4.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=8
@@ -7,11 +7,11 @@ inherit autotools
DESCRIPTION="a C client library to the memcached server"
HOMEPAGE="https://libmemcached.org/libMemcached.html"
-SRC_URI="https://launchpad.net/${PN}/1.0/${PV}/+download/${P}.tar.gz"
+SRC_URI="https://launchpad.net/${PN}/$(ver_cut 1-2)/${PV}/+download/${P}.tar.gz"
LICENSE="BSD"
SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ppc ppc64 ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos"
IUSE="debug hsieh +libevent sasl"
# https://bugs.gentoo.org/498250
# https://bugs.launchpad.net/gentoo/+bug/1278023
diff --git a/dev-libs/libmirage/Manifest b/dev-libs/libmirage/Manifest
index 4b6fb536b1e5..bb9a5ab218ba 100644
--- a/dev-libs/libmirage/Manifest
+++ b/dev-libs/libmirage/Manifest
@@ -1 +1 @@
-DIST libmirage-3.2.6.tar.xz 229408 BLAKE2B 38402e37acf42e58fc896621cfb0f253a53b23eb8c783a900521fa8fb297fd3df8397b2f8d341e33fd7e0edcae9ac1a4e178cc9414498f27399b8e5f2a1984c5 SHA512 085ca774c047f845a61e9c1015f4b249073e72239c55dbb84c335799815cfe93b0c883c6e56cac3c0c11db009f44a6b48680c6fe6793dde63a5006cdbb627197
+DIST libmirage-3.2.7.tar.xz 229564 BLAKE2B e1e02526fcd8daec8716e0457e38be68df9e13f8609e29772c2bee080ace7e5e76112c6ffb57719144a8c9acddc942dd44e827371ffe90673cd34b0ba0f74b08 SHA512 cbb2e98dca93009c9395d1d29dc529cf4cf912b64f166c0652ee4193c83f3e93ee1f4af623f8f0903ad1d77634fe89e5c3076d138678bcb84641880e1a1d1f76
diff --git a/dev-libs/libmirage/libmirage-3.2.6.ebuild b/dev-libs/libmirage/libmirage-3.2.6.ebuild
deleted file mode 100644
index 27a87fac9425..000000000000
--- a/dev-libs/libmirage/libmirage-3.2.6.ebuild
+++ /dev/null
@@ -1,50 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit cmake xdg-utils
-
-DESCRIPTION="CD and DVD image access library"
-HOMEPAGE="https://cdemu.sourceforge.io"
-SRC_URI="https://download.sourceforge.net/cdemu/libmirage/${P}.tar.xz"
-
-LICENSE="GPL-2+"
-SLOT="0/11" # subslot = libmirage soname version
-KEYWORDS="amd64 x86"
-IUSE="doc +introspection"
-
-RDEPEND=">=app-arch/bzip2-1:=
- >=app-arch/xz-utils-5:=
- >=dev-libs/glib-2.38:2
- >=media-libs/libsamplerate-0.1:=
- >=media-libs/libsndfile-1.0:=
- sys-libs/zlib:=
- introspection? ( >=dev-libs/gobject-introspection-1.30 )"
-DEPEND="${RDEPEND}"
-BDEPEND="
- dev-util/desktop-file-utils
- dev-util/intltool
- sys-devel/gettext
- virtual/pkgconfig
- doc? ( dev-util/gtk-doc )
- introspection? ( >=dev-libs/gobject-introspection-1.30 )"
-
-DOCS=( AUTHORS README )
-
-src_configure() {
- local mycmakeargs=(
- -DGTKDOC_ENABLED="$(usex doc)"
- -DINTROSPECTION_ENABLED="$(usex introspection)"
- -DPOST_INSTALL_HOOKS=OFF # avoid sandbox violation, #487304
- )
- cmake_src_configure
-}
-
-pkg_postinst() {
- xdg_mimeinfo_database_update
-}
-
-pkg_postrm() {
- xdg_mimeinfo_database_update
-}
diff --git a/dev-libs/libmirage/libmirage-3.2.7.ebuild b/dev-libs/libmirage/libmirage-3.2.7.ebuild
new file mode 100644
index 000000000000..a634e95fadf5
--- /dev/null
+++ b/dev-libs/libmirage/libmirage-3.2.7.ebuild
@@ -0,0 +1,50 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit cmake xdg-utils
+
+DESCRIPTION="CD and DVD image access library"
+HOMEPAGE="https://cdemu.sourceforge.io"
+SRC_URI="https://download.sourceforge.net/cdemu/libmirage/${P}.tar.xz"
+
+LICENSE="GPL-2+"
+SLOT="0/11" # subslot = libmirage soname version
+KEYWORDS="amd64 x86"
+IUSE="doc +introspection"
+
+RDEPEND=">=app-arch/bzip2-1:=
+ >=app-arch/xz-utils-5:=
+ >=dev-libs/glib-2.38:2
+ >=media-libs/libsamplerate-0.1:=
+ >=media-libs/libsndfile-1.0:=
+ sys-libs/zlib:=
+ introspection? ( >=dev-libs/gobject-introspection-1.30 )"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ dev-util/desktop-file-utils
+ dev-util/intltool
+ sys-devel/gettext
+ virtual/pkgconfig
+ doc? ( dev-util/gtk-doc )
+ introspection? ( >=dev-libs/gobject-introspection-1.30 )"
+
+DOCS=( AUTHORS README )
+
+src_configure() {
+ local mycmakeargs=(
+ -DGTKDOC_ENABLED="$(usex doc)"
+ -DINTROSPECTION_ENABLED="$(usex introspection)"
+ -DPOST_INSTALL_HOOKS=OFF # avoid sandbox violation, #487304
+ )
+ cmake_src_configure
+}
+
+pkg_postinst() {
+ xdg_mimeinfo_database_update
+}
+
+pkg_postrm() {
+ xdg_mimeinfo_database_update
+}
diff --git a/dev-libs/libmix/libmix-2.05-r7.ebuild b/dev-libs/libmix/libmix-2.05-r7.ebuild
index 5e01c439716b..9e7e51c26590 100644
--- a/dev-libs/libmix/libmix-2.05-r7.ebuild
+++ b/dev-libs/libmix/libmix-2.05-r7.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=7
-inherit autotools toolchain-funcs
+inherit autotools flag-o-matic toolchain-funcs
DESCRIPTION="Programs Crypto/Network/Multipurpose Library"
HOMEPAGE="http://mixter.void.ru/"
@@ -35,6 +35,12 @@ src_prepare() {
}
src_configure() {
+ # -Werror=lto-type-mismatch
+ # https://bugs.gentoo.org/855875
+ # No upstream bug report -- upstream website doesn't resolve and no
+ # other contact method.
+ filter-lto
+
tc-export CC CXX
econf \
diff --git a/dev-libs/libmodbus/Manifest b/dev-libs/libmodbus/Manifest
index 7330e2fd00cf..a5e5c74478ae 100644
--- a/dev-libs/libmodbus/Manifest
+++ b/dev-libs/libmodbus/Manifest
@@ -1 +1 @@
-DIST libmodbus-3.1.6.tar.gz 479565 BLAKE2B d9aecb57a0dd274c54a62f707c90c83f31500dd76aefc38c2615d9ce32df659613511e1b567cc385fd2b05aa473dbfbb65ae248d93bb7df2fbfcd7b16b7c5701 SHA512 2e39aea41b1cfb30239c3d8271c68841d645a44a15019090e2efd16979bde373c76532f992aa6a4587b95c65ed9829705f32e698e445df7c0e1d52d0d1165bce
+DIST libmodbus-3.1.10.tar.gz 463325 BLAKE2B ea1c54e52f0927e9e97b2303b35925d6a40b30f1eed881eeed2d05a229c858ebdde6212431699e24a331744b30f447dfe6704c7ca0d4eb73d193ae5b5055c4b3 SHA512 d9a56d2cd3285823b287b6bf4f79741f2e626e09cfc1872405a306e8dcc0f64c15695e8aee45614071c615cd248b87293ef2351c830120a515d28303bad0ccee
diff --git a/dev-libs/libmodbus/files/libmodbus-3.1.4-doc.patch b/dev-libs/libmodbus/files/libmodbus-3.1.4-doc.patch
deleted file mode 100644
index 310e44afd1cd..000000000000
--- a/dev-libs/libmodbus/files/libmodbus-3.1.4-doc.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- libmodbus-3.1.4/Makefile.in
-+++ libmodbus-3.1.4/Makefile.in
-@@ -379,7 +379,7 @@
- pkgconfigdir = $(libdir)/pkgconfig
- pkgconfig_DATA = libmodbus.pc
- EXTRA_DIST = libmodbus.pc.in
--dist_doc_DATA = MIGRATION README.md
-+dist_doc_DATA = MIGRATION README.md AUTHORS NEWS
- SUBDIRS = src doc $(am__append_1)
- all: config.h
- $(MAKE) $(AM_MAKEFLAGS) all-recursive
diff --git a/dev-libs/libmodbus/libmodbus-3.1.10.ebuild b/dev-libs/libmodbus/libmodbus-3.1.10.ebuild
new file mode 100644
index 000000000000..0faa7ec5b0df
--- /dev/null
+++ b/dev-libs/libmodbus/libmodbus-3.1.10.ebuild
@@ -0,0 +1,31 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DESCRIPTION="Modbus library which supports RTU communication over a serial line or a TCP link"
+HOMEPAGE="https://libmodbus.org/"
+SRC_URI="https://github.com/stephane/${PN}/releases/download/v${PV}/${P}.tar.gz"
+
+LICENSE="LGPL-3"
+SLOT="0"
+KEYWORDS="amd64 arm ~arm64 ~ppc ppc64 ~riscv x86"
+IUSE="static-libs test"
+RESTRICT="!test? ( test )"
+
+src_configure() {
+ local myeconfargs=(
+ $(use_enable test tests)
+ $(use_enable static-libs static)
+ )
+
+ econf "${myeconfargs[@]}"
+}
+
+src_install() {
+ default
+
+ if ! use static-libs; then
+ find "${ED}" -name '*.la' -delete || die
+ fi
+}
diff --git a/dev-libs/libmodbus/libmodbus-3.1.6.ebuild b/dev-libs/libmodbus/libmodbus-3.1.6.ebuild
deleted file mode 100644
index f83064f68a58..000000000000
--- a/dev-libs/libmodbus/libmodbus-3.1.6.ebuild
+++ /dev/null
@@ -1,33 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-
-DESCRIPTION="Modbus library which supports RTU communication over a serial line or a TCP link"
-HOMEPAGE="https://libmodbus.org/"
-SRC_URI="https://libmodbus.org/releases/${P}.tar.gz"
-
-LICENSE="LGPL-3"
-SLOT="0"
-KEYWORDS="amd64 x86"
-IUSE="static-libs test doc"
-RESTRICT="!test? ( test )"
-
-RDEPEND=""
-DEPEND="doc? ( app-text/asciidoc
- app-text/xmlto )"
-
-PATCHES=( "${FILESDIR}"/${PN}-3.1.4-doc.patch )
-
-src_configure() {
- econf \
- $(use_enable test tests) \
- $(use_enable static-libs static) \
- $(use_with doc documentation)
-}
-
-src_install() {
- default
-
- use static-libs || rm "${ED}"/usr/*/libmodbus.la
-}
diff --git a/dev-libs/libmodbus/metadata.xml b/dev-libs/libmodbus/metadata.xml
index 85e4ed814fa2..669ea40be1ed 100644
--- a/dev-libs/libmodbus/metadata.xml
+++ b/dev-libs/libmodbus/metadata.xml
@@ -1,5 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
-<!-- maintainer-needed -->
+ <maintainer type="person">
+ <email>conikost@gentoo.org</email>
+ <name>Conrad Kostecki</name>
+ </maintainer>
+ <upstream>
+ <bugs-to>https://github.com/stephane/libmodbus/issues</bugs-to>
+ <remote-id type="github">stephane/libmodbus</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/dev-libs/libmowgli/libmowgli-2.1.3-r3.ebuild b/dev-libs/libmowgli/libmowgli-2.1.3-r3.ebuild
index 3f74c221f3fe..9290dd9b018c 100644
--- a/dev-libs/libmowgli/libmowgli-2.1.3-r3.ebuild
+++ b/dev-libs/libmowgli/libmowgli-2.1.3-r3.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
@@ -11,7 +11,7 @@ SRC_URI="https://github.com/atheme/libmowgli-2/archive/v${PV}.tar.gz -> ${P}.tar
LICENSE="BSD-2"
SLOT="2"
-KEYWORDS="~alpha amd64 arm ~hppa ~ia64 ~mips ppc ppc64 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos"
+KEYWORDS="~alpha amd64 arm ~arm64 ~hppa ~ia64 ~mips ppc ppc64 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos"
IUSE="ssl"
RDEPEND="ssl? (
diff --git a/dev-libs/libmpack/files/libmpack-1.0.5-libtool.patch b/dev-libs/libmpack/files/libmpack-1.0.5-libtool.patch
new file mode 100644
index 000000000000..59ebd91fc9e4
--- /dev/null
+++ b/dev-libs/libmpack/files/libmpack-1.0.5-libtool.patch
@@ -0,0 +1,89 @@
+https://bugs.gentoo.org/778899
+
+Author: orbea <orbea@riseup.net>
+Date: Fri Jun 17 17:29:51 2022 -0700
+
+ configure: Add minimal configure.ac for libtool
+
+diff --git a/Makefile b/Makefile.in
+similarity index 92%
+rename from Makefile
+rename to Makefile.in
+index 76cfd35..2c05a99 100644
+--- a/Makefile
++++ b/Makefile.in
+@@ -4,11 +4,9 @@
+ config ?= debug
+ SYSTEM ?= $(shell uname -s)
+
+-ifeq ($(SYSTEM),Darwin)
+- LIBTOOL ?= glibtool
+-else
+- LIBTOOL ?= libtool
+-endif
++top_builddir = @top_builddir@
++
++LIBTOOL := @LIBTOOL@
+
+ ifneq ($(VERBOSE),1)
+ LIBTOOL += --quiet
+@@ -33,11 +31,11 @@ else
+ XCFLAGS += -std=c99
+ endif
+
+-NAME := mpack
+-MAJOR := 1
+-MINOR := 0
+-PATCH := 3
+-VERSION := $(MAJOR).$(MINOR).$(PATCH)
++NAME := @PACKAGE_NAME@
++MAJOR := @MAJOR@
++MINOR := @MINOR@
++PATCH := @PATCH@
++VERSION := @PACKAGE_VERSION@
+
+ LT_REVISION=0
+ LT_CURRENT=0
+@@ -130,6 +128,11 @@ clean:
+ $(TOBJ): XCFLAGS := $(filter-out $(TEST_FILTER_OUT),$(XCFLAGS)) \
+ -std=gnu99 -Wno-conversion -Wno-unused-parameter
+
++$(OUTDIR)/.tag:
++ @mkdir -p $(OUTDIR)/$(SRCDIR)
++ @mkdir -p $(OUTDIR)/$(TESTDIR)/deps/tap
++ @touch $@
++
+ $(COVOUT): $(SRC) $(TSRC)
+ find $(OUTDIR) -type f -name '*.gcda' -print0 | xargs -0 rm -f
+ $(MAKE) CFLAGS='-DNDEBUG -g --coverage' LDFLAGS=--coverage config=$(config) test
+@@ -142,7 +145,7 @@ $(PROFOUT): $(SRC) $(TSRC)
+ gprof $(OUTDIR)/run-tests gmon.out > $@
+ rm gmon.out
+
+-$(OUTDIR)/%.lo: %.c $(AMALG)
++$(OUTDIR)/%.lo: %.c $(AMALG) $(OUTDIR)/.tag
+ @echo compile $< =\> $@
+ @$(LIBTOOL) --mode=compile --tag=CC $(CC) $(XCFLAGS) $(CFLAGS) -o $@ -c $<
+
+diff --git a/configure.ac b/configure.ac
+new file mode 100644
+index 0000000..d2f02e7
+--- /dev/null
++++ b/configure.ac
+@@ -0,0 +1,16 @@
++m4_define([MAJOR], [1])
++m4_define([MINOR], [0])
++m4_define([PATCH], [5])
++
++AC_INIT([mpack], [MAJOR.MINOR.PATCH])
++AC_CONFIG_FILES([Makefile])
++
++LT_INIT
++
++AC_SUBST([top_builddir], [$abs_builddir])
++
++AC_SUBST([MAJOR], [MAJOR])
++AC_SUBST([MINOR], [MINOR])
++AC_SUBST([PATCH], [PATCH])
++
++AC_OUTPUT
diff --git a/dev-libs/libmpack/libmpack-1.0.5-r5.ebuild b/dev-libs/libmpack/libmpack-1.0.5-r5.ebuild
new file mode 100644
index 000000000000..fa56759d2579
--- /dev/null
+++ b/dev-libs/libmpack/libmpack-1.0.5-r5.ebuild
@@ -0,0 +1,69 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools toolchain-funcs
+
+DESCRIPTION="Simple implementation of msgpack in C"
+HOMEPAGE="https://github.com/libmpack/libmpack"
+SRC_URI="https://github.com/${PN}/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 ~arm arm64 ~hppa ~ia64 ~ppc ~ppc64 ~riscv ~sparc x86 ~x64-macos"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-libtool.patch # 778899
+)
+
+src_prepare() {
+ default
+
+ # Respect users CFLAGS
+ sed -e 's/-ggdb//g' -i .config/debug.mk || die
+ sed -e 's/-O3//g' -i .config/release.mk || die
+
+ eautoreconf
+}
+
+src_compile() {
+ local myemakeargs=(
+ "VERBOSE=1"
+ "PREFIX=${EPREFIX}/usr"
+ "CC=$(tc-getCC)"
+ "config=release"
+ "LIBDIR=${EPREFIX}/usr/$(get_libdir)"
+ "INCDIR=${EPREFIX}/usr/include"
+ )
+
+ emake "${myemakeargs[@]}" lib-bin
+}
+
+src_test() {
+ emake VERBOSE=1 XLDFLAGS="-shared" test
+}
+
+src_install() {
+ local myemakeargs=(
+ "VERBOSE=1"
+ "PREFIX=${EPREFIX}/usr"
+ "DESTDIR=${D}"
+ "config=release"
+ "LIBDIR=${EPREFIX}/usr/$(get_libdir)"
+ "INCDIR=${EPREFIX}/usr/include"
+ "XLDFLAGS=-shared"
+ )
+
+ emake "${myemakeargs[@]}" install
+
+ if [[ ${CHOST} == *-darwin* ]] ; then
+ local file="libmpack.0.0.0.dylib"
+ install_name_tool \
+ -id "${EPREFIX}/usr/$(get_libdir)/${file}" \
+ "${ED}/usr/$(get_libdir)/${file}" \
+ || die "Failed to adjust install_name"
+ fi
+
+ find "${ED}" -name '*.la' -delete || die
+}
diff --git a/dev-libs/libmpack/libmpack-1.0.5.ebuild b/dev-libs/libmpack/libmpack-1.0.5.ebuild
deleted file mode 100644
index 3b35596600f3..000000000000
--- a/dev-libs/libmpack/libmpack-1.0.5.ebuild
+++ /dev/null
@@ -1,62 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit toolchain-funcs
-
-DESCRIPTION="Simple implementation of msgpack in C"
-HOMEPAGE="https://github.com/libmpack/libmpack"
-SRC_URI="https://github.com/${PN}/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~riscv ~sparc x86 ~x64-macos"
-
-DEPEND=""
-RDEPEND="${DEPEND}"
-BDEPEND=""
-
-src_prepare() {
- default
-
- # Make compiling verbose
- sed -e 's/@$(LIBTOOL)/$(LIBTOOL)/g' -i Makefile || die
-
- # Respect users CFLAGS
- sed -e 's/-ggdb//g' -i Makefile || die
- sed -e 's/-O3//g' -i .config/release.mk || die
-}
-
-src_compile() {
- local myemakeargs=(
- "PREFIX=/usr"
- "CC=$(tc-getCC)"
- "config=release"
- "LIBDIR=/usr/$(get_libdir)"
- )
-
- emake "${myemakeargs[@]}" lib-bin
-}
-
-src_test() {
- emake XLDFLAGS="-shared" test
-}
-
-src_install() {
- local myemakeargs=(
- "PREFIX=/usr"
- "DESTDIR=${ED}"
- "LIBDIR=/usr/$(get_libdir)"
- "XLDFLAGS=-shared"
- )
-
- emake "${myemakeargs[@]}" install
-
- if [[ ${CHOST} == *-darwin* ]] ; then
- local file="libmpack.0.0.0.dylib"
- install_name_tool -id "${EPREFIX}/usr/$(get_libdir)/${file}" "${ED}/usr/$(get_libdir)/${file}" || die "Failed to adjust install_name"
- fi
-
- find "${ED}" -name '*.la' -delete || die
-}
diff --git a/dev-libs/libmspack/Manifest b/dev-libs/libmspack/Manifest
index 698014b9766f..8bde9da8b8e8 100644
--- a/dev-libs/libmspack/Manifest
+++ b/dev-libs/libmspack/Manifest
@@ -1 +1,2 @@
DIST libmspack-0.10.1alpha.tar.gz 963274 BLAKE2B 39bcb3b7ea419d6d00850b70c217c802a2095dd4398038e594ae7c01ca12e71508218c1cfca5ae8b102636ab9517b13d55c1e411b31e87d28aa46331cd0127e6 SHA512 a7b5f7caa49190c5021f3e768b92f2e51cc0ce685c9ab6ed6fb36de885c73231b58d47a8a3b5c5aa5c9ac56c25c500eb683d84dbf11f09f97f6cb4fff5adc245
+DIST libmspack-0.11alpha.tar.gz 509478 BLAKE2B 7e386ab5ae160000bab9e5523f2ebf3907a5cb564fb7cc8945ca15daf5c8ff2563f6680383c52f6de95d1aa992d6616e2f80133740c8329390a8e5c76ba84301 SHA512 40c487e5b4e2f63a6cada26d29db51f605e8c29525a1cb088566d02cf2b1cc9dba263f80e2101d7f8e9d69cf7684a15bcaf791fb4891ad013a56afc7256dfa62
diff --git a/dev-libs/libmspack/libmspack-0.10.1_alpha-r1.ebuild b/dev-libs/libmspack/libmspack-0.10.1_alpha-r1.ebuild
new file mode 100644
index 000000000000..da8fcd943d18
--- /dev/null
+++ b/dev-libs/libmspack/libmspack-0.10.1_alpha-r1.ebuild
@@ -0,0 +1,67 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools
+
+if [[ ${PV} == *9999 ]] ; then
+ EGIT_REPO_URI="https://github.com/kyz/libmspack.git"
+ inherit git-r3
+ MY_P="${PN}-9999"
+else
+ KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ppc ppc64 ~riscv ~s390 sparc x86 ~arm64-macos ~x64-macos ~x64-solaris"
+ MY_PV="${PV/_alpha/alpha}"
+ MY_P="${PN}-${MY_PV}"
+ SRC_URI="https://www.cabextract.org.uk/libmspack/libmspack-${MY_PV}.tar.gz"
+fi
+
+DESCRIPTION="A library for Microsoft compression formats"
+HOMEPAGE="https://www.cabextract.org.uk/libmspack/"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+IUSE="debug doc"
+
+S="${WORKDIR}/${MY_P}"
+
+src_prepare() {
+ if [[ ${PV} == *9999 ]] ; then
+ # Re-create file layout from release tarball
+ pushd "${WORKDIR}" > /dev/null || die
+
+ cp -aL "${S}"/${PN} "${WORKDIR}"/${PN}-source || die
+ rm -r "${S}" || die
+ mv "${WORKDIR}"/${PN}-source "${S}" || die
+
+ popd > /dev/null || die
+ fi
+
+ default
+
+ eautoreconf
+}
+
+src_configure() {
+ econf $(use_enable debug)
+}
+
+src_test() {
+ default
+
+ cd "${S}"/test || die
+ ./cabd_test || die
+}
+
+src_install() {
+ use doc && HTML_DOCS=( doc/. )
+
+ default
+
+ if use doc ; then
+ rm "${ED}"/usr/share/doc/"${PF}"/html/{Makefile*,Doxyfile*} || die
+ fi
+
+ find "${ED}" -name '*.la' -delete || die
+ find "${ED}" -name "*.a" -delete || die
+}
diff --git a/dev-libs/libmspack/libmspack-0.10.1_alpha.ebuild b/dev-libs/libmspack/libmspack-0.10.1_alpha.ebuild
deleted file mode 100644
index 7d7b60614f6a..000000000000
--- a/dev-libs/libmspack/libmspack-0.10.1_alpha.ebuild
+++ /dev/null
@@ -1,73 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit autotools multilib-minimal
-
-if [[ ${PV} == "9999" ]] ; then
- EGIT_REPO_URI="https://github.com/kyz/libmspack.git"
- inherit git-r3
- MY_P="${PN}-9999"
-else
- KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ppc ppc64 ~riscv ~s390 sparc x86 ~x64-macos ~x64-solaris"
- MY_PV="${PV/_alpha/alpha}"
- MY_P="${PN}-${MY_PV}"
- SRC_URI="https://www.cabextract.org.uk/libmspack/libmspack-${MY_PV}.tar.gz"
-fi
-
-DESCRIPTION="A library for Microsoft compression formats"
-HOMEPAGE="https://www.cabextract.org.uk/libmspack/"
-
-LICENSE="LGPL-2.1"
-SLOT="0"
-IUSE="debug doc static-libs"
-
-DEPEND=""
-RDEPEND=""
-
-S="${WORKDIR}/${MY_P}"
-
-src_prepare() {
- if [[ ${PV} == "9999" ]] ; then
- # Re-create file layout from release tarball
- pushd "${WORKDIR}" &>/dev/null || die
- cp -aL "${S}"/${PN} "${WORKDIR}"/${PN}-source || die
- rm -r "${S}" || die
- mv "${WORKDIR}"/${PN}-source "${S}" || die
- popd &>/dev/null || die
- fi
-
- default
-
- eautoreconf
-
- multilib_copy_sources
-}
-
-multilib_src_configure() {
- ECONF_SOURCE="${S}" econf \
- $(use_enable debug) \
- $(use_enable static-libs static)
-}
-
-multilib_src_test() {
- if multilib_is_native_abi; then
- default
- cd "${S}"/test && "${BUILD_DIR}"/test/cabd_test || die
- fi
-}
-
-multilib_src_install_all() {
- DOCS=(AUTHORS ChangeLog NEWS README TODO)
- use doc && HTML_DOCS=(doc/*)
- default_src_install
- if use doc; then
- rm "${ED}"/usr/share/doc/"${PF}"/html/{Makefile*,Doxyfile*} || die
- fi
-
- find "${ED}" -name '*.la' -delete || die
- if ! use static-libs ; then
- find "${ED}" -name "*.a" -delete || die
- fi
-}
diff --git a/dev-libs/libmspack/libmspack-0.11_alpha.ebuild b/dev-libs/libmspack/libmspack-0.11_alpha.ebuild
new file mode 100644
index 000000000000..2a4ad5dfcc64
--- /dev/null
+++ b/dev-libs/libmspack/libmspack-0.11_alpha.ebuild
@@ -0,0 +1,67 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools
+
+if [[ ${PV} == *9999 ]] ; then
+ EGIT_REPO_URI="https://github.com/kyz/libmspack.git"
+ inherit git-r3
+ MY_P="${PN}-9999"
+else
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos ~x64-solaris"
+ MY_PV="${PV/_alpha/alpha}"
+ MY_P="${PN}-${MY_PV}"
+ SRC_URI="https://www.cabextract.org.uk/libmspack/libmspack-${MY_PV}.tar.gz"
+fi
+
+DESCRIPTION="A library for Microsoft compression formats"
+HOMEPAGE="https://www.cabextract.org.uk/libmspack/"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+IUSE="debug doc"
+
+S="${WORKDIR}/${MY_P}"
+
+src_prepare() {
+ if [[ ${PV} == *9999 ]] ; then
+ # Re-create file layout from release tarball
+ pushd "${WORKDIR}" > /dev/null || die
+
+ cp -aL "${S}"/${PN} "${WORKDIR}"/${PN}-source || die
+ rm -r "${S}" || die
+ mv "${WORKDIR}"/${PN}-source "${S}" || die
+
+ popd > /dev/null || die
+ fi
+
+ default
+
+ eautoreconf
+}
+
+src_configure() {
+ econf $(use_enable debug)
+}
+
+src_test() {
+ default
+
+ cd "${S}"/test || die
+ ./cabd_test || die
+}
+
+src_install() {
+ use doc && HTML_DOCS=( doc/. )
+
+ default
+
+ if use doc ; then
+ rm "${ED}"/usr/share/doc/"${PF}"/html/{Makefile*,Doxyfile*} || die
+ fi
+
+ find "${ED}" -name '*.la' -delete || die
+ find "${ED}" -name "*.a" -delete || die
+}
diff --git a/dev-libs/libmspack/libmspack-9999.ebuild b/dev-libs/libmspack/libmspack-9999.ebuild
index da812f64826d..2a4ad5dfcc64 100644
--- a/dev-libs/libmspack/libmspack-9999.ebuild
+++ b/dev-libs/libmspack/libmspack-9999.ebuild
@@ -1,16 +1,16 @@
-# 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 autotools multilib-minimal
+inherit autotools
-if [[ ${PV} == "9999" ]] ; then
+if [[ ${PV} == *9999 ]] ; then
EGIT_REPO_URI="https://github.com/kyz/libmspack.git"
inherit git-r3
MY_P="${PN}-9999"
else
- KEYWORDS="~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86"
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos ~x64-solaris"
MY_PV="${PV/_alpha/alpha}"
MY_P="${PN}-${MY_PV}"
SRC_URI="https://www.cabextract.org.uk/libmspack/libmspack-${MY_PV}.tar.gz"
@@ -21,53 +21,47 @@ HOMEPAGE="https://www.cabextract.org.uk/libmspack/"
LICENSE="LGPL-2.1"
SLOT="0"
-IUSE="debug doc static-libs"
-
-DEPEND=""
-RDEPEND=""
+IUSE="debug doc"
S="${WORKDIR}/${MY_P}"
src_prepare() {
- if [[ ${PV} == "9999" ]] ; then
+ if [[ ${PV} == *9999 ]] ; then
# Re-create file layout from release tarball
- pushd "${WORKDIR}" &>/dev/null || die
+ pushd "${WORKDIR}" > /dev/null || die
+
cp -aL "${S}"/${PN} "${WORKDIR}"/${PN}-source || die
rm -r "${S}" || die
mv "${WORKDIR}"/${PN}-source "${S}" || die
- popd &>/dev/null || die
+
+ popd > /dev/null || die
fi
default
eautoreconf
-
- multilib_copy_sources
}
-multilib_src_configure() {
- ECONF_SOURCE="${S}" econf \
- $(use_enable debug) \
- $(use_enable static-libs static)
+src_configure() {
+ econf $(use_enable debug)
}
-multilib_src_test() {
- if multilib_is_native_abi; then
- default
- cd "${S}"/test && "${BUILD_DIR}"/test/cabd_test || die
- fi
+src_test() {
+ default
+
+ cd "${S}"/test || die
+ ./cabd_test || die
}
-multilib_src_install_all() {
- DOCS=(AUTHORS ChangeLog NEWS README TODO)
- use doc && HTML_DOCS=(doc/*)
- default_src_install
- if use doc; then
+src_install() {
+ use doc && HTML_DOCS=( doc/. )
+
+ default
+
+ if use doc ; then
rm "${ED}"/usr/share/doc/"${PF}"/html/{Makefile*,Doxyfile*} || die
fi
find "${ED}" -name '*.la' -delete || die
- if ! use static-libs ; then
- find "${ED}" -name "*.a" -delete || die
- fi
+ find "${ED}" -name "*.a" -delete || die
}
diff --git a/dev-libs/libmspack/metadata.xml b/dev-libs/libmspack/metadata.xml
index ea25c82c21f9..98cc0646bef0 100644
--- a/dev-libs/libmspack/metadata.xml
+++ b/dev-libs/libmspack/metadata.xml
@@ -5,4 +5,7 @@
<email>reavertm@gentoo.org</email>
<name>Maciej Mrozowski</name>
</maintainer>
+ <upstream>
+ <remote-id type="github">kyz/libmspack</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/dev-libs/libnatspec/libnatspec-0.3.0.ebuild b/dev-libs/libnatspec/libnatspec-0.3.0.ebuild
index 0a083fa961ed..0fbcec33e9e8 100644
--- a/dev-libs/libnatspec/libnatspec-0.3.0.ebuild
+++ b/dev-libs/libnatspec/libnatspec-0.3.0.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
@@ -11,12 +11,12 @@ SRC_URI="mirror://sourceforge/natspec/${P}.tar.bz2"
LICENSE="LGPL-2.1"
SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
IUSE="doc"
RDEPEND="dev-libs/popt"
DEPEND="${RDEPEND}"
-BDEPEND="doc? ( app-doc/doxygen )"
+BDEPEND="doc? ( app-text/doxygen )"
PATCHES=(
"${FILESDIR}"/${PN}-0.2.6-iconv.patch
diff --git a/dev-libs/libnest2d/Manifest b/dev-libs/libnest2d/Manifest
deleted file mode 100644
index c11b486d54e2..000000000000
--- a/dev-libs/libnest2d/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST libnest2d-0.4.tar.gz 365065 BLAKE2B 74a4aef18be22d24e4e73288dd3e330b2f5baa3b2c705683c22767dfb0394a7b332bad957321f57ec7eaaf4740cff9ca1ed86f9d552be65df1b2af76ceba61e9 SHA512 fadce18986b844eed13a581f84055df909a17407a0980deb6c7c24248a969a537a8840650bcfc673e61973810ce9a008acb599e3b8e00c9bff6b566ca41cd62c
diff --git a/dev-libs/libnest2d/files/libnest2d-0.4-add-disallowed-areas.patch b/dev-libs/libnest2d/files/libnest2d-0.4-add-disallowed-areas.patch
deleted file mode 100644
index ed48cd3eeff8..000000000000
--- a/dev-libs/libnest2d/files/libnest2d-0.4-add-disallowed-areas.patch
+++ /dev/null
@@ -1,122 +0,0 @@
-From 2e91be2679b5efa0773292d9d0a2ae72255bb271 Mon Sep 17 00:00:00 2001
-From: Ghostkeeper <rubend@tutanota.com>
-Date: Tue, 6 Oct 2020 16:13:15 +0200
-Subject: [PATCH 1/3] Allow for an item to be a disallowed area
-
-Disallowed areas have slightly different behaviour from fixed items: Other items won't get packed closely around them. Implementation of that pending.
-
-Contributes to issue CURA-7754.
----
- include/libnest2d/nester.hpp | 16 ++++++++++++++++
- 1 file changed, 16 insertions(+)
-
-diff --git a/include/libnest2d/nester.hpp b/include/libnest2d/nester.hpp
-index 2f207d5..932a060 100644
---- a/include/libnest2d/nester.hpp
-+++ b/include/libnest2d/nester.hpp
-@@ -71,6 +71,15 @@ class _Item {
- int binid_{BIN_ID_UNSET}, priority_{0};
- bool fixed_{false};
-
-+ /**
-+ * \brief If this is a fixed area, indicates whether it is a disallowed area
-+ * or a previously placed item.
-+ *
-+ * If this is a disallowed area, other objects will not get packed close
-+ * together with this item. It only blocks other items in its area.
-+ */
-+ bool disallowed_{false};
-+
- public:
-
- /// The type of the shape which was handed over as the template argument.
-@@ -129,11 +138,18 @@ class _Item {
- sh_(sl::create<RawShape>(std::move(contour), std::move(holes))) {}
-
- inline bool isFixed() const noexcept { return fixed_; }
-+ inline bool isDisallowedArea() const noexcept { return disallowed_; }
- inline void markAsFixedInBin(int binid)
- {
- fixed_ = binid >= 0;
- binid_ = binid;
- }
-+ inline void markAsDisallowedAreaInBin(int binid)
-+ {
-+ fixed_ = binid >= 0;
-+ binid_ = binid;
-+ disallowed_ = true;
-+ }
-
- inline void binId(int idx) { binid_ = idx; }
- inline int binId() const noexcept { return binid_; }
-
-From ff61049e59d3151462bca7ff2e2268c2b32731e7 Mon Sep 17 00:00:00 2001
-From: Ghostkeeper <rubend@tutanota.com>
-Date: Tue, 6 Oct 2020 16:14:36 +0200
-Subject: [PATCH 2/3] Allow unsetting of being a disallowed area
-
-If you set the bin to -1 or set the item to be a simple fixed item afterwards, it'll no longer be a disallowed area.
-
-Contributes to issue CURA-7754.
----
- include/libnest2d/nester.hpp | 3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
-
-diff --git a/include/libnest2d/nester.hpp b/include/libnest2d/nester.hpp
-index 932a060..54761a6 100644
---- a/include/libnest2d/nester.hpp
-+++ b/include/libnest2d/nester.hpp
-@@ -143,12 +143,13 @@ class _Item {
- {
- fixed_ = binid >= 0;
- binid_ = binid;
-+ disallowed_ = false;
- }
- inline void markAsDisallowedAreaInBin(int binid)
- {
- fixed_ = binid >= 0;
- binid_ = binid;
-- disallowed_ = true;
-+ disallowed_ = fixed_;
- }
-
- inline void binId(int idx) { binid_ = idx; }
-
-From 31391fd173249ad9b906390058e13b09238fadc8 Mon Sep 17 00:00:00 2001
-From: Ghostkeeper <rubend@tutanota.com>
-Date: Thu, 8 Oct 2020 11:06:58 +0200
-Subject: [PATCH 3/3] Align items to their starting position if all placed
- items are disallowed
-
-We shouldn't align items to disallowed areas. So place them in the starting position according to the alignment property.
-
-Lot of work to investigate. But very little code changes!
-
-Contributes to issue CURA-7754.
----
- include/libnest2d/placers/nfpplacer.hpp | 5 +++--
- 1 file changed, 3 insertions(+), 2 deletions(-)
-
-diff --git a/include/libnest2d/placers/nfpplacer.hpp b/include/libnest2d/placers/nfpplacer.hpp
-index 96a8cff..b0ebb15 100644
---- a/include/libnest2d/placers/nfpplacer.hpp
-+++ b/include/libnest2d/placers/nfpplacer.hpp
-@@ -101,7 +101,7 @@ struct NfpPConfig {
- * alignment with the candidate item or do anything else.
- *
- * \param remaining A container with the remaining items waiting to be
-- * placed. You can use some features about the remaining items to alter to
-+ * placed. You can use some features about the remaining items to alter the
- * score of the current placement. If you know that you have to leave place
- * for other items as well, that might influence your decision about where
- * the current candidate should be placed. E.g. imagine three big circles
-@@ -735,7 +735,8 @@ class _NofitPolyPlacer: public PlacerBoilerplate<_NofitPolyPlacer<RawShape, TBin
- remlist.insert(remlist.end(), remaining.from, remaining.to);
- }
-
-- if(items_.empty()) {
-+ if(std::all_of(items_.begin(), items_.end(),
-+ [](const Item& item) { return item.isDisallowedArea(); })) {
- setInitialPosition(item);
- best_overfit = overfit(item.transformedShape(), bin_);
- can_pack = best_overfit <= 0;
diff --git a/dev-libs/libnest2d/files/libnest2d-0.4-add-soversion-to-shared-library.patch b/dev-libs/libnest2d/files/libnest2d-0.4-add-soversion-to-shared-library.patch
deleted file mode 100644
index 456f543207a9..000000000000
--- a/dev-libs/libnest2d/files/libnest2d-0.4-add-soversion-to-shared-library.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-From 12b64796aee24d5af41df3a10c4313dc713c3e74 Mon Sep 17 00:00:00 2001
-From: Karl Nilsson <karl.robert.nilsson@gmail.com>
-Date: Wed, 13 Jan 2021 21:51:34 -0500
-Subject: [PATCH] CMake: add SOVERSION to shared library
-
----
- CMakeLists.txt | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 374e90f..c2f2bec 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -95,6 +95,7 @@ if(NOT LIBNEST2D_HEADER_ONLY)
- add_library(${LIBNAME} ${PROJECT_SOURCE_DIR}/src/libnest2d.cpp)
- set_target_properties(${LIBNAME} PROPERTIES PREFIX "")
- set_target_properties(${LIBNAME} PROPERTIES DEBUG_POSTFIX "d")
-+ set_target_properties(${LIBNAME} PROPERTIES SOVERSION "1.0")
- target_link_libraries(${LIBNAME} PUBLIC libnest2d_headeronly)
- target_compile_definitions(${LIBNAME} PUBLIC LIBNEST2D_STATIC)
- target_sources(${LIBNAME} PRIVATE ${LIBNEST2D_SRCFILES})
diff --git a/dev-libs/libnest2d/files/libnest2d-0.4-fix-cpp-version.patch b/dev-libs/libnest2d/files/libnest2d-0.4-fix-cpp-version.patch
deleted file mode 100644
index 4032618fb538..000000000000
--- a/dev-libs/libnest2d/files/libnest2d-0.4-fix-cpp-version.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -2,7 +2,7 @@
-
- project(Libnest2D)
-
--set(CMAKE_CXX_STANDARD 11)
-+set(CMAKE_CXX_STANDARD 14)
- set(CMAKE_CXX_STANDARD_REQUIRED)
-
- # Add our own cmake module path.
diff --git a/dev-libs/libnest2d/files/libnest2d-0.4-gnu-install-dirs.patch b/dev-libs/libnest2d/files/libnest2d-0.4-gnu-install-dirs.patch
deleted file mode 100644
index 34484426f302..000000000000
--- a/dev-libs/libnest2d/files/libnest2d-0.4-gnu-install-dirs.patch
+++ /dev/null
@@ -1,25 +0,0 @@
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -114,6 +114,7 @@
- endif()
-
- include(CMakePackageConfigHelpers)
-+include(GNUInstallDirs)
-
- write_basic_package_version_file(
- "${CMAKE_CURRENT_BINARY_DIR}/cmakeexports/${PROJECT_NAME}ConfigVersion.cmake"
-@@ -123,10 +124,10 @@
-
- install(TARGETS libnest2d libnest2d_headeronly ${LIBNAME}
- EXPORT ${PROJECT_NAME}Targets
-- RUNTIME DESTINATION bin
-- ARCHIVE DESTINATION lib
-- LIBRARY DESTINATION lib
-- INCLUDES DESTINATION include)
-+ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
-+ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
-+ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
-+ INCLUDES DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
-
- export(EXPORT ${PROJECT_NAME}Targets
- FILE "${CMAKE_CURRENT_BINARY_DIR}/cmakeexports/${PROJECT_NAME}Targets.cmake"
diff --git a/dev-libs/libnest2d/libnest2d-0.4-r2.ebuild b/dev-libs/libnest2d/libnest2d-0.4-r2.ebuild
deleted file mode 100644
index 88a93621c9d5..000000000000
--- a/dev-libs/libnest2d/libnest2d-0.4-r2.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 cmake
-
-DESCRIPTION="Library and framework for the 2D bin packaging problem"
-HOMEPAGE="https://github.com/tamasmeszaros/libnest2d"
-SRC_URI="https://github.com/tamasmeszaros/libnest2d/archive/${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="LGPL-3"
-SLOT="0/1"
-KEYWORDS="~amd64 ~arm64 ~x86"
-
-IUSE="examples static-libs test"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- dev-cpp/eigen:3
- dev-libs/boost
- dev-libs/clipper
- sci-libs/nlopt
- "
-DEPEND="${RDEPEND}
- test? ( >=dev-cpp/catch-2.9.1 )
- "
-
-PATCHES=(
- "${FILESDIR}"/${P}-add-disallowed-areas.patch
- "${FILESDIR}"/${P}-add-soversion-to-shared-library.patch
- "${FILESDIR}"/${P}-fix-cpp-version.patch
- "${FILESDIR}"/${P}-gnu-install-dirs.patch
- )
-
-src_configure() {
- local mycmakeargs=(
- -DBUILD_SHARED_LIBS=ON
- -DLIBNEST2D_BUILD_EXAMPLES=$(usex examples)
- -DLIBNEST2D_HEADER_ONLY=$(usex static-libs OFF ON)
- -DLIBNEST2D_BUILD_UNITTESTS=$(usex test)
- -DCMAKE_INSTALL_LIBDIR=$(get_libdir)
- )
- cmake_src_configure
-}
diff --git a/dev-libs/libnest2d/metadata.xml b/dev-libs/libnest2d/metadata.xml
deleted file mode 100644
index 7d6dba84de93..000000000000
--- a/dev-libs/libnest2d/metadata.xml
+++ /dev/null
@@ -1,27 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="project">
- <email>3dprint@gentoo.org</email>
- <name>Gentoo 3D Printer Project</name>
- </maintainer>
- <slots>
- <subslots>soname major version number</subslots>
- </slots>
- <longdescription>
- Libnest2D is a library and framework for the 2D bin packaging problem. Inspired from the SVGNest Javascript
- library the project is built from scratch in C++11. The library is written with a policy that it should be
- usable out of the box with a very simple interface but has to be customizable to the very core as well. The
- algorithms are defined in a header only fashion with templated geometry types. These geometries can have custom
- or already existing implementation to avoid copying or having unnecessary dependencies.
-
- A default backend is provided if the user of the library just wants to use it out of the box without additional
- integration. This backend is reasonably fast and robust, being built on top of boost geometry and the
- polyclipping library. Usage of this default backend implies the dependency on these packages but its header only
- as well.
- </longdescription>
- <upstream>
- <bugs-to>https://github.com/tamasmeszaros/libnest2d/issues</bugs-to>
- <remote-id type="github">tamasmeszaros/libnest2d</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/dev-libs/libnfc/libnfc-1.8.0-r1.ebuild b/dev-libs/libnfc/libnfc-1.8.0-r1.ebuild
index fba699e4b06a..ef8be90d793a 100644
--- a/dev-libs/libnfc/libnfc-1.8.0-r1.ebuild
+++ b/dev-libs/libnfc/libnfc-1.8.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=8
@@ -9,7 +9,7 @@ SRC_URI="https://github.com/nfc-tools/${PN}/releases/download/${P}/${P}.tar.bz2"
LICENSE="LGPL-3"
SLOT="0"
-KEYWORDS="~amd64 ~arm ~x86"
+KEYWORDS="amd64 ~arm x86"
IUSE="doc pcsc-lite readline usb"
RDEPEND="
@@ -19,7 +19,7 @@ RDEPEND="
DEPEND="${RDEPEND}"
BDEPEND="
virtual/pkgconfig
- doc? ( app-doc/doxygen )"
+ doc? ( app-text/doxygen )"
src_configure() {
local drivers="arygon,pn532_uart,pn532_spi,pn532_i2c,acr122s"
diff --git a/dev-libs/libnfc/metadata.xml b/dev-libs/libnfc/metadata.xml
index 32b502630c84..1fbb553b1fb7 100644
--- a/dev-libs/libnfc/metadata.xml
+++ b/dev-libs/libnfc/metadata.xml
@@ -1,12 +1,18 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <!-- maintainer-needed -->
+ <maintainer type="person" proxied="yes">
+ <email>mario.haustein@hrz.tu-chemnitz.de</email>
+ <name>Mario Haustein</name>
+ </maintainer>
+ <maintainer type="project" proxied="proxy">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+ </maintainer>
<use>
<flag name="pcsc-lite">Enable NFC drivers that require pcsc-lite</flag>
</use>
<upstream>
- <remote-id type="google-code">libnfc</remote-id>
<remote-id type="github">nfc-tools/libnfc</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-libs/libnl/Manifest b/dev-libs/libnl/Manifest
index a9a95c9c88d1..c3489a869e4a 100644
--- a/dev-libs/libnl/Manifest
+++ b/dev-libs/libnl/Manifest
@@ -1 +1,3 @@
-DIST libnl-3.5.0.tar.gz 967835 BLAKE2B cf21c1ffa89799b91bf4bddb8833d5af5c62eb1c53a078ee55a2888bd8439e1ae6db8886c9c4f937297962faac6873b4cf5211ee3d1e5354d96b5dc545a6fc2d SHA512 9c94c09bac34297493b3ea482713d7c0865d2839b5042e5c7d1ed008e2402ab63df35a18e272f40b2cce27d0c31dc733fe7e4b2d376e7ca847a2b0d5e90de50c
+DIST libnl-3.7.0.tar.gz 1000913 BLAKE2B 22c418ea520416d79ee4552ab6bc5ba99239b29e074c840d31b0ec4171a0403ea9d2c1afcbf1b3428564dd371cadd99bc062ae7540e7496f970c4fb98f967e84 SHA512 80fbbc079299c90afd2a5eda62e4d4f98bf4ef23958c3ce5101f4ed4d81d783af733213bb3bab15f218555d8460bc2394898f909f4ac024fc27281faec86a041
+DIST libnl-3.8.0.tar.gz 1071113 BLAKE2B ff90d52e9b617ad8a53e4d42f43bee065b331ed919a3effc4a0f38c8e15b46f86c1eb153816499ed77dd99063500b1dc52951891034475a5bb81da1ad8004594 SHA512 a8da7e8464c5cab2807cd86f83fca53bc77f7c3bdefe43880db7be9caf5ba6bfca1b7e778b906c12fda1cf7e6f413f88cc7ad1dcc42fe8c050a8d28a6e656c02
+DIST libnl-3.9.0.tar.gz 1074117 BLAKE2B 56a39aad9aa15992ff02fe35732abbc5ed5d107b814587e02b914631489877899989d49c7aeee1ecb461ad5f525c7cd7c045c9770864d83b0a58490293441193 SHA512 b6f3633d1920e61645c97f4c4c4419444e7fd66aa3b67b0a73bc29df24cf27065542a62a9c2581f90d0c153247922ce5c649b7da51c0fead6afceaf4d0361dce
diff --git a/dev-libs/libnl/files/libnl-3.8.0-printf-non-bash.patch b/dev-libs/libnl/files/libnl-3.8.0-printf-non-bash.patch
new file mode 100644
index 000000000000..885f8fd750f3
--- /dev/null
+++ b/dev-libs/libnl/files/libnl-3.8.0-printf-non-bash.patch
@@ -0,0 +1,22 @@
+https://github.com/thom311/libnl/pull/360
+
+From 32f84a052a4383299b9f30ad09d2a70c3b2cf2b3 Mon Sep 17 00:00:00 2001
+From: Sam James <sam@gentoo.org>
+Date: Thu, 31 Aug 2023 06:59:59 +0100
+Subject: [PATCH] Makefile.am: avoid use of non-portable echo arguments
+
+This fixes tests with a non-bash shell as /bin/sh (in this case, dash) which
+does not support `echo -e`. echo itself is portable, but not echo with any arguments.
+
+Use `printf` instead.
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -1129,7 +1129,7 @@ EXTRA_DIST += \
+
+ %.build-headers-test.c: %
+ mkdir -p "$(dir $@)"
+- echo -e "#include <$$(echo "$<" | sed 's|.*\<include/netlink/|netlink/|')>\nint main(int argc, char **argv) { return 0; }" > $@
++ printf "#include <$$(echo "$<" | sed 's|.*\<include/netlink/|netlink/|')>\nint main(int argc, char **argv) { return 0; }" > $@
+
+ %.build-headers-test.o: %.build-headers-test.c
+ $(COMPILE) -Wall -Werror -Wno-error=cpp -I$(srcdir)/include -I$(builddir)/include -c -o $@ $<
diff --git a/dev-libs/libnl/files/libnl-3.8.0-python-decorator-syntax.patch b/dev-libs/libnl/files/libnl-3.8.0-python-decorator-syntax.patch
new file mode 100644
index 000000000000..d7d14962dab4
--- /dev/null
+++ b/dev-libs/libnl/files/libnl-3.8.0-python-decorator-syntax.patch
@@ -0,0 +1,21 @@
+https://github.com/thom311/libnl/commit/9aab12dff8e89b7da826c5c0826ef13c71963e28
+
+From 9aab12dff8e89b7da826c5c0826ef13c71963e28 Mon Sep 17 00:00:00 2001
+From: David Ward <david.ward@ll.mit.edu>
+Date: Tue, 29 Aug 2023 20:54:19 -0400
+Subject: [PATCH] python: Use correct decorator syntax in HTBQdisc
+
+Fixes: 87d370912ca8 ("netlink.nlattr re-implemented in more pythonic way")
+
+https://github.com/thom311/libnl/pull/359
+--- a/python/netlink/route/qdisc/htb.py
++++ b/python/netlink/route/qdisc/htb.py
+@@ -28,7 +28,7 @@ def default_class(self, value):
+ capi.rtnl_htb_set_defcls(self._qdisc._rtnl_qdisc, int(value))
+
+ @property
+- @netlink.nlattr("r2q", type=int)
++ @netlink.nlattr(type=int)
+ def r2q(self):
+ return capi.rtnl_htb_get_rate2quantum(self._qdisc._rtnl_qdisc)
+
diff --git a/dev-libs/libnl/files/libnl-99999999-2to3.patch b/dev-libs/libnl/files/libnl-99999999-2to3.patch
deleted file mode 100644
index 66a16406d780..000000000000
--- a/dev-libs/libnl/files/libnl-99999999-2to3.patch
+++ /dev/null
@@ -1,42 +0,0 @@
---- a/python/netlink/route/links/bridge.py
-+++ b/python/netlink/route/links/bridge.py
-@@ -6,7 +6,7 @@
-
- """
-
--from __future__ import absolute_import
-+
-
- from ... import core as netlink
- from .. import capi as capi
-@@ -19,10 +19,10 @@
-
- def bridge_assert_ext_info(self):
- if self._has_ext_info == False:
-- print """
-+ print("""
- Please update your kernel to be able to call this method.
- Your current kernel bridge version is too old to support this extention.
-- """
-+ """)
- raise RuntimeWarning()
-
- def port_state2str(self, state):
---- a/doc/resolve-asciidoc-refs.py
-+++ b/doc/resolve-asciidoc-refs.py
-@@ -22,4 +22,4 @@
-
- rc = re.compile('|'.join(map(re.escape, sorted(refs, reverse=True))))
- for line in open(sys.argv[1], 'r'):
-- print rc.sub(translate, line),
-+ print(rc.sub(translate, line), end=' ')
---- a/doc/doxygen-link.py
-+++ b/doc/doxygen-link.py
-@@ -1,6 +1,6 @@
- #!/usr/bin/env python
-
--from __future__ import print_function
-+
- import fileinput
- import re
- import sys
diff --git a/dev-libs/libnl/libnl-3.5.0.ebuild b/dev-libs/libnl/libnl-3.5.0.ebuild
deleted file mode 100644
index c2a2a0db143b..000000000000
--- a/dev-libs/libnl/libnl-3.5.0.ebuild
+++ /dev/null
@@ -1,99 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{8..10} )
-DISTUTILS_OPTIONAL=1
-inherit distutils-r1 libtool multilib-minimal
-
-LIBNL_P=${P/_/-}
-LIBNL_DIR=${PV/_/}
-LIBNL_DIR=${LIBNL_DIR//./_}
-
-DESCRIPTION="Libraries providing APIs to netlink protocol based Linux kernel interfaces"
-HOMEPAGE="https://www.infradead.org/~tgr/libnl/ https://github.com/thom311/libnl"
-SRC_URI="https://github.com/thom311/${PN}/releases/download/${PN}${LIBNL_DIR}/${P/_rc/-rc}.tar.gz"
-S="${WORKDIR}/${LIBNL_P}"
-
-LICENSE="LGPL-2.1 utils? ( GPL-2 )"
-SLOT="3"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux"
-IUSE="+debug python test utils"
-RESTRICT="!test? ( test )"
-
-RDEPEND="python? ( ${PYTHON_DEPS} )"
-DEPEND="${RDEPEND}"
-BDEPEND="
- ${RDEPEND}
- python? ( dev-lang/swig )
- test? ( dev-libs/check )
- sys-devel/bison
- sys-devel/flex
-"
-REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
-
-DOCS=( ChangeLog )
-
-MULTILIB_WRAPPED_HEADERS=(
- # we do not install CLI stuff for non-native
- /usr/include/libnl3/netlink/cli/addr.h
- /usr/include/libnl3/netlink/cli/class.h
- /usr/include/libnl3/netlink/cli/cls.h
- /usr/include/libnl3/netlink/cli/ct.h
- /usr/include/libnl3/netlink/cli/exp.h
- /usr/include/libnl3/netlink/cli/link.h
- /usr/include/libnl3/netlink/cli/neigh.h
- /usr/include/libnl3/netlink/cli/qdisc.h
- /usr/include/libnl3/netlink/cli/route.h
- /usr/include/libnl3/netlink/cli/rule.h
- /usr/include/libnl3/netlink/cli/tc.h
- /usr/include/libnl3/netlink/cli/utils.h
-)
-
-src_prepare() {
- default
-
- elibtoolize
-
- if use python; then
- cd "${S}"/python || die
- distutils-r1_src_prepare
- fi
-
- # out-of-source build broken
- # https://github.com/thom311/libnl/pull/58
- multilib_copy_sources
-}
-
-multilib_src_configure() {
- econf \
- --disable-static \
- $(multilib_native_use_enable utils cli) \
- $(use_enable debug)
-}
-
-multilib_src_compile() {
- default
-
- if multilib_is_native_abi && use python; then
- cd python || die
- distutils-r1_src_compile
- fi
-}
-
-multilib_src_install() {
- emake DESTDIR="${D}" install
-
- if multilib_is_native_abi && use python; then
- # Unset DOCS= since distutils-r1.eclass interferes
- local DOCS=()
- cd python || die
- distutils-r1_src_install
- fi
-}
-
-multilib_src_install_all() {
- einstalldocs
- find "${ED}" -name '*.la' -delete || die
-}
diff --git a/dev-libs/libnl/libnl-3.7.0.ebuild b/dev-libs/libnl/libnl-3.7.0.ebuild
new file mode 100644
index 000000000000..dc16175b64ac
--- /dev/null
+++ b/dev-libs/libnl/libnl-3.7.0.ebuild
@@ -0,0 +1,113 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_OPTIONAL=1
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{9..11} )
+inherit autotools distutils-r1 multilib-minimal
+
+LIBNL_P=${P/_/-}
+LIBNL_DIR=${PV/_/}
+LIBNL_DIR=${LIBNL_DIR//./_}
+
+DESCRIPTION="Libraries providing APIs to netlink protocol based Linux kernel interfaces"
+HOMEPAGE="https://www.infradead.org/~tgr/libnl/ https://github.com/thom311/libnl"
+if [[ ${PV} == 9999 ]] ; then
+ EGIT_REPO_URI="https://github.com/thom311/libnl"
+ inherit git-r3
+else
+ SRC_URI="https://github.com/thom311/${PN}/releases/download/${PN}${LIBNL_DIR}/${P/_rc/-rc}.tar.gz"
+ KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux"
+
+ S="${WORKDIR}/${LIBNL_P}"
+fi
+
+LICENSE="LGPL-2.1 utils? ( GPL-2 )"
+SLOT="3"
+IUSE="+debug python test utils"
+RESTRICT="!test? ( test )"
+
+RDEPEND="python? ( ${PYTHON_DEPS} )"
+DEPEND="${RDEPEND}"
+BDEPEND="${RDEPEND}
+ sys-devel/bison
+ sys-devel/flex
+ python? (
+ ${DISTUTILS_DEPS}
+ dev-lang/swig
+ )
+ test? ( dev-libs/check )"
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+
+MULTILIB_WRAPPED_HEADERS=(
+ # we do not install CLI stuff for non-native
+ /usr/include/libnl3/netlink/cli/addr.h
+ /usr/include/libnl3/netlink/cli/class.h
+ /usr/include/libnl3/netlink/cli/cls.h
+ /usr/include/libnl3/netlink/cli/ct.h
+ /usr/include/libnl3/netlink/cli/exp.h
+ /usr/include/libnl3/netlink/cli/link.h
+ /usr/include/libnl3/netlink/cli/mdb.h
+ /usr/include/libnl3/netlink/cli/neigh.h
+ /usr/include/libnl3/netlink/cli/qdisc.h
+ /usr/include/libnl3/netlink/cli/route.h
+ /usr/include/libnl3/netlink/cli/rule.h
+ /usr/include/libnl3/netlink/cli/tc.h
+ /usr/include/libnl3/netlink/cli/utils.h
+)
+
+src_prepare() {
+ default
+
+ eautoreconf
+
+ if use python; then
+ pushd "${S}"/python > /dev/null || die
+ distutils-r1_src_prepare
+ popd > /dev/null || die
+ fi
+}
+
+multilib_src_configure() {
+ # bug #884277
+ export YACC=yacc.bison
+
+ ECONF_SOURCE="${S}" econf \
+ $(multilib_native_use_enable utils cli) \
+ $(use_enable debug)
+}
+
+multilib_src_compile() {
+ default
+
+ if multilib_is_native_abi && use python ; then
+ pushd python > /dev/null || die
+ distutils-r1_src_compile
+ popd > /dev/null || die
+ fi
+}
+
+multilib_src_install() {
+ default
+
+ if multilib_is_native_abi && use python ; then
+ # Unset DOCS= since distutils-r1.eclass interferes
+ local DOCS=()
+
+ pushd python > /dev/null || die
+
+ distutils-r1_src_install
+
+ popd > /dev/null || die
+ fi
+}
+
+multilib_src_install_all() {
+ DOCS=( ChangeLog )
+
+ einstalldocs
+
+ find "${ED}" -name '*.la' -delete || die
+}
diff --git a/dev-libs/libnl/libnl-3.8.0.ebuild b/dev-libs/libnl/libnl-3.8.0.ebuild
new file mode 100644
index 000000000000..c72e4b01c347
--- /dev/null
+++ b/dev-libs/libnl/libnl-3.8.0.ebuild
@@ -0,0 +1,125 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# Make sure to test USE=utils on bumps and update MULTILIB_WRAPPED_HEADERS if needed
+
+DISTUTILS_EXT=1
+DISTUTILS_OPTIONAL=1
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..11} )
+inherit autotools distutils-r1 multilib-minimal
+
+LIBNL_P=${P/_/-}
+LIBNL_DIR=${PV/_/}
+LIBNL_DIR=${LIBNL_DIR//./_}
+
+DESCRIPTION="Libraries providing APIs to netlink protocol based Linux kernel interfaces"
+HOMEPAGE="https://www.infradead.org/~tgr/libnl/ https://github.com/thom311/libnl"
+if [[ ${PV} == 9999 ]] ; then
+ EGIT_REPO_URI="https://github.com/thom311/libnl"
+ inherit git-r3
+else
+ SRC_URI="https://github.com/thom311/${PN}/releases/download/${PN}${LIBNL_DIR}/${P/_rc/-rc}.tar.gz"
+ KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux"
+
+ S="${WORKDIR}/${LIBNL_P}"
+fi
+
+LICENSE="LGPL-2.1 utils? ( GPL-2 )"
+SLOT="3"
+IUSE="+debug python test utils"
+RESTRICT="!test? ( test )"
+
+RDEPEND="python? ( ${PYTHON_DEPS} )"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ ${RDEPEND}
+ sys-devel/bison
+ sys-devel/flex
+ virtual/pkgconfig
+ python? (
+ ${DISTUTILS_DEPS}
+ dev-lang/swig
+ )
+ test? ( dev-libs/check )
+"
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+
+MULTILIB_WRAPPED_HEADERS=(
+ # We do not install CLI stuff for non-native
+ /usr/include/libnl3/netlink/cli/addr.h
+ /usr/include/libnl3/netlink/cli/class.h
+ /usr/include/libnl3/netlink/cli/cls.h
+ /usr/include/libnl3/netlink/cli/ct.h
+ /usr/include/libnl3/netlink/cli/exp.h
+ /usr/include/libnl3/netlink/cli/link.h
+ /usr/include/libnl3/netlink/cli/mdb.h
+ /usr/include/libnl3/netlink/cli/nh.h
+ /usr/include/libnl3/netlink/cli/neigh.h
+ /usr/include/libnl3/netlink/cli/qdisc.h
+ /usr/include/libnl3/netlink/cli/route.h
+ /usr/include/libnl3/netlink/cli/rule.h
+ /usr/include/libnl3/netlink/cli/tc.h
+ /usr/include/libnl3/netlink/cli/utils.h
+)
+
+PATCHES=(
+ "${FILESDIR}"/${P}-python-decorator-syntax.patch
+ "${FILESDIR}"/${PN}-3.8.0-printf-non-bash.patch
+)
+
+src_prepare() {
+ default
+
+ eautoreconf
+
+ if use python; then
+ pushd "${S}"/python > /dev/null || die
+ distutils-r1_src_prepare
+ popd > /dev/null || die
+ fi
+}
+
+multilib_src_configure() {
+ # bug #884277
+ export YACC=yacc.bison
+
+ ECONF_SOURCE="${S}" econf \
+ $(multilib_native_use_enable utils cli) \
+ $(use_enable debug)
+}
+
+multilib_src_compile() {
+ default
+
+ if multilib_is_native_abi && use python ; then
+ pushd python > /dev/null || die
+ distutils-r1_src_compile
+ popd > /dev/null || die
+ fi
+}
+
+multilib_src_install() {
+ default
+
+ if multilib_is_native_abi && use python ; then
+ # Unset DOCS= since distutils-r1.eclass interferes
+ local DOCS=()
+
+ pushd python > /dev/null || die
+
+ distutils-r1_src_install
+
+ popd > /dev/null || die
+ fi
+}
+
+multilib_src_install_all() {
+ DOCS=( ChangeLog )
+
+ einstalldocs
+
+ find "${ED}" -name '*.la' -delete || die
+}
diff --git a/dev-libs/libnl/libnl-3.9.0.ebuild b/dev-libs/libnl/libnl-3.9.0.ebuild
new file mode 100644
index 000000000000..b80abc5153fd
--- /dev/null
+++ b/dev-libs/libnl/libnl-3.9.0.ebuild
@@ -0,0 +1,120 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# Make sure to test USE=utils on bumps and update MULTILIB_WRAPPED_HEADERS if needed
+
+DISTUTILS_EXT=1
+DISTUTILS_OPTIONAL=1
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..11} )
+inherit autotools distutils-r1 multilib-minimal
+
+LIBNL_P=${P/_/-}
+LIBNL_DIR=${PV/_/}
+LIBNL_DIR=${LIBNL_DIR//./_}
+
+DESCRIPTION="Libraries providing APIs to netlink protocol based Linux kernel interfaces"
+HOMEPAGE="https://www.infradead.org/~tgr/libnl/ https://github.com/thom311/libnl"
+if [[ ${PV} == 9999 ]] ; then
+ EGIT_REPO_URI="https://github.com/thom311/libnl"
+ inherit git-r3
+else
+ SRC_URI="https://github.com/thom311/${PN}/releases/download/${PN}${LIBNL_DIR}/${P/_rc/-rc}.tar.gz"
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux"
+
+ S="${WORKDIR}/${LIBNL_P}"
+fi
+
+LICENSE="LGPL-2.1 utils? ( GPL-2 )"
+SLOT="3"
+IUSE="+debug python test utils"
+RESTRICT="!test? ( test )"
+
+RDEPEND="python? ( ${PYTHON_DEPS} )"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ ${RDEPEND}
+ sys-devel/bison
+ sys-devel/flex
+ virtual/pkgconfig
+ python? (
+ ${DISTUTILS_DEPS}
+ dev-lang/swig
+ )
+ test? ( dev-libs/check )
+"
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+
+MULTILIB_WRAPPED_HEADERS=(
+ # We do not install CLI stuff for non-native
+ /usr/include/libnl3/netlink/cli/addr.h
+ /usr/include/libnl3/netlink/cli/class.h
+ /usr/include/libnl3/netlink/cli/cls.h
+ /usr/include/libnl3/netlink/cli/ct.h
+ /usr/include/libnl3/netlink/cli/exp.h
+ /usr/include/libnl3/netlink/cli/link.h
+ /usr/include/libnl3/netlink/cli/mdb.h
+ /usr/include/libnl3/netlink/cli/nh.h
+ /usr/include/libnl3/netlink/cli/neigh.h
+ /usr/include/libnl3/netlink/cli/qdisc.h
+ /usr/include/libnl3/netlink/cli/route.h
+ /usr/include/libnl3/netlink/cli/rule.h
+ /usr/include/libnl3/netlink/cli/tc.h
+ /usr/include/libnl3/netlink/cli/utils.h
+)
+
+src_prepare() {
+ default
+
+ eautoreconf
+
+ if use python; then
+ pushd "${S}"/python > /dev/null || die
+ distutils-r1_src_prepare
+ popd > /dev/null || die
+ fi
+}
+
+multilib_src_configure() {
+ # bug #884277
+ export YACC=yacc.bison
+
+ ECONF_SOURCE="${S}" econf \
+ $(multilib_native_use_enable utils cli) \
+ $(use_enable debug)
+}
+
+multilib_src_compile() {
+ default
+
+ if multilib_is_native_abi && use python ; then
+ pushd python > /dev/null || die
+ distutils-r1_src_compile
+ popd > /dev/null || die
+ fi
+}
+
+multilib_src_install() {
+ default
+
+ if multilib_is_native_abi && use python ; then
+ # Unset DOCS= since distutils-r1.eclass interferes
+ local DOCS=()
+
+ pushd python > /dev/null || die
+
+ distutils-r1_src_install
+
+ popd > /dev/null || die
+ fi
+}
+
+multilib_src_install_all() {
+ DOCS=( ChangeLog )
+
+ einstalldocs
+
+ find "${ED}" -name '*.la' -delete || die
+}
diff --git a/dev-libs/libnl/libnl-9999.ebuild b/dev-libs/libnl/libnl-9999.ebuild
new file mode 100644
index 000000000000..b80abc5153fd
--- /dev/null
+++ b/dev-libs/libnl/libnl-9999.ebuild
@@ -0,0 +1,120 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# Make sure to test USE=utils on bumps and update MULTILIB_WRAPPED_HEADERS if needed
+
+DISTUTILS_EXT=1
+DISTUTILS_OPTIONAL=1
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..11} )
+inherit autotools distutils-r1 multilib-minimal
+
+LIBNL_P=${P/_/-}
+LIBNL_DIR=${PV/_/}
+LIBNL_DIR=${LIBNL_DIR//./_}
+
+DESCRIPTION="Libraries providing APIs to netlink protocol based Linux kernel interfaces"
+HOMEPAGE="https://www.infradead.org/~tgr/libnl/ https://github.com/thom311/libnl"
+if [[ ${PV} == 9999 ]] ; then
+ EGIT_REPO_URI="https://github.com/thom311/libnl"
+ inherit git-r3
+else
+ SRC_URI="https://github.com/thom311/${PN}/releases/download/${PN}${LIBNL_DIR}/${P/_rc/-rc}.tar.gz"
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux"
+
+ S="${WORKDIR}/${LIBNL_P}"
+fi
+
+LICENSE="LGPL-2.1 utils? ( GPL-2 )"
+SLOT="3"
+IUSE="+debug python test utils"
+RESTRICT="!test? ( test )"
+
+RDEPEND="python? ( ${PYTHON_DEPS} )"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ ${RDEPEND}
+ sys-devel/bison
+ sys-devel/flex
+ virtual/pkgconfig
+ python? (
+ ${DISTUTILS_DEPS}
+ dev-lang/swig
+ )
+ test? ( dev-libs/check )
+"
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+
+MULTILIB_WRAPPED_HEADERS=(
+ # We do not install CLI stuff for non-native
+ /usr/include/libnl3/netlink/cli/addr.h
+ /usr/include/libnl3/netlink/cli/class.h
+ /usr/include/libnl3/netlink/cli/cls.h
+ /usr/include/libnl3/netlink/cli/ct.h
+ /usr/include/libnl3/netlink/cli/exp.h
+ /usr/include/libnl3/netlink/cli/link.h
+ /usr/include/libnl3/netlink/cli/mdb.h
+ /usr/include/libnl3/netlink/cli/nh.h
+ /usr/include/libnl3/netlink/cli/neigh.h
+ /usr/include/libnl3/netlink/cli/qdisc.h
+ /usr/include/libnl3/netlink/cli/route.h
+ /usr/include/libnl3/netlink/cli/rule.h
+ /usr/include/libnl3/netlink/cli/tc.h
+ /usr/include/libnl3/netlink/cli/utils.h
+)
+
+src_prepare() {
+ default
+
+ eautoreconf
+
+ if use python; then
+ pushd "${S}"/python > /dev/null || die
+ distutils-r1_src_prepare
+ popd > /dev/null || die
+ fi
+}
+
+multilib_src_configure() {
+ # bug #884277
+ export YACC=yacc.bison
+
+ ECONF_SOURCE="${S}" econf \
+ $(multilib_native_use_enable utils cli) \
+ $(use_enable debug)
+}
+
+multilib_src_compile() {
+ default
+
+ if multilib_is_native_abi && use python ; then
+ pushd python > /dev/null || die
+ distutils-r1_src_compile
+ popd > /dev/null || die
+ fi
+}
+
+multilib_src_install() {
+ default
+
+ if multilib_is_native_abi && use python ; then
+ # Unset DOCS= since distutils-r1.eclass interferes
+ local DOCS=()
+
+ pushd python > /dev/null || die
+
+ distutils-r1_src_install
+
+ popd > /dev/null || die
+ fi
+}
+
+multilib_src_install_all() {
+ DOCS=( ChangeLog )
+
+ einstalldocs
+
+ find "${ED}" -name '*.la' -delete || die
+}
diff --git a/dev-libs/libnl/libnl-99999999.ebuild b/dev-libs/libnl/libnl-99999999.ebuild
deleted file mode 100644
index 0afdbd9d360f..000000000000
--- a/dev-libs/libnl/libnl-99999999.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
-
-PYTHON_COMPAT=( python3_{8..10} )
-DISTUTILS_OPTIONAL=1
-inherit autotools distutils-r1 git-r3 multilib-minimal
-
-DESCRIPTION="Libraries providing APIs to netlink protocol based Linux kernel interfaces"
-HOMEPAGE="https://www.infradead.org/~tgr/libnl/ https://github.com/thom311/libnl"
-EGIT_REPO_URI="https://github.com/thom311/libnl"
-
-LICENSE="LGPL-2.1 utils? ( GPL-2 )"
-SLOT="3"
-KEYWORDS=""
-IUSE="+debug python test utils"
-RESTRICT="!test? ( test )"
-
-RDEPEND="python? ( ${PYTHON_DEPS} )"
-DEPEND="${RDEPEND}"
-BDEPEND="
- ${RDEPEND}
- sys-devel/bison
- sys-devel/flex
- python? ( dev-lang/swig )
- test? ( dev-libs/check )
-"
-REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
-
-DOCS=( ChangeLog )
-
-MULTILIB_WRAPPED_HEADERS=(
- # we do not install CLI stuff for non-native
- /usr/include/libnl3/netlink/cli/addr.h
- /usr/include/libnl3/netlink/cli/class.h
- /usr/include/libnl3/netlink/cli/cls.h
- /usr/include/libnl3/netlink/cli/ct.h
- /usr/include/libnl3/netlink/cli/exp.h
- /usr/include/libnl3/netlink/cli/link.h
- /usr/include/libnl3/netlink/cli/neigh.h
- /usr/include/libnl3/netlink/cli/qdisc.h
- /usr/include/libnl3/netlink/cli/route.h
- /usr/include/libnl3/netlink/cli/rule.h
- /usr/include/libnl3/netlink/cli/tc.h
- /usr/include/libnl3/netlink/cli/utils.h
-)
-
-PATCHES=(
- "${FILESDIR}"/${PN}-99999999-2to3.patch
-)
-
-src_prepare() {
- default
-
- eautoreconf
-
- if use python; then
- pushd "${S}"/python > /dev/null || die
- distutils-r1_src_prepare
- popd > /dev/null || die
- fi
-
- # out-of-source build broken
- # https://github.com/thom311/libnl/pull/58
- multilib_copy_sources
-}
-
-multilib_src_configure() {
- econf \
- --disable-static \
- $(multilib_native_use_enable utils cli) \
- $(use_enable debug)
-}
-
-multilib_src_compile() {
- default
-
- if multilib_is_native_abi && use python; then
- pushd python > /dev/null || die
- distutils-r1_src_compile
- popd > /dev/null || die
- fi
-}
-
-multilib_src_install() {
- default
-
- if multilib_is_native_abi && use python; then
- # Unset DOCS= since distutils-r1.eclass interferes
- local DOCS=()
-
- pushd python > /dev/null || die
-
- distutils-r1_src_install
-
- # For no obvious reason this is not done automatically
- python_foreach_impl python_optimize
-
- popd > /dev/null || die
- fi
-}
-
-multilib_src_install_all() {
- einstalldocs
- find "${ED}" -name '*.la' -delete || die
-}
diff --git a/dev-libs/libnop/Manifest b/dev-libs/libnop/Manifest
new file mode 100644
index 000000000000..1aabf1d54822
--- /dev/null
+++ b/dev-libs/libnop/Manifest
@@ -0,0 +1 @@
+DIST libnop-2021.11.03.tar.gz 124143 BLAKE2B 44b1c4c341d2120ff22511176fbf3c6f64328c97ddddae458e09676baae491e9218ea33a5836c7a6647090d3f06ac1d66529707af5e2684a14b409b3b57f3af1 SHA512 27f62710afb41165db5ef54bb2d09f89ed9c0c0cb401bffe2c52590bb28c67ed6ba68922510cdedd6dc7cc75fc267a02a2f9cbcca4bfa85042792a121e27097e
diff --git a/dev-libs/libnop/files/libnop-2021.11.03-libstdc++.patch b/dev-libs/libnop/files/libnop-2021.11.03-libstdc++.patch
new file mode 100644
index 000000000000..9a65070ec7f1
--- /dev/null
+++ b/dev-libs/libnop/files/libnop-2021.11.03-libstdc++.patch
@@ -0,0 +1,11 @@
+--- a/test/test_reader.h 2023-11-14 22:21:10.528641740 +0100
++++ b/test/test_reader.h 2023-11-14 22:21:23.195431970 +0100
+@@ -57,7 +57,7 @@
+ if (length_bytes > (data_.size() - index_))
+ return ErrorStatus::ReadLimitReached;
+
+- std::copy(&data_[index_], &data_[index_ + length_bytes], begin_byte);
++ std::copy(&data_[index_], &data_[index_] + length_bytes, begin_byte);
+ index_ += length_bytes;
+ return {};
+ }
diff --git a/dev-libs/libnop/libnop-2021.11.03.ebuild b/dev-libs/libnop/libnop-2021.11.03.ebuild
new file mode 100644
index 000000000000..6ec8f7df146d
--- /dev/null
+++ b/dev-libs/libnop/libnop-2021.11.03.ebuild
@@ -0,0 +1,35 @@
+# Copyright 2022-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+CommitId=35e800d81f28c632956c5a592e3cbe8085ecd430
+DESCRIPTION="C++ Native Object Protocols"
+HOMEPAGE="https://github.com/google/libnop"
+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}
+
+PATCHES=( "${FILESDIR}"/${P}-libstdc++.patch )
+
+src_compile() {
+ use test && default
+}
+
+src_install() {
+ doheader -r include/nop
+ einstalldocs
+}
+
+src_test() {
+ out/test || die
+}
diff --git a/dev-libs/libnop/metadata.xml b/dev-libs/libnop/metadata.xml
new file mode 100644
index 000000000000..a0bb21b79e82
--- /dev/null
+++ b/dev-libs/libnop/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/libnop</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/libnsfb/libnsfb-0.2.2-r1.ebuild b/dev-libs/libnsfb/libnsfb-0.2.2-r1.ebuild
index d37ff45a58e6..9c276dfffb96 100644
--- a/dev-libs/libnsfb/libnsfb-0.2.2-r1.ebuild
+++ b/dev-libs/libnsfb/libnsfb-0.2.2-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
@@ -6,12 +6,12 @@ EAPI=7
inherit netsurf
DESCRIPTION="C library for framebuffer abstraction"
-HOMEPAGE="http://www.netsurf-browser.org/projects/libnsfb/"
+HOMEPAGE="https://www.netsurf-browser.org/projects/libnsfb/"
SRC_URI="https://download.netsurf-browser.org/libs/releases/${P}-src.tar.gz"
LICENSE="MIT"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~x86"
+KEYWORDS="amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~x86"
IUSE="sdl test vnc wayland X"
RESTRICT="!test? ( test )"
@@ -25,7 +25,7 @@ RDEPEND="sdl? ( >=media-libs/libsdl-1.2.15-r4 )
>=x11-libs/xcb-util-image-0.3.9-r1
>=x11-libs/xcb-util-keysyms-0.3.9-r1
)"
-BDEPEND="dev-util/netsurf-buildsystem"
+BDEPEND="dev-build/netsurf-buildsystem"
PATCHES=( "${FILESDIR}/${PN}-0.1.0-autodetect.patch" )
diff --git a/dev-libs/libnsutils/Manifest b/dev-libs/libnsutils/Manifest
index 042293948aca..ce490b784d84 100644
--- a/dev-libs/libnsutils/Manifest
+++ b/dev-libs/libnsutils/Manifest
@@ -1 +1 @@
-DIST libnsutils-0.1.0-src.tar.gz 8840 BLAKE2B 9f25763b945a96d89ba33959caf676b09964da096a9e969396f3b0ba0f6b4bd6bfb52a61bdcc222432463f2bc0f6bc148bc754200fb80a9ab521c5d64638bba7 SHA512 82d75e799b21484120b9711c853075a07990aa4d5ac5bb0574683bd1fd59eef547d9b78333eeb2da9d96c2132b4e7c32510cf690c80cef291cce8ef2eb44198e
+DIST libnsutils-0.1.1-src.tar.gz 8996 BLAKE2B abd096ea6cfd47abd85a55aa3455f45b61cf80a1b93f2c3048f0edc4df02160c1f78cd3d5197e39253eeaa227d366694536c2c19cfbebb6fed663626ef2bbdb6 SHA512 f0294abb458378fcc4740feadf334e13b2f89db5783980bbdbdfd0403df735e483dd5e43af2c39bc3e669ee181ade7eecab673483aa65dbe697aec1b56dc4a0f
diff --git a/dev-libs/libnsutils/libnsutils-0.1.0-r1.ebuild b/dev-libs/libnsutils/libnsutils-0.1.0-r1.ebuild
deleted file mode 100644
index ba9b4b767085..000000000000
--- a/dev-libs/libnsutils/libnsutils-0.1.0-r1.ebuild
+++ /dev/null
@@ -1,30 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit netsurf
-
-DESCRIPTION="C library for base64 and time"
-HOMEPAGE="http://www.netsurf-browser.org/"
-SRC_URI="https://download.netsurf-browser.org/libs/releases/${P}-src.tar.gz"
-
-LICENSE="MIT"
-SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~x86"
-IUSE=""
-
-BDEPEND="dev-util/netsurf-buildsystem"
-
-_emake() {
- netsurf_define_makeconf
- emake "${NETSURF_MAKECONF[@]}" COMPONENT_TYPE=lib-shared $@
-}
-
-src_compile() {
- _emake
-}
-
-src_install() {
- _emake DESTDIR="${D}" install
-}
diff --git a/dev-libs/libnsutils/libnsutils-0.1.1.ebuild b/dev-libs/libnsutils/libnsutils-0.1.1.ebuild
new file mode 100644
index 000000000000..4e8dfe5cdd78
--- /dev/null
+++ b/dev-libs/libnsutils/libnsutils-0.1.1.ebuild
@@ -0,0 +1,29 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit netsurf
+
+DESCRIPTION="General utility library for NetSurf"
+HOMEPAGE="https://www.netsurf-browser.org/"
+SRC_URI="https://download.netsurf-browser.org/libs/releases/${P}-src.tar.gz"
+
+LICENSE="MIT"
+SLOT="0/${PV}"
+KEYWORDS="amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~x86"
+
+BDEPEND="dev-build/netsurf-buildsystem"
+
+_emake() {
+ netsurf_define_makeconf
+ emake "${NETSURF_MAKECONF[@]}" COMPONENT_TYPE=lib-shared $@
+}
+
+src_compile() {
+ _emake
+}
+
+src_install() {
+ _emake DESTDIR="${D}" install
+}
diff --git a/dev-libs/libnsutils/libnsutils-9999.ebuild b/dev-libs/libnsutils/libnsutils-9999.ebuild
new file mode 100644
index 000000000000..b8854e0a0627
--- /dev/null
+++ b/dev-libs/libnsutils/libnsutils-9999.ebuild
@@ -0,0 +1,28 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit git-r3 netsurf
+
+DESCRIPTION="C library for base64 and time"
+HOMEPAGE="https://www.netsurf-browser.org/"
+
+EGIT_REPO_URI="https://git.netsurf-browser.org/${PN}.git"
+LICENSE="MIT"
+SLOT="0/${PV}"
+
+BDEPEND="dev-build/netsurf-buildsystem"
+
+_emake() {
+ netsurf_define_makeconf
+ emake "${NETSURF_MAKECONF[@]}" COMPONENT_TYPE=lib-shared $@
+}
+
+src_compile() {
+ _emake
+}
+
+src_install() {
+ _emake DESTDIR="${D}" install
+}
diff --git a/dev-libs/libnsutils/metadata.xml b/dev-libs/libnsutils/metadata.xml
index 115e9d64a669..f2908ee10b59 100644
--- a/dev-libs/libnsutils/metadata.xml
+++ b/dev-libs/libnsutils/metadata.xml
@@ -1,5 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <!-- maintainer-needed -->
+ <maintainer type="person">
+ <email>mjo@gentoo.org</email>
+ <name>Michael Orlitzky</name>
+ </maintainer>
</pkgmetadata>
diff --git a/dev-libs/libofx/Manifest b/dev-libs/libofx/Manifest
index c8a6b9e57adc..dbab1540b824 100644
--- a/dev-libs/libofx/Manifest
+++ b/dev-libs/libofx/Manifest
@@ -1,3 +1 @@
-DIST libofx-0.10.1.tar.gz 226512 BLAKE2B bc0fa1ea0d5c7968730b50b9163a045304dd82f7e312e407ce9393a56ea6b1f9d47382b1299ee990640b98d5f047656aa38a9a8da4d8f19d3bea0236e0487cf1 SHA512 4575424abb56b93021ef223f90460979b544c32b4624936bbad16d0b5711afb6b5fa31b7c2cb835ff7a26be8c7ac51951198e5565a098713b8d33f0e17be774a
-DIST libofx-0.10.2.tar.gz 225043 BLAKE2B 2ca8cdd9913f2bddb60600d75acfb114d56d6c59191fe2b836a0c2a988b6d0404821a9f99be1fa4b258afbbc35b0cb254b348a1e7a0f7a8c4010645afff52f91 SHA512 14ba2779d94209312a8a1bbf598e6a31820df4fa7e222ae1abb8d4234a6c7ba7068e06a73ad4ee93bcb53ccb99a8007d799d9e66a9921704dc75c84b0e7dc307
-DIST libofx-0.10.3.tar.gz 225132 BLAKE2B 29dff4cb79a4a535bf255c787e184d103ecdbe975bb4bb223b675bbacaff9f8a228ae0a3dffe7710c2707496ac65c4f48ce993243b8353172c53cb02067d9267 SHA512 6c024628a6a11d9542c669a438223331a033eb820b1a2c3001c60d1ab3fad45ccdec64f9b54dd206fe0058ead8e14e751eb7a3bd88e8f9e1013b0bdd5b6c5242
+DIST libofx-0.10.9.tar.gz 1478209 BLAKE2B fc7f7f2dae723fbfd44bd2c4550fead3b2ec12725fb89f385fe8d454e2b9c9985ae408e24c25c0db5cde891c7ad1d36acc3cae59c49d41501db60711989a1955 SHA512 89425912fa8c800ede9d7177ccd5cb3ea2a2301b42aa6580ddb105406fe68c770e2c461eefdea5bc7e883967c90e3519a219bf0b56d12c7de1030d0964d50cac
diff --git a/dev-libs/libofx/files/libofx-0.10.1-docdir.patch b/dev-libs/libofx/files/libofx-0.10.1-docdir.patch
deleted file mode 100644
index a43fdffd523f..000000000000
--- a/dev-libs/libofx/files/libofx-0.10.1-docdir.patch
+++ /dev/null
@@ -1,40 +0,0 @@
-https://github.com/libofx/libofx/commit/ee296908c23a944b9b034c9b1f8b974edcb44b80
-
-From ee296908c23a944b9b034c9b1f8b974edcb44b80 Mon Sep 17 00:00:00 2001
-From: Sam James <sam@gentoo.org>
-Date: Sat, 6 Mar 2021 06:09:11 +0000
-Subject: [PATCH] Makefile.am, doc/Makefile.am: don't override docdir
-
-'docdir' is already provided by autotools. By not overriding it,
-we allow the directory to be easily overriden at build time.
-
-By default, docdir is /usr/share/doc/libofx, so no change!
-
-e.g. In Gentoo, we prefer to use --docdir=/usr/share/doc/${PF}
-where ${PF} represents the upstream version combined with any
-internal distribution changes made.
-
-Signed-off-by: Sam James <sam@gentoo.org>
---- a/Makefile.am
-+++ b/Makefile.am
-@@ -6,8 +6,6 @@ endif
- DIST_SUBDIRS = m4 inc dtd lib doc . ofx2qif ofxdump ofxconnect
- SUBDIRS = m4 inc dtd lib doc . ofx2qif ofxdump $(MAYBE_OFXCONNECT)
-
--docdir = $(datadir)/doc/libofx
--
- doc_DATA = \
- AUTHORS \
- COPYING \
-diff --git a/doc/Makefile.am b/doc/Makefile.am
-index 23e9d34..bd0a04d 100644
---- a/doc/Makefile.am
-+++ b/doc/Makefile.am
-@@ -1,7 +1,5 @@
- SUBDIRS =
-
--docdir = ${prefix}/share/doc/libofx
--
- EXTRA_DIST = \
- doxygen.cfg \
- ofx_sample_files \
diff --git a/dev-libs/libofx/files/libofx-0.10.1-opensp-libdir.patch b/dev-libs/libofx/files/libofx-0.10.1-opensp-libdir.patch
deleted file mode 100644
index 036c6864bed9..000000000000
--- a/dev-libs/libofx/files/libofx-0.10.1-opensp-libdir.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-https://github.com/libofx/libofx/commit/a647c1db417459bded7fb47af69dff375eae83c1
-
-From a647c1db417459bded7fb47af69dff375eae83c1 Mon Sep 17 00:00:00 2001
-From: Sam James <sam@gentoo.org>
-Date: Sat, 6 Mar 2021 05:57:49 +0000
-Subject: [PATCH] configure.ac: Respect --libdir for OpenSP
-
-When searching for OpenSP, we want to use
-the libdir passed in to autotools (--libdir)
-to ensure that we find the library
-for the correct ABI.
-
-It is possible that we pick up the wrong
-copy from e.g. /usr/lib/ where a 32-bit
-copy of OpenSP exists
-when we're in the middle of a 64-bit build.
-
-Use ${libdir} to ensure we respect
-any preferences/information given and
-search for OpenSP in the right place.
-
-Bug: https://bugs.gentoo.org/693458
-Signed-off-by: Sam James <sam@gentoo.org>
---- a/configure.ac
-+++ b/configure.ac
-@@ -112,7 +112,7 @@ AC_ARG_WITH(opensp-libs,
- [ --with-opensp-libs=PATH specify where to look for libosp
- - default is /usr/lib],
- OPENSPLIBPATH="$with_opensp_libs",
-- OPENSPLIBPATH="/usr/lib")
-+ OPENSPLIBPATH="${libdir}")
-
- echo $OPENSPLIBPATH
- for d in /usr/include/OpenSP /usr/local/include/OpenSP /usr/include/sp/generic /usr/local/include/sp/generic; do
diff --git a/dev-libs/libofx/libofx-0.10.1-r1.ebuild b/dev-libs/libofx/libofx-0.10.1-r1.ebuild
deleted file mode 100644
index e2f99a67303d..000000000000
--- a/dev-libs/libofx/libofx-0.10.1-r1.ebuild
+++ /dev/null
@@ -1,70 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit autotools flag-o-matic
-
-DESCRIPTION="Library to support the Open Financial eXchange XML format"
-HOMEPAGE="https://github.com/libofx/libofx"
-SRC_URI="https://github.com/${PN}/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="GPL-2"
-SLOT="0/10"
-KEYWORDS="amd64 ~arm64 ppc ppc64 x86"
-IUSE="doc test"
-RESTRICT="!test? ( test )"
-
-BDEPEND="
- dev-util/gengetopt
- sys-apps/help2man
- virtual/pkgconfig
- doc? ( app-doc/doxygen )
- test? ( app-crypt/gnupg )
-"
-RDEPEND="
- >app-text/opensp-1.5
- app-text/openjade
- >=dev-cpp/libxmlpp-2.40.1:2.6
- >=net-misc/curl-7.9.7
- virtual/libiconv
-"
-DEPEND="${RDEPEND}"
-
-PATCHES=(
- "${FILESDIR}"/${P}-opensp-libdir.patch
- "${FILESDIR}"/${P}-docdir.patch
-)
-
-src_prepare() {
- default
-
- # Not included in the tarball
- sed -i -e '/INSTALL/d' Makefile.am || die
-
- # bug #566456
- append-cxxflags -std=c++14
-
- eautoreconf
-}
-
-src_configure() {
- econf \
- $(use_enable doc html-docs) \
- --disable-static
-}
-
-src_compile() {
- emake -j1
-
- if use doc ; then
- emake doc
- fi
-}
-
-src_install() {
- default
-
- find "${ED}" -name '*.la' -type f -delete || die
- find "${ED}" -name '*.a' -type f -delete || die
-}
diff --git a/dev-libs/libofx/libofx-0.10.2.ebuild b/dev-libs/libofx/libofx-0.10.2.ebuild
deleted file mode 100644
index 1acb92d8616e..000000000000
--- a/dev-libs/libofx/libofx-0.10.2.ebuild
+++ /dev/null
@@ -1,65 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit autotools flag-o-matic
-
-DESCRIPTION="Library to support the Open Financial eXchange XML format"
-HOMEPAGE="https://github.com/libofx/libofx"
-SRC_URI="https://github.com/${PN}/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="GPL-2"
-SLOT="0/10"
-KEYWORDS="amd64 ~arm64 ppc ppc64 x86"
-IUSE="doc test"
-RESTRICT="!test? ( test )"
-
-BDEPEND="
- dev-util/gengetopt
- sys-apps/help2man
- virtual/pkgconfig
- doc? ( app-doc/doxygen )
- test? ( app-crypt/gnupg )
-"
-RDEPEND="
- >app-text/opensp-1.5
- app-text/openjade
- >=dev-cpp/libxmlpp-2.40.1:2.6
- >=net-misc/curl-7.9.7
- virtual/libiconv
-"
-DEPEND="${RDEPEND}"
-
-src_prepare() {
- default
-
- # Not included in the tarball
- sed -i -e '/INSTALL/d' Makefile.am || die
-
- # bug #566456
- append-cxxflags -std=c++14
-
- eautoreconf
-}
-
-src_configure() {
- econf \
- $(use_enable doc html-docs) \
- --disable-static
-}
-
-src_compile() {
- emake -j1
-
- if use doc ; then
- emake doc
- fi
-}
-
-src_install() {
- default
-
- find "${ED}" -name '*.la' -type f -delete || die
- find "${ED}" -name '*.a' -type f -delete || die
-}
diff --git a/dev-libs/libofx/libofx-0.10.3.ebuild b/dev-libs/libofx/libofx-0.10.3.ebuild
deleted file mode 100644
index 1acb92d8616e..000000000000
--- a/dev-libs/libofx/libofx-0.10.3.ebuild
+++ /dev/null
@@ -1,65 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit autotools flag-o-matic
-
-DESCRIPTION="Library to support the Open Financial eXchange XML format"
-HOMEPAGE="https://github.com/libofx/libofx"
-SRC_URI="https://github.com/${PN}/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="GPL-2"
-SLOT="0/10"
-KEYWORDS="amd64 ~arm64 ppc ppc64 x86"
-IUSE="doc test"
-RESTRICT="!test? ( test )"
-
-BDEPEND="
- dev-util/gengetopt
- sys-apps/help2man
- virtual/pkgconfig
- doc? ( app-doc/doxygen )
- test? ( app-crypt/gnupg )
-"
-RDEPEND="
- >app-text/opensp-1.5
- app-text/openjade
- >=dev-cpp/libxmlpp-2.40.1:2.6
- >=net-misc/curl-7.9.7
- virtual/libiconv
-"
-DEPEND="${RDEPEND}"
-
-src_prepare() {
- default
-
- # Not included in the tarball
- sed -i -e '/INSTALL/d' Makefile.am || die
-
- # bug #566456
- append-cxxflags -std=c++14
-
- eautoreconf
-}
-
-src_configure() {
- econf \
- $(use_enable doc html-docs) \
- --disable-static
-}
-
-src_compile() {
- emake -j1
-
- if use doc ; then
- emake doc
- fi
-}
-
-src_install() {
- default
-
- find "${ED}" -name '*.la' -type f -delete || die
- find "${ED}" -name '*.a' -type f -delete || die
-}
diff --git a/dev-libs/libofx/libofx-0.10.9.ebuild b/dev-libs/libofx/libofx-0.10.9.ebuild
new file mode 100644
index 000000000000..4e058f94cf65
--- /dev/null
+++ b/dev-libs/libofx/libofx-0.10.9.ebuild
@@ -0,0 +1,50 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit flag-o-matic
+
+DESCRIPTION="Library to support the Open Financial eXchange XML format"
+HOMEPAGE="https://github.com/libofx/libofx"
+SRC_URI="https://github.com/libofx/libofx/releases/download/${PV}/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0/10"
+KEYWORDS="amd64 ~arm64 ppc ppc64 ~riscv x86"
+IUSE="doc test"
+RESTRICT="!test? ( test )"
+
+BDEPEND="
+ dev-util/gengetopt
+ sys-apps/help2man
+ virtual/pkgconfig
+ doc? ( app-text/doxygen )
+ test? ( app-crypt/gnupg )
+"
+RDEPEND="
+ >app-text/opensp-1.5
+ app-text/openjade
+ >=dev-cpp/libxmlpp-2.40.1:2.6
+ >=net-misc/curl-7.9.7
+ virtual/libiconv
+"
+DEPEND="${RDEPEND}"
+
+src_configure() {
+ # bug #566456
+ append-cxxflags -std=c++14
+
+ econf $(use_enable doc html-docs)
+}
+
+src_compile() {
+ emake all $(usev doc)
+}
+
+src_install() {
+ default
+
+ find "${ED}" -name '*.la' -type f -delete || die
+ find "${ED}" -name '*.a' -type f -delete || die
+}
diff --git a/dev-libs/liboil/liboil-0.3.17-r3.ebuild b/dev-libs/liboil/liboil-0.3.17-r3.ebuild
deleted file mode 100644
index 35619ad3a606..000000000000
--- a/dev-libs/liboil/liboil-0.3.17-r3.ebuild
+++ /dev/null
@@ -1,69 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit flag-o-matic multilib-minimal
-
-DESCRIPTION="Library of simple functions that are optimized for various CPUs"
-HOMEPAGE="https://liboil.freedesktop.org/"
-SRC_URI="https://liboil.freedesktop.org/download/${P}.tar.gz"
-
-LICENSE="BSD-2"
-SLOT="0.3"
-KEYWORDS="~alpha amd64 arm ~hppa ~ia64 ~mips ppc ppc64 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~x64-solaris ~x86-solaris"
-IUSE="+examples test"
-RESTRICT="!test? ( test )"
-
-RDEPEND="examples? ( dev-libs/glib:2 )"
-DEPEND="${RDEPEND}"
-BDEPEND="
- dev-util/gtk-doc-am
- virtual/pkgconfig"
-
-PATCHES=( "${FILESDIR}"/${P}-amd64-cpuid.patch )
-
-src_prepare() {
- has x32 $(get_all_abis) && PATCHES+=( "${FILESDIR}"/${PN}-0.3.17-x32.patch )
- default
-
- if ! use examples; then
- sed "s/^\(SUBDIRS =.*\)examples\(.*\)$/\1\2/" \
- -i Makefile.in || die
- fi
-
- if ! use test; then
- sed "s/^\(SUBDIRS =.*\)testsuite\(.*\)$/\1\2/" \
- -i Makefile.in || die
- fi
-}
-
-src_configure() {
- strip-flags
- filter-flags -O?
- append-flags -O2
-
- # For use with Clang, which is the only compiler on OSX, bug #576646
- [[ ${CHOST} == *-darwin* ]] && append-flags -fheinous-gnu-extensions
-
- multilib_src_configure() {
- ECONF_SOURCE="${S}" econf --disable-static
- }
- multilib-minimal_src_configure
-}
-
-multilib_src_install_all() {
- einstalldocs
- dodoc BUG-REPORTING HACKING
-
- # no static archives
- find "${ED}" -name '*.la' -delete || die
-}
-
-pkg_postinst() {
- if ! use examples; then
- ewarn "You have disabled examples USE flag. Beware that upstream might"
- ewarn "want the output of some utilities that are only built with"
- ewarn "USE='examples' if you report bugs to them."
- fi
-}
diff --git a/dev-libs/liboil/liboil-0.3.17-r4.ebuild b/dev-libs/liboil/liboil-0.3.17-r4.ebuild
new file mode 100644
index 000000000000..ca36144b8ac9
--- /dev/null
+++ b/dev-libs/liboil/liboil-0.3.17-r4.ebuild
@@ -0,0 +1,68 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit flag-o-matic
+
+DESCRIPTION="Library of simple functions that are optimized for various CPUs"
+HOMEPAGE="https://liboil.freedesktop.org/"
+SRC_URI="https://liboil.freedesktop.org/download/${P}.tar.gz"
+
+LICENSE="BSD-2"
+SLOT="0.3"
+KEYWORDS="~alpha amd64 arm ~hppa ~ia64 ~mips ppc ppc64 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
+IUSE="+examples test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="examples? ( dev-libs/glib:2 )"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ dev-build/gtk-doc-am
+ virtual/pkgconfig"
+
+PATCHES=( "${FILESDIR}"/${P}-amd64-cpuid.patch )
+
+src_prepare() {
+ [[ ${CHOST} == *x32 ]] && PATCHES+=( "${FILESDIR}"/${PN}-0.3.17-x32.patch )
+
+ default
+
+ if ! use examples; then
+ sed "s/^\(SUBDIRS =.*\)examples\(.*\)$/\1\2/" \
+ -i Makefile.in || die
+ fi
+
+ if ! use test; then
+ sed "s/^\(SUBDIRS =.*\)testsuite\(.*\)$/\1\2/" \
+ -i Makefile.in || die
+ fi
+}
+
+src_configure() {
+ strip-flags
+ filter-flags -O?
+ append-flags -O2
+
+ # For use with Clang, which is the only compiler on OSX, bug #576646
+ [[ ${CHOST} == *-darwin* ]] && append-flags -fheinous-gnu-extensions
+
+ default
+}
+
+src_install() {
+ default
+
+ dodoc BUG-REPORTING HACKING
+
+ # No static archives
+ find "${ED}" -name '*.la' -delete || die
+}
+
+pkg_postinst() {
+ if ! use examples; then
+ ewarn "You have disabled examples USE flag. Beware that upstream might"
+ ewarn "want the output of some utilities that are only built with"
+ ewarn "USE='examples' if you report bugs to them."
+ fi
+}
diff --git a/dev-libs/liborcus/Manifest b/dev-libs/liborcus/Manifest
index 2f82c613714c..43b43bede6f9 100644
--- a/dev-libs/liborcus/Manifest
+++ b/dev-libs/liborcus/Manifest
@@ -1,2 +1 @@
-DIST liborcus-0.16.1.tar.xz 1805436 BLAKE2B 7df89da5a175daa6fcf759d28f8a0eaebf3db6405af3b06a01b8dad41c7706acedc74876a0b68ff9cabd5780bb7cb311cd7c98390c9ecd265e62513eadde81eb SHA512 6d75591820af65181dd3a418f051a359695083f29c7d9c77edbcab3e89d9ea367824be0b19f27a31267525f446936145f5780a0ce3c6ee2d89823742837d4739
-DIST liborcus-0.17.0.tar.xz 1826696 BLAKE2B 4cab8696f698510de6c995aa6a3e59a8407297d6a60bac89ca7ffa1f74576de555c69a38de97eac63e2aed1817a3377ec7e15b1da7b5c01b49d049092d8756ff SHA512 1ac24f3c10973d0e0f6e3db7982391434631ec998ae07bb011fa8e000e48ca430c07a0c2588871a93b6d9bf7a19e30d4f05d34aef699dfce1f59a4556c7727e8
+DIST liborcus-0.19.2.tar.xz 2211268 BLAKE2B 4ee3fd2fb122d3a9840cb92452bf8a6d3d54b7b50a32be84e1bb08dfe2e2abc2de80098d9460b6bd82d0249304a7ba5c39b18ace3f69150ba71e16ef14795ca4 SHA512 c955490f57e91615278a83bb48726025cd5f8059b97ed5532f770199e134ca511c7ee6b0cd0a9d3a2d54208a5fdd19117054e95e818162ea568052fa11b21d4e
diff --git a/dev-libs/liborcus/files/liborcus-0.15.4-gcc11.patch b/dev-libs/liborcus/files/liborcus-0.15.4-gcc11.patch
deleted file mode 100644
index f1dda1390539..000000000000
--- a/dev-libs/liborcus/files/liborcus-0.15.4-gcc11.patch
+++ /dev/null
@@ -1,72 +0,0 @@
-From 50506d534230d90de2b0a2af3fb072428c942a4e Mon Sep 17 00:00:00 2001
-From: hedmo <hedmoo@yahoo.com>
-Date: Fri, 8 Jan 2021 07:30:16 +0000
-Subject: [PATCH] Update orcus_xlsx.cpp to build with gcc-11
-
----
- src/liborcus/orcus_xlsx.cpp | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/src/liborcus/orcus_xlsx.cpp b/src/liborcus/orcus_xlsx.cpp
-index 6df72a32..a59b2b9d 100644
---- a/src/liborcus/orcus_xlsx.cpp
-+++ b/src/liborcus/orcus_xlsx.cpp
-@@ -32,6 +32,7 @@
-
- #include <cstdlib>
- #include <iostream>
-+#include <limits>
- #include <string>
- #include <cstring>
- #include <sstream>
---
-GitLab
-
-From 3bfa1a000e4639fe68781c584356ceea7c6b1a72 Mon Sep 17 00:00:00 2001
-From: hedmo <hedmoo@yahoo.com>
-Date: Fri, 8 Jan 2021 07:32:53 +0000
-Subject: [PATCH] Update xls_xml_context.cpp to build with gcc-11
-
----
- src/liborcus/xls_xml_context.cpp | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/src/liborcus/xls_xml_context.cpp b/src/liborcus/xls_xml_context.cpp
-index 538f5607..ca3dc4d0 100644
---- a/src/liborcus/xls_xml_context.cpp
-+++ b/src/liborcus/xls_xml_context.cpp
-@@ -16,6 +16,7 @@
- #include <mdds/sorted_string_map.hpp>
-
- #include <iostream>
-+#include <limits>
-
- using namespace std;
- namespace ss = orcus::spreadsheet;
---
-GitLab
-
-From 5e8fb255dc6bc9b7084a05b8dc24f31417542e5e Mon Sep 17 00:00:00 2001
-From: hedmo <hedmoo@yahoo.com>
-Date: Fri, 8 Jan 2021 07:34:17 +0000
-Subject: [PATCH] Update xlsx_revision_context.cpp to build with gcc-11
-
----
- src/liborcus/xlsx_revision_context.cpp | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/src/liborcus/xlsx_revision_context.cpp b/src/liborcus/xlsx_revision_context.cpp
-index edfd9eed..0b6ec0af 100644
---- a/src/liborcus/xlsx_revision_context.cpp
-+++ b/src/liborcus/xlsx_revision_context.cpp
-@@ -16,6 +16,7 @@
- #include "orcus/global.hpp"
-
- #include <iostream>
-+#include <limits>
-
- using namespace std;
-
---
-GitLab
-
diff --git a/dev-libs/liborcus/files/liborcus-0.17.0-test-fix.patch b/dev-libs/liborcus/files/liborcus-0.17.0-test-fix.patch
deleted file mode 100644
index 1de33a7e3f4c..000000000000
--- a/dev-libs/liborcus/files/liborcus-0.17.0-test-fix.patch
+++ /dev/null
@@ -1,51 +0,0 @@
-# https://bugs.gentoo.org/713586
-
-[PATCH] Build orcus-env-dump unconditionally
-
-The rule for `orcus-env-dump.o` is guarded by `if WITH_TOOLS` however,
-the rule for the executable `orcus-env-dump` is not. This leads to
-linking errors when running the test suite without tools.
-
-Move the rule for `orcus-env-dump.o` out of the if WITH_TOOLS block to
-always build it.
----
- src/Makefile.am | 20 ++++++++++----------
- 1 file changed, 10 insertions(+), 10 deletions(-)
-
-diff --git a/src/Makefile.am b/src/Makefile.am
---- a/src/Makefile.am
-+++ b/src/Makefile.am
-@@ -25,6 +25,16 @@ orcus_test_xml_LDADD = \
-
- orcus_test_xml_CPPFLAGS = -I$(top_builddir)/lib/liborcus/liborcus.la $(AM_CPPFLAGS) -DSRCDIR=\""$(top_srcdir)"\"
-
-+#----------------------------------------------------------------------------
-+
-+# orcus-env-dump
-+
-+orcus_env_dump_SOURCES = orcus_env_dump.cpp
-+orcus_env_dump_LDADD = \
-+ parser/liborcus-parser-@ORCUS_API_VERSION@.la \
-+ liborcus/liborcus-@ORCUS_API_VERSION@.la
-+orcus_env_dump_CPPFLAGS = -I$(top_builddir)/lib/liborcus/liborcus.la $(AM_CPPFLAGS)
-+
-
- TESTS = \
- orcus-test-xml \
-@@ -136,16 +146,6 @@ orcus_detect_CPPFLAGS = -I$(top_builddir)/lib/liborcus/liborcus.la $(AM_CPPFLAGS
-
- #----------------------------------------------------------------------------
-
--# orcus-env-dump
--
--orcus_env_dump_SOURCES = orcus_env_dump.cpp
--orcus_env_dump_LDADD = \
-- parser/liborcus-parser-@ORCUS_API_VERSION@.la \
-- liborcus/liborcus-@ORCUS_API_VERSION@.la
--orcus_env_dump_CPPFLAGS = -I$(top_builddir)/lib/liborcus/liborcus.la $(AM_CPPFLAGS)
--
--#----------------------------------------------------------------------------
--
- if BUILD_SPREADSHEET_MODEL
-
- orcus_json_LDADD += \
diff --git a/dev-libs/liborcus/liborcus-0.16.1.ebuild b/dev-libs/liborcus/liborcus-0.16.1.ebuild
deleted file mode 100644
index 18b38d862e5e..000000000000
--- a/dev-libs/liborcus/liborcus-0.16.1.ebuild
+++ /dev/null
@@ -1,69 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{8..10} )
-
-inherit autotools python-single-r1
-
-DESCRIPTION="Standalone file import filter library for spreadsheet documents"
-HOMEPAGE="https://gitlab.com/orcus/orcus/blob/master/README.md"
-
-if [[ ${PV} == *9999* ]]; then
- MDDS_SLOT="1/9999"
- EGIT_REPO_URI="https://gitlab.com/orcus/orcus.git"
- inherit git-r3
-else
- MDDS_SLOT="1/1.5"
- SRC_URI="https://kohei.us/files/orcus/src/${P}.tar.xz"
- KEYWORDS="amd64 ~arm arm64 ~ppc ~ppc64 x86"
-fi
-
-LICENSE="MIT"
-SLOT="0/0.16" # based on SONAME of liborcus.so
-IUSE="python +spreadsheet-model test tools"
-
-REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- dev-libs/boost:=[zlib(+)]
- sys-libs/zlib
- python? ( ${PYTHON_DEPS} )
- spreadsheet-model? ( dev-libs/libixion:${SLOT} )
-"
-DEPEND="${RDEPEND}
- dev-util/mdds:${MDDS_SLOT}
-"
-
-PATCHES=( "${FILESDIR}/${PN}-0.15.4-gcc11.patch" ) # bug 764035
-
-pkg_setup() {
- use python && python-single-r1_pkg_setup
-}
-
-src_prepare() {
- # bug 713586
- use test && eapply "${FILESDIR}/${PN}-0.17.0-test-fix.patch"
-
- default
- eautoreconf
-}
-
-src_configure() {
- local myeconfargs=(
- --disable-static
- --disable-werror
- $(use_enable python)
- $(use_enable spreadsheet-model)
- $(use_with tools)
- )
- econf "${myeconfargs[@]}"
-}
-
-src_install() {
- default
- find "${D}" -name '*.la' -type f -delete || die
- use python && python_optimize
-}
diff --git a/dev-libs/liborcus/liborcus-0.17.0.ebuild b/dev-libs/liborcus/liborcus-0.17.0.ebuild
deleted file mode 100644
index f8f315cf8e63..000000000000
--- a/dev-libs/liborcus/liborcus-0.17.0.ebuild
+++ /dev/null
@@ -1,67 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8,9} )
-
-inherit autotools python-single-r1
-
-DESCRIPTION="Standalone file import filter library for spreadsheet documents"
-HOMEPAGE="https://gitlab.com/orcus/orcus/blob/master/README.md"
-
-if [[ ${PV} == *9999* ]]; then
- MDDS_SLOT="1/9999"
- EGIT_REPO_URI="https://gitlab.com/orcus/orcus.git"
- inherit git-r3
-else
- MDDS_SLOT="1/2.0"
- SRC_URI="https://kohei.us/files/orcus/src/${P}.tar.xz"
- # Unkeyworded while libreoffice has no release making use of this slot
- # KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~x86"
-fi
-
-LICENSE="MIT"
-SLOT="0/0.17" # based on SONAME of liborcus.so
-IUSE="python +spreadsheet-model test tools"
-
-REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- dev-libs/boost:=[zlib(+)]
- sys-libs/zlib
- python? ( ${PYTHON_DEPS} )
- spreadsheet-model? ( dev-libs/libixion:${SLOT} )
-"
-DEPEND="${RDEPEND}
- dev-util/mdds:${MDDS_SLOT}
-"
-
-pkg_setup() {
- use python && python-single-r1_pkg_setup
-}
-
-src_prepare() {
- # bug 713586
- use test && eapply "${FILESDIR}/${P}-test-fix.patch"
-
- default
- eautoreconf
-}
-
-src_configure() {
- local myeconfargs=(
- --disable-static
- --disable-werror
- $(use_enable python)
- $(use_enable spreadsheet-model)
- $(use_with tools)
- )
- econf "${myeconfargs[@]}"
-}
-
-src_install() {
- default
- find "${D}" -name '*.la' -type f -delete || die
-}
diff --git a/dev-libs/liborcus/liborcus-0.19.2.ebuild b/dev-libs/liborcus/liborcus-0.19.2.ebuild
new file mode 100644
index 000000000000..8a3e66a9fe84
--- /dev/null
+++ b/dev-libs/liborcus/liborcus-0.19.2.ebuild
@@ -0,0 +1,62 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..12} )
+inherit autotools python-single-r1
+
+DESCRIPTION="Standalone file import filter library for spreadsheet documents"
+HOMEPAGE="https://gitlab.com/orcus/orcus/blob/master/README.md"
+
+if [[ ${PV} == *9999* ]]; then
+ MDDS_SLOT="1/3.0"
+ EGIT_REPO_URI="https://gitlab.com/orcus/orcus.git"
+ inherit git-r3
+else
+ MDDS_SLOT="1/2.1"
+ SRC_URI="https://kohei.us/files/orcus/src/${P}.tar.xz"
+ KEYWORDS="amd64 ~arm arm64 ~loong ~ppc ppc64 ~riscv x86"
+fi
+
+LICENSE="MIT"
+SLOT="0/0.18" # based on SONAME of liborcus.so
+IUSE="python +spreadsheet-model test tools"
+
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ dev-libs/boost:=[zlib(+)]
+ sys-libs/zlib
+ python? ( ${PYTHON_DEPS} )
+ spreadsheet-model? ( dev-libs/libixion:${SLOT} )
+"
+DEPEND="${RDEPEND}
+ dev-util/mdds:${MDDS_SLOT}
+"
+
+pkg_setup() {
+ use python && python-single-r1_pkg_setup
+}
+
+src_prepare() {
+ default
+ eautoreconf
+}
+
+src_configure() {
+ local myeconfargs=(
+ --disable-werror
+ $(use_enable python)
+ $(use_enable spreadsheet-model)
+ $(use_with tools)
+ )
+ econf "${myeconfargs[@]}"
+}
+
+src_install() {
+ default
+ use python && python_optimize
+ find "${D}" -name '*.la' -type f -delete || die
+}
diff --git a/dev-libs/liborcus/liborcus-9999.ebuild b/dev-libs/liborcus/liborcus-9999.ebuild
index b923d9595f82..3aecf4036ad7 100644
--- a/dev-libs/liborcus/liborcus-9999.ebuild
+++ b/dev-libs/liborcus/liborcus-9999.ebuild
@@ -1,30 +1,30 @@
-# 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 autotools python-single-r1
DESCRIPTION="Standalone file import filter library for spreadsheet documents"
HOMEPAGE="https://gitlab.com/orcus/orcus/blob/master/README.md"
if [[ ${PV} == *9999* ]]; then
- MDDS_SLOT="1/9999"
+ MDDS_SLOT="1/3.0"
EGIT_REPO_URI="https://gitlab.com/orcus/orcus.git"
inherit git-r3
else
- MDDS_SLOT="1/1.5"
+ MDDS_SLOT="1/2.1"
SRC_URI="https://kohei.us/files/orcus/src/${P}.tar.xz"
- KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~x86"
+ KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86"
fi
LICENSE="MIT"
-SLOT="0/0.17" # based on SONAME of liborcus.so
-IUSE="python +spreadsheet-model tools"
+SLOT="0/0.20" # based on SONAME of liborcus.so
+IUSE="python +spreadsheet-model test tools"
REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+RESTRICT="!test? ( test )"
RDEPEND="
dev-libs/boost:=[zlib(+)]
@@ -47,7 +47,7 @@ src_prepare() {
src_configure() {
local myeconfargs=(
- --disable-static
+ --without-benchmark
--disable-werror
$(use_enable python)
$(use_enable spreadsheet-model)
@@ -58,6 +58,6 @@ src_configure() {
src_install() {
default
- find "${D}" -name '*.la' -type f -delete || die
use python && python_optimize
+ find "${D}" -name '*.la' -type f -delete || die
}
diff --git a/dev-libs/libotf/libotf-0.9.16-r1.ebuild b/dev-libs/libotf/libotf-0.9.16-r1.ebuild
new file mode 100644
index 000000000000..64a7e7d43b66
--- /dev/null
+++ b/dev-libs/libotf/libotf-0.9.16-r1.ebuild
@@ -0,0 +1,49 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools
+
+DESCRIPTION="Library for handling OpenType fonts (OTF)"
+HOMEPAGE="https://www.nongnu.org/m17n/"
+SRC_URI="mirror://nongnu/m17n/${P}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux"
+IUSE="static-libs X"
+
+RDEPEND=">=media-libs/freetype-2.4.9
+ X? (
+ x11-libs/libX11
+ x11-libs/libXaw
+ x11-libs/libXt
+ )"
+DEPEND="${RDEPEND}
+ X? (
+ x11-base/xorg-proto
+ x11-libs/libICE
+ x11-libs/libXmu
+ )"
+BDEPEND="virtual/pkgconfig"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-0.9.13-build.patch
+ "${FILESDIR}"/${PN}-0.9.16-freetype_pkgconfig.patch
+)
+
+src_prepare() {
+ default
+ eautoreconf
+}
+
+src_configure() {
+ export ac_cv_header_X11_Xaw_Command_h=$(usex X)
+ econf $(use_enable static-libs static)
+}
+
+src_install() {
+ default
+ find "${ED}" -name "*.la" -delete || die
+}
diff --git a/dev-libs/libotf/libotf-0.9.16.ebuild b/dev-libs/libotf/libotf-0.9.16.ebuild
index c73b79eb6f4f..af118cd89a6f 100644
--- a/dev-libs/libotf/libotf-0.9.16.ebuild
+++ b/dev-libs/libotf/libotf-0.9.16.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 @@ SRC_URI="mirror://nongnu/m17n/${P}.tar.gz"
LICENSE="LGPL-2.1"
SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ppc ppc64 ~riscv sparc x86 ~amd64-linux ~x86-linux"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ppc ppc64 ~riscv sparc x86 ~amd64-linux ~x86-linux"
IUSE="static-libs X"
RDEPEND=">=media-libs/freetype-2.4.9
diff --git a/dev-libs/libowfat/Manifest b/dev-libs/libowfat/Manifest
index f10b19ebb8e9..829ac2cdc3c6 100644
--- a/dev-libs/libowfat/Manifest
+++ b/dev-libs/libowfat/Manifest
@@ -1 +1,2 @@
DIST libowfat-0.32.tar.xz 195820 BLAKE2B 6dc19b947867a9b08eece785378be2493fb7185d1cc334de080ab1c288884fe0b670ece6f3785f051c707cc98afc4d843a262b9761fc9cc68fdf1f1ac8df1eb8 SHA512 c762a1aa27dfb30e2f6da67d1ad16da03d301b2e3cce33c83b69103183a6689a494c8cf8d7d4e26ad5b22130e4e0560d5f3ef6f44b14d706f10e2300ce11ff3b
+DIST libowfat-0.33.tar.xz 213920 BLAKE2B f902279ae2be96a24ff8760e082a16058db06d20f8e9b55ee54731035f142eb1d9058633be31bc975a3916a44d8d1d4372c2b594e317f5957bff32150aa60785 SHA512 03a56bcbc1a58e340c473d260877218a35841a6915a8369381d74463244cd754fc736006344814855c4d33598ad811d51b7fff4ba41c5e6d38d56297903dcaf5
diff --git a/dev-libs/libowfat/libowfat-0.32-r1.ebuild b/dev-libs/libowfat/libowfat-0.32-r1.ebuild
index 77774d4f7f6d..e8be0ec566bc 100644
--- a/dev-libs/libowfat/libowfat-0.32-r1.ebuild
+++ b/dev-libs/libowfat/libowfat-0.32-r1.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"
@@ -15,8 +15,7 @@ KEYWORDS="amd64 hppa sparc x86"
IUSE="diet"
RDEPEND="diet? ( >=dev-libs/dietlibc-0.33_pre20090721 )"
-DEPEND="${RDEPEND}
- >=sys-apps/sed-4"
+DEPEND="${RDEPEND}"
pkg_setup() {
# Required for mult/umult64.c to be usable
@@ -25,7 +24,7 @@ pkg_setup() {
src_compile() {
emake \
- CC=$(tc-getCC) \
+ CC="$(tc-getCC)" \
CFLAGS="-I. ${CFLAGS}" \
DIET="${EPREFIX}/usr/bin/diet -Os" \
prefix="${EPREFIX}/usr" \
diff --git a/dev-libs/libowfat/libowfat-0.32-r5.ebuild b/dev-libs/libowfat/libowfat-0.32-r5.ebuild
index c85792782f66..45ea340b25da 100644
--- a/dev-libs/libowfat/libowfat-0.32-r5.ebuild
+++ b/dev-libs/libowfat/libowfat-0.32-r5.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="8"
@@ -11,7 +11,7 @@ HOMEPAGE="https://www.fefe.de/libowfat/"
LICENSE="GPL-2"
SLOT="0"
-KEYWORDS="~amd64 ~hppa ~sparc ~x86"
+KEYWORDS="amd64 hppa sparc x86"
IUSE="diet"
RDEPEND="diet? ( >=dev-libs/dietlibc-0.33_pre20090721 )"
@@ -38,10 +38,16 @@ src_prepare() {
}
src_compile() {
+ # Primary use case is for code by the same author. Which then fails with
+ # LTO errors. It builds a static library only, anyway. Result: LTO can be
+ # used if you don't upgrade the compiler. If you do, the compiler errors,
+ # or if you are unlucky, ICEs. Just don't use LTO, there is no point...
+ filter-lto
+
emake \
- CC=$(tc-getCC) \
- AR=$(tc-getAR) \
- RANLIB=$(tc-getRANLIB) \
+ CC="$(tc-getCC)" \
+ AR="$(tc-getAR)" \
+ RANLIB="$(tc-getRANLIB)" \
CFLAGS="-I. ${CFLAGS}" \
DIET="${EPREFIX}/usr/bin/diet -Os" \
prefix="${EPREFIX}/usr" \
diff --git a/dev-libs/libowfat/libowfat-0.33-r1.ebuild b/dev-libs/libowfat/libowfat-0.33-r1.ebuild
new file mode 100644
index 000000000000..456716706290
--- /dev/null
+++ b/dev-libs/libowfat/libowfat-0.33-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 flag-o-matic toolchain-funcs
+
+DESCRIPTION="reimplement libdjb - excellent libraries from Dan Bernstein"
+SRC_URI="https://www.fefe.de/${PN}/${P}.tar.xz"
+HOMEPAGE="https://www.fefe.de/libowfat/"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~hppa ~sparc ~x86"
+IUSE="diet"
+
+RDEPEND="diet? ( >=dev-libs/dietlibc-0.33_pre20090721 )"
+DEPEND="${RDEPEND}"
+
+pkg_setup() {
+ # Required for mult/umult64.c to be usable
+ append-flags -fomit-frame-pointer
+}
+
+src_compile() {
+ # Primary use case is for code by the same author. Which then fails with
+ # LTO errors. It builds a static library only, anyway. Result: LTO can be
+ # used if you don't upgrade the compiler. If you do, the compiler errors,
+ # or if you are unlucky, ICEs. Just don't use LTO, there is no point...
+ filter-lto
+
+ # workaround for broken dependencies
+ emake headers
+
+ emake \
+ CC="$(tc-getCC)" \
+ AR="$(tc-getAR)" \
+ RANLIB="$(tc-getRANLIB)" \
+ CFLAGS="-I. ${CFLAGS}" \
+ DIET="${EPREFIX}/usr/bin/diet -Os" \
+ prefix="${EPREFIX}/usr" \
+ INCLUDEDIR="${EPREFIX}/usr/include" \
+ $( use diet || echo 'DIET=' )
+}
+
+src_install() {
+ emake \
+ DESTDIR="${D}" \
+ LIBDIR="${EPREFIX}/usr/$(get_libdir)" \
+ MAN3DIR="${EPREFIX}/usr/share/man/man3" \
+ INCLUDEDIR="${EPREFIX}/usr/include" \
+ install
+
+ mv "${ED}"/usr/share/man/man3/{buffer.3,owfat-buffer.3} || die
+}
diff --git a/dev-libs/libp11/Manifest b/dev-libs/libp11/Manifest
index c7a88e526012..fcc7ee29886a 100644
--- a/dev-libs/libp11/Manifest
+++ b/dev-libs/libp11/Manifest
@@ -1,2 +1 @@
-DIST libp11-0.4.10.tar.gz 496891 BLAKE2B 219f65f68ab6dbd4bbe5893ac0d520d7e4676afdd9f3891a3bc66fa006c353b2adad269708cee714985b495ed0b0d691f31964d7099125147ec630f3c63143e8 SHA512 7005dbbab170dff48bee99de67ab9ffbfd2004f4b5150a0a67717aabb30eb93a34495b6d084da5d05162dd8666e8ff4c451d0d153ee4dd5422b59f6f6ca2130c
-DIST libp11-0.4.11.tar.gz 500433 BLAKE2B 6a12d8bc0551b3ef11857c0e60a33ebae4f8dfa72c914e9356c13547d71e0f1000ef4b6b7476cfba7cc3376b44b05c2bb0e7a88a267c13702222a7d2b10e9a78 SHA512 37eeeab09cbef7e1498358f2c614f4ec6cb9f37bc9b19e6e393fc0ed3c47ebad8d484b5f5cf428c76ffdf25d08e337d5148d0ff517957283394111dea83352f2
+DIST libp11-0.4.12.tar.gz 516414 BLAKE2B a816749984753a1916dd58860c51b49d316946b59eb3bc839f6a21dcff14de48d7a4937f55fc7ad96a26b914591854d5cf11a1fbac2d5f2f5e04c833973c0e42 SHA512 674cfca2c9eaf162262204c94f9d59d3095dabbc348c1842e758b897e1a5bd4ba08b2d589ec3b2a2d1343a8760eab253e7008dc09ef5b499e2f16385efe5c8cc
diff --git a/dev-libs/libp11/files/libp11-0.4.12-openssl-3.1.patch b/dev-libs/libp11/files/libp11-0.4.12-openssl-3.1.patch
new file mode 100644
index 000000000000..f7f148e07e1b
--- /dev/null
+++ b/dev-libs/libp11/files/libp11-0.4.12-openssl-3.1.patch
@@ -0,0 +1,50 @@
+https://github.com/OpenSC/libp11/pull/503
+https://bugs.gentoo.org/910203
+
+From 580c12b78b63d88010a6178d7c4c58186938c479 Mon Sep 17 00:00:00 2001
+From: Dominique Leuenberger <dimstar@opensuse.org>
+Date: Tue, 6 Jun 2023 14:27:46 +0200
+Subject: [PATCH] Detect openSSL 3.1; compatible to openSSL 3.0
+
+---
+ configure.ac | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/configure.ac b/configure.ac
+index d6b0ee91..b96979d9 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -33,7 +33,7 @@ AC_C_BIGENDIAN
+ # issues with applications linking to new openssl, old libp11, and vice versa
+ case "`$PKG_CONFIG --modversion --silence-errors libcrypto || \
+ $PKG_CONFIG --modversion openssl`" in
+- 3.0.*) # Predicted engines directory prefix for OpenSSL 3.x
++ 3.1.*|3.0.*) # Predicted engines directory prefix for OpenSSL 3.x
+ LIBP11_LT_OLDEST="3"
+ debian_ssl_prefix="openssl-3.0.0";;
+ 1.1.*) # Predicted engines directory prefix for OpenSSL 1.1.x
+From 0697773b403efb8e7fa9f0c0fddcb499fb9b6337 Mon Sep 17 00:00:00 2001
+From: Mike Gilbert <floppym@gentoo.org>
+Date: Thu, 13 Jul 2023 13:52:54 -0400
+Subject: [PATCH] configure: treat all openssl-3.x releases the same
+
+OpenSSL's soversion will not change for any 3.x minor release.
+
+https://www.openssl.org/policies/general/versioning-policy.html
+---
+ configure.ac | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/configure.ac b/configure.ac
+index b96979d9..c344e84a 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -33,7 +33,7 @@ AC_C_BIGENDIAN
+ # issues with applications linking to new openssl, old libp11, and vice versa
+ case "`$PKG_CONFIG --modversion --silence-errors libcrypto || \
+ $PKG_CONFIG --modversion openssl`" in
+- 3.1.*|3.0.*) # Predicted engines directory prefix for OpenSSL 3.x
++ 3.*) # Predicted engines directory prefix for OpenSSL 3.x
+ LIBP11_LT_OLDEST="3"
+ debian_ssl_prefix="openssl-3.0.0";;
+ 1.1.*) # Predicted engines directory prefix for OpenSSL 1.1.x
diff --git a/dev-libs/libp11/libp11-0.4.10-r1.ebuild b/dev-libs/libp11/libp11-0.4.10-r1.ebuild
deleted file mode 100644
index b9fcd14e12ac..000000000000
--- a/dev-libs/libp11/libp11-0.4.10-r1.ebuild
+++ /dev/null
@@ -1,31 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-DESCRIPTION="Abstraction layer to simplify PKCS#11 API"
-HOMEPAGE="https://github.com/opensc/libp11/wiki"
-SRC_URI="https://github.com/OpenSC/${PN}/releases/download/${P}/${P}.tar.gz"
-
-LICENSE="LGPL-2.1"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ppc ppc64 ~s390 sparc x86"
-IUSE="bindist doc static-libs"
-
-RDEPEND="
- dev-libs/openssl:0=[bindist(-)=]"
-DEPEND="${RDEPEND}
- virtual/pkgconfig
- doc? ( app-doc/doxygen )"
-
-src_configure() {
- econf \
- --enable-shared \
- $(use_enable static-libs static) \
- $(use_enable doc api-doc)
-}
-
-src_install() {
- default
- find "${D}" -name '*.la' -delete || die
-}
diff --git a/dev-libs/libp11/libp11-0.4.11-r1.ebuild b/dev-libs/libp11/libp11-0.4.11-r1.ebuild
deleted file mode 100644
index c0e828d219ed..000000000000
--- a/dev-libs/libp11/libp11-0.4.11-r1.ebuild
+++ /dev/null
@@ -1,31 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-DESCRIPTION="Abstraction layer to simplify PKCS#11 API"
-HOMEPAGE="https://github.com/opensc/libp11/wiki"
-SRC_URI="https://github.com/OpenSC/${PN}/releases/download/${P}/${P}.tar.gz"
-
-LICENSE="LGPL-2.1"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ppc ppc64 ~riscv ~s390 sparc x86"
-IUSE="bindist doc static-libs"
-
-RDEPEND="
- dev-libs/openssl:0=[bindist(-)=]"
-DEPEND="${RDEPEND}
- virtual/pkgconfig
- doc? ( app-doc/doxygen )"
-
-src_configure() {
- econf \
- --enable-shared \
- $(use_enable static-libs static) \
- $(use_enable doc api-doc)
-}
-
-src_install() {
- default
- find "${D}" -name '*.la' -delete || die
-}
diff --git a/dev-libs/libp11/libp11-0.4.11-r2.ebuild b/dev-libs/libp11/libp11-0.4.11-r2.ebuild
deleted file mode 100644
index e244ffef1443..000000000000
--- a/dev-libs/libp11/libp11-0.4.11-r2.ebuild
+++ /dev/null
@@ -1,30 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-DESCRIPTION="Abstraction layer to simplify PKCS#11 API"
-HOMEPAGE="https://github.com/opensc/libp11/wiki"
-SRC_URI="https://github.com/OpenSC/${PN}/releases/download/${P}/${P}.tar.gz"
-
-LICENSE="LGPL-2.1"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ppc ppc64 ~riscv ~s390 sparc x86"
-IUSE="doc static-libs"
-
-RDEPEND="dev-libs/openssl:="
-DEPEND="${RDEPEND}"
-BDEPEND="virtual/pkgconfig
- doc? ( app-doc/doxygen )"
-
-src_configure() {
- econf \
- --enable-shared \
- $(use_enable static-libs static) \
- $(use_enable doc api-doc)
-}
-
-src_install() {
- default
- find "${D}" -name '*.la' -delete || die
-}
diff --git a/dev-libs/libp11/libp11-0.4.12-r7.ebuild b/dev-libs/libp11/libp11-0.4.12-r7.ebuild
new file mode 100644
index 000000000000..fb5a4c7faf18
--- /dev/null
+++ b/dev-libs/libp11/libp11-0.4.12-r7.ebuild
@@ -0,0 +1,56 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools
+
+DESCRIPTION="Abstraction layer to simplify PKCS#11 API"
+HOMEPAGE="https://github.com/opensc/libp11/wiki"
+SRC_URI="https://github.com/OpenSC/${PN}/releases/download/${P}/${P}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86"
+IUSE="doc static-libs test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ >=dev-libs/openssl-3.0.0:=[bindist(+)]
+ !~dev-libs/openssl-3.2.0
+ !=dev-libs/openssl-3.2.1-r0
+ !=dev-libs/openssl-3.0.13-r1
+ !=dev-libs/openssl-3.0.13-r0
+ !~dev-libs/openssl-3.0.12
+"
+DEPEND="${RDEPEND}
+ test? ( dev-libs/softhsm )
+"
+BDEPEND="
+ virtual/pkgconfig
+ doc? ( app-text/doxygen )
+ test? ( >=dev-libs/opensc-0.23.0-r2 )
+"
+
+src_prepare() {
+ local PATCHES=(
+ "${FILESDIR}"/libp11-0.4.12-openssl-3.1.patch
+ )
+ default
+ eautoreconf
+}
+
+src_configure() {
+ local args=(
+ --enable-shared
+ $(use_enable static-libs static)
+ $(use_enable doc api-doc)
+ )
+ econf "${args[@]}"
+}
+
+src_install() {
+ default
+
+ find "${ED}" -name '*.la' -delete || die
+}
diff --git a/dev-libs/libp11/metadata.xml b/dev-libs/libp11/metadata.xml
index 304b0d92381c..735336302139 100644
--- a/dev-libs/libp11/metadata.xml
+++ b/dev-libs/libp11/metadata.xml
@@ -1,10 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <name>Lars Wendler</name>
- <email>polynomial-c@gentoo.org</email>
- </maintainer>
+ <!-- maintainer-needed -->
<longdescription>
Library implementing a small layer on top of PKCS#11 API to make
using PKCS#11 implementations easier.
@@ -13,7 +10,7 @@
<flag name="doc">Generate and install API documentation for the package.</flag>
</use>
<upstream>
- <remote-id type="cpe">cpe:/a:opensc-project:opensc</remote-id>
+ <remote-id type="cpe">cpe:/a:opensc-project:libp11</remote-id>
<remote-id type="github">opensc/libp11</remote-id>
<remote-id type="sourceforge">opensc</remote-id>
</upstream>
diff --git a/dev-libs/libparserutils/Manifest b/dev-libs/libparserutils/Manifest
index 4efcd47806be..1966f9baf737 100644
--- a/dev-libs/libparserutils/Manifest
+++ b/dev-libs/libparserutils/Manifest
@@ -1 +1 @@
-DIST libparserutils-0.2.4-src.tar.gz 74521 BLAKE2B 85e39d64bb8365f95da227e3a52ea2a2a85b0f913f861117b496bdff1556b8ca880189325995cf02eeb51f2db76c917a63f59ee1a1fed8fec6ce43dc16f9b66f SHA512 e6a7b618e00e2bc69a0de63c29cc809f250fbd1c10544523c563f4bb9ac3281e02ba36c096518fc0a9074dad49a05346b04cc85b7d972f88f2645af0f869cbc2
+DIST libparserutils-0.2.5-src.tar.gz 74518 BLAKE2B 792e9fd14119537e4ec6e54d0e147114473e6935ea4b557c0de1341c29352e5773be90b282ca49573fd11cfb5a17e6f0f41cce1f2abbb95e5203794b3775ce4b SHA512 5d26bbfb754deb950c098f444d44003d681f30dfaf18a4d6b25ef5023ab5dbfa8968a9d8b6d319ad470fe3c75022328c55c810a623139208a7091b2df27f0a18
diff --git a/dev-libs/libparserutils/libparserutils-0.2.4-r3.ebuild b/dev-libs/libparserutils/libparserutils-0.2.4-r3.ebuild
deleted file mode 100644
index d851e35b45c7..000000000000
--- a/dev-libs/libparserutils/libparserutils-0.2.4-r3.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 flag-o-matic netsurf
-
-DESCRIPTION="C library for building efficient parsers"
-HOMEPAGE="http://www.netsurf-browser.org/projects/libparserutils/"
-SRC_URI="https://download.netsurf-browser.org/libs/releases/${P}-src.tar.gz"
-
-LICENSE="MIT"
-SLOT="0/${PV}"
-KEYWORDS="amd64 arm arm64 ppc ~ppc64 x86"
-IUSE="iconv test"
-RESTRICT="!test? ( test )"
-
-BDEPEND="
- >=dev-util/netsurf-buildsystem-1.7-r1
- test? ( dev-lang/perl )
-"
-
-DOCS=( README docs/Todo )
-
-src_configure() {
- append-cflags "-D$(usex iconv WITH WITHOUT)_ICONV_FILTER"
-}
-
-_emake() {
- netsurf_define_makeconf
- emake "${NETSURF_MAKECONF[@]}" COMPONENT_TYPE=lib-shared $@
-}
-
-src_compile() {
- _emake
-}
-
-src_test() {
- _emake test
-}
-
-src_install() {
- _emake DESTDIR="${D}" install
-}
diff --git a/dev-libs/libparserutils/libparserutils-0.2.5.ebuild b/dev-libs/libparserutils/libparserutils-0.2.5.ebuild
new file mode 100644
index 000000000000..79cdf371104a
--- /dev/null
+++ b/dev-libs/libparserutils/libparserutils-0.2.5.ebuild
@@ -0,0 +1,44 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit flag-o-matic netsurf
+
+DESCRIPTION="C library for building efficient parsers"
+HOMEPAGE="http://www.netsurf-browser.org/projects/libparserutils/"
+SRC_URI="https://download.netsurf-browser.org/libs/releases/${P}-src.tar.gz"
+
+LICENSE="MIT"
+SLOT="0/${PV}"
+KEYWORDS="amd64 arm arm64 ~loong ppc ~ppc64 ~riscv x86"
+IUSE="iconv test"
+RESTRICT="!test? ( test )"
+
+BDEPEND="
+ dev-build/netsurf-buildsystem
+ test? ( dev-lang/perl )
+"
+
+DOCS=( README docs/Todo )
+
+src_configure() {
+ append-cflags "-D$(usex iconv WITH WITHOUT)_ICONV_FILTER"
+}
+
+_emake() {
+ netsurf_define_makeconf
+ emake "${NETSURF_MAKECONF[@]}" COMPONENT_TYPE=lib-shared $@
+}
+
+src_compile() {
+ _emake
+}
+
+src_test() {
+ _emake test
+}
+
+src_install() {
+ _emake DESTDIR="${D}" install
+}
diff --git a/dev-libs/libparserutils/metadata.xml b/dev-libs/libparserutils/metadata.xml
index 115e9d64a669..f2908ee10b59 100644
--- a/dev-libs/libparserutils/metadata.xml
+++ b/dev-libs/libparserutils/metadata.xml
@@ -1,5 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <!-- maintainer-needed -->
+ <maintainer type="person">
+ <email>mjo@gentoo.org</email>
+ <name>Michael Orlitzky</name>
+ </maintainer>
</pkgmetadata>
diff --git a/dev-libs/libpcre/files/libpcre-8.45-fix-stack-size-detection.patch b/dev-libs/libpcre/files/libpcre-8.45-fix-stack-size-detection.patch
new file mode 100644
index 000000000000..2b5af062d36a
--- /dev/null
+++ b/dev-libs/libpcre/files/libpcre-8.45-fix-stack-size-detection.patch
@@ -0,0 +1,18 @@
+https://bugs.exim.org/show_bug.cgi?id=2173#c4
+https://bugs.gentoo.org/910188
+https://github.com/MariaDB/server/pull/2700
+--- a/pcre_exec.c
++++ b/pcre_exec.c
+@@ -509,6 +509,12 @@
+ (e.g. stopped by repeated call or recursion limit)
+ */
+
++#ifdef __GNUC__
++static int
++match(REGISTER PCRE_PUCHAR eptr, REGISTER const pcre_uchar *ecode,
++ PCRE_PUCHAR mstart, int offset_top, match_data *md, eptrblock *eptrb,
++ unsigned int rdepth) __attribute__((optnone,noinline,noclone));
++#endif
+ static int
+ match(REGISTER PCRE_PUCHAR eptr, REGISTER const pcre_uchar *ecode,
+ PCRE_PUCHAR mstart, int offset_top, match_data *md, eptrblock *eptrb,
diff --git a/dev-libs/libpcre/libpcre-8.45-r1.ebuild b/dev-libs/libpcre/libpcre-8.45-r1.ebuild
new file mode 100644
index 000000000000..486937c58cb3
--- /dev/null
+++ b/dev-libs/libpcre/libpcre-8.45-r1.ebuild
@@ -0,0 +1,104 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit libtool multilib-minimal preserve-libs usr-ldscript
+
+DESCRIPTION="Perl-compatible regular expression library"
+HOMEPAGE="http://www.pcre.org/"
+MY_P="pcre-${PV/_rc/-RC}"
+if [[ ${PV} != *_rc* ]] ; then
+ # Only the final releases are available here.
+ SRC_URI="mirror://sourceforge/pcre/${MY_P}.tar.bz2
+ https://ftp.pcre.org/pub/pcre/${MY_P}.tar.bz2
+ ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/${MY_P}.tar.bz2"
+else
+ SRC_URI="ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/Testing/${MY_P}.tar.bz2"
+fi
+
+S="${WORKDIR}/${MY_P}"
+
+LICENSE="BSD"
+SLOT="3"
+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"
+IUSE="bzip2 +cxx +jit libedit pcre16 pcre32 +readline static-libs unicode valgrind zlib"
+REQUIRED_USE="
+ readline? ( !libedit )
+ libedit? ( !readline )
+"
+
+RDEPEND="
+ bzip2? ( app-arch/bzip2 )
+ zlib? ( sys-libs/zlib )
+ libedit? ( dev-libs/libedit )
+ readline? ( sys-libs/readline:= )
+"
+DEPEND="
+ ${RDEPEND}
+ valgrind? ( dev-debug/valgrind )
+"
+BDEPEND="virtual/pkgconfig"
+
+MULTILIB_CHOST_TOOLS=(
+ /usr/bin/pcre-config
+)
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-8.41-fix-stack-size-detection.patch
+)
+
+src_prepare() {
+ default
+
+ sed -i -e "s:-lpcre ::" libpcrecpp.pc.in || die
+ elibtoolize
+}
+
+multilib_src_configure() {
+ local myeconfargs=(
+ $(multilib_native_use_enable bzip2 pcregrep-libbz2)
+ $(use_enable cxx cpp)
+ $(use_enable jit)
+ $(use_enable jit pcregrep-jit)
+ $(use_enable pcre16)
+ $(use_enable pcre32)
+ $(multilib_native_use_enable libedit pcretest-libedit)
+ $(multilib_native_use_enable readline pcretest-libreadline)
+ $(use_enable static-libs static)
+ $(use_enable unicode utf)
+ $(use_enable unicode unicode-properties)
+ $(multilib_native_use_enable valgrind)
+ $(multilib_native_use_enable zlib pcregrep-libz)
+
+ --enable-pcre8
+ --enable-shared
+ )
+
+ ECONF_SOURCE="${S}" econf "${myeconfargs[@]}"
+}
+
+multilib_src_compile() {
+ emake V=1 $(multilib_is_native_abi || echo "bin_PROGRAMS=")
+}
+
+multilib_src_install() {
+ emake \
+ DESTDIR="${D}" \
+ $(multilib_is_native_abi || echo "bin_PROGRAMS= dist_html_DATA=") \
+ install
+
+ gen_usr_ldscript -a pcre
+}
+
+multilib_src_install_all() {
+ find "${ED}" -type f -name "*.la" -delete || die
+}
+
+pkg_preinst() {
+ preserve_old_lib /$(get_libdir)/libpcre.so.0
+}
+
+pkg_postinst() {
+ preserve_old_lib_notify /$(get_libdir)/libpcre.so.0
+}
diff --git a/dev-libs/libpcre/libpcre-8.45-r2.ebuild b/dev-libs/libpcre/libpcre-8.45-r2.ebuild
new file mode 100644
index 000000000000..c87877646d81
--- /dev/null
+++ b/dev-libs/libpcre/libpcre-8.45-r2.ebuild
@@ -0,0 +1,106 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit libtool multilib-minimal preserve-libs usr-ldscript
+
+DESCRIPTION="Perl-compatible regular expression library"
+HOMEPAGE="http://www.pcre.org/"
+MY_P="pcre-${PV/_rc/-RC}"
+if [[ ${PV} != *_rc* ]] ; then
+ # Only the final releases are available here.
+ SRC_URI="
+ mirror://sourceforge/pcre/${MY_P}.tar.bz2
+ https://ftp.pcre.org/pub/pcre/${MY_P}.tar.bz2
+ ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/${MY_P}.tar.bz2
+ "
+else
+ SRC_URI="ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/Testing/${MY_P}.tar.bz2"
+fi
+
+S="${WORKDIR}/${MY_P}"
+
+LICENSE="BSD"
+SLOT="3"
+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"
+IUSE="bzip2 +cxx +jit libedit pcre16 pcre32 +readline static-libs unicode valgrind zlib"
+REQUIRED_USE="
+ readline? ( !libedit )
+ libedit? ( !readline )
+"
+
+RDEPEND="
+ bzip2? ( app-arch/bzip2 )
+ zlib? ( sys-libs/zlib )
+ libedit? ( dev-libs/libedit )
+ readline? ( sys-libs/readline:= )
+"
+DEPEND="
+ ${RDEPEND}
+ valgrind? ( dev-debug/valgrind )
+"
+BDEPEND="virtual/pkgconfig"
+
+MULTILIB_CHOST_TOOLS=(
+ /usr/bin/pcre-config
+)
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-8.45-fix-stack-size-detection.patch
+)
+
+src_prepare() {
+ default
+
+ sed -i -e "s:-lpcre ::" libpcrecpp.pc.in || die
+ elibtoolize
+}
+
+multilib_src_configure() {
+ local myeconfargs=(
+ $(multilib_native_use_enable bzip2 pcregrep-libbz2)
+ $(use_enable cxx cpp)
+ $(use_enable jit)
+ $(use_enable jit pcregrep-jit)
+ $(use_enable pcre16)
+ $(use_enable pcre32)
+ $(multilib_native_use_enable libedit pcretest-libedit)
+ $(multilib_native_use_enable readline pcretest-libreadline)
+ $(use_enable static-libs static)
+ $(use_enable unicode utf)
+ $(use_enable unicode unicode-properties)
+ $(multilib_native_use_enable valgrind)
+ $(multilib_native_use_enable zlib pcregrep-libz)
+
+ --enable-pcre8
+ --enable-shared
+ )
+
+ ECONF_SOURCE="${S}" econf "${myeconfargs[@]}"
+}
+
+multilib_src_compile() {
+ emake V=1 $(multilib_is_native_abi || echo "bin_PROGRAMS=")
+}
+
+multilib_src_install() {
+ emake \
+ DESTDIR="${D}" \
+ $(multilib_is_native_abi || echo "bin_PROGRAMS= dist_html_DATA=") \
+ install
+
+ gen_usr_ldscript -a pcre
+}
+
+multilib_src_install_all() {
+ find "${ED}" -type f -name "*.la" -delete || die
+}
+
+pkg_preinst() {
+ preserve_old_lib /$(get_libdir)/libpcre.so.0
+}
+
+pkg_postinst() {
+ preserve_old_lib_notify /$(get_libdir)/libpcre.so.0
+}
diff --git a/dev-libs/libpcre/libpcre-8.45-r3.ebuild b/dev-libs/libpcre/libpcre-8.45-r3.ebuild
new file mode 100644
index 000000000000..6147da6ca44c
--- /dev/null
+++ b/dev-libs/libpcre/libpcre-8.45-r3.ebuild
@@ -0,0 +1,109 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools multilib-minimal preserve-libs
+
+DESCRIPTION="Perl-compatible regular expression library"
+HOMEPAGE="http://www.pcre.org/"
+MY_P="pcre-${PV/_rc/-RC}"
+if [[ ${PV} != *_rc* ]] ; then
+ # Only the final releases are available here.
+ SRC_URI="
+ mirror://sourceforge/pcre/${MY_P}.tar.bz2
+ https://ftp.pcre.org/pub/pcre/${MY_P}.tar.bz2
+ ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/${MY_P}.tar.bz2
+ "
+else
+ SRC_URI="ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/Testing/${MY_P}.tar.bz2"
+fi
+
+S="${WORKDIR}/${MY_P}"
+
+LICENSE="BSD"
+SLOT="3"
+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"
+IUSE="bzip2 +cxx +jit libedit pcre16 pcre32 +readline static-libs unicode valgrind zlib"
+REQUIRED_USE="
+ readline? ( !libedit )
+ libedit? ( !readline )
+"
+
+RDEPEND="
+ bzip2? ( app-arch/bzip2 )
+ zlib? ( sys-libs/zlib )
+ libedit? ( dev-libs/libedit )
+ readline? ( sys-libs/readline:= )
+"
+DEPEND="
+ ${RDEPEND}
+ valgrind? ( dev-debug/valgrind )
+"
+BDEPEND="virtual/pkgconfig"
+
+MULTILIB_CHOST_TOOLS=(
+ /usr/bin/pcre-config
+)
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-8.45-fix-stack-size-detection.patch
+)
+
+src_prepare() {
+ default
+
+ sed -i -e "s:-lpcre ::" libpcrecpp.pc.in || die
+
+ # We do a full autoreconf because:
+ # - the software is end of life and never getting new dist tarballs
+ # - it uses a frankensteined "2.4.6.42-b88ce-dirty" libtool, which
+ # means elibtoolize can't find patches to apply
+ eautoreconf
+}
+
+multilib_src_configure() {
+ local myeconfargs=(
+ $(multilib_native_use_enable bzip2 pcregrep-libbz2)
+ $(use_enable cxx cpp)
+ $(use_enable jit)
+ $(use_enable jit pcregrep-jit)
+ $(use_enable pcre16)
+ $(use_enable pcre32)
+ $(multilib_native_use_enable libedit pcretest-libedit)
+ $(multilib_native_use_enable readline pcretest-libreadline)
+ $(use_enable static-libs static)
+ $(use_enable unicode utf)
+ $(use_enable unicode unicode-properties)
+ $(multilib_native_use_enable valgrind)
+ $(multilib_native_use_enable zlib pcregrep-libz)
+
+ --enable-pcre8
+ --enable-shared
+ )
+
+ ECONF_SOURCE="${S}" econf "${myeconfargs[@]}"
+}
+
+multilib_src_compile() {
+ emake V=1 $(multilib_is_native_abi || echo "bin_PROGRAMS=")
+}
+
+multilib_src_install() {
+ emake \
+ DESTDIR="${D}" \
+ $(multilib_is_native_abi || echo "bin_PROGRAMS= dist_html_DATA=") \
+ install
+}
+
+multilib_src_install_all() {
+ find "${ED}" -type f -name "*.la" -delete || die
+}
+
+pkg_preinst() {
+ preserve_old_lib /$(get_libdir)/libpcre.so.0
+}
+
+pkg_postinst() {
+ preserve_old_lib_notify /$(get_libdir)/libpcre.so.0
+}
diff --git a/dev-libs/libpcre/libpcre-8.45.ebuild b/dev-libs/libpcre/libpcre-8.45.ebuild
deleted file mode 100644
index 0adbaa5d98d3..000000000000
--- a/dev-libs/libpcre/libpcre-8.45.ebuild
+++ /dev/null
@@ -1,99 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit libtool multilib-minimal preserve-libs usr-ldscript
-
-DESCRIPTION="Perl-compatible regular expression library"
-HOMEPAGE="http://www.pcre.org/"
-MY_P="pcre-${PV/_rc/-RC}"
-if [[ ${PV} != *_rc* ]] ; then
- # Only the final releases are available here.
- SRC_URI="mirror://sourceforge/pcre/${MY_P}.tar.bz2
- https://ftp.pcre.org/pub/pcre/${MY_P}.tar.bz2
- ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/${MY_P}.tar.bz2"
-else
- SRC_URI="ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/Testing/${MY_P}.tar.bz2"
-fi
-
-S="${WORKDIR}/${MY_P}"
-
-LICENSE="BSD"
-SLOT="3"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris ~x86-winnt"
-IUSE="bzip2 +cxx +jit libedit pcre16 pcre32 +readline +recursion-limit static-libs unicode zlib"
-REQUIRED_USE="readline? ( !libedit )
- libedit? ( !readline )"
-
-RDEPEND="
- bzip2? ( app-arch/bzip2 )
- zlib? ( sys-libs/zlib )
- libedit? ( dev-libs/libedit )
- readline? ( sys-libs/readline:0= )
-"
-DEPEND="${RDEPEND}"
-BDEPEND="virtual/pkgconfig"
-
-MULTILIB_CHOST_TOOLS=(
- /usr/bin/pcre-config
-)
-
-PATCHES=(
- "${FILESDIR}"/${PN}-8.41-fix-stack-size-detection.patch
-)
-
-src_prepare() {
- default
-
- sed -i -e "s:-lpcre ::" libpcrecpp.pc.in || die
- elibtoolize
-}
-
-multilib_src_configure() {
- local myeconfargs=(
- --with-match-limit-recursion=$(usex recursion-limit 8192 MATCH_LIMIT)
- $(multilib_native_use_enable bzip2 pcregrep-libbz2)
- $(use_enable cxx cpp)
- $(use_enable jit)
- $(use_enable jit pcregrep-jit)
- $(use_enable pcre16)
- $(use_enable pcre32)
- $(multilib_native_use_enable libedit pcretest-libedit)
- $(multilib_native_use_enable readline pcretest-libreadline)
- $(use_enable static-libs static)
- $(use_enable unicode utf)
- $(use_enable unicode unicode-properties)
- $(multilib_native_use_enable zlib pcregrep-libz)
-
- --enable-pcre8
- --enable-shared
- )
-
- ECONF_SOURCE="${S}" econf "${myeconfargs[@]}"
-}
-
-multilib_src_compile() {
- emake V=1 $(multilib_is_native_abi || echo "bin_PROGRAMS=")
-}
-
-multilib_src_install() {
- emake \
- DESTDIR="${D}" \
- $(multilib_is_native_abi || echo "bin_PROGRAMS= dist_html_DATA=") \
- install
-
- gen_usr_ldscript -a pcre
-}
-
-multilib_src_install_all() {
- find "${ED}" -type f -name "*.la" -delete || die
-}
-
-pkg_preinst() {
- preserve_old_lib /$(get_libdir)/libpcre.so.0
-}
-
-pkg_postinst() {
- preserve_old_lib_notify /$(get_libdir)/libpcre.so.0
-}
diff --git a/dev-libs/libpcre/metadata.xml b/dev-libs/libpcre/metadata.xml
index 5337fb94bb67..e7bcdb6d6d5d 100644
--- a/dev-libs/libpcre/metadata.xml
+++ b/dev-libs/libpcre/metadata.xml
@@ -16,10 +16,6 @@
Add support for command line editing to pcretest, through
<pkg>sys-libs/readline</pkg>.
</flag>
- <flag name="recursion-limit">
- Limit match recursion to 8192; if disabled, the default limit is
- used, which is the same as the match limit.
- </flag>
<flag name="zlib">
Add support for pcregrep command to search within
gzip-compressed files (via <pkg>sys-libs/zlib</pkg>).
diff --git a/dev-libs/libpcre2/Manifest b/dev-libs/libpcre2/Manifest
index dcba31a9c98f..f3ae75c83491 100644
--- a/dev-libs/libpcre2/Manifest
+++ b/dev-libs/libpcre2/Manifest
@@ -1,4 +1,4 @@
-DIST libpcre2-10.36-patchset-01.tar.xz 1364 BLAKE2B bfef3c876a092e06972107b44794c23b758a030181f3040c8b722db166789eac794783169b468fc71334fd660bc2f1c31422a8cb8e5bdc18a69b72654b1b59b2 SHA512 04324d1efa6d155fa3ffbc328638e4674bea305fef7f57d4369ab4a6399a0f489b4c0ecfb49643feff310d91872e1673e965c48a5c60f1bf54a319f0d275c306
-DIST pcre2-10.37.tar.bz2 1729384 BLAKE2B b4e56041010d7f44e84a63a17b35e87329d258107d8b27ccead10f51e7deacc93cbee64a22c71b9f0b8f244920b3a22fa4d9b786ec441a428e0ad0bb8535773e SHA512 69f4bf4736b986e0fc855eedb292efe72a0df2e803bc0e61a6cf47775eed433bb1b2f28d7e641591ef4603d47beb543a64ed0eef9538d00f0746bc3435c143ec
-DIST pcre2-10.38.tar.bz2 1729078 BLAKE2B 9438ff2422afaa83d5a4b2e64d5897068c35add28d66956431f9937191416d6df4903ecf35af72c788480d7def08e0ce17922e9b036698ce1bbe6cacbb799df2 SHA512 3634cb2db6ccba9720c1b69890bcd9eb7057f6a6cb6981f12b3f2d6b2bb4e75e4e5014f566045f9ba1b79edf01fa5c4d81eb333727b9462e843dfb70f3a58f95
-DIST pcre2-10.39.tar.bz2 1730729 BLAKE2B 9ee01ac2704e9cb7a107d402fa0c32828fc66425b62270f6891667bde5fb00c1e779c9730df3522acbd62d11703343bf48265050c09d3754183de314baf7cddd SHA512 b3d898198f4b5ffc3453d2ba56fe2a7298c01c52e5f67d45f1e046fc0dee62e16a4024fcb65839ac9c367beedb531647affd6f8599fbeb102f19423c150d80d4
+DIST pcre2-10.42.tar.bz2 1799866 BLAKE2B 40aa096745548c489a00ead87a191a4d24ecd924a5b8f00401c1273176de15ccb23510882467c8e2b5c1256b97db46fba5fcdfbd9f0d61d86a29d74bb4bca7a0 SHA512 72fbde87fecec3aa4b47225dd919ea1d55e97f2cbcf02aba26e5a0d3b1ffb58c25a80a9ef069eb99f9cf4e41ba9604ad06a7ec159870e1e875d86820e12256d3
+DIST pcre2-10.42.tar.bz2.sig 310 BLAKE2B 2125d7e23f7e75847573e3caeb8d55da5d8e0df3d166bf8b638b998aebacaefb4e88df7e813d6977af2dc7d82c93b7179ad0043c4f46fc4e06d99d214b0b7fcf SHA512 22ce3c7903835b1cf835ac6cfa725badecc982f1504382e62525c88307b2e3bd8951f2221fdd3d73920843e69f714b6df99fe741069e610f1f809087512a31f7
+DIST pcre2-10.43.tar.bz2 1905255 BLAKE2B f87f9f36dd6a806cdba1f077f51b53da2583f1898f83e41d594622b28ac8efbc1b2d122b752a9d6cd461fe0e3c7c85ee93358443df518a336da4ee9d72cca808 SHA512 8ac1520c32e9e5672404aaf6104e23c9ee5c3c28ad28ff101435599d813cbb20e0491a3fd34e012b4411b3e0366a4c6dfa3f02d093acaa6ff0ab25478bb7ade9
+DIST pcre2-10.43.tar.bz2.sig 310 BLAKE2B 5625358ec542a2c808be852437ca47a4df005068759e35b95ba20a55e5d1647b0953df6684e24b6a9de1442c6d6784e45fb1665d48c904dda4ffa16154437c7d SHA512 5edb16176ea4335ab1d35f1b77837c8b6b836f346e379e6b5762e1f4463cb3fb55557fee4dc6d0e9b2084766cdba727c9503830031bb92af91f9706e11389d81
diff --git a/dev-libs/libpcre2/files/libpcre2-10.10-000-Fix-multilib.patch b/dev-libs/libpcre2/files/libpcre2-10.10-000-Fix-multilib.patch
new file mode 100644
index 000000000000..c216aa62d279
--- /dev/null
+++ b/dev-libs/libpcre2/files/libpcre2-10.10-000-Fix-multilib.patch
@@ -0,0 +1,37 @@
+From 8b6b10229201e5b148979a24e06c640dbbcfbad9 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Petr=20P=C3=ADsa=C5=99?= <ppisar@redhat.com>
+Date: Fri, 20 Feb 2015 14:34:26 +0100
+Subject: [PATCH] Fix multilib
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Do not set RPATH nor add explicit -L path to compiler.
+
+Signed-off-by: Petr Písař <ppisar@redhat.com>
+
+--- a/pcre2-config.in
++++ b/pcre2-config.in
+@@ -28,19 +28,7 @@ if test $# -eq 0; then
+ fi
+
+ libR=
+-case `uname -s` in
+- *SunOS*)
+- libR=" -R@libdir@"
+- ;;
+- *BSD*)
+- libR=" -Wl,-R@libdir@"
+- ;;
+-esac
+-
+ libS=
+-if test @libdir@ != /usr/lib ; then
+- libS=-L@libdir@
+-fi
+
+ while test $# -gt 0; do
+ case "$1" in
+--
+2.1.0
+
diff --git a/dev-libs/libpcre2/files/libpcre2-10.37-jit_fixes.patch b/dev-libs/libpcre2/files/libpcre2-10.37-jit_fixes.patch
deleted file mode 100644
index 6ee5494f2bc5..000000000000
--- a/dev-libs/libpcre2/files/libpcre2-10.37-jit_fixes.patch
+++ /dev/null
@@ -1,80 +0,0 @@
-Index: pcre2/ChangeLog
-===================================================================
---- pcre2/ChangeLog (revision 1314)
-+++ pcre2/ChangeLog (revision 1315)
-@@ -1,7 +1,14 @@
- Change Log for PCRE2
- --------------------
-
-+Version 10.38-RC1 xx-xxx-2021
-+-----------------------------
-
-+1. Fix invalid single character repetition issues in JIT when the repetition
-+is inside a capturing bracket and the bracket is preceeded by character
-+literals.
-+
-+
- Version 10.37 26-May-2021
- -------------------------
-
-Index: pcre2/src/pcre2_jit_compile.c
-===================================================================
---- pcre2/src/pcre2_jit_compile.c (revision 1314)
-+++ pcre2/src/pcre2_jit_compile.c (revision 1315)
-@@ -1236,15 +1236,16 @@
-
- return: current number of iterators enhanced with fast fail
- */
--static int detect_early_fail(compiler_common *common, PCRE2_SPTR cc, int *private_data_start, sljit_s32 depth, int start)
-+static int detect_early_fail(compiler_common *common, PCRE2_SPTR cc, int *private_data_start,
-+ sljit_s32 depth, int start, BOOL fast_forward_allowed)
- {
- PCRE2_SPTR begin = cc;
- PCRE2_SPTR next_alt;
- PCRE2_SPTR end;
- PCRE2_SPTR accelerated_start;
-+BOOL prev_fast_forward_allowed;
- int result = 0;
- int count;
--BOOL fast_forward_allowed = TRUE;
-
- SLJIT_ASSERT(*cc == OP_ONCE || *cc == OP_BRA || *cc == OP_CBRA);
- SLJIT_ASSERT(*cc != OP_CBRA || common->optimized_cbracket[GET2(cc, 1 + LINK_SIZE)] != 0);
-@@ -1476,6 +1477,7 @@
- case OP_CBRA:
- end = cc + GET(cc, 1);
-
-+ prev_fast_forward_allowed = fast_forward_allowed;
- fast_forward_allowed = FALSE;
- if (depth >= 4)
- break;
-@@ -1484,7 +1486,7 @@
- if (*end != OP_KET || (*cc == OP_CBRA && common->optimized_cbracket[GET2(cc, 1 + LINK_SIZE)] == 0))
- break;
-
-- count = detect_early_fail(common, cc, private_data_start, depth + 1, count);
-+ count = detect_early_fail(common, cc, private_data_start, depth + 1, count, prev_fast_forward_allowed);
-
- if (PRIVATE_DATA(cc) != 0)
- common->private_data_ptrs[begin - common->start] = 1;
-@@ -13657,7 +13659,7 @@
- private_data_size = common->cbra_ptr + (re->top_bracket + 1) * sizeof(sljit_sw);
-
- if ((re->overall_options & PCRE2_ANCHORED) == 0 && (re->overall_options & PCRE2_NO_START_OPTIMIZE) == 0 && !common->has_skip_in_assert_back)
-- detect_early_fail(common, common->start, &private_data_size, 0, 0);
-+ detect_early_fail(common, common->start, &private_data_size, 0, 0, TRUE);
-
- set_private_data_ptrs(common, &private_data_size, ccend);
-
-Index: pcre2/src/pcre2_jit_test.c
-===================================================================
---- pcre2/src/pcre2_jit_test.c (revision 1314)
-+++ pcre2/src/pcre2_jit_test.c (revision 1315)
-@@ -351,6 +351,7 @@
- { MU, A, 0, 0, ".[ab]*a", "xxa" },
- { MU, A, 0, 0, ".[ab]?.", "xx" },
- { MU, A, 0, 0, "_[ab]+_*a", "_aa" },
-+ { MU, A, 0, 0, "#(A+)#\\d+", "#A#A#0" },
-
- /* Bracket repeats with limit. */
- { MU, A, 0, 0, "(?:(ab){2}){5}M", "abababababababababababM" },
diff --git a/dev-libs/libpcre2/files/libpcre2-10.38-fix-fix-incorrect-detection-of-alternatives-in-first-character-search.patch b/dev-libs/libpcre2/files/libpcre2-10.38-fix-fix-incorrect-detection-of-alternatives-in-first-character-search.patch
deleted file mode 100644
index 936bd057a0e9..000000000000
--- a/dev-libs/libpcre2/files/libpcre2-10.38-fix-fix-incorrect-detection-of-alternatives-in-first-character-search.patch
+++ /dev/null
@@ -1,49 +0,0 @@
-https://github.com/PhilipHazel/pcre2/pull/22
-
---- a/src/pcre2_jit_compile.c
-+++ b/src/pcre2_jit_compile.c
-@@ -1251,10 +1251,13 @@ SLJIT_ASSERT(*cc == OP_ONCE || *cc == OP_BRA || *cc == OP_CBRA);
- SLJIT_ASSERT(*cc != OP_CBRA || common->optimized_cbracket[GET2(cc, 1 + LINK_SIZE)] != 0);
- SLJIT_ASSERT(start < EARLY_FAIL_ENHANCE_MAX);
-
-+next_alt = cc + GET(cc, 1);
-+if (*next_alt == OP_ALT)
-+ fast_forward_allowed = FALSE;
-+
- do
- {
- count = start;
-- next_alt = cc + GET(cc, 1);
- cc += 1 + LINK_SIZE + ((*cc == OP_CBRA) ? IMM2_SIZE : 0);
-
- while (TRUE)
-@@ -1512,7 +1515,7 @@ do
- {
- count++;
-
-- if (fast_forward_allowed && *next_alt == OP_KET)
-+ if (fast_forward_allowed)
- {
- common->fast_forward_bc_ptr = accelerated_start;
- common->private_data_ptrs[(accelerated_start + 1) - common->start] = ((*private_data_start) << 3) | type_skip;
-@@ -1562,8 +1565,8 @@ do
- else if (result < count)
- result = count;
-
-- fast_forward_allowed = FALSE;
- cc = next_alt;
-+ next_alt = cc + GET(cc, 1);
- }
- while (*cc == OP_ALT);
-
---- a/src/pcre2_jit_test.c
-+++ b/src/pcre2_jit_test.c
-@@ -352,6 +352,7 @@ static struct regression_test_case regression_test_cases[] = {
- { MU, A, 0, 0, ".[ab]?.", "xx" },
- { MU, A, 0, 0, "_[ab]+_*a", "_aa" },
- { MU, A, 0, 0, "#(A+)#\\d+", "#A#A#0" },
-+ { MU, A, 0, 0, "(?P<size>\\d+)m|M", "4M" },
-
- /* Bracket repeats with limit. */
- { MU, A, 0, 0, "(?:(ab){2}){5}M", "abababababababababababM" },
-
diff --git a/dev-libs/libpcre2/files/libpcre2-10.43-fix-loong-sljit.patch b/dev-libs/libpcre2/files/libpcre2-10.43-fix-loong-sljit.patch
new file mode 100644
index 000000000000..30fe49410bd5
--- /dev/null
+++ b/dev-libs/libpcre2/files/libpcre2-10.43-fix-loong-sljit.patch
@@ -0,0 +1,30 @@
+https://github.com/zherczeg/sljit/commit/7a821cd714d132e46e748275a80d402beea24764
+with file path adjusted to libpcre2 layout
+
+From: lrzlin <54242813+lrzlin@users.noreply.github.com>
+Date: Wed, 10 Jan 2024 07:13:55 +0800
+Subject: [PATCH] Add LoongArch float to integer conversion special cases
+ (#226)
+
+--- a/src/sljit/sljitConfigInternal.h
++++ b/src/sljit/sljitConfigInternal.h
+@@ -198,7 +198,7 @@ extern "C" {
+ /* Type of public API functions. */
+ /*********************************/
+
+-#ifndef SLJIT_API_FUNC_ATTRIBUTE
++#ifndef SLJIT_API_FUNC_ATTRIBUTE
+ #if (defined SLJIT_CONFIG_STATIC && SLJIT_CONFIG_STATIC)
+ /* Static ABI functions. For all-in-one programs. */
+
+@@ -399,6 +399,10 @@ typedef double sljit_f64;
+ #define SLJIT_CONV_MAX_FLOAT SLJIT_CONV_RESULT_MAX_INT
+ #define SLJIT_CONV_MIN_FLOAT SLJIT_CONV_RESULT_MIN_INT
+ #define SLJIT_CONV_NAN_FLOAT SLJIT_CONV_RESULT_MIN_INT
++#elif (defined SLJIT_CONFIG_LOONGARCH && SLJIT_CONFIG_LOONGARCH)
++#define SLJIT_CONV_MAX_FLOAT SLJIT_CONV_RESULT_MAX_INT
++#define SLJIT_CONV_MIN_FLOAT SLJIT_CONV_RESULT_MIN_INT
++#define SLJIT_CONV_NAN_FLOAT SLJIT_CONV_RESULT_ZERO
+ #else
+ #error "Result for float to integer conversion is not defined"
+ #endif
diff --git a/dev-libs/libpcre2/libpcre2-10.37-r2.ebuild b/dev-libs/libpcre2/libpcre2-10.37-r2.ebuild
deleted file mode 100644
index abd807adeb95..000000000000
--- a/dev-libs/libpcre2/libpcre2-10.37-r2.ebuild
+++ /dev/null
@@ -1,97 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit libtool multilib-minimal usr-ldscript
-
-PATCH_SET="${PN}-10.36-patchset-01.tar.xz"
-
-DESCRIPTION="Perl-compatible regular expression library"
-HOMEPAGE="https://www.pcre.org/"
-MY_P="pcre2-${PV/_rc/-RC}"
-if [[ ${PV} != *_rc* ]] ; then
- # Only the final releases are available here.
- SRC_URI="mirror://sourceforge/pcre/${MY_P}.tar.bz2
- https://ftp.pcre.org/pub/pcre/${MY_P}.tar.bz2"
-else
- SRC_URI="https://ftp.pcre.org/pub/pcre/Testing/${MY_P}.tar.bz2"
-fi
-
-if [[ -n "${PATCH_SET}" ]] ; then
- SRC_URI+=" https://dev.gentoo.org/~whissi/dist/${PN}/${PATCH_SET}
- https://dev.gentoo.org/~polynomial-c/dist/${PATCH_SET}"
-fi
-
-LICENSE="BSD"
-SLOT="0/3" # libpcre2-posix.so version
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-IUSE="bzip2 +jit libedit +pcre16 pcre32 +readline +recursion-limit static-libs unicode zlib"
-REQUIRED_USE="?? ( libedit readline )"
-
-BDEPEND="
- virtual/pkgconfig
-"
-RDEPEND="
- bzip2? ( app-arch/bzip2 )
- libedit? ( dev-libs/libedit )
- readline? ( sys-libs/readline:0= )
- zlib? ( sys-libs/zlib )
-"
-DEPEND="${RDEPEND}"
-
-S="${WORKDIR}/${MY_P}"
-
-PATCHES=(
- "${FILESDIR}/${P}-jit_fixes.patch"
-)
-
-MULTILIB_CHOST_TOOLS=(
- /usr/bin/pcre2-config
-)
-
-src_prepare() {
- if [[ -d "${WORKDIR}/patches" ]] ; then
- rm "${WORKDIR}"/patches/pcre2-10.36-001-issue2698.patch || die
- eapply "${WORKDIR}"/patches
- fi
-
- default
-
- elibtoolize
-}
-
-multilib_src_configure() {
- local myeconfargs=(
- --enable-pcre2-8
- --enable-shared
- --with-match-limit-depth=$(usex recursion-limit 8192 MATCH_LIMIT)
- $(multilib_native_use_enable bzip2 pcre2grep-libbz2)
- $(multilib_native_use_enable libedit pcre2test-libedit)
- $(multilib_native_use_enable readline pcre2test-libreadline)
- $(multilib_native_use_enable zlib pcre2grep-libz)
- $(use_enable jit)
- $(use_enable jit pcre2grep-jit)
- $(use_enable pcre16 pcre2-16)
- $(use_enable pcre32 pcre2-32)
- $(use_enable static-libs static)
- $(use_enable unicode)
- )
- ECONF_SOURCE="${S}" econf "${myeconfargs[@]}"
-}
-
-multilib_src_compile() {
- emake V=1 $(multilib_is_native_abi || echo "bin_PROGRAMS=")
-}
-
-multilib_src_install() {
- emake \
- DESTDIR="${D}" \
- $(multilib_is_native_abi || echo "bin_PROGRAMS= dist_html_DATA=") \
- install
- multilib_is_native_abi && gen_usr_ldscript -a pcre2-posix
-}
-
-multilib_src_install_all() {
- find "${ED}" -type f -name "*.la" -delete || die
-}
diff --git a/dev-libs/libpcre2/libpcre2-10.38-r1.ebuild b/dev-libs/libpcre2/libpcre2-10.38-r1.ebuild
deleted file mode 100644
index 84077f8a1f3e..000000000000
--- a/dev-libs/libpcre2/libpcre2-10.38-r1.ebuild
+++ /dev/null
@@ -1,96 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit libtool multilib-minimal usr-ldscript
-
-PATCH_SET="${PN}-10.36-patchset-01.tar.xz"
-
-DESCRIPTION="Perl-compatible regular expression library"
-HOMEPAGE="https://www.pcre.org/"
-MY_P="pcre2-${PV/_rc/-RC}"
-if [[ ${PV} != *_rc* ]] ; then
- # Only the final releases are available here.
- SRC_URI="mirror://sourceforge/pcre/${MY_P}.tar.bz2
- https://ftp.pcre.org/pub/pcre/${MY_P}.tar.bz2
- https://github.com/PhilipHazel/pcre2/releases/download/${MY_P}/${MY_P}.tar.bz2"
-else
- SRC_URI="https://ftp.pcre.org/pub/pcre/Testing/${MY_P}.tar.bz2"
-fi
-
-if [[ -n "${PATCH_SET}" ]] ; then
- SRC_URI+=" https://dev.gentoo.org/~whissi/dist/${PN}/${PATCH_SET}
- https://dev.gentoo.org/~polynomial-c/dist/${PATCH_SET}"
-fi
-
-LICENSE="BSD"
-SLOT="0/3" # libpcre2-posix.so version
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-IUSE="bzip2 +jit libedit +pcre16 pcre32 +readline +recursion-limit static-libs unicode zlib"
-REQUIRED_USE="?? ( libedit readline )"
-
-BDEPEND="
- virtual/pkgconfig
-"
-RDEPEND="
- bzip2? ( app-arch/bzip2 )
- libedit? ( dev-libs/libedit )
- readline? ( sys-libs/readline:0= )
- zlib? ( sys-libs/zlib )
-"
-DEPEND="${RDEPEND}"
-
-S="${WORKDIR}/${MY_P}"
-
-PATCHES=( "${FILESDIR}"/${P}-fix-fix-incorrect-detection-of-alternatives-in-first-character-search.patch )
-
-MULTILIB_CHOST_TOOLS=(
- /usr/bin/pcre2-config
-)
-
-src_prepare() {
- if [[ -d "${WORKDIR}/patches" ]] ; then
- rm "${WORKDIR}"/patches/pcre2-10.36-001-issue2698.patch || die
- eapply "${WORKDIR}"/patches
- fi
-
- default
-
- elibtoolize
-}
-
-multilib_src_configure() {
- local myeconfargs=(
- --enable-pcre2-8
- --enable-shared
- --with-match-limit-depth=$(usex recursion-limit 8192 MATCH_LIMIT)
- $(multilib_native_use_enable bzip2 pcre2grep-libbz2)
- $(multilib_native_use_enable libedit pcre2test-libedit)
- $(multilib_native_use_enable readline pcre2test-libreadline)
- $(multilib_native_use_enable zlib pcre2grep-libz)
- $(use_enable jit)
- $(use_enable jit pcre2grep-jit)
- $(use_enable pcre16 pcre2-16)
- $(use_enable pcre32 pcre2-32)
- $(use_enable static-libs static)
- $(use_enable unicode)
- )
- ECONF_SOURCE="${S}" econf "${myeconfargs[@]}"
-}
-
-multilib_src_compile() {
- emake V=1 $(multilib_is_native_abi || echo "bin_PROGRAMS=")
-}
-
-multilib_src_install() {
- emake \
- DESTDIR="${D}" \
- $(multilib_is_native_abi || echo "bin_PROGRAMS= dist_html_DATA=") \
- install
- multilib_is_native_abi && gen_usr_ldscript -a pcre2-posix
-}
-
-multilib_src_install_all() {
- find "${ED}" -type f -name "*.la" -delete || die
-}
diff --git a/dev-libs/libpcre2/libpcre2-10.38.ebuild b/dev-libs/libpcre2/libpcre2-10.38.ebuild
deleted file mode 100644
index 6f868c1cfe8e..000000000000
--- a/dev-libs/libpcre2/libpcre2-10.38.ebuild
+++ /dev/null
@@ -1,94 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit libtool multilib-minimal usr-ldscript
-
-PATCH_SET="${PN}-10.36-patchset-01.tar.xz"
-
-DESCRIPTION="Perl-compatible regular expression library"
-HOMEPAGE="https://www.pcre.org/"
-MY_P="pcre2-${PV/_rc/-RC}"
-if [[ ${PV} != *_rc* ]] ; then
- # Only the final releases are available here.
- SRC_URI="mirror://sourceforge/pcre/${MY_P}.tar.bz2
- https://ftp.pcre.org/pub/pcre/${MY_P}.tar.bz2
- https://github.com/PhilipHazel/pcre2/releases/download/${MY_P}/${MY_P}.tar.bz2"
-else
- SRC_URI="https://ftp.pcre.org/pub/pcre/Testing/${MY_P}.tar.bz2"
-fi
-
-if [[ -n "${PATCH_SET}" ]] ; then
- SRC_URI+=" https://dev.gentoo.org/~whissi/dist/${PN}/${PATCH_SET}
- https://dev.gentoo.org/~polynomial-c/dist/${PATCH_SET}"
-fi
-
-LICENSE="BSD"
-SLOT="0/3" # libpcre2-posix.so version
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-IUSE="bzip2 +jit libedit +pcre16 pcre32 +readline +recursion-limit static-libs unicode zlib"
-REQUIRED_USE="?? ( libedit readline )"
-
-BDEPEND="
- virtual/pkgconfig
-"
-RDEPEND="
- bzip2? ( app-arch/bzip2 )
- libedit? ( dev-libs/libedit )
- readline? ( sys-libs/readline:0= )
- zlib? ( sys-libs/zlib )
-"
-DEPEND="${RDEPEND}"
-
-S="${WORKDIR}/${MY_P}"
-
-MULTILIB_CHOST_TOOLS=(
- /usr/bin/pcre2-config
-)
-
-src_prepare() {
- if [[ -d "${WORKDIR}/patches" ]] ; then
- rm "${WORKDIR}"/patches/pcre2-10.36-001-issue2698.patch || die
- eapply "${WORKDIR}"/patches
- fi
-
- default
-
- elibtoolize
-}
-
-multilib_src_configure() {
- local myeconfargs=(
- --enable-pcre2-8
- --enable-shared
- --with-match-limit-depth=$(usex recursion-limit 8192 MATCH_LIMIT)
- $(multilib_native_use_enable bzip2 pcre2grep-libbz2)
- $(multilib_native_use_enable libedit pcre2test-libedit)
- $(multilib_native_use_enable readline pcre2test-libreadline)
- $(multilib_native_use_enable zlib pcre2grep-libz)
- $(use_enable jit)
- $(use_enable jit pcre2grep-jit)
- $(use_enable pcre16 pcre2-16)
- $(use_enable pcre32 pcre2-32)
- $(use_enable static-libs static)
- $(use_enable unicode)
- )
- ECONF_SOURCE="${S}" econf "${myeconfargs[@]}"
-}
-
-multilib_src_compile() {
- emake V=1 $(multilib_is_native_abi || echo "bin_PROGRAMS=")
-}
-
-multilib_src_install() {
- emake \
- DESTDIR="${D}" \
- $(multilib_is_native_abi || echo "bin_PROGRAMS= dist_html_DATA=") \
- install
- multilib_is_native_abi && gen_usr_ldscript -a pcre2-posix
-}
-
-multilib_src_install_all() {
- find "${ED}" -type f -name "*.la" -delete || die
-}
diff --git a/dev-libs/libpcre2/libpcre2-10.39.ebuild b/dev-libs/libpcre2/libpcre2-10.39.ebuild
deleted file mode 100644
index 477a50daf57b..000000000000
--- a/dev-libs/libpcre2/libpcre2-10.39.ebuild
+++ /dev/null
@@ -1,94 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit libtool multilib-minimal usr-ldscript
-
-PATCH_SET="${PN}-10.36-patchset-01.tar.xz"
-
-DESCRIPTION="Perl-compatible regular expression library"
-HOMEPAGE="https://www.pcre.org/"
-MY_P="pcre2-${PV/_rc/-RC}"
-if [[ ${PV} != *_rc* ]] ; then
- # Only the final releases are available here.
- SRC_URI="mirror://sourceforge/pcre/${MY_P}.tar.bz2
- https://ftp.pcre.org/pub/pcre/${MY_P}.tar.bz2
- https://github.com/PhilipHazel/pcre2/releases/download/${MY_P}/${MY_P}.tar.bz2"
-else
- SRC_URI="https://ftp.pcre.org/pub/pcre/Testing/${MY_P}.tar.bz2"
-fi
-
-if [[ -n "${PATCH_SET}" ]] ; then
- SRC_URI+=" https://dev.gentoo.org/~whissi/dist/${PN}/${PATCH_SET}
- https://dev.gentoo.org/~polynomial-c/dist/${PATCH_SET}"
-fi
-
-LICENSE="BSD"
-SLOT="0/3" # libpcre2-posix.so version
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-IUSE="bzip2 +jit libedit +pcre16 pcre32 +readline +recursion-limit static-libs unicode zlib"
-REQUIRED_USE="?? ( libedit readline )"
-
-BDEPEND="
- virtual/pkgconfig
-"
-RDEPEND="
- bzip2? ( app-arch/bzip2 )
- libedit? ( dev-libs/libedit )
- readline? ( sys-libs/readline:0= )
- zlib? ( sys-libs/zlib )
-"
-DEPEND="${RDEPEND}"
-
-S="${WORKDIR}/${MY_P}"
-
-MULTILIB_CHOST_TOOLS=(
- /usr/bin/pcre2-config
-)
-
-src_prepare() {
- if [[ -d "${WORKDIR}/patches" ]] ; then
- rm "${WORKDIR}"/patches/pcre2-10.36-001-issue2698.patch || die
- eapply "${WORKDIR}"/patches
- fi
-
- default
-
- elibtoolize
-}
-
-multilib_src_configure() {
- local myeconfargs=(
- --enable-pcre2-8
- --enable-shared
- --with-match-limit-depth=$(usex recursion-limit 8192 MATCH_LIMIT)
- $(multilib_native_use_enable bzip2 pcre2grep-libbz2)
- $(multilib_native_use_enable libedit pcre2test-libedit)
- $(multilib_native_use_enable readline pcre2test-libreadline)
- $(multilib_native_use_enable zlib pcre2grep-libz)
- $(use_enable jit)
- $(use_enable jit pcre2grep-jit)
- $(use_enable pcre16 pcre2-16)
- $(use_enable pcre32 pcre2-32)
- $(use_enable static-libs static)
- $(use_enable unicode)
- )
- ECONF_SOURCE="${S}" econf "${myeconfargs[@]}"
-}
-
-multilib_src_compile() {
- emake V=1 $(multilib_is_native_abi || echo "bin_PROGRAMS=")
-}
-
-multilib_src_install() {
- emake \
- DESTDIR="${D}" \
- $(multilib_is_native_abi || echo "bin_PROGRAMS= dist_html_DATA=") \
- install
- multilib_is_native_abi && gen_usr_ldscript -a pcre2-posix
-}
-
-multilib_src_install_all() {
- find "${ED}" -type f -name "*.la" -delete || die
-}
diff --git a/dev-libs/libpcre2/libpcre2-10.42-r1.ebuild b/dev-libs/libpcre2/libpcre2-10.42-r1.ebuild
new file mode 100644
index 000000000000..759b7d987085
--- /dev/null
+++ b/dev-libs/libpcre2/libpcre2-10.42-r1.ebuild
@@ -0,0 +1,97 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/philiphazel.asc
+inherit libtool multilib-minimal usr-ldscript verify-sig
+
+MY_P="pcre2-${PV/_rc/-RC}"
+
+DESCRIPTION="Perl-compatible regular expression library"
+HOMEPAGE="https://www.pcre.org/"
+if [[ ${PV} != *_rc* ]] ; then
+ # Only the final releases are available here.
+ SRC_URI="https://github.com/PCRE2Project/pcre2/releases/download/${MY_P}/${MY_P}.tar.bz2
+ https://ftp.pcre.org/pub/pcre/${MY_P}.tar.bz2
+ verify-sig? ( https://github.com/PCRE2Project/pcre2/releases/download/${MY_P}/${MY_P}.tar.bz2.sig )"
+else
+ SRC_URI="https://ftp.pcre.org/pub/pcre/Testing/${MY_P}.tar.bz2"
+fi
+
+S="${WORKDIR}/${MY_P}"
+
+LICENSE="BSD"
+SLOT="0/3" # libpcre2-posix.so version
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+IUSE="bzip2 +jit libedit +pcre16 +pcre32 +readline static-libs unicode valgrind zlib"
+REQUIRED_USE="?? ( libedit readline )"
+
+RDEPEND="
+ bzip2? ( app-arch/bzip2 )
+ libedit? ( dev-libs/libedit )
+ readline? ( sys-libs/readline:= )
+ zlib? ( sys-libs/zlib )
+"
+DEPEND="
+ ${RDEPEND}
+ valgrind? ( dev-debug/valgrind )
+"
+BDEPEND="
+ virtual/pkgconfig
+ verify-sig? ( sec-keys/openpgp-keys-philiphazel )
+"
+
+MULTILIB_CHOST_TOOLS=(
+ /usr/bin/pcre2-config
+)
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-10.10-000-Fix-multilib.patch
+)
+
+src_prepare() {
+ default
+
+ elibtoolize
+}
+
+multilib_src_configure() {
+ local myeconfargs=(
+ --enable-pcre2-8
+ --enable-shared
+ $(multilib_native_use_enable bzip2 pcre2grep-libbz2)
+ $(multilib_native_use_enable libedit pcre2test-libedit)
+ $(multilib_native_use_enable readline pcre2test-libreadline)
+ $(multilib_native_use_enable valgrind)
+ $(multilib_native_use_enable zlib pcre2grep-libz)
+ $(use_enable jit)
+ $(use_enable jit pcre2grep-jit)
+ $(use_enable pcre16 pcre2-16)
+ $(use_enable pcre32 pcre2-32)
+ $(use_enable static-libs static)
+ $(use_enable unicode)
+ )
+
+ ECONF_SOURCE="${S}" econf "${myeconfargs[@]}"
+}
+
+multilib_src_compile() {
+ emake V=1 $(multilib_is_native_abi || echo "bin_PROGRAMS=")
+}
+
+multilib_src_test() {
+ emake check VERBOSE=yes
+}
+
+multilib_src_install() {
+ emake \
+ DESTDIR="${D}" \
+ $(multilib_is_native_abi || echo "bin_PROGRAMS= dist_html_DATA=") \
+ install
+ multilib_is_native_abi && gen_usr_ldscript -a pcre2-posix pcre2-8
+}
+
+multilib_src_install_all() {
+ find "${ED}" -type f -name "*.la" -delete || die
+}
diff --git a/dev-libs/libpcre2/libpcre2-10.42-r2.ebuild b/dev-libs/libpcre2/libpcre2-10.42-r2.ebuild
new file mode 100644
index 000000000000..b3cf5cb10cb5
--- /dev/null
+++ b/dev-libs/libpcre2/libpcre2-10.42-r2.ebuild
@@ -0,0 +1,96 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/philiphazel.asc
+inherit libtool multilib-minimal verify-sig
+
+MY_P="pcre2-${PV/_rc/-RC}"
+
+DESCRIPTION="Perl-compatible regular expression library"
+HOMEPAGE="https://www.pcre.org/"
+if [[ ${PV} != *_rc* ]] ; then
+ # Only the final releases are available here.
+ SRC_URI="https://github.com/PCRE2Project/pcre2/releases/download/${MY_P}/${MY_P}.tar.bz2
+ https://ftp.pcre.org/pub/pcre/${MY_P}.tar.bz2
+ verify-sig? ( https://github.com/PCRE2Project/pcre2/releases/download/${MY_P}/${MY_P}.tar.bz2.sig )"
+else
+ SRC_URI="https://ftp.pcre.org/pub/pcre/Testing/${MY_P}.tar.bz2"
+fi
+
+S="${WORKDIR}/${MY_P}"
+
+LICENSE="BSD"
+SLOT="0/3" # libpcre2-posix.so version
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+IUSE="bzip2 +jit libedit +pcre16 +pcre32 +readline static-libs unicode valgrind zlib"
+REQUIRED_USE="?? ( libedit readline )"
+
+RDEPEND="
+ bzip2? ( app-arch/bzip2 )
+ libedit? ( dev-libs/libedit )
+ readline? ( sys-libs/readline:= )
+ zlib? ( sys-libs/zlib )
+"
+DEPEND="
+ ${RDEPEND}
+ valgrind? ( dev-debug/valgrind )
+"
+BDEPEND="
+ virtual/pkgconfig
+ verify-sig? ( sec-keys/openpgp-keys-philiphazel )
+"
+
+MULTILIB_CHOST_TOOLS=(
+ /usr/bin/pcre2-config
+)
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-10.10-000-Fix-multilib.patch
+)
+
+src_prepare() {
+ default
+
+ elibtoolize
+}
+
+multilib_src_configure() {
+ local myeconfargs=(
+ --enable-pcre2-8
+ --enable-shared
+ $(multilib_native_use_enable bzip2 pcre2grep-libbz2)
+ $(multilib_native_use_enable libedit pcre2test-libedit)
+ $(multilib_native_use_enable readline pcre2test-libreadline)
+ $(multilib_native_use_enable valgrind)
+ $(multilib_native_use_enable zlib pcre2grep-libz)
+ $(use_enable jit)
+ $(use_enable jit pcre2grep-jit)
+ $(use_enable pcre16 pcre2-16)
+ $(use_enable pcre32 pcre2-32)
+ $(use_enable static-libs static)
+ $(use_enable unicode)
+ )
+
+ ECONF_SOURCE="${S}" econf "${myeconfargs[@]}"
+}
+
+multilib_src_compile() {
+ emake V=1 $(multilib_is_native_abi || echo "bin_PROGRAMS=")
+}
+
+multilib_src_test() {
+ emake check VERBOSE=yes
+}
+
+multilib_src_install() {
+ emake \
+ DESTDIR="${D}" \
+ $(multilib_is_native_abi || echo "bin_PROGRAMS= dist_html_DATA=") \
+ install
+}
+
+multilib_src_install_all() {
+ find "${ED}" -type f -name "*.la" -delete || die
+}
diff --git a/dev-libs/libpcre2/libpcre2-10.43.ebuild b/dev-libs/libpcre2/libpcre2-10.43.ebuild
new file mode 100644
index 000000000000..eebbe19389eb
--- /dev/null
+++ b/dev-libs/libpcre2/libpcre2-10.43.ebuild
@@ -0,0 +1,96 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/philiphazel.asc
+inherit libtool multilib-minimal verify-sig
+
+MY_P="pcre2-${PV/_rc/-RC}"
+
+DESCRIPTION="Perl-compatible regular expression library"
+HOMEPAGE="https://www.pcre.org/"
+SRC_URI="
+ https://github.com/PCRE2Project/pcre2/releases/download/${MY_P}/${MY_P}.tar.bz2
+ https://ftp.pcre.org/pub/pcre/${MY_P}.tar.bz2
+ verify-sig? ( https://github.com/PCRE2Project/pcre2/releases/download/${MY_P}/${MY_P}.tar.bz2.sig )
+"
+
+S="${WORKDIR}/${MY_P}"
+
+LICENSE="BSD"
+SLOT="0/3" # libpcre2-posix.so version
+if [[ ${PV} != *_rc* ]] ; then
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+fi
+IUSE="bzip2 +jit libedit +pcre16 +pcre32 +readline static-libs unicode valgrind zlib"
+REQUIRED_USE="?? ( libedit readline )"
+
+RDEPEND="
+ bzip2? ( app-arch/bzip2 )
+ libedit? ( dev-libs/libedit )
+ readline? ( sys-libs/readline:= )
+ zlib? ( sys-libs/zlib )
+"
+DEPEND="
+ ${RDEPEND}
+ valgrind? ( dev-debug/valgrind )
+"
+BDEPEND="
+ virtual/pkgconfig
+ verify-sig? ( sec-keys/openpgp-keys-philiphazel )
+"
+
+MULTILIB_CHOST_TOOLS=(
+ /usr/bin/pcre2-config
+)
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-10.10-000-Fix-multilib.patch
+ "${FILESDIR}"/${PN}-10.43-fix-loong-sljit.patch
+)
+
+src_prepare() {
+ default
+
+ elibtoolize
+}
+
+multilib_src_configure() {
+ local myeconfargs=(
+ --enable-pcre2-8
+ --enable-shared
+ $(multilib_native_use_enable bzip2 pcre2grep-libbz2)
+ $(multilib_native_use_enable libedit pcre2test-libedit)
+ $(multilib_native_use_enable readline pcre2test-libreadline)
+ $(multilib_native_use_enable valgrind)
+ $(multilib_native_use_enable zlib pcre2grep-libz)
+ $(use_enable jit)
+ $(use_enable jit pcre2grep-jit)
+ $(use_enable pcre16 pcre2-16)
+ $(use_enable pcre32 pcre2-32)
+ $(use_enable static-libs static)
+ $(use_enable unicode)
+ )
+
+ ECONF_SOURCE="${S}" econf "${myeconfargs[@]}"
+}
+
+multilib_src_compile() {
+ emake V=1 $(multilib_is_native_abi || echo "bin_PROGRAMS=")
+}
+
+multilib_src_test() {
+ emake check VERBOSE=yes
+}
+
+multilib_src_install() {
+ emake \
+ DESTDIR="${D}" \
+ $(multilib_is_native_abi || echo "bin_PROGRAMS= dist_html_DATA=") \
+ install
+}
+
+multilib_src_install_all() {
+ find "${ED}" -type f -name "*.la" -delete || die
+}
diff --git a/dev-libs/libpcre2/metadata.xml b/dev-libs/libpcre2/metadata.xml
index 0d201299bdec..77f759c7c845 100644
--- a/dev-libs/libpcre2/metadata.xml
+++ b/dev-libs/libpcre2/metadata.xml
@@ -16,10 +16,6 @@
Add support for command line editing to pcretest, through
<pkg>sys-libs/readline</pkg>.
</flag>
- <flag name="recursion-limit">
- Limit match recursion to 8192; if disabled, the default limit is
- used, which is the same as the match limit.
- </flag>
<flag name="zlib">
Add support for pcregrep command to search within
gzip-compressed files (via <pkg>sys-libs/zlib</pkg>).
@@ -30,6 +26,6 @@
</slots>
<upstream>
<remote-id type="cpe">cpe:/a:pcre:pcre</remote-id>
- <remote-id type="sourceforge">pcre</remote-id>
+ <remote-id type="github">PCRE2Project/pcre2</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-libs/libpeas/Manifest b/dev-libs/libpeas/Manifest
index f95810f61148..45f433b79f36 100644
--- a/dev-libs/libpeas/Manifest
+++ b/dev-libs/libpeas/Manifest
@@ -1 +1 @@
-DIST libpeas-1.30.0.tar.xz 193108 BLAKE2B 071e24530934605a6364816165d8f47ac9c94887e80eda9175b163d9af64b2624d42df75c7697220e888f2f9150c6e121bd1dc2716de5bcf0d392722938de945 SHA512 10ebcc61c8aa42b5f6892a74d5e02a52dbc8fe4c35280d78f41adc915dd9c08e9756608f8cbdbaf3d63c44074f0b9e9e531dd077ba201b416acfdcfb94b4bc42
+DIST libpeas-1.36.0.tar.xz 195432 BLAKE2B 12b12f041784e5fbeb03a36cad62625f7b60f770f7ff83d0660b28288262e125c2ca5f83032d4ae96faaa7b815ba9dcb245d3cbdac823765435a21e1eb08f663 SHA512 254087089475a3c1415e0ba8efb17aac56b96b1eee7c8e12933e72cc551ee39e9e3eac2d3d602bf9d369dd9fc7d3f5141e7683dec11b40b6c7b961b8e6c70a11
diff --git a/dev-libs/libpeas/libpeas-1.30.0.ebuild b/dev-libs/libpeas/libpeas-1.30.0.ebuild
deleted file mode 100644
index bfb4cc876dbf..000000000000
--- a/dev-libs/libpeas/libpeas-1.30.0.ebuild
+++ /dev/null
@@ -1,84 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-LUA_COMPAT=( lua5-1 luajit )
-PYTHON_COMPAT=( python3_{8..10} )
-
-inherit gnome.org lua-single meson python-single-r1 vala virtualx xdg
-
-DESCRIPTION="A GObject plugins library"
-HOMEPAGE="https://developer.gnome.org/libpeas/stable/"
-
-LICENSE="LGPL-2.1+"
-SLOT="0"
-KEYWORDS="~alpha amd64 ~arm ~arm64 ~ia64 ~ppc ~ppc64 ~riscv ~sparc x86 ~amd64-linux ~x86-linux"
-
-IUSE="glade +gtk gtk-doc lua +python vala"
-REQUIRED_USE="lua? ( ${LUA_REQUIRED_USE} )
- python? ( ${PYTHON_REQUIRED_USE} )"
-
-RDEPEND="
- >=dev-libs/glib-2.38:2
- >=dev-libs/gobject-introspection-1.39:=
- gtk? ( >=x11-libs/gtk+-3.0.0:3[introspection] )
- glade? ( >=dev-util/glade-3.9.1:3.10 )
- lua? (
- ${LUA_DEPS}
- $(lua_gen_cond_dep '
- >=dev-lua/lgi-0.9.0[${LUA_USEDEP}]
- ')
- )
- python? (
- ${PYTHON_DEPS}
- $(python_gen_cond_dep '
- >=dev-python/pygobject-3.2:3[${PYTHON_USEDEP}]
- ')
- )
-"
-DEPEND="${RDEPEND}"
-BDEPEND="
- dev-util/glib-utils
- gtk-doc? ( >=dev-util/gtk-doc-1.11
- app-text/docbook-xml-dtd:4.3 )
- >=sys-devel/gettext-0.19.8
- virtual/pkgconfig
-"
-
-PATCHES=(
- # Gentoo-specific lua tweak hack
- "${FILESDIR}"/1.26.0-lua.patch
-)
-
-pkg_setup() {
- use lua && lua-single_pkg_setup
- use python && python-single-r1_pkg_setup
-}
-
-src_prepare() {
- xdg_src_prepare
- use vala && vala_src_prepare
-}
-
-src_configure() {
- local emesonargs=(
- $(meson_feature $(usex lua '!lua_single_target_luajit' 'lua') lua51)
- $(meson_feature $(usex lua 'lua_single_target_luajit' 'lua') luajit)
- -Dpython2=false
- $(meson_use python python3)
- # introspection was always enabled in autotools; would need readiness by consumers
- # to USE flag it, but most need it for python plugins anyways
- -Dintrospection=true
- $(meson_use vala vapi)
- $(meson_use gtk widgetry)
- $(meson_use glade glade_catalog)
- -Ddemos=false
- $(meson_use gtk-doc gtk_doc)
- )
- meson_src_configure
-}
-
-src_test() {
- virtx meson_src_test
-}
diff --git a/dev-libs/libpeas/libpeas-1.36.0.ebuild b/dev-libs/libpeas/libpeas-1.36.0.ebuild
new file mode 100644
index 000000000000..3c3a3e34018a
--- /dev/null
+++ b/dev-libs/libpeas/libpeas-1.36.0.ebuild
@@ -0,0 +1,99 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+LUA_COMPAT=( lua5-1 luajit )
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit gnome.org lua-single meson python-single-r1 vala virtualx xdg
+
+DESCRIPTION="A GObject plugins library"
+HOMEPAGE="https://wiki.gnome.org/Projects/Libpeas https://gitlab.gnome.org/GNOME/libpeas"
+
+LICENSE="LGPL-2.1+"
+SLOT="0"
+KEYWORDS="~alpha amd64 ~arm arm64 ~ia64 ~loong ~ppc ~ppc64 ~riscv ~sparc x86 ~amd64-linux ~x86-linux"
+
+IUSE="glade +gtk gtk-doc lua +python vala"
+REQUIRED_USE="lua? ( ${LUA_REQUIRED_USE} )
+ python? ( ${PYTHON_REQUIRED_USE} )"
+
+RDEPEND="
+ >=dev-libs/glib-2.44:2
+ >=dev-libs/gobject-introspection-1.39:=
+ gtk? ( >=x11-libs/gtk+-3.0.0:3[introspection] )
+ glade? ( >=dev-util/glade-3.9.1:3.10 )
+ lua? (
+ ${LUA_DEPS}
+ $(lua_gen_cond_dep '
+ >=dev-lua/lgi-0.9.0[${LUA_USEDEP}]
+ ')
+ )
+ python? (
+ ${PYTHON_DEPS}
+ $(python_gen_cond_dep '
+ >=dev-python/pygobject-3.2:3[${PYTHON_USEDEP}]
+ ')
+ )
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ dev-util/glib-utils
+ gtk-doc? (
+ >=dev-util/gtk-doc-1.11
+ >=dev-util/gi-docgen-2021.7
+ app-text/docbook-xml-dtd:4.3
+ )
+ >=sys-devel/gettext-0.19.8
+ virtual/pkgconfig
+"
+
+PATCHES=(
+ # Gentoo-specific lua tweak hack
+ "${FILESDIR}"/1.26.0-lua.patch
+)
+
+pkg_setup() {
+ use lua && lua-single_pkg_setup
+ use python && python-single-r1_pkg_setup
+}
+
+src_prepare() {
+ default
+ use vala && vala_setup
+}
+
+src_configure() {
+ local emesonargs=(
+ $(meson_feature $(usex lua '!lua_single_target_luajit' 'lua') lua51)
+ $(meson_feature $(usex lua 'lua_single_target_luajit' 'lua') luajit)
+ -Dpython2=false
+ $(meson_use python python3)
+ # introspection was always enabled in autotools; would need readiness by consumers
+ # to USE flag it, but most need it for python plugins anyways
+ -Dintrospection=true
+ $(meson_use vala vapi)
+ $(meson_use gtk widgetry)
+ $(meson_use glade glade_catalog)
+ -Ddemos=false
+ $(meson_use gtk-doc gtk_doc)
+ )
+ meson_src_configure
+}
+
+src_test() {
+ virtx meson_src_test
+}
+
+src_install() {
+ meson_src_install
+
+ if use gtk-doc; then
+ mkdir -p "${ED}"/usr/share/gtk-doc/html/ || die
+ mv "${ED}"/usr/share/doc/libpeas-1.0 "${ED}"/usr/share/gtk-doc/html/ || die
+ if use gtk; then
+ mv "${ED}"/usr/share/doc/libpeas-gtk-1.0 "${ED}"/usr/share/gtk-doc/html/ || die
+ fi
+ fi
+}
diff --git a/dev-libs/libpeas/metadata.xml b/dev-libs/libpeas/metadata.xml
index 94a2afbb3355..bb79b6b4e7bb 100644
--- a/dev-libs/libpeas/metadata.xml
+++ b/dev-libs/libpeas/metadata.xml
@@ -1,13 +1,15 @@
<?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>
- <use>
- <flag name="glade">Install the glade catalog</flag>
- <flag name="python">Build support for loading <pkg>dev-lang/python</pkg>
- plugins</flag>
- </use>
+ <maintainer type="project">
+ <email>gnome@gentoo.org</email>
+ <name>Gentoo GNOME Desktop</name>
+ </maintainer>
+ <use>
+ <flag name="glade">Install the glade catalog</flag>
+ <flag name="python">Build support for loading <pkg>dev-lang/python</pkg> plugins</flag>
+ </use>
+ <upstream>
+ <remote-id type="gnome-gitlab">GNOME/libpeas</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/dev-libs/libpfm/Manifest b/dev-libs/libpfm/Manifest
index 8c43bf885944..c28fc8a712d5 100644
--- a/dev-libs/libpfm/Manifest
+++ b/dev-libs/libpfm/Manifest
@@ -1,2 +1,2 @@
-DIST libpfm-4.10.1.tar.gz 1005988 BLAKE2B 7bdc64540cdf0404bfab0a631e506f37a79ca090d68c798fe4943f627ebc3e15e01f6c4530d4eec2c82a6f759845af518cbf34b3ad19ecc5fa48a874611aaa16 SHA512 33d99824216b4d83784e0db9f1aae3b39f84c2ba42dee64dde0b3c43cc5ee3a18c206d9044e75bf10867768add7cb9967c6318f7aa196f178f334271fa05e1aa
DIST libpfm-4.11.0.tar.gz 1043686 BLAKE2B 99b4f1a5156316139603cf50cf42c13c548a0b196435bfc92bc26ebd3f8d7ec9584255978d4f3fbff45cddc937269961e9d2b65d065632ae635e9ca45c179a54 SHA512 633035b8a7b35973437572095cdc80d422b2a1a61e74e14f106db95fa8e44e4518e591699cc457f828b8f2fb63f60eef6d0c7535c6b4c9a6c3a70d4550b3c3c7
+DIST libpfm-4.12.0.tar.gz 1109288 BLAKE2B 035133d98305317b8331de9f3d986bf37b290cc80d2b944e9bac1c48a8659984ac190a0af1abe64bd9e0fee465f31ca11e3a35702f8a8da8a8a480a1aa625ac7 SHA512 dc47d862d619241db4a077a98b3f71a68f04be1be41e10c7b7dd2e596e6c79e9e0ff1d1028798dfb280553f98296b4b57339b4e6675749e1497dc1c9de06d9f8
diff --git a/dev-libs/libpfm/libpfm-4.10.1-r1.ebuild b/dev-libs/libpfm/libpfm-4.10.1-r1.ebuild
deleted file mode 100644
index faac7cd052bc..000000000000
--- a/dev-libs/libpfm/libpfm-4.10.1-r1.ebuild
+++ /dev/null
@@ -1,35 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit toolchain-funcs
-
-DESCRIPTION="Hardware-based performance monitoring interface for Linux"
-HOMEPAGE="http://perfmon2.sourceforge.net"
-SRC_URI="mirror://sourceforge/perfmon2/${PN}4/${P}.tar.gz"
-
-LICENSE="GPL-2 MIT"
-SLOT="0/4"
-KEYWORDS="amd64 arm arm64 ~ppc ppc64 ~riscv x86"
-IUSE="static-libs"
-
-src_prepare() {
- default
-
- sed -e "s:SLDFLAGS=:SLDFLAGS=\$(LDFLAGS) :g" \
- -i lib/Makefile || die
- sed -e "s:LIBDIR=\$(PREFIX)/lib:LIBDIR=\$(PREFIX)/$(get_libdir):g" \
- -i config.mk || die
-}
-
-src_compile() {
- # 'DBG=' unsets '-Werror' and other optional flags, bug #664294
- emake AR=$(tc-getAR) CC=$(tc-getCC) DBG=
-}
-
-src_install() {
- emake DESTDIR="${D}" LDCONFIG=true PREFIX="${EPREFIX}/usr" install
- use static-libs || find "${ED}" -name '*.a' -exec rm -f '{}' +
- dodoc README
-}
diff --git a/dev-libs/libpfm/libpfm-4.11.0.ebuild b/dev-libs/libpfm/libpfm-4.11.0.ebuild
index c5109aebff56..feb30cf33428 100644
--- a/dev-libs/libpfm/libpfm-4.11.0.ebuild
+++ b/dev-libs/libpfm/libpfm-4.11.0.ebuild
@@ -11,7 +11,7 @@ SRC_URI="mirror://sourceforge/perfmon2/${PN}4/${P}.tar.gz"
LICENSE="GPL-2 MIT"
SLOT="0/4"
-KEYWORDS="amd64 arm arm64 ppc ppc64 ~riscv ~sparc x86"
+KEYWORDS="amd64 arm arm64 ~loong ppc ppc64 ~riscv sparc x86"
IUSE="static-libs"
src_prepare() {
@@ -25,7 +25,7 @@ src_prepare() {
src_compile() {
# 'DBG=' unsets '-Werror' and other optional flags, bug #664294
- emake AR=$(tc-getAR) CC=$(tc-getCC) DBG=
+ emake AR="$(tc-getAR)" CC="$(tc-getCC)" DBG=
}
src_install() {
diff --git a/dev-libs/libpfm/libpfm-4.12.0.ebuild b/dev-libs/libpfm/libpfm-4.12.0.ebuild
new file mode 100644
index 000000000000..2405d1039040
--- /dev/null
+++ b/dev-libs/libpfm/libpfm-4.12.0.ebuild
@@ -0,0 +1,40 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit toolchain-funcs
+
+DESCRIPTION="Hardware-based performance monitoring interface for Linux"
+HOMEPAGE="http://perfmon2.sourceforge.net"
+SRC_URI="mirror://sourceforge/perfmon2/${PN}4/${P}.tar.gz"
+
+LICENSE="GPL-2 MIT"
+SLOT="0/4"
+KEYWORDS="~alpha amd64 arm arm64 ~loong ppc ppc64 ~riscv sparc x86"
+IUSE="static-libs"
+
+src_prepare() {
+ default
+
+ sed -e "s:SLDFLAGS=:SLDFLAGS=\$(LDFLAGS) :g" \
+ -i lib/Makefile || die
+ sed -e "s:LIBDIR=\$(PREFIX)/lib:LIBDIR=\$(PREFIX)/$(get_libdir):g" \
+ -i config.mk || die
+}
+
+src_compile() {
+ # 'DBG=' unsets '-Werror' and other optional flags, bug #664294
+ emake AR="$(tc-getAR)" CC="$(tc-getCC)" DBG=
+}
+
+src_install() {
+ emake DESTDIR="${D}" LDCONFIG=true PREFIX="${EPREFIX}/usr" install
+ dodoc README
+
+ if ! use static-libs ; then
+ find "${ED}" -name '*.a' -delete || die
+ fi
+
+ find "${ED}" -name '*.la' -delete || die
+}
diff --git a/dev-libs/libpipeline/Manifest b/dev-libs/libpipeline/Manifest
index be201eb9641b..8f48c9c2aeef 100644
--- a/dev-libs/libpipeline/Manifest
+++ b/dev-libs/libpipeline/Manifest
@@ -1,2 +1 @@
-DIST libpipeline-1.5.4.tar.gz 1040952 BLAKE2B 1e8fa839df90d61add79c704856d606599800f1887e056430f0fb0bd61e511c2a0bb98f2f3766f793aa648b404dfc054277d740ee5dd8a27bec740e7a23e0d13 SHA512 98d630553843176c9f6723e4df1fd844df2e71c402ef869027fb5ebe327eb9d55605a11cc159725f191ff3ef2a3a0b5eeff2d3cb1146b0fef5970923b01e433d
-DIST libpipeline-1.5.5.tar.gz 956089 BLAKE2B bfa8ed4c96c4dc7cb8360cac201835276dfe39429c993e614d8f396ad9c3175679f5a1ea205a9bf2f8738f8d3066cb50d09a9a5b5fd3d1219ba20adbb40b0e8b SHA512 adb228325c1f11e9f3566f2fc63541a90c88fe24656fc74ed0294d1eb3b80073bf4741fe7c289f53b340702145b11637d37682e3036dce41ec0fe45dcc6d62c5
+DIST libpipeline-1.5.7.tar.gz 977735 BLAKE2B b8f9ff6886f8df12e3fefbfaa0cbcb1e07d7baaa8a1dfcf4bc01c17c6632b8c6a40e55395f1e4870ca391eefb1535ebbc3931fcdee51cf5f4293741e437a2f25 SHA512 bb3be954f5d826cef805f85d65759fb197c31adf80d92360c7d0caa486e0d4877510681390ca01c028b6e805f968f14e8bf4b3eca02e429529031787e7f14d84
diff --git a/dev-libs/libpipeline/libpipeline-1.5.4.ebuild b/dev-libs/libpipeline/libpipeline-1.5.4.ebuild
deleted file mode 100644
index e9c99781565b..000000000000
--- a/dev-libs/libpipeline/libpipeline-1.5.4.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
-
-DESCRIPTION="A pipeline manipulation library"
-HOMEPAGE="https://libpipeline.nongnu.org/"
-SRC_URI="mirror://nongnu/${PN}/${P}.tar.gz"
-
-LICENSE="GPL-3"
-SLOT="0"
-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"
-IUSE="test"
-RESTRICT="!test? ( test )"
-
-DEPEND="test? ( dev-libs/check )"
-BDEPEND="virtual/pkgconfig"
-
-src_configure() {
- econf --disable-static
-}
-
-src_install() {
- default
-
- find "${ED}" -type f -name "*.la" -delete || die
-}
diff --git a/dev-libs/libpipeline/libpipeline-1.5.5.ebuild b/dev-libs/libpipeline/libpipeline-1.5.5.ebuild
deleted file mode 100644
index 760fe72bfd35..000000000000
--- a/dev-libs/libpipeline/libpipeline-1.5.5.ebuild
+++ /dev/null
@@ -1,27 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-DESCRIPTION="A pipeline manipulation library"
-HOMEPAGE="https://libpipeline.nongnu.org/"
-SRC_URI="mirror://nongnu/${PN}/${P}.tar.gz"
-
-LICENSE="GPL-3"
-SLOT="0"
-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"
-IUSE="test"
-RESTRICT="!test? ( test )"
-
-DEPEND="test? ( dev-libs/check )"
-BDEPEND="virtual/pkgconfig"
-
-src_configure() {
- econf --disable-static
-}
-
-src_install() {
- default
-
- find "${ED}" -type f -name "*.la" -delete || die
-}
diff --git a/dev-libs/libpipeline/libpipeline-1.5.7.ebuild b/dev-libs/libpipeline/libpipeline-1.5.7.ebuild
new file mode 100644
index 000000000000..1379eb5d9cb4
--- /dev/null
+++ b/dev-libs/libpipeline/libpipeline-1.5.7.ebuild
@@ -0,0 +1,23 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DESCRIPTION="A pipeline manipulation library"
+HOMEPAGE="https://libpipeline.nongnu.org/"
+SRC_URI="mirror://nongnu/${PN}/${P}.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+DEPEND="test? ( dev-libs/check )"
+BDEPEND="virtual/pkgconfig"
+
+src_install() {
+ default
+
+ find "${ED}" -type f -name "*.la" -delete || die
+}
diff --git a/dev-libs/libpipeline/metadata.xml b/dev-libs/libpipeline/metadata.xml
index e3e3dc49e269..0c4a07c863a6 100644
--- a/dev-libs/libpipeline/metadata.xml
+++ b/dev-libs/libpipeline/metadata.xml
@@ -6,6 +6,6 @@
<name>Gentoo Base System</name>
</maintainer>
<upstream>
- <remote-id type="gitlab">cjwatson/libpipeline</remote-id>
+ <remote-id type="gitlab">libpipeline/libpipeline</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-libs/libplatform/libplatform-2.1.0.1-r1.ebuild b/dev-libs/libplatform/libplatform-2.1.0.1-r1.ebuild
deleted file mode 100644
index e8a4bd5c4df2..000000000000
--- a/dev-libs/libplatform/libplatform-2.1.0.1-r1.ebuild
+++ /dev/null
@@ -1,25 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit cmake-utils
-
-MY_PN="platform"
-MY_PN_PREFIX="p8"
-
-DESCRIPTION="Platform support library used by libCEC and binary add-ons for Kodi"
-HOMEPAGE="https://github.com/Pulse-Eight/platform"
-
-LICENSE="GPL-2+"
-SLOT="0"
-IUSE=""
-
-if [[ ${PV} == *9999 ]] ; then
- EGIT_REPO_URI="https://github.com/Pulse-Eight/${MY_PN}.git"
- inherit git-r3
-else
- SRC_URI="https://github.com/Pulse-Eight/${MY_PN}/archive/${MY_PN_PREFIX}-${MY_PN}-${PV}.tar.gz -> ${P}.tar.gz"
- S="${WORKDIR}/${MY_PN}-${MY_PN_PREFIX}-${MY_PN}-${PV}"
- KEYWORDS="amd64 ~arm arm64 x86"
-fi
diff --git a/dev-libs/libplatform/libplatform-2.1.0.1-r2.ebuild b/dev-libs/libplatform/libplatform-2.1.0.1-r2.ebuild
new file mode 100644
index 000000000000..a9e1418b78a9
--- /dev/null
+++ b/dev-libs/libplatform/libplatform-2.1.0.1-r2.ebuild
@@ -0,0 +1,25 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+MY_PN="platform"
+MY_PN_PREFIX="p8"
+
+DESCRIPTION="Platform support library used by libCEC and binary add-ons for Kodi"
+HOMEPAGE="https://github.com/Pulse-Eight/platform"
+
+LICENSE="GPL-2+"
+SLOT="0"
+IUSE=""
+
+if [[ ${PV} == *9999 ]] ; then
+ EGIT_REPO_URI="https://github.com/Pulse-Eight/${MY_PN}.git"
+ inherit git-r3
+else
+ SRC_URI="https://github.com/Pulse-Eight/${MY_PN}/archive/${MY_PN_PREFIX}-${MY_PN}-${PV}.tar.gz -> ${P}.tar.gz"
+ S="${WORKDIR}/${MY_PN}-${MY_PN_PREFIX}-${MY_PN}-${PV}"
+ KEYWORDS="amd64 ~arm arm64 ~riscv x86"
+fi
diff --git a/dev-libs/libplatform/libplatform-9999.ebuild b/dev-libs/libplatform/libplatform-9999.ebuild
index 4ef9c153d093..ed44eae38b02 100644
--- a/dev-libs/libplatform/libplatform-9999.ebuild
+++ b/dev-libs/libplatform/libplatform-9999.ebuild
@@ -1,9 +1,9 @@
-# Copyright 1999-2019 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
-inherit cmake-utils
+inherit cmake
MY_PN="platform"
MY_PN_PREFIX="p8"
@@ -21,5 +21,5 @@ if [[ ${PV} == *9999 ]] ; then
else
SRC_URI="https://github.com/Pulse-Eight/${MY_PN}/archive/${MY_PN_PREFIX}-${MY_PN}-${PV}.tar.gz -> ${P}.tar.gz"
S="${WORKDIR}/${MY_PN}-${MY_PN_PREFIX}-${MY_PN}-${PV}"
- KEYWORDS="~amd64 ~arm ~x86"
+ KEYWORDS="~amd64 ~arm ~arm64 ~x86"
fi
diff --git a/dev-libs/libpo6/Manifest b/dev-libs/libpo6/Manifest
deleted file mode 100644
index 4671d2a623a3..000000000000
--- a/dev-libs/libpo6/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST libpo6-0.8.0.tar.gz 364709 BLAKE2B 848a69ee3e4685bd81a3c6974b342b420c00e20cd78058a3f87bdbe7ee20b47cf4a43d5bbc3c613bcf01a70c7cf19658521a5450f54f18b4a2717e53408e57d0 SHA512 0fed5af37f47245ecdd84dd4dcc5d24dd84dacbd93cf1eb9b4b2e86fba6d26e7f459a9a274b0c42397fc5e22d48cb603ee2b809979cf48675710ba9221d8a3bf
diff --git a/dev-libs/libpo6/libpo6-0.8.0.ebuild b/dev-libs/libpo6/libpo6-0.8.0.ebuild
deleted file mode 100644
index 94435303959f..000000000000
--- a/dev-libs/libpo6/libpo6-0.8.0.ebuild
+++ /dev/null
@@ -1,21 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-DESCRIPTION="Hyperdex libpo6 support library"
-HOMEPAGE="http://hyperdex.org"
-SRC_URI="http://hyperdex.org/src/${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64"
-
-src_configure() {
- econf --disable-static
-}
-
-src_install() {
- default
- find "${ED}" -name '*.la' -delete || die
-}
diff --git a/dev-libs/libpo6/metadata.xml b/dev-libs/libpo6/metadata.xml
deleted file mode 100644
index 2ce0e74f9864..000000000000
--- a/dev-libs/libpo6/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="person">
- <email>patrick@gentoo.org</email>
- <name>Patrick Lauer</name>
- </maintainer>
-</pkgmetadata>
diff --git a/dev-libs/libportal/Manifest b/dev-libs/libportal/Manifest
new file mode 100644
index 000000000000..26fb14475215
--- /dev/null
+++ b/dev-libs/libportal/Manifest
@@ -0,0 +1 @@
+DIST libportal-0.7.1.tar.xz 74268 BLAKE2B b519fa88735d640a74e18cc791ec69862f136b793a7c855b1f3873cf6b15626d69088747f1a7ff54f8cd96f79e82e3df31e5349e3da57906e769b8f809f4ba34 SHA512 cbc50bfd86787fffc975fc53835acc6c3c0fd54b7ee02fce1983f1bd0fc40b15a0537780cd5e943ecedcf951840080a0f55a23a96e706223e52a6144ee70332c
diff --git a/dev-libs/libportal/libportal-0.7.1.ebuild b/dev-libs/libportal/libportal-0.7.1.ebuild
new file mode 100644
index 000000000000..38a05311150b
--- /dev/null
+++ b/dev-libs/libportal/libportal-0.7.1.ebuild
@@ -0,0 +1,109 @@
+# Copyright 2022-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..12} )
+inherit meson python-any-r1 vala virtualx
+
+DESCRIPTION="Flatpak portal library"
+HOMEPAGE="https://github.com/flatpak/libportal"
+SRC_URI="https://github.com/flatpak/libportal/releases/download/${PV}/${P}.tar.xz"
+
+LICENSE="LGPL-3"
+SLOT="0/1-1-1-1" # soname of libportal{,-gtk3,-gtk4,-qt5}.so
+KEYWORDS="~alpha amd64 ~arm arm64 ~ia64 ~loong ~ppc ~ppc64 ~riscv ~sparc x86"
+IUSE="gtk gtk-doc +introspection qt5 test +vala"
+RESTRICT="!test? ( test )"
+REQUIRED_USE="
+ gtk-doc? ( introspection )
+ vala? ( introspection )
+"
+
+RDEPEND="
+ >=dev-libs/glib-2.58:2
+ introspection? ( dev-libs/gobject-introspection:= )
+ gtk? (
+ x11-libs/gtk+:3
+ gui-libs/gtk:4
+ )
+ qt5? (
+ dev-qt/qtcore:=
+ dev-qt/qtgui:=
+ dev-qt/qtx11extras:=
+ dev-qt/qtwidgets:=
+ )
+"
+DEPEND="${RDEPEND}
+ qt5? (
+ test? ( dev-qt/qttest:= )
+ )
+"
+BDEPEND="
+ dev-util/glib-utils
+ virtual/pkgconfig
+ gtk-doc? ( dev-util/gi-docgen )
+ qt5? (
+ test? ( dev-qt/linguist-tools )
+ )
+ test? (
+ ${PYTHON_DEPS}
+ $(python_gen_any_dep '
+ dev-python/pytest[${PYTHON_USEDEP}]
+ dev-python/dbus-python[${PYTHON_USEDEP}]
+ dev-python/python-dbusmock[${PYTHON_USEDEP}]
+ ')
+ )
+ vala? ( $(vala_depend) )
+"
+
+python_check_deps() {
+ python_has_version \
+ "dev-python/pytest[${PYTHON_USEDEP}]" \
+ "dev-python/dbus-python[${PYTHON_USEDEP}]" \
+ "dev-python/python-dbusmock[${PYTHON_USEDEP}]"
+}
+
+pkg_setup() {
+ if use test; then
+ python-any-r1_pkg_setup
+ fi
+}
+
+src_prepare() {
+ default
+ vala_setup
+}
+
+src_configure() {
+ local emesonargs=(
+ $(meson_feature gtk backend-gtk3)
+ $(meson_feature gtk backend-gtk4)
+ $(meson_feature qt5 backend-qt5)
+ -Dportal-tests=false
+ $(meson_use introspection)
+ $(meson_use vala vapi)
+ $(meson_use gtk-doc docs)
+ $(meson_use test tests)
+ )
+ meson_src_configure
+}
+
+src_test() {
+ # Tests only exist for Qt5
+ if use qt5; then
+ virtx meson_src_test
+ else
+ # run meson_src_test to notice if tests are added
+ meson_src_test
+ fi
+}
+
+src_install() {
+ meson_src_install
+
+ if use gtk-doc; then
+ mkdir -p "${ED}"/usr/share/gtk-doc/html/ || die
+ mv "${ED}"/usr/share/doc/${PN}-1 "${ED}"/usr/share/gtk-doc/html/ || die
+ fi
+}
diff --git a/dev-libs/libportal/metadata.xml b/dev-libs/libportal/metadata.xml
new file mode 100644
index 000000000000..5cda5e7a3a83
--- /dev/null
+++ b/dev-libs/libportal/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>gnome@gentoo.org</email>
+ <name>Gentoo GNOME Desktop</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">flatpak/libportal</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/libpqxx/Manifest b/dev-libs/libpqxx/Manifest
index d8277f6c1f26..380122efe07c 100644
--- a/dev-libs/libpqxx/Manifest
+++ b/dev-libs/libpqxx/Manifest
@@ -1,4 +1 @@
-DIST libpqxx-7.1.2.tar.gz 693152 BLAKE2B da28d0041fc345eb7774eadf0a886e2a89692ac47d870120991aa97328a6be7d10e8cb2d6deb9e056dc7e05b04fd317d9d0fe4dcf8eab901114b27cd64bf4ff6 SHA512 a4a76c62f6115f5898e4c4bb1c6f095284bdb7ae6a1efa45add9efd422d2a8280d1698caa2469acbb087168208ae0fd8efa36c8735a8ce30e58853e27acd4161
-DIST libpqxx-7.2.1.tar.gz 691486 BLAKE2B ef1b12e436e33a26faa8f5acceef8d5ab1063b0618798fdf881fe38ab101da6d78989cc30c1e24f60fd81dd4f4034267e8b220b7b1d1932793028abf7e17c614 SHA512 baaa53f12aa87f512bbbe7494c915242cda8508b43414b79e6cd047dbd61902cbe54cb34af13d75bdccd70bdbafcaca155b4ccb426d8b831bd4df46e9a57e3a2
-DIST libpqxx-7.3.0.tar.gz 694012 BLAKE2B 35770599fcb3131081e08c18d96b753cc6d412c6ea8fddf5617df7da2035cf8ee3a031b7c14d592e0c9560e1e1074e633734337113ed0b3943e519aa44806307 SHA512 897af8e1c0ab12df745116e5387d3c31fb8800b6c599f49413ddcc67df7968fb1922c96896c818ce3f34d9649fb6c1d2ea59784f8765fb765481b156be44eaa2
-DIST libpqxx-7.4.1.tar.gz 702581 BLAKE2B 9190b62eaf4cee188e32611acfc938a4111e5ea510df50e424ebd3b6c73fe91dfc8fecd5f889dc2af95756f04c87a410a136cd4b4d6d1f276ce2e5fc26906df3 SHA512 a30a9f5ca87944922c9a3bd92d53392855ac3b2760cb7c21411caf364e443c25d1b2d4b4022e60ff7b30bc530fc3223ab3983325217d47fd7d71375c165c8c21
+DIST libpqxx-7.7.5.tar.gz 745921 BLAKE2B 0ca9b36aecc96a436023621a1fcfcac2732443fe9d85507a64b511914a606a05f1a1d7e569dbf893d47412fb4040d02c0af2c8de280335d1f7a43240464df59d SHA512 78f1f17f5083347cfce607349d4f62be2878c41150c4afd1f26844dc796d0fe190b387b295e1b6bf9d81a26a0ebe1d82597fa651227c3a1cfe3acbd02ea7246c
diff --git a/dev-libs/libpqxx/libpqxx-7.1.2.ebuild b/dev-libs/libpqxx/libpqxx-7.1.2.ebuild
deleted file mode 100644
index 1b4ea47de7a3..000000000000
--- a/dev-libs/libpqxx/libpqxx-7.1.2.ebuild
+++ /dev/null
@@ -1,78 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{7..9} )
-inherit python-any-r1
-
-KEYWORDS="~alpha amd64 ~hppa ~ia64 ppc ppc64 sparc x86"
-
-DESCRIPTION="Standard front-end for writing C++ programs that use PostgreSQL"
-SRC_URI="https://github.com/jtv/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
-HOMEPAGE="http://pqxx.org/development/libpqxx/"
-LICENSE="BSD"
-SLOT="0"
-IUSE="doc static-libs"
-
-RDEPEND="dev-db/postgresql:="
-DEPEND="${RDEPEND}
- ${PYTHON_DEPS}
- doc? (
- app-doc/doxygen
- app-text/xmlto
- )
-"
-
-DOCS=( AUTHORS NEWS README{.md,-UPGRADE} )
-
-src_configure() {
- econf \
- --enable-shared \
- $(use_enable doc documentation) \
- $(use_enable static-libs static)
-}
-
-src_test() {
- einfo "The tests need a running PostgreSQL server and an existing database."
- einfo "Test requires PGDATABASE and PGUSER to be set at a minimum. Optionally,"
- einfo "set PGPORT and PGHOST. Define them at the command line or in:"
- einfo " ${EROOT}/etc/libpqxx_test_env"
-
- if [[ -z $PGDATABASE || -z $PGUSER ]] ; then
- if [[ -f ${EROOT}/etc/libpqxx_test_env ]] ; then
- source "${EROOT}/etc/libpqxx_test_env"
- [[ -n $PGDATABASE ]] && export PGDATABASE
- [[ -n $PGHOST ]] && export PGHOST
- [[ -n $PGPORT ]] && export PGPORT
- [[ -n $PGUSER ]] && export PGUSER
- fi
- fi
-
- if [[ -n $PGDATABASE && -n $PGUSER ]] ; then
- local server_version
- server_version=$(psql -Aqtc 'SELECT version();' 2> /dev/null)
- if [[ $? = 0 ]] ; then
- cd "${S}/test" || die
- emake check
- else
- eerror "Is the server running?"
- eerror "Verify role and database exist, and are permitted in pg_hba.conf for:"
- eerror " Role: ${PGUSER}"
- eerror " Database: ${PGDATABASE}"
- die "Couldn't connect to server."
- fi
- else
- eerror "PGDATABASE and PGUSER must be set to perform tests."
- eerror "Skipping tests."
- fi
-}
-
-src_install () {
- use doc && HTML_DOCS=( doc/html/. )
- default
-
- if ! use static-libs; then
- find "${D}" -name '*.la' -delete || die
- fi
-}
diff --git a/dev-libs/libpqxx/libpqxx-7.2.1.ebuild b/dev-libs/libpqxx/libpqxx-7.2.1.ebuild
deleted file mode 100644
index 83b80d315880..000000000000
--- a/dev-libs/libpqxx/libpqxx-7.2.1.ebuild
+++ /dev/null
@@ -1,78 +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 python-any-r1
-
-KEYWORDS="~alpha amd64 ~hppa ~ia64 ppc ppc64 ~sparc x86"
-
-DESCRIPTION="Standard front-end for writing C++ programs that use PostgreSQL"
-SRC_URI="https://github.com/jtv/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
-HOMEPAGE="http://pqxx.org/development/libpqxx/"
-LICENSE="BSD"
-SLOT="0"
-IUSE="doc static-libs"
-
-RDEPEND="dev-db/postgresql:="
-DEPEND="${RDEPEND}
- ${PYTHON_DEPS}
- doc? (
- app-doc/doxygen
- app-text/xmlto
- )
-"
-
-DOCS=( AUTHORS NEWS README{.md,-UPGRADE} )
-
-src_configure() {
- econf \
- --enable-shared \
- $(use_enable doc documentation) \
- $(use_enable static-libs static)
-}
-
-src_test() {
- einfo "The tests need a running PostgreSQL server and an existing database."
- einfo "Test requires PGDATABASE and PGUSER to be set at a minimum. Optionally,"
- einfo "set PGPORT and PGHOST. Define them at the command line or in:"
- einfo " ${EROOT}/etc/libpqxx_test_env"
-
- if [[ -z $PGDATABASE || -z $PGUSER ]] ; then
- if [[ -f ${EROOT}/etc/libpqxx_test_env ]] ; then
- source "${EROOT}/etc/libpqxx_test_env"
- [[ -n $PGDATABASE ]] && export PGDATABASE
- [[ -n $PGHOST ]] && export PGHOST
- [[ -n $PGPORT ]] && export PGPORT
- [[ -n $PGUSER ]] && export PGUSER
- fi
- fi
-
- if [[ -n $PGDATABASE && -n $PGUSER ]] ; then
- local server_version
- server_version=$(psql -Aqtc 'SELECT version();' 2> /dev/null)
- if [[ $? = 0 ]] ; then
- cd "${S}/test" || die
- emake check
- else
- eerror "Is the server running?"
- eerror "Verify role and database exist, and are permitted in pg_hba.conf for:"
- eerror " Role: ${PGUSER}"
- eerror " Database: ${PGDATABASE}"
- die "Couldn't connect to server."
- fi
- else
- eerror "PGDATABASE and PGUSER must be set to perform tests."
- eerror "Skipping tests."
- fi
-}
-
-src_install () {
- use doc && HTML_DOCS=( doc/html/. )
- default
-
- if ! use static-libs; then
- find "${D}" -name '*.la' -delete || die
- fi
-}
diff --git a/dev-libs/libpqxx/libpqxx-7.3.0.ebuild b/dev-libs/libpqxx/libpqxx-7.3.0.ebuild
deleted file mode 100644
index 7a386b691033..000000000000
--- a/dev-libs/libpqxx/libpqxx-7.3.0.ebuild
+++ /dev/null
@@ -1,78 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{7..9} )
-inherit python-any-r1
-
-KEYWORDS="~alpha ~amd64 ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86"
-
-DESCRIPTION="Standard front-end for writing C++ programs that use PostgreSQL"
-SRC_URI="https://github.com/jtv/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
-HOMEPAGE="http://pqxx.org/development/libpqxx/"
-LICENSE="BSD"
-SLOT="0"
-IUSE="doc static-libs"
-
-RDEPEND="dev-db/postgresql:="
-DEPEND="${RDEPEND}
- ${PYTHON_DEPS}
- doc? (
- app-doc/doxygen
- app-text/xmlto
- )
-"
-
-DOCS=( AUTHORS NEWS README{.md,-UPGRADE} )
-
-src_configure() {
- econf \
- --enable-shared \
- $(use_enable doc documentation) \
- $(use_enable static-libs static)
-}
-
-src_test() {
- einfo "The tests need a running PostgreSQL server and an existing database."
- einfo "Test requires PGDATABASE and PGUSER to be set at a minimum. Optionally,"
- einfo "set PGPORT and PGHOST. Define them at the command line or in:"
- einfo " ${EROOT}/etc/libpqxx_test_env"
-
- if [[ -z $PGDATABASE || -z $PGUSER ]] ; then
- if [[ -f ${EROOT}/etc/libpqxx_test_env ]] ; then
- source "${EROOT}/etc/libpqxx_test_env"
- [[ -n $PGDATABASE ]] && export PGDATABASE
- [[ -n $PGHOST ]] && export PGHOST
- [[ -n $PGPORT ]] && export PGPORT
- [[ -n $PGUSER ]] && export PGUSER
- fi
- fi
-
- if [[ -n $PGDATABASE && -n $PGUSER ]] ; then
- local server_version
- server_version=$(psql -Aqtc 'SELECT version();' 2> /dev/null)
- if [[ $? = 0 ]] ; then
- cd "${S}/test" || die
- emake check
- else
- eerror "Is the server running?"
- eerror "Verify role and database exist, and are permitted in pg_hba.conf for:"
- eerror " Role: ${PGUSER}"
- eerror " Database: ${PGDATABASE}"
- die "Couldn't connect to server."
- fi
- else
- eerror "PGDATABASE and PGUSER must be set to perform tests."
- eerror "Skipping tests."
- fi
-}
-
-src_install () {
- use doc && HTML_DOCS=( doc/html/. )
- default
-
- if ! use static-libs; then
- find "${D}" -name '*.la' -delete || die
- fi
-}
diff --git a/dev-libs/libpqxx/libpqxx-7.4.1.ebuild b/dev-libs/libpqxx/libpqxx-7.4.1.ebuild
deleted file mode 100644
index 991fb39e97c7..000000000000
--- a/dev-libs/libpqxx/libpqxx-7.4.1.ebuild
+++ /dev/null
@@ -1,78 +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 python-any-r1
-
-KEYWORDS="~alpha ~amd64 ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86"
-
-DESCRIPTION="Standard front-end for writing C++ programs that use PostgreSQL"
-SRC_URI="https://github.com/jtv/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
-HOMEPAGE="http://pqxx.org/development/libpqxx/"
-LICENSE="BSD"
-SLOT="0"
-IUSE="doc static-libs"
-
-RDEPEND="dev-db/postgresql:="
-DEPEND="${RDEPEND}
- ${PYTHON_DEPS}
- doc? (
- app-doc/doxygen
- app-text/xmlto
- )
-"
-
-DOCS=( AUTHORS NEWS README{.md,-UPGRADE} )
-
-src_configure() {
- econf \
- --enable-shared \
- $(use_enable doc documentation) \
- $(use_enable static-libs static)
-}
-
-src_test() {
- einfo "The tests need a running PostgreSQL server and an existing database."
- einfo "Test requires PGDATABASE and PGUSER to be set at a minimum. Optionally,"
- einfo "set PGPORT and PGHOST. Define them at the command line or in:"
- einfo " ${EROOT}/etc/libpqxx_test_env"
-
- if [[ -z $PGDATABASE || -z $PGUSER ]] ; then
- if [[ -f ${EROOT}/etc/libpqxx_test_env ]] ; then
- source "${EROOT}/etc/libpqxx_test_env"
- [[ -n $PGDATABASE ]] && export PGDATABASE
- [[ -n $PGHOST ]] && export PGHOST
- [[ -n $PGPORT ]] && export PGPORT
- [[ -n $PGUSER ]] && export PGUSER
- fi
- fi
-
- if [[ -n $PGDATABASE && -n $PGUSER ]] ; then
- local server_version
- server_version=$(psql -Aqtc 'SELECT version();' 2> /dev/null)
- if [[ $? = 0 ]] ; then
- cd "${S}/test" || die
- emake check
- else
- eerror "Is the server running?"
- eerror "Verify role and database exist, and are permitted in pg_hba.conf for:"
- eerror " Role: ${PGUSER}"
- eerror " Database: ${PGDATABASE}"
- die "Couldn't connect to server."
- fi
- else
- eerror "PGDATABASE and PGUSER must be set to perform tests."
- eerror "Skipping tests."
- fi
-}
-
-src_install () {
- use doc && HTML_DOCS=( doc/html/. )
- default
-
- if ! use static-libs; then
- find "${D}" -name '*.la' -delete || die
- fi
-}
diff --git a/dev-libs/libpqxx/libpqxx-7.7.5.ebuild b/dev-libs/libpqxx/libpqxx-7.7.5.ebuild
new file mode 100644
index 000000000000..2f48102dfea8
--- /dev/null
+++ b/dev-libs/libpqxx/libpqxx-7.7.5.ebuild
@@ -0,0 +1,80 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{9..11} )
+inherit python-any-r1
+
+KEYWORDS="~alpha amd64 ~arm64 ~hppa ~ia64 ppc ppc64 sparc x86"
+
+DESCRIPTION="Standard front-end for writing C++ programs that use PostgreSQL"
+SRC_URI="https://github.com/jtv/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+HOMEPAGE="https://pqxx.org/development/libpqxx/"
+LICENSE="BSD"
+# SONAME version is equal to major.minor
+SLOT="0/$(ver_cut 1-2)"
+IUSE="doc static-libs"
+
+RDEPEND="dev-db/postgresql:="
+DEPEND="${RDEPEND}"
+BDEPEND="${PYTHON_DEPS}
+ doc? (
+ app-text/doxygen[dot]
+ app-text/xmlto
+ )
+"
+
+DOCS=( AUTHORS NEWS README.md )
+
+src_configure() {
+ econf \
+ --enable-shared \
+ $(use_enable doc documentation) \
+ $(use_enable static-libs static)
+}
+
+src_test() {
+ einfo "The tests need a running PostgreSQL server and an existing database."
+ einfo "Test requires PGDATABASE and PGUSER to be set at a minimum. Optionally,"
+ einfo "set PGPORT and PGHOST. Define them at the command line or in:"
+ einfo " ${BROOT}/etc/libpqxx_test_env"
+
+ if [[ -z $PGDATABASE || -z $PGUSER ]] ; then
+ if [[ -f ${BROOT}/etc/libpqxx_test_env ]] ; then
+ source "${BROOT}/etc/libpqxx_test_env"
+ [[ -n $PGDATABASE ]] && export PGDATABASE
+ [[ -n $PGHOST ]] && export PGHOST
+ [[ -n $PGPORT ]] && export PGPORT
+ [[ -n $PGUSER ]] && export PGUSER
+ fi
+ fi
+
+ if [[ -n $PGDATABASE && -n $PGUSER ]] ; then
+ local server_version
+ server_version=$(psql -Aqtc 'SELECT version();' 2> /dev/null)
+ if [[ $? = 0 ]] ; then
+ cd "${S}/test" || die
+ emake check
+ else
+ eerror "Is the server running?"
+ eerror "Verify role and database exist, and are permitted in pg_hba.conf for:"
+ eerror " Role: ${PGUSER}"
+ eerror " Database: ${PGDATABASE}"
+ die "Couldn't connect to server."
+ fi
+ else
+ eerror "PGDATABASE and PGUSER must be set to perform tests."
+ eerror "Skipping tests."
+ fi
+}
+
+src_install () {
+ use doc && HTML_DOCS=( doc/html/. )
+ default
+
+ if ! use static-libs; then
+ find "${D}" -name '*.la' -delete || die
+ fi
+}
diff --git a/dev-libs/libpqxx/metadata.xml b/dev-libs/libpqxx/metadata.xml
index 57ddc42d6eae..b47de6bbc481 100644
--- a/dev-libs/libpqxx/metadata.xml
+++ b/dev-libs/libpqxx/metadata.xml
@@ -11,4 +11,7 @@
about any platform — then libpqxx is the library you use. Supersedes the now
defunct libpq++ (AKA, libpqpp) API.
</longdescription>
+ <upstream>
+ <remote-id type="github">jtv/libpqxx</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/dev-libs/libprelude/Manifest b/dev-libs/libprelude/Manifest
deleted file mode 100644
index 336e80cc5bd7..000000000000
--- a/dev-libs/libprelude/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST libprelude-5.2.0.tar.gz 2902019 BLAKE2B f4caecdc4d34a075fecef73e043e653943fb4af91f4ae5ec5bfdd2d00acccd2095087ba2e6e98aef786e801ba4396f7a66af2de64b5ab8de50921e078614e1a3 SHA512 e0dc0d7c06a4c250a5a12c5cddd8aa8db33d94f8afd85b1afdb264717d674e0dc0b4dc8a5336860df74ffe408023cc7a5356e3acc3c96876099659e33ce04dd0
diff --git a/dev-libs/libprelude/files/libprelude-4.0.0-fix-python-bindings.patch b/dev-libs/libprelude/files/libprelude-4.0.0-fix-python-bindings.patch
deleted file mode 100644
index 7336b620045a..000000000000
--- a/dev-libs/libprelude/files/libprelude-4.0.0-fix-python-bindings.patch
+++ /dev/null
@@ -1,38 +0,0 @@
---- a/bindings/python/Makefile.am 2017-07-17 12:03:05.653000000 +0200
-+++ b/bindings/python/Makefile.am 2017-09-06 18:51:57.179778549 +0200
-@@ -9,35 +9,6 @@
- all-am: python-build
-
- python-build: _prelude.cxx
--if HAVE_PYTHON2
-- CC="$(CXX)" $(PYTHON2) setup.py build
--endif
--if HAVE_PYTHON3
-- CC="$(CXX)" $(PYTHON3) setup.py build
--endif
--install-exec-hook:
--if HAVE_PYTHON2
-- $(PYTHON2) setup.py install `test -n "$(DESTDIR)" && echo --root $(DESTDIR)` --prefix @prefix@
--endif
--if HAVE_PYTHON3
-- $(PYTHON3) setup.py install `test -n "$(DESTDIR)" && echo --root $(DESTDIR)` --prefix @prefix@
--endif
--
--uninstall-hook:
--if HAVE_PYTHON2
-- $(PYTHON2) setup.py uninstall `test -n "$(DESTDIR)" && echo --root $(DESTDIR)` --prefix @prefix@
--endif
--if HAVE_PYTHON3
-- $(PYTHON3) setup.py uninstall `test -n "$(DESTDIR)" && echo --root $(DESTDIR)` --prefix @prefix@
--endif
--
--clean-local:
--if HAVE_PYTHON2
-- $(PYTHON2) setup.py clean -a
--endif
--if HAVE_PYTHON3
-- $(PYTHON3) setup.py clean -a
--endif
-
- _prelude.cxx prelude.py: $(top_srcdir)/bindings/c++/include/*.hxx $(top_srcdir)/bindings/libpreludecpp.i libpreludecpp-python.i
- if HAVE_SWIG
diff --git a/dev-libs/libprelude/files/libprelude-5.1.0-fix_gtkdoc_1.32.patch b/dev-libs/libprelude/files/libprelude-5.1.0-fix_gtkdoc_1.32.patch
deleted file mode 100644
index 3495ebf62ccb..000000000000
--- a/dev-libs/libprelude/files/libprelude-5.1.0-fix_gtkdoc_1.32.patch
+++ /dev/null
@@ -1,13 +0,0 @@
---- a/docs/api/libprelude-docs.xml
-+++ b/docs/api/libprelude-docs.xml
-@@ -51,10 +51,6 @@
- <xi:include href="xml/idmef-value.xml"/>
-
- </chapter>
-- <chapter id="object-tree">
-- <title>Object Hierarchy</title>
-- <xi:include href="xml/tree_index.sgml"/>
-- </chapter>
- <index id="api-index-full">
- <title>API Index</title>
- <xi:include href="xml/api-index-full.xml"><xi:fallback /></xi:include>
diff --git a/dev-libs/libprelude/files/libprelude-5.2.0-luabindings_liblua.patch b/dev-libs/libprelude/files/libprelude-5.2.0-luabindings_liblua.patch
deleted file mode 100644
index 6eeb4beb92b4..000000000000
--- a/dev-libs/libprelude/files/libprelude-5.2.0-luabindings_liblua.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-Compiled Lua modules must not link against liblua.
-
---- a/bindings/lua/Makefile.am
-+++ b/bindings/lua/Makefile.am
-@@ -9,7 +9,7 @@
-
- AM_CPPFLAGS = -I@top_srcdir@ -I@top_builddir@/src/include -I@top_srcdir@/src/include -I@top_builddir@/src/libprelude-error -I@top_srcdir@/bindings/c++/include @LUA_CFLAGS@ -I@top_srcdir@/libmissing -I@top_builddir@/libmissing
-
--prelude_la_LDFLAGS = -module -avoid-version @LUA_LIBS@
-+prelude_la_LDFLAGS = -module -avoid-version
- prelude_la_LIBADD = $(top_builddir)/bindings/c++/.libs/libpreludecpp.la
- prelude_la_SOURCES = prelude.cxx
- preludedir = $(libdir)/lua/@LUA_VERSION@
diff --git a/dev-libs/libprelude/libprelude-5.2.0-r10.ebuild b/dev-libs/libprelude/libprelude-5.2.0-r10.ebuild
deleted file mode 100644
index 161d051dc157..000000000000
--- a/dev-libs/libprelude/libprelude-5.2.0-r10.ebuild
+++ /dev/null
@@ -1,102 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{8..10} )
-USE_RUBY="ruby25 ruby26 ruby27"
-DISTUTILS_OPTIONAL=1
-LUA_COMPAT=( lua5-{1..3} )
-
-inherit autotools distutils-r1 lua-single ruby-single
-
-DESCRIPTION="Prelude-SIEM Framework Library"
-HOMEPAGE="https://www.prelude-siem.org"
-SRC_URI="https://www.prelude-siem.org/pkg/src/${PV}/${P}.tar.gz"
-
-LICENSE="GPL-2+"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE="lua perl python ruby"
-
-REQUIRED_USE="lua? ( ${LUA_REQUIRED_USE} )
- python? ( ${PYTHON_REQUIRED_USE} )"
-
-RDEPEND="net-libs/gnutls:=
- lua? ( ${LUA_DEPS} )
- perl? ( dev-lang/perl:= )
- python? ( ${PYTHON_DEPS} )
- ruby? ( ${RUBY_DEPS} )"
-
-DEPEND="${RDEPEND}"
-
-BDEPEND=">=dev-lang/swig-4.0.0
- dev-util/gtk-doc-am
- sys-devel/flex
- lua? ( ${LUA_DEPS} )
- perl? ( dev-lang/perl:= virtual/perl-ExtUtils-MakeMaker )
- python? ( ${PYTHON_DEPS} )
- ruby? ( ${RUBY_DEPS} )
- virtual/pkgconfig
- virtual/yacc"
-
-PATCHES=(
- "${FILESDIR}/${PN}-4.0.0-fix-python-bindings.patch"
- "${FILESDIR}/${PN}-5.1.0-fix_gtkdoc_1.32.patch"
- "${FILESDIR}/${PN}-5.2.0-luabindings_liblua.patch"
-)
-
-src_prepare() {
- default
-
- # Avoid null runpaths in Perl bindings.
- sed -e 's/ LD_RUN_PATH=""//' -i "${S}/bindings/Makefile.am" || die "sed failed"
-
- eautoreconf
-
- if use python; then
- cd bindings/python || die
- distutils-r1_src_prepare
- fi
-}
-
-src_configure() {
- local myconf=(
- --enable-easy-bindings
- --with-swig
- --without-python2
- --localstatedir="${EPREFIX}/var"
- $(use_with lua)
- $(use_with perl)
- $(usex perl '--with-perl-installdirs=vendor' '')
- $(use_with ruby)
- )
-
- if use python; then
- python_setup
- myconf+=( --with-python3="${EPYTHON}" )
- else
- myconf+=( --without-python3 )
- fi
-
- econf "${myconf[@]}"
-}
-
-src_compile() {
- default
- if use python; then
- cd bindings/python || die
- distutils-r1_src_compile
- fi
-}
-
-src_install() {
- default
- find "${D}" -name '*.la' -delete || die
- if use python; then
- cd bindings/python || die
- distutils-r1_src_install
- fi
-
- keepdir /var/spool/prelude
-}
diff --git a/dev-libs/libprelude/metadata.xml b/dev-libs/libprelude/metadata.xml
deleted file mode 100644
index 9993a68f4a42..000000000000
--- a/dev-libs/libprelude/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" proxied="yes">
- <email>thomas.andrejak@gmail.com</email>
- <name>Thomas Andrejak</name>
- </maintainer>
- <maintainer type="project" proxied="proxy">
- <email>proxy-maint@gentoo.org</email>
- <name>Proxy Maintainers</name>
- </maintainer>
- <longdescription lang="en">
- Libprelude is a library that guarantees secure connections between all sensors
- and the Prelude Manager. Libprelude provides an Application Programming Interface
- (API) for the communication with Prelude sub-systems, it supplies the necessary
- functionality for generating and emitting IDMEF events with Prelude and automates
- the saving and re-transmission of data in times of temporary interruption of one
- of the components of the system.
- </longdescription>
-</pkgmetadata>
diff --git a/dev-libs/libpreludedb/Manifest b/dev-libs/libpreludedb/Manifest
deleted file mode 100644
index 6e250e91e8e9..000000000000
--- a/dev-libs/libpreludedb/Manifest
+++ /dev/null
@@ -1,2 +0,0 @@
-DIST libpreludedb-5.1.0-update_m4_postgresql.patch 20562 BLAKE2B 5db9a213c47296b308a641942e41c82eb9642dc7817ac1134ac52c8f24e38b68e0dacc5adedc30ba0611e84c97bb51f444b75b2b98884c0f21312da58f40b6d8 SHA512 24881cfe0e471e934fc9b1bd64dd901303f68615e1700ce92d6bc7324b28587aef8cc05be9cc7c2545f86666064607d8113c5273381bf9306ef69f569ab9d1bf
-DIST libpreludedb-5.2.0.tar.gz 1372810 BLAKE2B 5a6bed23eba77591b8e97bb3c6f2b321970c94f88fb86094146a1a3fa64cc0f0c97ca1d1488b2202ab7042207ca2ca4f74029415ef1ca6ea13c84d158a23473f SHA512 357e3ce69927ed405bc757774466631d34cad9b53031be6ce456238dd8aef3781471ecbb36ab4a3131468f4686a635095aaf837d23a0efc9db758322298e7744
diff --git a/dev-libs/libpreludedb/files/libpreludedb-4.0.0-fix-python-bindings.patch b/dev-libs/libpreludedb/files/libpreludedb-4.0.0-fix-python-bindings.patch
deleted file mode 100644
index 7fb93c269ef2..000000000000
--- a/dev-libs/libpreludedb/files/libpreludedb-4.0.0-fix-python-bindings.patch
+++ /dev/null
@@ -1,39 +0,0 @@
---- a/bindings/python/Makefile.am 2017-07-18 12:27:27.278000000 +0200
-+++ b/bindings/python/Makefile.am 2017-09-07 23:41:21.279920258 +0200
-@@ -6,36 +6,6 @@
- all-am: python-build
-
- python-build: _preludedb.cxx
--if HAVE_PYTHON2
-- CC="$(CXX)" $(PYTHON2) setup.py build
--endif
--if HAVE_PYTHON3
-- CC="$(CXX)" $(PYTHON3) setup.py build
--endif
--install-exec-hook:
--if HAVE_PYTHON2
-- $(PYTHON2) setup.py install `test -n "$(DESTDIR)" && echo --root $(DESTDIR)`
--endif
--if HAVE_PYTHON3
-- $(PYTHON3) setup.py install `test -n "$(DESTDIR)" && echo --root $(DESTDIR)`
--endif
--
--uninstall-hook:
--if HAVE_PYTHON2
-- $(PYTHON2) setup.py uninstall `test -n "$(DESTDIR)" && echo --root $(DESTDIR)`
--endif
--if HAVE_PYTHON3
-- $(PYTHON3) setup.py uninstall `test -n "$(DESTDIR)" && echo --root $(DESTDIR)`
--endif
--
--clean-local:
--if HAVE_PYTHON2
-- $(PYTHON2) setup.py clean -a
--endif
--if HAVE_PYTHON3
-- $(PYTHON3) setup.py clean -a
--endif
--
-
- _preludedb.cxx preludedb.py: $(top_srcdir)/bindings/c++/include/*.hxx $(top_srcdir)/bindings/libpreludedbcpp.i libpreludedbcpp-python.i
- if HAVE_SWIG
diff --git a/dev-libs/libpreludedb/files/libpreludedb-5.1.0-fix_gtkdoc_1.32.patch b/dev-libs/libpreludedb/files/libpreludedb-5.1.0-fix_gtkdoc_1.32.patch
deleted file mode 100644
index ecc6d5dc4e02..000000000000
--- a/dev-libs/libpreludedb/files/libpreludedb-5.1.0-fix_gtkdoc_1.32.patch
+++ /dev/null
@@ -1,13 +0,0 @@
---- a/docs/api/libpreludedb-docs.xml
-+++ b/docs/api/libpreludedb-docs.xml
-@@ -26,10 +26,6 @@
- <xi:include href="xml/preludedb-sql-settings.xml"/>
-
- </chapter>
-- <chapter id="object-tree">
-- <title>Object Hierarchy</title>
-- <xi:include href="xml/tree_index.sgml"/>
-- </chapter>
- <index id="api-index-full">
- <title>API Index</title>
- <xi:include href="xml/api-index-full.xml"><xi:fallback /></xi:include>
diff --git a/dev-libs/libpreludedb/libpreludedb-5.2.0.ebuild b/dev-libs/libpreludedb/libpreludedb-5.2.0.ebuild
deleted file mode 100644
index 257006361297..000000000000
--- a/dev-libs/libpreludedb/libpreludedb-5.2.0.ebuild
+++ /dev/null
@@ -1,93 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{8..10} )
-DISTUTILS_OPTIONAL=1
-
-inherit autotools distutils-r1
-
-DESCRIPTION="Framework to easy access to the Prelude database"
-HOMEPAGE="https://www.prelude-siem.org"
-SRC_URI="https://www.prelude-siem.org/pkg/src/${PV}/${P}.tar.gz
- https://dev.gentoo.org/~juippis/distfiles/tmp/libpreludedb-5.1.0-update_m4_postgresql.patch"
-
-LICENSE="GPL-2+"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE="mysql postgres python sqlite"
-
-REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
-
-RDEPEND=">=dev-libs/libprelude-5.2.0
- <dev-libs/libprelude-6
- net-libs/gnutls:=
- mysql? ( dev-db/mysql-connector-c:= )
- postgres? ( dev-db/postgresql:* )
- python? ( ${PYTHON_DEPS} )
- sqlite? ( dev-db/sqlite:3 )"
-
-DEPEND="${RDEPEND}"
-
-BDEPEND=">=dev-lang/swig-4.0.0
- dev-util/gtk-doc-am
- sys-devel/flex
- virtual/pkgconfig
- virtual/yacc
- python? ( ${PYTHON_DEPS} )"
-
-PATCHES=(
- "${FILESDIR}/${PN}-4.0.0-fix-python-bindings.patch"
- "${FILESDIR}/${PN}-5.1.0-fix_gtkdoc_1.32.patch"
- "${DISTDIR}/${PN}-5.1.0-update_m4_postgresql.patch"
-)
-
-src_prepare() {
- default
-
- eautoreconf
-
- if use python; then
- cd bindings/python || die
- distutils-r1_src_prepare
- fi
-}
-
-src_configure() {
- local myconf=(
- --enable-easy-bindings
- --without-swig
- --without-python2
- --localstatedir="${EPREFIX}/var"
- $(use_with mysql)
- $(use_with postgres postgresql)
- $(use_with sqlite sqlite3)
- )
-
- if use python; then
- python_setup
- myconf+=( --with-python3="${EPYTHON}" )
- else
- myconf+=( --without-python3 )
- fi
-
- econf "${myconf[@]}"
-}
-
-src_compile() {
- default
- if use python; then
- cd bindings/python || die
- distutils-r1_src_compile
- fi
-}
-
-src_install() {
- default
- find "${D}" -name '*.la' -delete || die
- if use python; then
- cd bindings/python || die
- distutils-r1_src_install
- fi
-}
diff --git a/dev-libs/libpreludedb/metadata.xml b/dev-libs/libpreludedb/metadata.xml
deleted file mode 100644
index 130319f7e3a5..000000000000
--- a/dev-libs/libpreludedb/metadata.xml
+++ /dev/null
@@ -1,19 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="person" proxied="yes">
- <email>thomas.andrejak@gmail.com</email>
- <name>Thomas Andrejak</name>
- </maintainer>
- <maintainer type="project" proxied="proxy">
- <email>proxy-maint@gentoo.org</email>
- <name>Proxy Maintainers</name>
- </maintainer>
- <longdescription lang="en">
- The PreludeDB Library provides an abstraction layer upon the type and the
- format of the database used to store IDMEF alerts. It allows developers
- to use the Prelude IDMEF database easily and efficiently without
- worrying about SQL, and to access the database independently of the
- type/format of the database.
- </longdescription>
-</pkgmetadata>
diff --git a/dev-libs/libpsl-native/Manifest b/dev-libs/libpsl-native/Manifest
new file mode 100644
index 000000000000..71a6e7de2338
--- /dev/null
+++ b/dev-libs/libpsl-native/Manifest
@@ -0,0 +1 @@
+DIST libpsl-native-7.4.0.tar.gz 288919 BLAKE2B b38b35d3f1ebf2b7deeb90ff78c7c00e2e51f7b115a1622a878e7870de4dae53458a16b325fe7059b6faf7157701f14e179c8cb12648ff5ffd44694ce9a6ead2 SHA512 bfd1c00834bfd2a7fdba0cf5ae3bb82efb959fdc2f538d05bde150b98d417012647115c6893fc53db0b20170ea40be238ef017044a8076798c02578bd14884f9
diff --git a/dev-libs/libpsl-native/files/libpsl-native-7.3.2-test-cmake.patch b/dev-libs/libpsl-native/files/libpsl-native-7.3.2-test-cmake.patch
new file mode 100644
index 000000000000..641a4aaf4ee2
--- /dev/null
+++ b/dev-libs/libpsl-native/files/libpsl-native-7.3.2-test-cmake.patch
@@ -0,0 +1,18 @@
+--- a/test/CMakeLists.txt
++++ b/test/CMakeLists.txt
+@@ -1,4 +1,4 @@
+-add_subdirectory(googletest)
++find_package(GTest REQUIRED)
+
+ add_executable(psl-native-test
+ test-getfileowner.cpp
+@@ -19,9 +19,6 @@ add_executable(psl-native-test
+ test-createhardlink.cpp
+ main.cpp)
+
+-# manually include gtest headers
+-target_include_directories(psl-native-test PRIVATE ${gtest_SOURCE_DIR}/include)
+-
+ target_link_libraries(psl-native-test psl-native gtest)
+
+ add_test(NAME psl-native-test
diff --git a/dev-libs/libpsl-native/files/libpsl-native-7.4.0-cmake.patch b/dev-libs/libpsl-native/files/libpsl-native-7.4.0-cmake.patch
new file mode 100644
index 000000000000..1515e4cda7a1
--- /dev/null
+++ b/dev-libs/libpsl-native/files/libpsl-native-7.4.0-cmake.patch
@@ -0,0 +1,11 @@
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -3,7 +3,7 @@ project(PSL-NATIVE)
+
+ # Can't use add_compile_options with 2.8.11
+ set(CMAKE_BUILD_TYPE "Release")
+-set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -Wall -Werror -fstack-protector-strong -fpie -D_FORTIFY_SOURCE=2")
++set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
+
+ if (${CMAKE_SYSTEM_NAME} MATCHES "Linux")
+ set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -Wl,-z,relro,-z,now")
diff --git a/dev-libs/libpsl-native/libpsl-native-7.4.0.ebuild b/dev-libs/libpsl-native/libpsl-native-7.4.0.ebuild
new file mode 100644
index 000000000000..23612295362d
--- /dev/null
+++ b/dev-libs/libpsl-native/libpsl-native-7.4.0.ebuild
@@ -0,0 +1,41 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+MY_PN="PowerShell-Native"
+CMAKE_IN_SOURCE_BUILD="ON"
+
+inherit cmake
+
+DESCRIPTION="Functionality missing from .NET Core via system calls"
+HOMEPAGE="https://github.com/PowerShell/PowerShell-Native/"
+
+if [[ "${PV}" == *9999* ]] ; then
+ inherit git-r3
+
+ EGIT_REPO_URI="https://github.com/PowerShell/${MY_PN}.git"
+ S="${WORKDIR}/${P}/src/${PN}"
+else
+ SRC_URI="https://github.com/PowerShell/${MY_PN}/archive/v${PV}.tar.gz
+ -> ${P}.tar.gz"
+ S="${WORKDIR}/${MY_PN}-${PV}/src/${PN}"
+
+ KEYWORDS="amd64 arm ~arm64 ~x86"
+fi
+
+LICENSE="MIT"
+SLOT="0/$(ver_cut 1-2)"
+
+BDEPEND="dev-cpp/gtest"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-7.4.0-cmake.patch"
+ "${FILESDIR}/${PN}-7.3.2-test-cmake.patch"
+)
+
+src_install() {
+ dolib.so "${S}/../powershell-unix/libpsl-native.so"
+
+ einstalldocs
+}
diff --git a/dev-libs/libpsl-native/metadata.xml b/dev-libs/libpsl-native/metadata.xml
new file mode 100644
index 000000000000..f363f77b5905
--- /dev/null
+++ b/dev-libs/libpsl-native/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+
+<pkgmetadata>
+ <maintainer type="project">
+ <email>dotnet@gentoo.org</email>
+ <name>Gentoo Dotnet Project</name>
+ </maintainer>
+ <upstream>
+ <bugs-to>https://github.com/PowerShell/PowerShell-Native/issues/</bugs-to>
+ <remote-id type="github">PowerShell/PowerShell-Native</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/libpthread-stubs/Manifest b/dev-libs/libpthread-stubs/Manifest
index e567241773e4..bb862f00ea73 100644
--- a/dev-libs/libpthread-stubs/Manifest
+++ b/dev-libs/libpthread-stubs/Manifest
@@ -1 +1 @@
-DIST libpthread-stubs-0.4.tar.bz2 57565 BLAKE2B 0c59ba509aa24ce0d255790363d78d670be0bae5fd9556798f276466ecaf70c4d93064b531dd9870da8f934da6660fba71a7f0b402bb6ba5420fd6ee5ca546df SHA512 0fec563f3833b84311b32cb13a4fd9832aeb0204c65b1541bf453d5d35693b2267c3cee656e00a4b8533b07a8f6320ca5c3672dcf8ab047cdac8628154c08954
+DIST libpthread-stubs-0.5.tar.xz 56980 BLAKE2B df84742e6695c64b33c82130765fa4bc3f908874aa868ae6543008a569ef79e384b562a6946e25b45331898d5df55c3bfd2e907a03bda15aca3993917baf6e50 SHA512 a24f7c40dcaf5f6ca0085972117fed5ad0851f6fc1972fdab799d27236afaaa4f7baa93e40532f93984d313d94456819aaf4ec8f8d1bbb2e5c4fc76c31891d82
diff --git a/dev-libs/libpthread-stubs/libpthread-stubs-0.4-r1.ebuild b/dev-libs/libpthread-stubs/libpthread-stubs-0.4-r1.ebuild
deleted file mode 100644
index 1f41658a74fc..000000000000
--- a/dev-libs/libpthread-stubs/libpthread-stubs-0.4-r1.ebuild
+++ /dev/null
@@ -1,23 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit multilib-minimal
-
-DESCRIPTION="Pthread functions stubs for platforms missing them"
-HOMEPAGE="https://www.x.org/wiki/ https://gitlab.freedesktop.org/xorg/lib/pthread-stubs"
-SRC_URI="https://xcb.freedesktop.org/dist/${P}.tar.bz2"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-IUSE=""
-
-multilib_src_configure() {
- ECONF_SOURCE="${S}" econf
-}
-
-# there is nothing to compile for this package, all its contents are produced by
-# configure. the only make job that matters is make install
-multilib_src_compile() { true; }
diff --git a/dev-libs/libpthread-stubs/libpthread-stubs-0.5.ebuild b/dev-libs/libpthread-stubs/libpthread-stubs-0.5.ebuild
new file mode 100644
index 000000000000..da0c91b70a8d
--- /dev/null
+++ b/dev-libs/libpthread-stubs/libpthread-stubs-0.5.ebuild
@@ -0,0 +1,16 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+XORG_MODULE=lib/
+XORG_MULTILIB=yes
+XORG_TARBALL_SUFFIX="xz"
+inherit xorg-3
+
+DESCRIPTION="Pthread functions stubs for platforms missing them"
+KEYWORDS="~ppc-macos ~x64-macos"
+
+# there is nothing to compile for this package, all its contents are produced by
+# configure. the only make job that matters is make install
+multilib_src_compile() { true; }
diff --git a/dev-libs/libpthread-stubs/metadata.xml b/dev-libs/libpthread-stubs/metadata.xml
index e17a5bccb78b..0330abcd09df 100644
--- a/dev-libs/libpthread-stubs/metadata.xml
+++ b/dev-libs/libpthread-stubs/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>x11@gentoo.org</email>
- <name>X11</name>
-</maintainer>
+ <maintainer type="project">
+ <email>x11@gentoo.org</email>
+ <name>X11</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="freedesktop-gitlab">xorg/lib/pthread-stubs</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/dev-libs/libptytty/files/libptytty-2.0-configure-clang16.patch b/dev-libs/libptytty/files/libptytty-2.0-configure-clang16.patch
new file mode 100644
index 000000000000..99b49e26e737
--- /dev/null
+++ b/dev-libs/libptytty/files/libptytty-2.0-configure-clang16.patch
@@ -0,0 +1,15 @@
+http://lists.schmorp.de/pipermail/rxvt-unicode/2023q2/002652.html
+
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -95,7 +95,8 @@ check_function_exists(setreuid HAVE_SETREUID)
+ check_function_exists(setresuid HAVE_SETRESUID)
+
+ check_c_source_compiles(
+- "#include <stdlib.h>
++ "#define _XOPEN_SOURCE 500
++ #include <stdlib.h>
+
+ int main ()
+ {
+
diff --git a/dev-libs/libptytty/libptytty-2.0-r1.ebuild b/dev-libs/libptytty/libptytty-2.0-r1.ebuild
new file mode 100644
index 000000000000..6622e0666ff1
--- /dev/null
+++ b/dev-libs/libptytty/libptytty-2.0-r1.ebuild
@@ -0,0 +1,34 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+DESCRIPTION="A library for mostly OS-independent handling of pty/tty/utmp/wtmp/lastlog"
+HOMEPAGE="http://software.schmorp.de/pkg/libptytty.html"
+SRC_URI="http://dist.schmorp.de/${PN}/${P}.tar.gz"
+
+LICENSE="GPL-2+"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm ~arm64 ~hppa ~ia64 ppc ppc64 ~riscv sparc x86"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-2.0-rundir.patch
+ "${FILESDIR}"/${PN}-2.0-configure-clang16.patch
+)
+
+DOCS=( Changes README )
+
+src_configure() {
+ # Bug #828923
+ local mycmakeargs=()
+ if use elibc_musl; then
+ mycmakeargs+=(
+ -DPT_LASTLOGX_FILE="\"/dev/null/lastlogx\""
+ -DPT_WTMPX_FILE="\"/dev/null/wtmpx\""
+ )
+ fi
+
+ cmake_src_configure
+}
diff --git a/dev-libs/libptytty/libptytty-2.0.ebuild b/dev-libs/libptytty/libptytty-2.0.ebuild
deleted file mode 100644
index 84050835b54c..000000000000
--- a/dev-libs/libptytty/libptytty-2.0.ebuild
+++ /dev/null
@@ -1,33 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit cmake
-
-DESCRIPTION="A library for mostly OS-independent handling of pty/tty/utmp/wtmp/lastlog"
-HOMEPAGE="http://software.schmorp.de/pkg/libptytty.html"
-SRC_URI="http://dist.schmorp.de/${PN}/${P}.tar.gz"
-
-LICENSE="GPL-2+"
-SLOT="0"
-KEYWORDS="amd64 arm ~arm64 ~hppa ~ia64 ppc ppc64 ~riscv sparc x86"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-2.0-rundir.patch
-)
-
-DOCS=( Changes README )
-
-src_configure() {
- # Bug #828923
- local mycmakeargs=()
- if use elibc_musl; then
- mycmakeargs+=(
- -DPT_LASTLOGX_FILE="\"/dev/null/lastlogx\""
- -DPT_WTMPX_FILE="\"/dev/null/wtmpx\""
- )
- fi
-
- cmake_src_configure
-}
diff --git a/dev-libs/libpwquality/Manifest b/dev-libs/libpwquality/Manifest
index c59785fae642..231099aa8912 100644
--- a/dev-libs/libpwquality/Manifest
+++ b/dev-libs/libpwquality/Manifest
@@ -1 +1 @@
-DIST libpwquality-1.4.4.tar.bz2 426923 BLAKE2B 732e349a89b418d0b29d433551cd67e7b5f0daacb50ea73cfa7e45623801f6b559322645b4f4b0d741512964556d7e004d6a1c63b20e395c3c1b96923506e8bb SHA512 2d49b79105361663f009f7183fde9123e6f1e63bd678dfe5418143f611e763af8dd44374b826b3c22a00e721047c539741dc44d99a2289b9ab229791768d6e76
+DIST libpwquality-1.4.5.tar.bz2 433961 BLAKE2B f5326996ab607bf9d24de446d9714987ad259fd2222bc54983769abc298969e2e9a4cee78f2a5c5d963bd0e5f57ea3aa346b0ce108b465a8da82810486b37e36 SHA512 91a6febbf40047e553b6051df727857df7932c816638f15118a46b8286527a80446ca4f6a050d2b1f4e33335bf4b75290751ce358fa477cb9d06fe89a450d647
diff --git a/dev-libs/libpwquality/files/libpwquality-1.4.4-pam_pwquality-include.patch b/dev-libs/libpwquality/files/libpwquality-1.4.4-pam_pwquality-include.patch
new file mode 100644
index 000000000000..2ed638c1e34a
--- /dev/null
+++ b/dev-libs/libpwquality/files/libpwquality-1.4.4-pam_pwquality-include.patch
@@ -0,0 +1,35 @@
+https://github.com/libpwquality/libpwquality/pull/62
+
+From 27057c6cbf528108c35df934280c7dd83e8d5ce9 Mon Sep 17 00:00:00 2001
+From: Sam James <sam@gentoo.org>
+Date: Wed, 7 Sep 2022 05:42:17 +0100
+Subject: [PATCH] pam_pwquality: add include for
+ pam_modutil_check_user_in_passwd
+
+After 9084c1b032161cdb53d5f66132a91bdc207faecf, one gets:
+```
+pam_pwquality.c: In function 'check_local_user':
+pam_pwquality.c:102:16: error: implicit declaration of function 'pam_modutil_check_user_in_passwd' [-Werror=implicit-function-declaration]
+ 102 | return pam_modutil_check_user_in_passwd(pamh, user, NULL) == PAM_SUCCESS;
+ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+cc1: some warnings being treated as errors
+make[2]: *** [Makefile:634: pam_pwquality.lo] Error 1
+make[2]: *** Waiting for unfinished jobs....
+```
+
+We need to include security/pam_modutil.h when appropriate.
+
+Signed-off-by: Sam James <sam@gentoo.org>
+--- a/src/pam_pwquality.c
++++ b/src/pam_pwquality.c
+@@ -34,6 +34,10 @@
+ #include <security/_pam_macros.h>
+ #include <security/pam_ext.h>
+
++#ifdef HAVE_PAM_CHECK_USER_IN_PASSWD
++#include <security/pam_modutil.h>
++#endif
++
+ /* argument parsing */
+ #define PAM_DEBUG_ARG 0x0001
+
diff --git a/dev-libs/libpwquality/libpwquality-1.4.4.ebuild b/dev-libs/libpwquality/libpwquality-1.4.4.ebuild
deleted file mode 100644
index c20212beb2f5..000000000000
--- a/dev-libs/libpwquality/libpwquality-1.4.4.ebuild
+++ /dev/null
@@ -1,79 +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 pam python-r1 usr-ldscript
-
-DESCRIPTION="Library for password quality checking and generating random passwords"
-HOMEPAGE="https://github.com/libpwquality/libpwquality"
-SRC_URI="https://github.com/${PN}/${PN}/releases/download/${P}/${P}.tar.bz2"
-
-LICENSE="|| ( BSD GPL-2 )"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~mips ppc ppc64 ~riscv ~s390 sparc x86"
-IUSE="pam python static-libs"
-REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
-
-BDEPEND="
- >=sys-devel/gettext-0.18.2
- virtual/pkgconfig
-"
-RDEPEND="
- >=sys-libs/cracklib-2.8:=[static-libs(+)?]
- pam? ( sys-libs/pam )
- python? ( ${PYTHON_DEPS} )
-"
-DEPEND="${RDEPEND}"
-
-src_prepare() {
- default
- # ensure pkgconfig files go in /usr
- sed -e 's:\(pkgconfigdir *=\).*:\1 '${EPREFIX}/usr/$(get_libdir)'/pkgconfig:' \
- -i src/Makefile.{am,in} || die "sed failed"
- use python && python_copy_sources
-}
-
-src_configure() {
- # Install library in /lib for pam
- configuring() {
- local sitedir
- econf \
- --libdir="${EPREFIX}/$(get_libdir)" \
- $(use_enable pam) \
- --with-securedir="${EPREFIX}/$(getpam_mod_dir)" \
- $(use_enable python python-bindings) \
- $(usex python "--with-pythonsitedir=$(use python && python_get_sitedir)" "") \
- $(use_enable static-libs static)
- }
- if_use_python_python_foreach_impl configuring
-}
-
-src_compile() {
- if_use_python_python_foreach_impl default
-}
-
-src_test() {
- if_use_python_python_foreach_impl default
-}
-
-src_install() {
- if_use_python_python_foreach_impl default
- if use static-libs; then
- # Do not install static libs in /lib
- mkdir -p "${ED}/usr/$(get_libdir)"
- mv "${ED}/$(get_libdir)/libpwquality.a" "${ED}/usr/$(get_libdir)/" || die
- gen_usr_ldscript libpwquality.so
- fi
- find "${ED}" -name '*.la' -delete || die
-}
-
-if_use_python_python_foreach_impl() {
- if use python; then
- python_foreach_impl run_in_build_dir "$@"
- else
- "$@"
- fi
-}
diff --git a/dev-libs/libpwquality/libpwquality-1.4.5-r1.ebuild b/dev-libs/libpwquality/libpwquality-1.4.5-r1.ebuild
new file mode 100644
index 000000000000..f4eb2d415180
--- /dev/null
+++ b/dev-libs/libpwquality/libpwquality-1.4.5-r1.ebuild
@@ -0,0 +1,75 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{9..11} )
+inherit libtool pam python-r1
+
+DESCRIPTION="Library for password quality checking and generating random passwords"
+HOMEPAGE="https://github.com/libpwquality/libpwquality"
+SRC_URI="https://github.com/${PN}/${PN}/releases/download/${P}/${P}.tar.bz2"
+
+LICENSE="|| ( BSD GPL-2 )"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
+IUSE="pam python static-libs"
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+
+BDEPEND="
+ >=sys-devel/gettext-0.18.2
+ virtual/pkgconfig
+"
+RDEPEND="
+ >=sys-libs/cracklib-2.8:=[static-libs(+)?]
+ pam? ( sys-libs/pam )
+ python? ( ${PYTHON_DEPS} )
+"
+DEPEND="${RDEPEND}"
+
+src_prepare() {
+ default
+ elibtoolize
+
+ if use python ; then
+ # bug #830397
+ export SETUPTOOLS_USE_DISTUTILS=stdlib
+ python_copy_sources
+ fi
+}
+
+src_configure() {
+ # Install library in /lib for pam
+ configuring() {
+ local sitedir
+ econf \
+ --libdir="${EPREFIX}/usr/$(get_libdir)" \
+ $(use_enable pam) \
+ --with-securedir="${EPREFIX}/$(getpam_mod_dir)" \
+ $(use_enable python python-bindings) \
+ $(usex python "--with-pythonsitedir=$(use python && python_get_sitedir)" "") \
+ $(use_enable static-libs static)
+ }
+ if_use_python_python_foreach_impl configuring
+}
+
+src_compile() {
+ if_use_python_python_foreach_impl default
+}
+
+src_test() {
+ if_use_python_python_foreach_impl default
+}
+
+src_install() {
+ if_use_python_python_foreach_impl default
+ find "${ED}" -name '*.la' -delete || die
+}
+
+if_use_python_python_foreach_impl() {
+ if use python; then
+ python_foreach_impl run_in_build_dir "$@"
+ else
+ "$@"
+ fi
+}
diff --git a/dev-libs/libpwquality/libpwquality-1.4.5.ebuild b/dev-libs/libpwquality/libpwquality-1.4.5.ebuild
new file mode 100644
index 000000000000..87db7e77e81e
--- /dev/null
+++ b/dev-libs/libpwquality/libpwquality-1.4.5.ebuild
@@ -0,0 +1,87 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{9..11} )
+inherit pam python-r1 usr-ldscript
+
+DESCRIPTION="Library for password quality checking and generating random passwords"
+HOMEPAGE="https://github.com/libpwquality/libpwquality"
+SRC_URI="https://github.com/${PN}/${PN}/releases/download/${P}/${P}.tar.bz2"
+
+LICENSE="|| ( BSD GPL-2 )"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
+IUSE="pam python static-libs"
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+
+BDEPEND="
+ >=sys-devel/gettext-0.18.2
+ virtual/pkgconfig
+"
+RDEPEND="
+ >=sys-libs/cracklib-2.8:=[static-libs(+)?]
+ pam? ( sys-libs/pam )
+ python? ( ${PYTHON_DEPS} )
+"
+DEPEND="${RDEPEND}"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-1.4.4-pam_pwquality-include.patch
+)
+
+src_prepare() {
+ default
+ # ensure pkgconfig files go in /usr
+ sed -e "s:\(pkgconfigdir *=\).*:\1 ${EPREFIX}/usr/$(get_libdir)/pkgconfig:" \
+ -i src/Makefile.{am,in} || die "sed failed"
+
+ if use python ; then
+ # bug #830397
+ export SETUPTOOLS_USE_DISTUTILS=stdlib
+ python_copy_sources
+ fi
+}
+
+src_configure() {
+ # Install library in /lib for pam
+ configuring() {
+ local sitedir
+ econf \
+ --libdir="${EPREFIX}/$(get_libdir)" \
+ $(use_enable pam) \
+ --with-securedir="${EPREFIX}/$(getpam_mod_dir)" \
+ $(use_enable python python-bindings) \
+ $(usex python "--with-pythonsitedir=$(use python && python_get_sitedir)" "") \
+ $(use_enable static-libs static)
+ }
+ if_use_python_python_foreach_impl configuring
+}
+
+src_compile() {
+ if_use_python_python_foreach_impl default
+}
+
+src_test() {
+ if_use_python_python_foreach_impl default
+}
+
+src_install() {
+ if_use_python_python_foreach_impl default
+ if use static-libs; then
+ # Do not install static libs in /lib
+ mkdir -p "${ED}/usr/$(get_libdir)"
+ mv "${ED}/$(get_libdir)/libpwquality.a" "${ED}/usr/$(get_libdir)/" || die
+ gen_usr_ldscript libpwquality.so
+ fi
+ find "${ED}" -name '*.la' -delete || die
+}
+
+if_use_python_python_foreach_impl() {
+ if use python; then
+ python_foreach_impl run_in_build_dir "$@"
+ else
+ "$@"
+ fi
+}
diff --git a/dev-libs/libpwquality/metadata.xml b/dev-libs/libpwquality/metadata.xml
index 7b343b06be8a..362c8aacbdb1 100644
--- a/dev-libs/libpwquality/metadata.xml
+++ b/dev-libs/libpwquality/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="github">libpwquality/libpwquality</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/dev-libs/libpy/files/libpy-0.2.5-setuptools.patch b/dev-libs/libpy/files/libpy-0.2.5-setuptools.patch
new file mode 100644
index 000000000000..0f5adc5e9c98
--- /dev/null
+++ b/dev-libs/libpy/files/libpy-0.2.5-setuptools.patch
@@ -0,0 +1,11 @@
+diff --git a/setup.py b/setup.py
+index 61bc3da..39c2ea5 100644
+--- a/setup.py
++++ b/setup.py
+@@ -1,5 +1,5 @@
+ import ast
+-from distutils.command.build_py import build_py as _build_py
++from setuptools.command.build_py import build_py as _build_py
+ import os
+ import pathlib
+ import shutil
diff --git a/dev-libs/libpy/files/libpy-0.2.5-stdint.patch b/dev-libs/libpy/files/libpy-0.2.5-stdint.patch
new file mode 100644
index 000000000000..d641ea4da1f4
--- /dev/null
+++ b/dev-libs/libpy/files/libpy-0.2.5-stdint.patch
@@ -0,0 +1,11 @@
+diff --git a/include/libpy/util.h b/include/libpy/util.h
+index 3e0c72d..8669483 100644
+--- a/include/libpy/util.h
++++ b/include/libpy/util.h
+@@ -1,5 +1,6 @@
+ #pragma once
+
++#include <cstdint>
+ #include <algorithm>
+ #include <sstream>
+ #include <stdexcept>
diff --git a/dev-libs/libpy/libpy-0.2.5-r1.ebuild b/dev-libs/libpy/libpy-0.2.5-r1.ebuild
deleted file mode 100644
index 29224ff19f9f..000000000000
--- a/dev-libs/libpy/libpy-0.2.5-r1.ebuild
+++ /dev/null
@@ -1,52 +0,0 @@
-# Copyright 2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{8..10} )
-
-inherit flag-o-matic distutils-r1
-
-GTEST_VER="23b2a3b1cf803999fb38175f6e9e038a4495c8a5"
-
-DESCRIPTION="Utilities for writing C++ extension modules"
-HOMEPAGE="https://quantopian.github.io/libpy/
- https://github.com/quantopian/libpy"
-SRC_URI="
- https://github.com/quantopian/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz
- test? ( https://github.com/google/googletest/archive/${GTEST_VER}.tar.gz -> gtest-${GTEST_VER}.tar.gz )
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE="sparsehash test"
-
-COMMON_DEPEND="
- >=dev-python/numpy-1.11.3[${PYTHON_USEDEP}]
-"
-RDEPEND="${COMMON_DEPEND}"
-BDEPEND="${COMMON_DEPEND}
- sparsehash? ( dev-cpp/sparsehash )
- test? (
- dev-cpp/gtest
- >=dev-python/pytest-4.4.1[${PYTHON_USEDEP}]
- )
-"
-
-RESTRICT="!test? ( test )"
-REQUIRED_USE="test? ( sparsehash )"
-
-PATCHES=(
- "${FILESDIR}/libpy-0.2.5-no-werror.patch"
- "${FILESDIR}/libpy-0.2.5-permissions.patch"
- "${FILESDIR}/libpy-0.2.5-cflags.patch"
-)
-
-python_test() {
- emake GTEST_ROOT="${WORKDIR}/googletest-${GTEST_VER}" test
-}
-
-python_configure() {
- replace-flags '-O*' '-O3'
-}
diff --git a/dev-libs/libpy/libpy-0.2.5-r2.ebuild b/dev-libs/libpy/libpy-0.2.5-r2.ebuild
new file mode 100644
index 000000000000..e11055754550
--- /dev/null
+++ b/dev-libs/libpy/libpy-0.2.5-r2.ebuild
@@ -0,0 +1,61 @@
+# Copyright 2021-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{9..11} )
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=setuptools
+inherit flag-o-matic distutils-r1
+
+GTEST_VER="23b2a3b1cf803999fb38175f6e9e038a4495c8a5"
+
+DESCRIPTION="Utilities for writing C++ extension modules"
+HOMEPAGE="https://quantopian.github.io/libpy/
+ https://github.com/quantopian/libpy"
+SRC_URI="
+ https://github.com/quantopian/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz
+ test? ( https://github.com/google/googletest/archive/${GTEST_VER}.tar.gz -> gtest-${GTEST_VER}.tar.gz )
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="sparsehash test"
+
+COMMON_DEPEND="
+ >=dev-python/numpy-1.11.3[${PYTHON_USEDEP}]
+"
+RDEPEND="
+ ${COMMON_DEPEND}
+"
+BDEPEND="
+ ${COMMON_DEPEND}
+ sparsehash? ( dev-cpp/sparsehash )
+ test? (
+ dev-cpp/gtest
+ >=dev-python/pytest-4.4.1[${PYTHON_USEDEP}]
+ )
+"
+
+RESTRICT="!test? ( test )"
+REQUIRED_USE="test? ( sparsehash )"
+
+# my C++ isn't good enough to fix the tests
+RESTRICT+=" test"
+
+PATCHES=(
+ "${FILESDIR}/libpy-0.2.5-no-werror.patch"
+ "${FILESDIR}/libpy-0.2.5-permissions.patch"
+ "${FILESDIR}/libpy-0.2.5-cflags.patch"
+ "${FILESDIR}/libpy-0.2.5-stdint.patch"
+ "${FILESDIR}/libpy-0.2.5-setuptools.patch"
+)
+
+python_test() {
+ emake GTEST_ROOT="${WORKDIR}/googletest-${GTEST_VER}" test
+}
+
+python_configure() {
+ replace-flags '-O*' '-O3'
+}
diff --git a/dev-libs/libqt5pas/Manifest b/dev-libs/libqt5pas/Manifest
new file mode 100644
index 000000000000..ee7b671dbf1f
--- /dev/null
+++ b/dev-libs/libqt5pas/Manifest
@@ -0,0 +1 @@
+DIST libqt5pas-1.2.9.tar.gz 77272959 BLAKE2B 2d7b2872a7399eb1a3a7d9fb20fed209900603ae433db75ac2c4244edf5e5981314ed3d8e39143ff30764e7ccbf1286edace9c38505df1cd28b44250bdd07224 SHA512 1a2fbc8451f1954df1d0071c586662ebc3cd0e9a7db5d910e0af86a3095252a5796d4c7abcf3861ad723af26974ac416c5bf919cd77ad5f406295ad7cdf47eb1
diff --git a/dev-libs/libqt5pas/libqt5pas-1.2.9.ebuild b/dev-libs/libqt5pas/libqt5pas-1.2.9.ebuild
new file mode 100644
index 000000000000..cd2b7135bb7c
--- /dev/null
+++ b/dev-libs/libqt5pas/libqt5pas-1.2.9.ebuild
@@ -0,0 +1,35 @@
+# Copyright 2020-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit qmake-utils
+
+MY_P="lazarus-2.2.4-0"
+
+DESCRIPTION="Free Pascal Qt5 bindings library updated by lazarus IDE."
+HOMEPAGE="https://gitlab.com/freepascal.org/lazarus/lazarus"
+SRC_URI="mirror://sourceforge/lazarus/${MY_P}.tar.gz -> ${P}.tar.gz"
+KEYWORDS="~amd64 ~x86"
+
+LICENSE="LGPL-3"
+SLOT="0/2.2"
+
+DEPEND="
+ dev-qt/qtgui:5
+ dev-qt/qtnetwork:5
+ dev-qt/qtprintsupport:5
+ dev-qt/qtx11extras:5
+ dev-qt/qtcore:5
+ dev-qt/qtwidgets:5
+"
+
+S="${WORKDIR}/lazarus/lcl/interfaces/qt5/cbindings"
+
+src_configure() {
+ eqmake5 "QT += x11extras" Qt5Pas.pro
+}
+
+src_install() {
+ emake INSTALL_ROOT="${D}" install
+}
diff --git a/dev-libs/libqt5pas/metadata.xml b/dev-libs/libqt5pas/metadata.xml
new file mode 100644
index 000000000000..fe6d034bcd90
--- /dev/null
+++ b/dev-libs/libqt5pas/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>amynka@gentoo.org</email>
+ <name>Amy Liffey</name>
+ </maintainer>
+ <maintainer type="person" proxied="yes">
+ <email>voron1@gmail.com</email>
+ <name>Michael Corvinus</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="gitlab">freepascal.org/lazarus</remote-id>
+ <remote-id type="sourceforge">lazarus</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/libqtxdg/Manifest b/dev-libs/libqtxdg/Manifest
index b49d35dbca39..f1f0c4a1822b 100644
--- a/dev-libs/libqtxdg/Manifest
+++ b/dev-libs/libqtxdg/Manifest
@@ -1,2 +1,2 @@
-DIST libqtxdg-3.7.1.tar.xz 74832 BLAKE2B 92b0f47412e04fa3100f1045a0ceb69ee7787634ab02883958156b96e756aecae1e916fa9963ef072e1d78f337102b2bfb7a42a1dcd9481fd158dde73e57fcef SHA512 764fb953c5c5564a8f5e189f3fa867b82e1da215e0734d2fb995bb29ba163936a38cf68c6c812ff3c183b7ab4fce59d1189c68885b65f103accb5446e71682e7
-DIST libqtxdg-3.8.0.tar.xz 76044 BLAKE2B c49f1317c55ea09c4fe9aaea3e96851c4e5dcbc797e97a8db58dd34b35151e18c654327b71566b5578319dd7a01862627a52a02ce3840951e15fe01b57666dcc SHA512 e9e8d163fe1a60a2d03787ec3feef6ff6e89dfea4df7c0c7b3a72784992baf49ffeb352894d3cb8747ec0cd49576562f7dae3abbde932d13374f51bc77f14ea1
+DIST libqtxdg-3.11.0.tar.xz 71688 BLAKE2B df5f9ebe6d964a23c89402419e4b6e27812a25d96d065e64c05348fe833e2c27c06e11260c8c58999b232eaf154404549100b81325e02ec7c10eaa40d68ff4cd SHA512 494140fa35e184c128c851f06501b5c62324a796d3f61ed47b750dbdffff756c1a42240d4458797e2f2f01c9b06b997f0fbfc76fe7f99866f7cad084ac1342f7
+DIST libqtxdg-3.12.0.tar.xz 71684 BLAKE2B 909fe97ccd8815d9d923d440abef9f0e9cf28fa8e18220f6998e69ff17a1bbb28b37c734758c01cb0a9537464fb0dd2f38b1f61640fd8468c30f8aac57e62106 SHA512 9db46b0dddb027a24e1c19a2e3679014735cc246f15d32bc5fb9e778cd7d8fb57c9b105f819091308002f0a2eff8269920ecc0d7bd5ce8a01fbaf0b37e61a76e
diff --git a/dev-libs/libqtxdg/libqtxdg-3.11.0.ebuild b/dev-libs/libqtxdg/libqtxdg-3.11.0.ebuild
new file mode 100644
index 000000000000..f10e5814a99a
--- /dev/null
+++ b/dev-libs/libqtxdg/libqtxdg-3.11.0.ebuild
@@ -0,0 +1,57 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake optfeature virtualx
+
+DESCRIPTION="Qt Implementation of XDG Standards"
+HOMEPAGE="https://lxqt-project.org/"
+
+if [[ ${PV} == *9999 ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/lxqt/${PN}.git"
+else
+ SRC_URI="https://github.com/lxqt/${PN}/releases/download/${PV}/${P}.tar.xz"
+ KEYWORDS="amd64 ~arm arm64 ~loong ~ppc64 ~riscv x86"
+fi
+
+LICENSE="LGPL-2.1+ Nokia-Qt-LGPL-Exception-1.1"
+SLOT="0"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+BDEPEND="
+ >=dev-util/lxqt-build-tools-0.13.0
+ virtual/pkgconfig
+"
+RDEPEND="
+ dev-libs/glib:2
+ >=dev-qt/qtcore-5.15:5
+ >=dev-qt/qtdbus-5.15:5
+ >=dev-qt/qtgui-5.15:5=
+ >=dev-qt/qtsvg-5.15:5
+ >=dev-qt/qtwidgets-5.15:5
+ >=dev-qt/qtxml-5.15:5
+ x11-misc/xdg-utils
+"
+DEPEND="${RDEPEND}
+ test? ( >=dev-qt/qttest-5.15:5 )
+"
+
+src_configure() {
+ local mycmakeargs=(
+ -DBUILD_TESTS=$(usex test)
+ )
+
+ cmake_src_configure
+}
+
+src_test() {
+ # Tests don't work with C
+ LC_ALL=en_US.utf8 virtx cmake_src_test
+}
+
+pkg_postinst() {
+ ! has_version lxqt-base/lxqt-meta && optfeature "features that require a terminal emulator" x11-terms/xterm
+}
diff --git a/dev-libs/libqtxdg/libqtxdg-3.12.0.ebuild b/dev-libs/libqtxdg/libqtxdg-3.12.0.ebuild
new file mode 100644
index 000000000000..a865ecebc6cd
--- /dev/null
+++ b/dev-libs/libqtxdg/libqtxdg-3.12.0.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 optfeature virtualx
+
+DESCRIPTION="Qt Implementation of XDG Standards"
+HOMEPAGE="https://lxqt-project.org/"
+
+if [[ ${PV} == *9999 ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/lxqt/${PN}.git"
+else
+ SRC_URI="https://github.com/lxqt/${PN}/releases/download/${PV}/${P}.tar.xz"
+ KEYWORDS="amd64 ~arm arm64 ~loong ~ppc64 ~riscv x86"
+fi
+
+LICENSE="LGPL-2.1+ Nokia-Qt-LGPL-Exception-1.1"
+SLOT="0"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+BDEPEND="
+ >=dev-util/lxqt-build-tools-0.13.0
+ virtual/pkgconfig
+"
+RDEPEND="
+ dev-libs/glib:2
+ >=dev-qt/qtcore-5.15:5
+ >=dev-qt/qtdbus-5.15:5
+ >=dev-qt/qtgui-5.15:5=
+ >=dev-qt/qtsvg-5.15:5
+ >=dev-qt/qtwidgets-5.15:5
+ >=dev-qt/qtxml-5.15:5
+ x11-misc/xdg-utils
+"
+DEPEND="${RDEPEND}
+ test? ( >=dev-qt/qttest-5.15:5 )
+"
+
+src_configure() {
+ local mycmakeargs=(
+ -DBUILD_TESTS=$(usex test)
+ )
+
+ cmake_src_configure
+}
+
+src_test() {
+ # Tests don't work with C
+ LC_ALL=en_US.utf8 virtx cmake_src_test
+}
+
+pkg_postinst() {
+ ! has_version lxqt-base/lxqt-meta && optfeature "features that require a terminal emulator" x11-terms/xterm
+}
diff --git a/dev-libs/libqtxdg/libqtxdg-3.7.1.ebuild b/dev-libs/libqtxdg/libqtxdg-3.7.1.ebuild
deleted file mode 100644
index 3d1d98ca2949..000000000000
--- a/dev-libs/libqtxdg/libqtxdg-3.7.1.ebuild
+++ /dev/null
@@ -1,56 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit cmake optfeature virtualx
-
-DESCRIPTION="Qt Implementation of XDG Standards"
-HOMEPAGE="https://lxqt.github.io/"
-
-if [[ ${PV} == *9999 ]]; then
- inherit git-r3
- EGIT_REPO_URI="https://github.com/lxqt/${PN}.git"
-else
- SRC_URI="https://github.com/lxqt/${PN}/releases/download/${PV}/${P}.tar.xz"
- KEYWORDS="amd64 ~arm ~arm64 ~ppc64 ~riscv x86"
-fi
-
-LICENSE="LGPL-2.1+ Nokia-Qt-LGPL-Exception-1.1"
-SLOT="0"
-IUSE="test"
-
-RESTRICT="!test? ( test )"
-
-BDEPEND="
- >=dev-util/lxqt-build-tools-0.9.0
- virtual/pkgconfig
-"
-RDEPEND="
- dev-qt/qtcore:5
- dev-qt/qtdbus:5
- dev-qt/qtgui:5=
- dev-qt/qtsvg:5
- dev-qt/qtwidgets:5
- dev-qt/qtxml:5
- x11-misc/xdg-utils
-"
-DEPEND="${RDEPEND}
- test? ( dev-qt/qttest:5 )
-"
-
-src_configure() {
- local mycmakeargs=(
- -DBUILD_TESTS=$(usex test)
- )
- cmake_src_configure
-}
-
-src_test() {
- # Tests don't work with C
- LC_ALL=en_US.utf8 virtx cmake_src_test
-}
-
-pkg_postinst() {
- ! has_version lxqt-base/lxqt-meta && optfeature "features that require a terminal emulator" x11-terms/xterm
-}
diff --git a/dev-libs/libqtxdg/libqtxdg-3.8.0.ebuild b/dev-libs/libqtxdg/libqtxdg-3.8.0.ebuild
deleted file mode 100644
index 4d53d7eae82f..000000000000
--- a/dev-libs/libqtxdg/libqtxdg-3.8.0.ebuild
+++ /dev/null
@@ -1,56 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit cmake optfeature virtualx
-
-DESCRIPTION="Qt Implementation of XDG Standards"
-HOMEPAGE="https://lxqt-project.org/"
-
-if [[ ${PV} == *9999 ]]; then
- inherit git-r3
- EGIT_REPO_URI="https://github.com/lxqt/${PN}.git"
-else
- SRC_URI="https://github.com/lxqt/${PN}/releases/download/${PV}/${P}.tar.xz"
- KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86"
-fi
-
-LICENSE="LGPL-2.1+ Nokia-Qt-LGPL-Exception-1.1"
-SLOT="0"
-IUSE="test"
-
-RESTRICT="!test? ( test )"
-
-BDEPEND="
- >=dev-util/lxqt-build-tools-0.10.0
- virtual/pkgconfig
-"
-RDEPEND="
- >=dev-qt/qtcore-5.15:5
- >=dev-qt/qtdbus-5.15:5
- >=dev-qt/qtgui-5.15:5=
- >=dev-qt/qtsvg-5.15:5
- >=dev-qt/qtwidgets-5.15:5
- >=dev-qt/qtxml-5.15:5
- x11-misc/xdg-utils
-"
-DEPEND="${RDEPEND}
- test? ( >=dev-qt/qttest-5.15:5 )
-"
-
-src_configure() {
- local mycmakeargs=(
- -DBUILD_TESTS=$(usex test)
- )
- cmake_src_configure
-}
-
-src_test() {
- # Tests don't work with C
- LC_ALL=en_US.utf8 virtx cmake_src_test
-}
-
-pkg_postinst() {
- ! has_version lxqt-base/lxqt-meta && optfeature "features that require a terminal emulator" x11-terms/xterm
-}
diff --git a/dev-libs/libratbag/Manifest b/dev-libs/libratbag/Manifest
index 668db94d101e..9c0909368ccd 100644
--- a/dev-libs/libratbag/Manifest
+++ b/dev-libs/libratbag/Manifest
@@ -1,2 +1,3 @@
DIST libratbag-0.15.tar.gz 249492 BLAKE2B 0f5b35800cb9f82cb892dacd5e3b041843cf5513507ee4882ec5b3f8c8aec8a24594736f2eb1c8e373a0ee38ace1e6328cbd4816d6e5b2cd1f2154ebd803a5fa SHA512 add47a6b3d771de77c6307e128a549f5295e216059b5a2375aa6b2b6bbebcf9a93d7bf148181b3f39f855976e9b6f57072dd9198d07828bebe85409f4ad994aa
DIST libratbag-0.16.tar.gz 253080 BLAKE2B ede56838c822519b4fe4c6846f5d6d237104fc06f96fb17aa62b4c712965f00827973ebe732ee5ac9a16f101baf0b63eb445fbb97746df3b8ed24d6e085b34e1 SHA512 b3f2fee39ec85c0e08d257753241fb0e553de53eb7409a3b95f93a0fac3989a9411c53c915e72bef19bcfc5682fe9cdafaeb1f41f2718ab02766859f565415e3
+DIST libratbag-0.17.tar.gz 279273 BLAKE2B 7252afc8bca5d95c24d61dbd68c4e486550df7d6d9fa74a8c9d2a58c6363ed2ee289c0d02cdd72c968618f5c08a0687c97836dd2c47b457ba4228f4716b50cb9 SHA512 80ab5c895d83e28b6b6adcd0669854944d7932ef037c8d64b923a7362399e861475e9d81c5ee2cf814f654d7796b00a81314cc177f34e13c8684d525974068c8
diff --git a/dev-libs/libratbag/files/libratbag-0.16-musl-error.h.patch b/dev-libs/libratbag/files/libratbag-0.16-musl-error.h.patch
new file mode 100644
index 000000000000..a3b0b187c154
--- /dev/null
+++ b/dev-libs/libratbag/files/libratbag-0.16-musl-error.h.patch
@@ -0,0 +1,69 @@
+# Since musl doesn't provide error.h we need to check before adding it. If
+# error.h is present in system only then we include it else we use err.h.
+# Already there exists a bug report for this upstream [1]. The devs are open to
+# a custom implementation of error but for now this patch for do it.
+#
+# [1]: https://github.com/libratbag/libratbag/issues/1253
+#
+# Closes: https://bugs.gentoo.org/830557
+--- a/meson.build
++++ b/meson.build
+@@ -74,8 +74,13 @@ dep_libevdev = dependency('libevdev')
+ dep_glib = dependency('glib-2.0')
+ dep_json_glib = dependency('json-glib-1.0')
+ dep_lm = cc.find_library('m')
++error_exists = cc.has_header('error.h')
+ dep_unistring = cc.find_library('unistring')
+
++if error_exists
++ add_global_arguments('-DHAVE_ERROR_H', language : 'c')
++endif
++
+ if get_option('logind-provider') == 'elogind'
+ dep_logind = dependency('libelogind', version : '>=227')
+ else
+--- a/tools/hidpp10-dump-page.c
++++ b/tools/hidpp10-dump-page.c
+@@ -23,7 +23,12 @@
+
+ #include <config.h>
+ #include <errno.h>
++#ifdef HAVE_ERROR_H
+ #include <error.h>
++#else
++#include <err.h>
++#define error(status, errno, ...) err(status, __VA_ARGS__)
++#endif
+ #include <fcntl.h>
+
+ #include <hidpp10.h>
+--- a/tools/hidpp20-dump-page.c
++++ b/tools/hidpp20-dump-page.c
+@@ -23,7 +23,12 @@
+
+ #include <config.h>
+ #include <errno.h>
++#ifdef HAVE_ERROR_H
+ #include <error.h>
++#else
++#include <err.h>
++#define error(status, errno, ...) err(status, __VA_ARGS__)
++#endif
+ #include <fcntl.h>
+
+ #include <hidpp20.h>
+--- a/tools/hidpp20-reset.c
++++ b/tools/hidpp20-reset.c
+@@ -23,7 +23,12 @@
+
+ #include <config.h>
+ #include <errno.h>
++#ifdef HAVE_ERROR_H
+ #include <error.h>
++#else
++#include <err.h>
++#define error(status, errno, ...) err(status, __VA_ARGS__)
++#endif
+ #include <fcntl.h>
+
+ #include <hidpp20.h>
diff --git a/dev-libs/libratbag/libratbag-0.15.ebuild b/dev-libs/libratbag/libratbag-0.15.ebuild
index b46974b3385e..ba7c076793e6 100644
--- a/dev-libs/libratbag/libratbag-0.15.ebuild
+++ b/dev-libs/libratbag/libratbag-0.15.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=7
+EAPI=8
-PYTHON_COMPAT=( python3_{8..9} )
+PYTHON_COMPAT=( python3_10 )
inherit meson python-single-r1 systemd udev
@@ -25,26 +25,33 @@ BDEPEND="
${PYTHON_DEPS}
dev-lang/swig
virtual/pkgconfig
- doc? ( app-doc/doxygen )
+ doc? (
+ $(python_gen_cond_dep '
+ dev-python/sphinx[${PYTHON_USEDEP}]
+ dev-python/sphinx-rtd-theme[${PYTHON_USEDEP}]
+ ')
+ )
test? (
dev-libs/check
dev-libs/gobject-introspection
- dev-util/valgrind
+ dev-debug/valgrind
$(python_gen_cond_dep '
+ dev-python/evdev[${PYTHON_USEDEP}]
dev-python/pygobject:3[${PYTHON_USEDEP}]
- dev-python/python-evdev[${PYTHON_USEDEP}]
')
)
"
RDEPEND="
${PYTHON_DEPS}
acct-group/plugdev
+ dev-libs/glib:2
dev-libs/json-glib
dev-libs/libevdev
- virtual/libudev
+ dev-libs/libunistring:=
+ virtual/libudev:=
$(python_gen_cond_dep '
dev-python/pygobject:3[${PYTHON_USEDEP}]
- dev-python/python-evdev[${PYTHON_USEDEP}]
+ dev-python/evdev[${PYTHON_USEDEP}]
')
elogind? ( sys-auth/elogind )
systemd? ( sys-apps/systemd )
diff --git a/dev-libs/libratbag/libratbag-0.16.ebuild b/dev-libs/libratbag/libratbag-0.16.ebuild
index b46974b3385e..ad08ddd3c6db 100644
--- a/dev-libs/libratbag/libratbag-0.16.ebuild
+++ b/dev-libs/libratbag/libratbag-0.16.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=7
+EAPI=8
-PYTHON_COMPAT=( python3_{8..9} )
+PYTHON_COMPAT=( python3_10 )
inherit meson python-single-r1 systemd udev
@@ -25,26 +25,33 @@ BDEPEND="
${PYTHON_DEPS}
dev-lang/swig
virtual/pkgconfig
- doc? ( app-doc/doxygen )
+ doc? (
+ $(python_gen_cond_dep '
+ dev-python/sphinx[${PYTHON_USEDEP}]
+ dev-python/sphinx-rtd-theme[${PYTHON_USEDEP}]
+ ')
+ )
test? (
dev-libs/check
dev-libs/gobject-introspection
- dev-util/valgrind
+ dev-debug/valgrind
$(python_gen_cond_dep '
+ dev-python/evdev[${PYTHON_USEDEP}]
dev-python/pygobject:3[${PYTHON_USEDEP}]
- dev-python/python-evdev[${PYTHON_USEDEP}]
')
)
"
RDEPEND="
${PYTHON_DEPS}
acct-group/plugdev
+ dev-libs/glib:2
dev-libs/json-glib
dev-libs/libevdev
- virtual/libudev
+ dev-libs/libunistring:=
+ virtual/libudev:=
$(python_gen_cond_dep '
dev-python/pygobject:3[${PYTHON_USEDEP}]
- dev-python/python-evdev[${PYTHON_USEDEP}]
+ dev-python/evdev[${PYTHON_USEDEP}]
')
elogind? ( sys-auth/elogind )
systemd? ( sys-apps/systemd )
@@ -54,6 +61,10 @@ DEPEND="
dev-libs/gobject-introspection
"
+PATCHES=(
+ "${FILESDIR}"/${PN}-0.16-musl-error.h.patch
+)
+
src_prepare() {
default
diff --git a/dev-libs/libratbag/libratbag-0.17.ebuild b/dev-libs/libratbag/libratbag-0.17.ebuild
new file mode 100644
index 000000000000..79d932aef8d8
--- /dev/null
+++ b/dev-libs/libratbag/libratbag-0.17.ebuild
@@ -0,0 +1,102 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..11} )
+
+inherit meson python-single-r1 systemd udev
+
+DESCRIPTION="Library to configure gaming mice"
+HOMEPAGE="https://github.com/libratbag/libratbag"
+SRC_URI="https://github.com/${PN}/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="doc elogind systemd test"
+REQUIRED_USE="
+ ${PYTHON_REQUIRED_USE}
+ ^^ ( elogind systemd )
+"
+RESTRICT="!test? ( test )"
+
+BDEPEND="
+ ${PYTHON_DEPS}
+ dev-lang/swig
+ virtual/pkgconfig
+ doc? (
+ $(python_gen_cond_dep '
+ dev-python/sphinx[${PYTHON_USEDEP}]
+ dev-python/sphinx-rtd-theme[${PYTHON_USEDEP}]
+ ')
+ )
+ test? (
+ dev-libs/check
+ dev-libs/gobject-introspection
+ dev-debug/valgrind
+ $(python_gen_cond_dep '
+ dev-python/evdev[${PYTHON_USEDEP}]
+ dev-python/pygobject:3[${PYTHON_USEDEP}]
+ ')
+ )
+"
+RDEPEND="
+ ${PYTHON_DEPS}
+ acct-group/plugdev
+ dev-libs/glib:2
+ dev-libs/json-glib
+ dev-libs/libevdev
+ dev-libs/libunistring:=
+ virtual/libudev:=
+ $(python_gen_cond_dep '
+ dev-python/pygobject:3[${PYTHON_USEDEP}]
+ dev-python/evdev[${PYTHON_USEDEP}]
+ ')
+ elogind? ( sys-auth/elogind )
+ systemd? ( sys-apps/systemd )
+"
+DEPEND="
+ ${RDEPEND}
+ dev-libs/gobject-introspection
+"
+
+src_prepare() {
+ default
+
+ if use elogind ; then
+ # Fix systemd includes for elogind
+ sed -i -e 's@include <systemd@include <elogind@' \
+ ratbagd/ratbag*.c || die
+ fi
+}
+
+src_configure() {
+ python_setup
+
+ local emesonargs=(
+ $(meson_use doc documentation)
+ $(meson_use systemd)
+ $(meson_use test tests)
+ -Ddbus-group="plugdev"
+ -Dlogind-provider=$(usex elogind elogind systemd)
+ -Dsystemd-unit-dir="$(systemd_get_systemunitdir)"
+ -Dudev-dir="${EPREFIX}$(get_udevdir)"
+ )
+
+ meson_src_configure
+}
+
+src_install() {
+ meson_src_install
+ python_fix_shebang "${ED}"/usr/bin/
+ newinitd "${FILESDIR}"/ratbagd.init ratbagd
+}
+
+pkg_postinst() {
+ if [[ -z "${REPLACING_VERSIONS}" ]] ; then
+ elog 'You need to be in "plugdev" group in order to access the'
+ elog 'ratbagd dbus interface'
+ fi
+ elog 'You may be required to create and/or be part of the "games" group if you intend on using piper'
+}
diff --git a/dev-libs/libratbag/metadata.xml b/dev-libs/libratbag/metadata.xml
index 1829a7338338..1c15b5e3eafc 100644
--- a/dev-libs/libratbag/metadata.xml
+++ b/dev-libs/libratbag/metadata.xml
@@ -9,10 +9,6 @@
<email>proxy-maint@gentoo.org</email>
<name>Proxy Maintainers</name>
</maintainer>
- <maintainer type="person" proxied="proxy">
- <email>polynomial-c@gentoo.org</email>
- <name>Lars Wendler</name>
- </maintainer>
<upstream>
<remote-id type="github">libratbag/libratbag</remote-id>
</upstream>
diff --git a/dev-libs/librdkafka/Manifest b/dev-libs/librdkafka/Manifest
index 6fa639baa2c9..3a72062c282c 100644
--- a/dev-libs/librdkafka/Manifest
+++ b/dev-libs/librdkafka/Manifest
@@ -1,9 +1,3 @@
-DIST librdkafka-1.4.4.tar.gz 2734332 BLAKE2B 47c22f00d88d58eb6366e17a8f0ddaee4984bc65f01a627c5d3b8eee019519a2de9a7ae6e2ab2053354a5d72337107b7f515ad65ff205b6838e154b95d9f2331 SHA512 478d17f56efd39b312ea774695bc31d22a83aae3a94913fb0dd07e7f04f3f2a6e3f3610dc7501864dbacbcf4a3207603c6e1d5eebac4e5246ee868cde398021d
-DIST librdkafka-1.5.0.tar.gz 2757553 BLAKE2B a9bbcdaa011944e43f9c70e2062199c5f12d1b92e40ba55707520002ed3a909ff13308336703924388625570d88a94d58b24cd19b5d6e9f79acd31dd92d0d7ed SHA512 ccd8dd3e90c9315833610745c28e0ffa60786324c938c7cbbb2ff847d7493d1b72d97adf5e5210bbc87970047cfd7e58a85141534d227187f2f17c492bef4262
-DIST librdkafka-1.5.2.tar.gz 2771823 BLAKE2B 61a56d36ba49539eb52f89a0d5b48e0245b1cedd09c40e65063d65208b50bb95aa5f00ce3c050d4203b4720b2ce63a9f1d6eee7100fdf85c50e7a15457a52010 SHA512 6a796c58aef9d91fe85f3815ee523a0dcafad59f33c83e5c20c62d4e4337c21c2d223dd0d6a88f37cf86d14a8e55facfa87c651990e08d9522f7cf78b0d17446
-DIST librdkafka-1.5.3.tar.gz 2773929 BLAKE2B f23ed9fe04af5d17ee2066366d32701a07f1360d665fd06126008f42e2512434848829eeb2578b35bd7f8fb26663d72c3d2ee22a5b3f33b7029df28f919b2b77 SHA512 24c93658462f933766a026fede5f09e1056ee9532f27b56da64bdde5626ac6f2460bc92b950337a7c3a99d75201a3c3bc5aaa78e888ffd9665e248d62f2c87d9
-DIST librdkafka-1.6.0.tar.gz 2909665 BLAKE2B 64b9098531febc0c4b06ce8d6d6cc65b9895cda9b40c9d9fd8b70d5febbb2c851856fb71a355d606074dae9e026277da5e65d0e9ed44a3dfd76b2b55cc142651 SHA512 b58d701f71342eb2c29ecd5aa0514af351b5a5d2282768e034b5995300fcbe2c416d6b4e15dfaddaacf2ec3b7571a320bf5356ade3fe33598d3f05f99f6553ba
-DIST librdkafka-1.6.1.tar.gz 2920909 BLAKE2B 03d949319b022bc933a9b816660f87498cf9df460f41c65f08e5f6aa22cf5766974f4abe5fe0078054a21df45cc0b46f30383ce83743348fd3124e3b9ffed7f5 SHA512 19f64f275c7cd1c60f026a466c79021549e4acced60e6c01b364944ddb2f4a2c0784ab35031275c406b638a14b958c6f904177e51e2fcb4d058c541d046677dc
-DIST librdkafka-1.7.0.tar.gz 2946082 BLAKE2B ea74e2dbd0e25ed998a80a0c964e78993f233c3fec1555dbefe11e0e9a407badcc903fbdef47289c82627a67cfce0d995a2786b90e810d874ccba04ba81fbc67 SHA512 2fb1eb1821d6eb2e3c4346aebd26a96c612f18a055e6861c49231957e8694758bd31aafa45c066280d6b1359e95e5a61927a276dab161356448da0685f5658fa
-DIST librdkafka-1.8.0.tar.gz 4092247 BLAKE2B e35235d92a5253956e24946493f03fa9f575efafb94279d4982e0aa86508fed5f4ce66887adab71168f03f61c0917e8722aa5d0314ea2d86b069fb52402e8e89 SHA512 6a612f0e2f7028c7b46314615e22a39ad36f54a2b83fe75e1f838eae7bb33d9bf5bdf45fbf8471af18ddb9c54bff8514180918e6ab15ff1faa4555af4a1e35e0
DIST librdkafka-1.8.2.tar.gz 4097028 BLAKE2B 37a3190417e973ea4629012e358ff61cda45eb0134448dd0054fd1f1cac57f3543b133331b0b0d518f219f30f79f7665a214c75084d6a8474687b7e686395724 SHA512 8c8ae291129b78e3b8367307ad1b1715af1438cd76d7160d64d13a58adf84c7c9f51efeba4656f55e101c25e4cb744db0d8bb5c01a2decb229e4567d16bdcb22
+DIST librdkafka-2.1.1.tar.gz 4281061 BLAKE2B 8200c2aee0d04109cb78f13b186cf907f3260ee6a17a2fffc4f7706ed9cbea9436eb31d17167e9af783495ef2365f7401bbdc671d5a8d7e7f2ecb9b5c7d57fbb SHA512 6bf1761e7ed1820b587fda24277f6606ec046da281064df13c4380f49a92f3e2b165614b9c622d46b27078ec024a4dc211610e500e597265e8219f8869c4d203
+DIST librdkafka-2.2.0.tar.gz 4340164 BLAKE2B 394c9fd25db0a3a02b16fec3d5d5acc4808b4c8a6c8e025e71f15a91c6311206bf4d7c863860be36483c150bb10955cdc98ba0f088fa493b20ae52154e2a83d0 SHA512 1a85b5864efdeece1327e461b62a378f24b73eb7174168f630aeff01d4a5074d6b2f15744bc267665fcfc6384e804df00c20b7271ecd85a98dca84746b86b4d9
diff --git a/dev-libs/librdkafka/files/librdkafka-2.2.0-backport-pr4449.patch b/dev-libs/librdkafka/files/librdkafka-2.2.0-backport-pr4449.patch
new file mode 100644
index 000000000000..cc6b57ea72d2
--- /dev/null
+++ b/dev-libs/librdkafka/files/librdkafka-2.2.0-backport-pr4449.patch
@@ -0,0 +1,285 @@
+https://bugs.gentoo.org/915433
+https://github.com/confluentinc/librdkafka/pull/4449
+
+From 8b311b8a850805f4ec9bb068c0edb31492ad03fe Mon Sep 17 00:00:00 2001
+From: Emanuele Sabellico <esabellico@confluent.io>
+Date: Wed, 27 Sep 2023 11:08:33 +0200
+Subject: [PATCH 1/3] tmpabuf refactor and fix for insufficient buffer
+ allocation
+
+---
+ CHANGELOG.md | 10 ++++++
+ src/rdkafka_buf.h | 25 ++++++++++++---
+ src/rdkafka_metadata.c | 59 +++++++++++++++++++-----------------
+ src/rdkafka_metadata_cache.c | 38 +++++++++++------------
+ src/rdkafka_topic.c | 36 +++++++++++++---------
+ 5 files changed, 100 insertions(+), 68 deletions(-)
+
+diff --git a/src/rdkafka_buf.h b/src/rdkafka_buf.h
+index ccd563cc6..623ec49ae 100644
+--- a/src/rdkafka_buf.h
++++ b/src/rdkafka_buf.h
+@@ -49,21 +49,36 @@ typedef struct rd_tmpabuf_s {
+ size_t of;
+ char *buf;
+ int failed;
+- int assert_on_fail;
++ rd_bool_t assert_on_fail;
+ } rd_tmpabuf_t;
+
+ /**
+- * @brief Allocate new tmpabuf with \p size bytes pre-allocated.
++ * @brief Initialize new tmpabuf of non-final \p size bytes.
+ */
+ static RD_UNUSED void
+-rd_tmpabuf_new(rd_tmpabuf_t *tab, size_t size, int assert_on_fail) {
+- tab->buf = rd_malloc(size);
+- tab->size = size;
++rd_tmpabuf_new(rd_tmpabuf_t *tab, size_t size, rd_bool_t assert_on_fail) {
++ tab->buf = NULL;
++ tab->size = RD_ROUNDUP(size, 8);
+ tab->of = 0;
+ tab->failed = 0;
+ tab->assert_on_fail = assert_on_fail;
+ }
+
++/**
++ * @brief Add a new allocation of \p _size bytes,
++ * rounded up to maximum word size,
++ * for \p _times times.
++ */
++#define rd_tmpabuf_add_alloc_times(_tab, _size, _times) \
++ (_tab)->size += RD_ROUNDUP(_size, 8) * _times
++
++#define rd_tmpabuf_add_alloc(_tab, _size) \
++ rd_tmpabuf_add_alloc_times(_tab, _size, 1)
++/**
++ * @brief Finalize tmpabuf pre-allocating tab->size bytes.
++ */
++#define rd_tmpabuf_finalize(_tab) (_tab)->buf = rd_malloc((_tab)->size)
++
+ /**
+ * @brief Free memory allocated by tmpabuf
+ */
+diff --git a/src/rdkafka_metadata.c b/src/rdkafka_metadata.c
+index f96edf658..6c2f60ae3 100644
+--- a/src/rdkafka_metadata.c
++++ b/src/rdkafka_metadata.c
+@@ -164,7 +164,8 @@ static rd_kafka_metadata_internal_t *rd_kafka_metadata_copy_internal(
+ * Because of this we copy all the structs verbatim but
+ * any pointer fields needs to be copied explicitly to update
+ * the pointer address. */
+- rd_tmpabuf_new(&tbuf, size, 1 /*assert on fail*/);
++ rd_tmpabuf_new(&tbuf, size, rd_true /*assert on fail*/);
++ rd_tmpabuf_finalize(&tbuf);
+ mdi = rd_tmpabuf_write(&tbuf, src, sizeof(*mdi));
+ md = &mdi->metadata;
+
+@@ -506,11 +507,13 @@ rd_kafka_parse_Metadata(rd_kafka_broker_t *rkb,
+ * no more than 4 times larger than the wire representation.
+ * This is increased to 5 times in case if we want to compute partition
+ * to rack mapping. */
+- rd_tmpabuf_new(&tbuf,
+- sizeof(*mdi) + rkb_namelen +
+- (rkbuf->rkbuf_totlen * 4 +
+- (compute_racks ? rkbuf->rkbuf_totlen : 0)),
+- 0 /*dont assert on fail*/);
++ rd_tmpabuf_new(&tbuf, 0, rd_false /*dont assert on fail*/);
++ rd_tmpabuf_add_alloc(&tbuf, sizeof(*mdi));
++ rd_tmpabuf_add_alloc(&tbuf, rkb_namelen);
++ rd_tmpabuf_add_alloc(&tbuf, rkbuf->rkbuf_totlen *
++ (4 + (compute_racks ? 1 : 0)));
++
++ rd_tmpabuf_finalize(&tbuf);
+
+ if (!(mdi = rd_tmpabuf_alloc(&tbuf, sizeof(*mdi)))) {
+ rd_kafka_broker_unlock(rkb);
+@@ -1603,35 +1606,37 @@ rd_kafka_metadata_new_topic_mock(const rd_kafka_metadata_topic_t *topics,
+ rd_kafka_metadata_internal_t *mdi;
+ rd_kafka_metadata_t *md;
+ rd_tmpabuf_t tbuf;
+- size_t topic_names_size = 0;
+- int total_partition_cnt = 0;
+ size_t i;
+ int curr_broker = 0;
+
+- /* Calculate total partition count and topic names size before
+- * allocating memory. */
+- for (i = 0; i < topic_cnt; i++) {
+- topic_names_size += 1 + strlen(topics[i].topic);
+- total_partition_cnt += topics[i].partition_cnt;
+- }
+-
+ /* If the replication factor is given, num_brokers must also be given */
+ rd_assert(replication_factor <= 0 || num_brokers > 0);
+
+ /* Allocate contiguous buffer which will back all the memory
+ * needed by the final metadata_t object */
+- rd_tmpabuf_new(
+- &tbuf,
+- sizeof(*mdi) + (sizeof(*md->topics) * topic_cnt) +
+- topic_names_size + (64 /*topic name size..*/ * topic_cnt) +
+- (sizeof(*md->topics[0].partitions) * total_partition_cnt) +
+- (sizeof(*mdi->topics) * topic_cnt) +
+- (sizeof(*mdi->topics[0].partitions) * total_partition_cnt) +
+- (sizeof(*mdi->brokers) * RD_ROUNDUP(num_brokers, 8)) +
+- (replication_factor > 0 ? RD_ROUNDUP(replication_factor, 8) *
+- total_partition_cnt * sizeof(int)
+- : 0),
+- 1 /*assert on fail*/);
++ rd_tmpabuf_new(&tbuf, sizeof(*mdi), rd_true /*assert on fail*/);
++
++ rd_tmpabuf_add_alloc(&tbuf, topic_cnt * sizeof(*md->topics));
++ rd_tmpabuf_add_alloc(&tbuf, topic_cnt * sizeof(*mdi->topics));
++ rd_tmpabuf_add_alloc(&tbuf, num_brokers * sizeof(*md->brokers));
++
++ /* Calculate total partition count and topic names size before
++ * allocating memory. */
++ for (i = 0; i < topic_cnt; i++) {
++ rd_tmpabuf_add_alloc(&tbuf, 1 + strlen(topics[i].topic));
++ rd_tmpabuf_add_alloc(&tbuf,
++ topics[i].partition_cnt *
++ sizeof(*md->topics[i].partitions));
++ rd_tmpabuf_add_alloc(&tbuf,
++ topics[i].partition_cnt *
++ sizeof(*mdi->topics[i].partitions));
++ if (replication_factor > 0)
++ rd_tmpabuf_add_alloc_times(
++ &tbuf, replication_factor * sizeof(int),
++ topics[i].partition_cnt);
++ }
++
++ rd_tmpabuf_finalize(&tbuf);
+
+ mdi = rd_tmpabuf_alloc(&tbuf, sizeof(*mdi));
+ memset(mdi, 0, sizeof(*mdi));
+diff --git a/src/rdkafka_metadata_cache.c b/src/rdkafka_metadata_cache.c
+index 18f19a4d0..1530e699e 100644
+--- a/src/rdkafka_metadata_cache.c
++++ b/src/rdkafka_metadata_cache.c
+@@ -249,8 +249,6 @@ static struct rd_kafka_metadata_cache_entry *rd_kafka_metadata_cache_insert(
+ rd_kafka_metadata_broker_internal_t *brokers_internal,
+ size_t broker_cnt) {
+ struct rd_kafka_metadata_cache_entry *rkmce, *old;
+- size_t topic_len;
+- size_t racks_size = 0;
+ rd_tmpabuf_t tbuf;
+ int i;
+
+@@ -261,34 +259,32 @@ static struct rd_kafka_metadata_cache_entry *rd_kafka_metadata_cache_insert(
+ * any pointer fields needs to be copied explicitly to update
+ * the pointer address.
+ * See also rd_kafka_metadata_cache_delete which frees this. */
+- topic_len = strlen(mtopic->topic) + 1;
++ rd_tmpabuf_new(&tbuf, 0, rd_true /*assert on fail*/);
++
++ rd_tmpabuf_add_alloc(&tbuf, sizeof(*rkmce));
++ rd_tmpabuf_add_alloc(&tbuf, strlen(mtopic->topic) + 1);
++ rd_tmpabuf_add_alloc(&tbuf, mtopic->partition_cnt *
++ sizeof(*mtopic->partitions));
++ rd_tmpabuf_add_alloc(&tbuf,
++ mtopic->partition_cnt *
++ sizeof(*metadata_internal_topic->partitions));
+
+ for (i = 0; include_racks && i < mtopic->partition_cnt; i++) {
+ size_t j;
+- racks_size += RD_ROUNDUP(
+- metadata_internal_topic->partitions[i].racks_cnt *
+- sizeof(char *),
+- 8);
++ rd_tmpabuf_add_alloc(
++ &tbuf, metadata_internal_topic->partitions[i].racks_cnt *
++ sizeof(char *));
+ for (j = 0;
+ j < metadata_internal_topic->partitions[i].racks_cnt;
+ j++) {
+- racks_size += RD_ROUNDUP(
+- strlen(metadata_internal_topic->partitions[i]
+- .racks[j]) +
+- 1,
+- 8);
++ rd_tmpabuf_add_alloc(
++ &tbuf, strlen(metadata_internal_topic->partitions[i]
++ .racks[j]) +
++ 1);
+ }
+ }
+
+- rd_tmpabuf_new(
+- &tbuf,
+- RD_ROUNDUP(sizeof(*rkmce), 8) + RD_ROUNDUP(topic_len, 8) +
+- (mtopic->partition_cnt *
+- RD_ROUNDUP(sizeof(*mtopic->partitions), 8)) +
+- (mtopic->partition_cnt *
+- RD_ROUNDUP(sizeof(*metadata_internal_topic->partitions), 8)) +
+- racks_size,
+- 1 /*assert on fail*/);
++ rd_tmpabuf_finalize(&tbuf);
+
+ rkmce = rd_tmpabuf_alloc(&tbuf, sizeof(*rkmce));
+
+diff --git a/src/rdkafka_topic.c b/src/rdkafka_topic.c
+index 3b3986d43..b63a0bbea 100644
+--- a/src/rdkafka_topic.c
++++ b/src/rdkafka_topic.c
+@@ -1831,38 +1831,44 @@ rd_kafka_topic_info_t *rd_kafka_topic_info_new_with_rack(
+ const rd_kafka_metadata_partition_internal_t *mdpi) {
+ rd_kafka_topic_info_t *ti;
+ rd_tmpabuf_t tbuf;
+- size_t tlen = RD_ROUNDUP(strlen(topic) + 1, 8);
+- size_t total_racks_size = 0;
+ int i;
++ rd_bool_t has_racks = rd_false;
+
++ rd_tmpabuf_new(&tbuf, 0, rd_true /* assert on fail */);
++
++ rd_tmpabuf_add_alloc(&tbuf, sizeof(*ti));
++ rd_tmpabuf_add_alloc(&tbuf, strlen(topic) + 1);
+ for (i = 0; i < partition_cnt; i++) {
+ size_t j;
+ if (!mdpi[i].racks)
+ continue;
+
++ if (unlikely(!has_racks))
++ has_racks = rd_true;
++
+ for (j = 0; j < mdpi[i].racks_cnt; j++) {
+- total_racks_size +=
+- RD_ROUNDUP(strlen(mdpi[i].racks[j]) + 1, 8);
++ rd_tmpabuf_add_alloc(&tbuf,
++ strlen(mdpi[i].racks[j]) + 1);
+ }
+- total_racks_size +=
+- RD_ROUNDUP(sizeof(char *) * mdpi[i].racks_cnt, 8);
++ rd_tmpabuf_add_alloc(&tbuf, sizeof(char *) * mdpi[i].racks_cnt);
++ }
++
++ /* Only bother allocating this if at least one
++ * rack is there. */
++ if (has_racks) {
++ rd_tmpabuf_add_alloc(
++ &tbuf, sizeof(rd_kafka_metadata_partition_internal_t) *
++ partition_cnt);
+ }
+
+- if (total_racks_size) /* Only bother allocating this if at least one
+- rack is there. */
+- total_racks_size +=
+- RD_ROUNDUP(sizeof(rd_kafka_metadata_partition_internal_t) *
+- partition_cnt,
+- 8);
++ rd_tmpabuf_finalize(&tbuf);
+
+- rd_tmpabuf_new(&tbuf, sizeof(*ti) + tlen + total_racks_size,
+- 1 /* assert on fail */);
+ ti = rd_tmpabuf_alloc(&tbuf, sizeof(*ti));
+ ti->topic = rd_tmpabuf_write_str(&tbuf, topic);
+ ti->partition_cnt = partition_cnt;
+ ti->partitions_internal = NULL;
+
+- if (total_racks_size) {
++ if (has_racks) {
+ ti->partitions_internal = rd_tmpabuf_alloc(
+ &tbuf, sizeof(*ti->partitions_internal) * partition_cnt);
+
+
diff --git a/dev-libs/librdkafka/librdkafka-1.4.4.ebuild b/dev-libs/librdkafka/librdkafka-1.4.4.ebuild
deleted file mode 100644
index 141ec0f49725..000000000000
--- a/dev-libs/librdkafka/librdkafka-1.4.4.ebuild
+++ /dev/null
@@ -1,83 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-
-inherit toolchain-funcs
-
-DESCRIPTION="Apache Kafka C/C++ client library"
-HOMEPAGE="https://github.com/edenhill/librdkafka"
-
-if [[ ${PV} == "9999" ]]; then
- EGIT_REPO_URI="https://github.com/edenhill/${PN}.git"
-
- inherit git-r3
-else
- SRC_URI="https://github.com/edenhill/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
- KEYWORDS="amd64 arm arm64 ~hppa ~ppc ~ppc64 ~sparc x86"
-fi
-
-LICENSE="BSD-2"
-
-# subslot = soname version
-SLOT="0/1"
-
-IUSE="lz4 sasl ssl static-libs zstd"
-
-LIB_DEPEND="
- lz4? ( app-arch/lz4:=[static-libs(+)] )
- sasl? ( dev-libs/cyrus-sasl:=[static-libs(+)] )
- ssl? ( dev-libs/openssl:0=[static-libs(+)] )
- zstd? ( app-arch/zstd:=[static-libs(+)] )
- sys-libs/zlib:=[static-libs(+)]
-"
-
-RDEPEND="!static-libs? ( ${LIB_DEPEND//\[static-libs(+)]} )"
-
-DEPEND="
- ${RDEPEND}
- virtual/pkgconfig
- static-libs? ( ${LIB_DEPEND} )
-"
-
-src_prepare() {
- default
-
- if [[ ${PV} != "9999" ]]; then
- sed -i \
- -e "s/^\(export RDKAFKA_GITVER=\).*/\1\"${PV}@release\"/" \
- tests/run-test.sh || die
- fi
-}
-
-src_configure() {
- tc-export AR CC CXX LD NM OBJDUMP PKG_CONFIG STRIP
-
- local myeconf=(
- --no-cache
- --no-download
- --disable-debug-symbols
- $(use_enable lz4)
- $(use_enable sasl)
- $(usex static-libs '--enable-static' '')
- $(use_enable ssl)
- $(use_enable zstd)
- )
-
- econf ${myeconf[@]}
-}
-
-src_test() {
- emake -C tests run_local
-}
-
-src_install() {
- emake -j1 \
- DESTDIR="${D}" \
- docdir="/usr/share/doc/${PF}" \
- install
-
- if ! use static-libs; then
- find "${ED}" -type f \( -name "*.a" -o -name "*.la" \) -delete || die
- fi
-}
diff --git a/dev-libs/librdkafka/librdkafka-1.5.0.ebuild b/dev-libs/librdkafka/librdkafka-1.5.0.ebuild
deleted file mode 100644
index a74151499c17..000000000000
--- a/dev-libs/librdkafka/librdkafka-1.5.0.ebuild
+++ /dev/null
@@ -1,93 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-
-PYTHON_COMPAT=( python3_{7..9} )
-
-inherit python-any-r1 toolchain-funcs
-
-DESCRIPTION="Apache Kafka C/C++ client library"
-HOMEPAGE="https://github.com/edenhill/librdkafka"
-
-if [[ ${PV} == "9999" ]]; then
- EGIT_REPO_URI="https://github.com/edenhill/${PN}.git"
-
- inherit git-r3
-else
- SRC_URI="https://github.com/edenhill/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
- KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~sparc ~x86"
-fi
-
-LICENSE="BSD-2"
-
-# subslot = soname version
-SLOT="0/1"
-
-IUSE="lz4 sasl ssl static-libs zstd"
-
-LIB_DEPEND="
- lz4? ( app-arch/lz4:=[static-libs(+)] )
- sasl? ( dev-libs/cyrus-sasl:=[static-libs(+)] )
- ssl? ( dev-libs/openssl:0=[static-libs(+)] )
- zstd? ( app-arch/zstd:=[static-libs(+)] )
- sys-libs/zlib:=[static-libs(+)]
-"
-
-BDEPEND="
- virtual/pkgconfig
- ${PYTHON_DEPS}
-"
-
-RDEPEND="!static-libs? ( ${LIB_DEPEND//\[static-libs(+)]} )"
-
-DEPEND="
- ${RDEPEND}
- static-libs? ( ${LIB_DEPEND} )
-"
-
-pkg_setup() {
- python-any-r1_pkg_setup
-}
-
-src_prepare() {
- default
-
- if [[ ${PV} != "9999" ]]; then
- sed -i \
- -e "s/^\(export RDKAFKA_GITVER=\).*/\1\"${PV}@release\"/" \
- tests/run-test.sh || die
- fi
-}
-
-src_configure() {
- tc-export AR CC CXX LD NM OBJDUMP PKG_CONFIG STRIP
-
- local myeconf=(
- --no-cache
- --no-download
- --disable-debug-symbols
- $(use_enable lz4)
- $(use_enable sasl)
- $(usex static-libs '--enable-static' '')
- $(use_enable ssl)
- $(use_enable zstd)
- )
-
- econf ${myeconf[@]}
-}
-
-src_test() {
- emake -C tests run_local
-}
-
-src_install() {
- emake -j1 \
- DESTDIR="${D}" \
- docdir="/usr/share/doc/${PF}" \
- install
-
- if ! use static-libs; then
- find "${ED}" -type f \( -name "*.a" -o -name "*.la" \) -delete || die
- fi
-}
diff --git a/dev-libs/librdkafka/librdkafka-1.5.2.ebuild b/dev-libs/librdkafka/librdkafka-1.5.2.ebuild
deleted file mode 100644
index a74151499c17..000000000000
--- a/dev-libs/librdkafka/librdkafka-1.5.2.ebuild
+++ /dev/null
@@ -1,93 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-
-PYTHON_COMPAT=( python3_{7..9} )
-
-inherit python-any-r1 toolchain-funcs
-
-DESCRIPTION="Apache Kafka C/C++ client library"
-HOMEPAGE="https://github.com/edenhill/librdkafka"
-
-if [[ ${PV} == "9999" ]]; then
- EGIT_REPO_URI="https://github.com/edenhill/${PN}.git"
-
- inherit git-r3
-else
- SRC_URI="https://github.com/edenhill/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
- KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~sparc ~x86"
-fi
-
-LICENSE="BSD-2"
-
-# subslot = soname version
-SLOT="0/1"
-
-IUSE="lz4 sasl ssl static-libs zstd"
-
-LIB_DEPEND="
- lz4? ( app-arch/lz4:=[static-libs(+)] )
- sasl? ( dev-libs/cyrus-sasl:=[static-libs(+)] )
- ssl? ( dev-libs/openssl:0=[static-libs(+)] )
- zstd? ( app-arch/zstd:=[static-libs(+)] )
- sys-libs/zlib:=[static-libs(+)]
-"
-
-BDEPEND="
- virtual/pkgconfig
- ${PYTHON_DEPS}
-"
-
-RDEPEND="!static-libs? ( ${LIB_DEPEND//\[static-libs(+)]} )"
-
-DEPEND="
- ${RDEPEND}
- static-libs? ( ${LIB_DEPEND} )
-"
-
-pkg_setup() {
- python-any-r1_pkg_setup
-}
-
-src_prepare() {
- default
-
- if [[ ${PV} != "9999" ]]; then
- sed -i \
- -e "s/^\(export RDKAFKA_GITVER=\).*/\1\"${PV}@release\"/" \
- tests/run-test.sh || die
- fi
-}
-
-src_configure() {
- tc-export AR CC CXX LD NM OBJDUMP PKG_CONFIG STRIP
-
- local myeconf=(
- --no-cache
- --no-download
- --disable-debug-symbols
- $(use_enable lz4)
- $(use_enable sasl)
- $(usex static-libs '--enable-static' '')
- $(use_enable ssl)
- $(use_enable zstd)
- )
-
- econf ${myeconf[@]}
-}
-
-src_test() {
- emake -C tests run_local
-}
-
-src_install() {
- emake -j1 \
- DESTDIR="${D}" \
- docdir="/usr/share/doc/${PF}" \
- install
-
- if ! use static-libs; then
- find "${ED}" -type f \( -name "*.a" -o -name "*.la" \) -delete || die
- fi
-}
diff --git a/dev-libs/librdkafka/librdkafka-1.5.3.ebuild b/dev-libs/librdkafka/librdkafka-1.5.3.ebuild
deleted file mode 100644
index a74151499c17..000000000000
--- a/dev-libs/librdkafka/librdkafka-1.5.3.ebuild
+++ /dev/null
@@ -1,93 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-
-PYTHON_COMPAT=( python3_{7..9} )
-
-inherit python-any-r1 toolchain-funcs
-
-DESCRIPTION="Apache Kafka C/C++ client library"
-HOMEPAGE="https://github.com/edenhill/librdkafka"
-
-if [[ ${PV} == "9999" ]]; then
- EGIT_REPO_URI="https://github.com/edenhill/${PN}.git"
-
- inherit git-r3
-else
- SRC_URI="https://github.com/edenhill/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
- KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~sparc ~x86"
-fi
-
-LICENSE="BSD-2"
-
-# subslot = soname version
-SLOT="0/1"
-
-IUSE="lz4 sasl ssl static-libs zstd"
-
-LIB_DEPEND="
- lz4? ( app-arch/lz4:=[static-libs(+)] )
- sasl? ( dev-libs/cyrus-sasl:=[static-libs(+)] )
- ssl? ( dev-libs/openssl:0=[static-libs(+)] )
- zstd? ( app-arch/zstd:=[static-libs(+)] )
- sys-libs/zlib:=[static-libs(+)]
-"
-
-BDEPEND="
- virtual/pkgconfig
- ${PYTHON_DEPS}
-"
-
-RDEPEND="!static-libs? ( ${LIB_DEPEND//\[static-libs(+)]} )"
-
-DEPEND="
- ${RDEPEND}
- static-libs? ( ${LIB_DEPEND} )
-"
-
-pkg_setup() {
- python-any-r1_pkg_setup
-}
-
-src_prepare() {
- default
-
- if [[ ${PV} != "9999" ]]; then
- sed -i \
- -e "s/^\(export RDKAFKA_GITVER=\).*/\1\"${PV}@release\"/" \
- tests/run-test.sh || die
- fi
-}
-
-src_configure() {
- tc-export AR CC CXX LD NM OBJDUMP PKG_CONFIG STRIP
-
- local myeconf=(
- --no-cache
- --no-download
- --disable-debug-symbols
- $(use_enable lz4)
- $(use_enable sasl)
- $(usex static-libs '--enable-static' '')
- $(use_enable ssl)
- $(use_enable zstd)
- )
-
- econf ${myeconf[@]}
-}
-
-src_test() {
- emake -C tests run_local
-}
-
-src_install() {
- emake -j1 \
- DESTDIR="${D}" \
- docdir="/usr/share/doc/${PF}" \
- install
-
- if ! use static-libs; then
- find "${ED}" -type f \( -name "*.a" -o -name "*.la" \) -delete || die
- fi
-}
diff --git a/dev-libs/librdkafka/librdkafka-1.6.0.ebuild b/dev-libs/librdkafka/librdkafka-1.6.0.ebuild
deleted file mode 100644
index 01faa8bf266f..000000000000
--- a/dev-libs/librdkafka/librdkafka-1.6.0.ebuild
+++ /dev/null
@@ -1,93 +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 python-any-r1 toolchain-funcs
-
-DESCRIPTION="Apache Kafka C/C++ client library"
-HOMEPAGE="https://github.com/edenhill/librdkafka"
-
-if [[ ${PV} == "9999" ]]; then
- EGIT_REPO_URI="https://github.com/edenhill/${PN}.git"
-
- inherit git-r3
-else
- SRC_URI="https://github.com/edenhill/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
- KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~sparc ~x86"
-fi
-
-LICENSE="BSD-2"
-
-# subslot = soname version
-SLOT="0/1"
-
-IUSE="lz4 sasl ssl static-libs zstd"
-
-LIB_DEPEND="
- lz4? ( app-arch/lz4:=[static-libs(+)] )
- sasl? ( dev-libs/cyrus-sasl:=[static-libs(+)] )
- ssl? ( dev-libs/openssl:0=[static-libs(+)] )
- zstd? ( app-arch/zstd:=[static-libs(+)] )
- sys-libs/zlib:=[static-libs(+)]
-"
-
-BDEPEND="
- virtual/pkgconfig
- ${PYTHON_DEPS}
-"
-
-RDEPEND="!static-libs? ( ${LIB_DEPEND//\[static-libs(+)]} )"
-
-DEPEND="
- ${RDEPEND}
- static-libs? ( ${LIB_DEPEND} )
-"
-
-pkg_setup() {
- python-any-r1_pkg_setup
-}
-
-src_prepare() {
- default
-
- if [[ ${PV} != "9999" ]]; then
- sed -i \
- -e "s/^\(export RDKAFKA_GITVER=\).*/\1\"${PV}@release\"/" \
- tests/run-test.sh || die
- fi
-}
-
-src_configure() {
- tc-export AR CC CXX LD NM OBJDUMP PKG_CONFIG STRIP
-
- local myeconf=(
- --no-cache
- --no-download
- --disable-debug-symbols
- $(use_enable lz4)
- $(use_enable sasl)
- $(usex static-libs '--enable-static' '')
- $(use_enable ssl)
- $(use_enable zstd)
- )
-
- econf ${myeconf[@]}
-}
-
-src_test() {
- emake -C tests run_local
-}
-
-src_install() {
- emake -j1 \
- DESTDIR="${D}" \
- docdir="/usr/share/doc/${PF}" \
- install
-
- if ! use static-libs; then
- find "${ED}" -type f \( -name "*.a" -o -name "*.la" \) -delete || die
- fi
-}
diff --git a/dev-libs/librdkafka/librdkafka-1.6.1.ebuild b/dev-libs/librdkafka/librdkafka-1.6.1.ebuild
deleted file mode 100644
index ec837b5e0617..000000000000
--- a/dev-libs/librdkafka/librdkafka-1.6.1.ebuild
+++ /dev/null
@@ -1,97 +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 python-any-r1 toolchain-funcs
-
-DESCRIPTION="Apache Kafka C/C++ client library"
-HOMEPAGE="https://github.com/edenhill/librdkafka"
-
-if [[ ${PV} == "9999" ]]; then
- EGIT_REPO_URI="https://github.com/edenhill/${PN}.git"
-
- inherit git-r3
-else
- SRC_URI="https://github.com/edenhill/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
- KEYWORDS="amd64 arm arm64 ~hppa ~ppc ~ppc64 ~sparc x86"
-fi
-
-LICENSE="BSD-2"
-
-# subslot = soname version
-SLOT="0/1"
-
-IUSE="lz4 sasl ssl static-libs zstd"
-
-LIB_DEPEND="
- lz4? ( app-arch/lz4:=[static-libs(+)] )
- sasl? ( dev-libs/cyrus-sasl:=[static-libs(+)] )
- ssl? ( dev-libs/openssl:0=[static-libs(+)] )
- zstd? ( app-arch/zstd:=[static-libs(+)] )
- sys-libs/zlib:=[static-libs(+)]
-"
-
-BDEPEND="
- virtual/pkgconfig
- ${PYTHON_DEPS}
-"
-
-RDEPEND="!static-libs? ( ${LIB_DEPEND//\[static-libs(+)]} )"
-
-DEPEND="
- ${RDEPEND}
- static-libs? ( ${LIB_DEPEND} )
-"
-
-pkg_setup() {
- python-any-r1_pkg_setup
-}
-
-src_prepare() {
- default
-
- if [[ ${PV} != "9999" ]]; then
- sed -i \
- -e "s/^\(export RDKAFKA_GITVER=\).*/\1\"${PV}@release\"/" \
- tests/run-test.sh || die
- fi
-}
-
-src_configure() {
- tc-export AR CC CXX LD NM OBJDUMP PKG_CONFIG STRIP
-
- local myeconf=(
- --no-cache
- --no-download
- --disable-debug-symbols
- $(use_enable lz4)
- $(use_enable sasl)
- $(usex static-libs '--enable-static' '')
- $(use_enable ssl)
- $(use_enable zstd)
- )
-
- econf ${myeconf[@]}
-}
-
-src_test() {
- # Simulate CI so we do not fail when tests are running longer than expected,
- # https://github.com/edenhill/librdkafka/blob/v1.6.1/tests/0062-stats_event.c#L101-L116
- local -x CI=true
-
- emake -C tests run_local
-}
-
-src_install() {
- emake -j1 \
- DESTDIR="${D}" \
- docdir="/usr/share/doc/${PF}" \
- install
-
- if ! use static-libs; then
- find "${ED}" -type f \( -name "*.a" -o -name "*.la" \) -delete || die
- fi
-}
diff --git a/dev-libs/librdkafka/librdkafka-1.7.0.ebuild b/dev-libs/librdkafka/librdkafka-1.7.0.ebuild
deleted file mode 100644
index c3888b30770f..000000000000
--- a/dev-libs/librdkafka/librdkafka-1.7.0.ebuild
+++ /dev/null
@@ -1,97 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-
-PYTHON_COMPAT=( python3_{8..10} )
-
-inherit python-any-r1 toolchain-funcs
-
-DESCRIPTION="Apache Kafka C/C++ client library"
-HOMEPAGE="https://github.com/edenhill/librdkafka"
-
-if [[ ${PV} == "9999" ]]; then
- EGIT_REPO_URI="https://github.com/edenhill/${PN}.git"
-
- inherit git-r3
-else
- SRC_URI="https://github.com/edenhill/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
- KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~riscv ~sparc ~x86"
-fi
-
-LICENSE="BSD-2"
-
-# subslot = soname version
-SLOT="0/1"
-
-IUSE="lz4 sasl ssl static-libs zstd"
-
-LIB_DEPEND="
- lz4? ( app-arch/lz4:=[static-libs(+)] )
- sasl? ( dev-libs/cyrus-sasl:=[static-libs(+)] )
- ssl? ( dev-libs/openssl:0=[static-libs(+)] )
- zstd? ( app-arch/zstd:=[static-libs(+)] )
- sys-libs/zlib:=[static-libs(+)]
-"
-
-BDEPEND="
- virtual/pkgconfig
- ${PYTHON_DEPS}
-"
-
-RDEPEND="!static-libs? ( ${LIB_DEPEND//\[static-libs(+)]} )"
-
-DEPEND="
- ${RDEPEND}
- static-libs? ( ${LIB_DEPEND} )
-"
-
-pkg_setup() {
- python-any-r1_pkg_setup
-}
-
-src_prepare() {
- default
-
- if [[ ${PV} != "9999" ]]; then
- sed -i \
- -e "s/^\(export RDKAFKA_GITVER=\).*/\1\"${PV}@release\"/" \
- tests/run-test.sh || die
- fi
-}
-
-src_configure() {
- tc-export AR CC CXX LD NM OBJDUMP PKG_CONFIG STRIP
-
- local myeconf=(
- --no-cache
- --no-download
- --disable-debug-symbols
- $(use_enable lz4)
- $(use_enable sasl)
- $(usex static-libs '--enable-static' '')
- $(use_enable ssl)
- $(use_enable zstd)
- )
-
- econf ${myeconf[@]}
-}
-
-src_test() {
- # Simulate CI so we do not fail when tests are running longer than expected,
- # https://github.com/edenhill/librdkafka/blob/v1.6.1/tests/0062-stats_event.c#L101-L116
- local -x CI=true
-
- emake -C tests run_local
-}
-
-src_install() {
- emake -j1 \
- DESTDIR="${D}" \
- docdir="/usr/share/doc/${PF}" \
- install
-
- if ! use static-libs; then
- find "${ED}" -type f \( -name "*.a" -o -name "*.la" \) -delete || die
- fi
-}
diff --git a/dev-libs/librdkafka/librdkafka-1.8.0.ebuild b/dev-libs/librdkafka/librdkafka-1.8.0.ebuild
deleted file mode 100644
index c3888b30770f..000000000000
--- a/dev-libs/librdkafka/librdkafka-1.8.0.ebuild
+++ /dev/null
@@ -1,97 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-
-PYTHON_COMPAT=( python3_{8..10} )
-
-inherit python-any-r1 toolchain-funcs
-
-DESCRIPTION="Apache Kafka C/C++ client library"
-HOMEPAGE="https://github.com/edenhill/librdkafka"
-
-if [[ ${PV} == "9999" ]]; then
- EGIT_REPO_URI="https://github.com/edenhill/${PN}.git"
-
- inherit git-r3
-else
- SRC_URI="https://github.com/edenhill/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
- KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~riscv ~sparc ~x86"
-fi
-
-LICENSE="BSD-2"
-
-# subslot = soname version
-SLOT="0/1"
-
-IUSE="lz4 sasl ssl static-libs zstd"
-
-LIB_DEPEND="
- lz4? ( app-arch/lz4:=[static-libs(+)] )
- sasl? ( dev-libs/cyrus-sasl:=[static-libs(+)] )
- ssl? ( dev-libs/openssl:0=[static-libs(+)] )
- zstd? ( app-arch/zstd:=[static-libs(+)] )
- sys-libs/zlib:=[static-libs(+)]
-"
-
-BDEPEND="
- virtual/pkgconfig
- ${PYTHON_DEPS}
-"
-
-RDEPEND="!static-libs? ( ${LIB_DEPEND//\[static-libs(+)]} )"
-
-DEPEND="
- ${RDEPEND}
- static-libs? ( ${LIB_DEPEND} )
-"
-
-pkg_setup() {
- python-any-r1_pkg_setup
-}
-
-src_prepare() {
- default
-
- if [[ ${PV} != "9999" ]]; then
- sed -i \
- -e "s/^\(export RDKAFKA_GITVER=\).*/\1\"${PV}@release\"/" \
- tests/run-test.sh || die
- fi
-}
-
-src_configure() {
- tc-export AR CC CXX LD NM OBJDUMP PKG_CONFIG STRIP
-
- local myeconf=(
- --no-cache
- --no-download
- --disable-debug-symbols
- $(use_enable lz4)
- $(use_enable sasl)
- $(usex static-libs '--enable-static' '')
- $(use_enable ssl)
- $(use_enable zstd)
- )
-
- econf ${myeconf[@]}
-}
-
-src_test() {
- # Simulate CI so we do not fail when tests are running longer than expected,
- # https://github.com/edenhill/librdkafka/blob/v1.6.1/tests/0062-stats_event.c#L101-L116
- local -x CI=true
-
- emake -C tests run_local
-}
-
-src_install() {
- emake -j1 \
- DESTDIR="${D}" \
- docdir="/usr/share/doc/${PF}" \
- install
-
- if ! use static-libs; then
- find "${ED}" -type f \( -name "*.a" -o -name "*.la" \) -delete || die
- fi
-}
diff --git a/dev-libs/librdkafka/librdkafka-1.8.2.ebuild b/dev-libs/librdkafka/librdkafka-1.8.2.ebuild
index 08a217cf453b..b58580b204e0 100644
--- a/dev-libs/librdkafka/librdkafka-1.8.2.ebuild
+++ b/dev-libs/librdkafka/librdkafka-1.8.2.ebuild
@@ -1,22 +1,22 @@
-# 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_{9..11} )
inherit python-any-r1 toolchain-funcs
DESCRIPTION="Apache Kafka C/C++ client library"
-HOMEPAGE="https://github.com/edenhill/librdkafka"
+HOMEPAGE="https://github.com/confluentinc/librdkafka"
if [[ ${PV} == "9999" ]]; then
- EGIT_REPO_URI="https://github.com/edenhill/${PN}.git"
+ EGIT_REPO_URI="https://github.com/confluentinc/${PN}.git"
inherit git-r3
else
- SRC_URI="https://github.com/edenhill/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
- KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~riscv ~sparc ~x86"
+ SRC_URI="https://github.com/confluentinc/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="amd64 arm arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~sparc x86"
fi
LICENSE="BSD-2"
@@ -33,8 +33,9 @@ LIB_DEPEND="
zstd? ( app-arch/zstd:=[static-libs(+)] )
sys-libs/zlib:=[static-libs(+)]
"
-
+# which: https://github.com/confluentinc/librdkafka/pull/4353
BDEPEND="
+ sys-apps/which
virtual/pkgconfig
${PYTHON_DEPS}
"
@@ -88,7 +89,7 @@ src_configure() {
src_test() {
# Simulate CI so we do not fail when tests are running longer than expected,
- # https://github.com/edenhill/librdkafka/blob/v1.6.1/tests/0062-stats_event.c#L101-L116
+ # https://github.com/confluentinc/librdkafka/blob/v1.6.1/tests/0062-stats_event.c#L101-L116
local -x CI=true
emake -C tests run_local
diff --git a/dev-libs/librdkafka/librdkafka-2.1.1.ebuild b/dev-libs/librdkafka/librdkafka-2.1.1.ebuild
new file mode 100644
index 000000000000..b58580b204e0
--- /dev/null
+++ b/dev-libs/librdkafka/librdkafka-2.1.1.ebuild
@@ -0,0 +1,107 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="8"
+
+PYTHON_COMPAT=( python3_{9..11} )
+
+inherit python-any-r1 toolchain-funcs
+
+DESCRIPTION="Apache Kafka C/C++ client library"
+HOMEPAGE="https://github.com/confluentinc/librdkafka"
+
+if [[ ${PV} == "9999" ]]; then
+ EGIT_REPO_URI="https://github.com/confluentinc/${PN}.git"
+
+ inherit git-r3
+else
+ SRC_URI="https://github.com/confluentinc/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="amd64 arm arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~sparc x86"
+fi
+
+LICENSE="BSD-2"
+
+# subslot = soname version
+SLOT="0/1"
+
+IUSE="lz4 sasl ssl static-libs zstd"
+
+LIB_DEPEND="
+ lz4? ( app-arch/lz4:=[static-libs(+)] )
+ sasl? ( dev-libs/cyrus-sasl:=[static-libs(+)] )
+ ssl? ( dev-libs/openssl:0=[static-libs(+)] )
+ zstd? ( app-arch/zstd:=[static-libs(+)] )
+ sys-libs/zlib:=[static-libs(+)]
+"
+# which: https://github.com/confluentinc/librdkafka/pull/4353
+BDEPEND="
+ sys-apps/which
+ virtual/pkgconfig
+ ${PYTHON_DEPS}
+"
+
+RDEPEND="!static-libs? ( ${LIB_DEPEND//\[static-libs(+)]} )"
+
+DEPEND="
+ ${RDEPEND}
+ static-libs? ( ${LIB_DEPEND} )
+"
+
+pkg_setup() {
+ python-any-r1_pkg_setup
+}
+
+src_prepare() {
+ default
+
+ if [[ ${PV} != "9999" ]]; then
+ sed -i \
+ -e "s/^\(export RDKAFKA_GITVER=\).*/\1\"${PV}@release\"/" \
+ tests/run-test.sh || die
+ fi
+}
+
+src_configure() {
+ tc-export AR CC CXX LD NM OBJDUMP PKG_CONFIG STRIP
+
+ local myeconf=(
+ --prefix="${EPREFIX}/usr"
+ --build="${CBUILD}"
+ --host="${CHOST}"
+ --mandir="${EPREFIX}/usr/share/man"
+ --infodir="${EPREFIX}/usr/share/info"
+ --datadir="${EPREFIX}/usr/share"
+ --sysconfdir="${EPREFIX}/etc"
+ --localstatedir="${EPREFIX}/var"
+ --libdir="${EPREFIX}/usr/$(get_libdir)"
+ --no-cache
+ --no-download
+ --disable-debug-symbols
+ $(use_enable lz4)
+ $(use_enable sasl)
+ $(usex static-libs '--enable-static' '')
+ $(use_enable ssl)
+ $(use_enable zstd)
+ )
+
+ ./configure ${myeconf[@]} || die
+}
+
+src_test() {
+ # Simulate CI so we do not fail when tests are running longer than expected,
+ # https://github.com/confluentinc/librdkafka/blob/v1.6.1/tests/0062-stats_event.c#L101-L116
+ local -x CI=true
+
+ emake -C tests run_local
+}
+
+src_install() {
+ emake -j1 \
+ DESTDIR="${D}" \
+ docdir="/usr/share/doc/${PF}" \
+ install
+
+ if ! use static-libs; then
+ find "${ED}" -type f \( -name "*.a" -o -name "*.la" \) -delete || die
+ fi
+}
diff --git a/dev-libs/librdkafka/librdkafka-2.2.0-r1.ebuild b/dev-libs/librdkafka/librdkafka-2.2.0-r1.ebuild
new file mode 100644
index 000000000000..bcc0c17af6ab
--- /dev/null
+++ b/dev-libs/librdkafka/librdkafka-2.2.0-r1.ebuild
@@ -0,0 +1,110 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="8"
+
+PYTHON_COMPAT=( python3_{9..12} )
+
+inherit python-any-r1 toolchain-funcs
+
+DESCRIPTION="Apache Kafka C/C++ client library"
+HOMEPAGE="https://github.com/confluentinc/librdkafka"
+
+if [[ ${PV} == "9999" ]]; then
+ EGIT_REPO_URI="https://github.com/confluentinc/${PN}.git"
+
+ inherit git-r3
+else
+ SRC_URI="https://github.com/confluentinc/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~amd64 arm ~arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86"
+fi
+
+LICENSE="BSD-2"
+
+# subslot = soname version
+SLOT="0/1"
+
+IUSE="lz4 sasl ssl static-libs zstd"
+
+LIB_DEPEND="
+ lz4? ( app-arch/lz4:=[static-libs(+)] )
+ sasl? ( dev-libs/cyrus-sasl:=[static-libs(+)] )
+ ssl? ( dev-libs/openssl:0=[static-libs(+)] )
+ zstd? ( app-arch/zstd:=[static-libs(+)] )
+ sys-libs/zlib:=[static-libs(+)]
+"
+# which: https://github.com/confluentinc/librdkafka/pull/4353
+BDEPEND="
+ sys-apps/which
+ virtual/pkgconfig
+ ${PYTHON_DEPS}
+"
+
+RDEPEND="net-misc/curl
+ !static-libs? ( ${LIB_DEPEND//\[static-libs(+)]} )"
+
+DEPEND="
+ ${RDEPEND}
+ static-libs? ( ${LIB_DEPEND} )
+"
+
+PATCHES=( "${FILESDIR}/${PN}-2.2.0-backport-pr4449.patch" )
+
+pkg_setup() {
+ python-any-r1_pkg_setup
+}
+
+src_prepare() {
+ default
+
+ if [[ ${PV} != "9999" ]]; then
+ sed -i \
+ -e "s/^\(export RDKAFKA_GITVER=\).*/\1\"${PV}@release\"/" \
+ tests/run-test.sh || die
+ fi
+}
+
+src_configure() {
+ tc-export AR CC CXX LD NM OBJDUMP PKG_CONFIG STRIP
+
+ local myeconf=(
+ --prefix="${EPREFIX}/usr"
+ --build="${CBUILD}"
+ --host="${CHOST}"
+ --mandir="${EPREFIX}/usr/share/man"
+ --infodir="${EPREFIX}/usr/share/info"
+ --datadir="${EPREFIX}/usr/share"
+ --sysconfdir="${EPREFIX}/etc"
+ --localstatedir="${EPREFIX}/var"
+ --libdir="${EPREFIX}/usr/$(get_libdir)"
+ --no-cache
+ --no-download
+ --disable-debug-symbols
+ $(use_enable lz4)
+ $(use_enable sasl)
+ $(usex static-libs '--enable-static' '')
+ $(use_enable ssl)
+ $(use_enable zstd)
+ )
+
+ ./configure ${myeconf[@]} || die
+}
+
+src_test() {
+ # Simulate CI so we do not fail when tests are running longer than expected,
+ # https://github.com/confluentinc/librdkafka/blob/v1.6.1/tests/0062-stats_event.c#L101-L116
+ local -x CI=true
+
+ emake -C tests run_local
+}
+
+src_install() {
+ emake -j1 \
+ DESTDIR="${D}" \
+ docdir="/usr/share/doc/${PF}" \
+ install
+
+ if ! use static-libs; then
+ find "${ED}" -type f \( -name "*.a" -o -name "*.la" \) -delete || die
+ fi
+}
diff --git a/dev-libs/librdkafka/librdkafka-2.2.0.ebuild b/dev-libs/librdkafka/librdkafka-2.2.0.ebuild
new file mode 100644
index 000000000000..c22046c164f6
--- /dev/null
+++ b/dev-libs/librdkafka/librdkafka-2.2.0.ebuild
@@ -0,0 +1,108 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="8"
+
+PYTHON_COMPAT=( python3_{9..12} )
+
+inherit python-any-r1 toolchain-funcs
+
+DESCRIPTION="Apache Kafka C/C++ client library"
+HOMEPAGE="https://github.com/confluentinc/librdkafka"
+
+if [[ ${PV} == "9999" ]]; then
+ EGIT_REPO_URI="https://github.com/confluentinc/${PN}.git"
+
+ inherit git-r3
+else
+ SRC_URI="https://github.com/confluentinc/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="amd64 ~arm arm64 ~hppa ~ia64 ~loong ~ppc ppc64 ~riscv ~sparc x86"
+fi
+
+LICENSE="BSD-2"
+
+# subslot = soname version
+SLOT="0/1"
+
+IUSE="lz4 sasl ssl static-libs zstd"
+
+LIB_DEPEND="
+ lz4? ( app-arch/lz4:=[static-libs(+)] )
+ sasl? ( dev-libs/cyrus-sasl:=[static-libs(+)] )
+ ssl? ( dev-libs/openssl:0=[static-libs(+)] )
+ zstd? ( app-arch/zstd:=[static-libs(+)] )
+ sys-libs/zlib:=[static-libs(+)]
+"
+# which: https://github.com/confluentinc/librdkafka/pull/4353
+BDEPEND="
+ sys-apps/which
+ virtual/pkgconfig
+ ${PYTHON_DEPS}
+"
+
+RDEPEND="net-misc/curl
+ !static-libs? ( ${LIB_DEPEND//\[static-libs(+)]} )"
+
+DEPEND="
+ ${RDEPEND}
+ static-libs? ( ${LIB_DEPEND} )
+"
+
+pkg_setup() {
+ python-any-r1_pkg_setup
+}
+
+src_prepare() {
+ default
+
+ if [[ ${PV} != "9999" ]]; then
+ sed -i \
+ -e "s/^\(export RDKAFKA_GITVER=\).*/\1\"${PV}@release\"/" \
+ tests/run-test.sh || die
+ fi
+}
+
+src_configure() {
+ tc-export AR CC CXX LD NM OBJDUMP PKG_CONFIG STRIP
+
+ local myeconf=(
+ --prefix="${EPREFIX}/usr"
+ --build="${CBUILD}"
+ --host="${CHOST}"
+ --mandir="${EPREFIX}/usr/share/man"
+ --infodir="${EPREFIX}/usr/share/info"
+ --datadir="${EPREFIX}/usr/share"
+ --sysconfdir="${EPREFIX}/etc"
+ --localstatedir="${EPREFIX}/var"
+ --libdir="${EPREFIX}/usr/$(get_libdir)"
+ --no-cache
+ --no-download
+ --disable-debug-symbols
+ $(use_enable lz4)
+ $(use_enable sasl)
+ $(usex static-libs '--enable-static' '')
+ $(use_enable ssl)
+ $(use_enable zstd)
+ )
+
+ ./configure ${myeconf[@]} || die
+}
+
+src_test() {
+ # Simulate CI so we do not fail when tests are running longer than expected,
+ # https://github.com/confluentinc/librdkafka/blob/v1.6.1/tests/0062-stats_event.c#L101-L116
+ local -x CI=true
+
+ emake -C tests run_local
+}
+
+src_install() {
+ emake -j1 \
+ DESTDIR="${D}" \
+ docdir="/usr/share/doc/${PF}" \
+ install
+
+ if ! use static-libs; then
+ find "${ED}" -type f \( -name "*.a" -o -name "*.la" \) -delete || die
+ fi
+}
diff --git a/dev-libs/librdkafka/metadata.xml b/dev-libs/librdkafka/metadata.xml
index 179d5698aff0..d2461fd50b37 100644
--- a/dev-libs/librdkafka/metadata.xml
+++ b/dev-libs/librdkafka/metadata.xml
@@ -1,13 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <email>whissi@gentoo.org</email>
- <name>Thomas Deutschmann</name>
- </maintainer>
+ <!-- maintainer-needed -->
<upstream>
- <bugs-to>https://github.com/edenhill/librdkafka/issues</bugs-to>
- <remote-id type="github">edenhill/librdkafka</remote-id>
+ <bugs-to>https://github.com/confluentinc/librdkafka/issues</bugs-to>
+ <remote-id type="github">confluentinc/librdkafka</remote-id>
</upstream>
<use>
<flag name="lz4">Enable support for Kafka's LZ4 compression based on KIP-57 (uses <pkg>app-arch/lz4</pkg>)</flag>
diff --git a/dev-libs/librelp/Manifest b/dev-libs/librelp/Manifest
index a28b17eef20e..7e43e656f67d 100644
--- a/dev-libs/librelp/Manifest
+++ b/dev-libs/librelp/Manifest
@@ -1 +1,2 @@
DIST librelp-1.10.0.tar.gz 543414 BLAKE2B 3c7bace3c7892755c943dc4fc9bee7962e6891f5200ac184555da5f552d19d65f5604c745653d06a87210152af9b57f7234636e59257dd29dc83b5dc566c9680 SHA512 a38840231902bec034edb497166deded7577c989e4f735e406c8488384972925de1ca6132b3080472f7919d2439559c8774c02a49c356e90ad791dfbba2a4865
+DIST librelp-1.11.0.tar.gz 546841 BLAKE2B 3645675f7300cca72847973e2414c7ead560f4dcf6d3eb92ae53ce2b279d6a19b792f6fa6b4e9f837710681f0a224c4a85f90091dd45d46aae5ef16180f4a1ee SHA512 e93cbc12fb6e596762c351cdfa3293fea89dd8cf90de4f890771216b56c3f66e3578fefea447d4ca9f754f146712481e7bab9a831f16fcf0cd15b10d475925bc
diff --git a/dev-libs/librelp/librelp-1.10.0-r1.ebuild b/dev-libs/librelp/librelp-1.10.0-r1.ebuild
new file mode 100644
index 000000000000..5aac6f9418b9
--- /dev/null
+++ b/dev-libs/librelp/librelp-1.10.0-r1.ebuild
@@ -0,0 +1,72 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_{9..11} )
+inherit autotools python-any-r1
+
+DESCRIPTION="An easy to use library for the RELP protocol"
+HOMEPAGE="https://www.rsyslog.com/librelp/"
+SRC_URI="https://download.rsyslog.com/${PN}/${P}.tar.gz"
+
+LICENSE="GPL-3+ doc? ( FDL-1.3 )"
+# subslot = soname version
+SLOT="0/0.5.1"
+KEYWORDS="amd64 arm arm64 ~hppa ~ia64 ~ppc64 ~riscv sparc x86"
+IUSE="debug doc +ssl +gnutls openssl static-libs test"
+REQUIRED_USE="ssl? ( ^^ ( gnutls openssl ) )"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ ssl? (
+ gnutls? ( >=net-libs/gnutls-3.3.17.1:= )
+ openssl? ( dev-libs/openssl:= )
+ )
+"
+DEPEND="
+ ${RDEPEND}
+ test? ( ${PYTHON_DEPS} )
+"
+BDEPEND="virtual/pkgconfig"
+
+pkg_setup() {
+ use test && python-any-r1_pkg_setup
+}
+
+src_prepare() {
+ sed -i \
+ -e 's/ -g"/"/g' \
+ configure.ac || die "sed failed"
+
+ default
+
+ eautoreconf
+}
+
+src_configure() {
+ local myeconfargs=(
+ --disable-valgrind
+ --disable-Werror
+ $(use_enable debug)
+ $(use_enable gnutls tls)
+ $(use_enable openssl tls-openssl)
+ $(use_enable static-libs static)
+ )
+
+ CONFIG_SHELL="${BROOT}"/bin/bash econf "${myeconfargs[@]}"
+}
+
+src_test() {
+ emake -j1 check
+}
+
+src_install() {
+ local DOCS=( ChangeLog )
+ use doc && local HTML_DOCS=( doc/relp.html )
+ default
+
+ if ! use static-libs; then
+ find "${D}" -name '*.la' -delete || die
+ fi
+}
diff --git a/dev-libs/librelp/librelp-1.10.0.ebuild b/dev-libs/librelp/librelp-1.10.0.ebuild
deleted file mode 100644
index 81695b986249..000000000000
--- a/dev-libs/librelp/librelp-1.10.0.ebuild
+++ /dev/null
@@ -1,71 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{8..10} )
-inherit autotools python-any-r1
-
-DESCRIPTION="An easy to use library for the RELP protocol"
-HOMEPAGE="https://www.rsyslog.com/librelp/"
-SRC_URI="https://download.rsyslog.com/${PN}/${P}.tar.gz"
-
-LICENSE="GPL-3+ doc? ( FDL-1.3 )"
-
-# subslot = soname version
-SLOT="0/0.5.1"
-
-KEYWORDS="amd64 arm arm64 ~hppa sparc x86"
-IUSE="debug doc +ssl +gnutls openssl static-libs test"
-REQUIRED_USE="ssl? ( ^^ ( gnutls openssl ) )"
-
-RDEPEND="
- ssl? (
- gnutls? ( >=net-libs/gnutls-3.3.17.1:0= )
- openssl? ( dev-libs/openssl:0= )
- )"
-DEPEND="${RDEPEND}
- test? ( ${PYTHON_DEPS} )
- virtual/pkgconfig"
-
-RESTRICT="!test? ( test )"
-
-pkg_setup() {
- use test && python-any-r1_pkg_setup
-}
-
-src_prepare() {
- sed -i \
- -e 's/ -g"/"/g' \
- configure.ac || die "sed failed"
-
- default
-
- eautoreconf
-}
-
-src_configure() {
- local myeconfargs=(
- --disable-valgrind
- $(use_enable debug)
- $(use_enable gnutls tls)
- $(use_enable openssl tls-openssl)
- $(use_enable static-libs static)
- )
-
- econf "${myeconfargs[@]}"
-}
-
-src_test() {
- emake -j1 check
-}
-
-src_install() {
- local DOCS=( ChangeLog )
- use doc && local HTML_DOCS=( doc/relp.html )
- default
-
- if ! use static-libs; then
- find "${D}" -name '*.la' -delete || die
- fi
-}
diff --git a/dev-libs/librelp/librelp-1.11.0.ebuild b/dev-libs/librelp/librelp-1.11.0.ebuild
new file mode 100644
index 000000000000..6f4cf576be1a
--- /dev/null
+++ b/dev-libs/librelp/librelp-1.11.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_COMPAT=( python3_{9..11} )
+inherit autotools python-any-r1
+
+DESCRIPTION="An easy to use library for the RELP protocol"
+HOMEPAGE="https://www.rsyslog.com/librelp/"
+SRC_URI="https://download.rsyslog.com/${PN}/${P}.tar.gz"
+
+LICENSE="GPL-3+ doc? ( FDL-1.3 )"
+# subslot = soname version
+SLOT="0/0.5.1"
+KEYWORDS="amd64 arm arm64 ~hppa ~ia64 ~ppc64 ~riscv sparc x86"
+IUSE="debug doc +ssl +gnutls openssl static-libs test"
+REQUIRED_USE="ssl? ( ^^ ( gnutls openssl ) )"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ ssl? (
+ gnutls? ( >=net-libs/gnutls-3.3.17.1:= )
+ openssl? ( dev-libs/openssl:= )
+ )
+"
+DEPEND="
+ ${RDEPEND}
+ test? ( ${PYTHON_DEPS} )
+"
+BDEPEND="virtual/pkgconfig"
+
+pkg_setup() {
+ use test && python-any-r1_pkg_setup
+}
+
+src_prepare() {
+ sed -i \
+ -e 's/ -g"/"/g' \
+ configure.ac || die "sed failed"
+
+ default
+
+ eautoreconf
+}
+
+src_configure() {
+ local myeconfargs=(
+ --disable-valgrind
+ --disable-Werror
+ $(use_enable debug)
+ $(use_enable gnutls tls)
+ $(use_enable openssl tls-openssl)
+ $(use_enable static-libs static)
+ )
+
+ CONFIG_SHELL="${BROOT}"/bin/bash econf "${myeconfargs[@]}"
+}
+
+src_test() {
+ emake -j1 check
+}
+
+src_install() {
+ local DOCS=( ChangeLog )
+ use doc && local HTML_DOCS=( doc/relp.html )
+ default
+
+ if ! use static-libs; then
+ find "${D}" -name '*.la' -delete || die
+ fi
+}
diff --git a/dev-libs/librelp/metadata.xml b/dev-libs/librelp/metadata.xml
index ad309c9b6260..f0df933ee186 100644
--- a/dev-libs/librelp/metadata.xml
+++ b/dev-libs/librelp/metadata.xml
@@ -1,10 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <email>whissi@gentoo.org</email>
- <name>Thomas Deutschmann</name>
- </maintainer>
+ <!-- maintainer-needed -->
<use>
<flag name="gnutls">Use GnuTLS</flag>
<flag name="openssl">Use OpenSSL</flag>
diff --git a/dev-libs/librep/Manifest b/dev-libs/librep/Manifest
deleted file mode 100644
index c3822e20cfdb..000000000000
--- a/dev-libs/librep/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST librep_0.92.7.tar.xz 651344 BLAKE2B 3a0e9a3eef0afa2e095537dfc307418ba87ce7a9baabdba262fd9a24b71cc6577fe1282412da495d56bf22007f1931c5b834f5bcf4c5ebe87d6b43a4975d630e SHA512 752cb2da31457200b5896f70ce24a097b261b996da25998cd78a777f982597473afce1a216f449a4a969d29b1678bf54e2f148e86de6f9548eeb5cfd530ae377
diff --git a/dev-libs/librep/files/50librep-gentoo.el b/dev-libs/librep/files/50librep-gentoo.el
deleted file mode 100644
index 59025bbb9d0e..000000000000
--- a/dev-libs/librep/files/50librep-gentoo.el
+++ /dev/null
@@ -1,6 +0,0 @@
-
-;;; librep site-lisp configuration
-
-(add-to-list 'load-path "@SITELISP@")
-(autoload 'rep-debugger "rep-debugger"
- "Run the rep debugger on program FILE in buffer *gud-FILE*." t)
diff --git a/dev-libs/librep/files/librep-0.92.0-disable-elisp.patch b/dev-libs/librep/files/librep-0.92.0-disable-elisp.patch
deleted file mode 100644
index 03cec6f710b6..000000000000
--- a/dev-libs/librep/files/librep-0.92.0-disable-elisp.patch
+++ /dev/null
@@ -1,19 +0,0 @@
---- librep_0.92.5/Makefile.in.old 2011-07-25 14:08:18.000000000 +0200
-+++ librep_0.92.5/Makefile.in 2011-07-25 14:09:05.000000000 +0200
-@@ -53,15 +53,13 @@
- $(INSTALL_SCRIPT) libtool $(DESTDIR)$(repcommonexecdir)
- $(INSTALL_DATA) rules.mk $(DESTDIR)$(repcommonexecdir)
- $(INSTALL_SCRIPT) install-aliases $(DESTDIR)$(repcommonexecdir)
-- $(INSTALL_DATA) rep-debugger.el $(DESTDIR)$(emacssitelispdir)
- mkdir -p $(DESTDIR)$(libdir)/pkgconfig
- $(INSTALL_DATA) $(top_srcdir)/librep.pc $(DESTDIR)$(libdir)/pkgconfig/
-
- installdirs : mkinstalldirs
- $(SHELL) $< $(DESTDIR)$(repdir) \
- $(DESTDIR)$(bindir) $(DESTDIR)$(aclocaldir) \
-- $(DESTDIR)$(repcommonexecdir) $(DESTDIR)$(repexecdir) \
-- $(DESTDIR)$(emacssitelispdir)
-+ $(DESTDIR)$(repcommonexecdir) $(DESTDIR)$(repexecdir)
-
- uninstall :
- -for dir in $(INSTALL_SUBDIRS); do \
diff --git a/dev-libs/librep/librep-0.92.7-r1.ebuild b/dev-libs/librep/librep-0.92.7-r1.ebuild
deleted file mode 100644
index fd71bdbfeaa3..000000000000
--- a/dev-libs/librep/librep-0.92.7-r1.ebuild
+++ /dev/null
@@ -1,83 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit autotools elisp-common flag-o-matic
-
-DESCRIPTION="Shared library implementing a Lisp dialect"
-HOMEPAGE="https://sawfish.fandom.com/"
-SRC_URI="https://download.tuxfamily.org/librep/${PN}_${PV}.tar.xz"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="~alpha amd64 ~ia64 ppc ppc64 sparc x86"
-IUSE="emacs gmp readline"
-
-RDEPEND="
- >=sys-libs/gdbm-1.8.0:=
- virtual/libcrypt:=
- emacs? ( >=app-editors/emacs-23.1:* )
- gmp? ( dev-libs/gmp:= )
- readline? ( sys-libs/readline:0= )
-"
-DEPEND="${RDEPEND}"
-BDEPEND="
- sys-apps/texinfo
-"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-0.92.0-disable-elisp.patch
-)
-
-S="${WORKDIR}/${PN}_${PV}"
-
-src_prepare() {
- # fix #570072 by restoring pre-GCC5 inline semantics
- append-cflags -std=gnu89
- default
-
- # The configure script is missing from this version.
- eautoreconf
-}
-
-src_configure() {
- econf \
- $(use_with gmp) \
- $(use_with readline) \
- --disable-static \
- --libexecdir=/usr/$(get_libdir) \
- --without-ffi
-}
-
-src_compile() {
- default
-
- if use emacs; then
- elisp-compile rep-debugger.el || die "elisp-compile failed"
- fi
-}
-
-src_install() {
- default
-
- find "${D}" -name '*.la' -delete || die
-
- find "${D}/usr/share/man" -name '*.gz' -exec gunzip {} \; || die
-
- dodoc doc/*
-
- if use emacs; then
- elisp-install ${PN} rep-debugger.{el,elc} || die "elisp-install failed"
- elisp-site-file-install "${FILESDIR}/50${PN}-gentoo.el" \
- || die "elisp-site-file-install failed"
- fi
-}
-
-pkg_postinst() {
- use emacs && elisp-site-regen
-}
-
-pkg_postrm() {
- use emacs && elisp-site-regen
-}
diff --git a/dev-libs/librep/metadata.xml b/dev-libs/librep/metadata.xml
deleted file mode 100644
index 76a5d8ae342d..000000000000
--- a/dev-libs/librep/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-needed -->
- <upstream>
- <remote-id type="sourceforge">librep</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/dev-libs/libreport/Manifest b/dev-libs/libreport/Manifest
deleted file mode 100644
index 0c523b06126e..000000000000
--- a/dev-libs/libreport/Manifest
+++ /dev/null
@@ -1,2 +0,0 @@
-DIST libreport-2.15.2.tar.gz 1859867 BLAKE2B f890e3cb8b2a23647e4c3fb0caaf984b1b21fd32e066d04f835f8a475e317cbc75287375e0a10a01b91670d04bba1f15b1180065f7029b8d7d1c0a2fb890914b SHA512 c98003325fa70d674177c9f602a7f121815a9675701ee780ad8908ed69862f2c69be65c7483fd3f017ba299dda51ba304f0908c771c9d97cb5bba057e3a9c5dc
-DIST libreport-2.16.0.tar.gz 1901880 BLAKE2B 520ad157de02dbe5fd15b2ffcfc9b0a09587c3696b41a202f0a78b53a2d366a2991906437aa38d7c84407dcd4a788d358b9e320f70c30e602f1b903433288717 SHA512 cbb456bb63b92a255fecb87191160c2e515b4434cbaaa9404fb69f4f78421fe98c4057969f4b6b99e1b52e815d83c483bdbbe606a4bd2e34cf5268769e7bd40f
diff --git a/dev-libs/libreport/libreport-2.15.2.ebuild b/dev-libs/libreport/libreport-2.15.2.ebuild
deleted file mode 100644
index debf3b612b4a..000000000000
--- a/dev-libs/libreport/libreport-2.15.2.ebuild
+++ /dev/null
@@ -1,100 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-PYTHON_COMPAT=( python3_{7..10} )
-
-inherit autotools python-r1
-
-DESCRIPTION="Generic library for reporting software bugs"
-HOMEPAGE="https://github.com/abrt/libreport"
-SRC_URI="https://github.com/abrt/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="GPL-2"
-SLOT="0/2"
-KEYWORDS="~amd64 ~x86"
-
-IUSE="gtk +python"
-REQUIRED_USE="${PYTHON_REQUIRED_USE}"
-
-DEPEND="${PYTHON_DEPS}
- app-admin/augeas
- app-arch/libarchive:0=
- >=dev-libs/glib-2.43.4:2
- dev-libs/satyr:0=
- dev-libs/json-c:=
- dev-libs/libxml2:2
- dev-libs/nettle:=
- dev-libs/newt:=
- dev-libs/xmlrpc-c:=
- net-libs/libproxy:=
- net-misc/curl:=[ssl]
- sys-apps/dbus
- sys-apps/systemd
- gtk? ( >=x11-libs/gtk+-3.3.12:3 )
- python? ( ${PYTHON_DEPS} )
- x11-misc/xdg-utils
-"
-RDEPEND="${DEPEND}
- acct-user/abrt
- acct-group/abrt
-"
-BDEPEND="
- app-text/asciidoc
- app-text/xmlto
- >=dev-util/intltool-0.3.50
- >=sys-devel/gettext-0.17
- virtual/pkgconfig
-"
-
-# Tests require python-meh, which is highly redhat-specific.
-RESTRICT="test"
-
-src_prepare() {
- default
- ./gen-version || die # Needed to be run before autoreconf
- eautoreconf
- use python && python_copy_sources
-}
-
-src_configure() {
- use python && python_setup
-
- local myargs=(
- --localstatedir="${EPREFIX}/var"
- --without-bugzilla
- $(use_with gtk)
- $(use_with python python3)
- )
- if use python; then
- python_foreach_impl run_in_build_dir econf "${myargs[@]}"
- else
- econf "${myargs[@]}"
- fi
-}
-
-src_compile() {
- if use python; then
- python_foreach_impl run_in_build_dir default
- else
- default
- fi
-}
-
-src_install() {
- if use python; then
- python_install() {
- default
- python_optimize
- }
- python_foreach_impl run_in_build_dir python_install
- else
- default
- fi
-
- # Need to set correct ownership for use by app-admin/abrt
- diropts -o abrt -g abrt
- keepdir /var/spool/abrt
-
- find "${D}" -name '*.la' -exec rm -f {} + || die
-}
diff --git a/dev-libs/libreport/libreport-2.16.0.ebuild b/dev-libs/libreport/libreport-2.16.0.ebuild
deleted file mode 100644
index f8d64e4b1687..000000000000
--- a/dev-libs/libreport/libreport-2.16.0.ebuild
+++ /dev/null
@@ -1,100 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-PYTHON_COMPAT=( python3_{7..10} )
-
-inherit autotools python-r1
-
-DESCRIPTION="Generic library for reporting software bugs"
-HOMEPAGE="https://github.com/abrt/libreport"
-SRC_URI="https://github.com/abrt/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="GPL-2"
-SLOT="0/2"
-KEYWORDS="~amd64 ~x86"
-
-IUSE="gtk +python"
-REQUIRED_USE="${PYTHON_REQUIRED_USE}"
-
-DEPEND="${PYTHON_DEPS}
- app-admin/augeas
- app-arch/libarchive:0=
- >=dev-libs/glib-2.43.4:2
- >=dev-libs/satyr-0.38:0=
- dev-libs/json-c:=
- dev-libs/libxml2:2
- dev-libs/nettle:=
- dev-libs/newt:=
- dev-libs/xmlrpc-c:=
- net-libs/libproxy:=
- net-misc/curl:=[ssl]
- sys-apps/dbus
- sys-apps/systemd
- gtk? ( >=x11-libs/gtk+-3.3.12:3 )
- python? ( ${PYTHON_DEPS} )
- x11-misc/xdg-utils
-"
-RDEPEND="${DEPEND}
- acct-user/abrt
- acct-group/abrt
-"
-BDEPEND="
- app-text/asciidoc
- app-text/xmlto
- >=dev-util/intltool-0.3.50
- >=sys-devel/gettext-0.17
- virtual/pkgconfig
-"
-
-# Tests require python-meh, which is highly redhat-specific.
-RESTRICT="test"
-
-src_prepare() {
- default
- ./gen-version || die # Needed to be run before autoreconf
- eautoreconf
- use python && python_copy_sources
-}
-
-src_configure() {
- use python && python_setup
-
- local myargs=(
- --localstatedir="${EPREFIX}/var"
- --without-bugzilla
- $(use_with gtk)
- $(use_with python python3)
- )
- if use python; then
- python_foreach_impl run_in_build_dir econf "${myargs[@]}"
- else
- econf "${myargs[@]}"
- fi
-}
-
-src_compile() {
- if use python; then
- python_foreach_impl run_in_build_dir default
- else
- default
- fi
-}
-
-src_install() {
- if use python; then
- python_install() {
- default
- python_optimize
- }
- python_foreach_impl run_in_build_dir python_install
- else
- default
- fi
-
- # Need to set correct ownership for use by app-admin/abrt
- diropts -o abrt -g abrt
- keepdir /var/spool/abrt
-
- find "${D}" -name '*.la' -exec rm -f {} + || die
-}
diff --git a/dev-libs/libreport/metadata.xml b/dev-libs/libreport/metadata.xml
deleted file mode 100644
index 424492050f4c..000000000000
--- a/dev-libs/libreport/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="person">
- <email>pacho@gentoo.org</email>
- <name>Pacho Ramos</name>
-</maintainer>
-</pkgmetadata>
diff --git a/dev-libs/libretls/Manifest b/dev-libs/libretls/Manifest
index f874934247ab..a438d9a63e8f 100644
--- a/dev-libs/libretls/Manifest
+++ b/dev-libs/libretls/Manifest
@@ -1,2 +1 @@
-DIST libretls-3.4.1.tar.gz 435404 BLAKE2B 11b828f5c058b929d1d4bc0cd3c53f17592c113f10f6bb73f8b7e672b5ab376e768e33893c4fcf5c0b447bc5cd30012c8aaaf5b639cb4962f4e0849ac3ee6cf1 SHA512 5d8b8d6cafd4b3c7e97eb417dad35a415bd69d599e9ee720f5598452a6750589b570ffa52718062d2ae3477df81b2316064577a25d2c68fa673082bb766b16ad
-DIST libretls-3.4.2.tar.gz 435457 BLAKE2B 2bfe4af4ea8d773f79b6607e7a0a2e7ae7cfae40690312e940c583bfc6de98087f328d1613e65695f46cf6ba1e11f9ef5f043185d21bcd595004f70cec6f3ef3 SHA512 0ded26558b74a00e5e05629d577c07ad9b8a8955aacbd7f97d6d1c81d4e7ccfe7c2fe0cc5bcb03fffb282cd51b8404236371d0074e39508099d1990fc3e065ba
+DIST libretls-3.8.1.tar.gz 432142 BLAKE2B d8f3c178daadcdc3b78683d25a77cd2b20235c77d8ace43fa2c658c77165db6383d8673b7047b66a894e7de5b203c6bc89d226959040f6d93b2675ceee1ba7b7 SHA512 bbf4854622401bfc8662016a73202467714b603425dea2012e72846f0a22412018448fda8befa777d67c5dae44839b81e3b039130cf4970a4026c178d3a43ce2
diff --git a/dev-libs/libretls/libretls-3.4.1.ebuild b/dev-libs/libretls/libretls-3.4.1.ebuild
deleted file mode 100644
index c3548f72f880..000000000000
--- a/dev-libs/libretls/libretls-3.4.1.ebuild
+++ /dev/null
@@ -1,30 +0,0 @@
-# Copyright 2020-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit multilib-minimal
-
-DESCRIPTION="Port of libtls from LibreSSL to OpenSSL"
-HOMEPAGE="https://git.causal.agency/libretls/about/"
-SRC_URI="https://causal.agency/libretls/${P}.tar.gz"
-
-LICENSE="ISC"
-SLOT="0/22"
-KEYWORDS="amd64 arm ~arm64 ~hppa ~ia64 ~mips ppc ppc64 ~s390 sparc x86"
-
-DEPEND="dev-libs/openssl:="
-RDEPEND="${DEPEND}"
-BDEPEND="virtual/pkgconfig"
-
-multilib_src_configure() {
- local myconf=(
- --disable-static
- )
- ECONF_SOURCE="${S}" econf "${myconf[@]}"
-}
-
-multilib_src_install() {
- default
- find "${D}" -name '*.la' -delete || die
-}
diff --git a/dev-libs/libretls/libretls-3.4.2.ebuild b/dev-libs/libretls/libretls-3.4.2.ebuild
deleted file mode 100644
index 777d4586d76b..000000000000
--- a/dev-libs/libretls/libretls-3.4.2.ebuild
+++ /dev/null
@@ -1,30 +0,0 @@
-# Copyright 2020-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit multilib-minimal
-
-DESCRIPTION="Port of libtls from LibreSSL to OpenSSL"
-HOMEPAGE="https://git.causal.agency/libretls/about/"
-SRC_URI="https://causal.agency/libretls/${P}.tar.gz"
-
-LICENSE="ISC"
-SLOT="0/22"
-KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86"
-
-DEPEND="dev-libs/openssl:="
-RDEPEND="${DEPEND}"
-BDEPEND="virtual/pkgconfig"
-
-multilib_src_configure() {
- local myconf=(
- --disable-static
- )
- ECONF_SOURCE="${S}" econf "${myconf[@]}"
-}
-
-multilib_src_install() {
- default
- find "${D}" -name '*.la' -delete || die
-}
diff --git a/dev-libs/libretls/libretls-3.8.1.ebuild b/dev-libs/libretls/libretls-3.8.1.ebuild
new file mode 100644
index 000000000000..988269d3cce4
--- /dev/null
+++ b/dev-libs/libretls/libretls-3.8.1.ebuild
@@ -0,0 +1,27 @@
+# Copyright 2020-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DESCRIPTION="Port of libtls from LibreSSL to OpenSSL"
+HOMEPAGE="https://git.causal.agency/libretls/about/"
+SRC_URI="https://causal.agency/libretls/${P}.tar.gz"
+
+LICENSE="ISC"
+SLOT="0/28"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
+
+DEPEND="
+ dev-libs/openssl:=
+"
+RDEPEND="
+ ${DEPEND}
+"
+BDEPEND="
+ virtual/pkgconfig
+"
+
+src_install() {
+ default
+ find "${ED}" -name '*.la' -delete || die
+}
diff --git a/dev-libs/libretls/metadata.xml b/dev-libs/libretls/metadata.xml
index efda1b9881c9..076793e3f54b 100644
--- a/dev-libs/libretls/metadata.xml
+++ b/dev-libs/libretls/metadata.xml
@@ -5,8 +5,4 @@
<email>mgorny@gentoo.org</email>
<name>Michał Górny</name>
</maintainer>
- <maintainer type="person">
- <email>blueness@gentoo.org</email>
- <name>Anthony G. Basile</name>
- </maintainer>
</pkgmetadata>
diff --git a/dev-libs/librevenge/Manifest b/dev-libs/librevenge/Manifest
index 2910075fa990..16d066ce6cd7 100644
--- a/dev-libs/librevenge/Manifest
+++ b/dev-libs/librevenge/Manifest
@@ -1 +1 @@
-DIST librevenge-0.0.4.tar.xz 421604 BLAKE2B 414674e4313f3062dac20a1ad7f1cf1c0a1681bb486f4edef109558fa70aaf8ee407fec8dfa93014db8c8746804e0a2bfec9636d75066b93d84e9bcbdc3f4dc4 SHA512 c4c2c98bac3522c8bd487058f4db19d85ad0d99159c4de4ffde91a10ea3adb7f995ebe8ccf6afcf533d81f50fb654bf265b9cd197508f85b5b68a101ca279712
+DIST librevenge-0.0.5.tar.xz 437400 BLAKE2B d4135e515a3f9e5d884c3d15b4dcd5cc0338aa5bca1449bacb81461a313f6704a605594c68635ac9d0eb437426560cbd98de23ab80538400d68e5adcb895557e SHA512 24f7fceedf45e4907782d36c4cc9e9bad6bfbef97a16487e41ab3ceaa47c8f464826833be9831455f4a7c1567b9307a93e1c85b80cb3b40447be130e0d2d365b
diff --git a/dev-libs/librevenge/librevenge-0.0.4-r1.ebuild b/dev-libs/librevenge/librevenge-0.0.4-r1.ebuild
deleted file mode 100644
index 14145f8a95a9..000000000000
--- a/dev-libs/librevenge/librevenge-0.0.4-r1.ebuild
+++ /dev/null
@@ -1,52 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit flag-o-matic multilib-minimal
-
-DESCRIPTION="A helper library for REVerse ENGineered formats filters"
-HOMEPAGE="https://sf.net/p/libwpd/librevenge"
-if [[ ${PV} == *9999 ]] ; then
- EGIT_REPO_URI="git://git.code.sf.net/p/libwpd/librevenge"
- inherit git-r3 autotools
-else
- SRC_URI="https://sf.net/projects/libwpd/files/${PN}/${P}/${P}.tar.xz"
- KEYWORDS="~alpha amd64 ~arm arm64 ~hppa ~ia64 ~mips ppc ppc64 ~riscv ~sparc x86"
-fi
-
-LICENSE="|| ( MPL-2.0 LGPL-2.1 )"
-SLOT="0"
-IUSE="doc test"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- sys-libs/zlib[${MULTILIB_USEDEP}]
-"
-DEPEND="${RDEPEND}
- dev-libs/boost
- doc? ( app-doc/doxygen )
- test? ( dev-util/cppunit[${MULTILIB_USEDEP}] )
-"
-
-src_prepare() {
- default
- [[ ${PV} = *9999 ]] && eautoreconf
-
- # bug 651264
- append-cxxflags -std=c++11
-}
-
-multilib_src_configure() {
- ECONF_SOURCE=${S} \
- econf \
- --disable-static \
- --disable-werror \
- $(use_with doc docs) \
- $(use_enable test tests)
-}
-
-multilib_src_install_all() {
- einstalldocs
- find "${D}" -name '*.la' -delete || die
-}
diff --git a/dev-libs/librevenge/librevenge-0.0.5.ebuild b/dev-libs/librevenge/librevenge-0.0.5.ebuild
new file mode 100644
index 000000000000..1e3095c97317
--- /dev/null
+++ b/dev-libs/librevenge/librevenge-0.0.5.ebuild
@@ -0,0 +1,46 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit multilib-minimal
+
+if [[ ${PV} == *9999 ]] ; then
+ EGIT_REPO_URI="https://git.code.sf.net/p/libwpd/librevenge"
+ inherit git-r3 autotools
+else
+ SRC_URI="https://sf.net/projects/libwpd/files/${PN}/${P}/${P}.tar.xz"
+ KEYWORDS="~alpha amd64 ~arm arm64 ~hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~sparc x86"
+fi
+
+DESCRIPTION="Helper library for REVerse ENGineered formats filters"
+HOMEPAGE="https://sourceforge.net/p/libwpd/librevenge/ci/master/tree/"
+
+LICENSE="|| ( MPL-2.0 LGPL-2.1 )"
+SLOT="0"
+IUSE="doc test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="sys-libs/zlib[${MULTILIB_USEDEP}]"
+DEPEND="${RDEPEND}
+ dev-libs/boost
+ test? ( dev-util/cppunit[${MULTILIB_USEDEP}] )"
+BDEPEND="doc? ( app-text/doxygen )"
+
+src_prepare() {
+ default
+ [[ ${PV} == *9999 ]] && eautoreconf
+}
+
+multilib_src_configure() {
+ local myeconfargs=(
+ $(multilib_native_use_with doc docs)
+ $(use_enable test tests)
+ )
+ ECONF_SOURCE=${S} econf "${myeconfargs[@]}"
+}
+
+multilib_src_install_all() {
+ einstalldocs
+ find "${ED}" -name '*.la' -type f -delete || die
+}
diff --git a/dev-libs/librevenge/librevenge-9999.ebuild b/dev-libs/librevenge/librevenge-9999.ebuild
index eff06c57664d..be80365ea20e 100644
--- a/dev-libs/librevenge/librevenge-9999.ebuild
+++ b/dev-libs/librevenge/librevenge-9999.ebuild
@@ -1,43 +1,40 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
-inherit flag-o-matic multilib-minimal
+inherit multilib-minimal
-if [[ ${PV} == *9999* ]] ; then
+if [[ ${PV} == *9999 ]] ; then
EGIT_REPO_URI="https://git.code.sf.net/p/libwpd/librevenge"
inherit git-r3 autotools
else
SRC_URI="https://sf.net/projects/libwpd/files/${PN}/${P}/${P}.tar.xz"
- KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86"
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86"
fi
DESCRIPTION="Helper library for REVerse ENGineered formats filters"
-HOMEPAGE="https://sf.net/p/libwpd/librevenge"
+HOMEPAGE="https://sourceforge.net/p/libwpd/librevenge/ci/master/tree/"
LICENSE="|| ( MPL-2.0 LGPL-2.1 )"
SLOT="0"
IUSE="doc test"
-
RESTRICT="!test? ( test )"
RDEPEND="sys-libs/zlib[${MULTILIB_USEDEP}]"
DEPEND="${RDEPEND}
dev-libs/boost
- test? ( dev-util/cppunit[${MULTILIB_USEDEP}] )
-"
-BDEPEND="doc? ( app-doc/doxygen )"
+ test? ( dev-util/cppunit[${MULTILIB_USEDEP}] )"
+BDEPEND="doc? ( app-text/doxygen )"
src_prepare() {
default
- [[ ${PV} == *9999* ]] && eautoreconf
+ [[ ${PV} == *9999 ]] && eautoreconf
}
multilib_src_configure() {
local myeconfargs=(
- --disable-werror
- $(use_with doc docs)
+ $(multilib_native_use_with doc docs)
$(use_enable test tests)
)
ECONF_SOURCE=${S} econf "${myeconfargs[@]}"
@@ -45,5 +42,5 @@ multilib_src_configure() {
multilib_src_install_all() {
einstalldocs
- find "${D}" -name '*.la' -type f -delete || die
+ find "${ED}" -name '*.la' -type f -delete || die
}
diff --git a/dev-libs/libsass/Manifest b/dev-libs/libsass/Manifest
index 4fdf4572817e..8fe67a3f14b9 100644
--- a/dev-libs/libsass/Manifest
+++ b/dev-libs/libsass/Manifest
@@ -1 +1,2 @@
DIST libsass-3.6.5.tar.gz 342426 BLAKE2B 8c6bb37da3f832dd462408a7ef4f80384e468295fc420b3d915899e65fb89a9d0b4c1cf0653b7288fedbf6a66daa2943c2911ad2c310f77a06deb84bec1d3abf SHA512 98cc7e12fdf74cd9e92d8d4a62b821956d3ad186fcee9a8d77b677a621342aa161b73d9adad4c1849678a3bac890443120cc8febe1b7429aab374321d635b8f7
+DIST libsass-3.6.6.tar.gz 342625 BLAKE2B c26dc47d129c8cc3a40e0b537504f9d046fff5ce9dab57f20f25484610bb614d51b78e7ffcce96b2a61b14c33807700cf8fb9d7cbe39340fd9c898f9f34171c9 SHA512 659828c854af391c10a16954425fbeeb5fa036189dea45555cd8046338f7469eb7f8d84134030ce644921514b8f397ef6070b56dfb116ea7ce94328d64576518
diff --git a/dev-libs/libsass/libsass-3.6.5-r1.ebuild b/dev-libs/libsass/libsass-3.6.5-r1.ebuild
new file mode 100644
index 000000000000..b384c568390c
--- /dev/null
+++ b/dev-libs/libsass/libsass-3.6.5-r1.ebuild
@@ -0,0 +1,47 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools
+
+if [[ ${PV} = *9999 ]]; then
+ EGIT_REPO_URI="https://github.com/sass/libsass.git"
+ inherit git-r3
+else
+ SRC_URI="https://github.com/sass/libsass/archive/${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="amd64 arm arm64 ~hppa ~ia64 ~loong ppc ppc64 ~riscv ~sparc x86 ~amd64-linux"
+fi
+
+DESCRIPTION="A C/C++ implementation of a Sass CSS compiler"
+HOMEPAGE="https://github.com/sass/libsass"
+LICENSE="MIT"
+SLOT="0/1" # libsass soname
+
+DOCS=( Readme.md SECURITY.md )
+
+src_prepare() {
+ default
+
+ if [[ ${PV} != *9999 ]]; then
+ [[ -f VERSION ]] || echo "${PV}" > VERSION
+ fi
+
+ eautoreconf
+}
+
+src_configure() {
+ local myeconfargs=(
+ --enable-shared
+ )
+
+ econf "${myeconfargs[@]}"
+}
+
+src_install() {
+ default
+
+ dodoc -r docs
+
+ find "${ED}" -name '*.la' -delete || die
+}
diff --git a/dev-libs/libsass/libsass-3.6.5.ebuild b/dev-libs/libsass/libsass-3.6.5.ebuild
deleted file mode 100644
index d1807595adcc..000000000000
--- a/dev-libs/libsass/libsass-3.6.5.ebuild
+++ /dev/null
@@ -1,53 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit autotools multilib-minimal
-
-if [[ ${PV} = *9999 ]]; then
- EGIT_REPO_URI="https://github.com/sass/libsass.git"
- inherit git-r3
-else
- SRC_URI="https://github.com/sass/libsass/archive/${PV}.tar.gz -> ${P}.tar.gz"
- KEYWORDS="amd64 ~arm arm64 ~hppa ~ia64 ~ppc ~ppc64 ~riscv x86 ~amd64-linux"
-fi
-
-DESCRIPTION="A C/C++ implementation of a Sass CSS compiler"
-HOMEPAGE="https://github.com/sass/libsass"
-LICENSE="MIT"
-SLOT="0/1" # libsass soname
-IUSE="static-libs"
-
-DOCS=( Readme.md SECURITY.md )
-
-src_prepare() {
- default
-
- if [[ ${PV} != *9999 ]]; then
- [[ -f VERSION ]] || echo "${PV}" > VERSION
- fi
- eautoreconf
-
- # only sane way to deal with various version-related scripts, env variables etc.
- multilib_copy_sources
-}
-
-multilib_src_configure() {
- local myeconfargs=(
- $(use_enable static-libs static)
- --enable-shared
- )
-
- econf "${myeconfargs[@]}"
-}
-
-multilib_src_install() {
- emake DESTDIR="${D}" install
- find "${D}" -name '*.la' -delete || die
-}
-
-multilib_src_install_all() {
- einstalldocs
- dodoc -r "${S}/docs"
-}
diff --git a/dev-libs/libsass/libsass-3.6.6.ebuild b/dev-libs/libsass/libsass-3.6.6.ebuild
new file mode 100644
index 000000000000..fdea10f2a19c
--- /dev/null
+++ b/dev-libs/libsass/libsass-3.6.6.ebuild
@@ -0,0 +1,47 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools
+
+if [[ ${PV} = *9999 ]]; then
+ EGIT_REPO_URI="https://github.com/sass/libsass.git"
+ inherit git-r3
+else
+ SRC_URI="https://github.com/sass/libsass/archive/${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux"
+fi
+
+DESCRIPTION="A C/C++ implementation of a Sass CSS compiler"
+HOMEPAGE="https://github.com/sass/libsass"
+LICENSE="MIT"
+SLOT="0/1" # libsass soname
+
+DOCS=( Readme.md SECURITY.md )
+
+src_prepare() {
+ default
+
+ if [[ ${PV} != *9999 ]]; then
+ [[ -f VERSION ]] || echo "${PV}" > VERSION
+ fi
+
+ eautoreconf
+}
+
+src_configure() {
+ local myeconfargs=(
+ --enable-shared
+ )
+
+ econf "${myeconfargs[@]}"
+}
+
+src_install() {
+ default
+
+ dodoc -r docs
+
+ find "${ED}" -name '*.la' -delete || die
+}
diff --git a/dev-libs/libsass/libsass-9999.ebuild b/dev-libs/libsass/libsass-9999.ebuild
index 04fbd70077d4..fdea10f2a19c 100644
--- a/dev-libs/libsass/libsass-9999.ebuild
+++ b/dev-libs/libsass/libsass-9999.ebuild
@@ -1,23 +1,22 @@
-# 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 multilib-minimal
+inherit autotools
if [[ ${PV} = *9999 ]]; then
EGIT_REPO_URI="https://github.com/sass/libsass.git"
inherit git-r3
else
SRC_URI="https://github.com/sass/libsass/archive/${PV}.tar.gz -> ${P}.tar.gz"
- KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~x86 ~amd64-linux"
+ KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux"
fi
DESCRIPTION="A C/C++ implementation of a Sass CSS compiler"
HOMEPAGE="https://github.com/sass/libsass"
LICENSE="MIT"
SLOT="0/1" # libsass soname
-IUSE="static-libs"
DOCS=( Readme.md SECURITY.md )
@@ -27,27 +26,22 @@ src_prepare() {
if [[ ${PV} != *9999 ]]; then
[[ -f VERSION ]] || echo "${PV}" > VERSION
fi
- eautoreconf
- # only sane way to deal with various version-related scripts, env variables etc.
- multilib_copy_sources
+ eautoreconf
}
-multilib_src_configure() {
+src_configure() {
local myeconfargs=(
- $(use_enable static-libs static)
--enable-shared
)
econf "${myeconfargs[@]}"
}
-multilib_src_install() {
- emake DESTDIR="${D}" install
- find "${D}" -name '*.la' -delete || die
-}
+src_install() {
+ default
+
+ dodoc -r docs
-multilib_src_install_all() {
- einstalldocs
- dodoc -r "${S}/docs"
+ find "${ED}" -name '*.la' -delete || die
}
diff --git a/dev-libs/libsavitar/Manifest b/dev-libs/libsavitar/Manifest
deleted file mode 100644
index ed39d1abd712..000000000000
--- a/dev-libs/libsavitar/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST libsavitar-4.9.1.tar.gz 100496 BLAKE2B 7700f110522298905c1e4cf42529e83c06c337ac826007db2fca8abf462abcb8dd9245d2d81773ba3e6663d9afa093685bf955a1cc7e27d48fc904913e56d62f SHA512 2b291a17603922a4a06292282392015cf381a813b5f9a374e8cb35da6c0701ead72cbf76f17e763793225885a4209b49e73114f462b40d6999f95db6de887a44
diff --git a/dev-libs/libsavitar/files/libsavitar-4.7.0-use-system-pugixml.patch b/dev-libs/libsavitar/files/libsavitar-4.7.0-use-system-pugixml.patch
deleted file mode 100644
index cd9406da9286..000000000000
--- a/dev-libs/libsavitar/files/libsavitar-4.7.0-use-system-pugixml.patch
+++ /dev/null
@@ -1,8 +0,0 @@
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -15,7 +15,7 @@
- find_package(Threads QUIET)
- endif()
-
--add_subdirectory(pugixml)
-+find_package(pugixml REQUIRED)
diff --git a/dev-libs/libsavitar/libsavitar-4.9.1.ebuild b/dev-libs/libsavitar/libsavitar-4.9.1.ebuild
deleted file mode 100644
index 263cdd5d1947..000000000000
--- a/dev-libs/libsavitar/libsavitar-4.9.1.ebuild
+++ /dev/null
@@ -1,76 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{8..10} )
-
-inherit cmake python-single-r1
-
-MY_PN="libSavitar"
-
-DESCRIPTION="C++ implementation of 3mf loading with SIP python bindings"
-HOMEPAGE="https://github.com/Ultimaker/libSavitar"
-SRC_URI="https://github.com/Ultimaker/${MY_PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="LGPL-3"
-SLOT="0/3"
-KEYWORDS="~amd64 ~arm64 ~x86"
-
-IUSE="+python static-libs test"
-RESTRICT="!test? ( test )"
-REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
-
-RDEPEND="${PYTHON_DEPS}
- dev-libs/pugixml
- $(python_gen_cond_dep '
- <dev-python/sip-5[${PYTHON_USEDEP}]
- ')"
-
-DEPEND="${RDEPEND}
- test? (
- dev-cpp/gtest
- dev-cpp/tbb
- )"
-
-S="${WORKDIR}/${MY_PN}-${PV}"
-BUILD_DIR="${S}/build"
-
-PATCHES=( "${FILESDIR}/${PN}-4.7.0-use-system-pugixml.patch" )
-
-pkg_setup() {
- use python && python-single-r1_pkg_setup
-}
-
-src_prepare() {
- # remove bundled pugixml
- rm -r "${S}"/pugixml || die
-
- find "${S}"/src -type f -name '*.cpp' -o -name '*.h' | xargs sed -i \
- -e 's "../pugixml/src/pugixml.hpp" <pugixml.hpp> g' || die
-
- if use test; then
- find "${S}"/tests -type f -name '*.cpp' -o -name '*.h' | xargs sed -i \
- -e 's "../pugixml/src/pugixml.hpp" <pugixml.hpp> g' || die
- fi
-
- # find SIP for current python version, not the latest installed
- sed -i -e "s/find_package(Python3 3.4 REQUIRED/find_package(Python3 ${EPYTHON##python} EXACT REQUIRED/g" \
- CMakeLists.txt cmake/FindSIP.cmake || die
-
- cmake_src_prepare
-}
-
-src_configure() {
- local mycmakeargs=(
- -DBUILD_PYTHON=$(usex python ON OFF)
- -DBUILD_STATIC=$(usex static-libs ON OFF)
- -DBUILD_TESTS=$(usex test ON OFF)
- )
-
- cmake_src_configure
-}
-
-src_test() {
- cmake_src_test
-}
diff --git a/dev-libs/libsavitar/metadata.xml b/dev-libs/libsavitar/metadata.xml
deleted file mode 100644
index aae28f3e766e..000000000000
--- a/dev-libs/libsavitar/metadata.xml
+++ /dev/null
@@ -1,31 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="project">
- <email>3dprint@gentoo.org</email>
- <name>Gentoo 3D Printer Project</name>
- </maintainer>
- <maintainer type="person">
- <email>alexxy@gentoo.org</email>
- <name>Alexey Shvetsov</name>
- </maintainer>
- <maintainer type="project" proxied="proxy">
- <email>proxy-maint@gentoo.org</email>
- <name>Proxy Maintainers</name>
- </maintainer>
- <maintainer type="person" proxied="yes">
- <email>mathy@vanvoorden.be</email>
- <name>Mathy Vanvoorden</name>
- </maintainer>
- <maintainer type="person" proxied="yes">
- <email>perlovka@gmail.com</email>
- <name>Michael Perlov</name>
- </maintainer>
- <slots>
- <subslots>soname major version number</subslots>
- </slots>
- <upstream>
- <bugs-to>https://github.com/Ultimaker/libSavitar/issues</bugs-to>
- <remote-id type="github">Ultimaker/libSavitar</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/dev-libs/libscfg/Manifest b/dev-libs/libscfg/Manifest
new file mode 100644
index 000000000000..5195386508e7
--- /dev/null
+++ b/dev-libs/libscfg/Manifest
@@ -0,0 +1 @@
+DIST libscfg-0.1.1.tar.gz 4081 BLAKE2B 027fdcfb0381490609aa16f8cf07bce23492245761a5531863fc01d966c2ed1e18e67ee6a9ea4e52e8b823b6f5d13ba589bf6e541f0d9af07a8c431caa17cbe5 SHA512 8f4821d22cd26509c40d77d2a5585fb891259618aeb03611b5f2e3b620a88b7f24cc9bf05b6ad3f99c3c35f855e2ba8a1df13460ff2fe53152d78d03fd8dd6ce
diff --git a/dev-libs/libscfg/libscfg-0.1.1.ebuild b/dev-libs/libscfg/libscfg-0.1.1.ebuild
new file mode 100644
index 000000000000..eacb5cdcaac6
--- /dev/null
+++ b/dev-libs/libscfg/libscfg-0.1.1.ebuild
@@ -0,0 +1,18 @@
+# Copyright 2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit meson
+
+DESCRIPTION="C library for a simple configuration file format"
+HOMEPAGE="https://git.sr.ht/~emersion/scfg https://sr.ht/~emersion/libscfg/"
+SRC_URI="
+ https://git.sr.ht/~emersion/libscfg/archive/v${PV}.tar.gz
+ -> ${P}.tar.gz
+"
+S=${WORKDIR}/${PN}-v${PV}
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
diff --git a/dev-libs/libscfg/metadata.xml b/dev-libs/libscfg/metadata.xml
new file mode 100644
index 000000000000..acfe503566cd
--- /dev/null
+++ b/dev-libs/libscfg/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>arthurzam@gentoo.org</email>
+ <name>Arthur Zamarin</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="sourcehut">~emersion/libscfg</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/libsecp256k1/Manifest b/dev-libs/libsecp256k1/Manifest
index 5d4a61eeda99..d2b9249101ad 100644
--- a/dev-libs/libsecp256k1/Manifest
+++ b/dev-libs/libsecp256k1/Manifest
@@ -1,2 +1,7 @@
+DIST libsecp256k1-0.3.0.tar.gz 2475682 BLAKE2B a531a87da63abc67a55e756852cde41cdc56d388963871beb23233623721f583ade4ce6b273ffa1c319a3875541e18c549512034d7b6a9eb926e8e916513d14d SHA512 77251b37990b0e73442aa1ec1ff51c5c7e293755ace9abc92ce6c3d21c7ed7f3b1666b939b4410bf1f637e3a69b16a7d33069caf071327f05177420a10f15eda
+DIST libsecp256k1-0.3.1.tar.gz 2560292 BLAKE2B 70ff57e222dd47d0e63a40653d4e7b4e727f6bcb5abf005f15c94cf70e7d11843281d7406d2640b06a0f6a2c2f79cc66ea544cca761d1587973d57006ca39daf SHA512 58ec679625ef4663c94c7198ee953283106c1e027623c3de341277fa757265b822ad3c0e98019f9e425f0e9e414b03e6b62853a1581611813cce753e81845d0f
+DIST libsecp256k1-0.3.2.tar.gz 2566680 BLAKE2B bf0a5ac1edbc115247148912822a2cefe798651f6c6a480422eee90eba96ebbfba772d561e321ac2bf7a0f8261f8ccd9f3af0e66e196f1e861aa550ee1303f27 SHA512 18104b72dd5d1f5e776d72c31c36247e450736437b453b59cf6ec86f84fedeafcf231e266c1ddad727befd9864c65a779000d01e6cef4b9a6485850afebc8a81
+DIST libsecp256k1-0.4.0.tar.gz 2607093 BLAKE2B abbd68580e5e35478d74cad13e0e55a175d2000a0a071dc0812655a47ee262572c1e6944d2d5c8f3dd2b798a72e90be7b64d76f7be25e85ba2471e03254a8fb0 SHA512 84cc115a74d39bc4173012f321ae13195ae92bb96f1dcdcb01fe8392fd5b2437addfa63a1654d07f70e67f0ea6e27978134196442b9ae25bc6f9159ee9ef6527
+DIST libsecp256k1-0.4.1.tar.gz 2614189 BLAKE2B 50de3e2699afa6b80aa64b9c593a6eff98d779706fde3cbb9b54ae0b596c584538abfc9f6d03cdcfd92e6df46db287049a83609e4f5dbb197fd067202f728810 SHA512 68d057d6820ca77006a16d6997c1e8240480b2d6e8d6a4d68188c699c476b71a46850dd3bc217e53a2ebd518b4db37d669058d2104d89cb2a356ba54892ad447
DIST libsecp256k1-v0.1_pre20190401.tgz 166663 BLAKE2B 68c9fc3fda6af56452f32edeae5dcb5a92f68bc3fb39a397c532951c6392347df14ea0347bbe05cab43158512e0d9f5ea87bd8f69bece1b04440860ebb8065ee SHA512 8c4945e93cb5ff241482ba4426b25162a7ae3b26860edc10c91d06b1c396887202ad971f4d38e035828352531b87fc29087a12b675e43da44f23c9ea3b6c0cc8
DIST libsecp256k1-v0.1_pre20201028.tgz 200051 BLAKE2B 90d636049b411e02703feb2661006900a55f952f60e76e2b7147a5afe8e391a06a80d6ae1489b1e7f2382176c7ea831526465a85bca09156dc6d37b417fcb33b SHA512 54a0fa21b64dd6836e4227de51f3539afe06e0e2f352683397d6adb5dd0508af443d2e25f91e90e1ae366b261965fe7d438292314705baee799cf37421644958
diff --git a/dev-libs/libsecp256k1/files/0.3.0-fix-cross-compile.patch b/dev-libs/libsecp256k1/files/0.3.0-fix-cross-compile.patch
new file mode 100644
index 000000000000..1aec78d36589
--- /dev/null
+++ b/dev-libs/libsecp256k1/files/0.3.0-fix-cross-compile.patch
@@ -0,0 +1,99 @@
+https://github.com/bitcoin-core/secp256k1/pull/1159
+
+From dc87b08eea757aae95b1efc25fe543e91510df0a Mon Sep 17 00:00:00 2001
+From: Matt Whitlock <bitcoin@mattwhitlock.name>
+Date: Sun, 20 Nov 2022 01:46:07 -0500
+Subject: [PATCH] Makefile: build precomp generators using build-system
+ toolchain
+
+When cross-compiling libsecp256k1, if the `precomputed_ecmult*.c` source
+files need to be regenerated, then the generators need to be built for
+the *build* system, not for the *host* system. Autoconf supports this
+fairly cleanly via the `AX_PROG_CC_FOR_BUILD` macro (from Autoconf
+Archive), but Automake requires some hackery. When building the
+generators, we override the `CC` variable to its build-system
+counterpart, `CC_FOR_BUILD`, and we specify Automake per-program
+overrides for `CFLAGS`, `CPPFLAGS`, and `LDFLAGS`, setting their values
+respectively from the `CFLAGS_FOR_BUILD`, `CPPFLAGS_FOR_BUILD`, and
+`LDFLAGS_FOR_BUILD` variables, whose values in turn are populated by the
+aforementioned Autoconf macro and may be overridden on the `make`
+command line. Since Automake lacks support for overriding `EXEEXT` on a
+per-program basis, we define a recipe that builds the generator binaries
+with names suffixed with `$(EXEEXT)` and then renames them suffixed with
+`$(BUILD_EXEEXT)`.
+---
+ Makefile.am | 35 +++++++++++++++++++++++++++--------
+ configure.ac | 1 +
+ 2 files changed, 28 insertions(+), 8 deletions(-)
+
+diff --git a/Makefile.am b/Makefile.am
+index e3fdf4da..5e859c91 100644
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -186,15 +186,34 @@ endif
+ endif
+
+ ### Precomputed tables
+-EXTRA_PROGRAMS = precompute_ecmult precompute_ecmult_gen
+-CLEANFILES = $(EXTRA_PROGRAMS)
++PROGRAMS_FOR_BUILD = precompute_ecmult precompute_ecmult_gen
++$(addsuffix $(BUILD_EXEEXT),$(PROGRAMS_FOR_BUILD)) : override CC = $(CC_FOR_BUILD)
++# Automake has no support for PROGRAMS suffixed with BUILD_EXEEXT
++# instead of EXEEXT, so if those extensions differ, then we define a
++# recipe that builds the latter and renames it to the former. Since
++# Cygwin toolchains always append '.exe' to the output file name given
++# by '-o', we ignore rename failures since the toolchain will have
++# already created the right output file. (Note: The leading spaces
++# before ifneq and endif here are a hack so Automake won't try to
++# interpret them as an Automake conditional.)
++ ifneq ($(BUILD_EXEEXT),$(EXEEXT))
++%$(BUILD_EXEEXT) : %$(EXEEXT)
++ mv -- '$<' '$@' || :
++ endif
++
++EXTRA_PROGRAMS = $(PROGRAMS_FOR_BUILD)
++CLEANFILES = $(addsuffix $(BUILD_EXEEXT),$(PROGRAMS_FOR_BUILD))
+
+ precompute_ecmult_SOURCES = src/precompute_ecmult.c
+-precompute_ecmult_CPPFLAGS = $(SECP_CONFIG_DEFINES)
++precompute_ecmult_CFLAGS = $(CFLAGS_FOR_BUILD)
++precompute_ecmult_CPPFLAGS = $(CPPFLAGS_FOR_BUILD) $(SECP_CONFIG_DEFINES)
++precompute_ecmult_LDFLAGS = $(LDFLAGS_FOR_BUILD)
+ precompute_ecmult_LDADD = $(COMMON_LIB)
+
+ precompute_ecmult_gen_SOURCES = src/precompute_ecmult_gen.c
+-precompute_ecmult_gen_CPPFLAGS = $(SECP_CONFIG_DEFINES)
++precompute_ecmult_gen_CFLAGS = $(CFLAGS_FOR_BUILD)
++precompute_ecmult_gen_CPPFLAGS = $(CPPFLAGS_FOR_BUILD) $(SECP_CONFIG_DEFINES)
++precompute_ecmult_gen_LDFLAGS = $(LDFLAGS_FOR_BUILD)
+ precompute_ecmult_gen_LDADD = $(COMMON_LIB)
+
+ # See Automake manual, Section "Errors with distclean".
+@@ -204,11 +223,11 @@ precompute_ecmult_gen_LDADD = $(COMMON_LIB)
+ # This means that rebuilds of the prebuilt files always need to be
+ # forced by deleting them, e.g., by invoking `make clean-precomp`.
+ src/precomputed_ecmult.c:
+- $(MAKE) $(AM_MAKEFLAGS) precompute_ecmult$(EXEEXT)
+- ./precompute_ecmult$(EXEEXT)
++ $(MAKE) $(AM_MAKEFLAGS) precompute_ecmult$(BUILD_EXEEXT)
++ ./precompute_ecmult$(BUILD_EXEEXT)
+ src/precomputed_ecmult_gen.c:
+- $(MAKE) $(AM_MAKEFLAGS) precompute_ecmult_gen$(EXEEXT)
+- ./precompute_ecmult_gen$(EXEEXT)
++ $(MAKE) $(AM_MAKEFLAGS) precompute_ecmult_gen$(BUILD_EXEEXT)
++ ./precompute_ecmult_gen$(BUILD_EXEEXT)
+
+ PRECOMP = src/precomputed_ecmult_gen.c src/precomputed_ecmult.c
+ precomp: $(PRECOMP)
+diff --git a/configure.ac b/configure.ac
+index a46a0a7b..3b88d0d0 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -32,6 +32,7 @@ m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
+ AC_PROG_CC
+ AM_PROG_AS
+ AM_PROG_AR
++AX_PROG_CC_FOR_BUILD
+
+ # Clear some cache variables as a workaround for a bug that appears due to a bad
+ # interaction between AM_PROG_AR and LT_INIT when combining MSVC's archiver lib.exe.
diff --git a/dev-libs/libsecp256k1/files/0.4.0-fix-cross-compile.patch b/dev-libs/libsecp256k1/files/0.4.0-fix-cross-compile.patch
new file mode 100644
index 000000000000..e77b59f15204
--- /dev/null
+++ b/dev-libs/libsecp256k1/files/0.4.0-fix-cross-compile.patch
@@ -0,0 +1,99 @@
+https://github.com/bitcoin-core/secp256k1/pull/1159
+
+From 4764fb33a47e93769ee8b9353a270989227bc2f0 Mon Sep 17 00:00:00 2001
+From: Matt Whitlock <bitcoin@mattwhitlock.name>
+Date: Sun, 20 Nov 2022 01:46:07 -0500
+Subject: [PATCH] Makefile: build precomp generators using build-system
+ toolchain
+
+When cross-compiling libsecp256k1, if the `precomputed_ecmult*.c` source
+files need to be regenerated, then the generators need to be built for
+the *build* system, not for the *host* system. Autoconf supports this
+fairly cleanly via the `AX_PROG_CC_FOR_BUILD` macro (from Autoconf
+Archive), but Automake requires some hackery. When building the
+generators, we override the `CC` variable to its build-system
+counterpart, `CC_FOR_BUILD`, and we specify Automake per-program
+overrides for `CFLAGS`, `CPPFLAGS`, and `LDFLAGS`, setting their values
+respectively from the `CFLAGS_FOR_BUILD`, `CPPFLAGS_FOR_BUILD`, and
+`LDFLAGS_FOR_BUILD` variables, whose values in turn are populated by the
+aforementioned Autoconf macro and may be overridden on the `make`
+command line. Since Automake lacks support for overriding `EXEEXT` on a
+per-program basis, we define a recipe that builds the generator binaries
+with names suffixed with `$(EXEEXT)` and then renames them suffixed with
+`$(BUILD_EXEEXT)`.
+---
+ Makefile.am | 35 +++++++++++++++++++++++++++--------
+ configure.ac | 1 +
+ 2 files changed, 28 insertions(+), 8 deletions(-)
+
+diff --git a/Makefile.am b/Makefile.am
+index 32bc729a..de43723f 100644
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -185,15 +185,34 @@ endif
+ endif
+
+ ### Precomputed tables
+-EXTRA_PROGRAMS = precompute_ecmult precompute_ecmult_gen
+-CLEANFILES = $(EXTRA_PROGRAMS)
++PROGRAMS_FOR_BUILD = precompute_ecmult precompute_ecmult_gen
++$(addsuffix $(BUILD_EXEEXT),$(PROGRAMS_FOR_BUILD)) : override CC = $(CC_FOR_BUILD)
++# Automake has no support for PROGRAMS suffixed with BUILD_EXEEXT
++# instead of EXEEXT, so if those extensions differ, then we define a
++# recipe that builds the latter and renames it to the former. Since
++# Cygwin toolchains always append '.exe' to the output file name given
++# by '-o', we ignore rename failures since the toolchain will have
++# already created the right output file. (Note: The leading spaces
++# before ifneq and endif here are a hack so Automake won't try to
++# interpret them as an Automake conditional.)
++ ifneq ($(BUILD_EXEEXT),$(EXEEXT))
++%$(BUILD_EXEEXT) : %$(EXEEXT)
++ mv -- '$<' '$@' || :
++ endif
++
++EXTRA_PROGRAMS = $(PROGRAMS_FOR_BUILD)
++CLEANFILES = $(addsuffix $(BUILD_EXEEXT),$(PROGRAMS_FOR_BUILD))
+
+ precompute_ecmult_SOURCES = src/precompute_ecmult.c
+-precompute_ecmult_CPPFLAGS = $(SECP_CONFIG_DEFINES) -DVERIFY
++precompute_ecmult_CFLAGS = $(CFLAGS_FOR_BUILD)
++precompute_ecmult_CPPFLAGS = $(CPPFLAGS_FOR_BUILD) $(SECP_CONFIG_DEFINES) -DVERIFY
++precompute_ecmult_LDFLAGS = $(LDFLAGS_FOR_BUILD)
+ precompute_ecmult_LDADD = $(COMMON_LIB)
+
+ precompute_ecmult_gen_SOURCES = src/precompute_ecmult_gen.c
+-precompute_ecmult_gen_CPPFLAGS = $(SECP_CONFIG_DEFINES) -DVERIFY
++precompute_ecmult_gen_CFLAGS = $(CFLAGS_FOR_BUILD)
++precompute_ecmult_gen_CPPFLAGS = $(CPPFLAGS_FOR_BUILD) $(SECP_CONFIG_DEFINES) -DVERIFY
++precompute_ecmult_gen_LDFLAGS = $(LDFLAGS_FOR_BUILD)
+ precompute_ecmult_gen_LDADD = $(COMMON_LIB)
+
+ # See Automake manual, Section "Errors with distclean".
+@@ -203,11 +222,11 @@ precompute_ecmult_gen_LDADD = $(COMMON_LIB)
+ # This means that rebuilds of the prebuilt files always need to be
+ # forced by deleting them.
+ src/precomputed_ecmult.c:
+- $(MAKE) $(AM_MAKEFLAGS) precompute_ecmult$(EXEEXT)
+- ./precompute_ecmult$(EXEEXT)
++ $(MAKE) $(AM_MAKEFLAGS) precompute_ecmult$(BUILD_EXEEXT)
++ ./precompute_ecmult$(BUILD_EXEEXT)
+ src/precomputed_ecmult_gen.c:
+- $(MAKE) $(AM_MAKEFLAGS) precompute_ecmult_gen$(EXEEXT)
+- ./precompute_ecmult_gen$(EXEEXT)
++ $(MAKE) $(AM_MAKEFLAGS) precompute_ecmult_gen$(BUILD_EXEEXT)
++ ./precompute_ecmult_gen$(BUILD_EXEEXT)
+
+ PRECOMP = src/precomputed_ecmult_gen.c src/precomputed_ecmult.c
+ precomp: $(PRECOMP)
+diff --git a/configure.ac b/configure.ac
+index e3877850..48072cb3 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -37,6 +37,7 @@ fi
+ AC_PROG_CC
+ AM_PROG_AS
+ AM_PROG_AR
++AX_PROG_CC_FOR_BUILD
+
+ # Clear some cache variables as a workaround for a bug that appears due to a bad
+ # interaction between AM_PROG_AR and LT_INIT when combining MSVC's archiver lib.exe.
diff --git a/dev-libs/libsecp256k1/libsecp256k1-0.1_pre20201028-r1.ebuild b/dev-libs/libsecp256k1/libsecp256k1-0.1_pre20201028-r1.ebuild
new file mode 100644
index 000000000000..6893461f6422
--- /dev/null
+++ b/dev-libs/libsecp256k1/libsecp256k1-0.1_pre20201028-r1.ebuild
@@ -0,0 +1,73 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit autotools
+
+MyPN=secp256k1
+DESCRIPTION="Optimized C library for EC operations on curve secp256k1"
+HOMEPAGE="https://github.com/bitcoin-core/secp256k1"
+COMMITHASH="3967d96bf184519eb98b766af665b4d4b072563e"
+SRC_URI="https://github.com/bitcoin-core/${MyPN}/archive/${COMMITHASH}.tar.gz -> ${PN}-v${PV}.tgz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 ~arm ~arm64 ~mips ~ppc ~ppc64 x86 ~amd64-linux ~x86-linux"
+IUSE="+asm ecdh +experimental +extrakeys gmp lowmem +recovery +schnorr test test-openssl valgrind"
+RESTRICT="!test? ( test )"
+
+REQUIRED_USE="
+ asm? ( || ( amd64 arm ) arm? ( experimental ) )
+ extrakeys? ( experimental )
+ schnorr? ( experimental extrakeys )
+ test-openssl? ( test )
+"
+RDEPEND="
+ gmp? ( dev-libs/gmp:0= )
+"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+ test-openssl? ( dev-libs/openssl:0 )
+ valgrind? ( dev-debug/valgrind )
+"
+
+S="${WORKDIR}/${MyPN}-${COMMITHASH}"
+
+src_prepare() {
+ default
+ eautoreconf
+}
+
+src_configure() {
+ local asm_opt
+ if use asm; then
+ if use arm; then
+ asm_opt=arm
+ else
+ asm_opt=auto
+ fi
+ else
+ asm_opt=no
+ fi
+ econf \
+ --disable-benchmark \
+ $(use_enable experimental) \
+ $(use_enable test tests) \
+ $(use_enable test exhaustive-tests) \
+ $(use_enable test-openssl openssl-tests) \
+ $(use_enable ecdh module-ecdh) \
+ $(use_enable extrakeys module-extrakeys) \
+ --with-asm=${asm_opt} \
+ --with-bignum=$(usex gmp gmp no) \
+ $(use_enable recovery module-recovery) \
+ $(use_enable schnorr module-schnorrsig) \
+ $(usex lowmem '--with-ecmult-window=4 --with-ecmult-gen-precision=2' '') \
+ $(use_with valgrind) \
+ --disable-static
+}
+
+src_install() {
+ default
+ find "${D}" -name '*.la' -delete || die
+}
diff --git a/dev-libs/libsecp256k1/libsecp256k1-0.1_pre20201028.ebuild b/dev-libs/libsecp256k1/libsecp256k1-0.1_pre20201028.ebuild
deleted file mode 100644
index b78335558ac9..000000000000
--- a/dev-libs/libsecp256k1/libsecp256k1-0.1_pre20201028.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
-
-MyPN=secp256k1
-DESCRIPTION="Optimized C library for EC operations on curve secp256k1"
-HOMEPAGE="https://github.com/bitcoin-core/secp256k1"
-COMMITHASH="3967d96bf184519eb98b766af665b4d4b072563e"
-SRC_URI="https://github.com/bitcoin-core/${MyPN}/archive/${COMMITHASH}.tar.gz -> ${PN}-v${PV}.tgz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 ~arm ~arm64 ~mips ~ppc ~ppc64 x86 ~amd64-linux ~x86-linux"
-IUSE="+asm ecdh +experimental +extrakeys gmp lowmem precompute-ecmult +schnorr +recovery test test-openssl valgrind"
-RESTRICT="!test? ( test )"
-
-REQUIRED_USE="
- asm? ( || ( amd64 arm ) arm? ( experimental ) )
- extrakeys? ( experimental )
- ?? ( lowmem precompute-ecmult )
- schnorr? ( experimental extrakeys )
- test-openssl? ( test )
-"
-RDEPEND="
- gmp? ( dev-libs/gmp:0= )
-"
-DEPEND="${RDEPEND}
- virtual/pkgconfig
- test-openssl? ( dev-libs/openssl:0 )
- valgrind? ( dev-util/valgrind )
-"
-
-S="${WORKDIR}/${MyPN}-${COMMITHASH}"
-
-src_prepare() {
- default
- eautoreconf
-}
-
-src_configure() {
- local asm_opt
- if use asm; then
- if use arm; then
- asm_opt=arm
- else
- asm_opt=auto
- fi
- else
- asm_opt=no
- fi
- econf \
- --disable-benchmark \
- $(use_enable experimental) \
- $(use_enable test tests) \
- $(use_enable test exhaustive-tests) \
- $(use_enable test-openssl openssl-tests) \
- $(use_enable ecdh module-ecdh) \
- $(use_enable extrakeys module-extrakeys) \
- --with-asm=${asm_opt} \
- --with-bignum=$(usex gmp gmp no) \
- $(use_enable recovery module-recovery) \
- $(use_enable schnorr module-schnorrsig) \
- $(usex lowmem '--with-ecmult-window=2 --with-ecmult-gen-precision=2' '') \
- $(usex precompute-ecmult '--with-ecmult-window=24 --with-ecmult-gen-precision=8' '') \
- $(use_with valgrind) \
- --disable-static
-}
-
-src_install() {
- default
- find "${D}" -name '*.la' -delete || die
-}
diff --git a/dev-libs/libsecp256k1/libsecp256k1-0.3.0.ebuild b/dev-libs/libsecp256k1/libsecp256k1-0.3.0.ebuild
new file mode 100644
index 000000000000..61e3902587f1
--- /dev/null
+++ b/dev-libs/libsecp256k1/libsecp256k1-0.3.0.ebuild
@@ -0,0 +1,72 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools
+
+MyPN=secp256k1
+DESCRIPTION="Optimized C library for EC operations on curve secp256k1"
+HOMEPAGE="https://github.com/bitcoin-core/secp256k1"
+SRC_URI="https://github.com/bitcoin-core/secp256k1/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0/2" # subslot is "$((_LIB_VERSION_CURRENT-_LIB_VERSION_AGE))" from configure.ac
+KEYWORDS="~amd64 ~arm ~arm64 ~mips ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="+asm +ecdh experimental +extrakeys lowmem +recovery +schnorr test valgrind"
+RESTRICT="!test? ( test )"
+
+REQUIRED_USE="
+ asm? ( || ( amd64 arm ) arm? ( experimental ) )
+ schnorr? ( extrakeys )
+"
+BDEPEND="
+ dev-build/autoconf-archive
+ virtual/pkgconfig
+ valgrind? ( dev-debug/valgrind )
+"
+
+PATCHES=(
+ "${FILESDIR}/0.3.0-fix-cross-compile.patch"
+)
+
+S="${WORKDIR}/${MyPN}-${PV}"
+
+src_prepare() {
+ default
+ eautoreconf
+
+ # Generate during build
+ rm -f src/precomputed_ecmult.c src/precomputed_ecmult_gen.c || die
+}
+
+src_configure() {
+ local myeconfargs=(
+ --disable-benchmark
+ $(use_enable experimental)
+ $(use_enable test tests)
+ $(use_enable test exhaustive-tests)
+ $(use_enable {,module-}ecdh)
+ $(use_enable {,module-}extrakeys)
+ $(use_enable {,module-}recovery)
+ $(use_enable schnorr module-schnorrsig)
+ $(usev lowmem '--with-ecmult-window=4 --with-ecmult-gen-precision=2')
+ $(use_with valgrind)
+ )
+ if use asm; then
+ if use arm; then
+ myeconfargs+=( --with-asm=arm )
+ else
+ myeconfargs+=( --with-asm=auto )
+ fi
+ else
+ myeconfargs+=( --with-asm=no )
+ fi
+
+ econf "${myeconfargs[@]}"
+}
+
+src_install() {
+ default
+ find "${ED}" -name '*.la' -delete || die
+}
diff --git a/dev-libs/libsecp256k1/libsecp256k1-0.3.1.ebuild b/dev-libs/libsecp256k1/libsecp256k1-0.3.1.ebuild
new file mode 100644
index 000000000000..61e3902587f1
--- /dev/null
+++ b/dev-libs/libsecp256k1/libsecp256k1-0.3.1.ebuild
@@ -0,0 +1,72 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools
+
+MyPN=secp256k1
+DESCRIPTION="Optimized C library for EC operations on curve secp256k1"
+HOMEPAGE="https://github.com/bitcoin-core/secp256k1"
+SRC_URI="https://github.com/bitcoin-core/secp256k1/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0/2" # subslot is "$((_LIB_VERSION_CURRENT-_LIB_VERSION_AGE))" from configure.ac
+KEYWORDS="~amd64 ~arm ~arm64 ~mips ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="+asm +ecdh experimental +extrakeys lowmem +recovery +schnorr test valgrind"
+RESTRICT="!test? ( test )"
+
+REQUIRED_USE="
+ asm? ( || ( amd64 arm ) arm? ( experimental ) )
+ schnorr? ( extrakeys )
+"
+BDEPEND="
+ dev-build/autoconf-archive
+ virtual/pkgconfig
+ valgrind? ( dev-debug/valgrind )
+"
+
+PATCHES=(
+ "${FILESDIR}/0.3.0-fix-cross-compile.patch"
+)
+
+S="${WORKDIR}/${MyPN}-${PV}"
+
+src_prepare() {
+ default
+ eautoreconf
+
+ # Generate during build
+ rm -f src/precomputed_ecmult.c src/precomputed_ecmult_gen.c || die
+}
+
+src_configure() {
+ local myeconfargs=(
+ --disable-benchmark
+ $(use_enable experimental)
+ $(use_enable test tests)
+ $(use_enable test exhaustive-tests)
+ $(use_enable {,module-}ecdh)
+ $(use_enable {,module-}extrakeys)
+ $(use_enable {,module-}recovery)
+ $(use_enable schnorr module-schnorrsig)
+ $(usev lowmem '--with-ecmult-window=4 --with-ecmult-gen-precision=2')
+ $(use_with valgrind)
+ )
+ if use asm; then
+ if use arm; then
+ myeconfargs+=( --with-asm=arm )
+ else
+ myeconfargs+=( --with-asm=auto )
+ fi
+ else
+ myeconfargs+=( --with-asm=no )
+ fi
+
+ econf "${myeconfargs[@]}"
+}
+
+src_install() {
+ default
+ find "${ED}" -name '*.la' -delete || die
+}
diff --git a/dev-libs/libsecp256k1/libsecp256k1-0.3.2.ebuild b/dev-libs/libsecp256k1/libsecp256k1-0.3.2.ebuild
new file mode 100644
index 000000000000..8a347f00c909
--- /dev/null
+++ b/dev-libs/libsecp256k1/libsecp256k1-0.3.2.ebuild
@@ -0,0 +1,72 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools
+
+MyPN=secp256k1
+DESCRIPTION="Optimized C library for EC operations on curve secp256k1"
+HOMEPAGE="https://github.com/bitcoin-core/secp256k1"
+SRC_URI="https://github.com/bitcoin-core/secp256k1/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0/2" # subslot is "$((_LIB_VERSION_CURRENT-_LIB_VERSION_AGE))" from configure.ac
+KEYWORDS="~amd64 ~arm ~arm64 ~mips ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="+asm +ecdh experimental +extrakeys lowmem +recovery +schnorr test valgrind"
+RESTRICT="!test? ( test )"
+
+REQUIRED_USE="
+ asm? ( || ( amd64 arm ) arm? ( experimental ) )
+ schnorr? ( extrakeys )
+"
+BDEPEND="
+ dev-build/autoconf-archive
+ virtual/pkgconfig
+ valgrind? ( dev-debug/valgrind )
+"
+
+PATCHES=(
+ "${FILESDIR}/0.3.0-fix-cross-compile.patch"
+)
+
+S="${WORKDIR}/${MyPN}-${PV}"
+
+src_prepare() {
+ default
+ eautoreconf
+
+ # Generate during build
+ rm -f src/precomputed_ecmult.c src/precomputed_ecmult_gen.c || die
+}
+
+src_configure() {
+ local myeconfargs=(
+ --disable-benchmark
+ $(use_enable experimental)
+ $(use_enable test tests)
+ $(use_enable test exhaustive-tests)
+ $(use_enable {,module-}ecdh)
+ $(use_enable {,module-}extrakeys)
+ $(use_enable {,module-}recovery)
+ $(use_enable schnorr module-schnorrsig)
+ $(usev lowmem '--with-ecmult-window=4 --with-ecmult-gen-precision=2')
+ $(use_with valgrind)
+ )
+ if use asm; then
+ if use arm; then
+ myeconfargs+=( --with-asm=arm32 )
+ else
+ myeconfargs+=( --with-asm=auto )
+ fi
+ else
+ myeconfargs+=( --with-asm=no )
+ fi
+
+ econf "${myeconfargs[@]}"
+}
+
+src_install() {
+ default
+ find "${ED}" -name '*.la' -delete || die
+}
diff --git a/dev-libs/libsecp256k1/libsecp256k1-0.4.0.ebuild b/dev-libs/libsecp256k1/libsecp256k1-0.4.0.ebuild
new file mode 100644
index 000000000000..a5459332d0dc
--- /dev/null
+++ b/dev-libs/libsecp256k1/libsecp256k1-0.4.0.ebuild
@@ -0,0 +1,73 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools
+
+MyPN=secp256k1
+DESCRIPTION="Optimized C library for EC operations on curve secp256k1"
+HOMEPAGE="https://github.com/bitcoin-core/secp256k1"
+SRC_URI="https://github.com/bitcoin-core/secp256k1/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0/2" # subslot is "$((_LIB_VERSION_CURRENT-_LIB_VERSION_AGE))" from configure.ac
+KEYWORDS="amd64 ~arm ~arm64 ~mips ~ppc ~ppc64 x86 ~amd64-linux ~x86-linux"
+IUSE="+asm +ecdh +ellswift experimental +extrakeys lowmem +recovery +schnorr test valgrind"
+RESTRICT="!test? ( test )"
+
+REQUIRED_USE="
+ asm? ( || ( amd64 arm ) arm? ( experimental ) )
+ schnorr? ( extrakeys )
+"
+BDEPEND="
+ dev-build/autoconf-archive
+ virtual/pkgconfig
+ valgrind? ( dev-debug/valgrind )
+"
+
+PATCHES=(
+ "${FILESDIR}/0.4.0-fix-cross-compile.patch"
+)
+
+S="${WORKDIR}/${MyPN}-${PV}"
+
+src_prepare() {
+ default
+ eautoreconf
+
+ # Generate during build
+ rm -f src/precomputed_ecmult.c src/precomputed_ecmult_gen.c || die
+}
+
+src_configure() {
+ local myeconfargs=(
+ --disable-benchmark
+ $(use_enable experimental)
+ $(use_enable test tests)
+ $(use_enable test exhaustive-tests)
+ $(use_enable {,module-}ecdh)
+ $(use_enable {,module-}ellswift)
+ $(use_enable {,module-}extrakeys)
+ $(use_enable {,module-}recovery)
+ $(use_enable schnorr module-schnorrsig)
+ $(usev lowmem '--with-ecmult-window=4 --with-ecmult-gen-precision=2')
+ $(use_with valgrind)
+ )
+ if use asm; then
+ if use arm; then
+ myeconfargs+=( --with-asm=arm32 )
+ else
+ myeconfargs+=( --with-asm=auto )
+ fi
+ else
+ myeconfargs+=( --with-asm=no )
+ fi
+
+ econf "${myeconfargs[@]}"
+}
+
+src_install() {
+ default
+ find "${ED}" -name '*.la' -delete || die
+}
diff --git a/dev-libs/libsecp256k1/libsecp256k1-0.4.1.ebuild b/dev-libs/libsecp256k1/libsecp256k1-0.4.1.ebuild
new file mode 100644
index 000000000000..fcf78c907148
--- /dev/null
+++ b/dev-libs/libsecp256k1/libsecp256k1-0.4.1.ebuild
@@ -0,0 +1,64 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools
+
+MyPN=secp256k1
+DESCRIPTION="Optimized C library for EC operations on curve secp256k1"
+HOMEPAGE="https://github.com/bitcoin-core/secp256k1"
+SRC_URI="https://github.com/bitcoin-core/secp256k1/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0/2" # subslot is "$((_LIB_VERSION_CURRENT-_LIB_VERSION_AGE))" from configure.ac
+KEYWORDS="~amd64 ~arm ~arm64 ~mips ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="+asm +ecdh +ellswift experimental +extrakeys lowmem +recovery +schnorr test valgrind"
+RESTRICT="!test? ( test )"
+
+REQUIRED_USE="
+ asm? ( || ( amd64 arm ) arm? ( experimental ) )
+ schnorr? ( extrakeys )
+"
+BDEPEND="
+ dev-build/autoconf-archive
+ virtual/pkgconfig
+ valgrind? ( dev-debug/valgrind )
+"
+
+PATCHES=(
+ "${FILESDIR}/0.4.0-fix-cross-compile.patch"
+)
+
+S="${WORKDIR}/${MyPN}-${PV}"
+
+src_prepare() {
+ default
+ eautoreconf
+
+ # Generate during build
+ rm -f src/precomputed_ecmult.c src/precomputed_ecmult_gen.c || die
+}
+
+src_configure() {
+ local myeconfargs=(
+ --disable-benchmark
+ $(use_enable experimental)
+ $(use_enable test tests)
+ $(use_enable test exhaustive-tests)
+ $(use_enable {,module-}ecdh)
+ $(use_enable {,module-}ellswift)
+ $(use_enable {,module-}extrakeys)
+ $(use_enable {,module-}recovery)
+ $(use_enable schnorr module-schnorrsig)
+ $(use_with asm asm "$(usex arm arm32 auto)")
+ $(usev lowmem '--with-ecmult-window=4 --with-ecmult-gen-precision=2')
+ $(use_with valgrind)
+ )
+ econf "${myeconfargs[@]}"
+}
+
+src_install() {
+ default
+ find "${ED}" -name '*.la' -delete || die
+}
diff --git a/dev-libs/libsecp256k1/metadata.xml b/dev-libs/libsecp256k1/metadata.xml
index 3a2cdd782fc6..24f2a54f77f1 100644
--- a/dev-libs/libsecp256k1/metadata.xml
+++ b/dev-libs/libsecp256k1/metadata.xml
@@ -10,17 +10,15 @@
<name>Proxy Maintainers</name>
</maintainer>
<use>
- <flag name="asm">Enable x86_64 assembly optimisation</flag>
<flag name="ecdh">Enable ECDH shared secret computation</flag>
+ <flag name="ellswift">Enable ElligatorSwift encoding for public keys</flag>
<flag name="endomorphism">Enable endomorphism</flag>
<flag name="experimental">Allow experimental USE flags</flag>
<flag name="extrakeys">Enable extrakeys module</flag>
- <flag name="lowmem">Reduce runtime memory usage at the expense of performance (ecmult window size 2, gen precision 2)</flag>
- <flag name="precompute-ecmult">Use over 512 MB memory at runtime for better performance (ecmult window size 24, gen precision 8)</flag>
+ <flag name="lowmem">Reduce runtime memory usage at the expense of performance (ecmult window size 4, gen precision 2)</flag>
<flag name="recovery">Enable ECDSA pubkey recovery module</flag>
<flag name="schnorr">Enable Schnorr signature module</flag>
<flag name="test-openssl">Enable OpenSSL comparison tests</flag>
- <flag name="valgrind">Compile in valgrind memory hints</flag>
</use>
<upstream>
<remote-id type="github">bitcoin/secp256k1</remote-id>
diff --git a/dev-libs/libserdes/metadata.xml b/dev-libs/libserdes/metadata.xml
index db463f3eeb66..ad2a4b15b4c8 100644
--- a/dev-libs/libserdes/metadata.xml
+++ b/dev-libs/libserdes/metadata.xml
@@ -5,4 +5,7 @@
<email>williamh@gentoo.org</email>
<name>William Hubbs</name>
</maintainer>
+ <upstream>
+ <remote-id type="github">confluentinc/libserdes</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/dev-libs/libserialport/libserialport-0.1.1-r1.ebuild b/dev-libs/libserialport/libserialport-0.1.1-r1.ebuild
index d842c152ec46..d66e76e13da1 100644
--- a/dev-libs/libserialport/libserialport-0.1.1-r1.ebuild
+++ b/dev-libs/libserialport/libserialport-0.1.1-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
@@ -10,7 +10,7 @@ if [[ ${PV} == "9999" ]]; then
inherit git-r3
else
SRC_URI="https://sigrok.org/download/source/${PN}/${P}.tar.gz"
- KEYWORDS="amd64 x86"
+ KEYWORDS="amd64 ~arm ~arm64 x86"
fi
DESCRIPTION="Cross platform serial port access library"
diff --git a/dev-libs/libserialport/libserialport-9999.ebuild b/dev-libs/libserialport/libserialport-9999.ebuild
index 13181d0099a0..e1d11628901a 100644
--- a/dev-libs/libserialport/libserialport-9999.ebuild
+++ b/dev-libs/libserialport/libserialport-9999.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"
if [[ ${PV} == "9999" ]]; then
EGIT_REPO_URI="git://sigrok.org/${PN}"
diff --git a/dev-libs/libsigc++/Manifest b/dev-libs/libsigc++/Manifest
index 56803fb3b8e1..399171deb23e 100644
--- a/dev-libs/libsigc++/Manifest
+++ b/dev-libs/libsigc++/Manifest
@@ -1,2 +1,2 @@
-DIST libsigc++-2.10.7.tar.xz 4791304 BLAKE2B f3e41a753097d55d2e6f47407033139733dc813d84ffa8ba97ca94dbb2f1abc714a541fd90347c1477736eb9be109dd25d5ffc9998430b7d0fe9c627a9b2cfde SHA512 075f120f7261eac020a92956a4b2d8bfa380a63bf4e78d057d93b035dcb0590df1ee1e2d3af59edf97e3c30cc01359d259d24e4fc69bdb99952d4c9c02eb6015
-DIST libsigc++-3.0.7.tar.xz 790604 BLAKE2B 2363fda42744c3c4a2c31f236a2160f8dd63bae098e8190e2ef20acc23296de26cb7c275b928785c99c33d23f15709e411dc51f973d4fdd6a0556b11b0031512 SHA512 0ce4b56d85ccb0041096e2241523b9ca5bf0fd52f9655d2216e2280d5902075a4685023aa60058eb8ee9b7ed0ffc945d652940b0bda73f2fc7ce4de7371ca984
+DIST libsigc++-2.12.0.tar.xz 5002560 BLAKE2B f4d42dfbac95be974a5e49a7bcfd4c97fb0423f5bcc9d0bda79e6cee6bab54ae77969a3e5c58094264068c38212a0ff66b3dae2a519c4101bdfa170e94767641 SHA512 88e382e274a574a4b6129e23916054642e1696c663a4bb84f05e14a401f0cb56d0a0bf8c3a6273aec36ce121ce18a338b6d491fb213bcdf5a627bd382719e021
+DIST libsigc++-3.6.0.tar.xz 991392 BLAKE2B b060d6437ac1253d9a58971a5b5e6203691f3718b1fb220a47a9f1a73fdcce746a036c0193743bdda8cc2d0ed722a84eda4a53f2449606f6f190771d0543b61d SHA512 fa79067b4fecf68501288b93eed3d3e7017899cb8a02d3106a41f6dd1818f7b8c724a5b38d4b9ac89699fd8084976f9ad8eca8e832a45a5b6dc7cae5db99cb56
diff --git a/dev-libs/libsigc++/libsigc++-2.10.7.ebuild b/dev-libs/libsigc++/libsigc++-2.10.7.ebuild
deleted file mode 100644
index 4d85a4141eaa..000000000000
--- a/dev-libs/libsigc++/libsigc++-2.10.7.ebuild
+++ /dev/null
@@ -1,40 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-inherit flag-o-matic gnome.org meson-multilib
-
-DESCRIPTION="Typesafe callback system for standard C++"
-HOMEPAGE="https://libsigcplusplus.github.io/libsigcplusplus/
- https://github.com/libsigcplusplus/libsigcplusplus"
-
-LICENSE="LGPL-2.1+"
-SLOT="2"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~x64-solaris ~x86-solaris"
-IUSE="doc static-libs test"
-RESTRICT="!test? ( test )"
-
-DEPEND="test? ( dev-libs/boost[${MULTILIB_USEDEP}] )"
-BDEPEND="sys-devel/m4
- doc? ( app-doc/doxygen[dot] )"
-
-multilib_src_configure() {
- filter-flags -fno-exceptions #84263
-
- local -a emesonargs=(
- -Ddefault_library=$(usex static-libs both shared)
- $(meson_use test benchmark)
- $(meson_native_use_bool doc build-documentation)
- -Dbuild-examples=false
- )
- meson_src_configure
-}
-
-multilib_src_install_all() {
- # Note: html docs are installed into /usr/share/doc/libsigc++-2.0
- # We can't use /usr/share/doc/${PF} because of links from glibmm etc. docs
- if use doc; then
- docinto examples
- dodoc examples/*.cc
- fi
-}
diff --git a/dev-libs/libsigc++/libsigc++-2.12.0.ebuild b/dev-libs/libsigc++/libsigc++-2.12.0.ebuild
new file mode 100644
index 000000000000..e63af636c4f0
--- /dev/null
+++ b/dev-libs/libsigc++/libsigc++-2.12.0.ebuild
@@ -0,0 +1,37 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+inherit flag-o-matic gnome.org meson-multilib
+
+DESCRIPTION="Typesafe callback system for standard C++"
+HOMEPAGE="https://libsigcplusplus.github.io/libsigcplusplus/
+ https://github.com/libsigcplusplus/libsigcplusplus"
+
+LICENSE="LGPL-2.1+"
+SLOT="2"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
+IUSE="gtk-doc test"
+RESTRICT="!test? ( test )"
+
+DEPEND="test? ( dev-libs/boost[${MULTILIB_USEDEP}] )"
+BDEPEND="sys-devel/m4
+ gtk-doc? ( app-text/doxygen[dot] )"
+
+multilib_src_configure() {
+ filter-flags -fno-exceptions #84263
+
+ local -a emesonargs=(
+ $(meson_use test benchmark)
+ $(meson_native_use_bool gtk-doc build-documentation)
+ -Dbuild-examples=false
+ $(meson_use test build-tests)
+ )
+ meson_src_configure
+}
+
+multilib_src_install_all() {
+ # Note: html docs are installed into /usr/share/doc/libsigc++-2.0
+ # We can't use /usr/share/doc/${PF} because of links from glibmm etc. docs
+ :;
+}
diff --git a/dev-libs/libsigc++/libsigc++-3.0.7.ebuild b/dev-libs/libsigc++/libsigc++-3.0.7.ebuild
deleted file mode 100644
index 8851111453b8..000000000000
--- a/dev-libs/libsigc++/libsigc++-3.0.7.ebuild
+++ /dev/null
@@ -1,47 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-inherit gnome.org flag-o-matic meson-multilib
-
-DESCRIPTION="Typesafe callback system for standard C++"
-HOMEPAGE="https://libsigcplusplus.github.io/libsigcplusplus/
- https://github.com/libsigcplusplus/libsigcplusplus"
-
-LICENSE="LGPL-2.1+"
-SLOT="3"
-KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~x64-solaris ~x86-solaris"
-IUSE="doc examples test"
-RESTRICT="!test? ( test )"
-
-BDEPEND="
- doc? (
- app-doc/doxygen[dot]
- dev-lang/perl
- dev-libs/libxslt
- )
-"
-
-src_prepare() {
- default
-
- if ! use test; then
- sed -i -e "/^subdir('tests')/d" meson.build || die
- fi
-}
-
-multilib_src_configure() {
- filter-flags -fno-exceptions #84263
-
- local emesonargs=(
- -Dbuild-examples=false
- $(meson_native_use_bool doc build-documentation)
- )
- meson_src_configure
-}
-
-multilib_src_install_all() {
- # Note: html docs are installed into /usr/share/doc/libsigc++-3.0
- # We can't use /usr/share/doc/${PF} because of links from glibmm etc. docs
- use examples && dodoc -r examples
-}
diff --git a/dev-libs/libsigc++/libsigc++-3.6.0.ebuild b/dev-libs/libsigc++/libsigc++-3.6.0.ebuild
new file mode 100644
index 000000000000..38c4be7f1d0c
--- /dev/null
+++ b/dev-libs/libsigc++/libsigc++-3.6.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 gnome.org flag-o-matic meson-multilib
+
+DESCRIPTION="Typesafe callback system for standard C++"
+HOMEPAGE="https://libsigcplusplus.github.io/libsigcplusplus/
+ https://github.com/libsigcplusplus/libsigcplusplus"
+
+LICENSE="LGPL-2.1+"
+SLOT="3"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
+IUSE="gtk-doc test"
+RESTRICT="!test? ( test )"
+
+BDEPEND="
+ gtk-doc? (
+ app-text/doxygen[dot]
+ dev-lang/perl
+ dev-libs/libxslt
+ )
+"
+
+multilib_src_configure() {
+ filter-flags -fno-exceptions #84263
+
+ local emesonargs=(
+ -Dbuild-examples=false
+ $(meson_native_use_bool gtk-doc build-documentation)
+ $(meson_use test build-tests)
+ )
+ meson_src_configure
+}
+
+multilib_src_install_all() {
+ # Note: html docs are installed into /usr/share/doc/libsigc++-3.0
+ # We can't use /usr/share/doc/${PF} because of links from glibmm etc. docs
+ :;
+}
diff --git a/dev-libs/libsigc++/metadata.xml b/dev-libs/libsigc++/metadata.xml
index fd36943fe888..2ff708ca60de 100644
--- a/dev-libs/libsigc++/metadata.xml
+++ b/dev-libs/libsigc++/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">libsigc</remote-id>
- </upstream>
+ <maintainer type="project">
+ <email>gnome@gentoo.org</email>
+ <name>Gentoo GNOME Desktop</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">libsigcplusplus/libsigcplusplus</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/dev-libs/libsigsegv/Manifest b/dev-libs/libsigsegv/Manifest
index 35e9aabf3481..6f944b7a9ffe 100644
--- a/dev-libs/libsigsegv/Manifest
+++ b/dev-libs/libsigsegv/Manifest
@@ -1,3 +1,2 @@
-DIST libsigsegv-2.12.tar.gz 451408 BLAKE2B 3f2f37965dfdd5f8a7db3d5baff975003200e7ab157498524f8c99c60c285a5a8a1cf978ff3a69977d52604dc44493ac6d6d00476fca3380b285282b35873f99 SHA512 27986e8aaf4357ed131032aa7c281a5a28c5759530c62bb76f034aea33959547dcaae805e06347a1f532f0488b72fbbbdac4400f74e8d3f2128511526e8a5913
DIST libsigsegv-2.13.tar.gz 460736 BLAKE2B 2202ef92e96b2b46d7496a69427159b06b0413e9610daa9bc035dd18f193fd650a06dcc5a2db3b36b6c68f95593f2da047579e644d5ca4e54bc17160a57dac8f SHA512 9c0cf01ee2a39f77f2e42eb06a2aa60644e10fe2cd39089de58f6206baf7fe7d61fe0ec6bf187276fcfccf61585154ce904fe374b474b7ba9fa050a61a2f3918
DIST libsigsegv-2.14.tar.gz 464658 BLAKE2B 1b6d93dc5414c686de458cc62412c95ebf8932aac3aa463bb76da67e1b25779880d760b229d9a2c6ee0a2a22c2d3c7a81a364e8731fe5a4f1f639a0f68d6ea57 SHA512 423dade56636fe38356f0976e1288178cb1c7c059615e9f70ad693a1e4194feba47a583b0804717e95a866da271b1ea5f80083c54a121577983dd23e5aa9f056
diff --git a/dev-libs/libsigsegv/files/libsigsegv-2.14-c99.patch b/dev-libs/libsigsegv/files/libsigsegv-2.14-c99.patch
new file mode 100644
index 000000000000..73eb0ab8ca9b
--- /dev/null
+++ b/dev-libs/libsigsegv/files/libsigsegv-2.14-c99.patch
@@ -0,0 +1,79 @@
+https://bugs.gentoo.org/855953
+https://bugs.gentoo.org/893896
+https://git.savannah.gnu.org/gitweb/?p=libsigsegv.git;a=commit;h=3030c472c9d7e1ffb2c6ce8c815545146a6ff8b8
+https://git.savannah.gnu.org/gitweb/?p=libsigsegv.git;a=commit;h=bfa4d54ddbd8caabbe2e9a943395905e40f45f00
+
+From 3030c472c9d7e1ffb2c6ce8c815545146a6ff8b8 Mon Sep 17 00:00:00 2001
+From: Bruno Haible <bruno@clisp.org>
+Date: Sat, 11 Feb 2023 18:43:46 +0100
+Subject: [PATCH] Don't let configure tests fail due to the picky clang 16
+ compiler.
+
+clang 16 will report an error for -Wincompatible-function-pointer-types
+by default.
+
+Reported by Sam James <sam@gentoo.org> in
+<https://savannah.gnu.org/bugs/index.php?63788>.
+
+* configure.ac (MacOSX/Darwin7 PowerPC): Add a cast when assigning to
+action.sa_sigaction.
+--- a/configure.ac
++++ b/configure.ac
+@@ -1,7 +1,7 @@
+ dnl Autoconf configuration for libsigsegv.
+ dnl Process this file with autoconf to produce a configure script.
+ dnl
+-dnl Copyright (C) 2002-2022 Bruno Haible <bruno@clisp.org>
++dnl Copyright (C) 2002-2023 Bruno Haible <bruno@clisp.org>
+ dnl
+ dnl This program is free software: you can redistribute it and/or modify
+ dnl it under the terms of the GNU General Public License as published by
+@@ -238,7 +238,7 @@ SV_TRY_FAULT([MacOSX/Darwin7 PowerPC], sv_cv_fault_macosdarwin7_ppc,
+ [#include "$srcdir/src/fault-macosdarwin7-powerpc.c"],
+ [int sig, siginfo_t *sip, ucontext_t *ucp],
+ [get_fault_addr (sip, ucp)],
+- [action.sa_sigaction = &sigsegv_handler;
++ [action.sa_sigaction = (void (*) (int, siginfo_t *, void *)) &sigsegv_handler;
+ action.sa_flags = SA_SIGINFO;])
+
+ if test "$sv_cv_fault_macosdarwin7_ppc" != yes; then
+--
+2.17.1
+
+From bfa4d54ddbd8caabbe2e9a943395905e40f45f00 Mon Sep 17 00:00:00 2001
+From: Bruno Haible <bruno@clisp.org>
+Date: Thu, 29 Jun 2023 11:24:26 +0200
+Subject: [PATCH] Make the autoconf tests more robust.
+MIME-Version: 1.0
+Content-Type: text/plain; charset=utf8
+Content-Transfer-Encoding: 8bit
+
+Triggered by
+https://gitlab.com/redhat/centos-stream/rpms/libsigsegv/-/blob/c9s/configure.patch
+from Petr Å abata <contyk@redhat.com>.
+
+* m4/fault.m4 (SV_TRY_FAULT): Mark the variables that are accessed by
+the signal handler as 'volatile'.
+--- a/m4/fault.m4
++++ b/m4/fault.m4
+@@ -1,5 +1,5 @@
+-# fault.m4 serial 9 (libsigsegv-2.12)
+-dnl Copyright (C) 2002-2003, 2011, 2017 Bruno Haible <bruno@clisp.org>
++# fault.m4 serial 10 (libsigsegv-2.15)
++dnl Copyright (C) 2002-2003, 2011, 2017, 2023 Bruno Haible <bruno@clisp.org>
+ dnl This file is free software, distributed under the terms of the GNU
+ dnl General Public License. As a special exception to the GNU General
+ dnl Public License, this file may be distributed as part of a program
+@@ -52,8 +52,8 @@ static int zero_fd;
+ #else
+ # define SIGSEGV_FAULT_ADDRESS_ROUNDOFF_BITS 0UL
+ #endif
+-unsigned long page;
+-int handler_called = 0;
++unsigned long volatile page;
++int volatile handler_called = 0;
+ void sigsegv_handler ($5)
+ {
+ void *fault_address = (void *) ($6);
+--
+2.17.1
diff --git a/dev-libs/libsigsegv/libsigsegv-2.12-r1.ebuild b/dev-libs/libsigsegv/libsigsegv-2.12-r1.ebuild
deleted file mode 100644
index fa9e96f3ff2d..000000000000
--- a/dev-libs/libsigsegv/libsigsegv-2.12-r1.ebuild
+++ /dev/null
@@ -1,38 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit autotools
-
-DESCRIPTION="Library for handling page faults in user mode"
-HOMEPAGE="https://www.gnu.org/software/libsigsegv/"
-SRC_URI="mirror://gnu/libsigsegv/${P}.tar.gz"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm ~arm64 ~hppa ~ia64 ppc ppc64 ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~x86-solaris"
-IUSE=""
-
-PATCHES=(
- # Bug #363503
- "${FILESDIR}/${P}-skip-stackoverflow-tests.patch"
-)
-
-src_prepare() {
- default
- eautoreconf
-}
-
-src_configure() {
- econf --enable-shared
-}
-
-src_test() {
- emake check
-}
-
-src_install() {
- emake DESTDIR="${D}" install
- dodoc AUTHORS ChangeLog* NEWS PORTING README
-}
diff --git a/dev-libs/libsigsegv/libsigsegv-2.13.ebuild b/dev-libs/libsigsegv/libsigsegv-2.13.ebuild
index 8f67fdcc62f7..9fdfa95ea4b3 100644
--- a/dev-libs/libsigsegv/libsigsegv-2.13.ebuild
+++ b/dev-libs/libsigsegv/libsigsegv-2.13.ebuild
@@ -11,7 +11,7 @@ SRC_URI="mirror://gnu/libsigsegv/${P}.tar.gz"
LICENSE="GPL-2+"
SLOT="0"
-KEYWORDS="~alpha amd64 arm ~arm64 ~hppa ~ia64 ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~x86-solaris"
+KEYWORDS="~alpha amd64 arm ~arm64 ~hppa ~ia64 ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
PATCHES=(
# Bug #363503
diff --git a/dev-libs/libsigsegv/libsigsegv-2.14-r1.ebuild b/dev-libs/libsigsegv/libsigsegv-2.14-r1.ebuild
new file mode 100644
index 000000000000..fe96f4358062
--- /dev/null
+++ b/dev-libs/libsigsegv/libsigsegv-2.14-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 autotools toolchain-funcs
+
+DESCRIPTION="Library for handling page faults in user mode"
+HOMEPAGE="https://www.gnu.org/software/libsigsegv/"
+SRC_URI="mirror://gnu/libsigsegv/${P}.tar.gz"
+
+LICENSE="GPL-2+"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm ~arm64 ~hppa ~ia64 ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-c99.patch
+)
+
+src_prepare() {
+ default
+ eautoreconf
+}
+
+src_configure() {
+ econf --enable-shared
+
+ if tc-is-cross-compiler && [[ ${CHOST} == sparc64* ]] ; then
+ # Tries to use fault-linux-sparc-old.h otherwise which is
+ # for non-POSIX systems.
+ # bug #833469
+ sed -i -e "s:fault-linux-sparc-old.h:fault-linux-sparc.h:" config.status config.h.in config.h || die
+ fi
+}
+
+src_install() {
+ emake DESTDIR="${D}" install
+ rm -f "${ED}/usr/$(get_libdir)"/*.la || die
+ dodoc AUTHORS ChangeLog* NEWS PORTING README
+}
diff --git a/dev-libs/libsigsegv/libsigsegv-2.14.ebuild b/dev-libs/libsigsegv/libsigsegv-2.14.ebuild
index 147508ab65ea..8d7a00e8165c 100644
--- a/dev-libs/libsigsegv/libsigsegv-2.14.ebuild
+++ b/dev-libs/libsigsegv/libsigsegv-2.14.ebuild
@@ -1,9 +1,9 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
-inherit autotools
+inherit autotools toolchain-funcs
DESCRIPTION="Library for handling page faults in user mode"
HOMEPAGE="https://www.gnu.org/software/libsigsegv/"
@@ -11,7 +11,7 @@ SRC_URI="mirror://gnu/libsigsegv/${P}.tar.gz"
LICENSE="GPL-2+"
SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~x86-solaris"
+KEYWORDS="~alpha amd64 arm ~arm64 ~hppa ~ia64 ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
src_prepare() {
default
@@ -20,6 +20,13 @@ src_prepare() {
src_configure() {
econf --enable-shared --disable-static
+
+ if tc-is-cross-compiler && [[ ${CHOST} == sparc64* ]] ; then
+ # Tries to use fault-linux-sparc-old.h otherwise which is
+ # for non-POSIX systems.
+ # bug #833469
+ sed -i -e "s:fault-linux-sparc-old.h:fault-linux-sparc.h:" config.status config.h.in config.h || die
+ fi
}
src_install() {
diff --git a/dev-libs/libslz/Manifest b/dev-libs/libslz/Manifest
index f7c8fdd51bfe..f40f3f88ed06 100644
--- a/dev-libs/libslz/Manifest
+++ b/dev-libs/libslz/Manifest
@@ -1,2 +1 @@
-DIST libslz-1.1.0.tar.bz2 229577 BLAKE2B d05b619d0b7b76c2777285ecaf976b75565b50c77e00a1ce042f5a28ab8d527788a75d28d70357a32ea9a98267ae621d5a6e4613e4a7e4f52767e68c77765bb3 SHA512 064e2e8e7091adf863653981e5b677bdb9e64901f61cf3b68f098cf7957a4c32e19cec7d41b8dab61098017119d6ea562350c7fbfa10b5e922f52ac0d6066948
DIST libslz-1.2.0.tar.bz2 230567 BLAKE2B cf8a21fe0c23ae003830bfae3bd5ae172df4e88f63b0d5c1394c316e9d69c570b544d2c2db76cddd1e320d68119d7ae39352f9932673fb41e06ded030ebc5078 SHA512 811876f3893c0a0c273518fcf6d5a827a86513033e2048dbb541ca32286171c408f124495c4454ce7811e3c52ffb6a7bfcbb08af5b7f56a670c2c1cb2c5cd496
diff --git a/dev-libs/libslz/libslz-1.1.0.ebuild b/dev-libs/libslz/libslz-1.1.0.ebuild
deleted file mode 100644
index dfda44e0c7f4..000000000000
--- a/dev-libs/libslz/libslz-1.1.0.ebuild
+++ /dev/null
@@ -1,65 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-inherit toolchain-funcs multilib-minimal
-
-DESCRIPTION="stateless, zlib-compatible, and very fast compression library"
-HOMEPAGE="http://1wt.eu/projects/libslz"
-SRC_URI="http://git.1wt.eu/web?p=${PN}.git;a=snapshot;h=v${PV};sf=tbz2 -> ${P}.tar.bz2"
-
-LICENSE="MIT"
-SLOT="0/1"
-KEYWORDS="amd64 arm ~arm64 ppc x86"
-IUSE="static-libs tools"
-
-DEPEND=""
-RDEPEND="${DEPEND}"
-
-S="${WORKDIR}/${PN}"
-
-src_prepare() {
- default
-
- multilib_copy_sources
-}
-
-multilib_src_compile() {
- local -a opts=(
- CC="$(tc-getCC)" \
- OPT_CFLAGS="${CFLAGS}" \
- USR_LFLAGS="${LDFLAGS}" \
- shared \
- $(usex static-libs static '')
- )
-
- if multilib_is_native_abi ; then
- opts+=(
- $(usex tools tools '')
- )
- fi
-
- emake "${opts[@]}"
-}
-
-multilib_src_install() {
- local -a opts=(
- STRIP=":" \
- DESTDIR="${ED}" \
- PREFIX="${EPREFIX}/usr" \
- LIBDIR="${EPREFIX}/usr/$(get_libdir)" \
- install-headers
- install-shared \
- $(usex static-libs install-static '')
- )
-
- if multilib_is_native_abi ; then
- einstalldocs
-
- opts+=(
- $(usex tools install-tools '')
- )
- fi
-
- emake "${opts[@]}"
-}
diff --git a/dev-libs/libslz/libslz-1.2.0-r1.ebuild b/dev-libs/libslz/libslz-1.2.0-r1.ebuild
new file mode 100644
index 000000000000..756a9d586714
--- /dev/null
+++ b/dev-libs/libslz/libslz-1.2.0-r1.ebuild
@@ -0,0 +1,44 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit toolchain-funcs
+
+DESCRIPTION="Stateless, zlib-compatible, and very fast compression library"
+HOMEPAGE="http://1wt.eu/projects/libslz"
+SRC_URI="http://git.1wt.eu/web?p=${PN}.git;a=snapshot;h=v${PV};sf=tbz2 -> ${P}.tar.bz2"
+S="${WORKDIR}/${PN}"
+
+LICENSE="MIT"
+SLOT="0/1"
+KEYWORDS="amd64 arm arm64 ppc x86"
+IUSE="tools"
+
+src_compile() {
+ local opts=(
+ CC="$(tc-getCC)"
+ OPT_CFLAGS="${CFLAGS}"
+ USR_LFLAGS="${LDFLAGS}"
+ shared
+ $(usev tools)
+ )
+
+ emake "${opts[@]}"
+}
+
+src_install() {
+ local opts=(
+ STRIP=":"
+ DESTDIR="${D}"
+ PREFIX="${EPREFIX}/usr"
+ LIBDIR="${EPREFIX}/usr/$(get_libdir)"
+ install-headers
+ install-shared
+ $(usev tools install-tools)
+ )
+
+ einstalldocs
+
+ emake "${opts[@]}"
+}
diff --git a/dev-libs/libslz/libslz-1.2.0.ebuild b/dev-libs/libslz/libslz-1.2.0.ebuild
deleted file mode 100644
index be90a23d2bc6..000000000000
--- a/dev-libs/libslz/libslz-1.2.0.ebuild
+++ /dev/null
@@ -1,65 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-inherit toolchain-funcs multilib-minimal
-
-DESCRIPTION="stateless, zlib-compatible, and very fast compression library"
-HOMEPAGE="http://1wt.eu/projects/libslz"
-SRC_URI="http://git.1wt.eu/web?p=${PN}.git;a=snapshot;h=v${PV};sf=tbz2 -> ${P}.tar.bz2"
-
-LICENSE="MIT"
-SLOT="0/1"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~x86"
-IUSE="static-libs tools"
-
-DEPEND=""
-RDEPEND="${DEPEND}"
-
-S="${WORKDIR}/${PN}"
-
-src_prepare() {
- default
-
- multilib_copy_sources
-}
-
-multilib_src_compile() {
- local -a opts=(
- CC="$(tc-getCC)" \
- OPT_CFLAGS="${CFLAGS}" \
- USR_LFLAGS="${LDFLAGS}" \
- shared \
- $(usex static-libs static '')
- )
-
- if multilib_is_native_abi ; then
- opts+=(
- $(usex tools tools '')
- )
- fi
-
- emake "${opts[@]}"
-}
-
-multilib_src_install() {
- local -a opts=(
- STRIP=":" \
- DESTDIR="${ED}" \
- PREFIX="${EPREFIX}/usr" \
- LIBDIR="${EPREFIX}/usr/$(get_libdir)" \
- install-headers
- install-shared \
- $(usex static-libs install-static '')
- )
-
- if multilib_is_native_abi ; then
- einstalldocs
-
- opts+=(
- $(usex tools install-tools '')
- )
- fi
-
- emake "${opts[@]}"
-}
diff --git a/dev-libs/libsodium/Manifest b/dev-libs/libsodium/Manifest
index dc10b9fb4f1c..e2368db28f37 100644
--- a/dev-libs/libsodium/Manifest
+++ b/dev-libs/libsodium/Manifest
@@ -1,4 +1,6 @@
-DIST libsodium-1.0.18.tar.gz 1919817 BLAKE2B a42d898fe77f232dcbb75728e776b88f006e89f734c4d335e75e01d37b1034cc024df2e89d4350ecbe713d3e4b32c08bec537922c81cc63b0e87ee7fd89b2940 SHA512 17e8638e46d8f6f7d024fe5559eccf2b8baf23e143fadd472a7d29d228b186d86686a5e6920385fe2020729119a5f12f989c3a782afbd05a8db4819bb18666ef
-DIST libsodium-1.0.18.tar.gz.sig 566 BLAKE2B bb892901e2228c93018d79a5c8e70e0ea458513b0fdf99e8f6c015132b618fd0fefbe6a18ed514c20fbe1e56719dd6dd3762bc4bb6348a439146fdaa951090c0 SHA512 ba69d372263e63126d6ce24f67fe85d83f74e558db81391ddcd7eacb6787dcdd5209a149eebca897e9806f295e78f5a8ababa0ab884b85d9a8dd1a54507a8b0c
-DIST libsodium-1.0.18_p20210617.tar.gz 1854880 BLAKE2B 5b421c7efacca5b2a2b5a99a04719d708c217bc6f0b344f08d566bde85c4f758862c0ad61924346eac508542c2d9c6313cb1e3e421743e424f396dd1972e8195 SHA512 d7cd64101fed11ce33c4865dec253f1058acab376c3a6097422508087f4449b2f7fd1b38835915843106f620bf86694d846695e0c8a35f921e4f190dea3164bc
-DIST libsodium-1.0.18_p20210617.tar.gz.minisig 311 BLAKE2B c54b76a9e29f49bccca80466a5aaa77fb8341e8164041331003710de8f9b173fd25de4812157377645d97ba8a97470076a7f5e037501ba8376b285a06461efa9 SHA512 2180beb872716ad6b728a455981b548003b18594c3f28435c5ddc9803ab2a0f8f1945b6c77de5928b948bbb803b4fa7527cc2e72059931364343a2fdf51ca1be
+DIST libsodium-1.0.18_p20220618.tar.gz 1869858 BLAKE2B 60d46f722c4e5c9896226e3e03c31768a2183bae80a535234b23ac5bc9a2c3632d6c891ce72cbc1d6dc633a15b539111e322c2d210f993f99d6e5bd32f8a8b63 SHA512 14d1c6109de2ac02ba6cb5541746275f6deb25302b60cb3f65a7922b34d2c3bd5f17a4d730acf77a53d5837be00228c68fa06c6a2e9095ea97f6d8c4b782ab6b
+DIST libsodium-1.0.18_p20220618.tar.gz.minisig 318 BLAKE2B a2cba3c62ca5a84e7897373cdfe4033c636c652c848bf9beff15765d359f1dd2a8834dc3a4d4443d0b9418a59a94309cf9c5c917ae9c8965778411e21f98e4e6 SHA512 ca1ac892b41c5cb6dd1ba9d4bbde8e75987e66023d29cfc81839bbb3b99efa215f7db1ef903c375dd9d2d5a76f6064b3c7eab833081d21983693b7db87175160
+DIST libsodium-1.0.19.tar.gz 1945523 BLAKE2B de43520150b55760142d186404cc3e49471c6e911a7a590c7ae08bc61e928c063c459555f49cd88155238fb0008ef3924b6d7c14ba9cff2f90f1e96201e1259c SHA512 8e9b6d796f6330e00921ce37f1b43545966094250938626ae227deef5fd1279f2fc18b5cd55e23484732a27df4d919cf0d2f07b9c2f1aa0c0ef689e668b0d439
+DIST libsodium-1.0.19.tar.gz.minisig 318 BLAKE2B e86e653107478d9e9281894632baafda57358229f2d56fcaf55591098e38d6be72ed2f599a7f2c16d5b9978d2cbfe8e07db4e772b053a832a61fd325fc1efae4 SHA512 8b5993bd7e541a5913ea1659c1009c4edefd9b5907e0a7c9090fa604c23d77006ad9d9a897d66243162742d63ce9bc1f2c81091d50a584f1495dd3bd87d4451e
+DIST libsodium-1.0.19_p20240117.tar.gz 1946650 BLAKE2B 6faa56733ed28f34d58b41a71a41d6ba6369e2f5686e01169f83d5fe955523825bd250cfd59e15515b24f67cef1610af41749b6f56bc370e7f77708a86bd7684 SHA512 2cefd883b60fba5522bf4a6f3c73f9bc54164340400377089eea8fbb01447f1137fcb7f6183845a6c5e2aad51982122a356272b4eda5452d7b550a65aa576140
+DIST libsodium-1.0.19_p20240117.tar.gz.minisig 318 BLAKE2B f951b547f53b2569ed1493dcdbff1cc93519437f56cdf97a764d61a7e1fa98b383b49d4f4a9c4b7b199e2060037971f293796e641bd689c9cd6c7ae2c90b7a20 SHA512 202f9686fabcb7b362923b7f1eeac8544c5f21e7eaa0b4cdd7329733a62a5ec9efd18713bc63187055149525a066540a6904776870d718fd3b238b71ba4b9a35
diff --git a/dev-libs/libsodium/files/libsodium-1.0.19-cpuflags.patch b/dev-libs/libsodium/files/libsodium-1.0.19-cpuflags.patch
new file mode 100644
index 000000000000..a2fa6a42df38
--- /dev/null
+++ b/dev-libs/libsodium/files/libsodium-1.0.19-cpuflags.patch
@@ -0,0 +1,40 @@
+--- a/configure.ac
++++ b/configure.ac
+@@ -524,6 +524,10 @@ AS_IF([test "x$EMSCRIPTEN" = "x"], [
+ [AC_MSG_RESULT(no)])
+ CFLAGS="$oldcflags"
+
++AC_ARG_ENABLE(sse4_1, [AS_HELP_STRING(--disable-sse4_1,Do not use sse4.1 code)],
++ AS_IF([test "x$enableval" = "xyes"], check_sse4_1="yes", check_sse4_1="no"),
++ check_sse4_1="yes")
++AS_IF([test "$check_sse4_1" = "yes"],[
+ oldcflags="$CFLAGS"
+ AX_CHECK_COMPILE_FLAG([-msse4.1], [CFLAGS="$CFLAGS -msse4.1"])
+ AC_MSG_CHECKING(for SSE4.1 instructions set)
+@@ -536,6 +540,7 @@ AS_IF([test "x$EMSCRIPTEN" = "x"], [
+ AX_CHECK_COMPILE_FLAG([-msse4.1], [CFLAGS_SSE41="-msse4.1"])],
+ [AC_MSG_RESULT(no)])
+ CFLAGS="$oldcflags"
++ ])
+
+ oldcflags="$CFLAGS"
+ AX_CHECK_COMPILE_FLAG([-mavx], [CFLAGS="$CFLAGS -mavx"])
+@@ -609,6 +614,10 @@ __m512i y = _mm512_permutexvar_epi64(_mm512_setr_epi64(0, 1, 4, 5, 2, 3, 6, 7),
+ ])
+ CFLAGS="$oldcflags"
+
++AC_ARG_ENABLE(aesni, [AS_HELP_STRING(--disable-aesni,Do not use aesni code)],
++ AS_IF([test "x$enableval" = "xyes"], check_aesni="yes", check_aesni="no"),
++ check_aesni="yes")
++AS_IF([test "$check_aesni" = "yes"],[
+ oldcflags="$CFLAGS"
+ AX_CHECK_COMPILE_FLAG([-maes], [CFLAGS="$CFLAGS -maes"])
+ AX_CHECK_COMPILE_FLAG([-mpclmul], [CFLAGS="$CFLAGS -mpclmul"])
+@@ -640,6 +649,7 @@ __m512i y = _mm512_permutexvar_epi64(_mm512_setr_epi64(0, 1, 4, 5, 2, 3, 6, 7),
+ ],
+ [AC_MSG_RESULT(no)])
+ CFLAGS="$oldcflags"
++ ])
+
+ ])
+
diff --git a/dev-libs/libsodium/libsodium-1.0.18.ebuild b/dev-libs/libsodium/libsodium-1.0.18.ebuild
deleted file mode 100644
index 3fa3a86d9302..000000000000
--- a/dev-libs/libsodium/libsodium-1.0.18.ebuild
+++ /dev/null
@@ -1,57 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-VERIFY_SIG_OPENPGP_KEY_PATH=${BROOT}/usr/share/openpgp-keys/jedisct1.asc
-inherit autotools multilib-minimal verify-sig
-
-DESCRIPTION="A portable fork of NaCl, a higher-level cryptographic library"
-HOMEPAGE="https://libsodium.org"
-SRC_URI="https://download.libsodium.org/${PN}/releases/${P}.tar.gz"
-SRC_URI+=" verify-sig? ( https://download.libsodium.org/${PN}/releases/${P}.tar.gz.sig )"
-
-LICENSE="ISC"
-SLOT="0/23"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ppc ppc64 ~s390 sparc x86 ~amd64-linux ~x86-linux"
-IUSE="+asm minimal static-libs +urandom cpu_flags_x86_sse4_1 cpu_flags_x86_aes"
-
-BDEPEND="verify-sig? ( sec-keys/openpgp-keys-jedisct1 )"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-1.0.10-cpuflags.patch
-)
-
-src_prepare() {
- default
- eautoreconf
-}
-
-multilib_src_configure() {
- local myeconfargs=(
- $(use_enable asm)
- $(use_enable minimal)
- $(use_enable !urandom blocking-random)
- $(use_enable static-libs static)
- $(use_enable cpu_flags_x86_sse4_1 sse4_1)
- $(use_enable cpu_flags_x86_aes aesni)
- )
-
- # --disable-pie is needed on x86, see bug #512734
- if [[ "${MULTILIB_ABI_FLAG}" == "abi_x86_32" ]] ; then
- myeconfargs+=( --disable-pie )
-
- # --disable-ssp is needed on musl x86
- # TODO: Check if still needed? bug #747346
- if use elibc_musl ; then
- myeconfargs+=( --disable-ssp )
- fi
- fi
-
- ECONF_SOURCE="${S}" econf "${myeconfargs[@]}"
-}
-
-multilib_src_install_all() {
- einstalldocs
- find "${ED}" -type f -name "*.la" -delete || die
-}
diff --git a/dev-libs/libsodium/libsodium-1.0.18_p20210617.ebuild b/dev-libs/libsodium/libsodium-1.0.18_p20210617.ebuild
deleted file mode 100644
index 959d0c871f7b..000000000000
--- a/dev-libs/libsodium/libsodium-1.0.18_p20210617.ebuild
+++ /dev/null
@@ -1,93 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit autotools multilib-minimal
-
-DESCRIPTION="A portable fork of NaCl, a higher-level cryptographic library"
-HOMEPAGE="https://libsodium.org"
-
-if [[ ${PV} == *_p* ]] ; then
- MY_P=${PN}-$(ver_cut 1-3)-stable-$(ver_cut 5-)
- MINISIGN_KEY="RWQf6LRCGA9i53mlYecO4IzT51TGPpvWucNSCh1CBM0QTaLn73Y7GFO3"
-
- # We use _pN to represent 'stable releases'
- # These are backports from upstream to the last release branch
- # See https://download.libsodium.org/libsodium/releases/README.html
- SRC_URI="https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${MY_P}.tar.gz -> ${P}.tar.gz"
-
- # TODO: Could verify-sig.eclass support minisig? bug #783066
- SRC_URI+=" verify-sig? ( https://dev.gentoo.org/~sam/distfiles/dev-libs/libsodium/${MY_P}.tar.gz.minisig -> ${P}.tar.gz.minisig )"
-
- S="${WORKDIR}/${PN}-stable"
-else
- VERIFY_SIG_OPENPGP_KEY_PATH=${BROOT}/usr/share/openpgp-keys/jedisct1.asc
- inherit verify-sig
-
- SRC_URI="https://download.libsodium.org/${PN}/releases/${P}.tar.gz"
- SRC_URI+=" verify-sig? ( https://download.libsodium.org/${PN}/releases/${P}.tar.gz.sig )"
-fi
-
-LICENSE="ISC"
-SLOT="0/23"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~mips ppc ppc64 ~riscv ~s390 sparc x86"
-IUSE="+asm minimal static-libs +urandom"
-
-CPU_USE=( cpu_flags_x86_{aes,sse4_1} )
-IUSE+=" ${CPU_USE[@]}"
-
-if [[ ${PV} == *_p* ]] ; then
- IUSE+=" verify-sig"
-
- BDEPEND+=" verify-sig? ( app-crypt/minisign )"
-fi
-
-PATCHES=(
- "${FILESDIR}"/${PN}-1.0.10-cpuflags.patch
-)
-
-src_unpack() {
- if [[ ${PV} == *_p* ]] ; then
- if use verify-sig ; then
- elog "Verifying signature using app-crypt/minisign"
- minisign -V \
- -P ${MINISIGN_KEY} \
- -x "${DISTDIR}"/${P}.tar.gz.minisig \
- -m "${DISTDIR}"/${P}.tar.gz || die "Failed to verify distfile using minisign!"
- fi
-
- default
- else
- verify-sig_src_unpack
- fi
-}
-
-src_prepare() {
- default
- eautoreconf
-}
-
-multilib_src_configure() {
- local myeconfargs=(
- $(use_enable asm)
- $(use_enable cpu_flags_x86_aes aesni)
- $(use_enable cpu_flags_x86_sse4_1 sse4_1)
- $(use_enable minimal)
- $(use_enable static-libs static)
- $(use_enable !urandom blocking-random)
- )
-
- # --disable-pie is needed on x86, see bug #512734
- # TODO: Check if still needed?
- if [[ "${MULTILIB_ABI_FLAG}" == "abi_x86_32" ]] ; then
- myeconfargs+=( --disable-pie )
- fi
-
- ECONF_SOURCE="${S}" econf "${myeconfargs[@]}"
-}
-
-multilib_src_install_all() {
- default
- find "${ED}" -type f -name "*.la" -delete || die
-}
diff --git a/dev-libs/libsodium/libsodium-1.0.18_p20220618.ebuild b/dev-libs/libsodium/libsodium-1.0.18_p20220618.ebuild
new file mode 100644
index 000000000000..bcd05ad21ed0
--- /dev/null
+++ b/dev-libs/libsodium/libsodium-1.0.18_p20220618.ebuild
@@ -0,0 +1,74 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/libsodium.minisig
+VERIFY_SIG_METHOD=minisig
+inherit autotools multilib-minimal verify-sig
+
+DESCRIPTION="Portable fork of NaCl, a higher-level cryptographic library"
+HOMEPAGE="https://libsodium.org"
+
+if [[ ${PV} == *_p* ]] ; then
+ MY_P=${PN}-$(ver_cut 1-3)-stable-$(ver_cut 5-)
+
+ # We use _pN to represent 'stable releases'
+ # These are backports from upstream to the last release branch
+ # See https://download.libsodium.org/libsodium/releases/README.html
+ SRC_URI="
+ https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${MY_P}.tar.gz -> ${P}.tar.gz
+ verify-sig? ( https://dev.gentoo.org/~sam/distfiles/dev-libs/libsodium/${MY_P}.tar.gz.minisig -> ${P}.tar.gz.minisig )
+ "
+else
+ SRC_URI="
+ https://download.libsodium.org/${PN}/releases/${P}.tar.gz
+ verify-sig? ( https://download.libsodium.org/${PN}/releases/${P}.tar.gz.minisig )
+ "
+fi
+
+S="${WORKDIR}"/${PN}-stable
+
+LICENSE="ISC"
+SLOT="0/23"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~arm64-macos ~x64-macos"
+IUSE="+asm minimal static-libs +urandom"
+
+CPU_USE=( cpu_flags_x86_{aes,sse4_1} )
+IUSE+=" ${CPU_USE[@]}"
+
+BDEPEND=" verify-sig? ( sec-keys/minisig-keys-libsodium )"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-1.0.10-cpuflags.patch
+)
+
+src_prepare() {
+ default
+
+ eautoreconf
+}
+
+multilib_src_configure() {
+ local myeconfargs=(
+ $(use_enable asm)
+ $(use_enable cpu_flags_x86_aes aesni)
+ $(use_enable cpu_flags_x86_sse4_1 sse4_1)
+ $(use_enable minimal)
+ $(use_enable static-libs static)
+ $(use_enable !urandom blocking-random)
+ )
+
+ # --disable-pie is needed on x86, see bug #512734
+ # TODO: Check if still needed?
+ if [[ ${ABI} == x86 ]] ; then
+ myeconfargs+=( --disable-pie )
+ fi
+
+ ECONF_SOURCE="${S}" econf "${myeconfargs[@]}"
+}
+
+multilib_src_install_all() {
+ default
+ find "${ED}" -type f -name "*.la" -delete || die
+}
diff --git a/dev-libs/libsodium/libsodium-1.0.19-r1.ebuild b/dev-libs/libsodium/libsodium-1.0.19-r1.ebuild
new file mode 100644
index 000000000000..575daa8a5059
--- /dev/null
+++ b/dev-libs/libsodium/libsodium-1.0.19-r1.ebuild
@@ -0,0 +1,74 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/libsodium.minisig
+VERIFY_SIG_METHOD=minisig
+inherit autotools multilib-minimal verify-sig
+
+DESCRIPTION="Portable fork of NaCl, a higher-level cryptographic library"
+HOMEPAGE="https://libsodium.org"
+
+if [[ ${PV} == *_p* ]] ; then
+ MY_P=${PN}-$(ver_cut 1-3)-stable-$(ver_cut 5-)
+
+ # We use _pN to represent 'stable releases'
+ # These are backports from upstream to the last release branch
+ # See https://download.libsodium.org/libsodium/releases/README.html
+ SRC_URI="
+ https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${MY_P}.tar.gz -> ${P}.tar.gz
+ verify-sig? ( https://dev.gentoo.org/~sam/distfiles/dev-libs/libsodium/${MY_P}.tar.gz.minisig -> ${P}.tar.gz.minisig )
+ "
+else
+ SRC_URI="
+ https://download.libsodium.org/${PN}/releases/${P}.tar.gz
+ verify-sig? ( https://download.libsodium.org/${PN}/releases/${P}.tar.gz.minisig )
+ "
+fi
+
+S="${WORKDIR}"/${PN}-stable
+
+LICENSE="ISC"
+SLOT="0/26"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~arm64-macos ~x64-macos"
+IUSE="+asm minimal static-libs +urandom"
+
+CPU_USE=( cpu_flags_x86_{aes,sse4_1} )
+IUSE+=" ${CPU_USE[@]}"
+
+BDEPEND=" verify-sig? ( sec-keys/minisig-keys-libsodium )"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-1.0.10-cpuflags.patch
+)
+
+src_prepare() {
+ default
+
+ eautoreconf
+}
+
+multilib_src_configure() {
+ local myeconfargs=(
+ $(use_enable asm)
+ $(use_enable cpu_flags_x86_aes aesni)
+ $(use_enable cpu_flags_x86_sse4_1 sse4_1)
+ $(use_enable minimal)
+ $(use_enable static-libs static)
+ $(use_enable !urandom blocking-random)
+ )
+
+ # --disable-pie is needed on x86, see bug #512734
+ # TODO: Check if still needed?
+ if [[ ${ABI} == x86 ]] ; then
+ myeconfargs+=( --disable-pie )
+ fi
+
+ ECONF_SOURCE="${S}" econf "${myeconfargs[@]}"
+}
+
+multilib_src_install_all() {
+ default
+ find "${ED}" -type f -name "*.la" -delete || die
+}
diff --git a/dev-libs/libsodium/libsodium-1.0.19-r2.ebuild b/dev-libs/libsodium/libsodium-1.0.19-r2.ebuild
new file mode 100644
index 000000000000..eebd3c520e94
--- /dev/null
+++ b/dev-libs/libsodium/libsodium-1.0.19-r2.ebuild
@@ -0,0 +1,73 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/libsodium.minisig
+VERIFY_SIG_METHOD=minisig
+inherit autotools multilib-minimal verify-sig
+
+DESCRIPTION="Portable fork of NaCl, a higher-level cryptographic library"
+HOMEPAGE="https://libsodium.org"
+
+if [[ ${PV} == *_p* ]] ; then
+ MY_P=${PN}-$(ver_cut 1-3)-stable-$(ver_cut 5-)
+
+ # We use _pN to represent 'stable releases'
+ # These are backports from upstream to the last release branch
+ # See https://download.libsodium.org/libsodium/releases/README.html
+ SRC_URI="
+ https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${MY_P}.tar.gz -> ${P}.tar.gz
+ verify-sig? ( https://dev.gentoo.org/~sam/distfiles/dev-libs/libsodium/${MY_P}.tar.gz.minisig -> ${P}.tar.gz.minisig )
+ "
+else
+ SRC_URI="
+ https://download.libsodium.org/${PN}/releases/${P}.tar.gz
+ verify-sig? ( https://download.libsodium.org/${PN}/releases/${P}.tar.gz.minisig )
+ "
+fi
+
+S="${WORKDIR}"/${PN}-stable
+
+LICENSE="ISC"
+SLOT="0/26"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~arm64-macos ~x64-macos"
+IUSE="+asm static-libs +urandom"
+
+CPU_USE=( cpu_flags_x86_{aes,sse4_1} )
+IUSE+=" ${CPU_USE[@]}"
+
+BDEPEND=" verify-sig? ( sec-keys/minisig-keys-libsodium )"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-1.0.10-cpuflags.patch
+)
+
+src_prepare() {
+ default
+
+ eautoreconf
+}
+
+multilib_src_configure() {
+ local myeconfargs=(
+ $(use_enable asm)
+ $(use_enable cpu_flags_x86_aes aesni)
+ $(use_enable cpu_flags_x86_sse4_1 sse4_1)
+ $(use_enable static-libs static)
+ $(use_enable !urandom blocking-random)
+ )
+
+ # --disable-pie is needed on x86, see bug #512734
+ # TODO: Check if still needed?
+ if [[ ${ABI} == x86 ]] ; then
+ myeconfargs+=( --disable-pie )
+ fi
+
+ ECONF_SOURCE="${S}" econf "${myeconfargs[@]}"
+}
+
+multilib_src_install_all() {
+ default
+ find "${ED}" -type f -name "*.la" -delete || die
+}
diff --git a/dev-libs/libsodium/libsodium-1.0.19_p20240117.ebuild b/dev-libs/libsodium/libsodium-1.0.19_p20240117.ebuild
new file mode 100644
index 000000000000..bb62d58a0e8c
--- /dev/null
+++ b/dev-libs/libsodium/libsodium-1.0.19_p20240117.ebuild
@@ -0,0 +1,77 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/libsodium.minisig
+VERIFY_SIG_METHOD=minisig
+inherit autotools multilib-minimal verify-sig
+
+DESCRIPTION="Portable fork of NaCl, a higher-level cryptographic library"
+HOMEPAGE="https://libsodium.org"
+
+if [[ ${PV} == *_p* ]] ; then
+ MY_P=${PN}-$(ver_cut 1-3)-stable-$(ver_cut 5-)
+
+ # We use _pN to represent 'stable releases'
+ # These are backports from upstream to the last release branch
+ # See https://download.libsodium.org/libsodium/releases/README.html
+ SRC_URI="
+ https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${MY_P}.tar.gz -> ${P}.tar.gz
+ verify-sig? ( https://dev.gentoo.org/~sam/distfiles/dev-libs/libsodium/${MY_P}.tar.gz.minisig -> ${P}.tar.gz.minisig )
+ "
+else
+ SRC_URI="
+ https://download.libsodium.org/${PN}/releases/${P}.tar.gz
+ verify-sig? ( https://download.libsodium.org/${PN}/releases/${P}.tar.gz.minisig )
+ "
+fi
+
+S="${WORKDIR}"/${PN}-stable
+
+LICENSE="ISC"
+SLOT="0/26"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos"
+IUSE="+asm static-libs +urandom"
+
+CPU_USE=( cpu_flags_x86_{aes,sse4_1} )
+IUSE+=" ${CPU_USE[@]}"
+
+BDEPEND=" verify-sig? ( sec-keys/minisig-keys-libsodium )"
+
+QA_CONFIG_IMPL_DECL_SKIP=(
+ _rdrand64_step # depends on target, bug #924154
+)
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-1.0.19-cpuflags.patch
+)
+
+src_prepare() {
+ default
+
+ eautoreconf
+}
+
+multilib_src_configure() {
+ local myeconfargs=(
+ $(use_enable asm)
+ $(use_enable cpu_flags_x86_aes aesni)
+ $(use_enable cpu_flags_x86_sse4_1 sse4_1)
+ $(use_enable static-libs static)
+ $(use_enable !urandom blocking-random)
+ )
+
+ # --disable-pie is needed on x86, see bug #512734
+ # TODO: Check if still needed?
+ if [[ ${ABI} == x86 ]] ; then
+ myeconfargs+=( --disable-pie )
+ fi
+
+ ECONF_SOURCE="${S}" econf "${myeconfargs[@]}"
+}
+
+multilib_src_install_all() {
+ default
+ find "${ED}" -type f -name "*.la" -delete || die
+}
diff --git a/dev-libs/libsodium/metadata.xml b/dev-libs/libsodium/metadata.xml
index 0b0b71123240..2b16ac29aaae 100644
--- a/dev-libs/libsodium/metadata.xml
+++ b/dev-libs/libsodium/metadata.xml
@@ -14,7 +14,6 @@
packageable fork of NaCl, with a compatible API.
</longdescription>
<use>
- <flag name="asm">Enables assembly implementations</flag>
<flag name="urandom">Use /dev/urandom instead of /dev/random</flag>
</use>
<upstream>
diff --git a/dev-libs/libspnav/Manifest b/dev-libs/libspnav/Manifest
index be11295bb56b..7676f5fda986 100644
--- a/dev-libs/libspnav/Manifest
+++ b/dev-libs/libspnav/Manifest
@@ -1 +1,3 @@
DIST libspnav-0.2.3.tar.gz 11985 BLAKE2B 134a0c3f7c9a7ef7c4f68910e0266880958e2b74e253b75237b0fa8d3e482bcd1f42e715b85f0ffca3a62103530e854090818564d9c241bfc55de039cc4883ee SHA512 b2c452d979d455fc99bfdc172c8a2408a6e8dc40acc52964fa64f4d75a8ee77dda12e5e212c0c4e07a0a24d055f16f85bb6ce6287e24e6bd0665de457e37e6a7
+DIST libspnav-1.0.tar.gz 31578 BLAKE2B 535cdf588b4b1de8f37f9239a48df10e755d004fbe6b5f3771b00bb2f9a8b36e7db30297a8a99ac689d890c08c728303af3d71c60c299574bf02476aa5724b11 SHA512 ae36ea51dbca7d5ba31d82ffaa46bad2bd877f5f7c077d2e711747427f6d60a000ab0c827ae6523ba6a275dbad205eea8c20520fe2575a6fa6b554ea8b5e0eaa
+DIST libspnav-1.1.tar.gz 31574 BLAKE2B 3c15ead61a6eb61da6eb4d072f09b1eb410b441d622d18efe2b70754efcb5de3fd1d2e707fe162d62fb5246e1f8f1313d80ff8765edad6626760e1e2c7283191 SHA512 94770d9449dd02ade041d3589bcae7664fa990c4a4feca7b2b1e6542b65aa7073305595310b9e639f10716cf15aaad913e57496fb79bdd4dba5bf703ec8299ab
diff --git a/dev-libs/libspnav/files/libspnav-1.0-no-xorg-compile.patch b/dev-libs/libspnav/files/libspnav-1.0-no-xorg-compile.patch
new file mode 100644
index 000000000000..87cf1d676282
--- /dev/null
+++ b/dev-libs/libspnav/files/libspnav-1.0-no-xorg-compile.patch
@@ -0,0 +1,45 @@
+From 12cff951bb9ee24bab2f09793d3e3917b8649f36 Mon Sep 17 00:00:00 2001
+From: John Tsiombikas <nuclear@member.fsf.org>
+Date: Sat, 2 Apr 2022 01:17:41 +0300
+Subject: [PATCH] fix no-x11 build: some new functions were erroneously
+ declared inside the USE_X11 conditional block.
+
+---
+ src/spnav.c | 17 +++++++++--------
+ 1 file changed, 9 insertions(+), 8 deletions(-)
+
+diff --git a/src/spnav.c b/src/spnav.c
+index a444fb2..41fd559 100644
+--- a/src/spnav.c
++++ b/src/spnav.c
+@@ -50,14 +50,6 @@ OF SUCH DAMAGE.
+ static Window get_daemon_window(Display *dpy);
+ static int catch_badwin(Display *dpy, XErrorEvent *err);
+
+-static int read_event(int s, spnav_event *event);
+-static int proc_event(int *data, spnav_event *event);
+-
+-static void flush_resp(void);
+-static int wait_resp(void *buf, int sz, int timeout_ms);
+-static int request(int req, struct reqresp *rr, int timeout_ms);
+-static int request_str(int req, char *buf, int bufsz, int timeout_ms);
+-
+
+ static Display *dpy;
+ static Window app_win;
+@@ -73,6 +65,15 @@ enum {
+ #define IS_OPEN (sock != -1)
+ #endif
+
++static int read_event(int s, spnav_event *event);
++static int proc_event(int *data, spnav_event *event);
++
++static void flush_resp(void);
++static int wait_resp(void *buf, int sz, int timeout_ms);
++static int request(int req, struct reqresp *rr, int timeout_ms);
++static int request_str(int req, char *buf, int bufsz, int timeout_ms);
++
++
+ struct event_node {
+ spnav_event event;
+ struct event_node *next;
diff --git a/dev-libs/libspnav/libspnav-0.2.3.ebuild b/dev-libs/libspnav/libspnav-0.2.3.ebuild
deleted file mode 100644
index 094057542c4c..000000000000
--- a/dev-libs/libspnav/libspnav-0.2.3.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"
-
-inherit toolchain-funcs
-
-MY_PN='spacenav'
-DESCRIPTION="libspnav is a replacement for the magellan library with a cleaner API"
-HOMEPAGE="http://spacenav.sourceforge.net/"
-SRC_URI="mirror://sourceforge/project/${MY_PN}/${MY_PN}%20library%20%28SDK%29/${PN}%20${PV}/${P}.tar.gz"
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 ppc64 x86"
-IUSE="X"
-
-CDEPEND="X? ( x11-libs/libX11 )"
-RDEPEND="app-misc/spacenavd[X?]
- ${CDEPEND}"
-DEPEND="${CDEPEND}"
-
-src_prepare() {
- eapply "${FILESDIR}"/${P}-makefile.patch
- eapply_user
-}
-
-src_configure() {
- local args=(
- --disable-opt
- --disable-debug
- $(use_enable X x11)
- )
- econf "${args[@]}"
-}
-
-src_compile() {
- emake AR="$(tc-getAR)" CC="$(tc-getCC)"
-}
-
-src_install() {
- local args=(
- DESTDIR="${D}"
- libdir="$(get_libdir)"
- )
- emake "${args[@]}" install
-}
diff --git a/dev-libs/libspnav/libspnav-1.0-r1.ebuild b/dev-libs/libspnav/libspnav-1.0-r1.ebuild
new file mode 100644
index 000000000000..c11540c54500
--- /dev/null
+++ b/dev-libs/libspnav/libspnav-1.0-r1.ebuild
@@ -0,0 +1,60 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+inherit toolchain-funcs
+
+MY_PN='spacenav'
+DESCRIPTION="libspnav is a replacement for the magellan library with a cleaner API"
+HOMEPAGE="http://spacenav.sourceforge.net/"
+SRC_URI="https://github.com/FreeSpacenav/libspnav/releases/download/v${PV}/libspnav-${PV}.tar.gz"
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86"
+IUSE="static-libs X"
+
+CDEPEND="X? ( x11-libs/libX11 )"
+RDEPEND="app-misc/spacenavd[X?]
+ ${CDEPEND}"
+DEPEND="${CDEPEND}"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-no-xorg-compile.patch
+)
+
+src_configure() {
+ local args=(
+ --disable-opt
+ --disable-debug
+ $(use_enable X x11)
+ )
+ econf "${args[@]}"
+
+ # https://bugs.gentoo.org/838349
+ sed "/^Libs:/ s,/lib,/$(get_libdir)," -i spnav.pc || die
+}
+
+src_compile() {
+ local args=(
+ AR="$(tc-getAR)"
+ CC="$(tc-getCC)"
+ incpaths=-I.
+ libpaths=
+ )
+ emake "${args[@]}"
+}
+
+src_install() {
+ local args=(
+ DESTDIR="${D}"
+ libdir="$(get_libdir)"
+ )
+ emake "${args[@]}" install
+
+ # The custom configure script does not support --disable-static
+ # and conditionally patching $(lib_a) out of Makefile.in does not
+ # seem like a very maintainable option, hence we delete the .a file
+ # after "make install", instead.
+ use static-libs || find "${D}" -type f -name \*.a -delete
+}
diff --git a/dev-libs/libspnav/libspnav-1.1.ebuild b/dev-libs/libspnav/libspnav-1.1.ebuild
new file mode 100644
index 000000000000..921b6229777e
--- /dev/null
+++ b/dev-libs/libspnav/libspnav-1.1.ebuild
@@ -0,0 +1,56 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="8"
+
+inherit toolchain-funcs
+
+MY_PN='spacenav'
+DESCRIPTION="libspnav is a replacement for the magellan library with a cleaner API"
+HOMEPAGE="http://spacenav.sourceforge.net/"
+SRC_URI="https://github.com/FreeSpacenav/libspnav/releases/download/v${PV}/libspnav-${PV}.tar.gz"
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86"
+IUSE="static-libs X"
+
+CDEPEND="X? ( x11-libs/libX11 )"
+RDEPEND="app-misc/spacenavd[X?]
+ ${CDEPEND}"
+DEPEND="${CDEPEND}"
+
+src_configure() {
+ local args=(
+ --disable-opt
+ --disable-debug
+ $(use_enable X x11)
+ )
+ econf "${args[@]}"
+
+ # https://bugs.gentoo.org/838349
+ sed "/^Libs:/ s,/lib,/$(get_libdir)," -i spnav.pc || die
+}
+
+src_compile() {
+ local args=(
+ AR="$(tc-getAR)"
+ CC="$(tc-getCC)"
+ incpaths=-I.
+ libpaths=
+ )
+ emake "${args[@]}"
+}
+
+src_install() {
+ local args=(
+ DESTDIR="${D}"
+ libdir="$(get_libdir)"
+ )
+ emake "${args[@]}" install
+
+ # The custom configure script does not support --disable-static
+ # and conditionally patching $(lib_a) out of Makefile.in does not
+ # seem like a very maintainable option, hence we delete the .a file
+ # after "make install", instead.
+ use static-libs || find "${D}" -type f -name \*.a -delete
+}
diff --git a/dev-libs/libspnav/metadata.xml b/dev-libs/libspnav/metadata.xml
index 71a95287a26b..126ce2bc79ed 100644
--- a/dev-libs/libspnav/metadata.xml
+++ b/dev-libs/libspnav/metadata.xml
@@ -15,6 +15,7 @@
magellan SDK.
</longdescription>
<upstream>
+ <remote-id type="github">FreeSpacenav/libspnav</remote-id>
<remote-id type="sourceforge">spacenav</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-libs/libstrl/Manifest b/dev-libs/libstrl/Manifest
deleted file mode 100644
index a396cb5b7630..000000000000
--- a/dev-libs/libstrl/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST libstrl-0.5.1.tar.bz2 259026 BLAKE2B 9f2b576b1a86361f982069a1e7b1c12e0f47918637ed43add261379c195ba9ddeb5b8ca04b0811b75373235c79ff5b254a42c2e3ed360da410039a913137dd60 SHA512 c79b37aef2cf909529e3afabdf472730f9df2eb3605eeb41a74b56f1c9c43a5be1f23c7f383c4b1c2aacb81b9df1d455a3fe9ec1083d5fcabae4c82ef916df92
diff --git a/dev-libs/libstrl/libstrl-0.5.1-r1.ebuild b/dev-libs/libstrl/libstrl-0.5.1-r1.ebuild
deleted file mode 100644
index 33b911319375..000000000000
--- a/dev-libs/libstrl/libstrl-0.5.1-r1.ebuild
+++ /dev/null
@@ -1,33 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-inherit toolchain-funcs multilib-minimal
-
-DESCRIPTION="Compat library for functions like strlcpy(), strlcat(), strnlen(), getline()"
-HOMEPAGE="http://ohnopub.net/~ohnobinki/libstrl/"
-SRC_URI="http://mirror.ohnopub.net/mirror/${P}.tar.bz2"
-
-LICENSE="LGPL-3"
-SLOT="0"
-KEYWORDS="amd64 x86 ~amd64-linux ~x64-macos"
-IUSE="doc static-libs test"
-RESTRICT="!test? ( test )"
-
-DEPEND="
- doc? ( app-doc/doxygen )
- test? ( dev-libs/check )
-"
-
-src_prepare() {
- default
- multilib_copy_sources
-}
-
-multilib_src_configure() {
- tc-export AR
- econf \
- $(use_enable static-libs static) \
- $(use_with doc doxygen) \
- $(use_with test check)
-}
diff --git a/dev-libs/libstrl/metadata.xml b/dev-libs/libstrl/metadata.xml
deleted file mode 100644
index 85e4ed814fa2..000000000000
--- a/dev-libs/libstrl/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-libs/libstroke/files/libstroke-0.5.1-clang16.patch b/dev-libs/libstroke/files/libstroke-0.5.1-clang16.patch
new file mode 100644
index 000000000000..de903c63142c
--- /dev/null
+++ b/dev-libs/libstroke/files/libstroke-0.5.1-clang16.patch
@@ -0,0 +1,7 @@
+https://bugs.gentoo.org/871054
+--- a/libstroke/stroke.c
++++ b/libstroke/stroke.c
+@@ -13,2 +13,3 @@
+ #include <stdio.h>
++#include <string.h>
+ #include <math.h>
diff --git a/dev-libs/libstroke/libstroke-0.5.1-r1.ebuild b/dev-libs/libstroke/libstroke-0.5.1-r1.ebuild
deleted file mode 100644
index de679ffa9ad4..000000000000
--- a/dev-libs/libstroke/libstroke-0.5.1-r1.ebuild
+++ /dev/null
@@ -1,40 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit autotools
-
-DESCRIPTION="A Stroke and Gesture recognition Library"
-HOMEPAGE="http://www.etla.net/libstroke/"
-SRC_URI="http://www.etla.net/libstroke/${P}.tar.gz"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm ~hppa ~ia64 ppc ppc64 sparc x86"
-
-RDEPEND="x11-libs/libX11"
-DEPEND="
- ${RDEPEND}
- x11-base/xorg-proto"
-
-PATCHES=(
- "${FILESDIR}"/${P}-m4_syntax.patch
- "${FILESDIR}"/${P}-no_gtk1.patch
- "${FILESDIR}"/${P}-autotools.patch
-)
-
-src_prepare() {
- default
- mv configure.{in,ac} || die
- eautoreconf
-}
-
-src_configure() {
- econf --disable-static
-}
-
-src_install() {
- default
- find "${ED}" -name '*.la' -delete || die
-}
diff --git a/dev-libs/libstroke/libstroke-0.5.1-r2.ebuild b/dev-libs/libstroke/libstroke-0.5.1-r2.ebuild
new file mode 100644
index 000000000000..884a05341d0b
--- /dev/null
+++ b/dev-libs/libstroke/libstroke-0.5.1-r2.ebuild
@@ -0,0 +1,38 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools
+
+DESCRIPTION="Stroke and Gesture recognition Library"
+HOMEPAGE="https://wiki.gentoo.org/wiki/No_homepage"
+SRC_URI="mirror://gentoo/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm ~hppa ~ia64 ppc ppc64 ~riscv sparc x86"
+
+RDEPEND="x11-libs/libX11"
+DEPEND="
+ ${RDEPEND}
+ x11-base/xorg-proto"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-m4_syntax.patch
+ "${FILESDIR}"/${P}-no_gtk1.patch
+ "${FILESDIR}"/${P}-autotools.patch
+ "${FILESDIR}"/${P}-clang16.patch
+)
+
+src_prepare() {
+ default
+
+ eautoreconf
+}
+
+src_install() {
+ default
+
+ find "${ED}" -type f -name '*.la' -delete || die
+}
diff --git a/dev-libs/libstrophe/Manifest b/dev-libs/libstrophe/Manifest
index aab355cb8c56..12475731329b 100644
--- a/dev-libs/libstrophe/Manifest
+++ b/dev-libs/libstrophe/Manifest
@@ -1,5 +1,5 @@
-DIST libstrophe-0.10.0.tar.gz 520645 BLAKE2B 85998ffa7d2051bf3372842a0bc6d5404932c41853609943ae0420760e0434a74b711bd5f23657f061f1227647247b1989833c54c11a88490fe7617459687818 SHA512 9d2e8f95ab5f9611529e18b0130322a196d4b59aae69c931a6d7dc462d4a6a4fa395d6fbca56d9f329fc943e3de005b570ea34629a504175f3f2ec91f85bf40a
-DIST libstrophe-0.10.1.tar.gz 520649 BLAKE2B aa5cf0c972d7ae8731752f351dc3c1d6d230b8a1411417a81126543dd47e79e324a8c258cbc4c2e608c748d62211dcde3802cb92bb3612c6a33bcd2209182a90 SHA512 1ee3cb76cdc76711b4928d69fb8add974ab8359b729ec12003d73530c93492f4e8d208cacbd50f8db7509bc01f56a9f945348bc3a6fdd18a7080b751fff8a783
-DIST libstrophe-0.11.0.tar.gz 537506 BLAKE2B 895531e86a5b0d6410d26cf96558c2f99ea1bab803c8333a2f69d72fe7d154013ef3844b44215cfb1a5134371961c00cf6e4fd7ab9dc82846df01a37c4339c39 SHA512 e4b0d4a80e0ab5ada451ce55e44ec9247d4df5280ebe6453e49450aa7fa371461eb42fc9f39a0df12637146c6ce4202a1f770378686777228790c0213941d9ea
-DIST libstrophe-0.9.2.tar.gz 500459 BLAKE2B 0b1f6f1daac1215bcdcbde0e54264b98f5a863de339500826f625f8c5e8143ce7200fb251d04248715e9a8b6621a4360e7ca2780bf4684d916ec13361b5f6fcc SHA512 a0129c49ca574afaefa77c412143571af2eb1100c7d737d497b65d44680d35e2404ee2d4d4e1378b06ac1bcc5c587f505f79fea9251af1cbb36afd990d48570d
-DIST libstrophe-0.9.3.tar.gz 502449 BLAKE2B 662b0c329b0bf7d7f34fc80bf0608b921fa1ad54c8277e88f23f3ed17d0892dc7e3d9bcaaa9707306801e9254bba4a127390025ab95e1d9d850c299a7b26d980 SHA512 9c8ba980f532c5576c2c5a9e3cdca9f833ec78debcb06b17e2f534de0e710ec416b997b0498be77a89fa7f57187456edb1d602993c695a5e738718ea593697a5
+DIST libstrophe-0.12.2.tar.xz 400092 BLAKE2B 28b655e4bf3a279f837fd26e7c7ba34cd32053ad16be660c04d1c07b5335d805e9745cd24af584ed62f8ae44caebd8bda48473872163c122ecbcd57f042fc3db SHA512 1026f57b107a0ff8f088a5c7f1d88b3b5a35d0e6bfefb4f6eb56de37fe9fd2f554f547663a41353b7c6b01a2aa47f6cab4a9f7a7c87ba8c0c7708d7b2b4c2086
+DIST libstrophe-0.12.3.tar.xz 399056 BLAKE2B 9e7e344d46c78393ee2386a842895e29c417eeffbf41bd2e1c775f16bd40cb2387b59e56955a5331242af74932f61abb8afec2bda49c97063689b976b4892a52 SHA512 fa0fcb91c47197391f3b7f186b49ca4921f1937e2d1c9d25afdb73ee766bbeae5efbdeddde9cb6361eb58997c2fb136e2c1ed73a62f8c5618805a9555c473e0b
+DIST libstrophe-0.13.0.tar.xz 405368 BLAKE2B 8fb29b5f396a75620df6948b1ef109f846832f7781a527221d6781b350b522ac314cd5d44558757787659476481f66d4dcaa9ccea68dfa56fd907578eb74f78a SHA512 b7c3c728af986a6a3a7b9efcdc107f96f857ee3397cc5c2569fa033be47960cc0045a2d6c1b20524b1e1483d0d7234a3987490c0e0ebfea1371013d28de60384
+DIST libstrophe-0.13.1.tar.xz 405676 BLAKE2B b5ee084899c01d600c23e8d54e600bf72c2a92147e739d3b286c034ea3badf5e924b11a08c8c84f1453e88df40d494549286897ac3e90fb9af18b29da9754e07 SHA512 e150567db75ce615d7946471d15f968f8825ae75aa349a3c3be4e960eaea0b4960ac4c2da9aec40e984678361d89db3055062aa523ef485e9ea58a761bbcceed
+DIST libstrophe-fix-configure-bashisms.patch 1274 BLAKE2B d9308e2687eab255f94ac2b0e030f4d0424e56c3d129f544eb75fb25addf57485de0e210afe12bad29d3b92db6bf4e7400c4152707f6316921a1f2d4aa1b9367 SHA512 a2fdea484ba4e5bce4982ae5d5699df6bf2169027e7f62865baa7a7049a264d16a9dcda05826bbd942a1cc256e8559c6dfb6883913edf7f4711f5ce2601b83c5
diff --git a/dev-libs/libstrophe/files/libstrophe-0.12.3-allow-tests-when-static.patch b/dev-libs/libstrophe/files/libstrophe-0.12.3-allow-tests-when-static.patch
new file mode 100644
index 000000000000..b351bb0137c7
--- /dev/null
+++ b/dev-libs/libstrophe/files/libstrophe-0.12.3-allow-tests-when-static.patch
@@ -0,0 +1,59 @@
+From 9eba8e873847b6ed6e4aa8e9e887d45c2351f6ed Mon Sep 17 00:00:00 2001
+From: Steffen Jaeckel <jaeckel-floss@eyet-services.de>
+Date: Wed, 9 Aug 2023 13:34:18 +0200
+Subject: [PATCH] Allow running tests when static library is disabled
+
+We then only run a subset of the tests, but still better than failing to
+build.
+
+Signed-off-by: Steffen Jaeckel <jaeckel-floss@eyet-services.de>
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -175,23 +175,29 @@ endif
+
+
+ ## Tests
+-TESTS = \
++STATIC_TESTS = \
+ tests/check_parser \
++ tests/test_hash \
++ tests/test_jid \
++ tests/test_ctx \
++ tests/test_send_queue \
++ tests/test_string \
++ tests/test_resolver
++
++TESTS = \
+ tests/test_sha1 \
+ tests/test_sha256 \
+ tests/test_sha512 \
+ tests/test_md5 \
+ tests/test_rand \
+ tests/test_scram \
+- tests/test_ctx \
+ tests/test_base64 \
+- tests/test_hash \
+- tests/test_jid \
+- tests/test_send_queue \
+ tests/test_snprintf \
+- tests/test_string \
+- tests/test_stanza \
+- tests/test_resolver
++ tests/test_stanza
++
++if !DISABLE_STATIC
++TESTS += $(STATIC_TESTS)
++endif
+
+ if !DISABLE_TLS
+ TESTS += tests/test_xmppaddr
+--- a/configure.ac
++++ b/configure.ac
+@@ -256,6 +256,7 @@ m4_ifdef([PKG_INSTALLDIR], [PKG_INSTALLDIR],
+
+ AM_CONDITIONAL([PARSER_EXPAT], [test x$with_parser != xlibxml2])
+ AM_CONDITIONAL([DISABLE_TLS], [test x$enable_tls = xno])
++AM_CONDITIONAL([DISABLE_STATIC], [test x$enable_static = xno])
+ AM_CONDITIONAL([NEED_SNPRINTF], [test x$have_snprintf = xno])
+ AM_CONDITIONAL([TLS_WITH_GNUTLS], [test x$with_gnutls = xyes])
+ AM_CONDITIONAL([TLS_WITH_SCHANNEL], [test x$with_schannel = xyes])
diff --git a/dev-libs/libstrophe/libstrophe-0.10.0.ebuild b/dev-libs/libstrophe/libstrophe-0.10.0.ebuild
deleted file mode 100644
index c7dd5320b926..000000000000
--- a/dev-libs/libstrophe/libstrophe-0.10.0.ebuild
+++ /dev/null
@@ -1,50 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-DESCRIPTION="A simple, lightweight C library for writing XMPP clients"
-HOMEPAGE="http://strophe.im/libstrophe/"
-SRC_URI="https://github.com/strophe/${PN}/releases/download/${PV}/${P}.tar.gz"
-LICENSE="|| ( MIT GPL-3 )"
-SLOT="0"
-KEYWORDS="amd64"
-IUSE="doc expat"
-
-RDEPEND="
- expat? ( dev-libs/expat )
- !expat? ( dev-libs/libxml2:2 )
- dev-libs/openssl:0=
-"
-DEPEND="${RDEPEND}
- doc? ( app-doc/doxygen )
-"
-
-DOCS=( ChangeLog )
-
-src_configure() {
- # shellcheck disable=SC2207
- local myeconf=(
- --enable-tls
- $(use_with !expat libxml2)
- )
- econf "${myeconf[@]}"
-}
-src_compile() {
- default
- if use doc; then
- doxygen || die
- HTML_DOCS=( docs/html/* )
- fi
-}
-
-src_install() {
- default
- use doc && dodoc -r examples
- find "${D}" -name '*.la' -o -name '*.a' -delete || die
-}
-
-# Explicit src_test is there to document that the test suite is integrated and
-# is expected to pass. Please do not remove.
-src_test() {
- emake check
-}
diff --git a/dev-libs/libstrophe/libstrophe-0.10.1.ebuild b/dev-libs/libstrophe/libstrophe-0.10.1.ebuild
deleted file mode 100644
index bae3fd596e3f..000000000000
--- a/dev-libs/libstrophe/libstrophe-0.10.1.ebuild
+++ /dev/null
@@ -1,50 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-DESCRIPTION="A simple, lightweight C library for writing XMPP clients"
-HOMEPAGE="http://strophe.im/libstrophe/"
-SRC_URI="https://github.com/strophe/${PN}/releases/download/${PV}/${P}.tar.gz"
-LICENSE="|| ( MIT GPL-3 )"
-SLOT="0"
-KEYWORDS="~amd64"
-IUSE="doc expat"
-
-RDEPEND="
- expat? ( dev-libs/expat )
- !expat? ( dev-libs/libxml2:2 )
- dev-libs/openssl:0=
-"
-DEPEND="${RDEPEND}
- doc? ( app-doc/doxygen )
-"
-
-DOCS=( ChangeLog )
-
-src_configure() {
- # shellcheck disable=SC2207
- local myeconf=(
- --enable-tls
- $(use_with !expat libxml2)
- )
- econf "${myeconf[@]}"
-}
-src_compile() {
- default
- if use doc; then
- doxygen || die
- HTML_DOCS=( docs/html/* )
- fi
-}
-
-src_install() {
- default
- use doc && dodoc -r examples
- find "${D}" -name '*.la' -o -name '*.a' -delete || die
-}
-
-# Explicit src_test is there to document that the test suite is integrated and
-# is expected to pass. Please do not remove.
-src_test() {
- emake check
-}
diff --git a/dev-libs/libstrophe/libstrophe-0.11.0.ebuild b/dev-libs/libstrophe/libstrophe-0.11.0.ebuild
deleted file mode 100644
index 4a33b68fac17..000000000000
--- a/dev-libs/libstrophe/libstrophe-0.11.0.ebuild
+++ /dev/null
@@ -1,53 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-DESCRIPTION="A simple, lightweight C library for writing XMPP clients"
-HOMEPAGE="http://strophe.im/libstrophe/"
-SRC_URI="https://github.com/strophe/${PN}/releases/download/${PV}/${P}.tar.gz"
-LICENSE="|| ( MIT GPL-3 )"
-SLOT="0"
-KEYWORDS="~amd64"
-IUSE="doc expat gnutls"
-
-RDEPEND="
- expat? ( dev-libs/expat )
- !expat? ( dev-libs/libxml2:2 )
- gnutls? ( net-libs/gnutls:0= )
- !gnutls? ( dev-libs/openssl:0= )
- dev-libs/openssl:0=
-"
-DEPEND="${RDEPEND}
- doc? ( app-doc/doxygen )
-"
-
-DOCS=( ChangeLog )
-
-src_configure() {
- # shellcheck disable=SC2207
- local myeconf=(
- --enable-tls
- $(use_with !expat libxml2)
- $(use_with gnutls)
- )
- econf "${myeconf[@]}"
-}
-src_compile() {
- default
- if use doc; then
- doxygen || die
- HTML_DOCS=( docs/html/* )
- fi
-}
-
-src_install() {
- default
- use doc && dodoc -r examples
- find "${D}" -name '*.la' -o -name '*.a' -delete || die
-}
-
-# Explicit src_test is there to document that the test suite is integrated and
-# is expected to pass. Please do not remove.
-src_test() {
- emake check
-}
diff --git a/dev-libs/libstrophe/libstrophe-0.12.2.ebuild b/dev-libs/libstrophe/libstrophe-0.12.2.ebuild
new file mode 100644
index 000000000000..304dae8e12ed
--- /dev/null
+++ b/dev-libs/libstrophe/libstrophe-0.12.2.ebuild
@@ -0,0 +1,69 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit autotools
+
+DESCRIPTION="A simple, lightweight C library for writing XMPP clients"
+HOMEPAGE="https://strophe.im/libstrophe/"
+# 2nd SRC is a backport of the /bin/sh -> dash fix, #877049, #879533
+SRC_URI="
+ https://github.com/strophe/${PN}/releases/download/${PV}/${P}.tar.xz
+ https://github.com/strophe/libstrophe/commit/7352bd5cdbacf98771fdc0d32a606c4b6718077c.patch -> ${PN}-fix-configure-bashisms.patch
+"
+LICENSE="|| ( MIT GPL-3 )"
+# Subslot: ${SONAME}.1 to differentiate from previous versions without SONAME
+SLOT="0/0.1"
+KEYWORDS="amd64 ~arm64"
+IUSE="doc expat gnutls"
+
+RDEPEND="
+ expat? ( dev-libs/expat )
+ !expat? ( dev-libs/libxml2:2 )
+ gnutls? ( net-libs/gnutls:0= )
+ !gnutls? ( dev-libs/openssl:0= )
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ virtual/pkgconfig
+ doc? ( app-text/doxygen )
+"
+
+DOCS=( ChangeLog )
+
+PATCHES=(
+ # https://github.com/strophe/libstrophe/pull/218
+ "${DISTDIR}/${PN}-fix-configure-bashisms.patch"
+)
+
+src_prepare() {
+ default
+
+ # Needed for bashisms patch which touches configure
+ eautoreconf
+}
+
+src_configure() {
+ # shellcheck disable=SC2207
+ local myeconf=(
+ --enable-tls
+ $(use_with !expat libxml2)
+ $(use_with gnutls)
+ )
+ econf "${myeconf[@]}"
+}
+
+src_compile() {
+ default
+ if use doc; then
+ doxygen || die
+ HTML_DOCS=( docs/html/* )
+ fi
+}
+
+src_install() {
+ default
+ use doc && dodoc -r examples
+ find "${D}" -type f \( -name '*.la' -o -name '*.a' \) -delete || die
+}
diff --git a/dev-libs/libstrophe/libstrophe-0.12.3.ebuild b/dev-libs/libstrophe/libstrophe-0.12.3.ebuild
new file mode 100644
index 000000000000..f195859a711c
--- /dev/null
+++ b/dev-libs/libstrophe/libstrophe-0.12.3.ebuild
@@ -0,0 +1,65 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools
+
+DESCRIPTION="A simple, lightweight C library for writing XMPP clients"
+HOMEPAGE="https://strophe.im/libstrophe/"
+SRC_URI="
+ https://github.com/strophe/${PN}/releases/download/${PV}/${P}.tar.xz
+"
+LICENSE="|| ( MIT GPL-3 )"
+# Subslot: ${SONAME}.1 to differentiate from previous versions without SONAME
+SLOT="0/0.1"
+KEYWORDS="amd64 ~arm64"
+IUSE="doc expat gnutls"
+
+RDEPEND="
+ expat? ( dev-libs/expat )
+ !expat? ( dev-libs/libxml2:2 )
+ gnutls? ( net-libs/gnutls:0= )
+ !gnutls? ( dev-libs/openssl:0= )
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ virtual/pkgconfig
+ doc? ( app-text/doxygen )
+"
+
+DOCS=( ChangeLog )
+
+PATCHES=(
+ "${FILESDIR}/${PN}-0.12.3-allow-tests-when-static.patch"
+)
+
+src_prepare() {
+ default
+
+ # tests patch touches Makefile.am, need to regenerate to avoid maintainer mode
+ eautoreconf
+}
+
+src_configure() {
+ local myeconf=(
+ --enable-tls
+ $(use_with !expat libxml2)
+ $(use_with gnutls)
+ )
+ econf "${myeconf[@]}"
+}
+
+src_compile() {
+ default
+ if use doc; then
+ doxygen || die
+ HTML_DOCS=( docs/html/* )
+ fi
+}
+
+src_install() {
+ default
+ use doc && dodoc -r examples
+ find "${D}" -type f \( -name '*.la' -o -name '*.a' \) -delete || die
+}
diff --git a/dev-libs/libstrophe/libstrophe-0.13.0.ebuild b/dev-libs/libstrophe/libstrophe-0.13.0.ebuild
new file mode 100644
index 000000000000..c1a86333b67e
--- /dev/null
+++ b/dev-libs/libstrophe/libstrophe-0.13.0.ebuild
@@ -0,0 +1,61 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools
+
+DESCRIPTION="A simple, lightweight C library for writing XMPP clients"
+HOMEPAGE="https://strophe.im/libstrophe/"
+SRC_URI="
+ https://github.com/strophe/${PN}/releases/download/${PV}/${P}.tar.xz
+"
+LICENSE="|| ( MIT GPL-3 )"
+# Subslot: ${SONAME}.1 to differentiate from previous versions without SONAME
+SLOT="0/0.1"
+KEYWORDS="~amd64 ~arm64"
+IUSE="doc expat gnutls"
+
+RDEPEND="
+ expat? ( dev-libs/expat )
+ !expat? ( dev-libs/libxml2:2 )
+ gnutls? ( net-libs/gnutls:0= )
+ !gnutls? ( dev-libs/openssl:0= )
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ virtual/pkgconfig
+ doc? ( app-text/doxygen )
+"
+
+DOCS=( ChangeLog )
+
+src_prepare() {
+ default
+
+ # tests patch touches Makefile.am, need to regenerate to avoid maintainer mode
+ eautoreconf
+}
+
+src_configure() {
+ local myeconf=(
+ --enable-tls
+ $(use_with !expat libxml2)
+ $(use_with gnutls)
+ )
+ econf "${myeconf[@]}"
+}
+
+src_compile() {
+ default
+ if use doc; then
+ doxygen || die
+ HTML_DOCS=( docs/html/* )
+ fi
+}
+
+src_install() {
+ default
+ use doc && dodoc -r examples
+ find "${D}" -type f \( -name '*.la' -o -name '*.a' \) -delete || die
+}
diff --git a/dev-libs/libstrophe/libstrophe-0.13.1.ebuild b/dev-libs/libstrophe/libstrophe-0.13.1.ebuild
new file mode 100644
index 000000000000..23a0f02893f7
--- /dev/null
+++ b/dev-libs/libstrophe/libstrophe-0.13.1.ebuild
@@ -0,0 +1,61 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools
+
+DESCRIPTION="A simple, lightweight C library for writing XMPP clients"
+HOMEPAGE="https://strophe.im/libstrophe/"
+SRC_URI="
+ https://github.com/strophe/${PN}/releases/download/${PV}/${P}.tar.xz
+"
+LICENSE="|| ( MIT GPL-3 )"
+# Subslot: ${SONAME}.1 to differentiate from previous versions without SONAME
+SLOT="0/0.1"
+KEYWORDS="amd64 ~arm64"
+IUSE="doc expat gnutls"
+
+RDEPEND="
+ expat? ( dev-libs/expat )
+ !expat? ( dev-libs/libxml2:2 )
+ gnutls? ( net-libs/gnutls:0= )
+ !gnutls? ( dev-libs/openssl:0= )
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ virtual/pkgconfig
+ doc? ( app-text/doxygen )
+"
+
+DOCS=( ChangeLog )
+
+src_prepare() {
+ default
+
+ # tests patch touches Makefile.am, need to regenerate to avoid maintainer mode
+ eautoreconf
+}
+
+src_configure() {
+ local myeconf=(
+ --enable-tls
+ $(use_with !expat libxml2)
+ $(use_with gnutls)
+ )
+ econf "${myeconf[@]}"
+}
+
+src_compile() {
+ default
+ if use doc; then
+ doxygen || die
+ HTML_DOCS=( docs/html/* )
+ fi
+}
+
+src_install() {
+ default
+ use doc && dodoc -r examples
+ find "${D}" -type f \( -name '*.la' -o -name '*.a' \) -delete || die
+}
diff --git a/dev-libs/libstrophe/libstrophe-0.9.2.ebuild b/dev-libs/libstrophe/libstrophe-0.9.2.ebuild
deleted file mode 100644
index bae3fd596e3f..000000000000
--- a/dev-libs/libstrophe/libstrophe-0.9.2.ebuild
+++ /dev/null
@@ -1,50 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-DESCRIPTION="A simple, lightweight C library for writing XMPP clients"
-HOMEPAGE="http://strophe.im/libstrophe/"
-SRC_URI="https://github.com/strophe/${PN}/releases/download/${PV}/${P}.tar.gz"
-LICENSE="|| ( MIT GPL-3 )"
-SLOT="0"
-KEYWORDS="~amd64"
-IUSE="doc expat"
-
-RDEPEND="
- expat? ( dev-libs/expat )
- !expat? ( dev-libs/libxml2:2 )
- dev-libs/openssl:0=
-"
-DEPEND="${RDEPEND}
- doc? ( app-doc/doxygen )
-"
-
-DOCS=( ChangeLog )
-
-src_configure() {
- # shellcheck disable=SC2207
- local myeconf=(
- --enable-tls
- $(use_with !expat libxml2)
- )
- econf "${myeconf[@]}"
-}
-src_compile() {
- default
- if use doc; then
- doxygen || die
- HTML_DOCS=( docs/html/* )
- fi
-}
-
-src_install() {
- default
- use doc && dodoc -r examples
- find "${D}" -name '*.la' -o -name '*.a' -delete || die
-}
-
-# Explicit src_test is there to document that the test suite is integrated and
-# is expected to pass. Please do not remove.
-src_test() {
- emake check
-}
diff --git a/dev-libs/libstrophe/libstrophe-0.9.3.ebuild b/dev-libs/libstrophe/libstrophe-0.9.3.ebuild
deleted file mode 100644
index bae3fd596e3f..000000000000
--- a/dev-libs/libstrophe/libstrophe-0.9.3.ebuild
+++ /dev/null
@@ -1,50 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-DESCRIPTION="A simple, lightweight C library for writing XMPP clients"
-HOMEPAGE="http://strophe.im/libstrophe/"
-SRC_URI="https://github.com/strophe/${PN}/releases/download/${PV}/${P}.tar.gz"
-LICENSE="|| ( MIT GPL-3 )"
-SLOT="0"
-KEYWORDS="~amd64"
-IUSE="doc expat"
-
-RDEPEND="
- expat? ( dev-libs/expat )
- !expat? ( dev-libs/libxml2:2 )
- dev-libs/openssl:0=
-"
-DEPEND="${RDEPEND}
- doc? ( app-doc/doxygen )
-"
-
-DOCS=( ChangeLog )
-
-src_configure() {
- # shellcheck disable=SC2207
- local myeconf=(
- --enable-tls
- $(use_with !expat libxml2)
- )
- econf "${myeconf[@]}"
-}
-src_compile() {
- default
- if use doc; then
- doxygen || die
- HTML_DOCS=( docs/html/* )
- fi
-}
-
-src_install() {
- default
- use doc && dodoc -r examples
- find "${D}" -name '*.la' -o -name '*.a' -delete || die
-}
-
-# Explicit src_test is there to document that the test suite is integrated and
-# is expected to pass. Please do not remove.
-src_test() {
- emake check
-}
diff --git a/dev-libs/libstrophe/metadata.xml b/dev-libs/libstrophe/metadata.xml
index 14ff3e6ce479..b3da340e2c2a 100644
--- a/dev-libs/libstrophe/metadata.xml
+++ b/dev-libs/libstrophe/metadata.xml
@@ -2,8 +2,12 @@
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
- <email>andrey_utkin@gentoo.org</email>
- <name>Andrey Utkin</name>
+ <email>nex+b-g-o@nexadn.de</email>
+ <name>Adrian Schollmeyer</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
</maintainer>
<upstream>
<remote-id type="github">strophe/libstrophe</remote-id>
diff --git a/dev-libs/libtar/files/libtar-1.2.20-configure-clang16.patch b/dev-libs/libtar/files/libtar-1.2.20-configure-clang16.patch
new file mode 100644
index 000000000000..c47ae7f3c8f2
--- /dev/null
+++ b/dev-libs/libtar/files/libtar-1.2.20-configure-clang16.patch
@@ -0,0 +1,43 @@
+https://src.fedoraproject.org/rpms/libtar/raw/175c39e7e572fea263fd2e35175646852a785def/f/libtar-configure-c99.patch
+
+Add additional #include directives to prevent implicit function
+declarations and build failures with future compilers.
+
+--- a/compat/module.ac
++++ b/compat/module.ac
+@@ -31,6 +31,8 @@ AC_DEFUN([COMPAT_FUNC_BASENAME], [
+ [compat_cv_func_basename_works],
+ [AC_TRY_RUN([
+ #include <stdio.h>
++#include <stdlib.h>
++#include <string.h>
+ #ifdef HAVE_LIBGEN_H
+ # include <libgen.h>
+ #endif
+@@ -85,6 +87,8 @@ AC_DEFUN([COMPAT_FUNC_DIRNAME], [
+ [compat_cv_func_dirname_works],
+ [AC_TRY_RUN([
+ #include <stdio.h>
++#include <stdlib.h>
++#include <string.h>
+ #ifdef HAVE_LIBGEN_H
+ # include <libgen.h>
+ #endif
+@@ -208,6 +212,7 @@ AC_DEFUN([COMPAT_FUNC_MAKEDEV], [
+ [compat_cv_func_makedev_three_args],
+ [AC_COMPILE_IFELSE([
+ AC_LANG_PROGRAM([[
++#include <stdlib.h>
+ #include <sys/types.h>
+ #ifdef MAJOR_IN_MKDEV
+ # include <sys/mkdev.h>
+@@ -248,6 +253,8 @@ AC_DEFUN([COMPAT_FUNC_SNPRINTF], [
+ [compat_cv_func_snprintf_works],
+ [AC_TRY_RUN([
+ #include <stdio.h>
++#include <stdlib.h>
++#include <string.h>
+
+ typedef struct {
+ int length;
+
diff --git a/dev-libs/libtar/libtar-1.2.20-r4.ebuild b/dev-libs/libtar/libtar-1.2.20-r4.ebuild
deleted file mode 100644
index 087a633aa6f4..000000000000
--- a/dev-libs/libtar/libtar-1.2.20-r4.ebuild
+++ /dev/null
@@ -1,70 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit autotools
-
-DESCRIPTION="C library for manipulating tar archives"
-HOMEPAGE="https://repo.or.cz/w/libtar.git/"
-SRC_URI="https://dev.gentoo.org/~pinkbyte/distfiles/snapshots/${P}.tar.gz"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="amd64 ~arm ~arm64 ppc ppc64 ~riscv sparc x86 ~amd64-linux ~x86-linux ~ppc-macos"
-IUSE="static-libs zlib"
-
-RDEPEND="
- zlib? ( sys-libs/zlib:= )
- !zlib? ( app-arch/gzip )
-"
-DEPEND="${RDEPEND}"
-
-DOCS=( ChangeLog{,-1.0.x} README TODO )
-
-S="${WORKDIR}/${PN}"
-
-# There is no test and 'check' target errors out due to mixing of automake &
-# non-automake makefiles.
-# https://bugs.gentoo.org/show_bug.cgi?id=526436
-RESTRICT="test"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-1.2.11-free.patch
- "${FILESDIR}"/${PN}-1.2.11-impl-dec.patch
- "${FILESDIR}"/CVE-2013-4420.patch
- "${FILESDIR}"/${P}-fd-leaks.patch
- "${FILESDIR}"/${P}-tar_open-memleak.patch
- "${FILESDIR}"/${P}-bin-memleaks.patch
-)
-
-src_prepare() {
- default
-
- sed -e '/INSTALL_PROGRAM/s:-s::' \
- -i {doc,lib{,tar}}/Makefile.in || die
-
- eautoreconf
-}
-
-src_configure() {
- local myeconfargs=(
- --enable-shared
- --disable-encap
- --disable-epkg-install
- $(use_enable static-libs static)
- $(use_with zlib)
- )
-
- econf ${myeconfargs[@]}
-}
-
-src_install() {
- default
-
- newdoc compat/README README.compat
- newdoc compat/TODO TODO.compat
- newdoc listhash/TODO TODO.listhash
-
- find "${D}" -name '*.la' -delete || die
-}
diff --git a/dev-libs/libtar/libtar-1.2.20-r5.ebuild b/dev-libs/libtar/libtar-1.2.20-r5.ebuild
new file mode 100644
index 000000000000..8798ce4950ee
--- /dev/null
+++ b/dev-libs/libtar/libtar-1.2.20-r5.ebuild
@@ -0,0 +1,63 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools
+
+DESCRIPTION="C library for manipulating tar archives"
+HOMEPAGE="https://repo.or.cz/w/libtar.git/"
+SRC_URI="https://dev.gentoo.org/~pinkbyte/distfiles/snapshots/${P}.tar.gz"
+S="${WORKDIR}/${PN}"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 ~arm ~arm64 ~loong ppc ppc64 ~riscv sparc x86 ~amd64-linux ~x86-linux ~ppc-macos"
+IUSE="zlib"
+# There is no test and 'check' target errors out due to mixing of automake &
+# non-automake makefiles.
+# https://bugs.gentoo.org/526436
+RESTRICT="test"
+
+RDEPEND="
+ zlib? ( sys-libs/zlib:= )
+ !zlib? ( app-arch/gzip )"
+DEPEND="${RDEPEND}"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-1.2.11-free.patch
+ "${FILESDIR}"/${PN}-1.2.11-impl-dec.patch
+ "${FILESDIR}"/CVE-2013-4420.patch
+ "${FILESDIR}"/${P}-fd-leaks.patch
+ "${FILESDIR}"/${P}-tar_open-memleak.patch
+ "${FILESDIR}"/${P}-bin-memleaks.patch
+)
+
+src_prepare() {
+ default
+
+ sed -e '/INSTALL_PROGRAM/s:-s::' \
+ -i {doc,lib{,tar}}/Makefile.in || die
+
+ eautoreconf
+}
+
+src_configure() {
+ local myeconfargs=(
+ --disable-encap
+ --disable-epkg-install
+ $(use_with zlib)
+ )
+
+ econf "${myeconfargs[@]}"
+}
+
+src_install() {
+ default
+ dodoc ChangeLog-1.0.x
+ newdoc compat/README README.compat
+ newdoc compat/TODO TODO.compat
+ newdoc listhash/TODO TODO.listhash
+
+ find "${ED}" -name '*.la' -delete || die
+}
diff --git a/dev-libs/libtar/libtar-1.2.20-r6.ebuild b/dev-libs/libtar/libtar-1.2.20-r6.ebuild
new file mode 100644
index 000000000000..b7548a7c7526
--- /dev/null
+++ b/dev-libs/libtar/libtar-1.2.20-r6.ebuild
@@ -0,0 +1,64 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools
+
+DESCRIPTION="C library for manipulating tar archives"
+HOMEPAGE="https://repo.or.cz/w/libtar.git/"
+SRC_URI="https://dev.gentoo.org/~pinkbyte/distfiles/snapshots/${P}.tar.gz"
+S="${WORKDIR}/${PN}"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 ~arm ~arm64 ~loong ppc ppc64 ~riscv sparc x86 ~amd64-linux ~x86-linux ~ppc-macos"
+IUSE="zlib"
+# There is no test and 'check' target errors out due to mixing of automake &
+# non-automake makefiles.
+# https://bugs.gentoo.org/526436
+RESTRICT="test"
+
+RDEPEND="
+ zlib? ( sys-libs/zlib:= )
+ !zlib? ( app-arch/gzip )"
+DEPEND="${RDEPEND}"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-1.2.11-free.patch
+ "${FILESDIR}"/${PN}-1.2.11-impl-dec.patch
+ "${FILESDIR}"/CVE-2013-4420.patch
+ "${FILESDIR}"/${P}-fd-leaks.patch
+ "${FILESDIR}"/${P}-tar_open-memleak.patch
+ "${FILESDIR}"/${P}-bin-memleaks.patch
+ "${FILESDIR}"/${P}-configure-clang16.patch
+)
+
+src_prepare() {
+ default
+
+ sed -e '/INSTALL_PROGRAM/s:-s::' \
+ -i {doc,lib{,tar}}/Makefile.in || die
+
+ eautoreconf
+}
+
+src_configure() {
+ local myeconfargs=(
+ --disable-encap
+ --disable-epkg-install
+ $(use_with zlib)
+ )
+
+ econf "${myeconfargs[@]}"
+}
+
+src_install() {
+ default
+ dodoc ChangeLog-1.0.x
+ newdoc compat/README README.compat
+ newdoc compat/TODO TODO.compat
+ newdoc listhash/TODO TODO.listhash
+
+ find "${ED}" -name '*.la' -delete || die
+}
diff --git a/dev-libs/libtasn1/Manifest b/dev-libs/libtasn1/Manifest
index 288626832fa5..002fb8ad17a3 100644
--- a/dev-libs/libtasn1/Manifest
+++ b/dev-libs/libtasn1/Manifest
@@ -1,2 +1,2 @@
-DIST libtasn1-4.17.0.tar.gz 1906654 BLAKE2B a76798bdb8e68f2ca2337fa2648ff42adb7a9a51f27efefee5b9856e56ac09672237bd9a5b2afe808298e462eda31f2e8d3601c35ac00b84935f307ad981b2b1 SHA512 9cbd920196d1e4c8f5aa613259cded2510d40edb583ce20cc2702e2dee9bf32bee85a159c74600ffbebc2af2787e28ed0fe0adf15fc46839283747f4fe166d3d
-DIST libtasn1-4.18.0.tar.gz 1724441 BLAKE2B b5f93a7575dde46741b6fc97183105efbc934e44041735241ba40ecd578c94637741df193dfab0d97e0348e2dde34b8b89a33ed616afa0bf64db6dbddebf1786 SHA512 4f2f4afc7561fda7a1f1c6c525c3c3b08228a1a4aa8c3d3d5e02e993d8f83ccee1dd0f1b201cec0fbfc97043d4b1d7a95ffd34d65422a38b85b931ac7a015831
+DIST libtasn1-4.19.0.tar.gz 1786576 BLAKE2B 6e8232590cd87da3bfd9182ed44eccdfbdfcc85e88d8cf19fffdb3d600e04694b77079b95bbd822d2c3fff29458ddae0f0440f9c1c19c711923a2507bd19270f SHA512 287f5eddfb5e21762d9f14d11997e56b953b980b2b03a97ed4cd6d37909bda1ed7d2cdff9da5d270a21d863ab7e54be6b85c05f1075ac5d8f0198997cf335ef4
+DIST libtasn1-4.19.0.tar.gz.sig 228 BLAKE2B f45b8c53844fad4d1044ef6915d88337affb0287973a0ffab2d77a6a61c850cebdea6904f077fcc13a8bc29ba7cbbef7cdf2a5e325c8180d574020eb3cb9f432 SHA512 e0417625f8df22c6421914bf2d4f19d7f27260c24c04f50e59669681f326debe06ddef9dc5a2e20fda50feb30bbbf3f41597e64961257304ec2c407aa76d107e
diff --git a/dev-libs/libtasn1/libtasn1-4.17.0.ebuild b/dev-libs/libtasn1/libtasn1-4.17.0.ebuild
deleted file mode 100644
index 208c031ba4e9..000000000000
--- a/dev-libs/libtasn1/libtasn1-4.17.0.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
-
-inherit multilib-minimal libtool
-
-DESCRIPTION="ASN.1 library"
-HOMEPAGE="https://www.gnu.org/software/libtasn1/"
-SRC_URI="mirror://gnu/${PN}/${P}.tar.gz"
-
-LICENSE="GPL-3 LGPL-2.1"
-SLOT="0/6" # subslot = libtasn1 soname version
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-IUSE="doc static-libs test valgrind"
-
-RESTRICT="!test? ( test )"
-
-BDEPEND="sys-apps/help2man
- virtual/yacc
- test? ( valgrind? ( dev-util/valgrind ) )"
-
-DOCS=(
- AUTHORS
- ChangeLog
- NEWS
- README.md
- THANKS
-)
-
-pkg_setup() {
- if use doc; then
- DOCS+=( doc/libtasn1.pdf )
- HTML_DOCS=( doc/reference/html/. )
- fi
-}
-
-src_prepare() {
- default
- elibtoolize # for Solaris shared library
-}
-
-multilib_src_configure() {
- local myeconfargs=(
- $(use_enable static-libs static)
- $(multilib_native_use_enable valgrind valgrind-tests)
- )
- ECONF_SOURCE="${S}" econf "${myeconfargs[@]}"
-}
-
-multilib_src_install_all() {
- einstalldocs
- find "${ED}" -type f -name '*.la' -delete || die
-}
diff --git a/dev-libs/libtasn1/libtasn1-4.18.0.ebuild b/dev-libs/libtasn1/libtasn1-4.18.0.ebuild
deleted file mode 100644
index 60774a24abb5..000000000000
--- a/dev-libs/libtasn1/libtasn1-4.18.0.ebuild
+++ /dev/null
@@ -1,47 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit multilib-minimal libtool
-
-DESCRIPTION="ASN.1 library"
-HOMEPAGE="https://www.gnu.org/software/libtasn1/"
-SRC_URI="mirror://gnu/${PN}/${P}.tar.gz"
-
-LICENSE="GPL-3 LGPL-2.1"
-SLOT="0/6" # subslot = libtasn1 soname version
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-IUSE="static-libs test valgrind"
-
-RESTRICT="!test? ( test )"
-
-BDEPEND="sys-apps/help2man
- virtual/yacc
- test? ( valgrind? ( dev-util/valgrind ) )"
-
-DOCS=(
- AUTHORS
- ChangeLog
- NEWS
- README.md
- THANKS
-)
-
-src_prepare() {
- default
- elibtoolize # for Solaris shared library
-}
-
-multilib_src_configure() {
- local myeconfargs=(
- $(use_enable static-libs static)
- $(multilib_native_use_enable valgrind valgrind-tests)
- )
- ECONF_SOURCE="${S}" econf "${myeconfargs[@]}"
-}
-
-multilib_src_install_all() {
- einstalldocs
- find "${ED}" -type f -name '*.la' -delete || die
-}
diff --git a/dev-libs/libtasn1/libtasn1-4.19.0.ebuild b/dev-libs/libtasn1/libtasn1-4.19.0.ebuild
new file mode 100644
index 000000000000..34ece90fc60d
--- /dev/null
+++ b/dev-libs/libtasn1/libtasn1-4.19.0.ebuild
@@ -0,0 +1,54 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/libtasn1.asc
+inherit multilib-minimal libtool verify-sig
+
+DESCRIPTION="ASN.1 library"
+HOMEPAGE="https://www.gnu.org/software/libtasn1/"
+SRC_URI="mirror://gnu/${PN}/${P}.tar.gz"
+SRC_URI+=" verify-sig? ( mirror://gnu/${PN}/${P}.tar.gz.sig )"
+
+LICENSE="LGPL-2.1+"
+SLOT="0/6" # subslot = libtasn1 soname version
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+IUSE="static-libs test"
+
+RESTRICT="!test? ( test )"
+
+BDEPEND="
+ sys-apps/help2man
+ app-alternatives/yacc
+ verify-sig? ( sec-keys/openpgp-keys-libtasn1 )
+"
+
+DOCS=( AUTHORS ChangeLog NEWS README.md THANKS )
+
+src_prepare() {
+ default
+
+ # For Solaris shared library
+ elibtoolize
+}
+
+multilib_src_configure() {
+ # -fanalyzer substantially slows down the build and isn't useful for
+ # us. It's useful for upstream as it's static analysis, but it's not
+ # useful when just getting something built.
+ export gl_cv_warn_c__fanalyzer=no
+
+ local myeconfargs=(
+ --disable-valgrind-tests
+ $(use_enable static-libs static)
+ )
+
+ ECONF_SOURCE="${S}" econf "${myeconfargs[@]}"
+}
+
+multilib_src_install_all() {
+ einstalldocs
+
+ find "${ED}" -type f -name '*.la' -delete || die
+}
diff --git a/dev-libs/libtasn1/metadata.xml b/dev-libs/libtasn1/metadata.xml
index 9630ac49ef5a..2889e087bc6d 100644
--- a/dev-libs/libtasn1/metadata.xml
+++ b/dev-libs/libtasn1/metadata.xml
@@ -5,12 +5,9 @@
<name>Gentoo Base System</name>
<email>base-system@gentoo.org</email>
</maintainer>
- <use>
- <flag name="valgrind">
- Enable usage of <pkg>dev-util/valgrind</pkg> in debug
- </flag>
- </use>
<upstream>
+ <changelog>https://gitlab.com/gnutls/libtasn1/blob/master/NEWS</changelog>
<remote-id type="cpe">cpe:/a:gnu:libtasn1</remote-id>
+ <remote-id type="gitlab">gnutls/libtasn1</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-libs/libtecla/files/libtecla-1.6.1-install.patch b/dev-libs/libtecla/files/libtecla-1.6.1-install.patch
index 999d46c58185..769b98c6abb5 100644
--- a/dev-libs/libtecla/files/libtecla-1.6.1-install.patch
+++ b/dev-libs/libtecla/files/libtecla-1.6.1-install.patch
@@ -1,6 +1,5 @@
-diff -Naur libtecla/Makefile.in libtecla.new/Makefile.in
---- libtecla/Makefile.in 2004-10-31 15:30:57.000000000 -0500
-+++ libtecla.new/Makefile.in 2008-06-03 08:59:27.000000000 -0400
+--- a/Makefile.in
++++ b/Makefile.in
@@ -15,10 +15,10 @@
prefix=@prefix@
diff --git a/dev-libs/libtecla/files/libtecla-1.6.1-no-strip.patch b/dev-libs/libtecla/files/libtecla-1.6.1-no-strip.patch
index 1935c3894f76..7c6461bb5060 100644
--- a/dev-libs/libtecla/files/libtecla-1.6.1-no-strip.patch
+++ b/dev-libs/libtecla/files/libtecla-1.6.1-no-strip.patch
@@ -1,8 +1,7 @@
# prevent build system from stripping files (bug #239877).
-diff -Naur libtecla/Makefile.in libtecla.new/Makefile.in
---- libtecla/Makefile.in 2004-10-31 15:30:57.000000000 -0500
-+++ libtecla.new/Makefile.in 2008-10-07 06:17:22.000000000 -0400
+--- a/Makefile.in
++++ b/Makefile.in
@@ -260,7 +260,7 @@
install_bin: $(BINDIR) $(PROGRAMS) $(PROGRAMS_R)
progs="$(PROGRAMS) $(PROGRAMS_R)"; \
diff --git a/dev-libs/libtecla/files/libtecla-1.6.1-prll-install.patch b/dev-libs/libtecla/files/libtecla-1.6.1-prll-install.patch
index 1815f8571566..467cde20c2de 100644
--- a/dev-libs/libtecla/files/libtecla-1.6.1-prll-install.patch
+++ b/dev-libs/libtecla/files/libtecla-1.6.1-prll-install.patch
@@ -1,8 +1,6 @@
Makefile.in | 10 +++++-----
1 files changed, 5 insertions(+), 5 deletions(-)
-diff --git a/Makefile.in b/Makefile.in
-index a44371a..dfd44b0 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -217,7 +217,7 @@ install_inc: $(INCDIR)
diff --git a/dev-libs/libtecla/files/libtecla-1.6.3-configure-clang16.patch b/dev-libs/libtecla/files/libtecla-1.6.3-configure-clang16.patch
new file mode 100644
index 000000000000..9a8a67df6f96
--- /dev/null
+++ b/dev-libs/libtecla/files/libtecla-1.6.3-configure-clang16.patch
@@ -0,0 +1,12 @@
+--- a/configure.in
++++ b/configure.in
+@@ -94,6 +94,9 @@ dnl statement.
+
+ AC_CANONICAL_SYSTEM
+
++dnl Needed for ptsname and friends.
++AC_USE_SYSTEM_EXTENSIONS
++
+ dnl In early versions of Solaris, some libraries are in /usr/ccs/lib,
+ dnl where gcc doesn't look. The tests below for the curses library
+ dnl would thus fail without this directory being added to the search
diff --git a/dev-libs/libtecla/files/libtecla-1.6.3-ldflags.patch b/dev-libs/libtecla/files/libtecla-1.6.3-ldflags.patch
index 68c9e947b987..67dcb3e71daa 100644
--- a/dev-libs/libtecla/files/libtecla-1.6.3-ldflags.patch
+++ b/dev-libs/libtecla/files/libtecla-1.6.3-ldflags.patch
@@ -1,5 +1,5 @@
---- libtecla/Makefile.rules.orig 2014-11-10 00:36:53.000000000 +0300
-+++ libtecla/Makefile.rules 2016-04-13 10:37:36.234418914 +0300
+--- a/Makefile.rules
++++ b/Makefile.rules
@@ -54,19 +54,19 @@
demos: $(DEMO_PROGS)
@@ -24,8 +24,8 @@
$(OBJDIR)/enhance.o -L. -ltecla$(SUFFIX) $(LIBS)
#-----------------------------------------------------------------------
---- libtecla/configure.in.orig 2014-11-10 01:15:29.000000000 +0300
-+++ libtecla/configure.in 2016-04-13 10:32:25.916263565 +0300
+--- a/configure.in
++++ b/configure.in
@@ -490,7 +490,7 @@
VERSION_OPT=''
fi
diff --git a/dev-libs/libtecla/files/libtecla-1.6.3-prll-build.patch b/dev-libs/libtecla/files/libtecla-1.6.3-prll-build.patch
index 89f30a6ea31a..41e7b628b359 100644
--- a/dev-libs/libtecla/files/libtecla-1.6.3-prll-build.patch
+++ b/dev-libs/libtecla/files/libtecla-1.6.3-prll-build.patch
@@ -1,5 +1,5 @@
---- libtecla/Makefile.rules.orig 2016-04-13 11:13:10.000000000 +0300
-+++ libtecla/Makefile.rules 2016-04-13 11:17:45.628234106 +0300
+--- a/Makefile.rules
++++ b/Makefile.rules
@@ -165,5 +165,5 @@
# Include file dependencies.
#-----------------------------------------------------------------------
diff --git a/dev-libs/libtecla/files/libtecla-1.6.3-secure-runpath.patch b/dev-libs/libtecla/files/libtecla-1.6.3-secure-runpath.patch
index b62104ae1d35..01552220e24a 100644
--- a/dev-libs/libtecla/files/libtecla-1.6.3-secure-runpath.patch
+++ b/dev-libs/libtecla/files/libtecla-1.6.3-secure-runpath.patch
@@ -1,5 +1,5 @@
---- libtecla/Makefile.rules.orig 2014-11-10 00:36:53.000000000 +0300
-+++ libtecla/Makefile.rules 2016-04-13 10:37:36.234418914 +0300
+--- a/Makefile.rules
++++ b/Makefile.rules
@@ -54,19 +54,19 @@
demos: $(DEMO_PROGS)
diff --git a/dev-libs/libtecla/files/libtecla-1.6.3-static-libs.patch b/dev-libs/libtecla/files/libtecla-1.6.3-static-libs.patch
index b88940e49b8b..0d7c14b6c172 100644
--- a/dev-libs/libtecla/files/libtecla-1.6.3-static-libs.patch
+++ b/dev-libs/libtecla/files/libtecla-1.6.3-static-libs.patch
@@ -1,5 +1,5 @@
---- libtecla/configure.in.orig 2016-04-13 11:12:15.000000000 +0300
-+++ libtecla/configure.in 2016-04-13 11:43:05.632287268 +0300
+--- a/configure.in
++++ b/configure.in
@@ -426,6 +426,9 @@
AC_ARG_WITH(file-system, AC_HELP_STRING([--with-file-system], [Does the target have a filesystem (default=yes)]),
AC_DEFINE(WITHOUT_FILE_SYSTEM), )
diff --git a/dev-libs/libtecla/libtecla-1.6.3-r1.ebuild b/dev-libs/libtecla/libtecla-1.6.3-r1.ebuild
new file mode 100644
index 000000000000..a61d52f0bee1
--- /dev/null
+++ b/dev-libs/libtecla/libtecla-1.6.3-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 autotools flag-o-matic
+
+DESCRIPTION="Tecla command-line editing library"
+HOMEPAGE="https://www.astro.caltech.edu/~mcs/tecla/"
+SRC_URI="https://www.astro.caltech.edu/~mcs/tecla/${P}.tar.gz"
+S="${WORKDIR}/libtecla"
+
+LICENSE="icu"
+SLOT="0"
+KEYWORDS="amd64 ~arm ppc ~riscv x86 ~amd64-linux ~x86-linux"
+
+DEPEND="sys-libs/ncurses:="
+RDEPEND="${DEPEND}"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-1.6.1-install.patch
+ "${FILESDIR}"/${PN}-1.6.1-no-strip.patch
+ "${FILESDIR}"/${PN}-1.6.3-ldflags.patch
+ "${FILESDIR}"/${PN}-1.6.3-prll-build.patch
+ "${FILESDIR}"/${PN}-1.6.1-prll-install.patch
+ "${FILESDIR}"/${PN}-1.6.3-static-libs.patch
+ "${FILESDIR}"/${PN}-1.6.3-secure-runpath.patch
+ "${FILESDIR}"/${PN}-1.6.3-configure-clang16.patch
+)
+
+src_prepare() {
+ default
+ eautoreconf
+}
+
+src_configure() {
+ # ld: <artificial>:(.text.startup+0x6c): undefined reference to `libtecla_version'
+ #
+ # For some mysterious reason this is running $LD directly to link the
+ # shared library rather than use the compiler as the linker driver. As a
+ # result -flto is effectively a no-op *at link time* and the shared library
+ # contains... nothing. Because it didn't process the bytecode. Of course,
+ # nothing can then link to it.
+ #
+ # https://bugs.gentoo.org/772014
+ filter-lto
+ default
+}
+
+src_compile() {
+ emake \
+ OPT="" \
+ LDFLAGS="${LDFLAGS}" \
+ LFLAGS="$(raw-ldflags)"
+}
diff --git a/dev-libs/libtecla/libtecla-1.6.3.ebuild b/dev-libs/libtecla/libtecla-1.6.3.ebuild
deleted file mode 100644
index 070399cd74d5..000000000000
--- a/dev-libs/libtecla/libtecla-1.6.3.ebuild
+++ /dev/null
@@ -1,47 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit autotools flag-o-matic
-
-DESCRIPTION="Tecla command-line editing library"
-HOMEPAGE="https://www.astro.caltech.edu/~mcs/tecla/"
-SRC_URI="https://www.astro.caltech.edu/~mcs/tecla/${P}.tar.gz"
-
-LICENSE="icu"
-SLOT="0"
-KEYWORDS="amd64 ~arm ppc x86 ~amd64-linux ~x86-linux"
-IUSE="static-libs"
-
-DEPEND="sys-libs/ncurses:="
-RDEPEND="${DEPEND}"
-
-S=${WORKDIR}/libtecla
-
-PATCHES=(
- "${FILESDIR}"/${PN}-1.6.1-install.patch
- "${FILESDIR}"/${PN}-1.6.1-no-strip.patch
- "${FILESDIR}"/${PN}-1.6.3-ldflags.patch
- "${FILESDIR}"/${PN}-1.6.3-prll-build.patch
- "${FILESDIR}"/${PN}-1.6.1-prll-install.patch
- "${FILESDIR}"/${PN}-1.6.3-static-libs.patch
- "${FILESDIR}"/${PN}-1.6.3-secure-runpath.patch
-)
-
-src_prepare() {
- default
- mv configure.in configure.ac || die
- eautoreconf
-}
-
-src_configure() {
- econf $(use_enable static-libs)
-}
-
-src_compile() {
- emake \
- OPT="" \
- LDFLAGS="${LDFLAGS}" \
- LFLAGS="$(raw-ldflags)"
-}
diff --git a/dev-libs/libtermkey/Manifest b/dev-libs/libtermkey/Manifest
index 309b58690364..b720c446dac0 100644
--- a/dev-libs/libtermkey/Manifest
+++ b/dev-libs/libtermkey/Manifest
@@ -1,2 +1 @@
-DIST libtermkey-0.20.tar.gz 45167 BLAKE2B e51a0c91efce056824ee56918aa6a794096e1f19e02d04278c0f3e82382055f16b0413c9f3832492677fbb68bcc1803303cb4c8ee8dc7363276dfeda3e5a6e4f SHA512 81a4bc5917c60ca692ec3065ac0252ae5dc1adccc2832be1c83c82318c97473d883900ab88a8a0ee08ab3f831ff07f3a4827ee3d8e936a3a42c4708ee58f6301
DIST libtermkey-0.22.tar.gz 46147 BLAKE2B fddc00a1ae525e5ed8c9c6eaee46fe30a99dbbc76ca988f9f5301b3c5c13a6de4462d6cc612119409a21737176f67ac196109b11fb58f414b25db5b6a49f4982 SHA512 2e8242cd1e6acb8900125dcee9fd47f7554c359363f760b88858c82667e1f3871bdd87358b14c8a133ef3cd2699947a5045477e64cdf7f96d4ead1723e73a219
diff --git a/dev-libs/libtermkey/files/libtermkey-0.22-libtool.patch b/dev-libs/libtermkey/files/libtermkey-0.22-libtool.patch
new file mode 100644
index 000000000000..913eb912289f
--- /dev/null
+++ b/dev-libs/libtermkey/files/libtermkey-0.22-libtool.patch
@@ -0,0 +1,103 @@
+Upstream is archived: https://github.com/neovim/libtermkey
+
+From df7da7e0beb467b97e25e4222f723fbdff369a95 Mon Sep 17 00:00:00 2001
+From: orbea <orbea@riseup.net>
+Date: Wed, 28 Feb 2024 15:35:06 -0500
+Subject: [PATCH] build: Add a minimal configure.ac
+
+When building with slibtool using the rlibtool symlink the build will
+fail when it fails to find the generated libtool. This is required so
+rlibtool can determine if it should build shared or static libraries.
+
+This can be fixed by adding a minimal configure.ac that can generate the
+required files with autoreconf.
+
+Bug: https://bugs.gentoo.org/913482
+---
+ Makefile => Makefile.in | 31 ++++++++++++++++---------------
+ configure.ac | 16 ++++++++++++++++
+ 2 files changed, 32 insertions(+), 15 deletions(-)
+ rename Makefile => Makefile.in (89%)
+ create mode 100644 configure.ac
+
+diff --git a/Makefile b/Makefile.in
+similarity index 89%
+rename from Makefile
+rename to Makefile.in
+index 199f143..f59265b 100644
+--- a/Makefile
++++ b/Makefile.in
+@@ -1,14 +1,10 @@
+-pkgconfig = $(shell PKG_CONFIG_PATH=$(PKG_CONFIG_PATH) pkg-config $(1))
++pkgconfig = $(shell PKG_CONFIG_PATH=@PKG_CONFIG_PATH@ @PKG_CONFIG@ $(1))
+
+-ifeq ($(shell uname),Darwin)
+- LIBTOOL ?= glibtool
+-else
+- LIBTOOL ?= libtool
+-endif
++CC = @CC@
++LIBTOOL = @LIBTOOL@
+
+-ifneq ($(VERBOSE),1)
+- LIBTOOL +=--quiet
+-endif
++override CFLAGS = @CFLAGS@
++override LDFLAGS = @LDFLAGS@
+
+ override CFLAGS +=-Wall -std=c99
+
+@@ -48,8 +44,8 @@ DEMO_OBJECTS=$(DEMOS:=.lo)
+ TESTSOURCES=$(wildcard t/[0-9]*.c)
+ TESTFILES=$(TESTSOURCES:.c=.t)
+
+-VERSION_MAJOR=0
+-VERSION_MINOR=22
++VERSION_MAJOR=@MAJOR@
++VERSION_MINOR=@MINOR@
+
+ VERSION=$(VERSION_MAJOR).$(VERSION_MINOR)
+
+@@ -57,10 +53,15 @@ VERSION_CURRENT=15
+ VERSION_REVISION=2
+ VERSION_AGE=14
+
+-PREFIX=/usr/local
+-LIBDIR=$(PREFIX)/lib
+-INCDIR=$(PREFIX)/include
+-MANDIR=$(PREFIX)/share/man
++top_builddir=@top_builddir@
++
++prefix=@prefix@
++exec_prefix=@exec_prefix@
++datarootdir=@datarootdir@
++datadir=@datadir@
++LIBDIR=@libdir@
++INCDIR=@includedir@
++MANDIR=@mandir@
+ MAN3DIR=$(MANDIR)/man3
+ MAN7DIR=$(MANDIR)/man7
+
+diff --git a/configure.ac b/configure.ac
+new file mode 100644
+index 0000000..fdf86ce
+--- /dev/null
++++ b/configure.ac
+@@ -0,0 +1,16 @@
++m4_define([MAJOR], [0])
++m4_define([MINOR], [22])
++
++AC_INIT([libtermkey], [MAJOR.MINOR])
++AC_CONFIG_FILES([Makefile])
++
++LT_INIT
++
++PKG_PROG_PKG_CONFIG
++
++AC_SUBST([top_builddir], [$abs_builddir])
++
++AC_SUBST([MAJOR], [MAJOR])
++AC_SUBST([MINOR], [MINOR])
++
++AC_OUTPUT
+--
diff --git a/dev-libs/libtermkey/files/no-automagic-manpages-compress.patch b/dev-libs/libtermkey/files/no-automagic-manpages-compress.patch
new file mode 100644
index 000000000000..8f6fa34aef6c
--- /dev/null
+++ b/dev-libs/libtermkey/files/no-automagic-manpages-compress.patch
@@ -0,0 +1,18 @@
+diff --git a/Makefile b/Makefile
+index 199f143..70788ee 100644
+--- a/Makefile
++++ b/Makefile
+@@ -121,13 +121,3 @@ install-lib: $(LIBRARY)
+ install-man:
+ install -d $(DESTDIR)$(MAN3DIR)
+ install -d $(DESTDIR)$(MAN7DIR)
+- for F in man/*.3; do \
+- gzip <$$F >$(DESTDIR)$(MAN3DIR)/$${F#man/}.gz; \
+- done
+- for F in man/*.7; do \
+- gzip <$$F >$(DESTDIR)$(MAN7DIR)/$${F#man/}.gz; \
+- done
+- while read FROM EQ TO; do \
+- echo ln -sf $$TO.gz $(DESTDIR)$(MAN3DIR)/$$FROM.gz; \
+- done < man/also
+-
diff --git a/dev-libs/libtermkey/libtermkey-0.20.ebuild b/dev-libs/libtermkey/libtermkey-0.20.ebuild
deleted file mode 100644
index 6dd0ea0eb31e..000000000000
--- a/dev-libs/libtermkey/libtermkey-0.20.ebuild
+++ /dev/null
@@ -1,39 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-inherit flag-o-matic
-
-DESCRIPTION="Library for easy processing of keyboard entry from terminal-based programs"
-HOMEPAGE="http://www.leonerd.org.uk/code/libtermkey/"
-SRC_URI="http://www.leonerd.org.uk/code/${PN}/${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 x86"
-IUSE="demos static-libs"
-
-RDEPEND="dev-libs/unibilium:="
-DEPEND="${RDEPEND}
- sys-devel/libtool
- virtual/pkgconfig
- demos? ( dev-libs/glib:2 )"
-
-src_prepare() {
- default
-
- if ! use demos; then
- sed -e '/^all:/s:$(DEMOS)::' -i Makefile || die
- fi
-}
-
-src_compile() {
- append-flags -fPIC
- emake PREFIX="${EPREFIX}/usr" LIBDIR="${EPREFIX}/usr/$(get_libdir)" all
-}
-
-src_install() {
- emake PREFIX="${EPREFIX}/usr" LIBDIR="${EPREFIX}/usr/$(get_libdir)" DESTDIR="${D}" install
- use static-libs || rm "${ED}"/usr/$(get_libdir)/${PN}.a || die
- rm "${ED}"/usr/$(get_libdir)/${PN}.la || die
-}
diff --git a/dev-libs/libtermkey/libtermkey-0.22-r1.ebuild b/dev-libs/libtermkey/libtermkey-0.22-r1.ebuild
new file mode 100644
index 000000000000..007a700a66e2
--- /dev/null
+++ b/dev-libs/libtermkey/libtermkey-0.22-r1.ebuild
@@ -0,0 +1,50 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit flag-o-matic
+
+DESCRIPTION="Library for easy processing of keyboard entry from terminal-based programs"
+HOMEPAGE="http://www.leonerd.org.uk/code/libtermkey/"
+SRC_URI="http://www.leonerd.org.uk/code/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 arm arm64 ~ppc ~ppc64 ~riscv x86 ~x64-macos"
+IUSE="demos static-libs"
+
+RDEPEND="dev-libs/unibilium:="
+DEPEND="
+ ${RDEPEND}
+"
+BDEPEND="
+ dev-build/libtool
+ virtual/pkgconfig
+ demos? ( dev-libs/glib:2 )
+"
+
+PATCHES=(
+ "${FILESDIR}"/no-automagic-manpages-compress.patch
+)
+
+src_prepare() {
+ default
+
+ if ! use demos; then
+ sed -e '/^all:/s:$(DEMOS)::' -i Makefile || die
+ fi
+}
+
+src_compile() {
+ append-flags -fPIC
+ emake PREFIX="${EPREFIX}/usr" LIBDIR="${EPREFIX}/usr/$(get_libdir)" all
+}
+
+src_install() {
+ emake PREFIX="${EPREFIX}/usr" LIBDIR="${EPREFIX}/usr/$(get_libdir)" DESTDIR="${D}" install
+ use static-libs || rm "${ED}"/usr/$(get_libdir)/${PN}.a || die
+ rm "${ED}"/usr/$(get_libdir)/${PN}.la || die
+ doman "${S}"/man/*.3
+ doman "${S}"/man/*.7
+}
diff --git a/dev-libs/libtermkey/libtermkey-0.22-r2.ebuild b/dev-libs/libtermkey/libtermkey-0.22-r2.ebuild
new file mode 100644
index 000000000000..80b7172d3863
--- /dev/null
+++ b/dev-libs/libtermkey/libtermkey-0.22-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 flag-o-matic
+
+DESCRIPTION="Library for easy processing of keyboard entry from terminal-based programs"
+HOMEPAGE="http://www.leonerd.org.uk/code/libtermkey/"
+SRC_URI="http://www.leonerd.org.uk/code/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 arm arm64 ~ppc ~ppc64 ~riscv x86 ~x64-macos"
+IUSE="demos"
+
+RDEPEND="dev-libs/unibilium:="
+DEPEND="
+ ${RDEPEND}
+"
+BDEPEND="
+ virtual/pkgconfig
+ demos? ( dev-libs/glib:2 )
+"
+
+PATCHES=(
+ "${FILESDIR}"/no-automagic-manpages-compress.patch
+ "${FILESDIR}"/${PN}-0.22-libtool.patch # 913482
+)
+
+src_prepare() {
+ default
+
+ if ! use demos; then
+ sed -e '/^all:/s:$(DEMOS)::' -i Makefile.in || die
+ fi
+
+ append-flags -fPIC
+
+ eautoreconf
+}
+
+src_install() {
+ emake DESTDIR="${D}" install
+ find "${D}" -name '*.la' -delete || die
+ doman "${S}"/man/*.3
+ doman "${S}"/man/*.7
+}
diff --git a/dev-libs/libtermkey/libtermkey-0.22.ebuild b/dev-libs/libtermkey/libtermkey-0.22.ebuild
deleted file mode 100644
index 3f15192f8ff7..000000000000
--- a/dev-libs/libtermkey/libtermkey-0.22.ebuild
+++ /dev/null
@@ -1,39 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-inherit flag-o-matic
-
-DESCRIPTION="Library for easy processing of keyboard entry from terminal-based programs"
-HOMEPAGE="http://www.leonerd.org.uk/code/libtermkey/"
-SRC_URI="http://www.leonerd.org.uk/code/${PN}/${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 arm ~arm64 ~riscv x86 ~x64-macos"
-IUSE="demos static-libs"
-
-RDEPEND="dev-libs/unibilium:="
-DEPEND="${RDEPEND}
- sys-devel/libtool
- virtual/pkgconfig
- demos? ( dev-libs/glib:2 )"
-
-src_prepare() {
- default
-
- if ! use demos; then
- sed -e '/^all:/s:$(DEMOS)::' -i Makefile || die
- fi
-}
-
-src_compile() {
- append-flags -fPIC
- emake PREFIX="${EPREFIX}/usr" LIBDIR="${EPREFIX}/usr/$(get_libdir)" all
-}
-
-src_install() {
- emake PREFIX="${EPREFIX}/usr" LIBDIR="${EPREFIX}/usr/$(get_libdir)" DESTDIR="${D}" install
- use static-libs || rm "${ED}"/usr/$(get_libdir)/${PN}.a || die
- rm "${ED}"/usr/$(get_libdir)/${PN}.la || die
-}
diff --git a/dev-libs/libthreadar/Manifest b/dev-libs/libthreadar/Manifest
index 5e2944e4aa14..55f6d02f827d 100644
--- a/dev-libs/libthreadar/Manifest
+++ b/dev-libs/libthreadar/Manifest
@@ -1 +1 @@
-DIST libthreadar-1.3.5.tar.gz 443192 BLAKE2B d8e06c7b58636b51bd2ffd50f51a8a024780e4955693a28085296ccffeef8ad2866ac12e53b3c78b37a650c4b1c54b5fa8dcbacd1002577cdd7b30eccee2ef69 SHA512 c4c34036a7882d1ecdbc025e0d927b6712fb067aaeee8bae5bc740a5259c5f49d651a8ad6323ddf6cdf13fd2e5e7c396f9c134ef3447b3743ae8e64abd646850
+DIST libthreadar-1.4.0.tar.gz 445672 BLAKE2B ce4165bfa507f27ea071dab067e1cda61e0812fd106ab80f0ef04a53ac68ce866a3d7c5ce6a26d6e9fc2c2085de7b8636492711a15a7103cc16b773d0a87aebe SHA512 3665817cf6327d4d24792d8cc2bd0a458bda1651b471e3440c1f63c22f397cfb4c8d81482f937e13f67f5ff1414662b1f69d9c311362a0a7a9249e8bc0236751
diff --git a/dev-libs/libthreadar/libthreadar-1.3.5.ebuild b/dev-libs/libthreadar/libthreadar-1.3.5.ebuild
deleted file mode 100644
index 36a691d5afa0..000000000000
--- a/dev-libs/libthreadar/libthreadar-1.3.5.ebuild
+++ /dev/null
@@ -1,20 +0,0 @@
-# Copyright 2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DESCRIPTION="Threading library used by dar archiver"
-HOMEPAGE="https://sourceforge.net/projects/libthreadar/"
-SRC_URI="mirror://sourceforge/libthreadar/${P}.tar.gz"
-
-LICENSE="LGPL-3"
-SLOT="0"
-KEYWORDS="amd64 ppc sparc x86"
-
-src_install() {
- emake DESTDIR="${D}" pkgdatadir="${EPREFIX}"/usr/share/doc/${PF}/html install
-
- einstalldocs
-
- find "${ED}" -name '*.la' -delete || die
-}
diff --git a/dev-libs/libthreadar/libthreadar-1.4.0.ebuild b/dev-libs/libthreadar/libthreadar-1.4.0.ebuild
new file mode 100644
index 000000000000..6fd22b2a4b63
--- /dev/null
+++ b/dev-libs/libthreadar/libthreadar-1.4.0.ebuild
@@ -0,0 +1,32 @@
+# Copyright 2021-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools
+
+DESCRIPTION="Threading library used by dar archiver"
+HOMEPAGE="https://sourceforge.net/projects/libthreadar/"
+SRC_URI="mirror://sourceforge/libthreadar/${P}.tar.gz"
+
+LICENSE="LGPL-3"
+SLOT="0"
+KEYWORDS="amd64 ppc sparc x86"
+
+src_prepare() {
+ default
+
+ # this is an example binary that is not installed
+ # the original Makefile tries to compile it statically,
+ # no longer supported
+ sed -i -e '/^test_barrier_LDFLAGS/d' doc/examples/Makefile.am || die
+ eautoreconf
+}
+
+src_install() {
+ emake DESTDIR="${D}" pkgdatadir="${EPREFIX}"/usr/share/doc/${PF}/html install
+
+ einstalldocs
+
+ find "${ED}" -name '*.la' -delete || die
+}
diff --git a/dev-libs/libthreadar/metadata.xml b/dev-libs/libthreadar/metadata.xml
index cf13cdd2ab42..95f7f3847988 100644
--- a/dev-libs/libthreadar/metadata.xml
+++ b/dev-libs/libthreadar/metadata.xml
@@ -1,14 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person" proxied="yes">
- <email>ceamac.paragon@gmail.com</email>
+ <maintainer type="person">
+ <email>ceamac@gentoo.org</email>
<name>Viorel Munteanu</name>
</maintainer>
- <maintainer type="project" proxied="proxy">
- <email>proxy-maint@gentoo.org</email>
- <name>Proxy Maintainers</name>
- </maintainer>
<longdescription>
Libthreadar is a C++ library providing an abstracted set of C++ *classes* to manipulate threads in a very simple and efficient way from your C++ code.
It also handles exceptions thrown from a thread and propagated to another one, when the latter is calling the thread::join() method. This lets one manage exceptions as simply as it is in C++ single threaded context.
diff --git a/dev-libs/libtimezonemap/libtimezonemap-0.4.6-r1.ebuild b/dev-libs/libtimezonemap/libtimezonemap-0.4.6-r1.ebuild
index 4e6aa47c71f5..a251b1b96df0 100644
--- a/dev-libs/libtimezonemap/libtimezonemap-0.4.6-r1.ebuild
+++ b/dev-libs/libtimezonemap/libtimezonemap-0.4.6-r1.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="mirror://debian/pool/main/libt/${PN}/${PN}_${PV}.orig.tar.gz -> ${PN}_$
LICENSE="GPL-2"
SLOT="0"
-KEYWORDS="amd64 ~arm64 ~riscv x86"
+KEYWORDS="amd64 ~arm64 ~loong ~ppc64 ~riscv x86"
DEPEND="dev-libs/glib:2
dev-libs/gobject-introspection:0=
diff --git a/dev-libs/libtomcrypt/libtomcrypt-1.18.2-r3.ebuild b/dev-libs/libtomcrypt/libtomcrypt-1.18.2-r3.ebuild
deleted file mode 100644
index 6626d0895985..000000000000
--- a/dev-libs/libtomcrypt/libtomcrypt-1.18.2-r3.ebuild
+++ /dev/null
@@ -1,114 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit toolchain-funcs
-
-DESCRIPTION="LibTomCrypt is a comprehensive, modular and portable cryptographic toolkit"
-HOMEPAGE="https://www.libtom.net/LibTomCrypt/ https://github.com/libtom/libtomcrypt"
-SRC_URI="
- https://github.com/libtom/${PN}/releases/download/v${PV}/crypt-${PV}.tar.xz
- -> ${P}.tar.xz"
-
-LICENSE="|| ( WTFPL-2 public-domain )"
-# Current SONAME is 1
-# Please bump when the ABI changes upstream
-# Helpful site:
-# https://abi-laboratory.pro/index.php?view=timeline&l=libtomcrypt
-SLOT="0/1"
-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"
-IUSE="+gmp +libtommath tomsfastmath"
-
-# Enforce at least one math provider
-# bug #772935
-REQUIRED_USE="|| ( gmp libtommath tomsfastmath )"
-
-BDEPEND="
- sys-devel/libtool
- virtual/pkgconfig
-"
-DEPEND="
- gmp? ( dev-libs/gmp:= )
- libtommath? ( dev-libs/libtommath:= )
- tomsfastmath? ( dev-libs/tomsfastmath:= )
-"
-RDEPEND="${DEPEND}"
-
-PATCHES=(
- "${FILESDIR}"/${P}-slibtool.patch
-)
-
-mymake() {
- # Standard boilerplate
- # Upstream use homebrewed makefiles
- # Best to use same args for all, for consistency,
- # in case behaviour changes (v possible).
- local enabled_features=()
- local extra_libs=()
-
- # Build support as appropriate for consumers (MPI)
- if use gmp; then
- enabled_features+=( -DGMP_DESC=1 )
- extra_libs+=( -lgmp )
- fi
- if use libtommath; then
- enabled_features+=( -DLTM_DESC=1 )
- extra_libs+=( -ltommath )
- fi
- if use tomsfastmath; then
- enabled_features+=( -DTFM_DESC=1 )
- extra_libs+=( -ltfm )
- fi
-
- # For the test and example binaries, we have to choose
- # which MPI we want to use.
- # For now (see src_test), arbitrarily choose:
- # gmp > libtommath > tomsfastmath > none
- if use gmp ; then
- enabled_features+=( -DUSE_GMP=1 )
- elif use libtommath ; then
- enabled_features+=( -DUSE_LTM=1 )
- elif use tomsfastmath ; then
- enabled_features+=( -DUSE_TFM=1 )
- fi
-
- # IGNORE_SPEED=1 is needed to respect CFLAGS
- EXTRALIBS="${extra_libs[*]}" emake \
- CFLAGS="${CFLAGS} ${enabled_features[*]}" \
- CC="$(tc-getCC)" \
- AR="$(tc-getAR)" \
- RANLIB="$(tc-getRANLIB)" \
- LIBPATH="${ESYSROOT}/usr/$(get_libdir)" \
- INCPATH="${ESYSROOT}/usr/include" \
- IGNORE_SPEED=1 \
- PREFIX="${EPREFIX}/usr" \
- "${@}"
-}
-
-src_compile() {
- # Replace hard-coded libdir=${exec_prefix}/lib.
- sed -i -e "/libdir=/s:/lib:/$(get_libdir):" libtomcrypt.pc.in || die
-
- mymake -f makefile.shared library
-}
-
-src_test() {
- # libtomcrypt can build with several MPI providers
- # but the tests can only be built with one at a time.
- # When the next release (> 1.18.2) containing
- # 1) https://github.com/libtom/libtomcrypt/commit/a65cfb8dbe4
- # 2) https://github.com/libtom/libtomcrypt/commit/fdc6cd20137
- # is made, we can run tests for each provider.
- mymake test
- ./test || die "Running tests failed"
-}
-
-src_install() {
- mymake -f makefile.shared \
- DATAPATH="${EPREFIX}/usr/share/doc/${PF}" \
- DESTDIR="${D}" \
- install install_docs
-
- find "${ED}" '(' -name '*.la' -o -name '*.a' ')' -delete || die
-}
diff --git a/dev-libs/libtomcrypt/libtomcrypt-1.18.2-r4.ebuild b/dev-libs/libtomcrypt/libtomcrypt-1.18.2-r4.ebuild
new file mode 100644
index 000000000000..f4dd5afc09ec
--- /dev/null
+++ b/dev-libs/libtomcrypt/libtomcrypt-1.18.2-r4.ebuild
@@ -0,0 +1,124 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit toolchain-funcs
+
+DESCRIPTION="LibTomCrypt is a comprehensive, modular and portable cryptographic toolkit"
+HOMEPAGE="https://www.libtom.net/LibTomCrypt/ https://github.com/libtom/libtomcrypt"
+SRC_URI="
+ https://github.com/libtom/${PN}/releases/download/v${PV}/crypt-${PV}.tar.xz
+ -> ${P}.tar.xz"
+
+LICENSE="|| ( WTFPL-2 public-domain )"
+# Current SONAME is 1
+# Please bump when the ABI changes upstream
+# Helpful site:
+# https://abi-laboratory.pro/index.php?view=timeline&l=libtomcrypt
+SLOT="0/1"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+IUSE="+gmp +libtommath tomsfastmath"
+
+# Enforce at least one math provider
+# bug #772935
+REQUIRED_USE="|| ( gmp libtommath tomsfastmath )"
+
+BDEPEND="
+ dev-build/libtool
+ virtual/pkgconfig
+"
+RDEPEND="
+ gmp? ( dev-libs/gmp:= )
+ libtommath? ( dev-libs/libtommath:= )
+ tomsfastmath? ( dev-libs/tomsfastmath:= )
+"
+DEPEND="
+ ${RDEPEND}
+ dev-build/libtool
+"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-slibtool.patch
+)
+
+mymake() {
+ # Standard boilerplate
+ # Upstream use homebrewed makefiles
+ # Best to use same args for all, for consistency,
+ # in case behaviour changes (v possible).
+ local enabled_features=()
+ local extra_libs=()
+
+ # Build support as appropriate for consumers (MPI)
+ if use gmp; then
+ enabled_features+=( -DGMP_DESC=1 )
+ extra_libs+=( -lgmp )
+ fi
+ if use libtommath; then
+ enabled_features+=( -DLTM_DESC=1 )
+ extra_libs+=( -ltommath )
+ fi
+ if use tomsfastmath; then
+ enabled_features+=( -DTFM_DESC=1 )
+ extra_libs+=( -ltfm )
+ fi
+
+ # For the test and example binaries, we have to choose
+ # which MPI we want to use.
+ # For now (see src_test), arbitrarily choose:
+ # gmp > libtommath > tomsfastmath > none
+ if use gmp ; then
+ enabled_features+=( -DUSE_GMP=1 )
+ elif use libtommath ; then
+ enabled_features+=( -DUSE_LTM=1 )
+ elif use tomsfastmath ; then
+ enabled_features+=( -DUSE_TFM=1 )
+ fi
+
+ # Fix cross-compiling, but allow manual overrides for slibtool, which works.
+ if [[ -z ${LIBTOOL} ]] ; then
+ local pfx=
+ [[ ${CHOST} == *-darwin* ]] && pfx=g # Darwin libtool != glibtool
+ declare -x LIBTOOL="${BASH} ${ESYSROOT}/usr/bin/${pfx}libtool"
+ fi
+
+ # IGNORE_SPEED=1 is needed to respect CFLAGS
+ EXTRALIBS="${extra_libs[*]}" emake \
+ CFLAGS="${CFLAGS} ${enabled_features[*]}" \
+ CC="$(tc-getCC)" \
+ AR="$(tc-getAR)" \
+ RANLIB="$(tc-getRANLIB)" \
+ LIBPATH="${EPREFIX}/usr/$(get_libdir)" \
+ INCPATH="${EPREFIX}/usr/include" \
+ IGNORE_SPEED=1 \
+ PREFIX="${EPREFIX}/usr" \
+ "${@}"
+}
+
+src_compile() {
+ # Replace hard-coded libdir=${exec_prefix}/lib.
+ sed -i -e "/libdir=/s:/lib:/$(get_libdir):" libtomcrypt.pc.in || die
+
+ mymake -f makefile.shared library
+}
+
+src_test() {
+ # libtomcrypt can build with several MPI providers
+ # but the tests can only be built with one at a time.
+ # When the next release (> 1.18.2) containing
+ # 1) https://github.com/libtom/libtomcrypt/commit/a65cfb8dbe4
+ # 2) https://github.com/libtom/libtomcrypt/commit/fdc6cd20137
+ # is made, we can run tests for each provider.
+ mymake test
+ ./test || die "Running tests failed"
+}
+
+src_install() {
+ mymake -f makefile.shared \
+ DATAPATH="${EPREFIX}/usr/share/doc/${PF}" \
+ DESTDIR="${D}" \
+ install install_docs
+
+ find "${ED}" '(' -name '*.la' -o -name '*.a' ')' -delete || die
+}
diff --git a/dev-libs/libtommath/Manifest b/dev-libs/libtommath/Manifest
index eaf116692eb5..433619a4f62c 100644
--- a/dev-libs/libtommath/Manifest
+++ b/dev-libs/libtommath/Manifest
@@ -1 +1 @@
-DIST ltm-1.2.0.tar.xz 622120 BLAKE2B 1537dad7da5c14264f03280e9d49fa0b7e6c1c4924c805f202d31c60569b9e3bee40674301d67b0f5b049c1c2dc5ec71b6c566ff5c9b8168d16840b031acc400 SHA512 6f9ccd0691831f07f86ddc81cb6145504b3d5da66dd3e92312c64cce0ea986fa4e08ba65ca8991aaebe56702c2d7c15f309696785b813dffb4c112a4ad04b203
+DIST ltm-1.2.1.tar.xz 635728 BLAKE2B b1464843af4a33f2ba0c824fe2dd080227c6b761b3f8059bbc5229f36d601aecc8bcb20c386718c71a1bc01f69e532647689b43252bd15143f809f7072de449e SHA512 50c9459357aa7f5076af93de6701c617da0dbbf2230a2f4468062704a6cd6e9d3c2fbb27016f68a7e1d6b35d6ddb2088630b24ea6acc20ed8c19594913d36e95
diff --git a/dev-libs/libtommath/libtommath-1.2.0-r2.ebuild b/dev-libs/libtommath/libtommath-1.2.0-r2.ebuild
deleted file mode 100644
index 02a55d1fc6fe..000000000000
--- a/dev-libs/libtommath/libtommath-1.2.0-r2.ebuild
+++ /dev/null
@@ -1,96 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit autotools toolchain-funcs
-
-DESCRIPTION="Optimized and portable routines for integer theoretic applications"
-HOMEPAGE="https://www.libtom.net/"
-SRC_URI="https://github.com/libtom/libtommath/releases/download/v${PV}/ltm-${PV}.tar.xz"
-
-LICENSE="Unlicense"
-SLOT="0"
-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"
-IUSE="doc examples static-libs"
-
-BDEPEND="sys-devel/libtool"
-
-PATCHES=(
- "${FILESDIR}"/${P}-sparc.patch
-)
-
-src_prepare() {
- default
-
- # need libtool for cross compilation, bug #376643
- cat <<-EOF > configure.ac
- AC_INIT(libtommath, 0)
- AM_INIT_AUTOMAKE
- LT_INIT
- AC_CONFIG_FILES(Makefile)
- AC_OUTPUT
- EOF
-
- touch NEWS README AUTHORS ChangeLog Makefile.am || die
-
- eautoreconf
-
- export LIBTOOL="${S}"/libtool
-}
-
-src_configure() {
- econf $(use_enable static-libs static)
-}
-
-_emake() {
- emake \
- CC="$(tc-getCC)" \
- AR="$(tc-getAR)" \
- RANLIB="$(tc-getRANLIB)" \
- IGNORE_SPEED=1 \
- DESTDIR="${ED}" \
- PREFIX="${EPREFIX}/usr" \
- LIBPATH="/usr/$(get_libdir)" \
- INCPATH="/usr/include" \
- "$@"
-}
-
-src_compile() {
- # Replace hard-coded libdir=${exec_prefix}/lib.
- sed -i -e "/libdir=/s:/lib:/$(get_libdir):" libtommath.pc.in || die
-
- _emake -f makefile.shared
-}
-
-src_test() {
- # Tests must be built statically
- # (i.e. without -f makefile.shared)
- _emake test
-
- ./test || die
-}
-
-src_install() {
- _emake -f makefile.shared install
-
- if [[ ${CHOST} == *-darwin* ]] ; then
- local path="usr/$(get_libdir)/libtommath.${PV}.dylib"
- install_name_tool -id "${EPREFIX}/${path}" "${ED}/${path}" || die "Failed to adjust install_name"
- fi
-
- # We only link against -lc, so drop the .la file.
- find "${ED}" -name '*.la' -delete || die
- if ! use static-libs ; then
- find "${ED}" -name "*.a" -delete || die
- fi
-
- dodoc changes.txt
-
- use doc && dodoc doc/*.pdf
-
- if use examples ; then
- docinto demo
- dodoc demo/*.c
- fi
-}
diff --git a/dev-libs/libtommath/libtommath-1.2.1.ebuild b/dev-libs/libtommath/libtommath-1.2.1.ebuild
new file mode 100644
index 000000000000..4c2227c298fa
--- /dev/null
+++ b/dev-libs/libtommath/libtommath-1.2.1.ebuild
@@ -0,0 +1,96 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools toolchain-funcs
+
+DESCRIPTION="Optimized and portable routines for integer theoretic applications"
+HOMEPAGE="https://www.libtom.net/"
+SRC_URI="https://github.com/libtom/libtommath/releases/download/v${PV}/ltm-${PV}.tar.xz"
+
+LICENSE="Unlicense"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+IUSE="doc examples static-libs"
+
+BDEPEND="dev-build/libtool"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-1.2.0-sparc.patch
+)
+
+src_prepare() {
+ default
+
+ # need libtool for cross compilation, bug #376643
+ cat <<-EOF > configure.ac
+ AC_INIT(libtommath, 0)
+ AM_INIT_AUTOMAKE
+ LT_INIT
+ AC_CONFIG_FILES(Makefile)
+ AC_OUTPUT
+ EOF
+
+ touch NEWS README AUTHORS ChangeLog Makefile.am || die
+
+ eautoreconf
+
+ export LIBTOOL="${S}"/libtool
+}
+
+src_configure() {
+ econf $(use_enable static-libs static)
+}
+
+_emake() {
+ emake \
+ CC="$(tc-getCC)" \
+ AR="$(tc-getAR)" \
+ RANLIB="$(tc-getRANLIB)" \
+ IGNORE_SPEED=1 \
+ DESTDIR="${ED}" \
+ PREFIX="${EPREFIX}/usr" \
+ LIBPATH="/usr/$(get_libdir)" \
+ INCPATH="/usr/include" \
+ "$@"
+}
+
+src_compile() {
+ # Replace hard-coded libdir=${exec_prefix}/lib.
+ sed -i -e "/libdir=/s:/lib:/$(get_libdir):" libtommath.pc.in || die
+
+ _emake -f makefile.shared
+}
+
+src_test() {
+ # Tests must be built statically
+ # (i.e. without -f makefile.shared)
+ _emake test
+
+ ./test || die
+}
+
+src_install() {
+ _emake -f makefile.shared install
+
+ if [[ ${CHOST} == *-darwin* ]] ; then
+ local path="usr/$(get_libdir)/libtommath.${PV}.dylib"
+ install_name_tool -id "${EPREFIX}/${path}" "${ED}/${path}" || die "Failed to adjust install_name"
+ fi
+
+ # We only link against -lc, so drop the .la file.
+ find "${ED}" -name '*.la' -delete || die
+ if ! use static-libs ; then
+ find "${ED}" -name "*.a" -delete || die
+ fi
+
+ dodoc changes.txt
+
+ use doc && dodoc doc/*.pdf
+
+ if use examples ; then
+ docinto demo
+ dodoc demo/*.c
+ fi
+}
diff --git a/dev-libs/libtompoly/files/libtompoly-0.04-Fix-Wimplicit-function-declaration.patch b/dev-libs/libtompoly/files/libtompoly-0.04-Fix-Wimplicit-function-declaration.patch
new file mode 100644
index 000000000000..f02cc99df63c
--- /dev/null
+++ b/dev-libs/libtompoly/files/libtompoly-0.04-Fix-Wimplicit-function-declaration.patch
@@ -0,0 +1,127 @@
+https://github.com/libtom/libtompoly/commit/2803e69dcc7cac9b470360c984b62198a3774882
+
+From 2803e69dcc7cac9b470360c984b62198a3774882 Mon Sep 17 00:00:00 2001
+From: Sam James <sam@gentoo.org>
+Date: Wed, 19 Oct 2022 02:21:00 +0100
+Subject: [PATCH] Fix -Wimplicit-function-declaration
+
+Clang 16 will make -Wimplicit-function-declaration error by default.
+
+For more information, see LWN.net [0] or LLVM's Discourse [1], gentoo-dev@ [2],
+or the (new) c-std-porting mailing list [3].
+
+[0] https://lwn.net/Articles/913505/
+[1] https://discourse.llvm.org/t/configure-script-breakage-with-the-new-werror-implicit-function-declaration/65213
+[2] https://archives.gentoo.org/gentoo-dev/message/dd9f2d3082b8b6f8dfbccb0639e6e240
+[3] hosted at lists.linux.dev.
+
+Bug: https://bugs.gentoo.org/875527
+Signed-off-by: Sam James <sam@gentoo.org>
+--- a/pb_add.c
++++ b/pb_add.c
+@@ -17,7 +17,7 @@ int pb_add(pb_poly *a, pb_poly *b, pb_poly *c)
+ pb_poly *tmp;
+
+ /* grow c to be the max size */
+- y = MAX(a->used, b->used);
++ y = PB_MAX(a->used, b->used);
+ if (c->alloc < y) {
+ if ((err = pb_grow(c, y)) != MP_OKAY) {
+ return err;
+@@ -28,7 +28,7 @@ int pb_add(pb_poly *a, pb_poly *b, pb_poly *c)
+ characteristic = mp_iszero(&(c->characteristic));
+
+ /* add the terms */
+- z = MIN(a->used, b->used);
++ z = PB_MIN(a->used, b->used);
+ for (x = 0; x < z; x++) {
+ if ((err = mp_add(&(a->terms[x]), &(b->terms[x]), &(c->terms[x]))) != MP_OKAY) {
+ return err;
+--- a/pb_clear.c
++++ b/pb_clear.c
+@@ -10,6 +10,7 @@
+ * Tom St Denis, tomstdenis@iahu.ca, http://poly.libtomcrypt.org
+ */
+ #include <tompoly.h>
++#include <stdlib.h>
+
+ void pb_clear(pb_poly *a)
+ {
+--- a/pb_grow.c
++++ b/pb_grow.c
+@@ -10,6 +10,8 @@
+ * Tom St Denis, tomstdenis@iahu.ca, http://poly.libtomcrypt.org
+ */
+ #include <tompoly.h>
++#include <stdlib.h>
++#include <string.h>
+
+ int pb_grow(pb_poly *a, int size)
+ {
+--- a/pb_init.c
++++ b/pb_init.c
+@@ -10,6 +10,7 @@
+ * Tom St Denis, tomstdenis@iahu.ca, http://poly.libtomcrypt.org
+ */
+ #include <tompoly.h>
++#include <stdlib.h>
+
+ /* initialize a */
+ int pb_init(pb_poly *a, mp_int *characteristic)
+--- a/pb_init_size.c
++++ b/pb_init_size.c
+@@ -10,6 +10,7 @@
+ * Tom St Denis, tomstdenis@iahu.ca, http://poly.libtomcrypt.org
+ */
+ #include <tompoly.h>
++#include <stdlib.h>
+
+ /* initialize a */
+ int pb_init_size(pb_poly *a, mp_int *characteristic, int size)
+--- a/pb_shrink.c
++++ b/pb_shrink.c
+@@ -10,6 +10,7 @@
+ * Tom St Denis, tomstdenis@iahu.ca, http://poly.libtomcrypt.org
+ */
+ #include <tompoly.h>
++#include <stdlib.h>
+
+ int pb_shrink(pb_poly *a)
+ {
+--- a/pb_sub.c
++++ b/pb_sub.c
+@@ -17,7 +17,7 @@ int pb_sub(pb_poly *a, pb_poly *b, pb_poly *c)
+ pb_poly *tmp;
+
+ /* grow c to be the max size */
+- y = MAX(a->used, b->used);
++ y = PB_MAX(a->used, b->used);
+ if (c->alloc < y) {
+ if ((err = pb_grow(c, y)) != MP_OKAY) {
+ return err;
+@@ -28,7 +28,7 @@ int pb_sub(pb_poly *a, pb_poly *b, pb_poly *c)
+ characteristic = mp_iszero(&(c->characteristic));
+
+ /* sub the terms */
+- z = MIN(a->used, b->used);
++ z = PB_MIN(a->used, b->used);
+ for (x = 0; x < z; x++) {
+ if ((err = mp_sub(&(a->terms[x]), &(b->terms[x]), &(c->terms[x]))) != MP_OKAY) {
+ return err;
+--- a/tompoly.h
++++ b/tompoly.h
+@@ -112,4 +112,13 @@ int pb_rawsize(pb_poly *a);
+ int pb_toraw(pb_poly *a, unsigned char *dst);
+ int pb_readraw(pb_poly *a, unsigned char *buf, int len);
+
++/* What follows should be in a private header, but it's fine for now like that. */
++
++#ifndef PB_MIN
++#define PB_MIN(x, y) (((x) < (y)) ? (x) : (y))
++#endif
++#ifndef PB_MAX
++#define PB_MAX(x, y) (((x) > (y)) ? (x) : (y))
++#endif
++
+ #endif
+
diff --git a/dev-libs/libtompoly/libtompoly-0.04-r1.ebuild b/dev-libs/libtompoly/libtompoly-0.04-r1.ebuild
deleted file mode 100644
index b21e94a8c54f..000000000000
--- a/dev-libs/libtompoly/libtompoly-0.04-r1.ebuild
+++ /dev/null
@@ -1,33 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit toolchain-funcs
-
-DESCRIPTION="portable ISO C library for polynomial basis arithmetic"
-HOMEPAGE="https://www.libtom.net/"
-SRC_URI="https://github.com/libtom/libtompoly/releases/download/${PV}/ltp-${PV}.tar.bz2"
-
-LICENSE="WTFPL-2"
-SLOT="0"
-KEYWORDS="amd64 ppc x86"
-
-DEPEND="dev-libs/libtommath"
-RDEPEND="${DEPEND}"
-
-src_prepare() {
- default
- sed -i \
- -e 's:\<ar\>:$(AR):' \
- -e "/^LIBPATH/s:/lib:/$(get_libdir):" \
- makefile || die "Fixing makefile failed"
- tc-export AR CC
-}
-
-src_install() {
- default
- dodoc changes.txt pb.pdf
- docinto demo
- dodoc demo/demo.c
-}
diff --git a/dev-libs/libtompoly/libtompoly-0.04-r2.ebuild b/dev-libs/libtompoly/libtompoly-0.04-r2.ebuild
new file mode 100644
index 000000000000..8199bd6ce0cd
--- /dev/null
+++ b/dev-libs/libtompoly/libtompoly-0.04-r2.ebuild
@@ -0,0 +1,37 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit toolchain-funcs
+
+DESCRIPTION="Portable ISO C library for polynomial basis arithmetic"
+HOMEPAGE="https://www.libtom.net/"
+SRC_URI="https://github.com/libtom/libtompoly/releases/download/${PV}/ltp-${PV}.tar.bz2"
+
+LICENSE="|| ( public-domain WTFPL-2 )"
+SLOT="0"
+KEYWORDS="amd64 ppc x86"
+
+DEPEND="dev-libs/libtommath"
+RDEPEND="${DEPEND}"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-0.04-Fix-Wimplicit-function-declaration.patch
+)
+
+src_prepare() {
+ default
+ sed -i \
+ -e 's:\<ar\>:$(AR):' \
+ -e "/^LIBPATH/s:/lib:/$(get_libdir):" \
+ makefile || die "Fixing makefile failed"
+ tc-export AR CC
+}
+
+src_install() {
+ default
+ dodoc changes.txt pb.pdf
+ docinto demo
+ dodoc demo/demo.c
+}
diff --git a/dev-libs/libtpms/Manifest b/dev-libs/libtpms/Manifest
index 04de1f7e43a9..b2530480bc0a 100644
--- a/dev-libs/libtpms/Manifest
+++ b/dev-libs/libtpms/Manifest
@@ -1 +1 @@
-DIST libtpms-0.9.1.tar.gz 1261528 BLAKE2B 8a81fbea7dff44fe55da048f5121511c22ce264aaa64778ec28b6e55be64677f46f8266bed9edaeb57605ccede755ddfa7463a10e8fc806a86ea09d7a1f9283e SHA512 15ae14bca4ac24391ba06accae37d7e914e410ac9dc1aeae0743295371c9a0e0851f191c55bffb765cb731e8d397188be6441d2b6c1f5011b56a354428c4dad1
+DIST libtpms-0.9.6.tar.gz 1264338 BLAKE2B 7b127ef370a48214814bb9ad0e8461ed0af21f32ab84f243945980c5e36ba5e374b4de7a83bf9c67c29264609063d48eae2dae83832daed70170bb1ed39eafea SHA512 35f26e4849eb98cd73461aff439c19f77bbbcde9b7661402e3d419354c4dcddd057349c4f7178573f1ceea2e95326498eb9afea3bd48064bbff534fc7f6939c3
diff --git a/dev-libs/libtpms/files/libtpms-0.9.5-slibtool.patch b/dev-libs/libtpms/files/libtpms-0.9.5-slibtool.patch
new file mode 100644
index 000000000000..7e83434db151
--- /dev/null
+++ b/dev-libs/libtpms/files/libtpms-0.9.5-slibtool.patch
@@ -0,0 +1,52 @@
+Bug: https://bugs.gentoo.org/858671
+Upstream-PR: https://github.com/stefanberger/libtpms/pull/344
+Upstream-Commit: https://github.com/stefanberger/libtpms/commit/0c2bc32a21e2c7218faa8cd6d5cf31b13835e6d5
+
+From 343f1b21b36fe98daf31c355ebc12902ba7e162a Mon Sep 17 00:00:00 2001
+From: orbea <orbea@riseup.net>
+Date: Fri, 15 Jul 2022 17:02:43 -0700
+Subject: [PATCH] tests: Fix the build with slibtool
+
+When building the tests with `make check` and slibtool the tests will
+then all fail to load libtpms.so.0.
+
+ $ ./base64decode
+ /tmp/libtpms/tests/.libs/base64decode: error while loading shared libraries: libtpms.so.0: cannot open shared object file: No such file or directory
+
+This happens because they are linked with -ltpms rather than the
+libtpms.la file which has unexpected results with slibtool. GNU libtool
+does some magic to make this work while slibtool fails to link the
+dependency.
+
+The correct way to link internal dependencies is directly with the
+libtool archive (.la) files where the -lfoo linker flags should be only
+used with external dependencies. Additionally -no-undefined is added to
+the LDFLAGS to ensure there aren't undefined references in the future.
+
+Note:
+
+* This doesn't happen if libtpms is installed to the system and the tests
+ find the already installs libtpms rather than the newly built library.
+
+* GNU libtool silently ignores -no-undefined, but slibtool will respect
+ it.
+
+Signed-off-by: orbea <orbea@riseup.net>
+---
+ tests/Makefile.am | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/tests/Makefile.am b/tests/Makefile.am
+index eb23c59a4..d3d831938 100644
+--- a/tests/Makefile.am
++++ b/tests/Makefile.am
+@@ -10,7 +10,8 @@ TESTS_ENVIRONMENT = \
+ abs_top_srcdir=`cd '$(top_srcdir)'; pwd`
+
+ AM_CFLAGS = -I$(top_srcdir)/include $(SANITIZERS)
+-AM_LDFLAGS = -ltpms -L$(top_builddir)/src/.libs $(SANITIZERS)
++AM_LDFLAGS = -no-undefined $(SANITIZERS)
++LDADD = $(top_builddir)/src/libtpms.la
+
+ check_PROGRAMS = \
+ base64decode
diff --git a/dev-libs/libtpms/libtpms-0.9.1.ebuild b/dev-libs/libtpms/libtpms-0.9.1.ebuild
deleted file mode 100644
index 0eed7e6454dd..000000000000
--- a/dev-libs/libtpms/libtpms-0.9.1.ebuild
+++ /dev/null
@@ -1,47 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit autotools
-
-DESCRIPTION="Library providing software emultion of a TPM"
-HOMEPAGE="https://github.com/stefanberger/libtpms"
-SRC_URI="https://github.com/stefanberger/libtpms/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~x86"
-
-DEPEND="dev-libs/openssl:="
-RDEPEND="${DEPEND}"
-BDEPEND="virtual/pkgconfig"
-
-PATCHES=(
- "${FILESDIR}/${PN}-0.9.0-Remove-WError.patch"
-)
-
-src_prepare() {
- default
- eautoreconf
-}
-
-src_configure() {
- econf \
- --with-openssl
-}
-
-src_install() {
- default
- find "${ED}" -name '*.la' -delete || die
-}
-
-pkg_postinst() {
- if [[ ${REPLACING_VERSIONS} ]] && ver_test ${REPLACING_VERSIONS} -lt 0.8.0; then
- elog "Versions of libtpms prior to 0.8.0 generate weaker than expected TPM 2.0 RSA"
- elog "keys due to a flawed key creation algorithm. Because fixing this would render"
- elog "existing sealed data inaccessible, to use the corrected algorithm, the old"
- elog "TPM state file must be deleted and a new TPM state file created. Data still"
- elog "sealed using the old state file will be permanently inaccessible. For the"
- elog "details see https://github.com/stefanberger/libtpms/issues/183"
- fi
-}
diff --git a/dev-libs/libtpms/libtpms-0.9.6.ebuild b/dev-libs/libtpms/libtpms-0.9.6.ebuild
new file mode 100644
index 000000000000..b78b99d4a24a
--- /dev/null
+++ b/dev-libs/libtpms/libtpms-0.9.6.ebuild
@@ -0,0 +1,48 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools
+
+DESCRIPTION="Library providing software emultion of a TPM"
+HOMEPAGE="https://github.com/stefanberger/libtpms"
+SRC_URI="https://github.com/stefanberger/libtpms/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 arm arm64 ~loong ~ppc ppc64 ~riscv x86"
+
+DEPEND="dev-libs/openssl:="
+RDEPEND="${DEPEND}"
+BDEPEND="virtual/pkgconfig"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-0.9.0-Remove-WError.patch"
+ "${FILESDIR}/${PN}-0.9.5-slibtool.patch" # 858671
+)
+
+src_prepare() {
+ default
+ eautoreconf
+}
+
+src_configure() {
+ econf \
+ --with-openssl
+}
+
+src_install() {
+ default
+ find "${ED}" -name '*.la' -delete || die
+}
+
+pkg_postinst() {
+ if [[ ${REPLACING_VERSIONS} ]] && ver_test ${REPLACING_VERSIONS} -lt 0.8.0; then
+ elog "Versions of libtpms prior to 0.8.0 generate weaker than expected TPM 2.0 RSA"
+ elog "keys due to a flawed key creation algorithm. Because fixing this would render"
+ elog "existing sealed data inaccessible, to use the corrected algorithm, the old"
+ elog "TPM state file must be deleted and a new TPM state file created. Data still"
+ elog "sealed using the old state file will be permanently inaccessible. For the"
+ elog "details see https://github.com/stefanberger/libtpms/issues/183"
+ fi
+}
diff --git a/dev-libs/libtpms/metadata.xml b/dev-libs/libtpms/metadata.xml
index b22f99269a84..655ec184708d 100644
--- a/dev-libs/libtpms/metadata.xml
+++ b/dev-libs/libtpms/metadata.xml
@@ -13,4 +13,7 @@
<email>virtualization@gentoo.org</email>
<name>Gentoo Virtualization Project</name>
</maintainer>
+ <upstream>
+ <remote-id type="github">stefanberger/libtpms</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/dev-libs/libtracecmd/Manifest b/dev-libs/libtracecmd/Manifest
new file mode 100644
index 000000000000..1f926db9b119
--- /dev/null
+++ b/dev-libs/libtracecmd/Manifest
@@ -0,0 +1 @@
+DIST libtracecmd-1.5.1.tar.gz 357041 BLAKE2B 84410dda0f50d536606727b9c99cd094aad3efbb0410fa78b1973dce4c3c2c7e8fef46614a210b22daa88f56a410b9216acf4d247c054c8c948b4716cb0d7aa5 SHA512 0fa0b6a912164284e6db3c95d99c46e0f6726021fa7f76e531871d6424c0a5d8f316244f75a5c85b06b1cd5aa7349dcb286185fa3a0b36a08c8b7eac38ad8192
diff --git a/dev-libs/libtracecmd/libtracecmd-1.5.1.ebuild b/dev-libs/libtracecmd/libtracecmd-1.5.1.ebuild
new file mode 100644
index 000000000000..69dba2023131
--- /dev/null
+++ b/dev-libs/libtracecmd/libtracecmd-1.5.1.ebuild
@@ -0,0 +1,46 @@
+# Copyright 2019-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit meson
+
+DESCRIPTION="Linux kernel tracecmd library"
+HOMEPAGE="https://git.kernel.org/pub/scm/libs/trace-cmd/trace-cmd.git/"
+
+if [[ ${PV} =~ [9]{4,} ]]; then
+ EGIT_REPO_URI="git://git.kernel.org/pub/scm/utils/trace-cmd/trace-cmd.git/"
+ inherit git-r3
+else
+ SRC_URI="https://git.kernel.org/pub/scm/utils/trace-cmd/trace-cmd.git/snapshot/trace-cmd-${P}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86"
+fi
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+
+RDEPEND="
+ !<dev-util/trace-cmd-3.2
+ dev-libs/libtraceevent
+ dev-libs/libtracefs
+"
+DEPEND="${RDEPEND}
+ sys-kernel/linux-headers
+"
+BDEPEND="app-text/asciidoc"
+
+S="${WORKDIR}/trace-cmd-${P}/lib"
+
+src_configure() {
+ local emesonargs=(
+ -Dasciidoctor=false
+ )
+
+ meson_src_configure
+}
+
+src_install() {
+ meson_src_install
+
+ find "${ED}" -type f -name '*.a' -delete || die
+}
diff --git a/dev-libs/libtracecmd/metadata.xml b/dev-libs/libtracecmd/metadata.xml
new file mode 100644
index 000000000000..5d7fd0571329
--- /dev/null
+++ b/dev-libs/libtracecmd/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>
+ <maintainer type="person">
+ <email>dlan@gentoo.org</email>
+ <name>Yixun Lan</name>
+ </maintainer>
+</pkgmetadata>
diff --git a/dev-libs/libtraceevent/Manifest b/dev-libs/libtraceevent/Manifest
new file mode 100644
index 000000000000..195d6b5bee98
--- /dev/null
+++ b/dev-libs/libtraceevent/Manifest
@@ -0,0 +1,3 @@
+DIST libtraceevent-1.6.3.tar.gz 140072 BLAKE2B 416fa68e2604c3cc71323171b084261e38f08f630a03afda0e2ecc4860c8b08dae10b2abaa2afae54d2b4e382720b43a6616a9ab8599759de102af918eeb24fc SHA512 8064eb18dda6fdbff020759ed92e785b87d34be9ebc30cb6085785edeb8d7252cabf8d33d8738a3ec407672a3d891884d0f0b4c551fce26c76fa8eaf61b9e2f5
+DIST libtraceevent-1.7.2.tar.gz 148242 BLAKE2B 03eae9ea7a8cdf6b015af95031d6fbe8638361f8b0db836f48e9ef47c814465fad583440f80f0103e08758712bd24f7562e1a8678ab24d4a1749a0b88efa7a85 SHA512 aa6d14e6d2e8e64c7d53ba9f93d47331d5f1b5a5a624891ec18a08b0d4e3e82f7845d29957bb3fe4360151bb5870a67c69d5cb1f758bb2956d946221f186546e
+DIST libtraceevent-1.7.3.tar.gz 152363 BLAKE2B dcbca01f2246045f4f2377f91118e2468bca4344686b9e0349d04270543fea5648d5c227bdaf6e716d623bab8d03cec7a869bf67d03ca6a7836014854bbe40b8 SHA512 81302cb24a3fc71e8bd6a0ba975a2699eaa629ac0e90837bf8fc8e23e04156827d19b25544cdb506b0bf76d5f08699264c9ecb979f9218bdee6b0b0e7339b1e0
diff --git a/dev-libs/libtraceevent/libtraceevent-1.6.3.ebuild b/dev-libs/libtraceevent/libtraceevent-1.6.3.ebuild
new file mode 100644
index 000000000000..4be481f862ec
--- /dev/null
+++ b/dev-libs/libtraceevent/libtraceevent-1.6.3.ebuild
@@ -0,0 +1,50 @@
+# Copyright 2019-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit toolchain-funcs
+
+DESCRIPTION="Linux kernel trace event library"
+HOMEPAGE="https://git.kernel.org/pub/scm/libs/libtrace/libtraceevent.git/"
+
+if [[ ${PV} =~ [9]{4,} ]]; then
+ EGIT_REPO_URI="git://git.kernel.org/pub/scm/libs/libtrace/libtraceevent.git/"
+ inherit git-r3
+else
+ SRC_URI="https://git.kernel.org/pub/scm/libs/libtrace/libtraceevent.git/snapshot/${P}.tar.gz"
+ KEYWORDS="amd64 ~arm64 x86"
+fi
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+IUSE="doc"
+
+RDEPEND="
+ !<dev-util/trace-cmd-3.0
+"
+BDEPEND="
+ doc? ( app-text/xmlto app-text/asciidoc )
+"
+
+src_configure() {
+ EMAKE_FLAGS=(
+ "prefix=${EPREFIX}/usr"
+ "libdir=${EPREFIX}/usr/$(get_libdir)"
+ "CC=$(tc-getCC)"
+ "AR=$(tc-getAR)"
+ VERBOSE=1
+ )
+}
+
+src_compile() {
+ emake "${EMAKE_FLAGS[@]}"
+ use doc && emake doc
+}
+
+src_install() {
+ emake "${EMAKE_FLAGS[@]}" DESTDIR="${ED}" install
+ # can't prevent installation of the static lib with parameters
+ rm "${ED}/usr/$(get_libdir)/libtraceevent.a" || die
+ use doc && emake "${EMAKE_FLAGS[@]}" DESTDIR="${ED}" install-doc
+}
diff --git a/dev-libs/libtraceevent/libtraceevent-1.7.2.ebuild b/dev-libs/libtraceevent/libtraceevent-1.7.2.ebuild
new file mode 100644
index 000000000000..7e83bab0bd27
--- /dev/null
+++ b/dev-libs/libtraceevent/libtraceevent-1.7.2.ebuild
@@ -0,0 +1,59 @@
+# Copyright 2019-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit toolchain-funcs
+
+DESCRIPTION="Linux kernel trace event library"
+HOMEPAGE="https://git.kernel.org/pub/scm/libs/libtrace/libtraceevent.git/"
+
+if [[ ${PV} =~ [9]{4,} ]]; then
+ EGIT_REPO_URI="git://git.kernel.org/pub/scm/libs/libtrace/libtraceevent.git/"
+ inherit git-r3
+else
+ SRC_URI="https://git.kernel.org/pub/scm/libs/libtrace/libtraceevent.git/snapshot/${P}.tar.gz"
+ KEYWORDS="~amd64 ~arm64 ~riscv ~x86"
+fi
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+IUSE="doc test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ !<dev-util/trace-cmd-3.0
+"
+BDEPEND="
+ doc? (
+ app-text/asciidoc
+ app-text/xmlto
+ )
+ test? ( dev-util/cunit )
+"
+
+src_configure() {
+ EMAKE_FLAGS=(
+ "prefix=${EPREFIX}/usr"
+ "libdir=${EPREFIX}/usr/$(get_libdir)"
+ "CC=$(tc-getCC)"
+ "AR=$(tc-getAR)"
+ VERBOSE=1
+ )
+}
+
+src_compile() {
+ emake "${EMAKE_FLAGS[@]}"
+ use doc && emake "${EMAKE_FLAGS[@]}" doc
+}
+
+src_test() {
+ emake "${EMAKE_FLAGS[@]}" test
+}
+
+src_install() {
+ emake "${EMAKE_FLAGS[@]}" DESTDIR="${ED}" install
+ # can't prevent installation of the static lib with parameters
+ rm "${ED}/usr/$(get_libdir)/libtraceevent.a" || die
+ use doc && emake "${EMAKE_FLAGS[@]}" DESTDIR="${ED}" install-doc
+}
diff --git a/dev-libs/libtraceevent/libtraceevent-1.7.3.ebuild b/dev-libs/libtraceevent/libtraceevent-1.7.3.ebuild
new file mode 100644
index 000000000000..e19e80f863c1
--- /dev/null
+++ b/dev-libs/libtraceevent/libtraceevent-1.7.3.ebuild
@@ -0,0 +1,47 @@
+# Copyright 2019-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit meson
+
+DESCRIPTION="Linux kernel trace event library"
+HOMEPAGE="https://git.kernel.org/pub/scm/libs/libtrace/libtraceevent.git/"
+
+if [[ ${PV} =~ [9]{4,} ]]; then
+ EGIT_REPO_URI="git://git.kernel.org/pub/scm/libs/libtrace/libtraceevent.git/"
+ inherit git-r3
+else
+ SRC_URI="https://git.kernel.org/pub/scm/libs/libtrace/libtraceevent.git/snapshot/${P}.tar.gz"
+ KEYWORDS="~alpha amd64 arm arm64 ~loong ppc ppc64 ~riscv x86"
+fi
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+IUSE="doc test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ !<dev-util/trace-cmd-3.0
+"
+BDEPEND="
+ app-text/asciidoc
+ app-text/xmlto
+ test? ( dev-util/cunit )
+"
+
+src_configure() {
+ local emesonargs=(
+ -Dasciidoctor=false
+ )
+
+ # TODO: get docs & tests optional upstream
+ meson_src_configure
+}
+
+src_install() {
+ # TODO: get docs & tests optional upstream
+ meson_src_install
+
+ find "${ED}" -type f -name '*.a' -delete || die
+}
diff --git a/dev-libs/libtraceevent/metadata.xml b/dev-libs/libtraceevent/metadata.xml
new file mode 100644
index 000000000000..5d7fd0571329
--- /dev/null
+++ b/dev-libs/libtraceevent/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>
+ <maintainer type="person">
+ <email>dlan@gentoo.org</email>
+ <name>Yixun Lan</name>
+ </maintainer>
+</pkgmetadata>
diff --git a/dev-libs/libtracefs/Manifest b/dev-libs/libtracefs/Manifest
new file mode 100644
index 000000000000..234705e75a8f
--- /dev/null
+++ b/dev-libs/libtracefs/Manifest
@@ -0,0 +1,4 @@
+DIST libtracefs-1.6.1.tar.gz 193086 BLAKE2B 53f6740c7f06e1d618594e03ec7fbda273bbeb87bfda67acfad1e1670fd69670187c7267af1abcd1502c338499dc8d4ffe28a213b3ad17ff5a6e2b435c1c242f SHA512 9fa9b470869bdc0134cc72eb7a9e0131638c3416d24e403c7fc819d49a5e521ca8c852ece4ac87d6a744c32846a2567c44c1e3b8b329f77db2d89e57c9e36340
+DIST libtracefs-1.6.3.tar.gz 193859 BLAKE2B 89029e59590f4e25c5d39d5b638c381e966e8dee055bf7873492a6cdc8b1e1df90cad84a8db4e1abcacbc43fbb23c9fefbdb53123a409a19d07925e7a39efcdb SHA512 273d008644b5d205def79fa8c1db51f21327c02abee16dfc706cfa7ad421be111ac3280b2dd493a8be5f4d9f2fdcb471d7de17e6b3e56df7cb2f1a11b4e1bfaa
+DIST libtracefs-1.6.4.tar.gz 193967 BLAKE2B 24ca0affbd3343429c096795ea25fca6b96c5e806fff197149db290a4b3ed4ad642738a74d395c025b2a5813d9a14ada9b36be8bc0bdbc31d110542fb49ce1ae SHA512 0db20393272ce75c9132fc189993929545f41ac00cc9b0fdbb6adcb4bcda41433f05c047d06d9774f9b00b9e3ed3cfed3879e75365e72c0bb705cf16449e06c4
+DIST libtracefs-1.7.0.tar.gz 205716 BLAKE2B 7e11ed75e65ddfb6e95fa67db2d3a3000e722108b6cb9d8efe7f057bf96afa608f0452e42090dab077b59044d3cbaebf2e4361812b994943964ea611b0ec6a49 SHA512 8b95c798a9013c0278da1c68ab4625446e1cc9d437eed91a6ce16660e7787f0af04ab65ce0dba536039f2facca39c50df5e45335b1af630e7bcce70b584e2f0c
diff --git a/dev-libs/libtracefs/libtracefs-1.6.1-r2.ebuild b/dev-libs/libtracefs/libtracefs-1.6.1-r2.ebuild
new file mode 100644
index 000000000000..e5a02ff37b52
--- /dev/null
+++ b/dev-libs/libtracefs/libtracefs-1.6.1-r2.ebuild
@@ -0,0 +1,55 @@
+# Copyright 2019-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit toolchain-funcs
+
+DESCRIPTION="Linux kernel trace file system library"
+HOMEPAGE="https://git.kernel.org/pub/scm/libs/libtrace/libtracefs.git/"
+
+if [[ ${PV} =~ [9]{4,} ]]; then
+ EGIT_REPO_URI="git://git.kernel.org/pub/scm/libs/libtrace/libtracefs.git/"
+ inherit git-r3
+else
+ SRC_URI="https://git.kernel.org/pub/scm/libs/libtrace/libtracefs.git/snapshot/${P}.tar.gz"
+ KEYWORDS="amd64 ~arm64 ~x86"
+fi
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+IUSE="doc"
+
+RDEPEND="
+ !<dev-util/trace-cmd-3.1.4-r2
+ >=dev-libs/libtraceevent-1.3.0
+"
+DEPEND="${RDEPEND}"
+# source-highlight is needed, see bug https://bugs.gentoo.org/865469
+BDEPEND="
+ virtual/pkgconfig
+ doc? ( app-text/xmlto app-text/asciidoc dev-util/source-highlight )
+"
+
+src_configure() {
+ EMAKE_FLAGS=(
+ "prefix=${EPREFIX}/usr"
+ "libdir=${EPREFIX}/usr/$(get_libdir)"
+ "CC=$(tc-getCC)"
+ "AR=$(tc-getAR)"
+ VERBOSE=1
+ )
+}
+
+src_compile() {
+ emake "${EMAKE_FLAGS[@]}"
+ use doc && emake doc
+}
+
+src_install() {
+ emake "${EMAKE_FLAGS[@]}" DESTDIR="${ED}" install
+ # can't prevent installation of the static lib with parameters
+ rm "${ED}/usr/$(get_libdir)/libtracefs.a" || die
+ # install-doc is wrong target, see https://bugs.gentoo.org/865465
+ use doc && emake "${EMAKE_FLAGS[@]}" DESTDIR="${ED}" install_doc
+}
diff --git a/dev-libs/libtracefs/libtracefs-1.6.3-r2.ebuild b/dev-libs/libtracefs/libtracefs-1.6.3-r2.ebuild
new file mode 100644
index 000000000000..8586159db3f2
--- /dev/null
+++ b/dev-libs/libtracefs/libtracefs-1.6.3-r2.ebuild
@@ -0,0 +1,55 @@
+# Copyright 2019-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit toolchain-funcs
+
+DESCRIPTION="Linux kernel trace file system library"
+HOMEPAGE="https://git.kernel.org/pub/scm/libs/libtrace/libtracefs.git/"
+
+if [[ ${PV} =~ [9]{4,} ]]; then
+ EGIT_REPO_URI="git://git.kernel.org/pub/scm/libs/libtrace/libtracefs.git/"
+ inherit git-r3
+else
+ SRC_URI="https://git.kernel.org/pub/scm/libs/libtrace/libtracefs.git/snapshot/${P}.tar.gz"
+ KEYWORDS="~amd64 ~arm64 ~riscv ~x86"
+fi
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+IUSE="doc"
+
+RDEPEND="
+ !<dev-util/trace-cmd-3.1.4-r2
+ >=dev-libs/libtraceevent-1.3.0
+"
+DEPEND="${RDEPEND}"
+# source-highlight is needed, see bug https://bugs.gentoo.org/865469
+BDEPEND="
+ virtual/pkgconfig
+ doc? ( app-text/xmlto app-text/asciidoc dev-util/source-highlight )
+"
+
+src_configure() {
+ EMAKE_FLAGS=(
+ "prefix=${EPREFIX}/usr"
+ "libdir=${EPREFIX}/usr/$(get_libdir)"
+ "CC=$(tc-getCC)"
+ "AR=$(tc-getAR)"
+ VERBOSE=1
+ )
+}
+
+src_compile() {
+ emake "${EMAKE_FLAGS[@]}"
+ use doc && emake doc
+}
+
+src_install() {
+ emake "${EMAKE_FLAGS[@]}" DESTDIR="${ED}" install
+ # can't prevent installation of the static lib with parameters
+ rm "${ED}/usr/$(get_libdir)/libtracefs.a" || die
+ # install-doc is wrong target, see https://bugs.gentoo.org/865465
+ use doc && emake "${EMAKE_FLAGS[@]}" DESTDIR="${ED}" install_doc
+}
diff --git a/dev-libs/libtracefs/libtracefs-1.6.4-r1.ebuild b/dev-libs/libtracefs/libtracefs-1.6.4-r1.ebuild
new file mode 100644
index 000000000000..0fa9a748d6ad
--- /dev/null
+++ b/dev-libs/libtracefs/libtracefs-1.6.4-r1.ebuild
@@ -0,0 +1,61 @@
+# Copyright 2019-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit toolchain-funcs
+
+DESCRIPTION="Linux kernel trace file system library"
+HOMEPAGE="https://git.kernel.org/pub/scm/libs/libtrace/libtracefs.git/"
+
+if [[ ${PV} =~ [9]{4,} ]]; then
+ EGIT_REPO_URI="git://git.kernel.org/pub/scm/libs/libtrace/libtracefs.git/"
+ inherit git-r3
+else
+ SRC_URI="https://git.kernel.org/pub/scm/libs/libtrace/libtracefs.git/snapshot/${P}.tar.gz"
+ KEYWORDS="~amd64 ~arm64 ~riscv ~x86"
+fi
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+IUSE="doc"
+
+RDEPEND="
+ !<dev-util/trace-cmd-3.1.4-r2
+ >=dev-libs/libtraceevent-1.3.0
+"
+DEPEND="${RDEPEND}"
+# source-highlight is needed, see bug https://bugs.gentoo.org/865469
+BDEPEND="
+ virtual/pkgconfig
+ doc? ( app-text/xmlto app-text/asciidoc dev-util/source-highlight )
+"
+
+src_prepare() {
+ default
+ sed -i -e "s|share/doc/libtracefs-doc|share/doc/libtracefs-${PV}|g" \
+ Documentation/Makefile || die
+}
+
+src_configure() {
+ EMAKE_FLAGS=(
+ "prefix=${EPREFIX}/usr"
+ "libdir=${EPREFIX}/usr/$(get_libdir)"
+ "CC=$(tc-getCC)"
+ "AR=$(tc-getAR)"
+ VERBOSE=1
+ )
+}
+
+src_compile() {
+ emake "${EMAKE_FLAGS[@]}"
+ use doc && emake doc
+}
+
+src_install() {
+ emake "${EMAKE_FLAGS[@]}" DESTDIR="${ED}" install
+ # can't prevent installation of the static lib with parameters
+ rm "${ED}/usr/$(get_libdir)/libtracefs.a" || die
+ # install-doc is wrong target, see https://bugs.gentoo.org/865465
+ use doc && emake "${EMAKE_FLAGS[@]}" DESTDIR="${ED}" install_doc
+}
diff --git a/dev-libs/libtracefs/libtracefs-1.7.0.ebuild b/dev-libs/libtracefs/libtracefs-1.7.0.ebuild
new file mode 100644
index 000000000000..4102ebe264f6
--- /dev/null
+++ b/dev-libs/libtracefs/libtracefs-1.7.0.ebuild
@@ -0,0 +1,51 @@
+# Copyright 2019-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit meson
+
+DESCRIPTION="Linux kernel trace file system library"
+HOMEPAGE="https://git.kernel.org/pub/scm/libs/libtrace/libtracefs.git/"
+
+if [[ ${PV} =~ [9]{4,} ]]; then
+ EGIT_REPO_URI="git://git.kernel.org/pub/scm/libs/libtrace/libtracefs.git/"
+ inherit git-r3
+else
+ SRC_URI="https://git.kernel.org/pub/scm/libs/libtrace/libtracefs.git/snapshot/${P}.tar.gz"
+ KEYWORDS="~alpha amd64 arm arm64 ~loong ppc ppc64 ~riscv x86"
+fi
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+
+# Please double check the minimum libtraceevent version!
+RDEPEND="
+ !<dev-util/trace-cmd-3.1.4-r2
+ >=dev-libs/libtraceevent-1.7.0
+"
+DEPEND="${RDEPEND}"
+# source-highlight is needed, see bug https://bugs.gentoo.org/865469
+BDEPEND="
+ app-text/asciidoc
+ app-text/xmlto
+ dev-util/source-highlight
+ app-alternatives/yacc
+ app-alternatives/lex
+ virtual/pkgconfig
+"
+
+src_configure() {
+ local emesonargs=(
+ -Dasciidoctor=false
+ )
+
+ # TODO: get docs & tests optional upstream
+ meson_src_configure
+}
+
+src_install() {
+ meson_src_install
+
+ find "${ED}" -type f -name '*.a' -delete || die
+}
diff --git a/dev-libs/libtracefs/metadata.xml b/dev-libs/libtracefs/metadata.xml
new file mode 100644
index 000000000000..5d7fd0571329
--- /dev/null
+++ b/dev-libs/libtracefs/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>
+ <maintainer type="person">
+ <email>dlan@gentoo.org</email>
+ <name>Yixun Lan</name>
+ </maintainer>
+</pkgmetadata>
diff --git a/dev-libs/libtreadstone/Manifest b/dev-libs/libtreadstone/Manifest
deleted file mode 100644
index ff404dda21ed..000000000000
--- a/dev-libs/libtreadstone/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST libtreadstone-0.2.0.tar.gz 364127 BLAKE2B 803ae1b61be62b067219198de526bb5e23a2e25f91ca928a7e92a83222f3f921835310f2a101c29309889129d15c872e679e4a5779747db5cdf87473f781406b SHA512 dfa8a592b4dbe8106716160e3108ba62a24e15d9ec827a4086f95db7dc8216c4d571c065f0e6773776693a29cca3aee29991b95f9aafae20d175403374a96014
diff --git a/dev-libs/libtreadstone/libtreadstone-0.2.0.ebuild b/dev-libs/libtreadstone/libtreadstone-0.2.0.ebuild
deleted file mode 100644
index cb7f1d335b75..000000000000
--- a/dev-libs/libtreadstone/libtreadstone-0.2.0.ebuild
+++ /dev/null
@@ -1,27 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-DESCRIPTION="Hyperdex libtreadstone support library"
-HOMEPAGE="http://hyperdex.org"
-SRC_URI="http://hyperdex.org/src/${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64"
-
-IUSE=""
-
-DEPEND=">=dev-libs/libpo6-0.7.0
- >=dev-libs/libe-0.10.0"
-RDEPEND="${DEPEND}"
-
-src_configure() {
- econf --disable-static
-}
-
-src_install() {
- default
- find "${ED}" -name '*.la' -delete || die
-}
diff --git a/dev-libs/libtreadstone/metadata.xml b/dev-libs/libtreadstone/metadata.xml
deleted file mode 100644
index 2ce0e74f9864..000000000000
--- a/dev-libs/libtreadstone/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="person">
- <email>patrick@gentoo.org</email>
- <name>Patrick Lauer</name>
- </maintainer>
-</pkgmetadata>
diff --git a/dev-libs/libtsm/Manifest b/dev-libs/libtsm/Manifest
index 4b06c6611c69..a29ed58ccf33 100644
--- a/dev-libs/libtsm/Manifest
+++ b/dev-libs/libtsm/Manifest
@@ -1 +1 @@
-DIST libtsm-4.0.1.tar.gz 157161 BLAKE2B cba597870d58907e647b9929cf9b97db76b6b38655d56dc3fe0ad0f534db8446cbc82d69a0ec10e58506e001aaf610dee4ab3ecb785b79b2f0571805c04d726e SHA512 28a5ac3d9cf12c4655b3e69ce90b814829ab517f69b88e6339e26dfab6957321a292e96fff687308a39cd16b499e8b29aa133216eb531750e4502a691a907752
+DIST libtsm-4.0.2_p20231223.tar.gz 157342 BLAKE2B 082637022397b210ef95e1a0f827d4d340f60bf7a6f962d4c86087c0c604dea5fe2bd3a9e879008353726a5d6b4588da93b5c68b37501fa47c9c3cccf10de431 SHA512 f428969b8e108159671c6bb10898dcf07e829b7f2118e52331ca48d5f0efc212c14e42f5ac909adda5c5473980341828d085043687636c378f598479d7cb37ef
diff --git a/dev-libs/libtsm/files/libtsm-4.0.1-cmake.patch b/dev-libs/libtsm/files/libtsm-cmake.patch
index eae34cf1aca8..eae34cf1aca8 100644
--- a/dev-libs/libtsm/files/libtsm-4.0.1-cmake.patch
+++ b/dev-libs/libtsm/files/libtsm-cmake.patch
diff --git a/dev-libs/libtsm/libtsm-4.0.1.ebuild b/dev-libs/libtsm/libtsm-4.0.1.ebuild
deleted file mode 100644
index 29e150fe9c61..000000000000
--- a/dev-libs/libtsm/libtsm-4.0.1.ebuild
+++ /dev/null
@@ -1,17 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit cmake
-
-DESCRIPTION="Terminal Emulator State Machine"
-HOMEPAGE="https://github.com/Aetf/libtsm"
-SRC_URI="https://github.com/Aetf/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="LGPL-2.1 MIT"
-SLOT="0/4"
-KEYWORDS="~amd64 ~x86"
-IUSE=""
-
-PATCHES=( "${FILESDIR}/${P}-cmake.patch" )
diff --git a/dev-libs/libtsm/libtsm-4.0.2_p20231223.ebuild b/dev-libs/libtsm/libtsm-4.0.2_p20231223.ebuild
new file mode 100644
index 000000000000..c40acccb78a9
--- /dev/null
+++ b/dev-libs/libtsm/libtsm-4.0.2_p20231223.ebuild
@@ -0,0 +1,19 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+COMMIT="69922bde02c7af83b4d48a414cc6036af7388626"
+
+DESCRIPTION="Terminal Emulator State Machine"
+HOMEPAGE="https://github.com/Aetf/libtsm"
+SRC_URI="https://github.com/Aetf/${PN}/archive/${COMMIT}.tar.gz -> ${P}.tar.gz"
+S=${WORKDIR}/${PN}-${COMMIT}
+
+LICENSE="LGPL-2.1 MIT"
+SLOT="0/4"
+KEYWORDS="~amd64 ~x86"
+
+PATCHES=( "${FILESDIR}/${PN}-cmake.patch" )
diff --git a/dev-libs/libtsm/metadata.xml b/dev-libs/libtsm/metadata.xml
index da20bb112a7c..b1ad7b5b71bf 100644
--- a/dev-libs/libtsm/metadata.xml
+++ b/dev-libs/libtsm/metadata.xml
@@ -5,4 +5,7 @@
<email>bkohler@gentoo.org</email>
<name>Ben Kohler</name>
</maintainer>
+<upstream>
+ <remote-id type="github">Aetf/libtsm</remote-id>
+</upstream>
</pkgmetadata>
diff --git a/dev-libs/libtubo/Manifest b/dev-libs/libtubo/Manifest
deleted file mode 100644
index 5725a55bc138..000000000000
--- a/dev-libs/libtubo/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST libtubo0-5.0.15.tar.bz2 389945 BLAKE2B c43122bbba766da40130ea06e3209be47c42003ea2955b66c10d94f2e977d573040d0d7c41485b403a471966ff077033c9e4de0d3561ad73eb9b78cf79074014 SHA512 148147ef30b4f803ed3e45d07b85ce9fe68750938fd6a1f5e87f08e1da41d633b99934f0766ba0f62c793bd664ab43335e273068bbae1d2fe06f0cc9825d1d98
diff --git a/dev-libs/libtubo/libtubo-5.0.15.ebuild b/dev-libs/libtubo/libtubo-5.0.15.ebuild
deleted file mode 100644
index c6feb05d374e..000000000000
--- a/dev-libs/libtubo/libtubo-5.0.15.ebuild
+++ /dev/null
@@ -1,27 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-MY_P=${PN}0-${PV}
-
-DESCRIPTION="small and simple interprocess communication library"
-HOMEPAGE="http://xffm.org/libtubo"
-SRC_URI="mirror://sourceforge/xffm/${PN}/${MY_P}.tar.bz2"
-
-LICENSE="GPL-3"
-SLOT="0"
-KEYWORDS="amd64 x86"
-
-BDEPEND="virtual/pkgconfig"
-
-S="${WORKDIR}"/${MY_P}
-
-src_configure() {
- econf --disable-static
-}
-
-src_install() {
- default
- find "${ED}" -name '*.la' -delete || die
-}
diff --git a/dev-libs/libtubo/metadata.xml b/dev-libs/libtubo/metadata.xml
deleted file mode 100644
index 99052ec6f8d2..000000000000
--- a/dev-libs/libtubo/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-needed-->
- <upstream>
- <remote-id type="sourceforge">xffm</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/dev-libs/libucl/Manifest b/dev-libs/libucl/Manifest
index a4cbed7b873c..e934da0c046a 100644
--- a/dev-libs/libucl/Manifest
+++ b/dev-libs/libucl/Manifest
@@ -1 +1,2 @@
DIST libucl-0.8.1.tar.gz 2028394 BLAKE2B 18fda317b4b4aed3d6b72c599d191f141bf4722d1c08244deda9c5e77300e2bef7de029889a05d9b4573472928d9d49a797123ac392a4cdd3b690ac277ad673d SHA512 36a059561eadb2dd7253ca22ff56f6a0c6cdd28580e28451c0cf47e1aec321a2e1589fc83ccb2033346f2dbca31a7e6afa9666ea544a0c190b7f80ed0e9f45af
+DIST libucl-0.9.0.tar.gz 2043656 BLAKE2B eb2aeb1a818caffbadee9e351d144cc58d149b88e171750e1edfb679c9a42d1c0e8ef2a2dac763445e215370a359791f65364658d3d138e2262a46eba341c0f1 SHA512 a7bcb03dc3b5e3b8e5c141fb3edee0c749e20d63ad69fba4d3c6ca56ef56b1130287b0f497de37bf9789c2263a46121c662fedc7a870354c2849d2e14d90cab5
diff --git a/dev-libs/libucl/files/libucl-0.8.1-openssl-1.1.1.patch b/dev-libs/libucl/files/libucl-0.8.1-openssl-1.1.1.patch
new file mode 100644
index 000000000000..f10f882acc6b
--- /dev/null
+++ b/dev-libs/libucl/files/libucl-0.8.1-openssl-1.1.1.patch
@@ -0,0 +1,39 @@
+https://bugs.gentoo.org/797364
+https://github.com/vstakhov/libucl/commit/c7141327180cff73904b28f04cfdb604fc7d0773
+
+From c7141327180cff73904b28f04cfdb604fc7d0773 Mon Sep 17 00:00:00 2001
+From: Alexandru Guzinschi <alex@gentle.ro>
+Date: Fri, 11 Sep 2020 11:41:54 +0300
+Subject: [PATCH] fix: Changed OpenSSL check inside configure.am
+
+In OpenSSL 1.1.0 the `EVP_MD_CTX_create()` and `EVP_MD_CTX_destroy()`
+functions were renamed to `EVP_MD_CTX_new()` and `EVP_MD_CTX_free()`.
+Because a check for `EVP_MD_CTX_create()` was in place inside
+configure.am, building with newer OpenSSL versions could not be done.
+
+Checking for `EVP_MD_CTX_create` function from configure.am was
+replaced with a check for `CRYPTO_new_ex_data()` function.
+
+Because a [compatibility layer][1] was introduced in OpenSSL 1.1.0,
+no code changes are necessary.
+
+Fixes: #203
+
+[1]: https://github.com/openssl/openssl/blob/OpenSSL_1_1_0/include/openssl/evp.h#L500-L502
+--- a/configure.ac
++++ b/configure.ac
+@@ -73,11 +73,11 @@ AC_ARG_ENABLE([utils],
+ AM_CONDITIONAL([UTILS], [test x$utils = xtrue])
+
+ AS_IF([test "x$enable_signatures" = "xyes"], [
+- AC_SEARCH_LIBS([EVP_MD_CTX_create], [crypto], [
++ AC_SEARCH_LIBS([CRYPTO_new_ex_data], [crypto], [
+ AC_DEFINE(HAVE_OPENSSL, 1, [Define to 1 if you have the 'crypto' library (-lcrypto).])
+ LIBCRYPTO_LIB="-lcrypto"
+ LIBS_EXTRA="${LIBS_EXTRA} -lcrypto"
+- ], [AC_MSG_ERROR([unable to find the EVP_MD_CTX_create() function])])
++ ], [AC_MSG_ERROR([unable to find the CRYPTO_new_ex_data() function])])
+ ])
+ AC_SUBST(LIBCRYPTO_LIB)
+ AC_PATH_PROG(PANDOC, pandoc, [/non/existent])
+
diff --git a/dev-libs/libucl/files/libucl-0.9.0-gchar-compile.patch b/dev-libs/libucl/files/libucl-0.9.0-gchar-compile.patch
new file mode 100644
index 000000000000..9ec9105276c1
--- /dev/null
+++ b/dev-libs/libucl/files/libucl-0.9.0-gchar-compile.patch
@@ -0,0 +1,36 @@
+Merged as: https://github.com/vstakhov/libucl/commit/708f5e21e3d85f56cdcbcbc418d8725f53bf390b
+From: Vsevolod Stakhov <vsevolod@rspamd.com>
+Date: Tue, 6 Feb 2024 15:59:48 +0000
+Subject: [PATCH] Fix lua compile issues
+
+Issue: #282
+--- a/lua/lua_ucl.c
++++ b/lua/lua_ucl.c
+@@ -406,7 +406,6 @@ ucl_object_lua_fromtable (lua_State *L, int idx, ucl_string_flags_t flags)
+
+ /* Table iterate */
+ if (is_array) {
+- int i;
+
+ if (!is_implicit) {
+ top = ucl_object_typed_new (UCL_ARRAY);
+@@ -416,7 +415,7 @@ ucl_object_lua_fromtable (lua_State *L, int idx, ucl_string_flags_t flags)
+ top = NULL;
+ }
+
+- for (i = 1; i <= max; i ++) {
++ for (size_t i = 1; i <= max; i ++) {
+ lua_pushinteger (L, i);
+ lua_gettable (L, idx);
+
+@@ -886,8 +885,8 @@ lua_ucl_parser_parse_text (lua_State *L)
+ t = lua_touserdata (L, 2);
+ }
+ else if (lua_type (L, 2) == LUA_TSTRING) {
+- const gchar *s;
+- gsize len;
++ const char *s;
++ size_t len;
+ static struct _rspamd_lua_text st_t;
+
+ s = lua_tolstring (L, 2, &len);
diff --git a/dev-libs/libucl/libucl-0.8.1-r100.ebuild b/dev-libs/libucl/libucl-0.8.1-r100.ebuild
index 2eb9fa97c158..7452ade35ada 100644
--- a/dev-libs/libucl/libucl-0.8.1-r100.ebuild
+++ b/dev-libs/libucl/libucl-0.8.1-r100.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
@@ -35,6 +35,14 @@ RDEPEND="${DEPEND}"
DOCS=( README.md doc/api.md )
+PATCHES=(
+ "${FILESDIR}"/${P}-openssl-1.1.1.patch
+)
+
+pkg_setup() {
+ use lua && lua_pkg_setup
+}
+
src_prepare() {
default
rm tests/schema/{definitions,ref{,Remote}}.json || die
@@ -42,8 +50,6 @@ src_prepare() {
}
src_configure() {
- use lua && lua_setup
-
local myeconfargs=(
"$(use_enable lua)"
"$(use_enable regex)"
@@ -58,10 +64,6 @@ src_configure() {
econf "${myeconfargs[@]}"
}
-src_test() {
- emake check
-}
-
src_install() {
default
use lua && DOCS+=( "doc/lua_api.md" )
diff --git a/dev-libs/libucl/libucl-0.9.0.ebuild b/dev-libs/libucl/libucl-0.9.0.ebuild
new file mode 100644
index 000000000000..86d714ebb85a
--- /dev/null
+++ b/dev-libs/libucl/libucl-0.9.0.ebuild
@@ -0,0 +1,74 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+LUA_COMPAT=( lua5-{1..3} )
+inherit lua-single autotools
+
+DESCRIPTION="Universal configuration library parser"
+HOMEPAGE="https://github.com/vstakhov/libucl"
+
+if [[ ${PV} == 9999 ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/vstakhov/libucl.git"
+else
+ SRC_URI="https://github.com/vstakhov/libucl/archive/${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~amd64 ~x86"
+fi
+
+LICENSE="BSD-2"
+SLOT="0/9"
+IUSE="lua +regex sign urls +utils static-libs test"
+REQUIRED_USE="lua? ( ${LUA_REQUIRED_USE} )"
+RESTRICT="!test? ( test )"
+
+DEPEND="!!dev-libs/ucl
+ lua? ( ${LUA_DEPS} )
+ urls? ( net-misc/curl )
+ sign? ( dev-libs/openssl:0= )
+"
+BDEPEND="${DEPEND}
+ virtual/pkgconfig
+"
+RDEPEND="${DEPEND}"
+
+DOCS=( README.md doc/api.md )
+
+PATCHES=(
+ "${FILESDIR}"/${P}-gchar-compile.patch
+)
+
+pkg_setup() {
+ use lua && lua-single_pkg_setup
+}
+
+src_prepare() {
+ default
+ eautoreconf
+}
+
+src_configure() {
+ local myeconfargs=(
+ "$(use_enable lua)"
+ "$(use_enable regex)"
+ "$(use_enable sign signatures)"
+ "$(use_enable urls)"
+ "$(use_enable utils)"
+ )
+ use lua && myeconfargs+=(
+ LUA_INCLUDE="$(lua_get_CFLAGS)"
+ LIB_LIBS="$(lua_get_LIBS)"
+ )
+ econf "${myeconfargs[@]}"
+}
+
+src_install() {
+ default
+ use lua && DOCS+=( "doc/lua_api.md" )
+ einstalldocs
+ if ! use static-libs; then
+ find "${ED}" \( -name "*.a" -o -name "*.la" \) -delete || \
+ die "error while deleting static library"
+ fi
+}
diff --git a/dev-libs/libucl/libucl-9999.ebuild b/dev-libs/libucl/libucl-9999.ebuild
index 2eb9fa97c158..3c35afc0af65 100644
--- a/dev-libs/libucl/libucl-9999.ebuild
+++ b/dev-libs/libucl/libucl-9999.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
LUA_COMPAT=( lua5-{1..3} )
inherit lua-single autotools
@@ -18,7 +18,7 @@ else
fi
LICENSE="BSD-2"
-SLOT="0"
+SLOT="0/9"
IUSE="lua +regex sign urls +utils static-libs test"
REQUIRED_USE="lua? ( ${LUA_REQUIRED_USE} )"
RESTRICT="!test? ( test )"
@@ -35,15 +35,16 @@ RDEPEND="${DEPEND}"
DOCS=( README.md doc/api.md )
+pkg_setup() {
+ use lua && lua-single_pkg_setup
+}
+
src_prepare() {
default
- rm tests/schema/{definitions,ref{,Remote}}.json || die
eautoreconf
}
src_configure() {
- use lua && lua_setup
-
local myeconfargs=(
"$(use_enable lua)"
"$(use_enable regex)"
@@ -58,10 +59,6 @@ src_configure() {
econf "${myeconfargs[@]}"
}
-src_test() {
- emake check
-}
-
src_install() {
default
use lua && DOCS+=( "doc/lua_api.md" )
diff --git a/dev-libs/libucl/metadata.xml b/dev-libs/libucl/metadata.xml
index d056ebb457ee..9b920e38934c 100644
--- a/dev-libs/libucl/metadata.xml
+++ b/dev-libs/libucl/metadata.xml
@@ -15,4 +15,7 @@
<flag name="urls">Enable URLs fetch</flag>
<flag name="utils">Install utils for checking other configs</flag>
</use>
+ <upstream>
+ <remote-id type="github">vstakhov/libucl</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/dev-libs/libudfread/Manifest b/dev-libs/libudfread/Manifest
index dffe0c119ee2..6bda96d9380a 100644
--- a/dev-libs/libudfread/Manifest
+++ b/dev-libs/libudfread/Manifest
@@ -1,3 +1 @@
-DIST libudfread-1.1.0.tar.gz 33506 BLAKE2B e7fab72ebecb372c54af77b4907e53f77a5503af66e129bd2083ef7f4209ebfbed163ffd552e32b7181829664fff6ab82a1cdf00c81dc6f3cc6bfc8fa7242f6e SHA512 340a03fe90d26a8a5c78e1e4f558a0b448a14332a661494f44af7de3e6c98cd219125e19f69d2a611ecb4870648a5d5b55d794e665eb8ec4192c0b499a0701ed
-DIST libudfread-1.1.1.tar.gz 33546 BLAKE2B 2a9781d2db569ca5787b0fa27b75b790d21b78454727f7377fde511abe2426912d44fd14fc6954b59e8a6b152a1f4ca95dc0b4759cc7472490f42c0158e1f418 SHA512 7c7a4553f2cea82a4496799376380ba75285b82cdf37e701d28d723d760e936b7e625223cd162bccc5c65aca3ef721c6af839bd4c75928237cb3c77eaaeb23db
DIST libudfread-1.1.2.tar.gz 33744 BLAKE2B 1801d84a0ca38410a78f23e7d44f37e6d53346753c853df2e7380d259ce1ae7f0c712825b95a5753ad0bc6360cfffe1888b9e7bc30da8b84549e0f1198248f61 SHA512 3069feb5db40288beb5b112b285186162a704f0fdd3cf67a17fd4eeea015f2cfcfbb455b7aa7c3d79d00fd095a3fd11cffc7b121dce94d99c3b06a509a8977d2
diff --git a/dev-libs/libudfread/libudfread-1.1.0.ebuild b/dev-libs/libudfread/libudfread-1.1.0.ebuild
deleted file mode 100644
index f4fb055b98c6..000000000000
--- a/dev-libs/libudfread/libudfread-1.1.0.ebuild
+++ /dev/null
@@ -1,37 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit autotools multilib-minimal
-
-if [[ ${PV} == *9999 ]] ; then
- EGIT_REPO_URI="https://code.videolan.org/videolan/${PN}.git"
- inherit git-r3
-else
- SRC_URI="https://code.videolan.org/videolan/libudfread/-/archive/${PV}/${P}.tar.gz"
- KEYWORDS="~amd64 ~arm ~arm64 ~x86"
-fi
-
-DESCRIPTION="Library for reading UDF from raw devices and image files"
-HOMEPAGE="https://code.videolan.org/videolan/libudfread/"
-
-LICENSE="LGPL-2.1+"
-SLOT="0"
-IUSE="static-libs"
-
-src_prepare() {
- default
- eautoreconf
-}
-
-multilib_src_configure() {
- ECONF_SOURCE="${S}" econf
-}
-
-multilib_src_install_all() {
- find "${D}" -name '*.la' -delete || die
- if ! use static-libs ; then
- find "${D}" -name '*.a' -delete || die
- fi
-}
diff --git a/dev-libs/libudfread/libudfread-1.1.1.ebuild b/dev-libs/libudfread/libudfread-1.1.1.ebuild
deleted file mode 100644
index bff247f809fb..000000000000
--- a/dev-libs/libudfread/libudfread-1.1.1.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
-
-inherit autotools multilib-minimal
-
-if [[ ${PV} == *9999 ]] ; then
- EGIT_REPO_URI="https://code.videolan.org/videolan/${PN}.git"
- inherit git-r3
-else
- SRC_URI="https://code.videolan.org/videolan/libudfread/-/archive/${PV}/${P}.tar.gz"
- KEYWORDS="amd64 ~arm arm64 x86"
-fi
-
-DESCRIPTION="Library for reading UDF from raw devices and image files"
-HOMEPAGE="https://code.videolan.org/videolan/libudfread/"
-
-LICENSE="LGPL-2.1+"
-SLOT="0"
-IUSE="static-libs"
-
-src_prepare() {
- default
- eautoreconf
-}
-
-multilib_src_configure() {
- ECONF_SOURCE="${S}" econf
-}
-
-multilib_src_install_all() {
- find "${D}" -name '*.la' -delete || die
- if ! use static-libs ; then
- find "${D}" -name '*.a' -delete || die
- fi
-}
diff --git a/dev-libs/libudfread/libudfread-1.1.2.ebuild b/dev-libs/libudfread/libudfread-1.1.2.ebuild
index 64f9de1791f7..03c046d04323 100644
--- a/dev-libs/libudfread/libudfread-1.1.2.ebuild
+++ b/dev-libs/libudfread/libudfread-1.1.2.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
@@ -10,7 +10,7 @@ if [[ ${PV} == *9999 ]] ; then
inherit git-r3
else
SRC_URI="https://code.videolan.org/videolan/libudfread/-/archive/${PV}/${P}.tar.gz"
- KEYWORDS="amd64 arm arm64 ppc ppc64 ~riscv sparc x86"
+ KEYWORDS="amd64 arm arm64 ~loong ~mips ppc ppc64 ~riscv sparc x86"
fi
DESCRIPTION="Library for reading UDF from raw devices and image files"
diff --git a/dev-libs/libuev/Manifest b/dev-libs/libuev/Manifest
index 865367d6a526..5c410ab36337 100644
--- a/dev-libs/libuev/Manifest
+++ b/dev-libs/libuev/Manifest
@@ -1,2 +1,3 @@
DIST libuev-2.3.2.tar.xz 247784 BLAKE2B 30f9ca2d71c2f05173d4c5863e0dce64e7a77987e3472b11ac5f3ecf677712ddc5fe9e9cc9587f73d6a5acfb716d02dfa744bb301d55b834d44e944bf09f3bd0 SHA512 dccf83ea61dd4841d2b7e1e75b8c46f41607b26aeefd49bc3d594d864408a282c2ff4cf6ff84cf596fe3382c02e53631593f12d5b79afd9f2e57fb9d021b60a8
DIST libuev-2.4.0.tar.xz 281344 BLAKE2B b3bc81205510729b73e52717eb647c37b446d6c947032e09480413a8a52e93b0dc6539189639aca9e045b1c48dcb34e3115c074f41b8f1d716815a8f8a5ac08a SHA512 0f33ca8f8ce43fb746befdc09585db5bfeabc3bd1aac7e336e01ed21baaf58f3ce618feb34e7ef4e692708cc182b09edfa920b43647a7a61dc3c33eaf87d3c31
+DIST libuev-2.4.1.tar.xz 285528 BLAKE2B 4867564adde9a994096413d410ce8beb911089ee6124ecab5ad5325aa7f05a363cbd9fd556305a20b21417f267f2c4683e2c2a534ce855cfcd9d961cfa631494 SHA512 a08aa6a5a92f8059851e4a9881502113fa309ce6398a20f0ae2c33f83e6e0d9e6468b49d6cb76753f470322745b9b309509ed4230bd819cdc023418c8be9a589
diff --git a/dev-libs/libuev/libuev-2.4.0.ebuild b/dev-libs/libuev/libuev-2.4.0.ebuild
index b181b2fb8849..011168732e7f 100644
--- a/dev-libs/libuev/libuev-2.4.0.ebuild
+++ b/dev-libs/libuev/libuev-2.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=7
@@ -9,7 +9,7 @@ SRC_URI="https://github.com/troglobit/${PN}/releases/download/v${PV}/${P}.tar.xz
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~amd64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~x86"
IUSE="static-libs"
src_configure() {
diff --git a/dev-libs/libuev/libuev-2.4.1.ebuild b/dev-libs/libuev/libuev-2.4.1.ebuild
new file mode 100644
index 000000000000..919da37412e8
--- /dev/null
+++ b/dev-libs/libuev/libuev-2.4.1.ebuild
@@ -0,0 +1,24 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DESCRIPTION="Lightweight event loop library for Linux epoll() family APIs"
+HOMEPAGE="https://github.com/troglobit/libuev"
+SRC_URI="https://github.com/troglobit/${PN}/releases/download/v${PV}/${P}.tar.xz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+IUSE="static-libs"
+
+src_configure() {
+ econf --enable-static=$(usex static-libs)
+}
+
+src_install() {
+ default
+
+ find "${ED}" -name '*.la' -delete || die
+ rm "${ED}"/usr/share/doc/${PF}/LICENSE || die
+}
diff --git a/dev-libs/libugpio/libugpio-0.0.7-r1.ebuild b/dev-libs/libugpio/libugpio-0.0.7-r1.ebuild
new file mode 100644
index 000000000000..649d6f40165c
--- /dev/null
+++ b/dev-libs/libugpio/libugpio-0.0.7-r1.ebuild
@@ -0,0 +1,30 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit linux-info
+
+DESCRIPTION="Lib for the use of linux kernel's sysfs gpio interface from C programs"
+HOMEPAGE="https://github.com/mhei/libugpio"
+SRC_URI="https://github.com/mhei/${PN}/releases/download/v${PV}/${P}.tar.bz2"
+
+LICENSE="GPL-3+ LGPL-2.1+"
+SLOT="0"
+KEYWORDS="amd64 ppc ppc64 x86"
+
+CONFIG_CHECK="~CONFIG_GPIO_SYSFS"
+
+src_configure() {
+ local myeconfargs=(
+ --disable-static
+ )
+
+ econf "${myeconfargs[@]}"
+}
+
+src_install() {
+ default
+
+ find "${D}" -name '*.la' -delete || die
+}
diff --git a/dev-libs/libugpio/libugpio-0.0.7.ebuild b/dev-libs/libugpio/libugpio-0.0.7.ebuild
deleted file mode 100644
index f36b3a392322..000000000000
--- a/dev-libs/libugpio/libugpio-0.0.7.ebuild
+++ /dev/null
@@ -1,30 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit linux-info
-
-DESCRIPTION="Lib for the use of linux kernel's sysfs gpio interface from C programs"
-HOMEPAGE="https://github.com/mhei/libugpio"
-SRC_URI="https://github.com/mhei/${PN}/releases/download/v${PV}/${P}.tar.bz2"
-
-LICENSE="GPL-3+ LGPL-2.1+"
-SLOT="0"
-KEYWORDS="amd64 ppc ppc64 x86"
-
-CONFIG_CHECK="~CONFIG_GPIO_SYSFS"
-
-src_configure() {
- local myeconfargs=(
- --disable-static
- )
-
- econf "${myeconfargs[@]}"
-}
-
-src_install() {
- default
-
- find "${D}" -name '*.la' -delete || die
-}
diff --git a/dev-libs/libunibreak/Manifest b/dev-libs/libunibreak/Manifest
index 1131c417eabd..ebde696ff28f 100644
--- a/dev-libs/libunibreak/Manifest
+++ b/dev-libs/libunibreak/Manifest
@@ -1,2 +1,4 @@
-DIST libunibreak-4.3.tar.gz 639886 BLAKE2B ec044b659f1a837b4e6627067b96a6f19ee8302602d635e1e32aab9533486b5cd063aa99114c6443ede9d76d3f382d7492eac8b52b84a4baa2ccd9c2129e79d8 SHA512 4b53fd169912033403b6ca09047b7b928211fab3607ef26070ab731054138b9a291f7d138d3a479f9cde8edb0fabf8da114da68aee32e60cddf45cc3baae1170
-DIST libunibreak-5.0.tar.gz 664105 BLAKE2B 4755f77da7aeece8e43f121e35124f85afa31740394cecc1a192d0b284d8d683765a6a38898f5ffd8a567e2d65a086fdc25a816a77337f242df7be5c14ae6e98 SHA512 33ce584208fea1f2f22dcc49592a467b0fdc04a8b9ed80c97d7ce2058e8d6c919b4a173c9ec3ca38411ffa497d95d2abe207dfc09866f9fcba125867015cf9fb
+DIST libunibreak-5.1.tar.gz 658914 BLAKE2B 005cd37102f4f55616ef0f2273bcb546331f67156c24a003bbb101dc0db091bcb514bffb7cc879f809f6cc71a61674fb722d711d50e55dd8074b01d2d6774d18 SHA512 c7762c0a5212a69de69fde7dcb3281e0d642a27da881337a6b0f71fac84fd097940dc92059d3daaf91dd21ae8b77d835432da058371958d0eb15af30077e2fba
+DIST libunibreak-GraphemeBreakTest.txt 83691 BLAKE2B 5ee2204bd8f4b2bf682f62553832c6f50b542a15b5e8d7d4eda6e35b33d723127a1f5fdb4b8c659ed4c71b5ffa09c5abaf65931116fabe2953193f545efb9a50 SHA512 d619baf8987e7b74c1d6b4b61b25aa7faf17c12b888ffef3f1cab021e668b9767281bdab3161ceaeebaffb758848ae153e01f98801b8a455d86d0d0bcef540ac
+DIST libunibreak-LineBreakTest.txt 1085570 BLAKE2B 306ab92a18e38e021baa887a16e70658afe0ab54458d9f6bfeaeb4b2c4cf4d352025b109f336e7ca65884d354185324fa499590c694297a3aded8aa02edfa56d SHA512 3dfafabd1394d4c31ba7ba11e0eea077fd9260714339959bc82ac8383f74692ece32849a7cd8265387780379bea16e30dd038cd168d118573dede96ce15d578e
+DIST libunibreak-WordBreakTest.txt 297534 BLAKE2B 261e4582feadfda276c404572ddf33b7b91c9803639cae316e1eaa6dfebfaf748116b345838ee08c05e946efea6ec21de3bcf32eb8b69921051dd06bd04d5ce4 SHA512 54a87ffa10a424b690ed226b411aa66ac5e52c6b34e4f361bfc5dfe14f841ff35d76a98691f62f9257b5c2ced0bfb826a55880f64294d271a06fccb52d20e7d3
diff --git a/dev-libs/libunibreak/libunibreak-4.3.ebuild b/dev-libs/libunibreak/libunibreak-4.3.ebuild
deleted file mode 100644
index ddc86f6688d2..000000000000
--- a/dev-libs/libunibreak/libunibreak-4.3.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
-
-DESCRIPTION="Line and word breaking library"
-HOMEPAGE="http://vimgadgets.sourceforge.net/libunibreak/"
-SRC_URI="https://github.com/adah1972/${PN}/releases/download/${PN}_$(ver_rs 1- '_')/${P}.tar.gz"
-
-LICENSE="ZLIB"
-SLOT="0"
-KEYWORDS="amd64 ~arm ~ppc x86"
-IUSE="doc +man static-libs"
-
-# Tests require internet access to www.unicode.org
-RESTRICT="test"
-
-BDEPEND="man? ( app-doc/doxygen )"
-
-src_prepare() {
- if use man; then
- echo 'GENERATE_MAN=YES' >> Doxyfile || die
- echo 'GENERATE_HTML=NO' >> Doxyfile || die
- fi
- default
-}
-
-src_configure() {
- econf $(use_enable static-libs static)
-}
-
-src_compile() {
- default
- if use man; then
- doxygen || die 'doxygen failed'
- pushd "${S}"/doc/man > /dev/null
- mv man3 x || die
- mkdir man3 || die
- for h in graphemebreak linebreak linebreakdef unibreakbase unibreakdef wordbreak; do
- mv x/${h}.h.3 man3/ || die "man ${h} not found"
- done
- rm -rf x || die
- popd > /dev/null
- fi
-}
-
-src_install() {
- use doc && HTML_DOCS=( doc/html/. )
- default
- find "${D}" -name '*.la' -delete || die
- if use man; then
- doman doc/man/man3/*.3
- fi
-}
diff --git a/dev-libs/libunibreak/libunibreak-5.0-r1.ebuild b/dev-libs/libunibreak/libunibreak-5.0-r1.ebuild
deleted file mode 100644
index 71085ecc8001..000000000000
--- a/dev-libs/libunibreak/libunibreak-5.0-r1.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
-
-DESCRIPTION="Line and word breaking library"
-HOMEPAGE="http://vimgadgets.sourceforge.net/libunibreak/"
-SRC_URI="https://github.com/adah1972/${PN}/releases/download/${PN}_$(ver_rs 1- '_')/${P}.tar.gz"
-
-LICENSE="ZLIB"
-SLOT="0/5"
-KEYWORDS="~amd64 ~arm ~ppc ~x86"
-IUSE="doc +man static-libs"
-
-# Tests require internet access to www.unicode.org
-RESTRICT="test"
-
-BDEPEND="man? ( app-doc/doxygen )"
-
-src_prepare() {
- if use man; then
- echo 'GENERATE_MAN=YES' >> Doxyfile || die
- echo 'GENERATE_HTML=NO' >> Doxyfile || die
- fi
- default
-}
-
-src_configure() {
- econf $(use_enable static-libs static)
-}
-
-src_compile() {
- default
- if use man; then
- doxygen || die 'doxygen failed'
- pushd "${S}"/doc/man > /dev/null
- mv man3 x || die
- mkdir man3 || die
- for h in graphemebreak linebreak linebreakdef unibreakbase unibreakdef wordbreak; do
- mv x/${h}.h.3 man3/ || die "man ${h} not found"
- done
- rm -rf x || die
- popd > /dev/null
- fi
-}
-
-src_install() {
- use doc && HTML_DOCS=( doc/html/. )
- default
- find "${D}" -name '*.la' -delete || die
- if use man; then
- doman doc/man/man3/*.3
- fi
-}
diff --git a/dev-libs/libunibreak/libunibreak-5.1.ebuild b/dev-libs/libunibreak/libunibreak-5.1.ebuild
new file mode 100644
index 000000000000..c596121919ed
--- /dev/null
+++ b/dev-libs/libunibreak/libunibreak-5.1.ebuild
@@ -0,0 +1,67 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DESCRIPTION="Line and word breaking library"
+HOMEPAGE="http://vimgadgets.sourceforge.net/libunibreak/"
+SRC_URI="https://github.com/adah1972/${PN}/releases/download/${PN}_$(ver_rs 1- '_')/${P}.tar.gz"
+SRC_URI+="
+ test? (
+ http://www.unicode.org/Public/UNIDATA/auxiliary/LineBreakTest.txt -> ${PN}-LineBreakTest.txt
+ http://www.unicode.org/Public/UNIDATA/auxiliary/WordBreakTest.txt -> ${PN}-WordBreakTest.txt
+ http://www.unicode.org/Public/UNIDATA/auxiliary/GraphemeBreakTest.txt -> ${PN}-GraphemeBreakTest.txt
+ )
+"
+
+LICENSE="ZLIB"
+SLOT="0/5"
+KEYWORDS="amd64 ~arm ~arm64 ~ppc x86"
+IUSE="doc +man static-libs test"
+RESTRICT="!test? ( test )"
+
+BDEPEND="man? ( app-text/doxygen )"
+
+src_prepare() {
+ default
+
+ if use man; then
+ echo 'GENERATE_MAN=YES' >> Doxyfile || die
+ echo 'GENERATE_HTML=NO' >> Doxyfile || die
+ fi
+
+ if use test; then
+ local file
+ for file in LineBreakTest.txt WordBreakTest.txt GraphemeBreakTest.txt ; do
+ ln -s "${DISTDIR}"/${PN}-${file} "${S}"/src/${file} || die
+ done
+ fi
+}
+
+src_configure() {
+ econf $(use_enable static-libs static)
+}
+
+src_compile() {
+ default
+ if use man; then
+ doxygen || die 'doxygen failed'
+ pushd "${S}"/doc/man > /dev/null
+ mv man3 x || die
+ mkdir man3 || die
+ for h in graphemebreak linebreak linebreakdef unibreakbase unibreakdef wordbreak; do
+ mv x/${h}.h.3 man3/ || die "man ${h} not found"
+ done
+ rm -rf x || die
+ popd > /dev/null
+ fi
+}
+
+src_install() {
+ use doc && HTML_DOCS=( doc/html/. )
+ default
+ find "${D}" -name '*.la' -delete || die
+ if use man; then
+ doman doc/man/man3/*.3
+ fi
+}
diff --git a/dev-libs/libunibreak/metadata.xml b/dev-libs/libunibreak/metadata.xml
index 6e8a9edb3969..3618bfe8d2ce 100644
--- a/dev-libs/libunibreak/metadata.xml
+++ b/dev-libs/libunibreak/metadata.xml
@@ -12,4 +12,7 @@
<use>
<flag name="doc">Install html API documentation.</flag>
</use>
+ <upstream>
+ <remote-id type="github">adah1972/libunibreak</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/dev-libs/libuninum/files/libuninum-2.7-64bit.patch b/dev-libs/libuninum/files/libuninum-2.7-64bit.patch
new file mode 100644
index 000000000000..65a8b67389ba
--- /dev/null
+++ b/dev-libs/libuninum/files/libuninum-2.7-64bit.patch
@@ -0,0 +1,37 @@
+--- libuninum-2.7.orig/uninum.c
++++ libuninum-2.7/uninum.c
+@@ -35,11 +35,11 @@
+ */
+
+
+-#define ucslen(x) wcslen((signed long *) x)
+-#define ucscpy(x,y) (UTF32 *)wcscpy((signed long *)x,(signed long *)y)
+-#define ucscat(x,y) (UTF32 *)wcscat((signed long *)x,(signed long *)y)
+-#define ucschr(x,y) (UTF32 *)wcschr((signed long *)x,(signed long)y)
+-#define ucsrchr(x,y) (UTF32 *)wcsrchr((signed long *)x,(signed long)y)
++#define ucslen(x) wcslen((wchar_t *) x)
++#define ucscpy(x,y) (UTF32 *)wcscpy((wchar_t *)x,(wchar_t *)y)
++#define ucscat(x,y) (UTF32 *)wcscat((wchar_t *)x,(wchar_t *)y)
++#define ucschr(x,y) (UTF32 *)wcschr((wchar_t *)x,(wchar_t)y)
++#define ucsrchr(x,y) (UTF32 *)wcsrchr((wchar_t *)x,(wchar_t)y)
+
+ #define UNINUM
+
+--- libuninum-2.7.orig/unicode.h
++++ libuninum-2.7/unicode.h
+@@ -1,8 +1,10 @@
+-typedef unsigned long UTF32; /* at least 32 bits */
+-typedef unsigned short UTF16; /* at least 16 bits */
+-typedef unsigned short UCS2; /* at least 16 bits */
+-typedef unsigned char UTF8; /* 8 bits */
+-typedef unsigned char Boolean; /* 0 or 1 */
++#include <stdint.h>
++
++typedef uint32_t UTF32; /* 32 bits */
++typedef uint16_t UTF16; /* 16 bits */
++typedef uint16_t UCS2; /* 16 bits */
++typedef uint8_t UTF8; /* 8 bits */
++typedef uint8_t Boolean; /* 0 or 1 */
+
+ #define UNI_MAX_ASCII (UTF32)0x0000007F
+ #define UNI_MAX_BMP (UTF32)0x0000FFFF
diff --git a/dev-libs/libuninum/files/libuninum-2.7-c99.patch b/dev-libs/libuninum/files/libuninum-2.7-c99.patch
new file mode 100644
index 000000000000..5e68d8bec148
--- /dev/null
+++ b/dev-libs/libuninum/files/libuninum-2.7-c99.patch
@@ -0,0 +1,30 @@
+Avoid an implicit declaration of exit in the configure script. This
+ensures that the package continues to build with future compilers
+which do not support such implicit declarations by default.
+
+diff --git a/configure b/configure
+index 8fd0eed37cb997de..f5ebc89db38d88f4 100755
+--- a/configure
++++ b/configure
+@@ -4323,8 +4323,8 @@ main ()
+ for (i = 0; i < 256; i++)
+ if (XOR (islower (i), ISLOWER (i))
+ || toupper (i) != TOUPPER (i))
+- exit(2);
+- exit (0);
++ return 2;
++ return 0;
+ }
+ _ACEOF
+ rm -f conftest$ac_exeext
+@@ -18747,8 +18747,8 @@ main ()
+ for (i = 0; i < 256; i++)
+ if (XOR (islower (i), ISLOWER (i))
+ || toupper (i) != TOUPPER (i))
+- exit(2);
+- exit (0);
++ return 2;
++ return 0;
+ }
+ _ACEOF
+ rm -f conftest$ac_exeext
diff --git a/dev-libs/libuninum/libuninum-2.7-r3.ebuild b/dev-libs/libuninum/libuninum-2.7-r3.ebuild
new file mode 100644
index 000000000000..1721edb6fe32
--- /dev/null
+++ b/dev-libs/libuninum/libuninum-2.7-r3.ebuild
@@ -0,0 +1,46 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools flag-o-matic
+
+DESCRIPTION="A library for converting unicode strings to numbers and vice versa"
+HOMEPAGE="https://billposer.org/Software/libuninum.html"
+SRC_URI="https://billposer.org/Software/Downloads/${P}.tar.bz2"
+
+KEYWORDS="amd64 x86"
+LICENSE="GPL-2 GPL-2+ LGPL-2 LGPL-2.1"
+SLOT="0"
+
+RDEPEND="dev-libs/gmp:="
+DEPEND="${RDEPEND}"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-2.7-64bit.patch"
+ "${FILESDIR}/${PN}-2.7-c99.patch"
+)
+
+src_prepare() {
+ default
+
+ # LTO does not work.
+ # See https://bugs.gentoo.org/855956
+ filter-lto
+
+ eautoreconf
+}
+
+src_configure() {
+ local myeconfargs=(
+ --disable-static
+ )
+
+ econf "${myeconfargs[@]}"
+}
+
+src_install() {
+ default
+
+ find "${D}" -name '*.la' -delete || die
+}
diff --git a/dev-libs/libuninum/libuninum-2.7.ebuild b/dev-libs/libuninum/libuninum-2.7.ebuild
deleted file mode 100644
index d13f676205bd..000000000000
--- a/dev-libs/libuninum/libuninum-2.7.ebuild
+++ /dev/null
@@ -1,26 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-DESCRIPTION="A library for converting unicode strings to numbers and vice versa"
-HOMEPAGE="https://billposer.org/Software/libuninum.html"
-SRC_URI="https://billposer.org/Software/Downloads/${P}.tar.bz2"
-
-KEYWORDS="amd64 x86"
-LICENSE="GPL-2 GPL-2+ LGPL-2 LGPL-2.1"
-SLOT="0"
-
-src_configure() {
- local myeconfargs=(
- --disable-static
- )
-
- econf "${myeconfargs[@]}"
-}
-
-src_install() {
- default
-
- find "${D}" -name '*.la' -delete || die
-}
diff --git a/dev-libs/libunique/libunique-1.1.6-r2.ebuild b/dev-libs/libunique/libunique-1.1.6-r2.ebuild
index f68458bd2c1f..220e05249093 100644
--- a/dev-libs/libunique/libunique-1.1.6-r2.ebuild
+++ b/dev-libs/libunique/libunique-1.1.6-r2.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
@@ -12,7 +12,7 @@ HOMEPAGE="https://wiki.gnome.org/Attic/LibUnique"
LICENSE="LGPL-2.1"
SLOT="1"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ppc ppc64 sparc x86 ~amd64-linux ~x86-linux ~x86-solaris"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ppc ppc64 sparc x86 ~amd64-linux ~x86-linux"
IUSE="debug dbus +introspection"
RDEPEND="
@@ -26,12 +26,12 @@ RDEPEND="
"
DEPEND="${RDEPEND}
dev-util/glib-utils
- >=dev-util/gtk-doc-am-1.11
+ >=dev-build/gtk-doc-am-1.11
sys-devel/gettext
virtual/pkgconfig
"
# For eautoreconf
-# dev-util/gtk-doc-am
+# dev-build/gtk-doc-am
PATCHES=(
# Include NUL terminator in unique_message_data_get_filename()
diff --git a/dev-libs/libunique/libunique-1.1.6-r3.ebuild b/dev-libs/libunique/libunique-1.1.6-r3.ebuild
new file mode 100644
index 000000000000..0d8a90e831d9
--- /dev/null
+++ b/dev-libs/libunique/libunique-1.1.6-r3.ebuild
@@ -0,0 +1,65 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+GNOME2_LA_PUNT="yes"
+GNOME_TARBALL_SUFFIX="bz2"
+
+inherit gnome2 virtualx
+
+DESCRIPTION="A library for writing single instance application"
+HOMEPAGE="https://wiki.gnome.org/Attic/LibUnique"
+
+LICENSE="LGPL-2.1"
+SLOT="1"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux"
+IUSE="debug dbus +introspection"
+
+RDEPEND="
+ >=dev-libs/glib-2.12:2
+ >=x11-libs/gtk+-2.11:2[introspection?]
+ x11-libs/libX11
+ dbus? (
+ >=dev-libs/dbus-glib-0.70
+ sys-apps/dbus[X]
+ )
+ introspection? ( >=dev-libs/gobject-introspection-0.6.3:= )
+"
+DEPEND="${RDEPEND}
+ dev-util/glib-utils
+ >=dev-build/gtk-doc-am-1.11
+ sys-devel/gettext
+ virtual/pkgconfig
+"
+# For eautoreconf
+# dev-build/gtk-doc-am
+
+PATCHES=(
+ # Include NUL terminator in unique_message_data_get_filename()
+ "${FILESDIR}/${P}-include-terminator.patch"
+
+ # test-unique: Resolve format string issues
+ "${FILESDIR}/${P}-fix-test.patch"
+
+ # Remove compiler warnings
+ "${FILESDIR}/${P}-compiler-warnings.patch"
+
+ # Remove G_CONST_RETURN usage, now that its gone in glib
+ "${FILESDIR}/${PN}-1.1.6-G_CONST_RETURN.patch"
+)
+
+src_configure() {
+ gnome2_src_configure \
+ --disable-maintainer-flags \
+ --enable-bacon \
+ $(use_enable introspection) \
+ $(usex debug --enable-debug=yes ' ') \
+ $(use_enable dbus)
+}
+
+src_test() {
+ cd "${S}/tests" || die
+ cp "${FILESDIR}/run-tests" . || die "Unable to cp \${FILESDIR}/run-tests"
+ virtx emake -f run-tests
+}
diff --git a/dev-libs/libunique/libunique-3.0.2-r1.ebuild b/dev-libs/libunique/libunique-3.0.2-r1.ebuild
index 7a700c8eb031..973d210fa476 100644
--- a/dev-libs/libunique/libunique-3.0.2-r1.ebuild
+++ b/dev-libs/libunique/libunique-3.0.2-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
@@ -11,7 +11,7 @@ HOMEPAGE="https://wiki.gnome.org/Attic/LibUnique"
LICENSE="LGPL-2.1"
SLOT="3"
-KEYWORDS="~alpha amd64 arm ~arm64 ~hppa ~ia64 ~mips ppc ppc64 sparc x86 ~amd64-linux ~x86-linux ~x86-solaris"
+KEYWORDS="~alpha amd64 arm ~arm64 ~hppa ~ia64 ~mips ppc ppc64 sparc x86 ~amd64-linux ~x86-linux"
IUSE="debug +introspection"
RDEPEND="
@@ -23,11 +23,11 @@ RDEPEND="
"
DEPEND="${RDEPEND}
dev-util/glib-utils
- >=dev-util/gtk-doc-am-1.11
+ >=dev-build/gtk-doc-am-1.11
virtual/pkgconfig
"
# For eautoreconf
-# dev-util/gtk-doc-am
+# dev-build/gtk-doc-am
src_configure() {
# --disable-dbus means gdbus is used instead of dbus-glib
diff --git a/dev-libs/libunique/libunique-3.0.2-r2.ebuild b/dev-libs/libunique/libunique-3.0.2-r2.ebuild
new file mode 100644
index 000000000000..91a4162448a3
--- /dev/null
+++ b/dev-libs/libunique/libunique-3.0.2-r2.ebuild
@@ -0,0 +1,46 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+GNOME2_LA_PUNT="yes"
+
+inherit gnome2 virtualx
+
+DESCRIPTION="A library for writing single instance application"
+HOMEPAGE="https://wiki.gnome.org/Attic/LibUnique"
+
+LICENSE="LGPL-2.1"
+SLOT="3"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux"
+IUSE="debug +introspection"
+
+RDEPEND="
+ >=dev-libs/glib-2.25.7:2
+ sys-apps/dbus[X]
+ >=x11-libs/gtk+-2.90.0:3[introspection?]
+ x11-libs/libX11
+ introspection? ( >=dev-libs/gobject-introspection-0.9.0:= )
+"
+DEPEND="${RDEPEND}
+ dev-util/glib-utils
+ >=dev-build/gtk-doc-am-1.11
+ virtual/pkgconfig
+"
+# For eautoreconf
+# dev-build/gtk-doc-am
+
+src_configure() {
+ # --disable-dbus means gdbus is used instead of dbus-glib
+ gnome2_src_configure \
+ --disable-maintainer-flags \
+ --disable-dbus \
+ $(usex debug --enable-debug=yes ' ') \
+ $(use_enable introspection)
+}
+
+src_test() {
+ cd "${S}/tests" || die
+ cp "${FILESDIR}/run-tests" . || die "Unable to cp \${FILESDIR}/run-tests"
+ virtx emake -f run-tests
+}
diff --git a/dev-libs/libunistring/Manifest b/dev-libs/libunistring/Manifest
index 4cfebedfef8c..26e7ef66e1aa 100644
--- a/dev-libs/libunistring/Manifest
+++ b/dev-libs/libunistring/Manifest
@@ -1 +1,4 @@
-DIST libunistring-0.9.10.tar.gz 3744814 BLAKE2B 3ddc55b8021c0f4822beb83b807bb21dbbf10bbb866747f64e060df3ab822a4143528855e1ce6a13144630bc8daa14f1fa830db77fb605e57cae21d46de804d6 SHA512 690082732fbbd47ab4ffbd6f21d85afece0f8e2ded24982f949f4ae52bf0a981b75ea9bc14ab289e0954cde07f31a7a4c2bb65615a8eb5b2bfa65720310b6fc9
+DIST libunistring-0.9.10.tar.xz 2051320 BLAKE2B 25d162d9d510cc35ad4209acceb9b06bcc0553b8ce56e94f8df12c4df64d91abfc4a9e15b50b5c8d5b9672939305a394a7e83f1892258defb7ae5ac2ccf79dfb SHA512 01dcab6e05ea4c33572bf96cc0558bcffbfc0e62fc86410cef06c1597a0073d5750525fe2dee4fdb39c9bd704557fcbab864f9645958108a2e07950bc539fe54
+DIST libunistring-1.0.tar.xz 2367800 BLAKE2B 8208fe33d4ac2f015b0efb56b0c7dd87afc4bb1c6ca4eb3ded86d7e2101d7b7f68bfd8991af4b6dd408282ec73f134ee0b884e761ff6d52e8a1e398326aec420 SHA512 70d5ad82722844dbeacdfcb4d7593358e4a00a9222a98537add4b7f0bf4a2bb503dfb3cd627e52e2a5ca1d3da9e5daf38a6bd521197f92002e11e715fb1662d1
+DIST libunistring-1.1.tar.xz 2397676 BLAKE2B 721adc90884006480055b95d0fa06cd862417aa02b467f1e14688292ad9c11f1e33520b14ed5dc2d2724c6df8713d3af1e8032014259d8355156cb72edfcb983 SHA512 01a4267bbd301ea5c389b17ee918ae5b7d645da8b2c6c6f0f004ff2dead9f8e50cda2c6047358890a5fceadc8820ffc5154879193b9bb8970f3fb1fea1f411d6
+DIST libunistring-1.2.tar.xz 2502196 BLAKE2B 606c6fdd93f05b01e9b08b3bd30283afcbf9a3425abf900e7672f1d6eb91b51009913d4f5e45a4c1c1b82a84b4870d3eaced9ca76fd570936ad5c39c94038fc7 SHA512 5fbb5a0a864db73a6d18cdea7b31237da907fff0ef288f3a8db6ebdba8ef61ad8855e5fc780c2bbf632218d8fa59dd119734e5937ca64dc77f53f30f13b80b17
diff --git a/dev-libs/libunistring/libunistring-0.9.10-r1.ebuild b/dev-libs/libunistring/libunistring-0.9.10-r1.ebuild
index d1ebd5807547..ae2ec9293f80 100644
--- a/dev-libs/libunistring/libunistring-0.9.10-r1.ebuild
+++ b/dev-libs/libunistring/libunistring-0.9.10-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
@@ -7,11 +7,11 @@ inherit multilib-minimal libtool
DESCRIPTION="Library for manipulating Unicode and C strings according to Unicode standard"
HOMEPAGE="https://www.gnu.org/software/libunistring/"
-SRC_URI="mirror://gnu/${PN}/${P}.tar.gz"
+SRC_URI="mirror://gnu/${PN}/${P}.tar.xz"
-LICENSE="|| ( LGPL-3+ GPL-2+ ) || ( FDL-1.2 GPL-3+ )"
+LICENSE="|| ( LGPL-3+ GPL-2 ) || ( FDL-1.2 GPL-3+ )"
SLOT="0/2"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
IUSE="doc static-libs"
PATCHES=(
diff --git a/dev-libs/libunistring/libunistring-1.0.ebuild b/dev-libs/libunistring/libunistring-1.0.ebuild
new file mode 100644
index 000000000000..564d1b08ffdc
--- /dev/null
+++ b/dev-libs/libunistring/libunistring-1.0.ebuild
@@ -0,0 +1,40 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit multilib-minimal libtool
+
+DESCRIPTION="Library for manipulating Unicode and C strings according to Unicode standard"
+HOMEPAGE="https://www.gnu.org/software/libunistring/"
+SRC_URI="mirror://gnu/${PN}/${P}.tar.xz"
+
+LICENSE="|| ( LGPL-3+ GPL-2+ ) || ( FDL-1.2 GPL-3+ )"
+SLOT="0/2"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+IUSE="doc static-libs"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-nodocs.patch
+)
+
+src_prepare() {
+ default
+ elibtoolize # for Solaris shared libraries
+}
+
+multilib_src_configure() {
+ ECONF_SOURCE="${S}" econf $(use_enable static-libs static)
+}
+
+multilib_src_install_all() {
+ default
+
+ if use doc ; then
+ docinto html
+ dodoc doc/*.html
+ doinfo doc/*.info
+ fi
+
+ find "${ED}" -name '*.la' -delete || die
+}
diff --git a/dev-libs/libunistring/libunistring-1.1-r1.ebuild b/dev-libs/libunistring/libunistring-1.1-r1.ebuild
new file mode 100644
index 000000000000..25e593e719aa
--- /dev/null
+++ b/dev-libs/libunistring/libunistring-1.1-r1.ebuild
@@ -0,0 +1,41 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit multilib-minimal libtool
+
+DESCRIPTION="Library for manipulating Unicode and C strings according to Unicode standard"
+HOMEPAGE="https://www.gnu.org/software/libunistring/"
+SRC_URI="mirror://gnu/${PN}/${P}.tar.xz"
+
+LICENSE="|| ( LGPL-3+ GPL-2+ ) || ( FDL-1.2 GPL-3+ )"
+# Check regularly even on "minor" bumps
+SLOT="0/5"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+IUSE="doc static-libs"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-nodocs.patch
+)
+
+src_prepare() {
+ default
+ elibtoolize # for Solaris shared libraries
+}
+
+multilib_src_configure() {
+ ECONF_SOURCE="${S}" econf $(use_enable static-libs static)
+}
+
+multilib_src_install_all() {
+ default
+
+ if use doc ; then
+ docinto html
+ dodoc doc/*.html
+ doinfo doc/*.info
+ fi
+
+ find "${ED}" -name '*.la' -delete || die
+}
diff --git a/dev-libs/libunistring/libunistring-1.2.ebuild b/dev-libs/libunistring/libunistring-1.2.ebuild
new file mode 100644
index 000000000000..fa766cff69d0
--- /dev/null
+++ b/dev-libs/libunistring/libunistring-1.2.ebuild
@@ -0,0 +1,49 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit multilib-minimal libtool
+
+DESCRIPTION="Library for manipulating Unicode and C strings according to Unicode standard"
+HOMEPAGE="https://www.gnu.org/software/libunistring/"
+SRC_URI="mirror://gnu/${PN}/${P}.tar.xz"
+
+LICENSE="|| ( LGPL-3+ GPL-2+ ) || ( FDL-1.2 GPL-3+ )"
+# Check regularly even on "minor" bumps
+SLOT="0/5"
+KEYWORDS="~alpha amd64 arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+IUSE="doc static-libs"
+
+QA_CONFIG_IMPL_DECL_SKIP=(
+ # bug #900374
+ unreachable
+ MIN
+ static_assert
+ alignof
+)
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-nodocs.patch
+)
+
+src_prepare() {
+ default
+ elibtoolize # for Solaris shared libraries
+}
+
+multilib_src_configure() {
+ ECONF_SOURCE="${S}" econf $(use_enable static-libs static)
+}
+
+multilib_src_install_all() {
+ default
+
+ if use doc ; then
+ docinto html
+ dodoc doc/*.html
+ doinfo doc/*.info
+ fi
+
+ find "${ED}" -name '*.la' -delete || die
+}
diff --git a/dev-libs/libunistring/metadata.xml b/dev-libs/libunistring/metadata.xml
index f92a99d42baf..a4f03123986c 100644
--- a/dev-libs/libunistring/metadata.xml
+++ b/dev-libs/libunistring/metadata.xml
@@ -1,19 +1,23 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
-<maintainer type="project">
- <email>scheme@gentoo.org</email>
- <name>Gentoo Scheme Project</name>
-</maintainer>
-<longdescription lang="en">
- Text files are nowadays usually encoded in Unicode, and may consist of very
- different scripts – from Latin letters to Chinese Hanzi –, with many kinds
- of special characters – accents, right-to-left writing marks, hyphens, Roman
- numbers, and much more. But the POSIX platform APIs for text do not contain
- adequate functions for dealing with particular properties of many Unicode
- characters. In fact, the POSIX APIs for text have several assumptions at
- their base which don't hold for Unicode text.
- This library provides functions for manipulating Unicode strings and for
- manipulating C strings according to the Unicode standard.
-</longdescription>
+ <maintainer type="project">
+ <email>scheme@gentoo.org</email>
+ <name>Gentoo Scheme Project</name>
+ </maintainer>
+ <longdescription>
+ Text files are nowadays usually encoded in Unicode, and may consist of very
+ different scripts – from Latin letters to Chinese Hanzi –, with many kinds
+ of special characters – accents, right-to-left writing marks, hyphens, Roman
+ numbers, and much more. But the POSIX platform APIs for text do not contain
+ adequate functions for dealing with particular properties of many Unicode
+ characters. In fact, the POSIX APIs for text have several assumptions at
+ their base which don't hold for Unicode text.
+ This library provides functions for manipulating Unicode strings and for
+ manipulating C strings according to the Unicode standard.
+ </longdescription>
+ <upstream>
+ <remote-id type="cpe">cpe:/a:gnu:libunistring</remote-id>
+ <remote-id type="savannah">libunistring</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/dev-libs/libusb-compat/Manifest b/dev-libs/libusb-compat/Manifest
index ab3d9e661b2d..638527fb3786 100644
--- a/dev-libs/libusb-compat/Manifest
+++ b/dev-libs/libusb-compat/Manifest
@@ -1 +1 @@
-DIST libusb-compat-0.1.5.tar.bz2 276769 BLAKE2B 66fa89c507d0454a587fa84d2ee2c34428963fa1770b44038fa45063466611ae263a3c790a167e5049393ef4d87073d1b16135d63cd0666256c3430bf36dae49 SHA512 fe63bd1c65e67588a83ebfdd329025ecf75f33f877fb80dd83eb528df057efb591e010416027f9054294504562299166e8e2811a7681fa1967a03baae9b88857
+DIST libusb-compat-0.1.8.tar.bz2 32845 BLAKE2B f590afd539ad20613647b923d69b9fe8ea60b3f5162766a1d840f35e8f56a949f3defa8b1c40ceb8932cf0bf45b3b5097b9ac04a339242a2b906d4ba320e4245 SHA512 817a16a2c7268e0d73add97c06ec3f6e4fc4b8697bd3129bb6f907f138c2a5dccb662096c4cd0385341053b216afd398b21dfef14676777b906972c9e3af4e3e
diff --git a/dev-libs/libusb-compat/files/libusb-0.1-ansi.patch b/dev-libs/libusb-compat/files/libusb-0.1-ansi.patch
deleted file mode 100644
index c04f7172f3ed..000000000000
--- a/dev-libs/libusb-compat/files/libusb-0.1-ansi.patch
+++ /dev/null
@@ -1,188 +0,0 @@
---- a/libusb/usb.h
-+++ b/libusb/usb.h
-@@ -27,8 +27,10 @@
-
- #include <unistd.h>
- #include <stdlib.h>
-+#include <stdint.h>
- #include <limits.h>
-
-+#include <sys/param.h>
- #include <dirent.h>
-
- /*
-@@ -78,40 +80,40 @@
-
- /* All standard descriptors have these 2 fields in common */
- struct usb_descriptor_header {
-- u_int8_t bLength;
-- u_int8_t bDescriptorType;
-+ uint8_t bLength;
-+ uint8_t bDescriptorType;
- };
-
- /* String descriptor */
- struct usb_string_descriptor {
-- u_int8_t bLength;
-- u_int8_t bDescriptorType;
-- u_int16_t wData[1];
-+ uint8_t bLength;
-+ uint8_t bDescriptorType;
-+ uint16_t wData[1];
- };
-
- /* HID descriptor */
- struct usb_hid_descriptor {
-- u_int8_t bLength;
-- u_int8_t bDescriptorType;
-- u_int16_t bcdHID;
-- u_int8_t bCountryCode;
-- u_int8_t bNumDescriptors;
-- /* u_int8_t bReportDescriptorType; */
-- /* u_int16_t wDescriptorLength; */
-+ uint8_t bLength;
-+ uint8_t bDescriptorType;
-+ uint16_t bcdHID;
-+ uint8_t bCountryCode;
-+ uint8_t bNumDescriptors;
-+ /* uint8_t bReportDescriptorType; */
-+ /* uint16_t wDescriptorLength; */
- /* ... */
- };
-
- /* Endpoint descriptor */
- #define USB_MAXENDPOINTS 32
- struct usb_endpoint_descriptor {
-- u_int8_t bLength;
-- u_int8_t bDescriptorType;
-- u_int8_t bEndpointAddress;
-- u_int8_t bmAttributes;
-- u_int16_t wMaxPacketSize;
-- u_int8_t bInterval;
-- u_int8_t bRefresh;
-- u_int8_t bSynchAddress;
-+ uint8_t bLength;
-+ uint8_t bDescriptorType;
-+ uint8_t bEndpointAddress;
-+ uint8_t bmAttributes;
-+ uint16_t wMaxPacketSize;
-+ uint8_t bInterval;
-+ uint8_t bRefresh;
-+ uint8_t bSynchAddress;
-
- unsigned char *extra; /* Extra descriptors */
- int extralen;
-@@ -129,15 +131,15 @@ struct usb_endpoint_descriptor {
- /* Interface descriptor */
- #define USB_MAXINTERFACES 32
- struct usb_interface_descriptor {
-- u_int8_t bLength;
-- u_int8_t bDescriptorType;
-- u_int8_t bInterfaceNumber;
-- u_int8_t bAlternateSetting;
-- u_int8_t bNumEndpoints;
-- u_int8_t bInterfaceClass;
-- u_int8_t bInterfaceSubClass;
-- u_int8_t bInterfaceProtocol;
-- u_int8_t iInterface;
-+ uint8_t bLength;
-+ uint8_t bDescriptorType;
-+ uint8_t bInterfaceNumber;
-+ uint8_t bAlternateSetting;
-+ uint8_t bNumEndpoints;
-+ uint8_t bInterfaceClass;
-+ uint8_t bInterfaceSubClass;
-+ uint8_t bInterfaceProtocol;
-+ uint8_t iInterface;
-
- struct usb_endpoint_descriptor *endpoint;
-
-@@ -155,14 +157,14 @@ struct usb_interface {
- /* Configuration descriptor information.. */
- #define USB_MAXCONFIG 8
- struct usb_config_descriptor {
-- u_int8_t bLength;
-- u_int8_t bDescriptorType;
-- u_int16_t wTotalLength;
-- u_int8_t bNumInterfaces;
-- u_int8_t bConfigurationValue;
-- u_int8_t iConfiguration;
-- u_int8_t bmAttributes;
-- u_int8_t MaxPower;
-+ uint8_t bLength;
-+ uint8_t bDescriptorType;
-+ uint16_t wTotalLength;
-+ uint8_t bNumInterfaces;
-+ uint8_t bConfigurationValue;
-+ uint8_t iConfiguration;
-+ uint8_t bmAttributes;
-+ uint8_t MaxPower;
-
- struct usb_interface *interface;
-
-@@ -172,28 +174,28 @@ struct usb_config_descriptor {
-
- /* Device descriptor */
- struct usb_device_descriptor {
-- u_int8_t bLength;
-- u_int8_t bDescriptorType;
-- u_int16_t bcdUSB;
-- u_int8_t bDeviceClass;
-- u_int8_t bDeviceSubClass;
-- u_int8_t bDeviceProtocol;
-- u_int8_t bMaxPacketSize0;
-- u_int16_t idVendor;
-- u_int16_t idProduct;
-- u_int16_t bcdDevice;
-- u_int8_t iManufacturer;
-- u_int8_t iProduct;
-- u_int8_t iSerialNumber;
-- u_int8_t bNumConfigurations;
-+ uint8_t bLength;
-+ uint8_t bDescriptorType;
-+ uint16_t bcdUSB;
-+ uint8_t bDeviceClass;
-+ uint8_t bDeviceSubClass;
-+ uint8_t bDeviceProtocol;
-+ uint8_t bMaxPacketSize0;
-+ uint16_t idVendor;
-+ uint16_t idProduct;
-+ uint16_t bcdDevice;
-+ uint8_t iManufacturer;
-+ uint8_t iProduct;
-+ uint8_t iSerialNumber;
-+ uint8_t bNumConfigurations;
- };
-
- struct usb_ctrl_setup {
-- u_int8_t bRequestType;
-- u_int8_t bRequest;
-- u_int16_t wValue;
-- u_int16_t wIndex;
-- u_int16_t wLength;
-+ uint8_t bRequestType;
-+ uint8_t bRequest;
-+ uint16_t wValue;
-+ uint16_t wIndex;
-+ uint16_t wLength;
- };
-
- /*
-@@ -254,7 +256,7 @@ struct usb_device {
-
- void *dev; /* Darwin support */
-
-- u_int8_t devnum;
-+ uint8_t devnum;
-
- unsigned char num_children;
- struct usb_device **children;
-@@ -266,7 +268,7 @@ struct usb_bus {
- char dirname[PATH_MAX + 1];
-
- struct usb_device *devices;
-- u_int32_t location;
-+ uint32_t location;
-
- struct usb_device *root_dev;
- };
diff --git a/dev-libs/libusb-compat/libusb-compat-0.1.5-r3.ebuild b/dev-libs/libusb-compat/libusb-compat-0.1.5-r3.ebuild
deleted file mode 100644
index 0939c53d83e2..000000000000
--- a/dev-libs/libusb-compat/libusb-compat-0.1.5-r3.ebuild
+++ /dev/null
@@ -1,50 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit usr-ldscript multilib-minimal
-
-DESCRIPTION="Userspace access to USB devices (libusb-0.1 compat wrapper)"
-HOMEPAGE="http://libusb.sourceforge.net/"
-SRC_URI="mirror://sourceforge/${PN/-compat}/${P}.tar.bz2"
-
-LICENSE="LGPL-2.1"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
-IUSE="debug examples"
-
-RDEPEND="
- >=virtual/libusb-1-r1:1[${MULTILIB_USEDEP}]
- !dev-libs/libusb:0"
-DEPEND="${RDEPEND}"
-BDEPEND="virtual/pkgconfig"
-
-PATCHES=( "${FILESDIR}"/${PN/-compat}-0.1-ansi.patch )
-
-MULTILIB_CHOST_TOOLS=(
- /usr/bin/libusb-config
-)
-
-multilib_src_configure() {
- ECONF_SOURCE="${S}" econf \
- --disable-static \
- $(use_enable debug debug-log)
-}
-
-multilib_src_install() {
- emake DESTDIR="${D}" install
-
- gen_usr_ldscript -a usb
-}
-
-multilib_src_install_all() {
- einstalldocs
-
- if use examples; then
- docinto examples
- dodoc examples/*.c
- fi
-
- find "${ED}" -name '*.la' -delete || die
-}
diff --git a/dev-libs/libusb-compat/libusb-compat-0.1.8.ebuild b/dev-libs/libusb-compat/libusb-compat-0.1.8.ebuild
new file mode 100644
index 000000000000..84eadc48b96a
--- /dev/null
+++ b/dev-libs/libusb-compat/libusb-compat-0.1.8.ebuild
@@ -0,0 +1,57 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools usr-ldscript multilib-minimal
+
+DESCRIPTION="Userspace access to USB devices (libusb-0.1 compat wrapper)"
+HOMEPAGE="https://libusb.info"
+SRC_URI="https://github.com/libusb/libusb-compat-0.1/releases/download/v${PV}/${P}.tar.bz2"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
+IUSE="debug examples"
+
+RDEPEND="
+ >=virtual/libusb-1-r1:1[${MULTILIB_USEDEP}]
+ !dev-libs/libusb:0
+"
+DEPEND="${RDEPEND}"
+BDEPEND="virtual/pkgconfig"
+
+MULTILIB_CHOST_TOOLS=(
+ /usr/bin/libusb-config
+)
+
+src_prepare() {
+ default
+
+ eautoreconf
+}
+
+multilib_src_configure() {
+ local myconf=(
+ $(use_enable debug debug-log)
+ )
+
+ ECONF_SOURCE="${S}" econf "${myconf[@]}"
+}
+
+multilib_src_install() {
+ emake DESTDIR="${D}" install
+
+ gen_usr_ldscript -a usb
+}
+
+multilib_src_install_all() {
+ einstalldocs
+
+ if use examples; then
+ docinto examples
+ dodoc examples/*.c
+ fi
+
+ find "${ED}" -name '*.la' -delete || die
+}
diff --git a/dev-libs/libusb-compat/metadata.xml b/dev-libs/libusb-compat/metadata.xml
index 559342cf54f2..d1dd0ce264bf 100644
--- a/dev-libs/libusb-compat/metadata.xml
+++ b/dev-libs/libusb-compat/metadata.xml
@@ -7,5 +7,6 @@
</maintainer>
<upstream>
<remote-id type="sourceforge">libusb</remote-id>
+ <remote-id type="github">libusb/libusb-compat-0.1</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-libs/libusb/Manifest b/dev-libs/libusb/Manifest
index ab33854c9b7f..5ec672cd41dc 100644
--- a/dev-libs/libusb/Manifest
+++ b/dev-libs/libusb/Manifest
@@ -1 +1,2 @@
-DIST libusb-1.0.24.tar.bz2 606593 BLAKE2B f6188b5af1225cf8b6d1486b6efcf48e837ee4f2e3592adab3ae6aae0a74a67aa54f40f0dd547f951a194d40954f2ee33acf741d2eee0b8449ce64f2edcf1018 SHA512 5aea36a530aaa15c6dd656d0ed3ce204522c9946d8d39ffbb290dab4a98cda388a2598da4995123d1032324056090bd429e702459626d3e8d7daeebc4e7ff3dc
+DIST libusb-1.0.26.tar.bz2 620534 BLAKE2B 0cc397ecf4de0066abbff9b286a9e4fcd48658698d5e0d6b736abf56b48c1b55a05f15fff7be53fd33f767621e0c25d87275a47e05a4bcb44c4b8ac9221cd081 SHA512 fcdb85c98f21639668693c2fd522814d440972d65883984c4ae53d0555bdbdb7e8c7a32199cd4b01113556a1eb5be7841b750cc73c9f6bda79bfe1af80914e71
+DIST libusb-1.0.27.tar.bz2 643680 BLAKE2B bec2eb053159ffa719c794d234f8e99b895a4fae336b862a3197b88deb3d307a53ebb98d2aa993a2f390f14264f796b96ac47274c19f56db30440484ee336c8a SHA512 42abbbcf2564f86cc2f05826aeefa6beb03c9f89dc9fe05bdfa351caa3dbd07713ce193daadecf29557604dd3cbc770c8031a78e1ad0a8df3627c3f551d28ff0
diff --git a/dev-libs/libusb/files/libusb-1.0.24-multi_device_config_parsing.patch b/dev-libs/libusb/files/libusb-1.0.24-multi_device_config_parsing.patch
deleted file mode 100644
index 739d41c404a7..000000000000
--- a/dev-libs/libusb/files/libusb-1.0.24-multi_device_config_parsing.patch
+++ /dev/null
@@ -1,65 +0,0 @@
-From f6d2cb561402c3b6d3627c0eb89e009b503d9067 Mon Sep 17 00:00:00 2001
-From: Chris Dickens <christopher.a.dickens@gmail.com>
-Date: Sun, 13 Dec 2020 15:49:19 -0800
-Subject: [PATCH] linux_usbfs: Fix parsing of descriptors for
- multi-configuration devices
-
-Commit e2be556bd2 ("linux_usbfs: Parse config descriptors during device
-initialization") introduced a regression for devices with multiple
-configurations. The logic that verifies the reported length of the
-configuration descriptors failed to count the length of the
-configuration descriptor itself and would truncate the actual length by
-9 bytes, leading to a parsing error for subsequent descriptors.
-
-Closes #825
-
-Signed-off-by: Chris Dickens <christopher.a.dickens@gmail.com>
----
- libusb/os/linux_usbfs.c | 12 ++++++++----
- libusb/version_nano.h | 2 +-
- 2 files changed, 9 insertions(+), 5 deletions(-)
-
-diff --git a/libusb/os/linux_usbfs.c b/libusb/os/linux_usbfs.c
-index fb2ed53a..4d2dc8d6 100644
---- a/libusb/os/linux_usbfs.c
-+++ b/libusb/os/linux_usbfs.c
-@@ -641,7 +641,12 @@ static int seek_to_next_config(struct libusb_context *ctx,
- uint8_t *buffer, size_t len)
- {
- struct usbi_descriptor_header *header;
-- int offset = 0;
-+ int offset;
-+
-+ /* Start seeking past the config descriptor */
-+ offset = LIBUSB_DT_CONFIG_SIZE;
-+ buffer += LIBUSB_DT_CONFIG_SIZE;
-+ len -= LIBUSB_DT_CONFIG_SIZE;
-
- while (len > 0) {
- if (len < 2) {
-@@ -718,7 +723,7 @@ static int parse_config_descriptors(struct libusb_device *dev)
- }
-
- if (priv->sysfs_dir) {
-- /*
-+ /*
- * In sysfs wTotalLength is ignored, instead the kernel returns a
- * config descriptor with verified bLength fields, with descriptors
- * with an invalid bLength removed.
-@@ -727,8 +732,7 @@ static int parse_config_descriptors(struct libusb_device *dev)
- int offset;
-
- if (num_configs > 1 && idx < num_configs - 1) {
-- offset = seek_to_next_config(ctx, buffer + LIBUSB_DT_CONFIG_SIZE,
-- remaining - LIBUSB_DT_CONFIG_SIZE);
-+ offset = seek_to_next_config(ctx, buffer, remaining);
- if (offset < 0)
- return offset;
- sysfs_config_len = (uint16_t)offset;
-diff --git a/libusb/version_nano.h b/libusb/version_nano.h
-index 61a0a700..578b0979 100644
---- a/libusb/version_nano.h
-+++ b/libusb/version_nano.h
-@@ -1 +1 @@
--#define LIBUSB_NANO 11584
-+#define LIBUSB_NANO 11586
diff --git a/dev-libs/libusb/libusb-1.0.24-r2.ebuild b/dev-libs/libusb/libusb-1.0.24-r2.ebuild
deleted file mode 100644
index c13d355add9e..000000000000
--- a/dev-libs/libusb/libusb-1.0.24-r2.ebuild
+++ /dev/null
@@ -1,76 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-inherit multilib-minimal usr-ldscript
-
-DESCRIPTION="Userspace access to USB devices"
-HOMEPAGE="https://libusb.info/ https://github.com/libusb/libusb"
-SRC_URI="https://github.com/${PN}/${PN}/releases/download/v${PV}/${P}.tar.bz2"
-
-LICENSE="LGPL-2.1"
-SLOT="1"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
-IUSE="debug doc examples static-libs test udev"
-RESTRICT="!test? ( test )"
-REQUIRED_USE="static-libs? ( !udev )"
-
-RDEPEND="udev? ( >=virtual/libudev-208:=[${MULTILIB_USEDEP}] )"
-DEPEND="${RDEPEND}
- !udev? ( virtual/os-headers )"
-BDEPEND="doc? ( app-doc/doxygen )"
-
-PATCHES=(
- "${FILESDIR}/${P}-multi_device_config_parsing.patch" #759814
-)
-
-multilib_src_configure() {
- local myeconfargs=(
- $(use_enable static-libs static)
- $(use_enable udev)
- $(use_enable debug debug-log)
- $(use_enable test tests-build)
- )
- ECONF_SOURCE="${S}" econf "${myeconfargs[@]}"
-}
-
-multilib_src_compile() {
- emake
-
- if multilib_is_native_abi; then
- use doc && emake -C doc
- fi
-}
-
-multilib_src_test() {
- emake check
-
- # noinst_PROGRAMS from tests/Makefile.am
- if [[ -e /dev/bus/usb ]]; then
- tests/stress || die
- else
- # https://bugs.gentoo.org/824266
- ewarn "/dev/bus/usb does not exist, skipping stress test"
- fi
-}
-
-multilib_src_install() {
- emake DESTDIR="${D}" install
-
- if multilib_is_native_abi; then
- gen_usr_ldscript -a usb-1.0
-
- use doc && dodoc -r doc/api-1.0
- fi
-}
-
-multilib_src_install_all() {
- find "${ED}" -type f -name "*.la" -delete || die
-
- dodoc AUTHORS ChangeLog NEWS PORTING README TODO
-
- if use examples; then
- docinto examples
- dodoc examples/*.{c,h}
- fi
-}
diff --git a/dev-libs/libusb/libusb-1.0.26.ebuild b/dev-libs/libusb/libusb-1.0.26.ebuild
new file mode 100644
index 000000000000..69e776459901
--- /dev/null
+++ b/dev-libs/libusb/libusb-1.0.26.ebuild
@@ -0,0 +1,74 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit multilib-minimal usr-ldscript
+
+DESCRIPTION="Userspace access to USB devices"
+HOMEPAGE="https://libusb.info/ https://github.com/libusb/libusb"
+SRC_URI="https://github.com/${PN}/${PN}/releases/download/v${PV}/${P}.tar.bz2"
+
+LICENSE="LGPL-2.1"
+SLOT="1"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
+IUSE="debug doc examples static-libs test udev"
+RESTRICT="!test? ( test )"
+REQUIRED_USE="static-libs? ( !udev )"
+
+RDEPEND="udev? ( >=virtual/libudev-208:=[${MULTILIB_USEDEP}] )"
+DEPEND="${RDEPEND}
+ !udev? ( virtual/os-headers )"
+BDEPEND="doc? ( app-text/doxygen )"
+
+multilib_src_configure() {
+ local myeconfargs=(
+ $(use_enable static-libs static)
+ $(use_enable udev)
+ $(use_enable debug debug-log)
+ $(use_enable test tests-build)
+ )
+
+ ECONF_SOURCE="${S}" econf "${myeconfargs[@]}"
+}
+
+multilib_src_compile() {
+ emake
+
+ if multilib_is_native_abi; then
+ use doc && emake -C doc
+ fi
+}
+
+multilib_src_test() {
+ emake check
+
+ # noinst_PROGRAMS from tests/Makefile.am
+ if [[ -e /dev/bus/usb ]]; then
+ tests/stress || die
+ else
+ # bug #824266
+ ewarn "/dev/bus/usb does not exist, skipping stress test"
+ fi
+}
+
+multilib_src_install() {
+ emake DESTDIR="${D}" install
+
+ if multilib_is_native_abi; then
+ gen_usr_ldscript -a usb-1.0
+
+ use doc && dodoc -r doc/api-1.0
+ fi
+}
+
+multilib_src_install_all() {
+ find "${ED}" -type f -name "*.la" -delete || die
+
+ dodoc AUTHORS ChangeLog NEWS PORTING README TODO
+
+ if use examples; then
+ docinto examples
+ dodoc examples/*.{c,h}
+ fi
+}
diff --git a/dev-libs/libusb/libusb-1.0.27-r1.ebuild b/dev-libs/libusb/libusb-1.0.27-r1.ebuild
new file mode 100644
index 000000000000..b956c08ca087
--- /dev/null
+++ b/dev-libs/libusb/libusb-1.0.27-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 libtool multilib-minimal
+
+DESCRIPTION="Userspace access to USB devices"
+HOMEPAGE="https://libusb.info/ https://github.com/libusb/libusb"
+SRC_URI="https://github.com/${PN}/${PN}/releases/download/v${PV}/${P}.tar.bz2"
+
+LICENSE="LGPL-2.1"
+SLOT="1"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
+IUSE="debug doc examples static-libs test udev"
+RESTRICT="!test? ( test )"
+REQUIRED_USE="static-libs? ( !udev )"
+
+RDEPEND="udev? ( >=virtual/libudev-208:=[${MULTILIB_USEDEP}] )"
+DEPEND="
+ ${RDEPEND}
+ !udev? ( virtual/os-headers )
+"
+BDEPEND="doc? ( app-text/doxygen )"
+
+src_prepare() {
+ default
+ elibtoolize
+}
+
+multilib_src_configure() {
+ local myeconfargs=(
+ $(use_enable static-libs static)
+ $(use_enable udev)
+ $(use_enable debug debug-log)
+ $(use_enable test tests-build)
+ )
+
+ ECONF_SOURCE="${S}" econf "${myeconfargs[@]}"
+}
+
+multilib_src_compile() {
+ emake
+
+ if multilib_is_native_abi; then
+ use doc && emake -C doc
+ fi
+}
+
+multilib_src_test() {
+ emake check
+
+ # noinst_PROGRAMS from tests/Makefile.am
+ if [[ -e /dev/bus/usb ]]; then
+ tests/stress || die
+ else
+ # bug #824266
+ ewarn "/dev/bus/usb does not exist, skipping stress test"
+ fi
+}
+
+multilib_src_install() {
+ emake DESTDIR="${D}" install
+
+ if multilib_is_native_abi; then
+ use doc && dodoc -r doc/api-1.0
+ fi
+}
+
+multilib_src_install_all() {
+ find "${ED}" -type f -name "*.la" -delete || die
+
+ dodoc AUTHORS ChangeLog NEWS PORTING README TODO
+
+ if use examples; then
+ docinto examples
+ dodoc examples/*.{c,h}
+ fi
+}
diff --git a/dev-libs/libusb/metadata.xml b/dev-libs/libusb/metadata.xml
index 7875c7882461..00111e2f3be2 100644
--- a/dev-libs/libusb/metadata.xml
+++ b/dev-libs/libusb/metadata.xml
@@ -7,5 +7,6 @@
</maintainer>
<upstream>
<remote-id type="github">libusb/libusb</remote-id>
+ <remote-id type="cpe">cpe:/a:libusb:libusb</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-libs/libusbhp/libusbhp-1.0.2-r1.ebuild b/dev-libs/libusbhp/libusbhp-1.0.2-r1.ebuild
index af8356687f2a..9f881e3540b9 100644
--- a/dev-libs/libusbhp/libusbhp-1.0.2-r1.ebuild
+++ b/dev-libs/libusbhp/libusbhp-1.0.2-r1.ebuild
@@ -1,9 +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
-DESCRIPTION="Usb Hotplug Library"
+DESCRIPTION="USB Hotplug Library"
HOMEPAGE="http://www.aasimon.org/libusbhp/"
SRC_URI="http://www.aasimon.org/${PN}/${P}.tar.gz"
diff --git a/dev-libs/libutf8proc/Manifest b/dev-libs/libutf8proc/Manifest
index e289fa208c5f..29cd3c50b814 100644
--- a/dev-libs/libutf8proc/Manifest
+++ b/dev-libs/libutf8proc/Manifest
@@ -1,4 +1,2 @@
-DIST libutf8proc-2.5.0.tar.gz 155485 BLAKE2B a0cd9285e7f171b9449d9d98f91173bad2b793a00a9c10287c43cc2050b6a0306e289cbd3b4faebb0d97fd305b77ecbb7ce11f119d9ead2a580029db0d7ad898 SHA512 0c553faf4f3841c17c7aa4cce1e917b1585c430ac3f7f240ab98cbe01b9743f2074532e6f71faf3df030f5af00e483a3faf9716a67e6a4b1bb66a3de48308014
-DIST libutf8proc-2.6.1.tar.gz 182903 BLAKE2B aa2545136e084a44b2e3470e9395c15327b8d6fbe48e3145336366e208fb0e2565961c302a9117f8275e5b8a218d48a7059b5c1d2cfdff11e8341dc1bfb820a9 SHA512 9a09fe58a63c8c7983b8968b9b2c82f3d188724ed125097ea0de6a18d87569c678e226dc5de183108e47b3f068117e6bb352da1c3d24ebfd8018fb0b2346592e
-DIST libutf8proc-EastAsianWidth-13.0.0-r1.xz 68808 BLAKE2B e8bac9804aa195ebed82ba51f164166976e4feb2f8c3699847738bb2a320f2a00eada1743bcbadc398dbf7998a47d6f4de5826e278eba86a198748eb59abb7e9 SHA512 f74345a9f509865705d55f18a0f258346ba261d8b9a59e5fc4de51b84ecad6d1fcc9afa0af312b09fb76bacdf5f597b0f2a965800a18c80f65a604a0bc64d3d2
-DIST libutf8proc-EastAsianWidth-13.0.0.xz 62040 BLAKE2B 1665047336ded524d0b0a0c6a88afe0d9041a82eda688451b9b2556bcf9eebe6d817119e9aa6e07c602b076e710ecfc73d0bf3487ec5dcb131cd56914e1e6354 SHA512 8f6670299d545cc323a226cb310915ab2600d4e372221814afa67a75c6963bc0a4473a6e28fc847c0ad9761466c6f80de7b1eb3ed04fa28703a20ab34bcee0f2
+DIST libutf8proc-2.9.0.tar.gz 190190 BLAKE2B 9f259bb4eea31c95f586f8f7711cc69959d5c1aaa15b940327d6e2cc909e3a7a46dd864fa1c1fe606cd7176f7fbcfaafbb54dcbf3f2ea6d285346d96f628b72b SHA512 fef52e9fabd77efdd42c31a96a80c792cb912ad3158354cec6b260c81062444e35dd0c9c8ff311fe6a540f0022dc2f26f007afd2578e86a31a0ac74ecfc3456f
+DIST libutf8proc-EastAsianWidth-15.1.0.xz 71448 BLAKE2B 4f4bc996c4fc316b7f48b59c38e2b515ecdc7c1cf0a06db093d3ae8255cb03fd380d3f28f629140b3dbbb202bdc522f3593388ff917c76388ea5f2143527ab81 SHA512 d269cd963a2e3326881a127b368b17638775ba581f36cac5de29f99a4971cc4bd21801bacb0a7958bab75fe5b075e69dd38a3ebedab8d02ed2c9feeff28e3b58
diff --git a/dev-libs/libutf8proc/files/libutf8proc-grapheme-test.patch b/dev-libs/libutf8proc/files/libutf8proc-grapheme-test.patch
deleted file mode 100644
index 64ebc26f671e..000000000000
--- a/dev-libs/libutf8proc/files/libutf8proc-grapheme-test.patch
+++ /dev/null
@@ -1,23 +0,0 @@
-https://github.com/JuliaStrings/utf8proc/commit/11bb3d9dc796bb006c79c2962a7d19abcadfb3df
-
-Author: Steven G. Johnson <stevenj@alum.mit.edu>
-
---- a/test/graphemetest.c
-+++ b/test/graphemetest.c
-@@ -18,12 +18,12 @@ int main(int argc, char **argv)
-
- while (buf[bi]) {
- bi = skipspaces(buf, bi);
-- if (buf[bi] == '/') { /* grapheme break */
-+ if ((uint8_t)buf[bi] == 0xc3 && (uint8_t)buf[bi+1] == 0xb7) { /* U+00f7 = grapheme break */
- src[si++] = '/';
-- bi++;
-+ bi += 2;
- }
-- else if (buf[bi] == '+') { /* no break */
-- bi++;
-+ else if ((uint8_t)buf[bi] == 0xc3 && (uint8_t)buf[bi+1] == 0x97) { /* U+00d7 = no break */
-+ bi += 2;
- }
- else if (buf[bi] == '#') { /* start of comments */
- break;
diff --git a/dev-libs/libutf8proc/libutf8proc-2.5.0.ebuild b/dev-libs/libutf8proc/libutf8proc-2.5.0.ebuild
deleted file mode 100644
index 5a659f96fa5b..000000000000
--- a/dev-libs/libutf8proc/libutf8proc-2.5.0.ebuild
+++ /dev/null
@@ -1,52 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-
-inherit toolchain-funcs
-
-DESCRIPTION="A clean C Library for processing UTF-8 Unicode data"
-HOMEPAGE="https://github.com/JuliaStrings/utf8proc"
-SRC_URI="https://github.com/JuliaStrings/${PN#lib}/archive/v${PV}.tar.gz -> ${P}.tar.gz
- cjk? ( https://dev.gentoo.org/~hattya/distfiles/${PN}-EastAsianWidth-13.0.0.xz )"
-
-LICENSE="MIT"
-SLOT="0/${PV}"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ppc ppc64 sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux"
-IUSE="cjk static-libs test"
-RESTRICT="!test? ( test )"
-
-BDEPEND="test? ( =app-i18n/unicode-data-13.0* )"
-S="${WORKDIR}/${P#lib}"
-
-PATCHES=( "${FILESDIR}"/${PN}-grapheme-test.patch )
-
-src_prepare() {
- if use cjk; then
- einfo "Modifying East Asian Ambiguous (A) as wide ..."
- cp "${WORKDIR}"/${PN}-EastAsianWidth-13.0.0 ${PN#lib}_data.c || die
- fi
-
- default
-}
-
-src_compile() {
- emake \
- AR="$(tc-getAR)" \
- CC="$(tc-getCC)"
-}
-
-src_install() {
- emake \
- DESTDIR="${ED}" \
- prefix="/usr" \
- libdir="/usr/$(get_libdir)" \
- install
- use static-libs || find "${ED}" -name '*.a' -delete || die
-}
-
-src_test() {
- cp "${EPREFIX}"/usr/share/unicode-data/{Normalization,auxiliary/GraphemeBreak}Test.txt data || die
-
- emake CC="$(tc-getCC)" check
-}
diff --git a/dev-libs/libutf8proc/libutf8proc-2.6.1.ebuild b/dev-libs/libutf8proc/libutf8proc-2.6.1.ebuild
deleted file mode 100644
index 4790df370ef2..000000000000
--- a/dev-libs/libutf8proc/libutf8proc-2.6.1.ebuild
+++ /dev/null
@@ -1,56 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-USE_RUBY="ruby25 ruby26 ruby27"
-
-inherit ruby-single toolchain-funcs
-
-DESCRIPTION="A clean C Library for processing UTF-8 Unicode data"
-HOMEPAGE="https://github.com/JuliaStrings/utf8proc"
-SRC_URI="https://github.com/JuliaStrings/${PN#lib}/archive/v${PV}.tar.gz -> ${P}.tar.gz
- cjk? ( https://dev.gentoo.org/~hattya/distfiles/${PN}-EastAsianWidth-13.0.0-r1.xz )"
-
-LICENSE="MIT"
-SLOT="0/${PV}"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~riscv ~sparc ~x86 ~x64-cygwin ~amd64-linux ~x86-linux ~x64-macos"
-IUSE="cjk static-libs test"
-RESTRICT="!test? ( test )"
-
-BDEPEND="test? (
- =app-i18n/unicode-data-13.0*
- ${RUBY_DEPS}
- )"
-S="${WORKDIR}/${P#lib}"
-
-src_prepare() {
- if use cjk; then
- einfo "Modifying East Asian Ambiguous (A) as wide ..."
- cp "${WORKDIR}"/${PN}-EastAsianWidth-13.0.0-r1 ${PN#lib}_data.c || die
- fi
-
- default
-}
-
-src_compile() {
- emake \
- AR="$(tc-getAR)" \
- CC="$(tc-getCC)" \
- prefix="/usr" \
- libdir="${EPREFIX}/usr/$(get_libdir)"
-}
-
-src_install() {
- emake \
- DESTDIR="${ED}" \
- prefix="/usr" \
- libdir="/usr/$(get_libdir)" \
- install
- use static-libs || find "${ED}" -name '*.a' -delete || die
-}
-
-src_test() {
- cp "${EPREFIX}"/usr/share/unicode-data/{DerivedCoreProperties,{Normalization,auxiliary/GraphemeBreak}Test}.txt data || die
-
- emake CC="$(tc-getCC)" check
-}
diff --git a/dev-libs/libutf8proc/libutf8proc-2.9.0.ebuild b/dev-libs/libutf8proc/libutf8proc-2.9.0.ebuild
new file mode 100644
index 000000000000..7b01fcb92ad9
--- /dev/null
+++ b/dev-libs/libutf8proc/libutf8proc-2.9.0.ebuild
@@ -0,0 +1,57 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="8"
+USE_RUBY="ruby31 ruby32"
+
+inherit ruby-single toolchain-funcs
+
+DESCRIPTION="A clean C Library for processing UTF-8 Unicode data"
+HOMEPAGE="https://github.com/JuliaStrings/utf8proc"
+SRC_URI="https://github.com/JuliaStrings/${PN#lib}/releases/download/v${PV}/${P#lib}.tar.gz -> ${P}.tar.gz
+ cjk? ( https://dev.gentoo.org/~hattya/distfiles/${PN}-EastAsianWidth-15.1.0.xz )"
+
+LICENSE="MIT"
+SLOT="0/${PV}"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~x64-macos"
+IUSE="cjk static-libs test"
+RESTRICT="!test? ( test )"
+
+BDEPEND="test? (
+ =app-i18n/unicode-data-15.1*
+ ${RUBY_DEPS}
+ )"
+S="${WORKDIR}/${P#lib}"
+
+QA_PKGCONFIG_VERSION="3.0.0"
+
+src_prepare() {
+ if use cjk; then
+ einfo "Modifying East Asian Ambiguous (A) as wide ..."
+ cp "${WORKDIR}"/${PN}-EastAsianWidth-15.1.0 ${PN#lib}_data.c || die
+ fi
+
+ sed -i "/^libdir/s:/lib:/$(get_libdir):" Makefile
+ default
+}
+
+src_compile() {
+ emake \
+ AR="$(tc-getAR)" \
+ CC="$(tc-getCC)" \
+ prefix="${EPREFIX}/usr"
+}
+
+src_test() {
+ cp "${BROOT}"/usr/share/unicode-data/{DerivedCoreProperties,{Normalization,auxiliary/GraphemeBreak}Test}.txt data || die
+
+ emake CC="$(tc-getCC)" check
+}
+
+src_install() {
+ emake \
+ DESTDIR="${D}" \
+ prefix="${EPREFIX}/usr" \
+ install
+ use static-libs || find "${ED}" -name '*.a' -delete || die
+}
diff --git a/dev-libs/libutf8proc/metadata.xml b/dev-libs/libutf8proc/metadata.xml
index 987ce1bc2ed6..78d1f13937f3 100644
--- a/dev-libs/libutf8proc/metadata.xml
+++ b/dev-libs/libutf8proc/metadata.xml
@@ -5,4 +5,7 @@
<email>hattya@gentoo.org</email>
<name>Akinori Hattori</name>
</maintainer>
+ <upstream>
+ <remote-id type="github">JuliaStrings/utf8proc</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/dev-libs/libuv/Manifest b/dev-libs/libuv/Manifest
index ab8d66eae9f4..08d6094e36ce 100644
--- a/dev-libs/libuv/Manifest
+++ b/dev-libs/libuv/Manifest
@@ -1,2 +1,3 @@
-DIST libuv-1.42.0.tar.gz 1293478 BLAKE2B c2b46492167d759fd781b704dd256de100ca5bed62b0afe74fd8c46d5ecce15c53c4158d2e938314c578f26978e9be0bc69c4ffd0f40b2cd8419fa120df5dc2e SHA512 29982c975fccb99dcf28c8cc0f9fe9f15a0c546778b0723596a790021441b8be1ccece17f63319b5a1f0ccda8a846c0b544f9259d3482e84e14138461a0d882b
-DIST libuv-1.43.0.tar.gz 1295972 BLAKE2B 82cf4a0eff25aaf941eaa1b04030af1d21b758c0a99ba9cd3a13753879dcbea4f167d94b8e67de4d5674e02f84f9902198faa3159fc7e8f51d52391e842f46b8 SHA512 66ee11f8f6fc1313c432858572789cf67acd6364b29a06c73323ab20626e2d6e3d3dcea748cf5d9d4368b40ad7fe0d5fd35e9369c22e531db523703f005248d3
+DIST libuv-1.47.0.tar.gz 1316016 BLAKE2B 6c530f8625366a9bf3f99ac4eb6b3bf3d4f6a05f98848e08cdab884934d79862cf8e79dd2d506ec734d701faab517eba2215063dce4b4216add5cfd6bfebd82e SHA512 3d0e76c4e29c5de14fddda07409f8db30dc64261d1c0bdfce7f70eb8f5ac911707fe662e81c4f117e4068cb0728158fc2b8255f8aa497c0f688e46c7fb93a5b3
+DIST libuv-1.48.0.tar.gz 1314877 BLAKE2B 7595797ab732109516ce280fa2efa3474e82e78890087408c7f5b1457ce8f44e53878581bb8d473795e298d7390dd8a269dd2e8970e10b50a2c0bbe1cce187cc SHA512 7ae3a4c02f654a26056db1541e52ccc4c54aaea39c33585f0cf6949af997d0a0a29f30a294c8df6e92f6f6af7ce64c2766b1a2cc67f342e3e139cd55b7326c94
+DIST libuv-1.48.0.tar.gz.sig 833 BLAKE2B f0982f7723fa81afe3fe668fc4497fb182a6093f38b185aba4f7359a3248062e7953acaba3f7fd739c9ff5b590664e4b7b81ee138442ffccd46c989c0a10345b SHA512 3a6441bb250badb7bb54a102dd7a1cf47ee4e0ed93ff0369c5b6a4b1e5440e613d85530f19c9ebdc586a97dfe1e06af09e2f90c13448e875dbaee1c703efa955
diff --git a/dev-libs/libuv/files/libuv-1.47.0-darwin17.patch b/dev-libs/libuv/files/libuv-1.47.0-darwin17.patch
new file mode 100644
index 000000000000..3fa90de83288
--- /dev/null
+++ b/dev-libs/libuv/files/libuv-1.47.0-darwin17.patch
@@ -0,0 +1,26 @@
+From 4785ad6337aac8b78224291f0848f25fc8cb41c9 Mon Sep 17 00:00:00 2001
+From: Sergey Fedorov <vital.had@gmail.com>
+Date: Sat, 18 Nov 2023 16:57:40 +0800
+Subject: [PATCH] unix: unbreak macOS < 10.14 (#4230)
+
+From fc70430b09c49032d41ae97db26da10e20941e75 Mon Sep 17 00:00:00 2001
+From: Bo Anderson <mail@boanderson.me>
+Date: Fri, 24 Nov 2023 10:17:52 +0000
+Subject: [PATCH] unix: correct pwritev conditional (#4233)
+
+
+diff --git a/src/unix/fs.c b/src/unix/fs.c
+index 891306daedc..4de0643a6c3 100644
+--- a/src/unix/fs.c
++++ b/src/unix/fs.c
+@@ -84,7 +84,9 @@
+
+ #if defined(__CYGWIN__) || \
+ (defined(__HAIKU__) && B_HAIKU_VERSION < B_HAIKU_VERSION_1_PRE_BETA_5) || \
+- (defined(__sun) && !defined(__illumos__))
++ (defined(__sun) && !defined(__illumos__)) || \
++ (defined(__APPLE__) && !TARGET_OS_IPHONE && \
++ MAC_OS_X_VERSION_MIN_REQUIRED < 110000)
+ #define preadv(fd, bufs, nbufs, off) \
+ pread(fd, (bufs)->iov_base, (bufs)->iov_len, off)
+ #define pwritev(fd, bufs, nbufs, off) \
diff --git a/dev-libs/libuv/files/libuv-1.47.0-hppa-kernel.patch b/dev-libs/libuv/files/libuv-1.47.0-hppa-kernel.patch
new file mode 100644
index 000000000000..1871ae221395
--- /dev/null
+++ b/dev-libs/libuv/files/libuv-1.47.0-hppa-kernel.patch
@@ -0,0 +1,32 @@
+https://github.com/libuv/libuv/commit/f1444293652cf5478a67b9305271d73ad6d36232
+
+From f1444293652cf5478a67b9305271d73ad6d36232 Mon Sep 17 00:00:00 2001
+From: matoro <12038583+matoro@users.noreply.github.com>
+Date: Wed, 15 Nov 2023 17:57:06 -0500
+Subject: [PATCH] linux: disable io_uring on hppa below kernel 6.1.51 (#4224)
+
+First kernel with support is 6.1, was only fully functional from .51
+onwards: https://lore.kernel.org/all/cb912694-b1fe-dbb0-4d8c-d608f3526905@gmx.de/
+
+Co-authored-by: matoro <matoro@users.noreply.github.com>
+--- a/src/unix/linux.c
++++ b/src/unix/linux.c
+@@ -487,8 +487,16 @@ static int uv__use_io_uring(void) {
+ use = atomic_load_explicit(&use_io_uring, memory_order_relaxed);
+
+ if (use == 0) {
++ use = uv__kernel_version() >=
++#if defined(__hppa__)
++ /* io_uring first supported on parisc in 6.1, functional in .51 */
++ /* https://lore.kernel.org/all/cb912694-b1fe-dbb0-4d8c-d608f3526905@gmx.de/ */
++ /* 6.1.51 */ 0x060133
++#else
+ /* Older kernels have a bug where the sqpoll thread uses 100% CPU. */
+- use = uv__kernel_version() >= /* 5.10.186 */ 0x050ABA ? 1 : -1;
++ /* 5.10.186 */ 0x050ABA
++#endif
++ ? 1 : -1;
+
+ /* But users can still enable it if they so desire. */
+ val = getenv("UV_USE_IO_URING");
+
diff --git a/dev-libs/libuv/files/libuv-1.47.0-ipv6-tests.patch b/dev-libs/libuv/files/libuv-1.47.0-ipv6-tests.patch
new file mode 100644
index 000000000000..20176dc7aba0
--- /dev/null
+++ b/dev-libs/libuv/files/libuv-1.47.0-ipv6-tests.patch
@@ -0,0 +1,54 @@
+https://github.com/libuv/libuv/issues/4211
+https://github.com/libuv/libuv/pull/4220
+https://github.com/libuv/libuv/commit/54d8364c2406758b572621af381f1d83e01ae46c
+
+From 54d8364c2406758b572621af381f1d83e01ae46c Mon Sep 17 00:00:00 2001
+From: Ben Noordhuis <info@bnoordhuis.nl>
+Date: Tue, 14 Nov 2023 22:09:30 +0100
+Subject: [PATCH] test: check if ipv6 link-local traffic is routable (#4220)
+
+Fixes: https://github.com/libuv/libuv/issues/4211
+--- a/test/test-tcp-connect6-error.c
++++ b/test/test-tcp-connect6-error.c
+@@ -23,6 +23,7 @@
+ #include "task.h"
+ #include <stdio.h>
+ #include <stdlib.h>
++#include <string.h>
+
+
+ static int connect_cb_called = 0;
+@@ -75,9 +76,13 @@ TEST_IMPL(tcp_connect6_error_fault) {
+
+
+ TEST_IMPL(tcp_connect6_link_local) {
++ uv_interface_address_t* ifs;
++ uv_interface_address_t* p;
+ struct sockaddr_in6 addr;
+ uv_connect_t req;
+ uv_tcp_t server;
++ int ok;
++ int n;
+
+ if (!can_ipv6())
+ RETURN_SKIP("IPv6 not supported");
+@@ -90,6 +95,18 @@ TEST_IMPL(tcp_connect6_link_local) {
+ RETURN_SKIP("Test does not currently work in QEMU");
+ #endif /* defined(__QEMU__) */
+
++ /* Check there's an interface that routes link-local (fe80::/10) traffic. */
++ ASSERT_OK(uv_interface_addresses(&ifs, &n));
++ for (p = ifs; p < &ifs[n]; p++)
++ if (p->address.address6.sin6_family == AF_INET6)
++ if (!memcmp(&p->address.address6.sin6_addr, "\xfe\x80", 2))
++ break;
++ ok = (p < &ifs[n]);
++ uv_free_interface_addresses(ifs, n);
++
++ if (!ok)
++ RETURN_SKIP("IPv6 link-local traffic not supported");
++
+ ASSERT_OK(uv_ip6_addr("fe80::0bad:babe", 1337, &addr));
+ ASSERT_OK(uv_tcp_init(uv_default_loop(), &server));
+
+
diff --git a/dev-libs/libuv/files/libuv-1.48.0-test-thread-priority-portage.patch b/dev-libs/libuv/files/libuv-1.48.0-test-thread-priority-portage.patch
new file mode 100644
index 000000000000..6cefebacf2af
--- /dev/null
+++ b/dev-libs/libuv/files/libuv-1.48.0-test-thread-priority-portage.patch
@@ -0,0 +1,21 @@
+This test fails in Portage with aggressive PORTAGE_NICENESS, PORTAGE_IONICE_COMMAND,
+and PORTAGE_SCHEDULING_POLICY.
+
+Bug: https://bugs.gentoo.org/924653
+--- a/test/test-thread-priority.c
++++ b/test/test-thread-priority.c
+@@ -92,7 +92,6 @@ TEST_IMPL(thread_priority) {
+ ASSERT_EQ(priority, 0);
+ ASSERT_OK(uv_thread_setpriority(pthread_self(), UV_THREAD_PRIORITY_LOWEST));
+ ASSERT_OK(uv_thread_getpriority(pthread_self(), &priority));
+- ASSERT_EQ(priority, (0 - UV_THREAD_PRIORITY_LOWEST * 2));
+ #endif
+
+ uv_sem_post(&sem);
+@@ -102,4 +101,4 @@ TEST_IMPL(thread_priority) {
+ uv_sem_destroy(&sem);
+
+ return 0;
+-}
+\ No newline at end of file
++}
diff --git a/dev-libs/libuv/libuv-1.42.0.ebuild b/dev-libs/libuv/libuv-1.42.0.ebuild
deleted file mode 100644
index 082ca534234d..000000000000
--- a/dev-libs/libuv/libuv-1.42.0.ebuild
+++ /dev/null
@@ -1,58 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit autotools multilib-minimal
-
-DESCRIPTION="Cross-platform asychronous I/O"
-HOMEPAGE="https://github.com/libuv/libuv"
-
-if [[ ${PV} = 9999* ]]; then
- EGIT_REPO_URI="https://github.com/libuv/libuv.git"
- inherit git-r3
-else
- SRC_URI="https://github.com/libuv/libuv/archive/v${PV}.tar.gz -> ${P}.tar.gz"
- KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-fi
-
-LICENSE="BSD BSD-2 ISC MIT"
-SLOT="0/1"
-
-BDEPEND="
- sys-devel/libtool
- virtual/pkgconfig
-"
-
-src_prepare() {
- default
-
- echo "m4_define([UV_EXTRA_AUTOMAKE_FLAGS], [serial-tests])" \
- > m4/libuv-extra-automake-flags.m4 || die
-
- if [[ ${CHOST} == *-darwin* && ${CHOST##*darwin} -le 9 ]] ; then
- eapply "${FILESDIR}"/${PN}-1.41.0-darwin.patch
- fi
-
- # upstream fails to ship a configure script
- eautoreconf
-}
-
-multilib_src_configure() {
- local myeconfargs=(
- --disable-static
- cc_cv_cflags__g=no
- )
-
- ECONF_SOURCE="${S}" econf "${myeconfargs[@]}"
-}
-
-multilib_src_test() {
- cp -pPR "${S}"/test/fixtures "${BUILD_DIR}"/test/fixtures || die
- default
-}
-
-multilib_src_install_all() {
- einstalldocs
- find "${ED}" -name '*.la' -delete || die
-}
diff --git a/dev-libs/libuv/libuv-1.43.0.ebuild b/dev-libs/libuv/libuv-1.43.0.ebuild
deleted file mode 100644
index 116ac24044e4..000000000000
--- a/dev-libs/libuv/libuv-1.43.0.ebuild
+++ /dev/null
@@ -1,58 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit autotools multilib-minimal
-
-DESCRIPTION="Cross-platform asychronous I/O"
-HOMEPAGE="https://github.com/libuv/libuv"
-
-if [[ ${PV} = 9999* ]]; then
- EGIT_REPO_URI="https://github.com/libuv/libuv.git"
- inherit git-r3
-else
- SRC_URI="https://github.com/libuv/libuv/archive/v${PV}.tar.gz -> ${P}.tar.gz"
- KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-fi
-
-LICENSE="BSD BSD-2 ISC MIT"
-SLOT="0/1"
-
-BDEPEND="
- sys-devel/libtool
- virtual/pkgconfig
-"
-
-src_prepare() {
- default
-
- echo "m4_define([UV_EXTRA_AUTOMAKE_FLAGS], [serial-tests])" \
- > m4/libuv-extra-automake-flags.m4 || die
-
- if [[ ${CHOST} == *-darwin* && ${CHOST##*darwin} -le 9 ]] ; then
- eapply "${FILESDIR}"/${PN}-1.41.0-darwin.patch
- fi
-
- # upstream fails to ship a configure script
- eautoreconf
-}
-
-multilib_src_configure() {
- local myeconfargs=(
- --disable-static
- cc_cv_cflags__g=no
- )
-
- ECONF_SOURCE="${S}" econf "${myeconfargs[@]}"
-}
-
-multilib_src_test() {
- cp -pPR "${S}"/test/fixtures "${BUILD_DIR}"/test/fixtures || die
- default
-}
-
-multilib_src_install_all() {
- einstalldocs
- find "${ED}" -name '*.la' -delete || die
-}
diff --git a/dev-libs/libuv/libuv-1.47.0-r1.ebuild b/dev-libs/libuv/libuv-1.47.0-r1.ebuild
new file mode 100644
index 000000000000..c102af94ad4c
--- /dev/null
+++ b/dev-libs/libuv/libuv-1.47.0-r1.ebuild
@@ -0,0 +1,59 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools
+
+DESCRIPTION="Cross-platform asychronous I/O"
+HOMEPAGE="https://github.com/libuv/libuv"
+
+if [[ ${PV} = 9999* ]]; then
+ EGIT_REPO_URI="https://github.com/libuv/libuv.git"
+ inherit git-r3
+else
+ SRC_URI="https://github.com/libuv/libuv/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+fi
+
+LICENSE="BSD BSD-2 ISC MIT"
+SLOT="0/1"
+
+BDEPEND="
+ dev-build/libtool
+ virtual/pkgconfig
+"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-ipv6-tests.patch
+ "${FILESDIR}"/${P}-hppa-kernel.patch
+ "${FILESDIR}"/${P}-darwin17.patch # upstream
+)
+
+src_prepare() {
+ default
+
+ echo "m4_define([UV_EXTRA_AUTOMAKE_FLAGS], [serial-tests])" \
+ > m4/libuv-extra-automake-flags.m4 || die
+
+ if [[ ${CHOST} == *-darwin* && ${CHOST##*darwin} -le 9 ]] ; then
+ eapply "${FILESDIR}"/${PN}-1.41.0-darwin.patch
+ fi
+
+ # Upstream fails to ship a configure script
+ eautoreconf
+}
+
+src_configure() {
+ local myeconfargs=(
+ cc_cv_cflags__g=no
+ )
+
+ econf "${myeconfargs[@]}"
+}
+
+src_install() {
+ default
+
+ find "${ED}" -name '*.la' -delete || die
+}
diff --git a/dev-libs/libuv/libuv-1.48.0.ebuild b/dev-libs/libuv/libuv-1.48.0.ebuild
new file mode 100644
index 000000000000..d4e41aef83bb
--- /dev/null
+++ b/dev-libs/libuv/libuv-1.48.0.ebuild
@@ -0,0 +1,62 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/libuv.asc
+inherit autotools verify-sig
+
+DESCRIPTION="Cross-platform asychronous I/O"
+HOMEPAGE="https://github.com/libuv/libuv"
+
+if [[ ${PV} = 9999* ]]; then
+ EGIT_REPO_URI="https://github.com/libuv/libuv.git"
+ inherit git-r3
+else
+ SRC_URI="
+ https://dist.libuv.org/dist/v${PV}/libuv-v${PV}.tar.gz -> ${P}.tar.gz
+ verify-sig? ( https://dist.libuv.org/dist/v${PV}/libuv-v${PV}.tar.gz.sign -> ${P}.tar.gz.sig )
+ "
+ KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+ S="${WORKDIR}/${PN}-v${PV}"
+fi
+
+LICENSE="BSD BSD-2 ISC MIT"
+SLOT="0/1"
+
+BDEPEND="
+ dev-build/libtool
+ virtual/pkgconfig
+ verify-sig? ( sec-keys/openpgp-keys-libuv )
+"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-1.48.0-test-thread-priority-portage.patch
+)
+
+src_prepare() {
+ default
+
+ if [[ ${CHOST} == *-darwin* && ${CHOST##*darwin} -le 9 ]] ; then
+ eapply "${FILESDIR}"/${PN}-1.41.0-darwin.patch
+ fi
+
+ # Upstream fails to ship a configure script and has missing m4 file.
+ echo "m4_define([UV_EXTRA_AUTOMAKE_FLAGS], [serial-tests])" \
+ > m4/libuv-extra-automake-flags.m4 || die
+ eautoreconf
+}
+
+src_configure() {
+ local myeconfargs=(
+ cc_cv_cflags__g=no
+ )
+
+ econf "${myeconfargs[@]}"
+}
+
+src_install() {
+ default
+
+ find "${ED}" -name '*.la' -delete || die
+}
diff --git a/dev-libs/libuv/libuv-9999.ebuild b/dev-libs/libuv/libuv-9999.ebuild
index f1d10ed56e94..056ed6900a01 100644
--- a/dev-libs/libuv/libuv-9999.ebuild
+++ b/dev-libs/libuv/libuv-9999.ebuild
@@ -1,9 +1,10 @@
-# 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 autotools multilib-minimal
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/libuv.asc
+inherit autotools verify-sig
DESCRIPTION="Cross-platform asychronous I/O"
HOMEPAGE="https://github.com/libuv/libuv"
@@ -12,47 +13,50 @@ if [[ ${PV} = 9999* ]]; then
EGIT_REPO_URI="https://github.com/libuv/libuv.git"
inherit git-r3
else
- SRC_URI="https://github.com/libuv/libuv/archive/v${PV}.tar.gz -> ${P}.tar.gz"
- KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+ SRC_URI="
+ https://dist.libuv.org/dist/v${PV}/libuv-v${PV}.tar.gz -> ${P}.tar.gz
+ verify-sig? ( https://dist.libuv.org/dist/v${PV}/libuv-v${PV}.tar.gz.sign -> ${P}.tar.gz.sig )
+ "
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+ S="${WORKDIR}/${PN}-v${PV}"
fi
LICENSE="BSD BSD-2 ISC MIT"
SLOT="0/1"
BDEPEND="
- sys-devel/libtool
+ dev-build/libtool
virtual/pkgconfig
+ verify-sig? ( sec-keys/openpgp-keys-libuv )
"
+PATCHES=(
+ "${FILESDIR}"/${PN}-1.48.0-test-thread-priority-portage.patch
+)
+
src_prepare() {
default
- echo "m4_define([UV_EXTRA_AUTOMAKE_FLAGS], [serial-tests])" \
- > m4/libuv-extra-automake-flags.m4 || die
-
if [[ ${CHOST} == *-darwin* && ${CHOST##*darwin} -le 9 ]] ; then
eapply "${FILESDIR}"/${PN}-1.41.0-darwin.patch
fi
- # upstream fails to ship a configure script
+ # Upstream fails to ship a configure script and has missing m4 file.
+ echo "m4_define([UV_EXTRA_AUTOMAKE_FLAGS], [serial-tests])" \
+ > m4/libuv-extra-automake-flags.m4 || die
eautoreconf
}
-multilib_src_configure() {
+src_configure() {
local myeconfargs=(
- --disable-static
cc_cv_cflags__g=no
)
- ECONF_SOURCE="${S}" econf "${myeconfargs[@]}"
+ econf "${myeconfargs[@]}"
}
-multilib_src_test() {
- cp -pPR "${S}"/test/fixtures "${BUILD_DIR}"/test/fixtures || die
+src_install() {
default
-}
-multilib_src_install_all() {
- einstalldocs
find "${ED}" -name '*.la' -delete || die
}
diff --git a/dev-libs/libvarlink/libvarlink-23.ebuild b/dev-libs/libvarlink/libvarlink-23.ebuild
index 03eb294c694d..d21a73577c23 100644
--- a/dev-libs/libvarlink/libvarlink-23.ebuild
+++ b/dev-libs/libvarlink/libvarlink-23.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
@@ -11,7 +11,7 @@ SRC_URI="https://github.com/varlink/libvarlink/archive/${PV}.tar.gz -> ${P}.tar.
LICENSE="Apache-2.0"
SLOT="0"
-KEYWORDS="~amd64 ~x86"
+KEYWORDS="~amd64 ~arm ~arm64 ~x86"
RESTRICT+=" test"
BDEPEND="virtual/pkgconfig"
diff --git a/dev-libs/libverto/Manifest b/dev-libs/libverto/Manifest
index 80b26d0e95f3..e762a2961874 100644
--- a/dev-libs/libverto/Manifest
+++ b/dev-libs/libverto/Manifest
@@ -1,2 +1 @@
-DIST libverto-0.3.1.tar.gz 383390 BLAKE2B 2d8366d85c2a02becf8fa9224d195a8d85f64aab735a0101997a52dd99750537b181a6dd2fc494b435b949b4a9cb785acb7222ba3f2424b7a7ddcf5d3c832387 SHA512 baef4fd280e0cb30167743608fd5a950fb4340eeb89e3630a0f63f8eab4d56f0f894a2e3283583b7ed8774d5e896c44e2c68c25882d95a07350f980af36b8740
DIST libverto-0.3.2.tar.gz 383181 BLAKE2B 76d43397ecd6b7839be2a588c5b668eb6657138e48b786cde6fd82bb33aa071ce5f9efa19f06765d868033fa2ef4a03cf6d43bcd087c431909d2ca17562a5a48 SHA512 342f20f83b8f674230fefba013505e1339dab0022e5e232c39d6763e4307088fa290b5a8e83f588e97142f5c4d190b1430288750e45f37a5fe4174d84ef85fc1
diff --git a/dev-libs/libverto/files/libverto-0.3.1-non-bash.patch b/dev-libs/libverto/files/libverto-0.3.1-non-bash.patch
deleted file mode 100644
index df7162e21a7e..000000000000
--- a/dev-libs/libverto/files/libverto-0.3.1-non-bash.patch
+++ /dev/null
@@ -1,133 +0,0 @@
-Strips bashisms from configure.ac causing breakage in net-nds/gssproxy
-https://bugs.gentoo.org/762823
---- a/configure.ac
-+++ b/configure.ac
-@@ -91,22 +91,22 @@ AC_ARG_WITH([tevent],
-
- # Ensure that if a builtin is chosen only one is built
- BUILTIN_MODULE=
--if test x$WITH_GLIB == xbuiltin; then
-+if test x$WITH_GLIB = xbuiltin; then
- BUILTIN_MODULE=glib
- WITH_LIBEV=no
- WITH_LIBEVENT=no
- WITH_TEVENT=no
--elif test x$WITH_LIBEV == xbuiltin; then
-+elif test x$WITH_LIBEV = xbuiltin; then
- BUILTIN_MODULE=libev
- WITH_LIBGLIB=no
- WITH_LIBEVENT=no
- WITH_TEVENT=no
--elif test x$WITH_LIBEVENT == xbuiltin; then
-+elif test x$WITH_LIBEVENT = xbuiltin; then
- BUILTIN_MODULE=libevent
- WITH_LIBGLIB=no
- WITH_LIBEV=no
- WITH_TEVENT=no
--elif test x$WITH_TEVENT == xbuiltin; then
-+elif test x$WITH_TEVENT = xbuiltin; then
- BUILTIN_MODULE=tevent
- WITH_GLIB=no
- WITH_LIBEV=no
-@@ -118,29 +118,29 @@ if test x$BUILTIN_MODULE != x; then
- fi
-
- # Ensure that there is only one default (convert duplicate default to yes)
--if test x$WITH_GLIB == xdefault; then
-+if test x$WITH_GLIB = xdefault; then
- AC_DEFINE([DEFUALT_MODULE], [glib])
-- test x$WITH_LIBEV == xdefault && WITH_LIBEV=yes
-- test x$WITH_LIBEVENT == xdefault && WITH_LIBEVENT=yes
-- test x$WITH_TEVENT == xdefault && WITH_TEVENT=yes
-+ test x$WITH_LIBEV = xdefault && WITH_LIBEV=yes
-+ test x$WITH_LIBEVENT = xdefault && WITH_LIBEVENT=yes
-+ test x$WITH_TEVENT = xdefault && WITH_TEVENT=yes
- fi
--if test x$WITH_LIBEV == xdefault; then
-+if test x$WITH_LIBEV = xdefault; then
- AC_DEFINE([DEFUALT_MODULE], [libev])
-- test x$WITH_LIBGLIB == xdefault && WITH_GLIB=yes
-- test x$WITH_LIBEVENT == xdefault && WITH_LIBEVENT=yes
-- test x$WITH_TEVENT == xdefault && WITH_TEVENT=yes
-+ test x$WITH_LIBGLIB = xdefault && WITH_GLIB=yes
-+ test x$WITH_LIBEVENT = xdefault && WITH_LIBEVENT=yes
-+ test x$WITH_TEVENT = xdefault && WITH_TEVENT=yes
- fi
--if test x$WITH_LIBEVENT == xdefault; then
-+if test x$WITH_LIBEVENT = xdefault; then
- AC_DEFINE([DEFUALT_MODULE], [libevent])
-- test x$WITH_GLIB == xdefault && WITH_GLIB=yes
-- test x$WITH_LIBEV == xdefault && WITH_LIBEV=yes
-- test x$WITH_TEVENT == xdefault && WITH_TEVENT=yes
-+ test x$WITH_GLIB = xdefault && WITH_GLIB=yes
-+ test x$WITH_LIBEV = xdefault && WITH_LIBEV=yes
-+ test x$WITH_TEVENT = xdefault && WITH_TEVENT=yes
- fi
--if test x$WITH_TEVENT == xdefault; then
-+if test x$WITH_TEVENT = xdefault; then
- AC_DEFINE([DEFUALT_MODULE], [tevent])
-- test x$WITH_GLIB == xdefault && WITH_GLIB=yes
-- test x$WITH_LIBEV == xdefault && WITH_LIBEV=yes
-- test x$WITH_LIBEVENT == xdefault && WITH_LIBEVENT=yes
-+ test x$WITH_GLIB = xdefault && WITH_GLIB=yes
-+ test x$WITH_LIBEV = xdefault && WITH_LIBEV=yes
-+ test x$WITH_LIBEVENT = xdefault && WITH_LIBEVENT=yes
- fi
-
- BUILD_GLIB=no
-@@ -151,7 +151,7 @@ BUILD_TEVENT=no
- if test x$WITH_GLIB != xno; then
- PKG_CHECK_MODULES([glib], [glib-2.0], [BUILD_GLIB=$WITH_GLIB],
- [test x$WITH_GLIB != xauto && AC_MSG_ERROR("glib not found")])
-- if test x$BUILD_GLIB == xauto; then
-+ if test x$BUILD_GLIB = xauto; then
- BUILD_GLIB=yes
- fi
- fi
-@@ -165,7 +165,7 @@ if test x$WITH_LIBEV != xno; then
- ),
- [test x$WITH_LIBEV != xauto && AC_MSG_ERROR("ev.h not found")]
- )
-- if test x$BUILD_LIBEV == xauto; then
-+ if test x$BUILD_LIBEV = xauto; then
- BUILD_LIBEV=yes
- fi
- fi
-@@ -173,7 +173,7 @@ fi
- if test x$WITH_LIBEVENT != xno; then
- PKG_CHECK_MODULES([libevent], [libevent >= 2.0], [BUILD_LIBEVENT=$WITH_LIBEVENT],
- [test x$WITH_LIBEVENT != xauto && AC_MSG_ERROR("libevent not found")])
-- if test x$BUILD_LIBEVENT == xauto; then
-+ if test x$BUILD_LIBEVENT = xauto; then
- BUILD_LIBEVENT=yes
- fi
- fi
-@@ -181,19 +181,19 @@ fi
- if test x$WITH_TEVENT != xno; then
- PKG_CHECK_MODULES([tevent], [tevent], [BUILD_TEVENT=$WITH_TEVENT],
- [test x$WITH_TEVENT != xauto && AC_MSG_ERROR("tevent not found")])
-- if test x$BUILD_TEVENT == xauto; then
-+ if test x$BUILD_TEVENT = xauto; then
- BUILD_TEVENT=yes
- fi
- fi
-
--AM_CONDITIONAL([MODULE_GLIB], [test x$BUILTIN_MODULE == x && test x$BUILD_GLIB != xno])
--AM_CONDITIONAL([MODULE_LIBEV], [test x$BUILTIN_MODULE == x && test x$BUILD_LIBEV != xno])
--AM_CONDITIONAL([MODULE_LIBEVENT], [test x$BUILTIN_MODULE == x && test x$BUILD_LIBEVENT != xno])
--AM_CONDITIONAL([MODULE_TEVENT], [test x$BUILTIN_MODULE == x && test x$BUILD_TEVENT != xno])
--AM_CONDITIONAL([BUILTIN_GLIB], [test x$BUILTIN_MODULE == xglib])
--AM_CONDITIONAL([BUILTIN_LIBEV], [test x$BUILTIN_MODULE == xlibev])
--AM_CONDITIONAL([BUILTIN_LIBEVENT], [test x$BUILTIN_MODULE == xlibevent])
--AM_CONDITIONAL([BUILTIN_TEVENT], [test x$BUILTIN_MODULE == xtevent])
-+AM_CONDITIONAL([MODULE_GLIB], [test x$BUILTIN_MODULE = x && test x$BUILD_GLIB != xno])
-+AM_CONDITIONAL([MODULE_LIBEV], [test x$BUILTIN_MODULE = x && test x$BUILD_LIBEV != xno])
-+AM_CONDITIONAL([MODULE_LIBEVENT], [test x$BUILTIN_MODULE = x && test x$BUILD_LIBEVENT != xno])
-+AM_CONDITIONAL([MODULE_TEVENT], [test x$BUILTIN_MODULE = x && test x$BUILD_TEVENT != xno])
-+AM_CONDITIONAL([BUILTIN_GLIB], [test x$BUILTIN_MODULE = xglib])
-+AM_CONDITIONAL([BUILTIN_LIBEV], [test x$BUILTIN_MODULE = xlibev])
-+AM_CONDITIONAL([BUILTIN_LIBEVENT], [test x$BUILTIN_MODULE = xlibevent])
-+AM_CONDITIONAL([BUILTIN_TEVENT], [test x$BUILTIN_MODULE = xtevent])
-
- AC_MSG_NOTICE()
- AC_MSG_NOTICE([BUILD CONFIGURATION])
diff --git a/dev-libs/libverto/libverto-0.3.1-r1.ebuild b/dev-libs/libverto/libverto-0.3.1-r1.ebuild
deleted file mode 100644
index 298ede94f7a8..000000000000
--- a/dev-libs/libverto/libverto-0.3.1-r1.ebuild
+++ /dev/null
@@ -1,55 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit autotools multilib-minimal
-
-DESCRIPTION="Main event loop abstraction library"
-HOMEPAGE="https://github.com/latchset/libverto/"
-SRC_URI="https://github.com/latchset/libverto/releases/download/${PV}/${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
-IUSE="glib +libev libevent tevent +threads static-libs"
-REQUIRED_USE="|| ( glib libev libevent tevent ) "
-
-DEPEND="glib? ( >=dev-libs/glib-2.34.3[${MULTILIB_USEDEP}] )
- libev? ( >=dev-libs/libev-4.15[${MULTILIB_USEDEP}] )
- libevent? ( >=dev-libs/libevent-2.0.21[${MULTILIB_USEDEP}] )
- tevent? ( >=sys-libs/tevent-0.9.19[${MULTILIB_USEDEP}] )"
-
-RDEPEND="${DEPEND}"
-
-DOCS=( AUTHORS ChangeLog NEWS INSTALL README )
-
-PATCHES=(
- # Runtime breakage caused by bashisms, bug #762823
- "${FILESDIR}/${PN}-0.3.1-non-bash.patch"
-)
-
-src_prepare() {
- default
- # known problem uptream with tevent write test. tevent does not fire a
- # callback on error, but we explicitly test for this behaviour. Do not run
- # tevent tests for now.
- sed -i -e 's/def HAVE_TEVENT/ 0/' tests/test.h || die
- eautoreconf
-}
-
-multilib_src_configure() {
- ECONF_SOURCE="${S}" \
- econf \
- $(use_with glib) \
- $(use_with libev) \
- $(use_with libevent) \
- $(use_with tevent) \
- $(use_with threads pthread) \
- $(use_enable static-libs static)
-}
-
-multilib_src_install_all() {
- default
- use static-libs || find "${ED}" -name '*.la' -delete
-}
diff --git a/dev-libs/libverto/libverto-0.3.2.ebuild b/dev-libs/libverto/libverto-0.3.2.ebuild
index 6bd2cda80237..6fb7b0c2d40d 100644
--- a/dev-libs/libverto/libverto-0.3.2.ebuild
+++ b/dev-libs/libverto/libverto-0.3.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 autotools multilib-minimal
@@ -11,7 +11,7 @@ SRC_URI="https://github.com/latchset/libverto/releases/download/${PV}/${P}.tar.g
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
IUSE="glib +libev libevent +threads"
REQUIRED_USE="|| ( glib libev libevent )"
diff --git a/dev-libs/libverto/metadata.xml b/dev-libs/libverto/metadata.xml
index 8e90132b3959..a8ac1e8d61f8 100644
--- a/dev-libs/libverto/metadata.xml
+++ b/dev-libs/libverto/metadata.xml
@@ -6,10 +6,12 @@
<email>eras@gentoo.org</email>
<name>Eray Aslan</name>
</maintainer>
+<upstream>
+ <remote-id type="github">latchset/libverto</remote-id>
+</upstream>
<use>
<flag name="glib">Support event loops using <pkg>dev-libs/glib</pkg></flag>
<flag name="libev">Support event loops using <pkg>dev-libs/libev</pkg></flag>
<flag name="libevent">Support event loops using <pkg>dev-libs/libevent</pkg></flag>
- <flag name="tevent">Support event loops using <pkg>sys-libs/tevent</pkg></flag>
</use>
</pkgmetadata>
diff --git a/dev-libs/libvoikko/Manifest b/dev-libs/libvoikko/Manifest
index 1c6ccfc16553..27032288f6ea 100644
--- a/dev-libs/libvoikko/Manifest
+++ b/dev-libs/libvoikko/Manifest
@@ -1,2 +1,2 @@
-DIST libvoikko-4.3.1.tar.gz 658079 BLAKE2B 4f52789b5d62991333ba9b979259a631ef2989bc70358b398a4281d56765046209657fd3e41afd47ee7ba1dbafeeb4a34ffd007e55037bca9958fb813e4b7202 SHA512 6677fac7c0cba1289dda23b0c0a4bbe44480ce747189d40634ac57811728c1942a795efd50270e933373fabab9c54e82a8f9fde06d936442820e3f8019574f08
-DIST libvoikko-4.3.1.tar.gz.asc 833 BLAKE2B 4a69ae75da1973e383ab21cb557352be1344dc6e34fef13e28616fbd9e0003b93ef5e3488f1e776eb476a750980281463ee144edc5849ec7e3159badc160ceb7 SHA512 04a5e8899679e1503ec0d378903b8ff17e8065aa105ba61559b584eb4cde2a5a9b622fd39bd0126bb87915c7dcbac8495e874c3cdabf25232b1ae41491275ba0
+DIST libvoikko-4.3.2.tar.gz 672196 BLAKE2B fb5cf5d415cb2bfd9849a62ffc7822ee2d79b153035e326cdf9103f17fbeab36edb878604980a09346ed5a9fce0b8006012a92483dc886b20d932802bc9bedd9 SHA512 d510a9344501f86b2f644c1237faf8709f02b5d17bca76f7934c8422495aeee307f12c60dde47df15a39c24c3311253d3dea2d0648050fc3a056a22497de695c
+DIST libvoikko-4.3.2.tar.gz.asc 833 BLAKE2B e1abeb8fb376c83a09ac26a5ffda98c86bb17fc6b7e2b1d4e0976e2b563aeabbeae7200c9a0298051d6e11bc28b83d540e7e2cfff7253030253e81fd39115256 SHA512 5416123b9610225e2baf26ebb8be27d98ac04d34af9c2ed9252fa6e2c2909276a47967a297fc9bf0b51a6bf8650a55919ea4071dd976752b26a3dfec271ddf0a
diff --git a/dev-libs/libvoikko/files/libvoikko-4.3-disable-wall-werror.patch b/dev-libs/libvoikko/files/libvoikko-4.3-disable-wall-werror.patch
deleted file mode 100644
index 59369a613b7b..000000000000
--- a/dev-libs/libvoikko/files/libvoikko-4.3-disable-wall-werror.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-diff -Naur a/configure b/configure
---- a/configure 2019-10-17 17:28:10.000000000 +0300
-+++ b/configure 2021-02-19 11:32:45.084523937 +0200
-@@ -17652,7 +17652,7 @@
-
-
- tmp_CXXFLAGS="$CXXFLAGS"
--CXXFLAGS="$CXXFLAGS -Wall -Werror -fvisibility=hidden"
-+CXXFLAGS="$CXXFLAGS -fvisibility=hidden"
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC supports the visibility attribute" >&5
- $as_echo_n "checking whether $CC supports the visibility attribute... " >&6; }
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-@@ -18413,7 +18413,7 @@
- if test "x$ax_pthread_try" = "xunknown"; then :
- break
- fi
-- CFLAGS="-Werror -Wunknown-warning-option $ax_pthread_try -pthread $ax_pthread_save_CFLAGS"
-+ CFLAGS="-Wunknown-warning-option $ax_pthread_try -pthread $ax_pthread_save_CFLAGS"
- ac_link="$ax_pthread_save_ac_link"
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
- /* end confdefs.h. */
-@@ -19102,7 +19102,7 @@
- done
-
-
--CXXFLAGS="$CXXFLAGS -Wall -Werror -pedantic"
-+CXXFLAGS="$CXXFLAGS -pedantic"
-
- ac_config_files="$ac_config_files Makefile src/Makefile src/tools/Makefile java/Makefile test/Makefile cs/Makefile cl/Makefile src/libvoikko.pc"
-
diff --git a/dev-libs/libvoikko/files/libvoikko-4.3.2-disable-wall-werror.patch b/dev-libs/libvoikko/files/libvoikko-4.3.2-disable-wall-werror.patch
new file mode 100644
index 000000000000..eee8dd56419e
--- /dev/null
+++ b/dev-libs/libvoikko/files/libvoikko-4.3.2-disable-wall-werror.patch
@@ -0,0 +1,30 @@
+diff -Naur a/configure b/configure
+--- a/configure 2023-03-04 19:40:49.000000000 +0200
++++ b/configure 2023-04-02 14:42:31.748484834 +0300
+@@ -18676,7 +18676,7 @@
+
+
+ tmp_CXXFLAGS="$CXXFLAGS"
+-CXXFLAGS="$CXXFLAGS -Wall -Werror -fvisibility=hidden"
++CXXFLAGS="$CXXFLAGS -fvisibility=hidden"
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $CC supports the visibility attribute" >&5
+ printf %s "checking whether $CC supports the visibility attribute... " >&6; }
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+@@ -19748,7 +19748,7 @@
+ then :
+ break
+ fi
+- CFLAGS="-Werror -Wunknown-warning-option $ax_pthread_try -pthread $ax_pthread_save_CFLAGS"
++ CFLAGS="-Wunknown-warning-option $ax_pthread_try -pthread $ax_pthread_save_CFLAGS"
+ ac_link="$ax_pthread_save_ac_link"
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+ /* end confdefs.h. */
+@@ -20239,7 +20239,7 @@
+ fi
+
+
+-CXXFLAGS="$CXXFLAGS -Wall -Werror -pedantic"
++CXXFLAGS="$CXXFLAGS -pedantic"
+
+ ac_config_files="$ac_config_files Makefile src/Makefile src/tools/Makefile java/Makefile test/Makefile cs/Makefile cl/Makefile src/libvoikko.pc"
+
diff --git a/dev-libs/libvoikko/libvoikko-4.3.1.ebuild b/dev-libs/libvoikko/libvoikko-4.3.1.ebuild
deleted file mode 100644
index 97d1bc96ddeb..000000000000
--- a/dev-libs/libvoikko/libvoikko-4.3.1.ebuild
+++ /dev/null
@@ -1,55 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{8..10} )
-
-inherit python-r1 verify-sig
-
-DESCRIPTION="Spell checking, hyphenation and morphological analysis tool for Finnish language"
-HOMEPAGE="https://voikko.puimula.org/"
-SRC_URI="https://www.puimula.org/voikko-sources/${PN}/${P}.tar.gz
- verify-sig? ( https://www.puimula.org/voikko-sources/libvoikko/${P}.tar.gz.asc )"
-
-LICENSE="GPL-2+"
-SLOT="0"
-KEYWORDS="amd64 ~riscv x86"
-
-IUSE="+expvfst +hfst verify-sig"
-
-REQUIRED_USE="${PYTHON_REQUIRED_USE}"
-
-RESTRICT="test"
-
-DEPEND="${PYTHON_DEPS}
- hfst? ( >=dev-util/hfstospell-0.5.0 )"
-RDEPEND="${DEPEND}"
-BDEPEND="verify-sig? ( sec-keys/openpgp-keys-voikko )"
-
-VERIFY_SIG_OPENPGP_KEY_PATH=${BROOT}/usr/share/openpgp-keys/voikko.asc
-
-PATCHES=( "${FILESDIR}"/libvoikko-4.3-disable-wall-werror.patch )
-
-src_configure() {
- local myconf=(
- --prefix=/usr
- --with-dictionary-path=/usr/share/voikko
- $(use_enable expvfst)
- )
-
- if ! use hfst ; then
- myconf+=( --disable-hfst )
- fi
-
- econf "${myconf[@]}"
-}
-
-src_install() {
- python_setup
- default
-
- python_foreach_impl python_domodule python/libvoikko.py
-
- find "${D}" -name '*.la' -delete -o -name '*.a' -delete || die
-}
diff --git a/dev-libs/libvoikko/libvoikko-4.3.2.ebuild b/dev-libs/libvoikko/libvoikko-4.3.2.ebuild
new file mode 100644
index 000000000000..967e5319d288
--- /dev/null
+++ b/dev-libs/libvoikko/libvoikko-4.3.2.ebuild
@@ -0,0 +1,57 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit python-r1 verify-sig
+
+DESCRIPTION="Spell checking, hyphenation and morphological analysis tool for Finnish language"
+HOMEPAGE="https://voikko.puimula.org/"
+SRC_URI="https://www.puimula.org/voikko-sources/${PN}/${P}.tar.gz
+ verify-sig? ( https://www.puimula.org/voikko-sources/libvoikko/${P}.tar.gz.asc )"
+
+LICENSE="GPL-2+"
+SLOT="0/1.16.2"
+KEYWORDS="amd64 ~loong ~riscv x86"
+
+IUSE="+expvfst +hfst verify-sig"
+
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+RESTRICT="test"
+
+DEPEND="${PYTHON_DEPS}
+ hfst? ( >=dev-util/hfstospell-0.5.0 )"
+RDEPEND="${DEPEND}"
+BDEPEND="virtual/pkgconfig
+ >=dev-build/autoconf-2.71
+ verify-sig? ( sec-keys/openpgp-keys-voikko )"
+
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/voikko.asc
+
+PATCHES=( "${FILESDIR}"/libvoikko-4.3.2-disable-wall-werror.patch )
+
+src_configure() {
+ local myconf=(
+ --prefix=/usr
+ --with-dictionary-path=/usr/share/voikko
+ $(use_enable expvfst)
+ )
+
+ if ! use hfst ; then
+ myconf+=( --disable-hfst )
+ fi
+
+ econf "${myconf[@]}"
+}
+
+src_install() {
+ python_setup
+ default
+
+ python_foreach_impl python_domodule python/libvoikko.py
+
+ find "${D}" -name '*.la' -delete -o -name '*.a' -delete || die
+}
diff --git a/dev-libs/libvterm-neovim/Manifest b/dev-libs/libvterm-neovim/Manifest
deleted file mode 100644
index 3ba74b78a0f2..000000000000
--- a/dev-libs/libvterm-neovim/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST libvterm-neovim-0.0_pre20150621.tar.xz 52240 BLAKE2B 040c2510356a03c4b5b98197a2353285e23025fb8377396fafd4dce3b1afdf0d969e067317f5eb08878fbe69cca601ac85c8dc6cc51416f58e0611100bd54f5d SHA512 e6fe678da5498177d7fbd0cd945600b643f7cd76ff9ed00f3ac7923be55793765429a2f2da5fba4055dfaa4b7200c28a021f3672ce7ae16b99e58738e5093fd8
diff --git a/dev-libs/libvterm-neovim/libvterm-neovim-0.0_pre20150621.ebuild b/dev-libs/libvterm-neovim/libvterm-neovim-0.0_pre20150621.ebuild
deleted file mode 100644
index 83c8e6b97293..000000000000
--- a/dev-libs/libvterm-neovim/libvterm-neovim-0.0_pre20150621.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 flag-o-matic
-
-DESCRIPTION="An abstract library implementation of a VT220/xterm/ECMA-48 terminal emulator"
-HOMEPAGE="http://www.leonerd.org.uk/code/libvterm/"
-SRC_URI="https://dev.gentoo.org/~yngwin/distfiles/${P}.tar.xz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-BDEPEND="sys-devel/libtool
- virtual/pkgconfig"
-
-src_compile() {
- append-cflags -fPIC
- emake PREFIX="${EPREFIX}/usr" LIBDIR="${EPREFIX}/usr/$(get_libdir)"
-}
-
-src_install() {
- emake PREFIX="${EPREFIX}/usr" LIBDIR="${EPREFIX}/usr/$(get_libdir)" \
- DESTDIR="${D}" install
- find "${ED}" -name '*.la' -o -name "*.a" -delete || die
-
- dodoc -r doc/.
-}
diff --git a/dev-libs/libvterm-neovim/metadata.xml b/dev-libs/libvterm-neovim/metadata.xml
deleted file mode 100644
index 2e4c5182444f..000000000000
--- a/dev-libs/libvterm-neovim/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>vim@gentoo.org</email>
- <name>Gentoo Vim Project</name>
- </maintainer>
-</pkgmetadata>
diff --git a/dev-libs/libvterm/Manifest b/dev-libs/libvterm/Manifest
index 333822bdcc8d..ae74e3979919 100644
--- a/dev-libs/libvterm/Manifest
+++ b/dev-libs/libvterm/Manifest
@@ -1,4 +1,5 @@
-DIST libvterm-0.0_pre20181126.tar.gz 65524 BLAKE2B 00ad4cbc60739aae173e86ae7aa357869f815658c3c13e04808841e5e1e847732046e212153d4e4d49bbddcd5c661cdb7f7f962e6fd0a305a534bbca074a4ca6 SHA512 9f55c9a00807e46c1c6157fc372d3cad575f2574ac8b3abc82acd26ef6425166ac18ee1b7d77a9dfc617b14bc9eb7dc3a364cef5c0bf6c4951dc755d9c6c5ce0
-DIST libvterm-0.1.1.tar.gz 69044 BLAKE2B 2e521a26238772370718e3c643e2225c9be7877f6312573d54c8cf3b34e38996886f1100ddae12e34ced1c8eace1a307238024fb91b2a96e6b9e2e85d30a5073 SHA512 beb21ae2bcc5f5e7dbc8cb645e004ce923f2b77f756b48a9ec835dbe1c99afa8cdbce12c5f982b5ca880b5b1ea113570d48733a1d043a7b16ae271f5718a6757
-DIST libvterm-0.1.2.tar.gz 69050 BLAKE2B bd547e14ef2b2b7c733a88ccd975db5ccc936ad5df49221cc6877be223e48da41fd8e5cf40dbc8750a95d6efaa6e5b97d337d4a013ec534a4bbfd68279325bc0 SHA512 5d6a17b98d4dda9d0529c3686cadc1f788e48667fa133100bfb0cdc92a6b08d0ea2f1a6058f58941e1408788c4f1d5a86941ec2457e31c6582f5ddd13bcdf7c4
-DIST libvterm-0.1.3.tar.gz 69115 BLAKE2B befdb173a75652a42f3ba72682cc5c411ee170f2cfe46a22f133ca2b414f40f3af97331a4aaa34ca2a36f39b2ef92b63f2730bd872db8181512fd18f95921034 SHA512 de68b36c589638cc727fdd8153af66cc9288d32567bca1213e3769418a7b98afff68565dfd34f73f74625c39e66b60da7e658e9afa9bef4efa2072ff91d872e5
+DIST libvterm-0.1.4.tar.gz 69122 BLAKE2B 4f0acc9ec6755c4a840e5df6c32c44e12c5316b5c5918d0e8eada19d819736c3e5b9090b468e32b3141a7fbb5ba226e365be27d6d1d9ca22f9f5e365fc3971c2 SHA512 90b5d47417e3f469df5c6574a27d12bd6bd1571d17cab7c4ac0ee61b1dbcb6361987f6fdfd11e314ea32f8958ec165c319a34d0f77288947c7cbc11de697d524
+DIST libvterm-0.3.1.tar.gz 79344 BLAKE2B 2732bc477fb339945c1a9242a8265d182891d507c0dec71371a9e7010434dad0d35152fdeaa32bbf50fdd4bd138bb42e8d95a9771c704d693032e32d37a87452 SHA512 1f4bbee8847a9c8cfab3831a3512b866eb0f90f7d3600c4583d2e1eac18458f21bf5ca4fe4b067b27920a04aa7eac5dd2d4a62f6b7ebd56a417fed60d421853d
+DIST libvterm-0.3.2.tar.gz 79471 BLAKE2B c7347257c6cf6bd7b5203a43004eb9fd2c00660f113788fc15f4b29f9224e30017bb24cfe2bc35a7890ca0131ffad37dcfa88104404e8fdce8bbe8cfb8296222 SHA512 aaff71a1c43eff1842cfc1bfd47936ea2c51e75a41506bb0e36860f8f497d198539c10f86c7febc86b3dea8c0de54b03580d59b170176a4207dc411ae59cb035
+DIST libvterm-0.3.3.tar.gz 80024 BLAKE2B 5778533079a467ab3073e150b24a0c7d9fd2249969ed2666df897d6e4a9688bc386a5696fd3a5ce144f196587ad7c86f7980981e81da83e5f68c572da70423f4 SHA512 0117f71988d2c3c1b5e46d0778ce491a8ab9033f3afc9a9905b6d52d0e2adb59ee101667826281470e4c9de5178cbe966f4ecb2c7673e9644c7ca3508491bb49
+DIST libvterm-0.3.tar.gz 83861 BLAKE2B a2e8e9d80698880d87f9d26977a4e3dec7b520c3096d0ca6f7823254eeebe51666380ed2a5c05c923dd8b138f15c87e671fdfb03e5511c01711e112cdda9867a SHA512 2a7b6831476465d6a9f7c792406f4e3c4eca0c3dbce4b7031f2646c87e33692128a3d3ce27e1541403772cc0b5eface7bd41325e1e5300c3915bfc0bac97a896
diff --git a/dev-libs/libvterm/files/libvterm-0.1.4-slibtool.patch b/dev-libs/libvterm/files/libvterm-0.1.4-slibtool.patch
new file mode 100644
index 000000000000..75d6a8e763ac
--- /dev/null
+++ b/dev-libs/libvterm/files/libvterm-0.1.4-slibtool.patch
@@ -0,0 +1,98 @@
+From: orbea <orbea@riseup.net>
+Date: Wed, 20 Jul 2022 07:45:38 -0700
+Subject: [PATCH] build: Add a minimal configures script
+
+When building libvterm with slibtool using the rlibtool symlink the
+build will fail when the generated libtool is not found. This file is
+required with rlibtool so that the build can determine if the build
+should be shared, static or both.
+
+This can be solved by adding a minimal configure script.
+
+The build steps are now:
+
+autoreconf -fi
+./configure
+make
+make install
+
+Gentoo Bug: https://bugs.gentoo.org/779034
+
+diff --git a/Makefile b/Makefile.in
+similarity index 89%
+rename from Makefile
+rename to Makefile.in
+index 3330703..8a170c7 100644
+--- a/Makefile
++++ b/Makefile.in
+@@ -1,13 +1,13 @@
+-ifeq ($(shell uname),Darwin)
+- LIBTOOL ?= glibtool
+-else
+- LIBTOOL ?= libtool
+-endif
++top_builddir = @top_builddir@
++
++LIBTOOL = @LIBTOOL@
+
+ ifneq ($(VERBOSE),1)
+ LIBTOOL +=--quiet
+ endif
+
++CC = @CC@
++
+ override CFLAGS +=-Wall -Iinclude -std=c99 -Wpedantic
+
+ ifeq ($(shell uname),SunOS)
+@@ -40,13 +40,14 @@ VERSION_CURRENT=0
+ VERSION_REVISION=4
+ VERSION_AGE=0
+
+-VERSION=0.1.4
++VERSION=@PACKAGE_VERSION@
+
+-PREFIX=/usr/local
+-BINDIR=$(PREFIX)/bin
+-LIBDIR=$(PREFIX)/lib
+-INCDIR=$(PREFIX)/include
+-MANDIR=$(PREFIX)/share/man
++prefix=@prefix@
++exec_prefix=@exec_prefix@
++BINDIR=@bindir@
++LIBDIR=@libdir@
++INCDIR=@includedir@
++MANDIR=@mandir@
+ MAN3DIR=$(MANDIR)/man3
+
+ all: $(LIBRARY) $(BINFILES)
+@@ -70,7 +71,7 @@ src/encoding.lo: $(INCFILES)
+
+ bin/%: bin/%.c $(LIBRARY)
+ @echo CC $<
+- @$(LIBTOOL) --mode=link --tag=CC $(CC) $(CFLAGS) -o $@ $< -lvterm $(LDFLAGS)
++ @$(LIBTOOL) --mode=link --tag=CC $(CC) $(CFLAGS) -o $@ $^ $(LDFLAGS)
+
+ t/harness.lo: t/harness.c $(HFILES)
+ @echo CC $<
+diff --git a/configure.ac b/configure.ac
+new file mode 100644
+index 0000000..c3d758e
+--- /dev/null
++++ b/configure.ac
+@@ -0,0 +1,16 @@
++m4_define([version_major], [0])
++m4_define([version_minor], [1])
++m4_define([version_patch], [4])
++
++AC_INIT([libvterm], [version_major.version_minor.version_patch])
++AC_CONFIG_FILES([Makefile])
++
++LT_INIT
++
++AC_SUBST([top_builddir], [$abs_builddir])
++
++AC_SUBST([VERSION_MAJOR], [version_major])
++AC_SUBST([VERSION_MINOR], [version_minor])
++AC_SUBST([VERSION_PATCH], [version_patch])
++
++AC_OUTPUT
diff --git a/dev-libs/libvterm/files/libvterm-0.3.2-slibtool.patch b/dev-libs/libvterm/files/libvterm-0.3.2-slibtool.patch
new file mode 100644
index 000000000000..f4c9cf33a2ca
--- /dev/null
+++ b/dev-libs/libvterm/files/libvterm-0.3.2-slibtool.patch
@@ -0,0 +1,99 @@
+Author: orbea <orbea@riseup.net>
+Date: Tue Aug 29 16:56:23 2023 -0700
+Subject: [PATCH] build: Add a minimal configures script
+
+When building libvterm with slibtool using the rlibtool symlink the
+build will fail when the generated libtool is not found. This file is
+required with rlibtool so that the build can determine if the build
+should be shared, static or both.
+
+This can be solved by adding a minimal configure script.
+
+The build steps are now:
+
+autoreconf -fi
+./configure
+make
+make install
+
+Gentoo Bug: https://bugs.gentoo.org/779034
+
+diff --git a/Makefile b/Makefile.in
+similarity index 88%
+rename from Makefile
+rename to Makefile.in
+--- a/Makefile
++++ b/Makefile.in
+@@ -1,13 +1,13 @@
+-ifeq ($(shell uname),Darwin)
+- LIBTOOL ?= glibtool
+-else
+- LIBTOOL ?= libtool
+-endif
++top_builddir = @top_builddir@
++
++LIBTOOL = @LIBTOOL@
+
+ ifneq ($(VERBOSE),1)
+ LIBTOOL +=--quiet
+ endif
+
++CC = @CC@
++
+ override CFLAGS +=-Wall -Iinclude -std=c99 -Wpedantic
+
+ ifeq ($(shell uname),SunOS)
+@@ -36,17 +36,21 @@ INCFILES=$(TBLFILES:.tbl=.inc)
+
+ HFILES_INT=$(sort $(wildcard src/*.h)) $(HFILES)
+
++VERSION_MAJOR=@VERSION_MAJOR@
++VERSION_MINOR=@VERSION_MINOR@
++
+ VERSION_CURRENT=0
+ VERSION_REVISION=0
+ VERSION_AGE=0
+
+-VERSION=0.3.2
++VERSION=@PACKAGE_VERSION@
+
+-PREFIX=/usr/local
+-BINDIR=$(PREFIX)/bin
+-LIBDIR=$(PREFIX)/lib
+-INCDIR=$(PREFIX)/include
+-MANDIR=$(PREFIX)/share/man
++prefix=@prefix@
++exec_prefix=@exec_prefix@
++BINDIR=@bindir@
++LIBDIR=@libdir@
++INCDIR=@includedir@
++MANDIR=@mandir@
+ MAN3DIR=$(MANDIR)/man3
+
+ all: $(LIBRARY) $(BINFILES)
+@@ -70,7 +74,7 @@ src/encoding.lo: $(INCFILES)
+
+ bin/%: bin/%.c $(LIBRARY)
+ @echo CC $<
+- @$(LIBTOOL) --mode=link --tag=CC $(CC) $(CFLAGS) -o $@ $< -lvterm $(LDFLAGS)
++ @$(LIBTOOL) --mode=link --tag=CC $(CC) $(CFLAGS) -o $@ $^ $(LDFLAGS)
+
+ t/harness.lo: t/harness.c $(HFILES)
+ @echo CC $<
+--- /dev/null
++++ b/configure.ac
+@@ -0,0 +1,14 @@
++m4_define([version_major], [0])
++m4_define([version_minor], [3])
++
++AC_INIT([libvterm], [version_major.version_minor])
++AC_CONFIG_FILES([Makefile])
++
++LT_INIT
++
++AC_SUBST([top_builddir], [$abs_builddir])
++
++AC_SUBST([VERSION_MAJOR], [version_major])
++AC_SUBST([VERSION_MINOR], [version_minor])
++
++AC_OUTPUT
diff --git a/dev-libs/libvterm/files/libvterm-0.3.3-slibtool.patch b/dev-libs/libvterm/files/libvterm-0.3.3-slibtool.patch
new file mode 100644
index 000000000000..f439a1febc89
--- /dev/null
+++ b/dev-libs/libvterm/files/libvterm-0.3.3-slibtool.patch
@@ -0,0 +1,102 @@
+Author: orbea <orbea@riseup.net>
+Date: Tue Aug 29 16:56:23 2023 -0700
+Subject: [PATCH] build: Add a minimal configures script
+
+When building libvterm with slibtool using the rlibtool symlink the
+build will fail when the generated libtool is not found. This file is
+required with rlibtool so that the build can determine if the build
+should be shared, static or both.
+
+This can be solved by adding a minimal configure script.
+
+The build steps are now:
+
+autoreconf -fi
+./configure
+make
+make install
+
+Gentoo Bug: https://bugs.gentoo.org/779034
+diff --git a/Makefile b/Makefile.in
+similarity index 88%
+rename from Makefile
+rename to Makefile.in
+index 41b08ed..763c8c4 100644
+--- a/Makefile
++++ b/Makefile.in
+@@ -1,13 +1,13 @@
+-ifeq ($(shell uname),Darwin)
+- LIBTOOL ?= glibtool
+-else
+- LIBTOOL ?= libtool
+-endif
++top_builddir = @top_builddir@
++
++LIBTOOL = @LIBTOOL@
+
+ ifneq ($(VERBOSE),1)
+ LIBTOOL +=--quiet
+ endif
+
++CC = @CC@
++
+ override CFLAGS +=-Wall -Iinclude -std=c99 -Wpedantic
+
+ ifeq ($(shell uname),SunOS)
+@@ -36,17 +36,21 @@ INCFILES=$(TBLFILES:.tbl=.inc)
+
+ HFILES_INT=$(sort $(wildcard src/*.h)) $(HFILES)
+
++VERSION_MAJOR=@VERSION_MAJOR@
++VERSION_MINOR=@VERSION_MINOR@
++
+ VERSION_CURRENT=0
+ VERSION_REVISION=0
+ VERSION_AGE=0
+
+-VERSION=0.3.3
++VERSION=@PACKAGE_VERSION@
+
+-PREFIX=/usr/local
+-BINDIR=$(PREFIX)/bin
+-LIBDIR=$(PREFIX)/lib
+-INCDIR=$(PREFIX)/include
+-MANDIR=$(PREFIX)/share/man
++prefix=@prefix@
++exec_prefix=@exec_prefix@
++BINDIR=@bindir@
++LIBDIR=@libdir@
++INCDIR=@includedir@
++MANDIR=@mandir@
+ MAN3DIR=$(MANDIR)/man3
+
+ all: $(LIBRARY) $(BINFILES)
+@@ -70,7 +74,7 @@ src/encoding.lo: $(INCFILES)
+
+ bin/%: bin/%.c $(LIBRARY)
+ @echo CC $<
+- @$(LIBTOOL) --mode=link --tag=CC $(CC) $(CFLAGS) -o $@ $< -lvterm $(LDFLAGS)
++ @$(LIBTOOL) --mode=link --tag=CC $(CC) $(CFLAGS) -o $@ $^ $(LDFLAGS)
+
+ t/harness.lo: t/harness.c $(HFILES)
+ @echo CC $<
+diff --git a/configure.ac b/configure.ac
+new file mode 100644
+index 0000000..34292fd
+--- /dev/null
++++ b/configure.ac
+@@ -0,0 +1,14 @@
++m4_define([version_major], [0])
++m4_define([version_minor], [3])
++
++AC_INIT([libvterm], [version_major.version_minor])
++AC_CONFIG_FILES([Makefile])
++
++LT_INIT
++
++AC_SUBST([top_builddir], [$abs_builddir])
++
++AC_SUBST([VERSION_MAJOR], [version_major])
++AC_SUBST([VERSION_MINOR], [version_minor])
++
++AC_OUTPUT
diff --git a/dev-libs/libvterm/libvterm-0.0_pre20181126.ebuild b/dev-libs/libvterm/libvterm-0.0_pre20181126.ebuild
deleted file mode 100644
index 75e2b16d3eb5..000000000000
--- a/dev-libs/libvterm/libvterm-0.0_pre20181126.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 flag-o-matic toolchain-funcs
-
-DESCRIPTION="An abstract library implementation of a VT220/xterm/ECMA-48 terminal emulator"
-HOMEPAGE="http://www.leonerd.org.uk/code/libvterm/"
-SRC_URI="https://dev.gentoo.org/~tranquility/distfiles/${P}.tar.gz"
-S="${WORKDIR}"/libvterm-0.0
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~x86"
-
-BDEPEND="
- sys-devel/libtool
- virtual/pkgconfig"
-RDEPEND="!dev-libs/libvterm-neovim"
-
-src_compile() {
- tc-export CC
- append-cflags -fPIC
-
- emake PREFIX="${EPREFIX}/usr" LIBDIR="${EPREFIX}/usr/$(get_libdir)"
-}
-
-src_install() {
- emake \
- PREFIX="${EPREFIX}/usr" \
- LIBDIR="${EPREFIX}/usr/$(get_libdir)" \
- DESTDIR="${D}" install
-
- find "${ED}" -name '*.la' -delete || die
-}
diff --git a/dev-libs/libvterm/libvterm-0.1.1.ebuild b/dev-libs/libvterm/libvterm-0.1.1.ebuild
deleted file mode 100644
index 64440bd5eae4..000000000000
--- a/dev-libs/libvterm/libvterm-0.1.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
-
-inherit flag-o-matic toolchain-funcs
-
-DESCRIPTION="An abstract library implementation of a VT220/xterm/ECMA-48 terminal emulator"
-HOMEPAGE="http://www.leonerd.org.uk/code/libvterm/"
-SRC_URI="https://launchpad.net/${PN}/trunk/v$(ver_cut 1-2)/+download/${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~x86"
-
-BDEPEND="
- dev-lang/perl
- sys-devel/libtool
- virtual/pkgconfig
-"
-RDEPEND="!dev-libs/libvterm-neovim"
-
-src_compile() {
- tc-export CC
- append-cflags -fPIC
-
- emake VERBOSE=1 PREFIX="${EPREFIX}/usr" LIBDIR="${EPREFIX}/usr/$(get_libdir)"
-}
-
-src_install() {
- emake \
- VERBOSE=1 \
- PREFIX="${EPREFIX}/usr" \
- LIBDIR="${EPREFIX}/usr/$(get_libdir)" \
- DESTDIR="${D}" install
-
- find "${ED}" -name '*.la' -delete || die "Failed to prune libtool files"
-}
diff --git a/dev-libs/libvterm/libvterm-0.1.2.ebuild b/dev-libs/libvterm/libvterm-0.1.2.ebuild
deleted file mode 100644
index d4ac11e08b8e..000000000000
--- a/dev-libs/libvterm/libvterm-0.1.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
-
-inherit flag-o-matic toolchain-funcs
-
-DESCRIPTION="An abstract library implementation of a VT220/xterm/ECMA-48 terminal emulator"
-HOMEPAGE="http://www.leonerd.org.uk/code/libvterm/"
-SRC_URI="http://www.leonerd.org.uk/code/${PN}/${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 ~arm x86"
-
-BDEPEND="
- dev-lang/perl
- sys-devel/libtool
- virtual/pkgconfig
-"
-RDEPEND="!dev-libs/libvterm-neovim"
-
-src_compile() {
- tc-export CC
- append-cflags -fPIC
-
- emake VERBOSE=1 PREFIX="${EPREFIX}/usr" \
- LIBDIR="${EPREFIX}/usr/$(get_libdir)"
-}
-
-src_install() {
- emake \
- VERBOSE=1 \
- PREFIX="${EPREFIX}/usr" \
- LIBDIR="${EPREFIX}/usr/$(get_libdir)" \
- DESTDIR="${D}" install
-
- find "${ED}" -name '*.la' -delete || die "Failed to prune libtool files"
-}
diff --git a/dev-libs/libvterm/libvterm-0.1.3.ebuild b/dev-libs/libvterm/libvterm-0.1.3.ebuild
deleted file mode 100644
index 47bea98026fe..000000000000
--- a/dev-libs/libvterm/libvterm-0.1.3.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
-
-inherit flag-o-matic toolchain-funcs
-
-DESCRIPTION="An abstract library implementation of a VT220/xterm/ECMA-48 terminal emulator"
-HOMEPAGE="http://www.leonerd.org.uk/code/libvterm/"
-SRC_URI="http://www.leonerd.org.uk/code/${PN}/${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 ~arm ~arm64 ~riscv x86 ~x64-macos"
-
-BDEPEND="
- dev-lang/perl
- sys-devel/libtool
- virtual/pkgconfig
-"
-RDEPEND="!dev-libs/libvterm-neovim"
-
-src_compile() {
- tc-export CC
-
- append-cflags -fPIC
- emake VERBOSE=1 PREFIX="${EPREFIX}/usr" \
- LIBDIR="${EPREFIX}/usr/$(get_libdir)"
-}
-
-src_install() {
- emake \
- VERBOSE=1 \
- PREFIX="${EPREFIX}/usr" \
- LIBDIR="${EPREFIX}/usr/$(get_libdir)" \
- DESTDIR="${D}" install
-
- find "${ED}" -name '*.la' -delete || die "Failed to prune libtool files"
-}
diff --git a/dev-libs/libvterm/libvterm-0.1.4-r1.ebuild b/dev-libs/libvterm/libvterm-0.1.4-r1.ebuild
new file mode 100644
index 000000000000..10402580dbb5
--- /dev/null
+++ b/dev-libs/libvterm/libvterm-0.1.4-r1.ebuild
@@ -0,0 +1,37 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools
+
+DESCRIPTION="An abstract library implementation of a VT220/xterm/ECMA-48 terminal emulator"
+HOMEPAGE="https://www.leonerd.org.uk/code/libvterm/"
+SRC_URI="https://www.leonerd.org.uk/code/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~x86 ~x64-macos"
+
+BDEPEND="
+ dev-lang/perl
+ virtual/pkgconfig
+"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-slibtool.patch # 779034
+)
+
+src_prepare() {
+ default
+ eautoreconf
+}
+
+src_compile() {
+ emake VERBOSE=1
+}
+
+src_install() {
+ emake VERBOSE=1 DESTDIR="${D}" install
+ find "${ED}" -name '*.la' -delete || die "Failed to prune libtool files"
+}
diff --git a/dev-libs/libvterm/libvterm-0.1.4.ebuild b/dev-libs/libvterm/libvterm-0.1.4.ebuild
new file mode 100644
index 000000000000..0354fdbb6843
--- /dev/null
+++ b/dev-libs/libvterm/libvterm-0.1.4.ebuild
@@ -0,0 +1,39 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit flag-o-matic toolchain-funcs
+
+DESCRIPTION="An abstract library implementation of a VT220/xterm/ECMA-48 terminal emulator"
+HOMEPAGE="https://www.leonerd.org.uk/code/libvterm/"
+SRC_URI="https://www.leonerd.org.uk/code/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 ~arm arm64 ~riscv x86 ~x64-macos"
+
+BDEPEND="
+ dev-lang/perl
+ dev-build/libtool
+ virtual/pkgconfig
+"
+RDEPEND="!dev-libs/libvterm-neovim"
+
+src_compile() {
+ tc-export CC
+
+ append-cflags -fPIC
+ emake VERBOSE=1 PREFIX="${EPREFIX}/usr" \
+ LIBDIR="${EPREFIX}/usr/$(get_libdir)"
+}
+
+src_install() {
+ emake \
+ VERBOSE=1 \
+ PREFIX="${EPREFIX}/usr" \
+ LIBDIR="${EPREFIX}/usr/$(get_libdir)" \
+ DESTDIR="${D}" install
+
+ find "${ED}" -name '*.la' -delete || die "Failed to prune libtool files"
+}
diff --git a/dev-libs/libvterm/libvterm-0.3.1.ebuild b/dev-libs/libvterm/libvterm-0.3.1.ebuild
new file mode 100644
index 000000000000..3e8a3397345c
--- /dev/null
+++ b/dev-libs/libvterm/libvterm-0.3.1.ebuild
@@ -0,0 +1,28 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DESCRIPTION="An abstract library implementation of a VT220/xterm/ECMA-48 terminal emulator"
+HOMEPAGE="https://www.leonerd.org.uk/code/libvterm/"
+SRC_URI="https://www.leonerd.org.uk/code/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86 ~x64-macos"
+
+BDEPEND="
+ dev-lang/perl
+ dev-build/libtool
+"
+
+src_compile() {
+ emake VERBOSE=1 PREFIX="${EPREFIX}"/usr LIBDIR="${EPREFIX}/usr/$(get_libdir)"
+}
+
+src_install() {
+ emake VERBOSE=1 DESTDIR="${D}" PREFIX="${EPREFIX}"/usr LIBDIR="${EPREFIX}/usr/$(get_libdir)" install
+
+ find "${ED}" -name '*.la' -delete || die "Failed to prune libtool files"
+ find "${ED}" -name '*.a' -delete || die
+}
diff --git a/dev-libs/libvterm/libvterm-0.3.2-r1.ebuild b/dev-libs/libvterm/libvterm-0.3.2-r1.ebuild
new file mode 100644
index 000000000000..a7234920ee47
--- /dev/null
+++ b/dev-libs/libvterm/libvterm-0.3.2-r1.ebuild
@@ -0,0 +1,43 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools
+
+DESCRIPTION="An abstract library implementation of a VT220/xterm/ECMA-48 terminal emulator"
+HOMEPAGE="https://www.leonerd.org.uk/code/libvterm/"
+SRC_URI="https://www.leonerd.org.uk/code/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86 ~x64-macos"
+
+BDEPEND="
+ dev-lang/perl
+ virtual/pkgconfig
+"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-0.3.2-slibtool.patch # 779034
+)
+
+src_prepare() {
+ default
+ eautoreconf
+}
+
+src_compile() {
+ emake VERBOSE=1
+}
+
+src_test() {
+ emake VERBOSE=1 test
+}
+
+src_install() {
+ emake VERBOSE=1 DESTDIR="${D}" install
+
+ find "${ED}" -name '*.la' -delete || die "Failed to prune libtool files"
+ find "${ED}" -name '*.a' -delete || die
+}
diff --git a/dev-libs/libvterm/libvterm-0.3.2.ebuild b/dev-libs/libvterm/libvterm-0.3.2.ebuild
new file mode 100644
index 000000000000..66667c0c8839
--- /dev/null
+++ b/dev-libs/libvterm/libvterm-0.3.2.ebuild
@@ -0,0 +1,42 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit toolchain-funcs
+
+DESCRIPTION="An abstract library implementation of a VT220/xterm/ECMA-48 terminal emulator"
+HOMEPAGE="https://www.leonerd.org.uk/code/libvterm/"
+SRC_URI="https://www.leonerd.org.uk/code/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86 ~x64-macos"
+
+BDEPEND="
+ dev-lang/perl
+ dev-build/libtool
+"
+
+src_compile() {
+ MYMAKEARGS=(
+ VERBOSE=1
+ PREFIX="${EPREFIX}"/usr
+ LIBDIR="${EPREFIX}/usr/$(get_libdir)"
+
+ CC="$(tc-getCC)"
+ )
+
+ emake "${MYMAKEARGS[@]}"
+}
+
+src_test() {
+ emake "${MYMAKEARGS[@]}" test
+}
+
+src_install() {
+ emake "${MYMAKEARGS[@]}" DESTDIR="${D}" install
+
+ find "${ED}" -name '*.la' -delete || die "Failed to prune libtool files"
+ find "${ED}" -name '*.a' -delete || die
+}
diff --git a/dev-libs/libvterm/libvterm-0.3.3.ebuild b/dev-libs/libvterm/libvterm-0.3.3.ebuild
new file mode 100644
index 000000000000..65429a6a6639
--- /dev/null
+++ b/dev-libs/libvterm/libvterm-0.3.3.ebuild
@@ -0,0 +1,43 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools
+
+DESCRIPTION="An abstract library implementation of a VT220/xterm/ECMA-48 terminal emulator"
+HOMEPAGE="https://www.leonerd.org.uk/code/libvterm/"
+SRC_URI="https://launchpad.net/libvterm/trunk/v0.3/+download/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 ~arm arm64 ~ppc ~ppc64 ~riscv x86 ~x64-macos"
+
+BDEPEND="
+ dev-lang/perl
+ virtual/pkgconfig
+"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-0.3.3-slibtool.patch # 779034
+)
+
+src_prepare() {
+ default
+ eautoreconf
+}
+
+src_compile() {
+ emake VERBOSE=1
+}
+
+src_test() {
+ emake VERBOSE=1 test
+}
+
+src_install() {
+ emake VERBOSE=1 DESTDIR="${D}" install
+
+ find "${ED}" -name '*.la' -delete || die "Failed to prune libtool files"
+ find "${ED}" -name '*.a' -delete || die
+}
diff --git a/dev-libs/libvterm/libvterm-0.3.ebuild b/dev-libs/libvterm/libvterm-0.3.ebuild
new file mode 100644
index 000000000000..3d18f7eb2f0c
--- /dev/null
+++ b/dev-libs/libvterm/libvterm-0.3.ebuild
@@ -0,0 +1,28 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DESCRIPTION="An abstract library implementation of a VT220/xterm/ECMA-48 terminal emulator"
+HOMEPAGE="https://www.leonerd.org.uk/code/libvterm/"
+SRC_URI="https://www.leonerd.org.uk/code/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 ~arm arm64 ~ppc64 ~riscv x86 ~x64-macos"
+
+BDEPEND="
+ dev-lang/perl
+ dev-build/libtool
+"
+
+src_compile() {
+ emake VERBOSE=1 PREFIX="${EPREFIX}"/usr LIBDIR="${EPREFIX}/usr/$(get_libdir)"
+}
+
+src_install() {
+ emake VERBOSE=1 DESTDIR="${D}" PREFIX="${EPREFIX}"/usr LIBDIR="${EPREFIX}/usr/$(get_libdir)" install
+
+ find "${ED}" -name '*.la' -delete || die "Failed to prune libtool files"
+ find "${ED}" -name '*.a' -delete || die
+}
diff --git a/dev-libs/libvterm/metadata.xml b/dev-libs/libvterm/metadata.xml
index 23f733cc8624..f370d3be1a38 100644
--- a/dev-libs/libvterm/metadata.xml
+++ b/dev-libs/libvterm/metadata.xml
@@ -5,4 +5,7 @@
<email>vim@gentoo.org</email>
<name>Gentoo Vim Project</name>
</maintainer>
+ <upstream>
+ <remote-id type="launchpad">libvterm</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/dev-libs/libwacom/Manifest b/dev-libs/libwacom/Manifest
index 0960301449ea..087008f73bd8 100644
--- a/dev-libs/libwacom/Manifest
+++ b/dev-libs/libwacom/Manifest
@@ -1,2 +1,4 @@
-DIST libwacom-1.11.tar.bz2 519285 BLAKE2B fb26190d752316b5d25659d2ae76681bfff1803463360aa138eab91ed7d7ef2d04dfb6bdd4f8c2effc45a495ef3afc312a817d4fd41cd8167172cafd9f5cee9f SHA512 24e8183502dd2b928d53b3d26d8479210e855c94c225649d63ac33062a30615654ff0ab8666a25503fb3253125539cd845ca467fb228a01c608dc3adbbec73b5
-DIST libwacom-1.12.tar.bz2 543819 BLAKE2B fdbfba23d7b1e047757b0c0ff698a484cadc91c199459e1da49bfd5a5406aeb62d2ca43856f7d8363c3f36c7c05f4d3160e8fb576c3d18f085144dec259d49c5 SHA512 4e0084eda01e78f52336f3f1f1ea3ea86cb9c5fdd6d6c0316662405ebe2a328d6837f8db855e58f5fa95a640a5d456a081a7de339a372bf851bc0d5c69530379
+DIST libwacom-2.10.0.tar.xz 114952 BLAKE2B ec9226feeac9998bc8b1886967db1ef5ea34312717eec5cce31796ffb2209cd479f6b2c1f7e2fe63c7c26ff7bdc93cf33a04314caefe84bb1113693086a78de5 SHA512 dc62db42596e14ace8463bc6bb115503d55f14c23a2a259b2169746e21b25eeeaacc09d7d1dd85c3e05f6dc5f3d96a3c757b2c93b171673e8f869337408495f9
+DIST libwacom-2.6.0.tar.xz 110288 BLAKE2B 321bacccab84f287141257b4c7af12822fca976c335027d399765fdbbb2c59eabcc76f40d4fd83c7cf1cdc88e2c57ccd317b1922ea3dddb98cf2a0847e920ff1 SHA512 aacf234e77bd976de2e2a687294c5ab704dca5a70df01fa2485441029e4faa34bec2824c455642115ae79f5cbbac41d064569e4eb2788655c324b37149009d26
+DIST libwacom-2.7.0.tar.xz 111424 BLAKE2B 2cb046a7390c017680a2a67197896b0613fa3b0ca65d388b5d760fba1438c3079786efa77a5b69d26dce7b8813436ca4240500ef00d77e11427fee81df912d64 SHA512 47dd8fc7b82fce88ae9d857bcbecec2e45f2a83e832a5e1f97d5b09f77a2dacd53a470e08e756217fe7c5ef4420fdd8d3e3c37071336f7a3dce522b9fa781583
+DIST libwacom-2.8.0.tar.xz 112244 BLAKE2B cc9bd7118f8e8d8d4ee3a22a6af20f00b95a3660cbc7c0822b7c067c1e78d89a9615db710cd8f3fbcf3a14ccdd434a2694dbb3ce0ef9bdd540b456c774927536 SHA512 b374ee8ded4f5cb7961699d2b9826ad69a3089f9a3073b4275596e1036f0e08813fba09c98653e852da73781c34c779e3faf20dab66eff667812a655e153f133
diff --git a/dev-libs/libwacom/libwacom-1.11.ebuild b/dev-libs/libwacom/libwacom-1.11.ebuild
deleted file mode 100644
index acfda32d8405..000000000000
--- a/dev-libs/libwacom/libwacom-1.11.ebuild
+++ /dev/null
@@ -1,58 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..10} )
-inherit meson python-any-r1 toolchain-funcs udev
-
-DESCRIPTION="Library for identifying Wacom tablets and their model-specific features"
-HOMEPAGE="https://github.com/linuxwacom/libwacom"
-SRC_URI="https://github.com/linuxwacom/${PN}/releases/download/${P}/${P}.tar.bz2"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm ~arm64 ~ia64 ppc ppc64 sparc x86"
-IUSE="doc test"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- dev-libs/glib:2
- dev-libs/libgudev:=
-"
-DEPEND="${RDEPEND}"
-BDEPEND="
- virtual/pkgconfig
- doc? ( app-doc/doxygen )
- test? (
- ${PYTHON_DEPS}
- $(python_gen_any_dep '
- dev-python/python-libevdev[${PYTHON_USEDEP}]
- dev-python/pyudev[${PYTHON_USEDEP}]
- dev-python/pytest[${PYTHON_USEDEP}]
- ')
- )
-"
-
-python_check_deps() {
- has_version -b "dev-python/python-libevdev[${PYTHON_USEDEP}]" &&
- has_version -b "dev-python/pyudev[${PYTHON_USEDEP}]" &&
- has_version -b "dev-python/pytest[${PYTHON_USEDEP}]"
-}
-
-pkg_setup() {
- tc-ld-disable-gold # bug https://github.com/linuxwacom/libwacom/issues/170
-
- if use test; then
- python-any-r1_pkg_setup
- fi
-}
-
-src_configure() {
- local emesonargs=(
- $(meson_feature doc documentation)
- $(meson_feature test tests)
- -Dudev-dir=$(get_udevdir)
- )
- meson_src_configure
-}
diff --git a/dev-libs/libwacom/libwacom-1.12.ebuild b/dev-libs/libwacom/libwacom-1.12.ebuild
deleted file mode 100644
index acfda32d8405..000000000000
--- a/dev-libs/libwacom/libwacom-1.12.ebuild
+++ /dev/null
@@ -1,58 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..10} )
-inherit meson python-any-r1 toolchain-funcs udev
-
-DESCRIPTION="Library for identifying Wacom tablets and their model-specific features"
-HOMEPAGE="https://github.com/linuxwacom/libwacom"
-SRC_URI="https://github.com/linuxwacom/${PN}/releases/download/${P}/${P}.tar.bz2"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm ~arm64 ~ia64 ppc ppc64 sparc x86"
-IUSE="doc test"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- dev-libs/glib:2
- dev-libs/libgudev:=
-"
-DEPEND="${RDEPEND}"
-BDEPEND="
- virtual/pkgconfig
- doc? ( app-doc/doxygen )
- test? (
- ${PYTHON_DEPS}
- $(python_gen_any_dep '
- dev-python/python-libevdev[${PYTHON_USEDEP}]
- dev-python/pyudev[${PYTHON_USEDEP}]
- dev-python/pytest[${PYTHON_USEDEP}]
- ')
- )
-"
-
-python_check_deps() {
- has_version -b "dev-python/python-libevdev[${PYTHON_USEDEP}]" &&
- has_version -b "dev-python/pyudev[${PYTHON_USEDEP}]" &&
- has_version -b "dev-python/pytest[${PYTHON_USEDEP}]"
-}
-
-pkg_setup() {
- tc-ld-disable-gold # bug https://github.com/linuxwacom/libwacom/issues/170
-
- if use test; then
- python-any-r1_pkg_setup
- fi
-}
-
-src_configure() {
- local emesonargs=(
- $(meson_feature doc documentation)
- $(meson_feature test tests)
- -Dudev-dir=$(get_udevdir)
- )
- meson_src_configure
-}
diff --git a/dev-libs/libwacom/libwacom-2.10.0.ebuild b/dev-libs/libwacom/libwacom-2.10.0.ebuild
new file mode 100644
index 000000000000..ec6ea6420bb5
--- /dev/null
+++ b/dev-libs/libwacom/libwacom-2.10.0.ebuild
@@ -0,0 +1,68 @@
+# 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 python-any-r1 udev
+
+DESCRIPTION="Library for identifying Wacom tablets and their model-specific features"
+HOMEPAGE="https://github.com/linuxwacom/libwacom"
+SRC_URI="https://github.com/linuxwacom/${PN}/releases/download/${P}/${P}.tar.xz"
+
+LICENSE="MIT"
+SLOT="0/9" # libwacom SONAME
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ia64 ~ppc ~ppc64 ~sparc ~x86"
+IUSE="doc test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ dev-libs/glib:2
+ dev-libs/libevdev
+ dev-libs/libgudev:=
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ ${PYTHON_DEPS}
+ virtual/pkgconfig
+ doc? ( app-text/doxygen )
+ test? (
+ $(python_gen_any_dep '
+ dev-python/libevdev[${PYTHON_USEDEP}]
+ dev-python/pyudev[${PYTHON_USEDEP}]
+ dev-python/pytest[${PYTHON_USEDEP}]
+ ')
+ )
+"
+
+python_check_deps() {
+ use test || return 0
+ python_has_version \
+ "dev-python/libevdev[${PYTHON_USEDEP}]" \
+ "dev-python/pyudev[${PYTHON_USEDEP}]" \
+ "dev-python/pytest[${PYTHON_USEDEP}]"
+}
+
+src_prepare() {
+ default
+
+ # Don't call systemd daemon-reload in the test suite
+ sed -i -e '/daemon-reload/d' test/test_udev_rules.py || die
+}
+
+src_configure() {
+ local emesonargs=(
+ $(meson_feature doc documentation)
+ $(meson_feature test tests)
+ -Dudev-dir=$(get_udevdir)
+ )
+ meson_src_configure
+}
+
+pkg_postinst() {
+ udev_reload
+}
+
+pkg_postrm() {
+ udev_reload
+}
diff --git a/dev-libs/libwacom/libwacom-2.6.0.ebuild b/dev-libs/libwacom/libwacom-2.6.0.ebuild
new file mode 100644
index 000000000000..d1ebf1a3d796
--- /dev/null
+++ b/dev-libs/libwacom/libwacom-2.6.0.ebuild
@@ -0,0 +1,71 @@
+# 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 python-any-r1 udev
+
+DESCRIPTION="Library for identifying Wacom tablets and their model-specific features"
+HOMEPAGE="https://github.com/linuxwacom/libwacom"
+SRC_URI="https://github.com/linuxwacom/${PN}/releases/download/${P}/${P}.tar.xz"
+
+LICENSE="MIT"
+SLOT="0/9" # libwacom SONAME
+KEYWORDS="~alpha amd64 arm ~arm64 ~ia64 ppc ppc64 sparc x86"
+IUSE="doc test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ dev-libs/glib:2
+ dev-libs/libgudev:=
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ virtual/pkgconfig
+ doc? ( app-text/doxygen )
+ test? (
+ ${PYTHON_DEPS}
+ $(python_gen_any_dep '
+ dev-python/libevdev[${PYTHON_USEDEP}]
+ dev-python/pyudev[${PYTHON_USEDEP}]
+ dev-python/pytest[${PYTHON_USEDEP}]
+ ')
+ )
+"
+
+python_check_deps() {
+ python_has_version "dev-python/libevdev[${PYTHON_USEDEP}]" &&
+ python_has_version "dev-python/pyudev[${PYTHON_USEDEP}]" &&
+ python_has_version "dev-python/pytest[${PYTHON_USEDEP}]"
+}
+
+pkg_setup() {
+ if use test; then
+ python-any-r1_pkg_setup
+ fi
+}
+
+src_prepare() {
+ default
+
+ # Don't call systemd daemon-reload in the test suite
+ sed -i -e '/daemon-reload/d' test/test_udev_rules.py || die
+}
+
+src_configure() {
+ local emesonargs=(
+ $(meson_feature doc documentation)
+ $(meson_feature test tests)
+ -Dudev-dir=$(get_udevdir)
+ )
+ meson_src_configure
+}
+
+pkg_postinst() {
+ udev_reload
+}
+
+pkg_postrm() {
+ udev_reload
+}
diff --git a/dev-libs/libwacom/libwacom-2.7.0.ebuild b/dev-libs/libwacom/libwacom-2.7.0.ebuild
new file mode 100644
index 000000000000..d1ebf1a3d796
--- /dev/null
+++ b/dev-libs/libwacom/libwacom-2.7.0.ebuild
@@ -0,0 +1,71 @@
+# 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 python-any-r1 udev
+
+DESCRIPTION="Library for identifying Wacom tablets and their model-specific features"
+HOMEPAGE="https://github.com/linuxwacom/libwacom"
+SRC_URI="https://github.com/linuxwacom/${PN}/releases/download/${P}/${P}.tar.xz"
+
+LICENSE="MIT"
+SLOT="0/9" # libwacom SONAME
+KEYWORDS="~alpha amd64 arm ~arm64 ~ia64 ppc ppc64 sparc x86"
+IUSE="doc test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ dev-libs/glib:2
+ dev-libs/libgudev:=
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ virtual/pkgconfig
+ doc? ( app-text/doxygen )
+ test? (
+ ${PYTHON_DEPS}
+ $(python_gen_any_dep '
+ dev-python/libevdev[${PYTHON_USEDEP}]
+ dev-python/pyudev[${PYTHON_USEDEP}]
+ dev-python/pytest[${PYTHON_USEDEP}]
+ ')
+ )
+"
+
+python_check_deps() {
+ python_has_version "dev-python/libevdev[${PYTHON_USEDEP}]" &&
+ python_has_version "dev-python/pyudev[${PYTHON_USEDEP}]" &&
+ python_has_version "dev-python/pytest[${PYTHON_USEDEP}]"
+}
+
+pkg_setup() {
+ if use test; then
+ python-any-r1_pkg_setup
+ fi
+}
+
+src_prepare() {
+ default
+
+ # Don't call systemd daemon-reload in the test suite
+ sed -i -e '/daemon-reload/d' test/test_udev_rules.py || die
+}
+
+src_configure() {
+ local emesonargs=(
+ $(meson_feature doc documentation)
+ $(meson_feature test tests)
+ -Dudev-dir=$(get_udevdir)
+ )
+ meson_src_configure
+}
+
+pkg_postinst() {
+ udev_reload
+}
+
+pkg_postrm() {
+ udev_reload
+}
diff --git a/dev-libs/libwacom/libwacom-2.8.0.ebuild b/dev-libs/libwacom/libwacom-2.8.0.ebuild
new file mode 100644
index 000000000000..3267e544f61e
--- /dev/null
+++ b/dev-libs/libwacom/libwacom-2.8.0.ebuild
@@ -0,0 +1,67 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..11} )
+inherit meson python-any-r1 udev
+
+DESCRIPTION="Library for identifying Wacom tablets and their model-specific features"
+HOMEPAGE="https://github.com/linuxwacom/libwacom"
+SRC_URI="https://github.com/linuxwacom/${PN}/releases/download/${P}/${P}.tar.xz"
+
+LICENSE="MIT"
+SLOT="0/9" # libwacom SONAME
+KEYWORDS="~alpha amd64 arm ~arm64 ~ia64 ppc ppc64 sparc x86"
+IUSE="doc test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ dev-libs/glib:2
+ dev-libs/libgudev:=
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ ${PYTHON_DEPS}
+ virtual/pkgconfig
+ doc? ( app-text/doxygen )
+ test? (
+ $(python_gen_any_dep '
+ dev-python/libevdev[${PYTHON_USEDEP}]
+ dev-python/pyudev[${PYTHON_USEDEP}]
+ dev-python/pytest[${PYTHON_USEDEP}]
+ ')
+ )
+"
+
+python_check_deps() {
+ use test || return 0
+ python_has_version \
+ "dev-python/libevdev[${PYTHON_USEDEP}]" \
+ "dev-python/pyudev[${PYTHON_USEDEP}]" \
+ "dev-python/pytest[${PYTHON_USEDEP}]"
+}
+
+src_prepare() {
+ default
+
+ # Don't call systemd daemon-reload in the test suite
+ sed -i -e '/daemon-reload/d' test/test_udev_rules.py || die
+}
+
+src_configure() {
+ local emesonargs=(
+ $(meson_feature doc documentation)
+ $(meson_feature test tests)
+ -Dudev-dir=$(get_udevdir)
+ )
+ meson_src_configure
+}
+
+pkg_postinst() {
+ udev_reload
+}
+
+pkg_postrm() {
+ udev_reload
+}
diff --git a/dev-libs/libwacom/metadata.xml b/dev-libs/libwacom/metadata.xml
index cef68d2eba57..7b987913f902 100644
--- a/dev-libs/libwacom/metadata.xml
+++ b/dev-libs/libwacom/metadata.xml
@@ -5,6 +5,6 @@
<email>freedesktop-bugs@gentoo.org</email>
</maintainer>
<upstream>
- <remote-id type="sourceforge">linuxwacom</remote-id>
+ <remote-id type="github">linuxwacom/libwacom</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-libs/libwapcaplet/files/libwapcaplet-0.4.1-makefile.patch b/dev-libs/libwapcaplet/files/libwapcaplet-0.4.1-makefile.patch
deleted file mode 100644
index 6d84e24de433..000000000000
--- a/dev-libs/libwapcaplet/files/libwapcaplet-0.4.1-makefile.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff --git a/Makefile b/Makefile
-index a220258..0e0799e 100644
---- a/Makefile
-+++ b/Makefile
-@@ -24,7 +24,6 @@ WARNFLAGS := -Wall -W -Wundef -Wpointer-arith -Wcast-align \
- -Wmissing-declarations -Wnested-externs
- # BeOS/Haiku standard library headers issue warnings
- ifneq ($(BUILD),i586-pc-haiku)
-- WARNFLAGS := $(WARNFLAGS) -Werror
- endif
-
- CFLAGS := -D_BSD_SOURCE -D_DEFAULT_SOURCE \
diff --git a/dev-libs/libwapcaplet/libwapcaplet-0.4.3-r1.ebuild b/dev-libs/libwapcaplet/libwapcaplet-0.4.3-r1.ebuild
index 2fa2456ef9f7..d4494f601744 100644
--- a/dev-libs/libwapcaplet/libwapcaplet-0.4.3-r1.ebuild
+++ b/dev-libs/libwapcaplet/libwapcaplet-0.4.3-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
@@ -6,12 +6,12 @@ EAPI=7
inherit netsurf
DESCRIPTION="string internment library, written in C"
-HOMEPAGE="http://www.netsurf-browser.org/projects/libwapcaplet/"
+HOMEPAGE="https://www.netsurf-browser.org/projects/libwapcaplet/"
SRC_URI="https://download.netsurf-browser.org/libs/releases/${P}-src.tar.gz"
LICENSE="MIT"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~x86"
+KEYWORDS="amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~x86"
IUSE="test"
RESTRICT="!test? ( test )"
@@ -19,12 +19,7 @@ RESTRICT="!test? ( test )"
DEPEND="
test? ( >=dev-libs/check-0.9.11 )"
BDEPEND="
- >=dev-util/netsurf-buildsystem-1.7-r1"
-
-PATCHES=(
- # bug 664288
- "${FILESDIR}/${PN}-0.4.1-makefile.patch"
-)
+ >=dev-build/netsurf-buildsystem-1.7-r1"
_emake() {
netsurf_define_makeconf
diff --git a/dev-libs/libwapcaplet/metadata.xml b/dev-libs/libwapcaplet/metadata.xml
index 115e9d64a669..f2908ee10b59 100644
--- a/dev-libs/libwapcaplet/metadata.xml
+++ b/dev-libs/libwapcaplet/metadata.xml
@@ -1,5 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <!-- maintainer-needed -->
+ <maintainer type="person">
+ <email>mjo@gentoo.org</email>
+ <name>Michael Orlitzky</name>
+ </maintainer>
</pkgmetadata>
diff --git a/dev-libs/libwbxml/Manifest b/dev-libs/libwbxml/Manifest
index 272382147f60..0eb3efae0e0b 100644
--- a/dev-libs/libwbxml/Manifest
+++ b/dev-libs/libwbxml/Manifest
@@ -1 +1 @@
-DIST libwbxml-0.11.7.tar.gz 427429 BLAKE2B 1ec456032d4d343f5b11c60dfe5fa5dfb8750c87f1e05c48b1671257822ce7ec121a7006ed9749aacd84d4ce9f5dfa0c358cf3f3581a4a24a34db1c91338f74a SHA512 fc855650661593596a158527682d2c40d800c1fa44169d79e9ca9c6d64d67b6c660807ed89b1bddd644f114c27711356627ac919af91fd7f19d409879505512f
+DIST libwbxml-0.11.8.tar.gz 362833 BLAKE2B 8501a578c1937097a7f0993baf0bed1d645d14441fca149142a8d338f9b6aece7f726576d9170dfc298388c66937d8a6549d52ed75305cab2c427c82b1331dfd SHA512 14b74e3d25f21ce4bf05f4ed546087817c698b5a44190c569b7691e26510b117118bf828e15beccaa4bdd2e744c45f9b5695b38eb7994f3af0f4f81f90ecff69
diff --git a/dev-libs/libwbxml/libwbxml-0.11.7.ebuild b/dev-libs/libwbxml/libwbxml-0.11.7.ebuild
deleted file mode 100644
index a36bf18136e4..000000000000
--- a/dev-libs/libwbxml/libwbxml-0.11.7.ebuild
+++ /dev/null
@@ -1,33 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit cmake
-
-DESCRIPTION="Library and tools to parse, encode and handle WBXML documents"
-HOMEPAGE="https://github.com/libwbxml/libwbxml"
-SRC_URI="https://github.com/${PN}/${PN}/archive/${P}.tar.gz"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="amd64 ppc x86"
-IUSE="test"
-RESTRICT="!test? ( test )"
-
-RDEPEND="dev-libs/expat
- virtual/libiconv"
-DEPEND="${RDEPEND}
- test? ( dev-libs/check )"
-
-DOCS=( BUGS ChangeLog README References THANKS TODO )
-S=${WORKDIR}/${PN}-${P}
-
-src_configure() {
- local mycmakeargs=(
- -DENABLE_INSTALL_DOC=OFF
- -DENABLE_UNIT_TEST=$(usex test)
- )
-
- cmake_src_configure
-}
diff --git a/dev-libs/libwbxml/libwbxml-0.11.8.ebuild b/dev-libs/libwbxml/libwbxml-0.11.8.ebuild
new file mode 100644
index 000000000000..bd47f6f4dd06
--- /dev/null
+++ b/dev-libs/libwbxml/libwbxml-0.11.8.ebuild
@@ -0,0 +1,33 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+DESCRIPTION="Library and tools to parse, encode and handle WBXML documents"
+HOMEPAGE="https://github.com/libwbxml/libwbxml"
+SRC_URI="https://github.com/${PN}/${PN}/archive/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 ppc x86"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="dev-libs/expat
+ virtual/libiconv"
+DEPEND="${RDEPEND}
+ test? ( dev-libs/check )"
+
+DOCS=( BUGS ChangeLog README References THANKS TODO )
+S=${WORKDIR}/${PN}-${P}
+
+src_configure() {
+ local mycmakeargs=(
+ -DENABLE_INSTALL_DOC=OFF
+ -DENABLE_UNIT_TEST=$(usex test)
+ )
+
+ cmake_src_configure
+}
diff --git a/dev-libs/libx86/files/libx86-0.99-ifmask.patch b/dev-libs/libx86/files/libx86-0.99-ifmask.patch
index c99eeb819f72..2a6aaa6fbe47 100644
--- a/dev-libs/libx86/files/libx86-0.99-ifmask.patch
+++ b/dev-libs/libx86/files/libx86-0.99-ifmask.patch
@@ -1,5 +1,5 @@
---- lrmi.c.orig 2008-09-06 12:24:36.070136428 +0200
-+++ lrmi.c 2008-09-06 12:28:10.584287458 +0200
+--- a/lrmi.c
++++ b/lrmi.c
@@ -55,6 +55,18 @@ OTHER DEALINGS IN THE SOFTWARE.
#include "x86-common.h"
diff --git a/dev-libs/libx86/files/libx86-1.1-c99.patch b/dev-libs/libx86/files/libx86-1.1-c99.patch
new file mode 100644
index 000000000000..619ecfefeb03
--- /dev/null
+++ b/dev-libs/libx86/files/libx86-1.1-c99.patch
@@ -0,0 +1,17 @@
+https://bugs.gentoo.org/880429
+https://src.fedoraproject.org/rpms/libx86/blob/rawhide/f/libx86-c99-2.patch
+--- a/thunk.c
++++ b/thunk.c
+@@ -157,10 +157,10 @@ int LRMI_init() {
+ X86EMU_pioFuncs pioFuncs = {
+ (&x_inb),
+ (&x_inw),
+- (&x_inl),
++ ((x86emuu32 (*)(X86EMU_pioAddr)) &x_inl),
+ (&x_outb),
+ (&x_outw),
+- (&x_outl)
++ ((void (*)(X86EMU_pioAddr, x86emuu32)) &x_outl)
+ };
+
+ X86EMU_setupPioFuncs(&pioFuncs);
diff --git a/dev-libs/libx86/files/libx86-1.1-makefile.patch b/dev-libs/libx86/files/libx86-1.1-makefile.patch
index 471c3fbc78fd..4cea20c81a08 100644
--- a/dev-libs/libx86/files/libx86-1.1-makefile.patch
+++ b/dev-libs/libx86/files/libx86-1.1-makefile.patch
@@ -1,5 +1,5 @@
---- Makefile.orig 2013-02-11 16:35:56.834368910 +0400
-+++ Makefile 2013-02-11 16:36:02.587369368 +0400
+--- a/Makefile
++++ b/Makefile
@@ -22,7 +22,7 @@
$(AR) cru libx86.a $(OBJECTS)
diff --git a/dev-libs/libx86/files/libx86-1.1-x86emu.patch b/dev-libs/libx86/files/libx86-1.1-x86emu.patch
index 7b4fe428e1b3..685c7a9ff6de 100644
--- a/dev-libs/libx86/files/libx86-1.1-x86emu.patch
+++ b/dev-libs/libx86/files/libx86-1.1-x86emu.patch
@@ -1,6 +1,5 @@
-diff -Naur libx86-1.1+ds1.orig/Makefile libx86-1.1+ds1/Makefile
---- a/libx86-1.1/Makefile 2008-05-19 12:28:59.000000000 +0300
-+++ b/libx86-1.1/Makefile 2012-02-20 01:32:03.750068423 +0200
+--- a/Makefile
++++ b/Makefile
@@ -5,6 +5,7 @@
ifeq ($(BACKEND),x86emu)
OBJECTS += thunk.o x86emu/decode.o x86emu/debug.o x86emu/fpu.o \
@@ -9,9 +8,8 @@ diff -Naur libx86-1.1+ds1.orig/Makefile libx86-1.1+ds1/Makefile
else
OBJECTS += lrmi.o
endif
-diff -Naur libx86-1.1+ds1.orig/thunk.c libx86-1.1+ds1/thunk.c
---- a/libx86-1.1+ds1.orig/thunk.c 2008-04-03 03:48:00.000000000 +0300
-+++ b/libx86-1.1/thunk.c 2012-02-20 01:12:56.468820192 +0200
+--- a/thunk.c
++++ b/thunk.c
@@ -32,6 +32,7 @@
#define TRUE 1
#define FALSE 0
diff --git a/dev-libs/libx86/libx86-1.1-r4.ebuild b/dev-libs/libx86/libx86-1.1-r4.ebuild
deleted file mode 100644
index 350a47c4a088..000000000000
--- a/dev-libs/libx86/libx86-1.1-r4.ebuild
+++ /dev/null
@@ -1,50 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit toolchain-funcs flag-o-matic
-
-DESCRIPTION="A hardware-independent library for executing real-mode x86 code"
-HOMEPAGE="https://www.codon.org.uk/~mjg59/libx86/"
-SRC_URI="https://www.codon.org.uk/~mjg59/${PN}/downloads/${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 ~arm -ppc -riscv -sparc x86"
-IUSE="static-libs"
-
-src_prepare() {
- # fix compile failure with linux-headers-2.6.26, bug 235599
- eapply -p0 "${FILESDIR}/${PN}-0.99-ifmask.patch"
- # Patch for bugs #236888 and #456648
- eapply -p0 "${FILESDIR}/${P}-makefile.patch"
- # Wider arch compatibility, bug #579682
- eapply -p2 "${FILESDIR}/${P}-x86emu.patch"
-
- eapply_user
-}
-
-src_configure() {
- tc-export CC AR
- append-flags -fno-delete-null-pointer-checks #523276
-}
-
-src_compile() {
- local ARGS
- use x86 || ARGS="BACKEND=x86emu"
- emake ${ARGS} LIBRARY=shared shared
- if use static-libs; then
- emake ${ARGS} objclean
- emake ${ARGS} LIBRARY=static static
- fi
-}
-
-src_install() {
- local install_static;
- use static-libs && install_static='install-static'
- emake \
- LIBDIR="/usr/$(get_libdir)" \
- DESTDIR="${D}" \
- install-header install-shared ${install_static}
-}
diff --git a/dev-libs/libx86/libx86-1.1-r5.ebuild b/dev-libs/libx86/libx86-1.1-r5.ebuild
new file mode 100644
index 000000000000..ac4aa8723d12
--- /dev/null
+++ b/dev-libs/libx86/libx86-1.1-r5.ebuild
@@ -0,0 +1,39 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit flag-o-matic toolchain-funcs
+
+DESCRIPTION="A hardware-independent library for executing real-mode x86 code"
+HOMEPAGE="https://www.codon.org.uk/~mjg59/libx86/"
+SRC_URI="https://www.codon.org.uk/~mjg59/${PN}/downloads/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 ~arm -ppc -riscv -sparc x86"
+
+PATCHES=(
+ # fix compile failure with linux-headers-2.6.26, bug 235599
+ "${FILESDIR}"/${PN}-0.99-ifmask.patch
+ # Patch for bugs #236888 and #456648
+ "${FILESDIR}"/${P}-makefile.patch
+ # Wider arch compatibility, bug #579682
+ "${FILESDIR}"/${P}-x86emu.patch
+)
+
+src_configure() {
+ tc-export AR CC
+ append-cflags -fno-delete-null-pointer-checks #523276
+}
+
+src_compile() {
+ emake $(usev !x86 BACKEND=x86emu) LIBRARY=shared shared
+}
+
+src_install() {
+ emake \
+ LIBDIR=/usr/$(get_libdir) \
+ DESTDIR="${ED}" \
+ install-header install-shared
+}
diff --git a/dev-libs/libx86/libx86-1.1-r6.ebuild b/dev-libs/libx86/libx86-1.1-r6.ebuild
new file mode 100644
index 000000000000..924c7e02a2ab
--- /dev/null
+++ b/dev-libs/libx86/libx86-1.1-r6.ebuild
@@ -0,0 +1,40 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit flag-o-matic toolchain-funcs
+
+DESCRIPTION="A hardware-independent library for executing real-mode x86 code"
+HOMEPAGE="https://www.codon.org.uk/~mjg59/libx86/"
+SRC_URI="https://www.codon.org.uk/~mjg59/${PN}/downloads/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm -ppc -riscv -sparc ~x86"
+
+PATCHES=(
+ # fix compile failure with linux-headers-2.6.26, bug 235599
+ "${FILESDIR}"/${PN}-0.99-ifmask.patch
+ # Patch for bugs #236888 and #456648
+ "${FILESDIR}"/${P}-makefile.patch
+ # Wider arch compatibility, bug #579682
+ "${FILESDIR}"/${P}-x86emu.patch
+ "${FILESDIR}"/${P}-c99.patch
+)
+
+src_configure() {
+ tc-export AR CC
+ append-cflags -fno-delete-null-pointer-checks #523276
+}
+
+src_compile() {
+ emake $(usev !x86 BACKEND=x86emu) LIBRARY=shared shared
+}
+
+src_install() {
+ emake \
+ LIBDIR=/usr/$(get_libdir) \
+ DESTDIR="${ED}" \
+ install-header install-shared
+}
diff --git a/dev-libs/libx86/metadata.xml b/dev-libs/libx86/metadata.xml
index a3862b8ec2fc..115e9d64a669 100644
--- a/dev-libs/libx86/metadata.xml
+++ b/dev-libs/libx86/metadata.xml
@@ -1,8 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <email>pinkbyte@gentoo.org</email>
- <name>Sergey Popov</name>
- </maintainer>
+ <!-- maintainer-needed -->
</pkgmetadata>
diff --git a/dev-libs/libx86emu/Manifest b/dev-libs/libx86emu/Manifest
index df95413d8a44..5d5926c5b067 100644
--- a/dev-libs/libx86emu/Manifest
+++ b/dev-libs/libx86emu/Manifest
@@ -1 +1,2 @@
DIST libx86emu-1.1-9.8.src.rpm 59517 BLAKE2B 6ae5b7792b9b67b93d12e9908e9941417e4149ed6289e0d02b23710ae4295d74aae806d85b0a0aa719eee6d63725b161dd8870d92b5352383a0beee5ce7827c9 SHA512 cb44306bb76feb47d46f1f3dd92cc6bf694dcc2c42d191fd9ff9f0b68744aeb25e99b29336e5ffe67e9a3d02c51d56690429b892d7fd26438dcc1d6603e18bcb
+DIST libx86emu-3.5.tar.gz 144969 BLAKE2B 3bba65ca6b42e92ad578a1bdacc94b5aad1f38f51d1e1fde1db65590db9611823a9e750675feb9c20fc7706e19181fe334e127a9c861159cea03aa5ea33d90a7 SHA512 079a8b5a7166802cd9bf781436dccc36a064c7e05c199bb41cc4d225e43afad4cc99654b3cb58389f7f806ffa625b5d793468064fdd9fa758ae0415496b18a9e
diff --git a/dev-libs/libx86emu/libx86emu-1.1-r1.ebuild b/dev-libs/libx86emu/libx86emu-1.1-r1.ebuild
new file mode 100644
index 000000000000..d9350ff29d80
--- /dev/null
+++ b/dev-libs/libx86emu/libx86emu-1.1-r1.ebuild
@@ -0,0 +1,28 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit rpm toolchain-funcs
+
+DESCRIPTION="A library for emulating x86"
+HOMEPAGE="https://www.opensuse.org/"
+SRC_URI="https://download.opensuse.org/source/factory/repo/oss/suse/src/${P}-9.8.src.rpm"
+
+LICENSE="HPND"
+SLOT="0/$(ver_cut 1-2)"
+KEYWORDS="amd64 x86 ~amd64-linux ~x86-linux"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-1.1-fix-makefile.patch
+ "${FILESDIR}"/${PN}-1.1-gcc10-fno-common.patch
+)
+
+src_configure() {
+ tc-export CC
+}
+
+src_install() {
+ emake DESTDIR="${ED}" LIBDIR="/usr/$(get_libdir)" install
+ dodoc Changelog README
+}
diff --git a/dev-libs/libx86emu/libx86emu-1.1.ebuild b/dev-libs/libx86emu/libx86emu-1.1.ebuild
deleted file mode 100644
index 21c131149a92..000000000000
--- a/dev-libs/libx86emu/libx86emu-1.1.ebuild
+++ /dev/null
@@ -1,28 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit rpm toolchain-funcs
-
-DESCRIPTION="A library for emulating x86"
-HOMEPAGE="https://www.opensuse.org/"
-SRC_URI="https://download.opensuse.org/source/factory/repo/oss/suse/src/${P}-9.8.src.rpm"
-
-LICENSE="HPND"
-SLOT="0"
-KEYWORDS="amd64 x86 ~amd64-linux ~x86-linux"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-1.1-fix-makefile.patch
- "${FILESDIR}"/${PN}-1.1-gcc10-fno-common.patch
-)
-
-src_configure() {
- tc-export CC
-}
-
-src_install() {
- emake DESTDIR="${ED}" LIBDIR="/usr/$(get_libdir)" install
- dodoc Changelog README
-}
diff --git a/dev-libs/libx86emu/libx86emu-3.5-r1.ebuild b/dev-libs/libx86emu/libx86emu-3.5-r1.ebuild
new file mode 100644
index 000000000000..67dff191f657
--- /dev/null
+++ b/dev-libs/libx86emu/libx86emu-3.5-r1.ebuild
@@ -0,0 +1,33 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit toolchain-funcs
+
+DESCRIPTION="A library for emulating x86"
+HOMEPAGE="https://github.com/wfeldt/libx86emu"
+SRC_URI="https://github.com/wfeldt/libx86emu/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0/$(ver_cut 1-2)"
+KEYWORDS="amd64 x86 ~amd64-linux ~x86-linux"
+
+src_prepare() {
+ default
+ echo "${PV}" > VERSION || die
+ rm -fr git2log || die
+}
+
+src_compile() {
+ emake shared CC=$(tc-getCC) CFLAGS="${CFLAGS} -fPIC -Wall" LDFLAGS="${LDFLAGS}"
+}
+
+src_test() {
+ emake test CC=$(tc-getCC) CFLAGS="${CFLAGS} -fPIC -Wall" LDFLAGS="${LDFLAGS}"
+}
+
+src_install() {
+ emake DESTDIR="${ED}" LIBDIR="/usr/$(get_libdir)" install
+ dodoc README.md
+}
diff --git a/dev-libs/libx86emu/metadata.xml b/dev-libs/libx86emu/metadata.xml
index 85e4ed814fa2..8c19e870e06d 100644
--- a/dev-libs/libx86emu/metadata.xml
+++ b/dev-libs/libx86emu/metadata.xml
@@ -1,5 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
-<!-- maintainer-needed -->
+ <!-- maintainer-needed -->
+ <upstream>
+ <remote-id type="github">wfeldt/libx86emu</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/dev-libs/libxdg-basedir/Manifest b/dev-libs/libxdg-basedir/Manifest
index 1328b3f30b13..c2fba695e2f4 100644
--- a/dev-libs/libxdg-basedir/Manifest
+++ b/dev-libs/libxdg-basedir/Manifest
@@ -1,2 +1 @@
-DIST libxdg-basedir-1.2.0.tar.gz 30159 BLAKE2B cd9eacf6d32e0f27aa4a9092fb919f027fe77905cf8cad2f3d860d93f9784bbcf85336704fd9241d58769e48b2a8a7e4b4ed306ff32328f1ddc7cce7b014dc09 SHA512 8584405d45e0b57e570666b6eab6d99d70411d00f88965826c9ed0292372385668f190157a10ff536f3a5a59fd0031b332ecbb8a38ac64eda1b04a0603997406
DIST libxdg-basedir-1.2.3.tar.gz 30971 BLAKE2B 63e8197f33db1200573b03cb58e4760ebc9a58f132902f8290822d9235be27e22bc4b763150a526cce23be60d2d535cd8627259180edce4d889a077d4b0de20c SHA512 e672da0d9cd3c27c9113f6053b79127e615e5d84bde81305242f506e930869d8492304aac26a0296528d5a32530e4a743acecb6a25f58372ac597af284429f7c
diff --git a/dev-libs/libxdg-basedir/files/libxdg-basedir-1.2.0-buffer-overflow.patch b/dev-libs/libxdg-basedir/files/libxdg-basedir-1.2.0-buffer-overflow.patch
deleted file mode 100644
index 4cd601cbde54..000000000000
--- a/dev-libs/libxdg-basedir/files/libxdg-basedir-1.2.0-buffer-overflow.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-From 14e000f696ef8b83264b0ca4407669bdb365fb23 Mon Sep 17 00:00:00 2001
-From: Timmy Weerwag <timmy@timmyweerwag.nl>
-Date: Sun, 16 Mar 2014 17:54:14 +0100
-Subject: [PATCH] Overflow bug
-
-Signed-off-by: Christian Ruppert <idl0r@gentoo.org>
----
- src/basedir.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/basedir.c b/src/basedir.c
-index 68ab879..1a2a8c4 100644
---- a/src/basedir.c
-+++ b/src/basedir.c
-@@ -574,7 +574,7 @@ static char * xdgGetRelativeHome(const char *envname, const char *relativefallba
- unsigned int homelen;
- if (!(home = xdgGetEnv("HOME")))
- return NULL;
-- if (!(relhome = (char*)malloc((homelen = strlen(home))+fallbacklength))) return NULL;
-+ if (!(relhome = (char*)malloc((homelen = strlen(home))+fallbacklength+1))) return NULL;
- memcpy(relhome, home, homelen);
- memcpy(relhome+homelen, relativefallback, fallbacklength+1);
- }
---
-1.8.3.2
-
diff --git a/dev-libs/libxdg-basedir/libxdg-basedir-1.2.0-r1.ebuild b/dev-libs/libxdg-basedir/libxdg-basedir-1.2.0-r1.ebuild
deleted file mode 100644
index 8c306a31e412..000000000000
--- a/dev-libs/libxdg-basedir/libxdg-basedir-1.2.0-r1.ebuild
+++ /dev/null
@@ -1,53 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit autotools
-
-DESCRIPTION="Small library to access XDG Base Directories Specification paths"
-HOMEPAGE="https://github.com/devnev/libxdg-basedir"
-SRC_URI="https://github.com/devnev/libxdg-basedir/archive/${P}.tar.gz"
-S="${WORKDIR}/${PN}-${P}"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 arm arm64 ~hppa ppc ppc64 x86 ~amd64-linux ~x64-macos ~x86-solaris"
-IUSE="doc"
-
-BDEPEND="doc? ( app-doc/doxygen )"
-
-PATCHES=(
- "${FILESDIR}"/${P}-buffer-overflow.patch
-)
-
-src_prepare() {
- default
-
- eautoreconf
-}
-
-src_configure() {
- econf \
- --disable-static \
- $(use_enable doc doxygen-html)
-}
-
-src_compile() {
- emake
-
- if use doc; then
- emake doxygen-doc
- fi
-}
-
-src_install() {
- emake DESTDIR="${D}" install
-
- if use doc; then
- docinto html
- dodoc -r doc/html/*
- fi
-
- find "${ED}" -type f -name '*.la' -delete
-}
diff --git a/dev-libs/libxdg-basedir/libxdg-basedir-1.2.3.ebuild b/dev-libs/libxdg-basedir/libxdg-basedir-1.2.3.ebuild
index 621aa53496b5..e4e7f70a1632 100644
--- a/dev-libs/libxdg-basedir/libxdg-basedir-1.2.3.ebuild
+++ b/dev-libs/libxdg-basedir/libxdg-basedir-1.2.3.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,10 +12,10 @@ S="${WORKDIR}/${PN}-${P}"
LICENSE="MIT"
SLOT="0"
-KEYWORDS="amd64 arm arm64 ~hppa ppc ppc64 ~riscv x86 ~amd64-linux ~x64-macos ~x86-solaris"
+KEYWORDS="amd64 arm arm64 ~hppa ppc ppc64 ~riscv x86 ~amd64-linux ~x64-macos"
IUSE="doc"
-BDEPEND="doc? ( app-doc/doxygen )"
+BDEPEND="doc? ( app-text/doxygen )"
src_prepare() {
default
diff --git a/dev-libs/libxdiff/files/libxdiff-0.23-tests.patch b/dev-libs/libxdiff/files/libxdiff-0.23-tests.patch
new file mode 100644
index 000000000000..72d2e167427a
--- /dev/null
+++ b/dev-libs/libxdiff/files/libxdiff-0.23-tests.patch
@@ -0,0 +1,9 @@
+Tests are hopelessly broken
+
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -1,3 +1,3 @@
+
+-SUBDIRS = . xdiff test tools man
++SUBDIRS = . xdiff tools man
+
diff --git a/dev-libs/libxdiff/libxdiff-0.23-r2.ebuild b/dev-libs/libxdiff/libxdiff-0.23-r2.ebuild
deleted file mode 100644
index 608ade4db081..000000000000
--- a/dev-libs/libxdiff/libxdiff-0.23-r2.ebuild
+++ /dev/null
@@ -1,31 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit autotools
-
-DESCRIPTION="Library for creating diff files"
-HOMEPAGE="http://www.xmailserver.org/xdiff-lib.html"
-SRC_URI="http://www.xmailserver.org/${P}.tar.gz"
-
-LICENSE="LGPL-2.1"
-SLOT="0"
-KEYWORDS="amd64 x86"
-IUSE=""
-
-src_prepare() {
- default
- # test utils require static libs ...
- sed 's/test//g' -i Makefile.am
- eautoreconf
-}
-
-src_configure() {
- econf --disable-static
-}
-
-src_install() {
- default
- rm "${D}/usr/$(get_libdir)"/*.la
-}
diff --git a/dev-libs/libxdiff/libxdiff-0.23-r3.ebuild b/dev-libs/libxdiff/libxdiff-0.23-r3.ebuild
new file mode 100644
index 000000000000..18a0d8bbac4e
--- /dev/null
+++ b/dev-libs/libxdiff/libxdiff-0.23-r3.ebuild
@@ -0,0 +1,26 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools
+
+DESCRIPTION="Library for creating diff files"
+HOMEPAGE="http://www.xmailserver.org/xdiff-lib.html"
+SRC_URI="http://www.xmailserver.org/${P}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="amd64 x86"
+
+PATCHES=( "${FILESDIR}/${P}-tests.patch" )
+
+src_prepare() {
+ default
+ eautoreconf
+}
+
+src_install() {
+ default
+ find "${ED}" -name '*.la' -delete || die
+}
diff --git a/dev-libs/libxls/files/libxls-1.6.2-gcc13.patch b/dev-libs/libxls/files/libxls-1.6.2-gcc13.patch
new file mode 100644
index 000000000000..6958bb63bc65
--- /dev/null
+++ b/dev-libs/libxls/files/libxls-1.6.2-gcc13.patch
@@ -0,0 +1,25 @@
+https://github.com/libxls/libxls/pull/118
+
+From f46aea10c50fb08657c15f8f3e813d5434b8b4d5 Mon Sep 17 00:00:00 2001
+From: Elliott Sales de Andrade <quantum.analyst@gmail.com>
+Date: Wed, 18 Jan 2023 05:21:23 -0500
+Subject: [PATCH] Fix header include in C++ mode
+
+This file is included in the toplevel `xls.h` within an `extern "C"`,
+which means including C++ headers in it is completely broken. With GCC
+13, this causes strange errors due to "missing" symbols.
+--- a/include/libxls/xlstypes.h
++++ b/include/libxls/xlstypes.h
+@@ -36,11 +36,7 @@
+ #ifndef XLS_TYPES_INC
+ #define XLS_TYPES_INC
+
+-#ifdef __cplusplus
+-#include <cstdint>
+-#else
+ #include <stdint.h>
+-#endif
+ #include <sys/types.h>
+
+ typedef unsigned char BYTE;
+
diff --git a/dev-libs/libxls/libxls-1.6.2-r1.ebuild b/dev-libs/libxls/libxls-1.6.2-r1.ebuild
new file mode 100644
index 000000000000..228ecb9ef798
--- /dev/null
+++ b/dev-libs/libxls/libxls-1.6.2-r1.ebuild
@@ -0,0 +1,33 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+DESCRIPTION="A library which can read Excel (xls) files"
+HOMEPAGE="https://github.com/libxls/libxls"
+SRC_URI="https://github.com/libxls/libxls/releases/download/v${PV}/${P}.tar.gz"
+
+LICENSE="BSD-2"
+SLOT="0/8" # libxlsreader.so.8
+KEYWORDS="amd64 ~arm arm64 x86"
+
+BDEPEND="
+ app-arch/unzip
+ virtual/pkgconfig
+"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-1.4.0-asprintf.patch
+ "${FILESDIR}"/${PN}-1.6.2-gcc13.patch
+)
+
+src_configure() {
+ econf \
+ --disable-static
+}
+
+src_install() {
+ default
+
+ find "${ED}" -name '*.la' -type f -delete || die
+}
diff --git a/dev-libs/libxls/libxls-1.6.2.ebuild b/dev-libs/libxls/libxls-1.6.2.ebuild
deleted file mode 100644
index 5db6df61122e..000000000000
--- a/dev-libs/libxls/libxls-1.6.2.ebuild
+++ /dev/null
@@ -1,34 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-DESCRIPTION="A library which can read Excel (xls) files"
-HOMEPAGE="https://github.com/libxls/libxls"
-SRC_URI="https://github.com/libxls/libxls/releases/download/v${PV}/${P}.tar.gz"
-
-LICENSE="BSD-2"
-SLOT="0/8" # libxlsreader.so.8
-KEYWORDS="amd64 x86"
-
-BDEPEND="
- app-arch/unzip
- virtual/pkgconfig
-"
-
-RESTRICT="test" # test driver is missing
-
-PATCHES=(
- "${FILESDIR}"/${PN}-1.4.0-asprintf.patch
-)
-
-src_configure() {
- econf \
- --disable-static
-}
-
-src_install() {
- default
-
- find "${ED}" -name '*.la' -type f -delete || die
-}
diff --git a/dev-libs/libxlsxwriter/Manifest b/dev-libs/libxlsxwriter/Manifest
new file mode 100644
index 000000000000..329abcd961b9
--- /dev/null
+++ b/dev-libs/libxlsxwriter/Manifest
@@ -0,0 +1 @@
+DIST libxlsxwriter-1.1.5.tar.gz 21541446 BLAKE2B f9e2fde83bde852b4568b8ce82a28ad75e6e8d1ca6f3683ac2308d28707e7e4874facf8eac2ce9b4b9fdcc96d8b775dd69eefb2f976f564323a278a3dad032d0 SHA512 bd7db0fcf25ebf492b4d8f7da8fdb6cc79400d7d0fa5856ddae259cb24817034fc97d4828cbde42434f41198dcfb6732ac63c756abd962689f4249ca64bf19c6
diff --git a/dev-libs/libxlsxwriter/files/libxlsxwriter-1.1.5-findzlib.patch b/dev-libs/libxlsxwriter/files/libxlsxwriter-1.1.5-findzlib.patch
new file mode 100644
index 000000000000..717cdd3f8463
--- /dev/null
+++ b/dev-libs/libxlsxwriter/files/libxlsxwriter-1.1.5-findzlib.patch
@@ -0,0 +1,22 @@
+ZLIB syntax
+Fixed upstream with: https://github.com/jmcnamara/libxlsxwriter/commit/e5014443ffca8614ea0cc6d70e6e6e3d15f82155
+https://bugs.gentoo.org/902017
+
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -219,13 +219,13 @@ enable_language(CXX)
+ list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake)
+
+ # ZLIB
+-find_package(ZLIB REQUIRED "1.0")
++find_package(ZLIB "1.0" REQUIRED)
+ list(APPEND LXW_PRIVATE_INCLUDE_DIRS ${ZLIB_INCLUDE_DIRS})
+ message("zlib version: " ${ZLIB_VERSION})
+
+ # MINIZIP
+ if (USE_SYSTEM_MINIZIP)
+- find_package(MINIZIP REQUIRED "1.0")
++ find_package(MINIZIP REQUIRED)
+ list(APPEND LXW_PRIVATE_INCLUDE_DIRS ${MINIZIP_INCLUDE_DIRS})
+ endif()
+
diff --git a/dev-libs/libxlsxwriter/libxlsxwriter-1.1.5-r1.ebuild b/dev-libs/libxlsxwriter/libxlsxwriter-1.1.5-r1.ebuild
new file mode 100644
index 000000000000..87003f54128f
--- /dev/null
+++ b/dev-libs/libxlsxwriter/libxlsxwriter-1.1.5-r1.ebuild
@@ -0,0 +1,50 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake plocale
+
+DESCRIPTION="C library for creating Excel XLSX files"
+HOMEPAGE="https://libxlsxwriter.github.io/ https://github.com/jmcnamara/libxlsxwriter"
+SRC_URI="https://github.com/jmcnamara/libxlsxwriter/archive/RELEASE_${PV}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/${PN}-RELEASE_${PV}"
+
+LICENSE="BSD-2"
+SLOT="0"
+KEYWORDS="amd64 ~arm arm64 ~x86"
+IUSE="openssl"
+
+DEPEND="
+ sys-libs/zlib[minizip]
+ openssl? ( dev-libs/openssl:= )
+"
+RDEPEND="${DEPEND}"
+
+PATCHES=(
+ "${FILESDIR}/${P}-findzlib.patch"
+)
+
+src_configure() {
+ DOUBLEFUNCTION=OFF
+ for x in $(plocale_get_locales); do
+ if ! [[ "${x}" =~ ^en* ]]; then
+ #non-english locale detected; apply double function fix
+ DOUBLEFUNCTION=ON
+ break
+ fi
+ done
+ local mycmakeargs=(
+ -DCMAKE_BUILD_TYPE=Release
+ -DUSE_OPENSSL_MD5="$(usex openssl)"
+ -DUSE_SYSTEM_MINIZIP=ON
+ -DUSE_DTOA_LIBRARY=${DOUBLEFUNCTION}
+ )
+ cmake_src_configure
+}
+
+src_install() {
+ cmake_src_install
+ dodoc CONTRIBUTING.md License.txt Readme.md Changes.txt
+ dodoc -r docs examples
+}
diff --git a/dev-libs/libxlsxwriter/metadata.xml b/dev-libs/libxlsxwriter/metadata.xml
new file mode 100644
index 000000000000..6a9883e0d995
--- /dev/null
+++ b/dev-libs/libxlsxwriter/metadata.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person" proxied="yes">
+ <email>efe.izbudak@metu.edu.tr</email>
+ <name>Efe İzbudak</name>
+ </maintainer>
+ <maintainer type="project" proxied="proxy">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+ </maintainer>
+ <use>
+ <flag name="openssl">Use <pkg>dev-libs/openssl</pkg> for MD5 digest</flag>
+ </use>
+ <upstream>
+ <remote-id type="github">jmcnamara/libxlsxwriter</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/libxml2/Manifest b/dev-libs/libxml2/Manifest
index f529aea08380..417300261f0f 100644
--- a/dev-libs/libxml2/Manifest
+++ b/dev-libs/libxml2/Manifest
@@ -1,6 +1,6 @@
-DIST libxml2-2.9.12-r5-patchset.tar.bz2 7231 BLAKE2B d9d0d56ebccbfe234a8af04cc5343c1a02d84fbd998c2373fd48be59cf92807a9417db650a6bb6ba309e101994c4ae2b28edda7bf635c7728eb8b8047d0d3391 SHA512 b2db0fe4595c1559d9f8dc836ee6eee469191f6c490fc95d25d9fa99a544e80858894cc35b6e4a6624a38d0309800540badc929e86ef29950c1107caa4656a14
-DIST libxml2-2.9.12.tar.gz 5681632 BLAKE2B ab93633140e9fd119d3a48ed829a91213c3d7956a00d181203f5188fb0ed0d3a7150d3128fe986b13efadf6fe484393262a3de575527f38f74aa6c0067a6d934 SHA512 df1c6486e80f0fcf3c506f3599bcfb94b620c00d0b5d26831bc983daa78d58ec58b5057b1ec7c1a26c694f40199c6234ee2a6dcabf65abfa10c447cb5705abbd
-DIST libxml2-2.9.12.tar.gz.asc 488 BLAKE2B 48ec86ec373d94de73bdb52141fc77fccd0ca296a35ed97aa3479ecdcf82b15422dd7d751359b5b1ca477e24b8eee9226784cfbfd861236e10eed2519e7959bf SHA512 69ca6ab7170cad467724e19eff99a3544966a26069e78a7b7cc27ae93a9077b11cc8dad2536bd0b27c3b45f4ea7520c813fe5a018cd65f103059f7f75147a656
+DIST libxml2-2.11.7.tar.xz 2628860 BLAKE2B 9aa553b09ec20fe01272ceafb59bf76b480f3cfc57084a527d09797dc39987e59635f8f7b1591060ef6a27adfcc07d8c8e8a907ee7ed04da0a108aae1517cd52 SHA512 202b0523d982eb5269dcb4644d8ab2ea31404771069462cdd6c5cd7e6672e0e50371ceb334133bb8f2c0a42f133e8f40c3f582bba5fc71ab168a2b18d4cfd81d
+DIST libxml2-2.12.5.tar.xz 2643452 BLAKE2B b63ade8b18d98701e95b79ac2199bfc4ca89c6085c48c3d0970945ae526558ee2137622ee8b4af5391f86e663a3f06a7e1aaad5f57eb639fc9da74704e2280f3 SHA512 da5c5afb95db80342d78d4371d029bf10ce5cd601b24b294272d9996f82357bd5262a15a2b44b0904a14471c8ff0c9fd9c796f164246551f02ee19a8f083f926
+DIST libxml2-2.12.6.tar.xz 2643124 BLAKE2B 677589cf063b109018aafc04a1564242ba1a9d88b2c511f583d4aa511c13aff15254a9d5f6ea2c294902338b0c0207ff59c51298e128981d57f86367ddc1a803 SHA512 19d6901c0f189813e8bd20ffdfbb29d8545ca30154d1f3cc82624d64e4db3cfbe8eef7e8ccc1e195289f1bf94bb50fefcf11a95badb0ddeb845b4e4ea5a819ac
DIST xmlts20130923.tar.gz 641522 BLAKE2B 63a47bc69278ef510cd0b3779aed729e1b309e30efa0015d28ed051cc03f9dfddb447ab57b07b3393e8f47393d15473b0e199c34cb1f5f746b15ddfaa55670be SHA512 d5c4d26b324ed21f4e0641cd7f8b76dbf9de80df8b519982e44d41c960df29fd03618e02e9693b2d11ad06d19c4a965274c95a048ec3b9653eacb919a7f8b733
DIST xsts-2002-01-16.tar.gz 6894439 BLAKE2B 1e9ec63d2c104655e64249e07440a04d862fcbcd4d4e19745d81b34994319b510a531c9d6df1491fae1e90b5d0764f0f1a827251ca8df5d613178b0eab01ef25 SHA512 43300af6d39c1e2221b0ed7318fe14c7464eeb6eb030ed1e22eb29b4ab17f014e2a4c8887c3a46ae5d243e3072da27f00f4e285498ae6f1288177d38d1108288
DIST xsts-2004-01-14.tar.gz 2761085 BLAKE2B 41545995fb3a65d053257c376c07d45ffd1041a433bfbdb46d4dd87a5afb60c18c8629a3d988323f9e7a1d709775b5a7e5930276a7121c0725a22705c0976e36 SHA512 32854388d7e720ad67156baf50bf2bae7bd878ca3e35fd7e44e57cad3f434f69d56bbbedd61509f8a1faf01c9eae74a078df8fe130780b182c05c05cb1c39ebe
diff --git a/dev-libs/libxml2/files/libxml2-2.11.5-CVE-2023-45322.patch b/dev-libs/libxml2/files/libxml2-2.11.5-CVE-2023-45322.patch
new file mode 100644
index 000000000000..190218be3a5e
--- /dev/null
+++ b/dev-libs/libxml2/files/libxml2-2.11.5-CVE-2023-45322.patch
@@ -0,0 +1,71 @@
+https://gitlab.gnome.org/GNOME/libxml2/-/issues/583
+https://gitlab.gnome.org/GNOME/libxml2/-/commit/d39f78069dff496ec865c73aa44d7110e429bce9
+https://bugs.gentoo.org/915351
+
+From d39f78069dff496ec865c73aa44d7110e429bce9 Mon Sep 17 00:00:00 2001
+From: Nick Wellnhofer <wellnhofer@aevum.de>
+Date: Wed, 23 Aug 2023 20:24:24 +0200
+Subject: [PATCH] tree: Fix copying of DTDs
+
+- Don't create multiple DTD nodes.
+- Fix UAF if malloc fails.
+- Skip DTD nodes if tree module is disabled.
+
+Fixes #583.
+--- a/tree.c
++++ b/tree.c
+@@ -4471,29 +4471,28 @@ xmlNodePtr
+ xmlStaticCopyNodeList(xmlNodePtr node, xmlDocPtr doc, xmlNodePtr parent) {
+ xmlNodePtr ret = NULL;
+ xmlNodePtr p = NULL,q;
++ xmlDtdPtr newSubset = NULL;
+
+ while (node != NULL) {
+-#ifdef LIBXML_TREE_ENABLED
+ if (node->type == XML_DTD_NODE ) {
+- if (doc == NULL) {
++#ifdef LIBXML_TREE_ENABLED
++ if ((doc == NULL) || (doc->intSubset != NULL)) {
+ node = node->next;
+ continue;
+ }
+- if (doc->intSubset == NULL) {
+- q = (xmlNodePtr) xmlCopyDtd( (xmlDtdPtr) node );
+- if (q == NULL) goto error;
+- q->doc = doc;
+- q->parent = parent;
+- doc->intSubset = (xmlDtdPtr) q;
+- xmlAddChild(parent, q);
+- } else {
+- q = (xmlNodePtr) doc->intSubset;
+- xmlAddChild(parent, q);
+- }
+- } else
++ q = (xmlNodePtr) xmlCopyDtd( (xmlDtdPtr) node );
++ if (q == NULL) goto error;
++ q->doc = doc;
++ q->parent = parent;
++ newSubset = (xmlDtdPtr) q;
++#else
++ node = node->next;
++ continue;
+ #endif /* LIBXML_TREE_ENABLED */
++ } else {
+ q = xmlStaticCopyNode(node, doc, parent, 1);
+- if (q == NULL) goto error;
++ if (q == NULL) goto error;
++ }
+ if (ret == NULL) {
+ q->prev = NULL;
+ ret = p = q;
+@@ -4505,6 +4504,8 @@ xmlStaticCopyNodeList(xmlNodePtr node, xmlDocPtr doc, xmlNodePtr parent) {
+ }
+ node = node->next;
+ }
++ if (newSubset != NULL)
++ doc->intSubset = newSubset;
+ return(ret);
+ error:
+ xmlFreeNodeList(ret);
+--
+GitLab
diff --git a/dev-libs/libxml2/libxml2-2.11.7.ebuild b/dev-libs/libxml2/libxml2-2.11.7.ebuild
new file mode 100644
index 000000000000..f11bd3c8ebe7
--- /dev/null
+++ b/dev-libs/libxml2/libxml2-2.11.7.ebuild
@@ -0,0 +1,200 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# Note: Please bump in sync with dev-libs/libxslt
+
+PYTHON_COMPAT=( python3_{10..12} )
+PYTHON_REQ_USE="xml(+)"
+inherit flag-o-matic python-r1 multilib-minimal
+
+XSTS_HOME="http://www.w3.org/XML/2004/xml-schema-test-suite"
+XSTS_NAME_1="xmlschema2002-01-16"
+XSTS_NAME_2="xmlschema2004-01-14"
+XSTS_TARBALL_1="xsts-2002-01-16.tar.gz"
+XSTS_TARBALL_2="xsts-2004-01-14.tar.gz"
+XMLCONF_TARBALL="xmlts20130923.tar.gz"
+
+DESCRIPTION="XML C parser and toolkit"
+HOMEPAGE="https://gitlab.gnome.org/GNOME/libxml2/-/wikis/home"
+if [[ ${PV} == 9999 ]] ; then
+ EGIT_REPO_URI="https://gitlab.gnome.org/GNOME/libxml2"
+ inherit autotools git-r3
+else
+ inherit gnome.org libtool
+ KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+fi
+
+SRC_URI+="
+ test? (
+ ${XSTS_HOME}/${XSTS_NAME_1}/${XSTS_TARBALL_1}
+ ${XSTS_HOME}/${XSTS_NAME_2}/${XSTS_TARBALL_2}
+ https://www.w3.org/XML/Test/${XMLCONF_TARBALL}
+ )
+"
+S="${WORKDIR}/${PN}-${PV%_rc*}"
+
+LICENSE="MIT"
+SLOT="2"
+IUSE="debug examples +ftp icu lzma +python readline static-libs test"
+RESTRICT="!test? ( test )"
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+
+RDEPEND="
+ virtual/libiconv
+ >=sys-libs/zlib-1.2.8-r1:=[${MULTILIB_USEDEP}]
+ icu? ( >=dev-libs/icu-51.2-r1:=[${MULTILIB_USEDEP}] )
+ lzma? ( >=app-arch/xz-utils-5.0.5-r1:=[${MULTILIB_USEDEP}] )
+ python? ( ${PYTHON_DEPS} )
+ readline? ( sys-libs/readline:= )
+"
+DEPEND="${RDEPEND}"
+BDEPEND="virtual/pkgconfig"
+
+if [[ ${PV} == 9999 ]] ; then
+ BDEPEND+=" dev-build/gtk-doc-am"
+fi
+
+MULTILIB_CHOST_TOOLS=(
+ /usr/bin/xml2-config
+)
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-2.11.5-CVE-2023-45322.patch
+)
+
+src_unpack() {
+ if [[ ${PV} == 9999 ]] ; then
+ git-r3_src_unpack
+ else
+ local tarname=${P/_rc/-rc}.tar.xz
+
+ # ${A} isn't used to avoid unpacking of test tarballs into ${WORKDIR},
+ # as they are needed as tarballs in ${S}/xstc instead and not unpacked
+ unpack ${tarname}
+
+ if [[ -n ${PATCHSET_VERSION} ]] ; then
+ unpack ${PN}-${PATCHSET_VERSION}.tar.xz
+ fi
+ fi
+
+ cd "${S}" || die
+
+ if use test ; then
+ cp "${DISTDIR}/${XSTS_TARBALL_1}" \
+ "${DISTDIR}/${XSTS_TARBALL_2}" \
+ "${S}"/xstc/ \
+ || die "Failed to install test tarballs"
+ unpack ${XMLCONF_TARBALL}
+ fi
+}
+
+src_prepare() {
+ default
+
+ if [[ ${PV} == 9999 ]] ; then
+ eautoreconf
+ else
+ # Please do not remove, as else we get references to PORTAGE_TMPDIR
+ # in /usr/lib/python?.?/site-packages/libxml2mod.la among things.
+ elibtoolize
+ fi
+}
+
+multilib_src_configure() {
+ # Filter seemingly problematic CFLAGS (bug #26320)
+ filter-flags -fprefetch-loop-arrays -funroll-loops
+
+ # Notes:
+ # The meaning of the 'debug' USE flag does not apply to the --with-debug
+ # switch (enabling the libxml2 debug module). See bug #100898.
+ libxml2_configure() {
+ ECONF_SOURCE="${S}" econf \
+ --enable-ipv6 \
+ $(use_with ftp) \
+ $(use_with debug run-debug) \
+ $(use_with icu) \
+ $(use_with lzma) \
+ $(use_enable static-libs static) \
+ $(multilib_native_use_with readline) \
+ $(multilib_native_use_with readline history) \
+ "$@"
+ }
+
+ # Build python bindings separately
+ libxml2_configure --without-python
+
+ multilib_is_native_abi && use python &&
+ python_foreach_impl run_in_build_dir libxml2_configure --with-python
+}
+
+libxml2_py_emake() {
+ pushd "${BUILD_DIR}"/python >/dev/null || die
+
+ emake top_builddir="${NATIVE_BUILD_DIR}" "$@"
+
+ popd >/dev/null || die
+}
+
+multilib_src_compile() {
+ default
+
+ if multilib_is_native_abi && use python ; then
+ NATIVE_BUILD_DIR="${BUILD_DIR}"
+ python_foreach_impl run_in_build_dir libxml2_py_emake all
+ fi
+}
+
+multilib_src_test() {
+ ln -s "${S}"/xmlconf || die
+
+ emake check
+
+ multilib_is_native_abi && use python &&
+ python_foreach_impl run_in_build_dir libxml2_py_emake check
+}
+
+multilib_src_install() {
+ emake DESTDIR="${D}" install
+
+ multilib_is_native_abi && use python &&
+ python_foreach_impl run_in_build_dir libxml2_py_emake DESTDIR="${D}" install
+
+ # Hack until automake release is made for the optimise fix
+ # https://git.savannah.gnu.org/cgit/automake.git/commit/?id=bde43d0481ff540418271ac37012a574a4fcf097
+ multilib_is_native_abi && use python && python_foreach_impl python_optimize
+}
+
+multilib_src_install_all() {
+ einstalldocs
+
+ if ! use examples ; then
+ rm -rf "${ED}"/usr/share/doc/${PF}/examples || die
+ rm -rf "${ED}"/usr/share/doc/${PF}/python/examples || die
+ fi
+
+ rm -rf "${ED}"/usr/share/doc/${PN}-python-${PVR} || die
+
+ find "${ED}" -name '*.la' -delete || die
+}
+
+pkg_postinst() {
+ # We don't want to do the xmlcatalog during stage1, as xmlcatalog will not
+ # be in / and stage1 builds to ROOT=/tmp/stage1root. This fixes bug #208887.
+ if [[ -n "${ROOT}" ]]; then
+ elog "Skipping XML catalog creation for stage building (bug #208887)."
+ else
+ # Need an XML catalog, so no-one writes to a non-existent one
+ CATALOG="${EROOT}/etc/xml/catalog"
+
+ # We don't want to clobber an existing catalog though,
+ # only ensure that one is there
+ # <obz@gentoo.org>
+ if [[ ! -e "${CATALOG}" ]]; then
+ [[ -d "${EROOT}/etc/xml" ]] || mkdir -p "${EROOT}/etc/xml"
+ "${EPREFIX}"/usr/bin/xmlcatalog --create > "${CATALOG}"
+ einfo "Created XML catalog in ${CATALOG}"
+ fi
+ fi
+}
diff --git a/dev-libs/libxml2/libxml2-2.12.5.ebuild b/dev-libs/libxml2/libxml2-2.12.5.ebuild
new file mode 100644
index 000000000000..3d915e2ccc5b
--- /dev/null
+++ b/dev-libs/libxml2/libxml2-2.12.5.ebuild
@@ -0,0 +1,196 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# Note: Please bump in sync with dev-libs/libxslt
+
+PYTHON_COMPAT=( python3_{10..12} )
+PYTHON_REQ_USE="xml(+)"
+inherit flag-o-matic python-r1 multilib-minimal
+
+XSTS_HOME="http://www.w3.org/XML/2004/xml-schema-test-suite"
+XSTS_NAME_1="xmlschema2002-01-16"
+XSTS_NAME_2="xmlschema2004-01-14"
+XSTS_TARBALL_1="xsts-2002-01-16.tar.gz"
+XSTS_TARBALL_2="xsts-2004-01-14.tar.gz"
+XMLCONF_TARBALL="xmlts20130923.tar.gz"
+
+DESCRIPTION="XML C parser and toolkit"
+HOMEPAGE="https://gitlab.gnome.org/GNOME/libxml2/-/wikis/home"
+if [[ ${PV} == 9999 ]] ; then
+ EGIT_REPO_URI="https://gitlab.gnome.org/GNOME/libxml2"
+ inherit autotools git-r3
+else
+ inherit gnome.org libtool
+ KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+fi
+
+SRC_URI+="
+ test? (
+ ${XSTS_HOME}/${XSTS_NAME_1}/${XSTS_TARBALL_1}
+ ${XSTS_HOME}/${XSTS_NAME_2}/${XSTS_TARBALL_2}
+ https://www.w3.org/XML/Test/${XMLCONF_TARBALL}
+ )
+"
+S="${WORKDIR}/${PN}-${PV%_rc*}"
+
+LICENSE="MIT"
+SLOT="2"
+IUSE="debug examples +ftp icu lzma +python readline static-libs test"
+RESTRICT="!test? ( test )"
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+
+RDEPEND="
+ virtual/libiconv
+ >=sys-libs/zlib-1.2.8-r1:=[${MULTILIB_USEDEP}]
+ icu? ( >=dev-libs/icu-51.2-r1:=[${MULTILIB_USEDEP}] )
+ lzma? ( >=app-arch/xz-utils-5.0.5-r1:=[${MULTILIB_USEDEP}] )
+ python? ( ${PYTHON_DEPS} )
+ readline? ( sys-libs/readline:= )
+"
+DEPEND="${RDEPEND}"
+BDEPEND="virtual/pkgconfig"
+
+if [[ ${PV} == 9999 ]] ; then
+ BDEPEND+=" dev-build/gtk-doc-am"
+fi
+
+MULTILIB_CHOST_TOOLS=(
+ /usr/bin/xml2-config
+)
+
+src_unpack() {
+ if [[ ${PV} == 9999 ]] ; then
+ git-r3_src_unpack
+ else
+ local tarname=${P/_rc/-rc}.tar.xz
+
+ # ${A} isn't used to avoid unpacking of test tarballs into ${WORKDIR},
+ # as they are needed as tarballs in ${S}/xstc instead and not unpacked
+ unpack ${tarname}
+
+ if [[ -n ${PATCHSET_VERSION} ]] ; then
+ unpack ${PN}-${PATCHSET_VERSION}.tar.xz
+ fi
+ fi
+
+ cd "${S}" || die
+
+ if use test ; then
+ cp "${DISTDIR}/${XSTS_TARBALL_1}" \
+ "${DISTDIR}/${XSTS_TARBALL_2}" \
+ "${S}"/xstc/ \
+ || die "Failed to install test tarballs"
+ unpack ${XMLCONF_TARBALL}
+ fi
+}
+
+src_prepare() {
+ default
+
+ if [[ ${PV} == 9999 ]] ; then
+ eautoreconf
+ else
+ # Please do not remove, as else we get references to PORTAGE_TMPDIR
+ # in /usr/lib/python?.?/site-packages/libxml2mod.la among things.
+ elibtoolize
+ fi
+}
+
+multilib_src_configure() {
+ # Filter seemingly problematic CFLAGS (bug #26320)
+ filter-flags -fprefetch-loop-arrays -funroll-loops
+
+ # Notes:
+ # The meaning of the 'debug' USE flag does not apply to the --with-debug
+ # switch (enabling the libxml2 debug module). See bug #100898.
+ libxml2_configure() {
+ ECONF_SOURCE="${S}" econf \
+ --enable-ipv6 \
+ $(use_with ftp) \
+ $(use_with debug run-debug) \
+ $(use_with icu) \
+ $(use_with lzma) \
+ $(use_enable static-libs static) \
+ $(multilib_native_use_with readline) \
+ $(multilib_native_use_with readline history) \
+ "$@"
+ }
+
+ # Build python bindings separately
+ libxml2_configure --without-python
+
+ multilib_is_native_abi && use python &&
+ python_foreach_impl run_in_build_dir libxml2_configure --with-python
+}
+
+libxml2_py_emake() {
+ pushd "${BUILD_DIR}"/python >/dev/null || die
+
+ emake top_builddir="${NATIVE_BUILD_DIR}" "$@"
+
+ popd >/dev/null || die
+}
+
+multilib_src_compile() {
+ default
+
+ if multilib_is_native_abi && use python ; then
+ NATIVE_BUILD_DIR="${BUILD_DIR}"
+ python_foreach_impl run_in_build_dir libxml2_py_emake all
+ fi
+}
+
+multilib_src_test() {
+ ln -s "${S}"/xmlconf || die
+
+ emake check
+
+ multilib_is_native_abi && use python &&
+ python_foreach_impl run_in_build_dir libxml2_py_emake check
+}
+
+multilib_src_install() {
+ emake DESTDIR="${D}" install
+
+ multilib_is_native_abi && use python &&
+ python_foreach_impl run_in_build_dir libxml2_py_emake DESTDIR="${D}" install
+
+ # Hack until automake release is made for the optimise fix
+ # https://git.savannah.gnu.org/cgit/automake.git/commit/?id=bde43d0481ff540418271ac37012a574a4fcf097
+ multilib_is_native_abi && use python && python_foreach_impl python_optimize
+}
+
+multilib_src_install_all() {
+ einstalldocs
+
+ if ! use examples ; then
+ rm -rf "${ED}"/usr/share/doc/${PF}/examples || die
+ rm -rf "${ED}"/usr/share/doc/${PF}/python/examples || die
+ fi
+
+ rm -rf "${ED}"/usr/share/doc/${PN}-python-${PVR} || die
+
+ find "${ED}" -name '*.la' -delete || die
+}
+
+pkg_postinst() {
+ # We don't want to do the xmlcatalog during stage1, as xmlcatalog will not
+ # be in / and stage1 builds to ROOT=/tmp/stage1root. This fixes bug #208887.
+ if [[ -n "${ROOT}" ]]; then
+ elog "Skipping XML catalog creation for stage building (bug #208887)."
+ else
+ # Need an XML catalog, so no-one writes to a non-existent one
+ CATALOG="${EROOT}/etc/xml/catalog"
+
+ # We don't want to clobber an existing catalog though,
+ # only ensure that one is there
+ # <obz@gentoo.org>
+ if [[ ! -e "${CATALOG}" ]]; then
+ [[ -d "${EROOT}/etc/xml" ]] || mkdir -p "${EROOT}/etc/xml"
+ "${EPREFIX}"/usr/bin/xmlcatalog --create > "${CATALOG}"
+ einfo "Created XML catalog in ${CATALOG}"
+ fi
+ fi
+}
diff --git a/dev-libs/libxml2/libxml2-2.12.6.ebuild b/dev-libs/libxml2/libxml2-2.12.6.ebuild
new file mode 100644
index 000000000000..c4d87530a6d4
--- /dev/null
+++ b/dev-libs/libxml2/libxml2-2.12.6.ebuild
@@ -0,0 +1,196 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# Note: Please bump in sync with dev-libs/libxslt
+
+PYTHON_COMPAT=( python3_{10..12} )
+PYTHON_REQ_USE="xml(+)"
+inherit flag-o-matic python-r1 multilib-minimal
+
+XSTS_HOME="http://www.w3.org/XML/2004/xml-schema-test-suite"
+XSTS_NAME_1="xmlschema2002-01-16"
+XSTS_NAME_2="xmlschema2004-01-14"
+XSTS_TARBALL_1="xsts-2002-01-16.tar.gz"
+XSTS_TARBALL_2="xsts-2004-01-14.tar.gz"
+XMLCONF_TARBALL="xmlts20130923.tar.gz"
+
+DESCRIPTION="XML C parser and toolkit"
+HOMEPAGE="https://gitlab.gnome.org/GNOME/libxml2/-/wikis/home"
+if [[ ${PV} == 9999 ]] ; then
+ EGIT_REPO_URI="https://gitlab.gnome.org/GNOME/libxml2"
+ inherit autotools git-r3
+else
+ inherit gnome.org libtool
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+fi
+
+SRC_URI+="
+ test? (
+ ${XSTS_HOME}/${XSTS_NAME_1}/${XSTS_TARBALL_1}
+ ${XSTS_HOME}/${XSTS_NAME_2}/${XSTS_TARBALL_2}
+ https://www.w3.org/XML/Test/${XMLCONF_TARBALL}
+ )
+"
+S="${WORKDIR}/${PN}-${PV%_rc*}"
+
+LICENSE="MIT"
+SLOT="2"
+IUSE="debug examples +ftp icu lzma +python readline static-libs test"
+RESTRICT="!test? ( test )"
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+
+RDEPEND="
+ virtual/libiconv
+ >=sys-libs/zlib-1.2.8-r1:=[${MULTILIB_USEDEP}]
+ icu? ( >=dev-libs/icu-51.2-r1:=[${MULTILIB_USEDEP}] )
+ lzma? ( >=app-arch/xz-utils-5.0.5-r1:=[${MULTILIB_USEDEP}] )
+ python? ( ${PYTHON_DEPS} )
+ readline? ( sys-libs/readline:= )
+"
+DEPEND="${RDEPEND}"
+BDEPEND="virtual/pkgconfig"
+
+if [[ ${PV} == 9999 ]] ; then
+ BDEPEND+=" dev-build/gtk-doc-am"
+fi
+
+MULTILIB_CHOST_TOOLS=(
+ /usr/bin/xml2-config
+)
+
+src_unpack() {
+ if [[ ${PV} == 9999 ]] ; then
+ git-r3_src_unpack
+ else
+ local tarname=${P/_rc/-rc}.tar.xz
+
+ # ${A} isn't used to avoid unpacking of test tarballs into ${WORKDIR},
+ # as they are needed as tarballs in ${S}/xstc instead and not unpacked
+ unpack ${tarname}
+
+ if [[ -n ${PATCHSET_VERSION} ]] ; then
+ unpack ${PN}-${PATCHSET_VERSION}.tar.xz
+ fi
+ fi
+
+ cd "${S}" || die
+
+ if use test ; then
+ cp "${DISTDIR}/${XSTS_TARBALL_1}" \
+ "${DISTDIR}/${XSTS_TARBALL_2}" \
+ "${S}"/xstc/ \
+ || die "Failed to install test tarballs"
+ unpack ${XMLCONF_TARBALL}
+ fi
+}
+
+src_prepare() {
+ default
+
+ if [[ ${PV} == 9999 ]] ; then
+ eautoreconf
+ else
+ # Please do not remove, as else we get references to PORTAGE_TMPDIR
+ # in /usr/lib/python?.?/site-packages/libxml2mod.la among things.
+ elibtoolize
+ fi
+}
+
+multilib_src_configure() {
+ # Filter seemingly problematic CFLAGS (bug #26320)
+ filter-flags -fprefetch-loop-arrays -funroll-loops
+
+ # Notes:
+ # The meaning of the 'debug' USE flag does not apply to the --with-debug
+ # switch (enabling the libxml2 debug module). See bug #100898.
+ libxml2_configure() {
+ ECONF_SOURCE="${S}" econf \
+ --enable-ipv6 \
+ $(use_with ftp) \
+ $(use_with debug run-debug) \
+ $(use_with icu) \
+ $(use_with lzma) \
+ $(use_enable static-libs static) \
+ $(multilib_native_use_with readline) \
+ $(multilib_native_use_with readline history) \
+ "$@"
+ }
+
+ # Build python bindings separately
+ libxml2_configure --without-python
+
+ multilib_is_native_abi && use python &&
+ python_foreach_impl run_in_build_dir libxml2_configure --with-python
+}
+
+libxml2_py_emake() {
+ pushd "${BUILD_DIR}"/python >/dev/null || die
+
+ emake top_builddir="${NATIVE_BUILD_DIR}" "$@"
+
+ popd >/dev/null || die
+}
+
+multilib_src_compile() {
+ default
+
+ if multilib_is_native_abi && use python ; then
+ NATIVE_BUILD_DIR="${BUILD_DIR}"
+ python_foreach_impl run_in_build_dir libxml2_py_emake all
+ fi
+}
+
+multilib_src_test() {
+ ln -s "${S}"/xmlconf || die
+
+ emake check
+
+ multilib_is_native_abi && use python &&
+ python_foreach_impl run_in_build_dir libxml2_py_emake check
+}
+
+multilib_src_install() {
+ emake DESTDIR="${D}" install
+
+ multilib_is_native_abi && use python &&
+ python_foreach_impl run_in_build_dir libxml2_py_emake DESTDIR="${D}" install
+
+ # Hack until automake release is made for the optimise fix
+ # https://git.savannah.gnu.org/cgit/automake.git/commit/?id=bde43d0481ff540418271ac37012a574a4fcf097
+ multilib_is_native_abi && use python && python_foreach_impl python_optimize
+}
+
+multilib_src_install_all() {
+ einstalldocs
+
+ if ! use examples ; then
+ rm -rf "${ED}"/usr/share/doc/${PF}/examples || die
+ rm -rf "${ED}"/usr/share/doc/${PF}/python/examples || die
+ fi
+
+ rm -rf "${ED}"/usr/share/doc/${PN}-python-${PVR} || die
+
+ find "${ED}" -name '*.la' -delete || die
+}
+
+pkg_postinst() {
+ # We don't want to do the xmlcatalog during stage1, as xmlcatalog will not
+ # be in / and stage1 builds to ROOT=/tmp/stage1root. This fixes bug #208887.
+ if [[ -n "${ROOT}" ]]; then
+ elog "Skipping XML catalog creation for stage building (bug #208887)."
+ else
+ # Need an XML catalog, so no-one writes to a non-existent one
+ CATALOG="${EROOT}/etc/xml/catalog"
+
+ # We don't want to clobber an existing catalog though,
+ # only ensure that one is there
+ # <obz@gentoo.org>
+ if [[ ! -e "${CATALOG}" ]]; then
+ [[ -d "${EROOT}/etc/xml" ]] || mkdir -p "${EROOT}/etc/xml"
+ "${EPREFIX}"/usr/bin/xmlcatalog --create > "${CATALOG}"
+ einfo "Created XML catalog in ${CATALOG}"
+ fi
+ fi
+}
diff --git a/dev-libs/libxml2/libxml2-2.9.12-r5.ebuild b/dev-libs/libxml2/libxml2-2.9.12-r5.ebuild
deleted file mode 100644
index 7dd8d6761000..000000000000
--- a/dev-libs/libxml2/libxml2-2.9.12-r5.ebuild
+++ /dev/null
@@ -1,258 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-# Note: Please bump in sync with dev-libs/libxslt
-
-PATCHSET_VERSION="2.9.12-r5-patchset"
-
-PYTHON_COMPAT=( python3_{8..10} )
-PYTHON_REQ_USE="xml"
-VERIFY_SIG_OPENPGP_KEY_PATH=${BROOT}/usr/share/openpgp-keys/danielveillard.asc
-inherit autotools flag-o-matic prefix python-r1 multilib-minimal verify-sig
-
-XSTS_HOME="http://www.w3.org/XML/2004/xml-schema-test-suite"
-XSTS_NAME_1="xmlschema2002-01-16"
-XSTS_NAME_2="xmlschema2004-01-14"
-XSTS_TARBALL_1="xsts-2002-01-16.tar.gz"
-XSTS_TARBALL_2="xsts-2004-01-14.tar.gz"
-XMLCONF_TARBALL="xmlts20130923.tar.gz"
-DESCRIPTION="XML C parser and toolkit"
-HOMEPAGE="http://www.xmlsoft.org/ https://gitlab.gnome.org/GNOME/libxml2"
-SRC_URI="
- ftp://xmlsoft.org/${PN}/${PN}-${PV/_rc/-rc}.tar.gz
- https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${PN}-${PATCHSET_VERSION}.tar.bz2
- test? (
- ${XSTS_HOME}/${XSTS_NAME_1}/${XSTS_TARBALL_1}
- ${XSTS_HOME}/${XSTS_NAME_2}/${XSTS_TARBALL_2}
- https://www.w3.org/XML/Test/${XMLCONF_TARBALL}
- )
- verify-sig? ( ftp://xmlsoft.org/${PN}/${PN}-${PV/_rc/-rc}.tar.gz.asc )
-"
-S="${WORKDIR}/${PN}-${PV%_rc*}"
-
-LICENSE="MIT"
-SLOT="2"
-# Dropped keywords for now because it's a minor LDFLAGS fix, and it will ease upgrades
-# bug #802210
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-IUSE="debug examples icu ipv6 lzma +python readline static-libs test"
-RESTRICT="!test? ( test )"
-REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
-
-BDEPEND="
- dev-util/gtk-doc-am
- virtual/pkgconfig
- verify-sig? ( sec-keys/openpgp-keys-danielveillard )
-"
-RDEPEND="
- >=sys-libs/zlib-1.2.8-r1:=[${MULTILIB_USEDEP}]
- icu? ( >=dev-libs/icu-51.2-r1:=[${MULTILIB_USEDEP}] )
- lzma? ( >=app-arch/xz-utils-5.0.5-r1:=[${MULTILIB_USEDEP}] )
- python? ( ${PYTHON_DEPS} )
- readline? ( sys-libs/readline:= )
-"
-DEPEND="${RDEPEND}"
-
-MULTILIB_CHOST_TOOLS=(
- /usr/bin/xml2-config
-)
-
-DOCS=( AUTHORS ChangeLog NEWS README TODO TODO_SCHEMAS )
-
-PATCHES=(
- ## Gentoo
- # Patches needed for prefix support
- "${WORKDIR}"/${PN}-2.7.1-catalog_path.patch
-
- # Fix python detection, bug #567066
- # https://bugzilla.gnome.org/show_bug.cgi?id=760458
- "${WORKDIR}"/${PN}-2.9.2-python-ABIFLAG.patch
-
- # Fix python tests when building out of tree #565576
- "${WORKDIR}"/${PN}-2.9.8-out-of-tree-test.patch
-
- # bug #745162
- "${WORKDIR}"/${PN}-2.9.8-python3-unicode-errors.patch
-
- # Avoid failure on missing fuzz.h when running tests
- "${WORKDIR}"/${PN}-2.9.11-disable-fuzz-tests.patch
-
- # Respect LDFLAGS fully (bug #798942)
- "${WORKDIR}"/${PN}-2.9.12-respect-LDFLAGS-as-needed.patch
- # ... and don't bother copying Python's libraries (bug #798942 still)
- "${WORKDIR}"/${PN}-2.9.12-dont-copy-python-ldflags.patch
-
- ## Upstream
- # Fix lxml compatibility (bug #790737)
- "${WORKDIR}"/${PN}-2.9.12-fix-lxml-compatibility.patch
- # Fix serialising empty HTML documents (bug #794733)
- "${WORKDIR}"/${PN}-2.9.12-Fix-whitespace-when-serializing-empty-HTML-documents.patch
-)
-
-src_unpack() {
- local tarname=${P/_rc/-rc}.tar.gz
-
- if use verify-sig ; then
- verify-sig_verify_detached "${DISTDIR}"/${tarname}{,.asc}
- fi
-
- # ${A} isn't used to avoid unpacking of test tarballs into ${WORKDIR},
- # as they are needed as tarballs in ${S}/xstc instead and not unpacked
- unpack ${tarname} ${PN}-${PATCHSET_VERSION}.tar.bz2
-
- cd "${S}" || die
-
- if use test ; then
- cp "${DISTDIR}/${XSTS_TARBALL_1}" \
- "${DISTDIR}/${XSTS_TARBALL_2}" \
- "${S}"/xstc/ \
- || die "Failed to install test tarballs"
- unpack ${XMLCONF_TARBALL}
- fi
-}
-
-src_prepare() {
- default
-
- eprefixify catalog.c xmlcatalog.c runtest.c xmllint.c
-
- if [[ ${CHOST} == *-darwin* ]] ; then
- # Avoid final linking arguments for python modules
- sed -i -e '/PYTHON_LIBS/s/ldflags/libs/' configure.ac || die
- # gcc-apple doesn't grok -Wno-array-bounds
- sed -i -e 's/-Wno-array-bounds//' configure.ac || die
- fi
-
- # Please do not remove, as else we get references to PORTAGE_TMPDIR
- # in /usr/lib/python?.?/site-packages/libxml2mod.la among things.
- # We now need to run eautoreconf at the end to prevent maintainer mode.
- #elibtoolize
- eautoreconf
-}
-
-multilib_src_configure() {
- # Filter seemingly problematic CFLAGS (#26320)
- filter-flags -fprefetch-loop-arrays -funroll-loops
-
- # Notes:
- # 1) USE zlib support breaks gnome2
- # (libgnomeprint for instance fails to compile with
- # fresh install, and existing) - <azarah@gentoo.org> (22 Dec 2002).
- #
- # 2) The meaning of the 'debug' USE flag does not apply to the --with-debug
- # switch (enabling the libxml2 debug module). See bug #100898.
- #
- # 3) --with-mem-debug causes unusual segmentation faults (bug #105120).
-
- libxml2_configure() {
- ECONF_SOURCE="${S}" econf \
- --with-html-subdir=${PF}/html \
- $(use_with debug run-debug) \
- $(use_with icu) \
- $(use_with lzma) \
- $(use_enable ipv6) \
- $(use_enable static-libs static) \
- $(multilib_native_use_with readline) \
- $(multilib_native_use_with readline history) \
- "$@"
- }
-
- libxml2_py_configure() {
- # Ensure python build dirs exist
- mkdir -p "${BUILD_DIR}" || die
-
- # Odd build system, also see bug #582130
- run_in_build_dir libxml2_configure \
- "--with-python=${EPYTHON}" \
- "--with-python-install-dir=$(python_get_sitedir)"
- }
-
- # Build python bindings separately
- libxml2_configure --without-python
-
- if multilib_is_native_abi && use python ; then
- python_foreach_impl libxml2_py_configure
- fi
-}
-
-libxml2_py_emake() {
- pushd "${BUILD_DIR}/python" > /dev/null || die
-
- emake "$@"
-
- popd > /dev/null || die
-}
-
-multilib_src_compile() {
- default
-
- if multilib_is_native_abi && use python ; then
- local native_builddir="${BUILD_DIR}"
-
- python_foreach_impl libxml2_py_emake \
- top_builddir="${native_builddir}" \
- all
- fi
-}
-
-multilib_src_test() {
- ln -s "${S}"/xmlconf || die
-
- emake check
-
- if multilib_is_native_abi && use python ; then
- python_foreach_impl libxml2_py_emake test
- fi
-}
-
-multilib_src_install() {
- emake \
- DESTDIR="${D}" \
- EXAMPLES_DIR="${EPREFIX}"/usr/share/doc/${PF}/examples \
- install
-
- if multilib_is_native_abi && use python ; then
- python_foreach_impl libxml2_py_emake \
- DESTDIR="${D}" \
- docsdir="${EPREFIX}"/usr/share/doc/${PF}/python \
- exampledir="${EPREFIX}"/usr/share/doc/${PF}/python/examples \
- install
-
- python_foreach_impl python_optimize
- fi
-}
-
-multilib_src_install_all() {
- rm -rf "${ED}"/usr/share/doc/${P}
-
- einstalldocs
-
- if ! use examples ; then
- rm -rf "${ED}"/usr/share/doc/${PF}/examples
- rm -rf "${ED}"/usr/share/doc/${PF}/python/examples
- fi
-
- find "${D}" -name '*.la' -delete || die
-}
-
-pkg_postinst() {
- # We don't want to do the xmlcatalog during stage1, as xmlcatalog will not
- # be in / and stage1 builds to ROOT=/tmp/stage1root. This fixes bug #208887.
- if [[ -n "${ROOT}" ]]; then
- elog "Skipping XML catalog creation for stage building (bug #208887)."
- else
- # Need an XML catalog, so no-one writes to a non-existent one
- CATALOG="${EROOT}/etc/xml/catalog"
-
- # We don't want to clobber an existing catalog though,
- # only ensure that one is there
- # <obz@gentoo.org>
- if [[ ! -e "${CATALOG}" ]]; then
- [[ -d "${EROOT}/etc/xml" ]] || mkdir -p "${EROOT}/etc/xml"
- "${EPREFIX}"/usr/bin/xmlcatalog --create > "${CATALOG}"
- einfo "Created XML catalog in ${CATALOG}"
- fi
- fi
-}
diff --git a/dev-libs/libxml2/libxml2-9999.ebuild b/dev-libs/libxml2/libxml2-9999.ebuild
new file mode 100644
index 000000000000..c4d87530a6d4
--- /dev/null
+++ b/dev-libs/libxml2/libxml2-9999.ebuild
@@ -0,0 +1,196 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# Note: Please bump in sync with dev-libs/libxslt
+
+PYTHON_COMPAT=( python3_{10..12} )
+PYTHON_REQ_USE="xml(+)"
+inherit flag-o-matic python-r1 multilib-minimal
+
+XSTS_HOME="http://www.w3.org/XML/2004/xml-schema-test-suite"
+XSTS_NAME_1="xmlschema2002-01-16"
+XSTS_NAME_2="xmlschema2004-01-14"
+XSTS_TARBALL_1="xsts-2002-01-16.tar.gz"
+XSTS_TARBALL_2="xsts-2004-01-14.tar.gz"
+XMLCONF_TARBALL="xmlts20130923.tar.gz"
+
+DESCRIPTION="XML C parser and toolkit"
+HOMEPAGE="https://gitlab.gnome.org/GNOME/libxml2/-/wikis/home"
+if [[ ${PV} == 9999 ]] ; then
+ EGIT_REPO_URI="https://gitlab.gnome.org/GNOME/libxml2"
+ inherit autotools git-r3
+else
+ inherit gnome.org libtool
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+fi
+
+SRC_URI+="
+ test? (
+ ${XSTS_HOME}/${XSTS_NAME_1}/${XSTS_TARBALL_1}
+ ${XSTS_HOME}/${XSTS_NAME_2}/${XSTS_TARBALL_2}
+ https://www.w3.org/XML/Test/${XMLCONF_TARBALL}
+ )
+"
+S="${WORKDIR}/${PN}-${PV%_rc*}"
+
+LICENSE="MIT"
+SLOT="2"
+IUSE="debug examples +ftp icu lzma +python readline static-libs test"
+RESTRICT="!test? ( test )"
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+
+RDEPEND="
+ virtual/libiconv
+ >=sys-libs/zlib-1.2.8-r1:=[${MULTILIB_USEDEP}]
+ icu? ( >=dev-libs/icu-51.2-r1:=[${MULTILIB_USEDEP}] )
+ lzma? ( >=app-arch/xz-utils-5.0.5-r1:=[${MULTILIB_USEDEP}] )
+ python? ( ${PYTHON_DEPS} )
+ readline? ( sys-libs/readline:= )
+"
+DEPEND="${RDEPEND}"
+BDEPEND="virtual/pkgconfig"
+
+if [[ ${PV} == 9999 ]] ; then
+ BDEPEND+=" dev-build/gtk-doc-am"
+fi
+
+MULTILIB_CHOST_TOOLS=(
+ /usr/bin/xml2-config
+)
+
+src_unpack() {
+ if [[ ${PV} == 9999 ]] ; then
+ git-r3_src_unpack
+ else
+ local tarname=${P/_rc/-rc}.tar.xz
+
+ # ${A} isn't used to avoid unpacking of test tarballs into ${WORKDIR},
+ # as they are needed as tarballs in ${S}/xstc instead and not unpacked
+ unpack ${tarname}
+
+ if [[ -n ${PATCHSET_VERSION} ]] ; then
+ unpack ${PN}-${PATCHSET_VERSION}.tar.xz
+ fi
+ fi
+
+ cd "${S}" || die
+
+ if use test ; then
+ cp "${DISTDIR}/${XSTS_TARBALL_1}" \
+ "${DISTDIR}/${XSTS_TARBALL_2}" \
+ "${S}"/xstc/ \
+ || die "Failed to install test tarballs"
+ unpack ${XMLCONF_TARBALL}
+ fi
+}
+
+src_prepare() {
+ default
+
+ if [[ ${PV} == 9999 ]] ; then
+ eautoreconf
+ else
+ # Please do not remove, as else we get references to PORTAGE_TMPDIR
+ # in /usr/lib/python?.?/site-packages/libxml2mod.la among things.
+ elibtoolize
+ fi
+}
+
+multilib_src_configure() {
+ # Filter seemingly problematic CFLAGS (bug #26320)
+ filter-flags -fprefetch-loop-arrays -funroll-loops
+
+ # Notes:
+ # The meaning of the 'debug' USE flag does not apply to the --with-debug
+ # switch (enabling the libxml2 debug module). See bug #100898.
+ libxml2_configure() {
+ ECONF_SOURCE="${S}" econf \
+ --enable-ipv6 \
+ $(use_with ftp) \
+ $(use_with debug run-debug) \
+ $(use_with icu) \
+ $(use_with lzma) \
+ $(use_enable static-libs static) \
+ $(multilib_native_use_with readline) \
+ $(multilib_native_use_with readline history) \
+ "$@"
+ }
+
+ # Build python bindings separately
+ libxml2_configure --without-python
+
+ multilib_is_native_abi && use python &&
+ python_foreach_impl run_in_build_dir libxml2_configure --with-python
+}
+
+libxml2_py_emake() {
+ pushd "${BUILD_DIR}"/python >/dev/null || die
+
+ emake top_builddir="${NATIVE_BUILD_DIR}" "$@"
+
+ popd >/dev/null || die
+}
+
+multilib_src_compile() {
+ default
+
+ if multilib_is_native_abi && use python ; then
+ NATIVE_BUILD_DIR="${BUILD_DIR}"
+ python_foreach_impl run_in_build_dir libxml2_py_emake all
+ fi
+}
+
+multilib_src_test() {
+ ln -s "${S}"/xmlconf || die
+
+ emake check
+
+ multilib_is_native_abi && use python &&
+ python_foreach_impl run_in_build_dir libxml2_py_emake check
+}
+
+multilib_src_install() {
+ emake DESTDIR="${D}" install
+
+ multilib_is_native_abi && use python &&
+ python_foreach_impl run_in_build_dir libxml2_py_emake DESTDIR="${D}" install
+
+ # Hack until automake release is made for the optimise fix
+ # https://git.savannah.gnu.org/cgit/automake.git/commit/?id=bde43d0481ff540418271ac37012a574a4fcf097
+ multilib_is_native_abi && use python && python_foreach_impl python_optimize
+}
+
+multilib_src_install_all() {
+ einstalldocs
+
+ if ! use examples ; then
+ rm -rf "${ED}"/usr/share/doc/${PF}/examples || die
+ rm -rf "${ED}"/usr/share/doc/${PF}/python/examples || die
+ fi
+
+ rm -rf "${ED}"/usr/share/doc/${PN}-python-${PVR} || die
+
+ find "${ED}" -name '*.la' -delete || die
+}
+
+pkg_postinst() {
+ # We don't want to do the xmlcatalog during stage1, as xmlcatalog will not
+ # be in / and stage1 builds to ROOT=/tmp/stage1root. This fixes bug #208887.
+ if [[ -n "${ROOT}" ]]; then
+ elog "Skipping XML catalog creation for stage building (bug #208887)."
+ else
+ # Need an XML catalog, so no-one writes to a non-existent one
+ CATALOG="${EROOT}/etc/xml/catalog"
+
+ # We don't want to clobber an existing catalog though,
+ # only ensure that one is there
+ # <obz@gentoo.org>
+ if [[ ! -e "${CATALOG}" ]]; then
+ [[ -d "${EROOT}/etc/xml" ]] || mkdir -p "${EROOT}/etc/xml"
+ "${EPREFIX}"/usr/bin/xmlcatalog --create > "${CATALOG}"
+ einfo "Created XML catalog in ${CATALOG}"
+ fi
+ fi
+}
diff --git a/dev-libs/libxml2/metadata.xml b/dev-libs/libxml2/metadata.xml
index 81dc675ca7a4..46e3b3676cb5 100644
--- a/dev-libs/libxml2/metadata.xml
+++ b/dev-libs/libxml2/metadata.xml
@@ -11,5 +11,6 @@
</maintainer>
<upstream>
<remote-id type="cpe">cpe:/a:xmlsoft:libxml2</remote-id>
+ <remote-id type="gnome-gitlab">GNOME/libxml2</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-libs/libxmlb/Manifest b/dev-libs/libxmlb/Manifest
index b3066865b0f4..3b2074d68fbb 100644
--- a/dev-libs/libxmlb/Manifest
+++ b/dev-libs/libxmlb/Manifest
@@ -1,3 +1,2 @@
-DIST libxmlb-0.1.15.tar.gz 92923 BLAKE2B 97b6af812397dd279e7e3c038627fcf8228cbfa5c3af91ceeb5361e32d37d357eda6a193f627a5f4442426fb08abca1ff11684fe199d9d3a4add72ca4f3f5d08 SHA512 58268b3a690af36c0923afdee3ae58e88bf778eebbc6a439be1bc85ed985efdc20cd7006c976586f7be87310dc091d67dddd370f4bbec58379fc4e7349bfa3d8
-DIST libxmlb-0.3.5.tar.gz 118335 BLAKE2B bc644ec810d8cfc8db4da5fd9eef0f97eb02efc4d634bb414e0404984ca7fc35be04dd2041dc4661d63515789a65217ae5ba60e8eb8dfc2d117beca73a69cf43 SHA512 2da4fbb0942a5b42c81bdf49926822b75b5a4b497a7f1c0c704b8ff4c249adeb85d22568a28b68b57a66e0019c13e129fd14d517ad49c7dbead4cd39ee790be3
-DIST libxmlb-0.3.6.tar.gz 118521 BLAKE2B ba79d80216705b8f2f6e02a10ebab7cb3765d3718bf821bff4c6fbfe3cee7c2128230f670751948b430bd206f34924be438d4293dc154bcd69338e85cea90032 SHA512 2ea8592aa950be597254beefe1db0097ea3fb36b42e8ace04a13e34a17718bd74f232633e1555cc90283d81568fdfe2a198b68151ead5e0fa5628d344de8df9b
+DIST libxmlb-0.3.14.tar.gz 127096 BLAKE2B d99ec674385cd8dc31d92b14ac1539138b00c980ba3561fd406099a64afdf2f8b6fa2d808b5a33daafbcbc5ef87e20a02a534f860699f78bc71aa55d4b507d51 SHA512 6c77b9475ca3430270ca29e3d1c5720740c54ff55da76501495da315ea039500e64791689600aa59f3003ff54d030203616ad468169c296bf34434a68e24df50
+DIST libxmlb-0.3.18.tar.gz 131331 BLAKE2B 8ee200c28b5159a895d601700b6553945b23e321d2266a0438a176747be4922b81bdbc9b9a27c3ff8490f8d40fd5e2d6e7eb5c2ca21484438a55adc54c6d3be3 SHA512 2576aca6b7651cf484694ad157914982ef1e3949ea641b4181966e5d5292b3d8c16318fe61b14d8c7e6d0e0d184ed30d498f874f5ada196f0ca69c6180d9061f
diff --git a/dev-libs/libxmlb/files/libxmlb-0.3.12-no_installed_tests.patch b/dev-libs/libxmlb/files/libxmlb-0.3.12-no_installed_tests.patch
new file mode 100644
index 000000000000..ff58f30d12fc
--- /dev/null
+++ b/dev-libs/libxmlb/files/libxmlb-0.3.12-no_installed_tests.patch
@@ -0,0 +1,33 @@
+--- a/data/meson.build
++++ b/data/meson.build
+@@ -3,18 +3,6 @@
+ input : 'libxmlb.test.in',
+ output : 'libxmlb.test',
+ configuration : conf,
+- install: true,
+- install_dir: installed_test_datadir,
+- )
+-
+- install_data([
+- 'test.desktop',
+- 'test.quirk',
+- 'test.xml',
+- 'test.xml.gz.gz.gz',
+- 'test.xml.xz',
+- 'test.xml.zstd',
+- ],
+- install_dir: installed_test_bindir,
++ install: false,
+ )
+ endif
+--- a/src/meson.build
++++ b/src/meson.build
+@@ -248,7 +248,7 @@
+ c_args: [
+ '-DSRCDIR="' + join_paths(meson.project_source_root(), 'data') + '"',
+ ],
+- install : true,
++ install : false,
+ install_dir : installed_test_bindir
+ )
+ test('xb-self-test', e, env : testdatadirs)
diff --git a/dev-libs/libxmlb/libxmlb-0.1.15-r1.ebuild b/dev-libs/libxmlb/libxmlb-0.1.15-r1.ebuild
deleted file mode 100644
index 36625e4a84a0..000000000000
--- a/dev-libs/libxmlb/libxmlb-0.1.15-r1.ebuild
+++ /dev/null
@@ -1,58 +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 meson python-any-r1
-
-DESCRIPTION="Library to help create and query binary XML blobs"
-HOMEPAGE="https://github.com/hughsie/libxmlb"
-SRC_URI="https://github.com/hughsie/libxmlb/archive/${PV}.tar.gz -> ${P}.tar.gz"
-LICENSE="LGPL-2.1+"
-SLOT="0"
-
-KEYWORDS="amd64 ~arm ~arm64 x86"
-IUSE="doc introspection stemmer test"
-
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- dev-libs/glib:2
- sys-apps/util-linux
- stemmer? ( dev-libs/snowball-stemmer:= )
-"
-
-DEPEND="
- ${RDEPEND}
- doc? ( dev-util/gtk-doc )
- introspection? ( dev-libs/gobject-introspection )
-"
-
-BDEPEND="
- ${PYTHON_DEPS}
- >=dev-util/meson-0.47.0
- virtual/pkgconfig
- introspection? (
- $(python_gen_any_dep 'dev-python/setuptools[${PYTHON_USEDEP}]')
- )
-"
-
-python_check_deps() {
- has_version -b "dev-python/setuptools[${PYTHON_USEDEP}]"
-}
-
-pkg_setup() {
- python-any-r1_pkg_setup
-}
-
-src_configure() {
- local emesonargs=(
- -Dgtkdoc="$(usex doc true false)"
- -Dintrospection="$(usex introspection true false)"
- -Dstemmer="$(usex stemmer true false)"
- -Dtests="$(usex test true false)"
- )
- meson_src_configure
-}
diff --git a/dev-libs/libxmlb/libxmlb-0.3.14.ebuild b/dev-libs/libxmlb/libxmlb-0.3.14.ebuild
new file mode 100644
index 000000000000..bd6eb5bb0c8f
--- /dev/null
+++ b/dev-libs/libxmlb/libxmlb-0.3.14.ebuild
@@ -0,0 +1,65 @@
+# 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 python-any-r1
+
+DESCRIPTION="Library to help create and query binary XML blobs"
+HOMEPAGE="https://github.com/hughsie/libxmlb"
+SRC_URI="https://github.com/hughsie/libxmlb/archive/${PV}.tar.gz -> ${P}.tar.gz"
+LICENSE="LGPL-2.1+"
+SLOT="0/2" # libxmlb.so version
+
+KEYWORDS="amd64 ~arm arm64 ~loong ppc ppc64 ~riscv x86"
+IUSE="doc introspection stemmer test +zstd"
+
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ app-arch/xz-utils
+ dev-libs/glib:2
+ sys-apps/util-linux
+ stemmer? ( dev-libs/snowball-stemmer:= )
+ zstd? ( app-arch/zstd:= )
+"
+
+DEPEND="
+ ${RDEPEND}
+ doc? ( dev-util/gtk-doc )
+ introspection? ( dev-libs/gobject-introspection )
+"
+
+BDEPEND="
+ ${PYTHON_DEPS}
+ >=dev-build/meson-0.47.0
+ virtual/pkgconfig
+ introspection? (
+ $(python_gen_any_dep 'dev-python/setuptools[${PYTHON_USEDEP}]')
+ )
+"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-0.3.12-no_installed_tests.patch
+)
+
+python_check_deps() {
+ python_has_version -b "dev-python/setuptools[${PYTHON_USEDEP}]"
+}
+
+pkg_setup() {
+ python-any-r1_pkg_setup
+}
+
+src_configure() {
+ local emesonargs=(
+ $(meson_use doc gtkdoc)
+ $(meson_use introspection)
+ $(meson_use stemmer)
+ $(meson_use test tests)
+ $(meson_use zstd)
+ )
+ meson_src_configure
+}
diff --git a/dev-libs/libxmlb/libxmlb-0.3.18.ebuild b/dev-libs/libxmlb/libxmlb-0.3.18.ebuild
new file mode 100644
index 000000000000..1d407706e7cc
--- /dev/null
+++ b/dev-libs/libxmlb/libxmlb-0.3.18.ebuild
@@ -0,0 +1,75 @@
+# 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 python-any-r1
+
+DESCRIPTION="Library to help create and query binary XML blobs"
+HOMEPAGE="https://github.com/hughsie/libxmlb"
+SRC_URI="https://github.com/hughsie/libxmlb/archive/${PV}.tar.gz -> ${P}.tar.gz"
+LICENSE="LGPL-2.1+"
+SLOT="0/2" # libxmlb.so version
+
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86"
+IUSE="doc introspection +lzma stemmer test +zstd"
+
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ dev-libs/glib:2
+ sys-apps/util-linux
+ lzma? ( app-arch/xz-utils )
+ stemmer? ( dev-libs/snowball-stemmer:= )
+ zstd? ( app-arch/zstd:= )
+"
+
+DEPEND="
+ ${RDEPEND}
+ doc? ( dev-util/gtk-doc )
+ introspection? ( dev-libs/gobject-introspection )
+"
+
+BDEPEND="
+ ${PYTHON_DEPS}
+ >=dev-build/meson-0.47.0
+ virtual/pkgconfig
+ introspection? (
+ $(python_gen_any_dep 'dev-python/setuptools[${PYTHON_USEDEP}]')
+ )
+"
+
+python_check_deps() {
+ python_has_version -b "dev-python/setuptools[${PYTHON_USEDEP}]"
+}
+
+pkg_setup() {
+ python-any-r1_pkg_setup
+}
+
+src_configure() {
+ local emesonargs=(
+ $(meson_feature lzma)
+ $(meson_feature zstd)
+ $(meson_use doc gtkdoc)
+ $(meson_use introspection)
+ $(meson_use stemmer)
+ $(meson_use test tests)
+ )
+ meson_src_configure
+}
+
+src_install() {
+ meson_src_install
+
+ if use test; then
+ # Preventing tests from being installed in the first place is a moving target,
+ # just axe them all afterwards.
+ rm -rf \
+ "${ED}"/usr/libexec/installed-tests \
+ "${ED}"/usr/share/installed-tests \
+ || die
+ fi
+}
diff --git a/dev-libs/libxmlb/libxmlb-0.3.5.ebuild b/dev-libs/libxmlb/libxmlb-0.3.5.ebuild
deleted file mode 100644
index 84e2880a46ac..000000000000
--- a/dev-libs/libxmlb/libxmlb-0.3.5.ebuild
+++ /dev/null
@@ -1,59 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..10} )
-
-inherit meson python-any-r1
-
-DESCRIPTION="Library to help create and query binary XML blobs"
-HOMEPAGE="https://github.com/hughsie/libxmlb"
-SRC_URI="https://github.com/hughsie/libxmlb/archive/${PV}.tar.gz -> ${P}.tar.gz"
-LICENSE="LGPL-2.1+"
-SLOT="0/2" # libxmlb.so version
-
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86"
-IUSE="doc introspection stemmer test"
-
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- app-arch/xz-utils
- dev-libs/glib:2
- sys-apps/util-linux
- stemmer? ( dev-libs/snowball-stemmer:= )
-"
-
-DEPEND="
- ${RDEPEND}
- doc? ( dev-util/gtk-doc )
- introspection? ( dev-libs/gobject-introspection )
-"
-
-BDEPEND="
- ${PYTHON_DEPS}
- >=dev-util/meson-0.47.0
- virtual/pkgconfig
- introspection? (
- $(python_gen_any_dep 'dev-python/setuptools[${PYTHON_USEDEP}]')
- )
-"
-
-python_check_deps() {
- has_version -b "dev-python/setuptools[${PYTHON_USEDEP}]"
-}
-
-pkg_setup() {
- python-any-r1_pkg_setup
-}
-
-src_configure() {
- local emesonargs=(
- $(meson_use doc gtkdoc)
- $(meson_use introspection)
- $(meson_use stemmer)
- $(meson_use test tests)
- )
- meson_src_configure
-}
diff --git a/dev-libs/libxmlb/libxmlb-0.3.6.ebuild b/dev-libs/libxmlb/libxmlb-0.3.6.ebuild
deleted file mode 100644
index 84e2880a46ac..000000000000
--- a/dev-libs/libxmlb/libxmlb-0.3.6.ebuild
+++ /dev/null
@@ -1,59 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..10} )
-
-inherit meson python-any-r1
-
-DESCRIPTION="Library to help create and query binary XML blobs"
-HOMEPAGE="https://github.com/hughsie/libxmlb"
-SRC_URI="https://github.com/hughsie/libxmlb/archive/${PV}.tar.gz -> ${P}.tar.gz"
-LICENSE="LGPL-2.1+"
-SLOT="0/2" # libxmlb.so version
-
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86"
-IUSE="doc introspection stemmer test"
-
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- app-arch/xz-utils
- dev-libs/glib:2
- sys-apps/util-linux
- stemmer? ( dev-libs/snowball-stemmer:= )
-"
-
-DEPEND="
- ${RDEPEND}
- doc? ( dev-util/gtk-doc )
- introspection? ( dev-libs/gobject-introspection )
-"
-
-BDEPEND="
- ${PYTHON_DEPS}
- >=dev-util/meson-0.47.0
- virtual/pkgconfig
- introspection? (
- $(python_gen_any_dep 'dev-python/setuptools[${PYTHON_USEDEP}]')
- )
-"
-
-python_check_deps() {
- has_version -b "dev-python/setuptools[${PYTHON_USEDEP}]"
-}
-
-pkg_setup() {
- python-any-r1_pkg_setup
-}
-
-src_configure() {
- local emesonargs=(
- $(meson_use doc gtkdoc)
- $(meson_use introspection)
- $(meson_use stemmer)
- $(meson_use test tests)
- )
- meson_src_configure
-}
diff --git a/dev-libs/libxmlb/metadata.xml b/dev-libs/libxmlb/metadata.xml
index b7c01e26d68b..cb44de14664d 100644
--- a/dev-libs/libxmlb/metadata.xml
+++ b/dev-libs/libxmlb/metadata.xml
@@ -1,18 +1,14 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <email>polynomial-c@gentoo.org</email>
- <name>Lars Wendler</name>
- </maintainer>
- <maintainer type="person">
- <email>whissi@gentoo.org</email>
- <name>Thomas Deutschmann</name>
- </maintainer>
- <use>
- <flag name="stemmer">Enable language stemming support</flag>
- </use>
- <upstream>
- <remote-id type="github">hughsie/libxmlb</remote-id>
- </upstream>
+ <maintainer type="person">
+ <email>marecki@gentoo.org</email>
+ <name>Marek Szuba</name>
+ </maintainer>
+ <use>
+ <flag name="stemmer">Enable language stemming support</flag>
+ </use>
+ <upstream>
+ <remote-id type="github">hughsie/libxmlb</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/dev-libs/libxslt/Manifest b/dev-libs/libxslt/Manifest
index 69d0fad3bca1..0c049556676a 100644
--- a/dev-libs/libxslt/Manifest
+++ b/dev-libs/libxslt/Manifest
@@ -1,2 +1 @@
-DIST libxslt-1.1.34.tar.gz 3552258 BLAKE2B f043a0357e0705ab68041adf4031a6b3e0b5c3d396691c988a34963a0ee0ebe3bede2d1d7a0c5f0c42c046183653c94f4b51e10e35980a039c8cad446e84ad86 SHA512 1516a11ad608b04740674060d2c5d733b88889de5e413b9a4e8bf8d1a90d712149df6d2b1345b615f529d7c7d3fa6dae12e544da828b39c7d415e54c0ee0776b
-DIST libxslt-1.1.34.tar.gz.asc 488 BLAKE2B fff407ab2c2bbafa804e5a1f84ca447c706d75fd7489c99ac6040b625d0417a0e6c189be3457e6cc6ecd6b7860829875ea95a132fef24f8a532156361f8a5308 SHA512 9b155d4571daede99cdbf2813a85fb04812737b5e23d3f7c9840225b38f3dbf171623a21645daaee190e7ff9ba38bde932922e96a2a2312c203ffa9917c3baea
+DIST libxslt-1.1.39.tar.xz 1578216 BLAKE2B 7c87b769d345fc99a966bea6b4e94533fa211dc3a987ce013a03eefb05dde73ef75526bdecf7d32d8c77112232096fb22d8ec4f0a781b9f59d0422a2db75df01 SHA512 c0c99dc63f8b2acb6cc3ad7ad684ffa2a427ee8d1740495cbf8a7c9b9c8679f96351b4b676c73ccc191014db4cb4ab42b9a0070f6295565f39dbc665c5c16f89
diff --git a/dev-libs/libxslt/files/libxslt-1.1.34-CVE-2021-30560.patch b/dev-libs/libxslt/files/libxslt-1.1.34-CVE-2021-30560.patch
deleted file mode 100644
index dcda176c513a..000000000000
--- a/dev-libs/libxslt/files/libxslt-1.1.34-CVE-2021-30560.patch
+++ /dev/null
@@ -1,194 +0,0 @@
-https://gitlab.gnome.org/GNOME/libxslt/-/issues/56
-https://gitlab.gnome.org/GNOME/libxslt/-/commit/50f9c9cd3b7dfe9b3c8c795247752d1fdcadcac8
-https://gitlab.gnome.org/GNOME/libxslt/-/issues/51
-https://bugs.gentoo.org/790218
-
-From: Nick Wellnhofer <wellnhofer@aevum.de>
-Date: Sat, 12 Jun 2021 20:02:53 +0200
-Subject: [PATCH] Fix use-after-free in xsltApplyTemplates
-
-xsltApplyTemplates without a select expression could delete nodes in
-the source document.
-
-1. Text nodes with strippable whitespace
-
-Whitespace from input documents is already stripped, so there's no
-need to strip it again. Under certain circumstances, xsltApplyTemplates
-could be fooled into deleting text nodes that are still referenced,
-resulting in a use-after-free.
-
-2. The DTD
-
-The DTD was only unlinked, but there's no good reason to do this just
-now. Maybe it was meant as a micro-optimization.
-
-3. Unknown nodes
-
-Useless and dangerous as well, especially with XInclude nodes.
-See https://gitlab.gnome.org/GNOME/libxml2/-/issues/268
-
-Simply stop trying to uselessly delete nodes when applying a template.
-This part of the code is probably a leftover from a time where
-xsltApplyStripSpaces wasn't implemented yet. Also note that
-xsltApplyTemplates with a select expression never tried to delete
-nodes.
-
-Also stop xsltDefaultProcessOneNode from deleting nodes for the same
-reasons.
-
-This fixes CVE-2021-30560.
---- a/libxslt/transform.c
-+++ b/libxslt/transform.c
-@@ -1895,7 +1895,7 @@ static void
- xsltDefaultProcessOneNode(xsltTransformContextPtr ctxt, xmlNodePtr node,
- xsltStackElemPtr params) {
- xmlNodePtr copy;
-- xmlNodePtr delete = NULL, cur;
-+ xmlNodePtr cur;
- int nbchild = 0, oldSize;
- int childno = 0, oldPos;
- xsltTemplatePtr template;
-@@ -1968,54 +1968,13 @@ xsltDefaultProcessOneNode(xsltTransformContextPtr ctxt, xmlNodePtr node,
- return;
- }
- /*
-- * Handling of Elements: first pass, cleanup and counting
-+ * Handling of Elements: first pass, counting
- */
- cur = node->children;
- while (cur != NULL) {
-- switch (cur->type) {
-- case XML_TEXT_NODE:
-- case XML_CDATA_SECTION_NODE:
-- case XML_DOCUMENT_NODE:
-- case XML_HTML_DOCUMENT_NODE:
-- case XML_ELEMENT_NODE:
-- case XML_PI_NODE:
-- case XML_COMMENT_NODE:
-- nbchild++;
-- break;
-- case XML_DTD_NODE:
-- /* Unlink the DTD, it's still reachable using doc->intSubset */
-- if (cur->next != NULL)
-- cur->next->prev = cur->prev;
-- if (cur->prev != NULL)
-- cur->prev->next = cur->next;
-- break;
-- default:
--#ifdef WITH_XSLT_DEBUG_PROCESS
-- XSLT_TRACE(ctxt,XSLT_TRACE_PROCESS_NODE,xsltGenericDebug(xsltGenericDebugContext,
-- "xsltDefaultProcessOneNode: skipping node type %d\n",
-- cur->type));
--#endif
-- delete = cur;
-- }
-+ if (IS_XSLT_REAL_NODE(cur))
-+ nbchild++;
- cur = cur->next;
-- if (delete != NULL) {
--#ifdef WITH_XSLT_DEBUG_PROCESS
-- XSLT_TRACE(ctxt,XSLT_TRACE_PROCESS_NODE,xsltGenericDebug(xsltGenericDebugContext,
-- "xsltDefaultProcessOneNode: removing ignorable blank node\n"));
--#endif
-- xmlUnlinkNode(delete);
-- xmlFreeNode(delete);
-- delete = NULL;
-- }
-- }
-- if (delete != NULL) {
--#ifdef WITH_XSLT_DEBUG_PROCESS
-- XSLT_TRACE(ctxt,XSLT_TRACE_PROCESS_NODE,xsltGenericDebug(xsltGenericDebugContext,
-- "xsltDefaultProcessOneNode: removing ignorable blank node\n"));
--#endif
-- xmlUnlinkNode(delete);
-- xmlFreeNode(delete);
-- delete = NULL;
- }
-
- /*
-@@ -4864,7 +4823,7 @@ xsltApplyTemplates(xsltTransformContextPtr ctxt, xmlNodePtr node,
- xsltStylePreCompPtr comp = (xsltStylePreCompPtr) castedComp;
- #endif
- int i;
-- xmlNodePtr cur, delNode = NULL, oldContextNode;
-+ xmlNodePtr cur, oldContextNode;
- xmlNodeSetPtr list = NULL, oldList;
- xsltStackElemPtr withParams = NULL;
- int oldXPProximityPosition, oldXPContextSize;
-@@ -4998,73 +4957,9 @@ xsltApplyTemplates(xsltTransformContextPtr ctxt, xmlNodePtr node,
- else
- cur = NULL;
- while (cur != NULL) {
-- switch (cur->type) {
-- case XML_TEXT_NODE:
-- if ((IS_BLANK_NODE(cur)) &&
-- (cur->parent != NULL) &&
-- (cur->parent->type == XML_ELEMENT_NODE) &&
-- (ctxt->style->stripSpaces != NULL)) {
-- const xmlChar *val;
--
-- if (cur->parent->ns != NULL) {
-- val = (const xmlChar *)
-- xmlHashLookup2(ctxt->style->stripSpaces,
-- cur->parent->name,
-- cur->parent->ns->href);
-- if (val == NULL) {
-- val = (const xmlChar *)
-- xmlHashLookup2(ctxt->style->stripSpaces,
-- BAD_CAST "*",
-- cur->parent->ns->href);
-- }
-- } else {
-- val = (const xmlChar *)
-- xmlHashLookup2(ctxt->style->stripSpaces,
-- cur->parent->name, NULL);
-- }
-- if ((val != NULL) &&
-- (xmlStrEqual(val, (xmlChar *) "strip"))) {
-- delNode = cur;
-- break;
-- }
-- }
-- /* Intentional fall-through */
-- case XML_ELEMENT_NODE:
-- case XML_DOCUMENT_NODE:
-- case XML_HTML_DOCUMENT_NODE:
-- case XML_CDATA_SECTION_NODE:
-- case XML_PI_NODE:
-- case XML_COMMENT_NODE:
-- xmlXPathNodeSetAddUnique(list, cur);
-- break;
-- case XML_DTD_NODE:
-- /* Unlink the DTD, it's still reachable
-- * using doc->intSubset */
-- if (cur->next != NULL)
-- cur->next->prev = cur->prev;
-- if (cur->prev != NULL)
-- cur->prev->next = cur->next;
-- break;
-- case XML_NAMESPACE_DECL:
-- break;
-- default:
--#ifdef WITH_XSLT_DEBUG_PROCESS
-- XSLT_TRACE(ctxt,XSLT_TRACE_APPLY_TEMPLATES,xsltGenericDebug(xsltGenericDebugContext,
-- "xsltApplyTemplates: skipping cur type %d\n",
-- cur->type));
--#endif
-- delNode = cur;
-- }
-+ if (IS_XSLT_REAL_NODE(cur))
-+ xmlXPathNodeSetAddUnique(list, cur);
- cur = cur->next;
-- if (delNode != NULL) {
--#ifdef WITH_XSLT_DEBUG_PROCESS
-- XSLT_TRACE(ctxt,XSLT_TRACE_APPLY_TEMPLATES,xsltGenericDebug(xsltGenericDebugContext,
-- "xsltApplyTemplates: removing ignorable blank cur\n"));
--#endif
-- xmlUnlinkNode(delNode);
-- xmlFreeNode(delNode);
-- delNode = NULL;
-- }
- }
- }
-
-GitLab
diff --git a/dev-libs/libxslt/files/libxslt-1.1.34-libxml2-2.9.12.patch b/dev-libs/libxslt/files/libxslt-1.1.34-libxml2-2.9.12.patch
deleted file mode 100644
index 635fb576d3de..000000000000
--- a/dev-libs/libxslt/files/libxslt-1.1.34-libxml2-2.9.12.patch
+++ /dev/null
@@ -1,120 +0,0 @@
-https://gitlab.gnome.org/GNOME/libxslt/-/commit/9ae2f94df1721e002941b40665efb762aefcea1a
-https://gitlab.gnome.org/GNOME/libxslt/-/commit/824657768aea2cce9c23e72ba8085cb5e44350c7
-https://gitlab.gnome.org/GNOME/libxslt/-/commit/77c26bad0433541f486b1e7ced44ca9979376908
-
-From: Nick Wellnhofer <wellnhofer@aevum.de>
-Date: Mon, 17 Aug 2020 03:42:11 +0200
-Subject: [PATCH] Stop using maxParserDepth XPath limit
-
-This will be removed again from libxml2.
---- a/tests/fuzz/fuzz.c
-+++ b/tests/fuzz/fuzz.c
-@@ -183,8 +183,7 @@ xsltFuzzXPathInit(int *argc_p ATTRIBUTE_UNUSED, char ***argv_p,
- xpctxt = tctxt->xpathCtxt;
-
- /* Resource limits to avoid timeouts and call stack overflows */
-- xpctxt->maxParserDepth = 15;
-- xpctxt->maxDepth = 100;
-+ xpctxt->maxDepth = 500;
- xpctxt->opLimit = 500000;
-
- /* Test namespaces used in xpath.xml */
-@@ -317,8 +316,7 @@ xsltFuzzXsltInit(int *argc_p ATTRIBUTE_UNUSED, char ***argv_p,
-
- static void
- xsltSetXPathResourceLimits(xmlXPathContextPtr ctxt) {
-- ctxt->maxParserDepth = 15;
-- ctxt->maxDepth = 100;
-+ ctxt->maxDepth = 200;
- ctxt->opLimit = 100000;
- }
-
-From: Nick Wellnhofer <wellnhofer@aevum.de>
-Date: Mon, 17 Aug 2020 04:27:13 +0200
-Subject: [PATCH] Transfer XPath limits to XPtr context
-
-Expressions like document('doc.xml#xpointer(evil_expr)') ignored the
-XPath limits.
---- a/libxslt/functions.c
-+++ b/libxslt/functions.c
-@@ -178,10 +178,22 @@ xsltDocumentFunctionLoadDocument(xmlXPathParserContextPtr ctxt, xmlChar* URI)
- goto out_fragment;
- }
-
-+#if LIBXML_VERSION >= 20911 || \
-+ defined(FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION)
-+ xptrctxt->opLimit = ctxt->context->opLimit;
-+ xptrctxt->opCount = ctxt->context->opCount;
-+ xptrctxt->maxDepth = ctxt->context->maxDepth - ctxt->context->depth;
-+
-+ resObj = xmlXPtrEval(fragment, xptrctxt);
-+
-+ ctxt->context->opCount = xptrctxt->opCount;
-+#else
- resObj = xmlXPtrEval(fragment, xptrctxt);
-- xmlXPathFreeContext(xptrctxt);
- #endif
-
-+ xmlXPathFreeContext(xptrctxt);
-+#endif /* LIBXML_XPTR_ENABLED */
-+
- if (resObj == NULL)
- goto out_fragment;
-
-From: Nick Wellnhofer <wellnhofer@aevum.de>
-Date: Wed, 26 Aug 2020 00:34:38 +0200
-Subject: [PATCH] Don't set maxDepth in XPath contexts
-
-The maximum recursion depth is hardcoded in libxml2 now.
---- a/libxslt/functions.c
-+++ b/libxslt/functions.c
-@@ -182,7 +182,7 @@ xsltDocumentFunctionLoadDocument(xmlXPathParserContextPtr ctxt, xmlChar* URI)
- defined(FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION)
- xptrctxt->opLimit = ctxt->context->opLimit;
- xptrctxt->opCount = ctxt->context->opCount;
-- xptrctxt->maxDepth = ctxt->context->maxDepth - ctxt->context->depth;
-+ xptrctxt->depth = ctxt->context->depth;
-
- resObj = xmlXPtrEval(fragment, xptrctxt);
-
---- a/tests/fuzz/fuzz.c
-+++ b/tests/fuzz/fuzz.c
-@@ -183,7 +183,6 @@ xsltFuzzXPathInit(int *argc_p ATTRIBUTE_UNUSED, char ***argv_p,
- xpctxt = tctxt->xpathCtxt;
-
- /* Resource limits to avoid timeouts and call stack overflows */
-- xpctxt->maxDepth = 500;
- xpctxt->opLimit = 500000;
-
- /* Test namespaces used in xpath.xml */
-@@ -314,12 +313,6 @@ xsltFuzzXsltInit(int *argc_p ATTRIBUTE_UNUSED, char ***argv_p,
- return 0;
- }
-
--static void
--xsltSetXPathResourceLimits(xmlXPathContextPtr ctxt) {
-- ctxt->maxDepth = 200;
-- ctxt->opLimit = 100000;
--}
--
- xmlChar *
- xsltFuzzXslt(const char *data, size_t size) {
- xmlDocPtr xsltDoc;
-@@ -349,7 +342,7 @@ xsltFuzzXslt(const char *data, size_t size) {
- xmlFreeDoc(xsltDoc);
- return NULL;
- }
-- xsltSetXPathResourceLimits(sheet->xpathCtxt);
-+ sheet->xpathCtxt->opLimit = 100000;
- sheet->xpathCtxt->opCount = 0;
- if (xsltParseStylesheetUser(sheet, xsltDoc) != 0) {
- xsltFreeStylesheet(sheet);
-@@ -361,7 +354,7 @@ xsltFuzzXslt(const char *data, size_t size) {
- xsltSetCtxtSecurityPrefs(sec, ctxt);
- ctxt->maxTemplateDepth = 100;
- ctxt->opLimit = 20000;
-- xsltSetXPathResourceLimits(ctxt->xpathCtxt);
-+ ctxt->xpathCtxt->opLimit = 100000;
- ctxt->xpathCtxt->opCount = sheet->xpathCtxt->opCount;
-
- result = xsltApplyStylesheetUser(sheet, doc, NULL, NULL, NULL, ctxt);
diff --git a/dev-libs/libxslt/files/libxslt-1.1.39-libxml2-2.11-tests.patch b/dev-libs/libxslt/files/libxslt-1.1.39-libxml2-2.11-tests.patch
new file mode 100644
index 000000000000..8d7f98e71b9d
--- /dev/null
+++ b/dev-libs/libxslt/files/libxslt-1.1.39-libxml2-2.11-tests.patch
@@ -0,0 +1,24 @@
+https://bugs.gentoo.org/918973
+https://gitlab.gnome.org/GNOME/libxslt/-/issues/99
+https://gitlab.gnome.org/GNOME/libxslt/-/commit/86ec392efd75ce24b79f4baa9822a1b088f3e47f
+
+From 86ec392efd75ce24b79f4baa9822a1b088f3e47f Mon Sep 17 00:00:00 2001
+From: Nick Wellnhofer <wellnhofer@aevum.de>
+Date: Fri, 1 Dec 2023 21:05:19 +0100
+Subject: [PATCH] tests: Fix build with older libxml2
+
+Fixes #99.
+--- a/tests/runtest.c
++++ b/tests/runtest.c
+@@ -456,7 +456,8 @@ initializeLibxml2(void) {
+ xmlSetExternalEntityLoader(xmlNoNetExternalEntityLoader);
+ xmlSetGenericErrorFunc(NULL, testErrorHandler);
+ xsltSetGenericErrorFunc(NULL, testErrorHandler);
+- xmlSetStructuredErrorFunc(NULL, testStructuredErrorHandler);
++ xmlSetStructuredErrorFunc(NULL,
++ (xmlStructuredErrorFunc) testStructuredErrorHandler);
+ exsltRegisterAll();
+ xsltRegisterTestModule();
+ xsltMaxDepth = 200;
+--
+GitLab
diff --git a/dev-libs/libxslt/libxslt-1.1.34-r2.ebuild b/dev-libs/libxslt/libxslt-1.1.34-r2.ebuild
deleted file mode 100644
index 5239f0691623..000000000000
--- a/dev-libs/libxslt/libxslt-1.1.34-r2.ebuild
+++ /dev/null
@@ -1,72 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-VERIFY_SIG_OPENPGP_KEY_PATH=${BROOT}/usr/share/openpgp-keys/danielveillard.asc
-inherit libtool multilib-minimal verify-sig
-
-# Note: Please bump this in sync with dev-libs/libxml2.
-DESCRIPTION="XSLT libraries and tools"
-HOMEPAGE="http://www.xmlsoft.org/ https://gitlab.gnome.org/GNOME/libxslt"
-SRC_URI="ftp://xmlsoft.org/${PN}/${P}.tar.gz"
-SRC_URI+=" verify-sig? ( ftp://xmlsoft.org/${PN}/${P}.tar.gz.asc )"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-IUSE="crypt debug examples static-libs"
-
-BDEPEND=">=virtual/pkgconfig-1
- verify-sig? ( sec-keys/openpgp-keys-danielveillard )"
-RDEPEND="
- >=dev-libs/libxml2-2.9.11:2[${MULTILIB_USEDEP}]
- crypt? ( >=dev-libs/libgcrypt-1.5.3:0=[${MULTILIB_USEDEP}] )
-"
-DEPEND="${RDEPEND}"
-
-MULTILIB_CHOST_TOOLS=(
- /usr/bin/xslt-config
-)
-
-MULTILIB_WRAPPED_HEADERS=(
- /usr/include/libxslt/xsltconfig.h
-)
-
-PATCHES=(
- "${FILESDIR}"/${P}-libxml2-2.9.12.patch
- "${FILESDIR}"/${P}-CVE-2021-30560.patch
-)
-
-src_prepare() {
- default
-
- DOCS=( AUTHORS ChangeLog FEATURES NEWS README TODO )
-
- # Prefix always needs elibtoolize if not eautoreconf'd.
- elibtoolize
-}
-
-multilib_src_configure() {
- # Python bindings were dropped as they were Python 2 only at the time
- ECONF_SOURCE="${S}" econf \
- --with-html-dir="${EPREFIX}"/usr/share/doc/${PF} \
- --with-html-subdir=html \
- --without-python \
- $(use_with crypt crypto) \
- $(use_with debug) \
- $(use_with debug mem-debug) \
- $(use_enable static-libs static) \
- "$@"
-}
-
-multilib_src_install() {
- # "default" does not work here - docs are installed by multilib_src_install_all
- emake DESTDIR="${D}" install
-}
-
-multilib_src_install_all() {
- einstalldocs
-
- find "${ED}" -type f -name "*.la" -delete || die
-}
diff --git a/dev-libs/libxslt/libxslt-1.1.39.ebuild b/dev-libs/libxslt/libxslt-1.1.39.ebuild
new file mode 100644
index 000000000000..63f43e719abb
--- /dev/null
+++ b/dev-libs/libxslt/libxslt-1.1.39.ebuild
@@ -0,0 +1,128 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# Note: Please bump this in sync with dev-libs/libxml2.
+
+PYTHON_COMPAT=( python3_{10..12} )
+inherit flag-o-matic python-r1 multilib-minimal
+
+DESCRIPTION="XSLT libraries and tools"
+HOMEPAGE="https://gitlab.gnome.org/GNOME/libxslt"
+if [[ ${PV} == 9999 ]] ; then
+ EGIT_REPO_URI="https://gitlab.gnome.org/GNOME/libxslt"
+ inherit autotools git-r3
+else
+ inherit libtool gnome.org
+ KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+fi
+
+LICENSE="MIT"
+SLOT="0"
+IUSE="crypt debug examples python static-libs"
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+
+BDEPEND=">=virtual/pkgconfig-1"
+RDEPEND="
+ >=dev-libs/libxml2-2.9.11:2[${MULTILIB_USEDEP}]
+ crypt? ( >=dev-libs/libgcrypt-1.5.3:0=[${MULTILIB_USEDEP}] )
+ python? ( ${PYTHON_DEPS} )
+"
+DEPEND="${RDEPEND}"
+
+MULTILIB_CHOST_TOOLS=(
+ /usr/bin/xslt-config
+)
+
+MULTILIB_WRAPPED_HEADERS=(
+ /usr/include/libxslt/xsltconfig.h
+)
+
+PATCHES=(
+ "${FILESDIR}"/${P}-libxml2-2.11-tests.patch
+)
+
+src_prepare() {
+ default
+
+ if [[ ${PV} == 9999 ]] ; then
+ eautoreconf
+ else
+ # Prefix always needs elibtoolize if not eautoreconf'd.
+ elibtoolize
+ fi
+}
+
+multilib_src_configure() {
+ # Remove this after upstream merge request to add AC_SYS_LARGEFILE lands:
+ # https://gitlab.gnome.org/GNOME/libxslt/-/merge_requests/55
+ append-lfs-flags
+
+ libxslt_configure() {
+ ECONF_SOURCE="${S}" econf \
+ --without-python \
+ $(use_with crypt crypto) \
+ $(use_with debug) \
+ $(use_enable static-libs static) \
+ "$@"
+ }
+
+ # Build Python bindings separately
+ libxslt_configure --without-python
+
+ if multilib_is_native_abi && use python ; then
+ NATIVE_BUILD_DIR="${BUILD_DIR}"
+ python_foreach_impl run_in_build_dir libxslt_configure --with-python
+ fi
+}
+
+libxslt_py_emake() {
+ pushd "${BUILD_DIR}"/python >/dev/null || die
+
+ emake top_builddir="${NATIVE_BUILD_DIR}" "$@"
+
+ popd >/dev/null || die
+}
+
+multilib_src_compile() {
+ default
+
+ if multilib_is_native_abi && use python ; then
+ python_foreach_impl run_in_build_dir libxslt_py_emake all
+ fi
+}
+
+multilib_src_test() {
+ default
+
+ if multilib_is_native_abi && use python ; then
+ python_foreach_impl run_in_build_dir libxslt_py_emake check
+ fi
+}
+
+multilib_src_install() {
+ # "default" does not work here - docs are installed by multilib_src_install_all
+ emake DESTDIR="${D}" install
+
+ if multilib_is_native_abi && use python; then
+ python_foreach_impl run_in_build_dir libxslt_py_emake \
+ DESTDIR="${D}" \
+ install
+
+ # Hack until automake release is made for the optimise fix
+ # https://git.savannah.gnu.org/cgit/automake.git/commit/?id=bde43d0481ff540418271ac37012a574a4fcf097
+ python_foreach_impl python_optimize
+ fi
+}
+
+multilib_src_install_all() {
+ einstalldocs
+
+ if ! use examples ; then
+ rm -rf "${ED}"/usr/share/doc/${PF}/tutorial{,2} || die
+ rm -rf "${ED}"/usr/share/doc/${PF}/python/examples || die
+ fi
+
+ find "${ED}" -type f -name "*.la" -delete || die
+}
diff --git a/dev-libs/libxslt/libxslt-9999.ebuild b/dev-libs/libxslt/libxslt-9999.ebuild
new file mode 100644
index 000000000000..1f4d62a88f6a
--- /dev/null
+++ b/dev-libs/libxslt/libxslt-9999.ebuild
@@ -0,0 +1,124 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# Note: Please bump this in sync with dev-libs/libxml2.
+
+PYTHON_COMPAT=( python3_{10..12} )
+inherit flag-o-matic python-r1 multilib-minimal
+
+DESCRIPTION="XSLT libraries and tools"
+HOMEPAGE="https://gitlab.gnome.org/GNOME/libxslt"
+if [[ ${PV} == 9999 ]] ; then
+ EGIT_REPO_URI="https://gitlab.gnome.org/GNOME/libxslt"
+ inherit autotools git-r3
+else
+ inherit libtool gnome.org
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+fi
+
+LICENSE="MIT"
+SLOT="0"
+IUSE="crypt debug examples python static-libs"
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+
+BDEPEND=">=virtual/pkgconfig-1"
+RDEPEND="
+ >=dev-libs/libxml2-2.9.11:2[${MULTILIB_USEDEP}]
+ crypt? ( >=dev-libs/libgcrypt-1.5.3:0=[${MULTILIB_USEDEP}] )
+ python? ( ${PYTHON_DEPS} )
+"
+DEPEND="${RDEPEND}"
+
+MULTILIB_CHOST_TOOLS=(
+ /usr/bin/xslt-config
+)
+
+MULTILIB_WRAPPED_HEADERS=(
+ /usr/include/libxslt/xsltconfig.h
+)
+
+src_prepare() {
+ default
+
+ if [[ ${PV} == 9999 ]] ; then
+ eautoreconf
+ else
+ # Prefix always needs elibtoolize if not eautoreconf'd.
+ elibtoolize
+ fi
+}
+
+multilib_src_configure() {
+ # Remove this after upstream merge request to add AC_SYS_LARGEFILE lands:
+ # https://gitlab.gnome.org/GNOME/libxslt/-/merge_requests/55
+ append-lfs-flags
+
+ libxslt_configure() {
+ ECONF_SOURCE="${S}" econf \
+ --without-python \
+ $(use_with crypt crypto) \
+ $(use_with debug) \
+ $(use_enable static-libs static) \
+ "$@"
+ }
+
+ # Build Python bindings separately
+ libxslt_configure --without-python
+
+ if multilib_is_native_abi && use python ; then
+ NATIVE_BUILD_DIR="${BUILD_DIR}"
+ python_foreach_impl run_in_build_dir libxslt_configure --with-python
+ fi
+}
+
+libxslt_py_emake() {
+ pushd "${BUILD_DIR}"/python >/dev/null || die
+
+ emake top_builddir="${NATIVE_BUILD_DIR}" "$@"
+
+ popd >/dev/null || die
+}
+
+multilib_src_compile() {
+ default
+
+ if multilib_is_native_abi && use python ; then
+ python_foreach_impl run_in_build_dir libxslt_py_emake all
+ fi
+}
+
+multilib_src_test() {
+ default
+
+ if multilib_is_native_abi && use python ; then
+ python_foreach_impl run_in_build_dir libxslt_py_emake check
+ fi
+}
+
+multilib_src_install() {
+ # "default" does not work here - docs are installed by multilib_src_install_all
+ emake DESTDIR="${D}" install
+
+ if multilib_is_native_abi && use python; then
+ python_foreach_impl run_in_build_dir libxslt_py_emake \
+ DESTDIR="${D}" \
+ install
+
+ # Hack until automake release is made for the optimise fix
+ # https://git.savannah.gnu.org/cgit/automake.git/commit/?id=bde43d0481ff540418271ac37012a574a4fcf097
+ python_foreach_impl python_optimize
+ fi
+}
+
+multilib_src_install_all() {
+ einstalldocs
+
+ if ! use examples ; then
+ rm -rf "${ED}"/usr/share/doc/${PF}/tutorial{,2} || die
+ rm -rf "${ED}"/usr/share/doc/${PF}/python/examples || die
+ fi
+
+ find "${ED}" -type f -name "*.la" -delete || die
+}
diff --git a/dev-libs/libxslt/metadata.xml b/dev-libs/libxslt/metadata.xml
index 521f294b89e6..e97f0e37509c 100644
--- a/dev-libs/libxslt/metadata.xml
+++ b/dev-libs/libxslt/metadata.xml
@@ -11,5 +11,6 @@
</maintainer>
<upstream>
<remote-id type="cpe">cpe:/a:xmlsoft:libxslt</remote-id>
+ <remote-id type="gnome-gitlab">GNOME/libxslt</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-libs/libyaml/libyaml-0.2.2.ebuild b/dev-libs/libyaml/libyaml-0.2.2.ebuild
index 98fc658a8de1..a60bfc546f86 100644
--- a/dev-libs/libyaml/libyaml-0.2.2.ebuild
+++ b/dev-libs/libyaml/libyaml-0.2.2.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
@@ -11,11 +11,11 @@ SRC_URI="https://github.com/yaml/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="MIT"
SLOT="0"
-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 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
IUSE="doc static-libs test"
RESTRICT="!test? ( test )"
-BDEPEND="doc? ( app-doc/doxygen )"
+BDEPEND="doc? ( app-text/doxygen )"
src_prepare() {
default
diff --git a/dev-libs/libyaml/libyaml-0.2.5.ebuild b/dev-libs/libyaml/libyaml-0.2.5.ebuild
index 98fc658a8de1..9f1a136feadd 100644
--- a/dev-libs/libyaml/libyaml-0.2.5.ebuild
+++ b/dev-libs/libyaml/libyaml-0.2.5.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
@@ -11,11 +11,11 @@ SRC_URI="https://github.com/yaml/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="MIT"
SLOT="0"
-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 ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
IUSE="doc static-libs test"
RESTRICT="!test? ( test )"
-BDEPEND="doc? ( app-doc/doxygen )"
+BDEPEND="doc? ( app-text/doxygen )"
src_prepare() {
default
diff --git a/dev-libs/libyaml/metadata.xml b/dev-libs/libyaml/metadata.xml
index bd6443d4a375..026624f02c4d 100644
--- a/dev-libs/libyaml/metadata.xml
+++ b/dev-libs/libyaml/metadata.xml
@@ -5,4 +5,7 @@
<email>chutzpah@gentoo.org</email>
<name>Patrick McLean</name>
</maintainer>
+ <upstream>
+ <remote-id type="github">yaml/libyaml</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/dev-libs/libzia/Manifest b/dev-libs/libzia/Manifest
index a2f23bdfc632..763a280b836d 100644
--- a/dev-libs/libzia/Manifest
+++ b/dev-libs/libzia/Manifest
@@ -1,3 +1,3 @@
-DIST libzia-4.30.tar.gz 633287 BLAKE2B 7ca2fa4eb4e887e77658dc66b455ab830da31634a121d2fc58ec4e038a62d09d2c392ca70dbe7df3740592d82e9861086f398d82fba1af8e4d6066c395dca3fd SHA512 ba04206427c6bfd63c4799e2728fd5487a75757a42281daf87c8aee87d3c685e5fa60a0c77409fa774e4fddaaa3336f96bce002e88e6ad54f9af2c2cc939b9fa
-DIST libzia-4.32.tar.gz 633444 BLAKE2B 60fbc85297b06e109f6c989798b6c5629d6f2d861b52388b134f896ee5232f75dc362fd847fd557d4aacced1c2264554c2861c9af7acfbb1e6837d9348aac30e SHA512 e426626d54c97dbce88e11eaefcee84a4e0a23e17a196f46ed4319a22d0f55bf9524c542bd4d41c376b26b51553d4cf7e0d994125cb2321549620f4b4aea5912
-DIST libzia-4.34.tar.gz 636031 BLAKE2B f33c13f4159fd6e6e83e3aada2560ed6f2160811eb1d94078c8792c5dfb07cc6c69f2a41f9b82ddf73b28b2cd57480590393b3c6b5ac24eece1ef40e55a52014 SHA512 a93ecea84d506767d20f03fa8b56408c6e8a0aaa4b8dad26b21e133c83a4726ebf3ca88425bc63249cb98fbd95dd3bb4d9afb8529bdd5e70fc5dbffbc6bf5533
+DIST libzia-4.55.tar.gz 646922 BLAKE2B 0430757bce57458b33dbd7c315b88258b5d1364aea958a6b31e7e90a7f544cf64ba4409ffde9b2ab7088b6c8a33e433a3c334e7fc61e22a4bb8b693b53532000 SHA512 05d91c59b070f1230a0919c07757afa25f4bfca6585501d1ee013ca2c5994967329682624c2a9e13cba686640ddb145ca093e3e341141fd301e780a98c6b30a7
+DIST libzia-4.58.tar.gz 647123 BLAKE2B c1d7963e108847f1198a3b21d9972a614f5a830afddba2d7fbbdae7794e622851e6c5e11910c5b932eb4733521e58df74a4649ee7d15add08336c1b8db1588e1 SHA512 1a5e54083821708a2c34f2385c646c97fc48962dc4615ef364bded57a8d578ce05d15a8bd890c061cf97dd56e7b240a0c97621e12295b64c7396b2227ae729a8
+DIST libzia-4.59.tar.gz 647238 BLAKE2B 5e7d5eef5a316d3580789f4054652c533301d5737b01a125eb5387d6b444f2e3c3e1097f2f9738c7271dd569728e6eb3eb4d4d9bbd39c612991a72dddf6a58f3 SHA512 b9204d51d9901938b8f0e9a5ce1edb656ea90f3cb495d5885f2c5f3f440a9601ce77acb1ef7b44fe1dcf11b3251b7564bcc2c3987cb9b469c4aed2fe2f503bfd
diff --git a/dev-libs/libzia/libzia-4.30.ebuild b/dev-libs/libzia/libzia-4.30.ebuild
deleted file mode 100644
index 9e77c8f593da..000000000000
--- a/dev-libs/libzia/libzia-4.30.ebuild
+++ /dev/null
@@ -1,48 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit autotools
-
-DESCRIPTION="Platform abstraction code for tucnak package"
-HOMEPAGE="http://tucnak.nagano.cz"
-SRC_URI="http://tucnak.nagano.cz/${P}.tar.gz"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="amd64 x86"
-IUSE="ftdi"
-
-RDEPEND="dev-libs/glib:2
- x11-libs/gtk+:2
- media-libs/libsdl
- media-libs/libpng:0
- ftdi? ( dev-embedded/libftdi:1 )"
-DEPEND="${RDEPEND}"
-BDEPEND="virtual/pkgconfig"
-
-MAKEOPTS+=" -j1"
-
-src_prepare() {
- eapply_user
- sed -i -e "s/docsdir/#docsdir/g" \
- -e "s/docs_/#docs_/g" Makefile.am || die
-
- # Fix QA-Warning "QA Notice: pkg-config files with wrong LDFLAGS detected"
- sed -i -e 's/@LDFLAGS@//' libzia.pc.in || die
-
- eautoreconf
-}
-
-src_configure() {
- econf \
- $(use_with ftdi) --with-sdl \
- --with-png --without-bfd \
- --disable-static
-}
-
-src_install() {
- emake DESTDIR="${D}" install
- find "${D}" -name '*.la' -type f -delete || die
-}
diff --git a/dev-libs/libzia/libzia-4.32.ebuild b/dev-libs/libzia/libzia-4.32.ebuild
deleted file mode 100644
index 4a7af307bec1..000000000000
--- a/dev-libs/libzia/libzia-4.32.ebuild
+++ /dev/null
@@ -1,48 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit autotools
-
-DESCRIPTION="Platform abstraction code for tucnak package"
-HOMEPAGE="http://tucnak.nagano.cz"
-SRC_URI="http://tucnak.nagano.cz/${P}.tar.gz"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="amd64 ~x86"
-IUSE="ftdi"
-
-RDEPEND="dev-libs/glib:2
- x11-libs/gtk+:2
- media-libs/libsdl
- media-libs/libpng:0
- ftdi? ( dev-embedded/libftdi:1 )"
-DEPEND="${RDEPEND}"
-BDEPEND="virtual/pkgconfig"
-
-MAKEOPTS+=" -j1"
-
-src_prepare() {
- eapply_user
- sed -i -e "s/docsdir/#docsdir/g" \
- -e "s/docs_/#docs_/g" Makefile.am || die
-
- # Fix QA-Warning "QA Notice: pkg-config files with wrong LDFLAGS detected"
- sed -i -e 's/@LDFLAGS@//' libzia.pc.in || die
-
- eautoreconf
-}
-
-src_configure() {
- econf \
- $(use_with ftdi) --with-sdl \
- --with-png --without-bfd \
- --disable-static
-}
-
-src_install() {
- emake DESTDIR="${D}" install
- find "${D}" -name '*.la' -type f -delete || die
-}
diff --git a/dev-libs/libzia/libzia-4.34.ebuild b/dev-libs/libzia/libzia-4.34.ebuild
deleted file mode 100644
index 0e9b995dd476..000000000000
--- a/dev-libs/libzia/libzia-4.34.ebuild
+++ /dev/null
@@ -1,48 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit autotools
-
-DESCRIPTION="Platform abstraction code for tucnak package"
-HOMEPAGE="http://tucnak.nagano.cz"
-SRC_URI="http://tucnak.nagano.cz/${P}.tar.gz"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE="ftdi"
-
-RDEPEND="dev-libs/glib:2
- x11-libs/gtk+:2
- media-libs/libsdl
- media-libs/libpng:0
- ftdi? ( dev-embedded/libftdi:1 )"
-DEPEND="${RDEPEND}"
-BDEPEND="virtual/pkgconfig"
-
-MAKEOPTS+=" -j1"
-
-src_prepare() {
- eapply_user
- sed -i -e "s/docsdir/#docsdir/g" \
- -e "s/docs_/#docs_/g" Makefile.am || die
-
- # Fix QA-Warning "QA Notice: pkg-config files with wrong LDFLAGS detected"
- sed -i -e 's/@LDFLAGS@//' libzia.pc.in || die
-
- eautoreconf
-}
-
-src_configure() {
- econf \
- $(use_with ftdi) --with-sdl \
- --with-png --without-bfd \
- --disable-static
-}
-
-src_install() {
- emake DESTDIR="${D}" install
- find "${D}" -name '*.la' -type f -delete || die
-}
diff --git a/dev-libs/libzia/libzia-4.55.ebuild b/dev-libs/libzia/libzia-4.55.ebuild
new file mode 100644
index 000000000000..557c11cf75df
--- /dev/null
+++ b/dev-libs/libzia/libzia-4.55.ebuild
@@ -0,0 +1,52 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools flag-o-matic
+
+DESCRIPTION="Platform abstraction code for tucnak package"
+HOMEPAGE="http://tucnak.nagano.cz"
+SRC_URI="http://tucnak.nagano.cz/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="ftdi"
+
+RDEPEND="dev-libs/glib:2
+ x11-libs/gtk+:2
+ media-libs/libsdl2
+ media-libs/sdl2-ttf
+ media-libs/libpng:0
+ ftdi? ( dev-embedded/libftdi:1 )
+ elibc_musl? ( sys-libs/libunwind )"
+DEPEND="${RDEPEND}"
+BDEPEND="virtual/pkgconfig"
+
+MAKEOPTS+=" -j1"
+
+src_prepare() {
+ eapply_user
+ sed -i -e "s/docsdir/#docsdir/g" \
+ -e "s/docs_/#docs_/g" Makefile.am || die
+
+ # fix build for MUSL (bug #832235)
+ if use elibc_musl ; then
+ sed -i -e "s/ backtrace(/ unw_backtrace(/" src/zbfd.c || die
+ fi
+ eautoreconf
+}
+
+src_configure() {
+ use elibc_musl && append-libs -lunwind
+ econf \
+ $(use_with ftdi) --with-sdl \
+ --with-png --without-bfd \
+ --disable-static
+}
+
+src_install() {
+ emake DESTDIR="${D}" install
+ find "${D}" -name '*.la' -type f -delete || die
+}
diff --git a/dev-libs/libzia/libzia-4.58.ebuild b/dev-libs/libzia/libzia-4.58.ebuild
new file mode 100644
index 000000000000..557c11cf75df
--- /dev/null
+++ b/dev-libs/libzia/libzia-4.58.ebuild
@@ -0,0 +1,52 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools flag-o-matic
+
+DESCRIPTION="Platform abstraction code for tucnak package"
+HOMEPAGE="http://tucnak.nagano.cz"
+SRC_URI="http://tucnak.nagano.cz/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="ftdi"
+
+RDEPEND="dev-libs/glib:2
+ x11-libs/gtk+:2
+ media-libs/libsdl2
+ media-libs/sdl2-ttf
+ media-libs/libpng:0
+ ftdi? ( dev-embedded/libftdi:1 )
+ elibc_musl? ( sys-libs/libunwind )"
+DEPEND="${RDEPEND}"
+BDEPEND="virtual/pkgconfig"
+
+MAKEOPTS+=" -j1"
+
+src_prepare() {
+ eapply_user
+ sed -i -e "s/docsdir/#docsdir/g" \
+ -e "s/docs_/#docs_/g" Makefile.am || die
+
+ # fix build for MUSL (bug #832235)
+ if use elibc_musl ; then
+ sed -i -e "s/ backtrace(/ unw_backtrace(/" src/zbfd.c || die
+ fi
+ eautoreconf
+}
+
+src_configure() {
+ use elibc_musl && append-libs -lunwind
+ econf \
+ $(use_with ftdi) --with-sdl \
+ --with-png --without-bfd \
+ --disable-static
+}
+
+src_install() {
+ emake DESTDIR="${D}" install
+ find "${D}" -name '*.la' -type f -delete || die
+}
diff --git a/dev-libs/libzia/libzia-4.59.ebuild b/dev-libs/libzia/libzia-4.59.ebuild
new file mode 100644
index 000000000000..0fe1254dbfda
--- /dev/null
+++ b/dev-libs/libzia/libzia-4.59.ebuild
@@ -0,0 +1,52 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools flag-o-matic
+
+DESCRIPTION="Platform abstraction code for tucnak package"
+HOMEPAGE="http://tucnak.nagano.cz"
+SRC_URI="http://tucnak.nagano.cz/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="ftdi"
+
+RDEPEND="dev-libs/glib:2
+ x11-libs/gtk+:2
+ media-libs/libsdl2
+ media-libs/sdl2-ttf
+ media-libs/libpng:0
+ ftdi? ( dev-embedded/libftdi:1 )
+ elibc_musl? ( sys-libs/libunwind )"
+DEPEND="${RDEPEND}"
+BDEPEND="virtual/pkgconfig"
+
+MAKEOPTS+=" -j1"
+
+src_prepare() {
+ eapply_user
+ sed -i -e "s/docsdir/#docsdir/g" \
+ -e "s/docs_/#docs_/g" Makefile.am || die
+
+ # fix build for MUSL (bug #832235)
+ if use elibc_musl ; then
+ sed -i -e "s/ backtrace(/ unw_backtrace(/" src/zbfd.c || die
+ fi
+ eautoreconf
+}
+
+src_configure() {
+ use elibc_musl && append-libs -lunwind
+ econf \
+ $(use_with ftdi) --with-sdl \
+ --with-png --without-bfd \
+ --disable-static
+}
+
+src_install() {
+ emake DESTDIR="${D}" install
+ find "${D}" -name '*.la' -type f -delete || die
+}
diff --git a/dev-libs/libzip/Manifest b/dev-libs/libzip/Manifest
index 38df18044128..01ddc1b30655 100644
--- a/dev-libs/libzip/Manifest
+++ b/dev-libs/libzip/Manifest
@@ -1 +1 @@
-DIST libzip-1.8.0.tar.xz 760604 BLAKE2B 7aadbd4df909806ff728f9315f91c2f4b4e884464ef36acd668b23739fa57e4f65987b368cae0d728dd6cc1468718e40086cf0dc21f437a5c2cad91b455c0bb1 SHA512 fe94a26a2797dff7c9b27334f29982f8e523dd5095bf32ebcadc6443726864f0ff7b2e8bf243e52cad8f79297bc7a87d73fdbc35edae4ffc8ab6aa0bcc93b03e
+DIST libzip-1.9.2.tar.xz 763980 BLAKE2B ceeca4dccbe7552f7f545b00ea44b342398d18eb996e39045b9d6efafe50f8890333ddf220c86b59f5ab2849420eb76761c42b16de8b174629f53e327f9e83e7 SHA512 82cb2533c25b5b540aa73856c958750d32eeceb192cce257eded15b396a24652041c8531f20366ac4c2dc6b7c0310c558d19c12b611576eccb07cfbaf98120b5
diff --git a/dev-libs/libzip/libzip-1.8.0.ebuild b/dev-libs/libzip/libzip-1.8.0.ebuild
deleted file mode 100644
index b5bd1678c9c4..000000000000
--- a/dev-libs/libzip/libzip-1.8.0.ebuild
+++ /dev/null
@@ -1,114 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit cmake multibuild flag-o-matic
-
-DESCRIPTION="Library for manipulating zip archives"
-HOMEPAGE="https://nih.at/libzip/"
-SRC_URI="https://www.nih.at/libzip/${P}.tar.xz"
-
-LICENSE="BSD"
-SLOT="0/5"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv sparc x86 ~amd64-linux ~x86-linux ~x64-macos"
-IUSE="bzip2 gnutls lzma mbedtls ssl static-libs test tools"
-REQUIRED_USE="test? ( tools )"
-
-RESTRICT="!test? ( test )"
-
-DEPEND="
- sys-libs/zlib
- bzip2? ( app-arch/bzip2:= )
- lzma? ( app-arch/xz-utils )
- ssl? (
- gnutls? (
- dev-libs/nettle:0=
- >=net-libs/gnutls-3.6.5:=
- )
- !gnutls? (
- mbedtls? ( net-libs/mbedtls:= )
- !mbedtls? ( dev-libs/openssl:0= )
- )
- )
-"
-RDEPEND="${DEPEND}"
-
-pkg_setup() {
- # Upstream doesn't support building dynamic & static
- # simultaneously: https://github.com/nih-at/libzip/issues/76
- MULTIBUILD_VARIANTS=( shared $(usev static-libs) )
-}
-
-src_configure() {
- append-lfs-flags
- myconfigure() {
- local mycmakeargs=(
- -DBUILD_EXAMPLES=OFF # nothing is installed
- -DENABLE_COMMONCRYPTO=OFF # not in tree
- -DENABLE_BZIP2=$(usex bzip2)
- -DENABLE_LZMA=$(usex lzma)
- )
- if [[ ${MULTIBUILD_VARIANT} = static-libs ]]; then
- mycmakeargs+=(
- -DBUILD_DOC=OFF
- -DBUILD_EXAMPLES=OFF
- -DBUILD_SHARED_LIBS=OFF
- -DBUILD_TOOLS=OFF
- )
- else
- mycmakeargs+=(
- -DBUILD_DOC=ON
- -DBUILD_REGRESS=$(usex test)
- -DBUILD_TOOLS=$(usex tools)
- )
- fi
-
- if use ssl; then
- if use gnutls; then
- mycmakeargs+=(
- -DENABLE_GNUTLS=$(usex gnutls)
- -DENABLE_MBEDTLS=OFF
- -DENABLE_OPENSSL=OFF
- )
- elif use mbedtls; then
- mycmakeargs+=(
- -DENABLE_GNUTLS=OFF
- -DENABLE_MBEDTLS=$(usex mbedtls)
- -DENABLE_OPENSSL=OFF
- )
- else
- mycmakeargs+=(
- -DENABLE_GNUTLS=OFF
- -DENABLE_MBEDTLS=OFF
- -DENABLE_OPENSSL=ON
- )
- fi
- else
- mycmakeargs+=(
- -DENABLE_GNUTLS=OFF
- -DENABLE_MBEDTLS=OFF
- -DENABLE_OPENSSL=OFF
- )
- fi
- cmake_src_configure
- }
-
- multibuild_foreach_variant myconfigure
-}
-
-src_compile() {
- multibuild_foreach_variant cmake_src_compile
-}
-
-src_test() {
- run_tests() {
- [[ ${MULTIBUILD_VARIANT} = shared ]] && cmake_src_test
- }
-
- multibuild_foreach_variant run_tests
-}
-
-src_install() {
- multibuild_foreach_variant cmake_src_install
-}
diff --git a/dev-libs/libzip/libzip-1.9.2.ebuild b/dev-libs/libzip/libzip-1.9.2.ebuild
new file mode 100644
index 000000000000..195d947e2730
--- /dev/null
+++ b/dev-libs/libzip/libzip-1.9.2.ebuild
@@ -0,0 +1,116 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake multibuild flag-o-matic
+
+DESCRIPTION="Library for manipulating zip archives"
+HOMEPAGE="https://nih.at/libzip/"
+SRC_URI="https://www.nih.at/libzip/${P}.tar.xz"
+
+LICENSE="BSD"
+SLOT="0/5"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv sparc x86 ~amd64-linux ~x86-linux ~x64-macos"
+IUSE="bzip2 gnutls lzma mbedtls ssl static-libs test tools zstd"
+REQUIRED_USE="test? ( tools )"
+
+RESTRICT="!test? ( test )"
+
+DEPEND="
+ sys-libs/zlib
+ bzip2? ( app-arch/bzip2:= )
+ lzma? ( app-arch/xz-utils )
+ ssl? (
+ gnutls? (
+ dev-libs/nettle:0=
+ >=net-libs/gnutls-3.6.5:=
+ )
+ !gnutls? (
+ mbedtls? ( net-libs/mbedtls:= )
+ !mbedtls? ( dev-libs/openssl:0= )
+ )
+ )
+ zstd? ( app-arch/zstd )
+"
+RDEPEND="${DEPEND}"
+
+pkg_setup() {
+ # Upstream doesn't support building dynamic & static
+ # simultaneously: https://github.com/nih-at/libzip/issues/76
+ MULTIBUILD_VARIANTS=( shared $(usev static-libs) )
+}
+
+src_configure() {
+ append-lfs-flags
+ myconfigure() {
+ local mycmakeargs=(
+ -DBUILD_EXAMPLES=OFF # nothing is installed
+ -DENABLE_COMMONCRYPTO=OFF # not in tree
+ -DENABLE_BZIP2=$(usex bzip2)
+ -DENABLE_LZMA=$(usex lzma)
+ -DENABLE_ZSTD=$(usex zstd)
+ )
+ if [[ ${MULTIBUILD_VARIANT} = static-libs ]]; then
+ mycmakeargs+=(
+ -DBUILD_DOC=OFF
+ -DBUILD_EXAMPLES=OFF
+ -DBUILD_SHARED_LIBS=OFF
+ -DBUILD_TOOLS=OFF
+ )
+ else
+ mycmakeargs+=(
+ -DBUILD_DOC=ON
+ -DBUILD_REGRESS=$(usex test)
+ -DBUILD_TOOLS=$(usex tools)
+ )
+ fi
+
+ if use ssl; then
+ if use gnutls; then
+ mycmakeargs+=(
+ -DENABLE_GNUTLS=$(usex gnutls)
+ -DENABLE_MBEDTLS=OFF
+ -DENABLE_OPENSSL=OFF
+ )
+ elif use mbedtls; then
+ mycmakeargs+=(
+ -DENABLE_GNUTLS=OFF
+ -DENABLE_MBEDTLS=$(usex mbedtls)
+ -DENABLE_OPENSSL=OFF
+ )
+ else
+ mycmakeargs+=(
+ -DENABLE_GNUTLS=OFF
+ -DENABLE_MBEDTLS=OFF
+ -DENABLE_OPENSSL=ON
+ )
+ fi
+ else
+ mycmakeargs+=(
+ -DENABLE_GNUTLS=OFF
+ -DENABLE_MBEDTLS=OFF
+ -DENABLE_OPENSSL=OFF
+ )
+ fi
+ cmake_src_configure
+ }
+
+ multibuild_foreach_variant myconfigure
+}
+
+src_compile() {
+ multibuild_foreach_variant cmake_src_compile
+}
+
+src_test() {
+ run_tests() {
+ [[ ${MULTIBUILD_VARIANT} = shared ]] && cmake_src_test
+ }
+
+ multibuild_foreach_variant run_tests
+}
+
+src_install() {
+ multibuild_foreach_variant cmake_src_install
+}
diff --git a/dev-libs/libzip/metadata.xml b/dev-libs/libzip/metadata.xml
index e8ddaca4fc3b..fb236457f255 100644
--- a/dev-libs/libzip/metadata.xml
+++ b/dev-libs/libzip/metadata.xml
@@ -7,6 +7,7 @@
</maintainer>
<upstream>
<remote-id type="cpe">cpe:/a:nih:libzip</remote-id>
+ <remote-id type="github">nih-at/libzip</remote-id>
</upstream>
<use>
<flag name="mbedtls">Use <pkg>net-libs/mbedtls</pkg> as TLS provider</flag>
diff --git a/dev-libs/light/light-1.2.2-r2.ebuild b/dev-libs/light/light-1.2.2-r2.ebuild
index 64dd04c8b3f4..9d2a121969e2 100644
--- a/dev-libs/light/light-1.2.2-r2.ebuild
+++ b/dev-libs/light/light-1.2.2-r2.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
@@ -12,25 +12,27 @@ SRC_URI="https://github.com/haikarainen/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.
LICENSE="GPL-3"
SLOT="0"
KEYWORDS="amd64 x86"
-
IUSE="udev"
RDEPEND="
acct-group/video
!sys-power/acpilight
+ udev? ( virtual/libudev:= )
"
-DEPEND="udev? ( virtual/libudev:= )
- ${RDEPEND}"
+DEPEND="${RDEPEND}"
+
+PATCHES=(
+ "${FILESDIR}/${P}-fcommon.patch"
+)
src_prepare() {
- eapply "${FILESDIR}/${P}-fcommon.patch"
- eapply_user
+ default
eautoreconf
}
src_configure() {
local myeconfargs=(
- $(usex udev --with-udev="/lib/udev/rules.d" "")
+ $(usex udev --with-udev="$(get_udevdir)/rules.d" "")
)
econf "${myeconfargs[@]}"
diff --git a/dev-libs/light/metadata.xml b/dev-libs/light/metadata.xml
index de9395715b86..df94c1dbb14c 100644
--- a/dev-libs/light/metadata.xml
+++ b/dev-libs/light/metadata.xml
@@ -1,10 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <email>bman@gentoo.org</email>
- <name>Aaron Bauman</name>
- </maintainer>
+ <!-- maintainer-needed -->
<upstream>
<remote-id type="github">haikarainen/light</remote-id>
</upstream>
diff --git a/dev-libs/link-grammar/Manifest b/dev-libs/link-grammar/Manifest
index 056fc5165ccc..19aff333d5ec 100644
--- a/dev-libs/link-grammar/Manifest
+++ b/dev-libs/link-grammar/Manifest
@@ -1,2 +1 @@
-DIST link-grammar-5.10.2.tar.gz 3853934 BLAKE2B d2cb64a6b0146f40ce5b197c21ded94f1256360615c2332a1c546f6b6c71c98d2500e97b0fcabae964377a04143fa13ba3af324f2de729cfccd280e53f6fb7c3 SHA512 71bc881cb628fe1898403024d8e949b2fbf44f5d20445f6fff7bb6038646840556d734434beb7eb43b63f661e18333657deaeb1b8c96b50d5fe3b6ef727565c2
-DIST link-grammar-5.8.0.tar.gz 3782125 BLAKE2B 8027e91212d3269b8e3ceaa5c837ad961cd2dfd92849d3989094ab771d97d30f4b228cfc1e32e9e843676aa439d790fb444823f7db69004538ad068c7bf28a45 SHA512 1262e2faf1de6f05a62f9d622f43c02253b4c241342df9b443a70ae04bd328d1fc49cd2f91c881e694f67215005833fec8b1fa9d395b1e547985b376c7415d2e
+DIST link-grammar-5.12.3.tar.gz 4704751 BLAKE2B a7f0fe39c51ed26ea764d583b38b21cfce6e596c6cd94db6ba47b3606a2b6cd9e56bd6fedeb104dbb345baedae3e144af96999739dda9daa9a9e5886bd98d2f4 SHA512 e0fdb78ec03042119011afea005a62829317fd0bc20afcd94e3f234c9c5252ed9c57d717b75368ac4a63dd8493bd86f551870299925f3b9b95b11915f48d8abe
diff --git a/dev-libs/link-grammar/files/link-grammar-5.10.2-musl.patch b/dev-libs/link-grammar/files/link-grammar-5.10.2-musl.patch
deleted file mode 100644
index 8015e3ceb1e4..000000000000
--- a/dev-libs/link-grammar/files/link-grammar-5.10.2-musl.patch
+++ /dev/null
@@ -1,13 +0,0 @@
---- a/link-grammar/minisat/minisat/utils/System.h
-+++ b/link-grammar/minisat/minisat/utils/System.h
-@@ -21,10 +21,6 @@
- #ifndef Minisat_System_h
- #define Minisat_System_h
-
--#if defined(__linux__)
--#include <fpu_control.h>
--#endif
--
- #include "minisat/mtl/IntTypes.h"
-
- //-------------------------------------------------------------------------------------------------
diff --git a/dev-libs/link-grammar/files/link-grammar-5.12.3-Wimplicit-function-declaration.patch b/dev-libs/link-grammar/files/link-grammar-5.12.3-Wimplicit-function-declaration.patch
new file mode 100644
index 000000000000..55ca89c09b94
--- /dev/null
+++ b/dev-libs/link-grammar/files/link-grammar-5.12.3-Wimplicit-function-declaration.patch
@@ -0,0 +1,35 @@
+From 3cbc9ddfd4c3a3e407338619fa383d24da05b23d Mon Sep 17 00:00:00 2001
+From: David Seifert <soap@gentoo.org>
+Date: Sun, 7 May 2023 16:02:23 +0200
+Subject: [PATCH] Use correct guard macro for glibc heap functions
+
+* `__GNUC__` == Compiling with `-std=gnu*`
+* `__GLIBC__` == Compiling against glibc
+
+Bug: https://bugs.gentoo.org/903749
+---
+ link-grammar/parse/extract-links.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/link-grammar/parse/extract-links.c b/link-grammar/parse/extract-links.c
+index a6129ac7a..e2ce266bc 100644
+--- a/link-grammar/parse/extract-links.c
++++ b/link-grammar/parse/extract-links.c
+@@ -278,7 +278,7 @@ void free_extractor(extractor_t * pex)
+ pex->x_table_size = 0;
+ pex->x_table = NULL;
+
+-#if defined __GNUC__
++#if defined __GLIBC__
+ // MST parsing can result in pathological cases, with almost a
+ // billion elts in the Parse_choice_pool. This blows up the
+ // resident-set size (RSS) over time. Avoid this issue by trimming.
+@@ -294,7 +294,7 @@ void free_extractor(extractor_t * pex)
+
+ xfree((void *) pex, sizeof(extractor_t));
+
+-#if defined __GNUC__
++#if defined __GLIBC__
+ // malloc_trim() is a gnu extension. An alternative would be
+ // to call madvise(MADV_DONTNEED) but this is more complicated.
+ if (trim) malloc_trim(0);
diff --git a/dev-libs/link-grammar/files/link-grammar-5.8.0-dont-inject-O3.patch b/dev-libs/link-grammar/files/link-grammar-5.8.0-dont-inject-O3.patch
deleted file mode 100644
index 2d97b7cc7627..000000000000
--- a/dev-libs/link-grammar/files/link-grammar-5.8.0-dont-inject-O3.patch
+++ /dev/null
@@ -1,23 +0,0 @@
---- a/configure.ac
-+++ b/configure.ac
-@@ -137,8 +137,7 @@
- AC_SUBST(HOST_OS)
- # ====================================================================
-
--CFLAGS="${CFLAGS} -O3"
--CXXFLAGS="${CXXFLAGS} -O3 -Wall"
-+CXXFLAGS="${CXXFLAGS} -Wall"
-
- # The std=c11 flag provides the proper float-pt math decls working,
- # e.g. fmax However, it also undefined _BSD_SOURCE, etc. which is
-@@ -908,10 +907,6 @@
-
- AC_FUNC_STRERROR_R
-
--AC_SUBST(CFLAGS)
--AC_SUBST(CPPFLAGS)
--AC_SUBST(CXXFLAGS)
--
- dnl Save the compilation definitions for an extended version printout
- AC_OUTPUT_MAKE_DEFS()
- LG_DEFS=`$ECHO "$DEFS" | $SED 's/\\\\//g'`
diff --git a/dev-libs/link-grammar/files/link-grammar-5.8.0-out-of-source-build.patch b/dev-libs/link-grammar/files/link-grammar-5.8.0-out-of-source-build.patch
deleted file mode 100644
index 1616e933664e..000000000000
--- a/dev-libs/link-grammar/files/link-grammar-5.8.0-out-of-source-build.patch
+++ /dev/null
@@ -1,33 +0,0 @@
---- a/bindings/python/Makefile.am
-+++ b/bindings/python/Makefile.am
-@@ -4,8 +4,8 @@
- # Created by Linas Vepstas February 2014
- #
- #
--SWIG_SOURCES = ../swig/link_grammar.i
--SWIG_INCLUDES = ../../link-grammar/link-includes.h
-+SWIG_SOURCES = $(top_srcdir)/bindings/swig/link_grammar.i
-+SWIG_INCLUDES = $(top_srcdir)/link-grammar/link-includes.h
- built_c_sources = lg_python_wrap.cc
- built_py_sources = $(top_builddir)/bindings/python/clinkgrammar.py
-
-@@ -18,16 +18,16 @@
-
- # Files that get installed in $pkgpythondir
- pkgpython_PYTHON = \
-- linkgrammar.py \
-+ $(srcdir)/linkgrammar.py \
- $(top_builddir)/bindings/python/__init__.py \
-- $(top_builddir)/bindings/python/clinkgrammar.py
-+ $(built_py_sources)
-
- # Apparently, anaconda does not work without this!?
- # This seems wrong and lame to me, but see issue #298
- # https://github.com/opencog/link-grammar/issues/298
- pkgpypathdir=$(pythondir)
- pkgpypath_PYTHON = \
-- linkgrammar.pth
-+ $(srcdir)/linkgrammar.pth
-
- # The make uninstall target should remove directories we created.
- uninstall-hook:
diff --git a/dev-libs/link-grammar/files/link-grammar-5.8.1-lld.patch b/dev-libs/link-grammar/files/link-grammar-5.8.1-lld.patch
deleted file mode 100644
index af48d251046b..000000000000
--- a/dev-libs/link-grammar/files/link-grammar-5.8.1-lld.patch
+++ /dev/null
@@ -1,13 +0,0 @@
---- a/configure.ac
-+++ b/configure.ac
-@@ -324,9 +324,7 @@
- dnl 1. Abort and notify if no zlib.h. 2. Adapt for non-standard location.
- AC_MSG_NOTICE([The minisat2 headers include zlib.h])
- dnl The bundled library doesn't actually need -lz
-- AX_CHECK_ZLIB([ZLIB_CPPFLAGS="-isystem $ZLIB_HOME/include"],
-- [AC_MSG_NOTICE([No zlib library found - not building sat solver])
-- enable_sat_solver=no])
-+ PKG_CHECK_MODULES([ZLIB], [zlib], [ZLIB_CPPFLAGS="${ZLIB_CFLAGS}"])
- fi
-
- # If zlib not found, then don't continue with minisat.
diff --git a/dev-libs/link-grammar/link-grammar-5.10.2.ebuild b/dev-libs/link-grammar/link-grammar-5.10.2.ebuild
deleted file mode 100644
index 16ede02d89b8..000000000000
--- a/dev-libs/link-grammar/link-grammar-5.10.2.ebuild
+++ /dev/null
@@ -1,116 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..10} )
-
-inherit autotools python-r1 out-of-source
-
-DESCRIPTION="A Syntactic English parser"
-HOMEPAGE="https://www.abisource.com/projects/link-grammar/ https://www.link.cs.cmu.edu/link/"
-SRC_URI="https://www.abisource.com/downloads/${PN}/${PV}/${P}.tar.gz"
-
-LICENSE="LGPL-2.1"
-SLOT="0/5"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~riscv ~sparc ~x86"
-IUSE="aspell +hunspell python" # pcre
-REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
-
-# XXX: sqlite is automagic
-# Does not build with >=sci-mathematics/minisat-2, bug #593662
-# add pcre support: pcre? ( dev-libs/libpcre )
-RDEPEND="
- dev-db/sqlite:3
- aspell? ( app-text/aspell )
- hunspell? ( app-text/hunspell )
- python? ( ${PYTHON_DEPS} )
- !sci-mathematics/minisat"
-DEPEND="${RDEPEND}"
-BDEPEND="
- dev-lang/swig:0
- sys-devel/autoconf-archive
- virtual/pkgconfig"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-5.8.1-lld.patch
- "${FILESDIR}"/${P}-musl.patch
-)
-
-pkg_setup() {
- if use aspell && use hunspell; then
- ewarn "You have enabled 'aspell' and 'hunspell' support, but both cannot coexist,"
- ewarn "only hunspell will be built. Press Ctrl+C and set only 'aspell' USE flag if"
- ewarn "you want aspell support."
- fi
-}
-
-src_prepare() {
- default
- eautoreconf
-}
-
-my_src_configure() {
- local myconf=(
- --disable-maintainer-mode
- --disable-editline
- # java is hopelessly broken, invokes maven at build time (bug #806157)
- --disable-java-bindings
- --disable-perl-bindings
- --disable-static
- --enable-sat-solver=bundled
- $(use_enable aspell)
- $(use_enable hunspell)
- $(usev hunspell --with-hunspell-dictdir="${EPREFIX}"/usr/share/myspell)
- # $(use_enable pcre regex-tokenizer)
- # $(use_with pcre)
- )
-
- econf \
- --disable-python-bindings \
- "${myconf[@]}"
-
- if use python; then
- python_configure() {
- econf \
- --enable-python-bindings \
- "${myconf[@]}"
- }
- python_foreach_impl run_in_build_dir python_configure
- fi
-}
-
-my_src_compile() {
- local -x MAIN_BUILD_DIR="${BUILD_DIR}"
- default
-
- if use python; then
- python_compile() {
- emake -C bindings/python \
- VPATH="${S}:${MAIN_BUILD_DIR}" \
- _clinkgrammar_la_DEPENDENCIES="${MAIN_BUILD_DIR}"/link-grammar/liblink-grammar.la \
- _clinkgrammar_la_LIBADD="${MAIN_BUILD_DIR}"/link-grammar/liblink-grammar.la
- }
- python_foreach_impl run_in_build_dir python_compile
- fi
-}
-
-my_src_install() {
- local -x MAIN_BUILD_DIR="${BUILD_DIR}"
- default
-
- if use python; then
- python_install() {
- emake -C bindings/python \
- VPATH="${S}:${MAIN_BUILD_DIR}" \
- _clinkgrammar_la_DEPENDENCIES="${MAIN_BUILD_DIR}"/link-grammar/liblink-grammar.la \
- _clinkgrammar_la_LIBADD="${MAIN_BUILD_DIR}"/link-grammar/liblink-grammar.la \
- DESTDIR="${D}" \
- install
- }
- python_foreach_impl run_in_build_dir python_install
- fi
-
- # no static archives
- find "${ED}" -name '*.la' -delete || die
-}
diff --git a/dev-libs/link-grammar/link-grammar-5.12.3.ebuild b/dev-libs/link-grammar/link-grammar-5.12.3.ebuild
new file mode 100644
index 000000000000..9b58401971bf
--- /dev/null
+++ b/dev-libs/link-grammar/link-grammar-5.12.3.ebuild
@@ -0,0 +1,118 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..11} )
+
+inherit autotools python-r1 out-of-source
+
+DESCRIPTION="A Syntactic English parser"
+HOMEPAGE="https://www.abisource.com/projects/link-grammar/ https://www.link.cs.cmu.edu/link/"
+SRC_URI="https://www.abisource.com/downloads/${PN}/${PV}/${P}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0/5"
+KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~ia64 ppc ppc64 ~riscv sparc ~x86"
+IUSE="aspell +hunspell python"
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+
+# XXX: sqlite is automagic
+# Does not build with >=sci-mathematics/minisat-2, bug #593662
+RDEPEND="
+ dev-db/sqlite:3
+ dev-libs/libpcre2:=
+ aspell? ( app-text/aspell )
+ hunspell? ( app-text/hunspell )
+ python? ( ${PYTHON_DEPS} )"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ dev-lang/swig:0
+ dev-build/autoconf-archive
+ virtual/pkgconfig"
+
+PATCHES=(
+ # upstreamed (https://github.com/opencog/link-grammar/pull/1471)
+ "${FILESDIR}"/${P}-Wimplicit-function-declaration.patch
+)
+
+QA_CONFIG_IMPL_DECL_SKIP=(
+ # _AC_UNDECLARED_BUILTIN false positive
+ strchr
+)
+
+pkg_setup() {
+ if use aspell && use hunspell; then
+ ewarn "You have enabled 'aspell' and 'hunspell' support, but both cannot coexist,"
+ ewarn "only hunspell will be built. Press Ctrl+C and set only 'aspell' USE flag if"
+ ewarn "you want aspell support."
+ fi
+}
+
+src_prepare() {
+ default
+ eautoreconf
+}
+
+my_src_configure() {
+ local myconf=(
+ --disable-maintainer-mode
+ --disable-editline
+ # java is hopelessly broken, invokes maven at build time (bug #806157)
+ --disable-java-bindings
+ --disable-perl-bindings
+ --disable-sat-solver
+ --with-regexlib=pcre2
+ $(use_enable aspell)
+ $(use_enable hunspell)
+ $(usev hunspell --with-hunspell-dictdir="${EPREFIX}"/usr/share/myspell)
+ )
+
+ econf \
+ --disable-python-bindings \
+ "${myconf[@]}"
+
+ if use python; then
+ python_configure() {
+ econf \
+ --enable-python-bindings \
+ "${myconf[@]}"
+ }
+ python_foreach_impl run_in_build_dir python_configure
+ fi
+}
+
+my_src_compile() {
+ local -x MAIN_BUILD_DIR="${BUILD_DIR}"
+ default
+
+ if use python; then
+ python_compile() {
+ emake -C bindings/python \
+ VPATH="${S}:${MAIN_BUILD_DIR}" \
+ _clinkgrammar_la_DEPENDENCIES="${MAIN_BUILD_DIR}"/link-grammar/liblink-grammar.la \
+ _clinkgrammar_la_LIBADD="${MAIN_BUILD_DIR}"/link-grammar/liblink-grammar.la
+ }
+ python_foreach_impl run_in_build_dir python_compile
+ fi
+}
+
+my_src_install() {
+ local -x MAIN_BUILD_DIR="${BUILD_DIR}"
+ default
+
+ if use python; then
+ python_install() {
+ emake -C bindings/python \
+ VPATH="${S}:${MAIN_BUILD_DIR}" \
+ _clinkgrammar_la_DEPENDENCIES="${MAIN_BUILD_DIR}"/link-grammar/liblink-grammar.la \
+ _clinkgrammar_la_LIBADD="${MAIN_BUILD_DIR}"/link-grammar/liblink-grammar.la \
+ DESTDIR="${D}" \
+ install
+ }
+ python_foreach_impl run_in_build_dir python_install
+ fi
+
+ # no static archives
+ find "${ED}" -name '*.la' -delete || die
+}
diff --git a/dev-libs/link-grammar/link-grammar-5.8.0.ebuild b/dev-libs/link-grammar/link-grammar-5.8.0.ebuild
deleted file mode 100644
index 0b97d446d773..000000000000
--- a/dev-libs/link-grammar/link-grammar-5.8.0.ebuild
+++ /dev/null
@@ -1,125 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{7..9} )
-
-inherit autotools java-pkg-opt-2 python-r1 out-of-source
-
-DESCRIPTION="A Syntactic English parser"
-HOMEPAGE="https://www.abisource.com/projects/link-grammar/ https://www.link.cs.cmu.edu/link/"
-SRC_URI="https://www.abisource.com/downloads/${PN}/${PV}/${P}.tar.gz"
-
-LICENSE="LGPL-2.1"
-SLOT="0"
-KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 sparc x86"
-IUSE="aspell +hunspell java python" # pcre
-REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
-
-# XXX: sqlite is automagic
-# Does not build with >=sci-mathematics/minisat-2, bug #593662
-# add pcre support: pcre? ( dev-libs/libpcre )
-RDEPEND="
- dev-db/sqlite:3
- aspell? ( app-text/aspell )
- hunspell? ( app-text/hunspell )
- java? (
- >=virtual/jdk-1.6:*
- dev-java/ant-core
- )
- python? ( ${PYTHON_DEPS} )
- !sci-mathematics/minisat"
-DEPEND="${RDEPEND}"
-BDEPEND="
- dev-lang/swig:0
- sys-devel/autoconf-archive
- virtual/pkgconfig"
-
-pkg_setup() {
- if use aspell && use hunspell; then
- ewarn "You have enabled 'aspell' and 'hunspell' support, but both cannot coexist,"
- ewarn "only hunspell will be built. Press Ctrl+C and set only 'aspell' USE flag if"
- ewarn "you want aspell support."
- fi
- use java && java-pkg-opt-2_pkg_setup
-}
-
-src_prepare() {
- use java && java-pkg-opt-2_src_prepare
-
- # http://bugzilla.abisource.com/show_bug.cgi?id=13806
- eapply "${FILESDIR}"/${PN}-5.8.0-out-of-source-build.patch
- eapply "${FILESDIR}"/${PN}-5.8.0-dont-inject-O3.patch
- eapply_user
-
- eautoreconf
-}
-
-my_src_configure() {
- local myconf=(
- --disable-maintainer-mode
- --disable-editline
- --disable-perl-bindings
- --disable-static
- --enable-sat-solver=bundled
- $(use_enable aspell)
- $(use_enable hunspell)
- $(usex hunspell --with-hunspell-dictdir="${EPREFIX}"/usr/share/myspell '')
- $(use_enable java java-bindings)
- # $(use_enable pcre regex-tokenizer)
- # $(use_with pcre)
- )
-
- econf \
- --disable-python-bindings \
- "${myconf[@]}"
-
- if use python; then
- python_configure() {
- econf \
- --enable-python-bindings \
- "${myconf[@]}"
- }
- python_foreach_impl run_in_build_dir python_configure
- fi
-}
-
-my_src_compile() {
- local -x MAIN_BUILD_DIR="${BUILD_DIR}"
- default
-
- if use python; then
- python_compile() {
- emake -C bindings/python \
- VPATH="${S}:${MAIN_BUILD_DIR}" \
- _clinkgrammar_la_DEPENDENCIES="${MAIN_BUILD_DIR}"/link-grammar/liblink-grammar.la \
- _clinkgrammar_la_LIBADD="${MAIN_BUILD_DIR}"/link-grammar/liblink-grammar.la
- }
- python_foreach_impl run_in_build_dir python_compile
- fi
-}
-
-my_src_install() {
- local -x MAIN_BUILD_DIR="${BUILD_DIR}"
- default
-
- if use python; then
- python_install() {
- emake -C bindings/python \
- VPATH="${S}:${MAIN_BUILD_DIR}" \
- _clinkgrammar_la_DEPENDENCIES="${MAIN_BUILD_DIR}"/link-grammar/liblink-grammar.la \
- _clinkgrammar_la_LIBADD="${MAIN_BUILD_DIR}"/link-grammar/liblink-grammar.la \
- DESTDIR="${D}" \
- install
- }
- python_foreach_impl run_in_build_dir python_install
- fi
-
- # no static archives
- find "${ED}" -name '*.la' -delete || die
-}
-
-pkg_preinst() {
- use java && java-pkg-opt-2_pkg_preinst
-}
diff --git a/dev-libs/link-grammar/metadata.xml b/dev-libs/link-grammar/metadata.xml
index 3f4b9ddbf83e..cde193a9efa3 100644
--- a/dev-libs/link-grammar/metadata.xml
+++ b/dev-libs/link-grammar/metadata.xml
@@ -1,22 +1,28 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <email>soap@gentoo.org</email>
- <name>David Seifert</name>
- </maintainer>
- <maintainer type="project">
- <email>gnome@gentoo.org</email>
- <name>Gentoo GNOME Desktop</name>
- </maintainer>
- <longdescription lang="en">
- The Link Grammar Parser is a syntactic parser of English, Russian, Arabic and Persian (and other languages as well),
- based on Link Grammar, an original theory of syntax and morphology. Given a sentence, the system assigns to it a
- syntactic structure, which consists of a set of labelled links connecting pairs of words. The parser also produces a "constituent"
- (HPSG style phrase tree) representation of a sentence (showing noun phrases, verb phrases, etc.).
- </longdescription>
- <use>
- <flag name="aspell">Adds support for <pkg>app-text/aspell</pkg> spell checker</flag>
- <flag name="hunspell">Adds support for <pkg>app-text/hunspell</pkg> spell checker</flag>
- </use>
+ <maintainer type="person">
+ <email>soap@gentoo.org</email>
+ <name>David Seifert</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>gnome@gentoo.org</email>
+ <name>Gentoo GNOME Desktop</name>
+ </maintainer>
+ <longdescription lang="en">
+ The Link Grammar Parser is a syntactic parser of English, Russian, Arabic
+ and Persian (and other languages as well), based on Link Grammar, an
+ original theory of syntax and morphology. Given a sentence, the system
+ assigns to it a syntactic structure, which consists of a set of labelled
+ links connecting pairs of words. The parser also produces a "constituent"
+ (HPSG style phrase tree) representation of a sentence (showing noun phrases,
+ verb phrases, etc.).
+ </longdescription>
+ <use>
+ <flag name="aspell">Adds support for <pkg>app-text/aspell</pkg> spell checker</flag>
+ <flag name="hunspell">Adds support for <pkg>app-text/hunspell</pkg> spell checker</flag>
+ </use>
+ <upstream>
+ <remote-id type="github">opencog/link-grammar</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/dev-libs/linux-syscall-support/Manifest b/dev-libs/linux-syscall-support/Manifest
new file mode 100644
index 000000000000..639c8200f7ee
--- /dev/null
+++ b/dev-libs/linux-syscall-support/Manifest
@@ -0,0 +1,2 @@
+DIST linux-syscall-support-2021.05.03.tar.gz 38423 BLAKE2B 06f78a3fb17150dc711564d981361d23ff4cdaa4629a35ba8b0e65a97eb9fd8dc5fe36f169e77b928bee64ce78107ff78f32f4ea6a0fc4850e2a0f77bb56254c SHA512 a321055e091264050483695fd2d6f6915606ee1ee641c3c95d8e0a7096692ebaeccee51ddf9312f63ca338ffaeb2b4b51e70b42e1867416629c6aba6e7a44665
+DIST linux-syscall-support-2022.10.12.tar.gz 42261 BLAKE2B c38eeaedf5082b0e41570aba951dfa190e69a2a007a8f33515d3cafd1641ac4734b7da23d48edc37fbc99f6e7d58b5ab7ef7534628d1e64b77c3c8ff7d252d76 SHA512 cbda1eadde75ce025ddfc3b47560bdd5ae49c0e2bb8862d925f5ce83a6db44be3e4cd01e467571267f3a62dab77756a094a3376e0fdd703d3a640376dfa27559
diff --git a/dev-libs/linux-syscall-support/files/linux-syscall-support-2021.05.03-test.patch b/dev-libs/linux-syscall-support/files/linux-syscall-support-2021.05.03-test.patch
new file mode 100644
index 000000000000..1090d06de363
--- /dev/null
+++ b/dev-libs/linux-syscall-support/files/linux-syscall-support-2021.05.03-test.patch
@@ -0,0 +1,10 @@
+--- a/tests/Makefile 2022-06-02 15:18:22.086379688 +0200
++++ b/tests/Makefile 2022-06-02 15:18:39.975129783 +0200
+@@ -40,7 +40,6 @@
+ LDFLAGS += -static
+
+ TESTS = \
+- fallocate \
+ getrandom \
+ lstat \
+ sigaction \
diff --git a/dev-libs/linux-syscall-support/linux-syscall-support-2021.05.03.ebuild b/dev-libs/linux-syscall-support/linux-syscall-support-2021.05.03.ebuild
new file mode 100644
index 000000000000..20846862a136
--- /dev/null
+++ b/dev-libs/linux-syscall-support/linux-syscall-support-2021.05.03.ebuild
@@ -0,0 +1,35 @@
+# Copyright 2022-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+CommitId=242f0729ac827a50ac7338e45c9f373eb73e4ca9
+
+DESCRIPTION="Linux Syscall Support"
+HOMEPAGE="https://github.com/mikey/linux-syscall-support/"
+SRC_URI="https://github.com/mikey/${PN}/archive/${CommitId}.tar.gz
+ -> ${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64"
+
+S="${WORKDIR}"/${PN}-${CommitId}
+
+PATCHES=(
+ "${FILESDIR}"/${P}-test.patch
+)
+
+src_prepare() {
+ default
+ mkdir lss || die
+ cp linux_syscall_support.h lss/ || die
+}
+
+src_test() {
+ emake -C tests
+}
+
+src_install() {
+ doheader -r lss
+}
diff --git a/dev-libs/linux-syscall-support/linux-syscall-support-2022.10.12.ebuild b/dev-libs/linux-syscall-support/linux-syscall-support-2022.10.12.ebuild
new file mode 100644
index 000000000000..2363dd646405
--- /dev/null
+++ b/dev-libs/linux-syscall-support/linux-syscall-support-2022.10.12.ebuild
@@ -0,0 +1,30 @@
+# Copyright 2022-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DESCRIPTION="Linux Syscall Support"
+HOMEPAGE="https://chromium.googlesource.com/linux-syscall-support"
+#SRC_URI="https://chromium.googlesource.com/${PN}/+archive/refs/tags/v${PV}.tar.gz
+SRC_URI="https://dev.gentoo.org/~tupone/distfiles/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64"
+
+S="${WORKDIR}"
+
+src_prepare() {
+ default
+ sed -i -e "/fallocate/d" tests/Makefile || die
+ mkdir lss || die
+ cp linux_syscall_support.h lss/ || die
+}
+
+src_test() {
+ emake -C tests
+}
+
+src_install() {
+ doheader -r lss
+}
diff --git a/dev-libs/linux-syscall-support/metadata.xml b/dev-libs/linux-syscall-support/metadata.xml
new file mode 100644
index 000000000000..95707aea74ee
--- /dev/null
+++ b/dev-libs/linux-syscall-support/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">mikey/linux-syscall-support</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/lockdev/lockdev-1.0.3.1.2-r4.ebuild b/dev-libs/lockdev/lockdev-1.0.3.1.2-r4.ebuild
index f06891e08476..8447e6e1dabf 100644
--- a/dev-libs/lockdev/lockdev-1.0.3.1.2-r4.ebuild
+++ b/dev-libs/lockdev/lockdev-1.0.3.1.2-r4.ebuild
@@ -1,4 +1,4 @@
-# Copyright 2001-2021 Gentoo Authors
+# Copyright 2001-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -23,7 +23,7 @@ S="${WORKDIR}"/${PN}-${MY_PV}
LICENSE="LGPL-2.1"
SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ppc ppc64 ~riscv ~s390 ~sparc x86"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ppc ppc64 ~riscv ~s390 ~sparc x86"
IUSE="perl"
PATCHES=(
@@ -69,7 +69,7 @@ multilib_src_compile() {
multilib_src_test() {
if multilib_is_native_abi && use perl; then
cd "${PERL_S}" || die
- SRC_TEST="do"
+ DIST_TEST="do"
export LD_LIBRARY_PATH="${LD_LIBRARY_PATH:+${LD_LIBRARY_PATH}:}${BUILD_DIR}/.libs"
perl-module_src_test
fi
diff --git a/dev-libs/log4cplus/Manifest b/dev-libs/log4cplus/Manifest
index 5aa12aeaea4a..e18c3d1eaed9 100644
--- a/dev-libs/log4cplus/Manifest
+++ b/dev-libs/log4cplus/Manifest
@@ -1,3 +1 @@
-DIST log4cplus-1.2.0.tar.bz2 629119 BLAKE2B f1b4629f7b6184b3f34f9d702c17487e113548cba46f5a25bb0f4972d7f3ce207310b25c94abea8cc1360591f7d0ac3d466075e584f25ce1968fee9d5b5c543a SHA512 2c3f16645051a230f9ec9a6ac689421efc4b51d5f40cb772e552bd199d2ad13c39d7e577cc63d51617555941412da166a6cda8861ee219154a953d9926aae626
-DIST log4cplus-2.0.6.tar.bz2 1197177 BLAKE2B cb2d4635b109690a81f2e228d48424a67addfccec6f5c6a1ef0e91b8f4ee24d41ba690e812d812a157688e2399ffefc0574111b7c6b38ce3551c11632acf76e9 SHA512 9dbbcff18fb50e7dd1a43076deb1be7d00343fc7ba590ef45a8098b544cb8421262f21fb9f319a570adac59b93960fceb2748e04902a39a8a90903b650de8cfd
DIST log4cplus-2.0.7.tar.bz2 1210637 BLAKE2B 59e9c3c351c7893c7e9c39e9d12616579cff3b4dfdd3e069f0adb4b75fb2b46d6fe8efceea2b6103c5531a723f015518bf10ce6a581724b6ae5f49e994b74c72 SHA512 9d1b36d0c2347dd9d9ab8852114b8138f56063c51625eaab7f4c680ee852e1e6872c6712465b10057ec9e42305b83d956f6753100dfd3ec58518d6620cc4106c
diff --git a/dev-libs/log4cplus/files/log4cplus-1.2.0-fix-c++14.patch b/dev-libs/log4cplus/files/log4cplus-1.2.0-fix-c++14.patch
deleted file mode 100644
index ccd6e1aadd2e..000000000000
--- a/dev-libs/log4cplus/files/log4cplus-1.2.0-fix-c++14.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-Make dtors noexcept(false) when compiling in C++11 and above. This avoids
-silent breakage due to the semantic changes between C++98 and C++11.
-See also: https://bugs.gentoo.org/show_bug.cgi?id=595424
-
---- a/include/log4cplus/hierarchylocker.h
-+++ b/include/log4cplus/hierarchylocker.h
-@@ -48,7 +48,11 @@
- public:
- // ctor & dtor
- HierarchyLocker(Hierarchy& h);
-- ~HierarchyLocker();
-+ ~HierarchyLocker()
-+#if __cplusplus >= 201103L
-+ noexcept(false)
-+#endif
-+ ;
-
- /**
- * Calls the <code>resetConfiguration()</code> method on the locked Hierarchy.
---- a/src/hierarchylocker.cxx
-+++ b/src/hierarchylocker.cxx
-@@ -62,6 +62,9 @@
-
-
- HierarchyLocker::~HierarchyLocker()
-+#if __cplusplus >= 201103L
-+ noexcept(false)
-+#endif
- {
- try {
- for(LoggerList::iterator it=loggerList.begin(); it!=loggerList.end(); ++it) {
diff --git a/dev-libs/log4cplus/log4cplus-1.2.0.ebuild b/dev-libs/log4cplus/log4cplus-1.2.0.ebuild
deleted file mode 100644
index 5d5331b72abb..000000000000
--- a/dev-libs/log4cplus/log4cplus-1.2.0.ebuild
+++ /dev/null
@@ -1,65 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-DESCRIPTION="C++ port of the Log for Java (log4j) logging library"
-HOMEPAGE="http://log4cplus.sourceforge.net/ https://github.com/log4cplus/log4cplus"
-SRC_URI="mirror://sourceforge/project/${PN}/${PN}-stable/${PV}/${P}.tar.bz2"
-
-LICENSE="|| ( Apache-2.0 BSD-2 )"
-SLOT="0/1.2-5"
-KEYWORDS="amd64 ~arm ~arm64 ~ppc64 ~x86"
-IUSE="iconv qt5 threads working-locale working-c-locale"
-REQUIRED_USE="?? ( iconv working-locale working-c-locale )"
-
-RDEPEND="
- iconv? ( virtual/libiconv )
- qt5? ( dev-qt/qtcore:5 )
-"
-DEPEND="${RDEPEND}
- virtual/pkgconfig
-"
-
-PATCHES=( "${FILESDIR}/${PN}-1.2.0-fix-c++14.patch" )
-
-src_configure() {
- econf \
- --disable-static \
- $(use_with iconv) \
- $(use_with qt5) \
- $(use_enable threads) \
- $(use_with working-locale) \
- $(use_with working-c-locale)
-}
-
-src_test() {
- cd tests/ || die
-
- local t
- for t in appender customloglevel fileappender filter \
- hierarchy loglog ndc ostream patternlayout performance priority \
- propertyconfig timeformat; do
- einfo "Running test \"${t}_test\""
- pushd "${t}_test/" >/dev/null || die
- "${S}"/${t}_test || die "Running ${t}_test failed!"
- popd >/dev/null || die
- done
-
- if use threads; then
- for t in configandwatch thread; do
- einfo "Running test \"${t}_test\""
- pushd "${t}_test/" >/dev/null || die
- "${S}"/${t}_test || die "Running ${t}_test failed!"
- popd >/dev/null || die
- done
- fi
-}
-
-src_install() {
- default
- dodoc docs/unicode.txt
-
- # package provides .pc files
- find "${D}" -name '*.la' -delete || die
-}
diff --git a/dev-libs/log4cplus/log4cplus-2.0.6.ebuild b/dev-libs/log4cplus/log4cplus-2.0.6.ebuild
deleted file mode 100644
index de590a2efbbb..000000000000
--- a/dev-libs/log4cplus/log4cplus-2.0.6.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
-
-inherit cmake
-
-DESCRIPTION="C++ port of the Log for Java (log4j) logging library"
-HOMEPAGE="http://log4cplus.sourceforge.net/ https://github.com/log4cplus/log4cplus"
-SRC_URI="mirror://sourceforge/project/${PN}/${PN}-stable/${PV}/${P}.tar.bz2"
-
-LICENSE="|| ( Apache-2.0 BSD-2 )"
-SLOT="0/3"
-KEYWORDS="amd64 ~arm ~arm64 ~ppc64 ~x86"
-
-IUSE="explicit-initialization iconv qt5 server test threads"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- iconv? ( virtual/libiconv )
- qt5? ( dev-qt/qtcore:5 )"
-
-DEPEND="${RDEPEND}"
-
-src_configure() {
- local mycmakeargs=(
- -DLOG4CPLUS_BUILD_LOGGINGSERVER=$(usex server)
- -DWITH_UNIT_TESTS=$(usex test)
- -DLOG4CPLUS_BUILD_TESTING=$(usex test)
- -DLOG4CPLUS_ENABLE_THREAD_POOL=$(usex threads)
- -DLOG4CPLUS_REQUIRE_EXPLICIT_INITIALIZATION=$(usex explicit-initialization)
- -DWITH_ICONV=$(usex iconv)
- -DLOG4CPLUS_QT5=$(usex qt5)
- )
-
- cmake_src_configure
-}
diff --git a/dev-libs/log4cplus/log4cplus-2.0.7.ebuild b/dev-libs/log4cplus/log4cplus-2.0.7.ebuild
index 8dbf6e61cf0d..4e644ec1eb20 100644
--- a/dev-libs/log4cplus/log4cplus-2.0.7.ebuild
+++ b/dev-libs/log4cplus/log4cplus-2.0.7.ebuild
@@ -1,22 +1,24 @@
-# 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
DESCRIPTION="C++ port of the Log for Java (log4j) logging library"
-HOMEPAGE="http://log4cplus.sourceforge.net/ https://github.com/log4cplus/log4cplus"
+HOMEPAGE="https://log4cplus.sourceforge.io/ https://github.com/log4cplus/log4cplus"
SRC_URI="mirror://sourceforge/project/${PN}/${PN}-stable/${PV}/${P}.tar.bz2"
LICENSE="|| ( Apache-2.0 BSD-2 )"
SLOT="0/3"
-KEYWORDS="amd64 ~arm ~arm64 ~ppc64 ~x86"
+KEYWORDS="amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86"
IUSE="explicit-initialization iconv qt5 server test threads"
RESTRICT="!test? ( test )"
-RDEPEND="iconv? ( virtual/libiconv )
- qt5? ( dev-qt/qtcore:5 )"
+RDEPEND="
+ iconv? ( virtual/libiconv )
+ qt5? ( dev-qt/qtcore:5 )
+"
DEPEND="${RDEPEND}"
src_configure() {
diff --git a/dev-libs/log4cplus/metadata.xml b/dev-libs/log4cplus/metadata.xml
index 29dbbbef8a20..a7db4616f45a 100644
--- a/dev-libs/log4cplus/metadata.xml
+++ b/dev-libs/log4cplus/metadata.xml
@@ -6,8 +6,6 @@
<flag name="explicit-initialization">Require explicit initialization</flag>
<flag name="iconv">Use inconv for wchar_t &lt;-&gt; char conversions. See also log4cplus's unicode.txt documentation</flag>
<flag name="server">Build the logging server</flag>
- <flag name="working-locale">Use C++'s std::locale for wchar_t &lt;-&gt; char conversions. See also log4cplus's unicode.txt documentation</flag>
- <flag name="working-c-locale">Use the C99 locale facilities for wchar_t &lt;-&gt; char conversions. See also log4cplus's unicode.txt documentation </flag>
</use>
<slots>
<subslots>soname major version number</subslots>
diff --git a/dev-libs/log4cpp/Manifest b/dev-libs/log4cpp/Manifest
index b9af8f327ffe..58f428e911e6 100644
--- a/dev-libs/log4cpp/Manifest
+++ b/dev-libs/log4cpp/Manifest
@@ -1 +1,2 @@
DIST log4cpp-1.1.3.tar.gz 595639 BLAKE2B fc7d643aa70d739e38ec5aba127b4e760a47a064f4032690586c4698ec83a2b7f219d8476650d3bfc5e25563de0852869429ec45171233c6bd5c08b69476b169 SHA512 88e5e10bce8d7d6421c3dcf14aa25385159c4ae52becdc1f3666ab86e1ad3f633786d82afe398c517d4faaa57b3e7b7c0b524361d81c6b9040dbded5cecc19de
+DIST log4cpp-1.1.4.tar.gz 637440 BLAKE2B fe7d3cf5ea8ff8f9bdd86691195c02473bd21a90ebfe2d9cd7a32c2fa30e17b5a104c6181601cf2dce19b703496bb6038e7b0a782a24dfd55415ecd462e49841 SHA512 0cdbd46ccd048d70bea3c35d22080dc5dd21fc3b9c415fe464847e60775954f57e9c8344506f0f94f16e90e8bdaa9cc6d84d3aa65191501e52ee8dfc639f0398
diff --git a/dev-libs/log4cpp/files/1.0-gcc43.patch b/dev-libs/log4cpp/files/1.0-gcc43.patch
index a60f986e9c0d..53441d4a6ac7 100644
--- a/dev-libs/log4cpp/files/1.0-gcc43.patch
+++ b/dev-libs/log4cpp/files/1.0-gcc43.patch
@@ -1,8 +1,6 @@
-Index: log4cpp-1.0/src/BasicLayout.cpp
-===================================================================
---- log4cpp-1.0.orig/src/BasicLayout.cpp 2008-03-14 16:06:57.000000000 -0400
-+++ log4cpp-1.0/src/BasicLayout.cpp 2008-03-14 16:07:11.000000000 -0400
-@@ -15,6 +15,8 @@
+--- a/src/BasicLayout.cpp
++++ b/src/BasicLayout.cpp
+@@ -17,6 +17,8 @@
#include <sstream>
#endif
@@ -11,11 +9,9 @@ Index: log4cpp-1.0/src/BasicLayout.cpp
namespace log4cpp {
BasicLayout::BasicLayout() {
-Index: log4cpp-1.0/src/PatternLayout.cpp
-===================================================================
---- log4cpp-1.0.orig/src/PatternLayout.cpp 2008-03-14 16:07:33.000000000 -0400
-+++ log4cpp-1.0/src/PatternLayout.cpp 2008-03-14 16:07:49.000000000 -0400
-@@ -370,7 +370,7 @@
+--- a/src/PatternLayout.cpp
++++ b/src/PatternLayout.cpp
+@@ -373,7 +373,7 @@
literal = "";
}
if ((minWidth != 0) || (maxWidth != 0)) {
@@ -24,3 +20,14 @@ Index: log4cpp-1.0/src/PatternLayout.cpp
minWidth = maxWidth = 0;
}
_components.push_back(component);
+--- a/tests/testDailyRollingFileAppender.cpp
++++ b/tests/testDailyRollingFileAppender.cpp
+@@ -40,7 +40,7 @@
+ #else
+ #define PATHDELIMITER "\\"
+ #endif
+-const char* const nesteddirname = "nesteddir"PATHDELIMITER;
++const char* const nesteddirname = "nesteddir" PATHDELIMITER;
+
+
+ class DailyRollingTest {
diff --git a/dev-libs/log4cpp/files/log4cpp-1.1.3-fix-implicit-func-in-configure.patch b/dev-libs/log4cpp/files/log4cpp-1.1.3-fix-implicit-func-in-configure.patch
new file mode 100644
index 000000000000..9e21817ab890
--- /dev/null
+++ b/dev-libs/log4cpp/files/log4cpp-1.1.3-fix-implicit-func-in-configure.patch
@@ -0,0 +1,20 @@
+clang16 throws an error because of the implicit function declaration of exit().
+This leads to the wrong assumption that snprintf is not present on the system.
+
+Bug: https://bugs.gentoo.org/906535
+Upstream PR: https://sourceforge.net/p/log4cpp/codegit/merge-requests/10/
+
+# Pascal Jäger <pascal.jaeger@leimstift.de> (2023-09-22)
+
+--- a/m4/AC_FUNC_SNPRINTF.m4
++++ b/m4/AC_FUNC_SNPRINTF.m4
+@@ -12,7 +12,8 @@ dnl @author Caolan McNamara <caolan@skynet.ie>
+ dnl
+ AC_DEFUN([AC_FUNC_SNPRINTF],
+ [AC_CACHE_CHECK(for working snprintf, ac_cv_func_snprintf,
+-[AC_TRY_RUN([#include <stdio.h>
++[AC_TRY_RUN([#include <stdlib.h>
++#include <stdio.h>
+ int main () { int l = snprintf(NULL,0,"%d",100); exit (!((3 <= l) || (-1 == l))); }
+ ], ac_cv_func_snprintf=yes, ac_cv_func_snprintf=no,
+ ac_cv_func_snprintf=no)])
diff --git a/dev-libs/log4cpp/files/log4cpp-1.1.3-fix-version.patch b/dev-libs/log4cpp/files/log4cpp-1.1.3-fix-version.patch
new file mode 100644
index 000000000000..9676bacfc9dd
--- /dev/null
+++ b/dev-libs/log4cpp/files/log4cpp-1.1.3-fix-version.patch
@@ -0,0 +1,9 @@
+https://src.fedoraproject.org/rpms/log4cpp/raw/rawhide/f/log4cpp-version-1.1.3.patch
+--- a/configure.in
++++ b/configure.in
+@@ -1,4 +1,4 @@
+-AC_INIT(log4cpp, 1.1)
++AC_INIT(log4cpp, 1.1.3)
+
+ # autoconf 2.50 or higher to rebuild aclocal.m4, because the
+ # AC_CREATE_PREFIX_CONFIG_H macro needs the AS_DIRNAME macro.
diff --git a/dev-libs/log4cpp/files/log4cpp-1.1.4-fix-implicit-func-in-configure.patch b/dev-libs/log4cpp/files/log4cpp-1.1.4-fix-implicit-func-in-configure.patch
new file mode 100644
index 000000000000..78a5dd4c8e54
--- /dev/null
+++ b/dev-libs/log4cpp/files/log4cpp-1.1.4-fix-implicit-func-in-configure.patch
@@ -0,0 +1,20 @@
+clang16 throws an error because of the implicit function declaration of exit().
+This leads to the wrong assumption that snprintf is not present on the system.
+
+Bug: https://bugs.gentoo.org/906535
+Upstream PR: https://sourceforge.net/p/log4cpp/codegit/merge-requests/10/
+
+# Pascal Jäger <pascal.jaeger@leimstift.de> (2023-09-22)
+
+--- a/m4/AC_FUNC_SNPRINTF.m4
++++ b/m4/AC_FUNC_SNPRINTF.m4
+@@ -12,7 +12,8 @@ dnl @author Caolan McNamara <caolan@skynet.ie>
+ dnl
+ AC_DEFUN([AC_FUNC_SNPRINTF],
+ [AC_CACHE_CHECK(for working snprintf, ac_cv_func_snprintf,
+-[AC_TRY_RUN([#include <stdio.h>
++[AC_TRY_RUN([#include <stdlib.h>
++#include <stdio.h>
+ int main () { int l = snprintf(NULL,0,"%d",100); return !((3 <= l) || (-1 == l)); }
+ ], ac_cv_func_snprintf=yes, ac_cv_func_snprintf=no,
+ ac_cv_func_snprintf=no)])
diff --git a/dev-libs/log4cpp/files/log4cpp-1.1.4-gcc43.patch b/dev-libs/log4cpp/files/log4cpp-1.1.4-gcc43.patch
new file mode 100644
index 000000000000..9a1fd466c274
--- /dev/null
+++ b/dev-libs/log4cpp/files/log4cpp-1.1.4-gcc43.patch
@@ -0,0 +1,11 @@
+--- a/src/PatternLayout.cpp
++++ b/src/PatternLayout.cpp
+@@ -373,7 +373,7 @@
+ literal = "";
+ }
+ if ((minWidth != 0) || (maxWidth != 0)) {
+- component = new FormatModifierComponent(component, std::abs(minWidth), maxWidth, minWidth < 0);
++ component = new FormatModifierComponent(component, std::abs((float)minWidth), maxWidth, minWidth < 0);
+ minWidth = maxWidth = 0;
+ }
+ _components.push_back(component);
diff --git a/dev-libs/log4cpp/log4cpp-1.1.3-r2.ebuild b/dev-libs/log4cpp/log4cpp-1.1.3-r2.ebuild
new file mode 100644
index 000000000000..9677088e324a
--- /dev/null
+++ b/dev-libs/log4cpp/log4cpp-1.1.3-r2.ebuild
@@ -0,0 +1,58 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools
+
+DESCRIPTION="C++ classes for flexible logging to files, syslog and other destinations"
+HOMEPAGE="http://log4cpp.sourceforge.net/"
+SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
+S="${WORKDIR}/${PN}"
+
+LICENSE="LGPL-2.1"
+SLOT="0/5"
+KEYWORDS="amd64 ~arm ppc ~riscv ~s390 x86"
+IUSE="doc test"
+RESTRICT="!test? ( test )"
+
+BDEPEND="doc? ( app-text/doxygen )"
+
+PATCHES=(
+ "${FILESDIR}"/1.0-doc_install_path.patch
+ "${FILESDIR}"/1.0-gcc43.patch
+ "${FILESDIR}"/1.0-asneeded.patch
+ "${FILESDIR}"/${PN}-1.1-cmath-fix.patch
+ "${FILESDIR}"/${PN}-1.1-automake-1.13.patch
+ "${FILESDIR}"/${PN}-1.1-glibc-2.31.patch
+ "${FILESDIR}"/${PN}-1.1.3-fix-version.patch
+)
+
+src_prepare() {
+ default
+
+ mv configure.{in,ac} || die
+
+ # Build tests conditionally
+ if ! use test; then
+ sed -i -e '/^SUBDIRS/s/ tests//' Makefile.am || die
+ fi
+
+ eautoreconf
+}
+
+src_configure() {
+ # Bashisms call configure tests to malfunction / config.h to be misgenerated
+ # which then causes a build failure later on in the package (w/ GCC 12,
+ # anyway).
+ CONFIG_SHELL="${BROOT}"/bin/bash econf \
+ --without-idsa \
+ $(use_enable doc doxygen)
+}
+
+src_install() {
+ default
+
+ # Package installs .pc files
+ find "${ED}" -name '*.la' -delete || die
+}
diff --git a/dev-libs/log4cpp/log4cpp-1.1.3-r3.ebuild b/dev-libs/log4cpp/log4cpp-1.1.3-r3.ebuild
new file mode 100644
index 000000000000..5c9baefc2b99
--- /dev/null
+++ b/dev-libs/log4cpp/log4cpp-1.1.3-r3.ebuild
@@ -0,0 +1,60 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools flag-o-matic
+
+DESCRIPTION="C++ classes for flexible logging to files, syslog and other destinations"
+HOMEPAGE="https://log4cpp.sourceforge.net/"
+SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
+S="${WORKDIR}/${PN}"
+
+LICENSE="LGPL-2.1"
+SLOT="0/5"
+KEYWORDS="amd64 ~arm ppc ~riscv ~s390 x86"
+IUSE="doc test"
+RESTRICT="!test? ( test )"
+
+BDEPEND="doc? ( app-text/doxygen )"
+
+PATCHES=(
+ "${FILESDIR}"/1.0-doc_install_path.patch
+ "${FILESDIR}"/1.0-gcc43.patch
+ "${FILESDIR}"/1.0-asneeded.patch
+ "${FILESDIR}"/${PN}-1.1-cmath-fix.patch
+ "${FILESDIR}"/${PN}-1.1-automake-1.13.patch
+ "${FILESDIR}"/${PN}-1.1-glibc-2.31.patch
+ "${FILESDIR}"/${PN}-1.1.3-fix-version.patch
+ "${FILESDIR}"/${PN}-1.1.3-fix-implicit-func-in-configure.patch
+)
+
+src_prepare() {
+ default
+
+ mv configure.{in,ac} || die
+
+ # Build tests conditionally
+ if ! use test; then
+ sed -i -e '/^SUBDIRS/s/ tests//' Makefile.am || die
+ fi
+
+ eautoreconf
+}
+
+src_configure() {
+ append-cxxflags -Wno-register # https://bugs.gentoo.org/895054
+ # Bashisms call configure tests to malfunction / config.h to be misgenerated
+ # which then causes a build failure later on in the package (w/ GCC 12,
+ # anyway).
+ CONFIG_SHELL="${BROOT}"/bin/bash econf \
+ --without-idsa \
+ $(use_enable doc doxygen)
+}
+
+src_install() {
+ default
+
+ # Package installs .pc files
+ find "${ED}" -name '*.la' -delete || die
+}
diff --git a/dev-libs/log4cpp/log4cpp-1.1.3.ebuild b/dev-libs/log4cpp/log4cpp-1.1.3.ebuild
deleted file mode 100644
index 2fdc153e4873..000000000000
--- a/dev-libs/log4cpp/log4cpp-1.1.3.ebuild
+++ /dev/null
@@ -1,61 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit autotools multilib-minimal
-
-DESCRIPTION="C++ classes for flexible logging to files, syslog and other destinations"
-HOMEPAGE="http://log4cpp.sourceforge.net/"
-SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
-
-LICENSE="LGPL-2.1"
-SLOT="0/5"
-KEYWORDS="amd64 ~arm ppc ~s390 x86"
-IUSE="doc static-libs test"
-RESTRICT="!test? ( test )"
-
-DEPEND="doc? ( app-doc/doxygen )"
-RDEPEND=""
-
-PATCHES=(
- "${FILESDIR}"/1.0-doc_install_path.patch
- "${FILESDIR}"/1.0-gcc43.patch
- "${FILESDIR}"/1.0-asneeded.patch
- "${FILESDIR}"/${PN}-1.1-cmath-fix.patch
- "${FILESDIR}"/${PN}-1.1-automake-1.13.patch
- "${FILESDIR}"/${PN}-1.1-glibc-2.31.patch
-)
-
-S="${WORKDIR}/${PN}"
-
-MULTILIB_CHOST_TOOLS=(
- /usr/bin/log4cpp-config
-)
-
-src_prepare() {
- default
-
- mv configure.{in,ac} || die
-
- # Build tests conditionally
- if ! use test; then
- sed -i -e '/^SUBDIRS/s/ tests//' Makefile.am || die
- fi
-
- eautoreconf
-}
-
-multilib_src_configure() {
- ECONF_SOURCE=${S} econf \
- --without-idsa \
- $(use_enable doc doxygen) \
- $(use_enable static-libs static)
-}
-
-multilib_src_install_all() {
- einstalldocs
-
- # package installs .pc files
- find "${D}" -name '*.la' -delete || die
-}
diff --git a/dev-libs/log4cpp/log4cpp-1.1.4.ebuild b/dev-libs/log4cpp/log4cpp-1.1.4.ebuild
new file mode 100644
index 000000000000..3b679658a0e5
--- /dev/null
+++ b/dev-libs/log4cpp/log4cpp-1.1.4.ebuild
@@ -0,0 +1,59 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools flag-o-matic
+
+DESCRIPTION="C++ classes for flexible logging to files, syslog and other destinations"
+HOMEPAGE="https://log4cpp.sourceforge.net/"
+SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
+S="${WORKDIR}/${PN}"
+
+LICENSE="LGPL-2.1"
+SLOT="0/5"
+KEYWORDS="~amd64 ~arm ~ppc ~riscv ~s390 ~x86"
+IUSE="doc test"
+RESTRICT="!test? ( test )"
+
+BDEPEND="doc? ( app-text/doxygen )"
+
+PATCHES=(
+ "${FILESDIR}"/1.0-doc_install_path.patch
+ "${FILESDIR}"/1.0-asneeded.patch
+ "${FILESDIR}"/${PN}-1.1-cmath-fix.patch
+ "${FILESDIR}"/${PN}-1.1-automake-1.13.patch
+ "${FILESDIR}"/${PN}-1.1.3-fix-version.patch
+ "${FILESDIR}"/${PN}-1.1.4-fix-implicit-func-in-configure.patch
+ "${FILESDIR}"/${PN}-1.1.4-gcc43.patch
+)
+
+src_prepare() {
+ default
+
+ mv configure.{in,ac} || die
+
+ # Build tests conditionally
+ if ! use test; then
+ sed -i -e '/^SUBDIRS/s/ tests//' Makefile.am || die
+ fi
+
+ eautoreconf
+}
+
+src_configure() {
+ append-cxxflags -Wno-register # https://bugs.gentoo.org/895054
+ # Bashisms call configure tests to malfunction / config.h to be misgenerated
+ # which then causes a build failure later on in the package (w/ GCC 12,
+ # anyway).
+ CONFIG_SHELL="${BROOT}"/bin/bash econf \
+ --without-idsa \
+ $(use_enable doc doxygen)
+}
+
+src_install() {
+ default
+
+ # Package installs .pc files
+ find "${ED}" -name '*.la' -delete || die
+}
diff --git a/dev-libs/log4cxx/Manifest b/dev-libs/log4cxx/Manifest
index 672c69d34f73..3edaca4bd2f9 100644
--- a/dev-libs/log4cxx/Manifest
+++ b/dev-libs/log4cxx/Manifest
@@ -1 +1,3 @@
DIST apache-log4cxx-0.11.0.tar.gz 1145075 BLAKE2B 786f3374923a5d47172bdaba7edb1725bedc766cb310b7b1237cfcc2fdd84cf2e390b47d55284ad0ce65631798e545523723090f4c0f7ab262f6cbe41a03e327 SHA512 f8aa37c9c094e7a4d6ca92dff13c032f69f1e078c51ea55e284fcb931c13256b08950af3ea6eaf7a12282240f6073e9acab19bfe217f88dbd62a5d2360f3fbdd
+DIST apache-log4cxx-1.0.0.tar.gz 554344 BLAKE2B 2664cdcb84c298cd9be49e98ee767f16665614435ad44e79fa4d10219f42373ba8bb3f6cfe698bd65c0565ba120b6f6e1ab7a8de8ce9a1f43e977dde80596c3a SHA512 a6b928d7b5b4fb60a67504be082f436a6d1a750b752a89df51d0660670b6c008e7376cf56c1749fd5fc17777ae8a2d957f72879c9a89487ecb0f179999dc1283
+DIST apache-log4cxx-1.2.0.tar.gz 652992 BLAKE2B b20211dfc0fc722e5b34adea9b4f6009f827f5fae467d8e0ec097c9b8915b8413494232704eb49e062b7c18f53fc9240b244c093a3d54c1964a7f7b4ba41fe00 SHA512 377234407c5f1128fbff6e5d2fcda3f53aae275962cd9207257674fa016095f4bc4ac0c318c1ba2a75f3252402cce0776c1211ffa917a60f8a89a12f01d45efb
diff --git a/dev-libs/log4cxx/log4cxx-1.0.0.ebuild b/dev-libs/log4cxx/log4cxx-1.0.0.ebuild
new file mode 100644
index 000000000000..19925b089d15
--- /dev/null
+++ b/dev-libs/log4cxx/log4cxx-1.0.0.ebuild
@@ -0,0 +1,56 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+MY_P=apache-${P}
+DESCRIPTION="Library of C++ classes for logging to files, syslog and other destinations"
+HOMEPAGE="https://logging.apache.org/log4cxx/"
+SRC_URI="mirror://apache/logging/${PN}/${PV}/${MY_P}.tar.gz"
+S="${WORKDIR}/${MY_P}"
+
+LICENSE="Apache-2.0"
+SLOT="0/15"
+KEYWORDS="~alpha amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~x86"
+IUSE="odbc smtp test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ dev-libs/apr:1=
+ dev-libs/apr-util:1=
+ dev-libs/libfmt:=
+ odbc? ( dev-db/unixODBC )
+ smtp? ( net-libs/libesmtp )
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ app-arch/zip
+ test? (
+ app-alternatives/gzip
+ app-arch/zip
+ )
+"
+
+src_prepare() {
+ # https://github.com/apache/logging-log4cxx/issues/189
+ if ! use odbc ; then
+ sed -i -e 's:pkg_check_modules( odbc QUIET odbc ):pkg_check_modules( odbc QUIET odbcDoNotFindMe ):' src/main/include/CMakeLists.txt || die
+ fi
+
+ if ! use smtp ; then
+ sed -i -e 's:CHECK_LIBRARY_EXISTS(esmtp smtp_create_session "" HAS_LIBESMTP):CHECK_LIBRARY_EXISTS(esmtpDoNotFindMe smtp_create_session "" HAS_LIBESMTP):' src/main/include/CMakeLists.txt || die
+ fi
+
+ cmake_src_prepare
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DENABLE_FMT_LAYOUT=ON
+ -DLOG4CXX_QT_SUPPORT=OFF
+ )
+
+ cmake_src_configure
+}
diff --git a/dev-libs/log4cxx/log4cxx-1.2.0.ebuild b/dev-libs/log4cxx/log4cxx-1.2.0.ebuild
new file mode 100644
index 000000000000..dc2e7294b417
--- /dev/null
+++ b/dev-libs/log4cxx/log4cxx-1.2.0.ebuild
@@ -0,0 +1,45 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+MY_P=apache-${P}
+DESCRIPTION="Library of C++ classes for logging to files, syslog and other destinations"
+HOMEPAGE="https://logging.apache.org/log4cxx/"
+SRC_URI="mirror://apache/logging/${PN}/${PV}/${MY_P}.tar.gz"
+S="${WORKDIR}/${MY_P}"
+
+LICENSE="Apache-2.0"
+SLOT="0/15"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~x86"
+IUSE="odbc smtp test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ dev-libs/apr:1=
+ dev-libs/apr-util:1=
+ dev-libs/libfmt:=
+ odbc? ( dev-db/unixODBC )
+ smtp? ( net-libs/libesmtp )
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ app-arch/zip
+ test? (
+ app-alternatives/gzip
+ app-arch/zip
+ )
+"
+
+src_configure() {
+ local mycmakeargs=(
+ -DENABLE_FMT_LAYOUT=ON
+ -DLOG4CXX_QT_SUPPORT=OFF
+ -DLOG4CXX_ENABLE_ODBC=$(usex odbc ON OFF)
+ -DLOG4CXX_ENABLE_ESMTP=$(usex smtp ON OFF)
+ )
+
+ cmake_src_configure
+}
diff --git a/dev-libs/log4cxx/metadata.xml b/dev-libs/log4cxx/metadata.xml
index bfff4138d143..3d3ee44f441d 100644
--- a/dev-libs/log4cxx/metadata.xml
+++ b/dev-libs/log4cxx/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 -->
-<use>
- <flag name="smtp">Offer SMTP support via <pkg>net-libs/libesmtp</pkg></flag>
-</use>
+ <!-- maintainer-needed -->
+ <use>
+ <flag name="smtp">Offer SMTP support via <pkg>net-libs/libesmtp</pkg></flag>
+ </use>
+ <upstream>
+ <remote-id type="github">apache/logging-log4cxx</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/dev-libs/log4sh/metadata.xml b/dev-libs/log4sh/metadata.xml
index f07173f9d880..3377faf16733 100644
--- a/dev-libs/log4sh/metadata.xml
+++ b/dev-libs/log4sh/metadata.xml
@@ -1,10 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <email>pinkbyte@gentoo.org</email>
- <name>Sergey Popov</name>
- </maintainer>
+ <!-- maintainer-needed -->
<upstream>
<remote-id type="sourceforge">log4sh</remote-id>
</upstream>
diff --git a/dev-libs/luise/luise-0.1.1-r1.ebuild b/dev-libs/luise/luise-0.1.1-r1.ebuild
deleted file mode 100644
index d2dfb59779fc..000000000000
--- a/dev-libs/luise/luise-0.1.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=7
-
-MY_PN="LUIse"
-
-DESCRIPTION="Programming interface for the Wallbraun LCD-USB-Interface"
-HOMEPAGE="https://web.archive.org/web/20140102061822/http://wallbraun-electronics.de/"
-SRC_URI="https://dev.gentoo.org/~conikost/files/${MY_PN}_${PV}.tar.gz"
-
-LICENSE="LGPL-2.1"
-SLOT="0"
-KEYWORDS="-* amd64 x86"
-IUSE="examples"
-
-RDEPEND="virtual/libusb:0"
-
-S="${WORKDIR}/${MY_PN}_${PV}"
-
-QA_PREBUILT="
- usr/lib/libluise.so.${PV}
- usr/lib64/libluise.so.${PV}
-"
-
-src_install() {
- insinto /usr/$(get_libdir)
- newins $(usex amd64 '64' '32')bit/libluise$(usex amd64 '_64' '').so.${PV} libluise.so.${PV}
- dosym ../../usr/$(get_libdir)/libluise.so.${PV} /usr/$(get_libdir)/libluise.so.${SLOT}
- dosym ../../usr/$(get_libdir)/libluise.so.${PV} /usr/$(get_libdir)/libluise.so
-
- insinto /usr/include
- doins $(usex amd64 '64' '32')bit/luise.h
-
- dodoc doc/*
- use examples && dodoc -r samples/luise-test
-}
diff --git a/dev-libs/luise/luise-0.1.1-r2.ebuild b/dev-libs/luise/luise-0.1.1-r2.ebuild
new file mode 100644
index 000000000000..f877a4e78d63
--- /dev/null
+++ b/dev-libs/luise/luise-0.1.1-r2.ebuild
@@ -0,0 +1,36 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+MY_PN="LUIse"
+
+DESCRIPTION="Programming interface for the Wallbraun LCD-USB-Interface"
+HOMEPAGE="https://web.archive.org/web/20140102061822/http://wallbraun-electronics.de/"
+SRC_URI="https://dev.gentoo.org/~conikost/files/${MY_PN}_${PV}.tar.gz"
+S="${WORKDIR}/${MY_PN}_${PV}"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="-* amd64 x86"
+IUSE="examples"
+
+RDEPEND="virtual/libusb:0"
+
+QA_PREBUILT="
+ usr/lib/libluise.so.${PV}
+ usr/lib64/libluise.so.${PV}
+"
+
+src_install() {
+ insinto /usr/$(get_libdir)
+ newins $(usex amd64 '64' '32')bit/libluise$(usex amd64 '_64' '').so.${PV} libluise.so.${PV}
+ dosym ../../usr/$(get_libdir)/libluise.so.${PV} /usr/$(get_libdir)/libluise.so.${SLOT}
+ dosym ../../usr/$(get_libdir)/libluise.so.${PV} /usr/$(get_libdir)/libluise.so
+
+ insinto /usr/include
+ doins $(usex amd64 '64' '32')bit/luise.h
+
+ dodoc doc/*
+ use examples && dodoc -r samples/luise-test
+}
diff --git a/dev-libs/lzo/lzo-2.10.ebuild b/dev-libs/lzo/lzo-2.10.ebuild
index d21765fe4f99..8ad80605d20a 100644
--- a/dev-libs/lzo/lzo-2.10.ebuild
+++ b/dev-libs/lzo/lzo-2.10.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
@@ -11,7 +11,7 @@ SRC_URI="https://www.oberhumer.com/opensource/lzo/download/${P}.tar.gz"
LICENSE="GPL-2+"
SLOT="2"
-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 ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
IUSE="examples static-libs"
multilib_src_configure() {
diff --git a/dev-libs/m17n-lib/m17n-lib-1.8.0.ebuild b/dev-libs/m17n-lib/m17n-lib-1.8.0.ebuild
index 615e6f7a9300..0474a77acf59 100644
--- a/dev-libs/m17n-lib/m17n-lib-1.8.0.ebuild
+++ b/dev-libs/m17n-lib/m17n-lib-1.8.0.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="8"
@@ -11,7 +11,7 @@ SRC_URI="mirror://nongnu/m17n/${P}.tar.gz"
LICENSE="LGPL-2.1"
SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ppc ppc64 ~riscv sparc x86"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ppc ppc64 ~riscv sparc x86"
IUSE="X anthy athena bidi fontconfig gd libotf libxml2 spell xft"
RDEPEND="~dev-db/m17n-db-${PV}
diff --git a/dev-libs/maloc/maloc-1.5-r1.ebuild b/dev-libs/maloc/maloc-1.5-r1.ebuild
index 62b158098d87..d18f95929c5e 100644
--- a/dev-libs/maloc/maloc-1.5-r1.ebuild
+++ b/dev-libs/maloc/maloc-1.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=7
@@ -17,7 +17,7 @@ KEYWORDS="amd64 ppc x86 ~amd64-linux ~x86-linux"
BDEPEND="
doc? (
- app-doc/doxygen
+ app-text/doxygen
media-gfx/graphviz
)
"
diff --git a/dev-libs/marisa/Manifest b/dev-libs/marisa/Manifest
index 7b524798645e..e6b7e3213805 100644
--- a/dev-libs/marisa/Manifest
+++ b/dev-libs/marisa/Manifest
@@ -1,2 +1 @@
-DIST marisa-0.2.5.tar.gz 167434 BLAKE2B 2b88e9f0060529c2180400290bb975a946666f58f77f7604cf3ea8ae0ad7e44e0d95e18c8911d9630561b9593eb2ec123b5c67d6d195dab480d86fe431ce2531 SHA512 62975a2dacd2a1072c990cd490f866cd5483c069c94a4706baf3ffc21ec43991583a8ef8721c3b841617b0654cbb894698c19759ff12b8887b6fd28939dfb547
DIST marisa-0.2.6.tar.gz 168332 BLAKE2B 3b8a89a9a0b344d9de96edb5bf17c50db07da373e75eba098f48c9064321d579ac104db622608119377084c79165bf558c804eaff591903b67330b13bc8acf55 SHA512 c094e4b22e1457efdd20f2b978ee421b53e36ed94e4fdbd8944136c0ba23da4f6ba9fe3a2c64729c1426aee4dbe8098bfa5eebb943ae7fdaa4eec760485c564d
diff --git a/dev-libs/marisa/files/marisa-0.2.5-cpu_features_check.patch b/dev-libs/marisa/files/marisa-0.2.5-cpu_features_check.patch
deleted file mode 100644
index dba677221a19..000000000000
--- a/dev-libs/marisa/files/marisa-0.2.5-cpu_features_check.patch
+++ /dev/null
@@ -1,157 +0,0 @@
-https://github.com/s-yata/marisa-trie/commit/d93f1b67f3aaa2d56bf20089c0ce9ef216da6cb7
-
---- /configure.ac
-+++ /configure.ac
-@@ -13,6 +13,56 @@
-
- AC_CONFIG_MACRO_DIR([m4])
-
-+# Macros for SSE availability check.
-+AC_DEFUN([MARISA_ENABLE_SSE2],
-+ [AC_EGREP_CPP([yes], [
-+#ifdef __SSE2__
-+yes
-+#endif
-+ ], [enable_sse2="yes"], [enable_sse2="no"])])
-+AC_DEFUN([MARISA_ENABLE_SSE3],
-+ [AC_EGREP_CPP([yes], [
-+#ifdef __SSE3__
-+yes
-+#endif
-+ ], [enable_sse3="yes"], [enable_sse3="no"])])
-+AC_DEFUN([MARISA_ENABLE_SSSE3],
-+ [AC_EGREP_CPP([yes], [
-+#ifdef __SSSE3__
-+yes
-+#endif
-+ ], [enable_ssse3="yes"], [enable_ssse3="no"])])
-+AC_DEFUN([MARISA_ENABLE_SSE4_1],
-+ [AC_EGREP_CPP([yes], [
-+#ifdef __SSE4_1__
-+yes
-+#endif
-+ ], [enable_sse4_1="yes"], [enable_sse4_1="no"])])
-+AC_DEFUN([MARISA_ENABLE_SSE4_2],
-+ [AC_EGREP_CPP([yes], [
-+#ifdef __SSE4_2__
-+yes
-+#endif
-+ ], [enable_sse4_2="yes"], [enable_sse4_2="no"])])
-+AC_DEFUN([MARISA_ENABLE_SSE4],
-+ [AC_EGREP_CPP([yes], [
-+#if defined(__POPCNT__) && defined(__SSE4_2__)
-+yes
-+#endif
-+ ], [enable_sse4="yes"], [enable_sse4="no"])])
-+AC_DEFUN([MARISA_ENABLE_SSE4A],
-+ [AC_EGREP_CPP([yes], [
-+#ifdef __SSE4A__
-+yes
-+#endif
-+ ], [enable_sse4a="yes"], [enable_sse4a="no"])])
-+AC_DEFUN([MARISA_ENABLE_POPCNT],
-+ [AC_EGREP_CPP([yes], [
-+#ifdef __POPCNT__
-+yes
-+#endif
-+ ], [enable_popcnt="yes"], [enable_popcnt="no"])])
-+
- # Checks for SSE availability.
- AC_MSG_CHECKING([whether to use SSE2])
- AC_ARG_ENABLE([sse2],
-@@ -20,9 +70,7 @@
- [use SSE2 [default=no]])],
- [],
- [enable_sse2="no"])
--AS_IF([test "x${enable_sse2}" != "xno"], [
-- enable_sse2="yes"
--])
-+AS_IF([test "x${enable_sse2}" != "xno"], [MARISA_ENABLE_SSE2])
- AC_MSG_RESULT([${enable_sse2}])
-
- AC_MSG_CHECKING([whether to use SSE3])
-@@ -31,9 +79,7 @@
- [use SSE3 [default=no]])],
- [],
- [enable_sse3="no"])
--AS_IF([test "x${enable_sse3}" != "xno"], [
-- enable_sse3="yes"
--])
-+AS_IF([test "x${enable_sse3}" != "xno"], [MARISA_ENABLE_SSE3])
- AC_MSG_RESULT([${enable_sse3}])
-
- AC_MSG_CHECKING([whether to use SSSE3])
-@@ -42,9 +88,7 @@
- [use SSSE3 [default=no]])],
- [],
- [enable_ssse3="no"])
--AS_IF([test "x${enable_ssse3}" != "xno"], [
-- enable_ssse3="yes"
--])
-+AS_IF([test "x${enable_ssse3}" != "xno"], [MARISA_ENABLE_SSSE3])
- AC_MSG_RESULT([${enable_ssse3}])
-
- AC_MSG_CHECKING([whether to use SSE4.1])
-@@ -53,9 +97,7 @@
- [use SSE4.1 [default=no]])],
- [],
- [enable_sse4_1="no"])
--AS_IF([test "x${enable_sse4_1}" != "xno"], [
-- enable_sse4_1="yes"
--])
-+AS_IF([test "x${enable_sse4_1}" != "xno"], [MARISA_ENABLE_SSE4_1])
- AC_MSG_RESULT([${enable_sse4_1}])
-
- AC_MSG_CHECKING([whether to use SSE4.2])
-@@ -64,9 +106,7 @@
- [use SSE4.2 [default=no]])],
- [],
- [enable_sse4_2="no"])
--AS_IF([test "x${enable_sse4_2}" != "xno"], [
-- enable_sse4_2="yes"
--])
-+AS_IF([test "x${enable_sse4_2}" != "xno"], [MARISA_ENABLE_SSE4_2])
- AC_MSG_RESULT([${enable_sse4_2}])
-
- AC_MSG_CHECKING([whether to use SSE4])
-@@ -75,9 +115,7 @@
- [use SSE4 [default=no]])],
- [],
- [enable_sse4="no"])
--AS_IF([test "x${enable_sse4}" != "xno"], [
-- enable_sse4="yes"
--])
-+AS_IF([test "x${enable_sse4}" != "xno"], [MARISA_ENABLE_SSE4])
- AC_MSG_RESULT([${enable_sse4}])
-
- AC_MSG_CHECKING([whether to use SSE4a])
-@@ -86,9 +124,7 @@
- [use SSE4a [default=no]])],
- [],
- [enable_sse4a="no"])
--AS_IF([test "x${enable_sse4a}" != "xno"], [
-- enable_sse4a="yes"
--])
-+AS_IF([test "x${enable_sse4a}" != "xno"], [MARISA_ENABLE_SSE4A])
- AC_MSG_RESULT([${enable_sse4a}])
-
- AC_MSG_CHECKING([whether to use popcnt])
-@@ -97,9 +133,7 @@
- [use POPCNT [default=no]])],
- [],
- [enable_popcnt="no"])
--AS_IF([test "x${enable_popcnt}" != "xno"], [
-- enable_popcnt="yes"
--])
-+AS_IF([test "x${enable_popcnt}" != "xno"], [MARISA_ENABLE_POPCNT])
- AC_MSG_RESULT([${enable_popcnt}])
-
- AS_IF([test "x${enable_popcnt}" != "xno"], [
-@@ -170,6 +204,7 @@
- AS_ECHO([" LDFLAGS: ${LDFLAGS}"])
- AS_ECHO([" PREFIX: ${prefix}"])
- AS_ECHO([])
-+AS_ECHO([" NATIVE: ${enable_native_code}"])
- AS_ECHO([" SSE2: ${enable_sse2}"])
- AS_ECHO([" SSE3: ${enable_sse3}"])
- AS_ECHO([" SSSE3: ${enable_ssse3}"])
diff --git a/dev-libs/marisa/files/marisa-0.2.6-loong_word_size.patch b/dev-libs/marisa/files/marisa-0.2.6-loong_word_size.patch
new file mode 100644
index 000000000000..2be85ba04ee4
--- /dev/null
+++ b/dev-libs/marisa/files/marisa-0.2.6-loong_word_size.patch
@@ -0,0 +1,12 @@
+--- a/include/marisa/base.h
++++ b/include/marisa/base.h
+@@ -31,7 +31,8 @@
+ #if defined(_WIN64) || defined(__amd64__) || defined(__x86_64__) || \
+ defined(__ia64__) || defined(__ppc64__) || defined(__powerpc64__) || \
+ defined(__sparc64__) || defined(__mips64__) || defined(__aarch64__) || \
+- defined(__s390x__) || (defined(__riscv) && (__riscv_xlen == 64))
++ defined(__s390x__) || (defined(__riscv) && (__riscv_xlen == 64)) || \
++ defined(__loongarch64)
+ #define MARISA_WORD_SIZE 64
+ #else // defined(_WIN64), etc.
+ #define MARISA_WORD_SIZE 32
diff --git a/dev-libs/marisa/files/marisa-0.2.6-sparc64_word_size.patch b/dev-libs/marisa/files/marisa-0.2.6-sparc64_word_size.patch
new file mode 100644
index 000000000000..ff789b1c9043
--- /dev/null
+++ b/dev-libs/marisa/files/marisa-0.2.6-sparc64_word_size.patch
@@ -0,0 +1,16 @@
+Originally reported in https://bugs.gentoo.org/show_bug.cgi?id=843422
+Upstream PR https://github.com/s-yata/marisa-trie/pull/46
+
+diff --git a/include/marisa/base.h b/include/marisa/base.h
+index bf4794e..95861b4 100644
+--- a/include/marisa/base.h
++++ b/include/marisa/base.h
+@@ -30,7 +30,7 @@ typedef uint64_t marisa_uint64;
+
+ #if defined(_WIN64) || defined(__amd64__) || defined(__x86_64__) || \
+ defined(__ia64__) || defined(__ppc64__) || defined(__powerpc64__) || \
+- defined(__sparc64__) || defined(__mips64__) || defined(__aarch64__) || \
++ (defined(__sparc__) && defined(__LP64__)) || defined(__mips64__) || defined(__aarch64__) || \
+ defined(__s390x__) || (defined(__riscv) && (__riscv_xlen == 64)) || \
+ defined(__loongarch64)
+ #define MARISA_WORD_SIZE 64
diff --git a/dev-libs/marisa/marisa-0.2.5.ebuild b/dev-libs/marisa/marisa-0.2.5.ebuild
deleted file mode 100644
index bac968c1f7a8..000000000000
--- a/dev-libs/marisa/marisa-0.2.5.ebuild
+++ /dev/null
@@ -1,109 +0,0 @@
-# Copyright 2014-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-PYTHON_COMPAT=(python{3_7,3_8,3_9})
-DISTUTILS_OPTIONAL="1"
-DISTUTILS_USE_SETUPTOOLS="no"
-
-inherit autotools distutils-r1
-
-if [[ "${PV}" == "9999" ]]; then
- inherit git-r3
-
- EGIT_REPO_URI="https://github.com/s-yata/marisa-trie"
-fi
-
-DESCRIPTION="Matching Algorithm with Recursively Implemented StorAge"
-HOMEPAGE="https://github.com/s-yata/marisa-trie https://code.google.com/archive/p/marisa-trie/"
-if [[ "${PV}" == "9999" ]]; then
- SRC_URI=""
-else
- SRC_URI="https://github.com/s-yata/marisa-trie/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-fi
-
-LICENSE="|| ( BSD-2 LGPL-2.1+ )"
-SLOT="0"
-KEYWORDS="amd64 arm64 ppc ppc64 sparc x86"
-IUSE="python static-libs"
-REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
-
-BDEPEND="python? (
- ${PYTHON_DEPS}
- dev-lang/swig
- )"
-DEPEND="python? ( ${PYTHON_DEPS} )"
-RDEPEND="${DEPEND}"
-
-if [[ "${PV}" != "9999" ]]; then
- S="${WORKDIR}/marisa-trie-${PV}"
-fi
-
-PATCHES=(
- "${FILESDIR}/${P}-cpu_features_check.patch"
-)
-
-src_prepare() {
- default
- eautoreconf
-
- sed -e "s:^\([[:space:]]*\)libraries=:\1include_dirs=[\"../../include\"],\n\1library_dirs=[\"../../lib/marisa/.libs\"],\n&:" -i bindings/python/setup.py || die
-
- if use python; then
- pushd bindings/python > /dev/null || die
- distutils-r1_src_prepare
- popd > /dev/null || die
- fi
-}
-
-src_configure() {
- local -x CPPFLAGS="${CPPFLAGS} ${CXXFLAGS}"
-
- local options=(
- # Preprocessor macros dependent on CPPFLAGS are checked.
- --enable-sse2
- --enable-sse3
- --enable-ssse3
- --enable-sse4.1
- --enable-sse4.2
- --enable-sse4
- --enable-sse4a
- --enable-popcnt
- $(use_enable static-libs static)
- )
-
- econf "${options[@]}"
-
- if use python; then
- pushd bindings/python > /dev/null || die
- distutils-r1_src_configure
- popd > /dev/null || die
- fi
-}
-
-src_compile() {
- default
-
- if use python; then
- emake -C bindings swig-python
- pushd bindings/python > /dev/null || die
- distutils-r1_src_compile
- popd > /dev/null || die
- fi
-}
-
-src_install() {
- default
- find "${D}" -name "*.la" -type f -delete || die
-
- (
- docinto html
- dodoc docs/*
- )
-
- if use python; then
- pushd bindings/python > /dev/null || die
- distutils-r1_src_install
- popd > /dev/null || die
- fi
-}
diff --git a/dev-libs/marisa/marisa-0.2.6.ebuild b/dev-libs/marisa/marisa-0.2.6.ebuild
index c958dfd64c35..6e587ffcb945 100644
--- a/dev-libs/marisa/marisa-0.2.6.ebuild
+++ b/dev-libs/marisa/marisa-0.2.6.ebuild
@@ -1,10 +1,10 @@
-# Copyright 2014-2021 Gentoo Authors
+# Copyright 2014-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI="7"
-PYTHON_COMPAT=( python3_{8,9} )
+EAPI="8"
+PYTHON_COMPAT=( python3_{9..11} )
DISTUTILS_OPTIONAL="1"
-DISTUTILS_USE_SETUPTOOLS="no"
+DISTUTILS_EXT=1
inherit autotools distutils-r1 toolchain-funcs
@@ -24,7 +24,7 @@ fi
LICENSE="|| ( BSD-2 LGPL-2.1+ )"
SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~hppa ~ppc ~ppc64 ~riscv ~sparc ~x86"
+KEYWORDS="amd64 arm64 ~hppa ~loong ppc ppc64 ~riscv sparc x86"
IUSE="python static-libs"
REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
@@ -40,7 +40,9 @@ if [[ "${PV}" != "9999" ]]; then
fi
PATCHES=(
- "${FILESDIR}"/${PN}-0.2.6-riscv_word_size.patch
+ "${FILESDIR}/${PN}-0.2.6-riscv_word_size.patch"
+ "${FILESDIR}/${PN}-0.2.6-loong_word_size.patch"
+ "${FILESDIR}/${PN}-0.2.6-sparc64_word_size.patch"
)
src_prepare() {
diff --git a/dev-libs/marisa/marisa-9999.ebuild b/dev-libs/marisa/marisa-9999.ebuild
index 929e4c4fe299..7731d92f28e3 100644
--- a/dev-libs/marisa/marisa-9999.ebuild
+++ b/dev-libs/marisa/marisa-9999.ebuild
@@ -1,10 +1,10 @@
-# Copyright 2014-2020 Gentoo Authors
+# Copyright 2014-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI="7"
-PYTHON_COMPAT=(python{3_7,3_8,3_9})
+EAPI="8"
+PYTHON_COMPAT=( python3_{9..11} )
DISTUTILS_OPTIONAL="1"
-DISTUTILS_USE_SETUPTOOLS="no"
+DISTUTILS_EXT=1
inherit autotools distutils-r1 toolchain-funcs
diff --git a/dev-libs/mathjax/Manifest b/dev-libs/mathjax/Manifest
index ce20ad49d1e2..8779b8b2d315 100644
--- a/dev-libs/mathjax/Manifest
+++ b/dev-libs/mathjax/Manifest
@@ -1,3 +1,4 @@
-DIST mathjax-2.7.0.tar.gz 24594403 BLAKE2B 7cadfe7565a7ebba3569fb298a097f07081926b843a06c3c32447757eb0a5d463d654f20c42821010c81c59819bb14fdc5e84a39e87106bb6808bd6c9ca52bb7 SHA512 2a7c2b4a4991485c18f78dda4115da05a31c1a2d952c403726e99d22fd26f166298199238ad482e53b63b5414be687f325b586f5ebe4e2d552447c929415b350
-DIST mathjax-2.7.4.tar.gz 25355532 BLAKE2B 0bed5224356757c64989de8b9355f5c2505f1fa951456c52caf1cc0a9b5a864633ce5299cc9b67b1e5c743e39bcb6aee787a76d6871fc998b614d62e12499f6f SHA512 cddc4c64c188620307f0ede3b0bc7ba071f78702ba6315426d8c83129543a6b81a3a9a115f88017e23b5094b7aefd934c39aeec9688419830e33f9fd0fb1de7e
DIST mathjax-2.7.7.tar.gz 25347766 BLAKE2B c1f11bc854c95888d7f04ee627094a2e297e7554b0380dab30c08e2c4405495df611b440da0efd1e6456150513e07fa4ef90808d2332f9fb83785c118228de18 SHA512 471bd22475827a13d79de7d335f3e51ace06dfc04f575e8829b4505f428949f1dbe58798635cb434ed02ae0cd3fd8d1d577196b4961365fbcb399cc075d3284f
+DIST mathjax-3.2.2.tar.gz 6191341 BLAKE2B 4884ad28ede1d3d6f6647e04c8a69185a53715db673d42935ea9ff3ea1756e0e478b1f19345a35902d2e5c01a312272a2fe96dd36871cd8c4f266bcf4fb56c72 SHA512 4dc80c9e24593c1fcf08f38bad5251025f1de364d5cf24dd2f4cee0d78917dd11187f6132b67a17ff190d0a1862b83eb6c6edf28f91e8e84e50cdf76537f6b20
+DIST mathjax-docs-2.7.7.tar.gz 233452 BLAKE2B 280db6c794471d369a17161ad859dc73ddf1494af35114b69356aae41ea52d771f92b0b85ba82df8ed542039af152938f5fda71d752da4410ab183fe6a24ab81 SHA512 25fa97294ae153298d45b449d995c0402c481c6425ea4ebb38dcc509df741aed02d5469a520c8b793b8135b4140a6d1ad6688a42e3cb26004cfd7fcb838c32e6
+DIST mathjax-docs-3.2.2.tar.gz 227724 BLAKE2B 1b2d25073e4f141f5c832f1139e6bcfbdb15c039b820f3662d6fb261faebedac8ea72fb324d76389c35cd28cd41556689501d8795d7a426d735d4eaf88eb61ee SHA512 94167e58deb4f899d5c49a6b1efec24f57fff7aa497a019e9f775e251927c698b7c5598b88087c2964b8cb7238b73152dea01e091b8afaeab8979b396270d429
diff --git a/dev-libs/mathjax/mathjax-2.7.0.ebuild b/dev-libs/mathjax/mathjax-2.7.0.ebuild
deleted file mode 100644
index b61ec426b028..000000000000
--- a/dev-libs/mathjax/mathjax-2.7.0.ebuild
+++ /dev/null
@@ -1,57 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit vcs-clean
-
-DESCRIPTION="JavaScript display engine for LaTeX, MathML and AsciiMath"
-HOMEPAGE="https://www.mathjax.org/"
-SRC_URI="https://github.com/mathjax/MathJax/archive/${PV}.tar.gz -> ${P}.tar.gz"
-S="${WORKDIR}"/MathJax-${PV}
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64 arm ~arm64 ~ppc ~ppc64 x86 ~amd64-linux ~x86-linux"
-IUSE="doc examples"
-
-RESTRICT="binchecks strip"
-
-make_webconf() {
- # web server config file - should we really do this?
- cat > $1 <<-EOF
- Alias /MathJax/ ${EPREFIX}${webinstalldir}/
- Alias /mathjax/ ${EPREFIX}${webinstalldir}/
-
- <Directory ${EPREFIX}${webinstalldir}>
- Options None
- AllowOverride None
- Order allow,deny
- Allow from all
- </Directory>
- EOF
-}
-
-src_prepare() {
- default
- egit_clean
-}
-
-src_install() {
- local DOCS=( README* )
- use doc && local HTML_DOCS=( docs/html/* )
- default
- if use examples; then
- insinto /usr/share/${PN}/examples
- doins -r test/*
- fi
- rm -r test docs LICENSE README* || die
-
- webinstalldir=/usr/share/${PN}
- insinto ${webinstalldir}
- doins -r *
-
- make_webconf MathJax.conf
- insinto /etc/httpd/conf.d
- doins MathJax.conf
-}
diff --git a/dev-libs/mathjax/mathjax-2.7.4.ebuild b/dev-libs/mathjax/mathjax-2.7.4.ebuild
deleted file mode 100644
index f27ee1117965..000000000000
--- a/dev-libs/mathjax/mathjax-2.7.4.ebuild
+++ /dev/null
@@ -1,57 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit vcs-clean
-
-DESCRIPTION="JavaScript display engine for LaTeX, MathML and AsciiMath"
-HOMEPAGE="https://www.mathjax.org/"
-SRC_URI="https://github.com/mathjax/MathJax/archive/${PV}.tar.gz -> ${P}.tar.gz"
-S="${WORKDIR}"/MathJax-${PV}
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64 arm ~arm64 hppa ppc ~ppc64 x86 ~amd64-linux ~x86-linux"
-IUSE="doc examples"
-
-RESTRICT="binchecks strip"
-
-make_webconf() {
- # web server config file - should we really do this?
- cat > $1 <<-EOF
- Alias /MathJax/ ${EPREFIX}${webinstalldir}/
- Alias /mathjax/ ${EPREFIX}${webinstalldir}/
-
- <Directory ${EPREFIX}${webinstalldir}>
- Options None
- AllowOverride None
- Order allow,deny
- Allow from all
- </Directory>
- EOF
-}
-
-src_prepare() {
- default
- egit_clean
-}
-
-src_install() {
- local DOCS=( README* )
- use doc && local HTML_DOCS=( docs/html/* )
- default
- if use examples; then
- insinto /usr/share/${PN}/examples
- doins -r test/*
- fi
- rm -r test docs LICENSE README* || die
-
- webinstalldir=/usr/share/${PN}
- insinto ${webinstalldir}
- doins -r *
-
- make_webconf MathJax.conf
- insinto /etc/httpd/conf.d
- doins MathJax.conf
-}
diff --git a/dev-libs/mathjax/mathjax-2.7.7-r1.ebuild b/dev-libs/mathjax/mathjax-2.7.7-r1.ebuild
new file mode 100644
index 000000000000..6fb61bb7e9a4
--- /dev/null
+++ b/dev-libs/mathjax/mathjax-2.7.7-r1.ebuild
@@ -0,0 +1,93 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_{10..11} pypy3 )
+inherit python-any-r1
+
+DOCS_COMMIT="9d711f40638202b02f2154d7f05ea35088ff9388"
+
+DESCRIPTION="JavaScript display engine for LaTeX, MathML and AsciiMath"
+HOMEPAGE="https://www.mathjax.org/"
+SRC_URI="
+ https://github.com/mathjax/MathJax/archive/${PV}.tar.gz -> ${P}.tar.gz
+ doc? ( https://github.com/mathjax/MathJax-docs/archive/${DOCS_COMMIT}.tar.gz -> ${PN}-docs-${PV}.tar.gz )
+"
+S="${WORKDIR}"/MathJax-${PV}
+DOCS_S="${WORKDIR}/MathJax-docs-${DOCS_COMMIT}"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~x64-macos"
+IUSE="doc examples"
+
+BDEPEND="
+ doc? (
+ $(python_gen_any_dep '
+ dev-python/sphinx[${PYTHON_USEDEP}]
+ dev-python/sphinx-rtd-theme[${PYTHON_USEDEP}]
+ ')
+ )
+"
+RDEPEND="!app-doc/mathjax-docs"
+
+RESTRICT="binchecks strip"
+
+make_webconf() {
+ # web server config file - should we really do this?
+ cat > $1 <<-EOF
+ Alias /MathJax/ ${EPREFIX}${webinstalldir}/
+ Alias /mathjax/ ${EPREFIX}${webinstalldir}/
+
+ <Directory ${EPREFIX}${webinstalldir}>
+ Options None
+ AllowOverride None
+ Order allow,deny
+ Allow from all
+ </Directory>
+ EOF
+}
+
+python_check_deps() {
+ python_has_version "dev-python/sphinx[${PYTHON_USEDEP}]" &&
+ python_has_version "dev-python/sphinx-rtd-theme[${PYTHON_USEDEP}]"
+}
+
+pkg_setup() {
+ if use doc; then
+ python-any-r1_pkg_setup
+ fi
+}
+
+src_prepare() {
+ default
+ if use doc; then
+ sed -e 's/add_stylesheet/add_css_file/' -i "${DOCS_S}"/conf.py || die
+ fi
+}
+
+src_compile() {
+ if use doc; then
+ build_sphinx "${DOCS_S}"
+ fi
+}
+
+src_install() {
+ local DOCS=( README.md )
+
+ default
+ if use examples; then
+ insinto /usr/share/${PN}/examples
+ doins -r test/*
+ fi
+ rm -r test docs LICENSE README.md || die
+
+ webinstalldir=/usr/share/${PN}
+ insinto ${webinstalldir}
+ doins -r *
+
+ make_webconf MathJax.conf
+ insinto /etc/httpd/conf.d
+ doins MathJax.conf
+}
diff --git a/dev-libs/mathjax/mathjax-2.7.7.ebuild b/dev-libs/mathjax/mathjax-2.7.7.ebuild
index 8c9b6075c3cb..0232c759f19b 100644
--- a/dev-libs/mathjax/mathjax-2.7.7.ebuild
+++ b/dev-libs/mathjax/mathjax-2.7.7.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
@@ -12,7 +12,7 @@ S="${WORKDIR}"/MathJax-${PV}
LICENSE="Apache-2.0"
SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~x64-macos"
IUSE="doc examples"
RDEPEND="doc? ( app-doc/mathjax-docs:${SLOT} )"
diff --git a/dev-libs/mathjax/mathjax-3.2.2-r1.ebuild b/dev-libs/mathjax/mathjax-3.2.2-r1.ebuild
new file mode 100644
index 000000000000..33154f783bc5
--- /dev/null
+++ b/dev-libs/mathjax/mathjax-3.2.2-r1.ebuild
@@ -0,0 +1,47 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit vcs-clean
+
+DESCRIPTION="JavaScript display engine for LaTeX, MathML and AsciiMath"
+HOMEPAGE="https://www.mathjax.org/"
+SRC_URI="https://github.com/mathjax/MathJax/archive/${PV}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/MathJax-${PV}"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~x64-macos"
+IUSE="doc"
+
+RDEPEND="doc? ( ~app-doc/mathjax-docs-${PV} )"
+
+src_prepare() {
+ default
+ egit_clean
+}
+
+src_install() {
+ local DOCS=( CONTRIBUTING.md README.md )
+ default
+
+ if use doc; then
+ # We need best_version to determine the right revision for
+ # app-doc/mathjax-docs.
+ local docsPF=$(best_version app-doc/mathjax-docs)
+
+ # Strip the (known) category from the best_version output.
+ docsPF=${docsPF#app-doc/}
+
+ dosym "../${docsPF}/html" "/usr/share/doc/${PF}/html"
+ fi
+
+ insinto "/usr/share/${PN}"
+
+ # Start the install beneath the "es5" directory for compatibility with
+ # Arch, Solus, and Void Linux, but leave a fake "es5" symlink for
+ # packages (like doxygen) that expect it.
+ doins -r es5/*
+ dosym -r "/usr/share/${PN}" "/usr/share/${PN}/es5"
+}
diff --git a/dev-libs/mathjax/mathjax-3.2.2-r2.ebuild b/dev-libs/mathjax/mathjax-3.2.2-r2.ebuild
new file mode 100644
index 000000000000..91d608be4711
--- /dev/null
+++ b/dev-libs/mathjax/mathjax-3.2.2-r2.ebuild
@@ -0,0 +1,66 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..12} pypy3 )
+inherit python-any-r1
+
+# MathJax-docs doesn't have releases, so this is the commit that was
+# current when mathjax-${PV} was released.
+DOCS_COMMIT="c4a733d6d0ced4242a4df1c46137d4be6b3aaaee"
+
+DESCRIPTION="JavaScript display engine for LaTeX, MathML and AsciiMath"
+HOMEPAGE="https://www.mathjax.org/"
+SRC_URI="
+ https://github.com/mathjax/MathJax/archive/${PV}.tar.gz -> ${P}.tar.gz
+ doc? ( https://github.com/mathjax/MathJax-docs/archive/${DOCS_COMMIT}.tar.gz -> ${PN}-docs-${PV}.tar.gz )
+"
+S="${WORKDIR}/MathJax-${PV}"
+DOCS_S="${WORKDIR}/MathJax-docs-${DOCS_COMMIT}"
+
+LICENSE="Apache-2.0"
+# Some applications need to know which mathjax version they built against.
+SLOT="0/${PV}"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~x64-macos"
+IUSE="doc"
+
+BDEPEND="
+ doc? (
+ $(python_gen_any_dep '
+ dev-python/sphinx[${PYTHON_USEDEP}]
+ dev-python/sphinx-rtd-theme[${PYTHON_USEDEP}]
+ ')
+ )
+"
+RDEPEND="!app-doc/mathjax-docs"
+
+python_check_deps() {
+ python_has_version "dev-python/sphinx[${PYTHON_USEDEP}]" &&
+ python_has_version "dev-python/sphinx-rtd-theme[${PYTHON_USEDEP}]"
+}
+
+pkg_setup() {
+ if use doc; then
+ python-any-r1_pkg_setup
+ fi
+}
+
+src_compile() {
+ if use doc; then
+ build_sphinx "${DOCS_S}"
+ fi
+}
+
+src_install() {
+ local DOCS=( CONTRIBUTING.md README.md )
+ default
+
+ insinto "/usr/share/${PN}"
+
+ # Start the install beneath the "es5" directory for compatibility with
+ # Arch, Solus, and Void Linux, but leave a fake "es5" symlink for
+ # packages (like doxygen) that expect it.
+ doins -r es5/*
+ dosym -r "/usr/share/${PN}" "/usr/share/${PN}/es5"
+}
diff --git a/dev-libs/mathjax/metadata.xml b/dev-libs/mathjax/metadata.xml
index e279f40f7309..de8e9f370f4b 100644
--- a/dev-libs/mathjax/metadata.xml
+++ b/dev-libs/mathjax/metadata.xml
@@ -1,10 +1,15 @@
<?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 type="person" proxied="yes">
+ <email>eschwartz93@gmail.com</email>
+ <name>Eli Schwartz</name>
</maintainer>
+ <maintainer type="project" proxied="proxy">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+ </maintainer>
+ <stabilize-allarches/>
<longdescription lang="en">
MathJax is an open-source JavaScript display engine for LaTeX and
MathML that works in all modern browsers. It was designed with the
@@ -16,8 +21,9 @@
confident that users will be able to view it naturally and
easily. One simply includes MathJax and some mathematics in a web
page, and MathJax does the rest.
-</longdescription>
+ </longdescription>
<upstream>
<remote-id type="github">mathjax/MathJax</remote-id>
</upstream>
+ <stabilize-allarches/>
</pkgmetadata>
diff --git a/dev-libs/mdns/Manifest b/dev-libs/mdns/Manifest
new file mode 100644
index 000000000000..cf3d20f2812e
--- /dev/null
+++ b/dev-libs/mdns/Manifest
@@ -0,0 +1 @@
+DIST mdns-1.4.3.tar.gz 24908 BLAKE2B afa44a409633c5cc43e9a15878f21039fe4a401f498f297fabb16aeea131c30d4832c3ee29768dd51a90c9cdc4f55dabc04fdbd7ca94cf35e0e020d2fd589bf1 SHA512 0bbfeefdd3f324a8e5aa85227bfa45c2b5cd88c12a9f77df2a1c48cb2661ba8b283dd53541e39d20ed2705646dc8d8724a0287c58f9efa91d2b1b796a0ca9a7a
diff --git a/dev-libs/mdns/mdns-1.4.3.ebuild b/dev-libs/mdns/mdns-1.4.3.ebuild
new file mode 100644
index 000000000000..7cb11b1f862a
--- /dev/null
+++ b/dev-libs/mdns/mdns-1.4.3.ebuild
@@ -0,0 +1,21 @@
+# Copyright 2022-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+DESCRIPTION="Public domain mDNS/DNS-SD library in C"
+HOMEPAGE="https://github.com/mjansson/mdns/"
+
+if [[ ${PV} == *9999* ]] ; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/mjansson/mdns.git"
+else
+ SRC_URI="https://github.com/mjansson/mdns/archive/${PV}.tar.gz
+ -> ${P}.tar.gz"
+ KEYWORDS="amd64 ~loong ~x86"
+fi
+
+LICENSE="Unlicense"
+SLOT="0"
diff --git a/dev-libs/mdns/metadata.xml b/dev-libs/mdns/metadata.xml
new file mode 100644
index 000000000000..2089c087dcf4
--- /dev/null
+++ b/dev-libs/mdns/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">mjansson/mdns</remote-id>
+ <bugs-to>https://github.com/mjansson/mdns/issues</bugs-to>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/metee/Manifest b/dev-libs/metee/Manifest
index 14cee22325ba..efd450ae6bb3 100644
--- a/dev-libs/metee/Manifest
+++ b/dev-libs/metee/Manifest
@@ -1 +1 @@
-DIST metee-3.1.0.tar.gz 70185 BLAKE2B 7f0c595b52b608e1136c77df13244681b73f099e384fae6f5ccd350ccf679f539c8b0bc8ac062f386fa41cec9c9edf3064a6c6a981af4ccdc978629a9ebc0d90 SHA512 a967df238f2a51ecbee6fe3fe8a0d63aa321c35a520f0297688a6dab1d760358bca53a6d3cf3446f1fc9cf7f0a6c13746f5d3aa1e2064e753b1bbdb2bd356e60
+DIST metee-3.2.4.tar.gz 77148 BLAKE2B 9539178deb97465bfcb1c226fadd50a81d5923a5b4b433c60fd35e7f4dd5c6042d281d4bf44c68598bd62f963a893e5b1278fd464055fa7cf7f52d97f3891c6d SHA512 ed611fedbde9719c385b015504798af89ec2f59213573cfdb4b6af01febd0956f2fd7ce3c136481dee5b5e195fbb9c2fc71a2362c87b8b94f31a7d35bc732b96
diff --git a/dev-libs/metee/files/metee-3.1.0-make-docs-optional.patch b/dev-libs/metee/files/metee-3.1.0-make-docs-optional.patch
deleted file mode 100644
index 9e4eda27e2d8..000000000000
--- a/dev-libs/metee/files/metee-3.1.0-make-docs-optional.patch
+++ /dev/null
@@ -1,81 +0,0 @@
-From 95c36b4f09eb3697877610a8a995befe32536b78 Mon Sep 17 00:00:00 2001
-From: Conrad Kostecki <conikost@gentoo.org>
-Date: Sun, 22 Aug 2021 14:16:56 +0200
-Subject: [PATCH] CMakeLists.txt: make docs optional
-
-Signed-off-by: Conrad Kostecki <conikost@gentoo.org>
----
- CMakeLists.txt | 51 ++++++++++++++++++++++++++------------------------
- 1 file changed, 27 insertions(+), 24 deletions(-)
-
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 5b2696d..cd56dc3 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -3,6 +3,7 @@
- cmake_minimum_required(VERSION 3.5)
- project(metee)
-
-+option(BUILD_DOCS "Build docs" YES)
- option(BUILD_TEST "Build self-test" NO)
- option(BUILD_SAMPLES "Build samples" NO)
- option(BUILD_MSVC_RUNTIME_STATIC "Build with static runtime libraries on MSVC"
-@@ -43,32 +44,34 @@ install(
- )
-
- # Documentation
--find_package(Doxygen)
--if(DOXYGEN_FOUND)
-- set(DOXYGEN_INPUT_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR})
-- set(DOXYGEN_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR})
-- configure_file(
-- ${CMAKE_CURRENT_SOURCE_DIR}/include/Doxyfile.in
-- ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile @ONLY
-- )
--
-- add_custom_target(
-- doc ALL
-- ${DOXYGEN_EXECUTABLE} ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile
-- WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
-- COMMENT "Generating documentation with Doxygen"
-- VERBATIM
-- )
--
-- if(UNIX)
-- install(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/man/man3
-- DESTINATION ${CMAKE_INSTALL_MANDIR}
-+if(BUILD_DOCS)
-+ find_package(Doxygen)
-+ if(DOXYGEN_FOUND)
-+ set(DOXYGEN_INPUT_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR})
-+ set(DOXYGEN_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR})
-+ configure_file(
-+ ${CMAKE_CURRENT_SOURCE_DIR}/include/Doxyfile.in
-+ ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile @ONLY
- )
-- install(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/html
-- DESTINATION ${CMAKE_INSTALL_DOCDIR}
-+
-+ add_custom_target(
-+ doc ALL
-+ ${DOXYGEN_EXECUTABLE} ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile
-+ WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
-+ COMMENT "Generating documentation with Doxygen"
-+ VERBATIM
- )
-- else()
-- install(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/html DESTINATION doc)
-+
-+ if(UNIX)
-+ install(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/man/man3
-+ DESTINATION ${CMAKE_INSTALL_MANDIR}
-+ )
-+ install(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/html
-+ DESTINATION ${CMAKE_INSTALL_DOCDIR}
-+ )
-+ else()
-+ install(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/html DESTINATION doc)
-+ endif()
- endif()
- endif()
-
diff --git a/dev-libs/metee/metee-3.1.0.ebuild b/dev-libs/metee/metee-3.1.0.ebuild
deleted file mode 100644
index 25509cef0437..000000000000
--- a/dev-libs/metee/metee-3.1.0.ebuild
+++ /dev/null
@@ -1,31 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit cmake
-
-DESCRIPTION="Cross-platform access library for Intel CSME HECI interface"
-HOMEPAGE="https://github.com/intel/compute-runtime"
-SRC_URI="https://github.com/intel/${PN}/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64"
-IUSE="doc"
-
-BDEPEND="doc? ( app-doc/doxygen )"
-
-PATCHES=( "${FILESDIR}/${PN}-3.1.0-make-docs-optional.patch" )
-
-src_configure() {
- local mycmakeargs=(
- -DBUILD_DOCS="$(usex doc)"
- -DBUILD_SAMPLES="NO"
- -DBUILD_SHARED_LIBS="YES"
- -DBUILD_TEST="NO"
- -DCONSOLE_OUTPUT="NO"
- )
-
- cmake_src_configure
-}
diff --git a/dev-libs/metee/metee-3.2.4.ebuild b/dev-libs/metee/metee-3.2.4.ebuild
new file mode 100644
index 000000000000..99ec0b02543e
--- /dev/null
+++ b/dev-libs/metee/metee-3.2.4.ebuild
@@ -0,0 +1,37 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+DESCRIPTION="Cross-platform access library for Intel CSME HECI interface"
+HOMEPAGE="https://github.com/intel/metee"
+SRC_URI="https://github.com/intel/${PN}/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0/${PV}"
+KEYWORDS="amd64"
+IUSE="doc"
+
+BDEPEND="doc? ( app-text/doxygen )"
+
+src_prepare() {
+ default
+ cmake_src_prepare
+
+ # Respect users CFLAGS
+ sed -e 's/-D_FORTIFY_SOURCE=2 -O2//' -e 's/-Werror//' -i linux.cmake || die
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DBUILD_DOCS="$(usex doc)"
+ -DBUILD_SAMPLES="NO"
+ -DBUILD_SHARED_LIBS="YES"
+ -DBUILD_TEST="NO"
+ -DCONSOLE_OUTPUT="NO"
+ )
+
+ cmake_src_configure
+}
diff --git a/dev-libs/mimalloc/Manifest b/dev-libs/mimalloc/Manifest
index 5cb0dce7a530..1570e67ef6a4 100644
--- a/dev-libs/mimalloc/Manifest
+++ b/dev-libs/mimalloc/Manifest
@@ -1,2 +1 @@
-DIST mimalloc-1.7.3.tar.gz 908042 BLAKE2B 6a96fc33148261e3f69a55196725bb2cf2e45f08a668b3d74fd6e06f808c1ce40fbb4783c5df50abe58dbae8b9c1dd264e6fcc6cce0a259b2cbec397d4667736 SHA512 e5a17b98d77a27d2a544869c2e0302a7e3bf77b5b494b2ee8ddc7af18bf9da152fea41702a8a17eb7e128238259fba6f96fa5bac549f5927453dc9a0bc06d013
-DIST mimalloc-2.0.3.tar.gz 917461 BLAKE2B 4b803881ab75afa358cb2dd251268c0934472074bf1983c3851a9d4f8c8ec0ea3907b52c40b0efe1cc09916cf4c5aa93f786a606e0b999536118b91bb5800310 SHA512 275a5249d09a57c9a039714fc6eef24ae778496954972419f3ac8e33f3d12e9837ba0691a3c08a4ab807c26b868aad3a5b2c28ee10ecaa60fe21ffe1d416f08f
+DIST mimalloc-2.1.2.tar.gz 1163868 BLAKE2B bba29671fdca81b682edeefe16a1239640ea28fee4e44c97d0422ae81e0b3e7141c733459ccafc6672780157af67ff7d2a10cf4157180e003b458332a79d8481 SHA512 927b046e67783b325a6e41e3a9a6d3d78306fa1c82255defd1f3a7a60a27fd809a601f65b1b27fa38f2064e124f29856d7c0e5ccc33c54c2e4b6ebb9816d74b1
diff --git a/dev-libs/mimalloc/metadata.xml b/dev-libs/mimalloc/metadata.xml
index 356c7a2700cd..62ab55808822 100644
--- a/dev-libs/mimalloc/metadata.xml
+++ b/dev-libs/mimalloc/metadata.xml
@@ -2,9 +2,16 @@
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
+ <email>matthew@gentoo.org</email>
+ <name>Matthew Smith</name>
+ </maintainer>
+ <maintainer type="person">
<email>sam@gentoo.org</email>
<name>Sam James</name>
</maintainer>
+ <use>
+ <flag name="hardened">Enable exploit mitigations</flag>
+ </use>
<upstream>
<remote-id type="github">microsoft/mimalloc</remote-id>
</upstream>
diff --git a/dev-libs/mimalloc/mimalloc-1.7.3.ebuild b/dev-libs/mimalloc/mimalloc-1.7.3.ebuild
deleted file mode 100644
index b3ea5f3bc374..000000000000
--- a/dev-libs/mimalloc/mimalloc-1.7.3.ebuild
+++ /dev/null
@@ -1,28 +0,0 @@
-# Copyright 2021-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit cmake
-
-DESCRIPTION="mimalloc is a compact general purpose allocator with excellent performance"
-HOMEPAGE="https://github.com/microsoft/mimalloc"
-SRC_URI="https://github.com/microsoft/mimalloc/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0/1"
-KEYWORDS="~amd64"
-IUSE="test"
-RESTRICT="!test? ( test )"
-
-src_configure() {
- local mycmakeargs=(
- # TODO: build hardened variant?
- #-DMI_SECURE=$(usex hardened)
-
- -DMI_INSTALL_TOPLEVEL=ON
- -DMI_BUILD_TESTS=$(usex test)
- )
-
- cmake_src_configure
-}
diff --git a/dev-libs/mimalloc/mimalloc-2.0.3-r1.ebuild b/dev-libs/mimalloc/mimalloc-2.0.3-r1.ebuild
deleted file mode 100644
index 0f720eedd8eb..000000000000
--- a/dev-libs/mimalloc/mimalloc-2.0.3-r1.ebuild
+++ /dev/null
@@ -1,36 +0,0 @@
-# Copyright 2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit cmake
-
-DESCRIPTION="mimalloc is a compact general purpose allocator with excellent performance"
-HOMEPAGE="https://github.com/microsoft/mimalloc"
-SRC_URI="https://github.com/microsoft/mimalloc/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0/2"
-KEYWORDS="~amd64"
-IUSE="test"
-RESTRICT="!test? ( test )"
-
-src_configure() {
- local mycmakeargs=(
- # TODO: build hardened variant?
- #-DMI_SECURE=$(usex hardened)
-
- -DMI_INSTALL_TOPLEVEL=ON
- -DMI_BUILD_TESTS=$(usex test)
- )
-
- cmake_src_configure
-}
-
-src_install() {
- cmake_src_install
-
- rm "${ED}/usr/$(get_libdir)/mimalloc.o" || die
-
- find "${ED}" -name '*.a' -delete || die
-}
diff --git a/dev-libs/mimalloc/mimalloc-2.1.2.ebuild b/dev-libs/mimalloc/mimalloc-2.1.2.ebuild
new file mode 100644
index 000000000000..82790836bf71
--- /dev/null
+++ b/dev-libs/mimalloc/mimalloc-2.1.2.ebuild
@@ -0,0 +1,35 @@
+# Copyright 2022-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake-multilib flag-o-matic
+
+DESCRIPTION="A compact general purpose allocator with excellent performance"
+HOMEPAGE="https://github.com/microsoft/mimalloc"
+SRC_URI="https://github.com/microsoft/mimalloc/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0/2"
+KEYWORDS="amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~sparc ~x86"
+IUSE="hardened test valgrind"
+RESTRICT="!test? ( test )"
+
+DEPEND="valgrind? ( dev-debug/valgrind )"
+
+src_configure() {
+ # Bug #923177
+ append-atomic-flags
+
+ local mycmakeargs=(
+ -DMI_SECURE=$(usex hardened)
+ -DMI_INSTALL_TOPLEVEL=ON
+ -DMI_BUILD_TESTS=$(usex test)
+
+ -DMI_BUILD_OBJECT=OFF
+ -DMI_BUILD_STATIC=OFF
+ -DMI_TRACK_VALGRIND=$(usex valgrind)
+ )
+
+ cmake-multilib_src_configure
+}
diff --git a/dev-libs/mimetic/files/mimetic-0.9.8-uint-musl.patch b/dev-libs/mimetic/files/mimetic-0.9.8-uint-musl.patch
new file mode 100644
index 000000000000..45e90c0450e2
--- /dev/null
+++ b/dev-libs/mimetic/files/mimetic-0.9.8-uint-musl.patch
@@ -0,0 +1,36 @@
+From 6afcd2f85332bdb25e38718cb9db6e3040797a8f Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Petr=20Van=C4=9Bk?= <arkamar@atlas.cz>
+Date: Sat, 12 Mar 2022 21:20:50 +0100
+Subject: [PATCH] Use unsigned int where uint is not defined
+
+Upstream-PR: https://github.com/tat/mimetic/pull/27
+
+diff --git a/mimetic/codec/other_codecs.h b/mimetic/codec/other_codecs.h
+index c4ccf3f..3e68dd9 100644
+--- a/mimetic/codec/other_codecs.h
++++ b/mimetic/codec/other_codecs.h
+@@ -109,7 +109,7 @@ struct MaxLineLen: public unbuffered_codec, public chainable_codec<MaxLineLen>
+ : m_max(0), m_written(0)
+ {
+ }
+- MaxLineLen(uint m)
++ MaxLineLen(unsigned int m)
+ : m_max(m), m_written(0)
+ {
+ }
+diff --git a/mimetic/contenttype.cxx b/mimetic/contenttype.cxx
+index 81c36c0..0cb75e7 100644
+--- a/mimetic/contenttype.cxx
++++ b/mimetic/contenttype.cxx
+@@ -34,7 +34,7 @@ ContentType::Boundary::Boundary()
+ stringstream ss;
+ srand(time(0));
+ short tbSize = sizeof(tb)-1;
+- for(uint i=0; i < 48; ++i)
++ for(unsigned int i=0; i < 48; ++i)
+ {
+ unsigned int r = rand();
+ ss << tb[r % tbSize];
+--
+2.34.1
+
diff --git a/dev-libs/mimetic/metadata.xml b/dev-libs/mimetic/metadata.xml
index 76cd805dd72e..4918c8c54396 100644
--- a/dev-libs/mimetic/metadata.xml
+++ b/dev-libs/mimetic/metadata.xml
@@ -1,12 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person" proxied="yes">
- <email>jkt@kde.org</email>
- </maintainer>
- <maintainer type="person">
- <email>kensington@gentoo.org</email>
- </maintainer>
+ <!-- maintainer-needed -->
<upstream>
<remote-id type="github">tat/mimetic</remote-id>
</upstream>
diff --git a/dev-libs/mimetic/mimetic-0.9.8.ebuild b/dev-libs/mimetic/mimetic-0.9.8.ebuild
index da9c0be7544b..0b546da4add4 100644
--- a/dev-libs/mimetic/mimetic-0.9.8.ebuild
+++ b/dev-libs/mimetic/mimetic-0.9.8.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
@@ -6,19 +6,20 @@ EAPI=7
inherit autotools
DESCRIPTION="C++ MIME library designed to be easy to use and integrate, fast and efficient"
-HOMEPAGE="http://www.codesink.org/mimetic_mime_library.html"
-SRC_URI="http://www.codesink.org/download/${P}.tar.gz"
+HOMEPAGE="https://www.codesink.org/mimetic_mime_library.html"
+SRC_URI="https://www.codesink.org/download/${P}.tar.gz"
LICENSE="MIT"
SLOT="0"
-KEYWORDS="amd64 ~ppc64 x86"
+KEYWORDS="amd64 ~loong ~ppc64 x86"
IUSE="doc examples"
-BDEPEND="doc? ( app-doc/doxygen )"
+BDEPEND="doc? ( app-text/doxygen )"
PATCHES=(
"${FILESDIR}/signed-char.patch"
"${FILESDIR}/${P}-build-mmap.patch"
+ "${FILESDIR}/${P}-uint-musl.patch"
)
src_prepare() {
diff --git a/dev-libs/miniaudio/Manifest b/dev-libs/miniaudio/Manifest
new file mode 100644
index 000000000000..4c800af084e5
--- /dev/null
+++ b/dev-libs/miniaudio/Manifest
@@ -0,0 +1,2 @@
+DIST miniaudio-0.11.11.tar.gz 1419564 BLAKE2B 63f23637b2a53e5438695b71d60b76ca16fdb63e08fbf17df7701e4c20aaffa7f635368e6bc21e2564da52b3f51127e76145ed8b7492b6f3f8f0b493dd459f05 SHA512 396608d8326777adfffb50216322198b9f86d73c6a83c5886dc9eaef93b82a4e8f44f446192990b7b9fabac53fad073546214692a000415307e70812a50fb0c2
+DIST miniaudio-0.11.15.tar.gz 1465008 BLAKE2B 3c2ddcb765f44b0367462dd5ca466ade3a91e69f2132790fc2a9753ef11bfd2238f221d063d3e76cc0ac18567acb11af537887bac9aaa33adbca65f3882d8587 SHA512 1866c14396e9ceefe7e1aa6650a505fb1d4f087a77f71eec933c871dce34fda172da7b31621d88ee1e83410d1089f2d7dd0990a70ce8aab101f796b048fd8dcb
diff --git a/dev-libs/miniaudio/metadata.xml b/dev-libs/miniaudio/metadata.xml
new file mode 100644
index 000000000000..d1cb40fe7921
--- /dev/null
+++ b/dev-libs/miniaudio/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>misanthropos@gmx.net</email>
+ <name>Richard Fröhning</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>games@gentoo.org</email>
+ <name>Gentoo Games Project</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">mackron/miniaudio</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/miniaudio/miniaudio-0.11.11.ebuild b/dev-libs/miniaudio/miniaudio-0.11.11.ebuild
new file mode 100644
index 000000000000..d777fa47f385
--- /dev/null
+++ b/dev-libs/miniaudio/miniaudio-0.11.11.ebuild
@@ -0,0 +1,19 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+COMMIT="a0dc1037f99a643ff5fad7272cd3d6461f2d63fa"
+DESCRIPTION="Single file library for audio playback and capture"
+HOMEPAGE="https://miniaud.io"
+SRC_URI="https://github.com/mackron/miniaudio/archive/${COMMIT}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/${PN}-${COMMIT}"
+
+LICENSE="|| ( public-domain MIT-0 )"
+SLOT="0"
+KEYWORDS="~amd64"
+
+src_install() {
+ insinto /usr/include/${PN}/
+ doins -r *
+}
diff --git a/dev-libs/miniaudio/miniaudio-0.11.15.ebuild b/dev-libs/miniaudio/miniaudio-0.11.15.ebuild
new file mode 100644
index 000000000000..ca2ad5c1f1b9
--- /dev/null
+++ b/dev-libs/miniaudio/miniaudio-0.11.15.ebuild
@@ -0,0 +1,17 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DESCRIPTION="Single file library for audio playback and capture"
+HOMEPAGE="https://miniaud.io"
+SRC_URI="https://github.com/mackron/miniaudio/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="|| ( public-domain MIT-0 )"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+
+src_install() {
+ insinto /usr/include/${PN}/
+ doins -r *
+}
diff --git a/dev-libs/miniz/Manifest b/dev-libs/miniz/Manifest
index c7204638ad30..636a018f5d56 100644
--- a/dev-libs/miniz/Manifest
+++ b/dev-libs/miniz/Manifest
@@ -1 +1,3 @@
-DIST miniz-2.1.0.tar.gz 104502 BLAKE2B 9a7b3818b454809cdfec523d98f13bef3a52e27b6d3857d289438978d12997e38c71aa97fffe060a6b765f8fbbdd8fe8cebced4a45d9f1f040dd3e39cf2a8055 SHA512 e0aba16afdf230d1e54d0a9cedd336b0b158b02744839f0547e14ee47a97fc1a6668f3a181bd46e969b01b158af18dc8ed3c0a4210b3b620242338a2788806b3
+DIST miniz-2.2.0.tar.gz 113592 BLAKE2B 110a71712396fb22075818f681d2e691b8b361e6c8eb786485f9fd3a1e00fcfc95bae4d470b8b1644a1e9674e69617abdba70e337f318969096db222f7a4c3d2 SHA512 0bb2b0ac627715b90ff9fd69ca8958a0bea387bd7ddf5c200daba953b98ef788092e3009842f4f123234e85570159250c8897a30c1c1f2d4dea9bca9837f6111
+DIST miniz-3.0.1.tar.gz 115742 BLAKE2B 4727e55bf2ad4cf716677e6135912df61b9081f2a3a2d6a13efc77ff64a1ec8e736c089330106a81f613dac3840bc09f3aea93f6b432d832f14a6b12ba534d70 SHA512 c1cf028ceb6c12abc83ffb636753d9470155e055d2e834ab23c1c1bc9ee2ef7c7fec689cb92e3496336f850e1d1675489b0450b84e4c7e68d7066142d8df76b6
+DIST miniz-3.0.2.tar.gz 115766 BLAKE2B 57260dc5d2f382f85fb7648d4e9fb9fcca63689cdd75f27b3cf84266b112e04031cc6b5f298e3155d4b8fd635704c713572c8ed76b5a8a2f0adb737c63051f1d SHA512 426054403121f84a2ac365f7545b35fb217b41061aebaffce483568d3d374d453ab87987c599a85f1f745e0ec7144a3181ed9b100f354e2823f165ba286b0611
diff --git a/dev-libs/miniz/files/Config.cmake.in b/dev-libs/miniz/files/Config.cmake.in
deleted file mode 100644
index 0865ae961005..000000000000
--- a/dev-libs/miniz/files/Config.cmake.in
+++ /dev/null
@@ -1 +0,0 @@
-include("${CMAKE_CURRENT_LIST_DIR}/@PROJECT_NAME@Targets.cmake")
diff --git a/dev-libs/miniz/files/miniz-2.1.0-export-cmake-build-targets.patch b/dev-libs/miniz/files/miniz-2.1.0-export-cmake-build-targets.patch
deleted file mode 100644
index c1fb1a52215d..000000000000
--- a/dev-libs/miniz/files/miniz-2.1.0-export-cmake-build-targets.patch
+++ /dev/null
@@ -1,177 +0,0 @@
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -1,5 +1,15 @@
--PROJECT(miniz C)
--cmake_minimum_required(VERSION 2.8)
-+cmake_minimum_required(VERSION 3.12)
-+
-+project(miniz)
-+
-+include(GNUInstallDirs)
-+
-+set(MINIZ_API_VERSION 2)
-+set(MINIZ_MINOR_VERSION 1)
-+set(MINIZ_PATCH_VERSION 0)
-+set(MINIZ_VERSION
-+ ${MINIZ_API_VERSION}.${MINIZ_MINOR_VERSION}.${MINIZ_PATCH_VERSION})
-+
- if(CMAKE_BUILD_TYPE STREQUAL "")
- # CMake defaults to leaving CMAKE_BUILD_TYPE empty. This screws up
- # differentiation between debug and release builds.
-@@ -8,45 +18,120 @@
- CMAKE_C_FLAGS used) Debug Release RelWithDebInfo MinSizeRel." FORCE)
- endif ()
-
--set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_SOURCE_DIR}/bin)
-+option(BUILD_EXAMPLES "Build examples" ON)
-+option(BUILD_SHARED_LIBS "Build shared library instead of static" ON)
-+
-+set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/bin)
-
-+include(GenerateExportHeader)
-+
-+set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS ON)
- set(miniz_SOURCE miniz.c miniz_zip.c miniz_tinfl.c miniz_tdef.c)
-+add_library(${PROJECT_NAME} ${miniz_SOURCE})
-+generate_export_header(${PROJECT_NAME})
-+
-+if(NOT BUILD_SHARED_LIBS)
-+string(TOUPPER ${PROJECT_NAME} PROJECT_UPPER)
-+set_target_properties(${PROJECT_NAME}
-+ PROPERTIES INTERFACE_COMPILE_DEFINITIONS ${PROJECT_UPPER}_STATIC_DEFINE)
-+endif()
-+
-+set_property(TARGET ${PROJECT_NAME} PROPERTY VERSION ${MINIZ_VERSION})
-+set_property(TARGET ${PROJECT_NAME} PROPERTY SOVERSION ${MINIZ_API_VERSION})
-+
-+file(GLOB INSTALL_HEADERS ${CMAKE_CURRENT_SOURCE_DIR}/*.h)
-+
-+target_compile_definitions(${PROJECT_NAME}
-+ PRIVATE $<$<C_COMPILER_ID:GNU>:_GNU_SOURCE>)
-
--add_library(miniz ${miniz_SOURCE})
--target_include_directories(miniz PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}")
-+# pkg-config file
-+configure_file(miniz.pc.in ${CMAKE_BINARY_DIR}/miniz.pc @ONLY)
-
--set(EXAMPLE1_SRC_LIST "${CMAKE_CURRENT_SOURCE_DIR}/examples/example1.c")
--set(EXAMPLE2_SRC_LIST "${CMAKE_CURRENT_SOURCE_DIR}/examples/example2.c")
--set(EXAMPLE3_SRC_LIST "${CMAKE_CURRENT_SOURCE_DIR}/examples/example3.c")
--set(EXAMPLE4_SRC_LIST "${CMAKE_CURRENT_SOURCE_DIR}/examples/example4.c")
--set(EXAMPLE5_SRC_LIST "${CMAKE_CURRENT_SOURCE_DIR}/examples/example5.c")
--set(EXAMPLE6_SRC_LIST "${CMAKE_CURRENT_SOURCE_DIR}/examples/example6.c")
--set(MINIZ_TESTER_SRC_LIST
-- "${CMAKE_CURRENT_SOURCE_DIR}/tests/miniz_tester.cpp"
-- "${CMAKE_CURRENT_SOURCE_DIR}/tests/timer.cpp")
-+install(FILES
-+ ${CMAKE_BINARY_DIR}/miniz.pc
-+ DESTINATION ${CMAKE_INSTALL_DATADIR}/pkgconfig)
-+
-+
-+set_property(TARGET ${PROJECT_NAME} PROPERTY
-+ INTERFACE_${PROJECT_NAME}_MAJOR_VERSION ${MINIZ_API_VERSION})
-+set_property(TARGET ${PROJECT_NAME} APPEND PROPERTY
-+ COMPATIBLE_INTERFACE_STRING ${PROJECT_NAME}_MAJOR_VERSION
-+)
-+
-+install(TARGETS ${PROJECT_NAME} EXPORT ${PROJECT_NAME}Targets
-+ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
-+ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
-+ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
-+ # users can use <miniz.h> or <miniz/miniz.h>
-+ INCLUDES DESTINATION include ${CMAKE_INSTALL_INCLUDEDIR}/${PROJECT_NAME}
-+)
-+
-+include(CMakePackageConfigHelpers)
-+write_basic_package_version_file(
-+ "${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}/${PROJECT_NAME}ConfigVersion.cmake"
-+ VERSION ${MINIZ_VERSION}
-+ COMPATIBILITY AnyNewerVersion
-+)
-+
-+export(EXPORT ${PROJECT_NAME}Targets
-+ FILE "${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}/${PROJECT_NAME}Targets.cmake"
-+ NAMESPACE ${PROJECT_NAME}::
-+)
-+configure_file(Config.cmake.in
-+ "${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}/${PROJECT_NAME}Config.cmake"
-+ @ONLY
-+)
-+
-+set(ConfigPackageLocation ${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME})
-+install(EXPORT ${PROJECT_NAME}Targets
-+ FILE
-+ ${PROJECT_NAME}Targets.cmake
-+ NAMESPACE
-+ ${PROJECT_NAME}::
-+ DESTINATION
-+ ${ConfigPackageLocation}
-+)
-+install(
-+ FILES
-+ "${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}/${PROJECT_NAME}Config.cmake"
-+ "${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}/${PROJECT_NAME}ConfigVersion.cmake"
-+ DESTINATION
-+ ${ConfigPackageLocation}
-+ COMPONENT
-+ Devel
-+)
-+
-+if(BUILD_EXAMPLES)
-+ set(EXAMPLE1_SRC_LIST "${CMAKE_CURRENT_SOURCE_DIR}/examples/example1.c")
-+ set(EXAMPLE2_SRC_LIST "${CMAKE_CURRENT_SOURCE_DIR}/examples/example2.c")
-+ set(EXAMPLE3_SRC_LIST "${CMAKE_CURRENT_SOURCE_DIR}/examples/example3.c")
-+ set(EXAMPLE4_SRC_LIST "${CMAKE_CURRENT_SOURCE_DIR}/examples/example4.c")
-+ set(EXAMPLE5_SRC_LIST "${CMAKE_CURRENT_SOURCE_DIR}/examples/example5.c")
-+ set(EXAMPLE6_SRC_LIST "${CMAKE_CURRENT_SOURCE_DIR}/examples/example6.c")
-+ set(MINIZ_TESTER_SRC_LIST
-+ "${CMAKE_CURRENT_SOURCE_DIR}/tests/miniz_tester.cpp"
-+ "${CMAKE_CURRENT_SOURCE_DIR}/tests/timer.cpp")
-
--add_executable(example1 ${EXAMPLE1_SRC_LIST})
--target_link_libraries(example1 miniz)
--add_executable(example2 ${EXAMPLE2_SRC_LIST})
--target_link_libraries(example2 miniz)
--add_executable(example3 ${EXAMPLE3_SRC_LIST})
--target_link_libraries(example3 miniz)
--add_executable(example4 ${EXAMPLE4_SRC_LIST})
--target_link_libraries(example4 miniz)
--add_executable(example5 ${EXAMPLE5_SRC_LIST})
--target_link_libraries(example5 miniz)
--add_executable(example6 ${EXAMPLE6_SRC_LIST})
--target_link_libraries(example6 miniz)
--if(${UNIX})
-- target_link_libraries(example6 m)
--endif()
-+ add_executable(example1 ${EXAMPLE1_SRC_LIST})
-+ target_link_libraries(example1 miniz)
-+ add_executable(example2 ${EXAMPLE2_SRC_LIST})
-+ target_link_libraries(example2 miniz)
-+ add_executable(example3 ${EXAMPLE3_SRC_LIST})
-+ target_link_libraries(example3 miniz)
-+ add_executable(example4 ${EXAMPLE4_SRC_LIST})
-+ target_link_libraries(example4 miniz)
-+ add_executable(example5 ${EXAMPLE5_SRC_LIST})
-+ target_link_libraries(example5 miniz)
-+ add_executable(example6 ${EXAMPLE6_SRC_LIST})
-+ target_link_libraries(example6 miniz)
-+ if(${UNIX})
-+ target_link_libraries(example6 m)
-+ endif()
-
--# add_executable(miniz_tester ${MINIZ_TESTER_SRC_LIST})
--# target_link_libraries(miniz_tester miniz)
-+ # add_executable(miniz_tester ${MINIZ_TESTER_SRC_LIST})
-+ # target_link_libraries(miniz_tester miniz)
-+endif(BUILD_EXAMPLES)
-
--install(TARGETS ${PROJECT_NAME} EXPORT ${PROJECT_NAME}Targets
-- ARCHIVE DESTINATION lib
-- LIBRARY DESTINATION lib
-- )
--file(GLOB INSTALL_HEADERS ${CMAKE_CURRENT_SOURCE_DIR}/*.h)
--install(FILES ${INSTALL_HEADERS} DESTINATION include/${PROJECT_NAME})
-\ No newline at end of file
-+set(INCLUDE_INSTALL_DIR "include")
-+
-+install(FILES ${INSTALL_HEADERS} DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/${PROJECT_NAME})
diff --git a/dev-libs/miniz/files/miniz-2.2.0-fixincdir.patch b/dev-libs/miniz/files/miniz-2.2.0-fixincdir.patch
new file mode 100644
index 000000000000..e0379baf49e3
--- /dev/null
+++ b/dev-libs/miniz/files/miniz-2.2.0-fixincdir.patch
@@ -0,0 +1,18 @@
+From 37ea28133d9abea3926248c9517676be9b558ca7 Mon Sep 17 00:00:00 2001
+From: Matthew Smith <matthew@gentoo.org>
+Date: Sat, 4 Jun 2022 09:31:06 +0100
+Subject: [PATCH 2/2] build: Set pkgconfig includedir to miniz directory
+
+Allows users to include <miniz.h> instead of <miniz/miniz.h> which
+seems to be the intended behaviour.
+--- a/miniz.pc.in
++++ b/miniz.pc.in
+@@ -1,7 +1,7 @@
+ prefix=@CMAKE_INSTALL_PREFIX@
+ exec_prefix=${prefix}
+ libdir=${exec_prefix}/@CMAKE_INSTALL_LIBDIR@
+-includedir=${prefix}/@CMAKE_INSTALL_INCLUDEDIR@
++includedir=${prefix}/@CMAKE_INSTALL_INCLUDEDIR@/miniz
+
+ Name: @PROJECT_NAME@
+ Description: @PROJECT_DESCRIPTION@
diff --git a/dev-libs/miniz/files/miniz-2.2.0-fixpcpath.patch b/dev-libs/miniz/files/miniz-2.2.0-fixpcpath.patch
new file mode 100644
index 000000000000..37f8c7737819
--- /dev/null
+++ b/dev-libs/miniz/files/miniz-2.2.0-fixpcpath.patch
@@ -0,0 +1,22 @@
+From 9cd715b3b1f5accc2e7cd0b167808c1a47a08938 Mon Sep 17 00:00:00 2001
+From: Matthew Smith <matthew@gentoo.org>
+Date: Sat, 4 Jun 2022 09:22:37 +0100
+Subject: [PATCH 1/2] build: Install .pc file in correct directory
+
+/usr/share/pkgconfig should be used for architecture independent
+libraries (e.g. data or scripts), while an architecture dependent
+directory like /usr/lib64/pkgconfig should be used for native
+binaries.
+
+Co-authored-by: Sam James <sam@gentoo.org>
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -173,7 +173,7 @@ if(NOT BUILD_HEADER_ONLY)
+ if(INSTALL_PROJECT)
+ install(FILES
+ ${CMAKE_CURRENT_BINARY_DIR}/miniz.pc
+- DESTINATION ${CMAKE_INSTALL_DATADIR}/pkgconfig)
++ DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig)
+ endif()
+ endif()
+
diff --git a/dev-libs/miniz/files/miniz.pc.in b/dev-libs/miniz/files/miniz.pc.in
deleted file mode 100644
index 51128735847c..000000000000
--- a/dev-libs/miniz/files/miniz.pc.in
+++ /dev/null
@@ -1,13 +0,0 @@
-prefix=@CMAKE_INSTALL_PREFIX@
-exec_prefix=${prefix}
-libdir=${exec_prefix}/@CMAKE_INSTALL_LIBDIR@
-includedir=${prefix}/@CMAKE_INSTALL_INCLUDEDIR@
-
-Name: @PROJECT_NAME@
-Description: @PROJECT_DESCRIPTION@
-Version: @MINIZ_VERSION@
-URL: @PROJECT_HOMEPAGE_URL@
-
-Requires:
-Libs: -L${libdir} -lminiz
-Cflags: -I${includedir} \ No newline at end of file
diff --git a/dev-libs/miniz/metadata.xml b/dev-libs/miniz/metadata.xml
index 9ae3e1edddab..c43f3b1a6204 100644
--- a/dev-libs/miniz/metadata.xml
+++ b/dev-libs/miniz/metadata.xml
@@ -1,7 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <!-- maintainer-needed -->
+ <maintainer type="person">
+ <email>matthew@gentoo.org</email>
+ <name>Matthew Smith</name>
+ </maintainer>
<longdescription>
Miniz is a lossless, high performance data compression library in a single source file that implements the zlib
(RFC 1950) and Deflate (RFC 1951) compressed data format specification standards. It supports the most commonly
diff --git a/dev-libs/miniz/miniz-2.1.0-r2.ebuild b/dev-libs/miniz/miniz-2.1.0-r2.ebuild
deleted file mode 100644
index cc26fba366c0..000000000000
--- a/dev-libs/miniz/miniz-2.1.0-r2.ebuild
+++ /dev/null
@@ -1,38 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit cmake
-
-DESCRIPTION="A lossless, high performance data compression library"
-HOMEPAGE="https://github.com/richgel999/miniz"
-SRC_URI="https://github.com/richgel999/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE=""
-
-DOCS=( ChangeLog.md LICENSE readme.md )
-
-PATCHES=(
- "${FILESDIR}/${P}-export-cmake-build-targets.patch"
-)
-
-src_prepare() {
- cp "${FILESDIR}/Config.cmake.in" .
- cp "${FILESDIR}/miniz.pc.in" .
-
- cmake_src_prepare
-}
-
-src_configure() {
- CMAKE_BUILD_TYPE=Release
-
- local mycmakeargs=(
- -DBUILD_EXAMPLES=OFF
- )
-
- cmake_src_configure
-}
diff --git a/dev-libs/miniz/miniz-2.2.0-r1.ebuild b/dev-libs/miniz/miniz-2.2.0-r1.ebuild
new file mode 100644
index 000000000000..6bbf018addfc
--- /dev/null
+++ b/dev-libs/miniz/miniz-2.2.0-r1.ebuild
@@ -0,0 +1,23 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+DESCRIPTION="A lossless, high performance data compression library"
+HOMEPAGE="https://github.com/richgel999/miniz"
+SRC_URI="https://github.com/richgel999/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0/${PV}"
+KEYWORDS="amd64 ~arm ~arm64 ~ia64 ppc ppc64 sparc x86"
+
+PATCHES=(
+ # https://bugs.gentoo.org/849578
+ # https://github.com/richgel999/miniz/pull/239
+ "${FILESDIR}"/${PN}-2.2.0-fixpcpath.patch
+ "${FILESDIR}"/${PN}-2.2.0-fixincdir.patch
+)
+
+DOCS=( ChangeLog.md readme.md )
diff --git a/dev-libs/miniz/miniz-3.0.1.ebuild b/dev-libs/miniz/miniz-3.0.1.ebuild
new file mode 100644
index 000000000000..32d829ee6e85
--- /dev/null
+++ b/dev-libs/miniz/miniz-3.0.1.ebuild
@@ -0,0 +1,16 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+DESCRIPTION="A lossless, high performance data compression library"
+HOMEPAGE="https://github.com/richgel999/miniz"
+SRC_URI="https://github.com/richgel999/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0/${PV}"
+KEYWORDS="~amd64 ~arm ~arm64 ~ia64 ~ppc ~ppc64 ~sparc ~x86"
+
+DOCS=( ChangeLog.md readme.md )
diff --git a/dev-libs/miniz/miniz-3.0.2.ebuild b/dev-libs/miniz/miniz-3.0.2.ebuild
new file mode 100644
index 000000000000..32d829ee6e85
--- /dev/null
+++ b/dev-libs/miniz/miniz-3.0.2.ebuild
@@ -0,0 +1,16 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+DESCRIPTION="A lossless, high performance data compression library"
+HOMEPAGE="https://github.com/richgel999/miniz"
+SRC_URI="https://github.com/richgel999/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0/${PV}"
+KEYWORDS="~amd64 ~arm ~arm64 ~ia64 ~ppc ~ppc64 ~sparc ~x86"
+
+DOCS=( ChangeLog.md readme.md )
diff --git a/dev-libs/miniz/miniz-9999.ebuild b/dev-libs/miniz/miniz-9999.ebuild
deleted file mode 100644
index 7bdf95f3cf88..000000000000
--- a/dev-libs/miniz/miniz-9999.ebuild
+++ /dev/null
@@ -1,41 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit cmake
-
-DESCRIPTION="A lossless, high performance data compression library"
-HOMEPAGE="https://github.com/richgel999/miniz"
-SRC_URI=""
-
-if [[ ${PV} == "9999" ]]; then
- inherit git-r3
- EGIT_REPO_URI="https://github.com/richgel999/miniz.git"
-else
- SRC_URI="https://github.com/richgel999/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
- KEYWORDS="~amd64 ~x86"
-fi
-
-LICENSE="MIT"
-SLOT="0"
-IUSE="examples static-libs"
-
-DOCS=( ChangeLog.md LICENSE readme.md )
-
-src_prepare() {
- sed -i -e 's/DESTINATION lib/DESTINATION ${CMAKE_INSTALL_LIBDIR}/' CMakeLists.txt
-
- cmake_src_prepare
-}
-
-src_configure() {
- CMAKE_BUILD_TYPE=Release
-
- local mycmakeargs=(
- -DBUILD_EXAMPLES=$(usex examples)
- -DBUILD_SHARED_LIBS=$(usex static-libs OFF ON)
- )
-
- cmake_src_configure
-}
diff --git a/dev-libs/mm/mm-1.4.2-r2.ebuild b/dev-libs/mm/mm-1.4.2-r2.ebuild
index de8b47631850..54ff28be6414 100644
--- a/dev-libs/mm/mm-1.4.2-r2.ebuild
+++ b/dev-libs/mm/mm-1.4.2-r2.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
@@ -9,7 +9,7 @@ SRC_URI="ftp://ftp.ossp.org/pkg/lib/mm/${P}.tar.gz"
LICENSE="mm"
SLOT="1.2"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ppc ppc64 ~riscv ~s390 sparc x86"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86"
IUSE=""
src_prepare() {
diff --git a/dev-libs/mmtf-cpp/Manifest b/dev-libs/mmtf-cpp/Manifest
index db5da6c78af2..4e1801551969 100644
--- a/dev-libs/mmtf-cpp/Manifest
+++ b/dev-libs/mmtf-cpp/Manifest
@@ -1 +1,2 @@
DIST mmtf-cpp-1.0.0.tar.gz 59363 BLAKE2B afcb03ce1f83e10348b148bd6218e5e10ab3e425b0f8105d292f9e265800ea6ca4562dc11fa4453df05d8a698576fba9dfe982aa91a8dcc1983480c0c52dbcf7 SHA512 0e502ae76e31689d440bff2fbc90fdab7ff62d5369e26f7ab2836966a30bda72625d6d5da33bc0770cf471a1549a02f7478ea16a01dd6be2809568d8daecb073
+DIST mmtf-cpp-1.1.0.tar.gz 106527 BLAKE2B 46f7b44ca6d9096b1f6c7911121d54ab50889c884156724229912bb125492682435d05d93b55b0c8c8025f293eb23f537da4f01a42fe65f4f89270e49429fce7 SHA512 91f30ac1031d71a5358fd83bf864afdac1d1ea758d775811b94a2609be286fcbb7dcfece097c6959afb4f8f9d237b7372183424d4ef211364cc69c08f2cd6e52
diff --git a/dev-libs/mmtf-cpp/mmtf-cpp-1.1.0-r1.ebuild b/dev-libs/mmtf-cpp/mmtf-cpp-1.1.0-r1.ebuild
new file mode 100644
index 000000000000..909f0a52da9a
--- /dev/null
+++ b/dev-libs/mmtf-cpp/mmtf-cpp-1.1.0-r1.ebuild
@@ -0,0 +1,17 @@
+# Copyright 2019-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+DESCRIPTION="The pure C++ implementation of the MMTF API, decoder and encoder"
+HOMEPAGE="https://github.com/rcsb/mmtf-cpp"
+SRC_URI="https://github.com/rcsb/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux ~x64-macos"
+
+DEPEND="|| ( dev-cpp/msgpack-cxx dev-libs/msgpack[cxx(-)] )"
+RDEPEND="${DEPEND}"
diff --git a/dev-libs/modsecurity/Manifest b/dev-libs/modsecurity/Manifest
new file mode 100644
index 000000000000..e0a65901d957
--- /dev/null
+++ b/dev-libs/modsecurity/Manifest
@@ -0,0 +1,3 @@
+DIST modsecurity-slibtool.patch 6915 BLAKE2B 9d067a4285cf56cbe9c824601724ee9caaf43e1bce653e51c6f66165a96e034125d93c4c998ee27df4d753c5e176b21d1c524dd72710428aaff1e528bddf48dc SHA512 a4c413f376c19bd028f2824f837cfdd5dffa51fcfeb1bcd911ca36a2876372d47f5e225b22cf9416d45cfc65e9e476501917a2b5c6d785f650c918f81164a8be
+DIST modsecurity-v3.0.10.tar.gz 3341295 BLAKE2B 9ae4d52ccc77eb7f6a50fb37b07d0c0022e7d4c93bc4c04e7c6cdfabc7b6f6a19a3f0ec1f0151eb1bbd98d9c55de774048bc7636f67e735169b8c628d71fc0fd SHA512 2f51c9bfd2e91d93ddb8c48671dca08f91682745ff6bab6b8153376207d77c40f9afdcab7fa04d2fe925a19343bbfc57e52f0b45b3a50b30de4c1949f5b77ed9
+DIST modsecurity-v3.0.12.tar.gz 3504045 BLAKE2B 6ee7f56384452bef090b26b567cc229f690fafbff4cb704b87bc241f1ec827eafc5de8b236936c4e7d58ed2e5c3ed30472ff24b8d18744d3f1bdc346c41c5940 SHA512 34c87bd12e76d102e95b626113c4b0c9e971be196932e76f0703c9c4416925baf99ccf5f46b88e317dc284f12e00ec099d6842574cb785086fa43950487919b3
diff --git a/dev-libs/modsecurity/metadata.xml b/dev-libs/modsecurity/metadata.xml
new file mode 100644
index 000000000000..dac598b1ea55
--- /dev/null
+++ b/dev-libs/modsecurity/metadata.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person" proxied="yes">
+ <email>hydrapolic@gmail.com</email>
+ <name>Tomáš Mózes</name>
+ </maintainer>
+ <maintainer type="project" proxied="proxy">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+ </maintainer>
+ <use>
+ <flag name="fuzzyhash">
+ Support fuzzy hash computations (to detect malware, for example)
+ using the <pkg>app-crypt/ssdeep</pkg> package.
+ </flag>
+ <flag name="geoip2">
+ Pull in <pkg>dev-libs/libmaxminddb</pkg> for use by the SecGeoLookupDb
+ directive.
+ </flag>
+ <flag name="json">
+ Suppose JSON in the request body parser through
+ <pkg>dev-libs/yajl</pkg>.
+ </flag>
+ <flag name="lmdb">
+ Add LMDB backend support
+ </flag>
+ <flag name="pcre2">
+ Use <pkg>dev-libs/libpcre2</pkg> as regex implementation
+ </flag>
+ </use>
+ <upstream>
+ <remote-id type="github">SpiderLabs/ModSecurity</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/modsecurity/modsecurity-3.0.10-r1.ebuild b/dev-libs/modsecurity/modsecurity-3.0.10-r1.ebuild
new file mode 100644
index 000000000000..951986c652be
--- /dev/null
+++ b/dev-libs/modsecurity/modsecurity-3.0.10-r1.ebuild
@@ -0,0 +1,82 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+LUA_COMPAT=( lua5-{1..4} )
+
+inherit autotools lua-single
+
+MY_P=${PN}-v${PV}
+
+DESCRIPTION="Application firewall and intrusion detection"
+HOMEPAGE="https://github.com/SpiderLabs/ModSecurity"
+SRC_URI="
+ https://github.com/SpiderLabs/ModSecurity/releases/download/v${PV}/${MY_P}.tar.gz
+ https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${PN}-slibtool.patch
+"
+S="${WORKDIR}/${MY_P}"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~x86"
+IUSE="doc fuzzyhash geoip geoip2 json lmdb lua pcre2"
+
+REQUIRED_USE="lua? ( ${LUA_REQUIRED_USE} )"
+RDEPEND="dev-libs/libpcre:=
+ dev-libs/libxml2
+ net-misc/curl
+ fuzzyhash? ( app-crypt/ssdeep )
+ geoip? ( dev-libs/geoip )
+ geoip2? ( dev-libs/libmaxminddb )
+ json? ( dev-libs/yajl )
+ lmdb? ( dev-db/lmdb )
+ lua? ( ${LUA_DEPS} )
+ pcre2? ( dev-libs/libpcre2:= )"
+DEPEND="${RDEPEND}"
+BDEPEND="virtual/pkgconfig
+ doc? ( app-text/doxygen[dot] )"
+
+DOCS=( AUTHORS CHANGES README.md modsecurity.conf-recommended unicode.mapping )
+
+PATCHES=(
+ # https://github.com/SpiderLabs/ModSecurity/pull/2980
+ "${DISTDIR}"/${PN}-slibtool.patch # 913484
+)
+
+pkg_setup() {
+ use lua && lua-single_pkg_setup
+}
+
+src_prepare() {
+ default
+ eautoreconf # for the slibtool patch
+}
+
+src_configure() {
+ local myconf=(
+ $(use_with fuzzyhash ssdeep)
+ $(use_with geoip )
+ $(use_with geoip2 maxmind)
+ $(use_with json yajl)
+ $(use_with lmdb)
+ $(use_with lua)
+ $(use_with pcre2)
+ )
+
+ econf "${myconf[@]}"
+}
+
+src_compile() {
+ default
+
+ if use doc; then
+ cd doc && doxygen doxygen.cfg || die
+ fi
+}
+
+src_install() {
+ default
+ use doc && dodoc -r doc/html
+ find "${ED}" -name '*.la' -delete || die
+}
diff --git a/dev-libs/modsecurity/modsecurity-3.0.10.ebuild b/dev-libs/modsecurity/modsecurity-3.0.10.ebuild
new file mode 100644
index 000000000000..515a441f5f65
--- /dev/null
+++ b/dev-libs/modsecurity/modsecurity-3.0.10.ebuild
@@ -0,0 +1,69 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+LUA_COMPAT=( lua5-{1..4} )
+
+inherit lua-single
+
+MY_P=${PN}-v${PV}
+
+DESCRIPTION="Application firewall and intrusion detection"
+HOMEPAGE="https://github.com/SpiderLabs/ModSecurity"
+SRC_URI="https://github.com/SpiderLabs/ModSecurity/releases/download/v${PV}/${MY_P}.tar.gz"
+S="${WORKDIR}/${MY_P}"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 arm arm64 ~ppc ~ppc64 ~riscv x86"
+IUSE="doc fuzzyhash geoip geoip2 json lmdb lua pcre2"
+
+REQUIRED_USE="lua? ( ${LUA_REQUIRED_USE} )"
+RDEPEND="dev-libs/libpcre:=
+ dev-libs/libxml2
+ net-misc/curl
+ fuzzyhash? ( app-crypt/ssdeep )
+ geoip? ( dev-libs/geoip )
+ geoip2? ( dev-libs/libmaxminddb )
+ json? ( dev-libs/yajl )
+ lmdb? ( dev-db/lmdb )
+ lua? ( ${LUA_DEPS} )
+ pcre2? ( dev-libs/libpcre2:= )"
+DEPEND="${RDEPEND}"
+BDEPEND="virtual/pkgconfig
+ doc? ( app-text/doxygen[dot] )"
+
+DOCS=( AUTHORS CHANGES README.md modsecurity.conf-recommended unicode.mapping )
+
+pkg_setup() {
+ use lua && lua-single_pkg_setup
+}
+
+src_configure() {
+ local myconf=(
+ $(use_with fuzzyhash ssdeep)
+ $(use_with geoip )
+ $(use_with geoip2 maxmind)
+ $(use_with json yajl)
+ $(use_with lmdb)
+ $(use_with lua)
+ $(use_with pcre2)
+ )
+
+ econf "${myconf[@]}"
+}
+
+src_compile() {
+ default
+
+ if use doc; then
+ cd doc && doxygen doxygen.cfg || die
+ fi
+}
+
+src_install() {
+ default
+ use doc && dodoc -r doc/html
+ find "${ED}" -name '*.la' -delete || die
+}
diff --git a/dev-libs/modsecurity/modsecurity-3.0.12.ebuild b/dev-libs/modsecurity/modsecurity-3.0.12.ebuild
new file mode 100644
index 000000000000..88da9c4f2ae1
--- /dev/null
+++ b/dev-libs/modsecurity/modsecurity-3.0.12.ebuild
@@ -0,0 +1,82 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+LUA_COMPAT=( lua5-{1..4} )
+
+inherit autotools lua-single
+
+MY_P=${PN}-v${PV}
+
+DESCRIPTION="Application firewall and intrusion detection"
+HOMEPAGE="https://github.com/SpiderLabs/ModSecurity"
+SRC_URI="
+ https://github.com/SpiderLabs/ModSecurity/releases/download/v${PV}/${MY_P}.tar.gz
+ https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${PN}-slibtool.patch
+"
+S="${WORKDIR}/${MY_P}"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 arm arm64 ~ppc ~ppc64 ~riscv x86"
+IUSE="doc fuzzyhash geoip geoip2 json lmdb lua pcre2"
+
+REQUIRED_USE="lua? ( ${LUA_REQUIRED_USE} )"
+RDEPEND="dev-libs/libpcre:=
+ dev-libs/libxml2
+ net-misc/curl
+ fuzzyhash? ( app-crypt/ssdeep )
+ geoip? ( dev-libs/geoip )
+ geoip2? ( dev-libs/libmaxminddb )
+ json? ( dev-libs/yajl )
+ lmdb? ( dev-db/lmdb )
+ lua? ( ${LUA_DEPS} )
+ pcre2? ( dev-libs/libpcre2:= )"
+DEPEND="${RDEPEND}"
+BDEPEND="virtual/pkgconfig
+ doc? ( app-text/doxygen[dot] )"
+
+DOCS=( AUTHORS CHANGES README.md modsecurity.conf-recommended unicode.mapping )
+
+PATCHES=(
+ # https://github.com/SpiderLabs/ModSecurity/pull/2980
+ "${DISTDIR}"/${PN}-slibtool.patch # 913484
+)
+
+pkg_setup() {
+ use lua && lua-single_pkg_setup
+}
+
+src_prepare() {
+ default
+ eautoreconf # for the slibtool patch
+}
+
+src_configure() {
+ local myconf=(
+ $(use_with fuzzyhash ssdeep)
+ $(use_with geoip )
+ $(use_with geoip2 maxmind)
+ $(use_with json yajl)
+ $(use_with lmdb)
+ $(use_with lua)
+ $(use_with pcre2)
+ )
+
+ econf "${myconf[@]}"
+}
+
+src_compile() {
+ default
+
+ if use doc; then
+ cd doc && doxygen doxygen.cfg || die
+ fi
+}
+
+src_install() {
+ default
+ use doc && dodoc -r doc/html
+ find "${ED}" -name '*.la' -delete || die
+}
diff --git a/dev-libs/mongo-c-driver/Manifest b/dev-libs/mongo-c-driver/Manifest
index 57f1300f64fd..2e83e1e3a78a 100644
--- a/dev-libs/mongo-c-driver/Manifest
+++ b/dev-libs/mongo-c-driver/Manifest
@@ -1 +1,2 @@
DIST mongo-c-driver-1.18.0.tar.gz 7246954 BLAKE2B 9418ab2e132f8a8c582bcbea8c7b090e9e45e34219845d8f6b7a99d4ebfb17ef2eec2223504e9a4ab7f51ca01e904a7f3bb04bf9f8bf20c010ab9f82894a728e SHA512 c970f347689916172a957fc431b307bab3cb63367d4b39c49745c75b9fa84f0035db934c551570a4141733fc1bc6b33b118911c3b69ecdea797f19312b213606
+DIST mongo-c-driver-1.24.4.tar.gz 7916661 BLAKE2B e361b52bf16eed7437428b0481d792ecf2f9cc283fdd6f23916d4a3ffb1b7d7c9ea7a7c4cf5f369e21fb6d4f564b91e07ac2ee44656855993218593dc4f1c166 SHA512 3563c061565d17a76581e188f6e184d7e41f2729812c8815afd34e03ebe6c1d25d7498a2cb1b599a09d24f6268c36473ef5113a14c7585a1532c9abf2e56e936
diff --git a/dev-libs/mongo-c-driver/mongo-c-driver-1.18.0-r1.ebuild b/dev-libs/mongo-c-driver/mongo-c-driver-1.18.0-r1.ebuild
new file mode 100644
index 000000000000..e2bf1455e790
--- /dev/null
+++ b/dev-libs/mongo-c-driver/mongo-c-driver-1.18.0-r1.ebuild
@@ -0,0 +1,97 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit cmake
+
+DESCRIPTION="Client library written in C for MongoDB"
+HOMEPAGE="https://github.com/mongodb/mongo-c-driver"
+SRC_URI="https://github.com/mongodb/mongo-c-driver/releases/download/${PV}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 ~arm64 ~hppa ~riscv x86"
+IUSE="debug examples icu sasl ssl static-libs test"
+REQUIRED_USE="test? ( static-libs )"
+
+# No tests on x86 because tests require dev-db/mongodb which don't support
+# x86 anymore (bug #645994)
+RESTRICT="x86? ( test )
+ !test? ( test )"
+
+RDEPEND="app-arch/snappy:=
+ app-arch/zstd:=
+ >=dev-libs/libbson-${PV}[static-libs?]
+ sys-libs/zlib:=
+ icu? ( dev-libs/icu:= )
+ sasl? ( dev-libs/cyrus-sasl:= )
+ ssl? (
+ dev-libs/openssl:0=
+ )"
+DEPEND="${RDEPEND}
+ test? (
+ dev-db/mongodb
+ dev-libs/libbson[static-libs]
+ )"
+BDEPEND="
+ dev-python/sphinx
+"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-1.14.0-no-docs.patch"
+ "${FILESDIR}/${PN}-1.16.2-enable-tests.patch" # enable tests with system libbson
+)
+
+src_prepare() {
+ cmake_src_prepare
+
+ # sphinx's -Werror
+ sed -i -e 's:-qEW:-qE:' build/cmake/SphinxBuild.cmake || die
+
+ # copy private headers for tests since we don't build libbson
+ if use test; then
+ mkdir -p src/libbson/tests/bson || die
+ cp src/libbson/src/bson/bson-*.h src/libbson/tests/bson/ || die
+ fi
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DCMAKE_SKIP_RPATH=ON # mongoc-stat insecure runpath
+ -DENABLE_BSON=SYSTEM
+ -DENABLE_EXAMPLES=OFF
+ -DENABLE_ICU="$(usex icu ON OFF)"
+ -DENABLE_MAN_PAGES=ON
+ -DENABLE_MONGOC=ON
+ -DENABLE_SNAPPY=SYSTEM
+ -DENABLE_ZLIB=SYSTEM
+ -DENABLE_SASL="$(usex sasl CYRUS OFF)"
+ -DENABLE_SSL="$(usex ssl OPENSSL OFF )"
+ -DENABLE_STATIC="$(usex static-libs ON OFF)"
+ -DENABLE_TESTS="$(usex test ON OFF)"
+ -DENABLE_TRACING="$(usex debug ON OFF)"
+ -DENABLE_UNINSTALL=OFF
+ -DENABLE_ZSTD=ON
+ )
+
+ cmake_src_configure
+}
+
+# FEATURES="test -network-sandbox" USE="static-libs" emerge dev-libs/mongo-c-driver
+src_test() {
+ local PORT=27099
+ mongod --port ${PORT} --bind_ip 127.0.0.1 --nounixsocket --fork \
+ --dbpath="${T}" --logpath="${T}/mongod.log" || die
+ MONGOC_TEST_URI="mongodb://[127.0.0.1]:${PORT}" ../mongo-c-driver-${PV}_build/src/libmongoc/test-libmongoc || die
+ kill $(<"${T}/mongod.lock")
+}
+
+src_install() {
+ if use examples; then
+ docinto examples
+ dodoc src/libmongoc/examples/*.c
+ fi
+
+ cmake_src_install
+}
diff --git a/dev-libs/mongo-c-driver/mongo-c-driver-1.18.0.ebuild b/dev-libs/mongo-c-driver/mongo-c-driver-1.18.0.ebuild
deleted file mode 100644
index d81423af7651..000000000000
--- a/dev-libs/mongo-c-driver/mongo-c-driver-1.18.0.ebuild
+++ /dev/null
@@ -1,92 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit cmake
-
-DESCRIPTION="Client library written in C for MongoDB"
-HOMEPAGE="https://github.com/mongodb/mongo-c-driver"
-SRC_URI="https://github.com/mongodb/mongo-c-driver/releases/download/${PV}/${P}.tar.gz"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64 ~hppa ~riscv ~s390 x86"
-IUSE="debug examples icu sasl ssl static-libs test"
-REQUIRED_USE="test? ( static-libs )"
-
-# No tests on x86 because tests require dev-db/mongodb which don't support
-# x86 anymore (bug #645994)
-RESTRICT="x86? ( test )
- !test? ( test )"
-
-RDEPEND="app-arch/snappy:=
- app-arch/zstd:=
- >=dev-libs/libbson-${PV}[static-libs?]
- dev-python/sphinx
- sys-libs/zlib:=
- icu? ( dev-libs/icu:= )
- sasl? ( dev-libs/cyrus-sasl:= )
- ssl? (
- dev-libs/openssl:0=
- )"
-DEPEND="${RDEPEND}
- test? (
- dev-db/mongodb
- dev-libs/libbson[static-libs]
- )"
-
-PATCHES=(
- "${FILESDIR}/${PN}-1.14.0-no-docs.patch"
- "${FILESDIR}/${PN}-1.16.2-enable-tests.patch" # enable tests with system libbson
-)
-
-src_prepare() {
- cmake_src_prepare
-
- # copy private headers for tests since we don't build libbson
- if use test; then
- mkdir -p src/libbson/tests/bson || die
- cp src/libbson/src/bson/bson-*.h src/libbson/tests/bson/ || die
- fi
-}
-
-src_configure() {
- local mycmakeargs=(
- -DCMAKE_SKIP_RPATH=ON # mongoc-stat insecure runpath
- -DENABLE_BSON=SYSTEM
- -DENABLE_EXAMPLES=OFF
- -DENABLE_ICU="$(usex icu ON OFF)"
- -DENABLE_MAN_PAGES=ON
- -DENABLE_MONGOC=ON
- -DENABLE_SNAPPY=SYSTEM
- -DENABLE_ZLIB=SYSTEM
- -DENABLE_SASL="$(usex sasl CYRUS OFF)"
- -DENABLE_SSL="$(usex ssl OPENSSL OFF )"
- -DENABLE_STATIC="$(usex static-libs ON OFF)"
- -DENABLE_TESTS="$(usex test ON OFF)"
- -DENABLE_TRACING="$(usex debug ON OFF)"
- -DENABLE_UNINSTALL=OFF
- -DENABLE_ZSTD=ON
- )
-
- cmake_src_configure
-}
-
-# FEATURES="test -network-sandbox" USE="static-libs" emerge dev-libs/mongo-c-driver
-src_test() {
- local PORT=27099
- mongod --port ${PORT} --bind_ip 127.0.0.1 --nounixsocket --fork \
- --dbpath="${T}" --logpath="${T}/mongod.log" || die
- MONGOC_TEST_URI="mongodb://[127.0.0.1]:${PORT}" ../mongo-c-driver-${PV}_build/src/libmongoc/test-libmongoc || die
- kill $(<"${T}/mongod.lock")
-}
-
-src_install() {
- if use examples; then
- docinto examples
- dodoc src/libmongoc/examples/*.c
- fi
-
- cmake_src_install
-}
diff --git a/dev-libs/mongo-c-driver/mongo-c-driver-1.24.4.ebuild b/dev-libs/mongo-c-driver/mongo-c-driver-1.24.4.ebuild
new file mode 100644
index 000000000000..05faec798845
--- /dev/null
+++ b/dev-libs/mongo-c-driver/mongo-c-driver-1.24.4.ebuild
@@ -0,0 +1,96 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+DESCRIPTION="Client library written in C for MongoDB"
+HOMEPAGE="https://github.com/mongodb/mongo-c-driver"
+SRC_URI="https://github.com/mongodb/mongo-c-driver/releases/download/${PV}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~hppa ~riscv ~x86"
+IUSE="debug examples icu sasl ssl static-libs test"
+REQUIRED_USE="test? ( static-libs )"
+
+# No tests on x86 because tests require dev-db/mongodb which don't support
+# x86 anymore (bug #645994)
+RESTRICT="x86? ( test )
+ !test? ( test )"
+
+RDEPEND="app-arch/snappy:=
+ app-arch/zstd:=
+ >=dev-libs/libbson-${PV}[static-libs?]
+ dev-python/sphinx
+ sys-libs/zlib:=
+ icu? ( dev-libs/icu:= )
+ sasl? ( dev-libs/cyrus-sasl:= )
+ ssl? (
+ dev-libs/openssl:=
+ )"
+DEPEND="${RDEPEND}
+ test? (
+ dev-db/mongodb
+ dev-libs/libbson[static-libs]
+ )"
+
+src_prepare() {
+ cmake_src_prepare
+
+ # copy private headers for tests since we don't build libbson
+ if use test; then
+ mkdir -p src/libbson/tests/bson || die
+ cp src/libbson/src/bson/bson-*.h src/libbson/tests/bson/ || die
+ fi
+
+ # remove doc files
+ sed -i '/^\s*install\s*(FILES COPYING NEWS/,/^\s*)/{d}' CMakeLists.txt || die
+
+ # enable tests
+ sed -i '/message ("-- disabling test-libmongoc since using system libbson")/{d}' CMakeLists.txt || die
+ sed -i '/SET (ENABLE_TESTS OFF)/{d}' CMakeLists.txt || die
+ sed -i 's/message (FATAL_ERROR "System libbson built without static library target")/message (STATUS "System libbson built without static library target")/' CMakeLists.txt || die
+ sed -i 's#<bson/bson-private.h>#"bson/bson-private.h"#' src/libbson/tests/test-bson.c || die
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DCMAKE_SKIP_RPATH=ON # mongoc-stat insecure runpath
+ -DUSE_SYSTEM_LIBBSON=ON
+ -DENABLE_EXAMPLES=OFF
+ -DENABLE_ICU="$(usex icu ON OFF)"
+ -DENABLE_MAN_PAGES=ON
+ -DENABLE_MONGOC=ON
+ -DENABLE_SNAPPY=AUTO
+ -DENABLE_ZLIB=SYSTEM
+ -DENABLE_SASL="$(usex sasl CYRUS OFF)"
+ -DENABLE_SSL="$(usex ssl $(usex ssl OPENSSL) OFF)"
+ -DENABLE_STATIC="$(usex static-libs ON OFF)"
+ -DENABLE_TESTS="$(usex test ON OFF)"
+ -DENABLE_TRACING="$(usex debug ON OFF)"
+ -DENABLE_UNINSTALL=OFF
+ -DENABLE_ZSTD=ON
+ )
+
+ cmake_src_configure
+}
+
+# FEATURES="test -network-sandbox" USE="static-libs" emerge dev-libs/mongo-c-driver
+src_test() {
+ local PORT=27099
+ mongod --port ${PORT} --bind_ip 127.0.0.1 --nounixsocket --fork \
+ --dbpath="${T}" --logpath="${T}/mongod.log" || die
+ MONGOC_TEST_URI="mongodb://[127.0.0.1]:${PORT}" ../mongo-c-driver-${PV}_build/src/libmongoc/test-libmongoc || die
+ kill $(<"${T}/mongod.lock")
+}
+
+src_install() {
+ if use examples; then
+ docinto examples
+ dodoc src/libmongoc/examples/*.c
+ fi
+
+ cmake_src_install
+}
diff --git a/dev-libs/mpc/Manifest b/dev-libs/mpc/Manifest
index 9c5ed85f34c0..0b2e2d8ce907 100644
--- a/dev-libs/mpc/Manifest
+++ b/dev-libs/mpc/Manifest
@@ -1 +1 @@
-DIST mpc-1.2.1.tar.gz 838731 BLAKE2B 9cd03c6a71839e4cdb3c1f18d718cc4d3097c3f8ec307a5c756bd5df27c68aa013755156b3b156efee1acabfee2269602c6a3a358092ef0d522271c9c56c133d SHA512 3279f813ab37f47fdcc800e4ac5f306417d07f539593ca715876e43e04896e1d5bceccfb288ef2908a3f24b760747d0dbd0392a24b9b341bc3e12082e5c836ee
+DIST mpc-1.3.1.tar.gz 773573 BLAKE2B 76434e6f8830af3571836d51576bfebbc9701e9bbb5c4686f134081cd96cd90ae02f7ff42bf9e3957c7a7ba92b6b2d9cdabe18f0269271147521cd7f6a2d551c SHA512 4bab4ef6076f8c5dfdc99d810b51108ced61ea2942ba0c1c932d624360a5473df20d32b300fc76f2ba4aa2a97e1f275c9fd494a1ba9f07c4cb2ad7ceaeb1ae97
diff --git a/dev-libs/mpc/mpc-1.2.1.ebuild b/dev-libs/mpc/mpc-1.2.1.ebuild
deleted file mode 100644
index f2b23959fc05..000000000000
--- a/dev-libs/mpc/mpc-1.2.1.ebuild
+++ /dev/null
@@ -1,28 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit multilib-minimal
-
-DESCRIPTION="A library for multiprecision complex arithmetic with exact rounding"
-HOMEPAGE="http://mpc.multiprecision.org/"
-SRC_URI="mirror://gnu/${PN}/${P}.tar.gz"
-
-LICENSE="LGPL-2.1"
-SLOT="0/3" # libmpc.so.3
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-IUSE="static-libs"
-
-DEPEND=">=dev-libs/gmp-5.0.0:0=[${MULTILIB_USEDEP},static-libs?]
- >=dev-libs/mpfr-4.1.0:0=[${MULTILIB_USEDEP},static-libs?]"
-RDEPEND="${DEPEND}"
-
-multilib_src_configure() {
- ECONF_SOURCE=${S} econf $(use_enable static-libs static)
-}
-
-multilib_src_install_all() {
- einstalldocs
- find "${D}" -name '*.la' -delete || die
-}
diff --git a/dev-libs/mpc/mpc-1.3.1.ebuild b/dev-libs/mpc/mpc-1.3.1.ebuild
new file mode 100644
index 000000000000..0b1308164ff9
--- /dev/null
+++ b/dev-libs/mpc/mpc-1.3.1.ebuild
@@ -0,0 +1,37 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit multilib-minimal
+
+DESCRIPTION="A library for multiprecision complex arithmetic with exact rounding"
+HOMEPAGE="https://www.multiprecision.org/mpc/ https://gitlab.inria.fr/mpc/mpc"
+
+if [[ ${PV} == *_rc* ]] ; then
+ SRC_URI="https://www.multiprecision.org/downloads/${P/_}.tar.gz"
+ S="${WORKDIR}"/${PN}-$(ver_cut 1-3)
+else
+ SRC_URI="mirror://gnu/${PN}/${P}.tar.gz"
+
+ KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+fi
+
+LICENSE="LGPL-3+ FDL-1.3+"
+SLOT="0/3" # libmpc.so.3
+IUSE="static-libs"
+
+DEPEND="
+ >=dev-libs/gmp-5.0.0:=[${MULTILIB_USEDEP},static-libs?]
+ >=dev-libs/mpfr-4.1.0:=[${MULTILIB_USEDEP},static-libs?]
+"
+RDEPEND="${DEPEND}"
+
+multilib_src_configure() {
+ ECONF_SOURCE="${S}" econf $(use_enable static-libs static)
+}
+
+multilib_src_install_all() {
+ einstalldocs
+ find "${ED}" -name '*.la' -delete || die
+}
diff --git a/dev-libs/mpfr/Manifest b/dev-libs/mpfr/Manifest
index 5cb37746d21a..8c08820634e9 100644
--- a/dev-libs/mpfr/Manifest
+++ b/dev-libs/mpfr/Manifest
@@ -1,14 +1,2 @@
-DIST mpfr-4.1.0-patch01.patch 2061 BLAKE2B 55b34d7e8d94d22a1c188d5f5c7b73523c080ac9b44ba4055894ab40a43e3b17b2fcc74bb3b8af93952929c073946bb143486e5963a160a1c456a62d0d73cf8f SHA512 f401d2a3b1e2e7e95177e5bf98d023be323c7e2152e9aab7133bad44c5924bed644ecb94477dc7ca975a29e1cc156001897966293130ac56d2ee5d96ade18ad3
-DIST mpfr-4.1.0-patch02.patch 2543 BLAKE2B ab36c68523132702a7be6b072e9a96054d8471b61d0b79d1f82a622a278f445fd43d2ebf3ae42fa915bf10d9d643f735146f3b2dd6026134f72e3ca9de1e29da SHA512 cb896e0b648225aa4eaa5959f79d7d5bd830ed464c6e00ee780ad6ac366054ac573985092c576ffb40ca4f7a9eb976f1c5a039895ca6fdb4fa72677fbd1cb831
-DIST mpfr-4.1.0-patch03.patch 9973 BLAKE2B 3db98472e3c94d8e7734db59f9854276884d3456d5d113be364802f6da08f07e31d30388d393524e0df8cb470ff6b94d763ca3c43be6507bb23628feee0b5d8d SHA512 c6893d67721d6bfd76efc639c84f7e6d60ae1bea09f32247d30cfc8011b5450fa8d1cd23956df1e4fe58fd4ec2d905502976f3bd2a5601af31bdb898275e429d
-DIST mpfr-4.1.0-patch04.patch 27336 BLAKE2B 4311d3129abc220f833faa1c231cdfbe8daf4644412a7a22d187aeee44f8b0bfde9d2f3c6ef530718f677b74c89df4e3e5b2d8439bfe708e1e0e416b4e2ad74a SHA512 f21ac3daedab771373f16b5cd209f2cf305f6ea06634352ede84731839a60eea21bf5f023d26238777a5218186186ae170e9d6a89a380844c6b67b5e5514f14f
-DIST mpfr-4.1.0-patch05.patch 5345 BLAKE2B b75d5ed4a0dfc78bc35fc5427782d052e9bff8633ab22786dd0ab554bfacbcfb13273e66603b12faab08ea9b9721639f33ac7ec4e73a7478b997dbe8e41e91fc SHA512 d2d7a9bd1d0bff08bedcb5ead91aeda493bc87b723a1caab8fcfe854f39a2d13fafbd8efb69b4c997ca6c0c90b224add3d7d54a2826645b4ecc01fdac512f9fa
-DIST mpfr-4.1.0-patch06.patch 4026 BLAKE2B f00cb90954caf23e2ab42125e7c55a7d1f1136503ffc12654aef2e67de32447f9caad52d372715f72afa3c58ed4e12f6741dfcc45a821d2c69b2115b39a5d057 SHA512 67f5f2c4d0b48ca22ef34ed3e9be110b0781b77db539a6fd9cfa8199a19b5667276e8b93a21b616697ebf0baf1bb894bf13e502bea95c7cad1a1137220e13228
-DIST mpfr-4.1.0-patch07.patch 3580 BLAKE2B 0ceeebdb4849a0b6ed73646b7e8b0709dcd80f925584a497925d4e47023c129a28687ab6264f876e87c0e1e302b8ff4cdc028514d2286bf332219a5e314d386e SHA512 4d95697fa1b6474982325384d905a2ffee76bfe5554f3bbe5a24897ca0c9a44187558762a3d8e54ea749f0d27d3b2ea5af7580b63e871da8634b39078cd50b65
-DIST mpfr-4.1.0-patch08.patch 4002 BLAKE2B cb1ca978b1ae0415c4ba38a2ced9be9af9b38be9ef3ae5caee5bc2501553f3ff050043754643423040a433246c695280111bf110514e35581a2a0eba6f0b4379 SHA512 6e291e9d16b4b3d4bbd4c10cd454bb1acc2f903f2356ba6551fe279a53a4204dc9ba3bd689cb268f1070dc7b8a1f2da55c09a6b7cec93f0082295cf21fec72a4
-DIST mpfr-4.1.0-patch09.patch 4591 BLAKE2B 09980bd9f1fb7e39a35e972e9c8a8fd3918bd9202dca446d1874c9fc8390fe8dcc261332f6e662ae05999f0129c56c81624ed95fa7e9298ebc8beaecc3975ca0 SHA512 847f9e62762bb2eeeeca29ff84876c0ab7c0075d5d34744cfd6c22d480acf56e2c17187f7137724d6ac6eeac0dbd4888e7f128e4aaf34eb00d088a65a046de6d
-DIST mpfr-4.1.0-patch10.patch 26493 BLAKE2B 8cc0c498264d05c03a72dad58e553c9ea63e29fe43f45cec0cdf29df2e3eac1db33e17c58de5dacfe08c4192300bff5ee3dd816ecab661890a277bdee2cfc19a SHA512 7ee6d2074f640ed17626284fc3f1e77b18e756365ee836ba4b046ba49adb7a701c845401f202ae2d396319285e9f65ec7ef0d51bc3a51460b91b7b2078efcb04
-DIST mpfr-4.1.0-patch11.patch 4584 BLAKE2B 4ba240e7e8acc360eb2f05186493fd9044c8fe285f1be209270e1bd5bcb6485d4ee2feca6af1cf56e2ffd5b592b483ae76ae9acac246286ea0ab4130fe0d9bf6 SHA512 90d6f3e781eab0f8e5f07ed00c1c824af49c6cd60d4c3324c71e6c29150a8f22e2b0b78e7ee32ce505c87ee33ec1ad46e36e3825c6beb524093fc532acdcd913
-DIST mpfr-4.1.0-patch12.patch 6768 BLAKE2B 15ce68eb9941ac5d6544ee18a062cb12026e07273a5424b3941596a1024f54cf5481363e145cac9375e518ec2033db82d4fe9152884c74a9037a81fd2c405b5e SHA512 4e91cffa0df911d68931ace13e86e420ec9f7d8e8a0279e12d995bbf8061b6bec90cb03ef8642a854f652907b13e533b7afb95f2279cf2dfa4010ec5d745ac3c
-DIST mpfr-4.1.0-patch13.patch 3344 BLAKE2B 1239cf16dfe32a71bb6fc7b156978cd451bcbe4e1b04842fdb3549352a43607d44d58120e38bf448ffd33e36bab7f7cfd4ab65b2eb3aac2fe9bbd86d8f425f5a SHA512 ddd5f54d12584b6e10fd4eba12b8568c5286dba10bd3b5cdd429415b78bc827bd0ed3957bd06ca4c2c63a2f5e877fd9d86eebade8929d61aafe84ace8454d016
-DIST mpfr-4.1.0.tar.xz 1525476 BLAKE2B 41d1be0c4b557760f12a4525ad3a84b6e2cd6f0927c935fcfba577ac0490e582d1ae4b581dce58e21e705cf9d7c88373054d7fb7a94bb32c69b339f99a25dc68 SHA512 1bd1c349741a6529dfa53af4f0da8d49254b164ece8a46928cdb13a99460285622d57fe6f68cef19c6727b3f9daa25ddb3d7d65c201c8f387e421c7f7bee6273
+DIST mpfr-4.2.1.tar.xz 1493608 BLAKE2B ad69f53bc910294647523e7613b18a683f1d0f3dd994168ab2a46b66d0371ffa9b8e7cb59495f898470aea69d343e83fc722f11babe4af7b3a12665a1e65860c SHA512 bc68c0d755d5446403644833ecbb07e37360beca45f474297b5d5c40926df1efc3e2067eecffdf253f946288bcca39ca89b0613f545d46a9e767d1d4cf358475
+DIST mpfr-4.2.1.tar.xz.asc 228 BLAKE2B a50ccf4136c3b460b15540364a49dec05da266a77bce6220832262581fa57cc1e70b7739ea4fdf2e8ad4fd3318151b8c420b09597942493d95e6276f380debfd SHA512 2f409f2a93726fba086882de3ad26d0bcb5d78afc687e44550bf55a98b940ff0d355a655aa18da78bfa2581ef37d72cb630d7642de7ec70590ec80044b3dbe38
diff --git a/dev-libs/mpfr/metadata.xml b/dev-libs/mpfr/metadata.xml
index e9de1423720b..27009fac6749 100644
--- a/dev-libs/mpfr/metadata.xml
+++ b/dev-libs/mpfr/metadata.xml
@@ -5,4 +5,7 @@
<email>toolchain@gentoo.org</email>
<name>Gentoo Toolchain Project</name>
</maintainer>
+ <upstream>
+ <remote-id type="cpe">cpe:/a:mpfr:gnu_mpfr</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/dev-libs/mpfr/mpfr-4.1.0-r1.ebuild b/dev-libs/mpfr/mpfr-4.1.0-r1.ebuild
deleted file mode 100644
index e0e4244da6ac..000000000000
--- a/dev-libs/mpfr/mpfr-4.1.0-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
-
-inherit multilib-minimal
-
-DESCRIPTION="Library for multiple-precision floating-point computations with exact rounding"
-HOMEPAGE="https://www.mpfr.org/ https://gitlab.inria.fr/mpfr"
-SRC_URI="https://www.mpfr.org/mpfr-${PV}/${P}.tar.xz"
-
-LICENSE="LGPL-2.1"
-SLOT="0/6" # libmpfr.so version
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-IUSE="static-libs"
-
-RDEPEND=">=dev-libs/gmp-5.0.0:=[${MULTILIB_USEDEP},static-libs?]"
-DEPEND="${RDEPEND}"
-
-HTML_DOCS=( doc/FAQ.html )
-
-multilib_src_configure() {
- # Make sure mpfr doesn't go probing toolchains it shouldn't #476336#19
- ECONF_SOURCE=${S} \
- user_redefine_cc=yes \
- econf $(use_enable static-libs static)
-}
-
-multilib_src_install_all() {
- rm "${ED}"/usr/share/doc/"${P}"/COPYING*
- use static-libs || find "${ED}"/usr -name '*.la' -delete
-}
diff --git a/dev-libs/mpfr/mpfr-4.1.0_p13-r1.ebuild b/dev-libs/mpfr/mpfr-4.1.0_p13-r1.ebuild
deleted file mode 100644
index 0ac19f7cd365..000000000000
--- a/dev-libs/mpfr/mpfr-4.1.0_p13-r1.ebuild
+++ /dev/null
@@ -1,77 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit multilib-minimal
-
-# Upstream distribute patches before a new release is made
-# See https://www.mpfr.org/mpfr-current/#bugs for the latest version (and patches)
-
-# Check whether any patches touch e.g. manuals!
-# https://archives.gentoo.org/gentoo-releng-autobuilds/message/c2dd39fc4ebc849db6bb0f551739e2ed
-MY_PV=$(ver_cut 1-3)
-MY_PATCH=$(ver_cut 5-)
-MY_P=${PN}-${MY_PV}
-
-DESCRIPTION="Library for multiple-precision floating-point computations with exact rounding"
-HOMEPAGE="https://www.mpfr.org/ https://gitlab.inria.fr/mpfr"
-SRC_URI="https://www.mpfr.org/${MY_P}/${MY_P}.tar.xz"
-if [[ ${PV} == *_p* ]] ; then
- # If this is a patch release, we have to download each of the patches:
- # -_pN = N patches
- # - patch file names are like: patch01, patch02, ..., patch10, patch12, ..
- # => name the ebuild _pN where N is the number of patches on the 'bugs' page.
- my_patch_index=1
- while [[ ${my_patch_index} -le ${MY_PATCH} ]] ; do
- SRC_URI+=" "
- SRC_URI+=$(printf "https://www.mpfr.org/${MY_P}/patch%02d -> ${MY_P}-patch%02d.patch " ${my_patch_index} ${my_patch_index})
- my_patch_index=$((my_patch_index+1))
- done
- unset my_patch_index
-fi
-S="${WORKDIR}/${MY_P}"
-
-LICENSE="LGPL-2.1"
-# This is a critical package; if SONAME changes, bump subslot but also add
-# preserve-libs.eclass usage to pkg_*inst! See e.g. the readline ebuild.
-SLOT="0/6" # libmpfr.so version
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-IUSE="static-libs"
-
-RDEPEND=">=dev-libs/gmp-5.0.0:=[${MULTILIB_USEDEP},static-libs?]"
-DEPEND="${RDEPEND}"
-
-PATCHES=()
-
-if [[ ${PV} == *_p* ]] ; then
- # Apply the upstream patches released out of band
- PATCHES+=( "${DISTDIR}"/ )
-fi
-
-HTML_DOCS=( doc/FAQ.html )
-
-src_prepare() {
- default
-
- # 4.1.0_p13's patch10 patches a .texi file *and* the corresponding
- # info file. We need to make sure the info file is newer, so the
- # build doesn't try to run makeinfo. Won't be needed on next release.
- touch "${S}/doc/mpfr.info" || die
-}
-
-multilib_src_configure() {
- # bug 476336#19
- # Make sure mpfr doesn't go probing toolchains it shouldn't
- ECONF_SOURCE=${S} \
- user_redefine_cc=yes \
- econf $(use_enable static-libs static)
-}
-
-multilib_src_install_all() {
- rm "${ED}"/usr/share/doc/${PF}/COPYING* || die
-
- if ! use static-libs ; then
- find "${ED}"/usr -name '*.la' -delete || die
- fi
-}
diff --git a/dev-libs/mpfr/mpfr-4.2.1.ebuild b/dev-libs/mpfr/mpfr-4.2.1.ebuild
new file mode 100644
index 000000000000..33153eb470a0
--- /dev/null
+++ b/dev-libs/mpfr/mpfr-4.2.1.ebuild
@@ -0,0 +1,98 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/vincentlefevre.asc
+inherit multilib-minimal verify-sig
+
+# Upstream distribute patches before a new release is made
+# See https://www.mpfr.org/mpfr-current/#bugs for the latest version (and patches)
+
+# Check whether any patches touch e.g. manuals!
+# https://archives.gentoo.org/gentoo-releng-autobuilds/message/c2dd39fc4ebc849db6bb0f551739e2ed
+MY_PV=${PV%%_p*}
+MY_PATCH=$(ver_cut 5-)
+MY_PATCHES=()
+MY_P=${PN}-${MY_PV/_/-}
+
+DESCRIPTION="Library for multiple-precision floating-point computations with exact rounding"
+HOMEPAGE="https://www.mpfr.org/ https://gitlab.inria.fr/mpfr"
+SRC_URI="https://www.mpfr.org/${PN}-$(ver_cut 1-3)/${MY_P}.tar.xz"
+SRC_URI+=" verify-sig? ( https://www.mpfr.org/${PN}-$(ver_cut 1-3)/${MY_P}.tar.xz.asc )"
+
+if [[ ${PV} == *_p* ]] ; then
+ # If this is a patch release, we have to download each of the patches:
+ # -_pN = N patches
+ # - patch file names are like: patch01, patch02, ..., patch10, patch12, ..
+ #
+ # => name the ebuild _pN where N is the number of patches on the 'bugs' page.
+ patch_url_base="https://www.mpfr.org/${MY_P}"
+ my_patch_index=
+
+ for ((my_patch_index=1; my_patch_index <= MY_PATCH ; my_patch_index++)) ; do
+ printf -v mangled_patch_ver "patch%02d" "${my_patch_index}"
+
+ SRC_URI+=" ${patch_url_base}/${mangled_patch_ver} -> ${MY_P}-${mangled_patch_ver}.patch"
+
+ MY_PATCHES+=( "${DISTDIR}"/${MY_P}-${mangled_patch_ver}.patch )
+ done
+
+ unset patch_url_base my_patch_index mangled_patch_ver
+fi
+
+S="${WORKDIR}/${MY_P}"
+
+LICENSE="LGPL-3+"
+# This is a critical package; if SONAME changes, bump subslot but also add
+# preserve-libs.eclass usage to pkg_*inst! See e.g. the readline ebuild.
+SLOT="0/6" # libmpfr.so version
+if [[ ${PV} != *_rc* ]] ; then
+ KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+fi
+IUSE="static-libs"
+
+RDEPEND=">=dev-libs/gmp-5.0.0:=[${MULTILIB_USEDEP},static-libs?]"
+DEPEND="${RDEPEND}"
+BDEPEND="verify-sig? ( sec-keys/openpgp-keys-vincentlefevre )"
+
+PATCHES=(
+ # Apply the upstream patches released out-of-band; generated above
+ "${MY_PATCHES[@]}"
+
+ # Additional patches
+)
+
+HTML_DOCS=( doc/FAQ.html )
+
+src_unpack() {
+ use verify-sig && verify-sig_verify_detached "${DISTDIR}"/${MY_P}.tar.xz{,.asc}
+
+ # Avoid src_unpack noise from patches
+ unpack ${MY_P}.tar.xz
+}
+
+src_prepare() {
+ default
+
+ # 4.1.0_p13's patch10 patches a .texi file *and* the corresponding
+ # info file. We need to make sure the info file is newer, so the
+ # build doesn't try to run makeinfo. Won't be needed on next release.
+ #touch "${S}/doc/mpfr.info" || die
+}
+
+multilib_src_configure() {
+ # bug #476336#19
+ # Make sure mpfr doesn't go probing toolchains it shouldn't
+ ECONF_SOURCE="${S}" \
+ user_redefine_cc=yes \
+ econf $(use_enable static-libs static)
+}
+
+multilib_src_install_all() {
+ rm "${ED}"/usr/share/doc/${PF}/COPYING* || die
+
+ if ! use static-libs ; then
+ find "${ED}"/usr -name '*.la' -delete || die
+ fi
+}
diff --git a/dev-libs/msgpack/Manifest b/dev-libs/msgpack/Manifest
index 5590de8de0f3..7d06ba598e97 100644
--- a/dev-libs/msgpack/Manifest
+++ b/dev-libs/msgpack/Manifest
@@ -1 +1,2 @@
-DIST msgpack-3.3.0.tar.gz 508001 BLAKE2B 3017c44689f8afbf078b9c498449e21b4e3b87591c50a37bf9ae73869dab550819f24d6e5179a3600df297aa2c024e5a7fe1defcbab7c0f1aff826870de2ab32 SHA512 ad3e32edc8c6afd70282b3d4b493c2ffe74a697c41bd1f39030c5b4752cccefaa965bc049d4c2e63103a210bf714dc3bddd474691bc067d1475ae017593f55e6
+DIST msgpack-c-5.0.0.tar.gz 69275 BLAKE2B 9c4ebc60387028cba04d5a8f4d97ca3cf6caa3db93fa7da1a90089d63cd58b36a7fb387b4fd5410d0c422719c1aed6d479418d3cbc011b609afb49cf89c4d0e3 SHA512 f61f19c7dcb5ef2a94cd3fb84e9b090e236caa922f590496e6455bd49a3d001021b55d0f28cea3ce3c35558bedb64f2f932c0e107fb15e6efc6855b99cbe4de6
+DIST msgpack-c-6.0.0.tar.gz 69341 BLAKE2B e5f4f99266e568e7df46064803f869874559b766d32a3eb61f722b610753dd20eb755657eab305079ce0c3c6798848d6511b56d9e60cfedab6fa809cb2f1cb2f SHA512 77a2a3c984e04fcda298ae34571b6826f1d4f6e53b5f7166992269421ae3153b986ed69ba0360347920047e38f6941680bc9e38563ec79f15591bf8d66cd7978
diff --git a/dev-libs/msgpack/metadata.xml b/dev-libs/msgpack/metadata.xml
index 7d2a4745c20f..738a3c879cff 100644
--- a/dev-libs/msgpack/metadata.xml
+++ b/dev-libs/msgpack/metadata.xml
@@ -5,9 +5,6 @@
<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>
diff --git a/dev-libs/msgpack/msgpack-3.3.0.ebuild b/dev-libs/msgpack/msgpack-3.3.0.ebuild
deleted file mode 100644
index 0d604bbbc06e..000000000000
--- a/dev-libs/msgpack/msgpack-3.3.0.ebuild
+++ /dev/null
@@ -1,78 +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/${PN}/${PN}-c.git"
-else
- SRC_URI="https://github.com/${PN}/${PN}-c/releases/download/cpp-${PV}/${P}.tar.gz"
- KEYWORDS="amd64 ~arm ~arm64 ~riscv x86 ~amd64-linux ~x86-linux ~x64-macos"
-fi
-
-DESCRIPTION="MessagePack is a binary-based efficient data interchange format"
-HOMEPAGE="https://msgpack.org/ https://github.com/msgpack/msgpack-c/"
-
-LICENSE="Boost-1.0"
-SLOT="0/2"
-IUSE="boost +cxx doc examples static-libs test"
-RESTRICT="!test? ( test )"
-
-BDEPEND="doc? ( app-doc/doxygen[dot] )"
-RDEPEND="boost? ( dev-libs/boost[context,${MULTILIB_USEDEP}] )"
-DEPEND="${RDEPEND}
- test? (
- >=dev-cpp/gtest-1.6.0-r2[${MULTILIB_USEDEP}]
- sys-libs/zlib[${MULTILIB_USEDEP}]
- )
-"
-
-multilib_src_configure() {
- local mycmakeargs=(
- -DMSGPACK_BOOST="$(usex boost)"
- -DMSGPACK_ENABLE_CXX="$(usex cxx)"
- -DMSGPACK_ENABLE_STATIC="$(usex static-libs)"
- -DMSGPACK_BUILD_TESTS="$(usex test)"
- # don't build the examples
- -DMSGPACK_BUILD_EXAMPLES=OFF
- # enable C++11 by default
- -DMSGPACK_CXX11=ON
- )
-
- cmake_src_configure
-}
-
-multilib_src_compile() {
- cmake_src_compile
-
- if multilib_is_native_abi && use doc; then
- cmake_build doxygen
- fi
-}
-
-multilib_src_install() {
- if multilib_is_native_abi; then
- if use doc; then
- local HTML_DOCS=( "${BUILD_DIR}"/docs/. )
-
- mkdir docs || die
- mv doc_c/html docs/c || die
-
- if use cxx; then
- mv doc_cpp/html docs/cpp || die
- fi
- fi
-
- if use examples; then
- docinto examples
- dodoc -r "${WORKDIR}/${P}/example/."
- docompress -x /usr/share/doc/${PF}/examples
- fi
- fi
-
- cmake_src_install
-}
diff --git a/dev-libs/msgpack/msgpack-5.0.0.ebuild b/dev-libs/msgpack/msgpack-5.0.0.ebuild
new file mode 100644
index 000000000000..73d152b825c0
--- /dev/null
+++ b/dev-libs/msgpack/msgpack-5.0.0.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-multilib
+
+MY_PN="${PN}-c"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="MessagePack is a binary-based efficient data interchange format"
+HOMEPAGE="https://msgpack.org/ https://github.com/msgpack/msgpack-c/"
+SRC_URI="https://github.com/${PN}/${PN}-c/releases/download/c-${PV}/${MY_P}.tar.gz"
+
+LICENSE="Boost-1.0"
+SLOT="0/2"
+KEYWORDS="amd64 ~arm arm64 ~riscv x86 ~amd64-linux ~x86-linux ~x64-macos"
+IUSE="doc examples test"
+
+RESTRICT="!test? ( test )"
+
+BDEPEND="doc? ( app-text/doxygen[dot] )
+ test? (
+ dev-cpp/gtest[${MULTILIB_USEDEP}]
+ sys-libs/zlib[${MULTILIB_USEDEP}]
+ )"
+
+S="${WORKDIR}"/${MY_P}
+
+multilib_src_configure() {
+ local mycmakeargs=(
+ -DMSGPACK_BUILD_EXAMPLES=OFF
+ -DMSGPACK_BUILD_TESTS="$(usex test)"
+ )
+
+ cmake_src_configure
+}
+
+multilib_src_compile() {
+ cmake_src_compile
+
+ if multilib_is_native_abi && use doc; then
+ cmake_build doxygen
+ fi
+}
+
+multilib_src_install() {
+ if multilib_is_native_abi; then
+ if use doc; then
+ local HTML_DOCS=( "${BUILD_DIR}"/doc_c/html/. )
+ fi
+
+ if use examples; then
+ docinto examples
+ dodoc -r "${S}"/example/.
+ docompress -x /usr/share/doc/${PF}/examples
+ fi
+ fi
+
+ cmake_src_install
+}
diff --git a/dev-libs/msgpack/msgpack-6.0.0-r1.ebuild b/dev-libs/msgpack/msgpack-6.0.0-r1.ebuild
new file mode 100644
index 000000000000..25481bdc6a76
--- /dev/null
+++ b/dev-libs/msgpack/msgpack-6.0.0-r1.ebuild
@@ -0,0 +1,65 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake-multilib
+
+MY_PN="${PN}-c"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="MessagePack is a binary-based efficient data interchange format"
+HOMEPAGE="https://msgpack.org/ https://github.com/msgpack/msgpack-c/"
+SRC_URI="https://github.com/${PN}/${PN}-c/releases/download/c-${PV}/${MY_P}.tar.gz"
+
+LICENSE="Boost-1.0"
+# Need the -c as a one-off (can drop on next soname bump) as the library rename
+# from libmsgpackc.so.2 -> libmsgpack-c.so.2 is effectively an ABI break and
+# has all the same problems a new SONAME would have.
+# See https://github.com/msgpack/msgpack-c/pull/1053.
+SLOT="0/2-c"
+KEYWORDS="amd64 ~arm arm64 ~ppc ~ppc64 ~riscv x86 ~amd64-linux ~x86-linux ~x64-macos"
+IUSE="doc examples test"
+
+RESTRICT="!test? ( test )"
+
+BDEPEND="doc? ( app-text/doxygen[dot] )
+ test? (
+ dev-cpp/gtest[${MULTILIB_USEDEP}]
+ sys-libs/zlib[${MULTILIB_USEDEP}]
+ )"
+
+S="${WORKDIR}"/${MY_P}
+
+multilib_src_configure() {
+ local mycmakeargs=(
+ -DMSGPACK_BUILD_EXAMPLES=OFF
+ -DMSGPACK_BUILD_TESTS="$(usex test)"
+ )
+
+ cmake_src_configure
+}
+
+multilib_src_compile() {
+ cmake_src_compile
+
+ if multilib_is_native_abi && use doc; then
+ cmake_build doxygen
+ fi
+}
+
+multilib_src_install() {
+ if multilib_is_native_abi; then
+ if use doc; then
+ local HTML_DOCS=( "${BUILD_DIR}"/doc_c/html/. )
+ fi
+
+ if use examples; then
+ docinto examples
+ dodoc -r "${S}"/example/.
+ docompress -x /usr/share/doc/${PF}/examples
+ fi
+ fi
+
+ cmake_src_install
+}
diff --git a/dev-libs/mxml/Manifest b/dev-libs/mxml/Manifest
index 1f5e1737dbcb..bd86a98baf5f 100644
--- a/dev-libs/mxml/Manifest
+++ b/dev-libs/mxml/Manifest
@@ -1 +1,2 @@
-DIST mxml-3.3.tar.gz 1550358 BLAKE2B 2b815cd8c2031099e2767caad93cc389962ec547fadade92b0a7fb48a2352fd0940c9e434c2081b7419e0cfb489266d7116dacefd6fb9d7ce40d6de0f49cb2a6 SHA512 5a8453bec17e46afc9b100df03dba2219353a076152f34a5dc41b7f042fa570723effc3472680a4380674c412c3ab31e017f6704b1e8308227a4d9b3f13cb197
+DIST mxml-3.3.1.tar.gz 1554784 BLAKE2B e0d599fd947dfef72edae40c1e70ea76c92105128dd46e772a7c71f9293cab3339c980396dffe105246cad64d0474935cc1939005ad9a2bffc8e8107f025a466 SHA512 43e6a92806d9c3f5db39fbf960c15ebfa6d92ef98274b7ce39b57724d6c26ad4362d6d8f3c1023efda92e6a815df068e5038a0cd479562b6be9dbdda8e827a41
+DIST mxml-4.0.2.tar.gz 1576722 BLAKE2B b5016adaf88801ec31852231ef31389d7d1d43b214d6b99e4e2b6bbfa47ba3c68fa9ac6b2ea332a61bf71688684c81e6863f1da38e30d4509cfa20f4ae943d19 SHA512 41fbd71bd390e63f0d44d006a3bcbdf95b7d3a09ea69a90d3dc86717d6f7edcd93875e6343b6d9f56ce8b2c3d34fdd4bcbb9992fb81c3392fb3deb5e3beb9482
diff --git a/dev-libs/mxml/files/mxml-4.0.2-rename-man-page.patch b/dev-libs/mxml/files/mxml-4.0.2-rename-man-page.patch
new file mode 100644
index 000000000000..a37a8fd56a90
--- /dev/null
+++ b/dev-libs/mxml/files/mxml-4.0.2-rename-man-page.patch
@@ -0,0 +1,20 @@
+--- a/Makefile.in
++++ b/Makefile.in
+@@ -219,7 +219,7 @@
+ $(INSTALL_DATA) mxml4.pc $(BUILDROOT)$(libdir)/pkgconfig/$(MXML_PC)
+ echo Installing man pages in $(BUILDROOT)$(mandir)...
+ $(INSTALL_DIR) $(BUILDROOT)$(mandir)/man3
+- $(INSTALL_MAN) doc/mxml.3 $(BUILDROOT)$(mandir)/man3/mxml.3
++ $(INSTALL_MAN) doc/mxml.3 $(BUILDROOT)$(mandir)/man3/mxml4.3
+
+ install-libmxml.a: libmxml.a
+ echo Installing libmxml.a to $(BUILDROOT)$(libdir)...
+@@ -276,7 +276,7 @@
+ echo Uninstalling pkgconfig files from $(BUILDROOT)$(libdir)/pkgconfig...
+ $(RM) $(BUILDROOT)$(libdir)/pkgconfig/mxml.pc
+ echo Uninstalling man pages from $(BUILDROOT)$(mandir)...
+- $(RM) $(BUILDROOT)$(mandir)/man3/mxml.3
++ $(RM) $(BUILDROOT)$(mandir)/man3/mxml4.3
+
+ uninstall-libmxml.a:
+ echo Uninstalling libmxml.a from $(BUILDROOT)$(libdir)...
diff --git a/dev-libs/mxml/mxml-3.3.1-r1.ebuild b/dev-libs/mxml/mxml-3.3.1-r1.ebuild
new file mode 100644
index 000000000000..615baea02a93
--- /dev/null
+++ b/dev-libs/mxml/mxml-3.3.1-r1.ebuild
@@ -0,0 +1,63 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools
+
+DESCRIPTION="A small XML parsing library that you can use to read XML data files or strings"
+HOMEPAGE="
+ https://github.com/michaelrsweet/mxml
+ https://www.msweet.org/mxml/
+"
+SRC_URI="https://github.com/michaelrsweet/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="Mini-XML"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm ~arm64 ~hppa ~ia64 ppc ~ppc64 ~riscv ~sparc x86"
+IUSE="static-libs threads"
+
+BDEPEND="virtual/pkgconfig"
+
+src_prepare() {
+ default
+
+ # Don't hardcode FORTIFY_SOURCe
+ sed -e 's/-D_FORTIFY_SOURCE=2//g' -i configure || die
+ sed -e 's/-D_FORTIFY_SOURCE=2//g' -i configure.ac || die
+
+ # Don't run always tests
+ # Enable verbose compiling
+ sed -e '/ALLTARGETS/s/testmxml//g' -e '/.SILENT:/d' -i Makefile.in || die
+
+ # Build only static-libs, when requested by user, also build docs without static-libs in that case
+ if ! use static-libs; then
+ local mysedopts=(
+ -e '/^install:/s/install-libmxml.a//g'
+ -e '/^mxml.xml:/s/-static//g'
+ -e '/^mxml.epub:/s/-static//g'
+ -e '/^valgrind/s/-static//g'
+ -e 's/.\/mxmldoc-static/LD_LIBRARY_PATH="." .\/mxmldoc/g'
+ )
+ sed "${mysedopts[@]}" -i Makefile.in || die
+ fi
+
+ eautoconf
+}
+
+src_configure() {
+ local myeconfargs=(
+ $(use_enable threads)
+ --with-docdir=/usr/share/doc/"${PF}"
+ )
+
+ econf "${myeconfargs[@]}"
+}
+
+src_test() {
+ emake testmxml
+}
+
+src_install() {
+ emake DSTROOT="${ED}" install
+}
diff --git a/dev-libs/mxml/mxml-3.3.ebuild b/dev-libs/mxml/mxml-3.3.ebuild
deleted file mode 100644
index cd7924fd99c9..000000000000
--- a/dev-libs/mxml/mxml-3.3.ebuild
+++ /dev/null
@@ -1,59 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit autotools
-
-DESCRIPTION="A small XML parsing library that you can use to read XML data files or strings"
-HOMEPAGE="
- https://github.com/michaelrsweet/mxml
- https://www.msweet.org/mxml/
-"
-SRC_URI="https://github.com/michaelrsweet/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="Mini-XML"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm ~arm64 ~hppa ~ia64 ppc ~ppc64 ~riscv ~sparc x86"
-IUSE="static-libs threads"
-
-BDEPEND="virtual/pkgconfig"
-
-src_prepare() {
- default
-
- # Don't run always tests
- # Enable verbose compiling
- sed -e '/ALLTARGETS/s/testmxml//g' -e '/.SILENT:/d' -i Makefile.in || die
-
- # Build only static-libs, when requested by user, also build docs without static-libs in that case
- if ! use static-libs; then
- local mysedopts=(
- -e '/^install:/s/install-libmxml.a//g'
- -e '/^mxml.xml:/s/-static//g'
- -e '/^mxml.epub:/s/-static//g'
- -e '/^valgrind/s/-static//g'
- -e 's/.\/mxmldoc-static/LD_LIBRARY_PATH="." .\/mxmldoc/g'
- )
- sed "${mysedopts[@]}" -i Makefile.in || die
- fi
-
- eautoconf
-}
-
-src_configure() {
- local myeconfargs=(
- $(use_enable threads)
- --with-docdir=/usr/share/doc/"${PF}"
- )
-
- econf "${myeconfargs[@]}"
-}
-
-src_test() {
- emake testmxml
-}
-
-src_install() {
- emake DSTROOT="${ED}" install
-}
diff --git a/dev-libs/mxml/mxml-4.0.2.ebuild b/dev-libs/mxml/mxml-4.0.2.ebuild
new file mode 100644
index 000000000000..4725865ea65f
--- /dev/null
+++ b/dev-libs/mxml/mxml-4.0.2.ebuild
@@ -0,0 +1,63 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools toolchain-funcs
+
+DESCRIPTION="A small XML parsing library that you can use to read XML data files or strings"
+HOMEPAGE="
+ https://github.com/michaelrsweet/mxml
+ https://www.msweet.org/mxml/
+"
+SRC_URI="https://github.com/michaelrsweet/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="Mini-XML"
+SLOT="4"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~riscv ~sparc ~x86"
+IUSE="static-libs test threads"
+RESTRICT="!test? ( test )"
+
+BDEPEND="virtual/pkgconfig"
+
+PATCHES=( "${FILESDIR}/${PN}-4.0.2-rename-man-page.patch" )
+
+src_prepare() {
+ default
+
+ # Don't hardcode FORTIFY_SOURCE
+ sed -e 's/-D_FORTIFY_SOURCE=3//g' -i configure || die
+ sed -e 's/-D_FORTIFY_SOURCE=3//g' -i configure.ac || die
+
+ # Don't run always tests
+ # Enable verbose compiling
+ sed -e '/ALLTARGETS/s/testmxml//g' -e '/.SILENT:/d' -i Makefile.in || die
+ eautoconf
+}
+
+src_configure() {
+ local myeconfargs=(
+ AR="$(tc-getAR)"
+ $(use_enable static-libs static)
+ $(use_enable threads)
+ --with-docdir=/usr/share/doc/"${PF}"
+ --with-dsoflags="${LDFLAGS}"
+ --with-ldflags="${LDFLAGS}"
+
+ )
+
+ econf "${myeconfargs[@]}"
+}
+
+src_compile() {
+ default
+ use test && emake testmxml
+}
+
+src_test() {
+ emake test
+}
+
+src_install() {
+ emake DSTROOT="${ED}" install
+}
diff --git a/dev-libs/nanomsg/Manifest b/dev-libs/nanomsg/Manifest
index d73398817638..57a64ee14c0e 100644
--- a/dev-libs/nanomsg/Manifest
+++ b/dev-libs/nanomsg/Manifest
@@ -1 +1,2 @@
DIST nanomsg-1.1.5.tar.gz 310739 BLAKE2B be3a6c3b8d41373798909f24f49c24018d99454e431dc64105a554021b1b49c8ed4fc6d14adfef315f5defd38d19482ab3a7625ea54fefea0794f149038ddfd4 SHA512 773b8e169a7accac21414c63972423a249164f5b843c6c65c1b03a2eb90d21da788a98debdeb396dab795e52d30605696bc2cf65e5e05687bf115438d5b22717
+DIST nanomsg-1.2.1.tar.gz 310191 BLAKE2B 8b02bf60196ce3d316643547e0a88cc63227306a24551f97a141e99996390cf3a8f1c838c6416991d09ff1309da5c69d995021585a5b8bcd02113fdcc232225a SHA512 cc119acafe6e000b75299e866b4bace56ec6d8c90e7843ad773efad7b534296d6baf2b75b107c70a0e4fd4cee9763315d87b6f354676b7915732961b89c3adcb
diff --git a/dev-libs/nanomsg/nanomsg-1.1.5-r1.ebuild b/dev-libs/nanomsg/nanomsg-1.1.5-r1.ebuild
new file mode 100644
index 000000000000..5dd9df1bf8ae
--- /dev/null
+++ b/dev-libs/nanomsg/nanomsg-1.1.5-r1.ebuild
@@ -0,0 +1,36 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+DESCRIPTION="High-performance messaging interface for distributed applications"
+HOMEPAGE="https://nanomsg.org/"
+SRC_URI="https://github.com/nanomsg/nanomsg/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0/5.0.0"
+KEYWORDS="amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~riscv x86"
+IUSE="doc"
+
+BDEPEND="doc? ( dev-ruby/asciidoctor )"
+
+src_prepare() {
+ # Old CPUs like HPPA fails test because of timeout
+ sed -i \
+ -e '/inproc_shutdown/s/5/80/' \
+ -e '/ws_async_shutdown/s/5/80/' \
+ -e '/ipc_shutdown/s/30/80/' CMakeLists.txt || die
+
+ cmake_src_prepare
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DNN_STATIC_LIB=OFF
+ -DNN_ENABLE_DOC=$(usex doc)
+ )
+
+ cmake_src_configure
+}
diff --git a/dev-libs/nanomsg/nanomsg-1.1.5.ebuild b/dev-libs/nanomsg/nanomsg-1.1.5.ebuild
deleted file mode 100644
index cb84542b8ab5..000000000000
--- a/dev-libs/nanomsg/nanomsg-1.1.5.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
-
-CMAKE_ECLASS=cmake
-inherit cmake-multilib
-
-DESCRIPTION="High-performance messaging interface for distributed applications"
-HOMEPAGE="https://nanomsg.org/"
-SRC_URI="https://github.com/nanomsg/nanomsg/archive/${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0/5.0.0"
-KEYWORDS="amd64 ~arm ~arm64 ~hppa ~ppc ~riscv x86"
-IUSE="doc"
-
-DEPEND="doc? ( dev-ruby/asciidoctor )"
-
-multilib_src_prepare() {
- eapply_user
- # Old CPUs like HPPA fails test because of timeout
- sed -i \
- -e '/inproc_shutdown/s/5/80/' \
- -e '/ws_async_shutdown/s/5/80/' \
- -e '/ipc_shutdown/s/30/80/' CMakeLists.txt || die
-}
-
-multilib_src_configure() {
- local mycmakeargs=(
- -DNN_STATIC_LIB=OFF
- )
- if multilib_is_native_abi; then
- mycmakeargs+=(
- -DNN_ENABLE_DOC=$(usex doc ON OFF)
- )
- else
- mycmakeargs+=(
- -DNN_ENABLE_DOC=OFF
- -DNN_ENABLE_TOOLS=OFF
- -DNN_ENABLE-NANOCAT=OFF
- )
- fi
- cmake_src_configure
-}
diff --git a/dev-libs/nanomsg/nanomsg-1.2.1.ebuild b/dev-libs/nanomsg/nanomsg-1.2.1.ebuild
new file mode 100644
index 000000000000..b59b5e224ccd
--- /dev/null
+++ b/dev-libs/nanomsg/nanomsg-1.2.1.ebuild
@@ -0,0 +1,36 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+DESCRIPTION="High-performance messaging interface for distributed applications"
+HOMEPAGE="https://nanomsg.org/"
+SRC_URI="https://github.com/nanomsg/nanomsg/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0/6.0.1"
+KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~riscv x86"
+IUSE="doc"
+
+BDEPEND="doc? ( dev-ruby/asciidoctor )"
+
+src_prepare() {
+ # Old CPUs like HPPA fails test because of timeout
+ sed -i \
+ -e '/inproc_shutdown/s/10/80/' \
+ -e '/ws_async_shutdown/s/10/80/' \
+ -e '/ipc_shutdown/s/40/80/' CMakeLists.txt || die
+
+ cmake_src_prepare
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DNN_STATIC_LIB=OFF
+ -DNN_ENABLE_DOC=$(usex doc)
+ )
+
+ cmake_src_configure
+}
diff --git a/dev-libs/ncnn/Manifest b/dev-libs/ncnn/Manifest
index c665eea3385d..2792cf0ec9c4 100644
--- a/dev-libs/ncnn/Manifest
+++ b/dev-libs/ncnn/Manifest
@@ -1 +1,2 @@
-DIST ncnn-20210525.tar.gz 11578821 BLAKE2B 1b6dc67cb89e4761c6de256c8854c3969c553159c11713d9bbbe04abd027e9439ffb694e8129da4d965807d1ec326d643c71c00ee1f032dbf4c2271c2699ceb2 SHA512 5d919b6830f5a75c751d64476f5bf2b9b71ced1cee29e4156c4f01a9d7d8833dfdf8420747c55979c5b39b29fd63b5bf4bc3d27b756a617ef39f4e2ce4da2f93
+DIST ncnn-20240102.tar.gz 12791570 BLAKE2B 8a84353343d32bea1ef163a83cdef783a8a6077282e94a012d21a17b2e0d8c78c576ebd1dc5c9ec89364942b4ce69ab44d544648fe2dbd5fda4797b3b65adfd8 SHA512 31bc3c2f461a00241fb8f69ca6ea8cc590af6618856b1b84a048bde924e4b474fd883ad5d54dbfbdd1e5b59015889e15ffc4fbafccb3e42e052a02071f2017b1
+DIST ncnn-20240410.tar.gz 12835689 BLAKE2B b4c2ffdf525719dca81d020695f03cd963c3a1f1a0ecc61b6e08c75da212d280210bf1be9b54343a771661fef747675e7f08d0dd9e3ea942adfda1e07d1f6868 SHA512 61865af26aecc6b0eccdfd46c5b3f6e4dd06d7409298051c91d141e64b8c15690f2f982c0aeb3a11d3a575061ab7606710cb0e710f4cb6539c7a14ff440aaaf7
diff --git a/dev-libs/ncnn/files/ncnn-fix-glslang-include.patch b/dev-libs/ncnn/files/ncnn-fix-glslang-include.patch
deleted file mode 100644
index 00eb01f03fc3..000000000000
--- a/dev-libs/ncnn/files/ncnn-fix-glslang-include.patch
+++ /dev/null
@@ -1,9 +0,0 @@
-Needed to use system's glslang rather than bundled.
-https://github.com/Tencent/ncnn/issues/2622
---- a/src/gpu.cpp
-+++ b/src/gpu.cpp
-@@ -23,3 +23,3 @@
- #include "glslang/SPIRV/GlslangToSpv.h"
--#include "glslang/glslang/Public/ShaderLang.h"
-+#include "glslang/Public/ShaderLang.h"
-
diff --git a/dev-libs/ncnn/metadata.xml b/dev-libs/ncnn/metadata.xml
index dca10975bb5f..99103221bbbb 100644
--- a/dev-libs/ncnn/metadata.xml
+++ b/dev-libs/ncnn/metadata.xml
@@ -2,16 +2,11 @@
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
- <email>slashbeast@gentoo.org</email>
- <name>Piotr Karbowski</name>
- </maintainer>
- <maintainer type="person">
<email>ionen@gentoo.org</email>
<name>Ionen Wolkens</name>
</maintainer>
<use>
<flag name="tools">Enable installation of various tools in addition to the library</flag>
- <flag name="vulkan">Enable vulkan compute support</flag>
</use>
<upstream>
<remote-id type="github">Tencent/ncnn</remote-id>
diff --git a/dev-libs/ncnn/ncnn-20210525.ebuild b/dev-libs/ncnn/ncnn-20210525.ebuild
deleted file mode 100644
index efac9e4e5810..000000000000
--- a/dev-libs/ncnn/ncnn-20210525.ebuild
+++ /dev/null
@@ -1,76 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit cmake
-
-DESCRIPTION="High-performance neural network inference framework"
-HOMEPAGE="https://github.com/Tencent/ncnn"
-SRC_URI="https://github.com/Tencent/ncnn/archive/${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="BSD ZLIB"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE="tools +vulkan"
-
-# Need the static library to run tests:
-# -DNCNN_BUILD_TESTS=ON, -DNCNN_SHARED_LIB=OFF, USE=-vulkan (skip GPU)
-RESTRICT="test"
-
-RDEPEND="
- dev-util/glslang
- tools? ( dev-libs/protobuf:= )
- vulkan? ( media-libs/vulkan-loader )"
-DEPEND="
- ${RDEPEND}
- vulkan? ( dev-util/vulkan-headers )"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-fix-glslang-include.patch
-)
-DOCS=( README.md docs/. )
-
-src_prepare() {
- cmake_src_prepare
-
- sed -i "/DESTINATION/s| lib| $(get_libdir)|" src/CMakeLists.txt || die
-
- # Workaround build issues on AVX without AVX2 (bug #730468)
- # This can be removed if CXXFLAGS="-mavx -mno-avx2" builds after a bump.
- find src -type f -exec sed -i s/__AVX__/__AVX2__/g {} + || die
-}
-
-src_configure() {
- local mycmakeargs=(
- -DCMAKE_SKIP_RPATH=ON # for tools
- -DGLSLANG_TARGET_DIR="${ESYSROOT}"/usr/$(get_libdir)/cmake
- -DNCNN_BUILD_EXAMPLES=OFF
- -DNCNN_BUILD_TOOLS=$(usex tools)
- -DNCNN_PYTHON=OFF # missing portalocker, and nothing needs this for now
- -DNCNN_SHARED_LIB=ON
- -DNCNN_SYSTEM_GLSLANG=ON
- -DNCNN_VERSION=${PV} # avoids libncnn.so.*.%Y%m%d (build date)
- -DNCNN_VULKAN=$(usex vulkan)
- )
-
- cmake_src_configure
-}
-
-src_install() {
- cmake_src_install
-
- if use tools; then
- local tools=(
- caffe/caffe2ncnn
- darknet/darknet2ncnn
- mxnet/mxnet2ncnn
- ncnn2mem
- ncnnmerge
- ncnnoptimize
- onnx/onnx2ncnn
- quantize/{ncnn2int8,ncnn2table}
- )
- dobin "${tools[@]/#/${BUILD_DIR}/tools/}"
- fi
-}
diff --git a/dev-libs/ncnn/ncnn-20240102-r1.ebuild b/dev-libs/ncnn/ncnn-20240102-r1.ebuild
new file mode 100644
index 000000000000..3ca6898ed9c5
--- /dev/null
+++ b/dev-libs/ncnn/ncnn-20240102-r1.ebuild
@@ -0,0 +1,68 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake toolchain-funcs
+
+DESCRIPTION="High-performance neural network inference framework"
+HOMEPAGE="https://github.com/Tencent/ncnn/"
+SRC_URI="
+ https://github.com/Tencent/ncnn/archive/refs/tags/${PV}.tar.gz
+ -> ${P}.tar.gz
+"
+
+LICENSE="BSD ZLIB"
+SLOT="0/${PV}" # currently has unstable ABI that often requires rebuilds
+KEYWORDS="amd64 ~x86"
+IUSE="openmp tools +vulkan"
+
+# Need the static library to run tests + skip vulkan / GPU:
+# -DNCNN_BUILD_TESTS=ON -DNCNN_SHARED_LIB=OFF -DNCNN_VULKAN=OFF
+RESTRICT="test"
+
+RDEPEND="
+ tools? (
+ dev-cpp/abseil-cpp:=
+ dev-libs/protobuf:=
+ )
+ vulkan? (
+ dev-util/glslang:=
+ media-libs/vulkan-loader
+ )
+"
+DEPEND="
+ ${RDEPEND}
+ vulkan? ( dev-util/vulkan-headers )
+"
+
+DOCS=( README.md docs/. )
+
+pkg_pretend() {
+ [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
+}
+
+pkg_setup() {
+ [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DGLSLANG_TARGET_DIR="${ESYSROOT}"/usr/$(get_libdir)/cmake
+ -DNCNN_BUILD_EXAMPLES=no
+ -DNCNN_BUILD_TOOLS=$(usex tools)
+ -DNCNN_OPENMP=$(usex openmp)
+ -DNCNN_PYTHON=no # todo if something needs it
+ -DNCNN_SHARED_LIB=yes
+ -DNCNN_SIMPLEVK=no
+ -DNCNN_SYSTEM_GLSLANG=yes
+ -DNCNN_VERSION=${PV} # avoids libncnn.so.*.%Y%m%d using build date
+ -DNCNN_VULKAN=$(usex vulkan)
+ )
+
+ # temporary workaround due to a >=clang-18 regression (bug #929228)
+ tc-is-clang && [[ $(clang-major-version) -ge 18 ]] &&
+ mycmakeargs+=( -DNCNN_AVX512BF16=no )
+
+ cmake_src_configure
+}
diff --git a/dev-libs/ncnn/ncnn-20240410.ebuild b/dev-libs/ncnn/ncnn-20240410.ebuild
new file mode 100644
index 000000000000..2bb0594c7321
--- /dev/null
+++ b/dev-libs/ncnn/ncnn-20240410.ebuild
@@ -0,0 +1,68 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake toolchain-funcs
+
+DESCRIPTION="High-performance neural network inference framework"
+HOMEPAGE="https://github.com/Tencent/ncnn/"
+SRC_URI="
+ https://github.com/Tencent/ncnn/archive/refs/tags/${PV}.tar.gz
+ -> ${P}.tar.gz
+"
+
+LICENSE="BSD ZLIB"
+SLOT="0/${PV}" # currently has unstable ABI that often requires rebuilds
+KEYWORDS="~amd64 ~x86"
+IUSE="openmp tools +vulkan"
+
+# Need the static library to run tests + skip vulkan / GPU:
+# -DNCNN_BUILD_TESTS=ON -DNCNN_SHARED_LIB=OFF -DNCNN_VULKAN=OFF
+RESTRICT="test"
+
+RDEPEND="
+ tools? (
+ dev-cpp/abseil-cpp:=
+ dev-libs/protobuf:=
+ )
+ vulkan? (
+ dev-util/glslang:=
+ media-libs/vulkan-loader
+ )
+"
+DEPEND="
+ ${RDEPEND}
+ vulkan? ( dev-util/vulkan-headers )
+"
+
+DOCS=( README.md docs/. )
+
+pkg_pretend() {
+ [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
+}
+
+pkg_setup() {
+ [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DGLSLANG_TARGET_DIR="${ESYSROOT}"/usr/$(get_libdir)/cmake
+ -DNCNN_BUILD_EXAMPLES=no
+ -DNCNN_BUILD_TOOLS=$(usex tools)
+ -DNCNN_OPENMP=$(usex openmp)
+ -DNCNN_PYTHON=no # todo if something needs it
+ -DNCNN_SHARED_LIB=yes
+ -DNCNN_SIMPLEVK=no
+ -DNCNN_SYSTEM_GLSLANG=yes
+ -DNCNN_VERSION=${PV} # avoids libncnn.so.*.%Y%m%d using build date
+ -DNCNN_VULKAN=$(usex vulkan)
+ )
+
+ # temporary workaround due to a >=clang-18 regression (bug #929228)
+ tc-is-clang && [[ $(clang-major-version) -ge 18 ]] &&
+ mycmakeargs+=( -DNCNN_AVX512BF16=no )
+
+ cmake_src_configure
+}
diff --git a/dev-libs/nettle/Manifest b/dev-libs/nettle/Manifest
index bdf71382ac2e..80fa221ca4ae 100644
--- a/dev-libs/nettle/Manifest
+++ b/dev-libs/nettle/Manifest
@@ -1 +1,6 @@
-DIST nettle-3.7.3.tar.gz 2383985 BLAKE2B 8d8efbbff98fc1f3eff3296681d3d72346e78392f356aebfe80138ae6ae1ebf3695bd7f74b906beef0cf3625ba6d84bdb43c0f6707f54f4d98870d50c90ac9a3 SHA512 9901eba305421adff6d551ac7f478dff3f68a339d444c776724ab0b977fe6be792b1d2950c8705acbe76bd924fd6d898a65eded546777884be3b436d0e052437
+DIST nettle-3.8.1.tar.gz 2406251 BLAKE2B 22b4ec81645b579504356597ba87b637e46285682020c90e03ecaea386ac9b48eaf91ee76ae3b86b6060be355de20c320ab3b74958074ad23fc08ad9ab6a4cbb SHA512 a405da3438d185d96917b03b00abb9ab43e04f58f770f657f716c25d64bb258ee170a71328e74736caa7121f50c0c89d3cc840c1201d2a92cfaf1357d24bdc6a
+DIST nettle-3.8.1.tar.gz.sig 374 BLAKE2B e2bfce4aaa1be114fb9bf8724f25db75c69c3b98538df46e9b1428ce615f7db3b9e9f9240d232fddac195db4568439b3f58989c20beca82aa6db79f4956db547 SHA512 978304b1faa5adc3b0d6ea7e9597af6154ad5d6e328913ac19184ece94771fdb2a7d5ce0af535ae8d28cb6ccd94fb3d4ef2613c0356df9e08b5d4c26ea646e09
+DIST nettle-3.9.1.tar.gz 2396741 BLAKE2B e3ceaefa19491e58f26b900beaf8b4e746feb2357c7677f5c050f257f4a23c304773446b6283a42a82cf9640e16522b8a71c47f137759f1df23cdeee4625d142 SHA512 5939c4b43cf9ff6c6272245b85f123c81f8f4e37089fa4f39a00a570016d837f6e706a33226e4bbfc531b02a55b2756ff312461225ed88de338a73069e031ced
+DIST nettle-3.9.1.tar.gz.sig 374 BLAKE2B 41c37cc0ea649445c7e4bbe2d0e9ab1c6f7bb50000adef2c2ee4828e7efdd2d7c6d823d64209f251cb7d82ce85e73768430a435ee7f1d5a3732e744987918d0c SHA512 fe6f4c9746e7dbc10f61843673de95d2faea209b1caea5c7bf69b81d3f6b2248a4907012b2baf0d65e54682f835cff465482db37615b789017ce0a9e7e267d7d
+DIST nettle-3.9.tar.gz 2393838 BLAKE2B 80885fa380de58765155a5d4b209e524f4bd0336156ba6f5189702007438998094df0e4e801370fd0a74251b8cf91f46638b0c0139388c2c2098b1207ed3415c SHA512 5e44f59b37ec1e92345fce0b963151d1f2aabf01b3a197b8d931067c51af4ba025059c6a07f2bcd19b17eb49d6ede98f5c200e58d340959826cda473459d2fba
+DIST nettle-3.9.tar.gz.sig 374 BLAKE2B 4fb9fbdafd01712db2506e070a64b6821dcc0c3ff3cea83011662ee4cdd5120ed10c6fa7b41d556069fe2d8827a312e94bb3586be845284fa7a7ac75f000a750 SHA512 8cf060e9f8e0dc0a70a7d324cf2366e0fc990fca2d8a1c677e66382f6853f96146fe30ea9b8629030991f4799430c7660ae7867c94167760bb945abb526b5bda
diff --git a/dev-libs/nettle/metadata.xml b/dev-libs/nettle/metadata.xml
index a654b0cda058..bb86443f7022 100644
--- a/dev-libs/nettle/metadata.xml
+++ b/dev-libs/nettle/metadata.xml
@@ -7,8 +7,6 @@
</maintainer>
<upstream>
<remote-id type="cpe">cpe:/a:nettle_project:nettle</remote-id>
+ <remote-id type="github">gnutls/nettle</remote-id>
</upstream>
- <use>
- <flag name="asm">Support assembly hand optimized crypto functions (i.e. faster run time)</flag>
- </use>
</pkgmetadata>
diff --git a/dev-libs/nettle/nettle-3.7.3.ebuild b/dev-libs/nettle/nettle-3.7.3.ebuild
deleted file mode 100644
index 88f5f2c3fec8..000000000000
--- a/dev-libs/nettle/nettle-3.7.3.ebuild
+++ /dev/null
@@ -1,67 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit autotools multilib-build multilib-minimal toolchain-funcs
-
-DESCRIPTION="Low-level cryptographic library"
-HOMEPAGE="http://www.lysator.liu.se/~nisse/nettle/"
-SRC_URI="mirror://gnu/${PN}/${P}.tar.gz"
-
-LICENSE="|| ( LGPL-3 LGPL-2.1 )"
-SLOT="0/8-6" # subslot = libnettle - libhogweed soname version
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-IUSE="+asm doc +gmp static-libs test cpu_flags_x86_aes cpu_flags_arm_neon cpu_flags_x86_sha"
-RESTRICT="!test? ( test )"
-
-DEPEND="gmp? ( >=dev-libs/gmp-6.1:0=[static-libs?,${MULTILIB_USEDEP}] )"
-RDEPEND="${DEPEND}"
-BDEPEND="doc? ( sys-apps/texinfo )"
-
-MULTILIB_WRAPPED_HEADERS=(
- /usr/include/nettle/version.h
-)
-
-DOCS=()
-HTML_DOCS=()
-
-pkg_setup() {
- use doc && DOCS+=(
- nettle.pdf
- )
- use doc && HTML_DOCS+=(
- nettle.html
- )
-}
-
-src_prepare() {
- default
-
- # I do not see in config.sub reference to sunldsolaris.
- # if someone complains readd
- # -e 's/solaris\*)/sunldsolaris*)/' \
- sed -e '/CFLAGS=/s: -ggdb3::' \
- -i configure.ac || die
-
- eautoreconf
-}
-
-multilib_src_configure() {
- local myeconfargs=(
- CC_FOR_BUILD="$(tc-getBUILD_CC)"
- $(tc-is-static-only && echo --disable-shared)
- $(use_enable cpu_flags_x86_aes x86-aesni)
- $(use_enable cpu_flags_x86_sha x86-sha-ni)
- $(use_enable asm assembler)
- $(use_enable doc documentation)
- $(use_enable gmp public-key)
- $(use_enable cpu_flags_arm_neon arm-neon)
- $(use_enable static-libs static)
- --disable-fat
- # --disable-openssl bug #427526
- --disable-openssl
- --libdir="${EPREFIX}"/usr/$(get_libdir)
- )
- ECONF_SOURCE="${S}" econf "${myeconfargs[@]}"
-}
diff --git a/dev-libs/nettle/nettle-3.8.1.ebuild b/dev-libs/nettle/nettle-3.8.1.ebuild
new file mode 100644
index 000000000000..dc3ba0b941a4
--- /dev/null
+++ b/dev-libs/nettle/nettle-3.8.1.ebuild
@@ -0,0 +1,84 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/nettle.asc
+inherit multilib-build multilib-minimal toolchain-funcs verify-sig
+
+DESCRIPTION="Low-level cryptographic library"
+HOMEPAGE="https://www.lysator.liu.se/~nisse/nettle/ https://git.lysator.liu.se/nettle/nettle"
+SRC_URI="mirror://gnu/${PN}/${P}.tar.gz"
+SRC_URI+=" verify-sig? ( mirror://gnu/${PN}/${P}.tar.gz.sig )"
+
+LICENSE="|| ( LGPL-3 LGPL-2.1 )"
+# Subslot = libnettle - libhogweed soname version
+SLOT="0/8-6"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+IUSE="+asm doc +gmp static-libs cpu_flags_arm_neon cpu_flags_arm_aes cpu_flags_arm_sha1 cpu_flags_arm_sha2 cpu_flags_ppc_altivec cpu_flags_x86_aes cpu_flags_x86_sha cpu_flags_x86_pclmul"
+# The arm64 crypto option controls AES, SHA1, and SHA2 usage.
+REQUIRED_USE="cpu_flags_arm_aes? ( cpu_flags_arm_sha1 cpu_flags_arm_sha2 )
+ cpu_flags_arm_sha1? ( cpu_flags_arm_aes cpu_flags_arm_sha2 )
+ cpu_flags_arm_sha2? ( cpu_flags_arm_aes cpu_flags_arm_sha1 )"
+
+DEPEND="gmp? ( >=dev-libs/gmp-6.1:0=[static-libs?,${MULTILIB_USEDEP}] )"
+RDEPEND="${DEPEND}"
+BDEPEND="
+ sys-devel/m4
+ doc? ( sys-apps/texinfo )
+ verify-sig? ( sec-keys/openpgp-keys-nettle )
+"
+
+MULTILIB_WRAPPED_HEADERS=(
+ /usr/include/nettle/version.h
+)
+
+DOCS=()
+HTML_DOCS=()
+
+src_prepare() {
+ default
+
+ # I do not see in config.sub reference to sunldsolaris.
+ # if someone complains readd
+ # -e 's/solaris\*)/sunldsolaris*)/' \
+ sed -e '/CFLAGS=/s: -ggdb3::' \
+ -i configure.ac configure || die
+
+ if use doc ; then
+ DOCS+=( nettle.pdf )
+ HTML_DOCS+=( nettle.html )
+ fi
+}
+
+multilib_src_configure() {
+ local myeconfargs=(
+ CC_FOR_BUILD="$(tc-getBUILD_CC)"
+
+ $(tc-is-static-only && echo --disable-shared)
+
+ # Intrinsics
+ $(use_enable cpu_flags_arm_neon arm-neon)
+ $(use_enable cpu_flags_arm_aes arm64-crypto)
+ $(use_enable cpu_flags_ppc_altivec power-altivec)
+ $(use_enable cpu_flags_x86_aes x86-aesni)
+ $(use_enable cpu_flags_x86_sha x86-sha-ni)
+ $(use_enable cpu_flags_x86_pclmul x86-pclmul)
+ # TODO: PPC crypto flag?
+ --disable-power-crypto-ext
+ # TODO: cpu_flags_s390?
+ --disable-s390x-vf
+ --disable-s390x-msa
+
+ $(use_enable asm assembler)
+ $(multilib_native_use_enable doc documentation)
+ $(use_enable gmp public-key)
+ $(use_enable static-libs static)
+ --disable-fat
+
+ # openssl is just used for benchmarks (bug #427526)
+ --disable-openssl
+ )
+
+ ECONF_SOURCE="${S}" econf "${myeconfargs[@]}"
+}
diff --git a/dev-libs/nettle/nettle-3.9.1.ebuild b/dev-libs/nettle/nettle-3.9.1.ebuild
new file mode 100644
index 000000000000..f2e77b0432af
--- /dev/null
+++ b/dev-libs/nettle/nettle-3.9.1.ebuild
@@ -0,0 +1,87 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/nettle.asc
+inherit multilib-build multilib-minimal toolchain-funcs verify-sig
+
+DESCRIPTION="Low-level cryptographic library"
+HOMEPAGE="https://www.lysator.liu.se/~nisse/nettle/ https://git.lysator.liu.se/nettle/nettle"
+SRC_URI="mirror://gnu/${PN}/${P}.tar.gz"
+SRC_URI+=" verify-sig? ( mirror://gnu/${PN}/${P}.tar.gz.sig )"
+
+LICENSE="|| ( LGPL-3 LGPL-2.1 )"
+# Subslot = libnettle - libhogweed soname version
+SLOT="0/8-6"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+IUSE="+asm doc +gmp static-libs cpu_flags_arm_neon cpu_flags_arm_aes cpu_flags_arm_sha1 cpu_flags_arm_sha2 cpu_flags_ppc_altivec cpu_flags_ppc_vsx2 cpu_flags_ppc_vsx3 cpu_flags_x86_aes cpu_flags_x86_sha cpu_flags_x86_pclmul"
+# The arm64 crypto option controls AES, SHA1, and SHA2 usage.
+REQUIRED_USE="
+ cpu_flags_arm_aes? ( cpu_flags_arm_sha1 cpu_flags_arm_sha2 )
+ cpu_flags_arm_sha1? ( cpu_flags_arm_aes cpu_flags_arm_sha2 )
+ cpu_flags_arm_sha2? ( cpu_flags_arm_aes cpu_flags_arm_sha1 )
+"
+
+DEPEND="gmp? ( >=dev-libs/gmp-6.1:=[static-libs?,${MULTILIB_USEDEP}] )"
+RDEPEND="${DEPEND}"
+BDEPEND="
+ sys-devel/m4
+ doc? ( sys-apps/texinfo )
+ verify-sig? ( sec-keys/openpgp-keys-nettle )
+"
+
+MULTILIB_WRAPPED_HEADERS=(
+ /usr/include/nettle/version.h
+)
+
+DOCS=()
+HTML_DOCS=()
+
+src_prepare() {
+ default
+
+ # I do not see in config.sub reference to sunldsolaris.
+ # if someone complains readd
+ # -e 's/solaris\*)/sunldsolaris*)/' \
+ sed -e '/CFLAGS=/s: -ggdb3::' \
+ -i configure.ac configure || die
+
+ if use doc ; then
+ DOCS+=( nettle.pdf )
+ HTML_DOCS+=( nettle.html )
+ fi
+}
+
+multilib_src_configure() {
+ local myeconfargs=(
+ CC_FOR_BUILD="$(tc-getBUILD_CC)"
+
+ $(tc-is-static-only && echo --disable-shared)
+
+ # Intrinsics
+ $(use_enable cpu_flags_arm_neon arm-neon)
+ $(use_enable cpu_flags_arm_aes arm64-crypto)
+ $(use_enable cpu_flags_ppc_altivec power-altivec)
+ $(use_enable cpu_flags_ppc_vsx2 power-crypto-ext)
+ $(use_enable cpu_flags_ppc_vsx3 power9)
+ $(use_enable cpu_flags_x86_aes x86-aesni)
+ $(use_enable cpu_flags_x86_sha x86-sha-ni)
+ $(use_enable cpu_flags_x86_pclmul x86-pclmul)
+ $([[ ${CHOST} == *-solaris* ]] && echo '--disable-symbol-versions')
+ # TODO: cpu_flags_s390?
+ --disable-s390x-vf
+ --disable-s390x-msa
+
+ $(use_enable asm assembler)
+ $(multilib_native_use_enable doc documentation)
+ $(use_enable gmp public-key)
+ $(use_enable static-libs static)
+ --disable-fat
+
+ # openssl is just used for benchmarks (bug #427526)
+ --disable-openssl
+ )
+
+ ECONF_SOURCE="${S}" econf "${myeconfargs[@]}"
+}
diff --git a/dev-libs/nettle/nettle-3.9.ebuild b/dev-libs/nettle/nettle-3.9.ebuild
new file mode 100644
index 000000000000..2d307d66cb40
--- /dev/null
+++ b/dev-libs/nettle/nettle-3.9.ebuild
@@ -0,0 +1,89 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/nettle.asc
+inherit multilib-build multilib-minimal toolchain-funcs verify-sig
+
+DESCRIPTION="Low-level cryptographic library"
+HOMEPAGE="https://www.lysator.liu.se/~nisse/nettle/ https://git.lysator.liu.se/nettle/nettle"
+SRC_URI="mirror://gnu/${PN}/${P}.tar.gz"
+SRC_URI+=" verify-sig? ( mirror://gnu/${PN}/${P}.tar.gz.sig )"
+
+LICENSE="|| ( LGPL-3 LGPL-2.1 )"
+# Subslot = libnettle - libhogweed soname version
+SLOT="0/8-6"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+IUSE="+asm doc +gmp static-libs cpu_flags_arm_neon cpu_flags_arm_aes cpu_flags_arm_sha1 cpu_flags_arm_sha2 cpu_flags_ppc_altivec cpu_flags_x86_aes cpu_flags_x86_sha cpu_flags_x86_pclmul"
+# The arm64 crypto option controls AES, SHA1, and SHA2 usage.
+REQUIRED_USE="
+ cpu_flags_arm_aes? ( cpu_flags_arm_sha1 cpu_flags_arm_sha2 )
+ cpu_flags_arm_sha1? ( cpu_flags_arm_aes cpu_flags_arm_sha2 )
+ cpu_flags_arm_sha2? ( cpu_flags_arm_aes cpu_flags_arm_sha1 )
+"
+
+DEPEND="gmp? ( >=dev-libs/gmp-6.1:=[static-libs?,${MULTILIB_USEDEP}] )"
+RDEPEND="${DEPEND}"
+BDEPEND="
+ sys-devel/m4
+ doc? ( sys-apps/texinfo )
+ verify-sig? ( sec-keys/openpgp-keys-nettle )
+"
+
+MULTILIB_WRAPPED_HEADERS=(
+ /usr/include/nettle/version.h
+)
+
+DOCS=()
+HTML_DOCS=()
+
+src_prepare() {
+ default
+
+ # I do not see in config.sub reference to sunldsolaris.
+ # if someone complains readd
+ # -e 's/solaris\*)/sunldsolaris*)/' \
+ sed -e '/CFLAGS=/s: -ggdb3::' \
+ -i configure.ac configure || die
+
+ if use doc ; then
+ DOCS+=( nettle.pdf )
+ HTML_DOCS+=( nettle.html )
+ fi
+}
+
+multilib_src_configure() {
+ local myeconfargs=(
+ CC_FOR_BUILD="$(tc-getBUILD_CC)"
+
+ $(tc-is-static-only && echo --disable-shared)
+
+ # Intrinsics
+ $(use_enable cpu_flags_arm_neon arm-neon)
+ $(use_enable cpu_flags_arm_aes arm64-crypto)
+ $(use_enable cpu_flags_ppc_altivec power-altivec)
+ $(use_enable cpu_flags_x86_aes x86-aesni)
+ $(use_enable cpu_flags_x86_sha x86-sha-ni)
+ $(use_enable cpu_flags_x86_pclmul x86-pclmul)
+ # TODO: PPC crypto flag?
+ --disable-power-crypto-ext
+ # TODO: How do we detect this in ebuilds reliably?
+ --disable-power9
+ $([[ ${CHOST} == *-solaris* ]] && echo '--disable-symbol-versions')
+ # TODO: cpu_flags_s390?
+ --disable-s390x-vf
+ --disable-s390x-msa
+
+ $(use_enable asm assembler)
+ $(multilib_native_use_enable doc documentation)
+ $(use_enable gmp public-key)
+ $(use_enable static-libs static)
+ --disable-fat
+
+ # openssl is just used for benchmarks (bug #427526)
+ --disable-openssl
+ )
+
+ ECONF_SOURCE="${S}" econf "${myeconfargs[@]}"
+}
diff --git a/dev-libs/newt/Manifest b/dev-libs/newt/Manifest
index ea14fe205752..78e8d9dbbf42 100644
--- a/dev-libs/newt/Manifest
+++ b/dev-libs/newt/Manifest
@@ -1 +1,2 @@
-DIST newt-0.52.21.tar.gz 174895 BLAKE2B a0d6a15f87fe04dc535e65fcd28606cd666142d006a53b6ee0c8387a6295215e44f1815ac56ceb56b561ca9b5bc8f3cab2d04b5decd62642f46b744333dc7e34 SHA512 d53d927996d17223e688bf54dccfabb2a3dc02bfe38ffc455964e86feaca3cd9f9ab5b19774433be430fa4d761cd9b6680b558f297acb86f80daeb6942f7d23c
+DIST newt-0.52.23.tar.gz 128884 BLAKE2B 283809ac259475588b2f277e6c14ddc2981204f8d6c4963aa9ca7bf87376d2025e9edcc3194804bd6928f75deef706758e1868ba730fd06856ed0a95e534be00 SHA512 8040b01178311532c31642daae5bffc9c0f1917d28957164a02b3f5bd402e6561ff6faee75a936f72485eb71004238ede78c1973a970451fb5aaccff231887c7
+DIST newt-0.52.24.tar.gz 128895 BLAKE2B fff7b3831f53a33b2d4f009fae0eb5603aef79c50f89e7f7179b80be837db35e44ecc860e4dc85e46195a59a87c12b2feae2ab043bef2fee0ea35a6efeded474 SHA512 999d8109dd3d74d04e813e84dc2e348278016dce7a678a1566197cf8fbc87810257b8a29fa766d29d48dc18bf4e1508b022460f15503fb6d029b3a05528b50be
diff --git a/dev-libs/newt/files/newt-0.52.13-gold.patch b/dev-libs/newt/files/newt-0.52.13-gold.patch
deleted file mode 100644
index 91626c6306e8..000000000000
--- a/dev-libs/newt/files/newt-0.52.13-gold.patch
+++ /dev/null
@@ -1,12 +0,0 @@
---- a/configure.ac
-+++ b/configure.ac
-@@ -19,7 +19,8 @@
- AC_MSG_CHECKING([for GNU ld])
- LD=`$CC -print-prog-name=ld 2>&5`
-
--if test `$LD -v 2>&1 | $ac_cv_path_GREP -c "GNU ld"` = 0; then
-+if test `$LD -v 2>&1 | $ac_cv_path_GREP -c "GNU ld"` = 0 -a \
-+ test `$LD -v 2>&1 | $ac_cv_path_GREP -c "GNU gold"` = 0; then
- # Not
- GNU_LD=""
- AC_MSG_RESULT([no])
diff --git a/dev-libs/newt/files/newt-0.52.21-fix-non-POSIX-backticks.patch b/dev-libs/newt/files/newt-0.52.21-fix-non-POSIX-backticks.patch
deleted file mode 100644
index 3d6b87030dd6..000000000000
--- a/dev-libs/newt/files/newt-0.52.21-fix-non-POSIX-backticks.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-From a37a8c15f4653b4edea414f42a0d76f3b1f5652c Mon Sep 17 00:00:00 2001
-From: Sam James <sam@gentoo.org>
-Date: Wed, 14 Jul 2021 05:19:25 +0100
-Subject: [PATCH] Fix non-POSIX backticks
-
----
- configure.ac | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/configure.ac b/configure.ac
-index cb2b940..9ba4c64 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -23,8 +23,8 @@ AC_CHECK_SIZEOF([void *])
- AC_MSG_CHECKING([for GNU ld])
- LD=`$CC -print-prog-name=ld 2>&5`
-
--if test `$LD -v 2>&1 | $ac_cv_path_GREP -c "GNU ld"` = 0 -a \
-- test `$LD -v 2>&1 | $ac_cv_path_GREP -c "GNU gold"` = 0; then
-+if test $($LD -v 2>&1 | $ac_cv_path_GREP -c "GNU ld") = 0 -a \
-+ $($LD -v 2>&1 | $ac_cv_path_GREP -c "GNU gold") = 0; then
- # Not
- GNU_LD=""
- AC_MSG_RESULT([no])
---
-2.32.0
-
diff --git a/dev-libs/newt/files/newt-0.52.21-makefile-LDFLAGS-ordering.patch b/dev-libs/newt/files/newt-0.52.21-makefile-LDFLAGS-ordering.patch
deleted file mode 100644
index f05075adb371..000000000000
--- a/dev-libs/newt/files/newt-0.52.21-makefile-LDFLAGS-ordering.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-From 22d44d2cbfcbec216d0028ebdf274247139a8045 Mon Sep 17 00:00:00 2001
-From: Sam James <sam@gentoo.org>
-Date: Wed, 14 Jul 2021 05:12:32 +0100
-Subject: [PATCH] Swap order of LDFLAGS and P*FLAGS
-
-Needed to respect as-needed.
-
-Bug: https://bugs.gentoo.org/798945
----
- Makefile.in | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/Makefile.in b/Makefile.in
-index 1047efc..f0bc417 100644
---- a/Makefile.in
-+++ b/Makefile.in
-@@ -97,8 +97,8 @@ _snack.$(SOEXT): snack.c $(LIBNEWTSH)
- PLFLAGS=`$$pyconfig --libs`; \
- echo $(CC) $(SHCFLAGS) $(CPPFLAGS) $$PIFLAGS $$PCFLAGS -c -o $$ver/snack.o snack.c; \
- $(CC) $(SHCFLAGS) $(CPPFLAGS) $$PIFLAGS $$PCFLAGS -c -o $$ver/snack.o snack.c; \
-- echo $(CC) --shared $$PLDFLAGS $$PLFLAGS $(LDFLAGS) -o $$ver/_snack.$(SOEXT) $$ver/snack.o -L. -lnewt $(LIBS); \
-- $(CC) --shared $$PLDFLAGS $$PLFLAGS $(LDFLAGS) -o $$ver/_snack.$(SOEXT) $$ver/snack.o -L. -lnewt $(LIBS); \
-+ echo $(CC) --shared $(LDFLAGS) $$PLDFLAGS $$PLFLAGS -o $$ver/_snack.$(SOEXT) $$ver/snack.o -L. -lnewt $(LIBS); \
-+ $(CC) --shared $(LDFLAGS) $$PLDFLAGS $$PLFLAGS -o $$ver/_snack.$(SOEXT) $$ver/snack.o -L. -lnewt $(LIBS); \
- done || :
- touch $@
-
---
-2.32.0
-
diff --git a/dev-libs/newt/files/newt-0.52.22-gold.patch b/dev-libs/newt/files/newt-0.52.22-gold.patch
new file mode 100644
index 000000000000..add9ce872dfd
--- /dev/null
+++ b/dev-libs/newt/files/newt-0.52.22-gold.patch
@@ -0,0 +1,13 @@
+diff -ur a/configure.ac b/configure.ac
+--- a/configure.ac 2022-11-21 07:58:11.000000000 -0600
++++ b/configure.ac 2022-11-21 20:56:42.211913050 -0600
+@@ -24,7 +24,8 @@
+ AC_MSG_CHECKING([for GNU ld])
+ LD=$($CC -print-prog-name=ld 2>&5)
+
+-if test $($LD -v 2>&1 | $ac_cv_path_GREP -c "GNU ld") = 0; then
++if test $($LD -v 2>&1 | $ac_cv_path_GREP -c "GNU ld") = 0 -a \
++ test $($LD -v 2>&1 | $ac_cv_path_GREP -c "GNU gold") = 0; then
+ # Not
+ GNU_LD=""
+ AC_MSG_RESULT([no])
diff --git a/dev-libs/newt/files/newt-0.52.23-gold.patch b/dev-libs/newt/files/newt-0.52.23-gold.patch
new file mode 100644
index 000000000000..818480f725c2
--- /dev/null
+++ b/dev-libs/newt/files/newt-0.52.23-gold.patch
@@ -0,0 +1,13 @@
+diff -ur a/configure.ac b/configure.ac
+--- a/configure.ac 2022-11-21 07:58:11.000000000 -0600
++++ b/configure.ac 2022-11-21 20:56:42.211913050 -0600
+@@ -24,7 +24,8 @@
+ AC_MSG_CHECKING([for GNU ld])
+ LD=$($CC -print-prog-name=ld 2>&5)
+
+-if test $($LD -v 2>&1 | $ac_cv_path_GREP -c "GNU ld") = 0; then
++if test $($LD -v 2>&1 | $ac_cv_path_GREP -c "GNU ld") = 0 -a \
++ $($LD -v 2>&1 | $ac_cv_path_GREP -c "GNU gold") = 0; then
+ # Not
+ GNU_LD=""
+ AC_MSG_RESULT([no])
diff --git a/dev-libs/newt/metadata.xml b/dev-libs/newt/metadata.xml
index 85c8ec42b7ca..f26997536e0e 100644
--- a/dev-libs/newt/metadata.xml
+++ b/dev-libs/newt/metadata.xml
@@ -5,4 +5,7 @@
<email>bkohler@gentoo.org</email>
<name>Ben Kohler</name>
</maintainer>
+ <upstream>
+ <remote-id type="github">mlichvar/newt</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/dev-libs/newt/newt-0.52.21-r1.ebuild b/dev-libs/newt/newt-0.52.21-r1.ebuild
deleted file mode 100644
index f5d64f25fb16..000000000000
--- a/dev-libs/newt/newt-0.52.21-r1.ebuild
+++ /dev/null
@@ -1,100 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{8..10} )
-
-inherit autotools python-r1 toolchain-funcs
-
-DESCRIPTION="Redhat's Newt windowing toolkit development files"
-HOMEPAGE="https://pagure.io/newt"
-SRC_URI="https://releases.pagure.org/newt/${P}.tar.gz"
-
-LICENSE="LGPL-2"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ppc ppc64 ~riscv sparc x86"
-IUSE="gpm nls tcl"
-RESTRICT="test"
-
-REQUIRED_USE="${PYTHON_REQUIRED_USE}"
-
-RDEPEND="
- ${PYTHON_DEPS}
- >=dev-libs/popt-1.6
- =sys-libs/slang-2*
- gpm? ( sys-libs/gpm )
- tcl? ( >=dev-lang/tcl-8.5:0 )
- "
-DEPEND="${RDEPEND}"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-0.52.13-gold.patch
- "${FILESDIR}"/${PN}-0.52.14-tcl.patch
- "${FILESDIR}"/${PN}-0.52.21-python-sitedir.patch
- "${FILESDIR}"/${PN}-0.52.21-makefile-LDFLAGS-ordering.patch
- "${FILESDIR}"/${PN}-0.52.21-fix-non-POSIX-backticks.patch
-)
-
-src_prepare() {
- sed -i Makefile.in \
- -e 's|$(SHCFLAGS) -o|$(LDFLAGS) &|g' \
- -e 's|-g -o|$(CFLAGS) $(LDFLAGS) -o|g' \
- -e 's|-shared -o|$(CFLAGS) $(LDFLAGS) &|g' \
- -e 's|instroot|DESTDIR|g' \
- -e 's| make | $(MAKE) |g' \
- -e "s| ar | $(tc-getAR) |g" \
- || die "sed Makefile.in"
-
- if [[ -n ${LINGUAS} ]]; then
- local lang langs
- for lang in ${LINGUAS}; do
- test -r po/${lang}.po && langs="${langs} ${lang}.po"
- done
- sed -i po/Makefile \
- -e "/^CATALOGS = /cCATALOGS = ${langs}" \
- || die "sed po/Makefile"
- fi
-
- default
- eautoreconf
-
- # can't build out-of-source
- python_copy_sources
-}
-
-src_configure() {
- configuring() {
- econf \
- PYTHONVERS="${PYTHON}" \
- $(use_with gpm gpm-support) \
- $(use_with tcl) \
- $(use_enable nls)
- }
- python_foreach_impl run_in_build_dir configuring
-}
-
-src_compile() {
- building() {
- emake PYTHONVERS="${EPYTHON}"
- }
- python_foreach_impl run_in_build_dir building
-}
-
-src_install() {
- installit() {
- emake \
- DESTDIR="${D}" \
- PYTHON_SITEDIR="$(python_get_sitedir)" \
- PYTHONVERS="${EPYTHON}" \
- install
- python_optimize
- }
- python_foreach_impl run_in_build_dir installit
- dodoc peanuts.py popcorn.py tutorial.sgml
- doman whiptail.1
- einstalldocs
-
- # don't want static archives
- rm "${ED}"/usr/$(get_libdir)/libnewt.a || die
-}
diff --git a/dev-libs/newt/newt-0.52.23-r1.ebuild b/dev-libs/newt/newt-0.52.23-r1.ebuild
new file mode 100644
index 000000000000..14380493db38
--- /dev/null
+++ b/dev-libs/newt/newt-0.52.23-r1.ebuild
@@ -0,0 +1,102 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{9..11} )
+
+inherit autotools python-r1 toolchain-funcs
+
+MY_PV="r$(ver_rs 1- -)"
+
+DESCRIPTION="Redhat's Newt windowing toolkit development files"
+HOMEPAGE="https://pagure.io/newt"
+SRC_URI="https://github.com/mlichvar/newt/archive/${MY_PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="LGPL-2"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv sparc x86"
+IUSE="gpm nls tcl"
+RESTRICT="test"
+
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+RDEPEND="
+ ${PYTHON_DEPS}
+ >=dev-libs/popt-1.6
+ =sys-libs/slang-2*
+ gpm? ( sys-libs/gpm )
+ tcl? ( >=dev-lang/tcl-8.5:0 )
+ "
+DEPEND="${RDEPEND}"
+BDEPEND="sys-devel/gettext"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-0.52.23-gold.patch
+ "${FILESDIR}"/${PN}-0.52.21-python-sitedir.patch
+)
+
+S=${WORKDIR}/${PN}-${MY_PV}
+
+src_prepare() {
+ sed -i Makefile.in \
+ -e 's|$(SHCFLAGS) -o|$(LDFLAGS) &|g' \
+ -e 's|-g -o|$(CFLAGS) $(LDFLAGS) -o|g' \
+ -e 's|-shared -o|$(CFLAGS) $(LDFLAGS) &|g' \
+ -e 's|instroot|DESTDIR|g' \
+ -e 's| make | $(MAKE) |g' \
+ -e "s| ar | $(tc-getAR) |g" \
+ || die "sed Makefile.in"
+
+ if [[ -n ${LINGUAS} ]]; then
+ local lang langs
+ for lang in ${LINGUAS}; do
+ test -r po/${lang}.po && langs="${langs} ${lang}.po"
+ done
+ sed -i po/Makefile \
+ -e "/^CATALOGS = /cCATALOGS = ${langs}" \
+ || die "sed po/Makefile"
+ fi
+
+ default
+ eautoreconf
+
+ # can't build out-of-source
+ python_copy_sources
+}
+
+src_configure() {
+ configuring() {
+ econf \
+ PYTHONVERS="${PYTHON}" \
+ $(use_with gpm gpm-support) \
+ $(use_with tcl) \
+ $(use_enable nls)
+ }
+ python_foreach_impl run_in_build_dir configuring
+}
+
+src_compile() {
+ building() {
+ emake PYTHONVERS="${EPYTHON}"
+ }
+ python_foreach_impl run_in_build_dir building
+}
+
+src_install() {
+ installit() {
+ emake \
+ DESTDIR="${D}" \
+ PYTHON_SITEDIR="$(python_get_sitedir)" \
+ PYTHONVERS="${EPYTHON}" \
+ install
+ python_optimize
+ }
+ python_foreach_impl run_in_build_dir installit
+ dodoc peanuts.py popcorn.py tutorial.sgml
+ doman whiptail.1
+ einstalldocs
+
+ # don't want static archives
+ rm "${ED}"/usr/$(get_libdir)/libnewt.a || die
+}
diff --git a/dev-libs/newt/newt-0.52.23.ebuild b/dev-libs/newt/newt-0.52.23.ebuild
new file mode 100644
index 000000000000..f4565ff37ed1
--- /dev/null
+++ b/dev-libs/newt/newt-0.52.23.ebuild
@@ -0,0 +1,103 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{9..11} )
+
+inherit autotools python-r1 toolchain-funcs
+
+MY_PV="r$(ver_rs 1- -)"
+
+DESCRIPTION="Redhat's Newt windowing toolkit development files"
+HOMEPAGE="https://pagure.io/newt"
+SRC_URI="https://github.com/mlichvar/newt/archive/${MY_PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="LGPL-2"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv sparc x86"
+IUSE="gpm nls tcl"
+RESTRICT="test"
+
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+RDEPEND="
+ ${PYTHON_DEPS}
+ >=dev-libs/popt-1.6
+ =sys-libs/slang-2*
+ gpm? ( sys-libs/gpm )
+ tcl? ( >=dev-lang/tcl-8.5:0 )
+ "
+DEPEND="${RDEPEND}"
+BDEPEND="sys-devel/gettext"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-0.52.22-gold.patch
+# "${FILESDIR}"/${PN}-0.52.14-tcl.patch
+ "${FILESDIR}"/${PN}-0.52.21-python-sitedir.patch
+)
+
+S=${WORKDIR}/${PN}-${MY_PV}
+
+src_prepare() {
+ sed -i Makefile.in \
+ -e 's|$(SHCFLAGS) -o|$(LDFLAGS) &|g' \
+ -e 's|-g -o|$(CFLAGS) $(LDFLAGS) -o|g' \
+ -e 's|-shared -o|$(CFLAGS) $(LDFLAGS) &|g' \
+ -e 's|instroot|DESTDIR|g' \
+ -e 's| make | $(MAKE) |g' \
+ -e "s| ar | $(tc-getAR) |g" \
+ || die "sed Makefile.in"
+
+ if [[ -n ${LINGUAS} ]]; then
+ local lang langs
+ for lang in ${LINGUAS}; do
+ test -r po/${lang}.po && langs="${langs} ${lang}.po"
+ done
+ sed -i po/Makefile \
+ -e "/^CATALOGS = /cCATALOGS = ${langs}" \
+ || die "sed po/Makefile"
+ fi
+
+ default
+ eautoreconf
+
+ # can't build out-of-source
+ python_copy_sources
+}
+
+src_configure() {
+ configuring() {
+ econf \
+ PYTHONVERS="${PYTHON}" \
+ $(use_with gpm gpm-support) \
+ $(use_with tcl) \
+ $(use_enable nls)
+ }
+ python_foreach_impl run_in_build_dir configuring
+}
+
+src_compile() {
+ building() {
+ emake PYTHONVERS="${EPYTHON}"
+ }
+ python_foreach_impl run_in_build_dir building
+}
+
+src_install() {
+ installit() {
+ emake \
+ DESTDIR="${D}" \
+ PYTHON_SITEDIR="$(python_get_sitedir)" \
+ PYTHONVERS="${EPYTHON}" \
+ install
+ python_optimize
+ }
+ python_foreach_impl run_in_build_dir installit
+ dodoc peanuts.py popcorn.py tutorial.sgml
+ doman whiptail.1
+ einstalldocs
+
+ # don't want static archives
+ rm "${ED}"/usr/$(get_libdir)/libnewt.a || die
+}
diff --git a/dev-libs/newt/newt-0.52.24.ebuild b/dev-libs/newt/newt-0.52.24.ebuild
new file mode 100644
index 000000000000..2fdfcec485bd
--- /dev/null
+++ b/dev-libs/newt/newt-0.52.24.ebuild
@@ -0,0 +1,102 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{9..12} )
+
+inherit autotools python-r1 toolchain-funcs
+
+MY_PV="r$(ver_rs 1- -)"
+
+DESCRIPTION="Redhat's Newt windowing toolkit development files"
+HOMEPAGE="https://pagure.io/newt"
+SRC_URI="https://github.com/mlichvar/newt/archive/${MY_PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="LGPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86"
+IUSE="gpm nls tcl"
+RESTRICT="test"
+
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+RDEPEND="
+ ${PYTHON_DEPS}
+ >=dev-libs/popt-1.6
+ =sys-libs/slang-2*
+ gpm? ( sys-libs/gpm )
+ tcl? ( >=dev-lang/tcl-8.5:0 )
+ "
+DEPEND="${RDEPEND}"
+BDEPEND="sys-devel/gettext"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-0.52.23-gold.patch
+ "${FILESDIR}"/${PN}-0.52.21-python-sitedir.patch
+)
+
+S=${WORKDIR}/${PN}-${MY_PV}
+
+src_prepare() {
+ sed -i Makefile.in \
+ -e 's|$(SHCFLAGS) -o|$(LDFLAGS) &|g' \
+ -e 's|-g -o|$(CFLAGS) $(LDFLAGS) -o|g' \
+ -e 's|-shared -o|$(CFLAGS) $(LDFLAGS) &|g' \
+ -e 's|instroot|DESTDIR|g' \
+ -e 's| make | $(MAKE) |g' \
+ -e "s| ar | $(tc-getAR) |g" \
+ || die "sed Makefile.in"
+
+ if [[ -n ${LINGUAS} ]]; then
+ local lang langs
+ for lang in ${LINGUAS}; do
+ test -r po/${lang}.po && langs="${langs} ${lang}.po"
+ done
+ sed -i po/Makefile \
+ -e "/^CATALOGS = /cCATALOGS = ${langs}" \
+ || die "sed po/Makefile"
+ fi
+
+ default
+ eautoreconf
+
+ # can't build out-of-source
+ python_copy_sources
+}
+
+src_configure() {
+ configuring() {
+ econf \
+ PYTHONVERS="${PYTHON}" \
+ $(use_with gpm gpm-support) \
+ $(use_with tcl) \
+ $(use_enable nls)
+ }
+ python_foreach_impl run_in_build_dir configuring
+}
+
+src_compile() {
+ building() {
+ emake PYTHONVERS="${EPYTHON}"
+ }
+ python_foreach_impl run_in_build_dir building
+}
+
+src_install() {
+ installit() {
+ emake \
+ DESTDIR="${D}" \
+ PYTHON_SITEDIR="$(python_get_sitedir)" \
+ PYTHONVERS="${EPYTHON}" \
+ install
+ python_optimize
+ }
+ python_foreach_impl run_in_build_dir installit
+ dodoc peanuts.py popcorn.py tutorial.sgml
+ doman whiptail.1
+ einstalldocs
+
+ # don't want static archives
+ rm "${ED}"/usr/$(get_libdir)/libnewt.a || die
+}
diff --git a/dev-libs/nmeap/metadata.xml b/dev-libs/nmeap/metadata.xml
index 8a1a3a0c19a4..abcf97a319da 100644
--- a/dev-libs/nmeap/metadata.xml
+++ b/dev-libs/nmeap/metadata.xml
@@ -8,7 +8,7 @@
<longdescription>
Extensible NMEA-0183 (GPS) data parser in standard C.
A directly linkable library intended for applications
- that want to embed GPS support, like app-misc/lcd4linux.
+ that want to embed GPS support, like <pkg>app-misc/lcd4linux</pkg>.
</longdescription>
<upstream>
<bugs-to>https://sourceforge.net/p/nmeap/bugs/</bugs-to>
diff --git a/dev-libs/nmeap/nmeap-0.3-r1.ebuild b/dev-libs/nmeap/nmeap-0.3-r1.ebuild
deleted file mode 100644
index 6a69fd4d389a..000000000000
--- a/dev-libs/nmeap/nmeap-0.3-r1.ebuild
+++ /dev/null
@@ -1,60 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit toolchain-funcs
-
-DESCRIPTION="Extensible NMEA-0183 (GPS) data parser in standard C"
-HOMEPAGE="http://nmeap.sourceforge.net/"
-SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 ppc x86"
-IUSE="doc"
-
-BDEPEND="doc? ( app-doc/doxygen )"
-
-PATCHES=( "${FILESDIR}/${P}-fix-unitialized-variable.patch" )
-
-src_prepare() {
- default
-
- # Repsect users CFLAGS for the static lib archive
- sed -i -e 's/CFLAGS =/CFLAGS +=/' -e 's/-g -O0 -Werror//' src/Makefile || die
-
- # Don't build test programs, as they are not needed
- sed -i -e '/TST/d' Makefile || die
-
- # Silent output of Doxygen and update it, since it is quite old
- if use doc; then
- sed -i -e 's/QUIET.*/QUIET = YES/' Doxyfile || die
- doxygen -u Doxyfile 2>/dev/null || die
- fi
-}
-
-src_compile() {
- local myemakeopts=(
- AR="$(tc-getAR)"
- CC="$(tc-getCC)"
- )
-
- emake "${myemakeopts[@]}"
-
- if use doc; then
- doxygen Doxyfile || die
- fi
-}
-
-src_install() {
- dolib.a lib/libnmeap.a
-
- doheader inc/nmeap.h inc/nmeap_def.h
-
- if use doc; then
- local HTML_DOCS=( "doc/tutorial.html" "doc/html" )
- fi
-
- einstalldocs
-}
diff --git a/dev-libs/nmeap/nmeap-0.3-r2.ebuild b/dev-libs/nmeap/nmeap-0.3-r2.ebuild
new file mode 100644
index 000000000000..ada71a745ed8
--- /dev/null
+++ b/dev-libs/nmeap/nmeap-0.3-r2.ebuild
@@ -0,0 +1,60 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit toolchain-funcs
+
+DESCRIPTION="Extensible NMEA-0183 (GPS) data parser in standard C"
+HOMEPAGE="http://nmeap.sourceforge.net/"
+SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 ppc x86"
+IUSE="doc"
+
+BDEPEND="doc? ( app-text/doxygen )"
+
+PATCHES=( "${FILESDIR}/${P}-fix-unitialized-variable.patch" )
+
+src_prepare() {
+ default
+
+ # Repsect users CFLAGS for the static lib archive
+ sed -i -e 's/CFLAGS =/CFLAGS +=/' -e 's/-g -O0 -Werror//' src/Makefile || die
+
+ # Don't build test programs, as they are not needed
+ sed -i -e '/TST/d' Makefile || die
+
+ # Silent output of Doxygen and update it, since it is quite old
+ if use doc; then
+ sed -i -e 's/QUIET.*/QUIET = YES/' Doxyfile || die
+ doxygen -u Doxyfile 2>/dev/null || die
+ fi
+}
+
+src_compile() {
+ local myemakeopts=(
+ AR="$(tc-getAR)"
+ CC="$(tc-getCC)"
+ )
+
+ emake "${myemakeopts[@]}"
+
+ if use doc; then
+ doxygen Doxyfile || die
+ fi
+}
+
+src_install() {
+ dolib.a lib/libnmeap.a
+
+ doheader inc/nmeap.h inc/nmeap_def.h
+
+ if use doc; then
+ local HTML_DOCS=( "doc/tutorial.html" "doc/html" )
+ fi
+
+ einstalldocs
+}
diff --git a/dev-libs/npth/Manifest b/dev-libs/npth/Manifest
index 3092cac1227f..528f8a186b80 100644
--- a/dev-libs/npth/Manifest
+++ b/dev-libs/npth/Manifest
@@ -1 +1,2 @@
DIST npth-1.6.tar.bz2 300486 BLAKE2B 665fdb2f4cbe59750b6b4b7c2701ee80a23a122df10c9f8be47c4af5f3bf5968f709637ab3f4878bb68609752fbb6ce1364e109fdfeba64e4db258733a33f3fc SHA512 2ed1012e14a9d10665420b9a23628be7e206fd9348111ec751349b93557ee69f1176bcf7e6b195b35b1c44a5e0e81ee33b713f03d79a33d1ecd9037035afeda2
+DIST npth-1.7.tar.bz2 313213 BLAKE2B 39bc5857fb61a4264bef6ff23c28755d2a3b3ceef93034aefd5cf1c2ad905adf696c6753ebd5cea5e0a875df4ecb97db03e023a50a27f51ec0641bbc36b54089 SHA512 8893023bcf953a3f7c490cf8116bed323a9d4af2bea35277e919f437916fda8b8e68ded28ec1777717cf9187c504892556159cbdb8bc02ed4a8b30b3d897d244
diff --git a/dev-libs/npth/files/npth-1.7-musl.patch b/dev-libs/npth/files/npth-1.7-musl.patch
new file mode 100644
index 000000000000..5b51a3fd4a28
--- /dev/null
+++ b/dev-libs/npth/files/npth-1.7-musl.patch
@@ -0,0 +1,16 @@
+https://bugs.gentoo.org/925443
+https://dev.gnupg.org/T5664
+--- a/configure.ac
++++ b/configure.ac
+@@ -381,7 +381,10 @@ fi
+ AC_SUBST(INSERT_NO_RWLOCK)
+
+ case "${host}" in
+- *-*-linux*|*-*-gnu*)
++ *-*-linux-musl*)
++ INSERT_EXPOSE_RWLOCK_API="1"
++ ;;
++ *-*-linux-gnu*|*-*-gnu*)
+ INSERT_EXPOSE_RWLOCK_API="defined(__USE_UNIX98) || defined(__USE_XOPEN2K)"
+ ;;
+ *)
diff --git a/dev-libs/npth/npth-1.6-r1.ebuild b/dev-libs/npth/npth-1.6-r1.ebuild
index 003688741725..6e83a9465555 100644
--- a/dev-libs/npth/npth-1.6-r1.ebuild
+++ b/dev-libs/npth/npth-1.6-r1.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
-inherit autotools
+inherit autotools flag-o-matic toolchain-funcs
DESCRIPTION="New GNU Portable Threads Library"
HOMEPAGE="https://git.gnupg.org/cgi-bin/gitweb.cgi?p=npth.git"
@@ -11,7 +11,9 @@ SRC_URI="mirror://gnupg/${PN}/${P}.tar.bz2"
LICENSE="LGPL-2.1+"
SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-cygwin ~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 ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+IUSE="test"
+RESTRICT="!test? ( test )"
src_prepare() {
default
@@ -19,7 +21,16 @@ src_prepare() {
}
src_configure() {
- econf --disable-static
+ # ideally we want !tc-ld-is-bfd for best future-proofing, but it needs
+ # https://github.com/gentoo/gentoo/pull/28355
+ # mold needs this too but right now tc-ld-is-mold is also not available
+ if tc-ld-is-lld; then
+ append-ldflags -Wl,--undefined-version
+ fi
+
+ econf \
+ --disable-static \
+ $(use_enable test tests)
}
src_install() {
diff --git a/dev-libs/npth/npth-1.6-r2.ebuild b/dev-libs/npth/npth-1.6-r2.ebuild
new file mode 100644
index 000000000000..71d952cdae8c
--- /dev/null
+++ b/dev-libs/npth/npth-1.6-r2.ebuild
@@ -0,0 +1,34 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools flag-o-matic
+
+DESCRIPTION="New GNU Portable Threads Library"
+HOMEPAGE="https://git.gnupg.org/cgi-bin/gitweb.cgi?p=npth.git"
+SRC_URI="mirror://gnupg/${PN}/${P}.tar.bz2"
+
+LICENSE="LGPL-2.1+"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+src_prepare() {
+ default
+ eautoreconf
+}
+
+src_configure() {
+ append-ldflags $(test-flags-CCLD -Wl,--undefined-version)
+
+ econf $(use_enable test tests)
+}
+
+src_install() {
+ default
+
+ # no static archives
+ find "${ED}" -name '*.la' -delete || die
+}
diff --git a/dev-libs/npth/npth-1.7-r1.ebuild b/dev-libs/npth/npth-1.7-r1.ebuild
new file mode 100644
index 000000000000..04b867400ad5
--- /dev/null
+++ b/dev-libs/npth/npth-1.7-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 autotools flag-o-matic
+
+DESCRIPTION="New GNU Portable Threads Library"
+HOMEPAGE="https://git.gnupg.org/cgi-bin/gitweb.cgi?p=npth.git"
+SRC_URI="mirror://gnupg/${PN}/${P}.tar.bz2"
+
+LICENSE="LGPL-2.1+"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-musl.patch
+)
+
+src_prepare() {
+ default
+ eautoreconf
+}
+
+src_configure() {
+ append-ldflags $(test-flags-CCLD -Wl,--undefined-version)
+
+ econf $(use_enable test tests) \
+ --enable-install-npth-config
+}
+
+src_install() {
+ default
+
+ # no static archives
+ find "${ED}" -name '*.la' -delete || die
+}
diff --git a/dev-libs/nsgenbind/Manifest b/dev-libs/nsgenbind/Manifest
index 0af9b939f4d0..3656e534ec02 100644
--- a/dev-libs/nsgenbind/Manifest
+++ b/dev-libs/nsgenbind/Manifest
@@ -1 +1 @@
-DIST nsgenbind-0.8-src.tar.gz 117463 BLAKE2B 63ada11eb9e818bc864b8100d80fda5686d4b1cc2a1b021f6cf76d098f5c6551b2792da6dc8aba02774304d3e87bf9728a85d3c80ccb0c24e4bff5a4fee3f977 SHA512 850769fedc82c103b6d063ba25ec97638178e56f5b331a1e237566b3f3bd858aba270bcd37618c638575f5361ff88a09cdae92f6d2b5dc100491e5cc75c072e5
+DIST nsgenbind-0.9-src.tar.gz 117484 BLAKE2B ad725a4ba2a2b91935d974f6c4c449b3f5bc5a1f4204b473ab4ae59b14b9f5c995b4085e1c537624878e913b154c69a19e63f043b58cea7b67bf44e91839e6f5 SHA512 858e3a28d529df8ac3f214cf0e31650eadf370d9e2ac5c695a352d07dd6b473f4baee43fa61a42040e1d8875da985dd96ce95f6213715965326cb5323553b02a
diff --git a/dev-libs/nsgenbind/metadata.xml b/dev-libs/nsgenbind/metadata.xml
index 115e9d64a669..f2908ee10b59 100644
--- a/dev-libs/nsgenbind/metadata.xml
+++ b/dev-libs/nsgenbind/metadata.xml
@@ -1,5 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <!-- maintainer-needed -->
+ <maintainer type="person">
+ <email>mjo@gentoo.org</email>
+ <name>Michael Orlitzky</name>
+ </maintainer>
</pkgmetadata>
diff --git a/dev-libs/nsgenbind/nsgenbind-0.8-r1.ebuild b/dev-libs/nsgenbind/nsgenbind-0.8-r1.ebuild
deleted file mode 100644
index 7d9aae10d717..000000000000
--- a/dev-libs/nsgenbind/nsgenbind-0.8-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
-
-inherit netsurf
-
-DESCRIPTION="Generate Javascript-to-DOM bindings from w3c webidl files"
-HOMEPAGE="http://www.netsurf-browser.org/"
-SRC_URI="https://download.netsurf-browser.org/libs/releases/${P}-src.tar.gz"
-
-LICENSE="MIT"
-SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~x86"
-IUSE=""
-
-BDEPEND="
- dev-util/netsurf-buildsystem
- virtual/yacc"
-
-_emake() {
- netsurf_define_makeconf
- emake "${NETSURF_MAKECONF[@]}" COMPONENT_TYPE=binary $@
-}
-
-src_compile() {
- _emake
-}
-
-src_install() {
- _emake DESTDIR="${D}" install
-}
diff --git a/dev-libs/nsgenbind/nsgenbind-0.9.ebuild b/dev-libs/nsgenbind/nsgenbind-0.9.ebuild
new file mode 100644
index 000000000000..d24a7942178f
--- /dev/null
+++ b/dev-libs/nsgenbind/nsgenbind-0.9.ebuild
@@ -0,0 +1,31 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit netsurf
+
+DESCRIPTION="Generate Javascript-to-DOM bindings from w3c webidl files"
+HOMEPAGE="http://www.netsurf-browser.org/"
+SRC_URI="https://download.netsurf-browser.org/libs/releases/${P}-src.tar.gz"
+
+LICENSE="MIT"
+SLOT="0/${PV}"
+KEYWORDS="amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~x86"
+
+BDEPEND="
+ dev-build/netsurf-buildsystem
+ app-alternatives/yacc"
+
+_emake() {
+ netsurf_define_makeconf
+ emake "${NETSURF_MAKECONF[@]}" COMPONENT_TYPE=binary $@
+}
+
+src_compile() {
+ _emake
+}
+
+src_install() {
+ _emake DESTDIR="${D}" install
+}
diff --git a/dev-libs/nspr/Manifest b/dev-libs/nspr/Manifest
index 8620aaabfba8..3c544ab050a2 100644
--- a/dev-libs/nspr/Manifest
+++ b/dev-libs/nspr/Manifest
@@ -1,2 +1 @@
-DIST nspr-4.32.tar.gz 1079004 BLAKE2B fda56b2a3fbbff8542e213b20a5935376694ea171d2cd014f93a711980411afe195835996c1612376d37eac028071ce58008e1fbf7a16176141fc18aa8163a73 SHA512 da9b65b374783d20a2e589211b411816d899e296e91175d376e59df1919144c1808c155a234d6ceefdf7b8ae8f47cec98d92a5aa3150a579513251860e50dcb7
-DIST nspr-4.33.tar.gz 1078948 BLAKE2B b46e1c02ab7e5c442288a2cba2868166adb9461950d35fcd76074e3340734057f2b1bbeb3c700f38edf3710323ffd34576dd644814c379033de2a380c54d4fe3 SHA512 8064f826c977f1302a341ca7a7aaf7977b5d10102062c030b1d42b856638e3408ab262447e8c7cfd5a98879b9b1043d17ceae66fbb1e5ed86d6bc3531f26667e
+DIST nspr-4.35.tar.gz 1096974 BLAKE2B c80402d7be9e69ab6d1e768a18d271a8d28900f4cae7df2709d1ab26e100d908f508762bb771d4042aa7152934ce83d495e2102e894c56574187be8040d65629 SHA512 502815833116e25f79ddf71d1526484908aa92fbc55f8a892729cb404a4daafcc0470a89854cd080d2d20299fdb7d9662507c5362c7ae661cbacf308ac56ef7f
diff --git a/dev-libs/nspr/files/nspr-4.21-ipv6-musl-support.patch b/dev-libs/nspr/files/nspr-4.21-ipv6-musl-support.patch
index 2c8ebd4ccbb2..72393ca5f470 100644
--- a/dev-libs/nspr/files/nspr-4.21-ipv6-musl-support.patch
+++ b/dev-libs/nspr/files/nspr-4.21-ipv6-musl-support.patch
@@ -1,19 +1,11 @@
-From 8c57451f44d7ceb37bfb4ae6e457fc70b1f58d0a Mon Sep 17 00:00:00 2001
-From: Moritz Kick <gentoo@blackphoenix.de>
-Date: Wed, 20 Mar 2019 13:36:06 -0500
+From 2e6a43c751707b6983760669988ba4d2826ffd5b Mon Sep 17 00:00:00 2001
+From: Violet Purcell <vimproved@inventati.org>
+Date: Sat, 10 Jun 2023 04:37:55 +0000
Subject: [PATCH] Added IPv6 compatibility for musl libc
-Signed-off-by: Moritz Kick <gentoo@blackphoenix.de>
-Signed-off-by: Jory Pratt <anarchy@gentoo.org>
----
- pr/include/md/_linux.h | 13 +------------
- 1 file changed, 1 insertion(+), 12 deletions(-)
-
-diff --git a/pr/include/md/_linux.h b/pr/include/md/_linux.h
-index 2370ab8..612184c 100644
--- a/pr/include/md/_linux.h
+++ b/pr/include/md/_linux.h
-@@ -289,33 +289,22 @@ static inline PRInt32 _MD_ATOMIC_SET(PRInt32 *ptr, PRInt32 nv)
+@@ -315,33 +315,19 @@ static inline PRInt32 _MD_ATOMIC_SET(PRInt32 *ptr, PRInt32 nv)
#endif /* __arm__ */
#define USE_SETJMP
@@ -22,17 +14,17 @@ index 2370ab8..612184c 100644
-#endif
#undef _PR_USE_POLL
#define _PR_STAT_HAS_ONLY_ST_ATIME
- #if defined(__alpha) || defined(__ia64__)
+-#if defined(__alpha) || defined(__ia64__)
#define _PR_HAVE_LARGE_OFF_T
-#elif (__GLIBC__ > 2) || (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 1) \
- || defined(ANDROID)
-#define _PR_HAVE_OFF64_T
- #else
+-#else
-#define _PR_NO_LARGE_FILES
-+#define _PR_HAVE_OFF64_T
- #endif
+-#endif
-#if (__GLIBC__ > 2) || (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 1) \
- || defined(ANDROID)
++#define _FILE_OFFSET_BITS 64
#define _PR_INET6
#define _PR_HAVE_INET_NTOP
#define _PR_HAVE_GETHOSTBYNAME2
@@ -49,5 +41,5 @@ index 2370ab8..612184c 100644
#define _PR_HAVE_GETHOST_R_INT
#endif
--
-2.21.0
+2.41.0
diff --git a/dev-libs/nspr/files/nspr-4.35-bgo-905998-lfs64-musl.patch b/dev-libs/nspr/files/nspr-4.35-bgo-905998-lfs64-musl.patch
new file mode 100644
index 000000000000..1ec17cd301f5
--- /dev/null
+++ b/dev-libs/nspr/files/nspr-4.35-bgo-905998-lfs64-musl.patch
@@ -0,0 +1,15 @@
+needed since https://github.com/bminor/musl/commit/25e6fee27f4a293728dd15b659170e7b9c7db9bc
+--
+diff --git a/pr/include/md/_unixos.h b/pr/include/md/_unixos.h
+index 7d444cd..0099d2c 100644
+--- a/pr/include/md/_unixos.h
++++ b/pr/include/md/_unixos.h
+@@ -589,7 +589,7 @@ typedef off64_t _MDOff64_t;
+
+ #elif defined(_PR_HAVE_OFF64_T)
+ typedef struct stat64 _MDStat64;
+-typedef off64_t _MDOff64_t;
++typedef off_t _MDOff64_t;
+ #elif defined(_PR_HAVE_LARGE_OFF_T)
+ typedef struct stat _MDStat64;
+ typedef off_t _MDOff64_t;
diff --git a/dev-libs/nspr/nspr-4.32.ebuild b/dev-libs/nspr/nspr-4.32.ebuild
deleted file mode 100644
index 7be0ae41e449..000000000000
--- a/dev-libs/nspr/nspr-4.32.ebuild
+++ /dev/null
@@ -1,123 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit autotools toolchain-funcs multilib-minimal
-
-MIN_PV="$(ver_cut 2)"
-
-DESCRIPTION="Netscape Portable Runtime"
-HOMEPAGE="https://www.mozilla.org/projects/nspr/"
-SRC_URI="https://archive.mozilla.org/pub/nspr/releases/v${PV}/src/${P}.tar.gz"
-
-LICENSE="|| ( MPL-2.0 GPL-2 LGPL-2.1 )"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~x64-macos ~x64-solaris ~x86-solaris"
-IUSE="debug"
-
-MULTILIB_CHOST_TOOLS=(
- /usr/bin/nspr-config
-)
-
-PATCHES=(
- "${FILESDIR}"/${PN}-4.23-prtime.patch
- "${FILESDIR}"/${PN}-4.7.1-solaris.patch
- "${FILESDIR}"/${PN}-4.10.6-solaris.patch
- "${FILESDIR}"/${PN}-4.8.4-darwin-install_name.patch
- "${FILESDIR}"/${PN}-4.8.9-link-flags.patch
- # We do not need to pass -L$libdir via nspr-config --libs
- "${FILESDIR}"/${PN}-4.9.5_nspr_config.patch
-)
-
-src_prepare() {
- cd "${S}"/nspr || die
-
- default
-
- use elibc_musl && eapply "${FILESDIR}"/${PN}-4.21-ipv6-musl-support.patch
-
- # rename configure.in to configure.ac for new autotools compatibility
- if [[ -e "${S}"/nspr/configure.in ]] ; then
- einfo "Renaming configure.in to configure.ac"
- mv "${S}"/nspr/configure.{in,ac} || die
- else
- elog "configure.in rename logic can be removed from ebuild."
- fi
-
- # We must run eautoconf to regenerate configure
- eautoconf
-
- # make sure it won't find Perl out of Prefix
- sed -i -e "s/perl5//g" "${S}"/nspr/configure || die
-
- # Respect LDFLAGS
- sed -i -e 's/\$(MKSHLIB) \$(OBJS)/\$(MKSHLIB) \$(LDFLAGS) \$(OBJS)/g' \
- "${S}"/nspr/config/rules.mk || die
-}
-
-multilib_src_configure() {
- # We use the standard BUILD_xxx but nspr uses HOST_xxx
- tc-export_build_env BUILD_CC
- export HOST_CC=${BUILD_CC} HOST_CFLAGS=${BUILD_CFLAGS} HOST_LDFLAGS=${BUILD_LDFLAGS}
- tc-export AR AS CC CXX RANLIB
- [[ ${CBUILD} != ${CHOST} ]] \
- && export CROSS_COMPILE=1 \
- || unset CROSS_COMPILE
-
- local myconf=(
- --libdir="${EPREFIX}/usr/$(get_libdir)"
- $(use_enable debug)
- $(use_enable !debug optimize)
- )
-
- # The configure has some fancy --enable-{{n,x}32,64bit} switches
- # that trigger some code conditional to platform & arch. This really
- # matters for the few common arches (x86, ppc) but we pass a little
- # more of them to be future-proof.
-
- # use ABI first, this will work for most cases
- case "${ABI}" in
- alpha|arm|hppa|m68k|o32|ppc|s390|sh|sparc|x86) ;;
- n32) myconf+=( --enable-n32 );;
- x32) myconf+=( --enable-x32 );;
- s390x|*64) myconf+=( --enable-64bit );;
- default) # no abi actually set, fall back to old check
- einfo "Running a short build test to determine 64bit'ness"
- echo > "${T}"/test.c || die
- ${CC} ${CFLAGS} ${CPPFLAGS} -c "${T}"/test.c -o "${T}"/test.o || die
- case $(file "${T}"/test.o) in
- *32-bit*x86-64*) myconf+=( --enable-x32 );;
- *64-bit*|*ppc64*|*x86_64*) myconf+=( --enable-64bit );;
- *32-bit*|*ppc*|*i386*) ;;
- *) die "Failed to detect whether your arch is 64bits or 32bits, disable distcc if you're using it, please";;
- esac ;;
- *) ;;
- esac
-
- # Ancient autoconf needs help finding the right tools.
- LC_ALL="C" ECONF_SOURCE="${S}/nspr" \
- ac_cv_path_AR="${AR}" \
- ac_cv_path_AS="${AS}" \
- econf "${myconf[@]}"
-}
-
-multilib_src_install() {
- # Their build system is royally confusing, as usual
- MINOR_VERSION=${MIN_PV} # Used for .so version
- emake DESTDIR="${D}" install
-
- einfo "removing static libraries as upstream has requested!"
- rm "${ED}"/usr/$(get_libdir)/*.a || die "failed to remove static libraries."
-
- # install nspr-config
- dobin config/nspr-config
-
- # Remove stupid files in /usr/bin
- rm "${ED}"/usr/bin/prerr.properties || die
-
- # This is used only to generate prerr.c and prerr.h at build time.
- # No other projects use it, and we don't want to depend on perl.
- # Talked to upstream and they agreed w/punting.
- rm "${ED}"/usr/bin/compile-et.pl || die
-}
diff --git a/dev-libs/nspr/nspr-4.33.ebuild b/dev-libs/nspr/nspr-4.33.ebuild
deleted file mode 100644
index 3f4ceb883969..000000000000
--- a/dev-libs/nspr/nspr-4.33.ebuild
+++ /dev/null
@@ -1,123 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit autotools toolchain-funcs multilib-minimal
-
-MIN_PV="$(ver_cut 2)"
-
-DESCRIPTION="Netscape Portable Runtime"
-HOMEPAGE="https://www.mozilla.org/projects/nspr/"
-SRC_URI="https://archive.mozilla.org/pub/nspr/releases/v${PV}/src/${P}.tar.gz"
-
-LICENSE="|| ( MPL-2.0 GPL-2 LGPL-2.1 )"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos ~x64-solaris ~x86-solaris"
-IUSE="debug"
-
-MULTILIB_CHOST_TOOLS=(
- /usr/bin/nspr-config
-)
-
-PATCHES=(
- "${FILESDIR}"/${PN}-4.23-prtime.patch
- "${FILESDIR}"/${PN}-4.7.1-solaris.patch
- "${FILESDIR}"/${PN}-4.10.6-solaris.patch
- "${FILESDIR}"/${PN}-4.8.4-darwin-install_name.patch
- "${FILESDIR}"/${PN}-4.8.9-link-flags.patch
- # We do not need to pass -L$libdir via nspr-config --libs
- "${FILESDIR}"/${PN}-4.9.5_nspr_config.patch
-)
-
-src_prepare() {
- cd "${S}"/nspr || die
-
- default
-
- use elibc_musl && eapply "${FILESDIR}"/${PN}-4.21-ipv6-musl-support.patch
-
- # rename configure.in to configure.ac for new autotools compatibility
- if [[ -e "${S}"/nspr/configure.in ]] ; then
- einfo "Renaming configure.in to configure.ac"
- mv "${S}"/nspr/configure.{in,ac} || die
- else
- elog "configure.in rename logic can be removed from ebuild."
- fi
-
- # We must run eautoconf to regenerate configure
- eautoconf
-
- # make sure it won't find Perl out of Prefix
- sed -i -e "s/perl5//g" "${S}"/nspr/configure || die
-
- # Respect LDFLAGS
- sed -i -e 's/\$(MKSHLIB) \$(OBJS)/\$(MKSHLIB) \$(LDFLAGS) \$(OBJS)/g' \
- "${S}"/nspr/config/rules.mk || die
-}
-
-multilib_src_configure() {
- # We use the standard BUILD_xxx but nspr uses HOST_xxx
- tc-export_build_env BUILD_CC
- export HOST_CC=${BUILD_CC} HOST_CFLAGS=${BUILD_CFLAGS} HOST_LDFLAGS=${BUILD_LDFLAGS}
- tc-export AR AS CC CXX RANLIB
- [[ ${CBUILD} != ${CHOST} ]] \
- && export CROSS_COMPILE=1 \
- || unset CROSS_COMPILE
-
- local myconf=(
- --libdir="${EPREFIX}/usr/$(get_libdir)"
- $(use_enable debug)
- $(use_enable !debug optimize)
- )
-
- # The configure has some fancy --enable-{{n,x}32,64bit} switches
- # that trigger some code conditional to platform & arch. This really
- # matters for the few common arches (x86, ppc) but we pass a little
- # more of them to be future-proof.
-
- # use ABI first, this will work for most cases
- case "${ABI}" in
- alpha|arm|hppa|m68k|o32|ppc|s390|sh|sparc|x86) ;;
- n32) myconf+=( --enable-n32 );;
- x32) myconf+=( --enable-x32 );;
- s390x|*64) myconf+=( --enable-64bit );;
- default) # no abi actually set, fall back to old check
- einfo "Running a short build test to determine 64bit'ness"
- echo > "${T}"/test.c || die
- ${CC} ${CFLAGS} ${CPPFLAGS} -c "${T}"/test.c -o "${T}"/test.o || die
- case $(file "${T}"/test.o) in
- *32-bit*x86-64*) myconf+=( --enable-x32 );;
- *64-bit*|*ppc64*|*x86_64*) myconf+=( --enable-64bit );;
- *32-bit*|*ppc*|*i386*) ;;
- *) die "Failed to detect whether your arch is 64bits or 32bits, disable distcc if you're using it, please";;
- esac ;;
- *) ;;
- esac
-
- # Ancient autoconf needs help finding the right tools.
- LC_ALL="C" ECONF_SOURCE="${S}/nspr" \
- ac_cv_path_AR="${AR}" \
- ac_cv_path_AS="${AS}" \
- econf "${myconf[@]}"
-}
-
-multilib_src_install() {
- # Their build system is royally confusing, as usual
- MINOR_VERSION=${MIN_PV} # Used for .so version
- emake DESTDIR="${D}" install
-
- einfo "removing static libraries as upstream has requested!"
- rm "${ED}"/usr/$(get_libdir)/*.a || die "failed to remove static libraries."
-
- # install nspr-config
- dobin config/nspr-config
-
- # Remove stupid files in /usr/bin
- rm "${ED}"/usr/bin/prerr.properties || die
-
- # This is used only to generate prerr.c and prerr.h at build time.
- # No other projects use it, and we don't want to depend on perl.
- # Talked to upstream and they agreed w/punting.
- rm "${ED}"/usr/bin/compile-et.pl || die
-}
diff --git a/dev-libs/nspr/nspr-4.35-r2.ebuild b/dev-libs/nspr/nspr-4.35-r2.ebuild
new file mode 100644
index 000000000000..01df06b9ec19
--- /dev/null
+++ b/dev-libs/nspr/nspr-4.35-r2.ebuild
@@ -0,0 +1,178 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools flag-o-matic toolchain-funcs multilib-minimal
+
+MIN_PV="$(ver_cut 2)"
+
+DESCRIPTION="Netscape Portable Runtime"
+HOMEPAGE="https://www.mozilla.org/projects/nspr/"
+SRC_URI="https://archive.mozilla.org/pub/nspr/releases/v${PV}/src/${P}.tar.gz"
+
+LICENSE="|| ( MPL-2.0 GPL-2 LGPL-2.1 )"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~x64-macos ~x64-solaris"
+IUSE="debug"
+
+MULTILIB_CHOST_TOOLS=(
+ /usr/bin/nspr-config
+)
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-4.10.6-solaris.patch
+ "${FILESDIR}"/${PN}-4.23-prtime.patch
+ "${FILESDIR}"/${PN}-4.7.1-solaris.patch
+ "${FILESDIR}"/${PN}-4.8.4-darwin-install_name.patch
+ "${FILESDIR}"/${PN}-4.8.9-link-flags.patch
+ # We do not need to pass -L$libdir via nspr-config --libs
+ "${FILESDIR}"/${PN}-4.9.5_nspr_config.patch
+)
+
+QA_CONFIGURE_OPTIONS="--disable-static"
+
+src_prepare() {
+ cd "${S}"/nspr || die
+
+ default
+
+ if use elibc_musl; then
+ eapply "${FILESDIR}"/${PN}-4.21-ipv6-musl-support.patch
+ eapply "${FILESDIR}"/nspr-4.35-bgo-905998-lfs64-musl.patch
+ fi
+
+ # rename configure.in to configure.ac for new autotools compatibility
+ if [[ -e "${S}"/nspr/configure.in ]] ; then
+ einfo "Renaming configure.in to configure.ac"
+ mv "${S}"/nspr/configure.{in,ac} || die
+ else
+ elog "configure.in rename logic can be removed from ebuild."
+ fi
+
+ # We must run eautoconf to regenerate configure
+ eautoconf
+
+ # make sure it won't find Perl out of Prefix
+ sed -i -e "s/perl5//g" "${S}"/nspr/configure || die
+
+ # Respect LDFLAGS
+ sed -i -e 's/\$(MKSHLIB) \$(OBJS)/\$(MKSHLIB) \$(LDFLAGS) \$(OBJS)/g' \
+ "${S}"/nspr/config/rules.mk || die
+}
+
+multilib_src_configure() {
+ # -Werror=strict-aliasing
+ # https://bugs.gentoo.org/867634
+ #
+ # Testsuite-only issue. Still, this makes it challenging to test the package with LTO
+ # enabled...
+ append-flags -fno-strict-aliasing
+ filter-lto
+
+ # The build system overrides user optimization level based on a configure flag. #886987
+ local my_optlvl=$(get-flag '-O*')
+
+ # bgo #923802
+ append-lfs-flags
+
+ # We use the standard BUILD_xxx but nspr uses HOST_xxx
+ tc-export_build_env BUILD_CC
+ export HOST_CC=${BUILD_CC} HOST_CFLAGS=${BUILD_CFLAGS} HOST_LDFLAGS=${BUILD_LDFLAGS}
+ tc-export AR AS CC CXX RANLIB
+ [[ ${CBUILD} != ${CHOST} ]] \
+ && export CROSS_COMPILE=1 \
+ || unset CROSS_COMPILE
+
+ local myconf=( --libdir="${EPREFIX}/usr/$(get_libdir)" )
+
+ # Optimization is disabled when debug is enabled.
+ if use debug; then
+ myconf+=( --enable-debug )
+ else
+ myconf+=( --disable-debug )
+ myconf+=( --enable-optimize="${my_optlvl}" )
+ fi
+
+ # The configure has some fancy --enable-{{n,x}32,64bit} switches
+ # that trigger some code conditional to platform & arch. This really
+ # matters for the few common arches (x86, ppc) but we pass a little
+ # more of them to be future-proof.
+
+ # use ABI first, this will work for most cases
+ case "${ABI}" in
+ alpha|arm|hppa|m68k|o32|ppc|s390|sh|sparc|x86) ;;
+ n32) myconf+=( --enable-n32 );;
+ x32) myconf+=( --enable-x32 );;
+ s390x|*64) myconf+=( --enable-64bit );;
+ default) # no abi actually set, fall back to old check
+ einfo "Running a short build test to determine 64bit'ness"
+ # TODO: Port this to toolchain-funcs tc-get-ptr-size/tc-get-build-ptr-size
+ echo > "${T}"/test.c || die
+ ${CC} ${CFLAGS} ${CPPFLAGS} -fno-lto -c "${T}"/test.c -o "${T}"/test.o || die
+ case $(file -S "${T}"/test.o) in
+ *32-bit*x86-64*) myconf+=( --enable-x32 );;
+ *64-bit*|*ppc64*|*x86_64*) myconf+=( --enable-64bit );;
+ *32-bit*|*ppc*|*i386*) ;;
+ *) die "Failed to detect whether your arch is 64bits or 32bits, disable distcc if you're using it, please";;
+ esac ;;
+ *) ;;
+ esac
+
+ # Ancient autoconf needs help finding the right tools.
+ LC_ALL="C" ECONF_SOURCE="${S}/nspr" \
+ ac_cv_path_AR="${AR}" \
+ ac_cv_path_AS="${AS}" \
+ econf "${myconf[@]}"
+}
+
+multilib_src_test() {
+ # https://firefox-source-docs.mozilla.org/nspr/running_nspr_tests.html
+ cd "${BUILD_DIR}/pr/tests" || die
+ einfo "Building tests"
+ emake
+
+ einfo "Running test suite"
+ ../../../${P}/${PN}/pr/tests/runtests.pl | tee "${T}"/${ABI}-tests.log
+
+ # Needed to check if runtests.pl itself or the tee (somehow) failed
+ # (can't use die with pipes to check each component)
+ [[ ${PIPESTATUS[@]} == "0 0" ]] || die "Tests failed to run!"
+
+ local known_failures=(
+ # network-sandbox related?
+ cltsrv
+ # network-sandbox related?
+ gethost
+ )
+
+ local known_failure
+ for known_failure in "${known_failures[@]}" ; do
+ sed -i -e "/${known_failure}.*FAILED/d" "${T}"/${ABI}-tests.log || die
+ done
+
+ # But to actually check the test results, we examine the log.
+ if grep -q "FAILED" "${T}"/${ABI}-tests.log ; then
+ die "Test failure for ${ABI}!"
+ fi
+}
+
+multilib_src_install() {
+ # Their build system is royally confusing, as usual
+ MINOR_VERSION=${MIN_PV} # Used for .so version
+ emake DESTDIR="${D}" install
+
+ einfo "removing static libraries as upstream has requested!"
+ rm "${ED}"/usr/$(get_libdir)/*.a || die "failed to remove static libraries."
+
+ # install nspr-config
+ dobin config/nspr-config
+
+ # Remove stupid files in /usr/bin
+ rm "${ED}"/usr/bin/prerr.properties || die
+
+ # This is used only to generate prerr.c and prerr.h at build time.
+ # No other projects use it, and we don't want to depend on perl.
+ # Talked to upstream and they agreed w/punting.
+ rm "${ED}"/usr/bin/compile-et.pl || die
+}
diff --git a/dev-libs/nss-pem/Manifest b/dev-libs/nss-pem/Manifest
index 8e2a86d72a21..99e45521a375 100644
--- a/dev-libs/nss-pem/Manifest
+++ b/dev-libs/nss-pem/Manifest
@@ -1 +1 @@
-DIST nss-pem-1.0.8.tar.xz 41840 BLAKE2B 6a210517b6f70a6a1a0351970811500c1364c6cbb0159dc4b7b3edeff7c01d3b643a5a4a4946a350a1a49898570141acda1e913fdc79d750339f5021445e61c7 SHA512 9fd1fa9203fd707668506752be6f99d26e53281b8b95d7c3020da33ab8cb287890b66c8a59f1ee952fe8d2a8a350d7c5b4214a523a2e1762e48989f02c408b33
+DIST nss-pem-1.1.0.tar.xz 41928 BLAKE2B 99dae611fd8caa58947fb518a68462c1fc779fd19bc3ba8d81aa81bc167b9ecb77830d9dd0b883996b2b62a49809f9830a989ae39facc3d421266c17af1c28c7 SHA512 0fe2b4a3f1fe1746845ba51fa246b7c21b3197e7533fa77851eba2c4163e07b53114ee84f8ad493542ffc00bc1dfe2bf93524f4fead4e3d7b1eed600f73c048c
diff --git a/dev-libs/nss-pem/nss-pem-1.0.8.ebuild b/dev-libs/nss-pem/nss-pem-1.0.8.ebuild
deleted file mode 100644
index e2ca48835c0e..000000000000
--- a/dev-libs/nss-pem/nss-pem-1.0.8.ebuild
+++ /dev/null
@@ -1,32 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-CMAKE_ECLASS="cmake"
-
-inherit cmake-multilib
-
-DESCRIPTION="PEM file reader for Network Security Services (NSS)"
-HOMEPAGE="https://github.com/kdudka/nss-pem"
-SRC_URI="https://github.com/kdudka/${PN}/releases/download/${P}/${P}.tar.xz"
-
-LICENSE="MPL-1.1"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~s390 sparc x86 ~x64-solaris"
-IUSE=""
-
-BDEPEND=" >=dev-libs/nss-3.50-r1 "
-RDEPEND="${BDEPEND}"
-
-DEPEND="!<=dev-libs/nss-3.50
- ${RDEPEND}"
-
-S="${WORKDIR}/${P}/src"
-
-multilib_src_configure() {
- local mycmakeargs=(
- -DLIB_INSTALL_DIR="$(get_libdir)"
- )
- cmake_src_configure
-}
diff --git a/dev-libs/nss-pem/nss-pem-1.1.0.ebuild b/dev-libs/nss-pem/nss-pem-1.1.0.ebuild
new file mode 100644
index 000000000000..06f5e614872a
--- /dev/null
+++ b/dev-libs/nss-pem/nss-pem-1.1.0.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-multilib
+
+DESCRIPTION="PEM file reader for Network Security Services (NSS)"
+HOMEPAGE="https://github.com/kdudka/nss-pem"
+SRC_URI="https://github.com/kdudka/${PN}/releases/download/${P}/${P}.tar.xz"
+
+LICENSE="MPL-1.1"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-solaris"
+
+DEPEND="dev-libs/nss
+ dev-libs/nspr"
+RDEPEND="${DEPEND}"
+BDEPEND="dev-libs/nss
+ virtual/pkgconfig"
+
+S="${WORKDIR}/${P}/src"
+
+multilib_src_configure() {
+ local mycmakeargs=(
+ -DLIB_INSTALL_DIR="$(get_libdir)"
+ )
+ cmake_src_configure
+}
diff --git a/dev-libs/nss/Manifest b/dev-libs/nss/Manifest
index b13e67c27568..8fe609382f6b 100644
--- a/dev-libs/nss/Manifest
+++ b/dev-libs/nss/Manifest
@@ -1,3 +1,3 @@
-DIST nss-3.68.2.tar.gz 82406396 BLAKE2B 0542278f63770e9d4f3ce51516d7786680f2a869907ec91b2c4160f9fcad60703dd0e2a77bae91306349ff56908af0020e9479815e2b15392da7b14b27f8c7bc SHA512 31fe62f9e6f1695546bf8b087ae35ac2d3f39fde6be6ab3fcbc81ef66cf6290fc34b799e3809fcba4e913d0e305c476ee8ee1f22d0f957ec6978025920bdb9de
-DIST nss-3.74.tar.gz 83937875 BLAKE2B 55881f0e78e0ccc9b246c4323f6f2a5f7a84cb5e57aa3902d3d5a4068ec0be6f2669a9da11377b86d11d2ce400c2e73a6132fd4e490a04aad96be399110edbea SHA512 6fb322b64a5b42e5e22e803c8985986240d2990849d576cfc4b94cdc5c4ab27f683ebc4e1cf5e0ad16c636fc32debb24ec3b2d02d5baedc8fbaedec79c908226
+DIST nss-3.90.2.tar.gz 72215444 BLAKE2B 74b8eebf5f053dcebd9c6e6ef17c6113ac42a01f910f4ba621dadb09739d5a6090d022800d2c3a4bc0c58413f03512ca611ead1098488d303f1ee1e4bca5c222 SHA512 048a0c0a06fef8cd9c363ac511b9d6125ec131a306c5e093525a937f9e8740f1a2163f274c9a3907ed38331b2fb99b22b528b5e89da1e186c9ba9473d959ef4a
+DIST nss-3.99.tar.gz 76753982 BLAKE2B b6ce605232934644b6d80682615eac2fa171078fcdd75316ab2accc55caeaed5b548f16c2cef5cefcfb37b96a4d6eb918785be3aa195a561e46d2d3fd8fa217b SHA512 8ae032f3cb8eadfe524505d20e430b90ed25af2b4732b2cf286c435b0fcd5701d2f5c48bd2cfb3f9aa0bfdf503c1f3d5394cf34f860f51a1141cc4a7586bba32
DIST nss-cacert-class1-class3-r2.patch 21925 BLAKE2B 7627ff9a09f084c19d72d0490676865e3cab3ca7c920ae1ce4bea2db664f37fd0aa84fcda919809a516891ab2a62e2e7a43a9d6ada4c231adfe4c216525fac7d SHA512 1ce6ff9ab310aaca9005eafb461338b291df8523cc7044e096cd75774ce746c26eed19ec6bb2643c6c67f94650f2f309463492d80a90568f38ce2557f8ada2f4
diff --git a/dev-libs/nss/files/nss-3.23-hppa-byte_order.patch b/dev-libs/nss/files/nss-3.23-hppa-byte_order.patch
deleted file mode 100644
index 63cfaddb808c..000000000000
--- a/dev-libs/nss/files/nss-3.23-hppa-byte_order.patch
+++ /dev/null
@@ -1,16 +0,0 @@
---- nss/lib/dbm/include/mcom_db.h
-+++ nss/lib/dbm/include/mcom_db.h
-@@ -110,11 +110,13 @@
- #endif /* !BYTE_ORDER */
- #endif /* __sun */
-
-+#ifndef BYTE_ORDER
- #if defined(__hpux) || defined(__hppa)
- #define BYTE_ORDER BIG_ENDIAN
- #define BIG_ENDIAN 4321
- #define LITTLE_ENDIAN 1234 /* LSB first: i386, vax, all NT risc */
- #endif
-+#endif /* !BYTE_ORDER */
-
- #if defined(AIXV3) || defined(AIX)
- /* BYTE_ORDER, LITTLE_ENDIAN, BIG_ENDIAN are all defined here */
diff --git a/dev-libs/nss/files/nss-3.87-use-clang-as-bgo892686.patch b/dev-libs/nss/files/nss-3.87-use-clang-as-bgo892686.patch
new file mode 100644
index 000000000000..633d251868a8
--- /dev/null
+++ b/dev-libs/nss/files/nss-3.87-use-clang-as-bgo892686.patch
@@ -0,0 +1,85 @@
+diff -Naur a/lib/freebl/freebl_base.gypi b/lib/freebl/freebl_base.gypi
+--- a/lib/freebl/freebl_base.gypi 2023-02-10 09:25:24.750840063 +0200
++++ b/lib/freebl/freebl_base.gypi 2023-02-10 09:28:01.621413675 +0200
+@@ -72,19 +72,6 @@
+ 'mpi/mpi_amd64_common.S',
+ 'mpi/mp_comba.c',
+ ],
+- 'conditions': [
+- [ 'cc_is_clang==1 and fuzz!=1 and coverage!=1 and force_integrated_as!=1', {
+- 'cflags': [
+- '-no-integrated-as',
+- ],
+- 'cflags_mozilla': [
+- '-no-integrated-as',
+- ],
+- 'asflags_mozilla': [
+- '-no-integrated-as',
+- ],
+- }],
+- ],
+ }],
+ [ 'target_arch=="ia32"', {
+ 'sources': [
+diff -Naur a/lib/freebl/freebl.gyp b/lib/freebl/freebl.gyp
+--- a/lib/freebl/freebl.gyp 2023-02-10 09:25:24.750840063 +0200
++++ b/lib/freebl/freebl.gyp 2023-02-10 09:27:43.549117181 +0200
+@@ -16,19 +16,6 @@
+ 'dependencies': [
+ '<(DEPTH)/exports.gyp:nss_exports'
+ ],
+- 'conditions': [
+- [ 'cc_is_clang==1 and force_integrated_as!=1', {
+- 'cflags': [
+- '-no-integrated-as',
+- ],
+- 'cflags_mozilla': [
+- '-no-integrated-as',
+- ],
+- 'asflags_mozilla': [
+- '-no-integrated-as',
+- ],
+- }],
+- ],
+ },
+ {
+ 'target_name': 'intel-gcm-wrap_c_lib',
+@@ -325,19 +312,6 @@
+ 'dependencies': [
+ '<(DEPTH)/exports.gyp:nss_exports'
+ ],
+- 'conditions': [
+- [ 'cc_is_clang==1 and force_integrated_as!=1', {
+- 'cflags': [
+- '-no-integrated-as',
+- ],
+- 'cflags_mozilla': [
+- '-no-integrated-as',
+- ],
+- 'asflags_mozilla': [
+- '-no-integrated-as',
+- ],
+- }],
+- ],
+ },
+ {
+ 'target_name': 'ppc-gcm-wrap-nodepend_c_lib',
+diff -Naur a/lib/freebl/Makefile b/lib/freebl/Makefile
+--- a/lib/freebl/Makefile 2023-02-10 09:25:24.749840047 +0200
++++ b/lib/freebl/Makefile 2023-02-10 09:26:23.932810998 +0200
+@@ -731,15 +731,6 @@
+ # GCM binary needs -mssse3
+ #
+ $(OBJDIR)/$(PROG_PREFIX)intel-gcm-wrap$(OBJ_SUFFIX): CFLAGS += -mssse3
+-
+-# The integrated assembler in Clang 3.2 does not support % in the
+-# expression of a .set directive. intel-gcm.s uses .set to give
+-# symbolic names to registers, for example,
+-# .set Htbl, %rdi
+-# So we can't use Clang's integrated assembler with intel-gcm.s.
+-ifdef CC_IS_CLANG
+-$(OBJDIR)/$(PROG_PREFIX)intel-gcm$(OBJ_SUFFIX): CFLAGS += -no-integrated-as
+-endif
+ endif
+
+ ifdef INTEL_GCM_CLANG_CL
diff --git a/dev-libs/nss/files/nss-3.90-remove-support-of-curve25519.patch b/dev-libs/nss/files/nss-3.90-remove-support-of-curve25519.patch
new file mode 100644
index 000000000000..d883db8181d1
--- /dev/null
+++ b/dev-libs/nss/files/nss-3.90-remove-support-of-curve25519.patch
@@ -0,0 +1,78 @@
+# HG changeset patch
+# User Natalia Kulatova <nkulatova@mozilla.com>
+# Date 1687519432 0
+# Fri Jun 23 11:23:52 2023 +0000
+# Node ID 653f4c1b58425219c0e9c005d555994a3fe1fa72
+# Parent f095bf91ffaa273ea38ca6df34c905e5442de012
+Bug 1836925 - Removing the support of Curve25519 r=bbeurdouche,nss-reviewers
+
+Differential Revision: https://phabricator.services.mozilla.com/D180068
+
+diff -r f095bf91ffaa -r 653f4c1b5842 lib/freebl/Makefile
+--- a/lib/freebl/Makefile Fri Jun 23 08:56:27 2023 +0000
++++ b/lib/freebl/Makefile Fri Jun 23 11:23:52 2023 +0000
+@@ -568,9 +568,6 @@
+ HAVE_INT128_SUPPORT = 1
+ DEFINES += -DHAVE_INT128_SUPPORT
+ else ifeq (1,$(CC_IS_GCC))
+- ifeq ($(CPU_ARCH),x86_64)
+- SUPPORTS_VALE_CURVE25519 = 1
+- endif
+ ifneq (,$(filter 4.6 4.7 4.8 4.9,$(word 1,$(GCC_VERSION)).$(word 2,$(GCC_VERSION))))
+ HAVE_INT128_SUPPORT = 1
+ DEFINES += -DHAVE_INT128_SUPPORT
+@@ -595,11 +592,6 @@
+ DEFINES += -DKRML_VERIFIED_UINT128
+ endif
+
+-ifdef SUPPORTS_VALE_CURVE25519
+- VERIFIED_SRCS += Hacl_Curve25519_64.c
+- DEFINES += -DHACL_CAN_COMPILE_INLINE_ASM
+-endif
+-
+ ifndef NSS_DISABLE_CHACHAPOLY
+ ifeq ($(CPU_ARCH),x86_64)
+ ifndef NSS_DISABLE_AVX2
+diff -r f095bf91ffaa -r 653f4c1b5842 lib/freebl/freebl.gyp
+--- a/lib/freebl/freebl.gyp Fri Jun 23 08:56:27 2023 +0000
++++ b/lib/freebl/freebl.gyp Fri Jun 23 11:23:52 2023 +0000
+@@ -866,12 +866,6 @@
+ }],
+ ],
+ }],
+- [ 'supports_vale_curve25519==1', {
+- 'defines': [
+- # The Makefile does version-tests on GCC, but we're not doing that here.
+- 'HACL_CAN_COMPILE_INLINE_ASM',
+- ],
+- }],
+ [ 'OS=="linux" or OS=="android"', {
+ 'conditions': [
+ [ 'target_arch=="x64"', {
+@@ -934,11 +928,6 @@
+ 'variables': {
+ 'module': 'nss',
+ 'conditions': [
+- [ 'target_arch=="x64" and cc_is_gcc==1', {
+- 'supports_vale_curve25519%': 1,
+- }, {
+- 'supports_vale_curve25519%': 0,
+- }],
+ [ 'target_arch=="x64" or target_arch=="arm64" or target_arch=="aarch64"', {
+ 'have_int128_support%': 1,
+ }, {
+diff -r f095bf91ffaa -r 653f4c1b5842 lib/freebl/freebl_base.gypi
+--- a/lib/freebl/freebl_base.gypi Fri Jun 23 08:56:27 2023 +0000
++++ b/lib/freebl/freebl_base.gypi Fri Jun 23 11:23:52 2023 +0000
+@@ -154,11 +154,6 @@
+ 'ecl/curve25519_32.c',
+ ],
+ }],
+- ['supports_vale_curve25519==1', {
+- 'sources': [
+- 'verified/Hacl_Curve25519_64.c',
+- ],
+- }],
+ ['(target_arch!="ppc64" and target_arch!="ppc64le") or disable_altivec==1', {
+ 'sources': [
+ # Gyp does not support per-file cflags, so working around like this.
diff --git a/dev-libs/nss/files/nss-3.90.2-bmo-1885749-disable-ASM-C25519-on-non-X86_64.patch b/dev-libs/nss/files/nss-3.90.2-bmo-1885749-disable-ASM-C25519-on-non-X86_64.patch
new file mode 100644
index 000000000000..e5769308144c
--- /dev/null
+++ b/dev-libs/nss/files/nss-3.90.2-bmo-1885749-disable-ASM-C25519-on-non-X86_64.patch
@@ -0,0 +1,35 @@
+
+# HG changeset patch
+# User Natalia Kulatova <nkulatova@mozilla.com>
+# Date 1685981398 0
+# Node ID 52a5d8fe37410d940e7d3ca244146ebc46a7d52a
+# Parent 52969cff7db635e0ee10fad66eed2c0cfdcf999b
+Bug 1836781 - Disabling ASM C25519 for A but X86_64 r=bbeurdouche,nss-reviewers
+
+Differential Revision: https://phabricator.services.mozilla.com/D179969
+
+diff --git a/lib/freebl/Makefile b/lib/freebl/Makefile
+--- a/lib/freebl/Makefile
++++ b/lib/freebl/Makefile
+@@ -563,17 +563,19 @@ endif # target == SunO
+ ifdef USE_64
+ # no __int128 at least up to lcc 1.23 (pretending to be gcc5)
+ # NB: CC_NAME is not defined here
+ ifneq ($(shell $(CC) -? 2>&1 >/dev/null </dev/null | sed -e 's/:.*//;1q'),lcc)
+ ifdef CC_IS_CLANG
+ HAVE_INT128_SUPPORT = 1
+ DEFINES += -DHAVE_INT128_SUPPORT
+ else ifeq (1,$(CC_IS_GCC))
+- SUPPORTS_VALE_CURVE25519 = 1
++ ifeq ($(CPU_ARCH),x86_64)
++ SUPPORTS_VALE_CURVE25519 = 1
++ endif
+ ifneq (,$(filter 4.6 4.7 4.8 4.9,$(word 1,$(GCC_VERSION)).$(word 2,$(GCC_VERSION))))
+ HAVE_INT128_SUPPORT = 1
+ DEFINES += -DHAVE_INT128_SUPPORT
+ endif
+ ifneq (,$(filter 0 1 2 3 4,$(word 1,$(GCC_VERSION))))
+ NSS_DISABLE_AVX2 = 1
+ endif
+ ifeq (,$(filter 0 1 2 3 4,$(word 1,$(GCC_VERSION))))
+
diff --git a/dev-libs/nss/metadata.xml b/dev-libs/nss/metadata.xml
index 3c9d1ca00671..ed59ce5ad9ec 100644
--- a/dev-libs/nss/metadata.xml
+++ b/dev-libs/nss/metadata.xml
@@ -9,9 +9,10 @@
<flag name="cacert">
Include root/class3 certs from CAcert (https://www.cacert.org/)
</flag>
- <flag name="utils">Install utilities included with the library</flag>
+ <flag name="utils">Compile and install all extra binaries, such as certutil, modutil and few more</flag>
</use>
<upstream>
<remote-id type="cpe">cpe:/a:mozilla:nss</remote-id>
+ <remote-id type="github">nss-dev/nss</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-libs/nss/nss-3.68.2.ebuild b/dev-libs/nss/nss-3.68.2.ebuild
deleted file mode 100644
index 9f45dee60454..000000000000
--- a/dev-libs/nss/nss-3.68.2.ebuild
+++ /dev/null
@@ -1,367 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit flag-o-matic multilib toolchain-funcs multilib-minimal
-
-NSPR_VER="4.32"
-RTM_NAME="NSS_${PV//./_}_RTM"
-
-DESCRIPTION="Mozilla's Network Security Services library that implements PKI support"
-HOMEPAGE="https://developer.mozilla.org/en-US/docs/Mozilla/Projects/NSS"
-SRC_URI="https://archive.mozilla.org/pub/security/nss/releases/${RTM_NAME}/src/${P}.tar.gz
- cacert? ( https://dev.gentoo.org/~whissi/dist/ca-certificates/nss-cacert-class1-class3-r2.patch )"
-
-LICENSE="|| ( MPL-2.0 GPL-2 LGPL-2.1 )"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~x64-solaris ~x86-solaris"
-IUSE="cacert utils cpu_flags_ppc_altivec cpu_flags_ppc_vsx"
-# pkg-config called by nss-config -> virtual/pkgconfig in RDEPEND
-RDEPEND="
- >=dev-libs/nspr-${NSPR_VER}[${MULTILIB_USEDEP}]
- >=dev-db/sqlite-3.8.2[${MULTILIB_USEDEP}]
- >=sys-libs/zlib-1.2.8-r1[${MULTILIB_USEDEP}]
- virtual/pkgconfig
-"
-DEPEND="${RDEPEND}"
-BDEPEND="dev-lang/perl"
-
-RESTRICT="test"
-
-S="${WORKDIR}/${P}/${PN}"
-
-MULTILIB_CHOST_TOOLS=(
- /usr/bin/nss-config
-)
-
-PATCHES=(
- # Custom changes for gentoo
- "${FILESDIR}/${PN}-3.53-gentoo-fixups.patch"
- "${FILESDIR}/${PN}-3.21-gentoo-fixup-warnings.patch"
- "${FILESDIR}/${PN}-3.23-hppa-byte_order.patch"
-)
-
-src_prepare() {
- default
-
- if use cacert ; then
- eapply -p2 "${DISTDIR}"/nss-cacert-class1-class3-r2.patch
- fi
-
- pushd coreconf >/dev/null || die
- # hack nspr paths
- echo 'INCLUDES += -I$(DIST)/include/dbm' \
- >> headers.mk || die "failed to append include"
-
- # modify install path
- sed -e '/CORE_DEPTH/s:SOURCE_PREFIX.*$:SOURCE_PREFIX = $(CORE_DEPTH)/dist:' \
- -i source.mk || die
-
- # Respect LDFLAGS
- sed -i -e 's/\$(MKSHLIB) -o/\$(MKSHLIB) \$(LDFLAGS) -o/g' rules.mk
- popd >/dev/null || die
-
- # Fix pkgconfig file for Prefix
- sed -i -e "/^PREFIX =/s:= /usr:= ${EPREFIX}/usr:" \
- config/Makefile || die
-
- # use host shlibsign if need be #436216
- if tc-is-cross-compiler ; then
- sed -i \
- -e 's:"${2}"/shlibsign:shlibsign:' \
- cmd/shlibsign/sign.sh || die
- fi
-
- # dirty hack
- sed -i -e "/CRYPTOLIB/s:\$(SOFTOKEN_LIB_DIR):../freebl/\$(OBJDIR):" \
- lib/ssl/config.mk || die
- sed -i -e "/CRYPTOLIB/s:\$(SOFTOKEN_LIB_DIR):../../lib/freebl/\$(OBJDIR):" \
- cmd/platlibs.mk || die
-
- multilib_copy_sources
-
- strip-flags
-}
-
-multilib_src_configure() {
- # Ensure we stay multilib aware
- sed -i -e "/@libdir@/ s:lib64:$(get_libdir):" config/Makefile || die
-}
-
-nssarch() {
- # Most of the arches are the same as $ARCH
- local t=${1:-${CHOST}}
- case ${t} in
- *86*-pc-solaris2*) echo "i86pc" ;;
- aarch64*) echo "aarch64" ;;
- hppa*) echo "parisc" ;;
- i?86*) echo "i686" ;;
- x86_64*) echo "x86_64" ;;
- *) tc-arch ${t} ;;
- esac
-}
-
-nssbits() {
- local cc cppflags="${1}CPPFLAGS" cflags="${1}CFLAGS"
- if [[ ${1} == BUILD_ ]]; then
- cc=$(tc-getBUILD_CC)
- else
- cc=$(tc-getCC)
- fi
- echo > "${T}"/test.c || die
- ${cc} ${!cppflags} ${!cflags} -c "${T}"/test.c -o "${T}/${1}test.o" || die
- case $(file "${T}/${1}test.o") in
- *32-bit*x86-64*) echo USE_X32=1;;
- *64-bit*|*ppc64*|*x86_64*) echo USE_64=1;;
- *32-bit*|*ppc*|*i386*) ;;
- *) die "Failed to detect whether ${cc} builds 64bits or 32bits, disable distcc if you're using it, please";;
- esac
-}
-
-multilib_src_compile() {
- # use ABI to determine bit'ness, or fallback if unset
- local buildbits mybits
- case "${ABI}" in
- n32) mybits="USE_N32=1";;
- x32) mybits="USE_X32=1";;
- s390x|*64) mybits="USE_64=1";;
- ${DEFAULT_ABI})
- einfo "Running compilation test to determine bit'ness"
- mybits=$(nssbits)
- ;;
- esac
- # bitness of host may differ from target
- if tc-is-cross-compiler; then
- buildbits=$(nssbits BUILD_)
- fi
-
- local makeargs=(
- CC="$(tc-getCC)"
- CCC="$(tc-getCXX)"
- AR="$(tc-getAR) rc \$@"
- RANLIB="$(tc-getRANLIB)"
- OPTIMIZER=
- ${mybits}
- )
-
- # Take care of nspr settings #436216
- local myCPPFLAGS="${CPPFLAGS} $($(tc-getPKG_CONFIG) nspr --cflags)"
- unset NSPR_INCLUDE_DIR
-
- export NSS_ALLOW_SSLKEYLOGFILE=1
- export NSS_ENABLE_WERROR=0 #567158
- export BUILD_OPT=1
- export NSS_USE_SYSTEM_SQLITE=1
- export NSDISTMODE=copy
- export FREEBL_NO_DEPEND=1
- export FREEBL_LOWHASH=1
- export NSS_SEED_ONLY_DEV_URANDOM=1
- export USE_SYSTEM_ZLIB=1
- export ZLIB_LIBS=-lz
- export ASFLAGS=""
- # Fix build failure on arm64
- export NS_USE_GCC=1
- # Detect compiler type and set proper environment value
- if tc-is-gcc; then
- export CC_IS_GCC=1
- elif tc-is-clang; then
- export CC_IS_CLANG=1
- fi
-
- # explicitly disable altivec/vsx if not requested
- # https://bugs.gentoo.org/789114
- case ${ARCH} in
- ppc*)
- use cpu_flags_ppc_altivec || export NSS_DISABLE_ALTIVEC=1
- use cpu_flags_ppc_vsx || export NSS_DISABLE_CRYPTO_VSX=1
- ;;
- esac
-
- local d
-
- # Build the host tools first.
- LDFLAGS="${BUILD_LDFLAGS}" \
- XCFLAGS="${BUILD_CFLAGS}" \
- NSPR_LIB_DIR="${T}/fakedir" \
- emake -j1 -C coreconf \
- CC="$(tc-getBUILD_CC)" \
- ${buildbits-${mybits}}
- makeargs+=( NSINSTALL="${PWD}/$(find -type f -name nsinstall)" )
-
- # Then build the target tools.
- for d in . lib/dbm ; do
- CPPFLAGS="${myCPPFLAGS}" \
- XCFLAGS="${CFLAGS} ${CPPFLAGS}" \
- NSPR_LIB_DIR="${T}/fakedir" \
- emake -j1 "${makeargs[@]}" -C ${d} OS_TEST="$(nssarch)"
- done
-}
-
-# Altering these 3 libraries breaks the CHK verification.
-# All of the following cause it to break:
-# - stripping
-# - prelink
-# - ELF signing
-# http://www.mozilla.org/projects/security/pki/nss/tech-notes/tn6.html
-# Either we have to NOT strip them, or we have to forcibly resign after
-# stripping.
-#local_libdir="$(get_libdir)"
-#export STRIP_MASK="
-# */${local_libdir}/libfreebl3.so*
-# */${local_libdir}/libnssdbm3.so*
-# */${local_libdir}/libsoftokn3.so*"
-
-export NSS_CHK_SIGN_LIBS="freebl3 nssdbm3 softokn3"
-
-generate_chk() {
- local shlibsign="$1"
- local libdir="$2"
- einfo "Resigning core NSS libraries for FIPS validation"
- shift 2
- local i
- for i in ${NSS_CHK_SIGN_LIBS} ; do
- local libname=lib${i}.so
- local chkname=lib${i}.chk
- "${shlibsign}" \
- -i "${libdir}"/${libname} \
- -o "${libdir}"/${chkname}.tmp \
- && mv -f \
- "${libdir}"/${chkname}.tmp \
- "${libdir}"/${chkname} \
- || die "Failed to sign ${libname}"
- done
-}
-
-cleanup_chk() {
- local libdir="$1"
- shift 1
- local i
- for i in ${NSS_CHK_SIGN_LIBS} ; do
- local libfname="${libdir}/lib${i}.so"
- # If the major version has changed, then we have old chk files.
- [ ! -f "${libfname}" -a -f "${libfname}.chk" ] \
- && rm -f "${libfname}.chk"
- done
-}
-
-multilib_src_install() {
- pushd dist >/dev/null || die
-
- dodir /usr/$(get_libdir)
- cp -L */lib/*$(get_libname) "${ED}"/usr/$(get_libdir) || die "copying shared libs failed"
- local i
- for i in crmf freebl nssb nssckfw ; do
- cp -L */lib/lib${i}.a "${ED}"/usr/$(get_libdir) || die "copying libs failed"
- done
-
- # Install nss-config and pkgconfig file
- dodir /usr/bin
- cp -L */bin/nss-config "${ED}"/usr/bin || die
- dodir /usr/$(get_libdir)/pkgconfig
- cp -L */lib/pkgconfig/nss.pc "${ED}"/usr/$(get_libdir)/pkgconfig || die
-
- # create an nss-softokn.pc from nss.pc for libfreebl and some private headers
- # bug 517266
- sed -e 's#Libs:#Libs: -lfreebl#' \
- -e 's#Cflags:#Cflags: -I${includedir}/private#' \
- */lib/pkgconfig/nss.pc >"${ED}"/usr/$(get_libdir)/pkgconfig/nss-softokn.pc \
- || die "could not create nss-softokn.pc"
-
- # all the include files
- insinto /usr/include/nss
- doins public/nss/*.{h,api}
- insinto /usr/include/nss/private
- doins private/nss/{blapi,alghmac,cmac}.h
-
- popd >/dev/null || die
-
- local f nssutils
- # Always enabled because we need it for chk generation.
- nssutils=( shlibsign )
-
- if multilib_is_native_abi ; then
- if use utils; then
- # The tests we do not need to install.
- #nssutils_test="bltest crmftest dbtest dertimetest
- #fipstest remtest sdrtest"
- # checkcert utils has been removed in nss-3.22:
- # https://bugzilla.mozilla.org/show_bug.cgi?id=1187545
- # https://hg.mozilla.org/projects/nss/rev/df1729d37870
- # certcgi has been removed in nss-3.36:
- # https://bugzilla.mozilla.org/show_bug.cgi?id=1426602
- nssutils+=(
- addbuiltin
- atob
- baddbdir
- btoa
- certutil
- cmsutil
- conflict
- crlutil
- derdump
- digest
- makepqg
- mangle
- modutil
- multinit
- nonspr10
- ocspclnt
- oidcalc
- p7content
- p7env
- p7sign
- p7verify
- pk11mode
- pk12util
- pp
- rsaperf
- selfserv
- signtool
- signver
- ssltap
- strsclnt
- symkeyutil
- tstclnt
- vfychain
- vfyserv
- )
- # install man-pages for utils (bug #516810)
- doman doc/nroff/*.1
- fi
- pushd dist/*/bin >/dev/null || die
- for f in ${nssutils[@]}; do
- dobin ${f}
- done
- popd >/dev/null || die
- fi
-
- # Prelink breaks the CHK files. We don't have any reliable way to run
- # shlibsign after prelink.
- dodir /etc/prelink.conf.d
- printf -- "-b ${EPREFIX}/usr/$(get_libdir)/lib%s.so\n" ${NSS_CHK_SIGN_LIBS} \
- > "${ED}"/etc/prelink.conf.d/nss.conf
-}
-
-pkg_postinst() {
- multilib_pkg_postinst() {
- # We must re-sign the libraries AFTER they are stripped.
- local shlibsign="${EROOT}/usr/bin/shlibsign"
- # See if we can execute it (cross-compiling & such). #436216
- "${shlibsign}" -h >&/dev/null
- if [[ $? -gt 1 ]] ; then
- shlibsign="shlibsign"
- fi
- generate_chk "${shlibsign}" "${EROOT}"/usr/$(get_libdir)
- }
-
- multilib_foreach_abi multilib_pkg_postinst
-}
-
-pkg_postrm() {
- multilib_pkg_postrm() {
- cleanup_chk "${EROOT}"/usr/$(get_libdir)
- }
-
- multilib_foreach_abi multilib_pkg_postrm
-}
diff --git a/dev-libs/nss/nss-3.74.ebuild b/dev-libs/nss/nss-3.74.ebuild
deleted file mode 100644
index df96481cbb3d..000000000000
--- a/dev-libs/nss/nss-3.74.ebuild
+++ /dev/null
@@ -1,367 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit flag-o-matic multilib toolchain-funcs multilib-minimal
-
-NSPR_VER="4.32"
-RTM_NAME="NSS_${PV//./_}_RTM"
-
-DESCRIPTION="Mozilla's Network Security Services library that implements PKI support"
-HOMEPAGE="https://developer.mozilla.org/en-US/docs/Mozilla/Projects/NSS"
-SRC_URI="https://archive.mozilla.org/pub/security/nss/releases/${RTM_NAME}/src/${P}.tar.gz
- cacert? ( https://dev.gentoo.org/~whissi/dist/ca-certificates/nss-cacert-class1-class3-r2.patch )"
-
-LICENSE="|| ( MPL-2.0 GPL-2 LGPL-2.1 )"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-solaris ~x86-solaris"
-IUSE="cacert utils cpu_flags_ppc_altivec cpu_flags_ppc_vsx"
-# pkg-config called by nss-config -> virtual/pkgconfig in RDEPEND
-RDEPEND="
- >=dev-libs/nspr-${NSPR_VER}[${MULTILIB_USEDEP}]
- >=dev-db/sqlite-3.8.2[${MULTILIB_USEDEP}]
- >=sys-libs/zlib-1.2.8-r1[${MULTILIB_USEDEP}]
- virtual/pkgconfig
-"
-DEPEND="${RDEPEND}"
-BDEPEND="dev-lang/perl"
-
-RESTRICT="test"
-
-S="${WORKDIR}/${P}/${PN}"
-
-MULTILIB_CHOST_TOOLS=(
- /usr/bin/nss-config
-)
-
-PATCHES=(
- # Custom changes for gentoo
- "${FILESDIR}/${PN}-3.53-gentoo-fixups.patch"
- "${FILESDIR}/${PN}-3.21-gentoo-fixup-warnings.patch"
- "${FILESDIR}/${PN}-3.23-hppa-byte_order.patch"
-)
-
-src_prepare() {
- default
-
- if use cacert ; then
- eapply -p2 "${DISTDIR}"/nss-cacert-class1-class3-r2.patch
- fi
-
- pushd coreconf >/dev/null || die
- # hack nspr paths
- echo 'INCLUDES += -I$(DIST)/include/dbm' \
- >> headers.mk || die "failed to append include"
-
- # modify install path
- sed -e '/CORE_DEPTH/s:SOURCE_PREFIX.*$:SOURCE_PREFIX = $(CORE_DEPTH)/dist:' \
- -i source.mk || die
-
- # Respect LDFLAGS
- sed -i -e 's/\$(MKSHLIB) -o/\$(MKSHLIB) \$(LDFLAGS) -o/g' rules.mk
- popd >/dev/null || die
-
- # Fix pkgconfig file for Prefix
- sed -i -e "/^PREFIX =/s:= /usr:= ${EPREFIX}/usr:" \
- config/Makefile || die
-
- # use host shlibsign if need be #436216
- if tc-is-cross-compiler ; then
- sed -i \
- -e 's:"${2}"/shlibsign:shlibsign:' \
- cmd/shlibsign/sign.sh || die
- fi
-
- # dirty hack
- sed -i -e "/CRYPTOLIB/s:\$(SOFTOKEN_LIB_DIR):../freebl/\$(OBJDIR):" \
- lib/ssl/config.mk || die
- sed -i -e "/CRYPTOLIB/s:\$(SOFTOKEN_LIB_DIR):../../lib/freebl/\$(OBJDIR):" \
- cmd/platlibs.mk || die
-
- multilib_copy_sources
-
- strip-flags
-}
-
-multilib_src_configure() {
- # Ensure we stay multilib aware
- sed -i -e "/@libdir@/ s:lib64:$(get_libdir):" config/Makefile || die
-}
-
-nssarch() {
- # Most of the arches are the same as $ARCH
- local t=${1:-${CHOST}}
- case ${t} in
- *86*-pc-solaris2*) echo "i86pc" ;;
- aarch64*) echo "aarch64" ;;
- hppa*) echo "parisc" ;;
- i?86*) echo "i686" ;;
- x86_64*) echo "x86_64" ;;
- *) tc-arch ${t} ;;
- esac
-}
-
-nssbits() {
- local cc cppflags="${1}CPPFLAGS" cflags="${1}CFLAGS"
- if [[ ${1} == BUILD_ ]]; then
- cc=$(tc-getBUILD_CC)
- else
- cc=$(tc-getCC)
- fi
- echo > "${T}"/test.c || die
- ${cc} ${!cppflags} ${!cflags} -c "${T}"/test.c -o "${T}/${1}test.o" || die
- case $(file "${T}/${1}test.o") in
- *32-bit*x86-64*) echo USE_X32=1;;
- *64-bit*|*ppc64*|*x86_64*) echo USE_64=1;;
- *32-bit*|*ppc*|*i386*) ;;
- *) die "Failed to detect whether ${cc} builds 64bits or 32bits, disable distcc if you're using it, please";;
- esac
-}
-
-multilib_src_compile() {
- # use ABI to determine bit'ness, or fallback if unset
- local buildbits mybits
- case "${ABI}" in
- n32) mybits="USE_N32=1";;
- x32) mybits="USE_X32=1";;
- s390x|*64) mybits="USE_64=1";;
- ${DEFAULT_ABI})
- einfo "Running compilation test to determine bit'ness"
- mybits=$(nssbits)
- ;;
- esac
- # bitness of host may differ from target
- if tc-is-cross-compiler; then
- buildbits=$(nssbits BUILD_)
- fi
-
- local makeargs=(
- CC="$(tc-getCC)"
- CCC="$(tc-getCXX)"
- AR="$(tc-getAR) rc \$@"
- RANLIB="$(tc-getRANLIB)"
- OPTIMIZER=
- ${mybits}
- )
-
- # Take care of nspr settings #436216
- local myCPPFLAGS="${CPPFLAGS} $($(tc-getPKG_CONFIG) nspr --cflags)"
- unset NSPR_INCLUDE_DIR
-
- export NSS_ALLOW_SSLKEYLOGFILE=1
- export NSS_ENABLE_WERROR=0 #567158
- export BUILD_OPT=1
- export NSS_USE_SYSTEM_SQLITE=1
- export NSDISTMODE=copy
- export FREEBL_NO_DEPEND=1
- export FREEBL_LOWHASH=1
- export NSS_SEED_ONLY_DEV_URANDOM=1
- export USE_SYSTEM_ZLIB=1
- export ZLIB_LIBS=-lz
- export ASFLAGS=""
- # Fix build failure on arm64
- export NS_USE_GCC=1
- # Detect compiler type and set proper environment value
- if tc-is-gcc; then
- export CC_IS_GCC=1
- elif tc-is-clang; then
- export CC_IS_CLANG=1
- fi
-
- # explicitly disable altivec/vsx if not requested
- # https://bugs.gentoo.org/789114
- case ${ARCH} in
- ppc*)
- use cpu_flags_ppc_altivec || export NSS_DISABLE_ALTIVEC=1
- use cpu_flags_ppc_vsx || export NSS_DISABLE_CRYPTO_VSX=1
- ;;
- esac
-
- local d
-
- # Build the host tools first.
- LDFLAGS="${BUILD_LDFLAGS}" \
- XCFLAGS="${BUILD_CFLAGS}" \
- NSPR_LIB_DIR="${T}/fakedir" \
- emake -j1 -C coreconf \
- CC="$(tc-getBUILD_CC)" \
- ${buildbits-${mybits}}
- makeargs+=( NSINSTALL="${PWD}/$(find -type f -name nsinstall)" )
-
- # Then build the target tools.
- for d in . lib/dbm ; do
- CPPFLAGS="${myCPPFLAGS}" \
- XCFLAGS="${CFLAGS} ${CPPFLAGS}" \
- NSPR_LIB_DIR="${T}/fakedir" \
- emake -j1 "${makeargs[@]}" -C ${d} OS_TEST="$(nssarch)"
- done
-}
-
-# Altering these 3 libraries breaks the CHK verification.
-# All of the following cause it to break:
-# - stripping
-# - prelink
-# - ELF signing
-# http://www.mozilla.org/projects/security/pki/nss/tech-notes/tn6.html
-# Either we have to NOT strip them, or we have to forcibly resign after
-# stripping.
-#local_libdir="$(get_libdir)"
-#export STRIP_MASK="
-# */${local_libdir}/libfreebl3.so*
-# */${local_libdir}/libnssdbm3.so*
-# */${local_libdir}/libsoftokn3.so*"
-
-export NSS_CHK_SIGN_LIBS="freebl3 nssdbm3 softokn3"
-
-generate_chk() {
- local shlibsign="$1"
- local libdir="$2"
- einfo "Resigning core NSS libraries for FIPS validation"
- shift 2
- local i
- for i in ${NSS_CHK_SIGN_LIBS} ; do
- local libname=lib${i}.so
- local chkname=lib${i}.chk
- "${shlibsign}" \
- -i "${libdir}"/${libname} \
- -o "${libdir}"/${chkname}.tmp \
- && mv -f \
- "${libdir}"/${chkname}.tmp \
- "${libdir}"/${chkname} \
- || die "Failed to sign ${libname}"
- done
-}
-
-cleanup_chk() {
- local libdir="$1"
- shift 1
- local i
- for i in ${NSS_CHK_SIGN_LIBS} ; do
- local libfname="${libdir}/lib${i}.so"
- # If the major version has changed, then we have old chk files.
- [ ! -f "${libfname}" -a -f "${libfname}.chk" ] \
- && rm -f "${libfname}.chk"
- done
-}
-
-multilib_src_install() {
- pushd dist >/dev/null || die
-
- dodir /usr/$(get_libdir)
- cp -L */lib/*$(get_libname) "${ED}"/usr/$(get_libdir) || die "copying shared libs failed"
- local i
- for i in crmf freebl nssb nssckfw ; do
- cp -L */lib/lib${i}.a "${ED}"/usr/$(get_libdir) || die "copying libs failed"
- done
-
- # Install nss-config and pkgconfig file
- dodir /usr/bin
- cp -L */bin/nss-config "${ED}"/usr/bin || die
- dodir /usr/$(get_libdir)/pkgconfig
- cp -L */lib/pkgconfig/nss.pc "${ED}"/usr/$(get_libdir)/pkgconfig || die
-
- # create an nss-softokn.pc from nss.pc for libfreebl and some private headers
- # bug 517266
- sed -e 's#Libs:#Libs: -lfreebl#' \
- -e 's#Cflags:#Cflags: -I${includedir}/private#' \
- */lib/pkgconfig/nss.pc >"${ED}"/usr/$(get_libdir)/pkgconfig/nss-softokn.pc \
- || die "could not create nss-softokn.pc"
-
- # all the include files
- insinto /usr/include/nss
- doins public/nss/*.{h,api}
- insinto /usr/include/nss/private
- doins private/nss/{blapi,alghmac,cmac}.h
-
- popd >/dev/null || die
-
- local f nssutils
- # Always enabled because we need it for chk generation.
- nssutils=( shlibsign )
-
- if multilib_is_native_abi ; then
- if use utils; then
- # The tests we do not need to install.
- #nssutils_test="bltest crmftest dbtest dertimetest
- #fipstest remtest sdrtest"
- # checkcert utils has been removed in nss-3.22:
- # https://bugzilla.mozilla.org/show_bug.cgi?id=1187545
- # https://hg.mozilla.org/projects/nss/rev/df1729d37870
- # certcgi has been removed in nss-3.36:
- # https://bugzilla.mozilla.org/show_bug.cgi?id=1426602
- nssutils+=(
- addbuiltin
- atob
- baddbdir
- btoa
- certutil
- cmsutil
- conflict
- crlutil
- derdump
- digest
- makepqg
- mangle
- modutil
- multinit
- nonspr10
- ocspclnt
- oidcalc
- p7content
- p7env
- p7sign
- p7verify
- pk11mode
- pk12util
- pp
- rsaperf
- selfserv
- signtool
- signver
- ssltap
- strsclnt
- symkeyutil
- tstclnt
- vfychain
- vfyserv
- )
- # install man-pages for utils (bug #516810)
- doman doc/nroff/*.1
- fi
- pushd dist/*/bin >/dev/null || die
- for f in ${nssutils[@]}; do
- dobin ${f}
- done
- popd >/dev/null || die
- fi
-
- # Prelink breaks the CHK files. We don't have any reliable way to run
- # shlibsign after prelink.
- dodir /etc/prelink.conf.d
- printf -- "-b ${EPREFIX}/usr/$(get_libdir)/lib%s.so\n" ${NSS_CHK_SIGN_LIBS} \
- > "${ED}"/etc/prelink.conf.d/nss.conf
-}
-
-pkg_postinst() {
- multilib_pkg_postinst() {
- # We must re-sign the libraries AFTER they are stripped.
- local shlibsign="${EROOT}/usr/bin/shlibsign"
- # See if we can execute it (cross-compiling & such). #436216
- "${shlibsign}" -h >&/dev/null
- if [[ $? -gt 1 ]] ; then
- shlibsign="shlibsign"
- fi
- generate_chk "${shlibsign}" "${EROOT}"/usr/$(get_libdir)
- }
-
- multilib_foreach_abi multilib_pkg_postinst
-}
-
-pkg_postrm() {
- multilib_pkg_postrm() {
- cleanup_chk "${EROOT}"/usr/$(get_libdir)
- }
-
- multilib_foreach_abi multilib_pkg_postrm
-}
diff --git a/dev-libs/nss/nss-3.90.2-r1.ebuild b/dev-libs/nss/nss-3.90.2-r1.ebuild
new file mode 100644
index 000000000000..96f5c85ed19b
--- /dev/null
+++ b/dev-libs/nss/nss-3.90.2-r1.ebuild
@@ -0,0 +1,420 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit flag-o-matic multilib toolchain-funcs multilib-minimal
+
+NSPR_VER="4.35"
+RTM_NAME="NSS_${PV//./_}_RTM"
+
+DESCRIPTION="Mozilla's Network Security Services library that implements PKI support"
+HOMEPAGE="https://developer.mozilla.org/en-US/docs/Mozilla/Projects/NSS"
+SRC_URI="https://archive.mozilla.org/pub/security/nss/releases/${RTM_NAME}/src/${P}.tar.gz
+ cacert? ( https://dev.gentoo.org/~whissi/dist/ca-certificates/nss-cacert-class1-class3-r2.patch )"
+
+LICENSE="|| ( MPL-2.0 GPL-2 LGPL-2.1 )"
+SLOT="0"
+KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~x64-solaris"
+IUSE="cacert test +utils cpu_flags_ppc_altivec cpu_flags_x86_avx2 cpu_flags_x86_sse3 cpu_flags_ppc_vsx"
+RESTRICT="!test? ( test )"
+# pkg-config called by nss-config -> virtual/pkgconfig in RDEPEND
+RDEPEND="
+ >=dev-libs/nspr-${NSPR_VER}[${MULTILIB_USEDEP}]
+ >=dev-db/sqlite-3.8.2[${MULTILIB_USEDEP}]
+ >=sys-libs/zlib-1.2.8-r1[${MULTILIB_USEDEP}]
+ virtual/pkgconfig
+"
+DEPEND="${RDEPEND}"
+BDEPEND="dev-lang/perl"
+
+S="${WORKDIR}/${P}/${PN}"
+
+MULTILIB_CHOST_TOOLS=(
+ /usr/bin/nss-config
+)
+
+PATCHES=(
+ "${FILESDIR}/${PN}-3.53-gentoo-fixups.patch"
+ "${FILESDIR}/${PN}-3.21-gentoo-fixup-warnings.patch"
+ "${FILESDIR}"/nss-3.87-use-clang-as-bgo892686.patch
+ "${FILESDIR}"/nss-3.90.2-bmo-1885749-disable-ASM-C25519-on-non-X86_64.patch
+ "${FILESDIR}"/nss-3.90-remove-support-of-curve25519.patch
+)
+
+src_prepare() {
+ default
+
+ if use cacert ; then
+ eapply -p2 "${DISTDIR}"/nss-cacert-class1-class3-r2.patch
+ fi
+
+ pushd coreconf >/dev/null || die
+ # hack nspr paths
+ echo 'INCLUDES += -I$(DIST)/include/dbm' \
+ >> headers.mk || die "failed to append include"
+
+ # modify install path
+ sed -e '/CORE_DEPTH/s:SOURCE_PREFIX.*$:SOURCE_PREFIX = $(CORE_DEPTH)/dist:' \
+ -i source.mk || die
+
+ # Respect LDFLAGS
+ sed -i -e 's/\$(MKSHLIB) -o/\$(MKSHLIB) \$(LDFLAGS) -o/g' rules.mk
+
+ # Workaround make-4.4's change to sub-make, bmo#1800237, bgo#882069
+ sed -i -e "s/^CPU_TAG = _.*/CPU_TAG = _$(nssarch)/" Linux.mk || die
+
+ popd >/dev/null || die
+
+ # Fix pkgconfig file for Prefix
+ sed -i -e "/^PREFIX =/s:= /usr:= ${EPREFIX}/usr:" \
+ config/Makefile || die
+
+ # use host shlibsign if need be #436216
+ if tc-is-cross-compiler ; then
+ sed -i \
+ -e 's:"${2}"/shlibsign:shlibsign:' \
+ cmd/shlibsign/sign.sh || die
+ fi
+
+ # dirty hack
+ sed -i -e "/CRYPTOLIB/s:\$(SOFTOKEN_LIB_DIR):../freebl/\$(OBJDIR):" \
+ lib/ssl/config.mk || die
+ sed -i -e "/CRYPTOLIB/s:\$(SOFTOKEN_LIB_DIR):../../lib/freebl/\$(OBJDIR):" \
+ cmd/platlibs.mk || die
+
+ multilib_copy_sources
+
+ strip-flags
+}
+
+multilib_src_configure() {
+ # Ensure we stay multilib aware
+ sed -i -e "/@libdir@/ s:lib64:$(get_libdir):" config/Makefile || die
+}
+
+nssarch() {
+ # Most of the arches are the same as $ARCH
+ local t=${1:-${CHOST}}
+ case ${t} in
+ *86*-pc-solaris2*) echo "i86pc" ;;
+ aarch64*) echo "aarch64" ;;
+ hppa*) echo "parisc" ;;
+ i?86*) echo "i686" ;;
+ x86_64*) echo "x86_64" ;;
+ *) tc-arch ${t} ;;
+ esac
+}
+
+nssbits() {
+ local cc cppflags="${1}CPPFLAGS" cflags="${1}CFLAGS"
+ if [[ ${1} == BUILD_ ]]; then
+ cc=$(tc-getBUILD_CC)
+ else
+ cc=$(tc-getCC)
+ fi
+ # TODO: Port this to toolchain-funcs tc-get-ptr-size/tc-get-build-ptr-size
+ echo > "${T}"/test.c || die
+ ${cc} ${!cppflags} ${!cflags} -fno-lto -c "${T}"/test.c -o "${T}/${1}test.o" || die
+ case $(file -S "${T}/${1}test.o") in
+ *32-bit*x86-64*) echo USE_X32=1;;
+ *64-bit*|*ppc64*|*x86_64*) echo USE_64=1;;
+ *32-bit*|*ppc*|*i386*) ;;
+ *) die "Failed to detect whether ${cc} builds 64bits or 32bits, disable distcc if you're using it, please";;
+ esac
+}
+
+multilib_src_compile() {
+ # use ABI to determine bit'ness, or fallback if unset
+ local buildbits mybits
+ case "${ABI}" in
+ n32) mybits="USE_N32=1";;
+ x32) mybits="USE_X32=1";;
+ s390x|*64) mybits="USE_64=1";;
+ ${DEFAULT_ABI})
+ einfo "Running compilation test to determine bit'ness"
+ mybits=$(nssbits)
+ ;;
+ esac
+ # bitness of host may differ from target
+ if tc-is-cross-compiler; then
+ buildbits=$(nssbits BUILD_)
+ fi
+
+ local makeargs=(
+ CC="$(tc-getCC)"
+ CCC="$(tc-getCXX)"
+ AR="$(tc-getAR) rc \$@"
+ RANLIB="$(tc-getRANLIB)"
+ OPTIMIZER=
+ ${mybits}
+ disable_ckbi=0
+ )
+
+ # Take care of nspr settings #436216
+ local myCPPFLAGS="${CPPFLAGS} $($(tc-getPKG_CONFIG) nspr --cflags)"
+ unset NSPR_INCLUDE_DIR
+
+ export NSS_ALLOW_SSLKEYLOGFILE=1
+ export NSS_ENABLE_WERROR=0 #567158
+ export BUILD_OPT=1
+ export NSS_USE_SYSTEM_SQLITE=1
+ export NSDISTMODE=copy
+ export FREEBL_NO_DEPEND=1
+ export FREEBL_LOWHASH=1
+ export NSS_SEED_ONLY_DEV_URANDOM=1
+ export USE_SYSTEM_ZLIB=1
+ export ZLIB_LIBS=-lz
+ export ASFLAGS=""
+ # Fix build failure on arm64
+ export NS_USE_GCC=1
+ # Detect compiler type and set proper environment value
+ if tc-is-gcc; then
+ export CC_IS_GCC=1
+ elif tc-is-clang; then
+ export CC_IS_CLANG=1
+ fi
+
+ export NSS_DISABLE_GTESTS=$(usex !test 1 0)
+
+ # Include exportable custom settings defined by users, #900915
+ # Two examples uses:
+ # EXTRA_NSSCONF="MYONESWITCH=1"
+ # EXTRA_NSSCONF="MYVALUE=0 MYOTHERVALUE=1 MYTHIRDVALUE=1"
+ # e.g.
+ # EXTRA_NSSCONF="NSS_ALLOW_SSLKEYLOGFILE=0"
+ # or
+ # EXTRA_NSSCONF="NSS_ALLOW_SSLKEYLOGFILE=0 NSS_ENABLE_WERROR=1"
+ # etc.
+ if [[ -n "${EXTRA_NSSCONF}" ]]; then
+ ewarn "EXTRA_NSSCONF applied, please disable custom settings before reporting bugs."
+ read -a myextranssconf <<< "${EXTRA_NSSCONF}"
+
+ for (( i=0; i<${#myextranssconf[@]}; i++ )); do
+ export "${myextranssconf[$i]}"
+ echo "exported ${myextranssconf[$i]}"
+ done
+ fi
+
+ # explicitly disable altivec/vsx if not requested
+ # https://bugs.gentoo.org/789114
+ case ${ARCH} in
+ ppc*)
+ use cpu_flags_ppc_altivec || export NSS_DISABLE_ALTIVEC=1
+ use cpu_flags_ppc_vsx || export NSS_DISABLE_CRYPTO_VSX=1
+ ;;
+ esac
+
+ use cpu_flags_x86_avx2 || export NSS_DISABLE_AVX2=1
+ use cpu_flags_x86_sse3 || export NSS_DISABLE_SSE3=1
+
+ local d
+
+ # Build the host tools first.
+ LDFLAGS="${BUILD_LDFLAGS}" \
+ XCFLAGS="${BUILD_CFLAGS}" \
+ NSPR_LIB_DIR="${T}/fakedir" \
+ emake -C coreconf \
+ CC="$(tc-getBUILD_CC)" \
+ ${buildbits-${mybits}}
+ makeargs+=( NSINSTALL="${PWD}/$(find -type f -name nsinstall)" )
+
+ # Then build the target tools.
+ for d in . lib/dbm ; do
+ CPPFLAGS="${myCPPFLAGS}" \
+ XCFLAGS="${CFLAGS} ${CPPFLAGS}" \
+ NSPR_LIB_DIR="${T}/fakedir" \
+ emake "${makeargs[@]}" -C ${d} OS_TEST="$(nssarch)"
+ done
+}
+
+multilib_src_test() {
+ einfo "Tests can take a *long* time, especially on a multilib system."
+ einfo "30-45+ minutes per lib configuration. Bug #852755"
+
+ # https://www.linuxfromscratch.org/blfs/view/svn/postlfs/nss.html
+ # https://firefox-source-docs.mozilla.org/security/nss/legacy/nss_sources_building_testing/index.html#running_the_nss_test_suite
+ # https://www-archive.mozilla.org/projects/security/pki/nss/testnss_32.html (older)
+ export BUILD_OPT=1
+ export HOST="localhost"
+ export DOMSUF="localdomain"
+ export USE_IP=TRUE
+ export IP_ADDRESS="127.0.0.1"
+
+ # Only run the standard cycle instead of full, reducing testing time from 45 minutes to 15
+ # per lib implementation.
+ export NSS_CYCLES=standard
+
+ NSINSTALL="${PWD}/$(find -type f -name nsinstall)"
+
+ cd "${BUILD_DIR}"/tests || die
+ # Hack to get current objdir (prefixed dir where built binaries are)
+ # Without this, at least multilib tests go wrong when building the amd64 variant
+ # after x86.
+ local objdir=$(find "${BUILD_DIR}"/dist -maxdepth 1 -iname Linux* | rev | cut -d/ -f1 | rev)
+
+ # Can tweak to a subset of tests in future if we need to, but would prefer not
+ OBJDIR="${objdir}" DIST="${BUILD_DIR}/dist" MOZILLA_ROOT="${BUILD_DIR}" ./all.sh || die
+}
+
+# Altering these 3 libraries breaks the CHK verification.
+# All of the following cause it to break:
+# - stripping
+# - prelink
+# - ELF signing
+# http://www.mozilla.org/projects/security/pki/nss/tech-notes/tn6.html
+# Either we have to NOT strip them, or we have to forcibly resign after
+# stripping.
+#local_libdir="$(get_libdir)"
+#export STRIP_MASK="
+# */${local_libdir}/libfreebl3.so*
+# */${local_libdir}/libnssdbm3.so*
+# */${local_libdir}/libsoftokn3.so*"
+
+export NSS_CHK_SIGN_LIBS="freebl3 nssdbm3 softokn3"
+
+generate_chk() {
+ local shlibsign="$1"
+ local libdir="$2"
+ einfo "Resigning core NSS libraries for FIPS validation"
+ shift 2
+ local i
+ for i in ${NSS_CHK_SIGN_LIBS} ; do
+ local libname=lib${i}.so
+ local chkname=lib${i}.chk
+ "${shlibsign}" \
+ -i "${libdir}"/${libname} \
+ -o "${libdir}"/${chkname}.tmp \
+ && mv -f \
+ "${libdir}"/${chkname}.tmp \
+ "${libdir}"/${chkname} \
+ || die "Failed to sign ${libname}"
+ done
+}
+
+cleanup_chk() {
+ local libdir="$1"
+ shift 1
+ local i
+ for i in ${NSS_CHK_SIGN_LIBS} ; do
+ local libfname="${libdir}/lib${i}.so"
+ # If the major version has changed, then we have old chk files.
+ [ ! -f "${libfname}" -a -f "${libfname}.chk" ] \
+ && rm -f "${libfname}.chk"
+ done
+}
+
+multilib_src_install() {
+ pushd dist >/dev/null || die
+
+ dodir /usr/$(get_libdir)
+ cp -L */lib/*$(get_libname) "${ED}"/usr/$(get_libdir) || die "copying shared libs failed"
+ local i
+ for i in crmf freebl nssb nssckfw ; do
+ cp -L */lib/lib${i}.a "${ED}"/usr/$(get_libdir) || die "copying libs failed"
+ done
+
+ # Install nss-config and pkgconfig file
+ dodir /usr/bin
+ cp -L */bin/nss-config "${ED}"/usr/bin || die
+ dodir /usr/$(get_libdir)/pkgconfig
+ cp -L */lib/pkgconfig/nss.pc "${ED}"/usr/$(get_libdir)/pkgconfig || die
+
+ # create an nss-softokn.pc from nss.pc for libfreebl and some private headers
+ # bug 517266
+ sed -e 's#Libs:#Libs: -lfreebl#' \
+ -e 's#Cflags:#Cflags: -I${includedir}/private#' \
+ */lib/pkgconfig/nss.pc >"${ED}"/usr/$(get_libdir)/pkgconfig/nss-softokn.pc \
+ || die "could not create nss-softokn.pc"
+
+ # all the include files
+ insinto /usr/include/nss
+ doins public/nss/*.{h,api}
+ insinto /usr/include/nss/private
+ doins private/nss/{blapi,alghmac,cmac}.h
+
+ popd >/dev/null || die
+
+ local f nssutils
+ # Always enabled because we need it for chk generation.
+ nssutils=( shlibsign )
+
+ if multilib_is_native_abi ; then
+ if use utils; then
+ # The tests we do not need to install.
+ #nssutils_test="bltest crmftest dbtest dertimetest
+ #fipstest remtest sdrtest"
+ # checkcert utils has been removed in nss-3.22:
+ # https://bugzilla.mozilla.org/show_bug.cgi?id=1187545
+ # https://hg.mozilla.org/projects/nss/rev/df1729d37870
+ # certcgi has been removed in nss-3.36:
+ # https://bugzilla.mozilla.org/show_bug.cgi?id=1426602
+ nssutils+=(
+ addbuiltin
+ atob
+ baddbdir
+ btoa
+ certutil
+ cmsutil
+ conflict
+ crlutil
+ derdump
+ digest
+ makepqg
+ mangle
+ modutil
+ multinit
+ nonspr10
+ ocspclnt
+ oidcalc
+ p7content
+ p7env
+ p7sign
+ p7verify
+ pk11mode
+ pk12util
+ pp
+ rsaperf
+ selfserv
+ signtool
+ signver
+ ssltap
+ strsclnt
+ symkeyutil
+ tstclnt
+ vfychain
+ vfyserv
+ )
+ # install man-pages for utils (bug #516810)
+ doman doc/nroff/*.1
+ fi
+ pushd dist/*/bin >/dev/null || die
+ for f in ${nssutils[@]}; do
+ dobin ${f}
+ done
+ popd >/dev/null || die
+ fi
+}
+
+pkg_postinst() {
+ multilib_pkg_postinst() {
+ # We must re-sign the libraries AFTER they are stripped.
+ local shlibsign="${EROOT}/usr/bin/shlibsign"
+ # See if we can execute it (cross-compiling & such). #436216
+ "${shlibsign}" -h >&/dev/null
+ if [[ $? -gt 1 ]] ; then
+ shlibsign="shlibsign"
+ fi
+ generate_chk "${shlibsign}" "${EROOT}"/usr/$(get_libdir)
+ }
+
+ multilib_foreach_abi multilib_pkg_postinst
+}
+
+pkg_postrm() {
+ multilib_pkg_postrm() {
+ cleanup_chk "${EROOT}"/usr/$(get_libdir)
+ }
+
+ multilib_foreach_abi multilib_pkg_postrm
+}
diff --git a/dev-libs/nss/nss-3.90.2.ebuild b/dev-libs/nss/nss-3.90.2.ebuild
new file mode 100644
index 000000000000..930fe521611a
--- /dev/null
+++ b/dev-libs/nss/nss-3.90.2.ebuild
@@ -0,0 +1,419 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit flag-o-matic multilib toolchain-funcs multilib-minimal
+
+NSPR_VER="4.35"
+RTM_NAME="NSS_${PV//./_}_RTM"
+
+DESCRIPTION="Mozilla's Network Security Services library that implements PKI support"
+HOMEPAGE="https://developer.mozilla.org/en-US/docs/Mozilla/Projects/NSS"
+SRC_URI="https://archive.mozilla.org/pub/security/nss/releases/${RTM_NAME}/src/${P}.tar.gz
+ cacert? ( https://dev.gentoo.org/~whissi/dist/ca-certificates/nss-cacert-class1-class3-r2.patch )"
+
+LICENSE="|| ( MPL-2.0 GPL-2 LGPL-2.1 )"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~x64-solaris"
+IUSE="cacert test +utils cpu_flags_ppc_altivec cpu_flags_x86_avx2 cpu_flags_x86_sse3 cpu_flags_ppc_vsx"
+RESTRICT="!test? ( test )"
+# pkg-config called by nss-config -> virtual/pkgconfig in RDEPEND
+RDEPEND="
+ >=dev-libs/nspr-${NSPR_VER}[${MULTILIB_USEDEP}]
+ >=dev-db/sqlite-3.8.2[${MULTILIB_USEDEP}]
+ >=sys-libs/zlib-1.2.8-r1[${MULTILIB_USEDEP}]
+ virtual/pkgconfig
+"
+DEPEND="${RDEPEND}"
+BDEPEND="dev-lang/perl"
+
+S="${WORKDIR}/${P}/${PN}"
+
+MULTILIB_CHOST_TOOLS=(
+ /usr/bin/nss-config
+)
+
+PATCHES=(
+ "${FILESDIR}/${PN}-3.53-gentoo-fixups.patch"
+ "${FILESDIR}/${PN}-3.21-gentoo-fixup-warnings.patch"
+ "${FILESDIR}"/nss-3.87-use-clang-as-bgo892686.patch
+ "${FILESDIR}"/nss-3.90.2-bmo-1885749-disable-ASM-C25519-on-non-X86_64.patch
+)
+
+src_prepare() {
+ default
+
+ if use cacert ; then
+ eapply -p2 "${DISTDIR}"/nss-cacert-class1-class3-r2.patch
+ fi
+
+ pushd coreconf >/dev/null || die
+ # hack nspr paths
+ echo 'INCLUDES += -I$(DIST)/include/dbm' \
+ >> headers.mk || die "failed to append include"
+
+ # modify install path
+ sed -e '/CORE_DEPTH/s:SOURCE_PREFIX.*$:SOURCE_PREFIX = $(CORE_DEPTH)/dist:' \
+ -i source.mk || die
+
+ # Respect LDFLAGS
+ sed -i -e 's/\$(MKSHLIB) -o/\$(MKSHLIB) \$(LDFLAGS) -o/g' rules.mk
+
+ # Workaround make-4.4's change to sub-make, bmo#1800237, bgo#882069
+ sed -i -e "s/^CPU_TAG = _.*/CPU_TAG = _$(nssarch)/" Linux.mk || die
+
+ popd >/dev/null || die
+
+ # Fix pkgconfig file for Prefix
+ sed -i -e "/^PREFIX =/s:= /usr:= ${EPREFIX}/usr:" \
+ config/Makefile || die
+
+ # use host shlibsign if need be #436216
+ if tc-is-cross-compiler ; then
+ sed -i \
+ -e 's:"${2}"/shlibsign:shlibsign:' \
+ cmd/shlibsign/sign.sh || die
+ fi
+
+ # dirty hack
+ sed -i -e "/CRYPTOLIB/s:\$(SOFTOKEN_LIB_DIR):../freebl/\$(OBJDIR):" \
+ lib/ssl/config.mk || die
+ sed -i -e "/CRYPTOLIB/s:\$(SOFTOKEN_LIB_DIR):../../lib/freebl/\$(OBJDIR):" \
+ cmd/platlibs.mk || die
+
+ multilib_copy_sources
+
+ strip-flags
+}
+
+multilib_src_configure() {
+ # Ensure we stay multilib aware
+ sed -i -e "/@libdir@/ s:lib64:$(get_libdir):" config/Makefile || die
+}
+
+nssarch() {
+ # Most of the arches are the same as $ARCH
+ local t=${1:-${CHOST}}
+ case ${t} in
+ *86*-pc-solaris2*) echo "i86pc" ;;
+ aarch64*) echo "aarch64" ;;
+ hppa*) echo "parisc" ;;
+ i?86*) echo "i686" ;;
+ x86_64*) echo "x86_64" ;;
+ *) tc-arch ${t} ;;
+ esac
+}
+
+nssbits() {
+ local cc cppflags="${1}CPPFLAGS" cflags="${1}CFLAGS"
+ if [[ ${1} == BUILD_ ]]; then
+ cc=$(tc-getBUILD_CC)
+ else
+ cc=$(tc-getCC)
+ fi
+ # TODO: Port this to toolchain-funcs tc-get-ptr-size/tc-get-build-ptr-size
+ echo > "${T}"/test.c || die
+ ${cc} ${!cppflags} ${!cflags} -fno-lto -c "${T}"/test.c -o "${T}/${1}test.o" || die
+ case $(file -S "${T}/${1}test.o") in
+ *32-bit*x86-64*) echo USE_X32=1;;
+ *64-bit*|*ppc64*|*x86_64*) echo USE_64=1;;
+ *32-bit*|*ppc*|*i386*) ;;
+ *) die "Failed to detect whether ${cc} builds 64bits or 32bits, disable distcc if you're using it, please";;
+ esac
+}
+
+multilib_src_compile() {
+ # use ABI to determine bit'ness, or fallback if unset
+ local buildbits mybits
+ case "${ABI}" in
+ n32) mybits="USE_N32=1";;
+ x32) mybits="USE_X32=1";;
+ s390x|*64) mybits="USE_64=1";;
+ ${DEFAULT_ABI})
+ einfo "Running compilation test to determine bit'ness"
+ mybits=$(nssbits)
+ ;;
+ esac
+ # bitness of host may differ from target
+ if tc-is-cross-compiler; then
+ buildbits=$(nssbits BUILD_)
+ fi
+
+ local makeargs=(
+ CC="$(tc-getCC)"
+ CCC="$(tc-getCXX)"
+ AR="$(tc-getAR) rc \$@"
+ RANLIB="$(tc-getRANLIB)"
+ OPTIMIZER=
+ ${mybits}
+ disable_ckbi=0
+ )
+
+ # Take care of nspr settings #436216
+ local myCPPFLAGS="${CPPFLAGS} $($(tc-getPKG_CONFIG) nspr --cflags)"
+ unset NSPR_INCLUDE_DIR
+
+ export NSS_ALLOW_SSLKEYLOGFILE=1
+ export NSS_ENABLE_WERROR=0 #567158
+ export BUILD_OPT=1
+ export NSS_USE_SYSTEM_SQLITE=1
+ export NSDISTMODE=copy
+ export FREEBL_NO_DEPEND=1
+ export FREEBL_LOWHASH=1
+ export NSS_SEED_ONLY_DEV_URANDOM=1
+ export USE_SYSTEM_ZLIB=1
+ export ZLIB_LIBS=-lz
+ export ASFLAGS=""
+ # Fix build failure on arm64
+ export NS_USE_GCC=1
+ # Detect compiler type and set proper environment value
+ if tc-is-gcc; then
+ export CC_IS_GCC=1
+ elif tc-is-clang; then
+ export CC_IS_CLANG=1
+ fi
+
+ export NSS_DISABLE_GTESTS=$(usex !test 1 0)
+
+ # Include exportable custom settings defined by users, #900915
+ # Two examples uses:
+ # EXTRA_NSSCONF="MYONESWITCH=1"
+ # EXTRA_NSSCONF="MYVALUE=0 MYOTHERVALUE=1 MYTHIRDVALUE=1"
+ # e.g.
+ # EXTRA_NSSCONF="NSS_ALLOW_SSLKEYLOGFILE=0"
+ # or
+ # EXTRA_NSSCONF="NSS_ALLOW_SSLKEYLOGFILE=0 NSS_ENABLE_WERROR=1"
+ # etc.
+ if [[ -n "${EXTRA_NSSCONF}" ]]; then
+ ewarn "EXTRA_NSSCONF applied, please disable custom settings before reporting bugs."
+ read -a myextranssconf <<< "${EXTRA_NSSCONF}"
+
+ for (( i=0; i<${#myextranssconf[@]}; i++ )); do
+ export "${myextranssconf[$i]}"
+ echo "exported ${myextranssconf[$i]}"
+ done
+ fi
+
+ # explicitly disable altivec/vsx if not requested
+ # https://bugs.gentoo.org/789114
+ case ${ARCH} in
+ ppc*)
+ use cpu_flags_ppc_altivec || export NSS_DISABLE_ALTIVEC=1
+ use cpu_flags_ppc_vsx || export NSS_DISABLE_CRYPTO_VSX=1
+ ;;
+ esac
+
+ use cpu_flags_x86_avx2 || export NSS_DISABLE_AVX2=1
+ use cpu_flags_x86_sse3 || export NSS_DISABLE_SSE3=1
+
+ local d
+
+ # Build the host tools first.
+ LDFLAGS="${BUILD_LDFLAGS}" \
+ XCFLAGS="${BUILD_CFLAGS}" \
+ NSPR_LIB_DIR="${T}/fakedir" \
+ emake -C coreconf \
+ CC="$(tc-getBUILD_CC)" \
+ ${buildbits-${mybits}}
+ makeargs+=( NSINSTALL="${PWD}/$(find -type f -name nsinstall)" )
+
+ # Then build the target tools.
+ for d in . lib/dbm ; do
+ CPPFLAGS="${myCPPFLAGS}" \
+ XCFLAGS="${CFLAGS} ${CPPFLAGS}" \
+ NSPR_LIB_DIR="${T}/fakedir" \
+ emake "${makeargs[@]}" -C ${d} OS_TEST="$(nssarch)"
+ done
+}
+
+multilib_src_test() {
+ einfo "Tests can take a *long* time, especially on a multilib system."
+ einfo "30-45+ minutes per lib configuration. Bug #852755"
+
+ # https://www.linuxfromscratch.org/blfs/view/svn/postlfs/nss.html
+ # https://firefox-source-docs.mozilla.org/security/nss/legacy/nss_sources_building_testing/index.html#running_the_nss_test_suite
+ # https://www-archive.mozilla.org/projects/security/pki/nss/testnss_32.html (older)
+ export BUILD_OPT=1
+ export HOST="localhost"
+ export DOMSUF="localdomain"
+ export USE_IP=TRUE
+ export IP_ADDRESS="127.0.0.1"
+
+ # Only run the standard cycle instead of full, reducing testing time from 45 minutes to 15
+ # per lib implementation.
+ export NSS_CYCLES=standard
+
+ NSINSTALL="${PWD}/$(find -type f -name nsinstall)"
+
+ cd "${BUILD_DIR}"/tests || die
+ # Hack to get current objdir (prefixed dir where built binaries are)
+ # Without this, at least multilib tests go wrong when building the amd64 variant
+ # after x86.
+ local objdir=$(find "${BUILD_DIR}"/dist -maxdepth 1 -iname Linux* | rev | cut -d/ -f1 | rev)
+
+ # Can tweak to a subset of tests in future if we need to, but would prefer not
+ OBJDIR="${objdir}" DIST="${BUILD_DIR}/dist" MOZILLA_ROOT="${BUILD_DIR}" ./all.sh || die
+}
+
+# Altering these 3 libraries breaks the CHK verification.
+# All of the following cause it to break:
+# - stripping
+# - prelink
+# - ELF signing
+# http://www.mozilla.org/projects/security/pki/nss/tech-notes/tn6.html
+# Either we have to NOT strip them, or we have to forcibly resign after
+# stripping.
+#local_libdir="$(get_libdir)"
+#export STRIP_MASK="
+# */${local_libdir}/libfreebl3.so*
+# */${local_libdir}/libnssdbm3.so*
+# */${local_libdir}/libsoftokn3.so*"
+
+export NSS_CHK_SIGN_LIBS="freebl3 nssdbm3 softokn3"
+
+generate_chk() {
+ local shlibsign="$1"
+ local libdir="$2"
+ einfo "Resigning core NSS libraries for FIPS validation"
+ shift 2
+ local i
+ for i in ${NSS_CHK_SIGN_LIBS} ; do
+ local libname=lib${i}.so
+ local chkname=lib${i}.chk
+ "${shlibsign}" \
+ -i "${libdir}"/${libname} \
+ -o "${libdir}"/${chkname}.tmp \
+ && mv -f \
+ "${libdir}"/${chkname}.tmp \
+ "${libdir}"/${chkname} \
+ || die "Failed to sign ${libname}"
+ done
+}
+
+cleanup_chk() {
+ local libdir="$1"
+ shift 1
+ local i
+ for i in ${NSS_CHK_SIGN_LIBS} ; do
+ local libfname="${libdir}/lib${i}.so"
+ # If the major version has changed, then we have old chk files.
+ [ ! -f "${libfname}" -a -f "${libfname}.chk" ] \
+ && rm -f "${libfname}.chk"
+ done
+}
+
+multilib_src_install() {
+ pushd dist >/dev/null || die
+
+ dodir /usr/$(get_libdir)
+ cp -L */lib/*$(get_libname) "${ED}"/usr/$(get_libdir) || die "copying shared libs failed"
+ local i
+ for i in crmf freebl nssb nssckfw ; do
+ cp -L */lib/lib${i}.a "${ED}"/usr/$(get_libdir) || die "copying libs failed"
+ done
+
+ # Install nss-config and pkgconfig file
+ dodir /usr/bin
+ cp -L */bin/nss-config "${ED}"/usr/bin || die
+ dodir /usr/$(get_libdir)/pkgconfig
+ cp -L */lib/pkgconfig/nss.pc "${ED}"/usr/$(get_libdir)/pkgconfig || die
+
+ # create an nss-softokn.pc from nss.pc for libfreebl and some private headers
+ # bug 517266
+ sed -e 's#Libs:#Libs: -lfreebl#' \
+ -e 's#Cflags:#Cflags: -I${includedir}/private#' \
+ */lib/pkgconfig/nss.pc >"${ED}"/usr/$(get_libdir)/pkgconfig/nss-softokn.pc \
+ || die "could not create nss-softokn.pc"
+
+ # all the include files
+ insinto /usr/include/nss
+ doins public/nss/*.{h,api}
+ insinto /usr/include/nss/private
+ doins private/nss/{blapi,alghmac,cmac}.h
+
+ popd >/dev/null || die
+
+ local f nssutils
+ # Always enabled because we need it for chk generation.
+ nssutils=( shlibsign )
+
+ if multilib_is_native_abi ; then
+ if use utils; then
+ # The tests we do not need to install.
+ #nssutils_test="bltest crmftest dbtest dertimetest
+ #fipstest remtest sdrtest"
+ # checkcert utils has been removed in nss-3.22:
+ # https://bugzilla.mozilla.org/show_bug.cgi?id=1187545
+ # https://hg.mozilla.org/projects/nss/rev/df1729d37870
+ # certcgi has been removed in nss-3.36:
+ # https://bugzilla.mozilla.org/show_bug.cgi?id=1426602
+ nssutils+=(
+ addbuiltin
+ atob
+ baddbdir
+ btoa
+ certutil
+ cmsutil
+ conflict
+ crlutil
+ derdump
+ digest
+ makepqg
+ mangle
+ modutil
+ multinit
+ nonspr10
+ ocspclnt
+ oidcalc
+ p7content
+ p7env
+ p7sign
+ p7verify
+ pk11mode
+ pk12util
+ pp
+ rsaperf
+ selfserv
+ signtool
+ signver
+ ssltap
+ strsclnt
+ symkeyutil
+ tstclnt
+ vfychain
+ vfyserv
+ )
+ # install man-pages for utils (bug #516810)
+ doman doc/nroff/*.1
+ fi
+ pushd dist/*/bin >/dev/null || die
+ for f in ${nssutils[@]}; do
+ dobin ${f}
+ done
+ popd >/dev/null || die
+ fi
+}
+
+pkg_postinst() {
+ multilib_pkg_postinst() {
+ # We must re-sign the libraries AFTER they are stripped.
+ local shlibsign="${EROOT}/usr/bin/shlibsign"
+ # See if we can execute it (cross-compiling & such). #436216
+ "${shlibsign}" -h >&/dev/null
+ if [[ $? -gt 1 ]] ; then
+ shlibsign="shlibsign"
+ fi
+ generate_chk "${shlibsign}" "${EROOT}"/usr/$(get_libdir)
+ }
+
+ multilib_foreach_abi multilib_pkg_postinst
+}
+
+pkg_postrm() {
+ multilib_pkg_postrm() {
+ cleanup_chk "${EROOT}"/usr/$(get_libdir)
+ }
+
+ multilib_foreach_abi multilib_pkg_postrm
+}
diff --git a/dev-libs/nss/nss-3.99.ebuild b/dev-libs/nss/nss-3.99.ebuild
new file mode 100644
index 000000000000..1b28b3db38d6
--- /dev/null
+++ b/dev-libs/nss/nss-3.99.ebuild
@@ -0,0 +1,418 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit flag-o-matic multilib toolchain-funcs multilib-minimal
+
+NSPR_VER="4.35"
+RTM_NAME="NSS_${PV//./_}_RTM"
+
+DESCRIPTION="Mozilla's Network Security Services library that implements PKI support"
+HOMEPAGE="https://developer.mozilla.org/en-US/docs/Mozilla/Projects/NSS"
+SRC_URI="https://archive.mozilla.org/pub/security/nss/releases/${RTM_NAME}/src/${P}.tar.gz
+ cacert? ( https://dev.gentoo.org/~whissi/dist/ca-certificates/nss-cacert-class1-class3-r2.patch )"
+
+LICENSE="|| ( MPL-2.0 GPL-2 LGPL-2.1 )"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~x64-solaris"
+IUSE="cacert test +utils cpu_flags_ppc_altivec cpu_flags_x86_avx2 cpu_flags_x86_sse3 cpu_flags_ppc_vsx"
+RESTRICT="!test? ( test )"
+# pkg-config called by nss-config -> virtual/pkgconfig in RDEPEND
+RDEPEND="
+ >=dev-libs/nspr-${NSPR_VER}[${MULTILIB_USEDEP}]
+ >=dev-db/sqlite-3.8.2[${MULTILIB_USEDEP}]
+ >=sys-libs/zlib-1.2.8-r1[${MULTILIB_USEDEP}]
+ virtual/pkgconfig
+"
+DEPEND="${RDEPEND}"
+BDEPEND="dev-lang/perl"
+
+S="${WORKDIR}/${P}/${PN}"
+
+MULTILIB_CHOST_TOOLS=(
+ /usr/bin/nss-config
+)
+
+PATCHES=(
+ "${FILESDIR}/${PN}-3.53-gentoo-fixups.patch"
+ "${FILESDIR}/${PN}-3.21-gentoo-fixup-warnings.patch"
+ "${FILESDIR}"/nss-3.87-use-clang-as-bgo892686.patch
+)
+
+src_prepare() {
+ default
+
+ if use cacert ; then
+ eapply -p2 "${DISTDIR}"/nss-cacert-class1-class3-r2.patch
+ fi
+
+ pushd coreconf >/dev/null || die
+ # hack nspr paths
+ echo 'INCLUDES += -I$(DIST)/include/dbm' \
+ >> headers.mk || die "failed to append include"
+
+ # modify install path
+ sed -e '/CORE_DEPTH/s:SOURCE_PREFIX.*$:SOURCE_PREFIX = $(CORE_DEPTH)/dist:' \
+ -i source.mk || die
+
+ # Respect LDFLAGS
+ sed -i -e 's/\$(MKSHLIB) -o/\$(MKSHLIB) \$(LDFLAGS) -o/g' rules.mk
+
+ # Workaround make-4.4's change to sub-make, bmo#1800237, bgo#882069
+ sed -i -e "s/^CPU_TAG = _.*/CPU_TAG = _$(nssarch)/" Linux.mk || die
+
+ popd >/dev/null || die
+
+ # Fix pkgconfig file for Prefix
+ sed -i -e "/^PREFIX =/s:= /usr:= ${EPREFIX}/usr:" \
+ config/Makefile || die
+
+ # use host shlibsign if need be #436216
+ if tc-is-cross-compiler ; then
+ sed -i \
+ -e 's:"${2}"/shlibsign:shlibsign:' \
+ cmd/shlibsign/sign.sh || die
+ fi
+
+ # dirty hack
+ sed -i -e "/CRYPTOLIB/s:\$(SOFTOKEN_LIB_DIR):../freebl/\$(OBJDIR):" \
+ lib/ssl/config.mk || die
+ sed -i -e "/CRYPTOLIB/s:\$(SOFTOKEN_LIB_DIR):../../lib/freebl/\$(OBJDIR):" \
+ cmd/platlibs.mk || die
+
+ multilib_copy_sources
+
+ strip-flags
+}
+
+multilib_src_configure() {
+ # Ensure we stay multilib aware
+ sed -i -e "/@libdir@/ s:lib64:$(get_libdir):" config/Makefile || die
+}
+
+nssarch() {
+ # Most of the arches are the same as $ARCH
+ local t=${1:-${CHOST}}
+ case ${t} in
+ *86*-pc-solaris2*) echo "i86pc" ;;
+ aarch64*) echo "aarch64" ;;
+ hppa*) echo "parisc" ;;
+ i?86*) echo "i686" ;;
+ x86_64*) echo "x86_64" ;;
+ *) tc-arch ${t} ;;
+ esac
+}
+
+nssbits() {
+ local cc cppflags="${1}CPPFLAGS" cflags="${1}CFLAGS"
+ if [[ ${1} == BUILD_ ]]; then
+ cc=$(tc-getBUILD_CC)
+ else
+ cc=$(tc-getCC)
+ fi
+ # TODO: Port this to toolchain-funcs tc-get-ptr-size/tc-get-build-ptr-size
+ echo > "${T}"/test.c || die
+ ${cc} ${!cppflags} ${!cflags} -fno-lto -c "${T}"/test.c -o "${T}/${1}test.o" || die
+ case $(file -S "${T}/${1}test.o") in
+ *32-bit*x86-64*) echo USE_X32=1;;
+ *64-bit*|*ppc64*|*x86_64*) echo USE_64=1;;
+ *32-bit*|*ppc*|*i386*) ;;
+ *) die "Failed to detect whether ${cc} builds 64bits or 32bits, disable distcc if you're using it, please";;
+ esac
+}
+
+multilib_src_compile() {
+ # use ABI to determine bit'ness, or fallback if unset
+ local buildbits mybits
+ case "${ABI}" in
+ n32) mybits="USE_N32=1";;
+ x32) mybits="USE_X32=1";;
+ s390x|*64) mybits="USE_64=1";;
+ ${DEFAULT_ABI})
+ einfo "Running compilation test to determine bit'ness"
+ mybits=$(nssbits)
+ ;;
+ esac
+ # bitness of host may differ from target
+ if tc-is-cross-compiler; then
+ buildbits=$(nssbits BUILD_)
+ fi
+
+ local makeargs=(
+ CC="$(tc-getCC)"
+ CCC="$(tc-getCXX)"
+ AR="$(tc-getAR) rc \$@"
+ RANLIB="$(tc-getRANLIB)"
+ OPTIMIZER=
+ ${mybits}
+ disable_ckbi=0
+ )
+
+ # Take care of nspr settings #436216
+ local myCPPFLAGS="${CPPFLAGS} $($(tc-getPKG_CONFIG) nspr --cflags)"
+ unset NSPR_INCLUDE_DIR
+
+ export NSS_ALLOW_SSLKEYLOGFILE=1
+ export NSS_ENABLE_WERROR=0 #567158
+ export BUILD_OPT=1
+ export NSS_USE_SYSTEM_SQLITE=1
+ export NSDISTMODE=copy
+ export FREEBL_NO_DEPEND=1
+ export FREEBL_LOWHASH=1
+ export NSS_SEED_ONLY_DEV_URANDOM=1
+ export USE_SYSTEM_ZLIB=1
+ export ZLIB_LIBS=-lz
+ export ASFLAGS=""
+ # Fix build failure on arm64
+ export NS_USE_GCC=1
+ # Detect compiler type and set proper environment value
+ if tc-is-gcc; then
+ export CC_IS_GCC=1
+ elif tc-is-clang; then
+ export CC_IS_CLANG=1
+ fi
+
+ export NSS_DISABLE_GTESTS=$(usex !test 1 0)
+
+ # Include exportable custom settings defined by users, #900915
+ # Two examples uses:
+ # EXTRA_NSSCONF="MYONESWITCH=1"
+ # EXTRA_NSSCONF="MYVALUE=0 MYOTHERVALUE=1 MYTHIRDVALUE=1"
+ # e.g.
+ # EXTRA_NSSCONF="NSS_ALLOW_SSLKEYLOGFILE=0"
+ # or
+ # EXTRA_NSSCONF="NSS_ALLOW_SSLKEYLOGFILE=0 NSS_ENABLE_WERROR=1"
+ # etc.
+ if [[ -n "${EXTRA_NSSCONF}" ]]; then
+ ewarn "EXTRA_NSSCONF applied, please disable custom settings before reporting bugs."
+ read -a myextranssconf <<< "${EXTRA_NSSCONF}"
+
+ for (( i=0; i<${#myextranssconf[@]}; i++ )); do
+ export "${myextranssconf[$i]}"
+ echo "exported ${myextranssconf[$i]}"
+ done
+ fi
+
+ # explicitly disable altivec/vsx if not requested
+ # https://bugs.gentoo.org/789114
+ case ${ARCH} in
+ ppc*)
+ use cpu_flags_ppc_altivec || export NSS_DISABLE_ALTIVEC=1
+ use cpu_flags_ppc_vsx || export NSS_DISABLE_CRYPTO_VSX=1
+ ;;
+ esac
+
+ use cpu_flags_x86_avx2 || export NSS_DISABLE_AVX2=1
+ use cpu_flags_x86_sse3 || export NSS_DISABLE_SSE3=1
+
+ local d
+
+ # Build the host tools first.
+ LDFLAGS="${BUILD_LDFLAGS}" \
+ XCFLAGS="${BUILD_CFLAGS}" \
+ NSPR_LIB_DIR="${T}/fakedir" \
+ emake -C coreconf \
+ CC="$(tc-getBUILD_CC)" \
+ ${buildbits-${mybits}}
+ makeargs+=( NSINSTALL="${PWD}/$(find -type f -name nsinstall)" )
+
+ # Then build the target tools.
+ for d in . lib/dbm ; do
+ CPPFLAGS="${myCPPFLAGS}" \
+ XCFLAGS="${CFLAGS} ${CPPFLAGS}" \
+ NSPR_LIB_DIR="${T}/fakedir" \
+ emake "${makeargs[@]}" -C ${d} OS_TEST="$(nssarch)"
+ done
+}
+
+multilib_src_test() {
+ einfo "Tests can take a *long* time, especially on a multilib system."
+ einfo "30-45+ minutes per lib configuration. Bug #852755"
+
+ # https://www.linuxfromscratch.org/blfs/view/svn/postlfs/nss.html
+ # https://firefox-source-docs.mozilla.org/security/nss/legacy/nss_sources_building_testing/index.html#running_the_nss_test_suite
+ # https://www-archive.mozilla.org/projects/security/pki/nss/testnss_32.html (older)
+ export BUILD_OPT=1
+ export HOST="localhost"
+ export DOMSUF="localdomain"
+ export USE_IP=TRUE
+ export IP_ADDRESS="127.0.0.1"
+
+ # Only run the standard cycle instead of full, reducing testing time from 45 minutes to 15
+ # per lib implementation.
+ export NSS_CYCLES=standard
+
+ NSINSTALL="${PWD}/$(find -type f -name nsinstall)"
+
+ cd "${BUILD_DIR}"/tests || die
+ # Hack to get current objdir (prefixed dir where built binaries are)
+ # Without this, at least multilib tests go wrong when building the amd64 variant
+ # after x86.
+ local objdir=$(find "${BUILD_DIR}"/dist -maxdepth 1 -iname Linux* | rev | cut -d/ -f1 | rev)
+
+ # Can tweak to a subset of tests in future if we need to, but would prefer not
+ OBJDIR="${objdir}" DIST="${BUILD_DIR}/dist" MOZILLA_ROOT="${BUILD_DIR}" ./all.sh || die
+}
+
+# Altering these 3 libraries breaks the CHK verification.
+# All of the following cause it to break:
+# - stripping
+# - prelink
+# - ELF signing
+# http://www.mozilla.org/projects/security/pki/nss/tech-notes/tn6.html
+# Either we have to NOT strip them, or we have to forcibly resign after
+# stripping.
+#local_libdir="$(get_libdir)"
+#export STRIP_MASK="
+# */${local_libdir}/libfreebl3.so*
+# */${local_libdir}/libnssdbm3.so*
+# */${local_libdir}/libsoftokn3.so*"
+
+export NSS_CHK_SIGN_LIBS="freebl3 nssdbm3 softokn3"
+
+generate_chk() {
+ local shlibsign="$1"
+ local libdir="$2"
+ einfo "Resigning core NSS libraries for FIPS validation"
+ shift 2
+ local i
+ for i in ${NSS_CHK_SIGN_LIBS} ; do
+ local libname=lib${i}.so
+ local chkname=lib${i}.chk
+ "${shlibsign}" \
+ -i "${libdir}"/${libname} \
+ -o "${libdir}"/${chkname}.tmp \
+ && mv -f \
+ "${libdir}"/${chkname}.tmp \
+ "${libdir}"/${chkname} \
+ || die "Failed to sign ${libname}"
+ done
+}
+
+cleanup_chk() {
+ local libdir="$1"
+ shift 1
+ local i
+ for i in ${NSS_CHK_SIGN_LIBS} ; do
+ local libfname="${libdir}/lib${i}.so"
+ # If the major version has changed, then we have old chk files.
+ [ ! -f "${libfname}" -a -f "${libfname}.chk" ] \
+ && rm -f "${libfname}.chk"
+ done
+}
+
+multilib_src_install() {
+ pushd dist >/dev/null || die
+
+ dodir /usr/$(get_libdir)
+ cp -L */lib/*$(get_libname) "${ED}"/usr/$(get_libdir) || die "copying shared libs failed"
+ local i
+ for i in crmf freebl nssb nssckfw ; do
+ cp -L */lib/lib${i}.a "${ED}"/usr/$(get_libdir) || die "copying libs failed"
+ done
+
+ # Install nss-config and pkgconfig file
+ dodir /usr/bin
+ cp -L */bin/nss-config "${ED}"/usr/bin || die
+ dodir /usr/$(get_libdir)/pkgconfig
+ cp -L */lib/pkgconfig/nss.pc "${ED}"/usr/$(get_libdir)/pkgconfig || die
+
+ # create an nss-softokn.pc from nss.pc for libfreebl and some private headers
+ # bug 517266
+ sed -e 's#Libs:#Libs: -lfreebl#' \
+ -e 's#Cflags:#Cflags: -I${includedir}/private#' \
+ */lib/pkgconfig/nss.pc >"${ED}"/usr/$(get_libdir)/pkgconfig/nss-softokn.pc \
+ || die "could not create nss-softokn.pc"
+
+ # all the include files
+ insinto /usr/include/nss
+ doins public/nss/*.{h,api}
+ insinto /usr/include/nss/private
+ doins private/nss/{blapi,alghmac,cmac}.h
+
+ popd >/dev/null || die
+
+ local f nssutils
+ # Always enabled because we need it for chk generation.
+ nssutils=( shlibsign )
+
+ if multilib_is_native_abi ; then
+ if use utils; then
+ # The tests we do not need to install.
+ #nssutils_test="bltest crmftest dbtest dertimetest
+ #fipstest remtest sdrtest"
+ # checkcert utils has been removed in nss-3.22:
+ # https://bugzilla.mozilla.org/show_bug.cgi?id=1187545
+ # https://hg.mozilla.org/projects/nss/rev/df1729d37870
+ # certcgi has been removed in nss-3.36:
+ # https://bugzilla.mozilla.org/show_bug.cgi?id=1426602
+ nssutils+=(
+ addbuiltin
+ atob
+ baddbdir
+ btoa
+ certutil
+ cmsutil
+ conflict
+ crlutil
+ derdump
+ digest
+ makepqg
+ mangle
+ modutil
+ multinit
+ nonspr10
+ ocspclnt
+ oidcalc
+ p7content
+ p7env
+ p7sign
+ p7verify
+ pk11mode
+ pk12util
+ pp
+ rsaperf
+ selfserv
+ signtool
+ signver
+ ssltap
+ strsclnt
+ symkeyutil
+ tstclnt
+ vfychain
+ vfyserv
+ )
+ # install man-pages for utils (bug #516810)
+ doman doc/nroff/*.1
+ fi
+ pushd dist/*/bin >/dev/null || die
+ for f in ${nssutils[@]}; do
+ dobin ${f}
+ done
+ popd >/dev/null || die
+ fi
+}
+
+pkg_postinst() {
+ multilib_pkg_postinst() {
+ # We must re-sign the libraries AFTER they are stripped.
+ local shlibsign="${EROOT}/usr/bin/shlibsign"
+ # See if we can execute it (cross-compiling & such). #436216
+ "${shlibsign}" -h >&/dev/null
+ if [[ $? -gt 1 ]] ; then
+ shlibsign="shlibsign"
+ fi
+ generate_chk "${shlibsign}" "${EROOT}"/usr/$(get_libdir)
+ }
+
+ multilib_foreach_abi multilib_pkg_postinst
+}
+
+pkg_postrm() {
+ multilib_pkg_postrm() {
+ cleanup_chk "${EROOT}"/usr/$(get_libdir)
+ }
+
+ multilib_foreach_abi multilib_pkg_postrm
+}
diff --git a/dev-libs/nsync/Manifest b/dev-libs/nsync/Manifest
index be0e62943054..64fd3e8bb3c6 100644
--- a/dev-libs/nsync/Manifest
+++ b/dev-libs/nsync/Manifest
@@ -1,2 +1,2 @@
-DIST nsync-1.20.1.tar.gz 154106 BLAKE2B 94eeb647de2ca58a3f3837119ef30805f0a72a9d12c19aa705f815955723ddefa1de4d2a3fe5fd0b227ffdd70d5208ab9a300e40b2aff2591a1cef28c79b450a SHA512 d7b9be1052b7d11d896d3fade822f7b1eebbd0a772c9f6e2cd827921f1adc29ed18f7587ebc7d29623d230be384a7a2356c1da3abd53567fc934979d89c70e0c
-DIST nsync-1.24.0.tar.gz 155132 BLAKE2B 9a914b408faf8fff96a57fd3868c34aa96b4243ef2acd30dbdbe1fc90a1818d58ffc96bc6d016f5539c0e266fc1fb633952edba0a51b115904c9d6b06a35f7f8 SHA512 14dd582488072123a353c967664ed9a3f636865bb35e64d7256dcc809539129fa47c7979a4009fd45c9341cac537a4ca6b4b617ba2cae1d3995a7c251376339f
+DIST nsync-1.25.0.tar.gz 155250 BLAKE2B e30e9a72d999e589a1422014f81fbab29f61802b0ebeb9f08793d3a4d50fb5f66e404558cb7f46f2a2c499c1804cd013c12604038222121680988c85b7e186ff SHA512 8e7a3b99237fb68bf3fd85490394e3fe2b73ff805b1bc885549856908599b98c86600c71888d19d9d36a56caa91cad176a1e9fc413686e5018cefe3908364c6b
+DIST nsync-1.26.0.tar.gz 155509 BLAKE2B 5a445bcf44e29253f3fa8594f4921f59d3826fea01f11b4b7c4ba4b285b0344dd17be62c60dfd876e3a0d854307dfe40ed9c80de4f1da4c5b74a92f6a9a074b3 SHA512 8aa49997f100f161f0f32e99c9004ee845d7b16c1391e7eb62eea0897e2f91b7f9e5181055fdca637518751b6b26e16a1cd53e45adceda145285752c4b74f3bf
diff --git a/dev-libs/nsync/metadata.xml b/dev-libs/nsync/metadata.xml
index e85252a96df1..c987c5582dd3 100644
--- a/dev-libs/nsync/metadata.xml
+++ b/dev-libs/nsync/metadata.xml
@@ -5,4 +5,7 @@
<email>perfinion@gentoo.org</email>
<name>Jason Zaman</name>
</maintainer>
+ <upstream>
+ <remote-id type="github">google/nsync</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/dev-libs/nsync/nsync-1.20.1.ebuild b/dev-libs/nsync/nsync-1.20.1.ebuild
deleted file mode 100644
index f71c5b73ae19..000000000000
--- a/dev-libs/nsync/nsync-1.20.1.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
-
-CMAKE_ECLASS=cmake
-inherit cmake-multilib
-
-DESCRIPTION="C library that exports various synchronization primitives, such as mutexes"
-HOMEPAGE="https://github.com/google/nsync"
-SRC_URI="https://github.com/google/nsync/archive/${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64 x86"
-IUSE="test"
-
-RESTRICT="!test? ( test )"
-
-DOCS=( README )
-
-multilib_src_configure() {
- local mycmakeargs=(
- -DNSYNC_ENABLE_TESTS=$(usex test)
- )
- cmake_src_configure
-}
diff --git a/dev-libs/nsync/nsync-1.24.0.ebuild b/dev-libs/nsync/nsync-1.24.0.ebuild
deleted file mode 100644
index f71c5b73ae19..000000000000
--- a/dev-libs/nsync/nsync-1.24.0.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
-
-CMAKE_ECLASS=cmake
-inherit cmake-multilib
-
-DESCRIPTION="C library that exports various synchronization primitives, such as mutexes"
-HOMEPAGE="https://github.com/google/nsync"
-SRC_URI="https://github.com/google/nsync/archive/${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64 x86"
-IUSE="test"
-
-RESTRICT="!test? ( test )"
-
-DOCS=( README )
-
-multilib_src_configure() {
- local mycmakeargs=(
- -DNSYNC_ENABLE_TESTS=$(usex test)
- )
- cmake_src_configure
-}
diff --git a/dev-libs/nsync/nsync-1.25.0.ebuild b/dev-libs/nsync/nsync-1.25.0.ebuild
new file mode 100644
index 000000000000..6ad5dcf3244d
--- /dev/null
+++ b/dev-libs/nsync/nsync-1.25.0.ebuild
@@ -0,0 +1,23 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+DESCRIPTION="C library that exports various synchronization primitives, such as mutexes"
+HOMEPAGE="https://github.com/google/nsync"
+SRC_URI="https://github.com/google/nsync/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 ~arm64 x86"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+src_configure() {
+ local mycmakeargs=(
+ -DNSYNC_ENABLE_TESTS=$(usex test)
+ )
+ cmake_src_configure
+}
diff --git a/dev-libs/nsync/nsync-1.26.0.ebuild b/dev-libs/nsync/nsync-1.26.0.ebuild
new file mode 100644
index 000000000000..96bcbc528df3
--- /dev/null
+++ b/dev-libs/nsync/nsync-1.26.0.ebuild
@@ -0,0 +1,23 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+DESCRIPTION="C library that exports various synchronization primitives, such as mutexes"
+HOMEPAGE="https://github.com/google/nsync"
+SRC_URI="https://github.com/google/nsync/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+src_configure() {
+ local mycmakeargs=(
+ -DNSYNC_ENABLE_TESTS=$(usex test)
+ )
+ cmake_src_configure
+}
diff --git a/dev-libs/ntl/Manifest b/dev-libs/ntl/Manifest
index c44f36699663..e07916ee1821 100644
--- a/dev-libs/ntl/Manifest
+++ b/dev-libs/ntl/Manifest
@@ -1,2 +1 @@
-DIST ntl-11.4.4.tar.gz 2378708 BLAKE2B 9a4c85bbe2fd2d3360988e0c350864fc0a05714e39ce3972228d93aba17f0dc079c90fbe40ab9d72116d1e31f55328bbd5cc71cd080e42ea33bc92361b4462aa SHA512 ed89d82008ca8785cb3d69de9577f42abe464dabf167ea2aaf801951843fc427d41171cbaac2f0cf68f35110d029cc28a65bd5aad69d30e7312f5ebcb0b58911
DIST ntl-11.5.1.tar.gz 2304103 BLAKE2B 92284383451c7a810f7ee8d9a82836695d19d2a2e46b71c8c60b00acb77f4b4d3bad5497a309616a3e3188567d20203f5ad31295130ab0f3ace08417188c9fda SHA512 cf1f642b8a0f9cdc6dda888e07183817dc67ff494e56a852053aeb15b3d2a0e61fbc05824779c5d1f20b8115fba6f97266acf7e0b0b527c25df5989c86d5928f
diff --git a/dev-libs/ntl/metadata.xml b/dev-libs/ntl/metadata.xml
index 41060691e818..495cab106d33 100644
--- a/dev-libs/ntl/metadata.xml
+++ b/dev-libs/ntl/metadata.xml
@@ -11,4 +11,7 @@
integers, and for vectors, matrices, and polynomials over the
integers and over finite fields.
</longdescription>
+ <upstream>
+ <remote-id type="github">libntl/ntl</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/dev-libs/ntl/ntl-11.4.4.ebuild b/dev-libs/ntl/ntl-11.4.4.ebuild
deleted file mode 100644
index 38b47b4ab714..000000000000
--- a/dev-libs/ntl/ntl-11.4.4.ebuild
+++ /dev/null
@@ -1,66 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit toolchain-funcs
-
-DESCRIPTION="High-performance and portable C++ number theory library"
-HOMEPAGE="https://www.shoup.net/ntl/ https://github.com/libntl/ntl"
-SRC_URI="https://www.shoup.net/ntl/${P}.tar.gz"
-
-LICENSE="LGPL-2.1+"
-SLOT="0/43"
-KEYWORDS="amd64 ~arm64 ppc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
-IUSE="bindist doc static-libs threads cpu_flags_x86_avx2"
-
-BDEPEND="dev-lang/perl"
-DEPEND="dev-libs/gmp:0=
- dev-libs/gf2x
- threads? ( >=dev-libs/gf2x-1.2 )"
-RDEPEND="${DEPEND}"
-
-S="${WORKDIR}/${P}/src"
-
-REQUIRED_USE="bindist? ( !cpu_flags_x86_avx2 )"
-
-DOCS=( "${WORKDIR}/${P}"/README )
-
-src_configure() {
- # Currently the build system can build a static library or both
- # static and shared libraries, but not only shared libraries. The
- # name NTL_GMP_LIP is *not* a typo.
- perl DoConfig \
- PREFIX="${EPREFIX}"/usr \
- LIBDIR="${EPREFIX}"/usr/$(get_libdir) \
- CXXFLAGS="${CXXFLAGS}" \
- CPPFLAGS="${CPPFLAGS}" \
- LDFLAGS="${LDFLAGS}" \
- CXX="$(tc-getCXX)" \
- AR="$(tc-getAR)" \
- RANLIB="$(tc-getRANLIB)" \
- SHARED=on \
- NTL_GMP_LIP=on \
- NTL_GF2X_LIB=on \
- NTL_THREADS=$(usex threads on off) \
- NTL_ENABLE_AVX_FFT=$(usex cpu_flags_x86_avx2 on off) \
- NATIVE=$(usex bindist off on) \
- || die "DoConfig failed"
-
- if use doc; then
- DOCS+=( "${WORKDIR}/${P}"/doc/*.txt )
- HTML_DOCS=( "${WORKDIR}/${P}"/doc/*.html "${WORKDIR}/${P}"/doc/*.gif )
- fi
-}
-
-src_install() {
- default
-
- if ! use static-libs; then
- # bug #775884
- find "${ED}" -name '*.la' -delete || die
- rm "${ED}/usr/$(get_libdir)"/libntl.a || die
- fi
-
- rm -r "${ED}"/usr/share/doc/NTL || die
-}
diff --git a/dev-libs/ntl/ntl-11.5.1-r1.ebuild b/dev-libs/ntl/ntl-11.5.1-r1.ebuild
deleted file mode 100644
index b5dd020eb133..000000000000
--- a/dev-libs/ntl/ntl-11.5.1-r1.ebuild
+++ /dev/null
@@ -1,79 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit toolchain-funcs gnuconfig
-
-DESCRIPTION="High-performance and portable C++ number theory library"
-HOMEPAGE="https://www.shoup.net/ntl/ https://github.com/libntl/ntl"
-SRC_URI="https://www.shoup.net/ntl/${P}.tar.gz"
-
-LICENSE="LGPL-2.1+"
-SLOT="0/44"
-KEYWORDS="~amd64 ~arm64 ~ppc ~riscv ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
-IUSE="bindist doc static-libs threads cpu_flags_x86_avx2"
-
-BDEPEND="dev-lang/perl"
-DEPEND="dev-libs/gmp:0=
- dev-libs/gf2x
- threads? ( >=dev-libs/gf2x-1.2 )"
-RDEPEND="${DEPEND}"
-
-S="${WORKDIR}/${P}/src"
-
-REQUIRED_USE="bindist? ( !cpu_flags_x86_avx2 )"
-
-DOCS=( "${WORKDIR}/${P}"/README )
-
-src_unpack() {
- default
- gnuconfig_update "${S}/libtool-origin/"
-}
-
-src_configure() {
- # The DoConfig script builds its own libtool, but doesn't
- # really try to set up the build environment (bug 718892).
- export CC=$(tc-getCC)
- export CXX=$(tc-getCXX)
-
- # Currently the build system can build a static library or both
- # static and shared libraries, but not only shared libraries. The
- # name NTL_GMP_LIP is *not* a typo.
- perl DoConfig \
- PREFIX="${EPREFIX}"/usr \
- LIBDIR="${EPREFIX}"/usr/$(get_libdir) \
- CXXFLAGS="${CXXFLAGS}" \
- CPPFLAGS="${CPPFLAGS}" \
- LDFLAGS="${LDFLAGS}" \
- CXX="$(tc-getCXX)" \
- AR="$(tc-getAR)" \
- RANLIB="$(tc-getRANLIB)" \
- SHARED=on \
- NTL_GMP_LIP=on \
- NTL_GF2X_LIB=on \
- NTL_THREADS=$(usex threads on off) \
- NTL_ENABLE_AVX_FFT=$(usex cpu_flags_x86_avx2 on off) \
- NATIVE=$(usex bindist off on) \
- || die "DoConfig failed"
-
- if use doc; then
- DOCS+=( "${WORKDIR}/${P}"/doc/*.txt )
- HTML_DOCS=( "${WORKDIR}/${P}"/doc/*.html "${WORKDIR}/${P}"/doc/*.gif )
- fi
-}
-
-src_install() {
- default
-
- if ! use static-libs; then
- # bug #775884
- find "${ED}" -name '*.la' -delete || die
-
- # Use rm -f because the static archive may not be created when
- # using (for example) slibtool-shared.
- rm -f "${ED}/usr/$(get_libdir)"/libntl.a || die
- fi
-
- rm -r "${ED}"/usr/share/doc/NTL || die
-}
diff --git a/dev-libs/ntl/ntl-11.5.1-r4.ebuild b/dev-libs/ntl/ntl-11.5.1-r4.ebuild
new file mode 100644
index 000000000000..2a091685334f
--- /dev/null
+++ b/dev-libs/ntl/ntl-11.5.1-r4.ebuild
@@ -0,0 +1,85 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit toolchain-funcs gnuconfig
+
+DESCRIPTION="High-performance and portable C++ number theory library"
+HOMEPAGE="https://www.shoup.net/ntl/ https://github.com/libntl/ntl"
+SRC_URI="https://www.shoup.net/ntl/${P}.tar.gz"
+
+LICENSE="LGPL-2.1+"
+SLOT="0/44"
+KEYWORDS="amd64 arm64 ~loong ppc ~ppc64 ~riscv x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
+IUSE="doc threads"
+
+BDEPEND="dev-lang/perl"
+DEPEND="dev-libs/gmp:0=
+ dev-libs/gf2x
+ threads? ( >=dev-libs/gf2x-1.2 )"
+RDEPEND="${DEPEND}"
+
+S="${WORKDIR}/${P}/src"
+
+DOCS=( "${WORKDIR}/${P}"/README )
+
+src_unpack() {
+ default
+ gnuconfig_update "${S}/libtool-origin/"
+}
+
+src_configure() {
+ # The DoConfig script builds its own libtool, but doesn't
+ # really try to set up the build environment (bug 718892).
+ export CC="$(tc-getCC)"
+ export CXX="$(tc-getCXX)"
+
+ # Currently the build system can build a static library or both
+ # static and shared libraries, but not only shared libraries. The
+ # name NTL_GMP_LIP is *not* a typo.
+ #
+ # We have left NTL_ENABLE_AVX_FFT unconditionally disabled: NTL's
+ # AVX2 detection can fail even when the CPU supports it (bug
+ # 815775), and moreover, can fail due to CXXFLAGS. When that
+ # happens, and if we try to use the AVX FFT, the build fails.
+ # Finally, doc/config.txt says, "this is experimental at moment, and
+ # may lead to worse performance." So we are probably not missing out
+ # on much.
+ #
+ perl DoConfig \
+ PREFIX="${EPREFIX}"/usr \
+ LIBDIR="${EPREFIX}"/usr/$(get_libdir) \
+ CXXFLAGS="${CXXFLAGS}" \
+ CPPFLAGS="${CPPFLAGS}" \
+ LDFLAGS="${LDFLAGS}" \
+ CXX="$(tc-getCXX)" \
+ AR="$(tc-getAR)" \
+ RANLIB="$(tc-getRANLIB)" \
+ SHARED=on \
+ NTL_GMP_LIP=on \
+ NTL_GF2X_LIB=on \
+ NTL_THREADS=$(usex threads on off) \
+ NTL_ENABLE_AVX_FFT=off \
+ NATIVE=off \
+ || die "DoConfig failed"
+
+ if use doc; then
+ DOCS+=( "${WORKDIR}/${P}"/doc/*.txt )
+ HTML_DOCS=( "${WORKDIR}/${P}"/doc/*.html "${WORKDIR}/${P}"/doc/*.gif )
+ fi
+
+ # 780534 - Required for rlibtool so it can find the generated libtool
+ ln -sf libtool-build/libtool . || die
+}
+
+src_install() {
+ default
+ find "${ED}" -name '*.la' -delete || die
+
+ # Use rm -f because the static archive may not be created when
+ # using (for example) slibtool-shared.
+ rm -f "${ED}/usr/$(get_libdir)"/libntl.a || die
+
+ rm -r "${ED}"/usr/share/doc/NTL || die
+}
diff --git a/dev-libs/nwjs/Manifest b/dev-libs/nwjs/Manifest
new file mode 100644
index 000000000000..72047b79ee34
--- /dev/null
+++ b/dev-libs/nwjs/Manifest
@@ -0,0 +1 @@
+DIST nwjs-v0.82.0-linux-x64.tar.gz 156138978 BLAKE2B 762d3a2e26ed918d07af02563ac60f7a88eb1c270d4c2aad0097b7201c3ab8925e2fd768877e35f1a32593b61515e2095dd8a28e757b3a9ac7dadbeb5a8bc7aa SHA512 5c93dd97d1ddea20c9cce0da75edbb6a28e5688c6188fef2bc71176bb154078e872c7d7a479a4cb8ac7db784aa6145e24ad6d9a48bd40c3e2997ad0795d1e60a
diff --git a/dev-libs/nwjs/metadata.xml b/dev-libs/nwjs/metadata.xml
new file mode 100644
index 000000000000..891b28c547bd
--- /dev/null
+++ b/dev-libs/nwjs/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>
+ <use>
+ <flag name="ffmpeg-chromium">Use Chromium FFmpeg fork (<pkg>media-video/ffmpeg-chromium</pkg>) rather than mainline FFmpeg (<pkg>media-video/ffmpeg</pkg>)</flag>
+ </use>
+</pkgmetadata>
diff --git a/dev-libs/nwjs/nwjs-0.82.0.ebuild b/dev-libs/nwjs/nwjs-0.82.0.ebuild
new file mode 100644
index 000000000000..b0c541788c2e
--- /dev/null
+++ b/dev-libs/nwjs/nwjs-0.82.0.ebuild
@@ -0,0 +1,144 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+CHROMIUM_VERSION="120"
+CHROMIUM_LANGS="
+ af
+ am
+ ar
+ bg
+ bn
+ ca
+ cs
+ da
+ de
+ el
+ en-GB
+ en-US
+ es-419
+ es
+ et
+ fa
+ fil
+ fi
+ fr
+ gu
+ he
+ hi
+ hr
+ hu
+ id
+ it
+ ja
+ kn
+ ko
+ lt
+ lv
+ ml
+ mr
+ ms
+ nb
+ nl
+ pl
+ pt-BR
+ pt-PT
+ ro
+ ru
+ sk
+ sl
+ sr
+ sv
+ sw
+ ta
+ te
+ th
+ tr
+ uk
+ ur
+ vi
+ zh-CN
+ zh-TW
+"
+
+inherit chromium-2
+
+MY_P="${PN}-v${PV}"
+DESCRIPTION="Framework that lets you call all Node.js modules directly from the DOM"
+HOMEPAGE="https://nwjs.io"
+SRC_URI="amd64? ( https://dl.nwjs.io/v${PV}/${MY_P}-linux-x64.tar.gz )"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="-* ~amd64"
+IUSE="ffmpeg-chromium"
+
+RDEPEND="
+ app-accessibility/at-spi2-core:2
+ dev-libs/expat
+ dev-libs/glib:2
+ dev-libs/nspr
+ dev-libs/nss
+ media-libs/alsa-lib
+ media-libs/libglvnd
+ media-libs/vulkan-loader
+ net-print/cups
+ sys-apps/dbus
+ sys-apps/util-linux
+ x11-libs/cairo
+ x11-libs/gdk-pixbuf:2
+ x11-libs/libdrm
+ x11-libs/libX11
+ x11-libs/libxcb
+ x11-libs/libXcomposite
+ x11-libs/libXcursor
+ x11-libs/libXdamage
+ x11-libs/libXext
+ x11-libs/libXfixes
+ x11-libs/libXi
+ x11-libs/libxkbcommon
+ x11-libs/libXrandr
+ x11-libs/libXrender
+ x11-libs/libXScrnSaver
+ x11-libs/libXtst
+ x11-libs/pango[X]
+ || ( gui-libs/gtk:4 x11-libs/gtk+:3 )
+ !<games-rpg/crosscode-1.4.2.2-r1
+ !ffmpeg-chromium? ( >=media-video/ffmpeg-6.1-r1:0/58.60.60[chromium] )
+ ffmpeg-chromium? ( media-video/ffmpeg-chromium:${CHROMIUM_VERSION} )
+"
+
+S="${WORKDIR}/${MY_P}-linux-x64"
+DIR="/opt/${PN}"
+QA_PREBUILT="${DIR#/}/*"
+
+src_prepare() {
+ default
+
+ # Unbundle some libraries.
+ rm -r lib/lib{EGL.so,ffmpeg.so,GLESv2.so,vulkan.so.1} swiftshader/ || die
+
+ cd locales || die
+ rm {ar-XB,en-XA}.pak* || die # No flags for pseudo locales.
+ chromium_remove_language_paks
+}
+
+src_install() {
+ insinto "${DIR}"
+ doins -r *
+
+ exeinto "${DIR}"
+ doexe chrome_crashpad_handler nw
+
+ insinto "${DIR}"/lib
+ doins lib/*.json
+
+ exeinto "${DIR}"/lib
+ doexe lib/*.so*
+
+ dosym ../../../usr/$(get_libdir)/chromium/libffmpeg.so$(usex ffmpeg-chromium .${CHROMIUM_VERSION} "") \
+ "${DIR}"/lib/libffmpeg.so
+
+ dosym ../.."${DIR}"/nw /usr/bin/${PN}
+}
diff --git a/dev-libs/ocl-icd/Manifest b/dev-libs/ocl-icd/Manifest
deleted file mode 100644
index d56cb7163168..000000000000
--- a/dev-libs/ocl-icd/Manifest
+++ /dev/null
@@ -1,2 +0,0 @@
-DIST ocl-icd-2.2.12.tar.gz 80718 BLAKE2B 524f9eea9782323eafa2f41858c4970333c029898c651bbf15624331e184d1b439d2259532b02defd67c9ab434a35b1b9a64a28e1515b3f42f09b3a270975df7 SHA512 f1668c3a39ecfbc089ee5a5f61f44ceb86ab80e504e58064dec306ce907daf77936c5403b4af15ed8714068891d68346c86725f285cfbc90c4fcb35d18db4048
-DIST ocl-icd-2.3.0.tar.gz 100848 BLAKE2B b9e5b78df63f4865bb4cb3623fbc6bd336c86b4a9e1f23a29fab1cf11f848cb20d6d8d4a480ff44e442b02d606247a923798143058256ef59c2b16c9daf7098d SHA512 003f3661b7086a7364e79d1058591f12a7095aa2c3decfc4b496f00a0863a91cd81080f33b9308e3948045f8aca5856868ed2725f478654230e51a60d654e613
diff --git a/dev-libs/ocl-icd/files/ocl-icd-2.2.12-gcc-10.patch b/dev-libs/ocl-icd/files/ocl-icd-2.2.12-gcc-10.patch
deleted file mode 100644
index 64948d5b05e3..000000000000
--- a/dev-libs/ocl-icd/files/ocl-icd-2.2.12-gcc-10.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-https://bugs.gentoo.org/706098
-
-From 4667bddd365bcc1dc66c483835971f0083b44b1d Mon Sep 17 00:00:00 2001
-From: Sergei Trofimovich <slyfox@gentoo.org>
-Date: Wed, 22 Jan 2020 19:38:23 +0000
-Subject: [PATCH] icd_generator.rb: fix build failure against gcc-10
-
-On gcc-10 (and gcc-9 -fno-common) build fails as:
-
-```
-libtool: link: gcc -shared -fPIC -DPIC .libs/libdummy_icd.o .libs/libdummy_icd_gen.o \
- -ldl -g -O2 -Wl,-soname -Wl,libdummycl.so.0 -o .libs/libdummycl.so.0.0.0
-ld: .libs/libdummy_icd_gen.o:/home/slyfox/dev/git/ocl-icd/libdummy_icd_gen.h:226:
- multiple definition of `master_dispatch'; .libs/libdummy_icd.o:/home/slyfox/dev/git/ocl-icd/libdummy_icd_gen.h:226: first defined here
-```
-
-gcc-10 will change the default from -fcommon to fno-common:
-https://gcc.gnu.org/PR85678.
-
-The error also happens if CFLAGS=-fno-common passed explicitly.
-
-Reported-by: Anthony Parsons
-Bug: https://bugs.gentoo.org/706098
-Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
----
- icd_generator.rb | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
---- a/icd_generator.rb
-+++ b/icd_generator.rb
-@@ -207,7 +207,7 @@ def self.generate_libdummy_icd_header
- }
- libdummy_icd_structures += "};\n\n"
- libdummy_icd_structures += "#pragma GCC visibility push(hidden)\n\n"
-- libdummy_icd_structures += "struct _cl_icd_dispatch master_dispatch; \n\n"
-+ libdummy_icd_structures += "extern struct _cl_icd_dispatch master_dispatch; \n\n"
- $use_name_in_test.each { |k, f|
- libdummy_icd_structures += "typeof(#{f}) INT#{f};\n"
- }
diff --git a/dev-libs/ocl-icd/files/ocl-icd-2.3.0-new-headers.patch b/dev-libs/ocl-icd/files/ocl-icd-2.3.0-new-headers.patch
deleted file mode 100644
index aa35c96ccda6..000000000000
--- a/dev-libs/ocl-icd/files/ocl-icd-2.3.0-new-headers.patch
+++ /dev/null
@@ -1,94 +0,0 @@
-From aed1832c81c0971ea001e12d41e04df834257f94 Mon Sep 17 00:00:00 2001
-From: Brice Videau <bvideau@anl.gov>
-Date: Wed, 12 May 2021 10:24:44 -0500
-Subject: [PATCH] Updated to support latest Khronos headers.
-
----
- icd_generator.rb | 4 +-
- khronos-headers/CL/cl.h | 46 +--
- khronos-headers/CL/cl_d3d10.h | 12 +-
- khronos-headers/CL/cl_d3d11.h | 12 +-
- khronos-headers/CL/cl_dx9_media_sharing.h | 32 +-
- khronos-headers/CL/cl_egl.h | 8 +-
- khronos-headers/CL/cl_ext.h | 228 +++++++++----
- khronos-headers/CL/cl_gl.h | 22 +-
- khronos-headers/CL/cl_gl_ext.h | 26 +-
- khronos-headers/CL/cl_icd.h | 316 +++++++++---------
- khronos-headers/CL/cl_layer.h | 4 +-
- khronos-headers/CL/cl_platform.h | 125 ++++---
- .../CL/cl_va_api_media_sharing_intel.h | 24 +-
- khronos-headers/CL/opencl.h | 3 +-
- ocl_interface.yaml | 10 +-
- run_dummy_icd.c | 1 -
- 16 files changed, 484 insertions(+), 389 deletions(-)
-
-diff --git a/icd_generator.rb b/icd_generator.rb
-index bb0f2e9..ed4217f 100644
---- a/icd_generator.rb
-+++ b/icd_generator.rb
-@@ -57,7 +57,7 @@ module IcdGenerator
- "clGetGLContextInfoKHR", "clUnloadCompiler",
- "clCreateContext", "clCreateContextFromType", "clWaitForEvents"]
- $header_files = ["/usr/include/CL/cl.h", "/usr/include/CL/cl_gl.h", "/usr/include/CL/cl_egl.h",
-- "/usr/include/CL/cl_ext.h", "/usr/include/CL/cl_gl_ext.h"]
-+ "/usr/include/CL/cl_ext.h"]
- $windows_header_files = ["/usr/include/CL/cl_dx9_media_sharing.h", "/usr/include/CL/cl_d3d11.h", "/usr/include/CL/cl_d3d10.h"]
- $cl_data_type_error = { "cl_platform_id" => "CL_INVALID_PLATFORM",
- "cl_device_id" => "CL_INVALID_DEVICE",
-@@ -246,7 +246,7 @@ def self.generate_run_dummy_icd_source
- run_dummy_icd += "\n\n"
- $api_entries.each_key { |func_name|
- next if $forbidden_funcs.include?(func_name)
-- run_dummy_icd += $api_entries[func_name]+";\n"
-+ run_dummy_icd += $api_entries[func_name]+"\n"
- }
- run_dummy_icd += "\n\n"
- run_dummy_icd += "void call_all_OpenCL_functions(cl_platform_id chosen_platform) {\n"
-diff --git a/ocl_interface.yaml b/ocl_interface.yaml
-index 1e80f16..43a0e59 100644
---- a/ocl_interface.yaml
-+++ b/ocl_interface.yaml
-@@ -674,18 +674,18 @@
- const cl_device_partition_property_ext * /* properties */,
- cl_uint /*num_entries*/,
- cl_device_id * /*out_devices*/,
-- cl_uint * /*num_devices*/ ) CL_EXT_SUFFIX__VERSION_1_1;
-+ cl_uint * /*num_devices*/ ) CL_API_SUFFIX__VERSION_1_1;
- 90: |-
- CL_API_ENTRY cl_int CL_API_CALL
-- clRetainDeviceEXT( cl_device_id /*device*/ ) CL_EXT_SUFFIX__VERSION_1_1;
-+ clRetainDeviceEXT( cl_device_id /*device*/ ) CL_API_SUFFIX__VERSION_1_1;
- 91: |-
- CL_API_ENTRY cl_int CL_API_CALL
-- clReleaseDeviceEXT( cl_device_id /*device*/ ) CL_EXT_SUFFIX__VERSION_1_1;
-+ clReleaseDeviceEXT( cl_device_id /*device*/ ) CL_API_SUFFIX__VERSION_1_1;
- 92: |-
- CL_API_ENTRY cl_event CL_API_CALL
- clCreateEventFromGLsyncKHR(cl_context /* context */,
- cl_GLsync /* cl_GLsync */,
-- cl_int * /* errcode_ret */) CL_EXT_SUFFIX__VERSION_1_1;
-+ cl_int * /* errcode_ret */) CL_API_SUFFIX__VERSION_1_1;
- 93: |-
- CL_API_ENTRY cl_int CL_API_CALL
- clCreateSubDevices(cl_device_id /* in_device */,
-@@ -1016,7 +1016,7 @@
- const void * /*input_value*/,
- size_t /*param_value_size*/,
- void* /*param_value*/,
-- size_t* /*param_value_size_ret*/ ) CL_EXT_SUFFIX__VERSION_2_0;
-+ size_t* /*param_value_size_ret*/ ) CL_API_SUFFIX__VERSION_2_0;
- 137: |-
- CL_API_ENTRY cl_kernel CL_API_CALL
- clCloneKernel(cl_kernel /* source_kernel */,
-diff --git a/run_dummy_icd.c b/run_dummy_icd.c
-index 400c1b0..c064b19 100644
---- a/run_dummy_icd.c
-+++ b/run_dummy_icd.c
-@@ -39,7 +39,6 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- # include <CL/cl_gl.h>
- # include <CL/cl_egl.h>
- # include <CL/cl_ext.h>
--# include <CL/cl_gl_ext.h>
- #pragma GCC diagnostic pop
- #include <string.h>
- #include "ocl_icd_debug.h"
diff --git a/dev-libs/ocl-icd/metadata.xml b/dev-libs/ocl-icd/metadata.xml
deleted file mode 100644
index eba2b31b82d6..000000000000
--- a/dev-libs/ocl-icd/metadata.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="person">
- <email>patrick@gentoo.org</email>
- <name>Patrick Lauer</name>
- </maintainer>
- <use>
- <flag name="khronos-headers" restrict="&gt;dev-libs/ocl-icd-2.2.11-r1">
- Install Khronos OpenCL headers.
- </flag>
- </use>
-</pkgmetadata>
diff --git a/dev-libs/ocl-icd/ocl-icd-2.2.12-r4.ebuild b/dev-libs/ocl-icd/ocl-icd-2.2.12-r4.ebuild
deleted file mode 100644
index 3cc734b6f736..000000000000
--- a/dev-libs/ocl-icd/ocl-icd-2.2.12-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
-
-USE_RUBY="ruby24 ruby25 ruby26 ruby27"
-inherit autotools flag-o-matic multilib-minimal ruby-single
-
-DESCRIPTION="Alternative to vendor specific OpenCL ICD loaders"
-HOMEPAGE="https://github.com/OCL-dev/ocl-icd"
-SRC_URI="https://github.com/OCL-dev/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-LICENSE="BSD-2"
-SLOT="0"
-KEYWORDS="amd64 x86"
-
-# Does nothing now but by keeping it here we avoid having to have virtual/opencl
-# handle ebuilds both with and without this flag.
-IUSE="+khronos-headers"
-
-BDEPEND="${RUBY_DEPS}"
-DEPEND="~dev-util/opencl-headers-2020.06.16"
-RDEPEND="${DEPEND}
- !app-eselect/eselect-opencl
- !dev-libs/opencl-icd-loader"
-
-PATCHES=("${FILESDIR}"/${P}-gcc-10.patch)
-
-src_prepare() {
- replace-flags -Os -O2 # bug 646122
-
- default
- eautoreconf
-}
-
-multilib_src_configure() {
- # dev-util/opencl-headers ARE official Khronos Group headers, what this option
- # does is disable the use of the bundled ones
- ECONF_SOURCE="${S}" econf --enable-pthread-once --disable-official-khronos-headers
-}
-
-multilib_src_install() {
- default
-
- # Drop .la files
- find "${ED}" -name '*.la' -delete || die
-}
diff --git a/dev-libs/ocl-icd/ocl-icd-2.3.0.ebuild b/dev-libs/ocl-icd/ocl-icd-2.3.0.ebuild
deleted file mode 100644
index 341d58d9a219..000000000000
--- a/dev-libs/ocl-icd/ocl-icd-2.3.0.ebuild
+++ /dev/null
@@ -1,61 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-USE_RUBY="ruby25 ruby26 ruby27 ruby30"
-inherit autotools flag-o-matic multilib-minimal ruby-single
-
-DESCRIPTION="Alternative to vendor specific OpenCL ICD loaders"
-HOMEPAGE="https://github.com/OCL-dev/ocl-icd"
-SRC_URI="https://github.com/OCL-dev/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-LICENSE="BSD-2"
-SLOT="0"
-KEYWORDS="amd64 x86"
-
-# Does nothing now but by keeping it here we avoid having to have virtual/opencl
-# handle ebuilds both with and without this flag.
-IUSE="+khronos-headers"
-
-BDEPEND="${RUBY_DEPS}"
-DEPEND=">=dev-util/opencl-headers-2021.04.29"
-RDEPEND="${DEPEND}
- !app-eselect/eselect-opencl
- !dev-libs/opencl-icd-loader"
-
-PATCHES=(
- "${FILESDIR}"/${P}-new-headers.patch
-)
-
-src_prepare() {
- replace-flags -Os -O2 # bug 646122
-
- default
- eautoreconf
-}
-
-multilib_src_configure() {
- # dev-util/opencl-headers ARE official Khronos Group headers, what this option
- # does is disable the use of the bundled ones
- ECONF_SOURCE="${S}" econf --enable-pthread-once --disable-official-khronos-headers
-}
-
-multilib_src_compile() {
- local candidates=(${USE_RUBY})
- local ruby=
- for (( idx=${#candidates[@]}-1 ; idx>=0 ; idx-- )) ; do
- if ${candidates[idx]} --version &> /dev/null; then
- ruby=${candidates[idx]} && break
- fi
- done
- [[ -z ${ruby} ]] && die "No ruby executable found"
-
- emake RUBY=${ruby}
-}
-
-multilib_src_install() {
- default
-
- # Drop .la files
- find "${ED}" -name '*.la' -delete || die
-}
diff --git a/dev-libs/olm/Manifest b/dev-libs/olm/Manifest
new file mode 100644
index 000000000000..f5e4eb869158
--- /dev/null
+++ b/dev-libs/olm/Manifest
@@ -0,0 +1,2 @@
+DIST olm-3.2.15.tar.bz2 2744760 BLAKE2B 44486a63217998010a0bb7e01ff3315c88e139d686b97158e67af29b2f052912412541fb944a17c5d8931df9c641a73e521ef8d0ff352b80fe30bd6fb73b2e7b SHA512 81832766e477fc17908e8d1c49b5403d87b5977fd9102605d95ef2a3907619b7301e32fe0e18ec0f575b1f004ce248633307ff43b0f48bc9bb2313cdfefd6ea7
+DIST olm-3.2.16.tar.bz2 2744360 BLAKE2B 236cd08cb4f014ef4f90377fe30907490dbf6482629ab47a779114c711de1855c44874a45ee92f4f55d7c100abbbde2c427996ce534dd95ce401a7549db351b7 SHA512 504ddc91297e7aef99e9b25f73b33bac29716ca33eb333bf1217b719d8862438e2cdaadd88cef3dc84e9f618bcc9eeeaf7e513f2d6909cc4a3d98a5dd79b0581
diff --git a/dev-libs/olm/files/olm-3.2.15-cmake.patch b/dev-libs/olm/files/olm-3.2.15-cmake.patch
new file mode 100644
index 000000000000..d656bcbedbd4
--- /dev/null
+++ b/dev-libs/olm/files/olm-3.2.15-cmake.patch
@@ -0,0 +1,59 @@
+From 5567dc0ef9133df7cea5b9ae29c4fb642a8fbe83 Mon Sep 17 00:00:00 2001
+From: Andreas Sturmlechner <asturm@gentoo.org>
+Date: Thu, 8 Jun 2023 11:40:01 +0200
+Subject: [PATCH] Use CTest module and standard BUILD_TESTING switch
+
+Improves downstream package testing integration.
+
+See also:
+https://cmake.org/cmake/help/latest/command/enable_testing.html
+https://cmake.org/cmake/help/latest/module/CTest.html#module:CTest
+
+Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
+---
+ CMakeLists.txt | 5 +++--
+ tests/CMakeLists.txt | 2 --
+ 2 files changed, 3 insertions(+), 4 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index a271b54..a62ea8f 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -2,7 +2,6 @@ cmake_minimum_required(VERSION 3.4)
+
+ project(olm VERSION 3.2.15 LANGUAGES CXX C)
+
+-option(OLM_TESTS "Build tests" ON)
+ option(BUILD_SHARED_LIBS "Build as a shared library" ON)
+
+ add_definitions(-DOLMLIB_VERSION_MAJOR=${PROJECT_VERSION_MAJOR})
+@@ -52,6 +51,8 @@ add_library(olm
+ lib/curve25519-donna/curve25519-donna.c)
+ add_library(Olm::Olm ALIAS olm)
+
++include(CTest)
++
+ # restrict the exported symbols
+ include(GenerateExportHeader)
+ generate_export_header(olm
+@@ -137,6 +138,6 @@ export(EXPORT olm-targets
+ NAMESPACE Olm::)
+ export(PACKAGE Olm)
+
+-if (OLM_TESTS)
++if (BUILD_TESTING)
+ add_subdirectory(tests)
+ endif()
+diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt
+index 0343abb..64585ca 100644
+--- a/tests/CMakeLists.txt
++++ b/tests/CMakeLists.txt
+@@ -1,5 +1,3 @@
+-enable_testing()
+-
+ set(TEST_LIST
+ base64
+ crypto
+--
+2.41.0
+
diff --git a/dev-libs/olm/files/olm-3.2.16-cmake.patch b/dev-libs/olm/files/olm-3.2.16-cmake.patch
new file mode 100644
index 000000000000..7a93eae9ffdb
--- /dev/null
+++ b/dev-libs/olm/files/olm-3.2.16-cmake.patch
@@ -0,0 +1,56 @@
+From 5567dc0ef9133df7cea5b9ae29c4fb642a8fbe83 Mon Sep 17 00:00:00 2001
+From: Andreas Sturmlechner <asturm@gentoo.org>
+Date: Thu, 8 Jun 2023 11:40:01 +0200
+Subject: [PATCH] Use CTest module and standard BUILD_TESTING switch
+
+Improves downstream package testing integration.
+
+See also:
+https://cmake.org/cmake/help/latest/command/enable_testing.html
+https://cmake.org/cmake/help/latest/module/CTest.html#module:CTest
+
+Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
+---
+ CMakeLists.txt | 5 +++--
+ tests/CMakeLists.txt | 2 --
+ 2 files changed, 3 insertions(+), 4 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 951965f..44b53c8 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -2,7 +2,6 @@ cmake_minimum_required(VERSION 3.4)
+
+ project(olm VERSION 3.2.16 LANGUAGES CXX C)
+
+-option(OLM_TESTS "Build tests" ON)
+ option(BUILD_SHARED_LIBS "Build as a shared library" ON)
+
+ add_definitions(-DOLMLIB_VERSION_MAJOR=${PROJECT_VERSION_MAJOR})
+@@ -52,6 +51,8 @@ add_library(olm
+ lib/curve25519-donna/curve25519-donna.c)
+ add_library(Olm::Olm ALIAS olm)
+
++include(CTest)
++
+ # restrict the exported symbols
+ include(GenerateExportHeader)
+ generate_export_header(olm
+@@ -137,6 +138,6 @@ export(EXPORT olm-targets
+ NAMESPACE Olm::)
+ export(PACKAGE Olm)
+
+-if (OLM_TESTS)
++if (BUILD_TESTING)
+ add_subdirectory(tests)
+ endif()
+diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt
+index 0343abb..64585ca 100644
+--- a/tests/CMakeLists.txt
++++ b/tests/CMakeLists.txt
+@@ -1,5 +1,3 @@
+-enable_testing()
+-
+ set(TEST_LIST
+ base64
+ crypto
diff --git a/dev-libs/olm/metadata.xml b/dev-libs/olm/metadata.xml
new file mode 100644
index 000000000000..e47db7bbc780
--- /dev/null
+++ b/dev-libs/olm/metadata.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person" proxied="yes">
+ <name>Gavin D. Howard</name>
+ <email>gavin@gavinhoward.com</email>
+ </maintainer>
+ <maintainer type="project" proxied="proxy">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+ </maintainer>
+ <upstream>
+ <bugs-to>https://gitlab.matrix.org/matrix-org/olm</bugs-to>
+ <remote-id type="gitlab">matrix-org/olm</remote-id>
+ </upstream>
+ <longdescription lang="en">
+ Official, audited implementation of the olm and megolm cryptographic
+ ratchets in C++ for the Matrix protocol
+ </longdescription>
+</pkgmetadata>
diff --git a/dev-libs/olm/olm-3.2.15.ebuild b/dev-libs/olm/olm-3.2.15.ebuild
new file mode 100644
index 000000000000..de19b07c052f
--- /dev/null
+++ b/dev-libs/olm/olm-3.2.15.ebuild
@@ -0,0 +1,25 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+DESCRIPTION="Implementation of the Double Ratchet cryptographic ratchet in C++"
+HOMEPAGE="https://gitlab.matrix.org/matrix-org/olm"
+SRC_URI="https://gitlab.matrix.org/matrix-org/${PN}/-/archive/${PV}/${P}.tar.bz2"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 arm64 ~ppc64 x86"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+PATCHES=( "${FILESDIR}/${P}-cmake.patch" ) # TODO: upstream
+
+src_configure() {
+ local mycmakeargs=(
+ -DBUILD_TESTING=$(usex test)
+ )
+ cmake_src_configure
+}
diff --git a/dev-libs/olm/olm-3.2.16.ebuild b/dev-libs/olm/olm-3.2.16.ebuild
new file mode 100644
index 000000000000..b037e5f4ebff
--- /dev/null
+++ b/dev-libs/olm/olm-3.2.16.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="Implementation of the Double Ratchet cryptographic ratchet in C++"
+HOMEPAGE="https://gitlab.matrix.org/matrix-org/olm"
+SRC_URI="https://gitlab.matrix.org/matrix-org/${PN}/-/archive/${PV}/${P}.tar.bz2"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 arm64 ~ppc64 x86"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+PATCHES=( "${FILESDIR}/${P}-cmake.patch" ) # TODO: upstream
+
+src_configure() {
+ local mycmakeargs=(
+ -DBUILD_TESTING=$(usex test)
+ )
+ cmake_src_configure
+}
diff --git a/dev-libs/oneDNN/Manifest b/dev-libs/oneDNN/Manifest
new file mode 100644
index 000000000000..4ebc5241e90d
--- /dev/null
+++ b/dev-libs/oneDNN/Manifest
@@ -0,0 +1,3 @@
+DIST oneDNN-3.3.3.tar.gz 11577369 BLAKE2B 85df74235d70d30d69ebb1702dcb328466d38046b37f4078b1d6880c7cbe079d095e53e5c9e2f0f77daca057cae62e661ac1bf919e8f128cf9c76a847dc0425d SHA512 bb4a6b33b3191b9e517a321dd089b7debb528dd2d4be48f52626308fe0e1dbea3fa6149fd9debe6aa23f11224ac80e4d3ee1e251d2007faf9bcc262bb895de71
+DIST oneDNN-3.3.4.tar.gz 11577725 BLAKE2B abfcf14f8f7ade2341004d3afdb2879814b50edb76dcc677f0c97aa061e3f5c958a8810fb3eb90926c7dc5d007406daf7b73e9ce660f8c0094a49338e9255f8c SHA512 ff31f3f6b59529aad47d5a8154572aa8d7e8267c4b8150aa32eeac7baa378e1dbfdc1adc6d503ebf1bd132bc09446019abf80e5dd8b54bd6aebfb08b7fb6b066
+DIST oneDNN-3.4.tar.gz 12858442 BLAKE2B 56af66755b133d8f6590d3712b4d8c7e331c5b6e4d92f99c7773a6be64331fa2a03159cf96ab4d979d0586c2bf060757895393eca5a2b06af2cfe80b80642aff SHA512 8a4ae6251e12ee641a432011da8360e08866ac005a5930d3a6278ce470d8b4a88afbd5538504274ca5e0bf053845efb41c834acaab83121d9d986a41f31ff718
diff --git a/dev-libs/oneDNN/files/oneDNN-3.3.3-include-cstdint.patch b/dev-libs/oneDNN/files/oneDNN-3.3.3-include-cstdint.patch
new file mode 100644
index 000000000000..024c1350340e
--- /dev/null
+++ b/dev-libs/oneDNN/files/oneDNN-3.3.3-include-cstdint.patch
@@ -0,0 +1,13 @@
+Fix for dims.hpp:25:28: error: int64_t was not declared in this scope
+Bug: https://bugs.gentoo.org/922778
+Upstream fix: https://github.com/oneapi-src/oneDNN/pull/1792
+--- a/tests/benchdnn/utils/dims.hpp
++++ b/tests/benchdnn/utils/dims.hpp
+@@ -18,6 +18,7 @@
+ #define UTILS_DIMS_T_HPP
+
+ #include <cassert>
++#include <cstdint>
+ #include <iostream>
+ #include <string>
+ #include <vector>
diff --git a/dev-libs/oneDNN/metadata.xml b/dev-libs/oneDNN/metadata.xml
new file mode 100644
index 000000000000..1e6efe71ca6a
--- /dev/null
+++ b/dev-libs/oneDNN/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>tupone@gentoo.org</email>
+ <name>Tupone Alfredo</name>
+ </maintainer>
+ <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/oneapi-src/oneDNN/issues</bugs-to>
+ <remote-id type="github">oneapi-src/oneDNN</remote-id>
+ </upstream>
+ <use>
+ <flag name="mkl">Use sci-libs/mkl for sgemm routines</flag>
+ <flag name="cblas">Use virtual/cblas for sgemm routines</flag>
+ </use>
+</pkgmetadata>
diff --git a/dev-libs/oneDNN/oneDNN-3.3.3-r1.ebuild b/dev-libs/oneDNN/oneDNN-3.3.3-r1.ebuild
new file mode 100644
index 000000000000..f67b93c73e22
--- /dev/null
+++ b/dev-libs/oneDNN/oneDNN-3.3.3-r1.ebuild
@@ -0,0 +1,134 @@
+# Copyright 2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DOCS_BUILDER="doxygen"
+DOCS_DIR="${WORKDIR}/${P}_build"
+
+# oneDNN has its own FindBLAS.cmake file to find MKL (in a non-standard way).
+# Removing of CMake modules is disabled.
+CMAKE_REMOVE_MODULES_LIST=( none )
+
+# There is additional sphinx documentation but we are missing dependency doxyrest.
+inherit cmake docs multiprocessing toolchain-funcs
+
+DESCRIPTION="oneAPI Deep Neural Network Library"
+HOMEPAGE="https://github.com/oneapi-src/oneDNN"
+SRC_URI="https://github.com/oneapi-src/oneDNN/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64"
+
+IUSE="test mkl cblas static-libs +openmp"
+
+RESTRICT="!test? ( test )"
+
+DEPEND="
+ mkl? ( sci-libs/mkl )
+ cblas? ( !mkl? ( virtual/cblas ) )
+"
+RDEPEND="${DEPEND}"
+BDEPEND="
+ openmp? (
+ || (
+ sys-devel/gcc[openmp]
+ sys-devel/clang-runtime[openmp]
+ )
+ )
+"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-3.3.3-include-cstdint.patch"
+)
+
+pkg_pretend() {
+ [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
+}
+
+pkg_setup() {
+ [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
+}
+
+src_configure() {
+ if ! use openmp ; then
+ ewarn "WARNING: oneDNN is being built with sequential runtime."
+ ewarn "Proceeding might lead to highly sub-optimal performance."
+ ewarn "Conside enabling \"openmp\" USE flag."
+ fi
+
+ local mycmakeargs=(
+ -DDNNL_LIBRARY_TYPE=$(usex static-libs STATIC SHARED)
+ -DDNNL_CPU_RUNTIME=$(usex openmp OMP SEQ)
+ -DDNNL_GPU_RUNTIME=NONE
+ -DDNNL_BUILD_EXAMPLES=OFF
+ -DDNNL_BUILD_TESTS="$(usex test)"
+ -DDNNL_ENABLE_CONCURRENT_EXEC=OFF
+ -DDNNL_ENABLE_JIT_PROFILING=ON
+ -DDNNL_ENABLE_ITT_TASKS=ON
+ -DDNNL_ENABLE_PRIMITIVE_CACHE=ON
+ -DDNNL_ENABLE_MAX_CPU_ISA=ON
+ -DDNNL_ENABLE_CPU_ISA_HINTS=ON
+ -DDNNL_ENABLE_WORKLOAD=TRAINING
+ -DDNNL_ENABLE_PRIMITIVE=ALL
+ -DDNNL_ENABLE_PRIMITIVE_GPU_ISA=ALL
+ -DDNNL_EXPERIMENTAL=OFF
+ -DDNNL_VERBOSE=ON
+ -DDNNL_DEV_MODE=OFF
+ -DDNNL_AARCH64_USE_ACL=OFF
+ -DDNNL_GPU_VENDOR=INTEL
+ -DDNNL_LIBRARY_NAME=dnnl
+ -DONEDNN_BUILD_GRAPH=ON
+ -DONEDNN_ENABLE_GRAPH_DUMP=OFF
+ -DONEDNN_EXPERIMENTAL_GRAPH_COMPILER_BACKEND=OFF
+ -DDNNL_ENABLE_PRIMITIVE_CPU_ISA=ALL
+ -DONEDNN_ENABLE_GEMM_KERNELS_ISA=ALL
+ -Wno-dev
+ )
+
+ if use mkl ; then
+ if [ -e "${EPREFIX}"/opt/intel/oneapi/mkl/latest/env/vars.sh ]; then
+ source "${EPREFIX}"/opt/intel/oneapi/mkl/latest/env/vars.sh || die
+ else
+ # bug 923109: sci-libs/mkl-2020.4.304 has no vars.sh, configure it manually
+ export CPATH="${EPREFIX}"/usr/include/mkl
+ export MKLROOT="${EPREFIX}"/usr
+ fi
+
+ mycmakeargs+=( -DDNNL_BLAS_VENDOR=MKL )
+ elif use cblas; then
+ mycmakeargs+=( -DDNNL_BLAS_VENDOR=ANY -DBLA_VENDOR=Generic -DBLAS_LIBRARIES=-lcblas )
+ else
+ mycmakeargs+=( -DDNNL_BLAS_VENDOR=NONE )
+ fi
+
+ cmake_src_configure
+}
+
+src_compile() {
+ cmake_src_compile
+ docs_compile
+}
+
+src_install() {
+ cmake_src_install
+
+ # Correct docdir
+ mv "${ED}/usr/share/doc/dnnl"* "${ED}/usr/share/doc/${PF}" || die
+}
+
+src_test() {
+ local CMAKE_SKIP_TESTS=(
+ # Crashes in sandbox (see #922886 and #923013);
+ # waits for sys-apps/sandbox-2.39 release and stabilization.
+ test_graph_unit_cpu
+ )
+
+ if use openmp ; then
+ # Don't run tests in parallel, each test is already parallelized
+ OMP_NUM_THREADS=$(makeopts_jobs) cmake_src_test -j1
+ else
+ cmake_src_test
+ fi
+}
diff --git a/dev-libs/oneDNN/oneDNN-3.3.4.ebuild b/dev-libs/oneDNN/oneDNN-3.3.4.ebuild
new file mode 100644
index 000000000000..f67b93c73e22
--- /dev/null
+++ b/dev-libs/oneDNN/oneDNN-3.3.4.ebuild
@@ -0,0 +1,134 @@
+# Copyright 2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DOCS_BUILDER="doxygen"
+DOCS_DIR="${WORKDIR}/${P}_build"
+
+# oneDNN has its own FindBLAS.cmake file to find MKL (in a non-standard way).
+# Removing of CMake modules is disabled.
+CMAKE_REMOVE_MODULES_LIST=( none )
+
+# There is additional sphinx documentation but we are missing dependency doxyrest.
+inherit cmake docs multiprocessing toolchain-funcs
+
+DESCRIPTION="oneAPI Deep Neural Network Library"
+HOMEPAGE="https://github.com/oneapi-src/oneDNN"
+SRC_URI="https://github.com/oneapi-src/oneDNN/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64"
+
+IUSE="test mkl cblas static-libs +openmp"
+
+RESTRICT="!test? ( test )"
+
+DEPEND="
+ mkl? ( sci-libs/mkl )
+ cblas? ( !mkl? ( virtual/cblas ) )
+"
+RDEPEND="${DEPEND}"
+BDEPEND="
+ openmp? (
+ || (
+ sys-devel/gcc[openmp]
+ sys-devel/clang-runtime[openmp]
+ )
+ )
+"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-3.3.3-include-cstdint.patch"
+)
+
+pkg_pretend() {
+ [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
+}
+
+pkg_setup() {
+ [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
+}
+
+src_configure() {
+ if ! use openmp ; then
+ ewarn "WARNING: oneDNN is being built with sequential runtime."
+ ewarn "Proceeding might lead to highly sub-optimal performance."
+ ewarn "Conside enabling \"openmp\" USE flag."
+ fi
+
+ local mycmakeargs=(
+ -DDNNL_LIBRARY_TYPE=$(usex static-libs STATIC SHARED)
+ -DDNNL_CPU_RUNTIME=$(usex openmp OMP SEQ)
+ -DDNNL_GPU_RUNTIME=NONE
+ -DDNNL_BUILD_EXAMPLES=OFF
+ -DDNNL_BUILD_TESTS="$(usex test)"
+ -DDNNL_ENABLE_CONCURRENT_EXEC=OFF
+ -DDNNL_ENABLE_JIT_PROFILING=ON
+ -DDNNL_ENABLE_ITT_TASKS=ON
+ -DDNNL_ENABLE_PRIMITIVE_CACHE=ON
+ -DDNNL_ENABLE_MAX_CPU_ISA=ON
+ -DDNNL_ENABLE_CPU_ISA_HINTS=ON
+ -DDNNL_ENABLE_WORKLOAD=TRAINING
+ -DDNNL_ENABLE_PRIMITIVE=ALL
+ -DDNNL_ENABLE_PRIMITIVE_GPU_ISA=ALL
+ -DDNNL_EXPERIMENTAL=OFF
+ -DDNNL_VERBOSE=ON
+ -DDNNL_DEV_MODE=OFF
+ -DDNNL_AARCH64_USE_ACL=OFF
+ -DDNNL_GPU_VENDOR=INTEL
+ -DDNNL_LIBRARY_NAME=dnnl
+ -DONEDNN_BUILD_GRAPH=ON
+ -DONEDNN_ENABLE_GRAPH_DUMP=OFF
+ -DONEDNN_EXPERIMENTAL_GRAPH_COMPILER_BACKEND=OFF
+ -DDNNL_ENABLE_PRIMITIVE_CPU_ISA=ALL
+ -DONEDNN_ENABLE_GEMM_KERNELS_ISA=ALL
+ -Wno-dev
+ )
+
+ if use mkl ; then
+ if [ -e "${EPREFIX}"/opt/intel/oneapi/mkl/latest/env/vars.sh ]; then
+ source "${EPREFIX}"/opt/intel/oneapi/mkl/latest/env/vars.sh || die
+ else
+ # bug 923109: sci-libs/mkl-2020.4.304 has no vars.sh, configure it manually
+ export CPATH="${EPREFIX}"/usr/include/mkl
+ export MKLROOT="${EPREFIX}"/usr
+ fi
+
+ mycmakeargs+=( -DDNNL_BLAS_VENDOR=MKL )
+ elif use cblas; then
+ mycmakeargs+=( -DDNNL_BLAS_VENDOR=ANY -DBLA_VENDOR=Generic -DBLAS_LIBRARIES=-lcblas )
+ else
+ mycmakeargs+=( -DDNNL_BLAS_VENDOR=NONE )
+ fi
+
+ cmake_src_configure
+}
+
+src_compile() {
+ cmake_src_compile
+ docs_compile
+}
+
+src_install() {
+ cmake_src_install
+
+ # Correct docdir
+ mv "${ED}/usr/share/doc/dnnl"* "${ED}/usr/share/doc/${PF}" || die
+}
+
+src_test() {
+ local CMAKE_SKIP_TESTS=(
+ # Crashes in sandbox (see #922886 and #923013);
+ # waits for sys-apps/sandbox-2.39 release and stabilization.
+ test_graph_unit_cpu
+ )
+
+ if use openmp ; then
+ # Don't run tests in parallel, each test is already parallelized
+ OMP_NUM_THREADS=$(makeopts_jobs) cmake_src_test -j1
+ else
+ cmake_src_test
+ fi
+}
diff --git a/dev-libs/oneDNN/oneDNN-3.4.ebuild b/dev-libs/oneDNN/oneDNN-3.4.ebuild
new file mode 100644
index 000000000000..f63e938f040c
--- /dev/null
+++ b/dev-libs/oneDNN/oneDNN-3.4.ebuild
@@ -0,0 +1,133 @@
+# Copyright 2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DOCS_BUILDER="doxygen"
+DOCS_DIR="${WORKDIR}/${P}_build"
+
+# oneDNN has its own FindBLAS.cmake file to find MKL (in a non-standard way).
+# Removing of CMake modules is disabled.
+CMAKE_REMOVE_MODULES_LIST=( none )
+
+# There is additional sphinx documentation but we are missing dependency doxyrest.
+inherit cmake docs multiprocessing toolchain-funcs
+
+DESCRIPTION="oneAPI Deep Neural Network Library"
+HOMEPAGE="https://github.com/oneapi-src/oneDNN"
+SRC_URI="https://github.com/oneapi-src/oneDNN/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64"
+
+IUSE="test mkl cblas static-libs +openmp"
+
+RESTRICT="!test? ( test )"
+
+DEPEND="
+ mkl? ( sci-libs/mkl )
+ cblas? ( !mkl? ( virtual/cblas ) )
+"
+RDEPEND="${DEPEND}"
+BDEPEND="
+ openmp? (
+ || (
+ sys-devel/gcc[openmp]
+ sys-devel/clang-runtime[openmp]
+ )
+ )
+"
+
+pkg_pretend() {
+ [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
+}
+
+pkg_setup() {
+ [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
+}
+
+src_configure() {
+ if ! use openmp ; then
+ ewarn "WARNING: oneDNN is being built with sequential runtime."
+ ewarn "Proceeding might lead to highly sub-optimal performance."
+ ewarn "Conside enabling \"openmp\" USE flag."
+ fi
+
+ local mycmakeargs=(
+ -DDNNL_LIBRARY_TYPE=$(usex static-libs STATIC SHARED)
+ -DDNNL_CPU_RUNTIME=$(usex openmp OMP SEQ)
+ -DDNNL_GPU_RUNTIME=NONE
+ -DDNNL_BUILD_EXAMPLES=OFF
+ -DDNNL_BUILD_TESTS="$(usex test)"
+ -DDNNL_ENABLE_CONCURRENT_EXEC=OFF
+ -DDNNL_ENABLE_JIT_PROFILING=ON
+ -DDNNL_ENABLE_ITT_TASKS=ON
+ -DDNNL_ENABLE_PRIMITIVE_CACHE=ON
+ -DDNNL_ENABLE_MAX_CPU_ISA=ON
+ -DDNNL_ENABLE_CPU_ISA_HINTS=ON
+ -DDNNL_ENABLE_WORKLOAD=TRAINING
+ -DDNNL_ENABLE_PRIMITIVE=ALL
+ -DDNNL_ENABLE_PRIMITIVE_GPU_ISA=ALL
+ -DDNNL_EXPERIMENTAL=OFF
+ -DDNNL_VERBOSE=ON
+ -DDNNL_DEV_MODE=OFF
+ -DDNNL_AARCH64_USE_ACL=OFF
+ -DDNNL_GPU_VENDOR=INTEL
+ -DDNNL_LIBRARY_NAME=dnnl
+ -DONEDNN_BUILD_GRAPH=ON
+ -DONEDNN_ENABLE_GRAPH_DUMP=OFF
+ -DONEDNN_EXPERIMENTAL_GRAPH_COMPILER_BACKEND=OFF
+ -DDNNL_ENABLE_PRIMITIVE_CPU_ISA=ALL
+ -DONEDNN_ENABLE_GEMM_KERNELS_ISA=ALL
+ -Wno-dev
+ )
+
+ if use mkl ; then
+ if [ -e "${EPREFIX}"/opt/intel/oneapi/mkl/latest/env/vars.sh ]; then
+ source "${EPREFIX}"/opt/intel/oneapi/mkl/latest/env/vars.sh || die
+ else
+ # bug 923109: sci-libs/mkl-2020.4.304 has no vars.sh, configure it manually
+ export CPATH="${EPREFIX}"/usr/include/mkl
+ export MKLROOT="${EPREFIX}"/usr
+ fi
+
+ mycmakeargs+=( -DDNNL_BLAS_VENDOR=MKL )
+ elif use cblas; then
+ mycmakeargs+=( -DDNNL_BLAS_VENDOR=ANY -DBLA_VENDOR=Generic -DBLAS_LIBRARIES=-lcblas )
+ else
+ mycmakeargs+=( -DDNNL_BLAS_VENDOR=NONE )
+ fi
+
+ cmake_src_configure
+}
+
+src_compile() {
+ cmake_src_compile
+ docs_compile
+}
+
+src_install() {
+ cmake_src_install
+
+ # Correct docdir
+ mv "${ED}/usr/share/doc/dnnl"* "${ED}/usr/share/doc/${PF}" || die
+}
+
+src_test() {
+ local CMAKE_SKIP_TESTS=(
+ # Crashes in sandbox (see #922886 and #923013);
+ # waits for sys-apps/sandbox-2.39 release and stabilization.
+ test_graph_unit_interface
+ test_graph_unit_dnnl_layout_propagator
+ test_graph_unit_dnnl_op_executable
+ test_graph_unit_utils
+ )
+
+ if use openmp ; then
+ # Don't run tests in parallel, each test is already parallelized
+ OMP_NUM_THREADS=$(makeopts_jobs) cmake_src_test -j1
+ else
+ cmake_src_test
+ fi
+}
diff --git a/dev-libs/onigmo/Manifest b/dev-libs/onigmo/Manifest
index c0a02fccafc4..ed9ae2097049 100644
--- a/dev-libs/onigmo/Manifest
+++ b/dev-libs/onigmo/Manifest
@@ -1,2 +1 @@
-DIST onigmo-6.1.3.tar.gz 822127 BLAKE2B b2f020ba37c039022ee4ad0840006b7d84bd5c2b24975d3cc34a625379c478cdfacbb7247d5f2315da2e56beaa74fec5390140d4a3f0c29c66906d78d7207b8b SHA512 13ee0e97e5e7ea2a379cdfd8bab121ee116fc07495c6b3131621f6cd9b1748897e5e2c7dcf43845794b2ad4adef3b4076daf06f51aaf965e32cbac5d7bace1e6
DIST onigmo-6.2.0.tar.gz 844935 BLAKE2B 768918af337be0bbe9fd9c9f15a630ce0a74f081832ef84ba13e48f4e6ed692ff1250e20272c039d95bb4d9b847bfaac829addd7de3f50780b7620b1f105406c SHA512 651ab8c64d8b8c0d56e1549809030be79a751b9d1c06af6527f8cf6014fba1bafea593d572e1cf766099a10fb4e6506ca683ef48131f47471348b5cbd35a1a77
diff --git a/dev-libs/onigmo/onigmo-6.1.3.ebuild b/dev-libs/onigmo/onigmo-6.1.3.ebuild
deleted file mode 100644
index fc5366e7b632..000000000000
--- a/dev-libs/onigmo/onigmo-6.1.3.ebuild
+++ /dev/null
@@ -1,34 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-
-inherit autotools multilib-minimal
-
-DESCRIPTION="Onigmo is a regular expressions library forked from Oniguruma"
-HOMEPAGE="https://github.com/k-takata/Onigmo"
-SRC_URI="https://github.com/k-takata/${PN^o}/releases/download/${P^o}/${P}.tar.gz"
-
-LICENSE="BSD-2"
-SLOT="0/6"
-KEYWORDS="amd64 x86"
-IUSE="combination-explosion-check crnl-as-line-terminator static-libs"
-
-DOCS=( AUTHORS HISTORY README{,.ja} doc/{API,FAQ,RE}{,.ja} doc/UnicodeProps.txt )
-
-src_prepare() {
- default
- eautoreconf
-}
-
-multilib_src_configure() {
- ECONF_SOURCE="${S}" econf \
- $(use_enable combination-explosion-check) \
- $(use_enable crnl-as-line-terminator) \
- $(use_enable static-libs static)
-}
-
-multilib_src_install_all() {
- einstalldocs
- find "${D}" -name "*.la" -delete || die
-}
diff --git a/dev-libs/onigmo/onigmo-6.2.0-r1.ebuild b/dev-libs/onigmo/onigmo-6.2.0-r1.ebuild
new file mode 100644
index 000000000000..66151a7a8e68
--- /dev/null
+++ b/dev-libs/onigmo/onigmo-6.2.0-r1.ebuild
@@ -0,0 +1,35 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools
+
+DESCRIPTION="Onigmo is a regular expressions library forked from Oniguruma"
+HOMEPAGE="https://github.com/k-takata/Onigmo"
+SRC_URI="https://github.com/k-takata/${PN^o}/releases/download/${P^o}/${P}.tar.gz"
+
+LICENSE="BSD-2"
+SLOT="0/6"
+KEYWORDS="amd64 x86"
+IUSE="combination-explosion-check crnl-as-line-terminator"
+
+src_prepare() {
+ default
+
+ eautoreconf
+}
+
+src_configure() {
+ econf \
+ $(use_enable combination-explosion-check) \
+ $(use_enable crnl-as-line-terminator)
+}
+
+src_install() {
+ default
+
+ dodoc doc/{API,FAQ,RE}{,.ja} doc/UnicodeProps.txt
+
+ find "${ED}" -name "*.la" -delete || die
+}
diff --git a/dev-libs/onigmo/onigmo-6.2.0.ebuild b/dev-libs/onigmo/onigmo-6.2.0.ebuild
deleted file mode 100644
index 21ef5b828dbc..000000000000
--- a/dev-libs/onigmo/onigmo-6.2.0.ebuild
+++ /dev/null
@@ -1,34 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-
-inherit autotools multilib-minimal
-
-DESCRIPTION="Onigmo is a regular expressions library forked from Oniguruma"
-HOMEPAGE="https://github.com/k-takata/Onigmo"
-SRC_URI="https://github.com/k-takata/${PN^o}/releases/download/${P^o}/${P}.tar.gz"
-
-LICENSE="BSD-2"
-SLOT="0/6"
-KEYWORDS="amd64 x86"
-IUSE="combination-explosion-check crnl-as-line-terminator static-libs"
-
-DOCS=( AUTHORS HISTORY README{,.ja} doc/{API,FAQ,RE}{,.ja} doc/UnicodeProps.txt )
-
-src_prepare() {
- default
- eautoreconf
-}
-
-multilib_src_configure() {
- ECONF_SOURCE="${S}" econf \
- $(use_enable combination-explosion-check) \
- $(use_enable crnl-as-line-terminator) \
- $(use_enable static-libs static)
-}
-
-multilib_src_install_all() {
- einstalldocs
- find "${D}" -name "*.la" -delete || die
-}
diff --git a/dev-libs/oniguruma/Manifest b/dev-libs/oniguruma/Manifest
index d08915a62ed0..4526f5b9ea8f 100644
--- a/dev-libs/oniguruma/Manifest
+++ b/dev-libs/oniguruma/Manifest
@@ -1 +1,2 @@
-DIST onig-6.9.7.1.tar.gz 935705 BLAKE2B 1042d5b211f53ad8983eb6b4e53beb165bc948bbef9a85ad12578a9237a804e3dcd0a8105914156230ec30e11f2c8a0372c37919cdde7b2be104c66a8b22fb52 SHA512 17711e0d451c41e74cb3f8ab4e78b0181578ef42cb35dc64e87871c82a41909334cb4eeb03eccdccf6904f699e6e82b0dbb54077138225b9b95471fcdeb8c486
+DIST onig-6.9.8.tar.gz 944148 BLAKE2B ee7d91f2d3a7a41d675bcbb9d18490aa3e5a9edb8f3c6e880d27f2218c476499bba21088def41fbb5d500bfb2916af85c2489fca5bd846594fab53ac492531af SHA512 5a3d220961c22cda981bbae06dc383401771362cdf67e4f0b5d2fa8951a03907362edae498f63226287e70715c0abe4acdd22ec3ceb74bbb226234a52c36a4d7
+DIST onig-6.9.9.tar.gz 957444 BLAKE2B d31f4caf5e14477ec1fd40ab764137b49046ac759f487432a129ebdf6da89b128218bb14b08f9359ac0b87286bcd309faa3878b26528926aab6f7d2e25e722b0 SHA512 14d2afd0d2cf86012c9959f221e9a77e7787e709c9dd7295d159e0a9ba89df52fa3edc59f95a6d859c34181e2e2e53e21b932b3eceb4d6ddeb2a3445ef951e95
diff --git a/dev-libs/oniguruma/oniguruma-6.9.7.1.ebuild b/dev-libs/oniguruma/oniguruma-6.9.7.1.ebuild
deleted file mode 100644
index f8569eb11d55..000000000000
--- a/dev-libs/oniguruma/oniguruma-6.9.7.1.ebuild
+++ /dev/null
@@ -1,55 +0,0 @@
-# Copyright 2003-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-
-inherit multilib-minimal
-
-if [[ "${PV}" == "9999" ]]; then
- inherit autotools git-r3
-
- EGIT_REPO_URI="https://github.com/kkos/oniguruma"
-fi
-
-DESCRIPTION="Regular expression library for different character encodings"
-HOMEPAGE="https://github.com/kkos/oniguruma"
-if [[ "${PV}" == "9999" ]]; then
- SRC_URI=""
-else
- SRC_URI="https://github.com/kkos/${PN}/releases/download/v${PV}/onig-${PV}.tar.gz"
-fi
-
-LICENSE="BSD-2"
-SLOT="0/5"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-solaris"
-IUSE="crnl-as-line-terminator static-libs"
-
-BDEPEND=""
-DEPEND=""
-RDEPEND=""
-
-if [[ "${PV}" != "9999" ]]; then
- S="${WORKDIR}/onig-$(ver_cut 1-3)"
-fi
-
-DOCS=(AUTHORS HISTORY README{,_japanese} doc/{API,CALLOUTS.API,CALLOUTS.BUILTIN,FAQ,RE}{,.ja} doc/{SYNTAX.md,UNICODE_PROPERTIES})
-
-src_prepare() {
- default
-
- if [[ "${PV}" == "9999" ]]; then
- eautoreconf
- fi
-}
-
-multilib_src_configure() {
- ECONF_SOURCE="${S}" econf \
- --enable-posix-api \
- $(use_enable crnl-as-line-terminator) \
- $(use_enable static-libs static)
-}
-
-multilib_src_install_all() {
- einstalldocs
- find "${ED}" -name "*.la" -delete || die
-}
diff --git a/dev-libs/oniguruma/oniguruma-6.9.8.ebuild b/dev-libs/oniguruma/oniguruma-6.9.8.ebuild
new file mode 100644
index 000000000000..291f54635157
--- /dev/null
+++ b/dev-libs/oniguruma/oniguruma-6.9.8.ebuild
@@ -0,0 +1,55 @@
+# Copyright 2003-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="8"
+
+inherit multilib-minimal
+
+if [[ "${PV}" == "9999" ]]; then
+ inherit autotools git-r3
+
+ EGIT_REPO_URI="https://github.com/kkos/oniguruma"
+fi
+
+DESCRIPTION="Regular expression library for different character encodings"
+HOMEPAGE="https://github.com/kkos/oniguruma"
+if [[ "${PV}" == "9999" ]]; then
+ SRC_URI=""
+else
+ SRC_URI="https://github.com/kkos/${PN}/releases/download/v${PV}/onig-${PV}.tar.gz"
+fi
+
+LICENSE="BSD-2"
+SLOT="0/5"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+IUSE="crnl-as-line-terminator static-libs"
+
+BDEPEND=""
+DEPEND=""
+RDEPEND=""
+
+if [[ "${PV}" != "9999" ]]; then
+ S="${WORKDIR}/onig-${PV}"
+fi
+
+DOCS=(AUTHORS HISTORY README{,_japanese} doc/{API,CALLOUTS.API,CALLOUTS.BUILTIN,FAQ,RE}{,.ja} doc/{SYNTAX.md,UNICODE_PROPERTIES})
+
+src_prepare() {
+ default
+
+ if [[ "${PV}" == "9999" ]]; then
+ eautoreconf
+ fi
+}
+
+multilib_src_configure() {
+ ECONF_SOURCE="${S}" econf \
+ --enable-posix-api \
+ $(use_enable crnl-as-line-terminator) \
+ $(use_enable static-libs static)
+}
+
+multilib_src_install_all() {
+ einstalldocs
+ find "${ED}" -name "*.la" -delete || die
+}
diff --git a/dev-libs/oniguruma/oniguruma-6.9.9.ebuild b/dev-libs/oniguruma/oniguruma-6.9.9.ebuild
new file mode 100644
index 000000000000..8ec4abdc73c6
--- /dev/null
+++ b/dev-libs/oniguruma/oniguruma-6.9.9.ebuild
@@ -0,0 +1,55 @@
+# Copyright 2003-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="8"
+
+inherit multilib-minimal
+
+if [[ "${PV}" == "9999" ]]; then
+ inherit autotools git-r3
+
+ EGIT_REPO_URI="https://github.com/kkos/oniguruma"
+fi
+
+DESCRIPTION="Regular expression library for different character encodings"
+HOMEPAGE="https://github.com/kkos/oniguruma"
+if [[ "${PV}" == "9999" ]]; then
+ SRC_URI=""
+else
+ SRC_URI="https://github.com/kkos/${PN}/releases/download/v${PV}/onig-${PV}.tar.gz"
+fi
+
+LICENSE="BSD-2"
+SLOT="0/5"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+IUSE="crnl-as-line-terminator static-libs"
+
+BDEPEND=""
+DEPEND=""
+RDEPEND=""
+
+if [[ "${PV}" != "9999" ]]; then
+ S="${WORKDIR}/onig-${PV}"
+fi
+
+DOCS=(AUTHORS HISTORY README{,_japanese} doc/{API,CALLOUTS.API,CALLOUTS.BUILTIN,FAQ,RE}{,.ja} doc/{SYNTAX.md,UNICODE_PROPERTIES})
+
+src_prepare() {
+ default
+
+ if [[ "${PV}" == "9999" ]]; then
+ eautoreconf
+ fi
+}
+
+multilib_src_configure() {
+ ECONF_SOURCE="${S}" econf \
+ --enable-posix-api \
+ $(use_enable crnl-as-line-terminator) \
+ $(use_enable static-libs static)
+}
+
+multilib_src_install_all() {
+ einstalldocs
+ find "${ED}" -name "*.la" -delete || die
+}
diff --git a/dev-libs/oniguruma/oniguruma-9999.ebuild b/dev-libs/oniguruma/oniguruma-9999.ebuild
index 405b066a532a..97f1a28922bd 100644
--- a/dev-libs/oniguruma/oniguruma-9999.ebuild
+++ b/dev-libs/oniguruma/oniguruma-9999.ebuild
@@ -1,7 +1,7 @@
-# Copyright 2003-2020 Gentoo Authors
+# Copyright 2003-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI="7"
+EAPI="8"
inherit multilib-minimal
diff --git a/dev-libs/opencl-clang/Manifest b/dev-libs/opencl-clang/Manifest
index d66790347665..50ef0f399661 100644
--- a/dev-libs/opencl-clang/Manifest
+++ b/dev-libs/opencl-clang/Manifest
@@ -1,3 +1,3 @@
-DIST opencl-clang-11.1.0_pre20201222.tar.gz 77968 BLAKE2B efb1759329869eda69cb2e001afe27180d69f030b980cd45f137a34ca54be0bb41849a447dff8a28f20dbe3e7ed66204bcf54a62caef9efcecea815b25951f9e SHA512 46e904855122e24f6214748186d40ba3f85c14169403a192bd28b8d5faf68afeca36a424609ee7c94ddaa5aa0d8b1268bf89ce9cc255933093d71f587889e3e4
-DIST opencl-clang-12.0.0.tar.gz 25292 BLAKE2B 6979ce3f37b0e29e6b7ca9b015c04af6e01ceb6381158492a928d805b26b9bddf00b7a7a3edd987924f1c3a8ad914b7d6e9d9fea22b12166afceb25365edae6c SHA512 7fa05480b10be97dd784b8fb7579a2471cf3a904facd9949a980602085515bb3d42a042c74db80381771ad18f78bed2efdcb09538a865ac4a600d6190b8f9c31
-DIST opencl-clang-13.0.0.tar.gz 25299 BLAKE2B 1aabb4a97ba0bfd6129ea2b821508457de9d8ab78b4456217d655239081f8547e87730f54f05511e1a3ca6c54836fad5cb0cf69f26ac5ffd86ff6ae930f5e2dc SHA512 d346e51339060795d80bdf9d3e3b58e55b089d94ed3c0bc3c7e1e8f81a5f65238d90dacc95ec27e8db7d38a6a03b05df5c4120e9ba0ec72a7bbca28a59d697f7
+DIST opencl-clang-15.0.0.tar.gz 26212 BLAKE2B 02d3a8eb3964b6882bd94b676b4459412c753ac38e1e3012662021e98a8219225eaf6af4f62f4e0e97de428f55b0b698374dc39babff09a0fcc73213d5daacfe SHA512 a2ffce43493793524e9512be2e7bd46c0183b86b35a6f79018d355d07a83303a944e6dacebfb768e88ce75a7020a44939be872a2d4e754544198a9829f4febd4
+DIST opencl-clang-16.0.0.tar.gz 28413 BLAKE2B c99f043171186f5d9e44618d5d637d6a5c7997f22577491f544e78d93edd5afe74ba88eaaea92a931dd87af71fb630fdf03d27f1a9f55d7c3b8bdf53dee54b07 SHA512 bf723edab7dc7a028eb79d01fd2306690a2169472760bf2783d593ffec4eb788f28f184c66b204cc074cb95a4149fcc63a1dcbee5563c620a9dc2c76bb5a2d5a
+DIST opencl-clang-17.0.0.tar.gz 28436 BLAKE2B dd86255e757d290fb0417d966098ad00ceb0440c83fa79d8bdaadc7ee9964b13810d27f93740f4b00b9c0e16e5c9b29213800d98042b6c211b45a9cd1402f038 SHA512 920e19c9c36fef1752bce46a1a240bfc0cdd22c09e5840520508c67ecd965524f5c1ce04d8879af146670377f758d3f457a8263338b84b6833e8916f10566698
diff --git a/dev-libs/opencl-clang/files/opencl-clang-10.0.0.1_find-llvm-tblgen.patch b/dev-libs/opencl-clang/files/opencl-clang-10.0.0.1_find-llvm-tblgen.patch
deleted file mode 100644
index bf013c33a596..000000000000
--- a/dev-libs/opencl-clang/files/opencl-clang-10.0.0.1_find-llvm-tblgen.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -137,7 +137,7 @@
- set (COMPILE_OPTIONS_TD opencl_clang_options.td)
- set (COMPILE_OPTIONS_INC opencl_clang_options.inc)
-
--set(LLVM_TABLEGEN_EXE "llvm-tblgen")
-+find_program(LLVM_TABLEGEN_EXE "llvm-tblgen")
- set(LLVM_TARGET_DEFINITIONS ${COMPILE_OPTIONS_TD})
- if(USE_PREBUILT_LLVM)
- set(TABLEGEN_ADDITIONAL -I ${LLVM_INCLUDE_DIRS})
diff --git a/dev-libs/opencl-clang/files/opencl-clang-11.1.0_version.patch b/dev-libs/opencl-clang/files/opencl-clang-11.1.0_version.patch
deleted file mode 100644
index 6df90f21a059..000000000000
--- a/dev-libs/opencl-clang/files/opencl-clang-11.1.0_version.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -20,7 +20,7 @@
- add_definitions(-DUSE_PREBUILT_LLVM)
-
- if(NOT PREFERRED_LLVM_VERSION)
-- set(PREFERRED_LLVM_VERSION "11.0.0")
-+ set(PREFERRED_LLVM_VERSION "11.1.0")
- endif(NOT PREFERRED_LLVM_VERSION)
- message(STATUS "Looking for LLVM version ${PREFERRED_LLVM_VERSION}")
- find_package(LLVM ${PREFERRED_LLVM_VERSION} REQUIRED)
diff --git a/dev-libs/opencl-clang/files/opencl-clang-13.0.0_version.patch b/dev-libs/opencl-clang/files/opencl-clang-13.0.0_version.patch
deleted file mode 100644
index 1664960b6608..000000000000
--- a/dev-libs/opencl-clang/files/opencl-clang-13.0.0_version.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -20,7 +20,7 @@
- add_definitions(-DUSE_PREBUILT_LLVM)
-
- if(NOT PREFERRED_LLVM_VERSION)
-- set(PREFERRED_LLVM_VERSION "12.0.0")
-+ set(PREFERRED_LLVM_VERSION "13.0.0")
- endif(NOT PREFERRED_LLVM_VERSION)
- message(STATUS "Looking for LLVM version ${PREFERRED_LLVM_VERSION}")
- find_package(LLVM ${PREFERRED_LLVM_VERSION} REQUIRED)
diff --git a/dev-libs/opencl-clang/files/opencl-clang-16.0.0-clang_library_dir.patch b/dev-libs/opencl-clang/files/opencl-clang-16.0.0-clang_library_dir.patch
new file mode 100644
index 000000000000..227a7be30b50
--- /dev/null
+++ b/dev-libs/opencl-clang/files/opencl-clang-16.0.0-clang_library_dir.patch
@@ -0,0 +1,36 @@
+From 9f50367661bb6345bf7b18102f1e415378afda06 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Franti=C5=A1ek=20Zatloukal?= <Zatloukal.Frantisek@gmail.com>
+Date: Fri, 21 Apr 2023 04:08:11 +0200
+Subject: [PATCH] Support llvm headers in
+ ${CLANG_LIBRARY_DIRS}/clang/${LLVM_VERSION_MAJOR}/ (#419)
+
+Fedora places llvm include files into that directory instead of assumed
+${CLANG_LIBRARY_DIRS}/clang/${LLVM_VERSION_MAJOR}.${LLVM_VERSION_MINOR}.${LLVM_VERSION_PATCH}/include/
+
+Try both, fail horribly when none of them exist
+---
+ cl_headers/CMakeLists.txt | 11 +++++++++--
+ 1 file changed, 9 insertions(+), 2 deletions(-)
+
+diff --git a/cl_headers/CMakeLists.txt b/cl_headers/CMakeLists.txt
+index 86df76f..0223d52 100644
+--- a/cl_headers/CMakeLists.txt
++++ b/cl_headers/CMakeLists.txt
+@@ -19,8 +19,15 @@ add_custom_command(
+ endfunction(copy_file)
+
+ if(USE_PREBUILT_LLVM)
+- set(OPENCL_HEADERS_DIR
+- "${LLVM_LIBRARY_DIRS}/clang/${LLVM_VERSION_MAJOR}.${LLVM_VERSION_MINOR}.${LLVM_VERSION_PATCH}/include/")
++ if(EXISTS "${CLANG_LIBRARY_DIRS}/clang/${LLVM_VERSION_MAJOR}.${LLVM_VERSION_MINOR}.${LLVM_VERSION_PATCH}/")
++ set(OPENCL_HEADERS_DIR
++ "${CLANG_LIBRARY_DIRS}/clang/${LLVM_VERSION_MAJOR}.${LLVM_VERSION_MINOR}.${LLVM_VERSION_PATCH}/include/")
++ elseif(EXISTS "${CLANG_LIBRARY_DIRS}/clang/${LLVM_VERSION_MAJOR}/")
++ set(OPENCL_HEADERS_DIR
++ "${CLANG_LIBRARY_DIRS}/clang/${LLVM_VERSION_MAJOR}/include/")
++ else()
++ message(FATAL_ERROR "[OPENCL-CLANG] Couldn't find prebuilt LLVM include directory.")
++ endif()
+ else(USE_PREBUILT_LLVM)
+ set(OPENCL_HEADERS_DIR "${CLANG_SOURCE_DIR}/lib/Headers")
+ endif(USE_PREBUILT_LLVM)
diff --git a/dev-libs/opencl-clang/files/opencl-clang-16.0.0-cxx17.patch b/dev-libs/opencl-clang/files/opencl-clang-16.0.0-cxx17.patch
new file mode 100644
index 000000000000..aa6c308630e8
--- /dev/null
+++ b/dev-libs/opencl-clang/files/opencl-clang-16.0.0-cxx17.patch
@@ -0,0 +1,23 @@
+From 5491ffa3fde5729074fe804023bd279c56684f77 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Franti=C5=A1ek=20Zatloukal?= <Zatloukal.Frantisek@gmail.com>
+Date: Mon, 24 Apr 2023 10:29:36 +0200
+Subject: [PATCH] Bump CMAKE_CXX_STANDARD to 17 (#416)
+
+Fixes build issues
+---
+ CMakeLists.txt | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index dc471d8..a7d1927 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -58,7 +58,7 @@ if(CMAKE_SOURCE_DIR STREQUAL CMAKE_CURRENT_SOURCE_DIR)
+ ${CMAKE_MODULE_PATH}
+ ${LLVM_CMAKE_DIR})
+
+- set(CMAKE_CXX_STANDARD 14)
++ set(CMAKE_CXX_STANDARD 17)
+ set(CMAKE_CXX_STANDARD_REQUIRED ON)
+
+ option(LLVMSPIRV_INCLUDED_IN_LLVM
diff --git a/dev-libs/opencl-clang/files/opencl-clang-16.0.0-llvm.patch b/dev-libs/opencl-clang/files/opencl-clang-16.0.0-llvm.patch
new file mode 100644
index 000000000000..659a2b90bf6c
--- /dev/null
+++ b/dev-libs/opencl-clang/files/opencl-clang-16.0.0-llvm.patch
@@ -0,0 +1,105 @@
+commit e047ae6bb9cef488781e0b06c5ae9018bacb24c4
+Author: Wenju He <wenju.he@intel.com>
+Date: Thu May 18 16:01:52 2023 +0800
+
+ Revert to use add_llvm_library and revert linking LLVM libraries (#438)
+
+ Add cmake option EXCLUDE_LIBS_FROM_ALL to remove a specific llvm library
+ from llvm 'all'.
+
+ This PR partially reverts 743bd15.
+ This PR addresses #401, #417, #418, #422, and brings back SONAME.
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index a7d1927..be4fefd 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -298,21 +298,23 @@ else()
+ )
+ endif()
+
+-add_library(${TARGET_NAME} SHARED
+- ${TARGET_INCLUDE_FILES}
+- ${TARGET_SOURCE_FILES}
+- $<TARGET_OBJECTS:cl_headers>
+-)
+-
+-# Same CRT compile option are reqiured to avoid link errors on Windows.
+-# MD and MDd are choosed by default for release and debug build in LLVM.
+-# If users set MT or MTd flags, they also need to add the flags for
+-# opencl-clang sources using a custom macro set_msvc_crt_flags.
+-if(COMMAND set_msvc_crt_flags)
+- set_msvc_crt_flags(${TARGET_NAME})
++set(EXCLUDE_LIBS_FROM_ALL "" CACHE STRING "Space-separated list of LLVM libraries to exclude from all")
++llvm_map_components_to_libnames(ALL_LLVM_LIBS all)
++if (NOT "${EXCLUDE_LIBS_FROM_ALL}" STREQUAL "")
++ list(REMOVE_ITEM ALL_LLVM_LIBS ${EXCLUDE_LIBS_FROM_ALL})
+ endif()
++list(APPEND OPENCL_CLANG_LINK_LIBS ${ALL_LLVM_LIBS})
++
++add_llvm_library(${TARGET_NAME} SHARED
++ ${TARGET_INCLUDE_FILES}
++ ${TARGET_SOURCE_FILES}
++ $<TARGET_OBJECTS:cl_headers>
+
+-add_dependencies(${TARGET_NAME} CClangCompileOptions)
++ DEPENDS CClangCompileOptions
++
++ LINK_LIBS
++ ${OPENCL_CLANG_LINK_LIBS}
++ )
+
+ if (WIN32)
+ # Enable compiler generation of Control Flow Guard security checks.
+@@ -328,51 +330,6 @@ elseif(UNIX)
+ LINK_FLAGS " -Wl,--no-undefined")
+ endif(WIN32)
+
+-# Enable new IN_LIST operator.
+-cmake_policy(SET CMP0057 NEW)
+-set(OTHER_LIBRARIES)
+-if ("NVPTX" IN_LIST LLVM_TARGETS_TO_BUILD)
+- list(APPEND OTHER_LIBRARIES LLVMNVPTXCodeGen LLVMNVPTXDesc LLVMNVPTXInfo)
+-endif()
+-if ("AMDGPU" IN_LIST LLVM_TARGETS_TO_BUILD)
+- list(APPEND OTHER_LIBRARIES LLVMAMDGPUCodeGen LLVMAMDGPUAsmParser LLVMAMDGPUDesc LLVMAMDGPUInfo)
+-endif()
+-
+-target_link_libraries( ${TARGET_NAME}
+- LINK_PRIVATE
+- ${OPENCL_CLANG_LINK_LIBS}
+- LLVMX86CodeGen
+- LLVMX86AsmParser
+- LLVMX86Desc
+- LLVMX86Info
+- LLVMX86Disassembler
+- LLVMAnalysis
+- LLVMCodeGen
+- LLVMCore
+- LLVMipo
+- LLVMInstCombine
+- LLVMInstrumentation
+- LLVMMC
+- LLVMMCParser
+- LLVMObjCARCOpts
+- LLVMOption
+- LLVMScalarOpts
+- LLVMSupport
+- LLVMTransformUtils
+- LLVMVectorize
+- LLVMAsmPrinter
+- LLVMSelectionDAG
+- LLVMMCDisassembler
+- LLVMProfileData
+- LLVMObject
+- LLVMBitWriter
+- LLVMIRReader
+- LLVMAsmParser
+- LLVMTarget
+- LLVMBitReader
+- ${OTHER_LIBRARIES}
+- )
+-
+ install(FILES opencl_clang.h
+ DESTINATION include/cclang
+ COMPONENT ${TARGET_NAME})
diff --git a/dev-libs/opencl-clang/files/opencl-clang-16.0.0-standalone-build.patch b/dev-libs/opencl-clang/files/opencl-clang-16.0.0-standalone-build.patch
new file mode 100644
index 000000000000..a85ec58df401
--- /dev/null
+++ b/dev-libs/opencl-clang/files/opencl-clang-16.0.0-standalone-build.patch
@@ -0,0 +1,26 @@
+From 529a9188114bcbd8ed753d2276942384fa50d7a1 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Franti=C5=A1ek=20Zatloukal?= <Zatloukal.Frantisek@gmail.com>
+Date: Fri, 21 Apr 2023 04:07:21 +0200
+Subject: [PATCH] Fix standalone build (#415)
+
+Fixes https://github.com/intel/opencl-clang/issues/406
+Fixes https://github.com/intel/opencl-clang/issues/374
+---
+ cl_headers/CMakeLists.txt | 6 +++++-
+ 1 file changed, 5 insertions(+), 1 deletion(-)
+
+diff --git a/cl_headers/CMakeLists.txt b/cl_headers/CMakeLists.txt
+index 788adff..86df76f 100644
+--- a/cl_headers/CMakeLists.txt
++++ b/cl_headers/CMakeLists.txt
+@@ -1,5 +1,9 @@
+ set(CL_HEADERS_LIB cl_headers)
+-set(CLANG_COMMAND $<TARGET_FILE:clang> )
++if(USE_PREBUILT_LLVM)
++ find_program(CLANG_COMMAND clang PATHS ${LLVM_TOOLS_BINARY_DIR} NO_DEFAULT_PATH)
++else()
++ set(CLANG_COMMAND $<TARGET_FILE:clang>)
++endif()
+ if(LLVM_USE_HOST_TOOLS AND NOT OPENCL_CLANG_BUILD_EXTERNAL)
+ build_native_tool(clang CLANG_COMMAND)
+ endif()
diff --git a/dev-libs/opencl-clang/files/opencl-clang-17.0.0-clang_library_dir.patch b/dev-libs/opencl-clang/files/opencl-clang-17.0.0-clang_library_dir.patch
new file mode 100644
index 000000000000..dd72e7210410
--- /dev/null
+++ b/dev-libs/opencl-clang/files/opencl-clang-17.0.0-clang_library_dir.patch
@@ -0,0 +1,19 @@
+--- a/cl_headers/CMakeLists.txt
++++ b/cl_headers/CMakeLists.txt
+@@ -19,12 +19,12 @@
+ endfunction(copy_file)
+
+ if(USE_PREBUILT_LLVM)
+- if(EXISTS "${LLVM_LIBRARY_DIRS}/clang/${LLVM_VERSION_MAJOR}.${LLVM_VERSION_MINOR}.${LLVM_VERSION_PATCH}/")
++ if(EXISTS "${CLANG_LIBRARY_DIRS}/clang/${LLVM_VERSION_MAJOR}.${LLVM_VERSION_MINOR}.${LLVM_VERSION_PATCH}/")
+ set(OPENCL_HEADERS_DIR
+- "${LLVM_LIBRARY_DIRS}/clang/${LLVM_VERSION_MAJOR}.${LLVM_VERSION_MINOR}.${LLVM_VERSION_PATCH}/include/")
+- elseif(EXISTS "${LLVM_LIBRARY_DIRS}/clang/${LLVM_VERSION_MAJOR}/")
++ "${CLANG_LIBRARY_DIRS}/clang/${LLVM_VERSION_MAJOR}.${LLVM_VERSION_MINOR}.${LLVM_VERSION_PATCH}/include/")
++ elseif(EXISTS "${CLANG_LIBRARY_DIRS}/clang/${LLVM_VERSION_MAJOR}/")
+ set(OPENCL_HEADERS_DIR
+- "${LLVM_LIBRARY_DIRS}/clang/${LLVM_VERSION_MAJOR}/include/")
++ "${CLANG_LIBRARY_DIRS}/clang/${LLVM_VERSION_MAJOR}/include/")
+ else()
+ message(FATAL_ERROR "[OPENCL-CLANG] Couldn't find prebuilt LLVM include directory.")
+ endif()
diff --git a/dev-libs/opencl-clang/metadata.xml b/dev-libs/opencl-clang/metadata.xml
index 93d25671c3c2..8d57fc8b99de 100644
--- a/dev-libs/opencl-clang/metadata.xml
+++ b/dev-libs/opencl-clang/metadata.xml
@@ -1,7 +1,18 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <!-- maintainer-needed -->
+ <maintainer type="person" proxied="yes">
+ <email>gentoo@taujhe.de</email>
+ <name>Jan Henke</name>
+ </maintainer>
+ <maintainer type="project" proxied="proxy">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+ </maintainer>
+ <maintainer type="person">
+ <email>conikost@gentoo.org</email>
+ <name>Conrad Kostecki</name>
+ </maintainer>
<upstream>
<remote-id type="github">intel/opencl-clang</remote-id>
</upstream>
diff --git a/dev-libs/opencl-clang/opencl-clang-11.1.0_pre20201222.ebuild b/dev-libs/opencl-clang/opencl-clang-11.1.0_pre20201222.ebuild
deleted file mode 100644
index 80403ddf333c..000000000000
--- a/dev-libs/opencl-clang/opencl-clang-11.1.0_pre20201222.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
-
-EGIT_COMMIT="c67648d41df00ea8ee9d701d17299b86f86f0321"
-CMAKE_ECLASS=cmake
-
-inherit cmake-multilib llvm
-
-MY_PV="$(ver_rs 3 -)"
-MY_P="${PN}-${MY_PV}"
-
-DESCRIPTION="OpenCL-oriented thin wrapper library around clang"
-HOMEPAGE="https://github.com/intel/opencl-clang"
-SRC_URI="https://github.com/intel/${PN}/archive/${EGIT_COMMIT}.tar.gz -> ${P}.tar.gz"
-S="${WORKDIR}/${PN}-${EGIT_COMMIT}"
-
-LICENSE="UoI-NCSA"
-SLOT="11"
-KEYWORDS="amd64"
-
-# Force a rebuild of this package once clang has been updated from 10.0.0 to 10.0.1
-# in order to work around Bug #743992. Hopefully a one-time thing.
-DEPEND="
- >=dev-util/spirv-llvm-translator-11.0.0:11=[${MULTILIB_USEDEP}]
- ~sys-devel/clang-11.1.0:11=[static-analyzer,${MULTILIB_USEDEP}]
- sys-devel/llvm:11=[${MULTILIB_USEDEP}]
-"
-RDEPEND="${DEPEND}"
-
-LLVM_MAX_SLOT=11
-
-PATCHES=(
- "${FILESDIR}"/${PN}-8.0.0-clang_library_dir.patch
- "${FILESDIR}"/${PN}-10.0.0.1_find-llvm-tblgen.patch
- "${FILESDIR}"/${PN}-11.1.0_version.patch
-)
-
-multilib_src_configure() {
- local mycmakeargs=(
- -DCMAKE_INSTALL_PREFIX="$(get_llvm_prefix ${LLVM_MAX_SLOT})"
- -DCLANG_LIBRARY_DIRS="${EPREFIX}"/usr/lib/clang
- )
- cmake_src_configure
-}
diff --git a/dev-libs/opencl-clang/opencl-clang-12.0.0.ebuild b/dev-libs/opencl-clang/opencl-clang-12.0.0.ebuild
deleted file mode 100644
index a676d51782e7..000000000000
--- a/dev-libs/opencl-clang/opencl-clang-12.0.0.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
-
-CMAKE_ECLASS=cmake
-
-inherit cmake-multilib llvm
-
-DESCRIPTION="OpenCL-oriented thin wrapper library around clang"
-HOMEPAGE="https://github.com/intel/opencl-clang"
-SRC_URI="https://github.com/intel/${PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
-S="${WORKDIR}/${PN}-${PV}"
-
-LICENSE="UoI-NCSA"
-SLOT="12"
-KEYWORDS="amd64"
-
-DEPEND="
- >=dev-util/spirv-llvm-translator-12.0.0:12=[${MULTILIB_USEDEP}]
- >=sys-devel/clang-12.0.0:12=[static-analyzer,${MULTILIB_USEDEP}]
- sys-devel/llvm:12=[${MULTILIB_USEDEP}]
-"
-RDEPEND="${DEPEND}"
-
-LLVM_MAX_SLOT=12
-
-PATCHES=(
- "${FILESDIR}"/${PN}-8.0.0-clang_library_dir.patch
- "${FILESDIR}"/${PN}-10.0.0.1_find-llvm-tblgen.patch
-)
-
-multilib_src_configure() {
- local mycmakeargs=(
- -DCMAKE_INSTALL_PREFIX="$(get_llvm_prefix ${LLVM_MAX_SLOT})"
- -DCLANG_LIBRARY_DIRS="${EPREFIX}"/usr/lib/clang
- )
- cmake_src_configure
-}
diff --git a/dev-libs/opencl-clang/opencl-clang-13.0.0.ebuild b/dev-libs/opencl-clang/opencl-clang-13.0.0.ebuild
deleted file mode 100644
index 1c05a54ecb8e..000000000000
--- a/dev-libs/opencl-clang/opencl-clang-13.0.0.ebuild
+++ /dev/null
@@ -1,40 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-CMAKE_ECLASS=cmake
-
-inherit cmake-multilib llvm
-
-DESCRIPTION="OpenCL-oriented thin wrapper library around clang"
-HOMEPAGE="https://github.com/intel/opencl-clang"
-SRC_URI="https://github.com/intel/${PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
-S="${WORKDIR}/${PN}-${PV}"
-
-LICENSE="UoI-NCSA"
-SLOT="13"
-KEYWORDS="~amd64"
-
-DEPEND="
- >=dev-util/spirv-llvm-translator-13.0.0:13=[${MULTILIB_USEDEP}]
- >=sys-devel/clang-13.0.0:13=[static-analyzer,${MULTILIB_USEDEP}]
- sys-devel/llvm:13=[${MULTILIB_USEDEP}]
-"
-RDEPEND="${DEPEND}"
-
-LLVM_MAX_SLOT=13
-
-PATCHES=(
- "${FILESDIR}"/${PN}-8.0.0-clang_library_dir.patch
- "${FILESDIR}"/${PN}-10.0.0.1_find-llvm-tblgen.patch
- "${FILESDIR}"/${PN}-13.0.0_version.patch
-)
-
-multilib_src_configure() {
- local mycmakeargs=(
- -DCMAKE_INSTALL_PREFIX="$(get_llvm_prefix ${LLVM_MAX_SLOT})"
- -DCLANG_LIBRARY_DIRS="${EPREFIX}"/usr/lib/clang
- )
- cmake_src_configure
-}
diff --git a/dev-libs/opencl-clang/opencl-clang-15.0.0-r1.ebuild b/dev-libs/opencl-clang/opencl-clang-15.0.0-r1.ebuild
new file mode 100644
index 000000000000..3f15a5cc35a3
--- /dev/null
+++ b/dev-libs/opencl-clang/opencl-clang-15.0.0-r1.ebuild
@@ -0,0 +1,39 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+LLVM_COMPAT=( 15 )
+
+inherit cmake llvm-r1
+
+DESCRIPTION="OpenCL-oriented thin wrapper library around clang"
+HOMEPAGE="https://github.com/intel/opencl-clang"
+SRC_URI="https://github.com/intel/${PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/${PN}-${PV}"
+
+LICENSE="UoI-NCSA"
+SLOT="$(ver_cut 1)"
+KEYWORDS="amd64 ~riscv"
+
+RDEPEND="
+ dev-util/spirv-llvm-translator:${SLOT}=
+ $(llvm_gen_dep '
+ sys-devel/clang:${LLVM_SLOT}=[static-analyzer]
+ sys-devel/llvm:${LLVM_SLOT}=
+ ')
+"
+
+DEPEND="${RDEPEND}"
+
+PATCHES=( "${FILESDIR}"/${PN}-8.0.0-clang_library_dir.patch )
+
+src_configure() {
+ local mycmakeargs=(
+ -DCMAKE_INSTALL_PREFIX="$(get_llvm_prefix)"
+ -DCLANG_LIBRARY_DIRS="${EPREFIX}"/usr/lib/clang
+ -Wno-dev
+ )
+
+ cmake_src_configure
+}
diff --git a/dev-libs/opencl-clang/opencl-clang-16.0.0-r2.ebuild b/dev-libs/opencl-clang/opencl-clang-16.0.0-r2.ebuild
new file mode 100644
index 000000000000..55691f305c43
--- /dev/null
+++ b/dev-libs/opencl-clang/opencl-clang-16.0.0-r2.ebuild
@@ -0,0 +1,44 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+LLVM_COMPAT=( 16 )
+
+inherit cmake llvm-r1
+
+DESCRIPTION="OpenCL-oriented thin wrapper library around clang"
+HOMEPAGE="https://github.com/intel/opencl-clang"
+SRC_URI="https://github.com/intel/${PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/${PN}-${PV}"
+
+LICENSE="UoI-NCSA"
+SLOT="$(ver_cut 1)"
+KEYWORDS="amd64 ~riscv"
+
+RDEPEND="
+ dev-util/spirv-llvm-translator:${SLOT}=
+ $(llvm_gen_dep '
+ sys-devel/clang:${LLVM_SLOT}=[static-analyzer]
+ sys-devel/llvm:${LLVM_SLOT}=
+ ')
+"
+
+DEPEND="${RDEPEND}"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-16.0.0-clang_library_dir.patch
+ "${FILESDIR}"/${PN}-16.0.0-cxx17.patch
+ "${FILESDIR}"/${PN}-16.0.0-llvm.patch
+ "${FILESDIR}"/${PN}-16.0.0-standalone-build.patch
+)
+
+src_configure() {
+ local mycmakeargs=(
+ -DCLANG_LIBRARY_DIRS="${EPREFIX}"/usr/lib
+ -DCMAKE_INSTALL_PREFIX="$(get_llvm_prefix)"
+ -Wno-dev
+ )
+
+ cmake_src_configure
+}
diff --git a/dev-libs/opencl-clang/opencl-clang-17.0.0.ebuild b/dev-libs/opencl-clang/opencl-clang-17.0.0.ebuild
new file mode 100644
index 000000000000..d28584d7b154
--- /dev/null
+++ b/dev-libs/opencl-clang/opencl-clang-17.0.0.ebuild
@@ -0,0 +1,42 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+LLVM_COMPAT=( 17 )
+
+inherit cmake llvm-r1
+
+DESCRIPTION="OpenCL-oriented thin wrapper library around clang"
+HOMEPAGE="https://github.com/intel/opencl-clang"
+SRC_URI="https://github.com/intel/${PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/${PN}-${PV}"
+
+LICENSE="UoI-NCSA"
+SLOT="$(ver_cut 1)"
+KEYWORDS="amd64 ~riscv"
+
+RDEPEND="
+ dev-util/spirv-llvm-translator:${SLOT}=
+ $(llvm_gen_dep '
+ sys-devel/clang:${LLVM_SLOT}=[static-analyzer]
+ sys-devel/llvm:${LLVM_SLOT}=
+ ')
+"
+
+DEPEND="${RDEPEND}"
+
+PATCHES=( "${FILESDIR}"/${PN}-17.0.0-clang_library_dir.patch )
+
+src_configure() {
+ local mycmakeargs=(
+ -DCMAKE_INSTALL_PREFIX="$(get_llvm_prefix)"
+ -DCLANG_LIBRARY_DIRS="${EPREFIX}"/usr/lib
+ -DLLVM_VERSION_MAJOR="${LLVM_SLOT}"
+ -DPREFERRED_LLVM_VERSION="${LLVM_SLOT}"
+ -DUSE_PREBUILT_LLVM="ON"
+ -Wno-dev
+ )
+
+ cmake_src_configure
+}
diff --git a/dev-libs/opencl-icd-loader/Manifest b/dev-libs/opencl-icd-loader/Manifest
index b02174df0870..049e67cc4f88 100644
--- a/dev-libs/opencl-icd-loader/Manifest
+++ b/dev-libs/opencl-icd-loader/Manifest
@@ -1,2 +1,2 @@
-DIST opencl-icd-loader-2021.04.29.tar.gz 81650 BLAKE2B 399aa3cf3b3fd5fa5bef94302face8630f7b3485c01000960687f77c823311a28f9f867f929c4c03ec873b724ae02e1ecbbe974fe3ddddf4334064609cb61b51 SHA512 4b57a168fe75cced8162e173bc1f5d32fd11285a0443478f938ace1b88f6422007d05ab6bfb272a28838129122ffcd98d33634a55e82b9df84be0b6d4e609178
-DIST opencl-icd-loader-2021.06.30.tar.gz 81832 BLAKE2B de36c69a46582a468594dd61997d2c3e44f523613b3da4b9c4a20ae764e4be47b00e656f6f79e371dc32174c6be0a827e3a1a8830af92ab552799e2837f62c66 SHA512 baee7fa33fe654034aae60cf9886d79a04f4dc61a1546bfa1016c66bfba103caa9fb7b55ee79854f2f7435afb40c82b1b6ff8022507279dea271ab4d96b0076e
+DIST opencl-icd-loader-2023.04.17.tar.gz 93179 BLAKE2B 056213043095029cdc721d87fc9fb5023f6c593e975b4b069037c8db278317e68517227d2ccea444469baf15412e435de3dd8418f1d010c72a6c1dc252742b87 SHA512 55d1f5ac62da1294bfe4814f2370db0a11636f18afa7da06f04b84b9c1e6ef546846420d27094aaa838eb6cc87197cf6e120a38af0b7ce71297be646a58ecb7b
+DIST opencl-icd-loader-2023.12.14.tar.gz 93193 BLAKE2B 13b0e085dddfd1d3d493dac40984b18b839a58c2a72a8a0684a353391d9fa80888567d97e7de06caa4f0f8255bb9747b88c218ead112dca3c1df971339aded5b SHA512 b30aa0b856e6c73450fc23f768201ac01d3c5519a14305c79127debc6407be656b68ae2bd527bb7225d4268865f7bdf0b384279eb78b2806725d37ab940bf56e
diff --git a/dev-libs/opencl-icd-loader/opencl-icd-loader-2021.04.29.ebuild b/dev-libs/opencl-icd-loader/opencl-icd-loader-2021.04.29.ebuild
deleted file mode 100644
index dc98e27b7a14..000000000000
--- a/dev-libs/opencl-icd-loader/opencl-icd-loader-2021.04.29.ebuild
+++ /dev/null
@@ -1,40 +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
-
-MY_PN="OpenCL-ICD-Loader"
-MY_P="${MY_PN}-${PV}"
-
-DESCRIPTION="Official Khronos OpenCL ICD Loader"
-HOMEPAGE="https://github.com/KhronosGroup/OpenCL-ICD-Loader"
-SRC_URI="https://github.com/KhronosGroup/${MY_PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64 x86"
-IUSE="test"
-
-RESTRICT="!test? ( test )"
-
-DEPEND=">=dev-util/opencl-headers-2021.04.29
- !dev-libs/ocl-icd"
-RDEPEND="${DEPEND}"
-
-S="${WORKDIR}/${MY_P}"
-
-multilib_src_configure() {
- local mycmakeargs=(
- -DBUILD_TESTING=$(usex test)
- -DOPENCL_ICD_LOADER_HEADERS_DIR="${EPREFIX}/usr/include"
- )
- cmake_src_configure
-}
-
-multilib_src_test() {
- OCL_ICD_FILENAMES="${BUILD_DIR}/test/driver_stub/libOpenCLDriverStub.so" \
- cmake_src_test
-}
diff --git a/dev-libs/opencl-icd-loader/opencl-icd-loader-2021.06.30.ebuild b/dev-libs/opencl-icd-loader/opencl-icd-loader-2021.06.30.ebuild
deleted file mode 100644
index 3a69e3949bbb..000000000000
--- a/dev-libs/opencl-icd-loader/opencl-icd-loader-2021.06.30.ebuild
+++ /dev/null
@@ -1,40 +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
-
-MY_PN="OpenCL-ICD-Loader"
-MY_P="${MY_PN}-${PV}"
-
-DESCRIPTION="Official Khronos OpenCL ICD Loader"
-HOMEPAGE="https://github.com/KhronosGroup/OpenCL-ICD-Loader"
-SRC_URI="https://github.com/KhronosGroup/${MY_PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64 x86"
-IUSE="test"
-
-RESTRICT="!test? ( test )"
-
-DEPEND=">=dev-util/opencl-headers-2021.06.30
- !dev-libs/ocl-icd"
-RDEPEND="${DEPEND}"
-
-S="${WORKDIR}/${MY_P}"
-
-multilib_src_configure() {
- local mycmakeargs=(
- -DBUILD_TESTING=$(usex test)
- -DOPENCL_ICD_LOADER_HEADERS_DIR="${EPREFIX}/usr/include"
- )
- cmake_src_configure
-}
-
-multilib_src_test() {
- OCL_ICD_FILENAMES="${BUILD_DIR}/test/driver_stub/libOpenCLDriverStub.so" \
- cmake_src_test
-}
diff --git a/dev-libs/opencl-icd-loader/opencl-icd-loader-2023.04.17.ebuild b/dev-libs/opencl-icd-loader/opencl-icd-loader-2023.04.17.ebuild
new file mode 100644
index 000000000000..4db8dbf965d6
--- /dev/null
+++ b/dev-libs/opencl-icd-loader/opencl-icd-loader-2023.04.17.ebuild
@@ -0,0 +1,44 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake-multilib multibuild prefix
+
+MY_PN="OpenCL-ICD-Loader"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="Official Khronos OpenCL ICD Loader"
+HOMEPAGE="https://github.com/KhronosGroup/OpenCL-ICD-Loader"
+SRC_URI="https://github.com/KhronosGroup/${MY_PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 ppc64 ~riscv x86"
+IUSE="test"
+
+RESTRICT="!test? ( test )"
+
+RDEPEND="!dev-libs/ocl-icd"
+DEPEND="${RDEPEND}
+ >=dev-util/opencl-headers-${PV}"
+
+S="${WORKDIR}/${MY_P}"
+
+src_prepare() {
+ hprefixify loader/icd_platform.h
+ cmake_src_prepare
+}
+
+multilib_src_configure() {
+ local mycmakeargs=(
+ -DBUILD_TESTING=$(usex test)
+ )
+ cmake_src_configure
+}
+
+multilib_src_test() {
+ local -x OCL_ICD_FILENAMES="${BUILD_DIR}/test/driver_stub/libOpenCLDriverStub.so"
+ local -x OCL_ICD_VENDORS="/dev/null"
+ cmake_src_test
+}
diff --git a/dev-libs/opencl-icd-loader/opencl-icd-loader-2023.12.14.ebuild b/dev-libs/opencl-icd-loader/opencl-icd-loader-2023.12.14.ebuild
new file mode 100644
index 000000000000..3531e3631cf7
--- /dev/null
+++ b/dev-libs/opencl-icd-loader/opencl-icd-loader-2023.12.14.ebuild
@@ -0,0 +1,44 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake-multilib multibuild prefix
+
+MY_PN="OpenCL-ICD-Loader"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="Official Khronos OpenCL ICD Loader"
+HOMEPAGE="https://github.com/KhronosGroup/OpenCL-ICD-Loader"
+SRC_URI="https://github.com/KhronosGroup/${MY_PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc64 ~riscv ~x86"
+IUSE="test"
+
+RESTRICT="!test? ( test )"
+
+RDEPEND="!dev-libs/ocl-icd"
+DEPEND="${RDEPEND}
+ >=dev-util/opencl-headers-${PV}"
+
+S="${WORKDIR}/${MY_P}"
+
+src_prepare() {
+ hprefixify loader/icd_platform.h
+ cmake_src_prepare
+}
+
+multilib_src_configure() {
+ local mycmakeargs=(
+ -DBUILD_TESTING=$(usex test)
+ )
+ cmake_src_configure
+}
+
+multilib_src_test() {
+ local -x OCL_ICD_FILENAMES="${BUILD_DIR}/test/driver_stub/libOpenCLDriverStub.so"
+ local -x OCL_ICD_VENDORS="/dev/null"
+ cmake_src_test
+}
diff --git a/dev-libs/openct/openct-0.6.20-r5.ebuild b/dev-libs/openct/openct-0.6.20-r5.ebuild
index b240704e94ee..bcc0ae168c43 100644
--- a/dev-libs/openct/openct-0.6.20-r5.ebuild
+++ b/dev-libs/openct/openct-0.6.20-r5.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
@@ -7,13 +7,12 @@ inherit autotools flag-o-matic udev
DESCRIPTION="library for accessing smart card terminals"
HOMEPAGE="https://github.com/OpenSC/openct/wiki"
-
SRC_URI="mirror://sourceforge/opensc/${PN}/${P}.tar.gz"
-KEYWORDS="~alpha amd64 arm ~hppa ~ia64 ~m68k ~mips ppc ppc64 ~s390 sparc x86"
LICENSE="LGPL-2.1"
SLOT="0"
-IUSE="doc debug pcsc-lite usb"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
+IUSE="doc debug pcsc-lite selinux usb"
DEPEND="
pcsc-lite? ( >=sys-apps/pcsc-lite-1.7.2-r1:= )
@@ -24,8 +23,9 @@ RDEPEND="
${DEPEND}
acct-group/openct
acct-user/openctd
+ selinux? ( sec-policy/selinux-openct )
"
-BDEPEND="doc? ( app-doc/doxygen )"
+BDEPEND="doc? ( app-text/doxygen )"
PATCHES=(
"${FILESDIR}"/${P}-automake.patch
diff --git a/dev-libs/openobex/metadata.xml b/dev-libs/openobex/metadata.xml
index 845fa66f774c..4a0f60cd5772 100644
--- a/dev-libs/openobex/metadata.xml
+++ b/dev-libs/openobex/metadata.xml
@@ -1,10 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <email>bircoph@gentoo.org</email>
- <name>Andrew Savchenko</name>
- </maintainer>
+ <!-- maintainer-needed -->
<use>
<flag name="irda">Enable IrDA support</flag>
</use>
diff --git a/dev-libs/openobex/openobex-1.7.2-r2.ebuild b/dev-libs/openobex/openobex-1.7.2-r2.ebuild
deleted file mode 100644
index 0ca2449f9f24..000000000000
--- a/dev-libs/openobex/openobex-1.7.2-r2.ebuild
+++ /dev/null
@@ -1,43 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit cmake-utils udev
-
-DESCRIPTION="Implementation of the OBEX protocol used for transferring data to mobile devices"
-HOMEPAGE="https://sourceforge.net/projects/openobex/"
-SRC_URI="mirror://sourceforge/${PN}/${PV}/${P}-Source.tar.gz"
-
-LICENSE="GPL-2 LGPL-2.1"
-SLOT="0/2"
-KEYWORDS="amd64 arm ~hppa ppc ppc64 ~sparc x86"
-IUSE="bluetooth doc irda usb"
-
-BDEPEND="
- doc? ( app-doc/doxygen )
- virtual/pkgconfig
-"
-DEPEND="
- bluetooth? ( net-wireless/bluez:= )
- usb? ( virtual/libusb:= )
-"
-RDEPEND="${DEPEND}"
-
-S="${WORKDIR}/${P}-Source"
-
-PATCHES=( "${FILESDIR}/${P}-version.h.patch" )
-DOCS=( AUTHORS ChangeLog README UPGRADING.txt )
-
-src_configure() {
- local mycmakeargs=(
- -DBUILD_DOCUMENTATION=$(usex doc)
- -DOPENOBEX_BLUETOOTH=$(usex bluetooth)
- -DOPENOBEX_IRDA=$(usex irda)
- -DOPENOBEX_USB=$(usex usb)
- -DCMAKE_INSTALL_DOCDIR="${EPREFIX}/usr/share/doc/${PF}"
- )
- use usb && mycmakeargs+=( -DCMAKE_INSTALL_UDEVRULESDIR="$(get_udevdir)/rules.d" )
-
- cmake-utils_src_configure
-}
diff --git a/dev-libs/openobex/openobex-1.7.2-r3.ebuild b/dev-libs/openobex/openobex-1.7.2-r3.ebuild
new file mode 100644
index 000000000000..a1011af44aa0
--- /dev/null
+++ b/dev-libs/openobex/openobex-1.7.2-r3.ebuild
@@ -0,0 +1,43 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake udev
+
+DESCRIPTION="Implementation of the OBEX protocol used for transferring data to mobile devices"
+HOMEPAGE="https://sourceforge.net/projects/openobex/"
+SRC_URI="mirror://sourceforge/${PN}/${PV}/${P}-Source.tar.gz"
+
+LICENSE="GPL-2 LGPL-2.1"
+SLOT="0/2"
+KEYWORDS="amd64 arm ~hppa ppc ppc64 ~sparc x86"
+IUSE="bluetooth doc irda usb"
+
+BDEPEND="
+ doc? ( app-text/doxygen )
+ virtual/pkgconfig
+"
+DEPEND="
+ bluetooth? ( net-wireless/bluez:= )
+ usb? ( virtual/libusb:= )
+"
+RDEPEND="${DEPEND}"
+
+S="${WORKDIR}/${P}-Source"
+
+PATCHES=( "${FILESDIR}/${P}-version.h.patch" )
+DOCS=( AUTHORS ChangeLog README UPGRADING.txt )
+
+src_configure() {
+ local mycmakeargs=(
+ -DBUILD_DOCUMENTATION=$(usex doc)
+ -DOPENOBEX_BLUETOOTH=$(usex bluetooth)
+ -DOPENOBEX_IRDA=$(usex irda)
+ -DOPENOBEX_USB=$(usex usb)
+ -DCMAKE_INSTALL_DOCDIR="${EPREFIX}/usr/share/doc/${PF}"
+ )
+ use usb && mycmakeargs+=( -DCMAKE_INSTALL_UDEVRULESDIR="$(get_udevdir)/rules.d" )
+
+ cmake_src_configure
+}
diff --git a/dev-libs/openpace/Manifest b/dev-libs/openpace/Manifest
new file mode 100644
index 000000000000..42119cdbeff5
--- /dev/null
+++ b/dev-libs/openpace/Manifest
@@ -0,0 +1 @@
+DIST openpace-1.1.3.tar.gz 3472674 BLAKE2B 1b3785935d51c987f2cdc27126de632296690601d7cd5bce6cbc157e7161d0eff0885081d5da81df5a0cfb0616050bda01b7895d9069f4c2a61871f261b1fd4f SHA512 ae6cde02e49f13070cff83393972a3433303f1372acfde295f86e7049d9e8da9e8e9b74a85374ff99d0c15d9c68d3670fd8badc963232712c5cc27c863eb385f
diff --git a/dev-libs/openpace/metadata.xml b/dev-libs/openpace/metadata.xml
new file mode 100644
index 000000000000..c762dd72a1de
--- /dev/null
+++ b/dev-libs/openpace/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>soap@gentoo.org</email>
+ <name>David Seifert</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">frankmorgner/openpace</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/openpace/openpace-1.1.3.ebuild b/dev-libs/openpace/openpace-1.1.3.ebuild
new file mode 100644
index 000000000000..42d9ad5495d6
--- /dev/null
+++ b/dev-libs/openpace/openpace-1.1.3.ebuild
@@ -0,0 +1,46 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools
+
+DESCRIPTION="Cryptographic library for EAC version 2"
+HOMEPAGE="https://frankmorgner.github.io/openpace"
+SRC_URI="https://github.com/frankmorgner/openpace/releases/download/${PV}/${P}.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="0/3"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86"
+
+BDEPEND="
+ dev-util/gengetopt
+ sys-apps/help2man
+ virtual/pkgconfig"
+DEPEND="dev-libs/openssl:="
+RDEPEND="${DEPEND}"
+
+src_prepare() {
+ default
+ eautoreconf
+}
+
+src_configure() {
+ econf \
+ --disable-openssl-install \
+ --disable-go \
+ --disable-java \
+ --disable-python \
+ --disable-ruby
+}
+
+src_compile() {
+ # not running just 1 job causes a race condition that causes a linking error
+ emake -j1
+}
+
+src_install() {
+ default
+
+ find "${ED}" -type f -name '*.la' -delete || die
+}
diff --git a/dev-libs/opensc/Manifest b/dev-libs/opensc/Manifest
index bbd5aee10925..de041bb4fbc4 100644
--- a/dev-libs/opensc/Manifest
+++ b/dev-libs/opensc/Manifest
@@ -1,2 +1,2 @@
-DIST opensc-0.21.0.tar.gz 2210878 BLAKE2B 22b63ca59cb721cdbbda755fa90f5b46fd9e5b6d7768cddbfeaffd58d68adcb145d6d604b334cf778608be9ee5fc98109f98d131d2536e61f79705aa3dbafa6c SHA512 3511b0a04a96e62011c48667e3fd36a1611fe67a89f7626ff056c9c3614f8cabc91c9924a6ca7a8ea50076a128e3967277a0dd624b4fa27c62cefee9fab22646
-DIST opensc-0.22.0.tar.gz 2287020 BLAKE2B 74e4bb6843b640c5a397b820a52180a34159c330f5ecb81af166096f23e2499ef1a4d555b5d71613da57ba121d0f984dcfdc2ba9491f26f826a423725a2321e2 SHA512 70ad5f1219f2ec2a5529a30d8e9955510c77c87d0bc857d5951c7227c75cf9de1c6071f43dd3816a2034123ebd902709793ff776e84d5379fdd54c811ccfaaee
+DIST opensc-0.24.0.tar.gz 2440952 BLAKE2B afacdd151d169dd1840ecd6df1cec99a9805598d7b7af81e17b648f146cd1b3ad1d3dcae19ed94cf8ce0dbbd5b4285af9653af5ef5739d53908ce30a49544adb SHA512 0fd2ea858874ae0b85c8fe8c4b920988693a47ca95b26449a1e95f86e17b76000f236c1f75d63ee133306e01a965155da5e14c1b8a59053b85026ecb58fb97bb
+DIST opensc-0.25.0.tar.gz 2406137 BLAKE2B 07c7de7fa1c258a90b1acbfbc01383f204ad88169ae1d3681f240e881ab80652dc9b04ba452a433576847caa5ef49d35608b3f895e965fec9e79da231ecabab2 SHA512 c220607a543b1fcf7c89e051e7c7ca3908abab6c022818b01a6219becdbad217708fb3c5fe2fe2218ac82be0f174c5694e5fa07c6e0ae540cf3171462a23eee6
diff --git a/dev-libs/opensc/metadata.xml b/dev-libs/opensc/metadata.xml
index 3f7c04bc92c6..67d2c026ef02 100644
--- a/dev-libs/opensc/metadata.xml
+++ b/dev-libs/opensc/metadata.xml
@@ -2,8 +2,8 @@
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
- <email>zlogene@gentoo.org</email>
- <name>Mikle Kolyada</name>
+ <email>soap@gentoo.org</email>
+ <name>David Seifert</name>
</maintainer>
<longdescription>
OpenSC is a library for accessing SmartCard devices. It is also
@@ -19,6 +19,7 @@
<flag name="ctapi">Use CT-API for accessing Smartcard hardware</flag>
<flag name="notify">Enable notifications</flag>
<flag name="openct">Use <pkg>dev-libs/openct</pkg> (and CT-API) for accessing Smartcard hardware</flag>
+ <flag name="pace">Use <pkg>dev-libs/openpace</pkg> for EAC version 2 support</flag>
<flag name="pcsc-lite">Use <pkg>sys-apps/pcsc-lite</pkg> (and PC/SC API) for accessing Smartcard hardware</flag>
<flag name="secure-messaging">Enable secure messaging</flag>
</use>
diff --git a/dev-libs/opensc/opensc-0.21.0-r1.ebuild b/dev-libs/opensc/opensc-0.21.0-r1.ebuild
deleted file mode 100644
index 89df44563264..000000000000
--- a/dev-libs/opensc/opensc-0.21.0-r1.ebuild
+++ /dev/null
@@ -1,65 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit bash-completion-r1 libtool
-
-DESCRIPTION="Libraries and applications to access smartcards"
-HOMEPAGE="https://github.com/OpenSC/OpenSC/wiki"
-SRC_URI="https://github.com/OpenSC/OpenSC/releases/download/${PV}/${P}.tar.gz"
-
-LICENSE="LGPL-2.1"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm ~hppa ~ia64 ~m68k ppc ppc64 ~s390 ~sparc x86"
-IUSE="ctapi doc openct notify +pcsc-lite readline secure-messaging ssl test zlib"
-RESTRICT="!test? ( test )"
-
-RDEPEND="zlib? ( sys-libs/zlib )
- readline? ( sys-libs/readline:0= )
- ssl? ( dev-libs/openssl:0= )
- openct? ( >=dev-libs/openct-0.5.0 )
- pcsc-lite? ( >=sys-apps/pcsc-lite-1.3.0 )
- notify? ( dev-libs/glib:2 )"
-DEPEND="${RDEPEND}
- app-text/docbook-xsl-stylesheets
- dev-libs/libxslt
- test? ( dev-util/cmocka )"
-BDEPEND="virtual/pkgconfig"
-
-REQUIRED_USE="
- pcsc-lite? ( !openct !ctapi )
- openct? ( !pcsc-lite !ctapi )
- ctapi? ( !pcsc-lite !openct )
- || ( pcsc-lite openct ctapi )"
-
-src_prepare() {
- default
- elibtoolize
-}
-
-src_configure() {
- econf \
- --with-completiondir="$(get_bashcompdir)" \
- --disable-openpace \
- --disable-static \
- --disable-strict \
- --enable-man \
- $(use_enable ctapi) \
- $(use_enable doc) \
- $(use_enable notify ) \
- $(use_enable openct) \
- $(use_enable pcsc-lite pcsc) \
- $(use_enable readline) \
- $(use_enable secure-messaging sm) \
- $(use_enable ssl openssl) \
- $(use_enable test cmocka) \
- $(use_enable zlib)
-}
-
-src_install() {
- default
- find "${D}" -name '*.la' -delete || die
- insinto /etc/pkcs11/modules/
- doins "${FILESDIR}/${PN}.module"
-}
diff --git a/dev-libs/opensc/opensc-0.22.0.ebuild b/dev-libs/opensc/opensc-0.22.0.ebuild
deleted file mode 100644
index 40c261f055bc..000000000000
--- a/dev-libs/opensc/opensc-0.22.0.ebuild
+++ /dev/null
@@ -1,65 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit bash-completion-r1 libtool
-
-DESCRIPTION="Libraries and applications to access smartcards"
-HOMEPAGE="https://github.com/OpenSC/OpenSC/wiki"
-SRC_URI="https://github.com/OpenSC/OpenSC/releases/download/${PV}/${P}.tar.gz"
-
-LICENSE="LGPL-2.1"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~m68k ~ppc ~ppc64 ~s390 ~sparc ~x86"
-IUSE="ctapi doc openct notify +pcsc-lite readline secure-messaging ssl test zlib"
-RESTRICT="!test? ( test )"
-
-RDEPEND="zlib? ( sys-libs/zlib )
- readline? ( sys-libs/readline:0= )
- ssl? ( dev-libs/openssl:0= )
- openct? ( >=dev-libs/openct-0.5.0 )
- pcsc-lite? ( >=sys-apps/pcsc-lite-1.3.0 )
- notify? ( dev-libs/glib:2 )"
-DEPEND="${RDEPEND}
- app-text/docbook-xsl-stylesheets
- dev-libs/libxslt
- test? ( dev-util/cmocka )"
-BDEPEND="virtual/pkgconfig"
-
-REQUIRED_USE="
- pcsc-lite? ( !openct !ctapi )
- openct? ( !pcsc-lite !ctapi )
- ctapi? ( !pcsc-lite !openct )
- || ( pcsc-lite openct ctapi )"
-
-src_prepare() {
- default
- elibtoolize
-}
-
-src_configure() {
- econf \
- --with-completiondir="$(get_bashcompdir)" \
- --disable-openpace \
- --disable-static \
- --disable-strict \
- --enable-man \
- $(use_enable ctapi) \
- $(use_enable doc) \
- $(use_enable notify ) \
- $(use_enable openct) \
- $(use_enable pcsc-lite pcsc) \
- $(use_enable readline) \
- $(use_enable secure-messaging sm) \
- $(use_enable ssl openssl) \
- $(use_enable test cmocka) \
- $(use_enable zlib)
-}
-
-src_install() {
- default
- find "${D}" -name '*.la' -delete || die
- insinto /etc/pkcs11/modules/
- doins "${FILESDIR}/${PN}.module"
-}
diff --git a/dev-libs/opensc/opensc-0.24.0.ebuild b/dev-libs/opensc/opensc-0.24.0.ebuild
new file mode 100644
index 000000000000..4168ed5b24be
--- /dev/null
+++ b/dev-libs/opensc/opensc-0.24.0.ebuild
@@ -0,0 +1,76 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools bash-completion-r1
+
+DESCRIPTION="Libraries and applications to access smartcards"
+HOMEPAGE="https://github.com/OpenSC/OpenSC/wiki"
+
+if [[ ${PV} == *9999 ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/OpenSC/OpenSC.git"
+else
+ SRC_URI="https://github.com/OpenSC/OpenSC/releases/download/${PV}/${P}.tar.gz"
+ KEYWORDS="amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~mips ~ppc ppc64 ~riscv ~s390 ~sparc x86"
+fi
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+IUSE="ctapi doc openct notify pace +pcsc-lite readline secure-messaging ssl test zlib"
+RESTRICT="!test? ( test )"
+
+RDEPEND="zlib? ( sys-libs/zlib )
+ readline? ( sys-libs/readline:0= )
+ ssl? ( dev-libs/openssl:0= )
+ openct? ( >=dev-libs/openct-0.5.0 )
+ pace? ( dev-libs/openpace:= )
+ pcsc-lite? ( >=sys-apps/pcsc-lite-1.3.0 )
+ notify? ( dev-libs/glib:2 )"
+DEPEND="${RDEPEND}
+ app-text/docbook-xsl-stylesheets
+ dev-libs/libxslt
+ test? ( dev-util/cmocka )"
+BDEPEND="virtual/pkgconfig"
+
+REQUIRED_USE="
+ pcsc-lite? ( !openct !ctapi )
+ openct? ( !pcsc-lite !ctapi )
+ ctapi? ( !pcsc-lite !openct )
+ || ( pcsc-lite openct ctapi )"
+
+src_prepare() {
+ default
+ eautoreconf
+}
+
+src_configure() {
+ # don't want to run upstream's clang-tidy checks
+ export ac_cv_path_CLANGTIDY=""
+
+ econf \
+ --with-completiondir="$(get_bashcompdir)" \
+ --disable-strict \
+ --enable-man \
+ $(use_enable ctapi) \
+ $(use_enable doc) \
+ $(use_enable notify) \
+ $(use_enable openct) \
+ $(use_enable pace openpace) \
+ $(use_enable pcsc-lite pcsc) \
+ $(use_enable readline) \
+ $(use_enable secure-messaging sm) \
+ $(use_enable ssl openssl) \
+ $(use_enable test cmocka) \
+ $(use_enable zlib)
+}
+
+src_install() {
+ default
+
+ insinto /etc/pkcs11/modules/
+ doins "${FILESDIR}"/opensc.module
+
+ find "${ED}" -name '*.la' -delete || die
+}
diff --git a/dev-libs/opensc/opensc-0.25.0-r1.ebuild b/dev-libs/opensc/opensc-0.25.0-r1.ebuild
new file mode 100644
index 000000000000..cd1b22fb2bc5
--- /dev/null
+++ b/dev-libs/opensc/opensc-0.25.0-r1.ebuild
@@ -0,0 +1,87 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools bash-completion-r1
+
+DESCRIPTION="Libraries and applications to access smartcards"
+HOMEPAGE="https://github.com/OpenSC/OpenSC/wiki"
+
+if [[ ${PV} == *9999 ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/OpenSC/OpenSC.git"
+else
+ SRC_URI="https://github.com/OpenSC/OpenSC/releases/download/${PV}/${P}.tar.gz"
+ KEYWORDS="~alpha ~amd64 arm arm64 ~hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc ~x86"
+fi
+
+LICENSE="LGPL-2.1"
+SLOT="0/11"
+IUSE="ctapi doc openct notify pace +pcsc-lite readline secure-messaging ssl test zlib"
+RESTRICT="!test? ( test )"
+
+RDEPEND="zlib? ( sys-libs/zlib )
+ readline? ( sys-libs/readline:0= )
+ ssl? ( dev-libs/openssl:0= )
+ openct? ( >=dev-libs/openct-0.5.0 )
+ pace? ( dev-libs/openpace:= )
+ pcsc-lite? ( >=sys-apps/pcsc-lite-1.3.0 )
+ notify? ( dev-libs/glib:2 )"
+DEPEND="${RDEPEND}
+ app-text/docbook-xsl-stylesheets
+ dev-libs/libxslt
+ test? (
+ dev-util/cmocka
+ dev-libs/softhsm
+ )"
+BDEPEND="virtual/pkgconfig"
+
+REQUIRED_USE="
+ pcsc-lite? ( !openct !ctapi )
+ openct? ( !pcsc-lite !ctapi )
+ ctapi? ( !pcsc-lite !openct )
+ || ( pcsc-lite openct ctapi )"
+
+src_prepare() {
+ # This test is known to fail, for a long time upstream has carried
+ # version-specific patches which they would update on every version bump.
+ # There doesn't appear to be a permanent solution yet.
+ sed -i "/test-pkcs11-tool-unwrap-wrap-test.sh/d" "tests/Makefile.am" || die
+ default
+ eautoreconf
+}
+
+src_configure() {
+ # don't want to run upstream's clang-tidy checks
+ export ac_cv_path_CLANGTIDY=""
+
+ econf \
+ --with-completiondir="$(get_bashcompdir)" \
+ --disable-strict \
+ --enable-man \
+ $(use_enable ctapi) \
+ $(use_enable doc) \
+ $(use_enable notify) \
+ $(use_enable openct) \
+ $(use_enable pace openpace) \
+ $(use_enable pcsc-lite pcsc) \
+ $(use_enable readline) \
+ $(use_enable secure-messaging sm) \
+ $(use_enable ssl openssl) \
+ $(use_enable test cmocka) \
+ $(use_enable zlib)
+}
+
+src_test() {
+ P11LIB="${ESYSROOT}/usr/$(get_libdir)/softhsm/libsofthsm2.so" default
+}
+
+src_install() {
+ default
+
+ insinto /etc/pkcs11/modules/
+ doins "${FILESDIR}"/opensc.module
+
+ find "${ED}" -name '*.la' -delete || die
+}
diff --git a/dev-libs/opensc/opensc-0.25.0.ebuild b/dev-libs/opensc/opensc-0.25.0.ebuild
new file mode 100644
index 000000000000..18fa3aefc24a
--- /dev/null
+++ b/dev-libs/opensc/opensc-0.25.0.ebuild
@@ -0,0 +1,76 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools bash-completion-r1
+
+DESCRIPTION="Libraries and applications to access smartcards"
+HOMEPAGE="https://github.com/OpenSC/OpenSC/wiki"
+
+if [[ ${PV} == *9999 ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/OpenSC/OpenSC.git"
+else
+ SRC_URI="https://github.com/OpenSC/OpenSC/releases/download/${PV}/${P}.tar.gz"
+ KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+fi
+
+LICENSE="LGPL-2.1"
+SLOT="0/11"
+IUSE="ctapi doc openct notify pace +pcsc-lite readline secure-messaging ssl test zlib"
+RESTRICT="!test? ( test )"
+
+RDEPEND="zlib? ( sys-libs/zlib )
+ readline? ( sys-libs/readline:0= )
+ ssl? ( dev-libs/openssl:0= )
+ openct? ( >=dev-libs/openct-0.5.0 )
+ pace? ( dev-libs/openpace:= )
+ pcsc-lite? ( >=sys-apps/pcsc-lite-1.3.0 )
+ notify? ( dev-libs/glib:2 )"
+DEPEND="${RDEPEND}
+ app-text/docbook-xsl-stylesheets
+ dev-libs/libxslt
+ test? ( dev-util/cmocka )"
+BDEPEND="virtual/pkgconfig"
+
+REQUIRED_USE="
+ pcsc-lite? ( !openct !ctapi )
+ openct? ( !pcsc-lite !ctapi )
+ ctapi? ( !pcsc-lite !openct )
+ || ( pcsc-lite openct ctapi )"
+
+src_prepare() {
+ default
+ eautoreconf
+}
+
+src_configure() {
+ # don't want to run upstream's clang-tidy checks
+ export ac_cv_path_CLANGTIDY=""
+
+ econf \
+ --with-completiondir="$(get_bashcompdir)" \
+ --disable-strict \
+ --enable-man \
+ $(use_enable ctapi) \
+ $(use_enable doc) \
+ $(use_enable notify) \
+ $(use_enable openct) \
+ $(use_enable pace openpace) \
+ $(use_enable pcsc-lite pcsc) \
+ $(use_enable readline) \
+ $(use_enable secure-messaging sm) \
+ $(use_enable ssl openssl) \
+ $(use_enable test cmocka) \
+ $(use_enable zlib)
+}
+
+src_install() {
+ default
+
+ insinto /etc/pkcs11/modules/
+ doins "${FILESDIR}"/opensc.module
+
+ find "${ED}" -name '*.la' -delete || die
+}
diff --git a/dev-libs/opensc/opensc-9999.ebuild b/dev-libs/opensc/opensc-9999.ebuild
new file mode 100644
index 000000000000..7646bcd741c3
--- /dev/null
+++ b/dev-libs/opensc/opensc-9999.ebuild
@@ -0,0 +1,87 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools bash-completion-r1
+
+DESCRIPTION="Libraries and applications to access smartcards"
+HOMEPAGE="https://github.com/OpenSC/OpenSC/wiki"
+
+if [[ ${PV} == *9999 ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/OpenSC/OpenSC.git"
+else
+ SRC_URI="https://github.com/OpenSC/OpenSC/releases/download/${PV}/${P}.tar.gz"
+ KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+fi
+
+LICENSE="LGPL-2.1"
+SLOT="0/11"
+IUSE="ctapi doc openct notify pace +pcsc-lite readline secure-messaging ssl test zlib"
+RESTRICT="!test? ( test )"
+
+RDEPEND="zlib? ( sys-libs/zlib )
+ readline? ( sys-libs/readline:0= )
+ ssl? ( dev-libs/openssl:0= )
+ openct? ( >=dev-libs/openct-0.5.0 )
+ pace? ( dev-libs/openpace:= )
+ pcsc-lite? ( >=sys-apps/pcsc-lite-1.3.0 )
+ notify? ( dev-libs/glib:2 )"
+DEPEND="${RDEPEND}
+ app-text/docbook-xsl-stylesheets
+ dev-libs/libxslt
+ test? (
+ dev-util/cmocka
+ dev-libs/softhsm
+ )"
+BDEPEND="virtual/pkgconfig"
+
+REQUIRED_USE="
+ pcsc-lite? ( !openct !ctapi )
+ openct? ( !pcsc-lite !ctapi )
+ ctapi? ( !pcsc-lite !openct )
+ || ( pcsc-lite openct ctapi )"
+
+src_prepare() {
+ # This test is known to fail, for a long time upstream has carried
+ # version-specific patches which they would update on every version bump.
+ # There doesn't appear to be a permanent solution yet.
+ sed -i "/test-pkcs11-tool-unwrap-wrap-test.sh/d" "tests/Makefile.am" || die
+ default
+ eautoreconf
+}
+
+src_configure() {
+ # don't want to run upstream's clang-tidy checks
+ export ac_cv_path_CLANGTIDY=""
+
+ econf \
+ --with-completiondir="$(get_bashcompdir)" \
+ --disable-strict \
+ --enable-man \
+ $(use_enable ctapi) \
+ $(use_enable doc) \
+ $(use_enable notify) \
+ $(use_enable openct) \
+ $(use_enable pace openpace) \
+ $(use_enable pcsc-lite pcsc) \
+ $(use_enable readline) \
+ $(use_enable secure-messaging sm) \
+ $(use_enable ssl openssl) \
+ $(use_enable test cmocka) \
+ $(use_enable zlib)
+}
+
+src_test() {
+ P11LIB="${ESYSROOT}/usr/$(get_libdir)/softhsm/libsofthsm2.so" default
+}
+
+src_install() {
+ default
+
+ insinto /etc/pkcs11/modules/
+ doins "${FILESDIR}"/opensc.module
+
+ find "${ED}" -name '*.la' -delete || die
+}
diff --git a/dev-libs/openssl-compat/Manifest b/dev-libs/openssl-compat/Manifest
index 1d79926b78ff..6cc3d6b74332 100644
--- a/dev-libs/openssl-compat/Manifest
+++ b/dev-libs/openssl-compat/Manifest
@@ -1,5 +1,6 @@
-DIST openssl-0.9.8zh.tar.gz 3818524 BLAKE2B 610bb4858900983cf4519fa8b63f1e03b3845e39e68884fd8bebd738cd5cd6c2c75513643af49bf9e2294adc446a6516480fe9b62de55d9b6379bf9e7c5cd364 SHA512 b97fa2468211f86c0719c68ad1781eff84f772c479ed5193d6da14bac086b4ca706e7d851209d9df3f0962943b5e5333ab0def00110fb2e517caa73c0c6674c6
DIST openssl-1.0.2-patches-1.5.tar.xz 12404 BLAKE2B 6c1b8c28f339f539b2ab8643379502a24cf62bffde00041dce54d5dd9e8d2620b181362ee5464b0ab32ba4948e209697bfabadbea2944a409a1009100d298f24 SHA512 5725e2d9d1ee8cc074bcef3bed61c71bdab2ff1c114362110c3fb8da11ad5bc8f2ff28e90a293f5f3a5cf96ecda54dffdb7ab3fb3f8b23ef6472250dc3037659
DIST openssl-1.0.2t-bindist-1.0.tar.xz 13872 BLAKE2B b2aade96a6e0ca6209a39e205b1c838de945903fcf959c62cc29ddcd1a0cb360fc5db234df86860a6a4c096f5ecc237611e4c2946b986a5500c24ba93c208ef4 SHA512 a48a7efb9b973b865bcc5009d450b428ed6b4b95e4cefe70c51056e47392c8a7bec58215168d8b07712419dc74646c2bd2fd23bcfbba2031376e292249a6b1b6
DIST openssl-1.0.2u.tar.gz 5355412 BLAKE2B b2ff2a10e5851af5aca4093422a9a072c794e87b997263826c1c35910c040f695fac63decac5856cb49399ed03d410f97701d9fd4e1ebfbcacd8f3a74ce8bf57 SHA512 c455bb309e20e2c2d47fdc5619c734d107d5c8c38c1409903ce979acc120b0d5fa0312917c0aa0d630e402d092a703d4249643f36078e8528a3cafc9dac6ab32
+DIST openssl-1.1.1u.tar.gz 9892176 BLAKE2B 5de9cb856e497596ecba008bad6515eefd093849b9c66dd7447031723996f3ba66ac37a323a5f7d01b1d42df4daaceb523372f5897d5c53b935ffab91c566594 SHA512 d00aeb0b4c4676deff06ff95af7ac33dd683b92f972b4a8ae55cf384bb37c7ec30ab83c6c0745daf87cf1743a745fced6a347fd11fed4c548aa0953610ed4919
+DIST openssl-1.1.1u.tar.gz.asc 833 BLAKE2B 7a978a94264a14be04372fea39868e9177e8a0b0f24344267702022e19ee0f52e91ad141d7c54da870f7ec0df9b2e43b80939f1d274dd0b44d36da2670e3a468 SHA512 40245d65ace95b2002bf64bcba184c92fec3420b08d9f61f3a709c4842e9478595105d8adce33a08eb98d351d2a0989ec342b08cdd9104498ea0543b6e592d28
DIST openssl-compat-1.0.2u-versioned-symbols.patch.gz 24633 BLAKE2B 6bfad4ad27dbca0bd85bfd9521ffc844c3e93e6a1cca7c814edd49affc60ece1c706dd3aa7be2ce80857532531eac6f0f03f43c0be22a769d00d9241686eff71 SHA512 3d85aa34f2491e0e36eedc45829709e0fb552f6d558c2726b59dafa98c3e679b88497f3f7399d7565d88e727591e7d9b12f5b1e27116ba19b9a661d7f75b07a9
diff --git a/dev-libs/openssl-compat/files/gentoo.config-0.9.8 b/dev-libs/openssl-compat/files/gentoo.config-0.9.8
deleted file mode 100644
index e74e87ee8aba..000000000000
--- a/dev-libs/openssl-compat/files/gentoo.config-0.9.8
+++ /dev/null
@@ -1,144 +0,0 @@
-#!/usr/bin/env bash
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-#
-# Openssl doesn't play along nicely with cross-compiling
-# like autotools based projects, so let's teach it new tricks.
-#
-# Review the bundled 'config' script to see why kind of targets
-# we can pass to the 'Configure' script.
-
-
-# Testing routines
-if [[ $1 == "test" ]] ; then
- for c in \
- "arm-gentoo-linux-uclibc |linux-generic32 -DL_ENDIAN" \
- "armv5b-linux-gnu |linux-generic32 -DB_ENDIAN" \
- "x86_64-pc-linux-gnu |linux-x86_64" \
- "alphaev56-unknown-linux-gnu |linux-alpha+bwx-gcc" \
- "i686-pc-linux-gnu |linux-elf" \
- "whatever-gentoo-freebsdX.Y |BSD-generic32" \
- "i686-gentoo-freebsdX.Y |BSD-x86-elf" \
- "sparc64-alpha-freebsdX.Y |BSD-sparc64" \
- "ia64-gentoo-freebsd5.99234 |BSD-ia64" \
- "x86_64-gentoo-freebsdX.Y |BSD-x86_64" \
- "hppa64-aldsF-linux-gnu5.3 |linux-generic32 -DB_ENDIAN" \
- "powerpc-gentOO-linux-uclibc |linux-ppc" \
- "powerpc64-unk-linux-gnu |linux-ppc64" \
- "x86_64-apple-darwinX |darwin64-x86_64-cc" \
- "powerpc64-apple-darwinX |darwin64-ppc-cc" \
- "i686-apple-darwinX |darwin-i386-cc" \
- "i386-apple-darwinX |darwin-i386-cc" \
- "powerpc-apple-darwinX |darwin-ppc-cc" \
- "i586-pc-winnt |winnt-parity" \
- ;do
- CHOST=${c/|*}
- ret_want=${c/*|}
- ret_got=$(CHOST=${CHOST} "$0")
-
- if [[ ${ret_want} == "${ret_got}" ]] ; then
- echo "PASS: ${CHOST}"
- else
- echo "FAIL: ${CHOST}"
- echo -e "\twanted: ${ret_want}"
- echo -e "\twe got: ${ret_got}"
- fi
- done
- exit 0
-fi
-[[ -z ${CHOST} && -n $1 ]] && CHOST=$1
-
-
-# Detect the operating system
-case ${CHOST} in
- *-aix*) system="aix";;
- *-darwin*) system="darwin";;
- *-freebsd*) system="BSD";;
- *-hpux*) system="hpux";;
- *-linux*) system="linux";;
- *-solaris*) system="solaris";;
- *-winnt*) system="winnt";;
- *) exit 0;;
-esac
-
-
-# Compiler munging
-compiler="gcc"
-if [[ ${CC} == "ccc" ]] ; then
- compiler=${CC}
-fi
-
-
-# Detect target arch
-machine=""
-chost_machine=${CHOST%%-*}
-case ${system} in
-linux)
- case ${chost_machine} in
- alphaev56*) machine=alpha+bwx-${compiler};;
- alphaev[678]*)machine=alpha+bwx-${compiler};;
- alpha*) machine=alpha-${compiler};;
- arm*b*) machine="generic32 -DB_ENDIAN";;
- arm*) machine="generic32 -DL_ENDIAN";;
- # hppa64*) machine=parisc64;;
- hppa*) machine="generic32 -DB_ENDIAN";;
- i[0-9]86*) machine=elf;;
- ia64*) machine=ia64;;
- m68*) machine="generic32 -DB_ENDIAN";;
- mips*el*) machine="generic32 -DL_ENDIAN";;
- mips*) machine="generic32 -DB_ENDIAN";;
- powerpc64*) machine=ppc64;;
- powerpc*) machine=ppc;;
- # sh64*) machine=elf;;
- sh*b*) machine="generic32 -DB_ENDIAN";;
- sh*) machine="generic32 -DL_ENDIAN";;
- sparc*v7*) machine="generic32 -DB_ENDIAN";;
- sparc64*) machine=sparcv9;;
- sparc*) machine=sparcv8;;
- s390x*) machine="generic64 -DB_ENDIAN";;
- s390*) machine="generic32 -DB_ENDIAN";;
- x86_64*) machine=x86_64;;
- esac
- ;;
-BSD)
- case ${chost_machine} in
- alpha*) machine=generic64;;
- i[6-9]86*) machine=x86-elf;;
- ia64*) machine=ia64;;
- sparc64*) machine=sparc64;;
- x86_64*) machine=x86_64;;
- *) machine=generic32;;
- esac
- ;;
-aix)
- machine=${compiler}
- ;;
-darwin)
- case ${chost_machine} in
- powerpc64) machine=ppc-cc; system=${system}64;;
- powerpc) machine=ppc-cc;;
- i?86*) machine=i386-cc;;
- x86_64) machine=x86_64-cc; system=${system}64;;
- esac
- ;;
-hpux)
- case ${chost_machine} in
- ia64) machine=ia64-${compiler} ;;
- esac
- ;;
-solaris)
- case ${chost_machine} in
- i386) machine=x86-${compiler} ;;
- x86_64*) machine=x86_64-${compiler}; system=${system}64;;
- sparcv9*) machine=sparcv9-${compiler}; system=${system}64;;
- sparc*) machine=sparcv8-${compiler};;
- esac
- ;;
-winnt)
- machine=parity
- ;;
-esac
-
-
-# If we have something, show it
-[[ -n ${machine} ]] && echo ${system}-${machine}
diff --git a/dev-libs/openssl-compat/files/gentoo.config-1.0.4 b/dev-libs/openssl-compat/files/gentoo.config-1.0.4
new file mode 100644
index 000000000000..573a97de3543
--- /dev/null
+++ b/dev-libs/openssl-compat/files/gentoo.config-1.0.4
@@ -0,0 +1,176 @@
+#!/usr/bin/env bash
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+#
+# Openssl doesn't play along nicely with cross-compiling
+# like autotools based projects, so let's teach it new tricks.
+#
+# Review the bundled 'config' script to see why kind of targets
+# we can pass to the 'Configure' script.
+
+
+# Testing routines
+if [[ $1 == "test" ]] ; then
+ for c in \
+ "arm-gentoo-linux-uclibc |linux-generic32 -DL_ENDIAN" \
+ "armv5b-linux-gnu |linux-armv4 -DB_ENDIAN" \
+ "x86_64-pc-linux-gnu |linux-x86_64" \
+ "alpha-linux-gnu |linux-alpha-gcc" \
+ "alphaev56-unknown-linux-gnu |linux-alpha+bwx-gcc" \
+ "i686-pc-linux-gnu |linux-elf" \
+ "whatever-gentoo-freebsdX.Y |BSD-generic32" \
+ "i686-gentoo-freebsdX.Y |BSD-x86-elf" \
+ "sparc64-alpha-freebsdX.Y |BSD-sparc64" \
+ "ia64-gentoo-freebsd5.99234 |BSD-ia64" \
+ "x86_64-gentoo-freebsdX.Y |BSD-x86_64" \
+ "hppa64-aldsF-linux-gnu5.3 |linux-generic32 -DB_ENDIAN" \
+ "powerpc-gentOO-linux-uclibc |linux-ppc" \
+ "powerpc64-unk-linux-gnu |linux-ppc64" \
+ "powerpc64le-linux-gnu |linux-ppc64le" \
+ "x86_64-apple-darwinX |darwin64-x86_64-cc" \
+ "powerpc64-apple-darwinX |darwin64-ppc-cc" \
+ "i686-apple-darwinX |darwin-i386-cc" \
+ "i386-apple-darwinX |darwin-i386-cc" \
+ "powerpc-apple-darwinX |darwin-ppc-cc" \
+ "i586-pc-winnt |winnt-parity" \
+ "s390-ibm-linux-gnu |linux-generic32 -DB_ENDIAN" \
+ "s390x-linux-gnu |linux64-s390x" \
+ ;do
+ CHOST=${c/|*}
+ ret_want=${c/*|}
+ ret_got=$(CHOST=${CHOST} "$0")
+
+ if [[ ${ret_want} == "${ret_got}" ]] ; then
+ echo "PASS: ${CHOST}"
+ else
+ echo "FAIL: ${CHOST}"
+ echo -e "\twanted: ${ret_want}"
+ echo -e "\twe got: ${ret_got}"
+ fi
+ done
+ exit 0
+fi
+[[ -z ${CHOST} && -n $1 ]] && CHOST=$1
+
+
+# Detect the operating system
+case ${CHOST} in
+ *-aix*) system="aix";;
+ *-darwin*) system="darwin";;
+ *-freebsd*) system="BSD";;
+ *-hpux*) system="hpux";;
+ *-linux*) system="linux";;
+ *-solaris*) system="solaris";;
+ *-winnt*) system="winnt";;
+ x86_64-*-mingw*) system="mingw64";;
+ *mingw*) system="mingw";;
+ *) exit 0;;
+esac
+
+
+# Compiler munging
+compiler="gcc"
+if [[ ${CC} == "ccc" ]] ; then
+ compiler=${CC}
+fi
+
+
+# Detect target arch
+machine=""
+chost_machine=${CHOST%%-*}
+case ${system} in
+linux)
+ case ${chost_machine}:${ABI} in
+ aarch64*be*) machine="aarch64 -DB_ENDIAN";;
+ aarch64*) machine="aarch64 -DL_ENDIAN";;
+ alphaev56*|\
+ alphaev[678]*)machine=alpha+bwx-${compiler};;
+ alpha*) machine=alpha-${compiler};;
+ armv[4-9]*b*) machine="armv4 -DB_ENDIAN";;
+ armv[4-9]*) machine="armv4 -DL_ENDIAN";;
+ arm*b*) machine="generic32 -DB_ENDIAN";;
+ arm*) machine="generic32 -DL_ENDIAN";;
+ avr*) machine="generic32 -DL_ENDIAN";;
+ bfin*) machine="generic32 -DL_ENDIAN";;
+ # hppa64*) machine=parisc64;;
+ hppa*) machine="generic32 -DB_ENDIAN";;
+ i[0-9]86*|\
+ x86_64*:x86) machine=x86;;
+ ia64*) machine=ia64;;
+ loongarch64*) machine="loongarch64 -DL_ENDIAN" system=linux64;;
+ m68*) machine="latomic -DB_ENDIAN";;
+ mips*el*:o32) machine="mips32 -DL_ENDIAN";;
+ mips*:o32) machine="mips32 -DB_ENDIAN";;
+ mips*el*:n32) machine="mips64 -DL_ENDIAN";;
+ mips*:n32) machine="mips64 -DB_ENDIAN";;
+ mips*el*:n64) machine="mips64 -DL_ENDIAN" system=linux64;;
+ mips*:n64) machine="mips64 -DB_ENDIAN" system=linux64;;
+ powerpc64*le*)machine=ppc64le;;
+ powerpc64*) machine=ppc64;;
+ powerpc*le*) machine="generic32 -DL_ENDIAN";;
+ powerpc*) machine=ppc;;
+ riscv32*) machine="generic32 -DL_ENDIAN";;
+ riscv64*) machine="riscv64 -DL_ENDIAN" system=linux64;;
+ # sh64*) machine=elf;;
+ sh*b*) machine="generic32 -DB_ENDIAN";;
+ sh*) machine="generic32 -DL_ENDIAN";;
+ # TODO: Might want to do -mcpu probing like glibc to determine a
+ # better default for sparc-linux-gnu targets. This logic will
+ # break v7 and older systems when they use it.
+ sparc*v7*) machine="generic32 -DB_ENDIAN";;
+ sparc64*) machine=sparcv9 system=linux64;;
+ sparc*v9*) machine=sparcv9;;
+ sparc*v8*) machine=sparcv8;;
+ sparc*) machine=sparcv8;;
+ s390x*) machine=s390x system=linux64;;
+ s390*) machine="generic32 -DB_ENDIAN";;
+ x86_64*:x32) machine=x32;;
+ x86_64*) machine=x86_64;;
+ esac
+ ;;
+BSD)
+ case ${chost_machine} in
+ alpha*) machine=generic64;;
+ i[6-9]86*) machine=x86-elf;;
+ ia64*) machine=ia64;;
+ sparc64*) machine=sparc64;;
+ x86_64*) machine=x86_64;;
+ *) machine=generic32;;
+ esac
+ ;;
+aix)
+ machine=${compiler}
+ ;;
+darwin)
+ case ${chost_machine} in
+ powerpc64) machine=ppc-cc; system=${system}64;;
+ powerpc) machine=ppc-cc;;
+ i?86*) machine=i386-cc;;
+ x86_64) machine=x86_64-cc; system=${system}64;;
+ esac
+ ;;
+hpux)
+ case ${chost_machine} in
+ ia64) machine=ia64-${compiler} ;;
+ esac
+ ;;
+solaris)
+ case ${chost_machine} in
+ i386) machine=x86-${compiler} ;;
+ x86_64*) machine=x86_64-${compiler}; system=${system}64;;
+ sparcv9*) machine=sparcv9-${compiler}; system=${system}64;;
+ sparc*) machine=sparcv8-${compiler};;
+ esac
+ ;;
+winnt)
+ machine=parity
+ ;;
+mingw*)
+ # special case ... no xxx-yyy style name
+ echo ${system}
+ ;;
+esac
+
+
+# If we have something, show it
+[[ -n ${machine} ]] && echo ${system}-${machine}
diff --git a/dev-libs/openssl-compat/files/openssl-0.9.8e-bsd-sparc64.patch b/dev-libs/openssl-compat/files/openssl-0.9.8e-bsd-sparc64.patch
deleted file mode 100644
index a798164a9069..000000000000
--- a/dev-libs/openssl-compat/files/openssl-0.9.8e-bsd-sparc64.patch
+++ /dev/null
@@ -1,25 +0,0 @@
---- a/Configure
-+++ b/Configure
-@@ -365,7 +365,7 @@
- # -DMD32_REG_T=int doesn't actually belong in sparc64 target, it
- # simply *happens* to work around a compiler bug in gcc 3.3.3,
- # triggered by RIPEMD160 code.
--"BSD-sparc64", "gcc:-DB_ENDIAN -DTERMIOS -O3 -DMD32_REG_T=int -Wall::${BSDthreads}:::SIXTY_FOUR_BIT_LONG RC2_CHAR RC4_CHUNK DES_INT DES_PTR DES_RISC2 BF_PTR:::des_enc-sparc.o fcrypt_b.o:::::::::dlfcn:bsd-gcc-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
-+"BSD-sparc64", "gcc:-DB_ENDIAN -DTERMIOS -O3 -DMD32_REG_T=int -Wall::${BSDthreads}:ULTRASPARC::SIXTY_FOUR_BIT_LONG RC2_CHAR RC4_CHUNK DES_INT DES_PTR DES_RISC2 BF_PTR:::des_enc-sparc.o fcrypt_b.o:::::::::dlfcn:bsd-gcc-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
- "BSD-ia64", "gcc:-DL_ENDIAN -DTERMIOS -O3 -Wall::${BSDthreads}:::SIXTY_FOUR_BIT_LONG RC4_CHUNK:${ia64_asm}:dlfcn:bsd-gcc-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
- "BSD-x86_64", "gcc:-DL_ENDIAN -DTERMIOS -O3 -DMD32_REG_T=int -Wall::${BSDthreads}:::SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_INT DES_UNROLL:${x86_64_asm}:dlfcn:bsd-gcc-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
-
-
-the -B flag is a no-op nowadays
-
---- a/crypto/des/Makefile
-+++ b/crypto/des/Makefile
-@@ -62,7 +62,7 @@
- $(CC) $(CFLAGS) -o des des.o cbc3_enc.o $(LIB)
-
- des_enc-sparc.S: asm/des_enc.m4
-- m4 -B 8192 asm/des_enc.m4 > des_enc-sparc.S
-+ m4 asm/des_enc.m4 > des_enc-sparc.S
-
- # ELF
- dx86-elf.s: asm/des-586.pl ../perlasm/x86asm.pl ../perlasm/cbc.pl
diff --git a/dev-libs/openssl-compat/files/openssl-0.9.8h-ldflags.patch b/dev-libs/openssl-compat/files/openssl-0.9.8h-ldflags.patch
deleted file mode 100644
index 64cc7bde0504..000000000000
--- a/dev-libs/openssl-compat/files/openssl-0.9.8h-ldflags.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-http://bugs.gentoo.org/181438
-http://bugs.gentoo.org/327421
-https://rt.openssl.org/Ticket/Display.html?id=3332&user=guest&pass=guest
-
-make sure we respect LDFLAGS
-
-also make sure we don't add useless -rpath flags to the system libdir
-
---- openssl-0.9.8h/Makefile.org
-+++ openssl-0.9.8h/Makefile.org
-@@ -180,6 +181,7 @@
- MAKEDEPEND='$$$${TOP}/util/domd $$$${TOP} -MD ${MAKEDEPPROG}' \
- DEPFLAG='-DOPENSSL_NO_DEPRECATED ${DEPFLAG}' \
- MAKEDEPPROG='${MAKEDEPPROG}' \
-+ LDFLAGS='${LDFLAGS}' \
- SHARED_LDFLAGS='${SHARED_LDFLAGS}' \
- KRB5_INCLUDES='${KRB5_INCLUDES}' LIBKRB5='${LIBKRB5}' \
- EXE_EXT='${EXE_EXT}' SHARED_LIBS='${SHARED_LIBS}' \
---- openssl-0.9.8h/Makefile.shared
-+++ openssl-0.9.8h/Makefile.shared
-@@ -153,7 +153,7 @@
- NOALLSYMSFLAGS='-Wl,--no-whole-archive'; \
- SHAREDFLAGS="$(CFLAGS) $(SHARED_LDFLAGS) -shared -Wl,-Bsymbolic -Wl,-soname=$$SHLIB$$SHLIB_SOVER$$SHLIB_SUFFIX"
-
--DO_GNU_APP=LDFLAGS="$(CFLAGS) -Wl,-rpath,$(LIBRPATH)"
-+DO_GNU_APP=LDFLAGS="$(LDFLAGS) $(CFLAGS)"
-
- #This is rather special. It's a special target with which one can link
- #applications without bothering with any features that have anything to
diff --git a/dev-libs/openssl-compat/files/openssl-0.9.8m-binutils.patch b/dev-libs/openssl-compat/files/openssl-0.9.8m-binutils.patch
deleted file mode 100644
index 9fa79b9a65fb..000000000000
--- a/dev-libs/openssl-compat/files/openssl-0.9.8m-binutils.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-http://bugs.gentoo.org/289130
-
-Ripped from Fedora
-
---- openssl-1.0.0-beta4/crypto/sha/asm/sha1-x86_64.pl.binutils 2009-11-12 15:17:29.000000000 +0100
-+++ openssl-1.0.0-beta4/crypto/sha/asm/sha1-x86_64.pl 2009-11-12 17:24:18.000000000 +0100
-@@ -150,7 +150,7 @@ ___
- sub BODY_20_39 {
- my ($i,$a,$b,$c,$d,$e,$f)=@_;
- my $j=$i+1;
--my $K=($i<40)?0x6ed9eba1:0xca62c1d6;
-+my $K=($i<40)?0x6ed9eba1:-0x359d3e2a;
- $code.=<<___ if ($i<79);
- lea $K($xi,$e),$f
- mov `4*($j%16)`(%rsp),$xi
-@@ -187,7 +187,7 @@ sub BODY_40_59 {
- my ($i,$a,$b,$c,$d,$e,$f)=@_;
- my $j=$i+1;
- $code.=<<___;
-- lea 0x8f1bbcdc($xi,$e),$f
-+ lea -0x70e44324($xi,$e),$f
- mov `4*($j%16)`(%rsp),$xi
- mov $b,$t0
- mov $b,$t1
diff --git a/dev-libs/openssl-compat/files/openssl-0.9.8z_p8-perl-5.26.patch b/dev-libs/openssl-compat/files/openssl-0.9.8z_p8-perl-5.26.patch
deleted file mode 100644
index c932b820425c..000000000000
--- a/dev-libs/openssl-compat/files/openssl-0.9.8z_p8-perl-5.26.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-https://bugs.gentoo.org/639876
-
---- a/crypto/des/asm/des-586.pl
-+++ b/crypto/des/asm/des-586.pl
-@@ -4,7 +4,7 @@
- # Svend Olaf Mikkelsen <svolaf@inet.uni-c.dk>
- #
-
--push(@INC,"perlasm","../../perlasm");
-+push(@INC,".","perlasm","../../perlasm");
- require "x86asm.pl";
- require "cbc.pl";
- require "desboth.pl";
diff --git a/dev-libs/openssl-compat/files/openssl-1.1.0j-parallel_install_fix.patch b/dev-libs/openssl-compat/files/openssl-1.1.0j-parallel_install_fix.patch
new file mode 100644
index 000000000000..c837e208cf6a
--- /dev/null
+++ b/dev-libs/openssl-compat/files/openssl-1.1.0j-parallel_install_fix.patch
@@ -0,0 +1,21 @@
+https://github.com/openssl/openssl/issues/7679
+
+--- a/Configurations/unix-Makefile.tmpl
++++ b/Configurations/unix-Makefile.tmpl
+@@ -77,8 +77,14 @@
+ # to. You're welcome.
+ sub dependmagic {
+ my $target = shift;
+-
+- return "$target: build_generated\n\t\$(MAKE) depend && \$(MAKE) _$target\n_$target";
++ my $magic = <<"_____";
++$target: build_generated depend
++ \$(MAKE) _$target
++_$target
++_____
++ # Remove line ending
++ $magic =~ s|\R$||;
++ return $magic;
+ }
+ '';
+ -}
diff --git a/dev-libs/openssl-compat/files/openssl-1.1.1i-riscv32.patch b/dev-libs/openssl-compat/files/openssl-1.1.1i-riscv32.patch
new file mode 100644
index 000000000000..c94b0323eb43
--- /dev/null
+++ b/dev-libs/openssl-compat/files/openssl-1.1.1i-riscv32.patch
@@ -0,0 +1,61 @@
+From 5b5e2985f355c8e99c196d9ce5d02c15bebadfbc Mon Sep 17 00:00:00 2001
+From: Alistair Francis <alistair.francis@wdc.com>
+Date: Thu, 29 Aug 2019 13:56:21 -0700
+Subject: [PATCH] Add support for io_pgetevents_time64 syscall
+
+32-bit architectures that are y2038 safe don't include syscalls that use
+32-bit time_t. Instead these architectures have suffixed syscalls that
+always use a 64-bit time_t. In the case of the io_getevents syscall the
+syscall has been replaced with the io_pgetevents_time64 syscall instead.
+
+This patch changes the io_getevents() function to use the correct
+syscall based on the avaliable syscalls and the time_t size. We will
+only use the new 64-bit time_t syscall if the architecture is using a
+64-bit time_t. This is to avoid having to deal with 32/64-bit
+conversions and relying on a 64-bit timespec struct on 32-bit time_t
+platforms. As of Linux 5.3 there are no 32-bit time_t architectures
+without __NR_io_getevents. In the future if a 32-bit time_t architecture
+wants to use the 64-bit syscalls we can handle the conversion.
+
+This fixes build failures on 32-bit RISC-V.
+
+Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
+
+Reviewed-by: Richard Levitte <levitte@openssl.org>
+Reviewed-by: Paul Dale <paul.dale@oracle.com>
+(Merged from https://github.com/openssl/openssl/pull/9819)
+---
+ engines/e_afalg.c | 16 ++++++++++++++++
+ 1 file changed, 16 insertions(+)
+
+diff --git a/engines/e_afalg.c b/engines/e_afalg.c
+index dacbe358cb..99516cb1bb 100644
+--- a/engines/e_afalg.c
++++ b/engines/e_afalg.c
+@@ -125,7 +125,23 @@ static ossl_inline int io_getevents(aio_context_t ctx, long min, long max,
+ struct io_event *events,
+ struct timespec *timeout)
+ {
++#if defined(__NR_io_getevents)
+ return syscall(__NR_io_getevents, ctx, min, max, events, timeout);
++#elif defined(__NR_io_pgetevents_time64)
++ /* Let's only support the 64 suffix syscalls for 64-bit time_t.
++ * This simplifies the code for us as we don't need to use a 64-bit
++ * version of timespec with a 32-bit time_t and handle converting
++ * between 64-bit and 32-bit times and check for overflows.
++ */
++ if (sizeof(timeout->tv_sec) == 8)
++ return syscall(__NR_io_pgetevents_time64, ctx, min, max, events, timeout, NULL);
++ else {
++ errno = ENOSYS;
++ return -1;
++ }
++#else
++# error "We require either the io_getevents syscall or __NR_io_pgetevents_time64."
++#endif
+ }
+
+ static void afalg_waitfd_cleanup(ASYNC_WAIT_CTX *ctx, const void *key,
+--
+2.26.2
+
diff --git a/dev-libs/openssl-compat/metadata.xml b/dev-libs/openssl-compat/metadata.xml
index bac0f2af8887..bfc9fa7650db 100644
--- a/dev-libs/openssl-compat/metadata.xml
+++ b/dev-libs/openssl-compat/metadata.xml
@@ -1,20 +1,21 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
-<maintainer type="project">
- <email>base-system@gentoo.org</email>
- <name>Gentoo Base System</name>
-</maintainer>
-<use>
- <flag name="asm">Support assembly hand optimized crypto functions (i.e. faster run time)</flag>
- <flag name="bindist">Disable/Restrict EC algorithms (as they seem to be patented) -- note: changes the ABI</flag>
- <flag name="rfc3779">Enable support for RFC 3779 (X.509 Extensions for IP Addresses and AS Identifiers)</flag>
- <flag name="sslv2">Support for the old/insecure SSLv2 protocol -- note: not required for TLS/https</flag>
- <flag name="sslv3">Support for the old/insecure SSLv3 protocol -- note: not required for TLS/https</flag>
- <flag name="tls-compression">Enable support for discouraged TLS compression</flag>
- <flag name="tls-heartbeat">Enable the Heartbeat Extension in TLS and DTLS</flag>
-</use>
-<upstream>
- <remote-id type="cpe">cpe:/a:openssl:openssl</remote-id>
-</upstream>
+ <maintainer type="project">
+ <email>base-system@gentoo.org</email>
+ <name>Gentoo Base System</name>
+ </maintainer>
+ <use>
+ <flag name="bindist">Disable/Restrict EC algorithms (as they seem to be patented) -- note: changes the ABI</flag>
+ <flag name="rfc3779">Enable support for RFC 3779 (X.509 Extensions for IP Addresses and AS Identifiers)</flag>
+ <flag name="sslv2">Support for the old/insecure SSLv2 protocol -- note: not required for TLS/https</flag>
+ <flag name="sslv3">Support for the old/insecure SSLv3 protocol -- note: not required for TLS/https</flag>
+ <flag name="tls-compression">Enable support for discouraged TLS compression</flag>
+ <flag name="tls-heartbeat">Enable the Heartbeat Extension in TLS and DTLS</flag>
+ <flag name="weak-ssl-ciphers">Build support for SSL/TLS ciphers that are considered "weak"</flag>
+ </use>
+ <upstream>
+ <remote-id type="cpe">cpe:/a:openssl:openssl</remote-id>
+ <remote-id type="github">openssl/openssl</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/dev-libs/openssl-compat/openssl-compat-0.9.8z_p8-r2.ebuild b/dev-libs/openssl-compat/openssl-compat-0.9.8z_p8-r2.ebuild
deleted file mode 100644
index 3b77fd0b9f48..000000000000
--- a/dev-libs/openssl-compat/openssl-compat-0.9.8z_p8-r2.ebuild
+++ /dev/null
@@ -1,165 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-# this ebuild is only for the libcrypto.so.0.9.8 and libssl.so.0.9.8 SONAME for ABI compat
-
-EAPI="6"
-
-inherit flag-o-matic toolchain-funcs multilib-minimal
-
-#PLEVEL=$(printf "\\$(printf '%03o' $((${PV##*_p} + 96)))")
-PLEVEL='h' # _p8 -> tr '[1-9]' '[a-i]' -> 'h'
-MY_PV=${PV/_p*/${PLEVEL}}
-MY_P=openssl-${MY_PV}
-S="${WORKDIR}/${MY_P}"
-DESCRIPTION="Toolkit for SSL v2/v3 and TLS v1"
-HOMEPAGE="https://www.openssl.org/"
-SRC_URI="mirror://openssl/source/${MY_P}.tar.gz"
-
-LICENSE="openssl"
-SLOT="0.9.8"
-KEYWORDS="~alpha amd64 ~arm ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sparc x86"
-IUSE="bindist gmp kerberos cpu_flags_x86_sse2 test tls-compression"
-RESTRICT="!bindist? ( bindist )
- test"
-
-RDEPEND="gmp? ( >=dev-libs/gmp-5.1.3-r1[${MULTILIB_USEDEP}] )
- tls-compression? ( >=sys-libs/zlib-1.2.8-r1[${MULTILIB_USEDEP}] )
- kerberos? ( >=app-crypt/mit-krb5-1.11.4[${MULTILIB_USEDEP}] )
- !=dev-libs/openssl-0.9.8*:0
- !dev-libs/openssl:0.9.8"
-DEPEND="${RDEPEND}
- >=dev-lang/perl-5
- test? (
- sys-apps/diffutils
- sys-devel/bc
- )"
-
-# Do not install any docs
-DOCS=()
-
-PATCHES=(
- "${FILESDIR}"/openssl-0.9.8e-bsd-sparc64.patch
- "${FILESDIR}"/openssl-0.9.8h-ldflags.patch #181438
- "${FILESDIR}"/openssl-0.9.8m-binutils.patch #289130
- "${FILESDIR}"/openssl-0.9.8z_p8-perl-5.26.patch
-)
-
-src_prepare() {
- default
-
- # disable fips in the build
- # make sure the man pages are suffixed #302165
- # don't bother building man pages if they're disabled
- sed -i \
- -e '/DIRS/s: fips : :g' \
- -e '/^MANSUFFIX/s:=.*:=ssl:' \
- -e '/^MAKEDEPPROG/s:=.*:=$(CC):' \
- -e $(has noman FEATURES \
- && echo '/^install:/s:install_docs::' \
- || echo '/^MANDIR=/s:=.*:=/usr/share/man:') \
- Makefile{,.org} \
- || die
- # show the actual commands in the log
- sed -i '/^SET_X/s:=.*:=set -x:' Makefile.shared || die
- # update the enginedir path.
- # punt broken config we don't care about as it fails sanity check.
- sed -i \
- -e '/^"debug-ben-debug-64"/d' \
- -e "/foo.*engines/s|/lib/engines|/$(get_libdir)/engines|" \
- Configure || die
-
- # since we're forcing $(CC) as makedep anyway, just fix
- # the conditional as always-on
- # helps clang (#417795), and versioned gcc (#499818)
- sed -i 's/expr.*MAKEDEPEND.*;/true;/' util/domd || die
-
- # quiet out unknown driver argument warnings since openssl
- # doesn't have well-split CFLAGS and we're making it even worse
- # and 'make depend' uses -Werror for added fun (#417795 again)
- [[ ${CC} == *clang* ]] && append-flags -Qunused-arguments
-
- # allow openssl to be cross-compiled
- cp "${FILESDIR}"/gentoo.config-0.9.8 gentoo.config || die "cp cross-compile failed"
- chmod a+rx gentoo.config || die
-
- append-flags -fno-strict-aliasing
- append-flags -Wa,--noexecstack
-
- sed -i '1s,^:$,#!/usr/bin/perl,' Configure || die #141906
- sed -i '/^"debug-bodo/d' Configure || die # 0.9.8za shipped broken
- ./config --test-sanity || die "I AM NOT SANE"
-
- multilib_copy_sources
-}
-
-multilib_src_configure() {
- unset APPS #197996
- unset SCRIPTS #312551
-
- tc-export CC AR RANLIB
-
- # Clean out patent-or-otherwise-encumbered code
- # Camellia: Royalty Free https://en.wikipedia.org/wiki/Camellia_(cipher)
- # IDEA: Expired https://en.wikipedia.org/wiki/International_Data_Encryption_Algorithm
- # EC: ????????? ??/??/2015 https://en.wikipedia.org/wiki/Elliptic_Curve_Cryptography
- # MDC2: Expired https://en.wikipedia.org/wiki/MDC-2
- # RC5: 5,724,428 03/03/2015 https://en.wikipedia.org/wiki/RC5
-
- use_ssl() { use $1 && echo "enable-${2:-$1} ${*:3}" || echo "no-${2:-$1}" ; }
- echoit() { echo "$@" ; "$@" ; }
-
- local krb5=$(has_version app-crypt/mit-krb5 && echo "MIT" || echo "Heimdal")
-
- local sslout=$(./gentoo.config)
- einfo "Use configuration ${sslout:-(openssl knows best)}"
- local config="Configure"
- [[ -z ${sslout} ]] && config="config"
-
- echoit \
- ./${config} \
- ${sslout} \
- $(use cpu_flags_x86_sse2 || echo "no-sse2") \
- enable-camellia \
- $(use_ssl !bindist ec) \
- enable-idea \
- enable-mdc2 \
- $(use_ssl !bindist rc5) \
- enable-tlsext \
- $(use_ssl gmp gmp -lgmp) \
- $(use_ssl kerberos krb5 --with-krb5-flavor=${krb5}) \
- $(use_ssl tls-compression zlib) \
- --prefix=/usr \
- --openssldir=/etc/ssl \
- shared threads \
- || die "Configure failed"
-
- # Clean out hardcoded flags that openssl uses
- local CFLAG=$(grep ^CFLAG= Makefile | LC_ALL=C sed \
- -e 's:^CFLAG=::' \
- -e 's:-fomit-frame-pointer ::g' \
- -e 's:-O[0-9] ::g' \
- -e 's:-march=[-a-z0-9]* ::g' \
- -e 's:-mcpu=[-a-z0-9]* ::g' \
- -e 's:-m[a-z0-9]* ::g' \
- )
- sed -i \
- -e "/^LIBDIR=/s|=.*|=$(get_libdir)|" \
- -e "/^CFLAG/s|=.*|=${CFLAG} ${CFLAGS}|" \
- -e "/^SHARED_LDFLAGS=/s|$| ${LDFLAGS}|" \
- Makefile || die
-}
-
-multilib_src_compile() {
- # depend is needed to use $confopts
- emake -j1 depend
- emake -j1 build_libs
-}
-
-multilib_src_test() {
- emake -j1 test
-}
-
-multilib_src_install() {
- dolib.so lib{crypto,ssl}.so.0.9.8
-}
diff --git a/dev-libs/openssl-compat/openssl-compat-1.0.2u-r2.ebuild b/dev-libs/openssl-compat/openssl-compat-1.0.2u-r2.ebuild
index ee152f0d89e7..e3f11f7685f4 100644
--- a/dev-libs/openssl-compat/openssl-compat-1.0.2u-r2.ebuild
+++ b/dev-libs/openssl-compat/openssl-compat-1.0.2u-r2.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"
@@ -38,7 +38,7 @@ SRC_URI="mirror://openssl/source/${MY_P}.tar.gz
LICENSE="openssl"
SLOT="1.0.0"
-KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc x86 ~x86-linux"
+KEYWORDS="~alpha amd64 arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc x86 ~x86-linux"
IUSE="+asm bindist gmp kerberos rfc3779 sctp cpu_flags_x86_sse2 sslv2 +sslv3 static-libs test +tls-heartbeat vanilla tls-compression"
RESTRICT="!bindist? ( bindist )
@@ -55,7 +55,7 @@ BDEPEND="
sctp? ( >=net-misc/lksctp-tools-1.0.12 )
test? (
sys-apps/diffutils
- sys-devel/bc
+ app-alternatives/bc
)"
# Do not install any docs
diff --git a/dev-libs/openssl-compat/openssl-compat-1.1.1u.ebuild b/dev-libs/openssl-compat/openssl-compat-1.1.1u.ebuild
new file mode 100644
index 000000000000..49b04530e1d4
--- /dev/null
+++ b/dev-libs/openssl-compat/openssl-compat-1.1.1u.ebuild
@@ -0,0 +1,221 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/openssl.org.asc
+inherit edo flag-o-matic toolchain-funcs multilib-minimal verify-sig
+
+MY_P=openssl-${PV/_/-}
+DESCRIPTION="Full-strength general purpose cryptography library (including SSL and TLS)"
+HOMEPAGE="https://www.openssl.org/"
+SRC_URI="mirror://openssl/source/${MY_P}.tar.gz
+ verify-sig? ( mirror://openssl/source/${MY_P}.tar.gz.asc )"
+S="${WORKDIR}/${MY_P}"
+
+LICENSE="openssl"
+SLOT="$(ver_cut 1-3)"
+if [[ ${PV} != *_pre* ]] ; then
+ KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+fi
+IUSE="+asm rfc3779 sctp cpu_flags_x86_sse2 sslv3 static-libs test tls-compression tls-heartbeat vanilla verify-sig weak-ssl-ciphers"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ !=dev-libs/openssl-1.1.1*:0
+ tls-compression? ( >=sys-libs/zlib-1.2.8-r1[static-libs(+)?,${MULTILIB_USEDEP}] )
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ >=dev-lang/perl-5
+ sctp? ( >=net-misc/lksctp-tools-1.0.12 )
+ test? (
+ sys-apps/diffutils
+ app-alternatives/bc
+ kernel_linux? ( sys-process/procps )
+ )
+ verify-sig? ( >=sec-keys/openpgp-keys-openssl-20230207 )"
+
+# Do not install any docs
+DOCS=()
+
+PATCHES=(
+ # General patches which are suitable to always apply
+ # If they're Gentoo specific, add to USE=-vanilla logic in src_prepare!
+ "${FILESDIR}"/${PN/-compat}-1.1.0j-parallel_install_fix.patch # bug #671602
+ "${FILESDIR}"/${PN/-compat}-1.1.1i-riscv32.patch
+)
+
+pkg_setup() {
+ [[ ${MERGE_TYPE} == binary ]] && return
+
+ # must check in pkg_setup; sysctl doesn't work with userpriv!
+ if use test && use sctp; then
+ # test_ssl_new will fail with "Ensure SCTP AUTH chunks are enabled in kernel"
+ # if sctp.auth_enable is not enabled.
+ local sctp_auth_status=$(sysctl -n net.sctp.auth_enable 2>/dev/null)
+ if [[ -z "${sctp_auth_status}" ]] || [[ ${sctp_auth_status} != 1 ]]; then
+ die "FEATURES=test with USE=sctp requires net.sctp.auth_enable=1!"
+ fi
+ fi
+}
+
+src_prepare() {
+ # Allow openssl to be cross-compiled
+ cp "${FILESDIR}"/gentoo.config-1.0.4 gentoo.config || die
+ chmod a+rx gentoo.config || die
+
+ # Keep this in sync with app-misc/c_rehash
+ SSL_CNF_DIR="/etc/ssl"
+
+ # Make sure we only ever touch Makefile.org and avoid patching a file
+ # that gets blown away anyways by the Configure script in src_configure
+ rm -f Makefile
+
+ if ! use vanilla ; then
+ PATCHES+=(
+ # Add patches which are Gentoo-specific customisations here
+ )
+ fi
+
+ default
+
+ if use test && use sctp && has network-sandbox ${FEATURES}; then
+ einfo "Disabling test '80-test_ssl_new.t' which is known to fail with FEATURES=network-sandbox ..."
+ rm test/recipes/80-test_ssl_new.t || die
+ fi
+
+ # Quiet out unknown driver argument warnings since openssl
+ # doesn't have well-split CFLAGS and we're making it even worse
+ # and 'make depend' uses -Werror for added fun (bug #417795 again)
+ tc-is-clang && append-flags -Qunused-arguments
+
+ # We really, really need to build OpenSSL w/ strict aliasing disabled.
+ # It's filled with violations and it *will* result in miscompiled
+ # code. This has been in the ebuild for > 10 years but even in 2022,
+ # it's still relevant:
+ # - https://github.com/llvm/llvm-project/issues/55255
+ # - https://github.com/openssl/openssl/issues/18225
+ # - https://github.com/openssl/openssl/issues/18663#issuecomment-1181478057
+ # Don't remove the no strict aliasing bits below!
+ filter-flags -fstrict-aliasing
+ append-flags -fno-strict-aliasing
+
+ append-cppflags -DOPENSSL_NO_BUF_FREELISTS
+
+ append-flags $(test-flags-CC -Wa,--noexecstack)
+
+ # Remove test target when FEATURES=test isn't set
+ if ! use test ; then
+ sed \
+ -e '/^$config{dirs}/s@ "test",@@' \
+ -i Configure || die
+ fi
+
+ if use prefix && [[ ${CHOST} == *-solaris* ]] ; then
+ # use GNU ld full option, not to confuse it on Solaris
+ sed -i \
+ -e 's/-Wl,-M,/-Wl,--version-script=/' \
+ -e 's/-Wl,-h,/-Wl,--soname=/' \
+ Configurations/10-main.conf || die
+
+ # fix building on Solaris 10
+ # https://github.com/openssl/openssl/issues/6333
+ sed -i \
+ -e 's/-lsocket -lnsl -ldl/-lsocket -lnsl -ldl -lrt/' \
+ Configurations/10-main.conf || die
+ fi
+
+ local sslout=$(./gentoo.config)
+ einfo "Using configuration: ${sslout:-(openssl knows best)}"
+ local config="perl Configure"
+ [[ -z ${sslout} ]] && config="sh config -v"
+
+ # The config script does stupid stuff to prompt the user. Kill it.
+ sed -i '/stty -icanon min 0 time 50; read waste/d' config || die
+ edo ${config} ${sslout} --test-sanity
+
+ multilib_copy_sources
+}
+
+multilib_src_configure() {
+ # bug #197996
+ unset APPS
+ # bug #312551
+ unset SCRIPTS
+ # bug #311473
+ unset CROSS_COMPILE
+
+ tc-export AR CC CXX RANLIB RC
+
+ use_ssl() { usex $1 "enable-${2:-$1}" "no-${2:-$1}" " ${*:3}" ; }
+
+ local krb5=$(has_version app-crypt/mit-krb5 && echo "MIT" || echo "Heimdal")
+
+ # See if our toolchain supports __uint128_t. If so, it's 64bit
+ # friendly and can use the nicely optimized code paths, bug #460790.
+ #local ec_nistp_64_gcc_128
+ #
+ # Disable it for now though (bug #469976)
+ # Do NOT re-enable without substantial discussion first!
+ #
+ #echo "__uint128_t i;" > "${T}"/128.c
+ #if ${CC} ${CFLAGS} -c "${T}"/128.c -o /dev/null >&/dev/null ; then
+ # ec_nistp_64_gcc_128="enable-ec_nistp_64_gcc_128"
+ #fi
+
+ local sslout=$(./gentoo.config)
+ einfo "Use configuration ${sslout:-(openssl knows best)}"
+ local config="perl Configure"
+ [[ -z ${sslout} ]] && config="sh config -v"
+
+ # "disable-deprecated" option breaks too many consumers.
+ # Don't set it without thorough revdeps testing.
+ # Make sure user flags don't get added *yet* to avoid duplicated
+ # flags.
+ local myeconfargs=(
+ ${sslout}
+
+ $(use cpu_flags_x86_sse2 || echo "no-sse2")
+ enable-camellia
+ enable-ec
+ enable-ec2m
+ enable-sm2
+ enable-srp
+ $(use elibc_musl && echo "no-async")
+ ${ec_nistp_64_gcc_128}
+ enable-idea
+ enable-mdc2
+ enable-rc5
+ $(use_ssl sslv3 ssl3)
+ $(use_ssl sslv3 ssl3-method)
+ $(use_ssl asm)
+ $(use_ssl rfc3779)
+ $(use_ssl sctp)
+ $(use test || echo "no-tests")
+ $(use_ssl tls-compression zlib)
+ $(use_ssl tls-heartbeat heartbeats)
+ $(use_ssl weak-ssl-ciphers)
+
+ --prefix="${EPREFIX}"/usr
+ --openssldir="${EPREFIX}"${SSL_CNF_DIR}
+ --libdir=$(get_libdir)
+
+ shared
+ threads
+ )
+
+ edo ${config} "${myeconfargs[@]}"
+}
+
+multilib_src_compile() {
+ emake all
+}
+
+multilib_src_test() {
+ emake -j1 test
+}
+
+multilib_src_install() {
+ dolib.so lib{crypto,ssl}.so.$(ver_cut 1-2 "${SLOT}")
+}
diff --git a/dev-libs/openssl/Manifest b/dev-libs/openssl/Manifest
index 7a88c27fa7f3..8738e9282251 100644
--- a/dev-libs/openssl/Manifest
+++ b/dev-libs/openssl/Manifest
@@ -1,9 +1,15 @@
DIST openssl-1.0.2-patches-1.5.tar.xz 12404 BLAKE2B 6c1b8c28f339f539b2ab8643379502a24cf62bffde00041dce54d5dd9e8d2620b181362ee5464b0ab32ba4948e209697bfabadbea2944a409a1009100d298f24 SHA512 5725e2d9d1ee8cc074bcef3bed61c71bdab2ff1c114362110c3fb8da11ad5bc8f2ff28e90a293f5f3a5cf96ecda54dffdb7ab3fb3f8b23ef6472250dc3037659
DIST openssl-1.0.2t-bindist-1.0.tar.xz 13872 BLAKE2B b2aade96a6e0ca6209a39e205b1c838de945903fcf959c62cc29ddcd1a0cb360fc5db234df86860a6a4c096f5ecc237611e4c2946b986a5500c24ba93c208ef4 SHA512 a48a7efb9b973b865bcc5009d450b428ed6b4b95e4cefe70c51056e47392c8a7bec58215168d8b07712419dc74646c2bd2fd23bcfbba2031376e292249a6b1b6
DIST openssl-1.0.2u.tar.gz 5355412 BLAKE2B b2ff2a10e5851af5aca4093422a9a072c794e87b997263826c1c35910c040f695fac63decac5856cb49399ed03d410f97701d9fd4e1ebfbcacd8f3a74ce8bf57 SHA512 c455bb309e20e2c2d47fdc5619c734d107d5c8c38c1409903ce979acc120b0d5fa0312917c0aa0d630e402d092a703d4249643f36078e8528a3cafc9dac6ab32
-DIST openssl-1.1.1i-bindist-1.0.tar.xz 18124 BLAKE2B bcbce700676d1d61498ac98281b7ad06f9970d91afa6bfb2c259ab7462b2554be79a1c06759bc7aaeca9948c2f5276bac2c4f42dbc6822669f863444b9913ccd SHA512 1dbb81bcb4cf7e634bb363c7e2bb2590a1fe3fcb6c3b5e377cac3c5241abd116c2a89c516be8e5fd1799ab64375a58052a4df944eeadc87b0b7785da710906d8
-DIST openssl-1.1.1k.tar.gz 9823400 BLAKE2B e9bd90f17bc819c4960d07bbee04346e8a7adb87a764a09d033ef76f1d638c67b180c4f2beb84ec25fbff54ccc9c14c13b9b16a27cac231a5dd22b02635d5cec SHA512 73cd042d4056585e5a9dd7ab68e7c7310a3a4c783eafa07ab0b560e7462b924e4376436a6d38a155c687f6942a881cfc0c1b9394afcde1d8c46bf396e7d51121
-DIST openssl-1.1.1l.tar.gz 9834044 BLAKE2B 9e8739015db63a013c05587e3d164d67c3f65f1f6c5fc75e4592bcd038c036cde88a7bc95fbc1f1b4ed876f6124ca4dabcd4f5dbb45d1b84299f2efe1a59431a SHA512 d9611f393e37577cca05004531388d3e0ebbf714894cab9f95f4903909cd4f45c214faab664c0cbc3ad3cca309d500b9e6d0ecbf9a0a0588d1677dc6b047f9e0
-DIST openssl-1.1.1m.tar.gz 9847315 BLAKE2B 163262933df11afdb7b0c58fbbf0454b05e02951d28ed24e2c530affa18dee884d86555f7314506852ebfcc092bb509b6f9cd33893e30dab67bfb6f5713946eb SHA512 ba0ef99b321546c13385966e4a607734df38b96f6ed45c4c67063a5f8d1482986855279797a6920d9f86c2ec31ce3e104dcc62c37328caacdd78aec59aa66156
-DIST openssl-3.0.0.tar.gz 14978663 BLAKE2B 64721ee958fc47d57a479dffff91be5692d80d10a6727d804f8a9da66fcaea799b67fda8987f9ecdfb2777ec42033c5e8a6a135e30784d6422eb3c65e676abe6 SHA512 1fdf769ef69631eb802671a9e0bb3a01883d58282f651986212983c2d7c9d3499dabe99a6dee0411e997e6fcfa6f682b121b7698596de0d6c78850c2200241b1
-DIST openssl-3.0.1.tar.gz 15011207 BLAKE2B ea1e560cbebbd3fdb560cbd7db518db2f95d1b7a8397435483829eda815e9f74a175693949c3d013205c43c936d703755ca14afba29077570361fca75164a719 SHA512 4eb29386a6c2c47bebc668e68b61872eed1d136e5620d6f8971393ae7dd8d0f640257278735c76adc0c9569a315fdb929c175a2931d52d3fcc4c527ad6a975ce
+DIST openssl-1.1.1w.tar.gz 9893384 BLAKE2B 2fdba6ca0188928ab2f74e606136afca66cfa0467170fa6298ef160b64ac6fdcad1e81e5dd14013ce0e9921d0f7417edec531cd0beaf1196fec704c2c6d48395 SHA512 b4c625fe56a4e690b57b6a011a225ad0cb3af54bd8fb67af77b5eceac55cc7191291d96a660c5b568a08a2fbf62b4612818e7cca1bb95b2b6b4fc649b0552b6d
+DIST openssl-1.1.1w.tar.gz.asc 833 BLAKE2B d990be69ed913509d52b78e7473668429d4485adb29ef03e4612dd0cadbac4f04c7289d8e5baf6f397bcedeaac9f802f18fc719964d882ae0514ed1ca16ae277 SHA512 0f3d7aa48b1cabf8dd43e8108aeed10a4dffb4f5a244d4da9c86ea358b0c8b90c46da561d21e01c567c2f5035d824ed82ec104aad1776b7f33a1be85990e98ef
+DIST openssl-3.0.11.tar.gz 15198318 BLAKE2B e522573aa72c8f6ffef82f20de36178fc6f97a8fee8443df4bf1bd9a6448b315742e9cb698717c1b7d9a91d0768d7ce08d55956ddc415b9dc6cb33fe3a98131b SHA512 393e7262cce0e7980d1cbba861291c8791f6c2a290e9867895c4310ab6e16b449067d8b780ae6081dc8d42529a4f32d545c66e8b1e69d301281d92f1882c85b7
+DIST openssl-3.0.11.tar.gz.asc 833 BLAKE2B e6e2636d5bb5fffb86833e64437fb440bbfd1c4e2bfbfdd72280cf1ce388b70d30eeea56ef6f3bb673e7dcd12020d993ef95f96bf099ded38e8cde4b549b38fa SHA512 3c1fe94fc46861870d99d1edcfe3c151272f7864dde36b66e87a0c79d2289e9ed5cfc48bfa65ba0e88eadcb3cc8307d702e01155f48af8ffc2d4f8fbbf3aa03c
+DIST openssl-3.0.12.tar.gz 15204575 BLAKE2B 1f00e33a5ed64a51cf28f0dbe7d53a9197c1edae7538dea9573394ee4dc03a885483d74b0b47a78b9067e87b4f420b9d7103f351bfec91710c168051cb7148df SHA512 63e003653dd1126c66e278969a626cdf0801b97da8b7076824d661e4a77e1572c3171cf7f006c972b95bcfa284889ee0362d8a46a851f7d8e743e2a1fe593b24
+DIST openssl-3.0.12.tar.gz.asc 833 BLAKE2B 5c7914e0449a1f2fad433544fa637263b237c2637b86960f904a7840ef6bd627728dfa45373e03a6ce7a0a4570d03e1dcd0188059bd5dbcc83d49d10be64dd39 SHA512 072d1572e6cc5240fed69c01b1f7f74958ceba33cec3b0a7f0db5929dc884381320fb737ec6b38f95ef81c855e2d382d7ecd19431a328b08efad70288ec4a964
+DIST openssl-3.0.13.tar.gz 15294843 BLAKE2B 869aa5f70a8c1d0cac6027e9261530df70ab5a8b448c785f5f8ff3f206e742c5364424132d0e109a6449af9b4082c4c179c7103dccb16a4539f776ca834c8ccc SHA512 22f4096781f0b075f5bf81bd39a0f97e111760dfa73b6f858f6bb54968a7847944d74969ae10f9a51cc21a2f4af20d9a4c463649dc824f5e439e196d6764c4f9
+DIST openssl-3.0.13.tar.gz.asc 833 BLAKE2B 519515b6faa505d68ff9acc30db9515fac494145086fa5ad9561c39385a6fabb39ad9de10fedd49c8fc716ec59ea1b13ec5e6b466e549ea9f29b8d0bb74ba7b3 SHA512 c52d97c93d16f3ca2a7026fb25890482b6d86c37b5ab686c56b0e08522743ec4ea3f84afa4deb64b0df0d9a16b557430c4d4139ab42ffcf97d769b61d1e6197c
+DIST openssl-3.1.5.tar.gz 15663524 BLAKE2B a12eb88b0a4f2d927123e0d3ca7d2f80f2bdc867c710d24700fe39b631b93d90c73c3deceff151a9fa818ac88026eb798f3253f22d03c839ab9574086fa61eee SHA512 82e2ac6b3d9b03f8fc66d2ec421246e989eb702eb94586515abfb5afb5300391a0beedf6a2602f61ac10896b41e5608feeeeb4d37714fa17ac0f2ce465249fa9
+DIST openssl-3.1.5.tar.gz.asc 833 BLAKE2B 633502ec0a87074136d7ea42d9ac5f3df53523560d2a97410b5b57d28d916336da95ab5521c10f94202e3a0995331f0e17bdcf8843135634a5d5a95cfafc7b21 SHA512 48187bb8a7bdbd8b76fdcca736d2b03e2a89330b304eefb4e9620f570c741c60f2023307d8619ba1fa101a99223f94895e7be57ced6547a4fb06bd4c3677533a
+DIST openssl-3.2.1.tar.gz 17733249 BLAKE2B 960222e0305166160e5ab000e29650b92063bf726551ee9ad46060166d99738d1e3a5b86fd28b14c8f4fb3a72f5aa70850defb87c02990acff3dbcbdac40b347 SHA512 bab2b2419319f1feffaba4692f03edbf13b44d1090c6e075a2d69dad67a2d51e64e6edbf83456a26c83900a726d20d2c4ee4ead9c94b322fd0b536f3b5a863c4
+DIST openssl-3.2.1.tar.gz.asc 833 BLAKE2B a1d25fe30bf1804d13a8b6b98edf56be5bf744d9e2706f4169455c24efe2e3a361487d00d0d4bac240c3f0170693d77a39dd0d4ee5c792d2247aa00c47e74ebf SHA512 de39516c7b77612f33cdc830a8d13ef6bcd91c03d24a6ed105480f140f9e1ad7049844e234c96a516d62e0e33ce90442ffd0f309ea674884c735f04d8562f372
diff --git a/dev-libs/openssl/files/gentoo.config-1.0.2 b/dev-libs/openssl/files/gentoo.config-1.0.2
index 68d7d0ac1fc1..caa569588f3c 100644
--- a/dev-libs/openssl/files/gentoo.config-1.0.2
+++ b/dev-libs/openssl/files/gentoo.config-1.0.2
@@ -97,6 +97,7 @@ linux)
i[0-9]86*|\
x86_64*:x86) machine=elf;;
ia64*) machine=ia64;;
+ loongarch64*) machine="generic64 -DL_ENDIAN";;
m68*) machine="generic32 -DB_ENDIAN";;
mips*el*) machine="generic32 -DL_ENDIAN";;
mips*) machine="generic32 -DB_ENDIAN";;
diff --git a/dev-libs/openssl/files/gentoo.config-1.0.4 b/dev-libs/openssl/files/gentoo.config-1.0.4
new file mode 100644
index 000000000000..d32ce877a34a
--- /dev/null
+++ b/dev-libs/openssl/files/gentoo.config-1.0.4
@@ -0,0 +1,186 @@
+#!/usr/bin/env bash
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+#
+# Openssl doesn't play along nicely with cross-compiling
+# like autotools based projects, so let's teach it new tricks.
+#
+# Review the bundled 'config' script to see why kind of targets
+# we can pass to the 'Configure' script.
+
+
+# Testing routines
+if [[ $1 == "test" ]] ; then
+ for c in \
+ "arm-gentoo-linux-uclibc |linux-generic32 -DL_ENDIAN" \
+ "armv5b-linux-gnu |linux-armv4 -DB_ENDIAN" \
+ "x86_64-pc-linux-gnu |linux-x86_64" \
+ "alpha-linux-gnu |linux-alpha-gcc" \
+ "alphaev56-unknown-linux-gnu |linux-alpha+bwx-gcc" \
+ "i686-pc-linux-gnu |linux-elf" \
+ "whatever-gentoo-freebsdX.Y |BSD-generic32" \
+ "i686-gentoo-freebsdX.Y |BSD-x86-elf" \
+ "sparc64-alpha-freebsdX.Y |BSD-sparc64" \
+ "ia64-gentoo-freebsd5.99234 |BSD-ia64" \
+ "x86_64-gentoo-freebsdX.Y |BSD-x86_64" \
+ "hppa64-aldsF-linux-gnu5.3 |linux-generic32 -DB_ENDIAN" \
+ "powerpc-gentOO-linux-uclibc |linux-ppc" \
+ "powerpc64-unk-linux-gnu |linux-ppc64" \
+ "powerpc64le-linux-gnu |linux-ppc64le" \
+ "x86_64-apple-darwinX |darwin64-x86_64-cc" \
+ "powerpc64-apple-darwinX |darwin64-ppc-cc" \
+ "i686-apple-darwinX |darwin-i386-cc" \
+ "i386-apple-darwinX |darwin-i386-cc" \
+ "powerpc-apple-darwinX |darwin-ppc-cc" \
+ "arm64-apple-darwinX |darwin-arm64-cc" \
+ "i586-pc-winnt |winnt-parity" \
+ "s390-ibm-linux-gnu |linux-generic32 -DB_ENDIAN" \
+ "s390x-linux-gnu |linux64-s390x" \
+ ;do
+ CHOST=${c/|*}
+ ret_want=${c/*|}
+ ret_got=$(CHOST=${CHOST} "$0")
+
+ if [[ ${ret_want} == "${ret_got}" ]] ; then
+ echo "PASS: ${CHOST}"
+ else
+ echo "FAIL: ${CHOST}"
+ echo -e "\twanted: ${ret_want}"
+ echo -e "\twe got: ${ret_got}"
+ fi
+ done
+ exit 0
+fi
+[[ -z ${CHOST} && -n $1 ]] && CHOST=$1
+
+
+# Detect the operating system
+case ${CHOST} in
+ *-aix*) system="aix";;
+ *-darwin*) system="darwin";;
+ *-freebsd*) system="BSD";;
+ *-hpux*) system="hpux";;
+ *-linux*) system="linux";;
+ *-solaris*) system="solaris";;
+ *-winnt*) system="winnt";;
+ x86_64-*-mingw*) system="mingw64";;
+ *mingw*) system="mingw";;
+ *) exit 0;;
+esac
+
+
+# Compiler munging
+compiler="gcc"
+if [[ ${CC} == "ccc" ]] ; then
+ compiler=${CC}
+fi
+
+
+# Detect target arch
+machine=""
+submachine=""
+chost_machine=${CHOST%%-*}
+[[ ${CC} == *clang* ]] && submachine="-clang"
+case ${system} in
+linux)
+ case ${chost_machine}:${ABI} in
+ aarch64*be*) machine="aarch64 -DB_ENDIAN";;
+ aarch64*) machine="aarch64 -DL_ENDIAN";;
+ alphaev56*|\
+ alphaev[678]*)machine=alpha+bwx-${compiler};;
+ alpha*) machine=alpha-${compiler};;
+ arc64*b*) machine="generic64 -DB_ENDIAN";;
+ arc64*) machine="generic64 -DL_ENDIAN";;
+ arc*b*) machine="generic32 -DB_ENDIAN";;
+ arc*) machine="generic32 -DL_ENDIAN";;
+ armv[4-9]*b*) machine="armv4 -DB_ENDIAN";;
+ armv[4-9]*) machine="armv4 -DL_ENDIAN";;
+ arm*b*) machine="generic32 -DB_ENDIAN";;
+ arm*) machine="generic32 -DL_ENDIAN";;
+ avr*) machine="generic32 -DL_ENDIAN";;
+ bfin*) machine="generic32 -DL_ENDIAN";;
+ # hppa64*) machine=parisc64;;
+ hppa*) machine="generic32 -DB_ENDIAN";;
+ i[0-9]86*|\
+ x86_64*:x86) machine=x86${submachine};;
+ ia64*) machine=ia64;;
+ loongarch64*) machine="loongarch64 -DL_ENDIAN" system=linux64;;
+ m68*) machine="latomic -DB_ENDIAN";;
+ mips*el*:o32) machine="mips32 -DL_ENDIAN";;
+ mips*:o32) machine="mips32 -DB_ENDIAN";;
+ mips*el*:n32) machine="mips64 -DL_ENDIAN";;
+ mips*:n32) machine="mips64 -DB_ENDIAN";;
+ mips*el*:n64) machine="mips64 -DL_ENDIAN" system=linux64;;
+ mips*:n64) machine="mips64 -DB_ENDIAN" system=linux64;;
+ powerpc64*le*)machine=ppc64le;;
+ powerpc64*) machine=ppc64;;
+ powerpc*le*) machine="generic32 -DL_ENDIAN";;
+ powerpc*) machine=ppc;;
+ riscv32be*) machine="generic32 -DB_ENDIAN";;
+ riscv32*) machine="generic32 -DL_ENDIAN";;
+ riscv64be*) machine="riscv64 -DB_ENDIAN" system=linux64;;
+ riscv64*) machine="riscv64 -DL_ENDIAN" system=linux64;;
+ # sh64*) machine=elf;;
+ sh*b*) machine="generic32 -DB_ENDIAN";;
+ sh*) machine="generic32 -DL_ENDIAN";;
+ # TODO: Might want to do -mcpu probing like glibc to determine a
+ # better default for sparc-linux-gnu targets. This logic will
+ # break v7 and older systems when they use it.
+ sparc*v7*) machine="generic32 -DB_ENDIAN";;
+ sparc64*) machine=sparcv9 system=linux64;;
+ sparc*v9*) machine=sparcv9;;
+ sparc*v8*) machine=sparcv8;;
+ sparc*) machine=sparcv8;;
+ s390x*) machine=s390x system=linux64;;
+ s390*) machine="generic32 -DB_ENDIAN";;
+ x86_64*:x32) machine=x32;;
+ x86_64*) machine=x86_64${submachine};;
+ esac
+ ;;
+BSD)
+ case ${chost_machine} in
+ alpha*) machine=generic64;;
+ i[6-9]86*) machine=x86-elf;;
+ ia64*) machine=ia64;;
+ sparc64*) machine=sparc64;;
+ x86_64*) machine=x86_64;;
+ *) machine=generic32;;
+ esac
+ ;;
+aix)
+ machine=${compiler}
+ ;;
+darwin)
+ case ${chost_machine} in
+ powerpc64) machine=ppc-cc; system=${system}64;;
+ powerpc) machine=ppc-cc;;
+ i?86*) machine=i386-cc;;
+ x86_64) machine=x86_64-cc; system=${system}64;;
+ arm64) machine=arm64-cc; system=${system}64;;
+ esac
+ ;;
+hpux)
+ case ${chost_machine} in
+ ia64) machine=ia64-${compiler} ;;
+ esac
+ ;;
+solaris)
+ case ${chost_machine} in
+ i386) machine=x86-${compiler} ;;
+ x86_64*) machine=x86_64-${compiler}; system=${system}64;;
+ sparcv9*) machine=sparcv9-${compiler}; system=${system}64;;
+ sparc*) machine=sparcv8-${compiler};;
+ esac
+ ;;
+winnt)
+ machine=parity
+ ;;
+mingw*)
+ # special case ... no xxx-yyy style name
+ echo ${system}
+ ;;
+esac
+
+
+# If we have something, show it
+[[ -n ${machine} ]] && echo ${system}-${machine}
diff --git a/dev-libs/openssl/files/openssl-3.0.13-CVE-2024-2511.patch b/dev-libs/openssl/files/openssl-3.0.13-CVE-2024-2511.patch
new file mode 100644
index 000000000000..fff4fb72837b
--- /dev/null
+++ b/dev-libs/openssl/files/openssl-3.0.13-CVE-2024-2511.patch
@@ -0,0 +1,141 @@
+https://www.openssl.org/news/secadv/20240408.txt
+https://bugs.gentoo.org/930047
+https://github.com/openssl/openssl/commit/b52867a9f618bb955bed2a3ce3db4d4f97ed8e5d
+https://github.com/openssl/openssl/commit/cc9ece9118eeacccc3571c2ee852f8ba067d0607
+
+From b52867a9f618bb955bed2a3ce3db4d4f97ed8e5d Mon Sep 17 00:00:00 2001
+From: Matt Caswell <matt@openssl.org>
+Date: Tue, 5 Mar 2024 15:43:53 +0000
+Subject: [PATCH] Fix unconstrained session cache growth in TLSv1.3
+
+In TLSv1.3 we create a new session object for each ticket that we send.
+We do this by duplicating the original session. If SSL_OP_NO_TICKET is in
+use then the new session will be added to the session cache. However, if
+early data is not in use (and therefore anti-replay protection is being
+used), then multiple threads could be resuming from the same session
+simultaneously. If this happens and a problem occurs on one of the threads,
+then the original session object could be marked as not_resumable. When we
+duplicate the session object this not_resumable status gets copied into the
+new session object. The new session object is then added to the session
+cache even though it is not_resumable.
+
+Subsequently, another bug means that the session_id_length is set to 0 for
+sessions that are marked as not_resumable - even though that session is
+still in the cache. Once this happens the session can never be removed from
+the cache. When that object gets to be the session cache tail object the
+cache never shrinks again and grows indefinitely.
+
+CVE-2024-2511
+
+Reviewed-by: Neil Horman <nhorman@openssl.org>
+Reviewed-by: Tomas Mraz <tomas@openssl.org>
+(Merged from https://github.com/openssl/openssl/pull/24044)
+
+(cherry picked from commit 7e4d731b1c07201ad9374c1cd9ac5263bdf35bce)
+--- a/ssl/ssl_lib.c
++++ b/ssl/ssl_lib.c
+@@ -3736,9 +3736,10 @@ void ssl_update_cache(SSL *s, int mode)
+
+ /*
+ * If the session_id_length is 0, we are not supposed to cache it, and it
+- * would be rather hard to do anyway :-)
++ * would be rather hard to do anyway :-). Also if the session has already
++ * been marked as not_resumable we should not cache it for later reuse.
+ */
+- if (s->session->session_id_length == 0)
++ if (s->session->session_id_length == 0 || s->session->not_resumable)
+ return;
+
+ /*
+--- a/ssl/ssl_sess.c
++++ b/ssl/ssl_sess.c
+@@ -152,16 +152,11 @@ SSL_SESSION *SSL_SESSION_new(void)
+ return ss;
+ }
+
+-SSL_SESSION *SSL_SESSION_dup(const SSL_SESSION *src)
+-{
+- return ssl_session_dup(src, 1);
+-}
+-
+ /*
+ * Create a new SSL_SESSION and duplicate the contents of |src| into it. If
+ * ticket == 0 then no ticket information is duplicated, otherwise it is.
+ */
+-SSL_SESSION *ssl_session_dup(const SSL_SESSION *src, int ticket)
++static SSL_SESSION *ssl_session_dup_intern(const SSL_SESSION *src, int ticket)
+ {
+ SSL_SESSION *dest;
+
+@@ -285,6 +280,27 @@ SSL_SESSION *ssl_session_dup(const SSL_SESSION *src, int ticket)
+ return NULL;
+ }
+
++SSL_SESSION *SSL_SESSION_dup(const SSL_SESSION *src)
++{
++ return ssl_session_dup_intern(src, 1);
++}
++
++/*
++ * Used internally when duplicating a session which might be already shared.
++ * We will have resumed the original session. Subsequently we might have marked
++ * it as non-resumable (e.g. in another thread) - but this copy should be ok to
++ * resume from.
++ */
++SSL_SESSION *ssl_session_dup(const SSL_SESSION *src, int ticket)
++{
++ SSL_SESSION *sess = ssl_session_dup_intern(src, ticket);
++
++ if (sess != NULL)
++ sess->not_resumable = 0;
++
++ return sess;
++}
++
+ const unsigned char *SSL_SESSION_get_id(const SSL_SESSION *s, unsigned int *len)
+ {
+ if (len)
+--- a/ssl/statem/statem_srvr.c
++++ b/ssl/statem/statem_srvr.c
+@@ -2338,9 +2338,8 @@ int tls_construct_server_hello(SSL *s, WPACKET *pkt)
+ * so the following won't overwrite an ID that we're supposed
+ * to send back.
+ */
+- if (s->session->not_resumable ||
+- (!(s->ctx->session_cache_mode & SSL_SESS_CACHE_SERVER)
+- && !s->hit))
++ if (!(s->ctx->session_cache_mode & SSL_SESS_CACHE_SERVER)
++ && !s->hit)
+ s->session->session_id_length = 0;
+
+ if (usetls13) {
+
+From cc9ece9118eeacccc3571c2ee852f8ba067d0607 Mon Sep 17 00:00:00 2001
+From: Matt Caswell <matt@openssl.org>
+Date: Fri, 15 Mar 2024 17:58:42 +0000
+Subject: [PATCH] Hardening around not_resumable sessions
+
+Make sure we can't inadvertently use a not_resumable session
+
+Related to CVE-2024-2511
+
+Reviewed-by: Neil Horman <nhorman@openssl.org>
+Reviewed-by: Tomas Mraz <tomas@openssl.org>
+(Merged from https://github.com/openssl/openssl/pull/24044)
+
+(cherry picked from commit c342f4b8bd2d0b375b0e22337057c2eab47d9b96)
+--- a/ssl/ssl_sess.c
++++ b/ssl/ssl_sess.c
+@@ -531,6 +531,12 @@ SSL_SESSION *lookup_sess_in_cache(SSL *s, const unsigned char *sess_id,
+ ret = s->session_ctx->get_session_cb(s, sess_id, sess_id_len, &copy);
+
+ if (ret != NULL) {
++ if (ret->not_resumable) {
++ /* If its not resumable then ignore this session */
++ if (!copy)
++ SSL_SESSION_free(ret);
++ return NULL;
++ }
+ ssl_tsan_counter(s->session_ctx,
+ &s->session_ctx->stats.sess_cb_hit);
+
diff --git a/dev-libs/openssl/files/openssl-3.0.13-p11-segfault.patch b/dev-libs/openssl/files/openssl-3.0.13-p11-segfault.patch
new file mode 100644
index 000000000000..73b131ab7928
--- /dev/null
+++ b/dev-libs/openssl/files/openssl-3.0.13-p11-segfault.patch
@@ -0,0 +1,79 @@
+https://bugs.gentoo.org/916328
+https://github.com/opendnssec/SoftHSMv2/issues/729
+https://github.com/openssl/openssl/issues/22508
+https://github.com/openssl/openssl/commit/ad6cbe4b7f57a783a66a7ae883ea0d35ef5f82b6
+
+From ad6cbe4b7f57a783a66a7ae883ea0d35ef5f82b6 Mon Sep 17 00:00:00 2001
+From: Tomas Mraz <tomas@openssl.org>
+Date: Fri, 15 Dec 2023 13:45:50 +0100
+Subject: [PATCH] Revert "Improved detection of engine-provided private
+ "classic" keys"
+
+This reverts commit 2b74e75331a27fc89cad9c8ea6a26c70019300b5.
+
+The commit was wrong. With 3.x versions the engines must be themselves
+responsible for creating their EVP_PKEYs in a way that they are treated
+as legacy - either by using the respective set1 calls or by setting
+non-default EVP_PKEY_METHOD.
+
+The workaround has caused more problems than it solved.
+
+Fixes #22945
+
+Reviewed-by: Dmitry Belyavskiy <beldmit@gmail.com>
+Reviewed-by: Neil Horman <nhorman@openssl.org>
+(Merged from https://github.com/openssl/openssl/pull/23063)
+
+(cherry picked from commit 39ea78379826fa98e8dc8c0d2b07e2c17cd68380)
+--- a/crypto/engine/eng_pkey.c
++++ b/crypto/engine/eng_pkey.c
+@@ -79,48 +79,6 @@ EVP_PKEY *ENGINE_load_private_key(ENGINE *e, const char *key_id,
+ ERR_raise(ERR_LIB_ENGINE, ENGINE_R_FAILED_LOADING_PRIVATE_KEY);
+ return NULL;
+ }
+- /* We enforce check for legacy key */
+- switch (EVP_PKEY_get_id(pkey)) {
+- case EVP_PKEY_RSA:
+- {
+- RSA *rsa = EVP_PKEY_get1_RSA(pkey);
+- EVP_PKEY_set1_RSA(pkey, rsa);
+- RSA_free(rsa);
+- }
+- break;
+-# ifndef OPENSSL_NO_EC
+- case EVP_PKEY_SM2:
+- case EVP_PKEY_EC:
+- {
+- EC_KEY *ec = EVP_PKEY_get1_EC_KEY(pkey);
+- EVP_PKEY_set1_EC_KEY(pkey, ec);
+- EC_KEY_free(ec);
+- }
+- break;
+-# endif
+-# ifndef OPENSSL_NO_DSA
+- case EVP_PKEY_DSA:
+- {
+- DSA *dsa = EVP_PKEY_get1_DSA(pkey);
+- EVP_PKEY_set1_DSA(pkey, dsa);
+- DSA_free(dsa);
+- }
+- break;
+-#endif
+-# ifndef OPENSSL_NO_DH
+- case EVP_PKEY_DH:
+- {
+- DH *dh = EVP_PKEY_get1_DH(pkey);
+- EVP_PKEY_set1_DH(pkey, dh);
+- DH_free(dh);
+- }
+- break;
+-#endif
+- default:
+- /*Do nothing */
+- break;
+- }
+-
+ return pkey;
+ }
+
+
diff --git a/dev-libs/openssl/files/openssl-3.1.5-CVE-2024-2511.patch b/dev-libs/openssl/files/openssl-3.1.5-CVE-2024-2511.patch
new file mode 100644
index 000000000000..c5b7dfe449f7
--- /dev/null
+++ b/dev-libs/openssl/files/openssl-3.1.5-CVE-2024-2511.patch
@@ -0,0 +1,137 @@
+https://www.openssl.org/news/secadv/20240408.txt
+https://bugs.gentoo.org/930047
+https://github.com/openssl/openssl/commit/7e4d731b1c07201ad9374c1cd9ac5263bdf35bce
+https://github.com/openssl/openssl/commit/c342f4b8bd2d0b375b0e22337057c2eab47d9b96
+
+From 7e4d731b1c07201ad9374c1cd9ac5263bdf35bce Mon Sep 17 00:00:00 2001
+From: Matt Caswell <matt@openssl.org>
+Date: Tue, 5 Mar 2024 15:43:53 +0000
+Subject: [PATCH] Fix unconstrained session cache growth in TLSv1.3
+
+In TLSv1.3 we create a new session object for each ticket that we send.
+We do this by duplicating the original session. If SSL_OP_NO_TICKET is in
+use then the new session will be added to the session cache. However, if
+early data is not in use (and therefore anti-replay protection is being
+used), then multiple threads could be resuming from the same session
+simultaneously. If this happens and a problem occurs on one of the threads,
+then the original session object could be marked as not_resumable. When we
+duplicate the session object this not_resumable status gets copied into the
+new session object. The new session object is then added to the session
+cache even though it is not_resumable.
+
+Subsequently, another bug means that the session_id_length is set to 0 for
+sessions that are marked as not_resumable - even though that session is
+still in the cache. Once this happens the session can never be removed from
+the cache. When that object gets to be the session cache tail object the
+cache never shrinks again and grows indefinitely.
+
+CVE-2024-2511
+
+Reviewed-by: Neil Horman <nhorman@openssl.org>
+Reviewed-by: Tomas Mraz <tomas@openssl.org>
+(Merged from https://github.com/openssl/openssl/pull/24044)
+--- a/ssl/ssl_lib.c
++++ b/ssl/ssl_lib.c
+@@ -3737,9 +3737,10 @@ void ssl_update_cache(SSL *s, int mode)
+
+ /*
+ * If the session_id_length is 0, we are not supposed to cache it, and it
+- * would be rather hard to do anyway :-)
++ * would be rather hard to do anyway :-). Also if the session has already
++ * been marked as not_resumable we should not cache it for later reuse.
+ */
+- if (s->session->session_id_length == 0)
++ if (s->session->session_id_length == 0 || s->session->not_resumable)
+ return;
+
+ /*
+--- a/ssl/ssl_sess.c
++++ b/ssl/ssl_sess.c
+@@ -154,16 +154,11 @@ SSL_SESSION *SSL_SESSION_new(void)
+ return ss;
+ }
+
+-SSL_SESSION *SSL_SESSION_dup(const SSL_SESSION *src)
+-{
+- return ssl_session_dup(src, 1);
+-}
+-
+ /*
+ * Create a new SSL_SESSION and duplicate the contents of |src| into it. If
+ * ticket == 0 then no ticket information is duplicated, otherwise it is.
+ */
+-SSL_SESSION *ssl_session_dup(const SSL_SESSION *src, int ticket)
++static SSL_SESSION *ssl_session_dup_intern(const SSL_SESSION *src, int ticket)
+ {
+ SSL_SESSION *dest;
+
+@@ -287,6 +282,27 @@ SSL_SESSION *ssl_session_dup(const SSL_SESSION *src, int ticket)
+ return NULL;
+ }
+
++SSL_SESSION *SSL_SESSION_dup(const SSL_SESSION *src)
++{
++ return ssl_session_dup_intern(src, 1);
++}
++
++/*
++ * Used internally when duplicating a session which might be already shared.
++ * We will have resumed the original session. Subsequently we might have marked
++ * it as non-resumable (e.g. in another thread) - but this copy should be ok to
++ * resume from.
++ */
++SSL_SESSION *ssl_session_dup(const SSL_SESSION *src, int ticket)
++{
++ SSL_SESSION *sess = ssl_session_dup_intern(src, ticket);
++
++ if (sess != NULL)
++ sess->not_resumable = 0;
++
++ return sess;
++}
++
+ const unsigned char *SSL_SESSION_get_id(const SSL_SESSION *s, unsigned int *len)
+ {
+ if (len)
+--- a/ssl/statem/statem_srvr.c
++++ b/ssl/statem/statem_srvr.c
+@@ -2338,9 +2338,8 @@ int tls_construct_server_hello(SSL *s, WPACKET *pkt)
+ * so the following won't overwrite an ID that we're supposed
+ * to send back.
+ */
+- if (s->session->not_resumable ||
+- (!(s->ctx->session_cache_mode & SSL_SESS_CACHE_SERVER)
+- && !s->hit))
++ if (!(s->ctx->session_cache_mode & SSL_SESS_CACHE_SERVER)
++ && !s->hit)
+ s->session->session_id_length = 0;
+
+ if (usetls13) {
+
+From c342f4b8bd2d0b375b0e22337057c2eab47d9b96 Mon Sep 17 00:00:00 2001
+From: Matt Caswell <matt@openssl.org>
+Date: Fri, 15 Mar 2024 17:58:42 +0000
+Subject: [PATCH] Hardening around not_resumable sessions
+
+Make sure we can't inadvertently use a not_resumable session
+
+Related to CVE-2024-2511
+
+Reviewed-by: Neil Horman <nhorman@openssl.org>
+Reviewed-by: Tomas Mraz <tomas@openssl.org>
+(Merged from https://github.com/openssl/openssl/pull/24044)
+--- a/ssl/ssl_sess.c
++++ b/ssl/ssl_sess.c
+@@ -533,6 +533,12 @@ SSL_SESSION *lookup_sess_in_cache(SSL *s, const unsigned char *sess_id,
+ ret = s->session_ctx->get_session_cb(s, sess_id, sess_id_len, &copy);
+
+ if (ret != NULL) {
++ if (ret->not_resumable) {
++ /* If its not resumable then ignore this session */
++ if (!copy)
++ SSL_SESSION_free(ret);
++ return NULL;
++ }
+ ssl_tsan_counter(s->session_ctx,
+ &s->session_ctx->stats.sess_cb_hit);
+
diff --git a/dev-libs/openssl/files/openssl-3.1.5-p11-segfault.patch b/dev-libs/openssl/files/openssl-3.1.5-p11-segfault.patch
new file mode 100644
index 000000000000..50bc63ef2d14
--- /dev/null
+++ b/dev-libs/openssl/files/openssl-3.1.5-p11-segfault.patch
@@ -0,0 +1,78 @@
+https://bugs.gentoo.org/916328
+https://github.com/opendnssec/SoftHSMv2/issues/729
+https://github.com/openssl/openssl/issues/22508
+https://github.com/openssl/openssl/commit/0058a55407d824d5b55ecc0a1cbf8931803dc238
+
+From 0058a55407d824d5b55ecc0a1cbf8931803dc238 Mon Sep 17 00:00:00 2001
+From: Tomas Mraz <tomas@openssl.org>
+Date: Fri, 15 Dec 2023 13:45:50 +0100
+Subject: [PATCH] Revert "Improved detection of engine-provided private
+ "classic" keys"
+
+This reverts commit 2b74e75331a27fc89cad9c8ea6a26c70019300b5.
+
+The commit was wrong. With 3.x versions the engines must be themselves
+responsible for creating their EVP_PKEYs in a way that they are treated
+as legacy - either by using the respective set1 calls or by setting
+non-default EVP_PKEY_METHOD.
+
+The workaround has caused more problems than it solved.
+
+Fixes #22945
+
+Reviewed-by: Dmitry Belyavskiy <beldmit@gmail.com>
+Reviewed-by: Neil Horman <nhorman@openssl.org>
+(Merged from https://github.com/openssl/openssl/pull/23063)
+
+(cherry picked from commit 39ea78379826fa98e8dc8c0d2b07e2c17cd68380)
+--- a/crypto/engine/eng_pkey.c
++++ b/crypto/engine/eng_pkey.c
+@@ -79,48 +79,6 @@ EVP_PKEY *ENGINE_load_private_key(ENGINE *e, const char *key_id,
+ ERR_raise(ERR_LIB_ENGINE, ENGINE_R_FAILED_LOADING_PRIVATE_KEY);
+ return NULL;
+ }
+- /* We enforce check for legacy key */
+- switch (EVP_PKEY_get_id(pkey)) {
+- case EVP_PKEY_RSA:
+- {
+- RSA *rsa = EVP_PKEY_get1_RSA(pkey);
+- EVP_PKEY_set1_RSA(pkey, rsa);
+- RSA_free(rsa);
+- }
+- break;
+-# ifndef OPENSSL_NO_EC
+- case EVP_PKEY_SM2:
+- case EVP_PKEY_EC:
+- {
+- EC_KEY *ec = EVP_PKEY_get1_EC_KEY(pkey);
+- EVP_PKEY_set1_EC_KEY(pkey, ec);
+- EC_KEY_free(ec);
+- }
+- break;
+-# endif
+-# ifndef OPENSSL_NO_DSA
+- case EVP_PKEY_DSA:
+- {
+- DSA *dsa = EVP_PKEY_get1_DSA(pkey);
+- EVP_PKEY_set1_DSA(pkey, dsa);
+- DSA_free(dsa);
+- }
+- break;
+-#endif
+-# ifndef OPENSSL_NO_DH
+- case EVP_PKEY_DH:
+- {
+- DH *dh = EVP_PKEY_get1_DH(pkey);
+- EVP_PKEY_set1_DH(pkey, dh);
+- DH_free(dh);
+- }
+- break;
+-#endif
+- default:
+- /*Do nothing */
+- break;
+- }
+-
+ return pkey;
+ }
+
diff --git a/dev-libs/openssl/files/openssl-3.2.1-CVE-2024-2511.patch b/dev-libs/openssl/files/openssl-3.2.1-CVE-2024-2511.patch
new file mode 100644
index 000000000000..d5b40447d745
--- /dev/null
+++ b/dev-libs/openssl/files/openssl-3.2.1-CVE-2024-2511.patch
@@ -0,0 +1,137 @@
+https://www.openssl.org/news/secadv/20240408.txt
+https://bugs.gentoo.org/930047
+https://github.com/openssl/openssl/commit/e9d7083e241670332e0443da0f0d4ffb52829f08
+https://github.com/openssl/openssl/commit/4d67109432646c113887b0aa8091fb0d1b3057e6
+
+From e9d7083e241670332e0443da0f0d4ffb52829f08 Mon Sep 17 00:00:00 2001
+From: Matt Caswell <matt@openssl.org>
+Date: Tue, 5 Mar 2024 15:43:53 +0000
+Subject: [PATCH] Fix unconstrained session cache growth in TLSv1.3
+
+In TLSv1.3 we create a new session object for each ticket that we send.
+We do this by duplicating the original session. If SSL_OP_NO_TICKET is in
+use then the new session will be added to the session cache. However, if
+early data is not in use (and therefore anti-replay protection is being
+used), then multiple threads could be resuming from the same session
+simultaneously. If this happens and a problem occurs on one of the threads,
+then the original session object could be marked as not_resumable. When we
+duplicate the session object this not_resumable status gets copied into the
+new session object. The new session object is then added to the session
+cache even though it is not_resumable.
+
+Subsequently, another bug means that the session_id_length is set to 0 for
+sessions that are marked as not_resumable - even though that session is
+still in the cache. Once this happens the session can never be removed from
+the cache. When that object gets to be the session cache tail object the
+cache never shrinks again and grows indefinitely.
+
+CVE-2024-2511
+
+Reviewed-by: Neil Horman <nhorman@openssl.org>
+Reviewed-by: Tomas Mraz <tomas@openssl.org>
+(Merged from https://github.com/openssl/openssl/pull/24043)
+--- a/ssl/ssl_lib.c
++++ b/ssl/ssl_lib.c
+@@ -4457,9 +4457,10 @@ void ssl_update_cache(SSL_CONNECTION *s, int mode)
+
+ /*
+ * If the session_id_length is 0, we are not supposed to cache it, and it
+- * would be rather hard to do anyway :-)
++ * would be rather hard to do anyway :-). Also if the session has already
++ * been marked as not_resumable we should not cache it for later reuse.
+ */
+- if (s->session->session_id_length == 0)
++ if (s->session->session_id_length == 0 || s->session->not_resumable)
+ return;
+
+ /*
+--- a/ssl/ssl_sess.c
++++ b/ssl/ssl_sess.c
+@@ -127,16 +127,11 @@ SSL_SESSION *SSL_SESSION_new(void)
+ return ss;
+ }
+
+-SSL_SESSION *SSL_SESSION_dup(const SSL_SESSION *src)
+-{
+- return ssl_session_dup(src, 1);
+-}
+-
+ /*
+ * Create a new SSL_SESSION and duplicate the contents of |src| into it. If
+ * ticket == 0 then no ticket information is duplicated, otherwise it is.
+ */
+-SSL_SESSION *ssl_session_dup(const SSL_SESSION *src, int ticket)
++static SSL_SESSION *ssl_session_dup_intern(const SSL_SESSION *src, int ticket)
+ {
+ SSL_SESSION *dest;
+
+@@ -265,6 +260,27 @@ SSL_SESSION *ssl_session_dup(const SSL_SESSION *src, int ticket)
+ return NULL;
+ }
+
++SSL_SESSION *SSL_SESSION_dup(const SSL_SESSION *src)
++{
++ return ssl_session_dup_intern(src, 1);
++}
++
++/*
++ * Used internally when duplicating a session which might be already shared.
++ * We will have resumed the original session. Subsequently we might have marked
++ * it as non-resumable (e.g. in another thread) - but this copy should be ok to
++ * resume from.
++ */
++SSL_SESSION *ssl_session_dup(const SSL_SESSION *src, int ticket)
++{
++ SSL_SESSION *sess = ssl_session_dup_intern(src, ticket);
++
++ if (sess != NULL)
++ sess->not_resumable = 0;
++
++ return sess;
++}
++
+ const unsigned char *SSL_SESSION_get_id(const SSL_SESSION *s, unsigned int *len)
+ {
+ if (len)
+--- a/ssl/statem/statem_srvr.c
++++ b/ssl/statem/statem_srvr.c
+@@ -2445,9 +2445,8 @@ CON_FUNC_RETURN tls_construct_server_hello(SSL_CONNECTION *s, WPACKET *pkt)
+ * so the following won't overwrite an ID that we're supposed
+ * to send back.
+ */
+- if (s->session->not_resumable ||
+- (!(SSL_CONNECTION_GET_CTX(s)->session_cache_mode & SSL_SESS_CACHE_SERVER)
+- && !s->hit))
++ if (!(SSL_CONNECTION_GET_CTX(s)->session_cache_mode & SSL_SESS_CACHE_SERVER)
++ && !s->hit)
+ s->session->session_id_length = 0;
+
+ if (usetls13) {
+
+From 4d67109432646c113887b0aa8091fb0d1b3057e6 Mon Sep 17 00:00:00 2001
+From: Matt Caswell <matt@openssl.org>
+Date: Fri, 15 Mar 2024 17:58:42 +0000
+Subject: [PATCH] Hardening around not_resumable sessions
+
+Make sure we can't inadvertently use a not_resumable session
+
+Related to CVE-2024-2511
+
+Reviewed-by: Neil Horman <nhorman@openssl.org>
+Reviewed-by: Tomas Mraz <tomas@openssl.org>
+(Merged from https://github.com/openssl/openssl/pull/24043)
+--- a/ssl/ssl_sess.c
++++ b/ssl/ssl_sess.c
+@@ -519,6 +519,12 @@ SSL_SESSION *lookup_sess_in_cache(SSL_CONNECTION *s,
+ sess_id, sess_id_len, &copy);
+
+ if (ret != NULL) {
++ if (ret->not_resumable) {
++ /* If its not resumable then ignore this session */
++ if (!copy)
++ SSL_SESSION_free(ret);
++ return NULL;
++ }
+ ssl_tsan_counter(s->session_ctx,
+ &s->session_ctx->stats.sess_cb_hit);
+
diff --git a/dev-libs/openssl/files/openssl-3.2.1-p11-segfault.patch b/dev-libs/openssl/files/openssl-3.2.1-p11-segfault.patch
new file mode 100644
index 000000000000..59e785caac7c
--- /dev/null
+++ b/dev-libs/openssl/files/openssl-3.2.1-p11-segfault.patch
@@ -0,0 +1,79 @@
+https://bugs.gentoo.org/916328
+https://github.com/opendnssec/SoftHSMv2/issues/729
+https://github.com/openssl/openssl/issues/22508
+https://github.com/openssl/openssl/commit/934943281267259fa928f4a5814b176525461a65
+
+From 934943281267259fa928f4a5814b176525461a65 Mon Sep 17 00:00:00 2001
+From: Tomas Mraz <tomas@openssl.org>
+Date: Fri, 15 Dec 2023 13:45:50 +0100
+Subject: [PATCH] Revert "Improved detection of engine-provided private
+ "classic" keys"
+
+This reverts commit 2b74e75331a27fc89cad9c8ea6a26c70019300b5.
+
+The commit was wrong. With 3.x versions the engines must be themselves
+responsible for creating their EVP_PKEYs in a way that they are treated
+as legacy - either by using the respective set1 calls or by setting
+non-default EVP_PKEY_METHOD.
+
+The workaround has caused more problems than it solved.
+
+Fixes #22945
+
+Reviewed-by: Dmitry Belyavskiy <beldmit@gmail.com>
+Reviewed-by: Neil Horman <nhorman@openssl.org>
+(Merged from https://github.com/openssl/openssl/pull/23063)
+
+(cherry picked from commit 39ea78379826fa98e8dc8c0d2b07e2c17cd68380)
+--- a/crypto/engine/eng_pkey.c
++++ b/crypto/engine/eng_pkey.c
+@@ -79,48 +79,6 @@ EVP_PKEY *ENGINE_load_private_key(ENGINE *e, const char *key_id,
+ ERR_raise(ERR_LIB_ENGINE, ENGINE_R_FAILED_LOADING_PRIVATE_KEY);
+ return NULL;
+ }
+- /* We enforce check for legacy key */
+- switch (EVP_PKEY_get_id(pkey)) {
+- case EVP_PKEY_RSA:
+- {
+- RSA *rsa = EVP_PKEY_get1_RSA(pkey);
+- EVP_PKEY_set1_RSA(pkey, rsa);
+- RSA_free(rsa);
+- }
+- break;
+-# ifndef OPENSSL_NO_EC
+- case EVP_PKEY_SM2:
+- case EVP_PKEY_EC:
+- {
+- EC_KEY *ec = EVP_PKEY_get1_EC_KEY(pkey);
+- EVP_PKEY_set1_EC_KEY(pkey, ec);
+- EC_KEY_free(ec);
+- }
+- break;
+-# endif
+-# ifndef OPENSSL_NO_DSA
+- case EVP_PKEY_DSA:
+- {
+- DSA *dsa = EVP_PKEY_get1_DSA(pkey);
+- EVP_PKEY_set1_DSA(pkey, dsa);
+- DSA_free(dsa);
+- }
+- break;
+-#endif
+-# ifndef OPENSSL_NO_DH
+- case EVP_PKEY_DH:
+- {
+- DH *dh = EVP_PKEY_get1_DH(pkey);
+- EVP_PKEY_set1_DH(pkey, dh);
+- DH_free(dh);
+- }
+- break;
+-#endif
+- default:
+- /*Do nothing */
+- break;
+- }
+-
+ return pkey;
+ }
+
+
diff --git a/dev-libs/openssl/files/openssl-3.2.1-riscv.patch b/dev-libs/openssl/files/openssl-3.2.1-riscv.patch
new file mode 100644
index 000000000000..51256cf434e2
--- /dev/null
+++ b/dev-libs/openssl/files/openssl-3.2.1-riscv.patch
@@ -0,0 +1,70 @@
+# Bug: https://bugs.gentoo.org/923956
+# Upstream PR: https://github.com/openssl/openssl/pull/23752
+--- a/providers/implementations/ciphers/cipher_aes_gcm_hw.c
++++ b/providers/implementations/ciphers/cipher_aes_gcm_hw.c
+@@ -142,9 +142,9 @@ static const PROV_GCM_HW aes_gcm = {
+ # include "cipher_aes_gcm_hw_armv8.inc"
+ #elif defined(PPC_AES_GCM_CAPABLE) && defined(_ARCH_PPC64)
+ # include "cipher_aes_gcm_hw_ppc.inc"
+-#elif defined(__riscv) && __riscv_xlen == 64
++#elif defined(OPENSSL_CPUID_OBJ) && defined(__riscv) && __riscv_xlen == 64
+ # include "cipher_aes_gcm_hw_rv64i.inc"
+-#elif defined(__riscv) && __riscv_xlen == 32
++#elif defined(OPENSSL_CPUID_OBJ) && defined(__riscv) && __riscv_xlen == 32
+ # include "cipher_aes_gcm_hw_rv32i.inc"
+ #else
+ const PROV_GCM_HW *ossl_prov_aes_hw_gcm(size_t keybits)
+--- a/providers/implementations/ciphers/cipher_aes_hw.c
++++ b/providers/implementations/ciphers/cipher_aes_hw.c
+@@ -142,9 +142,9 @@ const PROV_CIPHER_HW *ossl_prov_cipher_hw_aes_##mode(size_t keybits) \
+ # include "cipher_aes_hw_t4.inc"
+ #elif defined(S390X_aes_128_CAPABLE)
+ # include "cipher_aes_hw_s390x.inc"
+-#elif defined(__riscv) && __riscv_xlen == 64
++#elif defined(OPENSSL_CPUID_OBJ) && defined(__riscv) && __riscv_xlen == 64
+ # include "cipher_aes_hw_rv64i.inc"
+-#elif defined(__riscv) && __riscv_xlen == 32
++#elif defined(OPENSSL_CPUID_OBJ) && defined(__riscv) && __riscv_xlen == 32
+ # include "cipher_aes_hw_rv32i.inc"
+ #else
+ /* The generic case */
+--- a/providers/implementations/ciphers/cipher_aes_ocb_hw.c
++++ b/providers/implementations/ciphers/cipher_aes_ocb_hw.c
+@@ -104,7 +104,7 @@ static const PROV_CIPHER_HW aes_t4_ocb = { \
+ if (SPARC_AES_CAPABLE) \
+ return &aes_t4_ocb;
+
+-#elif defined(__riscv) && __riscv_xlen == 64
++#elif defined(OPENSSL_CPUID_OBJ) && defined(__riscv) && __riscv_xlen == 64
+
+ static int cipher_hw_aes_ocb_rv64i_zknd_zkne_initkey(PROV_CIPHER_CTX *vctx,
+ const unsigned char *key,
+@@ -126,7 +126,7 @@ static const PROV_CIPHER_HW aes_rv64i_zknd_zkne_ocb = { \
+ if (RISCV_HAS_ZKND_AND_ZKNE()) \
+ return &aes_rv64i_zknd_zkne_ocb;
+
+-#elif defined(__riscv) && __riscv_xlen == 32
++#elif defined(OPENSSL_CPUID_OBJ) && defined(__riscv) && __riscv_xlen == 32
+
+ static int cipher_hw_aes_ocb_rv32i_zknd_zkne_initkey(PROV_CIPHER_CTX *vctx,
+ const unsigned char *key,
+--- a/providers/implementations/ciphers/cipher_aes_xts_hw.c
++++ b/providers/implementations/ciphers/cipher_aes_xts_hw.c
+@@ -159,7 +159,7 @@ static const PROV_CIPHER_HW aes_xts_t4 = { \
+ if (SPARC_AES_CAPABLE) \
+ return &aes_xts_t4;
+
+-#elif defined(__riscv) && __riscv_xlen == 64
++#elif defined(OPENSSL_CPUID_OBJ) && defined(__riscv) && __riscv_xlen == 64
+
+ static int cipher_hw_aes_xts_rv64i_zknd_zkne_initkey(PROV_CIPHER_CTX *ctx,
+ const unsigned char *key,
+@@ -185,7 +185,7 @@ static const PROV_CIPHER_HW aes_xts_rv64i_zknd_zkne = { \
+ if (RISCV_HAS_ZKND_AND_ZKNE()) \
+ return &aes_xts_rv64i_zknd_zkne;
+
+-#elif defined(__riscv) && __riscv_xlen == 32
++#elif defined(OPENSSL_CPUID_OBJ) && defined(__riscv) && __riscv_xlen == 32
+
+ static int cipher_hw_aes_xts_rv32i_zknd_zkne_initkey(PROV_CIPHER_CTX *ctx,
+ const unsigned char *key,
diff --git a/dev-libs/openssl/metadata.xml b/dev-libs/openssl/metadata.xml
index e0b7df73655d..bbf8686ec6e9 100644
--- a/dev-libs/openssl/metadata.xml
+++ b/dev-libs/openssl/metadata.xml
@@ -1,29 +1,30 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
-<maintainer type="project">
- <email>base-system@gentoo.org</email>
- <name>Gentoo Base System</name>
-</maintainer>
-<use>
- <flag name="asm">Support assembly hand optimized crypto functions (i.e. faster run time)</flag>
- <flag name="bindist">Disable/Restrict EC algorithms (as they seem to be patented) -- note: changes the ABI</flag>
- <flag name="fips">Enable FIPS provider</flag>
- <flag name="ktls">Enable support for Kernel implementation of TLS (kTLS)</flag>
- <flag name="rfc3779">Enable support for RFC 3779 (X.509 Extensions for IP Addresses and AS Identifiers)</flag>
- <flag name="sslv2">Support for the old/insecure SSLv2 protocol -- note: not required for TLS/https</flag>
- <flag name="sslv3">Support for the old/insecure SSLv3 protocol -- note: not required for TLS/https</flag>
- <flag name="tls-compression">Enable support for discouraged TLS compression</flag>
- <flag name="tls-heartbeat">Enable the Heartbeat Extension in TLS and DTLS</flag>
-</use>
-<upstream>
- <remote-id type="cpe">cpe:/a:openssl:openssl</remote-id>
-</upstream>
-<slots>
- <slot name="0">For building against. This is the only slot
- that provides headers and command line tools.</slot>
- <slot name="0.9.8">For binary compatibility, provides libcrypto.so.0.9.8
- and libssl.so.0.9.8 only.</slot>
- <subslots>Reflect ABI of libcrypto.so and libssl.so.</subslots>
-</slots>
+ <maintainer type="project">
+ <email>base-system@gentoo.org</email>
+ <name>Gentoo Base System</name>
+ </maintainer>
+ <use>
+ <flag name="bindist">Disable/Restrict EC algorithms (as they seem to be patented) -- note: changes the ABI</flag>
+ <flag name="fips">Enable FIPS provider</flag>
+ <flag name="ktls">Enable support for Kernel implementation of TLS (kTLS)</flag>
+ <flag name="rfc3779">Enable support for RFC 3779 (X.509 Extensions for IP Addresses and AS Identifiers)</flag>
+ <flag name="sslv2">Support for the old/insecure SSLv2 protocol -- note: not required for TLS/https</flag>
+ <flag name="sslv3">Support for the old/insecure SSLv3 protocol -- note: not required for TLS/https</flag>
+ <flag name="tls-compression">Enable support for discouraged TLS compression</flag>
+ <flag name="tls-heartbeat">Enable the Heartbeat Extension in TLS and DTLS</flag>
+ <flag name="weak-ssl-ciphers">Build support for SSL/TLS ciphers that are considered "weak"</flag>
+ </use>
+ <upstream>
+ <remote-id type="cpe">cpe:/a:openssl:openssl</remote-id>
+ <remote-id type="github">openssl/openssl</remote-id>
+ </upstream>
+ <slots>
+ <slot name="0">For building against. This is the only slot
+ that provides headers and command line tools.</slot>
+ <slot name="0.9.8">For binary compatibility, provides libcrypto.so.0.9.8
+ and libssl.so.0.9.8 only.</slot>
+ <subslots>Reflect ABI of libcrypto.so and libssl.so.</subslots>
+ </slots>
</pkgmetadata>
diff --git a/dev-libs/openssl/openssl-1.0.2u-r1.ebuild b/dev-libs/openssl/openssl-1.0.2u-r1.ebuild
index a54fa8fc1b08..a6de03448e18 100644
--- a/dev-libs/openssl/openssl-1.0.2u-r1.ebuild
+++ b/dev-libs/openssl/openssl-1.0.2u-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"
@@ -37,7 +37,7 @@ SRC_URI="mirror://openssl/source/${MY_P}.tar.gz
LICENSE="openssl"
SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x86-linux"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x86-linux ~arm64-macos"
IUSE="+asm bindist gmp kerberos rfc3779 sctp cpu_flags_x86_sse2 sslv2 +sslv3 static-libs test tls-compression +tls-heartbeat vanilla"
RESTRICT="!bindist? ( bindist )
!test? ( test )"
@@ -52,7 +52,7 @@ BDEPEND="
sctp? ( >=net-misc/lksctp-tools-1.0.12 )
test? (
sys-apps/diffutils
- sys-devel/bc
+ app-alternatives/bc
)"
PDEPEND="app-misc/ca-certificates"
@@ -153,14 +153,15 @@ multilib_src_configure() {
local krb5=$(has_version app-crypt/mit-krb5 && echo "MIT" || echo "Heimdal")
# See if our toolchain supports __uint128_t. If so, it's 64bit
- # friendly and can use the nicely optimized code paths. #460790
- local ec_nistp_64_gcc_128
- # Disable it for now though #469976
- #if ! use bindist ; then
- # echo "__uint128_t i;" > "${T}"/128.c
- # if ${CC} ${CFLAGS} -c "${T}"/128.c -o /dev/null >&/dev/null ; then
- # ec_nistp_64_gcc_128="enable-ec_nistp_64_gcc_128"
- # fi
+ # friendly and can use the nicely optimized code paths, bug #460790.
+ #local ec_nistp_64_gcc_128
+ #
+ # Disable it for now though (bug #469976)
+ # Do NOT re-enable without substantial discussion first!
+ #
+ #echo "__uint128_t i;" > "${T}"/128.c
+ #if ${CC} ${CFLAGS} -c "${T}"/128.c -o /dev/null >&/dev/null ; then
+ # ec_nistp_64_gcc_128="enable-ec_nistp_64_gcc_128"
#fi
# https://github.com/openssl/openssl/issues/2286
@@ -247,7 +248,9 @@ multilib_src_install() {
mkdir "${ED}"/usr || die
fi
- emake INSTALL_PREFIX="${D}" install
+ # Only -j1 is supported for the install targets:
+ # https://github.com/openssl/openssl/issues/21999#issuecomment-1771150305
+ emake INSTALL_PREFIX="${D}" -j1 install
# This is crappy in that the static archives are still built even
# when USE=static-libs. But this is due to a failing in the openssl
diff --git a/dev-libs/openssl/openssl-1.1.1k-r1.ebuild b/dev-libs/openssl/openssl-1.1.1k-r1.ebuild
deleted file mode 100644
index a4186f363f17..000000000000
--- a/dev-libs/openssl/openssl-1.1.1k-r1.ebuild
+++ /dev/null
@@ -1,328 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-
-inherit flag-o-matic toolchain-funcs multilib-minimal
-
-MY_P=${P/_/-}
-
-# This patch set is based on the following files from Fedora 31,
-# see https://src.fedoraproject.org/rpms/openssl/blob/f31/f/openssl.spec
-# for more details:
-# - hobble-openssl (SOURCE1)
-# - ec_curve.c (SOURCE12) -- MODIFIED
-# - ectest.c (SOURCE13)
-# - openssl-1.1.1-ec-curves.patch (PATCH37) -- MODIFIED
-BINDIST_PATCH_SET="openssl-1.1.1i-bindist-1.0.tar.xz"
-
-DESCRIPTION="full-strength general purpose cryptography library (including SSL and TLS)"
-HOMEPAGE="https://www.openssl.org/"
-SRC_URI="mirror://openssl/source/${MY_P}.tar.gz
- bindist? (
- mirror://gentoo/${BINDIST_PATCH_SET}
- https://dev.gentoo.org/~whissi/dist/openssl/${BINDIST_PATCH_SET}
- )"
-
-LICENSE="openssl"
-SLOT="0/1.1" # .so version of libssl/libcrypto
-[[ "${PV}" = *_pre* ]] || \
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x86-linux"
-IUSE="+asm bindist rfc3779 sctp cpu_flags_x86_sse2 sslv3 static-libs test tls-compression tls-heartbeat vanilla"
-RESTRICT="!bindist? ( bindist )
- !test? ( test )"
-
-RDEPEND=">=app-misc/c_rehash-1.7-r1
- tls-compression? ( >=sys-libs/zlib-1.2.8-r1[static-libs(+)?,${MULTILIB_USEDEP}] )"
-DEPEND="${RDEPEND}"
-BDEPEND="
- >=dev-lang/perl-5
- sctp? ( >=net-misc/lksctp-tools-1.0.12 )
- test? (
- sys-apps/diffutils
- sys-devel/bc
- sys-process/procps
- )"
-PDEPEND="app-misc/ca-certificates"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-1.1.0j-parallel_install_fix.patch #671602
- "${FILESDIR}"/${PN}-1.1.1i-riscv32.patch
-)
-
-S="${WORKDIR}/${MY_P}"
-
-# force upgrade to prevent broken login, bug 696950
-RDEPEND+=" !<net-misc/openssh-8.0_p1-r3"
-
-MULTILIB_WRAPPED_HEADERS=(
- usr/include/openssl/opensslconf.h
-)
-
-pkg_setup() {
- [[ ${MERGE_TYPE} == binary ]] && return
-
- # must check in pkg_setup; sysctl don't work with userpriv!
- if use test && use sctp; then
- # test_ssl_new will fail with "Ensure SCTP AUTH chunks are enabled in kernel"
- # if sctp.auth_enable is not enabled.
- local sctp_auth_status=$(sysctl -n net.sctp.auth_enable 2>/dev/null)
- if [[ -z "${sctp_auth_status}" ]] || [[ ${sctp_auth_status} != 1 ]]; then
- die "FEATURES=test with USE=sctp requires net.sctp.auth_enable=1!"
- fi
- fi
-}
-
-src_prepare() {
- # allow openssl to be cross-compiled
- cp "${FILESDIR}"/gentoo.config-1.0.2 gentoo.config || die
- chmod a+rx gentoo.config || die
-
- if use bindist; then
- mv "${WORKDIR}"/bindist-patches/hobble-openssl "${WORKDIR}" || die
- bash "${WORKDIR}"/hobble-openssl || die
-
- cp -f "${WORKDIR}"/bindist-patches/ec_curve.c "${S}"/crypto/ec/ || die
- cp -f "${WORKDIR}"/bindist-patches/ectest.c "${S}"/test/ || die
-
- eapply "${WORKDIR}"/bindist-patches/ec-curves.patch
-
- local known_failing_test
- for known_failing_test in \
- 30-test_evp_extra.t \
- 80-test_ssl_new.t \
- ; do
- ebegin "Disabling test '${known_failing_test}' which is known to fail with USE=bindist"
- rm test/recipes/${known_failing_test} || die
- eend $?
- done
-
- # Also see the configure parts below:
- # enable-ec \
- # $(use_ssl !bindist ec2m) \
- fi
-
- # keep this in sync with app-misc/c_rehash
- SSL_CNF_DIR="/etc/ssl"
-
- # Make sure we only ever touch Makefile.org and avoid patching a file
- # that gets blown away anyways by the Configure script in src_configure
- rm -f Makefile
-
- if ! use vanilla ; then
- if [[ $(declare -p PATCHES 2>/dev/null) == "declare -a"* ]] ; then
- [[ ${#PATCHES[@]} -gt 0 ]] && eapply "${PATCHES[@]}"
- fi
- fi
-
- eapply_user #332661
-
- if use test && use sctp && has network-sandbox ${FEATURES}; then
- ebegin "Disabling test '80-test_ssl_new.t' which is known to fail with FEATURES=network-sandbox"
- rm test/recipes/80-test_ssl_new.t || die
- eend $?
- fi
-
- # make sure the man pages are suffixed #302165
- # don't bother building man pages if they're disabled
- # Make DOCDIR Gentoo compliant
- sed -i \
- -e '/^MANSUFFIX/s:=.*:=ssl:' \
- -e '/^MAKEDEPPROG/s:=.*:=$(CC):' \
- -e $(has noman FEATURES \
- && echo '/^install:/s:install_docs::' \
- || echo '/^MANDIR=/s:=.*:='${EPREFIX}'/usr/share/man:') \
- -e "/^DOCDIR/s@\$(BASENAME)@&-${PVR}@" \
- Configurations/unix-Makefile.tmpl \
- || die
-
- # quiet out unknown driver argument warnings since openssl
- # doesn't have well-split CFLAGS and we're making it even worse
- # and 'make depend' uses -Werror for added fun (#417795 again)
- [[ ${CC} == *clang* ]] && append-flags -Qunused-arguments
-
- append-flags -fno-strict-aliasing
- append-flags $(test-flags-CC -Wa,--noexecstack)
- append-cppflags -DOPENSSL_NO_BUF_FREELISTS
-
- # Prefixify Configure shebang (#141906)
- sed \
- -e "1s,/usr/bin/env,${EPREFIX}&," \
- -i Configure || die
- # Remove test target when FEATURES=test isn't set
- if ! use test ; then
- sed \
- -e '/^$config{dirs}/s@ "test",@@' \
- -i Configure || die
- fi
- # The config script does stupid stuff to prompt the user. Kill it.
- sed -i '/stty -icanon min 0 time 50; read waste/d' config || die
- ./config --test-sanity || die "I AM NOT SANE"
-
- multilib_copy_sources
-}
-
-multilib_src_configure() {
- unset APPS #197996
- unset SCRIPTS #312551
- unset CROSS_COMPILE #311473
-
- tc-export CC AR RANLIB RC
-
- # Clean out patent-or-otherwise-encumbered code
- # Camellia: Royalty Free https://en.wikipedia.org/wiki/Camellia_(cipher)
- # IDEA: Expired https://en.wikipedia.org/wiki/International_Data_Encryption_Algorithm
- # EC: ????????? ??/??/2015 https://en.wikipedia.org/wiki/Elliptic_Curve_Cryptography
- # MDC2: Expired https://en.wikipedia.org/wiki/MDC-2
- # RC5: Expired https://en.wikipedia.org/wiki/RC5
-
- use_ssl() { usex $1 "enable-${2:-$1}" "no-${2:-$1}" " ${*:3}" ; }
- echoit() { echo "$@" ; "$@" ; }
-
- local krb5=$(has_version app-crypt/mit-krb5 && echo "MIT" || echo "Heimdal")
-
- # See if our toolchain supports __uint128_t. If so, it's 64bit
- # friendly and can use the nicely optimized code paths. #460790
- local ec_nistp_64_gcc_128
- # Disable it for now though #469976
- #if ! use bindist ; then
- # echo "__uint128_t i;" > "${T}"/128.c
- # if ${CC} ${CFLAGS} -c "${T}"/128.c -o /dev/null >&/dev/null ; then
- # ec_nistp_64_gcc_128="enable-ec_nistp_64_gcc_128"
- # fi
- #fi
-
- local sslout=$(./gentoo.config)
- einfo "Use configuration ${sslout:-(openssl knows best)}"
- local config="Configure"
- [[ -z ${sslout} ]] && config="config"
-
- # Fedora hobbled-EC needs 'no-ec2m'
- # 'srp' was restricted until early 2017 as well.
- # "disable-deprecated" option breaks too many consumers.
- # Don't set it without thorough revdeps testing.
- # Make sure user flags don't get added *yet* to avoid duplicated
- # flags.
- CFLAGS= LDFLAGS= echoit \
- ./${config} \
- ${sslout} \
- $(use cpu_flags_x86_sse2 || echo "no-sse2") \
- enable-camellia \
- enable-ec \
- $(use_ssl !bindist ec2m) \
- $(use_ssl !bindist sm2) \
- enable-srp \
- $(use elibc_musl && echo "no-async") \
- ${ec_nistp_64_gcc_128} \
- enable-idea \
- enable-mdc2 \
- enable-rc5 \
- $(use_ssl sslv3 ssl3) \
- $(use_ssl sslv3 ssl3-method) \
- $(use_ssl asm) \
- $(use_ssl rfc3779) \
- $(use_ssl sctp) \
- $(use_ssl tls-compression zlib) \
- $(use_ssl tls-heartbeat heartbeats) \
- --prefix="${EPREFIX}"/usr \
- --openssldir="${EPREFIX}"${SSL_CNF_DIR} \
- --libdir=$(get_libdir) \
- shared threads \
- || die
-
- # Clean out hardcoded flags that openssl uses
- local DEFAULT_CFLAGS=$(grep ^CFLAGS= Makefile | LC_ALL=C sed \
- -e 's:^CFLAGS=::' \
- -e 's:\(^\| \)-fomit-frame-pointer::g' \
- -e 's:\(^\| \)-O[^ ]*::g' \
- -e 's:\(^\| \)-march=[^ ]*::g' \
- -e 's:\(^\| \)-mcpu=[^ ]*::g' \
- -e 's:\(^\| \)-m[^ ]*::g' \
- -e 's:^ *::' \
- -e 's: *$::' \
- -e 's: \+: :g' \
- -e 's:\\:\\\\:g'
- )
-
- # Now insert clean default flags with user flags
- sed -i \
- -e "/^CFLAGS=/s|=.*|=${DEFAULT_CFLAGS} ${CFLAGS}|" \
- -e "/^LDFLAGS=/s|=[[:space:]]*$|=${LDFLAGS}|" \
- Makefile || die
-}
-
-multilib_src_compile() {
- # depend is needed to use $confopts; it also doesn't matter
- # that it's -j1 as the code itself serializes subdirs
- emake -j1 depend
- emake all
-}
-
-multilib_src_test() {
- emake -j1 test
-}
-
-multilib_src_install() {
- # We need to create $ED/usr on our own to avoid a race condition #665130
- if [[ ! -d "${ED}/usr" ]]; then
- # We can only create this directory once
- mkdir "${ED}"/usr || die
- fi
-
- emake DESTDIR="${D}" install
-
- # This is crappy in that the static archives are still built even
- # when USE=static-libs. But this is due to a failing in the openssl
- # build system: the static archives are built as PIC all the time.
- # Only way around this would be to manually configure+compile openssl
- # twice; once with shared lib support enabled and once without.
- if ! use static-libs; then
- rm "${ED}"/usr/$(get_libdir)/lib{crypto,ssl}.a || die
- fi
-}
-
-multilib_src_install_all() {
- # openssl installs perl version of c_rehash by default, but
- # we provide a shell version via app-misc/c_rehash
- rm "${ED}"/usr/bin/c_rehash || die
-
- dodoc CHANGES* FAQ NEWS README doc/*.txt doc/${PN}-c-indent.el
-
- # create the certs directory
- keepdir ${SSL_CNF_DIR}/certs
-
- # Namespace openssl programs to prevent conflicts with other man pages
- cd "${ED}"/usr/share/man || die
- local m d s
- for m in $(find . -type f | xargs grep -L '#include') ; do
- d=${m%/*} ; d=${d#./} ; m=${m##*/}
- [[ ${m} == openssl.1* ]] && continue
- [[ -n $(find -L ${d} -type l) ]] && die "erp, broken links already!"
- mv ${d}/{,ssl-}${m}
- # fix up references to renamed man pages
- sed -i '/^[.]SH "SEE ALSO"/,/^[.]/s:\([^(, ]*(1)\):ssl-\1:g' ${d}/ssl-${m}
- ln -s ssl-${m} ${d}/openssl-${m}
- # locate any symlinks that point to this man page ... we assume
- # that any broken links are due to the above renaming
- for s in $(find -L ${d} -type l) ; do
- s=${s##*/}
- rm -f ${d}/${s}
- # We don't want to "|| die" here
- ln -s ssl-${m} ${d}/ssl-${s}
- ln -s ssl-${s} ${d}/openssl-${s}
- done
- done
- [[ -n $(find -L ${d} -type l) ]] && die "broken manpage links found :("
-
- dodir /etc/sandbox.d #254521
- echo 'SANDBOX_PREDICT="/dev/crypto"' > "${ED}"/etc/sandbox.d/10openssl
-
- diropts -m0700
- keepdir ${SSL_CNF_DIR}/private
-}
-
-pkg_postinst() {
- ebegin "Running 'c_rehash ${EROOT}${SSL_CNF_DIR}/certs/' to rebuild hashes #333069"
- c_rehash "${EROOT}${SSL_CNF_DIR}/certs" >/dev/null
- eend $?
-}
diff --git a/dev-libs/openssl/openssl-1.1.1l-r1.ebuild b/dev-libs/openssl/openssl-1.1.1l-r1.ebuild
deleted file mode 100644
index 502560ef65a1..000000000000
--- a/dev-libs/openssl/openssl-1.1.1l-r1.ebuild
+++ /dev/null
@@ -1,279 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-
-inherit flag-o-matic toolchain-funcs multilib-minimal
-
-MY_P=${P/_/-}
-
-DESCRIPTION="full-strength general purpose cryptography library (including SSL and TLS)"
-HOMEPAGE="https://www.openssl.org/"
-SRC_URI="mirror://openssl/source/${MY_P}.tar.gz"
-
-LICENSE="openssl"
-SLOT="0/1.1" # .so version of libssl/libcrypto
-[[ "${PV}" = *_pre* ]] || \
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x86-linux"
-IUSE="+asm rfc3779 sctp cpu_flags_x86_sse2 sslv3 static-libs test tls-compression tls-heartbeat vanilla"
-RESTRICT="!test? ( test )"
-
-RDEPEND=">=app-misc/c_rehash-1.7-r1
- tls-compression? ( >=sys-libs/zlib-1.2.8-r1[static-libs(+)?,${MULTILIB_USEDEP}] )"
-DEPEND="${RDEPEND}"
-BDEPEND="
- >=dev-lang/perl-5
- sctp? ( >=net-misc/lksctp-tools-1.0.12 )
- test? (
- sys-apps/diffutils
- sys-devel/bc
- sys-process/procps
- )"
-PDEPEND="app-misc/ca-certificates"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-1.1.0j-parallel_install_fix.patch #671602
- "${FILESDIR}"/${PN}-1.1.1i-riscv32.patch
-)
-
-S="${WORKDIR}/${MY_P}"
-
-# force upgrade to prevent broken login, bug 696950
-RDEPEND+=" !<net-misc/openssh-8.0_p1-r3"
-
-MULTILIB_WRAPPED_HEADERS=(
- usr/include/openssl/opensslconf.h
-)
-
-pkg_setup() {
- [[ ${MERGE_TYPE} == binary ]] && return
-
- # must check in pkg_setup; sysctl don't work with userpriv!
- if use test && use sctp; then
- # test_ssl_new will fail with "Ensure SCTP AUTH chunks are enabled in kernel"
- # if sctp.auth_enable is not enabled.
- local sctp_auth_status=$(sysctl -n net.sctp.auth_enable 2>/dev/null)
- if [[ -z "${sctp_auth_status}" ]] || [[ ${sctp_auth_status} != 1 ]]; then
- die "FEATURES=test with USE=sctp requires net.sctp.auth_enable=1!"
- fi
- fi
-}
-
-src_prepare() {
- # allow openssl to be cross-compiled
- cp "${FILESDIR}"/gentoo.config-1.0.2 gentoo.config || die
- chmod a+rx gentoo.config || die
-
- # keep this in sync with app-misc/c_rehash
- SSL_CNF_DIR="/etc/ssl"
-
- # Make sure we only ever touch Makefile.org and avoid patching a file
- # that gets blown away anyways by the Configure script in src_configure
- rm -f Makefile
-
- if ! use vanilla ; then
- if [[ $(declare -p PATCHES 2>/dev/null) == "declare -a"* ]] ; then
- [[ ${#PATCHES[@]} -gt 0 ]] && eapply "${PATCHES[@]}"
- fi
- fi
-
- eapply_user #332661
-
- if use test && use sctp && has network-sandbox ${FEATURES}; then
- ebegin "Disabling test '80-test_ssl_new.t' which is known to fail with FEATURES=network-sandbox"
- rm test/recipes/80-test_ssl_new.t || die
- eend $?
- fi
-
- # make sure the man pages are suffixed #302165
- # don't bother building man pages if they're disabled
- # Make DOCDIR Gentoo compliant
- sed -i \
- -e '/^MANSUFFIX/s:=.*:=ssl:' \
- -e '/^MAKEDEPPROG/s:=.*:=$(CC):' \
- -e $(has noman FEATURES \
- && echo '/^install:/s:install_docs::' \
- || echo '/^MANDIR=/s:=.*:='${EPREFIX}'/usr/share/man:') \
- -e "/^DOCDIR/s@\$(BASENAME)@&-${PVR}@" \
- Configurations/unix-Makefile.tmpl \
- || die
-
- # quiet out unknown driver argument warnings since openssl
- # doesn't have well-split CFLAGS and we're making it even worse
- # and 'make depend' uses -Werror for added fun (#417795 again)
- [[ ${CC} == *clang* ]] && append-flags -Qunused-arguments
-
- append-flags -fno-strict-aliasing
- append-flags $(test-flags-CC -Wa,--noexecstack)
- append-cppflags -DOPENSSL_NO_BUF_FREELISTS
-
- # Prefixify Configure shebang (#141906)
- sed \
- -e "1s,/usr/bin/env,${EPREFIX}&," \
- -i Configure || die
- # Remove test target when FEATURES=test isn't set
- if ! use test ; then
- sed \
- -e '/^$config{dirs}/s@ "test",@@' \
- -i Configure || die
- fi
- # The config script does stupid stuff to prompt the user. Kill it.
- sed -i '/stty -icanon min 0 time 50; read waste/d' config || die
- ./config --test-sanity || die "I AM NOT SANE"
-
- multilib_copy_sources
-}
-
-multilib_src_configure() {
- unset APPS #197996
- unset SCRIPTS #312551
- unset CROSS_COMPILE #311473
-
- tc-export CC AR RANLIB RC
-
- use_ssl() { usex $1 "enable-${2:-$1}" "no-${2:-$1}" " ${*:3}" ; }
- echoit() { echo "$@" ; "$@" ; }
-
- local krb5=$(has_version app-crypt/mit-krb5 && echo "MIT" || echo "Heimdal")
-
- # See if our toolchain supports __uint128_t. If so, it's 64bit
- # friendly and can use the nicely optimized code paths. #460790
- local ec_nistp_64_gcc_128
- # Disable it for now though #469976
- # echo "__uint128_t i;" > "${T}"/128.c
- # if ${CC} ${CFLAGS} -c "${T}"/128.c -o /dev/null >&/dev/null ; then
- # ec_nistp_64_gcc_128="enable-ec_nistp_64_gcc_128"
- # fi
-
- local sslout=$(./gentoo.config)
- einfo "Use configuration ${sslout:-(openssl knows best)}"
- local config="Configure"
- [[ -z ${sslout} ]] && config="config"
-
- # "disable-deprecated" option breaks too many consumers.
- # Don't set it without thorough revdeps testing.
- # Make sure user flags don't get added *yet* to avoid duplicated
- # flags.
- CFLAGS= LDFLAGS= echoit \
- ./${config} \
- ${sslout} \
- $(use cpu_flags_x86_sse2 || echo "no-sse2") \
- enable-camellia \
- enable-ec \
- enable-ec2m \
- enable-sm2 \
- enable-srp \
- $(use elibc_musl && echo "no-async") \
- ${ec_nistp_64_gcc_128} \
- enable-idea \
- enable-mdc2 \
- enable-rc5 \
- $(use_ssl sslv3 ssl3) \
- $(use_ssl sslv3 ssl3-method) \
- $(use_ssl asm) \
- $(use_ssl rfc3779) \
- $(use_ssl sctp) \
- $(use_ssl tls-compression zlib) \
- $(use_ssl tls-heartbeat heartbeats) \
- --prefix="${EPREFIX}"/usr \
- --openssldir="${EPREFIX}"${SSL_CNF_DIR} \
- --libdir=$(get_libdir) \
- shared threads \
- || die
-
- # Clean out hardcoded flags that openssl uses
- local DEFAULT_CFLAGS=$(grep ^CFLAGS= Makefile | LC_ALL=C sed \
- -e 's:^CFLAGS=::' \
- -e 's:\(^\| \)-fomit-frame-pointer::g' \
- -e 's:\(^\| \)-O[^ ]*::g' \
- -e 's:\(^\| \)-march=[^ ]*::g' \
- -e 's:\(^\| \)-mcpu=[^ ]*::g' \
- -e 's:\(^\| \)-m[^ ]*::g' \
- -e 's:^ *::' \
- -e 's: *$::' \
- -e 's: \+: :g' \
- -e 's:\\:\\\\:g'
- )
-
- # Now insert clean default flags with user flags
- sed -i \
- -e "/^CFLAGS=/s|=.*|=${DEFAULT_CFLAGS} ${CFLAGS}|" \
- -e "/^LDFLAGS=/s|=[[:space:]]*$|=${LDFLAGS}|" \
- Makefile || die
-}
-
-multilib_src_compile() {
- # depend is needed to use $confopts; it also doesn't matter
- # that it's -j1 as the code itself serializes subdirs
- emake -j1 depend
- emake all
-}
-
-multilib_src_test() {
- emake -j1 test
-}
-
-multilib_src_install() {
- # We need to create $ED/usr on our own to avoid a race condition #665130
- if [[ ! -d "${ED}/usr" ]]; then
- # We can only create this directory once
- mkdir "${ED}"/usr || die
- fi
-
- emake DESTDIR="${D}" install
-
- # This is crappy in that the static archives are still built even
- # when USE=static-libs. But this is due to a failing in the openssl
- # build system: the static archives are built as PIC all the time.
- # Only way around this would be to manually configure+compile openssl
- # twice; once with shared lib support enabled and once without.
- if ! use static-libs; then
- rm "${ED}"/usr/$(get_libdir)/lib{crypto,ssl}.a || die
- fi
-}
-
-multilib_src_install_all() {
- # openssl installs perl version of c_rehash by default, but
- # we provide a shell version via app-misc/c_rehash
- rm "${ED}"/usr/bin/c_rehash || die
-
- dodoc CHANGES* FAQ NEWS README doc/*.txt doc/${PN}-c-indent.el
-
- # create the certs directory
- keepdir ${SSL_CNF_DIR}/certs
-
- # Namespace openssl programs to prevent conflicts with other man pages
- cd "${ED}"/usr/share/man || die
- local m d s
- for m in $(find . -type f | xargs grep -L '#include') ; do
- d=${m%/*} ; d=${d#./} ; m=${m##*/}
- [[ ${m} == openssl.1* ]] && continue
- [[ -n $(find -L ${d} -type l) ]] && die "erp, broken links already!"
- mv ${d}/{,ssl-}${m}
- # fix up references to renamed man pages
- sed -i '/^[.]SH "SEE ALSO"/,/^[.]/s:\([^(, ]*(1)\):ssl-\1:g' ${d}/ssl-${m}
- ln -s ssl-${m} ${d}/openssl-${m}
- # locate any symlinks that point to this man page ... we assume
- # that any broken links are due to the above renaming
- for s in $(find -L ${d} -type l) ; do
- s=${s##*/}
- rm -f ${d}/${s}
- # We don't want to "|| die" here
- ln -s ssl-${m} ${d}/ssl-${s}
- ln -s ssl-${s} ${d}/openssl-${s}
- done
- done
- [[ -n $(find -L ${d} -type l) ]] && die "broken manpage links found :("
-
- dodir /etc/sandbox.d #254521
- echo 'SANDBOX_PREDICT="/dev/crypto"' > "${ED}"/etc/sandbox.d/10openssl
-
- diropts -m0700
- keepdir ${SSL_CNF_DIR}/private
-}
-
-pkg_postinst() {
- ebegin "Running 'c_rehash ${EROOT}${SSL_CNF_DIR}/certs/' to rebuild hashes #333069"
- c_rehash "${EROOT}${SSL_CNF_DIR}/certs" >/dev/null
- eend $?
-}
diff --git a/dev-libs/openssl/openssl-1.1.1l.ebuild b/dev-libs/openssl/openssl-1.1.1l.ebuild
deleted file mode 100644
index a4186f363f17..000000000000
--- a/dev-libs/openssl/openssl-1.1.1l.ebuild
+++ /dev/null
@@ -1,328 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-
-inherit flag-o-matic toolchain-funcs multilib-minimal
-
-MY_P=${P/_/-}
-
-# This patch set is based on the following files from Fedora 31,
-# see https://src.fedoraproject.org/rpms/openssl/blob/f31/f/openssl.spec
-# for more details:
-# - hobble-openssl (SOURCE1)
-# - ec_curve.c (SOURCE12) -- MODIFIED
-# - ectest.c (SOURCE13)
-# - openssl-1.1.1-ec-curves.patch (PATCH37) -- MODIFIED
-BINDIST_PATCH_SET="openssl-1.1.1i-bindist-1.0.tar.xz"
-
-DESCRIPTION="full-strength general purpose cryptography library (including SSL and TLS)"
-HOMEPAGE="https://www.openssl.org/"
-SRC_URI="mirror://openssl/source/${MY_P}.tar.gz
- bindist? (
- mirror://gentoo/${BINDIST_PATCH_SET}
- https://dev.gentoo.org/~whissi/dist/openssl/${BINDIST_PATCH_SET}
- )"
-
-LICENSE="openssl"
-SLOT="0/1.1" # .so version of libssl/libcrypto
-[[ "${PV}" = *_pre* ]] || \
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x86-linux"
-IUSE="+asm bindist rfc3779 sctp cpu_flags_x86_sse2 sslv3 static-libs test tls-compression tls-heartbeat vanilla"
-RESTRICT="!bindist? ( bindist )
- !test? ( test )"
-
-RDEPEND=">=app-misc/c_rehash-1.7-r1
- tls-compression? ( >=sys-libs/zlib-1.2.8-r1[static-libs(+)?,${MULTILIB_USEDEP}] )"
-DEPEND="${RDEPEND}"
-BDEPEND="
- >=dev-lang/perl-5
- sctp? ( >=net-misc/lksctp-tools-1.0.12 )
- test? (
- sys-apps/diffutils
- sys-devel/bc
- sys-process/procps
- )"
-PDEPEND="app-misc/ca-certificates"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-1.1.0j-parallel_install_fix.patch #671602
- "${FILESDIR}"/${PN}-1.1.1i-riscv32.patch
-)
-
-S="${WORKDIR}/${MY_P}"
-
-# force upgrade to prevent broken login, bug 696950
-RDEPEND+=" !<net-misc/openssh-8.0_p1-r3"
-
-MULTILIB_WRAPPED_HEADERS=(
- usr/include/openssl/opensslconf.h
-)
-
-pkg_setup() {
- [[ ${MERGE_TYPE} == binary ]] && return
-
- # must check in pkg_setup; sysctl don't work with userpriv!
- if use test && use sctp; then
- # test_ssl_new will fail with "Ensure SCTP AUTH chunks are enabled in kernel"
- # if sctp.auth_enable is not enabled.
- local sctp_auth_status=$(sysctl -n net.sctp.auth_enable 2>/dev/null)
- if [[ -z "${sctp_auth_status}" ]] || [[ ${sctp_auth_status} != 1 ]]; then
- die "FEATURES=test with USE=sctp requires net.sctp.auth_enable=1!"
- fi
- fi
-}
-
-src_prepare() {
- # allow openssl to be cross-compiled
- cp "${FILESDIR}"/gentoo.config-1.0.2 gentoo.config || die
- chmod a+rx gentoo.config || die
-
- if use bindist; then
- mv "${WORKDIR}"/bindist-patches/hobble-openssl "${WORKDIR}" || die
- bash "${WORKDIR}"/hobble-openssl || die
-
- cp -f "${WORKDIR}"/bindist-patches/ec_curve.c "${S}"/crypto/ec/ || die
- cp -f "${WORKDIR}"/bindist-patches/ectest.c "${S}"/test/ || die
-
- eapply "${WORKDIR}"/bindist-patches/ec-curves.patch
-
- local known_failing_test
- for known_failing_test in \
- 30-test_evp_extra.t \
- 80-test_ssl_new.t \
- ; do
- ebegin "Disabling test '${known_failing_test}' which is known to fail with USE=bindist"
- rm test/recipes/${known_failing_test} || die
- eend $?
- done
-
- # Also see the configure parts below:
- # enable-ec \
- # $(use_ssl !bindist ec2m) \
- fi
-
- # keep this in sync with app-misc/c_rehash
- SSL_CNF_DIR="/etc/ssl"
-
- # Make sure we only ever touch Makefile.org and avoid patching a file
- # that gets blown away anyways by the Configure script in src_configure
- rm -f Makefile
-
- if ! use vanilla ; then
- if [[ $(declare -p PATCHES 2>/dev/null) == "declare -a"* ]] ; then
- [[ ${#PATCHES[@]} -gt 0 ]] && eapply "${PATCHES[@]}"
- fi
- fi
-
- eapply_user #332661
-
- if use test && use sctp && has network-sandbox ${FEATURES}; then
- ebegin "Disabling test '80-test_ssl_new.t' which is known to fail with FEATURES=network-sandbox"
- rm test/recipes/80-test_ssl_new.t || die
- eend $?
- fi
-
- # make sure the man pages are suffixed #302165
- # don't bother building man pages if they're disabled
- # Make DOCDIR Gentoo compliant
- sed -i \
- -e '/^MANSUFFIX/s:=.*:=ssl:' \
- -e '/^MAKEDEPPROG/s:=.*:=$(CC):' \
- -e $(has noman FEATURES \
- && echo '/^install:/s:install_docs::' \
- || echo '/^MANDIR=/s:=.*:='${EPREFIX}'/usr/share/man:') \
- -e "/^DOCDIR/s@\$(BASENAME)@&-${PVR}@" \
- Configurations/unix-Makefile.tmpl \
- || die
-
- # quiet out unknown driver argument warnings since openssl
- # doesn't have well-split CFLAGS and we're making it even worse
- # and 'make depend' uses -Werror for added fun (#417795 again)
- [[ ${CC} == *clang* ]] && append-flags -Qunused-arguments
-
- append-flags -fno-strict-aliasing
- append-flags $(test-flags-CC -Wa,--noexecstack)
- append-cppflags -DOPENSSL_NO_BUF_FREELISTS
-
- # Prefixify Configure shebang (#141906)
- sed \
- -e "1s,/usr/bin/env,${EPREFIX}&," \
- -i Configure || die
- # Remove test target when FEATURES=test isn't set
- if ! use test ; then
- sed \
- -e '/^$config{dirs}/s@ "test",@@' \
- -i Configure || die
- fi
- # The config script does stupid stuff to prompt the user. Kill it.
- sed -i '/stty -icanon min 0 time 50; read waste/d' config || die
- ./config --test-sanity || die "I AM NOT SANE"
-
- multilib_copy_sources
-}
-
-multilib_src_configure() {
- unset APPS #197996
- unset SCRIPTS #312551
- unset CROSS_COMPILE #311473
-
- tc-export CC AR RANLIB RC
-
- # Clean out patent-or-otherwise-encumbered code
- # Camellia: Royalty Free https://en.wikipedia.org/wiki/Camellia_(cipher)
- # IDEA: Expired https://en.wikipedia.org/wiki/International_Data_Encryption_Algorithm
- # EC: ????????? ??/??/2015 https://en.wikipedia.org/wiki/Elliptic_Curve_Cryptography
- # MDC2: Expired https://en.wikipedia.org/wiki/MDC-2
- # RC5: Expired https://en.wikipedia.org/wiki/RC5
-
- use_ssl() { usex $1 "enable-${2:-$1}" "no-${2:-$1}" " ${*:3}" ; }
- echoit() { echo "$@" ; "$@" ; }
-
- local krb5=$(has_version app-crypt/mit-krb5 && echo "MIT" || echo "Heimdal")
-
- # See if our toolchain supports __uint128_t. If so, it's 64bit
- # friendly and can use the nicely optimized code paths. #460790
- local ec_nistp_64_gcc_128
- # Disable it for now though #469976
- #if ! use bindist ; then
- # echo "__uint128_t i;" > "${T}"/128.c
- # if ${CC} ${CFLAGS} -c "${T}"/128.c -o /dev/null >&/dev/null ; then
- # ec_nistp_64_gcc_128="enable-ec_nistp_64_gcc_128"
- # fi
- #fi
-
- local sslout=$(./gentoo.config)
- einfo "Use configuration ${sslout:-(openssl knows best)}"
- local config="Configure"
- [[ -z ${sslout} ]] && config="config"
-
- # Fedora hobbled-EC needs 'no-ec2m'
- # 'srp' was restricted until early 2017 as well.
- # "disable-deprecated" option breaks too many consumers.
- # Don't set it without thorough revdeps testing.
- # Make sure user flags don't get added *yet* to avoid duplicated
- # flags.
- CFLAGS= LDFLAGS= echoit \
- ./${config} \
- ${sslout} \
- $(use cpu_flags_x86_sse2 || echo "no-sse2") \
- enable-camellia \
- enable-ec \
- $(use_ssl !bindist ec2m) \
- $(use_ssl !bindist sm2) \
- enable-srp \
- $(use elibc_musl && echo "no-async") \
- ${ec_nistp_64_gcc_128} \
- enable-idea \
- enable-mdc2 \
- enable-rc5 \
- $(use_ssl sslv3 ssl3) \
- $(use_ssl sslv3 ssl3-method) \
- $(use_ssl asm) \
- $(use_ssl rfc3779) \
- $(use_ssl sctp) \
- $(use_ssl tls-compression zlib) \
- $(use_ssl tls-heartbeat heartbeats) \
- --prefix="${EPREFIX}"/usr \
- --openssldir="${EPREFIX}"${SSL_CNF_DIR} \
- --libdir=$(get_libdir) \
- shared threads \
- || die
-
- # Clean out hardcoded flags that openssl uses
- local DEFAULT_CFLAGS=$(grep ^CFLAGS= Makefile | LC_ALL=C sed \
- -e 's:^CFLAGS=::' \
- -e 's:\(^\| \)-fomit-frame-pointer::g' \
- -e 's:\(^\| \)-O[^ ]*::g' \
- -e 's:\(^\| \)-march=[^ ]*::g' \
- -e 's:\(^\| \)-mcpu=[^ ]*::g' \
- -e 's:\(^\| \)-m[^ ]*::g' \
- -e 's:^ *::' \
- -e 's: *$::' \
- -e 's: \+: :g' \
- -e 's:\\:\\\\:g'
- )
-
- # Now insert clean default flags with user flags
- sed -i \
- -e "/^CFLAGS=/s|=.*|=${DEFAULT_CFLAGS} ${CFLAGS}|" \
- -e "/^LDFLAGS=/s|=[[:space:]]*$|=${LDFLAGS}|" \
- Makefile || die
-}
-
-multilib_src_compile() {
- # depend is needed to use $confopts; it also doesn't matter
- # that it's -j1 as the code itself serializes subdirs
- emake -j1 depend
- emake all
-}
-
-multilib_src_test() {
- emake -j1 test
-}
-
-multilib_src_install() {
- # We need to create $ED/usr on our own to avoid a race condition #665130
- if [[ ! -d "${ED}/usr" ]]; then
- # We can only create this directory once
- mkdir "${ED}"/usr || die
- fi
-
- emake DESTDIR="${D}" install
-
- # This is crappy in that the static archives are still built even
- # when USE=static-libs. But this is due to a failing in the openssl
- # build system: the static archives are built as PIC all the time.
- # Only way around this would be to manually configure+compile openssl
- # twice; once with shared lib support enabled and once without.
- if ! use static-libs; then
- rm "${ED}"/usr/$(get_libdir)/lib{crypto,ssl}.a || die
- fi
-}
-
-multilib_src_install_all() {
- # openssl installs perl version of c_rehash by default, but
- # we provide a shell version via app-misc/c_rehash
- rm "${ED}"/usr/bin/c_rehash || die
-
- dodoc CHANGES* FAQ NEWS README doc/*.txt doc/${PN}-c-indent.el
-
- # create the certs directory
- keepdir ${SSL_CNF_DIR}/certs
-
- # Namespace openssl programs to prevent conflicts with other man pages
- cd "${ED}"/usr/share/man || die
- local m d s
- for m in $(find . -type f | xargs grep -L '#include') ; do
- d=${m%/*} ; d=${d#./} ; m=${m##*/}
- [[ ${m} == openssl.1* ]] && continue
- [[ -n $(find -L ${d} -type l) ]] && die "erp, broken links already!"
- mv ${d}/{,ssl-}${m}
- # fix up references to renamed man pages
- sed -i '/^[.]SH "SEE ALSO"/,/^[.]/s:\([^(, ]*(1)\):ssl-\1:g' ${d}/ssl-${m}
- ln -s ssl-${m} ${d}/openssl-${m}
- # locate any symlinks that point to this man page ... we assume
- # that any broken links are due to the above renaming
- for s in $(find -L ${d} -type l) ; do
- s=${s##*/}
- rm -f ${d}/${s}
- # We don't want to "|| die" here
- ln -s ssl-${m} ${d}/ssl-${s}
- ln -s ssl-${s} ${d}/openssl-${s}
- done
- done
- [[ -n $(find -L ${d} -type l) ]] && die "broken manpage links found :("
-
- dodir /etc/sandbox.d #254521
- echo 'SANDBOX_PREDICT="/dev/crypto"' > "${ED}"/etc/sandbox.d/10openssl
-
- diropts -m0700
- keepdir ${SSL_CNF_DIR}/private
-}
-
-pkg_postinst() {
- ebegin "Running 'c_rehash ${EROOT}${SSL_CNF_DIR}/certs/' to rebuild hashes #333069"
- c_rehash "${EROOT}${SSL_CNF_DIR}/certs" >/dev/null
- eend $?
-}
diff --git a/dev-libs/openssl/openssl-1.1.1m.ebuild b/dev-libs/openssl/openssl-1.1.1m.ebuild
deleted file mode 100644
index 397cea96f3c9..000000000000
--- a/dev-libs/openssl/openssl-1.1.1m.ebuild
+++ /dev/null
@@ -1,294 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-
-inherit flag-o-matic toolchain-funcs multilib-minimal
-
-MY_P=${P/_/-}
-
-DESCRIPTION="full-strength general purpose cryptography library (including SSL and TLS)"
-HOMEPAGE="https://www.openssl.org/"
-SRC_URI="mirror://openssl/source/${MY_P}.tar.gz"
-
-LICENSE="openssl"
-SLOT="0/1.1" # .so version of libssl/libcrypto
-[[ "${PV}" = *_pre* ]] || \
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris ~x86-winnt"
-IUSE="+asm rfc3779 sctp cpu_flags_x86_sse2 sslv3 static-libs test tls-compression tls-heartbeat vanilla"
-RESTRICT="!test? ( test )"
-
-RDEPEND=">=app-misc/c_rehash-1.7-r1
- tls-compression? ( >=sys-libs/zlib-1.2.8-r1[static-libs(+)?,${MULTILIB_USEDEP}] )"
-DEPEND="${RDEPEND}"
-BDEPEND="
- >=dev-lang/perl-5
- sctp? ( >=net-misc/lksctp-tools-1.0.12 )
- test? (
- sys-apps/diffutils
- sys-devel/bc
- kernel_linux? ( sys-process/procps )
- )"
-PDEPEND="app-misc/ca-certificates"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-1.1.0j-parallel_install_fix.patch #671602
- "${FILESDIR}"/${PN}-1.1.1i-riscv32.patch
-)
-
-S="${WORKDIR}/${MY_P}"
-
-# force upgrade to prevent broken login, bug 696950
-RDEPEND+=" !<net-misc/openssh-8.0_p1-r3"
-
-MULTILIB_WRAPPED_HEADERS=(
- usr/include/openssl/opensslconf.h
-)
-
-pkg_setup() {
- [[ ${MERGE_TYPE} == binary ]] && return
-
- # must check in pkg_setup; sysctl don't work with userpriv!
- if use test && use sctp; then
- # test_ssl_new will fail with "Ensure SCTP AUTH chunks are enabled in kernel"
- # if sctp.auth_enable is not enabled.
- local sctp_auth_status=$(sysctl -n net.sctp.auth_enable 2>/dev/null)
- if [[ -z "${sctp_auth_status}" ]] || [[ ${sctp_auth_status} != 1 ]]; then
- die "FEATURES=test with USE=sctp requires net.sctp.auth_enable=1!"
- fi
- fi
-}
-
-src_prepare() {
- # allow openssl to be cross-compiled
- cp "${FILESDIR}"/gentoo.config-1.0.2 gentoo.config || die
- chmod a+rx gentoo.config || die
-
- # keep this in sync with app-misc/c_rehash
- SSL_CNF_DIR="/etc/ssl"
-
- # Make sure we only ever touch Makefile.org and avoid patching a file
- # that gets blown away anyways by the Configure script in src_configure
- rm -f Makefile
-
- if ! use vanilla ; then
- if [[ $(declare -p PATCHES 2>/dev/null) == "declare -a"* ]] ; then
- [[ ${#PATCHES[@]} -gt 0 ]] && eapply "${PATCHES[@]}"
- fi
- fi
-
- eapply_user #332661
-
- if use test && use sctp && has network-sandbox ${FEATURES}; then
- ebegin "Disabling test '80-test_ssl_new.t' which is known to fail with FEATURES=network-sandbox"
- rm test/recipes/80-test_ssl_new.t || die
- eend $?
- fi
-
- # make sure the man pages are suffixed #302165
- # don't bother building man pages if they're disabled
- # Make DOCDIR Gentoo compliant
- sed -i \
- -e '/^MANSUFFIX/s:=.*:=ssl:' \
- -e '/^MAKEDEPPROG/s:=.*:=$(CC):' \
- -e $(has noman FEATURES \
- && echo '/^install:/s:install_docs::' \
- || echo '/^MANDIR=/s:=.*:='${EPREFIX}'/usr/share/man:') \
- -e "/^DOCDIR/s@\$(BASENAME)@&-${PVR}@" \
- Configurations/unix-Makefile.tmpl \
- || die
-
- # quiet out unknown driver argument warnings since openssl
- # doesn't have well-split CFLAGS and we're making it even worse
- # and 'make depend' uses -Werror for added fun (#417795 again)
- [[ ${CC} == *clang* ]] && append-flags -Qunused-arguments
-
- append-flags -fno-strict-aliasing
- append-flags $(test-flags-CC -Wa,--noexecstack)
- append-cppflags -DOPENSSL_NO_BUF_FREELISTS
-
- # Prefixify Configure shebang (#141906)
- sed \
- -e "1s,/usr/bin/env,${EPREFIX}&," \
- -i Configure || die
- # Remove test target when FEATURES=test isn't set
- if ! use test ; then
- sed \
- -e '/^$config{dirs}/s@ "test",@@' \
- -i Configure || die
- fi
-
- if use prefix && [[ ${CHOST} == *-solaris* ]] ; then
- # use GNU ld full option, not to confuse it on Solaris
- sed -i \
- -e 's/-Wl,-M,/-Wl,--version-script=/' \
- -e 's/-Wl,-h,/-Wl,--soname=/' \
- Configurations/10-main.conf || die
-
- # fix building on Solaris 10
- # https://github.com/openssl/openssl/issues/6333
- sed -i \
- -e 's/-lsocket -lnsl -ldl/-lsocket -lnsl -ldl -lrt/' \
- Configurations/10-main.conf || die
- fi
-
- # The config script does stupid stuff to prompt the user. Kill it.
- sed -i '/stty -icanon min 0 time 50; read waste/d' config || die
- ./config --test-sanity || die "I AM NOT SANE"
-
- multilib_copy_sources
-}
-
-multilib_src_configure() {
- unset APPS #197996
- unset SCRIPTS #312551
- unset CROSS_COMPILE #311473
-
- tc-export CC AR RANLIB RC
-
- use_ssl() { usex $1 "enable-${2:-$1}" "no-${2:-$1}" " ${*:3}" ; }
- echoit() { echo "$@" ; "$@" ; }
-
- local krb5=$(has_version app-crypt/mit-krb5 && echo "MIT" || echo "Heimdal")
-
- # See if our toolchain supports __uint128_t. If so, it's 64bit
- # friendly and can use the nicely optimized code paths. #460790
- local ec_nistp_64_gcc_128
- # Disable it for now though #469976
- # echo "__uint128_t i;" > "${T}"/128.c
- # if ${CC} ${CFLAGS} -c "${T}"/128.c -o /dev/null >&/dev/null ; then
- # ec_nistp_64_gcc_128="enable-ec_nistp_64_gcc_128"
- # fi
-
- local sslout=$(./gentoo.config)
- einfo "Use configuration ${sslout:-(openssl knows best)}"
- local config="Configure"
- [[ -z ${sslout} ]] && config="config"
-
- # "disable-deprecated" option breaks too many consumers.
- # Don't set it without thorough revdeps testing.
- # Make sure user flags don't get added *yet* to avoid duplicated
- # flags.
- CFLAGS= LDFLAGS= echoit \
- ./${config} \
- ${sslout} \
- $(use cpu_flags_x86_sse2 || echo "no-sse2") \
- enable-camellia \
- enable-ec \
- enable-ec2m \
- enable-sm2 \
- enable-srp \
- $(use elibc_musl && echo "no-async") \
- ${ec_nistp_64_gcc_128} \
- enable-idea \
- enable-mdc2 \
- enable-rc5 \
- $(use_ssl sslv3 ssl3) \
- $(use_ssl sslv3 ssl3-method) \
- $(use_ssl asm) \
- $(use_ssl rfc3779) \
- $(use_ssl sctp) \
- $(use_ssl tls-compression zlib) \
- $(use_ssl tls-heartbeat heartbeats) \
- --prefix="${EPREFIX}"/usr \
- --openssldir="${EPREFIX}"${SSL_CNF_DIR} \
- --libdir=$(get_libdir) \
- shared threads \
- || die
-
- # Clean out hardcoded flags that openssl uses
- local DEFAULT_CFLAGS=$(grep ^CFLAGS= Makefile | LC_ALL=C sed \
- -e 's:^CFLAGS=::' \
- -e 's:\(^\| \)-fomit-frame-pointer::g' \
- -e 's:\(^\| \)-O[^ ]*::g' \
- -e 's:\(^\| \)-march=[^ ]*::g' \
- -e 's:\(^\| \)-mcpu=[^ ]*::g' \
- -e 's:\(^\| \)-m[^ ]*::g' \
- -e 's:^ *::' \
- -e 's: *$::' \
- -e 's: \+: :g' \
- -e 's:\\:\\\\:g'
- )
-
- # Now insert clean default flags with user flags
- sed -i \
- -e "/^CFLAGS=/s|=.*|=${DEFAULT_CFLAGS} ${CFLAGS}|" \
- -e "/^LDFLAGS=/s|=[[:space:]]*$|=${LDFLAGS}|" \
- Makefile || die
-}
-
-multilib_src_compile() {
- # depend is needed to use $confopts; it also doesn't matter
- # that it's -j1 as the code itself serializes subdirs
- emake -j1 depend
- emake all
-}
-
-multilib_src_test() {
- emake -j1 test
-}
-
-multilib_src_install() {
- # We need to create $ED/usr on our own to avoid a race condition #665130
- if [[ ! -d "${ED}/usr" ]]; then
- # We can only create this directory once
- mkdir "${ED}"/usr || die
- fi
-
- emake DESTDIR="${D}" install
-
- # This is crappy in that the static archives are still built even
- # when USE=static-libs. But this is due to a failing in the openssl
- # build system: the static archives are built as PIC all the time.
- # Only way around this would be to manually configure+compile openssl
- # twice; once with shared lib support enabled and once without.
- if ! use static-libs; then
- rm "${ED}"/usr/$(get_libdir)/lib{crypto,ssl}.a || die
- fi
-}
-
-multilib_src_install_all() {
- # openssl installs perl version of c_rehash by default, but
- # we provide a shell version via app-misc/c_rehash
- rm "${ED}"/usr/bin/c_rehash || die
-
- dodoc CHANGES* FAQ NEWS README doc/*.txt doc/${PN}-c-indent.el
-
- # create the certs directory
- keepdir ${SSL_CNF_DIR}/certs
-
- # Namespace openssl programs to prevent conflicts with other man pages
- cd "${ED}"/usr/share/man || die
- local m d s
- for m in $(find . -type f | xargs grep -L '#include') ; do
- d=${m%/*} ; d=${d#./} ; m=${m##*/}
- [[ ${m} == openssl.1* ]] && continue
- [[ -n $(find -L ${d} -type l) ]] && die "erp, broken links already!"
- mv ${d}/{,ssl-}${m}
- # fix up references to renamed man pages
- sed -i '/^[.]SH "SEE ALSO"/,/^[.]/s:\([^(, ]*(1)\):ssl-\1:g' ${d}/ssl-${m}
- ln -s ssl-${m} ${d}/openssl-${m}
- # locate any symlinks that point to this man page ... we assume
- # that any broken links are due to the above renaming
- for s in $(find -L ${d} -type l) ; do
- s=${s##*/}
- rm -f ${d}/${s}
- # We don't want to "|| die" here
- ln -s ssl-${m} ${d}/ssl-${s}
- ln -s ssl-${s} ${d}/openssl-${s}
- done
- done
- [[ -n $(find -L ${d} -type l) ]] && die "broken manpage links found :("
-
- dodir /etc/sandbox.d #254521
- echo 'SANDBOX_PREDICT="/dev/crypto"' > "${ED}"/etc/sandbox.d/10openssl
-
- diropts -m0700
- keepdir ${SSL_CNF_DIR}/private
-}
-
-pkg_postinst() {
- ebegin "Running 'c_rehash ${EROOT}${SSL_CNF_DIR}/certs/' to rebuild hashes #333069"
- c_rehash "${EROOT}${SSL_CNF_DIR}/certs" >/dev/null
- eend $?
-}
diff --git a/dev-libs/openssl/openssl-1.1.1w.ebuild b/dev-libs/openssl/openssl-1.1.1w.ebuild
new file mode 100644
index 000000000000..d8ec15eef987
--- /dev/null
+++ b/dev-libs/openssl/openssl-1.1.1w.ebuild
@@ -0,0 +1,268 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/openssl.org.asc
+inherit edo flag-o-matic toolchain-funcs multilib-minimal verify-sig
+
+MY_P=${P/_/-}
+DESCRIPTION="Full-strength general purpose cryptography library (including SSL and TLS)"
+HOMEPAGE="https://www.openssl.org/"
+SRC_URI="mirror://openssl/source/${MY_P}.tar.gz
+ verify-sig? ( mirror://openssl/source/${MY_P}.tar.gz.asc )"
+S="${WORKDIR}/${MY_P}"
+
+LICENSE="openssl"
+SLOT="0/1.1" # .so version of libssl/libcrypto
+if [[ ${PV} != *_pre* ]] ; then
+ KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+fi
+IUSE="+asm rfc3779 sctp cpu_flags_x86_sse2 sslv3 static-libs test tls-compression tls-heartbeat vanilla verify-sig weak-ssl-ciphers"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ tls-compression? ( >=sys-libs/zlib-1.2.8-r1[static-libs(+)?,${MULTILIB_USEDEP}] )"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ >=dev-lang/perl-5
+ sctp? ( >=net-misc/lksctp-tools-1.0.12 )
+ test? (
+ sys-apps/diffutils
+ app-alternatives/bc
+ kernel_linux? ( sys-process/procps )
+ )
+ verify-sig? ( >=sec-keys/openpgp-keys-openssl-20230801 )"
+PDEPEND="app-misc/ca-certificates"
+
+# force upgrade to prevent broken login, bug #696950
+RDEPEND+=" !<net-misc/openssh-8.0_p1-r3"
+
+MULTILIB_WRAPPED_HEADERS=(
+ usr/include/openssl/opensslconf.h
+)
+
+PATCHES=(
+ # General patches which are suitable to always apply
+ # If they're Gentoo specific, add to USE=-vanilla logic in src_prepare!
+ "${FILESDIR}"/${PN}-1.1.0j-parallel_install_fix.patch # bug #671602
+ "${FILESDIR}"/${PN}-1.1.1i-riscv32.patch
+)
+
+pkg_setup() {
+ [[ ${MERGE_TYPE} == binary ]] && return
+
+ # must check in pkg_setup; sysctl doesn't work with userpriv!
+ if use test && use sctp; then
+ # test_ssl_new will fail with "Ensure SCTP AUTH chunks are enabled in kernel"
+ # if sctp.auth_enable is not enabled.
+ local sctp_auth_status=$(sysctl -n net.sctp.auth_enable 2>/dev/null)
+ if [[ -z "${sctp_auth_status}" ]] || [[ ${sctp_auth_status} != 1 ]]; then
+ die "FEATURES=test with USE=sctp requires net.sctp.auth_enable=1!"
+ fi
+ fi
+}
+
+src_unpack() {
+ # Can delete this once test fix patch is dropped
+ if use verify-sig ; then
+ # Needed for downloaded patch (which is unsigned, which is fine)
+ verify-sig_verify_detached "${DISTDIR}"/${MY_P}.tar.gz{,.asc}
+ fi
+
+ default
+}
+
+src_prepare() {
+ # Make sure we only ever touch Makefile.org and avoid patching a file
+ # that gets blown away anyways by the Configure script in src_configure
+ rm -f Makefile
+
+ if ! use vanilla ; then
+ PATCHES+=(
+ # Add patches which are Gentoo-specific customisations here
+ )
+ fi
+
+ default
+
+ if use test && use sctp && has network-sandbox ${FEATURES}; then
+ einfo "Disabling test '80-test_ssl_new.t' which is known to fail with FEATURES=network-sandbox ..."
+ rm test/recipes/80-test_ssl_new.t || die
+ fi
+
+ # Test fails depending on kernel configuration, bug #699134
+ rm test/recipes/30-test_afalg.t || die
+
+ # Remove test target when FEATURES=test isn't set
+ if ! use test ; then
+ sed \
+ -e '/^$config{dirs}/s@ "test",@@' \
+ -i Configure || die
+ fi
+
+ if use prefix && [[ ${CHOST} == *-solaris* ]] ; then
+ # use GNU ld full option, not to confuse it on Solaris
+ sed -i \
+ -e 's/-Wl,-M,/-Wl,--version-script=/' \
+ -e 's/-Wl,-h,/-Wl,--soname=/' \
+ Configurations/10-main.conf || die
+ fi
+
+ # The config script does stupid stuff to prompt the user. Kill it.
+ sed -i '/stty -icanon min 0 time 50; read waste/d' config || die
+}
+
+src_configure() {
+ # Keep this in sync with app-misc/c_rehash
+ SSL_CNF_DIR="/etc/ssl"
+
+ # Quiet out unknown driver argument warnings since openssl
+ # doesn't have well-split CFLAGS and we're making it even worse
+ # and 'make depend' uses -Werror for added fun (bug #417795 again)
+ tc-is-clang && append-flags -Qunused-arguments
+
+ # We really, really need to build OpenSSL w/ strict aliasing disabled.
+ # It's filled with violations and it *will* result in miscompiled
+ # code. This has been in the ebuild for > 10 years but even in 2022,
+ # it's still relevant:
+ # - https://github.com/llvm/llvm-project/issues/55255
+ # - https://github.com/openssl/openssl/issues/12247
+ # - https://github.com/openssl/openssl/issues/18225
+ # - https://github.com/openssl/openssl/issues/18663#issuecomment-1181478057
+ # Don't remove the no strict aliasing bits below!
+ filter-flags -fstrict-aliasing
+ append-flags -fno-strict-aliasing
+ # The OpenSSL developers don't test with LTO right now, it leads to various
+ # warnings/errors (which may or may not be false positives), it's considered
+ # unsupported, and it's not tested in CI: https://github.com/openssl/openssl/issues/18663.
+ filter-lto
+
+ append-cppflags -DOPENSSL_NO_BUF_FREELISTS
+
+ append-flags $(test-flags-CC -Wa,--noexecstack)
+
+ # bug #197996
+ unset APPS
+ # bug #312551
+ unset SCRIPTS
+ # bug #311473
+ unset CROSS_COMPILE
+
+ tc-export AR CC CXX RANLIB RC
+
+ multilib-minimal_src_configure
+}
+
+multilib_src_configure() {
+ use_ssl() { usex $1 "enable-${2:-$1}" "no-${2:-$1}" " ${*:3}" ; }
+
+ local krb5=$(has_version app-crypt/mit-krb5 && echo "MIT" || echo "Heimdal")
+
+ # See if our toolchain supports __uint128_t. If so, it's 64bit
+ # friendly and can use the nicely optimized code paths, bug #460790.
+ #local ec_nistp_64_gcc_128
+ #
+ # Disable it for now though (bug #469976)
+ # Do NOT re-enable without substantial discussion first!
+ #
+ #echo "__uint128_t i;" > "${T}"/128.c
+ #if ${CC} ${CFLAGS} -c "${T}"/128.c -o /dev/null >&/dev/null ; then
+ # ec_nistp_64_gcc_128="enable-ec_nistp_64_gcc_128"
+ #fi
+
+ local sslout=$(bash "${FILESDIR}/gentoo.config-1.0.4")
+ einfo "Use configuration ${sslout:-(openssl knows best)}"
+ local config=( perl "${S}/Configure" )
+ [[ -z ${sslout} ]] && config=( sh "${S}/config" -v )
+
+ # "disable-deprecated" option breaks too many consumers.
+ # Don't set it without thorough revdeps testing.
+ # Make sure user flags don't get added *yet* to avoid duplicated
+ # flags.
+ local myeconfargs=(
+ ${sslout}
+
+ $(use cpu_flags_x86_sse2 || echo "no-sse2")
+ enable-camellia
+ enable-ec
+ enable-ec2m
+ enable-sm2
+ enable-srp
+ $(use elibc_musl && echo "no-async")
+ ${ec_nistp_64_gcc_128}
+ enable-idea
+ enable-mdc2
+ enable-rc5
+ $(use_ssl sslv3 ssl3)
+ $(use_ssl sslv3 ssl3-method)
+ $(use_ssl asm)
+ $(use_ssl rfc3779)
+ $(use_ssl sctp)
+ $(use test || echo "no-tests")
+ $(use_ssl tls-compression zlib)
+ $(use_ssl tls-heartbeat heartbeats)
+ $(use_ssl weak-ssl-ciphers)
+
+ --prefix="${EPREFIX}"/usr
+ --openssldir="${EPREFIX}"${SSL_CNF_DIR}
+ --libdir=$(get_libdir)
+
+ shared
+ threads
+ )
+
+ edo "${config[@]}" "${myeconfargs[@]}"
+}
+
+multilib_src_compile() {
+ emake all
+}
+
+multilib_src_test() {
+ emake -j1 test
+}
+
+multilib_src_install() {
+ # Only -j1 is supported for the install targets:
+ # https://github.com/openssl/openssl/issues/21999#issuecomment-1771150305
+ emake DESTDIR="${D}" -j1 install_sw
+
+ if multilib_is_native_abi; then
+ emake DESTDIR="${D}" -j1 install_ssldirs
+ emake DESTDIR="${D}" DOCDIR='$(INSTALLTOP)'/share/doc/${PF} MANSUFFIX=ssl -j1 install_docs
+ fi
+
+ # This is crappy in that the static archives are still built even
+ # when USE=static-libs. But this is due to a failing in the openssl
+ # build system: the static archives are built as PIC all the time.
+ # Only way around this would be to manually configure+compile openssl
+ # twice; once with shared lib support enabled and once without.
+ if ! use static-libs; then
+ rm "${ED}"/usr/$(get_libdir)/lib{crypto,ssl}.a || die
+ fi
+}
+
+multilib_src_install_all() {
+ # openssl installs perl version of c_rehash by default, but
+ # we provide a shell version via app-misc/c_rehash
+ rm "${ED}"/usr/bin/c_rehash || die
+
+ dodoc CHANGES* FAQ NEWS README doc/*.txt doc/${PN}-c-indent.el
+
+ # Create the certs directory
+ keepdir ${SSL_CNF_DIR}/certs
+
+ # bug #254521
+ dodir /etc/sandbox.d
+ echo 'SANDBOX_PREDICT="/dev/crypto"' > "${ED}"/etc/sandbox.d/10openssl
+
+ diropts -m0700
+ keepdir ${SSL_CNF_DIR}/private
+}
+
+pkg_postinst() {
+ ebegin "Running 'openssl rehash ${EROOT}${SSL_CNF_DIR}/certs' to rebuild hashes (bug #333069)"
+ openssl rehash "${EROOT}${SSL_CNF_DIR}/certs"
+ eend $?
+}
diff --git a/dev-libs/openssl/openssl-3.0.0.ebuild b/dev-libs/openssl/openssl-3.0.0.ebuild
deleted file mode 100644
index e52ca896a3a6..000000000000
--- a/dev-libs/openssl/openssl-3.0.0.ebuild
+++ /dev/null
@@ -1,293 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-
-inherit flag-o-matic linux-info toolchain-funcs multilib-minimal
-
-MY_P=${P/_/-}
-
-DESCRIPTION="Robust, full-featured Open Source Toolkit for the Transport Layer Security (TLS)"
-HOMEPAGE="https://www.openssl.org/"
-
-if [[ ${PV} == "9999" ]] ; then
- EGIT_REPO_URI="https://github.com/openssl/openssl.git"
-
- inherit git-r3
-else
- SRC_URI="mirror://openssl/source/${MY_P}.tar.gz"
- KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x86-linux"
-fi
-
-LICENSE="Apache-2.0"
-SLOT="0/3" # .so version of libssl/libcrypto
-
-IUSE="+asm cpu_flags_x86_sse2 fips ktls rfc3779 sctp static-libs test tls-compression vanilla"
-RESTRICT="!test? ( test )"
-
-COMMON_DEPEND="
- >=app-misc/c_rehash-1.7-r1
- tls-compression? ( >=sys-libs/zlib-1.2.8-r1[static-libs(+)?,${MULTILIB_USEDEP}] )
-"
-
-BDEPEND="
- >=dev-lang/perl-5
- sctp? ( >=net-misc/lksctp-tools-1.0.12 )
- test? (
- sys-apps/diffutils
- sys-devel/bc
- sys-process/procps
- )"
-
-DEPEND="${COMMON_DEPEND}"
-
-RDEPEND="${COMMON_DEPEND}"
-
-PDEPEND="app-misc/ca-certificates"
-
-S="${WORKDIR}/${MY_P}"
-
-MULTILIB_WRAPPED_HEADERS=(
- /usr/include/openssl/configuration.h
-)
-
-pkg_setup() {
- if use ktls ; then
- if kernel_is -lt 4 18 ; then
- ewarn "Kernel implementation of TLS (USE=ktls) requires kernel >=4.18!"
- else
- CONFIG_CHECK="~TLS ~TLS_DEVICE"
- ERROR_TLS="You will be unable to offload TLS to kernel because CONFIG_TLS is not set!"
- ERROR_TLS_DEVICE="You will be unable to offload TLS to kernel because CONFIG_TLS_DEVICE is not set!"
-
- linux-info_pkg_setup
- fi
- fi
-
- [[ ${MERGE_TYPE} == binary ]] && return
-
- # must check in pkg_setup; sysctl don't work with userpriv!
- if use test && use sctp ; then
- # test_ssl_new will fail with "Ensure SCTP AUTH chunks are enabled in kernel"
- # if sctp.auth_enable is not enabled.
- local sctp_auth_status=$(sysctl -n net.sctp.auth_enable 2>/dev/null)
- if [[ -z "${sctp_auth_status}" ]] || [[ ${sctp_auth_status} != 1 ]] ; then
- die "FEATURES=test with USE=sctp requires net.sctp.auth_enable=1!"
- fi
- fi
-}
-
-src_prepare() {
- # allow openssl to be cross-compiled
- cp "${FILESDIR}"/gentoo.config-1.0.2 gentoo.config || die
- chmod a+rx gentoo.config || die
-
- # keep this in sync with app-misc/c_rehash
- SSL_CNF_DIR="/etc/ssl"
-
- # Make sure we only ever touch Makefile.org and avoid patching a file
- # that gets blown away anyways by the Configure script in src_configure
- rm -f Makefile
-
- if ! use vanilla ; then
- if [[ $(declare -p PATCHES 2>/dev/null) == "declare -a"* ]] ; then
- [[ ${#PATCHES[@]} -gt 0 ]] && eapply "${PATCHES[@]}"
- fi
- fi
-
- eapply_user
-
- if use test && use sctp && has network-sandbox ${FEATURES} ; then
- einfo "Disabling test '80-test_ssl_new.t' which is known to fail with FEATURES=network-sandbox ..."
- rm test/recipes/80-test_ssl_new.t || die
- fi
-
- # make sure the man pages are suffixed #302165
- # don't bother building man pages if they're disabled
- # Make DOCDIR Gentoo compliant
- sed -i \
- -e '/^MANSUFFIX/s:=.*:=ssl:' \
- -e '/^MAKEDEPPROG/s:=.*:=$(CC):' \
- -e $(has noman FEATURES \
- && echo '/^install:/s:install_docs::' \
- || echo '/^MANDIR=/s:=.*:='${EPREFIX}'/usr/share/man:') \
- -e "/^DOCDIR/s@\$(BASENAME)@&-${PVR}@" \
- Configurations/unix-Makefile.tmpl \
- || die
-
- # quiet out unknown driver argument warnings since openssl
- # doesn't have well-split CFLAGS and we're making it even worse
- # and 'make depend' uses -Werror for added fun (#417795 again)
- [[ ${CC} == *clang* ]] && append-flags -Qunused-arguments
-
- append-flags -fno-strict-aliasing
- append-flags $(test-flags-CC -Wa,--noexecstack)
-
- # Prefixify Configure shebang (#141906)
- sed \
- -e "1s,/usr/bin/env,${EPREFIX}&," \
- -i Configure || die
-
- # Remove test target when FEATURES=test isn't set
- if ! use test ; then
- sed \
- -e '/^$config{dirs}/s@ "test",@@' \
- -i Configure || die
- fi
-
- # The config script does stupid stuff to prompt the user. Kill it.
- sed -i '/stty -icanon min 0 time 50; read waste/d' config || die
- ./config --test-sanity || die "I AM NOT SANE"
-
- multilib_copy_sources
-}
-
-multilib_src_configure() {
- unset APPS #197996
- unset SCRIPTS #312551
- unset CROSS_COMPILE #311473
-
- tc-export AR CC CXX RANLIB RC
-
- use_ssl() { usex $1 "enable-${2:-$1}" "no-${2:-$1}" " ${*:3}" ; }
- echoit() { echo "$@" ; "$@" ; }
-
- local krb5=$(has_version app-crypt/mit-krb5 && echo "MIT" || echo "Heimdal")
-
- local sslout=$(./gentoo.config)
- einfo "Use configuration ${sslout:-(openssl knows best)}"
- local config="Configure"
- [[ -z ${sslout} ]] && config="config"
-
- local myeconfargs=(
- ${sslout}
- $(use cpu_flags_x86_sse2 || echo "no-sse2")
- enable-camellia
- enable-ec
- enable-ec2m
- enable-sm2
- enable-srp
- $(use elibc_musl && echo "no-async")
- enable-idea
- enable-mdc2
- enable-rc5
- $(use fips && echo "enable-fips")
- $(use_ssl asm)
- $(use_ssl ktls)
- $(use_ssl rfc3779)
- $(use_ssl sctp)
- $(use_ssl tls-compression zlib)
- --prefix="${EPREFIX}"/usr
- --openssldir="${EPREFIX}"${SSL_CNF_DIR}
- --libdir=$(get_libdir)
- shared
- threads
- )
-
- CFLAGS= LDFLAGS= echoit \
- ./${config} \
- "${myeconfargs[@]}" \
- || die
-
- # Clean out hardcoded flags that openssl uses
- local DEFAULT_CFLAGS=$(grep ^CFLAGS= Makefile | LC_ALL=C sed \
- -e 's:^CFLAGS=::' \
- -e 's:\(^\| \)-fomit-frame-pointer::g' \
- -e 's:\(^\| \)-O[^ ]*::g' \
- -e 's:\(^\| \)-march=[^ ]*::g' \
- -e 's:\(^\| \)-mcpu=[^ ]*::g' \
- -e 's:\(^\| \)-m[^ ]*::g' \
- -e 's:^ *::' \
- -e 's: *$::' \
- -e 's: \+: :g' \
- -e 's:\\:\\\\:g'
- )
-
- # Now insert clean default flags with user flags
- sed -i \
- -e "/^CFLAGS=/s|=.*|=${DEFAULT_CFLAGS} ${CFLAGS}|" \
- -e "/^LDFLAGS=/s|=[[:space:]]*$|=${LDFLAGS}|" \
- Makefile \
- || die
-}
-
-multilib_src_compile() {
- # depend is needed to use $confopts; it also doesn't matter
- # that it's -j1 as the code itself serializes subdirs
- emake -j1 depend
- emake all
-}
-
-multilib_src_test() {
- emake -j1 test
-}
-
-multilib_src_install() {
- # We need to create $ED/usr on our own to avoid a race condition #665130
- if [[ ! -d "${ED}/usr" ]] ; then
- # We can only create this directory once
- mkdir "${ED}"/usr || die
- fi
-
- emake DESTDIR="${D}" install
-
- # This is crappy in that the static archives are still built even
- # when USE=static-libs. But this is due to a failing in the openssl
- # build system: the static archives are built as PIC all the time.
- # Only way around this would be to manually configure+compile openssl
- # twice; once with shared lib support enabled and once without.
- if ! use static-libs ; then
- rm "${ED}"/usr/$(get_libdir)/lib{crypto,ssl}.a || die
- fi
-}
-
-multilib_src_install_all() {
- # openssl installs perl version of c_rehash by default, but
- # we provide a shell version via app-misc/c_rehash
- rm "${ED}"/usr/bin/c_rehash || die
-
- dodoc {AUTHORS,CHANGES,NEWS,README,README-PROVIDERS}.md doc/*.txt doc/${PN}-c-indent.el
-
- # create the certs directory
- keepdir ${SSL_CNF_DIR}/certs
-
- # Namespace openssl programs to prevent conflicts with other man pages
- cd "${ED}"/usr/share/man || die
- local m d s
- for m in $(find . -type f | xargs grep -L '#include') ; do
- d=${m%/*} ; d=${d#./} ; m=${m##*/}
-
- [[ ${m} == openssl.1* ]] && continue
-
- [[ -n $(find -L ${d} -type l) ]] && die "erp, broken links already!"
-
- mv ${d}/{,ssl-}${m} || die
-
- # fix up references to renamed man pages
- sed -i '/^[.]SH "SEE ALSO"/,/^[.]/s:\([^(, ]*(1)\):ssl-\1:g' ${d}/ssl-${m} || die
- ln -s ssl-${m} ${d}/openssl-${m} || die
-
- # locate any symlinks that point to this man page ...
- # we assume that any broken links are due to the above renaming
- for s in $(find -L ${d} -type l) ; do
- s=${s##*/}
- rm -f ${d}/${s}
- # We don't want to "|| die" here
- ln -s ssl-${m} ${d}/ssl-${s}
- ln -s ssl-${s} ${d}/openssl-${s}
- done
- done
- [[ -n $(find -L ${d} -type l) ]] && die "broken manpage links found :("
-
- dodir /etc/sandbox.d #254521
- echo 'SANDBOX_PREDICT="/dev/crypto"' > "${ED}"/etc/sandbox.d/10openssl
-
- diropts -m0700
- keepdir ${SSL_CNF_DIR}/private
-}
-
-pkg_postinst() {
- ebegin "Running 'c_rehash ${EROOT}${SSL_CNF_DIR}/certs/' to rebuild hashes #333069"
- c_rehash "${EROOT}${SSL_CNF_DIR}/certs" >/dev/null
- eend $?
-}
diff --git a/dev-libs/openssl/openssl-3.0.1.ebuild b/dev-libs/openssl/openssl-3.0.1.ebuild
deleted file mode 100644
index e52ca896a3a6..000000000000
--- a/dev-libs/openssl/openssl-3.0.1.ebuild
+++ /dev/null
@@ -1,293 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-
-inherit flag-o-matic linux-info toolchain-funcs multilib-minimal
-
-MY_P=${P/_/-}
-
-DESCRIPTION="Robust, full-featured Open Source Toolkit for the Transport Layer Security (TLS)"
-HOMEPAGE="https://www.openssl.org/"
-
-if [[ ${PV} == "9999" ]] ; then
- EGIT_REPO_URI="https://github.com/openssl/openssl.git"
-
- inherit git-r3
-else
- SRC_URI="mirror://openssl/source/${MY_P}.tar.gz"
- KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x86-linux"
-fi
-
-LICENSE="Apache-2.0"
-SLOT="0/3" # .so version of libssl/libcrypto
-
-IUSE="+asm cpu_flags_x86_sse2 fips ktls rfc3779 sctp static-libs test tls-compression vanilla"
-RESTRICT="!test? ( test )"
-
-COMMON_DEPEND="
- >=app-misc/c_rehash-1.7-r1
- tls-compression? ( >=sys-libs/zlib-1.2.8-r1[static-libs(+)?,${MULTILIB_USEDEP}] )
-"
-
-BDEPEND="
- >=dev-lang/perl-5
- sctp? ( >=net-misc/lksctp-tools-1.0.12 )
- test? (
- sys-apps/diffutils
- sys-devel/bc
- sys-process/procps
- )"
-
-DEPEND="${COMMON_DEPEND}"
-
-RDEPEND="${COMMON_DEPEND}"
-
-PDEPEND="app-misc/ca-certificates"
-
-S="${WORKDIR}/${MY_P}"
-
-MULTILIB_WRAPPED_HEADERS=(
- /usr/include/openssl/configuration.h
-)
-
-pkg_setup() {
- if use ktls ; then
- if kernel_is -lt 4 18 ; then
- ewarn "Kernel implementation of TLS (USE=ktls) requires kernel >=4.18!"
- else
- CONFIG_CHECK="~TLS ~TLS_DEVICE"
- ERROR_TLS="You will be unable to offload TLS to kernel because CONFIG_TLS is not set!"
- ERROR_TLS_DEVICE="You will be unable to offload TLS to kernel because CONFIG_TLS_DEVICE is not set!"
-
- linux-info_pkg_setup
- fi
- fi
-
- [[ ${MERGE_TYPE} == binary ]] && return
-
- # must check in pkg_setup; sysctl don't work with userpriv!
- if use test && use sctp ; then
- # test_ssl_new will fail with "Ensure SCTP AUTH chunks are enabled in kernel"
- # if sctp.auth_enable is not enabled.
- local sctp_auth_status=$(sysctl -n net.sctp.auth_enable 2>/dev/null)
- if [[ -z "${sctp_auth_status}" ]] || [[ ${sctp_auth_status} != 1 ]] ; then
- die "FEATURES=test with USE=sctp requires net.sctp.auth_enable=1!"
- fi
- fi
-}
-
-src_prepare() {
- # allow openssl to be cross-compiled
- cp "${FILESDIR}"/gentoo.config-1.0.2 gentoo.config || die
- chmod a+rx gentoo.config || die
-
- # keep this in sync with app-misc/c_rehash
- SSL_CNF_DIR="/etc/ssl"
-
- # Make sure we only ever touch Makefile.org and avoid patching a file
- # that gets blown away anyways by the Configure script in src_configure
- rm -f Makefile
-
- if ! use vanilla ; then
- if [[ $(declare -p PATCHES 2>/dev/null) == "declare -a"* ]] ; then
- [[ ${#PATCHES[@]} -gt 0 ]] && eapply "${PATCHES[@]}"
- fi
- fi
-
- eapply_user
-
- if use test && use sctp && has network-sandbox ${FEATURES} ; then
- einfo "Disabling test '80-test_ssl_new.t' which is known to fail with FEATURES=network-sandbox ..."
- rm test/recipes/80-test_ssl_new.t || die
- fi
-
- # make sure the man pages are suffixed #302165
- # don't bother building man pages if they're disabled
- # Make DOCDIR Gentoo compliant
- sed -i \
- -e '/^MANSUFFIX/s:=.*:=ssl:' \
- -e '/^MAKEDEPPROG/s:=.*:=$(CC):' \
- -e $(has noman FEATURES \
- && echo '/^install:/s:install_docs::' \
- || echo '/^MANDIR=/s:=.*:='${EPREFIX}'/usr/share/man:') \
- -e "/^DOCDIR/s@\$(BASENAME)@&-${PVR}@" \
- Configurations/unix-Makefile.tmpl \
- || die
-
- # quiet out unknown driver argument warnings since openssl
- # doesn't have well-split CFLAGS and we're making it even worse
- # and 'make depend' uses -Werror for added fun (#417795 again)
- [[ ${CC} == *clang* ]] && append-flags -Qunused-arguments
-
- append-flags -fno-strict-aliasing
- append-flags $(test-flags-CC -Wa,--noexecstack)
-
- # Prefixify Configure shebang (#141906)
- sed \
- -e "1s,/usr/bin/env,${EPREFIX}&," \
- -i Configure || die
-
- # Remove test target when FEATURES=test isn't set
- if ! use test ; then
- sed \
- -e '/^$config{dirs}/s@ "test",@@' \
- -i Configure || die
- fi
-
- # The config script does stupid stuff to prompt the user. Kill it.
- sed -i '/stty -icanon min 0 time 50; read waste/d' config || die
- ./config --test-sanity || die "I AM NOT SANE"
-
- multilib_copy_sources
-}
-
-multilib_src_configure() {
- unset APPS #197996
- unset SCRIPTS #312551
- unset CROSS_COMPILE #311473
-
- tc-export AR CC CXX RANLIB RC
-
- use_ssl() { usex $1 "enable-${2:-$1}" "no-${2:-$1}" " ${*:3}" ; }
- echoit() { echo "$@" ; "$@" ; }
-
- local krb5=$(has_version app-crypt/mit-krb5 && echo "MIT" || echo "Heimdal")
-
- local sslout=$(./gentoo.config)
- einfo "Use configuration ${sslout:-(openssl knows best)}"
- local config="Configure"
- [[ -z ${sslout} ]] && config="config"
-
- local myeconfargs=(
- ${sslout}
- $(use cpu_flags_x86_sse2 || echo "no-sse2")
- enable-camellia
- enable-ec
- enable-ec2m
- enable-sm2
- enable-srp
- $(use elibc_musl && echo "no-async")
- enable-idea
- enable-mdc2
- enable-rc5
- $(use fips && echo "enable-fips")
- $(use_ssl asm)
- $(use_ssl ktls)
- $(use_ssl rfc3779)
- $(use_ssl sctp)
- $(use_ssl tls-compression zlib)
- --prefix="${EPREFIX}"/usr
- --openssldir="${EPREFIX}"${SSL_CNF_DIR}
- --libdir=$(get_libdir)
- shared
- threads
- )
-
- CFLAGS= LDFLAGS= echoit \
- ./${config} \
- "${myeconfargs[@]}" \
- || die
-
- # Clean out hardcoded flags that openssl uses
- local DEFAULT_CFLAGS=$(grep ^CFLAGS= Makefile | LC_ALL=C sed \
- -e 's:^CFLAGS=::' \
- -e 's:\(^\| \)-fomit-frame-pointer::g' \
- -e 's:\(^\| \)-O[^ ]*::g' \
- -e 's:\(^\| \)-march=[^ ]*::g' \
- -e 's:\(^\| \)-mcpu=[^ ]*::g' \
- -e 's:\(^\| \)-m[^ ]*::g' \
- -e 's:^ *::' \
- -e 's: *$::' \
- -e 's: \+: :g' \
- -e 's:\\:\\\\:g'
- )
-
- # Now insert clean default flags with user flags
- sed -i \
- -e "/^CFLAGS=/s|=.*|=${DEFAULT_CFLAGS} ${CFLAGS}|" \
- -e "/^LDFLAGS=/s|=[[:space:]]*$|=${LDFLAGS}|" \
- Makefile \
- || die
-}
-
-multilib_src_compile() {
- # depend is needed to use $confopts; it also doesn't matter
- # that it's -j1 as the code itself serializes subdirs
- emake -j1 depend
- emake all
-}
-
-multilib_src_test() {
- emake -j1 test
-}
-
-multilib_src_install() {
- # We need to create $ED/usr on our own to avoid a race condition #665130
- if [[ ! -d "${ED}/usr" ]] ; then
- # We can only create this directory once
- mkdir "${ED}"/usr || die
- fi
-
- emake DESTDIR="${D}" install
-
- # This is crappy in that the static archives are still built even
- # when USE=static-libs. But this is due to a failing in the openssl
- # build system: the static archives are built as PIC all the time.
- # Only way around this would be to manually configure+compile openssl
- # twice; once with shared lib support enabled and once without.
- if ! use static-libs ; then
- rm "${ED}"/usr/$(get_libdir)/lib{crypto,ssl}.a || die
- fi
-}
-
-multilib_src_install_all() {
- # openssl installs perl version of c_rehash by default, but
- # we provide a shell version via app-misc/c_rehash
- rm "${ED}"/usr/bin/c_rehash || die
-
- dodoc {AUTHORS,CHANGES,NEWS,README,README-PROVIDERS}.md doc/*.txt doc/${PN}-c-indent.el
-
- # create the certs directory
- keepdir ${SSL_CNF_DIR}/certs
-
- # Namespace openssl programs to prevent conflicts with other man pages
- cd "${ED}"/usr/share/man || die
- local m d s
- for m in $(find . -type f | xargs grep -L '#include') ; do
- d=${m%/*} ; d=${d#./} ; m=${m##*/}
-
- [[ ${m} == openssl.1* ]] && continue
-
- [[ -n $(find -L ${d} -type l) ]] && die "erp, broken links already!"
-
- mv ${d}/{,ssl-}${m} || die
-
- # fix up references to renamed man pages
- sed -i '/^[.]SH "SEE ALSO"/,/^[.]/s:\([^(, ]*(1)\):ssl-\1:g' ${d}/ssl-${m} || die
- ln -s ssl-${m} ${d}/openssl-${m} || die
-
- # locate any symlinks that point to this man page ...
- # we assume that any broken links are due to the above renaming
- for s in $(find -L ${d} -type l) ; do
- s=${s##*/}
- rm -f ${d}/${s}
- # We don't want to "|| die" here
- ln -s ssl-${m} ${d}/ssl-${s}
- ln -s ssl-${s} ${d}/openssl-${s}
- done
- done
- [[ -n $(find -L ${d} -type l) ]] && die "broken manpage links found :("
-
- dodir /etc/sandbox.d #254521
- echo 'SANDBOX_PREDICT="/dev/crypto"' > "${ED}"/etc/sandbox.d/10openssl
-
- diropts -m0700
- keepdir ${SSL_CNF_DIR}/private
-}
-
-pkg_postinst() {
- ebegin "Running 'c_rehash ${EROOT}${SSL_CNF_DIR}/certs/' to rebuild hashes #333069"
- c_rehash "${EROOT}${SSL_CNF_DIR}/certs" >/dev/null
- eend $?
-}
diff --git a/dev-libs/openssl/openssl-3.0.11.ebuild b/dev-libs/openssl/openssl-3.0.11.ebuild
new file mode 100644
index 000000000000..9437bff8e937
--- /dev/null
+++ b/dev-libs/openssl/openssl-3.0.11.ebuild
@@ -0,0 +1,288 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/openssl.org.asc
+inherit edo flag-o-matic linux-info toolchain-funcs
+inherit multilib multilib-minimal multiprocessing preserve-libs verify-sig
+
+DESCRIPTION="Robust, full-featured Open Source Toolkit for the Transport Layer Security (TLS)"
+HOMEPAGE="https://www.openssl.org/"
+
+MY_P=${P/_/-}
+
+if [[ ${PV} == 9999 ]] ; then
+ EGIT_REPO_URI="https://github.com/openssl/openssl.git"
+
+ inherit git-r3
+else
+ SRC_URI="mirror://openssl/source/${MY_P}.tar.gz
+ verify-sig? ( mirror://openssl/source/${MY_P}.tar.gz.asc )"
+ KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+fi
+
+S="${WORKDIR}"/${MY_P}
+
+LICENSE="Apache-2.0"
+SLOT="0/3" # .so version of libssl/libcrypto
+IUSE="+asm cpu_flags_x86_sse2 fips ktls rfc3779 sctp static-libs test tls-compression vanilla verify-sig weak-ssl-ciphers"
+RESTRICT="!test? ( test )"
+
+COMMON_DEPEND="
+ tls-compression? ( >=sys-libs/zlib-1.2.8-r1[static-libs(+)?,${MULTILIB_USEDEP}] )
+"
+BDEPEND="
+ >=dev-lang/perl-5
+ sctp? ( >=net-misc/lksctp-tools-1.0.12 )
+ test? (
+ sys-apps/diffutils
+ app-alternatives/bc
+ sys-process/procps
+ )
+ verify-sig? ( >=sec-keys/openpgp-keys-openssl-20230801 )"
+
+DEPEND="${COMMON_DEPEND}"
+RDEPEND="${COMMON_DEPEND}"
+PDEPEND="app-misc/ca-certificates"
+
+MULTILIB_WRAPPED_HEADERS=(
+ /usr/include/openssl/configuration.h
+)
+
+pkg_setup() {
+ if use ktls ; then
+ if kernel_is -lt 4 18 ; then
+ ewarn "Kernel implementation of TLS (USE=ktls) requires kernel >=4.18!"
+ else
+ CONFIG_CHECK="~TLS ~TLS_DEVICE"
+ ERROR_TLS="You will be unable to offload TLS to kernel because CONFIG_TLS is not set!"
+ ERROR_TLS_DEVICE="You will be unable to offload TLS to kernel because CONFIG_TLS_DEVICE is not set!"
+ use test && CONFIG_CHECK+=" ~CRYPTO_USER_API_SKCIPHER"
+
+ linux-info_pkg_setup
+ fi
+ fi
+
+ [[ ${MERGE_TYPE} == binary ]] && return
+
+ # must check in pkg_setup; sysctl doesn't work with userpriv!
+ if use test && use sctp ; then
+ # test_ssl_new will fail with "Ensure SCTP AUTH chunks are enabled in kernel"
+ # if sctp.auth_enable is not enabled.
+ local sctp_auth_status=$(sysctl -n net.sctp.auth_enable 2>/dev/null)
+ if [[ -z "${sctp_auth_status}" ]] || [[ ${sctp_auth_status} != 1 ]] ; then
+ die "FEATURES=test with USE=sctp requires net.sctp.auth_enable=1!"
+ fi
+ fi
+}
+
+src_unpack() {
+ # Can delete this once test fix patch is dropped
+ if use verify-sig ; then
+ # Needed for downloaded patch (which is unsigned, which is fine)
+ verify-sig_verify_detached "${DISTDIR}"/${MY_P}.tar.gz{,.asc}
+ fi
+
+ default
+}
+
+src_prepare() {
+ # Make sure we only ever touch Makefile.org and avoid patching a file
+ # that gets blown away anyways by the Configure script in src_configure
+ rm -f Makefile
+
+ if ! use vanilla ; then
+ PATCHES+=(
+ # Add patches which are Gentoo-specific customisations here
+ )
+ fi
+
+ default
+
+ if use test && use sctp && has network-sandbox ${FEATURES} ; then
+ einfo "Disabling test '80-test_ssl_new.t' which is known to fail with FEATURES=network-sandbox ..."
+ rm test/recipes/80-test_ssl_new.t || die
+ fi
+
+ # Test fails depending on kernel configuration, bug #699134
+ rm test/recipes/30-test_afalg.t || die
+}
+
+src_configure() {
+ # Keep this in sync with app-misc/c_rehash
+ SSL_CNF_DIR="/etc/ssl"
+
+ # Quiet out unknown driver argument warnings since openssl
+ # doesn't have well-split CFLAGS and we're making it even worse
+ # and 'make depend' uses -Werror for added fun (bug #417795 again)
+ tc-is-clang && append-flags -Qunused-arguments
+
+ # We really, really need to build OpenSSL w/ strict aliasing disabled.
+ # It's filled with violations and it *will* result in miscompiled
+ # code. This has been in the ebuild for > 10 years but even in 2022,
+ # it's still relevant:
+ # - https://github.com/llvm/llvm-project/issues/55255
+ # - https://github.com/openssl/openssl/issues/12247
+ # - https://github.com/openssl/openssl/issues/18225
+ # - https://github.com/openssl/openssl/issues/18663#issuecomment-1181478057
+ # Don't remove the no strict aliasing bits below!
+ filter-flags -fstrict-aliasing
+ append-flags -fno-strict-aliasing
+ # The OpenSSL developers don't test with LTO right now, it leads to various
+ # warnings/errors (which may or may not be false positives), it's considered
+ # unsupported, and it's not tested in CI: https://github.com/openssl/openssl/issues/18663.
+ filter-lto
+
+ append-flags $(test-flags-CC -Wa,--noexecstack)
+
+ # bug #895308
+ append-atomic-flags
+ # Configure doesn't respect LIBS
+ export LDLIBS="${LIBS}"
+
+ # bug #197996
+ unset APPS
+ # bug #312551
+ unset SCRIPTS
+ # bug #311473
+ unset CROSS_COMPILE
+
+ tc-export AR CC CXX RANLIB RC
+
+ multilib-minimal_src_configure
+}
+
+multilib_src_configure() {
+ use_ssl() { usex $1 "enable-${2:-$1}" "no-${2:-$1}" " ${*:3}" ; }
+
+ local krb5=$(has_version app-crypt/mit-krb5 && echo "MIT" || echo "Heimdal")
+
+ # See if our toolchain supports __uint128_t. If so, it's 64bit
+ # friendly and can use the nicely optimized code paths, bug #460790.
+ #local ec_nistp_64_gcc_128
+ #
+ # Disable it for now though (bug #469976)
+ # Do NOT re-enable without substantial discussion first!
+ #
+ #echo "__uint128_t i;" > "${T}"/128.c
+ #if ${CC} ${CFLAGS} -c "${T}"/128.c -o /dev/null >&/dev/null ; then
+ # ec_nistp_64_gcc_128="enable-ec_nistp_64_gcc_128"
+ #fi
+
+ local sslout=$(bash "${FILESDIR}/gentoo.config-1.0.4")
+ einfo "Using configuration: ${sslout:-(openssl knows best)}"
+
+ # https://github.com/openssl/openssl/blob/master/INSTALL.md#enable-and-disable-features
+ local myeconfargs=(
+ ${sslout}
+
+ $(use cpu_flags_x86_sse2 || echo "no-sse2")
+ enable-camellia
+ enable-ec
+ enable-ec2m
+ enable-sm2
+ enable-srp
+ $(use elibc_musl && echo "no-async")
+ enable-idea
+ enable-mdc2
+ enable-rc5
+ $(use fips && echo "enable-fips")
+ $(use_ssl asm)
+ $(use_ssl ktls)
+ $(use_ssl rfc3779)
+ $(use_ssl sctp)
+ $(use test || echo "no-tests")
+ $(use_ssl tls-compression zlib)
+ $(use_ssl weak-ssl-ciphers)
+
+ --prefix="${EPREFIX}"/usr
+ --openssldir="${EPREFIX}"${SSL_CNF_DIR}
+ --libdir=$(get_libdir)
+
+ shared
+ threads
+ )
+
+ edo perl "${S}/Configure" "${myeconfargs[@]}"
+}
+
+multilib_src_compile() {
+ emake build_sw
+
+ if multilib_is_native_abi; then
+ emake build_docs
+ fi
+}
+
+multilib_src_test() {
+ # VFP = show subtests verbosely and show failed tests verbosely
+ # Normal V=1 would show everything verbosely but this slows things down.
+ emake HARNESS_JOBS="$(makeopts_jobs)" -Onone VFP=1 test
+}
+
+multilib_src_install() {
+ # Only -j1 is supported for the install targets:
+ # https://github.com/openssl/openssl/issues/21999#issuecomment-1771150305
+ emake DESTDIR="${D}" -j1 install_sw
+ if use fips; then
+ emake DESTDIR="${D}" -j1 install_fips
+ # Regen this in pkg_preinst, bug 900625
+ rm "${ED}${SSL_CNF_DIR}"/fipsmodule.cnf || die
+ fi
+
+ if multilib_is_native_abi; then
+ emake DESTDIR="${D}" -j1 install_ssldirs
+ emake DESTDIR="${D}" DOCDIR='$(INSTALLTOP)'/share/doc/${PF} -j1 install_docs
+ fi
+
+ # This is crappy in that the static archives are still built even
+ # when USE=static-libs. But this is due to a failing in the openssl
+ # build system: the static archives are built as PIC all the time.
+ # Only way around this would be to manually configure+compile openssl
+ # twice; once with shared lib support enabled and once without.
+ if ! use static-libs ; then
+ rm "${ED}"/usr/$(get_libdir)/lib{crypto,ssl}.a || die
+ fi
+}
+
+multilib_src_install_all() {
+ # openssl installs perl version of c_rehash by default, but
+ # we provide a shell version via app-misc/c_rehash
+ rm "${ED}"/usr/bin/c_rehash || die
+
+ dodoc {AUTHORS,CHANGES,NEWS,README,README-PROVIDERS}.md doc/*.txt doc/${PN}-c-indent.el
+
+ # Create the certs directory
+ keepdir ${SSL_CNF_DIR}/certs
+
+ # bug #254521
+ dodir /etc/sandbox.d
+ echo 'SANDBOX_PREDICT="/dev/crypto"' > "${ED}"/etc/sandbox.d/10openssl
+
+ diropts -m0700
+ keepdir ${SSL_CNF_DIR}/private
+}
+
+pkg_preinst() {
+ if use fips; then
+ # Regen fipsmodule.cnf, bug 900625
+ ebegin "Running openssl fipsinstall"
+ "${ED}/usr/bin/openssl" fipsinstall -quiet \
+ -out "${ED}${SSL_CNF_DIR}/fipsmodule.cnf" \
+ -module "${ED}/usr/$(get_libdir)/ossl-modules/fips.so"
+ eend $?
+ fi
+
+ preserve_old_lib /usr/$(get_libdir)/lib{crypto,ssl}$(get_libname 1) \
+ /usr/$(get_libdir)/lib{crypto,ssl}$(get_libname 1.1)
+}
+
+pkg_postinst() {
+ ebegin "Running 'openssl rehash ${EROOT}${SSL_CNF_DIR}/certs' to rebuild hashes (bug #333069)"
+ openssl rehash "${EROOT}${SSL_CNF_DIR}/certs"
+ eend $?
+
+ preserve_old_lib_notify /usr/$(get_libdir)/lib{crypto,ssl}$(get_libname 1) \
+ /usr/$(get_libdir)/lib{crypto,ssl}$(get_libname 1.1)
+}
diff --git a/dev-libs/openssl/openssl-3.0.12.ebuild b/dev-libs/openssl/openssl-3.0.12.ebuild
new file mode 100644
index 000000000000..9437bff8e937
--- /dev/null
+++ b/dev-libs/openssl/openssl-3.0.12.ebuild
@@ -0,0 +1,288 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/openssl.org.asc
+inherit edo flag-o-matic linux-info toolchain-funcs
+inherit multilib multilib-minimal multiprocessing preserve-libs verify-sig
+
+DESCRIPTION="Robust, full-featured Open Source Toolkit for the Transport Layer Security (TLS)"
+HOMEPAGE="https://www.openssl.org/"
+
+MY_P=${P/_/-}
+
+if [[ ${PV} == 9999 ]] ; then
+ EGIT_REPO_URI="https://github.com/openssl/openssl.git"
+
+ inherit git-r3
+else
+ SRC_URI="mirror://openssl/source/${MY_P}.tar.gz
+ verify-sig? ( mirror://openssl/source/${MY_P}.tar.gz.asc )"
+ KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+fi
+
+S="${WORKDIR}"/${MY_P}
+
+LICENSE="Apache-2.0"
+SLOT="0/3" # .so version of libssl/libcrypto
+IUSE="+asm cpu_flags_x86_sse2 fips ktls rfc3779 sctp static-libs test tls-compression vanilla verify-sig weak-ssl-ciphers"
+RESTRICT="!test? ( test )"
+
+COMMON_DEPEND="
+ tls-compression? ( >=sys-libs/zlib-1.2.8-r1[static-libs(+)?,${MULTILIB_USEDEP}] )
+"
+BDEPEND="
+ >=dev-lang/perl-5
+ sctp? ( >=net-misc/lksctp-tools-1.0.12 )
+ test? (
+ sys-apps/diffutils
+ app-alternatives/bc
+ sys-process/procps
+ )
+ verify-sig? ( >=sec-keys/openpgp-keys-openssl-20230801 )"
+
+DEPEND="${COMMON_DEPEND}"
+RDEPEND="${COMMON_DEPEND}"
+PDEPEND="app-misc/ca-certificates"
+
+MULTILIB_WRAPPED_HEADERS=(
+ /usr/include/openssl/configuration.h
+)
+
+pkg_setup() {
+ if use ktls ; then
+ if kernel_is -lt 4 18 ; then
+ ewarn "Kernel implementation of TLS (USE=ktls) requires kernel >=4.18!"
+ else
+ CONFIG_CHECK="~TLS ~TLS_DEVICE"
+ ERROR_TLS="You will be unable to offload TLS to kernel because CONFIG_TLS is not set!"
+ ERROR_TLS_DEVICE="You will be unable to offload TLS to kernel because CONFIG_TLS_DEVICE is not set!"
+ use test && CONFIG_CHECK+=" ~CRYPTO_USER_API_SKCIPHER"
+
+ linux-info_pkg_setup
+ fi
+ fi
+
+ [[ ${MERGE_TYPE} == binary ]] && return
+
+ # must check in pkg_setup; sysctl doesn't work with userpriv!
+ if use test && use sctp ; then
+ # test_ssl_new will fail with "Ensure SCTP AUTH chunks are enabled in kernel"
+ # if sctp.auth_enable is not enabled.
+ local sctp_auth_status=$(sysctl -n net.sctp.auth_enable 2>/dev/null)
+ if [[ -z "${sctp_auth_status}" ]] || [[ ${sctp_auth_status} != 1 ]] ; then
+ die "FEATURES=test with USE=sctp requires net.sctp.auth_enable=1!"
+ fi
+ fi
+}
+
+src_unpack() {
+ # Can delete this once test fix patch is dropped
+ if use verify-sig ; then
+ # Needed for downloaded patch (which is unsigned, which is fine)
+ verify-sig_verify_detached "${DISTDIR}"/${MY_P}.tar.gz{,.asc}
+ fi
+
+ default
+}
+
+src_prepare() {
+ # Make sure we only ever touch Makefile.org and avoid patching a file
+ # that gets blown away anyways by the Configure script in src_configure
+ rm -f Makefile
+
+ if ! use vanilla ; then
+ PATCHES+=(
+ # Add patches which are Gentoo-specific customisations here
+ )
+ fi
+
+ default
+
+ if use test && use sctp && has network-sandbox ${FEATURES} ; then
+ einfo "Disabling test '80-test_ssl_new.t' which is known to fail with FEATURES=network-sandbox ..."
+ rm test/recipes/80-test_ssl_new.t || die
+ fi
+
+ # Test fails depending on kernel configuration, bug #699134
+ rm test/recipes/30-test_afalg.t || die
+}
+
+src_configure() {
+ # Keep this in sync with app-misc/c_rehash
+ SSL_CNF_DIR="/etc/ssl"
+
+ # Quiet out unknown driver argument warnings since openssl
+ # doesn't have well-split CFLAGS and we're making it even worse
+ # and 'make depend' uses -Werror for added fun (bug #417795 again)
+ tc-is-clang && append-flags -Qunused-arguments
+
+ # We really, really need to build OpenSSL w/ strict aliasing disabled.
+ # It's filled with violations and it *will* result in miscompiled
+ # code. This has been in the ebuild for > 10 years but even in 2022,
+ # it's still relevant:
+ # - https://github.com/llvm/llvm-project/issues/55255
+ # - https://github.com/openssl/openssl/issues/12247
+ # - https://github.com/openssl/openssl/issues/18225
+ # - https://github.com/openssl/openssl/issues/18663#issuecomment-1181478057
+ # Don't remove the no strict aliasing bits below!
+ filter-flags -fstrict-aliasing
+ append-flags -fno-strict-aliasing
+ # The OpenSSL developers don't test with LTO right now, it leads to various
+ # warnings/errors (which may or may not be false positives), it's considered
+ # unsupported, and it's not tested in CI: https://github.com/openssl/openssl/issues/18663.
+ filter-lto
+
+ append-flags $(test-flags-CC -Wa,--noexecstack)
+
+ # bug #895308
+ append-atomic-flags
+ # Configure doesn't respect LIBS
+ export LDLIBS="${LIBS}"
+
+ # bug #197996
+ unset APPS
+ # bug #312551
+ unset SCRIPTS
+ # bug #311473
+ unset CROSS_COMPILE
+
+ tc-export AR CC CXX RANLIB RC
+
+ multilib-minimal_src_configure
+}
+
+multilib_src_configure() {
+ use_ssl() { usex $1 "enable-${2:-$1}" "no-${2:-$1}" " ${*:3}" ; }
+
+ local krb5=$(has_version app-crypt/mit-krb5 && echo "MIT" || echo "Heimdal")
+
+ # See if our toolchain supports __uint128_t. If so, it's 64bit
+ # friendly and can use the nicely optimized code paths, bug #460790.
+ #local ec_nistp_64_gcc_128
+ #
+ # Disable it for now though (bug #469976)
+ # Do NOT re-enable without substantial discussion first!
+ #
+ #echo "__uint128_t i;" > "${T}"/128.c
+ #if ${CC} ${CFLAGS} -c "${T}"/128.c -o /dev/null >&/dev/null ; then
+ # ec_nistp_64_gcc_128="enable-ec_nistp_64_gcc_128"
+ #fi
+
+ local sslout=$(bash "${FILESDIR}/gentoo.config-1.0.4")
+ einfo "Using configuration: ${sslout:-(openssl knows best)}"
+
+ # https://github.com/openssl/openssl/blob/master/INSTALL.md#enable-and-disable-features
+ local myeconfargs=(
+ ${sslout}
+
+ $(use cpu_flags_x86_sse2 || echo "no-sse2")
+ enable-camellia
+ enable-ec
+ enable-ec2m
+ enable-sm2
+ enable-srp
+ $(use elibc_musl && echo "no-async")
+ enable-idea
+ enable-mdc2
+ enable-rc5
+ $(use fips && echo "enable-fips")
+ $(use_ssl asm)
+ $(use_ssl ktls)
+ $(use_ssl rfc3779)
+ $(use_ssl sctp)
+ $(use test || echo "no-tests")
+ $(use_ssl tls-compression zlib)
+ $(use_ssl weak-ssl-ciphers)
+
+ --prefix="${EPREFIX}"/usr
+ --openssldir="${EPREFIX}"${SSL_CNF_DIR}
+ --libdir=$(get_libdir)
+
+ shared
+ threads
+ )
+
+ edo perl "${S}/Configure" "${myeconfargs[@]}"
+}
+
+multilib_src_compile() {
+ emake build_sw
+
+ if multilib_is_native_abi; then
+ emake build_docs
+ fi
+}
+
+multilib_src_test() {
+ # VFP = show subtests verbosely and show failed tests verbosely
+ # Normal V=1 would show everything verbosely but this slows things down.
+ emake HARNESS_JOBS="$(makeopts_jobs)" -Onone VFP=1 test
+}
+
+multilib_src_install() {
+ # Only -j1 is supported for the install targets:
+ # https://github.com/openssl/openssl/issues/21999#issuecomment-1771150305
+ emake DESTDIR="${D}" -j1 install_sw
+ if use fips; then
+ emake DESTDIR="${D}" -j1 install_fips
+ # Regen this in pkg_preinst, bug 900625
+ rm "${ED}${SSL_CNF_DIR}"/fipsmodule.cnf || die
+ fi
+
+ if multilib_is_native_abi; then
+ emake DESTDIR="${D}" -j1 install_ssldirs
+ emake DESTDIR="${D}" DOCDIR='$(INSTALLTOP)'/share/doc/${PF} -j1 install_docs
+ fi
+
+ # This is crappy in that the static archives are still built even
+ # when USE=static-libs. But this is due to a failing in the openssl
+ # build system: the static archives are built as PIC all the time.
+ # Only way around this would be to manually configure+compile openssl
+ # twice; once with shared lib support enabled and once without.
+ if ! use static-libs ; then
+ rm "${ED}"/usr/$(get_libdir)/lib{crypto,ssl}.a || die
+ fi
+}
+
+multilib_src_install_all() {
+ # openssl installs perl version of c_rehash by default, but
+ # we provide a shell version via app-misc/c_rehash
+ rm "${ED}"/usr/bin/c_rehash || die
+
+ dodoc {AUTHORS,CHANGES,NEWS,README,README-PROVIDERS}.md doc/*.txt doc/${PN}-c-indent.el
+
+ # Create the certs directory
+ keepdir ${SSL_CNF_DIR}/certs
+
+ # bug #254521
+ dodir /etc/sandbox.d
+ echo 'SANDBOX_PREDICT="/dev/crypto"' > "${ED}"/etc/sandbox.d/10openssl
+
+ diropts -m0700
+ keepdir ${SSL_CNF_DIR}/private
+}
+
+pkg_preinst() {
+ if use fips; then
+ # Regen fipsmodule.cnf, bug 900625
+ ebegin "Running openssl fipsinstall"
+ "${ED}/usr/bin/openssl" fipsinstall -quiet \
+ -out "${ED}${SSL_CNF_DIR}/fipsmodule.cnf" \
+ -module "${ED}/usr/$(get_libdir)/ossl-modules/fips.so"
+ eend $?
+ fi
+
+ preserve_old_lib /usr/$(get_libdir)/lib{crypto,ssl}$(get_libname 1) \
+ /usr/$(get_libdir)/lib{crypto,ssl}$(get_libname 1.1)
+}
+
+pkg_postinst() {
+ ebegin "Running 'openssl rehash ${EROOT}${SSL_CNF_DIR}/certs' to rebuild hashes (bug #333069)"
+ openssl rehash "${EROOT}${SSL_CNF_DIR}/certs"
+ eend $?
+
+ preserve_old_lib_notify /usr/$(get_libdir)/lib{crypto,ssl}$(get_libname 1) \
+ /usr/$(get_libdir)/lib{crypto,ssl}$(get_libname 1.1)
+}
diff --git a/dev-libs/openssl/openssl-3.0.13-r1.ebuild b/dev-libs/openssl/openssl-3.0.13-r1.ebuild
new file mode 100644
index 000000000000..4241ad7f72ed
--- /dev/null
+++ b/dev-libs/openssl/openssl-3.0.13-r1.ebuild
@@ -0,0 +1,282 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/openssl.org.asc
+inherit edo flag-o-matic linux-info toolchain-funcs
+inherit multilib multilib-minimal multiprocessing preserve-libs verify-sig
+
+DESCRIPTION="Robust, full-featured Open Source Toolkit for the Transport Layer Security (TLS)"
+HOMEPAGE="https://www.openssl.org/"
+
+MY_P=${P/_/-}
+
+if [[ ${PV} == 9999 ]] ; then
+ EGIT_REPO_URI="https://github.com/openssl/openssl.git"
+
+ inherit git-r3
+else
+ SRC_URI="mirror://openssl/source/${MY_P}.tar.gz
+ verify-sig? ( mirror://openssl/source/${MY_P}.tar.gz.asc )"
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+fi
+
+S="${WORKDIR}"/${MY_P}
+
+LICENSE="Apache-2.0"
+SLOT="0/3" # .so version of libssl/libcrypto
+IUSE="+asm cpu_flags_x86_sse2 fips ktls rfc3779 sctp static-libs test tls-compression vanilla verify-sig weak-ssl-ciphers"
+RESTRICT="!test? ( test )"
+
+COMMON_DEPEND="
+ tls-compression? ( >=sys-libs/zlib-1.2.8-r1[static-libs(+)?,${MULTILIB_USEDEP}] )
+"
+BDEPEND="
+ >=dev-lang/perl-5
+ sctp? ( >=net-misc/lksctp-tools-1.0.12 )
+ test? (
+ sys-apps/diffutils
+ app-alternatives/bc
+ sys-process/procps
+ )
+ verify-sig? ( >=sec-keys/openpgp-keys-openssl-20230801 )"
+
+DEPEND="${COMMON_DEPEND}"
+RDEPEND="${COMMON_DEPEND}"
+PDEPEND="app-misc/ca-certificates"
+
+MULTILIB_WRAPPED_HEADERS=(
+ /usr/include/openssl/configuration.h
+)
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-3.0.13-CVE-2024-2511.patch
+)
+
+pkg_setup() {
+ if use ktls ; then
+ if kernel_is -lt 4 18 ; then
+ ewarn "Kernel implementation of TLS (USE=ktls) requires kernel >=4.18!"
+ else
+ CONFIG_CHECK="~TLS ~TLS_DEVICE"
+ ERROR_TLS="You will be unable to offload TLS to kernel because CONFIG_TLS is not set!"
+ ERROR_TLS_DEVICE="You will be unable to offload TLS to kernel because CONFIG_TLS_DEVICE is not set!"
+ use test && CONFIG_CHECK+=" ~CRYPTO_USER_API_SKCIPHER"
+
+ linux-info_pkg_setup
+ fi
+ fi
+
+ [[ ${MERGE_TYPE} == binary ]] && return
+
+ # must check in pkg_setup; sysctl doesn't work with userpriv!
+ if use test && use sctp ; then
+ # test_ssl_new will fail with "Ensure SCTP AUTH chunks are enabled in kernel"
+ # if sctp.auth_enable is not enabled.
+ local sctp_auth_status=$(sysctl -n net.sctp.auth_enable 2>/dev/null)
+ if [[ -z "${sctp_auth_status}" ]] || [[ ${sctp_auth_status} != 1 ]] ; then
+ die "FEATURES=test with USE=sctp requires net.sctp.auth_enable=1!"
+ fi
+ fi
+}
+
+src_prepare() {
+ # Make sure we only ever touch Makefile.org and avoid patching a file
+ # that gets blown away anyways by the Configure script in src_configure
+ rm -f Makefile || die
+
+ if ! use vanilla ; then
+ PATCHES+=(
+ # Add patches which are Gentoo-specific customisations here
+ )
+ fi
+
+ default
+
+ if use test && use sctp && has network-sandbox ${FEATURES} ; then
+ einfo "Disabling test '80-test_ssl_new.t' which is known to fail with FEATURES=network-sandbox ..."
+ rm test/recipes/80-test_ssl_new.t || die
+ fi
+
+ # Test fails depending on kernel configuration, bug #699134
+ rm test/recipes/30-test_afalg.t || die
+}
+
+src_configure() {
+ # Keep this in sync with app-misc/c_rehash
+ SSL_CNF_DIR="/etc/ssl"
+
+ # Quiet out unknown driver argument warnings since openssl
+ # doesn't have well-split CFLAGS and we're making it even worse
+ # and 'make depend' uses -Werror for added fun (bug #417795 again)
+ tc-is-clang && append-flags -Qunused-arguments
+
+ # We really, really need to build OpenSSL w/ strict aliasing disabled.
+ # It's filled with violations and it *will* result in miscompiled
+ # code. This has been in the ebuild for > 10 years but even in 2022,
+ # it's still relevant:
+ # - https://github.com/llvm/llvm-project/issues/55255
+ # - https://github.com/openssl/openssl/issues/12247
+ # - https://github.com/openssl/openssl/issues/18225
+ # - https://github.com/openssl/openssl/issues/18663#issuecomment-1181478057
+ # Don't remove the no strict aliasing bits below!
+ filter-flags -fstrict-aliasing
+ append-flags -fno-strict-aliasing
+ # The OpenSSL developers don't test with LTO right now, it leads to various
+ # warnings/errors (which may or may not be false positives), it's considered
+ # unsupported, and it's not tested in CI: https://github.com/openssl/openssl/issues/18663.
+ filter-lto
+
+ append-flags $(test-flags-CC -Wa,--noexecstack)
+
+ # bug #895308
+ append-atomic-flags
+ # Configure doesn't respect LIBS
+ export LDLIBS="${LIBS}"
+
+ # bug #197996
+ unset APPS
+ # bug #312551
+ unset SCRIPTS
+ # bug #311473
+ unset CROSS_COMPILE
+
+ tc-export AR CC CXX RANLIB RC
+
+ multilib-minimal_src_configure
+}
+
+multilib_src_configure() {
+ use_ssl() { usex $1 "enable-${2:-$1}" "no-${2:-$1}" " ${*:3}" ; }
+
+ local krb5=$(has_version app-crypt/mit-krb5 && echo "MIT" || echo "Heimdal")
+
+ # See if our toolchain supports __uint128_t. If so, it's 64bit
+ # friendly and can use the nicely optimized code paths, bug #460790.
+ #local ec_nistp_64_gcc_128
+ #
+ # Disable it for now though (bug #469976)
+ # Do NOT re-enable without substantial discussion first!
+ #
+ #echo "__uint128_t i;" > "${T}"/128.c
+ #if ${CC} ${CFLAGS} -c "${T}"/128.c -o /dev/null >&/dev/null ; then
+ # ec_nistp_64_gcc_128="enable-ec_nistp_64_gcc_128"
+ #fi
+
+ local sslout=$(bash "${FILESDIR}/gentoo.config-1.0.4")
+ einfo "Using configuration: ${sslout:-(openssl knows best)}"
+
+ # https://github.com/openssl/openssl/blob/master/INSTALL.md#enable-and-disable-features
+ local myeconfargs=(
+ ${sslout}
+
+ $(use cpu_flags_x86_sse2 || echo "no-sse2")
+ enable-camellia
+ enable-ec
+ enable-ec2m
+ enable-sm2
+ enable-srp
+ $(use elibc_musl && echo "no-async")
+ enable-idea
+ enable-mdc2
+ enable-rc5
+ $(use fips && echo "enable-fips")
+ $(use_ssl asm)
+ $(use_ssl ktls)
+ $(use_ssl rfc3779)
+ $(use_ssl sctp)
+ $(use test || echo "no-tests")
+ $(use_ssl tls-compression zlib)
+ $(use_ssl weak-ssl-ciphers)
+
+ --prefix="${EPREFIX}"/usr
+ --openssldir="${EPREFIX}"${SSL_CNF_DIR}
+ --libdir=$(get_libdir)
+
+ shared
+ threads
+ )
+
+ edo perl "${S}/Configure" "${myeconfargs[@]}"
+}
+
+multilib_src_compile() {
+ emake build_sw
+
+ if multilib_is_native_abi; then
+ emake build_docs
+ fi
+}
+
+multilib_src_test() {
+ # VFP = show subtests verbosely and show failed tests verbosely
+ # Normal V=1 would show everything verbosely but this slows things down.
+ emake HARNESS_JOBS="$(makeopts_jobs)" -Onone VFP=1 test
+}
+
+multilib_src_install() {
+ # Only -j1 is supported for the install targets:
+ # https://github.com/openssl/openssl/issues/21999#issuecomment-1771150305
+ emake DESTDIR="${D}" -j1 install_sw
+ if use fips; then
+ emake DESTDIR="${D}" -j1 install_fips
+ # Regen this in pkg_preinst, bug 900625
+ rm "${ED}${SSL_CNF_DIR}"/fipsmodule.cnf || die
+ fi
+
+ if multilib_is_native_abi; then
+ emake DESTDIR="${D}" -j1 install_ssldirs
+ emake DESTDIR="${D}" DOCDIR='$(INSTALLTOP)'/share/doc/${PF} -j1 install_docs
+ fi
+
+ # This is crappy in that the static archives are still built even
+ # when USE=static-libs. But this is due to a failing in the openssl
+ # build system: the static archives are built as PIC all the time.
+ # Only way around this would be to manually configure+compile openssl
+ # twice; once with shared lib support enabled and once without.
+ if ! use static-libs ; then
+ rm "${ED}"/usr/$(get_libdir)/lib{crypto,ssl}.a || die
+ fi
+}
+
+multilib_src_install_all() {
+ # openssl installs perl version of c_rehash by default, but
+ # we provide a shell version via app-misc/c_rehash
+ rm "${ED}"/usr/bin/c_rehash || die
+
+ dodoc {AUTHORS,CHANGES,NEWS,README,README-PROVIDERS}.md doc/*.txt doc/${PN}-c-indent.el
+
+ # Create the certs directory
+ keepdir ${SSL_CNF_DIR}/certs
+
+ # bug #254521
+ dodir /etc/sandbox.d
+ echo 'SANDBOX_PREDICT="/dev/crypto"' > "${ED}"/etc/sandbox.d/10openssl
+
+ diropts -m0700
+ keepdir ${SSL_CNF_DIR}/private
+}
+
+pkg_preinst() {
+ if use fips; then
+ # Regen fipsmodule.cnf, bug 900625
+ ebegin "Running openssl fipsinstall"
+ "${ED}/usr/bin/openssl" fipsinstall -quiet \
+ -out "${ED}${SSL_CNF_DIR}/fipsmodule.cnf" \
+ -module "${ED}/usr/$(get_libdir)/ossl-modules/fips.so"
+ eend $?
+ fi
+
+ preserve_old_lib /usr/$(get_libdir)/lib{crypto,ssl}$(get_libname 1) \
+ /usr/$(get_libdir)/lib{crypto,ssl}$(get_libname 1.1)
+}
+
+pkg_postinst() {
+ ebegin "Running 'openssl rehash ${EROOT}${SSL_CNF_DIR}/certs' to rebuild hashes (bug #333069)"
+ openssl rehash "${EROOT}${SSL_CNF_DIR}/certs"
+ eend $?
+
+ preserve_old_lib_notify /usr/$(get_libdir)/lib{crypto,ssl}$(get_libname 1) \
+ /usr/$(get_libdir)/lib{crypto,ssl}$(get_libname 1.1)
+}
diff --git a/dev-libs/openssl/openssl-3.0.13-r2.ebuild b/dev-libs/openssl/openssl-3.0.13-r2.ebuild
new file mode 100644
index 000000000000..f24d736cb85c
--- /dev/null
+++ b/dev-libs/openssl/openssl-3.0.13-r2.ebuild
@@ -0,0 +1,283 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/openssl.org.asc
+inherit edo flag-o-matic linux-info toolchain-funcs
+inherit multilib multilib-minimal multiprocessing preserve-libs verify-sig
+
+DESCRIPTION="Robust, full-featured Open Source Toolkit for the Transport Layer Security (TLS)"
+HOMEPAGE="https://www.openssl.org/"
+
+MY_P=${P/_/-}
+
+if [[ ${PV} == 9999 ]] ; then
+ EGIT_REPO_URI="https://github.com/openssl/openssl.git"
+
+ inherit git-r3
+else
+ SRC_URI="mirror://openssl/source/${MY_P}.tar.gz
+ verify-sig? ( mirror://openssl/source/${MY_P}.tar.gz.asc )"
+ KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+fi
+
+S="${WORKDIR}"/${MY_P}
+
+LICENSE="Apache-2.0"
+SLOT="0/3" # .so version of libssl/libcrypto
+IUSE="+asm cpu_flags_x86_sse2 fips ktls rfc3779 sctp static-libs test tls-compression vanilla verify-sig weak-ssl-ciphers"
+RESTRICT="!test? ( test )"
+
+COMMON_DEPEND="
+ tls-compression? ( >=sys-libs/zlib-1.2.8-r1[static-libs(+)?,${MULTILIB_USEDEP}] )
+"
+BDEPEND="
+ >=dev-lang/perl-5
+ sctp? ( >=net-misc/lksctp-tools-1.0.12 )
+ test? (
+ sys-apps/diffutils
+ app-alternatives/bc
+ sys-process/procps
+ )
+ verify-sig? ( >=sec-keys/openpgp-keys-openssl-20230801 )"
+
+DEPEND="${COMMON_DEPEND}"
+RDEPEND="${COMMON_DEPEND}"
+PDEPEND="app-misc/ca-certificates"
+
+MULTILIB_WRAPPED_HEADERS=(
+ /usr/include/openssl/configuration.h
+)
+
+PATCHES=(
+ "${FILESDIR}"/${P}-CVE-2024-2511.patch
+ "${FILESDIR}"/${P}-p11-segfault.patch
+)
+
+pkg_setup() {
+ if use ktls ; then
+ if kernel_is -lt 4 18 ; then
+ ewarn "Kernel implementation of TLS (USE=ktls) requires kernel >=4.18!"
+ else
+ CONFIG_CHECK="~TLS ~TLS_DEVICE"
+ ERROR_TLS="You will be unable to offload TLS to kernel because CONFIG_TLS is not set!"
+ ERROR_TLS_DEVICE="You will be unable to offload TLS to kernel because CONFIG_TLS_DEVICE is not set!"
+ use test && CONFIG_CHECK+=" ~CRYPTO_USER_API_SKCIPHER"
+
+ linux-info_pkg_setup
+ fi
+ fi
+
+ [[ ${MERGE_TYPE} == binary ]] && return
+
+ # must check in pkg_setup; sysctl doesn't work with userpriv!
+ if use test && use sctp ; then
+ # test_ssl_new will fail with "Ensure SCTP AUTH chunks are enabled in kernel"
+ # if sctp.auth_enable is not enabled.
+ local sctp_auth_status=$(sysctl -n net.sctp.auth_enable 2>/dev/null)
+ if [[ -z "${sctp_auth_status}" ]] || [[ ${sctp_auth_status} != 1 ]] ; then
+ die "FEATURES=test with USE=sctp requires net.sctp.auth_enable=1!"
+ fi
+ fi
+}
+
+src_prepare() {
+ # Make sure we only ever touch Makefile.org and avoid patching a file
+ # that gets blown away anyways by the Configure script in src_configure
+ rm -f Makefile || die
+
+ if ! use vanilla ; then
+ PATCHES+=(
+ # Add patches which are Gentoo-specific customisations here
+ )
+ fi
+
+ default
+
+ if use test && use sctp && has network-sandbox ${FEATURES} ; then
+ einfo "Disabling test '80-test_ssl_new.t' which is known to fail with FEATURES=network-sandbox ..."
+ rm test/recipes/80-test_ssl_new.t || die
+ fi
+
+ # Test fails depending on kernel configuration, bug #699134
+ rm test/recipes/30-test_afalg.t || die
+}
+
+src_configure() {
+ # Keep this in sync with app-misc/c_rehash
+ SSL_CNF_DIR="/etc/ssl"
+
+ # Quiet out unknown driver argument warnings since openssl
+ # doesn't have well-split CFLAGS and we're making it even worse
+ # and 'make depend' uses -Werror for added fun (bug #417795 again)
+ tc-is-clang && append-flags -Qunused-arguments
+
+ # We really, really need to build OpenSSL w/ strict aliasing disabled.
+ # It's filled with violations and it *will* result in miscompiled
+ # code. This has been in the ebuild for > 10 years but even in 2022,
+ # it's still relevant:
+ # - https://github.com/llvm/llvm-project/issues/55255
+ # - https://github.com/openssl/openssl/issues/12247
+ # - https://github.com/openssl/openssl/issues/18225
+ # - https://github.com/openssl/openssl/issues/18663#issuecomment-1181478057
+ # Don't remove the no strict aliasing bits below!
+ filter-flags -fstrict-aliasing
+ append-flags -fno-strict-aliasing
+ # The OpenSSL developers don't test with LTO right now, it leads to various
+ # warnings/errors (which may or may not be false positives), it's considered
+ # unsupported, and it's not tested in CI: https://github.com/openssl/openssl/issues/18663.
+ filter-lto
+
+ append-flags $(test-flags-CC -Wa,--noexecstack)
+
+ # bug #895308
+ append-atomic-flags
+ # Configure doesn't respect LIBS
+ export LDLIBS="${LIBS}"
+
+ # bug #197996
+ unset APPS
+ # bug #312551
+ unset SCRIPTS
+ # bug #311473
+ unset CROSS_COMPILE
+
+ tc-export AR CC CXX RANLIB RC
+
+ multilib-minimal_src_configure
+}
+
+multilib_src_configure() {
+ use_ssl() { usex $1 "enable-${2:-$1}" "no-${2:-$1}" " ${*:3}" ; }
+
+ local krb5=$(has_version app-crypt/mit-krb5 && echo "MIT" || echo "Heimdal")
+
+ # See if our toolchain supports __uint128_t. If so, it's 64bit
+ # friendly and can use the nicely optimized code paths, bug #460790.
+ #local ec_nistp_64_gcc_128
+ #
+ # Disable it for now though (bug #469976)
+ # Do NOT re-enable without substantial discussion first!
+ #
+ #echo "__uint128_t i;" > "${T}"/128.c
+ #if ${CC} ${CFLAGS} -c "${T}"/128.c -o /dev/null >&/dev/null ; then
+ # ec_nistp_64_gcc_128="enable-ec_nistp_64_gcc_128"
+ #fi
+
+ local sslout=$(bash "${FILESDIR}/gentoo.config-1.0.4")
+ einfo "Using configuration: ${sslout:-(openssl knows best)}"
+
+ # https://github.com/openssl/openssl/blob/master/INSTALL.md#enable-and-disable-features
+ local myeconfargs=(
+ ${sslout}
+
+ $(use cpu_flags_x86_sse2 || echo "no-sse2")
+ enable-camellia
+ enable-ec
+ enable-ec2m
+ enable-sm2
+ enable-srp
+ $(use elibc_musl && echo "no-async")
+ enable-idea
+ enable-mdc2
+ enable-rc5
+ $(use fips && echo "enable-fips")
+ $(use_ssl asm)
+ $(use_ssl ktls)
+ $(use_ssl rfc3779)
+ $(use_ssl sctp)
+ $(use test || echo "no-tests")
+ $(use_ssl tls-compression zlib)
+ $(use_ssl weak-ssl-ciphers)
+
+ --prefix="${EPREFIX}"/usr
+ --openssldir="${EPREFIX}"${SSL_CNF_DIR}
+ --libdir=$(get_libdir)
+
+ shared
+ threads
+ )
+
+ edo perl "${S}/Configure" "${myeconfargs[@]}"
+}
+
+multilib_src_compile() {
+ emake build_sw
+
+ if multilib_is_native_abi; then
+ emake build_docs
+ fi
+}
+
+multilib_src_test() {
+ # VFP = show subtests verbosely and show failed tests verbosely
+ # Normal V=1 would show everything verbosely but this slows things down.
+ emake HARNESS_JOBS="$(makeopts_jobs)" -Onone VFP=1 test
+}
+
+multilib_src_install() {
+ # Only -j1 is supported for the install targets:
+ # https://github.com/openssl/openssl/issues/21999#issuecomment-1771150305
+ emake DESTDIR="${D}" -j1 install_sw
+ if use fips; then
+ emake DESTDIR="${D}" -j1 install_fips
+ # Regen this in pkg_preinst, bug 900625
+ rm "${ED}${SSL_CNF_DIR}"/fipsmodule.cnf || die
+ fi
+
+ if multilib_is_native_abi; then
+ emake DESTDIR="${D}" -j1 install_ssldirs
+ emake DESTDIR="${D}" DOCDIR='$(INSTALLTOP)'/share/doc/${PF} -j1 install_docs
+ fi
+
+ # This is crappy in that the static archives are still built even
+ # when USE=static-libs. But this is due to a failing in the openssl
+ # build system: the static archives are built as PIC all the time.
+ # Only way around this would be to manually configure+compile openssl
+ # twice; once with shared lib support enabled and once without.
+ if ! use static-libs ; then
+ rm "${ED}"/usr/$(get_libdir)/lib{crypto,ssl}.a || die
+ fi
+}
+
+multilib_src_install_all() {
+ # openssl installs perl version of c_rehash by default, but
+ # we provide a shell version via app-misc/c_rehash
+ rm "${ED}"/usr/bin/c_rehash || die
+
+ dodoc {AUTHORS,CHANGES,NEWS,README,README-PROVIDERS}.md doc/*.txt doc/${PN}-c-indent.el
+
+ # Create the certs directory
+ keepdir ${SSL_CNF_DIR}/certs
+
+ # bug #254521
+ dodir /etc/sandbox.d
+ echo 'SANDBOX_PREDICT="/dev/crypto"' > "${ED}"/etc/sandbox.d/10openssl
+
+ diropts -m0700
+ keepdir ${SSL_CNF_DIR}/private
+}
+
+pkg_preinst() {
+ if use fips; then
+ # Regen fipsmodule.cnf, bug 900625
+ ebegin "Running openssl fipsinstall"
+ "${ED}/usr/bin/openssl" fipsinstall -quiet \
+ -out "${ED}${SSL_CNF_DIR}/fipsmodule.cnf" \
+ -module "${ED}/usr/$(get_libdir)/ossl-modules/fips.so"
+ eend $?
+ fi
+
+ preserve_old_lib /usr/$(get_libdir)/lib{crypto,ssl}$(get_libname 1) \
+ /usr/$(get_libdir)/lib{crypto,ssl}$(get_libname 1.1)
+}
+
+pkg_postinst() {
+ ebegin "Running 'openssl rehash ${EROOT}${SSL_CNF_DIR}/certs' to rebuild hashes (bug #333069)"
+ openssl rehash "${EROOT}${SSL_CNF_DIR}/certs"
+ eend $?
+
+ preserve_old_lib_notify /usr/$(get_libdir)/lib{crypto,ssl}$(get_libname 1) \
+ /usr/$(get_libdir)/lib{crypto,ssl}$(get_libname 1.1)
+}
diff --git a/dev-libs/openssl/openssl-3.0.13.ebuild b/dev-libs/openssl/openssl-3.0.13.ebuild
new file mode 100644
index 000000000000..a709a5ecde4a
--- /dev/null
+++ b/dev-libs/openssl/openssl-3.0.13.ebuild
@@ -0,0 +1,278 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/openssl.org.asc
+inherit edo flag-o-matic linux-info toolchain-funcs
+inherit multilib multilib-minimal multiprocessing preserve-libs verify-sig
+
+DESCRIPTION="Robust, full-featured Open Source Toolkit for the Transport Layer Security (TLS)"
+HOMEPAGE="https://www.openssl.org/"
+
+MY_P=${P/_/-}
+
+if [[ ${PV} == 9999 ]] ; then
+ EGIT_REPO_URI="https://github.com/openssl/openssl.git"
+
+ inherit git-r3
+else
+ SRC_URI="mirror://openssl/source/${MY_P}.tar.gz
+ verify-sig? ( mirror://openssl/source/${MY_P}.tar.gz.asc )"
+ KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+fi
+
+S="${WORKDIR}"/${MY_P}
+
+LICENSE="Apache-2.0"
+SLOT="0/3" # .so version of libssl/libcrypto
+IUSE="+asm cpu_flags_x86_sse2 fips ktls rfc3779 sctp static-libs test tls-compression vanilla verify-sig weak-ssl-ciphers"
+RESTRICT="!test? ( test )"
+
+COMMON_DEPEND="
+ tls-compression? ( >=sys-libs/zlib-1.2.8-r1[static-libs(+)?,${MULTILIB_USEDEP}] )
+"
+BDEPEND="
+ >=dev-lang/perl-5
+ sctp? ( >=net-misc/lksctp-tools-1.0.12 )
+ test? (
+ sys-apps/diffutils
+ app-alternatives/bc
+ sys-process/procps
+ )
+ verify-sig? ( >=sec-keys/openpgp-keys-openssl-20230801 )"
+
+DEPEND="${COMMON_DEPEND}"
+RDEPEND="${COMMON_DEPEND}"
+PDEPEND="app-misc/ca-certificates"
+
+MULTILIB_WRAPPED_HEADERS=(
+ /usr/include/openssl/configuration.h
+)
+
+pkg_setup() {
+ if use ktls ; then
+ if kernel_is -lt 4 18 ; then
+ ewarn "Kernel implementation of TLS (USE=ktls) requires kernel >=4.18!"
+ else
+ CONFIG_CHECK="~TLS ~TLS_DEVICE"
+ ERROR_TLS="You will be unable to offload TLS to kernel because CONFIG_TLS is not set!"
+ ERROR_TLS_DEVICE="You will be unable to offload TLS to kernel because CONFIG_TLS_DEVICE is not set!"
+ use test && CONFIG_CHECK+=" ~CRYPTO_USER_API_SKCIPHER"
+
+ linux-info_pkg_setup
+ fi
+ fi
+
+ [[ ${MERGE_TYPE} == binary ]] && return
+
+ # must check in pkg_setup; sysctl doesn't work with userpriv!
+ if use test && use sctp ; then
+ # test_ssl_new will fail with "Ensure SCTP AUTH chunks are enabled in kernel"
+ # if sctp.auth_enable is not enabled.
+ local sctp_auth_status=$(sysctl -n net.sctp.auth_enable 2>/dev/null)
+ if [[ -z "${sctp_auth_status}" ]] || [[ ${sctp_auth_status} != 1 ]] ; then
+ die "FEATURES=test with USE=sctp requires net.sctp.auth_enable=1!"
+ fi
+ fi
+}
+
+src_prepare() {
+ # Make sure we only ever touch Makefile.org and avoid patching a file
+ # that gets blown away anyways by the Configure script in src_configure
+ rm -f Makefile || die
+
+ if ! use vanilla ; then
+ PATCHES+=(
+ # Add patches which are Gentoo-specific customisations here
+ )
+ fi
+
+ default
+
+ if use test && use sctp && has network-sandbox ${FEATURES} ; then
+ einfo "Disabling test '80-test_ssl_new.t' which is known to fail with FEATURES=network-sandbox ..."
+ rm test/recipes/80-test_ssl_new.t || die
+ fi
+
+ # Test fails depending on kernel configuration, bug #699134
+ rm test/recipes/30-test_afalg.t || die
+}
+
+src_configure() {
+ # Keep this in sync with app-misc/c_rehash
+ SSL_CNF_DIR="/etc/ssl"
+
+ # Quiet out unknown driver argument warnings since openssl
+ # doesn't have well-split CFLAGS and we're making it even worse
+ # and 'make depend' uses -Werror for added fun (bug #417795 again)
+ tc-is-clang && append-flags -Qunused-arguments
+
+ # We really, really need to build OpenSSL w/ strict aliasing disabled.
+ # It's filled with violations and it *will* result in miscompiled
+ # code. This has been in the ebuild for > 10 years but even in 2022,
+ # it's still relevant:
+ # - https://github.com/llvm/llvm-project/issues/55255
+ # - https://github.com/openssl/openssl/issues/12247
+ # - https://github.com/openssl/openssl/issues/18225
+ # - https://github.com/openssl/openssl/issues/18663#issuecomment-1181478057
+ # Don't remove the no strict aliasing bits below!
+ filter-flags -fstrict-aliasing
+ append-flags -fno-strict-aliasing
+ # The OpenSSL developers don't test with LTO right now, it leads to various
+ # warnings/errors (which may or may not be false positives), it's considered
+ # unsupported, and it's not tested in CI: https://github.com/openssl/openssl/issues/18663.
+ filter-lto
+
+ append-flags $(test-flags-CC -Wa,--noexecstack)
+
+ # bug #895308
+ append-atomic-flags
+ # Configure doesn't respect LIBS
+ export LDLIBS="${LIBS}"
+
+ # bug #197996
+ unset APPS
+ # bug #312551
+ unset SCRIPTS
+ # bug #311473
+ unset CROSS_COMPILE
+
+ tc-export AR CC CXX RANLIB RC
+
+ multilib-minimal_src_configure
+}
+
+multilib_src_configure() {
+ use_ssl() { usex $1 "enable-${2:-$1}" "no-${2:-$1}" " ${*:3}" ; }
+
+ local krb5=$(has_version app-crypt/mit-krb5 && echo "MIT" || echo "Heimdal")
+
+ # See if our toolchain supports __uint128_t. If so, it's 64bit
+ # friendly and can use the nicely optimized code paths, bug #460790.
+ #local ec_nistp_64_gcc_128
+ #
+ # Disable it for now though (bug #469976)
+ # Do NOT re-enable without substantial discussion first!
+ #
+ #echo "__uint128_t i;" > "${T}"/128.c
+ #if ${CC} ${CFLAGS} -c "${T}"/128.c -o /dev/null >&/dev/null ; then
+ # ec_nistp_64_gcc_128="enable-ec_nistp_64_gcc_128"
+ #fi
+
+ local sslout=$(bash "${FILESDIR}/gentoo.config-1.0.4")
+ einfo "Using configuration: ${sslout:-(openssl knows best)}"
+
+ # https://github.com/openssl/openssl/blob/master/INSTALL.md#enable-and-disable-features
+ local myeconfargs=(
+ ${sslout}
+
+ $(use cpu_flags_x86_sse2 || echo "no-sse2")
+ enable-camellia
+ enable-ec
+ enable-ec2m
+ enable-sm2
+ enable-srp
+ $(use elibc_musl && echo "no-async")
+ enable-idea
+ enable-mdc2
+ enable-rc5
+ $(use fips && echo "enable-fips")
+ $(use_ssl asm)
+ $(use_ssl ktls)
+ $(use_ssl rfc3779)
+ $(use_ssl sctp)
+ $(use test || echo "no-tests")
+ $(use_ssl tls-compression zlib)
+ $(use_ssl weak-ssl-ciphers)
+
+ --prefix="${EPREFIX}"/usr
+ --openssldir="${EPREFIX}"${SSL_CNF_DIR}
+ --libdir=$(get_libdir)
+
+ shared
+ threads
+ )
+
+ edo perl "${S}/Configure" "${myeconfargs[@]}"
+}
+
+multilib_src_compile() {
+ emake build_sw
+
+ if multilib_is_native_abi; then
+ emake build_docs
+ fi
+}
+
+multilib_src_test() {
+ # VFP = show subtests verbosely and show failed tests verbosely
+ # Normal V=1 would show everything verbosely but this slows things down.
+ emake HARNESS_JOBS="$(makeopts_jobs)" -Onone VFP=1 test
+}
+
+multilib_src_install() {
+ # Only -j1 is supported for the install targets:
+ # https://github.com/openssl/openssl/issues/21999#issuecomment-1771150305
+ emake DESTDIR="${D}" -j1 install_sw
+ if use fips; then
+ emake DESTDIR="${D}" -j1 install_fips
+ # Regen this in pkg_preinst, bug 900625
+ rm "${ED}${SSL_CNF_DIR}"/fipsmodule.cnf || die
+ fi
+
+ if multilib_is_native_abi; then
+ emake DESTDIR="${D}" -j1 install_ssldirs
+ emake DESTDIR="${D}" DOCDIR='$(INSTALLTOP)'/share/doc/${PF} -j1 install_docs
+ fi
+
+ # This is crappy in that the static archives are still built even
+ # when USE=static-libs. But this is due to a failing in the openssl
+ # build system: the static archives are built as PIC all the time.
+ # Only way around this would be to manually configure+compile openssl
+ # twice; once with shared lib support enabled and once without.
+ if ! use static-libs ; then
+ rm "${ED}"/usr/$(get_libdir)/lib{crypto,ssl}.a || die
+ fi
+}
+
+multilib_src_install_all() {
+ # openssl installs perl version of c_rehash by default, but
+ # we provide a shell version via app-misc/c_rehash
+ rm "${ED}"/usr/bin/c_rehash || die
+
+ dodoc {AUTHORS,CHANGES,NEWS,README,README-PROVIDERS}.md doc/*.txt doc/${PN}-c-indent.el
+
+ # Create the certs directory
+ keepdir ${SSL_CNF_DIR}/certs
+
+ # bug #254521
+ dodir /etc/sandbox.d
+ echo 'SANDBOX_PREDICT="/dev/crypto"' > "${ED}"/etc/sandbox.d/10openssl
+
+ diropts -m0700
+ keepdir ${SSL_CNF_DIR}/private
+}
+
+pkg_preinst() {
+ if use fips; then
+ # Regen fipsmodule.cnf, bug 900625
+ ebegin "Running openssl fipsinstall"
+ "${ED}/usr/bin/openssl" fipsinstall -quiet \
+ -out "${ED}${SSL_CNF_DIR}/fipsmodule.cnf" \
+ -module "${ED}/usr/$(get_libdir)/ossl-modules/fips.so"
+ eend $?
+ fi
+
+ preserve_old_lib /usr/$(get_libdir)/lib{crypto,ssl}$(get_libname 1) \
+ /usr/$(get_libdir)/lib{crypto,ssl}$(get_libname 1.1)
+}
+
+pkg_postinst() {
+ ebegin "Running 'openssl rehash ${EROOT}${SSL_CNF_DIR}/certs' to rebuild hashes (bug #333069)"
+ openssl rehash "${EROOT}${SSL_CNF_DIR}/certs"
+ eend $?
+
+ preserve_old_lib_notify /usr/$(get_libdir)/lib{crypto,ssl}$(get_libname 1) \
+ /usr/$(get_libdir)/lib{crypto,ssl}$(get_libname 1.1)
+}
diff --git a/dev-libs/openssl/openssl-3.1.5-r1.ebuild b/dev-libs/openssl/openssl-3.1.5-r1.ebuild
new file mode 100644
index 000000000000..23a3463ec688
--- /dev/null
+++ b/dev-libs/openssl/openssl-3.1.5-r1.ebuild
@@ -0,0 +1,285 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/openssl.org.asc
+inherit edo flag-o-matic linux-info toolchain-funcs
+inherit multilib multilib-minimal multiprocessing preserve-libs verify-sig
+
+DESCRIPTION="Robust, full-featured Open Source Toolkit for the Transport Layer Security (TLS)"
+HOMEPAGE="https://www.openssl.org/"
+
+MY_P=${P/_/-}
+
+if [[ ${PV} == 9999 ]] ; then
+ EGIT_REPO_URI="https://github.com/openssl/openssl.git"
+
+ inherit git-r3
+else
+ SRC_URI="
+ mirror://openssl/source/${MY_P}.tar.gz
+ verify-sig? ( mirror://openssl/source/${MY_P}.tar.gz.asc )
+ "
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+fi
+
+S="${WORKDIR}"/${MY_P}
+
+LICENSE="Apache-2.0"
+SLOT="0/$(ver_cut 1)" # .so version of libssl/libcrypto
+IUSE="+asm cpu_flags_x86_sse2 fips ktls rfc3779 sctp static-libs test tls-compression vanilla verify-sig weak-ssl-ciphers"
+RESTRICT="!test? ( test )"
+
+COMMON_DEPEND="
+ !<net-misc/openssh-9.2_p1-r3
+ tls-compression? ( >=sys-libs/zlib-1.2.8-r1[static-libs(+)?,${MULTILIB_USEDEP}] )
+"
+BDEPEND="
+ >=dev-lang/perl-5
+ sctp? ( >=net-misc/lksctp-tools-1.0.12 )
+ test? (
+ sys-apps/diffutils
+ app-alternatives/bc
+ sys-process/procps
+ )
+ verify-sig? ( >=sec-keys/openpgp-keys-openssl-20230801 )"
+
+DEPEND="${COMMON_DEPEND}"
+RDEPEND="${COMMON_DEPEND}"
+PDEPEND="app-misc/ca-certificates"
+
+MULTILIB_WRAPPED_HEADERS=(
+ /usr/include/openssl/configuration.h
+)
+
+PATCHES=(
+ "${FILESDIR}"/${P}-p11-segfault.patch
+)
+
+pkg_setup() {
+ if use ktls ; then
+ if kernel_is -lt 4 18 ; then
+ ewarn "Kernel implementation of TLS (USE=ktls) requires kernel >=4.18!"
+ else
+ CONFIG_CHECK="~TLS ~TLS_DEVICE"
+ ERROR_TLS="You will be unable to offload TLS to kernel because CONFIG_TLS is not set!"
+ ERROR_TLS_DEVICE="You will be unable to offload TLS to kernel because CONFIG_TLS_DEVICE is not set!"
+ use test && CONFIG_CHECK+=" ~CRYPTO_USER_API_SKCIPHER"
+
+ linux-info_pkg_setup
+ fi
+ fi
+
+ [[ ${MERGE_TYPE} == binary ]] && return
+
+ # must check in pkg_setup; sysctl doesn't work with userpriv!
+ if use test && use sctp ; then
+ # test_ssl_new will fail with "Ensure SCTP AUTH chunks are enabled in kernel"
+ # if sctp.auth_enable is not enabled.
+ local sctp_auth_status=$(sysctl -n net.sctp.auth_enable 2>/dev/null)
+ if [[ -z "${sctp_auth_status}" ]] || [[ ${sctp_auth_status} != 1 ]] ; then
+ die "FEATURES=test with USE=sctp requires net.sctp.auth_enable=1!"
+ fi
+ fi
+}
+
+src_prepare() {
+ # Make sure we only ever touch Makefile.org and avoid patching a file
+ # that gets blown away anyways by the Configure script in src_configure
+ rm -f Makefile
+
+ if ! use vanilla ; then
+ PATCHES+=(
+ # Add patches which are Gentoo-specific customisations here
+ )
+ fi
+
+ default
+
+ if use test && use sctp && has network-sandbox ${FEATURES} ; then
+ einfo "Disabling test '80-test_ssl_new.t' which is known to fail with FEATURES=network-sandbox ..."
+ rm test/recipes/80-test_ssl_new.t || die
+ fi
+
+ # Test fails depending on kernel configuration, bug #699134
+ rm test/recipes/30-test_afalg.t || die
+}
+
+src_configure() {
+ # Keep this in sync with app-misc/c_rehash
+ SSL_CNF_DIR="/etc/ssl"
+
+ # Quiet out unknown driver argument warnings since openssl
+ # doesn't have well-split CFLAGS and we're making it even worse
+ # and 'make depend' uses -Werror for added fun (bug #417795 again)
+ tc-is-clang && append-flags -Qunused-arguments
+
+ # We really, really need to build OpenSSL w/ strict aliasing disabled.
+ # It's filled with violations and it *will* result in miscompiled
+ # code. This has been in the ebuild for > 10 years but even in 2022,
+ # it's still relevant:
+ # - https://github.com/llvm/llvm-project/issues/55255
+ # - https://github.com/openssl/openssl/issues/12247
+ # - https://github.com/openssl/openssl/issues/18225
+ # - https://github.com/openssl/openssl/issues/18663#issuecomment-1181478057
+ # Don't remove the no strict aliasing bits below!
+ filter-flags -fstrict-aliasing
+ append-flags -fno-strict-aliasing
+ # The OpenSSL developers don't test with LTO right now, it leads to various
+ # warnings/errors (which may or may not be false positives), it's considered
+ # unsupported, and it's not tested in CI: https://github.com/openssl/openssl/issues/18663.
+ filter-lto
+
+ append-flags $(test-flags-CC -Wa,--noexecstack)
+
+ # bug #895308
+ append-atomic-flags
+ # Configure doesn't respect LIBS
+ export LDLIBS="${LIBS}"
+
+ # bug #197996
+ unset APPS
+ # bug #312551
+ unset SCRIPTS
+ # bug #311473
+ unset CROSS_COMPILE
+
+ tc-export AR CC CXX RANLIB RC
+
+ multilib-minimal_src_configure
+}
+
+multilib_src_configure() {
+ use_ssl() { usex $1 "enable-${2:-$1}" "no-${2:-$1}" " ${*:3}" ; }
+
+ local krb5=$(has_version app-crypt/mit-krb5 && echo "MIT" || echo "Heimdal")
+
+ # See if our toolchain supports __uint128_t. If so, it's 64bit
+ # friendly and can use the nicely optimized code paths, bug #460790.
+ #local ec_nistp_64_gcc_128
+ #
+ # Disable it for now though (bug #469976)
+ # Do NOT re-enable without substantial discussion first!
+ #
+ #echo "__uint128_t i;" > "${T}"/128.c
+ #if ${CC} ${CFLAGS} -c "${T}"/128.c -o /dev/null >&/dev/null ; then
+ # ec_nistp_64_gcc_128="enable-ec_nistp_64_gcc_128"
+ #fi
+
+ local sslout=$(bash "${FILESDIR}/gentoo.config-1.0.4")
+ einfo "Using configuration: ${sslout:-(openssl knows best)}"
+
+ # https://github.com/openssl/openssl/blob/master/INSTALL.md#enable-and-disable-features
+ local myeconfargs=(
+ ${sslout}
+
+ $(use cpu_flags_x86_sse2 || echo "no-sse2")
+ enable-camellia
+ enable-ec
+ enable-ec2m
+ enable-sm2
+ enable-srp
+ $(use elibc_musl && echo "no-async")
+ enable-idea
+ enable-mdc2
+ enable-rc5
+ $(use fips && echo "enable-fips")
+ $(use_ssl asm)
+ $(use_ssl ktls)
+ $(use_ssl rfc3779)
+ $(use_ssl sctp)
+ $(use test || echo "no-tests")
+ $(use_ssl tls-compression zlib)
+ $(use_ssl weak-ssl-ciphers)
+
+ --prefix="${EPREFIX}"/usr
+ --openssldir="${EPREFIX}"${SSL_CNF_DIR}
+ --libdir=$(get_libdir)
+
+ shared
+ threads
+ )
+
+ edo perl "${S}/Configure" "${myeconfargs[@]}"
+}
+
+multilib_src_compile() {
+ emake build_sw
+
+ if multilib_is_native_abi; then
+ emake build_docs
+ fi
+}
+
+multilib_src_test() {
+ # VFP = show subtests verbosely and show failed tests verbosely
+ # Normal V=1 would show everything verbosely but this slows things down.
+ emake HARNESS_JOBS="$(makeopts_jobs)" -Onone VFP=1 test
+}
+
+multilib_src_install() {
+ # Only -j1 is supported for the install targets:
+ # https://github.com/openssl/openssl/issues/21999#issuecomment-1771150305
+ emake DESTDIR="${D}" -j1 install_sw
+ if use fips; then
+ emake DESTDIR="${D}" -j1 install_fips
+ # Regen this in pkg_preinst, bug 900625
+ rm "${ED}${SSL_CNF_DIR}"/fipsmodule.cnf || die
+ fi
+
+ if multilib_is_native_abi; then
+ emake DESTDIR="${D}" -j1 install_ssldirs
+ emake DESTDIR="${D}" DOCDIR='$(INSTALLTOP)'/share/doc/${PF} -j1 install_docs
+ fi
+
+ # This is crappy in that the static archives are still built even
+ # when USE=static-libs. But this is due to a failing in the openssl
+ # build system: the static archives are built as PIC all the time.
+ # Only way around this would be to manually configure+compile openssl
+ # twice; once with shared lib support enabled and once without.
+ if ! use static-libs ; then
+ rm "${ED}"/usr/$(get_libdir)/lib{crypto,ssl}.a || die
+ fi
+}
+
+multilib_src_install_all() {
+ # openssl installs perl version of c_rehash by default, but
+ # we provide a shell version via app-misc/c_rehash
+ rm "${ED}"/usr/bin/c_rehash || die
+
+ dodoc {AUTHORS,CHANGES,NEWS,README,README-PROVIDERS}.md doc/*.txt doc/${PN}-c-indent.el
+
+ # Create the certs directory
+ keepdir ${SSL_CNF_DIR}/certs
+
+ # bug #254521
+ dodir /etc/sandbox.d
+ echo 'SANDBOX_PREDICT="/dev/crypto"' > "${ED}"/etc/sandbox.d/10openssl
+
+ diropts -m0700
+ keepdir ${SSL_CNF_DIR}/private
+}
+
+pkg_preinst() {
+ if use fips; then
+ # Regen fipsmodule.cnf, bug 900625
+ ebegin "Running openssl fipsinstall"
+ "${ED}/usr/bin/openssl" fipsinstall -quiet \
+ -out "${ED}${SSL_CNF_DIR}/fipsmodule.cnf" \
+ -module "${ED}/usr/$(get_libdir)/ossl-modules/fips.so"
+ eend $?
+ fi
+
+ preserve_old_lib /usr/$(get_libdir)/lib{crypto,ssl}$(get_libname 1) \
+ /usr/$(get_libdir)/lib{crypto,ssl}$(get_libname 1.1)
+}
+
+pkg_postinst() {
+ ebegin "Running 'openssl rehash ${EROOT}${SSL_CNF_DIR}/certs' to rebuild hashes (bug #333069)"
+ openssl rehash "${EROOT}${SSL_CNF_DIR}/certs"
+ eend $?
+
+ preserve_old_lib_notify /usr/$(get_libdir)/lib{crypto,ssl}$(get_libname 1) \
+ /usr/$(get_libdir)/lib{crypto,ssl}$(get_libname 1.1)
+}
diff --git a/dev-libs/openssl/openssl-3.1.5-r2.ebuild b/dev-libs/openssl/openssl-3.1.5-r2.ebuild
new file mode 100644
index 000000000000..1c3b048b75a0
--- /dev/null
+++ b/dev-libs/openssl/openssl-3.1.5-r2.ebuild
@@ -0,0 +1,286 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/openssl.org.asc
+inherit edo flag-o-matic linux-info toolchain-funcs
+inherit multilib multilib-minimal multiprocessing preserve-libs verify-sig
+
+DESCRIPTION="Robust, full-featured Open Source Toolkit for the Transport Layer Security (TLS)"
+HOMEPAGE="https://www.openssl.org/"
+
+MY_P=${P/_/-}
+
+if [[ ${PV} == 9999 ]] ; then
+ EGIT_REPO_URI="https://github.com/openssl/openssl.git"
+
+ inherit git-r3
+else
+ SRC_URI="
+ mirror://openssl/source/${MY_P}.tar.gz
+ verify-sig? ( mirror://openssl/source/${MY_P}.tar.gz.asc )
+ "
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+fi
+
+S="${WORKDIR}"/${MY_P}
+
+LICENSE="Apache-2.0"
+SLOT="0/$(ver_cut 1)" # .so version of libssl/libcrypto
+IUSE="+asm cpu_flags_x86_sse2 fips ktls rfc3779 sctp static-libs test tls-compression vanilla verify-sig weak-ssl-ciphers"
+RESTRICT="!test? ( test )"
+
+COMMON_DEPEND="
+ !<net-misc/openssh-9.2_p1-r3
+ tls-compression? ( >=sys-libs/zlib-1.2.8-r1[static-libs(+)?,${MULTILIB_USEDEP}] )
+"
+BDEPEND="
+ >=dev-lang/perl-5
+ sctp? ( >=net-misc/lksctp-tools-1.0.12 )
+ test? (
+ sys-apps/diffutils
+ app-alternatives/bc
+ sys-process/procps
+ )
+ verify-sig? ( >=sec-keys/openpgp-keys-openssl-20230801 )"
+
+DEPEND="${COMMON_DEPEND}"
+RDEPEND="${COMMON_DEPEND}"
+PDEPEND="app-misc/ca-certificates"
+
+MULTILIB_WRAPPED_HEADERS=(
+ /usr/include/openssl/configuration.h
+)
+
+PATCHES=(
+ "${FILESDIR}"/${P}-p11-segfault.patch
+ "${FILESDIR}"/${P}-CVE-2024-2511.patch
+)
+
+pkg_setup() {
+ if use ktls ; then
+ if kernel_is -lt 4 18 ; then
+ ewarn "Kernel implementation of TLS (USE=ktls) requires kernel >=4.18!"
+ else
+ CONFIG_CHECK="~TLS ~TLS_DEVICE"
+ ERROR_TLS="You will be unable to offload TLS to kernel because CONFIG_TLS is not set!"
+ ERROR_TLS_DEVICE="You will be unable to offload TLS to kernel because CONFIG_TLS_DEVICE is not set!"
+ use test && CONFIG_CHECK+=" ~CRYPTO_USER_API_SKCIPHER"
+
+ linux-info_pkg_setup
+ fi
+ fi
+
+ [[ ${MERGE_TYPE} == binary ]] && return
+
+ # must check in pkg_setup; sysctl doesn't work with userpriv!
+ if use test && use sctp ; then
+ # test_ssl_new will fail with "Ensure SCTP AUTH chunks are enabled in kernel"
+ # if sctp.auth_enable is not enabled.
+ local sctp_auth_status=$(sysctl -n net.sctp.auth_enable 2>/dev/null)
+ if [[ -z "${sctp_auth_status}" ]] || [[ ${sctp_auth_status} != 1 ]] ; then
+ die "FEATURES=test with USE=sctp requires net.sctp.auth_enable=1!"
+ fi
+ fi
+}
+
+src_prepare() {
+ # Make sure we only ever touch Makefile.org and avoid patching a file
+ # that gets blown away anyways by the Configure script in src_configure
+ rm -f Makefile
+
+ if ! use vanilla ; then
+ PATCHES+=(
+ # Add patches which are Gentoo-specific customisations here
+ )
+ fi
+
+ default
+
+ if use test && use sctp && has network-sandbox ${FEATURES} ; then
+ einfo "Disabling test '80-test_ssl_new.t' which is known to fail with FEATURES=network-sandbox ..."
+ rm test/recipes/80-test_ssl_new.t || die
+ fi
+
+ # Test fails depending on kernel configuration, bug #699134
+ rm test/recipes/30-test_afalg.t || die
+}
+
+src_configure() {
+ # Keep this in sync with app-misc/c_rehash
+ SSL_CNF_DIR="/etc/ssl"
+
+ # Quiet out unknown driver argument warnings since openssl
+ # doesn't have well-split CFLAGS and we're making it even worse
+ # and 'make depend' uses -Werror for added fun (bug #417795 again)
+ tc-is-clang && append-flags -Qunused-arguments
+
+ # We really, really need to build OpenSSL w/ strict aliasing disabled.
+ # It's filled with violations and it *will* result in miscompiled
+ # code. This has been in the ebuild for > 10 years but even in 2022,
+ # it's still relevant:
+ # - https://github.com/llvm/llvm-project/issues/55255
+ # - https://github.com/openssl/openssl/issues/12247
+ # - https://github.com/openssl/openssl/issues/18225
+ # - https://github.com/openssl/openssl/issues/18663#issuecomment-1181478057
+ # Don't remove the no strict aliasing bits below!
+ filter-flags -fstrict-aliasing
+ append-flags -fno-strict-aliasing
+ # The OpenSSL developers don't test with LTO right now, it leads to various
+ # warnings/errors (which may or may not be false positives), it's considered
+ # unsupported, and it's not tested in CI: https://github.com/openssl/openssl/issues/18663.
+ filter-lto
+
+ append-flags $(test-flags-CC -Wa,--noexecstack)
+
+ # bug #895308
+ append-atomic-flags
+ # Configure doesn't respect LIBS
+ export LDLIBS="${LIBS}"
+
+ # bug #197996
+ unset APPS
+ # bug #312551
+ unset SCRIPTS
+ # bug #311473
+ unset CROSS_COMPILE
+
+ tc-export AR CC CXX RANLIB RC
+
+ multilib-minimal_src_configure
+}
+
+multilib_src_configure() {
+ use_ssl() { usex $1 "enable-${2:-$1}" "no-${2:-$1}" " ${*:3}" ; }
+
+ local krb5=$(has_version app-crypt/mit-krb5 && echo "MIT" || echo "Heimdal")
+
+ # See if our toolchain supports __uint128_t. If so, it's 64bit
+ # friendly and can use the nicely optimized code paths, bug #460790.
+ #local ec_nistp_64_gcc_128
+ #
+ # Disable it for now though (bug #469976)
+ # Do NOT re-enable without substantial discussion first!
+ #
+ #echo "__uint128_t i;" > "${T}"/128.c
+ #if ${CC} ${CFLAGS} -c "${T}"/128.c -o /dev/null >&/dev/null ; then
+ # ec_nistp_64_gcc_128="enable-ec_nistp_64_gcc_128"
+ #fi
+
+ local sslout=$(bash "${FILESDIR}/gentoo.config-1.0.4")
+ einfo "Using configuration: ${sslout:-(openssl knows best)}"
+
+ # https://github.com/openssl/openssl/blob/master/INSTALL.md#enable-and-disable-features
+ local myeconfargs=(
+ ${sslout}
+
+ $(use cpu_flags_x86_sse2 || echo "no-sse2")
+ enable-camellia
+ enable-ec
+ enable-ec2m
+ enable-sm2
+ enable-srp
+ $(use elibc_musl && echo "no-async")
+ enable-idea
+ enable-mdc2
+ enable-rc5
+ $(use fips && echo "enable-fips")
+ $(use_ssl asm)
+ $(use_ssl ktls)
+ $(use_ssl rfc3779)
+ $(use_ssl sctp)
+ $(use test || echo "no-tests")
+ $(use_ssl tls-compression zlib)
+ $(use_ssl weak-ssl-ciphers)
+
+ --prefix="${EPREFIX}"/usr
+ --openssldir="${EPREFIX}"${SSL_CNF_DIR}
+ --libdir=$(get_libdir)
+
+ shared
+ threads
+ )
+
+ edo perl "${S}/Configure" "${myeconfargs[@]}"
+}
+
+multilib_src_compile() {
+ emake build_sw
+
+ if multilib_is_native_abi; then
+ emake build_docs
+ fi
+}
+
+multilib_src_test() {
+ # VFP = show subtests verbosely and show failed tests verbosely
+ # Normal V=1 would show everything verbosely but this slows things down.
+ emake HARNESS_JOBS="$(makeopts_jobs)" -Onone VFP=1 test
+}
+
+multilib_src_install() {
+ # Only -j1 is supported for the install targets:
+ # https://github.com/openssl/openssl/issues/21999#issuecomment-1771150305
+ emake DESTDIR="${D}" -j1 install_sw
+ if use fips; then
+ emake DESTDIR="${D}" -j1 install_fips
+ # Regen this in pkg_preinst, bug 900625
+ rm "${ED}${SSL_CNF_DIR}"/fipsmodule.cnf || die
+ fi
+
+ if multilib_is_native_abi; then
+ emake DESTDIR="${D}" -j1 install_ssldirs
+ emake DESTDIR="${D}" DOCDIR='$(INSTALLTOP)'/share/doc/${PF} -j1 install_docs
+ fi
+
+ # This is crappy in that the static archives are still built even
+ # when USE=static-libs. But this is due to a failing in the openssl
+ # build system: the static archives are built as PIC all the time.
+ # Only way around this would be to manually configure+compile openssl
+ # twice; once with shared lib support enabled and once without.
+ if ! use static-libs ; then
+ rm "${ED}"/usr/$(get_libdir)/lib{crypto,ssl}.a || die
+ fi
+}
+
+multilib_src_install_all() {
+ # openssl installs perl version of c_rehash by default, but
+ # we provide a shell version via app-misc/c_rehash
+ rm "${ED}"/usr/bin/c_rehash || die
+
+ dodoc {AUTHORS,CHANGES,NEWS,README,README-PROVIDERS}.md doc/*.txt doc/${PN}-c-indent.el
+
+ # Create the certs directory
+ keepdir ${SSL_CNF_DIR}/certs
+
+ # bug #254521
+ dodir /etc/sandbox.d
+ echo 'SANDBOX_PREDICT="/dev/crypto"' > "${ED}"/etc/sandbox.d/10openssl
+
+ diropts -m0700
+ keepdir ${SSL_CNF_DIR}/private
+}
+
+pkg_preinst() {
+ if use fips; then
+ # Regen fipsmodule.cnf, bug 900625
+ ebegin "Running openssl fipsinstall"
+ "${ED}/usr/bin/openssl" fipsinstall -quiet \
+ -out "${ED}${SSL_CNF_DIR}/fipsmodule.cnf" \
+ -module "${ED}/usr/$(get_libdir)/ossl-modules/fips.so"
+ eend $?
+ fi
+
+ preserve_old_lib /usr/$(get_libdir)/lib{crypto,ssl}$(get_libname 1) \
+ /usr/$(get_libdir)/lib{crypto,ssl}$(get_libname 1.1)
+}
+
+pkg_postinst() {
+ ebegin "Running 'openssl rehash ${EROOT}${SSL_CNF_DIR}/certs' to rebuild hashes (bug #333069)"
+ openssl rehash "${EROOT}${SSL_CNF_DIR}/certs"
+ eend $?
+
+ preserve_old_lib_notify /usr/$(get_libdir)/lib{crypto,ssl}$(get_libname 1) \
+ /usr/$(get_libdir)/lib{crypto,ssl}$(get_libname 1.1)
+}
diff --git a/dev-libs/openssl/openssl-3.2.1-r1.ebuild b/dev-libs/openssl/openssl-3.2.1-r1.ebuild
new file mode 100644
index 000000000000..ee2e112cd6f0
--- /dev/null
+++ b/dev-libs/openssl/openssl-3.2.1-r1.ebuild
@@ -0,0 +1,306 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/openssl.org.asc
+inherit edo flag-o-matic linux-info toolchain-funcs
+inherit multilib multilib-minimal multiprocessing preserve-libs verify-sig
+
+DESCRIPTION="Robust, full-featured Open Source Toolkit for the Transport Layer Security (TLS)"
+HOMEPAGE="https://www.openssl.org/"
+
+MY_P=${P/_/-}
+
+if [[ ${PV} == 9999 ]] ; then
+ EGIT_REPO_URI="https://github.com/openssl/openssl.git"
+
+ inherit git-r3
+else
+ SRC_URI="
+ mirror://openssl/source/${MY_P}.tar.gz
+ verify-sig? ( mirror://openssl/source/${MY_P}.tar.gz.asc )
+ "
+
+ if [[ ${PV} != *_alpha* && ${PV} != *_beta* ]] ; then
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+ fi
+fi
+
+S="${WORKDIR}"/${MY_P}
+
+LICENSE="Apache-2.0"
+SLOT="0/$(ver_cut 1)" # .so version of libssl/libcrypto
+IUSE="+asm cpu_flags_x86_sse2 fips ktls rfc3779 sctp static-libs test tls-compression vanilla verify-sig weak-ssl-ciphers"
+RESTRICT="!test? ( test )"
+
+COMMON_DEPEND="
+ !<net-misc/openssh-9.2_p1-r3
+ tls-compression? ( >=sys-libs/zlib-1.2.8-r1[static-libs(+)?,${MULTILIB_USEDEP}] )
+"
+BDEPEND="
+ >=dev-lang/perl-5
+ sctp? ( >=net-misc/lksctp-tools-1.0.12 )
+ test? (
+ sys-apps/diffutils
+ app-alternatives/bc
+ sys-process/procps
+ )
+ verify-sig? ( >=sec-keys/openpgp-keys-openssl-20230801 )"
+
+DEPEND="${COMMON_DEPEND}"
+RDEPEND="${COMMON_DEPEND}"
+PDEPEND="app-misc/ca-certificates"
+
+MULTILIB_WRAPPED_HEADERS=(
+ /usr/include/openssl/configuration.h
+)
+
+PATCHES=(
+ "${FILESDIR}"/${P}-p11-segfault.patch
+ # bug 923956 (drop on next version bump)
+ "${FILESDIR}"/${P}-riscv.patch
+)
+
+pkg_setup() {
+ if use ktls ; then
+ if kernel_is -lt 4 18 ; then
+ ewarn "Kernel implementation of TLS (USE=ktls) requires kernel >=4.18!"
+ else
+ CONFIG_CHECK="~TLS ~TLS_DEVICE"
+ ERROR_TLS="You will be unable to offload TLS to kernel because CONFIG_TLS is not set!"
+ ERROR_TLS_DEVICE="You will be unable to offload TLS to kernel because CONFIG_TLS_DEVICE is not set!"
+ use test && CONFIG_CHECK+=" ~CRYPTO_USER_API_SKCIPHER"
+
+ linux-info_pkg_setup
+ fi
+ fi
+
+ [[ ${MERGE_TYPE} == binary ]] && return
+
+ # must check in pkg_setup; sysctl doesn't work with userpriv!
+ if use test && use sctp ; then
+ # test_ssl_new will fail with "Ensure SCTP AUTH chunks are enabled in kernel"
+ # if sctp.auth_enable is not enabled.
+ local sctp_auth_status=$(sysctl -n net.sctp.auth_enable 2>/dev/null)
+ if [[ -z "${sctp_auth_status}" ]] || [[ ${sctp_auth_status} != 1 ]] ; then
+ die "FEATURES=test with USE=sctp requires net.sctp.auth_enable=1!"
+ fi
+ fi
+}
+
+src_unpack() {
+ # Can delete this once test fix patch is dropped
+ if use verify-sig ; then
+ # Needed for downloaded patch (which is unsigned, which is fine)
+ verify-sig_verify_detached "${DISTDIR}"/${MY_P}.tar.gz{,.asc}
+ fi
+
+ default
+}
+
+src_prepare() {
+ # Make sure we only ever touch Makefile.org and avoid patching a file
+ # that gets blown away anyways by the Configure script in src_configure
+ rm -f Makefile
+
+ if ! use vanilla ; then
+ PATCHES+=(
+ # Add patches which are Gentoo-specific customisations here
+ )
+ fi
+
+ default
+
+ if use test && use sctp && has network-sandbox ${FEATURES} ; then
+ einfo "Disabling test '80-test_ssl_new.t' which is known to fail with FEATURES=network-sandbox ..."
+ rm test/recipes/80-test_ssl_new.t || die
+ fi
+
+ # Test fails depending on kernel configuration, bug #699134
+ rm test/recipes/30-test_afalg.t || die
+}
+
+src_configure() {
+ # Keep this in sync with app-misc/c_rehash
+ SSL_CNF_DIR="/etc/ssl"
+
+ # Quiet out unknown driver argument warnings since openssl
+ # doesn't have well-split CFLAGS and we're making it even worse
+ # and 'make depend' uses -Werror for added fun (bug #417795 again)
+ tc-is-clang && append-flags -Qunused-arguments
+
+ # We really, really need to build OpenSSL w/ strict aliasing disabled.
+ # It's filled with violations and it *will* result in miscompiled
+ # code. This has been in the ebuild for > 10 years but even in 2022,
+ # it's still relevant:
+ # - https://github.com/llvm/llvm-project/issues/55255
+ # - https://github.com/openssl/openssl/issues/12247
+ # - https://github.com/openssl/openssl/issues/18225
+ # - https://github.com/openssl/openssl/issues/18663#issuecomment-1181478057
+ # Don't remove the no strict aliasing bits below!
+ filter-flags -fstrict-aliasing
+ append-flags -fno-strict-aliasing
+ # The OpenSSL developers don't test with LTO right now, it leads to various
+ # warnings/errors (which may or may not be false positives), it's considered
+ # unsupported, and it's not tested in CI: https://github.com/openssl/openssl/issues/18663.
+ filter-lto
+
+ append-flags $(test-flags-CC -Wa,--noexecstack)
+
+ # bug #895308 -- check inserts GNU ld-compatible arguments
+ [[ ${CHOST} == *-darwin* ]] || append-atomic-flags
+ # Configure doesn't respect LIBS
+ export LDLIBS="${LIBS}"
+
+ # bug #197996
+ unset APPS
+ # bug #312551
+ unset SCRIPTS
+ # bug #311473
+ unset CROSS_COMPILE
+
+ tc-export AR CC CXX RANLIB RC
+
+ multilib-minimal_src_configure
+}
+
+multilib_src_configure() {
+ use_ssl() { usex $1 "enable-${2:-$1}" "no-${2:-$1}" " ${*:3}" ; }
+
+ local krb5=$(has_version app-crypt/mit-krb5 && echo "MIT" || echo "Heimdal")
+
+ # See if our toolchain supports __uint128_t. If so, it's 64bit
+ # friendly and can use the nicely optimized code paths, bug #460790.
+ #local ec_nistp_64_gcc_128
+ #
+ # Disable it for now though (bug #469976)
+ # Do NOT re-enable without substantial discussion first!
+ #
+ #echo "__uint128_t i;" > "${T}"/128.c
+ #if ${CC} ${CFLAGS} -c "${T}"/128.c -o /dev/null >&/dev/null ; then
+ # ec_nistp_64_gcc_128="enable-ec_nistp_64_gcc_128"
+ #fi
+
+ local sslout=$(bash "${FILESDIR}/gentoo.config-1.0.4")
+ einfo "Using configuration: ${sslout:-(openssl knows best)}"
+
+ # https://github.com/openssl/openssl/blob/master/INSTALL.md#enable-and-disable-features
+ local myeconfargs=(
+ ${sslout}
+
+ $(use cpu_flags_x86_sse2 || echo "no-sse2")
+ enable-camellia
+ enable-ec
+ enable-ec2m
+ enable-sm2
+ enable-srp
+ $(use elibc_musl && echo "no-async")
+ enable-idea
+ enable-mdc2
+ enable-rc5
+ $(use fips && echo "enable-fips")
+ $(use_ssl asm)
+ $(use_ssl ktls)
+ $(use_ssl rfc3779)
+ $(use_ssl sctp)
+ $(use test || echo "no-tests")
+ $(use_ssl tls-compression zlib)
+ $(use_ssl weak-ssl-ciphers)
+
+ --prefix="${EPREFIX}"/usr
+ --openssldir="${EPREFIX}"${SSL_CNF_DIR}
+ --libdir=$(get_libdir)
+
+ shared
+ threads
+ )
+
+ edo perl "${S}/Configure" "${myeconfargs[@]}"
+}
+
+multilib_src_compile() {
+ emake build_sw
+
+ if multilib_is_native_abi; then
+ emake build_docs
+ fi
+}
+
+multilib_src_test() {
+ # See https://github.com/openssl/openssl/blob/master/test/README.md for options.
+ #
+ # VFP = show subtests verbosely and show failed tests verbosely
+ # Normal V=1 would show everything verbosely but this slows things down.
+ #
+ # -j1 here for https://github.com/openssl/openssl/issues/21999, but it
+ # shouldn't matter as tests were already built earlier, and HARNESS_JOBS
+ # controls running the tests.
+ emake -Onone -j1 HARNESS_JOBS="$(makeopts_jobs)" VFP=1 test
+}
+
+multilib_src_install() {
+ # Only -j1 is supported for the install targets:
+ # https://github.com/openssl/openssl/issues/21999#issuecomment-1771150305
+ emake DESTDIR="${D}" -j1 install_sw
+ if use fips; then
+ emake DESTDIR="${D}" -j1 install_fips
+ # Regen this in pkg_preinst, bug 900625
+ rm "${ED}${SSL_CNF_DIR}"/fipsmodule.cnf || die
+ fi
+
+ if multilib_is_native_abi; then
+ emake DESTDIR="${D}" -j1 install_ssldirs
+ emake DESTDIR="${D}" DOCDIR='$(INSTALLTOP)'/share/doc/${PF} -j1 install_docs
+ fi
+
+ # This is crappy in that the static archives are still built even
+ # when USE=static-libs. But this is due to a failing in the openssl
+ # build system: the static archives are built as PIC all the time.
+ # Only way around this would be to manually configure+compile openssl
+ # twice; once with shared lib support enabled and once without.
+ if ! use static-libs ; then
+ rm "${ED}"/usr/$(get_libdir)/lib{crypto,ssl}.a || die
+ fi
+}
+
+multilib_src_install_all() {
+ # openssl installs perl version of c_rehash by default, but
+ # we provide a shell version via app-misc/c_rehash
+ rm "${ED}"/usr/bin/c_rehash || die
+
+ dodoc {AUTHORS,CHANGES,NEWS,README,README-PROVIDERS}.md doc/*.txt doc/${PN}-c-indent.el
+
+ # Create the certs directory
+ keepdir ${SSL_CNF_DIR}/certs
+
+ # bug #254521
+ dodir /etc/sandbox.d
+ echo 'SANDBOX_PREDICT="/dev/crypto"' > "${ED}"/etc/sandbox.d/10openssl
+
+ diropts -m0700
+ keepdir ${SSL_CNF_DIR}/private
+}
+
+pkg_preinst() {
+ if use fips; then
+ # Regen fipsmodule.cnf, bug 900625
+ ebegin "Running openssl fipsinstall"
+ "${ED}/usr/bin/openssl" fipsinstall -quiet \
+ -out "${ED}${SSL_CNF_DIR}/fipsmodule.cnf" \
+ -module "${ED}/usr/$(get_libdir)/ossl-modules/fips.so"
+ eend $?
+ fi
+
+ preserve_old_lib /usr/$(get_libdir)/lib{crypto,ssl}$(get_libname 1) \
+ /usr/$(get_libdir)/lib{crypto,ssl}$(get_libname 1.1)
+}
+
+pkg_postinst() {
+ ebegin "Running 'openssl rehash ${EROOT}${SSL_CNF_DIR}/certs' to rebuild hashes (bug #333069)"
+ openssl rehash "${EROOT}${SSL_CNF_DIR}/certs"
+ eend $?
+
+ preserve_old_lib_notify /usr/$(get_libdir)/lib{crypto,ssl}$(get_libname 1) \
+ /usr/$(get_libdir)/lib{crypto,ssl}$(get_libname 1.1)
+}
diff --git a/dev-libs/openssl/openssl-3.2.1-r2.ebuild b/dev-libs/openssl/openssl-3.2.1-r2.ebuild
new file mode 100644
index 000000000000..31486ad9fabe
--- /dev/null
+++ b/dev-libs/openssl/openssl-3.2.1-r2.ebuild
@@ -0,0 +1,307 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/openssl.org.asc
+inherit edo flag-o-matic linux-info toolchain-funcs
+inherit multilib multilib-minimal multiprocessing preserve-libs verify-sig
+
+DESCRIPTION="Robust, full-featured Open Source Toolkit for the Transport Layer Security (TLS)"
+HOMEPAGE="https://www.openssl.org/"
+
+MY_P=${P/_/-}
+
+if [[ ${PV} == 9999 ]] ; then
+ EGIT_REPO_URI="https://github.com/openssl/openssl.git"
+
+ inherit git-r3
+else
+ SRC_URI="
+ mirror://openssl/source/${MY_P}.tar.gz
+ verify-sig? ( mirror://openssl/source/${MY_P}.tar.gz.asc )
+ "
+
+ if [[ ${PV} != *_alpha* && ${PV} != *_beta* ]] ; then
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+ fi
+fi
+
+S="${WORKDIR}"/${MY_P}
+
+LICENSE="Apache-2.0"
+SLOT="0/$(ver_cut 1)" # .so version of libssl/libcrypto
+IUSE="+asm cpu_flags_x86_sse2 fips ktls rfc3779 sctp static-libs test tls-compression vanilla verify-sig weak-ssl-ciphers"
+RESTRICT="!test? ( test )"
+
+COMMON_DEPEND="
+ !<net-misc/openssh-9.2_p1-r3
+ tls-compression? ( >=sys-libs/zlib-1.2.8-r1[static-libs(+)?,${MULTILIB_USEDEP}] )
+"
+BDEPEND="
+ >=dev-lang/perl-5
+ sctp? ( >=net-misc/lksctp-tools-1.0.12 )
+ test? (
+ sys-apps/diffutils
+ app-alternatives/bc
+ sys-process/procps
+ )
+ verify-sig? ( >=sec-keys/openpgp-keys-openssl-20230801 )"
+
+DEPEND="${COMMON_DEPEND}"
+RDEPEND="${COMMON_DEPEND}"
+PDEPEND="app-misc/ca-certificates"
+
+MULTILIB_WRAPPED_HEADERS=(
+ /usr/include/openssl/configuration.h
+)
+
+PATCHES=(
+ "${FILESDIR}"/${P}-p11-segfault.patch
+ # bug 923956 (drop on next version bump)
+ "${FILESDIR}"/${P}-riscv.patch
+ "${FILESDIR}"/${P}-CVE-2024-2511.patch
+)
+
+pkg_setup() {
+ if use ktls ; then
+ if kernel_is -lt 4 18 ; then
+ ewarn "Kernel implementation of TLS (USE=ktls) requires kernel >=4.18!"
+ else
+ CONFIG_CHECK="~TLS ~TLS_DEVICE"
+ ERROR_TLS="You will be unable to offload TLS to kernel because CONFIG_TLS is not set!"
+ ERROR_TLS_DEVICE="You will be unable to offload TLS to kernel because CONFIG_TLS_DEVICE is not set!"
+ use test && CONFIG_CHECK+=" ~CRYPTO_USER_API_SKCIPHER"
+
+ linux-info_pkg_setup
+ fi
+ fi
+
+ [[ ${MERGE_TYPE} == binary ]] && return
+
+ # must check in pkg_setup; sysctl doesn't work with userpriv!
+ if use test && use sctp ; then
+ # test_ssl_new will fail with "Ensure SCTP AUTH chunks are enabled in kernel"
+ # if sctp.auth_enable is not enabled.
+ local sctp_auth_status=$(sysctl -n net.sctp.auth_enable 2>/dev/null)
+ if [[ -z "${sctp_auth_status}" ]] || [[ ${sctp_auth_status} != 1 ]] ; then
+ die "FEATURES=test with USE=sctp requires net.sctp.auth_enable=1!"
+ fi
+ fi
+}
+
+src_unpack() {
+ # Can delete this once test fix patch is dropped
+ if use verify-sig ; then
+ # Needed for downloaded patch (which is unsigned, which is fine)
+ verify-sig_verify_detached "${DISTDIR}"/${MY_P}.tar.gz{,.asc}
+ fi
+
+ default
+}
+
+src_prepare() {
+ # Make sure we only ever touch Makefile.org and avoid patching a file
+ # that gets blown away anyways by the Configure script in src_configure
+ rm -f Makefile
+
+ if ! use vanilla ; then
+ PATCHES+=(
+ # Add patches which are Gentoo-specific customisations here
+ )
+ fi
+
+ default
+
+ if use test && use sctp && has network-sandbox ${FEATURES} ; then
+ einfo "Disabling test '80-test_ssl_new.t' which is known to fail with FEATURES=network-sandbox ..."
+ rm test/recipes/80-test_ssl_new.t || die
+ fi
+
+ # Test fails depending on kernel configuration, bug #699134
+ rm test/recipes/30-test_afalg.t || die
+}
+
+src_configure() {
+ # Keep this in sync with app-misc/c_rehash
+ SSL_CNF_DIR="/etc/ssl"
+
+ # Quiet out unknown driver argument warnings since openssl
+ # doesn't have well-split CFLAGS and we're making it even worse
+ # and 'make depend' uses -Werror for added fun (bug #417795 again)
+ tc-is-clang && append-flags -Qunused-arguments
+
+ # We really, really need to build OpenSSL w/ strict aliasing disabled.
+ # It's filled with violations and it *will* result in miscompiled
+ # code. This has been in the ebuild for > 10 years but even in 2022,
+ # it's still relevant:
+ # - https://github.com/llvm/llvm-project/issues/55255
+ # - https://github.com/openssl/openssl/issues/12247
+ # - https://github.com/openssl/openssl/issues/18225
+ # - https://github.com/openssl/openssl/issues/18663#issuecomment-1181478057
+ # Don't remove the no strict aliasing bits below!
+ filter-flags -fstrict-aliasing
+ append-flags -fno-strict-aliasing
+ # The OpenSSL developers don't test with LTO right now, it leads to various
+ # warnings/errors (which may or may not be false positives), it's considered
+ # unsupported, and it's not tested in CI: https://github.com/openssl/openssl/issues/18663.
+ filter-lto
+
+ append-flags $(test-flags-CC -Wa,--noexecstack)
+
+ # bug #895308 -- check inserts GNU ld-compatible arguments
+ [[ ${CHOST} == *-darwin* ]] || append-atomic-flags
+ # Configure doesn't respect LIBS
+ export LDLIBS="${LIBS}"
+
+ # bug #197996
+ unset APPS
+ # bug #312551
+ unset SCRIPTS
+ # bug #311473
+ unset CROSS_COMPILE
+
+ tc-export AR CC CXX RANLIB RC
+
+ multilib-minimal_src_configure
+}
+
+multilib_src_configure() {
+ use_ssl() { usex $1 "enable-${2:-$1}" "no-${2:-$1}" " ${*:3}" ; }
+
+ local krb5=$(has_version app-crypt/mit-krb5 && echo "MIT" || echo "Heimdal")
+
+ # See if our toolchain supports __uint128_t. If so, it's 64bit
+ # friendly and can use the nicely optimized code paths, bug #460790.
+ #local ec_nistp_64_gcc_128
+ #
+ # Disable it for now though (bug #469976)
+ # Do NOT re-enable without substantial discussion first!
+ #
+ #echo "__uint128_t i;" > "${T}"/128.c
+ #if ${CC} ${CFLAGS} -c "${T}"/128.c -o /dev/null >&/dev/null ; then
+ # ec_nistp_64_gcc_128="enable-ec_nistp_64_gcc_128"
+ #fi
+
+ local sslout=$(bash "${FILESDIR}/gentoo.config-1.0.4")
+ einfo "Using configuration: ${sslout:-(openssl knows best)}"
+
+ # https://github.com/openssl/openssl/blob/master/INSTALL.md#enable-and-disable-features
+ local myeconfargs=(
+ ${sslout}
+
+ $(use cpu_flags_x86_sse2 || echo "no-sse2")
+ enable-camellia
+ enable-ec
+ enable-ec2m
+ enable-sm2
+ enable-srp
+ $(use elibc_musl && echo "no-async")
+ enable-idea
+ enable-mdc2
+ enable-rc5
+ $(use fips && echo "enable-fips")
+ $(use_ssl asm)
+ $(use_ssl ktls)
+ $(use_ssl rfc3779)
+ $(use_ssl sctp)
+ $(use test || echo "no-tests")
+ $(use_ssl tls-compression zlib)
+ $(use_ssl weak-ssl-ciphers)
+
+ --prefix="${EPREFIX}"/usr
+ --openssldir="${EPREFIX}"${SSL_CNF_DIR}
+ --libdir=$(get_libdir)
+
+ shared
+ threads
+ )
+
+ edo perl "${S}/Configure" "${myeconfargs[@]}"
+}
+
+multilib_src_compile() {
+ emake build_sw
+
+ if multilib_is_native_abi; then
+ emake build_docs
+ fi
+}
+
+multilib_src_test() {
+ # See https://github.com/openssl/openssl/blob/master/test/README.md for options.
+ #
+ # VFP = show subtests verbosely and show failed tests verbosely
+ # Normal V=1 would show everything verbosely but this slows things down.
+ #
+ # -j1 here for https://github.com/openssl/openssl/issues/21999, but it
+ # shouldn't matter as tests were already built earlier, and HARNESS_JOBS
+ # controls running the tests.
+ emake -Onone -j1 HARNESS_JOBS="$(makeopts_jobs)" VFP=1 test
+}
+
+multilib_src_install() {
+ # Only -j1 is supported for the install targets:
+ # https://github.com/openssl/openssl/issues/21999#issuecomment-1771150305
+ emake DESTDIR="${D}" -j1 install_sw
+ if use fips; then
+ emake DESTDIR="${D}" -j1 install_fips
+ # Regen this in pkg_preinst, bug 900625
+ rm "${ED}${SSL_CNF_DIR}"/fipsmodule.cnf || die
+ fi
+
+ if multilib_is_native_abi; then
+ emake DESTDIR="${D}" -j1 install_ssldirs
+ emake DESTDIR="${D}" DOCDIR='$(INSTALLTOP)'/share/doc/${PF} -j1 install_docs
+ fi
+
+ # This is crappy in that the static archives are still built even
+ # when USE=static-libs. But this is due to a failing in the openssl
+ # build system: the static archives are built as PIC all the time.
+ # Only way around this would be to manually configure+compile openssl
+ # twice; once with shared lib support enabled and once without.
+ if ! use static-libs ; then
+ rm "${ED}"/usr/$(get_libdir)/lib{crypto,ssl}.a || die
+ fi
+}
+
+multilib_src_install_all() {
+ # openssl installs perl version of c_rehash by default, but
+ # we provide a shell version via app-misc/c_rehash
+ rm "${ED}"/usr/bin/c_rehash || die
+
+ dodoc {AUTHORS,CHANGES,NEWS,README,README-PROVIDERS}.md doc/*.txt doc/${PN}-c-indent.el
+
+ # Create the certs directory
+ keepdir ${SSL_CNF_DIR}/certs
+
+ # bug #254521
+ dodir /etc/sandbox.d
+ echo 'SANDBOX_PREDICT="/dev/crypto"' > "${ED}"/etc/sandbox.d/10openssl
+
+ diropts -m0700
+ keepdir ${SSL_CNF_DIR}/private
+}
+
+pkg_preinst() {
+ if use fips; then
+ # Regen fipsmodule.cnf, bug 900625
+ ebegin "Running openssl fipsinstall"
+ "${ED}/usr/bin/openssl" fipsinstall -quiet \
+ -out "${ED}${SSL_CNF_DIR}/fipsmodule.cnf" \
+ -module "${ED}/usr/$(get_libdir)/ossl-modules/fips.so"
+ eend $?
+ fi
+
+ preserve_old_lib /usr/$(get_libdir)/lib{crypto,ssl}$(get_libname 1) \
+ /usr/$(get_libdir)/lib{crypto,ssl}$(get_libname 1.1)
+}
+
+pkg_postinst() {
+ ebegin "Running 'openssl rehash ${EROOT}${SSL_CNF_DIR}/certs' to rebuild hashes (bug #333069)"
+ openssl rehash "${EROOT}${SSL_CNF_DIR}/certs"
+ eend $?
+
+ preserve_old_lib_notify /usr/$(get_libdir)/lib{crypto,ssl}$(get_libname 1) \
+ /usr/$(get_libdir)/lib{crypto,ssl}$(get_libname 1.1)
+}
diff --git a/dev-libs/optix/Manifest b/dev-libs/optix/Manifest
new file mode 100644
index 000000000000..8443181a23ab
--- /dev/null
+++ b/dev-libs/optix/Manifest
@@ -0,0 +1,32 @@
+DIST NVIDIA-OptiX-SDK-7.4.0-linux64-x86_64.sh 57923655 BLAKE2B c3e159106ec6c8c446090ebd182fd3b0a75ec48b62e6984ae6559578688fd9a6cb29ea6065cb89aecdeb02247acbf3fb3bb0cbf69b10c29c222eb9fcbb0c6d90 SHA512 04f50c49d08c5e4e9be73ee322c4bff4f10a5e30445bc431e213c879a35cc5e36e0ceb8c864313f417628575a3c71593e65467ea13dd111b432fdf1db9383ae0
+DIST NVIDIA-OptiX-SDK-7.5.0-linux64-x86_64.sh 57849566 BLAKE2B 98ab7b92002325dacd1d12e57e83c1ba905d5950e4db5ba78cadcef7aab7067e0077e0f1214a8f953a19d40baa5b20574f95daae98ff55ab9e59023beeb7f4d9 SHA512 76469f3b19819922d668228ca6c75efdca980f48c4c2620a679908c4ac945ab2b06a134cf79dbd2a08b181419601dc70e63f055a95c586c8e7490fdb68735547
+DIST optix-7.4.0-internal-optix_7_device_impl.h 331318 BLAKE2B f0f5bba73b8b13fcd7a9c6cad9df1e7da7a8bd6c2b62c8fd69baebffb597ae4f6fdef72fd5005517ed3684921ab3213466dcfcc6ed5a5025a94fce8cba93fcdd SHA512 e3aa42816154737b5d80ec837cf5cb1dc5ee579a68b73b0e9cbf175e396cee622ec3a5b8c0a9e8c65f5dfee3a2dcba7feef54acc9970bf9792e7e8c9fe4db0f2
+DIST optix-7.4.0-internal-optix_7_device_impl_exception.h 15611 BLAKE2B 0c4023d2a89df3886f1478ecf8520e077075a53659d4c56d31bbe0396dbf87228329e57105ad2b8df86aa87829d03d04341790a6c5a996403563cf2f2fdee3d4 SHA512 4b4de0502c82b7810c5cb7b7db34f1d78b43b2551f79b351ebc8c0a8d3e4a91918629ff980623dd861ac7fc786d2ecc880935d48e2619ab8c297f39bfb5ed453
+DIST optix-7.4.0-internal-optix_7_device_impl_transformations.h 17987 BLAKE2B 666f642cd5596f44e587187d1810df7815ce06fae0bc8ac609a24928789904b56a33693573ccd0719442386e090e3056792d34b9a3980367dc9c26822afb1598 SHA512 8280c529565b8af2ef2765c3da7d0821e2f2f2361aacb2bef1a3237effe272f21990d273e2ea423056c1af91946b5d2b07af4532c6168be2370add858ad9775f
+DIST optix-7.4.0-optix.h 1716 BLAKE2B 719a46329116c83e6bacbf65d03863393f0296ba7c77ffc79b8d90a460c3df7cc9ebe11cc160bd307c466b8dc6b67bab3abed195ed45b5d2c7502bb6eb22ce08 SHA512 d8827d4f6f0c0f30a535ef1b49ac7d33f8138c4ff95c2b8dd1aff3026adab827c6ec56e30a22d4411cb6859d502a7dfe3e29994d5baa27e6a581026ba130cab8
+DIST optix-7.4.0-optix_7_device.h 218783 BLAKE2B 62c86074a7d61bd6ea2a65d5f58ee3dc0ed390603ad65981b4bbd86aab2c32e24c6be367ac49c3722b35949475877247c7a85313569c5ca00bb568d23773192b SHA512 8baa2fc2d2710086d68ea80c8f00a7cc2a2e9eb2840f69a6e0e0839dd46632a233cdb7c511daa7f1b021c45a3dd20c49097fa734ee428169b7f6f7cf832b09b2
+DIST optix-7.4.0-optix_7_host.h 49912 BLAKE2B 595cae1abf9aa62baf477c42b816c7d84be9c4361a19113acebab23631a2d4c49bca921b6849fc06e784fb31d88d6269c399c75bad7cf0847f6e6c50e61333f0 SHA512 9feb925e2bdc751e135659366508b1373315b3b78fadb1ae87bef01ec48f3599e12d7bebc078ffc7f7709ad86936bb82f1f58b1058c25e6153a4f8c8291b4436
+DIST optix-7.4.0-optix_7_types.h 77100 BLAKE2B c2368cbb72c01dbd20851db484c684314227d179d11f72cb676358bbbebec90fb64225d3b874db5cc36ebdb420f5c6b402bb458877fb34084f66ab723f6e4a75 SHA512 b75ae04f0db3e5e14d8f66e8c03aab788f6fb6f936521a4044a6992c99cd1c3b08f347018c8eb20e509df0a6fc92242874c7bef7beb374d60e00c4d7d64a083a
+DIST optix-7.4.0-optix_denoiser_tiling.h 13614 BLAKE2B e2858b45a770404196a1f37b1afa10cc11a7d5b88f73779cda57cdb3e2e7ff1634bb64a864619afd65e98090663704b782ec1417f297080e71724c506b7f66f1 SHA512 053e3841361b6554d2b87558053f8b89540033a2857faf098823180814855cc6452922b37b61099ce0cc0da4e0c3c16962bed26a94110994e96cba3b5d0737e1
+DIST optix-7.4.0-optix_device.h 2129 BLAKE2B 54d4cda1601da4d7292bb30a8b19eeda9d845f43fc70503abc679d75347d799694d4a85096365b6e751fe97cfed3a1725240c993d42ea2cc694f11df60d00035 SHA512 ef9234e32d7626e8ea7a263fa3b9f7f8d5ca4251b8c1c58d597872076f35ba4fd34d11de204096e90877820a9fc25b923a0cc4ea3d1aa8ac38fbb7c8a9f4e63d
+DIST optix-7.4.0-optix_function_table.h 18408 BLAKE2B 5a88b49a0162a65f11b212e1ccee1546207ae30ae63176bab0a5d30e99963e125040fa9695a2ad66725f1cfe2662646f1c7c487ed3243e4c6105d556278c516c SHA512 9664992a5bae195e899f63ffb6372680e3227a99a7b53112a5690d6e7ceab02674c05254221be33440422f04c3e3f0ce7f0e5f71e0b53e3b0eb999ea91037b49
+DIST optix-7.4.0-optix_function_table_definition.h 1827 BLAKE2B 84cef49e6b13c2a5ab991e10c64be5e3cf428195231b3360e5b8f9177539b5e7bb96188bd89436cd89e654a79172c2dad5d562db605d41ef10bd0a540ebba012 SHA512 bfbd9910723d48980eee23963088a810f40828975e51351774d11d0fd65965ca3a9727aef92dfc7e6d52959f33d53c5db218feff4e1a963228038881a7f60eac
+DIST optix-7.4.0-optix_host.h 1661 BLAKE2B 85e0bd7b256e40a6672e668ba2781d2ffe2beca0518f98466da8cdce365b67adc1438b0443b6e122c02ee9c8d5c361f686f44a6fab7a449d3bf42244dd11974d SHA512 771d704733992a5372e3e124a81743d9ae5d7d46f8611907a400bc29e607a7c48b889dd00b6807da55fc9091578871277435b8068785bec54d42f1d8d29f8c4c
+DIST optix-7.4.0-optix_stack_size.h 17447 BLAKE2B 3e95fce2eb9e1a03725e4259ad3327361baf52cdf3ddda1204cfae83b44261e97ec56dd3713f926e6fe880c69db674395c4bd6f466cba826f70fbafaa835c386 SHA512 ae5c6a9efedbc87e33bef5475a10ff8df0e3f53ee52bbea3aba78126b5e099961a6c34abfba6b37d076d6eb2dad458040c7f558cd2d3d090586d701fbef164e7
+DIST optix-7.4.0-optix_stubs.h 30722 BLAKE2B 0474c780164b6a6f6c645b724e03f77725e2fd7c18b7e2760dfa5d2cf5883d375c484dbbdcb568e0e2cc36524510c5e513a43164827010395f8db29004ad2522 SHA512 57959e4a1d9c57e5f691f3ab55749476a48111b0364ee09c4123a75b9690cbbb0f67481d7e5a532b2abf3f80b380d628cecccb7cf5a85c0c42adfa53fa5fc2b2
+DIST optix-7.4.0-optix_types.h 1777 BLAKE2B 87ceb8dca1c8014fa87c67983cc5d1f674e72ff5649007d8d1ee1d832f8e94c5131002299a1a7f8e1261ca84578d01765bef2bacb185ac3cd43c453346caf237 SHA512 11c637572e4a493f5fc5e125c9a15919412126b2d5876ff8e3f53ccd88280e8a7d4ec0894f44a3514e3d5dea81abea3ba207dc901e3d3bf54c7cb3407bb63767
+DIST optix-7.5.0-internal-optix_7_device_impl.h 60865 BLAKE2B b41e7c3f998e4a7a7d59c64e182dab4b35180f3269f4fb500ce0ae8daefa202fadc91eed5ceaa3096947aa6028fe903801b3b57ac387c5b7b170c96026b6770f SHA512 a9ae5376697e265138c8862739f4020f1760ed2b5bcfd54f407756de90a71b2ab16e4b44d408e9f2d661c3ddd678b95712214423b2612ac543f87a78d61676b9
+DIST optix-7.5.0-internal-optix_7_device_impl_exception.h 15599 BLAKE2B cbb756eb913f335e3e8cc42a88f1b5b8ab611f4d840fb2c55d0adcddba15adc6803e09aece305446c81fb3b0fa5f9e20cf39458d37027b2f06cb223243089558 SHA512 68b8699fb2e78225940f3160c0484ba08865940f8743f53351ea81059e0973d3e1849d327856b531111cba640c163cc1a1661b2ceeb0797cfe0cc81fc3ce6a43
+DIST optix-7.5.0-internal-optix_7_device_impl_transformations.h 17987 BLAKE2B 666f642cd5596f44e587187d1810df7815ce06fae0bc8ac609a24928789904b56a33693573ccd0719442386e090e3056792d34b9a3980367dc9c26822afb1598 SHA512 8280c529565b8af2ef2765c3da7d0821e2f2f2361aacb2bef1a3237effe272f21990d273e2ea423056c1af91946b5d2b07af4532c6168be2370add858ad9775f
+DIST optix-7.5.0-optix.h 1716 BLAKE2B 03a3a89005aa6d14bbaa8485f3989dcb4cf9223402e24c2f195e4d2e2d852276a244ff96c1de8d503a97c51e328c4397e23949526189dc8dfea61145c90af5a2 SHA512 f683a23560aac6bf86556972f86cd2b886c4598d0f86b6547cbfd2d3b2d342d55e97090c6852b8ef343b719d0a01a771048a850d06013ac1e71a3ab7eca372ac
+DIST optix-7.5.0-optix_7_device.h 57485 BLAKE2B e0149839afbc93906bab371c027dbcc36d3f75007ea0cf767430d9729ea50bdc3353460037bf549fe129ac0c0eb43681e291687ce44b68ab158cbf0017b52c70 SHA512 ebb7c6d9e73f8f10026edbec0ad036ac1c1a4ce232bbc75a5c9a91bf63db7791f7d44058380aa1db03a9ae6fa28dfb0ba5167113f4d1b251904c0ebca879f4fb
+DIST optix-7.5.0-optix_7_host.h 49672 BLAKE2B 49bd064f0247827e3df722b86fb90c0b35e1085ff5c7f4d579d58cbddccc7c8ca1b39635879f4989a51de9f26556395b23196d6c38078da14fa47c011e0a20cb SHA512 9752f654c2b7928060653542e81bf204a80c9a4922fc1e5fcbb23f01eda8a0e300b959546f61c4aaf0c0ddd502bb6ab30a07352dfab4d736d4e311276be66418
+DIST optix-7.5.0-optix_7_types.h 83058 BLAKE2B ed12242123193cef01174f22350895ef7e4a8c722b6dd197643e5cda13ac8ddcbcfd4b20587279ab64e67a1251151c6d6f33230b28e0147332025b4ff492eb54 SHA512 0ad2a40e5aca6e8272403a203734936b684f1adfcca719ed585844d759405fb9d39543925b3786c10ce1bb45dfd8720a2b12f9f2667ed1cb6a5a49d643fde393
+DIST optix-7.5.0-optix_denoiser_tiling.h 15199 BLAKE2B fa284535cb6d34271118abf482bdcd371858a5f6d5ad068b5d540e36985c01f3c2866a4d6696c7ceb53b293e566abe88115decc8ce5c7f4c2930c6bd7a851645 SHA512 cca0e99cf379a4fee5a8e826559ce6cfd444223cd0fb35623a56d07ddc676eb590f40ec71b92e3f3480e767b601fd12e6b5262d6fd604dc00a7d56d0d526bbd2
+DIST optix-7.5.0-optix_device.h 2129 BLAKE2B 54d4cda1601da4d7292bb30a8b19eeda9d845f43fc70503abc679d75347d799694d4a85096365b6e751fe97cfed3a1725240c993d42ea2cc694f11df60d00035 SHA512 ef9234e32d7626e8ea7a263fa3b9f7f8d5ca4251b8c1c58d597872076f35ba4fd34d11de204096e90877820a9fc25b923a0cc4ea3d1aa8ac38fbb7c8a9f4e63d
+DIST optix-7.5.0-optix_function_table.h 18408 BLAKE2B 3e3309d05fcaeb348bb06f542534fa0e34bacf66a892e4876a19c2c53259ff8fdd7968a4b21fc8d18c8fbb2d35d96f31517dd4d9ecff82cb1760f1c300e95828 SHA512 fd5ace4a6dd85e30d43a1957765c50e2fc518daf77eee5e4d0b7d5343498d17d0387a7cbee8268885a28b6c80caffead55ecfba9e76bcfd16afd416f551fe3e2
+DIST optix-7.5.0-optix_function_table_definition.h 1827 BLAKE2B 84cef49e6b13c2a5ab991e10c64be5e3cf428195231b3360e5b8f9177539b5e7bb96188bd89436cd89e654a79172c2dad5d562db605d41ef10bd0a540ebba012 SHA512 bfbd9910723d48980eee23963088a810f40828975e51351774d11d0fd65965ca3a9727aef92dfc7e6d52959f33d53c5db218feff4e1a963228038881a7f60eac
+DIST optix-7.5.0-optix_host.h 1661 BLAKE2B 85e0bd7b256e40a6672e668ba2781d2ffe2beca0518f98466da8cdce365b67adc1438b0443b6e122c02ee9c8d5c361f686f44a6fab7a449d3bf42244dd11974d SHA512 771d704733992a5372e3e124a81743d9ae5d7d46f8611907a400bc29e607a7c48b889dd00b6807da55fc9091578871277435b8068785bec54d42f1d8d29f8c4c
+DIST optix-7.5.0-optix_stack_size.h 17447 BLAKE2B 3e95fce2eb9e1a03725e4259ad3327361baf52cdf3ddda1204cfae83b44261e97ec56dd3713f926e6fe880c69db674395c4bd6f466cba826f70fbafaa835c386 SHA512 ae5c6a9efedbc87e33bef5475a10ff8df0e3f53ee52bbea3aba78126b5e099961a6c34abfba6b37d076d6eb2dad458040c7f558cd2d3d090586d701fbef164e7
+DIST optix-7.5.0-optix_stubs.h 30722 BLAKE2B 0474c780164b6a6f6c645b724e03f77725e2fd7c18b7e2760dfa5d2cf5883d375c484dbbdcb568e0e2cc36524510c5e513a43164827010395f8db29004ad2522 SHA512 57959e4a1d9c57e5f691f3ab55749476a48111b0364ee09c4123a75b9690cbbb0f67481d7e5a532b2abf3f80b380d628cecccb7cf5a85c0c42adfa53fa5fc2b2
+DIST optix-7.5.0-optix_types.h 1777 BLAKE2B 87ceb8dca1c8014fa87c67983cc5d1f674e72ff5649007d8d1ee1d832f8e94c5131002299a1a7f8e1261ca84578d01765bef2bacb185ac3cd43c453346caf237 SHA512 11c637572e4a493f5fc5e125c9a15919412126b2d5876ff8e3f53ccd88280e8a7d4ec0894f44a3514e3d5dea81abea3ba207dc901e3d3bf54c7cb3407bb63767
diff --git a/dev-libs/optix/metadata.xml b/dev-libs/optix/metadata.xml
new file mode 100644
index 000000000000..dbf8509f40b1
--- /dev/null
+++ b/dev-libs/optix/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" proxied="yes">
+ <email>negril.nx+gentoo@gmail.com</email>
+ <name>Paul Zander</name>
+ </maintainer>
+ <maintainer type="person" proxied="yes">
+ <email>mathy@vanvoorden.be</email>
+ <name>Mathy Vanvoorden</name>
+ </maintainer>
+ <maintainer type="person" proxied="proxy">
+ <email>ionen@gentoo.org</email>
+ <name>Ionen Wolkens</name>
+ </maintainer>
+ <longdescription>
+ Application framework from NVIDIA for achieving optimal ray tracing
+ performance on the GPU. Provides a simple, recursive and flexible
+ pipeline for accelerating ray tracing algorithms.
+ </longdescription>
+ <use>
+ <flag name="headers-only">Download and install only the header files</flag>
+ </use>
+</pkgmetadata>
diff --git a/dev-libs/optix/optix-7.4.0.ebuild b/dev-libs/optix/optix-7.4.0.ebuild
new file mode 100644
index 000000000000..ab5eb71a3052
--- /dev/null
+++ b/dev-libs/optix/optix-7.4.0.ebuild
@@ -0,0 +1,80 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+MY_PV=$(ver_cut 1-2)
+
+DESCRIPTION="NVIDIA Ray Tracing Engine"
+HOMEPAGE="https://developer.nvidia.com/optix"
+SRC_URI="!headers-only? ( NVIDIA-OptiX-SDK-${PV}-linux64-x86_64.sh )"
+S="${WORKDIR}"
+
+HEADER_INTERNAL_FILES="
+optix_7_device_impl.h
+optix_7_device_impl_exception.h
+optix_7_device_impl_transformations.h
+"
+
+HEADER_FILES="
+optix.h
+optix_7_device.h
+optix_7_host.h
+optix_7_types.h
+optix_denoiser_tiling.h
+optix_device.h
+optix_function_table.h
+optix_function_table_definition.h
+optix_host.h
+optix_stack_size.h
+optix_stubs.h
+optix_types.h
+"
+
+for i in ${HEADER_INTERNAL_FILES}; do
+ SRC_URI+=" headers-only? ( https://developer.download.nvidia.com/redist/optix/v${MY_PV}/internal/${i} -> ${P}-internal-${i} )"
+done
+for i in ${HEADER_FILES}; do
+ SRC_URI+=" headers-only? ( https://developer.download.nvidia.com/redist/optix/v${MY_PV}/${i} -> ${P}-${i} )"
+done
+unset i
+
+LICENSE="NVIDIA-SDK"
+SLOT="0"
+KEYWORDS="amd64 ~arm64"
+RESTRICT="bindist mirror !headers-only? ( fetch )"
+IUSE="+headers-only"
+
+RDEPEND=">=x11-drivers/nvidia-drivers-510"
+
+pkg_nofetch() {
+ einfo "Please download ${A} from:"
+ einfo " ${HOMEPAGE}"
+ einfo "and move it to your distfiles directory."
+}
+
+src_unpack() {
+ local i
+ if use headers-only; then
+ mkdir -p "${S}/include/internal" || die
+ for i in ${HEADER_INTERNAL_FILES}; do
+ cp "${DISTDIR}/${P}-internal-${i}" "${S}/include/internal/${i}" || die
+ done
+ for i in ${HEADER_FILES}; do
+ cp "${DISTDIR}/${P}-${i}" "${S}/include/${i}" || die
+ done
+ else
+ tail -n +223 "${DISTDIR}"/${A} | tar -zx
+ assert "unpacking ${A} failed"
+ fi
+}
+
+src_install() {
+ insinto /opt/${PN}
+ doins -r include
+
+ if use !headers-only; then
+ DOCS=( doc/OptiX_{API_Reference,Programming_Guide}_${PV}.pdf )
+ einstalldocs
+ fi
+}
diff --git a/dev-libs/optix/optix-7.5.0.ebuild b/dev-libs/optix/optix-7.5.0.ebuild
new file mode 100644
index 000000000000..3de080857121
--- /dev/null
+++ b/dev-libs/optix/optix-7.5.0.ebuild
@@ -0,0 +1,80 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+MY_PV=$(ver_cut 1-2)
+
+DESCRIPTION="NVIDIA Ray Tracing Engine"
+HOMEPAGE="https://developer.nvidia.com/optix"
+SRC_URI="!headers-only? ( NVIDIA-OptiX-SDK-${PV}-linux64-x86_64.sh )"
+S="${WORKDIR}"
+
+HEADER_INTERNAL_FILES="
+optix_7_device_impl.h
+optix_7_device_impl_exception.h
+optix_7_device_impl_transformations.h
+"
+
+HEADER_FILES="
+optix.h
+optix_7_device.h
+optix_7_host.h
+optix_7_types.h
+optix_denoiser_tiling.h
+optix_device.h
+optix_function_table.h
+optix_function_table_definition.h
+optix_host.h
+optix_stack_size.h
+optix_stubs.h
+optix_types.h
+"
+
+for i in ${HEADER_INTERNAL_FILES}; do
+ SRC_URI+=" headers-only? ( https://developer.download.nvidia.com/redist/optix/v${MY_PV}/internal/${i} -> ${P}-internal-${i} )"
+done
+for i in ${HEADER_FILES}; do
+ SRC_URI+=" headers-only? ( https://developer.download.nvidia.com/redist/optix/v${MY_PV}/${i} -> ${P}-${i} )"
+done
+unset i
+
+LICENSE="NVIDIA-SDK"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64"
+RESTRICT="bindist mirror !headers-only? ( fetch )"
+IUSE="+headers-only"
+
+RDEPEND=">=x11-drivers/nvidia-drivers-510"
+
+pkg_nofetch() {
+ einfo "Please download ${A} from:"
+ einfo " ${HOMEPAGE}"
+ einfo "and move it to your distfiles directory."
+}
+
+src_unpack() {
+ local i
+ if use headers-only; then
+ mkdir -p "${S}/include/internal" || die
+ for i in ${HEADER_INTERNAL_FILES}; do
+ cp "${DISTDIR}/${P}-internal-${i}" "${S}/include/internal/${i}" || die
+ done
+ for i in ${HEADER_FILES}; do
+ cp "${DISTDIR}/${P}-${i}" "${S}/include/${i}" || die
+ done
+ else
+ tail -n +223 "${DISTDIR}"/${A} | tar -zx
+ assert "unpacking ${A} failed"
+ fi
+}
+
+src_install() {
+ insinto /opt/${PN}
+ doins -r include
+
+ if use !headers-only; then
+ DOCS=( doc/OptiX_{API_Reference,Programming_Guide}_${PV}.pdf )
+ einstalldocs
+ fi
+}
diff --git a/dev-libs/ossp-uuid/files/ossp-uuid-1.6.2-gentoo-php.patch b/dev-libs/ossp-uuid/files/ossp-uuid-1.6.2-gentoo-php.patch
deleted file mode 100644
index 69c788bf1a05..000000000000
--- a/dev-libs/ossp-uuid/files/ossp-uuid-1.6.2-gentoo-php.patch
+++ /dev/null
@@ -1,42 +0,0 @@
-diff -Naur uuid-1.6.2.orig/php/config.m4 uuid-1.6.2/php/config.m4
---- uuid-1.6.2.orig/php/config.m4 2009-03-21 12:52:49.142847389 +0100
-+++ uuid-1.6.2/php/config.m4 2009-03-21 12:53:06.282809038 +0100
-@@ -33,10 +33,10 @@
- if test "$PHP_UUID" != "no"; then
- PHP_NEW_EXTENSION(uuid, uuid.c, $ext_shared)
- AC_DEFINE(HAVE_UUID, 1, [Have OSSP uuid library])
-- PHP_ADD_LIBPATH([..], )
-- PHP_ADD_LIBRARY([uuid],, UUID_SHARED_LIBADD)
-+ PHP_ADD_LIBRARY([ossp-uuid],, UUID_SHARED_LIBADD)
-- PHP_ADD_INCLUDE([..])
-+ PHP_ADD_INCLUDE([../uuid-1.6.2])
- PHP_SUBST(UUID_SHARED_LIBADD)
-+ LDFLAGS="$LDFLAGS -L../uuid-1.6.2/.libs"
-
- dnl avoid linking conflict with a potentially existing uuid_create(3) in libc
- AC_CHECK_FUNC(uuid_create,[
-diff -Naur uuid-1.6.2.orig/php/Makefile.local uuid-1.6.2/php/Makefile.local
---- uuid-1.6.2.orig/php/Makefile.local 2009-03-21 12:52:49.142847389 +0100
-+++ uuid-1.6.2/php/Makefile.local 2009-03-21 12:53:06.282809038 +0100
-@@ -42,7 +42,7 @@
-
- test: build
- @version=`$(PHP)-config --version | sed -e 's;^\([0-9]\).*$$;\1;'`; \
-- $(PHP) -q -d "safe_mode=0" -d "extension_dir=./" uuid.ts $$version
-+ $(PHP) -q -d "safe_mode=0" -d "extension_dir=./modules/" uuid.ts $$version
-
- install: build
- @version=`$(PHP)-config --version | sed -e 's;^\([0-9]\).*$$;\1;'`; extdir="$(EXTDIR)"; \
-diff -Naur uuid-1.6.2.orig/php/uuid.ts uuid-1.6.2/php/uuid.ts
---- uuid-1.6.2.orig/php/uuid.ts 2009-03-21 12:52:49.142847389 +0100
-+++ uuid-1.6.2/php/uuid.ts 2009-03-21 12:53:06.282809038 +0100
-@@ -36,7 +36,7 @@
-
- print "++ loading DSO uuid.so (low-level API)\n";
- if (!extension_loaded('uuid')) {
-- dl('modules/uuid.so');
-+ dl('uuid.so');
- }
-
- print "++ loading PHP uuid.php${php_version} (high-level API)\n";
-
diff --git a/dev-libs/ossp-uuid/files/ossp-uuid-1.6.2-php70.patch b/dev-libs/ossp-uuid/files/ossp-uuid-1.6.2-php70.patch
deleted file mode 100644
index 0124003bc1fc..000000000000
--- a/dev-libs/ossp-uuid/files/ossp-uuid-1.6.2-php70.patch
+++ /dev/null
@@ -1,337 +0,0 @@
---- uuid/php/uuid.c 2016-12-18 01:23:26.000000000 -0500
-+++ uuid/php/uuid.c 2016-12-18 01:23:43.564329483 -0500
-@@ -41,7 +41,13 @@
- } ctx_t;
-
- /* context implicit destruction */
-+#if PHP_VERSION_ID >= 70000
-+static void ctx_destructor(zend_resource *rsrc)
-+#else
-+typedef long zend_long;
-+
- static void ctx_destructor(zend_rsrc_list_entry *rsrc TSRMLS_DC)
-+#endif
- {
- ctx_t *ctx = (ctx_t *)rsrc->ptr;
-
-@@ -120,16 +126,23 @@
- zval *z_ctx;
- ctx_t *ctx;
- uuid_rc_t rc;
-+#if PHP_VERSION_ID >= 70000
-+ char *param_types = "z/";
-+#else
-+ char *param_types = "z";
-+#endif
-
- /* parse parameters */
-- if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "z", &z_ctx) == FAILURE)
-+ if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, param_types, &z_ctx) == FAILURE)
- RETURN_LONG((long)UUID_RC_ARG);
-
- /* post-process and sanity check parameters */
-+#if PHP_VERSION_ID < 70000
- if (!PZVAL_IS_REF(z_ctx)) {
- php_error_docref(NULL TSRMLS_CC, E_WARNING, "uuid_create: parameter wasn't passed by reference");
- RETURN_LONG((long)UUID_RC_ARG);
- }
-+#endif
-
- /* perform operation */
- if ((ctx = (ctx_t *)malloc(sizeof(ctx_t))) == NULL)
-@@ -138,7 +151,12 @@
- php_error_docref(NULL TSRMLS_CC, E_WARNING, "uuid_create: %s", uuid_error(rc));
- RETURN_LONG((long)rc);
- }
-+#if PHP_VERSION_ID >= 70000
-+ zval_dtor(z_ctx);
-+ ZVAL_RES(z_ctx, zend_register_resource(ctx, ctx_id));
-+#else
- ZEND_REGISTER_RESOURCE(z_ctx, ctx, ctx_id);
-+#endif
-
- RETURN_LONG((long)rc);
- }
-@@ -158,7 +177,11 @@
- RETURN_LONG((long)UUID_RC_ARG);
-
- /* post-process and sanity check parameters */
-+#if PHP_VERSION_ID >= 70000
-+ ctx = (ctx_t *)zend_fetch_resource(Z_RES_P(z_ctx), ctx_name, ctx_id);
-+#else
- ZEND_FETCH_RESOURCE(ctx, ctx_t *, &z_ctx, -1, ctx_name, ctx_id);
-+#endif
- if (ctx == NULL || ctx->uuid == NULL) {
- php_error_docref(NULL TSRMLS_CC, E_WARNING, "uuid_destroy: invalid context");
- RETURN_LONG((long)UUID_RC_ARG);
-@@ -185,21 +208,32 @@
- zval *z_clone;
- ctx_t *clone;
- uuid_rc_t rc;
-+#if PHP_VERSION_ID >= 70000
-+ char *param_types = "rz/";
-+#else
-+ char *param_types = "rz";
-+#endif
-
- /* parse parameters */
-- if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "rz", &z_ctx, &z_clone) == FAILURE)
-+ if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, param_types, &z_ctx, &z_clone) == FAILURE)
- RETURN_LONG((long)UUID_RC_ARG);
-
- /* post-process and sanity check parameters */
-+#if PHP_VERSION_ID >= 70000
-+ ctx = (ctx_t *)zend_fetch_resource(Z_RES_P(z_ctx), ctx_name, ctx_id);
-+#else
- ZEND_FETCH_RESOURCE(ctx, ctx_t *, &z_ctx, -1, ctx_name, ctx_id);
-+#endif
- if (ctx == NULL || ctx->uuid == NULL) {
- php_error_docref(NULL TSRMLS_CC, E_WARNING, "uuid_clone: invalid context");
- RETURN_LONG((long)UUID_RC_ARG);
- }
-+#if PHP_VERSION_ID < 70000
- if (!PZVAL_IS_REF(z_clone)) {
- php_error_docref(NULL TSRMLS_CC, E_WARNING, "uuid_clone: clone parameter wasn't passed by reference");
- RETURN_LONG((long)UUID_RC_ARG);
- }
-+#endif
-
- /* perform operation */
- if ((clone = (ctx_t *)malloc(sizeof(ctx_t))) == NULL)
-@@ -208,7 +243,12 @@
- php_error_docref(NULL TSRMLS_CC, E_WARNING, "uuid_clone: %s", uuid_error(rc));
- RETURN_LONG((long)rc);
- }
-+#if PHP_VERSION_ID >= 70000
-+ zval_dtor(z_clone);
-+ ZVAL_RES(z_clone, zend_register_resource(clone, ctx_id));
-+#else
- ZEND_REGISTER_RESOURCE(z_clone, clone, ctx_id);
-+#endif
-
- RETURN_LONG((long)rc);
- }
-@@ -230,7 +271,11 @@
- RETURN_LONG((long)UUID_RC_ARG);
-
- /* post-process and sanity check parameters */
-+#if PHP_VERSION_ID >= 70000
-+ ctx = (ctx_t *)zend_fetch_resource(Z_RES_P(z_ctx), ctx_name, ctx_id);
-+#else
- ZEND_FETCH_RESOURCE(ctx, ctx_t *, &z_ctx, -1, ctx_name, ctx_id);
-+#endif
- if (ctx == NULL || ctx->uuid == NULL) {
- php_error_docref(NULL TSRMLS_CC, E_WARNING, "uuid_load: invalid context");
- RETURN_LONG((long)UUID_RC_ARG);
-@@ -254,7 +299,7 @@
- zval *z_ctx;
- ctx_t *ctx;
- uuid_rc_t rc;
-- long z_mode;
-+ zend_long z_mode;
- unsigned long mode;
- zval *z_ctx_ns;
- ctx_t *ctx_ns;
-@@ -266,7 +311,11 @@
- RETURN_LONG((long)UUID_RC_ARG);
-
- /* post-process and sanity check parameters */
-+#if PHP_VERSION_ID >= 70000
-+ ctx = (ctx_t *)zend_fetch_resource(Z_RES_P(z_ctx), ctx_name, ctx_id);
-+#else
- ZEND_FETCH_RESOURCE(ctx, ctx_t *, &z_ctx, -1, ctx_name, ctx_id);
-+#endif
- if (ctx == NULL || ctx->uuid == NULL) {
- php_error_docref(NULL TSRMLS_CC, E_WARNING, "uuid_make: invalid context");
- RETURN_LONG((long)UUID_RC_ARG);
-@@ -281,7 +330,11 @@
- }
- }
- else if (ZEND_NUM_ARGS() == 4 && ((mode & UUID_MAKE_V3) || (mode & UUID_MAKE_V5))) {
-+#if PHP_VERSION_ID >= 70000
-+ ctx_ns = (ctx_t *)zend_fetch_resource(Z_RES_P(z_ctx_ns), ctx_name, ctx_id);
-+#else
- ZEND_FETCH_RESOURCE(ctx_ns, ctx_t *, &z_ctx_ns, -1, ctx_name, ctx_id);
-+#endif
- if (ctx_ns == NULL) {
- php_error_docref(NULL TSRMLS_CC, E_WARNING, "uuid_make: invalid namespace context");
- RETURN_LONG((long)UUID_RC_ARG);
-@@ -314,21 +367,33 @@
- uuid_rc_t rc;
- zval *z_result;
- int result;
-+#if PHP_VERSION_ID >= 70000
-+ char *param_types = "rz/";
-+#else
-+ char *param_types = "rz";
-+#endif
-
- /* parse parameters */
-- if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "rz", &z_ctx, &z_result) == FAILURE)
-+ if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, param_types, &z_ctx, &z_result) == FAILURE)
- RETURN_LONG((long)UUID_RC_ARG);
-
- /* post-process and sanity check parameters */
-+#if PHP_VERSION_ID >= 70000
-+ zval_dtor(z_result);
-+ ctx = (ctx_t *)zend_fetch_resource(Z_RES_P(z_ctx), ctx_name, ctx_id);
-+#else
- ZEND_FETCH_RESOURCE(ctx, ctx_t *, &z_ctx, -1, ctx_name, ctx_id);
-+#endif
- if (ctx == NULL || ctx->uuid == NULL) {
- php_error_docref(NULL TSRMLS_CC, E_WARNING, "uuid_isnil: invalid context");
- RETURN_LONG((long)UUID_RC_ARG);
- }
-+#if PHP_VERSION_ID < 70000
- if (!PZVAL_IS_REF(z_result)) {
- php_error_docref(NULL TSRMLS_CC, E_WARNING, "uuid_isnil: result parameter wasn't passed by reference");
- RETURN_LONG((long)UUID_RC_ARG);
- }
-+#endif
-
- /* perform operation */
- if ((rc = uuid_isnil(ctx->uuid, &result)) != UUID_RC_OK) {
-@@ -353,26 +418,42 @@
- uuid_rc_t rc;
- zval *z_result;
- int result;
-+#if PHP_VERSION_ID >= 70000
-+ char *param_types = "rrz/";
-+#else
-+ char *param_types = "rrz";
-+#endif
-
- /* parse parameters */
-- if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "rrz", &z_ctx, &z_ctx2, &z_result) == FAILURE)
-+ if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, param_types, &z_ctx, &z_ctx2, &z_result) == FAILURE)
- RETURN_LONG((long)UUID_RC_ARG);
-
- /* post-process and sanity check parameters */
-+#if PHP_VERSION_ID >= 70000
-+ zval_dtor(z_result);
-+ ctx = (ctx_t *)zend_fetch_resource(Z_RES_P(z_ctx), ctx_name, ctx_id);
-+#else
- ZEND_FETCH_RESOURCE(ctx, ctx_t *, &z_ctx, -1, ctx_name, ctx_id);
-+#endif
- if (ctx == NULL || ctx->uuid == NULL) {
-- php_error_docref(NULL TSRMLS_CC, E_WARNING, "uuid_compare: invalid context");
-+ php_error_docref(NULL TSRMLS_CC, E_WARNING, "uuid_compare: invalid context from first parameter");
- RETURN_LONG((long)UUID_RC_ARG);
- }
-+#if PHP_VERSION_ID >= 70000
-+ ctx2 = (ctx_t *)zend_fetch_resource(Z_RES_P(z_ctx2), ctx_name, ctx_id);
-+#else
- ZEND_FETCH_RESOURCE(ctx2, ctx_t *, &z_ctx2, -1, ctx_name, ctx_id);
-+#endif
-- if (ctx2 == NULL || ctx2->uuid) {
-- php_error_docref(NULL TSRMLS_CC, E_WARNING, "uuid_compare: invalid context");
-+ if (ctx2 == NULL || ctx2->uuid == NULL) {
-+ php_error_docref(NULL TSRMLS_CC, E_WARNING, "uuid_compare: invalid context from second parameter");
- RETURN_LONG((long)UUID_RC_ARG);
- }
-+#if PHP_VERSION_ID < 70000
- if (!PZVAL_IS_REF(z_result)) {
- php_error_docref(NULL TSRMLS_CC, E_WARNING, "uuid_compare: result parameter wasn't passed by reference");
- RETURN_LONG((long)UUID_RC_ARG);
- }
-+#endif
-
- /* perform operation */
- if ((rc = uuid_compare(ctx->uuid, ctx2->uuid, &result)) != UUID_RC_OK) {
-@@ -392,7 +473,7 @@
- {
- zval *z_ctx;
- ctx_t *ctx;
-- long z_fmt;
-+ zend_long z_fmt;
- unsigned long fmt;
- zval *z_data;
- uuid_rc_t rc;
-@@ -404,7 +485,11 @@
- RETURN_LONG((long)UUID_RC_ARG);
-
- /* post-process and sanity check parameters */
-+#if PHP_VERSION_ID >= 70000
-+ ctx = (ctx_t *)zend_fetch_resource(Z_RES_P(z_ctx), ctx_name, ctx_id);
-+#else
- ZEND_FETCH_RESOURCE(ctx, ctx_t *, &z_ctx, -1, ctx_name, ctx_id);
-+#endif
- if (ctx == NULL || ctx->uuid == NULL) {
- php_error_docref(NULL TSRMLS_CC, E_WARNING, "uuid_import: invalid context");
- RETURN_LONG((long)UUID_RC_ARG);
-@@ -428,28 +513,40 @@
- {
- zval *z_ctx;
- ctx_t *ctx;
-- long z_fmt;
-+ zend_long z_fmt;
- unsigned long fmt;
- zval *z_data;
- uuid_rc_t rc;
- void *data_ptr;
- size_t data_len;
-+#if PHP_VERSION_ID >= 70000
-+ char *param_types = "rlz/";
-+#else
-+ char *param_types = "rlz";
-+#endif
-
- /* parse parameters */
-- if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "rlz", &z_ctx, &z_fmt, &z_data) == FAILURE)
-+ if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, param_types, &z_ctx, &z_fmt, &z_data) == FAILURE)
- RETURN_LONG((long)UUID_RC_ARG);
-
- /* post-process and sanity check parameters */
-+#if PHP_VERSION_ID >= 70000
-+ zval_dtor(z_data);
-+ ctx = (ctx_t *)zend_fetch_resource(Z_RES_P(z_ctx), ctx_name, ctx_id);
-+#else
- ZEND_FETCH_RESOURCE(ctx, ctx_t *, &z_ctx, -1, ctx_name, ctx_id);
-+#endif
- if (ctx == NULL || ctx->uuid == NULL) {
- php_error_docref(NULL TSRMLS_CC, E_WARNING, "uuid_export: invalid context");
- RETURN_LONG((long)UUID_RC_ARG);
- }
- fmt = (unsigned long)z_fmt;
-+#if PHP_VERSION_ID < 70000
- if (!PZVAL_IS_REF(z_data)) {
- php_error_docref(NULL TSRMLS_CC, E_WARNING, "uuid_export: data parameter wasn't passed by reference");
- RETURN_LONG((long)UUID_RC_ARG);
- }
-+#endif
-
- /* perform operation */
- data_ptr = NULL;
-@@ -462,7 +559,11 @@
- data_len = strlen((char *)data_ptr);
- else if (fmt == UUID_FMT_STR || fmt == UUID_FMT_TXT)
- data_len--; /* PHP doesn't wish NUL-termination on strings */
-+#if PHP_VERSION_ID >= 70000
-+ ZVAL_STRINGL(z_data, data_ptr, data_len);
-+#else
- ZVAL_STRINGL(z_data, data_ptr, data_len, 1);
-+#endif
- free(data_ptr);
-
- RETURN_LONG((long)rc);
-@@ -474,7 +575,7 @@
- return error string corresponding to error return code */
- ZEND_FUNCTION(uuid_error)
- {
-- int z_rc;
-+ zend_long z_rc;
- uuid_rc_t rc;
- char *error;
-
-@@ -483,7 +584,11 @@
- rc = (uuid_rc_t)z_rc;
- if ((error = uuid_error(rc)) == NULL)
- RETURN_NULL();
-+#if PHP_VERSION_ID >= 70000
-+ RETURN_STRING(error);
-+#else
- RETURN_STRING(error, 1);
-+#endif
- }
-
- /* API FUNCTION:
diff --git a/dev-libs/ossp-uuid/files/uuid-1.6.2-php54.patch b/dev-libs/ossp-uuid/files/uuid-1.6.2-php54.patch
deleted file mode 100644
index c00f560f1fd8..000000000000
--- a/dev-libs/ossp-uuid/files/uuid-1.6.2-php54.patch
+++ /dev/null
@@ -1,226 +0,0 @@
-diff -up uuid-1.6.2/php/uuid.c.php54 uuid-1.6.2/php/uuid.c
---- uuid-1.6.2/php/uuid.c 2007-01-01 19:35:57.000000000 +0100
-+++ uuid-1.6.2/php/uuid.c 2012-11-06 16:05:03.354913764 +0100
-@@ -60,7 +60,7 @@ static int ctx_id; /* inte
- #define ctx_name "UUID context" /* external name */
-
- /* module initialization */
--PHP_MINIT_FUNCTION(uuid)
-+ZEND_MINIT_FUNCTION(uuid)
- {
- /* register resource identifier */
- ctx_id = zend_register_list_destructors_ex(
-@@ -91,13 +91,13 @@ PHP_MINIT_FUNCTION(uuid)
- }
-
- /* module shutdown */
--PHP_MSHUTDOWN_FUNCTION(uuid)
-+ZEND_MSHUTDOWN_FUNCTION(uuid)
- {
- return SUCCESS;
- }
-
- /* module information */
--PHP_MINFO_FUNCTION(uuid)
-+ZEND_MINFO_FUNCTION(uuid)
- {
- char version[32];
-
-@@ -115,7 +115,7 @@ PHP_MINFO_FUNCTION(uuid)
- proto rc uuid_create(ctx)
- $rc = uuid_create(&$uuid);
- create UUID context */
--PHP_FUNCTION(uuid_create)
-+ZEND_FUNCTION(uuid_create)
- {
- zval *z_ctx;
- ctx_t *ctx;
-@@ -147,7 +147,7 @@ PHP_FUNCTION(uuid_create)
- proto rc uuid_destroy(ctx)
- $rc = uuid_destroy($uuid);
- destroy UUID context */
--PHP_FUNCTION(uuid_destroy)
-+ZEND_FUNCTION(uuid_destroy)
- {
- zval *z_ctx;
- ctx_t *ctx;
-@@ -178,7 +178,7 @@ PHP_FUNCTION(uuid_destroy)
- proto rc uuid_clone(ctx, &ctx2)
- $rc = uuid_clone($uuid, &$uuid);
- clone UUID context */
--PHP_FUNCTION(uuid_clone)
-+ZEND_FUNCTION(uuid_clone)
- {
- zval *z_ctx;
- ctx_t *ctx;
-@@ -217,7 +217,7 @@ PHP_FUNCTION(uuid_clone)
- proto rc uuid_load(ctx, name)
- $rc = uuid_name($uuid, $name);
- load an existing UUID */
--PHP_FUNCTION(uuid_load)
-+ZEND_FUNCTION(uuid_load)
- {
- zval *z_ctx;
- ctx_t *ctx;
-@@ -249,7 +249,7 @@ PHP_FUNCTION(uuid_load)
- proto rc uuid_make(ctx, mode[, ..., ...])
- $rc = uuid_make($uuid, $mode[, ..., ...]);
- make a new UUID */
--PHP_FUNCTION(uuid_make)
-+ZEND_FUNCTION(uuid_make)
- {
- zval *z_ctx;
- ctx_t *ctx;
-@@ -307,7 +307,7 @@ PHP_FUNCTION(uuid_make)
- proto rc uuid_isnil(ctx, result)
- $rc = uuid_isnil($uuid, &$result);
- compare UUID for being Nil UUID */
--PHP_FUNCTION(uuid_isnil)
-+ZEND_FUNCTION(uuid_isnil)
- {
- zval *z_ctx;
- ctx_t *ctx;
-@@ -344,7 +344,7 @@ PHP_FUNCTION(uuid_isnil)
- proto rc uuid_compare(ctx, ctx2, result)
- $rc = uuid_compare($uuid, $uuid2, &$result);
- compare two UUIDs */
--PHP_FUNCTION(uuid_compare)
-+ZEND_FUNCTION(uuid_compare)
- {
- zval *z_ctx;
- ctx_t *ctx;
-@@ -388,7 +388,7 @@ PHP_FUNCTION(uuid_compare)
- proto rc uuid_import(ctx, fmt, data)
- $rc = uuid_import($ctx, $fmt, $data);
- import UUID from variable */
--PHP_FUNCTION(uuid_import)
-+ZEND_FUNCTION(uuid_import)
- {
- zval *z_ctx;
- ctx_t *ctx;
-@@ -424,7 +424,7 @@ PHP_FUNCTION(uuid_import)
- proto rc uuid_export(ctx, fmt, data)
- $rc = uuid_error($ctx, $fmt, &$data);
- export UUID into variable */
--PHP_FUNCTION(uuid_export)
-+ZEND_FUNCTION(uuid_export)
- {
- zval *z_ctx;
- ctx_t *ctx;
-@@ -472,7 +472,7 @@ PHP_FUNCTION(uuid_export)
- proto rc uuid_error(ctx)
- $error = uuid_error($rc);
- return error string corresponding to error return code */
--PHP_FUNCTION(uuid_error)
-+ZEND_FUNCTION(uuid_error)
- {
- int z_rc;
- uuid_rc_t rc;
-@@ -490,24 +490,79 @@ PHP_FUNCTION(uuid_error)
- proto int uuid_version()
- $version = uuid_version();
- return library version number */
--PHP_FUNCTION(uuid_version)
-+ZEND_FUNCTION(uuid_version)
- {
- RETURN_LONG((long)uuid_version());
- }
-
-+ZEND_BEGIN_ARG_INFO(arginfo_uuid_create, 0)
-+ ZEND_ARG_INFO(1, ctx)
-+ZEND_END_ARG_INFO()
-+
-+ZEND_BEGIN_ARG_INFO(arginfo_uuid_destroy, 0)
-+ ZEND_ARG_INFO(0, ctx)
-+ZEND_END_ARG_INFO()
-+
-+ZEND_BEGIN_ARG_INFO(arginfo_uuid_clone, 0)
-+ ZEND_ARG_INFO(0, ctx)
-+ ZEND_ARG_INFO(1, ctx2)
-+ZEND_END_ARG_INFO()
-+
-+ZEND_BEGIN_ARG_INFO(arginfo_uuid_load, 0)
-+ ZEND_ARG_INFO(0, ctx)
-+ ZEND_ARG_INFO(0, name)
-+ZEND_END_ARG_INFO()
-+
-+ZEND_BEGIN_ARG_INFO_EX(arginfo_uuid_make, 0, 0, 2)
-+ ZEND_ARG_INFO(0, ctx)
-+ ZEND_ARG_INFO(0, mode)
-+ ZEND_ARG_INFO(0, ctxns)
-+ ZEND_ARG_INFO(0, url)
-+ZEND_END_ARG_INFO()
-+
-+ZEND_BEGIN_ARG_INFO(arginfo_uuid_isnil, 0)
-+ ZEND_ARG_INFO(0, ctx)
-+ ZEND_ARG_INFO(1, result)
-+ZEND_END_ARG_INFO()
-+
-+ZEND_BEGIN_ARG_INFO(arginfo_uuid_compare, 0)
-+ ZEND_ARG_INFO(0, ctx)
-+ ZEND_ARG_INFO(0, ctx2)
-+ ZEND_ARG_INFO(1, result)
-+ZEND_END_ARG_INFO()
-+
-+ZEND_BEGIN_ARG_INFO(arginfo_uuid_import, 0)
-+ ZEND_ARG_INFO(0, ctx)
-+ ZEND_ARG_INFO(0, fmt)
-+ ZEND_ARG_INFO(0, data)
-+ZEND_END_ARG_INFO()
-+
-+ZEND_BEGIN_ARG_INFO(arginfo_uuid_export, 0)
-+ ZEND_ARG_INFO(0, ctx)
-+ ZEND_ARG_INFO(0, fmt)
-+ ZEND_ARG_INFO(1, data)
-+ZEND_END_ARG_INFO()
-+
-+ZEND_BEGIN_ARG_INFO(arginfo_uuid_error, 0)
-+ ZEND_ARG_INFO(0, ctx)
-+ZEND_END_ARG_INFO()
-+
-+ZEND_BEGIN_ARG_INFO(arginfo_uuid_version, 0)
-+ZEND_END_ARG_INFO()
-+
- /* module function table */
--static function_entry uuid_functions[] = {
-- PHP_FE(uuid_create, NULL)
-- PHP_FE(uuid_destroy, NULL)
-- PHP_FE(uuid_clone, NULL)
-- PHP_FE(uuid_load, NULL)
-- PHP_FE(uuid_make, NULL)
-- PHP_FE(uuid_isnil, NULL)
-- PHP_FE(uuid_compare, NULL)
-- PHP_FE(uuid_import, NULL)
-- PHP_FE(uuid_export, NULL)
-- PHP_FE(uuid_error, NULL)
-- PHP_FE(uuid_version, NULL)
-+static zend_function_entry uuid_functions[] = {
-+ ZEND_FE(uuid_create, arginfo_uuid_create)
-+ ZEND_FE(uuid_destroy, NULL)
-+ ZEND_FE(uuid_clone, arginfo_uuid_clone)
-+ ZEND_FE(uuid_load, NULL)
-+ ZEND_FE(uuid_make, NULL)
-+ ZEND_FE(uuid_isnil, arginfo_uuid_isnil)
-+ ZEND_FE(uuid_compare, arginfo_uuid_compare)
-+ ZEND_FE(uuid_import, NULL)
-+ ZEND_FE(uuid_export, arginfo_uuid_export)
-+ ZEND_FE(uuid_error, NULL)
-+ ZEND_FE(uuid_version, NULL)
- { NULL, NULL, NULL }
- };
-
-@@ -516,11 +571,11 @@ zend_module_entry uuid_module_entry = {
- STANDARD_MODULE_HEADER,
- "uuid",
- uuid_functions,
-- PHP_MINIT(uuid),
-- PHP_MSHUTDOWN(uuid),
-+ ZEND_MINIT(uuid),
-+ ZEND_MSHUTDOWN(uuid),
- NULL,
- NULL,
-- PHP_MINFO(uuid),
-+ ZEND_MINFO(uuid),
- NO_VERSION_YET,
- STANDARD_MODULE_PROPERTIES
- };
diff --git a/dev-libs/ossp-uuid/ossp-uuid-1.6.2-r6.ebuild b/dev-libs/ossp-uuid/ossp-uuid-1.6.2-r6.ebuild
deleted file mode 100644
index 95c81c8ffa6a..000000000000
--- a/dev-libs/ossp-uuid/ossp-uuid-1.6.2-r6.ebuild
+++ /dev/null
@@ -1,121 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="6"
-
-MY_P="uuid-${PV}"
-
-PHP_EXT_NAME="uuid"
-PHP_EXT_INI="yes"
-PHP_EXT_ZENDEXT="no"
-PHP_EXT_S="${WORKDIR}/${MY_P}/php"
-PHP_EXT_OPTIONAL_USE="php"
-PHP_EXT_SKIP_PATCHES="yes"
-USE_PHP="php5-6 php7-0 php7-1"
-
-GENTOO_DEPEND_ON_PERL="no"
-
-inherit perl-module php-ext-source-r3
-
-DESCRIPTION="An ISO-C:1999 API with CLI for generating DCE, ISO/IEC and RFC compliant UUID"
-HOMEPAGE="http://www.ossp.org/pkg/lib/uuid/"
-SRC_URI="ftp://ftp.ossp.org/pkg/lib/uuid/${MY_P}.tar.gz"
-
-LICENSE="ISC"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm ~hppa ~ia64 ~mips ppc ppc64 ~s390 sparc x86 ~amd64-linux ~x86-linux ~x64-macos"
-IUSE="+cxx perl php static-libs"
-
-DEPEND="perl? ( dev-lang/perl:= )"
-RDEPEND="${DEPEND} php? ( !dev-php/pecl-uuid )"
-
-S="${WORKDIR}/${MY_P}"
-
-src_prepare() {
-
- eapply \
- "${FILESDIR}/${P}-gentoo-r1.patch" \
- "${FILESDIR}/${P}-gentoo-perl.patch" \
- "${FILESDIR}/${P}-hwaddr.patch" \
- "${FILESDIR}/${P}-manfix.patch" \
- "${FILESDIR}/${P}-uuid-preserve-m-option-status-in-v-option-handling.patch" \
- "${FILESDIR}/${P}-fix-whatis-entries.patch" \
- "${FILESDIR}/${P}-fix-data-uuid-from-string.patch"
-
- eapply_user
- if use php; then
- pushd "${PHP_EXT_S}" > /dev/null || die
- eapply -p2 \
- "${FILESDIR}/${P}-gentoo-php.patch" \
- "${FILESDIR}/uuid-${PV}-php54.patch" \
- "${FILESDIR}/${P}-php70.patch"
- popd > /dev/null || die
- php-ext-source-r3_src_prepare
-
- #Remove call by reference which is error
- sed -i -e 's/\&\$/\$/' -e '/?>/d' "${S}/php/uuid.php5" || die
- fi
-}
-
-src_configure() {
- # Notes:
- # * collides with e2fstools libs and includes if not moved around
- # * pgsql-bindings need PostgreSQL-sources and are included since PostgreSQL 8.3
- econf \
- --includedir="${EPREFIX}"/usr/include/ossp \
- --with-dce \
- --without-pgsql \
- --without-perl \
- --without-php \
- $(use_with cxx) \
- $(use_enable static-libs static)
-
- if use php; then
- php-ext-source-r3_src_configure
- fi
-}
-
-src_compile() {
- default
-
- if use perl; then
- cd perl
- # configure needs the ossp-uuid.la generated by `make` in $S
- perl-module_src_configure
- perl-module_src_compile
- fi
-
- if use php; then
- php-ext-source-r3_src_compile
- fi
-}
-
-src_install() {
- local DOCS=( AUTHORS BINDINGS ChangeLog HISTORY NEWS OVERVIEW PORTING README SEEALSO THANKS TODO USERS )
- default
- unset DOCS #unset so that other eclasses don't try to install them and possibly fail
- if use perl ; then
- cd perl
- perl-module_src_install
- fi
-
- if use php ; then
- php-ext-source-r3_src_install
- insinto /usr/share/php
- cd "${S}/php" || die
- newins uuid.php5 uuid.php
- fi
-
- use static-libs || rm -rf "${ED}"/usr/lib*/*.la
-
- mv "${ED}/usr/$(get_libdir)/pkgconfig"/{,ossp-}uuid.pc
- mv "${ED}/usr/share/man/man3"/uuid.3{,ossp}
- mv "${ED}/usr/share/man/man3"/uuid++.3{,ossp}
-}
-
-src_test() {
- export LD_LIBRARY_PATH="${S}/.libs" # required for the perl-bindings to load the (correct) library
- default
-
- use perl && emake -C perl test
-}
diff --git a/dev-libs/ossp-uuid/ossp-uuid-1.6.2-r7.ebuild b/dev-libs/ossp-uuid/ossp-uuid-1.6.2-r7.ebuild
new file mode 100644
index 000000000000..6aa8c6c2d688
--- /dev/null
+++ b/dev-libs/ossp-uuid/ossp-uuid-1.6.2-r7.ebuild
@@ -0,0 +1,89 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+MY_P="uuid-${PV}"
+
+GENTOO_DEPEND_ON_PERL="no"
+
+inherit perl-module
+
+DESCRIPTION="An ISO-C:1999 API with CLI for generating DCE, ISO/IEC and RFC compliant UUID"
+HOMEPAGE="http://www.ossp.org/pkg/lib/uuid/"
+SRC_URI="ftp://ftp.ossp.org/pkg/lib/uuid/${MY_P}.tar.gz"
+S="${WORKDIR}/${MY_P}"
+
+LICENSE="ISC"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm ~hppa ~ia64 ~mips ppc ppc64 ~s390 sparc x86 ~amd64-linux ~x86-linux ~x64-macos"
+IUSE="+cxx perl static-libs test"
+RESTRICT="!test? ( test )"
+
+DEPEND="
+ perl? (
+ dev-lang/perl
+ test? ( virtual/perl-Test-Simple )
+ )"
+RDEPEND="perl? ( dev-lang/perl:= )"
+BDEPEND="perl? ( dev-lang/perl )"
+
+PATCHES=(
+ "${FILESDIR}/${P}-gentoo-r1.patch"
+ "${FILESDIR}/${P}-gentoo-perl.patch"
+ "${FILESDIR}/${P}-hwaddr.patch"
+ "${FILESDIR}/${P}-manfix.patch"
+ "${FILESDIR}/${P}-uuid-preserve-m-option-status-in-v-option-handling.patch"
+ "${FILESDIR}/${P}-fix-whatis-entries.patch"
+ "${FILESDIR}/${P}-fix-data-uuid-from-string.patch"
+)
+
+src_configure() {
+ # Notes:
+ # * collides with e2fstools libs and includes if not moved around
+ # * pgsql-bindings need PostgreSQL-sources and are included since PostgreSQL 8.3
+ econf \
+ --includedir="${EPREFIX}"/usr/include/ossp \
+ --with-dce \
+ --without-pgsql \
+ --without-perl \
+ --without-php \
+ $(use_with cxx) \
+ $(use_enable static-libs static)
+}
+
+src_compile() {
+ default
+
+ if use perl; then
+ cd perl || die
+ # configure needs the ossp-uuid.la generated by `make` in $S
+ perl-module_src_configure
+ perl-module_src_compile
+ fi
+}
+
+src_test() {
+ export LD_LIBRARY_PATH="${LD_LIBRARY_PATH}:${S}/.libs" # required for the perl-bindings to load the (correct) library
+ default
+
+ use perl && emake -C perl test
+}
+
+src_install() {
+ default
+ dodoc BINDINGS HISTORY OVERVIEW PORTING SEEALSO USERS
+
+ if use perl ; then
+ cd perl || die
+ perl-module_src_install
+ fi
+
+ find "${ED}" -name '*.la' -delete || die
+
+ mv "${ED}"/usr/$(get_libdir)/pkgconfig/{,ossp-}uuid.pc || die
+ mv "${ED}"/usr/share/man/man3/uuid.3{,ossp} || die
+ if use cxx; then
+ mv "${ED}"/usr/share/man/man3/uuid++.3{,ossp} || die
+ fi
+}
diff --git a/dev-libs/pakchois/pakchois-0.4-r2.ebuild b/dev-libs/pakchois/pakchois-0.4-r2.ebuild
index 08bd06628188..014fb4ae69da 100644
--- a/dev-libs/pakchois/pakchois-0.4-r2.ebuild
+++ b/dev-libs/pakchois/pakchois-0.4-r2.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
@@ -11,7 +11,7 @@ SRC_URI="http://www.manyfish.co.uk/pakchois/${P}.tar.gz"
LICENSE="LGPL-2"
SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ppc ppc64 ~riscv ~s390 sparc x86"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86"
IUSE="nls"
multilib_src_configure() {
diff --git a/dev-libs/papi/files/papi-6.0.0.1-configure-c99.patch b/dev-libs/papi/files/papi-6.0.0.1-configure-c99.patch
new file mode 100644
index 000000000000..1c38cd69df49
--- /dev/null
+++ b/dev-libs/papi/files/papi-6.0.0.1-configure-c99.patch
@@ -0,0 +1,88 @@
+https://github.com/icl-utk-edu/papi/commit/dd11311aadbd06ab6c76d49a997a8bb2bcdcd5f7
+https://github.com/icl-utk-edu/papi/pull/142
+
+From dd11311aadbd06ab6c76d49a997a8bb2bcdcd5f7 Mon Sep 17 00:00:00 2001
+From: Giuseppe Congiu <gcongiu@icl.utk.edu>
+Date: Fri, 29 Sep 2023 10:20:28 +0200
+Subject: [PATCH] configure: fix tls detection
+
+Configure TLS detection tests were failing because of wrong usage of
+pthread_create(). Problem was caused by wrong definition of thread
+functions which require void *f(void *) instead of int f(void *) or
+void f(void *).
+---
+ configure.in | 6 +++---
+ 2 files changed, 6 insertions(+), 6 deletions(-)
+
+diff --git a/configure.in b/configure.in
+index e77f1d017..346e3dab1 100644
+--- a/configure.in
++++ b/configure.in
+@@ -707,7 +707,7 @@ AC_ARG_WITH(tls,
+ #include <unistd.h>
+ extern __thread int i;
+ static int res1, res2;
+- void thread_main (void *arg) {
++ void *thread_main (void *arg) {
+ i = (int)arg;
+ sleep (1);
+ if ((int)arg == 1)
+@@ -849,7 +849,7 @@ AC_ARG_WITH(virtualtimer,
+ int gettid() {
+ return syscall( SYS_gettid );
+ }
+- int doThreadOne( void * v ) {
++ void *doThreadOne( void * v ) {
+ struct tms tm;
+ int status;
+ while (!done)
+@@ -859,7 +859,7 @@ AC_ARG_WITH(virtualtimer,
+ threadone = tm.tms_utime;
+ return 0;
+ }
+- int doThreadTwo( void * v ) {
++ void *doThreadTwo( void * v ) {
+ struct tms tm;
+ long i, j = 0xdeadbeef;
+ int status;
+
+From 08f0d7dfaeb53283ab133e3b7d6f13d03245d88c Mon Sep 17 00:00:00 2001
+From: Florian Weimer <fweimer@redhat.com>
+Date: Mon, 18 Dec 2023 08:18:50 +0100
+Subject: [PATCH] configure: Fix return values in start thread routines
+
+Thread start routines must return a void * value, and future
+compilers refuse to convert integers to pointers with just a warning
+(the virtualtimer probe). Without this change, the probe always fails
+to compile with future compilers (such as GCC 14).
+
+For the tls probe, return a null pointer for future-proofing, although
+current and upcoming C compilers do not treat this omission as an
+error.
+
+Updates commit dd11311aadbd06ab6c76d ("configure: fix tls detection").
+---
+ configure.in | 3 ++-
+ 2 files changed, 4 insertions(+), 2 deletions(-)
+
+diff --git a/configure.in b/configure.in
+index 7d95ae1a4..f9b494036 100644
+--- a/configure.in
++++ b/configure.in
+@@ -721,6 +721,7 @@ AC_ARG_WITH(tls,
+ res1 = (i == (int)arg);
+ else
+ res2 = (i == (int)arg);
++ return NULL;
+ }
+ __thread int i;
+ int main () {
+@@ -812,7 +813,7 @@ AC_ARG_WITH(virtualtimer,
+ exit(1);
+ }
+ done = 1;
+- return j;
++ return (void *) j;
+ }
+
+ int main( int argc, char ** argv ) {
diff --git a/dev-libs/papi/files/papi-6.0.0.1-configure-clang16.patch b/dev-libs/papi/files/papi-6.0.0.1-configure-clang16.patch
new file mode 100644
index 000000000000..a56213cdb6d5
--- /dev/null
+++ b/dev-libs/papi/files/papi-6.0.0.1-configure-clang16.patch
@@ -0,0 +1,53 @@
+https://bitbucket.org/icl/papi/pull-requests/406
+
+From 3d09c90d892c845473ba92bb1e9ff0ead4f3eb84 Mon Sep 17 00:00:00 2001
+From: Florian Weimer <fweimer@redhat.com>
+Date: Mon, 28 Nov 2022 08:44:38 +0100
+Subject: [PATCH] configure: Avoid implicit ints and implicit function
+ declarations
+
+Implicit ints and implicit function declarations were removed from
+the C language in 1999. Relying on them can cause spurious autoconf
+check failures with compilers that do not support them in the default
+language mode.
+--- a/configure.in
++++ b/configure.in
+@@ -577,14 +577,16 @@ fi
+
+ AC_MSG_CHECKING(for working gettid)
+ AC_LINK_IFELSE([AC_LANG_SOURCE([#include <sys/types.h>
+- main() { pid_t a = gettid(); }])],
++ #include <unistd.h>
++ int main() { pid_t a = gettid(); }])],
+ [AC_MSG_RESULT(yes)
+ AC_DEFINE(HAVE_GETTID, 1, [Full gettid function])],
+ [AC_MSG_RESULT(no)
+ AC_MSG_CHECKING(for working syscall(SYS_gettid))
+ AC_LINK_IFELSE([AC_LANG_SOURCE([#include <sys/types.h>
+ #include <sys/syscall.h>
+- main() { pid_t a = syscall(SYS_gettid); }])],
++ #include <unistd.h>
++ int main() { pid_t a = syscall(SYS_gettid); }])],
+ [AC_MSG_RESULT(yes)
+ AC_DEFINE(HAVE_SYSCALL_GETTID, 1, [gettid syscall function])],
+ [AC_MSG_RESULT(no)]) ])
+@@ -625,7 +627,7 @@ AC_ARG_WITH(walltimer,
+ #include <stdio.h>
+ #include <time.h>
+ #include <syscall.h>
+- main() {
++ int main() {
+ struct timespec t1, t2;
+ double seconds;
+ if (syscall(__NR_clock_gettime,CLOCK_REALTIME_HR,&t1) == -1) exit(1);
+@@ -646,7 +648,7 @@ AC_ARG_WITH(walltimer,
+ #include <stdio.h>
+ #include <time.h>
+ #include <syscall.h>
+- main() {
++ int main() {
+ struct timespec t1, t2;
+ double seconds;
+ if (syscall(__NR_clock_gettime,CLOCK_REALTIME,&t1) == -1) exit(1);
+--
+2.38.1
diff --git a/dev-libs/papi/papi-6.0.0.1-r1.ebuild b/dev-libs/papi/papi-6.0.0.1-r1.ebuild
new file mode 100644
index 000000000000..a4801fba366c
--- /dev/null
+++ b/dev-libs/papi/papi-6.0.0.1-r1.ebuild
@@ -0,0 +1,60 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit autotools fortran-2 toolchain-funcs
+
+DESCRIPTION="Performance Application Programming Interface"
+HOMEPAGE="http://icl.cs.utk.edu/papi/"
+SRC_URI="http://icl.cs.utk.edu/projects/${PN}/downloads/${P}.tar.gz"
+S="${WORKDIR}/${P}/src"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 x86"
+
+DEPEND="
+ dev-libs/libpfm[static-libs]
+ virtual/mpi
+"
+RDEPEND="${DEPEND}"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-6.0.0.1-configure-clang16.patch
+)
+
+src_prepare() {
+ default
+
+ mv configure.{in,ac} || die
+ eautoreconf
+}
+
+src_configure() {
+ tc-export AR
+
+ # TODO: Could try adding
+ # --with-static-user-events=no
+ # --with-static-papi-events=no
+ # --with-static-lib=no
+ # --with-static-tools=no
+ # but this requires fixing the homebrew configure logic for
+ # little gain
+ local myeconfargs=(
+ --with-perf-events
+ --with-pfm-prefix="${EPREFIX}/usr"
+ --with-pfm-libdir="${EPREFIX}/usr/$(get_libdir)"
+ )
+
+ CONFIG_SHELL="${EPREFIX}/bin/bash" econf "${myeconfargs[@]}"
+}
+
+src_install() {
+ default
+
+ dodoc ../RE*
+
+ find "${ED}" -name '*.a' -delete || die
+ find "${ED}" -name '*.la' -delete || die
+}
diff --git a/dev-libs/papi/papi-6.0.0.1-r2.ebuild b/dev-libs/papi/papi-6.0.0.1-r2.ebuild
new file mode 100644
index 000000000000..a81ecf3c13bf
--- /dev/null
+++ b/dev-libs/papi/papi-6.0.0.1-r2.ebuild
@@ -0,0 +1,61 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools fortran-2 toolchain-funcs
+
+DESCRIPTION="Performance Application Programming Interface"
+HOMEPAGE="http://icl.cs.utk.edu/papi/"
+SRC_URI="http://icl.cs.utk.edu/projects/${PN}/downloads/${P}.tar.gz"
+S="${WORKDIR}/${P}/src"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+DEPEND="
+ dev-libs/libpfm[static-libs]
+ virtual/mpi
+"
+RDEPEND="${DEPEND}"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-6.0.0.1-configure-clang16.patch
+ "${FILESDIR}"/${PN}-6.0.0.1-configure-c99.patch
+)
+
+src_prepare() {
+ default
+
+ mv configure.{in,ac} || die
+ eautoreconf
+}
+
+src_configure() {
+ tc-export AR
+
+ # TODO: Could try adding
+ # --with-static-user-events=no
+ # --with-static-papi-events=no
+ # --with-static-lib=no
+ # --with-static-tools=no
+ # but this requires fixing the homebrew configure logic for
+ # little gain
+ local myeconfargs=(
+ --with-perf-events
+ --with-pfm-prefix="${EPREFIX}/usr"
+ --with-pfm-libdir="${EPREFIX}/usr/$(get_libdir)"
+ )
+
+ CONFIG_SHELL="${EPREFIX}/bin/bash" econf "${myeconfargs[@]}"
+}
+
+src_install() {
+ default
+
+ dodoc ../RE*
+
+ find "${ED}" -name '*.a' -delete || die
+ find "${ED}" -name '*.la' -delete || die
+}
diff --git a/dev-libs/papi/papi-6.0.0.1.ebuild b/dev-libs/papi/papi-6.0.0.1.ebuild
deleted file mode 100644
index f63cab71642c..000000000000
--- a/dev-libs/papi/papi-6.0.0.1.ebuild
+++ /dev/null
@@ -1,56 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit autotools fortran-2 toolchain-funcs
-
-DESCRIPTION="Performance Application Programming Interface"
-HOMEPAGE="http://icl.cs.utk.edu/papi/"
-SRC_URI="http://icl.cs.utk.edu/projects/${PN}/downloads/${P}.tar.gz"
-S="${WORKDIR}/${P}/src"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-DEPEND="
- dev-libs/libpfm[static-libs]
- virtual/mpi
-"
-RDEPEND="${DEPEND}"
-
-src_prepare() {
- default
-
- mv configure.{in,ac} || die
- eautoreconf
-}
-
-src_configure() {
- tc-export AR
-
- # TODO: Could try adding
- # --with-static-user-events=no
- # --with-static-papi-events=no
- # --with-static-lib=no
- # --with-static-tools=no
- # but this requires fixing the homebrew configure logic for
- # little gain
- local myeconfargs=(
- --with-perf-events
- --with-pfm-prefix="${EPREFIX}/usr"
- --with-pfm-libdir="${EPREFIX}/usr/$(get_libdir)"
- )
-
- CONFIG_SHELL="${EPREFIX}/bin/bash" econf "${myeconfargs[@]}"
-}
-
-src_install() {
- default
-
- dodoc ../RE*
-
- find "${ED}" -name '*.a' -delete || die
- find "${ED}" -name '*.la' -delete || die
-}
diff --git a/dev-libs/pcl/files/pcl-1.12-musl.patch b/dev-libs/pcl/files/pcl-1.12-musl.patch
new file mode 100644
index 000000000000..e80cf03ce780
--- /dev/null
+++ b/dev-libs/pcl/files/pcl-1.12-musl.patch
@@ -0,0 +1,20 @@
+Include missing header files
+
+Bug: https://bugs.gentoo.org/895060
+
+diff --git a/pcl/pcl.c b/pcl/pcl.c
+index 58d8605..313370e 100644
+--- a/pcl/pcl.c
++++ b/pcl/pcl.c
+@@ -22,6 +22,8 @@
+
+ #include <stdio.h>
+ #include <stdlib.h>
++#include <string.h>
++#include <unistd.h>
+ #include "pcl_config.h"
+ #include "pcl.h"
+ #include "pcl_private.h"
+--
+2.41.0
+
diff --git a/dev-libs/pcl/pcl-1.12-r1.ebuild b/dev-libs/pcl/pcl-1.12-r1.ebuild
deleted file mode 100644
index d7a1fc93cc68..000000000000
--- a/dev-libs/pcl/pcl-1.12-r1.ebuild
+++ /dev/null
@@ -1,21 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-DESCRIPTION="Portable Coroutine Library"
-HOMEPAGE="http://xmailserver.org/libpcl.html"
-SRC_URI="http://xmailserver.org/${P}.tar.gz"
-
-LICENSE="GPL-2"
-SLOT="0/1"
-KEYWORDS="amd64 arm arm64 ppc64 ~riscv x86"
-
-src_configure() {
- econf --disable-static
-}
-
-src_install() {
- default
- find "${ED}" -name '*.la' -delete || die
-}
diff --git a/dev-libs/pcl/pcl-1.12-r2.ebuild b/dev-libs/pcl/pcl-1.12-r2.ebuild
new file mode 100644
index 000000000000..7701362b1af4
--- /dev/null
+++ b/dev-libs/pcl/pcl-1.12-r2.ebuild
@@ -0,0 +1,25 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DESCRIPTION="Portable Coroutine Library"
+HOMEPAGE="http://www.xmailserver.org/libpcl.html"
+SRC_URI="http://www.xmailserver.org/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0/1"
+KEYWORDS="amd64 arm arm64 ~loong ppc64 ~riscv x86"
+
+PATCHES=(
+ "${FILESDIR}/${P}-musl.patch"
+)
+
+src_configure() {
+ econf --disable-static
+}
+
+src_install() {
+ default
+ find "${ED}" -name '*.la' -delete || die
+}
diff --git a/dev-libs/pegtl/Manifest b/dev-libs/pegtl/Manifest
index 418d2b9e1c05..7312966b6f99 100644
--- a/dev-libs/pegtl/Manifest
+++ b/dev-libs/pegtl/Manifest
@@ -1,2 +1,4 @@
DIST pegtl-2.8.3.tar.gz 201531 BLAKE2B 093d1b5f7d1f95fa00abdae9c24d24ba9ffd8510d6512c3460374f19b12d50403c19301645c5f6fc4d697cc687079c5b0d23c32b5775b30fbf05a154aeec2c19 SHA512 9f7644b86741dfe61716bbc43b2ea0a02cfc21eaf229c47cc71a49e2f08bf2c1ff37d2b2242a1bcf518b1893be6b82c27b0e9010a1b47ef8df87ffd90d280f71
DIST pegtl-3.2.1.tar.gz 244746 BLAKE2B f1d4ab0bfbc0be09affc83ffdf07796705be949e1addd06e241b8c06dd34bea3844a34b6dfe143269e110279615238afa606944c52af32f8cf6ea34398c40c7b SHA512 6297adea085bb3043a60c28eb3a868a7c2d203b351f907ea3fdc4ef34c63f87a5786ac7d297531f8b8c8c3414f5ddef658a025a7bae2515bdc750e974975f6ff
+DIST pegtl-3.2.5.tar.gz 248904 BLAKE2B 008f7b058c5a62910911815bee671baead509e673ce8f67bebc4244edd1abed4c2467a03cb47e55e75c3be17b937834915f568a0a47066ba80949b868aa69494 SHA512 e531eaeef614d822e4bddbc6662fbe116cc1536fa308109f28ce5433607e6102f4e754a31094f9c349e4319914da6c83450dd2e8fa10dcfc3eee5a5dca547c14
+DIST pegtl-3.2.7.tar.gz 249394 BLAKE2B d095ef337e1ff9e01692f07d0b110a685cbe447c36d7d294d0f18a15e076d15112b300232c5b4872b4a0b51d375799fc73261bff31c5b970a3d05b90b0ae6062 SHA512 e996be569e1c25377b13870c4f3e59f1935bbf24bb7c6edca0edc85b304fbe3d05db52a303839b0bd50c78769b773fc2237814787a703c58de8a79398210ee34
diff --git a/dev-libs/pegtl/pegtl-2.8.3-r1.ebuild b/dev-libs/pegtl/pegtl-2.8.3-r1.ebuild
index 4321cb0d206a..5f25adf3029b 100644
--- a/dev-libs/pegtl/pegtl-2.8.3-r1.ebuild
+++ b/dev-libs/pegtl/pegtl-2.8.3-r1.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
@@ -11,7 +11,7 @@ SRC_URI="https://github.com/taocpp/PEGTL/archive/${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~x86"
+KEYWORDS="amd64 ~arm ~arm64 ~riscv ~x86"
IUSE="test"
RESTRICT="!test? ( test )"
diff --git a/dev-libs/pegtl/pegtl-3.2.5.ebuild b/dev-libs/pegtl/pegtl-3.2.5.ebuild
new file mode 100644
index 000000000000..bde3df726470
--- /dev/null
+++ b/dev-libs/pegtl/pegtl-3.2.5.ebuild
@@ -0,0 +1,27 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+DESCRIPTION="Header-only library for creating parsers according to Parsing Expression Grammar"
+HOMEPAGE="https://github.com/taocpp/PEGTL"
+SRC_URI="https://github.com/taocpp/PEGTL/archive/${PV}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/${P^^}"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 ~arm ~arm64 ~riscv ~x86"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-3.2.1-werror.patch
+)
+
+src_configure() {
+ local mycmakeargs=(
+ -DPEGTL_INSTALL_CMAKE_DIR="$(get_libdir)/cmake/${PN}"
+ -DPEGTL_INSTALL_DOC_DIR="share/doc/${PF}"
+ )
+ cmake_src_configure
+}
diff --git a/dev-libs/pegtl/pegtl-3.2.7.ebuild b/dev-libs/pegtl/pegtl-3.2.7.ebuild
new file mode 100644
index 000000000000..579d10e6af54
--- /dev/null
+++ b/dev-libs/pegtl/pegtl-3.2.7.ebuild
@@ -0,0 +1,27 @@
+# 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 creating parsers according to Parsing Expression Grammar"
+HOMEPAGE="https://github.com/taocpp/PEGTL"
+SRC_URI="https://github.com/taocpp/PEGTL/archive/${PV}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/${P^^}"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 ~arm ~arm64 ~riscv ~x86"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-3.2.1-werror.patch
+)
+
+src_configure() {
+ local mycmakeargs=(
+ -DPEGTL_INSTALL_CMAKE_DIR="$(get_libdir)/cmake/${PN}"
+ -DPEGTL_INSTALL_DOC_DIR="share/doc/${PF}"
+ )
+ cmake_src_configure
+}
diff --git a/dev-libs/pigpio/pigpio-79.ebuild b/dev-libs/pigpio/pigpio-79.ebuild
index 4f6097e8c967..f7a94b8e407e 100644
--- a/dev-libs/pigpio/pigpio-79.ebuild
+++ b/dev-libs/pigpio/pigpio-79.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_{7,8,9} )
+PYTHON_COMPAT=( python3_{9..11} )
inherit distutils-r1 systemd toolchain-funcs
diff --git a/dev-libs/pkcs11-helper/Manifest b/dev-libs/pkcs11-helper/Manifest
index cd9a73bdc0e3..9db4112de573 100644
--- a/dev-libs/pkcs11-helper/Manifest
+++ b/dev-libs/pkcs11-helper/Manifest
@@ -1,2 +1 @@
-DIST pkcs11-helper-1.25.1.tar.bz2 425719 BLAKE2B 527b387a981dbfd855d4eb0024dd7625388cda27c3a0e993b49315e311d46f1735afc8d436361ac1b75a7b3d7f1f712d7dda8eb546ab7adc3dc046bc85fd4c5a SHA512 a5954f4d07a166ed7e711b7a0aa84b454b25774b2fb187ca65bba439f59539c8074bda8ddd5f579d635fe0dc27d8415d8bd22707dc91327bbe05ce03e277b499
-DIST pkcs11-helper-1.27.0.tar.bz2 422425 BLAKE2B a9fd7ef04dce1abbae57b09a12b4be560465ae0cf2910443332882967d00b6380c62944820aa9580e101459d1c35edaae68cd7abbafa308a8b152921ac32f04c SHA512 5799342cb755dae8b7ba0880d652e9d4b4f1e52a74043015e1185e1e059326cb2689bb51957db98060ac2257dee34e2f047dcf3d52ad59fd49b91fedcfc5332b
+DIST pkcs11-helper-1.29.0.tar.bz2 422549 BLAKE2B fec72ac82f1545fc50f80b5b28db12906df32fa3bc65f80541d8bee7f1d1c8062f1f0516344237424022c01d4f390e8a72e3e0262250f3b6c51df92c768d81ee SHA512 c530f5a4b5826a02bfe787a1293a7595d5a0d6348daa16675bd10c6d6734b1f24a3cc73b5b89433cf1edf8815f8b7298fdfd1ed686f096bb5edfb425e9430eb2
diff --git a/dev-libs/pkcs11-helper/files/pkcs11-helper-1.25.1-build.patch b/dev-libs/pkcs11-helper/files/pkcs11-helper-1.25.1-build.patch
deleted file mode 100644
index a657dba14ce2..000000000000
--- a/dev-libs/pkcs11-helper/files/pkcs11-helper-1.25.1-build.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-From 0e2ae10ef9611beef92457171e8c78d8e936dfca Mon Sep 17 00:00:00 2001
-From: Alon Bar-Lev <alon.barlev@gmail.com>
-Date: Wed, 22 Aug 2018 20:24:19 +0300
-Subject: [PATCH] openssl: build with openssl ec disabled
-
----
- ChangeLog | 1 +
- lib/pkcs11h-openssl.c | 2 +-
- 2 files changed, 2 insertions(+), 1 deletion(-)
-
-diff --git a/lib/pkcs11h-openssl.c b/lib/pkcs11h-openssl.c
-index c981e21..4ebc211 100644
---- a/lib/pkcs11h-openssl.c
-+++ b/lib/pkcs11h-openssl.c
-@@ -263,6 +263,7 @@ DSA_SIG_set0 (DSA_SIG *sig, BIGNUM *r, BIGNUM *s)
- }
- #endif
-
-+#ifdef __ENABLE_EC
- #ifndef HAVE_ECDSA_SIG_SET0
- static int
- ECDSA_SIG_set0 (ECDSA_SIG *sig, BIGNUM *r, BIGNUM *s)
-@@ -275,7 +276,6 @@ ECDSA_SIG_set0 (ECDSA_SIG *sig, BIGNUM *r, BIGNUM *s)
- }
- #endif
-
--#ifdef __ENABLE_EC
- #ifndef HAVE_EC_KEY_METHOD_GET_SIGN
- void EC_KEY_METHOD_get_sign(const EC_KEY_METHOD *meth,
- int (**psign)(int type, const unsigned char *dgst,
---
-2.16.4
-
diff --git a/dev-libs/pkcs11-helper/files/pkcs11-helper-1.27.0-nss.patch b/dev-libs/pkcs11-helper/files/pkcs11-helper-1.27.0-nss.patch
deleted file mode 100644
index a283121b8119..000000000000
--- a/dev-libs/pkcs11-helper/files/pkcs11-helper-1.27.0-nss.patch
+++ /dev/null
@@ -1,14 +0,0 @@
---- pkcs11-helper-1.27.0/include/pkcs11-helper-1.0/pkcs11.h.orig 2020-11-17 19:38:56.000000000 +0100
-+++ pkcs11-helper-1.27.0/include/pkcs11-helper-1.0/pkcs11.h 2021-06-12 20:53:07.127234688 +0200
-@@ -1262,6 +1262,11 @@
-
- #define NULL_PTR NULL
-
-+typedef CK_RV (*CK_NSS_GetFIPSStatus)(CK_SESSION_HANDLE hSession,
-+ CK_OBJECT_HANDLE hObject,
-+ CK_ULONG ulOperationType,
-+ CK_ULONG *pulFIPSStatus);
-+
- /* Delete the helper macros defined at the top of the file. */
- #undef ck_flags_t
- #undef ck_version
diff --git a/dev-libs/pkcs11-helper/files/pkcs11-helper-1.29.0-incompatible-func-ptr-clang16.patch b/dev-libs/pkcs11-helper/files/pkcs11-helper-1.29.0-incompatible-func-ptr-clang16.patch
new file mode 100644
index 000000000000..5b1036b9999b
--- /dev/null
+++ b/dev-libs/pkcs11-helper/files/pkcs11-helper-1.29.0-incompatible-func-ptr-clang16.patch
@@ -0,0 +1,30 @@
+https://github.com/OpenSC/pkcs11-helper/commit/744001c1424b2d178272194d64e3356824ecdcdc
+https://github.com/OpenSC/pkcs11-helper/issues/60
+https://bugs.gentoo.org/880975
+
+From 744001c1424b2d178272194d64e3356824ecdcdc Mon Sep 17 00:00:00 2001
+From: Alon Bar-Lev <alon.barlev@gmail.com>
+Date: Sat, 12 Nov 2022 02:24:58 +0200
+Subject: [PATCH] openssl: fix openssl_ex_data_dup prototype
+
+--- a/lib/pkcs11h-openssl.c
++++ b/lib/pkcs11h-openssl.c
+@@ -340,7 +340,7 @@ int
+ __pkcs11h_openssl_ex_data_dup (
+ CRYPTO_EX_DATA *to,
+ CRYPTO_EX_DATA *from,
+- void *from_d,
++ void **from_d,
+ int idx,
+ long argl,
+ void *argp
+@@ -350,7 +350,7 @@ int
+ __pkcs11h_openssl_ex_data_dup (
+ CRYPTO_EX_DATA *to,
+ const CRYPTO_EX_DATA *from,
+- void *from_d,
++ void **from_d,
+ int idx,
+ long argl,
+ void *argp
+
diff --git a/dev-libs/pkcs11-helper/pkcs11-helper-1.25.1-r1.ebuild b/dev-libs/pkcs11-helper/pkcs11-helper-1.25.1-r1.ebuild
deleted file mode 100644
index 96d1d2412c3b..000000000000
--- a/dev-libs/pkcs11-helper/pkcs11-helper-1.25.1-r1.ebuild
+++ /dev/null
@@ -1,40 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-DESCRIPTION="PKCS#11 helper library"
-HOMEPAGE="https://github.com/OpenSC/pkcs11-helper"
-SRC_URI="https://github.com/OpenSC/${PN}/releases/download/${P}/${P}.tar.bz2"
-
-LICENSE="|| ( BSD GPL-2 )"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86"
-IUSE="bindist doc gnutls nss static-libs"
-
-RDEPEND="
- >=dev-libs/openssl-0.9.7:0=[bindist(-)=]
- gnutls? ( >=net-libs/gnutls-1.4.4 )
- nss? ( dev-libs/nss )"
-DEPEND="${RDEPEND}"
-BDEPEND="virtual/pkgconfig
- doc? ( >=app-doc/doxygen-1.4.7 )"
-
-PATCHES=(
- "${FILESDIR}/${P}-build.patch"
-)
-
-src_configure() {
- econf \
- --disable-crypto-engine-polarssl \
- --disable-crypto-engine-mbedtls \
- $(use_enable doc) \
- $(use_enable gnutls crypto-engine-gnutls) \
- $(use_enable nss crypto-engine-nss) \
- $(use_enable static-libs static)
-}
-
-src_install() {
- default
- find "${D}" -name '*.la' -delete || die
-}
diff --git a/dev-libs/pkcs11-helper/pkcs11-helper-1.27.0-r1.ebuild b/dev-libs/pkcs11-helper/pkcs11-helper-1.27.0-r1.ebuild
deleted file mode 100644
index cf2c626c5acb..000000000000
--- a/dev-libs/pkcs11-helper/pkcs11-helper-1.27.0-r1.ebuild
+++ /dev/null
@@ -1,47 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-DESCRIPTION="PKCS#11 helper library"
-HOMEPAGE="https://github.com/OpenSC/pkcs11-helper"
-
-if [[ $(ver_cut 3) -eq 0 ]]; then
- MY_PV=$(ver_cut 1-2)
-else
- MY_PV=${PV}
-fi
-
-SRC_URI="https://github.com/OpenSC/${PN}/releases/download/${PN}-${MY_PV}/${P}.tar.bz2"
-
-LICENSE="|| ( BSD GPL-2 )"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86"
-IUSE="doc gnutls nss static-libs"
-
-RDEPEND="
- >=dev-libs/openssl-0.9.7:=
- gnutls? ( >=net-libs/gnutls-1.4.4 )
- nss? ( dev-libs/nss )"
-DEPEND="${RDEPEND}"
-BDEPEND="virtual/pkgconfig
- doc? ( >=app-doc/doxygen-1.4.7 )"
-
-PATCHES=(
- "${FILESDIR}/${P}-nss.patch"
-)
-
-src_configure() {
- econf \
- --disable-crypto-engine-polarssl \
- --disable-crypto-engine-mbedtls \
- $(use_enable doc) \
- $(use_enable gnutls crypto-engine-gnutls) \
- $(use_enable nss crypto-engine-nss) \
- $(use_enable static-libs static)
-}
-
-src_install() {
- default
- find "${D}" -name '*.la' -delete || die
-}
diff --git a/dev-libs/pkcs11-helper/pkcs11-helper-1.27.0.ebuild b/dev-libs/pkcs11-helper/pkcs11-helper-1.27.0.ebuild
deleted file mode 100644
index 7d1814330930..000000000000
--- a/dev-libs/pkcs11-helper/pkcs11-helper-1.27.0.ebuild
+++ /dev/null
@@ -1,47 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-DESCRIPTION="PKCS#11 helper library"
-HOMEPAGE="https://github.com/OpenSC/pkcs11-helper"
-
-if [[ $(ver_cut 3) -eq 0 ]]; then
- MY_PV=$(ver_cut 1-2)
-else
- MY_PV=${PV}
-fi
-
-SRC_URI="https://github.com/OpenSC/${PN}/releases/download/${PN}-${MY_PV}/${P}.tar.bz2"
-
-LICENSE="|| ( BSD GPL-2 )"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86"
-IUSE="bindist doc gnutls nss static-libs"
-
-RDEPEND="
- >=dev-libs/openssl-0.9.7:0=[bindist(-)=]
- gnutls? ( >=net-libs/gnutls-1.4.4 )
- nss? ( dev-libs/nss )"
-DEPEND="${RDEPEND}"
-BDEPEND="virtual/pkgconfig
- doc? ( >=app-doc/doxygen-1.4.7 )"
-
-PATCHES=(
- "${FILESDIR}/${P}-nss.patch"
-)
-
-src_configure() {
- econf \
- --disable-crypto-engine-polarssl \
- --disable-crypto-engine-mbedtls \
- $(use_enable doc) \
- $(use_enable gnutls crypto-engine-gnutls) \
- $(use_enable nss crypto-engine-nss) \
- $(use_enable static-libs static)
-}
-
-src_install() {
- default
- find "${D}" -name '*.la' -delete || die
-}
diff --git a/dev-libs/pkcs11-helper/pkcs11-helper-1.29.0-r1.ebuild b/dev-libs/pkcs11-helper/pkcs11-helper-1.29.0-r1.ebuild
new file mode 100644
index 000000000000..3916848ee4fa
--- /dev/null
+++ b/dev-libs/pkcs11-helper/pkcs11-helper-1.29.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
+
+DESCRIPTION="PKCS#11 helper library"
+HOMEPAGE="https://github.com/OpenSC/pkcs11-helper"
+SRC_URI="https://github.com/OpenSC/${PN}/releases/download/${P}/${P}.tar.bz2"
+
+LICENSE="|| ( BSD GPL-2 )"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86"
+IUSE="doc gnutls nss test"
+# Fails trying to load /usr/lib/pkcs11/provider.so?
+RESTRICT="!test? ( test ) test"
+
+RDEPEND=">=dev-libs/openssl-0.9.7:=
+ gnutls? ( >=net-libs/gnutls-1.4.4:= )
+ nss? ( dev-libs/nss )"
+DEPEND="${RDEPEND}"
+BDEPEND="virtual/pkgconfig
+ doc? ( >=app-text/doxygen-1.4.7 )"
+
+PATCHES=(
+ "${FILESDIR}/${P}-incompatible-func-ptr-clang16.patch"
+)
+
+src_configure() {
+ econf \
+ --disable-crypto-engine-polarssl \
+ --disable-crypto-engine-mbedtls \
+ $(use_enable doc) \
+ $(use_enable gnutls crypto-engine-gnutls) \
+ $(use_enable nss crypto-engine-nss) \
+ $(use_enable test tests)
+}
+
+src_install() {
+ default
+
+ # bug #555262
+ rm "${ED}"/usr/share/doc/${PF}/COPYING.{BSD,GPL} || die
+
+ find "${ED}" -name '*.la' -delete || die
+}
diff --git a/dev-libs/plasma-wayland-protocols/Manifest b/dev-libs/plasma-wayland-protocols/Manifest
index f58ca9a45b03..d97aa1805490 100644
--- a/dev-libs/plasma-wayland-protocols/Manifest
+++ b/dev-libs/plasma-wayland-protocols/Manifest
@@ -1,2 +1 @@
-DIST plasma-wayland-protocols-1.5.0.tar.xz 41488 BLAKE2B 1235506ffb69fdbabd2d8a0b6c9b477a50c83431571b000a10907caa16b178ddbe628d63b4fdf2c98905fdb8a8fdd0699ca13dc3b718ab672b08719f9f434ea3 SHA512 bec83ee401e71fff3c5a38768034b0dfc1dd191af634b9ffa765bf86d9c14143abc2c5abd743dc53cc6c0aac1dbbf79104683c9ff5c6d880b03e71399806a6d7
-DIST plasma-wayland-protocols-1.6.0.tar.xz 41752 BLAKE2B 63f733b63e6e707a340cfbfa0f0a774833e119ba53b8754ef6c05e09b42413284642740b9bcd6abfd7a06f1b651faf3807ee11121aa82b6ff9b1b20894f831cd SHA512 a9306d30032c46e8046ffbc8713e1afab732ee48a43922d0091cff25f0aaf407bee6fd08c333d9a83d064b903ebd1699d7d0ceadfe8b939ffd4d5e2129c22cf8
+DIST plasma-wayland-protocols-1.12.0.tar.xz 44272 BLAKE2B 05f6c7e496d8be7d215ceeed6059230bb609c43c81eba363fc85e49279f2322a5c7c6cedebd9987d1f6d4edefad01eb84039cd949de730607e9ee4bb9a9c2c01 SHA512 4894493e117669d7ab54b385e2a40d69ddce7cb860b68d9a28f9032d63cad6004858f984ad8ece34567e0e806ccb3f973852596b905d2618b60115ccf9c82886
diff --git a/dev-libs/plasma-wayland-protocols/metadata.xml b/dev-libs/plasma-wayland-protocols/metadata.xml
index d925f2439758..d060b5f3ec64 100644
--- a/dev-libs/plasma-wayland-protocols/metadata.xml
+++ b/dev-libs/plasma-wayland-protocols/metadata.xml
@@ -7,5 +7,6 @@
</maintainer>
<upstream>
<bugs-to>https://bugs.kde.org/</bugs-to>
+ <remote-id type="kde-invent">libraries/plasma-wayland-protocols</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-libs/plasma-wayland-protocols/plasma-wayland-protocols-1.12.0-r1.ebuild b/dev-libs/plasma-wayland-protocols/plasma-wayland-protocols-1.12.0-r1.ebuild
new file mode 100644
index 000000000000..ad0d538fed5b
--- /dev/null
+++ b/dev-libs/plasma-wayland-protocols/plasma-wayland-protocols-1.12.0-r1.ebuild
@@ -0,0 +1,35 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake kde.org
+
+DESCRIPTION="Plasma Specific Protocols for Wayland"
+HOMEPAGE="https://invent.kde.org/libraries/plasma-wayland-protocols"
+
+if [[ ${KDE_BUILD_TYPE} = release ]]; then
+ SRC_URI="mirror://kde/stable/${PN}/${P}.tar.xz"
+ KEYWORDS="amd64 arm arm64 ~loong ppc64 ~riscv x86"
+fi
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+
+BDEPEND="
+ dev-libs/libpcre2:*
+ >=kde-frameworks/extra-cmake-modules-5.115.0:*
+ || (
+ dev-qt/qtbase:6
+ dev-qt/qtcore:5
+ )
+"
+
+ecm_src_configure() {
+ local mycmakeargs=(
+ -DKDE_INSTALL_USE_QT_SYS_PATHS=ON # ecm.eclass
+ -DKDE_INSTALL_DOCBUNDLEDIR="${EPREFIX}/usr/share/help" # ecm.eclass
+ )
+
+ cmake_src_configure
+}
diff --git a/dev-libs/plasma-wayland-protocols/plasma-wayland-protocols-1.5.0.ebuild b/dev-libs/plasma-wayland-protocols/plasma-wayland-protocols-1.5.0.ebuild
deleted file mode 100644
index ddaf7dc1bcb1..000000000000
--- a/dev-libs/plasma-wayland-protocols/plasma-wayland-protocols-1.5.0.ebuild
+++ /dev/null
@@ -1,19 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-ECM_NONGUI=true
-KFMIN=5.82.0
-inherit ecm kde.org
-
-DESCRIPTION="Plasma Specific Protocols for Wayland"
-HOMEPAGE="https://invent.kde.org/libraries/plasma-wayland-protocols"
-
-if [[ ${KDE_BUILD_TYPE} = release ]]; then
- SRC_URI="mirror://kde/stable/${PN}/${P}.tar.xz"
- KEYWORDS="amd64 ~arm arm64 ~ppc64 ~riscv x86"
-fi
-
-LICENSE="LGPL-2.1"
-SLOT="0"
diff --git a/dev-libs/plasma-wayland-protocols/plasma-wayland-protocols-1.6.0.ebuild b/dev-libs/plasma-wayland-protocols/plasma-wayland-protocols-1.6.0.ebuild
deleted file mode 100644
index 1b2528ddee83..000000000000
--- a/dev-libs/plasma-wayland-protocols/plasma-wayland-protocols-1.6.0.ebuild
+++ /dev/null
@@ -1,19 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-ECM_NONGUI=true
-KFMIN=5.82.0
-inherit ecm kde.org
-
-DESCRIPTION="Plasma Specific Protocols for Wayland"
-HOMEPAGE="https://invent.kde.org/libraries/plasma-wayland-protocols"
-
-if [[ ${KDE_BUILD_TYPE} = release ]]; then
- SRC_URI="mirror://kde/stable/${PN}/${P}.tar.xz"
- KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86"
-fi
-
-LICENSE="LGPL-2.1"
-SLOT="0"
diff --git a/dev-libs/pmdk/Manifest b/dev-libs/pmdk/Manifest
index 87bb846ceb13..0c6c8f71eb51 100644
--- a/dev-libs/pmdk/Manifest
+++ b/dev-libs/pmdk/Manifest
@@ -1 +1,2 @@
+DIST pmdk-1.12.1.tar.gz 2694951 BLAKE2B 706748af77c5c097b6fff81ecbaca49aafaf207daf05ff20d11b37ffaa64e0d68e0c4eeda4e9c8b7f76f893e5a35496f7e81bc03f88bdef8d1a7d80aa20af17f SHA512 9b29b2038af42829b809a182ece292b6b8bfd003519c3b8f223ec3cba552da0a561477b0e7dbaf14ad7fee8120b136ded10e2d3e1bc6a4a10771051f9aeca683
DIST pmdk-1.9.2.tar.gz 2281358 BLAKE2B 2124055c9535a58d2904df20504ce17e51d8fb67aab2fd302b44d61e04fc40e7f622b6174bd7f8d4b978ff51386a6548cfbda4423be2764f36f8c8311cf54836 SHA512 da9f7863c346de2ec7874d5f920b5ef8e0de7bc87d2ca21ebc25056d6fde4e7753957d2a1b9d8ea26f53f0b828984d69efbd88ffac62d1a7403ef3bf9d33fa30
diff --git a/dev-libs/pmdk/pmdk-1.12.1.ebuild b/dev-libs/pmdk/pmdk-1.12.1.ebuild
new file mode 100644
index 000000000000..8c1173143a6e
--- /dev/null
+++ b/dev-libs/pmdk/pmdk-1.12.1.ebuild
@@ -0,0 +1,60 @@
+# Copyright 2022-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit toolchain-funcs flag-o-matic
+
+DESCRIPTION="Persistent Memory Development Kit"
+HOMEPAGE="https://pmem.io/ https://github.com/pmem/pmdk"
+SRC_URI="https://github.com/pmem/pmdk/releases/download/${PV}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0/1"
+KEYWORDS="~amd64"
+
+DEPEND="
+ sys-block/ndctl:=
+ sys-block/libfabric:=
+"
+RDEPEND="${DEPEND}"
+BDEPEND="
+ virtual/pandoc
+ virtual/pkgconfig
+"
+
+DOCS=(
+ CODING_STYLE.md
+ CONTRIBUTING.md
+ ChangeLog
+ README.md
+)
+
+src_prepare() {
+ default
+
+ # don't pre-compress man pages
+ sed -e 's/:=.gz//g ; s:gzip -nc:cat:g' -i doc/Makefile || die
+
+ # remove -Werror
+ find . -name 'Makefile*' -type f -print | xargs sed 's:-Werror::g' -i || die
+}
+
+src_configure() {
+ # doesn't build with -mindirect-branch=thunk
+ filter-flags -mindirect-branch=thunk
+}
+
+src_compile() {
+ emake DEBUG= CC="$(tc-getCC)" CXX="$(tc-getCXX)" LD="$(tc-getLD)" AR="$(tc-getAR)"
+}
+
+src_test() {
+ touch src/test/testconfig.sh || die
+
+ emake CC="$(tc-getCC)" CXX="$(tc-getCXX)" LD="$(tc-getLD)" AR="$(tc-getAR)" test || die
+}
+
+src_install() {
+ emake install prefix=/usr sysconfdir=/etc DESTDIR="${ED}"
+}
diff --git a/dev-libs/pmdk/pmdk-1.9.2.ebuild b/dev-libs/pmdk/pmdk-1.9.2.ebuild
index 245e99c6fe18..624d696ce239 100644
--- a/dev-libs/pmdk/pmdk-1.9.2.ebuild
+++ b/dev-libs/pmdk/pmdk-1.9.2.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=7
@@ -19,7 +19,7 @@ DEPEND="
"
RDEPEND="${DEPEND}"
BDEPEND="
- app-text/pandoc
+ virtual/pandoc
virtual/pkgconfig
"
@@ -46,7 +46,7 @@ src_configure() {
}
src_compile() {
- emake DEBUG= CC=$(tc-getCC) CXX=$(tc-getCXX) LD=$(tc-getLD) AR=$(tc-getAR)
+ emake DEBUG= CC="$(tc-getCC)" CXX="$(tc-getCXX)" LD="$(tc-getLD)" AR="$(tc-getAR)"
}
src_install() {
diff --git a/dev-libs/pocketfft/Manifest b/dev-libs/pocketfft/Manifest
new file mode 100644
index 000000000000..21f04969b6f5
--- /dev/null
+++ b/dev-libs/pocketfft/Manifest
@@ -0,0 +1 @@
+DIST pocketfft-2021.11.23.tar.gz 26769 BLAKE2B 80eb02a2a73d46febf562c3c0b7ad86ee5d9f93b41057c99f9f7f767b7cd2e6b7bc3986e67faaca6e69b9d7e2402febb8d427cb8c57badcafcc5ea0dafd04b20 SHA512 d212cfa34ecde2f38b789d218b5ed4fb9069e41f9d35587dd058b8af89cf22e79a1c8f8ddf2d47d794fa23a7e363cb0631b25461ae3fc9fc5d58e1bdf6356600
diff --git a/dev-libs/pocketfft/metadata.xml b/dev-libs/pocketfft/metadata.xml
new file mode 100644
index 000000000000..0d78ed7431c8
--- /dev/null
+++ b/dev-libs/pocketfft/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">mreineck/pocketfft</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/pocketfft/pocketfft-2021.11.23.ebuild b/dev-libs/pocketfft/pocketfft-2021.11.23.ebuild
new file mode 100644
index 000000000000..3c4b2408412a
--- /dev/null
+++ b/dev-libs/pocketfft/pocketfft-2021.11.23.ebuild
@@ -0,0 +1,22 @@
+# Copyright 2022-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+CommitId=daa8bb18327bc5c7d22c69428c25cf5dc64167d3
+
+DESCRIPTION="PocketFFT for C++"
+HOMEPAGE="https://github.com/mreineck/pocketfft/"
+SRC_URI="https://github.com/mreineck/${PN}/archive/${CommitId}.tar.gz
+ -> ${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64"
+
+S="${WORKDIR}"/${PN}-${CommitId}
+
+src_install() {
+ doheader pocketfft_hdronly.h
+ default
+}
diff --git a/dev-libs/pocl/Manifest b/dev-libs/pocl/Manifest
index 4f3243ab7a6f..b2eb19f5fd11 100644
--- a/dev-libs/pocl/Manifest
+++ b/dev-libs/pocl/Manifest
@@ -1,2 +1 @@
-DIST pocl-1.7.tar.gz 1577676 BLAKE2B 50d4f50236b1c81f319b5559ca2b1df529209f07899acf51c487820d97cc6766c5130a55afca910517c7db63d8041ac8306062880c3a821cbc1bf9108bf13d65 SHA512 23bb82b25a222186c001b2ed413f26253e1e0e16518e98c95173f51491e15d107e6ab1b334ffd490b41199743267d9ad64882a22fea327e17ec9604f9847fc38
-DIST pocl-1.8.tar.gz 1614545 BLAKE2B b0ccc08d1f899719f5def731c61727440035a879ebeebae89dd406423eba6c12b866f34cd47dd0e0f944b7f0c4569c57c44a9a62bf02552de5c4c3b8c9fb3b48 SHA512 bcbb3fa3d2234d4c5b0c17863eba0bc4c8f13f863cc58cfd1de49e21fa7bf0aec82b81aec143c81885e3a39274c8ae783b2f03b9a12846e024204d6ed0e59a9d
+DIST pocl-4.0.tar.gz 2140919 BLAKE2B 1e9dd4de4824dd4a9e2b0d053d1786062c135d3bf7ca99dc884657b89c651fca6c0f3dedb568439802a58b0bfabc10939ca344b0110ae5fdb31be06f596d2a48 SHA512 3835a9e8fc8562d50a91a11b807cf87a096891f5c27675127b66412eacff2e541b6143b49b4155f43a09f4e53faa062ec20f3b20badeca206ece9f45ad50f26a
diff --git a/dev-libs/pocl/files/vendor_opencl_libs_location.patch b/dev-libs/pocl/files/vendor_opencl_libs_location.patch
deleted file mode 100644
index 548589ca41bc..000000000000
--- a/dev-libs/pocl/files/vendor_opencl_libs_location.patch
+++ /dev/null
@@ -1,20 +0,0 @@
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -125,7 +125,7 @@
- endif()
-
- # for libpocl.so
--set(POCL_INSTALL_PUBLIC_LIBDIR "${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}" CACHE PATH "POCL public libdir")
-+set(POCL_INSTALL_PUBLIC_LIBDIR "${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}/OpenCL/vendors/pocl" CACHE PATH "POCL public libdir")
-
- # for llvmopencl.so
- set(POCL_INSTALL_PRIVATE_LIBDIR "${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}/pocl" CACHE PATH "POCL private libdir")
-@@ -134,7 +134,7 @@
- if(UNIX AND NOT CMAKE_CROSSCOMPILING AND CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT)
- set(POCL_INSTALL_ICD_VENDORDIR "/etc/OpenCL/vendors" CACHE PATH "POCL ICD file destination")
- else()
-- set(POCL_INSTALL_ICD_VENDORDIR "${CMAKE_INSTALL_PREFIX}/etc/OpenCL/vendors" CACHE PATH "POCL ICD file destination")
-+ set(POCL_INSTALL_ICD_VENDORDIR "${SYSCONFDIR}/etc/OpenCL/vendors" CACHE PATH "POCL ICD file destination")
- endif()
-
- # for kernel-<target>.bc
diff --git a/dev-libs/pocl/metadata.xml b/dev-libs/pocl/metadata.xml
index 1e1a7087abb5..385844d354c1 100644
--- a/dev-libs/pocl/metadata.xml
+++ b/dev-libs/pocl/metadata.xml
@@ -6,9 +6,7 @@
</maintainer>
<use>
<flag name="accel">Enable the generic hardware accelerator device driver</flag>
- <flag name="cl20">Enable reporting OpenCL 2.0 for the CPU device</flag>
<flag name="conformance">Ensures that certain build options which would result in non-conformant pocl build stay disabled. Note that this does not quarantee a fully conformant build of pocl.</flag>
- <flag name="cuda">Enable the CUDA backend for NVIDIA GPUs</flag>
<flag name="float-conversion">When enabled, OpenCL printf() call's f/e/g formatters are handled by pocl. When disabled, these are handled by system C library.</flag>
<flag name="hardening">Enable hardening against various attacks. May worsen performance</flag>
<!--<flag name="hsa">Enable the HSA base profile runtime device driver</flag>-->
diff --git a/dev-libs/pocl/pocl-1.7-r3.ebuild b/dev-libs/pocl/pocl-1.7-r3.ebuild
deleted file mode 100644
index 1bdb29346d53..000000000000
--- a/dev-libs/pocl/pocl-1.7-r3.ebuild
+++ /dev/null
@@ -1,120 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-DOCS_AUTODOC=0
-DOCS_BUILDER="sphinx"
-DOCS_DIR="doc/sphinx/source"
-PYTHON_COMPAT=( python3_{8..10} pypy3 )
-
-inherit cmake llvm python-any-r1 docs
-
-LLVM_MAX_SLOT=12
-
-DESCRIPTION="Portable Computing Language (an implementation of OpenCL)"
-HOMEPAGE="http://portablecl.org https://github.com/pocl/pocl"
-SRC_URI="https://github.com/pocl/pocl/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="~amd64"
-IUSE="accel cl20 +conformance cuda debug examples float-conversion hardening +hwloc memmanager test" #hsa tce
-
-RESTRICT="!test? ( test ) mirror"
-
-# TODO: add dependencies for cuda
-# Note: No := on LLVM because it pulls in Clang
-# see llvm.eclass for why
-CLANG_DEPS="!cuda? ( <sys-devel/clang-$((${LLVM_MAX_SLOT} + 1)):= )
- cuda? ( <sys-devel/clang-$((${LLVM_MAX_SLOT} + 1)):=[llvm_targets_NVPTX] )"
-RDEPEND="
- dev-libs/libltdl
- <sys-devel/llvm-$((${LLVM_MAX_SLOT} + 1)):*
- virtual/opencl
-
- ${CLANG_DEPS}
- debug? ( dev-util/lttng-ust:= )
- hwloc? ( sys-apps/hwloc:=[cuda?] )
-"
-DEPEND="${RDEPEND}"
-BDEPEND="${CLANG_DEPS}
- virtual/pkgconfig
- doc? (
- $(python_gen_any_dep '<dev-python/markupsafe-2.0[${PYTHON_USEDEP}]')
- )"
-
-PATCHES=(
- "${FILESDIR}/vendor_opencl_libs_location.patch"
-)
-
-python_check_deps() {
- has_version -b "<dev-python/markupsafe-2.0[${PYTHON_USEDEP}]"
-}
-
-llvm_check_deps() {
- local usedep=$(usex cuda "[llvm_targets_NVPTX]" '')
-
- # Clang is used at both build time (executed) and runtime
- has_version -r "sys-devel/llvm:${LLVM_SLOT}${usedep}" && \
- has_version -r "sys-devel/clang:${LLVM_SLOT}${usedep}" && \
- has_version -b "sys-devel/clang:${LLVM_SLOT}${usedep}"
-}
-
-pkg_setup() {
- use doc && python-any-r1_pkg_setup
-
- llvm_pkg_setup
-}
-
-src_configure() {
- local mycmakeargs=(
- -DBUILD_SHARED_LIBS=ON
- -DENABLE_HSA=OFF
- -DENABLE_ICD=ON
- -DENABLE_POCL_BUILDING=ON
- -DKERNELLIB_HOST_CPU_VARIANTS=native
- -DPOCL_ICD_ABSOLUTE_PATH=ON
- -DSTATIC_LLVM=OFF
- -DWITH_LLVM_CONFIG=$(get_llvm_prefix -d "${LLVM_MAX_SLOT}")/bin/llvm-config
-
- -DENABLE_ACCEL_DEVICE=$(usex accel)
- -DENABLE_CONFORMANCE=$(usex conformance)
- -DENABLE_CUDA=$(usex cuda)
- -DENABLE_HOST_CPU_DEVICE_CL20=$(usex cl20)
- -DENABLE_HWLOC=$(usex hwloc)
- -DENABLE_POCL_FLOAT_CONVERSION=$(usex float-conversion)
- -DHARDENING_ENABLE=$(usex hardening)
- -DPOCL_DEBUG_MESSAGES=$(usex debug)
- -DUSE_POCL_MEMMANAGER=$(usex memmanager)
- )
-
- cmake_src_configure
-}
-
-src_compile() {
- cmake_src_compile
- docs_compile
-}
-
-src_test() {
- export POCL_BUILDING=1
- export CTEST_OUTPUT_ON_FAILURE=1
- cmake_src_test
-}
-
-src_install() {
- cmake_src_install
-
- dodoc CREDITS README CHANGES
-
- if use doc; then
- dodoc -r _build/html
- docompress -x /usr/share/doc/${P}/html
- fi
-
- if use examples; then
- dodoc -r examples
- docompress -x /usr/share/doc/${P}/examples
- fi
-}
diff --git a/dev-libs/pocl/pocl-1.8-r2.ebuild b/dev-libs/pocl/pocl-1.8-r2.ebuild
deleted file mode 100644
index 2c7536c0a22d..000000000000
--- a/dev-libs/pocl/pocl-1.8-r2.ebuild
+++ /dev/null
@@ -1,126 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-DOCS_AUTODOC=0
-DOCS_BUILDER="sphinx"
-DOCS_DIR="doc/sphinx/source"
-PYTHON_COMPAT=( python3_{8..10} pypy3 )
-LLVM_MAX_SLOT=13
-
-inherit cmake llvm python-any-r1 docs
-
-DESCRIPTION="Portable Computing Language (an implementation of OpenCL)"
-HOMEPAGE="http://portablecl.org https://github.com/pocl/pocl"
-SRC_URI="https://github.com/pocl/pocl/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="~amd64"
-# TODO: hsa tce
-IUSE="accel cl20 +conformance cuda debug examples float-conversion hardening +hwloc memmanager test"
-# Tests not yet passing, fragile in Portage environment(?)
-RESTRICT="!test? ( test ) test"
-
-# TODO: add dependencies for cuda
-# Note: No := on LLVM because it pulls in Clang
-# see llvm.eclass for why
-CLANG_DEPS="!cuda? ( <sys-devel/clang-$((${LLVM_MAX_SLOT} + 1)):= )
- cuda? ( <sys-devel/clang-$((${LLVM_MAX_SLOT} + 1)):=[llvm_targets_NVPTX] )"
-RDEPEND="
- dev-libs/libltdl
- <sys-devel/llvm-$((${LLVM_MAX_SLOT} + 1)):*
- virtual/opencl
-
- ${CLANG_DEPS}
- debug? ( dev-util/lttng-ust:= )
- hwloc? ( sys-apps/hwloc:=[cuda?] )
-"
-DEPEND="${RDEPEND}"
-BDEPEND="${CLANG_DEPS}
- virtual/pkgconfig
- doc? (
- $(python_gen_any_dep '<dev-python/markupsafe-2.0[${PYTHON_USEDEP}]')
- )"
-
-PATCHES=(
- "${FILESDIR}/vendor_opencl_libs_location.patch"
-)
-
-python_check_deps() {
- has_version -b "<dev-python/markupsafe-2.0[${PYTHON_USEDEP}]"
-}
-
-llvm_check_deps() {
- local usedep=$(usex cuda "[llvm_targets_NVPTX]" '')
-
- # Clang is used at both build time (executed) and runtime
- has_version -r "sys-devel/llvm:${LLVM_SLOT}${usedep}" && \
- has_version -r "sys-devel/clang:${LLVM_SLOT}${usedep}" && \
- has_version -b "sys-devel/clang:${LLVM_SLOT}${usedep}"
-}
-
-pkg_setup() {
- use doc && python-any-r1_pkg_setup
-
- llvm_pkg_setup
-}
-
-src_configure() {
- local mycmakeargs=(
- -DBUILD_SHARED_LIBS=ON
- -DENABLE_HSA=OFF
- -DENABLE_ICD=ON
- -DENABLE_POCL_BUILDING=ON
- -DKERNELLIB_HOST_CPU_VARIANTS=distro
- -DPOCL_ICD_ABSOLUTE_PATH=ON
- -DSTATIC_LLVM=OFF
- -DWITH_LLVM_CONFIG=$(get_llvm_prefix -d "${LLVM_MAX_SLOT}")/bin/llvm-config
-
- -DENABLE_ACCEL_DEVICE=$(usex accel)
- -DENABLE_CONFORMANCE=$(usex conformance)
- -DENABLE_CUDA=$(usex cuda)
- -DENABLE_HOST_CPU_DEVICE_CL20=$(usex cl20)
- -DENABLE_HWLOC=$(usex hwloc)
- -DENABLE_POCL_FLOAT_CONVERSION=$(usex float-conversion)
- -DHARDENING_ENABLE=$(usex hardening)
- -DPOCL_DEBUG_MESSAGES=$(usex debug)
- -DUSE_POCL_MEMMANAGER=$(usex memmanager)
- -DENABLE_TESTS=$(usex test)
- )
-
- cmake_src_configure
-}
-
-src_compile() {
- cmake_src_compile
- docs_compile
-}
-
-src_test() {
- export POCL_BUILDING=1
- export POCL_DEVICES=basic
- export CTEST_OUTPUT_ON_FAILURE=1
- export TEST_VERBOSE=1
-
- # Referenced https://github.com/pocl/pocl/blob/master/.drone.yml
- # But couldn't seem to get tests working yet
- cmake_src_test
-}
-
-src_install() {
- cmake_src_install
-
- dodoc CREDITS README CHANGES
-
- if use doc; then
- dodoc -r _build/html
- docompress -x /usr/share/doc/${P}/html
- fi
-
- if use examples; then
- dodoc -r examples
- docompress -x /usr/share/doc/${P}/examples
- fi
-}
diff --git a/dev-libs/pocl/pocl-4.0.ebuild b/dev-libs/pocl/pocl-4.0.ebuild
new file mode 100644
index 000000000000..e8e313759963
--- /dev/null
+++ b/dev-libs/pocl/pocl-4.0.ebuild
@@ -0,0 +1,113 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+LLVM_MAX_SLOT=16
+inherit cmake llvm
+
+DESCRIPTION="Portable Computing Language (an implementation of OpenCL)"
+HOMEPAGE="http://portablecl.org https://github.com/pocl/pocl"
+SRC_URI="https://github.com/pocl/pocl/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 ppc64"
+# TODO: hsa tce
+IUSE="accel +conformance cuda debug examples float-conversion hardening +hwloc memmanager test"
+# Tests not yet passing, fragile in Portage environment(?)
+RESTRICT="!test? ( test ) test"
+
+# TODO: add dependencies for cuda
+# Note: No := on LLVM because it pulls in Clang
+# see llvm.eclass for why
+CLANG_DEPS="
+ !cuda? ( <sys-devel/clang-$((${LLVM_MAX_SLOT} + 1)):= )
+ cuda? ( <sys-devel/clang-$((${LLVM_MAX_SLOT} + 1)):=[llvm_targets_NVPTX] )
+"
+RDEPEND="
+ dev-libs/libltdl
+ <sys-devel/llvm-$((${LLVM_MAX_SLOT} + 1)):*
+ virtual/opencl
+
+ ${CLANG_DEPS}
+ debug? ( dev-util/lttng-ust:= )
+ hwloc? ( sys-apps/hwloc:=[cuda?] )
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ ${CLANG_DEPS}
+ virtual/pkgconfig
+"
+
+llvm_check_deps() {
+ local usedep=$(usev cuda "[llvm_targets_NVPTX]")
+
+ # Clang is used at both build time (executed) and runtime
+ has_version -r "sys-devel/llvm:${LLVM_SLOT}${usedep}" && \
+ has_version -r "sys-devel/clang:${LLVM_SLOT}${usedep}" && \
+ has_version -b "sys-devel/clang:${LLVM_SLOT}${usedep}"
+}
+
+src_configure() {
+ local host_cpu_variants="generic"
+
+ if use amd64 ; then
+ # Use pocl's curated list of CPU variants which should contain a good match for any given amd64 CPU
+ host_cpu_variants="distro"
+ elif use ppc64 ; then
+ # A selection of architectures in which new Altivec / VSX features were added
+ # This attempts to recreate the amd64 "distro" option for ppc64
+ # See discussion in bug #831859
+ host_cpu_variants="pwr10;pwr9;pwr8;pwr7;pwr6;g5;a2;generic"
+ fi
+
+ local mycmakeargs=(
+ -DENABLE_HSA=OFF
+
+ -DENABLE_ICD=ON
+ -DPOCL_ICD_ABSOLUTE_PATH=ON
+ -DPOCL_INSTALL_PUBLIC_LIBDIR="${EPREFIX}/usr/$(get_libdir)/OpenCL/vendors/pocl"
+
+ # only appends -flto
+ -DENABLE_IPO=OFF
+
+ -DENABLE_POCL_BUILDING=ON
+ -DKERNELLIB_HOST_CPU_VARIANTS="${host_cpu_variants}"
+
+ -DSTATIC_LLVM=OFF
+ -DWITH_LLVM_CONFIG=$(get_llvm_prefix -d "${LLVM_MAX_SLOT}")/bin/llvm-config
+
+ -DENABLE_ALMAIF_DEVICE=$(usex accel)
+ -DENABLE_CONFORMANCE=$(usex conformance)
+ -DENABLE_CUDA=$(usex cuda)
+ -DENABLE_HWLOC=$(usex hwloc)
+ -DENABLE_POCL_FLOAT_CONVERSION=$(usex float-conversion)
+ -DHARDENING_ENABLE=$(usex hardening)
+ -DPOCL_DEBUG_MESSAGES=$(usex debug)
+ -DUSE_POCL_MEMMANAGER=$(usex memmanager)
+ -DENABLE_TESTS=$(usex test)
+ )
+
+ cmake_src_configure
+}
+
+src_test() {
+ export POCL_BUILDING=1
+ export POCL_DEVICES=basic
+ export CTEST_OUTPUT_ON_FAILURE=1
+ export TEST_VERBOSE=1
+
+ # Referenced https://github.com/pocl/pocl/blob/master/.drone.yml
+ # But couldn't seem to get tests working yet
+ cmake_src_test
+}
+
+src_install() {
+ cmake_src_install
+
+ if use examples; then
+ dodoc -r examples
+ docompress -x /usr/share/doc/${P}/examples
+ fi
+}
diff --git a/dev-libs/poco/Manifest b/dev-libs/poco/Manifest
index 0dc485b0a315..e53e47643ea1 100644
--- a/dev-libs/poco/Manifest
+++ b/dev-libs/poco/Manifest
@@ -1,2 +1,3 @@
-DIST poco-1.10.1.tar.gz 10224204 BLAKE2B 644bb2134c571e10b63937ca15b3f5d7255767bcc99dd6b6107a13d64ed7ac83d499d74f04084c666bbf5ef6f033d57d2fb1de0b8b8487844e3aaf8cefe6fba8 SHA512 40aa8049c68651f461280937c1c733e13d1cedbec12bc44a7f3a6c131d31229c5445067052441427071f6102fd1965d238b2222c0689279dd156b4e261ac9e73
-DIST poco-1.9.0.tar.gz 10012966 BLAKE2B 98848e87008c71dc5131dbd1c2b17afc414074a3e26237918baf231b4e56ce3d69347cf7a3017715895f4ee56a428672fcb804fb3c732da0000ccc9790b0081d SHA512 de2346d62b2e89ba04abe62a83f6ede7a496e80bcbe53a880a1aa8e87a8ebd9a430dd70fdc6aada836bb1021c6df21375fd0cbcf62dbb6e29a2f65d6d90cf2b9
+DIST poco-1.11.2.tar.gz 10935312 BLAKE2B 66b4cdb6cb4b5dd4f5f0eee744e1d147d66e98561ec4286ed09693b638d565fbf084c3e40eff3f6a9a88cff167b1d774da08e8c8424986aefe13d029a540afe2 SHA512 3f9e46dbfb0a85f19389b269725cb6272172d993d8239f13da8110c0c6ce9ed2b6595708d5dba91a027292c74358c87da988e22587a74011e84707816a6a277c
+DIST poco-1.12.2.tar.gz 11268579 BLAKE2B fe23216884d1effb7e93072c5e90d5eabf813c6cf0326af5c4b6d3646d54e5411966485e97d50960df97cd545b3a265eb4b43c1cb041ff97b4457f53f6bd06bc SHA512 86b6b106e9a677397c73139e949a65925e78611cad478fc4206a6a7365613307fc1549b1160faf6ca8f02fb7f7ae58858c3913cb701111b7cbb5ffcbe5363bb3
+DIST poco-1.12.4.tar.gz 11296139 BLAKE2B 45e1214616e78041d5ca512cee46621c006fe21f51231f3261dc40ca4941eb3cd4e52db493aa826779784f9d3f35cfd08e3e9d08fb35ebec2d610fb6528c635a SHA512 730700a24b5a00d44aa85914e7d3c9eff76969a123a67315ba5e9b2d18c0ace70d2664d8a611496851f497aa4985d36685a67813a95e814461ae0fffdb460d91
diff --git a/dev-libs/poco/files/poco-1.7.2-iodbc-incdir.patch b/dev-libs/poco/files/poco-1.7.2-iodbc-incdir.patch
deleted file mode 100644
index e41d8f390d9f..000000000000
--- a/dev-libs/poco/files/poco-1.7.2-iodbc-incdir.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/cmake/FindODBC.cmake b/cmake/FindODBC.cmake
-index 9e229ed..5d79c7e 100644
---- a/cmake/FindODBC.cmake
-+++ b/cmake/FindODBC.cmake
-@@ -16,7 +16,7 @@
- find_path(ODBC_INCLUDE_DIRECTORIES
- NAMES sql.h
- HINTS
-- /usr/include
-+ /usr/include/iodbc
- /usr/include/odbc
- /usr/local/include
- /usr/local/include/odbc
diff --git a/dev-libs/poco/metadata.xml b/dev-libs/poco/metadata.xml
index e87aecd0e1e0..47052fc34e8a 100644
--- a/dev-libs/poco/metadata.xml
+++ b/dev-libs/poco/metadata.xml
@@ -31,16 +31,19 @@ done quickly and working on the features that make their application unique.
</upstream>
<use>
<flag name="7z">Add Support for the 7z archive format</flag>
+ <flag name="activerecord">Add ActiveRecord support</flag>
<flag name="cppparser">Build and install a minimal C++ parser</flag>
- <flag name="crypto">Encryption and digital signing classes</flag>
+ <flag name="crypto" restrict="&lt;=dev-libs/poco-1.12.2-r1">Encryption and digital signing classes</flag>
<flag name="data">Database abstraction layer to easily send/retrieve data to/from various databases</flag>
<flag name="file2pagecompiler">Utility to convert ordinary files to Page Compiler source files</flag>
<flag name="json">Add JSON support</flag>
+ <flag name="jwt" restrict="&gt;=dev-libs/poco-1.12.2-r1">Add JSON Web Token support</flag>
<flag name="mariadb">Prefer <pkg>dev-db/mariadb-connector-c</pkg> over <pkg>dev-db/mysql-connector-c</pkg></flag>
<flag name="mongodb">Add <pkg>dev-db/mongodb</pkg> support</flag>
<flag name="net">Classes to write network clients &amp; servers</flag>
<flag name="pagecompiler">Simple compiler translating HTML pages containing embedded C++ code into HTTPRequestHandler classes</flag>
<flag name="pocodoc">POCO documentation generator</flag>
+ <flag name="prometheus">Add prometheus monitoring system support</flag>
<flag name="util">Several utility classes (like logger, timer, config file parser)</flag>
<flag name="zip">Add support for the zip &amp; gz archive formats</flag>
</use>
diff --git a/dev-libs/poco/poco-1.10.1.ebuild b/dev-libs/poco/poco-1.10.1.ebuild
deleted file mode 100644
index 47a8c8a18c4c..000000000000
--- a/dev-libs/poco/poco-1.10.1.ebuild
+++ /dev/null
@@ -1,135 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit cmake
-
-DESCRIPTION="C++ libraries for building network-based applications"
-HOMEPAGE="https://pocoproject.org/"
-SRC_URI="https://github.com/pocoproject/${PN}/archive/${P}-release.tar.gz -> ${P}.tar.gz"
-S="${WORKDIR}/${PN}-${P}-release"
-
-LICENSE="Boost-1.0"
-SLOT="0"
-KEYWORDS="amd64 arm x86"
-IUSE="7z cppparser +crypto +data examples +file2pagecompiler iodbc +json mariadb +mongodb mysql +net odbc +pagecompiler pdf pocodoc sqlite +ssl test +util +xml +zip"
-RESTRICT="!test? ( test )"
-REQUIRED_USE="
- 7z? ( xml )
- file2pagecompiler? ( pagecompiler )
- iodbc? ( odbc )
- mongodb? ( data )
- mysql? ( data )
- odbc? ( data )
- pagecompiler? ( json net util xml )
- pocodoc? ( cppparser util xml )
- sqlite? ( data )
- ssl? ( util )
- test? ( data? ( sqlite ) json util xml )
-"
-
-BDEPEND="virtual/pkgconfig"
-RDEPEND="
- >=dev-libs/libpcre-8.42
- mysql? ( !mariadb? ( dev-db/mysql-connector-c:0= )
- mariadb? ( dev-db/mariadb-connector-c:0= ) )
- odbc? ( iodbc? ( dev-db/libiodbc )
- !iodbc? ( dev-db/unixODBC ) )
- sqlite? ( dev-db/sqlite:3 )
- ssl? (
- dev-libs/openssl:0=
- )
- xml? ( dev-libs/expat )
- zip? ( sys-libs/zlib )
-"
-DEPEND="${RDEPEND}"
-
-PATCHES=( "${FILESDIR}/${PN}-1.10.1-iodbc-incdir.patch" )
-
-src_prepare() {
- cmake_src_prepare
-
- if use test ; then
- # ignore missing tests on experimental library
- # and tests requiring running DB-servers, internet connections, etc.
- sed -i -e '/testsuite/d' \
- {Data/{MySQL,ODBC},MongoDB,Net,NetSSL_OpenSSL,PDF,Redis}/CMakeLists.txt || die
- # Poco expands ~ using passwd, which does not match $HOME in the build environment
- sed -i -e '/CppUnit_addTest.*testExpand/d' \
- Foundation/testsuite/src/PathTest.cpp || die
- # ignore failing Crypto test since upstream does not seem to care,
- # see https://github.com/pocoproject/poco/issues/1209
- sed -i -e '/RSATest, testRSACipherLarge/d' \
- Crypto/testsuite/src/RSATest.cpp || die
- fi
-
- if use mariadb ; then
- # Fix MariaDB detection
- sed -i -e 's~/usr/include/mysql~~' \
- -e 's/STATUS "Couldn/FATAL_ERROR "Couldn/' \
- cmake/FindMySQL.cmake || die
- else
- # Fix MySQL detection
- sed -i -e 's/mysqlclient_r/mysqlclient/' \
- -e 's/STATUS "Couldn/FATAL_ERROR "Couldn/' \
- cmake/FindMySQL.cmake || die
- fi
-
- # Add missing directory that breaks the build
- mkdir -p Encodings/testsuite/data || die
-
- if ! use iodbc ; then
- sed -i -e 's|iodbc||' cmake/FindODBC.cmake || die
- fi
-}
-
-src_configure() {
- # apache support is dead and buggy, https://github.com/pocoproject/poco/issues/1764
- local mycmakeargs=(
- -DPOCO_UNBUNDLED=ON
- -DENABLE_APACHECONNECTOR=OFF
- -DENABLE_CPPPARSER="$(usex cppparser)"
- -DENABLE_CRYPTO="$(usex ssl)"
- -DENABLE_DATA="$(usex data)"
- -DENABLE_DATA_MYSQL="$(usex mysql)"
- -DENABLE_DATA_ODBC="$(usex odbc)"
- -DENABLE_DATA_SQLITE="$(usex sqlite)"
- -DENABLE_JSON="$(usex util)"
- -DENABLE_MONGODB="$(usex mongodb)"
- -DENABLE_NET="$(usex net)"
- -DENABLE_NETSSL="$(usex ssl)"
- -DENABLE_NETSSL_WIN=OFF
- -DENABLE_PAGECOMPILER="$(usex pagecompiler)"
- -DENABLE_PAGECOMPILER_FILE2PAGE="$(usex file2pagecompiler)"
- -DENABLE_PDF="$(usex pdf)"
- -DENABLE_POCODOC="$(usex pocodoc)"
- -DENABLE_SEVENZIP="$(usex 7z)"
- -DENABLE_TESTS="$(usex test)"
- -DENABLE_UTIL="$(usex util)"
- -DENABLE_XML="$(usex xml)"
- -DENABLE_ZIP="$(usex zip)"
- )
-
- cmake_src_configure
-}
-
-src_test() {
- POCO_BASE="${S}" cmake_src_test
-}
-
-src_install() {
- cmake_src_install
-
- if use examples ; then
- for sd in */samples ; do
- docinto examples/${sd%/samples}
- dodoc -r ${sd}
- done
-
- find "${D}/usr/share/doc/${PF}/examples" \
- -iname "*.sln" -or -iname "*.vcproj" -or \
- -iname "*.vmsbuild" -or -iname "*.properties" \
- | xargs rm -v || die
- fi
-}
diff --git a/dev-libs/poco/poco-1.11.2-r1.ebuild b/dev-libs/poco/poco-1.11.2-r1.ebuild
new file mode 100644
index 000000000000..e9754d726988
--- /dev/null
+++ b/dev-libs/poco/poco-1.11.2-r1.ebuild
@@ -0,0 +1,141 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+DESCRIPTION="C++ libraries for building network-based applications"
+HOMEPAGE="https://pocoproject.org/"
+SRC_URI="https://github.com/pocoproject/${PN}/archive/${P}-release.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/${PN}-${P}-release"
+
+LICENSE="Boost-1.0"
+SLOT="0"
+KEYWORDS="amd64 arm arm64 ppc64 x86"
+IUSE="7z activerecord cppparser +crypto +data examples +file2pagecompiler iodbc +json mariadb +mongodb mysql +net odbc +pagecompiler pdf pocodoc sqlite +ssl test +util +xml +zip"
+RESTRICT="!test? ( test )"
+REQUIRED_USE="
+ 7z? ( xml )
+ file2pagecompiler? ( pagecompiler )
+ iodbc? ( odbc )
+ mongodb? ( data )
+ mysql? ( data )
+ odbc? ( data )
+ pagecompiler? ( json net util xml )
+ pocodoc? ( cppparser util xml )
+ sqlite? ( data )
+ ssl? ( util )
+ test? ( data? ( sqlite ) json util xml )
+"
+
+BDEPEND="virtual/pkgconfig"
+RDEPEND="
+ >=dev-libs/libpcre-8.42
+ activerecord? ( !app-arch/arc )
+ mysql? ( !mariadb? ( dev-db/mysql-connector-c:0= )
+ mariadb? ( dev-db/mariadb-connector-c:0= ) )
+ odbc? (
+ iodbc? ( dev-db/libiodbc )
+ !iodbc? ( dev-db/unixODBC )
+ )
+ sqlite? ( dev-db/sqlite:3 )
+ ssl? (
+ dev-libs/openssl:0=
+ )
+ xml? ( dev-libs/expat )
+ zip? ( sys-libs/zlib )
+"
+DEPEND="${RDEPEND}"
+
+PATCHES=( "${FILESDIR}/${PN}-1.10.1-iodbc-incdir.patch" )
+
+src_prepare() {
+ cmake_src_prepare
+
+ if use test ; then
+ # ignore missing tests on experimental library
+ # and tests requiring running DB-servers, internet connections, etc.
+ sed -i -e '/testsuite/d' \
+ {Data/{MySQL,ODBC},MongoDB,Net,NetSSL_OpenSSL,PDF,Redis}/CMakeLists.txt || die
+ # Poco expands ~ using passwd, which does not match $HOME in the build environment
+ sed -i -e '/CppUnit_addTest.*testExpand/d' \
+ Foundation/testsuite/src/PathTest.cpp || die
+ # ignore failing Crypto test since upstream does not seem to care,
+ # see https://github.com/pocoproject/poco/issues/1209
+ sed -i -e '/RSATest, testRSACipherLarge/d' \
+ Crypto/testsuite/src/RSATest.cpp || die
+ fi
+
+ if use mariadb ; then
+ # Fix MariaDB detection
+ sed -i -e 's~/usr/include/mysql~~' \
+ -e 's/STATUS "Couldn/FATAL_ERROR "Couldn/' \
+ cmake/FindMySQL.cmake || die
+ else
+ # Fix MySQL detection
+ sed -i -e 's/mysqlclient_r/mysqlclient/' \
+ -e 's/STATUS "Couldn/FATAL_ERROR "Couldn/' \
+ cmake/FindMySQL.cmake || die
+ fi
+
+ # Add missing directory that breaks the build
+ mkdir -p Encodings/testsuite/data || die
+
+ if ! use iodbc ; then
+ sed -i -e 's|iodbc||' cmake/FindODBC.cmake || die
+ fi
+}
+
+src_configure() {
+ # apache support is dead and buggy, https://github.com/pocoproject/poco/issues/1764
+ local mycmakeargs=(
+ -DPOCO_UNBUNDLED=ON
+ -DENABLE_APACHECONNECTOR=OFF
+ -DENABLE_ACTIVERECORD="$(usex activerecord)"
+ -DENABLE_ACTIVERECORD_COMPILER="$(usex activerecord)"
+ -DENABLE_CPPPARSER="$(usex cppparser)"
+ -DENABLE_CRYPTO="$(usex ssl)"
+ -DENABLE_DATA="$(usex data)"
+ -DENABLE_DATA_MYSQL="$(usex mysql)"
+ -DENABLE_DATA_ODBC="$(usex odbc)"
+ -DENABLE_DATA_SQLITE="$(usex sqlite)"
+ -DENABLE_DATA_POSTGRESQL=OFF
+ -DENABLE_JSON="$(usex util)"
+ -DENABLE_MONGODB="$(usex mongodb)"
+ -DENABLE_NET="$(usex net)"
+ -DENABLE_NETSSL="$(usex ssl)"
+ -DENABLE_NETSSL_WIN=OFF
+ -DENABLE_PAGECOMPILER="$(usex pagecompiler)"
+ -DENABLE_PAGECOMPILER_FILE2PAGE="$(usex file2pagecompiler)"
+ -DENABLE_PDF="$(usex pdf)"
+ -DENABLE_POCODOC="$(usex pocodoc)"
+ -DENABLE_SEVENZIP="$(usex 7z)"
+ -DENABLE_TESTS="$(usex test)"
+ -DENABLE_UTIL="$(usex util)"
+ -DENABLE_XML="$(usex xml)"
+ -DENABLE_ZIP="$(usex zip)"
+ )
+
+ cmake_src_configure
+}
+
+src_test() {
+ POCO_BASE="${S}" cmake_src_test
+}
+
+src_install() {
+ cmake_src_install
+
+ if use examples ; then
+ for sd in */samples ; do
+ docinto examples/${sd%/samples}
+ dodoc -r ${sd}
+ done
+
+ find "${D}/usr/share/doc/${PF}/examples" \
+ -iname "*.sln" -or -iname "*.vcproj" -or \
+ -iname "*.vmsbuild" -or -iname "*.properties" \
+ | xargs rm -v || die
+ fi
+}
diff --git a/dev-libs/poco/poco-1.12.2-r2.ebuild b/dev-libs/poco/poco-1.12.2-r2.ebuild
new file mode 100644
index 000000000000..61de015e64b6
--- /dev/null
+++ b/dev-libs/poco/poco-1.12.2-r2.ebuild
@@ -0,0 +1,140 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+DESCRIPTION="C++ libraries for building network-based applications"
+HOMEPAGE="https://pocoproject.org/"
+SRC_URI="https://github.com/pocoproject/${PN}/archive/${P}-release.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/${PN}-${P}-release"
+
+LICENSE="Boost-1.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86"
+IUSE="7z activerecord cppparser +data examples +file2pagecompiler iodbc +json jwt mariadb +mongodb mysql +net odbc +pagecompiler pdf pocodoc postgres prometheus sqlite +ssl test +util +xml +zip"
+RESTRICT="!test? ( test )"
+REQUIRED_USE="
+ 7z? ( xml )
+ file2pagecompiler? ( pagecompiler )
+ iodbc? ( odbc )
+ jwt? ( json ssl )
+ mongodb? ( data )
+ mysql? ( data )
+ odbc? ( data )
+ postgres? ( data )
+ pagecompiler? ( json net util xml )
+ pocodoc? ( cppparser util xml )
+ sqlite? ( data )
+ ssl? ( util )
+ test? ( data? ( sqlite ) json util xml )
+"
+
+BDEPEND="virtual/pkgconfig"
+RDEPEND="
+ >=dev-libs/libpcre2-10.40
+ activerecord? ( !app-arch/arc )
+ mysql? ( dev-db/mysql-connector-c:0= )
+ mariadb? ( dev-db/mariadb-connector-c:0= )
+ postgres? ( dev-db/postgresql:= )
+ odbc? (
+ iodbc? ( dev-db/libiodbc )
+ !iodbc? ( dev-db/unixODBC )
+ )
+ sqlite? ( dev-db/sqlite:3 )
+ ssl? (
+ dev-libs/openssl:0=
+ )
+ xml? ( dev-libs/expat )
+ zip? ( sys-libs/zlib:= )
+"
+DEPEND="${RDEPEND}"
+
+PATCHES=( "${FILESDIR}/${PN}-1.10.1-iodbc-incdir.patch" )
+
+src_prepare() {
+ cmake_src_prepare
+
+ if use test ; then
+ # ignore missing tests on experimental library
+ # and tests requiring running DB-servers, internet connections, etc.
+ sed -i -e '/testsuite/d' \
+ {Data/{MySQL,ODBC},MongoDB,Net,NetSSL_OpenSSL,PDF,Redis}/CMakeLists.txt || die
+ # Poco expands ~ using passwd, which does not match $HOME in the build environment
+ sed -i -e '/CppUnit_addTest.*testExpand/d' \
+ Foundation/testsuite/src/PathTest.cpp || die
+ # ignore failing Crypto test since upstream does not seem to care,
+ # see https://github.com/pocoproject/poco/issues/1209
+ sed -i -e '/RSATest, testRSACipherLarge/d' \
+ Crypto/testsuite/src/RSATest.cpp || die
+ fi
+
+ # Fix MariaDB and MySQL detection
+ sed -i -e 's~/usr/include/mysql~~' \
+ -e 's/mysqlclient_r/mysqlclient/' \
+ -e 's/STATUS "Couldn/FATAL_ERROR "Couldn/' \
+ cmake/FindMySQL.cmake || die
+
+ # Add missing directory that breaks the build
+ mkdir -p Encodings/testsuite/data || die
+
+ if ! use iodbc ; then
+ sed -i -e 's|iodbc||' cmake/FindODBC.cmake || die
+ fi
+}
+
+src_configure() {
+ # apache support is dead and buggy, https://github.com/pocoproject/poco/issues/1764
+ local mycmakeargs=(
+ -DPOCO_UNBUNDLED=ON
+ -DENABLE_APACHECONNECTOR=OFF
+ -DENABLE_ACTIVERECORD="$(usex activerecord)"
+ -DENABLE_ACTIVERECORD_COMPILER="$(usex activerecord)"
+ -DENABLE_CPPPARSER="$(usex cppparser)"
+ -DENABLE_CRYPTO="$(usex ssl)"
+ -DENABLE_DATA="$(usex data)"
+ -DENABLE_DATA_MYSQL="$(usex mysql)"
+ -DENABLE_DATA_ODBC="$(usex odbc)"
+ -DENABLE_DATA_POSTGRESQL="$(usex postgres)"
+ -DENABLE_DATA_SQLITE="$(usex sqlite)"
+ -DENABLE_JSON="$(usex util)"
+ -DENABLE_JWT="$(usex jwt)"
+ -DENABLE_MONGODB="$(usex mongodb)"
+ -DENABLE_NET="$(usex net)"
+ -DENABLE_NETSSL="$(usex ssl)"
+ -DENABLE_NETSSL_WIN=OFF
+ -DENABLE_PAGECOMPILER="$(usex pagecompiler)"
+ -DENABLE_PAGECOMPILER_FILE2PAGE="$(usex file2pagecompiler)"
+ -DENABLE_PDF="$(usex pdf)"
+ -DENABLE_POCODOC="$(usex pocodoc)"
+ -DENABLE_PROMETHEUS="$(usex prometheus)"
+ -DENABLE_SEVENZIP="$(usex 7z)"
+ -DENABLE_TESTS="$(usex test)"
+ -DENABLE_UTIL="$(usex util)"
+ -DENABLE_XML="$(usex xml)"
+ -DENABLE_ZIP="$(usex zip)"
+ )
+
+ cmake_src_configure
+}
+
+src_test() {
+ POCO_BASE="${S}" cmake_src_test -E DataPostgreSQL
+}
+
+src_install() {
+ cmake_src_install
+
+ if use examples ; then
+ for sd in */samples ; do
+ docinto examples/${sd%/samples}
+ dodoc -r ${sd}
+ done
+
+ find "${D}/usr/share/doc/${PF}/examples" \
+ -iname "*.sln" -or -iname "*.vcproj" -or \
+ -iname "*.vmsbuild" -or -iname "*.properties" \
+ | xargs rm -v || die
+ fi
+}
diff --git a/dev-libs/poco/poco-1.12.4.ebuild b/dev-libs/poco/poco-1.12.4.ebuild
new file mode 100644
index 000000000000..53b41bdf2c35
--- /dev/null
+++ b/dev-libs/poco/poco-1.12.4.ebuild
@@ -0,0 +1,146 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+DESCRIPTION="C++ libraries for building network-based applications"
+HOMEPAGE="https://pocoproject.org/"
+SRC_URI="https://github.com/pocoproject/${PN}/archive/${P}-release.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/${PN}-${P}-release"
+
+LICENSE="Boost-1.0"
+# SHARED_LIBRARY_VERSION -> "${S}"/libversion
+SLOT="0/94"
+KEYWORDS="amd64 arm arm64 ppc64 x86"
+IUSE="7z activerecord cppparser +data examples +file2pagecompiler iodbc +json jwt mariadb +mongodb mysql +net odbc +pagecompiler pdf pocodoc postgres prometheus sqlite +ssl test +util +xml +zip"
+RESTRICT="!test? ( test )"
+REQUIRED_USE="
+ activerecord? ( util xml )
+ 7z? ( xml )
+ file2pagecompiler? ( pagecompiler )
+ iodbc? ( odbc )
+ jwt? ( json ssl )
+ mongodb? ( data )
+ mysql? ( data )
+ odbc? ( data )
+ postgres? ( data )
+ pagecompiler? ( json net util xml )
+ pocodoc? ( cppparser util xml )
+ sqlite? ( data )
+ ssl? ( util )
+ test? ( data? ( sqlite ) json util xml )
+"
+
+BDEPEND="virtual/pkgconfig"
+RDEPEND="
+ >=dev-libs/libpcre2-10.40
+ activerecord? ( !app-arch/arc )
+ mysql? ( dev-db/mysql-connector-c:= )
+ mariadb? ( dev-db/mariadb-connector-c:= )
+ postgres? ( dev-db/postgresql:= )
+ odbc? (
+ iodbc? ( dev-db/libiodbc )
+ !iodbc? ( dev-db/unixODBC )
+ )
+ sqlite? ( dev-db/sqlite:3 )
+ ssl? (
+ dev-libs/openssl:=
+ )
+ xml? ( dev-libs/expat )
+ zip? ( sys-libs/zlib:= )
+"
+DEPEND="${RDEPEND}"
+
+PATCHES=( "${FILESDIR}/${PN}-1.10.1-iodbc-incdir.patch" )
+
+src_prepare() {
+ cmake_src_prepare
+
+ if [[ ${SLOT} != 0/$(< "${S}"/libversion) ]] ; then
+ die "Please update subslot in ebuild to the version in ${S}/libversion!"
+ fi
+
+ if use test ; then
+ # ignore missing tests on experimental library
+ # and tests requiring running DB-servers, internet connections, etc.
+ sed -i -e '/testsuite/d' \
+ {Data/{MySQL,ODBC},MongoDB,Net,NetSSL_OpenSSL,PDF,Redis}/CMakeLists.txt || die
+ # Poco expands ~ using passwd, which does not match $HOME in the build environment
+ sed -i -e '/CppUnit_addTest.*testExpand/d' \
+ Foundation/testsuite/src/PathTest.cpp || die
+ # ignore failing Crypto test since upstream does not seem to care,
+ # see https://github.com/pocoproject/poco/issues/1209
+ sed -i -e '/RSATest, testRSACipherLarge/d' \
+ Crypto/testsuite/src/RSATest.cpp || die
+ fi
+
+ # Fix MariaDB and MySQL detection
+ sed -i -e 's~/usr/include/mysql~~' \
+ -e 's/mysqlclient_r/mysqlclient/' \
+ -e 's/STATUS "Couldn/FATAL_ERROR "Couldn/' \
+ cmake/FindMySQL.cmake || die
+
+ # Add missing directory that breaks the build
+ mkdir -p Encodings/testsuite/data || die
+
+ if ! use iodbc ; then
+ sed -i -e 's|iodbc||' cmake/FindODBC.cmake || die
+ fi
+}
+
+src_configure() {
+ # apache support is dead and buggy, https://github.com/pocoproject/poco/issues/1764
+ local mycmakeargs=(
+ -DPOCO_UNBUNDLED=ON
+ -DENABLE_APACHECONNECTOR=OFF
+ -DENABLE_ACTIVERECORD="$(usex activerecord)"
+ -DENABLE_ACTIVERECORD_COMPILER="$(usex activerecord)"
+ -DENABLE_CPPPARSER="$(usex cppparser)"
+ -DENABLE_CRYPTO="$(usex ssl)"
+ -DENABLE_DATA="$(usex data)"
+ -DENABLE_DATA_MYSQL="$(usex mysql)"
+ -DENABLE_DATA_ODBC="$(usex odbc)"
+ -DENABLE_DATA_POSTGRESQL="$(usex postgres)"
+ -DENABLE_DATA_SQLITE="$(usex sqlite)"
+ -DENABLE_JSON="$(usex util)"
+ -DENABLE_JWT="$(usex jwt)"
+ -DENABLE_MONGODB="$(usex mongodb)"
+ -DENABLE_NET="$(usex net)"
+ -DENABLE_NETSSL="$(usex ssl)"
+ -DENABLE_NETSSL_WIN=OFF
+ -DENABLE_PAGECOMPILER="$(usex pagecompiler)"
+ -DENABLE_PAGECOMPILER_FILE2PAGE="$(usex file2pagecompiler)"
+ -DENABLE_PDF="$(usex pdf)"
+ -DENABLE_POCODOC="$(usex pocodoc)"
+ -DENABLE_PROMETHEUS="$(usex prometheus)"
+ -DENABLE_SEVENZIP="$(usex 7z)"
+ -DENABLE_TESTS="$(usex test)"
+ -DENABLE_UTIL="$(usex util)"
+ -DENABLE_XML="$(usex xml)"
+ -DENABLE_ZIP="$(usex zip)"
+ )
+
+ cmake_src_configure
+}
+
+src_test() {
+ POCO_BASE="${S}" cmake_src_test -E DataPostgreSQL
+}
+
+src_install() {
+ cmake_src_install
+
+ if use examples ; then
+ for sd in */samples ; do
+ docinto examples/${sd%/samples}
+ dodoc -r ${sd}
+ done
+
+ find "${D}/usr/share/doc/${PF}/examples" \
+ -iname "*.sln" -or -iname "*.vcproj" -or \
+ -iname "*.vmsbuild" -or -iname "*.properties" \
+ | xargs rm -v || die
+ fi
+}
diff --git a/dev-libs/poco/poco-1.9.0-r2.ebuild b/dev-libs/poco/poco-1.9.0-r2.ebuild
deleted file mode 100644
index 6e68ea76db7e..000000000000
--- a/dev-libs/poco/poco-1.9.0-r2.ebuild
+++ /dev/null
@@ -1,137 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit cmake
-
-DESCRIPTION="C++ libraries for building network-based applications"
-HOMEPAGE="https://pocoproject.org/"
-SRC_URI="https://github.com/pocoproject/${PN}/archive/${P}-release.tar.gz -> ${P}.tar.gz"
-LICENSE="Boost-1.0"
-SLOT="0"
-KEYWORDS="amd64 arm x86"
-
-IUSE="7z cppparser +crypto +data examples +file2pagecompiler iodbc +json mariadb +mongodb mysql +net odbc +pagecompiler pdf pocodoc sqlite +ssl test +util +xml +zip"
-RESTRICT="!test? ( test )"
-REQUIRED_USE="
- 7z? ( xml )
- file2pagecompiler? ( pagecompiler )
- iodbc? ( odbc )
- mongodb? ( data )
- mysql? ( data )
- odbc? ( data )
- pagecompiler? ( json net util xml )
- pocodoc? ( cppparser util xml )
- sqlite? ( data )
- ssl? ( util )
- test? ( data? ( sqlite ) json util xml )
-"
-
-BDEPEND="
- virtual/pkgconfig
-"
-RDEPEND="
- >=dev-libs/libpcre-8.42
- mysql? ( !mariadb? ( dev-db/mysql-connector-c:0= )
- mariadb? ( dev-db/mariadb-connector-c:0= ) )
- odbc? ( iodbc? ( dev-db/libiodbc )
- !iodbc? ( dev-db/unixODBC ) )
- sqlite? ( dev-db/sqlite:3 )
- ssl? (
- dev-libs/openssl:0=
- )
- xml? ( dev-libs/expat )
- zip? ( sys-libs/zlib )
-"
-DEPEND="${RDEPEND}"
-
-S="${WORKDIR}/${PN}-${P}-release"
-
-PATCHES=( "${FILESDIR}/${PN}-1.7.2-iodbc-incdir.patch" )
-
-src_prepare() {
- cmake_src_prepare
-
- if use test ; then
- # ignore missing tests on experimental library
- # and tests requiring running DB-servers, internet connections, etc.
- sed -i -e '/testsuite/d' \
- {Data/{MySQL,ODBC},MongoDB,Net,NetSSL_OpenSSL,PDF,Redis}/CMakeLists.txt || die
- # Poco expands ~ using passwd, which does not match $HOME in the build environment
- sed -i -e '/CppUnit_addTest.*testExpand/d' \
- Foundation/testsuite/src/PathTest.cpp || die
- # ignore failing Crypto test since upstream does not seem to care,
- # see https://github.com/pocoproject/poco/issues/1209
- sed -i -e '/RSATest, testRSACipherLarge/d' \
- Crypto/testsuite/src/RSATest.cpp || die
- fi
-
- if use mariadb ; then
- # Fix MariaDB detection
- sed -i -e 's~/usr/include/mysql~~' \
- -e 's/STATUS "Couldn/FATAL_ERROR "Couldn/' \
- cmake/FindMySQL.cmake || die
- else
- # Fix MySQL detection
- sed -i -e 's/mysqlclient_r/mysqlclient/' \
- -e 's/STATUS "Couldn/FATAL_ERROR "Couldn/' \
- cmake/FindMySQL.cmake || die
- fi
-
- # Add missing directory that breaks the build
- mkdir -p Encodings/testsuite/data || die
-
- if ! use iodbc ; then
- sed -i -e 's|iodbc||' cmake/FindODBC.cmake || die
- fi
-}
-
-src_configure() {
- # apache support is dead and buggy, https://github.com/pocoproject/poco/issues/1764
- local mycmakeargs=(
- -DPOCO_UNBUNDLED=ON
- -DENABLE_APACHECONNECTOR=OFF
- -DENABLE_CPPPARSER="$(usex cppparser)"
- -DENABLE_CRYPTO="$(usex ssl)"
- -DENABLE_DATA="$(usex data)"
- -DENABLE_DATA_MYSQL="$(usex mysql)"
- -DENABLE_DATA_ODBC="$(usex odbc)"
- -DENABLE_DATA_SQLITE="$(usex sqlite)"
- -DENABLE_JSON="$(usex util)"
- -DENABLE_MONGODB="$(usex mongodb)"
- -DENABLE_NET="$(usex net)"
- -DENABLE_NETSSL="$(usex ssl)"
- -DENABLE_NETSSL_WIN=OFF
- -DENABLE_PAGECOMPILER="$(usex pagecompiler)"
- -DENABLE_PAGECOMPILER_FILE2PAGE="$(usex file2pagecompiler)"
- -DENABLE_PDF="$(usex pdf)"
- -DENABLE_POCODOC="$(usex pocodoc)"
- -DENABLE_SEVENZIP="$(usex 7z)"
- -DENABLE_TESTS="$(usex test)"
- -DENABLE_UTIL="$(usex util)"
- -DENABLE_XML="$(usex xml)"
- -DENABLE_ZIP="$(usex zip)"
- )
-
- cmake_src_configure
-}
-
-src_test() {
- POCO_BASE="${S}" cmake_src_test
-}
-
-src_install() {
- cmake_src_install
-
- if use examples ; then
- for sd in */samples ; do
- insinto /usr/share/doc/${PF}/examples/${sd%/samples}
- doins -r ${sd}
- done
- find "${D}/usr/share/doc/${PF}/examples" \
- -iname "*.sln" -or -iname "*.vcproj" -or \
- -iname "*.vmsbuild" -or -iname "*.properties" \
- | xargs rm
- fi
-}
diff --git a/dev-libs/popt/Manifest b/dev-libs/popt/Manifest
index 650e16e68029..e4cb7e35fb1f 100644
--- a/dev-libs/popt/Manifest
+++ b/dev-libs/popt/Manifest
@@ -1 +1 @@
-DIST popt-1.18.tar.gz 580569 BLAKE2B c9c42eb12aa21764cde5e9b4a8b30125b547ae690b4d9d0d40b45bd3c1f7ae0b09d5086a588cf37e7bed71fe770ff840c0fd40ecf4ce5b7c1e874b938b6e0324 SHA512 86422e8762adda3d02d46c20ac74ffe389d4f991d552b6fea729f007345b6426cbeb71160284e2deaa2ce44ce754a9e6cf6ccbd64bff9bc2253df40cdc2f79a5
+DIST popt-1.19.tar.gz 596676 BLAKE2B 8f8965e2d339f0413e8d1da421ea7556526f39f089a822063d6fdc35b781a7c7ea84a91d6af3e25902c1f045f564ef956fc69cd4625e6cc008c9e3ca34923a9d SHA512 5d1b6a15337e4cd5991817c1957f97fc4ed98659870017c08f26f754e34add31d639d55ee77ca31f29bb631c0b53368c1893bd96cf76422d257f7997a11f6466
diff --git a/dev-libs/popt/metadata.xml b/dev-libs/popt/metadata.xml
index d9361572be9c..5bbdd7a2e5cc 100644
--- a/dev-libs/popt/metadata.xml
+++ b/dev-libs/popt/metadata.xml
@@ -1,11 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="project">
- <email>base-system@gentoo.org</email>
- <name>Gentoo Base System</name>
- </maintainer>
-<upstream>
- <remote-id type="cpe">cpe:/a:popt_project:popt</remote-id>
-</upstream>
+ <maintainer type="project">
+ <email>base-system@gentoo.org</email>
+ <name>Gentoo Base System</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="cpe">cpe:/a:popt_project:popt</remote-id>
+ <remote-id type="github">rpm-software-management/popt</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/dev-libs/popt/popt-1.18.ebuild b/dev-libs/popt/popt-1.18.ebuild
deleted file mode 100644
index 296a95e62b02..000000000000
--- a/dev-libs/popt/popt-1.18.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
-
-inherit multilib-minimal libtool
-
-DESCRIPTION="Parse Options - Command line parser"
-HOMEPAGE="https://github.com/rpm-software-management/popt"
-SRC_URI="http://ftp.rpm.org/${PN}/releases/${PN}-1.x/${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-IUSE="nls static-libs"
-
-RDEPEND="nls? ( >=virtual/libintl-0-r1[${MULTILIB_USEDEP}] )"
-DEPEND="${RDEPEND}"
-BDEPEND="nls? ( sys-devel/gettext )"
-
-src_prepare() {
- default
- sed -i -e 's:lt-test1:test1:' tests/testit.sh || die
- elibtoolize
-}
-
-multilib_src_configure() {
- local myeconfargs=(
- $(use_enable static-libs static)
- $(use_enable nls)
- )
- ECONF_SOURCE="${S}" econf "${myeconfargs[@]}"
-}
-
-multilib_src_install_all() {
- dodoc CHANGES README
- find "${ED}" -type f -name "*.la" -delete || die
-}
diff --git a/dev-libs/popt/popt-1.19-r1.ebuild b/dev-libs/popt/popt-1.19-r1.ebuild
new file mode 100644
index 000000000000..78234070ac50
--- /dev/null
+++ b/dev-libs/popt/popt-1.19-r1.ebuild
@@ -0,0 +1,47 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit flag-o-matic multilib-minimal libtool
+
+DESCRIPTION="Parse Options - Command line parser"
+HOMEPAGE="https://github.com/rpm-software-management/popt"
+SRC_URI="http://ftp.rpm.org/${PN}/releases/${PN}-1.x/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+IUSE="nls static-libs"
+
+RDEPEND="nls? ( >=virtual/libintl-0-r1[${MULTILIB_USEDEP}] )"
+DEPEND="${RDEPEND}"
+BDEPEND="nls? ( >=sys-devel/gettext-0.19.8 )"
+
+src_prepare() {
+ default
+
+ # Unclear what the background to this is, perhaps
+ # https://gitlab.exherbo.org/exherbo/arbor/-/commit/5545d22d3493279acf7a55246179f818ef22f5fa
+ sed -i -e 's:lt-test1:test1:' tests/testit.sh || die
+
+ elibtoolize
+}
+
+multilib_src_configure() {
+ append-ldflags $(test-flags-CCLD -Wl,--undefined-version)
+
+ local myeconfargs=(
+ --disable-werror
+ $(use_enable static-libs static)
+ $(use_enable nls)
+ )
+
+ ECONF_SOURCE="${S}" econf "${myeconfargs[@]}"
+}
+
+multilib_src_install_all() {
+ einstalldocs
+
+ find "${ED}" -type f -name "*.la" -delete || die
+}
diff --git a/dev-libs/ppl/ppl-1.2-r4.ebuild b/dev-libs/ppl/ppl-1.2-r4.ebuild
deleted file mode 100644
index dd41b374a8a8..000000000000
--- a/dev-libs/ppl/ppl-1.2-r4.ebuild
+++ /dev/null
@@ -1,69 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit autotools
-
-DESCRIPTION="The Parma Polyhedra Library for numerical analysis of complex systems"
-HOMEPAGE="http://bugseng.com/products/ppl"
-SRC_URI="http://bugseng.com/products/ppl/download/ftp/releases/${PV}/${P}.tar.xz
- https://dev.gentoo.org/~juippis/distfiles/tmp/ppl-1.2-r3-disable-boeing-tests.patch"
-
-LICENSE="GPL-3"
-SLOT="0/4.14" # SONAMEs
-KEYWORDS="~alpha amd64 arm ~arm64 ~hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~sparc-solaris"
-IUSE="cdd +cxx doc lpsol pch static-libs test"
-
-RDEPEND=">=dev-libs/gmp-6[cxx(+)]
- lpsol? ( sci-mathematics/glpk )"
-DEPEND="${RDEPEND}
- app-arch/xz-utils
- sys-devel/m4"
-
-RESTRICT="!test? ( test )"
-
-PATCHES=(
- "${FILESDIR}/disable-mipproblem2.patch"
- "${FILESDIR}/disable-containsintegerpoint1.patch"
- "${DISTDIR}/ppl-1.2-r3-disable-boeing-tests.patch"
- "${FILESDIR}/fix-clang-build.patch"
-)
-
-src_prepare() {
- default
-
- # The patch should do this, but then the diff makes it run
- # afoul of the Gentoo patch size limit.
- rm demos/ppl_lpsol/examples/boeing[12].mps || die
-
- eautoreconf
-}
-
-src_configure() {
- local interfaces=( c )
- use cxx && interfaces+=( cxx )
- econf \
- --disable-debugging \
- --disable-optimization \
- $(use_enable doc documentation) \
- $(use_enable cdd ppl_lcdd) \
- $(use_enable lpsol ppl_lpsol) \
- $(use_enable pch) \
- $(use_enable static-libs static) \
- --enable-interfaces="${interfaces[*]}" \
- $(use test && echo --enable-check=quick)
-}
-
-src_install() {
- default
- if ! use static-libs; then
- find "${ED}"/usr -name 'libppl*.la' -delete || die
- fi
-
- pushd "${ED}/usr/share/doc/${PF}" >/dev/null || die
- rm gpl* fdl* || die
- if ! use doc ; then
- rm -r *-html/ *.ps.gz *.pdf || die
- fi
-}
diff --git a/dev-libs/ppl/ppl-1.2-r5.ebuild b/dev-libs/ppl/ppl-1.2-r5.ebuild
new file mode 100644
index 000000000000..70d986e738f2
--- /dev/null
+++ b/dev-libs/ppl/ppl-1.2-r5.ebuild
@@ -0,0 +1,72 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools flag-o-matic
+
+DESCRIPTION="The Parma Polyhedra Library for numerical analysis of complex systems"
+HOMEPAGE="http://bugseng.com/products/ppl"
+SRC_URI="http://bugseng.com/products/ppl/download/ftp/releases/${PV}/${P}.tar.xz
+ https://dev.gentoo.org/~juippis/distfiles/tmp/${P}-r3-disable-boeing-tests.patch"
+
+LICENSE="GPL-3"
+SLOT="0/4.14" # SONAMEs
+KEYWORDS="~alpha amd64 arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux"
+IUSE="cdd +cxx doc lpsol pch test"
+
+RDEPEND=">=dev-libs/gmp-6[cxx(+)]
+ lpsol? ( sci-mathematics/glpk )"
+DEPEND="${RDEPEND}
+ app-arch/xz-utils
+ sys-devel/m4"
+
+RESTRICT="!test? ( test )"
+
+PATCHES=(
+ "${FILESDIR}/disable-mipproblem2.patch"
+ "${FILESDIR}/disable-containsintegerpoint1.patch"
+ "${DISTDIR}/ppl-1.2-r3-disable-boeing-tests.patch"
+ "${FILESDIR}/fix-clang-build.patch"
+)
+
+src_prepare() {
+ default
+
+ # The patch should do this, but then the diff makes it run
+ # afoul of the Gentoo patch size limit.
+ rm demos/ppl_lpsol/examples/boeing[12].mps || die
+
+ eautoreconf
+}
+
+src_configure() {
+ # mem_fun_ref and friends were removed in c++17, and some toolchains
+ # are beginning to default to that (bug 919850).
+ append-cxxflags -std=c++14
+
+ local interfaces=( c )
+ use cxx && interfaces+=( cxx )
+ econf \
+ --disable-debugging \
+ --disable-optimization \
+ $(use_enable doc documentation) \
+ $(use_enable cdd ppl_lcdd) \
+ $(use_enable lpsol ppl_lpsol) \
+ $(use_enable pch) \
+ --enable-interfaces="${interfaces[*]}" \
+ $(use test && echo --enable-check=quick)
+}
+
+src_install() {
+ default
+ find "${ED}" -type f -name '*.la' -delete || die
+
+ pushd "${ED}/usr/share/doc/${PF}" >/dev/null || die
+ rm gpl* fdl* || die # Redundant license texts
+ rm *.ps.gz || die # Each ps.gz has a pdf counterpart
+
+ if ! use doc ; then
+ rm -r *-html/ *.pdf || die
+ fi
+}
diff --git a/dev-libs/processor-trace/Manifest b/dev-libs/processor-trace/Manifest
deleted file mode 100644
index c415a7da387f..000000000000
--- a/dev-libs/processor-trace/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST processor-trace-2.0.tar.gz 338965 BLAKE2B cc536139ab0e6f7e0d4a99e906a32e9636e55444e4c5fc37fb18a0df538bb5f6ae4c0cf4bc207afab6d0490a2fa7678fc8a0696dd1b16055869d6fdbd73618db SHA512 ec63151e842c81cc73ea11ba560b63e005cefbe19d98de24ae5c8caa4de7c9c1d71d1ec5b6214a347592eac675b75a3d2b26d4691ca86f91020ebfea8e912939
diff --git a/dev-libs/processor-trace/metadata.xml b/dev-libs/processor-trace/metadata.xml
deleted file mode 100644
index 1685549b1d9f..000000000000
--- a/dev-libs/processor-trace/metadata.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="person" proxied="yes">
- <email>jollheef@riseup.net</email>
- <name>Mikhail Klementev</name>
- </maintainer>
- <maintainer type="project" proxied="proxy">
- <email>proxy-maint@gentoo.org</email>
- <name>Proxy Maintainers</name>
- </maintainer>
-</pkgmetadata>
diff --git a/dev-libs/processor-trace/processor-trace-2.0.ebuild b/dev-libs/processor-trace/processor-trace-2.0.ebuild
deleted file mode 100644
index 9d3e61966693..000000000000
--- a/dev-libs/processor-trace/processor-trace-2.0.ebuild
+++ /dev/null
@@ -1,27 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit cmake-utils
-
-DESCRIPTION="Intel(R) Processor Trace decoder library"
-HOMEPAGE="https://github.com/01org/processor-trace"
-SRC_URI="https://github.com/01org/processor-trace/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0/2"
-KEYWORDS="-* ~amd64"
-IUSE="doc test"
-RESTRICT="!test? ( test )"
-
-DEPEND="doc? ( app-text/pandoc )"
-
-src_configure() {
- local mycmakeargs=(
- -DMAN=$(usex doc)
- -DPTUNIT=$(usex test)
- )
-
- cmake-utils_src_configure
-}
diff --git a/dev-libs/protobuf-c/Manifest b/dev-libs/protobuf-c/Manifest
index 35674fb99b24..9e824fc64956 100644
--- a/dev-libs/protobuf-c/Manifest
+++ b/dev-libs/protobuf-c/Manifest
@@ -1,2 +1 @@
-DIST protobuf-c-1.3.3.tar.gz 500505 BLAKE2B 6f00eac847f5287cdea5afaea5be05d660eda10b30a14bbab89331ef134f93b8a77d3f6546cab246447494b0283b32218f794c56a7d081906c49668631b14505 SHA512 85308348929487e3a89158c6078dab39cee0b39a0611a4d5ba73d20520e41d96915e42a0d6060ebd3eb7d922c82444f5ca000ea4f8791b37734485cbb7e283b1
-DIST protobuf-c-1.4.0.tar.gz 505251 BLAKE2B 5f53238c064f82de87012eb739bf6a44c202d0dbf2fc5af394accdc52a9934d1fb9cea2bb4a4d529fdf98959546aaa672c1c991a9a7016803d16f65accc907cd SHA512 6a2e5031b85b5986e863661437dea002eba217257a50a27db88d29fa1a3db1014ed6ec7c21d89df700d181b18e169d1037146cb6475c10cd5a068a91e522e3c3
+DIST protobuf-c-1.4.1.tar.gz 513596 BLAKE2B b5e87a3154863581b81790a26b6b522c2b3ad138e966053f20c6264b4a7677d6c5bff8e27faa7c6cfa9e982b72b06e2f518a3def9f6db13241c3cb3ee9afc8f6 SHA512 190a4aa5c607853e6bf860b0974deb21e4f7f6209e810251eaca9612b59ea676779b0ca217fb1572914ffb8de3315a7d24f162b14d447ee671a9adc5b1271e41
diff --git a/dev-libs/protobuf-c/files/protobuf-c-1.4.1-protobuf-22.patch b/dev-libs/protobuf-c/files/protobuf-c-1.4.1-protobuf-22.patch
new file mode 100644
index 000000000000..5e53899aee3d
--- /dev/null
+++ b/dev-libs/protobuf-c/files/protobuf-c-1.4.1-protobuf-22.patch
@@ -0,0 +1,501 @@
+https://bugs.gentoo.org/912775
+https://github.com/protobuf-c/protobuf-c/issues/679
+https://github.com/protobuf-c/protobuf-c/issues/544
+https://github.com/protobuf-c/protobuf-c/pull/673
+
+From ad48868dfe77592c4bacf936ade208f384a26b09 Mon Sep 17 00:00:00 2001
+From: Robert Edmonds <edmonds@users.noreply.github.com>
+Date: Sun, 2 Jul 2023 17:48:18 -0400
+Subject: [PATCH 1/7] protoc-c: Remove GOOGLE_DISALLOW_EVIL_CONSTRUCTORS macro
+ invocations
+
+protobuf has removed the definition of this macro as of commit
+1595417dd3859bbff7d3d61ad0b6e39044d47489, so the invocation of this
+macro in protobuf-c breaks the build when building agaist the protobuf
+22.x or 23.x series.
+
+Simply removing the macro invocations seems to be safe and doesn't break
+the build on Debian's protobuf 3.21.12 nor Debian's protobuf 3.6.1.3.
+---
+ protoc-c/c_bytes_field.h | 2 --
+ protoc-c/c_enum.h | 2 --
+ protoc-c/c_enum_field.h | 2 --
+ protoc-c/c_extension.h | 2 --
+ protoc-c/c_field.h | 5 -----
+ protoc-c/c_file.h | 2 --
+ protoc-c/c_generator.h | 3 ---
+ protoc-c/c_message.h | 2 --
+ protoc-c/c_message_field.h | 4 ----
+ protoc-c/c_primitive_field.h | 4 ----
+ protoc-c/c_service.h | 2 --
+ protoc-c/c_string_field.h | 2 --
+ 12 files changed, 32 deletions(-)
+
+diff --git a/protoc-c/c_bytes_field.h b/protoc-c/c_bytes_field.h
+index bf873f0f..df91ef73 100644
+--- a/protoc-c/c_bytes_field.h
++++ b/protoc-c/c_bytes_field.h
+@@ -87,8 +87,6 @@ class BytesFieldGenerator : public FieldGenerator {
+
+ private:
+ std::map<std::string, std::string> variables_;
+-
+- GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(BytesFieldGenerator);
+ };
+
+
+diff --git a/protoc-c/c_enum.h b/protoc-c/c_enum.h
+index 9c34b697..089c3366 100644
+--- a/protoc-c/c_enum.h
++++ b/protoc-c/c_enum.h
+@@ -106,8 +106,6 @@ class EnumGenerator {
+ private:
+ const EnumDescriptor* descriptor_;
+ std::string dllexport_decl_;
+-
+- GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(EnumGenerator);
+ };
+
+ } // namespace c
+diff --git a/protoc-c/c_enum_field.h b/protoc-c/c_enum_field.h
+index 3f8c005d..e0c96adf 100644
+--- a/protoc-c/c_enum_field.h
++++ b/protoc-c/c_enum_field.h
+@@ -85,8 +85,6 @@ class EnumFieldGenerator : public FieldGenerator {
+
+ private:
+ std::map<std::string, std::string> variables_;
+-
+- GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(EnumFieldGenerator);
+ };
+
+
+diff --git a/protoc-c/c_extension.h b/protoc-c/c_extension.h
+index 95413885..bda0bc55 100644
+--- a/protoc-c/c_extension.h
++++ b/protoc-c/c_extension.h
+@@ -98,8 +98,6 @@ class ExtensionGenerator {
+ const FieldDescriptor* descriptor_;
+ std::string type_traits_;
+ std::string dllexport_decl_;
+-
+- GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(ExtensionGenerator);
+ };
+
+ } // namespace c
+diff --git a/protoc-c/c_field.h b/protoc-c/c_field.h
+index 3cad35d3..623a872e 100644
+--- a/protoc-c/c_field.h
++++ b/protoc-c/c_field.h
+@@ -103,9 +103,6 @@ class FieldGenerator {
+ const std::string &type_macro,
+ const std::string &descriptor_addr) const;
+ const FieldDescriptor *descriptor_;
+-
+- private:
+- GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(FieldGenerator);
+ };
+
+ // Convenience class which constructs FieldGenerators for a Descriptor.
+@@ -121,8 +118,6 @@ class FieldGeneratorMap {
+ std::unique_ptr<std::unique_ptr<FieldGenerator>[]> field_generators_;
+
+ static FieldGenerator* MakeGenerator(const FieldDescriptor* field);
+-
+- GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(FieldGeneratorMap);
+ };
+
+ } // namespace c
+diff --git a/protoc-c/c_file.h b/protoc-c/c_file.h
+index 8dfd8ba0..db1866cd 100644
+--- a/protoc-c/c_file.h
++++ b/protoc-c/c_file.h
+@@ -103,8 +103,6 @@ class FileGenerator {
+ std::unique_ptr<std::unique_ptr<EnumGenerator>[]> enum_generators_;
+ std::unique_ptr<std::unique_ptr<ServiceGenerator>[]> service_generators_;
+ std::unique_ptr<std::unique_ptr<ExtensionGenerator>[]> extension_generators_;
+-
+- GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(FileGenerator);
+ };
+
+ } // namespace c
+diff --git a/protoc-c/c_generator.h b/protoc-c/c_generator.h
+index ac1ffafe..b8b44aaa 100644
+--- a/protoc-c/c_generator.h
++++ b/protoc-c/c_generator.h
+@@ -93,9 +93,6 @@ class PROTOC_C_EXPORT CGenerator : public CodeGenerator {
+ const std::string& parameter,
+ OutputDirectory* output_directory,
+ std::string* error) const;
+-
+- private:
+- GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(CGenerator);
+ };
+
+ } // namespace c
+diff --git a/protoc-c/c_message.h b/protoc-c/c_message.h
+index ea1c3ab3..0d8c6440 100644
+--- a/protoc-c/c_message.h
++++ b/protoc-c/c_message.h
+@@ -136,8 +136,6 @@ class MessageGenerator {
+ std::unique_ptr<std::unique_ptr<MessageGenerator>[]> nested_generators_;
+ std::unique_ptr<std::unique_ptr<EnumGenerator>[]> enum_generators_;
+ std::unique_ptr<std::unique_ptr<ExtensionGenerator>[]> extension_generators_;
+-
+- GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(MessageGenerator);
+ };
+
+ } // namespace c
+diff --git a/protoc-c/c_message_field.h b/protoc-c/c_message_field.h
+index 39b8d999..e485921a 100644
+--- a/protoc-c/c_message_field.h
++++ b/protoc-c/c_message_field.h
+@@ -82,10 +82,6 @@ class MessageFieldGenerator : public FieldGenerator {
+ void GenerateDescriptorInitializer(io::Printer* printer) const;
+ std::string GetDefaultValue(void) const;
+ void GenerateStaticInit(io::Printer* printer) const;
+-
+- private:
+-
+- GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(MessageFieldGenerator);
+ };
+
+
+diff --git a/protoc-c/c_primitive_field.h b/protoc-c/c_primitive_field.h
+index a9eb893b..aa7079f9 100644
+--- a/protoc-c/c_primitive_field.h
++++ b/protoc-c/c_primitive_field.h
+@@ -82,10 +82,6 @@ class PrimitiveFieldGenerator : public FieldGenerator {
+ void GenerateDescriptorInitializer(io::Printer* printer) const;
+ std::string GetDefaultValue(void) const;
+ void GenerateStaticInit(io::Printer* printer) const;
+-
+- private:
+-
+- GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(PrimitiveFieldGenerator);
+ };
+
+ } // namespace c
+diff --git a/protoc-c/c_service.h b/protoc-c/c_service.h
+index 27125a60..b51472f9 100644
+--- a/protoc-c/c_service.h
++++ b/protoc-c/c_service.h
+@@ -100,8 +100,6 @@ class ServiceGenerator {
+
+ const ServiceDescriptor* descriptor_;
+ std::map<std::string, std::string> vars_;
+-
+- GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(ServiceGenerator);
+ };
+
+ } // namespace c
+diff --git a/protoc-c/c_string_field.h b/protoc-c/c_string_field.h
+index 513cea75..b3a1a7ff 100644
+--- a/protoc-c/c_string_field.h
++++ b/protoc-c/c_string_field.h
+@@ -87,8 +87,6 @@ class StringFieldGenerator : public FieldGenerator {
+
+ private:
+ std::map<std::string, std::string> variables_;
+-
+- GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(StringFieldGenerator);
+ };
+
+
+
+From 7b90330bff40ab555bb3f0c5ee43ae208a275104 Mon Sep 17 00:00:00 2001
+From: Robert Edmonds <edmonds@users.noreply.github.com>
+Date: Sun, 2 Jul 2023 19:35:43 -0400
+Subject: [PATCH 2/7] Use GOOGLE_LOG(FATAL) instead of GOOGLE_LOG(DFATAL)
+
+Looking at where these identifiers are ultimately defined [0], it looks
+like "DFATAL" means either "ERROR" or "FATAL" depending on whether
+NDEBUG is defined. However, looking at the actual code sites in protoc-c
+where DFATAL is used, it's not clear why we couldn't just use FATAL
+unconditionally.
+
+This is aimed at supporting newer versions of protobuf where the DFATAL
+identifier apparently no longer exists.
+
+[0] https://github.com/protocolbuffers/protobuf/blob/v21.12/src/google/protobuf/stubs/logging.h#L61-L65
+---
+ protoc-c/c_message.cc | 4 ++--
+ protoc-c/c_primitive_field.cc | 2 +-
+ 2 files changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/protoc-c/c_message.cc b/protoc-c/c_message.cc
+index 37e8bf8b..af2974ca 100755
+--- a/protoc-c/c_message.cc
++++ b/protoc-c/c_message.cc
+@@ -499,7 +499,7 @@ GenerateMessageDescriptor(io::Printer* printer, bool gen_init) {
+ // NOTE: not supported by protobuf
+ vars["maybe_static"] = "";
+ vars["field_dv_ctype"] = "{ ... }";
+- GOOGLE_LOG(DFATAL) << "Messages can't have default values!";
++ GOOGLE_LOG(FATAL) << "Messages can't have default values!";
+ break;
+ case FieldDescriptor::CPPTYPE_STRING:
+ if (fd->type() == FieldDescriptor::TYPE_BYTES || opt.string_as_bytes())
+@@ -521,7 +521,7 @@ GenerateMessageDescriptor(io::Printer* printer, bool gen_init) {
+ break;
+ }
+ default:
+- GOOGLE_LOG(DFATAL) << "Unknown CPPTYPE";
++ GOOGLE_LOG(FATAL) << "Unknown CPPTYPE";
+ break;
+ }
+ if (!already_defined)
+diff --git a/protoc-c/c_primitive_field.cc b/protoc-c/c_primitive_field.cc
+index 6990893f..1727af38 100644
+--- a/protoc-c/c_primitive_field.cc
++++ b/protoc-c/c_primitive_field.cc
+@@ -143,7 +143,7 @@ std::string PrimitiveFieldGenerator::GetDefaultValue() const
+ case FieldDescriptor::CPPTYPE_BOOL:
+ return descriptor_->default_value_bool() ? "1" : "0";
+ default:
+- GOOGLE_LOG(DFATAL) << "unexpected CPPTYPE in c_primitive_field";
++ GOOGLE_LOG(FATAL) << "unexpected CPPTYPE in c_primitive_field";
+ return "UNEXPECTED_CPPTYPE";
+ }
+ }
+
+From 8d334a7204d98874cbf970cb96ab0c7b52e06695 Mon Sep 17 00:00:00 2001
+From: Robert Edmonds <edmonds@users.noreply.github.com>
+Date: Sun, 2 Jul 2023 19:42:19 -0400
+Subject: [PATCH 3/7] Work around GOOGLE_* changes in protobuf >= 22.0
+
+According to the protobuf migration guide as of June 2023 [0], protobuf
+22.0 (aka 4.22.0) took a dependency on something called "abseil" and as
+a result the "stubs" have been removed. This apparently caused all the
+uses of GOOGLE_* identifiers in protoc-c to fail when building against
+newer versions of protobuf.
+
+This commit introduces compatibility definitions when building against
+protobuf >= 4.22.0 so that protobuf-c can build against older and newer
+versions of protobuf.
+
+[0] https://web.archive.org/web/20230611151200/https://protobuf.dev/support/migration/#abseil
+---
+ protoc-c/c_helpers.h | 10 ++++++++++
+ 1 file changed, 10 insertions(+)
+
+diff --git a/protoc-c/c_helpers.h b/protoc-c/c_helpers.h
+index 7598a4e1..adc7ee21 100644
+--- a/protoc-c/c_helpers.h
++++ b/protoc-c/c_helpers.h
+@@ -178,6 +178,16 @@ inline int FieldSyntax(const FieldDescriptor* field) {
+ #endif
+ }
+
++// Work around changes in protobuf >= 22.x without breaking compilation against
++// older protobuf versions.
++#if GOOGLE_PROTOBUF_VERSION >= 4022000
++# define GOOGLE_ARRAYSIZE ABSL_ARRAYSIZE
++# define GOOGLE_CHECK_EQ ABSL_CHECK_EQ
++# define GOOGLE_CHECK_EQ ABSL_CHECK_EQ
++# define GOOGLE_DCHECK_GE ABSL_DCHECK_GE
++# define GOOGLE_LOG ABSL_LOG
++#endif
++
+ } // namespace c
+ } // namespace compiler
+ } // namespace protobuf
+
+From 23d2246e0f6ebfc69232ab29b6c6325d8009d1f7 Mon Sep 17 00:00:00 2001
+From: Robert Edmonds <edmonds@users.noreply.github.com>
+Date: Sun, 2 Jul 2023 19:48:17 -0400
+Subject: [PATCH 4/7] configure.ac: Require C++17 when building against
+ protobuf >= 4.22.0
+
+It's unclear from looking at the online protobuf documentation whether
+C++14 or C++17 is now required when building against newer versions of
+protobuf (or perhaps I'm looking in the wrong place), but experimentally
+it did not work for me with C++14.
+
+This commit rewrites the versioned PKG_CHECK_MODULES checks in
+configure.ac to enforce the following policies:
+
+ * Require protobuf >= 2.6.0.
+ * On protobuf >= 3.0.0, require C++11.
+ * On protobuf >= 4.22.0, require C++17.
+---
+ configure.ac | 26 ++++++++++++++++++++------
+ 1 file changed, 20 insertions(+), 6 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index 94d01dca..fa024b6a 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -76,12 +76,26 @@ AC_ARG_ENABLE([protoc],
+ if test "x$enable_protoc" != "xno"; then
+ AC_LANG_PUSH([C++])
+
+- AX_CXX_COMPILE_STDCXX(11, noext, mandatory)
+-
+- PKG_CHECK_MODULES([protobuf], [protobuf >= 3.0.0],
+- [proto3_supported=yes],
+- [PKG_CHECK_MODULES([protobuf], [protobuf >= 2.6.0])]
+- )
++ # PKG_CHECK_MODULES(prefix, list-of-modules, action-if-found, action-if-not-found)
++ PKG_CHECK_MODULES(
++ [protobuf],
++ [protobuf >= 4.22.0],
++ [
++ proto3_supported=yes
++ AX_CXX_COMPILE_STDCXX(17, noext, mandatory)
++ ],
++ [
++ PKG_CHECK_MODULES(
++ [protobuf],
++ [protobuf >= 3.0.0],
++ [
++ proto3_supported=yes
++ AX_CXX_COMPILE_STDCXX(11, noext, mandatory)
++ ],
++ [
++ PKG_CHECK_MODULES([protobuf], [protobuf >= 2.6.0])
++ ])
++ ])
+
+ save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="$save_CPPFLAGS $protobuf_CFLAGS"
+
+From 1937ba946b0a7a62c0f534e60f4d4799d7e0daed Mon Sep 17 00:00:00 2001
+From: Robert Edmonds <edmonds@users.noreply.github.com>
+Date: Sun, 2 Jul 2023 22:57:57 -0400
+Subject: [PATCH 5/7] protoc-c: Use FileDescriptorLegacy to obtain proto syntax
+ version on protobuf >= 23.0
+
+Use the newer "legacy" way of determining whether a file descriptor is
+using proto2 or proto3 syntax on protobuf >= 23.0.
+
+Based on
+https://github.com/protobuf-c/protobuf-c/pull/556/commits/66574f3fd85a205eb7c90b790477d5415364209e
+but continues to support older versions of protobuf.
+
+Unfortunately, since this is a "deprecated", "legacy" API it'll probably
+disappear in about five seconds.
+---
+ protoc-c/c_file.cc | 4 ++++
+ protoc-c/c_helpers.h | 8 ++++++++
+ 2 files changed, 12 insertions(+)
+
+diff --git a/protoc-c/c_file.cc b/protoc-c/c_file.cc
+index 59c1824e..d211a3da 100644
+--- a/protoc-c/c_file.cc
++++ b/protoc-c/c_file.cc
+@@ -119,7 +119,11 @@ void FileGenerator::GenerateHeader(io::Printer* printer) {
+
+ int min_header_version = 1000000;
+ #if defined(HAVE_PROTO3)
++# if GOOGLE_PROTOBUF_VERSION >= 4023000
++ if (FileDescriptorLegacy(file_).syntax() == FileDescriptorLegacy::SYNTAX_PROTO3) {
++# else
+ if (file_->syntax() == FileDescriptor::SYNTAX_PROTO3) {
++#endif
+ min_header_version = 1003000;
+ }
+ #endif
+diff --git a/protoc-c/c_helpers.h b/protoc-c/c_helpers.h
+index adc7ee21..055528bf 100644
+--- a/protoc-c/c_helpers.h
++++ b/protoc-c/c_helpers.h
+@@ -70,6 +70,10 @@
+ #include <protobuf-c/protobuf-c.pb.h>
+ #include <google/protobuf/io/printer.h>
+
++#if GOOGLE_PROTOBUF_VERSION >= 4023000
++# include <google/protobuf/descriptor_legacy.h>
++#endif
++
+ namespace google {
+ namespace protobuf {
+ namespace compiler {
+@@ -172,7 +176,11 @@ int compare_name_indices_by_name(const void*, const void*);
+ // This wrapper is needed to be able to compile against protobuf2.
+ inline int FieldSyntax(const FieldDescriptor* field) {
+ #ifdef HAVE_PROTO3
++# if GOOGLE_PROTOBUF_VERSION >= 4023000
++ return FileDescriptorLegacy(field->file()).syntax() == FileDescriptorLegacy::SYNTAX_PROTO3 ? 3 : 2;
++# else
+ return field->file()->syntax() == FileDescriptor::SYNTAX_PROTO3 ? 3 : 2;
++# endif
+ #else
+ return 2;
+ #endif
+
+From 7582b6e7d640636bf24c0f9dd2b386ed6fd41919 Mon Sep 17 00:00:00 2001
+From: Robert Edmonds <edmonds@users.noreply.github.com>
+Date: Sun, 2 Jul 2023 22:58:48 -0400
+Subject: [PATCH 6/7] cmake: Require C++17
+
+Newer versions of protobuf apparently don't build with older versions of
+the C++ standard.
+---
+ build-cmake/CMakeLists.txt | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/build-cmake/CMakeLists.txt b/build-cmake/CMakeLists.txt
+index 95f561c0..c71dd899 100644
+--- a/build-cmake/CMakeLists.txt
++++ b/build-cmake/CMakeLists.txt
+@@ -96,7 +96,7 @@ if (MSVC AND NOT BUILD_SHARED_LIBS)
+ endif (MSVC AND NOT BUILD_SHARED_LIBS)
+
+ IF(BUILD_PROTOC)
+-SET(CMAKE_CXX_STANDARD 11)
++SET(CMAKE_CXX_STANDARD 17)
+ SET(CMAKE_CXX_STANDARD_REQUIRED ON)
+ SET(CMAKE_CXX_EXTENSIONS OFF)
+ ADD_CUSTOM_COMMAND(OUTPUT protobuf-c/protobuf-c.pb.cc protobuf-c/protobuf-c.pb.h
+
+From 5b0661f1e8a0e03f75cc6f53b8d42507e95403c9 Mon Sep 17 00:00:00 2001
+From: Robert Edmonds <edmonds@users.noreply.github.com>
+Date: Mon, 3 Jul 2023 01:10:28 -0400
+Subject: [PATCH 7/7] configure.ac: Require C++17
+
+There are some recent reports of strange build failures that might have
+been fixed by compiling in C++17 mode, so it might be a good idea to use
+C++17 in general, and not just when building against very recent
+protobuf versions.
+
+Since it looks like we've lost protobuf < 3.0.0 support, configure.ac
+can be simplified a bit if we just use C++17 by default.
+---
+ configure.ac | 23 ++---------------------
+ 1 file changed, 2 insertions(+), 21 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index fa024b6a..586ac3c0 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -75,27 +75,8 @@ AC_ARG_ENABLE([protoc],
+ AS_HELP_STRING([--disable-protoc], [Disable building protoc_c (also disables tests)]))
+ if test "x$enable_protoc" != "xno"; then
+ AC_LANG_PUSH([C++])
+-
+- # PKG_CHECK_MODULES(prefix, list-of-modules, action-if-found, action-if-not-found)
+- PKG_CHECK_MODULES(
+- [protobuf],
+- [protobuf >= 4.22.0],
+- [
+- proto3_supported=yes
+- AX_CXX_COMPILE_STDCXX(17, noext, mandatory)
+- ],
+- [
+- PKG_CHECK_MODULES(
+- [protobuf],
+- [protobuf >= 3.0.0],
+- [
+- proto3_supported=yes
+- AX_CXX_COMPILE_STDCXX(11, noext, mandatory)
+- ],
+- [
+- PKG_CHECK_MODULES([protobuf], [protobuf >= 2.6.0])
+- ])
+- ])
++ AX_CXX_COMPILE_STDCXX(17, noext, mandatory)
++ PKG_CHECK_MODULES([protobuf], [protobuf >= 3.0.0], [proto3_supported=yes])
+
+ save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="$save_CPPFLAGS $protobuf_CFLAGS"
diff --git a/dev-libs/protobuf-c/metadata.xml b/dev-libs/protobuf-c/metadata.xml
index 490b948ae4ca..f504bd5fa68e 100644
--- a/dev-libs/protobuf-c/metadata.xml
+++ b/dev-libs/protobuf-c/metadata.xml
@@ -4,5 +4,6 @@
<!-- maintainer-needed -->
<upstream>
<remote-id type="github">protobuf-c/protobuf-c</remote-id>
+ <remote-id type="cpe">cpe:/a:protobuf-c_project:protobuf-c</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-libs/protobuf-c/protobuf-c-1.3.3-r1.ebuild b/dev-libs/protobuf-c/protobuf-c-1.3.3-r1.ebuild
deleted file mode 100644
index efdf8fa4897e..000000000000
--- a/dev-libs/protobuf-c/protobuf-c-1.3.3-r1.ebuild
+++ /dev/null
@@ -1,48 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit autotools multilib-minimal
-
-MY_PV="${PV/_/-}"
-MY_P="${PN}-${MY_PV}"
-
-DESCRIPTION="Protocol Buffers implementation in C"
-HOMEPAGE="https://github.com/protobuf-c/protobuf-c"
-SRC_URI="https://github.com/${PN}/${PN}/releases/download/v${MY_PV}/${MY_P}.tar.gz"
-
-LICENSE="BSD-2"
-# Subslot == SONAME version
-SLOT="0/1.0.0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ppc ppc64 ~riscv ~s390 sparc x86"
-IUSE="static-libs test"
-RESTRICT="!test? ( test )"
-
-BDEPEND=">=dev-libs/protobuf-3:0
- virtual/pkgconfig"
-DEPEND=">=dev-libs/protobuf-3:0=[${MULTILIB_USEDEP}]"
-RDEPEND="${DEPEND}"
-
-S="${WORKDIR}/${MY_P}"
-
-src_prepare() {
- default
- if ! use test; then
- eapply "${FILESDIR}"/${PN}-1.3.0-no-build-tests.patch
- fi
-
- eautoreconf
-}
-
-multilib_src_configure() {
- local myeconfargs=(
- $(use_enable static-libs static)
- )
- ECONF_SOURCE="${S}" econf "${myeconfargs[@]}"
-}
-
-multilib_src_install_all() {
- find "${ED}" -name '*.la' -type f -delete || die
- einstalldocs
-}
diff --git a/dev-libs/protobuf-c/protobuf-c-1.4.0-r1.ebuild b/dev-libs/protobuf-c/protobuf-c-1.4.0-r1.ebuild
deleted file mode 100644
index 7a7d74d82d13..000000000000
--- a/dev-libs/protobuf-c/protobuf-c-1.4.0-r1.ebuild
+++ /dev/null
@@ -1,52 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit autotools multilib-minimal
-
-MY_PV="${PV/_/-}"
-MY_P="${PN}-${MY_PV}"
-
-DESCRIPTION="Protocol Buffers implementation in C"
-HOMEPAGE="https://github.com/protobuf-c/protobuf-c"
-SRC_URI="https://github.com/${PN}/${PN}/releases/download/v${MY_PV}/${MY_P}.tar.gz"
-S="${WORKDIR}/${MY_P}"
-
-LICENSE="BSD-2"
-# Subslot == SONAME version
-SLOT="0/1.0.0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
-IUSE="static-libs test"
-RESTRICT="!test? ( test )"
-
-DEPEND=">=dev-libs/protobuf-3:0=[${MULTILIB_USEDEP}]"
-RDEPEND="${DEPEND}"
-BDEPEND="virtual/pkgconfig"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-1.4.0-include-path.patch
-)
-
-src_prepare() {
- default
-
- if ! use test; then
- eapply "${FILESDIR}"/${PN}-1.3.0-no-build-tests.patch
- fi
-
- eautoreconf
-}
-
-multilib_src_configure() {
- local myeconfargs=(
- $(use_enable static-libs static)
- )
-
- ECONF_SOURCE="${S}" econf "${myeconfargs[@]}"
-}
-
-multilib_src_install_all() {
- find "${ED}" -name '*.la' -type f -delete || die
- einstalldocs
-}
diff --git a/dev-libs/protobuf-c/protobuf-c-1.4.1-r1.ebuild b/dev-libs/protobuf-c/protobuf-c-1.4.1-r1.ebuild
new file mode 100644
index 000000000000..b7000c160efc
--- /dev/null
+++ b/dev-libs/protobuf-c/protobuf-c-1.4.1-r1.ebuild
@@ -0,0 +1,56 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools multilib-minimal
+
+MY_PV="${PV/_/-}"
+MY_P="${PN}-${MY_PV}"
+
+DESCRIPTION="Protocol Buffers implementation in C"
+HOMEPAGE="https://github.com/protobuf-c/protobuf-c"
+SRC_URI="https://github.com/${PN}/${PN}/releases/download/v${MY_PV}/${MY_P}.tar.gz"
+S="${WORKDIR}/${MY_P}"
+
+LICENSE="BSD-2"
+# Subslot == SONAME version
+SLOT="0/1.0.0"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86"
+IUSE="static-libs test"
+RESTRICT="!test? ( test )"
+
+BDEPEND="
+ >=dev-libs/protobuf-3:0
+ virtual/pkgconfig
+"
+DEPEND=">=dev-libs/protobuf-3:0=[${MULTILIB_USEDEP}]"
+RDEPEND="${DEPEND}"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-1.4.0-include-path.patch
+ "${FILESDIR}"/${P}-protobuf-22.patch
+)
+
+src_prepare() {
+ default
+
+ if ! use test; then
+ eapply "${FILESDIR}"/${PN}-1.3.0-no-build-tests.patch
+ fi
+
+ eautoreconf
+}
+
+multilib_src_configure() {
+ local myeconfargs=(
+ $(use_enable static-libs static)
+ )
+
+ ECONF_SOURCE="${S}" econf "${myeconfargs[@]}"
+}
+
+multilib_src_install_all() {
+ find "${ED}" -name '*.la' -type f -delete || die
+ einstalldocs
+}
diff --git a/dev-libs/protobuf-c/protobuf-c-1.4.1.ebuild b/dev-libs/protobuf-c/protobuf-c-1.4.1.ebuild
new file mode 100644
index 000000000000..f45fc3e9bb0f
--- /dev/null
+++ b/dev-libs/protobuf-c/protobuf-c-1.4.1.ebuild
@@ -0,0 +1,53 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools multilib-minimal
+
+MY_PV="${PV/_/-}"
+MY_P="${PN}-${MY_PV}"
+
+DESCRIPTION="Protocol Buffers implementation in C"
+HOMEPAGE="https://github.com/protobuf-c/protobuf-c"
+SRC_URI="https://github.com/${PN}/${PN}/releases/download/v${MY_PV}/${MY_P}.tar.gz"
+S="${WORKDIR}/${MY_P}"
+
+LICENSE="BSD-2"
+# Subslot == SONAME version
+SLOT="0/1.0.0"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86"
+IUSE="static-libs test"
+RESTRICT="!test? ( test )"
+
+BDEPEND=">=dev-libs/protobuf-3:0
+ virtual/pkgconfig"
+DEPEND=">=dev-libs/protobuf-3:0=[${MULTILIB_USEDEP}]"
+RDEPEND="${DEPEND}"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-1.4.0-include-path.patch
+)
+
+src_prepare() {
+ default
+
+ if ! use test; then
+ eapply "${FILESDIR}"/${PN}-1.3.0-no-build-tests.patch
+ fi
+
+ eautoreconf
+}
+
+multilib_src_configure() {
+ local myeconfargs=(
+ $(use_enable static-libs static)
+ )
+
+ ECONF_SOURCE="${S}" econf "${myeconfargs[@]}"
+}
+
+multilib_src_install_all() {
+ find "${ED}" -name '*.la' -type f -delete || die
+ einstalldocs
+}
diff --git a/dev-libs/protobuf/Manifest b/dev-libs/protobuf/Manifest
index e5d6443b5d31..8695f23be04a 100644
--- a/dev-libs/protobuf/Manifest
+++ b/dev-libs/protobuf/Manifest
@@ -1,6 +1,4 @@
-DIST protobuf-3.16.0.tar.gz 5299781 BLAKE2B 9ace02a6038c31b7393671fb2ccd6a4866a3f8b7d87d2bc8371f49d65b9180f10792ca2430a83449dfa7d785a1244dac23c20756414c9d1e7c7e871a8038b123 SHA512 0191e5a6a23d03f691e883e259f6d06a0ac8eef427455bc7d1cc70b6f0ed260e4ad8f360c836fd4bdc95ec0ca314c887cbf7acbcda60e03cdfe69e4cd275bff5
-DIST protobuf-3.17.0.tar.gz 5185780 BLAKE2B a168619df72cdf097c7ddfd50aca96a2101bf73e7c1c842c020e6ee08a853db8674a86ca999b7706da3dd21d4d3d2159241c93232efc693701962f3a54a382e9 SHA512 36ed2de641849ce01531ff1207f62a0748f811519c40622a119a17a1e709864382de81481fb58f374a025948971c48416e7e6de9c00512a78633c7a8a3aa3a36
-DIST protobuf-3.17.1.tar.gz 5192666 BLAKE2B 7f912db7e0835aaa42628fcf564a5666e2cbfa021bb35638a5eec53c3c457f1e747225dea54f732b7239a1520febca9bc20c824b1938f100796caa3ac2133bc1 SHA512 5a18aa3c1dab040dc6d22310a8503241081106acf7ca89079d7b416533d7c2cdd47719dc9023e6bc26969f0f1c796550260a04034a403c69752f6a3a7a651bb8
-DIST protobuf-3.17.2.tar.gz 5192779 BLAKE2B 97f9561848e70b8d26ebcc7fc4fa8da51c4b8267efbe1d2d386c2785308e7ba7edc05f1b3863c274dc8838866d58b58509606d72c51a22b956d1d528584c4c95 SHA512 b3e7ad50ed772668df70a3a20ad1af13a5e82f23b109e4fecd34e6a74947bed300963c9f084907fbfafe28fc18365cde7df1975e2ff9538d2f5a3d2b458bca98
-DIST protobuf-3.17.3.tar.gz 5235236 BLAKE2B 2495e678c8f9436d4e5a30ccee8b6226125d418ac7ecf7df20b078a1a16c221cbccab7d846dcd56a90220c106617fa75c410a21b62612fedec378cd7e8571350 SHA512 b4030b4474cc5fb5a62501200725dd488e6e66e3ced4ed12ab4ee029fcfed305e92ec966adafbdd343afffd186908163849422b95eaa500e7e741ac325d01d12
-DIST protobuf-3.19.1.tar.gz 5291573 BLAKE2B a34f1a7cf99ecb6cb8a26bc858de6273bfd26aa9be1e89e48c16cb5df0f1e9576479344c8250017238dbac0d0c4ac33001125b5fc622cb64ed6b91023198b03a SHA512 f1271f5159a7be363a5f60ce4921dfea68a8468d66808330bacaeaa1cb7f652d045ab080b5d82816a6fd4e6d7d7fe79aaa6c8d66d81692721d36ce3bbf619f31
+DIST protobuf-21.12.tar.gz 5141166 BLAKE2B 33500612d103afb817062486a741e8e5503f82c42c70054d47d1899e6bb79f3fdde2666cad5b8eff6e1bc539c3b0cdf9f2b125ce7e5d3a459a69e84d67ab535e SHA512 2dc8f552388438268d8b9f7a9e84c6abf1736be3d5031438c789c317410c9f4b5cedd25bf7da6d67b3ba32ca890869f9ddaab2284d6ac0e734a5b135ffbb1346
+DIST protobuf-21.9.tar.gz 5110670 BLAKE2B a4f5b7f58e1c5904ca990b100a72992f6f56177b28773f8de8c99e4158391d33cfb8aa8575915887fc9ae4294faf81d4ff6b470bc07b394bfd5885a09ba0fafe SHA512 6954b42d21921e630173b7848c056ab95635627d8eddec960f3db2ddda13eedde00520a9b350722e76e2998649eb8ebe10758e1db938b6a91e38ff3295b1b7c1
+DIST protobuf-22.5.tar.gz 4924661 BLAKE2B d69c73f4ebfddf45fd94b4f5f898faf00256fe674f2cbc0443c60a88d7a0f47fb96f2f6262879927c6da88095b4ea3ee7fd4c471c100bf42a2bae9edf48c07f1 SHA512 058ab2fec5b11007972e6043071056d1944c3b6fe1d31246cddba8eb57686e3b5280f6ad3d58e78940ca63005e74a8de3c72237f9f7c5066548c5a2513ddc584
+DIST protobuf-23.3.tar.gz 5043803 BLAKE2B ee2edee230969555c9ef95069c7b1d6c23c3d1f8ea1b2249fb3e9f6fcf63312c6e10e9da65b80629fb08d5fb08d05a19bb9c752c25b892c1e3fd6f18b9279eb3 SHA512 646af367dbc61b42e322cf0b335f360e428b272e2b1f5361b2f17c18d3dc9dddd615e1279436028b1a42275a0beadda37c2c934fc27d6c892131cc8d526d8b3b
diff --git a/dev-libs/protobuf/files/protobuf-21.9-disable-32-bit-tests.patch b/dev-libs/protobuf/files/protobuf-21.9-disable-32-bit-tests.patch
new file mode 100644
index 000000000000..cd6b5aa2db6d
--- /dev/null
+++ b/dev-libs/protobuf/files/protobuf-21.9-disable-32-bit-tests.patch
@@ -0,0 +1,118 @@
+https://bugs.gentoo.org/875584
+https://github.com/protocolbuffers/protobuf/pull/10589
+
+From 5f4a52d9bff7595ec47fb6727662a1cada3cd404 Mon Sep 17 00:00:00 2001
+From: Mike Kruskal <mkruskal@google.com>
+Date: Thu, 15 Sep 2022 10:23:23 -0700
+Subject: [PATCH 3/7] Patching static assert test failure
+
+--- a/src/google/protobuf/extension_set_unittest.cc
++++ b/src/google/protobuf/extension_set_unittest.cc
+@@ -855,8 +855,10 @@ TEST(ExtensionSetTest, SpaceUsedExcludingSelf) {
+ const size_t old_capacity = \
+ message->GetRepeatedExtension(unittest::repeated_##type##_extension) \
+ .Capacity(); \
+- EXPECT_GE(old_capacity, \
+- (RepeatedFieldLowerClampLimit<cpptype, sizeof(void*)>())); \
++ EXPECT_GE( \
++ old_capacity, \
++ (RepeatedFieldLowerClampLimit<cpptype, std::max(sizeof(cpptype), \
++ sizeof(void*))>())); \
+ for (int i = 0; i < 16; ++i) { \
+ message->AddExtension(unittest::repeated_##type##_extension, value); \
+ } \
+
+From c94b66706bec17d918495f4715183a5eaf0f8044 Mon Sep 17 00:00:00 2001
+From: Mike Kruskal <mkruskal@google.com>
+Date: Thu, 15 Sep 2022 11:31:31 -0700
+Subject: [PATCH 4/7] Test fixes for 32-bit architectures
+
+--- a/src/google/protobuf/compiler/cpp/message_size_unittest.cc
++++ b/src/google/protobuf/compiler/cpp/message_size_unittest.cc
+@@ -139,9 +139,9 @@ TEST(GeneratedMessageTest, OneStringSize) {
+
+ TEST(GeneratedMessageTest, MoreStringSize) {
+ struct MockGenerated : public MockMessageBase { // 16 bytes
+- int has_bits[1]; // 4 bytes
+ int cached_size; // 4 bytes
+ MockRepeatedPtrField data; // 24 bytes
++ // + 4 bytes padding
+ };
+ GOOGLE_CHECK_MESSAGE_SIZE(MockGenerated, 48);
+ EXPECT_EQ(sizeof(protobuf_unittest::MoreString), sizeof(MockGenerated));
+--- a/src/google/protobuf/io/zero_copy_stream_unittest.cc
++++ b/src/google/protobuf/io/zero_copy_stream_unittest.cc
+@@ -720,6 +720,9 @@ TEST_F(IoTest, StringIo) {
+
+ // Verifies that outputs up to kint32max can be created.
+ TEST_F(IoTest, LargeOutput) {
++ // Filter out this test on 32-bit architectures.
++ if(sizeof(void*) < 8) return;
++
+ std::string str;
+ StringOutputStream output(&str);
+ void* unused_data;
+--- a/src/google/protobuf/repeated_field_unittest.cc
++++ b/src/google/protobuf/repeated_field_unittest.cc
+@@ -429,14 +429,14 @@ TEST(RepeatedField, ReserveNothing) {
+
+ TEST(RepeatedField, ReserveLowerClamp) {
+ int clamped_value = internal::CalculateReserveSize<bool, sizeof(void*)>(0, 1);
+- EXPECT_GE(clamped_value, 8 / sizeof(bool));
++ EXPECT_GE(clamped_value, sizeof(void*) / sizeof(bool));
+ EXPECT_EQ((internal::RepeatedFieldLowerClampLimit<bool, sizeof(void*)>()),
+ clamped_value);
+ // EXPECT_EQ(clamped_value, (internal::CalculateReserveSize<bool,
+ // sizeof(void*)>( clamped_value, 2)));
+
+ clamped_value = internal::CalculateReserveSize<int, sizeof(void*)>(0, 1);
+- EXPECT_GE(clamped_value, 8 / sizeof(int));
++ EXPECT_GE(clamped_value, sizeof(void*) / sizeof(int));
+ EXPECT_EQ((internal::RepeatedFieldLowerClampLimit<int, sizeof(void*)>()),
+ clamped_value);
+ // EXPECT_EQ(clamped_value, (internal::CalculateReserveSize<int,
+--- a/src/google/protobuf/util/time_util_test.cc
++++ b/src/google/protobuf/util/time_util_test.cc
+@@ -48,15 +48,18 @@ using google::protobuf::Timestamp;
+ namespace {
+
+ TEST(TimeUtilTest, TimestampStringFormat) {
+- Timestamp begin, end;
+- EXPECT_TRUE(TimeUtil::FromString("0001-01-01T00:00:00Z", &begin));
+- EXPECT_EQ(TimeUtil::kTimestampMinSeconds, begin.seconds());
+- EXPECT_EQ(0, begin.nanos());
+- EXPECT_TRUE(TimeUtil::FromString("9999-12-31T23:59:59.999999999Z", &end));
+- EXPECT_EQ(TimeUtil::kTimestampMaxSeconds, end.seconds());
+- EXPECT_EQ(999999999, end.nanos());
+- EXPECT_EQ("0001-01-01T00:00:00Z", TimeUtil::ToString(begin));
+- EXPECT_EQ("9999-12-31T23:59:59.999999999Z", TimeUtil::ToString(end));
++ // These these are out of bounds for 32-bit architectures.
++ if(sizeof(time_t) >= sizeof(uint64_t)) {
++ Timestamp begin, end;
++ EXPECT_TRUE(TimeUtil::FromString("0001-01-01T00:00:00Z", &begin));
++ EXPECT_EQ(TimeUtil::kTimestampMinSeconds, begin.seconds());
++ EXPECT_EQ(0, begin.nanos());
++ EXPECT_TRUE(TimeUtil::FromString("9999-12-31T23:59:59.999999999Z", &end));
++ EXPECT_EQ(TimeUtil::kTimestampMaxSeconds, end.seconds());
++ EXPECT_EQ(999999999, end.nanos());
++ EXPECT_EQ("0001-01-01T00:00:00Z", TimeUtil::ToString(begin));
++ EXPECT_EQ("9999-12-31T23:59:59.999999999Z", TimeUtil::ToString(end));
++ }
+
+ // Test negative timestamps.
+ Timestamp time = TimeUtil::NanosecondsToTimestamp(-1);
+@@ -94,9 +97,12 @@ TEST(TimeUtilTest, DurationStringFormat) {
+ EXPECT_TRUE(TimeUtil::FromString("0001-01-01T00:00:00Z", &begin));
+ EXPECT_TRUE(TimeUtil::FromString("9999-12-31T23:59:59.999999999Z", &end));
+
+- EXPECT_EQ("315537897599.999999999s", TimeUtil::ToString(end - begin));
++ // These these are out of bounds for 32-bit architectures.
++ if(sizeof(time_t) >= sizeof(uint64_t)) {
++ EXPECT_EQ("315537897599.999999999s", TimeUtil::ToString(end - begin));
++ EXPECT_EQ("-315537897599.999999999s", TimeUtil::ToString(begin - end));
++ }
+ EXPECT_EQ(999999999, (end - begin).nanos());
+- EXPECT_EQ("-315537897599.999999999s", TimeUtil::ToString(begin - end));
+ EXPECT_EQ(-999999999, (begin - end).nanos());
+
+ // Generated output should contain 3, 6, or 9 fractional digits.
diff --git a/dev-libs/protobuf/files/protobuf-22.5-Use-the-same-ABI-for-static-and-shared-libraries-on-.patch b/dev-libs/protobuf/files/protobuf-22.5-Use-the-same-ABI-for-static-and-shared-libraries-on-.patch
new file mode 100644
index 000000000000..4bbed7ecbaf5
--- /dev/null
+++ b/dev-libs/protobuf/files/protobuf-22.5-Use-the-same-ABI-for-static-and-shared-libraries-on-.patch
@@ -0,0 +1,71 @@
+From 4329fde9cf3fab7d1b3a9abe0fbeee1ad8a8b111 Mon Sep 17 00:00:00 2001
+From: "Romain Geissler @ Amadeus" <romain.geissler@amadeus.com>
+Date: Tue, 6 Jun 2023 10:49:55 -0700
+Subject: [PATCH] Use the same ABI for static and shared libraries on
+ non-Windows platforms (#12983)
+
+Hi,
+
+It seems that until last year, the logic behind `PROTOBUF_USE_DLLS` was for Windows (MSCV) only. It was changed to all platforms here in https://github.com/protocolbuffers/protobuf/commit/5a0887fc6529596eff5c0f72febc602a9d494cc2
+
+Last month, the generated pkg config files were updated to reflect the protobuf build-time value of `PROTOBUF_USE_DLLS` as it was indeed noted that it changes the ABI. This was done in https://github.com/protocolbuffers/protobuf/pull/12700 In the commit message it is mentionned that most likely we shall rather have a stable ABI.
+
+Finally in https://github.com/protocolbuffers/protobuf/issues/12746 which at some point mentions https://issuetracker.google.com/issues/283987730#comment7 where a Google employee hits the linker issue:
+```
+undefined reference to `google::protobuf::internal::ThreadSafeArena::thread_cache_'
+```
+which denotes a mix of some .o or libs built `PROTOBUF_USE_DLLS` defined and some others build with `PROTOBUF_USE_DLLS` undefined, resulting in ABI incompatibilities.
+
+I also hit this issue while trying to include protobuf in a corporate environment using it's own proprietary build system in which it is expected that .a and .so use a compatible ABI.
+
+From my own understanding, ideally we should always use `thread_local` variables, but experience has shown that:
+ - old iOS (iOS < 9) didn't seem to accept `thread_local`, leading to the `GOOGLE_PROTOBUF_NO_THREADLOCAL` macro later renamed `PROTOBUF_NO_THREADLOCAL` which allowed to disable this, but it is not set anywhere in the protobuf code base. Also I doubt you still want to support such old iOS now, so maybe you should consider removing all `PROTOBUF_NO_THREADLOCAL` related code paths (this pull request doesn't do this).
+ - MSVC's DLL interface doesn't seem to accept exporting thread local variables (at least from what I understood, I know absolutely nothing about the Windows ecosystem), yet we can "hide" a thread local variable in a static function using a thread local variable. However in that case the access to TLS variable is not inlined, leading to worse performances, this hack shall be done only for Windows (actually when using MSVC) *AND* we build a shared library.
+ - In all other cases, a classical `thread_local` shall be used, no matter if we build a static or a shared library. In particular on Linux which I guess is the target Google cares the more about for its own production. This pull request achieves this.
+
+Am I right in my conclusion ?
+
+Closes #12983
+
+COPYBARA_INTEGRATE_REVIEW=https://github.com/protocolbuffers/protobuf/pull/12983 from Romain-Geissler-1A:stable-abi-use-dll-non-windows dc23ff50f67cf0c8e45900a78700d1fc3e8bec39
+PiperOrigin-RevId: 538230923
+---
+ src/google/protobuf/arena.cc | 2 +-
+ src/google/protobuf/reflection_mode.cc | 2 +-
+ src/google/protobuf/reflection_mode.h | 10 ++++++----
+ src/google/protobuf/thread_safe_arena.h | 6 +++---
+ 4 files changed, 11 insertions(+), 9 deletions(-)
+
+diff --git a/src/google/protobuf/arena.cc b/src/google/protobuf/arena.cc
+index 51afdbdaf..6577a3669 100644
+--- a/src/google/protobuf/arena.cc
++++ b/src/google/protobuf/arena.cc
+@@ -519,7 +519,7 @@ ThreadSafeArena::ThreadCache& ThreadSafeArena::thread_cache() {
+ new internal::ThreadLocalStorage<ThreadCache>();
+ return *thread_cache_->Get();
+ }
+-#elif defined(PROTOBUF_USE_DLLS)
++#elif defined(PROTOBUF_USE_DLLS) && defined(_MSC_VER)
+ ThreadSafeArena::ThreadCache& ThreadSafeArena::thread_cache() {
+ static PROTOBUF_THREAD_LOCAL ThreadCache thread_cache;
+ return thread_cache;
+diff --git a/src/google/protobuf/thread_safe_arena.h b/src/google/protobuf/thread_safe_arena.h
+index e6e3b7fae..f53993a85 100644
+--- a/src/google/protobuf/thread_safe_arena.h
++++ b/src/google/protobuf/thread_safe_arena.h
+@@ -260,9 +260,9 @@ class PROTOBUF_EXPORT ThreadSafeArena {
+ // iOS does not support __thread keyword so we use a custom thread local
+ // storage class we implemented.
+ static ThreadCache& thread_cache();
+-#elif defined(PROTOBUF_USE_DLLS)
+- // Thread local variables cannot be exposed through DLL interface but we can
+- // wrap them in static functions.
++#elif defined(PROTOBUF_USE_DLLS) && defined(_MSC_VER)
++ // Thread local variables cannot be exposed through MSVC DLL interface but we
++ // can wrap them in static functions.
+ static ThreadCache& thread_cache();
+ #else
+ PROTOBUF_CONSTINIT static PROTOBUF_THREAD_LOCAL ThreadCache thread_cache_;
+--
+2.43.0
+
diff --git a/dev-libs/protobuf/files/protobuf-22.5-fix-missing-PROTOBUF_EXPORT-for-public-symbols.patch b/dev-libs/protobuf/files/protobuf-22.5-fix-missing-PROTOBUF_EXPORT-for-public-symbols.patch
new file mode 100644
index 000000000000..fcf39e1e3e8f
--- /dev/null
+++ b/dev-libs/protobuf/files/protobuf-22.5-fix-missing-PROTOBUF_EXPORT-for-public-symbols.patch
@@ -0,0 +1,32 @@
+From fc1c5512e524e0c00a276aa9a38b2cdb8fdf45c7 Mon Sep 17 00:00:00 2001
+From: Protobuf Team Bot <protobuf-github-bot@google.com>
+Date: Thu, 1 Jun 2023 09:14:48 -0700
+Subject: [PATCH] fix: missing `PROTOBUF_EXPORT` for public symbols
+
+PiperOrigin-RevId: 537042088
+---
+ src/google/protobuf/io/strtod.h | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/src/google/protobuf/io/strtod.h b/src/google/protobuf/io/strtod.h
+index 851c8e621..b368e4d87 100644
+--- a/src/google/protobuf/io/strtod.h
++++ b/src/google/protobuf/io/strtod.h
+@@ -60,12 +60,12 @@ PROTOBUF_EXPORT std::string SimpleFtoa(float value);
+
+ // A locale-independent version of the standard strtod(), which always
+ // uses a dot as the decimal separator.
+-double NoLocaleStrtod(const char* str, char** endptr);
++PROTOBUF_EXPORT double NoLocaleStrtod(const char* str, char** endptr);
+
+ // Casts a double value to a float value. If the value is outside of the
+ // representable range of float, it will be converted to positive or negative
+ // infinity.
+-float SafeDoubleToFloat(double value);
++PROTOBUF_EXPORT float SafeDoubleToFloat(double value);
+
+ } // namespace io
+ } // namespace protobuf
+--
+2.43.0
+
diff --git a/dev-libs/protobuf/files/protobuf-23.3-disable-32-bit-tests.patch b/dev-libs/protobuf/files/protobuf-23.3-disable-32-bit-tests.patch
new file mode 100644
index 000000000000..1e49bc981d8e
--- /dev/null
+++ b/dev-libs/protobuf/files/protobuf-23.3-disable-32-bit-tests.patch
@@ -0,0 +1,34 @@
+https://github.com/protocolbuffers/protobuf/issues/8460
+--- a/src/google/protobuf/any_test.cc
++++ b/src/google/protobuf/any_test.cc
+@@ -63,6 +63,8 @@ TEST(AnyTest, TestPackAndUnpack) {
+ }
+
+ TEST(AnyTest, TestPackFromSerializationExceedsSizeLimit) {
++ // Filter out this test on 32-bit architectures.
++ if(sizeof(void*) < 8) return;
+ protobuf_unittest::TestAny submessage;
+ submessage.mutable_text()->resize(INT_MAX, 'a');
+ protobuf_unittest::TestAny message;
+
+https://github.com/protocolbuffers/protobuf/issues/8459
+--- a/src/google/protobuf/arena_unittest.cc
++++ b/src/google/protobuf/arena_unittest.cc
+@@ -1373,6 +1373,8 @@ TEST(ArenaTest, MessageLiteOnArena) {
+ uint64_t Align8(uint64_t n) { return (n + 7) & -8; }
+
+ TEST(ArenaTest, SpaceAllocated_and_Used) {
++ // Filter out this test on 32-bit architectures.
++ if(sizeof(void*) < 8) return;
+ Arena arena_1;
+ EXPECT_EQ(0, arena_1.SpaceAllocated());
+ EXPECT_EQ(0, arena_1.SpaceUsed());
+@@ -1453,6 +1455,8 @@ TEST(ArenaTest, Alignment) {
+ }
+
+ TEST(ArenaTest, BlockSizeSmallerThanAllocation) {
++ // Filter out this test on 32-bit architectures.
++ if(sizeof(void*) < 8) return;
+ for (size_t i = 0; i <= 8; ++i) {
+ ArenaOptions opt;
+ opt.start_block_size = opt.max_block_size = i;
diff --git a/dev-libs/protobuf/files/protobuf-23.3-static_assert-failure.patch b/dev-libs/protobuf/files/protobuf-23.3-static_assert-failure.patch
new file mode 100644
index 000000000000..53ca65814251
--- /dev/null
+++ b/dev-libs/protobuf/files/protobuf-23.3-static_assert-failure.patch
@@ -0,0 +1,11 @@
+https://github.com/protocolbuffers/protobuf/issues/9433
+--- a/src/google/protobuf/descriptor.cc
++++ b/src/google/protobuf/descriptor.cc
+@@ -384,7 +384,6 @@ class FlatAllocatorImpl {
+ ABSL_CHECK(!has_allocated());
+ if (std::is_trivially_destructible<U>::value) {
+ // Trivial types are aligned to 8 bytes.
+- static_assert(alignof(U) <= 8, "");
+ total_.template Get<char>() += RoundUpTo<8>(array_size * sizeof(U));
+ } else {
+ // Since we can't use `if constexpr`, just make the expression compile
diff --git a/dev-libs/protobuf/files/protobuf-3.15.0-disable_no-warning-test.patch b/dev-libs/protobuf/files/protobuf-3.15.0-disable_no-warning-test.patch
deleted file mode 100644
index 031b1b222a9e..000000000000
--- a/dev-libs/protobuf/files/protobuf-3.15.0-disable_no-warning-test.patch
+++ /dev/null
@@ -1,19 +0,0 @@
-Disable no-warning-test which is compiled with -Werror option and whose only purpose is checking if compilation results in any warnings.
-
---- /src/Makefile.am
-+++ /src/Makefile.am
-@@ -709,7 +709,7 @@
- GOOGLEMOCK_SRC_DIR=$(srcdir)/../third_party/googletest/googlemock
- check_PROGRAMS = protoc protobuf-test protobuf-lazy-descriptor-test \
- protobuf-lite-test test_plugin protobuf-lite-arena-test \
-- no-warning-test $(GZCHECKPROGRAMS)
-+ $(GZCHECKPROGRAMS)
- protobuf_test_LDADD = $(PTHREAD_LIBS) libprotobuf.la libprotoc.la \
- $(GOOGLETEST_BUILD_DIR)/lib/libgtest.la \
- $(GOOGLEMOCK_BUILD_DIR)/lib/libgmock.la \
-@@ -896,4 +896,4 @@
-
- TESTS = protobuf-test protobuf-lazy-descriptor-test protobuf-lite-test \
- google/protobuf/compiler/zip_output_unittest.sh $(GZTESTS) \
-- protobuf-lite-arena-test no-warning-test
-+ protobuf-lite-arena-test
diff --git a/dev-libs/protobuf/files/protobuf-3.16.0-protoc_input_output_files.patch b/dev-libs/protobuf/files/protobuf-3.16.0-protoc_input_output_files.patch
deleted file mode 100644
index 7295e805a196..000000000000
--- a/dev-libs/protobuf/files/protobuf-3.16.0-protoc_input_output_files.patch
+++ /dev/null
@@ -1,240 +0,0 @@
-https://github.com/protocolbuffers/protobuf/pull/235
-
---- /src/google/protobuf/compiler/command_line_interface.cc
-+++ /src/google/protobuf/compiler/command_line_interface.cc
-@@ -1110,6 +1110,28 @@
- }
-
- if (mode_ == MODE_ENCODE || mode_ == MODE_DECODE) {
-+ bool success = false;
-+ int in_fd = STDIN_FILENO;
-+ int out_fd = STDOUT_FILENO;
-+
-+ if (!protobuf_in_path_.empty()) {
-+ in_fd = open(protobuf_in_path_.c_str(), O_RDONLY);
-+ if (in_fd == -1) {
-+ std::cerr << protobuf_in_path_ << ": error: failed to open file." << std::endl;
-+ return 1;
-+ }
-+ }
-+ if (!protobuf_out_path_.empty()) {
-+ out_fd = open(protobuf_out_path_.c_str(),
-+ O_WRONLY | O_CREAT | O_TRUNC,
-+ 0644);
-+ if (out_fd == -1) {
-+ std::cerr << protobuf_out_path_ << ": error: failed to open file." << std::endl;
-+ close(in_fd);
-+ return 1;
-+ }
-+ }
-+
- if (codec_type_.empty()) {
- // HACK: Define an EmptyMessage type to use for decoding.
- DescriptorPool pool;
-@@ -1118,13 +1140,20 @@
- file.add_message_type()->set_name("EmptyMessage");
- GOOGLE_CHECK(pool.BuildFile(file) != NULL);
- codec_type_ = "EmptyMessage";
-- if (!EncodeOrDecode(&pool)) {
-- return 1;
-- }
-+ success = EncodeOrDecode(&pool, in_fd, out_fd);
- } else {
-- if (!EncodeOrDecode(descriptor_pool.get())) {
-- return 1;
-- }
-+ success = EncodeOrDecode(descriptor_pool.get(), in_fd, out_fd);
-+ }
-+
-+ if (in_fd != STDIN_FILENO) {
-+ close(in_fd);
-+ }
-+ if (out_fd != STDOUT_FILENO) {
-+ close(out_fd);
-+ }
-+
-+ if (!success) {
-+ return 1;
- }
- }
-
-@@ -1163,6 +1192,11 @@
- for (int i = 0; i < proto_path_.size(); i++) {
- source_tree->MapPath(proto_path_[i].first, proto_path_[i].second);
- }
-+ if (mode_ == MODE_COMPILE &&
-+ (!protobuf_in_path_.empty() || !protobuf_out_path_.empty())) {
-+ std::cerr << "--protobuf_in and --protobuf_out are only valid with "
-+ << "decode operations. Ignoring.";
-+ }
-
- // Map input files to virtual paths if possible.
- if (!MakeInputsBeProtoPathRelative(source_tree, fallback_database)) {
-@@ -1885,6 +1919,12 @@
- } else if (name == "--deterministic_output") {
- deterministic_output_ = true;
-
-+ } else if (name == "--protobuf_in") {
-+ protobuf_in_path_ = value;
-+
-+ } else if (name == "--protobuf_out") {
-+ protobuf_out_path_ = value;
-+
- } else if (name == "--error_format") {
- if (value == "gcc") {
- error_format_ = ERROR_FORMAT_GCC;
-@@ -2018,22 +2058,38 @@
- --version Show version info and exit.
- -h, --help Show this text and exit.
- --encode=MESSAGE_TYPE Read a text-format message of the given type
-- from standard input and write it in binary
-- to standard output. The message type must
-+ from input protobuf file and write it in binary
-+ to output protobuf file. The message type must
- be defined in PROTO_FILES or their imports.
-+ The input/output protobuf files are specified
-+ using the --protobuf_in and --protobuf_out
-+ command line flags.
- --deterministic_output When using --encode, ensure map fields are
- deterministically ordered. Note that this order
- is not canonical, and changes across builds or
- releases of protoc.
- --decode=MESSAGE_TYPE Read a binary message of the given type from
-- standard input and write it in text format
-- to standard output. The message type must
-+ input protobuf file and write it in text format
-+ to output protobuf file. The message type must
- be defined in PROTO_FILES or their imports.
-+ The input/output protobuf files are specified
-+ using the --protobuf_in and --protobuf_out
-+ command line flags.
- --decode_raw Read an arbitrary protocol message from
-- standard input and write the raw tag/value
-- pairs in text format to standard output. No
-+ input protobuf file and write the raw tag/value
-+ pairs in text format to output protobuf file. No
- PROTO_FILES should be given when using this
-- flag.
-+ flag. The input/output protobuf files are
-+ specified using the --protobuf_in and
-+ --protobuf_out command line flags.
-+ --protobuf_in=FILE Absolute path to the protobuf file from which
-+ input of encoding/decoding operation will be
-+ read. If omitted, input will be read from
-+ standard input.
-+ --protobuf_out=FILE Absolute path to the protobuf file to which
-+ output of encoding/decoding operation will be
-+ written. If omitted, output will be written to
-+ standard output.
- --descriptor_set_in=FILES Specifies a delimited list of FILES
- each containing a FileDescriptorSet (a
- protocol buffer defined in descriptor.proto).
-@@ -2344,7 +2400,9 @@
- return true;
- }
-
--bool CommandLineInterface::EncodeOrDecode(const DescriptorPool* pool) {
-+bool CommandLineInterface::EncodeOrDecode(const DescriptorPool* pool,
-+ int in_fd,
-+ int out_fd) {
- // Look up the type.
- const Descriptor* type = pool->FindMessageTypeByName(codec_type_);
- if (type == NULL) {
-@@ -2356,15 +2414,15 @@
- std::unique_ptr<Message> message(dynamic_factory.GetPrototype(type)->New());
-
- if (mode_ == MODE_ENCODE) {
-- SetFdToTextMode(STDIN_FILENO);
-- SetFdToBinaryMode(STDOUT_FILENO);
-+ SetFdToTextMode(in_fd);
-+ SetFdToBinaryMode(out_fd);
- } else {
-- SetFdToBinaryMode(STDIN_FILENO);
-- SetFdToTextMode(STDOUT_FILENO);
-+ SetFdToBinaryMode(in_fd);
-+ SetFdToTextMode(out_fd);
- }
-
-- io::FileInputStream in(STDIN_FILENO);
-- io::FileOutputStream out(STDOUT_FILENO);
-+ io::FileInputStream in(in_fd);
-+ io::FileOutputStream out(out_fd);
-
- if (mode_ == MODE_ENCODE) {
- // Input is text.
---- /src/google/protobuf/compiler/command_line_interface.h
-+++ /src/google/protobuf/compiler/command_line_interface.h
-@@ -292,7 +292,9 @@
- GeneratorContext* generator_context, std::string* error);
-
- // Implements --encode and --decode.
-- bool EncodeOrDecode(const DescriptorPool* pool);
-+ bool EncodeOrDecode(const DescriptorPool* pool,
-+ int in_fd,
-+ int out_fd);
-
- // Implements the --descriptor_set_out option.
- bool WriteDescriptorSet(
-@@ -427,6 +429,13 @@
- // parsed FileDescriptorSets to be used for loading protos. Otherwise, empty.
- std::vector<std::string> descriptor_set_in_names_;
-
-+ // When using --encode / --decode / --decode_raw absolute path to the output
-+ // file. (Empty string indicates write to STDOUT).
-+ std::string protobuf_out_path_;
-+ // When using --encode / --decode / --decode_raw, absolute path to the input
-+ // file. (Empty string indicates read from STDIN).
-+ std::string protobuf_in_path_;
-+
- // If --descriptor_set_out was given, this is the filename to which the
- // FileDescriptorSet should be written. Otherwise, empty.
- std::string descriptor_set_out_name_;
---- /src/google/protobuf/compiler/command_line_interface_unittest.cc
-+++ /src/google/protobuf/compiler/command_line_interface_unittest.cc
-@@ -99,7 +99,7 @@
- virtual void SetUp();
- virtual void TearDown();
-
-- // Runs the CommandLineInterface with the given command line. The
-+ // Run the CommandLineInterface with the given command line. The
- // command is automatically split on spaces, and the string "$tmpdir"
- // is replaced with TestTempDir().
- void Run(const std::string& command);
-@@ -2626,6 +2626,17 @@
- std::string::npos);
- }
-
-+ void ExpectBinaryFilesMatch(const string &expected_file,
-+ const string &actual_file) {
-+ string expected_output, actual_output;
-+ ASSERT_TRUE(File::ReadFileToString(expected_file, &expected_output));
-+ ASSERT_TRUE(File::ReadFileToString(actual_file, &actual_output));
-+
-+ // Don't use EXPECT_EQ because we don't want to print raw binary data to
-+ // stdout on failure.
-+ EXPECT_TRUE(expected_output == actual_output);
-+ }
-+
- private:
- void WriteUnittestProtoDescriptorSet() {
- unittest_proto_descriptor_set_filename_ =
-@@ -2749,6 +2760,19 @@
- "Can only use --deterministic_output with --encode.\n");
- }
-
-+TEST_P(EncodeDecodeTest, RedirectInputOutput) {
-+ string out_file = TestTempDir() + "/golden_message_out.pbf";
-+ EXPECT_TRUE(
-+ Run(TestUtil::MaybeTranslatePath("net/proto2/internal/unittest.proto") +
-+ " --encode=protobuf_unittest.TestAllTypes" +
-+ " --protobuf_in=" + TestUtil::GetTestDataPath(
-+ "net/proto2/internal/"
-+ "testdata/text_format_unittest_data_oneof_implemented.txt") +
-+ " --protobuf_out=" + out_file));
-+ ExpectBinaryFilesMatch(out_file, TestUtil::GetTestDataPath(
-+ "net/proto2/internal/testdata/golden_message_oneof_implemented"));
-+}
-+
- INSTANTIATE_TEST_SUITE_P(FileDescriptorSetSource, EncodeDecodeTest,
- testing::Values(PROTO_PATH, DESCRIPTOR_SET_IN));
- } // anonymous namespace
diff --git a/dev-libs/protobuf/files/protobuf-3.16.0-system_libraries.patch b/dev-libs/protobuf/files/protobuf-3.16.0-system_libraries.patch
deleted file mode 100644
index 5b6f4101e9ca..000000000000
--- a/dev-libs/protobuf/files/protobuf-3.16.0-system_libraries.patch
+++ /dev/null
@@ -1,121 +0,0 @@
---- /Makefile.am
-+++ /Makefile.am
-@@ -11,28 +11,10 @@
- # Always include third_party directories in distributions.
- DIST_SUBDIRS = src conformance benchmarks third_party/googletest
-
--# Build gmock before we build protobuf tests. We don't add gmock to SUBDIRS
--# because then "make check" would also build and run all of gmock's own tests,
--# which takes a lot of time and is generally not useful to us. Also, we don't
--# want "make install" to recurse into gmock since we don't want to overwrite
--# the installed version of gmock if there is one.
- check-local:
-- @echo "Making lib/libgmock.a lib/libgmock_main.a in gmock"
-- @cd third_party/googletest/googletest && $(MAKE) $(AM_MAKEFLAGS) lib/libgtest.la lib/libgtest_main.la
-- @cd third_party/googletest/googlemock && $(MAKE) $(AM_MAKEFLAGS) lib/libgmock.la lib/libgmock_main.la
-
--# We would like to clean gmock when "make clean" is invoked. But we have to
--# be careful because clean-local is also invoked during "make distclean", but
--# "make distclean" already recurses into gmock because it's listed among the
--# DIST_SUBDIRS. distclean will delete gmock/Makefile, so if we then try to
--# cd to the directory again and "make clean" it will fail. So, check that the
--# Makefile exists before recursing.
- clean-local:
-- @if test -e third_party/googletest/Makefile; then \
-- echo "Making clean in googletest"; \
-- cd third_party/googletest && $(MAKE) $(AM_MAKEFLAGS) clean; \
-- fi; \
-- if test -e conformance/Makefile; then \
-+ @if test -e conformance/Makefile; then \
- echo "Making clean in conformance"; \
- cd conformance && $(MAKE) $(AM_MAKEFLAGS) clean; \
- fi; \
---- /configure.ac
-+++ /configure.ac
-@@ -236,12 +236,5 @@
- fi
- AC_SUBST([LIBLOG_LIBS])
-
--# HACK: Make gmock's configure script pick up our copy of CFLAGS and CXXFLAGS,
--# since the flags added by ACX_CHECK_SUNCC must be used when compiling gmock
--# too.
--export CFLAGS
--export CXXFLAGS
--AC_CONFIG_SUBDIRS([third_party/googletest])
--
- AC_CONFIG_FILES([Makefile src/Makefile benchmarks/Makefile conformance/Makefile protobuf.pc protobuf-lite.pc])
- AC_OUTPUT
---- /src/Makefile.am
-+++ /src/Makefile.am
-@@ -703,19 +703,11 @@
- google/protobuf/testing/file.cc \
- google/protobuf/testing/file.h
-
--GOOGLETEST_BUILD_DIR=../third_party/googletest/googletest
--GOOGLEMOCK_BUILD_DIR=../third_party/googletest/googlemock
--GOOGLETEST_SRC_DIR=$(srcdir)/../third_party/googletest/googletest
--GOOGLEMOCK_SRC_DIR=$(srcdir)/../third_party/googletest/googlemock
- check_PROGRAMS = protoc protobuf-test protobuf-lazy-descriptor-test \
- protobuf-lite-test test_plugin protobuf-lite-arena-test \
- $(GZCHECKPROGRAMS)
- protobuf_test_LDADD = $(PTHREAD_LIBS) libprotobuf.la libprotoc.la \
-- $(GOOGLETEST_BUILD_DIR)/lib/libgtest.la \
-- $(GOOGLEMOCK_BUILD_DIR)/lib/libgmock.la \
-- $(GOOGLEMOCK_BUILD_DIR)/lib/libgmock_main.la
--protobuf_test_CPPFLAGS = -I$(GOOGLETEST_SRC_DIR)/include \
-- -I$(GOOGLEMOCK_SRC_DIR)/include
-+ -lgtest -lgmock -lgmock_main
- # Disable optimization for tests unless the user explicitly asked for it,
- # since test_util.cc takes forever to compile with optimization (with GCC).
- # See configure.ac for more info.
-@@ -807,12 +799,8 @@
- # Run cpp_unittest again with PROTOBUF_TEST_NO_DESCRIPTORS defined.
- protobuf_lazy_descriptor_test_LDADD = $(PTHREAD_LIBS) libprotobuf.la \
- libprotoc.la \
-- $(GOOGLETEST_BUILD_DIR)/lib/libgtest.la \
-- $(GOOGLEMOCK_BUILD_DIR)/lib/libgmock.la \
-- $(GOOGLEMOCK_BUILD_DIR)/lib/libgmock_main.la
--protobuf_lazy_descriptor_test_CPPFLAGS = -I$(GOOGLEMOCK_SRC_DIR)/include \
-- -I$(GOOGLETEST_SRC_DIR)/include \
-- -DPROTOBUF_TEST_NO_DESCRIPTORS
-+ -lgtest -lgmock -lgmock_main
-+protobuf_lazy_descriptor_test_CPPFLAGS = -DPROTOBUF_TEST_NO_DESCRIPTORS
- protobuf_lazy_descriptor_test_CXXFLAGS = $(NO_OPT_CXXFLAGS)
- protobuf_lazy_descriptor_test_SOURCES = \
- google/protobuf/compiler/cpp/cpp_unittest.cc \
-@@ -833,11 +821,7 @@
- # full runtime and we want to make sure this test builds without full
- # runtime.
- protobuf_lite_test_LDADD = $(PTHREAD_LIBS) libprotobuf-lite.la \
-- $(GOOGLETEST_BUILD_DIR)/lib/libgtest.la \
-- $(GOOGLEMOCK_BUILD_DIR)/lib/libgmock.la \
-- $(GOOGLEMOCK_BUILD_DIR)/lib/libgmock_main.la
--protobuf_lite_test_CPPFLAGS= -I$(GOOGLEMOCK_SRC_DIR)/include \
-- -I$(GOOGLETEST_SRC_DIR)/include
-+ -lgtest -lgmock -lgmock_main
- protobuf_lite_test_CXXFLAGS = $(NO_OPT_CXXFLAGS)
- protobuf_lite_test_SOURCES = \
- google/protobuf/lite_unittest.cc \
-@@ -849,11 +833,7 @@
- # gtest when building the test internally our memory sanitizer doesn't detect
- # memory leaks (don't know why).
- protobuf_lite_arena_test_LDADD = $(PTHREAD_LIBS) libprotobuf-lite.la \
-- $(GOOGLETEST_BUILD_DIR)/lib/libgtest.la \
-- $(GOOGLEMOCK_BUILD_DIR)/lib/libgmock.la \
-- $(GOOGLEMOCK_BUILD_DIR)/lib/libgmock_main.la
--protobuf_lite_arena_test_CPPFLAGS = -I$(GOOGLEMOCK_SRC_DIR)/include \
-- -I$(GOOGLETEST_SRC_DIR)/include
-+ -lgtest -lgmock -lgmock_main
- protobuf_lite_arena_test_CXXFLAGS = $(NO_OPT_CXXFLAGS)
- protobuf_lite_arena_test_SOURCES = \
- google/protobuf/lite_arena_unittest.cc \
-@@ -863,8 +843,7 @@
-
- # Test plugin binary.
- test_plugin_LDADD = $(PTHREAD_LIBS) libprotobuf.la libprotoc.la \
-- $(GOOGLETEST_BUILD_DIR)/lib/libgtest.la
--test_plugin_CPPFLAGS = -I$(GOOGLETEST_SRC_DIR)/include
-+ -lgtest
- test_plugin_SOURCES = \
- google/protobuf/compiler/mock_code_generator.cc \
- google/protobuf/testing/file.cc \
diff --git a/dev-libs/protobuf/files/protobuf-3.17.0-disable_no-warning-test.patch b/dev-libs/protobuf/files/protobuf-3.17.0-disable_no-warning-test.patch
deleted file mode 100644
index eb1598c945fd..000000000000
--- a/dev-libs/protobuf/files/protobuf-3.17.0-disable_no-warning-test.patch
+++ /dev/null
@@ -1,19 +0,0 @@
-Disable no-warning-test which is compiled with -Werror option and whose only purpose is checking if compilation results in any warnings.
-
---- /src/Makefile.am
-+++ /src/Makefile.am
-@@ -713,7 +713,7 @@
- GOOGLEMOCK_SRC_DIR=$(srcdir)/../third_party/googletest/googlemock
- check_PROGRAMS = protoc protobuf-test protobuf-lazy-descriptor-test \
- protobuf-lite-test test_plugin protobuf-lite-arena-test \
-- no-warning-test $(GZCHECKPROGRAMS)
-+ $(GZCHECKPROGRAMS)
- protobuf_test_LDADD = $(PTHREAD_LIBS) libprotobuf.la libprotoc.la \
- $(GOOGLETEST_BUILD_DIR)/lib/libgtest.la \
- $(GOOGLEMOCK_BUILD_DIR)/lib/libgmock.la \
-@@ -900,4 +900,4 @@
-
- TESTS = protobuf-test protobuf-lazy-descriptor-test protobuf-lite-test \
- google/protobuf/compiler/zip_output_unittest.sh $(GZTESTS) \
-- protobuf-lite-arena-test no-warning-test
-+ protobuf-lite-arena-test
diff --git a/dev-libs/protobuf/files/protobuf-3.17.0-system_libraries.patch b/dev-libs/protobuf/files/protobuf-3.17.0-system_libraries.patch
deleted file mode 100644
index 3d5069dd1478..000000000000
--- a/dev-libs/protobuf/files/protobuf-3.17.0-system_libraries.patch
+++ /dev/null
@@ -1,121 +0,0 @@
---- /Makefile.am
-+++ /Makefile.am
-@@ -11,28 +11,10 @@
- # Always include third_party directories in distributions.
- DIST_SUBDIRS = src conformance benchmarks third_party/googletest
-
--# Build gmock before we build protobuf tests. We don't add gmock to SUBDIRS
--# because then "make check" would also build and run all of gmock's own tests,
--# which takes a lot of time and is generally not useful to us. Also, we don't
--# want "make install" to recurse into gmock since we don't want to overwrite
--# the installed version of gmock if there is one.
- check-local:
-- @echo "Making lib/libgmock.a lib/libgmock_main.a in gmock"
-- @cd third_party/googletest/googletest && $(MAKE) $(AM_MAKEFLAGS) lib/libgtest.la lib/libgtest_main.la
-- @cd third_party/googletest/googlemock && $(MAKE) $(AM_MAKEFLAGS) lib/libgmock.la lib/libgmock_main.la
-
--# We would like to clean gmock when "make clean" is invoked. But we have to
--# be careful because clean-local is also invoked during "make distclean", but
--# "make distclean" already recurses into gmock because it's listed among the
--# DIST_SUBDIRS. distclean will delete gmock/Makefile, so if we then try to
--# cd to the directory again and "make clean" it will fail. So, check that the
--# Makefile exists before recursing.
- clean-local:
-- @if test -e third_party/googletest/Makefile; then \
-- echo "Making clean in googletest"; \
-- cd third_party/googletest && $(MAKE) $(AM_MAKEFLAGS) clean; \
-- fi; \
-- if test -e conformance/Makefile; then \
-+ @if test -e conformance/Makefile; then \
- echo "Making clean in conformance"; \
- cd conformance && $(MAKE) $(AM_MAKEFLAGS) clean; \
- fi; \
---- /configure.ac
-+++ /configure.ac
-@@ -236,12 +236,5 @@
- fi
- AC_SUBST([LIBLOG_LIBS])
-
--# HACK: Make gmock's configure script pick up our copy of CFLAGS and CXXFLAGS,
--# since the flags added by ACX_CHECK_SUNCC must be used when compiling gmock
--# too.
--export CFLAGS
--export CXXFLAGS
--AC_CONFIG_SUBDIRS([third_party/googletest])
--
- AC_CONFIG_FILES([Makefile src/Makefile benchmarks/Makefile conformance/Makefile protobuf.pc protobuf-lite.pc])
- AC_OUTPUT
---- /src/Makefile.am
-+++ /src/Makefile.am
-@@ -707,19 +707,11 @@
- google/protobuf/testing/file.cc \
- google/protobuf/testing/file.h
-
--GOOGLETEST_BUILD_DIR=../third_party/googletest/googletest
--GOOGLEMOCK_BUILD_DIR=../third_party/googletest/googlemock
--GOOGLETEST_SRC_DIR=$(srcdir)/../third_party/googletest/googletest
--GOOGLEMOCK_SRC_DIR=$(srcdir)/../third_party/googletest/googlemock
- check_PROGRAMS = protoc protobuf-test protobuf-lazy-descriptor-test \
- protobuf-lite-test test_plugin protobuf-lite-arena-test \
- $(GZCHECKPROGRAMS)
- protobuf_test_LDADD = $(PTHREAD_LIBS) libprotobuf.la libprotoc.la \
-- $(GOOGLETEST_BUILD_DIR)/lib/libgtest.la \
-- $(GOOGLEMOCK_BUILD_DIR)/lib/libgmock.la \
-- $(GOOGLEMOCK_BUILD_DIR)/lib/libgmock_main.la
--protobuf_test_CPPFLAGS = -I$(GOOGLETEST_SRC_DIR)/include \
-- -I$(GOOGLEMOCK_SRC_DIR)/include
-+ -lgtest -lgmock -lgmock_main
- # Disable optimization for tests unless the user explicitly asked for it,
- # since test_util.cc takes forever to compile with optimization (with GCC).
- # See configure.ac for more info.
-@@ -811,12 +803,8 @@
- # Run cpp_unittest again with PROTOBUF_TEST_NO_DESCRIPTORS defined.
- protobuf_lazy_descriptor_test_LDADD = $(PTHREAD_LIBS) libprotobuf.la \
- libprotoc.la \
-- $(GOOGLETEST_BUILD_DIR)/lib/libgtest.la \
-- $(GOOGLEMOCK_BUILD_DIR)/lib/libgmock.la \
-- $(GOOGLEMOCK_BUILD_DIR)/lib/libgmock_main.la
--protobuf_lazy_descriptor_test_CPPFLAGS = -I$(GOOGLEMOCK_SRC_DIR)/include \
-- -I$(GOOGLETEST_SRC_DIR)/include \
-- -DPROTOBUF_TEST_NO_DESCRIPTORS
-+ -lgtest -lgmock -lgmock_main
-+protobuf_lazy_descriptor_test_CPPFLAGS = -DPROTOBUF_TEST_NO_DESCRIPTORS
- protobuf_lazy_descriptor_test_CXXFLAGS = $(NO_OPT_CXXFLAGS)
- protobuf_lazy_descriptor_test_SOURCES = \
- google/protobuf/compiler/cpp/cpp_unittest.cc \
-@@ -837,11 +825,7 @@
- # full runtime and we want to make sure this test builds without full
- # runtime.
- protobuf_lite_test_LDADD = $(PTHREAD_LIBS) libprotobuf-lite.la \
-- $(GOOGLETEST_BUILD_DIR)/lib/libgtest.la \
-- $(GOOGLEMOCK_BUILD_DIR)/lib/libgmock.la \
-- $(GOOGLEMOCK_BUILD_DIR)/lib/libgmock_main.la
--protobuf_lite_test_CPPFLAGS= -I$(GOOGLEMOCK_SRC_DIR)/include \
-- -I$(GOOGLETEST_SRC_DIR)/include
-+ -lgtest -lgmock -lgmock_main
- protobuf_lite_test_CXXFLAGS = $(NO_OPT_CXXFLAGS)
- protobuf_lite_test_SOURCES = \
- google/protobuf/lite_unittest.cc \
-@@ -853,11 +837,7 @@
- # gtest when building the test internally our memory sanitizer doesn't detect
- # memory leaks (don't know why).
- protobuf_lite_arena_test_LDADD = $(PTHREAD_LIBS) libprotobuf-lite.la \
-- $(GOOGLETEST_BUILD_DIR)/lib/libgtest.la \
-- $(GOOGLEMOCK_BUILD_DIR)/lib/libgmock.la \
-- $(GOOGLEMOCK_BUILD_DIR)/lib/libgmock_main.la
--protobuf_lite_arena_test_CPPFLAGS = -I$(GOOGLEMOCK_SRC_DIR)/include \
-- -I$(GOOGLETEST_SRC_DIR)/include
-+ -lgtest -lgmock -lgmock_main
- protobuf_lite_arena_test_CXXFLAGS = $(NO_OPT_CXXFLAGS)
- protobuf_lite_arena_test_SOURCES = \
- google/protobuf/lite_arena_unittest.cc \
-@@ -867,8 +847,7 @@
-
- # Test plugin binary.
- test_plugin_LDADD = $(PTHREAD_LIBS) libprotobuf.la libprotoc.la \
-- $(GOOGLETEST_BUILD_DIR)/lib/libgtest.la
--test_plugin_CPPFLAGS = -I$(GOOGLETEST_SRC_DIR)/include
-+ -lgtest
- test_plugin_SOURCES = \
- google/protobuf/compiler/mock_code_generator.cc \
- google/protobuf/testing/file.cc \
diff --git a/dev-libs/protobuf/files/protobuf-3.19.0-disable_no-warning-test.patch b/dev-libs/protobuf/files/protobuf-3.19.0-disable_no-warning-test.patch
new file mode 100644
index 000000000000..eb3dd0c1cb3f
--- /dev/null
+++ b/dev-libs/protobuf/files/protobuf-3.19.0-disable_no-warning-test.patch
@@ -0,0 +1,36 @@
+From 12e381222a8cdce50845dfb7d8fdf863f6f8bb8a Mon Sep 17 00:00:00 2001
+From: Arfrever Frehtes Taifersar Arahesis <Arfrever@Apache.Org>
+Date: Fri, 28 Jan 2022 15:08:40 +0800
+Subject: [PATCH] protobuf-3.19.0: disable no-warning test
+
+Disable no-warning-test which is compiled with -Werror option
+and whose only purpose is checking if compilation results in any warnings.
+
+Signed-off-by: Arfrever Frehtes Taifersar Arahesis <Arfrever@Apache.Org>
+Signed-off-by: Yixun Lan <dlan@gentoo.org>
+---
+ src/Makefile.am | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/src/Makefile.am b/src/Makefile.am
+index 3312e5d..7e86b62 100644
+--- a/src/Makefile.am
++++ b/src/Makefile.am
+@@ -722,7 +722,7 @@ GOOGLETEST_SRC_DIR=$(srcdir)/../third_party/googletest/googletest
+ GOOGLEMOCK_SRC_DIR=$(srcdir)/../third_party/googletest/googlemock
+ check_PROGRAMS = protoc protobuf-test protobuf-lazy-descriptor-test \
+ protobuf-lite-test test_plugin protobuf-lite-arena-test \
+- no-warning-test $(GZCHECKPROGRAMS)
++ $(GZCHECKPROGRAMS)
+ protobuf_test_LDADD = $(PTHREAD_LIBS) libprotobuf.la libprotoc.la \
+ $(GOOGLETEST_BUILD_DIR)/lib/libgtest.la \
+ $(GOOGLEMOCK_BUILD_DIR)/lib/libgmock.la \
+@@ -911,4 +911,4 @@ nodist_no_warning_test_SOURCES = no_warning_test.cc $(protoc_outputs)
+
+ TESTS = protobuf-test protobuf-lazy-descriptor-test protobuf-lite-test \
+ google/protobuf/compiler/zip_output_unittest.sh $(GZTESTS) \
+- protobuf-lite-arena-test no-warning-test
++ protobuf-lite-arena-test
+--
+2.34.1
+
diff --git a/dev-libs/protobuf/files/protobuf-3.19.0-system_libraries.patch b/dev-libs/protobuf/files/protobuf-3.19.0-system_libraries.patch
new file mode 100644
index 000000000000..56905c7847db
--- /dev/null
+++ b/dev-libs/protobuf/files/protobuf-3.19.0-system_libraries.patch
@@ -0,0 +1,146 @@
+From c080d329298e841d7d4e1380ff7ec88de5cb3b02 Mon Sep 17 00:00:00 2001
+From: Arfrever Frehtes Taifersar Arahesis <Arfrever@Apache.Org>
+Date: Fri, 28 Jan 2022 15:14:59 +0800
+Subject: [PATCH] protobuf-3.19.0: system_libraries
+
+Use system version of GoogleTest,
+which will unbundle gtest, gmock libraries
+
+Signed-off-by: Arfrever Frehtes Taifersar Arahesis <Arfrever@Apache.Org>
+Signed-off-by: Yixun Lan <dlan@gentoo.org>
+---
+ Makefile.am | 20 +-------------------
+ configure.ac | 7 -------
+ src/Makefile.am | 33 ++++++---------------------------
+ 3 files changed, 7 insertions(+), 53 deletions(-)
+
+diff --git a/Makefile.am b/Makefile.am
+index 41d4061..b24f8f4 100644
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -11,28 +11,10 @@ SUBDIRS = . src
+ # Always include third_party directories in distributions.
+ DIST_SUBDIRS = src conformance benchmarks third_party/googletest
+
+-# Build gmock before we build protobuf tests. We don't add gmock to SUBDIRS
+-# because then "make check" would also build and run all of gmock's own tests,
+-# which takes a lot of time and is generally not useful to us. Also, we don't
+-# want "make install" to recurse into gmock since we don't want to overwrite
+-# the installed version of gmock if there is one.
+ check-local:
+- @echo "Making lib/libgmock.a lib/libgmock_main.a in gmock"
+- @cd third_party/googletest/googletest && $(MAKE) $(AM_MAKEFLAGS) lib/libgtest.la lib/libgtest_main.la
+- @cd third_party/googletest/googlemock && $(MAKE) $(AM_MAKEFLAGS) lib/libgmock.la lib/libgmock_main.la
+
+-# We would like to clean gmock when "make clean" is invoked. But we have to
+-# be careful because clean-local is also invoked during "make distclean", but
+-# "make distclean" already recurses into gmock because it's listed among the
+-# DIST_SUBDIRS. distclean will delete gmock/Makefile, so if we then try to
+-# cd to the directory again and "make clean" it will fail. So, check that the
+-# Makefile exists before recursing.
+ clean-local:
+- @if test -e third_party/googletest/Makefile; then \
+- echo "Making clean in googletest"; \
+- cd third_party/googletest && $(MAKE) $(AM_MAKEFLAGS) clean; \
+- fi; \
+- if test -e conformance/Makefile; then \
++ @if test -e conformance/Makefile; then \
+ echo "Making clean in conformance"; \
+ cd conformance && $(MAKE) $(AM_MAKEFLAGS) clean; \
+ fi; \
+diff --git a/configure.ac b/configure.ac
+index 02085ca..449fb3d 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -236,12 +236,5 @@ if test "x$ANDROID_TEST" = xyes; then
+ fi
+ AC_SUBST([LIBLOG_LIBS])
+
+-# HACK: Make gmock's configure script pick up our copy of CFLAGS and CXXFLAGS,
+-# since the flags added by ACX_CHECK_SUNCC must be used when compiling gmock
+-# too.
+-export CFLAGS
+-export CXXFLAGS
+-AC_CONFIG_SUBDIRS([third_party/googletest])
+-
+ AC_CONFIG_FILES([Makefile src/Makefile benchmarks/Makefile conformance/Makefile protobuf.pc protobuf-lite.pc])
+ AC_OUTPUT
+diff --git a/src/Makefile.am b/src/Makefile.am
+index 7e86b62..47d759f 100644
+--- a/src/Makefile.am
++++ b/src/Makefile.am
+@@ -716,19 +716,11 @@ COMMON_TEST_SOURCES = \
+ google/protobuf/testing/googletest.cc \
+ google/protobuf/testing/googletest.h
+
+-GOOGLETEST_BUILD_DIR=../third_party/googletest/googletest
+-GOOGLEMOCK_BUILD_DIR=../third_party/googletest/googlemock
+-GOOGLETEST_SRC_DIR=$(srcdir)/../third_party/googletest/googletest
+-GOOGLEMOCK_SRC_DIR=$(srcdir)/../third_party/googletest/googlemock
+ check_PROGRAMS = protoc protobuf-test protobuf-lazy-descriptor-test \
+ protobuf-lite-test test_plugin protobuf-lite-arena-test \
+ $(GZCHECKPROGRAMS)
+ protobuf_test_LDADD = $(PTHREAD_LIBS) libprotobuf.la libprotoc.la \
+- $(GOOGLETEST_BUILD_DIR)/lib/libgtest.la \
+- $(GOOGLEMOCK_BUILD_DIR)/lib/libgmock.la \
+- $(GOOGLEMOCK_BUILD_DIR)/lib/libgmock_main.la
+-protobuf_test_CPPFLAGS = -I$(GOOGLETEST_SRC_DIR)/include \
+- -I$(GOOGLEMOCK_SRC_DIR)/include
++ -lgtest -lgmock -lgmock_main
+ # Disable optimization for tests unless the user explicitly asked for it,
+ # since test_util.cc takes forever to compile with optimization (with GCC).
+ # See configure.ac for more info.
+@@ -820,12 +812,8 @@ $(am_protobuf_test_OBJECTS): unittest_proto_middleman
+ # Run cpp_unittest again with PROTOBUF_TEST_NO_DESCRIPTORS defined.
+ protobuf_lazy_descriptor_test_LDADD = $(PTHREAD_LIBS) libprotobuf.la \
+ libprotoc.la \
+- $(GOOGLETEST_BUILD_DIR)/lib/libgtest.la \
+- $(GOOGLEMOCK_BUILD_DIR)/lib/libgmock.la \
+- $(GOOGLEMOCK_BUILD_DIR)/lib/libgmock_main.la
+-protobuf_lazy_descriptor_test_CPPFLAGS = -I$(GOOGLEMOCK_SRC_DIR)/include \
+- -I$(GOOGLETEST_SRC_DIR)/include \
+- -DPROTOBUF_TEST_NO_DESCRIPTORS
++ -lgtest -lgmock -lgmock_main
++protobuf_lazy_descriptor_test_CPPFLAGS = -DPROTOBUF_TEST_NO_DESCRIPTORS
+ protobuf_lazy_descriptor_test_CXXFLAGS = $(NO_OPT_CXXFLAGS)
+ protobuf_lazy_descriptor_test_SOURCES = \
+ google/protobuf/compiler/cpp/cpp_unittest.cc \
+@@ -847,11 +835,7 @@ COMMON_LITE_TEST_SOURCES = \
+ # full runtime and we want to make sure this test builds without full
+ # runtime.
+ protobuf_lite_test_LDADD = $(PTHREAD_LIBS) libprotobuf-lite.la \
+- $(GOOGLETEST_BUILD_DIR)/lib/libgtest.la \
+- $(GOOGLEMOCK_BUILD_DIR)/lib/libgmock.la \
+- $(GOOGLEMOCK_BUILD_DIR)/lib/libgmock_main.la
+-protobuf_lite_test_CPPFLAGS= -I$(GOOGLEMOCK_SRC_DIR)/include \
+- -I$(GOOGLETEST_SRC_DIR)/include
++ -lgtest -lgmock -lgmock_main
+ protobuf_lite_test_CXXFLAGS = $(NO_OPT_CXXFLAGS)
+ protobuf_lite_test_SOURCES = \
+ google/protobuf/lite_unittest.cc \
+@@ -863,11 +847,7 @@ $(am_protobuf_lite_test_OBJECTS): unittest_proto_middleman
+ # gtest when building the test internally our memory sanitizer doesn't detect
+ # memory leaks (don't know why).
+ protobuf_lite_arena_test_LDADD = $(PTHREAD_LIBS) libprotobuf-lite.la \
+- $(GOOGLETEST_BUILD_DIR)/lib/libgtest.la \
+- $(GOOGLEMOCK_BUILD_DIR)/lib/libgmock.la \
+- $(GOOGLEMOCK_BUILD_DIR)/lib/libgmock_main.la
+-protobuf_lite_arena_test_CPPFLAGS = -I$(GOOGLEMOCK_SRC_DIR)/include \
+- -I$(GOOGLETEST_SRC_DIR)/include
++ -lgtest -lgmock -lgmock_main
+ protobuf_lite_arena_test_CXXFLAGS = $(NO_OPT_CXXFLAGS)
+ protobuf_lite_arena_test_SOURCES = \
+ google/protobuf/lite_arena_unittest.cc \
+@@ -877,8 +857,7 @@ $(am_protobuf_lite_arena_test_OBJECTS): unittest_proto_middleman
+
+ # Test plugin binary.
+ test_plugin_LDADD = $(PTHREAD_LIBS) libprotobuf.la libprotoc.la \
+- $(GOOGLETEST_BUILD_DIR)/lib/libgtest.la
+-test_plugin_CPPFLAGS = -I$(GOOGLETEST_SRC_DIR)/include
++ -lgtest
+ test_plugin_SOURCES = \
+ google/protobuf/compiler/mock_code_generator.cc \
+ google/protobuf/compiler/test_plugin.cc \
+--
+2.34.1
+
diff --git a/dev-libs/protobuf/files/protobuf-3.20.2-protoc_input_output_files.patch b/dev-libs/protobuf/files/protobuf-3.20.2-protoc_input_output_files.patch
new file mode 100644
index 000000000000..e4bf6858974a
--- /dev/null
+++ b/dev-libs/protobuf/files/protobuf-3.20.2-protoc_input_output_files.patch
@@ -0,0 +1,240 @@
+https://github.com/protocolbuffers/protobuf/pull/235
+
+--- a/src/google/protobuf/compiler/command_line_interface.cc
++++ b/src/google/protobuf/compiler/command_line_interface.cc
+@@ -1112,6 +1112,28 @@
+ }
+
+ if (mode_ == MODE_ENCODE || mode_ == MODE_DECODE) {
++ bool success = false;
++ int in_fd = STDIN_FILENO;
++ int out_fd = STDOUT_FILENO;
++
++ if (!protobuf_in_path_.empty()) {
++ in_fd = open(protobuf_in_path_.c_str(), O_RDONLY);
++ if (in_fd == -1) {
++ std::cerr << protobuf_in_path_ << ": error: failed to open file." << std::endl;
++ return 1;
++ }
++ }
++ if (!protobuf_out_path_.empty()) {
++ out_fd = open(protobuf_out_path_.c_str(),
++ O_WRONLY | O_CREAT | O_TRUNC,
++ 0644);
++ if (out_fd == -1) {
++ std::cerr << protobuf_out_path_ << ": error: failed to open file." << std::endl;
++ close(in_fd);
++ return 1;
++ }
++ }
++
+ if (codec_type_.empty()) {
+ // HACK: Define an EmptyMessage type to use for decoding.
+ DescriptorPool pool;
+@@ -1120,13 +1142,20 @@
+ file.add_message_type()->set_name("EmptyMessage");
+ GOOGLE_CHECK(pool.BuildFile(file) != nullptr);
+ codec_type_ = "EmptyMessage";
+- if (!EncodeOrDecode(&pool)) {
+- return 1;
+- }
++ success = EncodeOrDecode(&pool, in_fd, out_fd);
+ } else {
+- if (!EncodeOrDecode(descriptor_pool.get())) {
+- return 1;
+- }
++ success = EncodeOrDecode(descriptor_pool.get(), in_fd, out_fd);
++ }
++
++ if (in_fd != STDIN_FILENO) {
++ close(in_fd);
++ }
++ if (out_fd != STDOUT_FILENO) {
++ close(out_fd);
++ }
++
++ if (!success) {
++ return 1;
+ }
+ }
+
+@@ -1165,6 +1194,11 @@
+ for (int i = 0; i < proto_path_.size(); i++) {
+ source_tree->MapPath(proto_path_[i].first, proto_path_[i].second);
+ }
++ if (mode_ == MODE_COMPILE &&
++ (!protobuf_in_path_.empty() || !protobuf_out_path_.empty())) {
++ std::cerr << "--protobuf_in and --protobuf_out are only valid with "
++ << "decode operations. Ignoring.";
++ }
+
+ // Map input files to virtual paths if possible.
+ if (!MakeInputsBeProtoPathRelative(source_tree, fallback_database)) {
+@@ -1888,6 +1922,12 @@
+ } else if (name == "--deterministic_output") {
+ deterministic_output_ = true;
+
++ } else if (name == "--protobuf_in") {
++ protobuf_in_path_ = value;
++
++ } else if (name == "--protobuf_out") {
++ protobuf_out_path_ = value;
++
+ } else if (name == "--error_format") {
+ if (value == "gcc") {
+ error_format_ = ERROR_FORMAT_GCC;
+@@ -2021,22 +2061,38 @@
+ --version Show version info and exit.
+ -h, --help Show this text and exit.
+ --encode=MESSAGE_TYPE Read a text-format message of the given type
+- from standard input and write it in binary
+- to standard output. The message type must
++ from input protobuf file and write it in binary
++ to output protobuf file. The message type must
+ be defined in PROTO_FILES or their imports.
++ The input/output protobuf files are specified
++ using the --protobuf_in and --protobuf_out
++ command line flags.
+ --deterministic_output When using --encode, ensure map fields are
+ deterministically ordered. Note that this order
+ is not canonical, and changes across builds or
+ releases of protoc.
+ --decode=MESSAGE_TYPE Read a binary message of the given type from
+- standard input and write it in text format
+- to standard output. The message type must
++ input protobuf file and write it in text format
++ to output protobuf file. The message type must
+ be defined in PROTO_FILES or their imports.
++ The input/output protobuf files are specified
++ using the --protobuf_in and --protobuf_out
++ command line flags.
+ --decode_raw Read an arbitrary protocol message from
+- standard input and write the raw tag/value
+- pairs in text format to standard output. No
++ input protobuf file and write the raw tag/value
++ pairs in text format to output protobuf file. No
+ PROTO_FILES should be given when using this
+- flag.
++ flag. The input/output protobuf files are
++ specified using the --protobuf_in and
++ --protobuf_out command line flags.
++ --protobuf_in=FILE Absolute path to the protobuf file from which
++ input of encoding/decoding operation will be
++ read. If omitted, input will be read from
++ standard input.
++ --protobuf_out=FILE Absolute path to the protobuf file to which
++ output of encoding/decoding operation will be
++ written. If omitted, output will be written to
++ standard output.
+ --descriptor_set_in=FILES Specifies a delimited list of FILES
+ each containing a FileDescriptorSet (a
+ protocol buffer defined in descriptor.proto).
+@@ -2347,7 +2403,9 @@
+ return true;
+ }
+
+-bool CommandLineInterface::EncodeOrDecode(const DescriptorPool* pool) {
++bool CommandLineInterface::EncodeOrDecode(const DescriptorPool* pool,
++ int in_fd,
++ int out_fd) {
+ // Look up the type.
+ const Descriptor* type = pool->FindMessageTypeByName(codec_type_);
+ if (type == nullptr) {
+@@ -2359,15 +2417,15 @@
+ std::unique_ptr<Message> message(dynamic_factory.GetPrototype(type)->New());
+
+ if (mode_ == MODE_ENCODE) {
+- SetFdToTextMode(STDIN_FILENO);
+- SetFdToBinaryMode(STDOUT_FILENO);
++ SetFdToTextMode(in_fd);
++ SetFdToBinaryMode(out_fd);
+ } else {
+- SetFdToBinaryMode(STDIN_FILENO);
+- SetFdToTextMode(STDOUT_FILENO);
++ SetFdToBinaryMode(in_fd);
++ SetFdToTextMode(out_fd);
+ }
+
+- io::FileInputStream in(STDIN_FILENO);
+- io::FileOutputStream out(STDOUT_FILENO);
++ io::FileInputStream in(in_fd);
++ io::FileOutputStream out(out_fd);
+
+ if (mode_ == MODE_ENCODE) {
+ // Input is text.
+--- a/src/google/protobuf/compiler/command_line_interface.h
++++ b/src/google/protobuf/compiler/command_line_interface.h
+@@ -294,7 +294,9 @@
+ GeneratorContext* generator_context, std::string* error);
+
+ // Implements --encode and --decode.
+- bool EncodeOrDecode(const DescriptorPool* pool);
++ bool EncodeOrDecode(const DescriptorPool* pool,
++ int in_fd,
++ int out_fd);
+
+ // Implements the --descriptor_set_out option.
+ bool WriteDescriptorSet(
+@@ -429,6 +431,13 @@
+ // parsed FileDescriptorSets to be used for loading protos. Otherwise, empty.
+ std::vector<std::string> descriptor_set_in_names_;
+
++ // When using --encode / --decode / --decode_raw absolute path to the output
++ // file. (Empty string indicates write to STDOUT).
++ std::string protobuf_out_path_;
++ // When using --encode / --decode / --decode_raw, absolute path to the input
++ // file. (Empty string indicates read from STDIN).
++ std::string protobuf_in_path_;
++
+ // If --descriptor_set_out was given, this is the filename to which the
+ // FileDescriptorSet should be written. Otherwise, empty.
+ std::string descriptor_set_out_name_;
+--- a/src/google/protobuf/compiler/command_line_interface_unittest.cc
++++ b/src/google/protobuf/compiler/command_line_interface_unittest.cc
+@@ -99,7 +99,7 @@
+ void SetUp() override;
+ void TearDown() override;
+
+- // Runs the CommandLineInterface with the given command line. The
++ // Run the CommandLineInterface with the given command line. The
+ // command is automatically split on spaces, and the string "$tmpdir"
+ // is replaced with TestTempDir().
+ void Run(const std::string& command);
+@@ -2626,6 +2626,17 @@
+ std::string::npos);
+ }
+
++ void ExpectBinaryFilesMatch(const std::string &expected_file,
++ const std::string &actual_file) {
++ std::string expected_output, actual_output;
++ ASSERT_TRUE(File::ReadFileToString(expected_file, &expected_output));
++ ASSERT_TRUE(File::ReadFileToString(actual_file, &actual_output));
++
++ // Don't use EXPECT_EQ because we don't want to print raw binary data to
++ // stdout on failure.
++ EXPECT_TRUE(expected_output == actual_output);
++ }
++
+ private:
+ void WriteUnittestProtoDescriptorSet() {
+ unittest_proto_descriptor_set_filename_ =
+@@ -2749,6 +2760,19 @@
+ "Can only use --deterministic_output with --encode.\n");
+ }
+
++TEST_P(EncodeDecodeTest, RedirectInputOutput) {
++ std::string out_file = TestTempDir() + "/golden_message_out.pbf";
++ EXPECT_TRUE(
++ Run(TestUtil::MaybeTranslatePath("net/proto2/internal/unittest.proto") +
++ " --encode=protobuf_unittest.TestAllTypes" +
++ " --protobuf_in=" + TestUtil::GetTestDataPath(
++ "net/proto2/internal/"
++ "testdata/text_format_unittest_data_oneof_implemented.txt") +
++ " --protobuf_out=" + out_file));
++ ExpectBinaryFilesMatch(out_file, TestUtil::GetTestDataPath(
++ "net/proto2/internal/testdata/golden_message_oneof_implemented"));
++}
++
+ INSTANTIATE_TEST_SUITE_P(FileDescriptorSetSource, EncodeDecodeTest,
+ testing::Values(PROTO_PATH, DESCRIPTOR_SET_IN));
+ } // anonymous namespace
diff --git a/dev-libs/protobuf/metadata.xml b/dev-libs/protobuf/metadata.xml
index b881bbd59270..4ac93ba8e52d 100644
--- a/dev-libs/protobuf/metadata.xml
+++ b/dev-libs/protobuf/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>
<slots>
<subslots>Soname version number</subslots>
diff --git a/dev-libs/protobuf/protobuf-21.12.ebuild b/dev-libs/protobuf/protobuf-21.12.ebuild
new file mode 100644
index 000000000000..3672570cf101
--- /dev/null
+++ b/dev-libs/protobuf/protobuf-21.12.ebuild
@@ -0,0 +1,105 @@
+# Copyright 2008-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake-multilib elisp-common toolchain-funcs
+
+if [[ "${PV}" == *9999 ]]; then
+ inherit git-r3
+
+ EGIT_REPO_URI="https://github.com/protocolbuffers/protobuf.git"
+ EGIT_SUBMODULES=()
+else
+ SRC_URI="https://github.com/protocolbuffers/protobuf/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~alpha amd64 arm arm64 ~loong ~mips ppc64 ~riscv x86 ~amd64-linux ~x86-linux ~x64-macos"
+fi
+
+DESCRIPTION="Google's Protocol Buffers - Extensible mechanism for serializing structured data"
+HOMEPAGE="https://protobuf.dev/"
+
+LICENSE="BSD"
+SLOT="0/3.$(ver_cut 1-2).0"
+IUSE="emacs examples test zlib"
+RESTRICT="!test? ( test )"
+
+BDEPEND="emacs? ( app-editors/emacs:* )"
+DEPEND="
+ zlib? ( sys-libs/zlib[${MULTILIB_USEDEP}] )
+ test? ( >=dev-cpp/gtest-1.9[${MULTILIB_USEDEP}] )
+"
+RDEPEND="
+ emacs? ( app-editors/emacs:* )
+ zlib? ( sys-libs/zlib[${MULTILIB_USEDEP}] )
+"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-23.3-disable-32-bit-tests.patch"
+ "${FILESDIR}/${PN}-23.3-static_assert-failure.patch"
+)
+
+DOCS=( CONTRIBUTORS.txt README.md )
+
+src_configure() {
+ if tc-ld-is-gold; then
+ # https://sourceware.org/bugzilla/show_bug.cgi?id=24527
+ tc-ld-disable-gold
+ fi
+
+ cmake-multilib_src_configure
+}
+
+multilib_src_configure() {
+ local mycmakeargs=(
+ -Dprotobuf_DISABLE_RTTI=ON
+ -Dprotobuf_BUILD_EXAMPLES=$(usex examples)
+ -Dprotobuf_WITH_ZLIB=$(usex zlib)
+ -Dprotobuf_BUILD_TESTS=$(usex test)
+ )
+ use test && mycmakeargs+=(-Dprotobuf_USE_EXTERNAL_GTEST=ON)
+
+ cmake_src_configure
+}
+
+src_compile() {
+ cmake-multilib_src_compile
+
+ if use emacs; then
+ elisp-compile editors/protobuf-mode.el
+ fi
+}
+
+multilib_src_install_all() {
+ find "${ED}" -name "*.la" -delete || die
+
+ if [[ ! -f "${ED}/usr/$(get_libdir)/libprotobuf.so.${SLOT#*/}" ]]; then
+ eerror "No matching library found with SLOT variable, currently set: ${SLOT}\n" \
+ "Expected value: ${ED}/usr/$(get_libdir)/libprotobuf.so.${SLOT#*/}"
+ die "Please update SLOT variable"
+ fi
+
+ insinto /usr/share/vim/vimfiles/syntax
+ doins editors/proto.vim
+ insinto /usr/share/vim/vimfiles/ftdetect
+ doins "${FILESDIR}/proto.vim"
+
+ if use emacs; then
+ elisp-install ${PN} editors/protobuf-mode.el*
+ elisp-site-file-install "${FILESDIR}/70${PN}-gentoo.el"
+ fi
+
+ if use examples; then
+ DOCS+=(examples)
+ docompress -x /usr/share/doc/${PF}/examples
+ fi
+
+ einstalldocs
+}
+
+pkg_postinst() {
+ use emacs && elisp-site-regen
+}
+
+pkg_postrm() {
+ use emacs && elisp-site-regen
+}
diff --git a/dev-libs/protobuf/protobuf-21.9.ebuild b/dev-libs/protobuf/protobuf-21.9.ebuild
new file mode 100644
index 000000000000..68b9207ab7b4
--- /dev/null
+++ b/dev-libs/protobuf/protobuf-21.9.ebuild
@@ -0,0 +1,149 @@
+# Copyright 2008-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools elisp-common flag-o-matic multilib-minimal toolchain-funcs
+
+if [[ "${PV}" == *9999 ]]; then
+ inherit git-r3
+
+ EGIT_REPO_URI="https://github.com/protocolbuffers/protobuf.git"
+ EGIT_SUBMODULES=()
+else
+ SRC_URI="https://github.com/protocolbuffers/protobuf/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~x64-macos"
+fi
+
+DESCRIPTION="Google's Protocol Buffers - Extensible mechanism for serializing structured data"
+HOMEPAGE="
+ https://developers.google.com/protocol-buffers/
+"
+
+LICENSE="BSD"
+SLOT="0/32"
+IUSE="emacs examples static-libs test zlib"
+RESTRICT="!test? ( test )"
+
+BDEPEND="emacs? ( app-editors/emacs:* )"
+DEPEND="test? ( >=dev-cpp/gtest-1.9[${MULTILIB_USEDEP}] )
+ zlib? ( sys-libs/zlib[${MULTILIB_USEDEP}] )"
+RDEPEND="emacs? ( app-editors/emacs:* )
+ zlib? ( sys-libs/zlib[${MULTILIB_USEDEP}] )"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-3.19.0-disable_no-warning-test.patch"
+ "${FILESDIR}/${PN}-3.19.0-system_libraries.patch"
+ "${FILESDIR}/${PN}-3.20.2-protoc_input_output_files.patch"
+ "${FILESDIR}/${PN}-21.9-disable-32-bit-tests.patch"
+)
+
+DOCS=(CHANGES.txt CONTRIBUTORS.txt README.md)
+
+src_prepare() {
+ default
+
+ # https://github.com/protocolbuffers/protobuf/issues/7413
+ sed -e "/^AC_PROG_CXX_FOR_BUILD$/d" -i configure.ac || die
+
+ # https://github.com/protocolbuffers/protobuf/issues/8082
+ sed -e "/^TEST_F(IoTest, LargeOutput) {$/,/^}$/d" -i src/google/protobuf/io/zero_copy_stream_unittest.cc || die
+
+ # https://github.com/protocolbuffers/protobuf/issues/8459
+ sed \
+ -e "/^TEST(ArenaTest, BlockSizeSmallerThanAllocation) {$/a\\ if (sizeof(void*) == 4) {\n GTEST_SKIP();\n }" \
+ -e "/^TEST(ArenaTest, SpaceAllocated_and_Used) {$/a\\ if (sizeof(void*) == 4) {\n GTEST_SKIP();\n }" \
+ -i src/google/protobuf/arena_unittest.cc || die
+
+ # https://github.com/protocolbuffers/protobuf/issues/8460
+ sed -e "/^TEST(AnyTest, TestPackFromSerializationExceedsSizeLimit) {$/a\\ if (sizeof(void*) == 4) {\n GTEST_SKIP();\n }" -i src/google/protobuf/any_test.cc || die
+
+ # https://github.com/protocolbuffers/protobuf/issues/9433
+ sed -e "/^[[:space:]]*static_assert(alignof(U) <= 8, \"\");$/d" -i src/google/protobuf/descriptor.cc || die
+
+ eautoreconf
+}
+
+src_configure() {
+ append-cppflags -DGOOGLE_PROTOBUF_NO_RTTI
+
+ if tc-ld-is-gold; then
+ # https://sourceware.org/bugzilla/show_bug.cgi?id=24527
+ tc-ld-disable-gold
+ fi
+
+ multilib-minimal_src_configure
+}
+
+multilib_src_configure() {
+ local options=(
+ $(use_enable static-libs static)
+ $(use_with zlib)
+ )
+
+ if tc-is-cross-compiler; then
+ # Build system uses protoc when building, so protoc copy runnable on host is needed.
+ mkdir -p "${WORKDIR}/build" || die
+ pushd "${WORKDIR}/build" > /dev/null || die
+ ECONF_SOURCE="${S}" econf_build "${options[@]}"
+ options+=(--with-protoc="$(pwd)/src/protoc")
+ popd > /dev/null || die
+ fi
+
+ ECONF_SOURCE="${S}" econf "${options[@]}"
+}
+
+src_compile() {
+ multilib-minimal_src_compile
+
+ if use emacs; then
+ elisp-compile editors/protobuf-mode.el
+ fi
+}
+
+multilib_src_compile() {
+ if tc-is-cross-compiler; then
+ emake -C "${WORKDIR}/build/src" protoc
+ fi
+
+ default
+}
+
+multilib_src_test() {
+ emake check
+}
+
+multilib_src_install_all() {
+ find "${ED}" -name "*.la" -delete || die
+
+ if [[ ! -f "${ED}/usr/$(get_libdir)/libprotobuf.so.${SLOT#*/}" ]]; then
+ eerror "No matching library found with SLOT variable, currently set: ${SLOT}\n" \
+ "Expected value: ${ED}/usr/$(get_libdir)/libprotobuf.so.${SLOT#*/}"
+ die "Please update SLOT variable"
+ fi
+
+ insinto /usr/share/vim/vimfiles/syntax
+ doins editors/proto.vim
+ insinto /usr/share/vim/vimfiles/ftdetect
+ doins "${FILESDIR}/proto.vim"
+
+ if use emacs; then
+ elisp-install ${PN} editors/protobuf-mode.el*
+ elisp-site-file-install "${FILESDIR}/70${PN}-gentoo.el"
+ fi
+
+ if use examples; then
+ DOCS+=(examples)
+ docompress -x /usr/share/doc/${PF}/examples
+ fi
+
+ einstalldocs
+}
+
+pkg_postinst() {
+ use emacs && elisp-site-regen
+}
+
+pkg_postrm() {
+ use emacs && elisp-site-regen
+}
diff --git a/dev-libs/protobuf/protobuf-22.5.ebuild b/dev-libs/protobuf/protobuf-22.5.ebuild
new file mode 100644
index 000000000000..dc99040c5f31
--- /dev/null
+++ b/dev-libs/protobuf/protobuf-22.5.ebuild
@@ -0,0 +1,117 @@
+# Copyright 2008-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake-multilib elisp-common flag-o-matic toolchain-funcs
+
+if [[ "${PV}" == *9999 ]]; then
+ inherit git-r3
+
+ EGIT_REPO_URI="https://github.com/protocolbuffers/protobuf.git"
+ EGIT_SUBMODULES=()
+else
+ SRC_URI="https://github.com/protocolbuffers/protobuf/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~loong ~mips ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos"
+fi
+
+DESCRIPTION="Google's Protocol Buffers - Extensible mechanism for serializing structured data"
+HOMEPAGE="https://protobuf.dev/"
+
+LICENSE="BSD"
+SLOT="0/$(ver_cut 1-2).0"
+IUSE="emacs examples test zlib"
+RESTRICT="!test? ( test )"
+
+BDEPEND="emacs? ( app-editors/emacs:* )"
+DEPEND="
+ >=dev-cpp/abseil-cpp-20230125:=[${MULTILIB_USEDEP}]
+ zlib? ( sys-libs/zlib[${MULTILIB_USEDEP}] )
+ test? ( >=dev-cpp/gtest-1.9[${MULTILIB_USEDEP}] )
+"
+RDEPEND="
+ >=dev-cpp/abseil-cpp-20230125:=[${MULTILIB_USEDEP}]
+ emacs? ( app-editors/emacs:* )
+ zlib? ( sys-libs/zlib[${MULTILIB_USEDEP}] )
+"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-23.3-disable-32-bit-tests.patch"
+ "${FILESDIR}/${PN}-23.3-static_assert-failure.patch"
+ "${FILESDIR}/${P}-fix-missing-PROTOBUF_EXPORT-for-public-symbols.patch"
+ "${FILESDIR}/${P}-Use-the-same-ABI-for-static-and-shared-libraries-on-.patch"
+)
+
+DOCS=( CONTRIBUTORS.txt README.md )
+
+src_prepare() {
+ eapply_user
+ append-cxxflags -std=c++17
+ cmake_src_prepare
+}
+
+src_configure() {
+ if tc-ld-is-gold; then
+ # https://sourceware.org/bugzilla/show_bug.cgi?id=24527
+ tc-ld-disable-gold
+ fi
+
+ cmake-multilib_src_configure
+}
+
+multilib_src_configure() {
+ local mycmakeargs=(
+ -DCMAKE_CXX_STANDARD=17
+ -Dprotobuf_DISABLE_RTTI=ON
+ -Dprotobuf_BUILD_EXAMPLES=$(usex examples)
+ -Dprotobuf_WITH_ZLIB=$(usex zlib)
+ -Dprotobuf_BUILD_TESTS=$(usex test)
+ -Dprotobuf_ABSL_PROVIDER=package
+ )
+ use test && mycmakeargs+=(-Dprotobuf_USE_EXTERNAL_GTEST=ON)
+
+ cmake_src_configure
+}
+
+src_compile() {
+ cmake-multilib_src_compile
+
+ if use emacs; then
+ elisp-compile editors/protobuf-mode.el
+ fi
+}
+
+multilib_src_install_all() {
+ find "${ED}" -name "*.la" -delete || die
+
+ if [[ ! -f "${ED}/usr/$(get_libdir)/libprotobuf.so.${SLOT#*/}" ]]; then
+ eerror "No matching library found with SLOT variable, currently set: ${SLOT}\n" \
+ "Expected value: ${ED}/usr/$(get_libdir)/libprotobuf.so.${SLOT#*/}"
+ die "Please update SLOT variable"
+ fi
+
+ insinto /usr/share/vim/vimfiles/syntax
+ doins editors/proto.vim
+ insinto /usr/share/vim/vimfiles/ftdetect
+ doins "${FILESDIR}/proto.vim"
+
+ if use emacs; then
+ elisp-install ${PN} editors/protobuf-mode.el*
+ elisp-site-file-install "${FILESDIR}/70${PN}-gentoo.el"
+ fi
+
+ if use examples; then
+ DOCS+=(examples)
+ docompress -x /usr/share/doc/${PF}/examples
+ fi
+
+ einstalldocs
+}
+
+pkg_postinst() {
+ use emacs && elisp-site-regen
+}
+
+pkg_postrm() {
+ use emacs && elisp-site-regen
+}
diff --git a/dev-libs/protobuf/protobuf-23.3-r2.ebuild b/dev-libs/protobuf/protobuf-23.3-r2.ebuild
new file mode 100644
index 000000000000..c9721bfd61ce
--- /dev/null
+++ b/dev-libs/protobuf/protobuf-23.3-r2.ebuild
@@ -0,0 +1,108 @@
+# Copyright 2008-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake-multilib elisp-common toolchain-funcs
+
+if [[ "${PV}" == *9999 ]]; then
+ inherit git-r3
+
+ EGIT_REPO_URI="https://github.com/protocolbuffers/protobuf.git"
+ EGIT_SUBMODULES=()
+else
+ SRC_URI="https://github.com/protocolbuffers/protobuf/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~loong ~mips ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos"
+fi
+
+DESCRIPTION="Google's Protocol Buffers - Extensible mechanism for serializing structured data"
+HOMEPAGE="https://protobuf.dev/"
+
+LICENSE="BSD"
+SLOT="0/$(ver_cut 1-2).0"
+IUSE="emacs examples test zlib"
+RESTRICT="!test? ( test )"
+
+BDEPEND="emacs? ( app-editors/emacs:* )"
+DEPEND="
+ >=dev-cpp/abseil-cpp-20230125.3:=[${MULTILIB_USEDEP}]
+ zlib? ( sys-libs/zlib[${MULTILIB_USEDEP}] )
+ test? ( >=dev-cpp/gtest-1.9[${MULTILIB_USEDEP}] )
+"
+RDEPEND="
+ >=dev-cpp/abseil-cpp-20230125.3:=[${MULTILIB_USEDEP}]
+ emacs? ( app-editors/emacs:* )
+ zlib? ( sys-libs/zlib[${MULTILIB_USEDEP}] )
+"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-23.3-disable-32-bit-tests.patch"
+ "${FILESDIR}/${PN}-23.3-static_assert-failure.patch"
+)
+
+DOCS=( CONTRIBUTORS.txt README.md )
+
+src_configure() {
+ if tc-ld-is-gold; then
+ # https://sourceware.org/bugzilla/show_bug.cgi?id=24527
+ tc-ld-disable-gold
+ fi
+
+ cmake-multilib_src_configure
+}
+
+multilib_src_configure() {
+ local mycmakeargs=(
+ -Dprotobuf_DISABLE_RTTI=ON
+ -Dprotobuf_BUILD_EXAMPLES=$(usex examples)
+ -Dprotobuf_WITH_ZLIB=$(usex zlib)
+ -Dprotobuf_BUILD_TESTS=$(usex test)
+ -Dprotobuf_ABSL_PROVIDER=package
+ )
+ use test && mycmakeargs+=(-Dprotobuf_USE_EXTERNAL_GTEST=ON)
+
+ cmake_src_configure
+}
+
+src_compile() {
+ cmake-multilib_src_compile
+
+ if use emacs; then
+ elisp-compile editors/protobuf-mode.el
+ fi
+}
+
+multilib_src_install_all() {
+ find "${ED}" -name "*.la" -delete || die
+
+ if [[ ! -f "${ED}/usr/$(get_libdir)/libprotobuf.so.${SLOT#*/}" ]]; then
+ eerror "No matching library found with SLOT variable, currently set: ${SLOT}\n" \
+ "Expected value: ${ED}/usr/$(get_libdir)/libprotobuf.so.${SLOT#*/}"
+ die "Please update SLOT variable"
+ fi
+
+ insinto /usr/share/vim/vimfiles/syntax
+ doins editors/proto.vim
+ insinto /usr/share/vim/vimfiles/ftdetect
+ doins "${FILESDIR}/proto.vim"
+
+ if use emacs; then
+ elisp-install ${PN} editors/protobuf-mode.el*
+ elisp-site-file-install "${FILESDIR}/70${PN}-gentoo.el"
+ fi
+
+ if use examples; then
+ DOCS+=(examples)
+ docompress -x /usr/share/doc/${PF}/examples
+ fi
+
+ einstalldocs
+}
+
+pkg_postinst() {
+ use emacs && elisp-site-regen
+}
+
+pkg_postrm() {
+ use emacs && elisp-site-regen
+}
diff --git a/dev-libs/protobuf/protobuf-3.16.0.ebuild b/dev-libs/protobuf/protobuf-3.16.0.ebuild
deleted file mode 100644
index 68eb4507463b..000000000000
--- a/dev-libs/protobuf/protobuf-3.16.0.ebuild
+++ /dev/null
@@ -1,141 +0,0 @@
-# Copyright 2008-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-
-inherit autotools elisp-common flag-o-matic multilib-minimal toolchain-funcs
-
-if [[ "${PV}" == "9999" ]]; then
- inherit git-r3
-
- EGIT_REPO_URI="https://github.com/protocolbuffers/protobuf"
- EGIT_SUBMODULES=()
-fi
-
-DESCRIPTION="Google's Protocol Buffers - Extensible mechanism for serializing structured data"
-HOMEPAGE="https://developers.google.com/protocol-buffers/ https://github.com/protocolbuffers/protobuf"
-if [[ "${PV}" == "9999" ]]; then
- SRC_URI=""
-else
- SRC_URI="https://github.com/protocolbuffers/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-fi
-
-LICENSE="BSD"
-SLOT="0/27"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos"
-IUSE="emacs examples static-libs test zlib"
-RESTRICT="!test? ( test )"
-
-BDEPEND="emacs? ( app-editors/emacs:* )"
-DEPEND="test? ( >=dev-cpp/gtest-1.9[${MULTILIB_USEDEP}] )
- zlib? ( sys-libs/zlib[${MULTILIB_USEDEP}] )"
-RDEPEND="emacs? ( app-editors/emacs:* )
- zlib? ( sys-libs/zlib[${MULTILIB_USEDEP}] )"
-
-PATCHES=(
- "${FILESDIR}/${PN}-3.15.0-disable_no-warning-test.patch"
- "${FILESDIR}/${PN}-3.16.0-system_libraries.patch"
- "${FILESDIR}/${PN}-3.16.0-protoc_input_output_files.patch"
-)
-
-DOCS=(CHANGES.txt CONTRIBUTORS.txt README.md)
-
-src_prepare() {
- default
-
- # https://github.com/protocolbuffers/protobuf/issues/7413
- sed -e "/^AC_PROG_CXX_FOR_BUILD$/d" -i configure.ac || die
-
- # https://github.com/protocolbuffers/protobuf/issues/8082
- sed -e "/^TEST_F(IoTest, LargeOutput) {$/,/^}$/d" -i src/google/protobuf/io/zero_copy_stream_unittest.cc || die
-
- # https://github.com/protocolbuffers/protobuf/issues/8459
- sed \
- -e "/^TEST(ArenaTest, BlockSizeSmallerThanAllocation) {$/a\\ if (sizeof(void*) == 4) {\n GTEST_SKIP();\n }" \
- -e "/^TEST(ArenaTest, SpaceAllocated_and_Used) {$/a\\ if (sizeof(void*) == 4) {\n GTEST_SKIP();\n }" \
- -i src/google/protobuf/arena_unittest.cc || die
-
- # https://github.com/protocolbuffers/protobuf/issues/8460
- sed -e "/^TEST(AnyTest, TestPackFromSerializationExceedsSizeLimit) {$/a\\ if (sizeof(void*) == 4) {\n GTEST_SKIP();\n }" -i src/google/protobuf/any_test.cc || die
-
- eautoreconf
-}
-
-src_configure() {
- append-cppflags -DGOOGLE_PROTOBUF_NO_RTTI
-
- if tc-ld-is-gold; then
- # https://sourceware.org/bugzilla/show_bug.cgi?id=24527
- tc-ld-disable-gold
- fi
-
- multilib-minimal_src_configure
-}
-
-multilib_src_configure() {
- local options=(
- OBJC="$(tc-getBUILD_CC)"
- $(use_enable static-libs static)
- $(use_with zlib)
- )
-
- if tc-is-cross-compiler; then
- # Build system uses protoc when building, so protoc copy runnable on host is needed.
- mkdir -p "${WORKDIR}/build" || die
- pushd "${WORKDIR}/build" > /dev/null || die
- ECONF_SOURCE="${S}" econf_build "${options[@]}"
- options+=(--with-protoc="$(pwd)/src/protoc")
- popd > /dev/null || die
- fi
-
- ECONF_SOURCE="${S}" econf "${options[@]}"
-}
-
-src_compile() {
- multilib-minimal_src_compile
-
- if use emacs; then
- elisp-compile editors/protobuf-mode.el
- fi
-}
-
-multilib_src_compile() {
- if tc-is-cross-compiler; then
- emake -C "${WORKDIR}/build/src" protoc
- fi
-
- default
-}
-
-multilib_src_test() {
- emake check
-}
-
-multilib_src_install_all() {
- find "${ED}" -name "*.la" -delete || die
-
- insinto /usr/share/vim/vimfiles/syntax
- doins editors/proto.vim
- insinto /usr/share/vim/vimfiles/ftdetect
- doins "${FILESDIR}/proto.vim"
-
- if use emacs; then
- elisp-install ${PN} editors/protobuf-mode.el*
- elisp-site-file-install "${FILESDIR}/70${PN}-gentoo.el"
- fi
-
- if use examples; then
- DOCS+=(examples)
- docompress -x /usr/share/doc/${PF}/examples
- fi
-
- einstalldocs
-}
-
-pkg_postinst() {
- use emacs && elisp-site-regen
-}
-
-pkg_postrm() {
- use emacs && elisp-site-regen
-}
diff --git a/dev-libs/protobuf/protobuf-3.17.0.ebuild b/dev-libs/protobuf/protobuf-3.17.0.ebuild
deleted file mode 100644
index 390df7df0b7c..000000000000
--- a/dev-libs/protobuf/protobuf-3.17.0.ebuild
+++ /dev/null
@@ -1,141 +0,0 @@
-# Copyright 2008-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-
-inherit autotools elisp-common flag-o-matic multilib-minimal toolchain-funcs
-
-if [[ "${PV}" == "9999" ]]; then
- inherit git-r3
-
- EGIT_REPO_URI="https://github.com/protocolbuffers/protobuf"
- EGIT_SUBMODULES=()
-fi
-
-DESCRIPTION="Google's Protocol Buffers - Extensible mechanism for serializing structured data"
-HOMEPAGE="https://developers.google.com/protocol-buffers/ https://github.com/protocolbuffers/protobuf"
-if [[ "${PV}" == "9999" ]]; then
- SRC_URI=""
-else
- SRC_URI="https://github.com/protocolbuffers/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-fi
-
-LICENSE="BSD"
-SLOT="0/28"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos"
-IUSE="emacs examples static-libs test zlib"
-RESTRICT="!test? ( test )"
-
-BDEPEND="emacs? ( app-editors/emacs:* )"
-DEPEND="test? ( >=dev-cpp/gtest-1.9[${MULTILIB_USEDEP}] )
- zlib? ( sys-libs/zlib[${MULTILIB_USEDEP}] )"
-RDEPEND="emacs? ( app-editors/emacs:* )
- zlib? ( sys-libs/zlib[${MULTILIB_USEDEP}] )"
-
-PATCHES=(
- "${FILESDIR}/${PN}-3.17.0-disable_no-warning-test.patch"
- "${FILESDIR}/${PN}-3.17.0-system_libraries.patch"
- "${FILESDIR}/${PN}-3.16.0-protoc_input_output_files.patch"
-)
-
-DOCS=(CHANGES.txt CONTRIBUTORS.txt README.md)
-
-src_prepare() {
- default
-
- # https://github.com/protocolbuffers/protobuf/issues/7413
- sed -e "/^AC_PROG_CXX_FOR_BUILD$/d" -i configure.ac || die
-
- # https://github.com/protocolbuffers/protobuf/issues/8082
- sed -e "/^TEST_F(IoTest, LargeOutput) {$/,/^}$/d" -i src/google/protobuf/io/zero_copy_stream_unittest.cc || die
-
- # https://github.com/protocolbuffers/protobuf/issues/8459
- sed \
- -e "/^TEST(ArenaTest, BlockSizeSmallerThanAllocation) {$/a\\ if (sizeof(void*) == 4) {\n GTEST_SKIP();\n }" \
- -e "/^TEST(ArenaTest, SpaceAllocated_and_Used) {$/a\\ if (sizeof(void*) == 4) {\n GTEST_SKIP();\n }" \
- -i src/google/protobuf/arena_unittest.cc || die
-
- # https://github.com/protocolbuffers/protobuf/issues/8460
- sed -e "/^TEST(AnyTest, TestPackFromSerializationExceedsSizeLimit) {$/a\\ if (sizeof(void*) == 4) {\n GTEST_SKIP();\n }" -i src/google/protobuf/any_test.cc || die
-
- eautoreconf
-}
-
-src_configure() {
- append-cppflags -DGOOGLE_PROTOBUF_NO_RTTI
-
- if tc-ld-is-gold; then
- # https://sourceware.org/bugzilla/show_bug.cgi?id=24527
- tc-ld-disable-gold
- fi
-
- multilib-minimal_src_configure
-}
-
-multilib_src_configure() {
- local options=(
- OBJC="$(tc-getBUILD_CC)"
- $(use_enable static-libs static)
- $(use_with zlib)
- )
-
- if tc-is-cross-compiler; then
- # Build system uses protoc when building, so protoc copy runnable on host is needed.
- mkdir -p "${WORKDIR}/build" || die
- pushd "${WORKDIR}/build" > /dev/null || die
- ECONF_SOURCE="${S}" econf_build "${options[@]}"
- options+=(--with-protoc="$(pwd)/src/protoc")
- popd > /dev/null || die
- fi
-
- ECONF_SOURCE="${S}" econf "${options[@]}"
-}
-
-src_compile() {
- multilib-minimal_src_compile
-
- if use emacs; then
- elisp-compile editors/protobuf-mode.el
- fi
-}
-
-multilib_src_compile() {
- if tc-is-cross-compiler; then
- emake -C "${WORKDIR}/build/src" protoc
- fi
-
- default
-}
-
-multilib_src_test() {
- emake check
-}
-
-multilib_src_install_all() {
- find "${ED}" -name "*.la" -delete || die
-
- insinto /usr/share/vim/vimfiles/syntax
- doins editors/proto.vim
- insinto /usr/share/vim/vimfiles/ftdetect
- doins "${FILESDIR}/proto.vim"
-
- if use emacs; then
- elisp-install ${PN} editors/protobuf-mode.el*
- elisp-site-file-install "${FILESDIR}/70${PN}-gentoo.el"
- fi
-
- if use examples; then
- DOCS+=(examples)
- docompress -x /usr/share/doc/${PF}/examples
- fi
-
- einstalldocs
-}
-
-pkg_postinst() {
- use emacs && elisp-site-regen
-}
-
-pkg_postrm() {
- use emacs && elisp-site-regen
-}
diff --git a/dev-libs/protobuf/protobuf-3.17.1.ebuild b/dev-libs/protobuf/protobuf-3.17.1.ebuild
deleted file mode 100644
index 390df7df0b7c..000000000000
--- a/dev-libs/protobuf/protobuf-3.17.1.ebuild
+++ /dev/null
@@ -1,141 +0,0 @@
-# Copyright 2008-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-
-inherit autotools elisp-common flag-o-matic multilib-minimal toolchain-funcs
-
-if [[ "${PV}" == "9999" ]]; then
- inherit git-r3
-
- EGIT_REPO_URI="https://github.com/protocolbuffers/protobuf"
- EGIT_SUBMODULES=()
-fi
-
-DESCRIPTION="Google's Protocol Buffers - Extensible mechanism for serializing structured data"
-HOMEPAGE="https://developers.google.com/protocol-buffers/ https://github.com/protocolbuffers/protobuf"
-if [[ "${PV}" == "9999" ]]; then
- SRC_URI=""
-else
- SRC_URI="https://github.com/protocolbuffers/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-fi
-
-LICENSE="BSD"
-SLOT="0/28"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos"
-IUSE="emacs examples static-libs test zlib"
-RESTRICT="!test? ( test )"
-
-BDEPEND="emacs? ( app-editors/emacs:* )"
-DEPEND="test? ( >=dev-cpp/gtest-1.9[${MULTILIB_USEDEP}] )
- zlib? ( sys-libs/zlib[${MULTILIB_USEDEP}] )"
-RDEPEND="emacs? ( app-editors/emacs:* )
- zlib? ( sys-libs/zlib[${MULTILIB_USEDEP}] )"
-
-PATCHES=(
- "${FILESDIR}/${PN}-3.17.0-disable_no-warning-test.patch"
- "${FILESDIR}/${PN}-3.17.0-system_libraries.patch"
- "${FILESDIR}/${PN}-3.16.0-protoc_input_output_files.patch"
-)
-
-DOCS=(CHANGES.txt CONTRIBUTORS.txt README.md)
-
-src_prepare() {
- default
-
- # https://github.com/protocolbuffers/protobuf/issues/7413
- sed -e "/^AC_PROG_CXX_FOR_BUILD$/d" -i configure.ac || die
-
- # https://github.com/protocolbuffers/protobuf/issues/8082
- sed -e "/^TEST_F(IoTest, LargeOutput) {$/,/^}$/d" -i src/google/protobuf/io/zero_copy_stream_unittest.cc || die
-
- # https://github.com/protocolbuffers/protobuf/issues/8459
- sed \
- -e "/^TEST(ArenaTest, BlockSizeSmallerThanAllocation) {$/a\\ if (sizeof(void*) == 4) {\n GTEST_SKIP();\n }" \
- -e "/^TEST(ArenaTest, SpaceAllocated_and_Used) {$/a\\ if (sizeof(void*) == 4) {\n GTEST_SKIP();\n }" \
- -i src/google/protobuf/arena_unittest.cc || die
-
- # https://github.com/protocolbuffers/protobuf/issues/8460
- sed -e "/^TEST(AnyTest, TestPackFromSerializationExceedsSizeLimit) {$/a\\ if (sizeof(void*) == 4) {\n GTEST_SKIP();\n }" -i src/google/protobuf/any_test.cc || die
-
- eautoreconf
-}
-
-src_configure() {
- append-cppflags -DGOOGLE_PROTOBUF_NO_RTTI
-
- if tc-ld-is-gold; then
- # https://sourceware.org/bugzilla/show_bug.cgi?id=24527
- tc-ld-disable-gold
- fi
-
- multilib-minimal_src_configure
-}
-
-multilib_src_configure() {
- local options=(
- OBJC="$(tc-getBUILD_CC)"
- $(use_enable static-libs static)
- $(use_with zlib)
- )
-
- if tc-is-cross-compiler; then
- # Build system uses protoc when building, so protoc copy runnable on host is needed.
- mkdir -p "${WORKDIR}/build" || die
- pushd "${WORKDIR}/build" > /dev/null || die
- ECONF_SOURCE="${S}" econf_build "${options[@]}"
- options+=(--with-protoc="$(pwd)/src/protoc")
- popd > /dev/null || die
- fi
-
- ECONF_SOURCE="${S}" econf "${options[@]}"
-}
-
-src_compile() {
- multilib-minimal_src_compile
-
- if use emacs; then
- elisp-compile editors/protobuf-mode.el
- fi
-}
-
-multilib_src_compile() {
- if tc-is-cross-compiler; then
- emake -C "${WORKDIR}/build/src" protoc
- fi
-
- default
-}
-
-multilib_src_test() {
- emake check
-}
-
-multilib_src_install_all() {
- find "${ED}" -name "*.la" -delete || die
-
- insinto /usr/share/vim/vimfiles/syntax
- doins editors/proto.vim
- insinto /usr/share/vim/vimfiles/ftdetect
- doins "${FILESDIR}/proto.vim"
-
- if use emacs; then
- elisp-install ${PN} editors/protobuf-mode.el*
- elisp-site-file-install "${FILESDIR}/70${PN}-gentoo.el"
- fi
-
- if use examples; then
- DOCS+=(examples)
- docompress -x /usr/share/doc/${PF}/examples
- fi
-
- einstalldocs
-}
-
-pkg_postinst() {
- use emacs && elisp-site-regen
-}
-
-pkg_postrm() {
- use emacs && elisp-site-regen
-}
diff --git a/dev-libs/protobuf/protobuf-3.17.2.ebuild b/dev-libs/protobuf/protobuf-3.17.2.ebuild
deleted file mode 100644
index 390df7df0b7c..000000000000
--- a/dev-libs/protobuf/protobuf-3.17.2.ebuild
+++ /dev/null
@@ -1,141 +0,0 @@
-# Copyright 2008-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-
-inherit autotools elisp-common flag-o-matic multilib-minimal toolchain-funcs
-
-if [[ "${PV}" == "9999" ]]; then
- inherit git-r3
-
- EGIT_REPO_URI="https://github.com/protocolbuffers/protobuf"
- EGIT_SUBMODULES=()
-fi
-
-DESCRIPTION="Google's Protocol Buffers - Extensible mechanism for serializing structured data"
-HOMEPAGE="https://developers.google.com/protocol-buffers/ https://github.com/protocolbuffers/protobuf"
-if [[ "${PV}" == "9999" ]]; then
- SRC_URI=""
-else
- SRC_URI="https://github.com/protocolbuffers/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-fi
-
-LICENSE="BSD"
-SLOT="0/28"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos"
-IUSE="emacs examples static-libs test zlib"
-RESTRICT="!test? ( test )"
-
-BDEPEND="emacs? ( app-editors/emacs:* )"
-DEPEND="test? ( >=dev-cpp/gtest-1.9[${MULTILIB_USEDEP}] )
- zlib? ( sys-libs/zlib[${MULTILIB_USEDEP}] )"
-RDEPEND="emacs? ( app-editors/emacs:* )
- zlib? ( sys-libs/zlib[${MULTILIB_USEDEP}] )"
-
-PATCHES=(
- "${FILESDIR}/${PN}-3.17.0-disable_no-warning-test.patch"
- "${FILESDIR}/${PN}-3.17.0-system_libraries.patch"
- "${FILESDIR}/${PN}-3.16.0-protoc_input_output_files.patch"
-)
-
-DOCS=(CHANGES.txt CONTRIBUTORS.txt README.md)
-
-src_prepare() {
- default
-
- # https://github.com/protocolbuffers/protobuf/issues/7413
- sed -e "/^AC_PROG_CXX_FOR_BUILD$/d" -i configure.ac || die
-
- # https://github.com/protocolbuffers/protobuf/issues/8082
- sed -e "/^TEST_F(IoTest, LargeOutput) {$/,/^}$/d" -i src/google/protobuf/io/zero_copy_stream_unittest.cc || die
-
- # https://github.com/protocolbuffers/protobuf/issues/8459
- sed \
- -e "/^TEST(ArenaTest, BlockSizeSmallerThanAllocation) {$/a\\ if (sizeof(void*) == 4) {\n GTEST_SKIP();\n }" \
- -e "/^TEST(ArenaTest, SpaceAllocated_and_Used) {$/a\\ if (sizeof(void*) == 4) {\n GTEST_SKIP();\n }" \
- -i src/google/protobuf/arena_unittest.cc || die
-
- # https://github.com/protocolbuffers/protobuf/issues/8460
- sed -e "/^TEST(AnyTest, TestPackFromSerializationExceedsSizeLimit) {$/a\\ if (sizeof(void*) == 4) {\n GTEST_SKIP();\n }" -i src/google/protobuf/any_test.cc || die
-
- eautoreconf
-}
-
-src_configure() {
- append-cppflags -DGOOGLE_PROTOBUF_NO_RTTI
-
- if tc-ld-is-gold; then
- # https://sourceware.org/bugzilla/show_bug.cgi?id=24527
- tc-ld-disable-gold
- fi
-
- multilib-minimal_src_configure
-}
-
-multilib_src_configure() {
- local options=(
- OBJC="$(tc-getBUILD_CC)"
- $(use_enable static-libs static)
- $(use_with zlib)
- )
-
- if tc-is-cross-compiler; then
- # Build system uses protoc when building, so protoc copy runnable on host is needed.
- mkdir -p "${WORKDIR}/build" || die
- pushd "${WORKDIR}/build" > /dev/null || die
- ECONF_SOURCE="${S}" econf_build "${options[@]}"
- options+=(--with-protoc="$(pwd)/src/protoc")
- popd > /dev/null || die
- fi
-
- ECONF_SOURCE="${S}" econf "${options[@]}"
-}
-
-src_compile() {
- multilib-minimal_src_compile
-
- if use emacs; then
- elisp-compile editors/protobuf-mode.el
- fi
-}
-
-multilib_src_compile() {
- if tc-is-cross-compiler; then
- emake -C "${WORKDIR}/build/src" protoc
- fi
-
- default
-}
-
-multilib_src_test() {
- emake check
-}
-
-multilib_src_install_all() {
- find "${ED}" -name "*.la" -delete || die
-
- insinto /usr/share/vim/vimfiles/syntax
- doins editors/proto.vim
- insinto /usr/share/vim/vimfiles/ftdetect
- doins "${FILESDIR}/proto.vim"
-
- if use emacs; then
- elisp-install ${PN} editors/protobuf-mode.el*
- elisp-site-file-install "${FILESDIR}/70${PN}-gentoo.el"
- fi
-
- if use examples; then
- DOCS+=(examples)
- docompress -x /usr/share/doc/${PF}/examples
- fi
-
- einstalldocs
-}
-
-pkg_postinst() {
- use emacs && elisp-site-regen
-}
-
-pkg_postrm() {
- use emacs && elisp-site-regen
-}
diff --git a/dev-libs/protobuf/protobuf-3.17.3.ebuild b/dev-libs/protobuf/protobuf-3.17.3.ebuild
deleted file mode 100644
index a29ab8dcb86c..000000000000
--- a/dev-libs/protobuf/protobuf-3.17.3.ebuild
+++ /dev/null
@@ -1,141 +0,0 @@
-# Copyright 2008-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-
-inherit autotools elisp-common flag-o-matic multilib-minimal toolchain-funcs
-
-if [[ "${PV}" == "9999" ]]; then
- inherit git-r3
-
- EGIT_REPO_URI="https://github.com/protocolbuffers/protobuf"
- EGIT_SUBMODULES=()
-fi
-
-DESCRIPTION="Google's Protocol Buffers - Extensible mechanism for serializing structured data"
-HOMEPAGE="https://developers.google.com/protocol-buffers/ https://github.com/protocolbuffers/protobuf"
-if [[ "${PV}" == "9999" ]]; then
- SRC_URI=""
-else
- SRC_URI="https://github.com/protocolbuffers/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-fi
-
-LICENSE="BSD"
-SLOT="0/28"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~x64-macos"
-IUSE="emacs examples static-libs test zlib"
-RESTRICT="!test? ( test )"
-
-BDEPEND="emacs? ( app-editors/emacs:* )"
-DEPEND="test? ( >=dev-cpp/gtest-1.9[${MULTILIB_USEDEP}] )
- zlib? ( sys-libs/zlib[${MULTILIB_USEDEP}] )"
-RDEPEND="emacs? ( app-editors/emacs:* )
- zlib? ( sys-libs/zlib[${MULTILIB_USEDEP}] )"
-
-PATCHES=(
- "${FILESDIR}/${PN}-3.17.0-disable_no-warning-test.patch"
- "${FILESDIR}/${PN}-3.17.0-system_libraries.patch"
- "${FILESDIR}/${PN}-3.16.0-protoc_input_output_files.patch"
-)
-
-DOCS=(CHANGES.txt CONTRIBUTORS.txt README.md)
-
-src_prepare() {
- default
-
- # https://github.com/protocolbuffers/protobuf/issues/7413
- sed -e "/^AC_PROG_CXX_FOR_BUILD$/d" -i configure.ac || die
-
- # https://github.com/protocolbuffers/protobuf/issues/8082
- sed -e "/^TEST_F(IoTest, LargeOutput) {$/,/^}$/d" -i src/google/protobuf/io/zero_copy_stream_unittest.cc || die
-
- # https://github.com/protocolbuffers/protobuf/issues/8459
- sed \
- -e "/^TEST(ArenaTest, BlockSizeSmallerThanAllocation) {$/a\\ if (sizeof(void*) == 4) {\n GTEST_SKIP();\n }" \
- -e "/^TEST(ArenaTest, SpaceAllocated_and_Used) {$/a\\ if (sizeof(void*) == 4) {\n GTEST_SKIP();\n }" \
- -i src/google/protobuf/arena_unittest.cc || die
-
- # https://github.com/protocolbuffers/protobuf/issues/8460
- sed -e "/^TEST(AnyTest, TestPackFromSerializationExceedsSizeLimit) {$/a\\ if (sizeof(void*) == 4) {\n GTEST_SKIP();\n }" -i src/google/protobuf/any_test.cc || die
-
- eautoreconf
-}
-
-src_configure() {
- append-cppflags -DGOOGLE_PROTOBUF_NO_RTTI
-
- if tc-ld-is-gold; then
- # https://sourceware.org/bugzilla/show_bug.cgi?id=24527
- tc-ld-disable-gold
- fi
-
- multilib-minimal_src_configure
-}
-
-multilib_src_configure() {
- local options=(
- OBJC="$(tc-getBUILD_CC)"
- $(use_enable static-libs static)
- $(use_with zlib)
- )
-
- if tc-is-cross-compiler; then
- # Build system uses protoc when building, so protoc copy runnable on host is needed.
- mkdir -p "${WORKDIR}/build" || die
- pushd "${WORKDIR}/build" > /dev/null || die
- ECONF_SOURCE="${S}" econf_build "${options[@]}"
- options+=(--with-protoc="$(pwd)/src/protoc")
- popd > /dev/null || die
- fi
-
- ECONF_SOURCE="${S}" econf "${options[@]}"
-}
-
-src_compile() {
- multilib-minimal_src_compile
-
- if use emacs; then
- elisp-compile editors/protobuf-mode.el
- fi
-}
-
-multilib_src_compile() {
- if tc-is-cross-compiler; then
- emake -C "${WORKDIR}/build/src" protoc
- fi
-
- default
-}
-
-multilib_src_test() {
- emake check
-}
-
-multilib_src_install_all() {
- find "${ED}" -name "*.la" -delete || die
-
- insinto /usr/share/vim/vimfiles/syntax
- doins editors/proto.vim
- insinto /usr/share/vim/vimfiles/ftdetect
- doins "${FILESDIR}/proto.vim"
-
- if use emacs; then
- elisp-install ${PN} editors/protobuf-mode.el*
- elisp-site-file-install "${FILESDIR}/70${PN}-gentoo.el"
- fi
-
- if use examples; then
- DOCS+=(examples)
- docompress -x /usr/share/doc/${PF}/examples
- fi
-
- einstalldocs
-}
-
-pkg_postinst() {
- use emacs && elisp-site-regen
-}
-
-pkg_postrm() {
- use emacs && elisp-site-regen
-}
diff --git a/dev-libs/protobuf/protobuf-3.19.1.ebuild b/dev-libs/protobuf/protobuf-3.19.1.ebuild
deleted file mode 100644
index 41c154dc9b6a..000000000000
--- a/dev-libs/protobuf/protobuf-3.19.1.ebuild
+++ /dev/null
@@ -1,138 +0,0 @@
-# Copyright 2008-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit autotools elisp-common flag-o-matic multilib-minimal toolchain-funcs
-
-if [[ "${PV}" == "9999" ]]; then
- inherit git-r3
-
- EGIT_REPO_URI="https://github.com/protocolbuffers/protobuf"
- EGIT_SUBMODULES=()
-else
- SRC_URI="https://github.com/protocolbuffers/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-fi
-
-DESCRIPTION="Google's Protocol Buffers - Extensible mechanism for serializing structured data"
-HOMEPAGE="https://developers.google.com/protocol-buffers/ https://github.com/protocolbuffers/protobuf"
-
-LICENSE="BSD"
-SLOT="0/30"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ppc ppc64 ~riscv ~s390 sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos"
-IUSE="emacs examples static-libs test zlib"
-RESTRICT="!test? ( test )"
-
-BDEPEND="emacs? ( app-editors/emacs:* )"
-DEPEND="test? ( >=dev-cpp/gtest-1.9[${MULTILIB_USEDEP}] )
- zlib? ( sys-libs/zlib[${MULTILIB_USEDEP}] )"
-RDEPEND="emacs? ( app-editors/emacs:* )
- zlib? ( sys-libs/zlib[${MULTILIB_USEDEP}] )"
-
-PATCHES=(
- "${FILESDIR}/${PN}-3.17.0-disable_no-warning-test.patch"
- "${FILESDIR}/${PN}-3.17.0-system_libraries.patch"
- "${FILESDIR}/${PN}-3.16.0-protoc_input_output_files.patch"
-)
-
-DOCS=(CHANGES.txt CONTRIBUTORS.txt README.md)
-
-src_prepare() {
- default
-
- # https://github.com/protocolbuffers/protobuf/issues/7413
- sed -e "/^AC_PROG_CXX_FOR_BUILD$/d" -i configure.ac || die
-
- # https://github.com/protocolbuffers/protobuf/issues/8082
- sed -e "/^TEST_F(IoTest, LargeOutput) {$/,/^}$/d" -i src/google/protobuf/io/zero_copy_stream_unittest.cc || die
-
- # https://github.com/protocolbuffers/protobuf/issues/8459
- sed \
- -e "/^TEST(ArenaTest, BlockSizeSmallerThanAllocation) {$/a\\ if (sizeof(void*) == 4) {\n GTEST_SKIP();\n }" \
- -e "/^TEST(ArenaTest, SpaceAllocated_and_Used) {$/a\\ if (sizeof(void*) == 4) {\n GTEST_SKIP();\n }" \
- -i src/google/protobuf/arena_unittest.cc || die
-
- # https://github.com/protocolbuffers/protobuf/issues/8460
- sed -e "/^TEST(AnyTest, TestPackFromSerializationExceedsSizeLimit) {$/a\\ if (sizeof(void*) == 4) {\n GTEST_SKIP();\n }" -i src/google/protobuf/any_test.cc || die
-
- eautoreconf
-}
-
-src_configure() {
- append-cppflags -DGOOGLE_PROTOBUF_NO_RTTI
-
- if tc-ld-is-gold; then
- # https://sourceware.org/bugzilla/show_bug.cgi?id=24527
- tc-ld-disable-gold
- fi
-
- multilib-minimal_src_configure
-}
-
-multilib_src_configure() {
- local options=(
- OBJC="$(tc-getBUILD_CC)"
- $(use_enable static-libs static)
- $(use_with zlib)
- )
-
- if tc-is-cross-compiler; then
- # Build system uses protoc when building, so protoc copy runnable on host is needed.
- mkdir -p "${WORKDIR}/build" || die
- pushd "${WORKDIR}/build" > /dev/null || die
- ECONF_SOURCE="${S}" econf_build "${options[@]}"
- options+=(--with-protoc="$(pwd)/src/protoc")
- popd > /dev/null || die
- fi
-
- ECONF_SOURCE="${S}" econf "${options[@]}"
-}
-
-src_compile() {
- multilib-minimal_src_compile
-
- if use emacs; then
- elisp-compile editors/protobuf-mode.el
- fi
-}
-
-multilib_src_compile() {
- if tc-is-cross-compiler; then
- emake -C "${WORKDIR}/build/src" protoc
- fi
-
- default
-}
-
-multilib_src_test() {
- emake check
-}
-
-multilib_src_install_all() {
- find "${ED}" -name "*.la" -delete || die
-
- insinto /usr/share/vim/vimfiles/syntax
- doins editors/proto.vim
- insinto /usr/share/vim/vimfiles/ftdetect
- doins "${FILESDIR}/proto.vim"
-
- if use emacs; then
- elisp-install ${PN} editors/protobuf-mode.el*
- elisp-site-file-install "${FILESDIR}/70${PN}-gentoo.el"
- fi
-
- if use examples; then
- DOCS+=(examples)
- docompress -x /usr/share/doc/${PF}/examples
- fi
-
- einstalldocs
-}
-
-pkg_postinst() {
- use emacs && elisp-site-regen
-}
-
-pkg_postrm() {
- use emacs && elisp-site-regen
-}
diff --git a/dev-libs/protobuf/protobuf-9999.ebuild b/dev-libs/protobuf/protobuf-9999.ebuild
deleted file mode 100644
index f2b413703d21..000000000000
--- a/dev-libs/protobuf/protobuf-9999.ebuild
+++ /dev/null
@@ -1,119 +0,0 @@
-# Copyright 2008-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-
-inherit autotools elisp-common flag-o-matic multilib-minimal toolchain-funcs
-
-if [[ "${PV}" == "9999" ]]; then
- inherit git-r3
-
- EGIT_REPO_URI="https://github.com/protocolbuffers/protobuf"
- EGIT_SUBMODULES=()
-fi
-
-DESCRIPTION="Google's Protocol Buffers - Extensible mechanism for serializing structured data"
-HOMEPAGE="https://developers.google.com/protocol-buffers/ https://github.com/protocolbuffers/protobuf"
-if [[ "${PV}" == "9999" ]]; then
- SRC_URI=""
-else
- SRC_URI="https://github.com/protocolbuffers/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-fi
-
-LICENSE="BSD"
-SLOT="0/30"
-KEYWORDS=""
-IUSE="emacs examples static-libs test zlib"
-RESTRICT="!test? ( test )"
-
-BDEPEND="emacs? ( app-editors/emacs:* )"
-DEPEND="test? ( >=dev-cpp/gtest-1.9[${MULTILIB_USEDEP}] )
- zlib? ( sys-libs/zlib[${MULTILIB_USEDEP}] )"
-RDEPEND="emacs? ( app-editors/emacs:* )
- zlib? ( sys-libs/zlib[${MULTILIB_USEDEP}] )"
-
-PATCHES=(
- "${FILESDIR}/${PN}-3.17.0-disable_no-warning-test.patch"
- "${FILESDIR}/${PN}-3.17.0-system_libraries.patch"
- "${FILESDIR}/${PN}-3.16.0-protoc_input_output_files.patch"
-)
-
-DOCS=(CHANGES.txt CONTRIBUTORS.txt README.md)
-
-src_prepare() {
- default
- eautoreconf
-}
-
-src_configure() {
- append-cppflags -DGOOGLE_PROTOBUF_NO_RTTI
- multilib-minimal_src_configure
-}
-
-multilib_src_configure() {
- local options=(
- OBJC="$(tc-getBUILD_CC)"
- $(use_enable static-libs static)
- $(use_with zlib)
- )
-
- if tc-is-cross-compiler; then
- # Build system uses protoc when building, so protoc copy runnable on host is needed.
- mkdir -p "${WORKDIR}/build" || die
- pushd "${WORKDIR}/build" > /dev/null || die
- ECONF_SOURCE="${S}" econf_build "${options[@]}"
- options+=(--with-protoc="$(pwd)/src/protoc")
- popd > /dev/null || die
- fi
-
- ECONF_SOURCE="${S}" econf "${options[@]}"
-}
-
-src_compile() {
- multilib-minimal_src_compile
-
- if use emacs; then
- elisp-compile editors/protobuf-mode.el
- fi
-}
-
-multilib_src_compile() {
- if tc-is-cross-compiler; then
- emake -C "${WORKDIR}/build/src" protoc
- fi
-
- default
-}
-
-multilib_src_test() {
- emake check
-}
-
-multilib_src_install_all() {
- find "${ED}" -name "*.la" -delete || die
-
- insinto /usr/share/vim/vimfiles/syntax
- doins editors/proto.vim
- insinto /usr/share/vim/vimfiles/ftdetect
- doins "${FILESDIR}/proto.vim"
-
- if use emacs; then
- elisp-install ${PN} editors/protobuf-mode.el*
- elisp-site-file-install "${FILESDIR}/70${PN}-gentoo.el"
- fi
-
- if use examples; then
- DOCS+=(examples)
- docompress -x /usr/share/doc/${PF}/examples
- fi
-
- einstalldocs
-}
-
-pkg_postinst() {
- use emacs && elisp-site-regen
-}
-
-pkg_postrm() {
- use emacs && elisp-site-regen
-}
diff --git a/dev-libs/psimd/Manifest b/dev-libs/psimd/Manifest
new file mode 100644
index 000000000000..b65b0fdec6e7
--- /dev/null
+++ b/dev-libs/psimd/Manifest
@@ -0,0 +1 @@
+DIST psimd-2020.05.17.tar.gz 6825 BLAKE2B db255d2a62ffa320b1e190a7a9ac923d812e918a72ce8ecfeeb926709ece92d05497430196b0fc833d910b9d24bf0140d20bcce1de695e1c39211158440608db SHA512 a18faea093423dd9fe19ece8b228e011dccce0a2a22222f777ea19b023a13173966d4a8aea01147e8fc58de5d39cffcedeb2221a1572ae52bd5aba1295f86a94
diff --git a/dev-libs/psimd/metadata.xml b/dev-libs/psimd/metadata.xml
new file mode 100644
index 000000000000..d9ac1bf2f5d8
--- /dev/null
+++ b/dev-libs/psimd/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">Maratyszcza/psimd</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/psimd/psimd-2020.05.17.ebuild b/dev-libs/psimd/psimd-2020.05.17.ebuild
new file mode 100644
index 000000000000..ac9abecb7884
--- /dev/null
+++ b/dev-libs/psimd/psimd-2020.05.17.ebuild
@@ -0,0 +1,17 @@
+# Copyright 2022-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+inherit cmake
+
+CommitId=072586a71b55b7f8c584153d223e95687148a900
+DESCRIPTION="P(ortable) SIMD"
+HOMEPAGE="https://github.com/Maratyszcza/psimd/"
+SRC_URI="https://github.com/Maratyszcza/${PN}/archive/${CommitId}.tar.gz
+ -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+
+S="${WORKDIR}"/${PN}-${CommitId}
diff --git a/dev-libs/pslib/Manifest b/dev-libs/pslib/Manifest
index 979f121724a2..b96b3c11587c 100644
--- a/dev-libs/pslib/Manifest
+++ b/dev-libs/pslib/Manifest
@@ -1 +1 @@
-DIST pslib-0.4.5.tar.gz 493687 BLAKE2B cca0709bc3fa9f464166b02ca54d85056c510f677b478b4f187fba653b3a17af38c3c7ffbea23113d5ad3a146e881d183f138d836cd5f373a116e836ba8d4974 SHA512 410abfdca6c52f16c07b7d0157930fbb7a996f03bfb84aee2bc951b2d859bc2186d3ba742b724cd957b9b1c48201364fbeb11c15d7f4ead34f78b0d0746abc6f
+DIST pslib-0.4.6.tar.gz 543950 BLAKE2B 18f85ce5c2d558b2abe8c3297a65201890813d57d3e14353333c1e1b221ee89e0d2c27e6f247be8c1066c9be1e3cf390205217f2ca2fe76fe76208d4be2e2ac6 SHA512 aa1fb217fa36b33e8e4b1a9cf5057803f9dd2d50c76f8d33c6494939a592fba0bddef53d4e5d2c14769508df6d409b3bd18cd6d716014cd99224be5e1d64282b
diff --git a/dev-libs/pslib/files/pslib-0.4.6-Fix-implicit-function-declarations.patch b/dev-libs/pslib/files/pslib-0.4.6-Fix-implicit-function-declarations.patch
new file mode 100644
index 000000000000..7548ced79b87
--- /dev/null
+++ b/dev-libs/pslib/files/pslib-0.4.6-Fix-implicit-function-declarations.patch
@@ -0,0 +1,29 @@
+From ffd2e04b8e32d916cc513e73e92afa98348d3a73 Mon Sep 17 00:00:00 2001
+From: Sam James <sam@gentoo.org>
+Date: Tue, 4 Oct 2022 06:37:32 +0100
+Subject: [PATCH] Fix implicit function declarations
+
+Bug: https://bugs.gentoo.org/871300
+--- a/src/bmp.c
++++ b/src/bmp.c
+@@ -34,6 +34,9 @@
+ #ifdef HAVE_CONFIG_H
+ #include "config.h"
+ #endif
++
++#include <ps_error.h>
++
+ #include <stdio.h>
+ #include <stdlib.h>
+ #include <string.h>
+--- a/src/ps_error.h
++++ b/src/ps_error.h
+@@ -1,5 +1,8 @@
+ #ifndef __PS_ERROR_H__
+ #define __PS_ERROR_H__
++
++#include "ps_intern.h"
++
+ void _ps_errorhandler(PSDoc *p, int error, const char *str, void *data);
+ void ps_error(PSDoc *p, int type, const char *fmt, ...);
+ #endif
diff --git a/dev-libs/pslib/pslib-0.4.5.ebuild b/dev-libs/pslib/pslib-0.4.5.ebuild
deleted file mode 100644
index 4896e8951eab..000000000000
--- a/dev-libs/pslib/pslib-0.4.5.ebuild
+++ /dev/null
@@ -1,51 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit autotools
-
-DESCRIPTION="pslib is a C-library to create PostScript files on the fly"
-HOMEPAGE="http://pslib.sourceforge.net/"
-SRC_URI="mirror://sourceforge/pslib/${P}.tar.gz"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="amd64 ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux"
-IUSE="debug jpeg png static-libs tiff"
-
-RDEPEND="
- png? ( media-libs/libpng:0= )
- jpeg? ( virtual/jpeg:0 )
- tiff? ( media-libs/tiff:0= )"
-#gif? requires libungif, not in portage
-DEPEND="${RDEPEND}
- dev-lang/perl
- >=dev-libs/glib-2
- dev-util/intltool
- dev-perl/XML-Parser"
-
-PATCHES=( "${FILESDIR}"/${PN}-0.4.5-fix-build-system.patch )
-
-src_prepare() {
- default
- mv configure.{in,ac} || die
- eautoreconf
-}
-
-src_configure() {
- econf \
- --enable-bmp \
- $(use_enable static-libs static) \
- $(use_with png) \
- $(use_with jpeg) \
- $(use_with tiff) \
- $(use_with debug)
-}
-
-src_install() {
- default
-
- # package installs .pc files
- find "${D}" -name '*.la' -delete || die
-}
diff --git a/dev-libs/pslib/pslib-0.4.6.ebuild b/dev-libs/pslib/pslib-0.4.6.ebuild
new file mode 100644
index 000000000000..d99a7f9ba545
--- /dev/null
+++ b/dev-libs/pslib/pslib-0.4.6.ebuild
@@ -0,0 +1,54 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools
+
+DESCRIPTION="pslib is a C-library to create PostScript files on the fly"
+HOMEPAGE="https://pslib.sourceforge.net/"
+SRC_URI="mirror://sourceforge/pslib/${P}.tar.gz"
+
+LICENSE="GPL-2+"
+SLOT="0"
+KEYWORDS="amd64 ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux"
+IUSE="debug jpeg png tiff"
+
+RDEPEND="
+ png? ( media-libs/libpng:= )
+ jpeg? ( media-libs/libjpeg-turbo:= )
+ tiff? ( media-libs/tiff:= )"
+#gif? requires libungif, not in portage
+DEPEND="${RDEPEND}"
+BDEPEND="
+ dev-lang/perl
+ dev-libs/glib:2
+ dev-util/intltool
+ dev-perl/XML-Parser
+ sys-devel/gettext"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-0.4.5-fix-build-system.patch
+ "${FILESDIR}"/${PN}-0.4.6-Fix-implicit-function-declarations.patch
+)
+
+src_prepare() {
+ default
+ eautoreconf
+}
+
+src_configure() {
+ econf \
+ --enable-bmp \
+ $(use_with png) \
+ $(use_with jpeg) \
+ $(use_with tiff) \
+ $(use_with debug)
+}
+
+src_install() {
+ default
+
+ # package installs .pc files
+ find "${ED}" -name '*.la' -delete || die
+}
diff --git a/dev-libs/ptexenc/Manifest b/dev-libs/ptexenc/Manifest
index 046d9a807360..6bba4f271f42 100644
--- a/dev-libs/ptexenc/Manifest
+++ b/dev-libs/ptexenc/Manifest
@@ -1 +1,2 @@
DIST texlive-20210325-source.tar.xz 54837368 BLAKE2B 66bd4bdd43ff53513004b9b9b90ababa0ab5efcf183a27864a3d39cde9cf90721456bda90c49ad6014f4b12d2e6293feaf9a8b152b85a89ffaa96bf5056347df SHA512 afd6eb24efaeac7c58d43ff24162aece919079a9ae02934509f068c7a3828223c33c14d9db11ff7fea3560b08a06f352446ba7f845eefb4a56a87b96f088f213
+DIST texlive-20230311-source.tar.xz 68359984 BLAKE2B 6263e8d3e066db96f071138f2442b1ed7e1f3db7e6d261cdeb9a7e6e636c6e6ed45305c6bda3ab6f9a439c92eabf32a79bf6e371d16b747eebbc05ee47b85035 SHA512 93ac43f3055fee0103a6cfceea18d39ece63984914f3af9ad76da218f2d568852d9b987d1c9647c1497b985e4ffa297ef97dc2d50d3e90f62b03ad685af31d96
diff --git a/dev-libs/ptexenc/ptexenc-1.3.9_p20210325-r1.ebuild b/dev-libs/ptexenc/ptexenc-1.3.9_p20210325-r1.ebuild
index 5da28cacc4ee..ccaf4a3f4df8 100644
--- a/dev-libs/ptexenc/ptexenc-1.3.9_p20210325-r1.ebuild
+++ b/dev-libs/ptexenc/ptexenc-1.3.9_p20210325-r1.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
@@ -7,12 +7,12 @@ inherit libtool
DESCRIPTION="Library for Japanese pTeX providing a better way of handling character encodings"
HOMEPAGE="http://tutimura.ath.cx/ptexlive/?ptexenc"
-SRC_URI="https://dev.gentoo.org/~zlogene/distfiles/texlive/texlive-${PV#*_p}-source.tar.xz"
+SRC_URI="https://dev.gentoo.org/~sam/distfiles/texlive/texlive-${PV#*_p}-source.tar.xz"
S="${WORKDIR}/texlive-${PV#*_p}-source/texk/${PN}"
LICENSE="BSD"
SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~ppc-macos ~x64-macos"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~ppc-macos ~x64-macos"
IUSE="iconv"
DEPEND="
diff --git a/dev-libs/ptexenc/ptexenc-1.4.3_p20230311.ebuild b/dev-libs/ptexenc/ptexenc-1.4.3_p20230311.ebuild
new file mode 100644
index 000000000000..aa7ac947ec5b
--- /dev/null
+++ b/dev-libs/ptexenc/ptexenc-1.4.3_p20230311.ebuild
@@ -0,0 +1,48 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit libtool
+
+DESCRIPTION="Library for Japanese pTeX providing a better way of handling character encodings"
+HOMEPAGE="http://tutimura.ath.cx/ptexlive/?ptexenc"
+SRC_URI="https://mirrors.ctan.org/systems/texlive/Source/texlive-${PV#*_p}-source.tar.xz"
+S="${WORKDIR}/texlive-${PV#*_p}-source/texk/${PN}"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~ppc-macos ~x64-macos"
+IUSE="iconv"
+
+DEPEND="
+ dev-libs/kpathsea:=
+ iconv? ( virtual/libiconv )"
+RDEPEND="${DEPEND}"
+
+src_prepare() {
+ default
+
+ # https://bugs.gentoo.org/show_bug.cgi?id=377141
+ sed -i '/^LIBS/s:@LIBS@:@LIBS@ @KPATHSEA_LIBS@:' Makefile.in || die
+
+ cd "${WORKDIR}/texlive-${PV#*_p}-source" || die
+ S="${WORKDIR}/texlive-${PV#*_p}-source" elibtoolize #sane .so versionning on gfbsd
+}
+
+src_configure() {
+ econf \
+ --disable-static \
+ --with-system-kpathsea \
+ $(use_enable iconv kanji-iconv)
+}
+
+src_install() {
+ default
+
+ insinto /usr/include/ptexenc
+ doins ptexenc/unicode-jp.h
+ use iconv && doins ptexenc/kanjicnv.h
+
+ find "${ED}" -name '*.la' -delete || die
+}
diff --git a/dev-libs/pthreadpool/Manifest b/dev-libs/pthreadpool/Manifest
new file mode 100644
index 000000000000..953f6dd7963a
--- /dev/null
+++ b/dev-libs/pthreadpool/Manifest
@@ -0,0 +1 @@
+DIST pthreadpool-2023.08.29.tar.gz 59634 BLAKE2B 9bcf641e65da7036959e21958511751005f4cec270e82a0bfe1fe49d1d98f79e9a981bf3e7e4fa7399bdf5127e116833855214a0ac2816ddfd7b919f0c7ad8d0 SHA512 764d81219f2bf1f056983b5c2576f377aeef37f0f2282e74f81bfe1eac5353e175603f80a6647c96165b24ebdcb7bc2189a376e8577ce4319d82679c33750451
diff --git a/dev-libs/pthreadpool/files/pthreadpool-2022.05.09-gentoo.patch b/dev-libs/pthreadpool/files/pthreadpool-2022.05.09-gentoo.patch
new file mode 100644
index 000000000000..a818eaabc1a1
--- /dev/null
+++ b/dev-libs/pthreadpool/files/pthreadpool-2022.05.09-gentoo.patch
@@ -0,0 +1,47 @@
+--- a/CMakeLists.txt 2022-05-09 12:38:59.927116924 +0200
++++ b/CMakeLists.txt 2022-05-09 12:39:39.141532680 +0200
+@@ -37,22 +37,10 @@
+
+ # ---[ Download deps
+ IF(NOT DEFINED FXDIV_SOURCE_DIR)
+- MESSAGE(STATUS "Downloading FXdiv to ${CMAKE_BINARY_DIR}/FXdiv-source (define FXDIV_SOURCE_DIR to avoid it)")
+- CONFIGURE_FILE(cmake/DownloadFXdiv.cmake "${CMAKE_BINARY_DIR}/FXdiv-download/CMakeLists.txt")
+- EXECUTE_PROCESS(COMMAND "${CMAKE_COMMAND}" -G "${CMAKE_GENERATOR}" .
+- WORKING_DIRECTORY "${CMAKE_BINARY_DIR}/FXdiv-download")
+- EXECUTE_PROCESS(COMMAND "${CMAKE_COMMAND}" --build .
+- WORKING_DIRECTORY "${CMAKE_BINARY_DIR}/FXdiv-download")
+ SET(FXDIV_SOURCE_DIR "${CMAKE_BINARY_DIR}/FXdiv-source" CACHE STRING "FXdiv source directory")
+ ENDIF()
+
+ IF(PTHREADPOOL_BUILD_TESTS AND NOT DEFINED GOOGLETEST_SOURCE_DIR)
+- MESSAGE(STATUS "Downloading Google Test to ${CMAKE_BINARY_DIR}/googletest-source (define GOOGLETEST_SOURCE_DIR to avoid it)")
+- CONFIGURE_FILE(cmake/DownloadGoogleTest.cmake "${CMAKE_BINARY_DIR}/googletest-download/CMakeLists.txt")
+- EXECUTE_PROCESS(COMMAND "${CMAKE_COMMAND}" -G "${CMAKE_GENERATOR}" .
+- WORKING_DIRECTORY "${CMAKE_BINARY_DIR}/googletest-download")
+- EXECUTE_PROCESS(COMMAND "${CMAKE_COMMAND}" --build .
+- WORKING_DIRECTORY "${CMAKE_BINARY_DIR}/googletest-download")
+ SET(GOOGLETEST_SOURCE_DIR "${CMAKE_BINARY_DIR}/googletest-source" CACHE STRING "Google Test source directory")
+ ENDIF()
+
+@@ -153,11 +143,7 @@
+ IF(NOT TARGET fxdiv)
+ SET(FXDIV_BUILD_TESTS OFF CACHE BOOL "")
+ SET(FXDIV_BUILD_BENCHMARKS OFF CACHE BOOL "")
+- ADD_SUBDIRECTORY(
+- "${FXDIV_SOURCE_DIR}"
+- "${CMAKE_BINARY_DIR}/FXdiv")
+ ENDIF()
+-TARGET_LINK_LIBRARIES(pthreadpool PRIVATE fxdiv)
+
+ INSTALL(TARGETS pthreadpool
+ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
+@@ -157,9 +151,6 @@
+ # ---[ Build google test
+ IF(NOT TARGET gtest)
+ SET(gtest_force_shared_crt ON CACHE BOOL "" FORCE)
+- ADD_SUBDIRECTORY(
+- "${GOOGLETEST_SOURCE_DIR}"
+- "${CMAKE_BINARY_DIR}/googletest")
+ ENDIF()
+
+ ADD_EXECUTABLE(pthreadpool-test test/pthreadpool.cc)
diff --git a/dev-libs/pthreadpool/metadata.xml b/dev-libs/pthreadpool/metadata.xml
new file mode 100644
index 000000000000..15ba30ebfb01
--- /dev/null
+++ b/dev-libs/pthreadpool/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">Maratyszcza/pthreadpool</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/pthreadpool/pthreadpool-2023.08.29.ebuild b/dev-libs/pthreadpool/pthreadpool-2023.08.29.ebuild
new file mode 100644
index 000000000000..ba614beea387
--- /dev/null
+++ b/dev-libs/pthreadpool/pthreadpool-2023.08.29.ebuild
@@ -0,0 +1,43 @@
+# Copyright 2022-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+inherit cmake
+
+CommitId=4fe0e1e183925bf8cfa6aae24237e724a96479b8
+DESCRIPTION="Portable and efficient thread pool implementation"
+HOMEPAGE="https://github.com/Maratyszcza/pthreadpool"
+SRC_URI="https://github.com/Maratyszcza/${PN}/archive/${CommitId}.tar.gz
+ -> ${P}.tar.gz"
+
+LICENSE="BSD-2"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="test"
+
+DEPEND="dev-libs/FXdiv"
+RDEPEND="${DEPEND}"
+BDEPEND="test? ( dev-cpp/gtest )"
+RESTRICT="!test? ( test )"
+
+S="${WORKDIR}"/${PN}-${CommitId}
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-2022.05.09-gentoo.patch
+)
+
+src_prepare() {
+ cmake_src_prepare
+
+ # >=dev-cpp/gtest-1.13.0 requires C++14 standard or later
+ sed -i -e 's/CXX_STANDARD 11/CXX_STANDARD 14/g' \
+ CMakeLists.txt || die "sed failed"
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DPTHREADPOOL_BUILD_BENCHMARKS=OFF
+ -DPTHREADPOOL_BUILD_TESTS=$(usex test ON OFF)
+ )
+ cmake_src_configure
+}
diff --git a/dev-libs/pthreads4w/Manifest b/dev-libs/pthreads4w/Manifest
deleted file mode 100644
index b6ffdf2e8853..000000000000
--- a/dev-libs/pthreads4w/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST pthreads4w-code-v3.0.0.zip 862409 BLAKE2B cd23103c92f8eaa2088fdd68cfc94655771d44c365ca32180395cdb8645b570c2f65620d3c2969671a48c6ac45889bc439f3490dc7ec2497dfeca9f758cda6cd SHA512 49e541b66c26ddaf812edb07b61d0553e2a5816ab002edc53a38a897db8ada6d0a096c98a9af73a8f40c94283df53094f76b429b09ac49862465d8697ed20013
diff --git a/dev-libs/pthreads4w/metadata.xml b/dev-libs/pthreads4w/metadata.xml
deleted file mode 100644
index 373934d6a80f..000000000000
--- a/dev-libs/pthreads4w/metadata.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <!-- maintainer-needed -->
- <longdescription lang="en">
- Also known as "pthreads-win32", POSIX Threads for Windows implements a large
- subset of the threads related API from the Single Unix Specification Version 3.
- </longdescription>
-</pkgmetadata>
diff --git a/dev-libs/pthreads4w/pthreads4w-3.0.0.ebuild b/dev-libs/pthreads4w/pthreads4w-3.0.0.ebuild
deleted file mode 100644
index 9ab3c315154a..000000000000
--- a/dev-libs/pthreads4w/pthreads4w-3.0.0.ebuild
+++ /dev/null
@@ -1,72 +0,0 @@
-# Copyright 2019-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-DESCRIPTION="POSIX Threads for Windows"
-HOMEPAGE="http://pthreads4w.sourceforge.net/"
-SRC_URI="mirror://sourceforge/${PN}/${PN}-code-v${PV}.zip"
-
-LICENSE="LGPL-2"
-SLOT="0"
-KEYWORDS="~x86-winnt"
-IUSE=""
-
-DEPEND=""
-RDEPEND="${DEPEND}"
-BDEPEND="
- app-arch/unzip
- sys-devel/parity
-"
-
-S=${WORKDIR}/${PN}-code-07053a521b0a9deb6db2a649cde1f828f2eb1f4f
-
-src_compile() {
- # from pthreads.h:
- # Note: Unless the build explicitly defines one of the following, then
- # we default to standard C style cleanup. This style uses setjmp/longjmp
- # in the cancellation and thread exit implementations and therefore won't
- # do stack unwinding if linked to applications that have it (e.g.
- # C++ apps). This is currently consistent with most/all commercial Unix
- # POSIX threads implementations.
- local variant="VC" # C style cleanup
-
- case ${CHOST} in
- *-libcmtd*) variant+="-static-debug" ;;
- *-libcmt*) variant+="-static" ;;
- *-msvcd*) variant+="-debug" ;;
- *-msvc*) ;;
- esac
-
- case ${CHOST} in
- x86_64-*) variant+=" TARGET_CPU=x64" ;;
- i?86-*) variant+=" TARGET_CPU=x86" ;;
- esac
-
- ${CHOST}-nmake -f Makefile ${variant} || die
-}
-
-src_install() {
- local V=$(ver_cut 1)
- case ${CHOST} in
- *-libcmtd*|*-msvcd*) V+="d" ;; # debug CRT
- esac
- case ${CHOST} in
- *-libcmt*) # static CRT
- dolib.so libpthreadVC${V}.lib
- newlib.so libpthreadVC${V}.lib libpthread.lib # for -lpthread
- ;;
- *-msvc*) # dynamic CRT
- dobin pthreadVC${V}.dll
- dolib.so pthreadVC${V}.lib
- newlib.so pthreadVC${V}.lib pthread.lib # for -lpthread
- ;;
- esac
- insinto /usr/include
- doins {pthread,sched,semaphore,_ptw32}.h
- einstalldocs
-}
-
-src_test() {
- ${CHOST}-nmake -DEXHAUSTIVE all-tests || die
-}
diff --git a/dev-libs/pugixml/Manifest b/dev-libs/pugixml/Manifest
index e5df8ab6a1fa..4c599e303ab7 100644
--- a/dev-libs/pugixml/Manifest
+++ b/dev-libs/pugixml/Manifest
@@ -1 +1,2 @@
-DIST pugixml-1.11.4.tar.gz 386229 BLAKE2B 93d9c537f10e3a12297e4d6a39f2866bd5c9678c6aff83e20fb79b6587191b6586b1fe4d9dd995a7be05cc9281cd9910fae3eddf6b2eac216873e918a5cf3231 SHA512 c83f57ef2492eee359d979597fb5089b8eca547bb9d41cfbb6bcf43d59fe75e6780b0f31dd593145ec9888c065153aba52702667e2de213fa080cd51e9e13a38
+DIST pugixml-1.13.tar.gz 573528 BLAKE2B 62b7233d46587a95936c809f06b5d5277ac0f79f125e1d02382f13ed5122d4f7d21d120b0e48049bffd1e2cc413160fd67f9258b1fc2cfccb7f9db8b9bce10c4 SHA512 5ff95a1ce06df01a72e736be4684c097dc656b2fc330b7fe6bf62601aca5c72edd0f40e51a643ce92f4fe5ba632b0b9fb57fbb1524aebcdd70441adeedec4a86
+DIST pugixml-1.14.tar.gz 576683 BLAKE2B 0379916979f796f5d0f4063d2b156159ec90915694c4b2fa93b14dad717709a2dd3dc2851f794e56fb8e35f47d39d1b9d84905a3f4b5b89a8e677af9d5a24f99 SHA512 730d203829eb24d6e1c873f9b921ae97cf7a157fd45504151bc2e61adea5c536eaf33ff38c5ad61629b54a6686135ff1834a61102b4660fbb9ead4ecf20dfd34
diff --git a/dev-libs/pugixml/pugixml-1.11.4.ebuild b/dev-libs/pugixml/pugixml-1.11.4.ebuild
deleted file mode 100644
index 3eb298da3954..000000000000
--- a/dev-libs/pugixml/pugixml-1.11.4.ebuild
+++ /dev/null
@@ -1,20 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit cmake
-
-if [[ ${PV} == *9999 ]] ; then
- EGIT_REPO_URI="https://github.com/zeux/${PN}.git"
- inherit git-r3
-else
- SRC_URI="https://github.com/zeux/${PN}/releases/download/v${PV}/${P}.tar.gz"
- KEYWORDS="amd64 ~arm arm64 ~hppa ~ia64 ppc ppc64 sparc x86 ~amd64-linux ~x86-linux"
-fi
-
-DESCRIPTION="Light-weight, simple, and fast XML parser for C++ with XPath support"
-HOMEPAGE="https://pugixml.org/ https://github.com/zeux/pugixml/"
-
-LICENSE="MIT"
-SLOT="0"
diff --git a/dev-libs/pugixml/pugixml-1.13.ebuild b/dev-libs/pugixml/pugixml-1.13.ebuild
new file mode 100644
index 000000000000..0ad37cf66bc3
--- /dev/null
+++ b/dev-libs/pugixml/pugixml-1.13.ebuild
@@ -0,0 +1,31 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+if [[ ${PV} == *9999 ]] ; then
+ EGIT_REPO_URI="https://github.com/zeux/${PN}.git"
+ inherit git-r3
+else
+ # Use non-release tarball for tests
+ # TODO: ask upstream to include tests in release tarballs?
+ SRC_URI="https://github.com/zeux/${PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="amd64 ~arm arm64 ~hppa ~ia64 ppc ppc64 ~riscv sparc x86 ~amd64-linux ~x86-linux"
+fi
+
+DESCRIPTION="Light-weight, simple, and fast XML parser for C++ with XPath support"
+HOMEPAGE="https://pugixml.org/ https://github.com/zeux/pugixml"
+
+LICENSE="MIT"
+SLOT="0"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+src_configure() {
+ local mycmakeargs=(
+ -D${PN^^}_BUILD_TESTS=$(usex test ON OFF)
+ )
+ cmake_src_configure
+}
diff --git a/dev-libs/pugixml/pugixml-1.14.ebuild b/dev-libs/pugixml/pugixml-1.14.ebuild
new file mode 100644
index 000000000000..03e349399a43
--- /dev/null
+++ b/dev-libs/pugixml/pugixml-1.14.ebuild
@@ -0,0 +1,31 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+if [[ ${PV} == *9999 ]] ; then
+ EGIT_REPO_URI="https://github.com/zeux/${PN}.git"
+ inherit git-r3
+else
+ # Use non-release tarball for tests
+ # TODO: ask upstream to include tests in release tarballs?
+ SRC_URI="https://github.com/zeux/${PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="amd64 ~arm arm64 ~hppa ~ia64 ppc ppc64 ~riscv sparc x86 ~amd64-linux ~x86-linux"
+fi
+
+DESCRIPTION="Light-weight, simple, and fast XML parser for C++ with XPath support"
+HOMEPAGE="https://pugixml.org/ https://github.com/zeux/pugixml"
+
+LICENSE="MIT"
+SLOT="0"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+src_configure() {
+ local mycmakeargs=(
+ -D${PN^^}_BUILD_TESTS=$(usex test ON OFF)
+ )
+ cmake_src_configure
+}
diff --git a/dev-libs/pugixml/pugixml-9999.ebuild b/dev-libs/pugixml/pugixml-9999.ebuild
index 13e703458881..ab15c38b19e9 100644
--- a/dev-libs/pugixml/pugixml-9999.ebuild
+++ b/dev-libs/pugixml/pugixml-9999.ebuild
@@ -1,7 +1,7 @@
-# Copyright 1999-2019 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
inherit cmake
@@ -9,12 +9,23 @@ if [[ ${PV} == *9999 ]] ; then
EGIT_REPO_URI="https://github.com/zeux/${PN}.git"
inherit git-r3
else
- SRC_URI="https://github.com/zeux/${PN}/releases/download/v${PV}/${P}.tar.gz"
- KEYWORDS="~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux"
+ # Use non-release tarball for tests
+ # TODO: ask upstream to include tests in release tarballs?
+ SRC_URI="https://github.com/zeux/${PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux"
fi
DESCRIPTION="Light-weight, simple, and fast XML parser for C++ with XPath support"
-HOMEPAGE="https://pugixml.org/ https://github.com/zeux/pugixml/"
+HOMEPAGE="https://pugixml.org/ https://github.com/zeux/pugixml"
LICENSE="MIT"
SLOT="0"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+src_configure() {
+ local mycmakeargs=(
+ -D${PN^^}_BUILD_TESTS=$(usex test ON OFF)
+ )
+ cmake_src_configure
+}
diff --git a/dev-libs/qcoro/Manifest b/dev-libs/qcoro/Manifest
new file mode 100644
index 000000000000..8c665b3100eb
--- /dev/null
+++ b/dev-libs/qcoro/Manifest
@@ -0,0 +1 @@
+DIST qcoro-0.10.0.tar.gz 150114 BLAKE2B 8a552dc3a0e4a5963c7c9fd0638f336e6ad99491a54df3bb8ddaa6b0ee1fe8e4c6b7ffc26c25cef543e796c54bc4c625a0915755f4b538f489bc61fcd8310a6a SHA512 de2e55256d3c9d35fec3ef6dc78128801b70a5e5b8ff0f3a6f235dac17f349ea44207a7c9f35375215dbeea04cb67c3412d505d0a8a95f2b926775f804a02649
diff --git a/dev-libs/qcoro/metadata.xml b/dev-libs/qcoro/metadata.xml
new file mode 100644
index 000000000000..60c7061a3a86
--- /dev/null
+++ b/dev-libs/qcoro/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="project">
+ <email>kde@gentoo.org</email>
+ <name>Gentoo KDE Project</name>
+ </maintainer>
+ <upstream>
+ <bugs-to>https://github.com/danvratil/qcoro/issues</bugs-to>
+ <remote-id type="github">danvratil/qcoro</remote-id>
+ </upstream>
+ <use>
+ <flag name="network">Build <pkg>dev-qt/qtbase</pkg> network support</flag>
+ <flag name="qml">Enable QML/QtQuick support via <pkg>dev-qt/qtdeclarative</pkg></flag>
+ <flag name="websockets">Build <pkg>dev-qt/qtwebsockets</pkg> support</flag>
+ </use>
+</pkgmetadata>
diff --git a/dev-libs/qcoro/qcoro-0.10.0-r1.ebuild b/dev-libs/qcoro/qcoro-0.10.0-r1.ebuild
new file mode 100644
index 000000000000..6b49855d6997
--- /dev/null
+++ b/dev-libs/qcoro/qcoro-0.10.0-r1.ebuild
@@ -0,0 +1,60 @@
+# Copyright 1999-2023 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/danvratil/${PN}"
+else
+ SRC_URI="https://github.com/danvratil/${PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~amd64"
+fi
+
+DESCRIPTION="C++ Coroutine Library for Qt"
+HOMEPAGE="https://qcoro.dvratil.cz/ https://github.com/danvratil/qcoro"
+
+LICENSE="MIT"
+SLOT="0"
+IUSE="dbus examples +network qml test websockets"
+
+REQUIRED_USE="examples? ( network )"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ dev-qt/qtbase:6[dbus?,network?]
+ qml? (
+ dev-qt/qtbase:6[gui]
+ dev-qt/qtdeclarative:6=
+ )
+ websockets? ( dev-qt/qtwebsockets:6 )
+"
+DEPEND="${RDEPEND}
+ examples? ( dev-qt/qtbase:6[concurrent,network,widgets] )
+ test? ( dev-qt/qtbase:6[concurrent] )
+"
+
+src_configure() {
+ local mycmakeargs=(
+ -DUSE_QT_VERSION=6
+ -DQCORO_BUILD_EXAMPLES=$(usex examples)
+ -DQCORO_WITH_QTDBUS=$(usex dbus)
+ -DQCORO_WITH_QTNETWORK=$(usex network)
+ -DQCORO_WITH_QML=$(usex qml)
+ -DQCORO_WITH_QTQUICK=$(usex qml)
+ -DQCORO_WITH_QTTEST=ON
+ -DBUILD_TESTING=$(usex test)
+ -DQCORO_WITH_QTWEBSOCKETS=$(usex websockets)
+ )
+ cmake_src_configure
+}
+
+src_install() {
+ if use examples; then
+ docinto examples
+ dodoc -r examples/*
+ fi
+ cmake_src_install
+}
diff --git a/dev-libs/qcoro5/Manifest b/dev-libs/qcoro5/Manifest
new file mode 100644
index 000000000000..c157c9559060
--- /dev/null
+++ b/dev-libs/qcoro5/Manifest
@@ -0,0 +1 @@
+DIST qcoro5-0.10.0.tar.gz 150114 BLAKE2B 8a552dc3a0e4a5963c7c9fd0638f336e6ad99491a54df3bb8ddaa6b0ee1fe8e4c6b7ffc26c25cef543e796c54bc4c625a0915755f4b538f489bc61fcd8310a6a SHA512 de2e55256d3c9d35fec3ef6dc78128801b70a5e5b8ff0f3a6f235dac17f349ea44207a7c9f35375215dbeea04cb67c3412d505d0a8a95f2b926775f804a02649
diff --git a/dev-libs/qcoro5/metadata.xml b/dev-libs/qcoro5/metadata.xml
new file mode 100644
index 000000000000..57d397297f29
--- /dev/null
+++ b/dev-libs/qcoro5/metadata.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>kde@gentoo.org</email>
+ <name>Gentoo KDE Project</name>
+ </maintainer>
+ <upstream>
+ <bugs-to>https://github.com/danvratil/qcoro/issues</bugs-to>
+ <remote-id type="github">danvratil/qcoro</remote-id>
+ </upstream>
+ <use>
+ <flag name="network">Build <pkg>dev-qt/qtnetwork</pkg> support</flag>
+ <flag name="qml">Enable QML/QtQuick support via <pkg>dev-qt/qtdeclarative</pkg></flag>
+ <flag name="testlib">Install coroutine-friendly versions of <pkg>dev-qt/qttest</pkg> macros</flag>
+ <flag name="websockets">Build <pkg>dev-qt/qtwebsockets</pkg> support</flag>
+ </use>
+</pkgmetadata>
diff --git a/dev-libs/qcoro5/qcoro5-0.10.0-r1.ebuild b/dev-libs/qcoro5/qcoro5-0.10.0-r1.ebuild
new file mode 100644
index 000000000000..e038bbf9159b
--- /dev/null
+++ b/dev-libs/qcoro5/qcoro5-0.10.0-r1.ebuild
@@ -0,0 +1,71 @@
+# 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/danvratil/${PN/5/}"
+else
+ SRC_URI="https://github.com/danvratil/${PN/5/}/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
+ S="${WORKDIR}/${P/5/}"
+ KEYWORDS="amd64 ~arm arm64 ~loong ~ppc64 ~riscv x86"
+fi
+
+DESCRIPTION="C++ Coroutine Library for Qt5"
+HOMEPAGE="https://qcoro.dvratil.cz/ https://github.com/danvratil/qcoro"
+
+LICENSE="MIT"
+SLOT="0"
+IUSE="dbus examples +network qml test testlib websockets"
+
+REQUIRED_USE="examples? ( network ) test? ( testlib )"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ dev-qt/qtcore:5
+ dbus? ( dev-qt/qtdbus:5 )
+ network? ( dev-qt/qtnetwork:5 )
+ qml? (
+ dev-qt/qtdeclarative:5=
+ dev-qt/qtgui:5
+ )
+ testlib? ( dev-qt/qttest:5 )
+ websockets? ( dev-qt/qtwebsockets:5 )
+"
+DEPEND="${RDEPEND}
+ examples? (
+ dev-qt/qtconcurrent:5
+ dev-qt/qtnetwork:5
+ dev-qt/qtwidgets:5
+ )
+ test? (
+ dev-qt/qtconcurrent:5
+ dev-qt/qttest:5
+ )
+"
+
+src_configure() {
+ local mycmakeargs=(
+ -DUSE_QT_VERSION=5
+ -DQCORO_BUILD_EXAMPLES=$(usex examples)
+ -DQCORO_WITH_QTDBUS=$(usex dbus)
+ -DQCORO_WITH_QTNETWORK=$(usex network)
+ -DQCORO_WITH_QML=$(usex qml)
+ -DQCORO_WITH_QTQUICK=$(usex qml)
+ -DQCORO_WITH_QTTEST=$(usex testlib)
+ -DBUILD_TESTING=$(usex test)
+ -DQCORO_WITH_QTWEBSOCKETS=$(usex websockets)
+ )
+ cmake_src_configure
+}
+
+src_install() {
+ if use examples; then
+ docinto examples
+ dodoc -r examples/*
+ fi
+ cmake_src_install
+}
diff --git a/dev-libs/qcustomplot/Manifest b/dev-libs/qcustomplot/Manifest
index b597eb03cf3a..ad63881c1367 100644
--- a/dev-libs/qcustomplot/Manifest
+++ b/dev-libs/qcustomplot/Manifest
@@ -1,2 +1,4 @@
DIST qcustomplot-sharedlib-2.0.1.tar.gz 1963 BLAKE2B 294877d929564767009a8a4409111408eda1eb4e0cc64b48e644d25f30ef18151c2df1f0c5caa4e95c5b75dd492e795f97077e47bb927ff9637a2da9a2ec757e SHA512 ce90540fca7226eac37746327e1939a9c7af38fc2595f385ed04d6d1f49560da08fb5fae15d1b9d22b6ba578583f70de8f89ef26796770d41bf599c1b15c535d
+DIST qcustomplot-sharedlib-2.1.1.tar.gz 2315 BLAKE2B 5ded041a46a35dece817749479cba83da260407e387a339c5fba57a37897118b20cd50f362e78ea4a35c9babc5f6c73c235a671a17b5b0423b00e472c0a8eb60 SHA512 c661e4a835066fee92b254fbd7b825dbd5c58973189ff2099a01308cb81fe6bf3bac1456f5da91f01c6265f8f548f61b57e237d00a9b5c2c94acf1a024baa18e
DIST qcustomplot-source-2.0.1.tar.gz 319140 BLAKE2B 868133f5126eea0aa8f80d34272f854de93b60575e3eed1b52211bec5ed96886503ba5c7f15c6f0ff15f3f67e35db6e5333adfc7465cee40768a65ed1b7275da SHA512 b44abbd8fd95970a829bbb6e7becc0765e24bd8f05958c8c1223303b68fb4c0a64f503cf0a2fe4fc53957e6e61a6618500475cff3e81ed0ab387a9eada2c83a3
+DIST qcustomplot-source-2.1.1.tar.gz 372955 BLAKE2B 985ce5fbfe2888ac2346a8c694e832f8d9e3d20ae1c2f93af8757f6a7c803e24ae429c11240aeaf9e79625d8eb0e8a835dca023b73eac4ca1338d21434bd3c67 SHA512 1feb4f45ef90d7709edb26c9964f0ec85ef4aa30f0a7e9fcd803fae586875e8d6744dbcfe08b21f461816ca426c8a6612f8e9c7ef9d3f5a7150c3de8fa5ee57d
diff --git a/dev-libs/qcustomplot/qcustomplot-2.1.1.ebuild b/dev-libs/qcustomplot/qcustomplot-2.1.1.ebuild
new file mode 100644
index 000000000000..2f6a8359e81e
--- /dev/null
+++ b/dev-libs/qcustomplot/qcustomplot-2.1.1.ebuild
@@ -0,0 +1,45 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit qmake-utils
+
+DESCRIPTION="Qt C++ widget for plotting and data visualization"
+HOMEPAGE="https://www.qcustomplot.com/"
+SRC_URI="
+ https://www.qcustomplot.com/release/${PV}/QCustomPlot-sharedlib.tar.gz -> ${PN}-sharedlib-${PV}.tar.gz
+ https://www.qcustomplot.com/release/${PV}/QCustomPlot-source.tar.gz -> ${PN}-source-${PV}.tar.gz"
+S=${WORKDIR}/${PN}-source
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="amd64 ~arm x86 ~amd64-linux ~x86-linux"
+IUSE=""
+
+RDEPEND="
+ dev-qt/qtcore:5
+ dev-qt/qtgui:5
+ dev-qt/qtprintsupport:5
+ dev-qt/qtwidgets:5
+"
+DEPEND="${RDEPEND}"
+
+src_prepare() {
+ default
+
+ sed \
+ -e 's:../../::g' \
+ -e '/CONFIG/s:shared.*:shared:g' \
+ "${WORKDIR}"/${PN}-sharedlib/sharedlib-compilation/sharedlib-compilation.pro > ${PN}.pro || die
+}
+
+src_configure() {
+ eqmake5
+}
+
+src_install() {
+ dolib.so lib${PN}*
+ doheader ${PN}.h
+ dodoc changelog.txt
+}
diff --git a/dev-libs/qhotkey/Manifest b/dev-libs/qhotkey/Manifest
new file mode 100644
index 000000000000..627b3a927533
--- /dev/null
+++ b/dev-libs/qhotkey/Manifest
@@ -0,0 +1 @@
+DIST qhotkey-1.5.0.tar.gz 53083 BLAKE2B fab832d97ea8525b6d2916543b60c4e9ec2af1e0461b402d22367f5a9654b564cc24ee835e2157b1ef9f2dece66b750105b9815ccd7e0db4ae7352b33a5d6750 SHA512 c57135864e976c0881bca320f39ff98ec6973cb226902fe051b844ad29d106593bdf5524335b8f83a62cecac362af95b61964bc5fa6a47abcb7adf668bcc14c1
diff --git a/dev-libs/qhotkey/metadata.xml b/dev-libs/qhotkey/metadata.xml
new file mode 100644
index 000000000000..884dd3b49960
--- /dev/null
+++ b/dev-libs/qhotkey/metadata.xml
@@ -0,0 +1,18 @@
+<?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@retornaz.com</email>
+ <name>Quentin Retornaz</name>
+ </maintainer>
+ <maintainer type="project" proxied="proxy">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">Skycoder42/QHotkey</remote-id>
+ </upstream>
+ <use>
+ <flag name="qt6">Use Qt6 dependencies</flag>
+ </use>
+</pkgmetadata>
diff --git a/dev-libs/qhotkey/qhotkey-1.5.0.ebuild b/dev-libs/qhotkey/qhotkey-1.5.0.ebuild
new file mode 100644
index 000000000000..5721563f8374
--- /dev/null
+++ b/dev-libs/qhotkey/qhotkey-1.5.0.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
+
+DESCRIPTION="A global shortcut/hotkey library for desktop Qt applications"
+HOMEPAGE="https://github.com/Skycoder42/QHotkey"
+
+MY_PN="QHotkey"
+
+SRC_URI="https://github.com/Skycoder42/${MY_PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+LICENSE="BSD-with-attribution"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="qt6"
+S="${WORKDIR}/${MY_PN}-${PV}"
+
+DEPEND="
+ !qt6? (
+ dev-qt/qtcore:5
+ dev-qt/qtx11extras:5
+ )
+ qt6? (
+ dev-qt/qtbase:6
+ )
+ x11-libs/libX11
+"
+
+src_configure() {
+ local mycmakeargs=(
+ -DQT_DEFAULT_MAJOR_VERSION:STRING=$(usex qt6 "6" "5")
+ )
+ cmake_src_configure
+}
diff --git a/dev-libs/qoauth/qoauth-2.0.1_pre20160315-r3.ebuild b/dev-libs/qoauth/qoauth-2.0.1_pre20160315-r3.ebuild
index 06dc6eaaa41c..c1a097f977e2 100644
--- a/dev-libs/qoauth/qoauth-2.0.1_pre20160315-r3.ebuild
+++ b/dev-libs/qoauth/qoauth-2.0.1_pre20160315-r3.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -17,7 +17,7 @@ IUSE="debug doc test"
RESTRICT="!test? ( test )"
BDEPEND="
- doc? ( app-doc/doxygen )
+ doc? ( app-text/doxygen )
"
COMMON_DEPEND="
app-crypt/qca:2[debug?,qt5(+)]
diff --git a/dev-libs/qqwing/qqwing-1.3.4-r1.ebuild b/dev-libs/qqwing/qqwing-1.3.4-r1.ebuild
new file mode 100644
index 000000000000..42a9646269aa
--- /dev/null
+++ b/dev-libs/qqwing/qqwing-1.3.4-r1.ebuild
@@ -0,0 +1,17 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DESCRIPTION="Sudoku puzzle generator and solver"
+HOMEPAGE="https://qqwing.com"
+SRC_URI="https://qqwing.com/${P}.tar.gz"
+
+LICENSE="GPL-2+"
+SLOT="0/2"
+KEYWORDS="amd64 arm arm64 ~loong ~riscv x86"
+
+src_install() {
+ default
+ find "${ED}" -name '*.la' -delete || die
+}
diff --git a/dev-libs/qqwing/qqwing-1.3.4.ebuild b/dev-libs/qqwing/qqwing-1.3.4.ebuild
deleted file mode 100644
index e5ac27d32409..000000000000
--- a/dev-libs/qqwing/qqwing-1.3.4.ebuild
+++ /dev/null
@@ -1,17 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DESCRIPTION="Sudoku puzzle generator and solver"
-HOMEPAGE="https://qqwing.com"
-SRC_URI="https://qqwing.com/${P}.tar.gz"
-
-LICENSE="GPL-2+"
-SLOT="0/2"
-KEYWORDS="amd64 arm ~arm64 ~riscv x86"
-
-src_install() {
- default
- find "${ED}" -name '*.la' -delete || die
-}
diff --git a/dev-libs/qr-code-generator/Manifest b/dev-libs/qr-code-generator/Manifest
new file mode 100644
index 000000000000..488e61001477
--- /dev/null
+++ b/dev-libs/qr-code-generator/Manifest
@@ -0,0 +1,2 @@
+DIST qr-code-generator-1.8.0.tar.gz 193288 BLAKE2B 2e511baf35fbfdb71ad5e2dc91c1400a113eb9bce51afa022c34b7ad7d3c9be4a862e2caaef89f517fbbf29879223fb078c88fdec27d6a876126c798ac6772c6 SHA512 0cdf0873e71aed124fc7357da86fb26f23fd26432f94c9752fa5a044085b26e5aece2115134d0e50213ff24be7c55818e7dec31205a68751065bc82ab0c2c6ac
+DIST qr-code-generator-cmake-1.8.0.tar.gz 5573 BLAKE2B 206e88a0a2b9c069f5b9ebe78cb570c141ee12ea16c2bea0635b054ebb05c78654175e8391d744cc66bd00326d255acd96e25079d398cbb44569597fcf9797a5 SHA512 cd7da1c5cbb92ad25ee4c4cc820216628f2943268f884acc6c67ee6f74e943c639b74ec05470b6497f606594b5c6544b1ac9ab98d5b2d5196c0f7c627a4ce06e
diff --git a/dev-libs/qr-code-generator/metadata.xml b/dev-libs/qr-code-generator/metadata.xml
new file mode 100644
index 000000000000..5d36bf5a3c0d
--- /dev/null
+++ b/dev-libs/qr-code-generator/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>chiitoo@gentoo.org</email>
+ <description>Primary maintainer</description>
+ </maintainer>
+ <longdescription>
+ Package combining the nayuki/QR-Code-generator upstream with the
+ CMake files from EasyCoding/qrcodegen-cmake upstream.
+ </longdescription>
+ <upstream>
+ <remote-id type="github">EasyCoding/qrcodegen-cmake</remote-id>
+ <remote-id type="github">nayuki/QR-Code-generator</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/qr-code-generator/qr-code-generator-1.8.0.ebuild b/dev-libs/qr-code-generator/qr-code-generator-1.8.0.ebuild
new file mode 100644
index 000000000000..4a82614b6f10
--- /dev/null
+++ b/dev-libs/qr-code-generator/qr-code-generator-1.8.0.ebuild
@@ -0,0 +1,28 @@
+# Copyright 2023-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+DESCRIPTION="QR Code Generator Library in Multiple Languages"
+HOMEPAGE="
+ https://github.com/EasyCoding/qrcodegen-cmake
+ https://github.com/nayuki/QR-Code-generator
+"
+SRC_URI="
+ https://github.com/EasyCoding/qrcodegen-cmake/archive/v${PV}-cmake2.tar.gz -> qr-code-generator-cmake-${PV}.tar.gz
+ https://github.com/nayuki/QR-Code-generator/archive/v${PV}.tar.gz -> ${P}.tar.gz
+"
+S="${WORKDIR}/QR-Code-generator-${PV}"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+
+src_prepare() {
+ # Move the CMake files into the project root.
+ mv ../qrcodegen-cmake-${PV}-cmake2/* . || die
+
+ cmake_src_prepare
+}
diff --git a/dev-libs/qtcompress/Manifest b/dev-libs/qtcompress/Manifest
deleted file mode 100644
index dba886d100da..000000000000
--- a/dev-libs/qtcompress/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST qtcompress-0_p20180513.tar.gz 251845 BLAKE2B eab320403b2b853fd12b9c10146bbdbbaad6053e57e7b72e7d80448c3913a6e4dbe898496dcec49631b8d0b371a9c7af20e30324dc960d91180cdf2fb4865121 SHA512 6a1d980f94d689063cbb8322e154d618de0002b956460303fe76cd0b6d14d6f9ea6925fe347aa91831eaa0364ea1c5ba50bdcbf5006b1651a23d93bb8867e336
diff --git a/dev-libs/qtcompress/files/qtcompress-0_p20180513-nogui.patch b/dev-libs/qtcompress/files/qtcompress-0_p20180513-nogui.patch
deleted file mode 100644
index 1dd5f4f1ed8c..000000000000
--- a/dev-libs/qtcompress/files/qtcompress-0_p20180513-nogui.patch
+++ /dev/null
@@ -1,10 +0,0 @@
---- a/tests/auto/unit/qzip/qzip.pro 2018-05-13 08:44:01.000000000 -0000
-+++ b/tests/auto/unit/qzip/qzip.pro 2020-10-10 14:23:34.377528668 -0000
-@@ -1,6 +1,7 @@
- CONFIG += testcase
- TARGET = tst_qzip
- QT += compress testlib
-+QT -= gui
- SOURCES += tst_qzip.cpp
-
- wince* {
diff --git a/dev-libs/qtcompress/files/qtcompress-0_p20180513-remove-zlib.patch b/dev-libs/qtcompress/files/qtcompress-0_p20180513-remove-zlib.patch
deleted file mode 100644
index de89e7ac2ae4..000000000000
--- a/dev-libs/qtcompress/files/qtcompress-0_p20180513-remove-zlib.patch
+++ /dev/null
@@ -1,10 +0,0 @@
-diff --git a/src/compress/compress.pro b/src/compress/compress.pro
-index 14ec502..3105a7f 100644
---- a/src/compress/compress.pro
-+++ b/src/compress/compress.pro
-@@ -11,5 +11,3 @@ HEADERS += \
- qtcompressglobal.h
-
- SOURCES += qzip.cpp
--
--include(../3rdparty/zlib.pri)
diff --git a/dev-libs/qtcompress/files/qtcompress-0_p20180513-test-include.patch b/dev-libs/qtcompress/files/qtcompress-0_p20180513-test-include.patch
deleted file mode 100644
index cc7bec4ed1e1..000000000000
--- a/dev-libs/qtcompress/files/qtcompress-0_p20180513-test-include.patch
+++ /dev/null
@@ -1,13 +0,0 @@
---- a/tests/auto/unit/qzip/tst_qzip.cpp 2018-05-13 09:44:01.000000000 +0100
-+++ b/tests/auto/unit/qzip/tst_qzip.cpp 2020-09-28 09:40:14.493025102 +0100
-@@ -41,8 +41,8 @@
-
- #include <QtTest/QtTest>
- #include <QDebug>
--#include <QtCompress/qzipwriter.h>
--#include <QtCompress/qzipreader.h>
-+#include <qzipwriter.h>
-+#include <qzipreader.h>
-
- class tst_QZip : public QObject
- {
diff --git a/dev-libs/qtcompress/metadata.xml b/dev-libs/qtcompress/metadata.xml
deleted file mode 100644
index d7f3ad8a7aaf..000000000000
--- a/dev-libs/qtcompress/metadata.xml
+++ /dev/null
@@ -1,15 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <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">nezticle/qtcompress</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/dev-libs/qtcompress/qtcompress-0_p20180513.ebuild b/dev-libs/qtcompress/qtcompress-0_p20180513.ebuild
deleted file mode 100644
index 6c44b02396a1..000000000000
--- a/dev-libs/qtcompress/qtcompress-0_p20180513.ebuild
+++ /dev/null
@@ -1,65 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit qmake-utils toolchain-funcs virtualx
-
-DESCRIPTION="A public API for QZip in an easy to use module"
-
-HOMEPAGE="https://github.com/nezticle/qtcompress"
-MY_COMMIT="23f8831826cd72aedf99fc3699148b6c994fd677"
-SRC_URI="https://github.com/nezticle/qtcompress/archive/${MY_COMMIT}.tar.gz -> ${P}.tar.gz"
-S="${WORKDIR}/qtcompress-${MY_COMMIT}"
-
-LICENSE="|| ( LGPL-2.1 GPL-3 ) FDL-1.3"
-SLOT="0/5.11.0"
-KEYWORDS="amd64 ppc ppc64 ~riscv x86"
-IUSE="test"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- dev-qt/qtcore:5
- sys-libs/zlib
-"
-DEPEND="
- ${RDEPEND}
- test? ( dev-qt/qttest:5 )
-"
-BDEPEND="
- virtual/pkgconfig
-"
-
-PATCHES=(
- "${FILESDIR}/${P}-remove-zlib.patch"
- "${FILESDIR}/${P}-test-include.patch"
- "${FILESDIR}/${P}-nogui.patch"
-)
-
-src_prepare() {
- default
- # qtcompress is bundling its own zlib, remove it
- rm -r src/3rdparty/ || die
-}
-
-src_configure() {
- local pkg_config="$(tc-getPKG_CONFIG)"
- eqmake5 \
- "INCLUDEPATH+=$("${pkg_config}" --cflags zlib)" \
- "LIBS+=$("${pkg_config}" --libs zlib)"
-}
-
-src_test() {
- cd tests/auto/unit || die
- eqmake5 \
- "INCLUDEPATH+=${S}/src/compress"
- emake
- virtx qzip/target_wrapper.sh qzip/tst_qzip
-}
-
-src_install() {
- emake INSTALL_ROOT="${D}" install
- rm "${ED}/usr/$(get_libdir)/libQt5Compress.la" || die
- insinto /usr/include/qt5/QtCompress
- doins src/compress/{qzipreader.h,qzipwriter.h,qtcompressglobal.h}
-}
diff --git a/dev-libs/qtkeychain/Manifest b/dev-libs/qtkeychain/Manifest
index e7ad7c651d04..be66d503e662 100644
--- a/dev-libs/qtkeychain/Manifest
+++ b/dev-libs/qtkeychain/Manifest
@@ -1 +1 @@
-DIST qtkeychain-0.13.2.tar.gz 43494 BLAKE2B d90799df83e8bed7f4ee9cdf6c7f56c86b1aee7123735963c4e2f858a69bbf28bcd062c6a302f8687626b1884acde61d7f7882b985517b24a1358b57ea13cdcc SHA512 10f8b1c959a126ba14614b797ea5640404a0b95c71e452225c74856eae90e966aac581ca393508a2106033c3d5ad70427ea6f7ef3f2997eddf6d09a7b4fa26eb
+DIST qtkeychain-0.14.2.tar.gz 50915 BLAKE2B eed35eec296b62fec90e83e98c3ab817aa05f7cefd74c3790ce2f7c38c051d5b95b3664e688bef0cfe7b06583e844782f60454bb67b48f6507fc33c780c62bf0 SHA512 d681f60a6954a8fcb37039cfb1a6d69f5aee19f30313d65072c40cee1880c302b9f2ad3d994ae7a775b17479f443231774804ca438ef6b5e7ec25533d5d9f3c2
diff --git a/dev-libs/qtkeychain/qtkeychain-0.13.2.ebuild b/dev-libs/qtkeychain/qtkeychain-0.13.2.ebuild
deleted file mode 100644
index c8d2c178448a..000000000000
--- a/dev-libs/qtkeychain/qtkeychain-0.13.2.ebuild
+++ /dev/null
@@ -1,47 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit cmake
-
-HOMEPAGE="https://github.com/frankosterfeld/qtkeychain"
-DESCRIPTION="Qt API for storing passwords securely"
-
-if [[ ${PV} != *9999* ]]; then
- SRC_URI="https://github.com/frankosterfeld/qtkeychain/archive/v${PV}.tar.gz -> ${P}.tar.gz"
- KEYWORDS="amd64 arm64 ~ppc64 ~riscv x86"
-else
- inherit git-r3
- EGIT_REPO_URI="${HOMEPAGE}.git"
-fi
-
-LICENSE="BSD-2"
-SLOT="0/1"
-IUSE="gnome-keyring"
-
-DEPEND="
- dev-qt/qtcore:5
- dev-qt/qtdbus:5
- gnome-keyring? (
- app-crypt/libsecret
- dev-libs/glib:2
- )
-"
-RDEPEND="${DEPEND}"
-BDEPEND="
- dev-qt/linguist-tools:5
-"
-
-DOCS=( ChangeLog ReadMe.md )
-
-src_configure() {
- local mycmakeargs=(
- -DBUILD_WITH_QT6=OFF
- -DBUILD_TEST_APPLICATION=OFF
- -DBUILD_TRANSLATIONS=ON
- -DLIBSECRET_SUPPORT=$(usex gnome-keyring)
- )
-
- cmake_src_configure
-}
diff --git a/dev-libs/qtkeychain/qtkeychain-0.14.2.ebuild b/dev-libs/qtkeychain/qtkeychain-0.14.2.ebuild
new file mode 100644
index 000000000000..3ee664e93b23
--- /dev/null
+++ b/dev-libs/qtkeychain/qtkeychain-0.14.2.ebuild
@@ -0,0 +1,74 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake multibuild
+
+HOMEPAGE="https://github.com/frankosterfeld/qtkeychain"
+DESCRIPTION="Qt API for storing passwords securely"
+
+if [[ ${PV} != *9999* ]]; then
+ SRC_URI="https://github.com/frankosterfeld/${PN}/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="amd64 arm64 ~loong ~ppc64 ~riscv x86"
+else
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/frankosterfeld/${PN}.git"
+fi
+
+LICENSE="BSD-2"
+SLOT="0/1"
+IUSE="keyring +qt5 qt6"
+REQUIRED_USE="|| ( qt5 qt6 )"
+
+DEPEND="
+ keyring? (
+ app-crypt/libsecret
+ dev-libs/glib:2
+ )
+ qt5? (
+ dev-qt/qtcore:5
+ dev-qt/qtdbus:5
+ )
+ qt6? ( dev-qt/qtbase:6[dbus] )
+"
+RDEPEND="${DEPEND}"
+BDEPEND="
+ qt5? ( dev-qt/linguist-tools:5 )
+ qt6? ( dev-qt/qttools:6[linguist] )
+"
+
+DOCS=( ChangeLog ReadMe.md )
+
+pkg_setup() {
+ MULTIBUILD_VARIANTS=( $(usev qt5) $(usev qt6) )
+}
+
+src_configure() {
+ my_src_configure() {
+ local mycmakeargs=(
+ -DECM_MKSPECS_INSTALL_DIR="${EPREFIX}"/usr/$(get_libdir)/${MULTIBUILD_VARIANT}/mkspecs
+ -DBUILD_TEST_APPLICATION=OFF
+ -DBUILD_TRANSLATIONS=ON
+ -DLIBSECRET_SUPPORT=$(usex keyring)
+ )
+
+ if [[ ${MULTIBUILD_VARIANT} == qt6 ]]; then
+ mycmakeargs+=( -DBUILD_WITH_QT6=ON )
+ else
+ mycmakeargs+=( -DBUILD_WITH_QT6=OFF )
+ fi
+
+ cmake_src_configure
+ }
+
+ multibuild_foreach_variant my_src_configure
+}
+
+src_compile() {
+ multibuild_foreach_variant cmake_src_compile
+}
+
+src_install() {
+ multibuild_foreach_variant cmake_src_install
+}
diff --git a/dev-libs/quazip/Manifest b/dev-libs/quazip/Manifest
index dbe68bf12763..d8ac2a86ded3 100644
--- a/dev-libs/quazip/Manifest
+++ b/dev-libs/quazip/Manifest
@@ -1 +1,3 @@
DIST quazip-1.2.tar.gz 155878 BLAKE2B cfd5505509863dfdfcc88cf9f50aeff0ee0c1391412dc8aeb34ab020debd8a29279563323a0ca13a8d3b8b026518f5d079b8fa989aca20a9bec083c6dd4e3695 SHA512 3f4b1a4194ca286163b1c17880ea471a341dcc05d758ee8f3d1e540d0f6aed7ac18200450187034c46b4fab1da39111dca534d75859701259406a6dd50205386
+DIST quazip-1.3.tar.gz 156138 BLAKE2B a9002bdfab39fc1516160b0073fd3d59a65a66eda98240b9a2936d4423b21b40dd9360122950a54dc18236bc2aaf4e1e2d761ba145f6dbd5014cf72a287fbb3b SHA512 3861a9084059576ff2690e8b911394b0286a60542ab021a4cc588537a60ea3a186ed7903c76544698001fa383dfd0de96bdfed433abaefc44158d3b30ab16fe2
+DIST quazip-1.4.tar.gz 157819 BLAKE2B bb0ec2ebd31d6ce5e2a19fc1b13570d57aa1438ff192621543ab6aec4e85f76677863d37efbe0bc59e3530ce023586440081cd47f069b4dcbac55118d12f8668 SHA512 38ce3aa77df1fd92229454e56b7290c066d1e319afa36a9f8ec8477004ae94df682e8f454f13cdaf586a1d0b0e033fe698081033a19536ecd53dd1e4b0204af9
diff --git a/dev-libs/quazip/files/quazip-1.3-cmake.patch b/dev-libs/quazip/files/quazip-1.3-cmake.patch
new file mode 100644
index 000000000000..016bd97f1dc0
--- /dev/null
+++ b/dev-libs/quazip/files/quazip-1.3-cmake.patch
@@ -0,0 +1,84 @@
+From 9d9e4e7c2076f0ab1a482ae32203aa336dc4ba9b Mon Sep 17 00:00:00 2001
+From: Thiago Donato Ferreira <flowlnlnln@gmail.com>
+Date: Mon, 18 Apr 2022 12:08:55 -0300
+Subject: [PATCH] Add CTest patch
+
+Signed-off-by: Thiago Donato Ferreira <flowlnlnln@gmail.com>
+---
+ CMakeLists.txt | 32 +++++++++++++++++++-------------
+ 1 file changed, 19 insertions(+), 13 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index a3eaf1a..71f2748 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -11,7 +11,6 @@ set(QUAZIP_LIB_SOVERSION 1.3.0)
+ option(BUILD_SHARED_LIBS "" ON)
+ option(QUAZIP_INSTALL "" ON)
+ option(QUAZIP_USE_QT_ZLIB "" OFF)
+-option(QUAZIP_ENABLE_TESTS "Build QuaZip tests" OFF)
+
+ # Set the default value of `${QUAZIP_QT_MAJOR_VERSION}`.
+ # We search quietly for Qt6, Qt5 and Qt4 in that order.
+@@ -34,6 +33,8 @@ endif()
+
+ set(QUAZIP_QT_MAJOR_VERSION ${QT_VERSION_MAJOR} CACHE STRING "Qt version to use (4, 5 or 6), defaults to ${QT_VERSION_MAJOR}")
+
++include(CTest)
++
+ if(NOT CMAKE_BUILD_TYPE)
+ set(CMAKE_BUILD_TYPE RELEASE)
+ endif()
+@@ -50,23 +51,29 @@ set(QUAZIP_DIR_NAME QuaZip-Qt${QUAZIP_QT_MAJOR_VERSION}-${QUAZIP_LIB_VERSION})
+ set(QUAZIP_PACKAGE_NAME QuaZip-Qt${QUAZIP_QT_MAJOR_VERSION})
+
+ if(QUAZIP_QT_MAJOR_VERSION EQUAL 6)
+- find_package(Qt6 REQUIRED COMPONENTS Core Core5Compat
+- OPTIONAL_COMPONENTS Network Test)
++ find_package(Qt6 REQUIRED COMPONENTS Core Core5Compat)
+ set(QUAZIP_LIB_LIBRARIES Qt6::Core Qt6::Core5Compat)
+- set(QUAZIP_TEST_QT_LIBRARIES Qt6::Core Qt6::Core5Compat Qt6::Network Qt6::Test)
+ set(QUAZIP_PKGCONFIG_REQUIRES "zlib, Qt6Core")
++ if (BUILD_TESTING)
++ find_package(Qt6 REQUIRED COMPONENTS Network Test)
++ set(QUAZIP_TEST_QT_LIBRARIES Qt6::Core Qt6::Core5Compat Qt6::Network Qt6::Test)
++ endif()
+ elseif(QUAZIP_QT_MAJOR_VERSION EQUAL 5)
+- find_package(Qt5 REQUIRED COMPONENTS Core
+- OPTIONAL_COMPONENTS Network Test)
++ find_package(Qt5 REQUIRED COMPONENTS Core)
+ set(QUAZIP_LIB_LIBRARIES Qt5::Core)
+- set(QUAZIP_TEST_QT_LIBRARIES Qt5::Core Qt5::Network Qt5::Test)
+- set(QUAZIP_PKGCONFIG_REQUIRES "zlib, Qt5Core")
++ set(QUAZIP_PKGCONFIG_REQUIRES "zlib, Qt5Core")
++ if (BUILD_TESTING)
++ find_package(Qt5 REQUIRED COMPONENTS Network Test)
++ set(QUAZIP_TEST_QT_LIBRARIES Qt5::Core Qt5::Network Qt5::Test)
++ endif()
+ elseif(QUAZIP_QT_MAJOR_VERSION EQUAL 4)
+- find_package(Qt4 4.5.0 REQUIRED COMPONENTS QtCore
+- OPTIONAL_COMPONENTS QtNetwork QtTest)
++ find_package(Qt4 4.5.0 REQUIRED COMPONENTS QtCore)
+ set(QUAZIP_LIB_LIBRARIES Qt4::QtCore)
+- set(QUAZIP_TEST_QT_LIBRARIES Qt4::QtCore Qt4::QtNetwork Qt4::QtTest)
+ set(QUAZIP_PKGCONFIG_REQUIRES "zlib, QtCore")
++ if (BUILD_TESTING)
++ find_package(Qt4 REQUIRED COMPONENTS Network Test)
++ set(QUAZIP_TEST_QT_LIBRARIES Qt4::QtCore Qt4::QtNetwork Qt4::QtTest)
++ endif()
+ else()
+ message(FATAL_ERROR "Qt version ${QUAZIP_QT_MAJOR_VERSION} is not supported")
+ endif()
+@@ -88,8 +95,7 @@ endif()
+
+ add_subdirectory(quazip)
+
+-if(QUAZIP_ENABLE_TESTS)
++if(BUILD_TESTING)
+ message(STATUS "Building QuaZip tests")
+- enable_testing()
+ add_subdirectory(qztest)
+ endif()
+--
+2.35.1
+
diff --git a/dev-libs/quazip/files/quazip-1.4-cmake.patch b/dev-libs/quazip/files/quazip-1.4-cmake.patch
new file mode 100644
index 000000000000..d796c94026c7
--- /dev/null
+++ b/dev-libs/quazip/files/quazip-1.4-cmake.patch
@@ -0,0 +1,76 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index f6719c6..e0520ae 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -14,12 +14,10 @@ if(EMSCRIPTEN)
+ option(BUILD_SHARED_LIBS "" OFF)
+ option(QUAZIP_INSTALL "" OFF)
+ option(QUAZIP_USE_QT_ZLIB "" OFF)
+- option(QUAZIP_ENABLE_TESTS "Build QuaZip tests" OFF)
+ else()
+ option(BUILD_SHARED_LIBS "" ON)
+ option(QUAZIP_INSTALL "" ON)
+ option(QUAZIP_USE_QT_ZLIB "" OFF)
+- option(QUAZIP_ENABLE_TESTS "Build QuaZip tests" OFF)
+ endif()
+
+ # Make BZIP2 optional
+@@ -56,6 +54,8 @@ else()
+ set(CMAKE_CXX_STANDARD 14)
+ endif()
+
++include(CTest)
++
+ if(NOT CMAKE_BUILD_TYPE)
+ set(CMAKE_BUILD_TYPE RELEASE)
+ endif()
+@@ -72,23 +72,29 @@ set(QUAZIP_DIR_NAME QuaZip-Qt${QUAZIP_QT_MAJOR_VERSION}-${QUAZIP_LIB_VERSION})
+ set(QUAZIP_PACKAGE_NAME QuaZip-Qt${QUAZIP_QT_MAJOR_VERSION})
+
+ if(QUAZIP_QT_MAJOR_VERSION EQUAL 6)
+- find_package(Qt6 REQUIRED COMPONENTS Core Core5Compat
+- OPTIONAL_COMPONENTS Network Test)
++ find_package(Qt6 REQUIRED COMPONENTS Core Core5Compat)
+ set(QUAZIP_LIB_LIBRARIES Qt6::Core Qt6::Core5Compat)
+- set(QUAZIP_TEST_QT_LIBRARIES Qt6::Core Qt6::Core5Compat Qt6::Network Qt6::Test)
+ set(QUAZIP_PKGCONFIG_REQUIRES "zlib, Qt6Core")
++ if (BUILD_TESTING)
++ find_package(Qt6 REQUIRED COMPONENTS Network Test)
++ set(QUAZIP_TEST_QT_LIBRARIES Qt6::Core Qt6::Core5Compat Qt6::Network Qt6::Test)
++ endif()
+ elseif(QUAZIP_QT_MAJOR_VERSION EQUAL 5)
+- find_package(Qt5 REQUIRED COMPONENTS Core
+- OPTIONAL_COMPONENTS Network Test)
++ find_package(Qt5 REQUIRED COMPONENTS Core)
+ set(QUAZIP_LIB_LIBRARIES Qt5::Core)
+- set(QUAZIP_TEST_QT_LIBRARIES Qt5::Core Qt5::Network Qt5::Test)
+- set(QUAZIP_PKGCONFIG_REQUIRES "zlib, Qt5Core")
++ set(QUAZIP_PKGCONFIG_REQUIRES "zlib, Qt5Core")
++ if (BUILD_TESTING)
++ find_package(Qt5 REQUIRED COMPONENTS Network Test)
++ set(QUAZIP_TEST_QT_LIBRARIES Qt5::Core Qt5::Network Qt5::Test)
++ endif()
+ elseif(QUAZIP_QT_MAJOR_VERSION EQUAL 4)
+- find_package(Qt4 4.5.0 REQUIRED COMPONENTS QtCore
+- OPTIONAL_COMPONENTS QtNetwork QtTest)
++ find_package(Qt4 4.5.0 REQUIRED COMPONENTS QtCore)
+ set(QUAZIP_LIB_LIBRARIES Qt4::QtCore)
+- set(QUAZIP_TEST_QT_LIBRARIES Qt4::QtCore Qt4::QtNetwork Qt4::QtTest)
+ set(QUAZIP_PKGCONFIG_REQUIRES "zlib, QtCore")
++ if (BUILD_TESTING)
++ find_package(Qt4 REQUIRED COMPONENTS Network Test)
++ set(QUAZIP_TEST_QT_LIBRARIES Qt4::QtCore Qt4::QtNetwork Qt4::QtTest)
++ endif()
+ else()
+ message(FATAL_ERROR "Qt version ${QUAZIP_QT_MAJOR_VERSION} is not supported")
+ endif()
+@@ -191,8 +197,7 @@ endif()
+
+ add_subdirectory(quazip)
+
+-if(QUAZIP_ENABLE_TESTS)
++if(BUILD_TESTING)
+ message(STATUS "Building QuaZip tests")
+- enable_testing()
+ add_subdirectory(qztest)
+ endif()
diff --git a/dev-libs/quazip/metadata.xml b/dev-libs/quazip/metadata.xml
index de71837a36e3..c0b0f714ce05 100644
--- a/dev-libs/quazip/metadata.xml
+++ b/dev-libs/quazip/metadata.xml
@@ -8,4 +8,8 @@
<remote-id type="github">stachenov/quazip</remote-id>
<remote-id type="sourceforge">quazip</remote-id>
</upstream>
+ <use>
+ <flag name="qt5">Build with Qt5 support</flag>
+ <flag name="qt6">Build with Qt6 support</flag>
+ </use>
</pkgmetadata>
diff --git a/dev-libs/quazip/quazip-1.3-r2.ebuild b/dev-libs/quazip/quazip-1.3-r2.ebuild
new file mode 100644
index 000000000000..e329c1fc93d9
--- /dev/null
+++ b/dev-libs/quazip/quazip-1.3-r2.ebuild
@@ -0,0 +1,83 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake multibuild
+
+DESCRIPTION="Simple C++ wrapper over Gilles Vollant's ZIP/UNZIP package"
+HOMEPAGE="https://stachenov.github.io/quazip/"
+SRC_URI="https://github.com/stachenov/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="LGPL-2.1-with-linking-exception"
+# SONAME of libquazip1-qt5.so, check QUAZIP_LIB_SOVERSION in CMakeLists.txt
+SLOT="0/1.3"
+KEYWORDS="amd64 ~arm ~arm64 ~hppa ppc ppc64 ~riscv x86 ~amd64-linux ~x86-linux"
+IUSE="+qt5 qt6 test"
+REQUIRED_USE="|| ( qt5 qt6 )"
+
+RESTRICT="!test? ( test )"
+
+COMMON_DEPEND="
+ qt5? ( dev-qt/qtcore:5 )
+ qt6? ( dev-qt/qtbase:6 )
+ sys-libs/zlib[minizip]
+"
+DEPEND="${COMMON_DEPEND}
+ test? (
+ qt5? (
+ dev-qt/qtnetwork:5
+ dev-qt/qttest:5
+ )
+ qt6? (
+ dev-qt/qtbase:6[gui,network]
+ dev-qt/qt5compat:6
+ )
+ )
+"
+RDEPEND="${COMMON_DEPEND}
+ !=dev-libs/quazip-1.1-r0:1
+"
+
+PATCHES=( "${FILESDIR}/${P}-cmake.patch" )
+
+pkg_setup() {
+ MULTIBUILD_VARIANTS=( $(usev qt5) $(usev qt6) )
+}
+
+src_configure() {
+ my_src_configure() {
+ local mycmakeargs=(
+ -DBUILD_TESTING=$(usex test)
+ )
+ if [[ ${MULTIBUILD_VARIANT} = qt5 ]]; then
+ mycmakeargs+=(
+ -DQUAZIP_QT_MAJOR_VERSION=5
+ )
+ elif [[ ${MULTIBUILD_VARIANT} = qt6 ]]; then
+ mycmakeargs+=(
+ -DQUAZIP_QT_MAJOR_VERSION=6
+ )
+ fi
+ cmake_src_configure
+ }
+
+ multibuild_foreach_variant my_src_configure
+}
+
+src_compile() {
+ my_src_compile() {
+ cmake_src_compile
+ use test && cmake_build qztest
+ }
+
+ multibuild_foreach_variant my_src_compile
+}
+
+src_test() {
+ multibuild_foreach_variant cmake_src_test
+}
+
+src_install() {
+ multibuild_foreach_variant cmake_src_install
+}
diff --git a/dev-libs/quazip/quazip-1.3-r3.ebuild b/dev-libs/quazip/quazip-1.3-r3.ebuild
new file mode 100644
index 000000000000..d67c1fb6e2f6
--- /dev/null
+++ b/dev-libs/quazip/quazip-1.3-r3.ebuild
@@ -0,0 +1,85 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake multibuild
+
+DESCRIPTION="Simple C++ wrapper over Gilles Vollant's ZIP/UNZIP package"
+HOMEPAGE="https://stachenov.github.io/quazip/"
+SRC_URI="https://github.com/stachenov/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="LGPL-2.1-with-linking-exception"
+# SONAME of libquazip1-qt5.so, check QUAZIP_LIB_SOVERSION in CMakeLists.txt
+SLOT="0/1.3"
+KEYWORDS="amd64 ~arm ~arm64 ~hppa ppc ppc64 ~riscv x86 ~amd64-linux ~x86-linux"
+IUSE="+qt5 qt6 test"
+REQUIRED_USE="|| ( qt5 qt6 )"
+
+RESTRICT="!test? ( test )"
+
+COMMON_DEPEND="
+ qt5? ( dev-qt/qtcore:5 )
+ qt6? (
+ dev-qt/qtbase:6
+ dev-qt/qt5compat:6
+ )
+ sys-libs/zlib[minizip]
+"
+DEPEND="${COMMON_DEPEND}
+ test? (
+ qt5? (
+ dev-qt/qtnetwork:5
+ dev-qt/qttest:5
+ )
+ qt6? (
+ dev-qt/qtbase:6[network]
+ )
+ )
+"
+RDEPEND="${COMMON_DEPEND}
+ !=dev-libs/quazip-1.1-r0:1
+"
+
+PATCHES=( "${FILESDIR}/${P}-cmake.patch" )
+
+pkg_setup() {
+ MULTIBUILD_VARIANTS=( $(usev qt5) $(usev qt6) )
+}
+
+src_configure() {
+ my_src_configure() {
+ local mycmakeargs=(
+ -DBUILD_TESTING=$(usex test)
+ )
+ if [[ ${MULTIBUILD_VARIANT} = qt5 ]]; then
+ mycmakeargs+=(
+ -DQUAZIP_QT_MAJOR_VERSION=5
+ )
+ elif [[ ${MULTIBUILD_VARIANT} = qt6 ]]; then
+ mycmakeargs+=(
+ -DQUAZIP_QT_MAJOR_VERSION=6
+ )
+ fi
+ cmake_src_configure
+ }
+
+ multibuild_foreach_variant my_src_configure
+}
+
+src_compile() {
+ my_src_compile() {
+ cmake_src_compile
+ use test && cmake_build qztest
+ }
+
+ multibuild_foreach_variant my_src_compile
+}
+
+src_test() {
+ multibuild_foreach_variant cmake_src_test
+}
+
+src_install() {
+ multibuild_foreach_variant cmake_src_install
+}
diff --git a/dev-libs/quazip/quazip-1.4-r1.ebuild b/dev-libs/quazip/quazip-1.4-r1.ebuild
new file mode 100644
index 000000000000..350a14b240f3
--- /dev/null
+++ b/dev-libs/quazip/quazip-1.4-r1.ebuild
@@ -0,0 +1,89 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake multibuild
+
+DESCRIPTION="Simple C++ wrapper over Gilles Vollant's ZIP/UNZIP package"
+HOMEPAGE="https://stachenov.github.io/quazip/"
+SRC_URI="https://github.com/stachenov/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="LGPL-2.1-with-linking-exception"
+# SONAME of libquazip1-qt5.so, check QUAZIP_LIB_SOVERSION in CMakeLists.txt
+SLOT="0/1.4"
+KEYWORDS="amd64 ~arm ~arm64 ~hppa ppc ppc64 ~riscv x86 ~amd64-linux ~x86-linux"
+IUSE="bzip2 +qt5 qt6 test"
+REQUIRED_USE="|| ( qt5 qt6 )"
+
+RESTRICT="!test? ( test )"
+
+# bzip2 is linked against, so no app-alternatives
+COMMON_DEPEND="
+ bzip2? ( app-arch/bzip2:= )
+ qt5? ( dev-qt/qtcore:5 )
+ qt6? (
+ dev-qt/qtbase:6
+ dev-qt/qt5compat:6
+ )
+ sys-libs/zlib[minizip]
+"
+DEPEND="${COMMON_DEPEND}
+ test? (
+ qt5? (
+ dev-qt/qtnetwork:5
+ dev-qt/qttest:5
+ )
+ qt6? (
+ dev-qt/qtbase:6[network]
+ )
+ )
+"
+RDEPEND="${COMMON_DEPEND}"
+
+PATCHES=(
+ # Use CTest module provided BUILD_TESTING
+ "${FILESDIR}/${P}-cmake.patch"
+)
+
+pkg_setup() {
+ MULTIBUILD_VARIANTS=( $(usev qt5) $(usev qt6) )
+}
+
+src_configure() {
+ my_src_configure() {
+ local mycmakeargs=(
+ -DBUILD_TESTING=$(usex test)
+ -DQUAZIP_BZIP2=$(usex bzip2)
+ )
+ if [[ ${MULTIBUILD_VARIANT} = qt5 ]]; then
+ mycmakeargs+=(
+ -DQUAZIP_QT_MAJOR_VERSION=5
+ )
+ elif [[ ${MULTIBUILD_VARIANT} = qt6 ]]; then
+ mycmakeargs+=(
+ -DQUAZIP_QT_MAJOR_VERSION=6
+ )
+ fi
+ cmake_src_configure
+ }
+
+ multibuild_foreach_variant my_src_configure
+}
+
+src_compile() {
+ my_src_compile() {
+ cmake_src_compile
+ use test && cmake_build qztest
+ }
+
+ multibuild_foreach_variant my_src_compile
+}
+
+src_test() {
+ multibuild_foreach_variant cmake_src_test
+}
+
+src_install() {
+ multibuild_foreach_variant cmake_src_install
+}
diff --git a/dev-libs/quazip/quazip-1.4.ebuild b/dev-libs/quazip/quazip-1.4.ebuild
new file mode 100644
index 000000000000..8ad656566a6c
--- /dev/null
+++ b/dev-libs/quazip/quazip-1.4.ebuild
@@ -0,0 +1,88 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake multibuild
+
+DESCRIPTION="Simple C++ wrapper over Gilles Vollant's ZIP/UNZIP package"
+HOMEPAGE="https://stachenov.github.io/quazip/"
+SRC_URI="https://github.com/stachenov/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="LGPL-2.1-with-linking-exception"
+# SONAME of libquazip1-qt5.so, check QUAZIP_LIB_SOVERSION in CMakeLists.txt
+SLOT="0/1.4"
+KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~riscv ~x86 ~amd64-linux ~x86-linux"
+IUSE="bzip2 +qt5 qt6 test"
+REQUIRED_USE="|| ( qt5 qt6 )"
+
+RESTRICT="!test? ( test )"
+
+COMMON_DEPEND="
+ bzip2? ( app-alternatives/bzip2 )
+ qt5? ( dev-qt/qtcore:5 )
+ qt6? (
+ dev-qt/qtbase:6
+ dev-qt/qt5compat:6
+ )
+ sys-libs/zlib[minizip]
+"
+DEPEND="${COMMON_DEPEND}
+ test? (
+ qt5? (
+ dev-qt/qtnetwork:5
+ dev-qt/qttest:5
+ )
+ qt6? (
+ dev-qt/qtbase:6[network]
+ )
+ )
+"
+RDEPEND="${COMMON_DEPEND}"
+
+PATCHES=(
+ # Use CTest module provided BUILD_TESTING
+ "${FILESDIR}/${P}-cmake.patch"
+)
+
+pkg_setup() {
+ MULTIBUILD_VARIANTS=( $(usev qt5) $(usev qt6) )
+}
+
+src_configure() {
+ my_src_configure() {
+ local mycmakeargs=(
+ -DBUILD_TESTING=$(usex test)
+ -DQUAZIP_BZIP2=$(usex bzip2)
+ )
+ if [[ ${MULTIBUILD_VARIANT} = qt5 ]]; then
+ mycmakeargs+=(
+ -DQUAZIP_QT_MAJOR_VERSION=5
+ )
+ elif [[ ${MULTIBUILD_VARIANT} = qt6 ]]; then
+ mycmakeargs+=(
+ -DQUAZIP_QT_MAJOR_VERSION=6
+ )
+ fi
+ cmake_src_configure
+ }
+
+ multibuild_foreach_variant my_src_configure
+}
+
+src_compile() {
+ my_src_compile() {
+ cmake_src_compile
+ use test && cmake_build qztest
+ }
+
+ multibuild_foreach_variant my_src_compile
+}
+
+src_test() {
+ multibuild_foreach_variant cmake_src_test
+}
+
+src_install() {
+ multibuild_foreach_variant cmake_src_install
+}
diff --git a/dev-libs/qxlsx/Manifest b/dev-libs/qxlsx/Manifest
new file mode 100644
index 000000000000..5e17cb5068c1
--- /dev/null
+++ b/dev-libs/qxlsx/Manifest
@@ -0,0 +1,2 @@
+DIST qxlsx-1.4.6.tar.gz 4705107 BLAKE2B 9329412c949d2eaaab9a1d536ca2680da0649ef8b7a07bda6f20dd3c3214db8abac458fde25f41afc8b8b22442b6b83820cefa6031ef27de857d49ebfbed774b SHA512 14651096d35889354ffc97ca80146fb6704901db210b90d5de4157ee67adddb2021a27969777369162b0f5424b31bc50596ecd86e2f6f138c329a7cf4f2161a8
+DIST qxlsx-1.4.7.tar.gz 4705261 BLAKE2B 8be35b86ef7f025d5cc0875275406a65e1624592d7c8fa97d743223ab143011de9e71dc40eb62d83edc28c16c5d9e9c8092ea082cd8898db277e8a94e1ea10e6 SHA512 5ca8841413d5bddf1cec2c6eb4434ae18c533231adf32a8157790ba81c0b305c7f02a70475492a45ce11d1d6cf6e483bd30cafe8629aa564a46cb749e1b43f43
diff --git a/dev-libs/qxlsx/files/qxlsx-1.4.6-headers.patch b/dev-libs/qxlsx/files/qxlsx-1.4.6-headers.patch
new file mode 100644
index 000000000000..90dd81fb8c88
--- /dev/null
+++ b/dev-libs/qxlsx/files/qxlsx-1.4.6-headers.patch
@@ -0,0 +1,26 @@
+https://github.com/QtExcel/QXlsx/pull/279
+
+From 8c3e6633e3c901bc5a5cd477383421b0980dcd26 Mon Sep 17 00:00:00 2001
+From: Alexey Sokolov <sokolov@google.com>
+Date: Mon, 17 Apr 2023 23:43:59 +0100
+Subject: [PATCH] Fix #278
+
+There's no real reason to install the same headers twice, but at least
+now clients of the library can build again
+---
+ QXlsx/CMakeLists.txt | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/QXlsx/CMakeLists.txt b/QXlsx/CMakeLists.txt
+index 4fa7f7f..074922a 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -179,7 +179,7 @@ PRIVATE
+ ${QXLSX_HEADERPATH}
+ PUBLIC
+ $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/header>
+- $<INSTALL_INTERFACE:include/QXlsx>
++ $<INSTALL_INTERFACE:include/QXlsxQt${QT_VERSION_MAJOR}>
+ )
+
+ set_target_properties(QXlsx PROPERTIES
diff --git a/dev-libs/qxlsx/metadata.xml b/dev-libs/qxlsx/metadata.xml
new file mode 100644
index 000000000000..12de43e54308
--- /dev/null
+++ b/dev-libs/qxlsx/metadata.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>alexey+gentoo@asokolov.org</email>
+ <name>Alexey Sokolov</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">QtExcel/QXlsx</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/qxlsx/qxlsx-1.4.6.ebuild b/dev-libs/qxlsx/qxlsx-1.4.6.ebuild
new file mode 100644
index 000000000000..b00b67caf83e
--- /dev/null
+++ b/dev-libs/qxlsx/qxlsx-1.4.6.ebuild
@@ -0,0 +1,60 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit multibuild cmake
+
+DESCRIPTION="Excel file(*.xlsx) reader/writer library using Qt"
+
+HOMEPAGE="https://github.com/QtExcel/QXlsx"
+SRC_URI="https://github.com/QtExcel/QXlsx/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT"
+# soversion
+SLOT="0/0.1.4.4"
+KEYWORDS="amd64 ppc ppc64 ~riscv x86"
+
+IUSE="qt5 qt6"
+REQUIRED_USE="|| ( qt5 qt6 )"
+
+RDEPEND="
+ qt5? (
+ dev-qt/qtcore:5
+ dev-qt/qtgui:5=
+ )
+ qt6? (
+ dev-qt/qtbase:6=[gui]
+ )
+"
+DEPEND="${RDEPEND}"
+
+S="${WORKDIR}/QXlsx-${PV}/QXlsx"
+
+PATCHES=(
+ "${FILESDIR}/qxlsx-1.4.6-headers.patch"
+)
+
+pkg_setup() {
+ MULTIBUILD_VARIANTS=( $(usev qt5) $(usev qt6) )
+}
+
+src_configure() {
+ my_src_configure() {
+ local mycmakeargs=(
+ -DQT_VERSION_MAJOR="${MULTIBUILD_VARIANT/qt/}"
+ )
+
+ cmake_src_configure
+ }
+
+ multibuild_foreach_variant my_src_configure
+}
+
+src_compile() {
+ multibuild_foreach_variant cmake_src_compile
+}
+
+src_install() {
+ multibuild_foreach_variant cmake_src_install
+}
diff --git a/dev-libs/qxlsx/qxlsx-1.4.7.ebuild b/dev-libs/qxlsx/qxlsx-1.4.7.ebuild
new file mode 100644
index 000000000000..e11dac21a2ef
--- /dev/null
+++ b/dev-libs/qxlsx/qxlsx-1.4.7.ebuild
@@ -0,0 +1,56 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit multibuild cmake
+
+DESCRIPTION="Excel file(*.xlsx) reader/writer library using Qt"
+
+HOMEPAGE="https://github.com/QtExcel/QXlsx"
+SRC_URI="https://github.com/QtExcel/QXlsx/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT"
+# soversion
+SLOT="0/0.1.4.4"
+KEYWORDS="amd64 ppc ppc64 ~riscv x86"
+
+IUSE="qt5 qt6"
+REQUIRED_USE="|| ( qt5 qt6 )"
+
+RDEPEND="
+ qt5? (
+ dev-qt/qtcore:5
+ dev-qt/qtgui:5=
+ )
+ qt6? (
+ dev-qt/qtbase:6=[gui]
+ )
+"
+DEPEND="${RDEPEND}"
+
+S="${WORKDIR}/QXlsx-${PV}/QXlsx"
+
+pkg_setup() {
+ MULTIBUILD_VARIANTS=( $(usev qt5) $(usev qt6) )
+}
+
+src_configure() {
+ my_src_configure() {
+ local mycmakeargs=(
+ -DQT_VERSION_MAJOR="${MULTIBUILD_VARIANT/qt/}"
+ )
+
+ cmake_src_configure
+ }
+
+ multibuild_foreach_variant my_src_configure
+}
+
+src_compile() {
+ multibuild_foreach_variant cmake_src_compile
+}
+
+src_install() {
+ multibuild_foreach_variant cmake_src_install
+}
diff --git a/dev-libs/raft/Manifest b/dev-libs/raft/Manifest
index 310531d32c3c..3f7e7e8f6977 100644
--- a/dev-libs/raft/Manifest
+++ b/dev-libs/raft/Manifest
@@ -1 +1,2 @@
-DIST raft-0.11.2.tar.gz 325098 BLAKE2B d9366547440b431edec75a22bca3a50bb6d714b5d950c061723f0585c5ad33704d23c32f2e325dc566ebeab71e15e10f07932c854657837e190901b52c9b4950 SHA512 8be47270cf3b888ff6adeeec2480ccd5065b45c3c546da089cbb326cf429f0bcd4396001e20fbf52587c00d5757337812c834ec5064fafa4815a978a7cf0c35f
+DIST raft-0.22.0.tar.gz 365710 BLAKE2B b5084867ebd7e80f59edebcf5feb83cc7ffbf798deecbf96d3b31c0de7213c8fc1e3e5f558602f5864fb04f8de0326ee2f70d2f6164a08dd444a8db95593c328 SHA512 0ebda5764c866443ee2749c0c8fe798f111ed500b9d59bc9536d01e01ee82a8ed72125fb02e6a0c3bf51e4004520d4c5fdb583220599cb22bb9a8e6dd9d1a54b
+DIST raft-0.22.1.tar.gz 362393 BLAKE2B b6fc8f8e9dc6801ac8ad1b9d94f984b249b83def00a08776292500b079bb777330e8a83cf40153bfb1baae921105788d758c9f61a021d5519d5c27048b6be8b9 SHA512 fb4ea98321336daaa605e1c3cd55f672860fc8894d479fdff4e1862a4eb5622dbaf7a943e030dd2bcdaa14cc639e7e11ac43d71f00bdbd27f12c6b67653b70e4
diff --git a/dev-libs/raft/files/raft-0.9.25-Always-skip-init-oom-test.patch b/dev-libs/raft/files/raft-0.9.25-Always-skip-init-oom-test.patch
deleted file mode 100644
index 7a22682c2e03..000000000000
--- a/dev-libs/raft/files/raft-0.9.25-Always-skip-init-oom-test.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-commit e0948518f6eedad85c7705fb3963cfdda3627d8f
-Author: Reto Gantenbein <reto.gantenbein@linuxmonk.ch>
-Date: Thu Oct 22 00:19:31 2020 +0200
-
- Always skip init/oom test
-
- The RPM package build in COPR is being executed on a tmpfs which
- always results in a failure of this test:
-
- init/oom
- heap-fault-delay=1, heap-fault-repeat=1 [ ERROR ]
- Error: test/integration/test_uv_init.c:156: assertion failed: _rv == 1 (0 == 1)
-
- Instead only for certain architectures we always skip this test.
- For more informations see https://github.com/ganto/copr-lxc4/issues/8
-
-diff --git a/test/integration/test_uv_init.c b/test/integration/test_uv_init.c
-index 8c9b5f7..57db7f3 100644
---- a/test/integration/test_uv_init.c
-+++ b/test/integration/test_uv_init.c
-@@ -144,10 +144,8 @@ static MunitParameterEnum oomParams[] = {
- TEST(init, oom, setUp, tearDown, 0, oomParams)
- {
- struct fixture *f = data;
--#if defined(__i686__)
- /* XXX: tmpfs seems to not support O_DIRECT */
- return MUNIT_SKIP;
--#endif
- #if defined(__powerpc64__)
- /* XXX: fails on ppc64el */
- return MUNIT_SKIP;
diff --git a/dev-libs/raft/metadata.xml b/dev-libs/raft/metadata.xml
index 87e6f87c354e..94076382bb1e 100644
--- a/dev-libs/raft/metadata.xml
+++ b/dev-libs/raft/metadata.xml
@@ -19,4 +19,7 @@
(send/receive RPC messages) and disk persistence (store log entries and
snapshots).
</longdescription>
+ <upstream>
+ <remote-id type="github">cowsql/raft</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/dev-libs/raft/raft-0.11.2.ebuild b/dev-libs/raft/raft-0.11.2.ebuild
deleted file mode 100644
index 703d817e51f4..000000000000
--- a/dev-libs/raft/raft-0.11.2.ebuild
+++ /dev/null
@@ -1,55 +0,0 @@
-# Copyright 2020-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit autotools
-
-DESCRIPTION="C implementation of the Raft consensus protocol"
-HOMEPAGE="https://github.com/canonical/raft"
-SRC_URI="https://github.com/canonical/raft/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="LGPL-3-with-linking-exception"
-SLOT="0"
-KEYWORDS="amd64 ~arm64 ~x86"
-IUSE="lz4 test zfs"
-RESTRICT="!test? ( test )"
-
-DEPEND="dev-libs/libuv:=
- lz4? ( app-arch/lz4:= )"
-RDEPEND="${DEPEND}"
-BDEPEND="virtual/pkgconfig"
-
-PATCHES=(
- "${FILESDIR}"/raft-0.9.25-Always-skip-init-oom-test.patch
- "${FILESDIR}"/raft-0.10.0-toggle-zfs.patch
- )
-
-src_prepare() {
- default
- eautoreconf
-}
-
-src_configure() {
- local myeconfargs=(
- --enable-uv
-
- --disable-benchmark
- --disable-debug
- --disable-example
- --disable-sanitize
- --disable-static
-
- $(use_enable lz4)
- $(use_enable test fixture)
-
- $(use_with zfs)
- )
-
- econf "${myeconfargs[@]}"
-}
-
-src_install() {
- default
- find "${ED}" -name '*.la' -delete || die
-}
diff --git a/dev-libs/raft/raft-0.22.0.ebuild b/dev-libs/raft/raft-0.22.0.ebuild
new file mode 100644
index 000000000000..39daa1268bef
--- /dev/null
+++ b/dev-libs/raft/raft-0.22.0.ebuild
@@ -0,0 +1,60 @@
+# Copyright 2020-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools
+
+DESCRIPTION="C implementation of the Raft consensus protocol"
+HOMEPAGE="https://github.com/cowsql/raft"
+SRC_URI="https://github.com/cowsql/raft/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="LGPL-3-with-linking-exception"
+
+# Upstream change from canonical to cowsql resetted SONAME, 3 -> 0. bgo#915960
+SLOT="0/0"
+KEYWORDS="amd64 ~arm64 ~x86"
+IUSE="lz4 test zfs"
+RESTRICT="!test? ( test )"
+
+DEPEND="dev-libs/libuv:=
+ lz4? ( app-arch/lz4:= )"
+RDEPEND="${DEPEND}"
+BDEPEND="virtual/pkgconfig"
+
+PATCHES=(
+ "${FILESDIR}"/raft-0.10.0-toggle-zfs.patch
+)
+
+src_prepare() {
+ default
+ eautoreconf
+}
+
+src_configure() {
+ # --disable-hardening: most of these are covered on non-hardened Gentoo already.
+ local myeconfargs=(
+ --enable-uv
+ --enable-v0
+
+ --disable-backtrace
+ --disable-benchmark
+ --disable-debug
+ --disable-example
+ --disable-hardening
+ --disable-sanitize
+ --disable-static
+
+ $(use_enable test fixture)
+
+ $(use_with lz4)
+ $(use_with zfs)
+ )
+
+ econf "${myeconfargs[@]}"
+}
+
+src_install() {
+ default
+ find "${ED}" -name '*.la' -delete || die
+}
diff --git a/dev-libs/raft/raft-0.22.1.ebuild b/dev-libs/raft/raft-0.22.1.ebuild
new file mode 100644
index 000000000000..4b51fe639271
--- /dev/null
+++ b/dev-libs/raft/raft-0.22.1.ebuild
@@ -0,0 +1,60 @@
+# Copyright 2020-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools
+
+DESCRIPTION="C implementation of the Raft consensus protocol"
+HOMEPAGE="https://github.com/cowsql/raft"
+SRC_URI="https://github.com/cowsql/raft/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="LGPL-3-with-linking-exception"
+
+# Upstream change from canonical to cowsql resetted SONAME, 3 -> 0. bgo#915960
+SLOT="0/0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+IUSE="lz4 test zfs"
+RESTRICT="!test? ( test )"
+
+DEPEND="dev-libs/libuv:=
+ lz4? ( app-arch/lz4:= )"
+RDEPEND="${DEPEND}"
+BDEPEND="virtual/pkgconfig"
+
+PATCHES=(
+ "${FILESDIR}"/raft-0.10.0-toggle-zfs.patch
+)
+
+src_prepare() {
+ default
+ eautoreconf
+}
+
+src_configure() {
+ # --disable-hardening: most of these are covered on non-hardened Gentoo already.
+ local myeconfargs=(
+ --enable-uv
+ --enable-v0
+
+ --disable-backtrace
+ --disable-benchmark
+ --disable-debug
+ --disable-example
+ --disable-hardening
+ --disable-sanitize
+ --disable-static
+
+ $(use_enable test fixture)
+
+ $(use_with lz4)
+ $(use_with zfs)
+ )
+
+ econf "${myeconfargs[@]}"
+}
+
+src_install() {
+ default
+ find "${ED}" -name '*.la' -delete || die
+}
diff --git a/dev-libs/rapidjson/files/rapidjson-1.1.0-gcc14-const.patch b/dev-libs/rapidjson/files/rapidjson-1.1.0-gcc14-const.patch
new file mode 100644
index 000000000000..0bc9e73b5683
--- /dev/null
+++ b/dev-libs/rapidjson/files/rapidjson-1.1.0-gcc14-const.patch
@@ -0,0 +1,20 @@
+https://bugs.gentoo.org/914583
+https://github.com/Tencent/rapidjson/commit/3b2441b87f99ab65f37b141a7b548ebadb607b96
+https://github.com/Tencent/rapidjson/issues/718
+
+From 3b2441b87f99ab65f37b141a7b548ebadb607b96 Mon Sep 17 00:00:00 2001
+From: Janusz Chorko <janusz.chorko@apdu.pl>
+Date: Fri, 26 Aug 2016 21:17:38 +0200
+Subject: [PATCH] Removed non-compiling assignment operator. Fixed #718
+
+--- a/include/rapidjson/document.h
++++ b/include/rapidjson/document.h
+@@ -316,8 +316,6 @@ struct GenericStringRef {
+
+ GenericStringRef(const GenericStringRef& rhs) : s(rhs.s), length(rhs.length) {}
+
+- GenericStringRef& operator=(const GenericStringRef& rhs) { s = rhs.s; length = rhs.length; }
+-
+ //! implicit conversion to plain CharType pointer
+ operator const Ch *() const { return s; }
+
diff --git a/dev-libs/rapidjson/files/rapidjson-1.1.0-system_gtest.patch b/dev-libs/rapidjson/files/rapidjson-1.1.0-system_gtest.patch
index bdc720e8cf86..a952a076dc47 100644
--- a/dev-libs/rapidjson/files/rapidjson-1.1.0-system_gtest.patch
+++ b/dev-libs/rapidjson/files/rapidjson-1.1.0-system_gtest.patch
@@ -1,5 +1,5 @@
---- /CMakeModules/FindGTestSrc.cmake
-+++ /CMakeModules/FindGTestSrc.cmake
+--- a/CMakeModules/FindGTestSrc.cmake
++++ b/CMakeModules/FindGTestSrc.cmake
@@ -1,30 +1,9 @@
-
-SET(GTEST_SEARCH_PATH
@@ -32,8 +32,8 @@
find_package_handle_standard_args(GTestSrc DEFAULT_MSG
- GTEST_SOURCE_DIR
GTEST_INCLUDE_DIR)
---- /test/CMakeLists.txt
-+++ /test/CMakeLists.txt
+--- a/test/CMakeLists.txt
++++ b/test/CMakeLists.txt
@@ -8,7 +8,6 @@
set(gtest_force_shared_crt ON)
endif()
diff --git a/dev-libs/rapidjson/files/rapidjson-1.1.0-valgrind_optional.patch b/dev-libs/rapidjson/files/rapidjson-1.1.0-valgrind_optional.patch
index 071a3d2392df..772eabe8c6df 100644
--- a/dev-libs/rapidjson/files/rapidjson-1.1.0-valgrind_optional.patch
+++ b/dev-libs/rapidjson/files/rapidjson-1.1.0-valgrind_optional.patch
@@ -1,7 +1,7 @@
https://github.com/Tencent/rapidjson/issues/1808
---- /test/unittest/CMakeLists.txt
-+++ /test/unittest/CMakeLists.txt
+--- a/test/unittest/CMakeLists.txt
++++ b/test/unittest/CMakeLists.txt
@@ -77,12 +77,15 @@
COMMAND ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/unittest
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/bin)
diff --git a/dev-libs/rapidjson/files/rapidjson-1.1.1-valgrind_optional.patch b/dev-libs/rapidjson/files/rapidjson-1.1.1-valgrind_optional.patch
index b40a39fb13db..e05c28000875 100644
--- a/dev-libs/rapidjson/files/rapidjson-1.1.1-valgrind_optional.patch
+++ b/dev-libs/rapidjson/files/rapidjson-1.1.1-valgrind_optional.patch
@@ -1,7 +1,7 @@
https://github.com/Tencent/rapidjson/issues/1808
---- /test/unittest/CMakeLists.txt
-+++ /test/unittest/CMakeLists.txt
+--- a/test/unittest/CMakeLists.txt
++++ b/test/unittest/CMakeLists.txt
@@ -78,12 +78,15 @@
COMMAND ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/unittest
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/bin)
diff --git a/dev-libs/rapidjson/rapidjson-1.1.0-r2.ebuild b/dev-libs/rapidjson/rapidjson-1.1.0-r2.ebuild
deleted file mode 100644
index f4bf74949e0a..000000000000
--- a/dev-libs/rapidjson/rapidjson-1.1.0-r2.ebuild
+++ /dev/null
@@ -1,54 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit cmake
-
-DESCRIPTION="A fast JSON parser/generator for C++ with both SAX/DOM style API"
-HOMEPAGE="https://rapidjson.org/"
-
-LICENSE="MIT"
-IUSE="doc examples test"
-RESTRICT="!test? ( test )"
-SLOT="0"
-
-if [[ ${PV} == *9999 ]] ; then
- EGIT_REPO_URI="https://github.com/miloyip/rapidjson.git"
- inherit git-r3
-else
- SRC_URI="https://github.com/miloyip/rapidjson/archive/v${PV}.tar.gz -> ${P}.tar.gz"
- KEYWORDS="amd64 arm arm64 x86"
- S="${WORKDIR}/rapidjson-${PV}"
-fi
-
-DEPEND="
- doc? ( app-doc/doxygen )
- test? (
- dev-cpp/gtest
- dev-util/valgrind
- )"
-RDEPEND=""
-
-PATCHES=(
- "${FILESDIR}/${P}-gcc-7.patch"
-)
-
-src_prepare() {
- cmake_src_prepare
-
- sed -i -e 's|-Werror||g' CMakeLists.txt || die
- sed -i -e 's|-Werror||g' example/CMakeLists.txt || die
-}
-
-src_configure() {
- local mycmakeargs=(
- -DDOC_INSTALL_DIR="${EPREFIX}/usr/share/doc/${PF}"
- -DLIB_INSTALL_DIR="${EPREFIX}/usr/$(get_libdir)"
- -DRAPIDJSON_BUILD_DOC=$(usex doc)
- -DRAPIDJSON_BUILD_EXAMPLES=$(usex examples)
- -DRAPIDJSON_BUILD_TESTS=$(usex test)
- -DRAPIDJSON_BUILD_THIRDPARTY_GTEST=OFF
- )
- cmake_src_configure
-}
diff --git a/dev-libs/rapidjson/rapidjson-1.1.0-r3.ebuild b/dev-libs/rapidjson/rapidjson-1.1.0-r3.ebuild
deleted file mode 100644
index da68858dfa4f..000000000000
--- a/dev-libs/rapidjson/rapidjson-1.1.0-r3.ebuild
+++ /dev/null
@@ -1,56 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit cmake
-
-DESCRIPTION="A fast JSON parser/generator for C++ with both SAX/DOM style API"
-HOMEPAGE="https://rapidjson.org/"
-
-LICENSE="MIT"
-IUSE="doc examples test"
-RESTRICT="!test? ( test )"
-SLOT="0"
-
-if [[ ${PV} == *9999 ]] ; then
- EGIT_REPO_URI="https://github.com/miloyip/rapidjson.git"
- inherit git-r3
-else
- SRC_URI="https://github.com/miloyip/rapidjson/archive/v${PV}.tar.gz -> ${P}.tar.gz"
- KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~riscv ~sparc ~x86"
- S="${WORKDIR}/rapidjson-${PV}"
-fi
-
-DEPEND="
- doc? ( app-doc/doxygen )
- test? ( dev-cpp/gtest )"
-RDEPEND=""
-
-PATCHES=(
- "${FILESDIR}/${P}-gcc-7.patch"
- "${FILESDIR}/${P}-system_gtest.patch"
- "${FILESDIR}/${P}-valgrind_optional.patch"
-)
-
-src_prepare() {
- cmake_src_prepare
-
- sed -i -e 's| -march=native||g' CMakeLists.txt || die
- sed -i -e 's| -Werror||g' CMakeLists.txt example/CMakeLists.txt test/unittest/CMakeLists.txt || die
-}
-
-src_configure() {
- local mycmakeargs=(
- -DDOC_INSTALL_DIR="${EPREFIX}/usr/share/doc/${PF}"
- -DLIB_INSTALL_DIR="${EPREFIX}/usr/$(get_libdir)"
- -DRAPIDJSON_BUILD_DOC=$(usex doc)
- -DRAPIDJSON_BUILD_EXAMPLES=$(usex examples)
- -DRAPIDJSON_BUILD_TESTS=$(usex test)
- -DRAPIDJSON_BUILD_THIRDPARTY_GTEST=OFF
- )
- use test && mycmakeargs+=(
- -DVALGRIND_EXECUTABLE=
- )
- cmake_src_configure
-}
diff --git a/dev-libs/rapidjson/rapidjson-1.1.0-r4.ebuild b/dev-libs/rapidjson/rapidjson-1.1.0-r4.ebuild
new file mode 100644
index 000000000000..1c16b109ab96
--- /dev/null
+++ b/dev-libs/rapidjson/rapidjson-1.1.0-r4.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="A fast JSON parser/generator for C++ with both SAX/DOM style API"
+HOMEPAGE="https://rapidjson.org/"
+
+if [[ ${PV} == *9999 ]] ; then
+ EGIT_REPO_URI="https://github.com/miloyip/rapidjson.git"
+ EGIT_SUBMODULES=()
+ inherit git-r3
+else
+ SRC_URI="https://github.com/miloyip/rapidjson/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="amd64 arm arm64 ~hppa ~loong ppc ppc64 ~riscv ~s390 sparc x86"
+ S="${WORKDIR}/rapidjson-${PV}"
+fi
+
+LICENSE="MIT"
+SLOT="0"
+IUSE="doc examples test"
+RESTRICT="!test? ( test )"
+
+BDEPEND="
+ doc? ( app-text/doxygen )
+ test? ( dev-cpp/gtest )
+"
+
+PATCHES=(
+ "${FILESDIR}/${P}-gcc-7.patch"
+ "${FILESDIR}/${P}-system_gtest.patch"
+ "${FILESDIR}/${P}-valgrind_optional.patch"
+ "${FILESDIR}/${P}-gcc14-const.patch"
+)
+
+src_prepare() {
+ cmake_src_prepare
+
+ sed -i -e 's| -march=native||g' CMakeLists.txt || die
+ sed -i -e 's| -Werror||g' CMakeLists.txt example/CMakeLists.txt test/unittest/CMakeLists.txt || die
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DDOC_INSTALL_DIR="${EPREFIX}/usr/share/doc/${PF}"
+ -DLIB_INSTALL_DIR="${EPREFIX}/usr/$(get_libdir)"
+ -DRAPIDJSON_BUILD_CXX11=OFF # latest gtest requires C++14 or later
+ -DRAPIDJSON_BUILD_DOC=$(usex doc)
+ -DRAPIDJSON_BUILD_EXAMPLES=$(usex examples)
+ -DRAPIDJSON_BUILD_TESTS=$(usex test)
+ -DRAPIDJSON_BUILD_THIRDPARTY_GTEST=OFF
+ )
+ use test && mycmakeargs+=(
+ -DVALGRIND_EXECUTABLE=
+ )
+ cmake_src_configure
+}
diff --git a/dev-libs/rapidjson/rapidjson-9999.ebuild b/dev-libs/rapidjson/rapidjson-9999.ebuild
index c13c44dc56c8..b98b72a191b7 100644
--- a/dev-libs/rapidjson/rapidjson-9999.ebuild
+++ b/dev-libs/rapidjson/rapidjson-9999.ebuild
@@ -1,32 +1,32 @@
-# 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
DESCRIPTION="A fast JSON parser/generator for C++ with both SAX/DOM style API"
HOMEPAGE="https://rapidjson.org/"
-LICENSE="MIT"
-IUSE="doc examples test"
-RESTRICT="!test? ( test )"
-SLOT="0"
-
if [[ ${PV} == *9999 ]] ; then
EGIT_REPO_URI="https://github.com/miloyip/rapidjson.git"
EGIT_SUBMODULES=()
inherit git-r3
else
SRC_URI="https://github.com/miloyip/rapidjson/archive/v${PV}.tar.gz -> ${P}.tar.gz"
- KEYWORDS="~amd64 ~arm ~arm64 ~x86"
+ KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86"
S="${WORKDIR}/rapidjson-${PV}"
fi
-DEPEND="
- doc? ( app-doc/doxygen )
- test? ( dev-cpp/gtest )"
-RDEPEND=""
+LICENSE="MIT"
+SLOT="0"
+IUSE="doc examples test"
+RESTRICT="!test? ( test )"
+
+BDEPEND="
+ doc? ( app-text/doxygen )
+ test? ( dev-cpp/gtest )
+"
PATCHES=(
"${FILESDIR}/${PN}-1.1.0-system_gtest.patch"
@@ -45,6 +45,8 @@ src_configure() {
local mycmakeargs=(
-DDOC_INSTALL_DIR="${EPREFIX}/usr/share/doc/${PF}"
-DLIB_INSTALL_DIR="${EPREFIX}/usr/$(get_libdir)"
+ -DRAPIDJSON_BUILD_CXX11=OFF # latest gtest requires C++14 or later
+ -DRAPIDJSON_BUILD_CXX17=ON
-DRAPIDJSON_BUILD_DOC=$(usex doc)
-DRAPIDJSON_BUILD_EXAMPLES=$(usex examples)
-DRAPIDJSON_BUILD_TESTS=$(usex test)
diff --git a/dev-libs/rasqal/files/rasqal-0.9.33-configure-c99.patch b/dev-libs/rasqal/files/rasqal-0.9.33-configure-c99.patch
new file mode 100644
index 000000000000..50a48de12cda
--- /dev/null
+++ b/dev-libs/rasqal/files/rasqal-0.9.33-configure-c99.patch
@@ -0,0 +1,29 @@
+https://github.com/dajobe/rasqal/pull/13
+
+From b5fdf2539b5eec823ca449de8d04defe37f97ba7 Mon Sep 17 00:00:00 2001
+From: Florian Weimer <fweimer@redhat.com>
+Date: Tue, 19 Dec 2023 21:31:36 +0100
+Subject: [PATCH] configure: Fix incorrect argument type in gcry_md_open
+
+The gcry_md_open function expects a gcry_md_hd_t * argument,
+and not a gcry_md_hd_t argument (which is also a pointer behind
+the typedef). Future compilers will likely treat this as an
+error, causing the check to fail unconditionally.
+---
+ configure.ac | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/configure.ac b/configure.ac
+index 113d4f89..6aed2f46 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -771,7 +771,7 @@ elif test "$ac_cv_header_gcrypt_h" = "yes"; then
+ LIBS="$LIBS `$LIBGCRYPT_CONFIG --libs`"
+
+ AC_LINK_IFELSE([AC_LANG_PROGRAM([[
+- #include <gcrypt.h>]], [[ gcry_md_hd_t hash; gcry_md_open(hash, GCRY_MD_MD5, 0); ]])],[have_digest_gcrypt=yes],[have_digest_gcrypt=no])
++ #include <gcrypt.h>]], [[ gcry_md_hd_t hash; gcry_md_open(&hash, GCRY_MD_MD5, 0); ]])],[have_digest_gcrypt=yes],[have_digest_gcrypt=no])
+
+ CPPFLAGS="$oCPPFLAGS"
+ LIBS="$oLIBS"
+
diff --git a/dev-libs/rasqal/files/rasqal-0.9.33-configure-clang16.patch b/dev-libs/rasqal/files/rasqal-0.9.33-configure-clang16.patch
new file mode 100644
index 000000000000..1916bdf45d36
--- /dev/null
+++ b/dev-libs/rasqal/files/rasqal-0.9.33-configure-clang16.patch
@@ -0,0 +1,22 @@
+https://github.com/dajobe/rasqal/pull/11
+
+From 2e82a970a8856081a53fc075e6d1534251206810 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Timm=20B=C3=A4der?= <tbaeder@redhat.com>
+Date: Tue, 24 Jan 2023 09:14:02 +0100
+Subject: [PATCH] Define printf() before using it in a configure check
+
+Both clang and GCC will default to treating undefined functions as
+errors in the near future.
+--- a/configure.ac
++++ b/configure.ac
+@@ -313,7 +313,8 @@ AC_C_CONST
+ AC_C_BIGENDIAN
+
+ AC_MSG_CHECKING(whether __FUNCTION__ is available)
+-AC_COMPILE_IFELSE([AC_LANG_SOURCE([int main() { printf(__FUNCTION__); }])],
++AC_COMPILE_IFELSE([AC_LANG_SOURCE([#include <stdio.h>
++ int main() { printf(__FUNCTION__); }])],
+ [AC_DEFINE([HAVE___FUNCTION__], [1], [Is __FUNCTION__ available])
+ AC_MSG_RESULT(yes)],
+ [AC_MSG_RESULT(no)])
+
diff --git a/dev-libs/rasqal/metadata.xml b/dev-libs/rasqal/metadata.xml
index b69a849fd57e..7ff102495df8 100644
--- a/dev-libs/rasqal/metadata.xml
+++ b/dev-libs/rasqal/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>sound@gentoo.org</email>
- <name>Gentoo Sound project</name>
-</maintainer>
+ <maintainer type="project">
+ <email>sound@gentoo.org</email>
+ <name>Gentoo Sound project</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">dajobe/rasqal</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/dev-libs/rasqal/rasqal-0.9.33-r2.ebuild b/dev-libs/rasqal/rasqal-0.9.33-r2.ebuild
new file mode 100644
index 000000000000..b19cf66f9a65
--- /dev/null
+++ b/dev-libs/rasqal/rasqal-0.9.33-r2.ebuild
@@ -0,0 +1,77 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools
+
+DESCRIPTION="Library that handles Resource Description Framework (RDF)"
+HOMEPAGE="https://librdf.org/rasqal/"
+SRC_URI="https://download.librdf.org/source/${P}.tar.gz"
+
+LICENSE="Apache-2.0 GPL-2 LGPL-2.1"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ppc ppc64 ~riscv sparc x86 ~amd64-linux ~x86-linux"
+IUSE="+crypt gmp +mhash pcre static-libs test xml"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ >=media-libs/raptor-2.0.15
+ crypt? (
+ !mhash? ( dev-libs/libgcrypt:0 )
+ mhash? ( app-crypt/mhash )
+ )
+ !gmp? ( dev-libs/mpfr:= )
+ gmp? ( dev-libs/gmp:= )
+ kernel_linux? ( >=sys-apps/util-linux-2.19 )
+ pcre? ( dev-libs/libpcre )
+ xml? ( dev-libs/libxml2 )
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ >=sys-devel/bison-3
+ app-alternatives/lex
+ virtual/pkgconfig
+ test? ( dev-perl/XML-DOM )
+"
+
+DOCS=( AUTHORS ChangeLog NEWS README )
+HTML_DOCS=( {NEWS,README,RELEASE}.html )
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-0.9.33-configure-clang16.patch
+ "${FILESDIR}"/${PN}-0.9.33-configure-c99.patch
+)
+
+src_prepare() {
+ default
+
+ #elibtoolize # g/fbsd .so versioning
+ eautoreconf # for clang 16 patch
+}
+
+src_configure() {
+ # FIXME: From 0.9.27 to .28 --with-random-approach= was introduced, do we
+ # need a logic for it? Perhaps for dev-libs/gmp?
+ local myeconfargs=(
+ --with-decimal=$(usex gmp gmp mpfr)
+ --with-uuid-library=$(usex kernel_linux libuuid internal)
+ $(use_enable pcre)
+ --with-regex-library=$(usex pcre pcre posix)
+ $(use_enable static-libs static)
+ $(use_enable xml xml2)
+ )
+
+ if use crypt; then
+ myeconfargs+=( --with-digest-library=$(usex mhash mhash gcrypt) )
+ else
+ myeconfargs+=( --with-digest-library=internal )
+ fi
+
+ econf "${myeconfargs[@]}"
+}
+
+src_install() {
+ default
+ find "${D}" -name '*.la' -delete || die
+}
diff --git a/dev-libs/rasqal/rasqal-0.9.33.ebuild b/dev-libs/rasqal/rasqal-0.9.33.ebuild
deleted file mode 100644
index 20c3b0d653d5..000000000000
--- a/dev-libs/rasqal/rasqal-0.9.33.ebuild
+++ /dev/null
@@ -1,70 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit libtool
-
-DESCRIPTION="Library that handles Resource Description Framework (RDF)"
-HOMEPAGE="http://librdf.org/rasqal/"
-SRC_URI="http://download.librdf.org/source/${P}.tar.gz"
-
-LICENSE="Apache-2.0 GPL-2 LGPL-2.1"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ppc ppc64 ~riscv sparc x86 ~amd64-linux ~x86-linux"
-IUSE="+crypt gmp +mhash pcre static-libs test xml"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- >=media-libs/raptor-2.0.15
- crypt? (
- !mhash? ( dev-libs/libgcrypt:0 )
- mhash? ( app-crypt/mhash )
- )
- !gmp? ( dev-libs/mpfr:= )
- gmp? ( dev-libs/gmp:= )
- kernel_linux? ( >=sys-apps/util-linux-2.19 )
- pcre? ( dev-libs/libpcre )
- xml? ( dev-libs/libxml2 )
-"
-DEPEND="${RDEPEND}"
-BDEPEND="
- >=sys-devel/bison-3
- >=sys-devel/flex-2.5.36
- virtual/pkgconfig
- test? ( dev-perl/XML-DOM )
-"
-
-DOCS=( AUTHORS ChangeLog NEWS README )
-HTML_DOCS=( {NEWS,README,RELEASE}.html )
-
-src_prepare() {
- default
- elibtoolize # g/fbsd .so versioning
-}
-
-src_configure() {
- # FIXME: From 0.9.27 to .28 --with-random-approach= was introduced, do we
- # need a logic for it? Perhaps for dev-libs/gmp?
- local myeconfargs=(
- --with-decimal=$(usex gmp gmp mpfr)
- --with-uuid-library=$(usex kernel_linux libuuid internal)
- $(use_enable pcre)
- --with-regex-library=$(usex pcre pcre posix)
- $(use_enable static-libs static)
- $(use_enable xml xml2)
- )
-
- if use crypt; then
- myeconfargs+=( --with-digest-library=$(usex mhash mhash gcrypt) )
- else
- myeconfargs+=( --with-digest-library=internal )
- fi
-
- econf "${myeconfargs[@]}"
-}
-
-src_install() {
- default
- find "${D}" -name '*.la' -delete || die
-}
diff --git a/dev-libs/rccl/Manifest b/dev-libs/rccl/Manifest
index ef9abc099a66..baeaa02c7d4e 100644
--- a/dev-libs/rccl/Manifest
+++ b/dev-libs/rccl/Manifest
@@ -1,2 +1,2 @@
-DIST rccl-4.0.0.tar.gz 741814 BLAKE2B c20178e45fb7787ef7f5e20326f91f11a1b2a575277b5f28591b0be6efa6730c3509b11255372648f1df50e33b5e593dbe9c3334c5001f39423fc70acfa49d07 SHA512 d25754895d7b5695e46031642c2550cf2b6b5c42628d8381a23d6d1a48699a14a4fdf842205a14b96bdd1339341f9e558492ef9366a63036d8a8a7011d2c1b05
-DIST rccl-4.3.0.tar.gz 836631 BLAKE2B c7fede9cf92d3e75b79da2874c0a1e45c5fd4ad9d24b11c9870e9fdef8d571a286cbf54ae0a033f2aec3d21b06cafc2b1c097aaf87ecd628f0c33e9267103be1 SHA512 1a27e6441955f01c853861f83743da2fc9597978c3ff99f238734d4bafb1e277d626811b72c6a12563d69b2b8265960b8a2566df618921557837035b92993f0e
+DIST rccl-5.1.3.tar.gz 908274 BLAKE2B 46bff7b6e3d60d5884ccd7e19c54b2f47f90a337a8fdc6dca1a3cfee147e3652e1f912642cc134d4a82bf8daabd9f1391edff139d0517ab1078bd3d9650481d7 SHA512 20deb27c7ef3e6b6b73409950ac0d51286b4634f7002ce36a9a02cdd1d5b1f2db51f6decf773af83364c94f58cc96837da25299f5f5494fc15d8559a1b3c7fcc
+DIST rccl-5.7.1.tar.gz 1425561 BLAKE2B 852c111ad806d5c99f48b3c65c8cf37315c68b969f9544bfa14c1faf1d5557edcc57cdc21705ced6ded4a0288d42b1076e65fb67b3f89b4fa78cfba9d317b23e SHA512 5913b8ff67fa787714713b7d5b571374898be740d56c77db9f04fe7a3e6ca74023fa930a3494d8a6f984ac9e68ee318343835e110049d08700fe773376618af4
diff --git a/dev-libs/rccl/files/rccl-2.7.0-change_install_location.patch b/dev-libs/rccl/files/rccl-2.7.0-change_install_location.patch
deleted file mode 100644
index c129e80c62c7..000000000000
--- a/dev-libs/rccl/files/rccl-2.7.0-change_install_location.patch
+++ /dev/null
@@ -1,33 +0,0 @@
---- a/CMakeLists.txt 2019-09-02 18:19:53.540736052 +0200
-+++ b/CMakeLists.txt 2019-09-02 18:21:14.936735741 +0200
-@@ -162,15 +162,16 @@
-
- rocm_install_targets(TARGETS
- rccl
-- PREFIX
-- rccl)
-+# PREFIX
-+# rccl
-+ )
- install(FILES ${PROJECT_BINARY_DIR}/rccl.h
-- DESTINATION rccl/${CMAKE_INSTALL_INCLUDEDIR})
-+ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
-
- rocm_export_targets(NAMESPACE
- roc::
-- PREFIX
-- rccl
-+# PREFIX
-+# rccl
- TARGETS
- rccl
- DEPENDS
-@@ -190,7 +191,7 @@
- "<no-reply@amd.com>"
- LDCONFIG)
-
--rocm_install_symlink_subdir(rccl)
-+#rocm_install_symlink_subdir(rccl)
-
- if(BUILD_TESTS)
- add_subdirectory(test)
diff --git a/dev-libs/rccl/files/rccl-5.0.2-change_install_location.patch b/dev-libs/rccl/files/rccl-5.0.2-change_install_location.patch
new file mode 100644
index 000000000000..11e3fea312de
--- /dev/null
+++ b/dev-libs/rccl/files/rccl-5.0.2-change_install_location.patch
@@ -0,0 +1,31 @@
+Index: rccl-rocm-5.0.2/CMakeLists.txt
+===================================================================
+--- rccl-rocm-5.0.2.orig/CMakeLists.txt
++++ rccl-rocm-5.0.2/CMakeLists.txt
+@@ -268,16 +268,12 @@ target_link_libraries(rccl INTERFACE hip
+ rocm_set_soversion(rccl "1.0")
+
+ rocm_install_targets(TARGETS
+- rccl
+- PREFIX
+ rccl)
+ rocm_install(FILES ${PROJECT_BINARY_DIR}/rccl.h
+- DESTINATION rccl/${CMAKE_INSTALL_INCLUDEDIR})
++ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
+
+ rocm_export_targets(NAMESPACE
+ roc::
+- PREFIX
+- rccl
+ TARGETS
+ rccl
+ DEPENDS
+@@ -329,8 +325,6 @@ rocm_create_package(
+ "RCCL Maintainer <rccl-maintainer@amd.com>"
+ LDCONFIG)
+
+-rocm_install_symlink_subdir(rccl)
+-
+ if(BUILD_TESTS)
+ add_subdirectory(test)
+ endif()
diff --git a/dev-libs/rccl/files/rccl-5.1.3-remove-chrpath.patch b/dev-libs/rccl/files/rccl-5.1.3-remove-chrpath.patch
new file mode 100644
index 000000000000..26bad572c7d8
--- /dev/null
+++ b/dev-libs/rccl/files/rccl-5.1.3-remove-chrpath.patch
@@ -0,0 +1,32 @@
+Manually chrpath not needed in CMakeLists since CMAKE_SKIP_RPATH=On
+So chrpath dependency is not needed
+===================================================================
+--- rccl-rocm-5.1.3.orig/test/CMakeLists.txt
++++ rccl-rocm-5.1.3/test/CMakeLists.txt
+@@ -5,11 +5,6 @@ if(BUILD_TESTS)
+
+ message("Going to build unit tests (Installed in /test/UnitTests)")
+
+- find_program(CHRPATH chrpath)
+- if(NOT CHRPATH)
+- message(FATAL_ERROR "chrpath is required for UnitTests. Please install (e.g. sudo apt-get install chrpath)")
+- endif()
+-
+ include_directories(${GTEST_INCLUDE_DIRS})
+
+ if(BUILD_ALLREDUCE_ONLY)
+@@ -88,14 +83,6 @@ if(BUILD_TESTS)
+ # HIPCC adds /opt/rocm/lib as RPATH, even though the install process is supposed to
+ # remove RPATH. It also occurs before any user-specified rpath, which effectively overrides the user rpath.
+ # As a work-around, set the correct RPATH for the unit test executable as a post-install step
+- if (CMAKE_INSTALL_PREFIX MATCHES "${ROCM_PATH}")
+- # install_prefix/CMAKE_INSTALL_PREFIX was not explicitly specified, so look in build/release
+- add_custom_command( TARGET UnitTests POST_BUILD COMMAND chrpath ARGS -r ${CMAKE_BINARY_DIR}:${ROCM_PATH}/lib ${CMAKE_BINARY_DIR}/test/UnitTests)
+- add_custom_command( TARGET UnitTestsMultiProcess POST_BUILD COMMAND chrpath ARGS -r ${CMAKE_BINARY_DIR}:${ROCM_PATH}/lib ${CMAKE_BINARY_DIR}/test/UnitTestsMultiProcess)
+- else()
+- add_custom_command( TARGET UnitTests POST_BUILD COMMAND chrpath ARGS -r ${CMAKE_INSTALL_PREFIX}/lib:${ROCM_PATH}/lib ${CMAKE_INSTALL_PREFIX}/test/UnitTests)
+- add_custom_command( TARGET UnitTestsMultiProcess POST_BUILD COMMAND chrpath ARGS -r ${CMAKE_INSTALL_PREFIX}/lib:${ROCM_PATH}/lib ${CMAKE_INSTALL_PREFIX}/test/UnitTestsMultiProcess)
+- endif()
+ else()
+ message("Not building unit tests")
+ endif()
diff --git a/dev-libs/rccl/files/rccl-5.7.1-remove-chrpath.patch b/dev-libs/rccl/files/rccl-5.7.1-remove-chrpath.patch
new file mode 100644
index 000000000000..a9184f1c7b98
--- /dev/null
+++ b/dev-libs/rccl/files/rccl-5.7.1-remove-chrpath.patch
@@ -0,0 +1,17 @@
+chrpath is not used in rccl 5.7.1
+
+Upstream fix: https://github.com/ROCmSoftwarePlatform/rccl/pull/811
+--- a/test/CMakeLists.txt
++++ b/test/CMakeLists.txt
+@@ -7,11 +7,6 @@ if(BUILD_TESTS)
+
+ message("Building rccl unit tests (Installed in /test/rccl-UnitTests)")
+
+- find_program(CHRPATH chrpath)
+- if(NOT CHRPATH)
+- message(FATAL_ERROR "chrpath is required for rccl-UnitTests. Please install (e.g. sudo apt-get install chrpath)")
+- endif()
+-
+ find_package(hsa-runtime64 PATHS /opt/rocm )
+ if(${hsa-runtime64_FOUND})
+ message("hsa-runtime64 found @ ${hsa-runtime64_DIR} ")
diff --git a/dev-libs/rccl/rccl-4.0.0-r2.ebuild b/dev-libs/rccl/rccl-4.0.0-r2.ebuild
deleted file mode 100644
index c909f3d96122..000000000000
--- a/dev-libs/rccl/rccl-4.0.0-r2.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
-
-inherit cmake
-
-DESCRIPTION="ROCm Communication Collectives Library (RCCL)"
-HOMEPAGE="https://github.com/ROCmSoftwarePlatform/rccl"
-SRC_URI="https://github.com/ROCmSoftwarePlatform/rccl/archive/rocm-${PV}.tar.gz -> rccl-${PV}.tar.gz"
-
-LICENSE="BSD"
-KEYWORDS="~amd64"
-SLOT="0"
-
-RDEPEND="=dev-util/hip-$(ver_cut 1-2)*"
-DEPEND="${RDEPEND}
- dev-util/rocm-cmake"
-
-S="${WORKDIR}/rccl-rocm-${PV}"
-
-PATCHES=(
- "${FILESDIR}/rccl-2.7.0-change_install_location.patch"
-)
-
-src_configure() {
- addwrite /dev/kfd
- addpredict /dev/dri/
-
- export DEVICE_LIB_PATH="${EPREFIX}/usr/lib/amdgcn/bitcode/"
- export CXX=hipcc
-
- local mycmakeargs=(
- -DBUILD_TESTS=OFF
- -Wno-dev
- )
-
- cmake_src_configure
-}
diff --git a/dev-libs/rccl/rccl-4.3.0.ebuild b/dev-libs/rccl/rccl-4.3.0.ebuild
deleted file mode 100644
index 532bea5d7dfa..000000000000
--- a/dev-libs/rccl/rccl-4.3.0.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="ROCm Communication Collectives Library (RCCL)"
-HOMEPAGE="https://github.com/ROCmSoftwarePlatform/rccl"
-SRC_URI="https://github.com/ROCmSoftwarePlatform/rccl/archive/rocm-${PV}.tar.gz -> rccl-${PV}.tar.gz"
-
-LICENSE="BSD"
-KEYWORDS="~amd64"
-SLOT="0"
-
-RDEPEND="=dev-util/hip-$(ver_cut 1-2)*"
-DEPEND="${RDEPEND}
- dev-util/rocm-cmake"
-
-S="${WORKDIR}/rccl-rocm-${PV}"
-
-PATCHES=(
- "${FILESDIR}/rccl-2.7.0-change_install_location.patch"
-)
-
-src_configure() {
- addwrite /dev/kfd
- addpredict /dev/dri/
-
- export DEVICE_LIB_PATH="${EPREFIX}/usr/lib/amdgcn/bitcode/"
- export CXX=hipcc
-
- local mycmakeargs=(
- -DBUILD_TESTS=OFF
- -Wno-dev
- ${AMDGPU_TARGETS+-DAMDGPU_TARGETS="${AMDGPU_TARGETS}"}
- -D__skip_rocmclang="ON" ## fix cmake-3.21 configuration issue caused by officialy support programming language "HIP"
- )
-
- cmake_src_configure
-}
diff --git a/dev-libs/rccl/rccl-5.1.3.ebuild b/dev-libs/rccl/rccl-5.1.3.ebuild
new file mode 100644
index 000000000000..92092f7946cf
--- /dev/null
+++ b/dev-libs/rccl/rccl-5.1.3.ebuild
@@ -0,0 +1,51 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+ROCM_VERSION=${PV}
+
+inherit cmake edo rocm
+
+DESCRIPTION="ROCm Communication Collectives Library (RCCL)"
+HOMEPAGE="https://github.com/ROCmSoftwarePlatform/rccl"
+SRC_URI="https://github.com/ROCmSoftwarePlatform/rccl/archive/rocm-${PV}.tar.gz -> rccl-${PV}.tar.gz"
+
+LICENSE="BSD"
+KEYWORDS="~amd64"
+SLOT="0/$(ver_cut 1-2)"
+IUSE="test"
+
+RDEPEND="dev-util/hip
+dev-util/rocm-smi:${SLOT}"
+DEPEND="${RDEPEND}"
+BDEPEND=">=dev-build/cmake-3.22
+ >=dev-build/rocm-cmake-5.0.2-r1
+ test? ( dev-cpp/gtest )"
+
+RESTRICT="!test? ( test )"
+S="${WORKDIR}/rccl-rocm-${PV}"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-5.0.2-change_install_location.patch"
+ "${FILESDIR}/${PN}-5.1.3-remove-chrpath.patch"
+)
+
+src_configure() {
+ addpredict /dev/kfd
+ addpredict /dev/dri/
+
+ local mycmakeargs=(
+ -DSKIP_RPATH=On
+ -DAMDGPU_TARGETS="$(get_amdgpu_flags)"
+ -DBUILD_TESTS=$(usex test ON OFF)
+ -Wno-dev
+ )
+
+ CXX=hipcc cmake_src_configure
+}
+
+src_test() {
+ check_amdgpu
+ LD_LIBRARY_PATH="${BUILD_DIR}" edob test/UnitTests
+}
diff --git a/dev-libs/rccl/rccl-5.7.1.ebuild b/dev-libs/rccl/rccl-5.7.1.ebuild
new file mode 100644
index 000000000000..1ebf9619a55b
--- /dev/null
+++ b/dev-libs/rccl/rccl-5.7.1.ebuild
@@ -0,0 +1,78 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+ROCM_VERSION=${PV}
+
+inherit cmake edo rocm flag-o-matic
+
+DESCRIPTION="ROCm Communication Collectives Library (RCCL)"
+HOMEPAGE="https://github.com/ROCmSoftwarePlatform/rccl"
+SRC_URI="https://github.com/ROCmSoftwarePlatform/rccl/archive/rocm-${PV}.tar.gz -> rccl-${PV}.tar.gz"
+
+LICENSE="BSD"
+KEYWORDS="~amd64"
+SLOT="0/$(ver_cut 1-2)"
+IUSE="test"
+
+RDEPEND="
+ =dev-util/hip-5*
+ dev-util/rocm-smi:${SLOT}"
+DEPEND="${RDEPEND}
+ sys-libs/binutils-libs"
+BDEPEND="
+ >=dev-build/cmake-3.22
+ >=dev-build/rocm-cmake-5.0.2-r1
+ dev-util/hipify-clang:${SLOT}
+ test? ( dev-cpp/gtest )"
+
+RESTRICT="!test? ( test )"
+S="${WORKDIR}/rccl-rocm-${PV}"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-5.7.1-remove-chrpath.patch"
+)
+
+src_prepare() {
+ cmake_src_prepare
+
+ # https://reviews.llvm.org/D69582 - clang does not support parallel jobs
+ sed -i 's/-parallel-jobs=[0-9][0-9]//g' CMakeLists.txt || die
+
+ # https://github.com/ROCmSoftwarePlatform/rccl/pull/860 - bad escape
+ sed -i 's/\\%/%/' src/include/msccl/msccl_struct.h || die
+
+ # https://github.com/ROCmSoftwarePlatform/rccl/issues/958 - fix AMDGPU_TARGETS
+ sed -i '/set(AMDGPU_TARGETS/s/ FORCE//' CMakeLists.txt || die
+}
+
+src_configure() {
+ addpredict /dev/kfd
+ addpredict /dev/dri/
+
+ # https://github.com/llvm/llvm-project/issues/71711 - fix issue of clang
+ append-ldflags -Wl,-z,noexecstack
+
+ local mycmakeargs=(
+ -DCMAKE_SKIP_RPATH=ON
+ -DAMDGPU_TARGETS="$(get_amdgpu_flags)"
+ -DBUILD_TESTS=$(usex test ON OFF)
+ -DROCM_SYMLINK_LIBS=OFF
+ -Wno-dev
+ )
+
+ CXX=hipcc cmake_src_configure
+}
+
+src_test() {
+ CHECK_AMDGPU
+ LD_LIBRARY_PATH="${BUILD_DIR}" edob test/rccl-UnitTests
+}
+
+src_install() {
+ cmake_src_install
+
+ # remove extra copy of headers
+ rm -r "${ED}"/usr/rccl || die
+}
diff --git a/dev-libs/re2/Manifest b/dev-libs/re2/Manifest
index a850b85fa843..8c30ddff49eb 100644
--- a/dev-libs/re2/Manifest
+++ b/dev-libs/re2/Manifest
@@ -1,2 +1,2 @@
-DIST re2-2021-06-01.tar.gz 403726 BLAKE2B 1919cc564f84073198062dace3c390b14acdea8b6be7b87d7f7548655dc6194b8fd5f0cd27567297ce80ba69b0b5a6bb824a2b9382ef2bd60d3c40bc4e3f412b SHA512 cf18a9b437d07046294ada992693c5af7c560c36a3435e525a36ef542f352d33627fff8903434063795cd124f7e5c0e30ca7eadda847a0fd9f7d97ca207d4b42
-DIST re2-2021-11-01.tar.gz 408934 BLAKE2B 31662b1e9cdfec67347cbe146763a29cc8970683d545965e649a5f54ac318c40cd6daf553b6098fae7024a944f73914641b05970f1274511fac6766abe6b9130 SHA512 9ea04638b7a8667fa9a9d9894c543417c86dde21a93bd4508ae8a43fdd21384092866a3f55e93249942f36488c165e93bee18c61bab3cf138a920654563b8122
+DIST re2-2022-06-01.tar.gz 381032 BLAKE2B a4cf937e0341102a3151cd1741d51cae1bdd8ab589dcd4c9ee2f51ca43b325f7604fd5e6ae85db8ddd8fcca615ade6817a45664a037baf9cd14023ae4c4a46ac SHA512 f3d5f2a3aa5eda74bc8f434d7b000eed8e107c894307a889466a4cb16a15b352a0332e10d80ed603c9e2e38bbcbdf11f15b6953cbdf461cc9fb0560e89a8ceb8
+DIST re2-2022-12-01.tar.gz 382554 BLAKE2B f3b3f00e4a991db90695510a8820493c42605ce91278c3e7e5de9f0736b8d7b627921672905d4404a252425f619c8d27f81b05f4d69f33d4c23225ac0c44fe2e SHA512 783f856e6556ce60f0e9a15b2366cb4df21ca019cdc85ef7ad47a11d0345935300dede5da61892bdc77d2642da82ddc81b6670049eb87f357a64a9c684140ec9
diff --git a/dev-libs/re2/metadata.xml b/dev-libs/re2/metadata.xml
index d37b24f2b3a6..3924d20eebc1 100644
--- a/dev-libs/re2/metadata.xml
+++ b/dev-libs/re2/metadata.xml
@@ -1,14 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="project">
- <email>chromium@gentoo.org</email>
- <name>Chromium in Gentoo Project</name>
- </maintainer>
- <maintainer type="person" proxied="yes">
- <email>arfrever.fta@gmail.com</email>
- <name>Arfrever Frehtes Taifersar Arahesis</name>
- </maintainer>
+ <!-- maintainer-needed -->
<upstream>
<remote-id type="github">google/re2</remote-id>
</upstream>
diff --git a/dev-libs/re2/re2-0.2021.06.01.ebuild b/dev-libs/re2/re2-0.2021.06.01.ebuild
deleted file mode 100644
index 707fba0b63f3..000000000000
--- a/dev-libs/re2/re2-0.2021.06.01.ebuild
+++ /dev/null
@@ -1,52 +0,0 @@
-# Copyright 2012-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit multilib-minimal toolchain-funcs
-
-# Different date format used upstream.
-RE2_VER=${PV#0.}
-RE2_VER=${RE2_VER//./-}
-
-DESCRIPTION="An efficient, principled regular expression library"
-HOMEPAGE="https://github.com/google/re2"
-SRC_URI="https://github.com/google/re2/archive/${RE2_VER}.tar.gz -> re2-${RE2_VER}.tar.gz"
-
-LICENSE="BSD"
-# NOTE: Always run libre2 through abi-compliance-checker!
-# https://abi-laboratory.pro/tracker/timeline/re2/
-SONAME="9"
-SLOT="0/${SONAME}"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~ppc ~ppc64 ~riscv ~s390 ~sparc x86"
-IUSE="icu"
-
-BDEPEND="icu? ( virtual/pkgconfig )"
-DEPEND="icu? ( dev-libs/icu:0=[${MULTILIB_USEDEP}] )"
-RDEPEND="${DEPEND}"
-
-S="${WORKDIR}/re2-${RE2_VER}"
-
-DOCS=( AUTHORS CONTRIBUTORS README doc/syntax.txt )
-HTML_DOCS=( doc/syntax.html )
-
-src_prepare() {
- default
- grep -q "^SONAME=${SONAME}\$" Makefile || die "SONAME mismatch"
- if use icu; then
- sed -i -e 's:^# \(\(CC\|LD\)ICU=.*\):\1:' Makefile || die
- fi
- multilib_copy_sources
-}
-
-src_configure() {
- tc-export AR CXX
-}
-
-multilib_src_compile() {
- emake SONAME="${SONAME}" shared
-}
-
-multilib_src_install() {
- emake SONAME="${SONAME}" DESTDIR="${D}" prefix="${EPREFIX}/usr" libdir="\$(exec_prefix)/$(get_libdir)" shared-install
-}
diff --git a/dev-libs/re2/re2-0.2021.11.01.ebuild b/dev-libs/re2/re2-0.2021.11.01.ebuild
deleted file mode 100644
index 707fba0b63f3..000000000000
--- a/dev-libs/re2/re2-0.2021.11.01.ebuild
+++ /dev/null
@@ -1,52 +0,0 @@
-# Copyright 2012-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit multilib-minimal toolchain-funcs
-
-# Different date format used upstream.
-RE2_VER=${PV#0.}
-RE2_VER=${RE2_VER//./-}
-
-DESCRIPTION="An efficient, principled regular expression library"
-HOMEPAGE="https://github.com/google/re2"
-SRC_URI="https://github.com/google/re2/archive/${RE2_VER}.tar.gz -> re2-${RE2_VER}.tar.gz"
-
-LICENSE="BSD"
-# NOTE: Always run libre2 through abi-compliance-checker!
-# https://abi-laboratory.pro/tracker/timeline/re2/
-SONAME="9"
-SLOT="0/${SONAME}"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~ppc ~ppc64 ~riscv ~s390 ~sparc x86"
-IUSE="icu"
-
-BDEPEND="icu? ( virtual/pkgconfig )"
-DEPEND="icu? ( dev-libs/icu:0=[${MULTILIB_USEDEP}] )"
-RDEPEND="${DEPEND}"
-
-S="${WORKDIR}/re2-${RE2_VER}"
-
-DOCS=( AUTHORS CONTRIBUTORS README doc/syntax.txt )
-HTML_DOCS=( doc/syntax.html )
-
-src_prepare() {
- default
- grep -q "^SONAME=${SONAME}\$" Makefile || die "SONAME mismatch"
- if use icu; then
- sed -i -e 's:^# \(\(CC\|LD\)ICU=.*\):\1:' Makefile || die
- fi
- multilib_copy_sources
-}
-
-src_configure() {
- tc-export AR CXX
-}
-
-multilib_src_compile() {
- emake SONAME="${SONAME}" shared
-}
-
-multilib_src_install() {
- emake SONAME="${SONAME}" DESTDIR="${D}" prefix="${EPREFIX}/usr" libdir="\$(exec_prefix)/$(get_libdir)" shared-install
-}
diff --git a/dev-libs/re2/re2-0.2022.06.01.ebuild b/dev-libs/re2/re2-0.2022.06.01.ebuild
new file mode 100644
index 000000000000..f047960b9b5c
--- /dev/null
+++ b/dev-libs/re2/re2-0.2022.06.01.ebuild
@@ -0,0 +1,52 @@
+# Copyright 2012-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit multilib-minimal toolchain-funcs
+
+# Different date format used upstream.
+RE2_VER=${PV#0.}
+RE2_VER=${RE2_VER//./-}
+
+DESCRIPTION="An efficient, principled regular expression library"
+HOMEPAGE="https://github.com/google/re2"
+SRC_URI="https://github.com/google/re2/archive/${RE2_VER}.tar.gz -> re2-${RE2_VER}.tar.gz"
+
+LICENSE="BSD"
+# NOTE: Always run libre2 through abi-compliance-checker!
+# https://abi-laboratory.pro/tracker/timeline/re2/
+SONAME="9"
+SLOT="0/${SONAME}"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc x86"
+IUSE="icu"
+
+BDEPEND="icu? ( virtual/pkgconfig )"
+DEPEND="icu? ( dev-libs/icu:0=[${MULTILIB_USEDEP}] )"
+RDEPEND="${DEPEND}"
+
+S="${WORKDIR}/re2-${RE2_VER}"
+
+DOCS=( AUTHORS CONTRIBUTORS README doc/syntax.txt )
+HTML_DOCS=( doc/syntax.html )
+
+src_prepare() {
+ default
+ grep -q "^SONAME=${SONAME}\$" Makefile || die "SONAME mismatch"
+ if use icu; then
+ sed -i -e 's:^# \(\(CC\|LD\)ICU=.*\):\1:' Makefile || die
+ fi
+ multilib_copy_sources
+}
+
+src_configure() {
+ tc-export AR CXX
+}
+
+multilib_src_compile() {
+ emake SONAME="${SONAME}" shared
+}
+
+multilib_src_install() {
+ emake SONAME="${SONAME}" DESTDIR="${D}" prefix="${EPREFIX}/usr" libdir="\$(exec_prefix)/$(get_libdir)" shared-install
+}
diff --git a/dev-libs/re2/re2-0.2022.12.01.ebuild b/dev-libs/re2/re2-0.2022.12.01.ebuild
new file mode 100644
index 000000000000..2041d1534b5e
--- /dev/null
+++ b/dev-libs/re2/re2-0.2022.12.01.ebuild
@@ -0,0 +1,52 @@
+# Copyright 2012-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit multilib-minimal toolchain-funcs
+
+# Different date format used upstream.
+RE2_VER=${PV#0.}
+RE2_VER=${RE2_VER//./-}
+
+DESCRIPTION="An efficient, principled regular expression library"
+HOMEPAGE="https://github.com/google/re2"
+SRC_URI="https://github.com/google/re2/archive/${RE2_VER}.tar.gz -> re2-${RE2_VER}.tar.gz"
+
+LICENSE="BSD"
+# NOTE: Always run libre2 through abi-compliance-checker!
+# https://abi-laboratory.pro/tracker/timeline/re2/
+SONAME="10"
+SLOT="0/${SONAME}"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~ppc ppc64 ~riscv ~s390 ~sparc x86"
+IUSE="icu"
+
+BDEPEND="icu? ( virtual/pkgconfig )"
+DEPEND="icu? ( dev-libs/icu:0=[${MULTILIB_USEDEP}] )"
+RDEPEND="${DEPEND}"
+
+S="${WORKDIR}/re2-${RE2_VER}"
+
+DOCS=( AUTHORS CONTRIBUTORS README doc/syntax.txt )
+HTML_DOCS=( doc/syntax.html )
+
+src_prepare() {
+ default
+ grep -q "^SONAME=${SONAME}\$" Makefile || die "SONAME mismatch"
+ if use icu; then
+ sed -i -e 's:^# \(\(CC\|LD\)ICU=.*\):\1:' Makefile || die
+ fi
+ multilib_copy_sources
+}
+
+src_configure() {
+ tc-export AR CXX
+}
+
+multilib_src_compile() {
+ emake SONAME="${SONAME}" shared
+}
+
+multilib_src_install() {
+ emake SONAME="${SONAME}" DESTDIR="${D}" prefix="${EPREFIX}/usr" libdir="\$(exec_prefix)/$(get_libdir)" shared-install
+}
diff --git a/dev-libs/redis-ipc/Manifest b/dev-libs/redis-ipc/Manifest
new file mode 100644
index 000000000000..016885cd32d3
--- /dev/null
+++ b/dev-libs/redis-ipc/Manifest
@@ -0,0 +1 @@
+DIST redis-ipc-0.1.0.tar.gz 80111 BLAKE2B 4e8c1a0c54c33edc0efa9a383a75fa34a7df6cbf6a07fb670ec98739676c26b01317fdb299bf30da2515b20ee715d702715ca4ad82055419719ed9893d23956b SHA512 51e84bee2d1945d0250af11efa7a8a0b862c1122652b419584a3c6c3a641023e3b9e40ab457f50114fd68867081355e944befc879ec12e152c398d507c96a87b
diff --git a/dev-libs/redis-ipc/metadata.xml b/dev-libs/redis-ipc/metadata.xml
new file mode 100644
index 000000000000..87455ad20795
--- /dev/null
+++ b/dev-libs/redis-ipc/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <!-- maintainer-needed -->
+ <longdescription lang="en">
+ Convenience library for using redis server and JSON as IPC
+ mechanism (command queues, settings, status, event channels).
+ Can use either local or network sockets via C or C++ interfaces.
+ </longdescription>
+ <upstream>
+ <remote-id type="github">VCTLabs/redis-ipc</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/redis-ipc/redis-ipc-0.1.0.ebuild b/dev-libs/redis-ipc/redis-ipc-0.1.0.ebuild
new file mode 100644
index 000000000000..0f112f9dd0e7
--- /dev/null
+++ b/dev-libs/redis-ipc/redis-ipc-0.1.0.ebuild
@@ -0,0 +1,46 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit cmake
+
+DESCRIPTION="A (redis) client library for using redis as system IPC msg/event bus"
+HOMEPAGE="https://github.com/VCTLabs/redis-ipc"
+
+if [[ ${PV} == *9999 ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/VCTLabs/redis-ipc.git"
+ EGIT_BRANCH="develop"
+else
+ SRC_URI="https://github.com/VCTLabs/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~x86"
+fi
+
+LICENSE="GPL-2"
+SLOT="0/1"
+IUSE="static-libs test"
+RESTRICT="!test? ( test )"
+
+DEPEND="
+ dev-libs/hiredis:=
+ dev-libs/json-c
+"
+RDEPEND="${DEPEND}
+ dev-db/redis
+"
+
+src_prepare() {
+ sed -i -e "s|/lib|/$(get_libdir)|" "${S}"/redis-ipc.pc.in || die
+ cmake_src_prepare
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DBUILD_STATIC_LIBS=$(usex static-libs)
+ -DRIPC_BUILD_TESTING=$(usex test)
+ -DRIPC_DISABLE_SOCK_TESTS=$(usex test)
+ )
+
+ cmake_src_configure
+}
diff --git a/dev-libs/redland-bindings/files/redland-bindings-1.0.17.1-add-PHP7-support.patch b/dev-libs/redland-bindings/files/redland-bindings-1.0.17.1-add-PHP7-support.patch
deleted file mode 100644
index af8e3d560d7b..000000000000
--- a/dev-libs/redland-bindings/files/redland-bindings-1.0.17.1-add-PHP7-support.patch
+++ /dev/null
@@ -1,64 +0,0 @@
-Origin: Based on patch from Petr Písař <ppisar@redhat.com>
-Date: Tue, 13 Jun 2017 15:29:15 +0200
-
---- a/php/redland-post.i
-+++ b/php/redland-post.i
-@@ -132,8 +132,11 @@ librdf_php_world_init(void)
- exception_ce = zend_exception_get_default();
- INIT_CLASS_ENTRY(ee_ce, "RedlandException", NULL);
- redland_exception_ptr = zend_register_internal_class_ex(&ee_ce,
-- exception_ce,
-- NULL TSRMLS_CC);
-+ exception_ce
-+#if PHP_MAJOR_VERSION < 7
-+ ,NULL TSRMLS_CC
-+#endif
-+ );
- #endif
-
- memset(&librdf_php_locator, '\0', sizeof(raptor_locator));
---- a/php/redland-typemap.i
-+++ b/php/redland-typemap.i
-@@ -1,17 +1,17 @@
--%typemap(in) librdf_uri* %{
-- if(SWIG_ConvertPtr(*$input, (void **) &$1, SWIGTYPE_p_librdf_uri_s, 0) < 0) {
-+%typemap(in) librdf_uri %{
-+ if(SWIG_ConvertPtr($input, (void **) &$1, SWIGTYPE_p_librdf_uri_s, 0) < 0) {
- /* Allow NULL from php for librdf_uri* */
-- if ((*$input)->type==IS_NULL)
-+ if ($input->type==IS_NULL)
- $1=NULL;
- else
- SWIG_PHP_Error(E_ERROR, "Type error in argument $argnum of $symname. Expected $1_descriptor");
- }
- %}
-
--%typemap(in) librdf_node* %{
-- if(SWIG_ConvertPtr(*$input, (void **) &$1, SWIGTYPE_p_librdf_node_s, 0) < 0) {
-+%typemap(in) librdf_node %{
-+ if(SWIG_ConvertPtr($input, (void **) &$1, SWIGTYPE_p_librdf_node_s, 0) < 0) {
- /* Allow NULL from php for librdf_node* */
-- if ((*$input)->type==IS_NULL)
-+ if ($input->type==IS_NULL)
- $1=NULL;
- else
- SWIG_PHP_Error(E_ERROR, "Type error in argument $argnum of $symname. Expected $1_descriptor");
-
---- a/php/test.php
-+++ b/php/test.php
-@@ -26,11 +26,9 @@
- /* ------------------------------------------------------------------------ */
-
- print "Testing Redland...\n";
--$dlls = array("redland.so", "php_redland.dll", "redland.dylib", "redland.bundle");
--foreach ($dlls as $dll) {
-- if(file_exists($dll)) {
-- dl($dll);
-- }
-+if (extension_loaded('redland') !== true) {
-+ print "Redland extension not loaded. Cannot run tests!" . PHP_EOL;
-+ exit(1);
- }
-
- $world=librdf_php_get_world();
-
diff --git a/dev-libs/redland-bindings/files/redland-bindings-1.0.17.1-php-config-r1.patch b/dev-libs/redland-bindings/files/redland-bindings-1.0.17.1-php-config-r1.patch
deleted file mode 100644
index 8f8dd409c0d3..000000000000
--- a/dev-libs/redland-bindings/files/redland-bindings-1.0.17.1-php-config-r1.patch
+++ /dev/null
@@ -1,77 +0,0 @@
---- a/configure.ac
-+++ b/configure.ac
-@@ -58,7 +58,6 @@ AC_CHECK_PROGS(TAR, gnutar gtar tar)
- AC_CHECK_PROGS(LUA, lua)
- AC_CHECK_PROGS(PYTHON, python)
- AC_CHECK_PROGS(PERL, perl)
--AC_CHECK_PROGS(PHP, php)
- AC_CHECK_PROGS(RUBY, ruby)
- AC_CHECK_PROGS(SWIG, swig)
- # Gnome
-@@ -153,15 +152,28 @@ if test "X$LUA_VERSION" != X; then
- fi
- fi
-
-+dnl Find php-config script.
-+AC_ARG_WITH([php-config],
-+ [AS_HELP_STRING([--with-php-config=PATH], [Path to php-config [php-config]])],
-+ [with_php_config=${withval}],
-+ [with_php_config=php-config])
-+
-+if test "${with_php_config}" = "php-config"; then
-+ AC_CHECK_PROG(PHP_CONFIG, php-config, php-config)
-+elif test -x "${with_php_config}"; then
-+ PHP_CONFIG=${with_php_config}
-+ AC_SUBST(PHP_CONFIG)
-+ AC_MSG_NOTICE([found ${PHP_CONFIG}])
-+fi
-
--AC_CHECK_PROG(PHP_CONFIG, php-config, php-config)
- if test "X$PHP_CONFIG" != X ; then
-+ PHP_VERSION=`${PHP_CONFIG} --version`
-+ PHP_INCLUDES=`${PHP_CONFIG} --includes`
-+ PHP_EXTENSION_DIR=`${PHP_CONFIG} --extension-dir`
-
-- PHP_VERSION=`$PHP_CONFIG --version`
-- PHP_INCLUDES=`$PHP_CONFIG --includes`
-- PHP_EXTENSION_DIR=`$PHP_CONFIG --extension-dir`
--
-- if test $PHP_VERSION '>' 5.0.0; then
-+ if test $PHP_VERSION '>' 7; then
-+ PHP_SWIG="-php7"
-+ elif test $PHP_VERSION '>' 5.0.0; then
- PHP_SWIG="-php5"
- else
- PHP_SWIG="-php4"
-@@ -200,6 +212,8 @@ if test "X$PHP_CONFIG" != X ; then
- AC_MSG_RESULT(compile '$PHP_CFLAGS' link '$PHP_LDFLAGS' suffix $PHP_SO_SUFFIX)
-
- else
-+ AC_MSG_WARN([php-config not found])
-+
- # This allows 'make clean' in the php directory to work when
- # php isn't available
- PHP=:
-@@ -445,13 +459,17 @@ if test "X$with_php" != Xno ; then
- with_php=yes
- fi
-
--PHP_VERSION=`php-config --version 2>/dev/null`
--if test "X$PHP_VERSION" != X; then
-- languages_available="$languages_available php($PHP_VERSION)"
-- if test $with_php = yes; then
-- languages="$languages php"
-+if test "X${PHP_VERSION}" != "X"; then
-+ languages_available="$languages_available php(${PHP_VERSION})"
-+fi
-+
-+if test ${with_php} = yes; then
-+ if test "X${PHP_VERSION}" = "X"; then
-+ AC_MSG_ERROR([Failed to detect PHP version])
- fi
-+ languages="$languages php"
- fi
-+
- AC_MSG_RESULT($with_php)
- AC_SUBST(PHP_VERSION)
-
diff --git a/dev-libs/redland-bindings/redland-bindings-1.0.17.1-r100.ebuild b/dev-libs/redland-bindings/redland-bindings-1.0.17.1-r100.ebuild
deleted file mode 100644
index 47cee2fee840..000000000000
--- a/dev-libs/redland-bindings/redland-bindings-1.0.17.1-r100.ebuild
+++ /dev/null
@@ -1,190 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-LUA_COMPAT=( lua5-{1..4} luajit )
-PYTHON_COMPAT=( python3_{7..9} )
-
-USE_PHP="php7-2 php7-3 php7-4"
-PHP_EXT_ECONF_ARGS="--with-php=yes --without-lua --without-perl --without-python --without-ruby"
-PHP_EXT_NAME="redland"
-PHP_EXT_OPTIONAL_USE="php"
-PHP_EXT_SKIP_PATCHES="yes"
-PHP_EXT_SKIP_PHPIZE="yes"
-
-inherit lua php-ext-source-r3 python-single-r1 autotools
-
-DESCRIPTION="Language bindings for Redland"
-HOMEPAGE="http://librdf.org/bindings/"
-SRC_URI="http://download.librdf.org/source/${P}.tar.gz"
-
-LICENSE="Apache-2.0 GPL-2 LGPL-2.1"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ppc ppc64 sparc x86 ~x86-linux"
-IUSE="lua perl python php ruby test"
-REQUIRED_USE="lua? ( ${LUA_REQUIRED_USE} )
- python? ( ${PYTHON_REQUIRED_USE} )"
-RESTRICT="!test? ( test )"
-
-BDEPEND="sys-apps/sed
- virtual/pkgconfig"
-
-RDEPEND=">=dev-libs/redland-1.0.14
- lua? ( ${LUA_DEPS} )
- perl? ( dev-lang/perl:= )
- python? ( ${PYTHON_DEPS} )
- ruby? ( dev-lang/ruby:* dev-ruby/log4r )
- php? (
- php_targets_php7-2? ( dev-lang/php:7.2[-threads] )
- php_targets_php7-3? ( dev-lang/php:7.3[-threads] )
- php_targets_php7-4? ( dev-lang/php:7.4[-threads] )
- )"
-
-DEPEND="${RDEPEND}
- >=dev-lang/swig-2
- test? (
- >=dev-libs/redland-1.0.14[berkdb]
- )"
-
-PATCHES=(
- "${FILESDIR}"/${P}-bool.patch
- "${FILESDIR}"/${PN}-1.0.17.1-php-config-r1.patch
- "${FILESDIR}"/${PN}-1.0.17.1-add-PHP7-support.patch
-)
-
-pkg_setup() {
- use python && python-single-r1_pkg_setup
-}
-
-src_prepare() {
- default
-
- eautoreconf
-
- # As of version 1.0.17.1, out-of-tree builds fail with:
- # "error: redland_wrap.c: No such file or directory",
- # have to copy the sources.
- use lua && lua_copy_sources
-
- use php && php-ext-source-r3_src_prepare
-}
-
-lua_src_configure() {
- pushd "${BUILD_DIR}" > /dev/null || die
-
- econf \
- --with-lua="${ELUA}" \
- --without-perl \
- --without-php \
- --without-python \
- --without-ruby
-
- popd > /dev/null || die
-}
-
-src_configure() {
- if use perl || use python || use ruby ; then
- econf \
- $(use_with lua) \
- $(use_with perl) \
- $(use_with python) \
- --without-php \
- $(use_with ruby)
- fi
-
- if use lua; then
- lua_foreach_impl lua_src_configure
- fi
-
- use php && php-ext-source-r3_src_configure
-}
-
-lua_src_compile() {
- pushd "${BUILD_DIR}" > /dev/null || die
-
- default_src_compile
-
- popd > /dev/null || die
-}
-
-src_compile() {
- if use perl || use python || use ruby ; then
- default
- fi
-
- if use lua; then
- lua_foreach_impl lua_src_compile
- fi
-
- use php && php-ext-source-r3_src_compile
-}
-
-lua_src_test() {
- pushd "${BUILD_DIR}" > /dev/null || die
-
- default_src_test
-
- popd > /dev/null || die
-}
-
-src_test() {
- if use perl || use python || use ruby ; then
- default
- fi
-
- if use lua; then
- lua_foreach_impl lua_src_test
- fi
-
- if use php ; then
- local slot
- for slot in $(php_get_slots) ; do
- php_init_slot_env "${slot}"
- cd php || die
- ${PHPCLI} -v
- ${PHPCLI} -d "extension=./${PHP_EXT_NAME}.so" -f test.php || die "PHP tests for ${slot} failed!"
- cd "${S}" || die
- done
- fi
-}
-
-lua_src_install() {
- pushd "${BUILD_DIR}" > /dev/null || die
-
- emake DESTDIR="${D}" INSTALLDIRS=vendor luadir="$(lua_get_cmod_dir)" install
-
- popd > /dev/null || die
-}
-
-src_install() {
- if use perl || use python || use ruby ; then
- emake DESTDIR="${D}" INSTALLDIRS=vendor install
- fi
-
- if use lua; then
- lua_foreach_impl lua_src_install
- fi
-
- if use perl; then
- find "${ED}" -type f -name perllocal.pod -delete
- find "${ED}" -depth -mindepth 1 -type d -empty -delete
- fi
-
- use python && python_optimize
-
- if use php; then
- local slot
- for slot in $(php_get_slots); do
- php_init_slot_env "${slot}"
- exeinto "${EXT_DIR#$EPREFIX}"
- doexe "php/${PHP_EXT_NAME}.so"
- done
-
- php-ext-source-r3_createinifiles
- fi
-
- local DOCS=( AUTHORS ChangeLog NEWS README TODO )
- local HTML_DOCS=( {NEWS,README,RELEASE,TODO}.html )
- einstalldocs
-}
diff --git a/dev-libs/redland-bindings/redland-bindings-1.0.17.1-r101.ebuild b/dev-libs/redland-bindings/redland-bindings-1.0.17.1-r101.ebuild
new file mode 100644
index 000000000000..d9633b1acd8a
--- /dev/null
+++ b/dev-libs/redland-bindings/redland-bindings-1.0.17.1-r101.ebuild
@@ -0,0 +1,147 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+LUA_COMPAT=( lua5-{1..4} luajit )
+PYTHON_COMPAT=( python3_{9..11} )
+
+inherit lua python-single-r1 autotools
+
+DESCRIPTION="Language bindings for Redland"
+HOMEPAGE="https://librdf.org/bindings/"
+SRC_URI="https://download.librdf.org/source/${P}.tar.gz"
+
+LICENSE="Apache-2.0 GPL-2 LGPL-2.1"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~ppc ppc64 sparc x86 ~x86-linux"
+IUSE="lua perl python ruby test"
+REQUIRED_USE="lua? ( ${LUA_REQUIRED_USE} )
+ python? ( ${PYTHON_REQUIRED_USE} )"
+RESTRICT="!test? ( test )"
+
+BDEPEND="virtual/pkgconfig"
+
+RDEPEND="dev-libs/redland
+ lua? ( ${LUA_DEPS} )
+ perl? ( dev-lang/perl:= )
+ python? ( ${PYTHON_DEPS} )
+ ruby? ( dev-lang/ruby:* dev-ruby/log4r )"
+
+DEPEND="${RDEPEND}
+ dev-lang/swig
+ test? (
+ dev-libs/redland[berkdb]
+ )"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-bool.patch
+)
+
+pkg_setup() {
+ use python && python-single-r1_pkg_setup
+}
+
+src_prepare() {
+ default
+
+ eautoreconf
+
+ # As of version 1.0.17.1, out-of-tree builds fail with:
+ # "error: redland_wrap.c: No such file or directory",
+ # have to copy the sources.
+ use lua && lua_copy_sources
+}
+
+lua_src_configure() {
+ pushd "${BUILD_DIR}" > /dev/null || die
+
+ econf \
+ --with-lua="${ELUA}" \
+ --without-perl \
+ --without-php \
+ --without-python \
+ --without-ruby
+
+ popd > /dev/null || die
+}
+
+src_configure() {
+ if use perl || use python || use ruby ; then
+ econf \
+ $(use_with lua) \
+ $(use_with perl) \
+ $(use_with python) \
+ --without-php \
+ $(use_with ruby)
+ fi
+
+ if use lua; then
+ lua_foreach_impl lua_src_configure
+ fi
+}
+
+lua_src_compile() {
+ pushd "${BUILD_DIR}" > /dev/null || die
+
+ default_src_compile
+
+ popd > /dev/null || die
+}
+
+src_compile() {
+ if use perl || use python || use ruby ; then
+ default
+ fi
+
+ if use lua; then
+ lua_foreach_impl lua_src_compile
+ fi
+}
+
+lua_src_test() {
+ pushd "${BUILD_DIR}" > /dev/null || die
+
+ default_src_test
+
+ popd > /dev/null || die
+}
+
+src_test() {
+ if use perl || use python || use ruby ; then
+ default
+ fi
+
+ if use lua; then
+ lua_foreach_impl lua_src_test
+ fi
+}
+
+lua_src_install() {
+ pushd "${BUILD_DIR}" > /dev/null || die
+
+ emake DESTDIR="${D}" INSTALLDIRS=vendor luadir="$(lua_get_cmod_dir)" install
+
+ popd > /dev/null || die
+}
+
+src_install() {
+ if use perl || use python || use ruby ; then
+ emake DESTDIR="${D}" INSTALLDIRS=vendor install
+ fi
+
+ if use lua; then
+ lua_foreach_impl lua_src_install
+ fi
+
+ if use perl; then
+ find "${ED}" -type f -name perllocal.pod -delete
+ find "${ED}" -depth -mindepth 1 -type d -empty -delete
+ fi
+
+ use python && python_optimize
+
+ local DOCS=( AUTHORS ChangeLog NEWS README TODO )
+ local HTML_DOCS=( {NEWS,README,RELEASE,TODO}.html )
+ einstalldocs
+}
diff --git a/dev-libs/redland/files/redland-1.0.17-ldflags-pc-leak.patch b/dev-libs/redland/files/redland-1.0.17-ldflags-pc-leak.patch
new file mode 100644
index 000000000000..6fbb121c29a7
--- /dev/null
+++ b/dev-libs/redland/files/redland-1.0.17-ldflags-pc-leak.patch
@@ -0,0 +1,24 @@
+From: Julian Ospald <hasufell@gentoo.org>
+Date: Thu May 2 14:25:04 UTC 2013
+Subject: ldflags have no place in pkgconfig files
+
+--- a/redland.pc.in
++++ b/redland.pc.in
+@@ -14,5 +14,5 @@
+ Requires.private: raptor2 >= @RAPTOR_MIN_VERSION@, rasqal >= @RASQAL_MIN_VERSION@, rasqal <= @RASQAL_MAX_VERSION@
+ Version: @VERSION@
+ Libs: -L${libdir} -lrdf
+-Libs.private: @LIBRDF_LDFLAGS@ @LIBRDF_PKGCONFIG_PRIVATE_LIBS@
++Libs.private: @LIBRDF_PKGCONFIG_PRIVATE_LIBS@
+ Cflags: -I${includedir}
+--- a/configure.ac
++++ b/configure.ac
+@@ -366,7 +366,7 @@
+ AC_MSG_RESULT($bdb_include_dir)
+
+ if test "$bdb_prefix" != no; then
+- nLDFLAGS=$LDFLAGS
++ nLDFLAGS=
+ nCPPFLAGS=
+
+ if test "$bdb_lib_dir" != /usr/lib; then
diff --git a/dev-libs/redland/redland-1.0.17-r2.ebuild b/dev-libs/redland/redland-1.0.17-r2.ebuild
deleted file mode 100644
index 598623f138bc..000000000000
--- a/dev-libs/redland/redland-1.0.17-r2.ebuild
+++ /dev/null
@@ -1,90 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-inherit db-use libtool
-
-DESCRIPTION="High-level interface for the Resource Description Framework"
-HOMEPAGE="http://librdf.org/"
-SRC_URI="http://download.librdf.org/source/${P}.tar.gz"
-
-LICENSE="Apache-2.0 GPL-2 LGPL-2.1"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ppc ppc64 ~riscv sparc x86 ~amd64-linux ~x86-linux"
-IUSE="berkdb iodbc mysql odbc postgres sqlite static-libs"
-
-RDEPEND="dev-libs/libltdl:0
- mysql? ( dev-db/mysql-connector-c:0= )
- sqlite? ( =dev-db/sqlite-3* )
- berkdb? ( sys-libs/db )
- >=media-libs/raptor-2.0.14
- >=dev-libs/rasqal-0.9.32
- postgres? ( dev-db/postgresql )
- iodbc? ( dev-db/libiodbc )
- odbc? ( dev-db/unixODBC )"
-DEPEND="${RDEPEND}
- virtual/pkgconfig"
-
-PATCHES=( "${FILESDIR}"/${PN}-1.0.17-mysql-8-my_bool.patch )
-
-MAKEOPTS="${MAKEOPTS} -j1" #500574, required for both src_compile() and src_install()
-
-src_prepare() {
- default
- elibtoolize # NOTE: this is for fbsd .so version
-}
-
-src_configure() {
- local myconf=( --without-virtuoso )
- if use iodbc; then
- myconf=( --with-virtuoso --with-iodbc --without-unixodbc )
- elif use odbc; then
- myconf=( --with-virtuoso --with-unixodbc --without-iodbc )
- fi
-
- if use berkdb; then
- myconf+=(
- --with-bdb-include="$(db_includedir)"
- --with-bdb-lib="${EPREFIX}"/usr/$(get_libdir)
- --with-bdb-dbname="$(db_libname)"
- )
- fi
-
- # FIXME: upstream doesn't test with --with-threads and testsuite fails
- econf \
- $(use_enable static-libs static) \
- $(use_with berkdb bdb) \
- $(use_with mysql) \
- $(use_with sqlite) \
- $(use_with postgres postgresql) \
- --without-threads \
- --with-html-dir="${EPREFIX}"/usr/share/doc/${PF}/html \
- "${myconf[@]}"
-}
-
-src_test() {
- if ! use berkdb; then
- export REDLAND_TEST_CLONING_STORAGE_TYPE=hashes
- export REDLAND_TEST_CLONING_STORAGE_NAME=test
- export REDLAND_TEST_CLONING_STORAGE_OPTIONS="hash-type='memory',dir='.',write='yes',new='yes',contexts='yes'"
- fi
- default
-}
-
-src_install() {
- default
- docinto html
- dodoc {FAQS,NEWS,README,RELEASE,TODO}.html
- find "${ED}" -name '*.la' -exec sed -i -e "/^dependency_libs/s:=.*:='':" {} +
-
- # !!! REMOVE THIS ON VERSION BUMP, see bug 468298 for proper fix !!!
- if [[ -n ${LDFLAGS} ]]; then
- sed -i \
- -e "s:${LDFLAGS} ::g" \
- "${ED}"/usr/$(get_libdir)/pkgconfig/${PN}.pc || die
- fi
-
- # https://bugs.gentoo.org/467768
- local _rdocdir=/usr/share/doc/${PF}/html/${PN}
- [[ -d ${ED}/${_rdocdir} ]] && dosym ${_rdocdir} /usr/share/gtk-doc/html/${PN}
-}
diff --git a/dev-libs/redland/redland-1.0.17-r3.ebuild b/dev-libs/redland/redland-1.0.17-r3.ebuild
new file mode 100644
index 000000000000..cb23383246a5
--- /dev/null
+++ b/dev-libs/redland/redland-1.0.17-r3.ebuild
@@ -0,0 +1,84 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit db-use libtool
+
+DESCRIPTION="High-level interface for the Resource Description Framework"
+HOMEPAGE="https://librdf.org/"
+SRC_URI="https://download.librdf.org/source/${P}.tar.gz"
+
+LICENSE="Apache-2.0 GPL-2 LGPL-2.1"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ppc ppc64 ~riscv sparc x86 ~amd64-linux ~x86-linux"
+IUSE="berkdb iodbc mysql odbc postgres sqlite"
+
+RDEPEND="
+ dev-libs/libltdl:0
+ mysql? ( dev-db/mysql-connector-c:0= )
+ sqlite? ( =dev-db/sqlite-3* )
+ berkdb? ( sys-libs/db:* )
+ >=media-libs/raptor-2.0.14
+ >=dev-libs/rasqal-0.9.32
+ postgres? ( dev-db/postgresql:* )
+ iodbc? ( dev-db/libiodbc )
+ odbc? ( dev-db/unixODBC )"
+DEPEND="${RDEPEND}"
+BDEPEND="virtual/pkgconfig"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-mysql-8-my_bool.patch
+ # bug 468298
+ "${FILESDIR}"/${P}-ldflags-pc-leak.patch
+)
+
+src_prepare() {
+ default
+ elibtoolize # NOTE: this is for fbsd .so version
+}
+
+src_configure() {
+ local myconf=( --without-virtuoso )
+ if use iodbc; then
+ myconf=( --with-virtuoso --with-iodbc --without-unixodbc )
+ elif use odbc; then
+ myconf=( --with-virtuoso --with-unixodbc --without-iodbc )
+ fi
+
+ if use berkdb; then
+ myconf+=(
+ --with-bdb-include="$(db_includedir)"
+ --with-bdb-lib="${ESYSROOT}"/usr/$(get_libdir)
+ --with-bdb-dbname="$(db_libname)"
+ )
+ fi
+
+ # FIXME: upstream doesn't test with --with-threads and testsuite fails
+ econf \
+ --cache-file="${S}"/config.cache \
+ $(use_with berkdb bdb) \
+ $(use_with mysql) \
+ $(use_with sqlite) \
+ $(use_with postgres postgresql) \
+ --without-threads \
+ --with-html-dir="${EPREFIX}"/usr/share/gtk-doc/html/ \
+ "${myconf[@]}"
+}
+
+src_test() {
+ if ! use berkdb; then
+ export REDLAND_TEST_CLONING_STORAGE_TYPE=hashes
+ export REDLAND_TEST_CLONING_STORAGE_NAME=test
+ export REDLAND_TEST_CLONING_STORAGE_OPTIONS="hash-type='memory',dir='.',write='yes',new='yes',contexts='yes'"
+ fi
+
+ default
+}
+
+src_install() {
+ HTML_DOCS=( {FAQS,NEWS,README,RELEASE,TODO}.html )
+ default
+
+ find "${ED}" -name '*.la' -delete || die
+}
diff --git a/dev-libs/rinutils/Manifest b/dev-libs/rinutils/Manifest
index 172d0bc8efc7..2dd7c8337c8c 100644
--- a/dev-libs/rinutils/Manifest
+++ b/dev-libs/rinutils/Manifest
@@ -1 +1,2 @@
DIST rinutils-0.10.0.tar.xz 17268 BLAKE2B 2c651b70295d10690ca76bf1349ce83728cd5398fe4babf821ee6a0d61d4c7d107c6c68595e19a841fb5baaa0057237357b3917acd61c02599781bf0252fd512 SHA512 d3780b34b4eda4658f65cf7555553430441fcd45fb2d4fdba22a8f48c0df09c6c0a4e9543262c797c0602e2f9bace2d3f41514ae202ee13183286c9fb1f38677
+DIST rinutils-0.10.2.tar.xz 19452 BLAKE2B 45345ab9cdefaa789856d312a1fb3e595e2be9701d0dc33ddc8f49b5b45caf4b1e1de6463a20245a841902b82bdeb6f0c7dcd8c89071159f1e85938537f41d0b SHA512 e2bc6304e84235947aa9aeb09fae0a27c10892ce547d59ab82569e2f03219a783a20c3bf7bd8a471464c2c07fe465eb8f2985e31d1f0e060da7d7bd832a67b67
diff --git a/dev-libs/rinutils/rinutils-0.10.2-r1.ebuild b/dev-libs/rinutils/rinutils-0.10.2-r1.ebuild
new file mode 100644
index 000000000000..e6ce2cce62ed
--- /dev/null
+++ b/dev-libs/rinutils/rinutils-0.10.2-r1.ebuild
@@ -0,0 +1,43 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+DESCRIPTION="Set of C headers containing macros and static functions"
+HOMEPAGE="https://www.shlomifish.org/open-source/projects/ https://github.com/shlomif/rinutils"
+SRC_URI="https://github.com/shlomif/${PN}/releases/download/${PV}/${P}.tar.xz"
+
+LICENSE="MIT"
+SLOT="0"
+IUSE="test"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc64 ~riscv ~sparc ~x86"
+RESTRICT="!test? ( test )"
+
+BDEPEND="
+ test? (
+ dev-perl/Env-Path
+ dev-perl/Path-Tiny
+ dev-perl/Inline
+ dev-perl/Inline-C
+ dev-perl/Test-TrailingSpace
+ dev-perl/Test-Differences
+ dev-perl/IO-All
+ dev-perl/Perl-Critic
+ dev-perl/Perl-Tidy
+ dev-perl/Test-Pod
+ dev-perl/Test-Pod-Coverage
+ dev-perl/Test-Trap
+ dev-util/cmocka
+ )
+"
+
+src_configure() {
+ local mycmakeargs=(
+ -DDISABLE_APPLYING_RPATH=OFF
+ -DWITH_TEST_SUITE=$(usex test ON OFF)
+ )
+
+ cmake_src_configure
+}
diff --git a/dev-libs/rinutils/rinutils-0.10.2.ebuild b/dev-libs/rinutils/rinutils-0.10.2.ebuild
new file mode 100644
index 000000000000..bc181a075736
--- /dev/null
+++ b/dev-libs/rinutils/rinutils-0.10.2.ebuild
@@ -0,0 +1,23 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+DESCRIPTION="Set of C headers containing macros and static functions"
+HOMEPAGE="https://www.shlomifish.org/open-source/projects/ https://github.com/shlomif/rinutils"
+SRC_URI="https://github.com/shlomif/${PN}/releases/download/${PV}/${P}.tar.xz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 arm arm64 hppa ~loong ~mips ppc64 ~riscv ~sparc x86"
+
+src_configure() {
+ local mycmakeargs=(
+ -DDISABLE_APPLYING_RPATH=OFF
+ -DWITH_TEST_SUITE=OFF # tests require perl
+ )
+
+ cmake_src_configure
+}
diff --git a/dev-libs/rlog/rlog-1.4.ebuild b/dev-libs/rlog/rlog-1.4.ebuild
index 1f58e0626556..e32a66b385df 100644
--- a/dev-libs/rlog/rlog-1.4.ebuild
+++ b/dev-libs/rlog/rlog-1.4.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,9 @@ SRC_URI="https://rlog.googlecode.com/files/${P}.tar.gz"
LICENSE="LGPL-2.1"
SLOT="0"
KEYWORDS="amd64 ~arm ~ppc sparc x86"
-IUSE=""
+IUSE="valgrind"
+
+DEPEND="valgrind? ( dev-debug/valgrind )"
PATCHES=(
"${FILESDIR}"/${PN}-1.3.7-gcc-4.3.patch
@@ -25,6 +27,10 @@ src_prepare() {
eautoreconf
}
+src_configure() {
+ econf $(use_enable valgrind)
+}
+
src_install() {
default
diff --git a/dev-libs/rocclr/Manifest b/dev-libs/rocclr/Manifest
deleted file mode 100644
index e936f2145bc2..000000000000
--- a/dev-libs/rocclr/Manifest
+++ /dev/null
@@ -1,14 +0,0 @@
-DIST rocclr-3.10.0.tar.gz 813435 BLAKE2B c49f84d1ea62f14436bb6d24ad950427b353662d0a1e998953c14cb3a5bc7da6e754f04da9357c104a1b0d8ca3a616375ad6f875a704bd3cc5d5b6806f3f249e SHA512 d367777ab47063e53e768b5f16cda61b787a47a9946f6995f4f3e3e5e441737076a609a3aebb15187138a819c97ee0bd59b9476f8a27908b03d0d7c5871eba86
-DIST rocclr-3.8.0.tar.gz 882055 BLAKE2B 12b62d2316f3f2886f656c8fcca946735e262e850d49ef8cdb21dc984eba121d9c37250209696b2945f80be363c8244a66c3da91bc26f8c65405b27625b9538e SHA512 79bbaa628815620824fdf320451d729f630949a0e7cb35e2eca638a93f4788175759f68666a1cae6c1320458692c145a0c577739386681d2299c887420400edb
-DIST rocclr-3.9.0.tar.gz 811081 BLAKE2B 7c3131adcc820a7f331ddd178cd06eb8f3a22dfc85e9634906e60d7cd1b5b1ac3f0ac0327a815139901c8e2d40f74e8b7c84c761a2aecb2c63812559528ebf13 SHA512 211bc0e8008cdaeabe9e9d51f22d939f4f9703d546e6602e59286027c439ee996c44f805154bb31bedc4916ef810e4cffd9b91f054baa76db4a8945b03b07a73
-DIST rocclr-4.0.0.tar.gz 813510 BLAKE2B b9043c6f2725bd8d1769669db522cfa8ece40d83f36dc0e79662137b285a6e89952693d55e5b241144aa7412fa31192c3aafa74ee8d498f02f9a0cffaec7de92 SHA512 81e64af843720efefd24478f65c2a8d9dafc55eb94e9c4865d7fc3e9fa15371570ed54882e3086dcb20f16487bf24bdde0d65c76c07195d854ed51895aad06b8
-DIST rocclr-4.1.0.tar.gz 823082 BLAKE2B 69631f72124d8c7888576963b964b7971304593c1a231f6ea69940ff818b095676e1fef030efcddc4dc89c5e3768413e8e4832a0a95424a042b8df73d0b059e3 SHA512 1c82399d3eda8ebd11609272e756e45565a8c1ebb1354ecf44cf443bfc38a61af9210c6609d346d464e977407f07363da36e8c5ab89faeba3e11bfdc78bc32b3
-DIST rocclr-4.2.0.tar.gz 836337 BLAKE2B 8eefe1db6e16b90ff64069159698a1d4960c6436a9a11ac84a890d572faae6583b998af100f168ce8bb06b0c8094d01c446874edc75de93c7d3b55f8329cbd71 SHA512 33cc61e2f179805567d38b606489394a67f5d43a2cab92baddc14e44992379e3a5a0226e84c6ec6eda59ccbaf999b5d27c52b9da106d0e08fa6d26c38c0885c0
-DIST rocclr-4.3.0.tar.gz 838454 BLAKE2B 957cefd63fdb2facfbbb2e638c80137b78403ec9d162ca057f09582c0566c281db2875649f2d360790186659b0c688f399fbd4dc3e97bf07e23de7e9fb6fab56 SHA512 b0696ccd3dcb9976fa6d78b65b7b90273fc07f0dfaf40487521340c611ee2aaf739bf34e257e79f70cbf6a8c7e80227f96eea1de090f4517940c28b96e794c9a
-DIST rocm-opencl-runtime-3.10.0.tar.gz 1004148 BLAKE2B 3d2539d24f8b3fd039424d606ebe36d7d8d1db2425f646d093a1a48d95c1c8b1c20821674fc628e622c2a5e7cbb30547805c3b84af16ad53f860f1064efa572b SHA512 121d0f310b4b235adf5f34dbf1989016b4c875bb47779b18d35fd9fab01c2118d1860e520cc6202a6fc3405b4c7897f491f611193c992cc25fe48e12bdd9f83f
-DIST rocm-opencl-runtime-3.8.0.tar.gz 1004339 BLAKE2B 966a5bd1d4d188004b15fe4263f2c18f6dad6a07f4bc264a5afa010f6035fbf73288966cd624e6e31e1ba584ba322d93343e3482177e6480c4a57a4150546f5a SHA512 bb4e3568e32bf6acc3c4812d7db169396a01bf90d079dc420ffb7df4bd4146d39938e76e9b386548fe64276bbf938a545c898de599113f20cc73ae98268c3d6a
-DIST rocm-opencl-runtime-3.9.0.tar.gz 1004372 BLAKE2B f5485dfbc615826214e1071485636e94bc83d12d4412da912455cb0ddd39ede3429a749a16428cb3c10775e652ffbe31a63ad00b3ea38a7fa43a120776a12bfe SHA512 e8149e99a7116a2c2af0d04dde55290c35dd5c6c26d95da8c8a04fcfccdb23f6617ab8348f9fc201b6d9fde7202de4ede480d7ac547ae2471c6ae10897e1795e
-DIST rocm-opencl-runtime-4.0.0.tar.gz 1004149 BLAKE2B a41ca63bdac1930599fd808d0a5609dd4c0d475ba5fd6278a6c201e1ac72867a587d1ac6fa7d7a18a29ab708dd14b24abddd1326e1489e6aaa82d4b26be5f2f5 SHA512 913a135d693c133e17e6b3abaecac46a4fbeb5683ed7cf04060e04bec5f37d4ba5dd5ff4b357b8304142346dbde8acd3ddfdc1028f788550e0ca245f7ce665ea
-DIST rocm-opencl-runtime-4.1.0.tar.gz 1005255 BLAKE2B 5833cc4bae3ecd5c9a3f601334424d03596bfe798bfc7c11ffa9d66b23d36f3fe6cfb1dbfd38c208a63ba824d6c5634f69448ace29ada6728c8ef544afcf1c0e SHA512 228c1bb337778b32c86d645fb874d03e9d6ee39ebfad23c813c0b2221a0421225aca63b2526d60c34d84f64147daad3e9324c2063db4b112aa30250359babbd2
-DIST rocm-opencl-runtime-4.2.0.tar.gz 1005604 BLAKE2B 09e100081295e8c3da1f8b6b4371d372bcde8dade66ba2718111044364ab6a9cf1c598bd650c57670759def20aa7e638c5ecfe2076191b51a76d68e57b536605 SHA512 49b07a07949506dfd74a047d01a0bd9e2f719f6a618b4e4786861f9d59a77ddf15e06e1d13e6bda08866e096f5bd73be8656eae3ad9806661149d20cfdd68566
-DIST rocm-opencl-runtime-4.3.0.tar.gz 1006792 BLAKE2B 29fd5843bb0153c7d3fe5250898f0fbdd089db6304122698c9ec9a5436e3a6845916f241f1a1e79a614e369f000297ac12413620edec0660d859ccddaa978d07 SHA512 a514d626700350f2c663db468427479eaa9e39dd912266ac2db6830d712351ffbc18737b208fd37f7ab5afdc2c9f6412d8d765973d6c72759bf51f864fc6bf1d
diff --git a/dev-libs/rocclr/files/rocclr-3.7.0-cmake-install-destination.patch b/dev-libs/rocclr/files/rocclr-3.7.0-cmake-install-destination.patch
deleted file mode 100644
index 3629fc71b3b3..000000000000
--- a/dev-libs/rocclr/files/rocclr-3.7.0-cmake-install-destination.patch
+++ /dev/null
@@ -1,52 +0,0 @@
---- a/CMakeLists.txt 2020-08-22 23:59:26.674785914 +0200
-+++ b/CMakeLists.txt 2020-08-23 00:01:18.491783097 +0200
-@@ -253,8 +253,8 @@
-
- install( TARGETS amdrocclr_static
- EXPORT rocclr
-- ARCHIVE DESTINATION lib
-- LIBRARY DESTINATION lib
-+ ARCHIVE DESTINATION lib64
-+ LIBRARY DESTINATION lib64
- COMPONENT applications)
-
- install (
-@@ -262,31 +262,31 @@
- DESTINATION include)
- install (
- DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/elf"
-- DESTINATION include
-+ DESTINATION include/rocclr
- FILES_MATCHING PATTERN "*.h*")
- install (
- DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/compiler"
-- DESTINATION include
-+ DESTINATION include/rocclr
- FILES_MATCHING PATTERN "*.h*")
- install (
- DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/utils"
-- DESTINATION include
-+ DESTINATION include/rocclr
- FILES_MATCHING PATTERN "*.h*")
- install (
- DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/platform"
-- DESTINATION include
-+ DESTINATION include/rocclr
- FILES_MATCHING PATTERN "*.h*")
- install (
- DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/thread"
-- DESTINATION include
-+ DESTINATION include/rocclr
- FILES_MATCHING PATTERN "*.h*")
- install (
- DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/os"
-- DESTINATION include
-+ DESTINATION include/rocclr
- FILES_MATCHING PATTERN "*.h*")
- install (
- DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/device"
-- DESTINATION include
-+ DESTINATION include/rocclr
- FILES_MATCHING PATTERN "*.h*")
-
- # Generate the install-tree package.
diff --git a/dev-libs/rocclr/metadata.xml b/dev-libs/rocclr/metadata.xml
deleted file mode 100644
index 16939a003750..000000000000
--- a/dev-libs/rocclr/metadata.xml
+++ /dev/null
@@ -1,15 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="person">
- <email>candrews@gentoo.org</email>
- <name>Craig Andrews</name>
- </maintainer>
- <maintainer type="person" proxied="yes">
- <email>gentoo@holzke.net</email>
- <name>Wilfried Holzke</name>
- </maintainer>
- <upstream>
- <remote-id type="github">ROCm-Developer-Tools/ROCclr</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/dev-libs/rocclr/rocclr-3.10.0.ebuild b/dev-libs/rocclr/rocclr-3.10.0.ebuild
deleted file mode 100644
index ffa5203065d2..000000000000
--- a/dev-libs/rocclr/rocclr-3.10.0.ebuild
+++ /dev/null
@@ -1,44 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit cmake
-
-DESCRIPTION="Radeon Open Compute Common Language Runtime"
-HOMEPAGE="https://github.com/ROCm-Developer-Tools/ROCclr"
-SRC_URI="https://github.com/ROCm-Developer-Tools/ROCclr/archive/rocm-${PV}.tar.gz -> ${P}.tar.gz
- https://github.com/RadeonOpenCompute/ROCm-OpenCL-Runtime/archive/rocm-${PV}.tar.gz -> rocm-opencl-runtime-${PV}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0/$(ver_cut 1-2)"
-KEYWORDS="~amd64"
-
-RDEPEND=">=dev-libs/rocm-comgr-${PV}
- >=dev-libs/rocr-runtime-${PV}"
-DEPEND="${RDEPEND}
- >=dev-libs/rocm-comgr-${PV}
- virtual/opengl
- >=dev-util/rocm-cmake-${PV}"
-
-PATCHES=(
- "${FILESDIR}/rocclr-3.7.0-cmake-install-destination.patch"
-)
-
-S="${WORKDIR}/ROCclr-rocm-${PV}"
-
-src_configure() {
- local mycmakeargs=(
- -DUSE_COMGR_LIBRARY=YES
- -DOPENCL_DIR="${WORKDIR}/ROCm-OpenCL-Runtime-rocm-${PV}"
- -DCMAKE_INSTALL_PREFIX="/usr"
- )
- cmake_src_configure
-}
-
-src_install() {
- cmake_src_install
-
- # This should be fixed in the CMakeLists.txt
- sed -e "s:${BUILD_DIR}:${EPREFIX}/usr:" -i "${D}/usr/lib/cmake/rocclr/ROCclrConfig.cmake" || die
-}
diff --git a/dev-libs/rocclr/rocclr-3.8.0.ebuild b/dev-libs/rocclr/rocclr-3.8.0.ebuild
deleted file mode 100644
index ffa5203065d2..000000000000
--- a/dev-libs/rocclr/rocclr-3.8.0.ebuild
+++ /dev/null
@@ -1,44 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit cmake
-
-DESCRIPTION="Radeon Open Compute Common Language Runtime"
-HOMEPAGE="https://github.com/ROCm-Developer-Tools/ROCclr"
-SRC_URI="https://github.com/ROCm-Developer-Tools/ROCclr/archive/rocm-${PV}.tar.gz -> ${P}.tar.gz
- https://github.com/RadeonOpenCompute/ROCm-OpenCL-Runtime/archive/rocm-${PV}.tar.gz -> rocm-opencl-runtime-${PV}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0/$(ver_cut 1-2)"
-KEYWORDS="~amd64"
-
-RDEPEND=">=dev-libs/rocm-comgr-${PV}
- >=dev-libs/rocr-runtime-${PV}"
-DEPEND="${RDEPEND}
- >=dev-libs/rocm-comgr-${PV}
- virtual/opengl
- >=dev-util/rocm-cmake-${PV}"
-
-PATCHES=(
- "${FILESDIR}/rocclr-3.7.0-cmake-install-destination.patch"
-)
-
-S="${WORKDIR}/ROCclr-rocm-${PV}"
-
-src_configure() {
- local mycmakeargs=(
- -DUSE_COMGR_LIBRARY=YES
- -DOPENCL_DIR="${WORKDIR}/ROCm-OpenCL-Runtime-rocm-${PV}"
- -DCMAKE_INSTALL_PREFIX="/usr"
- )
- cmake_src_configure
-}
-
-src_install() {
- cmake_src_install
-
- # This should be fixed in the CMakeLists.txt
- sed -e "s:${BUILD_DIR}:${EPREFIX}/usr:" -i "${D}/usr/lib/cmake/rocclr/ROCclrConfig.cmake" || die
-}
diff --git a/dev-libs/rocclr/rocclr-3.9.0.ebuild b/dev-libs/rocclr/rocclr-3.9.0.ebuild
deleted file mode 100644
index ffa5203065d2..000000000000
--- a/dev-libs/rocclr/rocclr-3.9.0.ebuild
+++ /dev/null
@@ -1,44 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit cmake
-
-DESCRIPTION="Radeon Open Compute Common Language Runtime"
-HOMEPAGE="https://github.com/ROCm-Developer-Tools/ROCclr"
-SRC_URI="https://github.com/ROCm-Developer-Tools/ROCclr/archive/rocm-${PV}.tar.gz -> ${P}.tar.gz
- https://github.com/RadeonOpenCompute/ROCm-OpenCL-Runtime/archive/rocm-${PV}.tar.gz -> rocm-opencl-runtime-${PV}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0/$(ver_cut 1-2)"
-KEYWORDS="~amd64"
-
-RDEPEND=">=dev-libs/rocm-comgr-${PV}
- >=dev-libs/rocr-runtime-${PV}"
-DEPEND="${RDEPEND}
- >=dev-libs/rocm-comgr-${PV}
- virtual/opengl
- >=dev-util/rocm-cmake-${PV}"
-
-PATCHES=(
- "${FILESDIR}/rocclr-3.7.0-cmake-install-destination.patch"
-)
-
-S="${WORKDIR}/ROCclr-rocm-${PV}"
-
-src_configure() {
- local mycmakeargs=(
- -DUSE_COMGR_LIBRARY=YES
- -DOPENCL_DIR="${WORKDIR}/ROCm-OpenCL-Runtime-rocm-${PV}"
- -DCMAKE_INSTALL_PREFIX="/usr"
- )
- cmake_src_configure
-}
-
-src_install() {
- cmake_src_install
-
- # This should be fixed in the CMakeLists.txt
- sed -e "s:${BUILD_DIR}:${EPREFIX}/usr:" -i "${D}/usr/lib/cmake/rocclr/ROCclrConfig.cmake" || die
-}
diff --git a/dev-libs/rocclr/rocclr-4.0.0.ebuild b/dev-libs/rocclr/rocclr-4.0.0.ebuild
deleted file mode 100644
index 14d12c5c2f5d..000000000000
--- a/dev-libs/rocclr/rocclr-4.0.0.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 cmake
-
-DESCRIPTION="Radeon Open Compute Common Language Runtime"
-HOMEPAGE="https://github.com/ROCm-Developer-Tools/ROCclr"
-SRC_URI="https://github.com/ROCm-Developer-Tools/ROCclr/archive/rocm-${PV}.tar.gz -> ${P}.tar.gz
- https://github.com/RadeonOpenCompute/ROCm-OpenCL-Runtime/archive/rocm-${PV}.tar.gz -> rocm-opencl-runtime-${PV}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0/$(ver_cut 1-2)"
-KEYWORDS="~amd64"
-
-RDEPEND=">=dev-libs/rocm-comgr-${PV}
- >=dev-libs/rocr-runtime-${PV}"
-DEPEND="${RDEPEND}
- >=dev-libs/rocm-comgr-${PV}
- virtual/opengl
- >=dev-util/rocm-cmake-${PV}"
-
-PATCHES=(
- "${FILESDIR}/rocclr-3.7.0-cmake-install-destination.patch"
-)
-
-S="${WORKDIR}/ROCclr-rocm-${PV}"
-
-src_configure() {
- local mycmakeargs=(
- -DUSE_COMGR_LIBRARY=YES
- -DOPENCL_DIR="${WORKDIR}/ROCm-OpenCL-Runtime-rocm-${PV}"
- -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr"
- )
- cmake_src_configure
-}
-
-src_install() {
- cmake_src_install
-
- # This should be fixed in the CMakeLists.txt
- sed -e "s:${BUILD_DIR}:${EPREFIX}/usr:" -i "${ED}/usr/lib/cmake/rocclr/ROCclrConfig.cmake" || die
-}
diff --git a/dev-libs/rocclr/rocclr-4.1.0.ebuild b/dev-libs/rocclr/rocclr-4.1.0.ebuild
deleted file mode 100644
index 14d12c5c2f5d..000000000000
--- a/dev-libs/rocclr/rocclr-4.1.0.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 cmake
-
-DESCRIPTION="Radeon Open Compute Common Language Runtime"
-HOMEPAGE="https://github.com/ROCm-Developer-Tools/ROCclr"
-SRC_URI="https://github.com/ROCm-Developer-Tools/ROCclr/archive/rocm-${PV}.tar.gz -> ${P}.tar.gz
- https://github.com/RadeonOpenCompute/ROCm-OpenCL-Runtime/archive/rocm-${PV}.tar.gz -> rocm-opencl-runtime-${PV}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0/$(ver_cut 1-2)"
-KEYWORDS="~amd64"
-
-RDEPEND=">=dev-libs/rocm-comgr-${PV}
- >=dev-libs/rocr-runtime-${PV}"
-DEPEND="${RDEPEND}
- >=dev-libs/rocm-comgr-${PV}
- virtual/opengl
- >=dev-util/rocm-cmake-${PV}"
-
-PATCHES=(
- "${FILESDIR}/rocclr-3.7.0-cmake-install-destination.patch"
-)
-
-S="${WORKDIR}/ROCclr-rocm-${PV}"
-
-src_configure() {
- local mycmakeargs=(
- -DUSE_COMGR_LIBRARY=YES
- -DOPENCL_DIR="${WORKDIR}/ROCm-OpenCL-Runtime-rocm-${PV}"
- -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr"
- )
- cmake_src_configure
-}
-
-src_install() {
- cmake_src_install
-
- # This should be fixed in the CMakeLists.txt
- sed -e "s:${BUILD_DIR}:${EPREFIX}/usr:" -i "${ED}/usr/lib/cmake/rocclr/ROCclrConfig.cmake" || die
-}
diff --git a/dev-libs/rocclr/rocclr-4.2.0.ebuild b/dev-libs/rocclr/rocclr-4.2.0.ebuild
deleted file mode 100644
index 14d12c5c2f5d..000000000000
--- a/dev-libs/rocclr/rocclr-4.2.0.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 cmake
-
-DESCRIPTION="Radeon Open Compute Common Language Runtime"
-HOMEPAGE="https://github.com/ROCm-Developer-Tools/ROCclr"
-SRC_URI="https://github.com/ROCm-Developer-Tools/ROCclr/archive/rocm-${PV}.tar.gz -> ${P}.tar.gz
- https://github.com/RadeonOpenCompute/ROCm-OpenCL-Runtime/archive/rocm-${PV}.tar.gz -> rocm-opencl-runtime-${PV}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0/$(ver_cut 1-2)"
-KEYWORDS="~amd64"
-
-RDEPEND=">=dev-libs/rocm-comgr-${PV}
- >=dev-libs/rocr-runtime-${PV}"
-DEPEND="${RDEPEND}
- >=dev-libs/rocm-comgr-${PV}
- virtual/opengl
- >=dev-util/rocm-cmake-${PV}"
-
-PATCHES=(
- "${FILESDIR}/rocclr-3.7.0-cmake-install-destination.patch"
-)
-
-S="${WORKDIR}/ROCclr-rocm-${PV}"
-
-src_configure() {
- local mycmakeargs=(
- -DUSE_COMGR_LIBRARY=YES
- -DOPENCL_DIR="${WORKDIR}/ROCm-OpenCL-Runtime-rocm-${PV}"
- -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr"
- )
- cmake_src_configure
-}
-
-src_install() {
- cmake_src_install
-
- # This should be fixed in the CMakeLists.txt
- sed -e "s:${BUILD_DIR}:${EPREFIX}/usr:" -i "${ED}/usr/lib/cmake/rocclr/ROCclrConfig.cmake" || die
-}
diff --git a/dev-libs/rocclr/rocclr-4.3.0.ebuild b/dev-libs/rocclr/rocclr-4.3.0.ebuild
deleted file mode 100644
index 95a3dce4b948..000000000000
--- a/dev-libs/rocclr/rocclr-4.3.0.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="Radeon Open Compute Common Language Runtime"
-HOMEPAGE="https://github.com/ROCm-Developer-Tools/ROCclr"
-SRC_URI="https://github.com/ROCm-Developer-Tools/ROCclr/archive/rocm-${PV}.tar.gz -> ${P}.tar.gz
- https://github.com/RadeonOpenCompute/ROCm-OpenCL-Runtime/archive/rocm-${PV}.tar.gz -> rocm-opencl-runtime-${PV}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0/$(ver_cut 1-2)"
-KEYWORDS="~amd64"
-
-RDEPEND="dev-libs/rocm-comgr:${SLOT}
- dev-libs/rocr-runtime:${SLOT}"
-DEPEND="${RDEPEND}
- virtual/opengl
- dev-util/rocm-cmake:${SLOT}"
-
-PATCHES=(
- "${FILESDIR}/rocclr-3.7.0-cmake-install-destination.patch"
-)
-
-S="${WORKDIR}/ROCclr-rocm-${PV}"
-
-src_configure() {
- local mycmakeargs=(
- -DUSE_COMGR_LIBRARY=YES
- -DOPENCL_DIR="${WORKDIR}/ROCm-OpenCL-Runtime-rocm-${PV}"
- -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr"
- )
- cmake_src_configure
-}
diff --git a/dev-libs/rocksdb/Manifest b/dev-libs/rocksdb/Manifest
index b684fdd63187..0ef85aec8497 100644
--- a/dev-libs/rocksdb/Manifest
+++ b/dev-libs/rocksdb/Manifest
@@ -1,3 +1,4 @@
DIST rocksdb-6.14.6.tar.gz 6397194 BLAKE2B 43ad8e7e9fdf0c6c75ff03370f2107899bbcef9fd34630c85408abcf208a8213f5e24ea50407bd6a719220b6c29b9ba29c121e94a5a2701f637b17ccf50b90a4 SHA512 609f407b0b2810954541ad8ebad5c754ebfde5021f24ee4b3f1544a5335252c06cbe2b282562e3d084bb9cbe8de239668fdedb2d2d726056c31cf9463db08fe7
-DIST rocksdb-6.15.5.tar.gz 6501252 BLAKE2B f85c6b54043019692a7174e41b69625650d072ee4de1f2850628854af4b5672ff7072ab5c41de84bca9ad0713a1eea7ad7c5cca5ba9b3b96c4bd492a01b5e859 SHA512 c0918fd48bc1e57be9e30452c5cd0c2ba627a15012ab6922404d6cddffdf80799e4442b14d03cbe13a9a9acbdf1736c505cc6f5406efefbf68aba71ec05cf5f0
-DIST rocksdb-6.17.3.tar.gz 6651009 BLAKE2B c032bdf61d93a35e84c65146ad6d1f8639e9f36a323c142fe4131b501051bfb9c4c4edb13b69c86e35740117029996bb4c94887ea690d1957926bdfd347c744a SHA512 085adab94b7eb22859b4119b0356f148231800413571e932a7248967b1866d40a0be4b8265f2a9c6c21c600d3b2254c36e64ce7851171ff7c439a17306a84981
+DIST rocksdb-7.9.2.tar.gz 12058713 BLAKE2B 76a840565fccdc800eaad055da7698f7a5fc6e217187e078d60420c61cde1236c427cc4ae7d557c69ee5c358cd1ebc7fc4ed52063c04965fcc2c3c35774e9f59 SHA512 9cf2a359cedb21ca70fc921e54f19c406fd9aa2a739ad1627842fad2dec0e7dedbfe52aa8e85fbfbe7005c00ca1e7e7013f728d4d9938f3cebdf794504b431cb
+DIST rocksdb-8.10.0.tar.gz 13316582 BLAKE2B 63f5a13c285dcc830d9d31623435af5d8385a1ecad2b4bbf433cdc9f1e8032218a24f06220199fab4deb385d3964890fc5de6bfdbadd5cd304826aeca600b246 SHA512 524e3e70ed2b1d2e6c61a7b401946e50473cc95684ce4efc6250062f5bc945e443e96f7907fcc3ee1ab98c71179a8b56a654383cf2c0bbe1bb20907ab1ac7523
+DIST rocksdb-8.11.3.tar.gz 13345436 BLAKE2B 8d8069c030ee345090ebec15528342d776d7a74d6b72808a054511aad169acaa89c5fee530e73b3faba9152aadc4d26f1edc4586e31ddf5501d2899b5d6500ec SHA512 df701e8f3a94efe351c5dfec691635b6cff9b5902e8d5bd714caa7389bbbfd8ce7f7e91f1549978b47b934449fb3b77581dfcc2811a7727be049709a330ca71e
diff --git a/dev-libs/rocksdb/files/rocksdb-6.14.6-gcc13.patch b/dev-libs/rocksdb/files/rocksdb-6.14.6-gcc13.patch
new file mode 100644
index 000000000000..384c241bc2b8
--- /dev/null
+++ b/dev-libs/rocksdb/files/rocksdb-6.14.6-gcc13.patch
@@ -0,0 +1,51 @@
+https://bugs.gentoo.org/895358
+--- a/db/compaction/compaction_iteration_stats.h
++++ b/db/compaction/compaction_iteration_stats.h
+@@ -5,6 +5,7 @@
+
+ #pragma once
+
++#include <cstdint>
+ #include "rocksdb/rocksdb_namespace.h"
+
+ struct CompactionIterationStats {
+--- a/include/rocksdb/utilities/checkpoint.h
++++ b/include/rocksdb/utilities/checkpoint.h
+@@ -8,6 +8,7 @@
+ #pragma once
+ #ifndef ROCKSDB_LITE
+
++#include <cstdint>
+ #include <string>
+ #include <vector>
+ #include "rocksdb/status.h"
+--- a/table/block_based/data_block_hash_index.h
++++ b/table/block_based/data_block_hash_index.h
+@@ -5,6 +5,7 @@
+
+ #pragma once
+
++#include <cstdint>
+ #include <string>
+ #include <vector>
+
+--- a/third-party/folly/folly/synchronization/detail/ProxyLockable-inl.h
++++ b/third-party/folly/folly/synchronization/detail/ProxyLockable-inl.h
+@@ -13,6 +13,7 @@
+ #include <memory>
+ #include <mutex>
+ #include <stdexcept>
++#include <system_error>
+ #include <utility>
+
+ namespace folly {
+--- a/util/string_util.h
++++ b/util/string_util.h
+@@ -6,6 +6,7 @@
+
+ #pragma once
+
++#include <cstdint>
+ #include <sstream>
+ #include <string>
+ #include <unordered_map>
diff --git a/dev-libs/rocksdb/files/rocksdb-6.14.6-libatomic.patch b/dev-libs/rocksdb/files/rocksdb-6.14.6-libatomic.patch
deleted file mode 100644
index 27f17aab8933..000000000000
--- a/dev-libs/rocksdb/files/rocksdb-6.14.6-libatomic.patch
+++ /dev/null
@@ -1,105 +0,0 @@
-From 38d79de10da65d234c70cbb36c24c58d189f76db Mon Sep 17 00:00:00 2001
-From: mrambacher <mrambach@gmail.com>
-Date: Mon, 12 Apr 2021 20:06:57 -0400
-Subject: [PATCH 1/3] Add check to cmake to see if we need to link against
- -latomic
-
-For some compilers/environments (e.g. Clang, riscv64), we need to link against -latomic. Check if this is a requirement and add the library to the third-party libs if it is.
----
- CMakeLists.txt | 21 ++++++++++++++++++++-
- 1 file changed, 20 insertions(+), 1 deletion(-)
-
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 984c6197cb..460d350054 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -312,7 +312,6 @@ int main() {
- auto d = _mm_cvtsi128_si64(c);
- }
- " HAVE_SSE42)
--unset(CMAKE_REQUIRED_FLAGS)
- if(HAVE_SSE42)
- add_definitions(-DHAVE_SSE42)
- add_definitions(-DHAVE_PCLMUL)
-@@ -320,6 +319,26 @@ elseif(FORCE_SSE42)
- message(FATAL_ERROR "FORCE_SSE42=ON but unable to compile with SSE4.2 enabled")
- endif()
-
-+# Check if -latomic is required or not
-+if (NOT MSVC)
-+ set(CMAKE_REQUIRED_FLAGS "--std=c++11")
-+ CHECK_CXX_SOURCE_COMPILES("
-+#include <atomic>
-+std::atomic<uint64_t> x(0);
-+int main() {
-+ uint64_t i = x.load(std::memory_order_relaxed);
-+ bool b = x.is_lock_free();
-+ return 0;
-+}
-+" BUILTIN_ATOMIC)
-+if (NOT BUILTIN_ATOMIC)
-+ #TODO: Check if -latomic exists
-+ list(APPEND THIRDPARTY_LIBS atomic)
-+endif()
-+endif()
-+
-+unset(CMAKE_REQUIRED_FLAGS)
-+
- CHECK_CXX_SOURCE_COMPILES("
- #if defined(_MSC_VER) && !defined(__thread)
- #define __thread __declspec(thread)
-
-From df7fdd69ac19f26601a80e35f70ec51913838a6e Mon Sep 17 00:00:00 2001
-From: mrambacher <mrambach@gmail.com>
-Date: Wed, 14 Apr 2021 10:33:47 -0400
-Subject: [PATCH 2/3] Reset CMAKE_REQUIRED_FLAGS after compilation checks
-
----
- CMakeLists.txt | 4 +++-
- 1 file changed, 3 insertions(+), 1 deletion(-)
-
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 460d350054..5d167855a7 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -296,6 +296,7 @@ else()
- endif()
-
- include(CheckCXXSourceCompiles)
-+set(OLD_CMAKE_REQUIRED_FLAGS ${CMAKE_REQUIRED_FLAGS})
- if(NOT MSVC)
- set(CMAKE_REQUIRED_FLAGS "-msse4.2 -mpclmul")
- endif()
-@@ -337,7 +338,8 @@ if (NOT BUILTIN_ATOMIC)
- endif()
- endif()
-
--unset(CMAKE_REQUIRED_FLAGS)
-+# Reset the required flags
-+set(CMAKE_REQUIRED_FLAGS ${OLD_CMAKE_REQUIRED_FLAGS})
-
- CHECK_CXX_SOURCE_COMPILES("
- #if defined(_MSC_VER) && !defined(__thread)
-
-From 4793c5c75351d5d7c609c27d0243c2138729c7b0 Mon Sep 17 00:00:00 2001
-From: mrambacher <mrambach@gmail.com>
-Date: Fri, 16 Apr 2021 08:53:48 -0400
-Subject: [PATCH 3/3] Fix lint warning
-
----
- CMakeLists.txt | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 5d167855a7..558b985073 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -333,7 +333,7 @@ int main() {
- }
- " BUILTIN_ATOMIC)
- if (NOT BUILTIN_ATOMIC)
-- #TODO: Check if -latomic exists
-+ #TODO: Check if -latomic exists
- list(APPEND THIRDPARTY_LIBS atomic)
- endif()
- endif()
diff --git a/dev-libs/rocksdb/files/rocksdb-6.17.3-libatomic.patch b/dev-libs/rocksdb/files/rocksdb-6.17.3-libatomic.patch
new file mode 100644
index 000000000000..56cc674d09a4
--- /dev/null
+++ b/dev-libs/rocksdb/files/rocksdb-6.17.3-libatomic.patch
@@ -0,0 +1,71 @@
+Fixes check for atomics.
+
+The upstream currently does not have checks for atomics in v6.17.3.
+However, since v6.22.1, rocksdb includes checks similar/identical to
+files/rocksdb-6.14.6-libatomic.patch, which is superseded by this new patch.
+See: https://github.com/facebook/rocksdb/commit/47b424f4bd51078591e674ff936de5a270530ce2
+Once the upstream adopts new methods for checking, this patch may be removed after testing.
+
+https://bugs.gentoo.org/834855
+
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -289,6 +289,7 @@ else()
+ endif()
+
+ include(CheckCXXSourceCompiles)
++set(OLD_CMAKE_REQUIRED_FLAGS ${CMAKE_REQUIRED_FLAGS})
+ if(NOT MSVC)
+ set(CMAKE_REQUIRED_FLAGS "-msse4.2 -mpclmul")
+ endif()
+@@ -305,7 +306,6 @@ int main() {
+ auto d = _mm_cvtsi128_si64(c);
+ }
+ " HAVE_SSE42)
+-unset(CMAKE_REQUIRED_FLAGS)
+ if(HAVE_SSE42)
+ add_definitions(-DHAVE_SSE42)
+ add_definitions(-DHAVE_PCLMUL)
+@@ -313,6 +313,37 @@ elseif(FORCE_SSE42)
+ message(FATAL_ERROR "FORCE_SSE42=ON but unable to compile with SSE4.2 enabled")
+ endif()
+
++# Check if -latomic is required or not
++if (NOT MSVC)
++ set(CMAKE_REQUIRED_FLAGS "--std=c++11")
++ set(ATOMIC_TEST_SOURCE "
++ #include <atomic>
++ std::atomic<int> x;
++ std::atomic<short> y;
++ std::atomic<char> z;
++ std::atomic<long long> w;
++ int main() {
++ ++z;
++ ++y;
++ ++w;
++ return ++x;
++ }")
++ CHECK_CXX_SOURCE_COMPILES("${ATOMIC_TEST_SOURCE}" BUILTIN_ATOMIC)
++ if (NOT BUILTIN_ATOMIC)
++ set(CMAKE_REQUIRED_LIBRARIES atomic)
++ CHECK_CXX_SOURCE_COMPILES("${ATOMIC_TEST_SOURCE}" ATOMICS_REQUIRE_LIBATOMIC)
++ unset(CMAKE_REQUIRED_LIBRARIES)
++ if (ATOMICS_REQUIRE_LIBATOMIC)
++ list(APPEND THIRDPARTY_LIBS atomic)
++ else()
++ message(FATAL_ERROR "Host compiler must support std::atomic!")
++ endif()
++ endif()
++endif()
++
++# Reset the required flags
++set(CMAKE_REQUIRED_FLAGS ${OLD_CMAKE_REQUIRED_FLAGS})
++
+ CHECK_CXX_SOURCE_COMPILES("
+ #if defined(_MSC_VER) && !defined(__thread)
+ #define __thread __declspec(thread)
+@@ -1354,3 +1385,4 @@ option(WITH_EXAMPLES "build with examples" OFF)
+ if(WITH_EXAMPLES)
+ add_subdirectory(examples)
+ endif()
++
diff --git a/dev-libs/rocksdb/files/rocksdb-7.9.2-gcc-13.patch b/dev-libs/rocksdb/files/rocksdb-7.9.2-gcc-13.patch
new file mode 100644
index 000000000000..513d0da01c29
--- /dev/null
+++ b/dev-libs/rocksdb/files/rocksdb-7.9.2-gcc-13.patch
@@ -0,0 +1,42 @@
+https://github.com/facebook/rocksdb/commit/88edfbfb5e1cac228f7cc31fbec24bb637fe54b1
+
+From 88edfbfb5e1cac228f7cc31fbec24bb637fe54b1 Mon Sep 17 00:00:00 2001
+From: Heiko Becker <heirecka@exherbo.org>
+Date: Wed, 25 Jan 2023 14:30:32 -0800
+Subject: [PATCH] Fix build with gcc 13 by including <cstdint> (#11118)
+
+Summary:
+Like other versions before, gcc 13 moved some includes around and as a result <cstdint> is no longer transitively included [1]. Explicitly include it for uint{32,64}_t.
+
+[1] https://gcc.gnu.org/gcc-13/porting_to.html#header-dep-changes
+
+Pull Request resolved: https://github.com/facebook/rocksdb/pull/11118
+
+Reviewed By: cbi42
+
+Differential Revision: D42711356
+
+Pulled By: ajkr
+
+fbshipit-source-id: 5ea257b85b7017f40fd8fdbce965336da95c55b2
+--- a/table/block_based/data_block_hash_index.h
++++ b/table/block_based/data_block_hash_index.h
+@@ -5,6 +5,7 @@
+
+ #pragma once
+
++#include <cstdint>
+ #include <string>
+ #include <vector>
+
+--- a/util/string_util.h
++++ b/util/string_util.h
+@@ -6,6 +6,7 @@
+
+ #pragma once
+
++#include <cstdint>
+ #include <sstream>
+ #include <string>
+ #include <unordered_map>
+
diff --git a/dev-libs/rocksdb/metadata.xml b/dev-libs/rocksdb/metadata.xml
index bd6443d4a375..e8708dfa4d7c 100644
--- a/dev-libs/rocksdb/metadata.xml
+++ b/dev-libs/rocksdb/metadata.xml
@@ -5,4 +5,15 @@
<email>chutzpah@gentoo.org</email>
<name>Patrick McLean</name>
</maintainer>
+ <maintainer type="person">
+ <email>amadio@gentoo.org</email>
+ <name>Guilherme Amadio</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">facebook/rocksdb</remote-id>
+ </upstream>
+ <use>
+ <flag name="numa">Enable NUMA support</flag>
+ <flag name="tbb">Enable support for <pkg>dev-cpp/tbb</pkg></flag>
+ </use>
</pkgmetadata>
diff --git a/dev-libs/rocksdb/rocksdb-6.14.6-r1.ebuild b/dev-libs/rocksdb/rocksdb-6.14.6-r1.ebuild
deleted file mode 100644
index 337b328a43cf..000000000000
--- a/dev-libs/rocksdb/rocksdb-6.14.6-r1.ebuild
+++ /dev/null
@@ -1,51 +0,0 @@
-# Copyright 2020-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit cmake
-
-DESCRIPTION="Embeddable, persistent key-value store for fast storage"
-HOMEPAGE="http://rocksdb.org https://github.com/facebook/rocksdb/"
-SRC_URI="https://github.com/facebook/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="amd64 ~arm64 ~ppc64 ~riscv ~x86"
-IUSE="cpu_flags_x86_avx cpu_flags_x86_avx2 cpu_flags_x86_sse4_2 jemalloc static-libs"
-
-DEPEND="
- app-arch/bzip2:=
- app-arch/lz4:=
- app-arch/snappy:=
- dev-cpp/gflags:=
- dev-python/zstandard:=
- sys-libs/zlib:=
- jemalloc? ( dev-libs/jemalloc:= )
-"
-RDEPEND="${DEPEND}"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-6.14.6-libatomic.patch
-)
-
-src_configure() {
- mycmakeargs=(
- -DFAIL_ON_WARNINGS=OFF
- -DFORCE_AVX2=$(usex cpu_flags_x86_avx2 ON OFF)
- -DFORCE_AVX=$(usex cpu_flags_x86_avx ON OFF)
- -DFORCE_SSE42=$(usex cpu_flags_x86_sse4_2 ON OFF)
- -DPORTABLE=ON
- -DWITH_JEMALLOC=$(usex jemalloc ON OFF)
- -DWITH_TESTS=OFF
- )
- cmake_src_configure
-}
-
-src_install() {
- cmake_src_install
-
- if ! use static-libs; then
- rm "${ED}"/usr/$(get_libdir)/*.a || die
- fi
-}
diff --git a/dev-libs/rocksdb/rocksdb-6.14.6-r2.ebuild b/dev-libs/rocksdb/rocksdb-6.14.6-r2.ebuild
new file mode 100644
index 000000000000..d7ebe58e23d4
--- /dev/null
+++ b/dev-libs/rocksdb/rocksdb-6.14.6-r2.ebuild
@@ -0,0 +1,52 @@
+# Copyright 2020-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit cmake
+
+DESCRIPTION="Embeddable, persistent key-value store for fast storage"
+HOMEPAGE="http://rocksdb.org https://github.com/facebook/rocksdb/"
+SRC_URI="https://github.com/facebook/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 ~arm64 ppc64 ~riscv ~x86"
+IUSE="cpu_flags_x86_avx cpu_flags_x86_avx2 cpu_flags_x86_sse4_2 jemalloc static-libs"
+
+DEPEND="
+ app-arch/bzip2:=
+ app-arch/lz4:=
+ app-arch/snappy:=
+ app-arch/zstd:=
+ dev-cpp/gflags:=
+ sys-libs/zlib:=
+ jemalloc? ( dev-libs/jemalloc:= )
+"
+RDEPEND="${DEPEND}"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-6.17.3-libatomic.patch
+ "${FILESDIR}"/${PN}-6.14.6-gcc13.patch
+)
+
+src_configure() {
+ local mycmakeargs=(
+ -DFAIL_ON_WARNINGS=OFF
+ -DFORCE_AVX2=$(usex cpu_flags_x86_avx2 ON OFF)
+ -DFORCE_AVX=$(usex cpu_flags_x86_avx ON OFF)
+ -DFORCE_SSE42=$(usex cpu_flags_x86_sse4_2 ON OFF)
+ -DPORTABLE=ON
+ -DWITH_JEMALLOC=$(usex jemalloc ON OFF)
+ -DWITH_TESTS=OFF
+ )
+ cmake_src_configure
+}
+
+src_install() {
+ cmake_src_install
+
+ if ! use static-libs; then
+ rm "${ED}"/usr/$(get_libdir)/*.a || die
+ fi
+}
diff --git a/dev-libs/rocksdb/rocksdb-6.14.6-r3.ebuild b/dev-libs/rocksdb/rocksdb-6.14.6-r3.ebuild
new file mode 100644
index 000000000000..c146861ca057
--- /dev/null
+++ b/dev-libs/rocksdb/rocksdb-6.14.6-r3.ebuild
@@ -0,0 +1,79 @@
+# Copyright 2020-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+DESCRIPTION="Embeddable, persistent key-value store for fast storage"
+HOMEPAGE="http://rocksdb.org https://github.com/facebook/rocksdb/"
+SRC_URI="https://github.com/facebook/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
+IUSE="cpu_flags_x86_avx cpu_flags_x86_avx2 cpu_flags_x86_sse4_2 jemalloc numa static-libs tbb test"
+
+# tests fail in this version
+RESTRICT="test"
+
+DEPEND="
+ app-arch/bzip2:=
+ app-arch/lz4:=
+ app-arch/snappy:=
+ app-arch/zstd:=
+ dev-cpp/gflags:=
+ sys-libs/zlib:=
+ sys-process/numactl
+ jemalloc? ( dev-libs/jemalloc:= )
+ tbb? ( dev-cpp/tbb:= )
+"
+RDEPEND="${DEPEND}"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-6.17.3-libatomic.patch
+ "${FILESDIR}"/${PN}-6.14.6-gcc13.patch
+)
+
+src_prepare() {
+ sed -i -e '/find_program(CCACHE_FOUND ccache)/d' CMakeLists.txt || die
+ cmake_src_prepare
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DFAIL_ON_WARNINGS=OFF
+ -DFORCE_AVX2=$(usex cpu_flags_x86_avx2 ON OFF)
+ -DFORCE_AVX=$(usex cpu_flags_x86_avx ON OFF)
+ -DFORCE_SSE42=$(usex cpu_flags_x86_sse4_2 ON OFF)
+ -DPORTABLE=ON
+ -DWITH_BZ2=ON
+ -DWITH_CORE_TOOLS=ON
+ -DWITH_DYNAMIC_EXTENSION=ON
+ -DWITH_GFLAGS=ON
+ -DWITH_JEMALLOC=$(usex jemalloc ON OFF)
+ -DWITH_JNI=OFF
+ -DWITH_LIBRADOS=OFF
+ -DWITH_LZ4=ON
+ -DWITH_MD_LIBRARY=ON
+ -DWITH_NUMA=$(usex numa)
+ -DWITH_SNAPPY=ON
+ -DWITH_TBB=$(usex tbb)
+ -DWITH_ALL_TESTS=$(usex test)
+ -DWITH_TESTS=$(usex test)
+ -DWITH_TOOLS=ON
+ -DWITH_ZLIB=ON
+ -DWITH_ZSTD=ON
+ )
+ # -DWITH_TESTS option works only with debug build, needs to be set here
+ # to not be overriden by cmake.eclass
+ CMAKE_BUILD_TYPE=$(usex test Debug RelWithDebInfo) cmake_src_configure
+}
+
+src_install() {
+ cmake_src_install
+
+ if ! use static-libs; then
+ rm "${ED}"/usr/$(get_libdir)/*.a || die
+ fi
+}
diff --git a/dev-libs/rocksdb/rocksdb-6.15.5.ebuild b/dev-libs/rocksdb/rocksdb-6.15.5.ebuild
deleted file mode 100644
index c8bb53cec446..000000000000
--- a/dev-libs/rocksdb/rocksdb-6.15.5.ebuild
+++ /dev/null
@@ -1,51 +0,0 @@
-# Copyright 2020-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit cmake
-
-DESCRIPTION="Embeddable, persistent key-value store for fast storage"
-HOMEPAGE="http://rocksdb.org https://github.com/facebook/rocksdb/"
-SRC_URI="https://github.com/facebook/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
-IUSE="cpu_flags_x86_avx cpu_flags_x86_avx2 cpu_flags_x86_sse4_2 jemalloc static-libs"
-
-DEPEND="
- app-arch/bzip2:=
- app-arch/lz4:=
- app-arch/snappy:=
- dev-cpp/gflags
- dev-python/zstandard:=
- sys-libs/zlib:=
- jemalloc? ( dev-libs/jemalloc:= )
-"
-RDEPEND="${DEPEND}"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-6.14.6-libatomic.patch
-)
-
-src_configure() {
- mycmakeargs=(
- -DFAIL_ON_WARNINGS=OFF
- -DFORCE_AVX2=$(usex cpu_flags_x86_avx2 ON OFF)
- -DFORCE_AVX=$(usex cpu_flags_x86_avx ON OFF)
- -DFORCE_SSE42=$(usex cpu_flags_x86_sse4_2 ON OFF)
- -DPORTABLE=ON
- -DWITH_JEMALLOC=$(usex jemalloc ON OFF)
- -DWITH_TESTS=OFF
- )
- cmake_src_configure
-}
-
-src_install() {
- cmake_src_install
-
- if ! use static-libs; then
- rm "${ED}"/usr/$(get_libdir)/*.a || die
- fi
-}
diff --git a/dev-libs/rocksdb/rocksdb-6.17.3.ebuild b/dev-libs/rocksdb/rocksdb-6.17.3.ebuild
deleted file mode 100644
index 76c4d651f8af..000000000000
--- a/dev-libs/rocksdb/rocksdb-6.17.3.ebuild
+++ /dev/null
@@ -1,51 +0,0 @@
-# Copyright 2020-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit cmake
-
-DESCRIPTION="Embeddable, persistent key-value store for fast storage"
-HOMEPAGE="http://rocksdb.org https://github.com/facebook/rocksdb/"
-SRC_URI="https://github.com/facebook/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~ppc64 -riscv ~x86"
-IUSE="cpu_flags_x86_avx cpu_flags_x86_avx2 cpu_flags_x86_sse4_2 jemalloc static-libs"
-
-DEPEND="
- app-arch/bzip2:=
- app-arch/lz4:=
- app-arch/snappy:=
- dev-cpp/gflags
- dev-python/zstandard:=
- sys-libs/zlib:=
- jemalloc? ( dev-libs/jemalloc:= )
-"
-RDEPEND="${DEPEND}"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-6.14.6-libatomic.patch
-)
-
-src_configure() {
- mycmakeargs=(
- -DFAIL_ON_WARNINGS=OFF
- -DFORCE_AVX2=$(usex cpu_flags_x86_avx2 ON OFF)
- -DFORCE_AVX=$(usex cpu_flags_x86_avx ON OFF)
- -DFORCE_SSE42=$(usex cpu_flags_x86_sse4_2 ON OFF)
- -DPORTABLE=ON
- -DWITH_JEMALLOC=$(usex jemalloc ON OFF)
- -DWITH_TESTS=OFF
- )
- cmake_src_configure
-}
-
-src_install() {
- cmake_src_install
-
- if ! use static-libs; then
- rm "${ED}"/usr/$(get_libdir)/*.a || die
- fi
-}
diff --git a/dev-libs/rocksdb/rocksdb-7.9.2-r1.ebuild b/dev-libs/rocksdb/rocksdb-7.9.2-r1.ebuild
new file mode 100644
index 000000000000..8ea5722d7228
--- /dev/null
+++ b/dev-libs/rocksdb/rocksdb-7.9.2-r1.ebuild
@@ -0,0 +1,79 @@
+# Copyright 2020-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+DESCRIPTION="Embeddable, persistent key-value store for fast storage"
+HOMEPAGE="http://rocksdb.org https://github.com/facebook/rocksdb/"
+SRC_URI="https://github.com/facebook/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
+IUSE="cpu_flags_x86_avx cpu_flags_x86_avx2 cpu_flags_x86_sse4_2 jemalloc numa static-libs tbb test"
+
+RESTRICT="!test? ( test )"
+
+DEPEND="
+ app-arch/bzip2:=
+ app-arch/lz4:=
+ app-arch/snappy:=
+ app-arch/zstd:=
+ dev-cpp/gflags:=
+ sys-libs/liburing:=
+ sys-libs/zlib:=
+ sys-process/numactl
+ jemalloc? ( dev-libs/jemalloc:= )
+ tbb? ( dev-cpp/tbb:= )
+"
+RDEPEND="${DEPEND}"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-gcc-13.patch
+)
+
+src_prepare() {
+ sed -i -e 's/liburing.a/uring/' cmake/modules/Finduring.cmake || die
+ sed -i -e '/find_program(CCACHE_FOUND ccache)/d' CMakeLists.txt || die
+ cmake_src_prepare
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DFAIL_ON_WARNINGS=OFF
+ -DFORCE_AVX2=$(usex cpu_flags_x86_avx2 ON OFF)
+ -DFORCE_AVX=$(usex cpu_flags_x86_avx ON OFF)
+ -DFORCE_SSE42=$(usex cpu_flags_x86_sse4_2 ON OFF)
+ -DPORTABLE=ON
+ -DWITH_BZ2=ON
+ -DWITH_CORE_TOOLS=ON
+ -DWITH_DYNAMIC_EXTENSION=ON
+ -DWITH_GFLAGS=ON
+ -DWITH_JEMALLOC=$(usex jemalloc ON OFF)
+ -DWITH_JNI=OFF
+ -DWITH_LIBURING=ON
+ -DWITH_LZ4=ON
+ -DWITH_MD_LIBRARY=ON
+ -DWITH_NUMA=$(usex numa)
+ -DWITH_SNAPPY=ON
+ -DWITH_TBB=$(usex tbb)
+ -DWITH_ALL_TESTS=$(usex test)
+ -DWITH_TESTS=$(usex test)
+ -DWITH_TOOLS=ON
+ -DWITH_ZLIB=ON
+ -DWITH_ZSTD=ON
+ )
+ # -DWITH_TESTS option works only with debug build, needs to be set here
+ # to not be overriden by cmake.eclass
+ CMAKE_BUILD_TYPE=$(usex test Debug RelWithDebInfo) cmake_src_configure
+}
+
+src_install() {
+ cmake_src_install
+
+ if ! use static-libs; then
+ rm "${ED}"/usr/$(get_libdir)/*.a || die
+ fi
+}
diff --git a/dev-libs/rocksdb/rocksdb-7.9.2.ebuild b/dev-libs/rocksdb/rocksdb-7.9.2.ebuild
new file mode 100644
index 000000000000..1a2347e5d00e
--- /dev/null
+++ b/dev-libs/rocksdb/rocksdb-7.9.2.ebuild
@@ -0,0 +1,55 @@
+# Copyright 2020-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+DESCRIPTION="Embeddable, persistent key-value store for fast storage"
+HOMEPAGE="http://rocksdb.org https://github.com/facebook/rocksdb/"
+SRC_URI="https://github.com/facebook/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 ~arm64 ~ppc64 ~riscv ~x86"
+IUSE="cpu_flags_x86_avx cpu_flags_x86_avx2 cpu_flags_x86_sse4_2 jemalloc static-libs"
+
+DEPEND="
+ app-arch/bzip2:=
+ app-arch/lz4:=
+ app-arch/snappy:=
+ app-arch/zstd:=
+ dev-cpp/gflags:=
+ sys-libs/liburing:=
+ sys-libs/zlib:=
+ jemalloc? ( dev-libs/jemalloc:= )
+"
+RDEPEND="${DEPEND}"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-gcc-13.patch
+)
+
+src_configure() {
+ sed -i -e '/find_program(CCACHE_FOUND ccache)/d' CMakeLists.txt || die
+
+ local mycmakeargs=(
+ -DFAIL_ON_WARNINGS=OFF
+ -DFORCE_AVX2=$(usex cpu_flags_x86_avx2 ON OFF)
+ -DFORCE_AVX=$(usex cpu_flags_x86_avx ON OFF)
+ -DFORCE_SSE42=$(usex cpu_flags_x86_sse4_2 ON OFF)
+ -DPORTABLE=ON
+ -DWITH_JEMALLOC=$(usex jemalloc ON OFF)
+ # They're just examples/benchmarks.
+ -DWITH_TESTS=OFF
+ )
+ cmake_src_configure
+}
+
+src_install() {
+ cmake_src_install
+
+ if ! use static-libs; then
+ rm "${ED}"/usr/$(get_libdir)/*.a || die
+ fi
+}
diff --git a/dev-libs/rocksdb/rocksdb-8.10.0.ebuild b/dev-libs/rocksdb/rocksdb-8.10.0.ebuild
new file mode 100644
index 000000000000..c5a5cce5e1d8
--- /dev/null
+++ b/dev-libs/rocksdb/rocksdb-8.10.0.ebuild
@@ -0,0 +1,80 @@
+# Copyright 2020-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+DESCRIPTION="Embeddable, persistent key-value store for fast storage"
+HOMEPAGE="http://rocksdb.org https://github.com/facebook/rocksdb/"
+SRC_URI="https://github.com/facebook/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
+IUSE="jemalloc numa static-libs tbb test"
+
+RESTRICT="!test? ( test )"
+
+DEPEND="
+ app-arch/bzip2:=
+ app-arch/lz4:=
+ app-arch/snappy:=
+ app-arch/zstd:=
+ dev-cpp/gflags:=
+ sys-libs/liburing:=
+ sys-libs/zlib:=
+ sys-process/numactl
+ jemalloc? ( dev-libs/jemalloc:= )
+ tbb? ( dev-cpp/tbb:= )
+"
+RDEPEND="${DEPEND}"
+
+src_prepare() {
+ sed -i -e 's/liburing.a/uring/' cmake/modules/Finduring.cmake || die
+ sed -i -e '/find_program(CCACHE_FOUND ccache)/d' CMakeLists.txt || die
+ cmake_src_prepare
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DFAIL_ON_WARNINGS=OFF
+ -DPORTABLE=1
+ -DROCKSDB_BUILD_SHARED=$(usex static-libs OFF ON)
+ -DWITH_ALL_TESTS=$(usex test)
+ -DWITH_ASAN=OFF
+ -DWITH_BENCHMARK=OFF
+ -DWITH_BENCHMARK_TOOLS=OFF
+ -DWITH_BZ2=ON
+ -DWITH_CORE_TOOLS=ON
+ -DWITH_DYNAMIC_EXTENSION=ON
+ -DWITH_EXAMPLES=OFF
+ -DWITH_FALLOCATE=ON
+ -DWITH_GFLAGS=ON
+ -DWITH_IOSTATS_CONTEXT=ON
+ -DWITH_JEMALLOC=$(usex jemalloc ON OFF)
+ -DWITH_JNI=OFF
+ -DWITH_LIBURING=ON
+ -DWITH_LZ4=ON
+ -DWITH_MD_LIBRARY=ON
+ -DWITH_NUMA=$(usex numa)
+ -DWITH_SNAPPY=ON
+ -DWITH_TBB=$(usex tbb)
+ -DWITH_TOOLS=ON
+ -DWITH_TRACE_TOOLS=ON
+ -DWITH_TSAN=OFF
+ -DWITH_ZLIB=ON
+ -DWITH_ZSTD=ON
+ )
+ # -DWITH_TESTS option works only with debug build, needs to be set here
+ # to not be overriden by cmake.eclass
+ CMAKE_BUILD_TYPE=$(usex test Debug RelWithDebInfo) cmake_src_configure
+}
+
+src_install() {
+ cmake_src_install
+
+ if ! use static-libs; then
+ rm "${ED}"/usr/$(get_libdir)/*.a || die
+ fi
+}
diff --git a/dev-libs/rocksdb/rocksdb-8.11.3.ebuild b/dev-libs/rocksdb/rocksdb-8.11.3.ebuild
new file mode 100644
index 000000000000..c5a5cce5e1d8
--- /dev/null
+++ b/dev-libs/rocksdb/rocksdb-8.11.3.ebuild
@@ -0,0 +1,80 @@
+# Copyright 2020-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+DESCRIPTION="Embeddable, persistent key-value store for fast storage"
+HOMEPAGE="http://rocksdb.org https://github.com/facebook/rocksdb/"
+SRC_URI="https://github.com/facebook/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
+IUSE="jemalloc numa static-libs tbb test"
+
+RESTRICT="!test? ( test )"
+
+DEPEND="
+ app-arch/bzip2:=
+ app-arch/lz4:=
+ app-arch/snappy:=
+ app-arch/zstd:=
+ dev-cpp/gflags:=
+ sys-libs/liburing:=
+ sys-libs/zlib:=
+ sys-process/numactl
+ jemalloc? ( dev-libs/jemalloc:= )
+ tbb? ( dev-cpp/tbb:= )
+"
+RDEPEND="${DEPEND}"
+
+src_prepare() {
+ sed -i -e 's/liburing.a/uring/' cmake/modules/Finduring.cmake || die
+ sed -i -e '/find_program(CCACHE_FOUND ccache)/d' CMakeLists.txt || die
+ cmake_src_prepare
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DFAIL_ON_WARNINGS=OFF
+ -DPORTABLE=1
+ -DROCKSDB_BUILD_SHARED=$(usex static-libs OFF ON)
+ -DWITH_ALL_TESTS=$(usex test)
+ -DWITH_ASAN=OFF
+ -DWITH_BENCHMARK=OFF
+ -DWITH_BENCHMARK_TOOLS=OFF
+ -DWITH_BZ2=ON
+ -DWITH_CORE_TOOLS=ON
+ -DWITH_DYNAMIC_EXTENSION=ON
+ -DWITH_EXAMPLES=OFF
+ -DWITH_FALLOCATE=ON
+ -DWITH_GFLAGS=ON
+ -DWITH_IOSTATS_CONTEXT=ON
+ -DWITH_JEMALLOC=$(usex jemalloc ON OFF)
+ -DWITH_JNI=OFF
+ -DWITH_LIBURING=ON
+ -DWITH_LZ4=ON
+ -DWITH_MD_LIBRARY=ON
+ -DWITH_NUMA=$(usex numa)
+ -DWITH_SNAPPY=ON
+ -DWITH_TBB=$(usex tbb)
+ -DWITH_TOOLS=ON
+ -DWITH_TRACE_TOOLS=ON
+ -DWITH_TSAN=OFF
+ -DWITH_ZLIB=ON
+ -DWITH_ZSTD=ON
+ )
+ # -DWITH_TESTS option works only with debug build, needs to be set here
+ # to not be overriden by cmake.eclass
+ CMAKE_BUILD_TYPE=$(usex test Debug RelWithDebInfo) cmake_src_configure
+}
+
+src_install() {
+ cmake_src_install
+
+ if ! use static-libs; then
+ rm "${ED}"/usr/$(get_libdir)/*.a || die
+ fi
+}
diff --git a/dev-libs/rocm-comgr/Manifest b/dev-libs/rocm-comgr/Manifest
index 9dbfb98badca..25427ae596a2 100644
--- a/dev-libs/rocm-comgr/Manifest
+++ b/dev-libs/rocm-comgr/Manifest
@@ -1,6 +1,6 @@
-DIST rocm-comgr-3.10.0.tar.gz 98322 BLAKE2B a7245531eb7e5e7a306a91ca917f03b25a159729a8fbd830cbb02355f807900f439d3d793c416ea277aa0aa64829e697ef8bb32a246a3618ed9bc2c42d25acdf SHA512 b9e0ae6d10a39d55855c35305560af8c5cdbef8f9d41022c40dc60b4fcc629a73a91c6d7235dd0785aba5e14f566f7ce0911a5a1c52c39cebd947f7b585c4d5a
-DIST rocm-comgr-3.9.0.tar.gz 98316 BLAKE2B 424ff5152d99b1ea001985fbd9a6ca1a0925931579205b487505a6c3733d95fe4ee21d91453c538995b3696984acdf4d45cc77c43e1a7c75db78ad1164e3f9e6 SHA512 f49c91ba0db244a0f0d820edeb60013c8a09220e9e1a6be464c48766ac3322b18ed1d0f009e5b1df58340a6dd324a75717194696214e2bb7455cb85e516f071a
-DIST rocm-comgr-4.0.0.tar.gz 98316 BLAKE2B d96200d2fe8929631d1f40577a115b72e2341a66941e9de9de2e61c3d9eab9cb4a0cb51f3b2abc183be832ee86404b5f24d053396615038f4ca6bda23a7331d5 SHA512 fdbb334ff1cb2cd5eb40b9dcf1bbcb138b95d24fac80a90c12c9b5b2ac24226eed4f30ac2fa1923c274fae830e52542d5725436a77c404d1680266b103444549
-DIST rocm-comgr-4.1.0.tar.gz 101923 BLAKE2B 227317d3c96d577ff2df352721e3ffcf75e25548bfef29c425a3417af2b6fdbceeb80bc86508a9a510e9eb7f4dd2ff5c6da3c13af122dfb0dff6475d73a5c9ff SHA512 def3774072262ac6e5c836d7dcd23770045765882e76c8de87e21d04515a562ba213685736ccb4e5b01814de846b68aa9db77e40f0d834a68fc4a9b3301aaff9
-DIST rocm-comgr-4.2.0.tar.gz 101877 BLAKE2B 6796ab4fc7139224af9e26f6adc5ac3ef260b36d125517766bc4adf3dd819709e5aa816680ae073f00db635d15d2a3bde7bfc69bdfbea0f49453f75930fae90d SHA512 dffc00d166eb060c6cf848878cc6c7fc63858168cd20b5f22df2b7cbf3ac7a3253fbab5df4df055823028a06c3dca3e3f379246305ae9872eb94bcdbd30dd602
-DIST rocm-comgr-4.3.0.tar.gz 106250 BLAKE2B 40a3a69147ae4fc96d3713331d35ae65d952dbf92fb3c92bee75bbef394342b11f383cb51c6def85c256326905c5067b1da816e853f793fd3c40a5af9a6e0122 SHA512 5961720bdc78c6d3fc626bd83f52be0aa32b01178bf4db0a503a0639fe05c5c589b7feb2dcbeb78021d36a40ac6f936cb1262cd5ab5cda4689e8e642ab7eddc3
+DIST rocm-comgr-5.1.3.tar.gz 117155 BLAKE2B 40e415c4c7ae3e709dd50981299291f0fc1133f35310b4c86a86847d3bce5fd7685a3f4480f8f156873ca922921c1d4e1cb620fd33bd5cdc87f155af839f2bbe SHA512 5927250f5e03c32b7f270a1dbfe5221d349dfe32aba34143040da53d4e7eb83faa3073a43edabcff13e1fc977bc17088404523f2ab2ea95e207d2c00beb4249b
+DIST rocm-comgr-5.3.3.tar.gz 120414 BLAKE2B 29b9d466d74ef94165a2b9bea35eac4616f6b2fc529cdac3c830ee7dc08f219cb9e5d4f081658881c76633f12eaebb74d1a2ea30a76652231b8ee516f9988db1 SHA512 ba7b1ef214e3624168e438ed7fd94291a07508fe89d178c0b158bf22e0998d5a8e4d8f0a7f08f05ac108ef65f725db5764fd66353a85bc25000e572a4fdcb61f
+DIST rocm-comgr-5.4.3.tar.gz 120461 BLAKE2B c4eb79dd5a72a2b18e16841fc8cb9a3a33efb0c7b04a7585df9672d682bba6fa826ab8b37dba5febca3b8c5ee5aca30d8546e1fa69e77671e5c750e2a8c1f12f SHA512 1a25af99a0166d70ca6dc5df5a667068eaf583dccd74bbb18a2a5de3c1b769e0c1eb9a0c539e0cd88bc50bbbe53214a1d1b23fbdfd6fc5b6507c44da259815c4
+DIST rocm-comgr-5.5.1.tar.gz 127475 BLAKE2B dbcb6729b27c0b4a4be37f5e462d96b10c15a6a3b540a81a74a648fc45dc727ea5706db1a0f4583a31ac4cb5c9f0d9f4e258fa5ac792b327f4cb1dfe6d585937 SHA512 09174ef2ad21f62b197e439bb5b04a365233c360c57cc2ccf0ea3d53edfa8880dff4f127c6d6c1d430b63b6f7ea666705b14cadc2bccb89c0fefed943b0cf1c7
+DIST rocm-comgr-5.7.1.tar.gz 137923 BLAKE2B e215f51137fd0c4b67e85496bf289dc0afde6ebc9efb9416f5fc4cf312b2be9be26da35cb70965bf4857a0f1434d750bcc03ce83095173098487ef7805948735 SHA512 cdd2609b858d9503c30122a2d328d36baa8a930a05bcb6c38e30723909c492b4d47eaaf4884dbb7aa82053e7cda6c22ee1aa16fc5ba266e272d98ff772c5079d
+DIST rocm-comgr-6.0.0.tar.gz 142129 BLAKE2B 65d00a79ead48872e3b94e5239a07c476288c611aa3ce2311a345bec5f7d277dc67910fa5f4ef000a5e94e6bed148baa4b1c7fe2b1cfaae2cc39555d716668d5 SHA512 877d2042bdafa6b503ee8f24d3a9c4ac9e001a7884211df47b2237d8a5ead66ced0f352c7b76d96190cd407461f5434fb1a5a4508067e432eb93c0f2fd066053
diff --git a/dev-libs/rocm-comgr/files/0001-COMGR-changes-needed-for-upstream-llvm.patch b/dev-libs/rocm-comgr/files/0001-COMGR-changes-needed-for-upstream-llvm.patch
new file mode 100644
index 000000000000..8200d4414f8b
--- /dev/null
+++ b/dev-libs/rocm-comgr/files/0001-COMGR-changes-needed-for-upstream-llvm.patch
@@ -0,0 +1,66 @@
+From be2bcaaea228cdcb5981b261046175275c402fb9 Mon Sep 17 00:00:00 2001
+From: Konstantin Zhuravlyov <kzhuravl_dev@outlook.com>
+Date: Wed, 26 Jan 2022 12:02:52 -0500
+Subject: [PATCH] COMGR changes needed for
+ https://github.com/llvm/llvm-project/commit/83d59e05b201760e3f364ff6316301d347cbad95
+
+Change-Id: Iac01d024463865734879faf5f814e0862c26f7a1
+---
+ lib/comgr/src/comgr-compiler.cpp | 3 ++-
+ lib/comgr/src/comgr-env.h | 1 +
+ lib/comgr/src/comgr-objdump.cpp | 4 +++-
+ 3 files changed, 6 insertions(+), 2 deletions(-)
+
+diff --git a/lib/comgr/src/comgr-compiler.cpp b/lib/comgr/src/comgr-compiler.cpp
+index 6c2cba2..db4c8d5 100644
+--- a/src/comgr-compiler.cpp
++++ b/src/comgr-compiler.cpp
+@@ -605,7 +605,8 @@ static amd_comgr_status_t linkWithLLD(llvm::ArrayRef<const char *> Args,
+ ArrayRef<const char *> ArgRefs = llvm::makeArrayRef(LLDArgs);
+ static std::mutex MScreen;
+ MScreen.lock();
+- bool LLDRet = lld::elf::link(ArgRefs, false, LogS, LogE);
++ bool LLDRet = lld::elf::link(ArgRefs, LogS, LogE, false, false);
++ lld::CommonLinkerContext::destroy();
+ MScreen.unlock();
+ if (!LLDRet) {
+ return AMD_COMGR_STATUS_ERROR;
+diff --git a/lib/comgr/src/comgr-env.h b/lib/comgr/src/comgr-env.h
+index eb13e61..aef57b3 100644
+--- a/src/comgr-env.h
++++ b/src/comgr-env.h
+@@ -36,6 +36,7 @@
+ #ifndef COMGR_ENV_H
+ #define COMGR_ENV_H
+
++#include "llvm/ADT/Optional.h"
+ #include "llvm/ADT/StringRef.h"
+
+ namespace COMGR {
+diff --git a/lib/comgr/src/comgr-objdump.cpp b/lib/comgr/src/comgr-objdump.cpp
+index 094bbac..b41e6c1 100644
+--- a/src/comgr-objdump.cpp
++++ b/src/comgr-objdump.cpp
+@@ -43,6 +43,7 @@
+ #include "llvm/ADT/STLExtras.h"
+ #include "llvm/ADT/StringExtras.h"
+ #include "llvm/ADT/Triple.h"
++#include "llvm/CodeGen/CommandFlags.h"
+ #include "llvm/DebugInfo/DWARF/DWARFContext.h"
+ #include "llvm/DebugInfo/Symbolize/Symbolize.h"
+ #include "llvm/MC/MCAsmInfo.h"
+@@ -2395,9 +2396,10 @@ llvm::DisassemHelper::disassembleAction(StringRef Input,
+ size_t ArgC = ArgV.size();
+ ArgV.push_back(nullptr);
+ COMGR::clearLLVMOptions();
++ llvm::codegen::RegisterCodeGenFlags CGF;
+ cl::ParseCommandLineOptions(ArgC, ArgV.data(), "llvm object file dumper\n",
+ &ErrS);
+- MCPU = lld::getCPUStr();
++ MCPU = llvm::codegen::getCPUStr();
+
+ ErrorOr<std::unique_ptr<MemoryBuffer>> BufOrErr =
+ MemoryBuffer::getMemBuffer(Input);
+--
+2.35.1
+
diff --git a/dev-libs/rocm-comgr/files/0001-Find-CLANG_RESOURCE_DIR-using-clang-print-resource-d.patch b/dev-libs/rocm-comgr/files/0001-Find-CLANG_RESOURCE_DIR-using-clang-print-resource-d.patch
new file mode 100644
index 000000000000..a61d92794d51
--- /dev/null
+++ b/dev-libs/rocm-comgr/files/0001-Find-CLANG_RESOURCE_DIR-using-clang-print-resource-d.patch
@@ -0,0 +1,48 @@
+From 4c210fdf6943c0c40b5fe0f66800c7b9c7ca84d3 Mon Sep 17 00:00:00 2001
+From: Yiyang Wu <xgreenlandforwyy@gmail.com>
+Date: Tue, 14 Jun 2022 20:21:22 +0800
+Subject: [PATCH] Find CLANG_RESOURCE_DIR using clang -print-resource-dir
+
+Suggested-By: https://reviews.llvm.org/D49486
+Signed-off-by: Yiyang Wu <xgreenlandforwyy@gmail.com>
+---
+ lib/comgr/cmake/opencl_pch.cmake | 24 +++---------------------
+ 1 file changed, 3 insertions(+), 21 deletions(-)
+
+diff --git a/lib/comgr/cmake/opencl_pch.cmake b/lib/comgr/cmake/opencl_pch.cmake
+index 95311fc..71050c8 100644
+--- a/cmake/opencl_pch.cmake
++++ b/cmake/opencl_pch.cmake
+@@ -1,26 +1,8 @@
+ if(CMAKE_SOURCE_DIR STREQUAL CMAKE_CURRENT_SOURCE_DIR)
+ find_package(Clang REQUIRED CONFIG)
+-
+- # FIXME: CLANG_CMAKE_DIR seems like the most stable way to find this, but
+- # really there is no way to reliably discover this header.
+- #
+- # We effectively back up to the Clang output directory (for the case of a build
+- # tree) or install prefix (for the case of an installed copy), and then search
+- # for a file named opencl-c.h anywhere below that. We take the first result in
+- # the case where there are multiple (e.g. if there is an installed copy nested
+- # in a build directory). This is a bit imprecise, but it covers cases like MSVC
+- # adding some additional configuration-specific subdirectories to the build
+- # tree but not to an installed copy.
+- file(GLOB_RECURSE OPENCL_C_H_LIST "${CLANG_CMAKE_DIR}/../../../*/opencl-c.h")
+-
+- list(GET OPENCL_C_H_LIST 0 OPENCL_C_H)
+-
+- if (NOT EXISTS "${OPENCL_C_H}" OR IS_DIRECTORY "${OPENCL_C_H}")
+- message(FATAL_ERROR "Unable to locate opencl-c.h from the supplied Clang. The path '${CLANG_CMAKE_DIR}/../../../*' was searched.")
+- endif()
+-else()
+- get_target_property(clang_build_header_dir clang-resource-headers RUNTIME_OUTPUT_DIRECTORY)
+- set(OPENCL_C_H "${clang_build_header_dir}/opencl-c.h")
++ execute_process(COMMAND "${CLANG_CMAKE_DIR}/../../../bin/clang" -print-resource-dir OUTPUT_VARIABLE CLANG_RESOURCE_DIR)
++ string(STRIP ${CLANG_RESOURCE_DIR} CLANG_RESOURCE_DIR)
++ set(OPENCL_C_H "${CLANG_RESOURCE_DIR}/include/opencl-c.h")
+ endif()
+
+ # Macro to create and install a custom target for generating PCH for given
+--
+2.39.0
+
diff --git a/dev-libs/rocm-comgr/files/0001-Specify-clang-exe-path-in-Driver-Creation.patch b/dev-libs/rocm-comgr/files/0001-Specify-clang-exe-path-in-Driver-Creation.patch
new file mode 100644
index 000000000000..a1ce8cae50b8
--- /dev/null
+++ b/dev-libs/rocm-comgr/files/0001-Specify-clang-exe-path-in-Driver-Creation.patch
@@ -0,0 +1,52 @@
+From e0fb8aca856eb61d2f774a0893e2243742eed341 Mon Sep 17 00:00:00 2001
+From: Yiyang Wu <xgreenlandforwyy@gmail.com>
+Date: Fri, 18 Nov 2022 15:41:53 +0800
+Subject: [PATCH] Specify clang exe path in Driver Creation
+
+By doing so, TheDriver can get the correct resource dir.
+
+Closes: #48
+Reference: #49
+---
+ lib/comgr/src/comgr-compiler.cpp | 11 +----------
+ 1 file changed, 1 insertion(+), 10 deletions(-)
+
+diff --git a/lib/comgr/src/comgr-compiler.cpp b/lib/comgr/src/comgr-compiler.cpp
+index 80849d4..67fe82b 100644
+--- a/src/comgr-compiler.cpp
++++ b/src/comgr-compiler.cpp
+@@ -660,7 +660,7 @@ AMDGPUCompiler::executeInProcessDriver(ArrayRef<const char *> Args) {
+ IntrusiveRefCntPtr<DiagnosticIDs> DiagID(new DiagnosticIDs);
+ DiagnosticsEngine Diags(DiagID, &*DiagOpts, DiagClient);
+ ProcessWarningOptions(Diags, *DiagOpts, /*ReportDiags=*/false);
+- Driver TheDriver("", "", Diags);
++ Driver TheDriver((Twine(env::getLLVMPath()) + "/bin/clang").str(), "", Diags);
+ TheDriver.setTitle("AMDGPU Code Object Manager");
+ TheDriver.setCheckInputsExist(false);
+
+@@ -998,11 +998,6 @@ amd_comgr_status_t AMDGPUCompiler::addCompilationFlags() {
+ HIPIncludePath = (Twine(env::getHIPPath()) + "/include").str();
+ // HIP headers depend on hsa.h which is in ROCM_DIR/include.
+ ROCMIncludePath = (Twine(env::getROCMPath()) + "/include").str();
+- ClangIncludePath =
+- (Twine(env::getLLVMPath()) + "/lib/clang/" + CLANG_VERSION_STRING).str();
+- ClangIncludePath2 = (Twine(env::getLLVMPath()) + "/lib/clang/" +
+- CLANG_VERSION_STRING + "/include")
+- .str();
+
+ Args.push_back("-x");
+
+@@ -1028,10 +1023,6 @@ amd_comgr_status_t AMDGPUCompiler::addCompilationFlags() {
+ Args.push_back(ROCMIncludePath.c_str());
+ Args.push_back("-isystem");
+ Args.push_back(HIPIncludePath.c_str());
+- Args.push_back("-isystem");
+- Args.push_back(ClangIncludePath.c_str());
+- Args.push_back("-isystem");
+- Args.push_back(ClangIncludePath2.c_str());
+ break;
+ default:
+ return AMD_COMGR_STATUS_ERROR_INVALID_ARGUMENT;
+--
+2.39.0
+
diff --git a/dev-libs/rocm-comgr/files/rocm-comgr-3.1.0-dependencies.patch b/dev-libs/rocm-comgr/files/rocm-comgr-3.1.0-dependencies.patch
deleted file mode 100644
index d70ed4957002..000000000000
--- a/dev-libs/rocm-comgr/files/rocm-comgr-3.1.0-dependencies.patch
+++ /dev/null
@@ -1,52 +0,0 @@
-https://github.com/RadeonOpenCompute/ROCm-CompilerSupport/pull/25
-
-From c65cba2e73f9118e128b9ab7e655ee0f8a7798e7 Mon Sep 17 00:00:00 2001
-From: Craig Andrews <candrews@integralblue.com>
-Date: Sun, 1 Mar 2020 19:24:22 -0500
-Subject: [PATCH] Link additional required LLVM libraries
-
-Without these additional required dependencies, linking fails with errors such as:
-`undefined reference to llvm::errs()'`
----
- CMakeLists.txt | 20 ++++++++++++++++++--
- 1 file changed, 18 insertions(+), 2 deletions(-)
-
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 1794a07..c7b852a 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -207,7 +207,11 @@ install(FILES
- DESTINATION "${AMD_COMGR_PACKAGE_PREFIX}")
-
- set(CLANG_LIBS
-- clangFrontendTool)
-+ clangFrontendTool
-+ clangFrontend
-+ clangBasic
-+ clangDriver
-+ clangSerialization)
-
- set(LLD_LIBS
- lldELF
-@@ -218,8 +222,20 @@ if (LLVM_LINK_LLVM_DYLIB)
- else()
- llvm_map_components_to_libnames(LLVM_LIBS
- ${LLVM_TARGETS_TO_BUILD}
-+ Option
- DebugInfoDWARF
-- Symbolize)
-+ Symbolize
-+ Support
-+ Object
-+ BitWriter
-+ MC
-+ MCParser
-+ MCDisassembler
-+ Core
-+ IRReader
-+ CodeGen
-+ Linker
-+ BinaryFormat)
- endif()
-
- target_link_libraries(amd_comgr
diff --git a/dev-libs/rocm-comgr/files/rocm-comgr-4.3.0_strip-usr-include.patch b/dev-libs/rocm-comgr/files/rocm-comgr-4.3.0_strip-usr-include.patch
deleted file mode 100644
index 9d722a57d2a6..000000000000
--- a/dev-libs/rocm-comgr/files/rocm-comgr-4.3.0_strip-usr-include.patch
+++ /dev/null
@@ -1,16 +0,0 @@
-On Gentoo, ROCM_PATH=/usr we do not need to set -I${ROCM_PATH}/include.
-Actually it is harmful to the `include_next`s.
-
-Index: ROCm-CompilerSupport-rocm-4.3.0/lib/comgr/src/comgr-compiler.cpp
-===================================================================
---- comgr/src/comgr-compiler.cpp
-+++ comgr/src/comgr-compiler.cpp
-@@ -927,8 +927,6 @@ AMDGPUCompiler::addTargetIdentifierFlags
-
- amd_comgr_status_t AMDGPUCompiler::addCompilationFlags() {
- HIPIncludePath = (Twine(env::getHIPPath()) + "/include").str();
-- // HIP headers depend on hsa.h which is in ROCM_DIR/include.
-- ROCMIncludePath = (Twine(env::getROCMPath()) + "/include").str();
- ClangIncludePath =
- (Twine(env::getLLVMPath()) + "/lib/clang/" + CLANG_VERSION_STRING).str();
- ClangIncludePath2 = (Twine(env::getLLVMPath()) + "/lib/clang/" +
diff --git a/dev-libs/rocm-comgr/files/rocm-comgr-4.5.2-dependencies.patch b/dev-libs/rocm-comgr/files/rocm-comgr-4.5.2-dependencies.patch
new file mode 100644
index 000000000000..13cff2e52dfe
--- /dev/null
+++ b/dev-libs/rocm-comgr/files/rocm-comgr-4.5.2-dependencies.patch
@@ -0,0 +1,53 @@
+https://github.com/RadeonOpenCompute/ROCm-CompilerSupport/pull/25
+
+From c65cba2e73f9118e128b9ab7e655ee0f8a7798e7 Mon Sep 17 00:00:00 2001
+From: Craig Andrews <candrews@integralblue.com>
+Date: Sun, 1 Mar 2020 19:24:22 -0500
+Subject: [PATCH] Link additional required LLVM libraries
+
+Without these additional required dependencies, linking fails with errors such as:
+`undefined reference to llvm::errs()'`
+---
+ CMakeLists.txt | 20 ++++++++++++++++++--
+ 1 file changed, 18 insertions(+), 2 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 1794a07..c7b852a 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -207,7 +207,11 @@ install(FILES
+ DESTINATION "${AMD_COMGR_PACKAGE_PREFIX}")
+
+ set(CLANG_LIBS
+- clangFrontendTool)
++ clangFrontendTool
++ clangFrontend
++ clangBasic
++ clangDriver
++ clangSerialization)
+
+ set(LLD_LIBS
+ lldELF
+@@ -218,8 +222,21 @@ if (LLVM_LINK_LLVM_DYLIB)
+ else()
+ llvm_map_components_to_libnames(LLVM_LIBS
+ ${LLVM_TARGETS_TO_BUILD}
++ Option
+ DebugInfoDWARF
+- Symbolize)
++ Symbolize
++ Support
++ Object
++ BitWriter
++ MC
++ MCParser
++ MCDisassembler
++ Core
++ IRReader
++ CodeGen
++ Linker
++ Demangle
++ BinaryFormat)
+ endif()
+
+ target_link_libraries(amd_comgr
diff --git a/dev-libs/rocm-comgr/files/rocm-comgr-5.0-rocm_path.patch b/dev-libs/rocm-comgr/files/rocm-comgr-5.0-rocm_path.patch
new file mode 100644
index 000000000000..6e908847a54f
--- /dev/null
+++ b/dev-libs/rocm-comgr/files/rocm-comgr-5.0-rocm_path.patch
@@ -0,0 +1,14 @@
+Index: comgr/src/comgr-env.cpp
+===================================================================
+--- comgr.orig/src/comgr-env.cpp
++++ comgr/src/comgr-env.cpp
+@@ -247,6 +247,9 @@ InstallationDetector *getDetectorImpl()
+ if (EnvROCMPath) {
+ ROCmInstallPath = EnvROCMPath;
+ }
++ else {
++ ROCmInstallPath = "@GENTOO_PORTAGE_EPREFIX@/usr";
++ }
+
+ InstallationDetector *Detector;
+ if (ROCmInstallPath == "") {
diff --git a/dev-libs/rocm-comgr/files/rocm-comgr-5.1.3-Find-CLANG_RESOURCE_DIR.patch b/dev-libs/rocm-comgr/files/rocm-comgr-5.1.3-Find-CLANG_RESOURCE_DIR.patch
new file mode 100644
index 000000000000..362f5fcf16ca
--- /dev/null
+++ b/dev-libs/rocm-comgr/files/rocm-comgr-5.1.3-Find-CLANG_RESOURCE_DIR.patch
@@ -0,0 +1,71 @@
+From 4c01c63a49af5748a8ee698553aa107803b60362 Mon Sep 17 00:00:00 2001
+From: Yiyang Wu <xgreenlandforwyy@gmail.com>
+Date: Tue, 14 Jun 2022 20:21:22 +0800
+Subject: [PATCH] Find CLANG_RESOURCE_DIR using clang -print-resource-dir
+
+Suggested-By: https://reviews.llvm.org/D49486
+Signed-off-by: Yiyang Wu <xgreenlandforwyy@gmail.com>
+---
+ lib/comgr/cmake/opencl_pch.cmake | 24 +++---------------------
+ 1 file changed, 3 insertions(+), 21 deletions(-)
+
+Index: comgr/cmake/opencl_pch.cmake
+===================================================================
+--- comgr.orig/cmake/opencl_pch.cmake
++++ comgr/cmake/opencl_pch.cmake
+@@ -1,26 +1,8 @@
+ if(CMAKE_SOURCE_DIR STREQUAL CMAKE_CURRENT_SOURCE_DIR)
+ find_package(Clang REQUIRED CONFIG)
+-
+- # FIXME: CLANG_CMAKE_DIR seems like the most stable way to find this, but
+- # really there is no way to reliably discover this header.
+- #
+- # We effectively back up to the Clang output directory (for the case of a build
+- # tree) or install prefix (for the case of an installed copy), and then search
+- # for a file named opencl-c.h anywhere below that. We take the first result in
+- # the case where there are multiple (e.g. if there is an installed copy nested
+- # in a build directory). This is a bit imprecise, but it covers cases like MSVC
+- # adding some additional configuration-specific subdirectories to the build
+- # tree but not to an installed copy.
+- file(GLOB_RECURSE OPENCL_C_H_LIST "${CLANG_CMAKE_DIR}/../../../*/opencl-c.h")
+-
+- list(GET OPENCL_C_H_LIST 0 OPENCL_C_H)
+-
+- if (NOT EXISTS "${OPENCL_C_H}" OR IS_DIRECTORY "${OPENCL_C_H}")
+- message(FATAL_ERROR "Unable to locate opencl-c.h from the supplied Clang. The path '${CLANG_CMAKE_DIR}/../../../*' was searched.")
+- endif()
+-else()
+- get_target_property(clang_build_header_dir clang-resource-headers RUNTIME_OUTPUT_DIRECTORY)
+- set(OPENCL_C_H "${clang_build_header_dir}/opencl-c.h")
++ execute_process(COMMAND "${CLANG_INSTALL_PREFIX}/bin/clang" -print-resource-dir OUTPUT_VARIABLE CLANG_RESOURCE_DIR)
++ string(STRIP ${CLANG_RESOURCE_DIR} CLANG_RESOURCE_DIR)
++ set(OPENCL_C_H "${CLANG_RESOURCE_DIR}/include/opencl-c.h")
+ endif()
+
+ # Macro to create and install a custom target for generating PCH for given
+Index: comgr/src/comgr-compiler.cpp
+===================================================================
+--- comgr.orig/src/comgr-compiler.cpp
++++ comgr/src/comgr-compiler.cpp
+@@ -42,6 +42,7 @@
+ #include "lld/Common/Driver.h"
+ #include "clang/Basic/Version.h"
+ #include "clang/CodeGen/CodeGenAction.h"
++#include "clang/Config/config.h"
+ #include "clang/Driver/Compilation.h"
+ #include "clang/Driver/DriverDiagnostic.h"
+ #include "clang/Driver/Job.h"
+@@ -988,11 +989,8 @@ amd_comgr_status_t AMDGPUCompiler::addCo
+ HIPIncludePath = (Twine(env::getHIPPath()) + "/include").str();
+ // HIP headers depend on hsa.h which is in ROCM_DIR/include.
+ ROCMIncludePath = (Twine(env::getROCMPath()) + "/include").str();
+- ClangIncludePath =
+- (Twine(env::getLLVMPath()) + "/lib/clang/" + CLANG_VERSION_STRING).str();
+- ClangIncludePath2 = (Twine(env::getLLVMPath()) + "/lib/clang/" +
+- CLANG_VERSION_STRING + "/include")
+- .str();
++ ClangIncludePath = (Twine(env::getLLVMPath()) + "/bin/" + CLANG_RESOURCE_DIR).str();
++ ClangIncludePath2 = (Twine(env::getLLVMPath()) + "/bin/" + CLANG_RESOURCE_DIR + "/include").str();
+
+ Args.push_back("-x");
+
diff --git a/dev-libs/rocm-comgr/files/rocm-comgr-5.1.3-clang-fix-include.patch b/dev-libs/rocm-comgr/files/rocm-comgr-5.1.3-clang-fix-include.patch
new file mode 100644
index 000000000000..6bf47c610dfc
--- /dev/null
+++ b/dev-libs/rocm-comgr/files/rocm-comgr-5.1.3-clang-fix-include.patch
@@ -0,0 +1,12 @@
+Index: comgr/src/comgr-env.h
+===================================================================
+--- comgr.orig/src/comgr-env.h
++++ comgr/src/comgr-env.h
+@@ -37,6 +37,7 @@
+ #define COMGR_ENV_H
+
+ #include "llvm/ADT/StringRef.h"
++#include "llvm/ADT/Optional.h"
+
+ namespace COMGR {
+ namespace env {
diff --git a/dev-libs/rocm-comgr/files/rocm-comgr-5.1.3-clang-link.patch b/dev-libs/rocm-comgr/files/rocm-comgr-5.1.3-clang-link.patch
new file mode 100644
index 000000000000..0e2a9a668216
--- /dev/null
+++ b/dev-libs/rocm-comgr/files/rocm-comgr-5.1.3-clang-link.patch
@@ -0,0 +1,17 @@
+Index: comgr/CMakeLists.txt
+===================================================================
+--- comgr.orig/CMakeLists.txt
++++ comgr/CMakeLists.txt
+@@ -283,11 +283,7 @@ install(FILES
+ DESTINATION "${AMD_COMGR_PACKAGE_PREFIX}")
+
+ set(CLANG_LIBS
+- clangFrontendTool
+- clangFrontend
+- clangBasic
+- clangDriver
+- clangSerialization)
++ clang-cpp)
+
+ set(LLD_LIBS
+ lldELF
diff --git a/dev-libs/rocm-comgr/files/rocm-comgr-5.1.3-llvm-15-args-changed b/dev-libs/rocm-comgr/files/rocm-comgr-5.1.3-llvm-15-args-changed
new file mode 100644
index 000000000000..545b1c632182
--- /dev/null
+++ b/dev-libs/rocm-comgr/files/rocm-comgr-5.1.3-llvm-15-args-changed
@@ -0,0 +1,20 @@
+--- a/src/comgr-compiler.cpp
++++ b/src/comgr-compiler.cpp
+@@ -453,7 +453,7 @@ static bool executeAssemblerImpl(AssemblerInvocation &Opts,
+ std::unique_ptr<MCCodeEmitter> MCE;
+ std::unique_ptr<MCAsmBackend> MAB;
+ if (Opts.ShowEncoding) {
+- MCE.reset(TheTarget->createMCCodeEmitter(*MCII, *MRI, Ctx));
++ MCE.reset(TheTarget->createMCCodeEmitter(*MCII, Ctx));
+ MCTargetOptions Options;
+ MAB.reset(TheTarget->createMCAsmBackend(*STI, *MRI, Options));
+ }
+@@ -472,7 +472,7 @@ static bool executeAssemblerImpl(AssemblerInvocation &Opts,
+ Out = BOS.get();
+ }
+
+- MCCodeEmitter *CE = TheTarget->createMCCodeEmitter(*MCII, *MRI, Ctx);
++ MCCodeEmitter *CE = TheTarget->createMCCodeEmitter(*MCII, Ctx);
+ MCTargetOptions Options;
+ MCAsmBackend *MAB = TheTarget->createMCAsmBackend(*STI, *MRI, Options);
+ Triple T(Opts.Triple);
diff --git a/dev-libs/rocm-comgr/files/rocm-comgr-5.1.3-llvm-15-remove-zlib-gnu b/dev-libs/rocm-comgr/files/rocm-comgr-5.1.3-llvm-15-remove-zlib-gnu
new file mode 100644
index 000000000000..41e51a407ba9
--- /dev/null
+++ b/dev-libs/rocm-comgr/files/rocm-comgr-5.1.3-llvm-15-remove-zlib-gnu
@@ -0,0 +1,17 @@
+--- a/src/comgr-compiler.cpp
++++ b/src/comgr-compiler.cpp
+@@ -244,13 +244,12 @@ bool AssemblerInvocation::createFromArgs(AssemblerInvocation &Opts,
+ OPT_compress_debug_sections_EQ)) {
+ if (A->getOption().getID() == OPT_compress_debug_sections) {
+ // TODO: be more clever about the compression type auto-detection
+- Opts.CompressDebugSections = llvm::DebugCompressionType::GNU;
++ Opts.CompressDebugSections = llvm::DebugCompressionType::Z;
+ } else {
+ Opts.CompressDebugSections =
+ llvm::StringSwitch<llvm::DebugCompressionType>(A->getValue())
+ .Case("none", llvm::DebugCompressionType::None)
+ .Case("zlib", llvm::DebugCompressionType::Z)
+- .Case("zlib-gnu", llvm::DebugCompressionType::GNU)
+ .Default(llvm::DebugCompressionType::None);
+ }
+ }
diff --git a/dev-libs/rocm-comgr/files/rocm-comgr-5.1.3-rocm-path.patch b/dev-libs/rocm-comgr/files/rocm-comgr-5.1.3-rocm-path.patch
new file mode 100644
index 000000000000..c6d39715e864
--- /dev/null
+++ b/dev-libs/rocm-comgr/files/rocm-comgr-5.1.3-rocm-path.patch
@@ -0,0 +1,14 @@
+Add --rocm-path=/usr argument in runtime because our rocm path is not in default seach list.
+--- comgr/src/comgr-compiler.cpp
++++ comgr.orig/src/comgr-compiler.cpp
+@@ -1096,6 +1096,10 @@
+ }
+ }
+ }
++ else {
++ llvm::SmallString<128> RealRocmDir = env::getLLVMPath();
++ Args.push_back(Saver.save(Twine("--rocm-path=") + RealRocmDir).data());
++ }
+
+ return processFiles(AMD_COMGR_DATA_KIND_BC, ".bc");
+ }
diff --git a/dev-libs/rocm-comgr/files/rocm-comgr-5.3.3-HIPIncludePath-not-needed.patch b/dev-libs/rocm-comgr/files/rocm-comgr-5.3.3-HIPIncludePath-not-needed.patch
new file mode 100644
index 000000000000..54b98726026f
--- /dev/null
+++ b/dev-libs/rocm-comgr/files/rocm-comgr-5.3.3-HIPIncludePath-not-needed.patch
@@ -0,0 +1,15 @@
+ROCM and HIPIncludePath is now /usr, which disturb the include order
+===================================================================
+--- comgr.orig/src/comgr-compiler.cpp
++++ comgr/src/comgr-compiler.cpp
+@@ -1010,10 +1010,6 @@ amd_comgr_status_t AMDGPUCompiler::addCo
+ Args.push_back("x86_64-unknown-linux-gnu");
+ Args.push_back("--cuda-device-only");
+ Args.push_back("-nogpulib");
+- Args.push_back("-isystem");
+- Args.push_back(ROCMIncludePath.c_str());
+- Args.push_back("-isystem");
+- Args.push_back(HIPIncludePath.c_str());
+ break;
+ default:
+ return AMD_COMGR_STATUS_ERROR_INVALID_ARGUMENT;
diff --git a/dev-libs/rocm-comgr/files/rocm-comgr-5.3.3-fix-tests.patch b/dev-libs/rocm-comgr/files/rocm-comgr-5.3.3-fix-tests.patch
new file mode 100644
index 000000000000..08a40460c762
--- /dev/null
+++ b/dev-libs/rocm-comgr/files/rocm-comgr-5.3.3-fix-tests.patch
@@ -0,0 +1,17 @@
+Vanilla LLVM does not support calling AMDGPU_KERNEL across different sources/bitcodes.
+Without this patch https://github.com/RadeonOpenCompute/ROCm-CompilerSupport/issues/45 occurs.
+Reference: https://github.com/llvm/llvm-project/issues/60313
+===================================================================
+--- comgr.orig/test/source1.cl
++++ comgr/test/source1.cl
+@@ -35,7 +35,9 @@
+
+ #include "include-a.h"
+
++void kernel source3(__global int *j) { *j = FOO; }
++
+ void kernel source1(__global int *j) {
+ *j += 2;
+- source2(j);
++ source3(j);
+ }
diff --git a/dev-libs/rocm-comgr/files/rocm-comgr-5.3.3-fno-stack-protector.patch b/dev-libs/rocm-comgr/files/rocm-comgr-5.3.3-fno-stack-protector.patch
new file mode 100644
index 000000000000..c8d078ee8946
--- /dev/null
+++ b/dev-libs/rocm-comgr/files/rocm-comgr-5.3.3-fno-stack-protector.patch
@@ -0,0 +1,14 @@
+This add -fno-stack-protector to all compilation, since -f-stack-protector is currently unsupported by ROCm
+Reference: https://bugs.gentoo.org/890377
+index 465187e..0baf925 100644
+--- a/src/comgr-compiler.cpp
++++ b/src/comgr-compiler.cpp
+@@ -850,6 +850,8 @@ amd_comgr_status_t AMDGPUCompiler::processFile(const char *InputFilePath,
+ Argv.push_back(Arg);
+ }
+
++ Argv.push_back("-fno-stack-protector");
++
+ for (auto &Option : ActionInfo->getOptions()) {
+ Argv.push_back(Option.c_str());
+ if (Option.rfind("--rocm-path", 0) == 0) {
diff --git a/dev-libs/rocm-comgr/files/rocm-comgr-5.3.3-remove-h-option.patch b/dev-libs/rocm-comgr/files/rocm-comgr-5.3.3-remove-h-option.patch
new file mode 100644
index 000000000000..1346ba4ef04d
--- /dev/null
+++ b/dev-libs/rocm-comgr/files/rocm-comgr-5.3.3-remove-h-option.patch
@@ -0,0 +1,43 @@
+https://github.com/RadeonOpenCompute/ROCm-CompilerSupport/commit/2d05f9e480cbc591a6b888dfd49d9f7ef1bef25f
+Reference: https://github.com/RadeonOpenCompute/ROCm-CompilerSupport/issues/52
+Reference: https://bugs.gentoo.org/851702#c37
+This unblocks building blender with HIP cycles support
+======================================================================
+From 2d05f9e480cbc591a6b888dfd49d9f7ef1bef25f Mon Sep 17 00:00:00 2001
+From: Jacob Lambert <jacob.lambert@amd.com>
+Date: Thu, 12 Jan 2023 08:45:38 -0800
+Subject: [PATCH] Remove -h option from comgr-objdump
+
+The -h option (short for -headers) is a legal objdump option.
+However registering this as an LLVM option by Comgr prevents other
+LLVM tools or instances from registering a -h option in the same
+process, which is an issue because -h is a common short form for
+-help.
+
+A long term solution will be to libraryize llvm-obj dump, and
+call it in Comgr via an API instead of re-implementation, which
+will eliminate the need for Comgr to register any LLVM options for
+objdump.
+
+Change-Id: Ieb1981aeb1826422647fd301c4827e2bfb370560
+---
+ lib/comgr/src/comgr-objdump.cpp | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/lib/comgr/src/comgr-objdump.cpp b/lib/comgr/src/comgr-objdump.cpp
+index 6d20a3c..ead69fe 100644
+--- a/src/comgr-objdump.cpp
++++ b/src/comgr-objdump.cpp
+@@ -175,9 +175,9 @@ cl::opt<bool> SectionHeaders("section-headers",
+ static cl::alias SectionHeadersShort("headers",
+ cl::desc("Alias for --section-headers"),
+ cl::aliasopt(SectionHeaders));
+-static cl::alias SectionHeadersShorter("h",
+- cl::desc("Alias for --section-headers"),
+- cl::aliasopt(SectionHeaders));
++// The following option has been removed to avoid conflicts with
++// other llvm tools/instances also attempting to register a -h option
++// static cl::alias SectionHeadersShorter("h", ...)
+
+ cl::list<std::string>
+ FilterSections("section",
diff --git a/dev-libs/rocm-comgr/files/rocm-comgr-5.5.1-fix-tests.patch b/dev-libs/rocm-comgr/files/rocm-comgr-5.5.1-fix-tests.patch
new file mode 100644
index 000000000000..9fd14df196a2
--- /dev/null
+++ b/dev-libs/rocm-comgr/files/rocm-comgr-5.5.1-fix-tests.patch
@@ -0,0 +1,17 @@
+Vanilla LLVM does not support calling AMDGPU_KERNEL across different sources/bitcodes.
+Without this patch https://github.com/RadeonOpenCompute/ROCm-CompilerSupport/issues/45 occurs.
+Reference: https://github.com/llvm/llvm-project/issues/60313
+===================================================================
+--- comgr.orig/test/source/source1.cl
++++ comgr/test/source/source1.cl
+@@ -35,7 +35,9 @@
+
+ #include "include-a.h"
+
++void kernel source3(__global int *j) { *j = FOO; }
++
+ void kernel source1(__global int *j) {
+ *j += 2;
+- source2(j);
++ source3(j);
+ }
diff --git a/dev-libs/rocm-comgr/files/rocm-comgr-5.5.1-lld-include.patch b/dev-libs/rocm-comgr/files/rocm-comgr-5.5.1-lld-include.patch
new file mode 100644
index 000000000000..96df9291eb86
--- /dev/null
+++ b/dev-libs/rocm-comgr/files/rocm-comgr-5.5.1-lld-include.patch
@@ -0,0 +1,22 @@
+From 271fddf65f43675e675f0cb4e9aaa3d27d34c58a Mon Sep 17 00:00:00 2001
+From: Ron Lieberman <ron.lieberman@amd.com>
+Date: Thu, 29 Dec 2022 05:17:41 -0600
+Subject: [PATCH] [llvm merge] add include of lld/Common/CommonLinkerContext.h
+
+Change-Id: I5767b4c1e683e9df9146804ba23ef3c0c0b6c07a
+---
+ lib/comgr/src/comgr-compiler.cpp | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/lib/comgr/src/comgr-compiler.cpp b/lib/comgr/src/comgr-compiler.cpp
+index 2a7362a..bb1c9d3 100644
+--- comgr/src/comgr-compiler.cpp
++++ comgr/src/comgr-compiler.cpp
+@@ -39,6 +39,7 @@
+ #include "comgr-compiler.h"
+ #include "comgr-device-libs.h"
+ #include "comgr-env.h"
++#include "lld/Common/CommonLinkerContext.h"
+ #include "lld/Common/Driver.h"
+ #include "clang/Basic/Version.h"
+ #include "clang/CodeGen/CodeGenAction.h"
diff --git a/dev-libs/rocm-comgr/files/rocm-comgr-5.5.1-nullopt.patch b/dev-libs/rocm-comgr/files/rocm-comgr-5.5.1-nullopt.patch
new file mode 100644
index 000000000000..8bb07b55a3ab
--- /dev/null
+++ b/dev-libs/rocm-comgr/files/rocm-comgr-5.5.1-nullopt.patch
@@ -0,0 +1,23 @@
+From e1da67c6acb2b0e4a8f9c05c89e3778252ea5aa7 Mon Sep 17 00:00:00 2001
+From: Ron Lieberman <ron.lieberman@amd.com>
+Date: Sat, 17 Dec 2022 19:58:26 -0600
+Subject: [PATCH] None -> std::nullopt
+
+Change-Id: I1cc241aa47de538f9f5b1c12cb5655aca8a4502f
+---
+ lib/comgr/src/comgr-env.cpp | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/lib/comgr/src/comgr-env.cpp b/lib/comgr/src/comgr-env.cpp
+index 742f4d4..6ab6f0f 100644
+--- comgr/src/comgr-env.cpp
++++ comgr/src/comgr-env.cpp
+@@ -53,7 +53,7 @@ bool shouldSaveTemps() {
+ Optional<StringRef> getRedirectLogs() {
+ static char *RedirectLogs = getenv("AMD_COMGR_REDIRECT_LOGS");
+ if (!RedirectLogs || StringRef(RedirectLogs) == "0") {
+- return None;
++ return std::nullopt;
+ }
+ return StringRef(RedirectLogs);
+ }
diff --git a/dev-libs/rocm-comgr/files/rocm-comgr-5.5.1-opt_mrelax.patch b/dev-libs/rocm-comgr/files/rocm-comgr-5.5.1-opt_mrelax.patch
new file mode 100644
index 000000000000..aa3e7c370a53
--- /dev/null
+++ b/dev-libs/rocm-comgr/files/rocm-comgr-5.5.1-opt_mrelax.patch
@@ -0,0 +1,23 @@
+From b582dfb33fdb51065c22800fe02dd83207185664 Mon Sep 17 00:00:00 2001
+From: Ron Lieberman <ron.lieberman@amd.com>
+Date: Sun, 1 Jan 2023 10:35:49 -0600
+Subject: [PATCH] [llvm] move to inverted OPT_mrelax_relocations_no
+
+Change-Id: I95e48e8acf5b9124d25e5e7b86c418f1a0d9389d
+---
+ lib/comgr/src/comgr-compiler.cpp | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/lib/comgr/src/comgr-compiler.cpp b/lib/comgr/src/comgr-compiler.cpp
+index bb1c9d3..95c1bb4 100644
+--- comgr/src/comgr-compiler.cpp
++++ comgr/src/comgr-compiler.cpp
+@@ -259,7 +259,7 @@ bool AssemblerInvocation::createFromArgs(AssemblerInvocation &Opts,
+ }
+ }
+
+- Opts.RelaxELFRelocations = Args.hasArg(OPT_mrelax_relocations);
++ Opts.RelaxELFRelocations = !Args.hasArg(OPT_mrelax_relocations_no);
+ Opts.DwarfVersion = getLastArgIntValue(Args, OPT_dwarf_version_EQ, 2, Diags);
+ Opts.DwarfDebugFlags =
+ std::string(Args.getLastArgValue(OPT_dwarf_debug_flags));
diff --git a/dev-libs/rocm-comgr/files/rocm-comgr-5.5.1-subtargetfeatures.patch b/dev-libs/rocm-comgr/files/rocm-comgr-5.5.1-subtargetfeatures.patch
new file mode 100644
index 000000000000..340df3852fc2
--- /dev/null
+++ b/dev-libs/rocm-comgr/files/rocm-comgr-5.5.1-subtargetfeatures.patch
@@ -0,0 +1,26 @@
+From 48c682d577a7955256d0bfac5d497b3feebff11c Mon Sep 17 00:00:00 2001
+From: Ron Lieberman <ron.lieberman@amd.com>
+Date: Mon, 16 Jan 2023 14:29:05 -0600
+Subject: [PATCH] [llvm merge] Move to Expected on SubtargetFeatures
+
+Change-Id: I060ceaa2b51eaa6ed1b472ea42c6788b98001088
+---
+ lib/comgr/src/comgr-objdump.cpp | 5 ++++-
+ 1 file changed, 4 insertions(+), 1 deletion(-)
+
+diff --git a/lib/comgr/src/comgr-objdump.cpp b/lib/comgr/src/comgr-objdump.cpp
+index 86a5d7f..6d20a3c 100644
+--- comgr/src/comgr-objdump.cpp
++++ comgr/src/comgr-objdump.cpp
+@@ -1270,7 +1270,10 @@ void llvm::DisassemHelper::DisassembleObject(const ObjectFile *Obj,
+ const Target *TheTarget = getTarget(Obj);
+
+ // Package up features to be passed to target/subtarget
+- SubtargetFeatures Features = Obj->getFeatures();
++ Expected<SubtargetFeatures> FeaturesValue = Obj->getFeatures();
++ if (!FeaturesValue)
++ WithColor::error(errs(), ToolName) << FeaturesValue.takeError();
++ SubtargetFeatures Features = *FeaturesValue;
+ std::vector<std::string> MAttrs = lld::getMAttrs();
+ if (MAttrs.size()) {
+ for (unsigned I = 0; I != MAttrs.size(); ++I) {
diff --git a/dev-libs/rocm-comgr/files/rocm-comgr-5.7.0-disassembly.patch b/dev-libs/rocm-comgr/files/rocm-comgr-5.7.0-disassembly.patch
new file mode 100644
index 000000000000..6c1052b0b968
--- /dev/null
+++ b/dev-libs/rocm-comgr/files/rocm-comgr-5.7.0-disassembly.patch
@@ -0,0 +1,20 @@
+commit 446d142de276a8ca1039798726a2b81937ece952
+Author: Ron Lieberman <ron.lieberman@amd.com>
+Date: Thu Jul 13 19:42:47 2023 -0500
+
+ add #include llvm/ADT/StringExtras.h to comgr-disassembly.cpp
+
+ Change-Id: Id0086adec6e33db55769a12f6a886202c8afd9e0
+
+diff --git a/src/comgr-disassembly.cpp b/src/comgr-disassembly.cpp
+index 8703c0d..31e9634 100644
+--- a/src/comgr-disassembly.cpp
++++ b/src/comgr-disassembly.cpp
+@@ -34,6 +34,7 @@
+ ******************************************************************************/
+
+ #include "comgr-disassembly.h"
++#include "llvm/ADT/StringExtras.h"
+ #include "llvm/MC/TargetRegistry.h"
+
+ using namespace llvm;
diff --git a/dev-libs/rocm-comgr/files/rocm-comgr-5.7.0-lld.patch b/dev-libs/rocm-comgr/files/rocm-comgr-5.7.0-lld.patch
new file mode 100644
index 000000000000..ee21b87fb782
--- /dev/null
+++ b/dev-libs/rocm-comgr/files/rocm-comgr-5.7.0-lld.patch
@@ -0,0 +1,39 @@
+commit 3f4486f33bdeff6d705431b7a3b6cb5d064cc2b2
+Author: Scott Linder <Scott.Linder@amd.com>
+Date: Mon Jun 19 19:24:26 2023 +0000
+
+ Update to use lld::lldMain introduced in D119049
+
+ Change-Id: I9dd8de3f599fab14b62f482352ae43874ff87373
+
+diff --git a/src/comgr-compiler.cpp b/src/comgr-compiler.cpp
+index 30e838c..7b51d3f 100644
+--- a/src/comgr-compiler.cpp
++++ b/src/comgr-compiler.cpp
+@@ -85,6 +85,8 @@
+
+ #include <csignal>
+
++LLD_HAS_DRIVER(elf)
++
+ using namespace llvm;
+ using namespace llvm::opt;
+ using namespace llvm::sys;
+@@ -614,13 +616,14 @@ static amd_comgr_status_t linkWithLLD(llvm::ArrayRef<const char *> Args,
+ llvm::raw_ostream &LogE) {
+ ArgStringList LLDArgs(llvm::iterator_range<ArrayRef<const char *>::iterator>(
+ Args.begin(), Args.end()));
+- LLDArgs.insert(LLDArgs.begin(), "lld");
++ LLDArgs.insert(LLDArgs.begin(), "ld.lld");
+ LLDArgs.push_back("--threads=1");
+
+ ArrayRef<const char *> ArgRefs = llvm::ArrayRef(LLDArgs);
+- bool LLDRet = lld::elf::link(ArgRefs, LogS, LogE, false, false);
++ lld::Result LLDRet =
++ lld::lldMain(ArgRefs, LogS, LogE, {{lld::Gnu, &lld::elf::link}});
+ lld::CommonLinkerContext::destroy();
+- if (!LLDRet) {
++ if (LLDRet.retCode || !LLDRet.canRunAgain) {
+ return AMD_COMGR_STATUS_ERROR;
+ }
+ return AMD_COMGR_STATUS_SUCCESS;
diff --git a/dev-libs/rocm-comgr/files/rocm-comgr-5.7.0-metadata.patch b/dev-libs/rocm-comgr/files/rocm-comgr-5.7.0-metadata.patch
new file mode 100644
index 000000000000..78fc4f34f45c
--- /dev/null
+++ b/dev-libs/rocm-comgr/files/rocm-comgr-5.7.0-metadata.patch
@@ -0,0 +1,73 @@
+commit edea3631e2c1cd49c93f6fff883fea2affdfa2d1
+Author: Konstantin Zhuravlyov <kzhuravl_dev@outlook.com>
+Date: Wed May 10 15:52:09 2023 -0400
+
+ Update getDesc* functions due to 689715fx
+
+ Change-Id: I0e8058ceb8a04550fe6c17d74babcf5fe0ee609d
+
+diff --git a/src/comgr-metadata.cpp b/src/comgr-metadata.cpp
+index a3375b4..72aeb01 100644
+--- a/src/comgr-metadata.cpp
++++ b/src/comgr-metadata.cpp
+@@ -223,7 +223,7 @@ static bool mergeNoteRecords(llvm::msgpack::DocNode &From,
+ template <class ELFT>
+ static bool processNote(const Elf_Note<ELFT> &Note, DataMeta *MetaP,
+ llvm::msgpack::DocNode &Root) {
+- auto DescString = Note.getDescAsStringRef();
++ auto DescString = Note.getDescAsStringRef(4);
+
+ if (Note.getName() == "AMD" && Note.getType() == ELF::NT_AMD_HSA_METADATA) {
+
+@@ -557,7 +557,7 @@ getElfIsaNameFromElfNotes(const ELFObjectFile<ELFT> *Obj,
+
+ switch (Note.getType()) {
+ case ELF::NT_AMD_HSA_CODE_OBJECT_VERSION: {
+- if (Note.getDesc().size() <
++ if (Note.getDesc(4).size() <
+ sizeof(amdgpu_hsa_note_code_object_version_s)) {
+ IsError = true;
+ return true;
+@@ -565,7 +565,7 @@ getElfIsaNameFromElfNotes(const ELFObjectFile<ELFT> *Obj,
+
+ const auto *NoteCodeObjectVersion =
+ reinterpret_cast<const amdgpu_hsa_note_code_object_version_s *>(
+- Note.getDesc().data());
++ Note.getDesc(4).data());
+
+ // Only code objects up to version 2 used note records.
+ if (NoteCodeObjectVersion->major_version > 2) {
+@@ -578,7 +578,7 @@ getElfIsaNameFromElfNotes(const ELFObjectFile<ELFT> *Obj,
+ }
+
+ case ELF::NT_AMD_HSA_HSAIL: {
+- if (Note.getDesc().size() < sizeof(amdgpu_hsa_note_hsail_s)) {
++ if (Note.getDesc(4).size() < sizeof(amdgpu_hsa_note_hsail_s)) {
+ IsError = true;
+ return true;
+ }
+@@ -588,21 +588,21 @@ getElfIsaNameFromElfNotes(const ELFObjectFile<ELFT> *Obj,
+ }
+
+ case ELF::NT_AMD_HSA_ISA_VERSION: {
+- if (Note.getDesc().size() <
++ if (Note.getDesc(4).size() <
+ offsetof(amdgpu_hsa_note_isa_s, vendor_and_architecture_name)) {
+ IsError = true;
+ return true;
+ }
+
+ const auto *NoteIsa = reinterpret_cast<const amdgpu_hsa_note_isa_s *>(
+- Note.getDesc().data());
++ Note.getDesc(4).data());
+
+ if (!NoteIsa->vendor_name_size || !NoteIsa->architecture_name_size) {
+ IsError = true;
+ return true;
+ }
+
+- if (Note.getDesc().size() <
++ if (Note.getDesc(4).size() <
+ offsetof(amdgpu_hsa_note_isa_s, vendor_and_architecture_name) +
+ NoteIsa->vendor_name_size + NoteIsa->architecture_name_size) {
+ IsError = true;
diff --git a/dev-libs/rocm-comgr/files/rocm-comgr-5.7.0-optional.patch b/dev-libs/rocm-comgr/files/rocm-comgr-5.7.0-optional.patch
new file mode 100644
index 000000000000..ed52186d98ae
--- /dev/null
+++ b/dev-libs/rocm-comgr/files/rocm-comgr-5.7.0-optional.patch
@@ -0,0 +1,113 @@
+From 9417620c9802331c4abf0cf4c57f40ec4b38a5e7 Mon Sep 17 00:00:00 2001
+From: Ron Lieberman <ron.lieberman@amd.com>
+Date: Thu, 1 Jun 2023 13:19:28 -0500
+Subject: [PATCH] [llvm] change from Optional to std::optional in support of
+ pending llvm patch
+
+Change-Id: If8a03245dc88e7b7e4a628d7ce7e28c71c3268c6
+---
+ lib/comgr/src/comgr-env.cpp | 2 +-
+ lib/comgr/src/comgr-env.h | 3 +--
+ lib/comgr/src/comgr-objdump.cpp | 5 ++---
+ lib/comgr/src/comgr.cpp | 2 +-
+ lib/comgr/src/time-stat/time-stat.cpp | 3 +--
+ 5 files changed, 6 insertions(+), 9 deletions(-)
+
+diff --git a/src/comgr-env.cpp b/src/comgr-env.cpp
+index 6ab6f0f..7575394 100644
+--- a/src/comgr-env.cpp
++++ b/src/comgr-env.cpp
+@@ -50,7 +50,7 @@ bool shouldSaveTemps() {
+ return SaveTemps && StringRef(SaveTemps) != "0";
+ }
+
+-Optional<StringRef> getRedirectLogs() {
++std::optional<StringRef> getRedirectLogs() {
+ static char *RedirectLogs = getenv("AMD_COMGR_REDIRECT_LOGS");
+ if (!RedirectLogs || StringRef(RedirectLogs) == "0") {
+ return std::nullopt;
+diff --git a/src/comgr-env.h b/src/comgr-env.h
+index aef57b3..7ca644e 100644
+--- a/src/comgr-env.h
++++ b/src/comgr-env.h
+@@ -36,7 +36,6 @@
+ #ifndef COMGR_ENV_H
+ #define COMGR_ENV_H
+
+-#include "llvm/ADT/Optional.h"
+ #include "llvm/ADT/StringRef.h"
+
+ namespace COMGR {
+@@ -47,7 +46,7 @@ bool shouldSaveTemps();
+
+ /// If the environment requests logs be redirected, return the string identifier
+ /// of where to redirect. Otherwise return @p None.
+-llvm::Optional<llvm::StringRef> getRedirectLogs();
++std::optional<llvm::StringRef> getRedirectLogs();
+
+ /// Return whether the environment requests verbose logging.
+ bool shouldEmitVerboseLogs();
+diff --git a/src/comgr-objdump.cpp b/src/comgr-objdump.cpp
+index ff3f996..cae7aa3 100644
+--- a/src/comgr-objdump.cpp
++++ b/src/comgr-objdump.cpp
+@@ -39,7 +39,6 @@
+ #include "comgr-objdump.h"
+ #include "comgr.h"
+ #include "lld/Common/TargetOptionsCommandFlags.h"
+-#include "llvm/ADT/Optional.h"
+ #include "llvm/ADT/STLExtras.h"
+ #include "llvm/ADT/StringExtras.h"
+ #include "llvm/CodeGen/CommandFlags.h"
+@@ -2145,7 +2144,7 @@ void llvm::DisassemHelper::printRawClangAST(const ObjectFile *Obj) {
+ ClangASTSectionName = "clangast";
+ }
+
+- Optional<object::SectionRef> ClangASTSection;
++ std::optional<object::SectionRef> ClangASTSection;
+ for (auto Sec : toolSectionFilter(*Obj)) {
+ StringRef Name;
+ auto NameOrErr = Sec.getName();
+@@ -2188,7 +2187,7 @@ void llvm::DisassemHelper::printFaultMaps(const ObjectFile *Obj) {
+ return;
+ }
+
+- Optional<object::SectionRef> FaultMapSection;
++ std::optional<object::SectionRef> FaultMapSection;
+
+ for (auto Sec : toolSectionFilter(*Obj)) {
+ StringRef Name;
+diff --git a/src/comgr.cpp b/src/comgr.cpp
+index e421414..9e89dc2 100644
+--- a/src/comgr.cpp
++++ b/src/comgr.cpp
+@@ -1293,7 +1293,7 @@ amd_comgr_status_t AMD_COMGR_API
+ // Pointer to the currently selected log stream.
+ raw_ostream *LogP = &LogS;
+
+- if (Optional<StringRef> RedirectLogs = env::getRedirectLogs()) {
++ if (std::optional<StringRef> RedirectLogs = env::getRedirectLogs()) {
+ StringRef RedirectLog = *RedirectLogs;
+ if (RedirectLog == "stdout") {
+ LogP = &outs();
+diff --git a/src/time-stat/time-stat.cpp b/src/time-stat/time-stat.cpp
+index 1df3f0e..9b24983 100644
+--- a/src/time-stat/time-stat.cpp
++++ b/src/time-stat/time-stat.cpp
+@@ -5,7 +5,6 @@
+ #include <system_error>
+
+ #include "comgr-env.h"
+-#include "llvm/ADT/Optional.h"
+ #include "llvm/ADT/StringRef.h"
+ #include "llvm/Support/Debug.h"
+ #include "llvm/Support/FileSystem.h"
+@@ -29,7 +28,7 @@ static std::unique_ptr<PerfStats> PS = nullptr;
+ static void dump() { PS->dumpPerfStats(); }
+
+ void GetLogFile(std::string &PerfLog) {
+- if (Optional<StringRef> RedirectLogs = env::getRedirectLogs()) {
++ if (std::optional<StringRef> RedirectLogs = env::getRedirectLogs()) {
+ PerfLog = (*RedirectLogs).str();
+ return;
+ }
diff --git a/dev-libs/rocm-comgr/files/rocm-comgr-5.7.0-symbolizer.patch b/dev-libs/rocm-comgr/files/rocm-comgr-5.7.0-symbolizer.patch
new file mode 100644
index 000000000000..9c8079042bab
--- /dev/null
+++ b/dev-libs/rocm-comgr/files/rocm-comgr-5.7.0-symbolizer.patch
@@ -0,0 +1,39 @@
+
+commit 13dfb8f01ded137f634b8b6aa8a5ce2bc3e65daf
+Author: Ron Lieberman <ron.lieberman@amd.com>
+Date: Sun Apr 23 07:12:23 2023 -0500
+
+ [symbolizer] API evolution for ErrorHandler
+
+ Change-Id: I438358dc79195444aed0658942b23869eda8117e
+
+diff --git a/src/comgr-symbolizer.cpp b/src/comgr-symbolizer.cpp
+index cfdeee8..36643cf 100644
+--- a/src/comgr-symbolizer.cpp
++++ b/src/comgr-symbolizer.cpp
+@@ -57,6 +57,16 @@ static llvm::symbolize::PrinterConfig getDefaultPrinterConfig() {
+ return Config;
+ }
+
++static llvm::symbolize::ErrorHandler symbolize_error_handler(
++ llvm::raw_string_ostream &OS) {
++ return
++ [&](const llvm::ErrorInfoBase &ErrorInfo, llvm::StringRef ErrorBanner) {
++ OS << ErrorBanner;
++ ErrorInfo.log(OS);
++ OS << '\n';
++ };
++}
++
+ Symbolizer::Symbolizer(std::unique_ptr<ObjectFile> &&CodeObject,
+ PrintSymbolCallback PrintSymbol)
+ : CodeObject(std::move(CodeObject)), PrintSymbol(PrintSymbol) {}
+@@ -93,7 +103,7 @@ amd_comgr_status_t Symbolizer::symbolize(uint64_t Address, bool IsCode,
+ llvm::raw_string_ostream OS(Result);
+ llvm::symbolize::PrinterConfig Config = getDefaultPrinterConfig();
+ llvm::symbolize::Request Request{"", Address};
+- auto Printer = std::make_unique<llvm::symbolize::LLVMPrinter>(OS, OS, Config);
++ auto Printer = std::make_unique<llvm::symbolize::LLVMPrinter>(OS, symbolize_error_handler(OS), Config);
+
+ if (IsCode) {
+ auto ResOrErr = SymbolizerImpl.symbolizeInlinedCode(
diff --git a/dev-libs/rocm-comgr/files/rocm-comgr-5.7.1-correct-license-install-dir.patch b/dev-libs/rocm-comgr/files/rocm-comgr-5.7.1-correct-license-install-dir.patch
new file mode 100644
index 000000000000..8ec2c710d3ad
--- /dev/null
+++ b/dev-libs/rocm-comgr/files/rocm-comgr-5.7.1-correct-license-install-dir.patch
@@ -0,0 +1,16 @@
+Do not install same license for -asan, which avoids QA warning
+Upstream issue: https://github.com/RadeonOpenCompute/ROCm-CompilerSupport/issues/61
+===================================================================
+--- comgr.orig/CMakeLists.txt
++++ comgr/CMakeLists.txt
+@@ -281,10 +281,6 @@ install(FILES
+ "NOTICES.txt"
+ COMPONENT amd-comgr
+ DESTINATION ${CMAKE_INSTALL_DOCDIR})
+-install(FILES
+- "LICENSE.txt"
+- COMPONENT asan
+- DESTINATION ${CMAKE_INSTALL_DOCDIR}-asan)
+
+ # Generate the install-tree package.
+ set(AMD_COMGR_PREFIX_CODE "
diff --git a/dev-libs/rocm-comgr/files/rocm-comgr-5.7.1-fix-tests-rocm-path.patch b/dev-libs/rocm-comgr/files/rocm-comgr-5.7.1-fix-tests-rocm-path.patch
new file mode 100644
index 000000000000..30a44577b1aa
--- /dev/null
+++ b/dev-libs/rocm-comgr/files/rocm-comgr-5.7.1-fix-tests-rocm-path.patch
@@ -0,0 +1,12 @@
+Vanilla clang requires either -nogpulib or both --rocm-path and --rocm-device-lib-path flags
+--- a/test/CMakeLists.txt
++++ b/test/CMakeLists.txt
+@@ -39,7 +39,7 @@ endmacro()
+ macro(add_test_input_bitcode name input output)
+ add_custom_command(
+ OUTPUT "${output}"
+- COMMAND "$<TARGET_FILE:clang>" -c --offload-arch=gfx906 -emit-llvm -fgpu-rdc
++ COMMAND "$<TARGET_FILE:clang>" -c --offload-arch=gfx906 -emit-llvm -fgpu-rdc --rocm-path=@GENTOO_PORTAGE_EPREFIX@/usr --hip-device-lib-path=@GENTOO_PORTAGE_EPREFIX@/usr/lib/amdgcn/bitcode
+ --gpu-bundle-output ${ARGN} "${CMAKE_CURRENT_SOURCE_DIR}/${input}"
+ -o "${output}"
+ VERBATIM
diff --git a/dev-libs/rocm-comgr/files/rocm-comgr-5.7.1-fix-tests.patch b/dev-libs/rocm-comgr/files/rocm-comgr-5.7.1-fix-tests.patch
new file mode 100644
index 000000000000..80f1f90dbe94
--- /dev/null
+++ b/dev-libs/rocm-comgr/files/rocm-comgr-5.7.1-fix-tests.patch
@@ -0,0 +1,50 @@
+Vanilla LLVM does not support calling AMDGPU_KERNEL across different sources/bitcodes.
+Without this patch https://github.com/RadeonOpenCompute/ROCm-CompilerSupport/issues/45 occurs.
+Reference: https://github.com/llvm/llvm-project/issues/60313
+===================================================================
+Index: comgr/test/source/source1.cl
+===================================================================
+--- comgr.orig/test/source/source1.cl
++++ comgr/test/source/source1.cl
+@@ -35,7 +35,9 @@
+
+ #include "include-a.h"
+
++void kernel source3(__global int *j) { *j = FOO; }
++
+ void kernel source1(__global int *j) {
+ *j += 2;
+- source2(j);
++ source3(j);
+ }
+Index: comgr/test/mangled_names_test.c
+===================================================================
+--- comgr.orig/test/mangled_names_test.c
++++ comgr/test/mangled_names_test.c
+@@ -162,7 +162,7 @@ int main(int argc, char *argv[]) {
+ exit(1);
+ }
+
+- const char *bcNames[] = {"source1", "source2"};
++ const char *bcNames[] = {"source3", "source1"};
+
+ for (size_t I = 0; I < numNames; ++I) {
+ size_t Size;
+@@ -249,14 +249,14 @@ int main(int argc, char *argv[]) {
+
+ Status = amd_comgr_populate_mangled_names(DataExec, &numNames);
+
+- if (numNames != 4) {
++ if (numNames != 6) {
+ printf("amd_populate_mangled_names Failed: "
+- "produced %zu executable names (expected 4)\n",
++ "produced %zu executable names (expected 6)\n",
+ Count);
+ exit(1);
+ }
+
+- const char *execNames[] = {"source1", "source1.kd", "source2", "source2.kd"};
++ const char *execNames[] = {"source3", "source3.kd", "source1", "source1.kd", "source2", "source2.kd"};
+
+ for (size_t I = 0; I < numNames; ++I) {
+ size_t Size;
diff --git a/dev-libs/rocm-comgr/metadata.xml b/dev-libs/rocm-comgr/metadata.xml
index babf53121c62..c0566e4b512e 100644
--- a/dev-libs/rocm-comgr/metadata.xml
+++ b/dev-libs/rocm-comgr/metadata.xml
@@ -5,6 +5,10 @@
<email>candrews@gentoo.org</email>
<name>Craig Andrews</name>
</maintainer>
+ <maintainer type="person" proxied="yes">
+ <email>xgreenlandforwyy@gmail.com</email>
+ <name>Yiyang Wu</name>
+ </maintainer>
<upstream>
<remote-id type="github">RadeonOpenCompute/ROCm-CompilerSupport</remote-id>
</upstream>
diff --git a/dev-libs/rocm-comgr/rocm-comgr-3.10.0.ebuild b/dev-libs/rocm-comgr/rocm-comgr-3.10.0.ebuild
deleted file mode 100644
index 4401982de06b..000000000000
--- a/dev-libs/rocm-comgr/rocm-comgr-3.10.0.ebuild
+++ /dev/null
@@ -1,42 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit cmake
-
-if [[ ${PV} == *9999 ]] ; then
- EGIT_REPO_URI="https://github.com/RadeonOpenCompute/ROCm-CompilerSupport/"
- inherit git-r3
- S="${WORKDIR}/${P}/lib/comgr"
-else
- SRC_URI="https://github.com/RadeonOpenCompute/ROCm-CompilerSupport/archive/rocm-${PV}.tar.gz -> ${P}.tar.gz"
- S="${WORKDIR}/ROCm-CompilerSupport-rocm-${PV}/lib/comgr"
- KEYWORDS="~amd64"
-fi
-
-PATCHES=(
- "${FILESDIR}/${PN}-3.1.0-dependencies.patch"
-)
-
-DESCRIPTION="Radeon Open Compute Code Object Manager"
-HOMEPAGE="https://github.com/RadeonOpenCompute/ROCm-CompilerSupport"
-LICENSE="MIT"
-SLOT="0/$(ver_cut 1-2)"
-
-RDEPEND=">=dev-libs/rocm-device-libs-${PV}
- >=sys-devel/llvm-roc-${PV}:="
-DEPEND="${RDEPEND}"
-
-src_prepare() {
- cmake_src_prepare
-}
-
-src_configure() {
- local mycmakeargs=(
- -DLLD_DIR="${EPREFIX}/usr/lib/llvm/roc/lib/cmake/lld"
- -DLLVM_DIR="${EPREFIX}/usr/lib/llvm/roc/lib/cmake/llvm"
- -DClang_DIR="${EPREFIX}/usr/lib/llvm/roc/lib/cmake/clang"
- )
- cmake_src_configure
-}
diff --git a/dev-libs/rocm-comgr/rocm-comgr-3.9.0.ebuild b/dev-libs/rocm-comgr/rocm-comgr-3.9.0.ebuild
deleted file mode 100644
index 4401982de06b..000000000000
--- a/dev-libs/rocm-comgr/rocm-comgr-3.9.0.ebuild
+++ /dev/null
@@ -1,42 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit cmake
-
-if [[ ${PV} == *9999 ]] ; then
- EGIT_REPO_URI="https://github.com/RadeonOpenCompute/ROCm-CompilerSupport/"
- inherit git-r3
- S="${WORKDIR}/${P}/lib/comgr"
-else
- SRC_URI="https://github.com/RadeonOpenCompute/ROCm-CompilerSupport/archive/rocm-${PV}.tar.gz -> ${P}.tar.gz"
- S="${WORKDIR}/ROCm-CompilerSupport-rocm-${PV}/lib/comgr"
- KEYWORDS="~amd64"
-fi
-
-PATCHES=(
- "${FILESDIR}/${PN}-3.1.0-dependencies.patch"
-)
-
-DESCRIPTION="Radeon Open Compute Code Object Manager"
-HOMEPAGE="https://github.com/RadeonOpenCompute/ROCm-CompilerSupport"
-LICENSE="MIT"
-SLOT="0/$(ver_cut 1-2)"
-
-RDEPEND=">=dev-libs/rocm-device-libs-${PV}
- >=sys-devel/llvm-roc-${PV}:="
-DEPEND="${RDEPEND}"
-
-src_prepare() {
- cmake_src_prepare
-}
-
-src_configure() {
- local mycmakeargs=(
- -DLLD_DIR="${EPREFIX}/usr/lib/llvm/roc/lib/cmake/lld"
- -DLLVM_DIR="${EPREFIX}/usr/lib/llvm/roc/lib/cmake/llvm"
- -DClang_DIR="${EPREFIX}/usr/lib/llvm/roc/lib/cmake/clang"
- )
- cmake_src_configure
-}
diff --git a/dev-libs/rocm-comgr/rocm-comgr-4.0.0.ebuild b/dev-libs/rocm-comgr/rocm-comgr-4.0.0.ebuild
deleted file mode 100644
index 4401982de06b..000000000000
--- a/dev-libs/rocm-comgr/rocm-comgr-4.0.0.ebuild
+++ /dev/null
@@ -1,42 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit cmake
-
-if [[ ${PV} == *9999 ]] ; then
- EGIT_REPO_URI="https://github.com/RadeonOpenCompute/ROCm-CompilerSupport/"
- inherit git-r3
- S="${WORKDIR}/${P}/lib/comgr"
-else
- SRC_URI="https://github.com/RadeonOpenCompute/ROCm-CompilerSupport/archive/rocm-${PV}.tar.gz -> ${P}.tar.gz"
- S="${WORKDIR}/ROCm-CompilerSupport-rocm-${PV}/lib/comgr"
- KEYWORDS="~amd64"
-fi
-
-PATCHES=(
- "${FILESDIR}/${PN}-3.1.0-dependencies.patch"
-)
-
-DESCRIPTION="Radeon Open Compute Code Object Manager"
-HOMEPAGE="https://github.com/RadeonOpenCompute/ROCm-CompilerSupport"
-LICENSE="MIT"
-SLOT="0/$(ver_cut 1-2)"
-
-RDEPEND=">=dev-libs/rocm-device-libs-${PV}
- >=sys-devel/llvm-roc-${PV}:="
-DEPEND="${RDEPEND}"
-
-src_prepare() {
- cmake_src_prepare
-}
-
-src_configure() {
- local mycmakeargs=(
- -DLLD_DIR="${EPREFIX}/usr/lib/llvm/roc/lib/cmake/lld"
- -DLLVM_DIR="${EPREFIX}/usr/lib/llvm/roc/lib/cmake/llvm"
- -DClang_DIR="${EPREFIX}/usr/lib/llvm/roc/lib/cmake/clang"
- )
- cmake_src_configure
-}
diff --git a/dev-libs/rocm-comgr/rocm-comgr-4.1.0.ebuild b/dev-libs/rocm-comgr/rocm-comgr-4.1.0.ebuild
deleted file mode 100644
index 5b3f588b3d54..000000000000
--- a/dev-libs/rocm-comgr/rocm-comgr-4.1.0.ebuild
+++ /dev/null
@@ -1,42 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit cmake
-
-if [[ ${PV} == *9999 ]] ; then
- EGIT_REPO_URI="https://github.com/RadeonOpenCompute/ROCm-CompilerSupport/"
- inherit git-r3
- S="${WORKDIR}/${P}/lib/comgr"
-else
- SRC_URI="https://github.com/RadeonOpenCompute/ROCm-CompilerSupport/archive/rocm-${PV}.tar.gz -> ${P}.tar.gz"
- S="${WORKDIR}/ROCm-CompilerSupport-rocm-${PV}/lib/comgr"
- KEYWORDS="~amd64"
-fi
-
-PATCHES=(
- "${FILESDIR}/${PN}-3.1.0-dependencies.patch"
-)
-
-DESCRIPTION="Radeon Open Compute Code Object Manager"
-HOMEPAGE="https://github.com/RadeonOpenCompute/ROCm-CompilerSupport"
-LICENSE="MIT"
-SLOT="0/$(ver_cut 1-2)"
-
-RDEPEND=">=dev-libs/rocm-device-libs-${PV}
- >=sys-devel/llvm-roc-${PV}:="
-DEPEND="${RDEPEND}"
-
-src_prepare() {
- cmake_src_prepare
-}
-
-src_configure() {
- local mycmakeargs=(
- -DLLD_DIR="${EPREFIX}/usr/lib/llvm/roc/lib/cmake/lld"
- -DLLVM_DIR="${EPREFIX}/usr/lib/llvm/roc/lib/cmake/llvm"
- -DClang_DIR="${EPREFIX}/usr/lib/llvm/roc/lib/cmake/clang"
- )
- cmake_src_configure
-}
diff --git a/dev-libs/rocm-comgr/rocm-comgr-4.2.0.ebuild b/dev-libs/rocm-comgr/rocm-comgr-4.2.0.ebuild
deleted file mode 100644
index 5b3f588b3d54..000000000000
--- a/dev-libs/rocm-comgr/rocm-comgr-4.2.0.ebuild
+++ /dev/null
@@ -1,42 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit cmake
-
-if [[ ${PV} == *9999 ]] ; then
- EGIT_REPO_URI="https://github.com/RadeonOpenCompute/ROCm-CompilerSupport/"
- inherit git-r3
- S="${WORKDIR}/${P}/lib/comgr"
-else
- SRC_URI="https://github.com/RadeonOpenCompute/ROCm-CompilerSupport/archive/rocm-${PV}.tar.gz -> ${P}.tar.gz"
- S="${WORKDIR}/ROCm-CompilerSupport-rocm-${PV}/lib/comgr"
- KEYWORDS="~amd64"
-fi
-
-PATCHES=(
- "${FILESDIR}/${PN}-3.1.0-dependencies.patch"
-)
-
-DESCRIPTION="Radeon Open Compute Code Object Manager"
-HOMEPAGE="https://github.com/RadeonOpenCompute/ROCm-CompilerSupport"
-LICENSE="MIT"
-SLOT="0/$(ver_cut 1-2)"
-
-RDEPEND=">=dev-libs/rocm-device-libs-${PV}
- >=sys-devel/llvm-roc-${PV}:="
-DEPEND="${RDEPEND}"
-
-src_prepare() {
- cmake_src_prepare
-}
-
-src_configure() {
- local mycmakeargs=(
- -DLLD_DIR="${EPREFIX}/usr/lib/llvm/roc/lib/cmake/lld"
- -DLLVM_DIR="${EPREFIX}/usr/lib/llvm/roc/lib/cmake/llvm"
- -DClang_DIR="${EPREFIX}/usr/lib/llvm/roc/lib/cmake/clang"
- )
- cmake_src_configure
-}
diff --git a/dev-libs/rocm-comgr/rocm-comgr-4.3.0-r1.ebuild b/dev-libs/rocm-comgr/rocm-comgr-4.3.0-r1.ebuild
deleted file mode 100644
index 192ddca854e1..000000000000
--- a/dev-libs/rocm-comgr/rocm-comgr-4.3.0-r1.ebuild
+++ /dev/null
@@ -1,39 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit cmake
-
-if [[ ${PV} == *9999 ]] ; then
- EGIT_REPO_URI="https://github.com/RadeonOpenCompute/ROCm-CompilerSupport/"
- inherit git-r3
- S="${WORKDIR}/${P}/lib/comgr"
-else
- SRC_URI="https://github.com/RadeonOpenCompute/ROCm-CompilerSupport/archive/rocm-${PV}.tar.gz -> ${P}.tar.gz"
- S="${WORKDIR}/ROCm-CompilerSupport-rocm-${PV}/lib/comgr"
- KEYWORDS="~amd64"
-fi
-
-PATCHES=(
- "${FILESDIR}"/${PN}-3.1.0-dependencies.patch
- "${FILESDIR}"/${PN}-4.3.0_strip-usr-include.patch
-)
-
-DESCRIPTION="Radeon Open Compute Code Object Manager"
-HOMEPAGE="https://github.com/RadeonOpenCompute/ROCm-CompilerSupport"
-LICENSE="MIT"
-SLOT="0/$(ver_cut 1-2)"
-
-RDEPEND=">=dev-libs/rocm-device-libs-${PV}
- >=sys-devel/llvm-roc-${PV}:="
-DEPEND="${RDEPEND}"
-
-src_configure() {
- local mycmakeargs=(
- -DLLD_DIR="${EPREFIX}/usr/lib/llvm/roc/lib/cmake/lld"
- -DLLVM_DIR="${EPREFIX}/usr/lib/llvm/roc/lib/cmake/llvm"
- -DClang_DIR="${EPREFIX}/usr/lib/llvm/roc/lib/cmake/clang"
- )
- cmake_src_configure
-}
diff --git a/dev-libs/rocm-comgr/rocm-comgr-4.3.0.ebuild b/dev-libs/rocm-comgr/rocm-comgr-4.3.0.ebuild
deleted file mode 100644
index 5b3f588b3d54..000000000000
--- a/dev-libs/rocm-comgr/rocm-comgr-4.3.0.ebuild
+++ /dev/null
@@ -1,42 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit cmake
-
-if [[ ${PV} == *9999 ]] ; then
- EGIT_REPO_URI="https://github.com/RadeonOpenCompute/ROCm-CompilerSupport/"
- inherit git-r3
- S="${WORKDIR}/${P}/lib/comgr"
-else
- SRC_URI="https://github.com/RadeonOpenCompute/ROCm-CompilerSupport/archive/rocm-${PV}.tar.gz -> ${P}.tar.gz"
- S="${WORKDIR}/ROCm-CompilerSupport-rocm-${PV}/lib/comgr"
- KEYWORDS="~amd64"
-fi
-
-PATCHES=(
- "${FILESDIR}/${PN}-3.1.0-dependencies.patch"
-)
-
-DESCRIPTION="Radeon Open Compute Code Object Manager"
-HOMEPAGE="https://github.com/RadeonOpenCompute/ROCm-CompilerSupport"
-LICENSE="MIT"
-SLOT="0/$(ver_cut 1-2)"
-
-RDEPEND=">=dev-libs/rocm-device-libs-${PV}
- >=sys-devel/llvm-roc-${PV}:="
-DEPEND="${RDEPEND}"
-
-src_prepare() {
- cmake_src_prepare
-}
-
-src_configure() {
- local mycmakeargs=(
- -DLLD_DIR="${EPREFIX}/usr/lib/llvm/roc/lib/cmake/lld"
- -DLLVM_DIR="${EPREFIX}/usr/lib/llvm/roc/lib/cmake/llvm"
- -DClang_DIR="${EPREFIX}/usr/lib/llvm/roc/lib/cmake/clang"
- )
- cmake_src_configure
-}
diff --git a/dev-libs/rocm-comgr/rocm-comgr-5.1.3-r3.ebuild b/dev-libs/rocm-comgr/rocm-comgr-5.1.3-r3.ebuild
new file mode 100644
index 000000000000..0cdcd9271898
--- /dev/null
+++ b/dev-libs/rocm-comgr/rocm-comgr-5.1.3-r3.ebuild
@@ -0,0 +1,60 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake llvm prefix
+
+LLVM_MAX_SLOT=15
+
+if [[ ${PV} == *9999 ]] ; then
+ EGIT_REPO_URI="https://github.com/RadeonOpenCompute/ROCm-CompilerSupport/"
+ inherit git-r3
+ S="${WORKDIR}/${P}/lib/comgr"
+else
+ SRC_URI="https://github.com/RadeonOpenCompute/ROCm-CompilerSupport/archive/rocm-${PV}.tar.gz -> ${P}.tar.gz"
+ S="${WORKDIR}/ROCm-CompilerSupport-rocm-${PV}/lib/comgr"
+ KEYWORDS="~amd64"
+fi
+
+PATCHES=(
+ "${FILESDIR}/${PN}-4.5.2-dependencies.patch"
+ "${FILESDIR}/${PN}-5.1.3-Find-CLANG_RESOURCE_DIR.patch"
+ "${FILESDIR}/${PN}-5.1.3-clang-link.patch"
+ "${FILESDIR}/${PN}-5.1.3-clang-fix-include.patch"
+ "${FILESDIR}/${PN}-5.1.3-rocm-path.patch"
+ "${FILESDIR}/0001-COMGR-changes-needed-for-upstream-llvm.patch"
+ "${FILESDIR}/${PN}-5.1.3-llvm-15-remove-zlib-gnu"
+ "${FILESDIR}/${PN}-5.1.3-llvm-15-args-changed"
+ "${FILESDIR}/${PN}-5.3.3-fno-stack-protector.patch"
+)
+
+DESCRIPTION="Radeon Open Compute Code Object Manager"
+HOMEPAGE="https://github.com/RadeonOpenCompute/ROCm-CompilerSupport"
+LICENSE="MIT"
+SLOT="0/$(ver_cut 1-2)"
+
+RDEPEND=">=dev-libs/rocm-device-libs-${PV}
+ sys-devel/clang:${LLVM_MAX_SLOT}=
+ sys-devel/clang-runtime:=
+ sys-devel/lld:${LLVM_MAX_SLOT}="
+DEPEND="${RDEPEND}"
+
+CMAKE_BUILD_TYPE=Release
+
+src_prepare() {
+ sed '/sys::path::append(HIPPath/s,"hip","",' -i src/comgr-env.cpp || die
+ sed "/return LLVMPath;/s,LLVMPath,llvm::SmallString<128>(\"$(get_llvm_prefix ${LLVM_MAX_SLOT})\")," -i src/comgr-env.cpp || die
+ sed '/Args.push_back(HIPIncludePath/,+1d' -i src/comgr-compiler.cpp || die
+ sed '/Args.push_back(ROCMIncludePath/,+1d' -i src/comgr-compiler.cpp || die # ROCM and HIPIncludePath is now /usr, which disturb the include order
+ eapply $(prefixify_ro "${FILESDIR}"/${PN}-5.0-rocm_path.patch)
+ cmake_src_prepare
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DLLVM_DIR="$(get_llvm_prefix ${LLVM_MAX_SLOT})"
+ -DCMAKE_STRIP="" # disable stripping defined at lib/comgr/CMakeLists.txt:58
+ )
+ cmake_src_configure
+}
diff --git a/dev-libs/rocm-comgr/rocm-comgr-5.3.3-r2.ebuild b/dev-libs/rocm-comgr/rocm-comgr-5.3.3-r2.ebuild
new file mode 100644
index 000000000000..1ed450afa574
--- /dev/null
+++ b/dev-libs/rocm-comgr/rocm-comgr-5.3.3-r2.ebuild
@@ -0,0 +1,62 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake llvm prefix
+
+LLVM_MAX_SLOT=15
+
+if [[ ${PV} == *9999 ]] ; then
+ EGIT_REPO_URI="https://github.com/RadeonOpenCompute/ROCm-CompilerSupport/"
+ inherit git-r3
+ S="${WORKDIR}/${P}/lib/comgr"
+else
+ SRC_URI="https://github.com/RadeonOpenCompute/ROCm-CompilerSupport/archive/rocm-${PV}.tar.gz -> ${P}.tar.gz"
+ S="${WORKDIR}/ROCm-CompilerSupport-rocm-${PV}/lib/comgr"
+ KEYWORDS="~amd64"
+fi
+
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-5.1.3-clang-fix-include.patch"
+ "${FILESDIR}/${PN}-5.1.3-rocm-path.patch"
+ "${FILESDIR}/${PN}-5.1.3-llvm-15-remove-zlib-gnu"
+ "${FILESDIR}/0001-Specify-clang-exe-path-in-Driver-Creation.patch"
+ "${FILESDIR}/0001-Find-CLANG_RESOURCE_DIR-using-clang-print-resource-d.patch"
+ "${FILESDIR}/${PN}-5.3.3-HIPIncludePath-not-needed.patch"
+ "${FILESDIR}/${PN}-5.3.3-fix-tests.patch"
+ "${FILESDIR}/${PN}-5.3.3-fno-stack-protector.patch"
+ "${FILESDIR}/${PN}-5.3.3-remove-h-option.patch"
+)
+
+DESCRIPTION="Radeon Open Compute Code Object Manager"
+HOMEPAGE="https://github.com/RadeonOpenCompute/ROCm-CompilerSupport"
+LICENSE="MIT"
+SLOT="0/$(ver_cut 1-2)"
+
+RDEPEND=">=dev-libs/rocm-device-libs-${PV}
+ sys-devel/clang:${LLVM_MAX_SLOT}=
+ sys-devel/clang-runtime:=
+ sys-devel/lld:${LLVM_MAX_SLOT}="
+DEPEND="${RDEPEND}"
+
+CMAKE_BUILD_TYPE=Release
+
+src_prepare() {
+ sed '/sys::path::append(HIPPath/s,"hip","",' -i src/comgr-env.cpp || die
+ sed "/return LLVMPath;/s,LLVMPath,llvm::SmallString<128>(\"$(get_llvm_prefix ${LLVM_MAX_SLOT})\")," -i src/comgr-env.cpp || die
+ eapply $(prefixify_ro "${FILESDIR}"/${PN}-5.0-rocm_path.patch)
+ cmake_src_prepare
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DLLVM_DIR="$(get_llvm_prefix ${LLVM_MAX_SLOT})"
+ -DCMAKE_STRIP="" # disable stripping defined at lib/comgr/CMakeLists.txt:58
+ -DBUILD_TESTING=$(usex test ON OFF)
+ )
+ cmake_src_configure
+}
diff --git a/dev-libs/rocm-comgr/rocm-comgr-5.4.3-r1.ebuild b/dev-libs/rocm-comgr/rocm-comgr-5.4.3-r1.ebuild
new file mode 100644
index 000000000000..f04009a2596a
--- /dev/null
+++ b/dev-libs/rocm-comgr/rocm-comgr-5.4.3-r1.ebuild
@@ -0,0 +1,61 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake llvm prefix
+
+LLVM_MAX_SLOT=15
+
+if [[ ${PV} == *9999 ]] ; then
+ EGIT_REPO_URI="https://github.com/RadeonOpenCompute/ROCm-CompilerSupport/"
+ inherit git-r3
+ S="${WORKDIR}/${P}/lib/comgr"
+else
+ SRC_URI="https://github.com/RadeonOpenCompute/ROCm-CompilerSupport/archive/rocm-${PV}.tar.gz -> ${P}.tar.gz"
+ S="${WORKDIR}/ROCm-CompilerSupport-rocm-${PV}/lib/comgr"
+ KEYWORDS="~amd64"
+fi
+
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-5.1.3-clang-fix-include.patch"
+ "${FILESDIR}/${PN}-5.1.3-rocm-path.patch"
+ "${FILESDIR}/0001-Specify-clang-exe-path-in-Driver-Creation.patch"
+ "${FILESDIR}/0001-Find-CLANG_RESOURCE_DIR-using-clang-print-resource-d.patch"
+ "${FILESDIR}/${PN}-5.3.3-HIPIncludePath-not-needed.patch"
+ "${FILESDIR}/${PN}-5.3.3-fix-tests.patch"
+ "${FILESDIR}/${PN}-5.3.3-fno-stack-protector.patch"
+ "${FILESDIR}/${PN}-5.3.3-remove-h-option.patch"
+)
+
+DESCRIPTION="Radeon Open Compute Code Object Manager"
+HOMEPAGE="https://github.com/RadeonOpenCompute/ROCm-CompilerSupport"
+LICENSE="MIT"
+SLOT="0/$(ver_cut 1-2)"
+
+RDEPEND=">=dev-libs/rocm-device-libs-${PV}
+ sys-devel/clang:${LLVM_MAX_SLOT}=
+ sys-devel/clang-runtime:=
+ sys-devel/lld:${LLVM_MAX_SLOT}="
+DEPEND="${RDEPEND}"
+
+CMAKE_BUILD_TYPE=Release
+
+src_prepare() {
+ sed '/sys::path::append(HIPPath/s,"hip","",' -i src/comgr-env.cpp || die
+ sed "/return LLVMPath;/s,LLVMPath,llvm::SmallString<128>(\"$(get_llvm_prefix ${LLVM_MAX_SLOT})\")," -i src/comgr-env.cpp || die
+ eapply $(prefixify_ro "${FILESDIR}"/${PN}-5.0-rocm_path.patch)
+ cmake_src_prepare
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DLLVM_DIR="$(get_llvm_prefix ${LLVM_MAX_SLOT})"
+ -DCMAKE_STRIP="" # disable stripping defined at lib/comgr/CMakeLists.txt:58
+ -DBUILD_TESTING=$(usex test ON OFF)
+ )
+ cmake_src_configure
+}
diff --git a/dev-libs/rocm-comgr/rocm-comgr-5.5.1.ebuild b/dev-libs/rocm-comgr/rocm-comgr-5.5.1.ebuild
new file mode 100644
index 000000000000..e005c30f1efb
--- /dev/null
+++ b/dev-libs/rocm-comgr/rocm-comgr-5.5.1.ebuild
@@ -0,0 +1,64 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake llvm prefix
+
+LLVM_MAX_SLOT=16
+
+if [[ ${PV} == *9999 ]] ; then
+ EGIT_REPO_URI="https://github.com/RadeonOpenCompute/ROCm-CompilerSupport/"
+ inherit git-r3
+ S="${WORKDIR}/${P}/lib/comgr"
+else
+ SRC_URI="https://github.com/RadeonOpenCompute/ROCm-CompilerSupport/archive/rocm-${PV}.tar.gz -> ${P}.tar.gz"
+ S="${WORKDIR}/ROCm-CompilerSupport-rocm-${PV}/lib/comgr"
+ KEYWORDS="~amd64"
+fi
+
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-5.1.3-rocm-path.patch"
+ "${FILESDIR}/0001-Specify-clang-exe-path-in-Driver-Creation.patch"
+ "${FILESDIR}/0001-Find-CLANG_RESOURCE_DIR-using-clang-print-resource-d.patch"
+ "${FILESDIR}/${PN}-5.3.3-HIPIncludePath-not-needed.patch"
+ "${FILESDIR}/${PN}-5.5.1-fix-tests.patch"
+ "${FILESDIR}/${PN}-5.3.3-fno-stack-protector.patch"
+ "${FILESDIR}/${PN}-5.3.3-remove-h-option.patch"
+ "${FILESDIR}/${PN}-5.5.1-nullopt.patch"
+ "${FILESDIR}/${PN}-5.5.1-opt_mrelax.patch"
+ "${FILESDIR}/${PN}-5.5.1-lld-include.patch"
+ "${FILESDIR}/${PN}-5.5.1-subtargetfeatures.patch"
+)
+
+DESCRIPTION="Radeon Open Compute Code Object Manager"
+HOMEPAGE="https://github.com/RadeonOpenCompute/ROCm-CompilerSupport"
+LICENSE="MIT"
+SLOT="0/$(ver_cut 1-2)"
+
+RDEPEND=">=dev-libs/rocm-device-libs-${PV}
+ sys-devel/clang:${LLVM_MAX_SLOT}=
+ sys-devel/clang-runtime:=
+ sys-devel/lld:${LLVM_MAX_SLOT}="
+DEPEND="${RDEPEND}"
+
+CMAKE_BUILD_TYPE=Release
+
+src_prepare() {
+ sed '/sys::path::append(HIPPath/s,"hip","",' -i src/comgr-env.cpp || die
+ sed "/return LLVMPath;/s,LLVMPath,llvm::SmallString<128>(\"$(get_llvm_prefix ${LLVM_MAX_SLOT})\")," -i src/comgr-env.cpp || die
+ eapply $(prefixify_ro "${FILESDIR}"/${PN}-5.0-rocm_path.patch)
+ cmake_src_prepare
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DLLVM_DIR="$(get_llvm_prefix ${LLVM_MAX_SLOT})"
+ -DCMAKE_STRIP="" # disable stripping defined at lib/comgr/CMakeLists.txt:58
+ -DBUILD_TESTING=$(usex test ON OFF)
+ )
+ cmake_src_configure
+}
diff --git a/dev-libs/rocm-comgr/rocm-comgr-5.7.1.ebuild b/dev-libs/rocm-comgr/rocm-comgr-5.7.1.ebuild
new file mode 100644
index 000000000000..1d3b9d14ef38
--- /dev/null
+++ b/dev-libs/rocm-comgr/rocm-comgr-5.7.1.ebuild
@@ -0,0 +1,64 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake llvm prefix
+
+LLVM_MAX_SLOT=17
+
+if [[ ${PV} == *9999 ]] ; then
+ EGIT_REPO_URI="https://github.com/RadeonOpenCompute/ROCm-CompilerSupport/"
+ inherit git-r3
+ S="${WORKDIR}/${P}/lib/comgr"
+else
+ SRC_URI="https://github.com/RadeonOpenCompute/ROCm-CompilerSupport/archive/rocm-${PV}.tar.gz -> ${P}.tar.gz"
+ S="${WORKDIR}/ROCm-CompilerSupport-rocm-${PV}/lib/comgr"
+ KEYWORDS="~amd64"
+fi
+
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-5.1.3-rocm-path.patch"
+ "${FILESDIR}/0001-Specify-clang-exe-path-in-Driver-Creation.patch"
+ "${FILESDIR}/0001-Find-CLANG_RESOURCE_DIR-using-clang-print-resource-d.patch"
+ "${FILESDIR}/${PN}-5.7.0-optional.patch"
+ "${FILESDIR}/${PN}-5.7.0-lld.patch"
+ "${FILESDIR}/${PN}-5.7.0-disassembly.patch"
+ "${FILESDIR}/${PN}-5.7.0-metadata.patch"
+ "${FILESDIR}/${PN}-5.7.0-symbolizer.patch"
+ "${FILESDIR}/${PN}-5.7.1-fix-tests.patch"
+ "${FILESDIR}/${PN}-5.7.1-correct-license-install-dir.patch"
+)
+
+DESCRIPTION="Radeon Open Compute Code Object Manager"
+HOMEPAGE="https://github.com/RadeonOpenCompute/ROCm-CompilerSupport"
+LICENSE="MIT"
+SLOT="0/$(ver_cut 1-2)"
+
+RDEPEND=">=dev-libs/rocm-device-libs-${PV}
+ sys-devel/clang:${LLVM_MAX_SLOT}=
+ sys-devel/clang-runtime:=
+ sys-devel/lld:${LLVM_MAX_SLOT}="
+DEPEND="${RDEPEND}"
+
+CMAKE_BUILD_TYPE=Release
+
+src_prepare() {
+ sed '/sys::path::append(HIPPath/s,"hip","",' -i src/comgr-env.cpp || die
+ sed "/return LLVMPath;/s,LLVMPath,llvm::SmallString<128>(\"$(get_llvm_prefix ${LLVM_MAX_SLOT})\")," -i src/comgr-env.cpp || die
+ eapply $(prefixify_ro "${FILESDIR}"/${PN}-5.0-rocm_path.patch)
+ eapply $(prefixify_ro "${FILESDIR}"/${PN}-5.7.1-fix-tests-rocm-path.patch)
+ cmake_src_prepare
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DLLVM_DIR="$(get_llvm_prefix ${LLVM_MAX_SLOT})"
+ -DCMAKE_STRIP="" # disable stripping defined at lib/comgr/CMakeLists.txt:58
+ -DBUILD_TESTING=$(usex test ON OFF)
+ )
+ cmake_src_configure
+}
diff --git a/dev-libs/rocm-comgr/rocm-comgr-6.0.0.ebuild b/dev-libs/rocm-comgr/rocm-comgr-6.0.0.ebuild
new file mode 100644
index 000000000000..ff181f1b4615
--- /dev/null
+++ b/dev-libs/rocm-comgr/rocm-comgr-6.0.0.ebuild
@@ -0,0 +1,63 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake llvm prefix
+
+LLVM_MAX_SLOT=17
+
+if [[ ${PV} == *9999 ]] ; then
+ EGIT_REPO_URI="https://github.com/RadeonOpenCompute/ROCm-CompilerSupport/"
+ inherit git-r3
+ S="${WORKDIR}/${P}/lib/comgr"
+else
+ SRC_URI="https://github.com/RadeonOpenCompute/ROCm-CompilerSupport/archive/rocm-${PV}.tar.gz -> ${P}.tar.gz"
+ S="${WORKDIR}/ROCm-CompilerSupport-rocm-${PV}/lib/comgr"
+ KEYWORDS="~amd64"
+fi
+
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-5.1.3-rocm-path.patch"
+ "${FILESDIR}/0001-Specify-clang-exe-path-in-Driver-Creation.patch"
+ "${FILESDIR}/0001-Find-CLANG_RESOURCE_DIR-using-clang-print-resource-d.patch"
+ "${FILESDIR}/${PN}-5.7.0-optional.patch"
+ "${FILESDIR}/${PN}-5.7.0-lld.patch"
+ "${FILESDIR}/${PN}-5.7.0-disassembly.patch"
+ "${FILESDIR}/${PN}-5.7.0-metadata.patch"
+ "${FILESDIR}/${PN}-5.7.0-symbolizer.patch"
+ "${FILESDIR}/${PN}-5.7.1-fix-tests.patch"
+ "${FILESDIR}/${PN}-5.7.1-correct-license-install-dir.patch"
+)
+
+DESCRIPTION="Radeon Open Compute Code Object Manager"
+HOMEPAGE="https://github.com/RadeonOpenCompute/ROCm-CompilerSupport"
+LICENSE="MIT"
+SLOT="0/$(ver_cut 1-2)"
+
+RDEPEND=">=dev-libs/rocm-device-libs-${PV}
+ sys-devel/clang:${LLVM_MAX_SLOT}=
+ sys-devel/clang-runtime:=
+ sys-devel/lld:${LLVM_MAX_SLOT}="
+DEPEND="${RDEPEND}"
+
+CMAKE_BUILD_TYPE=Release
+
+src_prepare() {
+ sed '/sys::path::append(HIPPath/s,"hip","",' -i src/comgr-env.cpp || die
+ sed "/return LLVMPath;/s,LLVMPath,llvm::SmallString<128>(\"$(get_llvm_prefix ${LLVM_MAX_SLOT})\")," -i src/comgr-env.cpp || die
+ eapply $(prefixify_ro "${FILESDIR}"/${PN}-5.0-rocm_path.patch)
+ cmake_src_prepare
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DLLVM_DIR="$(get_llvm_prefix ${LLVM_MAX_SLOT})"
+ -DCMAKE_STRIP="" # disable stripping defined at lib/comgr/CMakeLists.txt:58
+ -DBUILD_TESTING=$(usex test ON OFF)
+ )
+ cmake_src_configure
+}
diff --git a/dev-libs/rocm-device-libs/Manifest b/dev-libs/rocm-device-libs/Manifest
index 710e743c8a27..8002ba47f4ad 100644
--- a/dev-libs/rocm-device-libs/Manifest
+++ b/dev-libs/rocm-device-libs/Manifest
@@ -1,8 +1,6 @@
-DIST rocm-device-libs-3.10.0.tar.gz 230505 BLAKE2B 7c34bcacb3056517ad06502c313015a7d08acc483ef86e3b63b1309c974c339fd47e0a6710a973707fc3949399d35c9838a5ff688f1c9ab1faf54101cff9502b SHA512 31b8e70c40bbbef3ac87431d5c562d11458b611a2c9ce6e02e9854ff6361d74bff8e207d87a92ff61ec209dba069d8db98568d9ac8b04afeefeab276a331ff59
-DIST rocm-device-libs-3.7.0.tar.gz 228752 BLAKE2B e7406fd74b9bdfba5c32259c12761b46dee454e73cf1d6cbb0886c4da7bff7bcd13689e91e2715188fa2fe9d61d9dd9c6c481714cd67bdee11b1825a91c47546 SHA512 94b027aa27866257cf239b6951cbff928122fb7dfb23c81edc5957b30ee5aa64e2a25412a13ea33c249b8bd2d026274dcc276ea0908359b5ed14c75b0e59ff1f
-DIST rocm-device-libs-3.8.0.tar.gz 228737 BLAKE2B bf75c3f50960af55cc743d412259789d283fc8357231c31b7590ad81997b5a4ff195bb3e382641e9eed846c9c258174f1e8d27e6e1f0ae9f174c5c22b85ed2ea SHA512 d565c9bfde5f5f2d533cdd0b41e5c73247f9ca15e07b039c340daf3dece120a301c87b69b737af3d230c6c0a3ae1d6fbd5d1f78fee000a06d4ea7bfda3d8d436
-DIST rocm-device-libs-3.9.0.tar.gz 230477 BLAKE2B dba7f2dd57fe39c8c69f2a4de34f06f8347e73c760805cebf8690b11c5c0b4c919d78bc31b05b5d5f283aa5281131b0f7d3fbe9faef525a3117ebdbd4b1b9b35 SHA512 fff70e9426ff2e6b6cf59554c36831b3c24c24a51753ca0f3c9cb4e9961c24e7e7d7714b2e75785622c6dcff92e1cb7fa5d2be0a2a08bb17a157f484845cd276
-DIST rocm-device-libs-4.0.0.tar.gz 230486 BLAKE2B 17d82a29e03d558a408e39550acd9f7fc76fd79a0c68936cb76e3e14bae6e770c0f581a80429aaa86e1d51491c31ce8b02b03095604678d03aa844379cfa9282 SHA512 a35fdc74c17d87ae52ccc218d5098b50863316b88908c147017c3d378c3892411a3f51737c1d5a4d6c1db87b66e1aacc94361bee28f3cc2e984e6e00db1dd7ed
-DIST rocm-device-libs-4.1.0.tar.gz 230813 BLAKE2B 699c23f3b08989765e90d3168e1369d1bf627a51c1f606160e29867718ce237a78ed7b5859ab60b58bbe9790452e75192fb9407819f25cceffc2af94aa006582 SHA512 b4d7ec17711345de27daae7a0d9fc4bce7a5501cfdade51da41788d1a015a4688d47e60031317b2bcc6c395bb096b2cbd4ba35a07b62cc07fe4779ec531208ec
-DIST rocm-device-libs-4.2.0.tar.gz 231971 BLAKE2B 292798ec29b6feb268928a41d7a321b9cffeb2e624557fc4c04b9fa48347a29838f53217b3006b52db53db0981d87b8cc4df6d95578c17d8d10b00b24211d773 SHA512 78aa285f97916ad68aa6108fea22b2c5f223c0c36fd631a4c8f565cf3eb26c0ad58ea31b5e700369a8b13a86f1c076e6cfdb829952cdf03c88a7827c14371aeb
-DIST rocm-device-libs-4.3.0.tar.gz 234910 BLAKE2B af306219df395f9c5e65e6e06dff976698b80009d3b0c330c396c3e9475dca124bee4c96ff31724763bf40b3fd611f1ef55a7fb675f5ef82b992e496bc3a2d6d SHA512 6e93b435d782a50f45d17bafb466ee05df88c39d665a8d796b68d588b6074629934c44afaae233fc84a238dc9c93d15917efeec7633349b4e894f3b3385bf57e
+DIST rocm-device-libs-5.1.3.tar.gz 242862 BLAKE2B 68d66de897f461e9f876de5fe2214803d4c00665651dea6af0952f0ce579c6704a5ec41b08971fa613ade309a0a85cb611b56b592dc2a25e247183e634ea3378 SHA512 cc3dfb8d4b4841ba777355c537175259d0019159ff462358320674b85082cccd99f6462f60fee66228ddfb88fade043445c1bac62504aa1462ba61b7e2751de7
+DIST rocm-device-libs-5.3.3.tar.gz 245690 BLAKE2B 475c0d818b8b0f090a8daeca2910cd4002e4cdf505d020327f46eb5f864a26937a6a3dfe4ff7b188ebda0f936b1c396f2163bb27b9e2a62c5976e60fa60856ac SHA512 8f6f2fc1534e348e02ba30a25cfc6017f8eab768968b5d0344a5ea7d65c4f0a874072f9e53919c74545814330602ef7c190753c7ff019137230e02f58a5d3a5d
+DIST rocm-device-libs-5.4.3.tar.gz 246095 BLAKE2B eb749346c96d465a5f22831968ccbd71f02749e6aa0d9c2becc0f378641ca0f65c1a131bfd3ed226f838b4208091fcc920b1e31b427adbd69a42881898668e6a SHA512 67b904363a3cff6c15bbd032cbc72cb5cd5f82acaa68c74391dbcf415266e8f35486a496b69b69e1fc0721e0e4e21fb6a6b9c180a46cb59cdcf53916be846ca4
+DIST rocm-device-libs-5.5.1.tar.gz 245900 BLAKE2B f713b1f12c7be33a4854d79791f592b8e89e2bc463769ec8cdd807483f0e5ca93d7fc852b6cf41d5ad0401d07adc97de9fb1fa54b77af83f665e282d6c0a43e7 SHA512 0138ddc94ce4a81202bdafccbbecef8145c6ddf82c3a14d92bb80b2bed3d3b73898f84279cef89110c50a9cc51e32de1323cc11a1f97c5da4f7f843b393425d0
+DIST rocm-device-libs-5.7.1.tar.gz 248357 BLAKE2B 829704382e9420ad79724a250ccfd65278eb697498805297d1a52b8ea35dbff46e11514b681243d61bfac05b8a9734f0cf22d721603e48fe2f9864368222b0bc SHA512 8755d0584fa3b8239f5642b4fb8f5e8dea20bbaca2ff8883894d3583913e9a1fd1552492b36e8ceff092f795783b734e68b002ee0c93711dccdf8e72c528c27c
+DIST rocm-device-libs-6.0.0.tar.gz 248509 BLAKE2B 797a612f4b36b83643b15711bec32c1ceac73103b51d42abb890a241b8224b7c6de33bf88a9c6620db2af9be4641fc709b9610515203177482422c97d5b01044 SHA512 e9f2d7e86ec4cbcd0f471bf45d056c4a9272ee0ec3286a9aa42e819fa5d3ce52c9b12e9a4f575c409fe9b46253b8910f49d5ba0bae3694f8c38970658a19f706
diff --git a/dev-libs/rocm-device-libs/files/rocm-device-libs-5.1.3-llvm-link.patch b/dev-libs/rocm-device-libs/files/rocm-device-libs-5.1.3-llvm-link.patch
new file mode 100644
index 000000000000..9e6dc38921e2
--- /dev/null
+++ b/dev-libs/rocm-device-libs/files/rocm-device-libs-5.1.3-llvm-link.patch
@@ -0,0 +1,13 @@
+https://bugs.gentoo.org/851702#c4
+Adapt to libLLVM.so instead of the seperated libs
+===================================================================
+--- ROCm-Device-Libs-rocm-5.0.2.orig/utils/prepare-builtins/CMakeLists.txt
++++ ROCm-Device-Libs-rocm-5.0.2/utils/prepare-builtins/CMakeLists.txt
+@@ -26,5 +26,5 @@ set_target_properties(prepare-builtins P
+ CXX_STANDARD_REQUIRED Yes
+ CXX_EXTENSIONS No)
+ llvm_update_compile_flags(prepare-builtins)
+-llvm_map_components_to_libnames(llvm_libs support core bitreader bitwriter)
+-target_link_libraries(prepare-builtins ${llvm_libs})
++llvm_map_components_to_libnames(llvm_libs support)
++target_link_libraries(prepare-builtins ${llvm_libs} LLVM)
diff --git a/dev-libs/rocm-device-libs/files/rocm-device-libs-5.1.3-test-bitcode-dir.patch b/dev-libs/rocm-device-libs/files/rocm-device-libs-5.1.3-test-bitcode-dir.patch
new file mode 100644
index 000000000000..9047f8ef90e5
--- /dev/null
+++ b/dev-libs/rocm-device-libs/files/rocm-device-libs-5.1.3-test-bitcode-dir.patch
@@ -0,0 +1,24 @@
+lib/amdgcn/bitcode is not among the default bitcode dirs of clang
+Add --rocm-device-lib-path to the clang argument
+Excerpt from https://salsa.debian.org/rocm-team/rocm-device-libs/-/blob/d2014eed680ccce5f9bd61ff4fc28a89682575f3/debian/patches/cmake-amdgcn-bitcode.patch
+==============================================
+--- rocm-device-libs.orig/test/constant_folding/RunConstantFoldTest.cmake
++++ rocm-device-libs/test/constant_folding/RunConstantFoldTest.cmake
+@@ -16,6 +16,7 @@
+ -target amdgcn-amd-amdhsa -mcpu=${TEST_CPU}
+ -Xclang -finclude-default-header
+ --rocm-path=${BINARY_DIR}
++ --rocm-device-lib-path=${AMDGCN_BITCODES}
+ -mllvm -amdgpu-simplify-libcall=0
+ -o ${OUTPUT_FILE} ${INPUT_FILE}
+ RESULT_VARIABLE CLANG_RESULT
+--- rocm-device-libs.orig/test/constant_folding/CMakeLists.txt
++++ rocm-device-libs/test/constant_folding/CMakeLists.txt
+@@ -30,6 +30,7 @@
+ -DFILECHECK_BIN=${FILECHECK_BIN}
+ -DOUTPUT_FILE=output.${name}.ll
+ -DINPUT_FILE=${CMAKE_CURRENT_SOURCE_DIR}/${name}.cl
++ -DAMDGCN_BITCODES=${PROJECT_BINARY_DIR}/lib/amdgcn/bitcode
+ -DTEST_CPU=gfx900
+ -P ${CMAKE_CURRENT_SOURCE_DIR}/RunConstantFoldTest.cmake)
+ endfunction()
diff --git a/dev-libs/rocm-device-libs/files/rocm-device-libs-5.4.3-Revert-Update-counters-for-gfx11.patch b/dev-libs/rocm-device-libs/files/rocm-device-libs-5.4.3-Revert-Update-counters-for-gfx11.patch
new file mode 100644
index 000000000000..bf9b2c372600
--- /dev/null
+++ b/dev-libs/rocm-device-libs/files/rocm-device-libs-5.4.3-Revert-Update-counters-for-gfx11.patch
@@ -0,0 +1,216 @@
+From 8ce920dddac9846254aaf6261bafd8b22976b04e Mon Sep 17 00:00:00 2001
+From: Jeremy Newton <alexjnewt@hotmail.com>
+Date: Sun, 18 Dec 2022 20:48:21 -0500
+Subject: [PATCH] Revert "Update counters for gfx11"
+
+This reverts commit 85f95b94960c6f7ff4ff0242a399deb4a204fb6a.
+---
+ doc/OCKL.md | 4 ++--
+ ockl/inc/ockl.h | 3 ---
+ ockl/src/dm.cl | 15 +++++++++++----
+ ockl/src/mtime.cl | 35 ++---------------------------------
+ ockl/src/wait.cl | 18 +++++++++---------
+ 5 files changed, 24 insertions(+), 51 deletions(-)
+
+diff --git a/doc/OCKL.md b/doc/OCKL.md
+index 07574f6..05c5c49 100644
+--- a/doc/OCKL.md
++++ b/doc/OCKL.md
+@@ -99,8 +99,8 @@ The following table lists the available functions along with a brief description
+ | `int __ockl_mul24_i32(int,int);` | Multiply assuming operands fit in 24 bits |
+ | `uint __ockl_mul24_u32(uint,uint);` | |
+ | - | |
+-| `ulong __ockl_cyclectr_u64(void);` | Current value of free running 64-bit clock counter |
+-| `ulong __ockl_steadyctr_u64(void);` | Current value of constant speed 64-bit clock counter |
++| `ulong __ockl_memtime_u64(void);` | Current value of free running 64-bit clock counter |
++| `ulong __ockl_memrealtime_u64(void);` | Current value of constant speed 64-bit clock counter |
+ | - | |
+ | `uint __ockl_activelane_u32(void);` | Index of currently lane counting only active lanes in wavefront |
+ | - | |
+diff --git a/ockl/inc/ockl.h b/ockl/inc/ockl.h
+index d0b98d4..6300279 100644
+--- a/ockl/inc/ockl.h
++++ b/ockl/inc/ockl.h
+@@ -143,9 +143,6 @@ DECL_OCKL_NULLARY_U32(activelane)
+
+ DECL_OCKL_NULLARY_U64(memtime)
+ DECL_OCKL_NULLARY_U64(memrealtime)
+-DECL_OCKL_NULLARY_U64(cyclectr)
+-DECL_OCKL_NULLARY_U64(steadyctr)
+-
+
+ extern half OCKL_MANGLE_T(wfred_add,f16)(half x);
+ extern float OCKL_MANGLE_T(wfred_add,f32)(float x);
+diff --git a/ockl/src/dm.cl b/ockl/src/dm.cl
+index 245b4a1..26373dd 100644
+--- a/ockl/src/dm.cl
++++ b/ockl/src/dm.cl
+@@ -201,6 +201,13 @@ get_heap_ptr(void) {
+ }
+ }
+
++// realtime
++__attribute__((target("s-memrealtime"))) static ulong
++realtime(void)
++{
++ return __builtin_amdgcn_s_memrealtime();
++}
++
+ // The actual number of blocks in a slab with blocks of kind k
+ static uint
+ num_blocks(kind_t k)
+@@ -466,7 +473,7 @@ new_slab_wait(__global heap_t *hp, kind_t k)
+ uint aid = __ockl_activelane_u32();
+ if (aid == 0) {
+ ulong expected = AL(&hp->salloc_time[k].value, memory_order_relaxed);
+- ulong now = __ockl_steadyctr_u64();
++ ulong now = realtime();
+ ulong dt = now - expected;
+ if (dt < SLAB_TICKS)
+ __ockl_rtcwait_u32(SLAB_TICKS - (uint)dt);
+@@ -480,7 +487,7 @@ grow_recordable_wait(__global heap_t *hp, kind_t k)
+ uint aid = __ockl_activelane_u32();
+ if (aid == 0) {
+ ulong expected = AL(&hp->grow_time[k].value, memory_order_relaxed);
+- ulong now = __ockl_steadyctr_u64();
++ ulong now = realtime();
+ ulong dt = now - expected;
+ if (dt < GROW_TICKS)
+ __ockl_rtcwait_u32(GROW_TICKS - (uint)dt);
+@@ -540,7 +547,7 @@ try_grow_num_recordable_slabs(__global heap_t *hp, kind_t k)
+ uint ret = GROW_BUSY;
+ if (aid == 0) {
+ ulong expected = AL(&hp->grow_time[k].value, memory_order_relaxed);
+- ulong now = __ockl_steadyctr_u64();
++ ulong now = realtime();
+ if (now - expected >= GROW_TICKS &&
+ ACE(&hp->grow_time[k].value, &expected, now, memory_order_relaxed))
+ ret = GROW_FAILURE;
+@@ -687,7 +694,7 @@ try_allocate_new_slab(__global heap_t *hp, kind_t k)
+
+ if (aid == 0) {
+ ulong expected = AL(&hp->salloc_time[k].value, memory_order_relaxed);
+- ulong now = __ockl_steadyctr_u64();
++ ulong now = realtime();
+ if (now - expected >= SLAB_TICKS &&
+ ACE(&hp->salloc_time[k].value, &expected, now, memory_order_relaxed))
+ ret = (__global sdata_t *)0;
+diff --git a/ockl/src/mtime.cl b/ockl/src/mtime.cl
+index 43f4161..543aaa3 100644
+--- a/ockl/src/mtime.cl
++++ b/ockl/src/mtime.cl
+@@ -5,48 +5,17 @@
+ * License. See LICENSE.TXT for details.
+ *===------------------------------------------------------------------------*/
+
+-#include "oclc.h"
+ #include "ockl.h"
+
+-__attribute__((target("s-memrealtime"))) static ulong
+-mem_realtime(void)
+-{
+- return __builtin_amdgcn_s_memrealtime();
+-}
+-
+-__attribute__((target("gfx11-insts"))) static ulong
+-msg_realtime(void)
+-{
+- return __builtin_amdgcn_s_sendmsg_rtnl(0x83);
+-}
+-
+-// Deprecated
+ __attribute__((target("s-memtime-inst"))) ulong
+ OCKL_MANGLE_U64(memtime)(void)
+ {
+ return __builtin_amdgcn_s_memtime();
+ }
+
+-// Deprecated
+-ulong
++__attribute__((target("s-memrealtime"))) ulong
+ OCKL_MANGLE_U64(memrealtime)(void)
+ {
+- return mem_realtime();
+-}
+-
+-ulong
+-OCKL_MANGLE_U64(cyclectr)(void)
+-{
+- return __builtin_readcyclecounter();
+-}
+-
+-ulong
+-OCKL_MANGLE_U64(steadyctr)(void)
+-{
+- if (__oclc_ISA_version >= 11000) {
+- return msg_realtime();
+- } else {
+- return mem_realtime();
+- }
++ return __builtin_amdgcn_s_memrealtime();
+ }
+
+diff --git a/ockl/src/wait.cl b/ockl/src/wait.cl
+index 49b038e..b249599 100644
+--- a/ockl/src/wait.cl
++++ b/ockl/src/wait.cl
+@@ -10,47 +10,47 @@
+ #include "ockl.h"
+ #include "oclc.h"
+
+-void
++__attribute__((target("s-memrealtime"))) void
+ OCKL_MANGLE_T(rtcwait,u32)(uint ticks)
+ {
+- ulong now = __ockl_steadyctr_u64();
++ ulong now = __builtin_amdgcn_s_memrealtime();
+ ulong end = now + __builtin_amdgcn_readfirstlane(ticks);
+
+ if (__oclc_ISA_version >= 9000) {
+ while (end > now + 1625) {
+ __builtin_amdgcn_s_sleep(127);
+- now = __ockl_steadyctr_u64();
++ now = __builtin_amdgcn_s_memrealtime();
+ }
+
+ while (end > now + 806) {
+ __builtin_amdgcn_s_sleep(63);
+- now = __ockl_steadyctr_u64();
++ now = __builtin_amdgcn_s_memrealtime();
+ }
+
+ while (end > now + 396) {
+ __builtin_amdgcn_s_sleep(31);
+- now = __ockl_steadyctr_u64();
++ now = __builtin_amdgcn_s_memrealtime();
+ }
+ }
+
+ while (end > now + 192) {
+ __builtin_amdgcn_s_sleep(15);
+- now = __ockl_steadyctr_u64();
++ now = __builtin_amdgcn_s_memrealtime();
+ }
+
+ while (end > now + 89) {
+ __builtin_amdgcn_s_sleep(7);
+- now = __ockl_steadyctr_u64();
++ now = __builtin_amdgcn_s_memrealtime();
+ }
+
+ while (end > now + 38) {
+ __builtin_amdgcn_s_sleep(3);
+- now = __ockl_steadyctr_u64();
++ now = __builtin_amdgcn_s_memrealtime();
+ }
+
+ while (end > now) {
+ __builtin_amdgcn_s_sleep(1);
+- now = __ockl_steadyctr_u64();
++ now = __builtin_amdgcn_s_memrealtime();
+ }
+ }
+
+--
+2.34.1
+
diff --git a/dev-libs/rocm-device-libs/files/rocm-device-libs-5.5.1-fix-llvm-link.patch b/dev-libs/rocm-device-libs/files/rocm-device-libs-5.5.1-fix-llvm-link.patch
new file mode 100644
index 000000000000..f965045b7e7b
--- /dev/null
+++ b/dev-libs/rocm-device-libs/files/rocm-device-libs-5.5.1-fix-llvm-link.patch
@@ -0,0 +1,13 @@
+https://bugs.gentoo.org/851702#c4
+Adapt to libLLVM.so instead of the seperated libs
+===================================================================
+--- ROCm-Device-Libs-rocm-5.0.2.orig/utils/prepare-builtins/CMakeLists.txt
++++ ROCm-Device-Libs-rocm-5.0.2/utils/prepare-builtins/CMakeLists.txt
+@@ -26,5 +26,5 @@ set_target_properties(prepare-builtins P
+ CXX_STANDARD_REQUIRED Yes
+ CXX_EXTENSIONS No)
+ llvm_update_compile_flags(prepare-builtins)
+-llvm_map_components_to_libnames(llvm_libs support core bitreader bitwriter)
+-target_link_libraries(prepare-builtins ${llvm_libs})
++llvm_map_components_to_libnames(llvm_libs support)
++target_link_libraries(prepare-builtins LLVM)
diff --git a/dev-libs/rocm-device-libs/rocm-device-libs-3.10.0.ebuild b/dev-libs/rocm-device-libs/rocm-device-libs-3.10.0.ebuild
deleted file mode 100644
index 507a68912932..000000000000
--- a/dev-libs/rocm-device-libs/rocm-device-libs-3.10.0.ebuild
+++ /dev/null
@@ -1,38 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit cmake
-
-if [[ ${PV} == *9999 ]] ; then
- EGIT_REPO_URI="https://github.com/RadeonOpenCompute/ROCm-Device-Libs/"
- inherit git-r3
- S="${WORKDIR}/${P}/src"
-else
- SRC_URI="https://github.com/RadeonOpenCompute/ROCm-Device-Libs/archive/rocm-${PV}.tar.gz -> ${P}.tar.gz"
- S="${WORKDIR}/ROCm-Device-Libs-rocm-${PV}"
- KEYWORDS="~amd64"
-fi
-
-DESCRIPTION="Radeon Open Compute Device Libraries"
-HOMEPAGE="https://github.com/RadeonOpenCompute/ROCm-Device-Libs"
-
-LICENSE="MIT"
-SLOT="0/$(ver_cut 1-2)"
-
-RDEPEND=">=sys-devel/llvm-roc-${PV}:="
-DEPEND="${RDEPEND}"
-
-src_prepare() {
- sed -e "s:amdgcn/bitcode:lib/amdgcn/bitcode:" -i "${S}/cmake/OCL.cmake" || die
- sed -e "s:amdgcn/bitcode:lib/amdgcn/bitcode:" -i "${S}/cmake/Packages.cmake" || die
- cmake_src_prepare
-}
-
-src_configure() {
- local mycmakeargs=(
- -DLLVM_DIR="${EPREFIX}/usr/lib/llvm/roc/lib/cmake/llvm"
- )
- cmake_src_configure
-}
diff --git a/dev-libs/rocm-device-libs/rocm-device-libs-3.7.0.ebuild b/dev-libs/rocm-device-libs/rocm-device-libs-3.7.0.ebuild
deleted file mode 100644
index 23acf7bb488f..000000000000
--- a/dev-libs/rocm-device-libs/rocm-device-libs-3.7.0.ebuild
+++ /dev/null
@@ -1,32 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit cmake
-
-if [[ ${PV} == *9999 ]] ; then
- EGIT_REPO_URI="https://github.com/RadeonOpenCompute/ROCm-Device-Libs/"
- inherit git-r3
- S="${WORKDIR}/${P}/src"
-else
- SRC_URI="https://github.com/RadeonOpenCompute/ROCm-Device-Libs/archive/rocm-${PV}.tar.gz -> ${P}.tar.gz"
- S="${WORKDIR}/ROCm-Device-Libs-rocm-${PV}"
- KEYWORDS="~amd64"
-fi
-
-DESCRIPTION="Radeon Open Compute Device Libraries"
-HOMEPAGE="https://github.com/RadeonOpenCompute/ROCm-Device-Libs"
-
-LICENSE="MIT"
-SLOT="0/$(ver_cut 1-2)"
-
-RDEPEND=">=sys-devel/llvm-roc-${PV}:="
-DEPEND="${RDEPEND}"
-
-src_configure() {
- local mycmakeargs=(
- -DLLVM_DIR="${EPREFIX}/usr/lib/llvm/roc/lib/cmake/llvm"
- )
- cmake_src_configure
-}
diff --git a/dev-libs/rocm-device-libs/rocm-device-libs-3.8.0.ebuild b/dev-libs/rocm-device-libs/rocm-device-libs-3.8.0.ebuild
deleted file mode 100644
index 23acf7bb488f..000000000000
--- a/dev-libs/rocm-device-libs/rocm-device-libs-3.8.0.ebuild
+++ /dev/null
@@ -1,32 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit cmake
-
-if [[ ${PV} == *9999 ]] ; then
- EGIT_REPO_URI="https://github.com/RadeonOpenCompute/ROCm-Device-Libs/"
- inherit git-r3
- S="${WORKDIR}/${P}/src"
-else
- SRC_URI="https://github.com/RadeonOpenCompute/ROCm-Device-Libs/archive/rocm-${PV}.tar.gz -> ${P}.tar.gz"
- S="${WORKDIR}/ROCm-Device-Libs-rocm-${PV}"
- KEYWORDS="~amd64"
-fi
-
-DESCRIPTION="Radeon Open Compute Device Libraries"
-HOMEPAGE="https://github.com/RadeonOpenCompute/ROCm-Device-Libs"
-
-LICENSE="MIT"
-SLOT="0/$(ver_cut 1-2)"
-
-RDEPEND=">=sys-devel/llvm-roc-${PV}:="
-DEPEND="${RDEPEND}"
-
-src_configure() {
- local mycmakeargs=(
- -DLLVM_DIR="${EPREFIX}/usr/lib/llvm/roc/lib/cmake/llvm"
- )
- cmake_src_configure
-}
diff --git a/dev-libs/rocm-device-libs/rocm-device-libs-3.9.0-r1.ebuild b/dev-libs/rocm-device-libs/rocm-device-libs-3.9.0-r1.ebuild
deleted file mode 100644
index 507a68912932..000000000000
--- a/dev-libs/rocm-device-libs/rocm-device-libs-3.9.0-r1.ebuild
+++ /dev/null
@@ -1,38 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit cmake
-
-if [[ ${PV} == *9999 ]] ; then
- EGIT_REPO_URI="https://github.com/RadeonOpenCompute/ROCm-Device-Libs/"
- inherit git-r3
- S="${WORKDIR}/${P}/src"
-else
- SRC_URI="https://github.com/RadeonOpenCompute/ROCm-Device-Libs/archive/rocm-${PV}.tar.gz -> ${P}.tar.gz"
- S="${WORKDIR}/ROCm-Device-Libs-rocm-${PV}"
- KEYWORDS="~amd64"
-fi
-
-DESCRIPTION="Radeon Open Compute Device Libraries"
-HOMEPAGE="https://github.com/RadeonOpenCompute/ROCm-Device-Libs"
-
-LICENSE="MIT"
-SLOT="0/$(ver_cut 1-2)"
-
-RDEPEND=">=sys-devel/llvm-roc-${PV}:="
-DEPEND="${RDEPEND}"
-
-src_prepare() {
- sed -e "s:amdgcn/bitcode:lib/amdgcn/bitcode:" -i "${S}/cmake/OCL.cmake" || die
- sed -e "s:amdgcn/bitcode:lib/amdgcn/bitcode:" -i "${S}/cmake/Packages.cmake" || die
- cmake_src_prepare
-}
-
-src_configure() {
- local mycmakeargs=(
- -DLLVM_DIR="${EPREFIX}/usr/lib/llvm/roc/lib/cmake/llvm"
- )
- cmake_src_configure
-}
diff --git a/dev-libs/rocm-device-libs/rocm-device-libs-4.0.0.ebuild b/dev-libs/rocm-device-libs/rocm-device-libs-4.0.0.ebuild
deleted file mode 100644
index 507a68912932..000000000000
--- a/dev-libs/rocm-device-libs/rocm-device-libs-4.0.0.ebuild
+++ /dev/null
@@ -1,38 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit cmake
-
-if [[ ${PV} == *9999 ]] ; then
- EGIT_REPO_URI="https://github.com/RadeonOpenCompute/ROCm-Device-Libs/"
- inherit git-r3
- S="${WORKDIR}/${P}/src"
-else
- SRC_URI="https://github.com/RadeonOpenCompute/ROCm-Device-Libs/archive/rocm-${PV}.tar.gz -> ${P}.tar.gz"
- S="${WORKDIR}/ROCm-Device-Libs-rocm-${PV}"
- KEYWORDS="~amd64"
-fi
-
-DESCRIPTION="Radeon Open Compute Device Libraries"
-HOMEPAGE="https://github.com/RadeonOpenCompute/ROCm-Device-Libs"
-
-LICENSE="MIT"
-SLOT="0/$(ver_cut 1-2)"
-
-RDEPEND=">=sys-devel/llvm-roc-${PV}:="
-DEPEND="${RDEPEND}"
-
-src_prepare() {
- sed -e "s:amdgcn/bitcode:lib/amdgcn/bitcode:" -i "${S}/cmake/OCL.cmake" || die
- sed -e "s:amdgcn/bitcode:lib/amdgcn/bitcode:" -i "${S}/cmake/Packages.cmake" || die
- cmake_src_prepare
-}
-
-src_configure() {
- local mycmakeargs=(
- -DLLVM_DIR="${EPREFIX}/usr/lib/llvm/roc/lib/cmake/llvm"
- )
- cmake_src_configure
-}
diff --git a/dev-libs/rocm-device-libs/rocm-device-libs-4.1.0.ebuild b/dev-libs/rocm-device-libs/rocm-device-libs-4.1.0.ebuild
deleted file mode 100644
index 94bddf83d919..000000000000
--- a/dev-libs/rocm-device-libs/rocm-device-libs-4.1.0.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
-
-inherit cmake
-
-if [[ ${PV} == *9999 ]] ; then
- EGIT_REPO_URI="https://github.com/RadeonOpenCompute/ROCm-Device-Libs/"
- inherit git-r3
- S="${WORKDIR}/${P}/src"
-else
- SRC_URI="https://github.com/RadeonOpenCompute/ROCm-Device-Libs/archive/rocm-${PV}.tar.gz -> ${P}.tar.gz"
- S="${WORKDIR}/ROCm-Device-Libs-rocm-${PV}"
- KEYWORDS="~amd64"
-fi
-
-DESCRIPTION="Radeon Open Compute Device Libraries"
-HOMEPAGE="https://github.com/RadeonOpenCompute/ROCm-Device-Libs"
-
-LICENSE="MIT"
-SLOT="0/$(ver_cut 1-2)"
-
-RDEPEND=">=sys-devel/llvm-roc-${PV}:="
-DEPEND="${RDEPEND}"
-
-src_prepare() {
- sed -e "s:amdgcn/bitcode:lib/amdgcn/bitcode:" -i "${S}/cmake/OCL.cmake" || die
- sed -e "s:amdgcn/bitcode:lib/amdgcn/bitcode:" -i "${S}/cmake/Packages.cmake" || die
- cmake_src_prepare
-}
-
-src_configure() {
- local mycmakeargs=(
- -DLLVM_DIR="${EPREFIX}/usr/lib/llvm/roc/lib/cmake/llvm"
- )
- cmake_src_configure
-}
diff --git a/dev-libs/rocm-device-libs/rocm-device-libs-4.2.0.ebuild b/dev-libs/rocm-device-libs/rocm-device-libs-4.2.0.ebuild
deleted file mode 100644
index 94bddf83d919..000000000000
--- a/dev-libs/rocm-device-libs/rocm-device-libs-4.2.0.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
-
-inherit cmake
-
-if [[ ${PV} == *9999 ]] ; then
- EGIT_REPO_URI="https://github.com/RadeonOpenCompute/ROCm-Device-Libs/"
- inherit git-r3
- S="${WORKDIR}/${P}/src"
-else
- SRC_URI="https://github.com/RadeonOpenCompute/ROCm-Device-Libs/archive/rocm-${PV}.tar.gz -> ${P}.tar.gz"
- S="${WORKDIR}/ROCm-Device-Libs-rocm-${PV}"
- KEYWORDS="~amd64"
-fi
-
-DESCRIPTION="Radeon Open Compute Device Libraries"
-HOMEPAGE="https://github.com/RadeonOpenCompute/ROCm-Device-Libs"
-
-LICENSE="MIT"
-SLOT="0/$(ver_cut 1-2)"
-
-RDEPEND=">=sys-devel/llvm-roc-${PV}:="
-DEPEND="${RDEPEND}"
-
-src_prepare() {
- sed -e "s:amdgcn/bitcode:lib/amdgcn/bitcode:" -i "${S}/cmake/OCL.cmake" || die
- sed -e "s:amdgcn/bitcode:lib/amdgcn/bitcode:" -i "${S}/cmake/Packages.cmake" || die
- cmake_src_prepare
-}
-
-src_configure() {
- local mycmakeargs=(
- -DLLVM_DIR="${EPREFIX}/usr/lib/llvm/roc/lib/cmake/llvm"
- )
- cmake_src_configure
-}
diff --git a/dev-libs/rocm-device-libs/rocm-device-libs-4.3.0.ebuild b/dev-libs/rocm-device-libs/rocm-device-libs-4.3.0.ebuild
deleted file mode 100644
index 94bddf83d919..000000000000
--- a/dev-libs/rocm-device-libs/rocm-device-libs-4.3.0.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
-
-inherit cmake
-
-if [[ ${PV} == *9999 ]] ; then
- EGIT_REPO_URI="https://github.com/RadeonOpenCompute/ROCm-Device-Libs/"
- inherit git-r3
- S="${WORKDIR}/${P}/src"
-else
- SRC_URI="https://github.com/RadeonOpenCompute/ROCm-Device-Libs/archive/rocm-${PV}.tar.gz -> ${P}.tar.gz"
- S="${WORKDIR}/ROCm-Device-Libs-rocm-${PV}"
- KEYWORDS="~amd64"
-fi
-
-DESCRIPTION="Radeon Open Compute Device Libraries"
-HOMEPAGE="https://github.com/RadeonOpenCompute/ROCm-Device-Libs"
-
-LICENSE="MIT"
-SLOT="0/$(ver_cut 1-2)"
-
-RDEPEND=">=sys-devel/llvm-roc-${PV}:="
-DEPEND="${RDEPEND}"
-
-src_prepare() {
- sed -e "s:amdgcn/bitcode:lib/amdgcn/bitcode:" -i "${S}/cmake/OCL.cmake" || die
- sed -e "s:amdgcn/bitcode:lib/amdgcn/bitcode:" -i "${S}/cmake/Packages.cmake" || die
- cmake_src_prepare
-}
-
-src_configure() {
- local mycmakeargs=(
- -DLLVM_DIR="${EPREFIX}/usr/lib/llvm/roc/lib/cmake/llvm"
- )
- cmake_src_configure
-}
diff --git a/dev-libs/rocm-device-libs/rocm-device-libs-5.1.3-r1.ebuild b/dev-libs/rocm-device-libs/rocm-device-libs-5.1.3-r1.ebuild
new file mode 100644
index 000000000000..771081d38665
--- /dev/null
+++ b/dev-libs/rocm-device-libs/rocm-device-libs-5.1.3-r1.ebuild
@@ -0,0 +1,47 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake llvm
+
+LLVM_MAX_SLOT=15
+
+if [[ ${PV} == *9999 ]] ; then
+ EGIT_REPO_URI="https://github.com/RadeonOpenCompute/ROCm-Device-Libs/"
+ inherit git-r3
+ S="${WORKDIR}/${P}/src"
+else
+ SRC_URI="https://github.com/RadeonOpenCompute/ROCm-Device-Libs/archive/rocm-${PV}.tar.gz -> ${P}.tar.gz"
+ S="${WORKDIR}/ROCm-Device-Libs-rocm-${PV}"
+ KEYWORDS="~amd64"
+fi
+
+DESCRIPTION="Radeon Open Compute Device Libraries"
+HOMEPAGE="https://github.com/RadeonOpenCompute/ROCm-Device-Libs"
+
+LICENSE="MIT"
+SLOT="0/$(ver_cut 1-2)"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="sys-devel/clang:${LLVM_MAX_SLOT}"
+DEPEND="${RDEPEND}"
+
+CMAKE_BUILD_TYPE=Release
+
+PATCHES=( "${FILESDIR}/${PN}-5.1.3-test-bitcode-dir.patch"
+ "${FILESDIR}/${PN}-5.1.3-llvm-link.patch" )
+
+src_prepare() {
+ sed -e "s:amdgcn/bitcode:lib/amdgcn/bitcode:" -i "${S}/cmake/OCL.cmake" || die
+ sed -e "s:amdgcn/bitcode:lib/amdgcn/bitcode:" -i "${S}/cmake/Packages.cmake" || die
+ cmake_src_prepare
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DLLVM_DIR="$(get_llvm_prefix "${LLVM_MAX_SLOT}")"
+ )
+ cmake_src_configure
+}
diff --git a/dev-libs/rocm-device-libs/rocm-device-libs-5.3.3.ebuild b/dev-libs/rocm-device-libs/rocm-device-libs-5.3.3.ebuild
new file mode 100644
index 000000000000..771081d38665
--- /dev/null
+++ b/dev-libs/rocm-device-libs/rocm-device-libs-5.3.3.ebuild
@@ -0,0 +1,47 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake llvm
+
+LLVM_MAX_SLOT=15
+
+if [[ ${PV} == *9999 ]] ; then
+ EGIT_REPO_URI="https://github.com/RadeonOpenCompute/ROCm-Device-Libs/"
+ inherit git-r3
+ S="${WORKDIR}/${P}/src"
+else
+ SRC_URI="https://github.com/RadeonOpenCompute/ROCm-Device-Libs/archive/rocm-${PV}.tar.gz -> ${P}.tar.gz"
+ S="${WORKDIR}/ROCm-Device-Libs-rocm-${PV}"
+ KEYWORDS="~amd64"
+fi
+
+DESCRIPTION="Radeon Open Compute Device Libraries"
+HOMEPAGE="https://github.com/RadeonOpenCompute/ROCm-Device-Libs"
+
+LICENSE="MIT"
+SLOT="0/$(ver_cut 1-2)"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="sys-devel/clang:${LLVM_MAX_SLOT}"
+DEPEND="${RDEPEND}"
+
+CMAKE_BUILD_TYPE=Release
+
+PATCHES=( "${FILESDIR}/${PN}-5.1.3-test-bitcode-dir.patch"
+ "${FILESDIR}/${PN}-5.1.3-llvm-link.patch" )
+
+src_prepare() {
+ sed -e "s:amdgcn/bitcode:lib/amdgcn/bitcode:" -i "${S}/cmake/OCL.cmake" || die
+ sed -e "s:amdgcn/bitcode:lib/amdgcn/bitcode:" -i "${S}/cmake/Packages.cmake" || die
+ cmake_src_prepare
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DLLVM_DIR="$(get_llvm_prefix "${LLVM_MAX_SLOT}")"
+ )
+ cmake_src_configure
+}
diff --git a/dev-libs/rocm-device-libs/rocm-device-libs-5.4.3.ebuild b/dev-libs/rocm-device-libs/rocm-device-libs-5.4.3.ebuild
new file mode 100644
index 000000000000..cab37f4bebff
--- /dev/null
+++ b/dev-libs/rocm-device-libs/rocm-device-libs-5.4.3.ebuild
@@ -0,0 +1,48 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake llvm
+
+LLVM_MAX_SLOT=15
+
+if [[ ${PV} == *9999 ]] ; then
+ EGIT_REPO_URI="https://github.com/RadeonOpenCompute/ROCm-Device-Libs/"
+ inherit git-r3
+ S="${WORKDIR}/${P}/src"
+else
+ SRC_URI="https://github.com/RadeonOpenCompute/ROCm-Device-Libs/archive/rocm-${PV}.tar.gz -> ${P}.tar.gz"
+ S="${WORKDIR}/ROCm-Device-Libs-rocm-${PV}"
+ KEYWORDS="~amd64"
+fi
+
+DESCRIPTION="Radeon Open Compute Device Libraries"
+HOMEPAGE="https://github.com/RadeonOpenCompute/ROCm-Device-Libs"
+
+LICENSE="MIT"
+SLOT="0/$(ver_cut 1-2)"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="sys-devel/clang:${LLVM_MAX_SLOT}"
+DEPEND="${RDEPEND}"
+
+CMAKE_BUILD_TYPE=Release
+
+PATCHES=( "${FILESDIR}/${PN}-5.1.3-test-bitcode-dir.patch"
+ "${FILESDIR}/${PN}-5.1.3-llvm-link.patch"
+ "${FILESDIR}/${PN}-5.4.3-Revert-Update-counters-for-gfx11.patch" )
+
+src_prepare() {
+ sed -e "s:amdgcn/bitcode:lib/amdgcn/bitcode:" -i "${S}/cmake/OCL.cmake" || die
+ sed -e "s:amdgcn/bitcode:lib/amdgcn/bitcode:" -i "${S}/cmake/Packages.cmake" || die
+ cmake_src_prepare
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DLLVM_DIR="$(get_llvm_prefix "${LLVM_MAX_SLOT}")"
+ )
+ cmake_src_configure
+}
diff --git a/dev-libs/rocm-device-libs/rocm-device-libs-5.5.1.ebuild b/dev-libs/rocm-device-libs/rocm-device-libs-5.5.1.ebuild
new file mode 100644
index 000000000000..6d104bcdde4e
--- /dev/null
+++ b/dev-libs/rocm-device-libs/rocm-device-libs-5.5.1.ebuild
@@ -0,0 +1,49 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake llvm
+
+LLVM_MAX_SLOT=16
+
+if [[ ${PV} == *9999 ]] ; then
+ EGIT_REPO_URI="https://github.com/RadeonOpenCompute/ROCm-Device-Libs/"
+ inherit git-r3
+ S="${WORKDIR}/${P}/src"
+else
+ SRC_URI="https://github.com/RadeonOpenCompute/ROCm-Device-Libs/archive/rocm-${PV}.tar.gz -> ${P}.tar.gz"
+ S="${WORKDIR}/ROCm-Device-Libs-rocm-${PV}"
+ KEYWORDS="~amd64"
+fi
+
+DESCRIPTION="Radeon Open Compute Device Libraries"
+HOMEPAGE="https://github.com/RadeonOpenCompute/ROCm-Device-Libs"
+
+LICENSE="MIT"
+SLOT="0/$(ver_cut 1-2)"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="sys-devel/clang:${LLVM_MAX_SLOT}"
+DEPEND="${RDEPEND}"
+
+CMAKE_BUILD_TYPE=Release
+
+PATCHES=(
+ "${FILESDIR}/${PN}-5.4.3-Revert-Update-counters-for-gfx11.patch"
+ "${FILESDIR}/${PN}-5.5.1-fix-llvm-link.patch"
+ )
+
+src_prepare() {
+ sed -e "s:amdgcn/bitcode:lib/amdgcn/bitcode:" -i "${S}/cmake/OCL.cmake" || die
+ sed -e "s:amdgcn/bitcode:lib/amdgcn/bitcode:" -i "${S}/cmake/Packages.cmake" || die
+ cmake_src_prepare
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DLLVM_DIR="$(get_llvm_prefix "${LLVM_MAX_SLOT}")"
+ )
+ cmake_src_configure
+}
diff --git a/dev-libs/rocm-device-libs/rocm-device-libs-5.7.1.ebuild b/dev-libs/rocm-device-libs/rocm-device-libs-5.7.1.ebuild
new file mode 100644
index 000000000000..56af5a5be6b3
--- /dev/null
+++ b/dev-libs/rocm-device-libs/rocm-device-libs-5.7.1.ebuild
@@ -0,0 +1,49 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake llvm
+
+LLVM_MAX_SLOT=17
+
+if [[ ${PV} == *9999 ]] ; then
+ EGIT_REPO_URI="https://github.com/RadeonOpenCompute/ROCm-Device-Libs/"
+ inherit git-r3
+ S="${WORKDIR}/${P}/src"
+else
+ SRC_URI="https://github.com/RadeonOpenCompute/ROCm-Device-Libs/archive/rocm-${PV}.tar.gz -> ${P}.tar.gz"
+ S="${WORKDIR}/ROCm-Device-Libs-rocm-${PV}"
+ KEYWORDS="~amd64"
+fi
+
+DESCRIPTION="Radeon Open Compute Device Libraries"
+HOMEPAGE="https://github.com/RadeonOpenCompute/ROCm-Device-Libs"
+
+LICENSE="MIT"
+SLOT="0/$(ver_cut 1-2)"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="sys-devel/clang:${LLVM_MAX_SLOT}"
+DEPEND="${RDEPEND}"
+
+CMAKE_BUILD_TYPE=Release
+
+PATCHES=(
+ "${FILESDIR}/${PN}-5.5.1-fix-llvm-link.patch"
+ )
+
+src_prepare() {
+ sed -e "s:amdgcn/bitcode:lib/amdgcn/bitcode:" -i "${S}/cmake/OCL.cmake" || die
+ sed -e "s:amdgcn/bitcode:lib/amdgcn/bitcode:" -i "${S}/cmake/Packages.cmake" || die
+ cmake_src_prepare
+}
+
+src_configure() {
+ local mycmakeargs=(
+ # -DLLVM_DIR="${EPREFIX}/usr/lib/llvm/roc/lib/cmake/llvm"
+ -DLLVM_DIR="$(get_llvm_prefix "${LLVM_MAX_SLOT}")"
+ )
+ cmake_src_configure
+}
diff --git a/dev-libs/rocm-device-libs/rocm-device-libs-6.0.0.ebuild b/dev-libs/rocm-device-libs/rocm-device-libs-6.0.0.ebuild
new file mode 100644
index 000000000000..09ca777faf52
--- /dev/null
+++ b/dev-libs/rocm-device-libs/rocm-device-libs-6.0.0.ebuild
@@ -0,0 +1,51 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+RESTRICT="strip"
+
+inherit cmake llvm
+
+LLVM_MAX_SLOT=17
+
+if [[ ${PV} == *9999 ]] ; then
+ EGIT_REPO_URI="https://github.com/RadeonOpenCompute/ROCm-Device-Libs/"
+ inherit git-r3
+ S="${WORKDIR}/${P}/src"
+else
+ SRC_URI="https://github.com/RadeonOpenCompute/ROCm-Device-Libs/archive/rocm-${PV}.tar.gz -> ${P}.tar.gz"
+ S="${WORKDIR}/ROCm-Device-Libs-rocm-${PV}"
+ KEYWORDS="~amd64"
+fi
+
+DESCRIPTION="Radeon Open Compute Device Libraries"
+HOMEPAGE="https://github.com/RadeonOpenCompute/ROCm-Device-Libs"
+
+LICENSE="MIT"
+SLOT="0/$(ver_cut 1-2)"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="sys-devel/clang:${LLVM_MAX_SLOT}"
+DEPEND="${RDEPEND}"
+
+CMAKE_BUILD_TYPE=Release
+
+PATCHES=(
+ "${FILESDIR}/${PN}-5.5.1-fix-llvm-link.patch"
+ )
+
+src_prepare() {
+ sed -e "s:amdgcn/bitcode:lib/amdgcn/bitcode:" -i "${S}/cmake/OCL.cmake" || die
+ sed -e "s:amdgcn/bitcode:lib/amdgcn/bitcode:" -i "${S}/cmake/Packages.cmake" || die
+ cmake_src_prepare
+}
+
+src_configure() {
+ local mycmakeargs=(
+ # -DLLVM_DIR="${EPREFIX}/usr/lib/llvm/roc/lib/cmake/llvm"
+ -DLLVM_DIR="$(get_llvm_prefix "${LLVM_MAX_SLOT}")"
+ )
+ cmake_src_configure
+}
diff --git a/dev-libs/rocm-device-libs/rocm-device-libs-9999.ebuild b/dev-libs/rocm-device-libs/rocm-device-libs-9999.ebuild
deleted file mode 100644
index 32684d9ae3f7..000000000000
--- a/dev-libs/rocm-device-libs/rocm-device-libs-9999.ebuild
+++ /dev/null
@@ -1,33 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit cmake
-
-if [[ ${PV} == *9999 ]] ; then
- EGIT_REPO_URI="https://github.com/RadeonOpenCompute/ROCm-Device-Libs/"
- inherit git-r3
- S="${WORKDIR}/${P}/src"
-else
- SRC_URI="https://github.com/RadeonOpenCompute/ROCm-Device-Libs/archive/rocm-${PV}.tar.gz -> ${P}.tar.gz"
- S="${WORKDIR}/ROCm-Device-Libs-rocm-${PV}"
- KEYWORDS="~amd64"
-fi
-
-DESCRIPTION="Radeon Open Compute Device Libraries"
-HOMEPAGE="https://github.com/RadeonOpenCompute/ROCm-Device-Libs"
-
-LICENSE="MIT"
-SLOT="0/$(ver_cut 1-2)"
-
-RDEPEND="dev-libs/rocr-runtime
- sys-devel/llvm-roc:="
-DEPEND="${RDEPEND}"
-
-src_configure() {
- local mycmakeargs=(
- -DLLVM_DIR="${EPREFIX}/usr/lib/llvm/roc/lib/cmake/llvm"
- )
- cmake_src_configure
-}
diff --git a/dev-libs/rocm-hostcall/Manifest b/dev-libs/rocm-hostcall/Manifest
deleted file mode 100644
index ca774830c73a..000000000000
--- a/dev-libs/rocm-hostcall/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST rocm-hostcall-2.7.0.tar.gz 1500771 BLAKE2B 275ad4cab34d554f8a131101eda474926f7270a44a0af9941d8f1233c29b44b3efb3ba83c6b541d501a3e2fc751c591c0f6a993563bbacf539b5bcd04b23963b SHA512 afb4a7318c2e137db6ac0502041ed53e63783ec1ab458962b1b16f0f2f28e09ce2ae70d048b858740eca8bf06328858400a68bed4e91d7cfc4b7714a66d85bc9
diff --git a/dev-libs/rocm-hostcall/files/rocm-hostcall-2.7.0-install-correctly.patch b/dev-libs/rocm-hostcall/files/rocm-hostcall-2.7.0-install-correctly.patch
deleted file mode 100644
index f419674886a7..000000000000
--- a/dev-libs/rocm-hostcall/files/rocm-hostcall-2.7.0-install-correctly.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-https://github.com/RadeonOpenCompute/ROCm-CompilerSupport/pull/18
-
-From 345025de5c6c470e36505ff70978b168c05a1a71 Mon Sep 17 00:00:00 2001
-From: Craig Andrews <candrews@integralblue.com>
-Date: Wed, 31 Jul 2019 11:18:56 -0400
-Subject: [PATCH] Install to standard locations using GNUInstallDirs
-
-Some distributions require 64 bit libraries to be installed to lib64, for example.
-Using GNUInstallDirs ensures that files are installed to the expected locations.
----
- CMakeLists.txt | 8 +++++---
- 1 file changed, 5 insertions(+), 3 deletions(-)
-
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 0f524e6..009bab7 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -5,6 +5,8 @@ if (NOT UNIX)
- message(FATAL_ERROR "No Windows support due to lack of signals")
- endif()
-
-+include(GNUInstallDirs)
-+
- find_path(HSA_HEADER hsa/hsa.h PATHS /opt/rocm/include)
- if (NOT EXISTS ${HSA_HEADER})
- message(FATAL_ERROR "Cannot find HSA headers. Please check the CMAKE_PREFIX_PATH")
-@@ -34,9 +36,9 @@ target_compile_options(amd_hostcall
- target_compile_definitions(amd_hostcall
- PRIVATE "${AMD_HOSTCALL_PRIVATE_COMPILE_DEFINITIONS}")
-
--set(INCLUDE_INSTALL_DIR include)
--set(LIB_INSTALL_DIR lib)
--set(SHARE_INSTALL_DIR share)
-+set(INCLUDE_INSTALL_DIR ${CMAKE_INSTALL_INCLUDEDIR})
-+set(LIB_INSTALL_DIR ${CMAKE_INSTALL_LIBDIR})
-+set(SHARE_INSTALL_DIR ${CMAKE_INSTALL_DATADIR})
- set(CONFIG_INSTALL_DIR ${LIB_INSTALL_DIR}/cmake/amd_hostcall)
-
- install(TARGETS amd_hostcall
diff --git a/dev-libs/rocm-hostcall/metadata.xml b/dev-libs/rocm-hostcall/metadata.xml
deleted file mode 100644
index babf53121c62..000000000000
--- a/dev-libs/rocm-hostcall/metadata.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="person">
- <email>candrews@gentoo.org</email>
- <name>Craig Andrews</name>
- </maintainer>
- <upstream>
- <remote-id type="github">RadeonOpenCompute/ROCm-CompilerSupport</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/dev-libs/rocm-hostcall/rocm-hostcall-2.7.0.ebuild b/dev-libs/rocm-hostcall/rocm-hostcall-2.7.0.ebuild
deleted file mode 100644
index 75029423c259..000000000000
--- a/dev-libs/rocm-hostcall/rocm-hostcall-2.7.0.ebuild
+++ /dev/null
@@ -1,27 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit cmake
-
-if [[ ${PV} == *9999 ]] ; then
- EGIT_REPO_URI="https://github.com/RadeonOpenCompute/ROCm-CompilerSupport/"
- inherit git-r3
- S="${WORKDIR}/${P}/lib/hostcall"
-else
- SRC_URI="https://github.com/RadeonOpenCompute/ROCm-CompilerSupport/archive/roc-${PV}.tar.gz -> ${P}.tar.gz"
- S="${WORKDIR}/ROCm-CompilerSupport-roc-${PV}/lib/hostcall"
- KEYWORDS="~amd64"
-fi
-PATCHES=(
- "${FILESDIR}/${P}-install-correctly.patch"
-)
-
-DESCRIPTION="Radeon Open Compute hostcall API"
-HOMEPAGE="https://github.com/RadeonOpenCompute/ROCm-CompilerSupport"
-LICENSE="MIT"
-SLOT="0/$(ver_cut 1-2)"
-
-RDEPEND="dev-libs/rocr-runtime"
-DEPEND="${RDEPEND}"
diff --git a/dev-libs/rocm-opencl-runtime/Manifest b/dev-libs/rocm-opencl-runtime/Manifest
index 8ccfc59066a7..a0f9ed9e02f5 100644
--- a/dev-libs/rocm-opencl-runtime/Manifest
+++ b/dev-libs/rocm-opencl-runtime/Manifest
@@ -1,7 +1,10 @@
-DIST rocm-opencl-runtime-3.10.0.tar.gz 1004148 BLAKE2B 3d2539d24f8b3fd039424d606ebe36d7d8d1db2425f646d093a1a48d95c1c8b1c20821674fc628e622c2a5e7cbb30547805c3b84af16ad53f860f1064efa572b SHA512 121d0f310b4b235adf5f34dbf1989016b4c875bb47779b18d35fd9fab01c2118d1860e520cc6202a6fc3405b4c7897f491f611193c992cc25fe48e12bdd9f83f
-DIST rocm-opencl-runtime-3.8.0.tar.gz 1004339 BLAKE2B 966a5bd1d4d188004b15fe4263f2c18f6dad6a07f4bc264a5afa010f6035fbf73288966cd624e6e31e1ba584ba322d93343e3482177e6480c4a57a4150546f5a SHA512 bb4e3568e32bf6acc3c4812d7db169396a01bf90d079dc420ffb7df4bd4146d39938e76e9b386548fe64276bbf938a545c898de599113f20cc73ae98268c3d6a
-DIST rocm-opencl-runtime-3.9.0.tar.gz 1004372 BLAKE2B f5485dfbc615826214e1071485636e94bc83d12d4412da912455cb0ddd39ede3429a749a16428cb3c10775e652ffbe31a63ad00b3ea38a7fa43a120776a12bfe SHA512 e8149e99a7116a2c2af0d04dde55290c35dd5c6c26d95da8c8a04fcfccdb23f6617ab8348f9fc201b6d9fde7202de4ede480d7ac547ae2471c6ae10897e1795e
-DIST rocm-opencl-runtime-4.0.0.tar.gz 1004149 BLAKE2B a41ca63bdac1930599fd808d0a5609dd4c0d475ba5fd6278a6c201e1ac72867a587d1ac6fa7d7a18a29ab708dd14b24abddd1326e1489e6aaa82d4b26be5f2f5 SHA512 913a135d693c133e17e6b3abaecac46a4fbeb5683ed7cf04060e04bec5f37d4ba5dd5ff4b357b8304142346dbde8acd3ddfdc1028f788550e0ca245f7ce665ea
-DIST rocm-opencl-runtime-4.1.0.tar.gz 1005255 BLAKE2B 5833cc4bae3ecd5c9a3f601334424d03596bfe798bfc7c11ffa9d66b23d36f3fe6cfb1dbfd38c208a63ba824d6c5634f69448ace29ada6728c8ef544afcf1c0e SHA512 228c1bb337778b32c86d645fb874d03e9d6ee39ebfad23c813c0b2221a0421225aca63b2526d60c34d84f64147daad3e9324c2063db4b112aa30250359babbd2
-DIST rocm-opencl-runtime-4.2.0.tar.gz 1005604 BLAKE2B 09e100081295e8c3da1f8b6b4371d372bcde8dade66ba2718111044364ab6a9cf1c598bd650c57670759def20aa7e638c5ecfe2076191b51a76d68e57b536605 SHA512 49b07a07949506dfd74a047d01a0bd9e2f719f6a618b4e4786861f9d59a77ddf15e06e1d13e6bda08866e096f5bd73be8656eae3ad9806661149d20cfdd68566
-DIST rocm-opencl-runtime-4.3.0.tar.gz 1006792 BLAKE2B 29fd5843bb0153c7d3fe5250898f0fbdd089db6304122698c9ec9a5436e3a6845916f241f1a1e79a614e369f000297ac12413620edec0660d859ccddaa978d07 SHA512 a514d626700350f2c663db468427479eaa9e39dd912266ac2db6830d712351ffbc18737b208fd37f7ab5afdc2c9f6412d8d765973d6c72759bf51f864fc6bf1d
+DIST rocclr-5.1.3.tar.gz 618606 BLAKE2B 02b7732ddd03c0883bee49c56466cd21c649159f801bfb2537eea6e640c65613eb57b37d942f465a9deb83d65735f51212dde5e4f77ba8239d1a6b7037e1800c SHA512 89fd2eca39ed84a1cf525b2c606089ef39f64c1f997c4880e10722da6de4864110752640e1508db1aeb9d15c48ba4e6fe5dbe7a9e56718853ece42548028b2ca
+DIST rocclr-5.3.3.tar.gz 625944 BLAKE2B 0cdbc1415a355e1d56628834846aaa8587c9827eeea59f4312b788e868265dcb42197181fd5ef411416da2e11662c7f665f578aa750ab88c3a5405bcc58ee449 SHA512 3f85532cffc09c2ca8e7cd1770263d1c1a38633ed2bc5cfe62072e12a6f8f669db400519950718be31f6b77693d372e2ef905f06c7f02e126aa9ff7d2da97924
+DIST rocclr-5.4.3.tar.gz 640557 BLAKE2B 9ab91bab7ffb06c9c0d1c2ae79533fccc597071dda289ac375e32eb2965c638a7029951d2a49d46eeead9d7d242fe3a0cedb3e444d877af1bbf0e2d801c91e11 SHA512 c1d1a2ca08c2d762a221c04d394469aa7aff46086151333b145e0db9a7c7eb3dbbf8b9693e50d816aa9a13c16b4ebacf5ff3d5d8ff3393a8a764728ef5172d3a
+DIST rocclr-5.5.1.tar.gz 634330 BLAKE2B e6383a6b6b09f274a944d66effd345e38a191ec73ee5c5240f8ec8bb62a4df97b80835ce57f8f78c3834602b9da425b49289b5c7cd7e4c7071147ff409c6a6c9 SHA512 4c12011d22a4f14d9e93250b2a38716eb973139afa1adbbbd51c0e0ed13c0b7c1f45a37c71ef937c5fdabf09e928d7913ca3332fc61b7a2c10d21421306a228f
+DIST rocm-clr-5.7.1.tar.gz 2008647 BLAKE2B 3db0760d6f83504e60caf88a2dd5e0bc02c7db9d6f263ad0eb2cfc79aa0f88a3699c412844a0158a796d9d02e79660287e791edad787d814eefffea4fd2298b4 SHA512 d79323481d82fc02c12a32cdcc0d14437d512af023e7737db0387b7eecb27fe6e4ae7c71d6adce57932a04bb24c880440d9dc10aeb5af11a4f2ca64d44330965
+DIST rocm-clr-6.0.0.tar.gz 1983453 BLAKE2B 2cf6ec7c3b0ec5dedeea94ff54af30662b781fc2eee22e3315094af61dc9d331eba33c1d9d463295848c5724e515a3137f9b189c1261273afad1a5f9d32226c2 SHA512 12e77a121150d8c25121b98bd7c6233c2568f9f4130bdbe6bc3ab225f14b8bea6a6bdc4ed497c0f999d3d3daabdca0de8caaa1b69911c11974b5d6f951734433
+DIST rocm-opencl-runtime-5.1.3.tar.gz 1004765 BLAKE2B 64d9b42026d2be1d0e4aa666785699f6b4ec0584a927904a94bf830883050943503f8bdd7c97438a2fb11c71686a330d526f633959916c5c6c8da2e037841e79 SHA512 b83c3ae0bfad80f867bacce36710a8964f6dd7e64bf50da3ec6ce842217d6de63299d9ceaab9dc25a22252484520a85d02859809463dad5dda9b1f00a86863e0
+DIST rocm-opencl-runtime-5.3.3.tar.gz 1007773 BLAKE2B a3f600a68183337f92b152a123241cb7025889cca2ef6814d9d5b5a2146a78703b171d20bcb432bc7a2cdd1f24ad349408c17816b25a66702e9f0f5345af9082 SHA512 391f0f244b7f02972df8cada821e69ee8d81d96b9cff3c14f1d0838da583d8fb136ec4bd5ee820f6dd261968e9eef5e9a5b10b7bb76b1b64625c399d79bcb03f
+DIST rocm-opencl-runtime-5.4.3.tar.gz 1005268 BLAKE2B f9398e4c2b0f045f1b5d8df9f31b7f2bef6a9201885aa6ee5fc5d71632cfde26a078d9a5ea38c3da12d3c187faf04c7bdcf1a8ecb9927cdba56b1efdfcdc44ee SHA512 f65d4622ce8721a6b91ab5b5b306d142ba507d3e631ac3ab0b76c5bc6d8d18455e02debd954c82e7eb609f232b509f1ec1a013dc2fad467c2c2ad31fdf15755d
+DIST rocm-opencl-runtime-5.5.1.tar.gz 991802 BLAKE2B 07d955b4a76b11296259287f5878cadc2438350a3abcdb5bd693c02790ff4c330b1d0a2a87f8de5334b3e3459c26b3fdf695886502ec5d2c373d807c242c8f93 SHA512 06786e818002dc43f64e4b0aaae0a0a2bcdad7acdb4662e1215d43277b107d65fb9a7f7441c31e3378c380cac860b1cd2eaefb5753246beffa4d9c10efced85e
diff --git a/dev-libs/rocm-opencl-runtime/files/rocclr-5.3.3-fix-include.patch b/dev-libs/rocm-opencl-runtime/files/rocclr-5.3.3-fix-include.patch
new file mode 100644
index 000000000000..e014fe374bec
--- /dev/null
+++ b/dev-libs/rocm-opencl-runtime/files/rocclr-5.3.3-fix-include.patch
@@ -0,0 +1,218 @@
+For https://bugs.gentoo.org/893602
+==================================
+From 197ea6f76f34e0b3c8ab46d96c2fa5014e467e37 Mon Sep 17 00:00:00 2001
+From: Maneesh Gupta <maneesh.gupta@amd.com>
+Date: Fri, 5 Aug 2022 05:42:39 +0000
+Subject: [PATCH] SWDEV-350289 - Fix build warnings due to file re-org
+
+Change-Id: I0066fa163b9f25fdde4c5b3baed1ef0654390c06
+---
+ device/comgrctx.hpp | 2 +-
+ device/devkernel.hpp | 2 +-
+ device/devprogram.hpp | 2 +-
+ device/rocm/pro/prodevice.cpp | 2 +-
+ device/rocm/pro/prodriver.hpp | 2 +-
+ device/rocm/roccounters.hpp | 2 +-
+ device/rocm/rocdevice.hpp | 8 ++++----
+ device/rocm/rocglinterop.hpp | 2 +-
+ device/rocm/rockernel.cpp | 2 +-
+ device/rocm/rocprogram.cpp | 2 +-
+ device/rocm/rocsignal.hpp | 4 ++--
+ device/rocm/rocvirtual.cpp | 4 ++--
+ device/rocm/rocvirtual.hpp | 8 ++++----
+ 13 files changed, 21 insertions(+), 21 deletions(-)
+
+diff --git a/device/comgrctx.hpp b/device/comgrctx.hpp
+index d69506e2..31ee24e1 100644
+--- a/device/comgrctx.hpp
++++ b/device/comgrctx.hpp
+@@ -23,7 +23,7 @@
+ #include <mutex>
+ #if defined(USE_COMGR_LIBRARY)
+ #include "top.hpp"
+-#include "amd_comgr.h"
++#include "amd_comgr/amd_comgr.h"
+
+ namespace amd {
+ typedef void (*t_amd_comgr_get_version)(size_t *major, size_t *minor);
+diff --git a/device/devkernel.hpp b/device/devkernel.hpp
+index 19b3212d..b256abf3 100644
+--- a/device/devkernel.hpp
++++ b/device/devkernel.hpp
+@@ -105,7 +105,7 @@ struct RuntimeHandle {
+ uint32_t group_segment_size; //!< From GROUP_SEGMENT_FIXED_SIZE
+ };
+
+-#include "amd_comgr.h"
++#include "amd_comgr/amd_comgr.h"
+
+ // for Code Object V3
+ enum class ArgField : uint8_t {
+diff --git a/device/devprogram.hpp b/device/devprogram.hpp
+index 099d6a37..741d81b0 100644
+--- a/device/devprogram.hpp
++++ b/device/devprogram.hpp
+@@ -29,7 +29,7 @@
+ #include "devwavelimiter.hpp"
+
+ #if defined(USE_COMGR_LIBRARY)
+-#include "amd_comgr.h"
++#include "amd_comgr/amd_comgr.h"
+ #endif // defined(USE_COMGR_LIBRARY)
+
+ namespace amd {
+diff --git a/device/rocm/pro/prodevice.cpp b/device/rocm/pro/prodevice.cpp
+index a0e49461..1e366cd2 100644
+--- a/device/rocm/pro/prodevice.cpp
++++ b/device/rocm/pro/prodevice.cpp
+@@ -20,7 +20,7 @@
+
+ #ifndef WITHOUT_HSA_BACKEND
+
+-#include "hsa_ext_amd.h"
++#include "hsa/hsa_ext_amd.h"
+ #include "lnxheaders.h"
+ #include "prodevice.hpp"
+ #include "amdgpu_drm.h"
+diff --git a/device/rocm/pro/prodriver.hpp b/device/rocm/pro/prodriver.hpp
+index bc420697..819ade27 100644
+--- a/device/rocm/pro/prodriver.hpp
++++ b/device/rocm/pro/prodriver.hpp
+@@ -23,7 +23,7 @@
+ #ifndef WITHOUT_HSA_BACKEND
+
+ #include "top.hpp"
+-#include "hsa.h"
++#include "hsa/hsa.h"
+
+ /*! \addtogroup HSA
+ * @{
+diff --git a/device/rocm/roccounters.hpp b/device/rocm/roccounters.hpp
+index ffc9fad0..45ebbe66 100644
+--- a/device/rocm/roccounters.hpp
++++ b/device/rocm/roccounters.hpp
+@@ -24,7 +24,7 @@
+ #include "top.hpp"
+ #include "device/device.hpp"
+ #include "device/rocm/rocdevice.hpp"
+-#include "hsa_ven_amd_aqlprofile.h"
++#include "hsa/hsa_ven_amd_aqlprofile.h"
+
+ namespace roc {
+
+diff --git a/device/rocm/rocdevice.hpp b/device/rocm/rocdevice.hpp
+index d8cb4c6c..44339bb9 100644
+--- a/device/rocm/rocdevice.hpp
++++ b/device/rocm/rocdevice.hpp
+@@ -40,10 +40,10 @@
+ #include "device/rocm/rocprintf.hpp"
+ #include "device/rocm/rocglinterop.hpp"
+
+-#include "hsa.h"
+-#include "hsa_ext_image.h"
+-#include "hsa_ext_amd.h"
+-#include "hsa_ven_amd_loader.h"
++#include "hsa/hsa.h"
++#include "hsa/hsa_ext_image.h"
++#include "hsa/hsa_ext_amd.h"
++#include "hsa/hsa_ven_amd_loader.h"
+
+ #include <atomic>
+ #include <iostream>
+diff --git a/device/rocm/rocglinterop.hpp b/device/rocm/rocglinterop.hpp
+index a539cc6f..588d8a6f 100644
+--- a/device/rocm/rocglinterop.hpp
++++ b/device/rocm/rocglinterop.hpp
+@@ -34,7 +34,7 @@ typedef __GLXcontextRec* GLXContext;
+
+ #include "device/rocm/mesa_glinterop.h"
+ #include "device/rocm/rocregisters.hpp"
+-#include "hsa_ext_amd.h"
++#include "hsa/hsa_ext_amd.h"
+
+ namespace roc {
+
+diff --git a/device/rocm/rockernel.cpp b/device/rocm/rockernel.cpp
+index 76ab76ad..5624c877 100644
+--- a/device/rocm/rockernel.cpp
++++ b/device/rocm/rockernel.cpp
+@@ -19,7 +19,7 @@
+ THE SOFTWARE. */
+
+ #include "rockernel.hpp"
+-#include "amd_hsa_kernel_code.h"
++#include "hsa/amd_hsa_kernel_code.h"
+
+ #include <algorithm>
+
+diff --git a/device/rocm/rocprogram.cpp b/device/rocm/rocprogram.cpp
+index e4559645..4f77026d 100644
+--- a/device/rocm/rocprogram.cpp
++++ b/device/rocm/rocprogram.cpp
+@@ -25,7 +25,7 @@
+ #include "utils/options.hpp"
+ #include "rockernel.hpp"
+
+-#include "amd_hsa_kernel_code.h"
++#include "hsa/amd_hsa_kernel_code.h"
+
+ #include <string>
+ #include <vector>
+diff --git a/device/rocm/rocsignal.hpp b/device/rocm/rocsignal.hpp
+index 3e8c1e6e..fff310d5 100644
+--- a/device/rocm/rocsignal.hpp
++++ b/device/rocm/rocsignal.hpp
+@@ -22,7 +22,7 @@
+
+ #include "device/devsignal.hpp"
+
+-#include <hsa.h>
++#include "hsa/hsa.h"
+
+ namespace roc {
+
+@@ -44,4 +44,4 @@ public:
+ }
+ };
+
+-};
+\ No newline at end of file
++};
+diff --git a/device/rocm/rocvirtual.cpp b/device/rocm/rocvirtual.cpp
+index 63b96378..1b6287e9 100644
+--- a/device/rocm/rocvirtual.cpp
++++ b/device/rocm/rocvirtual.cpp
+@@ -33,8 +33,8 @@
+ #include "platform/sampler.hpp"
+ #include "utils/debug.hpp"
+ #include "os/os.hpp"
+-#include "amd_hsa_kernel_code.h"
+-#include "amd_hsa_queue.h"
++#include "hsa/amd_hsa_kernel_code.h"
++#include "hsa/amd_hsa_queue.h"
+
+ #include <fstream>
+ #include <limits>
+diff --git a/device/rocm/rocvirtual.hpp b/device/rocm/rocvirtual.hpp
+index 6c738776..1bb0868c 100644
+--- a/device/rocm/rocvirtual.hpp
++++ b/device/rocm/rocvirtual.hpp
+@@ -24,11 +24,11 @@
+ #include "rocdefs.hpp"
+ #include "rocdevice.hpp"
+ #include "utils/util.hpp"
+-#include "hsa.h"
+-#include "hsa_ext_image.h"
+-#include "hsa_ext_amd.h"
++#include "hsa/hsa.h"
++#include "hsa/hsa_ext_image.h"
++#include "hsa/hsa_ext_amd.h"
+ #include "rocprintf.hpp"
+-#include "hsa_ven_amd_aqlprofile.h"
++#include "hsa/hsa_ven_amd_aqlprofile.h"
+ #include "rocsched.hpp"
+
+ namespace roc {
+--
+2.39.1
+
diff --git a/dev-libs/rocm-opencl-runtime/files/rocclr-5.3.3-gcc13.patch b/dev-libs/rocm-opencl-runtime/files/rocclr-5.3.3-gcc13.patch
new file mode 100644
index 000000000000..a86cd9fa120e
--- /dev/null
+++ b/dev-libs/rocm-opencl-runtime/files/rocclr-5.3.3-gcc13.patch
@@ -0,0 +1,27 @@
+For https://bugs.gentoo.org/895382
+==================================
+From ca70cd7c3d63b1036e604116f3b269ca123e7904 Mon Sep 17 00:00:00 2001
+From: Jeremy Newton <Jeremy.Newton@amd.com>
+Date: Wed, 8 Feb 2023 14:03:58 -0500
+Subject: [PATCH] SWDEV-1 - device: Add missing include
+
+Newer GCC's seem to require this.
+
+Change-Id: I85926d4fa552b772f2eb9f8ede7863a546c47f54
+Signed-off-by: Jeremy Newton <Jeremy.Newton@amd.com>
+---
+ device/devhcprintf.cpp | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/device/devhcprintf.cpp b/device/devhcprintf.cpp
+index b36f7758..a5aba4a4 100644
+--- a/device/devhcprintf.cpp
++++ b/device/devhcprintf.cpp
+@@ -23,6 +23,7 @@
+
+ #include <assert.h>
+ #include <cstdarg>
++#include <cstdint>
+ #include <cstdio>
+ #include <cstring>
+ #include <string>
diff --git a/dev-libs/rocm-opencl-runtime/files/rocm-opencl-runtime-3.10.0-add-rocclr-include-directories.patch b/dev-libs/rocm-opencl-runtime/files/rocm-opencl-runtime-3.10.0-add-rocclr-include-directories.patch
deleted file mode 100644
index 13fc581b4cd9..000000000000
--- a/dev-libs/rocm-opencl-runtime/files/rocm-opencl-runtime-3.10.0-add-rocclr-include-directories.patch
+++ /dev/null
@@ -1,12 +0,0 @@
---- a/amdocl/CMakeLists.txt 2020-12-05 22:05:55.838529158 +0100
-+++ b/amdocl/CMakeLists.txt 2020-12-05 22:07:35.677524507 +0100
-@@ -23,6 +23,9 @@
- include_directories(${CMAKE_CURRENT_LIST_DIR}/../khronos)
- include_directories(${CMAKE_CURRENT_LIST_DIR}/../khronos/headers)
- include_directories(${CMAKE_CURRENT_LIST_DIR}/../khronos/headers/opencl2.2)
-+include_directories(/usr/include/rocclr)
-+include_directories(/usr/include/rocclr/compiler/lib/include/)
-+include_directories(/usr/include/rocclr/elf/)
-
- if((CMAKE_CXX_COMPILER_ID STREQUAL "GNU") OR
- (CMAKE_${COMPILER}_COMPILER_ID MATCHES "Clang"))
diff --git a/dev-libs/rocm-opencl-runtime/files/rocm-opencl-runtime-3.7.0-add-rocclr-include-directories.patch b/dev-libs/rocm-opencl-runtime/files/rocm-opencl-runtime-3.7.0-add-rocclr-include-directories.patch
deleted file mode 100644
index 357b97c7f49e..000000000000
--- a/dev-libs/rocm-opencl-runtime/files/rocm-opencl-runtime-3.7.0-add-rocclr-include-directories.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/amdocl/CMakeLists.txt 2020-08-23 10:11:28.227839351 +0200
-+++ b/amdocl/CMakeLists.txt 2020-08-23 10:44:34.929831772 +0200
-@@ -23,6 +23,8 @@
- include_directories(${CMAKE_SOURCE_DIR}/khronos)
- include_directories(${CMAKE_SOURCE_DIR}/khronos/headers)
- include_directories(${CMAKE_SOURCE_DIR}/khronos/headers/opencl2.2)
-+include_directories(/usr/include/rocclr)
-+include_directories(/usr/include/rocclr/compiler/lib/include/)
-
- if((CMAKE_CXX_COMPILER_ID STREQUAL "GNU") OR
- (CMAKE_${COMPILER}_COMPILER_ID MATCHES "Clang"))
diff --git a/dev-libs/rocm-opencl-runtime/files/rocm-opencl-runtime-3.7.0-amdocl64icd.patch b/dev-libs/rocm-opencl-runtime/files/rocm-opencl-runtime-3.7.0-amdocl64icd.patch
deleted file mode 100644
index 6541c69bd48a..000000000000
--- a/dev-libs/rocm-opencl-runtime/files/rocm-opencl-runtime-3.7.0-amdocl64icd.patch
+++ /dev/null
@@ -1,10 +0,0 @@
---- a/amdocl/CMakeLists.txt 2020-08-23 10:11:28.227839351 +0200
-+++ b/amdocl/CMakeLists.txt 2020-08-23 10:12:03.697839216 +0200
-@@ -76,3 +76,7 @@
- add_library(amdocl64 SHARED ${amdocl64_src})
-
- target_link_libraries(amdocl64 amdrocclr_static Threads::Threads dl ${ADDITIONAL_LIBRARIES})
-+
-+file(GENERATE OUTPUT "${CMAKE_BINARY_DIR}/amdocl64.icd" CONTENT "$<TARGET_FILE_NAME:amdocl64>")
-+install(FILES "${CMAKE_BINARY_DIR}/amdocl64.icd" DESTINATION "${CMAKE_INSTALL_FULL_SYSCONFDIR}/OpenCL/vendors/")
-+
diff --git a/dev-libs/rocm-opencl-runtime/files/rocm-opencl-runtime-3.7.0-change-install-location.patch b/dev-libs/rocm-opencl-runtime/files/rocm-opencl-runtime-3.7.0-change-install-location.patch
deleted file mode 100644
index 77ce5e9bd332..000000000000
--- a/dev-libs/rocm-opencl-runtime/files/rocm-opencl-runtime-3.7.0-change-install-location.patch
+++ /dev/null
@@ -1,79 +0,0 @@
---- a/CMakeLists.txt 2020-08-23 10:14:54.337838565 +0200
-+++ b/CMakeLists.txt 2020-08-23 10:18:26.993837753 +0200
-@@ -14,6 +14,8 @@
- #example command:
- # cmake -DCMAKE_PREFIX_PATH=/path/to/ROCclr/build/or/install ..
-
-+include (GNUInstallDirs)
-+
- set(OPENCL_ICD_LOADER_HEADERS_DIR "${CMAKE_CURRENT_SOURCE_DIR}/khronos/headers/opencl2.2" CACHE PATH "")
- option(BUILD_SHARED_LIBS "Build shared libs" ON)
-
-@@ -60,7 +62,7 @@
-
- add_subdirectory(khronos/icd)
- add_subdirectory(amdocl)
--add_subdirectory(tools/clinfo)
-+#add_subdirectory(tools/clinfo)
- add_subdirectory(tools/cltrace)
- if(BUILD_TESTS)
- add_subdirectory(tests/ocltst)
-@@ -96,34 +98,34 @@
- ###--- Packaging ------------------------------------------------------------###
-
- # MAIN package
--install(PROGRAMS $<TARGET_FILE:clinfo>
-- DESTINATION bin
-- COMPONENT MAIN)
--install(PROGRAMS $<TARGET_FILE:cltrace>
-- DESTINATION lib
-- COMPONENT MAIN)
-+#install(PROGRAMS $<TARGET_FILE:clinfo>
-+# DESTINATION bin
-+# COMPONENT MAIN)
-+#install(PROGRAMS $<TARGET_FILE:cltrace>
-+# DESTINATION lib
-+# COMPONENT MAIN)
- install(PROGRAMS $<TARGET_FILE:amdocl64>
-- DESTINATION lib
-- COMPONENT MAIN)
--install(PROGRAMS $<TARGET_FILE:OpenCL>
-- DESTINATION lib
-- COMPONENT MAIN)
--install(PROGRAMS $<TARGET_SONAME_FILE:OpenCL>
-- DESTINATION lib
-+ DESTINATION lib64
- COMPONENT MAIN)
-+#install(PROGRAMS $<TARGET_FILE:OpenCL>
-+# DESTINATION lib
-+# COMPONENT MAIN)
-+#install(PROGRAMS $<TARGET_SONAME_FILE:OpenCL>
-+# DESTINATION lib
-+# COMPONENT MAIN)
-
- # DEV package
--install(DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/khronos/headers/opencl2.2/CL"
-- DESTINATION include
-- COMPONENT DEV
-- USE_SOURCE_PERMISSIONS
-- PATTERN cl_d3d10.h EXCLUDE
-- PATTERN cl_d3d11.h EXCLUDE
-- PATTERN cl_dx9_media_sharing.h EXCLUDE
-- PATTERN cl_egl.h EXCLUDE)
--install(PROGRAMS $<TARGET_LINKER_FILE:OpenCL>
-- DESTINATION lib
-- COMPONENT DEV)
-+#install(DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/khronos/headers/opencl2.2/CL"
-+# DESTINATION include
-+# COMPONENT DEV
-+# USE_SOURCE_PERMISSIONS
-+# PATTERN cl_d3d10.h EXCLUDE
-+# PATTERN cl_d3d11.h EXCLUDE
-+# PATTERN cl_dx9_media_sharing.h EXCLUDE
-+# PATTERN cl_egl.h EXCLUDE)
-+#install(PROGRAMS $<TARGET_LINKER_FILE:OpenCL>
-+# DESTINATION lib
-+# COMPONENT DEV)
-
- #############################
- # Packaging steps
diff --git a/dev-libs/rocm-opencl-runtime/files/rocm-opencl-runtime-3.9.0-add-rocclr-include-directories.patch b/dev-libs/rocm-opencl-runtime/files/rocm-opencl-runtime-3.9.0-add-rocclr-include-directories.patch
deleted file mode 100644
index e9341675d890..000000000000
--- a/dev-libs/rocm-opencl-runtime/files/rocm-opencl-runtime-3.9.0-add-rocclr-include-directories.patch
+++ /dev/null
@@ -1,12 +0,0 @@
---- a/amdocl/CMakeLists.txt 2020-08-23 10:11:28.227839351 +0200
-+++ b/amdocl/CMakeLists.txt 2020-08-23 10:44:34.929831772 +0200
-@@ -23,6 +23,9 @@
- include_directories(${CMAKE_SOURCE_DIR}/khronos)
- include_directories(${CMAKE_SOURCE_DIR}/khronos/headers)
- include_directories(${CMAKE_SOURCE_DIR}/khronos/headers/opencl2.2)
-+include_directories(/usr/include/rocclr)
-+include_directories(/usr/include/rocclr/compiler/lib/include/)
-+include_directories(/usr/include/rocclr/elf/)
-
- if((CMAKE_CXX_COMPILER_ID STREQUAL "GNU") OR
- (CMAKE_${COMPILER}_COMPILER_ID MATCHES "Clang"))
diff --git a/dev-libs/rocm-opencl-runtime/files/rocm-opencl-runtime-4.2.0-opencl3-header.patch b/dev-libs/rocm-opencl-runtime/files/rocm-opencl-runtime-4.2.0-opencl3-header.patch
deleted file mode 100644
index 14191adb5d0c..000000000000
--- a/dev-libs/rocm-opencl-runtime/files/rocm-opencl-runtime-4.2.0-opencl3-header.patch
+++ /dev/null
@@ -1,65 +0,0 @@
-See bug #789717.
-
-Once opencl-headers is upgraded to 3.0 or higher this package starts
-complaining left and right about missing header definitions for
-CL_COMMAND_GL_FENCE_SYNC_OBJECT_KHR. The correct header for this
-definiton did move as of opencl-headers 3.0 so this makes some sense.
-(Actually I suspect there is a header-guard mismatch behind this problem).
-
-Most of this can be fixed by using -isystem instead of -I for the opencl
-headers. Although not terribly well documented, -isystem in lieu of -I
-comports with best practices for overriding 3rd-party header files in
-system include directories according to the gcc info pages. Why and how
-are apparently undocumented and appear to be somewhere inside the gcc
-fixincludes rabbit-hole.
-
-This still leaves a similar issue compiling the amdocl files which
-is addressed here with an extra #include.
-
--gmt
-
-diff -urpN ROCm-OpenCL-Runtime-rocm-4.1.0.orig/amdocl/CMakeLists.txt ROCm-OpenCL-Runtime-rocm-4.1.0/amdocl/CMakeLists.txt
---- ROCm-OpenCL-Runtime-rocm-4.1.0.orig/amdocl/CMakeLists.txt 2021-06-26 14:52:32.446875129 -0700
-+++ ROCm-OpenCL-Runtime-rocm-4.1.0/amdocl/CMakeLists.txt 2021-06-26 15:00:30.401582470 -0700
-@@ -19,10 +19,10 @@ if(CMAKE_BUILD_TYPE MATCHES "^Debug$")
- add_definitions(-DDEBUG)
- endif()
-
--include_directories(${CMAKE_CURRENT_LIST_DIR}/..)
--include_directories(${CMAKE_CURRENT_LIST_DIR}/../khronos)
--include_directories(${CMAKE_CURRENT_LIST_DIR}/../khronos/headers)
--include_directories(${CMAKE_CURRENT_LIST_DIR}/../khronos/headers/opencl2.2)
-+include_directories(SYSTEM ${CMAKE_CURRENT_LIST_DIR}/..)
-+include_directories(SYSTEM ${CMAKE_CURRENT_LIST_DIR}/../khronos)
-+include_directories(SYSTEM ${CMAKE_CURRENT_LIST_DIR}/../khronos/headers)
-+include_directories(SYSTEM ${CMAKE_CURRENT_LIST_DIR}/../khronos/headers/opencl2.2)
- include_directories(/usr/include/rocclr)
- include_directories(/usr/include/rocclr/compiler/lib/include/)
- include_directories(/usr/include/rocclr/elf/)
-diff -urpN ROCm-OpenCL-Runtime-rocm-4.1.0.orig/khronos/icd/CMakeLists.txt ROCm-OpenCL-Runtime-rocm-4.1.0/khronos/icd/CMakeLists.txt
---- ROCm-OpenCL-Runtime-rocm-4.1.0.orig/khronos/icd/CMakeLists.txt 2021-06-26 14:52:32.445875109 -0700
-+++ ROCm-OpenCL-Runtime-rocm-4.1.0/khronos/icd/CMakeLists.txt 2021-06-26 14:59:01.600778554 -0700
-@@ -121,10 +121,10 @@ else()
- endif ()
- endif ()
-
--include_directories (${OPENCL_ICD_LOADER_HEADERS_DIR})
-+include_directories (SYSTEM ${OPENCL_ICD_LOADER_HEADERS_DIR})
- add_definitions (-DCL_TARGET_OPENCL_VERSION=220)
-
--target_include_directories (OpenCL PRIVATE ${CMAKE_CURRENT_BINARY_DIR} loader)
-+target_include_directories (OpenCL SYSTEM PRIVATE ${CMAKE_CURRENT_BINARY_DIR} loader)
- target_link_libraries (OpenCL ${CMAKE_DL_LIBS})
-
- include (CTest)
-diff -urpN ROCm-OpenCL-Runtime-rocm-4.1.0.orig/amdocl/cl_common.hpp ROCm-OpenCL-Runtime-rocm-4.1.0/amdocl/cl_common.hpp
---- ROCm-OpenCL-Runtime-rocm-4.1.0.orig/amdocl/cl_common.hpp 2021-02-02 10:01:38.000000000 -0800
-+++ ROCm-OpenCL-Runtime-rocm-4.1.0/amdocl/cl_common.hpp 2021-06-26 15:40:57.584449532 -0700
-@@ -21,6 +21,7 @@
- #ifndef CL_COMMON_HPP_
- #define CL_COMMON_HPP_
-
-+#include <CL/cl_gl_ext.h>
- #ifdef _WIN32
- #include <CL/cl_d3d11.h>
- #include <CL/cl_d3d10.h>
diff --git a/dev-libs/rocm-opencl-runtime/files/rocm-opencl-runtime-5.0.2-enable-gfx800.patch b/dev-libs/rocm-opencl-runtime/files/rocm-opencl-runtime-5.0.2-enable-gfx800.patch
new file mode 100644
index 000000000000..29482340295e
--- /dev/null
+++ b/dev-libs/rocm-opencl-runtime/files/rocm-opencl-runtime-5.0.2-enable-gfx800.patch
@@ -0,0 +1,16 @@
+#From xuhuisheng
+#at https://github.com/RadeonOpenCompute/ROCm/issues/1659#issuecomment-1041026624
+
+diff --git a/utils/flags.hpp b/utils/flags.hpp
+index 8f0228cc..2eaa47c5 100644
+--- a/utils/flags.hpp
++++ b/utils/flags.hpp
+@@ -245,7 +245,7 @@ release(bool, ROC_SYSTEM_SCOPE_SIGNAL, true, \
+ "Enable system scope for signals (uses interrupts).") \
+ release(bool, ROC_SKIP_COPY_SYNC, false, \
+ "Skips copy syncs if runtime can predict the same engine.") \
+-release(bool, ROC_ENABLE_PRE_VEGA, false, \
++release(bool, ROC_ENABLE_PRE_VEGA, true, \
+ "Enable support of pre-vega ASICs in ROCm path") \
+ release(bool, HIP_FORCE_QUEUE_PROFILING, false, \
+ "Force command queue profiling by default") \
diff --git a/dev-libs/rocm-opencl-runtime/files/rocm-opencl-runtime-5.1.3-remove-clinfo.patch b/dev-libs/rocm-opencl-runtime/files/rocm-opencl-runtime-5.1.3-remove-clinfo.patch
new file mode 100644
index 000000000000..d169902563e1
--- /dev/null
+++ b/dev-libs/rocm-opencl-runtime/files/rocm-opencl-runtime-5.1.3-remove-clinfo.patch
@@ -0,0 +1,24 @@
+Index: ROCm-OpenCL-Runtime-rocm-5.1.3/CMakeLists.txt
+===================================================================
+--- ROCm-OpenCL-Runtime-rocm-5.1.3.orig/CMakeLists.txt
++++ ROCm-OpenCL-Runtime-rocm-5.1.3/CMakeLists.txt
+@@ -16,7 +16,6 @@ option(EMU_ENV "Enable building for emul
+ set(OPENCL_ICD_LOADER_HEADERS_DIR "${CMAKE_CURRENT_LIST_DIR}/khronos/headers/opencl2.2" CACHE PATH "")
+ add_subdirectory(khronos/icd)
+ add_subdirectory(amdocl)
+-add_subdirectory(tools/clinfo)
+ add_subdirectory(tools/cltrace)
+ if(BUILD_TESTS)
+ add_subdirectory(tests/ocltst)
+Index: ROCm-OpenCL-Runtime-rocm-5.1.3/packaging/CMakeLists.txt
+===================================================================
+--- ROCm-OpenCL-Runtime-rocm-5.1.3.orig/packaging/CMakeLists.txt
++++ ROCm-OpenCL-Runtime-rocm-5.1.3/packaging/CMakeLists.txt
+@@ -5,7 +5,6 @@ set(CPACK_COMPONENTS_ALL binary dev icd)
+ set(CPACK_DEB_COMPONENT_INSTALL ON)
+ set(CPACK_RPM_COMPONENT_INSTALL ON)
+
+-install(TARGETS clinfo DESTINATION bin COMPONENT binary)
+ install(TARGETS amdocl DESTINATION lib COMPONENT binary)
+ install(FILES ${CMAKE_SOURCE_DIR}/LICENSE.txt DESTINATION share/doc/${CMAKE_PROJECT_NAME} COMPONENT binary)
+
diff --git a/dev-libs/rocm-opencl-runtime/files/rocm-opencl-runtime-5.3.3-gcc13.patch b/dev-libs/rocm-opencl-runtime/files/rocm-opencl-runtime-5.3.3-gcc13.patch
new file mode 100644
index 000000000000..b1cd513ce6b7
--- /dev/null
+++ b/dev-libs/rocm-opencl-runtime/files/rocm-opencl-runtime-5.3.3-gcc13.patch
@@ -0,0 +1,27 @@
+For https://bugs.gentoo.org/895382
+==================================
+From 767241dca886bcd2469d91382afab9d032e1cfa6 Mon Sep 17 00:00:00 2001
+From: Jeremy Newton <Jeremy.Newton@amd.com>
+Date: Wed, 8 Feb 2023 14:16:43 -0500
+Subject: [PATCH] SWDEV-1 - cltrace: Add missing include
+
+Newer GCC's seem to require this.
+
+Signed-off-by: Jeremy Newton <Jeremy.Newton@amd.com>
+Change-Id: I56ef934600729e892f1cd7ab11662760df48aed8
+---
+ tools/cltrace/cltrace.cpp | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/tools/cltrace/cltrace.cpp b/tools/cltrace/cltrace.cpp
+index be96298..5ac5b62 100644
+--- a/tools/cltrace/cltrace.cpp
++++ b/tools/cltrace/cltrace.cpp
+@@ -17,6 +17,7 @@
+ #include <iostream>
+ #include <cstring>
+ #include <cstdlib>
++#include <cstdint>
+
+ #ifdef _MSC_VER
+ #include <windows.h>
diff --git a/dev-libs/rocm-opencl-runtime/metadata.xml b/dev-libs/rocm-opencl-runtime/metadata.xml
index 7fe466feffeb..c815e421fb36 100644
--- a/dev-libs/rocm-opencl-runtime/metadata.xml
+++ b/dev-libs/rocm-opencl-runtime/metadata.xml
@@ -5,6 +5,10 @@
<email>candrews@gentoo.org</email>
<name>Craig Andrews</name>
</maintainer>
+ <maintainer type="person" proxied="yes">
+ <email>xgreenlandforwyy@gmail.com</email>
+ <name>Yiyang Wu</name>
+ </maintainer>
<upstream>
<remote-id type="github">RadeonOpenCompute/ROCm-OpenCL-Runtime</remote-id>
</upstream>
diff --git a/dev-libs/rocm-opencl-runtime/rocm-opencl-runtime-3.10.0.ebuild b/dev-libs/rocm-opencl-runtime/rocm-opencl-runtime-3.10.0.ebuild
deleted file mode 100644
index 748f8d2b952a..000000000000
--- a/dev-libs/rocm-opencl-runtime/rocm-opencl-runtime-3.10.0.ebuild
+++ /dev/null
@@ -1,67 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit cmake flag-o-matic
-
-if [[ ${PV} == *9999 ]] ; then
- EGIT_REPO_URI="https://github.com/RadeonOpenCompute/ROCm-OpenCL-Runtime/"
- inherit git-r3
-else
- SRC_URI="https://github.com/RadeonOpenCompute/ROCm-OpenCL-Runtime/archive/roc-${PV}.tar.gz -> ${P}.tar.gz"
- KEYWORDS="~amd64"
- S="${WORKDIR}/ROCm-OpenCL-Runtime-rocm-${PV}"
-fi
-
-DESCRIPTION="Radeon Open Compute OpenCL Compatible Runtime"
-HOMEPAGE="https://github.com/RadeonOpenCompute/ROCm-OpenCL-Runtime"
-
-LICENSE="Apache-2.0 MIT"
-SLOT="0/$(ver_cut 1-2)"
-
-RDEPEND=">=dev-libs/rocr-runtime-${PV}
- >=dev-libs/rocclr-${PV}
- >=dev-libs/rocm-comgr-${PV}
- >=dev-libs/rocm-device-libs-${PV}
- >=virtual/opencl-3
- media-libs/mesa"
-DEPEND="${RDEPEND}"
-BDEPEND=">=dev-util/rocm-cmake-${PV}"
-
-PATCHES=(
- "${FILESDIR}/${PN}-3.7.0-change-install-location.patch"
- "${FILESDIR}/${PN}-3.5.0-do-not-install-libopencl.patch"
- "${FILESDIR}/${PN}-3.10.0-add-rocclr-include-directories.patch"
- "${FILESDIR}/${PN}-3.7.0-amdocl64icd.patch"
-)
-
-src_prepare() {
- # Remove "clinfo" - use "dev-util/clinfo" instead
- [ -d tools/clinfo ] && rm -rf tools/clinfo || die
-
- # Wrong position of a '"' results in a list of strings instead of a single string and the build fails...
- sed -e "s:set(CMAKE_SHARED_LINKER_FLAGS \${CMAKE_SHARED_LINKER_FLAGS} \":set(CMAKE_SHARED_LINKER_FLAGS \"\${CMAKE_SHARED_LINKER_FLAGS} :" -i "${S}/amdocl/CMakeLists.txt"
-
- cmake_src_prepare
-}
-
-src_configure() {
- # Reported upstream: https://github.com/RadeonOpenCompute/ROCm-OpenCL-Runtime/issues/120
- append-cflags -fcommon
-
- local mycmakeargs=(
- -DUSE_COMGR_LIBRARY=yes
- -DROCclr_DIR="${EPREFIX}/usr/include/rocclr"
- -DLIBROCclr_STATIC_DIR="${EPREFIX}/usr/lib/cmake/rocclr"
- )
- cmake_src_configure
-}
-
-src_install() {
- cd "${BUILD_DIR}" || die
- insinto /etc/OpenCL/vendors
- doins amdocl64.icd
- insinto /usr/lib64
- doins lib/libamdocl64.so
-}
diff --git a/dev-libs/rocm-opencl-runtime/rocm-opencl-runtime-3.8.0.ebuild b/dev-libs/rocm-opencl-runtime/rocm-opencl-runtime-3.8.0.ebuild
deleted file mode 100644
index d985d31a0764..000000000000
--- a/dev-libs/rocm-opencl-runtime/rocm-opencl-runtime-3.8.0.ebuild
+++ /dev/null
@@ -1,67 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit cmake flag-o-matic
-
-if [[ ${PV} == *9999 ]] ; then
- EGIT_REPO_URI="https://github.com/RadeonOpenCompute/ROCm-OpenCL-Runtime/"
- inherit git-r3
-else
- SRC_URI="https://github.com/RadeonOpenCompute/ROCm-OpenCL-Runtime/archive/roc-${PV}.tar.gz -> ${P}.tar.gz"
- KEYWORDS="~amd64"
- S="${WORKDIR}/ROCm-OpenCL-Runtime-rocm-${PV}"
-fi
-
-DESCRIPTION="Radeon Open Compute OpenCL Compatible Runtime"
-HOMEPAGE="https://github.com/RadeonOpenCompute/ROCm-OpenCL-Runtime"
-
-LICENSE="Apache-2.0 MIT"
-SLOT="0/$(ver_cut 1-2)"
-
-RDEPEND=">=dev-libs/rocr-runtime-${PV}
- >=dev-libs/rocclr-${PV}
- >=dev-libs/rocm-comgr-${PV}
- >=dev-libs/rocm-device-libs-${PV}
- >=virtual/opencl-3
- media-libs/mesa"
-DEPEND="${RDEPEND}"
-BDEPEND=">=dev-util/rocm-cmake-${PV}"
-
-PATCHES=(
- "${FILESDIR}/${PN}-3.7.0-change-install-location.patch"
- "${FILESDIR}/${PN}-3.5.0-do-not-install-libopencl.patch"
- "${FILESDIR}/${PN}-3.7.0-add-rocclr-include-directories.patch"
- "${FILESDIR}/${PN}-3.7.0-amdocl64icd.patch"
-)
-
-src_prepare() {
- # Remove "clinfo" - use "dev-util/clinfo" instead
- [ -d tools/clinfo ] && rm -rf tools/clinfo || die
-
- # Wrong position of a '"' results in a list of strings instead of a single string and the build fails...
- sed -e "s:set(CMAKE_SHARED_LINKER_FLAGS \${CMAKE_SHARED_LINKER_FLAGS} \":set(CMAKE_SHARED_LINKER_FLAGS \"\${CMAKE_SHARED_LINKER_FLAGS} :" -i "${S}/amdocl/CMakeLists.txt"
-
- cmake_src_prepare
-}
-
-src_configure() {
- # Reported upstream: https://github.com/RadeonOpenCompute/ROCm-OpenCL-Runtime/issues/120
- append-cflags -fcommon
-
- local mycmakeargs=(
- -DUSE_COMGR_LIBRARY=yes
- -DROCclr_DIR="${EPREFIX}/usr/include/rocclr"
- -DLIBROCclr_STATIC_DIR="${EPREFIX}/usr/lib/cmake/rocclr"
- )
- cmake_src_configure
-}
-
-src_install() {
- cd "${BUILD_DIR}" || die
- insinto /etc/OpenCL/vendors
- doins amdocl64.icd
- insinto /usr/lib64
- doins lib/libamdocl64.so
-}
diff --git a/dev-libs/rocm-opencl-runtime/rocm-opencl-runtime-3.9.0.ebuild b/dev-libs/rocm-opencl-runtime/rocm-opencl-runtime-3.9.0.ebuild
deleted file mode 100644
index f2ea94531e96..000000000000
--- a/dev-libs/rocm-opencl-runtime/rocm-opencl-runtime-3.9.0.ebuild
+++ /dev/null
@@ -1,67 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit cmake flag-o-matic
-
-if [[ ${PV} == *9999 ]] ; then
- EGIT_REPO_URI="https://github.com/RadeonOpenCompute/ROCm-OpenCL-Runtime/"
- inherit git-r3
-else
- SRC_URI="https://github.com/RadeonOpenCompute/ROCm-OpenCL-Runtime/archive/roc-${PV}.tar.gz -> ${P}.tar.gz"
- KEYWORDS="~amd64"
- S="${WORKDIR}/ROCm-OpenCL-Runtime-rocm-${PV}"
-fi
-
-DESCRIPTION="Radeon Open Compute OpenCL Compatible Runtime"
-HOMEPAGE="https://github.com/RadeonOpenCompute/ROCm-OpenCL-Runtime"
-
-LICENSE="Apache-2.0 MIT"
-SLOT="0/$(ver_cut 1-2)"
-
-RDEPEND=">=dev-libs/rocr-runtime-${PV}
- >=dev-libs/rocclr-${PV}
- >=dev-libs/rocm-comgr-${PV}
- >=dev-libs/rocm-device-libs-${PV}
- >=virtual/opencl-3
- media-libs/mesa"
-DEPEND="${RDEPEND}"
-BDEPEND=">=dev-util/rocm-cmake-${PV}"
-
-PATCHES=(
- "${FILESDIR}/${PN}-3.7.0-change-install-location.patch"
- "${FILESDIR}/${PN}-3.5.0-do-not-install-libopencl.patch"
- "${FILESDIR}/${PN}-3.9.0-add-rocclr-include-directories.patch"
- "${FILESDIR}/${PN}-3.7.0-amdocl64icd.patch"
-)
-
-src_prepare() {
- # Remove "clinfo" - use "dev-util/clinfo" instead
- [ -d tools/clinfo ] && rm -rf tools/clinfo || die
-
- # Wrong position of a '"' results in a list of strings instead of a single string and the build fails...
- sed -e "s:set(CMAKE_SHARED_LINKER_FLAGS \${CMAKE_SHARED_LINKER_FLAGS} \":set(CMAKE_SHARED_LINKER_FLAGS \"\${CMAKE_SHARED_LINKER_FLAGS} :" -i "${S}/amdocl/CMakeLists.txt"
-
- cmake_src_prepare
-}
-
-src_configure() {
- # Reported upstream: https://github.com/RadeonOpenCompute/ROCm-OpenCL-Runtime/issues/120
- append-cflags -fcommon
-
- local mycmakeargs=(
- -DUSE_COMGR_LIBRARY=yes
- -DROCclr_DIR="${EPREFIX}/usr/include/rocclr"
- -DLIBROCclr_STATIC_DIR="${EPREFIX}/usr/lib/cmake/rocclr"
- )
- cmake_src_configure
-}
-
-src_install() {
- cd "${BUILD_DIR}" || die
- insinto /etc/OpenCL/vendors
- doins amdocl64.icd
- insinto /usr/lib64
- doins lib/libamdocl64.so
-}
diff --git a/dev-libs/rocm-opencl-runtime/rocm-opencl-runtime-4.0.0.ebuild b/dev-libs/rocm-opencl-runtime/rocm-opencl-runtime-4.0.0.ebuild
deleted file mode 100644
index 7aa7bd6e9a07..000000000000
--- a/dev-libs/rocm-opencl-runtime/rocm-opencl-runtime-4.0.0.ebuild
+++ /dev/null
@@ -1,66 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit cmake flag-o-matic prefix
-
-if [[ ${PV} == *9999 ]] ; then
- EGIT_REPO_URI="https://github.com/RadeonOpenCompute/ROCm-OpenCL-Runtime/"
- inherit git-r3
-else
- SRC_URI="https://github.com/RadeonOpenCompute/ROCm-OpenCL-Runtime/archive/roc-${PV}.tar.gz -> ${P}.tar.gz"
- KEYWORDS="~amd64"
- S="${WORKDIR}/ROCm-OpenCL-Runtime-rocm-${PV}"
-fi
-
-DESCRIPTION="Radeon Open Compute OpenCL Compatible Runtime"
-HOMEPAGE="https://github.com/RadeonOpenCompute/ROCm-OpenCL-Runtime"
-
-LICENSE="Apache-2.0 MIT"
-SLOT="0/$(ver_cut 1-2)"
-
-RDEPEND=">=dev-libs/rocr-runtime-${PV}
- >=dev-libs/rocclr-${PV}
- >=dev-libs/rocm-comgr-${PV}
- >=dev-libs/rocm-device-libs-${PV}
- >=virtual/opencl-3
- media-libs/mesa"
-DEPEND="${RDEPEND}"
-BDEPEND=">=dev-util/rocm-cmake-${PV}"
-
-PATCHES=(
- "${FILESDIR}/${PN}-3.7.0-change-install-location.patch"
- "${FILESDIR}/${PN}-3.5.0-do-not-install-libopencl.patch"
- "${FILESDIR}/${PN}-3.10.0-add-rocclr-include-directories.patch"
- "${FILESDIR}/${PN}-3.7.0-amdocl64icd.patch"
-)
-
-src_prepare() {
- # Remove "clinfo" - use "dev-util/clinfo" instead
- [ -d tools/clinfo ] && rm -rf tools/clinfo || die
-
- cmake_src_prepare
-
- hprefixify amdocl/CMakeLists.txt
-}
-
-src_configure() {
- # Reported upstream: https://github.com/RadeonOpenCompute/ROCm-OpenCL-Runtime/issues/120
- append-cflags -fcommon
-
- local mycmakeargs=(
- -DUSE_COMGR_LIBRARY=yes
- -DROCclr_DIR="${EPREFIX}/usr/include/rocclr"
- -DLIBROCclr_STATIC_DIR="${EPREFIX}/usr/lib/cmake/rocclr"
- )
- cmake_src_configure
-}
-
-src_install() {
- cd "${BUILD_DIR}" || die
- insinto /etc/OpenCL/vendors
- doins amdocl64.icd
- insinto /usr/lib64
- doins lib/libamdocl64.so
-}
diff --git a/dev-libs/rocm-opencl-runtime/rocm-opencl-runtime-4.1.0.ebuild b/dev-libs/rocm-opencl-runtime/rocm-opencl-runtime-4.1.0.ebuild
deleted file mode 100644
index 7aa7bd6e9a07..000000000000
--- a/dev-libs/rocm-opencl-runtime/rocm-opencl-runtime-4.1.0.ebuild
+++ /dev/null
@@ -1,66 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit cmake flag-o-matic prefix
-
-if [[ ${PV} == *9999 ]] ; then
- EGIT_REPO_URI="https://github.com/RadeonOpenCompute/ROCm-OpenCL-Runtime/"
- inherit git-r3
-else
- SRC_URI="https://github.com/RadeonOpenCompute/ROCm-OpenCL-Runtime/archive/roc-${PV}.tar.gz -> ${P}.tar.gz"
- KEYWORDS="~amd64"
- S="${WORKDIR}/ROCm-OpenCL-Runtime-rocm-${PV}"
-fi
-
-DESCRIPTION="Radeon Open Compute OpenCL Compatible Runtime"
-HOMEPAGE="https://github.com/RadeonOpenCompute/ROCm-OpenCL-Runtime"
-
-LICENSE="Apache-2.0 MIT"
-SLOT="0/$(ver_cut 1-2)"
-
-RDEPEND=">=dev-libs/rocr-runtime-${PV}
- >=dev-libs/rocclr-${PV}
- >=dev-libs/rocm-comgr-${PV}
- >=dev-libs/rocm-device-libs-${PV}
- >=virtual/opencl-3
- media-libs/mesa"
-DEPEND="${RDEPEND}"
-BDEPEND=">=dev-util/rocm-cmake-${PV}"
-
-PATCHES=(
- "${FILESDIR}/${PN}-3.7.0-change-install-location.patch"
- "${FILESDIR}/${PN}-3.5.0-do-not-install-libopencl.patch"
- "${FILESDIR}/${PN}-3.10.0-add-rocclr-include-directories.patch"
- "${FILESDIR}/${PN}-3.7.0-amdocl64icd.patch"
-)
-
-src_prepare() {
- # Remove "clinfo" - use "dev-util/clinfo" instead
- [ -d tools/clinfo ] && rm -rf tools/clinfo || die
-
- cmake_src_prepare
-
- hprefixify amdocl/CMakeLists.txt
-}
-
-src_configure() {
- # Reported upstream: https://github.com/RadeonOpenCompute/ROCm-OpenCL-Runtime/issues/120
- append-cflags -fcommon
-
- local mycmakeargs=(
- -DUSE_COMGR_LIBRARY=yes
- -DROCclr_DIR="${EPREFIX}/usr/include/rocclr"
- -DLIBROCclr_STATIC_DIR="${EPREFIX}/usr/lib/cmake/rocclr"
- )
- cmake_src_configure
-}
-
-src_install() {
- cd "${BUILD_DIR}" || die
- insinto /etc/OpenCL/vendors
- doins amdocl64.icd
- insinto /usr/lib64
- doins lib/libamdocl64.so
-}
diff --git a/dev-libs/rocm-opencl-runtime/rocm-opencl-runtime-4.2.0.ebuild b/dev-libs/rocm-opencl-runtime/rocm-opencl-runtime-4.2.0.ebuild
deleted file mode 100644
index 336df477b70e..000000000000
--- a/dev-libs/rocm-opencl-runtime/rocm-opencl-runtime-4.2.0.ebuild
+++ /dev/null
@@ -1,67 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit cmake flag-o-matic prefix
-
-if [[ ${PV} == *9999 ]] ; then
- EGIT_REPO_URI="https://github.com/RadeonOpenCompute/ROCm-OpenCL-Runtime/"
- inherit git-r3
-else
- SRC_URI="https://github.com/RadeonOpenCompute/ROCm-OpenCL-Runtime/archive/roc-${PV}.tar.gz -> ${P}.tar.gz"
- KEYWORDS="~amd64"
- S="${WORKDIR}/ROCm-OpenCL-Runtime-rocm-${PV}"
-fi
-
-DESCRIPTION="Radeon Open Compute OpenCL Compatible Runtime"
-HOMEPAGE="https://github.com/RadeonOpenCompute/ROCm-OpenCL-Runtime"
-
-LICENSE="Apache-2.0 MIT"
-SLOT="0/$(ver_cut 1-2)"
-
-RDEPEND=">=dev-libs/rocr-runtime-${PV}
- >=dev-libs/rocclr-${PV}
- >=dev-libs/rocm-comgr-${PV}
- >=dev-libs/rocm-device-libs-${PV}
- >=virtual/opencl-3
- media-libs/mesa"
-DEPEND="${RDEPEND}"
-BDEPEND=">=dev-util/rocm-cmake-${PV}"
-
-PATCHES=(
- "${FILESDIR}/${PN}-3.7.0-change-install-location.patch"
- "${FILESDIR}/${PN}-3.5.0-do-not-install-libopencl.patch"
- "${FILESDIR}/${PN}-3.10.0-add-rocclr-include-directories.patch"
- "${FILESDIR}/${PN}-3.7.0-amdocl64icd.patch"
- "${FILESDIR}/${P}-opencl3-header.patch"
-)
-
-src_prepare() {
- # Remove "clinfo" - use "dev-util/clinfo" instead
- [ -d tools/clinfo ] && rm -rf tools/clinfo || die
-
- cmake_src_prepare
-
- hprefixify amdocl/CMakeLists.txt
-}
-
-src_configure() {
- # Reported upstream: https://github.com/RadeonOpenCompute/ROCm-OpenCL-Runtime/issues/120
- append-cflags -fcommon
-
- local mycmakeargs=(
- -DUSE_COMGR_LIBRARY=yes
- -DROCclr_DIR="${EPREFIX}/usr/include/rocclr"
- -DLIBROCclr_STATIC_DIR="${EPREFIX}/usr/lib/cmake/rocclr"
- )
- cmake_src_configure
-}
-
-src_install() {
- cd "${BUILD_DIR}" || die
- insinto /etc/OpenCL/vendors
- doins amdocl64.icd
- insinto /usr/lib64
- doins lib/libamdocl64.so
-}
diff --git a/dev-libs/rocm-opencl-runtime/rocm-opencl-runtime-4.3.0.ebuild b/dev-libs/rocm-opencl-runtime/rocm-opencl-runtime-4.3.0.ebuild
deleted file mode 100644
index 5bf69a9823a9..000000000000
--- a/dev-libs/rocm-opencl-runtime/rocm-opencl-runtime-4.3.0.ebuild
+++ /dev/null
@@ -1,67 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit cmake flag-o-matic prefix
-
-if [[ ${PV} == *9999 ]] ; then
- EGIT_REPO_URI="https://github.com/RadeonOpenCompute/ROCm-OpenCL-Runtime/"
- inherit git-r3
-else
- SRC_URI="https://github.com/RadeonOpenCompute/ROCm-OpenCL-Runtime/archive/roc-${PV}.tar.gz -> ${P}.tar.gz"
- KEYWORDS="~amd64"
- S="${WORKDIR}/ROCm-OpenCL-Runtime-rocm-${PV}"
-fi
-
-DESCRIPTION="Radeon Open Compute OpenCL Compatible Runtime"
-HOMEPAGE="https://github.com/RadeonOpenCompute/ROCm-OpenCL-Runtime"
-
-LICENSE="Apache-2.0 MIT"
-SLOT="0/$(ver_cut 1-2)"
-
-RDEPEND=">=dev-libs/rocr-runtime-${PV}
- >=dev-libs/rocclr-${PV}
- >=dev-libs/rocm-comgr-${PV}
- >=dev-libs/rocm-device-libs-${PV}
- >=virtual/opencl-3
- media-libs/mesa"
-DEPEND="${RDEPEND}"
-BDEPEND=">=dev-util/rocm-cmake-${PV}"
-
-PATCHES=(
- "${FILESDIR}/${PN}-3.7.0-change-install-location.patch"
- "${FILESDIR}/${PN}-3.5.0-do-not-install-libopencl.patch"
- "${FILESDIR}/${PN}-3.10.0-add-rocclr-include-directories.patch"
- "${FILESDIR}/${PN}-3.7.0-amdocl64icd.patch"
- "${FILESDIR}/${PN}-4.2.0-opencl3-header.patch"
-)
-
-src_prepare() {
- # Remove "clinfo" - use "dev-util/clinfo" instead
- [ -d tools/clinfo ] && rm -rf tools/clinfo || die
-
- cmake_src_prepare
-
- hprefixify amdocl/CMakeLists.txt
-}
-
-src_configure() {
- # Reported upstream: https://github.com/RadeonOpenCompute/ROCm-OpenCL-Runtime/issues/120
- append-cflags -fcommon
-
- local mycmakeargs=(
- -DUSE_COMGR_LIBRARY=yes
- -DROCclr_DIR="${EPREFIX}/usr/include/rocclr"
- -DLIBROCclr_STATIC_DIR="${EPREFIX}/usr/lib/cmake/rocclr"
- )
- cmake_src_configure
-}
-
-src_install() {
- cd "${BUILD_DIR}" || die
- insinto /etc/OpenCL/vendors
- doins amdocl64.icd
- insinto /usr/lib64
- doins lib/libamdocl64.so
-}
diff --git a/dev-libs/rocm-opencl-runtime/rocm-opencl-runtime-5.1.3.ebuild b/dev-libs/rocm-opencl-runtime/rocm-opencl-runtime-5.1.3.ebuild
new file mode 100644
index 000000000000..b9015cd84b13
--- /dev/null
+++ b/dev-libs/rocm-opencl-runtime/rocm-opencl-runtime-5.1.3.ebuild
@@ -0,0 +1,130 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake edo flag-o-matic prefix
+
+DESCRIPTION="Radeon Open Compute OpenCL Compatible Runtime"
+HOMEPAGE="https://github.com/RadeonOpenCompute/ROCm-OpenCL-Runtime"
+SRC_URI="https://github.com/ROCm-Developer-Tools/ROCclr/archive/rocm-${PV}.tar.gz -> rocclr-${PV}.tar.gz
+ https://github.com/RadeonOpenCompute/ROCm-OpenCL-Runtime/archive/rocm-${PV}.tar.gz -> rocm-opencl-runtime-${PV}.tar.gz"
+
+LICENSE="Apache-2.0 MIT"
+SLOT="0/$(ver_cut 1-2)"
+IUSE="debug test"
+RESTRICT="!test? ( test )"
+KEYWORDS="~amd64"
+
+RDEPEND=">=dev-libs/rocr-runtime-${PV}
+ >=dev-libs/rocm-comgr-${PV}
+ >=dev-libs/rocm-device-libs-${PV}
+ >=virtual/opencl-3
+ media-libs/mesa[-opencl]"
+DEPEND="${RDEPEND}
+ dev-util/opencl-headers"
+BDEPEND=">=dev-build/rocm-cmake-${PV}
+ media-libs/glew
+ test? ( >=x11-apps/mesa-progs-8.5.0[X] )
+ "
+
+PATCHES=(
+ "${FILESDIR}/${PN}-5.1.3-remove-clinfo.patch"
+ "${FILESDIR}/${PN}-3.5.0-do-not-install-libopencl.patch"
+ "${FILESDIR}/${PN}-5.3.3-gcc13.patch"
+)
+
+S="${WORKDIR}/ROCm-OpenCL-Runtime-rocm-${PV}"
+S1="${WORKDIR}/ROCclr-rocm-${PV}"
+
+src_prepare() {
+ # Remove "clinfo" - use "dev-util/clinfo" instead
+ [ -d tools/clinfo ] && rm -rf tools/clinfo || die
+
+ cmake_src_prepare
+
+ hprefixify amdocl/CMakeLists.txt
+
+ sed -e "s/DESTINATION lib/DESTINATION ${CMAKE_INSTALL_LIBDIR}/g" -i packaging/CMakeLists.txt || die
+ # remove trailing CR or it won't work
+ sed -e "s/\r$//g" -i tests/ocltst/module/perf/oclperf.exclude || die
+
+ pushd ${S1} || die
+ # Bug #753377
+ # patch re-enables accidentally disabled gfx800 family
+ eapply "${FILESDIR}/${PN}-5.0.2-enable-gfx800.patch"
+ eapply "${FILESDIR}/rocclr-5.3.3-fix-include.patch"
+ eapply "${FILESDIR}/rocclr-5.3.3-gcc13.patch"
+ popd || die
+}
+
+src_configure() {
+ # Fix ld.lld linker error: https://github.com/RadeonOpenCompute/ROCm-OpenCL-Runtime/issues/155
+ append-ldflags $(test-flags-CCLD -Wl,--undefined-version)
+
+ # Reported upstream: https://github.com/RadeonOpenCompute/ROCm-OpenCL-Runtime/issues/120
+ append-cflags -fcommon
+
+ local mycmakeargs=(
+ -Wno-dev
+ -DROCCLR_PATH="${S1}"
+ -DAMD_OPENCL_PATH="${S}"
+ -DROCM_PATH="${EPREFIX}/usr"
+ -DBUILD_TESTS=$(usex test ON OFF)
+ -DEMU_ENV=ON
+ # -DCMAKE_STRIP=""
+ )
+ cmake_src_configure
+}
+
+src_install() {
+ insinto /etc/OpenCL/vendors
+ doins config/amdocl64.icd
+
+ cd "${BUILD_DIR}" || die
+ insinto /usr/lib64
+ doins amdocl/libamdocl64.so
+ doins tools/cltrace/libcltrace.so
+}
+
+# Copied from rocm.eclass. This ebuild does not need amdgpu_targets
+# USE_EXPANDS, so it should not inherit rocm.eclass; it only uses the
+# check_amdgpu function in src_test. Rename it to check-amdgpu to avoid
+# pkgcheck warning.
+check-amdgpu() {
+ for device in /dev/kfd /dev/dri/render*; do
+ addwrite ${device}
+ if [[ ! -r ${device} || ! -w ${device} ]]; then
+ eerror "Cannot read or write ${device}!"
+ eerror "Make sure it is present and check the permission."
+ ewarn "By default render group have access to it. Check if portage user is in render group."
+ die "${device} inaccessible"
+ fi
+ done
+}
+
+src_test() {
+ check-amdgpu
+ cd "${BUILD_DIR}"/tests/ocltst || die
+ export OCL_ICD_FILENAMES="${BUILD_DIR}"/amdocl/libamdocl64.so
+ local instruction1="Please start an X server using amdgpu driver (not Xvfb!),"
+ local instruction2="and export OCLGL_DISPLAY=\${DISPLAY} OCLGL_XAUTHORITY=\${XAUTHORITY} before reruning the test."
+ if [[ -n ${OCLGL_DISPLAY+x} ]]; then
+ export DISPLAY=${OCLGL_DISPLAY}
+ export XAUTHORITY=${OCLGL_XAUTHORITY}
+ ebegin "Running oclgl test under DISPLAY ${OCLGL_DISPLAY}"
+ if ! glxinfo | grep "OpenGL vendor string: AMD"; then
+ ewarn "${instruction1}"
+ ewarn "${instruction2}"
+ die "This display does not have AMD OpenGL vendor!"
+ fi
+ ./ocltst -m liboclgl.so -A ogl.exclude
+ eend $? || die "oclgl test failed"
+ else
+ ewarn "${instruction1}"
+ ewarn "${instruction2}"
+ die "\${OCLGL_DISPLAY} not set."
+ fi
+ edob ./ocltst -m liboclruntime.so -A oclruntime.exclude
+ edob ./ocltst -m liboclperf.so -A oclperf.exclude
+}
diff --git a/dev-libs/rocm-opencl-runtime/rocm-opencl-runtime-5.3.3-r1.ebuild b/dev-libs/rocm-opencl-runtime/rocm-opencl-runtime-5.3.3-r1.ebuild
new file mode 100644
index 000000000000..3e7f3d21381e
--- /dev/null
+++ b/dev-libs/rocm-opencl-runtime/rocm-opencl-runtime-5.3.3-r1.ebuild
@@ -0,0 +1,118 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake edo flag-o-matic
+
+DESCRIPTION="Radeon Open Compute OpenCL Compatible Runtime"
+HOMEPAGE="https://github.com/RadeonOpenCompute/ROCm-OpenCL-Runtime"
+SRC_URI="https://github.com/ROCm-Developer-Tools/ROCclr/archive/rocm-${PV}.tar.gz -> rocclr-${PV}.tar.gz
+ https://github.com/RadeonOpenCompute/ROCm-OpenCL-Runtime/archive/rocm-${PV}.tar.gz -> rocm-opencl-runtime-${PV}.tar.gz"
+
+LICENSE="Apache-2.0 MIT"
+SLOT="0/$(ver_cut 1-2)"
+IUSE="debug test"
+RESTRICT="!test? ( test )"
+KEYWORDS="~amd64"
+
+RDEPEND=">=dev-libs/rocr-runtime-${PV}
+ >=dev-libs/rocm-comgr-${PV}
+ >=dev-libs/rocm-device-libs-${PV}
+ >=virtual/opencl-3
+ media-libs/mesa[-opencl]"
+DEPEND="${RDEPEND}
+ dev-util/opencl-headers"
+BDEPEND=">=dev-build/rocm-cmake-${PV}
+ media-libs/glew
+ test? ( >=x11-apps/mesa-progs-8.5.0[X] )
+ "
+
+S="${WORKDIR}/ROCm-OpenCL-Runtime-rocm-${PV}"
+S1="${WORKDIR}/ROCclr-rocm-${PV}"
+
+PATCHES=( "${FILESDIR}/${PN}-5.3.3-gcc13.patch" )
+
+src_prepare() {
+ cmake_src_prepare
+
+ pushd ${S1} || die
+ # Bug #753377
+ # patch re-enables accidentally disabled gfx800 family
+ eapply "${FILESDIR}/${PN}-5.0.2-enable-gfx800.patch"
+ eapply "${FILESDIR}/rocclr-${PV}-fix-include.patch"
+ eapply "${FILESDIR}/rocclr-5.3.3-gcc13.patch"
+ popd || die
+}
+
+src_configure() {
+ # Fix ld.lld linker error: https://github.com/RadeonOpenCompute/ROCm-OpenCL-Runtime/issues/155
+ append-ldflags $(test-flags-CCLD -Wl,--undefined-version)
+
+ # Reported upstream: https://github.com/RadeonOpenCompute/ROCm-OpenCL-Runtime/issues/120
+ append-cflags -fcommon
+
+ local mycmakeargs=(
+ -Wno-dev
+ -DROCCLR_PATH="${S1}"
+ -DAMD_OPENCL_PATH="${S}"
+ -DROCM_PATH="${EPREFIX}/usr"
+ -DBUILD_TESTS=$(usex test ON OFF)
+ -DEMU_ENV=ON
+ -DBUILD_ICD=OFF
+ -DFILE_REORG_BACKWARD_COMPATIBILITY=OFF
+ )
+ cmake_src_configure
+}
+
+src_install() {
+ insinto /etc/OpenCL/vendors
+ doins config/amdocl64.icd
+
+ cd "${BUILD_DIR}" || die
+ insinto /usr/lib64
+ doins amdocl/libamdocl64.so
+ doins tools/cltrace/libcltrace.so
+}
+
+# Copied from rocm.eclass. This ebuild does not need amdgpu_targets
+# USE_EXPANDS, so it should not inherit rocm.eclass; it only uses the
+# check_amdgpu function in src_test. Rename it to check-amdgpu to avoid
+# pkgcheck warning.
+check-amdgpu() {
+ for device in /dev/kfd /dev/dri/render*; do
+ addwrite ${device}
+ if [[ ! -r ${device} || ! -w ${device} ]]; then
+ eerror "Cannot read or write ${device}!"
+ eerror "Make sure it is present and check the permission."
+ ewarn "By default render group have access to it. Check if portage user is in render group."
+ die "${device} inaccessible"
+ fi
+ done
+}
+
+src_test() {
+ check-amdgpu
+ cd "${BUILD_DIR}"/tests/ocltst || die
+ export OCL_ICD_FILENAMES="${BUILD_DIR}"/amdocl/libamdocl64.so
+ local instruction1="Please start an X server using amdgpu driver (not Xvfb!),"
+ local instruction2="and export OCLGL_DISPLAY=\${DISPLAY} OCLGL_XAUTHORITY=\${XAUTHORITY} before reruning the test."
+ if [[ -n ${OCLGL_DISPLAY+x} ]]; then
+ export DISPLAY=${OCLGL_DISPLAY}
+ export XAUTHORITY=${OCLGL_XAUTHORITY}
+ ebegin "Running oclgl test under DISPLAY ${OCLGL_DISPLAY}"
+ if ! glxinfo | grep "OpenGL vendor string: AMD"; then
+ ewarn "${instruction1}"
+ ewarn "${instruction2}"
+ die "This display does not have AMD OpenGL vendor!"
+ fi
+ ./ocltst -m liboclgl.so -A ogl.exclude
+ eend $? || die "oclgl test failed"
+ else
+ ewarn "${instruction1}"
+ ewarn "${instruction2}"
+ die "\${OCLGL_DISPLAY} not set."
+ fi
+ edob ./ocltst -m liboclruntime.so -A oclruntime.exclude
+ edob ./ocltst -m liboclperf.so -A oclperf.exclude
+}
diff --git a/dev-libs/rocm-opencl-runtime/rocm-opencl-runtime-5.4.3-r1.ebuild b/dev-libs/rocm-opencl-runtime/rocm-opencl-runtime-5.4.3-r1.ebuild
new file mode 100644
index 000000000000..fea24ac7dafc
--- /dev/null
+++ b/dev-libs/rocm-opencl-runtime/rocm-opencl-runtime-5.4.3-r1.ebuild
@@ -0,0 +1,136 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake edo flag-o-matic
+
+DESCRIPTION="Radeon Open Compute OpenCL Compatible Runtime"
+HOMEPAGE="https://github.com/RadeonOpenCompute/ROCm-OpenCL-Runtime"
+
+if [[ ${PV} == *9999 ]] ; then
+ EGIT_REPO_URI="https://github.com/RadeonOpenCompute/ROCm-OpenCL-Runtime"
+ EGIT_CLR_REPO_URI="https://github.com/ROCm-Developer-Tools/ROCclr"
+ inherit git-r3
+ S="${WORKDIR}/${P}"
+else
+ KEYWORDS="~amd64"
+ SRC_URI="https://github.com/ROCm-Developer-Tools/ROCclr/archive/rocm-${PV}.tar.gz -> rocclr-${PV}.tar.gz
+ https://github.com/RadeonOpenCompute/ROCm-OpenCL-Runtime/archive/rocm-${PV}.tar.gz -> rocm-opencl-runtime-${PV}.tar.gz"
+ S="${WORKDIR}/ROCm-OpenCL-Runtime-rocm-${PV}"
+fi
+
+LICENSE="Apache-2.0 MIT"
+SLOT="0/$(ver_cut 1-2)"
+IUSE="debug test"
+RESTRICT="!test? ( test )"
+
+RDEPEND=">=dev-libs/rocr-runtime-5.3
+ >=dev-libs/rocm-comgr-5.3
+ >=dev-libs/rocm-device-libs-5.3
+ >=virtual/opencl-3
+ media-libs/mesa[-opencl]"
+DEPEND="${RDEPEND}
+ dev-util/opencl-headers"
+BDEPEND=">=dev-build/rocm-cmake-5.3
+ test? (
+ >=x11-apps/mesa-progs-8.5.0[X]
+ media-libs/glew
+ )
+ "
+
+CLR_S="${WORKDIR}/ROCclr-rocm-${PV}"
+PATCHES=( "${FILESDIR}/${PN}-5.3.3-gcc13.patch" )
+
+src_unpack () {
+if [[ ${PV} == "9999" ]]; then
+ git-r3_fetch
+ git-r3_checkout
+ git-r3_fetch "${EGIT_CLR_REPO_URI}"
+ git-r3_checkout "${EGIT_CLR_REPO_URI}" "${CLR_S}"
+ else
+ default
+ fi
+}
+src_prepare() {
+ # Fix ld.lld linker error: https://github.com/RadeonOpenCompute/ROCm-OpenCL-Runtime/issues/155
+ append-ldflags $(test-flags-CCLD -Wl,--undefined-version)
+
+ cmake_src_prepare
+
+ pushd ${CLR_S} || die
+ # Bug #753377
+ # patch re-enables accidentally disabled gfx800 family
+ eapply "${FILESDIR}/${PN}-5.0.2-enable-gfx800.patch"
+ eapply "${FILESDIR}/rocclr-5.3.3-gcc13.patch"
+ popd || die
+}
+
+src_configure() {
+ # Reported upstream: https://github.com/RadeonOpenCompute/ROCm-OpenCL-Runtime/issues/120
+ append-cflags -fcommon
+
+ local mycmakeargs=(
+ -Wno-dev
+ -DROCCLR_PATH="${CLR_S}"
+ -DAMD_OPENCL_PATH="${S}"
+ -DROCM_PATH="${EPREFIX}/usr"
+ -DBUILD_TESTS=$(usex test ON OFF)
+ -DEMU_ENV=ON
+ -DBUILD_ICD=OFF
+ -DFILE_REORG_BACKWARD_COMPATIBILITY=OFF
+ )
+ cmake_src_configure
+}
+
+src_install() {
+ insinto /etc/OpenCL/vendors
+ doins config/amdocl64.icd
+
+ cd "${BUILD_DIR}" || die
+ insinto /usr/lib64
+ doins amdocl/libamdocl64.so
+ doins tools/cltrace/libcltrace.so
+}
+
+# Copied from rocm.eclass. This ebuild does not need amdgpu_targets
+# USE_EXPANDS, so it should not inherit rocm.eclass; it only uses the
+# check_amdgpu function in src_test. Rename it to check-amdgpu to avoid
+# pkgcheck warning.
+check-amdgpu() {
+ for device in /dev/kfd /dev/dri/render*; do
+ addwrite ${device}
+ if [[ ! -r ${device} || ! -w ${device} ]]; then
+ eerror "Cannot read or write ${device}!"
+ eerror "Make sure it is present and check the permission."
+ ewarn "By default render group have access to it. Check if portage user is in render group."
+ die "${device} inaccessible"
+ fi
+ done
+}
+
+src_test() {
+ check-amdgpu
+ cd "${BUILD_DIR}"/tests/ocltst || die
+ export OCL_ICD_FILENAMES="${BUILD_DIR}"/amdocl/libamdocl64.so
+ local instruction1="Please start an X server using amdgpu driver (not Xvfb!),"
+ local instruction2="and export OCLGL_DISPLAY=\${DISPLAY} OCLGL_XAUTHORITY=\${XAUTHORITY} before reruning the test."
+ if [[ -n ${OCLGL_DISPLAY+x} ]]; then
+ export DISPLAY=${OCLGL_DISPLAY}
+ export XAUTHORITY=${OCLGL_XAUTHORITY}
+ ebegin "Running oclgl test under DISPLAY ${OCLGL_DISPLAY}"
+ if ! glxinfo | grep "OpenGL vendor string: AMD"; then
+ ewarn "${instruction1}"
+ ewarn "${instruction2}"
+ die "This display does not have AMD OpenGL vendor!"
+ fi
+ ./ocltst -m $(realpath liboclgl.so) -A ogl.exclude
+ eend $? || die "oclgl test failed"
+ else
+ ewarn "${instruction1}"
+ ewarn "${instruction2}"
+ die "\${OCLGL_DISPLAY} not set."
+ fi
+ edob ./ocltst -m $(realpath liboclruntime.so) -A oclruntime.exclude
+ edob ./ocltst -m $(realpath liboclperf.so) -A oclperf.exclude
+}
diff --git a/dev-libs/rocm-opencl-runtime/rocm-opencl-runtime-5.5.1.ebuild b/dev-libs/rocm-opencl-runtime/rocm-opencl-runtime-5.5.1.ebuild
new file mode 100644
index 000000000000..c9a0dfc880b7
--- /dev/null
+++ b/dev-libs/rocm-opencl-runtime/rocm-opencl-runtime-5.5.1.ebuild
@@ -0,0 +1,133 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake edo flag-o-matic
+
+DESCRIPTION="Radeon Open Compute OpenCL Compatible Runtime"
+HOMEPAGE="https://github.com/RadeonOpenCompute/ROCm-OpenCL-Runtime"
+
+if [[ ${PV} == *9999 ]] ; then
+ EGIT_REPO_URI="https://github.com/RadeonOpenCompute/ROCm-OpenCL-Runtime"
+ EGIT_CLR_REPO_URI="https://github.com/ROCm-Developer-Tools/ROCclr"
+ inherit git-r3
+ S="${WORKDIR}/${P}"
+else
+ KEYWORDS="~amd64"
+ SRC_URI="https://github.com/ROCm-Developer-Tools/ROCclr/archive/rocm-${PV}.tar.gz -> rocclr-${PV}.tar.gz
+ https://github.com/RadeonOpenCompute/ROCm-OpenCL-Runtime/archive/rocm-${PV}.tar.gz -> rocm-opencl-runtime-${PV}.tar.gz"
+ S="${WORKDIR}/ROCm-OpenCL-Runtime-rocm-${PV}"
+fi
+
+LICENSE="Apache-2.0 MIT"
+SLOT="0/$(ver_cut 1-2)"
+IUSE="debug test"
+RESTRICT="!test? ( test )"
+
+RDEPEND=">=dev-libs/rocr-runtime-5.3
+ >=dev-libs/rocm-comgr-5.3
+ >=dev-libs/rocm-device-libs-5.3
+ >=virtual/opencl-3
+ media-libs/mesa[-opencl]"
+DEPEND="${RDEPEND}"
+BDEPEND=">=dev-build/rocm-cmake-5.3
+ media-libs/glew
+ test? ( >=x11-apps/mesa-progs-8.5.0[X] )
+ "
+
+CLR_S="${WORKDIR}/ROCclr-rocm-${PV}"
+PATCHES=( "${FILESDIR}/${PN}-5.3.3-gcc13.patch" )
+
+src_unpack () {
+if [[ ${PV} == "9999" ]]; then
+ git-r3_fetch
+ git-r3_checkout
+ git-r3_fetch "${EGIT_CLR_REPO_URI}"
+ git-r3_checkout "${EGIT_CLR_REPO_URI}" "${CLR_S}"
+ else
+ default
+ fi
+}
+src_prepare() {
+ cmake_src_prepare
+
+ pushd ${CLR_S} || die
+ # Bug #753377
+ # patch re-enables accidentally disabled gfx800 family
+ eapply "${FILESDIR}/${PN}-5.0.2-enable-gfx800.patch"
+ eapply "${FILESDIR}/rocclr-5.3.3-gcc13.patch"
+ popd || die
+}
+
+src_configure() {
+ # Fix ld.lld linker error: https://github.com/RadeonOpenCompute/ROCm-OpenCL-Runtime/issues/155
+ append-ldflags $(test-flags-CCLD -Wl,--undefined-version)
+
+ # Reported upstream: https://github.com/RadeonOpenCompute/ROCm-OpenCL-Runtime/issues/120
+ append-cflags -fcommon
+
+ local mycmakeargs=(
+ -Wno-dev
+ -DROCCLR_PATH="${CLR_S}"
+ -DAMD_OPENCL_PATH="${S}"
+ -DROCM_PATH="${EPREFIX}/usr"
+ -DBUILD_TESTS=$(usex test ON OFF)
+ -DEMU_ENV=ON
+ -DBUILD_ICD=OFF
+ -DFILE_REORG_BACKWARD_COMPATIBILITY=OFF
+ )
+ cmake_src_configure
+}
+
+src_install() {
+ insinto /etc/OpenCL/vendors
+ doins config/amdocl64.icd
+
+ cd "${BUILD_DIR}" || die
+ insinto /usr/lib64
+ doins amdocl/libamdocl64.so
+ doins tools/cltrace/libcltrace.so
+}
+
+# Copied from rocm.eclass. This ebuild does not need amdgpu_targets
+# USE_EXPANDS, so it should not inherit rocm.eclass; it only uses the
+# check_amdgpu function in src_test. Rename it to check-amdgpu to avoid
+# pkgcheck warning.
+check-amdgpu() {
+ for device in /dev/kfd /dev/dri/render*; do
+ addwrite ${device}
+ if [[ ! -r ${device} || ! -w ${device} ]]; then
+ eerror "Cannot read or write ${device}!"
+ eerror "Make sure it is present and check the permission."
+ ewarn "By default render group have access to it. Check if portage user is in render group."
+ die "${device} inaccessible"
+ fi
+ done
+}
+
+src_test() {
+ check-amdgpu
+ cd "${BUILD_DIR}"/tests/ocltst || die
+ export OCL_ICD_FILENAMES="${BUILD_DIR}"/amdocl/libamdocl64.so
+ local instruction1="Please start an X server using amdgpu driver (not Xvfb!),"
+ local instruction2="and export OCLGL_DISPLAY=\${DISPLAY} OCLGL_XAUTHORITY=\${XAUTHORITY} before reruning the test."
+ if [[ -n ${OCLGL_DISPLAY+x} ]]; then
+ export DISPLAY=${OCLGL_DISPLAY}
+ export XAUTHORITY=${OCLGL_XAUTHORITY}
+ ebegin "Running oclgl test under DISPLAY ${OCLGL_DISPLAY}"
+ if ! glxinfo | grep "OpenGL vendor string: AMD"; then
+ ewarn "${instruction1}"
+ ewarn "${instruction2}"
+ die "This display does not have AMD OpenGL vendor!"
+ fi
+ ./ocltst -m $(realpath liboclgl.so) -A ogl.exclude
+ eend $? || die "oclgl test failed"
+ else
+ ewarn "${instruction1}"
+ ewarn "${instruction2}"
+ die "\${OCLGL_DISPLAY} not set."
+ fi
+ edob ./ocltst -m $(realpath liboclruntime.so) -A oclruntime.exclude
+ edob ./ocltst -m $(realpath liboclperf.so) -A oclperf.exclude
+}
diff --git a/dev-libs/rocm-opencl-runtime/rocm-opencl-runtime-5.7.1-r1.ebuild b/dev-libs/rocm-opencl-runtime/rocm-opencl-runtime-5.7.1-r1.ebuild
new file mode 100644
index 000000000000..ade2c6f349f6
--- /dev/null
+++ b/dev-libs/rocm-opencl-runtime/rocm-opencl-runtime-5.7.1-r1.ebuild
@@ -0,0 +1,111 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+ROCM_SKIP_GLOBALS=1
+inherit cmake edo flag-o-matic rocm
+
+DESCRIPTION="Radeon Open Compute OpenCL Compatible Runtime"
+HOMEPAGE="https://github.com/ROCm-Developer-Tools/clr"
+
+#if [[ ${PV} == *9999 ]] ; then
+# EGIT_REPO_URI="https://github.com/RadeonOpenCompute/ROCm-OpenCL-Runtime"
+# EGIT_CLR_REPO_URI="https://github.com/ROCm-Developer-Tools/ROCclr"
+# inherit git-r3
+# S="${WORKDIR}/${P}"
+#else
+ KEYWORDS="~amd64"
+ SRC_URI="https://github.com/ROCm-Developer-Tools/clr/archive/refs/tags/rocm-${PV}.tar.gz -> rocm-clr-${PV}.tar.gz"
+ S="${WORKDIR}/clr-rocm-${PV}/"
+#fi
+
+LICENSE="Apache-2.0 MIT"
+SLOT="0/$(ver_cut 1-2)"
+IUSE="debug test"
+RESTRICT="!test? ( test )"
+
+RDEPEND=">=dev-libs/rocr-runtime-5.7
+ >=dev-libs/rocm-comgr-5.7
+ >=dev-libs/rocm-device-libs-5.7
+ >=virtual/opencl-3
+ media-libs/mesa[-opencl]"
+DEPEND="${RDEPEND}"
+BDEPEND=">=dev-build/rocm-cmake-5.3
+ media-libs/glew
+ test? ( >=x11-apps/mesa-progs-8.5.0[X] )
+ "
+
+src_unpack () {
+if [[ ${PV} == "9999" ]]; then
+ git-r3_fetch
+OB git-r3_checkout
+ git-r3_fetch "${EGIT_CLR_REPO_URI}"
+ git-r3_checkout "${EGIT_CLR_REPO_URI}" "${CLR_S}"
+ else
+ default
+ fi
+}
+
+src_configure() {
+ # -Werror=strict-aliasing
+ # https://bugs.gentoo.org/856088
+ # https://github.com/ROCm/clr/issues/64
+ #
+ # Do not trust it for LTO either
+ append-flags -fno-strict-aliasing
+ filter-lto
+
+ # Fix ld.lld linker error: https://github.com/RadeonOpenCompute/ROCm-OpenCL-Runtime/issues/155
+ append-ldflags $(test-flags-CCLD -Wl,--undefined-version)
+
+ # Reported upstream: https://github.com/RadeonOpenCompute/ROCm-OpenCL-Runtime/issues/120
+ append-cflags -fcommon
+
+ local mycmakeargs=(
+ -Wno-dev
+ -DROCM_PATH="${EPREFIX}/usr"
+ -DBUILD_TESTS=$(usex test ON OFF)
+ -DEMU_ENV=ON
+ -DBUILD_ICD=ON
+ -DFILE_REORG_BACKWARD_COMPATIBILITY=OFF
+ -DCLR_BUILD_OCL=on
+ )
+ cmake_src_configure
+}
+
+src_install() {
+ insinto /etc/OpenCL/vendors
+ doins opencl/config/amdocl64.icd
+
+ cd "${BUILD_DIR}"/opencl || die
+ insinto /usr/lib64
+ doins amdocl/libamdocl64.so
+ doins tools/cltrace/libcltrace.so
+}
+
+src_test() {
+ check_amdgpu
+ cd "${BUILD_DIR}"/tests/ocltst || die
+ export OCL_ICD_FILENAMES="${BUILD_DIR}"/amdocl/libamdocl64.so
+ local instruction1="Please start an X server using amdgpu driver (not Xvfb!),"
+ local instruction2="and export OCLGL_DISPLAY=\${DISPLAY} OCLGL_XAUTHORITY=\${XAUTHORITY} before reruning the test."
+ if [[ -n ${OCLGL_DISPLAY+x} ]]; then
+ export DISPLAY=${OCLGL_DISPLAY}
+ export XAUTHORITY=${OCLGL_XAUTHORITY}
+ ebegin "Running oclgl test under DISPLAY ${OCLGL_DISPLAY}"
+ if ! glxinfo | grep "OpenGL vendor string: AMD"; then
+ ewarn "${instruction1}"
+ ewarn "${instruction2}"
+ die "This display does not have AMD OpenGL vendor!"
+ fi
+ ./ocltst -m $(realpath liboclgl.so) -A ogl.exclude
+ eend $? || die "oclgl test failed"
+ else
+ ewarn "${instruction1}"
+ ewarn "${instruction2}"
+ die "\${OCLGL_DISPLAY} not set."
+ fi
+ edob ./ocltst -m $(realpath liboclruntime.so) -A oclruntime.exclude
+ edob ./ocltst -m $(realpath liboclperf.so) -A oclperf.exclude
+}
diff --git a/dev-libs/rocm-opencl-runtime/rocm-opencl-runtime-6.0.0.ebuild b/dev-libs/rocm-opencl-runtime/rocm-opencl-runtime-6.0.0.ebuild
new file mode 100644
index 000000000000..b6912994ddb7
--- /dev/null
+++ b/dev-libs/rocm-opencl-runtime/rocm-opencl-runtime-6.0.0.ebuild
@@ -0,0 +1,111 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+ROCM_SKIP_GLOBALS=1
+inherit cmake edo flag-o-matic rocm
+
+DESCRIPTION="Radeon Open Compute OpenCL Compatible Runtime"
+HOMEPAGE="https://github.com/ROCm-Developer-Tools/clr"
+
+#if [[ ${PV} == *9999 ]] ; then
+# EGIT_REPO_URI="https://github.com/RadeonOpenCompute/ROCm-OpenCL-Runtime"
+# EGIT_CLR_REPO_URI="https://github.com/ROCm-Developer-Tools/ROCclr"
+# inherit git-r3
+# S="${WORKDIR}/${P}"
+#else
+ KEYWORDS="~amd64"
+ SRC_URI="https://github.com/ROCm-Developer-Tools/clr/archive/refs/tags/rocm-${PV}.tar.gz -> rocm-clr-${PV}.tar.gz"
+ S="${WORKDIR}/clr-rocm-${PV}/"
+#fi
+
+LICENSE="Apache-2.0 MIT"
+SLOT="0/$(ver_cut 1-2)"
+IUSE="debug test"
+RESTRICT="!test? ( test )"
+
+RDEPEND=">=dev-libs/rocr-runtime-6.0
+ >=dev-libs/rocm-comgr-6.0
+ >=dev-libs/rocm-device-libs-6.0
+ >=virtual/opencl-3
+ media-libs/mesa[-opencl]"
+DEPEND="${RDEPEND}"
+BDEPEND=">=dev-build/rocm-cmake-5.3
+ media-libs/glew
+ test? ( >=x11-apps/mesa-progs-8.5.0[X] )
+ "
+
+src_unpack () {
+if [[ ${PV} == "9999" ]]; then
+ git-r3_fetch
+OB git-r3_checkout
+ git-r3_fetch "${EGIT_CLR_REPO_URI}"
+ git-r3_checkout "${EGIT_CLR_REPO_URI}" "${CLR_S}"
+ else
+ default
+ fi
+}
+
+src_configure() {
+ # -Werror=strict-aliasing
+ # https://bugs.gentoo.org/856088
+ # https://github.com/ROCm/clr/issues/64
+ #
+ # Do not trust it for LTO either
+ append-flags -fno-strict-aliasing
+ filter-lto
+
+ # Fix ld.lld linker error: https://github.com/RadeonOpenCompute/ROCm-OpenCL-Runtime/issues/155
+ append-ldflags $(test-flags-CCLD -Wl,--undefined-version)
+
+ # Reported upstream: https://github.com/RadeonOpenCompute/ROCm-OpenCL-Runtime/issues/120
+ append-cflags -fcommon
+
+ local mycmakeargs=(
+ -Wno-dev
+ -DROCM_PATH="${EPREFIX}/usr"
+ -DBUILD_TESTS=$(usex test ON OFF)
+ -DEMU_ENV=ON
+ -DBUILD_ICD=ON
+ -DFILE_REORG_BACKWARD_COMPATIBILITY=OFF
+ -DCLR_BUILD_OCL=on
+ )
+ cmake_src_configure
+}
+
+src_install() {
+ insinto /etc/OpenCL/vendors
+ doins opencl/config/amdocl64.icd
+
+ cd "${BUILD_DIR}"/opencl || die
+ insinto /usr/lib64
+ doins amdocl/libamdocl64.so
+ doins tools/cltrace/libcltrace.so
+}
+
+src_test() {
+ check_amdgpu
+ cd "${BUILD_DIR}"/tests/ocltst || die
+ export OCL_ICD_FILENAMES="${BUILD_DIR}"/amdocl/libamdocl64.so
+ local instruction1="Please start an X server using amdgpu driver (not Xvfb!),"
+ local instruction2="and export OCLGL_DISPLAY=\${DISPLAY} OCLGL_XAUTHORITY=\${XAUTHORITY} before reruning the test."
+ if [[ -n ${OCLGL_DISPLAY+x} ]]; then
+ export DISPLAY=${OCLGL_DISPLAY}
+ export XAUTHORITY=${OCLGL_XAUTHORITY}
+ ebegin "Running oclgl test under DISPLAY ${OCLGL_DISPLAY}"
+ if ! glxinfo | grep "OpenGL vendor string: AMD"; then
+ ewarn "${instruction1}"
+ ewarn "${instruction2}"
+ die "This display does not have AMD OpenGL vendor!"
+ fi
+ ./ocltst -m $(realpath liboclgl.so) -A ogl.exclude
+ eend $? || die "oclgl test failed"
+ else
+ ewarn "${instruction1}"
+ ewarn "${instruction2}"
+ die "\${OCLGL_DISPLAY} not set."
+ fi
+ edob ./ocltst -m $(realpath liboclruntime.so) -A oclruntime.exclude
+ edob ./ocltst -m $(realpath liboclperf.so) -A oclperf.exclude
+}
diff --git a/dev-libs/rocm-opencl-runtime/rocm-opencl-runtime-9999.ebuild b/dev-libs/rocm-opencl-runtime/rocm-opencl-runtime-9999.ebuild
new file mode 100644
index 000000000000..1ca30c8a10ae
--- /dev/null
+++ b/dev-libs/rocm-opencl-runtime/rocm-opencl-runtime-9999.ebuild
@@ -0,0 +1,139 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake edo flag-o-matic
+
+DESCRIPTION="Radeon Open Compute OpenCL Compatible Runtime"
+HOMEPAGE="https://github.com/RadeonOpenCompute/ROCm-OpenCL-Runtime"
+
+if [[ ${PV} == *9999 ]] ; then
+ EGIT_REPO_URI="https://github.com/RadeonOpenCompute/ROCm-OpenCL-Runtime"
+ EGIT_CLR_REPO_URI="https://github.com/ROCm-Developer-Tools/ROCclr"
+ inherit git-r3
+ S="${WORKDIR}/${P}"
+else
+ SRC_URI="https://github.com/ROCm-Developer-Tools/ROCclr/archive/rocm-${PV}.tar.gz -> rocclr-${PV}.tar.gz
+ https://github.com/RadeonOpenCompute/ROCm-OpenCL-Runtime/archive/rocm-${PV}.tar.gz -> rocm-opencl-runtime-${PV}.tar.gz"
+ S="${WORKDIR}/ROCm-OpenCL-Runtime-rocm-${PV}"
+fi
+
+LICENSE="Apache-2.0 MIT"
+SLOT="0/$(ver_cut 1-2)"
+IUSE="debug test"
+RESTRICT="!test? ( test )"
+
+RDEPEND=">=dev-libs/rocr-runtime-5.3
+ >=dev-libs/rocm-comgr-5.3
+ >=dev-libs/rocm-device-libs-5.3
+ >=virtual/opencl-3
+ media-libs/mesa[-opencl]"
+DEPEND="${RDEPEND}
+ dev-util/opencl-headers"
+BDEPEND=">=dev-build/rocm-cmake-5.3
+ media-libs/glew
+ test? ( >=x11-apps/mesa-progs-8.5.0[X] )
+ "
+
+CLR_S="${WORKDIR}/ROCclr-rocm-${PV}"
+
+src_unpack () {
+if [[ ${PV} == "9999" ]]; then
+ git-r3_fetch
+ git-r3_checkout
+ git-r3_fetch "${EGIT_CLR_REPO_URI}"
+ git-r3_checkout "${EGIT_CLR_REPO_URI}" "${CLR_S}"
+ else
+ default
+ fi
+}
+src_prepare() {
+ cmake_src_prepare
+
+ pushd ${CLR_S} || die
+ # Bug #753377
+ # patch re-enables accidentally disabled gfx800 family
+ eapply "${FILESDIR}/${PN}-5.0.2-enable-gfx800.patch"
+ popd || die
+}
+
+src_configure() {
+ # -Werror=strict-aliasing
+ # https://bugs.gentoo.org/856088
+ # https://github.com/ROCm/clr/issues/64
+ #
+ # Do not trust it for LTO either
+ append-flags -fno-strict-aliasing
+ filter-lto
+
+ # Fix ld.lld linker error: https://github.com/RadeonOpenCompute/ROCm-OpenCL-Runtime/issues/155
+ append-ldflags $(test-flags-CCLD -Wl,--undefined-version)
+
+ # Reported upstream: https://github.com/RadeonOpenCompute/ROCm-OpenCL-Runtime/issues/120
+ append-cflags -fcommon
+
+ local mycmakeargs=(
+ -Wno-dev
+ -DROCCLR_PATH="${CLR_S}"
+ -DAMD_OPENCL_PATH="${S}"
+ -DROCM_PATH="${EPREFIX}/usr"
+ -DBUILD_TESTS=$(usex test ON OFF)
+ -DEMU_ENV=ON
+ -DBUILD_ICD=OFF
+ -DFILE_REORG_BACKWARD_COMPATIBILITY=OFF
+ )
+ cmake_src_configure
+}
+
+src_install() {
+ insinto /etc/OpenCL/vendors
+ doins config/amdocl64.icd
+
+ cd "${BUILD_DIR}" || die
+ insinto /usr/lib64
+ doins amdocl/libamdocl64.so
+ doins tools/cltrace/libcltrace.so
+}
+
+# Copied from rocm.eclass. This ebuild does not need amdgpu_targets
+# USE_EXPANDS, so it should not inherit rocm.eclass; it only uses the
+# check_amdgpu function in src_test. Rename it to check-amdgpu to avoid
+# pkgcheck warning.
+check-amdgpu() {
+ for device in /dev/kfd /dev/dri/render*; do
+ addwrite ${device}
+ if [[ ! -r ${device} || ! -w ${device} ]]; then
+ eerror "Cannot read or write ${device}!"
+ eerror "Make sure it is present and check the permission."
+ ewarn "By default render group have access to it. Check if portage user is in render group."
+ die "${device} inaccessible"
+ fi
+ done
+}
+
+src_test() {
+ check-amdgpu
+ cd "${BUILD_DIR}"/tests/ocltst || die
+ export OCL_ICD_FILENAMES="${BUILD_DIR}"/amdocl/libamdocl64.so
+ local instruction1="Please start an X server using amdgpu driver (not Xvfb!),"
+ local instruction2="and export OCLGL_DISPLAY=\${DISPLAY} OCLGL_XAUTHORITY=\${XAUTHORITY} before reruning the test."
+ if [[ -n ${OCLGL_DISPLAY+x} ]]; then
+ export DISPLAY=${OCLGL_DISPLAY}
+ export XAUTHORITY=${OCLGL_XAUTHORITY}
+ ebegin "Running oclgl test under DISPLAY ${OCLGL_DISPLAY}"
+ if ! glxinfo | grep "OpenGL vendor string: AMD"; then
+ ewarn "${instruction1}"
+ ewarn "${instruction2}"
+ die "This display does not have AMD OpenGL vendor!"
+ fi
+ ./ocltst -m $(realpath liboclgl.so) -A ogl.exclude
+ eend $? || die "oclgl test failed"
+ else
+ ewarn "${instruction1}"
+ ewarn "${instruction2}"
+ die "\${OCLGL_DISPLAY} not set."
+ fi
+ edob ./ocltst -m $(realpath liboclruntime.so) -A oclruntime.exclude
+ edob ./ocltst -m $(realpath liboclperf.so) -A oclperf.exclude
+}
diff --git a/dev-libs/rocr-runtime/Manifest b/dev-libs/rocr-runtime/Manifest
index 36efcbb03efe..adacf6e4bca1 100644
--- a/dev-libs/rocr-runtime/Manifest
+++ b/dev-libs/rocr-runtime/Manifest
@@ -1,7 +1,6 @@
-DIST rocr-runtime-3.10.0.tar.gz 691857 BLAKE2B 68403081180fe1aead570f8055f91d13083516766afe6c9fd18d7619162cc12fa6dd0ec824ffdc44832d1ab7e823ac2cc399b7cbb4e603f95db54e492de152c5 SHA512 9ca7c7a22ea2a35437aa1a23a331c36684ada1af0f389f697bd6c1e35c4f9493b851d7e7176a0892be36d3d7de93000f7db37e3d2c109fa6c1932851c3bd703b
-DIST rocr-runtime-3.8.0.tar.gz 691209 BLAKE2B 0664b099a7ea4105e37cf42ee208c31dc58a1900aa35bbc0295df0cabba25e5352b3def0dbc1a8ea889ad4876321f99a73c4c6c9ec042186efda9b3308583825 SHA512 d968e96cabc98951890435a2b9bfc9943df9435848f0c6026a59953c78ad4c1048e7c532a8093e5f633fdc5d32622fb88ba0212f32f317d5473fd7e957e4dc4c
-DIST rocr-runtime-3.9.0.tar.gz 691645 BLAKE2B c90cdba93be510532a65ebfd69322972c61603b23932b95982d9a2bea742979b14acd83728a37ecacd7ec540268311bd313801acece89ec02a234dee66155dbe SHA512 e117536300ad05db27ccd92d2f9fadbdb9711fc724953ef65609c7af1ef369b8cf132c8b0f72d33e7ffd43acc3e59dc5525bacaa1507fd01fab79685f6b8d86e
-DIST rocr-runtime-4.0.0.tar.gz 691835 BLAKE2B 328f7ea54767294036f435894d63354694447d964753de8b58b70ba5ae5f83561e5cda506890b43c80bdc480b1781d246ee77d5a0b08f74c5eb52d1ac5e8ddda SHA512 c95316cd8f221caee84f644e00b2b08d447b75ae4e5fe1871fa2ac6a879da57def497babfcabcaeb988d92421c165070e47d9fe846640b871249d66c82f82bea
-DIST rocr-runtime-4.1.0.tar.gz 698452 BLAKE2B fb1ca1219d2c59db4d8bff414f40eaf6e7cec899a70ed930ce3dc6e2906a173db4823ac4c445fc57cc297a932f83b140747e35ee3d77fa0ed11cec97718fdc47 SHA512 d2162f431adf0b8f8ae5bbfe43ed389d4d94db5897fc8d1b4eb9b152a74f605fa2cf5d80175e6f9cda45e39803ededef6151aa9bdea99f38a16ca2dea29588d9
-DIST rocr-runtime-4.2.0.tar.gz 701445 BLAKE2B 901c256bae823861813a7afdbd3e9f80b6f86cf2c7002815e04c762cef241a9f32274093067c97578e05fdf5c4e699287b7835d00917cb4997302c455e5d593a SHA512 44a798efd0121c7107f3f5df868eb83d0ff9aad1e11c01105d5852bef159c019db6d2aeebe02e8e187dc45a2542d72f145fb5390b27abf64e0b427e192772d6c
-DIST rocr-runtime-4.3.0.tar.gz 709075 BLAKE2B 6856681bd3d56827e517f76838886f793f4d709562c2c7c4f480ef5786c5a5fac25654032b80d565ab5da241f76329d39ab3189daa4806b8cf1564d9f08a837d SHA512 749a8f84a302f7ed518f87688f68cc2a094eea2d104cddc25b3e5d98ddf6e534285750828ca654976054bbf986a61735e17ad211505557671627e44f6831dc0c
+DIST rocr-runtime-5.1.3.tar.gz 720567 BLAKE2B bdf2d258ec607ffc69264d48ce82c36787757b7809397d643a24abaa852f3cc217a57210fba760d4d11ef8ce2922dc1ef275d3b47a4bebc5c7b204bbbb5b7c66 SHA512 d47523ea2fe32fee832ca19b56a091f52e16b366db1c571f87e5599514b826376d49281e79ff0936dcaf7349f9becbc8ae9b3e9472a9c3e14b62a3f98d541b35
+DIST rocr-runtime-5.3.3.tar.gz 809871 BLAKE2B 1a44e88c34fcebcea3351de812f2ac64a7b151303c5bfc4066920755c185731388afff89c705afee6010d262f68358a20b1c0197e8f23c22ab24409eb55fde0a SHA512 27efe57954575549703b31c4a632548bf3d82df0f01d5f15485d0bda7efa6ec2ad0a4a8710b8f240ff57296eb62d3796926e32d16dfe448b188d8264fde0ef8b
+DIST rocr-runtime-5.4.3.tar.gz 811062 BLAKE2B 4ee8ef49cdac7f6918db3aa96089852847d093aacc11ed7e7157a6eb512cf36a3d37396670c14ea24b16b1127c4547977390694d05bc6006ac48b40e707d6dae SHA512 29f13a1b16ef457071cc050227d57cda92992f416ebc074f8cd5a856d9bd76fd34ab2ccb53c21c3d798165282d44bba287ef44a9d1da327ee198e1facc77a4db
+DIST rocr-runtime-5.5.1.tar.gz 816175 BLAKE2B e588d98cbd0d9a753b950ba676d6cddeed8cd094f346b2f67a761ac2d760ba28e27d5baceecf13fff53c114bb8412c8a4d892886c304d36181d5b0b020b8088a SHA512 1cae2ae4f30a248fa27622ed8b77ce112b80aed9bc1b8fc4372143d4ef241f47295a77f9e978be1332f48c06a7cbcdfd478dbc8464028cb761480049ab2413fb
+DIST rocr-runtime-5.7.1.tar.gz 832009 BLAKE2B 67e4a64ee03b1f6edc43923c7ac44113ab58f78b032dc0a01952b2dd5b2ca37404044811effb9c8d83002ac4ea344a5d95ac62f3c66012bff2884ef55285cdb5 SHA512 a6547a104303032244d17b662a3eda48039732c215debb6178c0af8842c01c60f80989793420c101bd554e58332d215205da0c228dfc25538c56499f47dc6832
+DIST rocr-runtime-6.0.0.tar.gz 851206 BLAKE2B f45f72719e4146fc5c6755b34625de60900a84a7f97fc559d641409edbbda73132c9cf784d59c4ccfdc3f0a1902e379db68d565f92420a8128a04483c50831dd SHA512 18d79436a93b9f57ffa0d4db670e0f2b05c5b9826c9323c7c2f8c856f650a10e5c4b7f6e55e2750156f3859a289617ac40128cfb6fe25de918ee5d8e4b6a8095
diff --git a/dev-libs/rocr-runtime/files/rocr-runtime-3.7.0-cmake-install-paths.patch b/dev-libs/rocr-runtime/files/rocr-runtime-3.7.0-cmake-install-paths.patch
deleted file mode 100644
index ccf397d8092a..000000000000
--- a/dev-libs/rocr-runtime/files/rocr-runtime-3.7.0-cmake-install-paths.patch
+++ /dev/null
@@ -1,53 +0,0 @@
---- a/CMakeLists.txt 2020-08-22 18:24:27.991014917 +0200
-+++ b/CMakeLists.txt 2020-08-22 18:48:03.209009518 +0200
-@@ -296,34 +296,36 @@
- endif()
-
- ## Create symlinks for legacy packaging and install
--add_custom_target ( hsa_include_link ALL WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} COMMAND ${CMAKE_COMMAND} -E create_symlink ../../include/hsa hsa_include_link )
--if ( ${BUILD_SHARED_LIBS} )
-- add_custom_target ( hsa_lib_link ALL WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} COMMAND ${CMAKE_COMMAND} -E create_symlink ../../lib/${CORE_RUNTIME_LIBRARY}.so ${CORE_RUNTIME_LIBRARY}-link.so )
-- add_custom_target ( hsa_lib_link2 ALL WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} COMMAND ${CMAKE_COMMAND} -E create_symlink ../../lib/${CORE_RUNTIME_LIBRARY}.so.${VERSION_MAJOR} ${CORE_RUNTIME_LIBRARY}-link.so.${VERSION_MAJOR} )
--endif()
-+#add_custom_target ( hsa_include_link ALL WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} COMMAND ${CMAKE_COMMAND} -E create_symlink ../../include/hsa hsa_include_link )
-+#if ( ${BUILD_SHARED_LIBS} )
-+# add_custom_target ( hsa_lib_link ALL WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} COMMAND ${CMAKE_COMMAND} -E create_symlink ../../lib/${CORE_RUNTIME_LIBRARY}.so ${CORE_RUNTIME_LIBRARY}-link.so )
-+# add_custom_target ( hsa_lib_link2 ALL WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} COMMAND ${CMAKE_COMMAND} -E create_symlink ../../lib/${CORE_RUNTIME_LIBRARY}.so.${VERSION_MAJOR} ${CORE_RUNTIME_LIBRARY}-link.so.${VERSION_MAJOR} )
-+#endif()
-
- ## Set install information
- # Installs binaries and exports the library usage data to ${HSAKMT_TARGET}Targets
- # TODO: Fix me for flat directory layout. Should be ${CMAKE_INSTALL_LIBDIR}
--install ( TARGETS ${CORE_RUNTIME_TARGET} EXPORT ${CORE_RUNTIME_NAME}Targets
-- ARCHIVE DESTINATION lib COMPONENT binary
-- LIBRARY DESTINATION lib COMPONENT binary )
-+#install ( TARGETS ${CORE_RUNTIME_TARGET} EXPORT ${CORE_RUNTIME_NAME}Targets
-+# ARCHIVE DESTINATION lib COMPONENT binary
-+# LIBRARY DESTINATION lib COMPONENT binary )
-+install ( TARGETS ${CORE_RUNTIME_TARGET} EXPORT ${CORE_RUNTIME_NAME}Targets LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} )
-
- # Install license
- #install ( FILES ${CMAKE_CURRENT_SOURCE_DIR}/LICENSE.md DESTINATION ${CMAKE_INSTALL_DOCDIR} COMPONENT binary )
-
- # Install public headers
- # TODO: Fix me for flat directory layout. Should be ${CMAKE_INSTALL_INCLUDEDIR}
--install ( DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/inc/ DESTINATION include/hsa COMPONENT dev )
-+#install ( DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/inc/ DESTINATION include/hsa COMPONENT dev )
-+install ( DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/inc/ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/hsa )
-
- # Legacy symlink.
--install ( FILES ${CMAKE_CURRENT_BINARY_DIR}/hsa_include_link DESTINATION hsa/include PERMISSIONS OWNER_WRITE OWNER_READ RENAME hsa COMPONENT dirlink)
-+#install ( FILES ${CMAKE_CURRENT_BINARY_DIR}/hsa_include_link DESTINATION hsa/include PERMISSIONS OWNER_WRITE OWNER_READ RENAME hsa COMPONENT dirlink)
-
- # Legacy symlinks.
--if ( ${BUILD_SHARED_LIBS} )
-- install ( FILES ${CMAKE_CURRENT_BINARY_DIR}/${CORE_RUNTIME_LIBRARY}-link.so DESTINATION hsa/lib PERMISSIONS OWNER_WRITE OWNER_READ RENAME ${CORE_RUNTIME_LIBRARY}.so COMPONENT binary)
-- install ( FILES ${CMAKE_CURRENT_BINARY_DIR}/${CORE_RUNTIME_LIBRARY}-link.so.${VERSION_MAJOR} DESTINATION hsa/lib PERMISSIONS OWNER_WRITE OWNER_READ RENAME ${CORE_RUNTIME_LIBRARY}.so.${VERSION_MAJOR} COMPONENT binary)
--endif ()
-+#if ( ${BUILD_SHARED_LIBS} )
-+# install ( FILES ${CMAKE_CURRENT_BINARY_DIR}/${CORE_RUNTIME_LIBRARY}-link.so DESTINATION hsa/lib PERMISSIONS OWNER_WRITE OWNER_READ RENAME ${CORE_RUNTIME_LIBRARY}.so COMPONENT binary)
-+# install ( FILES ${CMAKE_CURRENT_BINARY_DIR}/${CORE_RUNTIME_LIBRARY}-link.so.${VERSION_MAJOR} DESTINATION hsa/lib PERMISSIONS OWNER_WRITE OWNER_READ RENAME ${CORE_RUNTIME_LIBRARY}.so.${VERSION_MAJOR} COMPONENT binary)
-+#endif ()
-
- ## Configure and install package config file
- # Record our usage data for clients find_package calls.
diff --git a/dev-libs/rocr-runtime/files/rocr-runtime-4.1.0-cmake-install-paths.patch b/dev-libs/rocr-runtime/files/rocr-runtime-4.1.0-cmake-install-paths.patch
deleted file mode 100644
index 18ce75d8b462..000000000000
--- a/dev-libs/rocr-runtime/files/rocr-runtime-4.1.0-cmake-install-paths.patch
+++ /dev/null
@@ -1,53 +0,0 @@
---- a/CMakeLists.txt 2021-03-25 22:16:45.466833618 +0100
-+++ b/CMakeLists.txt 2021-03-25 22:19:55.025828841 +0100
-@@ -296,34 +296,36 @@
- endif()
-
- ## Create symlinks for legacy packaging and install
--add_custom_target ( hsa_include_link ALL WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} COMMAND ${CMAKE_COMMAND} -E create_symlink ../../include/hsa hsa_include_link )
--if ( ${BUILD_SHARED_LIBS} )
-- add_custom_target ( hsa_lib_link ALL WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} COMMAND ${CMAKE_COMMAND} -E create_symlink ../../lib/${CORE_RUNTIME_LIBRARY}.so ${CORE_RUNTIME_LIBRARY}-link.so )
-- add_custom_target ( hsa_lib_link2 ALL WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} COMMAND ${CMAKE_COMMAND} -E create_symlink ../../lib/${CORE_RUNTIME_LIBRARY}.so.${VERSION_MAJOR} ${CORE_RUNTIME_LIBRARY}-link.so.${VERSION_MAJOR} )
--endif()
-+#add_custom_target ( hsa_include_link ALL WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} COMMAND ${CMAKE_COMMAND} -E create_symlink ../../include/hsa hsa_include_link )
-+#if ( ${BUILD_SHARED_LIBS} )
-+# add_custom_target ( hsa_lib_link ALL WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} COMMAND ${CMAKE_COMMAND} -E create_symlink ../../lib/${CORE_RUNTIME_LIBRARY}.so ${CORE_RUNTIME_LIBRARY}-link.so )
-+# add_custom_target ( hsa_lib_link2 ALL WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} COMMAND ${CMAKE_COMMAND} -E create_symlink ../../lib/${CORE_RUNTIME_LIBRARY}.so.${VERSION_MAJOR} ${CORE_RUNTIME_LIBRARY}-link.so.${VERSION_MAJOR} )
-+#endif()
-
- ## Set install information
- # Installs binaries and exports the library usage data to ${HSAKMT_TARGET}Targets
- # TODO: Fix me for flat directory layout. Should be ${CMAKE_INSTALL_LIBDIR}
--install ( TARGETS ${CORE_RUNTIME_TARGET} EXPORT ${CORE_RUNTIME_NAME}Targets
-- ARCHIVE DESTINATION lib COMPONENT binary
-- LIBRARY DESTINATION lib COMPONENT binary )
-+#install ( TARGETS ${CORE_RUNTIME_TARGET} EXPORT ${CORE_RUNTIME_NAME}Targets
-+# ARCHIVE DESTINATION lib COMPONENT binary
-+# LIBRARY DESTINATION lib COMPONENT binary )
-+install ( TARGETS ${CORE_RUNTIME_TARGET} EXPORT ${CORE_RUNTIME_NAME}Targets LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} )
-
- # Install license
- #install ( FILES ${CMAKE_CURRENT_SOURCE_DIR}/LICENSE.md DESTINATION ${CMAKE_INSTALL_DOCDIR} COMPONENT binary )
-
- # Install public headers
- # TODO: Fix me for flat directory layout. Should be ${CMAKE_INSTALL_INCLUDEDIR}
--install ( DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/inc/ DESTINATION include/hsa COMPONENT dev )
-+#install ( DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/inc/ DESTINATION include/hsa COMPONENT dev )
-+install ( DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/inc/ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/hsa )
-
- # Legacy symlink.
--install ( FILES ${CMAKE_CURRENT_BINARY_DIR}/hsa_include_link DESTINATION hsa/include PERMISSIONS OWNER_WRITE OWNER_READ RENAME hsa COMPONENT dirlink)
-+#install ( FILES ${CMAKE_CURRENT_BINARY_DIR}/hsa_include_link DESTINATION hsa/include PERMISSIONS OWNER_WRITE OWNER_READ RENAME hsa COMPONENT dirlink)
-
- # Legacy symlinks.
--if ( ${BUILD_SHARED_LIBS} )
-- install ( FILES ${CMAKE_CURRENT_BINARY_DIR}/${CORE_RUNTIME_LIBRARY}-link.so DESTINATION hsa/lib PERMISSIONS OWNER_WRITE OWNER_READ RENAME ${CORE_RUNTIME_LIBRARY}.so COMPONENT binary)
-- install ( FILES ${CMAKE_CURRENT_BINARY_DIR}/${CORE_RUNTIME_LIBRARY}-link.so.${VERSION_MAJOR} DESTINATION hsa/lib PERMISSIONS OWNER_WRITE OWNER_READ RENAME ${CORE_RUNTIME_LIBRARY}.so.${VERSION_MAJOR} COMPONENT binary)
--endif ()
-+#if ( ${BUILD_SHARED_LIBS} )
-+# install ( FILES ${CMAKE_CURRENT_BINARY_DIR}/${CORE_RUNTIME_LIBRARY}-link.so DESTINATION hsa/lib PERMISSIONS OWNER_WRITE OWNER_READ RENAME ${CORE_RUNTIME_LIBRARY}.so COMPONENT binary)
-+# install ( FILES ${CMAKE_CURRENT_BINARY_DIR}/${CORE_RUNTIME_LIBRARY}-link.so.${VERSION_MAJOR} DESTINATION hsa/lib PERMISSIONS OWNER_WRITE OWNER_READ RENAME ${CORE_RUNTIME_LIBRARY}.so.${VERSION_MAJOR} COMPONENT binary)
-+#endif ()
-
- ## Configure and install package config file
- # Record our usage data for clients find_package calls.
diff --git a/dev-libs/rocr-runtime/files/rocr-runtime-4.3.0_no-aqlprofiler.patch b/dev-libs/rocr-runtime/files/rocr-runtime-4.3.0_no-aqlprofiler.patch
new file mode 100644
index 000000000000..fdb34b75b2d2
--- /dev/null
+++ b/dev-libs/rocr-runtime/files/rocr-runtime-4.3.0_no-aqlprofiler.patch
@@ -0,0 +1,29 @@
+Index: ROCR-Runtime-rocm-4.3.0/src/core/runtime/amd_gpu_agent.cpp
+===================================================================
+--- src/core/runtime/amd_gpu_agent.cpp
++++ src/core/runtime/amd_gpu_agent.cpp
+@@ -861,11 +861,6 @@ hsa_status_t GpuAgent::GetInfo(hsa_agent
+ setFlag(HSA_EXTENSION_IMAGES);
+ }
+
+- if (os::LibHandle lib = os::LoadLib(kAqlProfileLib)) {
+- os::CloseLib(lib);
+- setFlag(HSA_EXTENSION_AMD_AQLPROFILE);
+- }
+-
+ setFlag(HSA_EXTENSION_AMD_PROFILER);
+
+ break;
+Index: ROCR-Runtime-rocm-4.3.0/src/core/runtime/hsa.cpp
+===================================================================
+--- src/core/runtime/hsa.cpp
++++ src/core/runtime/hsa.cpp
+@@ -471,7 +471,7 @@ hsa_status_t hsa_system_get_major_extens
+ return HSA_STATUS_SUCCESS;
+ }
+
+- if (extension == HSA_EXTENSION_AMD_AQLPROFILE) {
++ if (0) {
+ if (version_major != hsa_ven_amd_aqlprofile_VERSION_MAJOR) {
+ debug_print("aqlprofile API incompatible ver %d, current ver %d\n",
+ version_major, hsa_ven_amd_aqlprofile_VERSION_MAJOR);
diff --git a/dev-libs/rocr-runtime/files/rocr-runtime-5.0.1-cmake-install-paths.patch b/dev-libs/rocr-runtime/files/rocr-runtime-5.0.1-cmake-install-paths.patch
new file mode 100644
index 000000000000..8715a15d8de1
--- /dev/null
+++ b/dev-libs/rocr-runtime/files/rocr-runtime-5.0.1-cmake-install-paths.patch
@@ -0,0 +1,42 @@
+Index: src/CMakeLists.txt
+===================================================================
+--- src.orig/CMakeLists.txt
++++ src/CMakeLists.txt
+@@ -286,35 +286,17 @@ if( NOT ${BUILD_SHARED_LIBS} )
+ install ( TARGETS ${CORE_RUNTIME_NAME} EXPORT ${CORE_RUNTIME_NAME}Targets )
+ endif()
+
+-## Create symlinks for legacy packaging and install
+-add_custom_target ( hsa_include_link ALL WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} COMMAND ${CMAKE_COMMAND} -E create_symlink ../../include/hsa hsa_include_link )
+-if ( ${BUILD_SHARED_LIBS} )
+- add_custom_target ( hsa_lib_link ALL WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} COMMAND ${CMAKE_COMMAND} -E create_symlink ../../lib/${CORE_RUNTIME_LIBRARY}.so ${CORE_RUNTIME_LIBRARY}-link.so )
+- add_custom_target ( hsa_lib_link2 ALL WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} COMMAND ${CMAKE_COMMAND} -E create_symlink ../../lib/${CORE_RUNTIME_LIBRARY}.so.${VERSION_MAJOR} ${CORE_RUNTIME_LIBRARY}-link.so.${VERSION_MAJOR} )
+-endif()
+-
+ ## Set install information
+ # Installs binaries and exports the library usage data to ${HSAKMT_TARGET}Targets
+ # TODO: Fix me for flat directory layout. Should be ${CMAKE_INSTALL_LIBDIR}
+-install ( TARGETS ${CORE_RUNTIME_TARGET} EXPORT ${CORE_RUNTIME_NAME}Targets
+- ARCHIVE DESTINATION lib COMPONENT binary
+- LIBRARY DESTINATION lib COMPONENT binary )
++install ( TARGETS ${CORE_RUNTIME_TARGET} EXPORT ${CORE_RUNTIME_NAME}Targets LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} )
+
+ # Install license
+ install ( FILES ${CMAKE_CURRENT_SOURCE_DIR}/LICENSE.md DESTINATION ${CMAKE_INSTALL_DOCDIR} COMPONENT binary )
+
+ # Install public headers
+ # TODO: Fix me for flat directory layout. Should be ${CMAKE_INSTALL_INCLUDEDIR}
+-install ( DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/inc/ DESTINATION include/hsa COMPONENT dev )
+-
+-# Legacy symlink - not packaged (CPack is bugged until ~3.18, see https://gitlab.kitware.com/cmake/cmake/-/merge_requests/4637)
+-install ( FILES ${CMAKE_CURRENT_BINARY_DIR}/hsa_include_link DESTINATION hsa/include PERMISSIONS OWNER_WRITE OWNER_READ RENAME hsa )
+-
+-# Legacy symlinks.
+-if ( ${BUILD_SHARED_LIBS} )
+- install ( FILES ${CMAKE_CURRENT_BINARY_DIR}/${CORE_RUNTIME_LIBRARY}-link.so DESTINATION hsa/lib PERMISSIONS OWNER_WRITE OWNER_READ RENAME ${CORE_RUNTIME_LIBRARY}.so COMPONENT binary)
+- install ( FILES ${CMAKE_CURRENT_BINARY_DIR}/${CORE_RUNTIME_LIBRARY}-link.so.${VERSION_MAJOR} DESTINATION hsa/lib PERMISSIONS OWNER_WRITE OWNER_READ RENAME ${CORE_RUNTIME_LIBRARY}.so.${VERSION_MAJOR} COMPONENT binary)
+-endif ()
++install ( DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/inc/ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/hsa )
+
+ ## Configure and install package config file
+ # Record our usage data for clients find_package calls.
diff --git a/dev-libs/rocr-runtime/files/rocr-runtime-5.7.1-extend-isa-compatibility-check.patch b/dev-libs/rocr-runtime/files/rocr-runtime-5.7.1-extend-isa-compatibility-check.patch
new file mode 100644
index 000000000000..b12352e40c92
--- /dev/null
+++ b/dev-libs/rocr-runtime/files/rocr-runtime-5.7.1-extend-isa-compatibility-check.patch
@@ -0,0 +1,73 @@
+Combined with matching changes within hip ebuild, this patch allows
+to load compatible kernels whenever possible.
+For example if AMDGPU_TARGETS is set to gfx1030 and some application
+was started on gfx1036, it loads gfx1030 kernel.
+
+Author: Cordell Bloor <cgmb@slerp.xyz>
+https://salsa.debian.org/rocm-team/rocr-runtime/-/blob/master/debian/patches/0004-extend-isa-compatibility-check.patch
+--- src/core/runtime/isa.cpp
++++ src/core/runtime/isa.cpp
+@@ -43,6 +43,7 @@
+ #include "core/inc/isa.h"
+
+ #include <algorithm>
++#include <array>
+ #include <cstring>
+ #include <iostream>
+ #include <sstream>
+@@ -69,13 +70,53 @@ bool Wavefront::GetInfo(
+ }
+ }
+
++template <class T, std::size_t N>
++static bool Contains(const std::array<T, N>& arr, const T& value) {
++ return std::find(std::begin(arr), std::end(arr), value) != std::end(arr);
++}
++
++static bool IsVersionCompatible(const Isa &code_object_isa,
++ const Isa &agent_isa) {
++ if (code_object_isa.GetMajorVersion() == agent_isa.GetMajorVersion() &&
++ code_object_isa.GetMinorVersion() == agent_isa.GetMinorVersion()) {
++
++ if (code_object_isa.GetStepping() == agent_isa.GetStepping()) {
++ return true; // exact match
++ }
++
++ // the processor and code object may sometimes be compatible if
++ // they differ only by stepping version
++ if (code_object_isa.GetMajorVersion() == 9 &&
++ code_object_isa.GetMinorVersion() == 0) {
++ const std::array<int32_t, 4> gfx900_equivalent = { 0, 2, 9, 12 };
++ const std::array<int32_t, 5> gfx900_superset = { 0, 2, 6, 9, 12 };
++ if (Contains(gfx900_equivalent, code_object_isa.GetStepping()) &&
++ Contains(gfx900_superset, agent_isa.GetStepping())) {
++ return true; // gfx900 compatible
++ }
++ } else if (code_object_isa.GetMajorVersion() == 10) {
++ if (code_object_isa.GetMinorVersion() == 1) {
++ const std::array<int32_t, 2> gfx1010_equivalent = { 0, 2 };
++ const std::array<int32_t, 4> gfx1010_superset = { 0, 1, 2, 3 };
++ if (Contains(gfx1010_equivalent, code_object_isa.GetStepping()) &&
++ Contains(gfx1010_superset, agent_isa.GetStepping())) {
++ return true; // gfx1010 compatible
++ }
++ } else if (code_object_isa.GetMinorVersion() == 3) {
++ return true; // gfx1030 compatible
++ }
++ }
++ }
++
++ return false;
++}
++
+ /* static */
+ bool Isa::IsCompatible(const Isa &code_object_isa,
+ const Isa &agent_isa) {
+- if (code_object_isa.GetVersion() != agent_isa.GetVersion())
++ if (!IsVersionCompatible(code_object_isa, agent_isa))
+ return false;
+
+- assert(code_object_isa.IsSrameccSupported() == agent_isa.IsSrameccSupported() && agent_isa.GetSramecc() != IsaFeature::Any);
+ if ((code_object_isa.GetSramecc() == IsaFeature::Enabled ||
+ code_object_isa.GetSramecc() == IsaFeature::Disabled) &&
+ code_object_isa.GetSramecc() != agent_isa.GetSramecc())
diff --git a/dev-libs/rocr-runtime/files/rocr-runtime-5.7.1-musl.patch b/dev-libs/rocr-runtime/files/rocr-runtime-5.7.1-musl.patch
new file mode 100644
index 000000000000..0e8e53209738
--- /dev/null
+++ b/dev-libs/rocr-runtime/files/rocr-runtime-5.7.1-musl.patch
@@ -0,0 +1,106 @@
+Fix compilation with musl.
+
+Bug: https://github.com/ROCm/ROCR-Runtime/issues/181
+--- a/core/inc/checked.h
++++ b/core/inc/checked.h
+@@ -58,7 +58,7 @@ template <uint64_t code, bool multiProcess = false> class Check final {
+ Check(const Check&) { object_ = uintptr_t(this) ^ uintptr_t(code); }
+ Check(Check&&) { object_ = uintptr_t(this) ^ uintptr_t(code); }
+
+- ~Check() { object_ = NULL; }
++ ~Check() { object_ = uintptr_t(NULL); }
+
+ const Check& operator=(Check&& rhs) { return *this; }
+ const Check& operator=(const Check& rhs) { return *this; }
+--- a/core/runtime/default_signal.cpp
++++ b/core/runtime/default_signal.cpp
+@@ -57,7 +57,7 @@ int BusyWaitSignal::rtti_id_ = 0;
+ BusyWaitSignal::BusyWaitSignal(SharedSignal* abi_block, bool enableIPC)
+ : Signal(abi_block, enableIPC) {
+ signal_.kind = AMD_SIGNAL_KIND_USER;
+- signal_.event_mailbox_ptr = NULL;
++ signal_.event_mailbox_ptr = uint64_t(NULL);
+ }
+
+ hsa_signal_value_t BusyWaitSignal::LoadRelaxed() {
+--- a/core/util/lnx/os_linux.cpp
++++ b/core/util/lnx/os_linux.cpp
+@@ -111,9 +111,12 @@ class os_thread {
+ }
+ }
+
++ int cores = 0;
++ cpu_set_t* cpuset = nullptr;
++
+ if (core::Runtime::runtime_singleton_->flag().override_cpu_affinity()) {
+- int cores = get_nprocs_conf();
+- cpu_set_t* cpuset = CPU_ALLOC(cores);
++ cores = get_nprocs_conf();
++ cpuset = CPU_ALLOC(cores);
+ if (cpuset == nullptr) {
+ fprintf(stderr, "CPU_ALLOC failed: %s\n", strerror(errno));
+ return;
+@@ -122,12 +125,6 @@ class os_thread {
+ for (int i = 0; i < cores; i++) {
+ CPU_SET(i, cpuset);
+ }
+- err = pthread_attr_setaffinity_np(&attrib, CPU_ALLOC_SIZE(cores), cpuset);
+- CPU_FREE(cpuset);
+- if (err != 0) {
+- fprintf(stderr, "pthread_attr_setaffinity_np failed: %s\n", strerror(err));
+- return;
+- }
+ }
+
+ err = pthread_create(&thread, &attrib, ThreadTrampoline, args.get());
+@@ -157,6 +154,14 @@ class os_thread {
+ if (err != 0) {
+ fprintf(stderr, "pthread_attr_destroy failed: %s\n", strerror(err));
+ }
++
++ if (thread && cores && cpuset) {
++ err = pthread_setaffinity_np(thread, CPU_ALLOC_SIZE(cores), cpuset);
++ CPU_FREE(cpuset);
++ if (err != 0) {
++ fprintf(stderr, "pthread_setaffinity_np failed: %s\n", strerror(err));
++ }
++ }
+ }
+
+ os_thread(os_thread&& rhs) {
+@@ -617,11 +622,13 @@ SharedMutex CreateSharedMutex() {
+ fprintf(stderr, "rw lock attribute init failed: %s\n", strerror(err));
+ return nullptr;
+ }
++#if defined(__GLIBC__)
+ err = pthread_rwlockattr_setkind_np(&attrib, PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP);
+ if (err != 0) {
+ fprintf(stderr, "Set rw lock attribute failure: %s\n", strerror(err));
+ return nullptr;
+ }
++#endif
+
+ pthread_rwlock_t* lock = new pthread_rwlock_t;
+ err = pthread_rwlock_init(lock, &attrib);
+--- a/core/util/utils.h
++++ b/core/util/utils.h
+@@ -74,7 +74,7 @@ static __forceinline void* _aligned_malloc(size_t size, size_t alignment) {
+ return aligned_alloc(alignment, size);
+ #else
+ void *mem = NULL;
+- if (NULL != posix_memalign(&mem, alignment, size))
++ if (0 != posix_memalign(&mem, alignment, size))
+ return NULL;
+ return mem;
+ #endif
+--- a/image/util.h
++++ b/image/util.h
+@@ -95,7 +95,7 @@ static __forceinline void* _aligned_malloc(size_t size, size_t alignment) {
+ return aligned_alloc(alignment, size);
+ #else
+ void* mem = NULL;
+- if (NULL != posix_memalign(&mem, alignment, size)) return NULL;
++ if (0 != posix_memalign(&mem, alignment, size)) return NULL;
+ return mem;
+ #endif
+ }
diff --git a/dev-libs/rocr-runtime/rocr-runtime-3.10.0.ebuild b/dev-libs/rocr-runtime/rocr-runtime-3.10.0.ebuild
deleted file mode 100644
index 256f7ffb9e4a..000000000000
--- a/dev-libs/rocr-runtime/rocr-runtime-3.10.0.ebuild
+++ /dev/null
@@ -1,47 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit cmake
-
-if [[ ${PV} == *9999 ]] ; then
- EGIT_REPO_URI="https://github.com/RadeonOpenCompute/ROCR-Runtime/"
- inherit git-r3
- S="${WORKDIR}/${P}/src"
-else
- SRC_URI="https://github.com/RadeonOpenCompute/ROCR-Runtime/archive/rocm-${PV}.tar.gz -> ${P}.tar.gz"
- S="${WORKDIR}/ROCR-Runtime-rocm-${PV}/src"
- KEYWORDS="~amd64"
-fi
-
-DESCRIPTION="Radeon Open Compute Runtime"
-HOMEPAGE="https://github.com/RadeonOpenCompute/ROCR-Runtime"
-PATCHES=(
- "${FILESDIR}/${PN}-3.7.0-cmake-install-paths.patch"
-)
-
-LICENSE="MIT"
-SLOT="0/$(ver_cut 1-2)"
-
-COMMON_DEPEND="sys-process/numactl
- dev-libs/elfutils:=
- >=sys-devel/llvm-roc-${PV}"
-RDEPEND="${COMMON_DEPEND}"
-DEPEND="${COMMON_DEPEND}
- >=dev-libs/roct-thunk-interface-${PV}
- >=dev-libs/rocm-device-libs-${PV}"
-BDEPEND="app-editors/vim-core"
- # vim-core is needed for "xxd"
-
-src_prepare() {
- sed -e "s:get_version ( \"1.0.0\" ):get_version ( \"${PV}\" ):" -i CMakeLists.txt || die
-
- # ... otherwise system llvm/clang is used ...
- sed -e "s:find_package(Clang REQUIRED HINTS \${CMAKE_INSTALL_PREFIX}/llvm \${CMAKE_PREFIX_PATH}/llvm PATHS /opt/rocm/llvm ):find_package(Clang REQUIRED HINTS /usr/lib/llvm/roc ):" -i image/blit_src/CMakeLists.txt || die
-
- # Gentoo installs "*.bc" to "/usr/lib" instead of a "[path]/bitcode" directory ...
- sed -e "s:/opt/rocm/amdgcn/bitcode:/usr/lib/amdgcn/bitcode:" -i image/blit_src/CMakeLists.txt || die
-
- cmake_src_prepare
-}
diff --git a/dev-libs/rocr-runtime/rocr-runtime-3.8.0.ebuild b/dev-libs/rocr-runtime/rocr-runtime-3.8.0.ebuild
deleted file mode 100644
index 4c5db671ec1a..000000000000
--- a/dev-libs/rocr-runtime/rocr-runtime-3.8.0.ebuild
+++ /dev/null
@@ -1,47 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit cmake
-
-if [[ ${PV} == *9999 ]] ; then
- EGIT_REPO_URI="https://github.com/RadeonOpenCompute/ROCR-Runtime/"
- inherit git-r3
- S="${WORKDIR}/${P}/src"
-else
- SRC_URI="https://github.com/RadeonOpenCompute/ROCR-Runtime/archive/rocm-${PV}.tar.gz -> ${P}.tar.gz"
- S="${WORKDIR}/ROCR-Runtime-rocm-${PV}/src"
- KEYWORDS="~amd64"
-fi
-
-DESCRIPTION="Radeon Open Compute Runtime"
-HOMEPAGE="https://github.com/RadeonOpenCompute/ROCR-Runtime"
-PATCHES=(
- "${FILESDIR}/${PN}-3.7.0-cmake-install-paths.patch"
-)
-
-LICENSE="MIT"
-SLOT="0/$(ver_cut 1-2)"
-
-COMMON_DEPEND="sys-process/numactl
- dev-libs/elfutils:=
- >=sys-devel/llvm-roc-${PV}"
-RDEPEND="${COMMON_DEPEND}"
-DEPEND="${COMMON_DEPEND}
- >=dev-libs/roct-thunk-interface-${PV}
- ~dev-libs/rocm-device-libs-${PV}"
-BDEPEND="app-editors/vim-core"
- # vim-core is needed for "xxd"
-
-src_prepare() {
- sed -e "s:get_version ( \"1.0.0\" ):get_version ( \"${PV}\" ):" -i CMakeLists.txt || die
-
- # ... otherwise system llvm/clang is used ...
- sed -e "s:find_package(Clang REQUIRED HINTS \${CMAKE_INSTALL_PREFIX}/llvm \${CMAKE_PREFIX_PATH}/llvm PATHS /opt/rocm/llvm ):find_package(Clang REQUIRED HINTS /usr/lib/llvm/roc ):" -i image/blit_src/CMakeLists.txt || die
-
- # Gentoo installs "*.bc" to "/usr/lib" instead of a "[path]/bitcode" directory ...
- sed -e "s:/opt/rocm/amdgcn/bitcode:/usr/lib:" -i image/blit_src/CMakeLists.txt || die
-
- cmake_src_prepare
-}
diff --git a/dev-libs/rocr-runtime/rocr-runtime-3.9.0.ebuild b/dev-libs/rocr-runtime/rocr-runtime-3.9.0.ebuild
deleted file mode 100644
index 256f7ffb9e4a..000000000000
--- a/dev-libs/rocr-runtime/rocr-runtime-3.9.0.ebuild
+++ /dev/null
@@ -1,47 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit cmake
-
-if [[ ${PV} == *9999 ]] ; then
- EGIT_REPO_URI="https://github.com/RadeonOpenCompute/ROCR-Runtime/"
- inherit git-r3
- S="${WORKDIR}/${P}/src"
-else
- SRC_URI="https://github.com/RadeonOpenCompute/ROCR-Runtime/archive/rocm-${PV}.tar.gz -> ${P}.tar.gz"
- S="${WORKDIR}/ROCR-Runtime-rocm-${PV}/src"
- KEYWORDS="~amd64"
-fi
-
-DESCRIPTION="Radeon Open Compute Runtime"
-HOMEPAGE="https://github.com/RadeonOpenCompute/ROCR-Runtime"
-PATCHES=(
- "${FILESDIR}/${PN}-3.7.0-cmake-install-paths.patch"
-)
-
-LICENSE="MIT"
-SLOT="0/$(ver_cut 1-2)"
-
-COMMON_DEPEND="sys-process/numactl
- dev-libs/elfutils:=
- >=sys-devel/llvm-roc-${PV}"
-RDEPEND="${COMMON_DEPEND}"
-DEPEND="${COMMON_DEPEND}
- >=dev-libs/roct-thunk-interface-${PV}
- >=dev-libs/rocm-device-libs-${PV}"
-BDEPEND="app-editors/vim-core"
- # vim-core is needed for "xxd"
-
-src_prepare() {
- sed -e "s:get_version ( \"1.0.0\" ):get_version ( \"${PV}\" ):" -i CMakeLists.txt || die
-
- # ... otherwise system llvm/clang is used ...
- sed -e "s:find_package(Clang REQUIRED HINTS \${CMAKE_INSTALL_PREFIX}/llvm \${CMAKE_PREFIX_PATH}/llvm PATHS /opt/rocm/llvm ):find_package(Clang REQUIRED HINTS /usr/lib/llvm/roc ):" -i image/blit_src/CMakeLists.txt || die
-
- # Gentoo installs "*.bc" to "/usr/lib" instead of a "[path]/bitcode" directory ...
- sed -e "s:/opt/rocm/amdgcn/bitcode:/usr/lib/amdgcn/bitcode:" -i image/blit_src/CMakeLists.txt || die
-
- cmake_src_prepare
-}
diff --git a/dev-libs/rocr-runtime/rocr-runtime-4.0.0.ebuild b/dev-libs/rocr-runtime/rocr-runtime-4.0.0.ebuild
deleted file mode 100644
index 6326a7e4b20e..000000000000
--- a/dev-libs/rocr-runtime/rocr-runtime-4.0.0.ebuild
+++ /dev/null
@@ -1,47 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit cmake
-
-if [[ ${PV} == *9999 ]] ; then
- EGIT_REPO_URI="https://github.com/RadeonOpenCompute/ROCR-Runtime/"
- inherit git-r3
- S="${WORKDIR}/${P}/src"
-else
- SRC_URI="https://github.com/RadeonOpenCompute/ROCR-Runtime/archive/rocm-${PV}.tar.gz -> ${P}.tar.gz"
- S="${WORKDIR}/ROCR-Runtime-rocm-${PV}/src"
- KEYWORDS="~amd64"
-fi
-
-DESCRIPTION="Radeon Open Compute Runtime"
-HOMEPAGE="https://github.com/RadeonOpenCompute/ROCR-Runtime"
-PATCHES=(
- "${FILESDIR}/${PN}-3.7.0-cmake-install-paths.patch"
-)
-
-LICENSE="MIT"
-SLOT="0/$(ver_cut 1-2)"
-
-COMMON_DEPEND="sys-process/numactl
- dev-libs/elfutils:=
- >=sys-devel/llvm-roc-${PV}"
-RDEPEND="${COMMON_DEPEND}"
-DEPEND="${COMMON_DEPEND}
- >=dev-libs/roct-thunk-interface-${PV}
- >=dev-libs/rocm-device-libs-${PV}"
-BDEPEND="app-editors/vim-core"
- # vim-core is needed for "xxd"
-
-src_prepare() {
- sed -e "s:get_version ( \"1.0.0\" ):get_version ( \"${PV}\" ):" -i CMakeLists.txt || die
-
- # ... otherwise system llvm/clang is used ...
- sed -e "s:find_package(Clang REQUIRED HINTS \${CMAKE_INSTALL_PREFIX}/llvm \${CMAKE_PREFIX_PATH}/llvm PATHS /opt/rocm/llvm ):find_package(Clang REQUIRED HINTS ${EPREFIX}/usr/lib/llvm/roc ):" -i image/blit_src/CMakeLists.txt || die
-
- # Gentoo installs "*.bc" to "/usr/lib" instead of a "[path]/bitcode" directory ...
- sed -e "s:/opt/rocm/amdgcn/bitcode:${EPREFIX}/usr/lib/amdgcn/bitcode:" -i image/blit_src/CMakeLists.txt || die
-
- cmake_src_prepare
-}
diff --git a/dev-libs/rocr-runtime/rocr-runtime-4.1.0.ebuild b/dev-libs/rocr-runtime/rocr-runtime-4.1.0.ebuild
deleted file mode 100644
index e91c230b519a..000000000000
--- a/dev-libs/rocr-runtime/rocr-runtime-4.1.0.ebuild
+++ /dev/null
@@ -1,53 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit cmake
-
-if [[ ${PV} == *9999 ]] ; then
- EGIT_REPO_URI="https://github.com/RadeonOpenCompute/ROCR-Runtime/"
- inherit git-r3
- S="${WORKDIR}/${P}/src"
-else
- SRC_URI="https://github.com/RadeonOpenCompute/ROCR-Runtime/archive/rocm-${PV}.tar.gz -> ${P}.tar.gz"
- S="${WORKDIR}/ROCR-Runtime-rocm-${PV}/src"
- KEYWORDS="~amd64"
-fi
-
-DESCRIPTION="Radeon Open Compute Runtime"
-HOMEPAGE="https://github.com/RadeonOpenCompute/ROCR-Runtime"
-PATCHES=(
- "${FILESDIR}/${PN}-4.1.0-cmake-install-paths.patch"
-)
-
-LICENSE="MIT"
-SLOT="0/$(ver_cut 1-2)"
-IUSE="debug"
-
-COMMON_DEPEND="sys-process/numactl
- dev-libs/elfutils:=
- >=sys-devel/llvm-roc-${PV}"
-RDEPEND="${COMMON_DEPEND}"
-DEPEND="${COMMON_DEPEND}
- >=dev-libs/roct-thunk-interface-${PV}
- >=dev-libs/rocm-device-libs-${PV}"
-BDEPEND="app-editors/vim-core"
- # vim-core is needed for "xxd"
-
-src_prepare() {
- sed -e "s:get_version ( \"1.0.0\" ):get_version ( \"${PV}\" ):" -i CMakeLists.txt || die
-
- # ... otherwise system llvm/clang is used ...
- sed -e "s:find_package(Clang REQUIRED HINTS \${CMAKE_INSTALL_PREFIX}/llvm \${CMAKE_PREFIX_PATH}/llvm PATHS /opt/rocm/llvm ):find_package(Clang REQUIRED HINTS ${EPREFIX}/usr/lib/llvm/roc ):" -i image/blit_src/CMakeLists.txt || die
-
- # Gentoo installs "*.bc" to "/usr/lib" instead of a "[path]/bitcode" directory ...
- sed -e "s:/opt/rocm/amdgcn/bitcode:${EPREFIX}/usr/lib/amdgcn/bitcode:" -i image/blit_src/CMakeLists.txt || die
-
- cmake_src_prepare
-}
-
-src_configure() {
- use debug || local mycmakeargs=(-DCMAKE_CXX_FLAGS='-DNDEBUG')
- cmake_src_configure
-}
diff --git a/dev-libs/rocr-runtime/rocr-runtime-4.2.0.ebuild b/dev-libs/rocr-runtime/rocr-runtime-4.2.0.ebuild
deleted file mode 100644
index c9bc5602a203..000000000000
--- a/dev-libs/rocr-runtime/rocr-runtime-4.2.0.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
-
-inherit cmake
-
-if [[ ${PV} == *9999 ]] ; then
- EGIT_REPO_URI="https://github.com/RadeonOpenCompute/ROCR-Runtime/"
- inherit git-r3
- S="${WORKDIR}/${P}/src"
-else
- SRC_URI="https://github.com/RadeonOpenCompute/ROCR-Runtime/archive/rocm-${PV}.tar.gz -> ${P}.tar.gz"
- S="${WORKDIR}/ROCR-Runtime-rocm-${PV}/src"
- KEYWORDS="~amd64"
-fi
-
-DESCRIPTION="Radeon Open Compute Runtime"
-HOMEPAGE="https://github.com/RadeonOpenCompute/ROCR-Runtime"
-PATCHES=(
- "${FILESDIR}/${PN}-4.1.0-cmake-install-paths.patch"
-)
-
-LICENSE="MIT"
-SLOT="0/$(ver_cut 1-2)"
-
-COMMON_DEPEND="sys-process/numactl
- dev-libs/elfutils:="
-RDEPEND="${COMMON_DEPEND}"
-DEPEND="${COMMON_DEPEND}
- >=dev-libs/roct-thunk-interface-${PV}
- >=dev-libs/rocm-device-libs-${PV}"
-BDEPEND="app-editors/vim-core"
- # vim-core is needed for "xxd"
-
-src_prepare() {
- sed -e "s:get_version ( \"1.0.0\" ):get_version ( \"${PV}\" ):" -i CMakeLists.txt || die
-
- # ... otherwise system llvm/clang is used ...
- sed -e "s:find_package(Clang REQUIRED HINTS \${CMAKE_INSTALL_PREFIX}/llvm \${CMAKE_PREFIX_PATH}/llvm PATHS /opt/rocm/llvm ):find_package(Clang REQUIRED HINTS ${EPREFIX}/usr/lib/llvm/roc ):" -i image/blit_src/CMakeLists.txt || die
-
- # Gentoo installs "*.bc" to "/usr/lib" instead of a "[path]/bitcode" directory ...
- sed -e "s:/opt/rocm/amdgcn/bitcode:${EPREFIX}/usr/lib/amdgcn/bitcode:" -i image/blit_src/CMakeLists.txt || die
-
- cmake_src_prepare
-}
diff --git a/dev-libs/rocr-runtime/rocr-runtime-4.3.0.ebuild b/dev-libs/rocr-runtime/rocr-runtime-4.3.0.ebuild
deleted file mode 100644
index c1f5f5a3a07b..000000000000
--- a/dev-libs/rocr-runtime/rocr-runtime-4.3.0.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 cmake
-
-if [[ ${PV} == *9999 ]] ; then
- EGIT_REPO_URI="https://github.com/RadeonOpenCompute/ROCR-Runtime/"
- inherit git-r3
- S="${WORKDIR}/${P}/src"
-else
- SRC_URI="https://github.com/RadeonOpenCompute/ROCR-Runtime/archive/rocm-${PV}.tar.gz -> ${P}.tar.gz"
- S="${WORKDIR}/ROCR-Runtime-rocm-${PV}/src"
- KEYWORDS="~amd64"
-fi
-
-DESCRIPTION="Radeon Open Compute Runtime"
-HOMEPAGE="https://github.com/RadeonOpenCompute/ROCR-Runtime"
-PATCHES=(
- "${FILESDIR}/${PN}-4.1.0-cmake-install-paths.patch"
-)
-
-LICENSE="MIT"
-SLOT="0/$(ver_cut 1-2)"
-
-COMMON_DEPEND="sys-process/numactl
- dev-libs/elfutils:="
-RDEPEND="${COMMON_DEPEND}"
-DEPEND="${COMMON_DEPEND}
- >=dev-libs/roct-thunk-interface-${PV}
- >=dev-libs/rocm-device-libs-${PV}"
-BDEPEND="app-editors/vim-core"
- # vim-core is needed for "xxd"
-
-src_prepare() {
- # ... otherwise system llvm/clang is used ...
- sed -e "s:find_package(Clang REQUIRED HINTS \${CMAKE_INSTALL_PREFIX}/llvm \${CMAKE_PREFIX_PATH}/llvm PATHS /opt/rocm/llvm ):find_package(Clang REQUIRED HINTS ${EPREFIX}/usr/lib/llvm/roc ):" -i image/blit_src/CMakeLists.txt || die
-
- # Gentoo installs "*.bc" to "/usr/lib" instead of a "[path]/bitcode" directory ...
- sed -e "s:/opt/rocm/amdgcn/bitcode:${EPREFIX}/usr/lib/amdgcn/bitcode:" -i image/blit_src/CMakeLists.txt || die
-
- cmake_src_prepare
-}
diff --git a/dev-libs/rocr-runtime/rocr-runtime-5.1.3-r1.ebuild b/dev-libs/rocr-runtime/rocr-runtime-5.1.3-r1.ebuild
new file mode 100644
index 000000000000..e7a6b4f59310
--- /dev/null
+++ b/dev-libs/rocr-runtime/rocr-runtime-5.1.3-r1.ebuild
@@ -0,0 +1,50 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake llvm
+
+LLVM_MAX_SLOT=15
+
+if [[ ${PV} == *9999 ]] ; then
+ EGIT_REPO_URI="https://github.com/RadeonOpenCompute/ROCR-Runtime/"
+ inherit git-r3
+ S="${WORKDIR}/${P}/src"
+else
+ SRC_URI="https://github.com/RadeonOpenCompute/ROCR-Runtime/archive/rocm-${PV}.tar.gz -> ${P}.tar.gz"
+ S="${WORKDIR}/ROCR-Runtime-rocm-${PV}/src"
+ KEYWORDS="~amd64"
+fi
+
+DESCRIPTION="Radeon Open Compute Runtime"
+HOMEPAGE="https://github.com/RadeonOpenCompute/ROCR-Runtime"
+PATCHES=(
+ "${FILESDIR}/${PN}-5.0.1-cmake-install-paths.patch"
+ "${FILESDIR}/${PN}-4.3.0_no-aqlprofiler.patch"
+)
+
+LICENSE="MIT"
+SLOT="0/$(ver_cut 1-2)"
+
+COMMON_DEPEND="dev-libs/elfutils"
+RDEPEND="${COMMON_DEPEND}"
+DEPEND="${COMMON_DEPEND}
+ >=dev-libs/roct-thunk-interface-${PV}
+ >=dev-libs/rocm-device-libs-${PV}
+ sys-devel/clang
+ sys-devel/lld"
+BDEPEND="app-editors/vim-core"
+ # vim-core is needed for "xxd"
+
+CMAKE_BUILD_TYPE=Release
+
+src_prepare() {
+ # ... otherwise system llvm/clang is used ...
+ sed -e "/find_package(Clang REQUIRED HINTS /s:\${CMAKE_INSTALL_PREFIX}/llvm \${CMAKE_PREFIX_PATH}/llvm PATHS /opt/rocm/llvm:$(get_llvm_prefix ${LLVM_MAX_SLOT}):" -i image/blit_src/CMakeLists.txt || die
+
+ # Gentoo installs "*.bc" to "/usr/lib" instead of a "[path]/bitcode" directory ...
+ sed -e "s:/opt/rocm/amdgcn/bitcode:${EPREFIX}/usr/lib/amdgcn/bitcode:" -i image/blit_src/CMakeLists.txt || die
+
+ cmake_src_prepare
+}
diff --git a/dev-libs/rocr-runtime/rocr-runtime-5.3.3-r1.ebuild b/dev-libs/rocr-runtime/rocr-runtime-5.3.3-r1.ebuild
new file mode 100644
index 000000000000..2f9c72c2c2f0
--- /dev/null
+++ b/dev-libs/rocr-runtime/rocr-runtime-5.3.3-r1.ebuild
@@ -0,0 +1,51 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake flag-o-matic llvm
+
+LLVM_MAX_SLOT=15
+
+if [[ ${PV} == *9999 ]] ; then
+ EGIT_REPO_URI="https://github.com/RadeonOpenCompute/ROCR-Runtime/"
+ inherit git-r3
+ S="${WORKDIR}/${P}/src"
+else
+ SRC_URI="https://github.com/RadeonOpenCompute/ROCR-Runtime/archive/rocm-${PV}.tar.gz -> ${P}.tar.gz"
+ S="${WORKDIR}/ROCR-Runtime-rocm-${PV}/src"
+ KEYWORDS="~amd64"
+fi
+
+DESCRIPTION="Radeon Open Compute Runtime"
+HOMEPAGE="https://github.com/RadeonOpenCompute/ROCR-Runtime"
+PATCHES=(
+ "${FILESDIR}/${PN}-4.3.0_no-aqlprofiler.patch"
+)
+
+LICENSE="MIT"
+SLOT="0/$(ver_cut 1-2)"
+IUSE="debug"
+
+COMMON_DEPEND="dev-libs/elfutils"
+RDEPEND="${COMMON_DEPEND}"
+DEPEND="${COMMON_DEPEND}
+ >=dev-libs/roct-thunk-interface-${PV}
+ >=dev-libs/rocm-device-libs-${PV}
+ sys-devel/clang
+ sys-devel/lld"
+BDEPEND="app-editors/vim-core"
+ # vim-core is needed for "xxd"
+
+src_prepare() {
+ # Gentoo installs "*.bc" to "/usr/lib" instead of a "[path]/bitcode" directory ...
+ sed -e "s:-O2:--rocm-path=${EPREFIX}/usr/lib/ -O2:" -i image/blit_src/CMakeLists.txt || die
+
+ cmake_src_prepare
+}
+
+src_configure() {
+ use debug || append-cxxflags "-DNDEBUG"
+ local mycmakeargs=( -DINCLUDE_PATH_COMPATIBILITY=OFF )
+ cmake_src_configure
+}
diff --git a/dev-libs/rocr-runtime/rocr-runtime-5.4.3-r1.ebuild b/dev-libs/rocr-runtime/rocr-runtime-5.4.3-r1.ebuild
new file mode 100644
index 000000000000..5ee12fb5d5ba
--- /dev/null
+++ b/dev-libs/rocr-runtime/rocr-runtime-5.4.3-r1.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 flag-o-matic llvm
+
+LLVM_MAX_SLOT=15
+
+if [[ ${PV} == *9999 ]] ; then
+ EGIT_REPO_URI="https://github.com/RadeonOpenCompute/ROCR-Runtime/"
+ inherit git-r3
+ S="${WORKDIR}/${P}/src"
+else
+ SRC_URI="https://github.com/RadeonOpenCompute/ROCR-Runtime/archive/rocm-${PV}.tar.gz -> ${P}.tar.gz"
+ S="${WORKDIR}/ROCR-Runtime-rocm-${PV}/src"
+ KEYWORDS="~amd64"
+fi
+
+DESCRIPTION="Radeon Open Compute Runtime"
+HOMEPAGE="https://github.com/RadeonOpenCompute/ROCR-Runtime"
+PATCHES=(
+ "${FILESDIR}/${PN}-4.3.0_no-aqlprofiler.patch"
+)
+
+LICENSE="MIT"
+SLOT="0/$(ver_cut 1-2)"
+IUSE="debug"
+
+COMMON_DEPEND="dev-libs/elfutils"
+RDEPEND="${COMMON_DEPEND}"
+DEPEND="${COMMON_DEPEND}
+ >=dev-libs/roct-thunk-interface-${PV}
+ >=dev-libs/rocm-device-libs-${PV}
+ sys-devel/clang
+ sys-devel/lld"
+BDEPEND="app-editors/vim-core"
+ # vim-core is needed for "xxd"
+
+src_prepare() {
+ # Gentoo installs "*.bc" to "/usr/lib" instead of a "[path]/bitcode" directory ...
+ sed -e "s:-O2:--rocm-path=${EPREFIX}/usr/lib/ -O2:" -i image/blit_src/CMakeLists.txt || die
+
+ # internal version depends on git being present and random weird magic, otherwise fallback to incoherent default value
+ # fix default value to be more better
+
+ sed -i -e "s:1.7.0:${PV}:" CMakeLists.txt || die
+
+ cmake_src_prepare
+}
+
+src_configure() {
+ use debug || append-cxxflags "-DNDEBUG"
+ local mycmakeargs=( -DINCLUDE_PATH_COMPATIBILITY=OFF )
+ cmake_src_configure
+}
diff --git a/dev-libs/rocr-runtime/rocr-runtime-5.5.1.ebuild b/dev-libs/rocr-runtime/rocr-runtime-5.5.1.ebuild
new file mode 100644
index 000000000000..36f37da462ab
--- /dev/null
+++ b/dev-libs/rocr-runtime/rocr-runtime-5.5.1.ebuild
@@ -0,0 +1,51 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake flag-o-matic llvm
+
+LLVM_MAX_SLOT=16
+
+if [[ ${PV} == *9999 ]] ; then
+ EGIT_REPO_URI="https://github.com/RadeonOpenCompute/ROCR-Runtime/"
+ inherit git-r3
+ S="${WORKDIR}/${P}/src"
+else
+ SRC_URI="https://github.com/RadeonOpenCompute/ROCR-Runtime/archive/rocm-${PV}.tar.gz -> ${P}.tar.gz"
+ S="${WORKDIR}/ROCR-Runtime-rocm-${PV}/src"
+ KEYWORDS="~amd64"
+fi
+
+DESCRIPTION="Radeon Open Compute Runtime"
+HOMEPAGE="https://github.com/RadeonOpenCompute/ROCR-Runtime"
+PATCHES=(
+ "${FILESDIR}/${PN}-4.3.0_no-aqlprofiler.patch"
+)
+
+LICENSE="MIT"
+SLOT="0/$(ver_cut 1-2)"
+IUSE="debug"
+
+COMMON_DEPEND="dev-libs/elfutils"
+RDEPEND="${COMMON_DEPEND}"
+DEPEND="${COMMON_DEPEND}
+ >=dev-libs/roct-thunk-interface-${PV}
+ >=dev-libs/rocm-device-libs-${PV}
+ sys-devel/clang
+ sys-devel/lld"
+BDEPEND="app-editors/vim-core"
+ # vim-core is needed for "xxd"
+
+src_prepare() {
+ # Gentoo installs "*.bc" to "/usr/lib" instead of a "[path]/bitcode" directory ...
+ sed -e "s:-O2:--rocm-path=${EPREFIX}/usr/lib/ -O2:" -i image/blit_src/CMakeLists.txt || die
+
+ cmake_src_prepare
+}
+
+src_configure() {
+ use debug || append-cxxflags "-DNDEBUG"
+ local mycmakeargs=( -DINCLUDE_PATH_COMPATIBILITY=OFF )
+ cmake_src_configure
+}
diff --git a/dev-libs/rocr-runtime/rocr-runtime-5.7.1-r2.ebuild b/dev-libs/rocr-runtime/rocr-runtime-5.7.1-r2.ebuild
new file mode 100644
index 000000000000..b22b60ffa24f
--- /dev/null
+++ b/dev-libs/rocr-runtime/rocr-runtime-5.7.1-r2.ebuild
@@ -0,0 +1,59 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+LLVM_MAX_SLOT=17
+
+inherit cmake flag-o-matic llvm
+
+if [[ ${PV} == *9999 ]] ; then
+ EGIT_REPO_URI="https://github.com/RadeonOpenCompute/ROCR-Runtime/"
+ inherit git-r3
+ S="${WORKDIR}/${P}/src"
+else
+ SRC_URI="https://github.com/RadeonOpenCompute/ROCR-Runtime/archive/rocm-${PV}.tar.gz -> ${P}.tar.gz"
+ S="${WORKDIR}/ROCR-Runtime-rocm-${PV}/src"
+ KEYWORDS="~amd64"
+fi
+
+DESCRIPTION="Radeon Open Compute Runtime"
+HOMEPAGE="https://github.com/RadeonOpenCompute/ROCR-Runtime"
+PATCHES=(
+ "${FILESDIR}/${PN}-4.3.0_no-aqlprofiler.patch"
+ "${FILESDIR}/${PN}-5.7.1-extend-isa-compatibility-check.patch"
+ "${FILESDIR}/${PN}-5.7.1-musl.patch"
+)
+
+LICENSE="MIT"
+SLOT="0/$(ver_cut 1-2)"
+IUSE="debug"
+
+COMMON_DEPEND="dev-libs/elfutils
+ x11-libs/libdrm"
+DEPEND="${COMMON_DEPEND}
+ >=dev-libs/roct-thunk-interface-${PV}
+ >=dev-libs/rocm-device-libs-${PV}
+ sys-devel/clang:${LLVM_MAX_SLOT}=
+ sys-devel/lld:${LLVM_MAX_SLOT}="
+RDEPEND="${DEPEND}"
+BDEPEND="app-editors/vim-core"
+ # vim-core is needed for "xxd"
+
+src_prepare() {
+ # Gentoo installs "*.bc" to "/usr/lib" instead of a "[path]/bitcode" directory ...
+ sed -e "s:-O2:--rocm-path=${EPREFIX}/usr/lib/ -O2:" -i image/blit_src/CMakeLists.txt || die
+
+ cmake_src_prepare
+}
+
+src_configure() {
+ # -Werror=odr
+ # https://bugs.gentoo.org/856091
+ # https://github.com/ROCm/ROCR-Runtime/issues/182
+ filter-lto
+
+ use debug || append-cxxflags "-DNDEBUG"
+ local mycmakeargs=( -DINCLUDE_PATH_COMPATIBILITY=OFF )
+ cmake_src_configure
+}
diff --git a/dev-libs/rocr-runtime/rocr-runtime-6.0.0-r1.ebuild b/dev-libs/rocr-runtime/rocr-runtime-6.0.0-r1.ebuild
new file mode 100644
index 000000000000..374dcec97554
--- /dev/null
+++ b/dev-libs/rocr-runtime/rocr-runtime-6.0.0-r1.ebuild
@@ -0,0 +1,58 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake flag-o-matic llvm
+
+LLVM_MAX_SLOT=17
+
+if [[ ${PV} == *9999 ]] ; then
+ EGIT_REPO_URI="https://github.com/RadeonOpenCompute/ROCR-Runtime/"
+ inherit git-r3
+ S="${WORKDIR}/${P}/src"
+else
+ SRC_URI="https://github.com/RadeonOpenCompute/ROCR-Runtime/archive/rocm-${PV}.tar.gz -> ${P}.tar.gz"
+ S="${WORKDIR}/ROCR-Runtime-rocm-${PV}/src"
+ KEYWORDS="~amd64"
+fi
+
+DESCRIPTION="Radeon Open Compute Runtime"
+HOMEPAGE="https://github.com/RadeonOpenCompute/ROCR-Runtime"
+PATCHES=(
+ "${FILESDIR}/${PN}-4.3.0_no-aqlprofiler.patch"
+ "${FILESDIR}/${PN}-5.7.1-musl.patch"
+)
+
+LICENSE="MIT"
+SLOT="0/$(ver_cut 1-2)"
+IUSE="debug"
+
+COMMON_DEPEND="dev-libs/elfutils
+ x11-libs/libdrm"
+DEPEND="${COMMON_DEPEND}
+ >=dev-libs/roct-thunk-interface-${PV}
+ >=dev-libs/rocm-device-libs-${PV}
+ sys-devel/clang:${LLVM_MAX_SLOT}=
+ sys-devel/lld:${LLVM_MAX_SLOT}="
+RDEPEND="${DEPEND}"
+BDEPEND="app-editors/vim-core"
+ # vim-core is needed for "xxd"
+
+src_prepare() {
+ # Gentoo installs "*.bc" to "/usr/lib" instead of a "[path]/bitcode" directory ...
+ sed -e "s:-O2:--rocm-path=${EPREFIX}/usr/lib/ -O2:" -i image/blit_src/CMakeLists.txt || die
+
+ cmake_src_prepare
+}
+
+src_configure() {
+ # -Werror=odr
+ # https://bugs.gentoo.org/856091
+ # https://github.com/ROCm/ROCR-Runtime/issues/182
+ filter-lto
+
+ use debug || append-cxxflags "-DNDEBUG"
+ local mycmakeargs=( -DINCLUDE_PATH_COMPATIBILITY=OFF )
+ cmake_src_configure
+}
diff --git a/dev-libs/rocr-runtime/rocr-runtime-9999.ebuild b/dev-libs/rocr-runtime/rocr-runtime-9999.ebuild
deleted file mode 100644
index 38fc7decb01f..000000000000
--- a/dev-libs/rocr-runtime/rocr-runtime-9999.ebuild
+++ /dev/null
@@ -1,53 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit cmake
-
-if [[ ${PV} == *9999 ]] ; then
- EGIT_REPO_URI="https://github.com/RadeonOpenCompute/ROCR-Runtime/"
- inherit git-r3
- S="${WORKDIR}/${P}/src"
-else
- SRC_URI="https://github.com/RadeonOpenCompute/ROCR-Runtime/archive/rocm-${PV}.tar.gz -> ${P}.tar.gz"
- S="${WORKDIR}/ROCR-Runtime-rocm-${PV}/src"
- KEYWORDS="~amd64"
-fi
-
-DESCRIPTION="Radeon Open Compute Runtime"
-HOMEPAGE="https://github.com/RadeonOpenCompute/ROCR-Runtime"
-PATCHES=(
- "${FILESDIR}/${PN}-4.1.0-cmake-install-paths.patch"
-)
-
-LICENSE="MIT"
-SLOT="0/$(ver_cut 1-2)"
-IUSE="debug"
-
-COMMON_DEPEND="sys-process/numactl
- dev-libs/elfutils:=
- >=sys-devel/llvm-roc-${PV}"
-RDEPEND="${COMMON_DEPEND}"
-DEPEND="${COMMON_DEPEND}
- >=dev-libs/roct-thunk-interface-${PV}
- >=dev-libs/rocm-device-libs-${PV}"
-BDEPEND="app-editors/vim-core"
- # vim-core is needed for "xxd"
-
-src_prepare() {
- sed -e "s:get_version ( \"1.0.0\" ):get_version ( \"${PV}\" ):" -i CMakeLists.txt || die
-
- # ... otherwise system llvm/clang is used ...
- sed -e "s:find_package(Clang REQUIRED HINTS \${CMAKE_INSTALL_PREFIX}/llvm \${CMAKE_PREFIX_PATH}/llvm PATHS /opt/rocm/llvm ):find_package(Clang REQUIRED HINTS /usr/lib/llvm/roc ):" -i image/blit_src/CMakeLists.txt || die
-
- # Gentoo installs "*.bc" to "/usr/lib" instead of a "[path]/bitcode" directory ...
- sed -e "s:/opt/rocm/amdgcn/bitcode:/usr/lib/amdgcn/bitcode:" -i image/blit_src/CMakeLists.txt || die
-
- cmake_src_prepare
-}
-
-src_configure() {
- use debug || local mycmakeargs=(-DCMAKE_CXX_FLAGS='-DNDEBUG')
- cmake_src_configure
-}
diff --git a/dev-libs/roct-thunk-interface/Manifest b/dev-libs/roct-thunk-interface/Manifest
index 2548cfe9ac8b..5d6ef732ff39 100644
--- a/dev-libs/roct-thunk-interface/Manifest
+++ b/dev-libs/roct-thunk-interface/Manifest
@@ -1,4 +1,6 @@
-DIST roct-thunk-interface-4.0.0.tar.gz 2694100 BLAKE2B 49ca128902335fc36d44b9e71d444a467bdd0b39ce0b487c70f1f68180fb4b564b10a65e26e41b71d5e66721c3086ec834aee2550246172965f2d611ce9a644a SHA512 cbb45c4372ce2620fce6ccbf94e8e7600256d12acf6721da9d22aeb619cec9d4e4e25354649b83fb322f8d369347c251ebb7242ff8fc3976cc3983de0d8e30a9
-DIST roct-thunk-interface-4.1.0.tar.gz 2697077 BLAKE2B 6d5d35c57d73c7d23fe28f438421372c1dcd51b1bcbf8720dfc993ce56a4afb3cd2c5d14185f4424436db4ce6d1d48dd5f802d0fc24ea1dd78ceb5cff7604103 SHA512 adef8c6c8f375d6d402c1066859fdb45f1e938578011fa0008ad242e1365d3672c5cb02a50f98b6f2d760269b4ef46b33a77f237521b76afe42ac883c71ecd86
-DIST roct-thunk-interface-4.2.0.tar.gz 3162877 BLAKE2B 48196c2334a5514c17a5b6ca122f0beaf964040f1705bd60532e4379a01d8d6a9b462a7f74916d80841caa9d3a57d5b6e2fb030a9556a1305b879036f9bcec5f SHA512 007cd64e33bada7707f340bffddf6eb9531b0bd5227a5da522c0ff4f0e2efe4a113fc50bf52da19d58fef73008af70a352aad8b41387b327f2ba19b54ede9646
-DIST roct-thunk-interface-4.3.0.tar.gz 3177655 BLAKE2B e3746bb361731484acb5da8c48246fa9ce6cce46919bc771e2670bc4694e09147b51b65274cc58d690e06ce6781aca54d67508625d9ffc1e30f42dbd69adabd5 SHA512 c0515784696464feef906d6ef4446c9bddb77b5abe62e982a7d75331a8b7fb84e94f12ebeaf2e128be28ab8f903bf6894cbf2302aa5ddee23eaf9b2cc807c872
+DIST roct-thunk-interface-5.1.3.tar.gz 3178689 BLAKE2B c46af7bc60772beaa9a214a86a634290cfd7952589f70736c0c2544c0459eb4fdcc65030d897dbb67bfbaae545f529ac647397df3fcfeddeb5d5e05a283cfd6b SHA512 746a04e667ce242160d6e2519594fc93b205520dae28678859fbd40c3c641082aa6219c04c8e2b58289763a5244dd6336b56c2e2016ba671c5e5a6fb9ca5caea
+DIST roct-thunk-interface-5.3.3.tar.gz 646773 BLAKE2B 48632cad576ceccede0ee62663f226cbedba8374d8962028fd729a7b8e7eb75bebcb2f8ce06a838de15a388caea3d6dcb150db80f8d45a91675997b4f80625e6 SHA512 4a8730d16a0d240a43d5e22092325b0731d133733af0aac6c6893763d1ffb1a04a0c045d988835079581e097fc7c9e383f41ba84daa105c032d3a653b6b2c6b0
+DIST roct-thunk-interface-5.4.3.tar.gz 648897 BLAKE2B 9eefc5f417280a98c7c6b6d611d0d87fa52abca94f67bf5ecc10d84bb86433b5ff502f76aa6724245c7cf9d82b5c16c10943275e8d41f0053484765df5a901db SHA512 1787526515ec708edc398cdba308a8dfa32c2579524a6856a6f336cb7bfee8f9a00d67f1b489993c7454d1d88885032ce85ac752b4a15aaedef910f147aed3b5
+DIST roct-thunk-interface-5.5.1.tar.gz 649617 BLAKE2B 54ecae486e5d8b99363947a93b38bb80f6b129bbacc1b3152d58e44cf093e44254075cdc49f6d0f474a04c5e2a1f3945399a744892ac1e5c1fb3ff38fd02370c SHA512 359ce5c7d8fce1f6100aac236efd24d35ce8098732bf89225e7c07a4731452388b5213eda8767a8d7723afa2041033bbcb287dcb00e88a0df9494acf70f8ebaf
+DIST roct-thunk-interface-5.7.1.tar.gz 665529 BLAKE2B 407601d45976ad66e85999c53bcaa62fefa2ea823e1d3296a9aabe8b6a9c915776344de4499fcf6f9ee80193201308b27b387a7225aca5d2cc7e294143eefacd SHA512 c0dc449c8b713ac543f6cd6c876ea0f160dcb1a5c4a52a2b1364fcae0039e9fe195e4223a2644d7d3a7fbc2a48166e798d15b9088e2097b65974e2ba5e48bdcf
+DIST roct-thunk-interface-6.0.0.tar.gz 665726 BLAKE2B 634165c1dce2d4e2f635688ea54c0eb3dd0cf0a0ae84fbbf22f07f62675ad77daea168b16c73e7b4912a46b8507d414119310f31bf110475e27d4629209067d9 SHA512 136a512273823738a3a85330158099b33084018485c94cb20244d61b5f6932949d32eba1fe77512b0933f0269da2f5bcec4cef5b503dc810140a9c080cf65e0f
diff --git a/dev-libs/roct-thunk-interface/files/roct-thunk-interface-4.1.0-append-flags.patch b/dev-libs/roct-thunk-interface/files/roct-thunk-interface-4.1.0-append-flags.patch
deleted file mode 100644
index 2f5f1c674944..000000000000
--- a/dev-libs/roct-thunk-interface/files/roct-thunk-interface-4.1.0-append-flags.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index a3a4d99..0015b0f 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -99,17 +99,17 @@ set (HSAKMT_LINK_FLAGS "${HSAKMT_LINK_FLAGS} -Wl,--enable-new-dtags -Wl,--versio
- ## Address Sanitize Flag
- if ( ${ADDRESS_SANITIZER} )
- set ( HSAKMT_C_FLAGS "${HSAKMT_C_FLAGS}" -fsanitize=address )
-- set ( HSAKMT_LINK_FLAGS "${HSAKMT_LINK_FLAGS}" -fsanitize=address )
-+ set ( HSAKMT_LINK_FLAGS "${HSAKMT_LINK_FLAGS} -fsanitize=address ")
- if ( BUILD_SHARED_LIBS )
-- set ( HSAKMT_LINK_FLAGS "${HSAKMT_LINK_FLAGS}" -shared-libsan )
-+ set ( HSAKMT_LINK_FLAGS "${HSAKMT_LINK_FLAGS} -shared-libsan ")
- else ()
-- set ( HSAKMT_LINK_FLAGS "${HSAKMT_LINK_FLAGS}" -static-libsan )
-+ set ( HSAKMT_LINK_FLAGS "${HSAKMT_LINK_FLAGS} -static-libsan ")
- endif ()
- else ()
- if ( CMAKE_COMPILER_IS_GNUCC )
-- set ( HSAKMT_LINK_FLAGS "${HSAKMT_LINK_FLAGS}" -Wl,-no-undefined )
-+ set ( HSAKMT_LINK_FLAGS "${HSAKMT_LINK_FLAGS} -Wl,-no-undefined ")
- else ()
-- set ( HSAKMT_LINK_FLAGS "${HSAKMT_LINK_FLAGS}" -Wl,-undefined,error )
-+ set ( HSAKMT_LINK_FLAGS "${HSAKMT_LINK_FLAGS} -Wl,-undefined,error ")
- endif ()
- endif ()
-
diff --git a/dev-libs/roct-thunk-interface/files/roct-thunk-interface-5.7.0-functions.patch b/dev-libs/roct-thunk-interface/files/roct-thunk-interface-5.7.0-functions.patch
new file mode 100644
index 000000000000..051beeeb1b2e
--- /dev/null
+++ b/dev-libs/roct-thunk-interface/files/roct-thunk-interface-5.7.0-functions.patch
@@ -0,0 +1,14 @@
+diff --git a/src/libhsakmt.ver b/src/libhsakmt.ver
+index dc17215..964f3d0 100644
+--- a/src/libhsakmt.ver
++++ b/src/libhsakmt.ver
+@@ -75,6 +75,9 @@ hsaKmtSetXNACKMode;
+ hsaKmtGetXNACKMode;
+ hsaKmtOpenSMI;
+ hsaKmtExportDMABufHandle;
++hsaKmtWaitOnMultipleEvents_Ext;
++hsaKmtReplaceAsanHeaderPage;
++hsaKmtWaitOnEvent_Ext;
+
+ local: *;
+ };
diff --git a/dev-libs/roct-thunk-interface/files/roct-thunk-interface-5.7.1-musl.patch b/dev-libs/roct-thunk-interface/files/roct-thunk-interface-5.7.1-musl.patch
new file mode 100644
index 000000000000..8cd8a5ff2ee1
--- /dev/null
+++ b/dev-libs/roct-thunk-interface/files/roct-thunk-interface-5.7.1-musl.patch
@@ -0,0 +1,61 @@
+Upstream PR: https://github.com/ROCm/ROCT-Thunk-Interface/pull/96
+Bug: https://github.com/ROCm/ROCT-Thunk-Interface/issues/65
+--- a/src/globals.c
++++ b/src/globals.c
+@@ -32,5 +32,9 @@ unsigned long kfd_open_count;
+ unsigned long system_properties_count;
+ pthread_mutex_t hsakmt_mutex = PTHREAD_MUTEX_INITIALIZER;
+ bool is_dgpu;
++
++#ifndef PAGE_SIZE
+ int PAGE_SIZE;
++#endif
++
+ int PAGE_SHIFT;
+--- a/src/libhsakmt.h
++++ b/src/libhsakmt.h
+@@ -62,7 +62,11 @@ extern HsaVersionInfo kfd_version_info;
+ do { if ((minor) > kfd_version_info.KernelInterfaceMinorVersion)\
+ return HSAKMT_STATUS_NOT_SUPPORTED; } while (0)
+
++/* Might be defined in limits.h on platforms where it is constant (used by musl) */
++/* See also: https://pubs.opengroup.org/onlinepubs/7908799/xsh/limits.h.html */
++#ifndef PAGE_SIZE
+ extern int PAGE_SIZE;
++#endif
+ extern int PAGE_SHIFT;
+
+ /* VI HW bug requires this virtual address alignment */
+--- a/src/openclose.c
++++ b/src/openclose.c
+@@ -116,7 +116,9 @@ static void clear_after_fork(void)
+
+ static inline void init_page_size(void)
+ {
++#ifndef PAGE_SIZE
+ PAGE_SIZE = sysconf(_SC_PAGESIZE);
++#endif
+ PAGE_SHIFT = ffs(PAGE_SIZE) - 1;
+ }
+
+--- a/src/topology.c
++++ b/src/topology.c
+@@ -32,6 +32,7 @@
+ #include <string.h>
+ #include <unistd.h>
+ #include <ctype.h>
++#include <limits.h>
+
+ #include <errno.h>
+ #include <sys/sysinfo.h>
+@@ -1369,6 +1370,10 @@ static int topology_create_temp_cpu_cache_list(int node,
+ * which can be present twice in the string above. 29 is for the prefix
+ * and the +6 is for the cache suffix
+ */
++#ifndef MAXNAMLEN
++/* MAXNAMLEN is the BSD name for NAME_MAX. glibc aliases this as NAME_MAX, but not musl */
++#define MAXNAMLEN NAME_MAX
++#endif
+ const uint32_t MAXPATHSIZE = 29 + MAXNAMLEN + (MAXNAMLEN + 6);
+ cpu_cacheinfo_t *p_temp_cpu_ci_list; /* a list of cpu_ci */
+ char path[MAXPATHSIZE], node_dir[MAXPATHSIZE];
diff --git a/dev-libs/roct-thunk-interface/files/roct-thunk-interface-6.0.0-functions.patch b/dev-libs/roct-thunk-interface/files/roct-thunk-interface-6.0.0-functions.patch
new file mode 100644
index 000000000000..cbea737c4b4c
--- /dev/null
+++ b/dev-libs/roct-thunk-interface/files/roct-thunk-interface-6.0.0-functions.patch
@@ -0,0 +1,12 @@
+diff --git a/src/libhsakmt.ver b/src/libhsakmt.ver
+index 15c2916..c04cefe 100644
+--- a/src/libhsakmt.ver
++++ b/src/libhsakmt.ver
+@@ -81,6 +81,7 @@ hsaKmtWaitOnEvent_Ext;
+ hsaKmtWaitOnMultipleEvents_Ext;
+ hsaKmtReplaceAsanHeaderPage;
+ hsaKmtReturnAsanHeaderPage;
++hsaKmtGetAMDGPUDeviceHandle;
+
+ local: *;
+ };
diff --git a/dev-libs/roct-thunk-interface/roct-thunk-interface-4.0.0.ebuild b/dev-libs/roct-thunk-interface/roct-thunk-interface-4.0.0.ebuild
deleted file mode 100644
index 3cbf10ed4cd6..000000000000
--- a/dev-libs/roct-thunk-interface/roct-thunk-interface-4.0.0.ebuild
+++ /dev/null
@@ -1,35 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit cmake linux-info
-
-if [[ ${PV} == *9999 ]] ; then
- EGIT_REPO_URI="https://github.com/RadeonOpenCompute/ROCT-Thunk-Interface/"
- inherit git-r3
-else
- SRC_URI="https://github.com/RadeonOpenCompute/ROCT-Thunk-Interface/archive/rocm-${PV}.tar.gz -> ${P}.tar.gz"
- S="${WORKDIR}/ROCT-Thunk-Interface-rocm-${PV}"
- KEYWORDS="~amd64"
-fi
-
-DESCRIPTION="Radeon Open Compute Thunk Interface"
-HOMEPAGE="https://github.com/RadeonOpenCompute/ROCT-Thunk-Interface"
-CONFIG_CHECK="~HSA_AMD ~HMM_MIRROR ~ZONE_DEVICE ~DRM_AMDGPU ~DRM_AMDGPU_USERPTR"
-LICENSE="MIT"
-SLOT="0/$(ver_cut 1-2)"
-
-RDEPEND="sys-process/numactl"
-DEPEND="${RDEPEND}"
-
-src_prepare() {
- sed -e "s:get_version ( \"1.0.0\" ):get_version ( \"${PV}\" ):" -i CMakeLists.txt || die
- cmake_src_prepare
-}
-src_configure() {
- local mycmakeargs=(
- -DCPACK_PACKAGING_INSTALL_PREFIX="${EPREFIX}/usr"
- )
- cmake_src_configure
-}
diff --git a/dev-libs/roct-thunk-interface/roct-thunk-interface-4.1.0.ebuild b/dev-libs/roct-thunk-interface/roct-thunk-interface-4.1.0.ebuild
deleted file mode 100644
index 16e23a2d974c..000000000000
--- a/dev-libs/roct-thunk-interface/roct-thunk-interface-4.1.0.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
-
-inherit cmake linux-info
-
-if [[ ${PV} == *9999 ]] ; then
- EGIT_REPO_URI="https://github.com/RadeonOpenCompute/ROCT-Thunk-Interface/"
- inherit git-r3
-else
- SRC_URI="https://github.com/RadeonOpenCompute/ROCT-Thunk-Interface/archive/rocm-${PV}.tar.gz -> ${P}.tar.gz"
- S="${WORKDIR}/ROCT-Thunk-Interface-rocm-${PV}"
- KEYWORDS="~amd64"
-fi
-
-DESCRIPTION="Radeon Open Compute Thunk Interface"
-HOMEPAGE="https://github.com/RadeonOpenCompute/ROCT-Thunk-Interface"
-CONFIG_CHECK="~HSA_AMD ~HMM_MIRROR ~ZONE_DEVICE ~DRM_AMDGPU ~DRM_AMDGPU_USERPTR"
-LICENSE="MIT"
-SLOT="0/$(ver_cut 1-2)"
-
-RDEPEND="sys-process/numactl"
-DEPEND="${RDEPEND}"
-
-PATCHES=(
- "${FILESDIR}/roct-thunk-interface-4.1.0-append-flags.patch"
-)
-
-src_prepare() {
- sed -e "s:get_version ( \"1.0.0\" ):get_version ( \"${PV}\" ):" -i CMakeLists.txt || die
- cmake_src_prepare
-}
-src_configure() {
- local mycmakeargs=(
- -DCPACK_PACKAGING_INSTALL_PREFIX="${EPREFIX}/usr"
- )
- cmake_src_configure
-}
diff --git a/dev-libs/roct-thunk-interface/roct-thunk-interface-4.2.0.ebuild b/dev-libs/roct-thunk-interface/roct-thunk-interface-4.2.0.ebuild
deleted file mode 100644
index 16e23a2d974c..000000000000
--- a/dev-libs/roct-thunk-interface/roct-thunk-interface-4.2.0.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
-
-inherit cmake linux-info
-
-if [[ ${PV} == *9999 ]] ; then
- EGIT_REPO_URI="https://github.com/RadeonOpenCompute/ROCT-Thunk-Interface/"
- inherit git-r3
-else
- SRC_URI="https://github.com/RadeonOpenCompute/ROCT-Thunk-Interface/archive/rocm-${PV}.tar.gz -> ${P}.tar.gz"
- S="${WORKDIR}/ROCT-Thunk-Interface-rocm-${PV}"
- KEYWORDS="~amd64"
-fi
-
-DESCRIPTION="Radeon Open Compute Thunk Interface"
-HOMEPAGE="https://github.com/RadeonOpenCompute/ROCT-Thunk-Interface"
-CONFIG_CHECK="~HSA_AMD ~HMM_MIRROR ~ZONE_DEVICE ~DRM_AMDGPU ~DRM_AMDGPU_USERPTR"
-LICENSE="MIT"
-SLOT="0/$(ver_cut 1-2)"
-
-RDEPEND="sys-process/numactl"
-DEPEND="${RDEPEND}"
-
-PATCHES=(
- "${FILESDIR}/roct-thunk-interface-4.1.0-append-flags.patch"
-)
-
-src_prepare() {
- sed -e "s:get_version ( \"1.0.0\" ):get_version ( \"${PV}\" ):" -i CMakeLists.txt || die
- cmake_src_prepare
-}
-src_configure() {
- local mycmakeargs=(
- -DCPACK_PACKAGING_INSTALL_PREFIX="${EPREFIX}/usr"
- )
- cmake_src_configure
-}
diff --git a/dev-libs/roct-thunk-interface/roct-thunk-interface-4.3.0.ebuild b/dev-libs/roct-thunk-interface/roct-thunk-interface-4.3.0.ebuild
deleted file mode 100644
index 3cbf10ed4cd6..000000000000
--- a/dev-libs/roct-thunk-interface/roct-thunk-interface-4.3.0.ebuild
+++ /dev/null
@@ -1,35 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit cmake linux-info
-
-if [[ ${PV} == *9999 ]] ; then
- EGIT_REPO_URI="https://github.com/RadeonOpenCompute/ROCT-Thunk-Interface/"
- inherit git-r3
-else
- SRC_URI="https://github.com/RadeonOpenCompute/ROCT-Thunk-Interface/archive/rocm-${PV}.tar.gz -> ${P}.tar.gz"
- S="${WORKDIR}/ROCT-Thunk-Interface-rocm-${PV}"
- KEYWORDS="~amd64"
-fi
-
-DESCRIPTION="Radeon Open Compute Thunk Interface"
-HOMEPAGE="https://github.com/RadeonOpenCompute/ROCT-Thunk-Interface"
-CONFIG_CHECK="~HSA_AMD ~HMM_MIRROR ~ZONE_DEVICE ~DRM_AMDGPU ~DRM_AMDGPU_USERPTR"
-LICENSE="MIT"
-SLOT="0/$(ver_cut 1-2)"
-
-RDEPEND="sys-process/numactl"
-DEPEND="${RDEPEND}"
-
-src_prepare() {
- sed -e "s:get_version ( \"1.0.0\" ):get_version ( \"${PV}\" ):" -i CMakeLists.txt || die
- cmake_src_prepare
-}
-src_configure() {
- local mycmakeargs=(
- -DCPACK_PACKAGING_INSTALL_PREFIX="${EPREFIX}/usr"
- )
- cmake_src_configure
-}
diff --git a/dev-libs/roct-thunk-interface/roct-thunk-interface-5.1.3.ebuild b/dev-libs/roct-thunk-interface/roct-thunk-interface-5.1.3.ebuild
new file mode 100644
index 000000000000..d0cf376f0b8d
--- /dev/null
+++ b/dev-libs/roct-thunk-interface/roct-thunk-interface-5.1.3.ebuild
@@ -0,0 +1,40 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake linux-info
+
+if [[ ${PV} == *9999 ]] ; then
+ EGIT_REPO_URI="https://github.com/RadeonOpenCompute/ROCT-Thunk-Interface/"
+ inherit git-r3
+else
+ SRC_URI="https://github.com/RadeonOpenCompute/ROCT-Thunk-Interface/archive/rocm-${PV}.tar.gz -> ${P}.tar.gz"
+ S="${WORKDIR}/ROCT-Thunk-Interface-rocm-${PV}"
+ KEYWORDS="~amd64"
+fi
+
+DESCRIPTION="Radeon Open Compute Thunk Interface"
+HOMEPAGE="https://github.com/RadeonOpenCompute/ROCT-Thunk-Interface"
+CONFIG_CHECK="~HSA_AMD ~HMM_MIRROR ~ZONE_DEVICE ~DRM_AMDGPU ~DRM_AMDGPU_USERPTR"
+LICENSE="MIT"
+SLOT="0/$(ver_cut 1-2)"
+
+RDEPEND="sys-process/numactl"
+DEPEND="${RDEPEND}"
+BDEPEND="x11-libs/libdrm[video_cards_amdgpu]"
+
+CMAKE_BUILD_TYPE=Release
+
+src_prepare() {
+ sed -e "s:get_version ( \"1.0.0\" ):get_version ( \"${PV}\" ):" -i CMakeLists.txt || die
+ sed -e "s:ubuntu:gentoo:" -i CMakeLists.txt || die
+ cmake_src_prepare
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DCPACK_PACKAGING_INSTALL_PREFIX="${EPREFIX}/usr"
+ )
+ cmake_src_configure
+}
diff --git a/dev-libs/roct-thunk-interface/roct-thunk-interface-5.3.3.ebuild b/dev-libs/roct-thunk-interface/roct-thunk-interface-5.3.3.ebuild
new file mode 100644
index 000000000000..d0cf376f0b8d
--- /dev/null
+++ b/dev-libs/roct-thunk-interface/roct-thunk-interface-5.3.3.ebuild
@@ -0,0 +1,40 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake linux-info
+
+if [[ ${PV} == *9999 ]] ; then
+ EGIT_REPO_URI="https://github.com/RadeonOpenCompute/ROCT-Thunk-Interface/"
+ inherit git-r3
+else
+ SRC_URI="https://github.com/RadeonOpenCompute/ROCT-Thunk-Interface/archive/rocm-${PV}.tar.gz -> ${P}.tar.gz"
+ S="${WORKDIR}/ROCT-Thunk-Interface-rocm-${PV}"
+ KEYWORDS="~amd64"
+fi
+
+DESCRIPTION="Radeon Open Compute Thunk Interface"
+HOMEPAGE="https://github.com/RadeonOpenCompute/ROCT-Thunk-Interface"
+CONFIG_CHECK="~HSA_AMD ~HMM_MIRROR ~ZONE_DEVICE ~DRM_AMDGPU ~DRM_AMDGPU_USERPTR"
+LICENSE="MIT"
+SLOT="0/$(ver_cut 1-2)"
+
+RDEPEND="sys-process/numactl"
+DEPEND="${RDEPEND}"
+BDEPEND="x11-libs/libdrm[video_cards_amdgpu]"
+
+CMAKE_BUILD_TYPE=Release
+
+src_prepare() {
+ sed -e "s:get_version ( \"1.0.0\" ):get_version ( \"${PV}\" ):" -i CMakeLists.txt || die
+ sed -e "s:ubuntu:gentoo:" -i CMakeLists.txt || die
+ cmake_src_prepare
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DCPACK_PACKAGING_INSTALL_PREFIX="${EPREFIX}/usr"
+ )
+ cmake_src_configure
+}
diff --git a/dev-libs/roct-thunk-interface/roct-thunk-interface-5.4.3.ebuild b/dev-libs/roct-thunk-interface/roct-thunk-interface-5.4.3.ebuild
new file mode 100644
index 000000000000..3f391bf5d5e0
--- /dev/null
+++ b/dev-libs/roct-thunk-interface/roct-thunk-interface-5.4.3.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 linux-info
+
+if [[ ${PV} == *9999 ]] ; then
+ EGIT_REPO_URI="https://github.com/RadeonOpenCompute/ROCT-Thunk-Interface/"
+ inherit git-r3
+else
+ SRC_URI="https://github.com/RadeonOpenCompute/ROCT-Thunk-Interface/archive/rocm-${PV}.tar.gz -> ${P}.tar.gz"
+ S="${WORKDIR}/ROCT-Thunk-Interface-rocm-${PV}"
+ KEYWORDS="~amd64"
+fi
+
+DESCRIPTION="Radeon Open Compute Thunk Interface"
+HOMEPAGE="https://github.com/RadeonOpenCompute/ROCT-Thunk-Interface"
+CONFIG_CHECK="~HSA_AMD ~HMM_MIRROR ~ZONE_DEVICE ~DRM_AMDGPU ~DRM_AMDGPU_USERPTR"
+LICENSE="MIT"
+SLOT="0/$(ver_cut 1-2)"
+
+RDEPEND="sys-process/numactl"
+DEPEND="${RDEPEND}"
+BDEPEND="x11-libs/libdrm[video_cards_amdgpu]"
+
+CMAKE_BUILD_TYPE=Release
+
+src_prepare() {
+ sed -e "s:get_version ( \"1.0.0\" ):get_version ( \"${PV}\" ):" -i CMakeLists.txt || die
+ sed -e "s:ubuntu:gentoo:" -i CMakeLists.txt || die
+ cmake_src_prepare
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DCPACK_PACKAGING_INSTALL_PREFIX="${EPREFIX}/usr"
+ )
+ cmake_src_configure
+}
diff --git a/dev-libs/roct-thunk-interface/roct-thunk-interface-5.5.1.ebuild b/dev-libs/roct-thunk-interface/roct-thunk-interface-5.5.1.ebuild
new file mode 100644
index 000000000000..4762213b5164
--- /dev/null
+++ b/dev-libs/roct-thunk-interface/roct-thunk-interface-5.5.1.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 linux-info
+
+if [[ ${PV} == *9999 ]] ; then
+ EGIT_REPO_URI="https://github.com/RadeonOpenCompute/ROCT-Thunk-Interface/"
+ inherit git-r3
+else
+ SRC_URI="https://github.com/RadeonOpenCompute/ROCT-Thunk-Interface/archive/rocm-${PV}.tar.gz -> ${P}.tar.gz"
+ S="${WORKDIR}/ROCT-Thunk-Interface-rocm-${PV}"
+ KEYWORDS="~amd64"
+fi
+
+DESCRIPTION="Radeon Open Compute Thunk Interface"
+HOMEPAGE="https://github.com/RadeonOpenCompute/ROCT-Thunk-Interface"
+CONFIG_CHECK="~HSA_AMD ~HMM_MIRROR ~ZONE_DEVICE ~DRM_AMDGPU ~DRM_AMDGPU_USERPTR"
+LICENSE="MIT"
+SLOT="0/$(ver_cut 1-2)"
+
+RDEPEND="sys-process/numactl"
+DEPEND="${RDEPEND}"
+BDEPEND="x11-libs/libdrm[video_cards_amdgpu]"
+
+CMAKE_BUILD_TYPE=Release
+
+src_prepare() {
+ sed -e "s:get_version ( \"1.0.0\" ):get_version ( \"${PV}\" ):" -i CMakeLists.txt || die
+ cmake_src_prepare
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DCPACK_PACKAGING_INSTALL_PREFIX="${EPREFIX}/usr"
+ )
+ cmake_src_configure
+}
diff --git a/dev-libs/roct-thunk-interface/roct-thunk-interface-5.7.1-r1.ebuild b/dev-libs/roct-thunk-interface/roct-thunk-interface-5.7.1-r1.ebuild
new file mode 100644
index 000000000000..7e394b72543b
--- /dev/null
+++ b/dev-libs/roct-thunk-interface/roct-thunk-interface-5.7.1-r1.ebuild
@@ -0,0 +1,44 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake linux-info
+
+if [[ ${PV} == *9999 ]] ; then
+ EGIT_REPO_URI="https://github.com/RadeonOpenCompute/ROCT-Thunk-Interface/"
+ inherit git-r3
+else
+ SRC_URI="https://github.com/RadeonOpenCompute/ROCT-Thunk-Interface/archive/rocm-${PV}.tar.gz -> ${P}.tar.gz"
+ S="${WORKDIR}/ROCT-Thunk-Interface-rocm-${PV}"
+ KEYWORDS="~amd64"
+fi
+
+DESCRIPTION="Radeon Open Compute Thunk Interface"
+HOMEPAGE="https://github.com/RadeonOpenCompute/ROCT-Thunk-Interface"
+CONFIG_CHECK="~HSA_AMD ~HMM_MIRROR ~ZONE_DEVICE ~DRM_AMDGPU ~DRM_AMDGPU_USERPTR"
+LICENSE="MIT"
+SLOT="0/$(ver_cut 1-2)"
+
+RDEPEND="sys-process/numactl"
+DEPEND="${RDEPEND}"
+BDEPEND="x11-libs/libdrm[video_cards_amdgpu]"
+
+CMAKE_BUILD_TYPE=Release
+
+PATCHES=(
+ "${FILESDIR}/${PN}-5.7.0-functions.patch"
+ "${FILESDIR}/${PN}-5.7.1-musl.patch"
+)
+
+src_prepare() {
+ sed -e "s:get_version ( \"1.0.0\" ):get_version ( \"${PV}\" ):" -i CMakeLists.txt || die
+ cmake_src_prepare
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DCPACK_PACKAGING_INSTALL_PREFIX="${EPREFIX}/usr"
+ )
+ cmake_src_configure
+}
diff --git a/dev-libs/roct-thunk-interface/roct-thunk-interface-6.0.0-r1.ebuild b/dev-libs/roct-thunk-interface/roct-thunk-interface-6.0.0-r1.ebuild
new file mode 100644
index 000000000000..eb0384989522
--- /dev/null
+++ b/dev-libs/roct-thunk-interface/roct-thunk-interface-6.0.0-r1.ebuild
@@ -0,0 +1,44 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake linux-info
+
+if [[ ${PV} == *9999 ]] ; then
+ EGIT_REPO_URI="https://github.com/RadeonOpenCompute/ROCT-Thunk-Interface/"
+ inherit git-r3
+else
+ SRC_URI="https://github.com/RadeonOpenCompute/ROCT-Thunk-Interface/archive/rocm-${PV}.tar.gz -> ${P}.tar.gz"
+ S="${WORKDIR}/ROCT-Thunk-Interface-rocm-${PV}"
+ KEYWORDS="~amd64"
+fi
+
+DESCRIPTION="Radeon Open Compute Thunk Interface"
+HOMEPAGE="https://github.com/RadeonOpenCompute/ROCT-Thunk-Interface"
+CONFIG_CHECK="~HSA_AMD ~HMM_MIRROR ~ZONE_DEVICE ~DRM_AMDGPU ~DRM_AMDGPU_USERPTR"
+LICENSE="MIT"
+SLOT="0/$(ver_cut 1-2)"
+
+RDEPEND="sys-process/numactl"
+DEPEND="${RDEPEND}"
+BDEPEND="x11-libs/libdrm[video_cards_amdgpu]"
+
+CMAKE_BUILD_TYPE=Release
+
+PATCHES=(
+ "${FILESDIR}/${PN}-6.0.0-functions.patch"
+ "${FILESDIR}/${PN}-5.7.1-musl.patch"
+)
+
+src_prepare() {
+ sed -e "s:get_version ( \"1.0.0\" ):get_version ( \"${PV}\" ):" -i CMakeLists.txt || die
+ cmake_src_prepare
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DCPACK_PACKAGING_INSTALL_PREFIX="${EPREFIX}/usr"
+ )
+ cmake_src_configure
+}
diff --git a/dev-libs/roct-thunk-interface/roct-thunk-interface-9999.ebuild b/dev-libs/roct-thunk-interface/roct-thunk-interface-9999.ebuild
deleted file mode 100644
index ee5be506ed83..000000000000
--- a/dev-libs/roct-thunk-interface/roct-thunk-interface-9999.ebuild
+++ /dev/null
@@ -1,35 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit cmake linux-info
-
-if [[ ${PV} == *9999 ]] ; then
- EGIT_REPO_URI="https://github.com/RadeonOpenCompute/ROCT-Thunk-Interface/"
- inherit git-r3
-else
- SRC_URI="https://github.com/RadeonOpenCompute/ROCT-Thunk-Interface/archive/rocm-${PV}.tar.gz -> ${P}.tar.gz"
- S="${WORKDIR}/ROCT-Thunk-Interface-rocm-${PV}"
- KEYWORDS="~amd64"
-fi
-
-DESCRIPTION="Radeon Open Compute Thunk Interface"
-HOMEPAGE="https://github.com/RadeonOpenCompute/ROCT-Thunk-Interface"
-CONFIG_CHECK="~HSA_AMD ~HMM_MIRROR ~ZONE_DEVICE ~DRM_AMDGPU ~DRM_AMDGPU_USERPTR"
-LICENSE="MIT"
-SLOT="0/$(ver_cut 1-2)"
-
-RDEPEND="sys-process/numactl"
-DEPEND="${RDEPEND}"
-
-src_prepare() {
- sed -e "s:get_version ( \"1.0.0\" ):get_version ( \"${PV}\" ):" -i CMakeLists.txt || die
- cmake_src_prepare
-}
-src_configure() {
- local mycmakeargs=(
- -DCPACK_PACKAGING_INSTALL_PREFIX="${EPREFIX}/usr"
- )
- cmake_src_configure
-}
diff --git a/dev-libs/s2n/Manifest b/dev-libs/s2n/Manifest
index 6527ab4efec5..53a015784dda 100644
--- a/dev-libs/s2n/Manifest
+++ b/dev-libs/s2n/Manifest
@@ -1,2 +1 @@
-DIST s2n-0.10.21.tar.gz 6150129 BLAKE2B cf598ef02b4aa9a2a69f11a47b2a691055575b7398ba0a833081da704ebc7564d30abda5f2ad9ff9858ec2f553b1f332e913494b9e195e2a754f008bab5c11d2 SHA512 26957edf36af088af2cb355dad9281fefd9d54ce8c3c2c26f5682aee8d64338a3677aa81f3a07563b27a938cad2c57e0a86a478c9619cc93552674451d501909
DIST s2n-1.0.0.tar.gz 6211951 BLAKE2B 3714f26ab0dbd53b878c73e0ae0abf9e8a4b85b16a62dd44a3e6264fba1afdfdd7bbffc3b38b494c5cc805b8a9dfe02009d109e308ff13b4752a56594299f374 SHA512 ab5ccc3e73e7f395ef86a5e637b9c2d18110c14b2913990d12e02286f6562497f7e9d45912e9076216e5f595d7932d58a31642e344a5e472259386983ad44bac
diff --git a/dev-libs/s2n/metadata.xml b/dev-libs/s2n/metadata.xml
index ff907dea8127..2d66499958c7 100644
--- a/dev-libs/s2n/metadata.xml
+++ b/dev-libs/s2n/metadata.xml
@@ -9,6 +9,9 @@
<email>proxy-maint@gentoo.org</email>
<name>Proxy Maintainers</name>
</maintainer>
+ <upstream>
+ <remote-id type="github">aws/s2n-tls</remote-id>
+ </upstream>
<longdescription>
s2n is a C99 implementation of the TLS/SSL protocols that is designed to be simple, small, fast, and with security as a
priority. It is released and licensed under the Apache License 2.0.
diff --git a/dev-libs/s2n/s2n-0.10.21-r1.ebuild b/dev-libs/s2n/s2n-0.10.21-r1.ebuild
deleted file mode 100644
index 90d26fa86c8c..000000000000
--- a/dev-libs/s2n/s2n-0.10.21-r1.ebuild
+++ /dev/null
@@ -1,53 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit cmake
-
-DESCRIPTION="simple, small, fast and secure C99 implementation of the TLS/SSL protocols"
-HOMEPAGE="https://github.com/awslabs/s2n"
-SRC_URI="https://github.com/awslabs/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE="static-libs test"
-
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- dev-libs/openssl:0=[static-libs=]
-"
-DEPEND="${RDEPEND}"
-
-PATCHES=(
- "${FILESDIR}"/${P}-remove_Werror.patch
-)
-
-src_prepare() {
- cmake_src_prepare
-
- # Fix
- # QA Notice: The following files contain writable and executable sections (...)
- sed \
- -e '$a\\n#if defined(__linux__) && defined(__ELF__)\n.section .note.GNU-stack,"",%progbits\n#endif' \
- -i "${S}"/pq-crypto/sike_r2/fp_x64_asm.S || die "sed failed"
-
- # Fix shared library building, needed for USE="test"
- # See: https://github.com/awslabs/s2n/issues/2401
- if use test; then
- sed -i -e 's, -fvisibility=hidden,,' "${S}"/CMakeLists.txt || die "sed failed"
- # Remove s2n_self_talk_nonblocking_test, it is broken.
- # See: https://github.com/awslabs/s2n/issues/2051#issuecomment-744543724
- rm "${S}"/tests/unit/s2n_self_talk_nonblocking_test.c
- fi
-}
-
-src_configure() {
- local mycmakeargs=(
- -DBUILD_SHARED_LIBS=$(usex !static-libs)
- -DBUILD_TESTING=$(usex test)
- )
- cmake_src_configure
-}
diff --git a/dev-libs/satyr/Manifest b/dev-libs/satyr/Manifest
deleted file mode 100644
index 9969e66ff3ef..000000000000
--- a/dev-libs/satyr/Manifest
+++ /dev/null
@@ -1,2 +0,0 @@
-DIST satyr-0.38.tar.gz 433626 BLAKE2B 682d28a932758353e986d2906baf294183756d60a063ce03ba79506b58c92e4fc039c2246c0d43910f6d27d62dd674ffd3b772eeb6e8de46d8080735754b3d3a SHA512 09168050ca7bae00fb3d39f23f8c1e0adcf9cc4d3e491aa002bf9a0a7a265df980d12e430ea7f3eaa9010e0432821b106db5ce3b1e8d935d78b1e56d37110051
-DIST satyr-0.39.tar.gz 434581 BLAKE2B 7b4e11d8027877aa3b9e8144f8917f03b489b157c1112794a3c2bea9998a4367a7ec06cdec6c144fd96ecdabc83a85c5fb2644df02d59086ea3a113b1402fabe SHA512 f6d24ae054867ccdbb2dabdd63c6b351f7eec9ffe5426bdeffa86d585a52d13b07dd31e26b7d14e4850a1fdca748b0d5e23bb51fbc2843af79bf306f09d3145f
diff --git a/dev-libs/satyr/metadata.xml b/dev-libs/satyr/metadata.xml
deleted file mode 100644
index 424492050f4c..000000000000
--- a/dev-libs/satyr/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="person">
- <email>pacho@gentoo.org</email>
- <name>Pacho Ramos</name>
-</maintainer>
-</pkgmetadata>
diff --git a/dev-libs/satyr/satyr-0.38.ebuild b/dev-libs/satyr/satyr-0.38.ebuild
deleted file mode 100644
index 754906da9469..000000000000
--- a/dev-libs/satyr/satyr-0.38.ebuild
+++ /dev/null
@@ -1,101 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-PYTHON_COMPAT=( python3_{7..10} )
-
-inherit autotools multiprocessing python-r1
-
-DESCRIPTION="Satyr is a collection of low-level algorithms for program failure processing"
-HOMEPAGE="https://github.com/abrt/satyr"
-SRC_URI="https://github.com/abrt/${PN}/archive/${PV}/${P}.tar.gz"
-
-LICENSE="GPL-2+"
-SLOT="0/4"
-
-IUSE="python"
-REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
-
-KEYWORDS="~amd64 ~x86"
-
-RDEPEND="
- python? ( ${PYTHON_DEPS} )
- >=dev-libs/elfutils-0.158
- dev-libs/glib:2
- dev-libs/json-c:=
- dev-libs/nettle:=
-"
-DEPEND="${RDEPEND}"
-BDEPEND="
- virtual/pkgconfig
- dev-util/gperf
-"
-
-src_prepare() {
- default
- ./gen-version || die # Needs to be run before full autoreconf
- eautoreconf
- use python && python_copy_sources
-}
-
-src_configure() {
- use python && python_setup
-
- local myargs=(
- --localstatedir="${EPREFIX}/var"
- --without-rpm
- $(usex python "--with-python3" "--without-python3")
- )
-
- if use python; then
- python_configure() {
- econf "${myargs[@]}"
- }
- python_foreach_impl run_in_build_dir python_configure
- else
- econf "${myargs[@]}"
- fi
-}
-
-src_compile() {
- if use python; then
- python_foreach_impl run_in_build_dir default
- else
- default
- fi
-
-}
-
-src_test() {
- local extra_args
-
- # In order to pass --jobs to the test runner
- run_tests() {
- cd tests || die
- emake testsuite
- ./testsuite --jobs=$(makeopts_jobs) ${extra_args[@]} $@
-
- # Only run the python bindings tests for other python impls
- extra_args=('-k' 'python3_bindings.*')
- }
-
- if use python; then
- python_foreach_impl run_in_build_dir run_tests
- else
- run_tests SKIP_PYTHON3=yes
- fi
-}
-
-src_install() {
- if use python; then
- python_install() {
- default
- python_optimize
- }
- python_foreach_impl run_in_build_dir python_install
- else
- default
- fi
-
- find "${D}" -name '*.la' -type f -delete || die
-}
diff --git a/dev-libs/satyr/satyr-0.39.ebuild b/dev-libs/satyr/satyr-0.39.ebuild
deleted file mode 100644
index 754906da9469..000000000000
--- a/dev-libs/satyr/satyr-0.39.ebuild
+++ /dev/null
@@ -1,101 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-PYTHON_COMPAT=( python3_{7..10} )
-
-inherit autotools multiprocessing python-r1
-
-DESCRIPTION="Satyr is a collection of low-level algorithms for program failure processing"
-HOMEPAGE="https://github.com/abrt/satyr"
-SRC_URI="https://github.com/abrt/${PN}/archive/${PV}/${P}.tar.gz"
-
-LICENSE="GPL-2+"
-SLOT="0/4"
-
-IUSE="python"
-REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
-
-KEYWORDS="~amd64 ~x86"
-
-RDEPEND="
- python? ( ${PYTHON_DEPS} )
- >=dev-libs/elfutils-0.158
- dev-libs/glib:2
- dev-libs/json-c:=
- dev-libs/nettle:=
-"
-DEPEND="${RDEPEND}"
-BDEPEND="
- virtual/pkgconfig
- dev-util/gperf
-"
-
-src_prepare() {
- default
- ./gen-version || die # Needs to be run before full autoreconf
- eautoreconf
- use python && python_copy_sources
-}
-
-src_configure() {
- use python && python_setup
-
- local myargs=(
- --localstatedir="${EPREFIX}/var"
- --without-rpm
- $(usex python "--with-python3" "--without-python3")
- )
-
- if use python; then
- python_configure() {
- econf "${myargs[@]}"
- }
- python_foreach_impl run_in_build_dir python_configure
- else
- econf "${myargs[@]}"
- fi
-}
-
-src_compile() {
- if use python; then
- python_foreach_impl run_in_build_dir default
- else
- default
- fi
-
-}
-
-src_test() {
- local extra_args
-
- # In order to pass --jobs to the test runner
- run_tests() {
- cd tests || die
- emake testsuite
- ./testsuite --jobs=$(makeopts_jobs) ${extra_args[@]} $@
-
- # Only run the python bindings tests for other python impls
- extra_args=('-k' 'python3_bindings.*')
- }
-
- if use python; then
- python_foreach_impl run_in_build_dir run_tests
- else
- run_tests SKIP_PYTHON3=yes
- fi
-}
-
-src_install() {
- if use python; then
- python_install() {
- default
- python_optimize
- }
- python_foreach_impl run_in_build_dir python_install
- else
- default
- fi
-
- find "${D}" -name '*.la' -type f -delete || die
-}
diff --git a/dev-libs/sdformat/Manifest b/dev-libs/sdformat/Manifest
index ecf8c86634a7..71aaabc4de25 100644
--- a/dev-libs/sdformat/Manifest
+++ b/dev-libs/sdformat/Manifest
@@ -1,4 +1 @@
-DIST sdformat-9.2.0.tar.bz2 644484 BLAKE2B 2f6382414bd7d47bfafb66c8352e5a90cd236bdfcfc7c3119eab154b8d0bb5fddf2127b16e222bb90326dbf91f95b111643eede17ebe38f27bb164cf31d7f263 SHA512 bc9422207f56d7fd5f53249f856be5fe00f078e168d7e93ab10f5544e4963888cb7c0a1b1f449739e2490b0d5aad3c5a72d8408333dd6ae550b5d66f6bcde42a
-DIST sdformat-9.3.0.tar.bz2 648239 BLAKE2B 3dfedbcb7b52d3c9384f7a4b119b3e664b9e6bd6bd93bc5ad7a5db4228474bd3e6f8d98d1fd761f49386175e45b7083b57cee02cf4a930e19ba8ef78187af71b SHA512 16ff7643baf5738a1a833f1484c79566960c9093c4a3842ae82a14faca14feef34e7293fbc78c0fea78e8a1b1b9710414587ca5260c17562759df245d458b942
-DIST sdformat-9.5.0.tar.bz2 651125 BLAKE2B 08ca0e9df9620345905e5307b555fd72c106a59090b7d2fd8fb9cc32198d07fa31fa64e60a25dc47844ebc279bb6e3ad78e457e6ba563158404a3198222d08e9 SHA512 b96797df2a7f43b4d426673fad7dbc0a5e20a846a66d804c7c3eb01ec008b52f8bc119ae1e6062a4a748240fb7172c909fd1e66ac3b52f3d01bc5a347d734908
-DIST sdformat-9.7.0.tar.bz2 699483 BLAKE2B a7f831fa42cc6371afaee47876bee5d2b8e9ef3b05a9fa8281e1746d0b038fb75b0f96d5e84b615b114a25424de65be08dbea052a53813d01b07ca8a1c0d08b9 SHA512 8b05dfaa47dea7cf55dafbed828b3c361f1c13f368fd4ac50cd35c1be859e401bdbd500a79286f7b8b0e6bac04f92a4c406e910a22aa1a9583aa8ffb660c1f89
+DIST sdformat-9.10.0.tar.bz2 709883 BLAKE2B 3f79ad7d13cc3e2b4e4ee7b2dfc5819e805ccbae7678e4ea4d4e2577845ddc3bc69c15043132de989ac286642757bcf0c1d66990fddbc3b61aa1a297c78b7682 SHA512 233305adc98a57eef360200d651bf0951229b12383e49496e05989ce165d88d4fd86c40819a6b6528125fe0185157d26b5712880332971d8bd2fd1f7daa4c6e8
diff --git a/dev-libs/sdformat/files/ruby.patch b/dev-libs/sdformat/files/ruby.patch
new file mode 100644
index 000000000000..ceada099cfe3
--- /dev/null
+++ b/dev-libs/sdformat/files/ruby.patch
@@ -0,0 +1,31 @@
+Index: sdformat-9.10.0/tools/xmlschema.rb
+===================================================================
+--- sdformat-9.10.0.orig/tools/xmlschema.rb
++++ sdformat-9.10.0/tools/xmlschema.rb
+@@ -265,7 +265,7 @@ opt_parser.parse!
+ if infile.nil?
+ puts "Missing option -i."
+ exit
+-elsif !File.exists?(infile)
++elsif !File.exist?(infile)
+ puts "Input file[#{infile}] does not exist\n"
+ exit
+ end
+@@ -273,7 +273,7 @@ end
+ if $path.nil?
+ puts "Missing option -s."
+ exit
+-elsif !Dir.exists?($path)
++elsif !Dir.exist?($path)
+ puts "SDF source dir[#{$path}] does not exist\n"
+ exit
+ end
+@@ -281,7 +281,7 @@ end
+ if outdir.nil?
+ puts "Missing output directory, option -o."
+ exit
+-elsif !Dir.exists?(outdir)
++elsif !Dir.exist?(outdir)
+ Dir.mkdir(outdir)
+ end
+
diff --git a/dev-libs/sdformat/sdformat-9.10.0.ebuild b/dev-libs/sdformat/sdformat-9.10.0.ebuild
new file mode 100644
index 000000000000..210757ba03de
--- /dev/null
+++ b/dev-libs/sdformat/sdformat-9.10.0.ebuild
@@ -0,0 +1,43 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+DESCRIPTION="Simulation Description Format (SDF) parser"
+HOMEPAGE="http://sdformat.org/"
+SRC_URI="http://osrf-distributions.s3.amazonaws.com/sdformat/releases/${P}.tar.bz2"
+
+LICENSE="Apache-2.0"
+# subslot = libsdformat major
+SLOT="0/9"
+KEYWORDS="~amd64"
+
+RDEPEND="
+ >=dev-libs/urdfdom-1:=
+ dev-libs/tinyxml
+ dev-libs/boost:=
+ sci-libs/ignition-math:6=
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ dev-lang/ruby:*
+ virtual/pkgconfig
+"
+PATCHES=( "${FILESDIR}/ruby.patch" )
+
+src_prepare() {
+ cmake_src_prepare
+
+ # get rid of default flags
+ sed -i -e '/_FLAGS_RELWITHDEBINFO/d' cmake/DefaultCFlags.cmake || die
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DUSE_INTERNAL_URDF=OFF
+ -DUSE_EXTERNAL_TINYXML=ON
+ )
+ cmake_src_configure
+}
diff --git a/dev-libs/sdformat/sdformat-9.2.0.ebuild b/dev-libs/sdformat/sdformat-9.2.0.ebuild
deleted file mode 100644
index 2e44e5b271f2..000000000000
--- a/dev-libs/sdformat/sdformat-9.2.0.ebuild
+++ /dev/null
@@ -1,39 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit cmake-utils
-
-DESCRIPTION="Simulation Description Format (SDF) parser"
-HOMEPAGE="http://sdformat.org/"
-SRC_URI="http://osrf-distributions.s3.amazonaws.com/sdformat/releases/${P}.tar.bz2"
-
-LICENSE="Apache-2.0"
-# subslot = libsdformat major
-SLOT="0/9"
-KEYWORDS="~amd64"
-IUSE=""
-
-RDEPEND="
- >=dev-libs/urdfdom-1:=
- dev-libs/tinyxml
- dev-libs/boost:=
- sci-libs/ignition-math:6=
-"
-DEPEND="${RDEPEND}"
-BDEPEND="
- dev-lang/ruby:*
- virtual/pkgconfig
-"
-CMAKE_BUILD_TYPE=RelWithDebInfo
-
-src_configure() {
- echo "set (CMAKE_C_FLAGS_ALL \"${CXXFLAGS} \${CMAKE_C_FLAGS_ALL}\")" > "${S}/cmake/HostCFlags.cmake"
- sed -i -e "s/LINK_FLAGS_RELWITHDEBINFO \" \"/LINK_FLAGS_RELWITHDEBINFO \" ${LDFLAGS} \"/" cmake/DefaultCFlags.cmake || die
- local mycmakeargs=(
- "-DUSE_INTERNAL_URDF=OFF"
- "-DUSE_EXTERNAL_TINYXML=ON"
- )
- cmake-utils_src_configure
-}
diff --git a/dev-libs/sdformat/sdformat-9.3.0.ebuild b/dev-libs/sdformat/sdformat-9.3.0.ebuild
deleted file mode 100644
index 2e44e5b271f2..000000000000
--- a/dev-libs/sdformat/sdformat-9.3.0.ebuild
+++ /dev/null
@@ -1,39 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit cmake-utils
-
-DESCRIPTION="Simulation Description Format (SDF) parser"
-HOMEPAGE="http://sdformat.org/"
-SRC_URI="http://osrf-distributions.s3.amazonaws.com/sdformat/releases/${P}.tar.bz2"
-
-LICENSE="Apache-2.0"
-# subslot = libsdformat major
-SLOT="0/9"
-KEYWORDS="~amd64"
-IUSE=""
-
-RDEPEND="
- >=dev-libs/urdfdom-1:=
- dev-libs/tinyxml
- dev-libs/boost:=
- sci-libs/ignition-math:6=
-"
-DEPEND="${RDEPEND}"
-BDEPEND="
- dev-lang/ruby:*
- virtual/pkgconfig
-"
-CMAKE_BUILD_TYPE=RelWithDebInfo
-
-src_configure() {
- echo "set (CMAKE_C_FLAGS_ALL \"${CXXFLAGS} \${CMAKE_C_FLAGS_ALL}\")" > "${S}/cmake/HostCFlags.cmake"
- sed -i -e "s/LINK_FLAGS_RELWITHDEBINFO \" \"/LINK_FLAGS_RELWITHDEBINFO \" ${LDFLAGS} \"/" cmake/DefaultCFlags.cmake || die
- local mycmakeargs=(
- "-DUSE_INTERNAL_URDF=OFF"
- "-DUSE_EXTERNAL_TINYXML=ON"
- )
- cmake-utils_src_configure
-}
diff --git a/dev-libs/sdformat/sdformat-9.5.0.ebuild b/dev-libs/sdformat/sdformat-9.5.0.ebuild
deleted file mode 100644
index 7e9289e7fc28..000000000000
--- a/dev-libs/sdformat/sdformat-9.5.0.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
-
-inherit cmake-utils
-
-DESCRIPTION="Simulation Description Format (SDF) parser"
-HOMEPAGE="http://sdformat.org/"
-SRC_URI="http://osrf-distributions.s3.amazonaws.com/sdformat/releases/${P}.tar.bz2"
-
-LICENSE="Apache-2.0"
-# subslot = libsdformat major
-SLOT="0/9"
-KEYWORDS="~amd64"
-IUSE=""
-
-RDEPEND="
- >=dev-libs/urdfdom-1:=
- dev-libs/tinyxml
- dev-libs/boost:=
- sci-libs/ignition-math:6=
-"
-DEPEND="${RDEPEND}"
-BDEPEND="
- dev-lang/ruby:*
- virtual/pkgconfig
-"
-CMAKE_BUILD_TYPE=RelWithDebInfo
-
-src_configure() {
- echo "set (CMAKE_C_FLAGS_ALL \"${CXXFLAGS} \${CMAKE_C_FLAGS_ALL}\")" > "${S}/cmake/HostCFlags.cmake"
- sed -i -e "s/LINK_FLAGS_RELWITHDEBINFO \" \"/LINK_FLAGS_RELWITHDEBINFO \" ${LDFLAGS} \"/" cmake/DefaultCFlags.cmake || die
- local mycmakeargs=(
- "-DUSE_INTERNAL_URDF=OFF"
- "-DUSE_EXTERNAL_TINYXML=ON"
- )
- cmake-utils_src_configure
-}
diff --git a/dev-libs/sdformat/sdformat-9.7.0.ebuild b/dev-libs/sdformat/sdformat-9.7.0.ebuild
deleted file mode 100644
index 7e9289e7fc28..000000000000
--- a/dev-libs/sdformat/sdformat-9.7.0.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
-
-inherit cmake-utils
-
-DESCRIPTION="Simulation Description Format (SDF) parser"
-HOMEPAGE="http://sdformat.org/"
-SRC_URI="http://osrf-distributions.s3.amazonaws.com/sdformat/releases/${P}.tar.bz2"
-
-LICENSE="Apache-2.0"
-# subslot = libsdformat major
-SLOT="0/9"
-KEYWORDS="~amd64"
-IUSE=""
-
-RDEPEND="
- >=dev-libs/urdfdom-1:=
- dev-libs/tinyxml
- dev-libs/boost:=
- sci-libs/ignition-math:6=
-"
-DEPEND="${RDEPEND}"
-BDEPEND="
- dev-lang/ruby:*
- virtual/pkgconfig
-"
-CMAKE_BUILD_TYPE=RelWithDebInfo
-
-src_configure() {
- echo "set (CMAKE_C_FLAGS_ALL \"${CXXFLAGS} \${CMAKE_C_FLAGS_ALL}\")" > "${S}/cmake/HostCFlags.cmake"
- sed -i -e "s/LINK_FLAGS_RELWITHDEBINFO \" \"/LINK_FLAGS_RELWITHDEBINFO \" ${LDFLAGS} \"/" cmake/DefaultCFlags.cmake || die
- local mycmakeargs=(
- "-DUSE_INTERNAL_URDF=OFF"
- "-DUSE_EXTERNAL_TINYXML=ON"
- )
- cmake-utils_src_configure
-}
diff --git a/dev-libs/sentry-native/Manifest b/dev-libs/sentry-native/Manifest
new file mode 100644
index 000000000000..7bdbc02ae51a
--- /dev/null
+++ b/dev-libs/sentry-native/Manifest
@@ -0,0 +1,2 @@
+DIST sentry-native-0.6.7.tar.gz 326571 BLAKE2B 5678e406573fa1281b995cf897b556c064831a835960819760ce36e79704fdbf363b637c61adaf14446ba394e057cecbc7a940cb61a2d4c9fd97b5c2ff67647a SHA512 8c5ec1fff2f99acddac8964c415b470a8e5a53967de9fa84444d78d49ed05f592a2c5373688cf87a86ec7cb4c2fe076f9d50443b6ddb9f479713655664d330fb
+DIST sentry-native-0.7.2.tar.gz 330431 BLAKE2B f6651d4397075d67cc1069205e38654ba6c98c64adee03c968f45b1ea2441b0954b90543585ae04c75457edbbc05df4ae0aec242e1570e2716bc8505a11f5a67 SHA512 4a086c87dda82a5109681d014f9d33535d43805f4149ad09609b81da001a7e9c9eb6850ea1b0c2c781072d76725a08341dde1e57be20b26a9ff72f4984f51e8a
diff --git a/dev-libs/sentry-native/files/sentry-native-0.6.5_cmake-breakpad.patch b/dev-libs/sentry-native/files/sentry-native-0.6.5_cmake-breakpad.patch
new file mode 100644
index 000000000000..cd54813c3528
--- /dev/null
+++ b/dev-libs/sentry-native/files/sentry-native-0.6.5_cmake-breakpad.patch
@@ -0,0 +1,14 @@
+--- a/sentry-config.cmake.in
++++ b/sentry-config.cmake.in
+@@ -3,7 +3,10 @@
+ set(SENTRY_BACKEND @SENTRY_BACKEND@)
+ set(SENTRY_TRANSPORT @SENTRY_TRANSPORT@)
+
+-if(SENTRY_BACKEND STREQUAL "crashpad")
++if(SENTRY_BACKEND STREQUAL "breakpad")
++ find_package(PkgConfig REQUIRED)
++ pkg_check_modules(BREAKPAD REQUIRED IMPORTED_TARGET breakpad-client)
++elseif(SENTRY_BACKEND STREQUAL "crashpad")
+ if(@SENTRY_CRASHPAD_SYSTEM@)
+ find_package(crashpad REQUIRED)
+ else()
diff --git a/dev-libs/sentry-native/files/sentry-native-0.6.5_no-fuzz-test.patch b/dev-libs/sentry-native/files/sentry-native-0.6.5_no-fuzz-test.patch
new file mode 100644
index 000000000000..70231c02da9e
--- /dev/null
+++ b/dev-libs/sentry-native/files/sentry-native-0.6.5_no-fuzz-test.patch
@@ -0,0 +1,20 @@
+On the one hand the bundled upstream README only mentions sentry_test_unit
+as a test suite meant for the users to run, on the other comments
+in sentry_fuzz_json sources state that it has to be built in a very
+special - and performance-killing - way in order to work.
+
+--- a/tests/unit/CMakeLists.txt
++++ b/tests/unit/CMakeLists.txt
+@@ -89,6 +89,7 @@
+
+ add_test(NAME sentry_test_unit COMMAND sentry_test_unit)
+
++if(0)
+ add_executable(sentry_fuzz_json
+ ${SENTRY_SOURCES}
+ fuzz.c
+@@ -114,3 +115,4 @@
+ endif()
+
+ add_test(NAME sentry_fuzz_json COMMAND sentry_fuzz_json)
++endif()
diff --git a/dev-libs/sentry-native/metadata.xml b/dev-libs/sentry-native/metadata.xml
new file mode 100644
index 000000000000..aecfa74c176a
--- /dev/null
+++ b/dev-libs/sentry-native/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>marecki@gentoo.org</email>
+ <name>Marek Szuba</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">getsentry/sentry-native</remote-id>
+ </upstream>
+ <use>
+ <flag name="breakpad">Use <pkg>dev-util/breakpad</pkg> as the crash handler</flag>
+ <flag name="curl">Enable support for automated uploading of crash reports</flag>
+ </use>
+</pkgmetadata>
diff --git a/dev-libs/sentry-native/sentry-native-0.6.7.ebuild b/dev-libs/sentry-native/sentry-native-0.6.7.ebuild
new file mode 100644
index 000000000000..1e3a691a642a
--- /dev/null
+++ b/dev-libs/sentry-native/sentry-native-0.6.7.ebuild
@@ -0,0 +1,46 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+DESCRIPTION="Sentry SDK for C, C++ and native applications"
+HOMEPAGE="https://sentry.io/ https://github.com/getsentry/sentry-native"
+SRC_URI="https://github.com/getsentry/${PN}/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="+breakpad +curl test"
+
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ breakpad? (
+ dev-util/breakpad
+ virtual/pkgconfig
+ )
+ curl? ( net-misc/curl )
+"
+DEPEND="${RDEPEND}"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-0.6.5_cmake-breakpad.patch
+ "${FILESDIR}"/${PN}-0.6.5_no-fuzz-test.patch
+)
+
+src_configure() {
+ local mycmakeargs=(
+ -DSENTRY_BUILD_EXAMPLES=OFF
+ -DSENTRY_BACKEND=$(usex breakpad "breakpad" "inproc")
+ -DSENTRY_BUILD_TESTS=$(usex test)
+ -DSENTRY_TRANSPORT=$(usex curl "curl" "none")
+ )
+ # Avoid "not used by the project" warnings when USE=-breakpad
+ if use breakpad; then
+ mycmakeargs+=( -DSENTRY_BREAKPAD_SYSTEM=ON )
+ fi
+
+ cmake_src_configure
+}
diff --git a/dev-libs/sentry-native/sentry-native-0.7.2.ebuild b/dev-libs/sentry-native/sentry-native-0.7.2.ebuild
new file mode 100644
index 000000000000..debfa4792b27
--- /dev/null
+++ b/dev-libs/sentry-native/sentry-native-0.7.2.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
+
+DESCRIPTION="Sentry SDK for C, C++ and native applications"
+HOMEPAGE="https://sentry.io/ https://github.com/getsentry/sentry-native"
+SRC_URI="https://github.com/getsentry/${PN}/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="+breakpad +curl test"
+
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ breakpad? (
+ dev-util/breakpad
+ virtual/pkgconfig
+ )
+ curl? (
+ net-misc/curl
+ sys-libs/zlib
+ )
+"
+DEPEND="${RDEPEND}"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-0.6.5_no-fuzz-test.patch
+)
+
+src_configure() {
+ local mycmakeargs=(
+ -DSENTRY_BUILD_EXAMPLES=OFF
+ -DSENTRY_BACKEND=$(usex breakpad "breakpad" "inproc")
+ -DSENTRY_BUILD_TESTS=$(usex test)
+ -DSENTRY_TRANSPORT=$(usex curl "curl" "none")
+ -DSENTRY_TRANSPORT_COMPRESSION=$(usex curl)
+ )
+ # Avoid "not used by the project" warnings when USE=-breakpad
+ if use breakpad; then
+ mycmakeargs+=( -DSENTRY_BREAKPAD_SYSTEM=ON )
+ fi
+
+ cmake_src_configure
+}
diff --git a/dev-libs/serd/Manifest b/dev-libs/serd/Manifest
index 65108d8fe6d5..1b427f83ba8d 100644
--- a/dev-libs/serd/Manifest
+++ b/dev-libs/serd/Manifest
@@ -1 +1 @@
-DIST serd-0.30.10.tar.bz2 586386 BLAKE2B 7f84b425a9eed36c5b59b22b8fd2cb9139a3de2bd1a47f92fd9888c433d931dcf83f13c2460d821c04f4244a79aa4330ba973017508ecb5f4564e78ae45b9b9a SHA512 ed7b49abfd3dc3a724b047f5f0cd07b811596330c96d91c0ce90540440f03260e05daee76c3ccccc3d4ca39afbbd4f3d07decbb601730e90c133a09c640c0006
+DIST serd-0.32.2.tar.xz 168840 BLAKE2B 5b2ad72ddced2edcb948d75e795c95dccc50ad5be4bf3100c34ead4ec43944647c4f8ff419cda2b7a005b9b69dbd6fa9a0733b2810ad95a9051df3d4253ddfe9 SHA512 052f0765a9af6883a7ef1a31bd90eea3c57d93747dfb989eeda8c4dabbf2ae7d2e868d437aa2a510243f3a535e366739fe266cf82ef0d280472868c87055d50a
diff --git a/dev-libs/serd/metadata.xml b/dev-libs/serd/metadata.xml
index fdc9981e73ed..c08c847e10ee 100644
--- a/dev-libs/serd/metadata.xml
+++ b/dev-libs/serd/metadata.xml
@@ -1,13 +1,19 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
-<maintainer type="project">
- <email>proaudio@gentoo.org</email>
- <name>Gentoo ProAudio Project</name>
-</maintainer>
-<longdescription lang="en">
- Serd is a lightweight C library for RDF syntax which supports reading and writing Turtle and NTriples.
+ <maintainer type="project">
+ <email>proaudio@gentoo.org</email>
+ <name>Gentoo ProAudio Project</name>
+ </maintainer>
+ <longdescription lang="en">
+ Serd is a lightweight C library for RDF syntax which supports reading and writing Turtle and NTriples.
- Serd is not intended to be a swiss-army knife of RDF syntax, but rather is suited to resource limited or performance critical applications, or situations where a simple reader/writer with minimal dependencies is ideal (e.g. in LV2 hosts or plugins).
-</longdescription>
+ Serd is not intended to be a swiss-army knife of RDF syntax, but rather is suited to resource limited or performance critical applications, or situations where a simple reader/writer with minimal dependencies is ideal (e.g. in LV2 hosts or plugins).
+ </longdescription>
+ <use>
+ <flag name="tools">Build command line utilities</flag>
+ </use>
+ <upstream>
+ <remote-id type="gitlab">drobilla/serd</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/dev-libs/serd/serd-0.30.10.ebuild b/dev-libs/serd/serd-0.30.10.ebuild
deleted file mode 100644
index 232142dbbb43..000000000000
--- a/dev-libs/serd/serd-0.30.10.ebuild
+++ /dev/null
@@ -1,59 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{8..10} )
-PYTHON_REQ_USE='threads(+)'
-inherit python-any-r1 waf-utils multilib-build multilib-minimal
-
-DESCRIPTION="Library for RDF syntax which supports reading and writing Turtle and NTriples"
-HOMEPAGE="http://drobilla.net/software/serd/"
-SRC_URI="http://download.drobilla.net/${P}.tar.bz2"
-
-LICENSE="ISC"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ppc ppc64 ~riscv sparc x86"
-IUSE="doc static-libs test"
-RESTRICT="!test? ( test )"
-
-BDEPEND="
- doc? (
- app-doc/doxygen
- dev-python/sphinx
- dev-python/sphinx_lv2_theme
-)
-"
-RDEPEND=""
-DEPEND="${RDEPEND}
- ${PYTHON_DEPS}
-"
-DOCS=( "AUTHORS" "NEWS" "README.md" )
-
-src_prepare() {
- sed -i -e 's/^.*run_ldconfig/#\0/' wscript || die
- default
- multilib_copy_sources
-}
-
-multilib_src_configure() {
- waf-utils_src_configure \
- --docdir=/usr/share/doc/${PF} \
- $(multilib_native_usex doc --docs "") \
- $(usex test --test "") \
- $(usex static-libs --static "")
-}
-
-multilib_src_test() {
- ./waf test || die
-}
-
-multilib_src_compile() {
- waf-utils_src_compile
- default
-}
-
-multilib_src_install() {
- waf-utils_src_install
- default
-}
diff --git a/dev-libs/serd/serd-0.32.2.ebuild b/dev-libs/serd/serd-0.32.2.ebuild
new file mode 100644
index 000000000000..059837225d39
--- /dev/null
+++ b/dev-libs/serd/serd-0.32.2.ebuild
@@ -0,0 +1,47 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit meson-multilib
+
+DESCRIPTION="Library for RDF syntax which supports reading and writing Turtle and NTriples"
+HOMEPAGE="https://drobilla.net/software/serd.html"
+SRC_URI="https://download.drobilla.net/${P}.tar.xz"
+
+LICENSE="ISC"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv sparc x86"
+IUSE="doc test +tools"
+RESTRICT="!test? ( test )"
+
+BDEPEND="
+ doc? (
+ app-text/doxygen
+ dev-python/sphinx
+ dev-python/sphinx-lv2-theme
+ dev-python/sphinxygen
+)
+"
+
+src_prepare() {
+ default
+
+ # fix doc installation path
+ sed -i "s/versioned_name/'${PF}'/g" doc/man/meson.build doc/html/meson.build doc/singlehtml/meson.build || die
+}
+
+multilib_src_configure() {
+ local emesonargs=(
+ $(meson_native_use_feature doc docs)
+ $(meson_feature test tests)
+ $(meson_feature tools)
+ )
+
+ meson_src_configure
+}
+
+multilib_src_install_all() {
+ local DOCS=( AUTHORS NEWS README.md )
+ einstalldocs
+}
diff --git a/dev-libs/serdisplib/files/serdisplib-2.02-musl.patch b/dev-libs/serdisplib/files/serdisplib-2.02-musl.patch
new file mode 100644
index 000000000000..4307c6d9c9c1
--- /dev/null
+++ b/dev-libs/serdisplib/files/serdisplib-2.02-musl.patch
@@ -0,0 +1,19 @@
+Include <sys/type.h> before defining "ushort" macro
+
+sys/types.h uses a typedef to define ushort. If ushort is defined as a macro,
+this will cause a compile failure.
+
+In file included from serdisp_control.c:43:
+../include/serdisplib/serdisp_gpevents.h:75:19: error: expected identifier or '(' before 'unsigned'
+ 75 | #define ushort (unsigned short)
+
+--- a/include/serdisplib/serdisp_gpevents.h
++++ b/include/serdisplib/serdisp_gpevents.h
+@@ -50,6 +50,7 @@
+ #include "serdisplib/serdisp_connect.h"
+ #include "serdisplib/serdisp_control.h"
+ #include <sys/time.h>
++#include <sys/types.h>
+ #include <stdint.h>
+
+ #include "../../config.h"
diff --git a/dev-libs/serdisplib/serdisplib-2.02-r1.ebuild b/dev-libs/serdisplib/serdisplib-2.02-r1.ebuild
deleted file mode 100644
index 7a1a31b7f338..000000000000
--- a/dev-libs/serdisplib/serdisplib-2.02-r1.ebuild
+++ /dev/null
@@ -1,107 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit udev
-
-DESCRIPTION="Library to drive several displays with built-in controllers or display modules"
-HOMEPAGE="http://serdisplib.sourceforge.net"
-SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
-
-LICENSE="GPL-2+"
-SLOT="0"
-KEYWORDS="amd64 ppc ppc64 x86"
-IUSE="threads tools"
-
-# Define the list of valid lcd devices.
-IUSE_LCD_DEVICES=(
- acoolsdcm ddusbt directgfx displaylink dpfax framebuffer glcd2usb
- goldelox i2c ks0108 l4m lc7981 lh155 nokcol pcd8544 remote
- rs232 sed133x sed153x sed156x ssdoled stv8105 t6963 vssdcp
-)
-
-# Add supported drivers from 'IUSE_LCD_DEVICES' to 'IUSE' and 'REQUIRED_USE'.
-# Also enable 'lcd_devices_directgfx' as default.
-IUSE+=" $(printf 'lcd_devices_%s ' ${IUSE_LCD_DEVICES[@]}) "
-IUSE="${IUSE/lcd_devices_directgfx/+lcd_devices_directgfx}"
-REQUIRED_USE+="
- || ( $(printf 'lcd_devices_%s ' ${IUSE_LCD_DEVICES[@]}) )
- lcd_devices_framebuffer? ( threads )
-"
-
-# Specific drivers will need some features to be enabled
-RDEPEND="
- media-libs/gd[jpeg,png,tiff]
- lcd_devices_acoolsdcm? ( virtual/libusb:1 )
- lcd_devices_directgfx? ( media-libs/libsdl )
- lcd_devices_displaylink? ( x11-libs/libdlo )
- lcd_devices_dpfax? ( virtual/libusb:1 )
- lcd_devices_glcd2usb? ( virtual/libusb:1 )
-"
-
-DEPEND="${RDEPEND}"
-
-DOCS=( "AUTHORS" "BUGS" "DOCS" "HISTORY" "PINOUTS" "README" "TODO" )
-
-PATCHES=(
- "${FILESDIR}/${PN}-2.02-use-destdir.patch"
- "${FILESDIR}/${PN}-2.02-disable-static-build.patch"
-)
-
-src_prepare() {
- default
-
- # Fix Makefile, as it will fail, when USE="tools" is not set
- if ! use tools; then
- sed -i -e '/$(INSTALL_PROGRAM) $(PROGRAMS)/d' src/Makefile.in || die
- fi
-
- # Fix QA-Warning "QA Notice: pkg-config files with wrong LDFLAGS detected"
- sed -i -e '/@LDFLAGS@/d' serdisplib.pc.in || die
-}
-
-src_configure() {
- # Enable all users enabled lcd devices
- local myeconfargs_lcd_devices
- for lcd_device in ${IUSE_LCD_DEVICES[@]}; do
- if use lcd_devices_${lcd_device}; then
- myeconfargs_lcd_devices+=",${lcd_device}"
- fi
- done
-
- local use_usb="--disable-libusb"
- if use lcd_devices_acoolsdcm || use lcd_devices_dpfax || use lcd_devices_glcd2usb; then
- use_usb="--enable-libusb"
- fi
-
- local myeconfargs=(
- $(use_enable lcd_devices_directgfx libSDL)
- $(use_enable lcd_devices_displaylink deprecated)
- $(use_enable lcd_devices_displaylink libdlo)
- $(use_enable lcd_devices_remote experimental)
- $(use_enable lcd_devices_vssdcp experimental)
- $(use_enable threads pthread)
- $(use_enable tools)
- ${use_usb}
- --disable-dynloading
- --disable-statictools
- --with-drivers="${myeconfargs_lcd_devices#,}"
- )
-
- econf "${myeconfargs[@]}"
-}
-
-src_install() {
- default
-
- udev_dorules 90-libserdisp.rules
-}
-
-pkg_postinst() {
- udev_reload
-}
-
-pkg_postrm() {
- udev_reload
-}
diff --git a/dev-libs/serdisplib/serdisplib-2.02-r2.ebuild b/dev-libs/serdisplib/serdisplib-2.02-r2.ebuild
new file mode 100644
index 000000000000..ba4565132b83
--- /dev/null
+++ b/dev-libs/serdisplib/serdisplib-2.02-r2.ebuild
@@ -0,0 +1,110 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit udev
+
+DESCRIPTION="Library to drive several displays with built-in controllers or display modules"
+HOMEPAGE="http://serdisplib.sourceforge.net"
+SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
+
+LICENSE="GPL-2+"
+SLOT="0"
+KEYWORDS="amd64 ppc ppc64 x86"
+IUSE="threads tools"
+
+# Define the list of valid lcd devices.
+IUSE_LCD_DEVICES=(
+ acoolsdcm ddusbt directgfx displaylink dpfax framebuffer glcd2usb
+ goldelox i2c ks0108 l4m lc7981 lh155 nokcol pcd8544 remote
+ rs232 sed133x sed153x sed156x ssdoled stv8105 t6963 vssdcp
+)
+
+printf -v mangled_lcd_devices 'lcd_devices_%s ' ${IUSE_LCD_DEVICES[@]}
+
+# Add supported drivers from 'IUSE_LCD_DEVICES' to 'IUSE' and 'REQUIRED_USE'.
+# Also enable 'lcd_devices_directgfx' as default.
+IUSE+=" ${mangled_lcd_devices}"
+IUSE="${IUSE/lcd_devices_directgfx/+lcd_devices_directgfx}"
+REQUIRED_USE+="
+ || ( ${mangled_lcd_devices} )
+ lcd_devices_framebuffer? ( threads )
+"
+
+# Specific drivers will need some features to be enabled
+RDEPEND="
+ media-libs/gd[jpeg,png,tiff]
+ lcd_devices_acoolsdcm? ( virtual/libusb:1 )
+ lcd_devices_directgfx? ( media-libs/libsdl )
+ lcd_devices_displaylink? ( x11-libs/libdlo )
+ lcd_devices_dpfax? ( virtual/libusb:1 )
+ lcd_devices_glcd2usb? ( virtual/libusb:1 )
+"
+
+DEPEND="${RDEPEND}"
+
+DOCS=( "AUTHORS" "BUGS" "DOCS" "HISTORY" "PINOUTS" "README" "TODO" )
+
+PATCHES=(
+ "${FILESDIR}/${PN}-2.02-use-destdir.patch"
+ "${FILESDIR}/${PN}-2.02-disable-static-build.patch"
+ "${FILESDIR}/${PN}-2.02-musl.patch"
+)
+
+src_prepare() {
+ default
+
+ # Fix Makefile, as it will fail, when USE="tools" is not set
+ if ! use tools; then
+ sed -i -e '/$(INSTALL_PROGRAM) $(PROGRAMS)/d' src/Makefile.in || die
+ fi
+
+ # Fix QA-Warning "QA Notice: pkg-config files with wrong LDFLAGS detected"
+ sed -i -e '/@LDFLAGS@/d' serdisplib.pc.in || die
+}
+
+src_configure() {
+ # Enable all users enabled lcd devices
+ local myeconfargs_lcd_devices
+ for lcd_device in ${IUSE_LCD_DEVICES[@]}; do
+ if use lcd_devices_${lcd_device}; then
+ myeconfargs_lcd_devices+=",${lcd_device}"
+ fi
+ done
+
+ local use_usb="--disable-libusb"
+ if use lcd_devices_acoolsdcm || use lcd_devices_dpfax || use lcd_devices_glcd2usb; then
+ use_usb="--enable-libusb"
+ fi
+
+ local myeconfargs=(
+ $(use_enable lcd_devices_directgfx libSDL)
+ $(use_enable lcd_devices_displaylink deprecated)
+ $(use_enable lcd_devices_displaylink libdlo)
+ $(use_enable lcd_devices_remote experimental)
+ $(use_enable lcd_devices_vssdcp experimental)
+ $(use_enable threads pthread)
+ $(use_enable tools)
+ ${use_usb}
+ --disable-dynloading
+ --disable-statictools
+ --with-drivers="${myeconfargs_lcd_devices#,}"
+ )
+
+ CONFIG_SHELL="${BROOT}/bin/bash" econf "${myeconfargs[@]}"
+}
+
+src_install() {
+ default
+
+ udev_dorules 90-libserdisp.rules
+}
+
+pkg_postinst() {
+ udev_reload
+}
+
+pkg_postrm() {
+ udev_reload
+}
diff --git a/dev-libs/sexpp/Manifest b/dev-libs/sexpp/Manifest
new file mode 100644
index 000000000000..35a444c64a97
--- /dev/null
+++ b/dev-libs/sexpp/Manifest
@@ -0,0 +1 @@
+DIST sexpp-0.8.6.tar.gz 46857 BLAKE2B 5ff8eaf3ba81af243e6780604b51b43743ed7f9de6121c1de273bbbd51d42e3feed3c00357c85ccaa5e808d2e5f753f58b5f96fea38f5b50b2b2bd9ee658be74 SHA512 b2698a397ef1b161a722e1834bc62f6d2b27c403faa27d97e1e137cc7315e004252ac75bbaaf817bc705f7830cb89665bb23ba8d18904fedd6c2f01c5f1e6f0f
diff --git a/dev-libs/sexpp/metadata.xml b/dev-libs/sexpp/metadata.xml
new file mode 100644
index 000000000000..63224ff33ddb
--- /dev/null
+++ b/dev-libs/sexpp/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>mozilla@gentoo.org</email>
+ <name>Gentoo Mozilla Team</name>
+ </maintainer>
+ <use>
+ <flag name="cli">Build sexp console application</flag>
+ </use>
+ <upstream>
+ <remote-id type="github">rnpgp/sexp</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/sexpp/sexpp-0.8.6.ebuild b/dev-libs/sexpp/sexpp-0.8.6.ebuild
new file mode 100644
index 000000000000..8c6eff4e3f61
--- /dev/null
+++ b/dev-libs/sexpp/sexpp-0.8.6.ebuild
@@ -0,0 +1,35 @@
+# Copyright 2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+DESCRIPTION="S-expressions parser and generator library in C++"
+HOMEPAGE="https://github.com/rnpgp/sexpp"
+SRC_URI="https://github.com/rnpgp/sexpp/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 ~arm64 ~loong ~ppc64 x86"
+IUSE="cli test"
+
+BDEPEND="virtual/pkgconfig
+ test? ( dev-cpp/gtest )"
+
+RESTRICT="!test? ( test )"
+
+src_configure() {
+ local mycmakeargs=(
+ -DBUILD_SHARED_LIBS=on
+
+ -DDOWNLOAD_GTEST=off
+
+ -DWITH_COVERAGE=off
+ -DWITH_SANITIZERS=off
+ -DWITH_SEXP_CLI=$(usex cli on off)
+ -DWITH_SEXP_TESTS=$(usex test on off)
+ )
+
+ cmake_src_configure
+}
diff --git a/dev-libs/shhopt/shhopt-1.1.7-r3.ebuild b/dev-libs/shhopt/shhopt-1.1.7-r3.ebuild
index 3710e4d865d3..c1fd89d7f6c8 100644
--- a/dev-libs/shhopt/shhopt-1.1.7-r3.ebuild
+++ b/dev-libs/shhopt/shhopt-1.1.7-r3.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 @@ KEYWORDS="amd64 ppc x86"
PATCHES=( "${FILESDIR}"/${P}-build.patch )
src_compile() {
- emake CC=$(tc-getCC)
+ emake CC="$(tc-getCC)"
}
src_install() {
diff --git a/dev-libs/simde/Manifest b/dev-libs/simde/Manifest
new file mode 100644
index 000000000000..01cd007712a6
--- /dev/null
+++ b/dev-libs/simde/Manifest
@@ -0,0 +1 @@
+DIST simde-0.8.0.tar.gz 7455442 BLAKE2B 511f609e2588cc39b45a5a3e7f93648d9651e9e3f90220947b7f559ca6281a0db9f876d0692abf24d63528bb84e0ee49da1a165a16eeb91de84639a100a6527b SHA512 b0667583565ea9e59d18a07c7a3cb46710868c9572663e314278ca2004747e337e34f6b927c9c5d29e161caba8ec0428e5299b6e878e226b9f33597a1584b91d
diff --git a/dev-libs/simde/files/simde-0.7.6-musl.patch b/dev-libs/simde/files/simde-0.7.6-musl.patch
new file mode 100644
index 000000000000..c070f858ea81
--- /dev/null
+++ b/dev-libs/simde/files/simde-0.7.6-musl.patch
@@ -0,0 +1,18 @@
+This workaround patch should be removable when musl implements C23
+functions (technically this isn't a __GLIBC__-only quirk, but used
+due to lack of anything better beside running a build test for it).
+
+https://bugs.gentoo.org/926488
+https://github.com/simd-everywhere/simde/issues/1001
+--- a/simde/simde-math.h
++++ b/simde/simde-math.h
+@@ -1182,3 +1182,3 @@
+ #if \
+- (!defined(HEDLEY_EMSCRIPTEN_VERSION) && HEDLEY_HAS_BUILTIN(__builtin_roundeven)) || \
++ (defined (__GLIBC__) && !defined(HEDLEY_EMSCRIPTEN_VERSION) && HEDLEY_HAS_BUILTIN(__builtin_roundeven)) || \
+ HEDLEY_GCC_VERSION_CHECK(10,0,0)
+@@ -1202,3 +1202,3 @@
+ #if \
+- (!defined(HEDLEY_EMSCRIPTEN_VERSION) && HEDLEY_HAS_BUILTIN(__builtin_roundevenf)) || \
++ (defined(__GLIBC__) && !defined(HEDLEY_EMSCRIPTEN_VERSION) && HEDLEY_HAS_BUILTIN(__builtin_roundevenf)) || \
+ HEDLEY_GCC_VERSION_CHECK(10,0,0)
diff --git a/dev-libs/simde/files/simde-0.8.0-xop.patch b/dev-libs/simde/files/simde-0.8.0-xop.patch
new file mode 100644
index 000000000000..1fbfc4fd1ef3
--- /dev/null
+++ b/dev-libs/simde/files/simde-0.8.0-xop.patch
@@ -0,0 +1,28 @@
+https://bugs.gentoo.org/926959
+https://github.com/kovidgoyal/kitty/issues/7222
+https://github.com/simd-everywhere/simde/pull/1154
+From: "Michael R. Crusoe" <michael.crusoe@gmail.com>
+Date: Mon, 25 Mar 2024 10:33:22 +0100
+Subject: [PATCH 1/2] x86 xop: fix some native functions
+--- a/simde/arm/neon/paddl.h
++++ b/simde/arm/neon/paddl.h
+@@ -286,7 +286,7 @@ simde_vpaddlq_u16(simde_uint16x8_t a) {
+ simde_uint32x4_private r_;
+
+ #if defined(SIMDE_X86_XOP_NATIVE)
+- r_.sse_m128i = _mm_haddd_epu16(a_.sse_m128i);
++ r_.m128i = _mm_haddd_epu16(a_.m128i);
+ #elif defined(SIMDE_X86_SSE2_NATIVE)
+ r_.m128i =
+ _mm_add_epi32(
+--- a/simde/x86/xop.h
++++ b/simde/x86/xop.h
+@@ -3727,7 +3727,7 @@ simde_mm256_permute2_pd (simde__m256d a, simde__m256d b, simde__m256i c, const i
+ SIMDE_LCC_REVERT_DEPRECATED_WARNINGS \
+ }))
+ #else
+- #define simde_mm256_permute2_pd(a, b, c, imm8) simde_undeprecated_mm256_permute2_pd((a), (b), (c), (imm8))
++ #define simde_mm256_permute2_pd(a, b, c, imm8) _mm256_permute2_pd((a), (b), (c), (imm8))
+ #endif
+ #endif
+ #if defined(SIMDE_X86_XOP_ENABLE_NATIVE_ALIASES)
diff --git a/dev-libs/simde/metadata.xml b/dev-libs/simde/metadata.xml
new file mode 100644
index 000000000000..f92dc4d96537
--- /dev/null
+++ b/dev-libs/simde/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">simd-everywhere/simde</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/simde/simde-0.8.0-r1.ebuild b/dev-libs/simde/simde-0.8.0-r1.ebuild
new file mode 100644
index 000000000000..155e4c169087
--- /dev/null
+++ b/dev-libs/simde/simde-0.8.0-r1.ebuild
@@ -0,0 +1,46 @@
+# Copyright 2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit meson
+
+DESCRIPTION="Header-only library providing implementations of SIMD instruction sets"
+HOMEPAGE="https://simd-everywhere.github.io/blog/"
+SRC_URI="
+ https://github.com/simd-everywhere/simde/archive/refs/tags/v${PV/_/-}.tar.gz
+ -> ${P}.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 ~arm64 x86"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-0.7.6-musl.patch
+ "${FILESDIR}"/${P}-xop.patch
+)
+
+src_configure() {
+ # *FLAGS are only used for tests (nothing that is installed), and
+ # upstream tests with specific *FLAGS and is otherwise flaky with
+ # -march=native, -mno-*, and such -- unset to be spared headaches.
+ unset {C,CPP,CXX,LD}FLAGS
+
+ local emesonargs=(
+ $(meson_use test tests)
+ )
+
+ meson_src_configure
+}
+
+src_test() {
+ if use x86; then
+ # https://github.com/simd-everywhere/simde/issues/867 (bug #926706)
+ meson_src_test $(meson_src_test --list | grep -Ev '(dbsad|fpclass)')
+ else
+ meson_src_test
+ fi
+}
diff --git a/dev-libs/simdjson/Manifest b/dev-libs/simdjson/Manifest
index c1b350236bcd..b26a7d8c5b5c 100644
--- a/dev-libs/simdjson/Manifest
+++ b/dev-libs/simdjson/Manifest
@@ -1,5 +1,5 @@
-DIST simdjson-0.9.7.tar.gz 7956250 BLAKE2B 2fa04be699eb5573ac17db9b476ded1853cfe45c0993c9303b70bfd0e8e4343b69e4a02f21dac35d2c0255826bfedf41123fd635d36d48a08f74b28b5a6536ce SHA512 6f4ad854adc2b932f9926610cdd28ddda7fc1776b84a224adb5b337f81c92721bd11c8ab180897117891cdefe9c1ef14b9f062c9a1a2ebc5b5582c29cb656bf0
-DIST simdjson-1.0.0.tar.gz 1546728 BLAKE2B 6b70416404776b4fcc30cd3ab07b8048899bbe3497af779504a685bc2459424e82bd40bf100d7ed8ccfa05e871a0a1edd9eebd11294cdc3d1780797d7f79ba1e SHA512 dbf8abfeec5c079f4d87e8bf31d1af27601f7f0578ebb8ad28a25f496b4b771b68a75f9a11f61706c539d54c36a493a2d2819bd15427c3b7f7a0b36811177f17
-DIST simdjson-1.0.2.tar.gz 1551616 BLAKE2B 534e312de977b82604595ccf889348545ed355fb9cfb6f618d42236122578f6102ce7bcd31204c3013dbeeff17c35effaff62531a7e17e5e83ac07150b1456ab SHA512 04a3bee2d847680aa1f55115007ceec01652bebb8d5187cfbca0af81bedff355cbac949862a82e3060071da1a58b62d5b028bcd91562b962756aa5cab614f073
-DIST simdjson-data-1.0.0.tar.gz 6635706 BLAKE2B 563376147f18d590a176a5a0398365db1a3e677b773c018f335efa7fff05ac22ac5dc37613792082a32e6c9b91a773a590f7dfd15efa5ba660f9142b128b28a7 SHA512 168198404b11b8c76ff4f53645d7b5a88a5c72b4a5b6646b4410859ec3416ae9b37fc59f7d2f014ccc785615ea5c31dc00b145dbb1a7acb701b94029dd4ea1e1
-DIST simdjson-data-1.0.2.tar.gz 6635706 BLAKE2B 563376147f18d590a176a5a0398365db1a3e677b773c018f335efa7fff05ac22ac5dc37613792082a32e6c9b91a773a590f7dfd15efa5ba660f9142b128b28a7 SHA512 168198404b11b8c76ff4f53645d7b5a88a5c72b4a5b6646b4410859ec3416ae9b37fc59f7d2f014ccc785615ea5c31dc00b145dbb1a7acb701b94029dd4ea1e1
+DIST simdjson-3.6.3.gh.tar.gz 2302220 BLAKE2B c46eeb8a07460cc5427fc35714fd262069cd3d913732e6037d808281d0fed0e82e0423dfd16abaeb515264559fe4454c42f81211354723eb21b212decfe7834b SHA512 b9fa7e554ded4e6cbe9d70ee29aa5b582e58b8b2ada1a781e58746082bb7d31791a4e2ea8b43d9391d783e61e489554f260448029c0b7e730cc69dc44f4aa86a
+DIST simdjson-3.6.4.gh.tar.gz 2301736 BLAKE2B 512effe54c6d36e31c95983cd9bd2ddb000c979c5050cb0c4b8ae2eae743ec50720e15ccf8b457b085d7d5bea24e0a0f793cba97a0af35dedbe59cab105ab2b9 SHA512 30dbc39166f092808d8642a2e4ca37c10999c511aa90e349409b3f4765c638498070ed9ed53ec7bfda9a9442557c7407ee0468a0845d53346d4a990f6d8c3c5b
+DIST simdjson-3.7.1.gh.tar.gz 2319851 BLAKE2B 06de2f3dbdb65e7cd5aa418ecb7db27ae01f1e205e355f4d8cb38929d284407bb3edc93a5ee13e30457123ee83bdee35923a265ada520ff94365d1eb71de6ccb SHA512 536f2cd174d50890611942accdcc5b41f5a0d0bc6f03d5627a64c75fa6d88efc9bf4304da4c4607b472223d2a713edaeecbfa66e0e7e5efa1f45a60c93eee96a
+DIST simdjson-3.9.1.gh.tar.gz 2636602 BLAKE2B 82c4956ebc902574ed1b36196097c6c07e9ca0f11384f71b260ae95ff5e7c436ce016da417197f84c21ece0ae2239fc1c4e02cf63672fae98b3fa69831de3adb SHA512 b8c091e7ecce4cdc67f538ab6715ce89bff16e68f6d56bdc37e05ab0b110b90bc6b039d5c76e2dceef9e30f35cb6ace5e4e230d4c70e928329a376f989b23bed
+DIST simdjson-data-a5b13babe65c1bba7186b41b43d4cbdc20a5c470.tar.gz 6635706 BLAKE2B 563376147f18d590a176a5a0398365db1a3e677b773c018f335efa7fff05ac22ac5dc37613792082a32e6c9b91a773a590f7dfd15efa5ba660f9142b128b28a7 SHA512 168198404b11b8c76ff4f53645d7b5a88a5c72b4a5b6646b4410859ec3416ae9b37fc59f7d2f014ccc785615ea5c31dc00b145dbb1a7acb701b94029dd4ea1e1
diff --git a/dev-libs/simdjson/files/simdjson-0.8.0-dont-bundle-cxxopts.patch b/dev-libs/simdjson/files/simdjson-0.8.0-dont-bundle-cxxopts.patch
deleted file mode 100644
index 6a76cf83ed98..000000000000
--- a/dev-libs/simdjson/files/simdjson-0.8.0-dont-bundle-cxxopts.patch
+++ /dev/null
@@ -1,40 +0,0 @@
-diff --git a/dependencies/CMakeLists.txt b/dependencies/CMakeLists.txt
-index 2c41169f..2f5d4436 100644
---- a/dependencies/CMakeLists.txt
-+++ b/dependencies/CMakeLists.txt
-@@ -129,15 +129,3 @@ endfunction()
- if(SIMDJSON_COMPETITION)
- competition_scope_()
- endif()
--
--cmake_dependent_option(SIMDJSON_CXXOPTS "Download cxxopts (necessary for tools)" ON
-- SIMDJSON_ALLOW_DOWNLOADS OFF)
--
--if(SIMDJSON_CXXOPTS)
-- set_off(CXXOPTS_BUILD_EXAMPLES)
-- set_off(CXXOPTS_BUILD_TESTS)
-- set_off(CXXOPTS_ENABLE_INSTALL)
--
-- import_dependency(cxxopts jarro2783/cxxopts 794c975)
-- add_dependency(cxxopts)
--endif()
-diff --git a/tools/CMakeLists.txt b/tools/CMakeLists.txt
-index f1a82be7..b1b7b1a0 100644
---- a/tools/CMakeLists.txt
-+++ b/tools/CMakeLists.txt
-@@ -1,10 +1,8 @@
--if(TARGET cxxopts) # we only build the tools if cxxopts is available
- message(STATUS "We have cxxopts as a dependency and we are buiding the tools (e.g., json2json).")
-- link_libraries(simdjson simdjson-internal-flags simdjson-windows-headers cxxopts)
-+ link_libraries(simdjson simdjson-internal-flags simdjson-windows-headers)
- add_executable(json2json json2json.cpp)
- add_executable(jsonstats jsonstats.cpp)
-- add_executable(jsonpointer jsonpointer.cpp)
-+ add_executable(simdjsonpointer jsonpointer.cpp)
- add_executable(minify minify.cpp)
--else()
-- message(STATUS "We are missing cxxopts as a dependency so the tools (e.g., json2json) are omitted.")
--endif()
-\ No newline at end of file
-+ install(TARGETS json2json jsonstats simdjsonpointer minify DESTINATION bin)
-+
diff --git a/dev-libs/simdjson/files/simdjson-1.0.0-tests.patch b/dev-libs/simdjson/files/simdjson-1.0.0-tests.patch
deleted file mode 100644
index cccbd4494667..000000000000
--- a/dev-libs/simdjson/files/simdjson-1.0.0-tests.patch
+++ /dev/null
@@ -1,17 +0,0 @@
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 235222a8..8532183a 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -221,9 +221,10 @@ add_subdirectory(singleheader)
- #
- # Compile tools / tests / benchmarks
- #
--add_subdirectory(tests)
-+if (SIMDJSON_TESTS)
-+ add_subdirectory(tests)
-+endif()
- add_subdirectory(examples)
--add_subdirectory(benchmark)
- add_subdirectory(fuzz)
-
- #
diff --git a/dev-libs/simdjson/files/simdjson-3.1.7-tests.patch b/dev-libs/simdjson/files/simdjson-3.1.7-tests.patch
new file mode 100644
index 000000000000..dd254be00a73
--- /dev/null
+++ b/dev-libs/simdjson/files/simdjson-3.1.7-tests.patch
@@ -0,0 +1,21 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index ba15fe93..6993bdd5 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -249,12 +249,11 @@ add_subdirectory(singleheader)
+ #
+ # Compile tools / tests / benchmarks
+ #
+-add_subdirectory(tests)
+-add_subdirectory(examples)
+-if(CMAKE_SIZEOF_VOID_P EQUAL 8) # we only include the benchmarks on 64-bit systems.
+- add_subdirectory(benchmark)
++if (SIMDJSON_TESTS)
++ add_subdirectory(tests)
++ add_subdirectory(fuzz)
+ endif()
+-add_subdirectory(fuzz)
++add_subdirectory(examples)
+
+ #
+ # Source files should be just ASCII
diff --git a/dev-libs/simdjson/files/simdjson-3.7.1-data-optional.patch b/dev-libs/simdjson/files/simdjson-3.7.1-data-optional.patch
new file mode 100644
index 000000000000..f7192d74042c
--- /dev/null
+++ b/dev-libs/simdjson/files/simdjson-3.7.1-data-optional.patch
@@ -0,0 +1,17 @@
+diff --git a/dependencies/CMakeLists.txt b/dependencies/CMakeLists.txt
+index 1d98e6f7..ad903481 100644
+--- a/dependencies/CMakeLists.txt
++++ b/dependencies/CMakeLists.txt
+@@ -20,8 +20,10 @@ if(SIMDJSON_GOOGLE_BENCHMARKS)
+ endif()
+
+ # The bulk of our benchmarking and testing data has been moved simdjson/simdjson-data
+-import_dependency(simdjson-data simdjson/simdjson-data a5b13babe65c1bba7186b41b43d4cbdc20a5c470)
+-add_dependency(simdjson-data)
++if(SIMDJSON_TESTS)
++ import_dependency(simdjson-data simdjson/simdjson-data a5b13babe65c1bba7186b41b43d4cbdc20a5c470)
++ add_dependency(simdjson-data)
++endif()
+ option(SIMDJSON_USE_BOOST_JSON "Try to include BOOST_JSON, this may break your binaries under some systems." OFF)
+ # This prevents variables declared with set() from unnecessarily escaping and
+ # should not be called more than once
diff --git a/dev-libs/simdjson/metadata.xml b/dev-libs/simdjson/metadata.xml
index 0bd99c992917..d541fa2ee4a1 100644
--- a/dev-libs/simdjson/metadata.xml
+++ b/dev-libs/simdjson/metadata.xml
@@ -7,5 +7,6 @@
</maintainer>
<use>
<flag name="tools">Build and install extra command line tools</flag>
+ <flag name="all-impls">Enable all implementations rather than only onem</flag>
</use>
</pkgmetadata>
diff --git a/dev-libs/simdjson/simdjson-0.9.7.ebuild b/dev-libs/simdjson/simdjson-0.9.7.ebuild
deleted file mode 100644
index 9ce02457aecb..000000000000
--- a/dev-libs/simdjson/simdjson-0.9.7.ebuild
+++ /dev/null
@@ -1,67 +0,0 @@
-# Copyright 2020-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit cmake
-
-DESCRIPTION="SIMD accelerated C++ JSON library"
-HOMEPAGE="
- https://simdjson.org/
- https://github.com/simdjson/simdjson
-"
-SRC_URI="https://github.com/${PN}/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="Apache-2.0 Boost-1.0 BSD MIT"
-SLOT="0/8"
-KEYWORDS="amd64 ~arm ~arm64 ~ppc64 ~x86"
-IUSE="test tools"
-
-BDEPEND="
- sys-apps/file
- sys-apps/grep
-"
-DEPEND="
- tools? ( dev-libs/cxxopts:= )
-"
-
-REQUIRED_USE="test? ( tools )"
-RESTRICT="!test? ( test )"
-
-PATCHES=(
- "${FILESDIR}/simdjson-0.8.0-dont-bundle-cxxopts.patch"
- "${FILESDIR}/simdjson-0.9.0-tests.patch"
-)
-
-DOCS=(
- AUTHORS
- CONTRIBUTING.md
- CONTRIBUTORS
- HACKING.md
- README.md
-)
-
-src_prepare() {
- sed -e 's:-Werror ::' -i cmake/simdjson-flags.cmake || die
- cmake_src_prepare
-}
-
-src_configure() {
- local -a mycmakeargs=(
- -DSIMDJSON_ENABLE_THREADS=ON
- )
-
- if use tools; then
- mycmakeargs+=(
- -DSIMDJSON_JUST_LIBRARY=OFF
- -DSIMDJSON_GOOGLE_BENCHMARKS=OFF
- -DSIMDJSON_COMPETITION=OFF
- )
- else
- mycmakeargs+=(
- -DSIMDJSON_JUST_LIBRARY=ON
- )
- fi
-
- cmake_src_configure
-}
diff --git a/dev-libs/simdjson/simdjson-1.0.0-r1.ebuild b/dev-libs/simdjson/simdjson-1.0.0-r1.ebuild
deleted file mode 100644
index 272844823512..000000000000
--- a/dev-libs/simdjson/simdjson-1.0.0-r1.ebuild
+++ /dev/null
@@ -1,85 +0,0 @@
-# Copyright 2020-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit toolchain-funcs cmake
-
-DATA_HASH="a5b13babe65c1bba7186b41b43d4cbdc20a5c470"
-DESCRIPTION="SIMD accelerated C++ JSON library"
-HOMEPAGE="
- https://simdjson.org/
- https://github.com/simdjson/simdjson
-"
-SRC_URI="
- https://github.com/${PN}/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz
- test? ( https://github.com/${PN}/${PN}-data/archive/${DATA_HASH}.tar.gz -> ${PN}-data-${PV}.tar.gz )
-"
-
-LICENSE="Apache-2.0 Boost-1.0 BSD MIT"
-SLOT="0/8"
-KEYWORDS="amd64 ~arm ~arm64 ~ppc64 ~x86"
-IUSE="test tools"
-
-BDEPEND="
- sys-apps/file
- sys-apps/grep
-"
-DEPEND="
- tools? ( dev-libs/cxxopts:= )
-"
-
-REQUIRED_USE="test? ( tools )"
-RESTRICT="!test? ( test )"
-
-PATCHES=(
- "${FILESDIR}/simdjson-1.0.0-dont-bundle-cxxopts.patch"
- "${FILESDIR}/simdjson-0.9.0-tests.patch"
- "${FILESDIR}/simdjson-1.0.0-dont-fetch-data-tarball.patch"
- "${FILESDIR}/simdjson-1.0.0-install-tools.patch"
- "${FILESDIR}/simdjson-1.0.0-tests.patch"
-)
-
-DOCS=(
- AUTHORS
- CONTRIBUTING.md
- CONTRIBUTORS
- HACKING.md
- README.md
-)
-
-src_prepare() {
- if use test; then
- mv "${WORKDIR}/${PN}-data-${DATA_HASH}" "${S}/dependencies/${PN}-data" || die
- fi
-
- sed -e 's:-Werror ::' -i cmake/developer-options.cmake || die
- sed -e "s:^c++ :$(tc-getCXX) :" -i singleheader/README.md || die
- mv tools/{,simd}jsonpointer.cpp || die
- cmake_src_prepare
-}
-
-src_configure() {
- local -a mycmakeargs=(
- -DSIMDJSON_ENABLE_THREADS=ON
- )
- use test && mycmakeargs+=(
- -DSIMDJSON_TESTS=ON
- )
-
- if use tools; then
- mycmakeargs+=(
- -DSIMDJSON_DEVELOPER_MODE=ON
- -DSIMDJSON_ALLOW_DOWNLOADS=OFF
- -DSIMDJSON_GOOGLE_BENCHMARKS=OFF
- -DSIMDJSON_COMPETITION=OFF
- -DSIMDJSON_TOOLS=ON
- )
- elif ! use test; then
- mycmakeargs+=(
- -DSIMDJSON_DEVELOPER_MODE=OFF
- )
- fi
-
- cmake_src_configure
-}
diff --git a/dev-libs/simdjson/simdjson-1.0.2.ebuild b/dev-libs/simdjson/simdjson-1.0.2.ebuild
deleted file mode 100644
index 23f185e34892..000000000000
--- a/dev-libs/simdjson/simdjson-1.0.2.ebuild
+++ /dev/null
@@ -1,85 +0,0 @@
-# Copyright 2020-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit toolchain-funcs cmake
-
-DATA_HASH="a5b13babe65c1bba7186b41b43d4cbdc20a5c470"
-DESCRIPTION="SIMD accelerated C++ JSON library"
-HOMEPAGE="
- https://simdjson.org/
- https://github.com/simdjson/simdjson
-"
-SRC_URI="
- https://github.com/${PN}/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz
- test? ( https://github.com/${PN}/${PN}-data/archive/${DATA_HASH}.tar.gz -> ${PN}-data-${PV}.tar.gz )
-"
-
-LICENSE="Apache-2.0 Boost-1.0 BSD MIT"
-SLOT="0/9"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86"
-IUSE="test tools"
-
-BDEPEND="
- sys-apps/file
- sys-apps/grep
-"
-DEPEND="
- tools? ( dev-libs/cxxopts:= )
-"
-
-REQUIRED_USE="test? ( tools )"
-RESTRICT="!test? ( test )"
-
-PATCHES=(
- "${FILESDIR}/simdjson-1.0.0-dont-bundle-cxxopts.patch"
- "${FILESDIR}/simdjson-0.9.0-tests.patch"
- "${FILESDIR}/simdjson-1.0.0-dont-fetch-data-tarball.patch"
- "${FILESDIR}/simdjson-1.0.0-install-tools.patch"
- "${FILESDIR}/simdjson-1.0.0-tests.patch"
-)
-
-DOCS=(
- AUTHORS
- CONTRIBUTING.md
- CONTRIBUTORS
- HACKING.md
- README.md
-)
-
-src_prepare() {
- if use test; then
- mv "${WORKDIR}/${PN}-data-${DATA_HASH}" "${S}/dependencies/${PN}-data" || die
- fi
-
- sed -e 's:-Werror ::' -i cmake/developer-options.cmake || die
- sed -e "s:^c++ :$(tc-getCXX) :" -i singleheader/README.md || die
- mv tools/{,simd}jsonpointer.cpp || die
- cmake_src_prepare
-}
-
-src_configure() {
- local -a mycmakeargs=(
- -DSIMDJSON_ENABLE_THREADS=ON
- )
- use test && mycmakeargs+=(
- -DSIMDJSON_TESTS=ON
- )
-
- if use tools; then
- mycmakeargs+=(
- -DSIMDJSON_DEVELOPER_MODE=ON
- -DSIMDJSON_ALLOW_DOWNLOADS=OFF
- -DSIMDJSON_GOOGLE_BENCHMARKS=OFF
- -DSIMDJSON_COMPETITION=OFF
- -DSIMDJSON_TOOLS=ON
- )
- elif ! use test; then
- mycmakeargs+=(
- -DSIMDJSON_DEVELOPER_MODE=OFF
- )
- fi
-
- cmake_src_configure
-}
diff --git a/dev-libs/simdjson/simdjson-3.6.3.ebuild b/dev-libs/simdjson/simdjson-3.6.3.ebuild
new file mode 100644
index 000000000000..5b14f6ee1759
--- /dev/null
+++ b/dev-libs/simdjson/simdjson-3.6.3.ebuild
@@ -0,0 +1,102 @@
+# Copyright 2020-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit toolchain-funcs cmake
+
+DATA_HASH="a5b13babe65c1bba7186b41b43d4cbdc20a5c470"
+DESCRIPTION="SIMD accelerated C++ JSON library"
+HOMEPAGE="
+ https://simdjson.org/
+ https://github.com/simdjson/simdjson
+"
+SRC_URI="
+ https://github.com/${PN}/${PN}/archive/v${PV}.tar.gz -> ${P}.gh.tar.gz
+ test? ( https://github.com/${PN}/${PN}-data/archive/${DATA_HASH}.tar.gz -> ${PN}-data-${DATA_HASH}.tar.gz )
+"
+
+LICENSE="Apache-2.0 Boost-1.0 BSD MIT"
+SLOT="0/19"
+KEYWORDS="amd64 ~arm ~arm64 ~ppc64 ~x86"
+IUSE="+all-impls test tools"
+
+BDEPEND="
+ sys-apps/file
+ sys-apps/grep
+ virtual/pkgconfig
+"
+DEPEND="
+ tools? ( <dev-libs/cxxopts-3.1:= )
+"
+
+REQUIRED_USE="test? ( tools )"
+RESTRICT="!test? ( test )"
+
+PATCHES=(
+ "${FILESDIR}/simdjson-1.0.0-dont-bundle-cxxopts.patch"
+ "${FILESDIR}/simdjson-0.9.0-tests.patch"
+ "${FILESDIR}/simdjson-1.0.0-dont-fetch-data-tarball.patch"
+ "${FILESDIR}/simdjson-1.0.0-install-tools.patch"
+ "${FILESDIR}/simdjson-3.1.7-tests.patch"
+)
+
+DOCS=(
+ AUTHORS
+ CONTRIBUTING.md
+ CONTRIBUTORS
+ HACKING.md
+ README.md
+)
+
+src_prepare() {
+ if use test; then
+ mv "${WORKDIR}/${PN}-data-${DATA_HASH}" "${S}/dependencies/${PN}-data" || die
+ fi
+
+ sed -e 's:-Werror ::' -i cmake/developer-options.cmake || die
+ sed -e '/Werror/ d ; /Werror/ d ' -i tests/ondemand/compilation_failure_tests/CMakeLists.txt || die
+ sed -e "s:^c++ :$(tc-getCXX) :" -i singleheader/README.md || die
+ mv tools/{,simd}jsonpointer.cpp || die
+ cmake_src_prepare
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DSIMDJSON_ENABLE_THREADS:BOOL=ON
+ )
+ use test && mycmakeargs+=(
+ -DSIMDJSON_TESTS:BOOL=ON
+ )
+
+ if use tools; then
+ mycmakeargs+=(
+ -DSIMDJSON_DEVELOPER_MODE:BOOL=ON
+ -DSIMDJSON_ALLOW_DOWNLOADS:BOOL=OFF
+ -DSIMDJSON_GOOGLE_BENCHMARKS:BOOL=OFF
+ -DSIMDJSON_COMPETITION:BOOL=OFF
+ -DSIMDJSON_TOOLS:BOOL=ON
+ )
+ elif ! use test; then
+ mycmakeargs+=(
+ -DSIMDJSON_DEVELOPER_MODELBOOL=OFF
+ )
+ fi
+
+ if use all-impls; then
+ local -a impls=("fallback")
+ if use amd64 || use x86; then
+ impls+=("westmere" "haswell" "icelake")
+ elif use arm64; then
+ impls+=("arm64")
+ elif use ppc64; then
+ impls+=("ppc64")
+ fi
+
+ mycmakeargs+=(
+ -DSIMDJSON_IMPLEMENTATION:STRING=$(printf '%s;' "${impls[@]}")
+ )
+ fi
+
+ cmake_src_configure
+}
diff --git a/dev-libs/simdjson/simdjson-3.6.4.ebuild b/dev-libs/simdjson/simdjson-3.6.4.ebuild
new file mode 100644
index 000000000000..efb2ca0d1cde
--- /dev/null
+++ b/dev-libs/simdjson/simdjson-3.6.4.ebuild
@@ -0,0 +1,102 @@
+# Copyright 2020-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit toolchain-funcs cmake
+
+DATA_HASH="a5b13babe65c1bba7186b41b43d4cbdc20a5c470"
+DESCRIPTION="SIMD accelerated C++ JSON library"
+HOMEPAGE="
+ https://simdjson.org/
+ https://github.com/simdjson/simdjson
+"
+SRC_URI="
+ https://github.com/${PN}/${PN}/archive/v${PV}.tar.gz -> ${P}.gh.tar.gz
+ test? ( https://github.com/${PN}/${PN}-data/archive/${DATA_HASH}.tar.gz -> ${PN}-data-${DATA_HASH}.tar.gz )
+"
+
+LICENSE="Apache-2.0 Boost-1.0 BSD MIT"
+SLOT="0/19"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86"
+IUSE="+all-impls test tools"
+
+BDEPEND="
+ sys-apps/file
+ sys-apps/grep
+ virtual/pkgconfig
+"
+DEPEND="
+ tools? ( <dev-libs/cxxopts-3.1:= )
+"
+
+REQUIRED_USE="test? ( tools )"
+RESTRICT="!test? ( test )"
+
+PATCHES=(
+ "${FILESDIR}/simdjson-1.0.0-dont-bundle-cxxopts.patch"
+ "${FILESDIR}/simdjson-0.9.0-tests.patch"
+ "${FILESDIR}/simdjson-1.0.0-dont-fetch-data-tarball.patch"
+ "${FILESDIR}/simdjson-1.0.0-install-tools.patch"
+ "${FILESDIR}/simdjson-3.1.7-tests.patch"
+)
+
+DOCS=(
+ AUTHORS
+ CONTRIBUTING.md
+ CONTRIBUTORS
+ HACKING.md
+ README.md
+)
+
+src_prepare() {
+ if use test; then
+ mv "${WORKDIR}/${PN}-data-${DATA_HASH}" "${S}/dependencies/${PN}-data" || die
+ fi
+
+ sed -e 's:-Werror ::' -i cmake/developer-options.cmake || die
+ sed -e '/Werror/ d ; /Werror/ d ' -i tests/ondemand/compilation_failure_tests/CMakeLists.txt || die
+ sed -e "s:^c++ :$(tc-getCXX) :" -i singleheader/README.md || die
+ mv tools/{,simd}jsonpointer.cpp || die
+ cmake_src_prepare
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DSIMDJSON_ENABLE_THREADS:BOOL=ON
+ )
+ use test && mycmakeargs+=(
+ -DSIMDJSON_TESTS:BOOL=ON
+ )
+
+ if use tools; then
+ mycmakeargs+=(
+ -DSIMDJSON_DEVELOPER_MODE:BOOL=ON
+ -DSIMDJSON_ALLOW_DOWNLOADS:BOOL=OFF
+ -DSIMDJSON_GOOGLE_BENCHMARKS:BOOL=OFF
+ -DSIMDJSON_COMPETITION:BOOL=OFF
+ -DSIMDJSON_TOOLS:BOOL=ON
+ )
+ elif ! use test; then
+ mycmakeargs+=(
+ -DSIMDJSON_DEVELOPER_MODELBOOL=OFF
+ )
+ fi
+
+ if use all-impls; then
+ local -a impls=("fallback")
+ if use amd64 || use x86; then
+ impls+=("westmere" "haswell" "icelake")
+ elif use arm64; then
+ impls+=("arm64")
+ elif use ppc64; then
+ impls+=("ppc64")
+ fi
+
+ mycmakeargs+=(
+ -DSIMDJSON_IMPLEMENTATION:STRING=$(printf '%s;' "${impls[@]}")
+ )
+ fi
+
+ cmake_src_configure
+}
diff --git a/dev-libs/simdjson/simdjson-3.7.1.ebuild b/dev-libs/simdjson/simdjson-3.7.1.ebuild
new file mode 100644
index 000000000000..86f2f2dbe6cf
--- /dev/null
+++ b/dev-libs/simdjson/simdjson-3.7.1.ebuild
@@ -0,0 +1,103 @@
+# Copyright 2020-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit toolchain-funcs cmake
+
+DATA_HASH="a5b13babe65c1bba7186b41b43d4cbdc20a5c470"
+DESCRIPTION="SIMD accelerated C++ JSON library"
+HOMEPAGE="
+ https://simdjson.org/
+ https://github.com/simdjson/simdjson
+"
+SRC_URI="
+ https://github.com/${PN}/${PN}/archive/v${PV}.tar.gz -> ${P}.gh.tar.gz
+ test? ( https://github.com/${PN}/${PN}-data/archive/${DATA_HASH}.tar.gz -> ${PN}-data-${DATA_HASH}.tar.gz )
+"
+
+LICENSE="Apache-2.0 Boost-1.0 BSD MIT"
+SLOT="0/20"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86"
+IUSE="+all-impls test tools"
+
+BDEPEND="
+ sys-apps/file
+ sys-apps/grep
+ virtual/pkgconfig
+"
+DEPEND="
+ tools? ( <dev-libs/cxxopts-3.1:= )
+"
+
+REQUIRED_USE="test? ( tools )"
+RESTRICT="!test? ( test )"
+
+PATCHES=(
+ "${FILESDIR}/simdjson-1.0.0-dont-bundle-cxxopts.patch"
+ "${FILESDIR}/simdjson-0.9.0-tests.patch"
+ "${FILESDIR}/simdjson-1.0.0-install-tools.patch"
+ "${FILESDIR}/simdjson-3.1.7-tests.patch"
+ "${FILESDIR}/simdjson-3.7.1-data-optional.patch"
+)
+
+DOCS=(
+ AUTHORS
+ CONTRIBUTING.md
+ CONTRIBUTORS
+ HACKING.md
+ README.md
+)
+
+src_prepare() {
+ if use test; then
+ mkdir "${S}/dependencies/.cache" || die
+ mv "${WORKDIR}/${PN}-data-${DATA_HASH}" "${S}/dependencies/.cache/${PN}-data" || die
+ fi
+
+ sed -e 's:-Werror ::' -i cmake/developer-options.cmake || die
+ sed -e '/Werror/ d ; /Werror/ d ' -i tests/ondemand/compilation_failure_tests/CMakeLists.txt || die
+ sed -e "s:^c++ :$(tc-getCXX) :" -i singleheader/README.md || die
+ mv tools/{,simd}jsonpointer.cpp || die
+ cmake_src_prepare
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DSIMDJSON_ENABLE_THREADS:BOOL=ON
+ )
+ use test && mycmakeargs+=(
+ -DSIMDJSON_TESTS:BOOL=ON
+ )
+
+ if use tools; then
+ mycmakeargs+=(
+ -DSIMDJSON_DEVELOPER_MODE:BOOL=ON
+ -DSIMDJSON_ALLOW_DOWNLOADS:BOOL=OFF
+ -DSIMDJSON_GOOGLE_BENCHMARKS:BOOL=OFF
+ -DSIMDJSON_COMPETITION:BOOL=OFF
+ -DSIMDJSON_TOOLS:BOOL=ON
+ )
+ elif ! use test; then
+ mycmakeargs+=(
+ -DSIMDJSON_DEVELOPER_MODELBOOL=OFF
+ )
+ fi
+
+ if use all-impls; then
+ local -a impls=("fallback")
+ if use amd64 || use x86; then
+ impls+=("westmere" "haswell" "icelake")
+ elif use arm64; then
+ impls+=("arm64")
+ elif use ppc64; then
+ impls+=("ppc64")
+ fi
+
+ mycmakeargs+=(
+ -DSIMDJSON_IMPLEMENTATION:STRING=$(printf '%s;' "${impls[@]}")
+ )
+ fi
+
+ cmake_src_configure
+}
diff --git a/dev-libs/simdjson/simdjson-3.9.1.ebuild b/dev-libs/simdjson/simdjson-3.9.1.ebuild
new file mode 100644
index 000000000000..ec117c5c1ca4
--- /dev/null
+++ b/dev-libs/simdjson/simdjson-3.9.1.ebuild
@@ -0,0 +1,103 @@
+# Copyright 2020-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit toolchain-funcs cmake
+
+DATA_HASH="a5b13babe65c1bba7186b41b43d4cbdc20a5c470"
+DESCRIPTION="SIMD accelerated C++ JSON library"
+HOMEPAGE="
+ https://simdjson.org/
+ https://github.com/simdjson/simdjson
+"
+SRC_URI="
+ https://github.com/${PN}/${PN}/archive/v${PV}.tar.gz -> ${P}.gh.tar.gz
+ test? ( https://github.com/${PN}/${PN}-data/archive/${DATA_HASH}.tar.gz -> ${PN}-data-${DATA_HASH}.tar.gz )
+"
+
+LICENSE="Apache-2.0 Boost-1.0 BSD MIT"
+SLOT="0/22"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86"
+IUSE="+all-impls test tools"
+
+BDEPEND="
+ sys-apps/file
+ sys-apps/grep
+ virtual/pkgconfig
+"
+DEPEND="
+ tools? ( <dev-libs/cxxopts-3.1:= )
+"
+
+REQUIRED_USE="test? ( tools )"
+RESTRICT="!test? ( test )"
+
+PATCHES=(
+ "${FILESDIR}/simdjson-1.0.0-dont-bundle-cxxopts.patch"
+ "${FILESDIR}/simdjson-0.9.0-tests.patch"
+ "${FILESDIR}/simdjson-1.0.0-install-tools.patch"
+ "${FILESDIR}/simdjson-3.1.7-tests.patch"
+ "${FILESDIR}/simdjson-3.7.1-data-optional.patch"
+)
+
+DOCS=(
+ AUTHORS
+ CONTRIBUTING.md
+ CONTRIBUTORS
+ HACKING.md
+ README.md
+)
+
+src_prepare() {
+ if use test; then
+ mkdir "${S}/dependencies/.cache" || die
+ mv "${WORKDIR}/${PN}-data-${DATA_HASH}" "${S}/dependencies/.cache/${PN}-data" || die
+ fi
+
+ sed -e 's:-Werror ::' -i cmake/developer-options.cmake || die
+ sed -e '/Werror/ d ; /Werror/ d ' -i tests/ondemand/compilation_failure_tests/CMakeLists.txt || die
+ sed -e "s:^c++ :$(tc-getCXX) :" -i singleheader/README.md || die
+ mv tools/{,simd}jsonpointer.cpp || die
+ cmake_src_prepare
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DSIMDJSON_ENABLE_THREADS:BOOL=ON
+ )
+ use test && mycmakeargs+=(
+ -DSIMDJSON_TESTS:BOOL=ON
+ )
+
+ if use tools; then
+ mycmakeargs+=(
+ -DSIMDJSON_DEVELOPER_MODE:BOOL=ON
+ -DSIMDJSON_ALLOW_DOWNLOADS:BOOL=OFF
+ -DSIMDJSON_GOOGLE_BENCHMARKS:BOOL=OFF
+ -DSIMDJSON_COMPETITION:BOOL=OFF
+ -DSIMDJSON_TOOLS:BOOL=ON
+ )
+ elif ! use test; then
+ mycmakeargs+=(
+ -DSIMDJSON_DEVELOPER_MODELBOOL=OFF
+ )
+ fi
+
+ if use all-impls; then
+ local -a impls=("fallback")
+ if use amd64 || use x86; then
+ impls+=("westmere" "haswell" "icelake")
+ elif use arm64; then
+ impls+=("arm64")
+ elif use ppc64; then
+ impls+=("ppc64")
+ fi
+
+ mycmakeargs+=(
+ -DSIMDJSON_IMPLEMENTATION:STRING=$(printf '%s;' "${impls[@]}")
+ )
+ fi
+
+ cmake_src_configure
+}
diff --git a/dev-libs/sink/Manifest b/dev-libs/sink/Manifest
deleted file mode 100644
index fdc34e347126..000000000000
--- a/dev-libs/sink/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST sink-0.8.0.tar.xz 295064 BLAKE2B 8187520979b43966a4e2d782e0ceb651c49eb25a349e2f9f2251b47978b0eebe64a98ce8c04f1854cdd05779f01c2cb68f1fa008568c1e95d292dbcd65fc61fe SHA512 008ca8355ffbed2bf89a906510aac4c505c8e44de49f445db283aa565e233e7652f2e46c5bcf37e680dec940a8c0f1525e6a8f708e1b4742db62522255c8bad6
diff --git a/dev-libs/sink/metadata.xml b/dev-libs/sink/metadata.xml
deleted file mode 100644
index d925f2439758..000000000000
--- a/dev-libs/sink/metadata.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="project">
- <email>kde@gentoo.org</email>
- <name>Gentoo KDE Project</name>
- </maintainer>
- <upstream>
- <bugs-to>https://bugs.kde.org/</bugs-to>
- </upstream>
-</pkgmetadata>
diff --git a/dev-libs/sink/sink-0.8.0-r3.ebuild b/dev-libs/sink/sink-0.8.0-r3.ebuild
deleted file mode 100644
index 78d2b574ac2b..000000000000
--- a/dev-libs/sink/sink-0.8.0-r3.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
-
-inherit cmake
-
-DESCRIPTION="Data access layer handling synchronization, caching and indexing"
-HOMEPAGE="https://kube-project.com"
-SRC_URI="mirror://kde/unstable/${PN}/${PV}/src/${P}.tar.xz"
-
-LICENSE="LGPL-2+"
-SLOT="5"
-KEYWORDS="~amd64"
-
-# qtgui is bogus but is required because something else in the deptree
-# uses it as a public dependency but doesn't search for it properly
-BDEPEND="
- kde-frameworks/extra-cmake-modules:5
-"
-RDEPEND="
- dev-db/lmdb:=
- dev-libs/flatbuffers:=
- >=dev-libs/kasync-0.3:5
- >=dev-libs/xapian-1.4.4:0=
- dev-qt/qtcore:5
- dev-qt/qtgui:5
- dev-qt/qtnetwork:5
- kde-apps/kmime:5
- kde-frameworks/kcalendarcore:5
- kde-frameworks/kcontacts:5
- kde-frameworks/kcoreaddons:5
- >=net-libs/kdav2-0.3:5
- >=net-libs/kimap2-0.3:5
- net-misc/curl
- sys-libs/readline:0=
-"
-DEPEND="${RDEPEND}
- dev-qt/qtconcurrent:5
-"
-
-# fails to build
-RESTRICT+=" test"
-
-src_prepare() {
- cmake_src_prepare
- # tests are sprinkled all over the place, and examples are needed...
- # disabling tests disables installing 'hawd'... what a mess
- sed -e "/add_subdirectory(tests)/ s/^/#DONT/" \
- -i CMakeLists.txt examples/imapresource/CMakeLists.txt \
- examples/mail{transport,dir}resource/CMakeLists.txt \
- examples/ca{l,rd}davresource/CMakeLists.txt \
- || die "Failed to disable tests everywhere"
-}
diff --git a/dev-libs/skalibs/Manifest b/dev-libs/skalibs/Manifest
index 828c554b1159..564963cece92 100644
--- a/dev-libs/skalibs/Manifest
+++ b/dev-libs/skalibs/Manifest
@@ -1 +1 @@
-DIST skalibs-2.9.3.0.tar.gz 231372 BLAKE2B f0d0b530eab4d0c98346a94af078604d741a6da4ac9625b6b903011b791c16789a8488b562623376bfc1119fca5a2ab1c2dc35b563cb1d8ff36edad2d7793922 SHA512 41e867fcaf16da437840b796a41b2d34ea53aafedde8b4fc86d712934ec533e9f7f2a8b7902542570ea6b5bcba772569fc4f47bccef770b5dee4f9d113b3df11
+DIST skalibs-2.14.1.1.tar.gz 237220 BLAKE2B 880f40a640e7680f847f8d9eb5e90ca472583d0badfbf233707be9bf64e2eb172543fdc9b663c99c3a5839ed58dbf7befebf9aa75820c9be9d70cd0c37959665 SHA512 01b3da7614ee626f838b62aff6fa2d4677ab5c5dfffcb3145232db9ac0b5bf70c063f4d83abdee809139fee721c75550eb997e2c3e265417b9493c98886236f9
diff --git a/dev-libs/skalibs/metadata.xml b/dev-libs/skalibs/metadata.xml
index db463f3eeb66..c544eea8e1f4 100644
--- a/dev-libs/skalibs/metadata.xml
+++ b/dev-libs/skalibs/metadata.xml
@@ -2,6 +2,10 @@
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
+ <email>arkamar@gentoo.org</email>
+ <name>Petr Vaněk</name>
+ </maintainer>
+ <maintainer type="person">
<email>williamh@gentoo.org</email>
<name>William Hubbs</name>
</maintainer>
diff --git a/dev-libs/skalibs/skalibs-2.14.1.1.ebuild b/dev-libs/skalibs/skalibs-2.14.1.1.ebuild
new file mode 100644
index 000000000000..ea5da9db95bb
--- /dev/null
+++ b/dev-libs/skalibs/skalibs-2.14.1.1.ebuild
@@ -0,0 +1,43 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit toolchain-funcs
+
+DESCRIPTION="General-purpose libraries from skarnet.org"
+HOMEPAGE="https://www.skarnet.org/software/skalibs/"
+SRC_URI="https://www.skarnet.org/software/${PN}/${P}.tar.gz"
+
+LICENSE="ISC"
+SLOT="0/$(ver_cut 1-2)"
+KEYWORDS="~alpha amd64 arm ~arm64 ~mips ~riscv x86"
+
+HTML_DOCS=( doc/. )
+
+src_prepare() {
+ default
+
+ # Avoid QA warning for LDFLAGS addition
+ sed -i -e 's/.*-Wl,--hash-style=both$/:/' configure || die
+
+ sed -i -e '/AR := /d' -e '/RANLIB := /d' Makefile || die
+}
+
+src_configure() {
+ tc-export AR CC RANLIB
+
+ local myconf=(
+ --dynlibdir="/$(get_libdir)"
+ --libdir="/usr/$(get_libdir)/${PN}"
+ --sysdepdir="/usr/$(get_libdir)/${PN}"
+ --sysconfdir=/etc
+
+ --disable-static
+ --enable-clock
+ --enable-ipv6
+ --enable-shared
+ )
+
+ econf "${myconf[@]}"
+}
diff --git a/dev-libs/skalibs/skalibs-2.9.3.0.ebuild b/dev-libs/skalibs/skalibs-2.9.3.0.ebuild
deleted file mode 100644
index 116469617d0d..000000000000
--- a/dev-libs/skalibs/skalibs-2.9.3.0.ebuild
+++ /dev/null
@@ -1,35 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-DESCRIPTION="General-purpose libraries from skarnet.org"
-HOMEPAGE="https://www.skarnet.org/software/skalibs/"
-SRC_URI="https://www.skarnet.org/software/${PN}/${P}.tar.gz"
-
-LICENSE="ISC"
-SLOT="0/$(ver_cut 1-2)"
-KEYWORDS="amd64 ~arm x86"
-IUSE="doc ipv6 static-libs"
-
-HTML_DOCS=( doc/. )
-
-src_prepare() {
- default
-
- # Avoid QA warning for LDFLAGS addition; avoid overriding -fstack-protector
- sed -i -e 's/.*-Wl,--hash-style=both$/:/' -e '/-fno-stack-protector$/d' \
- configure || die
-}
-
-src_configure() {
- econf \
- --datadir=/etc \
- --dynlibdir=/usr/$(get_libdir) \
- --libdir=/usr/$(get_libdir)/${PN} \
- --sysdepdir=/usr/$(get_libdir)/${PN} \
- --enable-clock \
- --enable-shared \
- $(use_enable static-libs static) \
- $(use_enable ipv6)
-}
diff --git a/dev-libs/sleef/Manifest b/dev-libs/sleef/Manifest
new file mode 100644
index 000000000000..7ca5bfa2e46b
--- /dev/null
+++ b/dev-libs/sleef/Manifest
@@ -0,0 +1 @@
+DIST sleef-3.5.1.tar.gz 1210108 BLAKE2B e10e23cb830252dd2ed34e24bfd79b5e812640572afedad899cccd462019c7a4e41c7b3b9f0ff5a77549fc45dbc51ae0ebeeada4c38f011cdac0262d2982ade8 SHA512 e8e4e5028db52998c6b82bd462622c08d670e4e85273327f1c3bdbd900827dd7793b217c2876ca1229b6f672493bb96f40140e14366390cccea0e6780689e128
diff --git a/dev-libs/sleef/files/sleef-3.5.1-gentoo.patch b/dev-libs/sleef/files/sleef-3.5.1-gentoo.patch
new file mode 100644
index 000000000000..2246f74151fd
--- /dev/null
+++ b/dev-libs/sleef/files/sleef-3.5.1-gentoo.patch
@@ -0,0 +1,18 @@
+--- a/src/dft-tester/CMakeLists.txt 2022-05-11 21:48:47.011990780 +0200
++++ b/src/dft-tester/CMakeLists.txt 2022-05-11 21:49:07.424697074 +0200
+@@ -186,15 +186,7 @@
+
+ # Test roundtriptest2ddp
+ add_test_dft(${TARGET_ROUNDTRIPTEST2DDP}_2_2 $<TARGET_FILE:${TARGET_ROUNDTRIPTEST2DDP}> 2 2 10)
+- add_test_dft(${TARGET_ROUNDTRIPTEST2DDP}_4_4 $<TARGET_FILE:${TARGET_ROUNDTRIPTEST2DDP}> 4 4 10)
+- add_test_dft(${TARGET_ROUNDTRIPTEST2DDP}_8_8 $<TARGET_FILE:${TARGET_ROUNDTRIPTEST2DDP}> 8 8 10)
+- add_test_dft(${TARGET_ROUNDTRIPTEST2DDP}_10_10 $<TARGET_FILE:${TARGET_ROUNDTRIPTEST2DDP}> 10 10 2)
+- add_test_dft(${TARGET_ROUNDTRIPTEST2DDP}_5_15 $<TARGET_FILE:${TARGET_ROUNDTRIPTEST2DDP}> 5 15 2)
+
+ # Test roundtriptest2dsp
+ add_test_dft(${TARGET_ROUNDTRIPTEST2DSP}_2_2 $<TARGET_FILE:${TARGET_ROUNDTRIPTEST2DSP}> 2 2 10)
+- add_test_dft(${TARGET_ROUNDTRIPTEST2DSP}_4_4 $<TARGET_FILE:${TARGET_ROUNDTRIPTEST2DSP}> 4 4 10)
+- add_test_dft(${TARGET_ROUNDTRIPTEST2DSP}_8_8 $<TARGET_FILE:${TARGET_ROUNDTRIPTEST2DSP}> 8 8 10)
+- add_test_dft(${TARGET_ROUNDTRIPTEST2DSP}_10_10 $<TARGET_FILE:${TARGET_ROUNDTRIPTEST2DSP}> 10 10 2)
+- add_test_dft(${TARGET_ROUNDTRIPTEST2DSP}_5_15 $<TARGET_FILE:${TARGET_ROUNDTRIPTEST2DSP}> 5 15 2)
+ endif(LIBFFTW3 AND NOT DISABLE_FFTW)
diff --git a/dev-libs/sleef/files/sleef-3.5.1-mpfr42.patch b/dev-libs/sleef/files/sleef-3.5.1-mpfr42.patch
new file mode 100644
index 000000000000..0ae5706974f2
--- /dev/null
+++ b/dev-libs/sleef/files/sleef-3.5.1-mpfr42.patch
@@ -0,0 +1,30 @@
+--- a/src/libm-tester/testerutil.h 2023-04-12 22:07:52.400469592 +0200
++++ b/src/libm-tester/testerutil.h 2023-04-12 22:08:03.404312574 +0200
+@@ -90,7 +90,5 @@
+ double countULPsp(float d, mpfr_t c);
+ double countULP2sp(float d, mpfr_t c);
+
+-void mpfr_sinpi(mpfr_t ret, mpfr_t arg, mpfr_rnd_t rnd);
+-void mpfr_cospi(mpfr_t ret, mpfr_t arg, mpfr_rnd_t rnd);
+ void mpfr_lgamma_nosign(mpfr_t ret, mpfr_t arg, mpfr_rnd_t rnd);
+ #endif
+--- a/src/libm-tester/testerutil.c 2023-04-12 22:07:55.045431845 +0200
++++ b/src/libm-tester/testerutil.c 2023-04-12 22:08:23.275029908 +0200
+@@ -289,7 +289,7 @@
+ }
+
+ //
+-
++#if 0
+ void mpfr_sinpi(mpfr_t ret, mpfr_t arg, mpfr_rnd_t rnd) {
+ mpfr_t frpi, frd;
+ mpfr_inits(frpi, frd, NULL);
+@@ -315,7 +315,7 @@
+
+ mpfr_clears(frpi, frd, NULL);
+ }
+-
++#endif
+ void mpfr_lgamma_nosign(mpfr_t ret, mpfr_t arg, mpfr_rnd_t rnd) {
+ int s;
+ mpfr_lgamma(ret, &s, arg, rnd);
diff --git a/dev-libs/sleef/files/sleef-3.5.1-riscv.patch b/dev-libs/sleef/files/sleef-3.5.1-riscv.patch
new file mode 100644
index 000000000000..bb5ad68416f3
--- /dev/null
+++ b/dev-libs/sleef/files/sleef-3.5.1-riscv.patch
@@ -0,0 +1,11 @@
+--- a/src/arch/helperpurec_scalar.h 2023-04-07 19:54:14.823254936 +0200
++++ b/src/arch/helperpurec_scalar.h 2023-04-07 19:54:29.684024763 +0200
+@@ -54,7 +54,7 @@
+ #define ENABLE_FMA_SP
+ //@#define ENABLE_FMA_SP
+
+-#if defined(__AVX2__) || defined(__aarch64__) || defined(__arm__) || defined(__powerpc64__) || defined(__zarch__)
++#if defined(__AVX2__) || defined(__aarch64__) || defined(__arm__) || defined(__powerpc64__) || defined(__zarch__) || defined(__riscv)
+ #ifndef FP_FAST_FMA
+ #define FP_FAST_FMA
+ //@#define FP_FAST_FMA
diff --git a/dev-libs/sleef/metadata.xml b/dev-libs/sleef/metadata.xml
new file mode 100644
index 000000000000..40e9c116eb75
--- /dev/null
+++ b/dev-libs/sleef/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">shibatch/sleef</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/sleef/sleef-3.5.1-r1.ebuild b/dev-libs/sleef/sleef-3.5.1-r1.ebuild
new file mode 100644
index 000000000000..63dd9c9bd926
--- /dev/null
+++ b/dev-libs/sleef/sleef-3.5.1-r1.ebuild
@@ -0,0 +1,45 @@
+# Copyright 2022-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+DESCRIPTION="Implements vectorized versions of C standard math functions"
+HOMEPAGE="https://sleef.org/"
+SRC_URI="https://github.com/shibatch/${PN}/archive/refs/tags/${PV}.tar.gz
+ -> ${P}.tar.gz"
+
+LICENSE="Boost-1.0"
+SLOT="0"
+KEYWORDS="amd64 ~riscv ~x86"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+BDEPEND="
+ test? ( >=dev-libs/mpfr-4.2 )
+"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-gentoo.patch
+ "${FILESDIR}"/${P}-riscv.patch
+ "${FILESDIR}"/${P}-mpfr42.patch
+)
+
+src_configure() {
+ local mycmakeargs=(
+ -DDISABLE_FFTW=ON
+ -DBUILD_QUAD=ON
+ -DBUILD_TESTS=$(usex test ON OFF)
+ )
+
+ cmake_src_configure
+}
+
+src_test() {
+
+ local myctestargs=(
+ -E "iut(y)?purec(fma)?_scalar"
+ )
+ cmake_src_test
+}
diff --git a/dev-libs/smack/Manifest b/dev-libs/smack/Manifest
deleted file mode 100644
index 8036a216fec4..000000000000
--- a/dev-libs/smack/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST smack-0.5.0.tar.bz2 38923 BLAKE2B e40ace9a4d97aaefe94d0ecdbce7f610c6cec73df87f3256078aaa5bd1ffcd45b047c4124cafd12da3dab5e1a74689726abd1ac3f1802b9a933aeb4cce7954cc SHA512 16c02538d44e3c53a783a5fd546a2813ae4da8e3d4e61fcc03a2c6c5127453ffaac1b5d5a04c499f6158d747b5cf37fdfa675dc4017d884f3eccb6dc0d76e754
diff --git a/dev-libs/smack/metadata.xml b/dev-libs/smack/metadata.xml
deleted file mode 100644
index 2ce0e74f9864..000000000000
--- a/dev-libs/smack/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="person">
- <email>patrick@gentoo.org</email>
- <name>Patrick Lauer</name>
- </maintainer>
-</pkgmetadata>
diff --git a/dev-libs/smack/smack-0.5.0.ebuild b/dev-libs/smack/smack-0.5.0.ebuild
deleted file mode 100644
index 94966983b404..000000000000
--- a/dev-libs/smack/smack-0.5.0.ebuild
+++ /dev/null
@@ -1,19 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit cmake-utils
-
-DESCRIPTION="low-level IO storage which packs data into sorted compressed blobs"
-HOMEPAGE="http://reverbrain.com/smack/"
-SRC_URI="https://dev.gentoo.org/~patrick/${P}.tar.bz2"
-
-LICENSE="GPL-2+"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE=""
-
-DEPEND="app-arch/snappy
- dev-libs/boost"
-RDEPEND="${DEPEND}"
diff --git a/dev-libs/snowball-stemmer/metadata.xml b/dev-libs/snowball-stemmer/metadata.xml
index 9bd890df5565..fb1d915598c4 100644
--- a/dev-libs/snowball-stemmer/metadata.xml
+++ b/dev-libs/snowball-stemmer/metadata.xml
@@ -1,7 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
-<maintainer type="person">
- <email>graaff@gentoo.org</email>
-</maintainer>
+ <maintainer type="person">
+ <email>graaff@gentoo.org</email>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">snowballstem/snowball</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/dev-libs/snowball-stemmer/snowball-stemmer-2.1.0-r1.ebuild b/dev-libs/snowball-stemmer/snowball-stemmer-2.1.0-r1.ebuild
index 9fb67bee6b17..3e13b164d5b4 100644
--- a/dev-libs/snowball-stemmer/snowball-stemmer-2.1.0-r1.ebuild
+++ b/dev-libs/snowball-stemmer/snowball-stemmer-2.1.0-r1.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=8
@@ -14,11 +14,9 @@ SRC_URI="https://github.com/snowballstem/snowball/archive/v${PV}.tar.gz -> ${P}.
LICENSE="BSD"
SLOT="0/$(ver_cut 1)"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~ppc-macos ~sparc-solaris ~sparc64-solaris"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~ppc-macos"
IUSE="static-libs test"
-DEPEND=""
-RDEPEND="${DEPEND}"
BDEPEND="dev-lang/perl
test? ( virtual/libiconv )"
RESTRICT="!test? ( test )"
@@ -30,8 +28,8 @@ PATCHES=(
)
src_compile() {
- export CC=$(tc-getCC)
- export AR=$(tc-getAR)
+ export CC="$(tc-getCC)"
+ export AR="$(tc-getAR)"
default
}
diff --git a/dev-libs/snowball-stemmer/snowball-stemmer-2.2.0.ebuild b/dev-libs/snowball-stemmer/snowball-stemmer-2.2.0.ebuild
index 64f05cff45c2..a4a7aeec8ed6 100644
--- a/dev-libs/snowball-stemmer/snowball-stemmer-2.2.0.ebuild
+++ b/dev-libs/snowball-stemmer/snowball-stemmer-2.2.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=8
@@ -14,11 +14,9 @@ SRC_URI="https://github.com/snowballstem/snowball/archive/v${PV}.tar.gz -> ${P}.
LICENSE="BSD"
SLOT="0/$(ver_cut 1)"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~ppc-macos ~sparc-solaris ~sparc64-solaris"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~ppc-macos"
IUSE="static-libs test"
-DEPEND=""
-RDEPEND="${DEPEND}"
BDEPEND="dev-lang/perl
test? ( virtual/libiconv )"
RESTRICT="!test? ( test )"
diff --git a/dev-libs/softhsm/Manifest b/dev-libs/softhsm/Manifest
index ecf0dc98c3eb..cd1921ec4c2c 100644
--- a/dev-libs/softhsm/Manifest
+++ b/dev-libs/softhsm/Manifest
@@ -1 +1,2 @@
+DIST softhsm-2.6.1-patches.tar.xz 7460 BLAKE2B e9c5496ff1a79121ab62e77ab6541a1678d4254395622aaf76c4b8fdcabbd6144caba5c171e28744ae181169826d2523c9ddf73859ca9ca6bb7a5fdf36a8ea8e SHA512 35330e969d7de532f3b6a0821dc5faa40726dcdd9c62f5e78d05cfec1c35057e183dba0ed638388f3d0ad1bd536b4fbb3cc1ff060e133109cee9681c8ac48052
DIST softhsm-2.6.1.tar.gz 1066766 BLAKE2B 0295c5f40235c8abd8879a8c6f7fbe8e8d686ee03355006e9c90c0f2f7135eaf6794a3d39febda1b1ed6e5d48dcacb1e14dae85fb0efb884d0d719bfc6624b92 SHA512 e77137096ff2ac2f5396971efbaa2007188855a8f723cb511182c6c5e5a353b3f98297442758e77a18c3a378c0ca3fce8abe090977f0f4f8d526de204fd523fb
diff --git a/dev-libs/softhsm/metadata.xml b/dev-libs/softhsm/metadata.xml
index 73e6a5df718a..61d4cdeef207 100644
--- a/dev-libs/softhsm/metadata.xml
+++ b/dev-libs/softhsm/metadata.xml
@@ -6,4 +6,7 @@
<flag name="gost">Enable gost algorithm</flag>
<flag name="migration-tool">Build db migration tool</flag>
</use>
+ <upstream>
+ <remote-id type="github">opendnssec/SoftHSMv2</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/dev-libs/softhsm/softhsm-2.6.1-r1.ebuild b/dev-libs/softhsm/softhsm-2.6.1-r1.ebuild
deleted file mode 100644
index c7e6688a6e9a..000000000000
--- a/dev-libs/softhsm/softhsm-2.6.1-r1.ebuild
+++ /dev/null
@@ -1,48 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-DESCRIPTION="A software PKCS#11 implementation"
-HOMEPAGE="https://www.opendnssec.org/"
-SRC_URI="https://www.opendnssec.org/files/source/${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="2"
-KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~riscv ~sparc x86"
-IUSE="bindist gost migration-tool test"
-
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- migration-tool? ( dev-db/sqlite:3= )
- dev-libs/openssl:0=[bindist(-)=]
- !~dev-libs/softhsm-2.0.0:0
-"
-DEPEND="${RDEPEND}"
-BDEPEND="
- sys-devel/gcc:=[cxx]
- virtual/pkgconfig
- test? ( dev-util/cppunit )
-"
-
-DOCS=( NEWS README.md )
-
-src_configure() {
- econf \
- --disable-static \
- --with-crypto-backend=openssl \
- --disable-p11-kit \
- --localstatedir="${EPREFIX}/var" \
- $(use_enable !bindist ecc) \
- $(use_enable gost) \
- $(use_with migration-tool migrate)
-}
-
-src_install() {
- default
-
- find "${ED}" -name '*.la' -delete || die
-
- keepdir /var/lib/softhsm/tokens
-}
diff --git a/dev-libs/softhsm/softhsm-2.6.1-r2.ebuild b/dev-libs/softhsm/softhsm-2.6.1-r2.ebuild
index cb48ec27b916..dc8c0e0ad289 100644
--- a/dev-libs/softhsm/softhsm-2.6.1-r2.ebuild
+++ b/dev-libs/softhsm/softhsm-2.6.1-r2.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
@@ -9,7 +9,7 @@ SRC_URI="https://www.opendnssec.org/files/source/${P}.tar.gz"
LICENSE="BSD"
SLOT="2"
-KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~riscv ~sparc x86"
+KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc x86"
IUSE="gost migration-tool test"
RESTRICT="!test? ( test )"
diff --git a/dev-libs/softhsm/softhsm-2.6.1-r3.ebuild b/dev-libs/softhsm/softhsm-2.6.1-r3.ebuild
new file mode 100644
index 000000000000..4e6bb2768abb
--- /dev/null
+++ b/dev-libs/softhsm/softhsm-2.6.1-r3.ebuild
@@ -0,0 +1,61 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit flag-o-matic
+
+DESCRIPTION="A software PKCS#11 implementation"
+HOMEPAGE="https://www.opendnssec.org/"
+SRC_URI="https://www.opendnssec.org/files/source/${P}.tar.gz"
+SRC_URI+=" https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${PN}-2.6.1-patches.tar.xz"
+
+LICENSE="BSD"
+SLOT="2"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86"
+IUSE="gost migration-tool test"
+
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ migration-tool? ( dev-db/sqlite:3= )
+ dev-libs/openssl:=
+ !~dev-libs/softhsm-2.0.0:0
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ sys-devel/gcc:=[cxx]
+ virtual/pkgconfig
+ test? ( dev-util/cppunit )
+"
+
+DOCS=( NEWS README.md )
+
+PATCHES=(
+ "${WORKDIR}"/${PN}-2.6.1-patches/${PN}-2.6.1-onexit.patch
+ "${WORKDIR}"/${PN}-2.6.1-patches/${PN}-2.6.1-openssl3-tests.patch
+ "${WORKDIR}"/${PN}-2.6.1-patches/${PN}-2.6.1-uninitialised.patch
+ "${WORKDIR}"/${PN}-2.6.1-patches/${PN}-2.6.1-prevent-global-deleted-objects-access.patch
+)
+
+src_configure() {
+ # Test failures with LTO (bug #867637)
+ append-flags -fno-strict-aliasing
+ filter-lto
+
+ econf \
+ --with-crypto-backend=openssl \
+ --disable-p11-kit \
+ --localstatedir="${EPREFIX}/var" \
+ --enable-ecc \
+ $(use_enable gost) \
+ $(use_with migration-tool migrate)
+}
+
+src_install() {
+ default
+
+ find "${ED}" -name '*.la' -delete || die
+
+ keepdir /var/lib/softhsm/tokens
+}
diff --git a/dev-libs/sord/Manifest b/dev-libs/sord/Manifest
index 3a2424291494..06caaaff6513 100644
--- a/dev-libs/sord/Manifest
+++ b/dev-libs/sord/Manifest
@@ -1 +1 @@
-DIST sord-0.16.8.tar.bz2 525038 BLAKE2B 3ba43b2edb69efec64ac68f139a18f23dc1b92290b054f420c400d2907af74fa550b042596374136c53b7cf0db1b775cfc7edd24c771bbf26d25928845787c7b SHA512 24ed50de8e5bb321e557bac6d3e441b2ed49adabf828bf0e1b33a080c89306dde80443dc8b563098fcc184c4d6e53b7e716b523ddccdf56d08301d1b0120f2b2
+DIST sord-0.16.16.tar.xz 107148 BLAKE2B e657f6e4d38df1c254ce6282ae54a6795e29fd60546373a2b4e1560b269658fa69dd93af4d6f75eaa73f9f777a2d82f99f80d34fd65e1001b8231b63af71029f SHA512 8728fa01466e8f64c1a70a6d4ce727cdac3aaba78db0163ad511d7e959a260c95ab47405cce24ca0e076fb1f0da761687d788cddef87a96aa813757d10f0bfe0
diff --git a/dev-libs/sord/files/sord-0.16.8-fix-crash-with-optimized-builds-with-gcc-10.1.0.patch b/dev-libs/sord/files/sord-0.16.8-fix-crash-with-optimized-builds-with-gcc-10.1.0.patch
deleted file mode 100644
index c7f3e66c79f9..000000000000
--- a/dev-libs/sord/files/sord-0.16.8-fix-crash-with-optimized-builds-with-gcc-10.1.0.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From 616517f44ceeacb26592e50e2bf914aad2d93b90 Mon Sep 17 00:00:00 2001
-From: David Robillard <d@drobilla.net>
-Date: Fri, 17 Jul 2020 15:38:38 +0200
-Subject: [PATCH] Fix crash with optimized builds with GCC 10.1.0
-
----
- src/zix/btree.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/zix/btree.c b/src/zix/btree.c
-index 78a5a0d..d830008 100644
---- a/src/zix/btree.c
-+++ b/src/zix/btree.c
-@@ -689,7 +689,7 @@ zix_btree_begin(const ZixBTree* const t)
- ZIX_API bool
- zix_btree_iter_is_end(const ZixBTreeIter* const i)
- {
-- return !i || i->stack[0].node == NULL;
-+ return !i || (i->level == 0 && i->stack[0].node == NULL);
- }
-
- ZIX_API void
---
-GitLab
-
diff --git a/dev-libs/sord/metadata.xml b/dev-libs/sord/metadata.xml
index 3fed8a8997c3..c0ad8befb5cf 100644
--- a/dev-libs/sord/metadata.xml
+++ b/dev-libs/sord/metadata.xml
@@ -1,8 +1,14 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
-<maintainer type="project">
- <email>proaudio@gentoo.org</email>
- <name>Gentoo ProAudio Project</name>
-</maintainer>
+ <maintainer type="project">
+ <email>proaudio@gentoo.org</email>
+ <name>Gentoo ProAudio Project</name>
+ </maintainer>
+ <use>
+ <flag name="tools">Build command line utilities</flag>
+ </use>
+ <upstream>
+ <remote-id type="github">drobilla/sord</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/dev-libs/sord/sord-0.16.16-r1.ebuild b/dev-libs/sord/sord-0.16.16-r1.ebuild
new file mode 100644
index 000000000000..b8de1f60d321
--- /dev/null
+++ b/dev-libs/sord/sord-0.16.16-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 meson-multilib
+
+if [[ ${PV} == 9999 ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/drobilla/sord.git"
+else
+ SRC_URI="https://download.drobilla.net/${P}.tar.xz"
+ KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~sparc x86"
+fi
+
+DESCRIPTION="Library for storing RDF data in memory"
+HOMEPAGE="https://drobilla.net/software/sord.html"
+
+LICENSE="ISC"
+SLOT="0"
+IUSE="doc test tools"
+RESTRICT="!test? ( test )"
+
+BDEPEND="
+ virtual/pkgconfig
+ doc? (
+ app-text/doxygen
+ dev-python/sphinx
+ dev-python/sphinx-lv2-theme
+ dev-python/sphinxygen
+ )
+"
+# Take care on bumps to check minimum versions!
+RDEPEND="
+ >=dev-libs/serd-0.30.10[${MULTILIB_USEDEP}]
+ >=dev-libs/zix-0.4.0[${MULTILIB_USEDEP}]
+ tools? ( dev-libs/libpcre2[${MULTILIB_USEDEP}] )
+"
+DEPEND="${RDEPEND}"
+
+src_prepare() {
+ default
+
+ # fix doc installation path
+ sed -i "s/versioned_name/'${PF}'/g" doc/meson.build || die
+}
+
+multilib_src_configure() {
+ local emesonargs=(
+ $(meson_native_use_feature doc docs)
+ $(meson_feature test tests)
+ $(meson_feature tools)
+ )
+
+ meson_src_configure
+}
+
+multilib_src_install_all() {
+ local DOCS=( AUTHORS NEWS README.md )
+ einstalldocs
+}
diff --git a/dev-libs/sord/sord-0.16.8-r1.ebuild b/dev-libs/sord/sord-0.16.8-r1.ebuild
deleted file mode 100644
index 7e4fb5a789ae..000000000000
--- a/dev-libs/sord/sord-0.16.8-r1.ebuild
+++ /dev/null
@@ -1,63 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{8..10} )
-PYTHON_REQ_USE='threads(+)'
-inherit python-any-r1 waf-utils multilib-build multilib-minimal
-
-DESCRIPTION="Library for storing RDF data in memory"
-HOMEPAGE="http://drobilla.net/software/sord/"
-SRC_URI="http://download.drobilla.net/${P}.tar.bz2"
-
-LICENSE="ISC"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ppc ppc64 ~riscv ~sparc x86"
-IUSE="doc static-libs test"
-RESTRICT="!test? ( test )"
-
-BDEPEND="
- virtual/pkgconfig
- doc? ( app-doc/doxygen )
-"
-RDEPEND="
- dev-libs/libpcre
- dev-libs/serd
-"
-DEPEND="${RDEPEND}
- ${PYTHON_DEPS}
-"
-DOCS=( "AUTHORS" "NEWS" "README.md" )
-
-PATCHES=(
- "${FILESDIR}/${P}-fix-crash-with-optimized-builds-with-gcc-10.1.0.patch"
-)
-
-src_prepare() {
- sed -i -e 's/^.*run_ldconfig/#\0/' wscript || die
- default
- multilib_copy_sources
-}
-
-multilib_src_configure() {
- waf-utils_src_configure \
- --docdir=/usr/share/doc/${PF} \
- $(multilib_native_usex doc --docs "") \
- $(usex test --test "") \
- $(usex static-libs --static "")
-}
-
-multilib_src_test() {
- ./waf test || die
-}
-
-multilib_src_compile() {
- waf-utils_src_compile
- default
-}
-
-multilib_src_install() {
- waf-utils_src_install
- default
-}
diff --git a/dev-libs/sord/sord-9999.ebuild b/dev-libs/sord/sord-9999.ebuild
index 815103371d51..e07c89d97856 100644
--- a/dev-libs/sord/sord-9999.ebuild
+++ b/dev-libs/sord/sord-9999.ebuild
@@ -1,59 +1,61 @@
-# 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_{8..10} )
-PYTHON_REQ_USE='threads(+)'
-inherit python-any-r1 waf-utils multilib-build multilib-minimal git-r3
+inherit meson-multilib
+
+if [[ ${PV} == 9999 ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/drobilla/sord.git"
+else
+ SRC_URI="https://download.drobilla.net/${P}.tar.xz"
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86"
+fi
DESCRIPTION="Library for storing RDF data in memory"
-HOMEPAGE="http://drobilla.net/software/sord/"
-EGIT_REPO_URI="https://github.com/drobilla/sord.git"
+HOMEPAGE="https://drobilla.net/software/sord.html"
LICENSE="ISC"
SLOT="0"
-KEYWORDS=""
-IUSE="doc static-libs test"
+IUSE="doc test tools"
RESTRICT="!test? ( test )"
BDEPEND="
virtual/pkgconfig
- doc? ( app-doc/doxygen )
+ doc? (
+ app-text/doxygen
+ dev-python/sphinx
+ dev-python/sphinx-lv2-theme
+ dev-python/sphinxygen
+ )
"
+# Take care on bumps to check minimum versions!
RDEPEND="
- dev-libs/libpcre
- dev-libs/serd
-"
-DEPEND="${RDEPEND}
- ${PYTHON_DEPS}
+ >=dev-libs/serd-0.30.10[${MULTILIB_USEDEP}]
+ >=dev-libs/zix-0.4.0[${MULTILIB_USEDEP}]
+ tools? ( dev-libs/libpcre2[${MULTILIB_USEDEP}] )
"
-DOCS=( "AUTHORS" "NEWS" "README.md" )
+DEPEND="${RDEPEND}"
src_prepare() {
- sed -i -e 's/^.*run_ldconfig/#\0/' wscript || die
default
- multilib_copy_sources
-}
-multilib_src_configure() {
- waf-utils_src_configure \
- --docdir=/usr/share/doc/${PF} \
- $(multilib_native_usex doc --docs "") \
- $(usex test --test "") \
- $(usex static-libs --static "")
+ # fix doc installation path
+ sed -i "s/versioned_name/'${PF}'/g" doc/meson.build || die
}
-multilib_src_test() {
- ./waf test || die
-}
+multilib_src_configure() {
+ local emesonargs=(
+ $(meson_native_use_feature doc docs)
+ $(meson_feature test tests)
+ $(meson_feature tools)
+ )
-multilib_src_compile() {
- waf-utils_src_compile
- default
+ meson_src_configure
}
-multilib_src_install() {
- waf-utils_src_install
- default
+multilib_src_install_all() {
+ local DOCS=( AUTHORS NEWS README.md )
+ einstalldocs
}
diff --git a/dev-libs/spdlog/Manifest b/dev-libs/spdlog/Manifest
index 2239849f32bd..ea3f87cdbd7e 100644
--- a/dev-libs/spdlog/Manifest
+++ b/dev-libs/spdlog/Manifest
@@ -1,4 +1,3 @@
-DIST spdlog-1.8.2.tar.gz 319010 BLAKE2B a17ac7691c74600e435cff9d45495a7f7e8ae5439400a9f0b02c3891daca232aa57b25ba6d619ce19d50bf053b28454a7e4f205ed439ca4345dd044390512a29 SHA512 7a0a2353a10187cc314253b366fc46be8f9fe2480d2cbac3a96a8e6825ee4b62b0a5ebb3add2b22b5d7ca8fe6dddd963926603e5296e3431c0a4f7ac42beda7f
-DIST spdlog-1.8.5.tar.gz 321229 BLAKE2B 2cdc1902a9e6f51da5c1af02b2961914a5437cfefec13aaaca8b996166c0990f602c811f69569a8812d880f995b401af44457ec4255bc5a0f9e46b51266d1b43 SHA512 77cc9df0c40bbdbfe1f3e5818dccf121918bfceac28f2608f39e5bf944968b7e8e24a6fc29f01bc58a9bae41b8892d49cfb59c196935ec9868884320b50f130c
-DIST spdlog-1.9.2-update-catch-glibc-2.34.patch.bz2 54615 BLAKE2B 62b707fef02c7876692f7cc67119ea2b1a712d005d5367e5afdc50f42d6762f370a463ca3194e6850c059c679aef0e908471e0362afa2dc44a8bf7aaf19af2b0 SHA512 5d9868de7968ecf2c17b5fbb1199e70b064551bc2474fe563770d1e8d4b5f6d46d371091284c3bd10b47b3c7e94b134252e16f26b1834eff4390896acd773ecb
-DIST spdlog-1.9.2.tar.gz 327799 BLAKE2B 8e4cce17887509512c0d3a63485f9271098bdf7f853c2a07adb8d46459c1039d93d16d05cb60963c1bbc754f6af6ba3af1a66c69bc421bf234f676231c8c1315 SHA512 87b12a792cf2d740ef29db4b6055788a487b6d474662b878711b8a5534efea5f0d97b6ac357834500b66cc65e1ba8934446a695e9691fd5d4b95397b6871555c
+DIST spdlog-1.11.0.tar.gz 373033 BLAKE2B a05a535ba55641ecb3bf484eeff902f266bf3967cfbd619234ab0ca2d0c15bddb27b73ce43c33623d02fb046f621933cd52cf39f377f354182d9cdab33340f28 SHA512 210f3135c7af3ec774ef9a5c77254ce172a44e2fa720bf590e1c9214782bf5c8140ff683403a85b585868bc308286fbdeb1c988e4ed1eb3c75975254ffe75412
+DIST spdlog-1.12.0.tar.gz 251037 BLAKE2B 3170f1e680fc4652ed8ddc0f74627aec22149f028def599fc5ed4db3a942d840006963789577f2e3df0e2b8ca1d98a881f3b96be5e1174fdf0acea15b3676d6e SHA512 db9a4f13b6c39ffde759db99bcdfe5e2dbe4231e73b29eb906a3fa78d6b8ec66920b8bd4371df17ae21b7b562472a236bc4435678f3af92b6496be090074181d
+DIST spdlog-1.13.0.tar.gz 264003 BLAKE2B 8ffeec847f082a0932f406ab44b4653661fdbe95a15f7b736367ee6d8f45ab36ca2182a9e9c6fba5c0688ab5436c16932b130541a8532cc2e5f4980e6340b929 SHA512 44fcb414ad9fbbe2a6d72c29143eeeae477b687ed30ae870d661b032a029ad4214ef43e7ef6350d02791d05504492978ade2d6733fab12ce4884d8f0bc4c6340
diff --git a/dev-libs/spdlog/files/spdlog-1.12.0-fix-tests.patch b/dev-libs/spdlog/files/spdlog-1.12.0-fix-tests.patch
new file mode 100644
index 000000000000..8ad33f4fc8d0
--- /dev/null
+++ b/dev-libs/spdlog/files/spdlog-1.12.0-fix-tests.patch
@@ -0,0 +1,13 @@
+diff --git a/tests/test_misc.cpp b/tests/test_misc.cpp
+index 9f3cb1744..6199641ff 100644
+--- a/tests/test_misc.cpp
++++ b/tests/test_misc.cpp
+@@ -43,7 +43,7 @@ TEST_CASE("log_levels", "[log_levels]")
+ REQUIRE(log_info("Hello", spdlog::level::trace) == "Hello");
+ }
+
+-TEST_CASE("level_to_string_view", "[convert_to_string_view")
++TEST_CASE("level_to_string_view", "[convert_to_string_view]")
+ {
+ REQUIRE(spdlog::level::to_string_view(spdlog::level::trace) == "trace");
+ REQUIRE(spdlog::level::to_string_view(spdlog::level::debug) == "debug");
diff --git a/dev-libs/spdlog/files/spdlog-1.8.5-libfmt-8-fix.patch b/dev-libs/spdlog/files/spdlog-1.8.5-libfmt-8-fix.patch
deleted file mode 100644
index f59a9bca4b30..000000000000
--- a/dev-libs/spdlog/files/spdlog-1.8.5-libfmt-8-fix.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-See upstream https://github.com/gabime/spdlog/issues/1975
-
---- a/include/spdlog/common-inl.h 2021-06-21 17:15:26.695992698 -0600
-+++ b/include/spdlog/common-inl.h 2021-06-21 17:15:52.205992496 -0600
-@@ -60,7 +60,7 @@
- SPDLOG_INLINE spdlog_ex::spdlog_ex(const std::string &msg, int last_errno)
- {
- memory_buf_t outbuf;
-- fmt::format_system_error(outbuf, last_errno, msg);
-+ fmt::format_system_error(outbuf, last_errno, msg.c_str());
- msg_ = fmt::to_string(outbuf);
- }
-
diff --git a/dev-libs/spdlog/files/spdlog-fmt-10.patch b/dev-libs/spdlog/files/spdlog-fmt-10.patch
new file mode 100644
index 000000000000..5ee44c41ea6a
--- /dev/null
+++ b/dev-libs/spdlog/files/spdlog-fmt-10.patch
@@ -0,0 +1,121 @@
+diff --git a/include/spdlog/sinks/daily_file_sink.h b/include/spdlog/sinks/daily_file_sink.h
+index f6f1bb1d..90af9676 100644
+--- a/include/spdlog/sinks/daily_file_sink.h
++++ b/include/spdlog/sinks/daily_file_sink.h
+@@ -13,6 +13,9 @@
+ #include <spdlog/details/circular_q.h>
+ #include <spdlog/details/synchronous_factory.h>
+
++#include <iostream>
++#include <sstream>
++#include <iomanip>
+ #include <chrono>
+ #include <cstdio>
+ #include <ctime>
+@@ -46,46 +49,15 @@ struct daily_filename_calculator
+ */
+ struct daily_filename_format_calculator
+ {
+- static filename_t calc_filename(const filename_t &filename, const tm &now_tm)
++ static filename_t calc_filename(const filename_t &file_path, const tm &now_tm)
+ {
+-#ifdef SPDLOG_USE_STD_FORMAT
+- // adapted from fmtlib: https://github.com/fmtlib/fmt/blob/8.0.1/include/fmt/chrono.h#L522-L546
+-
+- filename_t tm_format;
+- tm_format.append(filename);
+- // By appending an extra space we can distinguish an empty result that
+- // indicates insufficient buffer size from a guaranteed non-empty result
+- // https://github.com/fmtlib/fmt/issues/2238
+- tm_format.push_back(' ');
+-
+- const size_t MIN_SIZE = 10;
+- filename_t buf;
+- buf.resize(MIN_SIZE);
+- for (;;)
+- {
+- size_t count = strftime(buf.data(), buf.size(), tm_format.c_str(), &now_tm);
+- if (count != 0)
+- {
+- // Remove the extra space.
+- buf.resize(count - 1);
+- break;
+- }
+- buf.resize(buf.size() * 2);
+- }
+-
+- return buf;
++#if defined(_WIN32) && defined(SPDLOG_WCHAR_FILENAMES)
++ std::wstringstream stream;
+ #else
+- // generate fmt datetime format string, e.g. {:%Y-%m-%d}.
+- filename_t fmt_filename = fmt::format(SPDLOG_FMT_STRING(SPDLOG_FILENAME_T("{{:{}}}")), filename);
+-
+- // MSVC doesn't allow fmt::runtime(..) with wchar, with fmtlib versions < 9.1.x
+-# if defined(_MSC_VER) && defined(SPDLOG_WCHAR_FILENAMES) && FMT_VERSION < 90101
+- return fmt::format(fmt_filename, now_tm);
+-# else
+- return fmt::format(SPDLOG_FMT_RUNTIME(fmt_filename), now_tm);
+-# endif
+-
++ std::stringstream stream;
+ #endif
++ stream << std::put_time(&now_tm, file_path.c_str());
++ return stream.str();
+ }
+
+ private:
+diff --git a/include/spdlog/logger.h b/include/spdlog/logger.h
+index 71544e84..1d802f32 100644
+--- a/include/spdlog/logger.h
++++ b/include/spdlog/logger.h
+@@ -369,9 +369,9 @@ protected:
+ {
+ memory_buf_t buf;
+ #ifdef SPDLOG_USE_STD_FORMAT
+- fmt_lib::vformat_to(std::back_inserter(buf), fmt, fmt_lib::make_format_args(std::forward<Args>(args)...));
++ fmt_lib::vformat_to(std::back_inserter(buf), fmt, fmt_lib::make_format_args(args...));
+ #else
+- fmt::vformat_to(fmt::appender(buf), fmt, fmt::make_format_args(std::forward<Args>(args)...));
++ fmt::vformat_to(fmt::appender(buf), fmt, fmt::make_format_args(args...));
+ #endif
+
+ details::log_msg log_msg(loc, name_, lvl, string_view_t(buf.data(), buf.size()));
+@@ -395,10 +395,9 @@ protected:
+ // format to wmemory_buffer and convert to utf8
+ wmemory_buf_t wbuf;
+ # ifdef SPDLOG_USE_STD_FORMAT
+- fmt_lib::vformat_to(
+- std::back_inserter(wbuf), fmt, fmt_lib::make_format_args<fmt_lib::wformat_context>(std::forward<Args>(args)...));
++ fmt_lib::vformat_to(std::back_inserter(wbuf), fmt, fmt_lib::make_format_args<fmt_lib::wformat_context>(args...));
+ # else
+- fmt::vformat_to(std::back_inserter(wbuf), fmt, fmt::make_format_args<fmt::wformat_context>(std::forward<Args>(args)...));
++ fmt::vformat_to(std::back_inserter(wbuf), fmt, fmt::make_format_args<fmt::wformat_context>(args...));
+ # endif
+
+ memory_buf_t buf;
+diff --git a/include/spdlog/common.h b/include/spdlog/common.h
+index e69201a8..5f671c5c 100644
+--- a/include/spdlog/common.h
++++ b/include/spdlog/common.h
+@@ -173,12 +173,19 @@ using format_string_t = fmt::format_string<Args...>;
+ template<class T>
+ using remove_cvref_t = typename std::remove_cv<typename std::remove_reference<T>::type>::type;
+
++template <typename Char>
++#if FMT_VERSION >= 90101
++using fmt_runtime_string = fmt::runtime_format_string<Char>;
++#else
++using fmt_runtime_string = fmt::basic_runtime<Char>;
++#endif
++
+ // clang doesn't like SFINAE disabled constructor in std::is_convertible<> so have to repeat the condition from basic_format_string here,
+ // in addition, fmt::basic_runtime<Char> is only convertible to basic_format_string<Char> but not basic_string_view<Char>
+ template<class T, class Char = char>
+ struct is_convertible_to_basic_format_string
+ : std::integral_constant<bool,
+- std::is_convertible<T, fmt::basic_string_view<Char>>::value || std::is_same<remove_cvref_t<T>, fmt::basic_runtime<Char>>::value>
++ std::is_convertible<T, fmt::basic_string_view<Char>>::value || std::is_same<remove_cvref_t<T>, fmt_runtime_string<Char>>::value>
+ {};
+
+ # if defined(SPDLOG_WCHAR_FILENAMES) || defined(SPDLOG_WCHAR_TO_UTF8_SUPPORT)
diff --git a/dev-libs/spdlog/files/spdlog-force_external_fmt.patch b/dev-libs/spdlog/files/spdlog-force_external_fmt.patch
new file mode 100644
index 000000000000..79bbd94b34cd
--- /dev/null
+++ b/dev-libs/spdlog/files/spdlog-force_external_fmt.patch
@@ -0,0 +1,15 @@
+diff --git a/include/spdlog/tweakme.h b/include/spdlog/tweakme.h
+index 24361f30..6b4fc14c 100644
+--- a/include/spdlog/tweakme.h
++++ b/include/spdlog/tweakme.h
+@@ -71,7 +71,9 @@
+ // In this case spdlog will try to include <fmt/format.h> so set your -I flag
+ // accordingly.
+ //
+-// #define SPDLOG_FMT_EXTERNAL
++#ifndef SPDLOG_FMT_EXTERNAL
++#define SPDLOG_FMT_EXTERNAL
++#endif
+ ///////////////////////////////////////////////////////////////////////////////
+
+ ///////////////////////////////////////////////////////////////////////////////
diff --git a/dev-libs/spdlog/files/spdlog-musl-1.2.4.patch b/dev-libs/spdlog/files/spdlog-musl-1.2.4.patch
new file mode 100644
index 000000000000..cd1240d36f46
--- /dev/null
+++ b/dev-libs/spdlog/files/spdlog-musl-1.2.4.patch
@@ -0,0 +1,30 @@
+https://bugs.gentoo.org/906954
+https://github.com/gabime/spdlog/commit/287a00d364990edbb621fe5e392aeb550135fb96
+
+From 287a00d364990edbb621fe5e392aeb550135fb96 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 3 Jan 2023 09:54:50 -0800
+Subject: [PATCH] Do not use LFS64 functions on linux/musl (#2589)
+
+On musl, off_t is 64bit always ( even on 32bit platforms ), therefore
+using LFS64 funcitons is not needed on such platforms. Moreover, musl
+has stopped providing aliases for these functions [1] which means it
+wont compile on newer musl systems. Therefore only use it on 32bit
+glibc/linux platforms and exclude musl like cygwin or OSX
+
+[1] https://git.musl-libc.org/cgit/musl/commit/?id=246f1c811448f37a44b41cd8df8d0ef9736d95f4
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+--- a/include/spdlog/details/os-inl.h
++++ b/include/spdlog/details/os-inl.h
+@@ -236,8 +236,8 @@ SPDLOG_INLINE size_t filesize(FILE *f)
+ # else
+ int fd = ::fileno(f);
+ # endif
+-// 64 bits(but not in osx or cygwin, where fstat64 is deprecated)
+-# if (defined(__linux__) || defined(__sun) || defined(_AIX)) && (defined(__LP64__) || defined(_LP64))
++// 64 bits(but not in osx, linux/musl or cygwin, where fstat64 is deprecated)
++# if ((defined(__linux__) && defined(__GLIBC__)) || defined(__sun) || defined(_AIX)) && (defined(__LP64__) || defined(_LP64))
+ struct stat64 st;
+ if (::fstat64(fd, &st) == 0)
+ {
+
diff --git a/dev-libs/spdlog/spdlog-1.11.0-r3.ebuild b/dev-libs/spdlog/spdlog-1.11.0-r3.ebuild
new file mode 100644
index 000000000000..508bcb7398b0
--- /dev/null
+++ b/dev-libs/spdlog/spdlog-1.11.0-r3.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
+
+DESCRIPTION="Fast C++ logging library"
+HOMEPAGE="https://github.com/gabime/spdlog"
+
+if [[ ${PV} == *9999 ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/gabime/${PN}"
+else
+ SRC_URI="https://github.com/gabime/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="amd64 arm arm64 hppa ~loong ppc ppc64 ~riscv sparc x86"
+fi
+
+LICENSE="MIT"
+SLOT="0/1"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+BDEPEND="
+ virtual/pkgconfig
+"
+
+DEPEND="
+ dev-libs/libfmt
+"
+
+RDEPEND="${DEPEND}"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-force_external_fmt.patch"
+ "${FILESDIR}/${PN}-fmt-10.patch"
+ "${FILESDIR}/${PN}-musl-1.2.4.patch"
+)
+
+src_prepare() {
+ cmake_src_prepare
+ rm -r include/spdlog/fmt/bundled || die "Failed to delete bundled libfmt"
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DSPDLOG_BUILD_BENCH=no
+ -DSPDLOG_BUILD_EXAMPLE=no
+ -DSPDLOG_FMT_EXTERNAL=yes
+ -DSPDLOG_BUILD_SHARED=yes
+ -DSPDLOG_BUILD_TESTS=$(usex test)
+ )
+
+ cmake_src_configure
+}
diff --git a/dev-libs/spdlog/spdlog-1.12.0-r2.ebuild b/dev-libs/spdlog/spdlog-1.12.0-r2.ebuild
new file mode 100644
index 000000000000..7c8d0692cb59
--- /dev/null
+++ b/dev-libs/spdlog/spdlog-1.12.0-r2.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
+
+DESCRIPTION="Fast C++ logging library"
+HOMEPAGE="https://github.com/gabime/spdlog"
+
+if [[ ${PV} == *9999 ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/gabime/${PN}"
+else
+ SRC_URI="https://github.com/gabime/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ppc ppc64 ~riscv ~s390 sparc x86"
+fi
+
+LICENSE="MIT"
+SLOT="0/$(ver_cut 1-2)"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+BDEPEND="
+ virtual/pkgconfig
+ test? (
+ >=dev-cpp/catch-3.4.0
+ )
+"
+DEPEND="
+ >=dev-libs/libfmt-8.0.0:=
+"
+RDEPEND="${DEPEND}"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-force_external_fmt.patch"
+ "${FILESDIR}/${P}-fix-tests.patch"
+)
+
+src_prepare() {
+ cmake_src_prepare
+ rm -r include/spdlog/fmt/bundled || die "Failed to delete bundled libfmt"
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DSPDLOG_BUILD_BENCH=no
+ -DSPDLOG_BUILD_EXAMPLE=no
+ -DSPDLOG_FMT_EXTERNAL=yes
+ -DSPDLOG_BUILD_SHARED=yes
+ -DSPDLOG_BUILD_TESTS=$(usex test)
+ )
+
+ cmake_src_configure
+}
diff --git a/dev-libs/spdlog/spdlog-1.13.0.ebuild b/dev-libs/spdlog/spdlog-1.13.0.ebuild
new file mode 100644
index 000000000000..bdb630b7d8d3
--- /dev/null
+++ b/dev-libs/spdlog/spdlog-1.13.0.ebuild
@@ -0,0 +1,54 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+DESCRIPTION="Fast C++ logging library"
+HOMEPAGE="https://github.com/gabime/spdlog"
+
+if [[ ${PV} == *9999 ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/gabime/${PN}"
+else
+ SRC_URI="https://github.com/gabime/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+fi
+
+LICENSE="MIT"
+SLOT="0/$(ver_cut 1-2)"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+BDEPEND="
+ virtual/pkgconfig
+ test? (
+ >=dev-cpp/catch-3.4.0
+ )
+"
+DEPEND="
+ >=dev-libs/libfmt-8.0.0:=
+"
+RDEPEND="${DEPEND}"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-force_external_fmt.patch"
+)
+
+src_prepare() {
+ cmake_src_prepare
+ rm -r include/spdlog/fmt/bundled || die "Failed to delete bundled libfmt"
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DSPDLOG_BUILD_BENCH=no
+ -DSPDLOG_BUILD_EXAMPLE=no
+ -DSPDLOG_FMT_EXTERNAL=yes
+ -DSPDLOG_BUILD_SHARED=yes
+ -DSPDLOG_BUILD_TESTS=$(usex test)
+ )
+
+ cmake_src_configure
+}
diff --git a/dev-libs/spdlog/spdlog-1.8.2.ebuild b/dev-libs/spdlog/spdlog-1.8.2.ebuild
deleted file mode 100644
index f1f85aae2ff3..000000000000
--- a/dev-libs/spdlog/spdlog-1.8.2.ebuild
+++ /dev/null
@@ -1,47 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit cmake
-
-DESCRIPTION="Very fast, header only, C++ logging library"
-HOMEPAGE="https://github.com/gabime/spdlog"
-
-if [[ ${PV} == *9999 ]]; then
- inherit git-r3
- EGIT_REPO_URI="https://github.com/gabime/${PN}"
-else
- SRC_URI="https://github.com/gabime/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
- KEYWORDS="amd64 arm arm64 ppc ppc64 x86"
-fi
-
-LICENSE="MIT"
-SLOT="0/1"
-IUSE="test"
-RESTRICT="!test? ( test )"
-
-BDEPEND="
- virtual/pkgconfig
-"
-DEPEND="
- >=dev-libs/libfmt-6.1.2:=
-"
-RDEPEND="${DEPEND}"
-
-src_prepare() {
- cmake_src_prepare
- rm -r include/spdlog/fmt/bundled || die "Failed to delete bundled libfmt"
-}
-
-src_configure() {
- local mycmakeargs=(
- -DSPDLOG_BUILD_BENCH=no
- -DSPDLOG_BUILD_EXAMPLE=no
- -DSPDLOG_FMT_EXTERNAL=yes
- -DSPDLOG_BUILD_SHARED=yes
- -DSPDLOG_BUILD_TESTS=$(usex test)
- )
-
- cmake_src_configure
-}
diff --git a/dev-libs/spdlog/spdlog-1.8.5-r1.ebuild b/dev-libs/spdlog/spdlog-1.8.5-r1.ebuild
deleted file mode 100644
index 26e7cb42bce4..000000000000
--- a/dev-libs/spdlog/spdlog-1.8.5-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="Very fast, header only, C++ logging library"
-HOMEPAGE="https://github.com/gabime/spdlog"
-
-if [[ ${PV} == *9999 ]]; then
- inherit git-r3
- EGIT_REPO_URI="https://github.com/gabime/${PN}"
-else
- SRC_URI="https://github.com/gabime/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
- KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~x86"
-fi
-
-LICENSE="MIT"
-SLOT="0/1"
-IUSE="test"
-RESTRICT="!test? ( test )"
-
-BDEPEND="
- virtual/pkgconfig
-"
-DEPEND="
- >=dev-libs/libfmt-6.1.2:=
-"
-RDEPEND="${DEPEND}"
-
-PATCHES=( "${FILESDIR}/${P}-libfmt-8-fix.patch" )
-
-src_prepare() {
- cmake_src_prepare
- rm -r include/spdlog/fmt/bundled || die "Failed to delete bundled libfmt"
-}
-
-src_configure() {
- local mycmakeargs=(
- -DSPDLOG_BUILD_BENCH=no
- -DSPDLOG_BUILD_EXAMPLE=no
- -DSPDLOG_FMT_EXTERNAL=yes
- -DSPDLOG_BUILD_SHARED=yes
- -DSPDLOG_BUILD_TESTS=$(usex test)
- )
-
- cmake_src_configure
-}
diff --git a/dev-libs/spdlog/spdlog-1.8.5.ebuild b/dev-libs/spdlog/spdlog-1.8.5.ebuild
deleted file mode 100644
index deb8aada3af3..000000000000
--- a/dev-libs/spdlog/spdlog-1.8.5.ebuild
+++ /dev/null
@@ -1,47 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit cmake
-
-DESCRIPTION="Very fast, header only, C++ logging library"
-HOMEPAGE="https://github.com/gabime/spdlog"
-
-if [[ ${PV} == *9999 ]]; then
- inherit git-r3
- EGIT_REPO_URI="https://github.com/gabime/${PN}"
-else
- SRC_URI="https://github.com/gabime/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
- KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~x86"
-fi
-
-LICENSE="MIT"
-SLOT="0/1"
-IUSE="test"
-RESTRICT="!test? ( test )"
-
-BDEPEND="
- virtual/pkgconfig
-"
-DEPEND="
- >=dev-libs/libfmt-6.1.2:=
-"
-RDEPEND="${DEPEND}"
-
-src_prepare() {
- cmake_src_prepare
- rm -r include/spdlog/fmt/bundled || die "Failed to delete bundled libfmt"
-}
-
-src_configure() {
- local mycmakeargs=(
- -DSPDLOG_BUILD_BENCH=no
- -DSPDLOG_BUILD_EXAMPLE=no
- -DSPDLOG_FMT_EXTERNAL=yes
- -DSPDLOG_BUILD_SHARED=yes
- -DSPDLOG_BUILD_TESTS=$(usex test)
- )
-
- cmake_src_configure
-}
diff --git a/dev-libs/spdlog/spdlog-1.9.2.ebuild b/dev-libs/spdlog/spdlog-1.9.2.ebuild
deleted file mode 100644
index f119cd7b33c6..000000000000
--- a/dev-libs/spdlog/spdlog-1.9.2.ebuild
+++ /dev/null
@@ -1,51 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit cmake
-
-DESCRIPTION="Very fast, header only, C++ logging library"
-HOMEPAGE="https://github.com/gabime/spdlog"
-
-if [[ ${PV} == *9999 ]]; then
- inherit git-r3
- EGIT_REPO_URI="https://github.com/gabime/${PN}"
-else
- SRC_URI="https://github.com/gabime/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
- # Temporary for bug #811750
- SRC_URI+=" test? ( https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${P}-update-catch-glibc-2.34.patch.bz2 )"
- KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~x86"
-fi
-
-LICENSE="MIT"
-SLOT="0/1"
-IUSE="test"
-RESTRICT="!test? ( test )"
-
-BDEPEND="
- virtual/pkgconfig
-"
-DEPEND="
- >=dev-libs/libfmt-8.0.0:=
-"
-RDEPEND="${DEPEND}"
-
-src_prepare() {
- use test && eapply "${WORKDIR}"/${P}-update-catch-glibc-2.34.patch
-
- cmake_src_prepare
- rm -r include/spdlog/fmt/bundled || die "Failed to delete bundled libfmt"
-}
-
-src_configure() {
- local mycmakeargs=(
- -DSPDLOG_BUILD_BENCH=no
- -DSPDLOG_BUILD_EXAMPLE=no
- -DSPDLOG_FMT_EXTERNAL=yes
- -DSPDLOG_BUILD_SHARED=yes
- -DSPDLOG_BUILD_TESTS=$(usex test)
- )
-
- cmake_src_configure
-}
diff --git a/dev-libs/spdlog/spdlog-9999.ebuild b/dev-libs/spdlog/spdlog-9999.ebuild
index b763f5c7e398..55c4ac137dc1 100644
--- a/dev-libs/spdlog/spdlog-9999.ebuild
+++ b/dev-libs/spdlog/spdlog-9999.ebuild
@@ -1,11 +1,11 @@
-# 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
-DESCRIPTION="Very fast, header only, C++ logging library"
+DESCRIPTION="Fast C++ logging library"
HOMEPAGE="https://github.com/gabime/spdlog"
if [[ ${PV} == *9999 ]]; then
@@ -13,22 +13,27 @@ if [[ ${PV} == *9999 ]]; then
EGIT_REPO_URI="https://github.com/gabime/${PN}"
else
SRC_URI="https://github.com/gabime/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
- KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~x86"
+ KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86"
fi
LICENSE="MIT"
-SLOT="0/1"
+SLOT="0/$(ver_cut 1-2)"
IUSE="test"
RESTRICT="!test? ( test )"
BDEPEND="
virtual/pkgconfig
+ test? ( dev-cpp/catch:0 )
"
DEPEND="
>=dev-libs/libfmt-8.0.0:=
"
RDEPEND="${DEPEND}"
+PATCHES=(
+ "${FILESDIR}/${PN}-force_external_fmt.patch"
+)
+
src_prepare() {
cmake_src_prepare
rm -r include/spdlog/fmt/bundled || die "Failed to delete bundled libfmt"
diff --git a/dev-libs/spsdeclib/spsdeclib-5.1-r1.ebuild b/dev-libs/spsdeclib/spsdeclib-5.1-r1.ebuild
deleted file mode 100644
index 8fff26de0fda..000000000000
--- a/dev-libs/spsdeclib/spsdeclib-5.1-r1.ebuild
+++ /dev/null
@@ -1,53 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit autotools
-
-DESCRIPTION="Kryoflux SPS Decoder Library"
-HOMEPAGE="https://www.kryoflux.com/"
-SRC_URI="https://www.kryoflux.com/download/${PN}_${PV}_source.zip"
-
-KEYWORDS="amd64 x86"
-LICENSE="Kryoflux-MAME"
-SLOT="0"
-
-BDEPEND="app-arch/unzip"
-
-S="${WORKDIR}/capsimg_source_linux_macosx/CAPSImg"
-
-DOCS=( "${WORKDIR}"/{DONATIONS,HISTORY,RELEASE}.txt )
-
-PATCHES=( "${FILESDIR}"/add_symlink.patch )
-
-src_unpack() {
- unpack ${A}
-
- # Unpacked ZIP-file contains two ZIP files, use the one for Linux
- unpack "${WORKDIR}"/capsimg_source_linux_macosx.zip
-}
-
-src_prepare() {
- default
-
- # Respect users CFLAGS and CXXFLAGS
- sed -i -e 's/-g//' configure.in || die
- sed -i -e 's/CXXFLAGS="${CFLAGS}/CXXFLAGS="${CXXFLAGS}/' configure.in || die
-
- # Remove MSVC compiler-specific attribute
- sed -i -e 's/__cdecl //' ../LibIPF/Caps{Lib,FDC}.h || die
-
- mv configure.in configure.ac || die
- eautoconf
-
- # Fix permissions, as configure is not marked executable
- chmod +x configure || die
-}
-
-src_install() {
- default
-
- insinto /usr/include/caps5
- doins ../Core/CommonTypes.h ../LibIPF/*.h
-}
diff --git a/dev-libs/spsdeclib/spsdeclib-5.1-r2.ebuild b/dev-libs/spsdeclib/spsdeclib-5.1-r2.ebuild
new file mode 100644
index 000000000000..20ce2239befb
--- /dev/null
+++ b/dev-libs/spsdeclib/spsdeclib-5.1-r2.ebuild
@@ -0,0 +1,52 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools
+
+DESCRIPTION="Kryoflux SPS Decoder Library"
+HOMEPAGE="https://www.kryoflux.com/"
+SRC_URI="https://www.kryoflux.com/download/${PN}_${PV}_source.zip"
+S="${WORKDIR}/capsimg_source_linux_macosx/CAPSImg"
+
+KEYWORDS="amd64 ~arm64 x86"
+LICENSE="Kryoflux-MAME"
+SLOT="0"
+
+BDEPEND="app-arch/unzip"
+
+DOCS=( "${WORKDIR}"/{DONATIONS,HISTORY,RELEASE}.txt )
+
+PATCHES=( "${FILESDIR}"/add_symlink.patch )
+
+src_unpack() {
+ unpack ${A}
+
+ # Unpacked ZIP-file contains two ZIP files, use the one for Linux
+ unpack "${WORKDIR}"/capsimg_source_linux_macosx.zip
+}
+
+src_prepare() {
+ default
+
+ # Respect users CFLAGS and CXXFLAGS
+ sed -i -e 's/-g//' configure.in || die
+ sed -i -e 's/CXXFLAGS="${CFLAGS}/CXXFLAGS="${CXXFLAGS}/' configure.in || die
+
+ # Remove MSVC compiler-specific attribute
+ sed -i -e 's/__cdecl //' ../LibIPF/Caps{Lib,FDC}.h || die
+
+ mv configure.in configure.ac || die
+ eautoconf
+
+ # Fix permissions, as configure is not marked executable
+ chmod +x configure || die
+}
+
+src_install() {
+ default
+
+ insinto /usr/include/caps5
+ doins ../Core/CommonTypes.h ../LibIPF/*.h
+}
diff --git a/dev-libs/squareball/squareball-0.2.0.ebuild b/dev-libs/squareball/squareball-0.2.0.ebuild
index f66cb329826c..d38119fc6536 100644
--- a/dev-libs/squareball/squareball-0.2.0.ebuild
+++ b/dev-libs/squareball/squareball-0.2.0.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
@@ -22,7 +22,7 @@ RESTRICT="!test? ( test )"
BDEPEND="
virtual/pkgconfig
- doc? ( app-doc/doxygen )
+ doc? ( app-text/doxygen )
"
DEPEND="test? ( dev-util/cmocka )"
diff --git a/dev-libs/squareball/squareball-9999.ebuild b/dev-libs/squareball/squareball-9999.ebuild
index 28dcbab67e2f..c08f98a1d5b7 100644
--- a/dev-libs/squareball/squareball-9999.ebuild
+++ b/dev-libs/squareball/squareball-9999.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
@@ -22,7 +22,7 @@ RESTRICT="!test? ( test )"
BDEPEND="
virtual/pkgconfig
- doc? ( app-doc/doxygen )
+ doc? ( app-text/doxygen )
"
DEPEND="test? ( dev-util/cmocka )"
diff --git a/dev-libs/starpu/Manifest b/dev-libs/starpu/Manifest
index 37423faf9818..eb520f1b53e7 100644
--- a/dev-libs/starpu/Manifest
+++ b/dev-libs/starpu/Manifest
@@ -1,3 +1,2 @@
DIST starpu-1.2.6.tar.gz 8911397 BLAKE2B a73cb3b230282b0b828fdaeb65f5491928fde1b2e5797f739a99c87318fa29511196f7121a72ff91bf0d663938b50f200d108fdce2726eb7ea8c7e997156dc13 SHA512 5971f8875dd54c73486583456bd0bc81c2865cb5b8bba6d47a5085d76fa6294c869efdd1c1d14144d08e6c14cbbea3a773474d46aa827ca24f58d9fb57ccbed7
-DIST starpu-1.3.8.tar.gz 12895856 BLAKE2B f04096b03d5c035fb9cc6c193a482bfe9cd348c2245ac9e5cc22ad7595f8bd61ee71d7734c6e10db227c4185fc5719d3de804d82639ce0446b923ecb5c0c4249 SHA512 cd1a8c0246d91c6d405576329222292577282fa175201c758a9d5bd75d827ff59c7e2d9418082ffd5f14a26272fef449eed4a34778d0376d44c3594a2033849a
DIST starpu-1.3.9.tar.gz 12961635 BLAKE2B a6eede7c369cacaba5b7330bd6a003f624f58972432d43619aeaf47c1e9e16da871a18c24f8f511f002cb7667c247c13562b4fed2348e2af4f8e402418e1801d SHA512 7150fc11828e8f9ede036af782ff0f89946d9aaed341771436eb8cbb91be7b0faccb6280a5c3bd63800d1a73ec8518a45a02d9f3e137007751cf1c5979678295
diff --git a/dev-libs/starpu/metadata.xml b/dev-libs/starpu/metadata.xml
index 2ddfc463c9ea..c4545cea9598 100644
--- a/dev-libs/starpu/metadata.xml
+++ b/dev-libs/starpu/metadata.xml
@@ -12,10 +12,7 @@
efficiently as possible.
</longdescription>
<use>
- <flag name="cuda">Enable NVIDIA CUDA toolkit support</flag>
<flag name="gcc-plugin">Enable GCC extension plugin (experimental)</flag>
- <flag name="opencl">Enable OpenCL support</flag>
<flag name="spinlock-check">Enable spinlock check</flag>
- <flag name="valgrind">Enable <pkg>dev-util/valgrind</pkg> support</flag>
</use>
</pkgmetadata>
diff --git a/dev-libs/starpu/starpu-1.2.6-r1.ebuild b/dev-libs/starpu/starpu-1.2.6-r1.ebuild
index 5b5cac74c943..3f0131f2985f 100644
--- a/dev-libs/starpu/starpu-1.2.6-r1.ebuild
+++ b/dev-libs/starpu/starpu-1.2.6-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://gforge.inria.fr/frs/download.php/file/37744/${P}.tar.gz"
LICENSE="LGPL-2.1"
SLOT="0/5"
-KEYWORDS="~alpha amd64 arm arm64 ~ia64 ppc ppc64 ~riscv ~sparc x86 ~amd64-linux ~x86-linux"
+KEYWORDS="~alpha amd64 arm arm64 ~ia64 ~ppc ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux"
IUSE="
blas cuda doc examples fftw fortran gcc-plugin mpi opencl opengl
@@ -30,13 +30,13 @@ RDEPEND="
mpi? ( virtual/mpi )
opencl? ( virtual/opencl )
opengl? ( media-libs/freeglut:0= )
- valgrind? ( dev-util/valgrind )
+ valgrind? ( dev-debug/valgrind )
"
DEPEND="${RDEPEND}"
BDEPEND="
virtual/pkgconfig
- doc? ( app-doc/doxygen virtual/latex-base )
+ doc? ( app-text/doxygen virtual/latex-base )
test? ( gcc-plugin? ( dev-scheme/guile ) )
"
@@ -82,8 +82,8 @@ src_install() {
default
use doc && dodoc -r doc/doxygen/*.pdf doc/doxygen/html
if use examples; then
- insinto /usr/share/doc/${PF}/examples
- doins -r examples/*
+ dodoc -r examples
+ docompress -x /usr/share/doc/${PF}/examples
fi
find "${ED}" -name '*.la' -delete || die
}
diff --git a/dev-libs/starpu/starpu-1.3.8.ebuild b/dev-libs/starpu/starpu-1.3.8.ebuild
deleted file mode 100644
index 33fa716eb10b..000000000000
--- a/dev-libs/starpu/starpu-1.3.8.ebuild
+++ /dev/null
@@ -1,101 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-FORTRAN_NEEDED="fortran"
-FORTRAN_STANDARD=90
-
-inherit autotools cuda fortran-2 toolchain-funcs
-
-DESCRIPTION="Unified runtime system for heterogeneous multicore architectures"
-HOMEPAGE="https://starpu.gitlabpages.inria.fr/"
-SRC_URI="https://files.inria.fr/${PN}/${P}/${P}.tar.gz"
-
-LICENSE="LGPL-2.1"
-SLOT="0/7"
-KEYWORDS="~alpha ~amd64 ~arm ~ia64 ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux"
-
-IUSE="
- blas cuda doc examples fftw fortran hdf5 mpi opencl opengl
- openmp spinlock-check static-libs test valgrind
-"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- sci-mathematics/glpk:0=
- >=sys-apps/hwloc-2.3.0:0=
- blas? ( virtual/blas )
- cuda? ( dev-util/nvidia-cuda-toolkit
- x11-drivers/nvidia-drivers )
- fftw? ( sci-libs/fftw:3.0= )
- hdf5? ( sci-libs/hdf5:0= )
- mpi? ( virtual/mpi )
- opencl? ( virtual/opencl )
- opengl? ( media-libs/freeglut:0= )
- valgrind? ( dev-util/valgrind )
-"
-
-DEPEND="${RDEPEND}"
-BDEPEND="
- virtual/pkgconfig
- doc? ( app-doc/doxygen virtual/latex-base )
-"
-
-pkg_setup() {
- [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
-}
-
-src_prepare() {
- default
-
- sed -i -e '/Libs.private/s/@LDFLAGS@//g' *.pc.in */*.pc.in || die
- sed -i -e 's/-O3//g;s/-D_FORTIFY_SOURCE=1//g' configure.ac || die
- eautoreconf
-
- use cuda && cuda_src_prepare
-}
-
-src_configure() {
- use blas && export BLAS_LIBS="$($(tc-getPKG_CONFIG) --libs blas)"
-
- econf \
- $(use mpi && use_enable test mpi-check) \
- $(use_enable cuda) \
- $(use_enable doc build-doc) \
- $(use_enable doc build-doc-pdf) \
- $(use_enable fftw starpufft) \
- $(use_enable fortran) \
- $(use_enable hdf5) \
- $(use_enable mpi) \
- $(use_enable opencl) \
- $(use_enable opengl opengl-render) \
- $(use_enable openmp) \
- $(use_enable spinlock-check) \
- $(use_enable static-libs static) \
- $(use_enable valgrind) \
- $(use_with mpi mpicc "$(type -P mpicc)") \
- --disable-build-examples \
- --disable-debug \
- --disable-fstack-protector-all \
- --disable-full-gdb-information
-}
-
-src_test() {
- # Avoids timeouts in e.g. starpu_task_wait_for_all, starpu_task_wait
- # See bug #803158
- # https://gitub.u-bordeaux.fr/starpu/starpu/-/blob/master/contrib/ci.inria.fr/job-1-check.sh
- export STARPU_TIMEOUT_ENV=3600
- export MPIEXEC_TIMEOUT=3600
-
- # Could switch(?) to quick check if timeouts end up being a real problem, but let's not
- # do it for now. https://gitub.u-bordeaux.fr/starpu/starpu/-/blob/master/contrib/ci.inria.fr/job-1-check.sh#L85
- MAKEOPTS='-j1' default
-}
-
-src_install() {
- default
- use doc && dodoc -r doc/doxygen/*.pdf doc/doxygen/html
- use examples && dodoc -r examples
- find "${ED}" -name '*.la' -delete || die
-}
diff --git a/dev-libs/starpu/starpu-1.3.9.ebuild b/dev-libs/starpu/starpu-1.3.9.ebuild
index c829323b7573..5e6e66130d4a 100644
--- a/dev-libs/starpu/starpu-1.3.9.ebuild
+++ b/dev-libs/starpu/starpu-1.3.9.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -14,7 +14,7 @@ SRC_URI="https://files.inria.fr/${PN}/${P}/${P}.tar.gz"
LICENSE="LGPL-2.1"
SLOT="0/7"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ppc ppc64 ~riscv ~sparc x86 ~amd64-linux ~x86-linux"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~ppc ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux"
IUSE="
blas cuda doc examples fftw fortran hdf5 mpi opencl opengl
@@ -33,17 +33,22 @@ RDEPEND="
mpi? ( virtual/mpi )
opencl? ( virtual/opencl )
opengl? ( media-libs/freeglut:0= )
- valgrind? ( dev-util/valgrind )
+ valgrind? ( dev-debug/valgrind )
"
DEPEND="${RDEPEND}"
BDEPEND="
virtual/pkgconfig
- doc? ( app-doc/doxygen virtual/latex-base )
+ doc? ( app-text/doxygen virtual/latex-base )
"
+pkg_pretend() {
+ [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
+}
+
pkg_setup() {
[[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
+ fortran-2_pkg_setup
}
src_prepare() {
diff --git a/dev-libs/stb/Manifest b/dev-libs/stb/Manifest
index 4371b529fd59..3878b03f7285 100644
--- a/dev-libs/stb/Manifest
+++ b/dev-libs/stb/Manifest
@@ -1 +1 @@
-DIST stb-20200713.tar.gz 1378579 BLAKE2B 13f2deecdc20c95fe3dfd1820346e9c8d1046004082a4b6044934efa7e20270b253953fb8e2d9eecf2a263ea342b740d87807e50da48178c0eb4c7028bd27488 SHA512 a9ba80d19dae4e527171bb02e1caa4d3eb0704cdf7f8fef1a7a09e6b05c65b829b0aa580f469f158a39bf13018289f40c1680ab5c22bfa5e932bff94eced475d
+DIST stb-20240201.tar.gz 1510288 BLAKE2B f11e802c6e9efe60bf08bb6071b6e8a12fc7a0713f450379534c2a4fc96c2023a190f4fed598fa7fa9b577e19f14bffbfa2f54dff1ebf72d933dc0113aa820c5 SHA512 2403ddb14b7c1a49f12bb0b43e52c612d58e4382ed03f59b4255560900eb7f08651b6688ec8b468b89e999611a67de5bd1102aa03d3847e3dd2d464175a11905
diff --git a/dev-libs/stb/stb-20200713.ebuild b/dev-libs/stb/stb-20200713.ebuild
deleted file mode 100644
index 2e4c6ded8b9f..000000000000
--- a/dev-libs/stb/stb-20200713.ebuild
+++ /dev/null
@@ -1,34 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-# There are no official releases
-CHECKSUM="b42009b3b9d4ca35bc703f5310eedc74f584be58"
-
-DESCRIPTION="single-file public domain (or MIT licensed) libraries for C/C++"
-HOMEPAGE="https://github.com/nothings/stb"
-SRC_URI="https://github.com/nothings/stb/archive/${CHECKSUM}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="|| ( MIT Unlicense )"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~x86"
-
-IUSE=""
-
-S="${WORKDIR}/${PN}-${CHECKSUM}"
-
-BDEPEND=""
-RDEPEND=""
-
-src_prepare() {
- default
-
- # Move the header files in a folder so they don't pollute the include dir
- mkdir stb || die
- mv *.h stb/ || die
-}
-
-src_install() {
- doheader -r stb
-}
diff --git a/dev-libs/stb/stb-20240201-r1.ebuild b/dev-libs/stb/stb-20240201-r1.ebuild
new file mode 100644
index 000000000000..b69f24538402
--- /dev/null
+++ b/dev-libs/stb/stb-20240201-r1.ebuild
@@ -0,0 +1,41 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# There are no official releases
+CHECKSUM="f4a71b13373436a2866c5d68f8f80ac6f0bc1ffe"
+
+DESCRIPTION="single-file public domain (or MIT licensed) libraries for C/C++"
+HOMEPAGE="https://github.com/nothings/stb"
+SRC_URI="https://github.com/nothings/stb/archive/${CHECKSUM}.tar.gz -> ${P}.tar.gz"
+
+S="${WORKDIR}/${PN}-${CHECKSUM}"
+
+LICENSE="|| ( MIT Unlicense )"
+SLOT="0"
+KEYWORDS="amd64 ~arm64 ~x86"
+
+src_prepare() {
+ default
+
+ # Move the header files in a folder so they don't pollute the include dir
+ mkdir stb || die
+ mv *.h stb/ || die
+ mv deprecated stb/ || die
+}
+
+src_install() {
+ doheader -r stb
+
+ insinto /usr/share/pkgconfig
+ cat > "${D}"/usr/share/pkgconfig/stb.pc <<-EOF
+ prefix=/usr
+ includedir=\${prefix}/include/stb
+
+ Name: stb
+ Description: stb single-file public domain libraries
+ Version: ${PV}
+ Cflags: -I\${includedir}
+ EOF
+}
diff --git a/dev-libs/stfl/files/stfl-0.24-ncurses-widechar.patch b/dev-libs/stfl/files/stfl-0.24-ncurses-widechar.patch
new file mode 100644
index 000000000000..c1690ce67fe4
--- /dev/null
+++ b/dev-libs/stfl/files/stfl-0.24-ncurses-widechar.patch
@@ -0,0 +1,26 @@
+ncurses widechar functions are only available if the correct macros are
+defined. Use CFLAGS and LDFLAGS from pkgconfig to ensure that widechar
+functions are available.
+
+From 9b71952bfb29e036b13c16d621febff76e84e3e4 Mon Sep 17 00:00:00 2001
+From: Violet Purcell <vimproved@inventati.org>
+Date: Tue, 11 Jul 2023 15:45:05 -0400
+Subject: [PATCH] Use pkg-config for correct ncursesw CFLAGS and LDFLAGS
+
+--- a/Makefile
++++ b/Makefile
+@@ -21,8 +21,9 @@
+ include Makefile.cfg
+
+ export CC = gcc -pthread
+-export CFLAGS += -I. -Wall -Os -ggdb -D_GNU_SOURCE -fPIC
+-export LDLIBS += -lncursesw
++export PKG_CONFIG ?= pkg-config
++export CFLAGS += -I. -Wall -Os -ggdb -D_GNU_SOURCE -fPIC $(shell ${PKG_CONFIG} --cflags ncursesw)
++export LDLIBS += $(shell ${PKG_CONFIG} --libs ncursesw)
+
+ SONAME := libstfl.so.0
+ VERSION := 0.24
+--
+2.41.0
+
diff --git a/dev-libs/stfl/stfl-0.24-r4.ebuild b/dev-libs/stfl/stfl-0.24-r4.ebuild
index 5a3ba87236dc..6fc8cd5251c2 100644
--- a/dev-libs/stfl/stfl-0.24-r4.ebuild
+++ b/dev-libs/stfl/stfl-0.24-r4.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_{7..9} )
+PYTHON_COMPAT=( python3_{9..11} )
GENTOO_DEPEND_ON_PERL=no
inherit perl-module python-r1 toolchain-funcs
@@ -13,7 +13,7 @@ SRC_URI="http://www.clifford.at/${PN}/${P}.tar.gz"
LICENSE="LGPL-3"
SLOT="0"
-KEYWORDS="amd64 ~arm ppc ~ppc64 x86"
+KEYWORDS="amd64 ~arm ~arm64 ppc ~ppc64 x86"
IUSE="examples perl python ruby static-libs"
REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
diff --git a/dev-libs/stfl/stfl-0.24-r5.ebuild b/dev-libs/stfl/stfl-0.24-r5.ebuild
new file mode 100644
index 000000000000..546f1446cd20
--- /dev/null
+++ b/dev-libs/stfl/stfl-0.24-r5.ebuild
@@ -0,0 +1,129 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_{10..11} )
+GENTOO_DEPEND_ON_PERL=no
+inherit perl-module python-r1 toolchain-funcs
+
+DESCRIPTION="A library which implements a curses-based widget set for text terminals"
+HOMEPAGE="http://www.clifford.at/stfl/"
+SRC_URI="http://www.clifford.at/${PN}/${P}.tar.gz"
+
+LICENSE="LGPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~x86"
+IUSE="examples perl python ruby static-libs"
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+
+RDEPEND="
+ sys-libs/ncurses:=[unicode(+)]
+ perl? ( dev-lang/perl:= )
+ ruby? ( dev-lang/ruby:* )
+ python? ( ${PYTHON_DEPS} )
+"
+DEPEND="${RDEPEND}
+ perl? ( dev-lang/swig )
+ python? ( >=dev-lang/swig-1.3.40 )
+ ruby? ( dev-lang/swig )
+"
+BDEPEND="virtual/pkgconfig"
+RESTRICT="test" # Upstream does not provide tests #730112
+
+PATCHES=(
+ "${FILESDIR}/${PN}-0.21-python.patch"
+ "${FILESDIR}/${PN}-0.22-soname-symlink.patch"
+ "${FILESDIR}/${PN}-0.22-ruby-sharedlib.patch"
+ "${FILESDIR}/${PN}-0.22-pc-libdir.patch"
+ "${FILESDIR}/${PN}-0.24-ncurses-widechar.patch"
+)
+
+src_prepare() {
+ default_src_prepare
+
+ sed -i \
+ -e 's/-Os -ggdb//' \
+ -e 's/^\(all:.*\) example/\1/' \
+ -e 's/$(CC) -shared/$(CC) $(LDFLAGS) -shared/' \
+ -e 's/ -o $@ $(LDLIBS) $^/ $^ $(LDLIBS) -o $@/' \
+ -e 's/-lncursesw/-lncursesw -pthread/' \
+ -e 's/\<ar\>/$(AR)/' \
+ -e 's/\<ranlib\>/$(RANLIB)/' \
+ Makefile || die "sed failed"
+
+ if ! use static-libs ; then
+ sed -i -e "/install .* libstfl.a/d" Makefile || die
+ fi
+
+ if use perl ; then
+ echo "FOUND_PERL5=1" >> Makefile.cfg
+ else
+ echo "FOUND_PERL5=0" >> Makefile.cfg
+ fi
+
+ if use ruby ; then
+ echo "FOUND_RUBY=1" >> Makefile.cfg
+ else
+ echo "FOUND_RUBY=0" >> Makefile.cfg
+ fi
+
+ echo "FOUND_PYTHON=0" >> Makefile.cfg
+}
+
+src_configure() { :; }
+
+src_compile() {
+ emake CC="$(tc-getCC)" AR="$(tc-getAR)" RANLIB="$(tc-getRANLIB)" PKG_CONFIG="$(tc-getPKG_CONFIG)"
+
+ if use python ; then
+ local BUILD_DIR="${S}/python"
+ python_copy_sources
+
+ # Based on code from python/Makefile.snippet.
+ building() {
+ pushd "${BUILD_DIR}" &>/dev/null || die
+ echo swig -python -threads stfl.i
+ swig -python -threads stfl.i || die
+ echo "$(tc-getCC)" ${CFLAGS} ${LDFLAGS} -shared -pthread -fPIC stfl_wrap.c -I$(python_get_includedir) -I.. ../libstfl.so.${PV} -lncursesw -o _stfl.so
+ "$(tc-getCC)" ${CFLAGS} ${LDFLAGS} -shared -pthread -fPIC stfl_wrap.c -I$(python_get_includedir) -I.. ../libstfl.so.${PV} -lncursesw -o _stfl.so || die
+ popd &>/dev/null || die
+ }
+ python_foreach_impl building
+ fi
+}
+
+src_install() {
+ emake prefix="/usr" DESTDIR="${D}" libdir="$(get_libdir)" install
+
+ if use python ; then
+ local BUILD_DIR="${S}/python"
+
+ installation() {
+ pushd "${BUILD_DIR}" &>/dev/null || die
+ python_domodule stfl.py _stfl.so
+ popd &>/dev/null || die
+ }
+ python_foreach_impl installation
+ fi
+
+ dodoc README
+
+ local exdir="/usr/share/doc/${PF}/examples"
+ if use examples ; then
+ insinto ${exdir}
+ doins example.{c,stfl}
+ insinto ${exdir}/python
+ doins python/example.py
+ if use perl ; then
+ insinto ${exdir}/perl
+ doins perl5/example.pl
+ fi
+ if use ruby ; then
+ insinto ${exdir}/ruby
+ doins ruby/example.rb
+ fi
+ fi
+
+ perl_delete_localpod
+}
diff --git a/dev-libs/teakra/Manifest b/dev-libs/teakra/Manifest
new file mode 100644
index 000000000000..1569bad52d9c
--- /dev/null
+++ b/dev-libs/teakra/Manifest
@@ -0,0 +1 @@
+DIST teakra-20220224.tar.gz 983295 BLAKE2B 79c399f2bd3358fd558b4e7558dbbfb95a74ea16d8c9e79037a5ae258066bd5dcab903bd776b2cd355dacb60ee4dfb5de2802ed318d12985a4655f87dd958604 SHA512 b8c37b9d82431b00bcd22554e3f507466f0e6823bcd0cb7c22d38cf5ffd63bf270dd6f70472063adf4db02cac3e4dbe85ceba2946d7ba0ca13b166bf7f197e02
diff --git a/dev-libs/teakra/metadata.xml b/dev-libs/teakra/metadata.xml
new file mode 100644
index 000000000000..98208183c8b2
--- /dev/null
+++ b/dev-libs/teakra/metadata.xml
@@ -0,0 +1,13 @@
+<?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>
+ <upstream>
+ <bugs-to>https://github.com/wwylele/teakra/issues/</bugs-to>
+ <remote-id type="github">wwylele/teakra</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/teakra/teakra-20220224.ebuild b/dev-libs/teakra/teakra-20220224.ebuild
new file mode 100644
index 000000000000..faf0cf67592a
--- /dev/null
+++ b/dev-libs/teakra/teakra-20220224.ebuild
@@ -0,0 +1,44 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+[[ ${PV} == 20220224 ]] && COMMIT=01db7cdd00aabcce559a8dddce8798dabb71949b
+
+inherit cmake
+
+DESCRIPTION="Emulator, assembler, etc for XpertTeak, the DSP used by DSi/3DS"
+HOMEPAGE="https://github.com/wwylele/teakra/"
+SRC_URI="https://github.com/wwylele/${PN}/archive/${COMMIT}.tar.gz
+ -> ${P}.tar.gz"
+S="${WORKDIR}"/${PN}-${COMMIT}
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+src_prepare() {
+ sed -i "s|-Werror||g" "${S}"/CMakeLists.txt || die
+
+ cmake_src_prepare
+}
+
+src_configure() {
+ local -a mycmakeargs=(
+ -DCMAKE_SKIP_RPATCOMMIT=ON
+ )
+ cmake_src_configure
+}
+
+src_test() {
+ LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:"${BUILD_DIR}"/src/ cmake_src_test
+}
+
+src_install() {
+ dolib.so "${BUILD_DIR}"/src/lib${PN}.so "${BUILD_DIR}"/src/lib${PN}_c.so
+
+ insinto /usr/include
+ doins -r include/${PN}
+
+ einstalldocs
+}
diff --git a/dev-libs/template-glib/Manifest b/dev-libs/template-glib/Manifest
index f47cc17a0467..f9e0eafff4e0 100644
--- a/dev-libs/template-glib/Manifest
+++ b/dev-libs/template-glib/Manifest
@@ -1 +1 @@
-DIST template-glib-3.34.0.tar.xz 55348 BLAKE2B f5aa2b2032dce87a3091a7314012779f789ca6e4b1a8c7406ae92deb8283c9024ef33cf8d657741dbb175816371dd8082b7f0a2fff47b58842573248c12dfd6a SHA512 b89cc9890fd80a6858b34139ce1cd2394a43f598629e59f224f4db798a17457be9a2aa8307828af3591108ed6e9a953936a74df15ed1c8c8af2100306db5a497
+DIST template-glib-3.36.2.tar.xz 64832 BLAKE2B 63d413b8474ea641cb8ad3eecc69f4fefbb1b3d5b9a3ec1bc4dd7ddd3526ca3c8599bf811041df6685daa868ff5c302d650b1fc956a441a5d2b80adc069453ae SHA512 226247151c932931a3c5c0f2278929ab6e6e82edbcab10dead5723ee4b8ef5c6d12775491b1aed7e7ccfee8b794be69a8c457e6639a63fdfc2b6e41d7efc2bee
diff --git a/dev-libs/template-glib/metadata.xml b/dev-libs/template-glib/metadata.xml
index 14cc9d571919..ad978234f469 100644
--- a/dev-libs/template-glib/metadata.xml
+++ b/dev-libs/template-glib/metadata.xml
@@ -1,13 +1,18 @@
<?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>
- <longdescription>Template-GLib is a templating library for GLib. It includes a simple template
- format along with integration into GObject-Introspection for properties and
- methods. It separates the parsing of templates and the expansion of templates
- for faster expansion. You can also define scope, custom functions, and more
- with the embedded expression language.</longdescription>
+ <maintainer type="project">
+ <email>gnome@gentoo.org</email>
+ <name>Gentoo GNOME Desktop</name>
+ </maintainer>
+ <longdescription>
+ Template-GLib is a templating library for GLib. It includes a simple
+ template format along with integration into GObject-Introspection for
+ properties and methods. It separates the parsing of templates and the
+ expansion of templates for faster expansion. You can also define scope,
+ custom functions, and more with the embedded expression language.
+ </longdescription>
+ <upstream>
+ <remote-id type="gnome-gitlab">GNOME/template-glib</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/dev-libs/template-glib/template-glib-3.34.0.ebuild b/dev-libs/template-glib/template-glib-3.34.0.ebuild
deleted file mode 100644
index d8effd26ad25..000000000000
--- a/dev-libs/template-glib/template-glib-3.34.0.ebuild
+++ /dev/null
@@ -1,47 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit gnome.org meson xdg vala
-
-DESCRIPTION="Templating library for GLib"
-HOMEPAGE="https://gitlab.gnome.org/GNOME/template-glib"
-
-LICENSE="LGPL-2.1+"
-SLOT="0/1"
-KEYWORDS="amd64 x86"
-
-IUSE="gtk-doc +introspection vala"
-REQUIRED_USE="vala? ( introspection )"
-
-RDEPEND="
- dev-libs/glib:2
- dev-libs/gobject-introspection:=
-" # depends on go-i unconditionally for own functionality, USE flag controls GIR/typelib generation
-DEPEND="${RDEPEND}"
-BDEPEND="
- vala? ( $(vala_depend) )
- dev-util/glib-utils
- sys-devel/bison
- sys-devel/flex
- >=sys-devel/gettext-0.19.8
- virtual/pkgconfig
- gtk-doc? ( dev-util/gtk-doc )
-"
-
-src_prepare() {
- use vala && vala_src_prepare
- xdg_src_prepare
-}
-
-src_configure() {
- local emesonargs=(
- -Denable_tracing=false # extra trace debugging that would make things slower
- -Denable_profiling=false # -pg passing
- $(meson_use introspection with_introspection)
- $(meson_use vala with_vapi)
- $(meson_use gtk-doc enable_gtk_doc)
- )
- meson_src_configure
-}
diff --git a/dev-libs/template-glib/template-glib-3.36.2.ebuild b/dev-libs/template-glib/template-glib-3.36.2.ebuild
new file mode 100644
index 000000000000..52a0c01b99f1
--- /dev/null
+++ b/dev-libs/template-glib/template-glib-3.36.2.ebuild
@@ -0,0 +1,49 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit gnome.org meson vala
+
+DESCRIPTION="Templating library for GLib"
+HOMEPAGE="https://gitlab.gnome.org/GNOME/template-glib"
+
+LICENSE="LGPL-2.1+"
+SLOT="0/1"
+KEYWORDS="amd64 ~arm64 x86"
+
+IUSE="gtk-doc +introspection test vala"
+RESTRICT="!test? ( test )"
+REQUIRED_USE="vala? ( introspection )"
+
+RDEPEND="
+ dev-libs/glib:2
+ dev-libs/gobject-introspection:=
+" # depends on go-i unconditionally for own functionality, USE flag controls GIR/typelib generation
+DEPEND="${RDEPEND}"
+BDEPEND="
+ vala? ( $(vala_depend) )
+ dev-util/glib-utils
+ app-alternatives/yacc
+ app-alternatives/lex
+ >=sys-devel/gettext-0.19.8
+ virtual/pkgconfig
+ gtk-doc? ( dev-util/gtk-doc )
+"
+
+src_prepare() {
+ default
+ use vala && vala_setup
+}
+
+src_configure() {
+ local emesonargs=(
+ -Dtracing=false # extra trace debugging that would make things slower
+ -Dprofiling=false # -pg passing
+ $(meson_feature introspection)
+ $(meson_use vala vapi)
+ $(meson_use gtk-doc gtk_doc)
+ $(meson_use test tests)
+ )
+ meson_src_configure
+}
diff --git a/dev-libs/thrift/Manifest b/dev-libs/thrift/Manifest
new file mode 100644
index 000000000000..88cdbc2d6cce
--- /dev/null
+++ b/dev-libs/thrift/Manifest
@@ -0,0 +1,3 @@
+DIST thrift-0.16.0.tar.gz 4085114 BLAKE2B 17c35096f6848fb0795e4cb125fed3068c8e1e53f67f404f4dcab67df7a42fc049a7d615591c861eb9e59e3333e21f185e8615663008bc7c846a03722ea8b834 SHA512 468fff6be2def85959fdf8adac92a0cfa7f786083b3bafb2c31427dfe5725f4d10962052d13ea960828f6a317778d35e66b602744a570212352bfc637ae586e0
+DIST thrift-0.18.1.tar.gz 4310494 BLAKE2B 3e6c7e03059341e79d3f58e16b55761888b530b3d31dd22853026486a1303725ee5d5e6e5dd7a5e6bf8e57a2d3cf36ffc829cdb194d990cadedfc63f4f3e0874 SHA512 9c9a462aa8b6fddefd5bb9d2c950570eb2d3beaa7c9d37fceee677bdc1fdeb521b796f4eeee8a1fd9a7649f84449f6c0572305210e67402eb97682ca7f6e851b
+DIST thrift-0.20.0.tar.gz 4397667 BLAKE2B 23422fdcdf7e0dbce8bc0f8017f54b5848594e2da21de56834152c17c74da7d1c4df23c5b57cf3ba811bb03f1a8588ddf1c2a05222bb726aceda4292a15af21e SHA512 8dc77f666e60141a6b3cf7ee1407b08a0e80d176f8ccfee69317d7df89ab87aea2c7b3ba3e59d4561835edf1ce23762443ad5aeed0099bf075b010853d5eb1cd
diff --git a/dev-libs/thrift/files/thrift-0.16.0-network-tests.patch b/dev-libs/thrift/files/thrift-0.16.0-network-tests.patch
new file mode 100644
index 000000000000..cc1f1cf2c621
--- /dev/null
+++ b/dev-libs/thrift/files/thrift-0.16.0-network-tests.patch
@@ -0,0 +1,36 @@
+diff --git a/lib/cpp/test/ToStringTest.cpp b/lib/cpp/test/ToStringTest.cpp
+index 736b33c0a..f66909873 100644
+--- a/lib/cpp/test/ToStringTest.cpp
++++ b/lib/cpp/test/ToStringTest.cpp
+@@ -41,31 +41,6 @@ BOOST_AUTO_TEST_CASE(base_types_to_string) {
+ BOOST_CHECK_EQUAL(to_string("abc"), "abc");
+ }
+
+-// NOTE: Currently (as of 2021.08.12) the locale-based tests do not work on
+-// Windows in the AppVeyor Thrift CI build correctly. Therefore disabled on
+-// Windows:
+-#ifndef _WIN32
+-BOOST_AUTO_TEST_CASE(locale_en_US_int_to_string) {
+-#ifdef _WIN32
+- std::locale::global(std::locale("en-US.UTF-8"));
+-#else
+- std::locale::global(std::locale("en_US.UTF-8"));
+-#endif
+- BOOST_CHECK_EQUAL(to_string(1000000), "1000000");
+-}
+-
+-BOOST_AUTO_TEST_CASE(locale_de_DE_floating_point_to_string) {
+-#ifdef _WIN32
+- std::locale::global(std::locale("de-DE.UTF-8"));
+-#else
+- std::locale::global(std::locale("de_DE.UTF-8"));
+-#endif
+- BOOST_CHECK_EQUAL(to_string(1.5), "1.5");
+- BOOST_CHECK_EQUAL(to_string(1.5f), "1.5");
+- BOOST_CHECK_EQUAL(to_string(1.5L), "1.5");
+-}
+-#endif
+-
+ BOOST_AUTO_TEST_CASE(empty_vector_to_string) {
+ std::vector<int> l;
+ BOOST_CHECK_EQUAL(to_string(l), "[]");
diff --git a/dev-libs/thrift/files/thrift-0.18.1-tests.patch b/dev-libs/thrift/files/thrift-0.18.1-tests.patch
new file mode 100644
index 000000000000..7716e0c743c2
--- /dev/null
+++ b/dev-libs/thrift/files/thrift-0.18.1-tests.patch
@@ -0,0 +1,33 @@
+diff --git a/lib/cpp/test/CMakeLists.txt b/lib/cpp/test/CMakeLists.txt
+index 1117cd9f3..5f56aaca8 100644
+--- a/lib/cpp/test/CMakeLists.txt
++++ b/lib/cpp/test/CMakeLists.txt
+@@ -318,28 +318,6 @@ target_link_libraries(OpenSSLManualInitTest
+ target_link_libraries(OpenSSLManualInitTest thrift)
+ add_test(NAME OpenSSLManualInitTest COMMAND OpenSSLManualInitTest)
+
+-add_executable(SecurityTest SecurityTest.cpp)
+-target_link_libraries(SecurityTest
+- testgencpp
+- ${Boost_LIBRARIES}
+-)
+-target_link_libraries(SecurityTest thrift)
+-if (NOT MSVC AND NOT ${CMAKE_SYSTEM_NAME} MATCHES "Darwin" AND NOT MINGW)
+- target_link_libraries(SecurityTest -lrt)
+-endif ()
+-add_test(NAME SecurityTest COMMAND SecurityTest -- "${CMAKE_CURRENT_SOURCE_DIR}/../../../test/keys")
+-
+-add_executable(SecurityFromBufferTest SecurityFromBufferTest.cpp)
+-target_link_libraries(SecurityFromBufferTest
+- testgencpp
+- ${Boost_LIBRARIES}
+-)
+-target_link_libraries(SecurityFromBufferTest thrift)
+-if (NOT MSVC AND NOT ${CMAKE_SYSTEM_NAME} MATCHES "Darwin" AND NOT MINGW)
+- target_link_libraries(SecurityFromBufferTest -lrt)
+-endif ()
+-add_test(NAME SecurityFromBufferTest COMMAND SecurityFromBufferTest -- "${CMAKE_CURRENT_SOURCE_DIR}/../../../test/keys")
+-
+ endif()
+
+ if(WITH_QT5)
diff --git a/dev-libs/thrift/metadata.xml b/dev-libs/thrift/metadata.xml
new file mode 100644
index 000000000000..b47179b672b5
--- /dev/null
+++ b/dev-libs/thrift/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>chutzpah@gentoo.org</email>
+ <name>Patrick McLean</name>
+ </maintainer>
+ <use>
+ <flag name="libevent">Build support for <pkg>dev-libs/libevent</pkg></flag>
+ </use>
+ <upstream>
+ <remote-id type="github">apache/thrift</remote-id>
+ <bugs-to>https://issues.apache.org/jira/projects/THRIFT</bugs-to>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/thrift/thrift-0.16.0-r2.ebuild b/dev-libs/thrift/thrift-0.16.0-r2.ebuild
new file mode 100644
index 000000000000..cc8bf3357944
--- /dev/null
+++ b/dev-libs/thrift/thrift-0.16.0-r2.ebuild
@@ -0,0 +1,50 @@
+# Copyright 2022-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+DESCRIPTION="C++ bindings for Apache Thrift"
+HOMEPAGE="https://thrift.apache.org/lib/cpp.html"
+SRC_URI="mirror://apache/thrift/${PV}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0/0"
+KEYWORDS="amd64 ~arm64 ppc64"
+IUSE="libevent lua +ssl test"
+
+RESTRICT="!test? ( test )"
+
+DEPEND="
+ dev-libs/boost:=[nls]
+ dev-libs/openssl:=
+ libevent? ( dev-libs/libevent )
+"
+RDEPEND="${DEPEND}"
+BDEPEND=""
+
+REQUIRED_USE="
+ test? ( ssl )
+"
+
+PATCHES=(
+ "${FILESDIR}/thrift-0.16.0-network-tests.patch"
+)
+
+src_configure() {
+ local mycmakeargs=(
+ -DBUILD_CPP=ON
+ -DBUILD_C_GLIB=OFF
+ -DBUILD_JAVA=OFF
+ -DBUILD_JAVASCRIPT=OFF
+ -DBUILD_NODEJS=OFF
+ -DBUILD_PYTHON=OFF
+ -DBUILD_TESTING=$(usex test 'ON' 'OFF')
+ -DWITH_LIBEVENT=$(usex libevent 'ON' 'OFF')
+ -DWITH_OPENSSL=$(usex ssl 'ON' 'OFF')
+ -DWITH_ZLIB=ON
+ -Wno-dev
+ )
+ cmake_src_configure
+}
diff --git a/dev-libs/thrift/thrift-0.18.1-r1.ebuild b/dev-libs/thrift/thrift-0.18.1-r1.ebuild
new file mode 100644
index 000000000000..e7fbc703524a
--- /dev/null
+++ b/dev-libs/thrift/thrift-0.18.1-r1.ebuild
@@ -0,0 +1,59 @@
+# Copyright 2022-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+DESCRIPTION="C++ bindings for Apache Thrift"
+HOMEPAGE="https://thrift.apache.org/lib/cpp.html"
+SRC_URI="mirror://apache/thrift/${PV}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0/0"
+KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~loong ~ppc64 ~riscv ~s390 ~x86"
+IUSE="libevent lua +ssl test"
+
+RESTRICT="!test? ( test )"
+
+DEPEND="
+ dev-libs/boost:=[nls]
+ dev-libs/openssl:=
+ sys-libs/zlib:=
+ libevent? ( dev-libs/libevent:= )
+"
+RDEPEND="${DEPEND}"
+BDEPEND="
+ app-alternatives/lex
+ app-alternatives/yacc
+"
+
+REQUIRED_USE="
+ test? ( ssl libevent )
+"
+
+PATCHES=(
+ "${FILESDIR}/thrift-0.16.0-network-tests.patch"
+ "${FILESDIR}/thrift-0.18.1-tests.patch"
+)
+
+src_configure() {
+ local mycmakeargs=(
+ -DBUILD_CPP=ON
+ -DBUILD_C_GLIB=OFF
+ -DBUILD_JAVA=OFF
+ -DBUILD_JAVASCRIPT=OFF
+ -DBUILD_NODEJS=OFF
+ -DBUILD_PYTHON=OFF
+ -DBUILD_TESTING=$(usex test 'ON' 'OFF')
+ -DWITH_LIBEVENT=$(usex libevent 'ON' 'OFF')
+ -DWITH_OPENSSL=$(usex ssl 'ON' 'OFF')
+ -DWITH_ZLIB=ON
+ -Wno-dev
+ )
+ cmake_src_configure
+}
+
+src_test() {
+ MAKEOPTS="-j1" cmake_src_test
+}
diff --git a/dev-libs/thrift/thrift-0.20.0.ebuild b/dev-libs/thrift/thrift-0.20.0.ebuild
new file mode 100644
index 000000000000..f57f4a9b262a
--- /dev/null
+++ b/dev-libs/thrift/thrift-0.20.0.ebuild
@@ -0,0 +1,59 @@
+# Copyright 2022-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+DESCRIPTION="C++ bindings for Apache Thrift"
+HOMEPAGE="https://thrift.apache.org/lib/cpp.html"
+SRC_URI="mirror://apache/thrift/${PV}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0/${PV}"
+KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~loong ~ppc64 ~riscv ~s390 ~x86"
+IUSE="libevent lua +ssl test"
+
+RESTRICT="!test? ( test )"
+
+DEPEND="
+ dev-libs/boost:=[nls(+)]
+ dev-libs/openssl:=
+ sys-libs/zlib:=
+ libevent? ( dev-libs/libevent:= )
+"
+RDEPEND="${DEPEND}"
+BDEPEND="
+ app-alternatives/lex
+ app-alternatives/yacc
+"
+
+REQUIRED_USE="
+ test? ( ssl libevent )
+"
+
+PATCHES=(
+ "${FILESDIR}/thrift-0.16.0-network-tests.patch"
+ "${FILESDIR}/thrift-0.18.1-tests.patch"
+)
+
+src_configure() {
+ local mycmakeargs=(
+ -DBUILD_CPP=ON
+ -DBUILD_C_GLIB=OFF
+ -DBUILD_JAVA=OFF
+ -DBUILD_JAVASCRIPT=OFF
+ -DBUILD_NODEJS=OFF
+ -DBUILD_PYTHON=OFF
+ -DBUILD_TESTING=$(usex test 'ON' 'OFF')
+ -DWITH_LIBEVENT=$(usex libevent 'ON' 'OFF')
+ -DWITH_OPENSSL=$(usex ssl 'ON' 'OFF')
+ -DWITH_ZLIB=ON
+ -Wno-dev
+ )
+ cmake_src_configure
+}
+
+src_test() {
+ MAKEOPTS="-j1" cmake_src_test
+}
diff --git a/dev-libs/tinyxml/files/tinyxml-2.6.2-CVE-2021-42260.patch b/dev-libs/tinyxml/files/tinyxml-2.6.2-CVE-2021-42260.patch
new file mode 100644
index 000000000000..d9eeb45c73b5
--- /dev/null
+++ b/dev-libs/tinyxml/files/tinyxml-2.6.2-CVE-2021-42260.patch
@@ -0,0 +1,23 @@
+Description: In stamp always advance the pointer if *p= 0xef
+ .
+ The current implementation only advanced if 0xef is followed
+ by two non-zero bytes. In case of malformed input (0xef should be
+ the start byte of a three byte character) this leads to an infinite
+ loop. (CVE-2021-42260)
+Origin: https://sourceforge.net/p/tinyxml/git/merge-requests/1/
+
+--- a/tinyxmlparser.cpp
++++ b/tinyxmlparser.cpp
+@@ -274,6 +274,12 @@ void TiXmlParsingData::Stamp( const char* now, TiXmlEncoding encoding )
+ else
+ { p +=3; ++col; } // A normal character.
+ }
++ else
++ {
++ // TIXML_UTF_LEAD_0 (239) is the start character of a 3 byte sequence, so
++ // there is something wrong here. Just advance the pointer to evade infinite loops
++ ++p;
++ }
+ }
+ else
+ {
diff --git a/dev-libs/tinyxml/tinyxml-2.6.2-r4.ebuild b/dev-libs/tinyxml/tinyxml-2.6.2-r4.ebuild
index e11d76946f84..583bc4f9b670 100644
--- a/dev-libs/tinyxml/tinyxml-2.6.2-r4.ebuild
+++ b/dev-libs/tinyxml/tinyxml-2.6.2-r4.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
@@ -11,10 +11,10 @@ SRC_URI="mirror://sourceforge/${PN}/${PN}_${PV//./_}.tar.gz"
LICENSE="ZLIB"
SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-macos"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-macos"
IUSE="debug doc static-libs +stl"
-BDEPEND="doc? ( app-doc/doxygen )"
+BDEPEND="doc? ( app-text/doxygen )"
S="${WORKDIR}/${PN}"
diff --git a/dev-libs/tinyxml/tinyxml-2.6.2-r5.ebuild b/dev-libs/tinyxml/tinyxml-2.6.2-r5.ebuild
new file mode 100644
index 000000000000..7d8e263e06fb
--- /dev/null
+++ b/dev-libs/tinyxml/tinyxml-2.6.2-r5.ebuild
@@ -0,0 +1,68 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit flag-o-matic toolchain-funcs multilib
+
+DESCRIPTION="Simple and small C++ XML parser"
+HOMEPAGE="http://www.grinninglizard.com/tinyxml/index.html"
+SRC_URI="mirror://sourceforge/${PN}/${PN}_${PV//./_}.tar.gz"
+
+LICENSE="ZLIB"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-macos"
+IUSE="debug doc static-libs +stl"
+
+BDEPEND="doc? ( app-text/doxygen )"
+
+S="${WORKDIR}/${PN}"
+
+DOCS=( "changes.txt" "readme.txt" )
+
+src_prepare() {
+ local major_v=$(ver_cut 1)
+ local minor_v=$(ver_cut 2-3)
+
+ sed -e "s:@MAJOR_V@:$major_v:" \
+ -e "s:@MINOR_V@:$minor_v:" \
+ "${FILESDIR}"/Makefile-3 > Makefile || die
+
+ eapply -p0 "${FILESDIR}"/${PN}-2.6.1-entity.patch
+ eapply -p0 "${FILESDIR}"/${PN}.pc.patch
+ eapply "${FILESDIR}"/${P}-CVE-2021-42260.patch
+
+ use debug && append-cppflags -DDEBUG
+ use stl && eapply "${FILESDIR}"/${P}-defineSTL.patch
+
+ sed -e "s:/lib:/$(get_libdir):g" -i tinyxml.pc || die # bug 738948
+ if use stl; then
+ sed -e "s/Cflags: -I\${includedir}/Cflags: -I\${includedir} -DTIXML_USE_STL=YES/g" -i tinyxml.pc || die
+ fi
+
+ if ! use static-libs; then
+ sed -e "/^all:/s/\$(name).a //" -i Makefile || die
+ fi
+
+ tc-export AR CXX RANLIB
+
+ [[ ${CHOST} == *-darwin* ]] && export LIBDIR="${EPREFIX}"/usr/$(get_libdir)
+ eapply_user
+}
+
+src_install() {
+ dolib.so *$(get_libname)*
+
+ insinto /usr/include
+ doins *.h
+
+ insinto /usr/share/pkgconfig
+ doins tinyxml.pc
+
+ einstalldocs
+
+ if use doc ; then
+ docinto html
+ dodoc -r docs/*
+ fi
+}
diff --git a/dev-libs/tinyxml2/Manifest b/dev-libs/tinyxml2/Manifest
index 18325f2bb6b3..22114c122de1 100644
--- a/dev-libs/tinyxml2/Manifest
+++ b/dev-libs/tinyxml2/Manifest
@@ -1,3 +1,2 @@
-DIST tinyxml2-7.1.0.tar.gz 592717 BLAKE2B 5936356d472b8642bebb9f02579e6beda14446d57749f1e7a869ff941a03a5ad30624c4db4b2eaaaca48d7f339e3100fddfd58f96bbcfc22737a23d9c9198c9a SHA512 09d5f37018f79a593ff35e33d4296c9ec643a22e83c0cee4c37949300f86201eee07e9b7e6ba55044d8abb438d5d21b70d5843a96ae4652389bb164047ec31e1
-DIST tinyxml2-8.0.0.tar.gz 593833 BLAKE2B afc21220e28a1c139b1abd89e67f8e64980d2ba9bc6f60a33d435a4a02cb40ecacc27ac28bd9702ac3a435f66764ebb752b597a1b1e178d0b549e366d5b669dd SHA512 bcbb065c2af34ea681ec556377fd22e720b6f5d4caa73f432b1e34e08603a96f2233763f0ec5ae86b9ee71ddbe3062f58d3794cd3a162ce6903435530de0bba6
+DIST tinyxml2-10.0.0.tar.gz 642421 BLAKE2B 89f5a9d92e4e3f12f4abcdbabb2d4cb25950a044bc6f6f788a1a6291913e77d82a805438aacf1e6c14dd8977aa3930527c89ef066e2075161f176a301cbf1b3f SHA512 a359d33bc12fad455b53d81011dbe12727cae0aabfaa5704f1a25807ca216dd854a571291029886c0beedeca5c3b6393dd49c4718773e18a0e008abbdb3de36a
DIST tinyxml2-9.0.0.tar.gz 619734 BLAKE2B 9a7bb8b8158417aa505e3d9fcc246b0bede52d6d4d5ff1b5cee891c2b72d1ee43d00ccea001ac24500f52c36320994b3446f3898ab2be1997940dbff526bc78e SHA512 9c5ce8131984690df302ca3e32314573b137180ed522c92fd631692979c942372a28f697fdb3d5e56bcf2d3dc596262b724d088153f3e1d721c9536f2a883367
diff --git a/dev-libs/tinyxml2/files/tinyxml2-9.0.0-musl-1.2.4.patch b/dev-libs/tinyxml2/files/tinyxml2-9.0.0-musl-1.2.4.patch
new file mode 100644
index 000000000000..2670d4ffa913
--- /dev/null
+++ b/dev-libs/tinyxml2/files/tinyxml2-9.0.0-musl-1.2.4.patch
@@ -0,0 +1,51 @@
+Bug: https://bugs.gentoo.org/905999
+Upstream: https://leethomason/tinyxml2/pull/945
+
+From dfcb914e8bbbb2dca146a3cee62f66fff7ea163b Mon Sep 17 00:00:00 2001
+From: Violet Purcell <vimproved@inventati.org>
+Date: Thu, 8 Jun 2023 15:19:41 +0000
+Subject: [PATCH] Remove LFS64 calls and set _FILE_OFFSET_BITS=64
+
+Musl 1.2.4 made the LFS64 interfaces only available when
+_LARGEFILE64_SOURCE is defined, and they will be removed altogether in
+Musl 1.2.5. This commit replaces the LFS64 calls with their non-LFS64
+versions and defines _FILE_OFFSET_BITS=64, which makes all interfaces
+64-bit.
+
+Bug: https://bugs.gentoo.org/905999
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -31,6 +31,7 @@ target_compile_definitions(
+ PUBLIC $<$<CONFIG:Debug>:TINYXML2_DEBUG>
+ INTERFACE $<$<BOOL:${BUILD_SHARED_LIBS}>:TINYXML2_IMPORT>
+ PRIVATE $<$<CXX_COMPILER_ID:MSVC>:_CRT_SECURE_NO_WARNINGS>
++ PUBLIC _FILE_OFFSET_BITS=64
+ )
+
+ set_target_properties(
+--- a/Makefile
++++ b/Makefile
+@@ -10,7 +10,7 @@ ARFLAGS = cr
+ RM = rm -f
+ RANLIB = ranlib
+ MKDIR = mkdir -p
+-CXXFLAGS = -fPIC
++CXXFLAGS = -D_FILE_OFFSET_BITS=64 -fPIC
+
+ INSTALL = install
+ INSTALL_PROGRAM = $(INSTALL)
+--- a/tinyxml2.cpp
++++ b/tinyxml2.cpp
+@@ -106,9 +106,6 @@ distribution.
+ #elif defined(__APPLE__) || defined(__FreeBSD__) || defined(__ANDROID__)
+ #define TIXML_FSEEK fseeko
+ #define TIXML_FTELL ftello
+-#elif defined(__unix__) && defined(__x86_64__)
+- #define TIXML_FSEEK fseeko64
+- #define TIXML_FTELL ftello64
+ #else
+ #define TIXML_FSEEK fseek
+ #define TIXML_FTELL ftell
+--
+2.41.0
+
diff --git a/dev-libs/tinyxml2/tinyxml2-10.0.0.ebuild b/dev-libs/tinyxml2/tinyxml2-10.0.0.ebuild
new file mode 100644
index 000000000000..d75506b37166
--- /dev/null
+++ b/dev-libs/tinyxml2/tinyxml2-10.0.0.ebuild
@@ -0,0 +1,25 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# No meson because of bug #791163
+inherit cmake
+
+DESCRIPTION="A simple, small, efficient, C++ XML parser"
+HOMEPAGE="https://github.com/leethomason/tinyxml2/"
+SRC_URI="https://github.com/leethomason/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="ZLIB"
+SLOT="0/10"
+KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+src_configure() {
+ local mycmakeargs=(
+ -DBUILD_TESTING=$(usex test)
+ )
+
+ cmake_src_configure
+}
diff --git a/dev-libs/tinyxml2/tinyxml2-7.1.0.ebuild b/dev-libs/tinyxml2/tinyxml2-7.1.0.ebuild
deleted file mode 100644
index aa5c4ab1b175..000000000000
--- a/dev-libs/tinyxml2/tinyxml2-7.1.0.ebuild
+++ /dev/null
@@ -1,22 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-CMAKE_ECLASS=cmake
-inherit cmake-multilib
-
-DESCRIPTION="A simple, small, efficient, C++ XML parser"
-HOMEPAGE="http://www.grinninglizard.com/tinyxml2/ https://github.com/leethomason/tinyxml2/"
-SRC_URI="https://github.com/leethomason/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="ZLIB"
-SLOT="0/7"
-KEYWORDS="amd64 arm arm64 ~hppa ~ppc64 sparc x86"
-IUSE="test"
-RESTRICT="!test? ( test )"
-
-multilib_src_configure() {
- local mycmakeargs=( -DBUILD_TESTING=$(usex test) )
- cmake_src_configure
-}
diff --git a/dev-libs/tinyxml2/tinyxml2-8.0.0.ebuild b/dev-libs/tinyxml2/tinyxml2-8.0.0.ebuild
deleted file mode 100644
index c10fc8217190..000000000000
--- a/dev-libs/tinyxml2/tinyxml2-8.0.0.ebuild
+++ /dev/null
@@ -1,22 +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="A simple, small, efficient, C++ XML parser"
-HOMEPAGE="http://www.grinninglizard.com/tinyxml2/ https://github.com/leethomason/tinyxml2/"
-SRC_URI="https://github.com/leethomason/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="ZLIB"
-SLOT="0/8"
-KEYWORDS="amd64 arm arm64 ~hppa ~ppc64 sparc x86"
-IUSE="test"
-RESTRICT="!test? ( test )"
-
-multilib_src_configure() {
- local mycmakeargs=( -DBUILD_TESTING=$(usex test) )
- cmake_src_configure
-}
diff --git a/dev-libs/tinyxml2/tinyxml2-9.0.0-r1.ebuild b/dev-libs/tinyxml2/tinyxml2-9.0.0-r1.ebuild
new file mode 100644
index 000000000000..4623fa9dfdd3
--- /dev/null
+++ b/dev-libs/tinyxml2/tinyxml2-9.0.0-r1.ebuild
@@ -0,0 +1,29 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# No meson because of bug #791163
+inherit cmake
+
+DESCRIPTION="A simple, small, efficient, C++ XML parser"
+HOMEPAGE="http://www.grinninglizard.com/tinyxml2/ https://github.com/leethomason/tinyxml2/"
+SRC_URI="https://github.com/leethomason/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="ZLIB"
+SLOT="0/9"
+KEYWORDS="amd64 arm arm64 ~hppa ~loong ~ppc ppc64 ~riscv sparc x86"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+PATCHES=(
+ "${FILESDIR}/${P}-musl-1.2.4.patch"
+)
+
+src_configure() {
+ local mycmakeargs=(
+ -DBUILD_TESTING=$(usex test)
+ )
+
+ cmake_src_configure
+}
diff --git a/dev-libs/tinyxml2/tinyxml2-9.0.0.ebuild b/dev-libs/tinyxml2/tinyxml2-9.0.0.ebuild
deleted file mode 100644
index 007b65ac09c2..000000000000
--- a/dev-libs/tinyxml2/tinyxml2-9.0.0.ebuild
+++ /dev/null
@@ -1,22 +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="A simple, small, efficient, C++ XML parser"
-HOMEPAGE="http://www.grinninglizard.com/tinyxml2/ https://github.com/leethomason/tinyxml2/"
-SRC_URI="https://github.com/leethomason/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="ZLIB"
-SLOT="0/9"
-KEYWORDS="amd64 arm arm64 ~hppa ~ppc64 ~riscv sparc x86"
-IUSE="test"
-RESTRICT="!test? ( test )"
-
-multilib_src_configure() {
- local mycmakeargs=( -DBUILD_TESTING=$(usex test) )
- cmake_src_configure
-}
diff --git a/dev-libs/tllist/Manifest b/dev-libs/tllist/Manifest
new file mode 100644
index 000000000000..a4df466869fd
--- /dev/null
+++ b/dev-libs/tllist/Manifest
@@ -0,0 +1,2 @@
+DIST tllist-1.0.5.tar.gz 7022 BLAKE2B c0c6db1682d6ab408c43c434ffc8e58d2cc4076121e8c11e2612678af12faa93661dcb547371bbeca4f78c1b7c99843ae9cbff8ab4e2389ce1c395f0e65e66cd SHA512 e8d55a727de56956c6823297e92ba4656292096ece7d22f3d8834b86811ede9b2fdca580bea55e0beda35322f418140357770592d85c0c07ea09c1642c7ff1e9
+DIST tllist-1.1.0.tar.gz 7639 BLAKE2B 7561be89cab09a33a9835bbd060070761ac740ea27b9b3eecc3681bf799b2b98db81ddc13465704fb5b46f474b74605042449de272ab3cd22827471a98331c5a SHA512 9aade353a3ce4edf5ddc4ef85c1926343d9f88c9c8ee3994f0df89eefeb3b3e0ab168cf0c9a2ca4a858215c2a328462d4b5bf182134b5deb3b3a0e15af4006fe
diff --git a/dev-libs/tllist/files/tllist-1.0.5-meson-pkgbuild-fix-version-number.patch b/dev-libs/tllist/files/tllist-1.0.5-meson-pkgbuild-fix-version-number.patch
new file mode 100644
index 000000000000..0a0b4a0bd2b7
--- /dev/null
+++ b/dev-libs/tllist/files/tllist-1.0.5-meson-pkgbuild-fix-version-number.patch
@@ -0,0 +1,37 @@
+From 460a684bb297088581d30a7e78d2ca6be719cdef Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Daniel=20Ekl=C3=B6f?= <daniel@ekloef.se>
+Date: Fri, 26 Feb 2021 10:26:36 +0100
+Subject: [PATCH] meson/pkgbuild: fix version number
+
+---
+ PKGBUILD | 2 +-
+ meson.build | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+https://codeberg.org/dnkl/tllist/commit/460a684bb297088581d30a7e78d2ca6be719cdef
+https://bugs.gentoo.org/859469
+
+diff --git a/PKGBUILD b/PKGBUILD
+index ec197d1..0339f82 100644
+--- a/PKGBUILD
++++ b/PKGBUILD
+@@ -1,5 +1,5 @@
+ pkgname=tllist
+-pkgver=1.0.4
++pkgver=1.0.5
+ pkgrel=1
+ pkgdesc="A C header file only implementation of a typed linked list"
+ arch=('x86_64' 'aarch64')
+diff --git a/meson.build b/meson.build
+index 200f2c7..36aadec 100644
+--- a/meson.build
++++ b/meson.build
+@@ -1,4 +1,4 @@
+-project('tllist', 'c', version: '1.0.4', license: 'MIT', meson_version: '>=0.54.0')
++project('tllist', 'c', version: '1.0.5', license: 'MIT', meson_version: '>=0.54.0')
+ tllist = declare_dependency(include_directories: '.')
+ meson.override_dependency('tllist', tllist)
+
+--
+2.35.1
+
diff --git a/dev-libs/tllist/metadata.xml b/dev-libs/tllist/metadata.xml
new file mode 100644
index 000000000000..68250fed57b4
--- /dev/null
+++ b/dev-libs/tllist/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>arsen@gentoo.org</email>
+ <name>Arsen Arsenović</name>
+ </maintainer>
+</pkgmetadata>
diff --git a/dev-libs/tllist/tllist-1.0.5-r1.ebuild b/dev-libs/tllist/tllist-1.0.5-r1.ebuild
new file mode 100644
index 000000000000..3a0a203cb80b
--- /dev/null
+++ b/dev-libs/tllist/tllist-1.0.5-r1.ebuild
@@ -0,0 +1,25 @@
+# Copyright 2020-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit meson
+
+DESCRIPTION="Header-only implementation of a typed linked list in C"
+HOMEPAGE="https://codeberg.org/dnkl/tllist"
+SRC_URI="https://codeberg.org/dnkl/tllist/archive/${PV}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/${PN}"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 ~arm64"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-1.0.5-meson-pkgbuild-fix-version-number.patch"
+)
+
+src_install() {
+ meson_src_install
+
+ rm -r "${ED}/usr/share/doc/${PN}" || die
+}
diff --git a/dev-libs/tllist/tllist-1.1.0.ebuild b/dev-libs/tllist/tllist-1.1.0.ebuild
new file mode 100644
index 000000000000..16e17ecdb39f
--- /dev/null
+++ b/dev-libs/tllist/tllist-1.1.0.ebuild
@@ -0,0 +1,21 @@
+# Copyright 2020-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit meson
+
+DESCRIPTION="Header-only implementation of a typed linked list in C"
+HOMEPAGE="https://codeberg.org/dnkl/tllist"
+SRC_URI="https://codeberg.org/dnkl/tllist/archive/${PV}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/${PN}"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 ~arm64 ~ppc64"
+
+src_install() {
+ meson_src_install
+
+ rm -r "${ED}/usr/share/doc/${PN}" || die
+}
diff --git a/dev-libs/tlsh/Manifest b/dev-libs/tlsh/Manifest
new file mode 100644
index 000000000000..2425a1db29ee
--- /dev/null
+++ b/dev-libs/tlsh/Manifest
@@ -0,0 +1 @@
+DIST tlsh-4.8.2.tar.gz 3345458 BLAKE2B 27d5eece16bb36225b9ae8b3d3a9d055a0f214fffae08a58c39211c3d918dd842497315a62237b291ee1055dfadad78826bbd24f7b9d88f510e9a31f74654039 SHA512 5355c7734f5356a3a7a31ccc078254835871fc0369f1889a34131a0f810735201c68f674eb18e975b6a03a32e5c284899ca9ffdc1f583e42192188c172d2aad0
diff --git a/dev-libs/tlsh/files/tlsh-4.8.2-gnuinstalldirs.patch b/dev-libs/tlsh/files/tlsh-4.8.2-gnuinstalldirs.patch
new file mode 100644
index 000000000000..d30363de6d74
--- /dev/null
+++ b/dev-libs/tlsh/files/tlsh-4.8.2-gnuinstalldirs.patch
@@ -0,0 +1,37 @@
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -51,7 +51,7 @@
+ # OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
+ # OF THE POSSIBILITY OF SUCH DAMAGE.
+
+-cmake_minimum_required(VERSION 2.6)
++cmake_minimum_required(VERSION 2.8.5)
+
+ project(TLSH)
+
+@@ -133,6 +133,8 @@ else(CMAKE_BUILD_TYPE STREQUAL Debug)
+ endif()
+ endif(CMAKE_BUILD_TYPE STREQUAL Debug)
+
++include(GNUInstallDirs)
++
+ if(MSVC)
+ add_definitions(-DWINDOWS -DTLSH_LIB)
+ include_directories(Windows)
+--- a/src/CMakeLists.txt
++++ b/src/CMakeLists.txt
+@@ -78,10 +78,10 @@ if(TLSH_SHARED_LIBRARY EQUAL 1)
+ endif()
+
+ if(TLSH_SHARED_LIBRARY)
+- install(TARGETS tlsh_static tlsh_shared DESTINATION lib)
++ install(TARGETS tlsh_static tlsh_shared DESTINATION ${CMAKE_INSTALL_LIBDIR})
+ else()
+- install(TARGETS tlsh_static DESTINATION lib)
++ install(TARGETS tlsh_static DESTINATION ${CMAKE_INSTALL_LIBDIR})
+ endif()
+
+-install(FILES ../include/tlsh.h DESTINATION include/tlsh)
+-install(FILES ../include/tlsh_version.h DESTINATION include/tlsh)
++install(FILES ../include/tlsh.h DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/tlsh)
++install(FILES ../include/tlsh_version.h DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/tlsh)
diff --git a/dev-libs/tlsh/files/tlsh-4.8.2-respect-flags.patch b/dev-libs/tlsh/files/tlsh-4.8.2-respect-flags.patch
new file mode 100644
index 000000000000..fc22b9a1d521
--- /dev/null
+++ b/dev-libs/tlsh/files/tlsh-4.8.2-respect-flags.patch
@@ -0,0 +1,21 @@
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -126,7 +126,7 @@ if (CMAKE_BUILD_TYPE STREQUAL Debug)
+ endif()
+ else(CMAKE_BUILD_TYPE STREQUAL Debug)
+ if(CMAKE_COMPILER_IS_GNUCXX)
+- set(CMAKE_CXX_FLAGS "-O2 -fvisibility=internal") ## Remove TlshImpl symbols
++ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fvisibility=internal") ## Remove TlshImpl symbols
+ endif()
+ if(MSVC)
+ set(CMAKE_CXX_FLAGS "/O2") ## Optimize
+@@ -142,8 +142,7 @@ endif()
+
+ # user can override CXX; make sure tests link and load properly regardless of LD_LIBRARY_PATH
+ if(CMAKE_COMPILER_IS_GNUCXX)
+- set(CMAKE_EXE_LINKER_FLAGS "-static-libgcc")
+- set(CMAKE_EXE_LINKER_FLAGS "-static-libstdc++")
++ set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -static-libstdc++")
+ endif()
+
+ enable_testing()
diff --git a/dev-libs/tlsh/metadata.xml b/dev-libs/tlsh/metadata.xml
new file mode 100644
index 000000000000..8ffb367f45ce
--- /dev/null
+++ b/dev-libs/tlsh/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>t@laumann.xyz</email>
+ <name>Thomas Bracht Laumann Jespersen</name>
+ </maintainer>
+ <maintainer type="person" proxied="proxy">
+ <email>sam@gentoo.org</email>
+ <name>Sam James</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">trendmicro/tlsh</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/tlsh/tlsh-4.8.2.ebuild b/dev-libs/tlsh/tlsh-4.8.2.ebuild
new file mode 100644
index 000000000000..8b6e02c5e549
--- /dev/null
+++ b/dev-libs/tlsh/tlsh-4.8.2.ebuild
@@ -0,0 +1,39 @@
+# Copyright 2022-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+CMAKE_IN_SOURCE_BUILD=1
+inherit cmake toolchain-funcs flag-o-matic
+
+DESCRIPTION="Fuzzy matching library"
+HOMEPAGE="https://github.com/trendmicro/tlsh"
+SRC_URI="https://github.com/trendmicro/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="|| ( Apache-2.0 BSD )"
+SLOT="0"
+KEYWORDS="amd64 ~arm ~arm64 ~ia64 ~ppc64 x86"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-gnuinstalldirs.patch
+ "${FILESDIR}"/${P}-respect-flags.patch
+)
+
+src_prepare() {
+ # https://github.com/trendmicro/tlsh/issues/131
+ [[ "$(tc-endian)" == "big" ]] && append-flags "-D__SPARC"
+ cmake_src_prepare
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DTLSH_CHECKSUM_1B=1
+ -DTLSH_SHARED_LIBRARY=1
+ )
+ cmake_src_configure
+}
+
+src_install() {
+ cmake_src_install
+ find "${ED}" -name '*.a' -delete || die # Remove the static lib
+}
diff --git a/dev-libs/tntnet/tntnet-3.0.ebuild b/dev-libs/tntnet/tntnet-3.0.ebuild
index 24ed5d0c4ea1..af01d14155c8 100644
--- a/dev-libs/tntnet/tntnet-3.0.ebuild
+++ b/dev-libs/tntnet/tntnet-3.0.ebuild
@@ -1,4 +1,4 @@
-# Copyright 2021 Gentoo Authors
+# Copyright 2021-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -12,9 +12,11 @@ SRC_URI="http://www.tntnet.org/download/${P}.tar.gz"
LICENSE="LGPL-2.1"
SLOT="0"
KEYWORDS="amd64 ~sparc x86"
-IUSE="doc gnutls server ssl"
+IUSE="doc gnutls server ssl test"
+RESTRICT="!test? ( test )"
-RDEPEND=">=dev-libs/cxxtools-3.0
+RDEPEND="
+ >=dev-libs/cxxtools-3.0
sys-libs/zlib[minizip]
ssl? (
gnutls? (
@@ -24,10 +26,13 @@ RDEPEND=">=dev-libs/cxxtools-3.0
!gnutls? (
dev-libs/openssl:0=
)
- )"
+ )
+"
DEPEND="${RDEPEND}"
-BDEPEND="virtual/pkgconfig
- app-arch/zip"
+BDEPEND="
+ app-arch/zip
+ virtual/pkgconfig
+"
PATCHES=(
"${FILESDIR}/${PN}-3.0-autoconf-2.70.patch"
@@ -48,7 +53,7 @@ src_prepare() {
}
src_configure() {
- local myconf=""
+ local myconf="$(use_enable test unittest)"
if ! use server; then
myconf="${myconf} --disable-server"
@@ -57,6 +62,12 @@ src_configure() {
econf ${myconf}
}
+src_test() {
+ cd test || die
+ emake || die
+ ./tntnet-test || die
+}
+
src_install() {
emake DESTDIR="${D}" install
diff --git a/dev-libs/tomsfastmath/metadata.xml b/dev-libs/tomsfastmath/metadata.xml
index 0f96ad732828..f2dc5f990085 100644
--- a/dev-libs/tomsfastmath/metadata.xml
+++ b/dev-libs/tomsfastmath/metadata.xml
@@ -1,12 +1,15 @@
<?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>
- <maintainer type="person">
- <email>mjo@gentoo.org</email>
- <name>Michael Orlitzky</name>
- </maintainer>
+ <maintainer type="person">
+ <email>sam@gentoo.org</email>
+ <name>Sam James</name>
+ </maintainer>
+ <maintainer type="person">
+ <email>mjo@gentoo.org</email>
+ <name>Michael Orlitzky</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">libtom/tomsfastmath</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/dev-libs/tomsfastmath/tomsfastmath-0.13.1-r1.ebuild b/dev-libs/tomsfastmath/tomsfastmath-0.13.1-r1.ebuild
index f07c6214647d..6f64ba4a02ea 100644
--- a/dev-libs/tomsfastmath/tomsfastmath-0.13.1-r1.ebuild
+++ b/dev-libs/tomsfastmath/tomsfastmath-0.13.1-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
@@ -15,9 +15,9 @@ LICENSE="Unlicense"
# Helpful site:
# https://abi-laboratory.pro/index.php?view=timeline&l=tomsfastmath
SLOT="0/1"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~m68k ppc ppc64 ~riscv sparc x86"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~m68k ppc ppc64 ~riscv ~s390 sparc x86"
-BDEPEND="sys-devel/libtool"
+BDEPEND="dev-build/libtool"
PATCHES=(
"${FILESDIR}"/${P}-makefile-fix.patch
diff --git a/dev-libs/totem-pl-parser/files/3.26.6-c99.patch b/dev-libs/totem-pl-parser/files/3.26.6-c99.patch
new file mode 100644
index 000000000000..a991b8ae41c0
--- /dev/null
+++ b/dev-libs/totem-pl-parser/files/3.26.6-c99.patch
@@ -0,0 +1,22 @@
+https://gitlab.gnome.org/GNOME/totem-pl-parser/-/merge_requests/53
+
+From e718dd1fe2476e2a68da4b632f268f404ea951f2 Mon Sep 17 00:00:00 2001
+From: Florian Weimer <fweimer@redhat.com>
+Date: Wed, 3 Jan 2024 13:24:31 +0100
+Subject: [PATCH] Return FALSE instead of NULL, to match the gboolean return
+ type
+
+Fixes a C type error and compilation error with GCC 14 and Clang.
+--- a/plparse/totem-pl-parser.c
++++ b/plparse/totem-pl-parser.c
+@@ -1338,7 +1338,7 @@ totem_pl_parser_save_finish (TotemPlParser *parser,
+ GAsyncResult *async_result,
+ GError **error)
+ {
+- g_return_val_if_fail (g_task_is_valid (async_result, parser), NULL);
++ g_return_val_if_fail (g_task_is_valid (async_result, parser), FALSE);
+
+ return g_task_propagate_boolean (G_TASK (async_result), error);
+ }
+--
+GitLab
diff --git a/dev-libs/totem-pl-parser/metadata.xml b/dev-libs/totem-pl-parser/metadata.xml
index dbd8e554c94b..6f7ef06ed54d 100644
--- a/dev-libs/totem-pl-parser/metadata.xml
+++ b/dev-libs/totem-pl-parser/metadata.xml
@@ -1,13 +1,16 @@
<?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>
-<use>
- <flag name="archive">Enables ISO detection with <pkg>app-arch/libarchive</pkg></flag>
- <flag name="crypt">Support AmazonAMZ decoding with <pkg>dev-libs/libgcrypt</pkg></flag>
- <flag name="uchardet">Enable charset discovery via <pkg>app-i18n/uchardet</pkg></flag>
-</use>
+ <maintainer type="project">
+ <email>gnome@gentoo.org</email>
+ <name>Gentoo GNOME Desktop</name>
+ </maintainer>
+ <use>
+ <flag name="archive">Enables ISO detection with <pkg>app-arch/libarchive</pkg></flag>
+ <flag name="crypt">Support AmazonAMZ decoding with <pkg>dev-libs/libgcrypt</pkg></flag>
+ <flag name="uchardet">Enable charset discovery via <pkg>app-i18n/uchardet</pkg></flag>
+ </use>
+ <upstream>
+ <remote-id type="gnome-gitlab">GNOME/totem-pl-parser</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/dev-libs/totem-pl-parser/totem-pl-parser-3.26.6-r1.ebuild b/dev-libs/totem-pl-parser/totem-pl-parser-3.26.6-r1.ebuild
new file mode 100644
index 000000000000..e0c1d14df6fc
--- /dev/null
+++ b/dev-libs/totem-pl-parser/totem-pl-parser-3.26.6-r1.ebuild
@@ -0,0 +1,73 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+inherit gnome.org meson xdg
+
+DESCRIPTION="Playlist parsing library"
+HOMEPAGE="https://developer.gnome.org/totem-pl-parser/stable/"
+
+LICENSE="LGPL-2+"
+SLOT="0/18"
+IUSE="archive crypt gtk-doc +introspection test +uchardet"
+RESTRICT="!test? ( test )"
+KEYWORDS="~alpha amd64 ~arm arm64 ~ia64 ~loong ppc ppc64 ~riscv ~sparc x86"
+
+RDEPEND="
+ >=dev-libs/glib-2.56:2
+ archive? ( >=app-arch/libarchive-3:0= )
+ dev-libs/libxml2:2
+ crypt? ( dev-libs/libgcrypt:0= )
+ uchardet? ( app-i18n/uchardet )
+ introspection? ( >=dev-libs/gobject-introspection-1.54:= )
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ dev-util/glib-utils
+ gtk-doc? (
+ >=dev-util/gtk-doc-1.14
+ app-text/docbook-xml-dtd:4.3
+ )
+ >=sys-devel/gettext-0.19.8
+ virtual/pkgconfig
+ test? (
+ gnome-base/gvfs[http]
+ sys-apps/dbus
+ )
+"
+
+PATCHES=(
+ "${FILESDIR}"/${PV}-plparser-Fix-uninitialized-variable-error.patch
+ "${FILESDIR}"/${PV}-c99.patch
+)
+
+src_prepare() {
+ # Disable tests requiring network access, bug #346127
+ # 3rd test fails on upgrade, not once installed
+ # Leio: I consider network tests important for ensuring full functionality, thus trying with them again */
+ #sed -e 's:\(g_test_add_func.*/parser/resolution.*\):/*\1*/:' \
+ # -e 's:\(g_test_add_func.*/parser/parsing/itms_link.*\):/*\1*/:' \
+ # -e 's:\(g_test_add_func.*/parser/parsability.*\):/*\1*/:'\
+ # -i plparse/tests/parser.c || die "sed failed"
+
+ xdg_src_prepare
+}
+
+src_configure() {
+ # uninstalled-tests is abused to switch from loading live FS helper
+ # to in-build-tree helper, check on upgrades this is not having other
+ # consequences, bug #630242
+ local emesonargs=(
+ -Denable-libarchive=$(usex archive)
+ -Denable-libgcrypt=$(usex crypt)
+ -Denable-uchardet=$(usex uchardet)
+ $(meson_use gtk-doc enable-gtk-doc)
+ $(meson_use introspection)
+ )
+ meson_src_configure
+}
+
+src_test() {
+ # This is required as told by upstream in bgo#629542
+ GVFS_DISABLE_FUSE=1 dbus-run-session meson test -C "${BUILD_DIR}"
+}
diff --git a/dev-libs/totem-pl-parser/totem-pl-parser-3.26.6.ebuild b/dev-libs/totem-pl-parser/totem-pl-parser-3.26.6.ebuild
deleted file mode 100644
index 26a90958a523..000000000000
--- a/dev-libs/totem-pl-parser/totem-pl-parser-3.26.6.ebuild
+++ /dev/null
@@ -1,72 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-inherit gnome.org meson xdg
-
-DESCRIPTION="Playlist parsing library"
-HOMEPAGE="https://developer.gnome.org/totem-pl-parser/stable/"
-
-LICENSE="LGPL-2+"
-SLOT="0/18"
-IUSE="archive crypt gtk-doc +introspection test +uchardet"
-RESTRICT="!test? ( test )"
-KEYWORDS="~alpha amd64 ~arm arm64 ~ia64 ppc ppc64 ~riscv ~sparc x86"
-
-RDEPEND="
- >=dev-libs/glib-2.56:2
- archive? ( >=app-arch/libarchive-3:0= )
- dev-libs/libxml2:2
- crypt? ( dev-libs/libgcrypt:0= )
- uchardet? ( app-i18n/uchardet )
- introspection? ( >=dev-libs/gobject-introspection-1.54:= )
-"
-DEPEND="${RDEPEND}"
-BDEPEND="
- dev-util/glib-utils
- gtk-doc? (
- >=dev-util/gtk-doc-1.14
- app-text/docbook-xml-dtd:4.3
- )
- >=sys-devel/gettext-0.19.8
- virtual/pkgconfig
- test? (
- gnome-base/gvfs[http]
- sys-apps/dbus
- )
-"
-
-PATCHES=(
- "${FILESDIR}"/${PV}-plparser-Fix-uninitialized-variable-error.patch
-)
-
-src_prepare() {
- # Disable tests requiring network access, bug #346127
- # 3rd test fails on upgrade, not once installed
- # Leio: I consider network tests important for ensuring full functionality, thus trying with them again */
- #sed -e 's:\(g_test_add_func.*/parser/resolution.*\):/*\1*/:' \
- # -e 's:\(g_test_add_func.*/parser/parsing/itms_link.*\):/*\1*/:' \
- # -e 's:\(g_test_add_func.*/parser/parsability.*\):/*\1*/:'\
- # -i plparse/tests/parser.c || die "sed failed"
-
- xdg_src_prepare
-}
-
-src_configure() {
- # uninstalled-tests is abused to switch from loading live FS helper
- # to in-build-tree helper, check on upgrades this is not having other
- # consequences, bug #630242
- local emesonargs=(
- -Denable-libarchive=$(usex archive)
- -Denable-libgcrypt=$(usex crypt)
- -Denable-uchardet=$(usex uchardet)
- $(meson_use gtk-doc enable-gtk-doc)
- $(meson_use introspection)
- )
- meson_src_configure
-}
-
-src_test() {
- # This is required as told by upstream in bgo#629542
- GVFS_DISABLE_FUSE=1 dbus-run-session meson test -C "${BUILD_DIR}"
-}
diff --git a/dev-libs/tre/Manifest b/dev-libs/tre/Manifest
index 84c1c6408081..8a3e6468e4cc 100644
--- a/dev-libs/tre/Manifest
+++ b/dev-libs/tre/Manifest
@@ -1 +1 @@
-DIST tre-0.8.0.tar.bz2 380714 BLAKE2B b2af6e805e9e19fd69debf2f881ddfb591317f69db4e29a04e1899eb69100b8ac7744f86fa438530509ca2ee8aa1d346d416c6391f13247cd9398f4c59c2ed85 SHA512 db7465993e0d25eee8e52f974427b8a040234cf0f017769eb94ee88bc6261821336aad7f762bfa82db7e2212d8449bc221592586f061c528a59a550773cbc263
+DIST tre-0.8.0_p20210321.tar.gz 146294 BLAKE2B d740bd0e99f50f5e4d8105f5260e43a81b6af9857a21e386e437ab8d48a9e0de23eae03e96cf6b9f4d2d37f72d0fa73ef7343086271ea80f166bdba3f04475a9 SHA512 950c81f681970fc737cfdd6815445f05a018fc742b964cea3ce19f0249c677dd715ece4ff8e543fa9f3fd23b503eafa00aea00dbae063af9bc7e08dc1bc33aed
diff --git a/dev-libs/tre/files/0.8.0-CVE-2016-8559.patch b/dev-libs/tre/files/0.8.0-CVE-2016-8559.patch
index 39ceae016446..923dbfbf3a2a 100644
--- a/dev-libs/tre/files/0.8.0-CVE-2016-8559.patch
+++ b/dev-libs/tre/files/0.8.0-CVE-2016-8559.patch
@@ -12,13 +12,6 @@ type, size_t, rather than int.
also improve comments, use calloc in place of malloc+memset, and
remove bogus casts.
----
- src/regex/regexec.c | 23 ++++++++++++++++++-----
- 1 file changed, 18 insertions(+), 5 deletions(-)
-
-Note: patch was modified to apply to tre, parts were taken from
-https://github.com/laurikari/tre/issues/37
-
--- a/lib/tre-match-parallel.c
+++ b/lib/tre-match-parallel.c
@@ -59,6 +59,7 @@
diff --git a/dev-libs/tre/files/0.8.0-pkgcfg.patch b/dev-libs/tre/files/0.8.0-pkgcfg.patch
index 82f803504282..7952619c9616 100644
--- a/dev-libs/tre/files/0.8.0-pkgcfg.patch
+++ b/dev-libs/tre/files/0.8.0-pkgcfg.patch
@@ -1,8 +1,6 @@
tre.pc.in | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
-diff --git a/tre.pc.in b/tre.pc.in
-index fdc45fa..b8d0676 100644
--- a/tre.pc.in
+++ b/tre.pc.in
@@ -6,5 +6,5 @@ includedir=@includedir@
diff --git a/dev-libs/tre/files/tre-chicken.patch b/dev-libs/tre/files/tre-chicken.patch
new file mode 100644
index 000000000000..6047f9ae80d3
--- /dev/null
+++ b/dev-libs/tre/files/tre-chicken.patch
@@ -0,0 +1,20 @@
+--- a/python/setup.py
++++ b/python/setup.py
+@@ -10,7 +10,8 @@ import shutil
+
+ version = "0.8.0"
+ data_files = []
+-include_dirs = ["../lib"]
++include_dirs = ["../include"]
++library_dirs = ["../lib/.libs"]
+ libraries = ["tre"]
+
+ if sys.platform == "win32":
+@@ -31,6 +32,7 @@ setup(name = "tre",
+ sources = ["tre-python.c"],
+ define_macros = [("HAVE_CONFIG_H", None)],
+ include_dirs = include_dirs,
++ library_dirs = library_dirs,
+ libraries = libraries
+ ),
+ ],
diff --git a/dev-libs/tre/files/tre-issue37.patch b/dev-libs/tre/files/tre-issue37.patch
new file mode 100644
index 000000000000..43b0cded7d26
--- /dev/null
+++ b/dev-libs/tre/files/tre-issue37.patch
@@ -0,0 +1,11 @@
+--- a/lib/tre-parse.c
++++ b/lib/tre-parse.c
+@@ -1480,6 +1480,8 @@ tre_parse(tre_parse_ctx_t *ctx)
+ ctx->re++;
+ while (ctx->re_end - ctx->re >= 0)
+ {
++ if (i == sizeof(tmp))
++ return REG_EBRACE;
+ if (ctx->re[0] == CHAR_RBRACE)
+ break;
+ if (tre_isxdigit(ctx->re[0]))
diff --git a/dev-libs/tre/files/tre-issue50.patch b/dev-libs/tre/files/tre-issue50.patch
new file mode 100644
index 000000000000..f233953ce28f
--- /dev/null
+++ b/dev-libs/tre/files/tre-issue50.patch
@@ -0,0 +1,11 @@
+--- a/lib/tre-parse.c
++++ b/lib/tre-parse.c
+@@ -1341,7 +1341,7 @@ tre_parse(tre_parse_ctx_t *ctx)
+
+ case CHAR_RPAREN: /* end of current subexpression */
+ if ((ctx->cflags & REG_EXTENDED && depth > 0)
+- || (ctx->re > ctx->re_start
++ || (!(ctx->cflags & REG_EXTENDED) && ctx->re > ctx->re_start
+ && *(ctx->re - 1) == CHAR_BACKSLASH))
+ {
+ DPRINT(("tre_parse: empty: '%.*" STRF "'\n",
diff --git a/dev-libs/tre/files/tre-issue55-part1.patch b/dev-libs/tre/files/tre-issue55-part1.patch
new file mode 100644
index 000000000000..8e12cf683030
--- /dev/null
+++ b/dev-libs/tre/files/tre-issue55-part1.patch
@@ -0,0 +1,28 @@
+--- a/lib/tre-parse.c
++++ b/lib/tre-parse.c
+@@ -582,16 +582,23 @@
+ tre_parse_int(const tre_char_t **regex, const tre_char_t *regex_end)
+ {
+ int num = -1;
++ int overflow = 0;
+ const tre_char_t *r = *regex;
+ while (r < regex_end && *r >= L'0' && *r <= L'9')
+ {
+ if (num < 0)
+ num = 0;
+- num = num * 10 + *r - L'0';
++ if (num <= (INT_MAX - 9) / 10) {
++ num = num * 10 + *r - L'0';
++ } else {
++ /* This digit could cause an integer overflow. We do not return
++ * directly; instead, consume all remaining digits. */
++ overflow = 1;
++ }
+ r++;
+ }
+ *regex = r;
+- return num;
++ return overflow ? -1 : num;
+ }
+
+
diff --git a/dev-libs/tre/files/tre-issue55-part2.patch b/dev-libs/tre/files/tre-issue55-part2.patch
new file mode 100644
index 000000000000..b28a7a5f4901
--- /dev/null
+++ b/dev-libs/tre/files/tre-issue55-part2.patch
@@ -0,0 +1,11 @@
+--- a/lib/tre-parse.c
++++ b/lib/tre-parse.c
+@@ -641,7 +641,7 @@ tre_parse_bound(tre_parse_ctx_t *ctx, tre_ast_node_t **result)
+ }
+
+ /* Check that the repeat counts are sane. */
+- if ((max >= 0 && min > max) || max > RE_DUP_MAX)
++ if ((max >= 0 && min > max) || max > RE_DUP_MAX || min > RE_DUP_MAX)
+ return REG_BADBR;
+
+
diff --git a/dev-libs/tre/files/tre-python3.patch b/dev-libs/tre/files/tre-python3.patch
new file mode 100644
index 000000000000..b3068519e1dd
--- /dev/null
+++ b/dev-libs/tre/files/tre-python3.patch
@@ -0,0 +1,191 @@
+--- a/python/example.py
++++ b/python/example.py
+@@ -1,7 +1,7 @@
+ import tre
+
+ fz = tre.Fuzzyness(maxerr = 3)
+-print fz
++print (fz)
+
+ pt = tre.compile("Don(ald( Ervin)?)? Knuth", tre.EXTENDED)
+ data = """
+@@ -16,5 +16,5 @@ typefaces.
+ m = pt.search(data, fz)
+
+ if m:
+- print m.groups()
+- print m[0]
++ print (m.groups())
++ print (m[0])
+--- a/python/tre-python.c
++++ b/python/tre-python.c
+@@ -86,9 +86,9 @@ TreFuzzyness_repr(PyObject *obj)
+ TreFuzzynessObject *self = (TreFuzzynessObject*)obj;
+ PyObject *o;
+
+- o = PyString_FromFormat("%s(delcost=%d,inscost=%d,maxcost=%d,subcost=%d,"
++ o = PyUnicode_FromFormat("%s(delcost=%d,inscost=%d,maxcost=%d,subcost=%d,"
+ "maxdel=%d,maxerr=%d,maxins=%d,maxsub=%d)",
+- self->ob_type->tp_name, self->ap.cost_del,
++ Py_TYPE(self)->tp_name, self->ap.cost_del,
+ self->ap.cost_ins, self->ap.max_cost,
+ self->ap.cost_subst, self->ap.max_del,
+ self->ap.max_err, self->ap.max_ins,
+@@ -118,8 +118,7 @@ static PyMemberDef TreFuzzyness_members[
+ };
+
+ static PyTypeObject TreFuzzynessType = {
+- PyObject_HEAD_INIT(NULL)
+- 0, /* ob_size */
++ PyVarObject_HEAD_INIT(NULL, 0)
+ TRE_MODULE ".Fuzzyness", /* tp_name */
+ sizeof(TreFuzzynessObject), /* tp_basicsize */
+ 0, /* tp_itemsize */
+@@ -193,7 +192,7 @@ PyTreMatch_groups(TreMatchObject *self,
+ }
+
+ static PyObject *
+-PyTreMatch_groupi(PyObject *obj, int gn)
++PyTreMatch_groupi(PyObject *obj, Py_ssize_t gn)
+ {
+ TreMatchObject *self = (TreMatchObject*)obj;
+ PyObject *result;
+@@ -220,7 +219,7 @@ PyTreMatch_group(TreMatchObject *self, P
+ PyObject *result;
+ long gn;
+
+- gn = PyInt_AsLong(grpno);
++ gn = PyLong_AsLong(grpno);
+
+ if (PyErr_Occurred())
+ return NULL;
+@@ -277,8 +276,7 @@ static PySequenceMethods TreMatch_as_seq
+ };
+
+ static PyTypeObject TreMatchType = {
+- PyObject_HEAD_INIT(NULL)
+- 0, /* ob_size */
++ PyVarObject_HEAD_INIT(NULL, 0)
+ TRE_MODULE ".Match", /* tp_name */
+ sizeof(TreMatchObject), /* tp_basicsize */
+ 0, /* tp_itemsize */
+@@ -380,8 +378,8 @@ PyTrePattern_search(TrePatternObject *se
+ }
+ else
+ {
+- targ = PyString_AsString(pstring);
+- tlen = PyString_Size(pstring);
++ targ = PyBytes_AsString(pstring);
++ tlen = PyBytes_Size(pstring);
+
+ rc = tre_reganexec(&self->rgx, targ, tlen, &mo->am, fz->ap, eflags);
+ }
+@@ -433,8 +431,7 @@ PyTrePattern_dealloc(TrePatternObject *s
+ }
+
+ static PyTypeObject TrePatternType = {
+- PyObject_HEAD_INIT(NULL)
+- 0, /* ob_size */
++ PyVarObject_HEAD_INIT(NULL, 0)
+ TRE_MODULE ".Pattern", /* tp_name */
+ sizeof(TrePatternObject), /* tp_basicsize */
+ 0, /* tp_itemsize */
+@@ -467,7 +464,7 @@ static PyTypeObject TrePatternType = {
+ };
+
+ static TrePatternObject *
+-newTrePatternObject()
++newTrePatternObject(void)
+ {
+ TrePatternObject *self;
+
+@@ -482,7 +479,7 @@ static PyObject *
+ PyTre_ncompile(PyObject *self, PyObject *args)
+ {
+ TrePatternObject *rv;
+- PyUnicodeObject *upattern = NULL;
++ PyObject *upattern = NULL;
+ char *pattern = NULL;
+ int pattlen;
+ int cflags = 0;
+@@ -537,9 +534,8 @@ static PyMethodDef tre_methods[] = {
+ { NULL, NULL }
+ };
+
+-static char *tre_doc =
+-"Python module for TRE library\n\nModule exports "
+-"the only function: compile";
++
++#define tre_doc "Python module for TRE library\n\nModule exports the only function: compile"
+
+ static struct _tre_flags {
+ char *name;
+@@ -556,40 +552,57 @@ static struct _tre_flags {
+ { NULL, 0 }
+ };
+
++
++static struct PyModuleDef moduledef = {
++ PyModuleDef_HEAD_INIT,
++ TRE_MODULE ".Module", /* m_name */
++ tre_doc, /* m_doc */
++ -1, /* m_size */
++ tre_methods, /* m_methods */
++ NULL, /* m_reload */
++ NULL, /* m_traverse */
++ NULL, /* m_clear */
++ NULL, /* m_free */
++};
++
++
+ PyMODINIT_FUNC
+-inittre(void)
++PyInit_tre(void)
+ {
+ PyObject *m;
+ struct _tre_flags *fp;
+
+ if (PyType_Ready(&TreFuzzynessType) < 0)
+- return;
++ return NULL;
+ if (PyType_Ready(&TreMatchType) < 0)
+- return;
++ return NULL;
+ if (PyType_Ready(&TrePatternType) < 0)
+- return;
++ return NULL;
+
+ /* Create the module and add the functions */
+- m = Py_InitModule3(TRE_MODULE, tre_methods, tre_doc);
++
++ m = PyModule_Create (&moduledef);
++
+ if (m == NULL)
+- return;
++ return NULL;
+
+ Py_INCREF(&TreFuzzynessType);
+ if (PyModule_AddObject(m, "Fuzzyness", (PyObject*)&TreFuzzynessType) < 0)
+- return;
++ return NULL;
+ Py_INCREF(&TreMatchType);
+ if (PyModule_AddObject(m, "Match", (PyObject*)&TreMatchType) < 0)
+- return;
++ return NULL;
+ Py_INCREF(&TrePatternType);
+ if (PyModule_AddObject(m, "Pattern", (PyObject*)&TrePatternType) < 0)
+- return;
++ return NULL;
+ ErrorObject = PyErr_NewException(TRE_MODULE ".Error", NULL, NULL);
+ Py_INCREF(ErrorObject);
+ if (PyModule_AddObject(m, "Error", ErrorObject) < 0)
+- return;
++ return NULL;
+
+ /* Insert the flags */
+ for (fp = tre_flags; fp->name != NULL; fp++)
+ if (PyModule_AddIntConstant(m, fp->name, fp->val) < 0)
+- return;
++ return NULL;
++ return m;
+ }
diff --git a/dev-libs/tre/files/tre-tests.patch b/dev-libs/tre/files/tre-tests.patch
new file mode 100644
index 000000000000..c39ff9fb268d
--- /dev/null
+++ b/dev-libs/tre/files/tre-tests.patch
@@ -0,0 +1,10 @@
+--- tre-0.7.6/tests/agrep/run-tests.sh.tests
++++ tre-0.7.6/tests/agrep/run-tests.sh
+@@ -2,6 +2,7 @@
+
+ set -e
+
++export LD_LIBRARY_PATH=$top_builddir/lib/.libs
+ agrep="$top_builddir/src/agrep"
+
+ echo "$builddir $top_builddir $srcdir"
diff --git a/dev-libs/tre/metadata.xml b/dev-libs/tre/metadata.xml
index 4d02215649f9..f77edd54bfa6 100644
--- a/dev-libs/tre/metadata.xml
+++ b/dev-libs/tre/metadata.xml
@@ -8,4 +8,9 @@
<upstream>
<remote-id type="github">laurikari/tre</remote-id>
</upstream>
+ <use>
+ <flag name="agrep">Build agrep tool</flag>
+ <flag name="alloca">Enable if you want TRE to use alloca() instead of malloc() when allocating memory needed for regexec operations</flag>
+ <flag name="approx">Enable the approximate matching functionality</flag>
+ </use>
</pkgmetadata>
diff --git a/dev-libs/tre/tre-0.8.0-r2.ebuild b/dev-libs/tre/tre-0.8.0-r2.ebuild
deleted file mode 100644
index f3c3ce1a75bf..000000000000
--- a/dev-libs/tre/tre-0.8.0-r2.ebuild
+++ /dev/null
@@ -1,67 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit multilib
-
-DESCRIPTION="Lightweight, robust, and efficient POSIX compliant regexp matching library"
-HOMEPAGE="https://laurikari.net/tre/ https://github.com/laurikari/tre/"
-SRC_URI="https://laurikari.net/tre/${P}.tar.bz2"
-
-LICENSE="BSD-2"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm ~arm64 ~hppa ~ia64 ~mips ppc ppc64 ~riscv sparc x86 ~amd64-linux ~x86-linux ~x86-solaris"
-IUSE="nls static-libs"
-
-RDEPEND="
- !app-text/agrep
- !dev-ruby/amatch
- !app-misc/glimpse"
-
-DEPEND="
- ${RDEPEND}
- virtual/pkgconfig
- nls? ( sys-devel/gettext )"
-
-PATCHES=(
- "${FILESDIR}/${PV}-pkgcfg.patch"
- "${FILESDIR}/${PV}-CVE-2016-8559.patch"
-)
-
-src_prepare() {
- default
-}
-
-src_configure() {
- econf \
- --enable-agrep \
- --enable-system-abi \
- $(use_enable nls) \
- $(use_enable static-libs static)
-}
-
-src_test() {
- if locale -a | grep -iq en_US.iso88591; then
- emake -j1 check
- else
- ewarn "If you like to run the test,"
- ewarn "please make sure en_US.ISO-8859-1 is installed."
- die "en_US.ISO-8859-1 locale is missing"
- fi
-}
-
-src_install() {
- local HTML_DOCS=( doc/*.{css,html} )
-
- default
-
- # 626480
- mv "${ED%/}"/usr/bin/agrep{,-tre}$(get_exeext) || die
-}
-
-pkg_postinst() {
- ewarn "app-misc/glimpse, app-text/agrep and this package all provide agrep."
- ewarn "If this causes any unforeseen incompatibilities please file a bug"
- ewarn "on https://bugs.gentoo.org."
-}
diff --git a/dev-libs/tre/tre-0.8.0_p20210321-r1.ebuild b/dev-libs/tre/tre-0.8.0_p20210321-r1.ebuild
new file mode 100644
index 000000000000..185e2de33ab0
--- /dev/null
+++ b/dev-libs/tre/tre-0.8.0_p20210321-r1.ebuild
@@ -0,0 +1,115 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+COMMIT="6092368aabdd0dbb0fbceb2766a37b98e0ff6911"
+PYTHON_COMPAT=( python3_{9..10} pypy3 )
+
+inherit autotools distutils-r1
+
+DESCRIPTION="Lightweight, robust, and efficient POSIX compliant regexp matching library"
+HOMEPAGE="
+ https://laurikari.net/tre/
+ https://github.com/laurikari/tre
+"
+SRC_URI="https://github.com/laurikari/tre/archive/${COMMIT}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/${PN}-${COMMIT}"
+
+LICENSE="BSD-2"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ppc ppc64 ~riscv sparc x86 ~amd64-linux ~x86-linux"
+IUSE="+agrep +alloca +approx debug nls profile python"
+
+RDEPEND="
+ agrep? (
+ !app-text/agrep
+ !dev-ruby/amatch
+ !app-misc/glimpse
+ )
+ python? ( ${PYTHON_DEPS} )
+"
+DEPEND="
+ ${RDEPEND}
+ nls? ( sys-devel/gettext )
+"
+BDEPEND="sys-devel/gettext
+ virtual/pkgconfig"
+
+REQUIRED_USE="
+ agrep? ( approx )
+ python? ( ${PYTHON_REQUIRED_USE} )
+"
+
+PATCHES=(
+ "${FILESDIR}/0.8.0-pkgcfg.patch"
+ "${FILESDIR}/0.8.0-CVE-2016-8559.patch"
+ "${FILESDIR}/${PN}-chicken.patch"
+ "${FILESDIR}/${PN}-issue37.patch"
+ "${FILESDIR}/${PN}-issue50.patch"
+ "${FILESDIR}/${PN}-issue55-part1.patch"
+ "${FILESDIR}/${PN}-issue55-part2.patch"
+ "${FILESDIR}/${PN}-python3.patch"
+ "${FILESDIR}/${PN}-tests.patch"
+)
+
+src_prepare() {
+ default
+ eautoreconf
+}
+
+src_configure() {
+ local myconf=(
+ --disable-static
+ --disable-system-abi
+ --enable-multibyte
+ --enable-wchar
+ $(use_enable agrep)
+ $(use_enable approx)
+ $(use_enable debug)
+ $(use_enable nls)
+ $(use_enable profile)
+ $(use_with alloca)
+ )
+ econf "${myconf[@]}"
+}
+
+src_test() {
+ if locale -a | grep -iq en_US.iso88591; then
+ emake -j1 check
+ else
+ ewarn "If you like to run the test,"
+ ewarn "please make sure en_US.ISO-8859-1 is installed."
+ die "en_US.ISO-8859-1 locale is missing"
+ fi
+}
+
+src_compile() {
+ default
+
+ if use python; then
+ pushd python || die
+ distutils-r1_src_compile
+ popd || die
+ fi
+}
+
+src_install() {
+ local HTML_DOCS=( doc/*.{css,html} )
+
+ default
+
+ use python && distutils-r1_src_install
+}
+
+python_install() {
+ pushd "python" || die
+ distutils-r1_python_install
+ popd || die
+}
+
+pkg_postinst() {
+ ewarn "app-misc/glimpse, app-text/agrep and this package all provide agrep."
+ ewarn "If this causes any unforeseen incompatibilities please file a bug"
+ ewarn "on https://bugs.gentoo.org."
+}
diff --git a/dev-libs/tre/tre-0.8.0_p20210321-r2.ebuild b/dev-libs/tre/tre-0.8.0_p20210321-r2.ebuild
new file mode 100644
index 000000000000..d139f6524687
--- /dev/null
+++ b/dev-libs/tre/tre-0.8.0_p20210321-r2.ebuild
@@ -0,0 +1,106 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+COMMIT="6092368aabdd0dbb0fbceb2766a37b98e0ff6911"
+PYTHON_COMPAT=( python3_{8..11} pypy3 )
+DISTUTILS_OPTIONAL=1
+
+inherit autotools distutils-r1
+
+DESCRIPTION="Lightweight, robust, and efficient POSIX compliant regexp matching library"
+HOMEPAGE="
+ https://laurikari.net/tre/
+ https://github.com/laurikari/tre
+"
+SRC_URI="https://github.com/laurikari/tre/archive/${COMMIT}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/${PN}-${COMMIT}"
+
+LICENSE="BSD-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux"
+IUSE="+agrep +alloca +approx debug nls profile python"
+
+RDEPEND="
+ agrep? (
+ !app-text/agrep
+ !dev-ruby/amatch
+ !app-misc/glimpse
+ )
+ python? ( ${PYTHON_DEPS} )
+"
+DEPEND="
+ ${RDEPEND}
+ nls? ( sys-devel/gettext )
+"
+BDEPEND="
+ python? ( ${DISTUTILS_DEPS} )
+ sys-devel/gettext
+ virtual/pkgconfig"
+
+REQUIRED_USE="
+ agrep? ( approx )
+ python? ( ${PYTHON_REQUIRED_USE} )
+"
+
+PATCHES=(
+ "${FILESDIR}/0.8.0-pkgcfg.patch"
+ "${FILESDIR}/0.8.0-CVE-2016-8559.patch"
+ "${FILESDIR}/${PN}-chicken.patch"
+ "${FILESDIR}/${PN}-issue37.patch"
+ "${FILESDIR}/${PN}-issue50.patch"
+ "${FILESDIR}/${PN}-issue55-part1.patch"
+ "${FILESDIR}/${PN}-issue55-part2.patch"
+ "${FILESDIR}/${PN}-python3.patch"
+ "${FILESDIR}/${PN}-tests.patch"
+)
+
+src_prepare() {
+ default
+ eautoreconf
+}
+
+src_configure() {
+ local myconf=(
+ --disable-static
+ --disable-system-abi
+ --enable-multibyte
+ --enable-wchar
+ $(use_enable agrep)
+ $(use_enable approx)
+ $(use_enable debug)
+ $(use_enable nls)
+ $(use_enable profile)
+ $(use_with alloca)
+ )
+ econf "${myconf[@]}"
+}
+
+src_test() {
+ if locale -a | grep -iq en_US.iso88591; then
+ emake -j1 check
+ else
+ ewarn "If you like to run the test,"
+ ewarn "please make sure en_US.ISO-8859-1 is installed."
+ die "en_US.ISO-8859-1 locale is missing"
+ fi
+}
+
+src_compile() {
+ default
+
+ if use python; then
+ cd python || die
+ distutils-r1_src_compile
+ fi
+}
+
+src_install() {
+ local HTML_DOCS=( doc/*.{css,html} )
+
+ default
+
+ use python && distutils-r1_src_install
+}
diff --git a/dev-libs/tre/tre-0.8.0_p20210321-r3.ebuild b/dev-libs/tre/tre-0.8.0_p20210321-r3.ebuild
new file mode 100644
index 000000000000..06fb94e53c49
--- /dev/null
+++ b/dev-libs/tre/tre-0.8.0_p20210321-r3.ebuild
@@ -0,0 +1,108 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+COMMIT="6092368aabdd0dbb0fbceb2766a37b98e0ff6911"
+PYTHON_COMPAT=( python3_{8..11} pypy3 )
+DISTUTILS_OPTIONAL=1
+
+inherit autotools distutils-r1
+
+DESCRIPTION="Lightweight, robust, and efficient POSIX compliant regexp matching library"
+HOMEPAGE="
+ https://laurikari.net/tre/
+ https://github.com/laurikari/tre
+"
+SRC_URI="https://github.com/laurikari/tre/archive/${COMMIT}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/${PN}-${COMMIT}"
+
+LICENSE="BSD-2"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~x64-macos"
+IUSE="+agrep +alloca +approx debug nls profile python"
+
+RDEPEND="
+ agrep? (
+ !app-text/agrep
+ !dev-ruby/amatch
+ !app-misc/glimpse
+ )
+ python? ( ${PYTHON_DEPS} )
+"
+DEPEND="
+ ${RDEPEND}
+ nls? ( sys-devel/gettext )
+"
+BDEPEND="
+ python? ( ${DISTUTILS_DEPS} )
+ sys-devel/gettext
+ virtual/pkgconfig"
+
+REQUIRED_USE="
+ agrep? ( approx )
+ python? ( ${PYTHON_REQUIRED_USE} )
+"
+
+PATCHES=(
+ "${FILESDIR}/0.8.0-pkgcfg.patch"
+ "${FILESDIR}/0.8.0-CVE-2016-8559.patch"
+ "${FILESDIR}/${PN}-chicken.patch"
+ "${FILESDIR}/${PN}-issue37.patch"
+ "${FILESDIR}/${PN}-issue50.patch"
+ "${FILESDIR}/${PN}-issue55-part1.patch"
+ "${FILESDIR}/${PN}-issue55-part2.patch"
+ "${FILESDIR}/${PN}-python3.patch"
+ "${FILESDIR}/${PN}-tests.patch"
+)
+
+src_prepare() {
+ default
+ eautoreconf
+}
+
+src_configure() {
+ local myconf=(
+ --disable-static
+ --disable-system-abi
+ --enable-multibyte
+ --enable-wchar
+ $(use_enable agrep)
+ $(use_enable approx)
+ $(use_enable debug)
+ $(use_enable nls)
+ $(use_enable profile)
+ $(use_with alloca)
+ )
+ econf "${myconf[@]}"
+}
+
+src_test() {
+ if locale -a | grep -iq en_US.iso88591; then
+ emake -j1 check
+ else
+ ewarn "If you like to run the test,"
+ ewarn "please make sure en_US.ISO-8859-1 is installed."
+ die "en_US.ISO-8859-1 locale is missing"
+ fi
+}
+
+src_compile() {
+ default
+
+ if use python; then
+ cd python || die
+ distutils-r1_src_compile
+ fi
+}
+
+src_install() {
+ local HTML_DOCS=( doc/*.{css,html} )
+
+ default
+
+ use python && distutils-r1_src_install
+
+ find "${ED}" -type f -name '*.la' -delete || die
+}
diff --git a/dev-libs/tree-sitter-bash/Manifest b/dev-libs/tree-sitter-bash/Manifest
index 3e270eade3ee..a9d7f4e84baa 100644
--- a/dev-libs/tree-sitter-bash/Manifest
+++ b/dev-libs/tree-sitter-bash/Manifest
@@ -1 +1,4 @@
DIST tree-sitter-bash-0.19.0.tar.gz 187286 BLAKE2B 8812a593366a65a9cae3eaac5bb81c71e95f4abe8558a01b908333e471f05714b1c768b71e66d3890d1e63202819290813e499a5e8ba49e72bb466b9b0f245f8 SHA512 62bc8bc25c999f9c79632bd6b236edd21ef15b14365dd1a956237b11a32f5e60a2f420ec67b60d46203699b7841d4bc10978fc0307d0c4013b376c6c024d89ae
+DIST tree-sitter-bash-0.20.4-2.tar.gz 444183 BLAKE2B 31016de876ed84ab991ebc1e531dd750c416a86db5f91097db54e7362de673ea89bbf8863a9df487f75386f19a7e8ddde48a2e727af918d1beea8acad3ce67c6 SHA512 074f659ea475c7a442957a3df234f967ae9a6ace885ecfad6548a1d0f2af7535e5460d81bcd160a04bda1b902af0a9f741fc0c7b22309cd1d11ab2bc33ff0a22
+DIST tree-sitter-bash-0.20.5.tar.gz 525750 BLAKE2B 2508ede3ac6b0a7bac3f46af35ea018916b5cf6b0acf593e546146277c1a619dba52eac6064e3e0431e0f5e41bc80b441e0ac8886287ccce5bdabe3924a036e8 SHA512 bc1c4ec816183b4a4990decd45f3c46a424e29d4c417b762f3f761b6396faa984c6eb05237cb4921070e0b478485146889176a862b0935b4b345a704675bef22
+DIST tree-sitter-bash-0.21.0.tar.gz 557096 BLAKE2B bfbdb4db0f75c292567043a47d32e26c6ec119ed70fa9b77675eb57e686c072315fc114befecc430730c8eec20238544d13836402f2264a1b6657e0387d4987c SHA512 9585ea80f85bc7010444a91142bc943486ade68982c7ca367a6cbe65619af2bdaa1acd8b6ee698cdf74b84d62a7f44acc4676ddb4b6007035eb9eea4768f122d
diff --git a/dev-libs/tree-sitter-bash/metadata.xml b/dev-libs/tree-sitter-bash/metadata.xml
index 32d01ca517bb..1fffc5c7ee44 100644
--- a/dev-libs/tree-sitter-bash/metadata.xml
+++ b/dev-libs/tree-sitter-bash/metadata.xml
@@ -1,14 +1,18 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person" proxied="yes">
- <email>matt@offtopica.uk</email>
+ <maintainer type="person">
+ <email>matthew@gentoo.org</email>
<name>Matthew Smith</name>
</maintainer>
- <maintainer type="person" proxied="proxy">
+ <maintainer type="person">
<email>sarnex@gentoo.org</email>
<name>Nick Sarnie</name>
</maintainer>
+ <maintainer type="project">
+ <email>pkgcore@gentoo.org</email>
+ <name>Pkgcore</name>
+ </maintainer>
<upstream>
<remote-id type="github">tree-sitter/tree-sitter-bash</remote-id>
</upstream>
diff --git a/dev-libs/tree-sitter-bash/tree-sitter-bash-0.19.0.ebuild b/dev-libs/tree-sitter-bash/tree-sitter-bash-0.19.0.ebuild
index 11a9c28e22fc..bf87fe76c9f8 100644
--- a/dev-libs/tree-sitter-bash/tree-sitter-bash-0.19.0.ebuild
+++ b/dev-libs/tree-sitter-bash/tree-sitter-bash-0.19.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
@@ -10,4 +10,4 @@ HOMEPAGE="https://github.com/tree-sitter/tree-sitter-bash"
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~amd64"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ppc ppc64 ~riscv ~s390 sparc x86 ~x64-macos"
diff --git a/dev-libs/tree-sitter-bash/tree-sitter-bash-0.20.4-r1.ebuild b/dev-libs/tree-sitter-bash/tree-sitter-bash-0.20.4-r1.ebuild
new file mode 100644
index 000000000000..8d2e42a385d4
--- /dev/null
+++ b/dev-libs/tree-sitter-bash/tree-sitter-bash-0.20.4-r1.ebuild
@@ -0,0 +1,17 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit tree-sitter-grammar
+
+DESCRIPTION="Bash grammar for Tree-sitter"
+HOMEPAGE="https://github.com/tree-sitter/tree-sitter-bash"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ppc ppc64 ~riscv ~s390 sparc x86 ~x64-macos"
+
+# Override eclass SRC_URI as 0.20.4 was bumped incorrectly.
+SRC_URI="https://github.com/tree-sitter/${PN}/archive/v${PV}.tar.gz
+ -> ${P}-2.tar.gz"
diff --git a/dev-libs/tree-sitter-bash/tree-sitter-bash-0.20.5.ebuild b/dev-libs/tree-sitter-bash/tree-sitter-bash-0.20.5.ebuild
new file mode 100644
index 000000000000..fa2574fde717
--- /dev/null
+++ b/dev-libs/tree-sitter-bash/tree-sitter-bash-0.20.5.ebuild
@@ -0,0 +1,13 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit tree-sitter-grammar
+
+DESCRIPTION="Bash grammar for Tree-sitter"
+HOMEPAGE="https://github.com/tree-sitter/tree-sitter-bash"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ppc ppc64 ~riscv ~s390 sparc x86 ~x64-macos"
diff --git a/dev-libs/tree-sitter-bash/tree-sitter-bash-0.21.0-r1.ebuild b/dev-libs/tree-sitter-bash/tree-sitter-bash-0.21.0-r1.ebuild
new file mode 100644
index 000000000000..617bbba72611
--- /dev/null
+++ b/dev-libs/tree-sitter-bash/tree-sitter-bash-0.21.0-r1.ebuild
@@ -0,0 +1,15 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+TS_BINDINGS=( python )
+
+inherit tree-sitter-grammar
+
+DESCRIPTION="Bash grammar for Tree-sitter"
+HOMEPAGE="https://github.com/tree-sitter/tree-sitter-bash"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ppc ppc64 ~riscv ~s390 sparc x86 ~x64-macos"
diff --git a/dev-libs/tree-sitter-c-sharp/Manifest b/dev-libs/tree-sitter-c-sharp/Manifest
index ac1f41b5a79f..b1da3146b0bb 100644
--- a/dev-libs/tree-sitter-c-sharp/Manifest
+++ b/dev-libs/tree-sitter-c-sharp/Manifest
@@ -1 +1,2 @@
DIST tree-sitter-c-sharp-0.19.1.tar.gz 842687 BLAKE2B 741a6be6052d739b9aa066adce84b492aa48726653a03e7b58bfc6b5e35d6b928b02deb32b568500a156466d39fd430abe1a452d24213ca4f999d01ddc081bd6 SHA512 74b91086d2aeaba5be7932cc2a479040291db754bdca46bd59cb3af8e42b38e9113d99de3b88d4c1dc41227e2e84ee18715a01709af72c374f0b6c8f36cd94eb
+DIST tree-sitter-c-sharp-0.20.0.tar.gz 1050470 BLAKE2B 2ee76331cffcc60729537a72c0e9e9d1fd65ff9292724371354085c1eec03769b1664a09dc75bfd2abdd16b4ef2c12006bec3acfe7b4f31fd59afab1b8167cee SHA512 31530ff57d02b84c8e7e7183abb927c40839500afc225cfdbe685495962c3f129ea459efaf73abbb76951bfc14b890cbdfa9a847b3ae92c8db495d173d0e0e08
diff --git a/dev-libs/tree-sitter-c-sharp/metadata.xml b/dev-libs/tree-sitter-c-sharp/metadata.xml
index 09096aa6cbec..02f666e7b8e9 100644
--- a/dev-libs/tree-sitter-c-sharp/metadata.xml
+++ b/dev-libs/tree-sitter-c-sharp/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="person" proxied="yes">
- <email>matt@offtopica.uk</email>
+ <maintainer type="person">
+ <email>matthew@gentoo.org</email>
<name>Matthew Smith</name>
</maintainer>
- <maintainer type="person" proxied="proxy">
+ <maintainer type="person">
<email>sarnex@gentoo.org</email>
<name>Nick Sarnie</name>
</maintainer>
diff --git a/dev-libs/tree-sitter-c-sharp/tree-sitter-c-sharp-0.19.1.ebuild b/dev-libs/tree-sitter-c-sharp/tree-sitter-c-sharp-0.19.1.ebuild
index d849ec835360..e7c1c44ee2dd 100644
--- a/dev-libs/tree-sitter-c-sharp/tree-sitter-c-sharp-0.19.1.ebuild
+++ b/dev-libs/tree-sitter-c-sharp/tree-sitter-c-sharp-0.19.1.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
@@ -10,4 +10,4 @@ HOMEPAGE="https://github.com/tree-sitter/tree-sitter-c-sharp"
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~amd64"
+KEYWORDS="amd64"
diff --git a/dev-libs/tree-sitter-c-sharp/tree-sitter-c-sharp-0.20.0.ebuild b/dev-libs/tree-sitter-c-sharp/tree-sitter-c-sharp-0.20.0.ebuild
new file mode 100644
index 000000000000..c54d7faffe49
--- /dev/null
+++ b/dev-libs/tree-sitter-c-sharp/tree-sitter-c-sharp-0.20.0.ebuild
@@ -0,0 +1,13 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit tree-sitter-grammar
+
+DESCRIPTION="C# grammar for Tree-sitter"
+HOMEPAGE="https://github.com/tree-sitter/tree-sitter-c-sharp"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64"
diff --git a/dev-libs/tree-sitter-c/Manifest b/dev-libs/tree-sitter-c/Manifest
index 40aec4692cc1..4428775d5f8a 100644
--- a/dev-libs/tree-sitter-c/Manifest
+++ b/dev-libs/tree-sitter-c/Manifest
@@ -1 +1,3 @@
-DIST tree-sitter-c-0.20.1.tar.gz 244061 BLAKE2B 94cb11c80fd54a89b3c6c3ebc7937fdaa077a11c5128866e0e43c970bacc3b7f14743b3f19ceca515ef70d4499d2d3893fce6d948ce9a42bf2f499c58844a8da SHA512 b2f5b6d54fe05e7706708b50a5dd821a5669a121c916da4de3f80b6c57ebdd99f12f37c80051a8719f9737d4b0c00542aee62b45823dbb878acd4e02974f7a67
+DIST tree-sitter-c-0.20.6.tar.gz 337801 BLAKE2B 96dfe37535aca85d2bae15af0a2d59a99bd6861a9a32957b6ae9a4fe02ac1a8e8c4f649760e5eccf68f224b30992aa1656a8b3e11da8a3bb43e07c62f4b26063 SHA512 047b47ef9190f3894083be2b8b26dd33c06d87bba6b960e63e9787112b374a76e2239171b89bb346a27b886396c2054a4ecc1e42d4f83a23ab62060907fe2198
+DIST tree-sitter-c-0.20.7.tar.gz 377856 BLAKE2B c18e23d010a6d2db9c6171134ae536c299e6fdb51b1d4c8693475b1249e6f1420a352d8e1aa3e10281a230acf4953196ab0e59248da7f9ab9995c8e9576da1e8 SHA512 42199156796dc6fb427b57c67c1fc5105c315b812a5ade813466dddd76b1b5c37957c071b52a58e4f46b5a55f189de13eab92ff8b6adea45ce07aa2322c5c357
+DIST tree-sitter-c-0.21.0.tar.gz 426566 BLAKE2B dbd2cf89d2ac79e5c6ec7b6e16e588d74b6ed0b467beb411fa32643ed70434193a155510d1649cd074efc98d4e04acdb1a3799c99c8cc6e836bacc444836fff0 SHA512 1ed2b48b6adda606c7074da650c089040e04873bfb666ab08f4c7f67e8077de3760e0b1610c2519d69d3eb48c101cf8e441d2b29622a075b4a6992efbc324abb
diff --git a/dev-libs/tree-sitter-c/metadata.xml b/dev-libs/tree-sitter-c/metadata.xml
index 2fb30809a735..fb0cac7dd1c4 100644
--- a/dev-libs/tree-sitter-c/metadata.xml
+++ b/dev-libs/tree-sitter-c/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="person" proxied="yes">
- <email>matt@offtopica.uk</email>
+ <maintainer type="person">
+ <email>matthew@gentoo.org</email>
<name>Matthew Smith</name>
</maintainer>
- <maintainer type="person" proxied="proxy">
+ <maintainer type="person">
<email>sarnex@gentoo.org</email>
<name>Nick Sarnie</name>
</maintainer>
diff --git a/dev-libs/tree-sitter-c/tree-sitter-c-0.20.1.ebuild b/dev-libs/tree-sitter-c/tree-sitter-c-0.20.1.ebuild
deleted file mode 100644
index 5ef6110324c0..000000000000
--- a/dev-libs/tree-sitter-c/tree-sitter-c-0.20.1.ebuild
+++ /dev/null
@@ -1,13 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit tree-sitter-grammar
-
-DESCRIPTION="C grammar for Tree-sitter"
-HOMEPAGE="https://github.com/tree-sitter/tree-sitter-c"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64"
diff --git a/dev-libs/tree-sitter-c/tree-sitter-c-0.20.6.ebuild b/dev-libs/tree-sitter-c/tree-sitter-c-0.20.6.ebuild
new file mode 100644
index 000000000000..2a9f71629a50
--- /dev/null
+++ b/dev-libs/tree-sitter-c/tree-sitter-c-0.20.6.ebuild
@@ -0,0 +1,13 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit tree-sitter-grammar
+
+DESCRIPTION="C grammar for Tree-sitter"
+HOMEPAGE="https://github.com/tree-sitter/tree-sitter-c"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 ~arm ~arm64 ~ppc ~ppc64"
diff --git a/dev-libs/tree-sitter-c/tree-sitter-c-0.20.7.ebuild b/dev-libs/tree-sitter-c/tree-sitter-c-0.20.7.ebuild
new file mode 100644
index 000000000000..f3801303a1d1
--- /dev/null
+++ b/dev-libs/tree-sitter-c/tree-sitter-c-0.20.7.ebuild
@@ -0,0 +1,13 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit tree-sitter-grammar
+
+DESCRIPTION="C grammar for Tree-sitter"
+HOMEPAGE="https://github.com/tree-sitter/tree-sitter-c"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64"
diff --git a/dev-libs/tree-sitter-c/tree-sitter-c-0.21.0.ebuild b/dev-libs/tree-sitter-c/tree-sitter-c-0.21.0.ebuild
new file mode 100644
index 000000000000..f589df316253
--- /dev/null
+++ b/dev-libs/tree-sitter-c/tree-sitter-c-0.21.0.ebuild
@@ -0,0 +1,15 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+TS_BINDINGS=( python )
+
+inherit tree-sitter-grammar
+
+DESCRIPTION="C grammar for Tree-sitter"
+HOMEPAGE="https://github.com/tree-sitter/tree-sitter-c"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64"
diff --git a/dev-libs/tree-sitter-cmake/Manifest b/dev-libs/tree-sitter-cmake/Manifest
new file mode 100644
index 000000000000..510af67381d0
--- /dev/null
+++ b/dev-libs/tree-sitter-cmake/Manifest
@@ -0,0 +1,2 @@
+DIST tree-sitter-cmake-0.1.0.tar.gz 42425 BLAKE2B a6d609b9baf297265bee4355c2f8d11853d393461e708475c53ce8ee067f668550a31cc75142d5ddd8e34160a03308388f01661b13fdb8a22a0c3cf95a0105a6 SHA512 5d228fde691b7ef9f4043ad41a852541551c31392ad5beb21580e6902039c5fa1adc2a42642644603871e373011ef3c9f4264bfc40e33fd0d3071a716b5d61cf
+DIST tree-sitter-cmake-0.4.1.tar.gz 50091 BLAKE2B a91fdeedca3bad83b1e8006ff464a09d761ba9d46601216f21885062c3559891837fcf0db7960b69382b117073a3ff937ea26e2861922133c8660e5c2043b6c2 SHA512 25318e305aa42bfaa6fd09fb515988a31a00247f535e4d881573226d862d72a74eb30dfdfb3bd2b985a9be96cdf6da6a8a9b945d9c256870755015ae573edd9c
diff --git a/dev-libs/tree-sitter-cmake/metadata.xml b/dev-libs/tree-sitter-cmake/metadata.xml
new file mode 100644
index 000000000000..bd9592745aac
--- /dev/null
+++ b/dev-libs/tree-sitter-cmake/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>matthew@gentoo.org</email>
+ <name>Matthew Smith</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">uyha/tree-sitter-cmake</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/tree-sitter-cmake/tree-sitter-cmake-0.1.0.ebuild b/dev-libs/tree-sitter-cmake/tree-sitter-cmake-0.1.0.ebuild
new file mode 100644
index 000000000000..4ac4989f45df
--- /dev/null
+++ b/dev-libs/tree-sitter-cmake/tree-sitter-cmake-0.1.0.ebuild
@@ -0,0 +1,14 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit tree-sitter-grammar
+
+DESCRIPTION="CMake grammar for tree-sitter"
+HOMEPAGE="https://github.com/uyha/tree-sitter-cmake"
+SRC_URI="https://github.com/uyha/tree-sitter-cmake/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
diff --git a/dev-libs/tree-sitter-cmake/tree-sitter-cmake-0.4.1.ebuild b/dev-libs/tree-sitter-cmake/tree-sitter-cmake-0.4.1.ebuild
new file mode 100644
index 000000000000..36381cc394d0
--- /dev/null
+++ b/dev-libs/tree-sitter-cmake/tree-sitter-cmake-0.4.1.ebuild
@@ -0,0 +1,14 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit tree-sitter-grammar
+
+DESCRIPTION="CMake grammar for tree-sitter"
+HOMEPAGE="https://github.com/uyha/tree-sitter-cmake"
+SRC_URI="https://github.com/uyha/tree-sitter-cmake/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64"
diff --git a/dev-libs/tree-sitter-cpp/Manifest b/dev-libs/tree-sitter-cpp/Manifest
index 2d80f8a4765b..8ae1ed3ef255 100644
--- a/dev-libs/tree-sitter-cpp/Manifest
+++ b/dev-libs/tree-sitter-cpp/Manifest
@@ -1 +1,4 @@
-DIST tree-sitter-cpp-0.20.0.tar.gz 504679 BLAKE2B 654f72f7a56a66dccf437ba5a2b2b5f627358ae58aeaafe9a507e0876443937d42b244ddb34b8a72a6723c28e6c10c95851b1fdb2775b3080c344426c0386e4d SHA512 c97d02c8250c93721ed5b951c97cdb1cf6558e20cbef353a33c9937f6b3116e328bbdd4e9e7a70a23dba3e144cbd6318e37ebbb9b6345ac085c62100d09ff34d
+DIST tree-sitter-cpp-0.20.3.tar.gz 1056333 BLAKE2B 3b1fc2509da265b2f49ec1a9bef7b005b06eba0311432af9e2e97977ec3a568a8ee531375f5330e624675f5b12711c4cf3306959ec82d21f1017380fb6e28b7a SHA512 62630953cb873dccbf6203b90ac6bd62fb596a615c71603c93b4fdc1e21d456c8f6ba74576e9e86732dbce2b7deaa082ea35eddf7fd7387d1ba13236757dfaab
+DIST tree-sitter-cpp-0.20.5.tar.gz 1442677 BLAKE2B ee9e058cca7727d567869d58568b3808efad7b1f4059089682b31ac39fd623213111078250eb034fb66be51f502f693f65686fb89ba8865866ded7ed1f195b5a SHA512 0afe19dc868bce8fef7114c0553ed3af2c479fc84257959a617dd6acf695fb13a91468a3daddafd39cac11f7d5a72ba988bd29d7d7f1987d7486ae4d1dc7f746
+DIST tree-sitter-cpp-0.21.0.tar.gz 1482410 BLAKE2B b15467c3525416fcc925fd8c3480200362ee8ae41528757cebc113090d5678dcfa47bac4b54e32e791dba954de15fd3bba68e6ecdedbc55bb61095487de386c4 SHA512 70be7b446e5acf0f439fbf1d4c9d649e8e8bc8ea044d0d3f3644e3047eaa5468eabefd5552f98fa39d34030cce654db25371008ddbc27a64d3df14611ac3061c
+DIST tree-sitter-cpp-0.22.0.tar.gz 1253356 BLAKE2B 6834cba10f8f5f0981620d69c3ebe2b4efe6815bfd35e00ef333ef96900d418b0204375b93f84989e826c225849cd6f7e8520bd8c2f4195f6e2ed8db41dc1b6d SHA512 68ec7378a6abc3154090bf7f14b95f646c44ac09e309ec5161906f42641e568171412fd4c30360680982af5e621cac4d51a1cfe03695117560a3a5eeed73d22d
diff --git a/dev-libs/tree-sitter-cpp/metadata.xml b/dev-libs/tree-sitter-cpp/metadata.xml
index ab56d355774c..98219c3cf694 100644
--- a/dev-libs/tree-sitter-cpp/metadata.xml
+++ b/dev-libs/tree-sitter-cpp/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="person" proxied="yes">
- <email>matt@offtopica.uk</email>
+ <maintainer type="person">
+ <email>matthew@gentoo.org</email>
<name>Matthew Smith</name>
</maintainer>
- <maintainer type="person" proxied="proxy">
+ <maintainer type="person">
<email>sarnex@gentoo.org</email>
<name>Nick Sarnie</name>
</maintainer>
diff --git a/dev-libs/tree-sitter-cpp/tree-sitter-cpp-0.20.0.ebuild b/dev-libs/tree-sitter-cpp/tree-sitter-cpp-0.20.0.ebuild
deleted file mode 100644
index 93a7bffb6882..000000000000
--- a/dev-libs/tree-sitter-cpp/tree-sitter-cpp-0.20.0.ebuild
+++ /dev/null
@@ -1,13 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit tree-sitter-grammar
-
-DESCRIPTION="C++ grammar for Tree-sitter"
-HOMEPAGE="https://github.com/tree-sitter/tree-sitter-cpp"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64"
diff --git a/dev-libs/tree-sitter-cpp/tree-sitter-cpp-0.20.3.ebuild b/dev-libs/tree-sitter-cpp/tree-sitter-cpp-0.20.3.ebuild
new file mode 100644
index 000000000000..18804881eaed
--- /dev/null
+++ b/dev-libs/tree-sitter-cpp/tree-sitter-cpp-0.20.3.ebuild
@@ -0,0 +1,16 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit tree-sitter-grammar
+
+DESCRIPTION="C++ grammar for Tree-sitter"
+HOMEPAGE="https://github.com/tree-sitter/tree-sitter-cpp"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 ~arm ~arm64 ~ppc ~ppc64"
+
+# requires test data from tree-sitter-c
+RESTRICT="test"
diff --git a/dev-libs/tree-sitter-cpp/tree-sitter-cpp-0.20.5.ebuild b/dev-libs/tree-sitter-cpp/tree-sitter-cpp-0.20.5.ebuild
new file mode 100644
index 000000000000..6fa20973c00b
--- /dev/null
+++ b/dev-libs/tree-sitter-cpp/tree-sitter-cpp-0.20.5.ebuild
@@ -0,0 +1,16 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit tree-sitter-grammar
+
+DESCRIPTION="C++ grammar for Tree-sitter"
+HOMEPAGE="https://github.com/tree-sitter/tree-sitter-cpp"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64"
+
+# requires test data from tree-sitter-c
+RESTRICT="test"
diff --git a/dev-libs/tree-sitter-cpp/tree-sitter-cpp-0.21.0.ebuild b/dev-libs/tree-sitter-cpp/tree-sitter-cpp-0.21.0.ebuild
new file mode 100644
index 000000000000..6fa20973c00b
--- /dev/null
+++ b/dev-libs/tree-sitter-cpp/tree-sitter-cpp-0.21.0.ebuild
@@ -0,0 +1,16 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit tree-sitter-grammar
+
+DESCRIPTION="C++ grammar for Tree-sitter"
+HOMEPAGE="https://github.com/tree-sitter/tree-sitter-cpp"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64"
+
+# requires test data from tree-sitter-c
+RESTRICT="test"
diff --git a/dev-libs/tree-sitter-cpp/tree-sitter-cpp-0.22.0.ebuild b/dev-libs/tree-sitter-cpp/tree-sitter-cpp-0.22.0.ebuild
new file mode 100644
index 000000000000..011d04ce711e
--- /dev/null
+++ b/dev-libs/tree-sitter-cpp/tree-sitter-cpp-0.22.0.ebuild
@@ -0,0 +1,18 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+TS_BINDINGS=( python )
+
+inherit tree-sitter-grammar
+
+DESCRIPTION="C++ grammar for Tree-sitter"
+HOMEPAGE="https://github.com/tree-sitter/tree-sitter-cpp"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64"
+
+# requires test data from tree-sitter-c
+RESTRICT="test"
diff --git a/dev-libs/tree-sitter-css/Manifest b/dev-libs/tree-sitter-css/Manifest
index 019ffe0e9349..1d560099ad3c 100644
--- a/dev-libs/tree-sitter-css/Manifest
+++ b/dev-libs/tree-sitter-css/Manifest
@@ -1 +1 @@
-DIST tree-sitter-css-0.19.0.tar.gz 80823 BLAKE2B 5a011981bea8dca3ea51d3615c88eeefb2e0dafae52a947b58a930f9521cfd5759ff22812d4f49283453cc86f52372a798dd507b1982fb55dba086156a5842fb SHA512 8811118f8506ae6cc25bf30285361b751902cd4af9d25cd64eccacd1721cacd8b66277c7c950c825fe6e72ac3155dbd39c24ee94090faaae9ee8b67ce61fc1c4
+DIST tree-sitter-css-0.20.0.tar.gz 93887 BLAKE2B 5f5962de37fa6a65dd531a54515b24ccb78932f17d15884adfe00cb1098a86ece3894c2e7f54a8936ad7fa1c76e5dcb89453999e3ffd3f3d894c9e112407e4a2 SHA512 0b4c45de304a5a18834a85665b5da5eaf7adc968c509de6cb95b98a08b2987be7b13f2cbb7181da04cf23e199942d9daf788a12cd2f4b8d85767ef1250196825
diff --git a/dev-libs/tree-sitter-css/files/tree-sitter-css-0.20.0-test-selector.patch b/dev-libs/tree-sitter-css/files/tree-sitter-css-0.20.0-test-selector.patch
new file mode 100644
index 000000000000..bbcec7e47e23
--- /dev/null
+++ b/dev-libs/tree-sitter-css/files/tree-sitter-css-0.20.0-test-selector.patch
@@ -0,0 +1,14 @@
+https://bugs.gentoo.org/928010
+https://github.com/tree-sitter/tree-sitter-css/issues/47
+https://github.com/tree-sitter/tree-sitter/issues/3238
+--- a/test/corpus/selectors.txt
++++ b/test/corpus/selectors.txt
+@@ -102,7 +102,7 @@ a::first-line {}
+ (block)))
+
+ =========================
+-::slotted pseudo element
++slotted pseudo element
+ =========================
+
+ ::slotted(button) {}
diff --git a/dev-libs/tree-sitter-css/metadata.xml b/dev-libs/tree-sitter-css/metadata.xml
index 6e7834e213c1..4a2ac735d1ee 100644
--- a/dev-libs/tree-sitter-css/metadata.xml
+++ b/dev-libs/tree-sitter-css/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="person" proxied="yes">
- <email>matt@offtopica.uk</email>
+ <maintainer type="person">
+ <email>matthew@gentoo.org</email>
<name>Matthew Smith</name>
</maintainer>
- <maintainer type="person" proxied="proxy">
+ <maintainer type="person">
<email>sarnex@gentoo.org</email>
<name>Nick Sarnie</name>
</maintainer>
diff --git a/dev-libs/tree-sitter-css/tree-sitter-css-0.19.0.ebuild b/dev-libs/tree-sitter-css/tree-sitter-css-0.19.0.ebuild
deleted file mode 100644
index 1f2bd9b4c2c9..000000000000
--- a/dev-libs/tree-sitter-css/tree-sitter-css-0.19.0.ebuild
+++ /dev/null
@@ -1,13 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit tree-sitter-grammar
-
-DESCRIPTION="CSS grammar for Tree-sitter"
-HOMEPAGE="https://github.com/tree-sitter/tree-sitter-css"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64"
diff --git a/dev-libs/tree-sitter-css/tree-sitter-css-0.20.0.ebuild b/dev-libs/tree-sitter-css/tree-sitter-css-0.20.0.ebuild
new file mode 100644
index 000000000000..632f1a55a2fa
--- /dev/null
+++ b/dev-libs/tree-sitter-css/tree-sitter-css-0.20.0.ebuild
@@ -0,0 +1,19 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit tree-sitter-grammar
+
+DESCRIPTION="CSS grammar for Tree-sitter"
+HOMEPAGE="https://github.com/tree-sitter/tree-sitter-css"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64"
+
+PATCHES=(
+ # https://bugs.gentoo.org/928010
+ # Test name beginning with :: is incompatible with tree-sitter >0.22
+ "${FILESDIR}"/${PN}-0.20.0-test-selector.patch
+)
diff --git a/dev-libs/tree-sitter-embedded-template/Manifest b/dev-libs/tree-sitter-embedded-template/Manifest
index 2a315410b883..d5f87881520d 100644
--- a/dev-libs/tree-sitter-embedded-template/Manifest
+++ b/dev-libs/tree-sitter-embedded-template/Manifest
@@ -1 +1,2 @@
DIST tree-sitter-embedded-template-0.19.0.tar.gz 11228 BLAKE2B 31d2e6afb4ec82db57266f642c8e7ec1794dc74e2b86853f069dc0673b3651a736bf5b86916b00be2bd4ee3e1ae75375b994c46fac5c00a732cee43aa315be4b SHA512 960db15be1e740908e1ee623de1371a82ca13a240cd7dff9f4e8490cad5168252880a2f4cf432e8537fa826585a55a0f1032c1becbea868a6b1971ac480cf839
+DIST tree-sitter-embedded-template-0.20.0.tar.gz 11679 BLAKE2B 552c64a499b80f1648cd568fd87d5f2774a28cb3d2a61bfc0ec1f9a73910df41921e06c8f94ac5500a3a5b7668a2b8fe641b2ecf13a9b06b7a119daeef4e3b1a SHA512 1c4a63f85fae1ebb9fa90674a4c27d4402ae0957268faa08dd77c5ec6103720c80befd009d04090a80d994377676b103e2efcc25bd291186efc0c1f4962be086
diff --git a/dev-libs/tree-sitter-embedded-template/metadata.xml b/dev-libs/tree-sitter-embedded-template/metadata.xml
index edb56989e7c5..95926c8ae18e 100644
--- a/dev-libs/tree-sitter-embedded-template/metadata.xml
+++ b/dev-libs/tree-sitter-embedded-template/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="person" proxied="yes">
- <email>matt@offtopica.uk</email>
+ <maintainer type="person">
+ <email>matthew@gentoo.org</email>
<name>Matthew Smith</name>
</maintainer>
- <maintainer type="person" proxied="proxy">
+ <maintainer type="person">
<email>sarnex@gentoo.org</email>
<name>Nick Sarnie</name>
</maintainer>
diff --git a/dev-libs/tree-sitter-embedded-template/tree-sitter-embedded-template-0.20.0.ebuild b/dev-libs/tree-sitter-embedded-template/tree-sitter-embedded-template-0.20.0.ebuild
new file mode 100644
index 000000000000..b93b8dc54271
--- /dev/null
+++ b/dev-libs/tree-sitter-embedded-template/tree-sitter-embedded-template-0.20.0.ebuild
@@ -0,0 +1,13 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit tree-sitter-grammar
+
+DESCRIPTION="Embedded template languages (like ERB, EJS) grammar for Tree-sitter"
+HOMEPAGE="https://github.com/tree-sitter/tree-sitter-embedded-template"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64"
diff --git a/dev-libs/tree-sitter-gleam/Manifest b/dev-libs/tree-sitter-gleam/Manifest
new file mode 100644
index 000000000000..24605c283153
--- /dev/null
+++ b/dev-libs/tree-sitter-gleam/Manifest
@@ -0,0 +1 @@
+DIST tree-sitter-gleam-0.33.0.tar.gz 145953 BLAKE2B 542014b5273d3426ca948ee08f778830046b58be9de410861ddf51071984b2c9619099d8f36670e9b47e3d16d53657923f6d2a902102ade7a668b4b1ee3c93aa SHA512 0d34c8d653805fc9284e496d047cd1480c0608a42c7491faa7f3840117fc003713f6233a80556169fdd7345b571b1ed7c6ecfb8aa44ffe3e625e564c332cd0b4
diff --git a/dev-libs/tree-sitter-gleam/metadata.xml b/dev-libs/tree-sitter-gleam/metadata.xml
new file mode 100644
index 000000000000..1554df4e165a
--- /dev/null
+++ b/dev-libs/tree-sitter-gleam/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>matthew@gentoo.org</email>
+ <name>Matthew Smith</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">gleam-lang/tree-sitter-gleam</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/tree-sitter-gleam/tree-sitter-gleam-0.33.0.ebuild b/dev-libs/tree-sitter-gleam/tree-sitter-gleam-0.33.0.ebuild
new file mode 100644
index 000000000000..3db768bc2df6
--- /dev/null
+++ b/dev-libs/tree-sitter-gleam/tree-sitter-gleam-0.33.0.ebuild
@@ -0,0 +1,21 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit tree-sitter-grammar
+
+DESCRIPTION="Gleam grammar for Tree-sitter"
+HOMEPAGE="https://github.com/gleam-lang/tree-sitter-gleam"
+SRC_URI="https://github.com/gleam-lang/${PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64"
+
+src_install() {
+ tree-sitter-grammar_src_install
+
+ docinto queries
+ dodoc queries/{highlights,locals,tags}.scm
+}
diff --git a/dev-libs/tree-sitter-go/Manifest b/dev-libs/tree-sitter-go/Manifest
index 8ec4540182e7..939f1d87e1d4 100644
--- a/dev-libs/tree-sitter-go/Manifest
+++ b/dev-libs/tree-sitter-go/Manifest
@@ -1 +1,2 @@
-DIST tree-sitter-go-0.19.1.tar.gz 160180 BLAKE2B f92bbb342eae3a7705dbd6f6564a16fdbad1a25c405970bca1e8df01ff6d0c20b45f9849a0d13d53e2f56d95b71db0f7813765f64e0dcdfd9ca617d1f71e688d SHA512 8390dd3e39daa42ec5254b4c6c0b15fec0caa7ae64a9ec3b9116a10f9e9f1b6940cd88c8cf14dc50b28b97ea588ff302ebd16f3c88e0bd6983e76b5526a31b45
+DIST tree-sitter-go-0.20.0-2.tar.gz 195753 BLAKE2B eca2965c0d7bba3c639e092845ac98d05936e9d87290dca2a283dcd6afb1151f8d63aba907337fee79e9fd9b0d901edfda62ec936ef948f57dc663c9d906715b SHA512 ff438a6c84454f38cdefe506f5da787007cb50b3d41bcb9c7f26ed7d951a3268e6bf0b32f2e750d0e4233516c1e4a827c24af831020f81f268fe825adcd5f836
+DIST tree-sitter-go-0.21.0.tar.gz 210048 BLAKE2B 3589922c610d6a8f32fb753cb91f2c925a2bd4d63dc5b32cc37bb7723b7b6eb7339135cc2dd1629c6aa42684c4fe376dd1364bd928fc8c48100471203b68b627 SHA512 c12725c85ab6836fc6554edc64bc2f005d62e45c3d69d07811138cd09d29635399f70ba5837ead05f5827a327a1666bb4134475c99e2f8da81bd3412e4946a59
diff --git a/dev-libs/tree-sitter-go/metadata.xml b/dev-libs/tree-sitter-go/metadata.xml
index f72d829c4128..a57a99683ab0 100644
--- a/dev-libs/tree-sitter-go/metadata.xml
+++ b/dev-libs/tree-sitter-go/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="person" proxied="yes">
- <email>matt@offtopica.uk</email>
+ <maintainer type="person">
+ <email>matthew@gentoo.org</email>
<name>Matthew Smith</name>
</maintainer>
- <maintainer type="person" proxied="proxy">
+ <maintainer type="person">
<email>sarnex@gentoo.org</email>
<name>Nick Sarnie</name>
</maintainer>
diff --git a/dev-libs/tree-sitter-go/tree-sitter-go-0.19.1.ebuild b/dev-libs/tree-sitter-go/tree-sitter-go-0.19.1.ebuild
deleted file mode 100644
index f6c48c89b4e2..000000000000
--- a/dev-libs/tree-sitter-go/tree-sitter-go-0.19.1.ebuild
+++ /dev/null
@@ -1,14 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-TS_PV=rust-0.19.1
-inherit tree-sitter-grammar
-
-DESCRIPTION="Go grammar for Tree-sitter"
-HOMEPAGE="https://github.com/tree-sitter/tree-sitter-go"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64"
diff --git a/dev-libs/tree-sitter-go/tree-sitter-go-0.20.0-r1.ebuild b/dev-libs/tree-sitter-go/tree-sitter-go-0.20.0-r1.ebuild
new file mode 100644
index 000000000000..1d5e61986362
--- /dev/null
+++ b/dev-libs/tree-sitter-go/tree-sitter-go-0.20.0-r1.ebuild
@@ -0,0 +1,17 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit tree-sitter-grammar
+
+DESCRIPTION="Go grammar for Tree-sitter"
+HOMEPAGE="https://github.com/tree-sitter/tree-sitter-go"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 ~arm64"
+
+# Override eclass SRC_URI as 0.20.0 was bumped incorrectly.
+SRC_URI="https://github.com/tree-sitter/${PN}/archive/v${PV}.tar.gz
+ -> ${P}-2.tar.gz"
diff --git a/dev-libs/tree-sitter-go/tree-sitter-go-0.21.0.ebuild b/dev-libs/tree-sitter-go/tree-sitter-go-0.21.0.ebuild
new file mode 100644
index 000000000000..322cb405b4be
--- /dev/null
+++ b/dev-libs/tree-sitter-go/tree-sitter-go-0.21.0.ebuild
@@ -0,0 +1,13 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit tree-sitter-grammar
+
+DESCRIPTION="Go grammar for Tree-sitter"
+HOMEPAGE="https://github.com/tree-sitter/tree-sitter-go"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64"
diff --git a/dev-libs/tree-sitter-haskell/Manifest b/dev-libs/tree-sitter-haskell/Manifest
index 2efa7e45c361..c31f35b4a5f5 100644
--- a/dev-libs/tree-sitter-haskell/Manifest
+++ b/dev-libs/tree-sitter-haskell/Manifest
@@ -1 +1,2 @@
DIST tree-sitter-haskell-0.13.0_p20211114.tar.gz 834925 BLAKE2B d7cadc960ddb49efa6c439dfc13b674d398a4576fb85fd5ef12b4015049fd629722fe0d2788ab4c0052f1a3a6baa9fe5de925d86f7098495429190871340823b SHA512 db3f2ddd20195521a5a03d6ecf1305dc222343ba54ebdabf0cc68db680553908ce6d0ccba4fdcf9073e4f5187b2a6fae6364bda935167ca8d4e421500a86fdfa
+DIST tree-sitter-haskell-0.15.0.tar.gz 1574593 BLAKE2B 47559f768d3c03da63d74b02aba9cb788a1f20223187d2ba67730b3cf2921036ccf9f3df22d82a958adb1b46022f76f148dd251f7fe0483e482bd877d789a9bf SHA512 22368c46cd6e0652ed717c954b55f582125489a410bfe17027b7d0d0d7854789c342140e4908080ad5bd177e14ded928215daf514b7954bc6a31ab7fa19016f0
diff --git a/dev-libs/tree-sitter-haskell/metadata.xml b/dev-libs/tree-sitter-haskell/metadata.xml
index c2c1fae88cf0..babe5b02aa10 100644
--- a/dev-libs/tree-sitter-haskell/metadata.xml
+++ b/dev-libs/tree-sitter-haskell/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="person" proxied="yes">
- <email>matt@offtopica.uk</email>
+ <maintainer type="person">
+ <email>matthew@gentoo.org</email>
<name>Matthew Smith</name>
</maintainer>
- <maintainer type="person" proxied="proxy">
+ <maintainer type="person">
<email>sarnex@gentoo.org</email>
<name>Nick Sarnie</name>
</maintainer>
diff --git a/dev-libs/tree-sitter-haskell/tree-sitter-haskell-0.13.0_p20211114.ebuild b/dev-libs/tree-sitter-haskell/tree-sitter-haskell-0.13.0_p20211114.ebuild
index f051d384a9ea..b025bcb78ec8 100644
--- a/dev-libs/tree-sitter-haskell/tree-sitter-haskell-0.13.0_p20211114.ebuild
+++ b/dev-libs/tree-sitter-haskell/tree-sitter-haskell-0.13.0_p20211114.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
@@ -12,4 +12,4 @@ HOMEPAGE="https://github.com/tree-sitter/tree-sitter-haskell"
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~amd64"
+KEYWORDS="amd64"
diff --git a/dev-libs/tree-sitter-haskell/tree-sitter-haskell-0.15.0.ebuild b/dev-libs/tree-sitter-haskell/tree-sitter-haskell-0.15.0.ebuild
new file mode 100644
index 000000000000..f94388adb390
--- /dev/null
+++ b/dev-libs/tree-sitter-haskell/tree-sitter-haskell-0.15.0.ebuild
@@ -0,0 +1,13 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit tree-sitter-grammar
+
+DESCRIPTION="Haskell grammar for Tree-sitter"
+HOMEPAGE="https://github.com/tree-sitter/tree-sitter-haskell"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
diff --git a/dev-libs/tree-sitter-html/Manifest b/dev-libs/tree-sitter-html/Manifest
index db1836e41c70..acadac0348eb 100644
--- a/dev-libs/tree-sitter-html/Manifest
+++ b/dev-libs/tree-sitter-html/Manifest
@@ -1 +1,2 @@
DIST tree-sitter-html-0.19.0.tar.gz 18785 BLAKE2B 40a2f8a1b4d9943ed15003073e8499fb58aea00979359f793c30c4e7d431905620c20f8e77286a56dbc040642081effa61a7ed9fdd3d61d44bfadfb327793ed1 SHA512 7816e5f4e74c7a64a4fb715000123f5350dc3c6ebfbf5d71ea6dd660cd58a7b4327413ef3e8efa8c177c7308f43bb8b4d60fddbcf518a99841148a37aba95b71
+DIST tree-sitter-html-0.20.2.tar.gz 28880 BLAKE2B 0c17bb4a29174535cc0789221b631889122bc89e9a3883d53501acadade7723bafd15aae8373fb9c6135c0fea485202ea68ec45a855e21c2d7b7eda3fe0e0c58 SHA512 4ebdc4cdff525e54d774bde6b53ced5d8d0e2fea5cd54f006c39354544752856c520ce7b53eb268b6ef60185236102b8003b5de389fdb85454126b6ee689bb61
diff --git a/dev-libs/tree-sitter-html/metadata.xml b/dev-libs/tree-sitter-html/metadata.xml
index acc1cbdd1c4f..3523175e5040 100644
--- a/dev-libs/tree-sitter-html/metadata.xml
+++ b/dev-libs/tree-sitter-html/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="person" proxied="yes">
- <email>matt@offtopica.uk</email>
+ <maintainer type="person">
+ <email>matthew@gentoo.org</email>
<name>Matthew Smith</name>
</maintainer>
- <maintainer type="person" proxied="proxy">
+ <maintainer type="person">
<email>sarnex@gentoo.org</email>
<name>Nick Sarnie</name>
</maintainer>
diff --git a/dev-libs/tree-sitter-html/tree-sitter-html-0.19.0.ebuild b/dev-libs/tree-sitter-html/tree-sitter-html-0.19.0.ebuild
index 58325e67b281..6a8921210e57 100644
--- a/dev-libs/tree-sitter-html/tree-sitter-html-0.19.0.ebuild
+++ b/dev-libs/tree-sitter-html/tree-sitter-html-0.19.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
@@ -10,4 +10,4 @@ HOMEPAGE="https://github.com/tree-sitter/tree-sitter-html"
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~amd64"
+KEYWORDS="amd64"
diff --git a/dev-libs/tree-sitter-html/tree-sitter-html-0.20.2.ebuild b/dev-libs/tree-sitter-html/tree-sitter-html-0.20.2.ebuild
new file mode 100644
index 000000000000..886c95f55c9b
--- /dev/null
+++ b/dev-libs/tree-sitter-html/tree-sitter-html-0.20.2.ebuild
@@ -0,0 +1,13 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit tree-sitter-grammar
+
+DESCRIPTION="HTML grammar for Tree-sitter"
+HOMEPAGE="https://github.com/tree-sitter/tree-sitter-html"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
diff --git a/dev-libs/tree-sitter-java/Manifest b/dev-libs/tree-sitter-java/Manifest
index 0fd47aeaf0fe..9a93dd4f91c9 100644
--- a/dev-libs/tree-sitter-java/Manifest
+++ b/dev-libs/tree-sitter-java/Manifest
@@ -1 +1,2 @@
-DIST tree-sitter-java-0.19.1.tar.gz 134115 BLAKE2B 92b2388d644659fa84646deeff06cda9c1c3bf3dbf6d06bda8e8dea14c2e748813cbaec440a458f98e0f1182e7543ca6a1d4c30ecbd2ba7733e09acf3aeff623 SHA512 71bd34132785f1b95538ce321eba4d6258fff309abf6150852b749336d7ffa5e4bd06f52fb5b6db2e2845592e6faf2ad4cac226289a0078f06cf2fc2f74152bb
+DIST tree-sitter-java-0.20.2.tar.gz 200727 BLAKE2B 03c9b805ad94b852fc9e02f1e266cae9010636cd33ffd2a7f3da1076843aced2358f95022476476edd0b201efb87b164f31bdd610654f182cc627fd762c39cb8 SHA512 188b4d4c5aad6367ab25e5bbc3b7f56fe1b6108ee1dbe072d71a7376e52793364fad004e2f79d1aa6e18176d5642afef982a40b8da127d4252f2ea10d4bf874c
+DIST tree-sitter-java-0.21.0.tar.gz 218672 BLAKE2B 8138dbfdb76aebd1067be3a6c97543c71d601b3b5475e14b050251e163a0f1fff97003505ef4c3f997b34f588470acd5e46df70e54afead8dc2f80b020cb41a3 SHA512 236159990182f2cab0fd50ab1f43898f021243a37e7517f7c8df039296f08e1fe615889a0fd0677eae3abd6a495333ed56be5164f43855cb9ef8e0cc4f2b70c9
diff --git a/dev-libs/tree-sitter-java/metadata.xml b/dev-libs/tree-sitter-java/metadata.xml
index 4c98a62d0f91..ab4809aa51a7 100644
--- a/dev-libs/tree-sitter-java/metadata.xml
+++ b/dev-libs/tree-sitter-java/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="person" proxied="yes">
- <email>matt@offtopica.uk</email>
+ <maintainer type="person">
+ <email>matthew@gentoo.org</email>
<name>Matthew Smith</name>
</maintainer>
- <maintainer type="person" proxied="proxy">
+ <maintainer type="person">
<email>sarnex@gentoo.org</email>
<name>Nick Sarnie</name>
</maintainer>
diff --git a/dev-libs/tree-sitter-java/tree-sitter-java-0.19.1.ebuild b/dev-libs/tree-sitter-java/tree-sitter-java-0.19.1.ebuild
deleted file mode 100644
index d90c0532fc87..000000000000
--- a/dev-libs/tree-sitter-java/tree-sitter-java-0.19.1.ebuild
+++ /dev/null
@@ -1,13 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit tree-sitter-grammar
-
-DESCRIPTION="Java grammar for Tree-sitter"
-HOMEPAGE="https://github.com/tree-sitter/tree-sitter-java"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64"
diff --git a/dev-libs/tree-sitter-java/tree-sitter-java-0.20.2.ebuild b/dev-libs/tree-sitter-java/tree-sitter-java-0.20.2.ebuild
new file mode 100644
index 000000000000..21de8dbc5b4e
--- /dev/null
+++ b/dev-libs/tree-sitter-java/tree-sitter-java-0.20.2.ebuild
@@ -0,0 +1,13 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit tree-sitter-grammar
+
+DESCRIPTION="Java grammar for Tree-sitter"
+HOMEPAGE="https://github.com/tree-sitter/tree-sitter-java"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64"
diff --git a/dev-libs/tree-sitter-java/tree-sitter-java-0.21.0.ebuild b/dev-libs/tree-sitter-java/tree-sitter-java-0.21.0.ebuild
new file mode 100644
index 000000000000..e09c03cd7396
--- /dev/null
+++ b/dev-libs/tree-sitter-java/tree-sitter-java-0.21.0.ebuild
@@ -0,0 +1,13 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit tree-sitter-grammar
+
+DESCRIPTION="Java grammar for Tree-sitter"
+HOMEPAGE="https://github.com/tree-sitter/tree-sitter-java"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
diff --git a/dev-libs/tree-sitter-javascript/Manifest b/dev-libs/tree-sitter-javascript/Manifest
index 60774559a397..c46994c8c152 100644
--- a/dev-libs/tree-sitter-javascript/Manifest
+++ b/dev-libs/tree-sitter-javascript/Manifest
@@ -1 +1,3 @@
-DIST tree-sitter-javascript-0.20.0.tar.gz 278831 BLAKE2B cd66005e7ebdae154a192ff556d4cb35e91d93a2ab645a24b9492217858278adc1f7917a7dc5033bbcfd84ca7ef41a3e7ebb1ff934bb09b79c8923469110e1de SHA512 778e0f2f5bf276d7ffb6eab0fe3f7473b56605de707c8e2f491fbb5826da94067b9f1bc476306013267001b5ecaab11a956e896b78520cdedd27006fac97fe41
+DIST tree-sitter-javascript-0.20.1-2.tar.gz 371027 BLAKE2B 5bd9b11f1e10ff37950b2142031bebd3b5f6111818a21bf5a7d97a8a27a5340bd09cd139d76846141ed64a824f82f1e1394b90d8622192524d7db9a02ed95223 SHA512 5341311b419cf763c0a6d23348eba0e38b417ba07c2def341027223347d850c28b86db6add136dbf73cd5296133823a4548493ee649e09247dfbe5bcbaaab76d
+DIST tree-sitter-javascript-0.20.4.tar.gz 396452 BLAKE2B b33c4c44fb59985af7809ef9bd015d12dac185999993570164de4ac87a60cde28cf4c1232a06dd3e312ce256f2b021ef5fa500fd9e0772a3fb657f74256500a4 SHA512 65171e5af35c9c5cc9a6c54792d2194b197e130ec277b35e67e04b654082bcb1b98cb9bbe497bbe1dde69f582e5cdca01cba4f40682b7b587fd19e89b88f3dd6
+DIST tree-sitter-javascript-0.21.0.tar.gz 367344 BLAKE2B 7698b918db7fb49bd73ee03757fa17d5f6c0adc14a279410e2bc924123b1a187e6018b534bc1d2b6cbc41e5f42f7b4b6541c65d4f70d6345dda31c719bf479c6 SHA512 c83d7525e3639e237b9f81cac38d0290a3257aa98dba62f079abfb234f3cbd3de23e0b275da85878d3ab4b8de03384dc4e8a8512641b17ff0aca2e3a722947a6
diff --git a/dev-libs/tree-sitter-javascript/metadata.xml b/dev-libs/tree-sitter-javascript/metadata.xml
index e4ca3c1b4c14..0846068ba5d8 100644
--- a/dev-libs/tree-sitter-javascript/metadata.xml
+++ b/dev-libs/tree-sitter-javascript/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="person" proxied="yes">
- <email>matt@offtopica.uk</email>
+ <maintainer type="person">
+ <email>matthew@gentoo.org</email>
<name>Matthew Smith</name>
</maintainer>
- <maintainer type="person" proxied="proxy">
+ <maintainer type="person">
<email>sarnex@gentoo.org</email>
<name>Nick Sarnie</name>
</maintainer>
diff --git a/dev-libs/tree-sitter-javascript/tree-sitter-javascript-0.20.0.ebuild b/dev-libs/tree-sitter-javascript/tree-sitter-javascript-0.20.0.ebuild
deleted file mode 100644
index 2bb0883b6d99..000000000000
--- a/dev-libs/tree-sitter-javascript/tree-sitter-javascript-0.20.0.ebuild
+++ /dev/null
@@ -1,14 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-TS_PV=rust-0.20.0
-inherit tree-sitter-grammar
-
-DESCRIPTION="JavaScript grammar for Tree-sitter"
-HOMEPAGE="https://github.com/tree-sitter/tree-sitter-javascript"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64"
diff --git a/dev-libs/tree-sitter-javascript/tree-sitter-javascript-0.20.1-r1.ebuild b/dev-libs/tree-sitter-javascript/tree-sitter-javascript-0.20.1-r1.ebuild
new file mode 100644
index 000000000000..e1d5ee9003fe
--- /dev/null
+++ b/dev-libs/tree-sitter-javascript/tree-sitter-javascript-0.20.1-r1.ebuild
@@ -0,0 +1,17 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit tree-sitter-grammar
+
+DESCRIPTION="JavaScript grammar for Tree-sitter"
+HOMEPAGE="https://github.com/tree-sitter/tree-sitter-javascript"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64"
+
+# Override eclass SRC_URI as 0.20.1 was bumped incorrectly.
+SRC_URI="https://github.com/tree-sitter/${PN}/archive/v${PV}.tar.gz
+ -> ${P}-2.tar.gz"
diff --git a/dev-libs/tree-sitter-javascript/tree-sitter-javascript-0.20.4.ebuild b/dev-libs/tree-sitter-javascript/tree-sitter-javascript-0.20.4.ebuild
new file mode 100644
index 000000000000..a95e21c0d4a6
--- /dev/null
+++ b/dev-libs/tree-sitter-javascript/tree-sitter-javascript-0.20.4.ebuild
@@ -0,0 +1,13 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit tree-sitter-grammar
+
+DESCRIPTION="JavaScript grammar for Tree-sitter"
+HOMEPAGE="https://github.com/tree-sitter/tree-sitter-javascript"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
diff --git a/dev-libs/tree-sitter-javascript/tree-sitter-javascript-0.21.0.ebuild b/dev-libs/tree-sitter-javascript/tree-sitter-javascript-0.21.0.ebuild
new file mode 100644
index 000000000000..a95e21c0d4a6
--- /dev/null
+++ b/dev-libs/tree-sitter-javascript/tree-sitter-javascript-0.21.0.ebuild
@@ -0,0 +1,13 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit tree-sitter-grammar
+
+DESCRIPTION="JavaScript grammar for Tree-sitter"
+HOMEPAGE="https://github.com/tree-sitter/tree-sitter-javascript"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
diff --git a/dev-libs/tree-sitter-jsdoc/metadata.xml b/dev-libs/tree-sitter-jsdoc/metadata.xml
index ec13b7ca75b7..0947bc05e5f0 100644
--- a/dev-libs/tree-sitter-jsdoc/metadata.xml
+++ b/dev-libs/tree-sitter-jsdoc/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="person" proxied="yes">
- <email>matt@offtopica.uk</email>
+ <maintainer type="person">
+ <email>matthew@gentoo.org</email>
<name>Matthew Smith</name>
</maintainer>
- <maintainer type="person" proxied="proxy">
+ <maintainer type="person">
<email>sarnex@gentoo.org</email>
<name>Nick Sarnie</name>
</maintainer>
diff --git a/dev-libs/tree-sitter-jsdoc/tree-sitter-jsdoc-0.19.0.ebuild b/dev-libs/tree-sitter-jsdoc/tree-sitter-jsdoc-0.19.0.ebuild
index def783cc6812..71cb143446fa 100644
--- a/dev-libs/tree-sitter-jsdoc/tree-sitter-jsdoc-0.19.0.ebuild
+++ b/dev-libs/tree-sitter-jsdoc/tree-sitter-jsdoc-0.19.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
@@ -10,4 +10,4 @@ HOMEPAGE="https://github.com/tree-sitter/tree-sitter-jsdoc"
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~amd64"
+KEYWORDS="amd64"
diff --git a/dev-libs/tree-sitter-json/Manifest b/dev-libs/tree-sitter-json/Manifest
index 40c6c7f187a3..fccaf007e65b 100644
--- a/dev-libs/tree-sitter-json/Manifest
+++ b/dev-libs/tree-sitter-json/Manifest
@@ -1 +1,4 @@
DIST tree-sitter-json-0.19.0.tar.gz 11102 BLAKE2B 8530b53dffa59fcc844501dcbfc9fc8a39a4d4fda6653e02b17261c23da43c8f3dd2bcb1e312a58861ea9af7835d4f2b9208e7960bfaec8ffeecd754e04416d0 SHA512 f4ef90d1ff7cb96093e7b54fb0b4904f7c19256c2e0938c03f81d89f3699f0c0922da54d1d770aa786b9cf10b08f9afa762771a207546a29cf7ff7f1710dadb6
+DIST tree-sitter-json-0.20.1.tar.gz 15576 BLAKE2B d6b9d3c931453440c2557814184b629640e4a0dd9b763ba8aec51aeb8322b021d0bfd8e4385445ef527100f67db507d3c934480457a7a5ed60a2d035fda44f13 SHA512 30ae91cec4c9e63acfd2bd0c62b313d48a50ec722ff5c793b8b51910a02a9c6f8697a866ec7bbde3c7f14b2bdcfc12be3650d7a8e6f23fde80527cc235a3768e
+DIST tree-sitter-json-0.20.2.tar.gz 15647 BLAKE2B 524933bf7af4df87d78497912c7865c20b2cc3e9b099401aac612c8c6d382fbc8f8704515abcb1e579fbac7734d23545f91ac7600e978a2924567998e5166834 SHA512 511376b7be02c624bc48b0a46dd937f1a5d6def3d2a15a7b61cf71b846ecf98ef8af93f05f861152270ea0dcacc18940f8c25bfbad69e9d5c520485d25dab7f5
+DIST tree-sitter-json-0.21.0.tar.gz 34737 BLAKE2B 104229cd039b41fb79ccdab3b30e0e59a96a3aa46c060bf50cc093acfe4510150ad5caaf39f49045d478d9f67f863ff6289ba7ab59aaa27871ebb77ffc66a453 SHA512 37ee6a511e15eeb832c7a49d74d977724fecfe24943472047e2100aa18bf4e64f297b1a8e8e37f1d2223614dd9ceec038abd84b5f1fcc00bb67289b70de2ebd2
diff --git a/dev-libs/tree-sitter-json/metadata.xml b/dev-libs/tree-sitter-json/metadata.xml
index 54551edf7eea..0e1551210dfc 100644
--- a/dev-libs/tree-sitter-json/metadata.xml
+++ b/dev-libs/tree-sitter-json/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="person" proxied="yes">
- <email>matt@offtopica.uk</email>
+ <maintainer type="person">
+ <email>matthew@gentoo.org</email>
<name>Matthew Smith</name>
</maintainer>
- <maintainer type="person" proxied="proxy">
+ <maintainer type="person">
<email>sarnex@gentoo.org</email>
<name>Nick Sarnie</name>
</maintainer>
diff --git a/dev-libs/tree-sitter-json/tree-sitter-json-0.19.0.ebuild b/dev-libs/tree-sitter-json/tree-sitter-json-0.19.0.ebuild
index ca446b8eaccb..6e3dc239628c 100644
--- a/dev-libs/tree-sitter-json/tree-sitter-json-0.19.0.ebuild
+++ b/dev-libs/tree-sitter-json/tree-sitter-json-0.19.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
@@ -10,4 +10,4 @@ HOMEPAGE="https://github.com/tree-sitter/tree-sitter-json"
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~amd64"
+KEYWORDS="amd64"
diff --git a/dev-libs/tree-sitter-json/tree-sitter-json-0.20.1.ebuild b/dev-libs/tree-sitter-json/tree-sitter-json-0.20.1.ebuild
new file mode 100644
index 000000000000..bc7df5806d4d
--- /dev/null
+++ b/dev-libs/tree-sitter-json/tree-sitter-json-0.20.1.ebuild
@@ -0,0 +1,13 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit tree-sitter-grammar
+
+DESCRIPTION="JSON grammar for Tree-sitter"
+HOMEPAGE="https://github.com/tree-sitter/tree-sitter-json"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 ~arm64"
diff --git a/dev-libs/tree-sitter-json/tree-sitter-json-0.20.2.ebuild b/dev-libs/tree-sitter-json/tree-sitter-json-0.20.2.ebuild
new file mode 100644
index 000000000000..5e272e100507
--- /dev/null
+++ b/dev-libs/tree-sitter-json/tree-sitter-json-0.20.2.ebuild
@@ -0,0 +1,13 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit tree-sitter-grammar
+
+DESCRIPTION="JSON grammar for Tree-sitter"
+HOMEPAGE="https://github.com/tree-sitter/tree-sitter-json"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64"
diff --git a/dev-libs/tree-sitter-json/tree-sitter-json-0.21.0.ebuild b/dev-libs/tree-sitter-json/tree-sitter-json-0.21.0.ebuild
new file mode 100644
index 000000000000..6b747e802705
--- /dev/null
+++ b/dev-libs/tree-sitter-json/tree-sitter-json-0.21.0.ebuild
@@ -0,0 +1,15 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+TS_BINDINGS=( python )
+
+inherit tree-sitter-grammar
+
+DESCRIPTION="JSON grammar for Tree-sitter"
+HOMEPAGE="https://github.com/tree-sitter/tree-sitter-json"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64"
diff --git a/dev-libs/tree-sitter-julia/Manifest b/dev-libs/tree-sitter-julia/Manifest
index 342f81f45706..9919ac5ca25d 100644
--- a/dev-libs/tree-sitter-julia/Manifest
+++ b/dev-libs/tree-sitter-julia/Manifest
@@ -1 +1,2 @@
DIST tree-sitter-julia-0.19.0.tar.gz 591870 BLAKE2B 0a15485ce7eb87f080add5b2dae19004349f3c79a048b77552915ae776860d722d6d6e07422ab82fb932f795285b545fe1b6579824a8f4905fbbdd4b96f16ea4 SHA512 ee3943683413e3d16d60ec1bf1f3cc816011c4d458b5c44d7ce42e5f14c8aa22e35ce07747f0737c9b514fa7ea8b866d4fa6af5c53069b755e0d6d3f7bcc8e2a
+DIST tree-sitter-julia-0.20.0.tar.gz 4032821 BLAKE2B eac1ec80509c8dfb75a68f507a615eaf69366e42fdf2ff9a74fb7acc8281f55fa5ba45cd4a1b050e5277614a14b5bd39145115c74de83ffb7669701ed709c04d SHA512 173e990ba6353e8b3f124fb3b1e1e5c281882d7fd6f7d53b3f40304db0f5361c0220017af51dbc569ddc2debf494ae8325877fc3c5de60239da942299a054b3d
diff --git a/dev-libs/tree-sitter-julia/metadata.xml b/dev-libs/tree-sitter-julia/metadata.xml
index c9980de7efc0..781c30634bf9 100644
--- a/dev-libs/tree-sitter-julia/metadata.xml
+++ b/dev-libs/tree-sitter-julia/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="person" proxied="yes">
- <email>matt@offtopica.uk</email>
+ <maintainer type="person">
+ <email>matthew@gentoo.org</email>
<name>Matthew Smith</name>
</maintainer>
- <maintainer type="person" proxied="proxy">
+ <maintainer type="person">
<email>sarnex@gentoo.org</email>
<name>Nick Sarnie</name>
</maintainer>
diff --git a/dev-libs/tree-sitter-julia/tree-sitter-julia-0.19.0.ebuild b/dev-libs/tree-sitter-julia/tree-sitter-julia-0.19.0.ebuild
index 50f64d0091a2..a98d5d0a3b62 100644
--- a/dev-libs/tree-sitter-julia/tree-sitter-julia-0.19.0.ebuild
+++ b/dev-libs/tree-sitter-julia/tree-sitter-julia-0.19.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
@@ -10,4 +10,4 @@ HOMEPAGE="https://github.com/tree-sitter/tree-sitter-julia"
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~amd64"
+KEYWORDS="amd64"
diff --git a/dev-libs/tree-sitter-julia/tree-sitter-julia-0.20.0.ebuild b/dev-libs/tree-sitter-julia/tree-sitter-julia-0.20.0.ebuild
new file mode 100644
index 000000000000..bdfad03a9860
--- /dev/null
+++ b/dev-libs/tree-sitter-julia/tree-sitter-julia-0.20.0.ebuild
@@ -0,0 +1,13 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit tree-sitter-grammar
+
+DESCRIPTION="Julia grammar for Tree-sitter"
+HOMEPAGE="https://github.com/tree-sitter/tree-sitter-julia"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64"
diff --git a/dev-libs/tree-sitter-meta/metadata.xml b/dev-libs/tree-sitter-meta/metadata.xml
index 07830709cc3e..6e7f9e7ff033 100644
--- a/dev-libs/tree-sitter-meta/metadata.xml
+++ b/dev-libs/tree-sitter-meta/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="person" proxied="yes">
- <email>matt@offtopica.uk</email>
+ <maintainer type="person">
+ <email>matthew@gentoo.org</email>
<name>Matthew Smith</name>
</maintainer>
- <maintainer type="person" proxied="proxy">
+ <maintainer type="person">
<email>sarnex@gentoo.org</email>
<name>Nick Sarnie</name>
</maintainer>
diff --git a/dev-libs/tree-sitter-meta/tree-sitter-meta-1-r1.ebuild b/dev-libs/tree-sitter-meta/tree-sitter-meta-1-r1.ebuild
index 7a83a7ae802a..58a50eb0a10e 100644
--- a/dev-libs/tree-sitter-meta/tree-sitter-meta-1-r1.ebuild
+++ b/dev-libs/tree-sitter-meta/tree-sitter-meta-1-r1.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
@@ -8,7 +8,7 @@ HOMEPAGE="https://github.com/tree-sitter/tree-sitter"
LICENSE="metapackage"
SLOT="0"
-KEYWORDS="~amd64"
+KEYWORDS="amd64"
RDEPEND="
dev-libs/tree-sitter
diff --git a/dev-libs/tree-sitter-meta/tree-sitter-meta-1-r4.ebuild b/dev-libs/tree-sitter-meta/tree-sitter-meta-1-r4.ebuild
new file mode 100644
index 000000000000..7f7a837988eb
--- /dev/null
+++ b/dev-libs/tree-sitter-meta/tree-sitter-meta-1-r4.ebuild
@@ -0,0 +1,41 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DESCRIPTION="Metapackage for Tree Sitter packages"
+HOMEPAGE="https://github.com/tree-sitter/tree-sitter"
+
+LICENSE="metapackage"
+SLOT="0"
+KEYWORDS="amd64"
+
+RDEPEND="
+ dev-libs/tree-sitter
+ dev-libs/tree-sitter-bash
+ dev-libs/tree-sitter-c
+ dev-libs/tree-sitter-cmake
+ dev-libs/tree-sitter-cpp
+ dev-libs/tree-sitter-c-sharp
+ dev-libs/tree-sitter-css
+ dev-libs/tree-sitter-embedded-template
+ dev-libs/tree-sitter-gleam
+ dev-libs/tree-sitter-go
+ dev-libs/tree-sitter-haskell
+ dev-libs/tree-sitter-html
+ dev-libs/tree-sitter-java
+ dev-libs/tree-sitter-javascript
+ dev-libs/tree-sitter-jsdoc
+ dev-libs/tree-sitter-json
+ dev-libs/tree-sitter-julia
+ dev-libs/tree-sitter-ocaml
+ dev-libs/tree-sitter-php
+ dev-libs/tree-sitter-python
+ dev-libs/tree-sitter-ql
+ dev-libs/tree-sitter-regex
+ dev-libs/tree-sitter-ruby
+ dev-libs/tree-sitter-rust
+ dev-libs/tree-sitter-scala
+ dev-libs/tree-sitter-tsq
+ dev-libs/tree-sitter-typescript
+"
diff --git a/dev-libs/tree-sitter-ocaml/Manifest b/dev-libs/tree-sitter-ocaml/Manifest
index a291d9385837..29c9ee5bb16d 100644
--- a/dev-libs/tree-sitter-ocaml/Manifest
+++ b/dev-libs/tree-sitter-ocaml/Manifest
@@ -1 +1,3 @@
DIST tree-sitter-ocaml-0.19.0.tar.gz 1314747 BLAKE2B 8bceac43a40b11b27395a52a450ab734312fbb43cd4b711ca27e629f16599a04cbb55b13a05540ad20f7aa00f068ef57752b7ba42c45bbc75fc87c344133a743 SHA512 897ce5fcb58241c8ec123536ce52eba64698cb5da08403801f4d1760fab1addaced0b3cda5c24460cf2b4531215becf3a6b29c34ba871370b02b467a13b171ba
+DIST tree-sitter-ocaml-0.20.1.tar.gz 1509589 BLAKE2B 965980ce37b27bde9771308eeabe5117bc7997f3a5429e9774eeb885b81199e5d8ebc471bc5cd10d3e15e2cbcffdf6f887f0623b61c3595deca06492d22c78a8 SHA512 c3a070367ddce3186ea09c705f4c08279f0fbf890669ce6486eef5b9564ea2c3a88041b3227ac9210fdb9257d4971697e6ceebea672fe37e7fce038cd9a09838
+DIST tree-sitter-ocaml-0.20.4.tar.gz 2849217 BLAKE2B e96ffaa2bd72b849f215a9d843fc8b27003917878a32eb5471a3ee4547a931a5dd4b991872d913f514d6519b9bf78b7b57bc501c89f360265a36abb695ed229d SHA512 517f1bf1ff989be4c0853eae20f3c7bc51ef3f68bce1a850d80c6ba150cccac820b6ead00c45e53acb2dd06e9b2e7646dda219353ffdad16be3329f2bd33593c
diff --git a/dev-libs/tree-sitter-ocaml/metadata.xml b/dev-libs/tree-sitter-ocaml/metadata.xml
index 38ac08cf86e4..681978881386 100644
--- a/dev-libs/tree-sitter-ocaml/metadata.xml
+++ b/dev-libs/tree-sitter-ocaml/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="person" proxied="yes">
- <email>matt@offtopica.uk</email>
+ <maintainer type="person">
+ <email>matthew@gentoo.org</email>
<name>Matthew Smith</name>
</maintainer>
- <maintainer type="person" proxied="proxy">
+ <maintainer type="person">
<email>sarnex@gentoo.org</email>
<name>Nick Sarnie</name>
</maintainer>
diff --git a/dev-libs/tree-sitter-ocaml/tree-sitter-ocaml-0.19.0.ebuild b/dev-libs/tree-sitter-ocaml/tree-sitter-ocaml-0.19.0.ebuild
index adc64bb944d1..afc9708cb318 100644
--- a/dev-libs/tree-sitter-ocaml/tree-sitter-ocaml-0.19.0.ebuild
+++ b/dev-libs/tree-sitter-ocaml/tree-sitter-ocaml-0.19.0.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=8
@@ -10,6 +10,6 @@ HOMEPAGE="https://github.com/tree-sitter/tree-sitter-ocaml"
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~amd64"
+KEYWORDS="amd64"
-S="${WORKDIR}/${P}/ocaml/src"
+S="${WORKDIR}/${P}/ocaml"
diff --git a/dev-libs/tree-sitter-ocaml/tree-sitter-ocaml-0.20.1.ebuild b/dev-libs/tree-sitter-ocaml/tree-sitter-ocaml-0.20.1.ebuild
new file mode 100644
index 000000000000..afc9708cb318
--- /dev/null
+++ b/dev-libs/tree-sitter-ocaml/tree-sitter-ocaml-0.20.1.ebuild
@@ -0,0 +1,15 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit tree-sitter-grammar
+
+DESCRIPTION="OCaml grammar for Tree-sitter"
+HOMEPAGE="https://github.com/tree-sitter/tree-sitter-ocaml"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64"
+
+S="${WORKDIR}/${P}/ocaml"
diff --git a/dev-libs/tree-sitter-ocaml/tree-sitter-ocaml-0.20.4.ebuild b/dev-libs/tree-sitter-ocaml/tree-sitter-ocaml-0.20.4.ebuild
new file mode 100644
index 000000000000..afc9708cb318
--- /dev/null
+++ b/dev-libs/tree-sitter-ocaml/tree-sitter-ocaml-0.20.4.ebuild
@@ -0,0 +1,15 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit tree-sitter-grammar
+
+DESCRIPTION="OCaml grammar for Tree-sitter"
+HOMEPAGE="https://github.com/tree-sitter/tree-sitter-ocaml"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64"
+
+S="${WORKDIR}/${P}/ocaml"
diff --git a/dev-libs/tree-sitter-php/Manifest b/dev-libs/tree-sitter-php/Manifest
index 4f1ec59b17e4..02d9e0cff7d8 100644
--- a/dev-libs/tree-sitter-php/Manifest
+++ b/dev-libs/tree-sitter-php/Manifest
@@ -1 +1,2 @@
-DIST tree-sitter-php-0.19.0.tar.gz 155930 BLAKE2B e78b0a719f2e8cde6398a5645023c09135f61bbe138abeff8160bb1688bab84fa7ca51438e380d79fc0e05efa2e4897a7ff05fd677ac0b8cb4098e27d576a10a SHA512 bf82af3a4c0da96f58e93aaee2724f327c11e297bcd455998e0863aa64ab6ae85d1d212afa51b75c8e8ab998568cc71b0309ee3d1d41b632ef0283478ecc5711
+DIST tree-sitter-php-0.20.0.tar.gz 290518 BLAKE2B 5ba7dabf79665ceb2be737906493bf774e51a0233a62bdb89d84a6a9204745a99679322e047a9115d95e92c3dbb34c5da591497223bb580522b587bedc933d10 SHA512 0ce3e8b2a7cb26b8fa2210e2ac8b133c0ea8450b7504f93422a7baa0ee6f5217c72b9ce0cbdc5ac1e85deb2ab08fc6b968e74f124dce13ebfb8ad9b0af2afb8f
+DIST tree-sitter-php-0.22.2.tar.gz 541599 BLAKE2B 5e98d7d9226900c16b8681ec408bafb6a4c4c281fa0d97b3b9c06b58657f69166df6700ecd127406efff430c0f79a56ff08cc45ca48b483ecd6579cfe7263a05 SHA512 0592d145f92f9f93524b5d6b341b8141234784c03d9e0384311cd735f4b8216e0dd3d5ff27daef6127d3a079b16043b3957e7fd0f8759e90924539bb42f4f306
diff --git a/dev-libs/tree-sitter-php/metadata.xml b/dev-libs/tree-sitter-php/metadata.xml
index e11305e07a95..0f4f3a9a2eeb 100644
--- a/dev-libs/tree-sitter-php/metadata.xml
+++ b/dev-libs/tree-sitter-php/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="person" proxied="yes">
- <email>matt@offtopica.uk</email>
+ <maintainer type="person">
+ <email>matthew@gentoo.org</email>
<name>Matthew Smith</name>
</maintainer>
- <maintainer type="person" proxied="proxy">
+ <maintainer type="person">
<email>sarnex@gentoo.org</email>
<name>Nick Sarnie</name>
</maintainer>
diff --git a/dev-libs/tree-sitter-php/tree-sitter-php-0.19.0.ebuild b/dev-libs/tree-sitter-php/tree-sitter-php-0.19.0.ebuild
deleted file mode 100644
index 88b916096b59..000000000000
--- a/dev-libs/tree-sitter-php/tree-sitter-php-0.19.0.ebuild
+++ /dev/null
@@ -1,13 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit tree-sitter-grammar
-
-DESCRIPTION="PHP grammar for Tree-sitter"
-HOMEPAGE="https://github.com/tree-sitter/tree-sitter-php"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64"
diff --git a/dev-libs/tree-sitter-php/tree-sitter-php-0.20.0.ebuild b/dev-libs/tree-sitter-php/tree-sitter-php-0.20.0.ebuild
new file mode 100644
index 000000000000..e331a8f2ea6c
--- /dev/null
+++ b/dev-libs/tree-sitter-php/tree-sitter-php-0.20.0.ebuild
@@ -0,0 +1,13 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit tree-sitter-grammar
+
+DESCRIPTION="PHP grammar for Tree-sitter"
+HOMEPAGE="https://github.com/tree-sitter/tree-sitter-php"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64"
diff --git a/dev-libs/tree-sitter-php/tree-sitter-php-0.22.2.ebuild b/dev-libs/tree-sitter-php/tree-sitter-php-0.22.2.ebuild
new file mode 100644
index 000000000000..13dc08afbb50
--- /dev/null
+++ b/dev-libs/tree-sitter-php/tree-sitter-php-0.22.2.ebuild
@@ -0,0 +1,14 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit tree-sitter-grammar
+
+DESCRIPTION="PHP grammar for Tree-sitter"
+HOMEPAGE="https://github.com/tree-sitter/tree-sitter-php"
+S="${WORKDIR}"/${P}/php
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
diff --git a/dev-libs/tree-sitter-python/Manifest b/dev-libs/tree-sitter-python/Manifest
index d72bf93ffd50..c0dfa6788d6a 100644
--- a/dev-libs/tree-sitter-python/Manifest
+++ b/dev-libs/tree-sitter-python/Manifest
@@ -1 +1,3 @@
-DIST tree-sitter-python-0.19.1_p20211112.tar.gz 141155 BLAKE2B ee524faca6bebf6c7f27d34ba418c4494877d6cf33a17b4ac0e5c148db58a8e17b2ec8ba992139b72e1fc88c9c93bcdb6a8cbd4a47b9cc65ad3097e08b4ee339 SHA512 25d5b3f8bac1daf8c9971278b8c209f2d953310cd31afd2e375d48354845930e553d0067dd9c0e93565d1996a803d0b5445f48720b0bc7f3d38e73f40cdbbc90
+DIST tree-sitter-python-0.20.0.tar.gz 155192 BLAKE2B 1b81eb80dc5a69124ba8579f905b83290b233b7aa7f41b13ead293ade576b4c2f4cb4ca52d34f1bd59131e6b0ff2a3058d8119bedc235fe6a8afd49b0856580e SHA512 6eff62f40a0cf95c9acb8bd571ed5d74ab9db7d15104a039273861c28f932c79d5e4d32e3017ed38fe35a8e92660f46bcdab8091a2dd2cc0d9699598a6d46606
+DIST tree-sitter-python-0.20.4.tar.gz 249840 BLAKE2B 563895c46ca1de400d51168473cceaed61b3df486cbf9f33ae9f63acc16268b9147917f0bc0f18d3c8cad0ab0684b4c51900a7e1c6b898735621676353630650 SHA512 2cfd327a1c0033ebb5bc1a4efe4f8b7a776ad45da6b12ad3d496fe3500e2a99ac0ecefbc6eec81d724bcdb060a0ebb8a24496dee23c83c7802e0226f495751d3
+DIST tree-sitter-python-0.21.0.tar.gz 275770 BLAKE2B c595476144931fbb08c404fd72d981ad8170333fcbec98cb4b7637932860dea3967abee712ce6afe1c6454ca02cd67e6c84e969ca0b5f593d6822ec1ee623afe SHA512 02410d235473a3e9a108b7820f146cdf8df5794814ff1e2ce8ccac1e38a727fa3e133bcac6718ade2a0d0f0965e879bb3cb9652d1d30f738969f458add53dc50
diff --git a/dev-libs/tree-sitter-python/metadata.xml b/dev-libs/tree-sitter-python/metadata.xml
index 64809d1b4963..1150500b1da5 100644
--- a/dev-libs/tree-sitter-python/metadata.xml
+++ b/dev-libs/tree-sitter-python/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="person" proxied="yes">
- <email>matt@offtopica.uk</email>
+ <maintainer type="person">
+ <email>matthew@gentoo.org</email>
<name>Matthew Smith</name>
</maintainer>
- <maintainer type="person" proxied="proxy">
+ <maintainer type="person">
<email>sarnex@gentoo.org</email>
<name>Nick Sarnie</name>
</maintainer>
diff --git a/dev-libs/tree-sitter-python/tree-sitter-python-0.19.1_p20211112.ebuild b/dev-libs/tree-sitter-python/tree-sitter-python-0.19.1_p20211112.ebuild
deleted file mode 100644
index e24b3667a61c..000000000000
--- a/dev-libs/tree-sitter-python/tree-sitter-python-0.19.1_p20211112.ebuild
+++ /dev/null
@@ -1,15 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-TS_PV="24b530ca158d2782ea9046e756057a412e16b52f"
-
-inherit tree-sitter-grammar
-
-DESCRIPTION="Python grammar for Tree-sitter"
-HOMEPAGE="https://github.com/tree-sitter/tree-sitter-python"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64"
diff --git a/dev-libs/tree-sitter-python/tree-sitter-python-0.20.0.ebuild b/dev-libs/tree-sitter-python/tree-sitter-python-0.20.0.ebuild
new file mode 100644
index 000000000000..57ccd11b1fcc
--- /dev/null
+++ b/dev-libs/tree-sitter-python/tree-sitter-python-0.20.0.ebuild
@@ -0,0 +1,13 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit tree-sitter-grammar
+
+DESCRIPTION="Python grammar for Tree-sitter"
+HOMEPAGE="https://github.com/tree-sitter/tree-sitter-python"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 ~arm ~arm64 ~ppc ~ppc64"
diff --git a/dev-libs/tree-sitter-python/tree-sitter-python-0.20.4.ebuild b/dev-libs/tree-sitter-python/tree-sitter-python-0.20.4.ebuild
new file mode 100644
index 000000000000..5cec91fee1f7
--- /dev/null
+++ b/dev-libs/tree-sitter-python/tree-sitter-python-0.20.4.ebuild
@@ -0,0 +1,13 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit tree-sitter-grammar
+
+DESCRIPTION="Python grammar for Tree-sitter"
+HOMEPAGE="https://github.com/tree-sitter/tree-sitter-python"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 ~arm ~arm64 ~ppc ~ppc64"
diff --git a/dev-libs/tree-sitter-python/tree-sitter-python-0.21.0-r1.ebuild b/dev-libs/tree-sitter-python/tree-sitter-python-0.21.0-r1.ebuild
new file mode 100644
index 000000000000..e7ea609d79c0
--- /dev/null
+++ b/dev-libs/tree-sitter-python/tree-sitter-python-0.21.0-r1.ebuild
@@ -0,0 +1,15 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+TS_BINDINGS=( python )
+
+inherit tree-sitter-grammar
+
+DESCRIPTION="Python grammar for Tree-sitter"
+HOMEPAGE="https://github.com/tree-sitter/tree-sitter-python"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64"
diff --git a/dev-libs/tree-sitter-ql/metadata.xml b/dev-libs/tree-sitter-ql/metadata.xml
index 193359552851..b500ca7f8954 100644
--- a/dev-libs/tree-sitter-ql/metadata.xml
+++ b/dev-libs/tree-sitter-ql/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="person" proxied="yes">
- <email>matt@offtopica.uk</email>
+ <maintainer type="person">
+ <email>matthew@gentoo.org</email>
<name>Matthew Smith</name>
</maintainer>
- <maintainer type="person" proxied="proxy">
+ <maintainer type="person">
<email>sarnex@gentoo.org</email>
<name>Nick Sarnie</name>
</maintainer>
diff --git a/dev-libs/tree-sitter-ql/tree-sitter-ql-0.19.0.ebuild b/dev-libs/tree-sitter-ql/tree-sitter-ql-0.19.0.ebuild
index 64e8ead45e85..a299653551b5 100644
--- a/dev-libs/tree-sitter-ql/tree-sitter-ql-0.19.0.ebuild
+++ b/dev-libs/tree-sitter-ql/tree-sitter-ql-0.19.0.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=8
@@ -10,4 +10,4 @@ HOMEPAGE="https://github.com/tree-sitter/tree-sitter-ql"
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~amd64"
+KEYWORDS="amd64 ~arm64"
diff --git a/dev-libs/tree-sitter-regex/Manifest b/dev-libs/tree-sitter-regex/Manifest
index 1656a65590e4..64fa25dce9bb 100644
--- a/dev-libs/tree-sitter-regex/Manifest
+++ b/dev-libs/tree-sitter-regex/Manifest
@@ -1 +1,2 @@
DIST tree-sitter-regex-0.19.0.tar.gz 17452 BLAKE2B a1a4db494b685c9e4df3dba790b8d4938d604c02c419c040d783aa11093fb1d988f807d002b798ff53e6b64f294df6b24b6774642bb331ad0dc2a9a61f2ad88c SHA512 d2ecc9637f7e130b16103b375592e449f3b58afcce7d284e269ba7a20e96ca5d6c118a8c99819e7c9d0f8d4ceeb139ba493fcf6e001da25610a70030db599991
+DIST tree-sitter-regex-0.20.0.tar.gz 20283 BLAKE2B b5c71d9956736c913d995631e3051ff20594b059d5fd736d57ce3ae29499b9dc41127f25fd88f7d9c81702e74383157554eb418f8aad88d6e8f46ae4b9f2a6d3 SHA512 35c8e51539ae8135f7a3ef7c3b5c736e0ef7dfcaf7a97417c0228e47fb2500833e1e585805dfe7a4552b5ddd2cc6bba394aee34845cf419f467747ab10f94988
diff --git a/dev-libs/tree-sitter-regex/metadata.xml b/dev-libs/tree-sitter-regex/metadata.xml
index a23cbbe1237e..e052fd0a6b1b 100644
--- a/dev-libs/tree-sitter-regex/metadata.xml
+++ b/dev-libs/tree-sitter-regex/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="person" proxied="yes">
- <email>matt@offtopica.uk</email>
+ <maintainer type="person">
+ <email>matthew@gentoo.org</email>
<name>Matthew Smith</name>
</maintainer>
- <maintainer type="person" proxied="proxy">
+ <maintainer type="person">
<email>sarnex@gentoo.org</email>
<name>Nick Sarnie</name>
</maintainer>
diff --git a/dev-libs/tree-sitter-regex/tree-sitter-regex-0.20.0.ebuild b/dev-libs/tree-sitter-regex/tree-sitter-regex-0.20.0.ebuild
new file mode 100644
index 000000000000..5bf66e08ddbb
--- /dev/null
+++ b/dev-libs/tree-sitter-regex/tree-sitter-regex-0.20.0.ebuild
@@ -0,0 +1,13 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit tree-sitter-grammar
+
+DESCRIPTION="Regular Expressions grammar for Tree-sitter"
+HOMEPAGE="https://github.com/tree-sitter/tree-sitter-regex"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 ~arm64"
diff --git a/dev-libs/tree-sitter-ruby/Manifest b/dev-libs/tree-sitter-ruby/Manifest
index 2737869aee4c..be7ced1bd3dc 100644
--- a/dev-libs/tree-sitter-ruby/Manifest
+++ b/dev-libs/tree-sitter-ruby/Manifest
@@ -1 +1,2 @@
-DIST tree-sitter-ruby-0.19.0.tar.gz 325077 BLAKE2B eb39ba999ccf582b698138ebb7a7f9cbd949510046460d84e37471634700b0751219a7a266652256225bc6fbdd80340cca38662b180c2314f82c5ed7de3324cf SHA512 dc092b55a73a7ffaf698c784e0a6e8fd115478ce8eb2de00301bb8c2455044a4b7f4cd04ab36eb19401386b55088ad3fba6cb9cce9856b6f607bd76caaf0900b
+DIST tree-sitter-ruby-0.20.0_pre20221101.tar.gz 575761 BLAKE2B 17daf39dfd812ab0993cd2a3ad728603d629c2e177261fa60d237a1dfd504b2a087611824cdffb03e95c0b304d9f6991ccf36aad1f18db4aa3177c082c6e275e SHA512 ff6eb4a28e5313cbdebca0f939d209d7c15016fef4ed864e64ce2e6f30023e15a88483c5bc90673fcee42df75c6e003b69fc2e5f81b72ecf1a506c836eebeba4
+DIST tree-sitter-ruby-0.20.1.tar.gz 601038 BLAKE2B 29174a74a96f0b93d803eb9455ae1ceb7e4ca78be215c062ca341485c19f595a29cafe7c9ee75b95239045497e8d4695648c3ab1503d96039ec7c5a3c64c9883 SHA512 96d68cb7c557d341def9cbb9a51ecf12b7572bb46b9588bd3dab6f2598b6ce73df2fbbae8f0aa08737b34bda55e98eff8499921ea68f7389a7237fa32f62793b
diff --git a/dev-libs/tree-sitter-ruby/metadata.xml b/dev-libs/tree-sitter-ruby/metadata.xml
index 920a37c3ce40..f1cc3e07c912 100644
--- a/dev-libs/tree-sitter-ruby/metadata.xml
+++ b/dev-libs/tree-sitter-ruby/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="person" proxied="yes">
- <email>matt@offtopica.uk</email>
+ <maintainer type="person">
+ <email>matthew@gentoo.org</email>
<name>Matthew Smith</name>
</maintainer>
- <maintainer type="person" proxied="proxy">
+ <maintainer type="person">
<email>sarnex@gentoo.org</email>
<name>Nick Sarnie</name>
</maintainer>
diff --git a/dev-libs/tree-sitter-ruby/tree-sitter-ruby-0.19.0.ebuild b/dev-libs/tree-sitter-ruby/tree-sitter-ruby-0.19.0.ebuild
deleted file mode 100644
index d8c9f660754e..000000000000
--- a/dev-libs/tree-sitter-ruby/tree-sitter-ruby-0.19.0.ebuild
+++ /dev/null
@@ -1,13 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit tree-sitter-grammar
-
-DESCRIPTION="Ruby grammar for Tree-sitter"
-HOMEPAGE="https://github.com/tree-sitter/tree-sitter-ruby"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64"
diff --git a/dev-libs/tree-sitter-ruby/tree-sitter-ruby-0.20.0_pre20221101.ebuild b/dev-libs/tree-sitter-ruby/tree-sitter-ruby-0.20.0_pre20221101.ebuild
new file mode 100644
index 000000000000..c0e7e24609c7
--- /dev/null
+++ b/dev-libs/tree-sitter-ruby/tree-sitter-ruby-0.20.0_pre20221101.ebuild
@@ -0,0 +1,18 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# https://github.com/tree-sitter/tree-sitter-ruby/issues/232
+MY_COMMIT=c91960320d0f337bdd48308a8ad5500bd2616979
+
+inherit tree-sitter-grammar
+
+DESCRIPTION="Ruby grammar for Tree-sitter"
+HOMEPAGE="https://github.com/tree-sitter/tree-sitter-ruby"
+SRC_URI="https://github.com/tree-sitter/${PN}/archive/${MY_COMMIT}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}"/${PN}-${MY_COMMIT}
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64"
diff --git a/dev-libs/tree-sitter-ruby/tree-sitter-ruby-0.20.1.ebuild b/dev-libs/tree-sitter-ruby/tree-sitter-ruby-0.20.1.ebuild
new file mode 100644
index 000000000000..fb9baefcdb1a
--- /dev/null
+++ b/dev-libs/tree-sitter-ruby/tree-sitter-ruby-0.20.1.ebuild
@@ -0,0 +1,20 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit tree-sitter-grammar
+
+DESCRIPTION="Ruby grammar for Tree-sitter"
+HOMEPAGE="https://github.com/tree-sitter/tree-sitter-ruby"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+
+# Highlight tests failing in upstream ci too. The parser works, and
+# we do not currently install the highlight queries.
+#
+# https://bugs.gentoo.org/923987
+# https://github.com/tree-sitter/tree-sitter-ruby/issues/253
+RESTRICT="test"
diff --git a/dev-libs/tree-sitter-rust/Manifest b/dev-libs/tree-sitter-rust/Manifest
index 72c630cbdc84..1d093443cfba 100644
--- a/dev-libs/tree-sitter-rust/Manifest
+++ b/dev-libs/tree-sitter-rust/Manifest
@@ -1 +1,4 @@
-DIST tree-sitter-rust-0.20.0.tar.gz 308481 BLAKE2B cb5e8b210ab58ae0a771deb82f1963a8001310673b44203df20425df443f179289bff29dbab9f58e5450f0d1a2ec377ba7601204ffeac7c461c03be90789fc5e SHA512 1c7283e973f50989980a5a05217d664e87665c5ea2338978deaf0cf88f624c45fde8162848c68bb3b8836d32cbf9be80b1da6fa7aa03fa3cab8d8efb49e3694c
+DIST tree-sitter-rust-0.20.1.tar.gz 308918 BLAKE2B b226bf6eb2c282f62d3eef0598db38dc54d03ed2ea07313fffbb6c9d955cccc71bef5513b8b2c56460989789e9f4293fb27a2db152b5afa56085348427fe9ad5 SHA512 de799d76dbcbc7f68ab8560f747c3df3950dd3e640ac60cd44d65a60b23e118e271370e2b1b84d2d830c2d70341b5714f5f52592709ba15f6b164c05f3798f07
+DIST tree-sitter-rust-0.20.3.tar.gz 325621 BLAKE2B b5d2f15df3550e22e380c26a3fa6270a897f4555efb2778e54ef9262145ca919bf933ee739674e02a2086f58d707174c3a2cfb545d879a2c67decf508793af47 SHA512 9732a6e9782538c1a7f7a265e185aece659e164284eac61f65f3d174845aafc697ec2758d6dddb52c8a6ee3856be67493339d680f963ee383894f1d3789d96d5
+DIST tree-sitter-rust-0.20.4.tar.gz 358924 BLAKE2B 16c7918d352163ebb866f34865c68f5d9e19bbc3ffcec0f0c61ba38a8c828cee3eb50c97ddaea01d7575e23496bca18dc5161daee8bbdaa075ba75de608be999 SHA512 f1b2e9537286921056eda4e96faa9f61131b9ca5684e7ab8aa7bd07e46d91e5eab18e6e292cfad7cdcb7ba195e80f7f1e35f04992cb8011bbd29dd2d95116f9d
+DIST tree-sitter-rust-0.21.0.tar.gz 448170 BLAKE2B ecf13ff1358a64383feaa973332be7ff7d7551c414fef9bb3773f1ca975db97f6e0e6076ea572094771c25c59641a58aeec70c41fea65533b59fc436fd143938 SHA512 f9cd32e43b544a18eddfc0b6f8210f1fbc3e7a5d6e9b72c482a536df1e215ceadb41545a65f0c6fc791f6063adbe51957d4e20f7c8fa07a5079a4338a0351bf3
diff --git a/dev-libs/tree-sitter-rust/metadata.xml b/dev-libs/tree-sitter-rust/metadata.xml
index b82170949bb8..78be01dc65ac 100644
--- a/dev-libs/tree-sitter-rust/metadata.xml
+++ b/dev-libs/tree-sitter-rust/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="person" proxied="yes">
- <email>matt@offtopica.uk</email>
+ <maintainer type="person">
+ <email>matthew@gentoo.org</email>
<name>Matthew Smith</name>
</maintainer>
- <maintainer type="person" proxied="proxy">
+ <maintainer type="person">
<email>sarnex@gentoo.org</email>
<name>Nick Sarnie</name>
</maintainer>
diff --git a/dev-libs/tree-sitter-rust/tree-sitter-rust-0.20.0.ebuild b/dev-libs/tree-sitter-rust/tree-sitter-rust-0.20.0.ebuild
deleted file mode 100644
index b23c7b8febda..000000000000
--- a/dev-libs/tree-sitter-rust/tree-sitter-rust-0.20.0.ebuild
+++ /dev/null
@@ -1,13 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit tree-sitter-grammar
-
-DESCRIPTION="Rust grammar for Tree-sitter"
-HOMEPAGE="https://github.com/tree-sitter/tree-sitter-rust"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64"
diff --git a/dev-libs/tree-sitter-rust/tree-sitter-rust-0.20.1.ebuild b/dev-libs/tree-sitter-rust/tree-sitter-rust-0.20.1.ebuild
new file mode 100644
index 000000000000..36fca638c421
--- /dev/null
+++ b/dev-libs/tree-sitter-rust/tree-sitter-rust-0.20.1.ebuild
@@ -0,0 +1,13 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit tree-sitter-grammar
+
+DESCRIPTION="Rust grammar for Tree-sitter"
+HOMEPAGE="https://github.com/tree-sitter/tree-sitter-rust"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
diff --git a/dev-libs/tree-sitter-rust/tree-sitter-rust-0.20.3.ebuild b/dev-libs/tree-sitter-rust/tree-sitter-rust-0.20.3.ebuild
new file mode 100644
index 000000000000..7c4fec4db433
--- /dev/null
+++ b/dev-libs/tree-sitter-rust/tree-sitter-rust-0.20.3.ebuild
@@ -0,0 +1,13 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit tree-sitter-grammar
+
+DESCRIPTION="Rust grammar for Tree-sitter"
+HOMEPAGE="https://github.com/tree-sitter/tree-sitter-rust"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64"
diff --git a/dev-libs/tree-sitter-rust/tree-sitter-rust-0.20.4.ebuild b/dev-libs/tree-sitter-rust/tree-sitter-rust-0.20.4.ebuild
new file mode 100644
index 000000000000..91e3f0de8370
--- /dev/null
+++ b/dev-libs/tree-sitter-rust/tree-sitter-rust-0.20.4.ebuild
@@ -0,0 +1,13 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit tree-sitter-grammar
+
+DESCRIPTION="Rust grammar for Tree-sitter"
+HOMEPAGE="https://github.com/tree-sitter/tree-sitter-rust"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 ~arm64"
diff --git a/dev-libs/tree-sitter-rust/tree-sitter-rust-0.21.0.ebuild b/dev-libs/tree-sitter-rust/tree-sitter-rust-0.21.0.ebuild
new file mode 100644
index 000000000000..9eda069afc34
--- /dev/null
+++ b/dev-libs/tree-sitter-rust/tree-sitter-rust-0.21.0.ebuild
@@ -0,0 +1,15 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+TS_BINDINGS=( python )
+
+inherit tree-sitter-grammar
+
+DESCRIPTION="Rust grammar for Tree-sitter"
+HOMEPAGE="https://github.com/tree-sitter/tree-sitter-rust"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64"
diff --git a/dev-libs/tree-sitter-scala/Manifest b/dev-libs/tree-sitter-scala/Manifest
index cba0a6d38ca7..5a8367249478 100644
--- a/dev-libs/tree-sitter-scala/Manifest
+++ b/dev-libs/tree-sitter-scala/Manifest
@@ -1 +1,2 @@
-DIST tree-sitter-scala-0.19.0.tar.gz 127779 BLAKE2B c0cde9adf3bc4dc25b84bc57d02e248613f42caf1531ad4eeb58e226a39c2323e28553154eb1a5a6d0ba1359cea847ab8e0dac67060d35df1d017bf475524acb SHA512 5845720ce7181f0272fbd9b5980258680d5cb9bf5f8276e4be28f4dad15694f79a2184e46ef94909ac54f510e44ffc67a9632f9767866034f5fa2a9945311661
+DIST tree-sitter-scala-0.20.2.tar.gz 1305216 BLAKE2B 6fdfd74975f60794ca27b986250fdbb196b08892d48aca4fe034e8d2f9a18c1244538e03bd6f5618372ffdba64299c8431ce2bdf95d27578fa262c75516163b1 SHA512 7dba7733c126877c26a4da82420cd6fe8bb933d7694dfbc7a64a9195b33014ab6fd74de6a659ed79eb48dd46767874611713dbad8cea1e7b2fc13a124e7e4e38
+DIST tree-sitter-scala-0.21.0.tar.gz 1339069 BLAKE2B ae3406b49da3c7d349b0689b1f6d1ef037f5c6e5326016b64abef00174da0b1fe489579939150bd065fa82546a5782c04232ac144eb596855b59e263afe72ed0 SHA512 4d76e496c68993babe3c11315d6ce2c2a15cf576f55197358d718b0d16d1ee2c7e498ee45f793729b03faef7f35b8dbbe4d3692e4255f9aedb9ef69d49cdb189
diff --git a/dev-libs/tree-sitter-scala/metadata.xml b/dev-libs/tree-sitter-scala/metadata.xml
index 521d91df4f59..ea3cfbe901d4 100644
--- a/dev-libs/tree-sitter-scala/metadata.xml
+++ b/dev-libs/tree-sitter-scala/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="person" proxied="yes">
- <email>matt@offtopica.uk</email>
+ <maintainer type="person">
+ <email>matthew@gentoo.org</email>
<name>Matthew Smith</name>
</maintainer>
- <maintainer type="person" proxied="proxy">
+ <maintainer type="person">
<email>sarnex@gentoo.org</email>
<name>Nick Sarnie</name>
</maintainer>
diff --git a/dev-libs/tree-sitter-scala/tree-sitter-scala-0.19.0.ebuild b/dev-libs/tree-sitter-scala/tree-sitter-scala-0.19.0.ebuild
deleted file mode 100644
index fc450f552199..000000000000
--- a/dev-libs/tree-sitter-scala/tree-sitter-scala-0.19.0.ebuild
+++ /dev/null
@@ -1,13 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit tree-sitter-grammar
-
-DESCRIPTION="Scala grammar for Tree-sitter"
-HOMEPAGE="https://github.com/tree-sitter/tree-sitter-scala"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64"
diff --git a/dev-libs/tree-sitter-scala/tree-sitter-scala-0.20.2.ebuild b/dev-libs/tree-sitter-scala/tree-sitter-scala-0.20.2.ebuild
new file mode 100644
index 000000000000..d19d0d446e2d
--- /dev/null
+++ b/dev-libs/tree-sitter-scala/tree-sitter-scala-0.20.2.ebuild
@@ -0,0 +1,13 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit tree-sitter-grammar
+
+DESCRIPTION="Scala grammar for Tree-sitter"
+HOMEPAGE="https://github.com/tree-sitter/tree-sitter-scala"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64"
diff --git a/dev-libs/tree-sitter-scala/tree-sitter-scala-0.21.0.ebuild b/dev-libs/tree-sitter-scala/tree-sitter-scala-0.21.0.ebuild
new file mode 100644
index 000000000000..f994c3b92365
--- /dev/null
+++ b/dev-libs/tree-sitter-scala/tree-sitter-scala-0.21.0.ebuild
@@ -0,0 +1,13 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit tree-sitter-grammar
+
+DESCRIPTION="Scala grammar for Tree-sitter"
+HOMEPAGE="https://github.com/tree-sitter/tree-sitter-scala"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
diff --git a/dev-libs/tree-sitter-tsq/metadata.xml b/dev-libs/tree-sitter-tsq/metadata.xml
index ee14ccfa4e76..54cdf7d9be5d 100644
--- a/dev-libs/tree-sitter-tsq/metadata.xml
+++ b/dev-libs/tree-sitter-tsq/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="person" proxied="yes">
- <email>matt@offtopica.uk</email>
+ <maintainer type="person">
+ <email>matthew@gentoo.org</email>
<name>Matthew Smith</name>
</maintainer>
- <maintainer type="person" proxied="proxy">
+ <maintainer type="person">
<email>sarnex@gentoo.org</email>
<name>Nick Sarnie</name>
</maintainer>
diff --git a/dev-libs/tree-sitter-tsq/tree-sitter-tsq-0.19.0.ebuild b/dev-libs/tree-sitter-tsq/tree-sitter-tsq-0.19.0.ebuild
index 30c1ea20d279..47bda74ea2b7 100644
--- a/dev-libs/tree-sitter-tsq/tree-sitter-tsq-0.19.0.ebuild
+++ b/dev-libs/tree-sitter-tsq/tree-sitter-tsq-0.19.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
@@ -16,4 +16,4 @@ HOMEPAGE="https://github.com/tree-sitter/tree-sitter-tsq"
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~amd64"
+KEYWORDS="amd64"
diff --git a/dev-libs/tree-sitter-typescript/Manifest b/dev-libs/tree-sitter-typescript/Manifest
index 3074115ad29a..c077958053be 100644
--- a/dev-libs/tree-sitter-typescript/Manifest
+++ b/dev-libs/tree-sitter-typescript/Manifest
@@ -1 +1,3 @@
-DIST tree-sitter-typescript-0.20.0.tar.gz 769336 BLAKE2B 12f5ac1f29963eda7a34d08832ca263cf91fd6a8335c998d9d1795851bd30d4a43ade36d004ffcb287c73b63e691582a79d640e24050df4f778fa308f5b0665e SHA512 99cbcabf58717eb17346b2139320f0d13846f1f335a81ed01fee6e748cd0d867218a9cc8d216162c3b9b9da86487024bedbced67e91adadab207633c25dc7e1a
+DIST tree-sitter-typescript-0.20.3.tar.gz 843881 BLAKE2B a8b01a6fef435ac089ff716be400e6f55b89256a0b170cef3d6103eeca301f076d909180db61534dcf58bcf703d607871193f0a517d34398d81131c6dcb0e977 SHA512 6dacfe3d329acfbc80dd798bc900798cf3bad06441ece0964adb51117876b8c54be7d88303deb3abf139d7241b60d45c458a66f6079a149c010a3cd55581065b
+DIST tree-sitter-typescript-0.20.5.tar.gz 1556573 BLAKE2B ae4d71cc8e4745a3b6899f3f28fb31f0d31b0b1f749a73485b5f0b9e81257bde1b3338650e72e7c0082386cabb3b04bfc6bf8a603305aa8fa44c1e08e3843aab SHA512 5b0f9b5725766069d1535e39f3a4658b5200a2a33c3b4881f4876b741a6c13f9140429b73621949e2bd1e06ab0ee147893fffcd3c5349df337eb923a649b8867
+DIST tree-sitter-typescript-0.20.6.tar.gz 1564217 BLAKE2B bc4d26bd8e4e9ca14ddf4b175cc2a2e7a81dac67e114a6e01f59ff55c5ecd63a0a359e03d78928aa965363e9c4db154a9b1917cf3aafce9fdaca3a58d60bfcc1 SHA512 f30f38aa269302eee5f738422626187111c14c7ba07982d619b200a58a20a08849f8a0e79358cad331d689afd5ab389a88b246bda30031ae354f93433e85b763
diff --git a/dev-libs/tree-sitter-typescript/metadata.xml b/dev-libs/tree-sitter-typescript/metadata.xml
index f486929bd436..09539cbda1da 100644
--- a/dev-libs/tree-sitter-typescript/metadata.xml
+++ b/dev-libs/tree-sitter-typescript/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="person" proxied="yes">
- <email>matt@offtopica.uk</email>
+ <maintainer type="person">
+ <email>matthew@gentoo.org</email>
<name>Matthew Smith</name>
</maintainer>
- <maintainer type="person" proxied="proxy">
+ <maintainer type="person">
<email>sarnex@gentoo.org</email>
<name>Nick Sarnie</name>
</maintainer>
diff --git a/dev-libs/tree-sitter-typescript/tree-sitter-typescript-0.20.0.ebuild b/dev-libs/tree-sitter-typescript/tree-sitter-typescript-0.20.0.ebuild
deleted file mode 100644
index a504afd74bf7..000000000000
--- a/dev-libs/tree-sitter-typescript/tree-sitter-typescript-0.20.0.ebuild
+++ /dev/null
@@ -1,15 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-TS_PV=rust-0.20.0
-inherit tree-sitter-grammar
-
-DESCRIPTION="TypeScript grammar for Tree-sitter"
-HOMEPAGE="https://github.com/tree-sitter/tree-sitter-typescript"
-S="${WORKDIR}"/${PN}-${TS_PV}/typescript/src
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64"
diff --git a/dev-libs/tree-sitter-typescript/tree-sitter-typescript-0.20.3.ebuild b/dev-libs/tree-sitter-typescript/tree-sitter-typescript-0.20.3.ebuild
new file mode 100644
index 000000000000..3826613aff5d
--- /dev/null
+++ b/dev-libs/tree-sitter-typescript/tree-sitter-typescript-0.20.3.ebuild
@@ -0,0 +1,14 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit tree-sitter-grammar
+
+DESCRIPTION="TypeScript grammar for Tree-sitter"
+HOMEPAGE="https://github.com/tree-sitter/tree-sitter-typescript"
+S="${WORKDIR}"/${P}/typescript
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64"
diff --git a/dev-libs/tree-sitter-typescript/tree-sitter-typescript-0.20.5.ebuild b/dev-libs/tree-sitter-typescript/tree-sitter-typescript-0.20.5.ebuild
new file mode 100644
index 000000000000..3ab5b3028d0d
--- /dev/null
+++ b/dev-libs/tree-sitter-typescript/tree-sitter-typescript-0.20.5.ebuild
@@ -0,0 +1,14 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit tree-sitter-grammar
+
+DESCRIPTION="TypeScript grammar for Tree-sitter"
+HOMEPAGE="https://github.com/tree-sitter/tree-sitter-typescript"
+S="${WORKDIR}"/${P}/typescript
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
diff --git a/dev-libs/tree-sitter-typescript/tree-sitter-typescript-0.20.6.ebuild b/dev-libs/tree-sitter-typescript/tree-sitter-typescript-0.20.6.ebuild
new file mode 100644
index 000000000000..ac1c2721a6f8
--- /dev/null
+++ b/dev-libs/tree-sitter-typescript/tree-sitter-typescript-0.20.6.ebuild
@@ -0,0 +1,21 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit tree-sitter-grammar
+
+DESCRIPTION="TypeScript grammar for Tree-sitter"
+HOMEPAGE="https://github.com/tree-sitter/tree-sitter-typescript"
+S="${WORKDIR}"/${P}/typescript
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+
+src_prepare() {
+ # fix test corpus path
+ ln -s ../common test || die
+
+ tree-sitter-grammar_src_prepare
+}
diff --git a/dev-libs/tree-sitter/Manifest b/dev-libs/tree-sitter/Manifest
index 468ce91de5d5..5cf69b64952b 100644
--- a/dev-libs/tree-sitter/Manifest
+++ b/dev-libs/tree-sitter/Manifest
@@ -1,109 +1,4 @@
-DIST aho-corasick-0.7.15.crate 113071 BLAKE2B a22743be74f873b9545648db6a994250e3e39b92ac99601580e3b02194d205e921bff0b1952a4cca3399a3a7828555a1abfb0c1466f3930811c6b95c1a07ec5e SHA512 e67816efa7305937a7cbbb0079b91b8afa3fdab52cfb8eeddeee156f18bbeed26f941cd4cb18ab2bdc1da5a9ff1dcbe9d2090deec68c00287bd99ace18ee8b24
-DIST ansi_term-0.11.0.crate 17087 BLAKE2B 9bd35c045a01ce4c6c4a5db1b4f15e9412bb97426eec19d4421dffbec633de8d13452c13c1dc1b30998690b78d7ed38311aca700087f13a81f66bd1d5d7300c4 SHA512 a637466a380748f939b3af090b8c0333f35581925bc03f4dda9b3f95d338836403cf5487ae3af9ff68f8245a837f8ab061aabe57a126a6a2c20f2e972c77d1fa
-DIST ansi_term-0.12.1.crate 24838 BLAKE2B f636772c34e2d68cda7b8d3b2b86abda074585a62bd2654812ce92384244655a9197fa66e6939e19a674c0148ca605313d83de262bb18c2339a8a4eb4438a791 SHA512 b840e28b3e7700689a69a39659b1e066560078dd4a58326b91a028915819e7af883399ee53e920db68fd974c58d35bb1ddf8d427af5937d5f696f57c4376b671
-DIST anyhow-1.0.40.crate 34534 BLAKE2B 79a3731153f8e3ace906b9a360521147fd055f7401a99ea2373501ade7e49ecdb280dd59b6a3b9b2f88e90857302e71f772c767e62cb702e32c8343fd4b0f741 SHA512 5efc7347a7fa72abce9a8b3b76649abb00d73c16c5125aa4b6faaa7040eb5138d7d9470b66c186825c9651272f5c359578503d0866ce7242ea7ca9dc05087165
-DIST arrayref-0.3.6.crate 10035 BLAKE2B 88292fa4b3ad4fccd03772c2f0eca04cc13373fe094358bac57d7523c256d89f3087603e5bcb2a0b15d8b2ecd48e904a822b2cb800276a9c47ad6c6b660d9d34 SHA512 368341d00706c1250ff081b0d99c36c9af694a62ff4f4d8c837234340295771ca49c5439b24b6e1a4f2c3c5821764e98881dcb22d793f83de632fd5cb457671f
-DIST arrayvec-0.5.2.crate 27838 BLAKE2B 51e2eacae0ef148f3f52d21ae00794e540e7ce4c013fb496dd1347ad91ffbbca199381fffbb064225f829216f6c5e915edfa64833f91fabdd13c3f011d86491f SHA512 1896b5f64b4dbdcff8ad234bda4ea8129bcacf87839347304717e94ee9f369cf5f4371755e453ff7d72817edb8f7fdbc726d77cc4f28ed05148dc89c7714b004
-DIST ascii-1.0.0.crate 31727 BLAKE2B 9733e1aa9d41e3b170ac07e63708e7be0f15f9eda73ba371cd239d9c46e881d1e46c2e80b5c5440bf1a1f0b8f6e66199241a455db9a3a535672881bca4e0d13a SHA512 5696e14883d4946c4acbace84ee4c65af527a6b1725a7d16ab5d5b8cc671ff211324f15f3fb0755cb1c9dcd598a054b32cd51c69ad06391e7e147880f5c97a1b
-DIST atty-0.2.14.crate 5470 BLAKE2B 2db856a9e898a430258f059aeaf7c844a153293e8856d90ac81f7d91a888c89198768ad5cb09303c23241fe85c560a55148fa56a303651a82b0edb895616bfab SHA512 d7b6c4b9a0f898d91ddbc41a5ee45bbf45d1d269508c8cc87ee3e3990500e41e0ec387afb1f3bc7db55bedac396dd86c6509f4bf9e5148d809c3802edcc5e1d9
-DIST autocfg-1.0.1.crate 12908 BLAKE2B 40c53cab298e4f26634c3acff3ece6a3371188d91dbf377ed664eabedcde20536edaa93daf406618f37edde019f049a6e7b9a47f627344587dbd126bee2b5e3a SHA512 630b348acb98b012e97804e6325d03c89abc22f2157762c59144c04e6c733daf550bdc7f0fe0b9f3b50e15dae8c1c3c4bdfce3d805b02f0fc987311f5332419b
-DIST base64-0.13.0.crate 62070 BLAKE2B b957f65cdb1e28baeca0cefc92fa98be797409b7dabd15e0e88db6cdfb89779b662cba9f2270fbf3b7b66948fdc46c118b8040a78ab72049c48a928fa802bee0 SHA512 991a72999839daa232f508c5b24e7d3225e8a26db8d1d0e747881b115af9e408b92374e163b31e0b0d324c1c2e57e8e38d66861b61eb0a1dba87bb5871940151
-DIST bitflags-1.2.1.crate 16745 BLAKE2B 0fa6d3ce44aad7616d5cd02aad8c1d0b0fed4022650eb43067c4a72e6fc88da05442674fa51826e4858a47c9de233e1ba2229820af094197cd11bb416ceffb2b SHA512 ad89b3798845e23737a620bba581c2ff1ff3e15bac12555c765e201d2c0b90ecea0cdbc5b5b1a3fa9858c385e8e041f8226f5acfae5bbbe9925643fff2bf3f0b
-DIST blake2b_simd-0.5.11.crate 34096 BLAKE2B 480fc200ce3fa3bb364ae05590fe26f59efb6f81fc2fcb7ae1593671677daa6f1b526d800099d002239e2ad435b919e9b32778021c0790954383079a49a90965 SHA512 4a7657db637869465637cb9a65cb82e7a119c554bd4d532aaf84f9cc77a494fda07d07db89c73e92e5bf4844bb1be53062fc61120e839e414e938e487e7f2257
-DIST bumpalo-3.6.1.crate 133836 BLAKE2B d67f19bd68e87c1c1360c77df2cd9b11e66f4db3ed5468463d266d2ce187006f2b2117f647a9c331838b8ce6c50519db2f9645fbce190ade2c10a0284b29fa06 SHA512 0d923bda2c98bae60d8ca09d63dc12b67c8fb5addd4a675e27b619bb41b36d3dfc0742696fb53e5fa538790814cf2401d15b110216daf49e5a2ce046bd540866
-DIST cc-1.0.67.crate 53486 BLAKE2B 42fd02a5886df50857075c909819c8afcf091cee6b7bc517848786f287f4559e70a07f0a0f42a742baa2665465dfdb2139ecac7e93f1a41b16eab30556eb0259 SHA512 f1ad4abdaad2667b190d1f8df8515f603107be1f69bdbdc02b5159764a6ed18b3f672d6b06af50c7f2fd3e6e3dad5df0fcd0dda762d909ba0922c769f1efbe05
-DIST cfg-if-1.0.0.crate 7934 BLAKE2B e99a5589c11d79d77a4537b34ce0a45d37b981c123b79b807cea836c89fc3926d693458893baca2882448d3d44e3f64e06141f6d916b748daa10b8cc1ae16d1b SHA512 0fb16a8882fd30e86b62c5143b1cb18ab564e84e75bd1f28fd12f24ffdc4a42e0d2e012a99abb606c12efe3c11061ff5bf8e24ab053e550ae083f7d90f6576ff
-DIST chrono-0.4.19.crate 155663 BLAKE2B c92c273fb6475bbb2546dfb75eaa23321bc8f9a5fa8a7c652f527649b96ff8718fa932f52b500b02a4acae7837df5bdb14f69cb821d4962be2790dbd1d023a54 SHA512 a119349bfc2243a249f1d18b1ae548a04b30fecb75913a56f26d1ff8c0eb53097a2674d9141e2094018191cbbc1620843fbddaf52999824e077c1157f0907980
-DIST chunked_transfer-1.4.0.crate 9238 BLAKE2B b29737023c78041fa1166d56bb5fb7be2e502b06c56b0fe127c1ec2eaaf3ebdbf9bfdc8645d7234dc17703706529406072b90fb06a15df482b1065044d3dd4c4 SHA512 b3891bc1b101677c2ae6bbac19e74f5ad0aee7b499b0a339b78fa0af7150b2ae0b2151d640bd2a7c4d052a12cf935d16e04db3d37d0048ec1d79a9ff01f13389
-DIST clap-2.33.3.crate 201925 BLAKE2B bec9c866481c5b3fddeb314f68af9bce38fc421e42816182de3209e8ea3447b72cf033e6251eea27fe974eff8085b7d98cdd2911b5cc0ec6b4bf4c750deb8a25 SHA512 3eb0fd648e2e3f9e5ff69a5e6cf0d867304fe18523accd036f28a86de368e4774088a6936c108ccc045092c539fe7f7494ea96420ebf6b4bec16880cea84bedf
-DIST constant_time_eq-0.1.5.crate 4936 BLAKE2B 882dbf33f20954205fcc5b6e39863db8969d184b697fd51ef462f6890c1a754e3fae67bcc7db685d8cc26abe6e3871d3b80aa542489ba9551a0c95a49f7a6dc2 SHA512 a4e0155a7ad72babcfd418d832d362b3fca7333aaaf36c246b00e948983837c3c93378b86e37c5fa7626fe137e3b6d77276ccc61624a7f4ab914605905a88a01
-DIST crossbeam-utils-0.8.3.crate 37268 BLAKE2B e9a77f143afab79fc1984902ea756a15e43bbd6c8251b5a2f9fd574522539814098b17da03ac5222177332042303f129e0c2729db6bc80e8f76bf4b097d973d4 SHA512 2e89ceea586873e957a31b510f8e8cb0c6675def32ea6b9a9483166b47f69c1ad448a79d897796883b696bf77cb0fcb1d0ac28ee779146f6500ca9a54aa7b4fb
-DIST ctor-0.1.20.crate 9328 BLAKE2B bc2f4ce53f6b7d6a2fb441317a3f91b8852c541261f95f0b7d12adb35ec1c943810242ce71e514445479c5d225b735cd50fa4dfb514e6b121be753555ab3c30c SHA512 877f4663f8079a368d198a3351e98551c6d8123dd5e53b812529b77b09f1c08296e6df817d7429e4c70a73a6203fd98bce5ec2ce7b09baabe4f348bd54a9c0dd
-DIST diff-0.1.12.crate 10223 BLAKE2B 369f305661f1da31207f3801ed1841dbce12451ac9c3e9d3736f7158ece433af9b2e42c29063e5d93bb86b1d300e503caa9c3ce7dd0b25553f91d72a9eea5298 SHA512 0e81331c0424e9369963e23894a6412b65a3ed4f3154ccc184fc84cf1c5985b81c586a6b34e8c6c0e5c3afba38fb15277cfd89e7f50c85bd5d8d4d24ba670d16
-DIST difference-2.0.0.crate 147616 BLAKE2B d720202ba8d73fb9b3cc6a982208e4fbe22eda4b3e296f4238a7b2d8ed0339827ca5a3d93a983396901614a9eabe36a0baf55ecc5f55075ebf7fa1e4c0699eb2 SHA512 cc9956757770ecf237d8f46abef25ce219193c877be6cf83163e87c494956cca3202951ac01bba0728e7202fcde2261009c1b4599f389cf979858f25936a5482
-DIST dirs-3.0.1.crate 12245 BLAKE2B e58f9383d0bb78f27219337c83879ce355aa60290df659b9dc656e3febcc2577b8fd5234792fa354f1c7f2b651e590fe490384f79b0a8a332eff44e3b459d9cc SHA512 fe5eed57f7f3af0ebc53098f7d7295702a5339d7644d271a81bf5a966ae5b3e688eeabbf2b122e6e7daa1080dd30e48d8cbad969f6820b6cdb1680c84f0b9623
-DIST dirs-sys-0.3.5.crate 10643 BLAKE2B 8df1e6ca2c8e8560913bfb74e7bea1b12e1b13b6d337f3c76f517716622586cae8ff9999044e3265504a44f161526a79baffff2d123d3ea6c5cfebefcf498010 SHA512 ff7eb48943b61773dd2aa8dc10372186d613c225a2b39caf48966a1a5af087dd0177b8db80b1353a504af8aa1c8b4a0a849edf6c7e4389f6b753bfa3b7376833
-DIST either-1.6.1.crate 13641 BLAKE2B e5f40c40a5edb6dcb07a10bf79183cbe42438f1f70f3932dce72f6f6e91f75f24d17d82bc447507def4dad4345ffc9dd9162dde778afb253bdb1218e91887949 SHA512 4bfe56920e30cbc8eb4f90162db618f7dca653b42db35ab6a7045d3fd9a24ceb1778b1f79613850bdb1a87ad3794fa0d73015e46c48d513f368d8c3776fc9ddf
-DIST form_urlencoded-1.0.1.crate 8773 BLAKE2B e2d2224dbd85d053343aea29ef1bd540fb8be12fd600289e9c048e3b74bfb009d0770f8296556309ef756086f22feec4713dfed1006e1101075c8897be5471cc SHA512 3ab371c223561a27ffbd35cf648ef4a9145d47bba9d71900a7c54cfc2f089175e9361f6352331a9a7fa018923b15e7a3553c8f9ff9fae80e1626e641a5faff68
-DIST getrandom-0.1.16.crate 25077 BLAKE2B 0cbe96c27e78100c181a064e5fe524efa9a7a267fe60f8336d2ae0125883acd5d575ff17d1d56607255d9b2c30cb9d962026fdea1a5c3c29a5e0760d27c3136a SHA512 c5450c522c07c7a38b326f9a9062bac7d089630219d577ea4b55abad4e0c31d17b7cde385fc43912dfa100b42334e7a52422c55fda8b738caae428c6f9addb53
-DIST getrandom-0.2.2.crate 26010 BLAKE2B f2df79db0fff4a4e57bb5c748932dd7a8d24f7072f9a81fa92159ea79de29a70e7b834af6ffc5178e898af456188f16476043e9be4dd25c6e7edde06d93cbb8a SHA512 f498fe00c9887748a0be88fbd698a6087ccb79874cfeb35a18f90994603be29cb2aacfbc65fb8ba967190ccbc41ff9ff56bfff1de40811e1bc99a08b0568f59b
-DIST glob-0.3.0.crate 18724 BLAKE2B 1f1dd380e7d668a0c2cff9134279ebda958b4bccdd4a65ff01f9665b45ec4cce8ffbd47eb46e52cf516c5fd5803561e6bcb60cdee21ddfbb8601a95d45500620 SHA512 87098ffdbc518442995c422120cef71f83069c8f88a1970ecec5105b0f284ddd92bcee929f5c230d5b90ae1ead7e1214c3eea26f4a8b26715a00c1ab8b09bc46
-DIST hashbrown-0.9.1.crate 77734 BLAKE2B d59002253112cf92173c3c1b305fd03fb7318ef187d7e033433baf6a354db046d1f3fe0387b3cf500fbcc0f83d2b2076527ba7cda2695f7627eca0bc3e3487c1 SHA512 dfa4742111f6fe757b7fa97f04c7b4a78ce9708c87e8e09ecf3c28f2566e48af9885fda380ed918cec37b5c696110fbdd30273aba6e7d2221c9e65f72af064fd
-DIST hermit-abi-0.1.18.crate 9936 BLAKE2B a5a1d1c9bdf83fdca8edc392f8fa7d9b9b248ac8d716e009300220befa5d8d80601643e768037be89bbbe6e21adbe6349c94c595cee3837c4b92b5f98ba838ad SHA512 54f060c6c1c80d41f40cec7102345147efb535aff9fa5cc0ed4ccd7f010bfdb6daaf40626fd5069af60ceb42058452803b59d4bbcfbed4c5546c79b57ae0f914
-DIST html-escape-0.2.6.crate 29876 BLAKE2B 0ae67445ca39b0ac418a6faf269d6aa3bbb5a39f5a3c02df35cf20eb88c46cb7e8edadcd779eda8e274edc523715d6982c6af412aa955adcfe87888a45bfbf3b SHA512 42df48cb3e517adb7f0a907e8ecaf41fbf2bc17572454c16f0e343fc048a84eb77eb8db8a0f6492eda68b4b929bdd50c192b530325c9df59348b687abed7ea87
-DIST idna-0.2.2.crate 271070 BLAKE2B 3a07d53ea832d53a2e99ed3345d748b6299f6b4e6d4c33de17fd5ed70b9a46727272c9facf1bbb79e2981a4ad1953cabeb53d71cefcdc2a1e9e9f57c4a9f0d22 SHA512 71be89a626b087ca3a33576857799c15634263e2bbe43290750eaa6b074088cb6b54b3f778930e3dcc796a883daf662c0935178d4f096c751027bbe727124212
-DIST indexmap-1.6.1.crate 49644 BLAKE2B 605929e1b6b3473171fb2af7500d769783d7e3872244800c107664fdd7decb7603bd3657ba208d3022a931fc499bb2c2e6b8aed85f880d3ed1deb827dab70703 SHA512 a859cf4f2db46fe753aae0562ba6ea32dd529789a29784324e82b03f64f42a4f302789230ac298860513b1cd8cb238b7a150f6f865d342d606fcb7a2787f9a03
-DIST itoa-0.4.7.crate 12099 BLAKE2B 0e4ffbaad504565056f74c3ef560a87eff321a0da6d7a2c8fa35813c207713c22d77080c3b830fefbb21370dd29cfbc6a2807044485b38ac1e0c9c1de3ccebc5 SHA512 c61eb50aa00591af28698b45c528c36bd92088f7cd2f453cf686a1824f4656292638bebc468cf67f903473a5045f22777af623cc0515ef3bf25146b89a7c454f
-DIST js-sys-0.3.48.crate 67010 BLAKE2B 8429e077997c953cd0fab9f40e3f02feb59b19e46e909bd25640c8e35c07f5c2bfcdff6387dd18ba797b94d691e94ff79942caba7471842a9d948d30600ca5aa SHA512 4ace82697ff6f4239c96c532a1f86a5ed74783fb19579eb266940c101c74ce434e7e1127a3d8d3a045bd37036998ccb5f4f01f201431f84f5c02d05104076f69
-DIST lazy_static-1.4.0.crate 10443 BLAKE2B 25b2e61bbac48f0dcbc79c81d7bf01f2403d8269ecb6be3ea6147bd00f7a588df15a91f44dfc18ada19b21faa71de4637c7d493a8628cbecd0e547d74e616a23 SHA512 e124c0521ec7c950f3c4a066821918da7a9c6e711115d98009ae7c351928fdddead852e7596fea5937a9c30e4e4ce8eee7099b20248b5d6e3b2494b6a6d88cb8
-DIST libc-0.2.86.crate 522986 BLAKE2B 2643f7e71952c3c806ba02d3d9160963433115ce53fbb22189c6368813380a0403c7fb51ede36b4781ad0a609e02c57f2622062bdd536725a5c65a6f7aac5fd0 SHA512 b5a0c94b3717a620cb47b27d2f3bbfe04fce475c3e2feaab8bc4b14c8aaee190d47a61f0dabf26ed9e525e96e6aa611f4dd29b16e13b678898f88352d86c1b74
-DIST libloading-0.7.0.crate 26216 BLAKE2B 83827746f57fb5f1819aa0ccce0ffd698a3ed4b85ef0e954741691003c843ca877de81b4a97ad7c53d28f79701a5caf2fee801a68c015d19c20230f2560b5fc3 SHA512 e2089a8ecacd65522b246cebcf531b6b1ce697d4eaf294e0540e1f34bfd714037177ba802406c31e6bcc722b4f391a84709427de1c6fb441cdeb8e41fd4f1e28
-DIST log-0.4.14.crate 34582 BLAKE2B ddfba35947ae1f5905cd9ecb9eb862a78af6f00ee8b8fe6258b369b140928fe677a02b1b3ca5bdec36ff2b16abd85a9f49688fd5f3d1ba2b2905e7f96b8a84c1 SHA512 796100167663d85a7bc4244cd305e9b3f0a1b1520764b63464698eb136318d0928c40c16f5d19d9f602a5bf769851275bbd48d66b088b0c37be7a6fb62def7cc
-DIST matches-0.1.8.crate 2216 BLAKE2B f18176110921b1cf6e58d52d12f1d1a3455ce2dc04421fbf1b392f66cdd81a88e924571fa27e307a06301d83b04f3b8a0ca3ae40d2da6f2decb8aac4e2801fbb SHA512 98b58f6a2694b03a7dd1be69ebf7e3ad14483fc8e4cb6e6c26a4937e4e660e843efb4dd04a7312dd9659ca02acd3775678f73b8faac44a76ffafaf873c22f590
-DIST memchr-2.3.4.crate 23077 BLAKE2B 5ddcc5fba109030040dd0c394344860ac0cb96679948b364c3333eddd29992c335c2a46a6f496c2fe085981ecb6e5386f7d44c1d489cabba180c037f1a872013 SHA512 24cde03e6f7cbee1c1d12dcc691190c7e3dc72f468cf41e2397560961d62685976fe47de51119c04c473cccf75b38311bd887fd9db93e92563aebac8f9184df6
-DIST num-integer-0.1.44.crate 22216 BLAKE2B e1c08427e006cde6f2084adadb6086e87e6d6f8bb8dfa757a8228aa671e862a366e4bd8ca5e0500008c18bab128aead9bd5b1e53568a4f40afadcaf3882ee98f SHA512 d07e27ede02a1d007373935fd91e57a26e0e84ae14bbe24be66763baae6850788bd64ad2598d2bde4f4fad6c8a4675c40bfe0927164b16b9b69de5e9a83d9771
-DIST num-traits-0.2.14.crate 45476 BLAKE2B ae310d9d5640acc3e45e1e5d1d2f519539795922c0058ee940c94c94b6654b39358b7c18dd23a276f2c1b16a30dd4de4cbc8575bcda6a5c11e70665d670e6439 SHA512 c3028eca9f7b718de0db3a36cf3e462bdba43562d52c9b809ed4cc0aa6af403aea542d6d4da743cd1dd541397815a3c5a84cef4d6e40122994e4be6a62319b2e
-DIST once_cell-1.7.0.crate 28040 BLAKE2B 6b7be102447a7a23f7a8f3134794d35166e2210159c45781f43fb41d96d285979e40375fb2eea4507d9b9c0ee5b580c57ff24b5faef51808ec66fd8d7eb6c077 SHA512 b7ebfc328e02084191d145260cee671740d434a3af10f9fd8f6ac71d3b522f6e31bd320e095b1801f613398b3d128ecca825df785cae60c674cae94d1488bb5a
-DIST output_vt100-0.1.2.crate 4062 BLAKE2B eed08c0a1800560d4f623f451d818e3c7f0dcd72fa99f4e5e6dd4934e50a9649011ec955e06728fd017d58bb9f36cecbeb9b4aa8c13c040225c24019f774e63a SHA512 b8eb00a541bebef2e0bb44975c4547fadfd4ab88a14aa8e31945f3c73531a550cf5729f1f3d18fae5cf36286b82d1a54fb08b28720f1592ab6cfe0814c8d3036
-DIST percent-encoding-2.1.0.crate 9748 BLAKE2B f3ff35ac683724b15e40c85e0fb8ececb07b61beeea82b7020f02d27df05a8a3535f157b3cd688533e414d6541de7de8640ef4756706d8061af0fec94ba04ab3 SHA512 98af4dfa7c6a3cf0d5aa929c436f9eb1ba1b576a944513f1284e6df2ad06be7cab9eba145d888d50af88f8c970bacc702b323041bec6d4fa1dc34095186c628a
-DIST ppv-lite86-0.2.10.crate 20915 BLAKE2B 83a075381c24b2b89f5266929f5672ce051c3781c1a199252738dadbf471618c8b87452ce84e1cd87a9eac11b44107002894f544091210cc7e77bf52c045288e SHA512 c9941052e504b9b310024064026e4b1d540dd877705ef450a833d9ff6dee70ba874cdad68c46381a71d5b54482cd80b3dbb8e0c225758fd339069031a55195f1
-DIST pretty_assertions-0.7.2.crate 79200 BLAKE2B b7736ce11bbc5d2a778c2525e80993858c5d2a7182123c3f5aa2cde6ffe5621ab8033a91d578f4fba9badc3f503a0f14873d234b41974161f8148f2b27510e12 SHA512 edf898bbb15f4f56d2d7688d90d44d0ee7913b7d78b4774548eb7a88e8f75b0de9635c93b107744a2501839202ecf828004d179c6edf84706ae160186d47d177
-DIST proc-macro2-1.0.24.crate 37716 BLAKE2B e2bdbc7cc9ea254529e322f6a2eb44002b4994fc4a00df32012f66740e8e73ae70820dd40b7fcfcf024f3c7784ab9add5cc1db37f4c72d5af5c8f00164ebc145 SHA512 c3d23a5136c55d734084ce1d76d54f237fc1003074af102c2ad96d851ac496ffc7513ddc505a68af4051c9d6de09725a0ecb6e76ebcdd77a1c056f8f9242c9be
-DIST quote-1.0.9.crate 25042 BLAKE2B 26ef31e89fd2f0cc21ff65f8072f30c7977ac634d2536cf9845a0894d6659f62a96cd0a6ee48f7706036c2c1b898ef8c9167bd62714ad0c9cba4fb02f30922af SHA512 dd6cdaea183b85400531ef01e56657edbec0d8f7c27898c1e591b72dff755fa5875b33ca320bd65be0e9aecfc6a61ec119a4bd1291e9f2057fca642ab5b198c8
-DIST rand-0.8.3.crate 84493 BLAKE2B 5db817304b94424cdc77b60c9a3aa451abfbe315d97e311776ff9cf968585ca98f24994df3fa708e3896d36ba66d5f8dc795a652d2c568edc6be355baa7b4d69 SHA512 fd61348a8c3187881473c8764238d2388da3419e82174f2877cda51a7cd136106b2c7f0dea6b914f120b929c1db323529fa161465156661ffd19eef9b2737e4d
-DIST rand_chacha-0.3.0.crate 13920 BLAKE2B 9e329831b46c4d6cf2bc6755024588df907f87145adf35e156bc1c2b7068b583b652f90ba35094a1bba26e0449d32d2877fa52cea012ab50429ee526264caf7c SHA512 631f32a5b0bb42ca87ee8381795402f8c5a80202700b786655537f981c0e210e41eaa42ad4247a25bce1260c29caa8ba3b03f92e520ac331403fd8e76fbbfe93
-DIST rand_core-0.6.2.crate 21708 BLAKE2B 745aab7160c4d9b52e7d0ab0fab257bcead4dfca1242d820d760bade713822b7b8e283852a2e337a6d33b40ddbd95f86c36bfc4c418ef0ded86f59ae4a4df56a SHA512 f1f21dd6306d6f4b5666d1ef4994d0d68f10a7a94fe628a5aa8ba28ae0376cb34b7c091f82e2db8f2555eec4f35088f6c4df42ed84de7467d5780e284b397115
-DIST rand_hc-0.3.0.crate 11780 BLAKE2B 7600829591c3631aed73598d4837b0e3be55aa0594e0562ab7914013b19c4f88648e0103765ddf32643e771e0961ff2f726b9c8b323798d36ef9b994c1d03ffc SHA512 c78372332aa0bed3352d58e07be3e97f01e69410051be2d3cba569b05037df7379e896a84638b4e9f4e477b9851e4bdef0accba2c53d118bf4667a3e1bbe95bf
-DIST redox_syscall-0.1.57.crate 17087 BLAKE2B 88e3ffcfd752e757f8fadfd4edca367f9185f09e609c329bb36f179183cf103dc182aae701c14afb717d2b4c3d72ba307b49fc671cc97aa7c9d03df1a7a1835f SHA512 c6e187087060084b7173ed0d9d0e982e4259d4f76522112268c02ff20751382e3bc8e119da6153170f5c54bd5b9cb028910f2f85c1c842099205dccd44659184
-DIST redox_syscall-0.2.5.crate 23449 BLAKE2B 2d676dfe40f62285463a25f90ecf24ddb8548f91db1dffd779aaf9c1210bf1eb9c7c535b0d04ac7a483e0724d24ac1d1ed6c78884ad2631a53a870488b7578bc SHA512 f1625eaba110129942893e4cae548d22b6892d275124d29540c947d958e5bb7231309fe052cf15bddb23e0e8f0cdaadd002db5bdc3be578e843c46c175526adc
-DIST redox_users-0.3.5.crate 12644 BLAKE2B 093141c98164163dc66378f2ccb48a5f478c5b40b69ad4ecb89fe8967e4a309974088ea5f7a2b184b625fc03348f2e75b0809d3683696e9b74d5c4a5ac6a4e8d SHA512 d90f1816205a4f2eca59397f6866e5cd965af652940f56930f8bfbe2b50eda75cf78b09200bb69416a35cbeead3cbd4de354805568be2feef1ae4d691b9a6a3c
-DIST regex-1.4.3.crate 237273 BLAKE2B e13e1b5106123a728b6b02a81c3223d17620fc0c1e9e72f3472a0c7844aedf0f178be3d3f70bb15c054554c925e270bdf112e41f855f1bdf9183f42913ae21b2 SHA512 bc0dbde01a79e7863997194b894c0e76e01ed209d56225bd611dcbccbbe997abd48bdc4640cbf349c5f16d96ec613f5b31740e81fc7da82082a4ed48fa06deac
-DIST regex-syntax-0.6.22.crate 293187 BLAKE2B 6dfa3502133e4f654ea3533c6e9eda7674b0628f8b0bc44f8b3cccd740a5cfa8016acb5f4f3be4a54d18a46bb1f950ab75a39ace69b5606667a371f714206b8b SHA512 f83a72e46da02800ee545d6ea3c5eaab48706a9c63a03bb73363f597173ed205b3e7c86bd80d909478787e68f49fe07aa52c29a83c381e3c4863e5d856bbfb6e
-DIST remove_dir_all-0.5.3.crate 9184 BLAKE2B ab7ef94e0230ddc9b363f038254a180881bbc20eb04a254f97e6f71ed491c99ba1c88f5e85632d450243882a4a0df63f3b8b183bc1fbca9caf30ec23d577b1d7 SHA512 50417d6d8a33912193a1ed37eb72b47431b12ae65d2780cdb7080c3d141e63819da13751c3fb737685cea322f70b36d413389c3dc01aa12b4dce615aefed0e2c
-DIST rust-argon2-0.8.3.crate 28313 BLAKE2B 2d3468c7b5dc027fbbf6ceb264d77f4ae9b03526e0634c645ffd32a4c87532f5a84c224c6c39a15c9e267d268b187ec65210a2edf7df8294913e4958fbc83352 SHA512 f336dd3f90e1a49be107b641f9e9d513b6f8098dbdd1ab8aa2bd1fae329ce6840ad11a902b599922bef45d96ffb556d52b57d61218271bdccb7c85f9fe1da033
-DIST rustc-hash-1.1.0.crate 9331 BLAKE2B 16ac56622897f47a06b661fb59a196b08d48e782ab87549c8bd5c6fe92f374c9bfd44dcb36588512bd9b6125c2fd79a12d648aaa308fd9694bcca3a7c1b49ac9 SHA512 84e673ea9b046f7b989d47f2c4505557fbd5de991e6fc9f56a03605d40e0b4ba5427cd566954890153cc033ccbec6c984306634571935bfe0d4cdfbe56f39544
-DIST ryu-1.0.5.crate 49570 BLAKE2B 3bfba4a5f290a429de7ac3b86823b2a973f40eb6f48c15329173d95964d31ada36f2618be4b36774a03f97f2ce61364900c6a3ad5465a294e2df311a1f4104ed SHA512 d1708ffa3112a684edf2956b6730ead040401d38f1457cde074eaaa59c249007dc8b925629e7f6df89f7ea757e9d0826649d685cc8ede0a04d50296048bf476c
-DIST same-file-1.0.6.crate 10183 BLAKE2B a320c8343e0b38078ba81c4f0159d886bf47764c74efe0d7cd2b3218426e8341b51e523c00a9e5fbc2ee1057618296bd70b576c68751bd55d6ddb352defaca15 SHA512 3ba35309742c8db63210d9ea78bff4ecd80471d69e6238eb96c7bf0673814f221e2d838fe6311bfc5a0e71b4a7ccba33e07859c0b9cff2171969ff08a4214a7c
-DIST serde-1.0.130.crate 75305 BLAKE2B 3973b70d8e06ab7c2f35e19f23739e8e4dd75dcdcddd818771be5daca8c61f6e2a7a830b4ccb8b3e3898769d7afdeb39ff217bcbf40bbd00867c13bc4668f905 SHA512 e6d6444abadcdac95ff15cdab53736adc9ddd1b6441d67158b6b41e68bee4b7763f9c2d80a857f879f40620429e8f04a90b01380c8c88da45a273c3ad13cfff3
-DIST serde_derive-1.0.130.crate 54703 BLAKE2B 35db74464913a93da88b80cf29e4983bcc4377e397618064b1cb397ecbc9e6620c863e4d365153d03ab77ec6dbe9b1d03f8f86aba1adb76fc6d697f39ea7316f SHA512 d3ca974bf8856ed8a73af4eaff69941b35eef187d7e348d6d2ef9ee79eccad893e66270c7d814ac3871e09e21e603d34d7d1f24b182d9b39e9219acd42a7baa8
-DIST serde_json-1.0.63.crate 115110 BLAKE2B d62655c480702de6ebc772df9ed54e07cd1a0d19fa5d40c95547176ce073370f70f517ee43f63da55055ce15f143be25b4dbb75b67bbf05abe1b0edd1bed7499 SHA512 7de96ee7ac3d7668394cd338efab73550545b8652e0ab412e558470deb8f7cdb85c9de7559cb43f3c79063f80e98c91a8a831d39faa4b0e6393aa0c9cc90d29f
-DIST smallbitvec-2.5.1.crate 14761 BLAKE2B 8a18f8a0a13fdd90ec7d651e7243e4cb382b860480ac079cc1db0235ce12f01f4b415453538f829960e6581116ce8b940ff72531abd334d71552d68a61edc519 SHA512 348e30ef6982b6d50a398db9f19ccb9a14e5ce239dd33771366575c332396df91a2f6384e9afa13538daad5c726170518b19b367c97d9bd9f46b120b88e4ae47
-DIST spin-0.7.1.crate 21944 BLAKE2B cf272cd5a36718f67d2cb5ee7ba74ac84a54a09263a69c7a26b9297dc346b3f5686c42941378e3c0e191f3cae221210ddd59978333862a305464221a3d016adb SHA512 be7d79ef6182138407697d4de0c8696bfa35b0ccc8b1e6232eb2e3904282f5818008bb2a23b5544979f1b300643877cedd79179c3d91c5954423c2fdcfd0af07
-DIST strsim-0.8.0.crate 9309 BLAKE2B 40a8be506c43ee1ffe006ddc7dee98c3d418bdd205d57b78f5d1e4c9312feb57e1eaf952e02d92d4e0932db240c6fba45beb06ea8c4fc6de1cf1faa8b6a3a939 SHA512 1d55a8d946cd55f5f37d06aea536549ded95739fa58c0f2da285a0041154c181f663682bdcac643aa198b3e762d694a04f058db985c62ebe22b5c16327ba6d34
-DIST syn-1.0.67.crate 231889 BLAKE2B 28807964411994b126e132c42b1361d55788a641da24773d1f1006373d3c21048f78553682441766b7257e5b4a4a1833954075fd2c4965f949d8465ee57a3ca7 SHA512 06a5f203c7e4c6f6bed489bea7e171cc8f29020401eb32405373a838526c6a5bed47e1310f41636d475358c420b82837bc7c1f90374fa6d0e842dd0224de3552
-DIST tempfile-3.2.0.crate 25892 BLAKE2B ea6870c642c5712c7c96072a5d3dc04d75c19cf1413081e3bf53c1ae6c75e05ab537446071cadb5460b34f7fb7715a03005a1335a64139458db938c3415f7c0d SHA512 56d1c5af7cb6863f9eac990354126979534aae7bf298bc8b1c918c7317ce2ba31f53089aaa1ecf8baa4a39d4111d74f4450be82b509b3c2aa0428880029e663a
-DIST textwrap-0.11.0.crate 17322 BLAKE2B 257428908342774593bbd3528fcdae710712ff54e8a711393a24356d8ba0e16e466a4b20c05f942c48ca76b3b5b5aaa90ec202f782cad892caa8b71ccf124da6 SHA512 f5c0fe4f28ff1a3a0931e8e235b5157a45f67967985bcc752418c5ec3481fca44a8ae4800088889b37e8cd0533f53d3c456d5ffd19b767b3f83a87b49a2e209a
-DIST thiserror-1.0.25.crate 16690 BLAKE2B a03107d70186d46870050ef86cb1f49aa99d91e509bd9ab22ee6cbac28d37176b2bafbadedc237a25d233abf7816cb3d85d88c140f172ede40d309ddaa1223dc SHA512 f408c2722060c6f707b9afcc1d9f3cb175bcf955263c4e643ef7ee935fd68299af835f4ad489ace814a7bcad6dc428eec5df2858453834d0b6154d22a38ba1da
-DIST thiserror-impl-1.0.25.crate 13364 BLAKE2B 9b0eb7a6fd5f290d7a666de6065edc210ab9ef35960c424258d5039f24433baef7d1228ac2e962e8ef9dcb673979c9d3c09ef3f3d20533fe2ad1500bfcb20015 SHA512 a2d2f39d3c1e5a722d7020672f63fc312dd9f8ed73863971814f1fd12faac4ea5d8546e06b26838d8224b1f91161011f51dda476848b2555153203ee9f7ee3ca
-DIST thread_local-1.1.3.crate 13111 BLAKE2B 1ac2d9f6b9d5f685857cec0377f41faa2941614c9a0642b8c8d209590ce72c0dcf16f89b5da58d016b26a41e6103407811658a81217716cde0b0c69bc3939877 SHA512 89fe00c005b2bcbb77f2286475dc04f1400b3cd3bc165162f70c1a91f7fe98132f5d0a65e5f1bb36fd8c33617e6d548f3a68df7a2302ea3a177717c71fc112b6
-DIST time-0.1.43.crate 28653 BLAKE2B 95fe69647e8d52784be1fd3457578896aa38279d00f51f1070eadab111d39450583c63854c73d4384f2e4349b0250f1c9bff9901529b776c596846c057c93335 SHA512 c3e0c68cab1ed2f33f41955f83e632c51924e4d3c1d22dd0c4ae98499e03f3cafde8b0c2d9e69b67a78d6e4055e464ee00d1ed6af5eb9fa75052405b43e24a25
-DIST tiny_http-0.8.0.crate 41711 BLAKE2B 2b0a1e4cff50e201ac1583b9538c407312808275517c81b0227731840cf9c9cbfe3a387a420976191480e38a7826377dbba54d55222cb6adf07f1e86b55bcb91 SHA512 f130905d537579afb401644b32da8a1d0bac0902a16c48039fb45935371ad75ed3a687ab0362d926922bf80a07a2df13193e285c2dd34a1aca4fecb37952058e
-DIST tinyvec-1.1.1.crate 39896 BLAKE2B 7655703bb7c3eda6a4bfb78c46cd10d5bd195ccc9aae9b8eab78c1584c904a6ac1a75511952b7f63eb953590b0b3a3c436296c13b6dabba11d279931ca769442 SHA512 de8de26bdb39d4b2255099b85c116a95b7f563f27549816d360a7cf68f04d3940745236aea4c73eeb86ed5427ae5f65d8936f0d60dae9b16076827134d77281e
-DIST tinyvec_macros-0.1.0.crate 1817 BLAKE2B a3d1966bf57c11afcd026269135a6189f149f905bb70b47537c0a7bcaef0bfc6c89bdcbdb0f6cb8e5255632855134631c683fc90606a254ec8ba818fd5ef0794 SHA512 d6afc83a3c70cde916a6ff599e2772588e4bbfa7a5b1c7e5c8aa0f4a8a5c9426182497a644e4a88194ece986d38fa64b6c8eda9eb1630441c8e65a8741a45873
-DIST toml-0.5.8.crate 54219 BLAKE2B b4f9f563e5ba4574d4f2dcbe244378a2e1e984bd9fbbbfa5a06bdd5f8b8d677394f0db9cb8696f6936c80a52caa86b1b3ebaf3885c53855af23f03d318785f19 SHA512 26b7901ee4b7cbb4cf8ea57d365a99ed05e0a76e73452e47d4bcb3b4eeb7bbd393c13eea9ea33dc13622942efcda39acdba9425b74b40c920c9f19673a1f2082
-DIST tree-sitter-0.20.0.tar.gz 2876764 BLAKE2B 058f62c2067ce5fcf9440f281c63908f93fda09a6b3604d7196b9c56a15ba88ded7d75f9c21b4c5c4209f587fb5f326ae655cb5f5d84b46bfd783b2147048568 SHA512 a51fa0af45a6a99bb74ff53c15a4d7939eb24c6720e65ec7a96f74ffbce54801f14539e071ec6a4891dae778d7dea5edcecc6dd57716cc70a891c9e6cfa55013
-DIST tree-sitter-0.20.1.tar.gz 2903038 BLAKE2B 092b3110ca2dd2dc2f6298dad98c2400064ba7b7bce90cdf7c50bdfabf0bf52629f5315728b578ae46efc1a4c2f71ff024ffae202205a3b563188e3537565359 SHA512 172e9b2fba5d4610f663934dff1cf4580d09631a3d8d5d7249b6a80288aa9fdda9f5eac50a501935a87414563b46f843c3d98a1f7e45302a5c61dd3c08159606
-DIST tree-sitter-0.20.2.tar.gz 2904490 BLAKE2B cae19e3a66778ea72bf5cb0e5153bb6b7dfec0b059c01825377742886fadd52d789f456e82287d71841afad8bd5347361d5ef718b12e20e94c629480c43f4f33 SHA512 4b9a7da47b48b0003daf9af60f9d48aacf7c74d1c9e2645eafd74f62f568bc69e2fb36bb8f0c6b9f1dc85829e146786cc6bf7050ed1402167790b1552990665f
-DIST unicode-bidi-0.3.4.crate 32228 BLAKE2B 853a85b29d1ac2025b7a28af64ead9387e3b4b1e790ad719d4374e349c1853ddbb5959a2890d9d6c94a5c28e4523fc3324deb6b1ed1aeb5e917f21b0e2516f6c SHA512 170ce083fa82bed13ecc62d85cb882fdd6491ae721e1633d3c1a5d3cee69422153afcf6695765c0e8fc7035440d0370d34afac9e978cb27f7506c07cba300e1e
-DIST unicode-normalization-0.1.17.crate 100345 BLAKE2B 2579748ab87f6d74ab8e845d88c1990e4ef32e46e38f9a1841e3381d257d973f2f8a9da359c8e3f11790a888acf81f548ed3b749a67bb3e95acf3b744dd063f3 SHA512 727b4844a4eb103375dff7d88d620e1fb581cbdf2523f07a5c1673ff333d772d48ffae7658bfe4816a5bb42de5f68a96e15be9341c540a0f746c2990eeccb3d6
-DIST unicode-width-0.1.8.crate 16732 BLAKE2B 5aa7b87eef1322e4151a3fcf981ade311b8fa030527d7561815950e58d3f15156163dfe34da6a708c37dccc3f7652bf7fc2cd899fe8bb0118b67c4113ff3a2d2 SHA512 0abba6da6981a2451e01d93bbd47652c46eb6fb07cc0214f33259fb29945bfd5ee2b302e883ddca8f68e921635f222701b7310e7da2a5e225f854980d1e474b0
-DIST unicode-xid-0.2.1.crate 14392 BLAKE2B 7f8f91b9c4df55f2137b754208d4f2997a290acfc9393ee2dcda8195eda25cb342e56ad123f56bb298d93db5248a749c18a982423c9a0e85ce93f7a1eb55d289 SHA512 91e862137e837baea82829431cfed36634fdb05339f00c756eb5a4b429ef0bb871f5133d11adf9a023fa22168c8a0cf194ff3669779f04f219d48fc4fac339d2
-DIST url-2.2.1.crate 65434 BLAKE2B e9180c56afaf9dd781812b3650b28cee14a2330629e708bb8a67144f6c12e3781d07fae68166990bebaae60190a1a88dfa1d087d4982ed04d8cdfa59ae4a0d7e SHA512 f2065e68dd917cc174c222a44127ac10a59d25a87ccce6b88ac1e1e775856fd7d5931d728296db355117f94e71e12404fdd68a283545b543a2e00a659a6997ed
-DIST utf8-width-0.1.4.crate 2995 BLAKE2B a314ab41d6544aa024a1a8dd4c52f5fddbf53a3847256329ddd779d1a6af7391fb156a33d39551416dffcf8a17bad5709cd5a97e0177ce21ba511291a87901eb SHA512 4777d0f4c971c33eedd808c110e48fdedc92336c17292e6df0704637c8d63905e1b0b6825fe958eef8e4e98327aac7126897b8681b80fb22c916b3a352ae0660
-DIST vec_map-0.8.2.crate 14466 BLAKE2B 8f109fbff19604b82ea2aa61c952e2ce9b5597ccc8e1ef4e847648e2de08dece8c4debe92889edeccb8d393645fd0b62436b49d236ded7ad181c4a51239a9539 SHA512 4f1ef59bc2c437e79f1f84fe021bce5aa8ccd581f500f3d5776913d5f17d45b03ccee64f5bd03d47656318cfc9344a1f4311079d471fa409a8e4e94c143973f9
-DIST walkdir-2.3.1.crate 23413 BLAKE2B fc9601f4a28cec383297dbd87d422e56db1e989e4273900750f05d1f4a92e114a5b1a5a54368e290c5f4b47159ed51f52d85ce66f003cd2f52ffc737ead20f8b SHA512 ba807ff0d098aabdcd37e23204632beea1dbb7a6adfd16cb1009cae9e7b6957cfeab705cc454bf8f2b62a08743214ab995e43bf46fc510012c938f9e2a434951
-DIST wasi-0.10.2+wasi-snapshot-preview1.crate 27505 BLAKE2B 4eb8644b945633d6e856ad80dd74990be19eb6af99823b147163384f61d471e2d9ec054d78a7064072344be53783e57073e8fffc6d5555c149b4834a9bf31dba SHA512 06977a294d76369a3867c45abdd8a87ea5c84e5a3681075ba0d14af1aee3114ff24495c7e7f7fe1e6e42230e65fba0e062898e69bc89e0209af62c2d14094ec7
-DIST wasi-0.9.0+wasi-snapshot-preview1.crate 31521 BLAKE2B 716bdd2ec46d0bc9911c5e5e29fc783840559931b2563d8619675fc11da9527ddbe653a0f1ce0b782ee0c5f7a3131aba2b0867d415f003aa9c2389357569e7dc SHA512 dbe641f796ee3a5daafcaafc911ecc6dff170340f477c2df7a61fb4858a85aefc2637c9e61973ecce66a987aa8e08a736273a4aad3ef47eaf61ed4268dbf9c47
-DIST wasm-bindgen-0.2.71.crate 159260 BLAKE2B 9b58bce9adf9f9d0aad7f36558125acdf474c5dab2d049f7535d91f94fe7fe2e1c3d7dba7fed9880a621c923bbb351598afabd8db5705d1d87a389987aa9e9bd SHA512 a1e20ad8f239ae6180bdefb0d48914c4b3bd3c8830e110a9037c001dee2d6345d0a8525ec68f9107029a989e659278011f8ab4a13c32bdf36b82a6429c75c639
-DIST wasm-bindgen-backend-0.2.71.crate 25432 BLAKE2B 939d5791d320b0a46781fb2e660b271cce17b1876ed1ac2efb0533cdfa7fb24b5a2b9a28451ba03d87cea0195f2aa7a864dfeb52e9d5e3518453cdcc5c06eeb0 SHA512 40e1c7e63c51ef149065f3c35ce0e735f4a221e3de3e5f0004f9e597ed29812bba690cb069314d97c3843474aa611ebc05664be4f97dfbf5d240515e3a3463cc
-DIST wasm-bindgen-macro-0.2.71.crate 11548 BLAKE2B 61f29f066c91ea85274c3155f07c4c2087297515c93037d9ea791c0d2bd9b0b2287721b7937b2edb1c61bb270caa57ce8a282c29c9cef64c2d753ca171aefba8 SHA512 7f5086af3e43f37d46e2a1f18a44f2af69e8483f6cbcce85dd9b84a3ee6ec4323e2904974b55987dd026073466a21241d13207664ec4771a1fcc9db3e55ad7d0
-DIST wasm-bindgen-macro-support-0.2.71.crate 17855 BLAKE2B 5f24ff07d1bdc58e2becba42506a347432b369932df9cac68ddb3536fc5331a38f6b0b501866d6a44077f4094a5b3cc11af607e7c9eb1f92ba30460b5329b514 SHA512 eae16c62999d0cd66fd64b1dcbb90a5b572bcec6ac3f2c2f06ce8a499dd282cd13e3535bffd0fdddac65bf33bc4338422c805e7f2989c5336a3dccd6a2e69609
-DIST wasm-bindgen-shared-0.2.71.crate 6693 BLAKE2B 4b494abcd8c548d635ed953eef9dc8d2972355c63ccca991fc3f740f3dfbd4d26a4c1ebb9e45fc740489055299fa48b72965600906a804186cf0bf6c562e062e SHA512 458b140966f52be47a0f4c68cfa1b46cb39a4fd6742bbe34c892255b42e7605f2ec3cc9cb9d31e3c1000eb5048a8dbb608e42261e30e90308a9db33b14385d40
-DIST web-sys-0.3.48.crate 648255 BLAKE2B 15d4530f6d2fb61431e4949d2dcc4ab2386df2d86a22004f6c78f33646314a634c92f582fd56e8bb038ee3f6af6fbe7fc4491c9ae0329bffcf249e9d230bfd52 SHA512 3b0a6227cbfcd2829bd2d44f1bc5d600fb05ed28222babd23b41308e3e79350b8724efc8716a060ecb70b4100613a41aaca0b6080a2f23b223c453ec60a7174a
-DIST webbrowser-0.5.5.crate 11194 BLAKE2B de9e7afab8606cecf9c39d84c743ef7e78a81d85e189c145a4e3235350392a55c2713fd8798e10a2ca133011f893df0475df3451096648ef5d13c958f33b6c3f SHA512 1a8332b3c5cb9114530beb83b15219d6dcf2aef628fa6f4a6b45f1b8eb3c38ad07ef933f3de21159c3df523fb904630f32ffcc14d75b209fd5e48d8e20e4ee94
-DIST which-4.1.0.crate 7684 BLAKE2B 4d8eb0a263c14b506f446fa808d9326c6e4e781cc2d79a1f6efcf7b9bb9a294d3266a2f3de4526ac0ec08ca65a18622ac064e9ae1e86dd1b325b122f684371f8 SHA512 4fffd3dd4ac73f5c232ee8a53bbc948a7295a2a51ec3f792d5d0aa84ceb6c2322fc11b35d29f5d3181c763b34c434c5ea2807ae6cc3393cd30d68b0fd44c7a22
-DIST widestring-0.4.3.crate 26215 BLAKE2B 7e5cdbb58a23004bb76cc12d451fd891ef08c05f730b059eb62a0f5e9482dde58c4059f9c0892fb1ebebbc8ee85dd20ece3ebf12c48790dca5eaeeb20b81dc34 SHA512 48561bd8a3b589f2a0328d1286177fbc6c5bc534756898912cbaab81d742b64ef898eed75073484d5e30762ceda9d2e88710074e7e9ce1a7dd43b5d871de3860
-DIST winapi-0.3.9.crate 1200382 BLAKE2B cb5799749ccd935ea2d7068d953cecf19f543d9db7dc16ad4584bb7005373ada34937a3ced7225544d8bc765da599911c7a3190efefb3a25b7c1bb7123b4f673 SHA512 ff8b7b78065f3d8999ec03c725a0460ebc059771bf071c7a3df3f0ecd733edf3b0a2450024d4e24e1aedddaecd9038ce1376c0d8bbf45132068cf45cf4a53a97
-DIST winapi-i686-pc-windows-gnu-0.4.0.crate 2918815 BLAKE2B 4d357e4d30f9552972170d65b9a5358b69c46a3e772fe05efc22f3d4ffc1caeeaad7aacdc7abd503a7ad0545f8bd7d22bf351dcb6df76f812fa4d45c34d65df0 SHA512 a672ccefd0730a8166fef1d4e39f9034d9ae426a3f5e28d1f4169fa5c5790767693f281d890e7804773b34acdb0ae1febac33cde8c50c0044a5a6152c7209ec2
-DIST winapi-util-0.1.5.crate 10164 BLAKE2B fc800aceae5249a858c806c3e969ef2545766099872d856ebee51c883d9acf1122278db9607d50ca53eac351502b700fd2463900932d342240f97f683d517963 SHA512 7baeb661f397c4693dfa001fdc774b323c51a7c55caad40f2de5112a1cefd1d6151e3df41fa4ee193460a5905917c83d2b1de5fa10b4bd014ad96690af95c0fd
-DIST winapi-x86_64-pc-windows-gnu-0.4.0.crate 2947998 BLAKE2B 2ad1ea8b5fa07d544e910ccba043ae925269b76b26c9da356305b34b86741dd8b9aff0b9ffe3d562db4fcd7d7c46a11ce9e3168b782b1d89ae6881742b7ede82 SHA512 4a654af6a5d649dc87e00497245096b35a2894ae66f155cb62389902c3b93ddcc5cf7d0d8b9dd97b291d2d80bc686af2298e80abef6ac69883f4a54e79712513
+DIST tree-sitter-0.20.9.tar.gz 3041304 BLAKE2B a6cf6606f75918eeab7dab0d2758cdba0922b5677cd4c8755982c077ee0a734090c8a87f7dd1fd56525b5864f94f5f19c3fd04e43773877e13968855f976d0c0 SHA512 6882c0edf87232d42aa40936c6a2da46e6dbb89d28b3def67e9c5231af19a517fbe22cf0ce9aa25a8ad4252cef6cf4aa94a00f8d0503a8bdd99ce0edd99a392a
+DIST tree-sitter-0.22.1.tar.gz 3038644 BLAKE2B f4a2cae41e6ec327c8a77380fcf531b00a4fcd75997872c73371886379f35e31431da1e175e41b3c6bee9fdad46015d29bec93a103ea1ff36a1d365dc9a04d40 SHA512 fa2656ad3a6d52301b497512aecc87b8c50ab6646aaac4730a26249ed0878e4542e2d256e42e0179ebc06147f772a2cf38f9362bb94ea1a8f0ec8c21e06e75e7
+DIST tree-sitter-0.22.2.tar.gz 3040339 BLAKE2B c18a79b4fdf553c50b4dd4c67c92d02fd341c5266c4658eb226d9ea455f23d2d22fe4ed4ca48811da2c8a59c403d8eff53dd9257468df7a9cfa640652c485c95 SHA512 a42d744f6e1db7c7c842804f3435b87ccb5d0df2363a18eee38353f12f18c8cf0c6211bf0225fd5f2c0431ca8531aa4ddd73d87d42b80fa35c3c701cae2d7856
+DIST tree-sitter-0.22.4.tar.gz 3034955 BLAKE2B 797feb6e2171b0e00b10c67c8b6dcda6cc2ec420ef797991a642524982629496e4b7bcae92a2658ba3adffea75332bcda09ecbced01e73e13ba6f4c39d15e9ea SHA512 7f160e88cdffb47f4ee3f884385ec759fcf88883307221ddadd8bf561d1dfb3659b0c7f4b216286066cf912183cc8234788492d62d1f1ad14fcb39bd3287cf36
diff --git a/dev-libs/tree-sitter/files/tree-sitter-0.20.9-no-static.patch b/dev-libs/tree-sitter/files/tree-sitter-0.20.9-no-static.patch
new file mode 100644
index 000000000000..ab0b7ef76fb6
--- /dev/null
+++ b/dev-libs/tree-sitter/files/tree-sitter-0.20.9-no-static.patch
@@ -0,0 +1,21 @@
+diff --git a/Makefile b/Makefile
+index 6030852e..ea1c4617 100644
+--- a/Makefile
++++ b/Makefile
+@@ -41,7 +41,7 @@ ifneq (,$(filter $(shell uname),FreeBSD NetBSD DragonFly))
+ PCLIBDIR := $(PREFIX)/libdata/pkgconfig
+ endif
+
+-all: libtree-sitter.a libtree-sitter.$(SOEXTVER)
++all: libtree-sitter.$(SOEXTVER)
+
+ libtree-sitter.a: $(OBJ)
+ $(AR) rcs $@ $^
+@@ -61,7 +61,6 @@ install: all
+ tree-sitter.pc.in > tree-sitter.pc
+
+ install -d '$(DESTDIR)$(LIBDIR)'
+- install -m644 libtree-sitter.a '$(DESTDIR)$(LIBDIR)'/
+ install -m755 libtree-sitter.$(SOEXTVER) '$(DESTDIR)$(LIBDIR)'/
+ ln -sf libtree-sitter.$(SOEXTVER) '$(DESTDIR)$(LIBDIR)'/libtree-sitter.$(SOEXTVER_MAJOR)
+ ln -sf libtree-sitter.$(SOEXTVER) '$(DESTDIR)$(LIBDIR)'/libtree-sitter.$(SOEXT)
diff --git a/dev-libs/tree-sitter/files/tree-sitter-0.22.1-no-static.patch b/dev-libs/tree-sitter/files/tree-sitter-0.22.1-no-static.patch
new file mode 100644
index 000000000000..c2bcb3cd6fd1
--- /dev/null
+++ b/dev-libs/tree-sitter/files/tree-sitter-0.22.1-no-static.patch
@@ -0,0 +1,19 @@
+--- a/Makefile
++++ b/Makefile
+@@ -45,7 +45,7 @@ ifneq ($(filter $(shell uname),FreeBSD NetBSD DragonFly),)
+ PCLIBDIR := $(PREFIX)/libdata/pkgconfig
+ endif
+
+-all: libtree-sitter.a libtree-sitter.$(SOEXT) tree-sitter.pc
++all: libtree-sitter.$(SOEXT) tree-sitter.pc
+
+ libtree-sitter.a: $(OBJ)
+ $(AR) $(ARFLAGS) $@ $^
+@@ -69,7 +69,6 @@ clean:
+ install: all
+ install -Dm644 lib/include/tree_sitter/api.h '$(DESTDIR)$(INCLUDEDIR)'/tree_sitter/api.h
+ install -Dm644 tree-sitter.pc '$(DESTDIR)$(PCLIBDIR)'/tree-sitter.pc
+- install -Dm644 libtree-sitter.a '$(DESTDIR)$(LIBDIR)'/libtree-sitter.a
+ install -m755 libtree-sitter.$(SOEXT) '$(DESTDIR)$(LIBDIR)'/libtree-sitter.$(SOEXTVER)
+ ln -sf libtree-sitter.$(SOEXTVER) '$(DESTDIR)$(LIBDIR)'/libtree-sitter.$(SOEXTVER_MAJOR)
+ ln -sf libtree-sitter.$(SOEXTVER_MAJOR) '$(DESTDIR)$(LIBDIR)'/libtree-sitter.$(SOEXT)
diff --git a/dev-libs/tree-sitter/files/tree-sitter-0.22.2-no-static.patch b/dev-libs/tree-sitter/files/tree-sitter-0.22.2-no-static.patch
new file mode 100644
index 000000000000..47934bbcd359
--- /dev/null
+++ b/dev-libs/tree-sitter/files/tree-sitter-0.22.2-no-static.patch
@@ -0,0 +1,20 @@
+--- a/Makefile
++++ b/Makefile
+@@ -45,7 +45,7 @@ ifneq ($(filter $(shell uname),FreeBSD NetBSD DragonFly),)
+ PCLIBDIR := $(PREFIX)/libdata/pkgconfig
+ endif
+
+-all: libtree-sitter.a libtree-sitter.$(SOEXT) tree-sitter.pc
++all: libtree-sitter.$(SOEXT) tree-sitter.pc
+
+ libtree-sitter.a: $(OBJ)
+ $(AR) $(ARFLAGS) $@ $^
+@@ -69,7 +69,6 @@ clean:
+ install: all
+ install -d '$(DESTDIR)$(INCLUDEDIR)'/tree_sitter '$(DESTDIR)$(PCLIBDIR)' '$(DESTDIR)$(LIBDIR)'
+ install -m644 lib/include/tree_sitter/api.h '$(DESTDIR)$(INCLUDEDIR)'/tree_sitter/api.h
+ install -m644 tree-sitter.pc '$(DESTDIR)$(PCLIBDIR)'/tree-sitter.pc
+- install -m644 libtree-sitter.a '$(DESTDIR)$(LIBDIR)'/libtree-sitter.a
+ install -m755 libtree-sitter.$(SOEXT) '$(DESTDIR)$(LIBDIR)'/libtree-sitter.$(SOEXTVER)
+ ln -sf libtree-sitter.$(SOEXTVER) '$(DESTDIR)$(LIBDIR)'/libtree-sitter.$(SOEXTVER_MAJOR)
+ ln -sf libtree-sitter.$(SOEXTVER_MAJOR) '$(DESTDIR)$(LIBDIR)'/libtree-sitter.$(SOEXT)
diff --git a/dev-libs/tree-sitter/files/tree-sitter-No-static-libs-gentoo.patch b/dev-libs/tree-sitter/files/tree-sitter-No-static-libs-gentoo.patch
deleted file mode 100644
index dd898b059612..000000000000
--- a/dev-libs/tree-sitter/files/tree-sitter-No-static-libs-gentoo.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-diff --git a/Makefile b/Makefile
-index 764f411a..86aaefd8 100644
---- a/Makefile
-+++ b/Makefile
-@@ -41,7 +41,7 @@ ifneq (,$(filter $(shell uname),FreeBSD NetBSD DragonFly))
- PCLIBDIR := $(PREFIX)/libdata/pkgconfig
- endif
-
--all: libtree-sitter.a libtree-sitter.$(SOEXTVER)
-+all: libtree-sitter.$(SOEXTVER)
-
- libtree-sitter.a: $(OBJ)
- $(AR) rcs $@ $^
-@@ -53,7 +53,6 @@ libtree-sitter.$(SOEXTVER): $(OBJ)
-
- install: all
- install -d '$(DESTDIR)$(LIBDIR)'
-- install -m755 libtree-sitter.a '$(DESTDIR)$(LIBDIR)'/libtree-sitter.a
- install -m755 libtree-sitter.$(SOEXTVER) '$(DESTDIR)$(LIBDIR)'/libtree-sitter.$(SOEXTVER)
- ln -sf libtree-sitter.$(SOEXTVER) '$(DESTDIR)$(LIBDIR)'/libtree-sitter.$(SOEXTVER_MAJOR)
- ln -sf libtree-sitter.$(SOEXTVER) '$(DESTDIR)$(LIBDIR)'/libtree-sitter.$(SOEXT)
diff --git a/dev-libs/tree-sitter/metadata.xml b/dev-libs/tree-sitter/metadata.xml
index 6c52f76c3daa..00a04e33ca4a 100644
--- a/dev-libs/tree-sitter/metadata.xml
+++ b/dev-libs/tree-sitter/metadata.xml
@@ -13,13 +13,18 @@
<email>mva@gentoo.org</email>
<name>Vadim Misbakh-Soloviov</name>
</maintainer>
- <use>
- <flag name="ts-cli">Build Tree-sitter CLI tool (for developing, testing, and using Tree-sitter parsers)</flag>
- </use>
+ <maintainer type="person">
+ <email>matthew@gentoo.org</email>
+ <name>Matthew Smith</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>pkgcore@gentoo.org</email>
+ <name>Pkgcore</name>
+ </maintainer>
<upstream>
<remote-id type="github">tree-sitter/tree-sitter</remote-id>
</upstream>
<longdescription>
- Tree-sitter is a parser generator tool and an incremental parsing library. It can build a concrete syntax tree for a source file and efficiently update the syntax tree as the source file is edited.
+ Tree-sitter is a parser generator tool and an incremental parsing library. It can build a concrete syntax tree for a source file and efficiently update the syntax tree as the source file is edited.
</longdescription>
</pkgmetadata>
diff --git a/dev-libs/tree-sitter/tree-sitter-0.20.0.ebuild b/dev-libs/tree-sitter/tree-sitter-0.20.0.ebuild
deleted file mode 100644
index 7498b7f83f44..000000000000
--- a/dev-libs/tree-sitter/tree-sitter-0.20.0.ebuild
+++ /dev/null
@@ -1,33 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit toolchain-funcs
-
-DESCRIPTION="Tree-sitter is a parser generator tool and an incremental parsing library"
-HOMEPAGE="https://github.com/tree-sitter/tree-sitter"
-
-if [[ ${PV} == *9999* ]]; then
- inherit git-r3
- EGIT_REPO_URI="https://github.com/${PN}/${PN}"
-else
- SRC_URI="https://github.com/${PN}/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
- KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ppc ppc64 ~riscv ~s390 sparc x86"
-fi
-
-LICENSE="MIT"
-SLOT="0"
-
-PATCHES=(
- "${FILESDIR}/${PN}-No-static-libs-gentoo.patch"
-)
-
-src_prepare() {
- default
- tc-export CC
-}
-
-src_install() {
- emake DESTDIR="${D}" PREFIX="${EPREFIX}/usr" LIBDIR="${EPREFIX}/usr/$(get_libdir)" install
-}
diff --git a/dev-libs/tree-sitter/tree-sitter-0.20.1-r1.ebuild b/dev-libs/tree-sitter/tree-sitter-0.20.1-r1.ebuild
deleted file mode 100644
index e439a8fa3c4e..000000000000
--- a/dev-libs/tree-sitter/tree-sitter-0.20.1-r1.ebuild
+++ /dev/null
@@ -1,172 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-CARGO_OPTIONAL=1
-
-CRATES="
- aho-corasick-0.7.15
- ansi_term-0.11.0
- ansi_term-0.12.1
- anyhow-1.0.40
- arrayref-0.3.6
- arrayvec-0.5.2
- ascii-1.0.0
- atty-0.2.14
- autocfg-1.0.1
- base64-0.13.0
- bitflags-1.2.1
- blake2b_simd-0.5.11
- bumpalo-3.6.1
- cc-1.0.67
- cfg-if-1.0.0
- chrono-0.4.19
- chunked_transfer-1.4.0
- clap-2.33.3
- constant_time_eq-0.1.5
- crossbeam-utils-0.8.3
- ctor-0.1.20
- diff-0.1.12
- difference-2.0.0
- dirs-3.0.1
- dirs-sys-0.3.5
- either-1.6.1
- form_urlencoded-1.0.1
- getrandom-0.1.16
- getrandom-0.2.2
- glob-0.3.0
- hashbrown-0.9.1
- hermit-abi-0.1.18
- html-escape-0.2.6
- idna-0.2.2
- indexmap-1.6.1
- itoa-0.4.7
- js-sys-0.3.48
- lazy_static-1.4.0
- libc-0.2.86
- libloading-0.7.0
- log-0.4.14
- matches-0.1.8
- memchr-2.3.4
- num-integer-0.1.44
- num-traits-0.2.14
- once_cell-1.7.0
- output_vt100-0.1.2
- percent-encoding-2.1.0
- ppv-lite86-0.2.10
- pretty_assertions-0.7.2
- proc-macro2-1.0.24
- quote-1.0.9
- rand-0.8.3
- rand_chacha-0.3.0
- rand_core-0.6.2
- rand_hc-0.3.0
- redox_syscall-0.1.57
- redox_syscall-0.2.5
- redox_users-0.3.5
- regex-1.4.3
- regex-syntax-0.6.22
- remove_dir_all-0.5.3
- rust-argon2-0.8.3
- rustc-hash-1.1.0
- ryu-1.0.5
- same-file-1.0.6
- serde-1.0.130
- serde_derive-1.0.130
- serde_json-1.0.63
- smallbitvec-2.5.1
- spin-0.7.1
- strsim-0.8.0
- syn-1.0.67
- tempfile-3.2.0
- textwrap-0.11.0
- thiserror-1.0.25
- thiserror-impl-1.0.25
- thread_local-1.1.3
- time-0.1.43
- tiny_http-0.8.0
- tinyvec-1.1.1
- tinyvec_macros-0.1.0
- toml-0.5.8
- unicode-bidi-0.3.4
- unicode-normalization-0.1.17
- unicode-width-0.1.8
- unicode-xid-0.2.1
- url-2.2.1
- utf8-width-0.1.4
- vec_map-0.8.2
- walkdir-2.3.1
- wasi-0.9.0+wasi-snapshot-preview1
- wasi-0.10.2+wasi-snapshot-preview1
- wasm-bindgen-0.2.71
- wasm-bindgen-backend-0.2.71
- wasm-bindgen-macro-0.2.71
- wasm-bindgen-macro-support-0.2.71
- wasm-bindgen-shared-0.2.71
- web-sys-0.3.48
- webbrowser-0.5.5
- which-4.1.0
- widestring-0.4.3
- winapi-0.3.9
- winapi-i686-pc-windows-gnu-0.4.0
- winapi-util-0.1.5
- winapi-x86_64-pc-windows-gnu-0.4.0
-"
-
-inherit toolchain-funcs cargo
-
-DESCRIPTION="Tree-sitter is a parser generator tool and an incremental parsing library"
-HOMEPAGE="https://github.com/tree-sitter/tree-sitter"
-
-if [[ ${PV} == *9999* ]]; then
- inherit git-r3
- EGIT_REPO_URI="https://github.com/${PN}/${PN}"
-else
- SRC_URI="
- https://github.com/${PN}/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz
- ts-cli? ( $(cargo_crate_uris) )
- "
- KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
-fi
-
-LICENSE="MIT ts-cli? ( Apache-2.0 BSD-2 CC0-1.0 ISC MIT )"
-SLOT="0"
-
-IUSE="ts-cli"
-
-BDEPEND="ts-cli? ( virtual/rust )"
-
-PATCHES=(
- "${FILESDIR}/${PN}-No-static-libs-gentoo.patch"
-)
-
-src_unpack() {
- if [[ ${PV} == *9999* ]]; then
- git-r3_src_unpack
- use ts-cli && cargo_live_src_unpack
- else
- # behaves as default too, so it is ok to call it unconditonally
- cargo_src_unpack
- fi
-}
-
-src_prepare() {
- default
- tc-export CC
-}
-
-src_configure() {
- default
- use ts-cli && cargo_src_configure
-}
-
-src_compile() {
- default
- use ts-cli && cargo_src_compile
-}
-
-src_install() {
- emake DESTDIR="${D}" PREFIX="${EPREFIX}/usr" LIBDIR="${EPREFIX}/usr/$(get_libdir)" install
- use ts-cli && cargo_src_install --path "./cli"
-}
diff --git a/dev-libs/tree-sitter/tree-sitter-0.20.2.ebuild b/dev-libs/tree-sitter/tree-sitter-0.20.2.ebuild
deleted file mode 100644
index f85c79757058..000000000000
--- a/dev-libs/tree-sitter/tree-sitter-0.20.2.ebuild
+++ /dev/null
@@ -1,171 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-CARGO_OPTIONAL=1
-
-CRATES="
- aho-corasick-0.7.15
- ansi_term-0.11.0
- ansi_term-0.12.1
- anyhow-1.0.40
- arrayref-0.3.6
- arrayvec-0.5.2
- ascii-1.0.0
- atty-0.2.14
- autocfg-1.0.1
- base64-0.13.0
- bitflags-1.2.1
- blake2b_simd-0.5.11
- bumpalo-3.6.1
- cc-1.0.67
- cfg-if-1.0.0
- chrono-0.4.19
- chunked_transfer-1.4.0
- clap-2.33.3
- constant_time_eq-0.1.5
- crossbeam-utils-0.8.3
- ctor-0.1.20
- diff-0.1.12
- difference-2.0.0
- dirs-3.0.1
- dirs-sys-0.3.5
- either-1.6.1
- form_urlencoded-1.0.1
- getrandom-0.1.16
- getrandom-0.2.2
- glob-0.3.0
- hashbrown-0.9.1
- hermit-abi-0.1.18
- html-escape-0.2.6
- idna-0.2.2
- indexmap-1.6.1
- itoa-0.4.7
- js-sys-0.3.48
- lazy_static-1.4.0
- libc-0.2.86
- libloading-0.7.0
- log-0.4.14
- matches-0.1.8
- memchr-2.3.4
- num-integer-0.1.44
- num-traits-0.2.14
- once_cell-1.7.0
- output_vt100-0.1.2
- percent-encoding-2.1.0
- ppv-lite86-0.2.10
- pretty_assertions-0.7.2
- proc-macro2-1.0.24
- quote-1.0.9
- rand-0.8.3
- rand_chacha-0.3.0
- rand_core-0.6.2
- rand_hc-0.3.0
- redox_syscall-0.1.57
- redox_syscall-0.2.5
- redox_users-0.3.5
- regex-1.4.3
- regex-syntax-0.6.22
- remove_dir_all-0.5.3
- rust-argon2-0.8.3
- rustc-hash-1.1.0
- ryu-1.0.5
- same-file-1.0.6
- serde-1.0.130
- serde_derive-1.0.130
- serde_json-1.0.63
- smallbitvec-2.5.1
- strsim-0.8.0
- syn-1.0.67
- tempfile-3.2.0
- textwrap-0.11.0
- thiserror-1.0.25
- thiserror-impl-1.0.25
- thread_local-1.1.3
- time-0.1.43
- tiny_http-0.8.0
- tinyvec-1.1.1
- tinyvec_macros-0.1.0
- toml-0.5.8
- unicode-bidi-0.3.4
- unicode-normalization-0.1.17
- unicode-width-0.1.8
- unicode-xid-0.2.1
- url-2.2.1
- utf8-width-0.1.4
- vec_map-0.8.2
- walkdir-2.3.1
- wasi-0.9.0+wasi-snapshot-preview1
- wasi-0.10.2+wasi-snapshot-preview1
- wasm-bindgen-0.2.71
- wasm-bindgen-backend-0.2.71
- wasm-bindgen-macro-0.2.71
- wasm-bindgen-macro-support-0.2.71
- wasm-bindgen-shared-0.2.71
- web-sys-0.3.48
- webbrowser-0.5.5
- which-4.1.0
- widestring-0.4.3
- winapi-0.3.9
- winapi-i686-pc-windows-gnu-0.4.0
- winapi-util-0.1.5
- winapi-x86_64-pc-windows-gnu-0.4.0
-"
-
-inherit toolchain-funcs cargo
-
-DESCRIPTION="Tree-sitter is a parser generator tool and an incremental parsing library"
-HOMEPAGE="https://github.com/tree-sitter/tree-sitter"
-
-if [[ ${PV} == *9999* ]]; then
- inherit git-r3
- EGIT_REPO_URI="https://github.com/${PN}/${PN}"
-else
- SRC_URI="
- https://github.com/${PN}/${PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz
- ts-cli? ( $(cargo_crate_uris) )
- "
- KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
-fi
-
-LICENSE="MIT ts-cli? ( Apache-2.0 BSD-2 CC0-1.0 ISC MIT )"
-SLOT="0"
-
-IUSE="ts-cli"
-
-BDEPEND="ts-cli? ( virtual/rust )"
-
-PATCHES=(
- "${FILESDIR}/${PN}-No-static-libs-gentoo.patch"
-)
-
-src_unpack() {
- if [[ ${PV} == *9999* ]]; then
- git-r3_src_unpack
- use ts-cli && cargo_live_src_unpack
- else
- # behaves as default too, so it is ok to call it unconditonally
- cargo_src_unpack
- fi
-}
-
-src_prepare() {
- default
- tc-export CC
-}
-
-src_configure() {
- default
- use ts-cli && cargo_src_configure
-}
-
-src_compile() {
- default
- use ts-cli && cargo_src_compile
-}
-
-src_install() {
- emake DESTDIR="${D}" PREFIX="${EPREFIX}/usr" LIBDIR="${EPREFIX}/usr/$(get_libdir)" install
- use ts-cli && cargo_src_install --path "./cli"
-}
diff --git a/dev-libs/tree-sitter/tree-sitter-0.20.9-r1.ebuild b/dev-libs/tree-sitter/tree-sitter-0.20.9-r1.ebuild
new file mode 100644
index 000000000000..3c51e4f49aed
--- /dev/null
+++ b/dev-libs/tree-sitter/tree-sitter-0.20.9-r1.ebuild
@@ -0,0 +1,55 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+# Bump tree-sitter-cli at the same time.
+
+EAPI=8
+inherit optfeature toolchain-funcs
+
+DESCRIPTION="Tree-sitter is a parser generator tool and an incremental parsing library"
+HOMEPAGE="https://github.com/tree-sitter/tree-sitter"
+
+if [[ ${PV} == *9999* ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/${PN}/${PN}"
+else
+ SRC_URI="https://github.com/${PN}/${PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ppc ppc64 ~riscv ~s390 sparc x86 ~x64-macos"
+fi
+
+LICENSE="MIT"
+SLOT="0"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-0.20.9-no-static.patch"
+)
+
+# XXX: Please, don't forget to check this on next version bump.
+# And, maybe remove as non-needed, if version in Makefile will
+# match the release.
+# ref: https://github.com/tree-sitter/tree-sitter/issues/2210
+# see Makefile:1
+QA_PKGCONFIG_VERSION="0.20.10"
+
+src_prepare() {
+ default
+ tc-export CC
+}
+
+src_compile() {
+ emake \
+ PREFIX="${EPREFIX}/usr" \
+ LIBDIR="${EPREFIX}/usr/$(get_libdir)" \
+ STRIP=""
+}
+
+src_install() {
+ emake DESTDIR="${D}" \
+ PREFIX="${EPREFIX}/usr" \
+ LIBDIR="${EPREFIX}/usr/$(get_libdir)" \
+ install
+}
+
+pkg_postinst() {
+ optfeature "building and testing grammars" dev-util/tree-sitter-cli
+}
diff --git a/dev-libs/tree-sitter/tree-sitter-0.22.1.ebuild b/dev-libs/tree-sitter/tree-sitter-0.22.1.ebuild
new file mode 100644
index 000000000000..05b74b9f9391
--- /dev/null
+++ b/dev-libs/tree-sitter/tree-sitter-0.22.1.ebuild
@@ -0,0 +1,51 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+# Bump tree-sitter-cli at the same time.
+
+EAPI=8
+
+inherit optfeature toolchain-funcs
+
+DESCRIPTION="Tree-sitter is a parser generator tool and an incremental parsing library"
+HOMEPAGE="https://github.com/tree-sitter/tree-sitter"
+
+if [[ ${PV} == *9999* ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/${PN}/${PN}"
+else
+ SRC_URI="https://github.com/${PN}/${PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos"
+fi
+
+LICENSE="MIT"
+SLOT="0"
+RESTRICT="test" # tests are for CLI and not the lib
+
+PATCHES=(
+ "${FILESDIR}/${PN}-0.22.1-no-static.patch"
+)
+
+src_prepare() {
+ default
+ tc-export CC
+}
+
+src_compile() {
+ emake \
+ PREFIX="${EPREFIX}/usr" \
+ LIBDIR="${EPREFIX}/usr/$(get_libdir)" \
+ STRIP="" \
+ CFLAGS="${CFLAGS}"
+}
+
+src_install() {
+ emake DESTDIR="${D}" \
+ PREFIX="${EPREFIX}/usr" \
+ LIBDIR="${EPREFIX}/usr/$(get_libdir)" \
+ install
+}
+
+pkg_postinst() {
+ optfeature "building and testing grammars" dev-util/tree-sitter-cli
+}
diff --git a/dev-libs/tree-sitter/tree-sitter-0.22.2.ebuild b/dev-libs/tree-sitter/tree-sitter-0.22.2.ebuild
new file mode 100644
index 000000000000..957abaa4ed60
--- /dev/null
+++ b/dev-libs/tree-sitter/tree-sitter-0.22.2.ebuild
@@ -0,0 +1,51 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+# Bump tree-sitter-cli at the same time.
+
+EAPI=8
+
+inherit optfeature toolchain-funcs
+
+DESCRIPTION="Tree-sitter is a parser generator tool and an incremental parsing library"
+HOMEPAGE="https://github.com/tree-sitter/tree-sitter"
+
+if [[ ${PV} == *9999* ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/${PN}/${PN}"
+else
+ SRC_URI="https://github.com/${PN}/${PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ppc ppc64 ~riscv ~s390 sparc x86 ~x64-macos"
+fi
+
+LICENSE="MIT"
+SLOT="0"
+RESTRICT="test" # tests are for CLI and not the lib
+
+PATCHES=(
+ "${FILESDIR}/${PN}-0.22.2-no-static.patch"
+)
+
+src_prepare() {
+ default
+ tc-export CC
+}
+
+src_compile() {
+ emake \
+ PREFIX="${EPREFIX}/usr" \
+ LIBDIR="${EPREFIX}/usr/$(get_libdir)" \
+ STRIP="" \
+ CFLAGS="${CFLAGS}"
+}
+
+src_install() {
+ emake DESTDIR="${D}" \
+ PREFIX="${EPREFIX}/usr" \
+ LIBDIR="${EPREFIX}/usr/$(get_libdir)" \
+ install
+}
+
+pkg_postinst() {
+ optfeature "building and testing grammars" dev-util/tree-sitter-cli
+}
diff --git a/dev-libs/tree-sitter/tree-sitter-0.22.4-r1.ebuild b/dev-libs/tree-sitter/tree-sitter-0.22.4-r1.ebuild
new file mode 100644
index 000000000000..d9718e3f31d5
--- /dev/null
+++ b/dev-libs/tree-sitter/tree-sitter-0.22.4-r1.ebuild
@@ -0,0 +1,49 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+inherit optfeature toolchain-funcs
+
+DESCRIPTION="Tree-sitter is a parser generator tool and an incremental parsing library"
+HOMEPAGE="https://github.com/tree-sitter/tree-sitter"
+
+if [[ ${PV} == *9999* ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/${PN}/${PN}"
+else
+ SRC_URI="https://github.com/${PN}/${PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos"
+fi
+
+LICENSE="MIT"
+# soname is .0, but abi was broken unexpectedly
+# Bug #930039
+SLOT="0/1"
+RESTRICT="test" # tests are for CLI and not the lib
+
+PATCHES=(
+ "${FILESDIR}/${PN}-0.22.2-no-static.patch"
+)
+
+src_prepare() {
+ default
+ tc-export CC
+}
+
+src_compile() {
+ emake \
+ PREFIX="${EPREFIX}/usr" \
+ LIBDIR="${EPREFIX}/usr/$(get_libdir)" \
+ STRIP="" # bug 930020
+}
+
+src_install() {
+ emake DESTDIR="${D}" \
+ PREFIX="${EPREFIX}/usr" \
+ LIBDIR="${EPREFIX}/usr/$(get_libdir)" \
+ install
+}
+
+pkg_postinst() {
+ optfeature "building and testing grammars" dev-util/tree-sitter-cli
+}
diff --git a/dev-libs/tree-sitter/tree-sitter-0.22.4.ebuild b/dev-libs/tree-sitter/tree-sitter-0.22.4.ebuild
new file mode 100644
index 000000000000..db60d1726316
--- /dev/null
+++ b/dev-libs/tree-sitter/tree-sitter-0.22.4.ebuild
@@ -0,0 +1,47 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+inherit optfeature toolchain-funcs
+
+DESCRIPTION="Tree-sitter is a parser generator tool and an incremental parsing library"
+HOMEPAGE="https://github.com/tree-sitter/tree-sitter"
+
+if [[ ${PV} == *9999* ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/${PN}/${PN}"
+else
+ SRC_URI="https://github.com/${PN}/${PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos"
+fi
+
+LICENSE="MIT"
+SLOT="0"
+RESTRICT="test" # tests are for CLI and not the lib
+
+PATCHES=(
+ "${FILESDIR}/${PN}-0.22.2-no-static.patch"
+)
+
+src_prepare() {
+ default
+ tc-export CC
+}
+
+src_compile() {
+ emake \
+ PREFIX="${EPREFIX}/usr" \
+ LIBDIR="${EPREFIX}/usr/$(get_libdir)" \
+ STRIP="" # bug 930020
+}
+
+src_install() {
+ emake DESTDIR="${D}" \
+ PREFIX="${EPREFIX}/usr" \
+ LIBDIR="${EPREFIX}/usr/$(get_libdir)" \
+ install
+}
+
+pkg_postinst() {
+ optfeature "building and testing grammars" dev-util/tree-sitter-cli
+}
diff --git a/dev-libs/tree-sitter/tree-sitter-9999.ebuild b/dev-libs/tree-sitter/tree-sitter-9999.ebuild
index 74713d7aef17..db60d1726316 100644
--- a/dev-libs/tree-sitter/tree-sitter-9999.ebuild
+++ b/dev-libs/tree-sitter/tree-sitter-9999.ebuild
@@ -1,11 +1,8 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
-
-CARGO_OPTIONAL=1
-
-inherit toolchain-funcs cargo
+inherit optfeature toolchain-funcs
DESCRIPTION="Tree-sitter is a parser generator tool and an incremental parsing library"
HOMEPAGE="https://github.com/tree-sitter/tree-sitter"
@@ -14,50 +11,37 @@ if [[ ${PV} == *9999* ]]; then
inherit git-r3
EGIT_REPO_URI="https://github.com/${PN}/${PN}"
else
- SRC_URI="
- https://github.com/${PN}/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz
- ts-cli? ( $(cargo_crate_uris) )
- "
- KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+ SRC_URI="https://github.com/${PN}/${PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos"
fi
-LICENSE="MIT ts-cli? ( Apache-2.0 BSD-2 CC0-1.0 ISC MIT )"
+LICENSE="MIT"
SLOT="0"
-
-IUSE="ts-cli"
-
-BDEPEND="ts-cli? ( virtual/rust )"
+RESTRICT="test" # tests are for CLI and not the lib
PATCHES=(
- "${FILESDIR}/${PN}-No-static-libs-gentoo.patch"
+ "${FILESDIR}/${PN}-0.22.2-no-static.patch"
)
-src_unpack() {
- if [[ ${PV} == *9999* ]]; then
- git-r3_src_unpack
- use ts-cli && cargo_live_src_unpack
- else
- # behaves as default too, so it is ok to call it unconditonally
- cargo_src_unpack
- fi
-}
-
src_prepare() {
default
tc-export CC
}
-src_configure() {
- default
- use ts-cli && cargo_src_configure
-}
-
src_compile() {
- default
- use ts-cli && cargo_src_compile
+ emake \
+ PREFIX="${EPREFIX}/usr" \
+ LIBDIR="${EPREFIX}/usr/$(get_libdir)" \
+ STRIP="" # bug 930020
}
src_install() {
- emake DESTDIR="${D}" PREFIX="${EPREFIX}/usr" LIBDIR="${EPREFIX}/usr/$(get_libdir)" install
- use ts-cli && cargo_src_install --path "./cli"
+ emake DESTDIR="${D}" \
+ PREFIX="${EPREFIX}/usr" \
+ LIBDIR="${EPREFIX}/usr/$(get_libdir)" \
+ install
+}
+
+pkg_postinst() {
+ optfeature "building and testing grammars" dev-util/tree-sitter-cli
}
diff --git a/dev-libs/trio/Manifest b/dev-libs/trio/Manifest
index 59ec71d46d41..e1c82919f0bc 100644
--- a/dev-libs/trio/Manifest
+++ b/dev-libs/trio/Manifest
@@ -1 +1 @@
-DIST trio-1.16.tar.gz 167337 BLAKE2B 0f284e0a130723f7511c0e874276c79c1addc1329833d14f0b76bae9808d90b76a2b26817ee85da71c3997360918cb534917a11bbe35ba627d1012cd8a2f6299 SHA512 3a8bac3ed001f70f498bd2ab0881ed6d3760bc978bf9ff587c3fc1d5d7a38205f779c5fe445f41edaa9e23c15bc1b4a521916e19161277741bc8e2f744b46c69
+DIST trio-1.17.1.tar.gz 466909 BLAKE2B 1403c2534623b536de519cd428ac75480ecc0fcb9fbba693e329a923471947f068cae1e1fd453d10863255369e830ef5d8a75475d95f0f903e66936a9fa48e2b SHA512 574e360d88be838d13d7df5259c68809187a578d8d04981812ff768d3ab80215baf5595952994ec9fabbe3a6ce71512a7cd16d6a29b4f91dcd1b6f2ebcd3ed98
diff --git a/dev-libs/trio/files/trio-1.16-no-inline.patch b/dev-libs/trio/files/trio-1.16-no-inline.patch
deleted file mode 100644
index b1584344a111..000000000000
--- a/dev-libs/trio/files/trio-1.16-no-inline.patch
+++ /dev/null
@@ -1,8 +0,0 @@
-Let compiler decide what to inline (fixes build with -Os).
-https://bugs.gentoo.org/792075
---- a/triodef.h
-+++ b/triodef.h
-@@ -315,2 +315,3 @@
- #endif
-+#undef TRIO_INLINE
- #if !defined(TRIO_INLINE)
diff --git a/dev-libs/trio/metadata.xml b/dev-libs/trio/metadata.xml
index a7124f3f8f71..d2790650b579 100644
--- a/dev-libs/trio/metadata.xml
+++ b/dev-libs/trio/metadata.xml
@@ -6,6 +6,6 @@
<name>Gentoo Games Project</name>
</maintainer>
<upstream>
- <remote-id type="sourceforge">ctrio</remote-id>
+ <remote-id type="github">orbea/trio</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-libs/trio/trio-1.16.ebuild b/dev-libs/trio/trio-1.16.ebuild
deleted file mode 100644
index bf7d164f5baf..000000000000
--- a/dev-libs/trio/trio-1.16.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 toolchain-funcs
-
-DESCRIPTION="Portable string functions, focus on the *printf() and *scanf() clones"
-HOMEPAGE="https://daniel.haxx.se/projects/trio/"
-SRC_URI="mirror://sourceforge/ctrio/${P}.tar.gz"
-
-LICENSE="trio"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-PATCHES=(
- "${FILESDIR}"/${P}-no-inline.patch
-)
-HTML_DOCS=( html/. )
-
-src_prepare() {
- default
- sed -i '/$(CC)/s/-o/$(LOCAL_LDFLAGS) -o/' Makefile.in || die
-}
-
-src_compile() {
- emake AR="$(tc-getAR)" LOCAL_LDFLAGS="${LDFLAGS}"
- ln -s libtrio.so.2{.0.0,} || die
- ln -s libtrio.so{.2.0.0,} || die
-}
-
-src_test() {
- emake LOCAL_LDFLAGS="${LDFLAGS}" regression
- LD_LIBRARY_PATH=".:${LD_LIBRARY_PATH}" ./regression || die
-}
-
-src_install() {
- doheader trio*.h
- dolib.so libtrio.so*
- einstalldocs
-}
diff --git a/dev-libs/trio/trio-1.17.1.ebuild b/dev-libs/trio/trio-1.17.1.ebuild
new file mode 100644
index 000000000000..32604f3aaaf6
--- /dev/null
+++ b/dev-libs/trio/trio-1.17.1.ebuild
@@ -0,0 +1,27 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DOCS_BUILDER="doxygen"
+DOCS_DIR="doc"
+
+inherit docs
+
+DESCRIPTION="Portable string functions, focus on the *printf() and *scanf() clones"
+HOMEPAGE="https://daniel.haxx.se/projects/trio/"
+SRC_URI="https://github.com/orbea/trio/releases/download/v${PV}/${P}.tar.gz"
+
+LICENSE="trio"
+SLOT="0"
+KEYWORDS="amd64 ~arm ~arm64 ~ppc ~ppc64 ~x86"
+
+src_compile() {
+ default
+ docs_compile
+}
+
+src_install() {
+ default
+ find "${ED}" -type f -name '*.la' -delete || die
+}
diff --git a/dev-libs/tvmet/tvmet-1.7.2-r2.ebuild b/dev-libs/tvmet/tvmet-1.7.2-r2.ebuild
index 17b51a76512c..4f79060709e0 100644
--- a/dev-libs/tvmet/tvmet-1.7.2-r2.ebuild
+++ b/dev-libs/tvmet/tvmet-1.7.2-r2.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
@@ -13,7 +13,7 @@ KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
IUSE="debug doc test"
RESTRICT="!test? ( test )"
-BDEPEND="doc? ( app-doc/doxygen )"
+BDEPEND="doc? ( app-text/doxygen )"
DEPEND="test? ( dev-util/cppunit )"
PATCHES=(
diff --git a/dev-libs/ucommon/Manifest b/dev-libs/ucommon/Manifest
deleted file mode 100644
index 57e037574aea..000000000000
--- a/dev-libs/ucommon/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST ucommon-7.0.0.tar.gz 837905 BLAKE2B ddc82d5d1a88d66f353d9e69eacd7cfaaa0204acb8b9c4152559a009d287f2ffdb7feedc6fc0303c93a39d607498dd15bf83798d088857582f79be435d010ca7 SHA512 d32f8603d920eb98b5d4bc75224a7a8bb8bf2001a8dd3152626a8438ea4c39503a7446dec3aa90cf464b7abb68a6e42bac488ef9705517bd333b64bce219915b
diff --git a/dev-libs/ucommon/files/ucommon-6.0.3-install_gcrypt.m4_file.patch b/dev-libs/ucommon/files/ucommon-6.0.3-install_gcrypt.m4_file.patch
deleted file mode 100644
index 502a27b1844b..000000000000
--- a/dev-libs/ucommon/files/ucommon-6.0.3-install_gcrypt.m4_file.patch
+++ /dev/null
@@ -1,126 +0,0 @@
---- /dev/null
-+++ m4/libgcrypt.m4
-@@ -0,0 +1,123 @@
-+dnl Autoconf macros for libgcrypt
-+dnl Copyright (C) 2002, 2004 Free Software Foundation, Inc.
-+dnl
-+dnl This file is free software; as a special exception the author gives
-+dnl unlimited permission to copy and/or distribute it, with or without
-+dnl modifications, as long as this notice is preserved.
-+dnl
-+dnl This file is distributed in the hope that it will be useful, but
-+dnl WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
-+dnl implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-+
-+
-+dnl AM_PATH_LIBGCRYPT([MINIMUM-VERSION,
-+dnl [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND ]]])
-+dnl Test for libgcrypt and define LIBGCRYPT_CFLAGS and LIBGCRYPT_LIBS.
-+dnl MINIMUN-VERSION is a string with the version number optionalliy prefixed
-+dnl with the API version to also check the API compatibility. Example:
-+dnl a MINIMUN-VERSION of 1:1.2.5 won't pass the test unless the installed
-+dnl version of libgcrypt is at least 1.2.5 *and* the API number is 1. Using
-+dnl this features allows to prevent build against newer versions of libgcrypt
-+dnl with a changed API.
-+dnl
-+AC_DEFUN([AM_PATH_LIBGCRYPT],
-+[ AC_ARG_WITH(libgcrypt-prefix,
-+ AC_HELP_STRING([--with-libgcrypt-prefix=PFX],
-+ [prefix where LIBGCRYPT is installed (optional)]),
-+ libgcrypt_config_prefix="$withval", libgcrypt_config_prefix="")
-+ if test x$libgcrypt_config_prefix != x ; then
-+ if test x${LIBGCRYPT_CONFIG+set} != xset ; then
-+ LIBGCRYPT_CONFIG=$libgcrypt_config_prefix/bin/libgcrypt-config
-+ fi
-+ fi
-+
-+ AC_PATH_TOOL(LIBGCRYPT_CONFIG, libgcrypt-config, no)
-+ tmp=ifelse([$1], ,1:1.2.0,$1)
-+ if echo "$tmp" | grep ':' >/dev/null 2>/dev/null ; then
-+ req_libgcrypt_api=`echo "$tmp" | sed 's/\(.*\):\(.*\)/\1/'`
-+ min_libgcrypt_version=`echo "$tmp" | sed 's/\(.*\):\(.*\)/\2/'`
-+ else
-+ req_libgcrypt_api=0
-+ min_libgcrypt_version="$tmp"
-+ fi
-+
-+ AC_MSG_CHECKING(for LIBGCRYPT - version >= $min_libgcrypt_version)
-+ ok=no
-+ if test "$LIBGCRYPT_CONFIG" != "no" ; then
-+ req_major=`echo $min_libgcrypt_version | \
-+ sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\)/\1/'`
-+ req_minor=`echo $min_libgcrypt_version | \
-+ sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\)/\2/'`
-+ req_micro=`echo $min_libgcrypt_version | \
-+ sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\)/\3/'`
-+ libgcrypt_config_version=`$LIBGCRYPT_CONFIG --version`
-+ major=`echo $libgcrypt_config_version | \
-+ sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\).*/\1/'`
-+ minor=`echo $libgcrypt_config_version | \
-+ sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\).*/\2/'`
-+ micro=`echo $libgcrypt_config_version | \
-+ sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\).*/\3/'`
-+ if test "$major" -gt "$req_major"; then
-+ ok=yes
-+ else
-+ if test "$major" -eq "$req_major"; then
-+ if test "$minor" -gt "$req_minor"; then
-+ ok=yes
-+ else
-+ if test "$minor" -eq "$req_minor"; then
-+ if test "$micro" -ge "$req_micro"; then
-+ ok=yes
-+ fi
-+ fi
-+ fi
-+ fi
-+ fi
-+ fi
-+ if test $ok = yes; then
-+ AC_MSG_RESULT([yes ($libgcrypt_config_version)])
-+ else
-+ AC_MSG_RESULT(no)
-+ fi
-+ if test $ok = yes; then
-+ # If we have a recent libgcrypt, we should also check that the
-+ # API is compatible
-+ if test "$req_libgcrypt_api" -gt 0 ; then
-+ tmp=`$LIBGCRYPT_CONFIG --api-version 2>/dev/null || echo 0`
-+ if test "$tmp" -gt 0 ; then
-+ AC_MSG_CHECKING([LIBGCRYPT API version])
-+ if test "$req_libgcrypt_api" -eq "$tmp" ; then
-+ AC_MSG_RESULT([okay])
-+ else
-+ ok=no
-+ AC_MSG_RESULT([does not match. want=$req_libgcrypt_api got=$tmp])
-+ fi
-+ fi
-+ fi
-+ fi
-+ if test $ok = yes; then
-+ LIBGCRYPT_CFLAGS=`$LIBGCRYPT_CONFIG --cflags`
-+ LIBGCRYPT_LIBS=`$LIBGCRYPT_CONFIG --libs`
-+ ifelse([$2], , :, [$2])
-+ if test x"$host" != x ; then
-+ libgcrypt_config_host=`$LIBGCRYPT_CONFIG --host 2>/dev/null || echo none`
-+ if test x"$libgcrypt_config_host" != xnone ; then
-+ if test x"$libgcrypt_config_host" != x"$host" ; then
-+ AC_MSG_WARN([[
-+***
-+*** The config script $LIBGCRYPT_CONFIG was
-+*** built for $libgcrypt_config_host and thus may not match the
-+*** used host $host.
-+*** You may want to use the configure option --with-libgcrypt-prefix
-+*** to specify a matching config script.
-+***]])
-+ fi
-+ fi
-+ fi
-+ else
-+ LIBGCRYPT_CFLAGS=""
-+ LIBGCRYPT_LIBS=""
-+ ifelse([$3], , :, [$3])
-+ fi
-+ AC_SUBST(LIBGCRYPT_CFLAGS)
-+ AC_SUBST(LIBGCRYPT_LIBS)
-+])
diff --git a/dev-libs/ucommon/files/ucommon-7.0.0-c++17-dynamic-exception-specifications.patch b/dev-libs/ucommon/files/ucommon-7.0.0-c++17-dynamic-exception-specifications.patch
deleted file mode 100644
index 49e4b7828975..000000000000
--- a/dev-libs/ucommon/files/ucommon-7.0.0-c++17-dynamic-exception-specifications.patch
+++ /dev/null
@@ -1,502 +0,0 @@
---- a/commoncpp/exception.cpp
-+++ b/commoncpp/exception.cpp
-@@ -53,14 +53,14 @@
-
- namespace ost {
-
--Exception::Exception(const String& what_arg) throw():
-+Exception::Exception(const String& what_arg) :
- _what(what_arg)
- {}
-
--Exception::~Exception() throw()
-+Exception::~Exception()
- {}
-
--const char *Exception::what() const throw()
-+const char *Exception::what() const noexcept
- {
- return _what.c_str();
- }
-@@ -70,22 +70,22 @@
- return _what.c_str();
- }
-
--IOException::IOException(const String &what_arg, long systemError) throw() :
-+IOException::IOException(const String &what_arg, long systemError) :
- Exception(what_arg), _systemError(systemError),
- _systemErrorString(NULL) {
- }
-
--IOException::~IOException() throw()
-+IOException::~IOException()
- {
- delete [] _systemErrorString;
- }
-
--long IOException::getSystemError() const throw()
-+long IOException::getSystemError() const
- {
- return _systemError;
- }
-
--const char* IOException::getSystemErrorString() const throw()
-+const char* IOException::getSystemErrorString() const
- {
- const uint32_t errStrSize = 2048;
- if ( !_systemErrorString )
---- a/commoncpp/persist.cpp
-+++ b/commoncpp/persist.cpp
-@@ -39,7 +39,7 @@
- return _what;
- }
-
--PersistException::~PersistException() throw()
-+PersistException::~PersistException()
- {
- }
-
-@@ -114,7 +114,7 @@
- TypeManager::remove(myName.c_str());
- }
-
--PersistEngine::PersistEngine(std::iostream& stream, EngineMode mode) throw(PersistException) :
-+PersistEngine::PersistEngine(std::iostream& stream, EngineMode mode) :
- myUnderlyingStream(stream), myOperationalMode(mode)
- {
- }
-@@ -125,7 +125,7 @@
- myUnderlyingStream.sync();
- }
-
--void PersistEngine::writeBinary(const uint8_t* data, const uint32_t size) throw(PersistException)
-+void PersistEngine::writeBinary(const uint8_t* data, const uint32_t size)
- {
- if(myOperationalMode != modeWrite)
- throw("Cannot write to an input Engine");
-@@ -133,14 +133,14 @@
- }
-
-
--void PersistEngine::readBinary(uint8_t* data, uint32_t size) throw(PersistException)
-+void PersistEngine::readBinary(uint8_t* data, uint32_t size)
- {
- if(myOperationalMode != modeRead)
- throw("Cannot read from an output Engine");
- myUnderlyingStream.read((char *)data,size);
- }
-
--void PersistEngine::write(const PersistObject *object) throw(PersistException)
-+void PersistEngine::write(const PersistObject *object)
- {
- // Pre-step, if object is NULL, then don't serialize it - serialize a
- // marker to say that it is null.
-@@ -181,7 +181,7 @@
- }
- }
-
--void PersistEngine::read(PersistObject &object) throw(PersistException)
-+void PersistEngine::read(PersistObject &object)
- {
- uint32_t id = 0;
- read(id);
-@@ -202,7 +202,7 @@
- readObject(&object);
- }
-
--void PersistEngine::read(PersistObject *&object) throw(PersistException)
-+void PersistEngine::read(PersistObject *&object)
- {
- uint32_t id = 0;
- read(id);
-@@ -237,7 +237,7 @@
- throw(PersistException(std::string("Unable to instantiate object of class ")+className));
- }
-
--void PersistEngine::readObject(PersistObject* object) throw(PersistException)
-+void PersistEngine::readObject(PersistObject* object)
- {
- // Okay then - we can make this object
- myArchiveVector.push_back(object);
-@@ -251,7 +251,7 @@
- throw( PersistException("Missing End-of-Object marker"));
- }
-
--const std::string PersistEngine::readClass() throw(PersistException)
-+const std::string PersistEngine::readClass()
- {
- // Okay - read the identifier for the class in...
- uint32_t classId = 0;
-@@ -269,14 +269,14 @@
- return className;
- }
-
--void PersistEngine::write(const std::string& str) throw(PersistException)
-+void PersistEngine::write(const std::string& str)
- {
- uint32_t len = (uint32_t)str.length();
- write(len);
- writeBinary((uint8_t*)str.c_str(),len);
- }
-
--void PersistEngine::read(std::string& str) throw(PersistException)
-+void PersistEngine::read(std::string& str)
- {
- uint32_t len = 0;
- read(len);
---- a/commoncpp/tokenizer.cpp
-+++ b/commoncpp/tokenizer.cpp
-@@ -70,7 +70,7 @@
- }
-
-
--StringTokenizer::iterator& StringTokenizer::iterator::operator ++ () THROWS (StringTokenizer::NoSuchElementException)
-+StringTokenizer::iterator& StringTokenizer::iterator::operator ++ ()
- {
-
- // someone requested to read beyond the end .. tsts
-@@ -106,7 +106,7 @@
- * if no one requests the token, no time is spent skipping the whitespaces
- * or allocating memory.
- */
--const char * StringTokenizer::iterator::operator * () THROWS (StringTokenizer::NoSuchElementException)
-+const char * StringTokenizer::iterator::operator * ()
- {
- // someone requested to read beyond the end .. tsts
- if (endp == myTok->itEnd.endp)
---- a/inc/commoncpp/exception.h
-+++ b/inc/commoncpp/exception.h
-@@ -77,10 +77,10 @@
- String _what;
-
- public:
-- Exception(const String& what_arg) throw();
-- virtual ~Exception() throw();
-+ Exception(const String& what_arg);
-+ virtual ~Exception();
- virtual const char *getString() const;
-- virtual const char *what() const throw();
-+ virtual const char *what() const noexcept;
- };
-
- /**
-@@ -96,11 +96,11 @@
- mutable char* _systemErrorString;
-
- public:
-- IOException(const String &what_arg, long systemError = 0) throw();
-- virtual ~IOException() throw();
-+ IOException(const String &what_arg, long systemError = 0);
-+ virtual ~IOException();
-
-- virtual long getSystemError() const throw();
-- virtual const char* getSystemErrorString() const throw();
-+ virtual long getSystemError() const;
-+ virtual const char* getSystemErrorString() const;
- };
-
- /**
---- a/inc/commoncpp/persist.h
-+++ b/inc/commoncpp/persist.h
-@@ -46,7 +46,7 @@
- PersistException(const std::string& reason);
- const std::string& getString() const;
-
-- virtual ~PersistException() throw();
-+ virtual ~PersistException();
-
- protected:
- std::string _what;
-@@ -210,7 +210,7 @@
- * the given mode. The stream must be initialized properly prior
- * to this call or problems will ensue.
- */
-- PersistEngine(std::iostream& stream, EngineMode mode) throw(PersistException);
-+ PersistEngine(std::iostream& stream, EngineMode mode);
-
- virtual ~PersistEngine();
-
-@@ -219,75 +219,75 @@
- /**
- * writes a PersistObject from a reference.
- */
-- inline void write(const PersistObject &object) throw(PersistException)
-+ inline void write(const PersistObject &object)
- {write(&object);}
-
- /**
- * writes a PersistObject from a pointer.
- */
-- void write(const PersistObject *object) throw(PersistException);
-+ void write(const PersistObject *object);
-
- // writes supported primitive types
- // shortcut, to make the following more readable
- #define CCXX_ENGINEWRITE_REF(valref) writeBinary((const uint8_t*)&valref,sizeof(valref))
-- inline void write(int8_t i) throw(PersistException) { CCXX_ENGINEWRITE_REF(i); }
-- inline void write(uint8_t i) throw(PersistException) { CCXX_ENGINEWRITE_REF(i); }
-- inline void write(int16_t i) throw(PersistException) { CCXX_ENGINEWRITE_REF(i); }
-- inline void write(uint16_t i) throw(PersistException) { CCXX_ENGINEWRITE_REF(i); }
-- inline void write(int32_t i) throw(PersistException) { CCXX_ENGINEWRITE_REF(i); }
-- inline void write(uint32_t i) throw(PersistException) { CCXX_ENGINEWRITE_REF(i); }
-- inline void write(float i) throw(PersistException) { CCXX_ENGINEWRITE_REF(i); }
-- inline void write(double i) throw(PersistException) { CCXX_ENGINEWRITE_REF(i); }
-- inline void write(bool i) throw(PersistException) { CCXX_ENGINEWRITE_REF(i); }
-+ inline void write(int8_t i) { CCXX_ENGINEWRITE_REF(i); }
-+ inline void write(uint8_t i) { CCXX_ENGINEWRITE_REF(i); }
-+ inline void write(int16_t i) { CCXX_ENGINEWRITE_REF(i); }
-+ inline void write(uint16_t i) { CCXX_ENGINEWRITE_REF(i); }
-+ inline void write(int32_t i) { CCXX_ENGINEWRITE_REF(i); }
-+ inline void write(uint32_t i) { CCXX_ENGINEWRITE_REF(i); }
-+ inline void write(float i) { CCXX_ENGINEWRITE_REF(i); }
-+ inline void write(double i) { CCXX_ENGINEWRITE_REF(i); }
-+ inline void write(bool i) { CCXX_ENGINEWRITE_REF(i); }
- #undef CCXX_ENGINEWRITE_REF
-
-- void write(const std::string& str) throw(PersistException);
-+ void write(const std::string& str);
-
- // Every write operation boils down to one or more of these
-- void writeBinary(const uint8_t* data, const uint32_t size) throw(PersistException);
-+ void writeBinary(const uint8_t* data, const uint32_t size);
-
- // Read Operations
-
- /**
- * reads a PersistObject into a reference overwriting the object.
- */
-- void read(PersistObject &object) throw(PersistException);
-+ void read(PersistObject &object);
-
- /**
- * reads a PersistObject into a pointer allocating memory for the object if necessary.
- */
-- void read(PersistObject *&object) throw(PersistException);
-+ void read(PersistObject *&object);
-
- // reads supported primitive types
- // shortcut, to make the following more readable
- #define CCXX_ENGINEREAD_REF(valref) readBinary((uint8_t*)&valref,sizeof(valref))
-- inline void read(int8_t& i) throw(PersistException) { CCXX_ENGINEREAD_REF(i); }
-- inline void read(uint8_t& i) throw(PersistException) { CCXX_ENGINEREAD_REF(i); }
-- inline void read(int16_t& i) throw(PersistException) { CCXX_ENGINEREAD_REF(i); }
-- inline void read(uint16_t& i) throw(PersistException) { CCXX_ENGINEREAD_REF(i); }
-- inline void read(int32_t& i) throw(PersistException) { CCXX_ENGINEREAD_REF(i); }
-- inline void read(uint32_t& i) throw(PersistException) { CCXX_ENGINEREAD_REF(i); }
-- inline void read(float& i) throw(PersistException) { CCXX_ENGINEREAD_REF(i); }
-- inline void read(double& i) throw(PersistException) { CCXX_ENGINEREAD_REF(i); }
-- inline void read(bool &i) throw(PersistException) { CCXX_ENGINEREAD_REF(i); }
-+ inline void read(int8_t& i) { CCXX_ENGINEREAD_REF(i); }
-+ inline void read(uint8_t& i) { CCXX_ENGINEREAD_REF(i); }
-+ inline void read(int16_t& i) { CCXX_ENGINEREAD_REF(i); }
-+ inline void read(uint16_t& i) { CCXX_ENGINEREAD_REF(i); }
-+ inline void read(int32_t& i) { CCXX_ENGINEREAD_REF(i); }
-+ inline void read(uint32_t& i) { CCXX_ENGINEREAD_REF(i); }
-+ inline void read(float& i) { CCXX_ENGINEREAD_REF(i); }
-+ inline void read(double& i) { CCXX_ENGINEREAD_REF(i); }
-+ inline void read(bool &i) { CCXX_ENGINEREAD_REF(i); }
- #undef CCXX_ENGINEREAD_REF
-
-- void read(std::string& str) throw(PersistException);
-+ void read(std::string& str);
-
- // Every read operation boiled down to one or more of these
-- void readBinary(uint8_t* data, uint32_t size) throw(PersistException);
-+ void readBinary(uint8_t* data, uint32_t size);
-
- private:
- /**
- * reads the actual object data into a pre-instantiated object pointer
- * by calling the read function of the derived class.
- */
-- void readObject(PersistObject* object) throw(PersistException);
-+ void readObject(PersistObject* object);
-
- /**
- * reads in a class name, and caches it into the ClassMap.
- */
-- const std::string readClass() throw(PersistException);
-+ const std::string readClass();
-
-
- /**
-@@ -319,63 +319,63 @@
-
- // Standard >> and << stream operators for PersistObject
- /** @relates PersistEngine */
--inline PersistEngine& operator >>( PersistEngine& ar, PersistObject &ob) throw(PersistException) {CCXX_RE(ar,ob);}
-+inline PersistEngine& operator >>( PersistEngine& ar, PersistObject &ob) {CCXX_RE(ar,ob);}
- /** @relates PersistEngine */
--inline PersistEngine& operator >>( PersistEngine& ar, PersistObject *&ob) throw(PersistException) {CCXX_RE(ar,ob);}
-+inline PersistEngine& operator >>( PersistEngine& ar, PersistObject *&ob) {CCXX_RE(ar,ob);}
- /** @relates PersistEngine */
--inline PersistEngine& operator <<( PersistEngine& ar, PersistObject const &ob) throw(PersistException) {CCXX_WE(ar,ob);}
-+inline PersistEngine& operator <<( PersistEngine& ar, PersistObject const &ob) {CCXX_WE(ar,ob);}
- /** @relates PersistEngine */
--inline PersistEngine& operator <<( PersistEngine& ar, PersistObject const *ob) throw(PersistException) {CCXX_WE(ar,ob);}
-+inline PersistEngine& operator <<( PersistEngine& ar, PersistObject const *ob) {CCXX_WE(ar,ob);}
-
- /** @relates PersistEngine */
--inline PersistEngine& operator >>( PersistEngine& ar, int8_t& ob) throw(PersistException) {CCXX_RE(ar,ob);}
-+inline PersistEngine& operator >>( PersistEngine& ar, int8_t& ob) {CCXX_RE(ar,ob);}
- /** @relates PersistEngine */
--inline PersistEngine& operator <<( PersistEngine& ar, int8_t ob) throw(PersistException) {CCXX_WE(ar,ob);}
-+inline PersistEngine& operator <<( PersistEngine& ar, int8_t ob) {CCXX_WE(ar,ob);}
-
- /** @relates PersistEngine */
--inline PersistEngine& operator >>( PersistEngine& ar, uint8_t& ob) throw(PersistException) {CCXX_RE(ar,ob);}
-+inline PersistEngine& operator >>( PersistEngine& ar, uint8_t& ob) {CCXX_RE(ar,ob);}
- /** @relates PersistEngine */
--inline PersistEngine& operator <<( PersistEngine& ar, uint8_t ob) throw(PersistException) {CCXX_WE(ar,ob);}
-+inline PersistEngine& operator <<( PersistEngine& ar, uint8_t ob) {CCXX_WE(ar,ob);}
-
- /** @relates PersistEngine */
--inline PersistEngine& operator >>( PersistEngine& ar, int16_t& ob) throw(PersistException) {CCXX_RE(ar,ob);}
-+inline PersistEngine& operator >>( PersistEngine& ar, int16_t& ob) {CCXX_RE(ar,ob);}
- /** @relates PersistEngine */
--inline PersistEngine& operator <<( PersistEngine& ar, int16_t ob) throw(PersistException) {CCXX_WE(ar,ob);}
-+inline PersistEngine& operator <<( PersistEngine& ar, int16_t ob) {CCXX_WE(ar,ob);}
-
- /** @relates PersistEngine */
--inline PersistEngine& operator >>( PersistEngine& ar, uint16_t& ob) throw(PersistException) {CCXX_RE(ar,ob);}
-+inline PersistEngine& operator >>( PersistEngine& ar, uint16_t& ob) {CCXX_RE(ar,ob);}
- /** @relates PersistEngine */
--inline PersistEngine& operator <<( PersistEngine& ar, uint16_t ob) throw(PersistException) {CCXX_WE(ar,ob);}
-+inline PersistEngine& operator <<( PersistEngine& ar, uint16_t ob) {CCXX_WE(ar,ob);}
-
- /** @relates PersistEngine */
--inline PersistEngine& operator >>( PersistEngine& ar, int32_t& ob) throw(PersistException) {CCXX_RE(ar,ob);}
-+inline PersistEngine& operator >>( PersistEngine& ar, int32_t& ob) {CCXX_RE(ar,ob);}
- /** @relates PersistEngine */
--inline PersistEngine& operator <<( PersistEngine& ar, int32_t ob) throw(PersistException) {CCXX_WE(ar,ob);}
-+inline PersistEngine& operator <<( PersistEngine& ar, int32_t ob) {CCXX_WE(ar,ob);}
-
- /** @relates PersistEngine */
--inline PersistEngine& operator >>( PersistEngine& ar, uint32_t& ob) throw(PersistException) {CCXX_RE(ar,ob);}
-+inline PersistEngine& operator >>( PersistEngine& ar, uint32_t& ob) {CCXX_RE(ar,ob);}
- /** @relates PersistEngine */
--inline PersistEngine& operator <<( PersistEngine& ar, uint32_t ob) throw(PersistException) {CCXX_WE(ar,ob);}
-+inline PersistEngine& operator <<( PersistEngine& ar, uint32_t ob) {CCXX_WE(ar,ob);}
-
- /** @relates PersistEngine */
--inline PersistEngine& operator >>( PersistEngine& ar, float& ob) throw(PersistException) {CCXX_RE(ar,ob);}
-+inline PersistEngine& operator >>( PersistEngine& ar, float& ob) {CCXX_RE(ar,ob);}
- /** @relates PersistEngine */
--inline PersistEngine& operator <<( PersistEngine& ar, float ob) throw(PersistException) {CCXX_WE(ar,ob);}
-+inline PersistEngine& operator <<( PersistEngine& ar, float ob) {CCXX_WE(ar,ob);}
-
- /** @relates PersistEngine */
--inline PersistEngine& operator >>( PersistEngine& ar, double& ob) throw(PersistException) {CCXX_RE(ar,ob);}
-+inline PersistEngine& operator >>( PersistEngine& ar, double& ob) {CCXX_RE(ar,ob);}
- /** @relates PersistEngine */
--inline PersistEngine& operator <<( PersistEngine& ar, double ob) throw(PersistException) {CCXX_WE(ar,ob);}
-+inline PersistEngine& operator <<( PersistEngine& ar, double ob) {CCXX_WE(ar,ob);}
-
- /** @relates PersistEngine */
--inline PersistEngine& operator >>( PersistEngine& ar, std::string& ob) throw(PersistException) {CCXX_RE(ar,ob);}
-+inline PersistEngine& operator >>( PersistEngine& ar, std::string& ob) {CCXX_RE(ar,ob);}
- /** @relates PersistEngine */
--inline PersistEngine& operator <<( PersistEngine& ar, std::string ob) throw(PersistException) {CCXX_WE(ar,ob);}
-+inline PersistEngine& operator <<( PersistEngine& ar, std::string ob) {CCXX_WE(ar,ob);}
-
- /** @relates PersistEngine */
--inline PersistEngine& operator >>( PersistEngine& ar, bool& ob) throw(PersistException) {CCXX_RE(ar,ob);}
-+inline PersistEngine& operator >>( PersistEngine& ar, bool& ob) {CCXX_RE(ar,ob);}
- /** @relates PersistEngine */
--inline PersistEngine& operator <<( PersistEngine& ar, bool ob) throw(PersistException) {CCXX_WE(ar,ob);}
-+inline PersistEngine& operator <<( PersistEngine& ar, bool ob) {CCXX_WE(ar,ob);}
-
- #undef CCXX_RE
- #undef CCXX_WE
-@@ -390,7 +390,7 @@
- * the engine
- */
- template<class T>
--PersistEngine& operator <<( PersistEngine& ar, typename std::vector<T> const& ob) throw(PersistException)
-+PersistEngine& operator <<( PersistEngine& ar, typename std::vector<T> const& ob)
- {
- ar << (uint32_t)ob.size();
- for(unsigned int i=0; i < ob.size(); ++i)
-@@ -404,7 +404,7 @@
- * an engine.
- */
- template<class T>
--PersistEngine& operator >>( PersistEngine& ar, typename std::vector<T>& ob) throw(PersistException)
-+PersistEngine& operator >>( PersistEngine& ar, typename std::vector<T>& ob)
- {
- ob.clear();
- uint32_t siz;
-@@ -421,7 +421,7 @@
- * the engine
- */
- template<class T>
--PersistEngine& operator <<( PersistEngine& ar, typename std::deque<T> const& ob) throw(PersistException)
-+PersistEngine& operator <<( PersistEngine& ar, typename std::deque<T> const& ob)
- {
- ar << (uint32_t)ob.size();
- for(typename std::deque<T>::const_iterator it=ob.begin(); it != ob.end(); ++it)
-@@ -435,7 +435,7 @@
- * an engine.
- */
- template<class T>
--PersistEngine& operator >>( PersistEngine& ar, typename std::deque<T>& ob) throw(PersistException)
-+PersistEngine& operator >>( PersistEngine& ar, typename std::deque<T>& ob)
- {
- ob.clear();
- uint32_t siz;
-@@ -456,7 +456,7 @@
- * to an engine.
- */
- template<class Key, class Value>
--PersistEngine& operator <<( PersistEngine& ar, typename std::map<Key,Value> const & ob) throw(PersistException)
-+PersistEngine& operator <<( PersistEngine& ar, typename std::map<Key,Value> const & ob)
- {
- ar << (uint32_t)ob.size();
- for(typename std::map<Key,Value>::const_iterator it = ob.begin();it != ob.end();++it)
-@@ -470,7 +470,7 @@
- * from an engine.
- */
- template<class Key, class Value>
--PersistEngine& operator >>( PersistEngine& ar, typename std::map<Key,Value>& ob) throw(PersistException)
-+PersistEngine& operator >>( PersistEngine& ar, typename std::map<Key,Value>& ob)
- {
- ob.clear();
- uint32_t siz;
-@@ -488,7 +488,7 @@
- * serialize a pair of some serializable content to the engine.
- */
- template<class x, class y>
--PersistEngine& operator <<( PersistEngine& ar, std::pair<x,y> &ob) throw(PersistException)
-+PersistEngine& operator <<( PersistEngine& ar, std::pair<x,y> &ob)
- {
- ar << ob.first << ob.second;
- return ar;
-@@ -499,7 +499,7 @@
- * deserialize a pair of some serializable content to the engine.
- */
- template<class x, class y>
--PersistEngine& operator >>(PersistEngine& ar, std::pair<x, y> &ob) throw(PersistException)
-+PersistEngine& operator >>(PersistEngine& ar, std::pair<x, y> &ob)
- {
- ar >> ob.first >> ob.second;
- return ar;
---- a/inc/commoncpp/tokenizer.h
-+++ b/inc/commoncpp/tokenizer.h
-@@ -175,7 +175,7 @@
- /**
- * shifts this iterator to the next token in the string.
- */
-- iterator &operator++() THROWS (NoSuchElementException);
-+ iterator &operator++();
-
- /**
- * returns the immutable string this iterator
-@@ -185,7 +185,7 @@
- * invalidated for each iteration. If you need the token,
- * copy it (e.g. with strdup());
- */
-- const char* operator*() THROWS (NoSuchElementException);
-+ const char* operator*();
-
- /**
- * returns the next delimiter after the current token or
diff --git a/dev-libs/ucommon/metadata.xml b/dev-libs/ucommon/metadata.xml
deleted file mode 100644
index 85e4ed814fa2..000000000000
--- a/dev-libs/ucommon/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-libs/ucommon/ucommon-7.0.0.ebuild b/dev-libs/ucommon/ucommon-7.0.0.ebuild
deleted file mode 100644
index 52f09366593d..000000000000
--- a/dev-libs/ucommon/ucommon-7.0.0.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 flag-o-matic
-
-DESCRIPTION="Portable C++ runtime for threads and sockets"
-HOMEPAGE="https://www.gnu.org/software/commoncpp"
-SRC_URI="mirror://gnu/commoncpp/${P}.tar.gz"
-
-LICENSE="LGPL-3"
-SLOT="0/8" # soname version
-KEYWORDS="amd64 ~ppc ~ppc64 x86 ~amd64-linux"
-IUSE="doc +cxx debug ssl gnutls"
-
-RDEPEND="
- ssl? (
- net-libs/gnutls:=
- dev-libs/libgcrypt:=
- )"
-DEPEND="${RDEPEND}"
-BDEPEND="
- virtual/pkgconfig
- doc? ( app-doc/doxygen )"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-6.0.3-install_gcrypt.m4_file.patch
- "${FILESDIR}"/${PN}-7.0.0-c++17-dynamic-exception-specifications.patch
-)
-
-src_prepare() {
- default
-
- # Aclocal 1.13 deprecated error BGO #467674
- sed -e 's/AM_CONFIG_HEADER/AC_CONFIG_HEADERS/g' -i configure.ac || die
-
- # don't install latex and rtf documents
- sed -e '/^GENERATE_LATEX/s@YES@NO@' -e '/^GENERATE_RTF/s@YES@NO@' \
- -i Doxyfile.in || die
-
- eautoreconf
-}
-
-src_configure() {
- # https://bugs.gentoo.org/730018
- # need to link GCC's libatomic when compiling with clang
- append-libs -latomic
-
- local myeconfargs=(
- --disable-static
- --with-pkg-config
- # don't bother with openssl, incompatible with the 1.1 API
- --with-sslstack=$(usex ssl gnu nossl)
- $(use_enable cxx stdcpp)
- )
- econf "${myeconfargs[@]}"
-}
-
-src_compile() {
- default
-
- if use doc; then
- emake doxy
- HTML_DOCS=( doc/html/. )
- fi
-}
-
-src_install() {
- default
- dodoc SUPPORT
-
- # no static archives
- find "${ED}" -name '*.la' -delete || die
-}
diff --git a/dev-libs/udis86/udis86-1.7.2-r1.ebuild b/dev-libs/udis86/udis86-1.7.2-r1.ebuild
index 26852a3b26ce..5ef49a73955d 100644
--- a/dev-libs/udis86/udis86-1.7.2-r1.ebuild
+++ b/dev-libs/udis86/udis86-1.7.2-r1.ebuild
@@ -1,9 +1,10 @@
-# 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} )
+PYTHON_REQ_USE="xml(+)"
inherit autotools multilib-minimal python-any-r1
diff --git a/dev-libs/unibilium/Manifest b/dev-libs/unibilium/Manifest
index ce2aa81fb9bd..765f7180a8a9 100644
--- a/dev-libs/unibilium/Manifest
+++ b/dev-libs/unibilium/Manifest
@@ -1,3 +1 @@
-DIST unibilium-2.0.0.tar.gz 112570 BLAKE2B 95c24c53e11590faabf3d4b8484c344be0b2a0988f05bde785d03dac338d9f18fc65324f5ccc402723c9fabe2990083ce260d8fa57129591a1b2a1f8405eff9d SHA512 e93f319b7a85a4441c7f4e30d12d906805f066b14bff03331e48b6257da893f6447e257c8ba731077ad4b54d82d3ebf1ccf1fcf2d864273e0d4321a26ef7c172
-DIST unibilium-2.1.0.tar.gz 121971 BLAKE2B e035eab4343ee779218c302b3cae3ff5d443fc9bd723cade53a3d38dde3d66ee3d7374f7c69b85508a59d44d936601b24f33b01d923e55677d2bac71bd520fea SHA512 c0074ff8431f82c92072b8c0c9d3cf38d759b4de996b168c6ab00e475b0a6204d9c29b0a6e48e62dd4fa4898f82246150ef7cd5e246893d2c225c50ec4d4ac68
DIST unibilium-2.1.1.tar.gz 121998 BLAKE2B 0bd032d0cc32011fa66604b39412116824b79aeb3cebb394efcad7591d5bd18031d465f7736ff1e65914f2fcf7beca1cbee4c7ad07426cdbf45e1c82e1894d94 SHA512 ebcdcddc6c3a540d086b113bb83470c1c17cf59056b28308a484b20dc3df71de0f5d6e5bf105f9e4a8347c78500c65ae46c2b53ec87692a898c321a047664ee2
diff --git a/dev-libs/unibilium/files/unibilium-2.1.1-libtool.patch b/dev-libs/unibilium/files/unibilium-2.1.1-libtool.patch
new file mode 100644
index 000000000000..b9715edfb449
--- /dev/null
+++ b/dev-libs/unibilium/files/unibilium-2.1.1-libtool.patch
@@ -0,0 +1,101 @@
+Upstream-PR: https://github.com/neovim/unibilium/pull/21
+
+From 8447cc364ac9f42745fdabba54fa8e628451f33b Mon Sep 17 00:00:00 2001
+From: orbea <orbea@riseup.net>
+Date: Mon, 20 Jun 2022 14:52:04 -0700
+Subject: [PATCH] build: Add a minimal configure.ac
+
+When building with slibtool using the rlibtool symlink the build will
+fail when it fails to find the generated libtool. This is required so
+rlibtool can determine if it should build shared or static libraries.
+
+This can be fixed by adding a minimal configure.ac that can generate the
+required files with autoreconf.
+
+Gentoo Bug: https://bugs.gentoo.org/828492
+---
+ Makefile => Makefile.in | 31 +++++++++++++++++--------------
+ configure.ac | 16 ++++++++++++++++
+ 2 files changed, 33 insertions(+), 14 deletions(-)
+ rename Makefile => Makefile.in (92%)
+ create mode 100644 configure.ac
+
+diff --git a/Makefile b/Makefile.in
+similarity index 92%
+rename from Makefile
+rename to Makefile.in
+index 6060ee6..d97e222 100644
+--- a/Makefile
++++ b/Makefile.in
+@@ -2,21 +2,19 @@ ifneq ($(wildcard .maint),)
+ include maint.mk
+ endif
+
+-ifeq ($(shell uname),Darwin)
+- LIBTOOL?=glibtool
+-else
+- LIBTOOL?=libtool
+-endif
++CC=@CC@
++LIBTOOL=@LIBTOOL@
+
+-CFLAGS?=-O2
++CFLAGS=@CFLAGS@
++LDFLAGS=@LDFLAGS@
+
+ CFLAGS_DEBUG=
+
+-PACKAGE=unibilium
++PACKAGE=@PACKAGE_NAME@
+
+-PKG_MAJOR=2
+-PKG_MINOR=1
+-PKG_REVISION=1
++PKG_MAJOR=@MAJOR@
++PKG_MINOR=@MINOR@
++PKG_REVISION=@PATCH@
+
+ PKG_VERSION=$(PKG_MAJOR).$(PKG_MINOR).$(PKG_REVISION)
+
+@@ -26,10 +24,15 @@ LT_REVISION=1
+ LT_CURRENT=4
+ LT_AGE=0
+
+-PREFIX=/usr/local
+-LIBDIR=$(PREFIX)/lib
+-INCDIR=$(PREFIX)/include
+-MANDIR=$(PREFIX)/share/man
++top_builddir=@top_builddir@
++
++prefix=@prefix@
++exec_prefix=@prefix@
++datarootdir=@datarootdir@
++
++LIBDIR=@libdir@
++INCDIR=@includedir@
++MANDIR=@mandir@
+ MAN3DIR=$(MANDIR)/man3
+
+ ifneq ($(OS),Windows_NT)
+diff --git a/configure.ac b/configure.ac
+new file mode 100644
+index 0000000..13cb888
+--- /dev/null
++++ b/configure.ac
+@@ -0,0 +1,16 @@
++m4_define([MAJOR], [2])
++m4_define([MINOR], [1])
++m4_define([PATCH], [1])
++
++AC_INIT([unibilium], [MAJOR.MINOR.PATCH])
++AC_CONFIG_FILES([Makefile])
++
++LT_INIT
++
++AC_SUBST([top_builddir], [$abs_builddir])
++
++AC_SUBST([MAJOR], [MAJOR])
++AC_SUBST([MINOR], [MINOR])
++AC_SUBST([PATCH], [PATCH])
++
++AC_OUTPUT
diff --git a/dev-libs/unibilium/unibilium-2.0.0.ebuild b/dev-libs/unibilium/unibilium-2.0.0.ebuild
deleted file mode 100644
index 22b6e120a8d1..000000000000
--- a/dev-libs/unibilium/unibilium-2.0.0.ebuild
+++ /dev/null
@@ -1,31 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-inherit flag-o-matic
-
-DESCRIPTION="A very basic terminfo library"
-HOMEPAGE="https://github.com/mauke/unibilium/"
-SRC_URI="https://github.com/mauke/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="LGPL-3+ MIT"
-SLOT="0/4"
-KEYWORDS="amd64 arm ~arm64 x86"
-IUSE="static-libs"
-
-DEPEND="
- dev-lang/perl
- sys-devel/libtool"
-
-RDEPEND=""
-
-src_compile() {
- append-flags -fPIC
- emake PREFIX="${EPREFIX}/usr" LIBDIR="${EPREFIX}/usr/$(get_libdir)" all
-}
-
-src_install() {
- emake PREFIX="${EPREFIX}/usr" LIBDIR="${EPREFIX}/usr/$(get_libdir)" DESTDIR="${D}" install
- use static-libs || rm "${ED}"/usr/$(get_libdir)/lib${PN}.a || die
- rm "${ED}"/usr/$(get_libdir)/lib${PN}.la || die
-}
diff --git a/dev-libs/unibilium/unibilium-2.1.0.ebuild b/dev-libs/unibilium/unibilium-2.1.0.ebuild
deleted file mode 100644
index 38287f93cf52..000000000000
--- a/dev-libs/unibilium/unibilium-2.1.0.ebuild
+++ /dev/null
@@ -1,35 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit flag-o-matic toolchain-funcs
-
-DESCRIPTION="A very basic terminfo library"
-HOMEPAGE="https://github.com/neovim/unibilium/"
-SRC_URI="https://github.com/neovim/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="LGPL-3+ MIT"
-SLOT="0/4"
-KEYWORDS="amd64 arm ~arm64 x86 ~x64-macos"
-IUSE="static-libs"
-
-BDEPEND="
- dev-lang/perl
- sys-devel/libtool"
-
-PATCHES=(
- "${FILESDIR}/${PN}-2.1.0-no-compress-man.patch"
-)
-
-src_compile() {
- append-flags -fPIC
- tc-export CC
- emake PREFIX="${EPREFIX}/usr" LIBDIR="${EPREFIX}/usr/$(get_libdir)" all
-}
-
-src_install() {
- emake PREFIX="${EPREFIX}/usr" LIBDIR="${EPREFIX}/usr/$(get_libdir)" DESTDIR="${D}" install
- use static-libs || rm "${ED}"/usr/$(get_libdir)/lib${PN}.a || die
- rm "${ED}"/usr/$(get_libdir)/lib${PN}.la || die
-}
diff --git a/dev-libs/unibilium/unibilium-2.1.1-r1.ebuild b/dev-libs/unibilium/unibilium-2.1.1-r1.ebuild
new file mode 100644
index 000000000000..56970d3ecbf5
--- /dev/null
+++ b/dev-libs/unibilium/unibilium-2.1.1-r1.ebuild
@@ -0,0 +1,31 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools
+
+DESCRIPTION="A very basic terminfo library"
+HOMEPAGE="https://github.com/neovim/unibilium/"
+SRC_URI="https://github.com/neovim/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="LGPL-3+ MIT"
+SLOT="0/4"
+KEYWORDS="amd64 arm arm64 ~ppc ~ppc64 ~riscv x86 ~x64-macos"
+
+BDEPEND="dev-lang/perl"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-2.1.0-no-compress-man.patch"
+ "${FILESDIR}/${P}-libtool.patch" # 828492
+)
+
+src_prepare() {
+ default
+ eautoreconf
+}
+
+src_install() {
+ emake DESTDIR="${D}" install
+ find "${D}" -name '*.la' -delete || die
+}
diff --git a/dev-libs/unibilium/unibilium-2.1.1.ebuild b/dev-libs/unibilium/unibilium-2.1.1.ebuild
index d2448195ad85..fd74ec579ab0 100644
--- a/dev-libs/unibilium/unibilium-2.1.1.ebuild
+++ b/dev-libs/unibilium/unibilium-2.1.1.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
@@ -11,11 +11,11 @@ SRC_URI="https://github.com/neovim/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="LGPL-3+ MIT"
SLOT="0/4"
-KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~x86 ~x64-macos"
+KEYWORDS="amd64 arm arm64 ~riscv x86 ~x64-macos"
IUSE="static-libs"
BDEPEND="dev-lang/perl
- sys-devel/libtool"
+ dev-build/libtool"
PATCHES=(
"${FILESDIR}/${PN}-2.1.0-no-compress-man.patch"
diff --git a/dev-libs/unittest++/unittest++-2.0.0-r2.ebuild b/dev-libs/unittest++/unittest++-2.0.0-r2.ebuild
index 8000f1473810..f7450bcb036f 100644
--- a/dev-libs/unittest++/unittest++-2.0.0-r2.ebuild
+++ b/dev-libs/unittest++/unittest++-2.0.0-r2.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 @@ S="${WORKDIR}/${MY_P}"
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ppc ppc64 ~riscv sparc x86"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ppc ppc64 ~riscv ~s390 sparc x86"
IUSE="test"
RESTRICT="!test? ( test )"
diff --git a/dev-libs/univalue/univalue-9999.ebuild b/dev-libs/univalue/univalue-9999.ebuild
index 989d23ce6cce..db6b468aa088 100644
--- a/dev-libs/univalue/univalue-9999.ebuild
+++ b/dev-libs/univalue/univalue-9999.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2018 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -20,9 +20,6 @@ LICENSE="MIT"
SLOT="0/0"
IUSE=""
-DEPEND=""
-RDEPEND="${DEPEND}"
-
src_prepare() {
default
eautoreconf
diff --git a/dev-libs/urdfdom/Manifest b/dev-libs/urdfdom/Manifest
index 4b1b4150ca85..e9693530f951 100644
--- a/dev-libs/urdfdom/Manifest
+++ b/dev-libs/urdfdom/Manifest
@@ -1,2 +1 @@
-DIST urdfdom-1.0.4.tar.gz 276958 BLAKE2B 19353c38d8fa8f1d6d752302bc8b7b84b13cc6c6f83af31dba677184fa09fd42d7de0c00e6927f085c3d013d2bde664dd7ea69d3c69de4c14130c08d256e6f87 SHA512 2a7a0ec61445132b3e8f6ba8b2268b9fd7c035a72b3e4d61b5ed665d07e902a02b87d2c60c53fc9b0c385a871cd8d87f278bd4833f1f904635ec46755a544003
-DIST urdfdom-3.0.0.tar.gz 285706 BLAKE2B ef9cc251c67f20458c9038a738dd8b7a91d49b0180bbffe9cd12e793f12f4f1f10b5322a82f94bc36a5a46db7e015b157c84cda73535b7a60417f2f4bb389fe5 SHA512 1fa3372d5beed6b119444ef99d50991a417d42bc7a3152e4697dc26e1bd1e351d45edd4c56f9dfff6f2c8480b3f43c6dfe246d22890db0f676d68591a5c0aaf6
+DIST urdfdom-3.1.0.tar.gz 286589 BLAKE2B cfe0ba0160091c4160f4ad7d6648657cc19fcaea4346e89d4a8e685c67bbf038b4a23c0133f8af987d4aee7dac623d10c61eb98573e9a0ebf57babd7d6d48b7d SHA512 2ca34982550f0d83504ec711f45c59fa9011802ad85ffc8511fb02b7421ee99daad3f00d82925cd3490dd0164dfe7881c0d52c05fbea2be0449e57e565034695
diff --git a/dev-libs/urdfdom/files/cb.patch b/dev-libs/urdfdom/files/cb.patch
deleted file mode 100644
index 3d3e150580ee..000000000000
--- a/dev-libs/urdfdom/files/cb.patch
+++ /dev/null
@@ -1,23 +0,0 @@
-From 6faba176d41cf39114785a3e029013f941ed5a0e Mon Sep 17 00:00:00 2001
-From: Steven Peters <scpeters@openrobotics.org>
-Date: Thu, 28 May 2020 09:22:29 -0700
-Subject: [PATCH] Find console_bridge without explicit version (#141)
-
-Signed-off-by: Steve Peters <scpeters@openrobotics.org>
----
- CMakeLists.txt | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 92762f1..f0d115d 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -41,7 +41,7 @@ if (NOT MSVC)
- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
- endif()
-
--find_package(console_bridge 0.3 REQUIRED)
-+find_package(console_bridge REQUIRED)
- include_directories(SYSTEM ${console_bridge_INCLUDE_DIRS})
- link_directories(${console_bridge_LIBRARY_DIRS})
-
diff --git a/dev-libs/urdfdom/urdfdom-1.0.4-r1.ebuild b/dev-libs/urdfdom/urdfdom-1.0.4-r1.ebuild
deleted file mode 100644
index f25395d86697..000000000000
--- a/dev-libs/urdfdom/urdfdom-1.0.4-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=7
-
-SCM=""
-if [ "${PV#9999}" != "${PV}" ] ; then
- SCM="git-r3"
- EGIT_REPO_URI="https://github.com/ros/urdfdom"
-fi
-
-inherit ${SCM} cmake
-
-if [ "${PV#9999}" != "${PV}" ] ; then
- SRC_URI=""
-else
- KEYWORDS="~amd64 ~arm"
- SRC_URI="https://github.com/ros/urdfdom/archive/${PV}.tar.gz -> ${P}.tar.gz"
-fi
-
-DESCRIPTION="URDF (U-Robot Description Format) library"
-HOMEPAGE="http://ros.org/wiki/urdf"
-LICENSE="BSD"
-SLOT="0/1"
-IUSE=""
-
-RDEPEND=">=dev-libs/urdfdom_headers-1.0.0
- >=dev-libs/console_bridge-0.3:=
- dev-libs/tinyxml[stl]
- dev-libs/boost:=[threads(+)]"
-DEPEND="${RDEPEND}"
-PATCHES=( "${FILESDIR}/cb.patch" )
-
-src_prepare() {
- sed -i -e 's/set(CMAKE_INSTALL_LIBDIR/#/' CMakeLists.txt || die
- cmake_src_prepare
-}
diff --git a/dev-libs/urdfdom/urdfdom-3.0.0.ebuild b/dev-libs/urdfdom/urdfdom-3.0.0.ebuild
deleted file mode 100644
index 37c71100352c..000000000000
--- a/dev-libs/urdfdom/urdfdom-3.0.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=7
-
-SCM=""
-if [ "${PV#9999}" != "${PV}" ] ; then
- SCM="git-r3"
- EGIT_REPO_URI="https://github.com/ros/urdfdom"
-fi
-
-inherit ${SCM} cmake
-
-if [ "${PV#9999}" != "${PV}" ] ; then
- SRC_URI=""
-else
- KEYWORDS="~amd64 ~arm"
- SRC_URI="https://github.com/ros/urdfdom/archive/${PV}.tar.gz -> ${P}.tar.gz"
-fi
-
-DESCRIPTION="URDF (U-Robot Description Format) library"
-HOMEPAGE="http://ros.org/wiki/urdf"
-LICENSE="BSD"
-SLOT="0/3"
-IUSE=""
-
-RDEPEND=">=dev-libs/urdfdom_headers-1.0.0
- >=dev-libs/console_bridge-0.3:=
- dev-libs/tinyxml[stl]"
-DEPEND="${RDEPEND}"
diff --git a/dev-libs/urdfdom/urdfdom-3.1.0.ebuild b/dev-libs/urdfdom/urdfdom-3.1.0.ebuild
new file mode 100644
index 000000000000..e21e9883c072
--- /dev/null
+++ b/dev-libs/urdfdom/urdfdom-3.1.0.ebuild
@@ -0,0 +1,30 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+SCM=""
+if [ "${PV#9999}" != "${PV}" ] ; then
+ SCM="git-r3"
+ EGIT_REPO_URI="https://github.com/ros/urdfdom"
+fi
+
+inherit ${SCM} cmake
+
+if [ "${PV#9999}" != "${PV}" ] ; then
+ SRC_URI=""
+else
+ KEYWORDS="~amd64 ~arm"
+ SRC_URI="https://github.com/ros/urdfdom/archive/${PV}.tar.gz -> ${P}.tar.gz"
+fi
+
+DESCRIPTION="URDF (U-Robot Description Format) library"
+HOMEPAGE="http://ros.org/wiki/urdf"
+LICENSE="BSD"
+SLOT="0/3"
+IUSE=""
+
+RDEPEND=">=dev-libs/urdfdom_headers-1.0.0
+ >=dev-libs/console_bridge-0.3:=
+ dev-libs/tinyxml[stl]"
+DEPEND="${RDEPEND}"
diff --git a/dev-libs/urdfdom_headers/Manifest b/dev-libs/urdfdom_headers/Manifest
index ba09da9739b8..b117b1603fd7 100644
--- a/dev-libs/urdfdom_headers/Manifest
+++ b/dev-libs/urdfdom_headers/Manifest
@@ -1 +1 @@
-DIST urdfdom_headers-1.0.5.tar.gz 12639 BLAKE2B fdd3fd0eb26027a920bfd89432ff2f50d8c8377630ff8e385b9691da46cf40a454f5e0651aa5d107ef9e96499ba6439b14aeb346b94b4c33fde699d09097a927 SHA512 c16d83282c189d7720326ed0628c4b3359a859f45157e08f78ffa10a5607d01e6f64b2caa3b721ab9fcf2d83ee1240bc6f43ab484946e7a381122b27bd057b58
+DIST urdfdom_headers-1.1.0.tar.gz 12676 BLAKE2B 1c2dbc5d3b63a493abdf1c6e5d41ed51e101332c67d5aad61f073dfe1881ade7be8345a6fea5816ebbf100804d8b13ca1d6a195a54caa1ef093fde49929cb34d SHA512 beae18cd21ad58c7f267075de1242a08579a1667853cc42c3c744484927035bb0095c66751eda4e1baa3ac0103dce4b8c94ef25d83defb42077c1de9342f769a
diff --git a/dev-libs/urdfdom_headers/urdfdom_headers-1.0.5.ebuild b/dev-libs/urdfdom_headers/urdfdom_headers-1.0.5.ebuild
deleted file mode 100644
index 6530d6794eaa..000000000000
--- a/dev-libs/urdfdom_headers/urdfdom_headers-1.0.5.ebuild
+++ /dev/null
@@ -1,28 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-SCM=""
-if [ "${PV#9999}" != "${PV}" ] ; then
- SCM="git-r3"
- EGIT_REPO_URI="https://github.com/ros/urdfdom_headers"
-fi
-
-inherit ${SCM} cmake
-
-if [ "${PV#9999}" != "${PV}" ] ; then
- SRC_URI=""
-else
- KEYWORDS="~amd64 ~arm"
- SRC_URI="https://github.com/ros/urdfdom_headers/archive/${PV}.tar.gz -> ${P}.tar.gz"
-fi
-
-DESCRIPTION="URDF (U-Robot Description Format) headers"
-HOMEPAGE="http://ros.org/wiki/urdf"
-LICENSE="BSD"
-SLOT="0"
-IUSE=""
-
-DEPEND=""
-RDEPEND="${DEPEND}"
diff --git a/dev-libs/urdfdom_headers/urdfdom_headers-1.1.0.ebuild b/dev-libs/urdfdom_headers/urdfdom_headers-1.1.0.ebuild
new file mode 100644
index 000000000000..e5a4f2810f32
--- /dev/null
+++ b/dev-libs/urdfdom_headers/urdfdom_headers-1.1.0.ebuild
@@ -0,0 +1,25 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+SCM=""
+if [ "${PV#9999}" != "${PV}" ] ; then
+ SCM="git-r3"
+ EGIT_REPO_URI="https://github.com/ros/urdfdom_headers"
+fi
+
+inherit ${SCM} cmake
+
+if [ "${PV#9999}" != "${PV}" ] ; then
+ SRC_URI=""
+else
+ KEYWORDS="~amd64 ~arm"
+ SRC_URI="https://github.com/ros/urdfdom_headers/archive/${PV}.tar.gz -> ${P}.tar.gz"
+fi
+
+DESCRIPTION="URDF (U-Robot Description Format) headers"
+HOMEPAGE="http://ros.org/wiki/urdf"
+
+LICENSE="BSD"
+SLOT="0"
diff --git a/dev-libs/urdfdom_headers/urdfdom_headers-9999.ebuild b/dev-libs/urdfdom_headers/urdfdom_headers-9999.ebuild
index 6530d6794eaa..e5a4f2810f32 100644
--- a/dev-libs/urdfdom_headers/urdfdom_headers-9999.ebuild
+++ b/dev-libs/urdfdom_headers/urdfdom_headers-9999.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
@@ -20,9 +20,6 @@ fi
DESCRIPTION="URDF (U-Robot Description Format) headers"
HOMEPAGE="http://ros.org/wiki/urdf"
+
LICENSE="BSD"
SLOT="0"
-IUSE=""
-
-DEPEND=""
-RDEPEND="${DEPEND}"
diff --git a/dev-libs/uriparser/Manifest b/dev-libs/uriparser/Manifest
index 29e0a6b2209b..0597d1cbaa0a 100644
--- a/dev-libs/uriparser/Manifest
+++ b/dev-libs/uriparser/Manifest
@@ -1 +1 @@
-DIST uriparser-0.9.6.tar.bz2 178888 BLAKE2B 2c7229d8438eaef40657b809742dff7ed8919edfe9b4003be996d967b2d876ec61c6493b60c3a0a167db80365c748ee63f2cebfa04058ae8bed8d29b0ab7ea22 SHA512 c021ab3f93cc0373c9244edafff042c3d73a3904d69e573c277b04ca4a49cd2e88255214599cf433088b32846c9a628dfb116025188a6bb61a40c236827799aa
+DIST uriparser-0.9.7.tar.bz2 179989 BLAKE2B 50d04df0024f2ad926072a06d92066025c12528853e784f28bf311a64eb37b619634fa14265cadf55e514810804adeefb7dea841178f916ccdbd086a897d375b SHA512 7f69c9806665745c1bafe11f818434e27c2da03af387f009ef46c1427af8c008faa45e6f49bece66e0b96fd17b3924ba0af25476e796972c5e4b651f35f74c13
diff --git a/dev-libs/uriparser/metadata.xml b/dev-libs/uriparser/metadata.xml
index a9c0c12f1f38..527b06dcb565 100644
--- a/dev-libs/uriparser/metadata.xml
+++ b/dev-libs/uriparser/metadata.xml
@@ -11,6 +11,15 @@
licensed under the New BSD license.
</longdescription>
<upstream>
+ <remote-id type="github">uriparser/uriparser</remote-id>
<remote-id type="sourceforge">uriparser</remote-id>
</upstream>
+ <use>
+ <flag name="unicode">
+ Add support for functions working with character type
+ wchar_t (e.g. uriParseSingleUriW with trailing "W")
+ which increases compile time and resulting binary
+ file size by roughly factor 2.
+ </flag>
+ </use>
</pkgmetadata>
diff --git a/dev-libs/uriparser/uriparser-0.9.6.ebuild b/dev-libs/uriparser/uriparser-0.9.6.ebuild
deleted file mode 100644
index 4bc93db9261e..000000000000
--- a/dev-libs/uriparser/uriparser-0.9.6.ebuild
+++ /dev/null
@@ -1,57 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit cmake
-
-DESCRIPTION="Strictly RFC 3986 compliant URI parsing library in C"
-HOMEPAGE="https://uriparser.github.io/"
-SRC_URI="https://github.com/${PN}/${PN}/releases/download/${P}/${P}.tar.bz2"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 arm arm64 ppc ~ppc64 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x86-solaris"
-IUSE="+doc qt5 test unicode" # +doc to address warning RequiredUseDefaults
-
-REQUIRED_USE="qt5? ( doc ) test? ( unicode )"
-RESTRICT="!test? ( test )"
-
-DEPEND="
- test? ( >=dev-cpp/gtest-1.8.1 )
-"
-BDEPEND="
- virtual/pkgconfig
- doc? (
- >=app-doc/doxygen-1.5.8
- media-gfx/graphviz
- qt5? ( dev-qt/qthelp:5 )
- )
-"
-
-DOCS=( AUTHORS ChangeLog THANKS )
-
-src_configure() {
- local mycmakeargs=(
- -DURIPARSER_BUILD_CHAR=ON
- -DURIPARSER_BUILD_DOCS=$(usex doc ON OFF)
- -DURIPARSER_BUILD_TESTS=$(usex test ON OFF)
- -DURIPARSER_BUILD_TOOLS=ON
- -DURIPARSER_BUILD_WCHAR_T=$(usex unicode ON OFF)
-
- # The usex wrapper is here to address this warning:
- # One or more CMake variables were not used by the project:
- # CMAKE_DISABLE_FIND_PACKAGE_Qt5Help
- $(usex doc "$(cmake_use_find_package qt5 Qt5Help)")
- )
- cmake_src_configure
-}
-
-src_install() {
- cmake_src_install
-
- if use doc && use qt5; then
- dodoc "${BUILD_DIR}"/doc/*.qch
- docompress -x /usr/share/doc/${PF}/${P}.qch
- fi
-}
diff --git a/dev-libs/uriparser/uriparser-0.9.7.ebuild b/dev-libs/uriparser/uriparser-0.9.7.ebuild
new file mode 100644
index 000000000000..70cd7772c491
--- /dev/null
+++ b/dev-libs/uriparser/uriparser-0.9.7.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
+
+DESCRIPTION="Strictly RFC 3986 compliant URI parsing library in C"
+HOMEPAGE="https://uriparser.github.io/"
+SRC_URI="https://github.com/${PN}/${PN}/releases/download/${P}/${P}.tar.bz2"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 arm arm64 ppc ~ppc64 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos"
+IUSE="+doc qt5 test unicode" # +doc to address warning RequiredUseDefaults
+
+REQUIRED_USE="qt5? ( doc ) test? ( unicode )"
+RESTRICT="!test? ( test )"
+
+DEPEND="
+ test? ( >=dev-cpp/gtest-1.8.1 )
+"
+BDEPEND="
+ virtual/pkgconfig
+ doc? (
+ >=app-text/doxygen-1.5.8
+ media-gfx/graphviz
+ qt5? ( dev-qt/qthelp:5 )
+ )
+"
+
+DOCS=( AUTHORS ChangeLog THANKS )
+
+src_configure() {
+ local mycmakeargs=(
+ -DURIPARSER_BUILD_CHAR=ON
+ -DURIPARSER_BUILD_DOCS=$(usex doc ON OFF)
+ -DURIPARSER_BUILD_TESTS=$(usex test ON OFF)
+ -DURIPARSER_BUILD_TOOLS=ON
+ -DURIPARSER_BUILD_WCHAR_T=$(usex unicode ON OFF)
+
+ # The usex wrapper is here to address this warning:
+ # One or more CMake variables were not used by the project:
+ # CMAKE_DISABLE_FIND_PACKAGE_Qt5Help
+ $(usex doc "$(cmake_use_find_package qt5 Qt5Help)")
+ )
+ cmake_src_configure
+}
+
+src_install() {
+ cmake_src_install
+
+ if use doc && use qt5; then
+ dodoc "${BUILD_DIR}"/doc/*.qch
+ docompress -x /usr/share/doc/${PF}/${P}.qch
+ fi
+}
diff --git a/dev-libs/userspace-rcu/Manifest b/dev-libs/userspace-rcu/Manifest
index f20d5a0e4e87..bb9ddf3d1c66 100644
--- a/dev-libs/userspace-rcu/Manifest
+++ b/dev-libs/userspace-rcu/Manifest
@@ -1,2 +1,2 @@
-DIST userspace-rcu-0.13.0.tar.bz2 608434 BLAKE2B 11b5d13f4e1a577cc33ad430eb387b26cc2db2ba9ff32c7a09f9cb6c8a418548cd87c198ab4b63be3df884d8e3878046ba817106ff2f07cbab86dd60c9bb1d34 SHA512 7288b5a4a2dca6a75ecaa8553b942b9e7be9cae25776d2448fb0b0c950af9919c369791839607c6c1e6cbd32bbd1e1cafc18ee753f0e3bdc2ed7b65488612580
-DIST userspace-rcu-0.13.1.tar.bz2 609961 BLAKE2B 96581fb3e90764870d2eb3eff6999e3c20bf206e3a0d5c910acfe693d55e0cb389fa5126a74d175f3c46655e740ecf1c1426c367eb3c28f3ef3a634848e51e83 SHA512 c86f2eb260cccb3cb6bd54ddbc0b46e60083fc99423e9403242ebed7f39a2a49c68af933ea6f373e2a9d4f9dc56f5befe030740891e28cf2fabe927a48ff8182
+DIST userspace-rcu-0.13.2.tar.bz2 611448 BLAKE2B 6d502e0035b03df262c917ba70f7442e2bd81369091b2c521fe5c32f31ed2ef7404070759f3a8910b767153e05d28e354d5e5ece2a3ba17e4a31dd7db3e1924f SHA512 e5097a7f653f51b3a47a09f79e7a153aab8fd22c0504a1127a9b33d093a9ae6a941b97c0fe175ee168e2976097aefdcdf8d5ce030afbe565c1b72f64d6f5b60a
+DIST userspace-rcu-0.14.0.tar.bz2 661322 BLAKE2B ba9fa4c6dec693d2616234187db531f00fc0ade65f7e2a57182d9441728ddfa6f3e9d4544b824ca5edf7c027a43c9231d998a309c01f4bbab1eeefe856344f77 SHA512 7297e51012f4c44ee27c0e18ed9d87bf24be34db68a5398394c1e683a045bb561cf74aa913398404c0ed5cb8011af728ea12947717fa5f27627e5ca78e63a40f
diff --git a/dev-libs/userspace-rcu/files/userspace-rcu-0.13.1-loong.patch b/dev-libs/userspace-rcu/files/userspace-rcu-0.13.1-loong.patch
new file mode 100644
index 000000000000..c21d2c02a105
--- /dev/null
+++ b/dev-libs/userspace-rcu/files/userspace-rcu-0.13.1-loong.patch
@@ -0,0 +1,181 @@
+This is https://github.com/loongarch64/userspace-rcu/pull/2, yet to be
+upstreamed but already reviewed and accepted by the LoongArch porting
+community.
+
+(and https://github.com/urcu/userspace-rcu/pull/11)
+
+From 213197eea1a711da2f7cc0c04cdf33acb1b3c50e Mon Sep 17 00:00:00 2001
+From: Wang Jing <wangjing@loongson.cn>
+Date: Tue, 8 Jun 2021 19:44:49 +0800
+Subject: [PATCH] Add LoongArch support
+
+--- a/LICENSE
++++ b/LICENSE
+@@ -44,6 +44,7 @@ MIT/X11 (BSD like) license apply to:
+ compiler.h
+ arch/s390.h
+ uatomic/alpha.h
++uatomic/loongarch.h
+ uatomic/mips.h
+ uatomic/nios2.h
+ uatomic/s390.h
+--- a/README.md
++++ b/README.md
+@@ -51,6 +51,7 @@ Currently, the following architectures are supported:
+ - hppa/PA-RISC
+ - m68k
+ - RISC-V
++ - LoongArch
+
+ Tested on:
+
+--- a/include/Makefile.am
++++ b/include/Makefile.am
+@@ -7,6 +7,7 @@ nobase_include_HEADERS = \
+ urcu/arch.h \
+ urcu/arch/hppa.h \
+ urcu/arch/ia64.h \
++ urcu/arch/loongarch.h \
+ urcu/arch/m68k.h \
+ urcu/arch/mips.h \
+ urcu/arch/nios2.h \
+@@ -67,6 +68,7 @@ nobase_include_HEADERS = \
+ urcu/uatomic.h \
+ urcu/uatomic/hppa.h \
+ urcu/uatomic/ia64.h \
++ urcu/uatomic/loongarch.h \
+ urcu/uatomic/m68k.h \
+ urcu/uatomic/mips.h \
+ urcu/uatomic/nios2.h \
+--- a/include/urcu/arch.h
++++ b/include/urcu/arch.h
+@@ -49,6 +49,7 @@
+ * URCU_ARCH_HPPA : All HP PA-RISC variants
+ * URCU_ARCH_M68K : All Motorola 68000 variants
+ * URCU_ARCH_RISCV : All RISC-V variants
++ * URCU_ARCH_LOONGARCH : All LoongArch variants
+ */
+
+ #if (defined(__INTEL_OFFLOAD) || defined(__TARGET_ARCH_MIC) || defined(__MIC__))
+@@ -157,6 +158,11 @@
+ #define URCU_ARCH_RISCV 1
+ #include <urcu/arch/riscv.h>
+
++#elif defined(__loongarch__)
++
++#define URCU_ARCH_LOONGARCH 1
++#include <urcu/arch/loongarch.h>
++
+ #else
+ #error "Cannot build: unrecognized architecture, see <urcu/arch.h>."
+ #endif
+--- /dev/null
++++ b/include/urcu/arch/loongarch.h
+@@ -0,0 +1,49 @@
++#ifndef _URCU_ARCH_LOONGARCH_H
++#define _URCU_ARCH_LOONGARCH_H
++
++/*
++ * arch/loongarch.h: trivial definitions for the LoongArch architecture.
++ *
++ * Copyright (c) 2021 Wang Jing <wangjing@loongson.cn>
++ *
++ * This library is free software; you can redistribute it and/or
++ * modify it under the terms of the GNU Lesser General Public
++ * License as published by the Free Software Foundation; either
++ * version 2.1 of the License, or (at your option) any later version.
++ *
++ * This library is distributed in the hope that it will be useful,
++ * but WITHOUT ANY WARRANTY; without even the implied warranty of
++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
++ * Lesser General Public License for more details.
++ *
++ * You should have received a copy of the GNU Lesser General Public
++ * License along with this library; if not, write to the Free Software
++ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
++ */
++
++#include <urcu/compiler.h>
++#include <urcu/config.h>
++#include <urcu/syscall-compat.h>
++
++#ifdef __cplusplus
++extern "C" {
++#endif
++
++#include <stdlib.h>
++#include <sys/time.h>
++
++/*
++ * On Linux, define the membarrier system call number if not yet available in
++ * the system headers.
++ */
++#if (defined(__linux__) && !defined(__NR_membarrier))
++#define __NR_membarrier 283
++#endif
++
++#ifdef __cplusplus
++}
++#endif
++
++#include <urcu/arch/generic.h>
++
++#endif /* _URCU_ARCH_LOONGARCH_H */
+--- a/include/urcu/uatomic.h
++++ b/include/urcu/uatomic.h
+@@ -51,6 +51,8 @@
+ #include <urcu/uatomic/m68k.h>
+ #elif defined(URCU_ARCH_RISCV)
+ #include <urcu/uatomic/riscv.h>
++#elif defined(URCU_ARCH_LOONGARCH)
++#include <urcu/uatomic/loongarch.h>
+ #else
+ #error "Cannot build: unrecognized architecture, see <urcu/arch.h>."
+ #endif
+--- /dev/null
++++ b/include/urcu/uatomic/loongarch.h
+@@ -0,0 +1,44 @@
++#ifndef _URCU_UATOMIC_ARCH_LOONGARCH_H
++#define _URCU_UATOMIC_ARCH_LOONGARCH_H
++
++/*
++ * Atomic exchange operations for the LoongArch architecture. Let GCC do it.
++ *
++ * Copyright (c) 2021 Wang Jing <wangjing@loongson.cn>
++ *
++ * Permission is hereby granted, free of charge, to any person obtaining a copy
++ * of this software and associated documentation files (the "Software"), to
++ * deal in the Software without restriction, including without limitation the
++ * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
++ * sell copies of the Software, and to permit persons to whom the Software is
++ * furnished to do so, subject to the following conditions:
++ *
++ * The above copyright notice and this permission notice shall be included in
++ * all copies or substantial portions of the Software.
++ *
++ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
++ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
++ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
++ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
++ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
++ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
++ * IN THE SOFTWARE.
++ */
++
++#include <urcu/compiler.h>
++#include <urcu/system.h>
++
++#ifdef __cplusplus
++extern "C" {
++#endif
++
++#define UATOMIC_HAS_ATOMIC_BYTE
++#define UATOMIC_HAS_ATOMIC_SHORT
++
++#ifdef __cplusplus
++}
++#endif
++
++#include <urcu/uatomic/generic.h>
++
++#endif /* _URCU_UATOMIC_ARCH_LOONGARCH_H */
diff --git a/dev-libs/userspace-rcu/files/userspace-rcu-0.14.0-c11.patch b/dev-libs/userspace-rcu/files/userspace-rcu-0.14.0-c11.patch
new file mode 100644
index 000000000000..c931e052c432
--- /dev/null
+++ b/dev-libs/userspace-rcu/files/userspace-rcu-0.14.0-c11.patch
@@ -0,0 +1,61 @@
+https://github.com/urcu/userspace-rcu/commit/6fa8b4f80f1d2efbc90fc6d2a5fb0dc1d7fd2a19
+
+From 6fa8b4f80f1d2efbc90fc6d2a5fb0dc1d7fd2a19 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Ond=C5=99ej=20Sur=C3=BD?= <ondrej@sury.org>
+Date: Fri, 17 Mar 2023 16:44:10 +0100
+Subject: [PATCH] Fix: use __noreturn__ for C11-compatibility
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+The noreturn convenience macro provided by stdnoreturn.h might get
+included before urcu headers, use __noreturn__ for better compatibility
+with code using <stdnoreturn.h> header.
+
+Signed-off-by: Ondřej Surý <ondrej@sury.org>
+Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
+--- a/include/urcu/uatomic/generic.h
++++ b/include/urcu/uatomic/generic.h
+@@ -38,7 +38,7 @@ extern "C" {
+ #endif
+
+ #if !defined __OPTIMIZE__ || defined UATOMIC_NO_LINK_ERROR
+-static inline __attribute__((always_inline, noreturn))
++static inline __attribute__((always_inline, __noreturn__))
+ void _uatomic_link_error(void)
+ {
+ #ifdef ILLEGAL_INSTR
+--- a/src/urcu-call-rcu-impl.h
++++ b/src/urcu-call-rcu-impl.h
+@@ -1064,7 +1064,7 @@ void urcu_register_rculfhash_atfork(struct urcu_atfork *atfork)
+ * This unregistration function is deprecated, meant only for internal
+ * use by rculfhash.
+ */
+-__attribute__((noreturn))
++__attribute__((__noreturn__))
+ void urcu_unregister_rculfhash_atfork(struct urcu_atfork *atfork __attribute__((unused)))
+ {
+ urcu_die(EPERM);
+--- a/tests/regression/rcutorture.h
++++ b/tests/regression/rcutorture.h
+@@ -572,7 +572,7 @@ int stresstest(int nreaders)
+ */
+
+ static
+-void usage(char *argv[]) __attribute__((noreturn));
++void usage(char *argv[]) __attribute__((__noreturn__));
+
+ static
+ void usage(char *argv[])
+--- a/tests/utils/tap.h
++++ b/tests/utils/tap.h
+@@ -41,7 +41,7 @@ __attribute__((format(TAP_PRINTF_FORMAT, 5, 6)))
+ unsigned int _gen_result(int, const char *, const char *, unsigned int, const char *, ...);
+
+ int plan_no_plan(void);
+-__attribute__((noreturn))
++__attribute__((__noreturn__))
+ int plan_skip_all(const char *);
+ int plan_tests(unsigned int);
+
+
diff --git a/dev-libs/userspace-rcu/files/userspace-rcu-0.14.0-noreturn.patch b/dev-libs/userspace-rcu/files/userspace-rcu-0.14.0-noreturn.patch
new file mode 100644
index 000000000000..c8798092f158
--- /dev/null
+++ b/dev-libs/userspace-rcu/files/userspace-rcu-0.14.0-noreturn.patch
@@ -0,0 +1,51 @@
+https://github.com/urcu/userspace-rcu/commit/106ed13754b1b836f4b59405f4e02aea4bf5eef0
+
+From 106ed13754b1b836f4b59405f4e02aea4bf5eef0 Mon Sep 17 00:00:00 2001
+From: Michael Jeanson <mjeanson@efficios.com>
+Date: Thu, 23 Mar 2023 14:23:55 -0400
+Subject: [PATCH] fix: warning 'noreturn' function does return on ppc
+
+On a ppc64 system with gcc 9.5.0 I get the following error when building
+with -O0 :
+
+/usr/include/urcu/uatomic/generic.h: In function 'void _uatomic_link_error()':
+/usr/include/urcu/uatomic/generic.h:53:1: warning: 'noreturn' function does return
+ 53 | }
+ | ^
+
+Split the inline function in 2 variants and apply the noreturn attribute
+only on the builtin_trap one.
+
+Change-Id: I5ae8e764c4cc27af0463924a653b9eaa9f698c34
+Signed-off-by: Michael Jeanson <mjeanson@efficios.com>
+Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
+--- a/include/urcu/uatomic/generic.h
++++ b/include/urcu/uatomic/generic.h
+@@ -38,19 +38,23 @@ extern "C" {
+ #endif
+
+ #if !defined __OPTIMIZE__ || defined UATOMIC_NO_LINK_ERROR
+-static inline __attribute__((always_inline, __noreturn__))
++#ifdef ILLEGAL_INSTR
++static inline __attribute__((always_inline))
+ void _uatomic_link_error(void)
+ {
+-#ifdef ILLEGAL_INSTR
+ /*
+ * generate an illegal instruction. Cannot catch this with
+ * linker tricks when optimizations are disabled.
+ */
+ __asm__ __volatile__(ILLEGAL_INSTR);
++}
+ #else
++static inline __attribute__((always_inline, __noreturn__))
++void _uatomic_link_error(void)
++{
+ __builtin_trap();
+-#endif
+ }
++#endif
+
+ #else /* #if !defined __OPTIMIZE__ || defined UATOMIC_NO_LINK_ERROR */
+ extern void _uatomic_link_error(void);
+
diff --git a/dev-libs/userspace-rcu/metadata.xml b/dev-libs/userspace-rcu/metadata.xml
index dce48a4a9489..6d5b9ce8ea57 100644
--- a/dev-libs/userspace-rcu/metadata.xml
+++ b/dev-libs/userspace-rcu/metadata.xml
@@ -5,7 +5,7 @@
<email>base-system@gentoo.org</email>
<name>Gentoo Base System</name>
</maintainer>
- <use>
- <flag name="regression-test">Run regression tests (requires FEATURES=test)</flag>
- </use>
+ <upstream>
+ <remote-id type="github">urcu/userspace-rcu</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/dev-libs/userspace-rcu/userspace-rcu-0.13.0.ebuild b/dev-libs/userspace-rcu/userspace-rcu-0.13.0.ebuild
deleted file mode 100644
index 580b14a63699..000000000000
--- a/dev-libs/userspace-rcu/userspace-rcu-0.13.0.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
-
-DESCRIPTION="userspace RCU (read-copy-update) library"
-HOMEPAGE="https://liburcu.org/"
-SRC_URI="https://lttng.org/files/urcu/${P}.tar.bz2"
-
-LICENSE="LGPL-2.1"
-SLOT="0/8" # subslot = soname version
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~mips ppc ppc64 ~riscv sparc x86"
-IUSE="static-libs regression-test test"
-RESTRICT="!test? ( test )"
-
-DEPEND="test? ( sys-process/time )"
-
-src_configure() {
- local myeconfargs=(
- --enable-shared
- $(use_enable static-libs static)
- )
- econf "${myeconfargs[@]}"
-}
-
-src_install() {
- default
- find "${ED}" -type f -name "*.la" -delete || die
-}
-
-src_test() {
- default
- if use regression-test ; then
- emake -C tests/regression regtest
- fi
-}
diff --git a/dev-libs/userspace-rcu/userspace-rcu-0.13.1.ebuild b/dev-libs/userspace-rcu/userspace-rcu-0.13.1.ebuild
deleted file mode 100644
index 434c0ba25a9e..000000000000
--- a/dev-libs/userspace-rcu/userspace-rcu-0.13.1.ebuild
+++ /dev/null
@@ -1,50 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit autotools
-
-DESCRIPTION="Userspace RCU (read-copy-update) library"
-HOMEPAGE="https://liburcu.org/"
-SRC_URI="https://lttng.org/files/urcu/${P}.tar.bz2"
-
-LICENSE="LGPL-2.1"
-SLOT="0/8" # subslot = soname version
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86"
-IUSE="static-libs test"
-RESTRICT="!test? ( test )"
-
-BDEPEND="test? ( sys-process/time )"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-0.13.1-tests-no-benchmark.patch
-)
-
-src_prepare() {
- default
-
- # Needed for tests patch
- eautoreconf
-}
-
-src_configure() {
- local myeconfargs=(
- --enable-shared
- $(use_enable static-libs static)
- )
-
- econf "${myeconfargs[@]}"
-}
-
-src_test() {
- default
-
- emake -C tests/regression regtest
-}
-
-src_install() {
- default
-
- find "${ED}" -type f -name "*.la" -delete || die
-}
diff --git a/dev-libs/userspace-rcu/userspace-rcu-0.13.2.ebuild b/dev-libs/userspace-rcu/userspace-rcu-0.13.2.ebuild
new file mode 100644
index 000000000000..329e3a0718f5
--- /dev/null
+++ b/dev-libs/userspace-rcu/userspace-rcu-0.13.2.ebuild
@@ -0,0 +1,53 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools
+
+DESCRIPTION="Userspace RCU (read-copy-update) library"
+HOMEPAGE="https://liburcu.org/"
+SRC_URI="https://lttng.org/files/urcu/${P}.tar.bz2"
+
+LICENSE="LGPL-2.1"
+SLOT="0/8" # subslot = soname version
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86"
+IUSE="static-libs test"
+RESTRICT="!test? ( test )"
+
+BDEPEND="test? ( sys-process/time )"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-0.13.1-tests-no-benchmark.patch
+ "${FILESDIR}"/${PN}-0.13.1-loong.patch
+)
+
+src_prepare() {
+ default
+
+ # Needed for tests patch
+ # ... and refresh libtool (see https://github.com/gentoo/gentoo/pull/23973)
+ # ... and for build on loong (see https://github.com/gentoo/gentoo/pull/25189)
+ eautoreconf
+}
+
+src_configure() {
+ local myeconfargs=(
+ --enable-shared
+ $(use_enable static-libs static)
+ )
+
+ econf "${myeconfargs[@]}"
+}
+
+src_test() {
+ default
+
+ emake -C tests/regression regtest
+}
+
+src_install() {
+ default
+
+ find "${ED}" -type f -name "*.la" -delete || die
+}
diff --git a/dev-libs/userspace-rcu/userspace-rcu-0.14.0.ebuild b/dev-libs/userspace-rcu/userspace-rcu-0.14.0.ebuild
new file mode 100644
index 000000000000..73701badf8e0
--- /dev/null
+++ b/dev-libs/userspace-rcu/userspace-rcu-0.14.0.ebuild
@@ -0,0 +1,58 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools
+
+DESCRIPTION="Userspace RCU (read-copy-update) library"
+HOMEPAGE="https://liburcu.org/"
+SRC_URI="https://lttng.org/files/urcu/${P}.tar.bz2"
+
+LICENSE="LGPL-2.1"
+SLOT="0/8" # subslot = soname version
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86"
+IUSE="static-libs test"
+RESTRICT="!test? ( test )"
+
+BDEPEND="test? ( sys-process/time )"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-0.13.1-tests-no-benchmark.patch
+ "${FILESDIR}"/${PN}-0.13.1-loong.patch
+ "${FILESDIR}"/${P}-c11.patch
+ "${FILESDIR}"/${P}-noreturn.patch
+)
+
+src_prepare() {
+ default
+
+ # Needed for tests patch
+ # ... and refresh libtool (see https://github.com/gentoo/gentoo/pull/23973)
+ # ... and for build on loong (see https://github.com/gentoo/gentoo/pull/25189)
+ eautoreconf
+}
+
+src_configure() {
+ local myeconfargs=(
+ --enable-shared
+ $(use_enable static-libs static)
+ )
+
+ econf "${myeconfargs[@]}"
+}
+
+src_test() {
+ default
+
+ emake -C tests/regression regtest
+
+ # We don't run the benchmark tests.
+ rm tests/benchmark/test-suite.log || die
+}
+
+src_install() {
+ default
+
+ find "${ED}" -type f -name "*.la" -delete || die
+}
diff --git a/dev-libs/utfcpp/Manifest b/dev-libs/utfcpp/Manifest
index 3055ba566932..6b90b91d3959 100644
--- a/dev-libs/utfcpp/Manifest
+++ b/dev-libs/utfcpp/Manifest
@@ -1,3 +1,2 @@
-DIST utfcpp-3.1.1.tar.gz 26374 BLAKE2B 93ad55c113c922e0105b509adf8dc1505e625bfeed0c60dabe7243ec288e3dd13b79b9382af2fff6daf780c5ebf9da32a492263d4998204222c1e446d16f4473 SHA512 720e2eba5c04f0bc4903a287138149a9cd432bc68bb163fe36b2e0d26d8bf616b4665f389b4a9c97af6ae7869e78973d97db976a4745512a241eebf774608997
-DIST utfcpp-3.1.2.tar.gz 26388 BLAKE2B f0ebf7f054c488259d2a409b2c5201b73e928901cf337cdc2a99a2f64deaf431ee60328b3b61e134d3cd49428eb0c921057ea248269029ef2838ed72dd8af7d7 SHA512 d43df19d9e8652291f1301a326ec0d592bad43d6ecf9086947037f0ae0c1e70c2d96082c48066639e2b7c57c0ea0e4782d6b215d017cf96a4c73ff3a15feec75
-DIST utfcpp-3.1.tar.gz 25871 BLAKE2B 6bafb933b777e842375b3dc6b1b5bc41efb0e9f40bbd33ccbbaf07b57a28c4e485d596725297fc2de83c23fa3c66872519883727714d236f4a37e07ed4825fc9 SHA512 826ac7aa61215ac2144fa3f5edc7f291c3dd25dc69b0c82526840f4651f822515ec262915e1117d975e5c5dd729f6166806a5d397262f59a2b323eb7009671f5
+DIST ftest-20211106174116.tar.gz 3232 BLAKE2B 9a2184e82a19465333600b7c31de9a51e6716a4099f23145d93c967636da6539a0e71bfdd082507bf19a440df1199a1abf6f528b3957391f8b2a5c3e4dfb26ec SHA512 d92d3a3abd4f7b35971bfe7d74e1b822931818f60149a56ad29dd3238300ad71de1989fedc602a44a9c1a253da7bce758adf8d5b6da63ca6f322fb06dcefc98a
+DIST utfcpp-3.2.1.tar.gz 27377 BLAKE2B 27c4becfa7e1f5e8b63ee0e03b9f66cf5d6743cff3706222dde6e21c3feb51897eddd7dcaeaaacc66513fdb209d5be392e83ba22ab7a7d848bdf9721577d6444 SHA512 5798487f12b1bc55d3e06aed38f7604271ca3402963efcf85d181fd590d8a088d21e961e77698e60dc2cdae8cf4506645903442c45fd328201752d9589180e0d
diff --git a/dev-libs/utfcpp/metadata.xml b/dev-libs/utfcpp/metadata.xml
index 3aee5d1f054e..b9907b54a199 100644
--- a/dev-libs/utfcpp/metadata.xml
+++ b/dev-libs/utfcpp/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>
<upstream>
<remote-id type="github">nemtrif/utfcpp</remote-id>
diff --git a/dev-libs/utfcpp/utfcpp-3.1.1.ebuild b/dev-libs/utfcpp/utfcpp-3.1.1.ebuild
deleted file mode 100644
index 14032157c03c..000000000000
--- a/dev-libs/utfcpp/utfcpp-3.1.1.ebuild
+++ /dev/null
@@ -1,47 +0,0 @@
-# Copyright 2015-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-
-inherit cmake
-
-if [[ "${PV}" == "9999" ]]; then
- inherit git-r3
-
- EGIT_REPO_URI="https://github.com/nemtrif/utfcpp"
- EGIT_SUBMODULES=()
-fi
-
-DESCRIPTION="UTF-8 C++ library"
-HOMEPAGE="https://github.com/nemtrif/utfcpp"
-if [[ "${PV}" == "9999" ]]; then
- SRC_URI=""
-else
- SRC_URI="https://github.com/nemtrif/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-fi
-
-LICENSE="Boost-1.0"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~ppc ~ppc64 ~sparc ~x86"
-IUSE="test"
-RESTRICT="!test? ( test )"
-
-BDEPEND=""
-DEPEND="test? ( dev-cpp/gtest )"
-RDEPEND=""
-
-src_prepare() {
- sed -e "/add_subdirectory(extern\/gtest)/d" -i CMakeLists.txt || die
- sed -e "s/gtest_main/gtest &/" -i tests/CMakeLists.txt || die
-
- cmake_src_prepare
-}
-
-src_configure() {
- local mycmakeargs=(
- -DUTF8_SAMPLES=OFF
- -DUTF8_TESTS=$(usex test ON OFF)
- )
-
- cmake_src_configure
-}
diff --git a/dev-libs/utfcpp/utfcpp-3.1.2.ebuild b/dev-libs/utfcpp/utfcpp-3.1.2.ebuild
deleted file mode 100644
index c23963c38a11..000000000000
--- a/dev-libs/utfcpp/utfcpp-3.1.2.ebuild
+++ /dev/null
@@ -1,47 +0,0 @@
-# Copyright 2015-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-
-inherit cmake
-
-if [[ "${PV}" == "9999" ]]; then
- inherit git-r3
-
- EGIT_REPO_URI="https://github.com/nemtrif/utfcpp"
- EGIT_SUBMODULES=()
-fi
-
-DESCRIPTION="UTF-8 C++ library"
-HOMEPAGE="https://github.com/nemtrif/utfcpp"
-if [[ "${PV}" == "9999" ]]; then
- SRC_URI=""
-else
- SRC_URI="https://github.com/nemtrif/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-fi
-
-LICENSE="Boost-1.0"
-SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ppc ppc64 sparc x86"
-IUSE="test"
-RESTRICT="!test? ( test )"
-
-BDEPEND=""
-DEPEND="test? ( dev-cpp/gtest )"
-RDEPEND=""
-
-src_prepare() {
- sed -e "/add_subdirectory(extern\/gtest)/d" -i CMakeLists.txt || die
- sed -e "s/gtest_main/gtest &/" -i tests/CMakeLists.txt || die
-
- cmake_src_prepare
-}
-
-src_configure() {
- local mycmakeargs=(
- -DUTF8_SAMPLES=OFF
- -DUTF8_TESTS=$(usex test ON OFF)
- )
-
- cmake_src_configure
-}
diff --git a/dev-libs/utfcpp/utfcpp-3.1.ebuild b/dev-libs/utfcpp/utfcpp-3.1.ebuild
deleted file mode 100644
index 65c032f5f0ab..000000000000
--- a/dev-libs/utfcpp/utfcpp-3.1.ebuild
+++ /dev/null
@@ -1,47 +0,0 @@
-# Copyright 2015-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-
-inherit cmake
-
-if [[ "${PV}" == "9999" ]]; then
- inherit git-r3
-
- EGIT_REPO_URI="https://github.com/nemtrif/utfcpp"
- EGIT_SUBMODULES=()
-fi
-
-DESCRIPTION="UTF-8 C++ library"
-HOMEPAGE="https://github.com/nemtrif/utfcpp"
-if [[ "${PV}" == "9999" ]]; then
- SRC_URI=""
-else
- SRC_URI="https://github.com/nemtrif/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-fi
-
-LICENSE="Boost-1.0"
-SLOT="0"
-KEYWORDS="amd64 arm64 ppc ppc64 sparc x86"
-IUSE="test"
-RESTRICT="!test? ( test )"
-
-BDEPEND=""
-DEPEND="test? ( dev-cpp/gtest )"
-RDEPEND=""
-
-src_prepare() {
- sed -e "/add_subdirectory(extern\/gtest)/d" -i CMakeLists.txt || die
- sed -e "s/gtest_main/gtest &/" -i tests/CMakeLists.txt || die
-
- cmake_src_prepare
-}
-
-src_configure() {
- local mycmakeargs=(
- -DUTF8_SAMPLES=OFF
- -DUTF8_TESTS=$(usex test ON OFF)
- )
-
- cmake_src_configure
-}
diff --git a/dev-libs/utfcpp/utfcpp-3.2.1.ebuild b/dev-libs/utfcpp/utfcpp-3.2.1.ebuild
new file mode 100644
index 000000000000..6641f0e66d79
--- /dev/null
+++ b/dev-libs/utfcpp/utfcpp-3.2.1.ebuild
@@ -0,0 +1,64 @@
+# Copyright 2015-2023 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/nemtrif/utfcpp"
+ EGIT_SUBMODULES=()
+else
+ FTEST_GIT_REVISION="1e14b77c2ab8489386fc7046a8bced696c0fc4d6"
+ FTEST_DATE="20211106174116"
+fi
+
+DESCRIPTION="UTF-8 C++ library"
+HOMEPAGE="https://github.com/nemtrif/utfcpp"
+if [[ "${PV}" == "9999" ]]; then
+ SRC_URI=""
+else
+ SRC_URI="https://github.com/nemtrif/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz
+ test? ( https://github.com/nemtrif/ftest/archive/${FTEST_GIT_REVISION}.tar.gz -> ftest-${FTEST_DATE}.tar.gz )"
+fi
+
+LICENSE="Boost-1.0"
+SLOT="0"
+KEYWORDS="amd64 arm arm64 ~loong ppc ppc64 ~riscv sparc x86"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+BDEPEND=""
+DEPEND=""
+RDEPEND=""
+
+src_unpack() {
+ if [[ "${PV}" == "9999" ]]; then
+ git-r3_src_unpack
+
+ if use test; then
+ git-r3_fetch https://github.com/nemtrif/ftest refs/heads/master
+ git-r3_checkout https://github.com/nemtrif/ftest "${WORKDIR}/ftest"
+ fi
+ else
+ default
+
+ if use test; then
+ mv ftest-${FTEST_GIT_REVISION} ftest || die
+ fi
+ fi
+
+ rmdir "${S}/extern/ftest" || die
+ ln -s ../../ftest "${S}/extern/ftest" || die
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DUTF8_SAMPLES=OFF
+ -DUTF8_TESTS=$(usex test ON OFF)
+ )
+
+ cmake_src_configure
+}
diff --git a/dev-libs/utfcpp/utfcpp-9999.ebuild b/dev-libs/utfcpp/utfcpp-9999.ebuild
index ca5002a61255..0b15d97bb35e 100644
--- a/dev-libs/utfcpp/utfcpp-9999.ebuild
+++ b/dev-libs/utfcpp/utfcpp-9999.ebuild
@@ -1,7 +1,7 @@
-# Copyright 2015-2020 Gentoo Authors
+# Copyright 2015-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI="7"
+EAPI="8"
inherit cmake
@@ -10,6 +10,9 @@ if [[ "${PV}" == "9999" ]]; then
EGIT_REPO_URI="https://github.com/nemtrif/utfcpp"
EGIT_SUBMODULES=()
+else
+ FTEST_GIT_REVISION=""
+ FTEST_DATE=""
fi
DESCRIPTION="UTF-8 C++ library"
@@ -17,7 +20,8 @@ HOMEPAGE="https://github.com/nemtrif/utfcpp"
if [[ "${PV}" == "9999" ]]; then
SRC_URI=""
else
- SRC_URI="https://github.com/nemtrif/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+ SRC_URI="https://github.com/nemtrif/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz
+ test? ( https://github.com/nemtrif/ftest/archive/${FTEST_GIT_REVISION}.tar.gz -> ftest-${FTEST_DATE}.tar.gz )"
fi
LICENSE="Boost-1.0"
@@ -27,14 +31,27 @@ IUSE="test"
RESTRICT="!test? ( test )"
BDEPEND=""
-DEPEND="test? ( dev-cpp/gtest )"
+DEPEND=""
RDEPEND=""
-src_prepare() {
- sed -e "/add_subdirectory(extern\/gtest)/d" -i CMakeLists.txt || die
- sed -e "s/gtest_main/gtest &/" -i tests/CMakeLists.txt || die
+src_unpack() {
+ if [[ "${PV}" == "9999" ]]; then
+ git-r3_src_unpack
+
+ if use test; then
+ git-r3_fetch https://github.com/nemtrif/ftest refs/heads/master
+ git-r3_checkout https://github.com/nemtrif/ftest "${WORKDIR}/ftest"
+ fi
+ else
+ default
+
+ if use test; then
+ mv ftest-${FTEST_GIT_REVISION} ftest || die
+ fi
+ fi
- cmake_src_prepare
+ rmdir "${S}/extern/ftest" || die
+ ln -s ../../ftest "${S}/extern/ftest" || die
}
src_configure() {
diff --git a/dev-libs/uthash/metadata.xml b/dev-libs/uthash/metadata.xml
index c112976cd3bc..dfb4459ed6bf 100644
--- a/dev-libs/uthash/metadata.xml
+++ b/dev-libs/uthash/metadata.xml
@@ -2,8 +2,8 @@
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
- <email>jsmolic@gentoo.org</email>
- <name>Jakov Smolić</name>
+ <email>jsmolic@gentoo.org</email>
+ <name>Jakov Smolić</name>
</maintainer>
<upstream>
<remote-id type="github">troydhanson/uthash</remote-id>
diff --git a/dev-libs/uthash/uthash-2.3.0.ebuild b/dev-libs/uthash/uthash-2.3.0.ebuild
index 41f2591d79e4..d0327b958b86 100644
--- a/dev-libs/uthash/uthash-2.3.0.ebuild
+++ b/dev-libs/uthash/uthash-2.3.0.ebuild
@@ -11,7 +11,7 @@ SRC_URI="https://github.com/troydhanson/uthash/archive/v${PV}.tar.gz -> ${P}.tar
LICENSE="BSD-1"
SLOT="0"
-KEYWORDS="amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~sparc x86"
+KEYWORDS="amd64 arm arm64 ~loong ~ppc ppc64 ~riscv ~sparc x86"
IUSE="test"
RESTRICT="!test? ( test )"
diff --git a/dev-libs/uulib/files/uulib-0.5.20-Fix-Wimplicit-function-declaration-for-strerror.patch b/dev-libs/uulib/files/uulib-0.5.20-Fix-Wimplicit-function-declaration-for-strerror.patch
new file mode 100644
index 000000000000..3f1e7c75ec93
--- /dev/null
+++ b/dev-libs/uulib/files/uulib-0.5.20-Fix-Wimplicit-function-declaration-for-strerror.patch
@@ -0,0 +1,16 @@
+From 5679254b7b79e2f091fbb8658af910fe961f4d65 Mon Sep 17 00:00:00 2001
+From: Sam James <sam@gentoo.org>
+Date: Fri, 4 Nov 2022 01:35:53 +0000
+Subject: [PATCH] Fix -Wimplicit-function-declaration for strerror
+
+Signed-off-by: Sam James <sam@gentoo.org>
+--- a/configure.in
++++ b/configure.in
+@@ -51,6 +51,7 @@ AC_CHECK_FUNC(tempnam,,AC_DEFINE(tempnam,_FP_tempnam))
+ #
+ AC_MSG_CHECKING([for strerror])
+ AC_TRY_LINK([
++#include <string.h>
+ char *blubb() { return (char *) strerror (42); }
+ ],[
+ (void) blubb();
diff --git a/dev-libs/uulib/files/uulib-0.5.20-libtool.patch b/dev-libs/uulib/files/uulib-0.5.20-libtool.patch
new file mode 100644
index 000000000000..2840176552f3
--- /dev/null
+++ b/dev-libs/uulib/files/uulib-0.5.20-libtool.patch
@@ -0,0 +1,123 @@
+Modified from: PDL Linux
+https://raw.githubusercontent.com/pld-linux/uudeview/master/uudeview-shared.patch
+https://github.com/pld-linux/uudeview
+
+Bug: https://bugs.gentoo.org/780018
+
+From: orbea <orbea@riseup.net>
+Date: Wed, 13 Jul 2022 22:17:55 -0700
+Subject: [PATCH] Use libtool
+
+diff --git a/Makefile.in b/Makefile.in
+index 951c731..342bf56 100644
+--- a/Makefile.in
++++ b/Makefile.in
+@@ -25,6 +25,10 @@ CC = @CC@
+ #
+ CFLAGS = @CFLAGS@ -I. @CPPFLAGS@ @DEFS@
+ #
++# the libtool program
++#
++LIBTOOL = @LIBTOOL@
++#
+ # the ranlib program
+ #
+ RANLIB = @RANLIB@
+@@ -40,9 +44,16 @@ PATCH = @PATCH@
+ VDEF = -DVERSION=\"$(VERSION)\" -DPATCH=\"$(PATCH)\"
+ #
+
++top_builddir = @top_builddir@
++
++prefix = @prefix@
++exec_prefix = @exec_prefix@
++libdir = @libdir@
++includedir = @includedir@
++
+ UULIB_SOURCE = uulib.c uucheck.c uunconc.c uuutil.c uuencode.c \
+ uuscan.c uustring.c fptools.c crc32.c
+-UULIB_OBJ = ${UULIB_SOURCE:.c=.o}
++UULIB_OBJ = ${UULIB_SOURCE:.c=.lo}
+
+ #
+ # make stuff
+@@ -51,11 +62,11 @@ UULIB_OBJ = ${UULIB_SOURCE:.c=.o}
+ .SUFFIXES:
+ .SUFFIXES: .c .o
+
+-all: libuu.a
++all: libuu.la
+
+ clean:
+ rm -f [Xx]deview gif2gfp
+- rm -f *.o *.a *.so core *~ TAGS
++ rm -f *.o *.a *.so core *~ TAGS *.lo *.la
+
+ distclean: clean
+ rm -f config.status config.cache config.log Makefile config.h
+@@ -67,22 +78,25 @@ new: clean
+ rm -f libuu.a
+ $(MAKE) all
+
+-libuu.a: $(UULIB_OBJ)
+- rm -f $@
+- ar r $@ $(UULIB_OBJ)
+- -$(RANLIB) $@
++libuu.la: $(UULIB_OBJ)
++ $(LIBTOOL) --mode=link $(CC) -o libuu.la $(LDFLAGS) $(UULIB_OBJ) -rpath $(libdir)
++
++%.lo : %.c
++ $(LIBTOOL) --mode=compile $(CC) -c $(CFLAGS) $(VDEF) $<
+
+-.c.o:
+- $(CC) -c $(CFLAGS) $(VDEF) $<
++install: libuu.la
++ mkdir -p $(DESTDIR)$(libdir) $(DESTDIR)$(includedir)
++ $(LIBTOOL) --mode=install install libuu.la $(DESTDIR)$(libdir)
++ cp uudeview.h fptools.h $(DESTDIR)$(includedir)
+
+-uuencode.o: uuencode.c uudeview.h uuint.h uustring.h fptools.h config.h
+-uulib.o: uulib.c uudeview.h uuint.h uustring.h fptools.h config.h
+-uunconc.o: uunconc.c uudeview.h uuint.h uustring.h fptools.h config.h
+-uucheck.o: uucheck.c uudeview.h uuint.h uustring.h fptools.h config.h
+-uuutil.o: uuutil.c uudeview.h uuint.h uustring.h fptools.h config.h
+-uuscan.o: uuutil.c uudeview.h uuint.h uustring.h fptools.h config.h
+-uustring.o: uustring.c uudeview.h uuint.h uustring.h config.h
+-fptools.o: fptools.c fptools.h config.h
++uuencode.lo: uuencode.c uudeview.h uuint.h uustring.h fptools.h config.h
++uulib.lo: uulib.c uudeview.h uuint.h uustring.h fptools.h config.h
++uunconc.lo: uunconc.c uudeview.h uuint.h uustring.h fptools.h config.h
++uucheck.lo: uucheck.c uudeview.h uuint.h uustring.h fptools.h config.h
++uuutil.lo: uuutil.c uudeview.h uuint.h uustring.h fptools.h config.h
++uuscan.lo: uuutil.c uudeview.h uuint.h uustring.h fptools.h config.h
++uustring.lo: uustring.c uudeview.h uuint.h uustring.h config.h
++fptools.lo: fptools.c fptools.h config.h
+
+ uustring.h: uustring.c
+ awk -f uustring.awk < uustring.c > uustring.h
+diff --git a/configure.in b/configure.in
+index ef00d18..563c77d 100644
+--- a/configure.in
++++ b/configure.in
+@@ -8,6 +8,8 @@ dnl
+
+ AC_INIT(uulib.c)
+ AC_PREREQ(2.9)
++AC_CONFIG_AUX_DIR([.])
++AC_CONFIG_MACRO_DIR([m4])
+ AC_CONFIG_HEADER(config.h)
+
+ #
+@@ -20,7 +22,7 @@ AC_PROG_CC
+ AC_PROG_CPP
+ wi_PROTOTYPES
+ AC_PROG_MAKE_SET
+-AC_PROG_RANLIB
++LT_INIT
+
+ if test "$wi_cv_prototypes" = no ; then
+ AC_WARN([Your compiler does not support function prototyping and])
+diff --git a/aclocal.m4 b/m4/uulib.m4
+similarity index 100%
+rename from aclocal.m4
+rename to m4/uulib.m4
diff --git a/dev-libs/uulib/files/uulib-0.5.20-shared.patch b/dev-libs/uulib/files/uulib-0.5.20-shared.patch
deleted file mode 100644
index fade48fb5932..000000000000
--- a/dev-libs/uulib/files/uulib-0.5.20-shared.patch
+++ /dev/null
@@ -1,81 +0,0 @@
-Source: PDL Linux
-https://raw.githubusercontent.com/pld-linux/uudeview/master/uudeview-shared.patch
-https://github.com/pld-linux/uudeview
-
---- a/Makefile.in
-+++ b/Makefile.in
-@@ -40,9 +40,13 @@
- VDEF = -DVERSION=\"$(VERSION)\" -DPATCH=\"$(PATCH)\"
- #
-
-+DESTDIR =
-+libdir = @libdir@
-+includedir = @prefix@/@includedir@
-+
- UULIB_SOURCE = uulib.c uucheck.c uunconc.c uuutil.c uuencode.c \
- uuscan.c uustring.c fptools.c crc32.c
--UULIB_OBJ = ${UULIB_SOURCE:.c=.o}
-+UULIB_OBJ = ${UULIB_SOURCE:.c=.lo}
-
- #
- # make stuff
-@@ -51,11 +55,11 @@
- .SUFFIXES:
- .SUFFIXES: .c .o
-
--all: libuu.a
-+all: libuu.la
-
- clean:
- rm -f [Xx]deview gif2gfp
-- rm -f *.o *.a *.so core *~ TAGS
-+ rm -f *.o *.a *.so core *~ TAGS *.lo *.la
-
- distclean: clean
- rm -f config.status config.cache config.log Makefile config.h
-@@ -64,25 +68,28 @@
- realclean: distclean
-
- new: clean
-- rm -f libuu.a
-+ rm -f libuu.la
- $(MAKE) all
-
--libuu.a: $(UULIB_OBJ)
-- rm -f $@
-- ar r $@ $(UULIB_OBJ)
-- -$(RANLIB) $@
--
--.c.o:
-- $(CC) -c $(CFLAGS) $(VDEF) $<
--
--uuencode.o: uuencode.c uudeview.h uuint.h uustring.h fptools.h config.h
--uulib.o: uulib.c uudeview.h uuint.h uustring.h fptools.h config.h
--uunconc.o: uunconc.c uudeview.h uuint.h uustring.h fptools.h config.h
--uucheck.o: uucheck.c uudeview.h uuint.h uustring.h fptools.h config.h
--uuutil.o: uuutil.c uudeview.h uuint.h uustring.h fptools.h config.h
--uuscan.o: uuutil.c uudeview.h uuint.h uustring.h fptools.h config.h
--uustring.o: uustring.c uudeview.h uuint.h uustring.h config.h
--fptools.o: fptools.c fptools.h config.h
-+libuu.la: $(UULIB_OBJ)
-+ libtool --mode=link $(CC) -o libuu.la $(LDFLAGS) $(UULIB_OBJ) -rpath $(libdir)
-+
-+%.lo : %.c
-+ libtool --mode=compile $(CC) -c $(CFLAGS) $(VDEF) $<
-+
-+install: libuu.la
-+ install -d $(DESTDIR)$(libdir) $(DESTDIR)$(includedir)
-+ libtool --mode=install install libuu.la $(DESTDIR)$(libdir)
-+ install uudeview.h fptools.h $(DESTDIR)$(includedir)
-+
-+uuencode.lo: uuencode.c uudeview.h uuint.h uustring.h fptools.h config.h
-+uulib.lo: uulib.c uudeview.h uuint.h uustring.h fptools.h config.h
-+uunconc.lo: uunconc.c uudeview.h uuint.h uustring.h fptools.h config.h
-+uucheck.lo: uucheck.c uudeview.h uuint.h uustring.h fptools.h config.h
-+uuutil.lo: uuutil.c uudeview.h uuint.h uustring.h fptools.h config.h
-+uuscan.lo: uuutil.c uudeview.h uuint.h uustring.h fptools.h config.h
-+uustring.lo: uustring.c uudeview.h uuint.h uustring.h config.h
-+fptools.lo: fptools.c fptools.h config.h
-
- uustring.h: uustring.c
- awk -f uustring.awk < uustring.c > uustring.h
diff --git a/dev-libs/uulib/uulib-0.5.20-r1.ebuild b/dev-libs/uulib/uulib-0.5.20-r1.ebuild
deleted file mode 100644
index 91efcae15424..000000000000
--- a/dev-libs/uulib/uulib-0.5.20-r1.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
-
-inherit toolchain-funcs
-
-MY_P=uudeview-${PV}
-
-DESCRIPTION="Library that supports Base64 (MIME), uuencode, xxencode and binhex coding"
-HOMEPAGE="http://www.fpx.de/fp/Software/UUDeview/"
-SRC_URI="http://www.fpx.de/fp/Software/UUDeview/download/${MY_P}.tar.gz"
-S="${WORKDIR}"/${MY_P}/${PN}
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm ~hppa ~ia64 ppc ~ppc64 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-
-BDEPEND="sys-devel/libtool"
-
-PATCHES=(
- "${FILESDIR}"/${P}-shared.patch
-)
-
-src_prepare() {
- default
-
- sed -i 's:\<ar\>:$(AR):' Makefile.in || die
- # Fix Darwin and other platforms with a non-GNU default libtool
- sed -i 's/libtool/$(LIBTOOL)/' Makefile.in || die
-}
-
-src_configure() {
- tc-export AR CC RANLIB
- econf
-}
-
-src_compile() {
- if use prefix ; then
- LIBTOOL=glibtool
- else
- LIBTOOL=libtool
- fi
-
- LIBTOOL="${LIBTOOL}" emake
-}
diff --git a/dev-libs/uulib/uulib-0.5.20-r3.ebuild b/dev-libs/uulib/uulib-0.5.20-r3.ebuild
new file mode 100644
index 000000000000..afa88e1af14f
--- /dev/null
+++ b/dev-libs/uulib/uulib-0.5.20-r3.ebuild
@@ -0,0 +1,32 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools
+
+MY_P=uudeview-${PV}
+
+DESCRIPTION="Library that supports Base64 (MIME), uuencode, xxencode and binhex coding"
+HOMEPAGE="http://www.fpx.de/fp/Software/UUDeview/"
+SRC_URI="http://www.fpx.de/fp/Software/UUDeview/download/${MY_P}.tar.gz"
+S="${WORKDIR}"/${MY_P}/${PN}
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm ~hppa ~ia64 ppc ~ppc64 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-libtool.patch # 780018
+ "${FILESDIR}"/${PN}-0.5.20-Fix-Wimplicit-function-declaration-for-strerror.patch
+)
+
+src_prepare() {
+ default
+ eautoreconf
+}
+
+src_install() {
+ default
+ find "${D}" -name '*.la' -delete || die
+}
diff --git a/dev-libs/vala-common/Manifest b/dev-libs/vala-common/Manifest
index b7048759fac3..12eeb8f823de 100644
--- a/dev-libs/vala-common/Manifest
+++ b/dev-libs/vala-common/Manifest
@@ -1,2 +1,3 @@
-DIST vala-0.52.10.tar.xz 3598676 BLAKE2B f1d54634ffb8a152e5672badc912338a2982a81f5ee998b05212de807197d3f5cdd5b08ec9b521a004933fa6585b24b1e45a9cbc1a375c9863460350d3d3749b SHA512 d7517c25228db9c69bc68e16ed3903ea5dda016d5e84183491fef0b65edbbaf34065e785b0e0dc48f3af2460dc9ac6c435436f460b01929b2403ef0b9a2ad2d8
-DIST vala-0.54.6.tar.xz 3908328 BLAKE2B 19930f2b130c194a4f70a191042c1c7f5243829297daff2e3d1c9210c15bfba3973ecdbe09b8ae7435a88f4785bf06515b166f7a5a770d550404d3132b1c811e SHA512 6943e11c5f351f9f76991b75fbe51c4d133eaf4858ea75e67d514b7216cfabd4f0d81f09c89af26ab22fdf26783938742ae75bb49b7de4f1c2696934e2d4d0ae
+DIST vala-0.56.14.tar.xz 4003276 BLAKE2B db6ccca635122ff2089cd61fd8335376eed435f15d9bd7c20837829fe5acc8df49a51194e3bc17d0c24567240cf2519348cc2b0a7b177b971dc037ed39e893de SHA512 f13e7916acaba220bf8a0fb8825bf9a125fadcc13011c4e4f426e5d3a5af650543457294bede66dc5e1c742dd9b55f722a65b880e4737a6b480365c9df4c8c8b
+DIST vala-0.56.15.tar.xz 4014128 BLAKE2B bbed2bc84d08c4eab63c628b21b975c5661590b1fe96921fa43760b5bd0ad21aaa55d460997ae0bc9e1fd7268029a1f0f26f6291f0b346b46dea796973aeb49c SHA512 667a84020ce9739e57f4cab1f2e9350ce5266d85dc4943cfa45b3ce44235f275bc709d40d8ebffd89ca8b5f92844c2a9134bd3ca1276fc2c173ec84f842563f1
+DIST vala-0.56.16.tar.xz 4013716 BLAKE2B 509809a93c70fd6a153fc188aaa3d85cbcc8d37649711ea32521505eb0bdc3fe824d90c538aaa7a7caa1c4faaea9053693b28ae54bdd6c212539a70300f2c33e SHA512 99f69c3c7a5ed89923b55cf035c6d9a5867577b2ecff92dddf5f21aaad1281786e5fcd775833b0f251417caf857f5fe7efbf134fbded427a7b29fa3acb00203a
diff --git a/dev-libs/vala-common/metadata.xml b/dev-libs/vala-common/metadata.xml
index 645232af59bf..a4f4d8934edf 100644
--- a/dev-libs/vala-common/metadata.xml
+++ b/dev-libs/vala-common/metadata.xml
@@ -1,11 +1,13 @@
<?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="cpe">cpe:/a:gnome:vala</remote-id>
-</upstream>
+ <maintainer type="project">
+ <email>gnome@gentoo.org</email>
+ <name>Gentoo GNOME Desktop</name>
+ </maintainer>
+ <stabilize-allarches/>
+ <upstream>
+ <remote-id type="cpe">cpe:/a:gnome:vala</remote-id>
+ <remote-id type="gnome-gitlab">GNOME/vala</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/dev-libs/vala-common/vala-common-0.52.10.ebuild b/dev-libs/vala-common/vala-common-0.52.10.ebuild
deleted file mode 100644
index b607b6d6c6e8..000000000000
--- a/dev-libs/vala-common/vala-common-0.52.10.ebuild
+++ /dev/null
@@ -1,29 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-GNOME_ORG_MODULE="vala"
-
-inherit gnome.org
-
-DESCRIPTION="Build infrastructure for packages that use Vala"
-HOMEPAGE="https://wiki.gnome.org/Projects/Vala"
-
-LICENSE="LGPL-2.1+"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~x64-macos ~x64-solaris"
-
-RDEPEND=""
-DEPEND=""
-BDEPEND=""
-
-src_configure() { :; }
-
-src_compile() { :; }
-
-src_install() {
- insinto /usr/share/aclocal
- doins vala.m4 vapigen/vapigen.m4
- insinto /usr/share/vala
- doins vapigen/Makefile.vapigen
-}
diff --git a/dev-libs/vala-common/vala-common-0.54.6.ebuild b/dev-libs/vala-common/vala-common-0.54.6.ebuild
deleted file mode 100644
index 40415607535f..000000000000
--- a/dev-libs/vala-common/vala-common-0.54.6.ebuild
+++ /dev/null
@@ -1,29 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-GNOME_ORG_MODULE="vala"
-
-inherit gnome.org
-
-DESCRIPTION="Build infrastructure for packages that use Vala"
-HOMEPAGE="https://wiki.gnome.org/Projects/Vala"
-
-LICENSE="LGPL-2.1+"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos ~x64-solaris"
-
-RDEPEND=""
-DEPEND=""
-BDEPEND=""
-
-src_configure() { :; }
-
-src_compile() { :; }
-
-src_install() {
- insinto /usr/share/aclocal
- doins vala.m4 vapigen/vapigen.m4
- insinto /usr/share/vala
- doins vapigen/Makefile.vapigen
-}
diff --git a/dev-libs/vala-common/vala-common-0.56.14.ebuild b/dev-libs/vala-common/vala-common-0.56.14.ebuild
new file mode 100644
index 000000000000..39e3c39dc4dc
--- /dev/null
+++ b/dev-libs/vala-common/vala-common-0.56.14.ebuild
@@ -0,0 +1,29 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+GNOME_ORG_MODULE="vala"
+
+inherit gnome.org
+
+DESCRIPTION="Build infrastructure for packages that use Vala"
+HOMEPAGE="https://wiki.gnome.org/Projects/Vala https://gitlab.gnome.org/GNOME/vala"
+
+LICENSE="LGPL-2.1+"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~x64-macos ~x64-solaris"
+
+RDEPEND=""
+DEPEND=""
+BDEPEND=""
+
+src_configure() { :; }
+
+src_compile() { :; }
+
+src_install() {
+ insinto /usr/share/aclocal
+ doins vala.m4 vapigen/vapigen.m4
+ insinto /usr/share/vala
+ doins vapigen/Makefile.vapigen
+}
diff --git a/dev-libs/vala-common/vala-common-0.56.15.ebuild b/dev-libs/vala-common/vala-common-0.56.15.ebuild
new file mode 100644
index 000000000000..e12b06c906ca
--- /dev/null
+++ b/dev-libs/vala-common/vala-common-0.56.15.ebuild
@@ -0,0 +1,29 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+GNOME_ORG_MODULE="vala"
+
+inherit gnome.org
+
+DESCRIPTION="Build infrastructure for packages that use Vala"
+HOMEPAGE="https://wiki.gnome.org/Projects/Vala https://gitlab.gnome.org/GNOME/vala"
+
+LICENSE="LGPL-2.1+"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos ~x64-solaris"
+
+RDEPEND=""
+DEPEND=""
+BDEPEND=""
+
+src_configure() { :; }
+
+src_compile() { :; }
+
+src_install() {
+ insinto /usr/share/aclocal
+ doins vala.m4 vapigen/vapigen.m4
+ insinto /usr/share/vala
+ doins vapigen/Makefile.vapigen
+}
diff --git a/dev-libs/vala-common/vala-common-0.56.16.ebuild b/dev-libs/vala-common/vala-common-0.56.16.ebuild
new file mode 100644
index 000000000000..5e273520cc06
--- /dev/null
+++ b/dev-libs/vala-common/vala-common-0.56.16.ebuild
@@ -0,0 +1,29 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+GNOME_ORG_MODULE="vala"
+
+inherit gnome.org
+
+DESCRIPTION="Build infrastructure for packages that use Vala"
+HOMEPAGE="https://wiki.gnome.org/Projects/Vala https://gitlab.gnome.org/GNOME/vala"
+
+LICENSE="LGPL-2.1+"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~x64-macos ~x64-solaris"
+
+RDEPEND=""
+DEPEND=""
+BDEPEND=""
+
+src_configure() { :; }
+
+src_compile() { :; }
+
+src_install() {
+ insinto /usr/share/aclocal
+ doins vala.m4 vapigen/vapigen.m4
+ insinto /usr/share/vala
+ doins vapigen/Makefile.vapigen
+}
diff --git a/dev-libs/vc/Manifest b/dev-libs/vc/Manifest
index bc28ee059331..faaef1b115a3 100644
--- a/dev-libs/vc/Manifest
+++ b/dev-libs/vc/Manifest
@@ -1,2 +1 @@
-DIST vc-1.4.1.tar.gz 638797 BLAKE2B 38feab898a4ce2b15c4db508369426a6b470f24b81e6676ad0e667cc08efaf30e96ed1455c667372104192fe6eb2340fdbd367298fa68e3168350c2e134cc0b8 SHA512 dd17e214099796c41d70416d365ea038c00c5fda285b05e48d7ee4fe03f4db2671d2be006ca7b98b0d4133bfcb57faf04cecfe35c29c3b006cd91c9a185cc04a
-DIST vc-1.4.2.tar.gz 639711 BLAKE2B e8ef5c1249f1d5bff26997dd2b9e7e5923682a5251119b23fe4e7d4f9a166b4f9bfa0f5599d1fc4fd6ca390515e51039051c2afb17aece4c2c40a3cbd6ab630e SHA512 9a929cd48bdf6b8e94765bd649e7ec42b10dea28e36eff288223d72cffa5f4fc8693e942aa3f780b42d8a0c1824fcabff22ec0622aa8ea5232c9123858b8bbbf
+DIST vc-1.4.4.tar.gz 645346 BLAKE2B 0131f6e96d4285b0ff0519206115f431e5dcc336358f045c5260dff62dbeda5a10500cfc0a333abe2ffd4c7dfd2e5b29452a68458dc3dd552a89fce30b7c4b68 SHA512 b8aa0a45637dd1e0cc23f074d023b677aab570dd4a78cff94e4c2d832afb841c1b421077ae9c848a40aa4beb50ed2e31fdf075738496856ff8fe3ea1d0acba07
diff --git a/dev-libs/vc/files/vc-1.4.1-missing-include.patch b/dev-libs/vc/files/vc-1.4.1-missing-include.patch
deleted file mode 100644
index 487705c9efb4..000000000000
--- a/dev-libs/vc/files/vc-1.4.1-missing-include.patch
+++ /dev/null
@@ -1,16 +0,0 @@
----
- Vc/common/simdarray.h | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/Vc/common/simdarray.h b/Vc/common/simdarray.h
-index adbe1b7d9..ba9daf27c 100644
---- a/Vc/common/simdarray.h
-+++ b/Vc/common/simdarray.h
-@@ -33,6 +33,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- //#include "../IO"
-
- #include <array>
-+#include <limits>
-
- #include "writemaskedvector.h"
- #include "simdarrayhelper.h"
diff --git a/dev-libs/vc/vc-1.4.1-r1.ebuild b/dev-libs/vc/vc-1.4.1-r1.ebuild
deleted file mode 100644
index 8ac410c11b26..000000000000
--- a/dev-libs/vc/vc-1.4.1-r1.ebuild
+++ /dev/null
@@ -1,17 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit cmake
-
-DESCRIPTION="SIMD Vector Class Library for C++"
-HOMEPAGE="https://github.com/VcDevel/Vc"
-SRC_URI="https://github.com/VcDevel/Vc/archive/${PV}.tar.gz -> ${P}.tar.gz"
-S="${WORKDIR}"/Vc-${PV}
-
-PATCHES=( "${FILESDIR}"/${P}-missing-include.patch )
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 ~arm64 x86 ~amd64-linux ~x86-linux ~x64-macos"
diff --git a/dev-libs/vc/vc-1.4.2.ebuild b/dev-libs/vc/vc-1.4.2.ebuild
deleted file mode 100644
index a6c153f2082b..000000000000
--- a/dev-libs/vc/vc-1.4.2.ebuild
+++ /dev/null
@@ -1,15 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit cmake
-
-DESCRIPTION="SIMD Vector Class Library for C++"
-HOMEPAGE="https://github.com/VcDevel/Vc"
-SRC_URI="https://github.com/VcDevel/Vc/archive/${PV}.tar.gz -> ${P}.tar.gz"
-S="${WORKDIR}"/Vc-${PV}
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~x86 ~amd64-linux ~x86-linux ~x64-macos"
diff --git a/dev-libs/vc/vc-1.4.4.ebuild b/dev-libs/vc/vc-1.4.4.ebuild
new file mode 100644
index 000000000000..7390bfa10fcc
--- /dev/null
+++ b/dev-libs/vc/vc-1.4.4.ebuild
@@ -0,0 +1,15 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+DESCRIPTION="SIMD Vector Class Library for C++"
+HOMEPAGE="https://github.com/VcDevel/Vc"
+SRC_URI="https://github.com/VcDevel/Vc/archive/${PV}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}"/Vc-${PV}
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 arm arm64 x86 ~amd64-linux ~x86-linux ~x64-macos"
diff --git a/dev-libs/vectorscan/Manifest b/dev-libs/vectorscan/Manifest
new file mode 100644
index 000000000000..7919322c4dca
--- /dev/null
+++ b/dev-libs/vectorscan/Manifest
@@ -0,0 +1 @@
+DIST vectorscan-5.4.11.tar.gz 1895332 BLAKE2B a8f5a1230af0ddf7d9fb9299769ec1736d37ac3284f6a98b1e650af461206cf459eac35d13a47beb6683786c6529539b2d082edf426e7d4890ed11804c76268b SHA512 ed74e441c1106a90b344898320d20b74726db86af338dee8c908db941a88e73355ca87c6d64e212eb860bf76a96121021ebaabd48ce359b47634caaee9df3e5e
diff --git a/dev-libs/vectorscan/metadata.xml b/dev-libs/vectorscan/metadata.xml
new file mode 100644
index 000000000000..45e25fefd6d7
--- /dev/null
+++ b/dev-libs/vectorscan/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>arkamar@gentoo.org</email>
+ <name>Petr Vaněk</name>
+ </maintainer>
+ <longdescription>
+ A fork of Intel's Hyperscan, modified to run on more platforms.
+ Currently ARM NEON/ASIMD is 100% functional, and Power VSX are in
+ development. ARM SVE2 support is in ongoing with access to hardware now.
+ More platforms will follow in the future.
+
+ Vectorscan follows Intel's API and internal algorithms where
+ possible, but will not hesitate to make code changes where it is thought
+ of giving better performance or better portability.
+ </longdescription>
+ <slots>
+ <subslots>libhs soname version</subslots>
+ </slots>
+ <upstream>
+ <remote-id type="github">VectorCamp/vectorscan</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/vectorscan/vectorscan-5.4.11.ebuild b/dev-libs/vectorscan/vectorscan-5.4.11.ebuild
new file mode 100644
index 000000000000..20ca649f2cfe
--- /dev/null
+++ b/dev-libs/vectorscan/vectorscan-5.4.11.ebuild
@@ -0,0 +1,74 @@
+# Copyright 2023-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake edo flag-o-matic
+
+DESCRIPTION="A portable fork of the high-performance regular expression matching library"
+HOMEPAGE="
+ https://www.vectorcamp.gr/vectorscan/
+ https://github.com/VectorCamp/vectorscan
+"
+SRC_URI="
+ https://github.com/VectorCamp/vectorscan/archive/refs/tags/${PN}/${PV}.tar.gz
+ -> ${P}.tar.gz
+"
+
+S="${WORKDIR}/${PN}-${P}"
+
+LICENSE="BSD"
+SLOT="0/5"
+KEYWORDS="amd64 x86"
+IUSE="cpu_flags_x86_avx2 cpu_flags_x86_sse4_2"
+
+DEPEND="
+ dev-libs/boost:=
+"
+RDEPEND="
+ ${DEPEND}
+ !dev-libs/hyperscan
+"
+BDEPEND="
+ dev-util/ragel
+ virtual/pkgconfig
+"
+
+REQUIRED_USE="
+ x86? ( cpu_flags_x86_sse4_2 )
+ amd64? ( cpu_flags_x86_sse4_2 )
+"
+
+src_prepare() {
+ local sedargs=(
+ # Respect user -m flags (march/mtune)
+ -e '/set(ARCH_CX*_FLAG/d'
+ # Respect user -O flags
+ -e '/set(OPT_CX*_FLAG/d'
+ )
+ sed -i "${sedargs[@]}" CMakeLists.txt cmake/cflags-x86.cmake || die
+ cmake_src_prepare
+}
+
+src_configure() {
+ use cpu_flags_x86_avx2 && append-flags -mavx2
+ use cpu_flags_x86_sse4_2 && append-flags -msse4.2
+
+ local mycmakeargs=(
+ -DBUILD_BENCHMARKS=OFF
+ -DBUILD_EXAMPLES=OFF
+ -DBUILD_SHARED_LIBS=ON
+
+ -DBUILD_AVX2=$(usex cpu_flags_x86_avx2)
+
+ -DUSE_CPU_NATIVE=OFF
+ )
+ cmake_src_configure
+}
+
+src_test() {
+ # The unit target cannot be used currently due to a bug in it,
+ # see https://github.com/VectorCamp/vectorscan/issues/202
+ #cmake_build unit
+ edo "${BUILD_DIR}/bin/unit-hyperscan"
+}
diff --git a/dev-libs/voikko-fi/Manifest b/dev-libs/voikko-fi/Manifest
index b0a10477dfe6..41a383164a5a 100644
--- a/dev-libs/voikko-fi/Manifest
+++ b/dev-libs/voikko-fi/Manifest
@@ -1,2 +1,2 @@
-DIST voikko-fi-2.4.tar.gz 701807 BLAKE2B 978871a733b12be53287ec2d4637428f6991cdb3098a97cc7fc673d7b1e1ac85eb6811653c1121a1f04b23f40e1b6ff6340a5514c2d1231cf7be37879c70cf20 SHA512 00098fd52d4f81b30fe7f0ecb97ee8f240d898dfd511da1fdc5e6fd7046f2bf94c0230dc733bc6034f178d56d26c3ee69965eb61c04fc7b30087131767701858
-DIST voikko-fi-2.4.tar.gz.asc 833 BLAKE2B f4f470118716cf3ad2348b8ae74f57d95a03adff3ffee66a1f09ae569e240a99ff08e026cd7bf575347ec9941bf6e0174c0b3b468a3434304dd8356db3e4d35d SHA512 bb68fe81c0d8cea206b93484d94d5bfc9a9272827616f3ce8016721027a736b190ae37679baed70df0350c3f84235fdb3d6a525d93123ff561ef6d83b7717562
+DIST voikko-fi-2.5.tar.gz 703898 BLAKE2B 596425311bcdbbf8af97bc32cd69c59cdfa56300afbce22501f084b138ffbd7a915f08628e40a832110e9d366d128747d7e7a0ebdfa38a7734c4f1c1cb303997 SHA512 6de3c6c13a9fb05a463a55177dc1707d5e4ca01c7ccf08e0f8ab73cb3a353ee4935adc23a1b5f6c5da568dbb075c081a700d8d46eb99b6bcbed0efb4d977f59a
+DIST voikko-fi-2.5.tar.gz.asc 833 BLAKE2B 329d442064adee3967b703e19edcdfb20a03e3337751282129e2816f265fcd4ada9c2ce82c146bcde8a644e47b462404ce9abf99f5bc6d2fe2f986f83b73d1e1 SHA512 ccdaa4e76b81f8ee8fcc20c1d870200a1255f9aa84c8dae139f343e8b2cc9ecefb38a16af8653e9c94a1e5cba25c850b8309d406e3d5b323864c8c0ad38979eb
diff --git a/dev-libs/voikko-fi/voikko-fi-2.4.ebuild b/dev-libs/voikko-fi/voikko-fi-2.4.ebuild
deleted file mode 100644
index ec16f72b2f4c..000000000000
--- a/dev-libs/voikko-fi/voikko-fi-2.4.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
-
-PYTHON_COMPAT=( python3_{7..10} )
-PYTHON_REQ_USE="xml"
-
-inherit python-any-r1 verify-sig
-
-DESCRIPTION="Finnish dictionary for libvoikko based spell checkers (vvfst format)"
-HOMEPAGE="https://voikko.puimula.org/"
-SRC_URI="https://www.puimula.org/voikko-sources/${PN}/${P}.tar.gz
- verify-sig? ( https://www.puimula.org/voikko-sources/voikko-fi/${P}.tar.gz.asc )"
-
-LICENSE="GPL-2+"
-SLOT="0"
-KEYWORDS="amd64 x86"
-
-DEPEND="dev-libs/foma
- dev-libs/libvoikko"
-RDEPEND="${DEPEND}"
-BDEPEND="${PYTHON_DEPS}
- dev-libs/libvoikko
- verify-sig? ( sec-keys/openpgp-keys-voikko )"
-
-VERIFY_SIG_OPENPGP_KEY_PATH=${BROOT}/usr/share/openpgp-keys/voikko.asc
-
-src_compile() {
- emake vvfst
-}
-
-src_install() {
- emake DESTDIR="${D}/usr/share/voikko/" vvfst-install
- einstalldocs
-}
diff --git a/dev-libs/voikko-fi/voikko-fi-2.5-r1.ebuild b/dev-libs/voikko-fi/voikko-fi-2.5-r1.ebuild
new file mode 100644
index 000000000000..8c392821db09
--- /dev/null
+++ b/dev-libs/voikko-fi/voikko-fi-2.5-r1.ebuild
@@ -0,0 +1,36 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{9..12} )
+PYTHON_REQ_USE="xml(+)"
+
+inherit python-any-r1 verify-sig
+
+DESCRIPTION="Finnish dictionary for libvoikko based spell checkers (vvfst format)"
+HOMEPAGE="https://voikko.puimula.org/"
+SRC_URI="https://www.puimula.org/voikko-sources/${PN}/${P}.tar.gz
+ verify-sig? ( https://www.puimula.org/voikko-sources/voikko-fi/${P}.tar.gz.asc )"
+
+LICENSE="GPL-2+"
+SLOT="0"
+KEYWORDS="amd64 x86"
+
+DEPEND="dev-libs/foma:=
+ dev-libs/libvoikko"
+RDEPEND="${DEPEND}"
+BDEPEND="${PYTHON_DEPS}
+ dev-libs/libvoikko
+ verify-sig? ( sec-keys/openpgp-keys-voikko )"
+
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/voikko.asc
+
+src_compile() {
+ emake vvfst
+}
+
+src_install() {
+ emake DESTDIR="${D}/usr/share/voikko/" vvfst-install
+ einstalldocs
+}
diff --git a/dev-libs/volume_key/metadata.xml b/dev-libs/volume_key/metadata.xml
index 2ac0eef8d76b..bef24d2c2337 100644
--- a/dev-libs/volume_key/metadata.xml
+++ b/dev-libs/volume_key/metadata.xml
@@ -1,8 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <email>polynomial-c@gentoo.org</email>
- <name>Lars Wendler</name>
- </maintainer>
+ <!-- maintainer-needed -->
</pkgmetadata>
diff --git a/dev-libs/volume_key/volume_key-0.3.12-r3.ebuild b/dev-libs/volume_key/volume_key-0.3.12-r3.ebuild
deleted file mode 100644
index b2489cc3917b..000000000000
--- a/dev-libs/volume_key/volume_key-0.3.12-r3.ebuild
+++ /dev/null
@@ -1,61 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{8..9} )
-
-inherit autotools python-single-r1
-
-DESCRIPTION="Library for manipulating and storing storage volume encryption keys"
-HOMEPAGE="https://pagure.io/volume_key"
-SRC_URI="http://releases.pagure.org/${PN}/${P}.tar.xz"
-
-LICENSE="GPL-2+"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~ia64 ~mips ppc ppc64 ~riscv sparc x86"
-IUSE="test"
-RESTRICT="!test? ( test )"
-
-REQUIRED_USE="${PYTHON_REQUIRED_USE}"
-
-RDEPEND="
- ${PYTHON_DEPS}
- app-crypt/gpgme
- dev-libs/glib:2
- dev-libs/nspr
- dev-libs/nss
- sys-apps/util-linux
- sys-fs/cryptsetup:=
-"
-DEPEND="${RDEPEND}"
-BDEPEND="
- sys-devel/gettext
- test? ( dev-libs/nss[utils] )
-"
-
-PATCHES=(
- "${FILESDIR}/${P}-support_higher_LUKS_versions.patch"
- "${FILESDIR}/${PN}-0.3.12-find_python3.patch" #764230
-)
-
-pkg_setup() {
- python-single-r1_pkg_setup
-}
-
-src_prepare() {
- default
- eautoreconf #764230
-}
-
-src_configure() {
- # --without-python disables python2
- econf --without-python --with-python3
-}
-
-src_install() {
- default
- find "${ED}" -type f -name "*.la" -delete || die
-
- python_optimize
-}
diff --git a/dev-libs/volume_key/volume_key-0.3.12-r4.ebuild b/dev-libs/volume_key/volume_key-0.3.12-r4.ebuild
new file mode 100644
index 000000000000..18c154f282ef
--- /dev/null
+++ b/dev-libs/volume_key/volume_key-0.3.12-r4.ebuild
@@ -0,0 +1,59 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_{9..11} )
+
+inherit autotools python-single-r1
+
+DESCRIPTION="Library for manipulating and storing storage volume encryption keys"
+HOMEPAGE="https://pagure.io/volume_key"
+SRC_URI="https://releases.pagure.org/${PN}/${P}.tar.xz"
+
+LICENSE="GPL-2+"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 ~ia64 ~loong ~mips ppc ppc64 ~riscv sparc x86"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+RDEPEND="
+ ${PYTHON_DEPS}
+ app-crypt/gpgme:=
+ dev-libs/glib:2
+ dev-libs/nspr
+ dev-libs/nss
+ sys-apps/util-linux
+ sys-fs/cryptsetup:=
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ sys-devel/gettext
+ test? ( dev-libs/nss[utils] )
+"
+
+PATCHES=(
+ "${FILESDIR}/${P}-support_higher_LUKS_versions.patch"
+ "${FILESDIR}/${PN}-0.3.12-find_python3.patch" #764230
+)
+
+src_prepare() {
+ default
+
+ # bug #764230
+ eautoreconf
+}
+
+src_configure() {
+ # --without-python disables python2
+ econf --without-python --with-python3
+}
+
+src_install() {
+ default
+ find "${ED}" -type f -name "*.la" -delete || die
+
+ python_optimize
+}
diff --git a/dev-libs/wayland-protocols/Manifest b/dev-libs/wayland-protocols/Manifest
index 0c9cb95b812b..cb66a4589b5c 100644
--- a/dev-libs/wayland-protocols/Manifest
+++ b/dev-libs/wayland-protocols/Manifest
@@ -1,2 +1,3 @@
-DIST wayland-protocols-1.23.tar.xz 74116 BLAKE2B a92f9d80e8d9062fb79c06e13141b46e0f43d0813f461e087a9fa724fa752df3b4fe5698e34e7431f3b43cca0adf7b86ab77c948060f6c02e4c7693f7975cd15 SHA512 11f09147da1dd01a9f5c921eb0bfc6244a72023a052ef96bc121e16437a2c43d0dbba748c2de832539f57371e90b16bd13069bec07391305717f8fca295ea2a6
-DIST wayland-protocols-1.24.tar.xz 77120 BLAKE2B 912132cb2b65b99184f25942e02000444ce5d37b60f33363999e8431db5835d3c0dab41dae312f0dbb02d03ab7e4f3f588e7b507e767ec132a82fd816700b09a SHA512 4b1122517db56f48a5fafd4bd0cb7f94faef6fdd2d80e6cec17e5a6bafbaf2f5a71b958ed12e6d13965494885c209b2fb6dd8331487b39c6f251e71f1e770a15
+DIST wayland-protocols-1.32.tar.xz 90452 BLAKE2B 80e38270526c9da13c39263a60e7d2c330a1a4b1dfecec03fadda747f1a2e3dff95b30373aa19e133ae999fa15bdcdd64aa9ebbb54acf571f980a3f6088ea9be SHA512 90bbd52daf342b98823ddeed04e349ae242d2eaf925ab8d603cceb36c980c83b5681bb890961e0d49584cb5c2e60a33abf8821770c6ab87956383630bd5b7966
+DIST wayland-protocols-1.33.tar.xz 91504 BLAKE2B aee870dd5877b0fce05eac396bd1a8cd0bc5ef1ac014c54f3eb0096ac1ea3425d1e66891db29ba2f020586418500163bfe451c4078a86d1d19d0b1548318cc85 SHA512 4584f6ac86367655f9db5d0c0ed0681efa31e73f984e4b620fbe5317df21790927f4f5317ecbbc194ac31eaf88caebc431bcc52c23d9dc0098c71de3cb4a9fef
+DIST wayland-protocols-1.34.tar.xz 94800 BLAKE2B fa1edd872e0dc9f762db33541d6e0f1f4bd98dcdd072b73acbfb14e0f05199399dc46beb1a91676b72d43397cfddce2d89d989273b23ba0d38fb19a76e16a399 SHA512 d180eaaf87281dc7adade19070ee8308a5cb3dc2f60cff077960436ad647d3d207eb63fa0b079b7b315109654ad6e6b5e2588bfe859900e67edf8c67b1c3ad20
diff --git a/dev-libs/wayland-protocols/metadata.xml b/dev-libs/wayland-protocols/metadata.xml
index e17a5bccb78b..a6216ff614d7 100644
--- a/dev-libs/wayland-protocols/metadata.xml
+++ b/dev-libs/wayland-protocols/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>x11@gentoo.org</email>
- <name>X11</name>
-</maintainer>
+ <maintainer type="project">
+ <email>x11@gentoo.org</email>
+ <name>X11</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="freedesktop-gitlab">wayland/wayland-protocols</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/dev-libs/wayland-protocols/wayland-protocols-1.23.ebuild b/dev-libs/wayland-protocols/wayland-protocols-1.23.ebuild
deleted file mode 100644
index 86d58eaed2b0..000000000000
--- a/dev-libs/wayland-protocols/wayland-protocols-1.23.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
-
-inherit meson
-
-DESCRIPTION="Wayland protocol files"
-HOMEPAGE="https://wayland.freedesktop.org/"
-
-if [[ ${PV} = 9999* ]]; then
- EGIT_REPO_URI="https://gitlab.freedesktop.org/wayland/${PN}.git/"
- inherit git-r3
-else
- SRC_URI="https://wayland.freedesktop.org/releases/${P}.tar.xz"
- KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
-fi
-
-LICENSE="MIT"
-SLOT="0"
-IUSE="test"
-RESTRICT="!test? ( test )"
-
-DEPEND="
- test? ( dev-libs/wayland )
-"
-RDEPEND=""
-BDEPEND="
- dev-util/wayland-scanner
- virtual/pkgconfig
-"
-
-src_configure() {
- local emesonargs=(
- $(meson_use test tests)
- )
- meson_src_configure
-}
diff --git a/dev-libs/wayland-protocols/wayland-protocols-1.24.ebuild b/dev-libs/wayland-protocols/wayland-protocols-1.24.ebuild
deleted file mode 100644
index 6c937ab49bdd..000000000000
--- a/dev-libs/wayland-protocols/wayland-protocols-1.24.ebuild
+++ /dev/null
@@ -1,38 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit meson
-
-DESCRIPTION="Wayland protocol files"
-HOMEPAGE="https://wayland.freedesktop.org/"
-
-if [[ ${PV} = 9999* ]]; then
- EGIT_REPO_URI="https://gitlab.freedesktop.org/wayland/${PN}.git/"
- inherit git-r3
-else
- SRC_URI="https://wayland.freedesktop.org/releases/${P}.tar.xz"
- KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 sparc x86"
-fi
-
-LICENSE="MIT"
-SLOT="0"
-IUSE="test"
-RESTRICT="!test? ( test )"
-
-DEPEND="
- test? ( dev-libs/wayland )
-"
-RDEPEND=""
-BDEPEND="
- dev-util/wayland-scanner
- virtual/pkgconfig
-"
-
-src_configure() {
- local emesonargs=(
- $(meson_use test tests)
- )
- meson_src_configure
-}
diff --git a/dev-libs/wayland-protocols/wayland-protocols-1.32.ebuild b/dev-libs/wayland-protocols/wayland-protocols-1.32.ebuild
new file mode 100644
index 000000000000..04d709642ab9
--- /dev/null
+++ b/dev-libs/wayland-protocols/wayland-protocols-1.32.ebuild
@@ -0,0 +1,38 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit meson
+
+DESCRIPTION="Wayland protocol files"
+HOMEPAGE="https://wayland.freedesktop.org/"
+
+if [[ ${PV} = 9999* ]]; then
+ EGIT_REPO_URI="https://gitlab.freedesktop.org/wayland/${PN}.git/"
+ inherit git-r3
+else
+ SRC_URI="https://gitlab.freedesktop.org/wayland/${PN}/-/releases/${PV}/downloads/${P}.tar.xz"
+ KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
+fi
+
+LICENSE="MIT"
+SLOT="0"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+DEPEND="
+ test? ( dev-libs/wayland )
+"
+RDEPEND=""
+BDEPEND="
+ dev-util/wayland-scanner
+ virtual/pkgconfig
+"
+
+src_configure() {
+ local emesonargs=(
+ $(meson_use test tests)
+ )
+ meson_src_configure
+}
diff --git a/dev-libs/wayland-protocols/wayland-protocols-1.33.ebuild b/dev-libs/wayland-protocols/wayland-protocols-1.33.ebuild
new file mode 100644
index 000000000000..7820286edec2
--- /dev/null
+++ b/dev-libs/wayland-protocols/wayland-protocols-1.33.ebuild
@@ -0,0 +1,37 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit meson
+
+DESCRIPTION="Wayland protocol files"
+HOMEPAGE="https://wayland.freedesktop.org/"
+
+if [[ ${PV} = 9999* ]]; then
+ EGIT_REPO_URI="https://gitlab.freedesktop.org/wayland/${PN}.git/"
+ inherit git-r3
+else
+ SRC_URI="https://gitlab.freedesktop.org/wayland/${PN}/-/releases/${PV}/downloads/${P}.tar.xz"
+ KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 sparc x86"
+fi
+
+LICENSE="MIT"
+SLOT="0"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+DEPEND="
+ test? ( dev-libs/wayland )
+"
+BDEPEND="
+ dev-util/wayland-scanner
+ virtual/pkgconfig
+"
+
+src_configure() {
+ local emesonargs=(
+ $(meson_use test tests)
+ )
+ meson_src_configure
+}
diff --git a/dev-libs/wayland-protocols/wayland-protocols-1.34.ebuild b/dev-libs/wayland-protocols/wayland-protocols-1.34.ebuild
new file mode 100644
index 000000000000..7310be696158
--- /dev/null
+++ b/dev-libs/wayland-protocols/wayland-protocols-1.34.ebuild
@@ -0,0 +1,37 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit meson
+
+DESCRIPTION="Wayland protocol files"
+HOMEPAGE="https://wayland.freedesktop.org/"
+
+if [[ ${PV} = 9999* ]]; then
+ EGIT_REPO_URI="https://gitlab.freedesktop.org/wayland/${PN}.git/"
+ inherit git-r3
+else
+ SRC_URI="https://gitlab.freedesktop.org/wayland/${PN}/-/releases/${PV}/downloads/${P}.tar.xz"
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+fi
+
+LICENSE="MIT"
+SLOT="0"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+DEPEND="
+ test? ( dev-libs/wayland )
+"
+BDEPEND="
+ dev-util/wayland-scanner
+ virtual/pkgconfig
+"
+
+src_configure() {
+ local emesonargs=(
+ $(meson_use test tests)
+ )
+ meson_src_configure
+}
diff --git a/dev-libs/wayland-protocols/wayland-protocols-9999.ebuild b/dev-libs/wayland-protocols/wayland-protocols-9999.ebuild
index f9b1910a51a1..7310be696158 100644
--- a/dev-libs/wayland-protocols/wayland-protocols-9999.ebuild
+++ b/dev-libs/wayland-protocols/wayland-protocols-9999.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 meson
@@ -12,8 +12,8 @@ if [[ ${PV} = 9999* ]]; then
EGIT_REPO_URI="https://gitlab.freedesktop.org/wayland/${PN}.git/"
inherit git-r3
else
- SRC_URI="https://wayland.freedesktop.org/releases/${P}.tar.xz"
- KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+ SRC_URI="https://gitlab.freedesktop.org/wayland/${PN}/-/releases/${PV}/downloads/${P}.tar.xz"
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
fi
LICENSE="MIT"
@@ -24,7 +24,6 @@ RESTRICT="!test? ( test )"
DEPEND="
test? ( dev-libs/wayland )
"
-RDEPEND=""
BDEPEND="
dev-util/wayland-scanner
virtual/pkgconfig
diff --git a/dev-libs/wayland/Manifest b/dev-libs/wayland/Manifest
index c2d608e43ffd..e2de0f2c2836 100644
--- a/dev-libs/wayland/Manifest
+++ b/dev-libs/wayland/Manifest
@@ -1,2 +1 @@
-DIST wayland-1.19.0.tar.xz 456380 BLAKE2B 0f70bb02e890898c4763001884527067adb686abe9a2b9325badf1730d411d269c437037afc298eec8075eb1e3845f5b81b8ed3d702908388a54e7063cbea91a SHA512 d8a86f5e23e4a88e7c84b82fdb51eb350419086afe462ecb2f4d5c3ba9290ede310cbbcffd60215219ddccf5bad4adec21a5ebfbef6577200f66ac7a1b64a5ef
-DIST wayland-1.20.0.tar.xz 225188 BLAKE2B d607610ad8b30b6b3bbfc3945679f698030f271766cfb72425f98f170a96469fb085fb9a746a866b8562d7f452c844e61ad57f634dcf365474c7d050b76022e9 SHA512 e8a1f410994b947f850799bdd0d95a2429d8467f853e62a0ab3915a4e9fe130f8aa977e03715114ab740c6ec546edea63d275ce7f927d4f3029ea126e6a7d215
+DIST wayland-1.22.0.tar.xz 229544 BLAKE2B b0bb366e7f3494813d1574228ae5dd48eccde035120d6dd8709e3a24738681ab9dd9ba6a13924b6a35982d331fa8911fa7346911da9f618be9c9109da0288629 SHA512 fb1974efc8433e97254eb83fe28974198f2b4d8246418eb3d34ce657055461e0c97bc06dd52e5066ae91bbe05bac611dc49a0937ba226ac6388d5a47241efb12
diff --git a/dev-libs/wayland/metadata.xml b/dev-libs/wayland/metadata.xml
index e17a5bccb78b..8cceb6f871ee 100644
--- a/dev-libs/wayland/metadata.xml
+++ b/dev-libs/wayland/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>x11@gentoo.org</email>
- <name>X11</name>
-</maintainer>
+ <maintainer type="project">
+ <email>x11@gentoo.org</email>
+ <name>X11</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="freedesktop-gitlab">wayland/wayland</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/dev-libs/wayland/wayland-1.19.0.ebuild b/dev-libs/wayland/wayland-1.19.0.ebuild
deleted file mode 100644
index 1e94dde694a5..000000000000
--- a/dev-libs/wayland/wayland-1.19.0.ebuild
+++ /dev/null
@@ -1,57 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-if [[ ${PV} = *9999* ]]; then
- EGIT_REPO_URI="https://gitlab.freedesktop.org/wayland/wayland.git"
- inherit git-r3
-else
- SRC_URI="https://wayland.freedesktop.org/releases/${P}.tar.xz"
- KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
-fi
-inherit meson-multilib
-
-DESCRIPTION="Wayland protocol libraries"
-HOMEPAGE="https://wayland.freedesktop.org/ https://gitlab.freedesktop.org/wayland/wayland"
-
-LICENSE="MIT"
-SLOT="0"
-IUSE="doc"
-
-BDEPEND="
- ~dev-util/wayland-scanner-${PV}[$MULTILIB_USEDEP]
- virtual/pkgconfig
- doc? (
- >=app-doc/doxygen-1.6[dot]
- app-text/xmlto
- >=media-gfx/graphviz-2.26.0
- )
-"
-DEPEND="
- >=dev-libs/expat-2.1.0-r3:=[${MULTILIB_USEDEP}]
- dev-libs/libxml2:=
- >=dev-libs/libffi-3.0.13-r1:=[${MULTILIB_USEDEP}]
-"
-RDEPEND="${DEPEND}"
-
-multilib_src_configure() {
- local emesonargs=(
- $(meson_native_use_bool doc documentation)
- $(meson_native_true dtd_validation)
- -Dlibraries=true
- -Dscanner=false
- )
- meson_src_configure
-}
-
-src_test() {
- # We set it on purpose to only a short subdir name, as socket paths are
- # created in there, which are 108 byte limited. With this it hopefully
- # barely fits to the limit with /var/tmp/portage/${CATEGORY}/${PF}/temp/x
- export XDG_RUNTIME_DIR="${T}"/x
- mkdir "${XDG_RUNTIME_DIR}" || die
- chmod 0700 "${XDG_RUNTIME_DIR}" || die
-
- multilib-minimal_src_test
-}
diff --git a/dev-libs/wayland/wayland-1.20.0.ebuild b/dev-libs/wayland/wayland-1.20.0.ebuild
deleted file mode 100644
index 2f3f5838b063..000000000000
--- a/dev-libs/wayland/wayland-1.20.0.ebuild
+++ /dev/null
@@ -1,59 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-if [[ ${PV} = *9999* ]]; then
- EGIT_REPO_URI="https://gitlab.freedesktop.org/wayland/wayland.git"
- inherit git-r3
-else
- SRC_URI="https://wayland.freedesktop.org/releases/${P}.tar.xz"
- KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 sparc x86"
-fi
-inherit meson-multilib
-
-DESCRIPTION="Wayland protocol libraries"
-HOMEPAGE="https://wayland.freedesktop.org/ https://gitlab.freedesktop.org/wayland/wayland"
-
-LICENSE="MIT"
-SLOT="0"
-IUSE="doc test"
-RESTRICT="!test? ( test )"
-
-BDEPEND="
- ~dev-util/wayland-scanner-${PV}
- virtual/pkgconfig
- doc? (
- >=app-doc/doxygen-1.6[dot]
- app-text/xmlto
- >=media-gfx/graphviz-2.26.0
- )
-"
-DEPEND="
- >=dev-libs/expat-2.1.0-r3:=[${MULTILIB_USEDEP}]
- dev-libs/libxml2:=
- >=dev-libs/libffi-3.0.13-r1:=[${MULTILIB_USEDEP}]
-"
-RDEPEND="${DEPEND}"
-
-multilib_src_configure() {
- local emesonargs=(
- $(meson_native_use_bool doc documentation)
- $(meson_native_true dtd_validation)
- -Dlibraries=true
- -Dscanner=false
- $(meson_use test tests)
- )
- meson_src_configure
-}
-
-src_test() {
- # We set it on purpose to only a short subdir name, as socket paths are
- # created in there, which are 108 byte limited. With this it hopefully
- # barely fits to the limit with /var/tmp/portage/${CATEGORY}/${PF}/temp/x
- export XDG_RUNTIME_DIR="${T}"/x
- mkdir "${XDG_RUNTIME_DIR}" || die
- chmod 0700 "${XDG_RUNTIME_DIR}" || die
-
- multilib-minimal_src_test
-}
diff --git a/dev-libs/wayland/wayland-1.22.0.ebuild b/dev-libs/wayland/wayland-1.22.0.ebuild
new file mode 100644
index 000000000000..2a397f4586d1
--- /dev/null
+++ b/dev-libs/wayland/wayland-1.22.0.ebuild
@@ -0,0 +1,66 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+if [[ ${PV} = *9999* ]]; then
+ EGIT_REPO_URI="https://gitlab.freedesktop.org/wayland/wayland.git"
+ inherit git-r3
+else
+ SRC_URI="https://gitlab.freedesktop.org/wayland/${PN}/-/releases/${PV}/downloads/${P}.tar.xz"
+ KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
+fi
+inherit meson-multilib
+
+DESCRIPTION="Wayland protocol libraries"
+HOMEPAGE="https://wayland.freedesktop.org/ https://gitlab.freedesktop.org/wayland/wayland"
+
+LICENSE="MIT"
+SLOT="0"
+IUSE="doc test"
+RESTRICT="!test? ( test )"
+
+BDEPEND="
+ ~dev-util/wayland-scanner-${PV}
+ virtual/pkgconfig
+ doc? (
+ >=app-text/doxygen-1.6[dot]
+ app-text/xmlto
+ >=media-gfx/graphviz-2.26.0
+ )
+"
+DEPEND="
+ >=dev-libs/libffi-3.0.13-r1:=[${MULTILIB_USEDEP}]
+"
+RDEPEND="${DEPEND}"
+
+multilib_src_configure() {
+ local emesonargs=(
+ $(meson_native_use_bool doc documentation)
+ $(meson_native_true dtd_validation)
+ -Dlibraries=true
+ -Dscanner=false
+ $(meson_use test tests)
+ )
+ meson_src_configure
+}
+
+src_test() {
+ # We set it on purpose to only a short subdir name, as socket paths are
+ # created in there, which are 108 byte limited. With this it hopefully
+ # barely fits to the limit with /var/tmp/portage/${CATEGORY}/${PF}/temp/x
+ export XDG_RUNTIME_DIR="${T}"/x
+ mkdir "${XDG_RUNTIME_DIR}" || die
+ chmod 0700 "${XDG_RUNTIME_DIR}" || die
+
+ multilib-minimal_src_test
+}
+
+src_install() {
+ meson-multilib_src_install
+
+ if use doc; then
+ mv "${ED}"/usr/share/doc/"${PN}"/* "${ED}"/usr/share/doc/"${PF}"/ || die
+ rmdir "${ED}"/usr/share/doc/"${PN}" || die
+ fi
+}
diff --git a/dev-libs/wayland/wayland-9999.ebuild b/dev-libs/wayland/wayland-9999.ebuild
index 49ec2b8a68f5..7361890a730d 100644
--- a/dev-libs/wayland/wayland-9999.ebuild
+++ b/dev-libs/wayland/wayland-9999.ebuild
@@ -1,14 +1,14 @@
-# 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
if [[ ${PV} = *9999* ]]; then
EGIT_REPO_URI="https://gitlab.freedesktop.org/wayland/wayland.git"
inherit git-r3
else
- SRC_URI="https://wayland.freedesktop.org/releases/${P}.tar.xz"
- KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+ SRC_URI="https://gitlab.freedesktop.org/wayland/${PN}/-/releases/${PV}/downloads/${P}.tar.xz"
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
fi
inherit meson-multilib
@@ -24,14 +24,12 @@ BDEPEND="
~dev-util/wayland-scanner-${PV}
virtual/pkgconfig
doc? (
- >=app-doc/doxygen-1.6[dot]
+ >=app-text/doxygen-1.6[dot]
app-text/xmlto
>=media-gfx/graphviz-2.26.0
)
"
DEPEND="
- >=dev-libs/expat-2.1.0-r3:=[${MULTILIB_USEDEP}]
- dev-libs/libxml2:=
>=dev-libs/libffi-3.0.13-r1:=[${MULTILIB_USEDEP}]
"
RDEPEND="${DEPEND}"
@@ -57,3 +55,12 @@ src_test() {
multilib-minimal_src_test
}
+
+src_install() {
+ meson-multilib_src_install
+
+ if use doc; then
+ mv "${ED}"/usr/share/doc/"${PN}"/* "${ED}"/usr/share/doc/"${PF}"/ || die
+ rmdir "${ED}"/usr/share/doc/"${PN}" || die
+ fi
+}
diff --git a/dev-libs/weston/Manifest b/dev-libs/weston/Manifest
index a34e308ad4f7..9f5974dba152 100644
--- a/dev-libs/weston/Manifest
+++ b/dev-libs/weston/Manifest
@@ -1 +1,3 @@
-DIST weston-9.0.0.tar.xz 1555212 BLAKE2B 6c5feb3959ebe894861c6dc0817633b23e8518baf1c359c2967f111c071e9d4f166ef1421ad6465b036b3f1c485cab5f442476e7a44e3ec722cff576dea73852 SHA512 ccc263f8279b7b23e5c593b4a8a023de2c3dc178b1b8d6593599171770bcfe97608de9fcb77aa1cab39255451d289d323e51c317dae190c7641282e085b84f90
+DIST weston-11.0.1.tar.xz 1900796 BLAKE2B 33d7d5b3340e7074265885bd54ee039e8b5d448fa9f58f4bf9f823efd2557da9b916d903119565a806ab698382fe185165c8ede8614e983c872dfe15b474b616 SHA512 d451230fc260b45aaaadb5cf0aa360629e45e72e3b3676c6ec040d6c6549dbb57d05683effd962c3b2d61482b47a6c990d12cc736c896b501d982c8c4d34834c
+DIST weston-12.0.91.tar.xz 1986200 BLAKE2B 368fe795bd6121390f14995d8c5ddfcd585e620bcb54f0818b9e9131bb442e79048f82bcd90cfff563c7ad9968cdc9e4f1d859fdd318f4e9b08fec371c4a62e4 SHA512 8e1ceae599344c305e1b65294403d434c4a6ca740f76bdcc67a9f83afe9d352d75ab9cf8bb5091b889ddece43941adf9c4666767098c4c27cb732f8c7f8f738a
+DIST weston-13.0.0.tar.xz 1986520 BLAKE2B df0e73e451e39b329ed327c370f42bcae01eb5b8fad67711f069fa8f24900ac0c9a9e69b9a6445b67c76ab0ce441dcd2a5a1a8aa3ac0d89a647b9661d575a917 SHA512 8c656cdf24ec9429c76c64ebd2d58351991f5990a6d4b5900ac913243ad8e2c9c0fb1a748f018d177fbfd7e0a8836d0434d97acec287a8f977d47335ae30eacc
diff --git a/dev-libs/weston/files/weston-pipewire-0.3.patch b/dev-libs/weston/files/weston-pipewire-0.3.patch
deleted file mode 100644
index a38250d8c8f2..000000000000
--- a/dev-libs/weston/files/weston-pipewire-0.3.patch
+++ /dev/null
@@ -1,373 +0,0 @@
-https://gitlab.freedesktop.org/wayland/weston/-/merge_requests/456
-
-diff --git a/pipewire/meson.build b/pipewire/meson.build
-index 67db61f0777325695864db2bc6cf94145ed5564d..944b2259f146e07abdbd4773223f4bdb76dfa45a 100644
---- a/pipewire/meson.build
-+++ b/pipewire/meson.build
-@@ -5,17 +5,25 @@ if get_option('pipewire')
- error('Attempting to build the pipewire plugin without the required DRM backend. ' + user_hint)
- endif
-
-- depnames = [
-- 'libpipewire-0.2', 'libspa-0.1'
-- ]
- deps_pipewire = [ dep_libweston_private ]
-- foreach depname : depnames
-- dep = dependency(depname, required: false)
-- if not dep.found()
-- error('Pipewire plugin requires @0@ which was not found. '.format(depname) + user_hint)
-- endif
-- deps_pipewire += dep
-- endforeach
-+
-+ dep_libpipewire = dependency('libpipewire-0.3', required: false)
-+ if not dep_libpipewire.found()
-+ dep_libpipewire = dependency('libpipewire-0.2', required: false)
-+ endif
-+ if not dep_libpipewire.found()
-+ error('Pipewire plugin requires libpipewire which was not found. ' + user_hint)
-+ endif
-+ deps_pipewire += dep_libpipewire
-+
-+ dep_libspa = dependency('libspa-0.2', required: false)
-+ if not dep_libspa.found()
-+ dep_libspa = dependency('libspa-0.1', required: false)
-+ endif
-+ if not dep_libspa.found()
-+ error('Pipewire plugin requires libspa which was not found. ' + user_hint)
-+ endif
-+ deps_pipewire += dep_libspa
-
- plugin_pipewire = shared_library(
- 'pipewire-plugin',
-diff --git a/pipewire/pipewire-plugin.c b/pipewire/pipewire-plugin.c
-index fe7eb1d654d5ec67f7a3287532bb21c19ad9eac5..2c65f502c2917c23290a51bf1c24eac8d50129f1 100644
---- a/pipewire/pipewire-plugin.c
-+++ b/pipewire/pipewire-plugin.c
-@@ -34,20 +34,27 @@
- #include <errno.h>
- #include <unistd.h>
-
-+#include <pipewire/pipewire.h>
-+
- #include <spa/param/format-utils.h>
- #include <spa/param/video/format-utils.h>
- #include <spa/utils/defs.h>
-
--#include <pipewire/pipewire.h>
-+#if PW_CHECK_VERSION(0, 2, 90)
-+#include <spa/buffer/meta.h>
-+#include <spa/utils/result.h>
-+#endif
-
- #define PROP_RANGE(min, max) 2, (min), (max)
-
-+#if !PW_CHECK_VERSION(0, 2, 90)
- struct type {
- struct spa_type_media_type media_type;
- struct spa_type_media_subtype media_subtype;
- struct spa_type_format_video format_video;
- struct spa_type_video_format video_format;
- };
-+#endif
-
- struct weston_pipewire {
- struct weston_compositor *compositor;
-@@ -60,12 +67,19 @@ struct weston_pipewire {
- struct pw_loop *loop;
- struct wl_event_source *loop_source;
-
-+#if PW_CHECK_VERSION(0, 2, 90)
-+ struct pw_context *context;
-+#endif
- struct pw_core *core;
- struct pw_type *t;
-+#if PW_CHECK_VERSION(0, 2, 90)
-+ struct spa_hook core_listener;
-+#else
- struct type type;
-
- struct pw_remote *remote;
- struct spa_hook remote_listener;
-+#endif
- };
-
- struct pipewire_output {
-@@ -100,6 +114,7 @@ struct pipewire_frame_data {
- struct wl_event_source *fence_sync_event_source;
- };
-
-+#if !PW_CHECK_VERSION(0, 2, 90)
- static inline void init_type(struct type *type, struct spa_type_map *map)
- {
- spa_type_media_type_map(map, &type->media_type);
-@@ -107,6 +122,7 @@ static inline void init_type(struct type *type, struct spa_type_map *map)
- spa_type_format_video_map(map, &type->format_video);
- spa_type_video_format_map(map, &type->video_format);
- }
-+#endif
-
- static void
- pipewire_debug_impl(struct weston_pipewire *pipewire,
-@@ -141,6 +157,7 @@ pipewire_debug_impl(struct weston_pipewire *pipewire,
- free(logstr);
- }
-
-+#if !PW_CHECK_VERSION(0, 2, 90)
- static void
- pipewire_debug(struct weston_pipewire *pipewire, const char *fmt, ...)
- {
-@@ -150,6 +167,7 @@ pipewire_debug(struct weston_pipewire *pipewire, const char *fmt, ...)
- pipewire_debug_impl(pipewire, NULL, fmt, ap);
- va_end(ap);
- }
-+#endif
-
- static void
- pipewire_output_debug(struct pipewire_output *output, const char *fmt, ...)
-@@ -185,7 +203,9 @@ pipewire_output_handle_frame(struct pipewire_output *output, int fd,
- const struct weston_drm_virtual_output_api *api =
- output->pipewire->virtual_output_api;
- size_t size = output->output->height * stride;
-+#if !PW_CHECK_VERSION(0, 2, 90)
- struct pw_type *t = output->pipewire->t;
-+#endif
- struct pw_buffer *buffer;
- struct spa_buffer *spa_buffer;
- struct spa_meta_header *h;
-@@ -203,7 +223,12 @@ pipewire_output_handle_frame(struct pipewire_output *output, int fd,
-
- spa_buffer = buffer->buffer;
-
-+#if PW_CHECK_VERSION(0, 2, 90)
-+ if ((h = spa_buffer_find_meta_data(spa_buffer, SPA_META_Header,
-+ sizeof(struct spa_meta_header)))) {
-+#else
- if ((h = spa_buffer_find_meta(spa_buffer, t->meta.Header))) {
-+#endif
- h->pts = -1;
- h->flags = 0;
- h->seq = output->seq++;
-@@ -375,18 +400,40 @@ pipewire_set_dpms(struct weston_output *base_output, enum dpms_enum level)
- static int
- pipewire_output_connect(struct pipewire_output *output)
- {
-+#if !PW_CHECK_VERSION(0, 2, 90)
- struct weston_pipewire *pipewire = output->pipewire;
- struct type *type = &pipewire->type;
-+#endif
- uint8_t buffer[1024];
- struct spa_pod_builder builder =
- SPA_POD_BUILDER_INIT(buffer, sizeof(buffer));
- const struct spa_pod *params[1];
-+#if !PW_CHECK_VERSION(0, 2, 90)
- struct pw_type *t = pipewire->t;
-+#endif
- int frame_rate = output->output->current_mode->refresh / 1000;
- int width = output->output->width;
- int height = output->output->height;
- int ret;
-
-+#if PW_CHECK_VERSION(0, 2, 90)
-+ params[0] = spa_pod_builder_add_object(&builder,
-+ SPA_TYPE_OBJECT_Format, SPA_PARAM_EnumFormat,
-+ SPA_FORMAT_mediaType, SPA_POD_Id(SPA_MEDIA_TYPE_video),
-+ SPA_FORMAT_mediaSubtype, SPA_POD_Id(SPA_MEDIA_SUBTYPE_raw),
-+ SPA_FORMAT_VIDEO_format, SPA_POD_Id(SPA_VIDEO_FORMAT_BGRx),
-+ SPA_FORMAT_VIDEO_size, SPA_POD_Rectangle(&SPA_RECTANGLE(width, height)),
-+ SPA_FORMAT_VIDEO_framerate, SPA_POD_Fraction(&SPA_FRACTION (0, 1)),
-+ SPA_FORMAT_VIDEO_maxFramerate,
-+ SPA_POD_CHOICE_RANGE_Fraction(&SPA_FRACTION(frame_rate, 1),
-+ &SPA_FRACTION(1, 1),
-+ &SPA_FRACTION(frame_rate, 1)));
-+
-+ ret = pw_stream_connect(output->stream, PW_DIRECTION_OUTPUT, SPA_ID_INVALID,
-+ (PW_STREAM_FLAG_DRIVER |
-+ PW_STREAM_FLAG_MAP_BUFFERS),
-+ params, 1);
-+#else
- params[0] = spa_pod_builder_object(&builder,
- t->param.idEnumFormat, t->spa_format,
- "I", type->media_type.video,
-@@ -406,6 +453,7 @@ pipewire_output_connect(struct pipewire_output *output)
- (PW_STREAM_FLAG_DRIVER |
- PW_STREAM_FLAG_MAP_BUFFERS),
- params, 1);
-+#endif
- if (ret != 0) {
- weston_log("Failed to connect pipewire stream: %s",
- spa_strerror(ret));
-@@ -482,26 +530,42 @@ pipewire_output_stream_state_changed(void *data, enum pw_stream_state old,
- }
-
- static void
-+#if PW_CHECK_VERSION(0, 2, 90)
-+pipewire_output_stream_param_changed(void *data, uint32_t id, const struct spa_pod *format)
-+#else
- pipewire_output_stream_format_changed(void *data, const struct spa_pod *format)
-+#endif
- {
- struct pipewire_output *output = data;
-+#if !PW_CHECK_VERSION(0, 2, 90)
- struct weston_pipewire *pipewire = output->pipewire;
-+#endif
- uint8_t buffer[1024];
- struct spa_pod_builder builder =
- SPA_POD_BUILDER_INIT(buffer, sizeof(buffer));
- const struct spa_pod *params[2];
-+#if !PW_CHECK_VERSION(0, 2, 90)
- struct pw_type *t = pipewire->t;
-+#endif
- int32_t width, height, stride, size;
- const int bpp = 4;
-
- if (!format) {
- pipewire_output_debug(output, "format = None");
-+#if PW_CHECK_VERSION(0, 2, 90)
-+ pw_stream_update_params(output->stream, NULL, 0);
-+#else
- pw_stream_finish_format(output->stream, 0, NULL, 0);
-+#endif
- return;
- }
-
-+#if PW_CHECK_VERSION(0, 2, 90)
-+ spa_format_video_raw_parse(format, &output->video_format);
-+#else
- spa_format_video_raw_parse(format, &output->video_format,
- &pipewire->type.format_video);
-+#endif
-
- width = output->video_format.size.width;
- height = output->video_format.size.height;
-@@ -510,6 +574,21 @@ pipewire_output_stream_format_changed(void *data, const struct spa_pod *format)
-
- pipewire_output_debug(output, "format = %dx%d", width, height);
-
-+#if PW_CHECK_VERSION(0, 2, 90)
-+ params[0] = spa_pod_builder_add_object(&builder,
-+ SPA_TYPE_OBJECT_ParamBuffers, SPA_PARAM_Buffers,
-+ SPA_PARAM_BUFFERS_size, SPA_POD_Int(size),
-+ SPA_PARAM_BUFFERS_stride, SPA_POD_Int(stride),
-+ SPA_PARAM_BUFFERS_buffers, SPA_POD_CHOICE_RANGE_Int(4, 2, 8),
-+ SPA_PARAM_BUFFERS_align, SPA_POD_Int(16));
-+
-+ params[1] = spa_pod_builder_add_object(&builder,
-+ SPA_TYPE_OBJECT_ParamMeta, SPA_PARAM_Meta,
-+ SPA_PARAM_META_type, SPA_POD_Id(SPA_META_Header),
-+ SPA_PARAM_META_size, SPA_POD_Int(sizeof(struct spa_meta_header)));
-+
-+ pw_stream_update_params(output->stream, params, 2);
-+#else
- params[0] = spa_pod_builder_object(&builder,
- t->param.idBuffers, t->param_buffers.Buffers,
- ":", t->param_buffers.size,
-@@ -527,12 +606,17 @@ pipewire_output_stream_format_changed(void *data, const struct spa_pod *format)
- ":", t->param_meta.size, "i", sizeof(struct spa_meta_header));
-
- pw_stream_finish_format(output->stream, 0, params, 2);
-+#endif
- }
-
- static const struct pw_stream_events stream_events = {
- PW_VERSION_STREAM_EVENTS,
- .state_changed = pipewire_output_stream_state_changed,
-+#if PW_CHECK_VERSION(0, 2, 90)
-+ .param_changed = pipewire_output_stream_param_changed,
-+#else
- .format_changed = pipewire_output_stream_format_changed,
-+#endif
- };
-
- static struct weston_output *
-@@ -560,7 +644,11 @@ pipewire_output_create(struct weston_compositor *c, char *name)
- if (!head)
- goto err;
-
-+#if PW_CHECK_VERSION(0, 2, 90)
-+ output->stream = pw_stream_new(pipewire->core, name, NULL);
-+#else
- output->stream = pw_stream_new(pipewire->remote, name, NULL);
-+#endif
- if (!output->stream) {
- weston_log("Cannot initialize pipewire stream\n");
- goto err;
-@@ -704,6 +792,14 @@ weston_pipewire_loop_handler(int fd, uint32_t mask, void *data)
- return 0;
- }
-
-+#if PW_CHECK_VERSION(0, 2, 90)
-+static void
-+weston_pipewire_error(void *data, uint32_t id, int seq, int res,
-+ const char *error)
-+{
-+ weston_log("pipewire remote error: %s\n", error);
-+}
-+#else
- static void
- weston_pipewire_state_changed(void *data, enum pw_remote_state old,
- enum pw_remote_state state, const char *error)
-@@ -725,12 +821,20 @@ weston_pipewire_state_changed(void *data, enum pw_remote_state old,
- break;
- }
- }
-+#endif
-
-
-+#if PW_CHECK_VERSION(0, 2, 90)
-+static const struct pw_core_events core_events = {
-+ PW_VERSION_CORE_EVENTS,
-+ .error = weston_pipewire_error,
-+};
-+#else
- static const struct pw_remote_events remote_events = {
- PW_VERSION_REMOTE_EVENTS,
- .state_changed = weston_pipewire_state_changed,
- };
-+#endif
-
- static int
- weston_pipewire_init(struct weston_pipewire *pipewire)
-@@ -745,10 +849,19 @@ weston_pipewire_init(struct weston_pipewire *pipewire)
-
- pw_loop_enter(pipewire->loop);
-
-+#if PW_CHECK_VERSION(0, 2, 90)
-+ pipewire->context = pw_context_new(pipewire->loop, NULL, 0);
-+#else
- pipewire->core = pw_core_new(pipewire->loop, NULL);
- pipewire->t = pw_core_get_type(pipewire->core);
- init_type(&pipewire->type, pipewire->t->map);
-+#endif
-
-+#if PW_CHECK_VERSION(0, 2, 90)
-+ pw_core_add_listener(pipewire->core,
-+ &pipewire->core_listener,
-+ &core_events, pipewire);
-+#else
- pipewire->remote = pw_remote_new(pipewire->core, NULL, 0);
- pw_remote_add_listener(pipewire->remote,
- &pipewire->remote_listener,
-@@ -777,6 +890,7 @@ weston_pipewire_init(struct weston_pipewire *pipewire)
- goto err;
- }
- }
-+#endif
-
- loop = wl_display_get_event_loop(pipewire->compositor->wl_display);
- pipewire->loop_source =
-@@ -786,12 +900,14 @@ weston_pipewire_init(struct weston_pipewire *pipewire)
- pipewire);
-
- return 0;
-+#if !PW_CHECK_VERSION(0, 2, 90)
- err:
- if (pipewire->remote)
- pw_remote_destroy(pipewire->remote);
- pw_loop_leave(pipewire->loop);
- pw_loop_destroy(pipewire->loop);
- return -1;
-+#endif
- }
-
- static const struct weston_pipewire_api pipewire_api = {
diff --git a/dev-libs/weston/metadata.xml b/dev-libs/weston/metadata.xml
index 6b247269bc8e..2e4783560fc4 100644
--- a/dev-libs/weston/metadata.xml
+++ b/dev-libs/weston/metadata.xml
@@ -5,17 +5,18 @@
<email>chewi@gentoo.org</email>
<name>James Le Cuirot</name>
</maintainer>
+<upstream>
+ <remote-id type="freedesktop-gitlab">wayland/weston</remote-id>
+</upstream>
<use>
<flag name="desktop">Enable the desktop shell</flag>
<flag name="drm">Enable drm compositor support</flag>
<flag name="editor">Install wayland-editor example application</flag>
- <flag name="fbdev">Enable fbdev compositor support</flag>
<flag name="fullscreen">Enable fullscreen shell</flag>
- <flag name="gles2">Use GLESv2 cairo instead of full GL</flag>
+ <flag name="gles2">Enable the GLESv2 renderer, not just the <pkg>x11-libs/pixman</pkg>-based software fallback</flag>
<flag name="headless">Headless backend and a noop renderer, mainly for testing purposes</flag>
<flag name="ivi">Enable the IVI shell</flag>
<flag name="kiosk">Enable the kiosk shell</flag>
- <flag name="launch">Install weston-launch utility</flag>
<flag name="pipewire">Enable virtual remote output with Pipewire on DRM backend</flag>
<flag name="rdp">Enable Remote Desktop Protocol compositor support</flag>
<flag name="remoting">Enable plugin to stream output to remote hosts using <pkg>media-libs/gstreamer</pkg></flag>
diff --git a/dev-libs/weston/weston-11.0.1-r1.ebuild b/dev-libs/weston/weston-11.0.1-r1.ebuild
new file mode 100644
index 000000000000..d0775521a739
--- /dev/null
+++ b/dev-libs/weston/weston-11.0.1-r1.ebuild
@@ -0,0 +1,141 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+if [[ ${PV} = 9999* ]]; then
+ EGIT_REPO_URI="https://gitlab.freedesktop.org/wayland/weston.git"
+ GIT_ECLASS="git-r3"
+ EXPERIMENTAL="true"
+fi
+
+PYTHON_COMPAT=( python3_{9..11} )
+inherit meson python-any-r1 readme.gentoo-r1 xdg-utils ${GIT_ECLASS}
+
+DESCRIPTION="Wayland reference compositor"
+HOMEPAGE="https://wayland.freedesktop.org/ https://gitlab.freedesktop.org/wayland/weston"
+
+if [[ ${PV} = *9999* ]]; then
+ SRC_URI="${SRC_PATCHES}"
+else
+ SRC_URI="https://gitlab.freedesktop.org/wayland/${PN}/uploads/f5648c818fba5432edc3ea63c4db4813/${P}.tar.xz"
+ KEYWORDS="amd64 arm arm64 ~ia64 ~loong ppc64 ~riscv x86"
+fi
+
+LICENSE="MIT CC-BY-SA-3.0"
+SLOT="0"
+
+IUSE="+desktop +drm editor examples fullscreen +gles2 headless ivi jpeg kiosk lcms pipewire rdp remoting +resize-optimization screen-sharing +seatd +suid systemd test wayland-compositor webp +X xwayland"
+RESTRICT="!test? ( test )"
+
+REQUIRED_USE="
+ drm? ( gles2 )
+ pipewire? ( drm )
+ remoting? ( drm gles2 )
+ screen-sharing? ( rdp )
+ test? ( desktop headless lcms xwayland )
+ wayland-compositor? ( gles2 )
+ || ( drm headless rdp wayland-compositor X )
+ || ( seatd systemd )
+"
+
+RDEPEND="
+ >=dev-libs/libinput-0.8.0
+ >=dev-libs/wayland-1.20.0
+ lcms? ( >=media-libs/lcms-2.9:2 )
+ media-libs/libpng:0=
+ webp? ( media-libs/libwebp:0= )
+ jpeg? ( media-libs/libjpeg-turbo:0= )
+ >=x11-libs/cairo-1.11.3
+ >=x11-libs/libdrm-2.4.108
+ >=x11-libs/libxkbcommon-0.5.0
+ >=x11-libs/pixman-0.25.2
+ x11-misc/xkeyboard-config
+ drm? (
+ >=media-libs/mesa-17.1[gbm(+)]
+ >=sys-libs/mtdev-1.1.0
+ >=virtual/udev-136
+ )
+ editor? ( x11-libs/pango )
+ examples? ( x11-libs/pango )
+ gles2? (
+ media-libs/mesa[gles2,wayland]
+ )
+ pipewire? ( >=media-video/pipewire-0.3:= )
+ rdp? ( >=net-misc/freerdp-2.3.0:0=[server] <net-misc/freerdp-3:0 )
+ remoting? (
+ media-libs/gstreamer:1.0
+ media-libs/gst-plugins-base:1.0
+ )
+ seatd? ( sys-auth/seatd:= )
+ systemd? (
+ sys-auth/pambase[systemd]
+ >=sys-apps/dbus-1.6
+ >=sys-apps/systemd-209[pam]
+ )
+ X? (
+ >=x11-libs/libxcb-1.9
+ x11-libs/libX11
+ )
+ xwayland? (
+ x11-base/xwayland
+ x11-libs/cairo[X,xcb(+)]
+ >=x11-libs/libxcb-1.9
+ x11-libs/libXcursor
+ )
+"
+DEPEND="${RDEPEND}
+ >=dev-libs/wayland-protocols-1.24
+"
+BDEPEND="
+ ${PYTHON_DEPS}
+ virtual/pkgconfig
+"
+
+src_configure() {
+ local emesonargs=(
+ $(meson_use drm backend-drm)
+ -Dbackend-drm-screencast-vaapi=false
+ $(meson_use headless backend-headless)
+ $(meson_use rdp backend-rdp)
+ $(meson_use screen-sharing screenshare)
+ $(meson_use wayland-compositor backend-wayland)
+ $(meson_use X backend-x11)
+ -Dbackend-default=auto
+ $(meson_use gles2 renderer-gl)
+ $(meson_use xwayland)
+ $(meson_use seatd launcher-libseat)
+ $(meson_use systemd)
+ $(meson_use remoting)
+ $(meson_use pipewire)
+ $(meson_use desktop shell-desktop)
+ $(meson_use fullscreen shell-fullscreen)
+ $(meson_use ivi shell-ivi)
+ $(meson_use kiosk shell-kiosk)
+ $(meson_use lcms color-management-lcms)
+ $(meson_use systemd launcher-logind)
+ $(meson_use jpeg image-jpeg)
+ $(meson_use webp image-webp)
+ -Dtools=debug,info,terminal
+ $(meson_use examples demo-clients)
+ -Dsimple-clients=$(usex examples damage,dmabuf-v4l,im,shm,touch$(usex gles2 ,dmabuf-egl,egl "") "")
+ $(meson_use resize-optimization resize-pool)
+ -Dtest-junit-xml=false
+ "${myconf[@]}"
+ )
+ meson_src_configure
+}
+
+src_test() {
+ xdg_environment_reset
+ addwrite /dev/dri/
+
+ # xwayland test can fail if X11 socket already exists.
+ cd "${BUILD_DIR}" || die
+ meson test $(meson test --list | grep -Exv "xwayland") || die
+}
+
+src_install() {
+ meson_src_install
+ readme.gentoo_create_doc
+}
diff --git a/dev-libs/weston/weston-11.0.1-r10.ebuild b/dev-libs/weston/weston-11.0.1-r10.ebuild
new file mode 100644
index 000000000000..4fdb7cce2141
--- /dev/null
+++ b/dev-libs/weston/weston-11.0.1-r10.ebuild
@@ -0,0 +1,141 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+if [[ ${PV} = 9999* ]]; then
+ EGIT_REPO_URI="https://gitlab.freedesktop.org/wayland/weston.git"
+ GIT_ECLASS="git-r3"
+ EXPERIMENTAL="true"
+fi
+
+PYTHON_COMPAT=( python3_{9..11} )
+inherit meson python-any-r1 readme.gentoo-r1 xdg-utils ${GIT_ECLASS}
+
+DESCRIPTION="Wayland reference compositor"
+HOMEPAGE="https://wayland.freedesktop.org/ https://gitlab.freedesktop.org/wayland/weston"
+
+if [[ ${PV} = *9999* ]]; then
+ SRC_URI="${SRC_PATCHES}"
+else
+ SRC_URI="https://gitlab.freedesktop.org/wayland/${PN}/uploads/f5648c818fba5432edc3ea63c4db4813/${P}.tar.xz"
+ KEYWORDS="amd64 ~arm ~arm64 ~ia64 ~loong ppc64 ~riscv x86"
+fi
+
+LICENSE="MIT CC-BY-SA-3.0"
+SLOT="0"
+
+IUSE="+desktop +drm editor examples fullscreen +gles2 headless ivi jpeg kiosk lcms pipewire rdp remoting +resize-optimization screen-sharing +seatd +suid systemd test wayland-compositor webp +X xwayland"
+RESTRICT="!test? ( test )"
+
+REQUIRED_USE="
+ drm? ( gles2 )
+ pipewire? ( drm )
+ remoting? ( drm gles2 )
+ screen-sharing? ( rdp )
+ test? ( desktop headless lcms xwayland )
+ wayland-compositor? ( gles2 )
+ || ( drm headless rdp wayland-compositor X )
+ || ( seatd systemd )
+"
+
+RDEPEND="
+ >=dev-libs/libinput-0.8.0
+ >=dev-libs/wayland-1.20.0
+ lcms? ( >=media-libs/lcms-2.9:2 )
+ media-libs/libpng:0=
+ webp? ( media-libs/libwebp:0= )
+ jpeg? ( media-libs/libjpeg-turbo:0= )
+ >=x11-libs/cairo-1.11.3
+ >=x11-libs/libdrm-2.4.108
+ >=x11-libs/libxkbcommon-0.5.0
+ >=x11-libs/pixman-0.25.2
+ x11-misc/xkeyboard-config
+ drm? (
+ >=media-libs/mesa-17.1[gbm(+)]
+ >=sys-libs/mtdev-1.1.0
+ >=virtual/udev-136
+ )
+ editor? ( x11-libs/pango )
+ examples? ( x11-libs/pango )
+ gles2? (
+ media-libs/mesa[gles2,wayland]
+ )
+ pipewire? ( >=media-video/pipewire-0.3:= )
+ rdp? ( >=net-misc/freerdp-2.3.0:2=[server] )
+ remoting? (
+ media-libs/gstreamer:1.0
+ media-libs/gst-plugins-base:1.0
+ )
+ seatd? ( sys-auth/seatd:= )
+ systemd? (
+ sys-auth/pambase[systemd]
+ >=sys-apps/dbus-1.6
+ >=sys-apps/systemd-209[pam]
+ )
+ X? (
+ >=x11-libs/libxcb-1.9
+ x11-libs/libX11
+ )
+ xwayland? (
+ x11-base/xwayland
+ x11-libs/cairo[X,xcb(+)]
+ >=x11-libs/libxcb-1.9
+ x11-libs/libXcursor
+ )
+"
+DEPEND="${RDEPEND}
+ >=dev-libs/wayland-protocols-1.24
+"
+BDEPEND="
+ ${PYTHON_DEPS}
+ virtual/pkgconfig
+"
+
+src_configure() {
+ local emesonargs=(
+ $(meson_use drm backend-drm)
+ -Dbackend-drm-screencast-vaapi=false
+ $(meson_use headless backend-headless)
+ $(meson_use rdp backend-rdp)
+ $(meson_use screen-sharing screenshare)
+ $(meson_use wayland-compositor backend-wayland)
+ $(meson_use X backend-x11)
+ -Dbackend-default=auto
+ $(meson_use gles2 renderer-gl)
+ $(meson_use xwayland)
+ $(meson_use seatd launcher-libseat)
+ $(meson_use systemd)
+ $(meson_use remoting)
+ $(meson_use pipewire)
+ $(meson_use desktop shell-desktop)
+ $(meson_use fullscreen shell-fullscreen)
+ $(meson_use ivi shell-ivi)
+ $(meson_use kiosk shell-kiosk)
+ $(meson_use lcms color-management-lcms)
+ $(meson_use systemd launcher-logind)
+ $(meson_use jpeg image-jpeg)
+ $(meson_use webp image-webp)
+ -Dtools=debug,info,terminal
+ $(meson_use examples demo-clients)
+ -Dsimple-clients=$(usex examples damage,dmabuf-v4l,im,shm,touch$(usex gles2 ,dmabuf-egl,egl "") "")
+ $(meson_use resize-optimization resize-pool)
+ -Dtest-junit-xml=false
+ "${myconf[@]}"
+ )
+ meson_src_configure
+}
+
+src_test() {
+ xdg_environment_reset
+ addwrite /dev/dri/
+
+ # xwayland test can fail if X11 socket already exists.
+ cd "${BUILD_DIR}" || die
+ meson test $(meson test --list | grep -Exv "xwayland") || die
+}
+
+src_install() {
+ meson_src_install
+ readme.gentoo_create_doc
+}
diff --git a/dev-libs/weston/weston-12.0.91-r1.ebuild b/dev-libs/weston/weston-12.0.91-r1.ebuild
new file mode 100644
index 000000000000..9b26690ae48b
--- /dev/null
+++ b/dev-libs/weston/weston-12.0.91-r1.ebuild
@@ -0,0 +1,146 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+if [[ ${PV} = 9999* ]]; then
+ EGIT_REPO_URI="https://gitlab.freedesktop.org/wayland/weston.git"
+ GIT_ECLASS="git-r3"
+ EXPERIMENTAL="true"
+fi
+
+PYTHON_COMPAT=( python3_{9..12} )
+inherit meson python-any-r1 readme.gentoo-r1 xdg-utils ${GIT_ECLASS}
+
+DESCRIPTION="Wayland reference compositor"
+HOMEPAGE="https://wayland.freedesktop.org/ https://gitlab.freedesktop.org/wayland/weston"
+
+if [[ ${PV} = *9999* ]]; then
+ SRC_URI="${SRC_PATCHES}"
+else
+ SRC_URI="https://gitlab.freedesktop.org/wayland/${PN}/-/releases/${PV}/downloads/${P}.tar.xz"
+ KEYWORDS="~amd64 ~arm ~arm64 ~ia64 ~loong ~riscv ~x86"
+fi
+
+LICENSE="MIT CC-BY-SA-3.0"
+SLOT="0"
+
+IUSE="+desktop +drm editor examples fullscreen +gles2 headless ivi jpeg kiosk lcms pipewire rdp remoting +resize-optimization screen-sharing +suid systemd test vnc wayland-compositor webp +X xwayland"
+RESTRICT="!test? ( test )"
+
+REQUIRED_USE="
+ drm? ( gles2 )
+ pipewire? ( drm )
+ remoting? ( drm gles2 )
+ screen-sharing? ( rdp )
+ test? ( desktop headless lcms xwayland )
+ wayland-compositor? ( gles2 )
+ || ( drm headless rdp vnc wayland-compositor X )
+"
+
+RDEPEND="
+ >=dev-libs/libinput-1.2.0
+ >=dev-libs/wayland-1.22.0
+ media-libs/libpng:0=
+ sys-auth/seatd:=
+ >=x11-libs/cairo-1.11.3
+ >=x11-libs/libdrm-2.4.108
+ >=x11-libs/libxkbcommon-0.5.0
+ >=x11-libs/pixman-0.25.2
+ x11-misc/xkeyboard-config
+ drm? (
+ >=media-libs/mesa-17.1[gbm(+)]
+ >=sys-libs/mtdev-1.1.0
+ >=virtual/udev-136
+ )
+ editor? ( x11-libs/pango )
+ examples? ( x11-libs/pango )
+ gles2? ( media-libs/mesa[gles2,wayland] )
+ jpeg? ( media-libs/libjpeg-turbo:0= )
+ lcms? ( >=media-libs/lcms-2.9:2 )
+ pipewire? ( >=media-video/pipewire-0.3:= )
+ rdp? ( >=net-misc/freerdp-2.3.0:2=[server] )
+ remoting? (
+ media-libs/gstreamer:1.0
+ media-libs/gst-plugins-base:1.0
+ )
+ systemd? ( sys-apps/systemd )
+ vnc? (
+ =dev-libs/aml-0.3*
+ =gui-libs/neatvnc-0.7*
+ sys-libs/pam
+ )
+ webp? ( media-libs/libwebp:0= )
+ X? (
+ >=x11-libs/libxcb-1.9
+ x11-libs/libX11
+ )
+ xwayland? (
+ x11-base/xwayland
+ x11-libs/cairo[X,xcb(+)]
+ >=x11-libs/libxcb-1.9
+ x11-libs/libXcursor
+ >=x11-libs/xcb-util-cursor-0.1.4
+ )
+"
+DEPEND="${RDEPEND}
+ >=dev-libs/wayland-protocols-1.24
+"
+BDEPEND="
+ ${PYTHON_DEPS}
+ dev-util/wayland-scanner
+ virtual/pkgconfig
+ $(python_gen_any_dep 'dev-python/setuptools[${PYTHON_USEDEP}]')
+"
+
+python_check_deps() {
+ python_has_version "dev-python/setuptools[${PYTHON_USEDEP}]"
+}
+
+src_configure() {
+ local emesonargs=(
+ $(meson_use drm backend-drm)
+ -Dbackend-drm-screencast-vaapi=false
+ $(meson_use headless backend-headless)
+ $(meson_use pipewire backend-pipewire)
+ $(meson_use rdp backend-rdp)
+ $(meson_use screen-sharing screenshare)
+ $(meson_use vnc backend-vnc)
+ $(meson_use wayland-compositor backend-wayland)
+ $(meson_use X backend-x11)
+ -Dbackend-default=auto
+ $(meson_use gles2 renderer-gl)
+ $(meson_use xwayland)
+ $(meson_use systemd)
+ $(meson_use remoting)
+ $(meson_use pipewire)
+ $(meson_use desktop shell-desktop)
+ $(meson_use fullscreen shell-fullscreen)
+ $(meson_use ivi shell-ivi)
+ $(meson_use kiosk shell-kiosk)
+ $(meson_use lcms color-management-lcms)
+ $(meson_use jpeg image-jpeg)
+ $(meson_use webp image-webp)
+ -Dtools=debug,info,terminal
+ $(meson_use examples demo-clients)
+ -Dsimple-clients=$(usex examples damage,dmabuf-v4l,im,shm,touch$(usex gles2 ,dmabuf-egl,egl "") "")
+ $(meson_use resize-optimization resize-pool)
+ -Dtest-junit-xml=false
+ "${myconf[@]}"
+ )
+ meson_src_configure
+}
+
+src_test() {
+ xdg_environment_reset
+ addwrite /dev/dri/
+
+ # xwayland test can fail if X11 socket already exists.
+ cd "${BUILD_DIR}" || die
+ meson test $(meson test --list | grep -Exv "xwayland") || die
+}
+
+src_install() {
+ meson_src_install
+ readme.gentoo_create_doc
+}
diff --git a/dev-libs/weston/weston-13.0.0-r1.ebuild b/dev-libs/weston/weston-13.0.0-r1.ebuild
new file mode 100644
index 000000000000..9b26690ae48b
--- /dev/null
+++ b/dev-libs/weston/weston-13.0.0-r1.ebuild
@@ -0,0 +1,146 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+if [[ ${PV} = 9999* ]]; then
+ EGIT_REPO_URI="https://gitlab.freedesktop.org/wayland/weston.git"
+ GIT_ECLASS="git-r3"
+ EXPERIMENTAL="true"
+fi
+
+PYTHON_COMPAT=( python3_{9..12} )
+inherit meson python-any-r1 readme.gentoo-r1 xdg-utils ${GIT_ECLASS}
+
+DESCRIPTION="Wayland reference compositor"
+HOMEPAGE="https://wayland.freedesktop.org/ https://gitlab.freedesktop.org/wayland/weston"
+
+if [[ ${PV} = *9999* ]]; then
+ SRC_URI="${SRC_PATCHES}"
+else
+ SRC_URI="https://gitlab.freedesktop.org/wayland/${PN}/-/releases/${PV}/downloads/${P}.tar.xz"
+ KEYWORDS="~amd64 ~arm ~arm64 ~ia64 ~loong ~riscv ~x86"
+fi
+
+LICENSE="MIT CC-BY-SA-3.0"
+SLOT="0"
+
+IUSE="+desktop +drm editor examples fullscreen +gles2 headless ivi jpeg kiosk lcms pipewire rdp remoting +resize-optimization screen-sharing +suid systemd test vnc wayland-compositor webp +X xwayland"
+RESTRICT="!test? ( test )"
+
+REQUIRED_USE="
+ drm? ( gles2 )
+ pipewire? ( drm )
+ remoting? ( drm gles2 )
+ screen-sharing? ( rdp )
+ test? ( desktop headless lcms xwayland )
+ wayland-compositor? ( gles2 )
+ || ( drm headless rdp vnc wayland-compositor X )
+"
+
+RDEPEND="
+ >=dev-libs/libinput-1.2.0
+ >=dev-libs/wayland-1.22.0
+ media-libs/libpng:0=
+ sys-auth/seatd:=
+ >=x11-libs/cairo-1.11.3
+ >=x11-libs/libdrm-2.4.108
+ >=x11-libs/libxkbcommon-0.5.0
+ >=x11-libs/pixman-0.25.2
+ x11-misc/xkeyboard-config
+ drm? (
+ >=media-libs/mesa-17.1[gbm(+)]
+ >=sys-libs/mtdev-1.1.0
+ >=virtual/udev-136
+ )
+ editor? ( x11-libs/pango )
+ examples? ( x11-libs/pango )
+ gles2? ( media-libs/mesa[gles2,wayland] )
+ jpeg? ( media-libs/libjpeg-turbo:0= )
+ lcms? ( >=media-libs/lcms-2.9:2 )
+ pipewire? ( >=media-video/pipewire-0.3:= )
+ rdp? ( >=net-misc/freerdp-2.3.0:2=[server] )
+ remoting? (
+ media-libs/gstreamer:1.0
+ media-libs/gst-plugins-base:1.0
+ )
+ systemd? ( sys-apps/systemd )
+ vnc? (
+ =dev-libs/aml-0.3*
+ =gui-libs/neatvnc-0.7*
+ sys-libs/pam
+ )
+ webp? ( media-libs/libwebp:0= )
+ X? (
+ >=x11-libs/libxcb-1.9
+ x11-libs/libX11
+ )
+ xwayland? (
+ x11-base/xwayland
+ x11-libs/cairo[X,xcb(+)]
+ >=x11-libs/libxcb-1.9
+ x11-libs/libXcursor
+ >=x11-libs/xcb-util-cursor-0.1.4
+ )
+"
+DEPEND="${RDEPEND}
+ >=dev-libs/wayland-protocols-1.24
+"
+BDEPEND="
+ ${PYTHON_DEPS}
+ dev-util/wayland-scanner
+ virtual/pkgconfig
+ $(python_gen_any_dep 'dev-python/setuptools[${PYTHON_USEDEP}]')
+"
+
+python_check_deps() {
+ python_has_version "dev-python/setuptools[${PYTHON_USEDEP}]"
+}
+
+src_configure() {
+ local emesonargs=(
+ $(meson_use drm backend-drm)
+ -Dbackend-drm-screencast-vaapi=false
+ $(meson_use headless backend-headless)
+ $(meson_use pipewire backend-pipewire)
+ $(meson_use rdp backend-rdp)
+ $(meson_use screen-sharing screenshare)
+ $(meson_use vnc backend-vnc)
+ $(meson_use wayland-compositor backend-wayland)
+ $(meson_use X backend-x11)
+ -Dbackend-default=auto
+ $(meson_use gles2 renderer-gl)
+ $(meson_use xwayland)
+ $(meson_use systemd)
+ $(meson_use remoting)
+ $(meson_use pipewire)
+ $(meson_use desktop shell-desktop)
+ $(meson_use fullscreen shell-fullscreen)
+ $(meson_use ivi shell-ivi)
+ $(meson_use kiosk shell-kiosk)
+ $(meson_use lcms color-management-lcms)
+ $(meson_use jpeg image-jpeg)
+ $(meson_use webp image-webp)
+ -Dtools=debug,info,terminal
+ $(meson_use examples demo-clients)
+ -Dsimple-clients=$(usex examples damage,dmabuf-v4l,im,shm,touch$(usex gles2 ,dmabuf-egl,egl "") "")
+ $(meson_use resize-optimization resize-pool)
+ -Dtest-junit-xml=false
+ "${myconf[@]}"
+ )
+ meson_src_configure
+}
+
+src_test() {
+ xdg_environment_reset
+ addwrite /dev/dri/
+
+ # xwayland test can fail if X11 socket already exists.
+ cd "${BUILD_DIR}" || die
+ meson test $(meson test --list | grep -Exv "xwayland") || die
+}
+
+src_install() {
+ meson_src_install
+ readme.gentoo_create_doc
+}
diff --git a/dev-libs/weston/weston-9.0.0-r2.ebuild b/dev-libs/weston/weston-9.0.0-r2.ebuild
deleted file mode 100644
index b2013d85f980..000000000000
--- a/dev-libs/weston/weston-9.0.0-r2.ebuild
+++ /dev/null
@@ -1,151 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-if [[ ${PV} = 9999* ]]; then
- EGIT_REPO_URI="https://gitlab.freedesktop.org/wayland/weston.git"
- GIT_ECLASS="git-r3"
- EXPERIMENTAL="true"
-fi
-
-inherit meson readme.gentoo-r1 xdg-utils ${GIT_ECLASS}
-
-DESCRIPTION="Wayland reference compositor"
-HOMEPAGE="https://wayland.freedesktop.org/ https://gitlab.freedesktop.org/wayland/weston"
-
-if [[ ${PV} = *9999* ]]; then
- SRC_URI="${SRC_PATCHES}"
-else
- SRC_URI="https://wayland.freedesktop.org/releases/${P}.tar.xz"
- KEYWORDS="amd64 arm arm64 ppc64 ~riscv x86"
-fi
-
-LICENSE="MIT CC-BY-SA-3.0"
-SLOT="0"
-
-IUSE="colord +desktop +drm editor examples fbdev fullscreen +gles2 headless ivi jpeg kiosk +launch lcms pipewire rdp remoting +resize-optimization screen-sharing +suid systemd test wayland-compositor webp +X xwayland"
-RESTRICT="!test? ( test )"
-
-REQUIRED_USE="
- colord? ( lcms )
- drm? ( gles2 )
- pipewire? ( drm )
- screen-sharing? ( rdp )
- test? ( desktop headless xwayland )
- wayland-compositor? ( gles2 )
- || ( drm fbdev headless rdp wayland-compositor X )
-"
-
-RDEPEND="
- >=dev-libs/libinput-0.8.0
- >=dev-libs/wayland-1.17.0
- >=dev-libs/wayland-protocols-1.18
- lcms? ( media-libs/lcms:2 )
- media-libs/libpng:0=
- webp? ( media-libs/libwebp:0= )
- jpeg? ( virtual/jpeg:0= )
- >=x11-libs/cairo-1.11.3
- >=x11-libs/libdrm-2.4.68
- >=x11-libs/libxkbcommon-0.5.0
- >=x11-libs/pixman-0.25.2
- x11-misc/xkeyboard-config
- fbdev? (
- >=sys-libs/mtdev-1.1.0
- >=virtual/udev-136
- )
- colord? ( >=x11-misc/colord-0.1.27 )
- drm? (
- >=media-libs/mesa-17.1[gbm(+)]
- >=sys-libs/mtdev-1.1.0
- >=virtual/udev-136
- )
- editor? ( x11-libs/pango )
- examples? ( x11-libs/pango )
- gles2? (
- media-libs/mesa[gles2,wayland]
- )
- pipewire? ( >=media-video/pipewire-0.2:= )
- rdp? ( >=net-misc/freerdp-2.0.0_rc2:= )
- remoting? (
- media-libs/gstreamer:1.0
- media-libs/gst-plugins-base:1.0
- )
- systemd? (
- sys-auth/pambase[systemd]
- >=sys-apps/dbus-1.6
- >=sys-apps/systemd-209[pam]
- )
- launch? ( sys-auth/pambase )
- X? (
- >=x11-libs/libxcb-1.9
- x11-libs/libX11
- )
- xwayland? (
- x11-base/xwayland
- x11-libs/cairo[X,xcb(+)]
- >=x11-libs/libxcb-1.9
- x11-libs/libXcursor
- )
-"
-DEPEND="${RDEPEND}"
-BDEPEND="
- virtual/pkgconfig
-"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-pipewire-0.3.patch
-)
-
-src_configure() {
- local emesonargs=(
- $(meson_use drm backend-drm)
- -Dbackend-drm-screencast-vaapi=false
- $(meson_use headless backend-headless)
- $(meson_use rdp backend-rdp)
- $(meson_use screen-sharing screenshare)
- $(meson_use wayland-compositor backend-wayland)
- $(meson_use X backend-x11)
- $(meson_use fbdev backend-fbdev)
- -Dbackend-default=auto
- $(meson_use gles2 renderer-gl)
- $(meson_use launch weston-launch)
- $(meson_use xwayland)
- $(meson_use systemd)
- $(meson_use remoting)
- $(meson_use pipewire)
- $(meson_use desktop shell-desktop)
- $(meson_use fullscreen shell-fullscreen)
- $(meson_use ivi shell-ivi)
- $(meson_use kiosk shell-kiosk)
- $(meson_use lcms color-management-lcms)
- $(meson_use colord color-management-colord)
- $(meson_use systemd launcher-logind)
- $(meson_use jpeg image-jpeg)
- $(meson_use webp image-webp)
- -Dtools=debug,info,terminal
- $(meson_use examples demo-clients)
- -Dsimple-clients=$(usex examples damage,dmabuf-v4l,im,shm,touch$(usex gles2 ,dmabuf-egl,egl "") "")
- $(meson_use resize-optimization resize-pool)
- -Dtest-junit-xml=false
- -Dtest-gl-renderer=false
- "${myconf[@]}"
- )
- meson_src_configure
-}
-
-src_test() {
- xdg_environment_reset
-
- # devices test usually fails.
- cd "${BUILD_DIR}" || die
- meson test $(meson test --list | grep -Fxv devices) || die
-}
-
-src_install() {
- meson_src_install
- if use launch && use suid; then
- chmod u+s "${ED}"/usr/bin/weston-launch || die
- fi
- readme.gentoo_create_doc
-}
diff --git a/dev-libs/weston/weston-9999.ebuild b/dev-libs/weston/weston-9999.ebuild
index 75c191a28c7b..9b26690ae48b 100644
--- a/dev-libs/weston/weston-9999.ebuild
+++ b/dev-libs/weston/weston-9999.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
if [[ ${PV} = 9999* ]]; then
EGIT_REPO_URI="https://gitlab.freedesktop.org/wayland/weston.git"
@@ -9,7 +9,8 @@ if [[ ${PV} = 9999* ]]; then
EXPERIMENTAL="true"
fi
-inherit meson readme.gentoo-r1 xdg-utils ${GIT_ECLASS}
+PYTHON_COMPAT=( python3_{9..12} )
+inherit meson python-any-r1 readme.gentoo-r1 xdg-utils ${GIT_ECLASS}
DESCRIPTION="Wayland reference compositor"
HOMEPAGE="https://wayland.freedesktop.org/ https://gitlab.freedesktop.org/wayland/weston"
@@ -17,44 +18,36 @@ HOMEPAGE="https://wayland.freedesktop.org/ https://gitlab.freedesktop.org/waylan
if [[ ${PV} = *9999* ]]; then
SRC_URI="${SRC_PATCHES}"
else
- SRC_URI="https://wayland.freedesktop.org/releases/${P}.tar.xz"
- KEYWORDS="~amd64 ~arm ~x86"
+ SRC_URI="https://gitlab.freedesktop.org/wayland/${PN}/-/releases/${PV}/downloads/${P}.tar.xz"
+ KEYWORDS="~amd64 ~arm ~arm64 ~ia64 ~loong ~riscv ~x86"
fi
LICENSE="MIT CC-BY-SA-3.0"
SLOT="0"
-IUSE="colord +desktop +drm editor examples fbdev fullscreen +gles2 headless ivi jpeg kiosk +launch lcms pipewire rdp remoting +resize-optimization screen-sharing seatd +suid systemd test wayland-compositor webp +X xwayland"
+IUSE="+desktop +drm editor examples fullscreen +gles2 headless ivi jpeg kiosk lcms pipewire rdp remoting +resize-optimization screen-sharing +suid systemd test vnc wayland-compositor webp +X xwayland"
RESTRICT="!test? ( test )"
REQUIRED_USE="
- colord? ( lcms )
drm? ( gles2 )
pipewire? ( drm )
+ remoting? ( drm gles2 )
screen-sharing? ( rdp )
- test? ( desktop headless xwayland )
+ test? ( desktop headless lcms xwayland )
wayland-compositor? ( gles2 )
- || ( drm fbdev headless rdp wayland-compositor X )
+ || ( drm headless rdp vnc wayland-compositor X )
"
RDEPEND="
- >=dev-libs/libinput-0.8.0
- >=dev-libs/wayland-1.17.0
- >=dev-libs/wayland-protocols-1.18
- lcms? ( media-libs/lcms:2 )
+ >=dev-libs/libinput-1.2.0
+ >=dev-libs/wayland-1.22.0
media-libs/libpng:0=
- webp? ( media-libs/libwebp:0= )
- jpeg? ( virtual/jpeg:0= )
+ sys-auth/seatd:=
>=x11-libs/cairo-1.11.3
- >=x11-libs/libdrm-2.4.68
+ >=x11-libs/libdrm-2.4.108
>=x11-libs/libxkbcommon-0.5.0
>=x11-libs/pixman-0.25.2
x11-misc/xkeyboard-config
- fbdev? (
- >=sys-libs/mtdev-1.1.0
- >=virtual/udev-136
- )
- colord? ( >=x11-misc/colord-0.1.27 )
drm? (
>=media-libs/mesa-17.1[gbm(+)]
>=sys-libs/mtdev-1.1.0
@@ -62,22 +55,22 @@ RDEPEND="
)
editor? ( x11-libs/pango )
examples? ( x11-libs/pango )
- gles2? (
- media-libs/mesa[gles2,wayland]
- )
- pipewire? ( >=media-video/pipewire-0.2:= )
- rdp? ( >=net-misc/freerdp-2.0.0_rc2:= )
+ gles2? ( media-libs/mesa[gles2,wayland] )
+ jpeg? ( media-libs/libjpeg-turbo:0= )
+ lcms? ( >=media-libs/lcms-2.9:2 )
+ pipewire? ( >=media-video/pipewire-0.3:= )
+ rdp? ( >=net-misc/freerdp-2.3.0:2=[server] )
remoting? (
media-libs/gstreamer:1.0
media-libs/gst-plugins-base:1.0
)
- seatd? ( sys-auth/seatd:= )
- systemd? (
- sys-auth/pambase[systemd]
- >=sys-apps/dbus-1.6
- >=sys-apps/systemd-209[pam]
+ systemd? ( sys-apps/systemd )
+ vnc? (
+ =dev-libs/aml-0.3*
+ =gui-libs/neatvnc-0.7*
+ sys-libs/pam
)
- launch? ( sys-auth/pambase )
+ webp? ( media-libs/libwebp:0= )
X? (
>=x11-libs/libxcb-1.9
x11-libs/libX11
@@ -87,28 +80,37 @@ RDEPEND="
x11-libs/cairo[X,xcb(+)]
>=x11-libs/libxcb-1.9
x11-libs/libXcursor
+ >=x11-libs/xcb-util-cursor-0.1.4
)
"
-DEPEND="${RDEPEND}"
+DEPEND="${RDEPEND}
+ >=dev-libs/wayland-protocols-1.24
+"
BDEPEND="
+ ${PYTHON_DEPS}
+ dev-util/wayland-scanner
virtual/pkgconfig
+ $(python_gen_any_dep 'dev-python/setuptools[${PYTHON_USEDEP}]')
"
+python_check_deps() {
+ python_has_version "dev-python/setuptools[${PYTHON_USEDEP}]"
+}
+
src_configure() {
local emesonargs=(
$(meson_use drm backend-drm)
-Dbackend-drm-screencast-vaapi=false
$(meson_use headless backend-headless)
+ $(meson_use pipewire backend-pipewire)
$(meson_use rdp backend-rdp)
$(meson_use screen-sharing screenshare)
+ $(meson_use vnc backend-vnc)
$(meson_use wayland-compositor backend-wayland)
$(meson_use X backend-x11)
- $(meson_use fbdev backend-fbdev)
-Dbackend-default=auto
$(meson_use gles2 renderer-gl)
- $(meson_use launch weston-launch)
$(meson_use xwayland)
- $(meson_use seatd launcher-libseat)
$(meson_use systemd)
$(meson_use remoting)
$(meson_use pipewire)
@@ -117,8 +119,6 @@ src_configure() {
$(meson_use ivi shell-ivi)
$(meson_use kiosk shell-kiosk)
$(meson_use lcms color-management-lcms)
- $(meson_use colord color-management-colord)
- $(meson_use systemd launcher-logind)
$(meson_use jpeg image-jpeg)
$(meson_use webp image-webp)
-Dtools=debug,info,terminal
@@ -126,7 +126,6 @@ src_configure() {
-Dsimple-clients=$(usex examples damage,dmabuf-v4l,im,shm,touch$(usex gles2 ,dmabuf-egl,egl "") "")
$(meson_use resize-optimization resize-pool)
-Dtest-junit-xml=false
- -Dtest-gl-renderer=false
"${myconf[@]}"
)
meson_src_configure
@@ -134,16 +133,14 @@ src_configure() {
src_test() {
xdg_environment_reset
+ addwrite /dev/dri/
- # devices test usually fails.
+ # xwayland test can fail if X11 socket already exists.
cd "${BUILD_DIR}" || die
- meson test $(meson test --list | grep -Fxv devices) || die
+ meson test $(meson test --list | grep -Exv "xwayland") || die
}
src_install() {
meson_src_install
- if use launch && use suid; then
- chmod u+s "${ED}"/usr/bin/weston-launch || die
- fi
readme.gentoo_create_doc
}
diff --git a/dev-libs/xalan-c/Manifest b/dev-libs/xalan-c/Manifest
index c7eb353b1841..dc2282749ca2 100644
--- a/dev-libs/xalan-c/Manifest
+++ b/dev-libs/xalan-c/Manifest
@@ -1 +1,2 @@
-DIST Xalan-C_r1153059-src.tar.gz 1573651 BLAKE2B 5e684b80bc962776c1e0102a97023ee3a9b9357b6fc05e02687971d5d879b01a5dc426fd6ab2af68a7ad6ec48a799d70fd912a4e3a30d8e3a22a954d84d21f59 SHA512 2382c1343ae97d0196d84053139758d3b3b7574bcd835b754e34acdc6ab708a58fc23d2f27d41870c768c78a1de7be1bb6031cc78d205b6024f1ad7cd6fca653
+DIST xalan_c-1.12.tar.gz 1130924 BLAKE2B c2f0fb98d39e516d5219ab0e075517c2c916b451bfce6d90399899870a8a73fb59f8d2465f58bd97208d19c5a7a18df5a49ece156d8dfe47bf57fc875793fb43 SHA512 a9f72f0e8e199ee2cfb4c19ecf390d5007f597aad96a53f55bc475805190302c7e0d800d776b7fb20fe8e2dddb6391e70aa3a8861a2303370135e8b0a5fd15fc
+DIST xalan_c-1.12.tar.gz.asc 488 BLAKE2B 1e5d7091ca184ac7e2897fe52417b01d9618ab0435f2bcc7748d563287ad81692e61bee92ec9bc71e5c21c11bc8245a4ec09ff7e6ed44a4b3113264b096ba277 SHA512 1c532367d5a3f16622cda3eaca05eac648b415a9de8685cf43f5e62683db30b396e669b6952f5bbe161327b8171cd1e54ad4dbefa54122243aa01298d53d400d
diff --git a/dev-libs/xalan-c/files/1.11.0_pre797991-as-needed.patch b/dev-libs/xalan-c/files/1.11.0_pre797991-as-needed.patch
deleted file mode 100644
index 791da1cd7e75..000000000000
--- a/dev-libs/xalan-c/files/1.11.0_pre797991-as-needed.patch
+++ /dev/null
@@ -1,105 +0,0 @@
---- a/src/xalanc/Makefile.in
-+++ b/src/xalanc/Makefile.in
-@@ -174,7 +174,7 @@
-
- "//'$(LOADSAMP)(${BATCH_XALAN_UTIL_NAME})'": ${XSL_OBJ_DIR}/XalanExe.o
- ${LINK} $(XSL_BUILD_OPTIONS) ${PLATFORM_LIB_LINK_OPTIONS} \
-- ${EXTRA_LINK_OPTIONS} $(XALAN_LIB) $(ALLLIBS) $^ -o $@
-+ ${EXTRA_LINK_OPTIONS} $^ -o $@ $(XALAN_LIB) $(ALLLIBS)
- ${XSL_OBJ_DIR}/XalanExe.o: $(XALANEXE_DIR)/XalanExe.cpp
- $(CC1) $(XSL_BUILD_OPTIONS) -c $(XSL_INCL) $(EXTRA_COMPILE_OPTIONS) -o $@ $<
-
-@@ -182,7 +182,7 @@
-
- "//'$(LOADSAMP)(${BATCH_TEST_UTIL_NAME})'": ${XSL_OBJ_DIR}/process.o
- ${LINK} $(XSL_BUILD_OPTIONS) ${PLATFORM_LIB_LINK_OPTIONS} \
-- ${EXTRA_LINK_OPTIONS} $(XALAN_LIB) $(ALLLIBS) $^ -o $@
-+ ${EXTRA_LINK_OPTIONS} $^ -o $@ $(XALAN_LIB) $(ALLLIBS)
- ${XSL_OBJ_DIR}/process.o: $(TESTXSLT_DIR)/process.cpp
- $(CC1) $(XSL_BUILD_OPTIONS) -c $(XSL_INCL) $(EXTRA_COMPILE_OPTIONS) -o $@ $<
-
-@@ -192,7 +192,7 @@
-
- $(XSL_BIN_DIR)/Xalan: ${XSL_OBJ_DIR}/XalanExe.o
- ${LINK} $(XSL_BUILD_OPTIONS) ${PLATFORM_LIB_LINK_OPTIONS} \
-- ${EXTRA_LINK_OPTIONS} $(XALAN_LIB) $(ALLLIBS) $^ -o $@ $(OTHER_LINK_PARAMETERS)
-+ ${EXTRA_LINK_OPTIONS} $^ -o $@ $(OTHER_LINK_PARAMETERS) $(XALAN_LIB) $(ALLLIBS)
- ${XSL_OBJ_DIR}/XalanExe.o: $(XALANEXE_DIR)/XalanExe.cpp
- $(CC1) $(XSL_BUILD_OPTIONS) -c $(XSL_INCL) $(EXTRA_COMPILE_OPTIONS) -o $@ $<
- endif
-@@ -201,7 +201,7 @@
-
- $(XSL_BIN_DIR)/testXSLT: ${XSL_OBJ_DIR}/process.o
- ${LINK} $(XSL_BUILD_OPTIONS) ${PLATFORM_LIB_LINK_OPTIONS} \
-- ${EXTRA_LINK_OPTIONS} $(XALAN_LIB) $(ALLLIBS) $^ -o $@ $(OTHER_LINK_PARAMETERS)
-+ ${EXTRA_LINK_OPTIONS} $^ -o $@ $(OTHER_LINK_PARAMETERS) $(XALAN_LIB) $(ALLLIBS)
- ${XSL_OBJ_DIR}/process.o: $(TESTXSLT_DIR)/process.cpp
- $(CC1) $(XSL_BUILD_OPTIONS) -c $(XSL_INCL) $(EXTRA_COMPILE_OPTIONS) -o $@ $<
-
-@@ -209,7 +209,7 @@
-
- $(XSL_BIN_DIR)/testXPath: ${XSL_OBJ_DIR}/TestXPath.o ${XSL_OBJ_DIR}/NodeNameTreeWalker.o
- ${LINK} $(XSL_BUILD_OPTIONS) ${PLATFORM_LIB_LINK_OPTIONS} \
-- ${EXTRA_LINK_OPTIONS} $(XALAN_LIB) $(ALLLIBS) $(CXXFLAGS) $^ -o $@ $(OTHER_LINK_PARAMETERS)
-+ ${EXTRA_LINK_OPTIONS} $(CXXFLAGS) $^ -o $@ $(OTHER_LINK_PARAMETERS) $(XALAN_LIB) $(ALLLIBS)
- ${XSL_OBJ_DIR}/%.o:$(TESTXPATH_DIR)/%.cpp
- $(CC1) $(XSL_BUILD_OPTIONS) -c $(XSL_INCL) $(EXTRA_COMPILE_OPTIONS) -o $@ $<
-
-@@ -222,7 +222,7 @@
-
- ${BATCH_TARGET}: $(ALL_OBJECTS)
- @echo Building ${BATCH_TARGET}
-- $(MAKE_SHARED) $(ALLLIBS) $^ -o $@
-+ $(MAKE_SHARED) $^ -o $@ $(ALLLIBS)
-
- else
-
-@@ -232,7 +232,7 @@
- $(MAKE) -C Utils $@
-
- $(XSL_LIB_DIR)/$(LIB): $(ALL_OBJECTS)
-- $(MAKE_SHARED) $(PLATFORM_LIBRARIES) $(EXTRA_LINK_OPTIONS) $(LINK_SONAME) $(ALLLIBS) $^ -o $@ $(OTHER_LINK_LIB_PARAMETERS)
-+ $(MAKE_SHARED) $(PLATFORM_LIBRARIES) $(EXTRA_LINK_OPTIONS) $(LINK_SONAME) $^ -o $@ $(OTHER_LINK_LIB_PARAMETERS) $(ALLLIBS)
- ifeq ($(PLATFORM), OS390)
- mv *.x ${XSL_LIB_DIR}
- else
---- a/src/xalanc/Utils/MsgCreator/Makefile.in
-+++ b/src/xalanc/Utils/MsgCreator/Makefile.in
-@@ -29,7 +29,7 @@
-
- $(XSL_BIN_DIR)/MsgCreator : $(MSG_CREATOR_OBJECTS)
- ${LINK} $(XSL_BUILD_OPTIONS) ${PLATFORM_LIB_LINK_OPTIONS} ${LIBRARY_SEARCH_PATHS} \
-- ${EXTRA_LINK_OPTIONS} $(LIBS) $(XERCES_LIB) $^ -o $@ $(LOC_OTHER_LINK_PARAMETERS)
-+ ${EXTRA_LINK_OPTIONS} $^ -o $@ $(LIBS) $(XERCES_LIB) $(LOC_OTHER_LINK_PARAMETERS)
-
- $(XSL_OBJ_DIR)/%.o : $(MSG_CREATOR_SRC)/%.cpp
- $(CC1) $(XSL_BUILD_OPTIONS) -c $(XSL_INCL) $(EXTRA_COMPILE_OPTIONS) -o $@ $<
---- a/Tests/Makefile.in
-+++ b/Tests/Makefile.in
-@@ -62,7 +62,7 @@
-
- $(XSL_BIN_DIR)/ThreadTest: ${XSL_OBJ_DIR}/ThreadTest.o
- ${LINK} $(XSL_BUILD_OPTIONS) ${PLATFORM_LIB_LINK_OPTIONS} \
-- ${EXTRA_LINK_OPTIONS} $(XALAN_LIB) $(ALLLIBS) $(CXXFLAGS) $^ -o $@ $(OTHER_LINK_PARAMETERS)
-+ ${EXTRA_LINK_OPTIONS} $(CXXFLAGS) $^ -o $@ $(OTHER_LINK_PARAMETERS) $(XALAN_LIB) $(ALLLIBS)
- ${XSL_OBJ_DIR}/%.o:$(TESTS_DIR)/Threads/%.cpp
- $(CC1) $(XSL_BUILD_OPTIONS) -c $(XSL_INCL) $(EXTRA_COMPILE_OPTIONS) -o $@ $<
-
-@@ -70,7 +70,7 @@
-
- $(XSL_BIN_DIR)/Conf: ${XSL_OBJ_DIR}/conf.o
- ${LINK} $(XSL_BUILD_OPTIONS) ${PLATFORM_LIB_LINK_OPTIONS} \
-- ${EXTRA_LINK_OPTIONS} $(XALAN_LIB) $(ALLLIBS) $(CXXFLAGS) $^ -o $@ $(OTHER_LINK_PARAMETERS)
-+ ${EXTRA_LINK_OPTIONS} $(CXXFLAGS) $^ -o $@ $(OTHER_LINK_PARAMETERS) $(XALAN_LIB) $(ALLLIBS)
- ${XSL_OBJ_DIR}/%.o:$(TESTS_DIR)/Conf/%.cpp
- $(CC1) $(XSL_BUILD_OPTIONS) -c $(XSL_INCL) $(EXTRA_COMPILE_OPTIONS) -o $@ $<
-
-@@ -92,7 +92,7 @@
-
- $(XSL_BIN_DIR)/Perf: $(PERF_OBJECTS)
- ${LINK} $(XSL_BUILD_OPTIONS) ${PLATFORM_LIB_LINK_OPTIONS} \
-- ${EXTRA_LINK_OPTIONS} $(XALAN_LIB) $(ALLLIBS) $(CXXFLAGS) $^ -o $@ $(OTHER_LINK_PARAMETERS)
-+ ${EXTRA_LINK_OPTIONS} $(CXXFLAGS) $^ -o $@ $(OTHER_LINK_PARAMETERS) $(XALAN_LIB) $(ALLLIBS)
-
- ${XSL_OBJ_DIR}/%.o:$(TESTS_DIR)/Performance/%.cpp
- $(CC1) $(XSL_BUILD_OPTIONS) -c $(XSL_INCL) $(EXTRA_COMPILE_OPTIONS) -o $@ $<
diff --git a/dev-libs/xalan-c/files/1.11.0_pre797991-bugfixes.patch b/dev-libs/xalan-c/files/1.11.0_pre797991-bugfixes.patch
deleted file mode 100644
index 8b7f618bb8b1..000000000000
--- a/dev-libs/xalan-c/files/1.11.0_pre797991-bugfixes.patch
+++ /dev/null
@@ -1,49 +0,0 @@
---- a/src/xalanc/PlatformSupport/XalanNLSMessageLoader.cpp
-+++ b/src/xalanc/PlatformSupport/XalanNLSMessageLoader.cpp
-@@ -28,7 +28,7 @@
- #include <xalanc/PlatformSupport/DOMStringHelper.hpp>
-
- #include <cstring>
--
-+#include <cstdio>
- #include <cerrno>
-
- XALAN_CPP_NAMESPACE_BEGIN
-@@ -44,7 +44,7 @@
-
- XalanNLSMessageLoader::~XalanNLSMessageLoader()
- {
-- if ((int)m_catalogHandle != -1)
-+ if ((long)m_catalogHandle != -1)
- {
- catclose(m_catalogHandle);
- }
-@@ -77,7 +77,7 @@
- */
- m_catalogHandle = catopen(fileName, 0);
-
-- if (reinterpret_cast<int>(m_catalogHandle) == -1)
-+ if (reinterpret_cast<long>(m_catalogHandle) == -1)
- {
- // Probably have to call panic here
- // the user will get an error with retrieving messages
-@@ -87,8 +87,8 @@
-
- bool
- XalanNLSMessageLoader::loadMsg(
-- XalanMessages::Codes msgToLoad
-- XalanDOMChar* toFill
-+ XalanMessages::Codes msgToLoad,
-+ XalanDOMChar* toFill,
- XalanSize_t maxChars)
- {
-
-@@ -99,7 +99,7 @@
- return bRetValue;
- }
-
-- if (static_cast<int>(m_catalogHandle) == -1)
-+ if (reinterpret_cast<long>(m_catalogHandle) == -1)
- {
- // for transcoding to Unicode
- const XalanDOMString errorMsg("Message can't be retrieved: the message catalog is not open.", m_memoryManager );
diff --git a/dev-libs/xalan-c/files/1.11.0_pre797991-parallel-build.patch b/dev-libs/xalan-c/files/1.11.0_pre797991-parallel-build.patch
deleted file mode 100644
index da2c79572984..000000000000
--- a/dev-libs/xalan-c/files/1.11.0_pre797991-parallel-build.patch
+++ /dev/null
@@ -1,61 +0,0 @@
---- a/src/xalanc/Makefile.in
-+++ b/src/xalanc/Makefile.in
-@@ -84,6 +84,10 @@
- SAMPLES_DIR = ${XALANCROOT}/samples
- TESTS_DIR = ${XALANCROOT}/Tests
-
-+TESTXSLT_OBJS = ${XSL_OBJ_DIR}/process.o
-+XALANEXE_OBJS = ${XSL_OBJ_DIR}/XalanExe.o
-+TESTXPATH_OBJS = ${XSL_OBJ_DIR}/TestXPath.o ${XSL_OBJ_DIR}/NodeNameTreeWalker.o
-+
- ALL_VPATH_CPP = \
- $(XALANDOM_DIR):$(PLATFORMSUPPORT_DIR):$(DOMSUPPORT_DIR):$(XMLSUPPORT_DIR): \
- $(XPATH_DIR):$(XERCESPARSERLIAISON_DIR):$(DEPRECATED_XERCESPARSERLIAISON_DIR):$(XALANSOURCETREE_DIR):$(XPATHCAPI_DIR): \
-@@ -169,6 +173,9 @@
-
- compile: $(ALL_OBJECTS)
-
-+$(ALL_OBJECTS) $(TESTXSLT_OBJS) $(XALANEXE_OBJS) $(TESTXPATH_OBJS): locale
-+locale: prepare
-+
- ifeq (${OS390BATCH},1)
- XalanExe: lib "//'$(LOADSAMP)(${BATCH_XALAN_UTIL_NAME})'"
-
-@@ -188,28 +195,28 @@
-
- else # Not OS390BATCH
-
--XalanExe: lib $(XSL_BIN_DIR)/Xalan
-+XalanExe: $(XSL_BIN_DIR)/Xalan
-
--$(XSL_BIN_DIR)/Xalan: ${XSL_OBJ_DIR}/XalanExe.o
-+$(XSL_BIN_DIR)/Xalan: lib ${XALANEXE_OBJS}
- ${LINK} $(XSL_BUILD_OPTIONS) ${PLATFORM_LIB_LINK_OPTIONS} \
-- ${EXTRA_LINK_OPTIONS} $^ -o $@ $(OTHER_LINK_PARAMETERS) $(XALAN_LIB) $(ALLLIBS)
-+ ${EXTRA_LINK_OPTIONS} ${XALANEXE_OBJS} -o $@ $(OTHER_LINK_PARAMETERS) $(XALAN_LIB) $(ALLLIBS)
- ${XSL_OBJ_DIR}/XalanExe.o: $(XALANEXE_DIR)/XalanExe.cpp
- $(CC1) $(XSL_BUILD_OPTIONS) -c $(XSL_INCL) $(EXTRA_COMPILE_OPTIONS) -o $@ $<
- endif
-
--testXSLT: lib $(XSL_BIN_DIR)/testXSLT
-+testXSLT: $(XSL_BIN_DIR)/testXSLT
-
--$(XSL_BIN_DIR)/testXSLT: ${XSL_OBJ_DIR}/process.o
-+$(XSL_BIN_DIR)/testXSLT: lib ${TESTXSLT_OBJS}
- ${LINK} $(XSL_BUILD_OPTIONS) ${PLATFORM_LIB_LINK_OPTIONS} \
-- ${EXTRA_LINK_OPTIONS} $^ -o $@ $(OTHER_LINK_PARAMETERS) $(XALAN_LIB) $(ALLLIBS)
-+ ${EXTRA_LINK_OPTIONS} ${TESTXSLT_OBJS} -o $@ $(OTHER_LINK_PARAMETERS) $(XALAN_LIB) $(ALLLIBS)
- ${XSL_OBJ_DIR}/process.o: $(TESTXSLT_DIR)/process.cpp
- $(CC1) $(XSL_BUILD_OPTIONS) -c $(XSL_INCL) $(EXTRA_COMPILE_OPTIONS) -o $@ $<
-
--testXPath: lib $(XSL_BIN_DIR)/testXPath
-+testXPath: $(XSL_BIN_DIR)/testXPath
-
--$(XSL_BIN_DIR)/testXPath: ${XSL_OBJ_DIR}/TestXPath.o ${XSL_OBJ_DIR}/NodeNameTreeWalker.o
-+$(XSL_BIN_DIR)/testXPath: lib ${TESTXPATH_OBJS}
- ${LINK} $(XSL_BUILD_OPTIONS) ${PLATFORM_LIB_LINK_OPTIONS} \
-- ${EXTRA_LINK_OPTIONS} $(CXXFLAGS) $^ -o $@ $(OTHER_LINK_PARAMETERS) $(XALAN_LIB) $(ALLLIBS)
-+ ${EXTRA_LINK_OPTIONS} $(CXXFLAGS) ${TESTXPATH_OBJS} -o $@ $(OTHER_LINK_PARAMETERS) $(XALAN_LIB) $(ALLLIBS)
- ${XSL_OBJ_DIR}/%.o:$(TESTXPATH_DIR)/%.cpp
- $(CC1) $(XSL_BUILD_OPTIONS) -c $(XSL_INCL) $(EXTRA_COMPILE_OPTIONS) -o $@ $<
-
diff --git a/dev-libs/xalan-c/files/xalan-c-1.12-fix-lto.patch b/dev-libs/xalan-c/files/xalan-c-1.12-fix-lto.patch
new file mode 100644
index 000000000000..6b3a46c1342e
--- /dev/null
+++ b/dev-libs/xalan-c/files/xalan-c-1.12-fix-lto.patch
@@ -0,0 +1,46 @@
+Fix error: type ‘struct NameCompareFunctor’ violates the C++ One Definition Rule [-Werror=odr]
+
+Bug: https://bugs.gentoo.org/856097
+
+--- a/src/xalanc/PlatformSupport/AttributesImpl.cpp
++++ b/src/xalanc/PlatformSupport/AttributesImpl.cpp
+@@ -253,6 +253,9 @@
+
+
+
++namespace
++{
++
+ struct NameCompareFunctor
+ {
+ NameCompareFunctor(const XMLCh* theQName) :
+@@ -271,6 +274,8 @@
+ const XMLCh* const m_qname;
+ };
+
++} // --- namespace
++
+
+
+ struct URIAndLocalNameCompareFunctor
+--- a/src/xalanc/PlatformSupport/AttributeListImpl.cpp
++++ b/src/xalanc/PlatformSupport/AttributeListImpl.cpp
+@@ -242,6 +242,9 @@
+
+
+
++namespace
++{
++
+ struct NameCompareFunctor
+ {
+ NameCompareFunctor(const XMLCh* theName) :
+@@ -260,6 +263,8 @@
+ const XMLCh* const m_name;
+ };
+
++} // --- namespace
++
+
+
+ const XMLCh*
diff --git a/dev-libs/xalan-c/files/xalan-c-1.12-fix-threads.patch b/dev-libs/xalan-c/files/xalan-c-1.12-fix-threads.patch
new file mode 100644
index 000000000000..4a8e0e582621
--- /dev/null
+++ b/dev-libs/xalan-c/files/xalan-c-1.12-fix-threads.patch
@@ -0,0 +1,51 @@
+xercesc::XMLMutex doesn't work, replace it by std::mutex
+Bug: https://bugs.gentoo.org/887197
+
+--- a/Tests/Threads/ThreadTest.cpp
++++ b/Tests/Threads/ThreadTest.cpp
+@@ -49,6 +49,7 @@
+
+ #if defined(XALAN_USE_THREAD_STD)
+ #include <thread>
++#include <mutex>
+ #elif defined(XALAN_USE_THREAD_WINDOWS)
+
+ #include <process.h>
+@@ -95,8 +96,8 @@
+
+
+
+-typedef xercesc::XMLMutex XMLMutexType;
+-typedef xercesc::XMLMutexLock XMLMutexLockType;
++typedef std::mutex XMLMutexType;
++typedef std::lock_guard<std::mutex> XMLMutexLockType;
+
+
+
+@@ -121,7 +122,7 @@
+
+ XMLMutexType m_mutex;
+
+- long m_counter;
++ volatile long m_counter;
+ };
+
+
+@@ -143,7 +144,7 @@
+ void
+ SynchronizedCounter::increment()
+ {
+- const XMLMutexLockType theLock(&m_mutex);
++ const XMLMutexLockType theLock(m_mutex);
+
+ if (m_counter < LONG_MAX)
+ {
+@@ -156,7 +157,7 @@
+ void
+ SynchronizedCounter::decrement()
+ {
+- const XMLMutexLockType theLock(&m_mutex);
++ const XMLMutexLockType theLock(m_mutex);
+
+ if (m_counter > 0)
+ {
diff --git a/dev-libs/xalan-c/metadata.xml b/dev-libs/xalan-c/metadata.xml
index 85e4ed814fa2..2f2c528629de 100644
--- a/dev-libs/xalan-c/metadata.xml
+++ b/dev-libs/xalan-c/metadata.xml
@@ -1,5 +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>ceamac@gentoo.org</email>
+ <name>Viorel Munteanu</name>
+</maintainer>
+<upstream>
+ <remote-id type="github">apache/xalan-c</remote-id>
+</upstream>
</pkgmetadata>
diff --git a/dev-libs/xalan-c/xalan-c-1.11.0_pre1153059.ebuild b/dev-libs/xalan-c/xalan-c-1.11.0_pre1153059.ebuild
deleted file mode 100644
index 8d8eda0a2222..000000000000
--- a/dev-libs/xalan-c/xalan-c-1.11.0_pre1153059.ebuild
+++ /dev/null
@@ -1,92 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit toolchain-funcs
-
-DESCRIPTION="XSLT processor for transforming XML into HTML, text, or other XML types"
-HOMEPAGE="https://xml.apache.org/xalan-c/"
-SRC_URI="mirror://gentoo/Xalan-C_r${PV#*_pre}-src.tar.gz"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64 ~ppc x86"
-IUSE="doc examples nls threads"
-
-RDEPEND=">=dev-libs/xerces-c-2.8.0"
-DEPEND="${RDEPEND}"
-BDEPEND="doc? ( app-doc/doxygen )"
-
-S="${WORKDIR}/xml-xalan/c"
-
-PATCHES=(
- "${FILESDIR}"/1.11.0_pre797991-as-needed.patch
- "${FILESDIR}"/1.11.0_pre797991-bugfixes.patch
- "${FILESDIR}"/1.11.0_pre797991-parallel-build.patch
-)
-
-src_prepare() {
- default
-
- # - do not run configure in runConfigure
- # - echo the export commands instead exporting the vars
- # - remove -O3
- # - make sure our {C,CXX}FLAGS get respected
- sed -i \
- -e '/\/configure/d' \
- -e 's/^export \([a-zA-Z_]*\)/echo export \1=\\"$\1\\"/' \
- -e 's/\(debugflag\)="-O.\? /\1="/' \
- -e 's/^\(CXXFLAGS\)="$compileroptions/\1="${\1}/' \
- -e 's/^\(CFLAGS\)="$compileroptions/\1="${\1}/' \
- runConfigure || die "sed failed"
-}
-
-src_configure() {
- export XERCESCROOT="/usr"
- export XALANCROOT="${S}"
-
- local target="linux"
- local transcoder="default"
- local mloader=$(usex nls nls inmem)
- local thread=$(usex threads pthread none)
-
- ./runConfigure -p ${target} -c "$(tc-getCC)" -x "$(tc-getCXX)" \
- -m ${mloader} -t ${transcoder} \
- -r ${thread} > configure.vars || die "runConfigure failed"
-
- eval $(grep export configure.vars)
-
- default
-}
-
-src_compile() {
- default
-
- if use doc; then
- mkdir build || die
- cd xdocs || die
- doxygen DoxyfileXalan || die
- HTML_DOCS=( build/docs/apiDocs/. )
-
- # clean doxygen cruft
- find "${S}"/build \( -iname '*.map' -o -iname '*.md5' \) -delete || die
- fi
-}
-
-src_install() {
- default
-
- if use examples; then
- docinto examples
- dodoc -r samples/.
- fi
-}
-
-pkg_postinst() {
- ewarn "If you are upgrading you should run"
- ewarn " revdep-rebuild --library=libxalan-c.so.110"
- ewarn "if using portage or"
- ewarn " reconcilio --library libxalan-c.so.110"
- ewarn "if using paludis as your package manager."
-}
diff --git a/dev-libs/xalan-c/xalan-c-1.12-r2.ebuild b/dev-libs/xalan-c/xalan-c-1.12-r2.ebuild
new file mode 100644
index 000000000000..6a2473fc1c7f
--- /dev/null
+++ b/dev-libs/xalan-c/xalan-c-1.12-r2.ebuild
@@ -0,0 +1,64 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+MY_PN=${PN/-/_}
+DESCRIPTION="XSLT processor for transforming XML into HTML, text, or other XML types"
+HOMEPAGE="https://apache.github.io/xalan-c/"
+if [[ ${PV} == *9999 ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/apache/xalan-c.git"
+
+ SLOT="0"
+else
+ inherit verify-sig
+ SRC_URI="
+ https://dlcdn.apache.org/xalan/xalan-c/sources/${MY_PN}-${PV}.tar.gz
+ verify-sig? ( https://dlcdn.apache.org/xalan/xalan-c/sources/${MY_PN}-${PV}.tar.gz.asc )
+ "
+ VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/apache-xalan-c.asc
+
+ SLOT="0/$(ver_cut 1-2)"
+ KEYWORDS="amd64 ~ppc x86"
+ S="${WORKDIR}/${MY_PN}-${PV}"
+ BDEPEND="
+ verify-sig? ( sec-keys/openpgp-keys-apache-xalan-c )
+ "
+fi
+
+LICENSE="Apache-2.0"
+IUSE="doc"
+
+RDEPEND="
+ dev-libs/icu:=
+ dev-libs/xerces-c[icu]
+"
+DEPEND="${RDEPEND}"
+BDEPEND+="
+ doc? ( app-text/doxygen[dot] )
+"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-fix-lto.patch
+ "${FILESDIR}"/${P}-fix-threads.patch
+)
+
+src_configure() {
+ local mycmakeargs=(
+ -Ddoxygen=$(usex doc)
+ )
+
+ cmake_src_configure
+}
+
+src_install() {
+ cmake_src_install
+
+ if use doc; then
+ docinto examples
+ dodoc -r samples/*/
+ fi
+}
diff --git a/dev-libs/xalan-c/xalan-c-9999.ebuild b/dev-libs/xalan-c/xalan-c-9999.ebuild
new file mode 100644
index 000000000000..88309b909407
--- /dev/null
+++ b/dev-libs/xalan-c/xalan-c-9999.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
+
+MY_PN=${PN/-/_}
+DESCRIPTION="XSLT processor for transforming XML into HTML, text, or other XML types"
+HOMEPAGE="https://apache.github.io/xalan-c/"
+if [[ ${PV} == *9999 ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/apache/xalan-c.git"
+
+ SLOT="0"
+else
+ inherit verify-sig
+ SRC_URI="
+ mirror://apache/xalan/xalan-c/sources/${MY_PN}-${PV}.tar.gz
+ verify-sig? ( https://dlcdn.apache.org/xalan/xalan-c/sources/${MY_PN}-${PV}.tar.gz.asc )
+ "
+ VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/apache-xalan-c.asc
+
+ SLOT="0/$(ver_cut 1-2)"
+ KEYWORDS="~amd64 ~ppc ~x86"
+ S="${WORKDIR}/${MY_PN}-${PV}"
+ BDEPEND="
+ verify-sig? ( sec-keys/openpgp-keys-apache-xalan-c )
+ "
+fi
+
+LICENSE="Apache-2.0"
+IUSE="doc"
+
+RDEPEND="
+ dev-libs/icu:=
+ dev-libs/xerces-c[icu]
+"
+DEPEND="${RDEPEND}"
+BDEPEND+="
+ doc? ( app-text/doxygen[dot] )
+"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-1.12-fix-lto.patch
+)
+
+src_configure() {
+ local mycmakeargs=(
+ -Ddoxygen=$(usex doc)
+ )
+
+ cmake_src_configure
+}
+
+src_install() {
+ cmake_src_install
+
+ if use doc; then
+ docinto examples
+ dodoc -r samples/*/
+ fi
+}
diff --git a/dev-libs/xapian-bindings/Manifest b/dev-libs/xapian-bindings/Manifest
index 433a0624fd4a..b281c4a54433 100644
--- a/dev-libs/xapian-bindings/Manifest
+++ b/dev-libs/xapian-bindings/Manifest
@@ -1,2 +1,4 @@
-DIST xapian-bindings-1.4.18.tar.xz 1135644 BLAKE2B 7120c42d73794f8212bf15afb4566119e44cd39c711d50aab4fcc4320419babc440d4dd732af9e739c68397e740da192fa80cd08c5d2b59e1ae13af4444ff3d6 SHA512 e965384febaa83c28fd63b82192bfa4d5d34b4eb7cfacf1ddfc1201deada4f0498df8e50a191713dc95feb8edb0b1a4e9d6983a639c564f086ee305b8a05397e
-DIST xapian-bindings-1.4.19.tar.xz 1137596 BLAKE2B 46004a3449a3137db42164a8b4c5b8684d2eaf0edfa60fe7ca41d5565d1cc16b110ca8204100c9e654baa323a4c73536f80550b17989ce3ee4a132315c31a50e SHA512 c3e353a192822be5d86d448b9d5e4c5eb15d5eb2d079560f7c457f8f7ca85d42e2b933891e784d384c188577f427ca1929c2b47732b9d637e36543e8b5b704d6
+DIST xapian-bindings-1.4.22.tar.xz 1074840 BLAKE2B 49c71ece1a159a21b95ff8b6d30c5786e6fd2d1744f0a2e27427b83a85ebced6106ab57655715f6e2089bc3e56da32d6f2ad3d71303a1b75316c7d1a61f84cd0 SHA512 0d1b615646d1bdf383e4e32ae152c1493a23ad173232929c8153bb311b3f5b6c6728f29f46f703854c9249ffb35cb620eda1d68cf742c2150f628c19ed55c10f
+DIST xapian-bindings-1.4.23.tar.xz 1076480 BLAKE2B 521563f86d3be88458cee220065cbdbf27633f87535b1702c8c3484860533dc9395060c72582420e32b854601c1ee1eb424e03a9251965215de834f2b130b154 SHA512 25ac17baf1f288dedce70b983cba294d4ce100f6f5b607c76f5b697c04f6b08c276a55ccd5b9cc9c429664e1bb86f0fc31d88c72481a9cc951942efdfa9726a2
+DIST xapian-bindings-1.4.24.tar.xz 1112744 BLAKE2B 1910ad8b78c9ae011b51001e90d74eaa2ecc9ff0c44dae34e1a63a3de79e041dd25e6c0aff06e1cf954aecd0a2ab899f7474c25fddc55676dcad6bf8d12eae14 SHA512 e3d178679aaaf99efa1a19f764014f835783e72b057cb8c8a83eb4cb610e93bd4e6756410321770f6d7fa14986c71be19aaa140fb8267a848d4c8c96cc26d540
+DIST xapian-bindings-1.4.25.tar.xz 1076644 BLAKE2B 190c560d341039c68b35421c1a75e791537f9c2c353a5f0871d45055909e2863cd4ede3062a6b641e1572b74db8c049a0266a6c305e7d41bfb5d5c63057ef3e3 SHA512 119f62b53d487319e33aaf0c473e479a52b3831a46b23724188dada13f341e08facc7b79641c00ba7b0507c22b55c7b700182e65b5a195cd322be2098bcca183
diff --git a/dev-libs/xapian-bindings/files/xapian-bindings-1.4.22-fix-java-installation.patch b/dev-libs/xapian-bindings/files/xapian-bindings-1.4.22-fix-java-installation.patch
new file mode 100644
index 000000000000..58cc6da9a68c
--- /dev/null
+++ b/dev-libs/xapian-bindings/files/xapian-bindings-1.4.22-fix-java-installation.patch
@@ -0,0 +1,15 @@
+The build system installs stray pyc files.
+
+--- a/python3/Makefile.am
++++ b/python3/Makefile.am
+@@ -40,9 +40,7 @@
+
+ # Install as _DATA rather than _SCRIPTS because we don't want to make these
+ # executable (they don't have a #! line).
+-pkgpylib_DATA = xapian/__init__.py \
+- xapian/__pycache__/__init__.@PYTHON3_CACHE_TAG@.pyc \
+- xapian/__pycache__/__init__.@PYTHON3_CACHE_OPT1_EXT@
++pkgpylib_DATA = xapian/__init__.py
+
+ pkgpylib_LTLIBRARIES = _xapian.la
+
diff --git a/dev-libs/xapian-bindings/files/xapian-bindings-1.4.22-remove-precompiled-python.patch b/dev-libs/xapian-bindings/files/xapian-bindings-1.4.22-remove-precompiled-python.patch
new file mode 100644
index 000000000000..c8155ee2c36e
--- /dev/null
+++ b/dev-libs/xapian-bindings/files/xapian-bindings-1.4.22-remove-precompiled-python.patch
@@ -0,0 +1,22 @@
+The build system installs the jni shared library in a wrong path.
+
+--- a/java/Makefile.am
++++ b/java/Makefile.am
+@@ -137,7 +137,7 @@
+
+ jnidir = `pwd`/built
+
+-jni_LTLIBRARIES = libxapian_jni.la
++noinst_LTLIBRARIES = libxapian_jni.la
+
+ # Remove the .la file - libxapian_jni.la is never linked against (it's a
+ # module) and JVMs don't use libltdl. Note that the library gets installed by
+@@ -162,7 +162,7 @@
+ endif
+ AM_CXXFLAGS = $(SWIG_CXXFLAGS) $(XAPIAN_CXXFLAGS)
+ AM_CPPFLAGS = $(JAVA_CPPFLAGS)
+-libxapian_jni_la_LDFLAGS = -avoid-version -module $(SHREXT) $(NO_UNDEFINED)
++libxapian_jni_la_LDFLAGS = -avoid-version -module $(SHREXT) $(NO_UNDEFINED) -rpath $(libdir)/xapian-bindings
+ libxapian_jni_la_LIBADD = $(XAPIAN_LIBS)
+ libxapian_jni_la_SOURCES = xapian_wrap.cc
+
diff --git a/dev-libs/xapian-bindings/metadata.xml b/dev-libs/xapian-bindings/metadata.xml
index 489e730c1c90..115e9d64a669 100644
--- a/dev-libs/xapian-bindings/metadata.xml
+++ b/dev-libs/xapian-bindings/metadata.xml
@@ -1,8 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <email>blueness@gentoo.org</email>
- <name>Anthony G. Basile</name>
- </maintainer>
+ <!-- maintainer-needed -->
</pkgmetadata>
diff --git a/dev-libs/xapian-bindings/xapian-bindings-1.4.18-r1.ebuild b/dev-libs/xapian-bindings/xapian-bindings-1.4.18-r1.ebuild
deleted file mode 100644
index c86a53c03216..000000000000
--- a/dev-libs/xapian-bindings/xapian-bindings-1.4.18-r1.ebuild
+++ /dev/null
@@ -1,343 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-LUA_COMPAT=( lua5-{1..4} luajit )
-
-PYTHON_COMPAT=( python3_{7,8,9} )
-PYTHON_REQ_USE="threads(+)"
-
-USE_PHP="php7-2 php7-3 php7-4"
-
-PHP_EXT_NAME="xapian"
-PHP_EXT_INI="yes"
-PHP_EXT_OPTIONAL_USE="php"
-
-USE_RUBY="ruby25 ruby26 ruby27 ruby30"
-RUBY_OPTIONAL="yes"
-
-inherit java-pkg-opt-2 lua mono-env multibuild php-ext-source-r3 python-r1 ruby-ng
-
-DESCRIPTION="SWIG and JNI bindings for Xapian"
-HOMEPAGE="https://www.xapian.org/"
-SRC_URI="https://oligarchy.co.uk/xapian/${PV}/${P}.tar.xz"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm ~hppa ~ia64 ~mips ppc ppc64 sparc x86"
-IUSE="java lua mono perl php python ruby tcl"
-REQUIRED_USE="|| ( java lua mono perl php python ruby tcl )
- lua? ( ${LUA_REQUIRED_USE} )
- python? ( ${PYTHON_REQUIRED_USE} )
- ruby? ( || ( $(ruby_get_use_targets) ) )"
-
-COMMONDEPEND=">=dev-libs/xapian-1.4.15
- lua? ( ${LUA_DEPS} )
- perl? ( dev-lang/perl:= )
- php? ( dev-lang/php:=[-threads] )
- python? (
- dev-python/sphinx[${PYTHON_USEDEP}]
- ${PYTHON_DEPS}
- )
- ruby? ( $(ruby_implementations_depend) )
- tcl? ( dev-lang/tcl:= )
- mono? ( dev-lang/mono )"
-DEPEND="${COMMONDEPEND}
- virtual/pkgconfig
- java? ( >=virtual/jdk-1.6 )"
-RDEPEND="${COMMONDEPEND}
- java? ( >=virtual/jre-1.6 )"
-
-S="${WORKDIR}/${P}"
-
-has_basic_bindings() {
- # Update this list if new bindings are added that are not built
- # multiple times for multiple versions like lua, php, python and ruby are
- return $(use mono || use java || use perl || use tcl)
-}
-
-php_copy_sources() {
- local MULTIBUILD_VARIANTS=($(php_get_slots))
- multibuild_copy_sources
-}
-
-php_foreach_impl() {
- local MULTIBUILD_VARIANTS=($(php_get_slots))
- multibuild_foreach_variant "$@"
-}
-
-ruby_copy_sources() {
- local MULTIBUILD_VARIANTS=($(ruby_get_use_implementations))
- multibuild_copy_sources
-}
-
-ruby_foreach_impl() {
- local MULTIBUILD_VARIANTS=($(ruby_get_use_implementations))
- multibuild_foreach_variant "$@"
-}
-
-pkg_setup() {
- use mono && mono-env_pkg_setup
- use java && java-pkg-opt-2_pkg_setup
-}
-
-src_unpack() {
- default
-
- if use php; then
- local php_slot
- for php_slot in $(php_get_slots); do
- # Unfortunately required for php-ext-source-r3_createinifiles().
- mkdir "${WORKDIR}/${php_slot}"
- done
- fi
-}
-
-src_prepare() {
- use java && java-pkg-opt-2_src_prepare
-
- # https://trac.xapian.org/ticket/702
- export XAPIAN_CONFIG="/usr/bin/xapian-config"
-
- if use lua; then
- lua_copy_sources
- fi
-
- if use php; then
- php_copy_sources
- fi
-
- if use python; then
- python_copy_sources
- fi
-
- if use ruby; then
- ruby_copy_sources
- fi
-
- eapply_user
-}
-
-src_configure() {
- if has_basic_bindings ; then
- local conf=(
- --disable-documentation
- $(use_with mono csharp)
- $(use_with java)
- $(use_with perl)
- $(use_with tcl)
- --without-lua
- --without-php
- --without-php7
- --without-python
- --without-python3
- --without-ruby
- )
-
- if use java; then
- local -x CXXFLAGS="${CXXFLAGS} $(java-pkg_get-jni-cflags)"
- fi
-
- if use perl; then
- local -x PERL_ARCH="$(perl -MConfig -e 'print $Config{installvendorarch}')"
- local -x PERL_LIB="$(perl -MConfig -e 'print $Config{installvendorlib}')"
- fi
-
- econf "${conf[@]}"
- fi
-
- lua_configure() {
- local myconf=(
- --disable-documentation
- --without-csharp
- --without-java
- --without-perl
- --without-tcl
- --without-php
- --without-php7
- --without-python
- --without-python3
- --without-ruby
- --with-lua
- )
-
- local -x LUA_INC="$(lua_get_include_dir)"
- local -x LUA_LIB="$(lua_get_cmod_dir)"
-
- econf "${myconf[@]}"
-
- }
-
- if use lua; then
- lua_foreach_impl run_in_build_dir lua_configure
- fi
-
- php_configure() {
- local myconf=(
- --disable-documentation
- --without-java
- --without-lua
- --without-csharp
- --without-perl
- --without-python
- --without-python3
- --without-ruby
- --without-tcl
- )
- if [[ ${MULTIBUILD_VARIANT} == php5.* ]]; then
- myconf+=(
- --with-php
- --without-php7
- )
- local -x PHP_CONFIG="${EPREFIX}/usr/$(get_libdir)/${MULTIBUILD_VARIANT/-/.}/bin/php-config"
- elif [[ ${MULTIBUILD_VARIANT} == php7.* ]]; then
- myconf+=(
- --without-php
- --with-php7
- )
- local -x PHP_CONFIG7="${EPREFIX}/usr/$(get_libdir)/${MULTIBUILD_VARIANT/-/.}/bin/php-config"
- fi
-
- econf "${myconf[@]}"
- }
-
- if use php; then
- addpredict /usr/share/snmp/mibs/.index
- addpredict /var/lib/net-snmp/mib_indexes
-
- php_foreach_impl run_in_build_dir php_configure
- fi
-
- python_configure() {
- local myconf=(
- --disable-documentation
- --without-java
- --without-lua
- --without-csharp
- --without-perl
- --without-php
- --without-php7
- --without-ruby
- --without-tcl
- --with-python3
- )
-
- # Avoid sandbox failures when compiling modules
- addpredict "$(python_get_sitedir)"
-
- econf "${myconf[@]}"
- }
-
- if use python; then
- python_foreach_impl run_in_build_dir python_configure
- fi
-
- ruby_configure() {
- local myconf=(
- --disable-documentation
- --without-java
- --without-lua
- --without-csharp
- --without-perl
- --without-php
- --without-php7
- --without-python
- --without-python3
- --with-ruby
- --without-tcl
- )
- local -x RUBY="${EPREFIX}/usr/bin/${MULTIBUILD_VARIANT}"
-
- econf "${myconf[@]}"
- }
-
- if use ruby; then
- ruby_foreach_impl run_in_build_dir ruby_configure
- fi
-}
-
-src_compile() {
- if has_basic_bindings ; then
- default
- fi
-
- if use lua; then
- lua_foreach_impl run_in_build_dir emake
- fi
-
- if use php; then
- php_foreach_impl run_in_build_dir emake
- fi
-
- if use python; then
- unset PYTHONDONTWRITEBYTECODE
- python_foreach_impl run_in_build_dir emake
- fi
-
- if use ruby; then
- ruby_foreach_impl run_in_build_dir emake
- fi
-}
-
-src_test() {
- if has_basic_bindings ; then
- default
- fi
-
- if use lua; then
- lua_foreach_impl run_in_build_dir emake check
- fi
-
- if use php; then
- php_foreach_impl run_in_build_dir emake check
- fi
-
- if use python; then
- python_foreach_impl run_in_build_dir emake check
- fi
-
- if use ruby; then
- ruby_foreach_impl run_in_build_dir emake check
- fi
-}
-
-src_install() {
- if has_basic_bindings ; then
- emake DESTDIR="${D}" install
- fi
-
- if use java; then
- java-pkg_dojar java/built/xapian.jar
- # TODO: make the build system not install this...
- java-pkg_doso java/.libs/libxapian_jni.so
- rm -rf "${ED}/var" || die "could not remove java cruft!"
- fi
-
- if use lua; then
- lua_foreach_impl run_in_build_dir emake DESTDIR="${D}" install
- fi
-
- if use php; then
- php_foreach_impl run_in_build_dir emake DESTDIR="${D}" install
- php-ext-source-r3_createinifiles
- # php-ext-source-r3_createinifiles() changes current directory.
- cd "${S}"
- fi
-
- if use python; then
- python_foreach_impl run_in_build_dir emake DESTDIR="${D}" install
- python_foreach_impl python_optimize
- fi
-
- if use ruby; then
- ruby_foreach_impl run_in_build_dir emake DESTDIR="${D}" install
- fi
-
- # For some USE combinations this directory is not created
- if [[ -d "${ED}/usr/share/doc/xapian-bindings" ]]; then
- mv "${ED}/usr/share/doc/xapian-bindings" "${ED}/usr/share/doc/${PF}" || die
- fi
-
- dodoc AUTHORS HACKING NEWS TODO README
-}
diff --git a/dev-libs/xapian-bindings/xapian-bindings-1.4.19.ebuild b/dev-libs/xapian-bindings/xapian-bindings-1.4.19.ebuild
deleted file mode 100644
index a22b427d3f7b..000000000000
--- a/dev-libs/xapian-bindings/xapian-bindings-1.4.19.ebuild
+++ /dev/null
@@ -1,343 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-LUA_COMPAT=( lua5-{1,3,4} luajit )
-
-PYTHON_COMPAT=( python3_{7,8,9,10} )
-PYTHON_REQ_USE="threads(+)"
-
-USE_PHP="php7-3 php7-4 php8-0"
-
-PHP_EXT_NAME="xapian"
-PHP_EXT_INI="yes"
-PHP_EXT_OPTIONAL_USE="php"
-
-USE_RUBY="ruby26 ruby27 ruby30"
-RUBY_OPTIONAL="yes"
-
-inherit java-pkg-opt-2 lua mono-env multibuild php-ext-source-r3 python-r1 ruby-ng
-
-DESCRIPTION="SWIG and JNI bindings for Xapian"
-HOMEPAGE="https://www.xapian.org/"
-SRC_URI="https://oligarchy.co.uk/xapian/${PV}/${P}.tar.xz"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86"
-IUSE="java lua mono perl php python ruby tcl"
-REQUIRED_USE="|| ( java lua mono perl php python ruby tcl )
- lua? ( ${LUA_REQUIRED_USE} )
- python? ( ${PYTHON_REQUIRED_USE} )
- ruby? ( || ( $(ruby_get_use_targets) ) )"
-
-COMMONDEPEND=">=dev-libs/xapian-1.4.19
- lua? ( ${LUA_DEPS} )
- perl? ( dev-lang/perl:= )
- php? ( dev-lang/php:=[-threads] )
- python? (
- dev-python/sphinx[${PYTHON_USEDEP}]
- ${PYTHON_DEPS}
- )
- ruby? ( $(ruby_implementations_depend) )
- tcl? ( dev-lang/tcl:= )
- mono? ( dev-lang/mono )"
-DEPEND="${COMMONDEPEND}
- virtual/pkgconfig
- java? ( >=virtual/jdk-1.6 )"
-RDEPEND="${COMMONDEPEND}
- java? ( >=virtual/jre-1.6 )"
-
-S="${WORKDIR}/${P}"
-
-has_basic_bindings() {
- # Update this list if new bindings are added that are not built
- # multiple times for multiple versions like lua, php, python and ruby are
- return $(use mono || use java || use perl || use tcl)
-}
-
-php_copy_sources() {
- local MULTIBUILD_VARIANTS=($(php_get_slots))
- multibuild_copy_sources
-}
-
-php_foreach_impl() {
- local MULTIBUILD_VARIANTS=($(php_get_slots))
- multibuild_foreach_variant "$@"
-}
-
-ruby_copy_sources() {
- local MULTIBUILD_VARIANTS=($(ruby_get_use_implementations))
- multibuild_copy_sources
-}
-
-ruby_foreach_impl() {
- local MULTIBUILD_VARIANTS=($(ruby_get_use_implementations))
- multibuild_foreach_variant "$@"
-}
-
-pkg_setup() {
- use mono && mono-env_pkg_setup
- use java && java-pkg-opt-2_pkg_setup
-}
-
-src_unpack() {
- default
-
- if use php; then
- local php_slot
- for php_slot in $(php_get_slots); do
- # Unfortunately required for php-ext-source-r3_createinifiles().
- mkdir "${WORKDIR}/${php_slot}"
- done
- fi
-}
-
-src_prepare() {
- use java && java-pkg-opt-2_src_prepare
-
- # https://trac.xapian.org/ticket/702
- export XAPIAN_CONFIG="/usr/bin/xapian-config"
-
- if use lua; then
- lua_copy_sources
- fi
-
- if use php; then
- php_copy_sources
- fi
-
- if use python; then
- python_copy_sources
- fi
-
- if use ruby; then
- ruby_copy_sources
- fi
-
- eapply_user
-}
-
-src_configure() {
- if has_basic_bindings ; then
- local conf=(
- --disable-documentation
- $(use_with mono csharp)
- $(use_with java)
- $(use_with perl)
- $(use_with tcl)
- --without-lua
- --without-php
- --without-php7
- --without-python
- --without-python3
- --without-ruby
- )
-
- if use java; then
- local -x CXXFLAGS="${CXXFLAGS} $(java-pkg_get-jni-cflags)"
- fi
-
- if use perl; then
- local -x PERL_ARCH="$(perl -MConfig -e 'print $Config{installvendorarch}')"
- local -x PERL_LIB="$(perl -MConfig -e 'print $Config{installvendorlib}')"
- fi
-
- econf "${conf[@]}"
- fi
-
- lua_configure() {
- local myconf=(
- --disable-documentation
- --without-csharp
- --without-java
- --without-perl
- --without-tcl
- --without-php
- --without-php7
- --without-python
- --without-python3
- --without-ruby
- --with-lua
- )
-
- local -x LUA_INC="$(lua_get_include_dir)"
- local -x LUA_LIB="$(lua_get_cmod_dir)"
-
- econf "${myconf[@]}"
-
- }
-
- if use lua; then
- lua_foreach_impl run_in_build_dir lua_configure
- fi
-
- php_configure() {
- local myconf=(
- --disable-documentation
- --without-java
- --without-lua
- --without-csharp
- --without-perl
- --without-python
- --without-python3
- --without-ruby
- --without-tcl
- )
- if [[ ${MULTIBUILD_VARIANT} == php5.* ]]; then
- myconf+=(
- --with-php
- --without-php7
- )
- local -x PHP_CONFIG="${EPREFIX}/usr/$(get_libdir)/${MULTIBUILD_VARIANT/-/.}/bin/php-config"
- elif [[ ${MULTIBUILD_VARIANT} == php7.* ]]; then
- myconf+=(
- --without-php
- --with-php7
- )
- local -x PHP_CONFIG7="${EPREFIX}/usr/$(get_libdir)/${MULTIBUILD_VARIANT/-/.}/bin/php-config"
- fi
-
- econf "${myconf[@]}"
- }
-
- if use php; then
- addpredict /usr/share/snmp/mibs/.index
- addpredict /var/lib/net-snmp/mib_indexes
-
- php_foreach_impl run_in_build_dir php_configure
- fi
-
- python_configure() {
- local myconf=(
- --disable-documentation
- --without-java
- --without-lua
- --without-csharp
- --without-perl
- --without-php
- --without-php7
- --without-ruby
- --without-tcl
- --with-python3
- )
-
- # Avoid sandbox failures when compiling modules
- addpredict "$(python_get_sitedir)"
-
- econf "${myconf[@]}"
- }
-
- if use python; then
- python_foreach_impl run_in_build_dir python_configure
- fi
-
- ruby_configure() {
- local myconf=(
- --disable-documentation
- --without-java
- --without-lua
- --without-csharp
- --without-perl
- --without-php
- --without-php7
- --without-python
- --without-python3
- --with-ruby
- --without-tcl
- )
- local -x RUBY="${EPREFIX}/usr/bin/${MULTIBUILD_VARIANT}"
-
- econf "${myconf[@]}"
- }
-
- if use ruby; then
- ruby_foreach_impl run_in_build_dir ruby_configure
- fi
-}
-
-src_compile() {
- if has_basic_bindings ; then
- default
- fi
-
- if use lua; then
- lua_foreach_impl run_in_build_dir emake
- fi
-
- if use php; then
- php_foreach_impl run_in_build_dir emake
- fi
-
- if use python; then
- unset PYTHONDONTWRITEBYTECODE
- python_foreach_impl run_in_build_dir emake
- fi
-
- if use ruby; then
- ruby_foreach_impl run_in_build_dir emake
- fi
-}
-
-src_test() {
- if has_basic_bindings ; then
- default
- fi
-
- if use lua; then
- lua_foreach_impl run_in_build_dir emake check
- fi
-
- if use php; then
- php_foreach_impl run_in_build_dir emake check
- fi
-
- if use python; then
- python_foreach_impl run_in_build_dir emake check
- fi
-
- if use ruby; then
- ruby_foreach_impl run_in_build_dir emake check
- fi
-}
-
-src_install() {
- if has_basic_bindings ; then
- emake DESTDIR="${D}" install
- fi
-
- if use java; then
- java-pkg_dojar java/built/xapian.jar
- # TODO: make the build system not install this...
- java-pkg_doso java/.libs/libxapian_jni.so
- rm -rf "${ED}/var" || die "could not remove java cruft!"
- fi
-
- if use lua; then
- lua_foreach_impl run_in_build_dir emake DESTDIR="${D}" install
- fi
-
- if use php; then
- php_foreach_impl run_in_build_dir emake DESTDIR="${D}" install
- php-ext-source-r3_createinifiles
- # php-ext-source-r3_createinifiles() changes current directory.
- cd "${S}"
- fi
-
- if use python; then
- python_foreach_impl run_in_build_dir emake DESTDIR="${D}" install
- python_foreach_impl python_optimize
- fi
-
- if use ruby; then
- ruby_foreach_impl run_in_build_dir emake DESTDIR="${D}" install
- fi
-
- # For some USE combinations this directory is not created
- if [[ -d "${ED}/usr/share/doc/xapian-bindings" ]]; then
- mv "${ED}/usr/share/doc/xapian-bindings" "${ED}/usr/share/doc/${PF}" || die
- fi
-
- dodoc AUTHORS HACKING NEWS TODO README
-}
diff --git a/dev-libs/xapian-bindings/xapian-bindings-1.4.22.ebuild b/dev-libs/xapian-bindings/xapian-bindings-1.4.22.ebuild
new file mode 100644
index 000000000000..5398a4350466
--- /dev/null
+++ b/dev-libs/xapian-bindings/xapian-bindings-1.4.22.ebuild
@@ -0,0 +1,346 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+LUA_COMPAT=( lua5-{1,3,4} luajit )
+
+PYTHON_COMPAT=( python3_{9..11} )
+PYTHON_REQ_USE="threads(+)"
+
+USE_PHP="php8-1 php8-2"
+
+PHP_EXT_NAME="xapian"
+PHP_EXT_INI="yes"
+PHP_EXT_OPTIONAL_USE="php"
+
+USE_RUBY="ruby30 ruby31 ruby32"
+RUBY_OPTIONAL="yes"
+
+# mono-env does not support EAPI 8
+inherit autotools java-pkg-opt-2 lua mono-env multibuild php-ext-source-r3 python-r1 ruby-ng
+
+DESCRIPTION="SWIG and JNI bindings for Xapian"
+HOMEPAGE="https://xapian.org/"
+SRC_URI="https://oligarchy.co.uk/xapian/${PV}/${P}.tar.xz"
+S="${WORKDIR}/${P}" # need this here, some inherited eclasses change it
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm ~hppa ~ia64 ~mips ppc ppc64 sparc x86"
+IUSE="java lua mono perl php python ruby tcl"
+REQUIRED_USE="
+ || ( java lua mono perl php python ruby tcl )
+ lua? ( ${LUA_REQUIRED_USE} )
+ python? ( ${PYTHON_REQUIRED_USE} )
+ ruby? ( || ( $(ruby_get_use_targets) ) )
+"
+
+COMMONDEPEND="
+ >=dev-libs/xapian-1.4.21
+ lua? ( ${LUA_DEPS} )
+ mono? ( dev-lang/mono )
+ perl? ( dev-lang/perl:= )
+ php? ( dev-lang/php:=[-threads] )
+ python? (
+ dev-python/sphinx[${PYTHON_USEDEP}]
+ ${PYTHON_DEPS}
+ )
+ ruby? ( $(ruby_implementations_depend) )
+ tcl? ( dev-lang/tcl:= )
+"
+DEPEND="
+ ${COMMONDEPEND}
+ virtual/pkgconfig
+ java? ( >=virtual/jdk-1.8:* )
+"
+RDEPEND="
+ ${COMMONDEPEND}
+ java? ( >=virtual/jre-1.8:* )
+"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-remove-precompiled-python.patch
+ "${FILESDIR}"/${P}-fix-java-installation.patch
+)
+
+has_basic_bindings() {
+ # Update this list if new bindings are added that are not built
+ # multiple times for multiple versions like lua, php, python and ruby are
+ return $(use mono || use java || use perl || use tcl)
+}
+
+php_copy_sources() {
+ local MULTIBUILD_VARIANTS=($(php_get_slots))
+ multibuild_copy_sources
+}
+
+php_foreach_impl() {
+ local MULTIBUILD_VARIANTS=($(php_get_slots))
+ multibuild_foreach_variant "$@"
+}
+
+ruby_copy_sources() {
+ local MULTIBUILD_VARIANTS=($(ruby_get_use_implementations))
+ multibuild_copy_sources
+}
+
+ruby_foreach_impl() {
+ local MULTIBUILD_VARIANTS=($(ruby_get_use_implementations))
+ multibuild_foreach_variant "$@"
+}
+
+pkg_setup() {
+ use mono && mono-env_pkg_setup
+ use java && java-pkg-opt-2_pkg_setup
+}
+
+src_unpack() {
+ default
+
+ if use php; then
+ local php_slot
+ for php_slot in $(php_get_slots); do
+ # Unfortunately required for php-ext-source-r3_createinifiles().
+ mkdir "${WORKDIR}/${php_slot}"
+ done
+ fi
+}
+
+src_prepare() {
+ eapply "${PATCHES[@]}"
+ eautoreconf
+
+ use java && java-pkg-opt-2_src_prepare
+
+ # https://trac.xapian.org/ticket/702
+ export XAPIAN_CONFIG="/usr/bin/xapian-config"
+
+ if use lua; then
+ lua_copy_sources
+ fi
+
+ if use php; then
+ php_copy_sources
+ fi
+
+ if use python; then
+ python_copy_sources
+ fi
+
+ if use ruby; then
+ ruby_copy_sources
+ fi
+
+ eapply_user
+}
+
+src_configure() {
+ # Needed to get e.g. test failure details
+ MAKEOPTS+=" VERBOSE=1"
+
+ if has_basic_bindings ; then
+ local conf=(
+ --disable-documentation
+ $(use_with mono csharp)
+ $(use_with java)
+ $(use_with perl)
+ $(use_with tcl)
+ --without-lua
+ --without-php
+ --without-python
+ --without-python3
+ --without-ruby
+ )
+
+ if use java; then
+ local -x CXXFLAGS="${CXXFLAGS} $(java-pkg_get-jni-cflags)"
+ fi
+
+ if use perl; then
+ local -x PERL_ARCH="$(perl -MConfig -e 'print $Config{installvendorarch}')"
+ local -x PERL_LIB="$(perl -MConfig -e 'print $Config{installvendorlib}')"
+ fi
+
+ econf "${conf[@]}"
+ fi
+
+ lua_configure() {
+ local myconf=(
+ --disable-documentation
+ --without-csharp
+ --without-java
+ --without-perl
+ --without-tcl
+ --without-php
+ --without-python
+ --without-python3
+ --without-ruby
+ --with-lua
+ )
+
+ local -x LUA_INC="$(lua_get_include_dir)"
+ local -x LUA_LIB="$(lua_get_cmod_dir)"
+
+ econf "${myconf[@]}"
+
+ }
+
+ if use lua; then
+ lua_foreach_impl run_in_build_dir lua_configure
+ fi
+
+ php_configure() {
+ local myconf=(
+ --disable-documentation
+ --without-java
+ --without-lua
+ --without-csharp
+ --without-perl
+ --without-python
+ --without-python3
+ --without-ruby
+ --without-tcl
+ --with-php
+ )
+ local -x PHP_CONFIG="${EPREFIX}/usr/$(get_libdir)/${MULTIBUILD_VARIANT/-/.}/bin/php-config"
+
+ econf "${myconf[@]}"
+ }
+
+ if use php; then
+ addpredict /usr/share/snmp/mibs/.index
+ addpredict /var/lib/net-snmp/mib_indexes
+
+ php_foreach_impl run_in_build_dir php_configure
+ fi
+
+ python_configure() {
+ local myconf=(
+ --disable-documentation
+ --without-java
+ --without-lua
+ --without-csharp
+ --without-perl
+ --without-php
+ --without-ruby
+ --without-tcl
+ --with-python3
+ )
+
+ # Avoid sandbox failures when compiling modules
+ addpredict "$(python_get_sitedir)"
+
+ econf "${myconf[@]}"
+ }
+
+ if use python; then
+ python_foreach_impl run_in_build_dir python_configure
+ fi
+
+ ruby_configure() {
+ local myconf=(
+ --disable-documentation
+ --without-java
+ --without-lua
+ --without-csharp
+ --without-perl
+ --without-php
+ --without-python
+ --without-python3
+ --with-ruby
+ --without-tcl
+ )
+ local -x RUBY="${EPREFIX}/usr/bin/${MULTIBUILD_VARIANT}"
+
+ econf "${myconf[@]}"
+ }
+
+ if use ruby; then
+ ruby_foreach_impl run_in_build_dir ruby_configure
+ fi
+}
+
+src_compile() {
+ if has_basic_bindings ; then
+ default
+ fi
+
+ if use lua; then
+ lua_foreach_impl run_in_build_dir emake
+ fi
+
+ if use php; then
+ php_foreach_impl run_in_build_dir emake
+ fi
+
+ if use python; then
+ unset PYTHONDONTWRITEBYTECODE
+ python_foreach_impl run_in_build_dir emake
+ fi
+
+ if use ruby; then
+ ruby_foreach_impl run_in_build_dir emake
+ fi
+}
+
+src_test() {
+ if has_basic_bindings ; then
+ default
+ fi
+
+ if use lua; then
+ lua_foreach_impl run_in_build_dir emake check
+ fi
+
+ if use php; then
+ php_foreach_impl run_in_build_dir emake check
+ fi
+
+ if use python; then
+ python_foreach_impl run_in_build_dir emake check
+ fi
+
+ if use ruby; then
+ ruby_foreach_impl run_in_build_dir emake check
+ fi
+}
+
+src_install() {
+ if has_basic_bindings ; then
+ emake DESTDIR="${D}" install
+ fi
+
+ if use java; then
+ java-pkg_dojar java/built/xapian.jar
+ java-pkg_doso java/.libs/libxapian_jni.so
+ fi
+
+ if use lua; then
+ lua_foreach_impl run_in_build_dir emake DESTDIR="${D}" install
+ fi
+
+ if use php; then
+ php_foreach_impl run_in_build_dir emake DESTDIR="${D}" install
+ php-ext-source-r3_createinifiles
+ # php-ext-source-r3_createinifiles() changes current directory.
+ cd "${S}"
+ fi
+
+ if use python; then
+ python_foreach_impl run_in_build_dir emake DESTDIR="${D}" install
+ python_foreach_impl python_optimize
+ fi
+
+ if use ruby; then
+ ruby_foreach_impl run_in_build_dir emake DESTDIR="${D}" install
+ find "${ED}"/usr/share/doc/${PF}/ruby/rdocs/js -name \*.gz -delete || die
+ fi
+
+ # For some USE combinations this directory is not created
+ if [[ -d "${ED}/usr/share/doc/xapian-bindings" ]]; then
+ mv "${ED}/usr/share/doc/xapian-bindings" "${ED}/usr/share/doc/${PF}" || die
+ fi
+
+ dodoc AUTHORS HACKING NEWS TODO README
+}
diff --git a/dev-libs/xapian-bindings/xapian-bindings-1.4.23.ebuild b/dev-libs/xapian-bindings/xapian-bindings-1.4.23.ebuild
new file mode 100644
index 000000000000..afb64e3d13bd
--- /dev/null
+++ b/dev-libs/xapian-bindings/xapian-bindings-1.4.23.ebuild
@@ -0,0 +1,346 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+LUA_COMPAT=( lua5-{1,3,4} luajit )
+
+PYTHON_COMPAT=( python3_{9..11} )
+PYTHON_REQ_USE="threads(+)"
+
+USE_PHP="php8-1 php8-2"
+
+PHP_EXT_NAME="xapian"
+PHP_EXT_INI="yes"
+PHP_EXT_OPTIONAL_USE="php"
+
+USE_RUBY="ruby30 ruby31 ruby32"
+RUBY_OPTIONAL="yes"
+
+# mono-env does not support EAPI 8
+inherit autotools java-pkg-opt-2 lua mono-env multibuild php-ext-source-r3 python-r1 ruby-ng
+
+DESCRIPTION="SWIG and JNI bindings for Xapian"
+HOMEPAGE="https://xapian.org/"
+SRC_URI="https://oligarchy.co.uk/xapian/${PV}/${P}.tar.xz"
+S="${WORKDIR}/${P}" # need this here, some inherited eclasses change it
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86"
+IUSE="java lua mono perl php python ruby tcl"
+REQUIRED_USE="
+ || ( java lua mono perl php python ruby tcl )
+ lua? ( ${LUA_REQUIRED_USE} )
+ python? ( ${PYTHON_REQUIRED_USE} )
+ ruby? ( || ( $(ruby_get_use_targets) ) )
+"
+
+COMMONDEPEND="
+ >=dev-libs/xapian-1.4.23
+ lua? ( ${LUA_DEPS} )
+ mono? ( dev-lang/mono )
+ perl? ( dev-lang/perl:= )
+ php? ( dev-lang/php:=[-threads] )
+ python? (
+ dev-python/sphinx[${PYTHON_USEDEP}]
+ ${PYTHON_DEPS}
+ )
+ ruby? ( $(ruby_implementations_depend) )
+ tcl? ( dev-lang/tcl:= )
+"
+DEPEND="
+ ${COMMONDEPEND}
+ virtual/pkgconfig
+ java? ( >=virtual/jdk-1.8:* )
+"
+RDEPEND="
+ ${COMMONDEPEND}
+ java? ( >=virtual/jre-1.8:* )
+"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-1.4.22-remove-precompiled-python.patch
+ "${FILESDIR}"/${PN}-1.4.22-fix-java-installation.patch
+)
+
+has_basic_bindings() {
+ # Update this list if new bindings are added that are not built
+ # multiple times for multiple versions like lua, php, python and ruby are
+ return $(use mono || use java || use perl || use tcl)
+}
+
+php_copy_sources() {
+ local MULTIBUILD_VARIANTS=($(php_get_slots))
+ multibuild_copy_sources
+}
+
+php_foreach_impl() {
+ local MULTIBUILD_VARIANTS=($(php_get_slots))
+ multibuild_foreach_variant "$@"
+}
+
+ruby_copy_sources() {
+ local MULTIBUILD_VARIANTS=($(ruby_get_use_implementations))
+ multibuild_copy_sources
+}
+
+ruby_foreach_impl() {
+ local MULTIBUILD_VARIANTS=($(ruby_get_use_implementations))
+ multibuild_foreach_variant "$@"
+}
+
+pkg_setup() {
+ use mono && mono-env_pkg_setup
+ use java && java-pkg-opt-2_pkg_setup
+}
+
+src_unpack() {
+ default
+
+ if use php; then
+ local php_slot
+ for php_slot in $(php_get_slots); do
+ # Unfortunately required for php-ext-source-r3_createinifiles().
+ mkdir "${WORKDIR}/${php_slot}"
+ done
+ fi
+}
+
+src_prepare() {
+ eapply "${PATCHES[@]}"
+ eautoreconf
+
+ use java && java-pkg-opt-2_src_prepare
+
+ # https://trac.xapian.org/ticket/702
+ export XAPIAN_CONFIG="/usr/bin/xapian-config"
+
+ if use lua; then
+ lua_copy_sources
+ fi
+
+ if use php; then
+ php_copy_sources
+ fi
+
+ if use python; then
+ python_copy_sources
+ fi
+
+ if use ruby; then
+ ruby_copy_sources
+ fi
+
+ eapply_user
+}
+
+src_configure() {
+ # Needed to get e.g. test failure details
+ MAKEOPTS+=" VERBOSE=1"
+
+ if has_basic_bindings ; then
+ local conf=(
+ --disable-documentation
+ $(use_with mono csharp)
+ $(use_with java)
+ $(use_with perl)
+ $(use_with tcl)
+ --without-lua
+ --without-php
+ --without-python
+ --without-python3
+ --without-ruby
+ )
+
+ if use java; then
+ local -x CXXFLAGS="${CXXFLAGS} $(java-pkg_get-jni-cflags)"
+ fi
+
+ if use perl; then
+ local -x PERL_ARCH="$(perl -MConfig -e 'print $Config{installvendorarch}')"
+ local -x PERL_LIB="$(perl -MConfig -e 'print $Config{installvendorlib}')"
+ fi
+
+ econf "${conf[@]}"
+ fi
+
+ lua_configure() {
+ local myconf=(
+ --disable-documentation
+ --without-csharp
+ --without-java
+ --without-perl
+ --without-tcl
+ --without-php
+ --without-python
+ --without-python3
+ --without-ruby
+ --with-lua
+ )
+
+ local -x LUA_INC="$(lua_get_include_dir)"
+ local -x LUA_LIB="$(lua_get_cmod_dir)"
+
+ econf "${myconf[@]}"
+
+ }
+
+ if use lua; then
+ lua_foreach_impl run_in_build_dir lua_configure
+ fi
+
+ php_configure() {
+ local myconf=(
+ --disable-documentation
+ --without-java
+ --without-lua
+ --without-csharp
+ --without-perl
+ --without-python
+ --without-python3
+ --without-ruby
+ --without-tcl
+ --with-php
+ )
+ local -x PHP_CONFIG="${EPREFIX}/usr/$(get_libdir)/${MULTIBUILD_VARIANT/-/.}/bin/php-config"
+
+ econf "${myconf[@]}"
+ }
+
+ if use php; then
+ addpredict /usr/share/snmp/mibs/.index
+ addpredict /var/lib/net-snmp/mib_indexes
+
+ php_foreach_impl run_in_build_dir php_configure
+ fi
+
+ python_configure() {
+ local myconf=(
+ --disable-documentation
+ --without-java
+ --without-lua
+ --without-csharp
+ --without-perl
+ --without-php
+ --without-ruby
+ --without-tcl
+ --with-python3
+ )
+
+ # Avoid sandbox failures when compiling modules
+ addpredict "$(python_get_sitedir)"
+
+ econf "${myconf[@]}"
+ }
+
+ if use python; then
+ python_foreach_impl run_in_build_dir python_configure
+ fi
+
+ ruby_configure() {
+ local myconf=(
+ --disable-documentation
+ --without-java
+ --without-lua
+ --without-csharp
+ --without-perl
+ --without-php
+ --without-python
+ --without-python3
+ --with-ruby
+ --without-tcl
+ )
+ local -x RUBY="${EPREFIX}/usr/bin/${MULTIBUILD_VARIANT}"
+
+ econf "${myconf[@]}"
+ }
+
+ if use ruby; then
+ ruby_foreach_impl run_in_build_dir ruby_configure
+ fi
+}
+
+src_compile() {
+ if has_basic_bindings ; then
+ default
+ fi
+
+ if use lua; then
+ lua_foreach_impl run_in_build_dir emake
+ fi
+
+ if use php; then
+ php_foreach_impl run_in_build_dir emake
+ fi
+
+ if use python; then
+ unset PYTHONDONTWRITEBYTECODE
+ python_foreach_impl run_in_build_dir emake
+ fi
+
+ if use ruby; then
+ ruby_foreach_impl run_in_build_dir emake
+ fi
+}
+
+src_test() {
+ if has_basic_bindings ; then
+ default
+ fi
+
+ if use lua; then
+ lua_foreach_impl run_in_build_dir emake check
+ fi
+
+ if use php; then
+ php_foreach_impl run_in_build_dir emake check
+ fi
+
+ if use python; then
+ python_foreach_impl run_in_build_dir emake check
+ fi
+
+ if use ruby; then
+ ruby_foreach_impl run_in_build_dir emake check
+ fi
+}
+
+src_install() {
+ if has_basic_bindings ; then
+ emake DESTDIR="${D}" install
+ fi
+
+ if use java; then
+ java-pkg_dojar java/built/xapian.jar
+ java-pkg_doso java/.libs/libxapian_jni.so
+ fi
+
+ if use lua; then
+ lua_foreach_impl run_in_build_dir emake DESTDIR="${D}" install
+ fi
+
+ if use php; then
+ php_foreach_impl run_in_build_dir emake DESTDIR="${D}" install
+ php-ext-source-r3_createinifiles
+ # php-ext-source-r3_createinifiles() changes current directory.
+ cd "${S}"
+ fi
+
+ if use python; then
+ python_foreach_impl run_in_build_dir emake DESTDIR="${D}" install
+ python_foreach_impl python_optimize
+ fi
+
+ if use ruby; then
+ ruby_foreach_impl run_in_build_dir emake DESTDIR="${D}" install
+ find "${ED}"/usr/share/doc/${PF}/ruby/rdocs/js -name \*.gz -delete || die
+ fi
+
+ # For some USE combinations this directory is not created
+ if [[ -d "${ED}/usr/share/doc/xapian-bindings" ]]; then
+ mv "${ED}/usr/share/doc/xapian-bindings" "${ED}/usr/share/doc/${PF}" || die
+ fi
+
+ dodoc AUTHORS HACKING NEWS TODO README
+}
diff --git a/dev-libs/xapian-bindings/xapian-bindings-1.4.24.ebuild b/dev-libs/xapian-bindings/xapian-bindings-1.4.24.ebuild
new file mode 100644
index 000000000000..bc39434724f1
--- /dev/null
+++ b/dev-libs/xapian-bindings/xapian-bindings-1.4.24.ebuild
@@ -0,0 +1,346 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+LUA_COMPAT=( lua5-{1,3,4} luajit )
+
+PYTHON_COMPAT=( python3_{10..11} )
+PYTHON_REQ_USE="threads(+)"
+
+USE_PHP="php8-1 php8-2"
+
+PHP_EXT_NAME="xapian"
+PHP_EXT_INI="yes"
+PHP_EXT_OPTIONAL_USE="php"
+
+USE_RUBY="ruby31 ruby32"
+RUBY_OPTIONAL="yes"
+
+# mono-env does not support EAPI 8
+inherit autotools java-pkg-opt-2 lua mono-env multibuild php-ext-source-r3 python-r1 ruby-ng
+
+DESCRIPTION="SWIG and JNI bindings for Xapian"
+HOMEPAGE="https://xapian.org/"
+SRC_URI="https://oligarchy.co.uk/xapian/${PV}/${P}.tar.xz"
+S="${WORKDIR}/${P}" # need this here, some inherited eclasses change it
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86"
+IUSE="java lua mono perl php python ruby tcl"
+REQUIRED_USE="
+ || ( java lua mono perl php python ruby tcl )
+ lua? ( ${LUA_REQUIRED_USE} )
+ python? ( ${PYTHON_REQUIRED_USE} )
+ ruby? ( || ( $(ruby_get_use_targets) ) )
+"
+
+COMMON_DEPEND="
+ ~dev-libs/xapian-${PV}
+ lua? ( ${LUA_DEPS} )
+ mono? ( dev-lang/mono )
+ perl? ( dev-lang/perl:= )
+ php? ( dev-lang/php:=[-threads] )
+ python? (
+ dev-python/sphinx[${PYTHON_USEDEP}]
+ ${PYTHON_DEPS}
+ )
+ ruby? ( $(ruby_implementations_depend) )
+ tcl? ( dev-lang/tcl:= )
+"
+DEPEND="
+ ${COMMON_DEPEND}
+ virtual/pkgconfig
+ java? ( >=virtual/jdk-1.8:* )
+"
+RDEPEND="
+ ${COMMON_DEPEND}
+ java? ( >=virtual/jre-1.8:* )
+"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-1.4.22-remove-precompiled-python.patch
+ "${FILESDIR}"/${PN}-1.4.22-fix-java-installation.patch
+)
+
+has_basic_bindings() {
+ # Update this list if new bindings are added that are not built
+ # multiple times for multiple versions like lua, php, python and ruby are
+ return $(use mono || use java || use perl || use tcl)
+}
+
+php_copy_sources() {
+ local MULTIBUILD_VARIANTS=($(php_get_slots))
+ multibuild_copy_sources
+}
+
+php_foreach_impl() {
+ local MULTIBUILD_VARIANTS=($(php_get_slots))
+ multibuild_foreach_variant "$@"
+}
+
+ruby_copy_sources() {
+ local MULTIBUILD_VARIANTS=($(ruby_get_use_implementations))
+ multibuild_copy_sources
+}
+
+ruby_foreach_impl() {
+ local MULTIBUILD_VARIANTS=($(ruby_get_use_implementations))
+ multibuild_foreach_variant "$@"
+}
+
+pkg_setup() {
+ use mono && mono-env_pkg_setup
+ use java && java-pkg-opt-2_pkg_setup
+}
+
+src_unpack() {
+ default
+
+ if use php; then
+ local php_slot
+ for php_slot in $(php_get_slots); do
+ # Unfortunately required for php-ext-source-r3_createinifiles().
+ mkdir "${WORKDIR}/${php_slot}"
+ done
+ fi
+}
+
+src_prepare() {
+ eapply "${PATCHES[@]}"
+ eautoreconf
+
+ use java && java-pkg-opt-2_src_prepare
+
+ # https://trac.xapian.org/ticket/702
+ export XAPIAN_CONFIG="/usr/bin/xapian-config"
+
+ if use lua; then
+ lua_copy_sources
+ fi
+
+ if use php; then
+ php_copy_sources
+ fi
+
+ if use python; then
+ python_copy_sources
+ fi
+
+ if use ruby; then
+ ruby_copy_sources
+ fi
+
+ eapply_user
+}
+
+src_configure() {
+ # Needed to get e.g. test failure details
+ MAKEOPTS+=" VERBOSE=1"
+
+ if has_basic_bindings ; then
+ local conf=(
+ --disable-documentation
+ $(use_with mono csharp)
+ $(use_with java)
+ $(use_with perl)
+ $(use_with tcl)
+ --without-lua
+ --without-php
+ --without-python
+ --without-python3
+ --without-ruby
+ )
+
+ if use java; then
+ local -x CXXFLAGS="${CXXFLAGS} $(java-pkg_get-jni-cflags)"
+ fi
+
+ if use perl; then
+ local -x PERL_ARCH="$(perl -MConfig -e 'print $Config{installvendorarch}')"
+ local -x PERL_LIB="$(perl -MConfig -e 'print $Config{installvendorlib}')"
+ fi
+
+ econf "${conf[@]}"
+ fi
+
+ lua_configure() {
+ local myconf=(
+ --disable-documentation
+ --without-csharp
+ --without-java
+ --without-perl
+ --without-tcl
+ --without-php
+ --without-python
+ --without-python3
+ --without-ruby
+ --with-lua
+ )
+
+ local -x LUA_INC="$(lua_get_include_dir)"
+ local -x LUA_LIB="$(lua_get_cmod_dir)"
+
+ econf "${myconf[@]}"
+
+ }
+
+ if use lua; then
+ lua_foreach_impl run_in_build_dir lua_configure
+ fi
+
+ php_configure() {
+ local myconf=(
+ --disable-documentation
+ --without-java
+ --without-lua
+ --without-csharp
+ --without-perl
+ --without-python
+ --without-python3
+ --without-ruby
+ --without-tcl
+ --with-php
+ )
+ local -x PHP_CONFIG="${EPREFIX}/usr/$(get_libdir)/${MULTIBUILD_VARIANT/-/.}/bin/php-config"
+
+ econf "${myconf[@]}"
+ }
+
+ if use php; then
+ addpredict /usr/share/snmp/mibs/.index
+ addpredict /var/lib/net-snmp/mib_indexes
+
+ php_foreach_impl run_in_build_dir php_configure
+ fi
+
+ python_configure() {
+ local myconf=(
+ --disable-documentation
+ --without-java
+ --without-lua
+ --without-csharp
+ --without-perl
+ --without-php
+ --without-ruby
+ --without-tcl
+ --with-python3
+ )
+
+ # Avoid sandbox failures when compiling modules
+ addpredict "$(python_get_sitedir)"
+
+ econf "${myconf[@]}"
+ }
+
+ if use python; then
+ python_foreach_impl run_in_build_dir python_configure
+ fi
+
+ ruby_configure() {
+ local myconf=(
+ --disable-documentation
+ --without-java
+ --without-lua
+ --without-csharp
+ --without-perl
+ --without-php
+ --without-python
+ --without-python3
+ --with-ruby
+ --without-tcl
+ )
+ local -x RUBY="${EPREFIX}/usr/bin/${MULTIBUILD_VARIANT}"
+
+ econf "${myconf[@]}"
+ }
+
+ if use ruby; then
+ ruby_foreach_impl run_in_build_dir ruby_configure
+ fi
+}
+
+src_compile() {
+ if has_basic_bindings ; then
+ default
+ fi
+
+ if use lua; then
+ lua_foreach_impl run_in_build_dir emake
+ fi
+
+ if use php; then
+ php_foreach_impl run_in_build_dir emake
+ fi
+
+ if use python; then
+ unset PYTHONDONTWRITEBYTECODE
+ python_foreach_impl run_in_build_dir emake
+ fi
+
+ if use ruby; then
+ ruby_foreach_impl run_in_build_dir emake
+ fi
+}
+
+src_test() {
+ if has_basic_bindings ; then
+ default
+ fi
+
+ if use lua; then
+ lua_foreach_impl run_in_build_dir emake check
+ fi
+
+ if use php; then
+ php_foreach_impl run_in_build_dir emake check
+ fi
+
+ if use python; then
+ python_foreach_impl run_in_build_dir emake check
+ fi
+
+ if use ruby; then
+ ruby_foreach_impl run_in_build_dir emake check
+ fi
+}
+
+src_install() {
+ if has_basic_bindings ; then
+ emake DESTDIR="${D}" install
+ fi
+
+ if use java; then
+ java-pkg_dojar java/built/xapian.jar
+ java-pkg_doso java/.libs/libxapian_jni.so
+ fi
+
+ if use lua; then
+ lua_foreach_impl run_in_build_dir emake DESTDIR="${D}" install
+ fi
+
+ if use php; then
+ php_foreach_impl run_in_build_dir emake DESTDIR="${D}" install
+ php-ext-source-r3_createinifiles
+ # php-ext-source-r3_createinifiles() changes current directory.
+ cd "${S}"
+ fi
+
+ if use python; then
+ python_foreach_impl run_in_build_dir emake DESTDIR="${D}" install
+ python_foreach_impl python_optimize
+ fi
+
+ if use ruby; then
+ ruby_foreach_impl run_in_build_dir emake DESTDIR="${D}" install
+ find "${ED}"/usr/share/doc/${PF}/ruby/rdocs/js -name \*.gz -delete || die
+ fi
+
+ # For some USE combinations this directory is not created
+ if [[ -d "${ED}/usr/share/doc/xapian-bindings" ]]; then
+ mv "${ED}/usr/share/doc/xapian-bindings" "${ED}/usr/share/doc/${PF}" || die
+ fi
+
+ dodoc AUTHORS HACKING NEWS TODO README
+}
diff --git a/dev-libs/xapian-bindings/xapian-bindings-1.4.25.ebuild b/dev-libs/xapian-bindings/xapian-bindings-1.4.25.ebuild
new file mode 100644
index 000000000000..a929cc8d30bd
--- /dev/null
+++ b/dev-libs/xapian-bindings/xapian-bindings-1.4.25.ebuild
@@ -0,0 +1,346 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+LUA_COMPAT=( lua5-{1,3,4} luajit )
+
+PYTHON_COMPAT=( python3_{10..12} )
+PYTHON_REQ_USE="threads(+)"
+
+USE_PHP="php8-1 php8-2"
+
+PHP_EXT_NAME="xapian"
+PHP_EXT_INI="yes"
+PHP_EXT_OPTIONAL_USE="php"
+
+USE_RUBY="ruby31 ruby32"
+RUBY_OPTIONAL="yes"
+
+# mono-env does not support EAPI 8
+inherit autotools java-pkg-opt-2 lua mono-env multibuild php-ext-source-r3 python-r1 ruby-ng
+
+DESCRIPTION="SWIG and JNI bindings for Xapian"
+HOMEPAGE="https://xapian.org/"
+SRC_URI="https://oligarchy.co.uk/xapian/${PV}/${P}.tar.xz"
+S="${WORKDIR}/${P}" # need this here, some inherited eclasses change it
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86"
+IUSE="java lua mono perl php python ruby tcl"
+REQUIRED_USE="
+ || ( java lua mono perl php python ruby tcl )
+ lua? ( ${LUA_REQUIRED_USE} )
+ python? ( ${PYTHON_REQUIRED_USE} )
+ ruby? ( || ( $(ruby_get_use_targets) ) )
+"
+
+COMMON_DEPEND="
+ ~dev-libs/xapian-${PV}
+ lua? ( ${LUA_DEPS} )
+ mono? ( dev-lang/mono )
+ perl? ( dev-lang/perl:= )
+ php? ( dev-lang/php:=[-threads] )
+ python? (
+ dev-python/sphinx[${PYTHON_USEDEP}]
+ ${PYTHON_DEPS}
+ )
+ ruby? ( $(ruby_implementations_depend) )
+ tcl? ( dev-lang/tcl:= )
+"
+DEPEND="
+ ${COMMON_DEPEND}
+ virtual/pkgconfig
+ java? ( >=virtual/jdk-1.8:* )
+"
+RDEPEND="
+ ${COMMON_DEPEND}
+ java? ( >=virtual/jre-1.8:* )
+"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-1.4.22-remove-precompiled-python.patch
+ "${FILESDIR}"/${PN}-1.4.22-fix-java-installation.patch
+)
+
+has_basic_bindings() {
+ # Update this list if new bindings are added that are not built
+ # multiple times for multiple versions like lua, php, python and ruby are
+ return $(use mono || use java || use perl || use tcl)
+}
+
+php_copy_sources() {
+ local MULTIBUILD_VARIANTS=($(php_get_slots))
+ multibuild_copy_sources
+}
+
+php_foreach_impl() {
+ local MULTIBUILD_VARIANTS=($(php_get_slots))
+ multibuild_foreach_variant "$@"
+}
+
+ruby_copy_sources() {
+ local MULTIBUILD_VARIANTS=($(ruby_get_use_implementations))
+ multibuild_copy_sources
+}
+
+ruby_foreach_impl() {
+ local MULTIBUILD_VARIANTS=($(ruby_get_use_implementations))
+ multibuild_foreach_variant "$@"
+}
+
+pkg_setup() {
+ use mono && mono-env_pkg_setup
+ use java && java-pkg-opt-2_pkg_setup
+}
+
+src_unpack() {
+ default
+
+ if use php; then
+ local php_slot
+ for php_slot in $(php_get_slots); do
+ # Unfortunately required for php-ext-source-r3_createinifiles().
+ mkdir "${WORKDIR}/${php_slot}"
+ done
+ fi
+}
+
+src_prepare() {
+ eapply "${PATCHES[@]}"
+ eautoreconf
+
+ use java && java-pkg-opt-2_src_prepare
+
+ # https://trac.xapian.org/ticket/702
+ export XAPIAN_CONFIG="/usr/bin/xapian-config"
+
+ if use lua; then
+ lua_copy_sources
+ fi
+
+ if use php; then
+ php_copy_sources
+ fi
+
+ if use python; then
+ python_copy_sources
+ fi
+
+ if use ruby; then
+ ruby_copy_sources
+ fi
+
+ eapply_user
+}
+
+src_configure() {
+ # Needed to get e.g. test failure details
+ MAKEOPTS+=" VERBOSE=1"
+
+ if has_basic_bindings ; then
+ local conf=(
+ --disable-documentation
+ $(use_with mono csharp)
+ $(use_with java)
+ $(use_with perl)
+ $(use_with tcl)
+ --without-lua
+ --without-php
+ --without-python
+ --without-python3
+ --without-ruby
+ )
+
+ if use java; then
+ local -x CXXFLAGS="${CXXFLAGS} $(java-pkg_get-jni-cflags)"
+ fi
+
+ if use perl; then
+ local -x PERL_ARCH="$(perl -MConfig -e 'print $Config{installvendorarch}')"
+ local -x PERL_LIB="$(perl -MConfig -e 'print $Config{installvendorlib}')"
+ fi
+
+ econf "${conf[@]}"
+ fi
+
+ lua_configure() {
+ local myconf=(
+ --disable-documentation
+ --without-csharp
+ --without-java
+ --without-perl
+ --without-tcl
+ --without-php
+ --without-python
+ --without-python3
+ --without-ruby
+ --with-lua
+ )
+
+ local -x LUA_INC="$(lua_get_include_dir)"
+ local -x LUA_LIB="$(lua_get_cmod_dir)"
+
+ econf "${myconf[@]}"
+
+ }
+
+ if use lua; then
+ lua_foreach_impl run_in_build_dir lua_configure
+ fi
+
+ php_configure() {
+ local myconf=(
+ --disable-documentation
+ --without-java
+ --without-lua
+ --without-csharp
+ --without-perl
+ --without-python
+ --without-python3
+ --without-ruby
+ --without-tcl
+ --with-php
+ )
+ local -x PHP_CONFIG="${EPREFIX}/usr/$(get_libdir)/${MULTIBUILD_VARIANT/-/.}/bin/php-config"
+
+ econf "${myconf[@]}"
+ }
+
+ if use php; then
+ addpredict /usr/share/snmp/mibs/.index
+ addpredict /var/lib/net-snmp/mib_indexes
+
+ php_foreach_impl run_in_build_dir php_configure
+ fi
+
+ python_configure() {
+ local myconf=(
+ --disable-documentation
+ --without-java
+ --without-lua
+ --without-csharp
+ --without-perl
+ --without-php
+ --without-ruby
+ --without-tcl
+ --with-python3
+ )
+
+ # Avoid sandbox failures when compiling modules
+ addpredict "$(python_get_sitedir)"
+
+ econf "${myconf[@]}"
+ }
+
+ if use python; then
+ python_foreach_impl run_in_build_dir python_configure
+ fi
+
+ ruby_configure() {
+ local myconf=(
+ --disable-documentation
+ --without-java
+ --without-lua
+ --without-csharp
+ --without-perl
+ --without-php
+ --without-python
+ --without-python3
+ --with-ruby
+ --without-tcl
+ )
+ local -x RUBY="${EPREFIX}/usr/bin/${MULTIBUILD_VARIANT}"
+
+ econf "${myconf[@]}"
+ }
+
+ if use ruby; then
+ ruby_foreach_impl run_in_build_dir ruby_configure
+ fi
+}
+
+src_compile() {
+ if has_basic_bindings ; then
+ default
+ fi
+
+ if use lua; then
+ lua_foreach_impl run_in_build_dir emake
+ fi
+
+ if use php; then
+ php_foreach_impl run_in_build_dir emake
+ fi
+
+ if use python; then
+ unset PYTHONDONTWRITEBYTECODE
+ python_foreach_impl run_in_build_dir emake
+ fi
+
+ if use ruby; then
+ ruby_foreach_impl run_in_build_dir emake
+ fi
+}
+
+src_test() {
+ if has_basic_bindings ; then
+ default
+ fi
+
+ if use lua; then
+ lua_foreach_impl run_in_build_dir emake check
+ fi
+
+ if use php; then
+ php_foreach_impl run_in_build_dir emake check
+ fi
+
+ if use python; then
+ python_foreach_impl run_in_build_dir emake check
+ fi
+
+ if use ruby; then
+ ruby_foreach_impl run_in_build_dir emake check
+ fi
+}
+
+src_install() {
+ if has_basic_bindings ; then
+ emake DESTDIR="${D}" install
+ fi
+
+ if use java; then
+ java-pkg_dojar java/built/xapian.jar
+ java-pkg_doso java/.libs/libxapian_jni.so
+ fi
+
+ if use lua; then
+ lua_foreach_impl run_in_build_dir emake DESTDIR="${D}" install
+ fi
+
+ if use php; then
+ php_foreach_impl run_in_build_dir emake DESTDIR="${D}" install
+ php-ext-source-r3_createinifiles
+ # php-ext-source-r3_createinifiles() changes current directory.
+ cd "${S}"
+ fi
+
+ if use python; then
+ python_foreach_impl run_in_build_dir emake DESTDIR="${D}" install
+ python_foreach_impl python_optimize
+ fi
+
+ if use ruby; then
+ ruby_foreach_impl run_in_build_dir emake DESTDIR="${D}" install
+ find "${ED}"/usr/share/doc/${PF}/ruby/rdocs/js -name \*.gz -delete || die
+ fi
+
+ # For some USE combinations this directory is not created
+ if [[ -d "${ED}/usr/share/doc/xapian-bindings" ]]; then
+ mv "${ED}/usr/share/doc/xapian-bindings" "${ED}/usr/share/doc/${PF}" || die
+ fi
+
+ dodoc AUTHORS HACKING NEWS TODO README
+}
diff --git a/dev-libs/xapian/Manifest b/dev-libs/xapian/Manifest
index 9212947c8b52..86628f3347ac 100644
--- a/dev-libs/xapian/Manifest
+++ b/dev-libs/xapian/Manifest
@@ -1,4 +1,4 @@
-DIST xapian-core-1.2.25.tar.xz 3253292 BLAKE2B a130e26188c949d0433d017e8d13e7ecf6241a232d00125699ba8ed63eab9cb1651e02182fcc152f960f4e122709958632779daaaf5760fe50953a3b5b07a243 SHA512 a15b5d9b5770337519f671732f53f0642b31f08206824500d589ba309c9e91a05a30353d66ebf70a4c1cb1824b44e1c7b7630e799de3b15d645cf951a6017bfe
-DIST xapian-core-1.4.17.tar.xz 2997700 BLAKE2B 882bc28c9a55731212a5c3ac6da3ad2082e3345cb473eb2c09b80fdd05e700bb31cff6c9a0524b27da015b14655c30548e92a457b48af43279bfd3564cf3c3fa SHA512 3eaf45d31eb9318e292fa052b32b1d9e1035651bdd3c366a0134f4b39d03d987083c19426a3d4b10f60078190fc3388f05b332cba958263bab1abf236c7a3ca7
-DIST xapian-core-1.4.18.tar.xz 2984508 BLAKE2B e5d680578e0a4605a8e99470921fba29cdd3d137d017608b8bf571951726055d2a1d49e9649829f0df92af3d27d0565f90baaca5a4eb5c67cb368f5d1e592d28 SHA512 ba6240054c0d2f92b9f1059aa934cdf35388ee7c7e05f4ef6f9856bdaed8ad821095a348ed9a892afdf18c3c0ad20e163028ad0ed3a9934bd69b861e814678ef
-DIST xapian-core-1.4.19.tar.xz 2994860 BLAKE2B 9566df1646192370e346c1b0d1e1cda68034fe5d3ab94835709f969df643fd36da49a58a2d3b4177a42faf5af2e71df771277848169ae62f94fe0bb0378ba6aa SHA512 d596058d7f9bfa0b73c5b6354331a799936b45f27012894f6792872ade8656bb0387b504aea8c1c3edfbd48787190452e7a49d2b62d181cb050c46edd3e67346
+DIST xapian-core-1.4.22.tar.xz 3019608 BLAKE2B f4aec86cd5f63f6f1825a4f8f427ea23be2092ffb4ca11a2fdf20bdf652e7b9f768b1155bcf7ee5e5c5313206c92e1725d1b4d562e3074539a2e8f9901c44f8e SHA512 60d66adbacbd59622d25e392060984bd1dc6c870f9031765f54cb335fb29f72f6d006d27af82a50c8da2cfbebd08dac4503a8afa8ad51bc4e6fa9cb367a59d29
+DIST xapian-core-1.4.23.tar.xz 3024644 BLAKE2B e26a9fd5e79daf553b474e3c794178df2cdcd83ce7d7a45ae112dde624d6e7add157c76fda3a333afce6103b2edaf7e3c928e78c47aa1fd19821c3c73926442f SHA512 52dffc93301f99aa150dda8ecd5fb7cc7d0f2ce30e60f393b1058055ade24281af16cf5b5c0e6b08e4754e3d18c39bb5bc068b19330a294ad460ef8a6bc56380
+DIST xapian-core-1.4.24.tar.xz 3194164 BLAKE2B fc3484df448d2102d47005b2819eea8eee3fdb4337a42967e2b535187e4b7be9841a8e12b19291f29bdef52b3270529f94376fe91d5e4c70afebaf690a23b18f SHA512 2b156dd90784264d6bf64e66aca559578f946c013bb52e14e56fcd96e9c2fece71c236735b13d2baad0d7f2d410dea3ae54c94cd80f735baf1071bafe2e5c01c
+DIST xapian-core-1.4.25.tar.xz 3205904 BLAKE2B 7b03a8fabc3c688f58b3451541dedb664de0a02d7c46a4e8eac080c004232575c00428110eaab0ea463df5c3f43f2b4cebfbe6754f897e55f113683c1db43b2b SHA512 e8069f2cb75554978716a99580fb57fc73bbdd607c82394f53d07205d8c78fb59265004be0c676a6806bb2840a3933499dfc867e36a28855278569a0676d469d
diff --git a/dev-libs/xapian/files/xapian-1.4.17-gcc11-missing-include.patch b/dev-libs/xapian/files/xapian-1.4.17-gcc11-missing-include.patch
deleted file mode 100644
index 67693e968dff..000000000000
--- a/dev-libs/xapian/files/xapian-1.4.17-gcc11-missing-include.patch
+++ /dev/null
@@ -1,11 +0,0 @@
-https://bugs.gentoo.org/788046
---- a/api/omdocument.cc
-+++ b/api/omdocument.cc
-@@ -39,6 +39,7 @@
-
- #include <algorithm>
- #include <string>
-+#include <limits>
-
- using namespace std;
-
diff --git a/dev-libs/xapian/metadata.xml b/dev-libs/xapian/metadata.xml
index ca0ccfc79066..883360ac2aee 100644
--- a/dev-libs/xapian/metadata.xml
+++ b/dev-libs/xapian/metadata.xml
@@ -1,10 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <email>blueness@gentoo.org</email>
- <name>Anthony G. Basile</name>
- </maintainer>
+ <!-- maintainer-needed -->
<longdescription lang="en">
Xapian is an Open Source Probabilistic Information Retrieval library,
released under the GPL. It's written in C++, with bindings to allow use
@@ -15,8 +12,6 @@
applications.
</longdescription>
<use>
- <flag name="brass">Enabled brass backend db support</flag>
- <flag name="chert">Enabled chert backend db support</flag>
<flag name="inmemory">Enabled inmemory backend db support</flag>
<flag name="remote">Enabled remote backend db support</flag>
</use>
diff --git a/dev-libs/xapian/xapian-1.2.25-r1.ebuild b/dev-libs/xapian/xapian-1.2.25-r1.ebuild
deleted file mode 100644
index 8dc1dcb06fb8..000000000000
--- a/dev-libs/xapian/xapian-1.2.25-r1.ebuild
+++ /dev/null
@@ -1,78 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="6"
-
-inherit flag-o-matic multilib-minimal
-
-MY_P="${PN}-core-${PV}"
-
-DESCRIPTION="Xapian Probabilistic Information Retrieval library"
-HOMEPAGE="https://www.xapian.org/"
-SRC_URI="https://oligarchy.co.uk/xapian/${PV}/${MY_P}.tar.xz"
-
-LICENSE="GPL-2"
-SLOT="0/1.2.22" # ABI version of libxapian.so, prefixed with 1.2.
-KEYWORDS="~alpha amd64 arm ~arm64 ~hppa ~ia64 ~mips ppc ppc64 ~s390 ~sparc x86 ~x64-solaris"
-IUSE="doc static-libs cpu_flags_x86_sse cpu_flags_x86_sse2 +brass +chert +inmemory"
-
-DEPEND="sys-apps/util-linux[${MULTILIB_USEDEP}]
- sys-libs/zlib[${MULTILIB_USEDEP}]"
-RDEPEND="${DEPEND}"
-
-S="${WORKDIR}/${MY_P}"
-
-multilib_src_configure() {
- local myconf=""
-
- # "brass_check.cc:40:48: error: reference to ‘byte’ is ambiguous"
- # bug #789390
- append-cxxflags -std=c++14
-
- if use cpu_flags_x86_sse2; then
- myconf="${myconf} --enable-sse=sse2"
- else
- if use cpu_flags_x86_sse; then
- myconf="${myconf} --enable-sse=sse"
- else
- myconf="${myconf} --disable-sse"
- fi
- fi
-
- myconf="${myconf} $(use_enable static-libs static)"
-
- use brass || myconf="${myconf} --disable-backend-brass"
- use chert || myconf="${myconf} --disable-backend-chert"
- use inmemory || myconf="${myconf} --disable-backend-inmemory"
-
- myconf="${myconf} --enable-backend-flint --enable-backend-remote"
-
- ECONF_SOURCE=${S} econf ${myconf}
-}
-
-MULTILIB_WRAPPED_HEADERS=(
- /usr/include/xapian/postingsource.h
- /usr/include/xapian/attributes.h
- /usr/include/xapian/valuesetmatchdecider.h
- /usr/include/xapian/version.h
- /usr/include/xapian/version.h
- /usr/include/xapian/types.h
- /usr/include/xapian/positioniterator.h
- /usr/include/xapian/registry.h
-)
-
-multilib_src_install() {
- emake DESTDIR="${D}" install
-}
-
-multilib_src_install_all() {
- use doc || rm -rf "${ED%/}/usr/share/doc/xapian-core-${PV}"
-
- dodoc AUTHORS HACKING PLATFORMS README NEWS
-
- find "${ED}" -name "*.la" -type f -delete || die
-}
-
-multilib_src_test() {
- emake check VALGRIND=
-}
diff --git a/dev-libs/xapian/xapian-1.4.17-r1.ebuild b/dev-libs/xapian/xapian-1.4.17-r1.ebuild
deleted file mode 100644
index 25d39cf439b4..000000000000
--- a/dev-libs/xapian/xapian-1.4.17-r1.ebuild
+++ /dev/null
@@ -1,79 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-
-inherit multilib-minimal
-
-MY_P="${PN}-core-${PV}"
-
-DESCRIPTION="Xapian Probabilistic Information Retrieval library"
-HOMEPAGE="https://www.xapian.org/"
-SRC_URI="https://oligarchy.co.uk/xapian/${PV}/${MY_P}.tar.xz"
-
-LICENSE="GPL-2"
-SLOT="0/30" # ABI version of libxapian.so
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-macos ~x64-solaris"
-IUSE="doc static-libs cpu_flags_x86_sse cpu_flags_x86_sse2 +inmemory +remote"
-
-DEPEND="sys-apps/util-linux[${MULTILIB_USEDEP}]
- sys-libs/zlib[${MULTILIB_USEDEP}]"
-RDEPEND="${DEPEND}"
-
-S="${WORKDIR}/${MY_P}"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-1.4.17-gcc11-missing-include.patch
-)
-
-multilib_src_configure() {
- local myconf=""
-
- if use cpu_flags_x86_sse2; then
- myconf="${myconf} --enable-sse=sse2"
- else
- if use cpu_flags_x86_sse; then
- myconf="${myconf} --enable-sse=sse"
- else
- myconf="${myconf} --disable-sse"
- fi
- fi
-
- myconf="${myconf} $(use_enable static-libs static)"
-
- use inmemory || myconf="${myconf} --disable-backend-inmemory"
- use remote || myconf="${myconf} --disable-backend-remote"
-
- myconf="${myconf} --enable-backend-glass --enable-backend-chert --program-suffix="
-
- ECONF_SOURCE=${S} econf ${myconf}
-}
-
-MULTILIB_WRAPPED_HEADERS=(
- /usr/include/xapian/postingsource.h
- /usr/include/xapian/attributes.h
- /usr/include/xapian/valuesetmatchdecider.h
- /usr/include/xapian/version.h
- /usr/include/xapian/version.h
- /usr/include/xapian/types.h
- /usr/include/xapian/positioniterator.h
- /usr/include/xapian/registry.h
-)
-
-multilib_src_test() {
- emake check VALGRIND=
-}
-
-multilib_src_install() {
- emake DESTDIR="${D}" install
-}
-
-multilib_src_install_all() {
- if use doc; then
- rm -rf "${ED}/usr/share/doc/xapian-core-${PV}" || die
- fi
-
- dodoc AUTHORS HACKING PLATFORMS README NEWS
-
- find "${ED}" -name "*.la" -type f -delete || die
-}
diff --git a/dev-libs/xapian/xapian-1.4.18-r1.ebuild b/dev-libs/xapian/xapian-1.4.18-r1.ebuild
deleted file mode 100644
index 2cb7f29c2d2a..000000000000
--- a/dev-libs/xapian/xapian-1.4.18-r1.ebuild
+++ /dev/null
@@ -1,75 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-
-inherit multilib-minimal
-
-MY_P="${PN}-core-${PV}"
-
-DESCRIPTION="Xapian Probabilistic Information Retrieval library"
-HOMEPAGE="https://www.xapian.org/"
-SRC_URI="https://oligarchy.co.uk/xapian/${PV}/${MY_P}.tar.xz"
-
-LICENSE="GPL-2"
-SLOT="0/30" # ABI version of libxapian.so
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-macos ~x64-solaris"
-IUSE="doc static-libs cpu_flags_x86_sse cpu_flags_x86_sse2 +inmemory +remote"
-
-DEPEND="sys-apps/util-linux[${MULTILIB_USEDEP}]
- sys-libs/zlib[${MULTILIB_USEDEP}]"
-RDEPEND="${DEPEND}"
-
-S="${WORKDIR}/${MY_P}"
-
-multilib_src_configure() {
- local myconf=""
-
- if use cpu_flags_x86_sse2; then
- myconf="${myconf} --enable-sse=sse2"
- else
- if use cpu_flags_x86_sse; then
- myconf="${myconf} --enable-sse=sse"
- else
- myconf="${myconf} --disable-sse"
- fi
- fi
-
- myconf="${myconf} $(use_enable static-libs static)"
-
- use inmemory || myconf="${myconf} --disable-backend-inmemory"
- use remote || myconf="${myconf} --disable-backend-remote"
-
- myconf="${myconf} --enable-backend-glass --enable-backend-chert --program-suffix="
-
- ECONF_SOURCE=${S} econf ${myconf}
-}
-
-MULTILIB_WRAPPED_HEADERS=(
- /usr/include/xapian/postingsource.h
- /usr/include/xapian/attributes.h
- /usr/include/xapian/valuesetmatchdecider.h
- /usr/include/xapian/version.h
- /usr/include/xapian/version.h
- /usr/include/xapian/types.h
- /usr/include/xapian/positioniterator.h
- /usr/include/xapian/registry.h
-)
-
-multilib_src_test() {
- emake check VALGRIND=
-}
-
-multilib_src_install() {
- emake DESTDIR="${D}" install
-}
-
-multilib_src_install_all() {
- if use doc; then
- rm -rf "${ED}/usr/share/doc/xapian-core-${PV}" || die
- fi
-
- dodoc AUTHORS HACKING PLATFORMS README NEWS
-
- find "${ED}" -name "*.la" -type f -delete || die
-}
diff --git a/dev-libs/xapian/xapian-1.4.19.ebuild b/dev-libs/xapian/xapian-1.4.19.ebuild
deleted file mode 100644
index 8e92d1d7fa29..000000000000
--- a/dev-libs/xapian/xapian-1.4.19.ebuild
+++ /dev/null
@@ -1,75 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="8"
-
-inherit multilib-minimal
-
-MY_P="${PN}-core-${PV}"
-
-DESCRIPTION="Xapian Probabilistic Information Retrieval library"
-HOMEPAGE="https://www.xapian.org/"
-SRC_URI="https://oligarchy.co.uk/xapian/${PV}/${MY_P}.tar.xz"
-
-LICENSE="GPL-2"
-SLOT="0/30" # ABI version of libxapian.so
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos ~x64-solaris"
-IUSE="doc static-libs cpu_flags_x86_sse cpu_flags_x86_sse2 +inmemory +remote"
-
-DEPEND="sys-apps/util-linux[${MULTILIB_USEDEP}]
- sys-libs/zlib[${MULTILIB_USEDEP}]"
-RDEPEND="${DEPEND}"
-
-S="${WORKDIR}/${MY_P}"
-
-multilib_src_configure() {
- local myconf=""
-
- if use cpu_flags_x86_sse2; then
- myconf="${myconf} --enable-sse=sse2"
- else
- if use cpu_flags_x86_sse; then
- myconf="${myconf} --enable-sse=sse"
- else
- myconf="${myconf} --disable-sse"
- fi
- fi
-
- myconf="${myconf} $(use_enable static-libs static)"
-
- use inmemory || myconf="${myconf} --disable-backend-inmemory"
- use remote || myconf="${myconf} --disable-backend-remote"
-
- myconf="${myconf} --enable-backend-glass --enable-backend-chert --program-suffix="
-
- ECONF_SOURCE=${S} econf ${myconf}
-}
-
-MULTILIB_WRAPPED_HEADERS=(
- /usr/include/xapian/postingsource.h
- /usr/include/xapian/attributes.h
- /usr/include/xapian/valuesetmatchdecider.h
- /usr/include/xapian/version.h
- /usr/include/xapian/version.h
- /usr/include/xapian/types.h
- /usr/include/xapian/positioniterator.h
- /usr/include/xapian/registry.h
-)
-
-multilib_src_test() {
- emake check VALGRIND=
-}
-
-multilib_src_install() {
- emake DESTDIR="${D}" install
-}
-
-multilib_src_install_all() {
- if use doc; then
- rm -rf "${ED}/usr/share/doc/xapian-core-${PV}" || die
- fi
-
- dodoc AUTHORS HACKING PLATFORMS README NEWS
-
- find "${ED}" -name "*.la" -type f -delete || die
-}
diff --git a/dev-libs/xapian/xapian-1.4.22.ebuild b/dev-libs/xapian/xapian-1.4.22.ebuild
new file mode 100644
index 000000000000..bd255b5fb495
--- /dev/null
+++ b/dev-libs/xapian/xapian-1.4.22.ebuild
@@ -0,0 +1,67 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+MY_P="${PN}-core-${PV}"
+
+DESCRIPTION="Xapian Probabilistic Information Retrieval library"
+HOMEPAGE="https://xapian.org/"
+SRC_URI="https://oligarchy.co.uk/xapian/${PV}/${MY_P}.tar.xz"
+S="${WORKDIR}/${MY_P}"
+
+LICENSE="GPL-2"
+SLOT="0/30" # ABI version of libxapian.so
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-macos ~x64-solaris"
+IUSE="doc static-libs cpu_flags_x86_sse cpu_flags_x86_sse2 +inmemory +remote"
+
+DEPEND="
+ sys-apps/util-linux
+ sys-libs/zlib
+"
+RDEPEND="${DEPEND}"
+
+DOCS="AUTHORS HACKING PLATFORMS README NEWS"
+
+src_configure() {
+ local -a myconf
+
+ if use cpu_flags_x86_sse2; then
+ myconf+=( --enable-sse=sse2 )
+ else
+ if use cpu_flags_x86_sse; then
+ myconf+=( --enable-sse=sse )
+ else
+ myconf+=( --disable-sse )
+ fi
+ fi
+
+ myconf+=( $(use_enable static-libs static) )
+
+ use inmemory || myconf+=( --disable-backend-inmemory )
+ use remote || myconf+=( --disable-backend-remote )
+
+ myconf+=(
+ --enable-backend-glass
+ --enable-backend-chert
+ --program-suffix=
+ )
+
+ econf "${myconf[@]}"
+}
+
+src_test() {
+ emake check VALGRIND=
+}
+
+src_install() {
+ emake DESTDIR="${D}" install
+
+ if ! use doc; then
+ rm -r "${ED}/usr/share/doc/${PF}" || die
+ fi
+
+ einstalldocs
+
+ find "${ED}" -name "*.la" -type f -delete || die
+}
diff --git a/dev-libs/xapian/xapian-1.4.23.ebuild b/dev-libs/xapian/xapian-1.4.23.ebuild
new file mode 100644
index 000000000000..40a621af6000
--- /dev/null
+++ b/dev-libs/xapian/xapian-1.4.23.ebuild
@@ -0,0 +1,67 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+MY_P="${PN}-core-${PV}"
+
+DESCRIPTION="Xapian Probabilistic Information Retrieval library"
+HOMEPAGE="https://xapian.org/"
+SRC_URI="https://oligarchy.co.uk/xapian/${PV}/${MY_P}.tar.xz"
+S="${WORKDIR}/${MY_P}"
+
+LICENSE="GPL-2"
+SLOT="0/30" # ABI version of libxapian.so
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos ~x64-solaris"
+IUSE="doc static-libs cpu_flags_x86_sse cpu_flags_x86_sse2 +inmemory +remote"
+
+DEPEND="
+ sys-apps/util-linux
+ sys-libs/zlib
+"
+RDEPEND="${DEPEND}"
+
+DOCS="AUTHORS HACKING PLATFORMS README NEWS"
+
+src_configure() {
+ local -a myconf
+
+ if use cpu_flags_x86_sse2; then
+ myconf+=( --enable-sse=sse2 )
+ else
+ if use cpu_flags_x86_sse; then
+ myconf+=( --enable-sse=sse )
+ else
+ myconf+=( --disable-sse )
+ fi
+ fi
+
+ myconf+=( $(use_enable static-libs static) )
+
+ use inmemory || myconf+=( --disable-backend-inmemory )
+ use remote || myconf+=( --disable-backend-remote )
+
+ myconf+=(
+ --enable-backend-glass
+ --enable-backend-chert
+ --program-suffix=
+ )
+
+ econf "${myconf[@]}"
+}
+
+src_test() {
+ emake check VALGRIND=
+}
+
+src_install() {
+ emake DESTDIR="${D}" install
+
+ if ! use doc; then
+ rm -r "${ED}/usr/share/doc/${PF}" || die
+ fi
+
+ einstalldocs
+
+ find "${ED}" -name "*.la" -type f -delete || die
+}
diff --git a/dev-libs/xapian/xapian-1.4.24.ebuild b/dev-libs/xapian/xapian-1.4.24.ebuild
new file mode 100644
index 000000000000..dc4d3f009870
--- /dev/null
+++ b/dev-libs/xapian/xapian-1.4.24.ebuild
@@ -0,0 +1,63 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit toolchain-funcs
+
+MY_P="${PN}-core-${PV}"
+DESCRIPTION="Xapian Probabilistic Information Retrieval library"
+HOMEPAGE="https://xapian.org/"
+SRC_URI="https://oligarchy.co.uk/xapian/${PV}/${MY_P}.tar.xz"
+S="${WORKDIR}/${MY_P}"
+
+LICENSE="GPL-2"
+SLOT="0/30" # ABI version of libxapian.so
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos ~x64-solaris"
+IUSE="cpu_flags_x86_sse cpu_flags_x86_sse2 debug static-libs"
+
+DEPEND="
+ sys-libs/zlib:=
+ !elibc_Darwin? ( !elibc_SunOS? ( sys-apps/util-linux ) )
+ elibc_SunOS? ( sys-libs/libuuid )
+"
+RDEPEND="${DEPEND}"
+
+DOCS=( AUTHORS HACKING PLATFORMS README NEWS )
+
+src_configure() {
+ tc-export_build_env BUILD_CC
+ local -x CC_FOR_BUILD="${BUILD_CC}"
+
+ # skip certain autoconf checks
+ local -x VALGRIND=
+ local -x EATMYDATA=
+
+ local -a myconf=(
+ --docdir="${EPREFIX}"/usr/share/doc/${PF}/html
+ --disable-werror
+ --enable-backend-chert
+ --enable-backend-glass
+ --enable-backend-inmemory
+ --enable-backend-remote
+ --program-suffix=
+ $(use_enable debug assertions)
+ $(use_enable debug log)
+ $(use_enable static-libs static)
+ )
+
+ if use cpu_flags_x86_sse2; then
+ myconf+=( --enable-sse=sse2 )
+ elif use cpu_flags_x86_sse; then
+ myconf+=( --enable-sse=sse )
+ else
+ myconf+=( --disable-sse )
+ fi
+
+ econf "${myconf[@]}"
+}
+
+src_install() {
+ default
+ find "${ED}" -name "*.la" -type f -delete || die
+}
diff --git a/dev-libs/xapian/xapian-1.4.25.ebuild b/dev-libs/xapian/xapian-1.4.25.ebuild
new file mode 100644
index 000000000000..25f4dd84a037
--- /dev/null
+++ b/dev-libs/xapian/xapian-1.4.25.ebuild
@@ -0,0 +1,67 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit toolchain-funcs
+
+MY_P="${PN}-core-${PV}"
+DESCRIPTION="Xapian Probabilistic Information Retrieval library"
+HOMEPAGE="https://xapian.org/"
+SRC_URI="https://oligarchy.co.uk/xapian/${PV}/${MY_P}.tar.xz"
+S="${WORKDIR}/${MY_P}"
+
+LICENSE="GPL-2"
+SLOT="0/30" # ABI version of libxapian.so
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos ~x64-solaris"
+IUSE="cpu_flags_x86_sse cpu_flags_x86_sse2 debug static-libs"
+
+DEPEND="
+ sys-libs/zlib:=
+ !elibc_Darwin? ( !elibc_SunOS? ( sys-apps/util-linux ) )
+ elibc_SunOS? ( sys-libs/libuuid )
+"
+RDEPEND="${DEPEND}"
+
+DOCS=( AUTHORS HACKING PLATFORMS README NEWS )
+
+src_configure() {
+ tc-export_build_env BUILD_CC
+ local -x CC_FOR_BUILD="${BUILD_CC}"
+
+ # skip certain autoconf checks
+ local -x VALGRIND=
+ local -x EATMYDATA=
+
+ local -a myconf=(
+ --docdir="${EPREFIX}"/usr/share/doc/${PF}/html
+ --disable-werror
+ --enable-backend-chert
+ --enable-backend-glass
+ --enable-backend-inmemory
+ --enable-backend-remote
+ --program-suffix=
+ $(use_enable debug assertions)
+ $(use_enable debug log)
+ $(use_enable static-libs static)
+ )
+
+ if use cpu_flags_x86_sse2; then
+ myconf+=( --enable-sse=sse2 )
+ elif use cpu_flags_x86_sse; then
+ myconf+=( --enable-sse=sse )
+ else
+ myconf+=( --disable-sse )
+ fi
+
+ econf "${myconf[@]}"
+}
+
+src_test() {
+ emake -Onone check
+}
+
+src_install() {
+ default
+ find "${ED}" -name "*.la" -type f -delete || die
+}
diff --git a/dev-libs/xbyak/metadata.xml b/dev-libs/xbyak/metadata.xml
index 1b142c23f268..afe279a31d30 100644
--- a/dev-libs/xbyak/metadata.xml
+++ b/dev-libs/xbyak/metadata.xml
@@ -1,7 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
-<maintainer type="person">
-<email>zx2c4@gentoo.org</email>
-</maintainer>
+ <maintainer type="person">
+ <email>zx2c4@gentoo.org</email>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">herumi/xbyak</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/dev-libs/xbyak/xbyak-5.73.ebuild b/dev-libs/xbyak/xbyak-5.73.ebuild
index 4cfd5772e810..85635a43d774 100644
--- a/dev-libs/xbyak/xbyak-5.73.ebuild
+++ b/dev-libs/xbyak/xbyak-5.73.ebuild
@@ -1,21 +1,17 @@
-# Copyright 1999-2018 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
DESCRIPTION="JIT assembler for x86(IA-32)/x64(AMD64, x86-64)"
HOMEPAGE="https://github.com/herumi/xbyak"
-SRC_URI="https://github.com/herumi/xbyak/archive/v5.73.tar.gz -> ${P}.tar.gz"
+SRC_URI="https://github.com/herumi/xbyak/archive/v${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="BSD"
SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE=""
-DEPEND=""
-RDEPEND="${DEPEND}"
-BDEPEND=""
-
src_compile() { :; }
src_install() {
diff --git a/dev-libs/xerces-c/Manifest b/dev-libs/xerces-c/Manifest
index b6d8b2b53731..7825dbd820ee 100644
--- a/dev-libs/xerces-c/Manifest
+++ b/dev-libs/xerces-c/Manifest
@@ -1 +1 @@
-DIST xerces-c-3.2.3.tar.gz 7120270 BLAKE2B d622621657f33ada75a9ef330e77772b8f9cff717d8efc06f2a1fffea77360596e5192b48a6a015403a1045aa2492c626ba05f1de15eb5b997a80ca19b032db8 SHA512 206c5c31510224b8f6963b051f27968e4fe70374a0adb2c2990ac1f865b3bac41f63e6bfb7279faa21477f8878a3b9671ba70726fc75a84e51f037ef158639ad
+DIST xerces-c-3.2.4.tar.xz 4260560 BLAKE2B 5d9fed1e9a461f8b348f3259216c5181bd03d2b5d8790cad88621d601065d0d79f8766ae70ed0aa7afe05005e2bcaf37a88da25b17f0e028bf074a31cea5fe71 SHA512 4d58d25b59b4528ad1f2d60681ddd6d2a4dba945613cee9ce978605f006da03703ea85a1bd89f781eeb3ad4dbdadf485a310f29d4c07036b0322f0755f87fddf
diff --git a/dev-libs/xerces-c/files/xerces-c-3.2.2-fix-XERCESC-2163.patch b/dev-libs/xerces-c/files/xerces-c-3.2.2-fix-XERCESC-2163.patch
index 57dde7220985..50db010bf5ee 100644
--- a/dev-libs/xerces-c/files/xerces-c-3.2.2-fix-XERCESC-2163.patch
+++ b/dev-libs/xerces-c/files/xerces-c-3.2.2-fix-XERCESC-2163.patch
@@ -1,3 +1,10 @@
+https://bugs.gentoo.org/673548
+https://bugs.gentoo.org/738140
+https://bugs.gentoo.org/913045
+
+https://issues.apache.org/jira/browse/XERCESC-2163
+https://github.com/apache/xerces-c/pull/7
+
From db7a8b0cd2a163de1e3ef8c950cf9e708b0b5f98 Mon Sep 17 00:00:00 2001
From: Craig Andrews <candrews@integralblue.com>
Date: Wed, 2 Jan 2019 15:01:21 -0500
@@ -5,12 +12,6 @@ Subject: [PATCH] build: Install XercesMessages_en_US.cat to
/usr/share/xerces-c/msg
Fixes XERCESC-2163
----
- src/CMakeLists.txt | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
-index c29aa257b..6f1929d99 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -1198,7 +1198,7 @@ if(XERCES_USE_MSGLOADER_ICONV)
diff --git a/dev-libs/xerces-c/files/xerces-c-3.2.4-strict-aliasing.patch b/dev-libs/xerces-c/files/xerces-c-3.2.4-strict-aliasing.patch
new file mode 100644
index 000000000000..18483070e736
--- /dev/null
+++ b/dev-libs/xerces-c/files/xerces-c-3.2.4-strict-aliasing.patch
@@ -0,0 +1,13 @@
+https://bugs.gentoo.org/856100
+--- a/cmake/XercesWarnings.cmake
++++ b/cmake/XercesWarnings.cmake
+@@ -50,8 +50,7 @@ if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU" OR
+ -Wswitch-default
+ -Wunused-variable
+ -Wwrite-strings
+- -Wno-variadic-macros
+- -fstrict-aliasing)
++ -Wno-variadic-macros)
+ if(extra-warnings)
+ list(APPEND test_flags
+ -Wfloat-equal
diff --git a/dev-libs/xerces-c/xerces-c-3.2.3-r2.ebuild b/dev-libs/xerces-c/xerces-c-3.2.3-r2.ebuild
deleted file mode 100644
index c72408418f20..000000000000
--- a/dev-libs/xerces-c/xerces-c-3.2.3-r2.ebuild
+++ /dev/null
@@ -1,117 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit cmake prefix
-
-DESCRIPTION="A validating XML parser written in a portable subset of C++"
-HOMEPAGE="https://xerces.apache.org/xerces-c/"
-
-if [[ ${PV} == *9999 ]] ; then
- ESVN_REPO_URI="https://svn.apache.org/repos/asf/xerces/c/trunk"
- inherit subversion
-else
- SRC_URI="mirror://apache/xerces/c/3/sources/${P}.tar.gz"
- KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ppc ppc64 ~riscv sparc x86 ~amd64-linux ~x86-linux ~x64-macos"
-fi
-
-LICENSE="Apache-2.0"
-SLOT="0"
-IUSE="cpu_flags_x86_sse2 curl doc examples iconv icu static-libs test threads"
-
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- curl? ( net-misc/curl )
- icu? ( dev-libs/icu:0= )
- virtual/libiconv"
-DEPEND="${RDEPEND}"
-BDEPEND="
- doc? ( app-doc/doxygen )
- test? ( dev-lang/perl )"
-
-DOCS=( CREDITS KEYS NOTICE README )
-
-PATCHES=( "${FILESDIR}"/${PN}-3.2.2-fix-XERCESC-2163.patch )
-
-pkg_setup() {
- export ICUROOT="${EPREFIX}/usr"
-
- if use iconv && use icu; then
- ewarn "This package can use iconv or icu for loading messages"
- ewarn "and transcoding, but not both. ICU takes precedence."
- fi
-}
-
-src_configure() {
- # 'cfurl' is only available on OSX and 'socket' isn't supposed to work.
- # But the docs aren't clear about it, so we would need some testing...
- local netaccessor
- if use curl; then
- netaccessor="curl"
- elif use elibc_Darwin; then
- netaccessor="cfurl"
- else
- netaccessor="socket"
- fi
-
- local msgloader
- if use icu; then
- msgloader="icu"
- elif use iconv; then
- msgloader="iconv"
- else
- msgloader="inmemory"
- fi
-
- local transcoder
- if use icu; then
- transcoder="icu"
- elif use elibc_Darwin; then
- transcoder="macosunicodeconverter"
- else
- transcoder="gnuiconv"
- fi
- # for interix maybe: transcoder="windows"
-
- local mycmakeargs=(
- -DCMAKE_INSTALL_DOCDIR="${EPREFIX}/usr/share/doc/${PF}"
- -Dnetwork-accessor="${netaccessor}"
- -Dmessage-loader="${msgloader}"
- -Dtranscoder="${transcoder}"
- -Dthreads:BOOL="$(usex threads)"
- -Dsse2:BOOL="$(usex cpu_flags_x86_sse2)"
- )
-
- cmake_src_configure
-}
-
-src_compile() {
- cmake_src_compile
-
- use doc && cmake_build doc-style createapidocs doc-xml
-}
-
-src_install() {
- cmake_src_install
-
- # package provides .pc files
- find "${D}" -name '*.la' -delete || die
-
- if use examples; then
- # clean out object files, executables, Makefiles
- # and the like before installing examples
- find samples/ \( -type f -executable -o -iname 'runConfigure' -o -iname '*.o' \
- -o -iname '.libs' -o -iname 'Makefile*' \) -exec rm -rf '{}' + || die
- docinto examples
- dodoc -r samples/.
- docompress -x /usr/share/doc/${PF}/examples
- fi
-
- # To make sure an appropriate NLS msg file is around when using
- # the iconv msgloader ICU has the messages compiled in.
- if use iconv && ! use icu; then
- doenvd "$(prefixify_ro "${FILESDIR}/50xerces-c")"
- fi
-}
diff --git a/dev-libs/xerces-c/xerces-c-3.2.4-r2.ebuild b/dev-libs/xerces-c/xerces-c-3.2.4-r2.ebuild
new file mode 100644
index 000000000000..7017f87e470a
--- /dev/null
+++ b/dev-libs/xerces-c/xerces-c-3.2.4-r2.ebuild
@@ -0,0 +1,116 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake prefix
+
+DESCRIPTION="A validating XML parser written in a portable subset of C++"
+HOMEPAGE="https://xerces.apache.org/xerces-c/"
+
+if [[ ${PV} == *9999 ]] ; then
+ ESVN_REPO_URI="https://svn.apache.org/repos/asf/xerces/c/trunk"
+ inherit subversion
+else
+ SRC_URI="mirror://apache/xerces/c/3/sources/${P}.tar.xz"
+ KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~x64-macos"
+fi
+
+LICENSE="Apache-2.0"
+SLOT="0"
+IUSE="cpu_flags_x86_sse2 curl doc examples iconv icu static-libs test threads"
+
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ curl? ( net-misc/curl )
+ icu? ( dev-libs/icu:0= )
+ virtual/libiconv"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ doc? ( app-text/doxygen )
+ test? ( dev-lang/perl )"
+
+DOCS=( CREDITS KEYS NOTICE README )
+
+PATCHES=( "${FILESDIR}"/${PN}-3.2.2-fix-XERCESC-2163.patch )
+
+pkg_setup() {
+ export ICUROOT="${EPREFIX}/usr"
+
+ if use iconv && use icu; then
+ ewarn "This package can use iconv or icu for loading messages"
+ ewarn "and transcoding, but not both. ICU takes precedence."
+ fi
+}
+
+src_configure() {
+ # 'cfurl' is only available on OSX and 'socket' isn't supposed to work.
+ # But the docs aren't clear about it, so we would need some testing...
+ local netaccessor
+ if use curl; then
+ netaccessor="curl"
+ elif use elibc_Darwin; then
+ netaccessor="cfurl"
+ else
+ netaccessor="socket"
+ fi
+
+ local msgloader
+ if use icu; then
+ msgloader="icu"
+ elif use iconv; then
+ msgloader="iconv"
+ else
+ msgloader="inmemory"
+ fi
+
+ local transcoder
+ if use icu; then
+ transcoder="icu"
+ elif use elibc_Darwin; then
+ transcoder="macosunicodeconverter"
+ else
+ transcoder="gnuiconv"
+ fi
+
+ local mycmakeargs=(
+ -DCMAKE_INSTALL_DOCDIR="${EPREFIX}/usr/share/doc/${PF}"
+ -Dnetwork-accessor="${netaccessor}"
+ -Dmessage-loader="${msgloader}"
+ -Dtranscoder="${transcoder}"
+ -Dthreads:BOOL="$(usex threads)"
+ -Dsse2:BOOL="$(usex cpu_flags_x86_sse2)"
+ )
+
+ cmake_src_configure
+}
+
+src_compile() {
+ cmake_src_compile
+
+ use doc && cmake_build doc-style createapidocs doc-xml
+}
+
+src_install() {
+ cmake_src_install
+
+ # package provides .pc files
+ find "${D}" -name '*.la' -delete || die
+
+ if use examples; then
+ # clean out object files, executables, Makefiles
+ # and the like before installing examples
+ find samples/ \( -type f -executable -o -iname 'runConfigure' -o -iname '*.o' \
+ -o -iname '.libs' -o -iname 'Makefile*' \) -exec rm -rf '{}' + || die
+ docinto examples
+ dodoc -r samples/.
+ docompress -x /usr/share/doc/${PF}/examples
+ fi
+
+ # To make sure an appropriate NLS msg file is around when using
+ # the iconv msgloader ICU has the messages compiled in.
+ if use iconv && ! use icu; then
+ doenvd "$(prefixify_ro "${FILESDIR}/50xerces-c")"
+ fi
+}
diff --git a/dev-libs/xerces-c/xerces-c-3.2.4-r3.ebuild b/dev-libs/xerces-c/xerces-c-3.2.4-r3.ebuild
new file mode 100644
index 000000000000..4e7bce5e9e18
--- /dev/null
+++ b/dev-libs/xerces-c/xerces-c-3.2.4-r3.ebuild
@@ -0,0 +1,123 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake flag-o-matic prefix
+
+DESCRIPTION="Validating XML parser written in a portable subset of C++"
+HOMEPAGE="https://xerces.apache.org/xerces-c/"
+
+if [[ ${PV} == *9999 ]] ; then
+ ESVN_REPO_URI="https://svn.apache.org/repos/asf/xerces/c/trunk"
+ inherit subversion
+else
+ SRC_URI="mirror://apache/xerces/c/3/sources/${P}.tar.xz"
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos"
+fi
+
+LICENSE="Apache-2.0"
+SLOT="0"
+IUSE="cpu_flags_x86_sse2 curl doc examples iconv icu static-libs test threads"
+
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ curl? ( net-misc/curl )
+ icu? ( dev-libs/icu:0= )
+ virtual/libiconv"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ doc? ( app-text/doxygen )
+ test? ( dev-lang/perl )"
+
+DOCS=( CREDITS KEYS NOTICE README )
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-3.2.2-fix-XERCESC-2163.patch
+ "${FILESDIR}"/${PN}-3.2.4-strict-aliasing.patch
+)
+
+pkg_setup() {
+ export ICUROOT="${EPREFIX}/usr"
+
+ if use iconv && use icu; then
+ ewarn "This package can use iconv or icu for loading messages"
+ ewarn "and transcoding, but not both. ICU takes precedence."
+ fi
+}
+
+src_configure() {
+ # bug #856100
+ filter-lto
+ append-flags -fno-strict-aliasing
+
+ # 'cfurl' is only available on OSX and 'socket' isn't supposed to work.
+ # But the docs aren't clear about it, so we would need some testing...
+ local netaccessor
+ if use curl; then
+ netaccessor="curl"
+ elif use elibc_Darwin; then
+ netaccessor="cfurl"
+ else
+ netaccessor="socket"
+ fi
+
+ local msgloader
+ if use icu; then
+ msgloader="icu"
+ elif use iconv; then
+ msgloader="iconv"
+ else
+ msgloader="inmemory"
+ fi
+
+ local transcoder
+ if use icu; then
+ transcoder="icu"
+ elif use elibc_Darwin; then
+ transcoder="macosunicodeconverter"
+ else
+ transcoder="gnuiconv"
+ fi
+
+ local mycmakeargs=(
+ -DCMAKE_INSTALL_DOCDIR="${EPREFIX}/usr/share/doc/${PF}"
+ -Dnetwork-accessor="${netaccessor}"
+ -Dmessage-loader="${msgloader}"
+ -Dtranscoder="${transcoder}"
+ -Dthreads:BOOL="$(usex threads)"
+ -Dsse2:BOOL="$(usex cpu_flags_x86_sse2)"
+ )
+
+ cmake_src_configure
+}
+
+src_compile() {
+ cmake_src_compile
+
+ use doc && cmake_build doc-style createapidocs doc-xml
+}
+
+src_install() {
+ cmake_src_install
+
+ # package provides .pc files
+ find "${D}" -name '*.la' -delete || die
+
+ if use examples; then
+ # clean out object files, executables, Makefiles
+ # and the like before installing examples
+ find samples/ \( -type f -executable -o -iname 'runConfigure' -o -iname '*.o' \
+ -o -iname '.libs' -o -iname 'Makefile*' \) -exec rm -rf '{}' + || die
+ docinto examples
+ dodoc -r samples/.
+ docompress -x /usr/share/doc/${PF}/examples
+ fi
+
+ # To make sure an appropriate NLS msg file is around when using
+ # the iconv msgloader ICU has the messages compiled in.
+ if use iconv && ! use icu; then
+ doenvd "$(prefixify_ro "${FILESDIR}/50xerces-c")"
+ fi
+}
diff --git a/dev-libs/xerces-c/xerces-c-9999.ebuild b/dev-libs/xerces-c/xerces-c-9999.ebuild
index 880626707f29..4e7bce5e9e18 100644
--- a/dev-libs/xerces-c/xerces-c-9999.ebuild
+++ b/dev-libs/xerces-c/xerces-c-9999.ebuild
@@ -1,19 +1,19 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
-inherit cmake prefix
+inherit cmake flag-o-matic prefix
-DESCRIPTION="A validating XML parser written in a portable subset of C++"
+DESCRIPTION="Validating XML parser written in a portable subset of C++"
HOMEPAGE="https://xerces.apache.org/xerces-c/"
if [[ ${PV} == *9999 ]] ; then
ESVN_REPO_URI="https://svn.apache.org/repos/asf/xerces/c/trunk"
inherit subversion
else
- SRC_URI="mirror://apache/xerces/c/3/sources/${P}.tar.gz"
- KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos"
+ SRC_URI="mirror://apache/xerces/c/3/sources/${P}.tar.xz"
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos"
fi
LICENSE="Apache-2.0"
@@ -28,11 +28,16 @@ RDEPEND="
virtual/libiconv"
DEPEND="${RDEPEND}"
BDEPEND="
- doc? ( app-doc/doxygen )
+ doc? ( app-text/doxygen )
test? ( dev-lang/perl )"
DOCS=( CREDITS KEYS NOTICE README )
+PATCHES=(
+ "${FILESDIR}"/${PN}-3.2.2-fix-XERCESC-2163.patch
+ "${FILESDIR}"/${PN}-3.2.4-strict-aliasing.patch
+)
+
pkg_setup() {
export ICUROOT="${EPREFIX}/usr"
@@ -43,6 +48,10 @@ pkg_setup() {
}
src_configure() {
+ # bug #856100
+ filter-lto
+ append-flags -fno-strict-aliasing
+
# 'cfurl' is only available on OSX and 'socket' isn't supposed to work.
# But the docs aren't clear about it, so we would need some testing...
local netaccessor
@@ -71,7 +80,6 @@ src_configure() {
else
transcoder="gnuiconv"
fi
- # for interix maybe: transcoder="windows"
local mycmakeargs=(
-DCMAKE_INSTALL_DOCDIR="${EPREFIX}/usr/share/doc/${PF}"
diff --git a/dev-libs/xmlrpc-c/Manifest b/dev-libs/xmlrpc-c/Manifest
index 689a05fcafb2..0b772b778565 100644
--- a/dev-libs/xmlrpc-c/Manifest
+++ b/dev-libs/xmlrpc-c/Manifest
@@ -1 +1,2 @@
-DIST xmlrpc-c-1.51.06.tgz 933161 BLAKE2B 8023444e14e7e41f5433cebeb0fcb7a7323dd734f658155e117d3547b4d61ef81c189395662bf68074dcf1ec5c47ee550cd18773ce8bf0bd53cb0a1764cce945 SHA512 2927fc8c01d42b6f838d8b0c839f09a7dd0d1ddc5a3d7b36c9d479f1c7bf7fdf14923f640883f98ba66067eda0f5379737bf3a5bc9d4b9abe1a7eff7d7def066
+DIST xmlrpc-c-1.54.05.tgz 933228 BLAKE2B 50d73fe22454f04ffebf11d4b88986eaac571d107abce4e04244ad0b74469fc5233178967e3dd832a8525514912e4f835fa1ce13c439caf918a2b2d0c05021a0 SHA512 81bf8f398e9cb73b421907d8e304b9a6dc8da931f573f7296457486ade432f4a00a94b6850391690f7b229928f785522e5852db8aca68cb462c71d139e4f27b1
+DIST xmlrpc-c-1.54.06.tgz 933199 BLAKE2B 1286323b59aa4d77fe2f8b04fef18d9a448d29a7fa23aad143418e62c92ac6a5156bb61ee58e0df4b0667e73a9170663b02b42fac94b38df71fc789d13e929e0 SHA512 0e8c920ccf04c78947bc66f7210b62c153ba185183c181461584772885690a3bb09dcf63d69c5b0f1f76a96f162a2a0eba6268e7210dda42561f59bec8008733
diff --git a/dev-libs/xmlrpc-c/files/xmlrpc-c-1.51.06-pkg-config-libxml2.patch b/dev-libs/xmlrpc-c/files/xmlrpc-c-1.51.06-pkg-config-libxml2.patch
new file mode 100644
index 000000000000..df8d992c62d8
--- /dev/null
+++ b/dev-libs/xmlrpc-c/files/xmlrpc-c-1.51.06-pkg-config-libxml2.patch
@@ -0,0 +1,225 @@
+https://sourceforge.net/p/xmlrpc-c/code/3151
+https://bugs.gentoo.org/870253
+--- a/common.mk
++++ b/common.mk
+@@ -281,7 +281,7 @@
+ -L$(BLDDIR)/lib/expat/xmlparse -lxmlrpc_xmlparse \
+ -L$(BLDDIR)/lib/expat/xmltok -lxmlrpc_xmltok
+ else
+- LDLIBS_XML = $(shell xml2-config --libs)
++ LDLIBS_XML = $(shell ${PKG_CONFIG} libxml-2.0 --libs)
+ endif
+
+ # LIBXMLRPC_UTIL_LIBDEP is the string of linker options you need on the link
+--- a/configure
++++ b/configure
+@@ -628,9 +628,8 @@
+ CC_WARN_FLAGS
+ CXX_COMPILER_GNU
+ C_COMPILER_GNU
++HAVE_LIBWWW_SSL_DEFINE
+ ENABLE_LIBXML2_BACKEND
+-have_xml2_config
+-HAVE_LIBWWW_SSL_DEFINE
+ HAVE_ABYSS_OPENSSL_DEFINE
+ MUST_BUILD_ABYSS_OPENSSL
+ HAVE_OPENSSL
+@@ -781,8 +780,8 @@
+ enable_cplusplus
+ enable_abyss_threads
+ enable_abyss_openssl
++enable_libxml2_backend
+ with_libwww_ssl
+-enable_libxml2_backend
+ '
+ ac_precious_vars='build_alias
+ host_alias
+@@ -6053,62 +6053,39 @@
+ fi
+
+
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for Libxml2 library" >&5
++$as_echo_n "checking for Libxml2 library... " >&6; }
++
++if ${PKG_CONFIG} libxml-2.0; then
++ HAVE_LIBXML2=yes
++else
++ HAVE_LIBXML2=no
++fi
++
++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $HAVE_LIBXML2" >&5
++$as_echo "$HAVE_LIBXML2" >&6; }
++
++# Check whether --enable-libxml2-backend was given.
++if test "${enable_libxml2_backend+set}" = set; then :
++ enableval=$enable_libxml2_backend;
++else
++ enable_libxml2_backend=no
++fi
++
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build the libxml2 backend" >&5
++$as_echo_n "checking whether to build the libxml2 backend... " >&6; }
++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_libxml2_backend" >&5
++$as_echo "$enable_libxml2_backend" >&6; }
++
++if test $enable_libxml2_backend = yes; then
++ if test $HAVE_LIBXML2 = no; then
++ as_fn_error $? "You specified --enable-libxml2_backend, but don't appear to have libxml2 installed (no pkg-config file for it in your pkg-config search path), so we cannot not build for libxml2" "$LINENO" 5
++ fi
++fi
++
++ENABLE_LIBXML2_BACKEND=$enable_libxml2_backend
++
++
+-# Check whether --enable-libxml2-backend was given.
+-if test "${enable_libxml2_backend+set}" = set; then :
+- enableval=$enable_libxml2_backend;
+-else
+- enable_libxml2_backend=no
+-fi
+-
+-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build the libxml2 backend" >&5
+-$as_echo_n "checking whether to build the libxml2 backend... " >&6; }
+-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_libxml2_backend" >&5
+-$as_echo "$enable_libxml2_backend" >&6; }
+-
+-if test $enable_libxml2_backend = yes; then
+- # Extract the first word of "xml2-config", so it can be a program name with args.
+-set dummy xml2-config; ac_word=$2
+-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+-$as_echo_n "checking for $ac_word... " >&6; }
+-if ${ac_cv_prog_have_xml2_config+:} false; then :
+- $as_echo_n "(cached) " >&6
+-else
+- if test -n "$have_xml2_config"; then
+- ac_cv_prog_have_xml2_config="$have_xml2_config" # Let the user override the test.
+-else
+-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+-for as_dir in $PATH
+-do
+- IFS=$as_save_IFS
+- test -z "$as_dir" && as_dir=.
+- for ac_exec_ext in '' $ac_executable_extensions; do
+- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+- ac_cv_prog_have_xml2_config="yes"
+- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+- break 2
+- fi
+-done
+- done
+-IFS=$as_save_IFS
+-
+- test -z "$ac_cv_prog_have_xml2_config" && ac_cv_prog_have_xml2_config="no"
+-fi
+-fi
+-have_xml2_config=$ac_cv_prog_have_xml2_config
+-if test -n "$have_xml2_config"; then
+- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $have_xml2_config" >&5
+-$as_echo "$have_xml2_config" >&6; }
+-else
+- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+-$as_echo "no" >&6; }
+-fi
+-
+-
+- if test $have_xml2_config = no; then
+- as_fn_error $? "You specified --enable-libxml2_backend, but don't appear to have libxml2 installed (no working xml2-config in your command search path), so we cannot not build for libxml2" "$LINENO" 5
+- fi
+-fi
+-ENABLE_LIBXML2_BACKEND=$enable_libxml2_backend
+
+
+ C_COMPILER_GNU=$ac_cv_c_compiler_gnu
+--- a/configure.in
++++ b/configure.in
+@@ -742,6 +742,36 @@
+
+
+ dnl =======================================================================
++dnl Finding Libxml2
++dnl =======================================================================
++
++AC_MSG_CHECKING(for Libxml2 library)
++
++if ${PKG_CONFIG} libxml-2.0; then
++ HAVE_LIBXML2=yes
++else
++ HAVE_LIBXML2=no
++fi
++
++AC_MSG_RESULT($HAVE_LIBXML2)
++
++AC_ARG_ENABLE(libxml2-backend,
++ [ --enable-libxml2-backend Use libxml2 instead of built-in expat], ,
++enable_libxml2_backend=no)
++AC_MSG_CHECKING(whether to build the libxml2 backend)
++AC_MSG_RESULT($enable_libxml2_backend)
++
++if test $enable_libxml2_backend = yes; then
++ if test $HAVE_LIBXML2 = no; then
++ AC_MSG_ERROR([You specified --enable-libxml2_backend, but don't appear to have libxml2 installed (no pkg-config file for it in your pkg-config search path), so we cannot not build for libxml2])
++ fi
++fi
++
++ENABLE_LIBXML2_BACKEND=$enable_libxml2_backend
++AC_SUBST(ENABLE_LIBXML2_BACKEND)
++
++
++dnl =======================================================================
+ dnl Checks for build options.
+ dnl =======================================================================
+
+@@ -763,22 +793,6 @@
+ fi
+ AC_SUBST(HAVE_LIBWWW_SSL_DEFINE)
+
+-dnl Check to see if we should build the libxml2 backend.
+-AC_ARG_ENABLE(libxml2-backend,
+- [ --enable-libxml2-backend Use libxml2 instead of built-in expat], ,
+-enable_libxml2_backend=no)
+-AC_MSG_CHECKING(whether to build the libxml2 backend)
+-AC_MSG_RESULT($enable_libxml2_backend)
+-
+-if test $enable_libxml2_backend = yes; then
+- AC_CHECK_PROG(have_xml2_config, xml2-config, yes, no)
+- if test $have_xml2_config = no; then
+- AC_MSG_ERROR([You specified --enable-libxml2_backend, but don't appear to have libxml2 installed (no working xml2-config in your command search path), so we cannot not build for libxml2])
+- fi
+-fi
+-ENABLE_LIBXML2_BACKEND=$enable_libxml2_backend
+-AC_SUBST(ENABLE_LIBXML2_BACKEND)
+-
+ dnl =======================================================================
+ dnl Compiler information
+ dnl =======================================================================
+--- a/src/Makefile
++++ b/src/Makefile
+@@ -68,7 +68,7 @@
+
+ ifeq ($(ENABLE_LIBXML2_BACKEND),yes)
+ XMLRPC_XML_PARSER = xmlrpc_libxml2
+- XML_PARSER_LIBDEP = $(shell xml2-config --libs)
++ XML_PARSER_LIBDEP = $(shell ${PKG_CONFIG} libxml-2.0 --libs)
+ XML_PARSER_LIBDEP_DEP =
+ XML_PKGCONFIG_REQ = libxml-2.0
+ else
+@@ -276,7 +276,7 @@
+ -Isrcdir/lib/util/include \
+
+ ifeq ($(ENABLE_LIBXML2_BACKEND),yes)
+- LIBXML_INCLUDES = $(shell xml2-config --cflags)
++ LIBXML_INCLUDES = $(shell ${PKG_CONFIG} libxml-2.0 --cflags)
+ else
+ LIBXML_INCLUDES = -Isrcdir/lib/expat/xmlparse
+ endif
+--- a/src/cpp/Makefile
++++ b/src/cpp/Makefile
+@@ -46,7 +46,7 @@
+ endif
+
+ ifeq ($(ENABLE_LIBXML2_BACKEND),yes)
+- XML_PARSER_LIBDEP = $(shell xml2-config --libs)
++ XML_PARSER_LIBDEP = $(shell ${PKG_CONFIG} libxml-2.0 --libs)
+ else
+ XML_PARSER_LIBDEP = \
+ -L$(BLDDIR)/lib/expat/xmlparse -lxmlrpc_xmlparse \
diff --git a/dev-libs/xmlrpc-c/files/xmlrpc-c-1.51.06-pkg-config-openssl.patch b/dev-libs/xmlrpc-c/files/xmlrpc-c-1.51.06-pkg-config-openssl.patch
new file mode 100644
index 000000000000..b39ae428f29b
--- /dev/null
+++ b/dev-libs/xmlrpc-c/files/xmlrpc-c-1.51.06-pkg-config-openssl.patch
@@ -0,0 +1,46 @@
+https://sourceforge.net/p/xmlrpc-c/code/3152
+https://bugs.gentoo.org/870253
+--- a/configure
++++ b/configure
+@@ -5974,11 +5974,11 @@
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for OpenSSL library" >&5
+ $as_echo_n "checking for OpenSSL library... " >&6; }
+
+-if pkg-config openssl; then
+- HAVE_OPENSSL=yes
+- OPENSSL_LDADD=$(pkg-config openssl --libs)
+-
+- OPENSSL_CFLAGS=$(pkg-config openssl --cflags)
++if ${PKG_CONFIG} openssl; then
++ HAVE_OPENSSL=yes
++ OPENSSL_LDADD=$(${PKG_CONFIG} openssl --libs)
++
++ OPENSSL_CFLAGS=$(${PKG_CONFIG} openssl --cflags)
+
+ else
+ HAVE_OPENSSL=no
+
+--- a/config.mk.in
++++ b/config.mk.in
+@@ -59,6 +59,8 @@
+ C_COMPILER_GNU = @C_COMPILER_GNU@
+ CXX_COMPILER_GNU = @CXX_COMPILER_GNU@
+
++PKG_CONFIG ?= pkg-config
++
+ # Stuff 'configure' figured out via AC_CANONICAL_HOST macro in configure.in
+ # and config.guess program and 'configure' command options:
+
+--- a/lib/openssl/Makefile
++++ b/lib/openssl/Makefile
+@@ -25,8 +25,8 @@
+
+ MAJ := 1
+
+-OPENSSL_INCLUDES := $(shell pkg-config openssl --cflags)
+-OPENSSL_LIBS := $(shell pkg-config openssl --libs)
++OPENSSL_INCLUDES := $(shell $(PKG_CONFIG) openssl --cflags)
++OPENSSL_LIBS := $(shell $(PKG_CONFIG) openssl --libs)
+
+ include $(SRCDIR)/common.mk
+
diff --git a/dev-libs/xmlrpc-c/files/xmlrpc-c-1.54.06-wformat-security.patch b/dev-libs/xmlrpc-c/files/xmlrpc-c-1.54.06-wformat-security.patch
new file mode 100644
index 000000000000..462adcd06375
--- /dev/null
+++ b/dev-libs/xmlrpc-c/files/xmlrpc-c-1.54.06-wformat-security.patch
@@ -0,0 +1,29 @@
+https://src.fedoraproject.org/rpms/xmlrpc-c/raw/rawhide/f/0001-xmlrpc_server_abyss-use-va_args-properly.patch
+
+From d31c2ffbf5181053330fa32e4f03c47283bd1448 Mon Sep 17 00:00:00 2001
+From: Igor Gnatenko <i.gnatenko.brain@gmail.com>
+Date: Sat, 17 Dec 2016 10:28:31 +0100
+Subject: [PATCH 1/3] xmlrpc_server_abyss: use va_args properly
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+../src/xmlrpc_server_abyss.c: In function ‘createServer’:
+../src/xmlrpc_server_abyss.c:783:13: error: format not a string literal and no format arguments [-Werror=format-security]
+ xmlrpc_faultf(envP, error);
+ ^~~~~~~~~~~~~
+
+Signed-off-by: Igor Gnatenko <i.gnatenko.brain@gmail.com>
+--- a/src/xmlrpc_server_abyss.c
++++ b/src/xmlrpc_server_abyss.c
+@@ -780,7 +780,7 @@ createServer(xmlrpc_env * const envP,
+ ServerInit2(abyssServerP, &error);
+
+ if (error) {
+- xmlrpc_faultf(envP, error);
++ xmlrpc_faultf(envP, "%s", error);
+ xmlrpc_strfree(error);
+ }
+ }
+--
+2.13.1
diff --git a/dev-libs/xmlrpc-c/metadata.xml b/dev-libs/xmlrpc-c/metadata.xml
index 823aab3abfd7..4fb5b568d943 100644
--- a/dev-libs/xmlrpc-c/metadata.xml
+++ b/dev-libs/xmlrpc-c/metadata.xml
@@ -7,7 +7,7 @@
</maintainer>
<use>
<flag name="abyss">Build the Abyss mini web-server.</flag>
- <flag name="libxml2">Use dev-libs/libxml2 to parse XML instead of the internal expat library.</flag>
+ <flag name="libxml2">Use <pkg>dev-libs/libxml2</pkg> to parse XML instead of the internal expat library.</flag>
<flag name="threads">Controls whether to build the Abyss web-server with pthreads or fork 'threading'.</flag>
</use>
<upstream>
diff --git a/dev-libs/xmlrpc-c/xmlrpc-c-1.51.06-r2.ebuild b/dev-libs/xmlrpc-c/xmlrpc-c-1.51.06-r2.ebuild
deleted file mode 100644
index 29b329aaa875..000000000000
--- a/dev-libs/xmlrpc-c/xmlrpc-c-1.51.06-r2.ebuild
+++ /dev/null
@@ -1,74 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit multilib-minimal
-
-# Upstream maintains 3 release channels: http://xmlrpc-c.sourceforge.net/release.html
-# 1. Only the "Super Stable" series is released as a tarball
-# 2. SVN tagging of releases seems spotty: http://svn.code.sf.net/p/xmlrpc-c/code/release_number/
-# Because of this, we are following the "Super Stable" release channel
-
-DESCRIPTION="A lightweigt RPC library based on XML and HTTP"
-HOMEPAGE="http://xmlrpc-c.sourceforge.net/"
-SRC_URI="mirror://sourceforge/${PN}/${P}.tgz"
-
-LICENSE="BSD"
-SLOT="0/4.51"
-KEYWORDS="~alpha amd64 arm ~arm64 ~hppa ~ia64 ~mips ppc ppc64 ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~sparc-solaris ~x64-solaris ~x86-solaris"
-
-IUSE="abyss +cgi +curl +cxx +libxml2 threads test"
-
-RESTRICT="!test? ( test )"
-
-REQUIRED_USE="test? ( abyss curl cxx )"
-
-RDEPEND="
- sys-libs/ncurses:0=[${MULTILIB_USEDEP}]
- sys-libs/readline:0=[${MULTILIB_USEDEP}]
- curl? ( net-misc/curl[${MULTILIB_USEDEP}] )
- libxml2? ( dev-libs/libxml2[${MULTILIB_USEDEP}] )
-"
-DEPEND="${RDEPEND}"
-
-pkg_setup() {
- use curl || ewarn "Curl support disabled: No client library will be built"
-}
-
-src_prepare() {
- sed -i \
- -e "/CFLAGS_COMMON/s|-g -O3$||" \
- -e "/CXXFLAGS_COMMON/s|-g$||" \
- common.mk || die
-
- default
-
- # Out-of-source install phase is broken
- multilib_copy_sources
-}
-
-multilib_src_configure() {
- ECONF_SOURCE=${S} \
- econf \
- --disable-libwww-client \
- --disable-wininet-client \
- --without-libwww-ssl \
- $(use_enable abyss abyss-server) \
- $(use_enable cgi cgi-server) \
- $(use_enable curl curl-client) \
- $(use_enable cxx cplusplus) \
- $(use_enable libxml2 libxml2-backend) \
- $(use_enable threads abyss-threads)
-}
-
-multilib_src_compile() {
- default_src_compile
- # Tools building is broken in this release
- #multilib_is_native_abi && use tools && emake -rC "${S}"/tools
-}
-
-#multilib_src_install_all() {
-# # Tools building is broken in this release
-# #use tools && emake DESTDIR="${D}" -rC "${S}"/tools install
-#}
diff --git a/dev-libs/xmlrpc-c/xmlrpc-c-1.54.05-r2.ebuild b/dev-libs/xmlrpc-c/xmlrpc-c-1.54.05-r2.ebuild
new file mode 100644
index 000000000000..140979cfaa37
--- /dev/null
+++ b/dev-libs/xmlrpc-c/xmlrpc-c-1.54.05-r2.ebuild
@@ -0,0 +1,78 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit toolchain-funcs
+
+# Upstream maintains 3 release channels: http://xmlrpc-c.sourceforge.net/release.html
+# 1. Only the "Super Stable" series is released as a tarball
+# 2. SVN tagging of releases seems spotty: http://svn.code.sf.net/p/xmlrpc-c/code/release_number/
+# Because of this, we are following the "Super Stable" release channel
+
+DESCRIPTION="A lightweight RPC library based on XML and HTTP"
+HOMEPAGE="http://xmlrpc-c.sourceforge.net/"
+SRC_URI="mirror://sourceforge/${PN}/${P}.tgz"
+
+LICENSE="BSD"
+SLOT="0/4.54"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-solaris"
+IUSE="abyss +cgi +curl +cxx +libxml2 threads test"
+RESTRICT="!test? ( test )"
+REQUIRED_USE="test? ( abyss curl cxx )"
+
+RDEPEND="
+ sys-libs/ncurses:=
+ sys-libs/readline:=
+ curl? ( net-misc/curl )
+ libxml2? ( dev-libs/libxml2 )
+"
+DEPEND="${RDEPEND}"
+BDEPEND="virtual/pkgconfig"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-1.51.06-pkg-config-libxml2.patch
+ "${FILESDIR}"/${PN}-1.51.06-pkg-config-openssl.patch
+)
+
+pkg_setup() {
+ use curl || ewarn "Curl support disabled: No client library will be built"
+}
+
+src_prepare() {
+ default
+
+ sed -i \
+ -e "/CFLAGS_COMMON/s|-g -O3$||" \
+ -e "/CXXFLAGS_COMMON/s|-g$||" \
+ common.mk || die
+}
+
+src_configure() {
+ tc-export PKG_CONFIG
+
+ econf \
+ --disable-libwww-client \
+ --disable-wininet-client \
+ --without-libwww-ssl \
+ $(use_enable abyss abyss-server) \
+ $(use_enable cgi cgi-server) \
+ $(use_enable curl curl-client) \
+ $(use_enable cxx cplusplus) \
+ $(use_enable libxml2 libxml2-backend) \
+ $(use_enable threads abyss-threads)
+}
+
+src_compile() {
+ default
+
+ # Tools building is broken in this release
+ #use tools && emake -rC "${S}"/tools
+}
+
+src_install() {
+ default
+
+ # Tools building is broken in this release
+ #use tools && emake DESTDIR="${D}" -rC "${S}"/tools install
+}
diff --git a/dev-libs/xmlrpc-c/xmlrpc-c-1.54.06.ebuild b/dev-libs/xmlrpc-c/xmlrpc-c-1.54.06.ebuild
new file mode 100644
index 000000000000..bdc54dc3b1e1
--- /dev/null
+++ b/dev-libs/xmlrpc-c/xmlrpc-c-1.54.06.ebuild
@@ -0,0 +1,80 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit toolchain-funcs
+
+# Upstream maintains 3 release channels: http://xmlrpc-c.sourceforge.net/release.html
+# 1. Only the "Super Stable" series is released as a tarball
+# 2. SVN tagging of releases seems spotty: http://svn.code.sf.net/p/xmlrpc-c/code/release_number/
+# Because of this, we are following the "Super Stable" release channel
+
+DESCRIPTION="A lightweight RPC library based on XML and HTTP"
+HOMEPAGE="http://xmlrpc-c.sourceforge.net/"
+SRC_URI="mirror://sourceforge/${PN}/${P}.tgz"
+
+LICENSE="BSD"
+SLOT="0/4.54"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-solaris"
+IUSE="abyss +cgi +curl +cxx +libxml2 threads test"
+RESTRICT="!test? ( test )"
+REQUIRED_USE="test? ( abyss curl cxx )"
+
+RDEPEND="
+ dev-libs/openssl:=
+ sys-libs/ncurses:=
+ sys-libs/readline:=
+ curl? ( net-misc/curl )
+ libxml2? ( dev-libs/libxml2 )
+"
+DEPEND="${RDEPEND}"
+BDEPEND="virtual/pkgconfig"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-1.51.06-pkg-config-libxml2.patch
+ "${FILESDIR}"/${PN}-1.51.06-pkg-config-openssl.patch
+ "${FILESDIR}"/${PN}-1.54.06-wformat-security.patch
+)
+
+pkg_setup() {
+ use curl || ewarn "Curl support disabled: No client library will be built"
+}
+
+src_prepare() {
+ default
+
+ sed -i \
+ -e "/CFLAGS_COMMON/s|-g -O3$||" \
+ -e "/CXXFLAGS_COMMON/s|-g$||" \
+ common.mk || die
+}
+
+src_configure() {
+ tc-export PKG_CONFIG
+
+ econf \
+ --disable-libwww-client \
+ --disable-wininet-client \
+ --without-libwww-ssl \
+ $(use_enable abyss abyss-server) \
+ $(use_enable cgi cgi-server) \
+ $(use_enable curl curl-client) \
+ $(use_enable cxx cplusplus) \
+ $(use_enable libxml2 libxml2-backend) \
+ $(use_enable threads abyss-threads)
+}
+
+src_compile() {
+ default
+
+ # Tools building is broken in this release
+ #use tools && emake -rC "${S}"/tools
+}
+
+src_install() {
+ default
+
+ # Tools building is broken in this release
+ #use tools && emake DESTDIR="${D}" -rC "${S}"/tools install
+}
diff --git a/dev-libs/xmlsec/Manifest b/dev-libs/xmlsec/Manifest
index 65af075b4e4f..a6d977704744 100644
--- a/dev-libs/xmlsec/Manifest
+++ b/dev-libs/xmlsec/Manifest
@@ -1,4 +1,5 @@
-DIST xmlsec1-1.2.30.tar.gz 1989670 BLAKE2B b363d1661ba5fdf968725948598954c7d514ad92c4ad05b490aa3ac9ffb6be861ee81d660be30d37e26ae1cb327cdecd1c76d60055ec5aa900e390a4083099b3 SHA512 07152470a9fe5d077f8a358608ca1d8a79ee0d2777660f61ed5717dc640714a3adfe66843e6a4023898eb0f5ed79771d70c41132571f3a1aeda82c1894b69c98
-DIST xmlsec1-1.2.31.tar.gz 1989144 BLAKE2B ddc55e34867d5870fa434c739825ceaa68500a11fb2eabb482945901ad7fa0ba0d5fce7cd6c5f1b49c24d5bc07cee2875ff21833f09c0ec2ffeaf63875f5b001 SHA512 7a0e3d6f66746a22cf6468eb4d0691879c7468e4bef71fd8720e6a56b420f076a1d8a3094c35e721471dd029a643f5c4a553ef5788be5509f2786a419da1b7af
-DIST xmlsec1-1.2.32.tar.gz 1989258 BLAKE2B a1325f682efec42dbcdb066d3c242fb435daa721349905564b05829153e5337b772fbf6b996f4d249d669d76fa584055f8bec1630c4936c27fd330cda439522d SHA512 39a90e154fe760b9cb01090c0232aa6c88c595fea87a771bebdd7b38ab274e3be719d6314065d9f02b854c7be9c8ec3557e57e0158ff3696413de3424f14389e
-DIST xmlsec1-1.2.33.tar.gz 1991955 BLAKE2B d6bb68ad4ceb936d51165a4ef48824a8cb5d550670ca6015eb9916121555a1a32b3f47774eab1efc2bc5031346f22a0b21115a220dbeb44bba773412f2292bc5 SHA512 6354554b5cdc0a1389f6991efeac919bea912330b36d3be3d3496d61331e9edd2771786d50d2571a439f62ccfc3bd32be0a50bb5a037c4993aac076ad94b46e8
+DIST xmlsec1-1.2.37.tar.gz 2009175 BLAKE2B 19f43ba6bf6eb49428b9c5563baecbab21476f326cceee13785ae16769afa258f100732831c0f3f7d160543bd075cdcfdc5cbf11b7406637ee6c2f0e27c07f30 SHA512 99220cb28a346ffac0023f9f177d6a7be3ddcea04bea434b7dc926c1f0aaa5564d75f74f92896ac100179c04d77e001f688ddf46fed4e0a0b4f20b7b87c24900
+DIST xmlsec1-1.2.38.tar.gz 2036578 BLAKE2B 03f7e1b5e659793bf1984c5a59582d9459089ce913620d5cc1e5a5d0eb65557580cd23fa190db277298fd7cc55bd41563b93cf61a37c8b7521a4690cd2ca3489 SHA512 724089777caae95db27e67f24381c066eaae23a9d64819a18bb04837c1ab1b380d19be2c7ee25659ca481d9eab96fcbe8027a430a0ac1630ad3b073cddd20fac
+DIST xmlsec1-1.3.1.tar.gz 2432943 BLAKE2B 1dafdffd959579add5c579e3fa9c9f9ddc73ce4aadc6fc2139506e6e64ffcd1bbe7298786e414900eb9f33f93b0a47da64e686c499e48d4c80d81b256db6692e SHA512 7f30c15c3edcafe70fa5febaa0ba39f73f8d30525ee102b5961a658dd2842fbc58e63f7595f15b150d71bf735bfa7688c3694a191b0d475776ca26902d90d25f
+DIST xmlsec1-1.3.2.tar.gz 2437263 BLAKE2B d11953c6e2a263a6742ef62309c2f29e2ba5761d58bee5f8cc761965d0e16fea148811ac3d8036d271400840a62ff2a7fff947bb5331170d3bcc598c558b2a95 SHA512 328f3d27cc1dadee27e5ee4649f6c5a094203cc27f42f1fe98fd429f7dd5630eaadff0e8bf14616016fc3530482ed8bcee4870289a41a083f6dd9bd603782a92
+DIST xmlsec1-1.3.3.tar.gz 2435741 BLAKE2B 1b0e44a8a5185d67b8f97ec72cd8e215fe79a988eb7ade0d2890be662b693d511857b24670ec692f9452bf95ad8c53ff80c250ecbcd167742477a83e0b72fda0 SHA512 1535b6f878259914ab9574892d05c927fbcd548986cf7bcf91e435acb2cb74eb11e58163f797038ee13a11444882814b2b4318cd677053fbe52557a2e4acf68a
diff --git a/dev-libs/xmlsec/files/xmlsec-1.2.31-fix-nss-3.59.patch b/dev-libs/xmlsec/files/xmlsec-1.2.31-fix-nss-3.59.patch
deleted file mode 100644
index b70b8cf2d61b..000000000000
--- a/dev-libs/xmlsec/files/xmlsec-1.2.31-fix-nss-3.59.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-https://bugs.gentoo.org/764437
-https://github.com/lsh123/xmlsec/commit/f3a59c721e38a663405093e2bbb30e2bf45853a2.patch
-From f3a59c721e38a663405093e2bbb30e2bf45853a2 Mon Sep 17 00:00:00 2001
-From: lsh123 <aleksey@aleksey.com>
-Date: Fri, 18 Dec 2020 16:22:40 -0800
-Subject: [PATCH] Remove MD5 for NSS 3.59 and above; enable nss test on osx and
- mingw (issue #305) (#306)
-
----
- include/xmlsec/nss/crypto.h | 6 ++++++
- 2 files changed, 10 insertions(+), 3 deletions(-)
-
-diff --git a/include/xmlsec/nss/crypto.h b/include/xmlsec/nss/crypto.h
-index 223c1d85..614ac931 100644
---- a/include/xmlsec/nss/crypto.h
-+++ b/include/xmlsec/nss/crypto.h
-@@ -19,6 +19,12 @@
- #include <xmlsec/transforms.h>
- #include <xmlsec/dl.h>
-
-+
-+/* MD5 was removed from NSS */
-+#if (NSS_VMAJOR > 3) || ((NSS_VMAJOR == 3) && (NSS_VMINOR > 58))
-+#define XMLSEC_NO_MD5 1
-+#endif /* (NSS_VMAJOR > 3) || ((NSS_VMAJOR == 3) && (NSS_VMINOR > 58)) */
-+
- #ifdef __cplusplus
- extern "C" {
- #endif /* __cplusplus */
diff --git a/dev-libs/xmlsec/files/xmlsec-1.2.37-libressl.patch b/dev-libs/xmlsec/files/xmlsec-1.2.37-libressl.patch
new file mode 100644
index 000000000000..acdb535ba552
--- /dev/null
+++ b/dev-libs/xmlsec/files/xmlsec-1.2.37-libressl.patch
@@ -0,0 +1,40 @@
+https://github.com/lsh123/xmlsec/pull/456
+https://github.com/lsh123/xmlsec/commit/c5469cfc8443c57a25a8783f0bd669f71e29bb04
+https://github.com/lsh123/xmlsec/pull/654
+https://github.com/lsh123/xmlsec/commit/dfdf981f3522e4059170b504fb6fd40b37c9d70f
+
+From c5469cfc8443c57a25a8783f0bd669f71e29bb04 Mon Sep 17 00:00:00 2001
+From: lsh123 <aleksey@aleksey.com>
+Date: Mon, 12 Dec 2022 10:34:56 -0500
+Subject: [PATCH] fix libressl (#456)
+
+---
+ src/openssl/openssl_compat.h | 9 ++++++++-
+ 1 file changed, 8 insertions(+), 1 deletion(-)
+
+From d113d1e6355c4841fd03c6aa797d33bde1d064f3 Mon Sep 17 00:00:00 2001
+From: orbea <orbea@riseup.net>
+Date: Mon, 29 May 2023 07:46:58 -0700
+Subject: [PATCH] openssl_compat.h: Update LibreSSL UI_null() compat
+
+LibreSSL added UI_null() in 3.7.1.
+---
+ src/openssl/openssl_compat.h | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+--- a/src/openssl/openssl_compat.h
++++ b/src/openssl/openssl_compat.h
+@@ -123,6 +123,13 @@ static inline int xmlSecOpenSSLCompatRand(unsigned char *buf, xmlSecSize size) {
+ * LibreSSL 2.7 compatibility (implements most of OpenSSL 1.1 API)
+ *
+ *****************************************************************************/
++#if defined(LIBRESSL_VERSION_NUMBER) && (LIBRESSL_VERSION_NUMBER < 0x3070200fL)
++
++/* Needed for Engine initialization */
++#define UI_null() NULL
++
++#endif /* defined(LIBRESSL_VERSION_NUMBER) */
++
+ #if defined(LIBRESSL_VERSION_NUMBER) && (LIBRESSL_VERSION_NUMBER < 0x30500000L) && defined(XMLSEC_OPENSSL_API_110)
+ /* EVP_CIPHER_CTX stuff */
+ #define EVP_CIPHER_CTX_encrypting(x) ((x)->encrypt)
diff --git a/dev-libs/xmlsec/files/xmlsec-1.3.0-optimisation.patch b/dev-libs/xmlsec/files/xmlsec-1.3.0-optimisation.patch
new file mode 100644
index 000000000000..2cd0401e019d
--- /dev/null
+++ b/dev-libs/xmlsec/files/xmlsec-1.3.0-optimisation.patch
@@ -0,0 +1,11 @@
+--- a/configure.ac
++++ b/configure.ac
+@@ -2482,7 +2482,7 @@ AC_ARG_ENABLE([pedantic], [AS_HELP_STRING([--enable-pedantic],[enable pedantic c
+ if test "z$enable_pedantic" = "zno" ; then
+ AC_MSG_RESULT([disabled])
+ else
+- CFLAGS="$CFLAGS -O -std=c99 -pedantic -pedantic-errors -W -Wall -Wextra"
++ CFLAGS="$CFLAGS -std=c99 -pedantic -W -Wall -Wextra"
+ CFLAGS="$CFLAGS -fno-inline -Wnull-dereference -Wdouble-promotion"
+ CFLAGS="$CFLAGS -Wformat=2 -Wformat-security -Wformat-nonliteral"
+ CFLAGS="$CFLAGS -Wconversion -Wunused -Wshadow -Wpointer-arith -Wcast-align"
diff --git a/dev-libs/xmlsec/files/xmlsec-1.3.2-libxml2-2.12.0-includes.patch b/dev-libs/xmlsec/files/xmlsec-1.3.2-libxml2-2.12.0-includes.patch
new file mode 100644
index 000000000000..e4b7ec4d7f68
--- /dev/null
+++ b/dev-libs/xmlsec/files/xmlsec-1.3.2-libxml2-2.12.0-includes.patch
@@ -0,0 +1,114 @@
+https://github.com/lsh123/xmlsec/commit/ffb327376f5bb69e8dfe7f805529e45a40118c2b
+
+From ffb327376f5bb69e8dfe7f805529e45a40118c2b Mon Sep 17 00:00:00 2001
+From: lsh123 <aleksey@aleksey.com>
+Date: Mon, 20 Nov 2023 11:50:43 -0500
+Subject: [PATCH] Fix libxml2 v2.12.0 includes (#729)
+
+--- a/apps/crypto.c
++++ b/apps/crypto.c
+@@ -12,6 +12,7 @@
+ #endif
+
+ #include <string.h>
++#include <stdlib.h>
+
+ #include <xmlsec/xmlsec.h>
+ #include <xmlsec/keys.h>
+--- a/apps/xmlsec.c
++++ b/apps/xmlsec.c
+@@ -22,6 +22,7 @@
+ #include <libxml/xmlmemory.h>
+ #include <libxml/parser.h>
+ #include <libxml/xpath.h>
++#include <libxml/xmlsave.h>
+ #include <libxml/xpathInternals.h>
+
+ #ifndef XMLSEC_NO_XSLT
+@@ -3030,7 +3031,7 @@ xmlSecAppInit(void) {
+ /* Init libxml */
+ xmlInitParser();
+ LIBXML_TEST_VERSION
+- xmlTreeIndentString = "\t";
++ xmlThrDefTreeIndentString("\t");
+ #ifndef XMLSEC_NO_XSLT
+ xmlIndentTreeOutput = 1;
+ #endif /* XMLSEC_NO_XSLT */
+--- a/include/xmlsec/xmlsec.h
++++ b/include/xmlsec/xmlsec.h
+@@ -12,6 +12,7 @@
+ #define __XMLSEC_H__
+
+ #include <libxml/tree.h>
++#include <libxml/parser.h>
+
+ #include <xmlsec/version.h>
+ #include <xmlsec/exports.h>
+--- a/src/errors_helpers.h
++++ b/src/errors_helpers.h
+@@ -136,7 +136,7 @@ extern "C" {
+ */
+ #define xmlSecXmlError(errorFunction, errorObject) \
+ { \
+- xmlErrorPtr error = xmlGetLastError(); \
++ const xmlError * error = xmlGetLastError(); \
+ int code = (error != NULL) ? error->code : 0; \
+ const char* message = (error != NULL) ? error->message : NULL; \
+ xmlSecError(XMLSEC_ERRORS_HERE, \
+@@ -159,7 +159,7 @@ extern "C" {
+ */
+ #define xmlSecXmlError2(errorFunction, errorObject, msg, param) \
+ { \
+- xmlErrorPtr error = xmlGetLastError(); \
++ const xmlError * error = xmlGetLastError(); \
+ int code = (error != NULL) ? error->code : 0; \
+ const char* message = (error != NULL) ? error->message : NULL; \
+ xmlSecError(XMLSEC_ERRORS_HERE, \
+@@ -181,7 +181,7 @@ extern "C" {
+ */
+ #define xmlSecXmlParserError(errorFunction, ctxt, errorObject) \
+ { \
+- xmlErrorPtr error = xmlCtxtGetLastError(ctxt);\
++ const xmlError * error = xmlCtxtGetLastError(ctxt);\
+ int code = (error != NULL) ? error->code : 0; \
+ const char* message = (error != NULL) ? error->message : NULL; \
+ xmlSecError(XMLSEC_ERRORS_HERE, \
+@@ -205,7 +205,7 @@ extern "C" {
+ */
+ #define xmlSecXmlParserError2(errorFunction, ctxt, errorObject, msg, param) \
+ { \
+- xmlErrorPtr error = xmlCtxtGetLastError(ctxt);\
++ const xmlError * error = xmlCtxtGetLastError(ctxt);\
+ int code = (error != NULL) ? error->code : 0; \
+ const char* message = (error != NULL) ? error->message : NULL; \
+ xmlSecError(XMLSEC_ERRORS_HERE, \
+@@ -227,7 +227,7 @@ extern "C" {
+ */
+ #define xmlSecXsltError(errorFunction, ctxt, errorObject) \
+ { \
+- xmlErrorPtr error = xmlGetLastError(); \
++ const xmlError * error = xmlGetLastError(); \
+ int code = (error != NULL) ? error->code : 0; \
+ const char* message = (error != NULL) ? error->message : NULL; \
+ xmlSecError(XMLSEC_ERRORS_HERE, \
+--- a/src/mscrypto/certkeys.c
++++ b/src/mscrypto/certkeys.c
+@@ -18,6 +18,7 @@
+ #include "globals.h"
+
+ #include <string.h>
++#include <stdlib.h>
+
+ #ifndef XMLSEC_NO_GOST
+ #include "csp_oid.h"
+--- a/src/mscrypto/signatures.c
++++ b/src/mscrypto/signatures.c
+@@ -17,6 +17,7 @@
+ #include "globals.h"
+
+ #include <string.h>
++#include <stdlib.h>
+
+ #ifndef XMLSEC_NO_GOST
+ #include "csp_calg.h"
+
diff --git a/dev-libs/xmlsec/files/xmlsec-1.3.3-slibtool.patch b/dev-libs/xmlsec/files/xmlsec-1.3.3-slibtool.patch
new file mode 100644
index 000000000000..ed4c9e0397b7
--- /dev/null
+++ b/dev-libs/xmlsec/files/xmlsec-1.3.3-slibtool.patch
@@ -0,0 +1,48 @@
+https://github.com/lsh123/xmlsec/pull/756
+https://github.com/lsh123/xmlsec/commit/de5251a8064231fbe6b9bccc669228cab4ab4ec7
+
+From de5251a8064231fbe6b9bccc669228cab4ab4ec7 Mon Sep 17 00:00:00 2001
+From: orbea <orbea@riseup.net>
+Date: Tue, 30 Jan 2024 18:57:19 -0800
+Subject: [PATCH] configure.ac: fix the build with slibtool (#756)
+
+When building with LibreSSL or BoringSSL the build will try to link the
+$OPENSSL_LIBS with -Wl,-Bstatic, but this will fail when using slibtool
+if only dynamic libssl and libcrypto libraries are installed.
+
+ ld: cannot find -lssl: No such file or directory
+ ld: cannot find -lcrypto: No such file or directory
+
+With GNU libtool it will "helpfully" rearrange the linker output to
+obscure the issue.
+
+ -lssl -lcrypto -lxslt -lxml2 ../.libs/libxmlsec1.so -g -O2 -O -Wl,-Bstatic -Wl,-Bdynamic
+
+While with slibtool it will do as instructed and produce a build
+failure.
+
+ -Wl,-Bstatic -lssl -lcrypto -Wl,-Bdynamic -lxslt
+---
+ configure.ac | 2 --
+ 1 file changed, 2 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index ce8a278c..25e70b24 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -806,7 +806,6 @@ if test "z$OPENSSL_FOUND" = "zyes" ; then
+ #endif
+ ],[
+ OPENSSL_VERSION="LibreSSL >= 3.5"
+- OPENSSL_LIBS="-Wl,-Bstatic $OPENSSL_LIBS -Wl,-Bdynamic"
+ enable_dh=no
+ ],[
+ OPENSSL_VERSION=""
+@@ -824,7 +823,6 @@ if test "z$OPENSSL_FOUND" = "zyes" ; then
+ #endif
+ ],[
+ OPENSSL_VERSION="BoringSSL >= 1.1.1"
+- OPENSSL_LIBS="-Wl,-Bstatic $OPENSSL_LIBS -Wl,-Bdynamic"
+ enable_ripemd160=no
+ enable_dsa=no
+ enable_dh=no
diff --git a/dev-libs/xmlsec/files/xmlsec-1.3.3-typo-fix.patch b/dev-libs/xmlsec/files/xmlsec-1.3.3-typo-fix.patch
new file mode 100644
index 000000000000..db3eae6c484a
--- /dev/null
+++ b/dev-libs/xmlsec/files/xmlsec-1.3.3-typo-fix.patch
@@ -0,0 +1,25 @@
+https://github.com/lsh123/xmlsec/commit/8262167fbc56bce353949b9b18e01af7f7331e76
+
+From 8262167fbc56bce353949b9b18e01af7f7331e76 Mon Sep 17 00:00:00 2001
+From: Antoine Martin <dev@ayakael.net>
+Date: Sun, 14 Jan 2024 09:13:11 -0500
+Subject: [PATCH] Fix typo with xmlSecKeyDataEcGetKlass in app.h include (#755)
+
+---
+ include/xmlsec/app.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/include/xmlsec/app.h b/include/xmlsec/app.h
+index 4fe2a744..324561b9 100644
+--- a/include/xmlsec/app.h
++++ b/include/xmlsec/app.h
+@@ -85,7 +85,7 @@ XMLSEC_EXPORT xmlSecKeyDataId xmlSecKeyDataDsaGetKlass(void);
+ *
+ * The EC key klass.
+ */
+-#define xmlSecKeyDataEcId xmlSecKeyDataEcetKlass()
++#define xmlSecKeyDataEcId xmlSecKeyDataEcGetKlass()
+ XMLSEC_EXPORT xmlSecKeyDataId xmlSecKeyDataEcGetKlass(void);
+ /**
+ * xmlSecKeyDataGost2001Id:
+
diff --git a/dev-libs/xmlsec/metadata.xml b/dev-libs/xmlsec/metadata.xml
index 0b35867adc08..0f981c3c9b18 100644
--- a/dev-libs/xmlsec/metadata.xml
+++ b/dev-libs/xmlsec/metadata.xml
@@ -5,6 +5,7 @@
<use>
<flag name="gcrypt">Install xmlsec-gcrypt library</flag>
<flag name="gnutls">Install xmlsec-gnutls library</flag>
+ <flag name="http">Allow fetching over HTTP via libxml2.</flag>
<flag name="nss">Install xmlsec-nss library</flag>
<flag name="openssl">Install xmlsec-openssl library</flag>
</use>
diff --git a/dev-libs/xmlsec/xmlsec-1.2.30.ebuild b/dev-libs/xmlsec/xmlsec-1.2.30.ebuild
deleted file mode 100644
index ec33de36d7a6..000000000000
--- a/dev-libs/xmlsec/xmlsec-1.2.30.ebuild
+++ /dev/null
@@ -1,60 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-DESCRIPTION="Command line tool for signing, verifying, encrypting and decrypting XML"
-HOMEPAGE="https://www.aleksey.com/xmlsec"
-SRC_URI="https://www.aleksey.com/xmlsec/download/${PN}1-${PV}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 arm arm64 ppc ppc64 ~sparc x86"
-IUSE="doc gcrypt gnutls nss +openssl static-libs test"
-RESTRICT="!test? ( test )"
-REQUIRED_USE="|| ( gcrypt gnutls nss openssl )
- gnutls? ( gcrypt )"
-
-RDEPEND=">=dev-libs/libxml2-2.7.4:=
- >=dev-libs/libxslt-1.0.20:=
- gcrypt? ( >=dev-libs/libgcrypt-1.4.0:0= )
- gnutls? ( >=net-libs/gnutls-2.8.0:= )
- nss? (
- >=dev-libs/nspr-4.4.1:=
- >=dev-libs/nss-3.9:=
- )
- openssl? (
- dev-libs/openssl:0=
- )"
-DEPEND="${RDEPEND}"
-BDEPEND="virtual/pkgconfig
- test? (
- nss? (
- >=dev-libs/nss-3.9[utils]
- )
- )"
-
-S="${WORKDIR}/${PN}1-${PV}"
-
-src_configure() {
- # Bash because of bug #721128
- CONFIG_SHELL=${BASH} econf \
- $(use_enable doc docs) \
- $(use_enable static-libs static) \
- $(use_with gcrypt) \
- $(use_with gnutls) \
- $(use_with nss nspr) \
- $(use_with nss) \
- $(use_with openssl) \
- --enable-mans \
- --enable-pkgconfig
-}
-
-src_test() {
- SHELL=${BASH} emake TMPFOLDER="${T}" check
-}
-
-src_install() {
- default
- find "${D}" -name '*.la' -delete || die
-}
diff --git a/dev-libs/xmlsec/xmlsec-1.2.31.ebuild b/dev-libs/xmlsec/xmlsec-1.2.31.ebuild
deleted file mode 100644
index 625dcba4bd42..000000000000
--- a/dev-libs/xmlsec/xmlsec-1.2.31.ebuild
+++ /dev/null
@@ -1,63 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-DESCRIPTION="Command line tool for signing, verifying, encrypting and decrypting XML"
-HOMEPAGE="https://www.aleksey.com/xmlsec"
-SRC_URI="https://www.aleksey.com/xmlsec/download/${PN}1-${PV}.tar.gz"
-S="${WORKDIR}/${PN}1-${PV}"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 arm arm64 ppc ppc64 ~sparc x86"
-IUSE="doc gcrypt gnutls nss +openssl static-libs test"
-RESTRICT="!test? ( test )"
-REQUIRED_USE="|| ( gcrypt gnutls nss openssl )
- gnutls? ( gcrypt )"
-
-RDEPEND=">=dev-libs/libxml2-2.7.4:=
- >=dev-libs/libxslt-1.0.20:=
- gcrypt? ( >=dev-libs/libgcrypt-1.4.0:0= )
- gnutls? ( >=net-libs/gnutls-2.8.0:= )
- nss? (
- >=dev-libs/nspr-4.4.1:=
- >=dev-libs/nss-3.9:=
- )
- openssl? (
- dev-libs/openssl:0=
- )"
-DEPEND="${RDEPEND}"
-BDEPEND="virtual/pkgconfig
- test? (
- nss? (
- >=dev-libs/nss-3.9[utils]
- )
- )"
-
-PATCHES=(
- "${FILESDIR}/${P}-fix-nss-3.59.patch"
-)
-
-src_configure() {
- # Bash because of bug #721128
- CONFIG_SHELL=${BASH} econf \
- $(use_enable doc docs) \
- $(use_enable static-libs static) \
- $(use_with gcrypt) \
- $(use_with gnutls) \
- $(use_with nss nspr) \
- $(use_with nss) \
- $(use_with openssl) \
- --enable-mans \
- --enable-pkgconfig
-}
-
-src_test() {
- SHELL=${BASH} emake TMPFOLDER="${T}" check
-}
-
-src_install() {
- default
- find "${D}" -name '*.la' -delete || die
-}
diff --git a/dev-libs/xmlsec/xmlsec-1.2.32.ebuild b/dev-libs/xmlsec/xmlsec-1.2.32.ebuild
deleted file mode 100644
index 2436927592ec..000000000000
--- a/dev-libs/xmlsec/xmlsec-1.2.32.ebuild
+++ /dev/null
@@ -1,59 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-DESCRIPTION="Command line tool for signing, verifying, encrypting and decrypting XML"
-HOMEPAGE="https://www.aleksey.com/xmlsec"
-SRC_URI="https://www.aleksey.com/xmlsec/download/${PN}1-${PV}.tar.gz"
-S="${WORKDIR}/${PN}1-${PV}"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 arm arm64 ppc ppc64 ~riscv ~sparc x86"
-IUSE="doc gcrypt gnutls nss +openssl static-libs test"
-RESTRICT="!test? ( test )"
-REQUIRED_USE="|| ( gcrypt gnutls nss openssl )
- gnutls? ( gcrypt )"
-
-RDEPEND=">=dev-libs/libxml2-2.7.4:=
- >=dev-libs/libxslt-1.0.20:=
- gcrypt? ( >=dev-libs/libgcrypt-1.4.0:0= )
- gnutls? ( >=net-libs/gnutls-2.8.0:= )
- nss? (
- >=dev-libs/nspr-4.4.1:=
- >=dev-libs/nss-3.9:=
- )
- openssl? (
- dev-libs/openssl:0=
- )"
-DEPEND="${RDEPEND}"
-BDEPEND="virtual/pkgconfig
- test? (
- nss? (
- >=dev-libs/nss-3.9[utils]
- )
- )"
-
-src_configure() {
- # Bash because of bug #721128
- CONFIG_SHELL=${BASH} econf \
- $(use_enable doc docs) \
- $(use_enable static-libs static) \
- $(use_with gcrypt) \
- $(use_with gnutls) \
- $(use_with nss nspr) \
- $(use_with nss) \
- $(use_with openssl) \
- --enable-mans \
- --enable-pkgconfig
-}
-
-src_test() {
- SHELL=${BASH} emake TMPFOLDER="${T}" check
-}
-
-src_install() {
- default
- find "${D}" -name '*.la' -delete || die
-}
diff --git a/dev-libs/xmlsec/xmlsec-1.2.33.ebuild b/dev-libs/xmlsec/xmlsec-1.2.33.ebuild
deleted file mode 100644
index 7f1d3ad81256..000000000000
--- a/dev-libs/xmlsec/xmlsec-1.2.33.ebuild
+++ /dev/null
@@ -1,62 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DESCRIPTION="Command line tool for signing, verifying, encrypting and decrypting XML"
-HOMEPAGE="https://www.aleksey.com/xmlsec"
-SRC_URI="https://www.aleksey.com/xmlsec/download/${PN}1-${PV}.tar.gz"
-S="${WORKDIR}/${PN}1-${PV}"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86"
-IUSE="doc gcrypt gnutls nss +openssl static-libs test"
-RESTRICT="!test? ( test )"
-REQUIRED_USE="|| ( gcrypt gnutls nss openssl )
- gnutls? ( gcrypt )"
-
-RDEPEND=">=dev-libs/libxml2-2.7.4:=
- >=dev-libs/libxslt-1.0.20:=
- dev-libs/libltdl
- gcrypt? ( >=dev-libs/libgcrypt-1.4.0:0= )
- gnutls? ( >=net-libs/gnutls-2.8.0:= )
- nss? (
- >=dev-libs/nspr-4.4.1:=
- >=dev-libs/nss-3.9:=
- )
- openssl? (
- dev-libs/openssl:0=
- )"
-DEPEND="${RDEPEND}"
-BDEPEND="virtual/pkgconfig
- test? (
- nss? (
- >=dev-libs/nss-3.9[utils]
- )
- )"
-
-src_configure() {
- # Bash because of bug #721128
- CONFIG_SHELL=${BASH} econf \
- $(use_enable doc docs) \
- $(use_enable static-libs static) \
- $(use_with gcrypt) \
- $(use_with gnutls) \
- $(use_with nss nspr) \
- $(use_with nss) \
- $(use_with openssl) \
- --enable-mans \
- --enable-pkgconfig
-}
-
-src_test() {
- # See https://github.com/lsh123/xmlsec/issues/280 for TZ=UTC
- TZ=UTC SHELL=${BASH} emake TMPFOLDER="${T}" check
-}
-
-src_install() {
- default
-
- find "${ED}" -name '*.la' -delete || die
-}
diff --git a/dev-libs/xmlsec/xmlsec-1.2.37.ebuild b/dev-libs/xmlsec/xmlsec-1.2.37.ebuild
new file mode 100644
index 000000000000..65dfdf2c4a43
--- /dev/null
+++ b/dev-libs/xmlsec/xmlsec-1.2.37.ebuild
@@ -0,0 +1,62 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DESCRIPTION="Command line tool for signing, verifying, encrypting and decrypting XML"
+HOMEPAGE="https://www.aleksey.com/xmlsec"
+SRC_URI="https://www.aleksey.com/xmlsec/download/${PN}1-${PV}.tar.gz"
+S="${WORKDIR}/${PN}1-${PV}"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 arm arm64 ~loong ppc ppc64 ~riscv ~sparc x86"
+IUSE="doc gcrypt gnutls nss +openssl static-libs test"
+RESTRICT="!test? ( test )"
+REQUIRED_USE="|| ( gcrypt gnutls nss openssl )
+ gnutls? ( gcrypt )"
+
+RDEPEND=">=dev-libs/libxml2-2.7.4[ftp(+)]
+ >=dev-libs/libxslt-1.0.20
+ dev-libs/libltdl
+ gcrypt? ( >=dev-libs/libgcrypt-1.4.0:= )
+ gnutls? ( >=net-libs/gnutls-2.8.0:= )
+ nss? (
+ >=dev-libs/nspr-4.4.1
+ >=dev-libs/nss-3.9
+ )
+ openssl? (
+ dev-libs/openssl:=
+ )"
+DEPEND="${RDEPEND}"
+BDEPEND="virtual/pkgconfig
+ test? (
+ nss? (
+ >=dev-libs/nss-3.9[utils]
+ )
+ )"
+
+src_configure() {
+ # Bash because of bug #721128
+ CONFIG_SHELL="${BROOT}"/bin/bash econf \
+ $(use_enable doc docs) \
+ $(use_enable static-libs static) \
+ $(use_with gcrypt) \
+ $(use_with gnutls) \
+ $(use_with nss nspr) \
+ $(use_with nss) \
+ $(use_with openssl) \
+ --enable-mans \
+ --enable-pkgconfig
+}
+
+src_test() {
+ # See https://github.com/lsh123/xmlsec/issues/280 for TZ=UTC
+ TZ=UTC SHELL="${BROOT}"/bin/bash emake TMPFOLDER="${T}" check
+}
+
+src_install() {
+ default
+
+ find "${ED}" -name '*.la' -delete || die
+}
diff --git a/dev-libs/xmlsec/xmlsec-1.2.38.ebuild b/dev-libs/xmlsec/xmlsec-1.2.38.ebuild
new file mode 100644
index 000000000000..7db6d5418226
--- /dev/null
+++ b/dev-libs/xmlsec/xmlsec-1.2.38.ebuild
@@ -0,0 +1,72 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DESCRIPTION="Command line tool for signing, verifying, encrypting and decrypting XML"
+HOMEPAGE="https://www.aleksey.com/xmlsec"
+SRC_URI="https://www.aleksey.com/xmlsec/download/${PN}1-${PV}.tar.gz"
+S="${WORKDIR}/${PN}1-${PV}"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86"
+IUSE="doc gcrypt gnutls nss +openssl static-libs test"
+RESTRICT="!test? ( test )"
+REQUIRED_USE="
+ || ( gcrypt gnutls nss openssl )
+ gnutls? ( gcrypt )
+"
+
+RDEPEND="
+ >=dev-libs/libxml2-2.7.4[ftp(+)]
+ >=dev-libs/libxslt-1.0.20
+ dev-libs/libltdl
+ gcrypt? ( >=dev-libs/libgcrypt-1.4.0:= )
+ gnutls? ( >=net-libs/gnutls-2.8.0:= )
+ nss? (
+ >=dev-libs/nspr-4.4.1
+ >=dev-libs/nss-3.9
+ )
+ openssl? (
+ dev-libs/openssl:=
+ )
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ virtual/pkgconfig
+ test? (
+ nss? (
+ >=dev-libs/nss-3.9[utils]
+ )
+ )
+"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-1.2.37-libressl.patch # bug #903001
+)
+
+src_configure() {
+ # Bash because of bug #721128
+ CONFIG_SHELL="${BROOT}"/bin/bash econf \
+ $(use_enable doc docs) \
+ $(use_enable static-libs static) \
+ $(use_with gcrypt) \
+ $(use_with gnutls) \
+ $(use_with nss nspr) \
+ $(use_with nss) \
+ $(use_with openssl) \
+ --enable-mans \
+ --enable-pkgconfig
+}
+
+src_test() {
+ # See https://github.com/lsh123/xmlsec/issues/280 for TZ=UTC
+ TZ=UTC SHELL="${BROOT}"/bin/bash emake TMPFOLDER="${T}" check
+}
+
+src_install() {
+ default
+
+ find "${ED}" -name '*.la' -delete || die
+}
diff --git a/dev-libs/xmlsec/xmlsec-1.3.1.ebuild b/dev-libs/xmlsec/xmlsec-1.3.1.ebuild
new file mode 100644
index 000000000000..1508b3b8defa
--- /dev/null
+++ b/dev-libs/xmlsec/xmlsec-1.3.1.ebuild
@@ -0,0 +1,93 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools
+
+DESCRIPTION="Command line tool for signing, verifying, encrypting and decrypting XML"
+HOMEPAGE="https://www.aleksey.com/xmlsec"
+SRC_URI="https://www.aleksey.com/xmlsec/download/${PN}1-${PV}.tar.gz"
+S="${WORKDIR}/${PN}1-${PV}"
+
+LICENSE="MIT"
+# Upstream consider major version bumps to be changes in either X or Y in X.Y.Z
+SLOT="0/$(ver_cut 1-2)"
+KEYWORDS="amd64 arm arm64 ~loong ppc ppc64 ~riscv ~sparc x86"
+IUSE="doc gcrypt gnutls http nss +openssl static-libs test"
+RESTRICT="!test? ( test )"
+REQUIRED_USE="
+ || ( gnutls nss openssl )
+"
+
+RDEPEND="
+ >=dev-libs/libxml2-2.7.4
+ >=dev-libs/libxslt-1.0.20
+ dev-libs/libltdl
+ gcrypt? ( >=dev-libs/libgcrypt-1.4.0:= )
+ gnutls? ( >=net-libs/gnutls-3.6.13:= )
+ nss? (
+ >=dev-libs/nspr-4.4.1
+ >=dev-libs/nss-3.9
+ )
+ openssl? ( dev-libs/openssl:= )
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ virtual/pkgconfig
+ test? (
+ nss? (
+ >=dev-libs/nss-3.9[utils]
+ )
+ )
+"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-1.3.0-optimisation.patch
+)
+
+src_prepare() {
+ default
+
+ eautoreconf
+}
+
+src_configure() {
+ local myeconfargs=(
+ $(use_enable doc docs)
+ $(use_enable static-libs static)
+ $(use_with gcrypt)
+ $(use_with gnutls)
+ $(use_with nss nspr)
+ $(use_with nss)
+ $(use_with openssl)
+
+ --disable-werror
+ --enable-mans
+ --enable-pkgconfig
+
+ --enable-concatkdf
+ --enable-pbkdf2
+ --enable-ec
+ --enable-dh
+ --enable-sha3
+
+ --enable-files
+ $(use_enable http)
+ --disable-ftp
+ )
+
+ # Bash because of bug #721128
+ CONFIG_SHELL="${BROOT}"/bin/bash econf "${myeconfargs[@]}"
+}
+
+src_test() {
+ # See https://github.com/lsh123/xmlsec/issues/280 for TZ=UTC
+ TZ=UTC SHELL="${BROOT}"/bin/bash emake TMPFOLDER="${T}" check
+}
+
+src_install() {
+ default
+
+ find "${ED}" -name '*.la' -delete || die
+}
diff --git a/dev-libs/xmlsec/xmlsec-1.3.2.ebuild b/dev-libs/xmlsec/xmlsec-1.3.2.ebuild
new file mode 100644
index 000000000000..a64cafb9198d
--- /dev/null
+++ b/dev-libs/xmlsec/xmlsec-1.3.2.ebuild
@@ -0,0 +1,94 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools
+
+DESCRIPTION="Command line tool for signing, verifying, encrypting and decrypting XML"
+HOMEPAGE="https://www.aleksey.com/xmlsec"
+SRC_URI="https://www.aleksey.com/xmlsec/download/${PN}1-${PV}.tar.gz"
+S="${WORKDIR}/${PN}1-${PV}"
+
+LICENSE="MIT"
+# Upstream consider major version bumps to be changes in either X or Y in X.Y.Z
+SLOT="0/$(ver_cut 1-2)"
+KEYWORDS="amd64 ~arm arm64 ~loong ~ppc ppc64 ~riscv ~sparc x86"
+IUSE="doc gcrypt gnutls http nss +openssl static-libs test"
+RESTRICT="!test? ( test )"
+REQUIRED_USE="
+ || ( gnutls nss openssl )
+"
+
+RDEPEND="
+ >=dev-libs/libxml2-2.7.4
+ >=dev-libs/libxslt-1.0.20
+ dev-libs/libltdl
+ gcrypt? ( >=dev-libs/libgcrypt-1.4.0:= )
+ gnutls? ( >=net-libs/gnutls-3.6.13:= )
+ nss? (
+ >=dev-libs/nspr-4.4.1
+ >=dev-libs/nss-3.9
+ )
+ openssl? ( dev-libs/openssl:= )
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ virtual/pkgconfig
+ test? (
+ nss? (
+ >=dev-libs/nss-3.9[utils]
+ )
+ )
+"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-1.3.0-optimisation.patch
+ "${FILESDIR}"/${P}-libxml2-2.12.0-includes.patch
+)
+
+src_prepare() {
+ default
+
+ eautoreconf
+}
+
+src_configure() {
+ local myeconfargs=(
+ $(use_enable doc docs)
+ $(use_enable static-libs static)
+ $(use_with gcrypt)
+ $(use_with gnutls)
+ $(use_with nss nspr)
+ $(use_with nss)
+ $(use_with openssl)
+
+ --disable-werror
+ --enable-mans
+ --enable-pkgconfig
+
+ --enable-concatkdf
+ --enable-pbkdf2
+ --enable-ec
+ --enable-dh
+ --enable-sha3
+
+ --enable-files
+ $(use_enable http)
+ --disable-ftp
+ )
+
+ # Bash because of bug #721128
+ CONFIG_SHELL="${BROOT}"/bin/bash econf "${myeconfargs[@]}"
+}
+
+src_test() {
+ # See https://github.com/lsh123/xmlsec/issues/280 for TZ=UTC
+ TZ=UTC SHELL="${BROOT}"/bin/bash emake TMPFOLDER="${T}" check
+}
+
+src_install() {
+ default
+
+ find "${ED}" -name '*.la' -delete || die
+}
diff --git a/dev-libs/xmlsec/xmlsec-1.3.3-r1.ebuild b/dev-libs/xmlsec/xmlsec-1.3.3-r1.ebuild
new file mode 100644
index 000000000000..079d34a4be68
--- /dev/null
+++ b/dev-libs/xmlsec/xmlsec-1.3.3-r1.ebuild
@@ -0,0 +1,95 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools
+
+DESCRIPTION="Command line tool for signing, verifying, encrypting and decrypting XML"
+HOMEPAGE="https://www.aleksey.com/xmlsec"
+SRC_URI="https://www.aleksey.com/xmlsec/download/${PN}1-${PV}.tar.gz"
+S="${WORKDIR}/${PN}1-${PV}"
+
+LICENSE="MIT"
+# Upstream consider major version bumps to be changes in either X or Y in X.Y.Z
+SLOT="0/$(ver_cut 1-2)"
+KEYWORDS="amd64 ~arm arm64 ~loong ~ppc ppc64 ~riscv ~sparc x86"
+IUSE="doc gcrypt gnutls http nss +openssl static-libs test"
+RESTRICT="!test? ( test )"
+REQUIRED_USE="
+ || ( gnutls nss openssl )
+"
+
+RDEPEND="
+ >=dev-libs/libxml2-2.7.4
+ >=dev-libs/libxslt-1.0.20
+ dev-libs/libltdl
+ gcrypt? ( >=dev-libs/libgcrypt-1.4.0:= )
+ gnutls? ( >=net-libs/gnutls-3.6.13:= )
+ nss? (
+ >=dev-libs/nspr-4.4.1
+ >=dev-libs/nss-3.9
+ )
+ openssl? ( dev-libs/openssl:= )
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ virtual/pkgconfig
+ test? (
+ nss? (
+ >=dev-libs/nss-3.9[utils]
+ )
+ )
+"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-1.3.0-optimisation.patch
+ "${FILESDIR}"/${PN}-1.3.3-typo-fix.patch
+ "${FILESDIR}"/${PN}-1.3.3-slibtool.patch
+)
+
+src_prepare() {
+ default
+
+ eautoreconf
+}
+
+src_configure() {
+ local myeconfargs=(
+ $(use_enable doc docs)
+ $(use_enable static-libs static)
+ $(use_with gcrypt)
+ $(use_with gnutls)
+ $(use_with nss nspr)
+ $(use_with nss)
+ $(use_with openssl)
+
+ --disable-werror
+ --enable-mans
+ --enable-pkgconfig
+
+ --enable-concatkdf
+ --enable-pbkdf2
+ --enable-ec
+ --enable-dh
+ --enable-sha3
+
+ --enable-files
+ $(use_enable http)
+ --disable-ftp
+ )
+
+ # Bash because of bug #721128
+ CONFIG_SHELL="${BROOT}"/bin/bash econf "${myeconfargs[@]}"
+}
+
+src_test() {
+ # See https://github.com/lsh123/xmlsec/issues/280 for TZ=UTC
+ TZ=UTC SHELL="${BROOT}"/bin/bash emake TMPFOLDER="${T}" check
+}
+
+src_install() {
+ default
+
+ find "${ED}" -name '*.la' -delete || die
+}
diff --git a/dev-libs/xmlsec/xmlsec-1.3.3.ebuild b/dev-libs/xmlsec/xmlsec-1.3.3.ebuild
new file mode 100644
index 000000000000..f0324bc08612
--- /dev/null
+++ b/dev-libs/xmlsec/xmlsec-1.3.3.ebuild
@@ -0,0 +1,93 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools
+
+DESCRIPTION="Command line tool for signing, verifying, encrypting and decrypting XML"
+HOMEPAGE="https://www.aleksey.com/xmlsec"
+SRC_URI="https://www.aleksey.com/xmlsec/download/${PN}1-${PV}.tar.gz"
+S="${WORKDIR}/${PN}1-${PV}"
+
+LICENSE="MIT"
+# Upstream consider major version bumps to be changes in either X or Y in X.Y.Z
+SLOT="0/$(ver_cut 1-2)"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86"
+IUSE="doc gcrypt gnutls http nss +openssl static-libs test"
+RESTRICT="!test? ( test )"
+REQUIRED_USE="
+ || ( gnutls nss openssl )
+"
+
+RDEPEND="
+ >=dev-libs/libxml2-2.7.4
+ >=dev-libs/libxslt-1.0.20
+ dev-libs/libltdl
+ gcrypt? ( >=dev-libs/libgcrypt-1.4.0:= )
+ gnutls? ( >=net-libs/gnutls-3.6.13:= )
+ nss? (
+ >=dev-libs/nspr-4.4.1
+ >=dev-libs/nss-3.9
+ )
+ openssl? ( dev-libs/openssl:= )
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ virtual/pkgconfig
+ test? (
+ nss? (
+ >=dev-libs/nss-3.9[utils]
+ )
+ )
+"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-1.3.0-optimisation.patch
+)
+
+src_prepare() {
+ default
+
+ eautoreconf
+}
+
+src_configure() {
+ local myeconfargs=(
+ $(use_enable doc docs)
+ $(use_enable static-libs static)
+ $(use_with gcrypt)
+ $(use_with gnutls)
+ $(use_with nss nspr)
+ $(use_with nss)
+ $(use_with openssl)
+
+ --disable-werror
+ --enable-mans
+ --enable-pkgconfig
+
+ --enable-concatkdf
+ --enable-pbkdf2
+ --enable-ec
+ --enable-dh
+ --enable-sha3
+
+ --enable-files
+ $(use_enable http)
+ --disable-ftp
+ )
+
+ # Bash because of bug #721128
+ CONFIG_SHELL="${BROOT}"/bin/bash econf "${myeconfargs[@]}"
+}
+
+src_test() {
+ # See https://github.com/lsh123/xmlsec/issues/280 for TZ=UTC
+ TZ=UTC SHELL="${BROOT}"/bin/bash emake TMPFOLDER="${T}" check
+}
+
+src_install() {
+ default
+
+ find "${ED}" -name '*.la' -delete || die
+}
diff --git a/dev-libs/xxhash/Manifest b/dev-libs/xxhash/Manifest
index 1bc0dddf9299..be3b82a468e2 100644
--- a/dev-libs/xxhash/Manifest
+++ b/dev-libs/xxhash/Manifest
@@ -1,3 +1,2 @@
-DIST xxhash-0.7.3.tar.gz 126405 BLAKE2B 1304251c36a839f5d1b935c0633016222d6b517932d05b84d10ae8a3ee3fccd6cfd31d8e3768f033ca8adcbf2bb9728ffd6c4ccd7a9878ef59d289b49a497656 SHA512 72949010a267f063768241b182464c386005b4078f56902fee2f7804bd01f6c27878a6a4ec2a266cd59162934a7e471264ac5757dba570a97a2b5dad7703c664
-DIST xxhash-0.8.0.tar.gz 145909 BLAKE2B 3e4e715d20ad09da2fe706a69e89a305d9f4d19588a28361f519d424c002345ba76b48d5adc0b600e34e595fed20a1ce8b8c5f22457cb05c4233810e9af9b823 SHA512 c3973b3c98bad44e1d8687ab4f9461aecd1c071bb3d320537a4c50fb7301edd13e990bab48cc6e5ca30536a814c8fa8cac24ceb1803a7e8eca30ef73d449373e
DIST xxhash-0.8.1.tar.gz 171552 BLAKE2B c0efc1aabf68130d7028a6e43fb04826de4ec485bfb5e915bd9dad823149b970f964784e14c35babd46b9811b961ce3d0be49feb1640e00780decf037427f5fc SHA512 12feedd6a1859ef55e27218dbd6dcceccbb5a4da34cd80240d2f7d44cd246c7afdeb59830c2d5b90189bb5159293532208bf5bb622250102e12d6e1bad14a193
+DIST xxhash-0.8.2.tar.gz 1141188 BLAKE2B 735408256240760778fa516e01bed428f04837eb4e059c512e924f13e4a96db6cacbbefb04dea65a37b0f25b52cf13c4927a6e7870dc8c0d45b1b955d4ba3da1 SHA512 3e3eef21432fe88bc4dd9940ccad0308fdea3537b06fa5ac0e74c1bde53413dff29c8b3fc617a8a42b9ce88fcf213311d338a31b1ce73b3729342c9e68f06c78
diff --git a/dev-libs/xxhash/xxhash-0.7.3.ebuild b/dev-libs/xxhash/xxhash-0.7.3.ebuild
deleted file mode 100644
index fbebd117c825..000000000000
--- a/dev-libs/xxhash/xxhash-0.7.3.ebuild
+++ /dev/null
@@ -1,35 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit toolchain-funcs
-
-DESCRIPTION="Extremely fast non-cryptographic hash algorithm"
-HOMEPAGE="http://www.xxhash.net"
-SRC_URI="https://github.com/Cyan4973/xxHash/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="BSD-2 GPL-2+"
-# https://abi-laboratory.pro/tracker/timeline/xxhash
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ppc ppc64 ~riscv ~s390 sparc x86 ~x64-macos"
-IUSE="static-libs"
-
-S="${WORKDIR}/xxHash-${PV}"
-
-src_compile() {
- PREFIX="${EPREFIX}/usr" \
- LIBDIR="${EPREFIX}/usr/$(get_libdir)" \
- emake AR="$(tc-getAR)" CC="$(tc-getCC)"
-}
-
-src_install() {
- PREFIX="${EPREFIX}/usr" \
- LIBDIR="${EPREFIX}/usr/$(get_libdir)" \
- MANDIR="${EPREFIX}/usr/share/man/man1" \
- emake DESTDIR="${D}" install
-
- if ! use static-libs ; then
- rm "${ED}"/usr/$(get_libdir)/libxxhash.a || die
- fi
-}
diff --git a/dev-libs/xxhash/xxhash-0.8.0.ebuild b/dev-libs/xxhash/xxhash-0.8.0.ebuild
deleted file mode 100644
index fbebd117c825..000000000000
--- a/dev-libs/xxhash/xxhash-0.8.0.ebuild
+++ /dev/null
@@ -1,35 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit toolchain-funcs
-
-DESCRIPTION="Extremely fast non-cryptographic hash algorithm"
-HOMEPAGE="http://www.xxhash.net"
-SRC_URI="https://github.com/Cyan4973/xxHash/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="BSD-2 GPL-2+"
-# https://abi-laboratory.pro/tracker/timeline/xxhash
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ppc ppc64 ~riscv ~s390 sparc x86 ~x64-macos"
-IUSE="static-libs"
-
-S="${WORKDIR}/xxHash-${PV}"
-
-src_compile() {
- PREFIX="${EPREFIX}/usr" \
- LIBDIR="${EPREFIX}/usr/$(get_libdir)" \
- emake AR="$(tc-getAR)" CC="$(tc-getCC)"
-}
-
-src_install() {
- PREFIX="${EPREFIX}/usr" \
- LIBDIR="${EPREFIX}/usr/$(get_libdir)" \
- MANDIR="${EPREFIX}/usr/share/man/man1" \
- emake DESTDIR="${D}" install
-
- if ! use static-libs ; then
- rm "${ED}"/usr/$(get_libdir)/libxxhash.a || die
- fi
-}
diff --git a/dev-libs/xxhash/xxhash-0.8.1.ebuild b/dev-libs/xxhash/xxhash-0.8.1.ebuild
index b6f70f5fe92d..4d0291f43540 100644
--- a/dev-libs/xxhash/xxhash-0.8.1.ebuild
+++ b/dev-libs/xxhash/xxhash-0.8.1.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
@@ -12,7 +12,7 @@ SRC_URI="https://github.com/Cyan4973/xxHash/archive/v${PV}.tar.gz -> ${P}.tar.gz
LICENSE="BSD-2 GPL-2+"
# https://abi-laboratory.pro/tracker/timeline/xxhash
SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-macos"
IUSE="static-libs"
S="${WORKDIR}/xxHash-${PV}"
diff --git a/dev-libs/xxhash/xxhash-0.8.2.ebuild b/dev-libs/xxhash/xxhash-0.8.2.ebuild
new file mode 100644
index 000000000000..f2f3bd70047b
--- /dev/null
+++ b/dev-libs/xxhash/xxhash-0.8.2.ebuild
@@ -0,0 +1,43 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit multilib-minimal toolchain-funcs
+
+DESCRIPTION="Extremely fast non-cryptographic hash algorithm"
+HOMEPAGE="https://xxhash.com/"
+SRC_URI="https://github.com/Cyan4973/xxHash/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+S=${WORKDIR}/xxHash-${PV}
+
+LICENSE="BSD-2 GPL-2+"
+# https://abi-laboratory.pro/tracker/timeline/xxhash
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-macos"
+
+src_prepare() {
+ default
+
+ multilib_copy_sources
+}
+
+multilib_src_compile() {
+ emake AR="$(tc-getAR)" CC="$(tc-getCC)"
+}
+
+multilib_src_test() {
+ emake CC="$(tc-getCC)" check
+}
+
+multilib_src_install() {
+ local emakeargs=(
+ DESTDIR="${D}"
+ PREFIX="${EPREFIX}"/usr
+ LIBDIR="${EPREFIX}"/usr/$(get_libdir)
+ )
+
+ emake "${emakeargs[@]}" install
+ einstalldocs
+
+ rm "${ED}"/usr/$(get_libdir)/libxxhash.a || die
+}
diff --git a/dev-libs/yajl/Manifest b/dev-libs/yajl/Manifest
index 5dcdd7a78075..881c0c515330 100644
--- a/dev-libs/yajl/Manifest
+++ b/dev-libs/yajl/Manifest
@@ -1 +1,2 @@
+DIST yajl-2.1.0-r5.tar.gz 83997 BLAKE2B 755ee1d9f8c59b730393468722dae9148cd63443a0c91f0e1894f5998b699303920b8f0748541bd280d132ee1c9dedd40ebc2a7e020a8fe65beb186f25af5402 SHA512 9e786d080803df80ec03a9c2f447501e6e8e433a6baf636824bc1d50ecf4f5f80d7dfb1d47958aeb0a30fe459bd0ef033d41bc6a79e1dc6e6b5eade930b19b02
DIST yajl-2.1.0.tar.gz 84039 BLAKE2B 53cfa60994a478050ef1ab35ecfe60cc51f166bc101ee81f42122b134cc30afd1277c3c2661f5c03dc8c8117fcfdaab8ec7c6d735a6810ea4700f1afaea60e1a SHA512 671c06081e01584d170b614dc0685f49c6d7448b673d8ed99749ce4e0ca73875af9f62df7787b919ceaecab213668ac1d2a5800b6831731ec146353552f36985
diff --git a/dev-libs/yajl/files/yajl-2.1.0-memory-leak.patch b/dev-libs/yajl/files/yajl-2.1.0-memory-leak.patch
new file mode 100644
index 000000000000..da059c405393
--- /dev/null
+++ b/dev-libs/yajl/files/yajl-2.1.0-memory-leak.patch
@@ -0,0 +1,23 @@
+From 23a122eddaa28165a6c219000adcc31ff9a8a698 Mon Sep 17 00:00:00 2001
+From: "zhang.jiujiu" <282627424@qq.com>
+Date: Tue, 7 Dec 2021 22:37:02 +0800
+Subject: [PATCH] fix memory leaks
+
+---
+ src/yajl_tree.c | 3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git a/src/yajl_tree.c b/src/yajl_tree.c
+index b9e66043..0e7bde98 100644
+--- a/src/yajl_tree.c
++++ b/src/yajl_tree.c
+@@ -456,6 +456,9 @@ yajl_val yajl_tree_parse (const char *input,
+ yajl_tree_free(v);
+ }
+ yajl_free (handle);
++ //If the requested memory is not released in time, it will cause memory leakage
++ if(ctx.root)
++ yajl_tree_free(ctx.root);
+ return NULL;
+ }
+
diff --git a/dev-libs/yajl/yajl-2.1.0-r3.ebuild b/dev-libs/yajl/yajl-2.1.0-r3.ebuild
deleted file mode 100644
index 8115000253c8..000000000000
--- a/dev-libs/yajl/yajl-2.1.0-r3.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
-
-DESCRIPTION="Small event-driven (SAX-style) JSON parser"
-HOMEPAGE="https://lloyd.github.com/yajl/"
-SRC_URI="https://github.com/lloyd/yajl/tarball/${PV} -> ${P}.tar.gz"
-S="${WORKDIR}/lloyd-yajl-66cb08c"
-
-LICENSE="ISC"
-SLOT="0/2"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ppc ppc64 ~riscv sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-IUSE=""
-
-PATCHES=(
- "${FILESDIR}"/${P}-uclibc.patch # git master 5d4bf525
- "${FILESDIR}"/${P}-pkg-config.patch # downstream
-)
-
-src_prepare() {
- cmake_src_prepare
- multilib_copy_sources
-}
-
-multilib_src_test() {
- cd "${S}"/test/parsing || die
- ./run_tests.sh "${BUILD_DIR}"/test/parsing/yajl_test || die
-}
-
-src_install() {
- cmake-multilib_src_install
- find "${D}" -name libyajl_s.a -delete || die
-}
diff --git a/dev-libs/yajl/yajl-2.1.0-r4.ebuild b/dev-libs/yajl/yajl-2.1.0-r4.ebuild
new file mode 100644
index 000000000000..85befd906892
--- /dev/null
+++ b/dev-libs/yajl/yajl-2.1.0-r4.ebuild
@@ -0,0 +1,37 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake-multilib multibuild
+
+DESCRIPTION="Small event-driven (SAX-style) JSON parser"
+HOMEPAGE="https://lloyd.github.io/yajl/"
+SRC_URI="https://github.com/lloyd/yajl/archive/${PV}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/lloyd-yajl-66cb08c"
+
+LICENSE="ISC"
+SLOT="0/2"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
+IUSE=""
+
+PATCHES=(
+ "${FILESDIR}"/${P}-uclibc.patch # git master 5d4bf525
+ "${FILESDIR}"/${P}-pkg-config.patch # downstream
+ "${FILESDIR}"/${P}-memory-leak.patch # Bug 908036
+)
+
+src_prepare() {
+ cmake_src_prepare
+ multilib_copy_sources
+}
+
+multilib_src_test() {
+ cd "${S}"/test/parsing || die
+ ./run_tests.sh "${BUILD_DIR}"/test/parsing/yajl_test || die
+}
+
+src_install() {
+ cmake-multilib_src_install
+ find "${D}" -name libyajl_s.a -delete || die
+}
diff --git a/dev-libs/yajl/yajl-2.1.0-r5.ebuild b/dev-libs/yajl/yajl-2.1.0-r5.ebuild
new file mode 100644
index 000000000000..90df828dd9c3
--- /dev/null
+++ b/dev-libs/yajl/yajl-2.1.0-r5.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-multilib multibuild
+
+DESCRIPTION="Small event-driven (SAX-style) JSON parser"
+HOMEPAGE="https://lloyd.github.io/yajl/"
+SRC_URI="https://github.com/lloyd/yajl/archive/refs/tags/${PV}.tar.gz -> ${P}-r5.tar.gz"
+
+LICENSE="ISC"
+SLOT="0/2"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
+IUSE=""
+
+PATCHES=(
+ "${FILESDIR}"/${P}-uclibc.patch # git master 5d4bf525
+ "${FILESDIR}"/${P}-pkg-config.patch # downstream
+ "${FILESDIR}"/${P}-memory-leak.patch # Bug 908036
+)
+
+src_prepare() {
+ cmake_src_prepare
+ multilib_copy_sources
+}
+
+multilib_src_test() {
+ cd "${S}"/test/parsing || die
+ ./run_tests.sh "${BUILD_DIR}"/test/parsing/yajl_test || die
+}
+
+src_install() {
+ cmake-multilib_src_install
+ find "${D}" -name libyajl_s.a -delete || die
+}
diff --git a/dev-libs/yascreen/Manifest b/dev-libs/yascreen/Manifest
deleted file mode 100644
index 4b013b565da6..000000000000
--- a/dev-libs/yascreen/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST yascreen-1.86.tar.xz 26104 BLAKE2B 4716c1eb2a41468fbb0ecbcda7c34a031d97f5292632501ce4c9740de071f8c39e1c7d9f0f8f6c5fbdccaef5908e3751b25ebc7e0c6dab3dff63b2a99f12eefa SHA512 dce785c477395b0c78c5054682dd8ccfbe3243ede966300c3e95e25fac6320f820aa1f0a3b2ce37544b3b45adb94eccccaf32187b145cd2bba43367e166b9e7c
diff --git a/dev-libs/yascreen/files/yascreen-1.86-fix-install.patch b/dev-libs/yascreen/files/yascreen-1.86-fix-install.patch
deleted file mode 100644
index 0e584bb0ece9..000000000000
--- a/dev-libs/yascreen/files/yascreen-1.86-fix-install.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-From: Boian Bonev <bbonev@ipacct.com>
-Date: Tue, 21 Sep 2021 03:36:23 +0300
-Subject: [PATCH] fix problems with install
-
---- a/Makefile.main
-+++ b/Makefile.main
-@@ -108,12 +108,12 @@ yascreen.pc: yascreen.pc.in
-
- install: libyascreen.a libyascreen.so yascreen.pc yascreen.3
- $(INSTALL) -Ds -m 644 -t $(DESTDIR)$(PREFIX)$(LIBDIR) libyascreen.a
-- $(INSTALL) -Ds -m 644 -t $(DESTDIR)$(PREFIX)$(LIBDIR)/pkgconfig/ yascreen.pc
-+ $(INSTALL) -D -m 644 -t $(DESTDIR)$(PREFIX)$(LIBDIR)/pkgconfig/ yascreen.pc
- ln -fs libyascreen.so.$(SOVERF) $(DESTDIR)$(PREFIX)$(LIBDIR)libyascreen.so.$(SOVERM)
- ln -fs libyascreen.so.$(SOVERM) $(DESTDIR)$(PREFIX)$(LIBDIR)libyascreen.so
- $(INSTALL) -Ds -m 644 -s -t $(DESTDIR)$(PREFIX)$(LIBDIR) libyascreen.so.$(SOVERF)
-- $(INSTALL) -Ds -m 644 -t $(DESTDIR)$(PREFIX)$(INCDIR) yascreen.h
-- $(INSTALL) -TDs -m 0644 yascreen.3 $(DESTDIR)$(PREFIX)/share/man/man3/yascreen.3
-+ $(INSTALL) -D -m 644 -t $(DESTDIR)$(PREFIX)$(INCDIR) yascreen.h
-+ $(INSTALL) -TD -m 0644 yascreen.3 $(DESTDIR)$(PREFIX)/share/man/man3/yascreen.3
-
- clean:
- rm -f yastest yastest.shared yastest.o yascreen.o libyascreen.a libyascreen.so libyascreen.so.$(SOVERM) libyascreen.so.$(SOVERF) yascreen.pc
diff --git a/dev-libs/yascreen/metadata.xml b/dev-libs/yascreen/metadata.xml
deleted file mode 100644
index a08688b11e34..000000000000
--- a/dev-libs/yascreen/metadata.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="person">
- <email>arthurzam@gentoo.org</email>
- <name>Arthur Zamarin</name>
- </maintainer>
- <upstream>
- <remote-id type="github">bbonev/yascreen</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/dev-libs/yascreen/yascreen-1.86-r1.ebuild b/dev-libs/yascreen/yascreen-1.86-r1.ebuild
deleted file mode 100644
index 6ce556efe3ab..000000000000
--- a/dev-libs/yascreen/yascreen-1.86-r1.ebuild
+++ /dev/null
@@ -1,36 +0,0 @@
-# Copyright 2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit toolchain-funcs
-
-DESCRIPTION="Yet Another Screen Library - curses replacement"
-HOMEPAGE="https://github.com/bbonev/yascreen"
-SRC_URI="https://github.com/bbonev/yascreen/releases/download/v${PV}/${P}.tar.xz"
-
-LICENSE="LGPL-3+"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-PATCHES=(
- "${FILESDIR}/${P}-fix-install.patch"
-)
-
-src_prepare() {
- default
- sed -e '/INSTALL/s/-Ds/-D/' \
- -e '/INSTALL/s/-s//' \
- -e "s:/usr/local:${EPREFIX}/usr:" \
- -e "s:/lib/:/$(get_libdir)/:" \
- -i Makefile.main || die
-}
-
-src_compile() {
- emake CC="$(tc-getCC)" AR="$(tc-getAR)" RANLIB="$(tc-getRANLIB)" NO_FLTO=1
-}
-
-src_install() {
- default
- find "${D}" -name '*.a' -delete || die
-}
diff --git a/dev-libs/yaz/Manifest b/dev-libs/yaz/Manifest
index 69684de16847..aada9f520b75 100644
--- a/dev-libs/yaz/Manifest
+++ b/dev-libs/yaz/Manifest
@@ -1,2 +1,2 @@
-DIST yaz-3.0.53.tar.gz 2164681 BLAKE2B e42a97d63e031f14234258c7c44735a615ebc83774c1532d7e1b50f1f231dc933168e41a1b35a139ec193e694f6253336a666daad627a4aae9a0c7ffe34ca360 SHA512 537d54757e401c1b29ad2120209b2cd038f26ff7f43ffc3c1e22808e12a1580aedee3880478e951fd4b3057ca9af4a34afa2a64c0b8ffcbec24f76deb83ddc89
-DIST yaz-5.31.0.tar.gz 2599598 BLAKE2B d56b3ccd3981d406bc09aeb7c9619e23f6c322cd80bf01db3a0621a40922dbbf32be34e69990eea0f8abbad84ed66d086d883db22693f3aab596c17001b4355b SHA512 93fe2320e474e3874704b9a899aed789e6128b5c626bb0c49bf650fd9ce0c107af4da6a13e5d1a56c98d018bfbb6cb918b53b6ce93e42bfeb8da0dfacbdb6667
+DIST yaz-5.32.0.tar.gz 2607933 BLAKE2B 9119b77a262ef2d6f0b1140425384575218a5b93cbe50a716bb254b07e2427eaad55de3c4590d0d6843af31b987b201fa733fdf010e463648a35b5600d055d5a SHA512 a4d40b5c20b1d4acab0e687235eda361fe0550c00396f6aa26d1965d2ecdd217433ba65160eda07fcc4c263d9e2e47b607e4b668412f81123b2904b9deece763
+DIST yaz-5.34.0.tar.gz 2656382 BLAKE2B 7a16974dc815c1121aaea4179843a6982600a0491c8c95a03f28cf0c68725b986ebc39049e2159cd0d105b23811d35ae3d3538a83e945b64951cc9215efe7f3d SHA512 0c835b98b4640e077459c9ead8043cea941a75f39dace9501efbb56c38837b1525349b8668c135ac0753ba7a4803e38d9c90d7bf3f6f2951c0e7e863b4c51f65
diff --git a/dev-libs/yaz/files/yaz-3.0.47-icu-automagic.patch b/dev-libs/yaz/files/yaz-3.0.47-icu-automagic.patch
deleted file mode 100644
index dd78635e013e..000000000000
--- a/dev-libs/yaz/files/yaz-3.0.47-icu-automagic.patch
+++ /dev/null
@@ -1,25 +0,0 @@
---- a/configure.ac
-+++ b/configure.ac
-@@ -367,14 +367,14 @@
-
- dnl
- dnl
--AC_CHECK_ICU([3.4],[
-- if test "$xml_enabled" = "true"; then
-- ICU_CPPFLAGS="$ICU_CPPFLAGS -D YAZ_HAVE_ICU=1"
-- else
-- ICU_CPPFLAGS=""
-- AC_MSG_WARN([ICU support disabled because XML support is unavailable])
-- fi
--])
-+dnl ------ ICU
-+AC_ARG_ENABLE(icu, [ --enable-icu enable ICU support],[enable_icu=$enableval],[enable_icu=no])
-+if test "$enable_icu" = "yes"; then
-+ AC_CHECK_ICU([3.4],[
-+ ICU_CPPFLAGS="$ICU_CPPFLAGS -D YAZ_HAVE_ICU=1"],[
-+ AC_MSG_ERROR([For ICU support please install libicu34-dev or similar])
-+ ])
-+fi
- dnl
- dnl ------ Memory debugging
- AC_ARG_ENABLE([memdebug],[ --enable-memdebug enable memory debugging],[enable_memdebug=$enableval],[enable_memdebug=none])
diff --git a/dev-libs/yaz/files/yaz-5.34.0-fix-atoi-header.patch b/dev-libs/yaz/files/yaz-5.34.0-fix-atoi-header.patch
new file mode 100644
index 000000000000..c68b85c7017e
--- /dev/null
+++ b/dev-libs/yaz/files/yaz-5.34.0-fix-atoi-header.patch
@@ -0,0 +1,54 @@
+https://bugs.gentoo.org/923291
+https://github.com/indexdata/yaz/issues/104
+https://github.com/indexdata/yaz/pull/105
+
+From 3c61afce2c2517369c2bf1ba6846ff17f81c4b18 Mon Sep 17 00:00:00 2001
+From: Mamoru TASAKA <mtasaka@fedoraproject.org>
+Date: Tue, 21 Nov 2023 23:47:18 +0900
+Subject: [PATCH] FIX: fix build error with glibc 2.39
+
+glibc 2.39 does some refactoring for header file inclusion
+and some additional header inclusion is needed for yaz
+source.
+
+Closes #104 .
+--- a/src/record_conv.c
++++ b/src/record_conv.c
+@@ -11,6 +11,7 @@
+ #include <config.h>
+ #endif
+
++#include <stdlib.h>
+ #include <string.h>
+ #include <yaz/log.h>
+ #include <yaz/yaz-iconv.h>
+--- a/src/xmlquery.c
++++ b/src/xmlquery.c
+@@ -10,6 +10,7 @@
+ #endif
+
+ #include <stdio.h>
++#include <stdlib.h>
+ #include <string.h>
+ #include <assert.h>
+
+--- a/test/test_record_conv.c
++++ b/test/test_record_conv.c
+@@ -9,6 +9,7 @@
+ #include <yaz/record_conv.h>
+ #include <yaz/test.h>
+ #include <yaz/wrbuf.h>
++#include <stdlib.h>
+ #include <string.h>
+ #include <yaz/log.h>
+ #include <yaz/proto.h>
+--- a/test/test_retrieval.c
++++ b/test/test_retrieval.c
+@@ -9,6 +9,7 @@
+ #include <yaz/retrieval.h>
+ #include <yaz/test.h>
+ #include <yaz/wrbuf.h>
++#include <stdlib.h>
+ #include <string.h>
+ #include <yaz/log.h>
+ #include <yaz/oid_db.h>
diff --git a/dev-libs/yaz/files/yaz-5.34.0-fix-libxml2-2.12.patch b/dev-libs/yaz/files/yaz-5.34.0-fix-libxml2-2.12.patch
new file mode 100644
index 000000000000..379d15e4ab2d
--- /dev/null
+++ b/dev-libs/yaz/files/yaz-5.34.0-fix-libxml2-2.12.patch
@@ -0,0 +1,108 @@
+https://bugs.gentoo.org/917537
+https://github.com/indexdata/yaz/issues/102
+https://github.com/indexdata/yaz/pull/103
+
+From b10643c42ea64b1ee09fe53aec2490129f903bcb Mon Sep 17 00:00:00 2001
+From: Mamoru TASAKA <mtasaka@fedoraproject.org>
+Date: Tue, 21 Nov 2023 23:39:48 +0900
+Subject: [PATCH] FIX: fix build error with libxml2 2.12.0
+
+libxml2 2.12.0 changed which header file to define functions
+and header inclusion. Due to this refactoring, some yaz source
+files need additional inclusion of libxml2 header file,
+especially for libxml/parser.h .
+
+Closes #102 .
+--- a/client/client.c
++++ b/client/client.c
+@@ -73,6 +73,10 @@
+ #include <readline/history.h>
+ #endif
+
++#if YAZ_HAVE_XML2
++#include <libxml/parser.h>
++#endif
++
+
+ #include "admin.h"
+ #include "tabcomplete.h"
+--- a/src/record_render.c
++++ b/src/record_render.c
+@@ -23,6 +23,7 @@
+ #include <yaz/base64.h>
+
+ #if YAZ_HAVE_XML2
++#include <libxml/parser.h>
+ #include <libxml/xpath.h>
+ #include <libxml/xpathInternals.h>
+ #endif
+--- a/test/test_ccl.c
++++ b/test/test_ccl.c
+@@ -11,6 +11,9 @@
+ #include <yaz/log.h>
+ #include <yaz/test.h>
+
++#if YAZ_HAVE_XML2
++#include <libxml/parser.h>
++#endif
+
+ static int tst_ccl_query(CCL_bibset bibset,
+ const char *query,
+--- a/test/test_icu.c
++++ b/test/test_icu.c
+@@ -28,6 +28,7 @@
+ #endif
+
+ #if YAZ_HAVE_XML2
++#include <libxml/parser.h>
+ #include <libxml/xmlmemory.h>
+ #endif
+
+--- a/test/test_xml_include.c
++++ b/test/test_xml_include.c
+@@ -12,6 +12,9 @@
+
+ #include <yaz/xml_include.h>
+ #include <yaz/test.h>
++#if YAZ_HAVE_XML2
++#include <libxml/parser.h>
++#endif
+
+ static void tst_xml_include1(void)
+ {
+--- a/util/cclsh.c
++++ b/util/cclsh.c
+@@ -20,6 +20,9 @@
+ #include <readline/history.h>
+ #endif
+
++#if YAZ_HAVE_XML2
++#include <libxml/parser.h>
++#endif
+
+ static int debug = 0;
+ static char *prog;
+--- a/util/yaz-icu.c
++++ b/util/yaz-icu.c
+@@ -17,6 +17,8 @@
+
+ #if YAZ_HAVE_ICU
+
++#include <libxml/parser.h>
++
+ #include <unicode/ucnv.h>
+ #include <unicode/ustring.h>
+ #include <unicode/ucol.h>
+--- a/util/yaz-record-conv.c
++++ b/util/yaz-record-conv.c
+@@ -13,6 +13,10 @@
+ #include <yaz/record_conv.h>
+ #include <yaz/backtrace.h>
+
++#if YAZ_HAVE_XML2
++#include <libxml/parser.h>
++#endif
++
+ const char *prog = "yaz-record-conv";
+
+ static void usage(void)
diff --git a/dev-libs/yaz/metadata.xml b/dev-libs/yaz/metadata.xml
index ef72ab976355..7ad7fd5c5020 100644
--- a/dev-libs/yaz/metadata.xml
+++ b/dev-libs/yaz/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-needed -->
- <use>
- <flag name="ziffy">Install ziffy, a promiscuous Z39.50 APDU sniffer</flag>
- </use>
- <upstream>
- <remote-id type="github">indexdata/yaz</remote-id>
- </upstream>
+ <!-- maintainer-needed -->
+ <upstream>
+ <remote-id type="github">indexdata/yaz</remote-id>
+ </upstream>
+ <use>
+ <flag name="ziffy">Install ziffy, a promiscuous Z39.50 APDU sniffer</flag>
+ </use>
</pkgmetadata>
diff --git a/dev-libs/yaz/yaz-3.0.53.ebuild b/dev-libs/yaz/yaz-3.0.53.ebuild
deleted file mode 100644
index 847579e85f6b..000000000000
--- a/dev-libs/yaz/yaz-3.0.53.ebuild
+++ /dev/null
@@ -1,66 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit autotools
-
-DESCRIPTION="C/C++ toolkit for Z39.50v3 clients and servers"
-HOMEPAGE="http://www.indexdata.dk/yaz"
-SRC_URI="http://ftp.indexdata.dk/pub/${PN}/${P}.tar.gz"
-
-LICENSE="BSD GPL-2"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm ~arm64 ~hppa ~ia64 ~mips ~ppc ppc64 ~s390 ~sparc x86"
-IUSE="debug icu gnutls tcpd ziffy"
-
-RDEPEND="
- dev-libs/libxml2
- dev-libs/libxslt
- sys-libs/readline:=
- sys-libs/ncurses:=
- virtual/libintl
- !gnutls? ( dev-libs/openssl:0= )
- gnutls? ( net-libs/gnutls:= )
- icu? ( dev-libs/icu:= )
- tcpd? ( sys-apps/tcp-wrappers )
- ziffy? ( net-libs/libpcap )
-"
-DEPEND="${RDEPEND}"
-BDEPEND="
- dev-lang/tcl:0
- sys-devel/bison
- >=sys-devel/libtool-2
- virtual/pkgconfig
-"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-3.0.47-icu-automagic.patch
-)
-
-src_prepare() {
- default
- AT_M4DIR="m4" eautoreconf
-}
-
-src_configure() {
- econf \
- --enable-static \
- --enable-shared \
- $(use_enable debug memdebug) \
- $(use_with gnutls) \
- $(use_enable icu) \
- $(use_enable tcpd tcpd /usr)
-}
-
-src_install() {
- local docdir="/usr/share/doc/${PF}"
- emake DESTDIR="${D}" docdir="${EPREFIX}/${docdir}" install
-
- dodir "${docdir}"/html
- mv -f "${ED}"/${docdir}/*.{html,png} "${ED}"/${docdir}/html/ || die "Failed to move HTML docs"
- mv -f "${ED}"/usr/share/doc/${PN}/common "${ED}"/${docdir}/html/ || die "Failed to move HTML docs"
- rm -rf "${ED}"/usr/share/doc/${PN} || die
-
- dodoc ChangeLog NEWS README
-}
diff --git a/dev-libs/yaz/yaz-5.31.0.ebuild b/dev-libs/yaz/yaz-5.31.0.ebuild
deleted file mode 100644
index bb0efeb67186..000000000000
--- a/dev-libs/yaz/yaz-5.31.0.ebuild
+++ /dev/null
@@ -1,61 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit autotools
-
-DESCRIPTION="C/C++ toolkit for Z39.50v3 clients and servers"
-HOMEPAGE="http://www.indexdata.dk/yaz"
-SRC_URI="http://ftp.indexdata.dk/pub/${PN}/${P}.tar.gz"
-
-LICENSE="BSD GPL-2"
-SLOT="0/5"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86"
-IUSE="gnutls tcpd ziffy"
-
-RDEPEND="
- dev-libs/icu:=
- dev-libs/libxml2
- dev-libs/libxslt
- sys-libs/readline:=
- sys-libs/ncurses:=
- virtual/libintl
- !gnutls? ( dev-libs/openssl:0= )
- gnutls? ( net-libs/gnutls:= )
- tcpd? ( sys-apps/tcp-wrappers )
- ziffy? ( net-libs/libpcap )
-"
-DEPEND="${RDEPEND}"
-BDEPEND="
- dev-lang/tcl:0
- sys-devel/bison
- >=sys-devel/libtool-2
- virtual/pkgconfig
-"
-
-src_prepare() {
- default
- eautoreconf
-}
-
-src_configure() {
- econf \
- --enable-shared \
- $(use_with gnutls) \
- $(use_enable tcpd tcpd /usr)
-}
-
-src_install() {
- local docdir="/usr/share/doc/${PF}"
- emake DESTDIR="${D}" docdir="${EPREFIX}/${docdir}" install
-
- find "${D}" -name '*.la' -delete || die
-
- dodir "${docdir}"/html
- mv -f "${ED}"/${docdir}/*.{html,png} "${ED}"/${docdir}/html/ || die "Failed to move HTML docs"
- mv -f "${ED}"/usr/share/doc/${PN}/common "${ED}"/${docdir}/html/ || die "Failed to move HTML docs"
- rm -rf "${ED}"/usr/share/doc/${PN} || die
-
- dodoc ChangeLog NEWS
-}
diff --git a/dev-libs/yaz/yaz-5.32.0.ebuild b/dev-libs/yaz/yaz-5.32.0.ebuild
new file mode 100644
index 000000000000..1b8c5ff2c9e8
--- /dev/null
+++ b/dev-libs/yaz/yaz-5.32.0.ebuild
@@ -0,0 +1,67 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools
+
+DESCRIPTION="C/C++ toolkit for Z39.50v3 clients and servers"
+HOMEPAGE="https://www.indexdata.com/resources/software/yaz/"
+
+if [[ ${PV} == *9999 ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/indexdata/yaz.git"
+else
+ SRC_URI="https://ftp.indexdata.com/pub/${PN}/${P}.tar.gz"
+ KEYWORDS="~alpha amd64 arm ~arm64 ~hppa ~ia64 ~mips ~ppc ppc64 ~s390 ~sparc x86"
+fi
+
+LICENSE="BSD GPL-2"
+SLOT="0/5"
+IUSE="gnutls tcpd ziffy"
+
+RDEPEND="
+ dev-libs/icu:=
+ dev-libs/libxml2
+ dev-libs/libxslt
+ sys-libs/readline:=
+ sys-libs/ncurses:=
+ virtual/libintl
+ !gnutls? ( dev-libs/openssl:0= )
+ gnutls? ( net-libs/gnutls:= )
+ tcpd? ( sys-apps/tcp-wrappers )
+ ziffy? ( net-libs/libpcap )
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ dev-lang/tcl:0
+ app-alternatives/yacc
+ >=dev-build/libtool-2
+ virtual/pkgconfig
+"
+
+src_prepare() {
+ default
+ eautoreconf
+}
+
+src_configure() {
+ econf \
+ --enable-shared \
+ $(use_with gnutls) \
+ $(use_enable tcpd tcpd /usr)
+}
+
+src_install() {
+ local docdir="/usr/share/doc/${PF}"
+ emake DESTDIR="${D}" docdir="${EPREFIX}/${docdir}" install
+
+ find "${D}" -name '*.la' -delete || die
+
+ dodir "${docdir}"/html
+ mv -f "${ED}"/${docdir}/*.{html,png} "${ED}"/${docdir}/html/ || die "Failed to move HTML docs"
+ mv -f "${ED}"/usr/share/doc/${PN}/common "${ED}"/${docdir}/html/ || die "Failed to move HTML docs"
+ rm -rf "${ED}"/usr/share/doc/${PN} || die
+
+ dodoc ChangeLog NEWS
+}
diff --git a/dev-libs/yaz/yaz-5.34.0.ebuild b/dev-libs/yaz/yaz-5.34.0.ebuild
new file mode 100644
index 000000000000..1e2b41c93c32
--- /dev/null
+++ b/dev-libs/yaz/yaz-5.34.0.ebuild
@@ -0,0 +1,76 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools
+
+DESCRIPTION="C/C++ toolkit for Z39.50v3 clients and servers"
+HOMEPAGE="https://www.indexdata.com/resources/software/yaz/"
+
+if [[ ${PV} == *9999 ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/indexdata/yaz.git"
+else
+ SRC_URI="https://ftp.indexdata.com/pub/${PN}/${P}.tar.gz"
+ KEYWORDS="~alpha amd64 arm ~arm64 ~hppa ~ia64 ~mips ~ppc ppc64 ~s390 ~sparc x86"
+fi
+
+LICENSE="BSD GPL-2"
+SLOT="0/5"
+IUSE="gnutls tcpd ziffy"
+
+RDEPEND="
+ dev-libs/icu:=
+ dev-libs/libxml2
+ dev-libs/libxslt
+ sys-libs/readline:=
+ sys-libs/ncurses:=
+ virtual/libintl
+ !gnutls? ( dev-libs/openssl:0= )
+ gnutls? ( net-libs/gnutls:= )
+ tcpd? ( sys-apps/tcp-wrappers )
+ ziffy? ( net-libs/libpcap )
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ dev-lang/tcl:0
+ app-alternatives/yacc
+ >=dev-build/libtool-2
+ virtual/pkgconfig
+"
+
+PATCHES=(
+ "${FILESDIR}"/yaz-5.34.0-fix-atoi-header.patch
+ "${FILESDIR}"/yaz-5.34.0-fix-libxml2-2.12.patch
+)
+
+src_prepare() {
+ default
+
+ # Hardcoded assumption of libraries residing in lib/, bug #730016
+ sed -i -e "s|/lib\"|/$(get_libdir)\"|" configure.ac || die
+
+ eautoreconf
+}
+
+src_configure() {
+ econf \
+ --enable-shared \
+ $(use_with gnutls) \
+ $(use_enable tcpd tcpd /usr)
+}
+
+src_install() {
+ local docdir="/usr/share/doc/${PF}"
+ emake DESTDIR="${D}" docdir="${EPREFIX}/${docdir}" install
+
+ find "${D}" -name '*.la' -delete || die
+
+ dodir "${docdir}"/html
+ mv -f "${ED}"/${docdir}/*.{html,png} "${ED}"/${docdir}/html/ || die "Failed to move HTML docs"
+ mv -f "${ED}"/usr/share/doc/${PN}/common "${ED}"/${docdir}/html/ || die "Failed to move HTML docs"
+ rm -rf "${ED}"/usr/share/doc/${PN} || die
+
+ dodoc ChangeLog NEWS
+}
diff --git a/dev-libs/yyjson/Manifest b/dev-libs/yyjson/Manifest
new file mode 100644
index 000000000000..22647289c4ba
--- /dev/null
+++ b/dev-libs/yyjson/Manifest
@@ -0,0 +1,2 @@
+DIST yyjson-0.8.0.tar.gz 1529369 BLAKE2B b76acfbc48a3520129c5ecffd61b5eb06a1a0103b09e31cf45ead6ddb9876c30c0d096e104bb73a57c128b42fa9b5dd7af700144d61dd51e2ac14f188e5e5195 SHA512 3872b46930fd0f4d659004a4d08cdb1c506ccc2bf2888f5ee50523929a2b72f9d8e72ee71dc958ebca630f1886858d4350521bffc18c300a27d25436833384a9
+DIST yyjson-0.9.0.tar.gz 1531794 BLAKE2B 070b9921dbe897d345bae4fa653b48ec38a0d7a0b27a7dba476b7c62d18f0d0b79484d7a66e1fb80b0885a6ebf78a9e3a21240407736ae5106cbbc5a9bc5a677 SHA512 4b9ca85096ccfe2f513a5869eb63b175f44c67785940e02414f6a586d7dd7b772fed77a1775d9416a5f1bf17f20e18a31f0dc4e65be263019d9b95bf95366219
diff --git a/dev-libs/yyjson/files/yyjson-0.7.0-disable-werror.patch b/dev-libs/yyjson/files/yyjson-0.7.0-disable-werror.patch
new file mode 100644
index 000000000000..5dd1aacbfca7
--- /dev/null
+++ b/dev-libs/yyjson/files/yyjson-0.7.0-disable-werror.patch
@@ -0,0 +1,12 @@
+Upstream sets -Werror by default, this is not recommended in Gentoo.
+
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -325,7 +325,6 @@
+ set(YYJSON_BASE_FLAGS
+ -pedantic
+ -pedantic-errors
+- -Werror
+ -Wall
+ -Wextra
+ -Wconversion
diff --git a/dev-libs/yyjson/metadata.xml b/dev-libs/yyjson/metadata.xml
new file mode 100644
index 000000000000..e0e600014091
--- /dev/null
+++ b/dev-libs/yyjson/metadata.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM 'https://www.gentoo.org/dtd/metadata.dtd'>
+<pkgmetadata>
+ <maintainer type="person">
+ <email>ceamac@gentoo.org</email>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">ibireme/yyjson</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/yyjson/yyjson-0.8.0.ebuild b/dev-libs/yyjson/yyjson-0.8.0.ebuild
new file mode 100644
index 000000000000..d59a980f33bf
--- /dev/null
+++ b/dev-libs/yyjson/yyjson-0.8.0.ebuild
@@ -0,0 +1,40 @@
+# Copyright 2023-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+DESCRIPTION="Fast JSON library in C"
+HOMEPAGE="https://github.com/ibireme/yyjson https://ibireme.github.io/yyjson/doc/doxygen/html/"
+SRC_URI="https://github.com/ibireme/yyjson/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT test? ( BSD )"
+SLOT="0/${PV}"
+KEYWORDS="amd64 ~arm arm64 ~loong ~mips ~ppc ppc64 ~riscv ~sparc ~x86"
+
+IUSE="doc test"
+
+RESTRICT="!test? ( test )"
+
+BDEPEND="doc? ( app-text/doxygen )"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-0.7.0-disable-werror.patch
+)
+
+src_configure() {
+ local mycmakeargs=(
+ -DYYJSON_BUILD_DOC=$(usex doc)
+ -DYYJSON_BUILD_TESTS=$(usex test)
+ -DYYJSON_ENABLE_VALGRIND=OFF
+ )
+
+ cmake_src_configure
+}
+
+src_install() {
+ cmake_src_install
+
+ use doc && dodoc -r "${BUILD_DIR}"/doxygen/html
+}
diff --git a/dev-libs/yyjson/yyjson-0.9.0.ebuild b/dev-libs/yyjson/yyjson-0.9.0.ebuild
new file mode 100644
index 000000000000..d9b3e44def4d
--- /dev/null
+++ b/dev-libs/yyjson/yyjson-0.9.0.ebuild
@@ -0,0 +1,40 @@
+# Copyright 2023-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+DESCRIPTION="Fast JSON library in C"
+HOMEPAGE="https://github.com/ibireme/yyjson https://ibireme.github.io/yyjson/doc/doxygen/html/"
+SRC_URI="https://github.com/ibireme/yyjson/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT test? ( BSD )"
+SLOT="0/0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86"
+
+IUSE="doc test"
+
+RESTRICT="!test? ( test )"
+
+BDEPEND="doc? ( app-text/doxygen )"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-0.7.0-disable-werror.patch
+)
+
+src_configure() {
+ local mycmakeargs=(
+ -DYYJSON_BUILD_DOC=$(usex doc)
+ -DYYJSON_BUILD_TESTS=$(usex test)
+ -DYYJSON_ENABLE_VALGRIND=OFF
+ )
+
+ cmake_src_configure
+}
+
+src_install() {
+ cmake_src_install
+
+ use doc && dodoc -r "${BUILD_DIR}"/doxygen/html
+}
diff --git a/dev-libs/zix/Manifest b/dev-libs/zix/Manifest
new file mode 100644
index 000000000000..00107cd0259d
--- /dev/null
+++ b/dev-libs/zix/Manifest
@@ -0,0 +1 @@
+DIST zix-0.4.2.tar.xz 76492 BLAKE2B 46d9e3049632abe8fe60928fa4d27ab5a94e86549dbde999c8215f951fe6f70f29124c89de9639c07a3bfb06da6ce902ea2a59f431ea6015d2c7a38df2f6eff6 SHA512 b8fb931a3e9ab5a67f6da57a07bf10b91e7f861c8cf39db14c49c083a9983a0971cc6bc6abcb54a83c00471b386e377cb9bb51e2edd945ba07b9ae43a35964cc
diff --git a/dev-libs/zix/metadata.xml b/dev-libs/zix/metadata.xml
new file mode 100644
index 000000000000..2880a8c8adec
--- /dev/null
+++ b/dev-libs/zix/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="project">
+ <email>proaudio@gentoo.org</email>
+ <name>Gentoo ProAudio Project</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="gitlab">drobilla/zix</remote-id>
+ <remote-id type="github">drobilla/zix</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/zix/zix-0.4.2.ebuild b/dev-libs/zix/zix-0.4.2.ebuild
new file mode 100644
index 000000000000..23580187808d
--- /dev/null
+++ b/dev-libs/zix/zix-0.4.2.ebuild
@@ -0,0 +1,48 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit meson-multilib
+
+DESCRIPTION="Lightweight C library of portability wrappers and data structures"
+#HOMEPAGE="https://drobilla.net/software/zix.html"
+HOMEPAGE="https://gitlab.com/drobilla/zix"
+SRC_URI="https://download.drobilla.net/${P}.tar.xz"
+
+LICENSE="ISC"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ppc ppc64 ~riscv ~sparc x86"
+IUSE="doc test"
+RESTRICT="!test? ( test )"
+
+BDEPEND="
+ virtual/pkgconfig
+ doc? (
+ app-text/doxygen
+ dev-python/sphinx
+ dev-python/sphinx-lv2-theme
+ dev-python/sphinxygen
+ )
+"
+
+src_prepare() {
+ default
+
+ # fix doc installation path
+ sed -i "s/versioned_name/'${PF}'/g" doc/html/meson.build doc/singlehtml/meson.build || die
+}
+
+multilib_src_configure() {
+ local emesonargs=(
+ $(meson_native_use_feature doc docs)
+ $(meson_feature test tests)
+ )
+
+ meson_src_configure
+}
+
+multilib_src_install_all() {
+ local DOCS=( NEWS README.md )
+ einstalldocs
+}
diff --git a/dev-libs/zlog/Manifest b/dev-libs/zlog/Manifest
deleted file mode 100644
index 8ed7d638f59e..000000000000
--- a/dev-libs/zlog/Manifest
+++ /dev/null
@@ -1,2 +0,0 @@
-DIST zlog-v1.2.14.tar.gz 123729 BLAKE2B 6985898af81ecb3b86c941dea1402dc03c80a773b2791d56228b4627f6e6ea62f27442536e5126169b5f3f77425cba49bd3b50dc0d7ffc5ac3d88f5001afc3e2 SHA512 e16524e8caa8a3c79ce95074387b87a0025e0fd9a7e35a09ddf49a41839e36a3fe42f5ad785ec786573b6c4c633f493845c7d5cbf0b03717affe4659ea1d53ef
-DIST zlog-v1.2.15.tar.gz 124794 BLAKE2B a60ef362269d48672c7f0f4321b6c4f50241c7c1abcc2c3a3a888d7838018edaba103cbb985fda02db719dcb8553bad3f84bfd715f3fdb34ad64557107d24e44 SHA512 88c741b58e7857c573e4da0b3999a23c00d339e45eb4f7d3e07c03dbe8ebf4cae62720208c9759871969bb4959d2f081b6a8955e229d3872f99cde3e650702e4
diff --git a/dev-libs/zlog/files/zlog_no_static_lib.patch b/dev-libs/zlog/files/zlog_no_static_lib.patch
deleted file mode 100644
index f2ad8c65a126..000000000000
--- a/dev-libs/zlog/files/zlog_no_static_lib.patch
+++ /dev/null
@@ -1,59 +0,0 @@
---- a/src/makefile 2020-06-05 15:29:43.926423440 +0200
-+++ b/src/makefile 2020-06-05 15:30:26.266501492 +0200
-@@ -43,8 +43,6 @@
- DYLIB_MAJOR_NAME=$(LIBNAME).$(DYLIBSUFFIX).$(ZLOG_MAJOR)
- DYLIBNAME=$(LIBNAME).$(DYLIBSUFFIX)
- DYLIB_MAKE_CMD=$(CC) -shared -Wl,-soname,$(DYLIB_MINOR_NAME) -o $(DYLIBNAME) $(LDFLAGS)
--STLIBNAME=$(LIBNAME).$(STLIBSUFFIX)
--STLIB_MAKE_CMD=ar rcs $(STLIBNAME)
-
- # Installation related variables
- PREFIX?=/usr/local
-@@ -78,7 +76,6 @@
- # not to mention dynamic linker .a preference...
- DYLIB_MAKE_CMD=$(CC) -shared -Wl,-G,-b64 -maix64 -pthread -o $(DYLIBNAME) $(LDFLAGS)
- REAL_CFLAGS+= -maix64
-- STLIB_MAKE_CMD=OBJECT_MODE=64 ar rcs $(STLIBNAME) $(DYLIB_MAJOR_NAME)
- endif
-
- all: $(DYLIBNAME) $(BINS)
-@@ -139,21 +136,17 @@
- cp -f $(DYLIBNAME) $(DYLIB_MAJOR_NAME)
- cp -f $(DYLIBNAME) $(DYLIB_MINOR_NAME)
-
--$(STLIBNAME): $(OBJ)
-- $(STLIB_MAKE_CMD) $(OBJ)
--
- dynamic: $(DYLIBNAME)
--static: $(STLIBNAME)
-
- # Binaries:
--zlog-chk-conf: zlog-chk-conf.o $(STLIBNAME) $(DYLIBNAME)
-+zlog-chk-conf: zlog-chk-conf.o $(DYLIBNAME)
- $(CC) -o $@ zlog-chk-conf.o -L. -lzlog $(REAL_LDFLAGS)
-
- .c.o:
- $(CC) -std=c99 -pedantic -c $(REAL_CFLAGS) $<
-
- clean:
-- rm -rf $(DYLIBNAME) $(STLIBNAME) $(BINS) *.o *.gcda *.gcno *.gcov $(DYLIB_MINOR_NAME) $(DYLIB_MAJOR_NAME)
-+ rm -rf $(DYLIBNAME) $(BINS) *.o *.gcda *.gcno *.gcov $(DYLIB_MINOR_NAME) $(DYLIB_MAJOR_NAME)
-
- dep:
- $(CC) -MM *.c
-@@ -171,14 +164,13 @@
-
- INSTALL?= cp -a
-
--install: $(DYLIBNAME) $(STLIBNAME)
-+install: $(DYLIBNAME)
- mkdir -p $(INSTALL_INCLUDE_PATH) $(INSTALL_LIBRARY_PATH) $(INSTALL_BINARY_PATH)
- $(INSTALL) zlog.h $(INSTALL_INCLUDE_PATH)
- $(INSTALL) zlog-chk-conf $(INSTALL_BINARY_PATH)
- $(INSTALL) $(DYLIBNAME) $(INSTALL_LIBRARY_PATH)/$(DYLIB_MINOR_NAME)
- cd $(INSTALL_LIBRARY_PATH) && ln -sf $(DYLIB_MINOR_NAME) $(DYLIB_MAJOR_NAME)
- cd $(INSTALL_LIBRARY_PATH) && ln -sf $(DYLIB_MAJOR_NAME) $(DYLIBNAME)
-- $(INSTALL) $(STLIBNAME) $(INSTALL_LIBRARY_PATH)
-
- 32bit:
- @echo ""
diff --git a/dev-libs/zlog/metadata.xml b/dev-libs/zlog/metadata.xml
deleted file mode 100644
index 06ff584f8016..000000000000
--- a/dev-libs/zlog/metadata.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="person">
- <email>klausman@gentoo.org</email>
- <name>Tobias Klausmann</name>
- </maintainer>
- <upstream>
- <remote-id type="github">HardySimpson/zlog</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/dev-libs/zlog/zlog-1.2.14-r1.ebuild b/dev-libs/zlog/zlog-1.2.14-r1.ebuild
deleted file mode 100644
index 221a11e0e522..000000000000
--- a/dev-libs/zlog/zlog-1.2.14-r1.ebuild
+++ /dev/null
@@ -1,29 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit toolchain-funcs
-
-DESCRIPTION="A reliable, thread safe, clear-model, pure C logging library"
-HOMEPAGE="http://hardysimpson.github.io/zlog/"
-SRC_URI="https://github.com/HardySimpson/${PN}/archive/${PV}.tar.gz -> ${PN}-v${PV}.tar.gz"
-
-LICENSE="LGPL-2"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE="test"
-RESTRICT="!test? ( test )"
-PATCHES="${FILESDIR}/zlog_no_static_lib.patch"
-
-src_compile() {
- emake CC="$(tc-getCC)"
-}
-
-src_test() {
- emake CC="$(tc-getCC)" CFLAGS="${CFLAGS}" test
-}
-
-src_install() {
- emake LIBRARY_PATH="$(get_libdir)" PREFIX="${D}/usr" install
-}
diff --git a/dev-libs/zlog/zlog-1.2.15.ebuild b/dev-libs/zlog/zlog-1.2.15.ebuild
deleted file mode 100644
index 221a11e0e522..000000000000
--- a/dev-libs/zlog/zlog-1.2.15.ebuild
+++ /dev/null
@@ -1,29 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit toolchain-funcs
-
-DESCRIPTION="A reliable, thread safe, clear-model, pure C logging library"
-HOMEPAGE="http://hardysimpson.github.io/zlog/"
-SRC_URI="https://github.com/HardySimpson/${PN}/archive/${PV}.tar.gz -> ${PN}-v${PV}.tar.gz"
-
-LICENSE="LGPL-2"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE="test"
-RESTRICT="!test? ( test )"
-PATCHES="${FILESDIR}/zlog_no_static_lib.patch"
-
-src_compile() {
- emake CC="$(tc-getCC)"
-}
-
-src_test() {
- emake CC="$(tc-getCC)" CFLAGS="${CFLAGS}" test
-}
-
-src_install() {
- emake LIBRARY_PATH="$(get_libdir)" PREFIX="${D}/usr" install
-}
diff --git a/dev-libs/zthread/files/zthread-2.3.2-configure-clang16.patch b/dev-libs/zthread/files/zthread-2.3.2-configure-clang16.patch
new file mode 100644
index 000000000000..998dc36c2976
--- /dev/null
+++ b/dev-libs/zthread/files/zthread-2.3.2-configure-clang16.patch
@@ -0,0 +1,22 @@
+pthread_yield needs GNU_SOURCE (missing in the test here), but pthread_yield
+is both deprecated and also not actually used (even conditionally!) in zthread,
+so let's just drop the test.
+
+(zthread uses sched_yield conditionally, however.)
+--- a/share/pthread.m4
++++ b/share/pthread.m4
+@@ -128,14 +128,6 @@ pthread_explicit="no"
+ AC_DEFINE(HAVE_SCHED_YIELD,,[Defined if sched_yield() is available]) ],
+ [ AC_MSG_RESULT(no) ])
+
+- dnl Check for pthread_yield
+- AC_MSG_CHECKING(for pthread_yield);
+- AC_TRY_LINK([#include <pthread.h>],
+- [ pthread_yield(); ],
+- [ AC_MSG_RESULT(yes)
+- AC_DEFINE(HAVE_PTHREAD_YIELD,,[Defined if pthread_yield() is available]) ],
+- [ AC_MSG_RESULT(no) ])
+-
+ dnl Check for pthread_key_create
+ AC_MSG_CHECKING(for pthread_key_create)
+ AC_TRY_LINK([#include <pthread.h>],
diff --git a/dev-libs/zthread/zthread-2.3.2-r4.ebuild b/dev-libs/zthread/zthread-2.3.2-r4.ebuild
deleted file mode 100644
index 96e7f7294154..000000000000
--- a/dev-libs/zthread/zthread-2.3.2-r4.ebuild
+++ /dev/null
@@ -1,65 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit autotools
-
-MY_P="ZThread-${PV}"
-
-DESCRIPTION="platform-independent multi-threading and synchronization library for C++"
-HOMEPAGE="http://zthread.sourceforge.net/"
-SRC_URI="mirror://sourceforge/zthread/${MY_P}.tar.gz"
-S="${WORKDIR}/${MY_P}"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm64 ~hppa ~mips ppc ~sparc x86"
-IUSE="debug doc"
-
-BDEPEND="doc? ( app-doc/doxygen )"
-
-PATCHES=(
- "${FILESDIR}"/${P}-no-fpermissive-r1.diff
- "${FILESDIR}"/${P}-m4-quote.patch
- "${FILESDIR}"/${P}-automake-r2.patch
- "${FILESDIR}"/${P}-gcc47.patch
- "${FILESDIR}"/${P}-clang.patch
-)
-
-src_prepare() {
- default
-
- rm -f include/zthread/{.Barrier.h.swp,Barrier.h.orig} || die
-
- # bug #467778
- sed -i -e 's:AM_CONFIG_HEADER:AC_CONFIG_HEADERS:' configure.ac || die
-
- AT_M4DIR="share" eautoreconf
-}
-
-src_configure() {
- econf \
- $(use_enable debug) \
- $(use_enable kernel_linux atomic-linux) \
- --disable-static
-}
-
-src_compile() {
- default
-
- if use doc; then
- doxygen doc/zthread.doxygen || die
- sed -i -e 's|href="html/|href="|' doc/documentation.html || die
- cp doc/documentation.html doc/html/index.html || die
- cp doc/{zthread.css,bugs.js} doc/html/ || die
- fi
-}
-
-src_install() {
- default
-
- use doc && dodoc -r doc/html
-
- find "${ED}" -name '*.la' -delete || die
-}
diff --git a/dev-libs/zthread/zthread-2.3.2-r5.ebuild b/dev-libs/zthread/zthread-2.3.2-r5.ebuild
new file mode 100644
index 000000000000..08b64a050964
--- /dev/null
+++ b/dev-libs/zthread/zthread-2.3.2-r5.ebuild
@@ -0,0 +1,65 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools
+
+MY_P="ZThread-${PV}"
+
+DESCRIPTION="platform-independent multi-threading and synchronization library for C++"
+HOMEPAGE="http://zthread.sourceforge.net/"
+SRC_URI="mirror://sourceforge/zthread/${MY_P}.tar.gz"
+S="${WORKDIR}/${MY_P}"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm64 ~hppa ~mips ppc ~sparc x86"
+IUSE="debug doc"
+
+BDEPEND="doc? ( app-text/doxygen )"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-no-fpermissive-r1.diff
+ "${FILESDIR}"/${P}-m4-quote.patch
+ "${FILESDIR}"/${P}-automake-r2.patch
+ "${FILESDIR}"/${P}-gcc47.patch
+ "${FILESDIR}"/${P}-clang.patch
+ "${FILESDIR}"/${P}-configure-clang16.patch
+)
+
+src_prepare() {
+ default
+
+ rm -f include/zthread/{.Barrier.h.swp,Barrier.h.orig} || die
+
+ # bug #467778
+ sed -i -e 's:AM_CONFIG_HEADER:AC_CONFIG_HEADERS:' configure.ac || die
+
+ AT_M4DIR="share" eautoreconf
+}
+
+src_configure() {
+ econf \
+ $(use_enable debug) \
+ $(use_enable kernel_linux atomic-linux)
+}
+
+src_compile() {
+ default
+
+ if use doc; then
+ doxygen doc/zthread.doxygen || die
+ sed -i -e 's|href="html/|href="|' doc/documentation.html || die
+ cp doc/documentation.html doc/html/index.html || die
+ cp doc/{zthread.css,bugs.js} doc/html/ || die
+ fi
+}
+
+src_install() {
+ default
+
+ use doc && dodoc -r doc/html
+
+ find "${ED}" -name '*.la' -delete || die
+}
diff --git a/dev-libs/zziplib/Manifest b/dev-libs/zziplib/Manifest
index b561f2a5b06b..818ead106f53 100644
--- a/dev-libs/zziplib/Manifest
+++ b/dev-libs/zziplib/Manifest
@@ -1 +1,3 @@
DIST zziplib-0.13.72.tar.gz 1162175 BLAKE2B ff5617645e25040e4666e5440651fbb2b04c0505c7bda08b158f44c63c5dd53ec97a9942908314c3b103a4685be49368e964d249fcf9b9d685e328f0ebabdedd SHA512 4bb089e74813c6fac9657cd96e44e4a6469bf86aba3980d885c4573e8db45e74fd07bbdfcec9f36297c72227c8c0b2c37dab1bc4326cef8529960e482fe501c8
+DIST zziplib-0.13.74-testdata.tar.xz 166188 BLAKE2B f3cc98495542fb95e8bd9cfb98ecd22c9e6206fd13c1d0607ee8b7640ddb3d3c4b9cb7bc7ca7a95a787ffef4e5a8c2b4ab1bc0c5890811ab21c681239840dcdb SHA512 d4545f770c4f00658ec69a7f393f38d0c649704adb30b6a25f2c0b48711829416985258d34911d48b9bd394d9334ab89c8deda719f2aae509a75441f8a8d8902
+DIST zziplib-0.13.74.tar.gz 1177162 BLAKE2B fc093b731406101086e59ff54b4378190c88821c4349d75e35c9595b45695b5f91a20e99a9689f7ebbc8d8951f2c4e1132d670e3827f5329977de1f85c9ce5d2 SHA512 7dd27247cbc475e2c6beb3a96c620f9938ade0dff6f4e088f9c28432fc4cc01df9d6771ec3d5e07baabe27033f4764d60e31c4c54588559de64e894d0557c94f
diff --git a/dev-libs/zziplib/files/zziplib-0.13.72-Wint-conversion.patch b/dev-libs/zziplib/files/zziplib-0.13.72-Wint-conversion.patch
new file mode 100644
index 000000000000..c27c33f7c3ab
--- /dev/null
+++ b/dev-libs/zziplib/files/zziplib-0.13.72-Wint-conversion.patch
@@ -0,0 +1,22 @@
+https://copr-dist-git.fedorainfracloud.org/cgit/@fedora-llvm-team/clang-rpm-config/clang-rpm-config.git/tree/zziplib-0001-Fix-Wint-conversion-warning.patch
+https://bugs.gentoo.org/869980
+https://github.com/gdraheim/zziplib/issues/140
+
+From 1189f99a7f84d6a5e66a6057abfe0543de48ec82 Mon Sep 17 00:00:00 2001
+From: Tom Stellard <tstellar@redhat.com>
+Date: Wed, 26 Oct 2022 05:32:17 +0000
+Subject: [PATCH] Fix -Wint-conversion warning
+
+/builddir/build/BUILD/zziplib-0.13.72/zzip/mmapped.c:685:24: error: incompatible integer to pointer conversion assigning to 'Bytef *' (aka 'unsigned char *') from 'off_t' (aka 'long') [-Wint-conversion]
+ file->zlib.next_in = offset;
+--- a/zzip/mmapped.c
++++ b/zzip/mmapped.c
+@@ -682,7 +682,7 @@ zzip_disk_entry_fopen(ZZIP_DISK * disk, ZZIP_DISK_ENTRY * entry)
+ file->zlib.zalloc = Z_NULL;
+ file->zlib.zfree = Z_NULL;
+ file->zlib.avail_in = csize;
+- file->zlib.next_in = offset;
++ file->zlib.next_in = (Bytef*)offset;
+ ____;
+
+ DBG2("compressed size %i", (int) file->zlib.avail_in);
diff --git a/dev-libs/zziplib/files/zziplib-0.13.72-incompatible-pointer-types.patch b/dev-libs/zziplib/files/zziplib-0.13.72-incompatible-pointer-types.patch
new file mode 100644
index 000000000000..6f6459bcc8a5
--- /dev/null
+++ b/dev-libs/zziplib/files/zziplib-0.13.72-incompatible-pointer-types.patch
@@ -0,0 +1,48 @@
+Remove implicit pointer types conversions.
+
+See also: https://wiki.gentoo.org/wiki/Modern_C_porting
+Bug: https://bugs.gentoo.org/919066
+Upstream PR: https://github.com/gdraheim/zziplib/pull/150
+
+--- a/SDL/SDL_rwops_zzip.c
++++ b/SDL/SDL_rwops_zzip.c
+@@ -15,17 +15,17 @@
+ #define SDL_RWOPS_ZZIP_FILE(_context) (ZZIP_FILE*) \
+ ((_context)->hidden.unknown.data1)
+
+-static int _zzip_seek(SDL_RWops *context, int offset, int whence)
++static Sint64 _zzip_seek(SDL_RWops *context, Sint64 offset, int whence)
+ {
+ return zzip_seek(SDL_RWOPS_ZZIP_FILE(context), offset, whence);
+ }
+
+-static int _zzip_read(SDL_RWops *context, void *ptr, int size, int maxnum)
++static size_t _zzip_read(SDL_RWops *context, void *ptr, size_t size, size_t maxnum)
+ {
+ return zzip_read(SDL_RWOPS_ZZIP_FILE(context), ptr, size*maxnum) / size;
+ }
+
+-static int _zzip_write(SDL_RWops *context, const void *ptr, int size, int num)
++static size_t _zzip_write(SDL_RWops *context, const void *ptr, size_t size, size_t num)
+ {
+ return 0; /* ignored */
+ }
+--- a/zzip/mmapped.c
++++ b/zzip/mmapped.c
+@@ -664,14 +664,14 @@ zzip_disk_entry_fopen(ZZIP_DISK * disk, ZZIP_DISK_ENTRY * entry)
+ off_t offset = zzip_file_header_to_data(header);
+ if (csize == 0xFFFFu) {
+ struct zzip_extra_zip64* zip64 =
+- zzip_file_header_to_extras(header);
++ (struct zzip_extra_zip64*)zzip_file_header_to_extras(header);
+ if (ZZIP_EXTRA_ZIP64_CHECK(zip64)) {
+ csize = zzip_extra_zip64_csize(zip64);
+ }
+ }
+ if (offset == 0xFFFFu) {
+ struct zzip_extra_zip64* zip64 =
+- zzip_file_header_to_extras(header);
++ (struct zzip_extra_zip64*)zzip_file_header_to_extras(header);
+ if (ZZIP_EXTRA_ZIP64_CHECK(zip64)) {
+ offset = zzip_extra_zip64_offset(zip64);
+ }
diff --git a/dev-libs/zziplib/metadata.xml b/dev-libs/zziplib/metadata.xml
index ba9e3444e762..5b652428f205 100644
--- a/dev-libs/zziplib/metadata.xml
+++ b/dev-libs/zziplib/metadata.xml
@@ -1,14 +1,7 @@
<?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@pogatzki.net</email>
- <name>Volkmar W. Pogatzki</name>
- </maintainer>
- <maintainer type="project" proxied="proxy">
- <email>proxy-maint@gentoo.org</email>
- <name>Proxy Maintainers</name>
- </maintainer>
+<!-- maintainer-needed -->
<upstream>
<remote-id type="github">gdraheim/zziplib</remote-id>
<remote-id type="sourceforge">zziplib</remote-id>
diff --git a/dev-libs/zziplib/zziplib-0.13.72-r4.ebuild b/dev-libs/zziplib/zziplib-0.13.72-r4.ebuild
new file mode 100644
index 000000000000..e318b7614062
--- /dev/null
+++ b/dev-libs/zziplib/zziplib-0.13.72-r4.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_{9..12} )
+# Needed for docs, bug #835755
+PYTHON_REQ_USE="xml(+)"
+inherit cmake flag-o-matic python-any-r1
+
+DESCRIPTION="Lightweight library for extracting data from files archived in a single zip file"
+HOMEPAGE="https://github.com/gdraheim/zziplib https://zziplib.sourceforge.net"
+SRC_URI="https://github.com/gdraheim/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="|| ( LGPL-2.1 MPL-1.1 )"
+SLOT="0/13"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
+IUSE="sdl static-libs"
+
+# Tests require internet access
+# https://github.com/gdraheim/zziplib/issues/24
+
+BDEPEND="
+ ${PYTHON_DEPS}
+"
+DEPEND="
+ sys-libs/zlib
+ sdl? ( >=media-libs/libsdl-1.2.6 )
+"
+RDEPEND="${DEPEND}"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-0.13.72-Wint-conversion.patch
+ "${FILESDIR}"/${PN}-0.13.72-incompatible-pointer-types.patch
+)
+
+src_configure() {
+ # https://github.com/gdraheim/zziplib/commit/f3bfc0dd6663b7df272cc0cf17f48838ad724a2f#diff-b7b1e314614cf326c6e2b6eba1540682R100
+ append-flags -fno-strict-aliasing
+ # https://github.com/gdraheim/zziplib/issues/140 (bug #869980)
+ append-flags $(test-flags-CC -Wno-error=incompatible-function-pointer-types -Wno-error=int-conversion)
+
+ local mycmakeargs=(
+ -DZZIPSDL="$(usex sdl)"
+ -DBUILD_STATIC_LIBS="$(usex static-libs)"
+ -DBUILD_TESTS=OFF
+ -DZZIPTEST=OFF
+ -DZZIPDOCS=ON
+ -DZZIPWRAP=OFF
+ )
+
+ cmake_src_configure
+}
diff --git a/dev-libs/zziplib/zziplib-0.13.72.ebuild b/dev-libs/zziplib/zziplib-0.13.72.ebuild
deleted file mode 100644
index 7a79e6dbded4..000000000000
--- a/dev-libs/zziplib/zziplib-0.13.72.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
-
-PYTHON_COMPAT=( python3_{7..9} )
-
-inherit cmake flag-o-matic python-any-r1
-
-DESCRIPTION="Lightweight library for extracting data from files archived in a single zip file"
-HOMEPAGE="https://github.com/gdraheim/zziplib http://zziplib.sourceforge.net/"
-SRC_URI="https://github.com/gdraheim/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="|| ( LGPL-2.1 MPL-1.1 )"
-SLOT="0/13"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-IUSE="sdl static-libs"
-
-# Tests require internet access
-# https://github.com/gdraheim/zziplib/issues/24
-
-BDEPEND="
- ${PYTHON_DEPS}
-"
-DEPEND="
- sys-libs/zlib
- sdl? ( >=media-libs/libsdl-1.2.6 )
-"
-RDEPEND="${DEPEND}"
-
-src_configure() {
- # https://github.com/gdraheim/zziplib/commit/f3bfc0dd6663b7df272cc0cf17f48838ad724a2f#diff-b7b1e314614cf326c6e2b6eba1540682R100
- append-flags -fno-strict-aliasing
-
- local mycmakeargs=(
- -DZZIPSDL="$(usex sdl)"
- -DBUILD_STATIC_LIBS="$(usex static-libs)"
- -DBUILD_TESTS=OFF
- -DZZIPTEST=OFF
- -DZZIPDOCS=ON
- -DZZIPWRAP=OFF
- )
-
- cmake_src_configure
-}
diff --git a/dev-libs/zziplib/zziplib-0.13.74.ebuild b/dev-libs/zziplib/zziplib-0.13.74.ebuild
new file mode 100644
index 000000000000..cef1f31dd237
--- /dev/null
+++ b/dev-libs/zziplib/zziplib-0.13.74.ebuild
@@ -0,0 +1,70 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..12} )
+# Needed for docs, bug #835755
+PYTHON_REQ_USE="xml(+)"
+inherit cmake flag-o-matic python-any-r1
+
+TEST_PV="0.13.74"
+DESCRIPTION="Lightweight library for extracting data from files archived in a single zip file"
+HOMEPAGE="https://github.com/gdraheim/zziplib https://zziplib.sourceforge.net"
+# Test data tarball generated with python ./zziptests.py -D -d /tmp/zziplib -v
+SRC_URI="
+ https://github.com/gdraheim/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz
+ test? ( https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${PN}-${TEST_PV}-testdata.tar.xz )
+"
+
+LICENSE="|| ( LGPL-2.1 MPL-1.1 )"
+SLOT="0/13"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
+IUSE="sdl test"
+RESTRICT="!test? ( test )"
+
+BDEPEND="
+ ${PYTHON_DEPS}
+ test? (
+ app-arch/unzip
+ app-arch/zip
+ )
+"
+DEPEND="
+ sys-libs/zlib
+ sdl? ( >=media-libs/libsdl-1.2.6 )
+"
+RDEPEND="${DEPEND}"
+
+src_prepare() {
+ # This test assumes being built with automake (checks for .libs/x).
+ sed -i -e 's/test_91000_zzshowme_check_sfx/skip_&/' test/zziptests.py || die
+ cmake_src_prepare
+}
+
+src_configure() {
+ # https://github.com/gdraheim/zziplib/commit/f3bfc0dd6663b7df272cc0cf17f48838ad724a2f#diff-b7b1e314614cf326c6e2b6eba1540682R100
+ append-flags -fno-strict-aliasing
+
+ local mycmakeargs=(
+ -DZZIPSDL=$(usex sdl)
+ -DBUILD_TESTS=$(usex test)
+ -DZZIPTEST=$(usex test)
+ -DZZIPDOCS=ON
+ -DZZIPWRAP=OFF
+ )
+
+ cmake_src_configure
+}
+
+src_test() {
+ cd "${S}" || die
+ "${EPYTHON}" "${S}"/test/zziptests.py \
+ --downloads=no \
+ --verbose \
+ --topsrcdir "${S}" \
+ --bindir "$(realpath --relative-to="${S}" "${BUILD_DIR}"/bins)" \
+ --downloaddir "${WORKDIR}"/${PN}-${TEST_PV}-testdata \
+ --testdatadir "${T}"/testdata.d \
+ || die "Tests failed with ${EPYTHON}"
+}